about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixpkgs/.editorconfig14
-rw-r--r--nixpkgs/.github/CODEOWNERS58
-rw-r--r--nixpkgs/.github/ISSUE_TEMPLATE/out_of_date_package_report.md6
-rw-r--r--nixpkgs/.github/labeler.yml2
-rw-r--r--nixpkgs/.github/workflows/update-terraform-providers.yml47
-rw-r--r--nixpkgs/CONTRIBUTING.md6
-rw-r--r--nixpkgs/COPYING2
-rw-r--r--nixpkgs/README.md4
-rw-r--r--nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua3
-rw-r--r--nixpkgs/doc/builders/fetchers.chapter.md27
-rw-r--r--nixpkgs/doc/builders/special/mkshell.section.md32
-rw-r--r--nixpkgs/doc/builders/trivial-builders.chapter.md102
-rw-r--r--nixpkgs/doc/contributing/coding-conventions.chapter.md2
-rw-r--r--nixpkgs/doc/contributing/contributing-to-documentation.chapter.md2
-rw-r--r--nixpkgs/doc/contributing/reviewing-contributions.chapter.md3
-rw-r--r--nixpkgs/doc/contributing/submitting-changes.chapter.md2
-rw-r--r--nixpkgs/doc/languages-frameworks/beam.section.md30
-rw-r--r--nixpkgs/doc/languages-frameworks/dotnet.section.md2
-rw-r--r--nixpkgs/doc/languages-frameworks/go.section.md4
-rw-r--r--nixpkgs/doc/languages-frameworks/ocaml.section.md14
-rw-r--r--nixpkgs/doc/stdenv/meta.chapter.md4
-rw-r--r--nixpkgs/doc/stdenv/stdenv.chapter.md26
-rw-r--r--nixpkgs/flake.nix58
-rw-r--r--nixpkgs/lib/asserts.nix22
-rw-r--r--nixpkgs/lib/attrsets.nix36
-rw-r--r--nixpkgs/lib/default.nix12
-rw-r--r--nixpkgs/lib/licenses.nix20
-rw-r--r--nixpkgs/lib/meta.nix2
-rw-r--r--nixpkgs/lib/modules.nix27
-rw-r--r--nixpkgs/lib/options.nix58
-rw-r--r--nixpkgs/lib/sources.nix115
-rw-r--r--nixpkgs/lib/trivial.nix49
-rw-r--r--nixpkgs/lib/types.nix28
-rw-r--r--nixpkgs/maintainers/maintainer-list.nix618
-rw-r--r--nixpkgs/maintainers/scripts/pluginupdate.py283
-rw-r--r--nixpkgs/maintainers/team-list.nix22
-rw-r--r--nixpkgs/nixos/default.nix25
-rw-r--r--nixpkgs/nixos/doc/manual/default.nix19
-rw-r--r--nixpkgs/nixos/doc/manual/development/activation-script.section.md72
-rw-r--r--nixpkgs/nixos/doc/manual/development/development.xml1
-rw-r--r--nixpkgs/nixos/doc/manual/development/meta-attributes.section.md28
-rw-r--r--nixpkgs/nixos/doc/manual/development/option-declarations.section.md74
-rw-r--r--nixpkgs/nixos/doc/manual/development/option-types.section.md6
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md18
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md4
-rw-r--r--nixpkgs/nixos/doc/manual/development/unit-handling.section.md57
-rw-r--r--nixpkgs/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md53
-rw-r--r--nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md51
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/activation-script.section.xml150
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/meta-attributes.section.xml44
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/option-declarations.section.xml309
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/option-types.section.xml16
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml18
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/unit-handling.section.xml119
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/what-happens-during-a-system-switch.chapter.xml122
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml846
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/installation/installing-pxe.section.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml9
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml724
-rw-r--r--nixpkgs/nixos/doc/manual/installation/installing-pxe.section.md4
-rw-r--r--nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml2
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md2
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md231
-rw-r--r--nixpkgs/nixos/lib/default.nix33
-rw-r--r--nixpkgs/nixos/lib/eval-cacheable-options.nix53
-rw-r--r--nixpkgs/nixos/lib/eval-config-minimal.nix49
-rw-r--r--nixpkgs/nixos/lib/eval-config.nix35
-rw-r--r--nixpkgs/nixos/lib/make-iso9660-image.sh1
-rw-r--r--nixpkgs/nixos/lib/make-options-doc/default.nix51
-rw-r--r--nixpkgs/nixos/lib/make-options-doc/mergeJSON.py86
-rw-r--r--nixpkgs/nixos/lib/qemu-common.nix4
-rw-r--r--nixpkgs/nixos/lib/systemd-lib.nix7
-rw-r--r--nixpkgs/nixos/lib/systemd-unit-options.nix42
-rw-r--r--nixpkgs/nixos/lib/test-driver/default.nix4
-rw-r--r--nixpkgs/nixos/lib/test-driver/setup.py2
-rwxr-xr-xnixpkgs/nixos/lib/test-driver/test_driver/__init__.py34
-rw-r--r--nixpkgs/nixos/lib/test-driver/test_driver/driver.py74
-rw-r--r--nixpkgs/nixos/lib/test-driver/test_driver/machine.py31
-rw-r--r--nixpkgs/nixos/lib/test-driver/test_driver/polling_condition.py77
-rw-r--r--nixpkgs/nixos/lib/testing-python.nix13
-rw-r--r--nixpkgs/nixos/lib/utils.nix9
-rw-r--r--nixpkgs/nixos/maintainers/scripts/azure-new/examples/basic/system.nix2
-rw-r--r--nixpkgs/nixos/modules/config/malloc.nix11
-rw-r--r--nixpkgs/nixos/modules/config/networking.nix4
-rw-r--r--nixpkgs/nixos/modules/config/update-users-groups.pl2
-rw-r--r--nixpkgs/nixos/modules/config/users-groups.nix51
-rw-r--r--nixpkgs/nixos/modules/config/xdg/portal.nix35
-rw-r--r--nixpkgs/nixos/modules/hardware/all-firmware.nix6
-rw-r--r--nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix64
-rw-r--r--nixpkgs/nixos/modules/hardware/hackrf.nix23
-rw-r--r--nixpkgs/nixos/modules/hardware/network/b43.nix4
-rw-r--r--nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev4
-rw-r--r--nixpkgs/nixos/modules/hardware/rtl-sdr.nix12
-rw-r--r--nixpkgs/nixos/modules/hardware/video/amdgpu-pro.nix46
-rw-r--r--nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix5
-rw-r--r--nixpkgs/nixos/modules/hardware/video/nvidia.nix5
-rw-r--r--nixpkgs/nixos/modules/i18n/input-method/fcitx.nix3
-rw-r--r--nixpkgs/nixos/modules/i18n/input-method/ibus.nix3
-rw-r--r--nixpkgs/nixos/modules/i18n/input-method/kime.nix4
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix4
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix13
-rw-r--r--nixpkgs/nixos/modules/installer/netboot/netboot.nix4
-rw-r--r--nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu-installer.nix10
-rw-r--r--nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix32
-rw-r--r--nixpkgs/nixos/modules/installer/sd-card/sd-image-x86_64.nix27
-rw-r--r--nixpkgs/nixos/modules/installer/sd-card/sd-image.nix2
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix10
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix3
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-enter.sh2
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl13
-rw-r--r--nixpkgs/nixos/modules/installer/tools/nixos-install.sh34
-rw-r--r--nixpkgs/nixos/modules/installer/tools/tools.nix12
-rw-r--r--nixpkgs/nixos/modules/installer/virtualbox-demo.nix2
-rw-r--r--nixpkgs/nixos/modules/misc/documentation.nix105
-rw-r--r--nixpkgs/nixos/modules/misc/ids.nix8
-rw-r--r--nixpkgs/nixos/modules/misc/locate.nix150
-rw-r--r--nixpkgs/nixos/modules/misc/meta.nix15
-rw-r--r--nixpkgs/nixos/modules/misc/nixpkgs.nix8
-rw-r--r--nixpkgs/nixos/modules/misc/nixpkgs/test.nix8
-rw-r--r--nixpkgs/nixos/modules/misc/version.nix2
-rw-r--r--nixpkgs/nixos/modules/module-list.nix37
-rw-r--r--nixpkgs/nixos/modules/profiles/all-hardware.nix4
-rw-r--r--nixpkgs/nixos/modules/profiles/hardened.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/calls.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/chromium.nix8
-rw-r--r--nixpkgs/nixos/modules/programs/command-not-found/command-not-found.pl40
-rw-r--r--nixpkgs/nixos/modules/programs/dconf.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/gnupg.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/spacefm.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/ssh.nix31
-rw-r--r--nixpkgs/nixos/modules/programs/starship.nix51
-rw-r--r--nixpkgs/nixos/modules/programs/sway.nix4
-rw-r--r--nixpkgs/nixos/modules/programs/tilp2.nix28
-rw-r--r--nixpkgs/nixos/modules/programs/tmux.nix15
-rw-r--r--nixpkgs/nixos/modules/programs/tsm-client.nix8
-rw-r--r--nixpkgs/nixos/modules/rename.nix97
-rw-r--r--nixpkgs/nixos/modules/security/acme/default.nix (renamed from nixpkgs/nixos/modules/security/acme.nix)2
-rw-r--r--nixpkgs/nixos/modules/security/acme/doc.xml (renamed from nixpkgs/nixos/modules/security/acme.xml)0
-rw-r--r--nixpkgs/nixos/modules/security/acme/mk-cert-ownership-assertion.nix4
-rw-r--r--nixpkgs/nixos/modules/security/google_oslogin.nix9
-rw-r--r--nixpkgs/nixos/modules/security/misc.nix4
-rw-r--r--nixpkgs/nixos/modules/security/pam.nix18
-rw-r--r--nixpkgs/nixos/modules/security/wrappers/default.nix1
-rw-r--r--nixpkgs/nixos/modules/services/audio/jmusicbot.nix9
-rw-r--r--nixpkgs/nixos/modules/services/audio/mpd.nix62
-rw-r--r--nixpkgs/nixos/modules/services/audio/roon-server.nix5
-rw-r--r--nixpkgs/nixos/modules/services/backup/borgbackup.nix41
-rw-r--r--nixpkgs/nixos/modules/services/backup/mysql-backup.nix3
-rw-r--r--nixpkgs/nixos/modules/services/backup/sanoid.nix5
-rw-r--r--nixpkgs/nixos/modules/services/backup/tsm.nix47
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix1
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix2
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix1
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix2
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix10
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix2
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix4
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix2
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix2
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix6
-rw-r--r--nixpkgs/nixos/modules/services/computing/slurm/slurm.nix9
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix1
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix2
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix2
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix27
-rw-r--r--nixpkgs/nixos/modules/services/databases/couchdb.nix4
-rw-r--r--nixpkgs/nixos/modules/services/databases/redis.nix12
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix2
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix22
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome/tracker-miners.nix2
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix25
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gvfs.nix4
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pantheon/files.nix13
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix8
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix46
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/wireplumber.nix41
-rw-r--r--nixpkgs/nixos/modules/services/development/rstudio-server/default.nix107
-rw-r--r--nixpkgs/nixos/modules/services/games/asf.nix236
-rw-r--r--nixpkgs/nixos/modules/services/games/minecraft-server.nix21
-rw-r--r--nixpkgs/nixos/modules/services/hardware/ddccontrol.nix3
-rw-r--r--nixpkgs/nixos/modules/services/hardware/evscript.nix1
-rw-r--r--nixpkgs/nixos/modules/services/hardware/thermald.nix4
-rw-r--r--nixpkgs/nixos/modules/services/hardware/triggerhappy.nix2
-rw-r--r--nixpkgs/nixos/modules/services/hardware/udev.nix3
-rw-r--r--nixpkgs/nixos/modules/services/hardware/undervolt.nix4
-rw-r--r--nixpkgs/nixos/modules/services/hardware/upower.nix12
-rw-r--r--nixpkgs/nixos/modules/services/home-automation/home-assistant.nix (renamed from nixpkgs/nixos/modules/services/misc/home-assistant.nix)359
-rw-r--r--nixpkgs/nixos/modules/services/logging/logrotate.nix42
-rw-r--r--nixpkgs/nixos/modules/services/logging/promtail.nix2
-rw-r--r--nixpkgs/nixos/modules/services/mail/dovecot.nix55
-rw-r--r--nixpkgs/nixos/modules/services/mail/postfixadmin.nix2
-rw-r--r--nixpkgs/nixos/modules/services/mail/public-inbox.nix2
-rw-r--r--nixpkgs/nixos/modules/services/mail/roundcube.nix2
-rw-r--r--nixpkgs/nixos/modules/services/matrix/mjolnir.xml4
-rw-r--r--nixpkgs/nixos/modules/services/misc/airsonic.nix8
-rw-r--r--nixpkgs/nixos/modules/services/misc/ananicy.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/autorandr.nix1
-rw-r--r--nixpkgs/nixos/modules/services/misc/bees.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitea.nix15
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitlab.nix45
-rw-r--r--nixpkgs/nixos/modules/services/misc/heisenbridge.nix222
-rw-r--r--nixpkgs/nixos/modules/services/misc/input-remapper.nix29
-rw-r--r--nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix3
-rw-r--r--nixpkgs/nixos/modules/services/misc/matrix-conduit.nix149
-rw-r--r--nixpkgs/nixos/modules/services/misc/matrix-synapse.nix30
-rw-r--r--nixpkgs/nixos/modules/services/misc/mbpfan.nix118
-rw-r--r--nixpkgs/nixos/modules/services/misc/mediatomb.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix5
-rw-r--r--nixpkgs/nixos/modules/services/misc/n8n.nix1
-rw-r--r--nixpkgs/nixos/modules/services/misc/nix-daemon.nix661
-rw-r--r--nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/packagekit.nix6
-rw-r--r--nixpkgs/nixos/modules/services/misc/paperless-ng.nix22
-rw-r--r--nixpkgs/nixos/modules/services/misc/plex.nix18
-rw-r--r--nixpkgs/nixos/modules/services/misc/rmfakecloud.nix147
-rw-r--r--nixpkgs/nixos/modules/services/misc/sourcehut/default.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/sourcehut/git.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/taskserver/default.nix11
-rw-r--r--nixpkgs/nixos/modules/services/misc/taskserver/doc.xml2
-rw-r--r--nixpkgs/nixos/modules/services/misc/zoneminder.nix4
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/netdata.nix40
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix7
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix15
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/ceph.nix4
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix29
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/moosefs.nix249
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/adguardhome.nix70
-rw-r--r--nixpkgs/nixos/modules/services/networking/bind.nix10
-rw-r--r--nixpkgs/nixos/modules/services/networking/bird.nix22
-rw-r--r--nixpkgs/nixos/modules/services/networking/blocky.nix40
-rw-r--r--nixpkgs/nixos/modules/services/networking/connman.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/ddclient.nix12
-rw-r--r--nixpkgs/nixos/modules/services/networking/dhcpcd.nix14
-rw-r--r--nixpkgs/nixos/modules/services/networking/dhcpd.nix95
-rw-r--r--nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/ergochat.nix155
-rw-r--r--nixpkgs/nixos/modules/services/networking/eternal-terminal.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/firewall.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/frr.nix211
-rw-r--r--nixpkgs/nixos/modules/services/networking/gogoclient.nix87
-rw-r--r--nixpkgs/nixos/modules/services/networking/headscale.nix490
-rw-r--r--nixpkgs/nixos/modules/services/networking/hylafax/options.nix16
-rw-r--r--nixpkgs/nixos/modules/services/networking/i2pd.nix16
-rw-r--r--nixpkgs/nixos/modules/services/networking/kea.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/kresd.nix9
-rw-r--r--nixpkgs/nixos/modules/services/networking/mailpile.nix74
-rw-r--r--nixpkgs/nixos/modules/services/networking/mosquitto.nix15
-rw-r--r--nixpkgs/nixos/modules/services/networking/mtr-exporter.nix87
-rw-r--r--nixpkgs/nixos/modules/services/networking/multipath.nix15
-rw-r--r--nixpkgs/nixos/modules/services/networking/murmur.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/networkmanager.nix17
-rw-r--r--nixpkgs/nixos/modules/services/networking/nftables.nix16
-rw-r--r--nixpkgs/nixos/modules/services/networking/nix-serve.nix10
-rw-r--r--nixpkgs/nixos/modules/services/networking/ntopng.nix63
-rw-r--r--nixpkgs/nixos/modules/services/networking/racoon.nix45
-rw-r--r--nixpkgs/nixos/modules/services/networking/seafile.nix30
-rw-r--r--nixpkgs/nixos/modules/services/networking/searx.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/sniproxy.nix19
-rw-r--r--nixpkgs/nixos/modules/services/networking/squid.nix10
-rw-r--r--nixpkgs/nixos/modules/services/networking/ssh/sshd.nix11
-rw-r--r--nixpkgs/nixos/modules/services/networking/stunnel.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/syncplay.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/syncthing.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/teleport.nix99
-rw-r--r--nixpkgs/nixos/modules/services/networking/thelounge.nix45
-rw-r--r--nixpkgs/nixos/modules/services/networking/tinc.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/wg-netmanager.nix42
-rw-r--r--nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix49
-rw-r--r--nixpkgs/nixos/modules/services/networking/xrdp.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/yggdrasil.xml1
-rw-r--r--nixpkgs/nixos/modules/services/search/elasticsearch.nix16
-rw-r--r--nixpkgs/nixos/modules/services/security/aesmd.nix11
-rw-r--r--nixpkgs/nixos/modules/services/security/cfssl.nix95
-rw-r--r--nixpkgs/nixos/modules/services/security/haveged.nix68
-rw-r--r--nixpkgs/nixos/modules/services/security/step-ca.nix4
-rw-r--r--nixpkgs/nixos/modules/services/security/tor.nix7
-rw-r--r--nixpkgs/nixos/modules/services/security/vaultwarden/default.nix5
-rw-r--r--nixpkgs/nixos/modules/services/system/cachix-agent/default.nix57
-rw-r--r--nixpkgs/nixos/modules/services/system/cloud-init.nix16
-rw-r--r--nixpkgs/nixos/modules/services/system/nscd.nix4
-rw-r--r--nixpkgs/nixos/modules/services/system/self-deploy.nix5
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/baget.nix170
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/bookstack.nix205
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/dex.nix3
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix59
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/ethercalc.nix62
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/gerrit.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix305
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/jirafeau.nix5
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/keycloak.nix875
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/keycloak.xml18
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mastodon.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/matomo.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mattermost.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/miniflux.nix55
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/nextcloud.nix29
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/plausible.nix15
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix3
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix86
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/restya-board.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/timetagger.nix80
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/wordpress.nix72
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/agate.nix148
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix8
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/caddy/default.nix46
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/default.nix29
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/gitweb.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/shellinabox.nix122
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/uwsgi.nix16
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix4
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix1
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix1
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.xml9
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix10
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.xml4
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix3
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/retroarch.nix40
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix29
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix57
-rw-r--r--nixpkgs/nixos/modules/services/x11/xserver.nix4
-rw-r--r--nixpkgs/nixos/modules/system/activation/activation-script.nix1
-rw-r--r--nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl380
-rw-r--r--nixpkgs/nixos/modules/system/activation/top-level.nix67
-rw-r--r--nixpkgs/nixos/modules/system/boot/binfmt.nix57
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix19
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh12
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py47
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix137
-rw-r--r--nixpkgs/nixos/modules/system/boot/modprobe.nix20
-rw-r--r--nixpkgs/nixos/modules/system/boot/networkd.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-1-init.sh42
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-1.nix8
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix8
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd.nix23
-rw-r--r--nixpkgs/nixos/modules/system/boot/tmp.nix7
-rw-r--r--nixpkgs/nixos/modules/system/build.nix21
-rw-r--r--nixpkgs/nixos/modules/system/etc/etc-activation.nix12
-rw-r--r--nixpkgs/nixos/modules/system/etc/etc.nix6
-rw-r--r--nixpkgs/nixos/modules/system/etc/test.nix70
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems.nix2
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems/apfs.nix22
-rw-r--r--nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix63
-rw-r--r--nixpkgs/nixos/modules/tasks/network-interfaces.nix26
-rw-r--r--nixpkgs/nixos/modules/testing/test-instrumentation.nix4
-rw-r--r--nixpkgs/nixos/modules/virtualisation/amazon-image.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/build-vm.nix58
-rw-r--r--nixpkgs/nixos/modules/virtualisation/container-config.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/containerd.nix1
-rw-r--r--nixpkgs/nixos/modules/virtualisation/docker-rootless.nix6
-rw-r--r--nixpkgs/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash36
-rw-r--r--nixpkgs/nixos/modules/virtualisation/google-compute-config.nix135
-rw-r--r--nixpkgs/nixos/modules/virtualisation/kvmgt.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/openvswitch.nix61
-rw-r--r--nixpkgs/nixos/modules/virtualisation/qemu-vm.nix16
-rw-r--r--nixpkgs/nixos/modules/virtualisation/virtualbox-guest.nix2
-rw-r--r--nixpkgs/nixos/modules/virtualisation/vmware-guest.nix1
-rw-r--r--nixpkgs/nixos/modules/virtualisation/xen-dom0.nix1
-rw-r--r--nixpkgs/nixos/tests/acme.nix12
-rw-r--r--nixpkgs/nixos/tests/adguardhome.nix57
-rw-r--r--nixpkgs/nixos/tests/all-tests.nix57
-rw-r--r--nixpkgs/nixos/tests/apfs.nix54
-rw-r--r--nixpkgs/nixos/tests/bcachefs.nix8
-rw-r--r--nixpkgs/nixos/tests/bird.nix205
-rw-r--r--nixpkgs/nixos/tests/blocky.nix34
-rw-r--r--nixpkgs/nixos/tests/boot-stage1.nix2
-rw-r--r--nixpkgs/nixos/tests/boot.nix44
-rw-r--r--nixpkgs/nixos/tests/borgbackup.nix2
-rw-r--r--nixpkgs/nixos/tests/bpf.nix6
-rw-r--r--nixpkgs/nixos/tests/breitbandmessung.nix33
-rw-r--r--nixpkgs/nixos/tests/btrbk.nix2
-rw-r--r--nixpkgs/nixos/tests/cloud-init.nix27
-rw-r--r--nixpkgs/nixos/tests/containers-imperative.nix4
-rw-r--r--nixpkgs/nixos/tests/dnsdist.nix48
-rw-r--r--nixpkgs/nixos/tests/doh-proxy-rust.nix2
-rw-r--r--nixpkgs/nixos/tests/ergochat.nix97
-rw-r--r--nixpkgs/nixos/tests/frr.nix104
-rw-r--r--nixpkgs/nixos/tests/geth.nix2
-rw-r--r--nixpkgs/nixos/tests/gitolite-fcgiwrap.nix2
-rw-r--r--nixpkgs/nixos/tests/google-oslogin/default.nix4
-rw-r--r--nixpkgs/nixos/tests/google-oslogin/server.nix6
-rwxr-xr-x[-rw-r--r--]nixpkgs/nixos/tests/google-oslogin/server.py0
-rw-r--r--nixpkgs/nixos/tests/handbrake.nix33
-rw-r--r--nixpkgs/nixos/tests/haproxy.nix1
-rw-r--r--nixpkgs/nixos/tests/hardened.nix2
-rw-r--r--nixpkgs/nixos/tests/hibernate.nix10
-rw-r--r--nixpkgs/nixos/tests/home-assistant.nix98
-rw-r--r--nixpkgs/nixos/tests/hydra/common.nix2
-rw-r--r--nixpkgs/nixos/tests/installed-tests/flatpak.nix1
-rw-r--r--nixpkgs/nixos/tests/installer.nix26
-rw-r--r--nixpkgs/nixos/tests/invoiceplane.nix82
-rw-r--r--nixpkgs/nixos/tests/iscsi-multipath-root.nix10
-rw-r--r--nixpkgs/nixos/tests/iscsi-root.nix10
-rw-r--r--nixpkgs/nixos/tests/jibri.nix2
-rw-r--r--nixpkgs/nixos/tests/k3s-single-node-docker.nix84
-rw-r--r--nixpkgs/nixos/tests/k3s-single-node.nix82
-rw-r--r--nixpkgs/nixos/tests/k3s.nix78
-rw-r--r--nixpkgs/nixos/tests/kubernetes/base.nix7
-rw-r--r--nixpkgs/nixos/tests/libreswan.nix4
-rw-r--r--nixpkgs/nixos/tests/lorri/default.nix2
-rw-r--r--nixpkgs/nixos/tests/matrix-conduit.nix95
-rw-r--r--nixpkgs/nixos/tests/miniflux.nix24
-rw-r--r--nixpkgs/nixos/tests/moosefs.nix89
-rw-r--r--nixpkgs/nixos/tests/mpd.nix2
-rw-r--r--nixpkgs/nixos/tests/mysql/common.nix10
-rw-r--r--nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix233
-rw-r--r--nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix226
-rw-r--r--nixpkgs/nixos/tests/mysql/mariadb-galera.nix250
-rw-r--r--nixpkgs/nixos/tests/mysql/mysql-autobackup.nix81
-rw-r--r--nixpkgs/nixos/tests/mysql/mysql-backup.nix104
-rw-r--r--nixpkgs/nixos/tests/mysql/mysql-replication.nix158
-rw-r--r--nixpkgs/nixos/tests/mysql/mysql.nix340
-rw-r--r--nixpkgs/nixos/tests/networking.nix10
-rw-r--r--nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix15
-rw-r--r--nixpkgs/nixos/tests/nixops/default.nix2
-rw-r--r--nixpkgs/nixos/tests/nixops/legacy/base-configuration.nix2
-rw-r--r--nixpkgs/nixos/tests/noto-fonts.nix44
-rw-r--r--nixpkgs/nixos/tests/os-prober.nix10
-rw-r--r--nixpkgs/nixos/tests/php/fpm.nix2
-rw-r--r--nixpkgs/nixos/tests/plausible.nix3
-rw-r--r--nixpkgs/nixos/tests/prometheus-exporters.nix2
-rw-r--r--nixpkgs/nixos/tests/quorum.nix41
-rw-r--r--nixpkgs/nixos/tests/retroarch.nix49
-rw-r--r--nixpkgs/nixos/tests/rstudio-server.nix30
-rw-r--r--nixpkgs/nixos/tests/sourcehut.nix19
-rw-r--r--nixpkgs/nixos/tests/ssh-keys.nix2
-rw-r--r--nixpkgs/nixos/tests/starship.nix42
-rw-r--r--nixpkgs/nixos/tests/sudo.nix6
-rw-r--r--nixpkgs/nixos/tests/sway.nix74
-rw-r--r--nixpkgs/nixos/tests/switch-test.nix420
-rw-r--r--nixpkgs/nixos/tests/systemd-binfmt.nix106
-rw-r--r--nixpkgs/nixos/tests/systemd-boot.nix141
-rw-r--r--nixpkgs/nixos/tests/systemd-machinectl.nix85
-rw-r--r--nixpkgs/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix19
-rw-r--r--nixpkgs/nixos/tests/systemd-networkd-vrf.nix2
-rw-r--r--nixpkgs/nixos/tests/teeworlds.nix4
-rw-r--r--nixpkgs/nixos/tests/teleport.nix99
-rw-r--r--nixpkgs/nixos/tests/thelounge.nix29
-rw-r--r--nixpkgs/nixos/tests/tinywl.nix56
-rw-r--r--nixpkgs/nixos/tests/tsm-client-gui.nix57
-rw-r--r--nixpkgs/nixos/tests/unifi.nix3
-rw-r--r--nixpkgs/nixos/tests/vscodium.nix59
-rw-r--r--nixpkgs/nixos/tests/web-servers/agate.nix29
-rw-r--r--nixpkgs/nixos/tests/wine.nix4
-rw-r--r--nixpkgs/nixos/tests/wordpress.nix9
-rw-r--r--nixpkgs/nixos/tests/wpa_supplicant.nix19
-rw-r--r--nixpkgs/nixos/tests/xmonad.nix99
-rw-r--r--nixpkgs/nixos/tests/xmpp/prosody-mysql.nix92
-rw-r--r--nixpkgs/nixos/tests/xxh.nix67
-rw-r--r--nixpkgs/pkgs/applications/accessibility/contrast/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/accessibility/squeekboard/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/accessibility/svkbd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ChowCentaur/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/audio/audacity/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/aumix/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/audio/bespokesynth/default.nix198
-rw-r--r--nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/bucklespring/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/callaudiod/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/caudec/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/clerk/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/audio/cozy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/cyanrip/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/dfasma/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/easyeffects/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/audio/espeak-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/fomp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/freac/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/freewheeling/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ft2-clone/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/game-music-emu/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/geonkick/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/audio/helvum/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix62
-rw-r--r--nixpkgs/pkgs/applications/audio/jamesdsp/default.nix64
-rw-r--r--nixpkgs/pkgs/applications/audio/japa/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/jmusicbot/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/kid3/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/librespot/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/audio/mbrola/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/audio/meters_lv2/default.nix79
-rw-r--r--nixpkgs/pkgs/applications/audio/milkytracker/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/miniaudicle/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mixxx/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/muse.nix29
-rw-r--r--nixpkgs/pkgs/applications/audio/mpc/default.nix52
-rw-r--r--nixpkgs/pkgs/applications/audio/mpg123/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/munt/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/audio/munt/libmt32emu.nix38
-rw-r--r--nixpkgs/pkgs/applications/audio/munt/mt32emu-qt.nix75
-rw-r--r--nixpkgs/pkgs/applications/audio/munt/mt32emu-smf2wav.nix50
-rw-r--r--nixpkgs/pkgs/applications/audio/ncspot/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/audio/ncspot/rust_1_57_support.patch21
-rw-r--r--nixpkgs/pkgs/applications/audio/ocenaudio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/orca-c/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/audio/paprefs/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/parlatype/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/picard/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/audio/pifi/Gemfile2
-rw-r--r--nixpkgs/pkgs/applications/audio/pifi/Gemfile.lock39
-rw-r--r--nixpkgs/pkgs/applications/audio/pifi/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/audio/pifi/gemset.nix137
-rw-r--r--nixpkgs/pkgs/applications/audio/pithos/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/praat/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ptcollab/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/pyradio/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/qjackctl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/qpwgraph/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/reaper/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/redux/default.nix49
-rw-r--r--nixpkgs/pkgs/applications/audio/rhvoice/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/schismtracker/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/scream/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/setbfree/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/sfizz/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/sfxr-qt/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/audio/shortwave/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/sidplayfp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/snapcast/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/snd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/songrec/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/audio/sorcer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/spectmorph/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/split2flac/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/spot/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/spotify-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/spotify/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/sptlrx/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/audio/squishyball/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/audio/strawberry/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/audio/sunvox/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/tauon/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/audio/termusic/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/x42-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/zrythm/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/backup/deja-dup/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/backup/deja-dup/fix-paths.patch6
-rw-r--r--nixpkgs/pkgs/applications/backup/vorta/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/aeon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/besu/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix557
-rw-r--r--nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/dashpay/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/electrs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/elements/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/erigon.nix8
-rw-r--r--nixpkgs/pkgs/applications/blockchains/exodus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/fulcrum/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/blockchains/groestlcoin/default.nix93
-rw-r--r--nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lnd/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix12
-rw-r--r--nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix19
-rw-r--r--nixpkgs/pkgs/applications/blockchains/pivx/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/polkadot/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/blockchains/snarkos/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/blockchains/solana/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix6
-rwxr-xr-xnixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh98
-rw-r--r--nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix94
-rw-r--r--nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix1154
-rw-r--r--nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix104
-rw-r--r--nixpkgs/pkgs/applications/blockchains/wownero/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/blockchains/zcash/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/bonzomatic/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/cudatext/deps.json20
-rwxr-xr-xnixpkgs/pkgs/applications/editors/cudatext/update.sh2
-rw-r--r--nixpkgs/pkgs/applications/editors/deadpixi-sam/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/em/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix5
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix5
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix41
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix33
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/railgun/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tramp/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/generic.nix3
-rw-r--r--nixpkgs/pkgs/applications/editors/featherpad/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/gnome-builder/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/editors/gophernotes/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/helix/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/heme/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/common.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/editors/jove/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/editors/lite-xl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/moe/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/monodevelop/default.nix81
-rw-r--r--nixpkgs/pkgs/applications/editors/monodevelop/git-revert-12d610fb3f6dce121df538e36f21d8c2eeb0a6e3.patch57
-rw-r--r--nixpkgs/pkgs/applications/editors/nano/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/neovide/skia-externals.json12
-rw-r--r--nixpkgs/pkgs/applications/editors/netbeans/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/nvi/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/editors/poke/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/editors/quartus-prime/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/editors/rednotebook/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/rehex/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/editors/retext/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/editors/rstudio/default.nix307
-rw-r--r--nixpkgs/pkgs/applications/editors/setzer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/standardnotes/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/tiled/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/common.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/generic.nix10
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscodium.nix10
-rw-r--r--nixpkgs/pkgs/applications/editors/wxhexeditor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/xed-editor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/your-editor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/ares/default.nix (renamed from nixpkgs/pkgs/misc/emulators/ares/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/ares/fix-ruby.patch (renamed from nixpkgs/pkgs/misc/emulators/ares/fix-ruby.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/atari++/default.nix (renamed from nixpkgs/pkgs/misc/emulators/atari++/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/atari800/default.nix (renamed from nixpkgs/pkgs/misc/emulators/atari800/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/attract-mode/default.nix (renamed from nixpkgs/pkgs/misc/emulators/attract-mode/default.nix)4
-rw-r--r--nixpkgs/pkgs/applications/emulators/bochs/default.nix (renamed from nixpkgs/pkgs/applications/virtualization/bochs/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/bsnes-hd/default.nix (renamed from nixpkgs/pkgs/misc/emulators/bsnes-hd/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch (renamed from nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch (renamed from nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/caprice32/default.nix (renamed from nixpkgs/pkgs/misc/emulators/caprice32/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/caprice32/string.patch (renamed from nixpkgs/pkgs/misc/emulators/caprice32/string.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/ccemux/default.nix (renamed from nixpkgs/pkgs/misc/emulators/ccemux/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/cdemu/analyzer.nix (renamed from nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix)2
-rw-r--r--nixpkgs/pkgs/applications/emulators/cdemu/base.nix (renamed from nixpkgs/pkgs/misc/emulators/cdemu/base.nix)11
-rw-r--r--nixpkgs/pkgs/applications/emulators/cdemu/client.nix (renamed from nixpkgs/pkgs/misc/emulators/cdemu/client.nix)2
-rw-r--r--nixpkgs/pkgs/applications/emulators/cdemu/daemon.nix (renamed from nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix)2
-rw-r--r--nixpkgs/pkgs/applications/emulators/cdemu/gui.nix (renamed from nixpkgs/pkgs/misc/emulators/cdemu/gui.nix)2
-rw-r--r--nixpkgs/pkgs/applications/emulators/cdemu/libmirage.nix (renamed from nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix)2
-rw-r--r--nixpkgs/pkgs/applications/emulators/cdemu/vhba.nix (renamed from nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix)4
-rw-r--r--nixpkgs/pkgs/applications/emulators/cen64/default.nix (renamed from nixpkgs/pkgs/misc/emulators/cen64/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/citra/default.nix (renamed from nixpkgs/pkgs/misc/emulators/citra/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix (renamed from nixpkgs/pkgs/misc/emulators/commanderx16/emulator.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix (renamed from nixpkgs/pkgs/misc/emulators/commanderx16/rom.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/commanderx16/run.nix (renamed from nixpkgs/pkgs/misc/emulators/commanderx16/run.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/craftos-pc/default.nix (renamed from nixpkgs/pkgs/misc/emulators/craftos-pc/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/darcnes/default.nix (renamed from nixpkgs/pkgs/misc/emulators/darcnes/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/darcnes/label.patch (renamed from nixpkgs/pkgs/misc/emulators/darcnes/label.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/desmume/default.nix (renamed from nixpkgs/pkgs/misc/emulators/desmume/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/dgen-sdl/default.nix (renamed from nixpkgs/pkgs/misc/emulators/dgen-sdl/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/dlx/default.nix (renamed from nixpkgs/pkgs/misc/emulators/dlx/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/dolphin-emu/default.nix (renamed from nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/dolphin-emu/master.nix (renamed from nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix)8
-rw-r--r--nixpkgs/pkgs/applications/emulators/dolphin-emu/primehack.nix (renamed from nixpkgs/pkgs/misc/emulators/dolphin-emu/primehack.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/dosbox-staging/default.nix112
-rw-r--r--nixpkgs/pkgs/applications/emulators/dosbox/default.nix75
-rw-r--r--nixpkgs/pkgs/applications/emulators/duckstation/default.nix (renamed from nixpkgs/pkgs/misc/emulators/duckstation/default.nix)6
-rw-r--r--nixpkgs/pkgs/applications/emulators/dynamips/default.nix (renamed from nixpkgs/pkgs/applications/virtualization/dynamips/default.nix)12
-rw-r--r--nixpkgs/pkgs/applications/emulators/emu2/default.nix (renamed from nixpkgs/pkgs/misc/emulators/emu2/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/emulationstation/default.nix (renamed from nixpkgs/pkgs/misc/emulators/emulationstation/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/epsxe/default.nix (renamed from nixpkgs/pkgs/misc/emulators/epsxe/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/fakenes/build.patch (renamed from nixpkgs/pkgs/misc/emulators/fakenes/build.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/fakenes/default.nix (renamed from nixpkgs/pkgs/misc/emulators/fakenes/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/fceux/default.nix (renamed from nixpkgs/pkgs/misc/emulators/fceux/default.nix)6
-rw-r--r--nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix (renamed from nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/fs-uae/default.nix65
-rw-r--r--nixpkgs/pkgs/applications/emulators/fs-uae/launcher.nix (renamed from nixpkgs/pkgs/misc/emulators/fs-uae-launcher/default.nix)29
-rw-r--r--nixpkgs/pkgs/applications/emulators/fuse-emulator/default.nix (renamed from nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/gens-gs/default.nix (renamed from nixpkgs/pkgs/misc/emulators/gens-gs/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/gxemul/0001-fix-attributes.patch (renamed from nixpkgs/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/gxemul/default.nix (renamed from nixpkgs/pkgs/misc/emulators/gxemul/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/hatari/default.nix (renamed from nixpkgs/pkgs/misc/emulators/hatari/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/hercules/default.nix (renamed from nixpkgs/pkgs/applications/virtualization/hercules/default.nix)13
-rw-r--r--nixpkgs/pkgs/applications/emulators/higan/001-include-cmath.patch (renamed from nixpkgs/pkgs/misc/emulators/higan/001-include-cmath.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/higan/002-sips-to-png2icns.patch (renamed from nixpkgs/pkgs/misc/emulators/higan/002-sips-to-png2icns.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/higan/default.nix (renamed from nixpkgs/pkgs/misc/emulators/higan/default.nix)11
-rw-r--r--nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix (renamed from nixpkgs/pkgs/misc/emulators/kega-fusion/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/lambda-delta/default.nix (renamed from nixpkgs/pkgs/misc/emulators/lambda-delta/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/libdsk/default.nix (renamed from nixpkgs/pkgs/misc/emulators/libdsk/default.nix)4
-rw-r--r--nixpkgs/pkgs/applications/emulators/maiko/default.nix (renamed from nixpkgs/pkgs/misc/emulators/maiko/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/mame/default.nix (renamed from nixpkgs/pkgs/misc/emulators/mame/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/mame/emuopts.patch (renamed from nixpkgs/pkgs/misc/emulators/mame/emuopts.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/mednafen/default.nix (renamed from nixpkgs/pkgs/misc/emulators/mednafen/default.nix)40
-rw-r--r--nixpkgs/pkgs/applications/emulators/mednafen/server.nix (renamed from nixpkgs/pkgs/misc/emulators/mednafen/server.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/mednaffe/default.nix (renamed from nixpkgs/pkgs/misc/emulators/mednaffe/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/melonDS/default.nix (renamed from nixpkgs/pkgs/misc/emulators/melonDS/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/mgba/default.nix (renamed from nixpkgs/pkgs/misc/emulators/mgba/default.nix)4
-rw-r--r--nixpkgs/pkgs/applications/emulators/mupen64plus/default.nix (renamed from nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/nestopia/build-fix.patch (renamed from nixpkgs/pkgs/misc/emulators/nestopia/build-fix.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/nestopia/default.nix (renamed from nixpkgs/pkgs/misc/emulators/nestopia/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/nestopia/gcc6.patch (renamed from nixpkgs/pkgs/misc/emulators/nestopia/gcc6.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/np2kai/default.nix (renamed from nixpkgs/pkgs/misc/emulators/np2kai/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix (renamed from nixpkgs/pkgs/misc/emulators/oberon-risc-emu/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/openmsx/custom-nix.mk (renamed from nixpkgs/pkgs/misc/emulators/openmsx/custom-nix.mk)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/openmsx/default.nix (renamed from nixpkgs/pkgs/misc/emulators/openmsx/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/pcem/default.nix (renamed from nixpkgs/pkgs/misc/emulators/pcem/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/pcsx2/default.nix (renamed from nixpkgs/pkgs/misc/emulators/pcsx2/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch (renamed from nixpkgs/pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/pcsxr/default.nix (renamed from nixpkgs/pkgs/misc/emulators/pcsxr/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/pcsxr/uncompress2.patch (renamed from nixpkgs/pkgs/misc/emulators/pcsxr/uncompress2.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/ppsspp/default.nix (renamed from nixpkgs/pkgs/misc/emulators/ppsspp/default.nix)14
-rw-r--r--nixpkgs/pkgs/applications/emulators/proton-caller/default.nix (renamed from nixpkgs/pkgs/misc/emulators/proton-caller/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/punes/default.nix (renamed from nixpkgs/pkgs/misc/emulators/punes/default.nix)23
-rw-r--r--nixpkgs/pkgs/applications/emulators/py65/default.nix (renamed from nixpkgs/pkgs/misc/emulators/py65/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/qmc2/default.nix (renamed from nixpkgs/pkgs/misc/emulators/qmc2/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/reicast/default.nix (renamed from nixpkgs/pkgs/misc/emulators/reicast/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/resim/default.nix (renamed from nixpkgs/pkgs/misc/emulators/resim/default.nix)3
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch (renamed from nixpkgs/pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch (renamed from nixpkgs/pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/cores.nix (renamed from nixpkgs/pkgs/misc/emulators/retroarch/cores.nix)45
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/default.nix (renamed from nixpkgs/pkgs/misc/emulators/retroarch/default.nix)50
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch (renamed from nixpkgs/pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/fix-config.patch (renamed from nixpkgs/pkgs/misc/emulators/retroarch/fix-config.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch (renamed from nixpkgs/pkgs/misc/emulators/retroarch/fix-libretro-paths.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/hashes.json (renamed from nixpkgs/pkgs/misc/emulators/retroarch/hashes.json)339
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix (renamed from nixpkgs/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix)0
-rwxr-xr-xnixpkgs/pkgs/applications/emulators/retroarch/update.py (renamed from nixpkgs/pkgs/misc/emulators/retroarch/update.py)57
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/wrapper.nix (renamed from nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix)10
-rw-r--r--nixpkgs/pkgs/applications/emulators/retrofe/default.nix (renamed from nixpkgs/pkgs/misc/emulators/retrofe/default.nix)4
-rw-r--r--nixpkgs/pkgs/applications/emulators/retrofe/include-paths.patch (renamed from nixpkgs/pkgs/misc/emulators/retrofe/include-paths.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch62
-rw-r--r--nixpkgs/pkgs/applications/emulators/rpcs3/default.nix (renamed from nixpkgs/pkgs/misc/emulators/rpcs3/default.nix)25
-rwxr-xr-xnixpkgs/pkgs/applications/emulators/rpcs3/update.sh59
-rw-r--r--nixpkgs/pkgs/applications/emulators/ruffle/default.nix (renamed from nixpkgs/pkgs/misc/emulators/ruffle/default.nix)6
-rw-r--r--nixpkgs/pkgs/applications/emulators/ryujinx/default.nix (renamed from nixpkgs/pkgs/misc/emulators/ryujinx/default.nix)19
-rw-r--r--nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix (renamed from nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix)43
-rw-r--r--nixpkgs/pkgs/applications/emulators/ryujinx/log.patch (renamed from nixpkgs/pkgs/misc/emulators/ryujinx/log.patch)0
-rwxr-xr-xnixpkgs/pkgs/applications/emulators/ryujinx/updater.sh (renamed from nixpkgs/pkgs/misc/emulators/ryujinx/updater.sh)2
-rw-r--r--nixpkgs/pkgs/applications/emulators/sameboy/default.nix (renamed from nixpkgs/pkgs/misc/emulators/sameboy/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/simh/default.nix (renamed from nixpkgs/pkgs/misc/emulators/simh/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/simplenes/default.nix (renamed from nixpkgs/pkgs/misc/emulators/simplenes/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/snes9x-gtk/default.nix (renamed from nixpkgs/pkgs/misc/emulators/snes9x-gtk/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/stella/default.nix (renamed from nixpkgs/pkgs/misc/emulators/stella/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/termtekst/default.nix (renamed from nixpkgs/pkgs/misc/emulators/termtekst/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/tilem/default.nix (renamed from nixpkgs/pkgs/misc/emulators/tilem/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/tiny8086/default.nix (renamed from nixpkgs/pkgs/applications/virtualization/tiny8086/default.nix)24
-rw-r--r--nixpkgs/pkgs/applications/emulators/tinyemu/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/emulators/uae/default.nix (renamed from nixpkgs/pkgs/misc/emulators/uae/default.nix)4
-rw-r--r--nixpkgs/pkgs/applications/emulators/uxn/default.nix (renamed from nixpkgs/pkgs/misc/emulators/uxn/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/vbam/default.nix (renamed from nixpkgs/pkgs/misc/emulators/vbam/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/vice/default.nix (renamed from nixpkgs/pkgs/misc/emulators/vice/default.nix)4
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/base.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/base.nix)91
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/builder-wow.sh (renamed from nixpkgs/pkgs/misc/emulators/wine/builder-wow.sh)5
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/cert-path.patch (renamed from nixpkgs/pkgs/misc/emulators/wine/cert-path-6.21.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch31
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/default.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/default.nix)33
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/fonts.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/fonts.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/packages.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/packages.nix)16
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/setup-hook-darwin.sh37
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/sources.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/sources.nix)45
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/staging.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/staging.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/util.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/util.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/vkd3d.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/vkd3d.nix)8
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/winetricks.nix (renamed from nixpkgs/pkgs/misc/emulators/wine/winetricks.nix)3
-rw-r--r--nixpkgs/pkgs/applications/emulators/xcpc/default.nix (renamed from nixpkgs/pkgs/misc/emulators/xcpc/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch (renamed from nixpkgs/pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/yabause/default.nix (renamed from nixpkgs/pkgs/misc/emulators/yabause/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch (renamed from nixpkgs/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/yapesdl/default.nix (renamed from nixpkgs/pkgs/misc/emulators/yapesdl/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/base.nix (renamed from nixpkgs/pkgs/misc/emulators/yuzu/base.nix)2
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/default.nix (renamed from nixpkgs/pkgs/misc/emulators/yuzu/default.nix)8
-rw-r--r--nixpkgs/pkgs/applications/emulators/zesarux/default.nix (renamed from nixpkgs/pkgs/misc/emulators/zesarux/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/emulators/zsnes/default.nix (renamed from nixpkgs/pkgs/misc/emulators/zsnes/default.nix)2
-rw-r--r--nixpkgs/pkgs/applications/finance/odoo/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/gis/gmt/dcw.nix4
-rw-r--r--nixpkgs/pkgs/applications/gis/gmt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/gis/grass/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/gis/qgis/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/gis/qgis/ltr.nix32
-rw-r--r--nixpkgs/pkgs/applications/gis/qgis/unwrapped-ltr.nix148
-rw-r--r--nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix45
-rw-r--r--nixpkgs/pkgs/applications/gis/zombietrackergps/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix16
-rw-r--r--nixpkgs/pkgs/applications/graphics/azpainter/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/graphics/blockbench-electron/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/graphics/darktable/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/graphics/deskew/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/graphics/displaycal/default.nix72
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawing/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawio/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/evilpixie/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/feh/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/gcolor3/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/graphics/geeqie/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/graphics/glabels/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/graphicsmagick/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/image-roll/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/graphics/inkscape/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/graphics/k3d/default.nix51
-rw-r--r--nixpkgs/pkgs/applications/graphics/krita/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/menyoki/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/openscad/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/graphics/opentoonz/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/opentoonz/libtiff.nix53
-rw-r--r--nixpkgs/pkgs/applications/graphics/opentoonz/source.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/ovito/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/pinta/default.nix127
-rw-r--r--nixpkgs/pkgs/applications/graphics/pinta/deps.nix12
-rw-r--r--nixpkgs/pkgs/applications/graphics/pixinsight/default.nix132
-rw-r--r--nixpkgs/pkgs/applications/graphics/qiv/default.upstream3
-rw-r--r--nixpkgs/pkgs/applications/graphics/renderdoc/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/graphics/rnote/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/graphics/sane/backends/brscan5/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/screencloud/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/solvespace/default.nix78
-rw-r--r--nixpkgs/pkgs/applications/graphics/tev/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix15
-rw-r--r--nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/xournalpp/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/xrgears/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/kde/fetch.sh2
-rw-r--r--nixpkgs/pkgs/applications/kde/kamoso.nix2
-rw-r--r--nixpkgs/pkgs/applications/kde/kbreakout.nix2
-rw-r--r--nixpkgs/pkgs/applications/kde/kio-extras.nix7
-rw-r--r--nixpkgs/pkgs/applications/kde/srcs.nix1840
-rw-r--r--nixpkgs/pkgs/applications/misc/1password-gui/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/1password/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix280
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix (renamed from nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps.nix)171
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/mutable-customdir.patch13
-rwxr-xr-xnixpkgs/pkgs/applications/misc/ArchiSteamFarm/updater.sh24
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-composition.nix (renamed from nixpkgs/pkgs/development/misc/google-clasp/google-clasp.nix)4
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix7645
-rwxr-xr-xnixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh26
-rw-r--r--nixpkgs/pkgs/applications/misc/airtame/default.nix79
-rw-r--r--nixpkgs/pkgs/applications/misc/anytype/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/archivebox/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/misc/artha/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/artha/gio-underlink.patch13
-rw-r--r--nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/auto-multiple-choice/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/avizo/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/misc/avizo/use-sysconfdir-instead-of-etc.patch15
-rw-r--r--nixpkgs/pkgs/applications/misc/batsignal/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/bemenu/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/bicon/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/binance/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/blender/wrapper.nix39
-rw-r--r--nixpkgs/pkgs/applications/misc/bottles/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/buku/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/misc/bukut/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/calibre/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/cbatticon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/charm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/cherrytree/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/clifm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/clight/clightd.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/clight/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cloak/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/cointop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/copyq/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/misc/cpu-x/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubiomes-viewer/default.nix70
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coreaction/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corefm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coregarage/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corehunt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coreimage/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corekeyboard/0001-fix-installPhase.patch8
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corepad/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corepaint/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corepdf/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corepins/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coreshot/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corestats/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corestuff/0001-fix-installPhase.patch11
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/corestuff/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coretime/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch6
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/libcprime/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cubocore-packages/libcsys/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/curabydagoma/default.nix78
-rw-r--r--nixpkgs/pkgs/applications/misc/dasel/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/dbeaver/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/ddcui/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/deco/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/dmenu/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/dupeguru/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/edgetx/default.nix47
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum-grs/default.nix129
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum/ltc.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/etesync-dav/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/misc/eureka-editor/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/misc/expenses/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/misc/far2l/default.nix106
-rw-r--r--nixpkgs/pkgs/applications/misc/far2l/python_prebuild.patch20
-rw-r--r--nixpkgs/pkgs/applications/misc/feedbackd/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/misc/fetchmail/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/misc/fme/default.nix59
-rw-r--r--nixpkgs/pkgs/applications/misc/fnott/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/free42/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/misc/fslint/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/misc/fuzzel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gImageReader/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/girara/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gksu/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch29
-rw-r--r--nixpkgs/pkgs/applications/misc/globe-cli/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/misc/gnome-secrets/default.nix (renamed from nixpkgs/pkgs/applications/misc/gnome-passwordsafe/default.nix)32
-rw-r--r--nixpkgs/pkgs/applications/misc/golden-cheetah/0001-Fix-building-with-bison-3.7.patch63
-rw-r--r--nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/googleearth/default.nix106
-rw-r--r--nixpkgs/pkgs/applications/misc/gphoto2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gpsprune/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gremlin-console/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gremlin-server/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/misc/grip/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/gxmessage/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/haxor-news/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/heimer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/hello/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/misc/hivemind/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/hugo/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/index-fm/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/inherd-quake/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/iptsd/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/josm/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/jotta-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/jquake/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/jrnl/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/kondo/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/koreader/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/kup/default.nix60
-rw-r--r--nixpkgs/pkgs/applications/misc/leetcode-cli/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/misc/lemonade/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/misc/liberasurecode/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/misc/librecad/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/limesctl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/llama/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/logseq/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/lscolors/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mdzk/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/mediaelch/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/megacmd/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/misc/megasync/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mepo/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/metamorphose2/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/misc/minder/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/minigalaxy/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mob/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/misc/moolticute/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/default.upstream7
-rw-r--r--nixpkgs/pkgs/applications/misc/navi/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/neap/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/nimbo/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/misc/notejot/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/notejot/use-gtk4-update-icon-cache.patch20
-rw-r--r--nixpkgs/pkgs/applications/misc/numberstation/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-menu/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/obinskit/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/ocropus/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/default.nix134
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/plugins.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/openrgb/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/orca/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/osmium-tool/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/p2pool/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfarranger/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfdiff/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfmod/default.nix49
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfstudio/common.nix98
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfstudio/default.nix127
-rw-r--r--nixpkgs/pkgs/applications/misc/pgadmin/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/phoc/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/phwmon/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/misc/pomotroid/default.nix60
-rw-r--r--nixpkgs/pkgs/applications/misc/privacyidea/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/pueue/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/pure-maps/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/misc/pwsafe/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/qMasterPassword/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/misc/qcad/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/qpdfview/default.nix62
-rw-r--r--nixpkgs/pkgs/applications/misc/qt-video-wlr/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/ratt/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/misc/redshift/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/remarkable/rmapi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/remarkable/rmview/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/rivercarro/default.nix51
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi-emoji/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/rofi/wayland.nix31
-rw-r--r--nixpkgs/pkgs/applications/misc/scli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/sigi/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/misc/skate/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/slides/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/smos/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/solaar/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/spotify-tray/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/sqliteman/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/stork/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/subsurface/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/surface-control/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/survex/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/swaynotificationcenter/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/misc/tagtime/default.nix79
-rw-r--r--nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/ticker/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/tiv/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/todoist-electron/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/toggldesktop/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/misc/tomboy/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/misc/topydo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/tty-share/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/ttyper/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/tuhi/default.nix63
-rw-r--r--nixpkgs/pkgs/applications/misc/udevil/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/misc/udiskie/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/misc/urlscan/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/variety/default.nix81
-rw-r--r--nixpkgs/pkgs/applications/misc/vifm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/waybar/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/weather/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/whalebird/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/wike/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/wtf/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/xchm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xdg-launch/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xiphos/0001-Add-dbus-glib-dependency-to-main.patch38
-rw-r--r--nixpkgs/pkgs/applications/misc/xiphos/default.nix99
-rw-r--r--nixpkgs/pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xplr/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/yambar/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/yarssr/default.nix81
-rw-r--r--nixpkgs/pkgs/applications/misc/yate/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/zettlr/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/zola/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/aether/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/bee/bee.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/blocky/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/breitbandmessung/default.nix153
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/brave/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix5
-rwxr-xr-xnixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json60
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/falkon/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix786
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix786
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix786
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/src.json11
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/src.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/update.nix65
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx96.patch (renamed from nixpkgs/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx95.patch)8
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix46
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix130
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/nyxt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/opera/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/calls/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/networking/cloudflared/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argo-rollouts/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/clusterctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/driftctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/flink/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm-docs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k0sctl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix268
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch41
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch81
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch37
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3sup/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kbst/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kn/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/krane/Gemfile.lock45
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/krane/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/krane/gemset.nix115
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube-score/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubectl-doctor/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeone/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubergrunt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubernetes/kubectl.nix (renamed from nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix)0
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kuma/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/lens/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nixops/poetry.lock69
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad-pack/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/1.2.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix54
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/stern/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix174
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json613
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix33
-rwxr-xr-xnixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all-providers2
-rwxr-xr-xnixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider23
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/vpsadmin/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix109
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terranix/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tgswitch/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/vcluster/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/compactor/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/networking/dnscontrol/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/photon/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/flexget/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ftp/gftp/default.nix (renamed from nixpkgs/pkgs/applications/networking/gftp/default.nix)9
-rw-r--r--nixpkgs/pkgs/applications/networking/giara/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/gmailctl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/gui.nix20
-rw-r--r--nixpkgs/pkgs/applications/networking/gns3/server.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/hyprspace/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/zeek/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/alfaview/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix116
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix68
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch49
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/cinny/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/coyim/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/darwin.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix107
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/linux.nix (renamed from nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix)87
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json17
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/element/pin.json8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/ferdi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/gitter/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/jami/daemon.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/jami/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix186
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mcabber/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/mirage/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/neochat/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix33
-rw-r--r--[-rwxr-xr-x]nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix0
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/pin.json8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/apple-sdk-missing-utimensat.patch34
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix61
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh11
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix195
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/torchat/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/ipget/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/ii/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/irssi/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/kirc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/quassel/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch37
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/quassel/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/senpai/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/srain/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/wraith/configure.patch4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/wraith/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/wraith/dlopen.patch12
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/alot/default.nix103
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/alot/notmuch.nix (renamed from nixpkgs/pkgs/development/python-modules/notmuch/2.nix)0
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/himalaya/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mailpile/default.nix52
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix522
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/n8n/default.nix10
-rwxr-xr-xnixpkgs/pkgs/applications/networking/n8n/generate-dependencies.sh13
-rw-r--r--nixpkgs/pkgs/applications/networking/n8n/node-composition.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/n8n/node-env.nix89
-rw-r--r--nixpkgs/pkgs/applications/networking/n8n/node-packages.nix4839
-rw-r--r--nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/nextdns/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/ngadmin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/novnc/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/onionshare/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/onionshare/fix-paths-gui.patch39
-rw-r--r--nixpkgs/pkgs/applications/networking/onionshare/fix-paths.patch57
-rw-r--r--nixpkgs/pkgs/applications/networking/openbazaar/client.nix60
-rw-r--r--nixpkgs/pkgs/applications/networking/openbazaar/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/networking/owncloud-client/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/deluge/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/dht/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/fragments/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/gnunet/gtk.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/libutp/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/twister/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/xd/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/ping/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix143
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/remmina/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix111
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/waypipe/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/seahub/default.nix74
-rw-r--r--nixpkgs/pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/soapui/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/soulseek/nicotine-plus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/synology-drive-client/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/synology-drive/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/networking/vnstat/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile5
-rw-r--r--nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock6
-rw-r--r--nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/PageEdit/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/office/abiword/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/office/appflowy/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/office/banking/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/elementary-planner/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/foliate/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/0001-disable-date-and-time-tests.patch (renamed from nixpkgs/pkgs/applications/office/gnucash/0001-changes.patch)0
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/0002-disable-gnc-fq-update.patch18
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/0003-remove-valgrind.patch35
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/default.nix263
-rw-r--r--nixpkgs/pkgs/applications/office/gnumeric/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/gtg/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/homebank/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/impressive/default.nix70
-rw-r--r--nixpkgs/pkgs/applications/office/jabref/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/jameica/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/kalendar/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/darwin.nix51
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix10
-rw-r--r--nixpkgs/pkgs/applications/office/morgen/default.nix59
-rw-r--r--nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/paperless-ng/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/pyspread/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/scribus/unstable.nix5
-rw-r--r--nixpkgs/pkgs/applications/office/skrooge/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/spice-up/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/office/super-productivity/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/timedoctor/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/timekeeper/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/office/timeline/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/treesheets/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch53
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/vnote/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/watson/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/office/zanshin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/dablin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/dump1090/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/freedv/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix77
-rw-r--r--nixpkgs/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch47
-rw-r--r--nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix15
-rw-r--r--nixpkgs/pkgs/applications/radio/gnuradio/3.9.nix (renamed from nixpkgs/pkgs/applications/radio/gnuradio/3.7.nix)212
-rw-r--r--nixpkgs/pkgs/applications/radio/gnuradio/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/radio/gqrx/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/radio/qradiolink/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/radio/qsstv/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/soapyhackrf/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/soapysdr/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/radio/welle-io/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/wsjtx/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/astrolog/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/gprojector/default.nix51
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/kstars/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/deeptools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/febio-studio/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/science/biology/febio-studio/febio-studio-cmake.patch38
-rw-r--r--nixpkgs/pkgs/applications/science/biology/hisat2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/kallisto/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/last/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/lumpy/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/science/biology/messer-slim/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/minimap2/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix4
-rwxr-xr-xnixpkgs/pkgs/applications/science/biology/poretools/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/biology/repseek/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/science/biology/sambamba/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/science/biology/spades/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/star/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/tebreak/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/chemtool/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/molden/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/alliance/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/horizon-eda/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/base.nix3
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix48
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/verilator/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/xyce/default.nix182
-rw-r--r--nixpkgs/pkgs/applications/science/geometry/gama/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/science/logic/anders/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/science/logic/coq/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/formula/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/science/logic/formula/nuget.nix77
-rw-r--r--nixpkgs/pkgs/applications/science/logic/isabelle/default.nix47
-rw-r--r--nixpkgs/pkgs/applications/science/logic/key/default.nix94
-rw-r--r--nixpkgs/pkgs/applications/science/logic/klee/default.nix110
-rw-r--r--nixpkgs/pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/leo2/default.upstream6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/logisim/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/potassco/clingo.upstream6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/satallax/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/tlaplus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/math/bcal/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/calc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/getdp/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/math/gfm/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/science/math/ginac/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/gmsh/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/science/math/gretl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/mathematica/default.nix213
-rw-r--r--nixpkgs/pkgs/applications/science/math/mathematica/l10ns.nix7
-rw-r--r--nixpkgs/pkgs/applications/science/math/pari/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/math/polymake/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/ratpoints/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/math/rofi-calc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-external-software-when-all-of-sage-is.patch46
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch26
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch21
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/fonttools-deprecation-warnings.patch39
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch58
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch52
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch12
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix28
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-setup.nix28
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-env.nix11
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-src.nix97
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage.nix3
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage_docbuild.nix20
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sagedoc.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sagelib.nix52
-rw-r--r--nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/singular/default.nix77
-rw-r--r--nixpkgs/pkgs/applications/science/math/singular/disable-docs-for-optional-unpackaged-deps.patch112
-rw-r--r--nixpkgs/pkgs/applications/science/math/singular/redhat-aarch64.patch38
-rw-r--r--nixpkgs/pkgs/applications/science/math/singular/use-older-ax-prog-cc-for-build.patch194
-rw-r--r--nixpkgs/pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch35
-rw-r--r--nixpkgs/pkgs/applications/science/math/tilp2/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/science/misc/bada-bib/default.nix78
-rw-r--r--nixpkgs/pkgs/applications/science/misc/colmap/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/misc/cwltool/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/science/misc/cytoscape/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/misc/golly/default.upstream5
-rw-r--r--nixpkgs/pkgs/applications/science/misc/gplates/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/misc/graphia/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/misc/nextinspace/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/science/misc/root/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/science/misc/sasview/default.nix89
-rw-r--r--nixpkgs/pkgs/applications/science/misc/sasview/local_config.patch22
-rw-r--r--nixpkgs/pkgs/applications/science/misc/sasview/pyparsing-fix.patch13
-rw-r--r--nixpkgs/pkgs/applications/science/misc/simgrid/default.nix94
-rw-r--r--nixpkgs/pkgs/applications/science/misc/snakemake/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/science/misc/toil/default.nix39
-rw-r--r--nixpkgs/pkgs/applications/science/misc/tulip/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/physics/sherpa/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/physics/shtns/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/system/monitor/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/eterm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/evilvte/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/havoc/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/kermit-terminal/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/lilyterm/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix39
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/st/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/syncterm/default.nix39
-rw-r--r--nixpkgs/pkgs/applications/version-management/commit-formatter/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/version-management/commitizen/default.nix114
-rw-r--r--nixpkgs/pkgs/applications/version-management/cvs2svn/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/version-management/cz-cli/default.nix18
-rwxr-xr-xnixpkgs/pkgs/applications/version-management/cz-cli/generate-dependencies.sh (renamed from nixpkgs/pkgs/applications/version-management/commitizen/generate-dependencies.sh)0
-rw-r--r--nixpkgs/pkgs/applications/version-management/cz-cli/node-composition.nix (renamed from nixpkgs/pkgs/applications/version-management/commitizen/node-composition.nix)0
-rw-r--r--nixpkgs/pkgs/applications/version-management/cz-cli/node-env.nix (renamed from nixpkgs/pkgs/applications/version-management/commitizen/node-env.nix)0
-rw-r--r--nixpkgs/pkgs/applications/version-management/cz-cli/node-packages.nix (renamed from nixpkgs/pkgs/applications/version-management/commitizen/node-packages.nix)0
-rw-r--r--nixpkgs/pkgs/applications/version-management/cz-cli/package.json (renamed from nixpkgs/pkgs/applications/version-management/commitizen/package.json)0
-rw-r--r--nixpkgs/pkgs/applications/version-management/dvc/default.nix99
-rw-r--r--nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch21
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gfold/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix11
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitty/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/glitter/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-crecord/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-lfs/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitea/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitinspector/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/data.json16
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch10
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile10
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock67
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix91
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile39
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock216
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix216
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitless/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/version-management/gogs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/got/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/meld/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/mercurial/default.nix82
-rw-r--r--nixpkgs/pkgs/applications/version-management/monotone/default.upstream8
-rw-r--r--nixpkgs/pkgs/applications/version-management/p4/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/pijul/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/rapidsvn/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/rcs/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/core.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/git.nix9
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix9
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/man.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/pages.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch50
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch48
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch50
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix9
-rw-r--r--nixpkgs/pkgs/applications/version-management/src/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/version-management/srcml/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/subversion/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/tailor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix96
-rw-r--r--nixpkgs/pkgs/applications/version-management/yadm/default.nix102
-rw-r--r--nixpkgs/pkgs/applications/video/celluloid/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/video/clipgrab/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/video/clipgrab/yt-dlp-path.patch86
-rw-r--r--nixpkgs/pkgs/applications/video/droidcam/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/video/dvdstyler/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/video/f1viewer/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/freetube/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/go-chromecast/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/handbrake/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/video/iina/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/arrow/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/controllers/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/dateutil/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/future/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/iagl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/orftvthek/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/pvr-hts/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/simplejson/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/trakt-module/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/trakt/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/typing_extensions/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/unwrapped.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/wrapper.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/kooha/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/lbry/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/minitube/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mkclean/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mplayer/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch22
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/mpvacious.nix22
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/sponsorblock.nix13
-rwxr-xr-xnixpkgs/pkgs/applications/video/mpv/scripts/update-sponsorblock.sh49
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch26
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix30
-rw-r--r--nixpkgs/pkgs/applications/video/peek/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/video/plex-media-player/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/srtrelay/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/video/streamlink/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/sub-batch/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/subtitleeditor/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/tartube/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/ustreamer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vdr/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vlc/default.nix215
-rw-r--r--nixpkgs/pkgs/applications/video/xine-ui/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/video/xplayer/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/virtualization/colima/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/virtualization/conmon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/containerd/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/compose.nix11
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/virtualization/firecracker/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/virtualization/libgovirt/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/podman-tui/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.c79
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.nix31
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/default.nix136
-rw-r--r--nixpkgs/pkgs/applications/virtualization/qemu/sigrtminmax.patch30
-rw-r--r--nixpkgs/pkgs/applications/virtualization/runc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/seabios/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/singularity/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/tinyemu/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix74
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/x11docker/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/generic.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/berry/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwl/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix3
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix1
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix13
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/window-managers/ion-3/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch29
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/pekwm/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/window-managers/phosh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/fix-restart.patch22
-rw-r--r--nixpkgs/pkgs/applications/window-managers/river/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/idle.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/tabbed/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/tinywl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/weston/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix4
-rw-r--r--nixpkgs/pkgs/build-support/alternatives/lapack/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/bintools-wrapper/ld-wrapper.sh2
-rw-r--r--nixpkgs/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/src/chrootenv.c (renamed from nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c)0
-rw-r--r--nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/src/meson.build (renamed from nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/meson.build)0
-rw-r--r--nixpkgs/pkgs/build-support/build-graalvm-native-image/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh2
-rw-r--r--nixpkgs/pkgs/build-support/coq/meta-fetch/default.nix7
-rw-r--r--nixpkgs/pkgs/build-support/docker/default.nix4
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/build-dotnet-module/default.nix (renamed from nixpkgs/pkgs/build-support/build-dotnet-module/default.nix)34
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/build-dotnet-package/default.nix (renamed from nixpkgs/pkgs/build-support/build-dotnet-package/default.nix)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/create-pkg-config-for-dll.sh (renamed from nixpkgs/pkgs/build-support/dotnetbuildhelpers/create-pkg-config-for-dll.sh)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/default.nix (renamed from nixpkgs/pkgs/build-support/dotnetbuildhelpers/default.nix)0
-rwxr-xr-xnixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/patch-fsharp-targets.sh (renamed from nixpkgs/pkgs/build-support/dotnetbuildhelpers/patch-fsharp-targets.sh)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-nuget.sh (renamed from nixpkgs/pkgs/build-support/dotnetbuildhelpers/placate-nuget.sh)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-paket.sh (renamed from nixpkgs/pkgs/build-support/dotnetbuildhelpers/placate-paket.sh)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/remove-duplicated-dlls.sh (renamed from nixpkgs/pkgs/build-support/dotnetbuildhelpers/remove-duplicated-dlls.sh)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper.sln (renamed from nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper.sln)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs (renamed from nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in (renamed from nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in (renamed from nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetenv/build-solution.nix (renamed from nixpkgs/pkgs/build-support/dotnetenv/build-solution.nix)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetenv/default.nix (renamed from nixpkgs/pkgs/build-support/dotnetenv/default.nix)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/dotnetenv/wrapper.nix (renamed from nixpkgs/pkgs/build-support/dotnetenv/wrapper.nix)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix (renamed from nixpkgs/pkgs/build-support/fetchnuget/default.nix)0
-rw-r--r--nixpkgs/pkgs/build-support/dotnet/nuget-to-nix/default.nix (renamed from nixpkgs/pkgs/build-support/nuget-to-nix/default.nix)0
-rwxr-xr-xnixpkgs/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh (renamed from nixpkgs/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh)0
-rw-r--r--nixpkgs/pkgs/build-support/fetchgit/builder.sh1
-rw-r--r--nixpkgs/pkgs/build-support/fetchgit/default.nix3
-rwxr-xr-xnixpkgs/pkgs/build-support/fetchgit/deterministic-git45
-rwxr-xr-xnixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git8
-rw-r--r--nixpkgs/pkgs/build-support/fetchgit/tests.nix11
-rw-r--r--nixpkgs/pkgs/build-support/fetchgithub/default.nix20
-rw-r--r--nixpkgs/pkgs/build-support/fetchpatch/default.nix21
-rw-r--r--nixpkgs/pkgs/build-support/fetchsourcehut/default.nix45
-rw-r--r--nixpkgs/pkgs/build-support/flutter/default.nix277
-rw-r--r--nixpkgs/pkgs/build-support/go/garble.nix19
-rw-r--r--nixpkgs/pkgs/build-support/kernel/make-initrd.sh2
-rw-r--r--nixpkgs/pkgs/build-support/libredirect/default.nix63
-rw-r--r--nixpkgs/pkgs/build-support/libredirect/libredirect.c133
-rw-r--r--nixpkgs/pkgs/build-support/libredirect/test.c66
-rw-r--r--nixpkgs/pkgs/build-support/make-darwin-bundle/default.nix26
-rw-r--r--nixpkgs/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix40
-rw-r--r--nixpkgs/pkgs/build-support/mkshell/default.nix27
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix2
-rw-r--r--nixpkgs/pkgs/build-support/rust/hooks/cargo-build-hook.sh3
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh48
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh71
-rw-r--r--nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix15
-rw-r--r--nixpkgs/pkgs/build-support/test-equal-derivation.nix43
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders.nix79
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix63
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders/test/concat-test.nix12
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders/test/references.nix2
-rw-r--r--nixpkgs/pkgs/build-support/upstream-updater/attrset-to-dir.nix19
-rwxr-xr-xnixpkgs/pkgs/build-support/upstream-updater/create-src-info-git.sh24
-rwxr-xr-xnixpkgs/pkgs/build-support/upstream-updater/create-src-info.sh20
-rw-r--r--nixpkgs/pkgs/build-support/upstream-updater/design.txt29
-rw-r--r--nixpkgs/pkgs/build-support/upstream-updater/snippets.sh14
-rw-r--r--nixpkgs/pkgs/build-support/upstream-updater/test-case.nix13
-rwxr-xr-xnixpkgs/pkgs/build-support/upstream-updater/update-upstream-data.sh182
-rw-r--r--nixpkgs/pkgs/build-support/upstream-updater/update-walker-service-specific.sh20
-rwxr-xr-xnixpkgs/pkgs/build-support/upstream-updater/update-walker.sh320
-rw-r--r--nixpkgs/pkgs/build-support/upstream-updater/update-walker.txt118
-rwxr-xr-xnixpkgs/pkgs/common-updater/scripts/update-source-version32
-rw-r--r--nixpkgs/pkgs/common-updater/unstable-updater.nix83
-rw-r--r--nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/behdad-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix31
-rw-r--r--nixpkgs/pkgs/data/fonts/cm-unicode/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/comic-relief/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/cozette/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/crimson/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/encode-sans/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/gandom-fonts/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/gentium/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/hannom/default.nix33
-rw-r--r--nixpkgs/pkgs/data/fonts/ipaexfont/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/ipafont/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/ir-standard-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/iwona/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/julia-mono/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/lalezar-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/montserrat/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/nahid-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/nanum-gothic-coding/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/nika-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/noto-fonts/default.nix85
-rw-r--r--nixpkgs/pkgs/data/fonts/parastoo-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/quattrocento-sans/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/quattrocento/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/sahel-fonts/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/samim-fonts/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/shabnam-fonts/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/sudo/default.nix4
-rwxr-xr-xnixpkgs/pkgs/data/fonts/vazir-fonts/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/victor-mono/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/vista-fonts-chs/default.nix2
-rw-r--r--nixpkgs/pkgs/data/icons/comixcursors/default.nix125
-rw-r--r--nixpkgs/pkgs/data/icons/comixcursors/makefile-shell-var.patch11
-rw-r--r--nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix1
-rw-r--r--nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/luna-icons/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/nordzy-icon-theme/default.nix54
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/phinger-cursors/default.nix28
-rw-r--r--nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix18
-rw-r--r--nixpkgs/pkgs/data/icons/tela-circle-icon-theme/default.nix65
-rw-r--r--nixpkgs/pkgs/data/icons/tela-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/vimix-icon-theme/default.nix27
-rw-r--r--nixpkgs/pkgs/data/misc/adapta-backgrounds/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/cacert/default.nix6
-rw-r--r--nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/freepats/default.nix2
-rw-r--r--nixpkgs/pkgs/data/misc/geolite-legacy/builder.sh20
-rw-r--r--nixpkgs/pkgs/data/misc/geolite-legacy/default.nix53
-rw-r--r--nixpkgs/pkgs/data/misc/hackage/pin.json8
-rw-r--r--nixpkgs/pkgs/data/misc/mime-types/default.nix21
-rw-r--r--nixpkgs/pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/poppler-data/default.nix22
-rw-r--r--nixpkgs/pkgs/data/misc/rime-data/default.nix6
-rw-r--r--nixpkgs/pkgs/data/misc/shared-mime-info/default.nix20
-rw-r--r--nixpkgs/pkgs/data/misc/tzdata/default.nix6
-rw-r--r--nixpkgs/pkgs/data/misc/v2ray-domain-list-community/default.nix6
-rw-r--r--nixpkgs/pkgs/data/misc/v2ray-geoip/default.nix6
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix3
-rw-r--r--nixpkgs/pkgs/data/themes/artim-dark/default.nix35
-rw-r--r--nixpkgs/pkgs/data/themes/cdetheme/default.nix34
-rw-r--r--nixpkgs/pkgs/data/themes/flat-remix-gtk/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix95
-rw-r--r--nixpkgs/pkgs/data/themes/graphite-kde-theme/default.nix41
-rw-r--r--nixpkgs/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix38
-rw-r--r--nixpkgs/pkgs/data/themes/lightly-qt/default.nix42
-rw-r--r--nixpkgs/pkgs/data/themes/marwaita/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/material-kwin-decoration/default.nix7
-rw-r--r--nixpkgs/pkgs/data/themes/mojave/default.nix48
-rw-r--r--nixpkgs/pkgs/data/themes/nordic/default.nix47
-rw-r--r--nixpkgs/pkgs/data/themes/orchis-theme/default.nix9
-rw-r--r--nixpkgs/pkgs/data/themes/pitch-black/default.nix30
-rw-r--r--nixpkgs/pkgs/data/themes/plano/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/sierra/default.nix61
-rw-r--r--nixpkgs/pkgs/data/themes/stilo/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/zuki/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/arcan/xarcan/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/cdesktopenv/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/ecrire/default.nix36
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/efl/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/enlightenment/0001-wrapped-setuid-executables.patch39
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/ephoto/default.nix30
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/evisum/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/rage/default.nix27
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/terminology/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/bindings/libglademm/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/desktop/vte/alt.patch50
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/desktop/vte/change-scroll-region.patch67
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/desktop/vte/default.nix61
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix24
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/gedit/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/gnome-boxes/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/gnome-todo/default.nix23
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/eog/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-contacts/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-session/ctl.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix98
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch15
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/nautilus/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/rygel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome/default.nix199
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/collisions.json16
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix48
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix31
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/extensionOverrides.nix21
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch32
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix20
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/extensions.json221
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch34
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch198
-rw-r--r--nixpkgs/pkgs/desktops/gnome/games/gnome-2048/default.nix54
-rw-r--r--nixpkgs/pkgs/desktops/gnome/games/tali/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/gitg/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/gpaste/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnustep/base/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/gnustep/gworkspace/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch240
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix38
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix52
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix47
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix75
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix27
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/add-wallpaper-option.patch82
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix28
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix22
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix26
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.appcenter.dockitem2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix48
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch21
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix32
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix34
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix26
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/granite/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/srcs.nix424
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/beam-modules/elvis-erlang/default.nix4
-rw-r--r--nixpkgs/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix18
-rw-r--r--nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix33
-rw-r--r--nixpkgs/pkgs/development/beam-modules/mix-release.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/asn1c/default.nix33
-rw-r--r--nixpkgs/pkgs/development/compilers/ats2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/avra/default.nix27
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix17
-rw-r--r--nixpkgs/pkgs/development/compilers/closure/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/crystal/default.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/dictu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/default.nix349
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/elm-json.nix22
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/elm-test-rs.nix17
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/elm.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/default.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/flutter.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch16
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch18
-rw-r--r--nixpkgs/pkgs/development/compilers/fpc/default.upstream6
-rw-r--r--nixpkgs/pkgs/development/compilers/fpc/lazarus.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/fsharp/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/fstar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/gavrasm/default.nix17
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/9/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/gcc/no-sys-dirs-riscv-gcc9.patch17
-rw-r--r--nixpkgs/pkgs/development/compilers/gforth/boot-forth.nix24
-rw-r--r--nixpkgs/pkgs/development/compilers/gforth/default.nix33
-rw-r--r--nixpkgs/pkgs/development/compilers/gforth/swig.nix16
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix11
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/9.0.2.nix (renamed from nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix)29
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix19
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/cabal-paths.patch99
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/head.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/ghcjs/8.10/stage0.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/gleam/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/glslang/default.nix55
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.16.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.17.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.18.nix (renamed from nixpkgs/pkgs/development/compilers/go/1.15.nix)39
-rw-r--r--nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/go/skip-chown-tests-1.16.patch42
-rw-r--r--nixpkgs/pkgs/development/compilers/go/skip-external-network-tests-1.15.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.15.patch76
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/community-edition/hashes.nix66
-rw-r--r--nixpkgs/pkgs/development/compilers/hip/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/idris2/default.nix67
-rw-r--r--nixpkgs/pkgs/development/compilers/idris2/tests.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/inklecate/default.nix71
-rw-r--r--nixpkgs/pkgs/development/compilers/inklecate/deps-darwin.nix31
-rw-r--r--nixpkgs/pkgs/development/compilers/inklecate/deps-linux.nix31
-rw-r--r--nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/jrsonnet/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/jsonnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/julia/1.7-bin.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ligo/default.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/lingua-franca/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/10/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix78
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/10/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix88
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/libcxx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix90
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix60
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch10
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix76
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix78
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/6/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix80
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix80
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/8/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix78
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/libcxx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix60
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/git/llvm/outputs.patch26
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/llvm-config-link-static.patch12
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/outputs.patch16
-rw-r--r--nixpkgs/pkgs/development/compilers/mezzo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/mosml/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/myrddin/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/nextpnr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/open-watcom/v2.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/15.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/openjfx/17.nix106
-rw-r--r--nixpkgs/pkgs/development/compilers/orc/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/passerine/default.nix10
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/default.nix25
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch14
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch33
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix25
-rw-r--r--nixpkgs/pkgs/development/compilers/qbe/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/1_58.nix (renamed from nixpkgs/pkgs/development/compilers/rust/1_57.nix)30
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/clippy.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rustc.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/sbcl/common.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/scala/2.x.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/default.nix123
-rw-r--r--nixpkgs/pkgs/development/compilers/teyjus/default.nix18
-rw-r--r--nixpkgs/pkgs/development/compilers/tinycc/default.nix62
-rw-r--r--nixpkgs/pkgs/development/compilers/tvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/uasm/default.nix50
-rw-r--r--nixpkgs/pkgs/development/compilers/unison/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/default.nix31
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.40.12.patch208
-rw-r--r--nixpkgs/pkgs/development/compilers/vyper/default.nix16
-rw-r--r--nixpkgs/pkgs/development/compilers/xa/xa.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/yasm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/default.nix52
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix7
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/plugins/ghdl.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow-pmgen.patch15
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow.nix106
-rw-r--r--nixpkgs/pkgs/development/compilers/zig/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/zulu/default.nix8
-rw-r--r--nixpkgs/pkgs/development/coq-modules/CoLoR/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/ITree/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/LibHyps/default.nix21
-rw-r--r--nixpkgs/pkgs/development/coq-modules/VST/default.nix11
-rw-r--r--nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/compcert/default.nix10
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-record-update/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coqeal/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/corn/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/deriving/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/equations/default.nix15
-rw-r--r--nixpkgs/pkgs/development/coq-modules/extructures/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/flocq/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/fourcolor/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/gaia-hydras/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/gaia/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/hierarchy-builder/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix14
-rw-r--r--nixpkgs/pkgs/development/coq-modules/interval/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/math-classes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp-abel/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp-analysis/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp-finmap/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp-word/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp-zify/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/coq-modules/multinomials/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/odd-order/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/reglang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/serapi/default.nix25
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/arduino-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix22
-rw-r--r--nixpkgs/pkgs/development/embedded/arduino/ino/default.nix46
-rw-r--r--nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix31
-rw-r--r--nixpkgs/pkgs/development/embedded/fpga/apio/default.nix9
-rw-r--r--nixpkgs/pkgs/development/embedded/gputils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/embedded/rshell/default.nix19
-rw-r--r--nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/embedded/tytools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/gnuradio-modules/grnet/default.nix1
-rw-r--r--nixpkgs/pkgs/development/gnuradio-modules/limesdr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/gnuradio-modules/osmosdr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/go-modules/generic/default.nix20
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix70
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-json/default.nix4
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-ssh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix12
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix3
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-common.nix128
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix24
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix5
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix38
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix67
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml48
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml37
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml308
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml77
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix182
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix9091
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hoogle.nix38
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/lib/default.nix (renamed from nixpkgs/pkgs/development/haskell-modules/lib.nix)2
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/make-package-set.nix57
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix37
-rw-r--r--nixpkgs/pkgs/development/idris-modules/default.nix9
-rw-r--r--nixpkgs/pkgs/development/idris-modules/protobuf.nix25
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/bats/default.nix46
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojure/obb.nix83
-rw-r--r--nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/cyclone/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/dart/default.nix14
-rw-r--r--nixpkgs/pkgs/development/interpreters/duktape/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/elixir/1.13.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/R22.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/R23.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/R24.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/ivy/default.nix24
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/darwin-remove-net-test.patch20
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/default.nix19
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/jpm.nix59
-rw-r--r--nixpkgs/pkgs/development/interpreters/joker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/lolcode/default.nix10
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.10.nix22
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.7.nix58
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.8.nix55
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/0.9.nix37
-rw-r--r--nixpkgs/pkgs/development/interpreters/love/11.nix (renamed from nixpkgs/pkgs/development/interpreters/love/11.1.nix)22
-rw-r--r--nixpkgs/pkgs/development/interpreters/luajit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/lunatic/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/micropython/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/nextflow/default.nix56
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/7.4.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.0.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.1.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix19
-rw-r--r--nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix19
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/default.nix12
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/default.nix45
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix20
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix132
-rwxr-xr-xnixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py36
-rw-r--r--nixpkgs/pkgs/development/interpreters/quickjs/default.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/default.nix44
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch11
-rw-r--r--nixpkgs/pkgs/development/interpreters/racket/minimal.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/zef.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/regina/default.upstream5
-rw-r--r--nixpkgs/pkgs/development/interpreters/renpy/default.nix62
-rw-r--r--nixpkgs/pkgs/development/interpreters/renpy/launcherenv.patch14
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/default.nix87
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/68.nix104
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix13
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/91.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/spidermonkey/add-riscv64-support.patch123
-rw-r--r--nixpkgs/pkgs/development/interpreters/supercollider/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/trealla/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/wasmtime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/yex-lang/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/LAStools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch43
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2_ttf/2.0.15.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2_ttf/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/abseil-cpp/202103.nix (renamed from nixpkgs/pkgs/development/libraries/abseil-cpp/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/libraries/abseil-cpp/202111.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/accountsservice/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/ace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/aften/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/amdvlk/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/apache-activemq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/apr-util/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/aqbanking/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/aqbanking/gwenhywfar.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/arb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/argtable/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/arrayfire/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/assimp/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lilv/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch24
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch31
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix72
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/avro-c++/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/avro-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-c-common/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch58
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-crt-cpp/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/bctoolbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/belcard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/belr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/blitz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/boca/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/boehm-gc/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/generic.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/botan/2.0.upstream10
-rw-r--r--nixpkgs/pkgs/development/libraries/botan/default.upstream9
-rw-r--r--nixpkgs/pkgs/development/libraries/box2d/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/bzrtp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/c-ares/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/c-blosc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/catch2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/celt/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/chromaprint/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/cimg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/codec2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/crc32c/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/crypto++/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/cxxopts/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch18
-rw-r--r--nixpkgs/pkgs/development/libraries/db/generic.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/dbus-cplusplus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/double-conversion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dqlite/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/duckdb/default.nix42
-rw-r--r--nixpkgs/pkgs/development/libraries/duckdb/version.patch51
-rw-r--r--nixpkgs/pkgs/development/libraries/dyncall/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/easyloggingpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/eccodes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/eigen/default.upstream4
-rw-r--r--nixpkgs/pkgs/development/libraries/elfio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/elpa/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/embree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/enchant/2.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/exiv2/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/expat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/faad2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/farstream/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/fcft/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fcgi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch27
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/5.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/ffms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fftw/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/flann/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/flatpak/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/flint/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/folks/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/folly/default.nix35
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/fplll/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/freenect/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/freetds/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/freetype/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fribidi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/funambol/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gbenchmark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/2.4.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gettext/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/giblib/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/git2/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/givaro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gjs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/glew/default.nix71
-rw-r--r--nixpkgs/pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/glib/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/2.33-master.patch.gzbin65714 -> 147266 bytes
-rw-r--r--nixpkgs/pkgs/development/libraries/glibc/common.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/globalarrays/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/gmp/5.1.x.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch19
-rw-r--r--nixpkgs/pkgs/development/libraries/gmp/6.x.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gnome-sharp/default.nix45
-rw-r--r--nixpkgs/pkgs/development/libraries/gnome-sharp/fix-mono-path.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/gnutls/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/goffice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/grib-api/default.nix71
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/gsl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix67
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch17
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/devtools/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gthree/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-sharp/2.0.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/3.x.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/4.x.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gupnp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/hidapi/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/highfive/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/hunspell/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/idnkit/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/igraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/imath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/imgui/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/iml/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/imlib2/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/iso-codes/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/jabcode/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/io/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/jcal/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/jitterentropy/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/judy/cross.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/judy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/kdb/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch8
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh27
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch2
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch4
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/sonnet.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--nixpkgs/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch28
-rw-r--r--nixpkgs/pkgs/development/libraries/kerberos/krb5.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/keybinder/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ldutils/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lensfun/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/lib3ds/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libLAS/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libadwaita/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/libamqpcpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libbaseencode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcamera/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libcangjie/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libcdaudio/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libcdio-paranoia/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libcdio/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libcec/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libcec/platform.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libcef/default.nix18
-rwxr-xr-xnixpkgs/pkgs/development/libraries/libcef/update.sh27
-rw-r--r--nixpkgs/pkgs/development/libraries/libcello/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libchop/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libcommuni/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcotp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcrafter/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libcryptui/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch (renamed from nixpkgs/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch)2
-rw-r--r--nixpkgs/pkgs/development/libraries/libcyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/libdeltachat/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libdnet/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libdv/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libdvdnav/4.2.1.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libdvdread/4.9.9.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libdwg/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libedit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libee/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libepoxy/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/libesmtp/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libextractor/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libf2c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfabric/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libffi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libfido2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint-tod/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgbinder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libgcrypt/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/libgda/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgit2/default.nix58
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/default.nix86
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch60
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch19
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch359
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch76
-rw-r--r--nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch40
-rw-r--r--nixpkgs/pkgs/development/libraries/libglvnd/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpod/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libgroove/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/libgsf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgtop/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libguestfs/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/libhandy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libhttpseverywhere/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libhwy/default.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/libical/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libimagequant/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libindicator/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libinput/default.nix110
-rw-r--r--nixpkgs/pkgs/development/libraries/libite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libjcat/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libjpeg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libjxl/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/libksba/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libliftoff/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/liblogging/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/liblognorm/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libmikmod/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libmms/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libmodbus/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libmodulemd/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libnatpmp/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libnats-c/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libndp/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libnice/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libnxml/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/liboil/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/liboop/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libosmium/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libotr/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libpinyin/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/libpipeline/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libplacebo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libplctag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libpng/12.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libportal/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libproxy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libpseudo/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libptytty/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/raptor.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/rasqal.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/librdf/redland.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libre/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/libredwg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/librem/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/librep/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libressl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/librest/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/libroxml/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/librsvg/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/librtlsdr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libscrypt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libseccomp/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/libserdes/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/libshout/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libshumate/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/libsigcxx/1.2.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libsigsegv/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libsoup/3.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libspf2/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libspng/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libstemmer/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libsurvive/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/libtasn1/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/libthai/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libthreadar/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libtiff/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libtiger/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libtins/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libudfread/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libunibreak/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/liburing/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/libusbgx/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libuv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libviper/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libvirt/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/libvncserver/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libwpd/0.8.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libwpd/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libwpe/fdo.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxdg-basedir/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libxls/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libxslt/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libyaml-cpp/0.3.0.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libyang/default.nix61
-rw-r--r--nixpkgs/pkgs/development/libraries/libzim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libzmf/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/linbox/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/liquidfun/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/lirc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/live555/default.nix44
-rw-r--r--nixpkgs/pkgs/development/libraries/log4cplus/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/loudmouth/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/lzlib/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/mapbox-gl-qml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mauikit-filebrowsing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mauikit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mbedtls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mdds/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mdds/default.upstream10
-rw-r--r--nixpkgs/pkgs/development/libraries/menu-cache/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/minizip/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/mlt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mm-common/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mpich/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/mpir/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/mysocketw/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/mythes/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/nanoflann/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ncnn/cmakelists.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/ncnn/default.nix50
-rw-r--r--nixpkgs/pkgs/development/libraries/ncnn/gpu-include.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/nco/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ncurses/default.nix64
-rw-r--r--nixpkgs/pkgs/development/libraries/ndpi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/neardal/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/neon/0.29.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/neon/darwin-fix-configure.patch (renamed from nixpkgs/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/neon/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/nghttp3/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/ngtcp2/default.nix19
-rw-r--r--nixpkgs/pkgs/development/libraries/notcurses/default.nix58
-rw-r--r--nixpkgs/pkgs/development/libraries/npth/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/nspr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nss/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nsync/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/ntrack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nv-codec-headers/11_x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nvidia-vaapi-driver/default.nix50
-rw-r--r--nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/olm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opae/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/openal-soft/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/openbabel/2.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opencl-headers/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/4.x.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/opendbx/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/opendht/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/openexr/3.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/openexr/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/openfec/default.nix40
-rw-r--r--nixpkgs/pkgs/development/libraries/openh264/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/openslp/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/openssl/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/osip/default.upstream3
-rw-r--r--nixpkgs/pkgs/development/libraries/p11-kit/default.nix55
-rw-r--r--nixpkgs/pkgs/development/libraries/pango/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pangomm/2.48.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pangomm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pangoxsl/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/pcmsolver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pcre/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/phash/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/apfel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/pico-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/default.nix57
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/media-session.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/wireplumber.nix83
-rw-r--r--nixpkgs/pkgs/development/libraries/pkcs11helper/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pocketsphinx/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/poco/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/polkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/poppler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/portmidi/default.nix63
-rw-r--r--nixpkgs/pkgs/development/libraries/portmidi/missing-header.diff12
-rw-r--r--nixpkgs/pkgs/development/libraries/portmidi/remove-darwin-variables.diff52
-rw-r--r--nixpkgs/pkgs/development/libraries/precice/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/proj/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.16.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.18.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.19.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/protolock/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/protozero/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/ptex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/pth/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/pugixml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qcoro/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qrcodegen/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/qscintilla-qt4/default.nix67
-rw-r--r--nixpkgs/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch (renamed from nixpkgs/pkgs/development/libraries/qscintilla/fix-qt4-build.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/qscintilla/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix39
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/qtModule.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/quickder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/quictls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/qwt/6.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/rabbitmq-java-client/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/re2/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/5.x.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/6.2.nix63
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/6.3.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/clang.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/no-arch_only.patch14
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/readline-6.2-patches.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/readline/shobj-darwin.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/resolv_wrapper/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/retro-gtk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/rinutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/rlog/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/rocksdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rure/Cargo.lock49
-rw-r--r--nixpkgs/pkgs/development/libraries/rure/default.nix41
-rw-r--r--nixpkgs/pkgs/development/libraries/rure/pin.json5
-rwxr-xr-xnixpkgs/pkgs/development/libraries/rure/update.sh51
-rw-r--r--nixpkgs/pkgs/development/libraries/s2n-tls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/safefile/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/science/astronomy/indilib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix85
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/lcalc/default.nix92
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch113
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libhomfly/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/metis/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/primecount/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/scs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/trilinos/default.nix100
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/seasocks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sentry-native/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/shapelib/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/shhmsg/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/simgear/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/smarty3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/smooth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/smpeg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/snack/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/soci/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/sofia-sip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/sope/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/spandsp/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/sparsehash/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/speechd/default.nix80
-rw-r--r--nixpkgs/pkgs/development/libraries/speechd/fix-mbrola-paths.patch21
-rw-r--r--nixpkgs/pkgs/development/libraries/speex/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/sphinxbase/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/spice-gtk/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/spice-protocol/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/spice/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/spirv-headers/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlcipher/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/sqlite/tools.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/srt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/stfl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/swiften/build-fix.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/swiften/default.nix72
-rw-r--r--nixpkgs/pkgs/development/libraries/symengine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tbb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tdlib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/thrift/0.10.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/thrift/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tiledb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker-miners/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/ucx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/umockdev/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/unicorn/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/uriparser/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/5_x.nix199
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/8_x.nix169
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/default.nix110
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/gcc_arm.patch31
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/libv8-5.4.232.patch97
-rwxr-xr-xnixpkgs/pkgs/development/libraries/v8/update.sh49
-rw-r--r--nixpkgs/pkgs/development/libraries/vigra/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/volk/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/wayland/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/waylandpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/webrtc-audio-processing/0.3.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/webrtc-audio-processing/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/websocket++/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/wlroots/0.14.nix (renamed from nixpkgs/pkgs/development/libraries/wlroots/default.nix)4
-rw-r--r--nixpkgs/pkgs/development/libraries/wlroots/0.15.nix (renamed from nixpkgs/pkgs/development/libraries/wlroots/0.12.nix)41
-rw-r--r--nixpkgs/pkgs/development/libraries/wolfssl/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/0001-fix-assertion-using-hide-in-destroy.patch43
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix121
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix151
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix157
-rw-r--r--nixpkgs/pkgs/development/libraries/wxwidgets/3.0/mac.nix98
-rw-r--r--nixpkgs/pkgs/development/libraries/x264/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/x265/default.nix167
-rw-r--r--nixpkgs/pkgs/development/libraries/xalanc/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/xapian/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/xbase/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xed/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/xgboost/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xine-lib/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/xml-security-c/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/xmlsec/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/xxHash/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/zeitgeist/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/zlib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/zxing-cpp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/asdf/2.26.nix3
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/asdf/3.1.nix3
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/asdf/default.nix3
-rwxr-xr-xnixpkgs/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh6
-rwxr-xr-xnixpkgs/pkgs/development/lisp-modules/from-quicklisp/urls-from-page.sh (renamed from nixpkgs/pkgs/build-support/upstream-updater/urls-from-page.sh)2
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mustache.nix26
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/float-features.nix30
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-binary.nix37
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quasiquote-2_dot_0.nix31
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt3
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix47
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp5
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/README.md6
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/default.nix19
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/dotf.patch13
-rwxr-xr-xnixpkgs/pkgs/development/misc/google-clasp/generate.sh9
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/node-packages.json3
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/node-packages.nix2115
-rw-r--r--nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix2
-rw-r--r--nixpkgs/pkgs/development/misc/resholve/oildev.nix5
-rw-r--r--nixpkgs/pkgs/development/misc/resholve/resholve.nix14
-rw-r--r--nixpkgs/pkgs/development/misc/resholve/source.nix4
-rw-r--r--nixpkgs/pkgs/development/mobile/abootimg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/nim-packages/build-nim-package/default.nix3
-rw-r--r--nixpkgs/pkgs/development/nim-packages/bumpy/default.nix23
-rw-r--r--nixpkgs/pkgs/development/nim-packages/flatty/default.nix21
-rw-r--r--nixpkgs/pkgs/development/nim-packages/jsonschema/default.nix26
-rw-r--r--nixpkgs/pkgs/development/nim-packages/jsony/default.nix22
-rw-r--r--nixpkgs/pkgs/development/nim-packages/karax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/nim-packages/nim_builder/nim_builder.nim2
-rw-r--r--nixpkgs/pkgs/development/nim-packages/pixie/default.nix26
-rw-r--r--nixpkgs/pkgs/development/nim-packages/redpool/default.nix4
-rw-r--r--nixpkgs/pkgs/development/nim-packages/typography/default.nix7
-rw-r--r--nixpkgs/pkgs/development/nim-packages/vmath/default.nix23
-rw-r--r--nixpkgs/pkgs/development/nim-packages/zippy/default.nix23
-rw-r--r--nixpkgs/pkgs/development/node-packages/default.nix73
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages.json52
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages.nix29890
-rw-r--r--nixpkgs/pkgs/development/node-packages/package-tests/tailwindcss.nix47
-rw-r--r--nixpkgs/pkgs/development/node-packages/thelounge-packages-path.patch15
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/apron/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/arp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/astring/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bap/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/benchmark/default.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bigarray-compat/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bls12-381/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bls12-381/gen.nix11
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bls12-381/legacy.nix38
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bls12-381/unix.nix40
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/bos/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ca-certs/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cairo2/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/crowbar/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/crowbar/pprint.patch22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dbf/default.nix28
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/dum/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/elina/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/erm_xmpp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ethernet/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/expat/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/farfadet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/fix/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/functory/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/gtktop/default.nix29
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/hacl-star/raw.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/index/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/inotify/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/janestreet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgtk-extras/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lustre-v6/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/luv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt_react/default.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mirage-nat/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/notty/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/num/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix11
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/paf/cohttp.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/paf/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/parmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/piqi-ocaml/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/piqi/default.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix42
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_import/default.nix33
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix29
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/printbox/text.nix14
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/process/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/progress/default.nix17
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/pycaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/repr/default.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/repr/ppx.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/rope/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/sosa/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/stdcompat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix13
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/terminal/default.nix30
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix35
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/base-test-helpers.nix32
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix44
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix25
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix21
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-alpha.nix21
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix21
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix21
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/proxy.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix32
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/shell.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/test-helpers.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix24
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/torch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/vector/default.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/wasm/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/webbrowser/default.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/xml-light/default.nix17
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/z3/default.nix15
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/z3/ocamlfind.patch13
-rw-r--r--nixpkgs/pkgs/development/octave-modules/miscellaneous/default.nix2
-rw-r--r--nixpkgs/pkgs/development/octave-modules/symbolic/default.nix33
-rw-r--r--nixpkgs/pkgs/development/perl-modules/generic/default.nix72
-rw-r--r--nixpkgs/pkgs/development/php-packages/composer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/ds/default.nix19
-rw-r--r--nixpkgs/pkgs/development/php-packages/igbinary/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/imagick/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/maxminddb/default.nix5
-rw-r--r--nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/phpstan/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/psysh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/rdkafka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/swoole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/php-packages/xdebug/default.nix4
-rw-r--r--nixpkgs/pkgs/development/pure-modules/audio/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/avahi/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/csv/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/doc/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/faust/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/ffi/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gen/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/glpk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gplot/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gsl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gtk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/liblo/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/lilv/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/lv2/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/midi/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/mpfr/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/octave/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/odbc/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/pandoc/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/rational/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/readline/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/sockets/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/sql3/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/stldict/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/stllib/default.nix3
-rw-r--r--nixpkgs/pkgs/development/pure-modules/tk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/pure-modules/xml/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/APScheduler/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/GitPython/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/Markups/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/Pygments/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/absl-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adal/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/adax-local/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/adb-shell/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/adguardhome/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/adjusttext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/advantage-air/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/afdko/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/afsapi/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioapns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioaseko/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioazuredevops/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioconsole/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocurrencylayer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioftp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiogithubapi/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioharmony/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-apispec/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-apispec/unstable.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-wsgi/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohue/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohwenergy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioitertools/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiolookin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aionanoleaf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiooncue/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiopvpc/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiopyarr/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioredis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioresponses/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioridwell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorun/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosenseme/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioshelly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosignal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosteamist/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounifi/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/aladdin-connect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/algebraic-data-types/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/alot/default.nix71
-rw-r--r--nixpkgs/pkgs/development/python-modules/altair/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/amaranth-boards/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/amaranth-soc/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/amaranth/default.nix (renamed from nixpkgs/pkgs/development/python-modules/nmigen/default.nix)22
-rw-r--r--nixpkgs/pkgs/development/python-modules/amcrest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/amqp/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/amqtt/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/androidtv/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/angrcli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/angrop/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/annexremote/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/anonip/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-kernel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/core.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansimarkup/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/anyjson/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-beam/default.nix154
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-beam/fix-cython.patch41
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-beam/relax-deps.patch20
-rw-r--r--nixpkgs/pkgs/development/python-modules/apipkg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apispec/3.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/apprise/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/approvaltests/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/apptools/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/apsw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apycula/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aresponses/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/argcomplete/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/arviz/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/asdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asgineer/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/aspell-python/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/asterisk-mbox/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/asteval/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroquery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/async_generator/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/async_timeout/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncio_mqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncpg/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncssh/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/asysocks/default.nix18
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/atpublic/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/attrdict/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/attrs/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/augmax/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/aurorapy/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/autarco/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/auth0-python/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/autopage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awscrt/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-batch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/backports-entry-points-selectable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bandit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/base58check/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/basemap/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/bbox/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/beancount/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/beartype/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/billiard/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bip_utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitcoin-utils-fork-minimal/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitcoinrpc/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/bleak/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/blis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/blist/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/block-io/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/blocksat-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bme280spi/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/boltons/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/bond-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boxx/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/bpycv/bpycv-test.py76
-rw-r--r--nixpkgs/pkgs/development/python-modules/bpycv/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/braintree/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/breathe/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/brotli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bsblan/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugsnag/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/build/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cachelib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cachetools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cairocffi/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/cairocffi/generic.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/can/default.nix80
-rw-r--r--nixpkgs/pkgs/development/python-modules/canmatrix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/canopen/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/capstone/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/carrot/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/cart/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cartopy/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/case/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/catalogue/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/cattrs/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/cchardet/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/cdcs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/celery/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/censys/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cepa/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/cffsubr/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfn-flip/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/cftime/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/chainer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chalice/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/chart-studio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cheroot/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/cherrypy/default.nix106
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiabip158/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiapos/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch12
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiavdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chirpstack-api/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/chispa/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/circuit-webhook/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-google/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/cjson/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-completion/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-configfile/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cliff/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/clint/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/clize/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudflare/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmarkgfm/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/co2signal/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/cocotb-bus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cocotb/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/cogapp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/commentjson/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/commoncode/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/compreffor/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/configargparse/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/configparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/configshell/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/confuse/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/connexion/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/consonance/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/construct/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/contextlib2/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/coqpit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cornice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cot/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/coverage/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/cozy/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/croniter/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/crownstone-uart/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/css-parser/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/cssutils/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/csvw/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cwcwidth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/dacite/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-ml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/databases/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/datadog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datafusion/Cargo.lock.patch78
-rw-r--r--nixpkgs/pkgs/development/python-modules/datafusion/default.nix90
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataset/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasette/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/datashader/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbutils/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/deap/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/debian/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/debtcollector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/debugpy/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/decli/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/decopatch/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/decorator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deemix/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/deep-translator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deezer-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deezer-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/demjson/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/dendropy/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/denonavr/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/deprecation/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/devtools/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/diagrams/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/diceware/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dict2xml/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/dictdiffer/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/diff-cover/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/diofant/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/discogs-client/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/discovery30303/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/diskcache/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/distlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-allauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-anymail/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-extensions/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-maintenance-mode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-redis/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-taggit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-timezone-field/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-widget-tweaks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/2.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/3.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/4.nix107
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/django_4_set_geos_gdal_lib.patch26
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_classytags/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_guardian/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_reversion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/djangoql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/dm-sonnet/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/dnslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dnspython/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/doc8/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/doit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dragonfly/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/drf-jwt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/drms/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/dropbox/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/dsinternals/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/duckdb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dufte/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/dulwich/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/dwdwfsapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eebrightbox/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/einops/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/eiswarnung/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elegy/default.nix78
-rw-r--r--nixpkgs/pkgs/development/python-modules/elgato/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/empty-files/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/emv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/enaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/enamlx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/enlighten/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/enrich/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/entrypoint2/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/enturclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/env-canada/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/environs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/envisage/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/envoy-reader/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/ephem/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eth-typing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eth-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ev3dev2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/eventlet/default.nix72
-rw-r--r--nixpkgs/pkgs/development/python-modules/exchangelib/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/faker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fakeredis/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastapi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastavro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastjsonschema/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastnumbers/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/feedparser/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/ffcv/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/file-read-backwards/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/filebrowser_safe/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/filetype/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/findimports/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/fiona/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fixtures/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/flake8-bugbear/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/flake8-docstrings/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/flake8-length/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flashtext/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-admin/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-gravatar/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-login/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-paranoid/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix76
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/flatten-dict/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/flax/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/flexmock/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/flit-core/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/flit/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/flufl/i18n.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/flufl/lock.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/flux-led/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/folium/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/fontparts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/formbox/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/fountains/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/fpylll/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/frozendict/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/ftputil/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/funcsigs/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/furo/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/gamble/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/gaphas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/garages-amsterdam/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/garminconnect-aio/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/garminconnect/default.nix (renamed from nixpkgs/pkgs/development/python-modules/garminconnect-ha/default.nix)22
-rw-r--r--nixpkgs/pkgs/development/python-modules/gast/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcsfs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gdown/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gdtoolkit/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/gehomesdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/genanki/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geniushub-client/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geometric/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-generic-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-wa-dfes-client/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/getmac/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/gevent-socketio/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/gevent/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/geventhttpclient/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/gigalixir/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/gipc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/git-revise/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/glances-api/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/glasgow/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/glcontext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glean-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glean-sdk/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/glean-sdk/fix-spawned-process-environment.patch20
-rw-r--r--nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/glom/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/gmpy2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/goodwe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-api-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-nest-sdm/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-re2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/googlemaps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gphoto2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpxpy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/gql/default.nix77
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradient/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/grandalf/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/graph-tool/default.nix (renamed from nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/grapheme/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphene/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphql-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/greeclimate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/green/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/groestlcoin_hash/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/growattserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gruut/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/gssapi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/gst-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gvm-tools/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/gym/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/h2/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/h5py/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/ha-av/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/habanero/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/hahomematic/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/halohome/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/hangups/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/hap-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdlparse/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/heatzypy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/hiredis/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/holidays/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/homematicip/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/html-sanitizer/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/html5lib/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpagentparser/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpbin/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpcore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httplib2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/huey/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/humanfriendly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hwi/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/hydra/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/hypercorn/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/hyperion-py/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/hypothesis/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/hypothesmith/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/i-pi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/i2csense/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix141
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/icecream/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/icmplib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ics/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/idasen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/identify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ignite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/igraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix72
-rw-r--r--nixpkgs/pkgs/development/python-modules/ilua/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/imap-tools/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/img2pdf/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/iminuit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/importlab/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/inflect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/inquirer/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/installer/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/intensity-normalization/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/internetarchive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipaddr/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipwhl/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipympl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/7.16.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/default.nix70
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/irc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/irctokens/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iso4217/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/iso8601/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/isort/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/itemdb/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/janus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco_functools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jax/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/jc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jdatetime/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jedi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jellyfish/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/jira/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jmp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/johnnycanencrypt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/josepy/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/jpylyzer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsmin/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-tricks/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonlines/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonschema/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-server-mathjax/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-pygments/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupytext/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/kaldi-active-grammar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/kaptan/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyring/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/kombu/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/labelbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/labmath/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/lark/default.nix (renamed from nixpkgs/pkgs/development/python-modules/lark-parser/default.nix)13
-rw-r--r--nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lektor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/levenshtein/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libagent/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/librosa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libtmux/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/libusb1/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libvirt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lightgbm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lightwave/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/lightwave2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/limiter/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/limits/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/limnoria/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/liquidctl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/llvmlite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/logfury/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/loguru/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/loo-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/luddite/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/luftdaten/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lupupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/luxtronik/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lxml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lz4/default.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/mailchecker/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/makefun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/manimpango/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/markdown/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/markups/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/marshmallow-dataclass/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mat2/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/mat2/fix_poppler.patch14
-rw-r--r--nixpkgs/pkgs/development/python-modules/mat2/paths.patch24
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib-inline/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/matrix-common/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/mattermostdriver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mautrix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mayavi/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/mcstatus/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/md-toc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/md2gemini/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/memcached/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/meross-iot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/metakernel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/metar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mezzanine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/micloud/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mill-local/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/minexr/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/miniaudio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/minikerberos/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/mistletoe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mistune/common.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mistune/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitogen/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/mizani/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs/default.nix (renamed from nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix)57
-rw-r--r--nixpkgs/pkgs/development/python-modules/mlflow/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/mlxtend/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mocket/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mongomock/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/monty/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moonraker-api/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/motionblinds/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moto/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpd2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpi4py/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msoffcrypto-tool/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/multiset/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mutmut/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/nameparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/napalm/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/nats-py/default.nix (renamed from nixpkgs/pkgs/development/python-modules/asyncio-nats-client/default.nix)30
-rw-r--r--nixpkgs/pkgs/development/python-modules/natsort/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbclassic/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbclient/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ncclient/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/nengo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/net2grid/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/netdata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/netio/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/netmiko/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/newversion/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/nexia/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/nibabel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nkdfu/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/nltk/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/nmapthon2/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/nmigen-soc/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose2/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/numba/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/numexpr/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpy/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/nunavut/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nvchecker/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauthlib/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/objax/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/oci/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/od/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/olefile/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/oletools/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/omnikinverter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/online-judge-api-client/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/online-judge-api-client/fix-paths.patch39
-rw-r--r--nixpkgs/pkgs/development/python-modules/online-judge-tools/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/onnx/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/onvif-zeep-async/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/oocsi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/openevsewifi/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/opensimplex/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/optax/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/orjson/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/orm/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/ormar/default.nix72
-rw-r--r--nixpkgs/pkgs/development/python-modules/osc-lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oscrypto/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-config/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-log/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-serialization/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/osqp/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/ovoenergy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/oyaml/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/p1monitor/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pa-ringbuffer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/packaging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pamqp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/panflute/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/papermill/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/papis/default.nix121
-rw-r--r--nixpkgs/pkgs/development/python-modules/paramiko/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/parfive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parso/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsy/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/patrowl4py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/pebble/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pecan/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/pelican/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pep257/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pep517/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/perfplot/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pg8000/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonemizer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonopy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pi1wire/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/pijuice/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/pijuice/patch-shebang.diff9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pikepdf/paths.patch34
-rw-r--r--nixpkgs/pkgs/development/python-modules/pillow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/pipx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pivy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pixelmatch/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/pkuseg/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/platformdirs/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plumbum/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/poetry/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pontos/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pony/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/portalocker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/portend/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/portpicker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ppscore/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/prance/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/prettytable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/primecountpy/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/privacyidea-ldap-proxy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/progressbar2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/protego/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/proton-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pscript/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/psutil/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/psycopg2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/psygnal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pubnub/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pudb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pulsectl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/puremagic/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pvo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-nightscout/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-synologydsm-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-tes/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/py_scrypt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyamg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyarrow/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyasn/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyathena/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatmo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatv/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyaussiebb/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybind11/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybotvac/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycallgraph/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycm/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycocotools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycognito/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycoin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycountry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycritty/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydaikin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydal/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydash/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydeconz/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydelijn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydevccu/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydmd/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydot/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydrive2/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydub/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyeapi/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyebus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyeconet/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyeight/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyenvisalink/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyerfa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyexcel-io/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyexcel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyezviz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyface/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfcm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfftw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygal/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygeos/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygit2/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhamcrest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhiveapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhocon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhumps/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyisy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjwt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykeyatome/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylaunches/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint-django/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylsp-mypy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylxd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymatgen/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymavlink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymazda/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymc3/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix77
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymelcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymongo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymsteams/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymunk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymysensors/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynacl/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynetbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynetgear/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynina/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynndescent/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynuki/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynut2/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyomo/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopencl/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopengl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyowm/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyownet/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyparsing/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypck/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyphen/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypinyin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypoint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypugjs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypytools/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt-builder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt/sip.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyquaternion/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyquil/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqvrpro/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyradios/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrmvtransport/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyro4/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrogram/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysatochip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysdl2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyshp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysiaalarm/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysimplegui/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyskyqremote/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysml/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysnooper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspnego/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysptk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytenable/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-arraydiff/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-celery/no-celery.patch9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-check/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-click/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-django/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-logdog/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-order/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-pythonpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-snapshot/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-subprocess/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-timeout/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest/5.nix95
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-benedict/default.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-daemon/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-fsutil/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-heatclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-http-client/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-i18n/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ironicclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-izone/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-kasa/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-keycloak/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-louvain/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-black/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-magic/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-miio/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-multipart/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-nest/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-openstackclient/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-snap7/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-socks/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-songpal/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-utils/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythondialog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythonfinder/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytibber/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytile/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch/bin.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch/binary-hashes.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytradfri/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytrends/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyutilib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvera/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvesync/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvicare/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvlx/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywayland/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywbem/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyweatherflowrest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywemo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywilight/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywizlight/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywlroots/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyyaml/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcengine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiling/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-aqua/default.nix185
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-finance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-ignis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-optimization/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/qscintilla-qt4/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/qscintilla/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/qt5reactor/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtpy/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/quamash/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/quandl/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/quantities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qutip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/railroad-diagrams/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/rdflib/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/readchar/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/redis/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/remarshal/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/renault-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/reolink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/repeated_test/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/repoze_who/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-cache/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-file/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-kerberos/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/requirements-parser/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/resolvelib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/responses/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/respx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/restfly/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/restview/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/retworkx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rfc3986/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/rflink/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/rich/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rki-covid-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rlp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/roboschool/default.nix79
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotstatuschecker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rokuecp/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/rollbar/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/roombapy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/roonapi/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpi-bad-power/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpyc/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/rtmidi-python/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/rtoml/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/rtsp-to-webrtc/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rxv/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3transfer/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/sagemaker/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/sapi-python-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sarge/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/sasmodels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/schema-salad/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/schema/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/schiene/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-tda/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikits-odes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scmrepo/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/scp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scrapy/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/seatconnect/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/secp256k1/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/secretstorage/2.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/semver/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/sendgrid/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sense-energy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentinels/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/setupmeta/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-scm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sfepy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sgmllib3k/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/shodan/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/shtab/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/sigrok/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/sigrok/python-install.patch16
-rw-r--r--nixpkgs/pkgs/development/python-modules/sigtools/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/simpleeval/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplefix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/siosocks/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sip/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/skein/skeinjar.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/skein/skeinrepo.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/smmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/socketio-client/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/soco/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/softlayer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/somajo/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/sopel/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sorl_thumbnail/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sounddevice/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy-loggers/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/speaklater3/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-copybutton/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-jinja/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spyder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spyse-python/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-continuum/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlitedict/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlmap/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlobject/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/srpenergy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sshtunnel/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/sslyze/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/starlette/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticjinja/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/include1
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/index1
-rw-r--r--nixpkgs/pkgs/development/python-modules/statmake/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/statsmodels/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/strenum/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/strictyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stripe/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/striprtf/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/structlog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stumpy/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/stups-pierone/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/subunit/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sumo/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/sunpy/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/surepy/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/svdtools/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/svglib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/swift/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/swspotify/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/sybil/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/symengine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/syslog-rfc5424-formatter/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/systembridge/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tables/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/tablib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tailscale/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tappy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tatsu/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/teamcity-messages/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/temescal/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/tempest/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/tempora/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-datasets/corruptions.patch22
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-datasets/default.nix141
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-metadata/build.patch24
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-metadata/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorly/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/terminaltables/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tern/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/test-tube/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/testfixtures/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/testpath/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/testtools/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/textacy/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/textfsm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/textile/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/tgcrypto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/thespian/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/thinc/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/tifffile/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/tiledb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/time-machine/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/timetagger/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/tinydb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/titlecase/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/tmb/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tomli-w/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/tomli/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/tomlkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchinfo/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchvision/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tornado/4.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tqdm/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/traits/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/transip/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/transitions/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/translatepy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/treeo/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/treex/default.nix77
-rw-r--r--nixpkgs/pkgs/development/python-modules/treq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trio-asyncio/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/trio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ttls/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/ttp/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/tumpa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tweepy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twinkly-client/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/twitterapi/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/txtorcon/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/txzmq/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/typeguard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-dateutil/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-decorator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-freezegun/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-futures/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-pytz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-requests/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-tabulate/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-toml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/typesystem/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/typical/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/typical/use-poetry-core.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/tzdata/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/uamqp/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch126
-rw-r--r--nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/ujson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/umap-learn/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/uncertainties/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/unittest2/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/upb-lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uproot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uritemplate/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/url-normalize/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/urlextract/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/urllib3/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/userpath/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/uvicorn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vega/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/versionfinder/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/versiontag/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/vertica-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vine/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtual-display/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vispy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vivisect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vt-py/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/waitress-django/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/waitress-django/setup.py2
-rw-r--r--nixpkgs/pkgs/development/python-modules/wandb/default.nix140
-rw-r--r--nixpkgs/pkgs/development/python-modules/warcio/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/warlock/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/warrant-lite/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/wasmer/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/watermark/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/wavedrom/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/wazeroutecalculator/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/weasyprint/default.nix66
-rw-r--r--nixpkgs/pkgs/development/python-modules/weasyprint/library-paths.patch15
-rw-r--r--nixpkgs/pkgs/development/python-modules/webargs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/weboob/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/websocket-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/websockets/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/webtest/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/weconnect/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/werkzeug/1.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/wheel/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/whodap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/whois/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/wled/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/woob/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/woob/no-test-requiring-network.patch54
-rw-r--r--nixpkgs/pkgs/development/python-modules/wrapt/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/wrf-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wsdiscovery/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/wsgi-intercept/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/wtforms/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/wxPython/4.1.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/xarray/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xlib/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yacs/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/yalexs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamale/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yangson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yapf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yaspin/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/yeelight/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yowsup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zcs/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeep/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zetup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-zigate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zimports/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/zipp/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-hookable/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/zstandard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zstd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python2-modules/Pygments/default.nix (renamed from nixpkgs/pkgs/development/python-modules/Pygments/2_5.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/TurboCheetah/default.nix (renamed from nixpkgs/pkgs/development/python-modules/TurboCheetah/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/bootstrapped-pip/default.nix (renamed from nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/boto3/default.nix (renamed from nixpkgs/pkgs/development/python-modules/boto3/1_17.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/botocore/default.nix (renamed from nixpkgs/pkgs/development/python-modules/botocore/1_20.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/certifi/default.nix (renamed from nixpkgs/pkgs/development/python-modules/certifi/python2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/chardet/default.nix (renamed from nixpkgs/pkgs/development/python-modules/chardet/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/cheetah/default.nix (renamed from nixpkgs/pkgs/development/python-modules/cheetah/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/click/default.nix (renamed from nixpkgs/pkgs/development/python-modules/click/7.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/configparser/default.nix (renamed from nixpkgs/pkgs/development/python-modules/configparser/4.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/construct/default.nix (renamed from nixpkgs/pkgs/development/python-modules/construct/2.10.54.nix)5
-rw-r--r--nixpkgs/pkgs/development/python2-modules/contextlib2/default.nix (renamed from nixpkgs/pkgs/development/python-modules/contextlib2/0.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/coverage/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python2-modules/cryptography-vectors/default.nix (renamed from nixpkgs/pkgs/development/python-modules/cryptography/vectors-3.3.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/cryptography/default.nix (renamed from nixpkgs/pkgs/development/python-modules/cryptography/3.3.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/decorator/default.nix (renamed from nixpkgs/pkgs/development/python-modules/decorator/4.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/enum/default.nix (renamed from nixpkgs/pkgs/development/python-modules/enum/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/filelock/default.nix (renamed from nixpkgs/pkgs/development/python-modules/filelock/3.2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/flask/default.nix (renamed from nixpkgs/pkgs/development/python-modules/flask/1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/freezegun/default.nix (renamed from nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/futures/default.nix (renamed from nixpkgs/pkgs/development/python-modules/futures/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/google-apputils/default.nix (renamed from nixpkgs/pkgs/development/python-modules/google-apputils/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/httpretty/default.nix (renamed from nixpkgs/pkgs/development/python-modules/httpretty/0.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/hypothesis/default.nix (renamed from nixpkgs/pkgs/development/python-modules/hypothesis/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/idna/default.nix (renamed from nixpkgs/pkgs/development/python-modules/idna/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/importlib-metadata/default.nix (renamed from nixpkgs/pkgs/development/python-modules/importlib-metadata/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/ipaddr/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python2-modules/itsdangerous/default.nix (renamed from nixpkgs/pkgs/development/python-modules/itsdangerous/1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/jinja2/default.nix (renamed from nixpkgs/pkgs/development/python-modules/jinja2/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/libcloud/default.nix (renamed from nixpkgs/pkgs/development/python-modules/libcloud/2.nix)2
-rw-r--r--nixpkgs/pkgs/development/python2-modules/lpod/default.nix (renamed from nixpkgs/pkgs/development/python-modules/lpod/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/marisa/default.nix (renamed from nixpkgs/pkgs/development/python-modules/marisa/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/markdown/default.nix (renamed from nixpkgs/pkgs/development/python-modules/markdown/3_1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/markupsafe/default.nix (renamed from nixpkgs/pkgs/development/python-modules/markupsafe/1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/mock/default.nix (renamed from nixpkgs/pkgs/development/python-modules/mock/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/more-itertools/default.nix (renamed from nixpkgs/pkgs/development/python-modules/more-itertools/2.7.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/mutagen/default.nix (renamed from nixpkgs/pkgs/development/python-modules/mutagen/1.43.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/numpy/default.nix (renamed from nixpkgs/pkgs/development/python-modules/numpy/1.16.nix)2
-rw-r--r--nixpkgs/pkgs/development/python2-modules/numpy/numpy-distutils-C++.patch (renamed from nixpkgs/pkgs/development/python-modules/numpy/numpy-distutils-C++_1.16.patch)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/packaging/default.nix (renamed from nixpkgs/pkgs/development/python-modules/packaging/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pillow/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pillow/6.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pillow/generic.nix77
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pip/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pip/20.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pluggy/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pluggy/0.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/prettytable/default.nix (renamed from nixpkgs/pkgs/development/python-modules/prettytable/1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/protobuf/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pycairo/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pycairo/1.18.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pygobject/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pygobject/3.36.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pygtk/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pygtk/default.nix)6
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pyjwt/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pyjwt/1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pyparsing/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pyroma/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pyroma/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pysqlite/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pysqlite/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pytest-runner/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pytest-runner/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pytest-xdist/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pytest-xdist/1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pytest/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pytest/4.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/pyyaml/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python2-modules/qpid-python/default.nix (renamed from nixpkgs/pkgs/development/python-modules/qpid-python/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python2-modules/s3transfer/default.nix (renamed from nixpkgs/pkgs/development/python-modules/s3transfer/0_4.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/scandir/default.nix (renamed from nixpkgs/pkgs/development/python-modules/scandir/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/setuptools-scm/default.nix (renamed from nixpkgs/pkgs/development/python-modules/setuptools-scm/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/setuptools/default.nix (renamed from nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/setuptools/tag-date.patch12
-rw-r--r--nixpkgs/pkgs/development/python2-modules/sphinx/default.nix (renamed from nixpkgs/pkgs/development/python-modules/sphinx/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/sphinx/python2-lexer.patch (renamed from nixpkgs/pkgs/development/python-modules/sphinx/python2-lexer.patch)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/sphinxcontrib-websupport/default.nix (renamed from nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/1_1.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/typing/default.nix (renamed from nixpkgs/pkgs/development/python-modules/typing/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/urllib3/default.nix (renamed from nixpkgs/pkgs/development/python-modules/urllib3/2.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/vcrpy/default.nix (renamed from nixpkgs/pkgs/development/python-modules/vcrpy/3.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/werkzeug/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python2-modules/wsproto/default.nix (renamed from nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/wxPython/default.nix (renamed from nixpkgs/pkgs/development/python-modules/wxPython/3.0.nix)0
-rw-r--r--nixpkgs/pkgs/development/python2-modules/zipp/default.nix (renamed from nixpkgs/pkgs/development/python-modules/zipp/1.nix)0
-rw-r--r--nixpkgs/pkgs/development/r-modules/bioc-annotation-packages.nix4
-rw-r--r--nixpkgs/pkgs/development/r-modules/bioc-experiment-packages.nix12
-rw-r--r--nixpkgs/pkgs/development/r-modules/bioc-packages.nix221
-rw-r--r--nixpkgs/pkgs/development/r-modules/cran-packages.nix3969
-rw-r--r--nixpkgs/pkgs/development/r-modules/default.nix22
-rw-r--r--nixpkgs/pkgs/development/r-modules/wrapper-rstudio.nix56
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix2
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix13
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/gem-config/rdiscount-use-nixpkgs-libmarkdown.patch14
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb4
-rw-r--r--nixpkgs/pkgs/development/tools/air/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/amazon-qldb-shell/default.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/ammonite/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/actionlint/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/binlore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cccc/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/checkov/default.nix58
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/eresi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/ikos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/pmd/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/qcachegrind/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/radare2/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/randoop/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/rizin/cutter.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/rizin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/spin/default.nix52
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/svlint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tflint/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/yallback/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/appthreat-depscan/default.nix52
-rw-r--r--nixpkgs/pkgs/development/tools/ashpd-demo/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/bacon/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/bazel-kazel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/bazel-watcher/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/bingo/default.nix41
-rw-r--r--nixpkgs/pkgs/development/tools/bingo/version_go.patch17
-rw-r--r--nixpkgs/pkgs/development/tools/buf/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/actions_path.patch41
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix669
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/no-arc.patch42
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/src-deps.json1990
-rwxr-xr-xnixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/update-srcDeps.py54
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix50
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/2.8.nix88
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch70
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/cmake/search-path-2.8.patch92
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/conan/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix16
-rwxr-xr-xnixpkgs/pkgs/development/tools/build-managers/gradle/update.sh18
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/jam/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/jam/ftjam.nix52
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.57/boost-Do-not-add-system-paths-on-nix.patch40
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.57/default.nix94
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.57/gir-fallback-path.patch16
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.57/more-env-vars.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.60/allow-dirs-outside-of-prefix.patch19
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.60/clear-old-rpath.patch20
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.60/fix-rpath.patch24
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/0.60/setup-hook.sh37
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.57/allow-dirs-outside-of-prefix.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.60/boost-Do-not-add-system-paths-on-nix.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.57/clear-old-rpath.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/default.nix (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.60/default.nix)8
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.57/fix-rpath.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.60/gir-fallback-path.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.60/more-env-vars.patch)0
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh (renamed from nixpkgs/pkgs/development/tools/build-managers/meson/0.57/setup-hook.sh)0
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mill/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/remake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/waf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/buildah/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/buildpack/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/butane/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/castxml/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/checkmate/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/chefdk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/circup/default.nix52
-rw-r--r--nixpkgs/pkgs/development/tools/clj-kondo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/cloud-nuke/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/cmake-language-server/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/cocogitto/default.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/confluent-cli/default.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/conftest/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/0001-use-different-upstream-for-gomod.patch23
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix133
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix1778
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/prevent-self-update.patch25
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/0001-gitlab-runner-don-t-checked-for-fixed-runtime.patch30
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/convco/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/corgi/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/crd2pulumi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/cue/default.nix20
-rw-r--r--nixpkgs/pkgs/development/tools/database/beekeeper-studio/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/database/clickhouse-backup/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/database/dbmate/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/database/indradb/default.nix51
-rw-r--r--nixpkgs/pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/pg_activity/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/pg_checksums/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/database/pgcli/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/database/prisma-engines/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/database/pyrseas/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/database/schemaspy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/database/timescaledb-tune/fixMinMaxConn.diff13
-rw-r--r--nixpkgs/pkgs/development/tools/database/webdis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/datree/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ddosify/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/deadnix/default.nix25
-rw-r--r--nixpkgs/pkgs/development/tools/deis/default.nix36
-rw-r--r--nixpkgs/pkgs/development/tools/deisctl/default.nix30
-rw-r--r--nixpkgs/pkgs/development/tools/delve/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/doctl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/dprint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/dstp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/dt-schema/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/dyff/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/earthly/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ec2-metadata-mock/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/efm-langserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/electron/default.nix130
-rw-r--r--nixpkgs/pkgs/development/tools/electron/generic.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ent/default.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/esbuild/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/evans/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/faas-cli/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/flatpak-builder/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/fnm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/fq/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/frugal/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gauge/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/geckodriver/cargo-lock.patch440
-rw-r--r--nixpkgs/pkgs/development/tools/geckodriver/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ginkgo/default.nix29
-rw-r--r--nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile2
-rw-r--r--nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile.lock110
-rw-r--r--nixpkgs/pkgs/development/tools/github-changelog-generator/gemset.nix349
-rw-r--r--nixpkgs/pkgs/development/tools/github/bump/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/go-containerregistry/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/go-swag/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/go-swagger/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/go-task/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gocode-gomod/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/gocyclo/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/godot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gofumpt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gokart/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/golangci-lint/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/google-java-format/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gopls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gosec/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gotests/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/gotests/deps.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/gron/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix36
-rw-r--r--nixpkgs/pkgs/development/tools/haskell/hyper-haskell/server.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/heroku/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/htmlq/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/java/sawjap/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/java/visualvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/jd-diff-patch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/jfmt/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/jless/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/jo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/jpexs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/jq/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/jql/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/just/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/k6/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kcli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ko/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/konstraint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/krew/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ktlint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kube-linter/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/kubepug/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/lazygit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/libsigrok/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/md-tangle/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/mani/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/mars-mips/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/mask/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/mblock-mlink/default.nix39
-rw-r--r--nixpkgs/pkgs/development/tools/metal-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/metals/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/astyle/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/bin_replace_string/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/CVE-2021-45078.patch239
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/windres-locate-gcc.patch19
-rw-r--r--nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cflow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cgdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix29
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ddd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/direvent/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/distcc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/drush/default.nix46
-rw-r--r--nixpkgs/pkgs/development/tools/misc/dura/default.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/misc/epm/default.nix36
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gpuvis/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/common.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/inotify-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/misc/k2tf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kconfig-frontends/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/luarocks/3.7.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/misc/luarocks/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/misc/luarocks/default.upstream1
-rw-r--r--nixpkgs/pkgs/development/tools/misc/macdylibbundler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/nimlsp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/nix-build-uncached/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pahole/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/misc/patchelf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/premake/3.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/misc/premake/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/qtspim/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/rtss/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/semver-tool/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/spruce/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terracognita/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terraformer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texinfo/common.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/misc/xspim/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/mmixware/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/mold/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/nodenv/default.nix44
-rw-r--r--nixpkgs/pkgs/development/tools/nwjs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune/2.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune/3.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix35
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocamlbuild/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/ocp-build/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/omniorb/default.nix27
-rwxr-xr-xnixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh6
-rw-r--r--nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix33
-rw-r--r--nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix1518
-rw-r--r--nixpkgs/pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/operator-sdk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/oq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/oshka/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/packer/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/packet-sd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/pandoc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/flex/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/ragel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/re2c/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json10
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json10
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json11
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rst.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-swift.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/pet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/phantomjs/default.nix71
-rw-r--r--nixpkgs/pkgs/development/tools/phantomjs2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pipenv/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix44
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py40
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py7
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix144
-rw-r--r--nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/proto-contrib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/protoc-gen-twirp_php/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/protoc-gen-twirp_typescript/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/pscale/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pur/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/purescript/spago/spago.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/pypi-mirror/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/quick-lint-js/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/quilt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/regclient/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/rgp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/richgo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rnix-lsp/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/ronn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix30
-rw-r--r--nixpkgs/pkgs/development/tools/rust/bindgen/default.nix114
-rw-r--r--nixpkgs/pkgs/development/tools/rust/bindgen/unwrapped.nix63
-rwxr-xr-xnixpkgs/pkgs/development/tools/rust/bindgen/wrapper.sh4
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-cache/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-deny/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix40
-rwxr-xr-xnixpkgs/pkgs/development/tools/rust/cargo-geiger/update-cargo-lock.sh19
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-insta/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-llvm-lines/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-spellcheck/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-valgrind/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/rust/maturin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/probe-rs-cli/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rust-script/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/svd2rust/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/sassc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/sd-local/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/selene/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/selenium/selendroid/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/sentry-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/skaffold/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/skjold/default.nix79
-rw-r--r--nixpkgs/pkgs/development/tools/skopeo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/spirv-tools/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/stylua/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/symfony-cli/default.nix56
-rw-r--r--nixpkgs/pkgs/development/tools/tabnine/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/typos/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/udis86/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/uniffi-bindgen/Cargo.lock837
-rw-r--r--nixpkgs/pkgs/development/tools/uniffi-bindgen/default.nix45
-rw-r--r--nixpkgs/pkgs/development/tools/unityhub/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/vala-lint/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/vendir/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/vgo2nix/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix42
-rw-r--r--nixpkgs/pkgs/development/tools/vultr-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/wabt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/winpdb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/worker-build/default.nix27
-rw-r--r--nixpkgs/pkgs/development/tools/wrangler/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/yq-go/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ytt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/zprint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/bloomrpc/default.nix48
-rw-r--r--nixpkgs/pkgs/development/web/cypress/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/deno/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--nixpkgs/pkgs/development/web/flyctl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/web/insomnia/default.nix3
-rw-r--r--nixpkgs/pkgs/development/web/lucky-cli/default.nix5
-rw-r--r--nixpkgs/pkgs/development/web/lucky-cli/shard.lock10
-rw-r--r--nixpkgs/pkgs/development/web/lucky-cli/shards.nix18
-rw-r--r--nixpkgs/pkgs/development/web/minify/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/nodejs.nix6
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v12.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v14.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v16.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v17.nix4
-rw-r--r--nixpkgs/pkgs/development/web/postman/default.nix7
-rw-r--r--nixpkgs/pkgs/games/7kaa/default.nix79
-rw-r--r--nixpkgs/pkgs/games/ace-of-penguins/default.nix78
-rw-r--r--nixpkgs/pkgs/games/ace-of-penguins/fixup-miscompilations.patch80
-rw-r--r--nixpkgs/pkgs/games/alephone/default.nix8
-rw-r--r--nixpkgs/pkgs/games/alephone/infinity/default.nix4
-rw-r--r--nixpkgs/pkgs/games/amoeba/default.nix2
-rw-r--r--nixpkgs/pkgs/games/among-sus/default.nix6
-rw-r--r--nixpkgs/pkgs/games/andyetitmoves/default.nix67
-rw-r--r--nixpkgs/pkgs/games/anki/default.nix5
-rw-r--r--nixpkgs/pkgs/games/banner/default.nix2
-rw-r--r--nixpkgs/pkgs/games/blackshades/default.nix20
-rw-r--r--nixpkgs/pkgs/games/blightmud/default.nix79
-rw-r--r--nixpkgs/pkgs/games/blobby/default.upstream8
-rw-r--r--nixpkgs/pkgs/games/blockattack/default.nix59
-rw-r--r--nixpkgs/pkgs/games/chessx/default.nix4
-rw-r--r--nixpkgs/pkgs/games/cl-wordle/default.nix22
-rw-r--r--nixpkgs/pkgs/games/crafty/default.nix73
-rw-r--r--nixpkgs/pkgs/games/crawl/default.nix6
-rw-r--r--nixpkgs/pkgs/games/crispy-doom/default.nix4
-rw-r--r--nixpkgs/pkgs/games/ddnet/default.nix4
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix3
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix3
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix3
-rw-r--r--nixpkgs/pkgs/games/egoboo/default.nix2
-rw-r--r--nixpkgs/pkgs/games/factorio/versions.json48
-rw-r--r--nixpkgs/pkgs/games/fheroes2/default.nix4
-rw-r--r--nixpkgs/pkgs/games/flare/default.nix4
-rw-r--r--nixpkgs/pkgs/games/flare/engine.nix6
-rw-r--r--nixpkgs/pkgs/games/flare/game.nix6
-rw-r--r--nixpkgs/pkgs/games/freedink/default.nix2
-rw-r--r--nixpkgs/pkgs/games/gcompris/default.nix6
-rw-r--r--nixpkgs/pkgs/games/gnubg/default.nix6
-rw-r--r--nixpkgs/pkgs/games/grapejuice/default.nix13
-rw-r--r--nixpkgs/pkgs/games/hawkthorne/default.nix39
-rw-r--r--nixpkgs/pkgs/games/hawkthorne/makefile.patch33
-rw-r--r--nixpkgs/pkgs/games/heroic/default.nix13
-rw-r--r--nixpkgs/pkgs/games/hhexen/default.nix2
-rw-r--r--nixpkgs/pkgs/games/instead/default.nix7
-rw-r--r--nixpkgs/pkgs/games/itch-setup/default.nix24
-rw-r--r--nixpkgs/pkgs/games/itch/default.nix64
-rw-r--r--nixpkgs/pkgs/games/ivan/default.nix6
-rw-r--r--nixpkgs/pkgs/games/legendary-gl/default.nix4
-rw-r--r--nixpkgs/pkgs/games/liberation-circuit/default.nix2
-rw-r--r--nixpkgs/pkgs/games/linthesia/default.nix38
-rw-r--r--nixpkgs/pkgs/games/lzwolf/default.nix44
-rw-r--r--nixpkgs/pkgs/games/megaglest/default.nix2
-rwxr-xr-xnixpkgs/pkgs/games/minecraft-server/update.sh21
-rw-r--r--nixpkgs/pkgs/games/minecraft-servers/default.nix24
-rw-r--r--nixpkgs/pkgs/games/minecraft-servers/derivation.nix (renamed from nixpkgs/pkgs/games/minecraft-server/default.nix)14
-rwxr-xr-xnixpkgs/pkgs/games/minecraft-servers/update.py156
-rw-r--r--nixpkgs/pkgs/games/minecraft-servers/versions.json104
-rw-r--r--nixpkgs/pkgs/games/minetest/default.nix59
-rw-r--r--nixpkgs/pkgs/games/minetest/disable_fixup.patch10
-rw-r--r--nixpkgs/pkgs/games/minetest/fix_wordsize_confusion.patch10
-rw-r--r--nixpkgs/pkgs/games/moon-buggy/default.nix5
-rw-r--r--nixpkgs/pkgs/games/mudlet/default.nix61
-rw-r--r--nixpkgs/pkgs/games/multimc/0001-pick-latest-java-first.patch48
-rw-r--r--nixpkgs/pkgs/games/multimc/default.nix56
-rw-r--r--nixpkgs/pkgs/games/n2048/default.nix31
-rw-r--r--nixpkgs/pkgs/games/nethack/default.nix6
-rw-r--r--nixpkgs/pkgs/games/nottetris2/default.nix49
-rw-r--r--nixpkgs/pkgs/games/npush/default.nix47
-rw-r--r--nixpkgs/pkgs/games/npush/run.nix31
-rw-r--r--nixpkgs/pkgs/games/openra/common.nix6
-rw-r--r--nixpkgs/pkgs/games/opensupaplex/default.nix89
-rw-r--r--nixpkgs/pkgs/games/openttd/nml.nix4
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/default.nix125
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/deps.nix156
-rwxr-xr-xnixpkgs/pkgs/games/osu-lazer/update.sh3
-rw-r--r--nixpkgs/pkgs/games/otto-matic/default.nix44
-rw-r--r--nixpkgs/pkgs/games/papermc/default.nix6
-rw-r--r--nixpkgs/pkgs/games/pentobi/default.nix6
-rw-r--r--nixpkgs/pkgs/games/pioneer/default.nix55
-rw-r--r--nixpkgs/pkgs/games/planetaryannihilation/default.nix25
-rw-r--r--nixpkgs/pkgs/games/polymc/default.nix74
-rw-r--r--nixpkgs/pkgs/games/purpur/default.nix41
-rw-r--r--nixpkgs/pkgs/games/r2mod_cli/default.nix4
-rw-r--r--nixpkgs/pkgs/games/rimshot/default.nix55
-rw-r--r--nixpkgs/pkgs/games/rogue/default.nix3
-rw-r--r--nixpkgs/pkgs/games/rpg-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/games/sgt-puzzles/default.upstream5
-rw-r--r--nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix6
-rw-r--r--nixpkgs/pkgs/games/snis/default.nix73
-rw-r--r--nixpkgs/pkgs/games/steam/fhsenv.nix2
-rw-r--r--nixpkgs/pkgs/games/supertux/default.nix8
-rw-r--r--nixpkgs/pkgs/games/tennix/default.nix4
-rw-r--r--nixpkgs/pkgs/games/tetrio-desktop/default.nix87
-rw-r--r--nixpkgs/pkgs/games/the-legend-of-edgar/default.nix75
-rw-r--r--nixpkgs/pkgs/games/toppler/default.nix57
-rw-r--r--nixpkgs/pkgs/games/uchess/default.nix2
-rw-r--r--nixpkgs/pkgs/games/ue4demos/default.nix2
-rw-r--r--nixpkgs/pkgs/games/unciv/default.nix4
-rw-r--r--nixpkgs/pkgs/games/vapor/default.nix61
-rw-r--r--nixpkgs/pkgs/games/vassal/default.nix10
-rw-r--r--nixpkgs/pkgs/games/vdrift/default.nix20
-rw-r--r--nixpkgs/pkgs/games/vintagestory/default.nix4
-rw-r--r--nixpkgs/pkgs/games/warzone2100/default.nix2
-rw-r--r--nixpkgs/pkgs/games/widelands/default.nix10
-rw-r--r--nixpkgs/pkgs/games/worldofgoo/default.nix2
-rw-r--r--nixpkgs/pkgs/games/xconq/default.nix5
-rw-r--r--nixpkgs/pkgs/games/xcowsay/default.nix4
-rw-r--r--nixpkgs/pkgs/games/xmoto/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix16
-rw-r--r--nixpkgs/pkgs/misc/arm-trusted-firmware/remove-hdcp-blob.patch47
-rw-r--r--nixpkgs/pkgs/misc/beep/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/cups/default.nix10
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/canon/default.nix329
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/canon/preload.c81
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/hl1110/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/hl1210w/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/hl3140cw/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/hll2340dw/default.nix3
-rw-r--r--nixpkgs/pkgs/misc/cups/filters.nix4
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-201401w/default.nix67
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-201401w/fixbuild.patch101
-rw-r--r--nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix192
-rw-r--r--nixpkgs/pkgs/misc/drivers/hplip/default.nix40
-rw-r--r--nixpkgs/pkgs/misc/drivers/hplip/image-processor.patch115
-rw-r--r--nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/drivers/utsushi/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix12
-rw-r--r--nixpkgs/pkgs/misc/drivers/xboxdrv/fix-60-sec-delay.patch27
-rw-r--r--nixpkgs/pkgs/misc/drivers/xboxdrv/scons-py3.patch63
-rw-r--r--nixpkgs/pkgs/misc/drivers/xboxdrv/scons-v4.2.0.patch20
-rw-r--r--nixpkgs/pkgs/misc/drivers/xboxdrv/xboxdrvctl-py3.patch73
-rw-r--r--nixpkgs/pkgs/misc/emulators/bsod/default.nix32
-rw-r--r--nixpkgs/pkgs/misc/emulators/dosbox-staging/default.nix49
-rw-r--r--nixpkgs/pkgs/misc/emulators/dosbox/default.nix47
-rw-r--r--nixpkgs/pkgs/misc/emulators/fs-uae/default.nix32
-rwxr-xr-xnixpkgs/pkgs/misc/emulators/rpcs3/update.sh56
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/cert-path.patch23
-rw-r--r--nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix32
-rw-r--r--nixpkgs/pkgs/misc/flashfocus/default.nix5
-rw-r--r--nixpkgs/pkgs/misc/ghostscript/default.nix15
-rw-r--r--nixpkgs/pkgs/misc/gnash/0001-fix-build-with-ffmepg-4.patch57
-rw-r--r--nixpkgs/pkgs/misc/gnash/default.nix132
-rw-r--r--nixpkgs/pkgs/misc/gnuk/generic.nix4
-rw-r--r--nixpkgs/pkgs/misc/ite-backlight/default.nix47
-rw-r--r--nixpkgs/pkgs/misc/jitsi-meet-prosody/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/kitty-themes/default.nix27
-rw-r--r--nixpkgs/pkgs/misc/logging/beats/7.x.nix2
-rw-r--r--nixpkgs/pkgs/misc/mxt-app/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/opensbi/default.nix40
-rw-r--r--nixpkgs/pkgs/misc/sagetex/default.nix40
-rw-r--r--nixpkgs/pkgs/misc/scrcpy/default.nix7
-rw-r--r--nixpkgs/pkgs/misc/screensavers/alock/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix1
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xssproxy/default.nix9
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/tmux-plugins/default.nix12
-rw-r--r--nixpkgs/pkgs/misc/uboot/default.nix27
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/aliases.nix1
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/generated.nix2006
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/overrides.nix87
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/patches/sniprun/fix-paths.patch36
-rwxr-xr-xnixpkgs/pkgs/misc/vim-plugins/update.py27
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names50
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix2
-rwxr-xr-xnixpkgs/pkgs/misc/vscode-extensions/_maintainers/update-bin-srcs-lib.sh8
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/default.nix564
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/language-packs.nix89
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix26
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json66
-rwxr-xr-xnixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs2
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/python/default.nix10
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix4
-rwxr-xr-xnixpkgs/pkgs/misc/vscode-extensions/update_installed_exts.sh2
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/vscode-utils.nix4
-rw-r--r--nixpkgs/pkgs/misc/wiki-tui/default.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh1
-rw-r--r--nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix18
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/chunkwm/default.nix36
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/duti/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/maloader/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch146
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch180
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/moltenvk/createDylib.patch13
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix200
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch14
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/mysides/default.nix36
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix44
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/usr-include/default.nix23
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/cross.patch347
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix21
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix14
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix275
-rw-r--r--nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch71
-rw-r--r--nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/anbox/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/apparmor/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/atop/default.upstream4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/autosuspend/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bcc/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bluez/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/cpuset/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/crda/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/cryptsetup/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/displaylink/default.nix15
-rw-r--r--nixpkgs/pkgs/os-specific/linux/dpdk/default.nix41
-rw-r--r--nixpkgs/pkgs/os-specific/linux/evdi/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/exfat/default.nix5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/extrace/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fbterm/default.nix28
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ffado/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firejail/default.nix38
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch18
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firejail/remove-link-check.patch48
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/firmware-updater/default.nix27
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix (renamed from nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix)8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix28
-rw-r--r--nixpkgs/pkgs/os-specific/linux/gogoclient/config-paths.patch39
-rw-r--r--nixpkgs/pkgs/os-specific/linux/gogoclient/default.nix41
-rw-r--r--nixpkgs/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch22
-rw-r--r--nixpkgs/pkgs/os-specific/linux/greetd/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/gt/default.nix29
-rw-r--r--nixpkgs/pkgs/os-specific/linux/hdapsd/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/hdparm/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/hostapd/default.nix40
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ima-evm-utils/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ima-evm-utils/xattr.patch73
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2015-4047.patch16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch193
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix49
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iptables/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iputils/default.nix14
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/jfbview/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/jool/cli.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/jool/source.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix22
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/gpio-utils.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json50
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.16.nix18
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/perf.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/keyutils/0001-Remove-unused-function-after_eq.patch28
-rw-r--r--nixpkgs/pkgs/os-specific/linux/keyutils/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/klibc/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmod-debian-aliases/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmod/default.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libbpf/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libevdevc/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libgestures/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/liquidtux/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lsirec/default.nix36
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lvm2/2_02.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lvm2/2_03.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lvm2/common.nix43
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lvm2/no-shared.diff25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lxc/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/microcode/amd.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/microcode/intel.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/mwprocapture/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/net-tools/mptcp.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix3
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/numatop/default.nix31
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix27
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam/default.nix18
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam/suid-wrapper-path.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam_pgsql/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam_usb/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pcm/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pflask/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix5
-rw-r--r--nixpkgs/pkgs/os-specific/linux/procdump/default.nix14
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8189es/default.nix50
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sgx/samples/default.nix109
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix29
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sgx/sdk/samples.nix63
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix95
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sgx/ssl/intel-sgx-ssl-pr-111.patch99
-rw-r--r--nixpkgs/pkgs/os-specific/linux/shadow/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sinit/default.nix39
-rw-r--r--nixpkgs/pkgs/os-specific/linux/smem/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/speedometer/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sssd/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/statifier/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysdig/default.upstream8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysstat/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch401
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch320
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/default.nix47
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tmon/default.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/uclibc/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/unstick/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usb-blaster-udev-rules/default.nix26
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usb-blaster-udev-rules/usb-blaster.rules8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/util-linux/default.nix20
-rw-r--r--nixpkgs/pkgs/os-specific/linux/virtio_vmmci/default.nix37
-rw-r--r--nixpkgs/pkgs/os-specific/linux/vmm_clock/default.nix38
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wlgreet/default.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wpa_supplicant/Use-unique-IDs-for-networks-and-credentials.patch32
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix40
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/x86info/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/solo5/default.nix13
-rw-r--r--nixpkgs/pkgs/servers/adguardhome/bins.nix16
-rw-r--r--nixpkgs/pkgs/servers/adguardhome/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/alps/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/althttpd/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/antennas/default.nix34
-rw-r--r--nixpkgs/pkgs/servers/antennas/package.json20
-rw-r--r--nixpkgs/pkgs/servers/antennas/yarn.lock703
-rw-r--r--nixpkgs/pkgs/servers/antennas/yarn.nix997
-rw-r--r--nixpkgs/pkgs/servers/atlassian/jira.nix4
-rw-r--r--nixpkgs/pkgs/servers/bazarr/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/bird/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/blockbook/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/calibre-web/default.nix45
-rw-r--r--nixpkgs/pkgs/servers/cayley/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/code-server/default.nix78
-rw-r--r--nixpkgs/pkgs/servers/code-server/playwright.patch4
-rw-r--r--nixpkgs/pkgs/servers/code-server/remove-cloud-agent-download.patch11
-rw-r--r--nixpkgs/pkgs/servers/code-server/remove-node-download.patch27
-rw-r--r--nixpkgs/pkgs/servers/computing/storm/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/consul/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/dcnnt/default.nix26
-rw-r--r--nixpkgs/pkgs/servers/dns/bind/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/dns/bind/dont-keep-configure-flags.patch34
-rw-r--r--nixpkgs/pkgs/servers/dns/bind/remove-mkdir-var.patch12
-rw-r--r--nixpkgs/pkgs/servers/dns/coredns/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/dns/dnsdist/default.nix19
-rw-r--r--nixpkgs/pkgs/servers/dns/dnsdist/disable-network-tests.patch28
-rw-r--r--nixpkgs/pkgs/servers/dns/doh-proxy-rust/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-resolver/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/domoticz/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/etcd/3.3.nix (renamed from nixpkgs/pkgs/servers/etcd/default.nix)1
-rw-r--r--nixpkgs/pkgs/servers/etcd/3.4.nix1
-rw-r--r--nixpkgs/pkgs/servers/etcd/3.5.nix82
-rw-r--r--nixpkgs/pkgs/servers/fcgiwrap/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/firebird/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/foundationdb/cmake.nix2
-rw-r--r--nixpkgs/pkgs/servers/foundationdb/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/freeradius/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/frr/default.nix137
-rw-r--r--nixpkgs/pkgs/servers/ftp/bftpd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/gemini/agate/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/gemini/gmid/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/gemini/gmnisrv/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/gerbera/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/gobetween/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/grocy/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/h2/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/headphones/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/headscale/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/heisenbridge/default.nix31
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/component-packages.nix681
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/default.nix858
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/frontend.nix10
-rwxr-xr-xnixpkgs/pkgs/servers/home-assistant/parse-requirements.py22
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch27
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch4
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/tests.nix67
-rw-r--r--nixpkgs/pkgs/servers/hqplayerd/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix34
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/http/apt-cacher-ng/default.nix13
-rw-r--r--nixpkgs/pkgs/servers/http/gitlab-pages/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/jetty/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/lighttpd/default.nix23
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/mainline.upstream8
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/modules.nix126
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/quic.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/stable.upstream8
-rw-r--r--nixpkgs/pkgs/servers/hydron/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/hylafaxplus/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/imgproxy/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/irc/atheme/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/irc/ergochat/default.nix26
-rw-r--r--nixpkgs/pkgs/servers/isso/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/jackett/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/jackett/deps.nix3
-rw-r--r--nixpkgs/pkgs/servers/janus-gateway/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/jibri/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/jicofo/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/jitsi-videobridge/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/keycloak/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/klipper/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/libreddit/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/limesurvey/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/livepeer/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/maddy/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/dspam/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix7
-rw-r--r--nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix14
-rw-r--r--nixpkgs/pkgs/servers/mail/postfix/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/spamassassin/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/mail/sympa/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mapserver/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mastodon/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/mastodon/gemset.nix6
-rw-r--r--nixpkgs/pkgs/servers/mastodon/package.json2
-rw-r--r--nixpkgs/pkgs/servers/mastodon/source.nix4
-rw-r--r--nixpkgs/pkgs/servers/mastodon/version.nix2
-rw-r--r--nixpkgs/pkgs/servers/mastodon/version.patch2
-rw-r--r--nixpkgs/pkgs/servers/mastodon/yarn.nix3158
-rw-r--r--nixpkgs/pkgs/servers/matrix-conduit/default.nix40
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix31
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix14
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/tools/synadm.nix4
-rw-r--r--nixpkgs/pkgs/servers/mattermost/default.nix13
-rw-r--r--nixpkgs/pkgs/servers/mautrix-facebook/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/mautrix-signal/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mautrix-telegram/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/mbtileserver/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mediatomb/default.nix26
-rw-r--r--nixpkgs/pkgs/servers/memcached/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/metabase/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/miniflux/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/minio/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/misc/navidrome/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/misc/oven-media-engine/default.nix30
-rw-r--r--nixpkgs/pkgs/servers/misc/virtiofsd/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/mjolnir/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mjolnir/node-composition.nix4
-rw-r--r--nixpkgs/pkgs/servers/mjolnir/node-deps.nix698
-rw-r--r--nixpkgs/pkgs/servers/mjolnir/node-env.nix79
-rwxr-xr-xnixpkgs/pkgs/servers/mjolnir/update.sh2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/do-agent/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/fusion-inventory/default.nix1
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json10
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock7726
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix1890
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/monitoring/loki/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/munin/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix35
-rw-r--r--nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix22
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix18
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/bind-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/default.nix56
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/json-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/pihole-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix8
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/promscale/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/sql-exporter.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/riemann/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/telegraf/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix8
-rw-r--r--nixpkgs/pkgs/servers/mpd/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mx-puppet-discord/default.nix8
-rwxr-xr-xnixpkgs/pkgs/servers/mx-puppet-discord/generate.sh7
-rw-r--r--nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix2
-rw-r--r--nixpkgs/pkgs/servers/mx-puppet-discord/node-packages.nix473
-rw-r--r--nixpkgs/pkgs/servers/mycorrhiza/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/nats-server/default.nix22
-rw-r--r--nixpkgs/pkgs/servers/nats-streaming-server/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/nitter/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix39
-rw-r--r--nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix36
-rw-r--r--nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.upstream4
-rw-r--r--nixpkgs/pkgs/servers/nosql/cassandra/generic.nix2
-rwxr-xr-xnixpkgs/pkgs/servers/nosql/eventstore/create-deps.sh2
-rw-r--r--nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix4
-rw-r--r--nixpkgs/pkgs/servers/oauth2-proxy/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/ombi/default.nix8
-rwxr-xr-xnixpkgs/pkgs/servers/ombi/update.sh4
-rw-r--r--nixpkgs/pkgs/servers/pleroma/0001-move-result-into-with-guard.patch26
-rw-r--r--nixpkgs/pkgs/servers/pleroma/default.nix18
-rw-r--r--nixpkgs/pkgs/servers/pleroma/mix.nix8
-rw-r--r--nixpkgs/pkgs/servers/plex/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/plex/raw.nix6
-rw-r--r--nixpkgs/pkgs/servers/plik/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/plik/programs.nix9
-rw-r--r--nixpkgs/pkgs/servers/prowlarr/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/pulseaudio/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/radarr/default.nix8
-rwxr-xr-xnixpkgs/pkgs/servers/radarr/update.sh4
-rw-r--r--nixpkgs/pkgs/servers/radicale/2.x.nix2
-rw-r--r--nixpkgs/pkgs/servers/radicale/3.x.nix8
-rw-r--r--nixpkgs/pkgs/servers/rmfakecloud/default.nix31
-rw-r--r--nixpkgs/pkgs/servers/roon-bridge/default.nix67
-rw-r--r--nixpkgs/pkgs/servers/roon-server/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sabnzbd/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/samba/4.x.nix4
-rw-r--r--nixpkgs/pkgs/servers/seafile-server/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/ser2net/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/serviio/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/shellinabox/default.nix50
-rw-r--r--nixpkgs/pkgs/servers/shellinabox/shellinabox-minus.patch28
-rw-r--r--nixpkgs/pkgs/servers/sickbeard/sickgear.nix4
-rw-r--r--nixpkgs/pkgs/servers/soft-serve/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/softether/4.25.nix53
-rw-r--r--nixpkgs/pkgs/servers/softether/default.nix (renamed from nixpkgs/pkgs/servers/softether/4.29.nix)22
-rw-r--r--nixpkgs/pkgs/servers/sql/dolt/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_2.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/default.nix148
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/materialize/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix7
-rw-r--r--nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix15
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pgvector.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/plv8.nix44
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/repmgr.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix15
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/packages.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/proxysql/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/sshportal/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/t-rex/default.nix28
-rw-r--r--nixpkgs/pkgs/servers/tailscale/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/tautulli/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/tegola/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/teleport/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/tile38/default.nix30
-rw-r--r--nixpkgs/pkgs/servers/timetagger/default.nix39
-rw-r--r--nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/default.nix21
-rw-r--r--nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/versions.nix6
-rw-r--r--nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/default.nix21
-rw-r--r--nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/versions.nix6
-rw-r--r--nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/default.nix21
-rw-r--r--nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/versions.nix6
-rw-r--r--nixpkgs/pkgs/servers/traefik/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/tvheadend/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/udpt/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/unifi/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/unifiedpush-common-proxies/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/unpackerr/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/varnish/default.nix15
-rw-r--r--nixpkgs/pkgs/servers/varnish/modules.nix66
-rw-r--r--nixpkgs/pkgs/servers/varnish/packages.nix4
-rw-r--r--nixpkgs/pkgs/servers/vouch-proxy/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/web-apps/baget/default.nix29
-rw-r--r--nixpkgs/pkgs/servers/web-apps/baget/deps.nix396
-rwxr-xr-xnixpkgs/pkgs/servers/web-apps/baget/updater.sh40
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix8
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock12
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix27
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock62
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix111
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch6
-rw-r--r--nixpkgs/pkgs/servers/web-apps/ethercalc/default.nix27
-rwxr-xr-xnixpkgs/pkgs/servers/web-apps/ethercalc/generate.sh15
-rw-r--r--nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix2086
-rw-r--r--nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.json3
-rw-r--r--nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.nix17
-rw-r--r--nixpkgs/pkgs/servers/web-apps/galene/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/web-apps/invoiceplane/default.nix32
-rw-r--r--nixpkgs/pkgs/servers/web-apps/jitsi-meet/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/lemmy/package.json40
-rw-r--r--nixpkgs/pkgs/servers/web-apps/lemmy/pin.json10
-rw-r--r--nixpkgs/pkgs/servers/web-apps/lemmy/server.nix5
-rw-r--r--nixpkgs/pkgs/servers/web-apps/matomo/change-path-geoip2.patch10
-rw-r--r--nixpkgs/pkgs/servers/web-apps/matomo/default.nix22
-rw-r--r--nixpkgs/pkgs/servers/web-apps/pict-rs/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/web-apps/plausible/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/plausible/package.json2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/plausible/yarn.lock2395
-rw-r--r--nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix1792
-rw-r--r--nixpkgs/pkgs/servers/web-apps/rss-bridge/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/shiori/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/web-apps/sogo/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wiki-js/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wordpress/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/default.nix15
-rwxr-xr-xnixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl3
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/overrides.nix12
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/tarballs.list1
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/xwayland.nix4
-rw-r--r--nixpkgs/pkgs/servers/xandikos/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/xmpp/prosody-filer/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/xmpp/prosody/default.nix26
-rw-r--r--nixpkgs/pkgs/servers/zigbee2mqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/zigbee2mqtt/node-packages.nix3569
-rw-r--r--nixpkgs/pkgs/shells/bash/5.1.nix2
-rw-r--r--nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/dash/default.nix10
-rw-r--r--nixpkgs/pkgs/shells/elvish/default.nix27
-rw-r--r--nixpkgs/pkgs/shells/fish/default.nix10
-rw-r--r--nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix4
-rw-r--r--nixpkgs/pkgs/shells/fish/tests-pcre2-update.patch7
-rw-r--r--nixpkgs/pkgs/shells/liquidprompt/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/nushell/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/oil/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/tcsh/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/yash/default.nix23
-rw-r--r--nixpkgs/pkgs/shells/zsh/default.nix30
-rw-r--r--nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-autocomplete/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-git-prompt/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix30
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-history/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix8
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix6
-rw-r--r--nixpkgs/pkgs/stdenv/adapters.nix21
-rw-r--r--nixpkgs/pkgs/stdenv/booter.nix8
-rw-r--r--nixpkgs/pkgs/stdenv/cross/default.nix2
-rw-r--r--nixpkgs/pkgs/stdenv/darwin/default.nix5
-rw-r--r--nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix3
-rw-r--r--nixpkgs/pkgs/stdenv/generic/check-meta.nix13
-rw-r--r--nixpkgs/pkgs/stdenv/generic/default.nix7
-rw-r--r--nixpkgs/pkgs/stdenv/generic/setup.sh8
-rw-r--r--nixpkgs/pkgs/stdenv/linux/bootstrap-files/aarch64.nix8
-rw-r--r--nixpkgs/pkgs/test/default.nix3
-rw-r--r--nixpkgs/pkgs/test/make-wrapper/default.nix136
-rw-r--r--nixpkgs/pkgs/test/vim/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/autocutsel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/bumblebee/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/find-cursor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/obconf/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix36
-rwxr-xr-xnixpkgs/pkgs/tools/X11/opentabletdriver/update.sh2
-rw-r--r--nixpkgs/pkgs/tools/X11/ratmen/default.nix39
-rw-r--r--nixpkgs/pkgs/tools/X11/wpgtk/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/fix-41106.patch12
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch27
-rw-r--r--nixpkgs/pkgs/tools/X11/xsecurelock/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/X11/xtruss/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/acme-sh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/afterburn/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/aliyun-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/amazon-ec2-utils/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-nuke/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-vault/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli2/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/admin/awsweeper/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix72
-rw-r--r--nixpkgs/pkgs/tools/admin/certigo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/chamber/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/clair/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/colmena/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/fioctl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/fits-cloudctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/gixy/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/data.nix22
-rwxr-xr-xnixpkgs/pkgs/tools/admin/google-cloud-sdk/update.sh2
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/lexicon/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/package.json4
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock727
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix2630
-rw-r--r--nixpkgs/pkgs/tools/admin/mycli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/nomachine-client/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/oci-cli/default.nix79
-rw-r--r--nixpkgs/pkgs/tools/admin/procs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/data.nix366
-rwxr-xr-xnixpkgs/pkgs/tools/admin/pulumi/update.sh151
-rw-r--r--nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch16
-rw-r--r--nixpkgs/pkgs/tools/admin/scaleway-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/ssmsh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/stripe-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/syft/default.nix64
-rw-r--r--nixpkgs/pkgs/tools/admin/synapse-admin/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/trinsic-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/trivy/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/winbox/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/archivers/7zz/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/archivers/tarlz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/archivers/unrar/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/archivers/unzip/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/archivers/unzoo/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/archivers/wimlib/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/archivers/zpaq/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/archivers/zpaq/zpaqd.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/abcm2ps/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/audio/mididings/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/audio/mpd-discord-rpc/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/audio/mpris-scrobbler/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/audio/spotdl/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/audio/tts/default.nix56
-rw-r--r--nixpkgs/pkgs/tools/audio/video2midi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/audio/yabridge/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/audio/yabridge/hardcode-dependencies.patch8
-rw-r--r--nixpkgs/pkgs/tools/audio/yabridgectl/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch15
-rw-r--r--nixpkgs/pkgs/tools/backup/autorestic/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/btrbk/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/backup/dar/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix20
-rwxr-xr-xnixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh2
-rw-r--r--nixpkgs/pkgs/tools/backup/gh2md/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/backup/kopia/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/backup/percona-xtrabackup/8_0.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/percona-xtrabackup/abi-check.patch (renamed from nixpkgs/pkgs/servers/sql/mysql/abi-check.patch)0
-rw-r--r--nixpkgs/pkgs/tools/backup/s3ql/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/tarsnap/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/backup/tsm-client/default.nix112
-rw-r--r--nixpkgs/pkgs/tools/backup/tsm-client/test-cli.nix58
-rw-r--r--nixpkgs/pkgs/tools/backup/znapzend/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/zrepl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix63
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvdisaster/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/compression/dtrx/default.nix52
-rw-r--r--nixpkgs/pkgs/tools/compression/lrzip/default.upstream8
-rw-r--r--nixpkgs/pkgs/tools/compression/lzip/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/compression/lziprecover/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/compression/nx2elf/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/compression/zstd/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/compression/zstd/playtests-darwin.patch9
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/filesystems/catcli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/garage/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ioztat/default.nix55
-rw-r--r--nixpkgs/pkgs/tools/filesystems/irods/common.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/lfs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/filesystems/nilfs-utils/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/filesystems/sdat2img/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/filesystems/smbnetfs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/filesystems/smbnetfs/default.upstream6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/snapraid/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/games/minecraft/optifine/default.nix102
-rw-r--r--nixpkgs/pkgs/tools/games/minecraft/optifine/generic.nix44
-rw-r--r--nixpkgs/pkgs/tools/games/opentracker/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/games/weidu/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/adriconf/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/graphics/agi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/barcode/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/graphics/cuneiform/default.upstream8
-rw-r--r--nixpkgs/pkgs/tools/graphics/dpic/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/findimagedupes/default.nix70
-rw-r--r--nixpkgs/pkgs/tools/graphics/gifski/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix88
-rw-r--r--nixpkgs/pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch21
-rw-r--r--nixpkgs/pkgs/tools/graphics/grim/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/netpbm/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/pikchr/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/cmakelists.patch13
-rw-r--r--nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix65
-rw-r--r--nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/models_path.patch22
-rw-r--r--nixpkgs/pkgs/tools/graphics/resvg/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/scrot/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/graphics/svgbob/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/graphics/timg/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/graphics/transfig/default.nix63
-rw-r--r--nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch75
-rw-r--r--nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch15
-rw-r--r--nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch21
-rw-r--r--nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch19
-rw-r--r--nixpkgs/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch22
-rw-r--r--nixpkgs/pkgs/tools/graphics/unpaper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/vips/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/zbar/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/emote/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix40
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix40
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix7
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix34
-rwxr-xr-xnixpkgs/pkgs/tools/inputmethods/fcitx5/update.py20
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/input-remapper/default.nix157
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/kime/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/misc/adrgen/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/aescrypt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/android-tools/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/antimicrox/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/anystyle-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/apt-offline/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/bash_unit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bashplotlib/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/bat/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/bfr/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/blink1-tool/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/broot/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/btdu/default.nix83
-rwxr-xr-xnixpkgs/pkgs/tools/misc/btdu/update.py82
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/cht.sh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/clickclack/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/code-minimap/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/colord-gtk/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/colord/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/coreutils/fix-arm64-macos.patch124
-rw-r--r--nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/misc/csvs-to-sqlite/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/czkawka/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ddccontrol/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/dialog/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/ignore_links.patch2
-rw-r--r--nixpkgs/pkgs/tools/misc/direnv/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/disfetch/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/dua/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/duf/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ent/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/dashboard.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/fix-src-permissions.patch46
-rw-r--r--nixpkgs/pkgs/tools/misc/etcher/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fdtools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/fend/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/flameshot/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/misc/fluent-bit/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/fortune/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/fpp/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/fselect/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/gay/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/gh-ost/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/git-town/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/gnokii/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/gotify-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/grc/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/grub/2.0x.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/grub/trusted.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/h/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/hexd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/hidrd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/hiksink/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/inav-blackbox-tools/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/infracost/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/interactsh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ised/default.upstream4
-rw-r--r--nixpkgs/pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/kalker/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/kepubify/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/keymapviz/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/krapslog/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/latex2html/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/lazydocker/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/less/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/licensor/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/lookatme/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/misc/lottieconverter/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/lsd/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/macchina/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mailman-rss/default.nix (renamed from nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix)0
-rw-r--r--nixpkgs/pkgs/tools/misc/mandoc/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/mandown/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/marlin-calc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/mc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mcfly/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mimeo/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/miniserve/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mmctl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mongodb-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mrtg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mysqltuner/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/default.nix64
-rw-r--r--nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch32
-rw-r--r--nixpkgs/pkgs/tools/misc/netbootxyz-efi/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/misc/nix-direnv/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/nncp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/odyssey/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/onefetch/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/misc/onefetch/zstd-pkg-config.patch31
-rw-r--r--nixpkgs/pkgs/tools/misc/opencbm/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/opentelemetry-collector/contrib.nix45
-rw-r--r--nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/misc/opentsdb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pandoc-drawio-filter/default.nix78
-rw-r--r--nixpkgs/pkgs/tools/misc/panicparse/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/parallel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pferd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/phrase-cli/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/misc/pinsel/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/pipectl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/plocate/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/pmbootstrap/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/popsicle/default.nix73
-rw-r--r--nixpkgs/pkgs/tools/misc/pre-commit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pspg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/qflipper/default.nix121
-rw-r--r--nixpkgs/pkgs/tools/misc/qmk/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/rates/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/remind/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/rpi-imager/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/screen/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/misc/scrub/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/misc/sfeed/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/default.nix36
-rwxr-xr-xnixpkgs/pkgs/tools/misc/sharedown/update.sh14
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/yarn.lock385
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix1004
-rw-r--r--nixpkgs/pkgs/tools/misc/shunit2/default.nix74
-rw-r--r--nixpkgs/pkgs/tools/misc/skim/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/snapper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/snore/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/spigot/default.nix50
-rw-r--r--nixpkgs/pkgs/tools/misc/starship/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/steampipe/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/synth/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/taoup/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/thefuck/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tlp/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/tlp/patches/0002-reintroduce-tlp-sleep-service.patch (renamed from nixpkgs/pkgs/tools/misc/tlp/patches/0002-tlp-sleep.service-reintroduce.patch)17
-rw-r--r--nixpkgs/pkgs/tools/misc/topgrade/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/topicctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ttfautohint/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/ttygif/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/txr/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/tz/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/unparam/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/via/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/viddy/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/vivid/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/vttest/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/wakatime/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/wimboot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/writedisk/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/wyrd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/yle-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yt-dlp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ytarchive/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ytfzf/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/z-lua/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/zellij/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/networking/amass/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/aria2/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/assh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/bgpq3/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/boundary/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/chaos/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/checkip/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/chisel/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/circus/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/cmst/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/networking/connman/connman.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/corerad/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/croc/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/curl/default.nix93
-rw-r--r--nixpkgs/pkgs/tools/networking/davix/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dcap/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcpcd/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/networking/dibbler/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsmasq/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstake/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstracer/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstwist/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dogdns/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/networking/drill/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/networking/fakeroute/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/findomain/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/flannel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/fping/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/frp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/getmail/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/networking/getmail6/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/godns/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/godspeed/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/gost/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/networking/gping/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcurl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/gvpe/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch18
-rw-r--r--nixpkgs/pkgs/tools/networking/haproxy/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/horst/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/htpdate/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/networking/httpie/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/httplz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/hurl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/i2p/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/i2pd/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/imapproxy/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/inadyn/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/innernet/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/ipv6calc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/kapp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/keepalived/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/lftp/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/libreswan/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/linux-router/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/lychee/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/mailutils/default.nix55
-rw-r--r--nixpkgs/pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/modemmanager/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/mqttui/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/networking/mtr/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/networking/n2n/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/nebula/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/netavark/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/networking/netboot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/netdiscover/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/l2tp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/libnma/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/tray.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/notemap/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch12
-rw-r--r--nixpkgs/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch14
-rw-r--r--nixpkgs/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch34
-rw-r--r--nixpkgs/pkgs/tools/networking/ntopng/default.nix60
-rw-r--r--nixpkgs/pkgs/tools/networking/nttcp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/ocserv/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/ofono/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/oha/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/oneshot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/openfortivpn/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/opensnitch/go-mod.patch24
-rw-r--r--nixpkgs/pkgs/tools/networking/opensnitch/ui.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/openssh/common.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/openssh/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/networking/openvpn/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/amule/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/networking/pcapc/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/networking/persepolis/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/philter/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/proxify/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/proxychains-ng/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/pssh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/py-wmi-client/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/qodem/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/networking/ratman/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/networking/reaver-wps/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/reaver-wps/parallel-build.patch11
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowfox/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/sish/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/snowflake/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/networking/socat/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/socat/socat-fix-feature-check-tcpinfo.patch21
-rw-r--r--nixpkgs/pkgs/tools/networking/sockperf/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/strongswan/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/subfinder/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpreplay/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/telepresence2/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/tendermint/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/termscp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/tinyssh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/traceroute/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/tuntox/default.nix80
-rw-r--r--nixpkgs/pkgs/tools/networking/twa/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/urlwatch/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/v2ray/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/vpnc/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/networking/weighttp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/networking/whois/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/wifite2/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/networking/wuzz/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/networking/wuzz/deps.nix92
-rw-r--r--nixpkgs/pkgs/tools/networking/xh/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/xl2tpd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/xrootd/default.nix80
-rw-r--r--nixpkgs/pkgs/tools/networking/xrootd/test-runner.nix27
-rw-r--r--nixpkgs/pkgs/tools/networking/xxh/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/networking/yggdrasil/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/nix/alejandra/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/nix/statix/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/apk-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/apt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/bunny/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-about/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cde/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/comma/default.nix55
-rw-r--r--nixpkgs/pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-top/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/common.nix212
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/default.nix330
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/nix-perl.nix44
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/patches/aws-sdk-cpp-TransferManager-ContentEncoding.patch (renamed from nixpkgs/pkgs/tools/package-management/nix/aws-sdk-cpp-TransferManager-ContentEncoding.patch)0
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch45
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix/patches/install-nlohmann_json-headers.patch36
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/python-env/poetry.lock644
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/python-env/pyproject.toml24
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/python-env/shell.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/packagekit/default.nix127
-rw-r--r--nixpkgs/pkgs/tools/package-management/pdm/check-update.patch12
-rw-r--r--nixpkgs/pkgs/tools/package-management/pdm/default.nix106
-rw-r--r--nixpkgs/pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch64
-rw-r--r--nixpkgs/pkgs/tools/package-management/rpm/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/age/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/agebox/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/aide/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/amber/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/b3sum/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/beyond-identity/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/boofuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/bypass403/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/cariddi/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/ccid/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/certipy/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/security/cfripper/default.nix76
-rw-r--r--nixpkgs/pkgs/tools/security/chipsec/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/security/clamav/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cloudlist/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/corsmisc/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/cosign/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/security/dalfox/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/dnspeep/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/dnsx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/doas/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/dontgo403/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/doppler/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/duo-unix/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ecdsautils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/eid-mw/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/encryptr/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/security/enpass/data.json4
-rw-r--r--nixpkgs/pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/extrude/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/fail2ban/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/security/faraday-agent-dispatcher/default.nix69
-rw-r--r--nixpkgs/pkgs/tools/security/faraday-cli/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/security/firefox_decrypt/default.nix45
-rwxr-xr-xnixpkgs/pkgs/tools/security/firefox_decrypt/update.sh49
-rw-r--r--nixpkgs/pkgs/tools/security/fprintd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/fwbuilder/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/security/gau/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gfshare/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch130
-rw-r--r--nixpkgs/pkgs/tools/security/ghidra/build.nix178
-rw-r--r--nixpkgs/pkgs/tools/security/gitleaks/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg/23.nix (renamed from nixpkgs/pkgs/tools/security/gnupg/22.nix)40
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg/allow-import-of-previously-known-keys-even-without-UI.patch21
-rw-r--r--nixpkgs/pkgs/tools/security/gnupg/fix-libusb-include-path.patch2
-rw-r--r--nixpkgs/pkgs/tools/security/go365/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/gomapenum/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/summon.nix39
-rw-r--r--nixpkgs/pkgs/tools/security/gpg-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gpgstats/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/security/grype/default.nix52
-rw-r--r--nixpkgs/pkgs/tools/security/haka/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/haveged/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/security/honggfuzz/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/security/httpx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/ipscan/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/jadx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/jaeles/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/security/john/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/jwt-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/kbs2/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/gui.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/kbfs.nix15
-rw-r--r--nixpkgs/pkgs/tools/security/keycard-cli/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/security/knockpy/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/kube-hunter/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/kubescape/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/kubesec/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/libmodsecurity/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/security/libtpms/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/lmp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/log4j-sniffer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/log4j-vuln-scanner/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/lynis/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/maigret/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock142
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/gemset.nix190
-rw-r--r--nixpkgs/pkgs/tools/security/mkp224o/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/modsecurity-crs/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/security/naabu/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/nitrokey-app/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/nmap-formatter/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/nmap/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/security/nuclei/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/orjail/default.nix55
-rw-r--r--nixpkgs/pkgs/tools/security/otpauth/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/audit/0001-Set-base-to-an-empty-value.patch43
-rw-r--r--nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/pass2csv/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/passphrase2pgp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/pbis/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/pcsclite/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/pcsclite/no-dropdir-literals.patch38
-rw-r--r--nixpkgs/pkgs/tools/security/pcsctools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/pinentry-bemenu/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/pinentry/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/pynitrokey/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/security/quark-engine/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/rbw/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/rekor/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/rng-tools/default.nix76
-rw-r--r--nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch51
-rw-r--r--nixpkgs/pkgs/tools/security/rnp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/rucredstash/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/security/saml2aws/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/scallion/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/security/scilla/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/scorecard/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/secp256k1/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/sigurlx/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/snallygaster/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/snow/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/solo2-cli/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/security/spire/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/security/spyre/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/step-ca/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/step-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/stoken/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/sudo/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/swtpm/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/terrascan/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/thc-hydra/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/traitor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/uddup/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/security/vault/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/vaultwarden/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/volatility/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/volatility3/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/vulnix/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/wafw00f/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/witness/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/security/wprecon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/yubikey-agent/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/yubikey-touch-detector/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/acpica-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/bfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/bottom/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/bpytop/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/btop/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/collectd/data.nix10
-rw-r--r--nixpkgs/pkgs/tools/system/collectd/plugins.nix10
-rw-r--r--nixpkgs/pkgs/tools/system/dd_rescue/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ddrescue/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/di/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/evemu/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/fakechroot/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/system/fakeroot/default.nix65
-rw-r--r--nixpkgs/pkgs/tools/system/fio/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/system/freeipmi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/gdu/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/go-audit/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/goreman/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/system/gotop/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/system/gptman/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/iops/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/system/ipmiutil/default.upstream4
-rw-r--r--nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/logrotate/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/monit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/natscli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch24
-rw-r--r--nixpkgs/pkgs/tools/system/proot/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/system/ps_mem/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/rsyslog/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/skeema/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/syslog-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/thermald/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/thinkfan/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/tuptime/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/text/chars/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/chroma/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/chroma/src.json8
-rw-r--r--nixpkgs/pkgs/tools/text/colordiff/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/crowdin-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/csview/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/difftastic/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/text/discount/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/gnugrep/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/text/goawk/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/text/gpt2tc/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/hottext/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/icdiff/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/kdiff3/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/text/languagetool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/link-grammar/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/mark/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-linkcheck/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/mdcat/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/text/opencc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/patchutils/generic.nix3
-rw-r--r--nixpkgs/pkgs/tools/text/qprint/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/ruplacer/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/sad/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/shfmt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/shocco/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/txt2tags/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/ugrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/vgrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/xml/rxp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/yaml-merge/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile7
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile.lock31
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix69
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock12
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix24
-rw-r--r--nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile.lock38
-rw-r--r--nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/typesetting/docbookrx/gemset.nix107
-rw-r--r--nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/odpdown/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/typesetting/pdftk/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/typesetting/sile/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/skribilo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix8
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix8
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix9096
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix5405
-rw-r--r--nixpkgs/pkgs/tools/typesetting/xmlroff/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/video/dvgrab/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/video/mjpegtools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/video/rav1e/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/video/svt-av1/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/video/vnc2flv/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix133
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/ec2-utils/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix53
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-guest-agent/disable-etc-mutation.patch54
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-guest-agent/fix-paths.patch43
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-guest-configs/default.nix52
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-guest-configs/fix-paths.patch61
-rw-r--r--nixpkgs/pkgs/tools/virtualization/google-guest-oslogin/default.nix (renamed from nixpkgs/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix)28
-rw-r--r--nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/virtualization/lxd-image-server/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/virtualization/shipyard/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/virtualization/xe-guest-utilities/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/wayland/swaytools/default.nix22
-rwxr-xr-xnixpkgs/pkgs/tools/wayland/swaytools/update.py58
-rw-r--r--nixpkgs/pkgs/tools/wayland/wluma/default.nix35
-rw-r--r--nixpkgs/pkgs/top-level/aliases.nix2110
-rw-r--r--nixpkgs/pkgs/top-level/all-packages.nix2473
-rw-r--r--nixpkgs/pkgs/top-level/coq-packages.nix5
-rw-r--r--nixpkgs/pkgs/top-level/darwin-packages.nix4
-rw-r--r--nixpkgs/pkgs/top-level/default.nix11
-rw-r--r--nixpkgs/pkgs/top-level/gnuradio-packages.nix12
-rw-r--r--nixpkgs/pkgs/top-level/haskell-packages.nix20
-rw-r--r--nixpkgs/pkgs/top-level/java-packages.nix5
-rw-r--r--nixpkgs/pkgs/top-level/kodi-packages.nix43
-rw-r--r--nixpkgs/pkgs/top-level/linux-kernels.nix32
-rw-r--r--nixpkgs/pkgs/top-level/make-tarball.nix2
-rw-r--r--nixpkgs/pkgs/top-level/nim-packages.nix4
-rw-r--r--nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix48
-rw-r--r--nixpkgs/pkgs/top-level/ocaml-packages.nix40
-rw-r--r--nixpkgs/pkgs/top-level/packages-config.nix10
-rw-r--r--nixpkgs/pkgs/top-level/perl-packages.nix108
-rw-r--r--nixpkgs/pkgs/top-level/php-packages.nix7
-rw-r--r--nixpkgs/pkgs/top-level/python-aliases.nix16
-rw-r--r--nixpkgs/pkgs/top-level/python-packages.nix478
-rw-r--r--nixpkgs/pkgs/top-level/python2-packages.nix150
-rw-r--r--nixpkgs/pkgs/top-level/qt5-packages.nix4
-rw-r--r--nixpkgs/pkgs/top-level/release-haskell.nix17
-rw-r--r--nixpkgs/pkgs/top-level/release-python.nix20
-rw-r--r--nixpkgs/pkgs/top-level/release-small.nix25
-rw-r--r--nixpkgs/pkgs/top-level/release.nix20
-rw-r--r--nixpkgs/pkgs/top-level/ruby-packages.nix317
-rw-r--r--nixpkgs/pkgs/top-level/wine-packages.nix41
-rw-r--r--overlays/patches/dino/default.nix7
-rw-r--r--overlays/patches/linux/eve-backlight.patch122
6726 files changed, 154557 insertions, 104817 deletions
diff --git a/nixpkgs/.editorconfig b/nixpkgs/.editorconfig
index 7d0157a6c427..17f92c50d169 100644
--- a/nixpkgs/.editorconfig
+++ b/nixpkgs/.editorconfig
@@ -61,19 +61,12 @@ trim_trailing_whitespace = unset
 [nixos/modules/services/networking/ircd-hybrid/*.{conf,in}]
 trim_trailing_whitespace = unset
 
-[nixos/tests/systemd-networkd-vrf.nix]
-trim_trailing_whitespace = unset
-
 [pkgs/build-support/dotnetenv/Wrapper/**]
 end_of_line = unset
 indent_style = unset
 insert_final_newline = unset
 trim_trailing_whitespace = unset
 
-[pkgs/build-support/upstream-updater/**]
-indent_style = unset
-trim_trailing_whitespace = unset
-
 [pkgs/development/compilers/elm/registry.dat]
 end_of_line = unset
 insert_final_newline = unset
@@ -87,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/nixpkgs/.github/CODEOWNERS b/nixpkgs/.github/CODEOWNERS
index a94b761de1d0..79296f647375 100644
--- a/nixpkgs/.github/CODEOWNERS
+++ b/nixpkgs/.github/CODEOWNERS
@@ -118,7 +118,8 @@
 
 # Rust
 /pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
-/pkgs/build-support/rust @andir @zowoq
+/pkgs/build-support/rust @zowoq
+/doc/languages-frameworks/rust.section.md @zowoq
 
 # Darwin-related
 /pkgs/stdenv/darwin         @NixOS/darwin-maintainers
@@ -141,6 +142,15 @@
 /pkgs/development/tools/build-managers/rebar3   @gleber
 /pkgs/development/tools/erlang                  @gleber
 
+# Audio
+/nixos/modules/services/audio/botamusique.nix @mweinelt
+/nixos/modules/services/audio/snapserver.nix @mweinelt
+/nixos/tests/modules/services/audio/botamusique.nix @mweinelt
+/nixos/tests/snapcast.nix @mweinelt
+
+# Browsers
+/pkgs/applications/networking/browsers/firefox @mweinelt
+
 # Jetbrains
 /pkgs/applications/editors/jetbrains @edwtjo
 
@@ -167,12 +177,30 @@
 /nixos/tests/hardened.nix @joachifm
 /pkgs/os-specific/linux/kernel/hardened-config.nix @joachifm
 
+# Home Automation
+/nixos/modules/services/misc/home-assistant.nix @mweinelt
+/nixos/modules/services/misc/zigbee2mqtt.nix @mweinelt
+/nixos/tests/home-assistant.nix @mweinelt
+/nixos/tests/zigbee2mqtt.nix @mweinelt
+/pkgs/servers/home-assistant @mweinelt
+/pkgs/tools/misc/esphome @mweinelt
+
 # Network Time Daemons
 /pkgs/tools/networking/chrony @thoughtpolice
 /pkgs/tools/networking/ntp @thoughtpolice
 /pkgs/tools/networking/openntpd @thoughtpolice
 /nixos/modules/services/networking/ntp @thoughtpolice
 
+# Network
+/pkgs/tools/networking/kea/default.nix @mweinelt
+/pkgs/tools/networking/babeld/default.nix @mweinelt
+/nixos/modules/services/networking/babeld.nix @mweinelt
+/nixos/modules/services/networking/kea.nix @mweinelt
+/nixos/modules/services/networking/knot.nix @mweinelt
+/nixos/tests/babeld.nix @mweinelt
+/nixos/tests/kea.nix @mweinelt
+/nixos/tests/knot.nix @mweinelt
+
 # Dhall
 /pkgs/development/dhall-modules      @Gabriel439 @Profpatsch @ehmry
 /pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch @ehmry
@@ -190,9 +218,9 @@
 /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
@@ -245,10 +273,26 @@
 # Cinnamon
 /pkgs/desktops/cinnamon @mkg20001
 
-#nim
-/pkgs/development/compilers/nim  @ehmry
-/pkgs/development/nim-packages  @ehmry
+# nim
+/pkgs/development/compilers/nim   @ehmry
+/pkgs/development/nim-packages    @ehmry
 /pkgs/top-level/nim-packages.nix  @ehmry
 
 # terraform providers
 /pkgs/applications/networking/cluster/terraform-providers @zowoq
+
+# kubernetes
+/nixos/doc/manual/configuration/kubernetes.chapter.md @zowoq
+/nixos/modules/services/cluster/kubernetes            @zowoq
+/nixos/tests/kubernetes                               @zowoq
+/pkgs/applications/networking/cluster/kubernetes      @zowoq
+
+# Matrix
+/pkgs/servers/heisenbridge                                 @piegamesde
+/pkgs/servers/matrix-conduit                               @piegamesde @pstn
+/pkgs/servers/matrix-synapse/matrix-appservice-irc         @piegamesde
+/nixos/modules/services/misc/heisenbridge.nix              @piegamesde
+/nixos/modules/services/misc/matrix-appservice-irc.nix     @piegamesde
+/nixos/modules/services/misc/matrix-conduit.nix            @piegamesde @pstn
+/nixos/tests/matrix-appservice-irc.nix                     @piegamesde
+/nixos/tests/matrix-conduit.nix                            @piegamesde @pstn
diff --git a/nixpkgs/.github/ISSUE_TEMPLATE/out_of_date_package_report.md b/nixpkgs/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
index 72c09a19c0e6..f1535526c2a7 100644
--- a/nixpkgs/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
+++ b/nixpkgs/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
@@ -13,10 +13,10 @@ assignees: ''
 <!-- Note that these are hard requirements -->
 
 <!--
-You can use the "Go to file" functionality on github to find the package
+You can use the "Go to file" functionality on GitHub to find the package
 Then you can go to the history for this package
 Find the latest "package_name: old_version -> new_version" commit
-The "new_version" is the the current version of the package
+The "new_version" is the current version of the package
 -->
 - [ ] Checked the [nixpkgs master branch](https://github.com/NixOS/nixpkgs)
 <!--
@@ -29,7 +29,7 @@ There's a high chance that you'll have the new version right away while helping
 ###### Project name
 `nix search` name:
 <!--
-The current version can be found easily with the same process than above for checking the master branch
+The current version can be found easily with the same process as above for checking the master branch
 If an open PR is present for the package, take this version as the current one and link to the PR
 -->
 current version:
diff --git a/nixpkgs/.github/labeler.yml b/nixpkgs/.github/labeler.yml
index e23cd9598ff9..a3c1ed1b587f 100644
--- a/nixpkgs/.github/labeler.yml
+++ b/nixpkgs/.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
diff --git a/nixpkgs/.github/workflows/update-terraform-providers.yml b/nixpkgs/.github/workflows/update-terraform-providers.yml
new file mode 100644
index 000000000000..9de57d6e3d19
--- /dev/null
+++ b/nixpkgs/.github/workflows/update-terraform-providers.yml
@@ -0,0 +1,47 @@
+name: "Update terraform-providers"
+
+on:
+  schedule:
+    - cron: "14 3 * * 1"
+  workflow_dispatch:
+
+jobs:
+  tf-providers:
+    if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: cachix/install-nix-action@v16
+      - name: setup
+        id: setup
+        run: |
+          echo ::set-output name=title::"terraform-providers: update $(date -u +"%Y-%m-%d")"
+      - name: update terraform-providers
+        run: |
+          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 --no-build
+          git commit -m "${{ steps.setup.outputs.title }}" providers.json
+          popd
+      - name: create PR
+        uses: peter-evans/create-pull-request@v3
+        with:
+          body: |
+            Automatic update of terraform providers.
+
+            Created by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
+
+            Check that all providers build with `@ofborg build terraform-full`
+          branch: terraform-providers-update
+          delete-branch: false
+          labels: "2.status: work-in-progress"
+          title: ${{ steps.setup.outputs.title }}
+          token: ${{ secrets.GITHUB_TOKEN }}
+      - name: comment on failure
+        uses: peter-evans/create-or-update-comment@v1
+        if: ${{ failure() }}
+        with:
+          issue-number: 153416
+          body: |
+            Automatic update of terraform providers [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
diff --git a/nixpkgs/CONTRIBUTING.md b/nixpkgs/CONTRIBUTING.md
index e3a18c6e7eb4..f0d1ecf5aa32 100644
--- a/nixpkgs/CONTRIBUTING.md
+++ b/nixpkgs/CONTRIBUTING.md
@@ -11,6 +11,10 @@ under the terms of [COPYING](COPYING), which is an MIT-like license.
 
 ## Submitting changes
 
+Read the ["Submitting changes"](https://nixos.org/nixpkgs/manual/#chap-submitting-changes) section of the nixpkgs manual. It explains how to write, test, and iterate on your change, and which branch to base your pull request against.
+
+Below is a short excerpt of some points in there:
+
 * Format the commit messages in the following way:
 
   ```
@@ -40,7 +44,7 @@ under the terms of [COPYING](COPYING), which is an MIT-like license.
   * If there is no upstream license, `meta.license` should default to `lib.licenses.unfree`.
 * `meta.maintainers` must be set.
 
-See the nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes) and on how to [submit changes to nixpkgs](https://nixos.org/nixpkgs/manual/#chap-submitting-changes).
+See the nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes).
 
 ## Writing good commit messages
 
diff --git a/nixpkgs/COPYING b/nixpkgs/COPYING
index fe46c6a1d82d..65ac1feaf010 100644
--- a/nixpkgs/COPYING
+++ b/nixpkgs/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2003-2021 Eelco Dolstra and the Nixpkgs/NixOS contributors
+Copyright (c) 2003-2022 Eelco Dolstra and the Nixpkgs/NixOS contributors
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
diff --git a/nixpkgs/README.md b/nixpkgs/README.md
index e0970f85ff23..082469876b75 100644
--- a/nixpkgs/README.md
+++ b/nixpkgs/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/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua b/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua
index 12431f140fed..e437ac73a1cb 100644
--- a/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua
+++ b/nixpkgs/doc/build-aux/pandoc-filters/link-unix-man-references.lua
@@ -1,6 +1,5 @@
 --[[
-Turns a manpage reference into a link, when a mapping is defined
-in the unix-man-urls.lua file.
+Turns a manpage reference into a link, when a mapping is defined below.
 ]]
 
 local man_urls = {
diff --git a/nixpkgs/doc/builders/fetchers.chapter.md b/nixpkgs/doc/builders/fetchers.chapter.md
index e36724f295f9..28388ba685d8 100644
--- a/nixpkgs/doc/builders/fetchers.chapter.md
+++ b/nixpkgs/doc/builders/fetchers.chapter.md
@@ -40,6 +40,24 @@ Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `rev` in this c
 
 Additionally the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
 
+If only parts of the repository are needed, `sparseCheckout` can be used. This will prevent git from fetching unnecessary blobs from server, see [git sparse-checkout](https://git-scm.com/docs/git-sparse-checkout) and [git clone --filter](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---filterltfilter-specgt) for more infomation:
+
+```nix
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "hello";
+  src = fetchgit {
+    url = "https://...";
+    sparseCheckout = ''
+      path/to/be/included
+      another/path
+    '';
+    sha256 = "0000000000000000000000000000000000000000000000000000";
+  };
+}
+```
+
 ## `fetchfossil` {#fetchfossil}
 
 Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`.
@@ -82,4 +100,11 @@ This is used with repo.or.cz repositories. The arguments expected are very simil
 
 ## `fetchFromSourcehut` {#fetchfromsourcehut}
 
-This is used with sourcehut repositories. The arguments expected are very similar to fetchFromGitHub above. Don't forget the tilde (~) in front of the user name!
+This is used with sourcehut repositories. Similar to `fetchFromGitHub` above,
+it expects `owner`, `repo`, `rev` and `sha256`, but don't forget the tilde (~)
+in front of the username! Expected arguments also include `vc` ("git" (default)
+or "hg"), `domain` and `fetchSubmodules`.
+
+If `fetchSubmodules` is `true`, `fetchFromSourcehut` uses `fetchgit`
+or `fetchhg` with `fetchSubmodules` or `fetchSubrepos` set to `true`,
+respectively. Otherwise the fetcher uses `fetchzip`.
diff --git a/nixpkgs/doc/builders/special/mkshell.section.md b/nixpkgs/doc/builders/special/mkshell.section.md
index 8a62c50e17dd..73cc57f485bd 100644
--- a/nixpkgs/doc/builders/special/mkshell.section.md
+++ b/nixpkgs/doc/builders/special/mkshell.section.md
@@ -1,17 +1,37 @@
 # pkgs.mkShell {#sec-pkgs-mkShell}
 
-`pkgs.mkShell` is a special kind of derivation that is only useful when using
-it combined with `nix-shell`. It will in fact fail to instantiate when invoked
-with `nix-build`.
+`pkgs.mkShell` is a specialized `stdenv.mkDerivation` that removes some
+repetition when using it with `nix-shell` (or `nix develop`).
 
 ## Usage {#sec-pkgs-mkShell-usage}
 
+Here is a common usage example:
+
 ```nix
 { pkgs ? import <nixpkgs> {} }:
 pkgs.mkShell {
-  # specify which packages to add to the shell environment
   packages = [ pkgs.gnumake ];
-  # add all the dependencies, of the given packages, to the shell environment
-  inputsFrom = with pkgs; [ hello gnutar ];
+
+  inputsFrom = [ pkgs.hello pkgs.gnutar ];
+
+  shellHook = ''
+    export DEBUG=1
+  '';
 }
 ```
+
+## Attributes
+
+* `name` (default: `nix-shell`). Set the name of the derivation.
+* `packages` (default: `[]`). Add executable packages to the `nix-shell` environment.
+* `inputsFrom` (default: `[]`). Add build dependencies of the listed derivations to the `nix-shell` environment.
+* `shellHook` (default: `""`). Bash statements that are executed by `nix-shell`.
+
+... all the attributes of `stdenv.mkDerivation`.
+
+## Building the shell
+
+This derivation output will contain a text file that contains a reference to
+all the build inputs. This is useful in CI where we want to make sure that
+every derivation, and its dependencies, build properly. Or when creating a GC
+root so that the build dependencies don't get garbage-collected.
diff --git a/nixpkgs/doc/builders/trivial-builders.chapter.md b/nixpkgs/doc/builders/trivial-builders.chapter.md
index c3a3572cd9f4..779a0a801b4e 100644
--- a/nixpkgs/doc/builders/trivial-builders.chapter.md
+++ b/nixpkgs/doc/builders/trivial-builders.chapter.md
@@ -47,6 +47,88 @@ These functions write `text` to the Nix store. This is useful for creating scrip
 
 Many more commands wrap `writeTextFile` including `writeText`, `writeTextDir`, `writeScript`, and `writeScriptBin`. These are convenience functions over `writeTextFile`.
 
+Here are a few examples:
+```nix
+# Writes my-file to /nix/store/<store path>
+writeTextFile {
+  name = "my-file";
+  text = ''
+    Contents of File
+  '';
+}
+# See also the `writeText` helper function below.
+
+# Writes executable my-file to /nix/store/<store path>/bin/my-file
+writeTextFile {
+  name = "my-file";
+  text = ''
+    Contents of File
+  '';
+  executable = true;
+  destination = "/bin/my-file";
+}
+# Writes contents of file to /nix/store/<store path>
+writeText "my-file"
+  ''
+  Contents of File
+  '';
+# Writes contents of file to /nix/store/<store path>/share/my-file
+writeTextDir "share/my-file"
+  ''
+  Contents of File
+  '';
+# Writes my-file to /nix/store/<store path> and makes executable
+writeScript "my-file"
+  ''
+  Contents of File
+  '';
+# Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.
+writeScriptBin "my-file"
+  ''
+  Contents of File
+  '';
+# Writes my-file to /nix/store/<store path> and makes executable.
+writeShellScript "my-file"
+  ''
+  Contents of File
+  '';
+# Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.
+writeShellScriptBin "my-file"
+  ''
+  Contents of File
+  '';
+
+```
+
+## `concatTextFile`, `concatText`, `concatScript` {#trivial-builder-concatText}
+
+These functions concatenate `files` to the Nix store in a single file. This is useful for configuration files structured in lines of text. `concatTextFile` takes an attribute set and expects two arguments, `name` and `files`. `name` corresponds to the name used in the Nix store path. `files` will be the files to be concatenated. You can also set `executable` to true to make this file have the executable bit set.
+`concatText` and`concatScript` are simple wrappers over `concatTextFile`.
+
+Here are a few examples:
+```nix
+
+# Writes my-file to /nix/store/<store path>
+concatTextFile {
+  name = "my-file";
+  files = [ drv1 "${drv2}/path/to/file" ];
+}
+# See also the `concatText` helper function below.
+
+# Writes executable my-file to /nix/store/<store path>/bin/my-file
+concatTextFile {
+  name = "my-file";
+  files = [ drv1 "${drv2}/path/to/file" ];
+  executable = true;
+  destination = "/bin/my-file";
+}
+# Writes contents of files to /nix/store/<store path>
+concatText "my-file" [ file1 file2 ]
+
+# Writes contents of files to /nix/store/<store path>
+concatScript "my-file" [ file1 file2 ]
+```
+
 ## `writeShellApplication` {#trivial-builder-writeShellApplication}
 
 This can be used to easily produce a shell script that has some dependencies (`runtimeInputs`). It automatically sets the `PATH` of the script to contain all of the listed inputs, sets some sanity shellopts (`errexit`, `nounset`, `pipefail`), and checks the resulting script with [`shellcheck`](https://github.com/koalaman/shellcheck).
@@ -72,6 +154,26 @@ validation.
 ## `symlinkJoin` {#trivial-builder-symlinkJoin}
 
 This can be used to put many derivations into the same directory structure. It works by creating a new derivation and adding symlinks to each of the paths listed. It expects two arguments, `name`, and `paths`. `name` is the name used in the Nix store path for the created derivation. `paths` is a list of paths that will be symlinked. These paths can be to Nix store derivations or any other subdirectory contained within.
+Here is an example:
+```nix
+# adds symlinks of hello and stack to current build and prints "links added"
+symlinkJoin { name = "myexample"; paths = [ pkgs.hello pkgs.stack ]; postBuild = "echo links added"; }
+```
+This creates a derivation with a directory structure like the following:
+```
+/nix/store/sglsr5g079a5235hy29da3mq3hv8sjmm-myexample
+|-- bin
+|   |-- hello -> /nix/store/qy93dp4a3rqyn2mz63fbxjg228hffwyw-hello-2.10/bin/hello
+|   `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/bin/stack
+`-- share
+    |-- bash-completion
+    |   `-- completions
+    |       `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/bash-completion/completions/stack
+    |-- fish
+    |   `-- vendor_completions.d
+    |       `-- stack.fish -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/fish/vendor_completions.d/stack.fish
+...
+```
 
 ## `writeReferencesToFile` {#trivial-builder-writeReferencesToFile}
 
diff --git a/nixpkgs/doc/contributing/coding-conventions.chapter.md b/nixpkgs/doc/contributing/coding-conventions.chapter.md
index 79d90c23a40f..cfe8582e514a 100644
--- a/nixpkgs/doc/contributing/coding-conventions.chapter.md
+++ b/nixpkgs/doc/contributing/coding-conventions.chapter.md
@@ -224,7 +224,7 @@ There are a few naming guidelines:
 
 - Dashes in the package name _should_ be preserved in new variable names, rather than converted to underscores or camel cased — e.g., `http-parser` instead of `http_parser` or `httpParser`. The hyphenated style is preferred in all three package names.
 
-- If there are multiple versions of a package, this _should_ be reflected in the variable names in `all-packages.nix`, e.g. `json-c-0-9` and `json-c-0-11`. If there is an obvious “default” version, make an attribute like `json-c = json-c-0-9;`. See also [](#sec-versioning)
+- If there are multiple versions of a package, this _should_ be reflected in the variable names in `all-packages.nix`, e.g. `json-c_0_9` and `json-c_0_11`. If there is an obvious “default” version, make an attribute like `json-c = json-c_0_9;`. See also [](#sec-versioning)
 
 ## File naming and organisation {#sec-organisation}
 
diff --git a/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md b/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md
index 178fdb36262b..1384772ebb2b 100644
--- a/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md
+++ b/nixpkgs/doc/contributing/contributing-to-documentation.chapter.md
@@ -55,7 +55,7 @@ Additionally, the following syntax extensions are currently used:
 - []{#ssec-contributing-markup-inline-roles}
   If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`.
 
-  The references will turn into links when a mapping exists in {file}`doc/build-aux/pandoc-filters/unix-man-urls.lua`.
+  The references will turn into links when a mapping exists in {file}`doc/build-aux/pandoc-filters/link-unix-man-references.lua`.
 
   This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point). Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
 
diff --git a/nixpkgs/doc/contributing/reviewing-contributions.chapter.md b/nixpkgs/doc/contributing/reviewing-contributions.chapter.md
index 3f3ba60947cc..0a90781d0c59 100644
--- a/nixpkgs/doc/contributing/reviewing-contributions.chapter.md
+++ b/nixpkgs/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/nixpkgs/doc/contributing/submitting-changes.chapter.md b/nixpkgs/doc/contributing/submitting-changes.chapter.md
index 09ffba3dc6fc..d5b5f5a60175 100644
--- a/nixpkgs/doc/contributing/submitting-changes.chapter.md
+++ b/nixpkgs/doc/contributing/submitting-changes.chapter.md
@@ -227,7 +227,7 @@ digraph {
 }
 ```
 
-[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/merge-staging.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
+[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/periodic-merge-6h.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
 
 
 ### Master branch {#submitting-changes-master-branch}
diff --git a/nixpkgs/doc/languages-frameworks/beam.section.md b/nixpkgs/doc/languages-frameworks/beam.section.md
index 9b09d0329c5f..f6c74cb01e40 100644
--- a/nixpkgs/doc/languages-frameworks/beam.section.md
+++ b/nixpkgs/doc/languages-frameworks/beam.section.md
@@ -74,7 +74,7 @@ there are 3 steps, frontend dependencies (javascript), backend dependencies (eli
 
 ##### mixRelease - Frontend dependencies (javascript) {#mix-release-javascript-deps}
 
-for phoenix projects, inside of nixpkgs you can either use yarn2nix (mkYarnModule) or node2nix. An example with yarn2nix can be found [here](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39). An example with node2nix will follow. To package something outside of nixpkgs, you have alternatives like [npmlock2nix](https://github.com/nix-community/npmlock2nix) or [nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage)
+For phoenix projects, inside of nixpkgs you can either use yarn2nix (mkYarnModule) or node2nix. An example with yarn2nix can be found [here](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39). An example with node2nix will follow. To package something outside of nixpkgs, you have alternatives like [npmlock2nix](https://github.com/nix-community/npmlock2nix) or [nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage)
 
 ##### mixRelease - backend dependencies (mix) {#mix-release-mix-deps}
 
@@ -82,13 +82,13 @@ There are 2 ways to package backend dependencies. With mix2nix and with a fixed-
 
 ###### mix2nix {#mix2nix}
 
-mix2nix is a cli tool available in nixpkgs. it will generate a nix expression from a mix.lock file. It is quite standard in the 2nix tool series.
+`mix2nix` is a cli tool available in nixpkgs. it will generate a nix expression from a mix.lock file. It is quite standard in the 2nix tool series.
 
 Note that currently mix2nix can't handle git dependencies inside the mix.lock file. If you have git dependencies, you can either add them manually (see [example](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/pleroma/default.nix#L20)) or use the FOD method.
 
 The advantage of using mix2nix is that nix will know your whole dependency graph. On a dependency update, this won't trigger a full rebuild and download of all the dependencies, where FOD will do so.
 
-practical steps:
+Practical steps:
 
 - run `mix2nix > mix_deps.nix` in the upstream repo.
 - pass `mixNixDeps = with pkgs; import ./mix_deps.nix { inherit lib beamPackages; };` as an argument to mixRelease.
@@ -280,6 +280,30 @@ mkShell {
 }
 ```
 
+### Using an overlay
+
+If you need to use an overlay to change some attributes of a derivation, e.g. if you need a bugfix from a version that is not yet available in nixpkgs, you can override attributes such as `version` (and the corresponding `sha256`) and then use this overlay in your development environment:
+
+#### `shell.nix`
+
+```nix
+let
+  elixir_1_13_1_overlay = (self: super: {
+      elixir_1_13 = super.elixir_1_13.override {
+        version = "1.13.1";
+        sha256 = "0z0b1w2vvw4vsnb99779c2jgn9bgslg7b1pmd9vlbv02nza9qj5p";
+      };
+    });
+  pkgs = import <nixpkgs> { overlays = [ elixir_1_13_1_overlay ]; };
+in
+with pkgs;
+mkShell {
+  buildInputs = [
+    elixir_1_13
+  ];
+}
+```
+
 #### Elixir - Phoenix project {#elixir---phoenix-project}
 
 Here is an example `shell.nix`.
diff --git a/nixpkgs/doc/languages-frameworks/dotnet.section.md b/nixpkgs/doc/languages-frameworks/dotnet.section.md
index 88e1a0b29596..f7af28a16775 100644
--- a/nixpkgs/doc/languages-frameworks/dotnet.section.md
+++ b/nixpkgs/doc/languages-frameworks/dotnet.section.md
@@ -84,7 +84,7 @@ To package Dotnet applications, you can use `buildDotnetModule`. This has simila
      <ProjectReference Include="../foo/bar.fsproj" />
      <PackageReference Include="bar" Version="*" Condition=" '$(ContinuousIntegrationBuild)'=='true' "/>
   ```
-* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`.
+* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`. This gets done in the `preFixup` phase.
 * `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.
 * `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`.
 * `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used.
diff --git a/nixpkgs/doc/languages-frameworks/go.section.md b/nixpkgs/doc/languages-frameworks/go.section.md
index 7cbf51c8e373..411205d08e43 100644
--- a/nixpkgs/doc/languages-frameworks/go.section.md
+++ b/nixpkgs/doc/languages-frameworks/go.section.md
@@ -12,8 +12,7 @@ The function `buildGoModule` builds Go programs managed with Go modules. It buil
 In the following is an example expression using `buildGoModule`, the following arguments are of special significance to the function:
 
 - `vendorSha256`: is the hash of the output of the intermediate fetcher derivation. `vendorSha256` can also take `null` as an input. When `null` is used as a value, rather than fetching the dependencies and vendoring them, we use the vendoring included within the source repo. If you'd like to not have to update this field on dependency changes, run `go mod vendor` in your source repo and set `vendorSha256 = null;`
-- `runVend`: runs the vend command to generate the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build.
-- `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if any dependency has case-insensitive conflicts which will produce platform dependant `vendorSha256` checksums.
+- `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build or if any dependency has case-insensitive conflicts which will produce platform dependant `vendorSha256` checksums.
 
 ```nix
 pet = buildGoModule rec {
@@ -34,7 +33,6 @@ pet = buildGoModule rec {
     homepage = "https://github.com/knqyf263/pet";
     license = licenses.mit;
     maintainers = with maintainers; [ kalbasit ];
-    platforms = platforms.linux ++ platforms.darwin;
   };
 }
 ```
diff --git a/nixpkgs/doc/languages-frameworks/ocaml.section.md b/nixpkgs/doc/languages-frameworks/ocaml.section.md
index d266a032268c..47035551d418 100644
--- a/nixpkgs/doc/languages-frameworks/ocaml.section.md
+++ b/nixpkgs/doc/languages-frameworks/ocaml.section.md
@@ -32,9 +32,9 @@ Given that most of the OCaml ecosystem is now built with dune, nixpkgs includes
 
 Here is a simple package example.
 
-- It defines an (optional) attribute `minimalOCamlVersion` that will be used to
-  throw a descriptive evaluation error if building with an older OCaml is
-  attempted.
+- It defines an (optional) attribute `minimalOCamlVersion` (see note below)
+  that will be used to throw a descriptive evaluation error if building with
+  an older OCaml is attempted.
 
 - It uses the `fetchFromGitHub` fetcher to get its source.
 
@@ -117,3 +117,11 @@ buildDunePackage rec {
   };
 }
 ```
+
+Note about `minimalOCamlVersion`.  A deprecated version of this argument was
+spelled `minimumOCamlVersion`; setting the old attribute wrongly modifies the
+derivation hash and is therefore inappropriate. As a technical dept, currently
+packaged libraries may still use the old spelling: maintainers are invited to
+fix this when updating packages. Massive renaming is strongly discouraged as it
+would be challenging to review, difficult to test, and will cause unnecessary
+rebuild.
diff --git a/nixpkgs/doc/stdenv/meta.chapter.md b/nixpkgs/doc/stdenv/meta.chapter.md
index ac518cee524c..d3e1dd5b27d8 100644
--- a/nixpkgs/doc/stdenv/meta.chapter.md
+++ b/nixpkgs/doc/stdenv/meta.chapter.md
@@ -192,10 +192,6 @@ meta.hydraPlatforms = [];
 
 If set to `true`, the package is marked as "broken", meaning that it won’t show up in `nix-env -qa`, and cannot be built or installed. Such packages should be removed from Nixpkgs eventually unless they are fixed.
 
-### `updateWalker` {#var-meta-updateWalker}
-
-If set to `true`, the package is tested to be updated correctly by the `update-walker.sh` script without additional settings. Such packages have `meta.version` set and their homepage (or the page specified by `meta.downloadPage`) contains a direct link to the package tarball.
-
 ## Licenses {#sec-meta-license}
 
 The `meta.license` attribute should preferably contain a value from `lib.licenses` defined in [`nixpkgs/lib/licenses.nix`](https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix), or in-place license description of the same format if the license is unlikely to be useful in another expression.
diff --git a/nixpkgs/doc/stdenv/stdenv.chapter.md b/nixpkgs/doc/stdenv/stdenv.chapter.md
index 6d72bd0deb4f..1d4ca99e3cbe 100644
--- a/nixpkgs/doc/stdenv/stdenv.chapter.md
+++ b/nixpkgs/doc/stdenv/stdenv.chapter.md
@@ -319,10 +319,16 @@ For information about how to run the updates, execute `nix-shell maintainers/scr
 
 ## Phases {#sec-stdenv-phases}
 
-The generic builder has a number of *phases*. Package builds are split into phases to make it easier to override specific parts of the build (e.g., unpacking the sources or installing the binaries). Furthermore, it allows a nicer presentation of build logs in the Nix build farm.
+`stdenv.mkDerivation` sets the Nix [derivation](https://nixos.org/manual/nix/stable/expressions/derivations.html#derivations)'s builder to a script that loads the stdenv `setup.sh` bash library and calls `genericBuild`. Most packaging functions rely on this default builder.
+
+This generic command invokes a number of *phases*. Package builds are split into phases to make it easier to override specific parts of the build (e.g., unpacking the sources or installing the binaries).
 
 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}
 
 There are a number of variables that control what phases are executed and in what order:
@@ -333,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}
 
@@ -790,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.
 
@@ -814,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/nixpkgs/flake.nix b/nixpkgs/flake.nix
index 1e20fcd40ebe..c48d6c68e583 100644
--- a/nixpkgs/flake.nix
+++ b/nixpkgs/flake.nix
@@ -18,58 +18,16 @@
     in
     {
       lib = lib.extend (final: prev: {
-        nixosSystem = { modules, ... } @ args:
-          import ./nixos/lib/eval-config.nix (args // {
-            modules =
-              let
-                vmConfig = (import ./nixos/lib/eval-config.nix
-                  (args // {
-                    modules = modules ++ [ ./nixos/modules/virtualisation/qemu-vm.nix ];
-                  })).config;
-
-                vmWithBootLoaderConfig = (import ./nixos/lib/eval-config.nix
-                  (args // {
-                    modules = modules ++ [
-                      ./nixos/modules/virtualisation/qemu-vm.nix
-                      { virtualisation.useBootLoader = true; }
-                      ({ config, ... }: {
-                        virtualisation.useEFIBoot =
-                          config.boot.loader.systemd-boot.enable ||
-                          config.boot.loader.efi.canTouchEfiVariables;
-                      })
-                    ];
-                  })).config;
-
-                moduleDeclarationFile =
-                  let
-                    # Even though `modules` is a mandatory argument for `nixosSystem`, it doesn't
-                    # mean that the evaluator always keeps track of its position. If there
-                    # are too many levels of indirection, the position gets lost at some point.
-                    intermediatePos = builtins.unsafeGetAttrPos "modules" args;
-                  in
-                    if intermediatePos == null then null else intermediatePos.file;
 
-                # Add the invoking file as error message location for modules
-                # that don't have their own locations; presumably inline modules.
-                addModuleDeclarationFile =
-                  m: if moduleDeclarationFile == null then m else {
-                    _file = moduleDeclarationFile;
-                    imports = [ m ];
-                  };
+        nixos = import ./nixos/lib { lib = final; };
 
-              in
-              map addModuleDeclarationFile modules ++ [
-                {
-                  system.nixos.versionSuffix =
-                    ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
-                  system.nixos.revision = final.mkIf (self ? rev) self.rev;
-
-                  system.build = {
-                    vm = vmConfig.system.build.vm;
-                    vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm;
-                  };
-                }
-              ];
+        nixosSystem = args:
+          import ./nixos/lib/eval-config.nix (args // {
+            modules = args.modules ++ [ {
+              system.nixos.versionSuffix =
+                ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
+              system.nixos.revision = final.mkIf (self ? rev) self.rev;
+            } ];
           });
       });
 
diff --git a/nixpkgs/lib/asserts.nix b/nixpkgs/lib/asserts.nix
index 8a5f1fb3feb7..9ae357cbc935 100644
--- a/nixpkgs/lib/asserts.nix
+++ b/nixpkgs/lib/asserts.nix
@@ -2,35 +2,33 @@
 
 rec {
 
-  /* Print a trace message if pred is false.
+  /* Throw if pred is false, else return pred.
      Intended to be used to augment asserts with helpful error messages.
 
      Example:
        assertMsg false "nope"
-       => false
-       stderr> trace: nope
+       stderr> error: nope
 
-       assert (assertMsg ("foo" == "bar") "foo is not bar, silly"); ""
-       stderr> trace: foo is not bar, silly
-       stderr> assert failed at …
+       assert assertMsg ("foo" == "bar") "foo is not bar, silly"; ""
+       stderr> error: foo is not bar, silly
 
      Type:
        assertMsg :: Bool -> String -> Bool
   */
   # TODO(Profpatsch): add tests that check stderr
   assertMsg = pred: msg:
-    if pred
-    then true
-    else builtins.trace msg false;
+    pred || builtins.throw msg;
 
   /* Specialized `assertMsg` for checking if val is one of the elements
      of a list. Useful for checking enums.
 
      Example:
-       let sslLibrary = "libressl"
+       let sslLibrary = "libressl";
        in assertOneOf "sslLibrary" sslLibrary [ "openssl" "bearssl" ]
-       => false
-       stderr> trace: sslLibrary must be one of "openssl", "bearssl", but is: "libressl"
+       stderr> error: sslLibrary must be one of [
+       stderr>   "openssl"
+       stderr>   "bearssl"
+       stderr> ], but is: "libressl"
 
      Type:
        assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool
diff --git a/nixpkgs/lib/attrsets.nix b/nixpkgs/lib/attrsets.nix
index 812521ce6d1c..a88947b45858 100644
--- a/nixpkgs/lib/attrsets.nix
+++ b/nixpkgs/lib/attrsets.nix
@@ -3,9 +3,9 @@
 
 let
   inherit (builtins) head tail length;
-  inherit (lib.trivial) and;
+  inherit (lib.trivial) id;
   inherit (lib.strings) concatStringsSep sanitizeDerivationName;
-  inherit (lib.lists) foldr foldl' concatMap concatLists elemAt;
+  inherit (lib.lists) foldr foldl' concatMap concatLists elemAt all;
 in
 
 rec {
@@ -73,9 +73,9 @@ rec {
        getAttrFromPath ["z" "z"] x
        => error: cannot find attribute `z.z'
   */
-  getAttrFromPath = attrPath: set:
+  getAttrFromPath = attrPath:
     let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'";
-    in attrByPath attrPath (abort errorMsg) set;
+    in attrByPath attrPath (abort errorMsg);
 
 
   /* Return the specified attributes from a set.
@@ -154,12 +154,12 @@ rec {
        foldAttrs (n: a: [n] ++ a) [] [{ a = 2; } { a = 3; }]
        => { a = [ 2 3 ]; }
   */
-  foldAttrs = op: nul: list_of_attrs:
+  foldAttrs = op: nul:
     foldr (n: a:
         foldr (name: o:
           o // { ${name} = op n.${name} (a.${name} or nul); }
         ) a (attrNames n)
-    ) {} list_of_attrs;
+    ) {};
 
 
   /* Recursively collect sets that verify a given predicate named `pred'
@@ -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.
@@ -295,14 +295,14 @@ rec {
   */
   mapAttrsRecursiveCond = cond: f: set:
     let
-      recurse = path: set:
+      recurse = path:
         let
           g =
             name: value:
             if isAttrs value && cond value
               then recurse (path ++ [name]) value
               else f (path ++ [name]) value;
-        in mapAttrs g set;
+        in mapAttrs g;
     in recurse [] set;
 
 
@@ -369,7 +369,7 @@ rec {
       value = f name (catAttrs name sets);
     }) names);
 
-  /* Implementation note: Common names  appear multiple times in the list of
+  /* Implementation note: Common names appear multiple times in the list of
      names, hopefully this does not affect the system because the maximal
      laziness avoid computing twice the same expression and listToAttrs does
      not care about duplicated attribute names.
@@ -378,7 +378,8 @@ rec {
        zipAttrsWith (name: values: values) [{a = "x";} {a = "y"; b = "z";}]
        => { a = ["x" "y"]; b = ["z"] }
   */
-  zipAttrsWith = f: sets: zipAttrsWithNames (concatMap attrNames sets) f sets;
+  zipAttrsWith =
+    builtins.zipAttrsWith or (f: sets: zipAttrsWithNames (concatMap attrNames sets) f sets);
   /* Like `zipAttrsWith' with `(name: values: values)' as the function.
 
     Example:
@@ -419,8 +420,8 @@ rec {
     let f = attrPath:
       zipAttrsWith (n: values:
         let here = attrPath ++ [n]; in
-        if tail values == []
-        || pred here (head (tail values)) (head values) then
+        if length values == 1
+        || pred here (elemAt values 1) (head values) then
           head values
         else
           f here values
@@ -446,10 +447,7 @@ rec {
        }
 
      */
-  recursiveUpdate = lhs: rhs:
-    recursiveUpdateUntil (path: lhs: rhs:
-      !(isAttrs lhs && isAttrs rhs)
-    ) lhs rhs;
+  recursiveUpdate = recursiveUpdateUntil (path: lhs: rhs: !(isAttrs lhs && isAttrs rhs));
 
   /* Returns true if the pattern is contained in the set. False otherwise.
 
@@ -458,8 +456,8 @@ rec {
        => true
    */
   matchAttrs = pattern: attrs: assert isAttrs pattern;
-    foldr and true (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
-      let pat = head values; val = head (tail values); in
+    all id (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
+      let pat = head values; val = elemAt values 1; in
       if length values == 1 then false
       else if isAttrs pat then isAttrs val && matchAttrs pat val
       else pat == val
diff --git a/nixpkgs/lib/default.nix b/nixpkgs/lib/default.nix
index 626a751cb10a..3e43733ad20f 100644
--- a/nixpkgs/lib/default.nix
+++ b/nixpkgs/lib/default.nix
@@ -66,7 +66,8 @@ let
       stringLength sub substring tail trace;
     inherit (self.trivial) id const pipe concat or and bitAnd bitOr bitXor
       bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
-      importJSON importTOML warn warnIf info showWarnings nixpkgsVersion version
+      importJSON importTOML warn warnIf throwIfNot checkListOfEnum
+      info showWarnings nixpkgsVersion version
       mod compare splitByAndCompare functionArgs setFunctionArgs isFunction
       toHexString toBaseDigits;
     inherit (self.fixedPoints) fix fix' converge extends composeExtensions
@@ -110,8 +111,8 @@ let
       cleanSource sourceByRegex sourceFilesBySuffices
       commitIdFromGitRepo cleanSourceWith pathHasContext
       canCleanSource pathIsRegularFile pathIsGitRepo;
-    inherit (self.modules) evalModules unifyModuleSyntax
-      applyIfFunction mergeModules
+    inherit (self.modules) evalModules setDefaultModuleLocation
+      unifyModuleSyntax applyIfFunction mergeModules
       mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
       pushDownProperties dischargeProperties filterOverrides
       sortProperties fixupOptionType mkIf mkAssert mkMerge mkOverride
@@ -121,8 +122,9 @@ let
       mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule
       mkAliasOptionModule mkDerivedConfig doRename;
     inherit (self.options) isOption mkEnableOption mkSinkUndeclaredOptions
-      mergeDefaultOption mergeOneOption mergeEqualOption getValues
-      getFiles optionAttrSetToDocList optionAttrSetToDocList'
+      mergeDefaultOption mergeOneOption mergeEqualOption mergeUniqueOption
+      getValues getFiles
+      optionAttrSetToDocList optionAttrSetToDocList'
       scrubOptionValue literalExpression literalExample literalDocBook
       showOption showFiles unknownModule mkOption;
     inherit (self.types) isType setType defaultTypeMerge defaultFunctor
diff --git a/nixpkgs/lib/licenses.nix b/nixpkgs/lib/licenses.nix
index d305001a5c19..b9310ef6c5b8 100644
--- a/nixpkgs/lib/licenses.nix
+++ b/nixpkgs/lib/licenses.nix
@@ -67,6 +67,11 @@ in mkLicense lset) ({
     free = false;
   };
 
+  aom = {
+    fullName = "Alliance for Open Media Patent License 1.0";
+    url = "https://aomedia.org/license/patent-license/";
+  };
+
   apsl20 = {
     spdxId = "APSL-2.0";
     fullName = "Apple Public Source License 2.0";
@@ -460,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";
@@ -586,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/nixpkgs/lib/meta.nix b/nixpkgs/lib/meta.nix
index bc3387646f26..5b1f7ee5ff2d 100644
--- a/nixpkgs/lib/meta.nix
+++ b/nixpkgs/lib/meta.nix
@@ -78,7 +78,7 @@ rec {
 
        2. (modern) a pattern for the platform `parsed` field.
 
-     We can inject these into a patten for the whole of a structured platform,
+     We can inject these into a pattern for the whole of a structured platform,
      and then match that.
   */
   platformMatch = platform: elem: let
diff --git a/nixpkgs/lib/modules.nix b/nixpkgs/lib/modules.nix
index 573bf40e4b34..f1125aca0a35 100644
--- a/nixpkgs/lib/modules.nix
+++ b/nixpkgs/lib/modules.nix
@@ -37,6 +37,7 @@ let
     toList
     types
     warnIf
+    zipAttrsWith
     ;
   inherit (lib.options)
     isOption
@@ -333,6 +334,10 @@ rec {
     in modulesPath: initialModules: args:
       filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
 
+  /* Wrap a module with a default location for reporting errors. */
+  setDefaultModuleLocation = file: m:
+    { _file = file; imports = [ m ]; };
+
   /* Massage a module into canonical form, that is, a set consisting
      of ‘options’, ‘config’ and ‘imports’ attributes. */
   unifyModuleSyntax = file: key: m:
@@ -442,10 +447,11 @@ rec {
         }
       */
       byName = attr: f: modules:
-        foldl' (acc: module:
-              if !(builtins.isAttrs module.${attr}) then
+        zipAttrsWith (n: concatLists)
+          (map (module: let subtree = module.${attr}; in
+              if !(builtins.isAttrs subtree) then
                 throw ''
-                  You're trying to declare a value of type `${builtins.typeOf module.${attr}}'
+                  You're trying to declare a value of type `${builtins.typeOf subtree}'
                   rather than an attribute-set for the option
                   `${builtins.concatStringsSep "." prefix}'!
 
@@ -454,11 +460,8 @@ rec {
                   this option by e.g. referring to `man 5 configuration.nix'!
                 ''
               else
-                acc // (mapAttrs (n: v:
-                                   (acc.${n} or []) ++ f module v
-                                 ) module.${attr}
-                       )
-               ) {} modules;
+                mapAttrs (n: f module) subtree
+              ) modules);
       # an attrset 'name' => list of submodules that declare ‘name’.
       declsByName = byName "options" (module: option:
           [{ inherit (module) _file; options = option; }]
@@ -535,11 +538,9 @@ rec {
      correspond to the definition of 'loc' in 'opt.file'. */
   mergeOptionDecls =
    let
-    packSubmodule = file: m:
-      { _file = file; imports = [ m ]; };
     coerceOption = file: opt:
-      if isFunction opt then packSubmodule file opt
-      else packSubmodule file { options = opt; };
+      if isFunction opt then setDefaultModuleLocation file opt
+      else setDefaultModuleLocation file { options = opt; };
    in loc: opts:
     foldl' (res: opt:
       let t  = res.type;
@@ -569,7 +570,7 @@ rec {
 
           getSubModules = opt.options.type.getSubModules or null;
           submodules =
-            if getSubModules != null then map (packSubmodule opt._file) getSubModules ++ res.options
+            if getSubModules != null then map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
             else if opt.options ? options then map (coerceOption opt._file) options' ++ res.options
             else res.options;
         in opt.options // res //
diff --git a/nixpkgs/lib/options.nix b/nixpkgs/lib/options.nix
index 5d52f065af08..627aac24d2fb 100644
--- a/nixpkgs/lib/options.nix
+++ b/nixpkgs/lib/options.nix
@@ -26,6 +26,7 @@ let
     take
     ;
   inherit (lib.attrsets)
+    attrByPath
     optionalAttrs
     ;
   inherit (lib.strings)
@@ -99,6 +100,49 @@ rec {
     type = lib.types.bool;
   };
 
+  /* Creates an Option attribute set for an option that specifies the
+     package a module should use for some purpose.
+
+     Type: mkPackageOption :: pkgs -> string -> { default :: [string], example :: null | string | [string] } -> option
+
+     The package is specified as a list of strings representing its attribute path in nixpkgs.
+
+     Because of this, you need to pass nixpkgs itself as the first argument.
+
+     The second argument is the name of the option, used in the description "The <name> package to use.".
+
+     You can also pass an example value, either a literal string or a package's attribute path.
+
+     You can omit the default path if the name of the option is also attribute path in nixpkgs.
+
+     Example:
+       mkPackageOption pkgs "hello" { }
+       => { _type = "option"; default = «derivation /nix/store/3r2vg51hlxj3cx5vscp0vkv60bqxkaq0-hello-2.10.drv»; defaultText = { ... }; description = "The hello package to use."; type = { ... }; }
+
+     Example:
+       mkPackageOption pkgs "GHC" {
+         default = [ "ghc" ];
+         example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])";
+       }
+       => { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; }
+  */
+  mkPackageOption =
+    # Package set (a specific version of nixpkgs)
+    pkgs:
+      # Name for the package, shown in option description
+      name:
+      { default ? [ name ], example ? null }:
+      let default' = if !isList default then [ default ] else default;
+      in mkOption {
+        type = lib.types.package;
+        description = "The ${name} package to use.";
+        default = attrByPath default'
+          (throw "${concatStringsSep "." default'} cannot be found in pkgs") pkgs;
+        defaultText = literalExpression ("pkgs." + concatStringsSep "." default');
+        ${if example != null then "example" else null} = literalExpression
+          (if isList example then "pkgs." + concatStringsSep "." example else example);
+      };
+
   /* This option accepts anything, but it does not produce any result.
 
      This is useful for sharing a module across different module sets
@@ -128,11 +172,13 @@ rec {
     else if all isInt list && all (x: x == head list) list then head list
     else throw "Cannot merge definitions of `${showOption loc}'. Definition values:${showDefs defs}";
 
-  mergeOneOption = loc: defs:
-    if defs == [] then abort "This case should never happen."
-    else if length defs != 1 then
-      throw "The unique option `${showOption loc}' is defined multiple times. Definition values:${showDefs defs}"
-    else (head defs).value;
+  mergeOneOption = mergeUniqueOption { message = ""; };
+
+  mergeUniqueOption = { message }: loc: defs:
+    if length defs == 1
+    then (head defs).value
+    else assert length defs > 1;
+      throw "The option `${showOption loc}' is defined multiple times.\n${message}\nDefinition values:${showDefs defs}";
 
   /* "Merge" option definitions by checking that they all have the same value. */
   mergeEqualOption = loc: defs:
@@ -177,7 +223,7 @@ rec {
         docOption = rec {
           loc = opt.loc;
           name = showOption opt.loc;
-          description = opt.description or (lib.warn "Option `${name}' has no description." "This option has no description.");
+          description = opt.description or null;
           declarations = filter (x: x != unknownModule) opt.declarations;
           internal = opt.internal or false;
           visible =
diff --git a/nixpkgs/lib/sources.nix b/nixpkgs/lib/sources.nix
index ae2df7235213..343449d9a603 100644
--- a/nixpkgs/lib/sources.nix
+++ b/nixpkgs/lib/sources.nix
@@ -20,17 +20,26 @@ let
     readFile
     ;
 
-  # Returns the type of a path: regular (for file), symlink, or directory
-  pathType = p: getAttr (baseNameOf p) (readDir (dirOf p));
+  /*
+    Returns the type of a path: regular (for file), symlink, or directory.
+  */
+  pathType = path: getAttr (baseNameOf path) (readDir (dirOf path));
 
-  # Returns true if the path exists and is a directory, false otherwise
-  pathIsDirectory = p: if pathExists p then (pathType p) == "directory" else false;
+  /*
+    Returns true if the path exists and is a directory, false otherwise.
+  */
+  pathIsDirectory = path: if pathExists path then (pathType path) == "directory" else false;
 
-  # Returns true if the path exists and is a regular file, false otherwise
-  pathIsRegularFile = p: if pathExists p then (pathType p) == "regular" else false;
+  /*
+    Returns true if the path exists and is a regular file, false otherwise.
+  */
+  pathIsRegularFile = path: if pathExists path then (pathType path) == "regular" else false;
 
-  # Bring in a path as a source, filtering out all Subversion and CVS
-  # directories, as well as backup files (*~).
+  /*
+    A basic filter for `cleanSourceWith` that removes
+    directories of version control system, backup files (*~)
+    and some generated files.
+  */
   cleanSourceFilter = name: type: let baseName = baseNameOf (toString name); in ! (
     # Filter out version control software files/directories
     (baseName == ".git" || type == "directory" && (baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) ||
@@ -48,43 +57,48 @@ let
     (type == "unknown")
   );
 
-  # Filters a source tree removing version control files and directories using cleanSourceWith
-  #
-  # Example:
-  #          cleanSource ./.
+  /*
+    Filters a source tree removing version control files and directories using cleanSourceFilter.
+
+    Example:
+             cleanSource ./.
+  */
   cleanSource = src: cleanSourceWith { filter = cleanSourceFilter; inherit src; };
 
-  # Like `builtins.filterSource`, except it will compose with itself,
-  # allowing you to chain multiple calls together without any
-  # intermediate copies being put in the nix store.
-  #
-  #     lib.cleanSourceWith {
-  #       filter = f;
-  #       src = lib.cleanSourceWith {
-  #         filter = g;
-  #         src = ./.;
-  #       };
-  #     }
-  #     # Succeeds!
-  #
-  #     builtins.filterSource f (builtins.filterSource g ./.)
-  #     # Fails!
-  #
-  # Parameters:
-  #
-  #   src:      A path or cleanSourceWith result to filter and/or rename.
-  #
-  #   filter:   A function (path -> type -> bool)
-  #             Optional with default value: constant true (include everything)
-  #             The function will be combined with the && operator such
-  #             that src.filter is called lazily.
-  #             For implementing a filter, see
-  #             https://nixos.org/nix/manual/#builtin-filterSource
-  #
-  #   name:     Optional name to use as part of the store path.
-  #             This defaults to `src.name` or otherwise `"source"`.
-  #
-  cleanSourceWith = { filter ? _path: _type: true, src, name ? null }:
+  /*
+    Like `builtins.filterSource`, except it will compose with itself,
+    allowing you to chain multiple calls together without any
+    intermediate copies being put in the nix store.
+
+    Example:
+        lib.cleanSourceWith {
+          filter = f;
+          src = lib.cleanSourceWith {
+            filter = g;
+            src = ./.;
+          };
+        }
+        # Succeeds!
+
+        builtins.filterSource f (builtins.filterSource g ./.)
+        # Fails!
+
+  */
+  cleanSourceWith =
+    {
+      # A path or cleanSourceWith result to filter and/or rename.
+      src,
+      # Optional with default value: constant true (include everything)
+      # The function will be combined with the && operator such
+      # that src.filter is called lazily.
+      # For implementing a filter, see
+      # https://nixos.org/nix/manual/#builtin-filterSource
+      # Type: A function (path -> type -> bool)
+      filter ? _path: _type: true,
+      # Optional name to use as part of the store path.
+      # This defaults to `src.name` or otherwise `"source"`.
+      name ? null
+    }:
     let
       orig = toSourceAttributes src;
     in fromSourceAttributes {
@@ -116,9 +130,11 @@ let
         satisfiesSubpathInvariant = src ? satisfiesSubpathInvariant && src.satisfiesSubpathInvariant;
       };
 
-  # Filter sources by a list of regular expressions.
-  #
-  # E.g. `src = sourceByRegex ./my-subproject [".*\.py$" "^database.sql$"]`
+  /*
+    Filter sources by a list of regular expressions.
+
+    Example: src = sourceByRegex ./my-subproject [".*\.py$" "^database.sql$"]
+  */
   sourceByRegex = src: regexes:
     let
       isFiltered = src ? _isLibCleanSourceWith;
@@ -153,8 +169,11 @@ let
 
   pathIsGitRepo = path: (tryEval (commitIdFromGitRepo path)).success;
 
-  # Get the commit id of a git repo
-  # Example: commitIdFromGitRepo <nixpkgs/.git>
+  /*
+    Get the commit id of a git repo.
+
+    Example: commitIdFromGitRepo <nixpkgs/.git>
+  */
   commitIdFromGitRepo =
     let readCommitFromFile = file: path:
         let fileName       = toString path + "/" + file;
diff --git a/nixpkgs/lib/trivial.nix b/nixpkgs/lib/trivial.nix
index 33b553ac4191..c68bac902e91 100644
--- a/nixpkgs/lib/trivial.nix
+++ b/nixpkgs/lib/trivial.nix
@@ -61,11 +61,11 @@ rec {
   pipe = val: functions:
     let reverseApply = x: f: f x;
     in builtins.foldl' reverseApply val functions;
-  /* note please don’t add a function like `compose = flip pipe`.
-     This would confuse users, because the order of the functions
-     in the list is not clear. With pipe, it’s obvious that it
-     goes first-to-last. With `compose`, not so much.
-  */
+
+  # note please don’t add a function like `compose = flip pipe`.
+  # This would confuse users, because the order of the functions
+  # in the list is not clear. With pipe, it’s obvious that it
+  # goes first-to-last. With `compose`, not so much.
 
   ## Named versions corresponding to some builtin operators.
 
@@ -325,6 +325,45 @@ rec {
   */
   warnIf = cond: msg: if cond then warn msg else id;
 
+  /*
+    Like the `assert b; e` expression, but with a custom error message and
+    without the semicolon.
+
+    If true, return the identity function, `r: r`.
+
+    If false, throw the error message.
+
+    Calls can be juxtaposed using function application, as `(r: r) a = a`, so
+    `(r: r) (r: r) a = a`, and so forth.
+
+    Type: bool -> string -> a -> a
+
+    Example:
+
+        throwIfNot (lib.isList overlays) "The overlays argument to nixpkgs must be a list."
+        lib.foldr (x: throwIfNot (lib.isFunction x) "All overlays passed to nixpkgs must be functions.") (r: r) overlays
+        pkgs
+
+  */
+  throwIfNot = cond: msg: if cond then x: x else throw msg;
+
+  /* Check if the elements in a list are valid values from a enum, returning the identity function, or throwing an error message otherwise.
+
+     Example:
+       let colorVariants = ["bright" "dark" "black"]
+       in checkListOfEnum "color variants" [ "standard" "light" "dark" ] colorVariants;
+       =>
+       error: color variants: bright, black unexpected; valid ones: standard, light, dark
+
+     Type: String -> List ComparableVal -> List ComparableVal -> a -> a
+  */
+  checkListOfEnum = msg: valid: given:
+    let
+      unexpected = lib.subtractLists valid given;
+    in
+      lib.throwIfNot (unexpected == [])
+        "${msg}: ${builtins.concatStringsSep ", " (builtins.map builtins.toString unexpected)} unexpected; valid ones: ${builtins.concatStringsSep ", " (builtins.map builtins.toString valid)}";
+
   info = msg: builtins.trace "INFO: ${msg}";
 
   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
diff --git a/nixpkgs/lib/types.nix b/nixpkgs/lib/types.nix
index 244cbb6b5354..f2f9b2bca985 100644
--- a/nixpkgs/lib/types.nix
+++ b/nixpkgs/lib/types.nix
@@ -32,7 +32,6 @@ let
     last
     length
     tail
-    unique
     ;
   inherit (lib.attrsets)
     attrNames
@@ -48,6 +47,7 @@ let
     mergeDefaultOption
     mergeEqualOption
     mergeOneOption
+    mergeUniqueOption
     showFiles
     showOption
     ;
@@ -300,6 +300,19 @@ rec {
       inherit (str) merge;
     };
 
+    # Allow a newline character at the end and trim it in the merge function.
+    singleLineStr =
+      let
+        inherit (strMatching "[^\n\r]*\n?") check merge;
+      in
+      mkOptionType {
+        name = "singleLineStr";
+        description = "(optionally newline-terminated) single-line string";
+        inherit check;
+        merge = loc: defs:
+          lib.removeSuffix "\n" (merge loc defs);
+      };
+
     strMatching = pattern: mkOptionType {
       name = "strMatching ${escapeNixString pattern}";
       description = "string matching the pattern ${pattern}";
@@ -457,6 +470,18 @@ rec {
       nestedTypes.elemType = elemType;
     };
 
+    unique = { message }: type: mkOptionType rec {
+      name = "unique";
+      inherit (type) description check;
+      merge = mergeUniqueOption { inherit message; };
+      emptyValue = type.emptyValue;
+      getSubOptions = type.getSubOptions;
+      getSubModules = type.getSubModules;
+      substSubModules = m: uniq (type.substSubModules m);
+      functor = (defaultFunctor name) // { wrapped = type; };
+      nestedTypes.elemType = type;
+    };
+
     # Null or value of ...
     nullOr = elemType: mkOptionType rec {
       name = "nullOr";
@@ -586,6 +611,7 @@ rec {
     # A value from a set of allowed ones.
     enum = values:
       let
+        inherit (lib.lists) unique;
         show = v:
                if builtins.isString v then ''"${v}"''
           else if builtins.isInt v then builtins.toString v
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix
index c78ac6d69b43..f70ea32e02c2 100644
--- a/nixpkgs/maintainers/maintainer-list.nix
+++ b/nixpkgs/maintainers/maintainer-list.nix
@@ -95,6 +95,12 @@
     githubId = 7414843;
     name = "Nicholas von Klitzing";
   };
+  _13r0ck = {
+    name = "Brock Szuszczewicz";
+    email = "bnr@tuta.io";
+    github = "13r0ck";
+    githubId = 58987761;
+  };
   _3noch = {
     email = "eacameron@gmail.com";
     github = "3noch";
@@ -139,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";
@@ -507,10 +519,6 @@
     githubId = 38869148;
     name = "Alex Eyre";
   };
-  algorith = {
-    email = "dries_van_daele@telenet.be";
-    name = "Dries Van Daele";
-  };
   alibabzo = {
     email = "alistair.bill@gmail.com";
     github = "alibabzo";
@@ -593,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";
@@ -757,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";
@@ -946,6 +953,12 @@
     githubId = 59696216;
     name = "Arnold Farkas";
   };
+  arnoutkroeze = {
+    email = "nixpkgs@arnoutkroeze.nl";
+    github = "arnoutkroeze";
+    githubId = 37151054;
+    name = "Arnout Kroeze";
+  };
   arobyn = {
     email = "shados@shados.net";
     github = "shados";
@@ -1069,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";
@@ -1171,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 = {
@@ -1187,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";
@@ -1888,6 +1913,13 @@
     githubId = 495429;
     name = "Claas Augner";
   };
+  cawilliamson = {
+    email = "home@chrisaw.com";
+    github = "cawilliamson";
+    githubId = 1141769;
+    matrix = "@cawilliamson:nixos.dev";
+    name = "Christopher A. Williamson";
+  };
   cbley = {
     email = "claudio.bley@gmail.com";
     github = "avdv";
@@ -1899,12 +1931,10 @@
     github = "cburstedde";
     githubId = 109908;
     name = "Carsten Burstedde";
-    keys = [
-      {
-        longkeyid = "rsa2048/0x0704CD9E550A6BCD";
-        fingerprint = "1127 A432 6524 BF02 737B  544E 0704 CD9E 550A 6BCD";
-      }
-    ];
+    keys = [{
+      longkeyid = "rsa2048/0x0704CD9E550A6BCD";
+      fingerprint = "1127 A432 6524 BF02 737B  544E 0704 CD9E 550A 6BCD";
+    }];
   };
   cdepillabout = {
     email = "cdep.illabout@gmail.com";
@@ -1931,6 +1961,12 @@
     githubId = 543423;
     name = "Alex Wied";
   };
+  cfhammill = {
+    email = "cfhammill@gmail.com";
+    github = "cfhammill";
+    githubId = 7467038;
+    name = "Chris Hammill";
+  };
   cfouche = {
     email = "chaddai.fouche@gmail.com";
     github = "Chaddai";
@@ -2081,12 +2117,6 @@
     githubId = 399718;
     name = "Chris Martin";
   };
-  chrisaw = {
-    email = "home@chrisaw.com";
-    github = "cawilliamson";
-    githubId = 1141769;
-    name = "Christopher A. Williamson";
-  };
   chrisjefferson = {
     email = "chris@bubblescope.net";
     github = "chrisjefferson";
@@ -2272,6 +2302,12 @@
     githubId = 34317;
     name = "Corey O'Connor";
   };
+  CodeLongAndProsper90 = {
+    github = "CodeLongAndProsper90";
+    githubId = 50145141;
+    email = "jupiter@m.rdis.dev";
+    name = "Scott Little";
+  };
   codsl = {
     email = "codsl@riseup.net";
     github = "codsl";
@@ -2284,6 +2320,13 @@
     githubId = 5561189;
     name = "Cody Opel";
   };
+  Cogitri = {
+    email = "oss@cogitri.dev";
+    github = "Cogitri";
+    githubId = 8766773;
+    matrix = "@cogitri:cogitri.dev";
+    name = "Rasmus Thomsen";
+  };
   cohei = {
     email = "a.d.xvii.kal.mai@gmail.com";
     github = "cohei";
@@ -2356,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";
@@ -2662,6 +2712,12 @@
     email = "christoph.senjak@googlemail.com";
     name = "Christoph-Simon Senjak";
   };
+  datafoo = {
+    email = "34766150+datafoo@users.noreply.github.com";
+    github = "datafoo";
+    githubId = 34766150;
+    name = "datafoo";
+  };
   davhau = {
     email = "d.hauer.it@gmail.com";
     name = "David Hauer";
@@ -2799,6 +2855,12 @@
     email = "d4delta@outlook.fr";
     name = "Delta";
   };
+  deltadelta = {
+    email = "contact@libellules.eu";
+    name = "Dara Ly";
+    github = "tournemire";
+    githubId = 20159432;
+  };
   deltaevo = {
     email = "deltaduartedavid@gmail.com";
     github = "DeltaEvo";
@@ -2829,12 +2891,24 @@
     githubId = 706758;
     name = "Christian Gerbrandt";
   };
+  derekcollison = {
+    email = "derek@nats.io";
+    github = "derekcollison";
+    githubId = 90097;
+    name = "Derek Collison";
+  };
   DerGuteMoritz = {
     email = "moritz@twoticketsplease.de";
     github = "DerGuteMoritz";
     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";
@@ -3163,6 +3237,12 @@
     githubId = 24791219;
     name = "Jakob Neufeld";
   };
+  dsalaza4 = {
+    email = "podany270895@gmail.com";
+    github = "dsalaza4";
+    githubId = 11205987;
+    name = "Daniel Salazar";
+  };
   dschrempf = {
     name = "Dominik Schrempf";
     email = "dominik.schrempf@gmail.com";
@@ -3313,12 +3393,6 @@
     github = "edlimerkaj";
     githubId = 71988351;
   };
-  edibopp = {
-    email = "eduard.bopp@aepsil0n.de";
-    github = "edibopp";
-    githubId = 3098430;
-    name = "Eduard Bopp";
-  };
   emantor = {
     email = "rouven+nixos@czerwinskis.de";
     github = "emantor";
@@ -3337,6 +3411,12 @@
     githubId = 18535642;
     name = "Emily";
   };
+  emilytrau = {
+    name = "Emily Trau";
+    email = "nix@angus.ws";
+    github = "emilytrau";
+    githubId = 13267947;
+  };
   enderger = {
     email = "endergeryt@gmail.com";
     github = "enderger";
@@ -3410,6 +3490,12 @@
     githubId = 4742;
     name = "Aaron Bull Schaefer";
   };
+  elatov = {
+    email = "elatov@gmail.com";
+    github = "elatov";
+    githubId = 7494394;
+    name = "Karim Elatov";
+  };
   eleanor = {
     email = "dejan@proteansec.com";
     github = "proteansec";
@@ -3496,7 +3582,7 @@
     name = "Leo Maroni";
   };
   emmanuelrosa = {
-    email = "emmanuel_rosa@aol.com";
+    email = "emmanuelrosa@protonmail.com";
     matrix = "@emmanuelrosa:matrix.org";
     github = "emmanuelrosa";
     githubId = 13485450;
@@ -3686,6 +3772,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";
@@ -3868,6 +3960,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";
@@ -3960,6 +4058,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";
@@ -4091,12 +4195,6 @@
     githubId = 7551358;
     name = "Frede Emil";
   };
-  freepotion = {
-    email = "42352817+freepotion@users.noreply.github.com";
-    github = "freepotion";
-    githubId = 42352817;
-    name = "Free Potion";
-  };
   freezeboy = {
     email = "freezeboy@users.noreply.github.com";
     github = "freezeboy";
@@ -4219,6 +4317,16 @@
     githubId = 1313787;
     name = "Gabriel Gonzalez";
   };
+  gador = {
+    email = "florian.brandes@posteo.de";
+    github = "gador";
+    githubId = 1883533;
+    name = "Florian Brandes";
+    keys = [{
+      longkeyid = "rsa4096/0xBBB3E40E53797FD9";
+      fingerprint = "0200 3EF8 8D2B CF2D 8F00  FFDC BBB3 E40E 5379 7FD9";
+    }];
+  };
   gal_bolle = {
     email = "florent.becker@ens-lyon.org";
     github = "FlorentBecker";
@@ -4342,6 +4450,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";
@@ -4418,6 +4532,16 @@
     githubId = 1621335;
     name = "Andrew Trachenko";
   };
+  gordias = {
+    name = "Gordias";
+    email = "gordias@disroot.org";
+    github = "gordiasdot";
+    githubId = 94724133;
+    keys = [{
+      longkeyid = "ed25519/0x5D47284830FAA4FA";
+      fingerprint = "C006 B8A0 0618 F3B6 E0E4  2ECD 5D47 2848 30FA A4FA";
+    }];
+  };
   govanify = {
     name = "Gauvain 'GovanifY' Roussel-Tarbouriech";
     email = "gauvain@govanify.com";
@@ -4508,6 +4632,12 @@
     githubId = 343415;
     name = "Greg Roodt";
   };
+  gruve-p = {
+    email = "groestlcoin@gmail.com";
+    github = "gruve-p";
+    githubId = 11212268;
+    name = "gruve-p";
+  };
   gschwartz = {
     email = "gsch@pennmedicine.upenn.edu";
     github = "GregorySchwartz";
@@ -4759,6 +4889,12 @@
     github = "higebu";
     githubId = 733288;
   };
+  hiljusti = {
+    name = "J.R. Hill";
+    email = "hiljusti@so.dang.cool";
+    github = "hiljusti";
+    githubId = 17605298;
+  };
   hinton = {
     email = "t@larkery.com";
     name = "Tom Hinton";
@@ -5380,6 +5516,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";
@@ -5508,6 +5650,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";
@@ -5640,6 +5792,24 @@
     githubId = 8900;
     name = "Johan Magnus Jonsson";
   };
+  jmc-figueira = {
+    email = "business+nixos@jmc-figueira.dev";
+    github = "jmc-figueira";
+    githubId = 6634716;
+    name = "João Figueira";
+    keys = [
+      # GitHub signing key
+      {
+        longkeyid = "rsa4096/0xDC7AE56AE98E02D7";
+        fingerprint = "EC08 7AA3 DEAD A972 F015  6371 DC7A E56A E98E 02D7";
+      }
+      # Email encryption
+      {
+        longkeyid = "ed25519/0x197F9A632D139E30";
+        fingerprint = "816D 23F5 E672 EC58 7674  4A73 197F 9A63 2D13 9E30";
+      }
+    ];
+  };
   jmettes = {
     email = "jonathan@jmettes.com";
     github = "jmettes";
@@ -5872,6 +6042,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";
@@ -5891,6 +6067,13 @@
     githubId = 107689;
     name = "Josh Holland";
   };
+  jsierles = {
+    email = "joshua@hey.com";
+    matrix = "@jsierles:matrix.org";
+    name = "Joshua Sierles";
+    github = "jsierles";
+    githubId = 82;
+  };
   jtcoolen = {
     email = "jtcoolen@pm.me";
     name = "Julien Coolen";
@@ -5920,12 +6103,24 @@
     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";
     githubId = 11947756;
     name = "Julien Dehos";
   };
+  julienmalka = {
+    email = "julien.malka@me.com";
+    github = "JulienMalka";
+    githubId = 1792886;
+    name = "Julien Malka";
+  };
   julm = {
     email = "julm+nixpkgs@sourcephile.fr";
     github = "ju1m";
@@ -5962,6 +6157,16 @@
     githubId = 2396926;
     name = "Justin Woo";
   };
+  jvanbruegge = {
+    email = "supermanitu@gmail.com";
+    github = "jvanbruegge";
+    githubId = 1529052;
+    name = "Jan van Brügge";
+    keys = [{
+      longkeyid = "rsa4096/0x366572BE7D6C78A2";
+      fingerprint = "3513 5CE5 77AD 711F 3825  9A99 3665 72BE 7D6C 78A2";
+    }];
+  };
   jwatt = {
     email = "jwatt@broken.watch";
     github = "jjwatt";
@@ -6024,6 +6229,13 @@
     github = "k4leg";
     githubId = 39882583;
   };
+  k900 = {
+    name = "Ilya K.";
+    email = "me@0upti.me";
+    github = "K900";
+    githubId = 386765;
+    matrix = "@k900:0upti.me";
+  };
   kaction = {
     name = "Dmitry Bogatov";
     email = "KAction@disroot.org";
@@ -6150,6 +6362,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";
@@ -6265,7 +6483,7 @@
     keys = [{
       longkeyid = "rsa4096/0x7248991EFA8EFBEE";
       fingerprint = "01F5 0A29 D4AA 9117 5A11  BDB1 7248 991E FA8E FBEE";
-     }];
+    }];
   };
   kiwi = {
     email = "envy1988@gmail.com";
@@ -6330,7 +6548,7 @@
   };
 
   kmein = {
-    email = "kieran.meinhardt@gmail.com";
+    email = "kmein@posteo.de";
     name = "Kierán Meinhardt";
     github = "kmein";
     githubId = 10352507;
@@ -6413,6 +6631,12 @@
     githubId = 787421;
     name = "Kevin Quick";
   };
+  kradalby = {
+    name = "Kristoffer Dalby";
+    email = "kristoffer@dalby.cc";
+    github = "kradalby";
+    githubId = 98431;
+  };
   kraem = {
     email = "me@kraem.xyz";
     github = "kraem";
@@ -6528,7 +6752,7 @@
   };
   kylesferrazza = {
     name = "Kyle Sferrazza";
-    email = "kyle.sferrazza@gmail.com";
+    email = "nixpkgs@kylesferrazza.com";
 
     github = "kylesferrazza";
     githubId = 6677292;
@@ -6572,6 +6796,12 @@
     githubId = 55911173;
     name = "Gwendolyn Quasebarth";
   };
+  lammermann = {
+    email = "k.o.b.e.r@web.de";
+    github = "lammermann";
+    githubId = 695526;
+    name = "Benjamin Kober";
+  };
   larsr = {
     email = "Lars.Rasmusson@gmail.com";
     github = "larsr";
@@ -6712,6 +6942,17 @@
       fingerprint = "CC50 F82C 985D 2679 0703  AF15 19B0 82B3 DEFE 5451";
     }];
   };
+  leixb = {
+    email = "abone9999+nixpkgs@gmail.com";
+    matrix = "@leix_b:matrix.org";
+    github = "LeixB";
+    githubId = 17183803;
+    name = "Aleix Boné";
+    keys = [{
+      longkeyid = "rsa4096/0xFC035BB2BB28E15D";
+      fingerprint = "63D3 F436 EDE8 7E1F 1292  24AF FC03 5BB2 BB28 E15D";
+    }];
+  };
   lejonet = {
     email = "daniel@kuehn.se";
     github = "lejonet";
@@ -6837,12 +7078,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";
@@ -6899,6 +7134,18 @@
     githubId = 22085373;
     name = "Luis Hebendanz";
   };
+  lunarequest = {
+    email = "nullarequest@vivlaid.net";
+    github = "Lunarequest";
+    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";
@@ -7088,6 +7335,12 @@
     githubId = 13791;
     name = "Luke Gorrie";
   };
+  luker = {
+    email = "luker@fenrirproject.org";
+    github = "LucaFulchir";
+    githubId = 2486026;
+    name = "Luca Fulchir";
+  };
   lumi = {
     email = "lumi@pew.im";
     github = "lumi-me-not";
@@ -7139,6 +7392,12 @@
     email = "wheatdoge@gmail.com";
     name = "Tim Liou";
   };
+  m00wl = {
+    name = "Moritz Lumme";
+    email = "moritz.lumme@gmail.com";
+    github = "m00wl";
+    githubId = 46034439;
+  };
   m1cr0man = {
     email = "lucas+nix@m1cr0man.com";
     github = "m1cr0man";
@@ -7358,16 +7617,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";
@@ -7768,6 +8017,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";
@@ -7808,6 +8063,12 @@
     githubId = 38543128;
     name = "Miles Breslin";
   };
+  milibopp = {
+    email = "contact@ebopp.de";
+    github = "milibopp";
+    githubId = 3098430;
+    name = "Emilia Bopp";
+  };
   millerjason = {
     email = "mailings-github@millerjason.com";
     github = "millerjason";
@@ -7876,13 +8137,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";
@@ -8201,6 +8455,12 @@
     githubId = 4996739;
     name = "Masayuki Takeda";
   };
+  mtesseract = {
+    email = "moritz@stackrox.com";
+    github = "mtesseract";
+    githubId = 11706080;
+    name = "Moritz Clasmeier";
+  };
   MtP = {
     email = "marko.nixos@poikonen.de";
     github = "MtP76";
@@ -8382,6 +8642,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";
@@ -8430,10 +8696,16 @@
     name = "Xinhao Luo";
   };
   newam = {
-    email = "alexmgit@protonmail.com";
+    email = "alex@thinglab.org";
     github = "newAM";
     githubId = 7845120;
-    name = "Alex M.";
+    name = "Alex Martens";
+  };
+  nialov = {
+    email = "nikolasovaskainen@gmail.com";
+    github = "nialov";
+    githubId = 47318483;
+    name = "Nikolas Ovaskainen";
   };
   nikitavoloboev = {
     email = "nikita.voloboev@gmail.com";
@@ -8673,9 +8945,9 @@
     githubId = 2946283;
     name = "Brian Cohen";
   };
-  novoxudonoser = {
+  novoxd = {
     email = "radnovox@gmail.com";
-    github = "novoxudonoser";
+    github = "novoxd";
     githubId = 6052922;
     name = "Kirill Struokov";
   };
@@ -8837,6 +9109,12 @@
     githubId = 72201;
     name = "Ole Jørgen Brønner";
   };
+  ollieB = {
+    email = "1237862+oliverbunting@users.noreply.github.com";
+    github = "oliverbunting";
+    githubId = 1237862;
+    name = "Ollie Bunting";
+  };
   olynch = {
     email = "owen@olynch.me";
     github = "olynch";
@@ -9614,6 +9892,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";
@@ -9740,6 +10024,13 @@
     githubId = 1016742;
     name = "Rafael García";
   };
+  raitobezarius = {
+    email = "ryan@lahfa.xyz";
+    matrix = "@raitobezarius:matrix.org";
+    github = "RaitoBezarius";
+    githubId = 314564;
+    name = "Ryan Lahfa";
+  };
   raquelgb = {
     email = "raquel.garcia.bautista@gmail.com";
     github = "raquelgb";
@@ -9841,6 +10132,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";
@@ -9983,6 +10288,13 @@
     githubId = 16779;
     name = "Rickard Nilsson";
   };
+  ricochet = {
+    email = "behayes2@gmail.com";
+    github = "ricochet";
+    githubId = 974323;
+    matrix = "@ricochetcode:matrix.org";
+    name = "Bailey Hayes";
+  };
   riey = {
     email = "creeper844@gmail.com";
     github = "Riey";
@@ -10451,14 +10763,20 @@
     name = "Samuel Dionne-Riel";
   };
   samuelgrf = {
-    email = "git@samuelgrf.com";
+    email = "s@muel.gr";
     github = "samuelgrf";
     githubId = 67663538;
     name = "Samuel Gräfenstein";
-    keys = [{
-      longkeyid = "rsa4096/0xEF76A063F15C63C8";
-      fingerprint = "FF24 5832 8FAF 4660 18C6  186E EF76 A063 F15C 63C8";
-    }];
+    keys = [
+      {
+        longkeyid = "rsa4096/0xDE75F92E318123F0";
+        fingerprint = "6F2E 2A90 423C 8111 BFF2  895E DE75 F92E 3181 23F0";
+      }
+      {
+        longkeyid = "rsa4096/0xEF76A063F15C63C8";
+        fingerprint = "FF24 5832 8FAF 4660 18C6  186E EF76 A063 F15C 63C8";
+      }
+    ];
   };
   samuelrivas = {
     email = "samuelrivas@gmail.com";
@@ -10744,6 +11062,16 @@
     githubId = 6720672;
     name = "Shane Pearlman";
   };
+  shanesveller = {
+    email = "shane@sveller.dev";
+    github = "shanesveller";
+    githubId = 831;
+    keys = [{
+      longkeyid = "rsa4096/0x9210C218023C15CD";
+      fingerprint = "F83C 407C ADC4 5A0F 1F2F  44E8 9210 C218 023C 15CD";
+    }];
+    name = "Shane Sveller";
+  };
   shawndellysse = {
     email = "sdellysse@gmail.com";
     github = "shawndellysse";
@@ -10786,6 +11114,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";
@@ -10857,7 +11195,7 @@
     name = "Yann Hodique";
   };
   sikmir = {
-    email = "sikmir@gmail.com";
+    email = "sikmir@disroot.org";
     github = "sikmir";
     githubId = 688044;
     name = "Nikolay Korotkiy";
@@ -11002,6 +11340,12 @@
       fingerprint = "4242 834C D401 86EF 8281  4093 86E3 0E5A 0F5F C59C";
     }];
   };
+  smasher164 = {
+    email = "aindurti@gmail.com";
+    github = "smasher164";
+    githubId = 12636891;
+    name = "Akhil Indurti";
+  };
   smironov = {
     email = "grrwlf@gmail.com";
     github = "grwlf";
@@ -11323,10 +11667,10 @@
     name = "Justus K";
   };
   SubhrajyotiSen = {
-      email = "subhrajyoti12@gmail.com";
-      github = "SubhrajyotiSen";
-      githubId = 12984845;
-      name = "Subhrajyoti Sen";
+    email = "subhrajyoti12@gmail.com";
+    github = "SubhrajyotiSen";
+    githubId = 12984845;
+    name = "Subhrajyoti Sen";
   };
   suhr = {
     email = "suhr@i2pmail.org";
@@ -11346,6 +11690,13 @@
     githubId = 2666479;
     name = "Y Nguyen";
   };
+  superherointj = {
+    name = "Sérgio G.";
+    email = "5861043+superherointj@users.noreply.github.com";
+    matrix = "@superherointj:matrix.org";
+    github = "superherointj";
+    githubId = 5861043;
+  };
   SuperSandro2000 = {
     email = "sandro.jaeckel@gmail.com";
     matrix = "@sandro:supersandro.de";
@@ -11586,6 +11937,13 @@
     githubId = 863327;
     name = "Tyler Benster";
   };
+  tboerger = {
+    email = "thomas@webhippie.de";
+    matrix = "@tboerger:matrix.org";
+    github = "tboerger";
+    githubId = 156964;
+    name = "Thomas Boerger";
+  };
   tcbravo = {
     email = "tomas.bravo@protonmail.ch";
     github = "tcbravo";
@@ -11598,6 +11956,12 @@
     githubId = 2389333;
     name = "Andy Tockman";
   };
+  techknowlogick = {
+    email = "techknowlogick@gitea.io";
+    github = "techknowlogick";
+    githubId = 164197;
+    name = "techknowlogick";
+  };
   Technical27 = {
     email = "38222826+Technical27@users.noreply.github.com";
     github = "Technical27";
@@ -11677,6 +12041,12 @@
     githubId = 378734;
     name = "TG ⊗ Θ";
   };
+  tgunnoe = {
+    email = "t@gvno.net";
+    github = "tgunnoe";
+    githubId = 7254833;
+    name = "Taylor Gunnoe";
+  };
   th0rgal = {
     email = "thomas.marchand@tuta.io";
     github = "Th0rgal";
@@ -11836,7 +12206,7 @@
     name = "Tiago Castro";
   };
   tilcreator = {
-    name = "Tilman Jackel";
+    name = "TilCreator";
     email = "contact.nixos@tc-j.de";
     matrix = "@tilcreator:matrix.org";
     github = "TilCreator";
@@ -11933,6 +12303,7 @@
   };
   toastal = {
     email = "toastal+nix@posteo.net";
+    matrix = "@toastal:matrix.org";
     github = "toastal";
     githubId = 561087;
     name = "toastal";
@@ -12075,6 +12446,12 @@
     githubId = 1183303;
     name = "Jakob Klepp";
   };
+  trundle = {
+    name = "Andreas Stührk";
+    email = "andy@hammerhartes.de";
+    github = "Trundle";
+    githubId = 332418;
+  };
   tscholak = {
     email = "torsten.scholak@googlemail.com";
     github = "tscholak";
@@ -12560,6 +12937,16 @@
     githubId = 3889405;
     name = "vyp";
   };
+  wackbyte = {
+    name = "wackbyte";
+    email = "wackbyte@pm.me";
+    github = "wackbyte";
+    githubId = 29505620;
+    keys = [{
+      longkeyid = "rsa4096/0x937F2AE5CCEFBF59";
+      fingerprint = "E595 7FE4 FEF6 714B 1AD3  1483 937F 2AE5 CCEF BF59";
+    }];
+  };
   wakira = {
     name = "Sheng Wang";
     email = "sheng@a64.work";
@@ -12592,6 +12979,12 @@
     email = "kirill.wedens@gmail.com";
     name = "wedens";
   };
+  wegank = {
+    name = "Weijia Wang";
+    email = "contact@weijia.wang";
+    github = "wegank";
+    githubId = 9713184;
+  };
   weihua = {
     email = "luwh364@gmail.com";
     github = "weihua-lu";
@@ -12652,6 +13045,12 @@
     email = "tim.williams.public@gmail.com";
     name = "Tim Philip Williams";
   };
+  willcohen = {
+    email = "willcohen@users.noreply.github.com";
+    github = "willcohen";
+    githubId = 5185341;
+    name = "Will Cohen";
+  };
   winden = {
     email = "windenntw@gmail.com";
     name = "Antonio Vargas Gonzalez";
@@ -12765,7 +13164,7 @@
     name = "Wayne Scott";
   };
   wucke13 = {
-    email = "info@wucke13.de";
+    email = "wucke13@gmail.com";
     github = "wucke13";
     githubId = 20400405;
     name = "Wucke";
@@ -12844,6 +13243,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";
@@ -12900,7 +13305,7 @@
   };
   yana = {
     email = "yana@riseup.net";
-    github = "alpakido";
+    github = "sowelisuwi";
     githubId = 1643293;
     name = "Yana Timoshenko";
   };
@@ -13354,10 +13759,10 @@
     github = "nagisa";
     githubId = 679122;
   };
-  yevhenshymotiuk = {
+  yshym = {
     name = "Yevhen Shymotiuk";
-    email = "yevhenshymotiuk@gmail.com";
-    github = "yevhenshymotiuk";
+    email = "yshym@pm.me";
+    github = "yshym";
     githubId = 44244245;
   };
   hmenke = {
@@ -13481,6 +13886,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";
@@ -13521,10 +13936,39 @@
     github = "jpagex";
     githubId = 635768;
   };
+  portothree = {
+    name = "Gustavo Porto";
+    email = "gustavoporto@ya.ru";
+    github = "portothree";
+    githubId = 3718120;
+  };
   pwoelfel = {
     name = "Philipp Woelfel";
     email = "philipp.woelfel@gmail.com";
     github = "PhilippWoelfel";
     githubId = 19400064;
   };
+  qbit = {
+    name = "Aaron Bieber";
+    email = "aaron@bolddaemon.com";
+    github = "qbit";
+    githubId = 68368;
+    matrix = "@qbit:tapenet.org";
+    keys = [{
+      longkeyid = "rsa4096/0x1F81112D62A9ADCE";
+      fingerprint = "3586 3350 BFEA C101 DB1A 4AF0 1F81 112D 62A9 ADCE";
+    }];
+  };
+  ameer = {
+    name = "Ameer Taweel";
+    email = "ameertaweel2002@gmail.com";
+    github = "AmeerTaweel";
+    githubId = 20538273;
+  };
+  nigelgbanks = {
+    name = "Nigel Banks";
+    email = "nigel.g.banks@gmail.com";
+    github = "nigelgbanks";
+    githubId = 487373;
+  };
 }
diff --git a/nixpkgs/maintainers/scripts/pluginupdate.py b/nixpkgs/maintainers/scripts/pluginupdate.py
index 9eabcfcebc6e..0fad92481bba 100644
--- a/nixpkgs/maintainers/scripts/pluginupdate.py
+++ b/nixpkgs/maintainers/scripts/pluginupdate.py
@@ -73,42 +73,90 @@ 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}"
     return urllib.request.Request(url, headers=headers)
 
-@dataclass
-class PluginDesc:
-    owner: str
-    repo: str
-    branch: str
-    alias: Optional[str]
-
-
 class Repo:
     def __init__(
-        self, owner: str, name: str, branch: str, alias: Optional[str]
+        self, uri: str, branch: str, alias: Optional[str]
     ) -> None:
-        self.owner = owner
-        self.name = name
+        self.uri = uri
+        '''Url to the repo'''
         self.branch = branch
         self.alias = alias
         self.redirect: Dict[str, str] = {}
+        self.token = "dummy_token"
 
-    def url(self, path: str) -> str:
-        return urljoin(f"https://github.com/{self.owner}/{self.name}/", path)
+    @property
+    def name(self):
+        return self.uri.split('/')[-1]
 
     def __repr__(self) -> str:
-        return f"Repo({self.owner}, {self.name})"
+        return f"Repo({self.name}, {self.uri})"
+
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
+    def has_submodules(self) -> bool:
+        return True
+
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
+    def latest_commit(self) -> Tuple[str, datetime]:
+        loaded = self._prefetch(None)
+        updated = datetime.strptime(loaded['date'], "%Y-%m-%dT%H:%M:%S%z")
+
+        return loaded['rev'], updated
+
+    def _prefetch(self, ref: Optional[str]):
+        cmd = ["nix-prefetch-git", "--quiet", "--fetch-submodules", self.uri]
+        if ref is not None:
+            cmd.append(ref)
+        log.debug(cmd)
+        data = subprocess.check_output(cmd)
+        loaded = json.loads(data)
+        return loaded
+
+    def prefetch(self, ref: Optional[str]) -> str:
+        loaded = self._prefetch(ref)
+        return loaded["sha256"]
+
+    def as_nix(self, plugin: "Plugin") -> str:
+        return f'''fetchgit {{
+            url = "{self.uri}";
+            rev = "{plugin.commit}";
+            sha256 = "{plugin.sha256}";
+        }}'''
+
+
+class RepoGitHub(Repo):
+    def __init__(
+        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)
+
+    @property
+    def name(self):
+        return self.repo
+
+    def url(self, path: str) -> str:
+        return urljoin(f"https://github.com/{self.owner}/{self.name}/", path)
 
     @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:
@@ -120,9 +168,9 @@ class 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)
+            self._check_for_redirect(commit_url, req)
             xml = req.read()
             root = ET.fromstring(xml)
             latest_entry = root.find(ATOM_ENTRY)
@@ -137,7 +185,7 @@ class Repo:
             updated = datetime.strptime(updated_tag.text, "%Y-%m-%dT%H:%M:%SZ")
             return Path(str(url.path)).name, updated
 
-    def check_for_redirect(self, url: str, req: http.client.HTTPResponse):
+    def _check_for_redirect(self, url: str, req: http.client.HTTPResponse):
         response_url = req.geturl()
         if url != response_url:
             new_owner, new_name = (
@@ -150,11 +198,13 @@ class Repo:
             new_plugin = plugin_line.format(owner=new_owner, name=new_name)
             self.redirect[old_plugin] = new_plugin
 
-    def prefetch_git(self, ref: str) -> str:
-        data = subprocess.check_output(
-            ["nix-prefetch-git", "--fetch-submodules", self.url(""), ref]
-        )
-        return json.loads(data)["sha256"]
+
+    def prefetch(self, commit: str) -> str:
+        if self.has_submodules():
+            sha256 = super().prefetch(commit)
+        else:
+            sha256 = self.prefetch_github(commit)
+        return sha256
 
     def prefetch_github(self, ref: str) -> str:
         data = subprocess.check_output(
@@ -162,6 +212,33 @@ class Repo:
         )
         return data.strip().decode("utf-8")
 
+    def as_nix(self, plugin: "Plugin") -> str:
+        if plugin.has_submodules:
+            submodule_attr = "\n      fetchSubmodules = true;"
+        else:
+            submodule_attr = ""
+
+        return f'''fetchFromGitHub {{
+      owner = "{self.owner}";
+      repo = "{self.repo}";
+      rev = "{plugin.commit}";
+      sha256 = "{plugin.sha256}";{submodule_attr}
+    }}'''
+
+
+@dataclass
+class PluginDesc:
+    repo: Repo
+    branch: str
+    alias: Optional[str]
+
+    @property
+    def name(self):
+        if self.alias is None:
+            return self.repo.name
+        else:
+            return self.alias
+
 
 class Plugin:
     def __init__(
@@ -193,6 +270,7 @@ class Plugin:
         return copy
 
 
+
 class Editor:
     """The configuration of the update script."""
 
@@ -219,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):
@@ -241,9 +345,9 @@ class Editor:
 
     def create_parser(self):
         parser = argparse.ArgumentParser(
-            description=(
-                f"Updates nix derivations for {self.name} plugins"
-                f"By default from {self.default_in} to {self.default_out}"
+            description=(f"""
+                Updates nix derivations for {self.name} plugins.\n
+                By default from {self.default_in} to {self.default_out}"""
             )
         )
         parser.add_argument(
@@ -273,7 +377,15 @@ class Editor:
             dest="proc",
             type=int,
             default=30,
-            help="Number of concurrent processes to spawn.",
+            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,
@@ -305,7 +417,7 @@ class CleanEnvironment(object):
 
 def get_current_plugins(editor: Editor) -> List[Plugin]:
     with CleanEnvironment():
-        cmd = ["nix", "eval", "--impure", "--json", "--expr", editor.get_plugins]
+        cmd = ["nix", "eval", "--extra-experimental-features", "nix-command", "--impure", "--json", "--expr", editor.get_plugins]
         log.debug("Running command %s", cmd)
         out = subprocess.check_output(cmd)
     data = json.loads(out)
@@ -320,26 +432,24 @@ def prefetch_plugin(
     p: PluginDesc,
     cache: "Optional[Cache]" = None,
 ) -> Tuple[Plugin, Dict[str, str]]:
-    user, repo_name, branch, alias = p.owner, p.repo, p.branch, p.alias
-    log.info(f"Fetching last commit for plugin {user}/{repo_name}@{branch}")
-    repo = Repo(user, repo_name, branch, alias)
+    repo, branch, alias = p.repo, p.branch, p.alias
+    name = alias or p.repo.name
+    commit = None
+    log.info(f"Fetching last commit for plugin {name} from {repo.uri}@{branch}")
     commit, date = repo.latest_commit()
-    has_submodules = repo.has_submodules()
     cached_plugin = cache[commit] if cache else None
     if cached_plugin is not None:
         log.debug("Cache hit !")
-        cached_plugin.name = alias or repo_name
+        cached_plugin.name = name
         cached_plugin.date = date
         return cached_plugin, repo.redirect
 
-    print(f"prefetch {user}/{repo_name}")
-    if has_submodules:
-        sha256 = repo.prefetch_git(commit)
-    else:
-        sha256 = repo.prefetch_github(commit)
+    has_submodules = repo.has_submodules()
+    print(f"prefetch {name}")
+    sha256 = repo.prefetch(commit)
 
     return (
-        Plugin(alias or repo_name, commit, has_submodules, sha256, date=date),
+        Plugin(name, commit, has_submodules, sha256, date=date),
         repo.redirect,
     )
 
@@ -360,16 +470,17 @@ def print_download_error(plugin: str, ex: Exception):
 
 
 def check_results(
-    results: List[Tuple[str, str, Union[Exception, Plugin], Dict[str, str]]]
-) -> Tuple[List[Tuple[str, str, Plugin]], Dict[str, str]]:
+    results: List[Tuple[PluginDesc, Union[Exception, Plugin], Dict[str, str]]]
+) -> Tuple[List[Tuple[PluginDesc, Plugin]], Dict[str, str]]:
+    ''' '''
     failures: List[Tuple[str, Exception]] = []
     plugins = []
     redirects: Dict[str, str] = {}
-    for (owner, name, result, redirect) in results:
+    for (pdesc, result, redirect) in results:
         if isinstance(result, Exception):
-            failures.append((name, result))
+            failures.append((pdesc.name, result))
         else:
-            plugins.append((owner, name, result))
+            plugins.append((pdesc, result))
             redirects.update(redirect)
 
     print(f"{len(results) - len(failures)} plugins were checked", end="")
@@ -384,32 +495,30 @@ def check_results(
 
         sys.exit(1)
 
-def parse_plugin_line(line: str) -> PluginDesc:
+def make_repo(uri, branch, alias) -> Repo:
+    '''Instantiate a Repo with the correct specialization depending on server (gitub spec)'''
+    # dumb check to see if it's of the form owner/repo (=> github) or https://...
+    res = uri.split('/')
+    if len(res) <= 2:
+        repo = RepoGitHub(res[0], res[1], branch, alias)
+    else:
+        repo = Repo(uri.strip(), branch, alias)
+    return repo
+
+def parse_plugin_line(config: FetchConfig, line: str) -> PluginDesc:
     branch = "HEAD"
     alias = None
-    name, repo = line.split("/")
-    if " as " in repo:
-        repo, alias = repo.split(" as ")
+    uri = line
+    if " as " in uri:
+        uri, alias = uri.split(" as ")
         alias = alias.strip()
-    if "@" in repo:
-        repo, branch = repo.split("@")
+    if "@" in uri:
+        uri, branch = uri.split("@")
 
-    return PluginDesc(name.strip(), repo.strip(), branch.strip(), alias)
+    repo = make_repo(uri.strip(), branch.strip(), alias)
+    repo.token = config.github_token
 
-
-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)
-            if not plugin.owner:
-                msg = f"Invalid repository {line}, must be in the format owner/repo[ as alias]"
-                print(msg, file=sys.stderr)
-                sys.exit(1)
-            plugins.append(plugin)
-    return plugins
+    return PluginDesc(repo, branch.strip(), alias)
 
 
 def get_cache_path(cache_file_name: str) -> Optional[Path]:
@@ -467,14 +576,13 @@ class Cache:
 
 def prefetch(
     pluginDesc: PluginDesc, cache: Cache
-) -> Tuple[str, str, Union[Exception, Plugin], dict]:
-    owner, repo = pluginDesc.owner, pluginDesc.repo
+) -> Tuple[PluginDesc, Union[Exception, Plugin], dict]:
     try:
         plugin, redirect = prefetch_plugin(pluginDesc, cache)
         cache[plugin.commit] = plugin
-        return (owner, repo, plugin, redirect)
+        return (pluginDesc, plugin, redirect)
     except Exception as e:
-        return (owner, repo, e, {})
+        return (pluginDesc, e, {})
 
 
 def rewrite_input(
@@ -522,40 +630,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)
 
     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])
diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix
index 0743c80ec4f6..c586254d7096 100644
--- a/nixpkgs/maintainers/team-list.nix
+++ b/nixpkgs/maintainers/team-list.nix
@@ -166,6 +166,17 @@ with lib.maintainers; {
     scope = "Maintain Jitsi.";
   };
 
+  kubernetes = {
+    members = [
+      johanot
+      offline
+      saschagrunert
+      srhb
+      zowoq
+    ];
+    scope = "Maintain the Kubernetes package and module";
+  };
+
   kodi = {
     members = [
       aanderse
@@ -203,7 +214,6 @@ with lib.maintainers; {
       mguentner
       ekleog
       ralith
-      mjlbach
       dandellion
       sumnerevans
     ];
@@ -212,7 +222,7 @@ with lib.maintainers; {
 
   openstack = {
     members = [
-      angustrau
+      emilytrau
       SuperSandro2000
     ];
     scope = "Maintain the ecosystem around OpenStack";
@@ -229,6 +239,7 @@ with lib.maintainers; {
   php = {
     members = [
       aanderse
+      drupol
       etu
       globin
       ma27
@@ -266,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/nixpkgs/nixos/default.nix b/nixpkgs/nixos/default.nix
index c11872f1441a..6beb4cd3a7df 100644
--- a/nixpkgs/nixos/default.nix
+++ b/nixpkgs/nixos/default.nix
@@ -9,27 +9,6 @@ let
     modules = [ configuration ];
   };
 
-  # This is for `nixos-rebuild build-vm'.
-  vmConfig = (import ./lib/eval-config.nix {
-    inherit system;
-    modules = [ configuration ./modules/virtualisation/qemu-vm.nix ];
-  }).config;
-
-  # This is for `nixos-rebuild build-vm-with-bootloader'.
-  vmWithBootLoaderConfig = (import ./lib/eval-config.nix {
-    inherit system;
-    modules =
-      [ configuration
-        ./modules/virtualisation/qemu-vm.nix
-        { virtualisation.useBootLoader = true; }
-        ({ config, ... }: {
-          virtualisation.useEFIBoot =
-            config.boot.loader.systemd-boot.enable ||
-            config.boot.loader.efi.canTouchEfiVariables;
-        })
-      ];
-  }).config;
-
 in
 
 {
@@ -37,7 +16,5 @@ in
 
   system = eval.config.system.build.toplevel;
 
-  vm = vmConfig.system.build.vm;
-
-  vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm;
+  inherit (eval.config.system.build) vm vmWithBootLoader;
 }
diff --git a/nixpkgs/nixos/doc/manual/default.nix b/nixpkgs/nixos/doc/manual/default.nix
index 31b6da01c6bd..e96bc47b4a53 100644
--- a/nixpkgs/nixos/doc/manual/default.nix
+++ b/nixpkgs/nixos/doc/manual/default.nix
@@ -1,4 +1,13 @@
-{ pkgs, options, config, version, revision, extraSources ? [] }:
+{ pkgs
+, options
+, config
+, version
+, revision
+, extraSources ? []
+, baseOptionsJSON ? null
+, warningsAreErrors ? true
+, prefix ? ../../..
+}:
 
 with pkgs;
 
@@ -11,11 +20,11 @@ let
   #
   # E.g. if some `options` came from modules in ${pkgs.customModules}/nix,
   # you'd need to include `extraSources = [ pkgs.customModules ]`
-  prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources);
+  prefixesToStrip = map (p: "${toString p}/") ([ prefix ] ++ extraSources);
   stripAnyPrefixes = lib.flip (lib.foldr lib.removePrefix) prefixesToStrip;
 
   optionsDoc = buildPackages.nixosOptionsDoc {
-    inherit options revision;
+    inherit options revision baseOptionsJSON warningsAreErrors;
     transformOptions = opt: opt // {
       # Clean up declaration sites to not refer to the NixOS source tree.
       declarations = map stripAnyPrefixes opt.declarations;
@@ -161,7 +170,7 @@ let
 in rec {
   inherit generatedSources;
 
-  inherit (optionsDoc) optionsJSON optionsDocBook;
+  inherit (optionsDoc) optionsJSON optionsNix optionsDocBook;
 
   # Generate the NixOS manual.
   manualHTML = runCommand "nixos-manual-html"
@@ -205,7 +214,7 @@ in rec {
 
   manualEpub = runCommand "nixos-manual-epub"
     { inherit sources;
-      buildInputs = [ libxml2.bin libxslt.bin zip ];
+      nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ];
     }
     ''
       # Generate the epub manual.
diff --git a/nixpkgs/nixos/doc/manual/development/activation-script.section.md b/nixpkgs/nixos/doc/manual/development/activation-script.section.md
new file mode 100644
index 000000000000..df6836624040
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/development.xml b/nixpkgs/nixos/doc/manual/development/development.xml
index 0b2ad60a878b..21286cdbd2b4 100644
--- a/nixpkgs/nixos/doc/manual/development/development.xml
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/meta-attributes.section.md b/nixpkgs/nixos/doc/manual/development/meta-attributes.section.md
index ca4ba007f7dc..946c08efd0a3 100644
--- a/nixpkgs/nixos/doc/manual/development/meta-attributes.section.md
+++ b/nixpkgs/nixos/doc/manual/development/meta-attributes.section.md
@@ -5,7 +5,7 @@ extra information. Module meta attributes are defined in the `meta.nix`
 special module.
 
 `meta` is a top level attribute like `options` and `config`. Available
-meta-attributes are `maintainers` and `doc`.
+meta-attributes are `maintainers`, `doc`, and `buildDocsInSandbox`.
 
 Each of the meta-attributes must be defined at most once per module
 file.
@@ -24,6 +24,7 @@ file.
   meta = {
     maintainers = with lib.maintainers; [ ericsagnes ];
     doc = ./default.xml;
+    buildDocsInSandbox = true;
   };
 }
 ```
@@ -38,3 +39,28 @@ file.
     ```ShellSession
     $ nix-build nixos/release.nix -A manual.x86_64-linux
     ```
+
+-  `buildDocsInSandbox` indicates whether the option documentation for the
+   module can be built in a derivation sandbox. This option is currently only
+   honored for modules shipped by nixpkgs. User modules and modules taken from
+   `NIXOS_EXTRA_MODULE_PATH` are always built outside of the sandbox, as has
+   been the case in previous releases.
+
+   Building NixOS option documentation in a sandbox allows caching of the built
+   documentation, which greatly decreases the amount of time needed to evaluate
+   a system configuration that has NixOS documentation enabled. The sandbox also
+   restricts which attributes may be referenced by documentation attributes
+   (such as option descriptions) to the `options` and `lib` module arguments and
+   the `pkgs.formats` attribute of the `pkgs` argument, `config` and the rest of
+   `pkgs` are disallowed and will cause doc build failures when used. This
+   restriction is necessary because we cannot reproduce the full nixpkgs
+   instantiation with configuration and overlays from a system configuration
+   inside the sandbox. The `options` argument only includes options of modules
+   that are also built inside the sandbox, referencing an option of a module
+   that isn't built in the sandbox is also forbidden.
+
+   The default is `true` and should usually not be changed; set it to `false`
+   only if the module requires access to `pkgs` in its documentation (e.g.
+   because it loads information from a linked package to build an option type)
+   or if its documentation depends on other modules that also aren't sandboxed
+   (e.g. by using types defined in the other module).
diff --git a/nixpkgs/nixos/doc/manual/development/option-declarations.section.md b/nixpkgs/nixos/doc/manual/development/option-declarations.section.md
index be56529992ab..fff06e1ea5ba 100644
--- a/nixpkgs/nixos/doc/manual/development/option-declarations.section.md
+++ b/nixpkgs/nixos/doc/manual/development/option-declarations.section.md
@@ -57,6 +57,80 @@ The function `mkOption` accepts the following arguments.
 :   A textual description of the option, in DocBook format, that will be
     included in the NixOS manual.
 
+## Utility functions for common option patterns {#sec-option-declarations-util}
+
+### `mkEnableOption` {#sec-option-declarations-util-mkEnableOption}
+
+Creates an Option attribute set for a boolean value option i.e an
+option to be toggled on or off.
+
+This function takes a single string argument, the name of the thing to be toggled.
+
+The option's description is "Whether to enable \<name\>.".
+
+For example:
+
+::: {#ex-options-declarations-util-mkEnableOption-magic .example}
+```nix
+lib.mkEnableOption "magic"
+# is like
+lib.mkOption {
+  type = lib.types.bool;
+  default = false;
+  example = true;
+  description = "Whether to enable magic.";
+}
+```
+
+### `mkPackageOption` {#sec-option-declarations-util-mkPackageOption}
+
+Usage:
+
+```nix
+mkPackageOption pkgs "name" { default = [ "path" "in" "pkgs" ]; example = "literal example"; }
+```
+
+Creates an Option attribute set for an option that specifies the package a module should use for some purpose.
+
+**Note**: You shouldn’t necessarily make package options for all of your modules. You can always overwrite a specific package throughout nixpkgs by using [nixpkgs overlays](https://nixos.org/manual/nixpkgs/stable/#chap-overlays).
+
+The default package is specified as a list of strings representing its attribute path in nixpkgs. Because of this, you need to pass nixpkgs itself as the first argument.
+
+The second argument is the name of the option, used in the description "The \<name\> package to use.". You can also pass an example value, either a literal string or a package's attribute path.
+
+You can omit the default path if the name of the option is also attribute path in nixpkgs.
+
+::: {#ex-options-declarations-util-mkPackageOption .title}
+Examples:
+
+::: {#ex-options-declarations-util-mkPackageOption-hello .example}
+```nix
+lib.mkPackageOption pkgs "hello" { }
+# is like
+lib.mkOption {
+  type = lib.types.package;
+  default = pkgs.hello;
+  defaultText = lib.literalExpression "pkgs.hello";
+  description = "The hello package to use.";
+}
+```
+
+::: {#ex-options-declarations-util-mkPackageOption-ghc .example}
+```nix
+lib.mkPackageOption pkgs "GHC" {
+  default = [ "ghc" ];
+  example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])";
+}
+# is like
+lib.mkOption {
+  type = lib.types.package;
+  default = pkgs.ghc;
+  defaultText = lib.literalExpression "pkgs.ghc";
+  example = lib.literalExpression "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])";
+  description = "The GHC package to use.";
+}
+```
+
 ## Extensible Option Types {#sec-option-declarations-eot}
 
 Extensible option types is a feature that allow to extend certain types
diff --git a/nixpkgs/nixos/doc/manual/development/option-types.section.md b/nixpkgs/nixos/doc/manual/development/option-types.section.md
index ed557206659f..56ffa8e9d79c 100644
--- a/nixpkgs/nixos/doc/manual/development/option-types.section.md
+++ b/nixpkgs/nixos/doc/manual/development/option-types.section.md
@@ -250,6 +250,12 @@ Composed types are types that take a type as parameter. `listOf
 :   Ensures that type *`t`* cannot be merged. It is used to ensure option
     definitions are declared only once.
 
+`types.unique` `{ message = m }` *`t`*
+
+:   Ensures that type *`t`* cannot be merged. Prints the message *`m`*, after
+    the line `The option <option path> is defined multiple times.` and before
+    a list of definition locations.
+
 `types.either` *`t1 t2`*
 
 :   Type *`t1`* or type *`t2`*, e.g. `with types; either int str`.
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
index f87298201791..a1431859ff59 100644
--- a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
+++ b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
@@ -4,19 +4,19 @@ The test itself can be run interactively. This is particularly useful
 when developing or debugging a test:
 
 ```ShellSession
-$ nix-build nixos/tests/login.nix -A driverInteractive
-$ ./result/bin/nixos-test-driver --interactive
-starting VDE switch for network 1
->
+$ nix-build . -A nixosTests.login.driverInteractive
+$ ./result/bin/nixos-test-driver
+[...]
+>>>
 ```
 
 You can then take any Python statement, e.g.
 
 ```py
-> start_all()
-> test_script()
-> machine.succeed("touch /tmp/foo")
-> print(machine.succeed("pwd")) # Show stdout of command
+>>> start_all()
+>>> test_script()
+>>> machine.succeed("touch /tmp/foo")
+>>> print(machine.succeed("pwd")) # Show stdout of command
 ```
 
 The function `test_script` executes the entire test script and drops you
@@ -28,7 +28,7 @@ You can re-use the VM states coming from a previous run by setting the
 `--keep-vm-state` flag.
 
 ```ShellSession
-$ ./result/bin/nixos-test-driver --interactive --keep-vm-state
+$ ./result/bin/nixos-test-driver --keep-vm-state
 ```
 
 The machine state is stored in the `$TMPDIR/vm-state-machinename`
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md b/nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md
index d6a456f01883..1bec023b613a 100644
--- a/nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/unit-handling.section.md b/nixpkgs/nixos/doc/manual/development/unit-handling.section.md
new file mode 100644
index 000000000000..d477f2c860f3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md b/nixpkgs/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md
new file mode 100644
index 000000000000..aad82831a3c2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md
index d9749d37da79..7de57d0d2a37 100644
--- a/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md
+++ b/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md
@@ -88,6 +88,8 @@ starting them in parallel:
 start_all()
 ```
 
+## Machine objects {#ssec-machine-objects}
+
 The following methods are available on machine objects:
 
 `start`
@@ -313,3 +315,52 @@ repository):
       # fmt: on
     '';
 ```
+
+## Failing tests early {#ssec-failing-tests-early}
+
+To fail tests early when certain invariables are no longer met (instead of waiting for the build to time out), the decorator `polling_condition` is provided. For example, if we are testing a program `foo` that should not quit after being started, we might write the following:
+
+```py
+@polling_condition
+def foo_running():
+    machine.succeed("pgrep -x foo")
+
+
+machine.succeed("foo --start")
+machine.wait_until_succeeds("pgrep -x foo")
+
+with foo_running:
+    ...  # Put `foo` through its paces
+```
+
+
+`polling_condition` takes the following (optional) arguments:
+
+`seconds_interval`
+
+:
+    specifies how often the condition should be polled:
+
+    ```py
+    @polling_condition(seconds_interval=10)
+    def foo_running():
+        machine.succeed("pgrep -x foo")
+    ```
+
+`description`
+
+:
+    is used in the log when the condition is checked. If this is not provided, the description is pulled from the docstring of the function. These two are therefore equivalent:
+
+    ```py
+    @polling_condition
+    def foo_running():
+        "check that foo is running"
+        machine.succeed("pgrep -x foo")
+    ```
+
+    ```py
+    @polling_condition(description="check that foo is running")
+    def foo_running():
+        machine.succeed("pgrep -x foo")
+    ```
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/activation-script.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/activation-script.section.xml
new file mode 100644
index 000000000000..0d9e911216ef
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/from_md/development/meta-attributes.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/meta-attributes.section.xml
index f535d94602bd..1eb6e0f30368 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/meta-attributes.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/development/meta-attributes.section.xml
@@ -8,8 +8,8 @@
   <para>
     <literal>meta</literal> is a top level attribute like
     <literal>options</literal> and <literal>config</literal>. Available
-    meta-attributes are <literal>maintainers</literal> and
-    <literal>doc</literal>.
+    meta-attributes are <literal>maintainers</literal>,
+    <literal>doc</literal>, and <literal>buildDocsInSandbox</literal>.
   </para>
   <para>
     Each of the meta-attributes must be defined at most once per module
@@ -29,6 +29,7 @@
   meta = {
     maintainers = with lib.maintainers; [ ericsagnes ];
     doc = ./default.xml;
+    buildDocsInSandbox = true;
   };
 }
 </programlisting>
@@ -51,5 +52,44 @@
 $ nix-build nixos/release.nix -A manual.x86_64-linux
 </programlisting>
     </listitem>
+    <listitem>
+      <para>
+        <literal>buildDocsInSandbox</literal> indicates whether the
+        option documentation for the module can be built in a derivation
+        sandbox. This option is currently only honored for modules
+        shipped by nixpkgs. User modules and modules taken from
+        <literal>NIXOS_EXTRA_MODULE_PATH</literal> are always built
+        outside of the sandbox, as has been the case in previous
+        releases.
+      </para>
+      <para>
+        Building NixOS option documentation in a sandbox allows caching
+        of the built documentation, which greatly decreases the amount
+        of time needed to evaluate a system configuration that has NixOS
+        documentation enabled. The sandbox also restricts which
+        attributes may be referenced by documentation attributes (such
+        as option descriptions) to the <literal>options</literal> and
+        <literal>lib</literal> module arguments and the
+        <literal>pkgs.formats</literal> attribute of the
+        <literal>pkgs</literal> argument, <literal>config</literal> and
+        the rest of <literal>pkgs</literal> are disallowed and will
+        cause doc build failures when used. This restriction is
+        necessary because we cannot reproduce the full nixpkgs
+        instantiation with configuration and overlays from a system
+        configuration inside the sandbox. The <literal>options</literal>
+        argument only includes options of modules that are also built
+        inside the sandbox, referencing an option of a module that isn’t
+        built in the sandbox is also forbidden.
+      </para>
+      <para>
+        The default is <literal>true</literal> and should usually not be
+        changed; set it to <literal>false</literal> only if the module
+        requires access to <literal>pkgs</literal> in its documentation
+        (e.g. because it loads information from a linked package to
+        build an option type) or if its documentation depends on other
+        modules that also aren’t sandboxed (e.g. by using types defined
+        in the other module).
+      </para>
+    </listitem>
   </itemizedlist>
 </section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/option-declarations.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/option-declarations.section.xml
index 2845e37659b1..0eeffae628e1 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/option-declarations.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/development/option-declarations.section.xml
@@ -97,125 +97,228 @@ options = {
       </listitem>
     </varlistentry>
   </variablelist>
-  <section xml:id="sec-option-declarations-eot">
-    <title>Extensible Option Types</title>
-    <para>
-      Extensible option types is a feature that allow to extend certain
-      types declaration through multiple module files. This feature only
-      work with a restricted set of types, namely
-      <literal>enum</literal> and <literal>submodules</literal> and any
-      composed forms of them.
-    </para>
-    <para>
-      Extensible option types can be used for <literal>enum</literal>
-      options that affects multiple modules, or as an alternative to
-      related <literal>enable</literal> options.
-    </para>
-    <para>
-      As an example, we will take the case of display managers. There is
-      a central display manager module for generic display manager
-      options and a module file per display manager backend (sddm, gdm
-      ...).
-    </para>
-    <para>
-      There are two approach to this module structure:
-    </para>
-    <itemizedlist>
-      <listitem>
+  <section xml:id="sec-option-declarations-util">
+    <title>Utility functions for common option patterns</title>
+    <section xml:id="sec-option-declarations-util-mkEnableOption">
+      <title><literal>mkEnableOption</literal></title>
+      <para>
+        Creates an Option attribute set for a boolean value option i.e
+        an option to be toggled on or off.
+      </para>
+      <para>
+        This function takes a single string argument, the name of the
+        thing to be toggled.
+      </para>
+      <para>
+        The option’s description is <quote>Whether to enable
+        &lt;name&gt;.</quote>.
+      </para>
+      <para>
+        For example:
+      </para>
+      <anchor xml:id="ex-options-declarations-util-mkEnableOption-magic" />
+      <programlisting language="bash">
+lib.mkEnableOption &quot;magic&quot;
+# is like
+lib.mkOption {
+  type = lib.types.bool;
+  default = false;
+  example = true;
+  description = &quot;Whether to enable magic.&quot;;
+}
+</programlisting>
+      <section xml:id="sec-option-declarations-util-mkPackageOption">
+        <title><literal>mkPackageOption</literal></title>
         <para>
-          Managing the display managers independently by adding an
-          enable option to every display manager module backend. (NixOS)
+          Usage:
         </para>
-      </listitem>
-      <listitem>
+        <programlisting language="bash">
+mkPackageOption pkgs &quot;name&quot; { default = [ &quot;path&quot; &quot;in&quot; &quot;pkgs&quot; ]; example = &quot;literal example&quot;; }
+</programlisting>
         <para>
-          Managing the display managers in the central module by adding
-          an option to select which display manager backend to use.
+          Creates an Option attribute set for an option that specifies
+          the package a module should use for some purpose.
         </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      Both approaches have problems.
-    </para>
-    <para>
-      Making backends independent can quickly become hard to manage. For
-      display managers, there can be only one enabled at a time, but the
-      type system can not enforce this restriction as there is no
-      relation between each backend <literal>enable</literal> option. As
-      a result, this restriction has to be done explicitely by adding
-      assertions in each display manager backend module.
-    </para>
-    <para>
-      On the other hand, managing the display managers backends in the
-      central module will require to change the central module option
-      every time a new backend is added or removed.
-    </para>
-    <para>
-      By using extensible option types, it is possible to create a
-      placeholder option in the central module
-      (<link linkend="ex-option-declaration-eot-service">Example:
-      Extensible type placeholder in the service module</link>), and to
-      extend it in each backend module
-      (<link linkend="ex-option-declaration-eot-backend-gdm">Example:
-      Extending
-      <literal>services.xserver.displayManager.enable</literal> in the
-      <literal>gdm</literal> module</link>,
-      <link linkend="ex-option-declaration-eot-backend-sddm">Example:
-      Extending
-      <literal>services.xserver.displayManager.enable</literal> in the
-      <literal>sddm</literal> module</link>).
-    </para>
-    <para>
-      As a result, <literal>displayManager.enable</literal> option
-      values can be added without changing the main service module file
-      and the type system automatically enforce that there can only be a
-      single display manager enabled.
-    </para>
-    <anchor xml:id="ex-option-declaration-eot-service" />
-    <para>
-      <emphasis role="strong">Example: Extensible type placeholder in
-      the service module</emphasis>
-    </para>
-    <programlisting language="bash">
+        <para>
+          <emphasis role="strong">Note</emphasis>: You shouldn’t
+          necessarily make package options for all of your modules. You
+          can always overwrite a specific package throughout nixpkgs by
+          using
+          <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#chap-overlays">nixpkgs
+          overlays</link>.
+        </para>
+        <para>
+          The default package is specified as a list of strings
+          representing its attribute path in nixpkgs. Because of this,
+          you need to pass nixpkgs itself as the first argument.
+        </para>
+        <para>
+          The second argument is the name of the option, used in the
+          description <quote>The &lt;name&gt; package to use.</quote>.
+          You can also pass an example value, either a literal string or
+          a package’s attribute path.
+        </para>
+        <para>
+          You can omit the default path if the name of the option is
+          also attribute path in nixpkgs.
+        </para>
+        <anchor xml:id="ex-options-declarations-util-mkPackageOption" />
+        <para>
+          Examples:
+        </para>
+        <anchor xml:id="ex-options-declarations-util-mkPackageOption-hello" />
+        <programlisting language="bash">
+lib.mkPackageOption pkgs &quot;hello&quot; { }
+# is like
+lib.mkOption {
+  type = lib.types.package;
+  default = pkgs.hello;
+  defaultText = lib.literalExpression &quot;pkgs.hello&quot;;
+  description = &quot;The hello package to use.&quot;;
+}
+</programlisting>
+        <anchor xml:id="ex-options-declarations-util-mkPackageOption-ghc" />
+        <programlisting language="bash">
+lib.mkPackageOption pkgs &quot;GHC&quot; {
+  default = [ &quot;ghc&quot; ];
+  example = &quot;pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
+}
+# is like
+lib.mkOption {
+  type = lib.types.package;
+  default = pkgs.ghc;
+  defaultText = lib.literalExpression &quot;pkgs.ghc&quot;;
+  example = lib.literalExpression &quot;pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
+  description = &quot;The GHC package to use.&quot;;
+}
+</programlisting>
+        <section xml:id="sec-option-declarations-eot">
+          <title>Extensible Option Types</title>
+          <para>
+            Extensible option types is a feature that allow to extend
+            certain types declaration through multiple module files.
+            This feature only work with a restricted set of types,
+            namely <literal>enum</literal> and
+            <literal>submodules</literal> and any composed forms of
+            them.
+          </para>
+          <para>
+            Extensible option types can be used for
+            <literal>enum</literal> options that affects multiple
+            modules, or as an alternative to related
+            <literal>enable</literal> options.
+          </para>
+          <para>
+            As an example, we will take the case of display managers.
+            There is a central display manager module for generic
+            display manager options and a module file per display
+            manager backend (sddm, gdm ...).
+          </para>
+          <para>
+            There are two approach to this module structure:
+          </para>
+          <itemizedlist>
+            <listitem>
+              <para>
+                Managing the display managers independently by adding an
+                enable option to every display manager module backend.
+                (NixOS)
+              </para>
+            </listitem>
+            <listitem>
+              <para>
+                Managing the display managers in the central module by
+                adding an option to select which display manager backend
+                to use.
+              </para>
+            </listitem>
+          </itemizedlist>
+          <para>
+            Both approaches have problems.
+          </para>
+          <para>
+            Making backends independent can quickly become hard to
+            manage. For display managers, there can be only one enabled
+            at a time, but the type system can not enforce this
+            restriction as there is no relation between each backend
+            <literal>enable</literal> option. As a result, this
+            restriction has to be done explicitely by adding assertions
+            in each display manager backend module.
+          </para>
+          <para>
+            On the other hand, managing the display managers backends in
+            the central module will require to change the central module
+            option every time a new backend is added or removed.
+          </para>
+          <para>
+            By using extensible option types, it is possible to create a
+            placeholder option in the central module
+            (<link linkend="ex-option-declaration-eot-service">Example:
+            Extensible type placeholder in the service module</link>),
+            and to extend it in each backend module
+            (<link linkend="ex-option-declaration-eot-backend-gdm">Example:
+            Extending
+            <literal>services.xserver.displayManager.enable</literal> in
+            the <literal>gdm</literal> module</link>,
+            <link linkend="ex-option-declaration-eot-backend-sddm">Example:
+            Extending
+            <literal>services.xserver.displayManager.enable</literal> in
+            the <literal>sddm</literal> module</link>).
+          </para>
+          <para>
+            As a result, <literal>displayManager.enable</literal> option
+            values can be added without changing the main service module
+            file and the type system automatically enforce that there
+            can only be a single display manager enabled.
+          </para>
+          <anchor xml:id="ex-option-declaration-eot-service" />
+          <para>
+            <emphasis role="strong">Example: Extensible type placeholder
+            in the service module</emphasis>
+          </para>
+          <programlisting language="bash">
 services.xserver.displayManager.enable = mkOption {
   description = &quot;Display manager to use&quot;;
   type = with types; nullOr (enum [ ]);
 };
 </programlisting>
-    <anchor xml:id="ex-option-declaration-eot-backend-gdm" />
-    <para>
-      <emphasis role="strong">Example: Extending
-      <literal>services.xserver.displayManager.enable</literal> in the
-      <literal>gdm</literal> module</emphasis>
-    </para>
-    <programlisting language="bash">
+          <anchor xml:id="ex-option-declaration-eot-backend-gdm" />
+          <para>
+            <emphasis role="strong">Example: Extending
+            <literal>services.xserver.displayManager.enable</literal> in
+            the <literal>gdm</literal> module</emphasis>
+          </para>
+          <programlisting language="bash">
 services.xserver.displayManager.enable = mkOption {
   type = with types; nullOr (enum [ &quot;gdm&quot; ]);
 };
 </programlisting>
-    <anchor xml:id="ex-option-declaration-eot-backend-sddm" />
-    <para>
-      <emphasis role="strong">Example: Extending
-      <literal>services.xserver.displayManager.enable</literal> in the
-      <literal>sddm</literal> module</emphasis>
-    </para>
-    <programlisting language="bash">
+          <anchor xml:id="ex-option-declaration-eot-backend-sddm" />
+          <para>
+            <emphasis role="strong">Example: Extending
+            <literal>services.xserver.displayManager.enable</literal> in
+            the <literal>sddm</literal> module</emphasis>
+          </para>
+          <programlisting language="bash">
 services.xserver.displayManager.enable = mkOption {
   type = with types; nullOr (enum [ &quot;sddm&quot; ]);
 };
 </programlisting>
-    <para>
-      The placeholder declaration is a standard
-      <literal>mkOption</literal> declaration, but it is important that
-      extensible option declarations only use the
-      <literal>type</literal> argument.
-    </para>
-    <para>
-      Extensible option types work with any of the composed variants of
-      <literal>enum</literal> such as
-      <literal>with types; nullOr (enum [ &quot;foo&quot; &quot;bar&quot; ])</literal>
-      or
-      <literal>with types; listOf (enum [ &quot;foo&quot; &quot;bar&quot; ])</literal>.
-    </para>
+          <para>
+            The placeholder declaration is a standard
+            <literal>mkOption</literal> declaration, but it is important
+            that extensible option declarations only use the
+            <literal>type</literal> argument.
+          </para>
+          <para>
+            Extensible option types work with any of the composed
+            variants of <literal>enum</literal> such as
+            <literal>with types; nullOr (enum [ &quot;foo&quot; &quot;bar&quot; ])</literal>
+            or
+            <literal>with types; listOf (enum [ &quot;foo&quot; &quot;bar&quot; ])</literal>.
+          </para>
+        </section>
+      </section>
+    </section>
   </section>
 </section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/option-types.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/option-types.section.xml
index c83ffa2add53..76ffb6f837c3 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/option-types.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/development/option-types.section.xml
@@ -498,6 +498,22 @@
       </varlistentry>
       <varlistentry>
         <term>
+          <literal>types.unique</literal>
+          <literal>{ message = m }</literal>
+          <emphasis><literal>t</literal></emphasis>
+        </term>
+        <listitem>
+          <para>
+            Ensures that type <emphasis><literal>t</literal></emphasis>
+            cannot be merged. Prints the message
+            <emphasis><literal>m</literal></emphasis>, after the line
+            <literal>The option &lt;option path&gt; is defined multiple times.</literal>
+            and before a list of definition locations.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
           <literal>types.either</literal>
           <emphasis><literal>t1 t2</literal></emphasis>
         </term>
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
index 17003cbcbfdc..0e47350a0d24 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
@@ -5,19 +5,19 @@
     useful when developing or debugging a test:
   </para>
   <programlisting>
-$ nix-build nixos/tests/login.nix -A driverInteractive
-$ ./result/bin/nixos-test-driver --interactive
-starting VDE switch for network 1
-&gt;
+$ nix-build . -A nixosTests.login.driverInteractive
+$ ./result/bin/nixos-test-driver
+[...]
+&gt;&gt;&gt;
 </programlisting>
   <para>
     You can then take any Python statement, e.g.
   </para>
   <programlisting language="python">
-&gt; start_all()
-&gt; test_script()
-&gt; machine.succeed(&quot;touch /tmp/foo&quot;)
-&gt; print(machine.succeed(&quot;pwd&quot;)) # Show stdout of command
+&gt;&gt;&gt; start_all()
+&gt;&gt;&gt; test_script()
+&gt;&gt;&gt; machine.succeed(&quot;touch /tmp/foo&quot;)
+&gt;&gt;&gt; print(machine.succeed(&quot;pwd&quot;)) # Show stdout of command
 </programlisting>
   <para>
     The function <literal>test_script</literal> executes the entire test
@@ -30,7 +30,7 @@ starting VDE switch for network 1
     the <literal>--keep-vm-state</literal> flag.
   </para>
   <programlisting>
-$ ./result/bin/nixos-test-driver --interactive --keep-vm-state
+$ ./result/bin/nixos-test-driver --keep-vm-state
 </programlisting>
   <para>
     The machine state is stored in the
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
index 7159b95b22b0..da2e5076c956 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/from_md/development/unit-handling.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/unit-handling.section.xml
new file mode 100644
index 000000000000..a6a654042f6f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/from_md/development/what-happens-during-a-system-switch.chapter.xml b/nixpkgs/nixos/doc/manual/from_md/development/what-happens-during-a-system-switch.chapter.xml
new file mode 100644
index 000000000000..66ba792ddacb
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
index 0d523681b639..45c9c40c6095 100644
--- a/nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
@@ -117,407 +117,413 @@ if not &quot;Linux&quot; in machine.succeed(&quot;uname&quot;):
   <programlisting language="python">
 start_all()
 </programlisting>
-  <para>
-    The following methods are available on machine objects:
-  </para>
-  <variablelist>
-    <varlistentry>
-      <term>
-        <literal>start</literal>
-      </term>
-      <listitem>
-        <para>
-          Start the virtual machine. This method is asynchronous — it
-          does not wait for the machine to finish booting.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>shutdown</literal>
-      </term>
-      <listitem>
-        <para>
-          Shut down the machine, waiting for the VM to exit.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>crash</literal>
-      </term>
-      <listitem>
-        <para>
-          Simulate a sudden power failure, by telling the VM to exit
-          immediately.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>block</literal>
-      </term>
-      <listitem>
-        <para>
-          Simulate unplugging the Ethernet cable that connects the
-          machine to the other machines.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>unblock</literal>
-      </term>
-      <listitem>
-        <para>
-          Undo the effect of <literal>block</literal>.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>screenshot</literal>
-      </term>
-      <listitem>
-        <para>
-          Take a picture of the display of the virtual machine, in PNG
-          format. The screenshot is linked from the HTML log.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>get_screen_text_variants</literal>
-      </term>
-      <listitem>
-        <para>
-          Return a list of different interpretations of what is
-          currently visible on the machine's screen using optical
-          character recognition. The number and order of the
-          interpretations is not specified and is subject to change, but
-          if no exception is raised at least one will be returned.
-        </para>
-        <note>
+  <section xml:id="ssec-machine-objects">
+    <title>Machine objects</title>
+    <para>
+      The following methods are available on machine objects:
+    </para>
+    <variablelist>
+      <varlistentry>
+        <term>
+          <literal>start</literal>
+        </term>
+        <listitem>
           <para>
-            This requires passing <literal>enableOCR</literal> to the
-            test attribute set.
+            Start the virtual machine. This method is asynchronous — it
+            does not wait for the machine to finish booting.
           </para>
-        </note>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>get_screen_text</literal>
-      </term>
-      <listitem>
-        <para>
-          Return a textual representation of what is currently visible
-          on the machine's screen using optical character recognition.
-        </para>
-        <note>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>shutdown</literal>
+        </term>
+        <listitem>
           <para>
-            This requires passing <literal>enableOCR</literal> to the
-            test attribute set.
+            Shut down the machine, waiting for the VM to exit.
           </para>
-        </note>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>send_monitor_command</literal>
-      </term>
-      <listitem>
-        <para>
-          Send a command to the QEMU monitor. This is rarely used, but
-          allows doing stuff such as attaching virtual USB disks to a
-          running machine.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>send_key</literal>
-      </term>
-      <listitem>
-        <para>
-          Simulate pressing keys on the virtual keyboard, e.g.,
-          <literal>send_key(&quot;ctrl-alt-delete&quot;)</literal>.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>send_chars</literal>
-      </term>
-      <listitem>
-        <para>
-          Simulate typing a sequence of characters on the virtual
-          keyboard, e.g.,
-          <literal>send_chars(&quot;foobar\n&quot;)</literal> will type
-          the string <literal>foobar</literal> followed by the Enter
-          key.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>execute</literal>
-      </term>
-      <listitem>
-        <para>
-          Execute a shell command, returning a list
-          <literal>(status, stdout)</literal>. If the command detaches,
-          it must close stdout, as <literal>execute</literal> will wait
-          for this to consume all output reliably. This can be achieved
-          by redirecting stdout to stderr <literal>&gt;&amp;2</literal>,
-          to <literal>/dev/console</literal>,
-          <literal>/dev/null</literal> or a file. Examples of detaching
-          commands are <literal>sleep 365d &amp;</literal>, where the
-          shell forks a new process that can write to stdout and
-          <literal>xclip -i</literal>, where the
-          <literal>xclip</literal> command itself forks without closing
-          stdout. Takes an optional parameter
-          <literal>check_return</literal> that defaults to
-          <literal>True</literal>. Setting this parameter to
-          <literal>False</literal> will not check for the return code
-          and return -1 instead. This can be used for commands that shut
-          down the VM and would therefore break the pipe that would be
-          used for retrieving the return code.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>succeed</literal>
-      </term>
-      <listitem>
-        <para>
-          Execute a shell command, raising an exception if the exit
-          status is not zero, otherwise returning the standard output.
-          Commands are run with <literal>set -euo pipefail</literal>
-          set:
-        </para>
-        <itemizedlist>
-          <listitem>
-            <para>
-              If several commands are separated by <literal>;</literal>
-              and one fails, the command as a whole will fail.
-            </para>
-          </listitem>
-          <listitem>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>crash</literal>
+        </term>
+        <listitem>
+          <para>
+            Simulate a sudden power failure, by telling the VM to exit
+            immediately.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>block</literal>
+        </term>
+        <listitem>
+          <para>
+            Simulate unplugging the Ethernet cable that connects the
+            machine to the other machines.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>unblock</literal>
+        </term>
+        <listitem>
+          <para>
+            Undo the effect of <literal>block</literal>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>screenshot</literal>
+        </term>
+        <listitem>
+          <para>
+            Take a picture of the display of the virtual machine, in PNG
+            format. The screenshot is linked from the HTML log.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>get_screen_text_variants</literal>
+        </term>
+        <listitem>
+          <para>
+            Return a list of different interpretations of what is
+            currently visible on the machine's screen using optical
+            character recognition. The number and order of the
+            interpretations is not specified and is subject to change,
+            but if no exception is raised at least one will be returned.
+          </para>
+          <note>
             <para>
-              For pipelines, the last non-zero exit status will be
-              returned (if there is one, zero will be returned
-              otherwise).
+              This requires passing <literal>enableOCR</literal> to the
+              test attribute set.
             </para>
-          </listitem>
-          <listitem>
+          </note>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>get_screen_text</literal>
+        </term>
+        <listitem>
+          <para>
+            Return a textual representation of what is currently visible
+            on the machine's screen using optical character recognition.
+          </para>
+          <note>
             <para>
-              Dereferencing unset variables fail the command.
+              This requires passing <literal>enableOCR</literal> to the
+              test attribute set.
             </para>
-          </listitem>
-          <listitem>
+          </note>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>send_monitor_command</literal>
+        </term>
+        <listitem>
+          <para>
+            Send a command to the QEMU monitor. This is rarely used, but
+            allows doing stuff such as attaching virtual USB disks to a
+            running machine.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>send_key</literal>
+        </term>
+        <listitem>
+          <para>
+            Simulate pressing keys on the virtual keyboard, e.g.,
+            <literal>send_key(&quot;ctrl-alt-delete&quot;)</literal>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>send_chars</literal>
+        </term>
+        <listitem>
+          <para>
+            Simulate typing a sequence of characters on the virtual
+            keyboard, e.g.,
+            <literal>send_chars(&quot;foobar\n&quot;)</literal> will
+            type the string <literal>foobar</literal> followed by the
+            Enter key.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>execute</literal>
+        </term>
+        <listitem>
+          <para>
+            Execute a shell command, returning a list
+            <literal>(status, stdout)</literal>. If the command
+            detaches, it must close stdout, as
+            <literal>execute</literal> will wait for this to consume all
+            output reliably. This can be achieved by redirecting stdout
+            to stderr <literal>&gt;&amp;2</literal>, to
+            <literal>/dev/console</literal>,
+            <literal>/dev/null</literal> or a file. Examples of
+            detaching commands are <literal>sleep 365d &amp;</literal>,
+            where the shell forks a new process that can write to stdout
+            and <literal>xclip -i</literal>, where the
+            <literal>xclip</literal> command itself forks without
+            closing stdout. Takes an optional parameter
+            <literal>check_return</literal> that defaults to
+            <literal>True</literal>. Setting this parameter to
+            <literal>False</literal> will not check for the return code
+            and return -1 instead. This can be used for commands that
+            shut down the VM and would therefore break the pipe that
+            would be used for retrieving the return code.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>succeed</literal>
+        </term>
+        <listitem>
+          <para>
+            Execute a shell command, raising an exception if the exit
+            status is not zero, otherwise returning the standard output.
+            Commands are run with <literal>set -euo pipefail</literal>
+            set:
+          </para>
+          <itemizedlist>
+            <listitem>
+              <para>
+                If several commands are separated by
+                <literal>;</literal> and one fails, the command as a
+                whole will fail.
+              </para>
+            </listitem>
+            <listitem>
+              <para>
+                For pipelines, the last non-zero exit status will be
+                returned (if there is one, zero will be returned
+                otherwise).
+              </para>
+            </listitem>
+            <listitem>
+              <para>
+                Dereferencing unset variables fail the command.
+              </para>
+            </listitem>
+            <listitem>
+              <para>
+                It will wait for stdout to be closed. See
+                <literal>execute</literal> for the implications.
+              </para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>fail</literal>
+        </term>
+        <listitem>
+          <para>
+            Like <literal>succeed</literal>, but raising an exception if
+            the command returns a zero status.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_until_succeeds</literal>
+        </term>
+        <listitem>
+          <para>
+            Repeat a shell command with 1-second intervals until it
+            succeeds.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_until_fails</literal>
+        </term>
+        <listitem>
+          <para>
+            Repeat a shell command with 1-second intervals until it
+            fails.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_unit</literal>
+        </term>
+        <listitem>
+          <para>
+            Wait until the specified systemd unit has reached the
+            <quote>active</quote> state.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_file</literal>
+        </term>
+        <listitem>
+          <para>
+            Wait until the specified file exists.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_open_port</literal>
+        </term>
+        <listitem>
+          <para>
+            Wait until a process is listening on the given TCP port (on
+            <literal>localhost</literal>, at least).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_closed_port</literal>
+        </term>
+        <listitem>
+          <para>
+            Wait until nobody is listening on the given TCP port.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_x</literal>
+        </term>
+        <listitem>
+          <para>
+            Wait until the X11 server is accepting connections.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_text</literal>
+        </term>
+        <listitem>
+          <para>
+            Wait until the supplied regular expressions matches the
+            textual contents of the screen by using optical character
+            recognition (see <literal>get_screen_text</literal> and
+            <literal>get_screen_text_variants</literal>).
+          </para>
+          <note>
             <para>
-              It will wait for stdout to be closed. See
-              <literal>execute</literal> for the implications.
+              This requires passing <literal>enableOCR</literal> to the
+              test attribute set.
             </para>
-          </listitem>
-        </itemizedlist>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>fail</literal>
-      </term>
-      <listitem>
-        <para>
-          Like <literal>succeed</literal>, but raising an exception if
-          the command returns a zero status.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_until_succeeds</literal>
-      </term>
-      <listitem>
-        <para>
-          Repeat a shell command with 1-second intervals until it
-          succeeds.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_until_fails</literal>
-      </term>
-      <listitem>
-        <para>
-          Repeat a shell command with 1-second intervals until it fails.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_unit</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until the specified systemd unit has reached the
-          <quote>active</quote> state.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_file</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until the specified file exists.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_open_port</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until a process is listening on the given TCP port (on
-          <literal>localhost</literal>, at least).
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_closed_port</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until nobody is listening on the given TCP port.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_x</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until the X11 server is accepting connections.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_text</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until the supplied regular expressions matches the
-          textual contents of the screen by using optical character
-          recognition (see <literal>get_screen_text</literal> and
-          <literal>get_screen_text_variants</literal>).
-        </para>
-        <note>
+          </note>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_console_text</literal>
+        </term>
+        <listitem>
           <para>
-            This requires passing <literal>enableOCR</literal> to the
-            test attribute set.
+            Wait until the supplied regular expressions match a line of
+            the serial console output. This method is useful when OCR is
+            not possibile or accurate enough.
           </para>
-        </note>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_console_text</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until the supplied regular expressions match a line of
-          the serial console output. This method is useful when OCR is
-          not possibile or accurate enough.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>wait_for_window</literal>
-      </term>
-      <listitem>
-        <para>
-          Wait until an X11 window has appeared whose name matches the
-          given regular expression, e.g.,
-          <literal>wait_for_window(&quot;Terminal&quot;)</literal>.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>copy_from_host</literal>
-      </term>
-      <listitem>
-        <para>
-          Copies a file from host to machine, e.g.,
-          <literal>copy_from_host(&quot;myfile&quot;, &quot;/etc/my/important/file&quot;)</literal>.
-        </para>
-        <para>
-          The first argument is the file on the host. The file needs to
-          be accessible while building the nix derivation. The second
-          argument is the location of the file on the machine.
-        </para>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>systemctl</literal>
-      </term>
-      <listitem>
-        <para>
-          Runs <literal>systemctl</literal> commands with optional
-          support for <literal>systemctl --user</literal>
-        </para>
-        <programlisting language="python">
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>wait_for_window</literal>
+        </term>
+        <listitem>
+          <para>
+            Wait until an X11 window has appeared whose name matches the
+            given regular expression, e.g.,
+            <literal>wait_for_window(&quot;Terminal&quot;)</literal>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>copy_from_host</literal>
+        </term>
+        <listitem>
+          <para>
+            Copies a file from host to machine, e.g.,
+            <literal>copy_from_host(&quot;myfile&quot;, &quot;/etc/my/important/file&quot;)</literal>.
+          </para>
+          <para>
+            The first argument is the file on the host. The file needs
+            to be accessible while building the nix derivation. The
+            second argument is the location of the file on the machine.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>systemctl</literal>
+        </term>
+        <listitem>
+          <para>
+            Runs <literal>systemctl</literal> commands with optional
+            support for <literal>systemctl --user</literal>
+          </para>
+          <programlisting language="python">
 machine.systemctl(&quot;list-jobs --no-pager&quot;) # runs `systemctl list-jobs --no-pager`
 machine.systemctl(&quot;list-jobs --no-pager&quot;, &quot;any-user&quot;) # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager`
 </programlisting>
-      </listitem>
-    </varlistentry>
-    <varlistentry>
-      <term>
-        <literal>shell_interact</literal>
-      </term>
-      <listitem>
-        <para>
-          Allows you to directly interact with the guest shell. This
-          should only be used during test development, not in production
-          tests. Killing the interactive session with
-          <literal>Ctrl-d</literal> or <literal>Ctrl-c</literal> also
-          ends the guest session.
-        </para>
-      </listitem>
-    </varlistentry>
-  </variablelist>
-  <para>
-    To test user units declared by
-    <literal>systemd.user.services</literal> the optional
-    <literal>user</literal> argument can be used:
-  </para>
-  <programlisting language="python">
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>shell_interact</literal>
+        </term>
+        <listitem>
+          <para>
+            Allows you to directly interact with the guest shell. This
+            should only be used during test development, not in
+            production tests. Killing the interactive session with
+            <literal>Ctrl-d</literal> or <literal>Ctrl-c</literal> also
+            ends the guest session.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>
+      To test user units declared by
+      <literal>systemd.user.services</literal> the optional
+      <literal>user</literal> argument can be used:
+    </para>
+    <programlisting language="python">
 machine.start()
 machine.wait_for_x()
 machine.wait_for_unit(&quot;xautolock.service&quot;, &quot;x-session-user&quot;)
 </programlisting>
-  <para>
-    This applies to <literal>systemctl</literal>,
-    <literal>get_unit_info</literal>, <literal>wait_for_unit</literal>,
-    <literal>start_job</literal> and <literal>stop_job</literal>.
-  </para>
-  <para>
-    For faster dev cycles it's also possible to disable the code-linters
-    (this shouldn't be commited though):
-  </para>
-  <programlisting language="bash">
+    <para>
+      This applies to <literal>systemctl</literal>,
+      <literal>get_unit_info</literal>,
+      <literal>wait_for_unit</literal>, <literal>start_job</literal> and
+      <literal>stop_job</literal>.
+    </para>
+    <para>
+      For faster dev cycles it's also possible to disable the
+      code-linters (this shouldn't be commited though):
+    </para>
+    <programlisting language="bash">
 import ./make-test-python.nix {
   skipLint = true;
   machine =
@@ -531,13 +537,13 @@ import ./make-test-python.nix {
     '';
 }
 </programlisting>
-  <para>
-    This will produce a Nix warning at evaluation time. To fully disable
-    the linter, wrap the test script in comment directives to disable
-    the Black linter directly (again, don't commit this within the
-    Nixpkgs repository):
-  </para>
-  <programlisting language="bash">
+    <para>
+      This will produce a Nix warning at evaluation time. To fully
+      disable the linter, wrap the test script in comment directives to
+      disable the Black linter directly (again, don't commit this within
+      the Nixpkgs repository):
+    </para>
+    <programlisting language="bash">
   testScript =
     ''
       # fmt: off
@@ -545,4 +551,66 @@ import ./make-test-python.nix {
       # fmt: on
     '';
 </programlisting>
+  </section>
+  <section xml:id="ssec-failing-tests-early">
+    <title>Failing tests early</title>
+    <para>
+      To fail tests early when certain invariables are no longer met
+      (instead of waiting for the build to time out), the decorator
+      <literal>polling_condition</literal> is provided. For example, if
+      we are testing a program <literal>foo</literal> that should not
+      quit after being started, we might write the following:
+    </para>
+    <programlisting language="python">
+@polling_condition
+def foo_running():
+    machine.succeed(&quot;pgrep -x foo&quot;)
+
+
+machine.succeed(&quot;foo --start&quot;)
+machine.wait_until_succeeds(&quot;pgrep -x foo&quot;)
+
+with foo_running:
+    ...  # Put `foo` through its paces
+</programlisting>
+    <para>
+      <literal>polling_condition</literal> takes the following
+      (optional) arguments:
+    </para>
+    <para>
+      <literal>seconds_interval</literal>
+    </para>
+    <para>
+      : specifies how often the condition should be polled:
+    </para>
+    <programlisting>
+```py
+@polling_condition(seconds_interval=10)
+def foo_running():
+    machine.succeed(&quot;pgrep -x foo&quot;)
+```
+</programlisting>
+    <para>
+      <literal>description</literal>
+    </para>
+    <para>
+      : is used in the log when the condition is checked. If this is not
+      provided, the description is pulled from the docstring of the
+      function. These two are therefore equivalent:
+    </para>
+    <programlisting>
+```py
+@polling_condition
+def foo_running():
+    &quot;check that foo is running&quot;
+    machine.succeed(&quot;pgrep -x foo&quot;)
+```
+
+```py
+@polling_condition(description=&quot;check that foo is running&quot;)
+def foo_running():
+    machine.succeed(&quot;pgrep -x foo&quot;)
+```
+</programlisting>
+  </section>
 </section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/installation/installing-pxe.section.xml b/nixpkgs/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
index 1dd15ddacba8..94172de65ea0 100644
--- a/nixpkgs/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 6b706e4aeaa1..59da373f38e1 100644
--- a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -1420,6 +1420,15 @@ Superuser created successfully.
           for those who want to have all RetroArch cores available.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The Linux kernel for security reasons now restricts access to
+          BPF syscalls via <literal>BPF_UNPRIV_DEFAULT_OFF=y</literal>.
+          Unprivileged access can be reenabled via the
+          <literal>kernel.unprivileged_bpf_disabled</literal> sysctl
+          knob.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-notable-changes">
diff --git a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 4a2e86a60b92..4acdcd7d60f9 100644
--- a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -32,10 +32,22 @@
       </listitem>
       <listitem>
         <para>
-          Mattermost has been updated to version 6.2. Migrations may
-          take a while, see the
-          <link xlink:href="https://docs.mattermost.com/install/self-managed-changelog.html#release-v6.2-feature-release">upgrade
-          notes</link>.
+          Mattermost has been updated to extended support release 6.3,
+          as the previously packaged extended support release 5.37 is
+          <link xlink:href="https://docs.mattermost.com/upgrade/extended-support-release.html">reaching
+          its end of life</link>. Migrations may take a while, see the
+          <link xlink:href="https://docs.mattermost.com/install/self-managed-changelog.html#release-v6-3-extended-support-release">changelog</link>
+          and
+          <link xlink:href="https://docs.mattermost.com/upgrade/important-upgrade-notes.html">important
+          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>
@@ -61,6 +73,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://conduit.rs/">matrix-conduit</link>,
+          a simple, fast and reliable chat server powered by matrix.
+          Available as
+          <link xlink:href="option.html#opt-services.matrix-conduit.enable">services.matrix-conduit</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-overview.html">filebeat</link>,
           a lightweight shipper for forwarding and centralizing log
           data. Available as
@@ -69,6 +89,34 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/linux-apfs/linux-apfs-rw">apfs</link>,
+          a kernel module for mounting the Apple File System (APFS).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <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>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/hifi/heisenbridge">heisenbridge</link>,
+          a bouncer-style Matrix IRC bridge. Available as
+          <link xlink:href="options.html#opt-services.heisenbridge.enable">services.heisenbridge</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://ergo.chat">ergochat</link>, a modern
+          IRC with IRCv3 features. Available as
+          <link xlink:href="options.html#opt-services.ergochat.enable">services.ergochat</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/ngoduykhanh/PowerDNS-Admin">PowerDNS-Admin</link>,
           a web interface for the PowerDNS server. Available at
           <link xlink:href="options.html#opt-services.powerdns-admin.enable">services.powerdns-admin</link>.
@@ -76,6 +124,22 @@
       </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
+          <link xlink:href="options.html#opt-services.invoiceplane.enable">services.invoiceplane</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://maddy.email">maddy</link>, a
           composable all-in-one mail server. Available as
           <link xlink:href="options.html#opt-services.maddy.enable">services.maddy</link>.
@@ -83,12 +147,104 @@
       </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>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://tetrd.app">tetrd</link>, share your
           internet connection from your device to your PC and vice versa
           through a USB cable. Available at
           <link linkend="opt-services.tetrd.enable">services.tetrd</link>.
         </para>
       </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
+          <link xlink:href="options.html#opt-services.archisteamfarm.enable">services.archisteamfarm</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://goteleport.com">teleport</link>,
+          allows engineers and security professionals to unify access
+          for SSH servers, Kubernetes clusters, web applications, and
+          databases across all environments. Available at
+          <link linkend="opt-services.teleport.enable">services.teleport</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://loic-sharma.github.io/BaGet/">BaGet</link>,
+          a lightweight NuGet and symbol server. Available at
+          <link linkend="opt-services.baget.enable">services.baget</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://moosefs.com">moosefs</link>, fault
+          tolerant petabyte distributed file system. Available as
+          <link linkend="opt-services.moosefs">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>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/audreyt/ethercalc">ethercalc</link>,
+          an online collaborative spreadsheet. Available as
+          <link xlink:href="options.html#opt-services.ethercalc.enable">services.ethercalc</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://timetagger.app">timetagger</link>,
+          an open source time-tracker with an intuitive user experience
+          and powerful reporting.
+          <link xlink:href="options.html#opt-services.timetagger.enable">services.timetagger</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://www.rstudio.com/products/rstudio/#rstudio-server">rstudio-server</link>,
+          a browser-based version of the RStudio IDE for the R
+          programming language. Available as
+          <link xlink:href="options.html#opt-services.rstudio-server.enable">services.rstudio-server</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/juanfont/headscale">headscale</link>,
+          an Open Source implementation of the
+          <link xlink:href="https://tailscale.io">Tailscale</link>
+          Control Server. Available as
+          <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">
@@ -117,6 +273,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
@@ -134,6 +320,41 @@
       </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
+          <literal>DynamicUser</literal> mechanism to run as an
+          unprivileged dynamically-allocated user with limited
+          capabilities. The dhcpd state files are now always stored in
+          <literal>/var/lib/dhcpd{4,6}</literal> and the
+          <literal>services.dhcpd4.stateDir</literal> and
+          <literal>service.dhcpd6.stateDir</literal> options have been
+          removed. If you were depending on root privileges or
+          set{uid,gid,cap} binaries in dhcpd shell hooks, you may give
+          dhcpd more capabilities with e.g.
+          <literal>systemd.services.dhcpd6.serviceConfig.AmbientCapabilities</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>mailpile</literal> email webclient
+          (<literal>services.mailpile</literal>) has been removed due to
+          its reliance on python2.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The MoinMoin wiki engine
           (<literal>services.moinmoin</literal>) has been removed,
           because Python 2 is being retired from nixpkgs.
@@ -170,6 +391,22 @@
       </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>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           If you previously used
           <literal>/etc/docker/daemon.json</literal>, you need to
           incorporate the changes into the new option
@@ -178,6 +415,44 @@
       </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
+          <literal>services.wordpress.sites</literal> instead.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The backward compatibility in
+          <literal>services.dokuwiki</literal> to configure sites with
+          the old interface has been removed. Please use
+          <literal>services.dokuwiki.sites</literal> instead.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          opensmtpd-extras is no longer build with python2 scripting
+          support due to python2 deprecation in nixpkgs
+        </para>
+      </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
@@ -213,6 +488,234 @@
           to your configuration.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          Normal users (with <literal>isNormalUser = true</literal>)
+          which have non-empty <literal>subUidRanges</literal> or
+          <literal>subGidRanges</literal> set no longer have additional
+          implicit ranges allocated. To enable automatic allocation back
+          set <literal>autoSubUidGidRange = true</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>idris2</literal> now requires
+          <literal>--package</literal> when using packages
+          <literal>contrib</literal> and <literal>network</literal>,
+          while previously these idris2 packages were automatically
+          loaded.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The iputils package, which is installed by default, no longer
+          provides the legacy tools <literal>tftpd</literal> and
+          <literal>traceroute6</literal>. More tools
+          (<literal>ninfod</literal>, <literal>rarpd</literal>, and
+          <literal>rdisc</literal>) are going to be removed in the next
+          release. See
+          <link xlink:href="https://github.com/iputils/iputils/releases/tag/20211215">upstream’s
+          release notes</link> for more details and available
+          replacements.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>services.thelounge.private</literal> was removed in
+          favor of <literal>services.thelounge.public</literal>, to
+          follow with upstream changes.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>pkgs.docbookrx</literal> was removed since it’s
+          unmaintained
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>tilp2</literal> was removed together with its module
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The options
+          <literal>networking.interfaces.&lt;name&gt;.ipv4.routes</literal>
+          and
+          <literal>networking.interfaces.&lt;name&gt;.ipv6.routes</literal>
+          are no longer ignored when using networkd instead of the
+          default scripted network backend by setting
+          <literal>networking.useNetworkd</literal> to
+          <literal>true</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          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
+          <literal>~/.local/share/multimc</literal> to
+          <literal>~/.local/share/polymc</literal>. The main config
+          file’s path has also moved from
+          <literal>~/.local/share/multimc/multimc.cfg</literal> to
+          <literal>~/.local/share/polymc/polymc.cfg</literal>.
+        </para>
+      </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>
+          implementations simplified. Providers now need to be stored
+          under
+          <literal>$out/libexec/terraform-providers/&lt;registry&gt;/&lt;owner&gt;/&lt;name&gt;/&lt;version&gt;/&lt;os&gt;_&lt;arch&gt;/terraform-provider-&lt;name&gt;_v&lt;version&gt;</literal>
+          (which mkProvider does).
+        </para>
+        <para>
+          This breaks back-compat so it’s not possible to mix-and-match
+          with previous versions of nixpkgs. In exchange, it now becomes
+          possible to use the providers from
+          <link xlink:href="https://github.com/numtide/nixpkgs-terraform-providers-bin">nixpkgs-terraform-providers-bin</link>
+          directly.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The existing <literal>pkgs.opentelemetry-collector</literal>
+          has been moved to
+          <literal>pkgs.opentelemetry-collector-contrib</literal> to
+          match the actual source being the <quote>contrib</quote>
+          edition. <literal>pkgs.opentelemetry-collector</literal> is
+          now the actual core release of opentelemetry-collector. If you
+          use the community contributions you should change the package
+          you refer to. If you don’t need them update your commands from
+          <literal>otelcontribcol</literal> to
+          <literal>otelcorecol</literal> and enjoy a 7x smaller binary.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>pkgs.noto-fonts-cjk</literal> is now deprecated in
+          favor of <literal>pkgs.noto-fonts-cjk-sans</literal> and
+          <literal>pkgs.noto-fonts-cjk-serif</literal> because they each
+          have different release schedules. To maintain compatibility
+          with prior releases of Nixpkgs,
+          <literal>pkgs.noto-fonts-cjk</literal> is currently an alias
+          of <literal>pkgs.noto-fonts-cjk-sans</literal> and doesn’t
+          include serif fonts.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>switch-to-configuration</literal> (the script that is
+          run when running <literal>nixos-rebuild switch</literal> for
+          example) has been reworked
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              The interface that allows activation scripts to restart
+              units has been streamlined. Restarting and reloading is
+              now done by a single file
+              <literal>/run/nixos/activation-restart-list</literal> that
+              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>
+              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.
+            </para>
+            <itemizedlist spacing="compact">
+              <listitem>
+                <para>
+                  <literal>RefuseManualStop</literal>,
+                  <literal>X-OnlyManualStart</literal>,
+                  <literal>X-StopOnRemoval</literal>,
+                  <literal>X-StopOnReconfiguration</literal> are only
+                  searched in the <literal>[Unit]</literal> section
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  <literal>X-ReloadIfChanged</literal>,
+                  <literal>X-RestartIfChanged</literal>,
+                  <literal>X-StopIfChanged</literal> are only searched
+                  in the <literal>[Service]</literal> section
+                </para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>services.bookstack.cacheDir</literal> option has
+          been removed, since the cache directory is now handled by
+          systemd.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>services.bookstack.extraConfig</literal> option
+          has been replaced by
+          <literal>services.bookstack.config</literal> which implements
+          a
+          <link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">settings-style</link>
+          configuration.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>lib.assertMsg</literal> and
+          <literal>lib.assertOneOf</literal> no longer return
+          <literal>false</literal> if the passed condition is
+          <literal>false</literal>, <literal>throw</literal>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 <literal>assert</literal> conditions.
+        </para>
+      </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>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-notable-changes">
@@ -245,6 +748,51 @@
       </listitem>
       <listitem>
         <para>
+          The option
+          <link linkend="opt-virtualisation.vmVariant">virtualisation.vmVariant</link>
+          was added to allow users to make changes to the
+          <literal>nixos-rebuild build-vm</literal> configuration that
+          do not apply to their normal system.
+        </para>
+        <para>
+          The <literal>config.system.build.vm</literal> attribute now
+          always exists and defaults to the value from
+          <literal>vmVariant</literal>. Configurations that import the
+          <literal>virtualisation/qemu-vm.nix</literal> module
+          themselves will override this value, such that
+          <literal>vmVariant</literal> is not used.
+        </para>
+        <para>
+          Similarly
+          <link linkend="opt-virtualisation.vmVariantWithBootLoader">virtualisation.vmVariantWithBootloader</link>
+          was added.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The configuration portion of the <literal>nix-daemon</literal>
+          module has been reworked and exposed as
+          <link xlink:href="options.html#opt-nix-settings">nix.settings</link>:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              Legacy options have been mapped to the corresponding
+              options under under
+              <link xlink:href="options.html#opt-nix.settings">nix.settings</link>
+              but may be deprecated in the future.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <link xlink:href="options.html#opt-nix.buildMachines.publicHostKey">nix.buildMachines.publicHostKey</link>
+              has been added.
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
           The
           <literal>writers.writePyPy2</literal>/<literal>writers.writePyPy3</literal>
           and corresponding
@@ -255,6 +803,19 @@
       </listitem>
       <listitem>
         <para>
+          If you are using Wayland you can choose to use the Ozone
+          Wayland support in Chrome and several Electron apps by setting
+          the environment variable <literal>NIXOS_OZONE_WL=1</literal>
+          (for example via
+          <literal>environment.sessionVariables.NIXOS_OZONE_WL = &quot;1&quot;</literal>).
+          This is not enabled by default because Ozone Wayland is still
+          under heavy development and behavior is not always flawless.
+          Furthermore, not all Electron apps use the latest Electron
+          versions.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>influxdb2</literal> package was split into
           <literal>influxdb2-server</literal> and
           <literal>influxdb2-cli</literal>, matching the split that took
@@ -287,6 +848,19 @@
       </listitem>
       <listitem>
         <para>
+          MariaDB is now offered in several versions, not just the
+          newest one. So if you have a need for running MariaDB 10.4 for
+          example, you can now just set
+          <literal>services.mysql.package = pkgs.mariadb_104;</literal>.
+          In general, it is recommended to run the newest version, to
+          get the newest features, while sticking with an LTS version
+          will most likely provide a more stable experience. Sometimes
+          software is also incompatible with the newest version of
+          MariaDB.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The option
           <link linkend="opt-programs.ssh.enableAskPassword">programs.ssh.enableAskPassword</link>
           was added, decoupling the setting of
@@ -297,6 +871,15 @@
       </listitem>
       <listitem>
         <para>
+          <link linkend="opt-programs.ssh.knownHosts">programs.ssh.knownHosts</link>
+          has gained an <literal>extraHostNames</literal> option to
+          replace <literal>hostNames</literal>.
+          <literal>hostNames</literal> is deprecated, but still
+          available for now.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>services.stubby</literal> module was converted to
           a
           <link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">settings-style</link>
@@ -310,6 +893,139 @@
           files.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          A new option
+          <literal>boot.initrd.extraModprobeConfig</literal> has been
+          added which can be used to configure kernel modules that are
+          loaded in the initrd.
+        </para>
+      </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
+          <literal>fetchSubmodules</literal> is set to
+          <literal>true</literal>.
+        </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
+          <literal>pkgs.theLoungePlugins.plugins</literal> and
+          <literal>pkgs.theLoungePlugins.themes</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>firmwareLinuxNonfree</literal> package has been
+          renamed to <literal>linux-firmware</literal>.
+        </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
+          0042</link> configuration.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The default value for
+          <literal>programs.spacefm.settings.graphical_su</literal> got
+          unset. It previously pointed to <literal>gksu</literal> which
+          has been removed.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          A new module was added for the
+          <link xlink:href="https://starship.rs/">Starship</link> shell
+          prompt, providing the options
+          <literal>programs.starship.enable</literal> and
+          <literal>programs.starship.settings</literal>.
+        </para>
+      </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.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>zrepl</literal> package has been updated from
+          0.4.0 to 0.5:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              The RPC protocol version was bumped; all zrepl daemons in
+              a setup must be updated and restarted before replication
+              can resume.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              A bug involving encrypt-on-receive has been fixed. Read
+              the
+              <link xlink:href="https://zrepl.github.io/configuration/sendrecvoptions.html#job-recv-options-placeholder">zrepl
+              documentation</link> and check the output of
+              <literal>zfs get -r encryption,zrepl:placeholder PATH_TO_ROOTFS</literal>
+              on the receiver.
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
+          Renamed option
+          <literal>services.openssh.challengeResponseAuthentication</literal>
+          to
+          <literal>services.openssh.kbdInteractiveAuthentication</literal>.
+          Reason is that the old name has been deprecated upstream.
+          Using the old option name will still work, but produce a
+          warning.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The option
+          <link linkend="opt-services.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
+          packages are added to the system and loaded by
+          <literal>tmux</literal>.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixpkgs/nixos/doc/manual/installation/installing-pxe.section.md b/nixpkgs/nixos/doc/manual/installation/installing-pxe.section.md
index 2016a258251f..4fbd6525f8c3 100644
--- a/nixpkgs/nixos/doc/manual/installation/installing-pxe.section.md
+++ b/nixpkgs/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/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml b/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml
index 6c7fc57f8d83..ab2a5d83a089 100644
--- a/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml
+++ b/nixpkgs/nixos/doc/manual/man-nixos-rebuild.xml
@@ -453,7 +453,7 @@
       Allow ad-hoc remote builders for building the new system. This requires
       the user executing <command>nixos-rebuild</command> (usually root) to be
       configured as a trusted user in the Nix daemon. This can be achieved by
-      using the <literal>nix.trustedUsers</literal> NixOS option. Examples
+      using the <literal>nix.settings.trusted-users</literal> NixOS option. Examples
       values for that option are described in the <literal>Remote builds
       chapter</literal> in the Nix manual, (i.e. <command>--builders
       "ssh://bigbrother x86_64-linux"</command>). By specifying an empty string
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
index 48adc4ad33cb..1b59842e020b 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -417,6 +417,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `retroArchCores` has been removed. This means that using `nixpkgs.config.retroarch` to customize RetroArch cores is not supported anymore. Instead, use package overrides, for example: `retroarch.override { cores = with libretro; [ citra snes9x ]; };`. Also, `retroarchFull` derivation is available for those who want to have all RetroArch cores available.
 
+- 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.
+
 ## Other Notable Changes {#sec-release-21.11-notable-changes}
 
 
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md
index 2a062d0573b5..e81bdd884d06 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -13,26 +13,72 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - PHP 8.1 is now available
 
-- Mattermost has been updated to version 6.2. Migrations may take a while,
-  see the [upgrade notes](https://docs.mattermost.com/install/self-managed-changelog.html#release-v6.2-feature-release).
+- Mattermost has been updated to extended support release 6.3, as the previously packaged extended support release 5.37 is [reaching its end of life](https://docs.mattermost.com/upgrade/extended-support-release.html).
+  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).
+
 - [rootless Docker](https://docs.docker.com/engine/security/rootless/), a `systemd --user` Docker service which runs without root permissions. Available as [virtualisation.docker.rootless.enable](options.html#opt-virtualisation.docker.rootless.enable).
 
+- [matrix-conduit](https://conduit.rs/), a simple, fast and reliable chat server powered by matrix. Available as [services.matrix-conduit](option.html#opt-services.matrix-conduit.enable).
+
 - [filebeat](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-overview.html), a lightweight shipper for forwarding and centralizing log data. Available as [services.filebeat](#opt-services.filebeat.enable).
 
+- [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)
+
+- [heisenbridge](https://github.com/hifi/heisenbridge), a bouncer-style Matrix IRC bridge. Available as [services.heisenbridge](options.html#opt-services.heisenbridge.enable).
+
+- [ergochat](https://ergo.chat), a modern IRC with IRCv3 features. Available as [services.ergochat](options.html#opt-services.ergochat.enable).
+
 - [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).
 
+- [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).
+
+- [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
+  spreadsheet. Available as [services.ethercalc](options.html#opt-services.ethercalc.enable).
+
+- [timetagger](https://timetagger.app), an open source time-tracker with an intuitive user experience and powerful reporting. [services.timetagger](options.html#opt-services.timetagger.enable).
+
+- [rstudio-server](https://www.rstudio.com/products/rstudio/#rstudio-server), a browser-based version of the RStudio IDE for the R programming language. Available as [services.rstudio-server](options.html#opt-services.rstudio-server.enable).
+
+- [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}
 
 - `pkgs.ghc` now refers to `pkgs.targetPackages.haskellPackages.ghc`.
-  This *only* makes a difference if you are cross-compiling and will
+  This _only_ makes a difference if you are cross-compiling and will
   ensure that `pkgs.ghc` always runs on the host platform and compiles
   for the target platform (similar to `pkgs.gcc` for example).
   `haskellPackages.ghc` still behaves as before, running on the build
@@ -43,6 +89,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
@@ -50,6 +111,15 @@ 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.
+  If you were depending on root privileges or set{uid,gid,cap} binaries in dhcpd shell hooks, you may give dhcpd more capabilities with e.g. `systemd.services.dhcpd6.serviceConfig.AmbientCapabilities`.
+
+- The `mailpile` email webclient (`services.mailpile`) has been removed due to its reliance on python2.
+
 - The MoinMoin wiki engine (`services.moinmoin`) has been removed, because Python 2 is being retired from nixpkgs.
 
 - The `wafHook` hook now honors `NIX_BUILD_CORES` when `enableParallelBuilding` is not set explicitly. Packages can restore the old behaviour by setting `enableParallelBuilding=false`.
@@ -60,8 +130,25 @@ 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.
+
+- The backward compatibility in `services.dokuwiki` to configure sites with the
+  old interface has been removed. Please use `services.dokuwiki.sites` instead.
+
+- 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`
@@ -73,6 +160,71 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `documentation.man` has been refactored to support choosing a man implementation other than GNU's `man-db`. For this, `documentation.man.manualPages` has been renamed to `documentation.man.man-db.manualPages`. If you want to use the new alternative man implementation `mandoc`, add `documentation.man = { enable = true; man-db.enable = false; mandoc.enable = true; }` to your configuration.
 
+- Normal users (with `isNormalUser = true`) which have non-empty `subUidRanges` or `subGidRanges` set no longer have additional implicit ranges allocated. To enable automatic allocation back set `autoSubUidGidRange = true`.
+
+- `idris2` now requires `--package` when using packages `contrib` and `network`, while previously these idris2 packages were automatically loaded.
+
+- The iputils package, which is installed by default, no longer provides the
+  legacy tools `tftpd` and `traceroute6`. More tools (`ninfod`, `rarpd`, and
+  `rdisc`) are going to be removed in the next release. See
+  [upstream's release notes](https://github.com/iputils/iputils/releases/tag/20211215)
+  for more details and available replacements.
+
+- `services.thelounge.private` was removed in favor of `services.thelounge.public`, to follow with upstream changes.
+
+- `pkgs.docbookrx` was removed since it's unmaintained
+
+- `tilp2` was removed together with its module
+
+- 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).
+
+  This breaks back-compat so it's not possible to mix-and-match with previous versions of nixpkgs. In exchange, it now becomes possible to use the providers from [nixpkgs-terraform-providers-bin](https://github.com/numtide/nixpkgs-terraform-providers-bin) directly.
+
+- The existing `pkgs.opentelemetry-collector` has been moved to
+  `pkgs.opentelemetry-collector-contrib` to match the actual source being the
+  "contrib" edition. `pkgs.opentelemetry-collector` is now the actual core
+  release of opentelemetry-collector. If you use the community contributions
+  you should change the package you refer to. If you don't need them update your
+  commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary.
+
+
+- `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
+  and `pkgs.noto-fonts-cjk-serif` because they each have different release
+  schedules. To maintain compatibility with prior releases of Nixpkgs,
+  `pkgs.noto-fonts-cjk` is currently an alias of `pkgs.noto-fonts-cjk-sans` and
+  doesn't include serif fonts.
+
+- `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
+
+- The `services.bookstack.cacheDir` option has been removed, since the
+  cache directory is now handled by systemd.
+
+- The `services.bookstack.extraConfig` option has been replaced by
+  `services.bookstack.config` which implements a
+  [settings-style](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md)
+  configuration.
+
+- `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)).
+
+<!-- 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}
 
 - The option [services.redis.servers](#opt-services.redis.servers) was added
@@ -91,8 +243,30 @@ In addition to numerous new and upgraded packages, this release has the followin
   to the members of the Unix group `redis-${serverName}`
   through the Unix socket `/run/redis-${serverName}/redis.sock`.
 
+- The option [virtualisation.vmVariant](#opt-virtualisation.vmVariant) was added
+  to allow users to make changes to the `nixos-rebuild build-vm` configuration
+  that do not apply to their normal system.
+
+  The `config.system.build.vm` attribute now always exists and defaults to the
+  value from `vmVariant`. Configurations that import the `virtualisation/qemu-vm.nix`
+  module themselves will override this value, such that `vmVariant` is not used.
+
+  Similarly [virtualisation.vmVariantWithBootloader](#opt-virtualisation.vmVariantWithBootLoader) was added.
+
+- The configuration portion of the `nix-daemon` module has been reworked and exposed as [nix.settings](options.html#opt-nix-settings):
+  * Legacy options have been mapped to the corresponding options under under [nix.settings](options.html#opt-nix.settings) but may be deprecated in the future.
+  * [nix.buildMachines.publicHostKey](options.html#opt-nix.buildMachines.publicHostKey) has been added.
+
 - The `writers.writePyPy2`/`writers.writePyPy3` and corresponding `writers.writePyPy2Bin`/`writers.writePyPy3Bin` convenience functions to create executable Python 2/3 scripts using the PyPy interpreter were added.
 
+- If you are using Wayland you can choose to use the Ozone Wayland support
+  in Chrome and several Electron apps by setting the environment variable
+  `NIXOS_OZONE_WL=1` (for example via
+  `environment.sessionVariables.NIXOS_OZONE_WL = "1"`).
+  This is not enabled by default because Ozone Wayland is
+  still under heavy development and behavior is not always flawless.
+  Furthermore, not all Electron apps use the latest Electron versions.
+
 - The `influxdb2` package was split into `influxdb2-server` and
   `influxdb2-cli`, matching the split that took place upstream. A
   combined `influxdb2` package is still provided in this release for
@@ -107,12 +281,63 @@ In addition to numerous new and upgraded packages, this release has the followin
 - Removing domains from `security.acme.certs._name_.extraDomainNames`
   will now correctly remove those domains during rebuild/renew.
 
+- MariaDB is now offered in several versions, not just the newest one.
+  So if you have a need for running MariaDB 10.4 for example, you can now just set `services.mysql.package = pkgs.mariadb_104;`.
+  In general, it is recommended to run the newest version, to get the newest features, while sticking with an LTS version will most likely provide a more stable experience.
+  Sometimes software is also incompatible with the newest version of MariaDB.
+
 - The option
   [programs.ssh.enableAskPassword](#opt-programs.ssh.enableAskPassword) was
   added, decoupling the setting of `SSH_ASKPASS` from
   `services.xserver.enable`. This allows easy usage in non-X11 environments,
   e.g. Wayland.
 
+- [programs.ssh.knownHosts](#opt-programs.ssh.knownHosts) has gained an `extraHostNames`
+  option to replace `hostNames`. `hostNames` is deprecated, but still available for now.
+
 - The `services.stubby` module was converted to a [settings-style](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration.
 
 - The option `services.duplicati.dataDir` has been added to allow changing the location of duplicati's files.
+
+- 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 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`.
+
+- 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.
+
+- 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.
+
+- 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.
+  - A bug involving encrypt-on-receive has been fixed. Read the [zrepl documentation](https://zrepl.github.io/configuration/sendrecvoptions.html#job-recv-options-placeholder) and check the output of `zfs get -r encryption,zrepl:placeholder PATH_TO_ROOTFS` on the receiver.
+
+- Renamed option `services.openssh.challengeResponseAuthentication` to `services.openssh.kbdInteractiveAuthentication`.
+  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-services.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/nixpkgs/nixos/lib/default.nix b/nixpkgs/nixos/lib/default.nix
new file mode 100644
index 000000000000..2b3056e01457
--- /dev/null
+++ b/nixpkgs/nixos/lib/default.nix
@@ -0,0 +1,33 @@
+let
+  # The warning is in a top-level let binding so it is only printed once.
+  minimalModulesWarning = warn "lib.nixos.evalModules is experimental and subject to change. See nixos/lib/default.nix" null;
+  inherit (nonExtendedLib) warn;
+  nonExtendedLib = import ../../lib;
+in
+{ # Optional. Allows an extended `lib` to be used instead of the regular Nixpkgs lib.
+  lib ? nonExtendedLib,
+
+  # Feature flags allow you to opt in to unfinished code. These may change some
+  # behavior or disable warnings.
+  featureFlags ? {},
+
+  # This file itself is rather new, so we accept unknown parameters to be forward
+  # compatible. This is generally not recommended, because typos go undetected.
+  ...
+}:
+let
+  seqIf = cond: if cond then builtins.seq else a: b: b;
+  # If cond, force `a` before returning any attr
+  seqAttrsIf = cond: a: lib.mapAttrs (_: v: seqIf cond a v);
+
+  eval-config-minimal = import ./eval-config-minimal.nix { inherit lib; };
+in
+/*
+  This attribute set appears as lib.nixos in the flake, or can be imported
+  using a binding like `nixosLib = import (nixpkgs + "/nixos/lib") { }`.
+*/
+{
+  inherit (seqAttrsIf (!featureFlags?minimalModules) minimalModulesWarning eval-config-minimal)
+    evalModules
+    ;
+}
diff --git a/nixpkgs/nixos/lib/eval-cacheable-options.nix b/nixpkgs/nixos/lib/eval-cacheable-options.nix
new file mode 100644
index 000000000000..c3ba2ce66375
--- /dev/null
+++ b/nixpkgs/nixos/lib/eval-cacheable-options.nix
@@ -0,0 +1,53 @@
+{ libPath
+, pkgsLibPath
+, nixosPath
+, modules
+, stateVersion
+, release
+}:
+
+let
+  lib = import libPath;
+  modulesPath = "${nixosPath}/modules";
+  # dummy pkgs set that contains no packages, only `pkgs.lib` from the full set.
+  # not having `pkgs.lib` causes all users of `pkgs.formats` to fail.
+  pkgs = import pkgsLibPath {
+    inherit lib;
+    pkgs = null;
+  };
+  utils = import "${nixosPath}/lib/utils.nix" {
+    inherit config lib;
+    pkgs = null;
+  };
+  # this is used both as a module and as specialArgs.
+  # as a module it sets the _module special values, as specialArgs it makes `config`
+  # unusable. this causes documentation attributes depending on `config` to fail.
+  config = {
+    _module.check = false;
+    _module.args = {};
+    system.stateVersion = stateVersion;
+  };
+  eval = lib.evalModules {
+    modules = (map (m: "${modulesPath}/${m}") modules) ++ [
+      config
+    ];
+    specialArgs = {
+      inherit config pkgs utils;
+    };
+  };
+  docs = import "${nixosPath}/doc/manual" {
+    pkgs = pkgs // {
+      inherit lib;
+      # duplicate of the declaration in all-packages.nix
+      buildPackages.nixosOptionsDoc = attrs:
+        (import "${nixosPath}/lib/make-options-doc")
+          ({ inherit pkgs lib; } // attrs);
+    };
+    config = config.config;
+    options = eval.options;
+    version = release;
+    revision = "release-${release}";
+    prefix = modulesPath;
+  };
+in
+  docs.optionsNix
diff --git a/nixpkgs/nixos/lib/eval-config-minimal.nix b/nixpkgs/nixos/lib/eval-config-minimal.nix
new file mode 100644
index 000000000000..d45b9ffd4261
--- /dev/null
+++ b/nixpkgs/nixos/lib/eval-config-minimal.nix
@@ -0,0 +1,49 @@
+
+# DO NOT IMPORT. Use nixpkgsFlake.lib.nixos, or import (nixpkgs + "/nixos/lib")
+{ lib }: # read -^
+
+let
+
+  /*
+    Invoke NixOS. Unlike traditional NixOS, this does not include all modules.
+    Any such modules have to be explicitly added via the `modules` parameter,
+    or imported using `imports` in a module.
+
+    A minimal module list improves NixOS evaluation performance and allows
+    modules to be independently usable, supporting new use cases.
+
+    Parameters:
+
+      modules:        A list of modules that constitute the configuration.
+
+      specialArgs:    An attribute set of module arguments. Unlike
+                      `config._module.args`, these are available for use in
+                      `imports`.
+                      `config._module.args` should be preferred when possible.
+
+    Return:
+
+      An attribute set containing `config.system.build.toplevel` among other
+      attributes. See `lib.evalModules` in the Nixpkgs library.
+
+   */
+  evalModules = {
+    prefix ? [],
+    modules ? [],
+    specialArgs ? {},
+  }:
+  # NOTE: Regular NixOS currently does use this function! Don't break it!
+  #       Ideally we don't diverge, unless we learn that we should.
+  #       In other words, only the public interface of nixos.evalModules
+  #       is experimental.
+  lib.evalModules {
+    inherit prefix modules;
+    specialArgs = {
+      modulesPath = builtins.toString ../modules;
+    } // specialArgs;
+  };
+
+in
+{
+  inherit evalModules;
+}
diff --git a/nixpkgs/nixos/lib/eval-config.nix b/nixpkgs/nixos/lib/eval-config.nix
index 62d09b8173bd..2daaa8a11863 100644
--- a/nixpkgs/nixos/lib/eval-config.nix
+++ b/nixpkgs/nixos/lib/eval-config.nix
@@ -21,6 +21,7 @@ evalConfigArgs@
 , # !!! See comment about args in lib/modules.nix
   specialArgs ? {}
 , modules
+, modulesLocation ? (builtins.unsafeGetAttrPos "modules" evalConfigArgs).file or null
 , # !!! See comment about check in lib/modules.nix
   check ? true
 , prefix ? []
@@ -33,6 +34,12 @@ let pkgs_ = pkgs;
 in
 
 let
+  evalModulesMinimal = (import ./default.nix {
+    inherit lib;
+    # Implicit use of feature is noted in implementation.
+    featureFlags.minimalModules = { };
+  }).evalModules;
+
   pkgsModule = rec {
     _file = ./eval-config.nix;
     key = _file;
@@ -68,13 +75,22 @@ let
         _module.check = lib.mkDefault check;
       };
     };
-  allUserModules = modules ++ legacyModules;
 
-  noUserModules = lib.evalModules ({
-    inherit prefix;
+  allUserModules =
+    let
+      # Add the invoking file (or specified modulesLocation) as error message location
+      # for modules that don't have their own locations; presumably inline modules.
+      locatedModules =
+        if modulesLocation == null then
+          modules
+        else
+          map (lib.setDefaultModuleLocation modulesLocation) modules;
+    in
+      locatedModules ++ legacyModules;
+
+  noUserModules = evalModulesMinimal ({
+    inherit prefix specialArgs;
     modules = baseModules ++ extraModules ++ [ pkgsModule modulesModule ];
-    specialArgs =
-      { modulesPath = builtins.toString ../modules; } // specialArgs;
   });
 
   # Extra arguments that are useful for constructing a similar configuration.
@@ -88,13 +104,8 @@ let
 
   nixosWithUserModules = noUserModules.extendModules { modules = allUserModules; };
 
-in withWarnings {
-
-  # Merge the option definitions in all modules, forming the full
-  # system configuration.
-  inherit (nixosWithUserModules) config options _module type;
-
+in
+withWarnings nixosWithUserModules // {
   inherit extraArgs;
-
   inherit (nixosWithUserModules._module.args) pkgs;
 }
diff --git a/nixpkgs/nixos/lib/make-iso9660-image.sh b/nixpkgs/nixos/lib/make-iso9660-image.sh
index 4740b05f9557..9273b8d3db8d 100644
--- a/nixpkgs/nixos/lib/make-iso9660-image.sh
+++ b/nixpkgs/nixos/lib/make-iso9660-image.sh
@@ -105,6 +105,7 @@ mkdir -p $out/iso
 # version-5 UUID's work)
 xorriso="xorriso
  -boot_image any gpt_disk_guid=$(uuid -v 5 daed2280-b91e-42c0-aed6-82c825ca41f3 $out | tr -d -)
+ -volume_date all_file_dates =$SOURCE_DATE_EPOCH
  -as mkisofs
  -iso-level 3
  -volid ${volumeID}
diff --git a/nixpkgs/nixos/lib/make-options-doc/default.nix b/nixpkgs/nixos/lib/make-options-doc/default.nix
index 44bc25be9238..57652dd5db1e 100644
--- a/nixpkgs/nixos/lib/make-options-doc/default.nix
+++ b/nixpkgs/nixos/lib/make-options-doc/default.nix
@@ -21,6 +21,13 @@
 , options
 , transformOptions ? lib.id  # function for additional tranformations of the options
 , revision ? "" # Specify revision for the options
+# a set of options the docs we are generating will be merged into, as if by recursiveUpdate.
+# used to split the options doc build into a static part (nixos/modules) and a dynamic part
+# (non-nixos modules imported via configuration.nix, other module sources).
+, baseOptionsJSON ? null
+# instead of printing warnings for eg options with missing descriptions (which may be lost
+# by nix build unless -L is given), emit errors instead and fail the build
+, warningsAreErrors ? true
 }:
 
 let
@@ -51,10 +58,15 @@ let
   # ../../../lib/options.nix influences.
   #
   # Each element of `relatedPackages` can be either
-  # - a string:  that will be interpreted as an attribute name from `pkgs`,
-  # - a list:    that will be interpreted as an attribute path from `pkgs`,
-  # - an attrset: that can specify `name`, `path`, `package`, `comment`
+  # - a string:  that will be interpreted as an attribute name from `pkgs` and turned into a link
+  #              to search.nixos.org,
+  # - a list:    that will be interpreted as an attribute path from `pkgs` and turned into a link
+  #              to search.nixos.org,
+  # - an attrset: that can specify `name`, `path`, `comment`
   #   (either of `name`, `path` is required, the rest are optional).
+  #
+  # NOTE: No checks against `pkgs` are made to ensure that the referenced package actually exists.
+  # Such checks are not compatible with option docs caching.
   genRelatedPackages = packages: optName:
     let
       unpack = p: if lib.isString p then { name = p; }
@@ -64,16 +76,16 @@ let
         let
           title = args.title or null;
           name = args.name or (lib.concatStringsSep "." args.path);
-          path = args.path or [ args.name ];
-          package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}' found while evaluating `relatedPackages' of option `${optName}'") pkgs);
-        in "<listitem>"
-        + "<para><literal>${lib.optionalString (title != null) "${title} aka "}pkgs.${name} (${package.meta.name})</literal>"
-        + lib.optionalString (!package.meta.available) " <emphasis>[UNAVAILABLE]</emphasis>"
-        + ": ${package.meta.description or "???"}.</para>"
-        + lib.optionalString (args ? comment) "\n<para>${args.comment}</para>"
-        # Lots of `longDescription's break DocBook, so we just wrap them into <programlisting>
-        + lib.optionalString (package.meta ? longDescription) "\n<programlisting>${package.meta.longDescription}</programlisting>"
-        + "</listitem>";
+        in ''
+          <listitem>
+            <para>
+              <link xlink:href="https://search.nixos.org/packages?show=${name}&amp;sort=relevance&amp;query=${name}">
+                <literal>${lib.optionalString (title != null) "${title} aka "}pkgs.${name}</literal>
+              </link>
+            </para>
+            ${lib.optionalString (args ? comment) "<para>${args.comment}</para>"}
+          </listitem>
+        '';
     in "<itemizedlist>${lib.concatStringsSep "\n" (map (p: describe (unpack p)) packages)}</itemizedlist>";
 
   # Remove invisible and internal options.
@@ -99,13 +111,24 @@ in rec {
   optionsJSON = pkgs.runCommand "options.json"
     { meta.description = "List of NixOS options in JSON format";
       buildInputs = [ pkgs.brotli ];
+      options = builtins.toFile "options.json"
+        (builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix));
     }
     ''
       # Export list of options in different format.
       dst=$out/share/doc/nixos
       mkdir -p $dst
 
-      cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix))} $dst/options.json
+      ${
+        if baseOptionsJSON == null
+          then "cp $options $dst/options.json"
+          else ''
+            ${pkgs.python3Minimal}/bin/python ${./mergeJSON.py} \
+              ${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
+              ${baseOptionsJSON} $options \
+              > $dst/options.json
+          ''
+      }
 
       brotli -9 < $dst/options.json > $dst/options.json.br
 
diff --git a/nixpkgs/nixos/lib/make-options-doc/mergeJSON.py b/nixpkgs/nixos/lib/make-options-doc/mergeJSON.py
new file mode 100644
index 000000000000..029787a31586
--- /dev/null
+++ b/nixpkgs/nixos/lib/make-options-doc/mergeJSON.py
@@ -0,0 +1,86 @@
+import collections
+import json
+import sys
+from typing import Any, Dict, List
+
+JSON = Dict[str, Any]
+
+class Key:
+    def __init__(self, path: List[str]):
+        self.path = path
+    def __hash__(self):
+        result = 0
+        for id in self.path:
+            result ^= hash(id)
+        return result
+    def __eq__(self, other):
+        return type(self) is type(other) and self.path == other.path
+
+Option = collections.namedtuple('Option', ['name', 'value'])
+
+# pivot a dict of options keyed by their display name to a dict keyed by their path
+def pivot(options: Dict[str, JSON]) -> Dict[Key, Option]:
+    result: Dict[Key, Option] = dict()
+    for (name, opt) in options.items():
+        result[Key(opt['loc'])] = Option(name, opt)
+    return result
+
+# pivot back to indexed-by-full-name
+# like the docbook build we'll just fail if multiple options with differing locs
+# render to the same option name.
+def unpivot(options: Dict[Key, Option]) -> Dict[str, JSON]:
+    result: Dict[str, Dict] = dict()
+    for (key, opt) in options.items():
+        if opt.name in result:
+            raise RuntimeError(
+                'multiple options with colliding ids found',
+                opt.name,
+                result[opt.name]['loc'],
+                opt.value['loc'],
+            )
+        result[opt.name] = opt.value
+    return result
+
+warningsAreErrors = sys.argv[1] == "--warnings-are-errors"
+optOffset = 1 if warningsAreErrors else 0
+options = pivot(json.load(open(sys.argv[1 + optOffset], 'r')))
+overrides = pivot(json.load(open(sys.argv[2 + optOffset], 'r')))
+
+# fix up declaration paths in lazy options, since we don't eval them from a full nixpkgs dir
+for (k, v) in options.items():
+    v.value['declarations'] = list(map(lambda s: f'nixos/modules/{s}', v.value['declarations']))
+
+# merge both descriptions
+for (k, v) in overrides.items():
+    cur = options.setdefault(k, v).value
+    for (ok, ov) in v.value.items():
+        if ok == 'declarations':
+            decls = cur[ok]
+            for d in ov:
+                if d not in decls:
+                    decls += [d]
+        elif ok == "type":
+            # ignore types of placeholder options
+            if ov != "_unspecified" or cur[ok] == "_unspecified":
+                cur[ok] = ov
+        elif ov is not None or cur.get(ok, None) is None:
+            cur[ok] = ov
+
+# check that every option has a description
+hasWarnings = False
+for (k, v) in options.items():
+    if v.value.get('description', None) is None:
+        severity = "error" if warningsAreErrors else "warning"
+        hasWarnings = True
+        print(f"\x1b[1;31m{severity}: option {v.name} has no description\x1b[0m", file=sys.stderr)
+        v.value['description'] = "This option has no description."
+if hasWarnings and warningsAreErrors:
+    print(
+        "\x1b[1;31m" +
+        "Treating warnings as errors. Set documentation.nixos.options.warningsAreErrors " +
+        "to false to ignore these warnings." +
+        "\x1b[0m",
+        file=sys.stderr)
+    sys.exit(1)
+
+json.dump(unpivot(options), fp=sys.stdout)
diff --git a/nixpkgs/nixos/lib/qemu-common.nix b/nixpkgs/nixos/lib/qemu-common.nix
index f3af85040bd6..20bbe9ff5d99 100644
--- a/nixpkgs/nixos/lib/qemu-common.nix
+++ b/nixpkgs/nixos/lib/qemu-common.nix
@@ -17,12 +17,12 @@ rec {
       ''-netdev vde,id=vlan${toString nic},sock="$QEMU_VDE_SOCKET_${toString net}"''
     ];
 
-  qemuSerialDevice = if pkgs.stdenv.hostPlatform.isx86 then "ttyS0"
+  qemuSerialDevice = if pkgs.stdenv.hostPlatform.isx86 || pkgs.stdenv.hostPlatform.isRiscV then "ttyS0"
         else if (with pkgs.stdenv.hostPlatform; isAarch32 || isAarch64 || isPower) then "ttyAMA0"
         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/nixpkgs/nixos/lib/systemd-lib.nix b/nixpkgs/nixos/lib/systemd-lib.nix
index 6c4d27018eed..ab166d7327ce 100644
--- a/nixpkgs/nixos/lib/systemd-lib.nix
+++ b/nixpkgs/nixos/lib/systemd-lib.nix
@@ -11,6 +11,9 @@ in rec {
 
   mkPathSafeName = lib.replaceChars ["@" ":" "\\" "[" "]"] ["-" "-" "-" "" ""];
 
+  # a type for options that take a unit name
+  unitNameType = types.strMatching "[a-zA-Z0-9@%:_.\\-]+[.](service|socket|device|mount|automount|swap|target|path|timer|scope|slice)";
+
   makeUnit = name: unit:
     if unit.enable then
       pkgs.runCommand "unit-${mkPathSafeName name}"
@@ -228,9 +231,7 @@ in rec {
         mkdir -p $out/getty.target.wants/
         ln -s ../autovt@tty1.service $out/getty.target.wants/
 
-        ln -s ../local-fs.target ../remote-fs.target \
-        ../nss-lookup.target ../nss-user-lookup.target ../swap.target \
-        $out/multi-user.target.wants/
+        ln -s ../remote-fs.target $out/multi-user.target.wants/
       ''}
     ''; # */
 
diff --git a/nixpkgs/nixos/lib/systemd-unit-options.nix b/nixpkgs/nixos/lib/systemd-unit-options.nix
index 01f954a4d3e0..8029ba0e3f6c 100644
--- a/nixpkgs/nixos/lib/systemd-unit-options.nix
+++ b/nixpkgs/nixos/lib/systemd-unit-options.nix
@@ -45,7 +45,7 @@ in rec {
 
     requiredBy = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         Units that require (i.e. depend on and need to go down with)
         this unit. The discussion under <literal>wantedBy</literal>
@@ -56,7 +56,7 @@ in rec {
 
     wantedBy = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         Units that want (i.e. depend on) this unit. The standard way
         to make a unit start by default at boot is to set this option
@@ -73,7 +73,7 @@ in rec {
 
     aliases = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = "Aliases of that unit.";
     };
 
@@ -98,7 +98,7 @@ in rec {
 
     description = mkOption {
       default = "";
-      type = types.str;
+      type = types.singleLineStr;
       description = "Description of this unit used in systemd messages and progress indicators.";
     };
 
@@ -110,7 +110,7 @@ in rec {
 
     requires = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         Start the specified units when this unit is started, and stop
         this unit when the specified units are stopped or fail.
@@ -119,7 +119,7 @@ in rec {
 
     wants = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         Start the specified units when this unit is started.
       '';
@@ -127,7 +127,7 @@ in rec {
 
     after = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         If the specified units are started at the same time as
         this unit, delay this unit until they have started.
@@ -136,7 +136,7 @@ in rec {
 
     before = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         If the specified units are started at the same time as
         this unit, delay them until this unit has started.
@@ -145,7 +145,7 @@ in rec {
 
     bindsTo = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         Like ‘requires’, but in addition, if the specified units
         unexpectedly disappear, this unit will be stopped as well.
@@ -154,7 +154,7 @@ in rec {
 
     partOf = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         If the specified units are stopped or restarted, then this
         unit is stopped or restarted as well.
@@ -163,7 +163,7 @@ in rec {
 
     conflicts = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         If the specified units are started, then this unit is stopped
         and vice versa.
@@ -172,7 +172,7 @@ in rec {
 
     requisite = mkOption {
       default = [];
-      type = types.listOf types.str;
+      type = types.listOf unitNameType;
       description = ''
         Similar to requires. However if the units listed are not started,
         they will not be started and the transaction will fail.
@@ -201,9 +201,20 @@ 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 types.str;
+      type = types.listOf unitNameType;
       description = ''
         A list of one or more units that are activated when
         this unit enters the "failed" state.
@@ -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/nixpkgs/nixos/lib/test-driver/default.nix b/nixpkgs/nixos/lib/test-driver/default.nix
index 3f63bc705b90..3aee91343189 100644
--- a/nixpkgs/nixos/lib/test-driver/default.nix
+++ b/nixpkgs/nixos/lib/test-driver/default.nix
@@ -14,7 +14,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nixos-test-driver";
-  version = "1.0";
+  version = "1.1";
   src = ./.;
 
   propagatedBuildInputs = [ coreutils netpbm python3Packages.colorama python3Packages.ptpython qemu_pkg socat vde2 ]
@@ -26,7 +26,7 @@ python3Packages.buildPythonApplication rec {
     mypy --disallow-untyped-defs \
           --no-implicit-optional \
           --ignore-missing-imports ${src}/test_driver
-    pylint --errors-only ${src}/test_driver
+    pylint --errors-only --enable=unused-import ${src}/test_driver
     black --check --diff ${src}/test_driver
   '';
 }
diff --git a/nixpkgs/nixos/lib/test-driver/setup.py b/nixpkgs/nixos/lib/test-driver/setup.py
index 156995472169..476c7b2dab2a 100644
--- a/nixpkgs/nixos/lib/test-driver/setup.py
+++ b/nixpkgs/nixos/lib/test-driver/setup.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
 
 setup(
   name="nixos-test-driver",
-  version='1.0',
+  version='1.1',
   packages=find_packages(),
   entry_points={
     "console_scripts": [
diff --git a/nixpkgs/nixos/lib/test-driver/test_driver/__init__.py b/nixpkgs/nixos/lib/test-driver/test_driver/__init__.py
index 5477ab5cd038..61d91c9ed654 100755
--- a/nixpkgs/nixos/lib/test-driver/test_driver/__init__.py
+++ b/nixpkgs/nixos/lib/test-driver/test_driver/__init__.py
@@ -33,6 +33,22 @@ class EnvDefault(argparse.Action):
         setattr(namespace, self.dest, values)
 
 
+def writeable_dir(arg: str) -> Path:
+    """Raises an ArgumentTypeError if the given argument isn't a writeable directory
+    Note: We want to fail as early as possible if a directory isn't writeable,
+    since an executed nixos-test could fail (very late) because of the test-driver
+    writing in a directory without proper permissions.
+    """
+    path = Path(arg)
+    if not path.is_dir():
+        raise argparse.ArgumentTypeError("{0} is not a directory".format(path))
+    if not os.access(path, os.W_OK):
+        raise argparse.ArgumentTypeError(
+            "{0} is not a writeable directory".format(path)
+        )
+    return path
+
+
 def main() -> None:
     arg_parser = argparse.ArgumentParser(prog="nixos-test-driver")
     arg_parser.add_argument(
@@ -45,7 +61,7 @@ def main() -> None:
         "-I",
         "--interactive",
         help="drop into a python repl and run the tests interactively",
-        action="store_true",
+        action=argparse.BooleanOptionalAction,
     )
     arg_parser.add_argument(
         "--start-scripts",
@@ -64,6 +80,14 @@ def main() -> None:
         help="vlans to span by the driver",
     )
     arg_parser.add_argument(
+        "-o",
+        "--output_directory",
+        help="""The path to the directory where outputs copied from the VM will be placed.
+                By e.g. Machine.copy_from_vm or Machine.screenshot""",
+        default=Path.cwd(),
+        type=writeable_dir,
+    )
+    arg_parser.add_argument(
         "testscript",
         action=EnvDefault,
         envvar="testScript",
@@ -77,7 +101,11 @@ def main() -> None:
         rootlog.info("Machine state will be reset. To keep it, pass --keep-vm-state")
 
     with Driver(
-        args.start_scripts, args.vlans, args.testscript.read_text(), args.keep_vm_state
+        args.start_scripts,
+        args.vlans,
+        args.testscript.read_text(),
+        args.output_directory.resolve(),
+        args.keep_vm_state,
     ) as driver:
         if args.interactive:
             ptpython.repl.embed(driver.test_symbols(), {})
@@ -94,7 +122,7 @@ def generate_driver_symbols() -> None:
     in user's test scripts. That list is then used by pyflakes to lint those
     scripts.
     """
-    d = Driver([], [], "")
+    d = Driver([], [], "", Path())
     test_symbols = d.test_symbols()
     with open("driver-symbols", "w") as fp:
         fp.write(",".join(test_symbols.keys()))
diff --git a/nixpkgs/nixos/lib/test-driver/test_driver/driver.py b/nixpkgs/nixos/lib/test-driver/test_driver/driver.py
index f3af98537ad6..880b1c5fdec0 100644
--- a/nixpkgs/nixos/lib/test-driver/test_driver/driver.py
+++ b/nixpkgs/nixos/lib/test-driver/test_driver/driver.py
@@ -1,12 +1,35 @@
 from contextlib import contextmanager
 from pathlib import Path
-from typing import Any, Dict, Iterator, List
+from typing import Any, Dict, Iterator, List, Union, Optional, Callable, ContextManager
 import os
 import tempfile
 
 from test_driver.logger import rootlog
 from test_driver.machine import Machine, NixStartScript, retry
 from test_driver.vlan import VLan
+from test_driver.polling_condition import PollingCondition
+
+
+def get_tmp_dir() -> Path:
+    """Returns a temporary directory that is defined by TMPDIR, TEMP, TMP or CWD
+    Raises an exception in case the retrieved temporary directory is not writeable
+    See https://docs.python.org/3/library/tempfile.html#tempfile.gettempdir
+    """
+    tmp_dir = Path(tempfile.gettempdir())
+    tmp_dir.mkdir(mode=0o700, exist_ok=True)
+    if not tmp_dir.is_dir():
+        raise NotADirectoryError(
+            "The directory defined by TMPDIR, TEMP, TMP or CWD: {0} is not a directory".format(
+                tmp_dir
+            )
+        )
+    if not os.access(tmp_dir, os.W_OK):
+        raise PermissionError(
+            "The directory defined by TMPDIR, TEMP, TMP, or CWD: {0} is not writeable".format(
+                tmp_dir
+            )
+        )
+    return tmp_dir
 
 
 class Driver:
@@ -16,18 +39,20 @@ class Driver:
     tests: str
     vlans: List[VLan]
     machines: List[Machine]
+    polling_conditions: List[PollingCondition]
 
     def __init__(
         self,
         start_scripts: List[str],
         vlans: List[int],
         tests: str,
+        out_dir: Path,
         keep_vm_state: bool = False,
     ):
         self.tests = tests
+        self.out_dir = out_dir
 
-        tmp_dir = Path(os.environ.get("TMPDIR", tempfile.gettempdir()))
-        tmp_dir.mkdir(mode=0o700, exist_ok=True)
+        tmp_dir = get_tmp_dir()
 
         with rootlog.nested("start all VLans"):
             self.vlans = [VLan(nr, tmp_dir) for nr in vlans]
@@ -36,12 +61,16 @@ class Driver:
             for s in scripts:
                 yield NixStartScript(s)
 
+        self.polling_conditions = []
+
         self.machines = [
             Machine(
                 start_command=cmd,
                 keep_vm_state=keep_vm_state,
                 name=cmd.machine_name,
                 tmp_dir=tmp_dir,
+                callbacks=[self.check_polling_conditions],
+                out_dir=self.out_dir,
             )
             for cmd in cmd(start_scripts)
         ]
@@ -84,6 +113,7 @@ class Driver:
             retry=retry,
             serial_stdout_off=self.serial_stdout_off,
             serial_stdout_on=self.serial_stdout_on,
+            polling_condition=self.polling_condition,
             Machine=Machine,  # for typing
         )
         machine_symbols = {m.name: m for m in self.machines}
@@ -135,8 +165,8 @@ class Driver:
             "Using legacy create_machine(), please instantiate the"
             "Machine class directly, instead"
         )
-        tmp_dir = Path(os.environ.get("TMPDIR", tempfile.gettempdir()))
-        tmp_dir.mkdir(mode=0o700, exist_ok=True)
+
+        tmp_dir = get_tmp_dir()
 
         if args.get("startCommand"):
             start_command: str = args.get("startCommand", "")
@@ -148,6 +178,7 @@ class Driver:
 
         return Machine(
             tmp_dir=tmp_dir,
+            out_dir=self.out_dir,
             start_command=cmd,
             name=name,
             keep_vm_state=args.get("keep_vm_state", False),
@@ -159,3 +190,36 @@ class Driver:
 
     def serial_stdout_off(self) -> None:
         rootlog._print_serial_logs = False
+
+    def check_polling_conditions(self) -> None:
+        for condition in self.polling_conditions:
+            condition.maybe_raise()
+
+    def polling_condition(
+        self,
+        fun_: Optional[Callable] = None,
+        *,
+        seconds_interval: float = 2.0,
+        description: Optional[str] = None,
+    ) -> Union[Callable[[Callable], ContextManager], ContextManager]:
+        driver = self
+
+        class Poll:
+            def __init__(self, fun: Callable):
+                self.condition = PollingCondition(
+                    fun,
+                    seconds_interval,
+                    description,
+                )
+
+            def __enter__(self) -> None:
+                driver.polling_conditions.append(self.condition)
+
+            def __exit__(self, a, b, c) -> None:  # type: ignore
+                res = driver.polling_conditions.pop()
+                assert res is self.condition
+
+        if fun_ is None:
+            return Poll
+        else:
+            return Poll(fun_)
diff --git a/nixpkgs/nixos/lib/test-driver/test_driver/machine.py b/nixpkgs/nixos/lib/test-driver/test_driver/machine.py
index b3dbe5126fcc..569a0f3c61e4 100644
--- a/nixpkgs/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixpkgs/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"
@@ -297,6 +303,7 @@ class Machine:
     the machine lifecycle with the help of a start script / command."""
 
     name: str
+    out_dir: Path
     tmp_dir: Path
     shared_dir: Path
     state_dir: Path
@@ -318,23 +325,28 @@ class Machine:
     # Store last serial console lines for use
     # of wait_for_console_text
     last_lines: Queue = Queue()
+    callbacks: List[Callable]
 
     def __repr__(self) -> str:
         return f"<Machine '{self.name}'>"
 
     def __init__(
         self,
+        out_dir: Path,
         tmp_dir: Path,
         start_command: StartCommand,
         name: str = "machine",
         keep_vm_state: bool = False,
         allow_reboot: bool = False,
+        callbacks: Optional[List[Callable]] = None,
     ) -> None:
+        self.out_dir = out_dir
         self.tmp_dir = tmp_dir
         self.keep_vm_state = keep_vm_state
         self.allow_reboot = allow_reboot
         self.name = name
         self.start_command = start_command
+        self.callbacks = callbacks if callbacks is not None else []
 
         # set up directories
         self.shared_dir = self.tmp_dir / "shared-xchg"
@@ -375,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"),
         )
 
@@ -406,6 +419,7 @@ class Machine:
             return answer
 
     def send_monitor_command(self, command: str) -> str:
+        self.run_callbacks()
         with self.nested("sending monitor command: {}".format(command)):
             message = ("{}\n".format(command)).encode()
             assert self.monitor is not None
@@ -509,6 +523,7 @@ class Machine:
     def execute(
         self, command: str, check_return: bool = True, timeout: Optional[int] = 900
     ) -> Tuple[int, str]:
+        self.run_callbacks()
         self.connect()
 
         if timeout is not None:
@@ -535,11 +550,11 @@ class Machine:
 
         Should only be used during test development, not in the production test."""
         self.connect()
-        self.log("Terminal is ready (there is no prompt):")
+        self.log("Terminal is ready (there is no initial prompt):")
 
         assert self.shell
         subprocess.run(
-            ["socat", "READLINE", f"FD:{self.shell.fileno()}"],
+            ["socat", "READLINE,prompt=$ ", f"FD:{self.shell.fileno()}"],
             pass_fds=[self.shell.fileno()],
         )
 
@@ -697,10 +712,9 @@ class Machine:
             self.connected = True
 
     def screenshot(self, filename: str) -> None:
-        out_dir = os.environ.get("out", os.getcwd())
         word_pattern = re.compile(r"^\w+$")
         if word_pattern.match(filename):
-            filename = os.path.join(out_dir, "{}.png".format(filename))
+            filename = os.path.join(self.out_dir, "{}.png".format(filename))
         tmp = "{}.ppm".format(filename)
 
         with self.nested(
@@ -751,7 +765,6 @@ class Machine:
         all the VMs (using a temporary directory).
         """
         # Compute the source, target, and intermediate shared file names
-        out_dir = Path(os.environ.get("out", os.getcwd()))
         vm_src = Path(source)
         with tempfile.TemporaryDirectory(dir=self.shared_dir) as shared_td:
             shared_temp = Path(shared_td)
@@ -761,7 +774,7 @@ class Machine:
             # Copy the file to the shared directory inside VM
             self.succeed(make_command(["mkdir", "-p", vm_shared_temp]))
             self.succeed(make_command(["cp", "-r", vm_src, vm_intermediate]))
-            abs_target = out_dir / target_dir / vm_src.name
+            abs_target = self.out_dir / target_dir / vm_src.name
             abs_target.parent.mkdir(exist_ok=True, parents=True)
             # Copy the file from the shared directory outside VM
             if intermediate.is_dir():
@@ -969,3 +982,7 @@ class Machine:
         self.shell.close()
         self.monitor.close()
         self.serial_thread.join()
+
+    def run_callbacks(self) -> None:
+        for callback in self.callbacks:
+            callback()
diff --git a/nixpkgs/nixos/lib/test-driver/test_driver/polling_condition.py b/nixpkgs/nixos/lib/test-driver/test_driver/polling_condition.py
new file mode 100644
index 000000000000..459845452fa1
--- /dev/null
+++ b/nixpkgs/nixos/lib/test-driver/test_driver/polling_condition.py
@@ -0,0 +1,77 @@
+from typing import Callable, Optional
+import time
+
+from .logger import rootlog
+
+
+class PollingConditionFailed(Exception):
+    pass
+
+
+class PollingCondition:
+    condition: Callable[[], bool]
+    seconds_interval: float
+    description: Optional[str]
+
+    last_called: float
+    entered: bool
+
+    def __init__(
+        self,
+        condition: Callable[[], Optional[bool]],
+        seconds_interval: float = 2.0,
+        description: Optional[str] = None,
+    ):
+        self.condition = condition  # type: ignore
+        self.seconds_interval = seconds_interval
+
+        if description is None:
+            if condition.__doc__:
+                self.description = condition.__doc__
+            else:
+                self.description = condition.__name__
+        else:
+            self.description = str(description)
+
+        self.last_called = float("-inf")
+        self.entered = False
+
+    def check(self) -> bool:
+        if self.entered or not self.overdue:
+            return True
+
+        with self, rootlog.nested(self.nested_message):
+            rootlog.info(f"Time since last: {time.monotonic() - self.last_called:.2f}s")
+            try:
+                res = self.condition()  # type: ignore
+            except Exception:
+                res = False
+            res = res is None or res
+            rootlog.info(self.status_message(res))
+            return res
+
+    def maybe_raise(self) -> None:
+        if not self.check():
+            raise PollingConditionFailed(self.status_message(False))
+
+    def status_message(self, status: bool) -> str:
+        return f"Polling condition {'succeeded' if status else 'failed'}: {self.description}"
+
+    @property
+    def nested_message(self) -> str:
+        nested_message = ["Checking polling condition"]
+        if self.description is not None:
+            nested_message.append(repr(self.description))
+
+        return " ".join(nested_message)
+
+    @property
+    def overdue(self) -> bool:
+        return self.last_called + self.seconds_interval < time.monotonic()
+
+    def __enter__(self) -> None:
+        self.entered = True
+
+    def __exit__(self, exc_type, exc_value, traceback) -> None:  # type: ignore
+        self.entered = False
+        self.last_called = time.monotonic()
diff --git a/nixpkgs/nixos/lib/testing-python.nix b/nixpkgs/nixos/lib/testing-python.nix
index 365e22714573..0d3c3a89e783 100644
--- a/nixpkgs/nixos/lib/testing-python.nix
+++ b/nixpkgs/nixos/lib/testing-python.nix
@@ -17,7 +17,7 @@ rec {
   inherit pkgs;
 
   # Run an automated test suite in the given virtual network.
-  runTests = { driver, pos }:
+  runTests = { driver, driverInteractive, pos }:
     stdenv.mkDerivation {
       name = "vm-test-run-${driver.testName}";
 
@@ -30,11 +30,11 @@ rec {
           # effectively mute the XMLLogger
           export LOGFILE=/dev/null
 
-          ${driver}/bin/nixos-test-driver
+          ${driver}/bin/nixos-test-driver -o $out
         '';
 
       passthru = driver.passthru // {
-        inherit driver;
+        inherit driver driverInteractive;
       };
 
       inherit pos; # for better debugging
@@ -51,6 +51,7 @@ rec {
     , enableOCR ? false
     , skipLint ? false
     , passthru ? {}
+    , interactive ? false
   }:
     let
       # Reifies and correctly wraps the python test driver for
@@ -139,7 +140,8 @@ rec {
         wrapProgram $out/bin/nixos-test-driver \
           --set startScripts "''${vmStartScripts[*]}" \
           --set testScript "$out/test-script" \
-          --set vlans '${toString vlans}'
+          --set vlans '${toString vlans}' \
+          ${lib.optionalString (interactive) "--add-flags --interactive"}
       '');
 
   # Make a full-blown test
@@ -217,6 +219,7 @@ rec {
         testName = name;
         qemu_pkg = pkgs.qemu;
         nodes = nodes pkgs.qemu;
+        interactive = true;
       };
 
       test =
@@ -224,7 +227,7 @@ rec {
           passMeta = drv: drv // lib.optionalAttrs (t ? meta) {
             meta = (drv.meta or { }) // t.meta;
           };
-        in passMeta (runTests { inherit driver pos; });
+        in passMeta (runTests { inherit driver pos driverInteractive; });
 
     in
       test // {
diff --git a/nixpkgs/nixos/lib/utils.nix b/nixpkgs/nixos/lib/utils.nix
index bbebf8ba35a0..190c4db4d49d 100644
--- a/nixpkgs/nixos/lib/utils.nix
+++ b/nixpkgs/nixos/lib/utils.nix
@@ -149,10 +149,16 @@ rec {
       if [[ -h '${output}' ]]; then
         rm '${output}'
       fi
+
+      inherit_errexit_restore=$(shopt -p inherit_errexit)
+      shopt -s inherit_errexit
     ''
     + concatStringsSep
         "\n"
-        (imap1 (index: name: "export secret${toString index}=$(<'${secrets.${name}}')")
+        (imap1 (index: name: ''
+                  secret${toString index}=$(<'${secrets.${name}}')
+                  export secret${toString index}
+                '')
                (attrNames secrets))
     + "\n"
     + "${pkgs.jq}/bin/jq >'${output}' '"
@@ -164,6 +170,7 @@ rec {
       ' <<'EOF'
       ${builtins.toJSON set}
       EOF
+      $inherit_errexit_restore
     '';
 
   systemdUtils = {
diff --git a/nixpkgs/nixos/maintainers/scripts/azure-new/examples/basic/system.nix b/nixpkgs/nixos/maintainers/scripts/azure-new/examples/basic/system.nix
index 855bd3bab719..d283742701d1 100644
--- a/nixpkgs/nixos/maintainers/scripts/azure-new/examples/basic/system.nix
+++ b/nixpkgs/nixos/maintainers/scripts/azure-new/examples/basic/system.nix
@@ -17,7 +17,7 @@ in
     description = "Azure NixOS Test User";
     openssh.authorizedKeys.keys = [ (builtins.readFile ~/.ssh/id_ed25519.pub) ];
   };
-  nix.trustedUsers = [ username ];
+  nix.settings.trusted-users = [ username ];
 
   virtualisation.azureImage.diskSize = 2500;
 
diff --git a/nixpkgs/nixos/modules/config/malloc.nix b/nixpkgs/nixos/modules/config/malloc.nix
index 84da5643004f..a3fed33afa18 100644
--- a/nixpkgs/nixos/modules/config/malloc.nix
+++ b/nixpkgs/nixos/modules/config/malloc.nix
@@ -22,8 +22,15 @@ let
       '';
     };
 
-    scudo = {
-      libPath = "${pkgs.llvmPackages_latest.compiler-rt}/lib/linux/libclang_rt.scudo-x86_64.so";
+    scudo = let
+      platformMap = {
+        aarch64-linux = "aarch64";
+        x86_64-linux  = "x86_64";
+      };
+
+      systemPlatform = platformMap.${pkgs.stdenv.hostPlatform.system} or (throw "scudo not supported on ${pkgs.stdenv.hostPlatform.system}");
+    in {
+      libPath = "${pkgs.llvmPackages_latest.compiler-rt}/lib/linux/libclang_rt.scudo-${systemPlatform}.so";
       description = ''
         A user-mode allocator based on LLVM Sanitizer’s CombinedAllocator,
         which aims at providing additional mitigations against heap based
diff --git a/nixpkgs/nixos/modules/config/networking.nix b/nixpkgs/nixos/modules/config/networking.nix
index 133a150df82c..bebfeb352c01 100644
--- a/nixpkgs/nixos/modules/config/networking.nix
+++ b/nixpkgs/nixos/modules/config/networking.nix
@@ -196,9 +196,7 @@ in
         protocols.source  = pkgs.iana-etc + "/etc/protocols";
 
         # /etc/hosts: Hostname-to-IP mappings.
-        hosts.source = pkgs.runCommand "hosts" {} ''
-          cat ${escapeShellArgs cfg.hostFiles} > $out
-        '';
+        hosts.source = pkgs.concatText "hosts" cfg.hostFiles;
 
         # /etc/netgroup: Network-wide groups.
         netgroup.text = mkDefault "";
diff --git a/nixpkgs/nixos/modules/config/update-users-groups.pl b/nixpkgs/nixos/modules/config/update-users-groups.pl
index 5797b1ce511d..ab0b13606774 100644
--- a/nixpkgs/nixos/modules/config/update-users-groups.pl
+++ b/nixpkgs/nixos/modules/config/update-users-groups.pl
@@ -355,7 +355,7 @@ foreach my $u (values %usersOut) {
         push @subGids, $value;
     }
 
-    if($u->{isNormalUser}) {
+    if($u->{autoSubUidGidRange}) {
         my $subordinate = allocSubUid($name);
         $subUidMap->{$name} = $subordinate;
         my $value = join(":", ($name, $subordinate, 65536));
diff --git a/nixpkgs/nixos/modules/config/users-groups.nix b/nixpkgs/nixos/modules/config/users-groups.nix
index a34d28143418..b0f96c754fa5 100644
--- a/nixpkgs/nixos/modules/config/users-groups.nix
+++ b/nixpkgs/nixos/modules/config/users-groups.nix
@@ -204,6 +204,16 @@ let
         '';
       };
 
+      autoSubUidGidRange = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = ''
+          Automatically allocate subordinate user and group ids for this user.
+          Allocated range is currently always of size 65536.
+        '';
+      };
+
       createHome = mkOption {
         type = types.bool;
         default = false;
@@ -320,6 +330,9 @@ let
         (mkIf (!cfg.mutableUsers && config.initialHashedPassword != null) {
           hashedPassword = mkDefault config.initialHashedPassword;
         })
+        (mkIf (config.isNormalUser && config.subUidRanges == [] && config.subGidRanges == []) {
+          autoSubUidGidRange = mkDefault true;
+        })
       ];
 
   };
@@ -419,7 +432,7 @@ let
       { inherit (u)
           name uid group description home createHome isSystemUser
           password passwordFile hashedPassword
-          isNormalUser subUidRanges subGidRanges
+          autoSubUidGidRange subUidRanges subGidRanges
           initialPassword initialHashedPassword;
         shell = utils.toShellPath u.shell;
       }) cfg.users;
@@ -436,16 +449,10 @@ in {
   imports = [
     (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
     (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
-    (mkChangedOptionModule
-      [ "security" "initialRootPassword" ]
-      [ "users" "users" "root" "initialHashedPassword" ]
-      (cfg: if cfg.security.initialRootPassword == "!"
-            then null
-            else cfg.security.initialRootPassword))
+    (mkRenamedOptionModule ["security" "initialRootPassword"] ["users" "users" "root" "initialHashedPassword"])
   ];
 
   ###### interface
-
   options = {
 
     users.mutableUsers = mkOption {
@@ -513,6 +520,17 @@ in {
       '';
     };
 
+
+    users.allowNoPasswordLogin = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Disable checking that at least the <literal>root</literal> user or a user in the <literal>wheel</literal> group can log in using
+        a password or an SSH key.
+
+        WARNING: enabling this can lock you out of your system. Enable this only if you know what are you doing.
+      '';
+    };
   };
 
 
@@ -527,6 +545,7 @@ in {
         home = "/root";
         shell = mkDefault cfg.defaultUserShell;
         group = "root";
+        initialHashedPassword = mkDefault "!";
       };
       nobody = {
         uid = ids.uids.nobody;
@@ -603,9 +622,11 @@ in {
         # there is at least one "privileged" account that has a
         # password or an SSH authorized key. Privileged accounts are
         # root and users in the wheel group.
-        assertion = !cfg.mutableUsers ->
-          any id ((mapAttrsToList (_: cfg:
-            (cfg.name == "root"
+        # The check does not apply when users.disableLoginPossibilityAssertion
+        # The check does not apply when users.mutableUsers
+        assertion = !cfg.mutableUsers -> !cfg.allowNoPasswordLogin ->
+          any id (mapAttrsToList (name: cfg:
+            (name == "root"
              || cfg.group == "wheel"
              || elem "wheel" cfg.extraGroups)
             &&
@@ -614,12 +635,16 @@ in {
              || cfg.passwordFile != null
              || cfg.openssh.authorizedKeys.keys != []
              || cfg.openssh.authorizedKeys.keyFiles != [])
-          ) cfg.users) ++ [
+          ) cfg.users ++ [
             config.security.googleOsLogin.enable
           ]);
         message = ''
           Neither the root account nor any wheel user has a password or SSH authorized key.
-          You must set one to prevent being locked out of your system.'';
+          You must set one to prevent being locked out of your system.
+          If you really want to be locked out of your system, set users.allowNoPasswordLogin = true;
+          However you are most probably better off by setting users.mutableUsers = true; and
+          manually running passwd root to set the root password.
+          '';
       }
     ] ++ flatten (flip mapAttrsToList cfg.users (name: user:
       [
diff --git a/nixpkgs/nixos/modules/config/xdg/portal.nix b/nixpkgs/nixos/modules/config/xdg/portal.nix
index 80ec3126ca54..088f2af59e22 100644
--- a/nixpkgs/nixos/modules/config/xdg/portal.nix
+++ b/nixpkgs/nixos/modules/config/xdg/portal.nix
@@ -1,4 +1,4 @@
-{ config, pkgs ,lib ,... }:
+{ config, pkgs, lib, ... }:
 
 with lib;
 
@@ -13,13 +13,13 @@ with lib;
 
   options.xdg.portal = {
     enable =
-      mkEnableOption "<link xlink:href='https://github.com/flatpak/xdg-desktop-portal'>xdg desktop integration</link>"//{
+      mkEnableOption "<link xlink:href='https://github.com/flatpak/xdg-desktop-portal'>xdg desktop integration</link>" // {
         default = false;
       };
 
     extraPortals = mkOption {
       type = types.listOf types.package;
-      default = [];
+      default = [ ];
       description = ''
         List of additional portals to add to path. Portals allow interaction
         with system, like choosing files or taking screenshots. At minimum,
@@ -46,25 +46,36 @@ with lib;
     let
       cfg = config.xdg.portal;
       packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
-      joinedPortals = pkgs.symlinkJoin {
+      joinedPortals = pkgs.buildEnv {
         name = "xdg-portals";
-        paths = cfg.extraPortals;
+        paths = packages;
+        pathsToLink = [ "/share/xdg-desktop-portal/portals" "/share/applications" ];
       };
 
-    in mkIf cfg.enable {
+    in
+    mkIf cfg.enable {
 
       assertions = [
-        { assertion = (cfg.gtkUsePortal -> cfg.extraPortals != []);
-          message = "Setting xdg.portal.gtkUsePortal to true requires a portal implementation in xdg.portal.extraPortals such as xdg-desktop-portal-gtk or xdg-desktop-portal-kde.";
+        {
+          assertion = cfg.extraPortals != [ ];
+          message = "Setting xdg.portal.enable to true requires a portal implementation in xdg.portal.extraPortals such as xdg-desktop-portal-gtk or xdg-desktop-portal-kde.";
         }
       ];
 
-      services.dbus.packages  = packages;
+      services.dbus.packages = packages;
       systemd.packages = packages;
 
-      environment.sessionVariables = {
-        GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
-        XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals";
+      environment = {
+        # fixes screen sharing on plasmawayland on non-chromium apps by linking
+        # share/applications/*.desktop files
+        # see https://github.com/NixOS/nixpkgs/issues/145174
+        systemPackages = [ joinedPortals ];
+        pathsToLink = [ "/share/applications" ];
+
+        sessionVariables = {
+          GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
+          XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals";
+        };
       };
     };
 }
diff --git a/nixpkgs/nixos/modules/hardware/all-firmware.nix b/nixpkgs/nixos/modules/hardware/all-firmware.nix
index ce87f9e8be8a..99bdb11b0112 100644
--- a/nixpkgs/nixos/modules/hardware/all-firmware.nix
+++ b/nixpkgs/nixos/modules/hardware/all-firmware.nix
@@ -31,7 +31,6 @@ in {
       type = types.bool;
       description = ''
         Turn on this option if you want to enable all the firmware with a license allowing redistribution.
-        (i.e. free firmware and <literal>firmware-linux-nonfree</literal>)
       '';
     };
 
@@ -51,14 +50,13 @@ in {
   config = mkMerge [
     (mkIf (cfg.enableAllFirmware || cfg.enableRedistributableFirmware) {
       hardware.firmware = with pkgs; [
-        firmwareLinuxNonfree
+        linux-firmware
         intel2200BGFirmware
         rtl8192su-firmware
         rt5677-firmware
         rtl8723bs-firmware
         rtl8761b-firmware
         rtw88-firmware
-        rtw89-firmware
         zd1211fw
         alsa-firmware
         sof-firmware
@@ -66,6 +64,8 @@ in {
       ] ++ optional (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) raspberrypiWirelessFirmware
         ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
         rtl8723bs-firmware
+      ] ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "5.16") [
+        rtw89-firmware
       ];
       hardware.wirelessRegulatoryDatabase = true;
     })
diff --git a/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix b/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix
index 046479400587..1355ee753f0d 100644
--- a/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix
+++ b/nixpkgs/nixos/modules/hardware/cpu/intel-sgx.nix
@@ -1,10 +1,24 @@
 { config, lib, ... }:
 with lib;
 let
-  cfg = config.hardware.cpu.intel.sgx.provision;
-  defaultGroup = "sgx_prv";
+  cfg = config.hardware.cpu.intel.sgx;
+  defaultPrvGroup = "sgx_prv";
 in
 {
+  options.hardware.cpu.intel.sgx.enableDcapCompat = mkOption {
+    description = ''
+      Whether to enable backward compatibility for SGX software build for the
+      out-of-tree Intel SGX DCAP driver.
+
+      Creates symbolic links for the SGX devices <literal>/dev/sgx_enclave</literal>
+      and <literal>/dev/sgx_provision</literal> to make them available as
+      <literal>/dev/sgx/enclave</literal>  and <literal>/dev/sgx/provision</literal>,
+      respectively.
+    '';
+    type = types.bool;
+    default = true;
+  };
+
   options.hardware.cpu.intel.sgx.provision = {
     enable = mkEnableOption "access to the Intel SGX provisioning device";
     user = mkOption {
@@ -15,7 +29,7 @@ in
     group = mkOption {
       description = "Group to assign to the SGX provisioning device.";
       type = types.str;
-      default = defaultGroup;
+      default = defaultPrvGroup;
     };
     mode = mkOption {
       description = "Mode to set for the SGX provisioning device.";
@@ -24,24 +38,32 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
-    assertions = [
-      {
-        assertion = hasAttr cfg.user config.users.users;
-        message = "Given user does not exist";
-      }
-      {
-        assertion = (cfg.group == defaultGroup) || (hasAttr cfg.group config.users.groups);
-        message = "Given group does not exist";
-      }
-    ];
+  config = mkMerge [
+    (mkIf cfg.provision.enable {
+      assertions = [
+        {
+          assertion = hasAttr cfg.provision.user config.users.users;
+          message = "Given user does not exist";
+        }
+        {
+          assertion = (cfg.provision.group == defaultPrvGroup) || (hasAttr cfg.provision.group config.users.groups);
+          message = "Given group does not exist";
+        }
+      ];
 
-    users.groups = optionalAttrs (cfg.group == defaultGroup) {
-      "${cfg.group}" = { };
-    };
+      users.groups = optionalAttrs (cfg.provision.group == defaultPrvGroup) {
+        "${cfg.provision.group}" = { };
+      };
 
-    services.udev.extraRules = ''
-      SUBSYSTEM=="misc", KERNEL=="sgx_provision", OWNER="${cfg.user}", GROUP="${cfg.group}", MODE="${cfg.mode}"
-    '';
-  };
+      services.udev.extraRules = with cfg.provision; ''
+        SUBSYSTEM=="misc", KERNEL=="sgx_provision", OWNER="${user}", GROUP="${group}", MODE="${mode}"
+      '';
+    })
+    (mkIf cfg.enableDcapCompat {
+      services.udev.extraRules = ''
+        SUBSYSTEM=="misc", KERNEL=="sgx_enclave",   SYMLINK+="sgx/enclave"
+        SUBSYSTEM=="misc", KERNEL=="sgx_provision", SYMLINK+="sgx/provision"
+      '';
+    })
+  ];
 }
diff --git a/nixpkgs/nixos/modules/hardware/hackrf.nix b/nixpkgs/nixos/modules/hardware/hackrf.nix
new file mode 100644
index 000000000000..7f03b765bbda
--- /dev/null
+++ b/nixpkgs/nixos/modules/hardware/hackrf.nix
@@ -0,0 +1,23 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.hardware.hackrf;
+
+in
+{
+  options.hardware.hackrf = {
+    enable = lib.mkOption {
+      type = lib.types.bool;
+      default = false;
+      description = ''
+        Enables hackrf udev rules and ensures 'plugdev' group exists.
+        This is a prerequisite to using HackRF devices without being root, since HackRF USB descriptors will be owned by plugdev through udev.
+      '';
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.udev.packages = [ pkgs.hackrf ];
+    users.groups.plugdev = { };
+  };
+}
diff --git a/nixpkgs/nixos/modules/hardware/network/b43.nix b/nixpkgs/nixos/modules/hardware/network/b43.nix
index e63f2d04d1a6..eb03bf223ccf 100644
--- a/nixpkgs/nixos/modules/hardware/network/b43.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev b/nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev
index 61e3ee4e8828..9c8873aafc9e 100644
--- a/nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev
+++ b/nixpkgs/nixos/modules/hardware/onlykey/onlykey.udev
@@ -14,5 +14,5 @@ KERNEL=="ttyACM*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", MODE:="066
 #
 ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
 ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP+="plugdev"
-KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP+="plugdev"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", GROUP="plugdev"
+KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", GROUP="plugdev"
diff --git a/nixpkgs/nixos/modules/hardware/rtl-sdr.nix b/nixpkgs/nixos/modules/hardware/rtl-sdr.nix
index 9605c7967f61..e85fc04e29bb 100644
--- a/nixpkgs/nixos/modules/hardware/rtl-sdr.nix
+++ b/nixpkgs/nixos/modules/hardware/rtl-sdr.nix
@@ -5,10 +5,14 @@ let
 
 in {
   options.hardware.rtl-sdr = {
-    enable = lib.mkEnableOption ''
-      Enables rtl-sdr udev rules, ensures 'plugdev' group exists, and blacklists DVB kernel modules.
-      This is a prerequisite to using devices supported by rtl-sdr without being root, since rtl-sdr USB descriptors will be owned by plugdev through udev.
-    '';
+    enable = lib.mkOption {
+      type = lib.types.bool;
+      default = false;
+      description = ''
+        Enables rtl-sdr udev rules, ensures 'plugdev' group exists, and blacklists DVB kernel modules.
+        This is a prerequisite to using devices supported by rtl-sdr without being root, since rtl-sdr USB descriptors will be owned by plugdev through udev.
+       '';
+    };
   };
 
   config = lib.mkIf cfg.enable {
diff --git a/nixpkgs/nixos/modules/hardware/video/amdgpu-pro.nix b/nixpkgs/nixos/modules/hardware/video/amdgpu-pro.nix
index ec1c8c2d57a1..d784befc9b88 100644
--- a/nixpkgs/nixos/modules/hardware/video/amdgpu-pro.nix
+++ b/nixpkgs/nixos/modules/hardware/video/amdgpu-pro.nix
@@ -11,23 +11,17 @@ let
   enabled = elem "amdgpu-pro" drivers;
 
   package = config.boot.kernelPackages.amdgpu-pro;
-  package32 = pkgs.pkgsi686Linux.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; };
+  package32 = pkgs.pkgsi686Linux.linuxPackages.amdgpu-pro.override { kernel = null; };
 
   opengl = config.hardware.opengl;
 
-  kernel = pkgs.linux_4_9.override {
-    extraConfig = ''
-      KALLSYMS_ALL y
-    '';
-  };
-
 in
 
 {
 
   config = mkIf enabled {
 
-    nixpkgs.config.xorg.abiCompat = "1.19";
+    nixpkgs.config.xorg.abiCompat = "1.20";
 
     services.xserver.drivers = singleton
       { name = "amdgpu"; modules = [ package ]; display = true; };
@@ -36,31 +30,39 @@ in
     hardware.opengl.package32 = package32;
     hardware.opengl.setLdLibraryPath = true;
 
-    boot.extraModulePackages = [ package ];
-
-    boot.kernelPackages =
-      pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor kernel);
+    boot.extraModulePackages = [ package.kmod ];
 
-    boot.blacklistedKernelModules = [ "radeon" ];
+    boot.kernelPackages = pkgs.linuxKernel.packagesFor
+      (pkgs.linuxKernel.kernels.linux_5_10.override {
+        structuredExtraConfig = {
+          DEVICE_PRIVATE = kernel.yes;
+          KALLSYMS_ALL = kernel.yes;
+        };
+      });
 
-    hardware.firmware = [ package ];
+    hardware.firmware = [ package.fw ];
 
     system.activationScripts.setup-amdgpu-pro = ''
-      mkdir -p /run/lib
-      ln -sfn ${package}/lib ${package.libCompatDir}
-      ln -sfn ${package} /run/amdgpu-pro
-    '' + optionalString opengl.driSupport32Bit ''
-      ln -sfn ${package32}/lib ${package32.libCompatDir}
+      ln -sfn ${package}/opt/amdgpu{,-pro} /run
     '';
 
     system.requiredKernelConfig = with config.lib.kernelConfig; [
+      (isYes "DEVICE_PRIVATE")
       (isYes "KALLSYMS_ALL")
     ];
 
+    boot.initrd.extraUdevRulesCommands = ''
+      cp -v ${package}/etc/udev/rules.d/*.rules $out/
+    '';
+
+    environment.systemPackages =
+      [ package.vulkan ] ++
+      # this isn't really DRI, but we'll reuse this option for now
+      optional config.hardware.opengl.driSupport32Bit package32.vulkan;
+
     environment.etc = {
-      "amd/amdrc".source = package + "/etc/amd/amdrc";
-      "amd/amdapfxx.blb".source = package + "/etc/amd/amdapfxx.blb";
-      "gbm/gbm.conf".source = package + "/etc/gbm/gbm.conf";
+      "modprobe.d/blacklist-radeon.conf".source = package + "/etc/modprobe.d/blacklist-radeon.conf";
+      amd.source = package + "/etc/amd";
     };
 
   };
diff --git a/nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix b/nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix
index 61bab533edaf..76cb4c6ee9bf 100644
--- a/nixpkgs/nixos/modules/hardware/video/capture/mwprocapture.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/hardware/video/nvidia.nix b/nixpkgs/nixos/modules/hardware/video/nvidia.nix
index ff4225dc29ad..c0ba60e49a73 100644
--- a/nixpkgs/nixos/modules/hardware/video/nvidia.nix
+++ b/nixpkgs/nixos/modules/hardware/video/nvidia.nix
@@ -179,11 +179,6 @@ in
   in mkIf enabled {
     assertions = [
       {
-        assertion = with config.services.xserver.displayManager; (gdm.enable && gdm.nvidiaWayland) -> cfg.modesetting.enable;
-        message = "You cannot use wayland with GDM without modesetting enabled for NVIDIA drivers, set `hardware.nvidia.modesetting.enable = true`";
-      }
-
-      {
         assertion = primeEnabled -> pCfg.intelBusId == "" || pCfg.amdgpuBusId == "";
         message = ''
           You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor.
diff --git a/nixpkgs/nixos/modules/i18n/input-method/fcitx.nix b/nixpkgs/nixos/modules/i18n/input-method/fcitx.nix
index 57960cc365b6..7738581b893a 100644
--- a/nixpkgs/nixos/modules/i18n/input-method/fcitx.nix
+++ b/nixpkgs/nixos/modules/i18n/input-method/fcitx.nix
@@ -40,4 +40,7 @@ in
     };
     services.xserver.displayManager.sessionCommands = "${fcitxPackage}/bin/fcitx";
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/i18n/input-method/ibus.nix b/nixpkgs/nixos/modules/i18n/input-method/ibus.nix
index 92f8c64338a4..c5b0cbc21502 100644
--- a/nixpkgs/nixos/modules/i18n/input-method/ibus.nix
+++ b/nixpkgs/nixos/modules/i18n/input-method/ibus.nix
@@ -80,4 +80,7 @@ in
       ibusPackage
     ];
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/i18n/input-method/kime.nix b/nixpkgs/nixos/modules/i18n/input-method/kime.nix
index e462cae2437b..729a665614ae 100644
--- a/nixpkgs/nixos/modules/i18n/input-method/kime.nix
+++ b/nixpkgs/nixos/modules/i18n/input-method/kime.nix
@@ -45,5 +45,7 @@ in
 
     environment.etc."xdg/kime/config.yaml".text = replaceStrings [ "\\\\" ] [ "\\" ] (builtins.toJSON cfg.config);
   };
-}
 
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
+}
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
index 12ad8a4ae004..303493741f3d 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix b/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
index 30610b4f4260..3ff1b3d670e9 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -734,13 +734,13 @@ in
         { source = config.system.build.squashfsStore;
           target = "/nix-store.squashfs";
         }
-        { source = config.isoImage.splashImage;
-          target = "/isolinux/background.png";
-        }
         { source = pkgs.writeText "version" config.system.nixos.label;
           target = "/version.txt";
         }
       ] ++ optionals canx86BiosBoot [
+        { source = config.isoImage.splashImage;
+          target = "/isolinux/background.png";
+        }
         { source = pkgs.substituteAll  {
             name = "isolinux.cfg";
             src = pkgs.writeText "isolinux.cfg-in" isolinuxCfg;
@@ -761,6 +761,9 @@ in
         { source = (pkgs.writeTextDir "grub/loopback.cfg" "source /EFI/boot/grub.cfg") + "/grub";
           target = "/boot/grub";
         }
+        { source = config.isoImage.efiSplashImage;
+          target = "/EFI/boot/efi-background.png";
+        }
       ] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [
         { source = "${pkgs.memtest86plus}/memtest.bin";
           target = "/boot/memtest.bin";
@@ -769,10 +772,6 @@ in
         { source = config.isoImage.grubTheme;
           target = "/EFI/boot/grub-theme";
         }
-      ] ++ [
-        { source = config.isoImage.efiSplashImage;
-          target = "/EFI/boot/efi-background.png";
-        }
       ];
 
     boot.loader.timeout = 10;
diff --git a/nixpkgs/nixos/modules/installer/netboot/netboot.nix b/nixpkgs/nixos/modules/installer/netboot/netboot.nix
index 145f71b5d0c7..a459e7304cd4 100644
--- a/nixpkgs/nixos/modules/installer/netboot/netboot.nix
+++ b/nixpkgs/nixos/modules/installer/netboot/netboot.nix
@@ -94,7 +94,9 @@ with lib;
 
     system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.ipxe" ''
       #!ipxe
-      kernel ${pkgs.stdenv.hostPlatform.linux-kernel.target} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams}
+      # Use the cmdline variable to allow the user to specify custom kernel params
+      # when chainloading this script from other iPXE scripts like netboot.xyz
+      kernel ${pkgs.stdenv.hostPlatform.linux-kernel.target} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} ''${cmdline}
       initrd initrd
       boot
     '';
diff --git a/nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu-installer.nix b/nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu-installer.nix
new file mode 100644
index 000000000000..90c1b8413adc
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu-installer.nix
@@ -0,0 +1,10 @@
+{
+  imports = [
+    ../../profiles/installation-device.nix
+    ./sd-image-riscv64-qemu.nix
+  ];
+
+  # the installation media is also the installation target,
+  # so we don't want to provide the installation configuration.nix.
+  installer.cloneConfig = false;
+}
diff --git a/nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix b/nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix
new file mode 100644
index 000000000000..a3e30768da45
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix
@@ -0,0 +1,32 @@
+# To build, use:
+# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix -A config.system.build.sdImage
+{ config, lib, pkgs, ... }:
+
+{
+  imports = [
+    ../../profiles/base.nix
+    ./sd-image.nix
+  ];
+
+  boot.loader = {
+    grub.enable = false;
+    generic-extlinux-compatible = {
+      enable = true;
+
+      # Don't even specify FDTDIR - We do not have the correct DT
+      # The DTB is generated by QEMU at runtime
+      useGenerationDeviceTree = false;
+    };
+  };
+
+  boot.consoleLogLevel = lib.mkDefault 7;
+  boot.kernelParams = [ "console=tty0" "console=ttyS0,115200n8" ];
+
+  sdImage = {
+    populateFirmwareCommands = "";
+    populateRootCommands = ''
+      mkdir -p ./files/boot
+      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
+    '';
+  };
+}
diff --git a/nixpkgs/nixos/modules/installer/sd-card/sd-image-x86_64.nix b/nixpkgs/nixos/modules/installer/sd-card/sd-image-x86_64.nix
new file mode 100644
index 000000000000..b44c0a4eeca5
--- /dev/null
+++ b/nixpkgs/nixos/modules/installer/sd-card/sd-image-x86_64.nix
@@ -0,0 +1,27 @@
+# To build, use:
+# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-x86_64.nix -A config.system.build.sdImage
+
+# This image is primarily used in NixOS tests (boot.nix) to test `boot.loader.generic-extlinux-compatible`.
+{ config, lib, pkgs, ... }:
+
+{
+  imports = [
+    ../../profiles/base.nix
+    ./sd-image.nix
+  ];
+
+  boot.loader = {
+    grub.enable = false;
+    generic-extlinux-compatible.enable = true;
+  };
+
+  boot.consoleLogLevel = lib.mkDefault 7;
+
+  sdImage = {
+    populateFirmwareCommands = "";
+    populateRootCommands = ''
+      mkdir -p ./files/boot
+      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
+    '';
+  };
+}
diff --git a/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix b/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix
index a964cf2d6f85..7560c682517a 100644
--- a/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix
+++ b/nixpkgs/nixos/modules/installer/sd-card/sd-image.nix
@@ -176,7 +176,7 @@ in
 
       nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime util-linux zstd ];
 
-      inherit (config.sdImage) compressImage;
+      inherit (config.sdImage) imageName compressImage;
 
       buildCommand = ''
         mkdir -p $out/nix-support $out/sd-image
diff --git a/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
index 065cea470fbb..31aeaad80d60 100644
--- a/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,7 +1,7 @@
 {
-  x86_64-linux = "/nix/store/hapw7q1fkjxvprnkcgw9ppczavg4daj2-nix-2.4";
-  i686-linux = "/nix/store/8qlvh8pp5j8wgrzj3is2jlbhgrwgsiy9-nix-2.4";
-  aarch64-linux = "/nix/store/h48lkygcqj4hdibbdnpl67q7ks6vkrd6-nix-2.4";
-  x86_64-darwin = "/nix/store/c3mvzszvyzakvcp9spnjvsb8m2bpjk7m-nix-2.4";
-  aarch64-darwin = "/nix/store/hbfqs62r0hga2yr4zi5kc7fzhf71bq9n-nix-2.4";
+  x86_64-linux = "/nix/store/67amfijcvhqfgz4bwf2izsvbnklwjbvk-nix-2.6.0";
+  i686-linux = "/nix/store/kinl99f619b2xsma4qnzhidbp65axyzm-nix-2.6.0";
+  aarch64-linux = "/nix/store/8zpm63nn7k4n1alp9a0fcilpgc8j014z-nix-2.6.0";
+  x86_64-darwin = "/nix/store/hw5v03wnc0k1pwgiyhblwlxb1fx5zyx8-nix-2.6.0";
+  aarch64-darwin = "/nix/store/669p1vjnzi56fib98qczwlaglcwcnip4-nix-2.6.0";
 }
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix b/nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix
index 8aedce2fb49c..b4a94f62ad93 100644
--- a/nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/installer/tools/nixos-enter.sh b/nixpkgs/nixos/modules/installer/tools/nixos-enter.sh
index 6469d9faa038..115b3d7a7c5e 100644
--- a/nixpkgs/nixos/modules/installer/tools/nixos-enter.sh
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-enter.sh
@@ -104,4 +104,6 @@ chroot_add_resolv_conf "$mountPoint" || print "ERROR: failed to set up resolv.co
     chroot "$mountPoint" systemd-tmpfiles --create --remove --exclude-prefix=/dev 1>&2 || true
 )
 
+unset TMPDIR
+
 exec chroot "$mountPoint" "${command[@]}"
diff --git a/nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl b/nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl
index fe8c4fb1a6b5..57aef50a0f6b 100644
--- a/nixpkgs/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixpkgs/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/nixpkgs/nixos/modules/installer/tools/nixos-install.sh b/nixpkgs/nixos/modules/installer/tools/nixos-install.sh
index fc4a69aa17d3..e7cf52f5e32b 100644
--- a/nixpkgs/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixpkgs/nixos/modules/installer/tools/nixos-install.sh
@@ -143,6 +143,23 @@ export TMPDIR=${TMPDIR:-$tmpdir}
 
 sub="auto?trusted=1"
 
+# Copy the NixOS/Nixpkgs sources to the target as the initial contents
+# of the NixOS channel.
+if [[ -z $noChannelCopy ]]; then
+    if [[ -z $channelPath ]]; then
+        channelPath="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")"
+    fi
+    if [[ -n $channelPath ]]; then
+        echo "copying channel..."
+        mkdir -p "$mountPoint"/nix/var/nix/profiles/per-user/root
+        nix-env --store "$mountPoint" "${extraBuildFlags[@]}" --extra-substituters "$sub" \
+                -p "$mountPoint"/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet \
+                "${verbosity[@]}"
+        install -m 0700 -d "$mountPoint"/root/.nix-defexpr
+        ln -sfn /nix/var/nix/profiles/per-user/root/channels "$mountPoint"/root/.nix-defexpr/channels
+    fi
+fi
+
 # Build the system configuration in the target filesystem.
 if [[ -z $system ]]; then
     outLink="$tmpdir/system"
@@ -167,23 +184,6 @@ nix-env --store "$mountPoint" "${extraBuildFlags[@]}" \
         --extra-substituters "$sub" \
         -p "$mountPoint"/nix/var/nix/profiles/system --set "$system" "${verbosity[@]}"
 
-# Copy the NixOS/Nixpkgs sources to the target as the initial contents
-# of the NixOS channel.
-if [[ -z $noChannelCopy ]]; then
-    if [[ -z $channelPath ]]; then
-        channelPath="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")"
-    fi
-    if [[ -n $channelPath ]]; then
-        echo "copying channel..."
-        mkdir -p "$mountPoint"/nix/var/nix/profiles/per-user/root
-        nix-env --store "$mountPoint" "${extraBuildFlags[@]}" --extra-substituters "$sub" \
-                -p "$mountPoint"/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet \
-                "${verbosity[@]}"
-        install -m 0700 -d "$mountPoint"/root/.nix-defexpr
-        ln -sfn /nix/var/nix/profiles/per-user/root/channels "$mountPoint"/root/.nix-defexpr/channels
-    fi
-fi
-
 # Mark the target as a NixOS installation, otherwise switch-to-configuration will chicken out.
 mkdir -m 0755 -p "$mountPoint/etc"
 touch "$mountPoint/etc/NIXOS"
diff --git a/nixpkgs/nixos/modules/installer/tools/tools.nix b/nixpkgs/nixos/modules/installer/tools/tools.nix
index 2f3b0cdd48f2..71aaf7f253d9 100644
--- a/nixpkgs/nixos/modules/installer/tools/tools.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/installer/virtualbox-demo.nix b/nixpkgs/nixos/modules/installer/virtualbox-demo.nix
index 2768e17590b3..27a7651382b2 100644
--- a/nixpkgs/nixos/modules/installer/virtualbox-demo.nix
+++ b/nixpkgs/nixos/modules/installer/virtualbox-demo.nix
@@ -25,7 +25,7 @@ with lib;
 
   installer.cloneConfigExtra = ''
   # Let demo build as a trusted user.
-  # nix.trustedUsers = [ "demo" ];
+  # nix.settings.trusted-users = [ "demo" ];
 
   # Mount a VirtualBox shared folder.
   # This is configurable in the VirtualBox menu at
diff --git a/nixpkgs/nixos/modules/misc/documentation.nix b/nixpkgs/nixos/modules/misc/documentation.nix
index 1c65c09329e6..550279ae72dc 100644
--- a/nixpkgs/nixos/modules/misc/documentation.nix
+++ b/nixpkgs/nixos/modules/misc/documentation.nix
@@ -1,19 +1,35 @@
-{ config, lib, pkgs, extendModules, noUserModules, ... }:
+{ config, options, lib, pkgs, utils, modules, baseModules, extraModules, modulesPath, ... }:
 
 with lib;
 
 let
 
   cfg = config.documentation;
+  allOpts = options;
 
   /* Modules for which to show options even when not imported. */
   extraDocModules = [ ../virtualisation/qemu-vm.nix ];
 
-  /* For the purpose of generating docs, evaluate options with each derivation
-    in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
-    It isn't perfect, but it seems to cover a vast majority of use cases.
-    Caveat: even if the package is reached by a different means,
-    the path above will be shown and not e.g. `${config.services.foo.package}`. */
+  canCacheDocs = m:
+    let
+      f = import m;
+      instance = f (mapAttrs (n: _: abort "evaluating ${n} for `meta` failed") (functionArgs f));
+    in
+      cfg.nixos.options.splitBuild
+        && builtins.isPath m
+        && isFunction f
+        && instance ? options
+        && instance.meta.buildDocsInSandbox or true;
+
+  docModules =
+    let
+      p = partition canCacheDocs (baseModules ++ extraDocModules);
+    in
+      {
+        lazy = p.right;
+        eager = p.wrong ++ optionals cfg.nixos.includeAllModules (extraModules ++ modules);
+      };
+
   manual = import ../../doc/manual rec {
     inherit pkgs config;
     version = config.system.nixos.release;
@@ -21,10 +37,17 @@ let
     extraSources = cfg.nixos.extraModuleSources;
     options =
       let
-        extendNixOS = if cfg.nixos.includeAllModules then extendModules else noUserModules.extendModules;
-        scrubbedEval = extendNixOS {
-          modules = extraDocModules;
-          specialArgs.pkgs = scrubDerivations "pkgs" pkgs;
+        scrubbedEval = evalModules {
+          modules = [ {
+            _module.check = false;
+          } ] ++ docModules.eager;
+          specialArgs = {
+            pkgs = scrubDerivations "pkgs" pkgs;
+            # allow access to arbitrary options for eager modules, eg for getting
+            # option types from lazy modules
+            options = allOpts;
+            inherit modulesPath utils;
+          };
         };
         scrubDerivations = namePrefix: pkgSet: mapAttrs
           (name: value:
@@ -36,6 +59,49 @@ let
           )
           pkgSet;
       in scrubbedEval.options;
+    baseOptionsJSON =
+      let
+        filter =
+          builtins.filterSource
+            (n: t:
+              (t == "directory" -> baseNameOf n != "tests")
+              && (t == "file" -> hasSuffix ".nix" n)
+            );
+      in
+        pkgs.runCommand "lazy-options.json" {
+          libPath = filter "${toString pkgs.path}/lib";
+          pkgsLibPath = filter "${toString pkgs.path}/pkgs/pkgs-lib";
+          nixosPath = filter "${toString pkgs.path}/nixos";
+          modules = map (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy;
+        } ''
+          export NIX_STORE_DIR=$TMPDIR/store
+          export NIX_STATE_DIR=$TMPDIR/state
+          ${pkgs.buildPackages.nix}/bin/nix-instantiate \
+            --show-trace \
+            --eval --json --strict \
+            --argstr libPath "$libPath" \
+            --argstr pkgsLibPath "$pkgsLibPath" \
+            --argstr nixosPath "$nixosPath" \
+            --arg modules "[ $modules ]" \
+            --argstr stateVersion "${options.system.stateVersion.default}" \
+            --argstr release "${config.system.nixos.release}" \
+            $nixosPath/lib/eval-cacheable-options.nix > $out \
+            || {
+              echo -en "\e[1;31m"
+              echo 'Cacheable portion of option doc build failed.'
+              echo 'Usually this means that an option attribute that ends up in documentation (eg' \
+                '`default` or `description`) depends on the restricted module arguments' \
+                '`config` or `pkgs`.'
+              echo
+              echo 'Rebuild your configuration with `--show-trace` to find the offending' \
+                'location. Remove the references to restricted arguments (eg by escaping' \
+                'their antiquotations or adding a `defaultText`) or disable the sandboxed' \
+                'build for the failing module by setting `meta.buildDocsInSandbox = false`.'
+              echo -en "\e[0m"
+              exit 1
+            } >&2
+        '';
+    inherit (cfg.nixos.options) warningsAreErrors;
   };
 
 
@@ -187,6 +253,25 @@ in
         '';
       };
 
+      nixos.options.splitBuild = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to split the option docs build into a cacheable and an uncacheable part.
+          Splitting the build can substantially decrease the amount of time needed to build
+          the manual, but some user modules may be incompatible with this splitting.
+        '';
+      };
+
+      nixos.options.warningsAreErrors = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Treat warning emitted during the option documentation build (eg for missing option
+          descriptions) as errors.
+        '';
+      };
+
       nixos.includeAllModules = mkOption {
         type = types.bool;
         default = false;
diff --git a/nixpkgs/nixos/modules/misc/ids.nix b/nixpkgs/nixos/modules/misc/ids.nix
index 69feaad1965c..6ede7fbe4bd5 100644
--- a/nixpkgs/nixos/modules/misc/ids.nix
+++ b/nixpkgs/nixos/modules/misc/ids.nix
@@ -182,7 +182,7 @@ in
       yandexdisk = 143;
       mxisd = 144; # was once collectd
       #consul = 145;# dynamically allocated as of 2021-09-03
-      mailpile = 146;
+      #mailpile = 146; # removed 2022-01-12
       redmine = 147;
       #seeks = 148; # removed 2020-06-21
       prosody = 149;
@@ -352,6 +352,8 @@ in
       moonraker = 320;
       distcc = 321;
       webdav = 322;
+      pipewire = 323;
+      rstudio-server = 324;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -501,7 +503,7 @@ in
       #yandexdisk = 143; # unused
       mxisd = 144; # was once collectd
       #consul = 145; # unused
-      mailpile = 146;
+      #mailpile = 146; # removed 2022-01-12
       redmine = 147;
       #seeks = 148; # removed 2020-06-21
       prosody = 149;
@@ -658,6 +660,8 @@ in
       moonraker = 320;
       distcc = 321;
       webdav = 322;
+      pipewire = 323;
+      rstudio-server = 324;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixpkgs/nixos/modules/misc/locate.nix b/nixpkgs/nixos/modules/misc/locate.nix
index 5fd82aa963bf..66a49b0b888f 100644
--- a/nixpkgs/nixos/modules/misc/locate.nix
+++ b/nixpkgs/nixos/modules/misc/locate.nix
@@ -5,11 +5,14 @@ with lib;
 let
   cfg = config.services.locate;
   isMLocate = hasPrefix "mlocate" cfg.locate.name;
+  isPLocate = hasPrefix "plocate" cfg.locate.name;
+  isMorPLocate = (isMLocate || isPLocate);
   isFindutils = hasPrefix "findutils" cfg.locate.name;
-in {
+in
+{
   imports = [
     (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
-    (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
+    (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths")
   ];
 
   options.services.locate = with types; {
@@ -163,7 +166,16 @@ in {
 
     prunePaths = mkOption {
       type = listOf path;
-      default = [ "/tmp" "/var/tmp" "/var/cache" "/var/lock" "/var/run" "/var/spool" "/nix/store" "/nix/var/log/nix" ];
+      default = [
+        "/tmp"
+        "/var/tmp"
+        "/var/cache"
+        "/var/lock"
+        "/var/run"
+        "/var/spool"
+        "/nix/store"
+        "/nix/var/log/nix"
+      ];
       description = ''
         Which paths to exclude from indexing
       '';
@@ -188,26 +200,38 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.groups = mkIf isMLocate { mlocate = {}; };
+    users.groups = mkMerge [
+      (mkIf isMLocate { mlocate = { }; })
+      (mkIf isPLocate { plocate = { }; })
+    ];
 
-    security.wrappers = mkIf isMLocate {
-      locate = {
-        group = "mlocate";
-        owner = "root";
-        permissions = "u+rx,g+x,o+x";
-        setgid = true;
-        setuid = false;
-        source = "${cfg.locate}/bin/locate";
+    security.wrappers =
+      let
+        common = {
+          owner = "root";
+          permissions = "u+rx,g+x,o+x";
+          setgid = true;
+          setuid = false;
+        };
+        mlocate = (mkIf isMLocate {
+          group = "mlocate";
+          source = "${cfg.locate}/bin/locate";
+        });
+        plocate = (mkIf isPLocate {
+          group = "plocate";
+          source = "${cfg.locate}/bin/plocate";
+        });
+      in
+      mkIf isMorPLocate {
+        locate = mkMerge [ common mlocate plocate ];
+        plocate = (mkIf isPLocate (mkMerge [ common plocate ]));
       };
-    };
 
     nixpkgs.config = { locate.dbfile = cfg.output; };
 
     environment.systemPackages = [ cfg.locate ];
 
-    environment.variables = mkIf (!isMLocate)
-      { LOCATE_PATH = cfg.output;
-      };
+    environment.variables = mkIf (!isMorPLocate) { LOCATE_PATH = cfg.output; };
 
     environment.etc = {
       # write /etc/updatedb.conf for manual calls to `updatedb`
@@ -221,57 +245,65 @@ in {
       };
     };
 
-    warnings = optional (isMLocate && cfg.localuser != null) "mlocate does not support the services.locate.localuser option; updatedb will run as root. (Silence with services.locate.localuser = null.)"
-            ++ optional (isFindutils && cfg.pruneNames != []) "findutils locate does not support pruning by directory component"
-            ++ optional (isFindutils && cfg.pruneBindMounts) "findutils locate does not support skipping bind mounts";
+    warnings = optional (isMorPLocate && cfg.localuser != null)
+      "mlocate does not support the services.locate.localuser option; updatedb will run as root. (Silence with services.locate.localuser = null.)"
+    ++ optional (isFindutils && cfg.pruneNames != [ ])
+      "findutils locate does not support pruning by directory component"
+    ++ optional (isFindutils && cfg.pruneBindMounts)
+      "findutils locate does not support skipping bind mounts";
 
-    systemd.services.update-locatedb =
-      { description = "Update Locate Database";
-        path = mkIf (!isMLocate) [ pkgs.su ];
+    systemd.services.update-locatedb = {
+      description = "Update Locate Database";
+      path = mkIf (!isMorPLocate) [ pkgs.su ];
 
-        # mlocate's updatedb takes flags via a configuration file or
-        # on the command line, but not by environment variable.
-        script =
-          if isMLocate
-          then let toFlags = x: optional (cfg.${x} != [])
-                                         "--${lib.toLower x} '${concatStringsSep " " cfg.${x}}'";
-                   args = concatLists (map toFlags ["pruneFS" "pruneNames" "prunePaths"]);
-               in ''
+      # mlocate's updatedb takes flags via a configuration file or
+      # on the command line, but not by environment variable.
+      script =
+        if isMorPLocate then
+          let
+            toFlags = x:
+              optional (cfg.${x} != [ ])
+                "--${lib.toLower x} '${concatStringsSep " " cfg.${x}}'";
+            args = concatLists (map toFlags [ "pruneFS" "pruneNames" "prunePaths" ]);
+          in
+          ''
             exec ${cfg.locate}/bin/updatedb \
               --output ${toString cfg.output} ${concatStringsSep " " args} \
               --prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
               ${concatStringsSep " " cfg.extraFlags}
           ''
-          else ''
-            exec ${cfg.locate}/bin/updatedb \
-              ${optionalString (cfg.localuser != null && ! isMLocate) "--localuser=${cfg.localuser}"} \
-              --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
-          '';
-        environment = optionalAttrs (!isMLocate) {
-          PRUNEFS = concatStringsSep " " cfg.pruneFS;
-          PRUNEPATHS = concatStringsSep " " cfg.prunePaths;
-          PRUNENAMES = concatStringsSep " " cfg.pruneNames;
-          PRUNE_BIND_MOUNTS = if cfg.pruneBindMounts then "yes" else "no";
-        };
-        serviceConfig.Nice = 19;
-        serviceConfig.IOSchedulingClass = "idle";
-        serviceConfig.PrivateTmp = "yes";
-        serviceConfig.PrivateNetwork = "yes";
-        serviceConfig.NoNewPrivileges = "yes";
-        serviceConfig.ReadOnlyPaths = "/";
-        # Use dirOf cfg.output because mlocate creates temporary files next to
-        # the actual database. We could specify and create them as well,
-        # but that would make this quite brittle when they change something.
-        # NOTE: If /var/cache does not exist, this leads to the misleading error message:
-        # update-locatedb.service: Failed at step NAMESPACE spawning …/update-locatedb-start: No such file or directory
-        serviceConfig.ReadWritePaths = dirOf cfg.output;
+        else ''
+          exec ${cfg.locate}/bin/updatedb \
+            ${optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \
+            --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
+        '';
+      environment = optionalAttrs (!isMorPLocate) {
+        PRUNEFS = concatStringsSep " " cfg.pruneFS;
+        PRUNEPATHS = concatStringsSep " " cfg.prunePaths;
+        PRUNENAMES = concatStringsSep " " cfg.pruneNames;
+        PRUNE_BIND_MOUNTS = if cfg.pruneBindMounts then "yes" else "no";
       };
+      serviceConfig.Nice = 19;
+      serviceConfig.IOSchedulingClass = "idle";
+      serviceConfig.PrivateTmp = "yes";
+      serviceConfig.PrivateNetwork = "yes";
+      serviceConfig.NoNewPrivileges = "yes";
+      serviceConfig.ReadOnlyPaths = "/";
+      # Use dirOf cfg.output because mlocate creates temporary files next to
+      # the actual database. We could specify and create them as well,
+      # but that would make this quite brittle when they change something.
+      # NOTE: If /var/cache does not exist, this leads to the misleading error message:
+      # update-locatedb.service: Failed at step NAMESPACE spawning …/update-locatedb-start: No such file or directory
+      serviceConfig.ReadWritePaths = dirOf cfg.output;
+    };
 
-    systemd.timers.update-locatedb = mkIf (cfg.interval != "never")
-      { description = "Update timer for locate database";
-        partOf      = [ "update-locatedb.service" ];
-        wantedBy    = [ "timers.target" ];
-        timerConfig.OnCalendar = cfg.interval;
-      };
+    systemd.timers.update-locatedb = mkIf (cfg.interval != "never") {
+      description = "Update timer for locate database";
+      partOf = [ "update-locatedb.service" ];
+      wantedBy = [ "timers.target" ];
+      timerConfig.OnCalendar = cfg.interval;
+    };
   };
+
+  meta.maintainers = with lib.maintainers; [ SuperSandro2000 ];
 }
diff --git a/nixpkgs/nixos/modules/misc/meta.nix b/nixpkgs/nixos/modules/misc/meta.nix
index 3dd97cbec235..8e689a63f6bf 100644
--- a/nixpkgs/nixos/modules/misc/meta.nix
+++ b/nixpkgs/nixos/modules/misc/meta.nix
@@ -54,6 +54,21 @@ in
         '';
       };
 
+      buildDocsInSandbox = mkOption {
+        type = types.bool // {
+          merge = loc: defs: defs;
+        };
+        internal = true;
+        default = true;
+        description = ''
+          Whether to include this module in the split options doc build.
+          Disable if the module references `config`, `pkgs` or other module
+          arguments that cannot be evaluated as constants.
+
+          This option should be defined at most once per module.
+        '';
+      };
+
     };
   };
 
diff --git a/nixpkgs/nixos/modules/misc/nixpkgs.nix b/nixpkgs/nixos/modules/misc/nixpkgs.nix
index 08bc4398555b..69967c8a7601 100644
--- a/nixpkgs/nixos/modules/misc/nixpkgs.nix
+++ b/nixpkgs/nixos/modules/misc/nixpkgs.nix
@@ -64,6 +64,11 @@ let
 in
 
 {
+  imports = [
+    ./assertions.nix
+    ./meta.nix
+  ];
+
   options.nixpkgs = {
 
     pkgs = mkOption {
@@ -248,4 +253,7 @@ in
       )
     ];
   };
+
+  # needs a full nixpkgs path to import nixpkgs
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/misc/nixpkgs/test.nix b/nixpkgs/nixos/modules/misc/nixpkgs/test.nix
new file mode 100644
index 000000000000..ec5fab9fb4a5
--- /dev/null
+++ b/nixpkgs/nixos/modules/misc/nixpkgs/test.nix
@@ -0,0 +1,8 @@
+{ evalMinimalConfig, pkgs, lib, stdenv }:
+lib.recurseIntoAttrs {
+  invokeNixpkgsSimple =
+    (evalMinimalConfig ({ config, modulesPath, ... }: {
+      imports = [ (modulesPath + "/misc/nixpkgs.nix") ];
+      nixpkgs.system = stdenv.hostPlatform.system;
+    }))._module.args.pkgs.hello;
+}
diff --git a/nixpkgs/nixos/modules/misc/version.nix b/nixpkgs/nixos/modules/misc/version.nix
index fc0d65d5148e..6c526f6d4f2d 100644
--- a/nixpkgs/nixos/modules/misc/version.nix
+++ b/nixpkgs/nixos/modules/misc/version.nix
@@ -119,4 +119,6 @@ in
 
   };
 
+  # uses version info nixpkgs, which requires a full nixpkgs path
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix
index 093c7c63a77a..cf5303f81f23 100644
--- a/nixpkgs/nixos/modules/module-list.nix
+++ b/nixpkgs/nixos/modules/module-list.nix
@@ -53,6 +53,7 @@
   ./hardware/flirc.nix
   ./hardware/gpgsmartcards.nix
   ./hardware/i2c.nix
+  ./hardware/hackrf.nix
   ./hardware/sensor/hddtemp.nix
   ./hardware/sensor/iio.nix
   ./hardware/keyboard/teck.nix
@@ -197,11 +198,11 @@
   ./programs/ssmtp.nix
   ./programs/sysdig.nix
   ./programs/systemtap.nix
+  ./programs/starship.nix
   ./programs/steam.nix
   ./programs/sway.nix
   ./programs/system-config-printer.nix
   ./programs/thefuck.nix
-  ./programs/tilp2.nix
   ./programs/tmux.nix
   ./programs/traceroute.nix
   ./programs/tsm-client.nix
@@ -226,7 +227,7 @@
   ./programs/zsh/zsh-autosuggestions.nix
   ./programs/zsh/zsh-syntax-highlighting.nix
   ./rename.nix
-  ./security/acme.nix
+  ./security/acme
   ./security/apparmor.nix
   ./security/audit.nix
   ./security/auditd.nix
@@ -355,7 +356,6 @@
   ./services/desktops/cpupower-gui.nix
   ./services/desktops/dleyna-renderer.nix
   ./services/desktops/dleyna-server.nix
-  ./services/desktops/pantheon/files.nix
   ./services/desktops/espanso.nix
   ./services/desktops/flatpak.nix
   ./services/desktops/geoclue2.nix
@@ -364,6 +364,7 @@
   ./services/desktops/malcontent.nix
   ./services/desktops/pipewire/pipewire.nix
   ./services/desktops/pipewire/pipewire-media-session.nix
+  ./services/desktops/pipewire/wireplumber.nix
   ./services/desktops/gnome/at-spi2-core.nix
   ./services/desktops/gnome/chrome-gnome-shell.nix
   ./services/desktops/gnome/evolution-data-server.nix
@@ -391,11 +392,13 @@
   ./services/development/hoogle.nix
   ./services/development/jupyter/default.nix
   ./services/development/jupyterhub/default.nix
+  ./services/development/rstudio-server/default.nix
   ./services/development/lorri.nix
   ./services/display-managers/greetd.nix
   ./services/editors/emacs.nix
   ./services/editors/infinoted.nix
   ./services/finance/odoo.nix
+  ./services/games/asf.nix
   ./services/games/crossfire-server.nix
   ./services/games/deliantra-server.nix
   ./services/games/factorio.nix
@@ -448,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
@@ -542,9 +546,10 @@
   ./services/misc/gollum.nix
   ./services/misc/gpsd.nix
   ./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
@@ -557,6 +562,7 @@
   ./services/misc/mame.nix
   ./services/misc/matrix-appservice-discord.nix
   ./services/misc/matrix-appservice-irc.nix
+  ./services/misc/matrix-conduit.nix
   ./services/misc/matrix-synapse.nix
   ./services/misc/mautrix-facebook.nix
   ./services/misc/mautrix-telegram.nix
@@ -592,6 +598,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
@@ -679,6 +686,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
@@ -712,6 +720,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
@@ -736,6 +745,7 @@
   ./services/networking/ejabberd.nix
   ./services/networking/epmd.nix
   ./services/networking/ergo.nix
+  ./services/networking/ergochat.nix
   ./services/networking/eternal-terminal.nix
   ./services/networking/fakeroute.nix
   ./services/networking/ferm.nix
@@ -744,6 +754,7 @@
   ./services/networking/flannel.nix
   ./services/networking/freenet.nix
   ./services/networking/freeradius.nix
+  ./services/networking/frr.nix
   ./services/networking/gateone.nix
   ./services/networking/gdomap.nix
   ./services/networking/ghostunnel.nix
@@ -753,10 +764,10 @@
   ./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
+  ./services/networking/headscale.nix
   ./services/networking/hostapd.nix
   ./services/networking/htpdate.nix
   ./services/networking/hylafax/default.nix
@@ -785,7 +796,6 @@
   ./services/networking/lldpd.nix
   ./services/networking/logmein-hamachi.nix
   ./services/networking/lxd-image-server.nix
-  ./services/networking/mailpile.nix
   ./services/networking/magic-wormhole-mailbox-server.nix
   ./services/networking/matterbridge.nix
   ./services/networking/mjpg-streamer.nix
@@ -797,6 +807,7 @@
   ./services/networking/miredo.nix
   ./services/networking/mstpd.nix
   ./services/networking/mtprotoproxy.nix
+  ./services/networking/mtr-exporter.nix
   ./services/networking/mullvad-vpn.nix
   ./services/networking/multipath.nix
   ./services/networking/murmur.nix
@@ -845,7 +856,6 @@
   ./services/networking/quassel.nix
   ./services/networking/quorum.nix
   ./services/networking/quicktun.nix
-  ./services/networking/racoon.nix
   ./services/networking/radicale.nix
   ./services/networking/radvd.nix
   ./services/networking/rdnssd.nix
@@ -889,6 +899,7 @@
   ./services/networking/tcpcrypt.nix
   ./services/networking/teamspeak3.nix
   ./services/networking/tedicross.nix
+  ./services/networking/teleport.nix
   ./services/networking/thelounge.nix
   ./services/networking/tinc.nix
   ./services/networking/tinydns.nix
@@ -907,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
@@ -960,6 +972,7 @@
   ./services/security/vault.nix
   ./services/security/vaultwarden/default.nix
   ./services/security/yubikey-agent.nix
+  ./services/system/cachix-agent/default.nix
   ./services/system/cloud-init.nix
   ./services/system/dbus.nix
   ./services/system/earlyoom.nix
@@ -989,6 +1002,7 @@
   ./services/web-apps/bookstack.nix
   ./services/web-apps/calibre-web.nix
   ./services/web-apps/code-server.nix
+  ./services/web-apps/baget.nix
   ./services/web-apps/convos.nix
   ./services/web-apps/cryptpad.nix
   ./services/web-apps/dex.nix
@@ -996,6 +1010,7 @@
   ./services/web-apps/documize.nix
   ./services/web-apps/dokuwiki.nix
   ./services/web-apps/engelsystem.nix
+  ./services/web-apps/ethercalc.nix
   ./services/web-apps/fluidd.nix
   ./services/web-apps/galene.nix
   ./services/web-apps/gerrit.nix
@@ -1012,6 +1027,7 @@
   ./services/web-apps/keycloak.nix
   ./services/web-apps/lemmy.nix
   ./services/web-apps/invidious.nix
+  ./services/web-apps/invoiceplane.nix
   ./services/web-apps/limesurvey.nix
   ./services/web-apps/mastodon.nix
   ./services/web-apps/mattermost.nix
@@ -1027,6 +1043,7 @@
   ./services/web-apps/plausible.nix
   ./services/web-apps/pgpkeyserver-lite.nix
   ./services/web-apps/powerdns-admin.nix
+  ./services/web-apps/prosody-filer.nix
   ./services/web-apps/matomo.nix
   ./services/web-apps/openwebrx.nix
   ./services/web-apps/restya-board.nix
@@ -1043,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
@@ -1062,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
@@ -1145,12 +1162,13 @@
   ./system/boot/systemd-nspawn.nix
   ./system/boot/timesyncd.nix
   ./system/boot/tmp.nix
-  ./system/etc/etc.nix
+  ./system/etc/etc-activation.nix
   ./tasks/auto-upgrade.nix
   ./tasks/bcache.nix
   ./tasks/cpu-freq.nix
   ./tasks/encrypted-devices.nix
   ./tasks/filesystems.nix
+  ./tasks/filesystems/apfs.nix
   ./tasks/filesystems/bcachefs.nix
   ./tasks/filesystems/btrfs.nix
   ./tasks/filesystems/cifs.nix
@@ -1178,6 +1196,7 @@
   ./tasks/powertop.nix
   ./testing/service-runner.nix
   ./virtualisation/anbox.nix
+  ./virtualisation/build-vm.nix
   ./virtualisation/container-config.nix
   ./virtualisation/containerd.nix
   ./virtualisation/containers.nix
diff --git a/nixpkgs/nixos/modules/profiles/all-hardware.nix b/nixpkgs/nixos/modules/profiles/all-hardware.nix
index 797fcddb8c90..25f68123a1da 100644
--- a/nixpkgs/nixos/modules/profiles/all-hardware.nix
+++ b/nixpkgs/nixos/modules/profiles/all-hardware.nix
@@ -44,12 +44,12 @@ in
       "ohci1394" "sbp2"
 
       # Virtio (QEMU, KVM etc.) support.
-      "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
+      "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
 
       # VMware support.
       "mptspi" "vmxnet3" "vsock"
     ] ++ lib.optional platform.isx86 "vmw_balloon"
-    ++ lib.optionals (!platform.isAarch64 && !platform.isAarch32) [ # not sure where else they're missing
+    ++ lib.optionals (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
       "vmw_vmci" "vmwgfx" "vmw_vsock_vmci_transport"
 
       # Hyper-V support.
diff --git a/nixpkgs/nixos/modules/profiles/hardened.nix b/nixpkgs/nixos/modules/profiles/hardened.nix
index 3f8f78f012a7..856ee480fc0b 100644
--- a/nixpkgs/nixos/modules/profiles/hardened.nix
+++ b/nixpkgs/nixos/modules/profiles/hardened.nix
@@ -17,7 +17,7 @@ with lib;
 
   boot.kernelPackages = mkDefault pkgs.linuxPackages_hardened;
 
-  nix.allowedUsers = mkDefault [ "@users" ];
+  nix.settings.allowed-users = mkDefault [ "@users" ];
 
   environment.memoryAllocator.provider = mkDefault "scudo";
   environment.variables.SCUDO_OPTIONS = mkDefault "ZeroContents=1";
diff --git a/nixpkgs/nixos/modules/programs/calls.nix b/nixpkgs/nixos/modules/programs/calls.nix
index 59961625e5d9..08a223b408d4 100644
--- a/nixpkgs/nixos/modules/programs/calls.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/programs/chromium.nix b/nixpkgs/nixos/modules/programs/chromium.nix
index 602253a321d7..8a1653318ab5 100644
--- a/nixpkgs/nixos/modules/programs/chromium.nix
+++ b/nixpkgs/nixos/modules/programs/chromium.nix
@@ -7,6 +7,7 @@ let
 
   defaultProfile = filterAttrs (k: v: v != null) {
     HomepageLocation = cfg.homepageLocation;
+    DefaultSearchProviderEnabled = cfg.defaultSearchProviderEnabled;
     DefaultSearchProviderSearchURL = cfg.defaultSearchProviderSearchURL;
     DefaultSearchProviderSuggestURL = cfg.defaultSearchProviderSuggestURL;
     ExtensionInstallForcelist = cfg.extensions;
@@ -50,6 +51,13 @@ in
         example = "https://nixos.org";
       };
 
+      defaultSearchProviderEnabled = mkOption {
+        type = types.nullOr types.bool;
+        description = "Enable the default search provider.";
+        default = null;
+        example = true;
+      };
+
       defaultSearchProviderSearchURL = mkOption {
         type = types.nullOr types.str;
         description = "Chromium default search provider url.";
diff --git a/nixpkgs/nixos/modules/programs/command-not-found/command-not-found.pl b/nixpkgs/nixos/modules/programs/command-not-found/command-not-found.pl
index 220d057b7f4f..72e246c81ae9 100644
--- a/nixpkgs/nixos/modules/programs/command-not-found/command-not-found.pl
+++ b/nixpkgs/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/nixpkgs/nixos/modules/programs/dconf.nix b/nixpkgs/nixos/modules/programs/dconf.nix
index 298abac8afa9..265c41cbbbc9 100644
--- a/nixpkgs/nixos/modules/programs/dconf.nix
+++ b/nixpkgs/nixos/modules/programs/dconf.nix
@@ -60,7 +60,7 @@ in
     environment.systemPackages = [ pkgs.dconf ];
 
     # Needed for unwrapped applications
-    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.dconf.lib}/lib/gio/modules" ];
+    environment.sessionVariables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.dconf.lib}/lib/gio/modules" ];
   };
 
 }
diff --git a/nixpkgs/nixos/modules/programs/gnupg.nix b/nixpkgs/nixos/modules/programs/gnupg.nix
index fe5d7bd834b2..b41f30287ea5 100644
--- a/nixpkgs/nixos/modules/programs/gnupg.nix
+++ b/nixpkgs/nixos/modules/programs/gnupg.nix
@@ -149,4 +149,6 @@ in
     ];
   };
 
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/programs/spacefm.nix b/nixpkgs/nixos/modules/programs/spacefm.nix
index 822fca3ecec7..f71abcaa3325 100644
--- a/nixpkgs/nixos/modules/programs/spacefm.nix
+++ b/nixpkgs/nixos/modules/programs/spacefm.nix
@@ -27,13 +27,11 @@ in
         default = {
           tmp_dir = "/tmp";
           terminal_su = "${pkgs.sudo}/bin/sudo";
-          graphical_su = "${pkgs.gksu}/bin/gksu";
         };
         defaultText = literalExpression ''
           {
             tmp_dir = "/tmp";
             terminal_su = "''${pkgs.sudo}/bin/sudo";
-            graphical_su = "''${pkgs.gksu}/bin/gksu";
           }
         '';
         description = ''
diff --git a/nixpkgs/nixos/modules/programs/ssh.nix b/nixpkgs/nixos/modules/programs/ssh.nix
index f26f7ab01435..b31fce915240 100644
--- a/nixpkgs/nixos/modules/programs/ssh.nix
+++ b/nixpkgs/nixos/modules/programs/ssh.nix
@@ -17,7 +17,7 @@ let
       exec ${askPassword} "$@"
     '';
 
-  knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
+  knownHosts = attrValues cfg.knownHosts;
 
   knownHostsText = (flip (concatMapStringsSep "\n") knownHosts
     (h: assert h.hostNames != [];
@@ -142,7 +142,7 @@ in
 
       knownHosts = mkOption {
         default = {};
-        type = types.attrsOf (types.submodule ({ name, ... }: {
+        type = types.attrsOf (types.submodule ({ name, config, options, ... }: {
           options = {
             certAuthority = mkOption {
               type = types.bool;
@@ -154,12 +154,22 @@ in
             };
             hostNames = mkOption {
               type = types.listOf types.str;
-              default = [];
+              default = [ name ] ++ config.extraHostNames;
+              defaultText = literalExpression "[ ${name} ] ++ config.${options.extraHostNames}";
               description = ''
+                DEPRECATED, please use <literal>extraHostNames</literal>.
                 A list of host names and/or IP numbers used for accessing
                 the host's ssh service.
               '';
             };
+            extraHostNames = mkOption {
+              type = types.listOf types.str;
+              default = [];
+              description = ''
+                A list of additional host names and/or IP numbers used for
+                accessing the host's ssh service.
+              '';
+            };
             publicKey = mkOption {
               default = null;
               type = types.nullOr types.str;
@@ -186,9 +196,6 @@ in
               '';
             };
           };
-          config = {
-            hostNames = mkDefault [ name ];
-          };
         }));
         description = ''
           The set of system-wide known SSH hosts.
@@ -196,13 +203,10 @@ in
         example = literalExpression ''
           {
             myhost = {
-              hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ];
+              extraHostNames = [ "myhost.mydomain.com" "10.10.1.4" ];
               publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub;
             };
-            myhost2 = {
-              hostNames = [ "myhost2" ];
-              publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub;
-            };
+            "myhost2.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILIRuJ8p1Fi+m6WkHV0KWnRfpM1WxoW8XAS+XvsSKsTK";
           }
         '';
       };
@@ -217,7 +221,7 @@ in
           <literal>/etc/ssh/ssh_known_hosts2</literal> are always
           included.
         '';
-        example = literalExample ''
+        example = literalExpression ''
           [
             ./known_hosts
             (writeText "github.keys" '''
@@ -275,6 +279,9 @@ in
         message = "knownHost ${name} must contain either a publicKey or publicKeyFile";
       });
 
+    warnings = mapAttrsToList (name: _: ''programs.ssh.knownHosts.${name}.hostNames is deprecated, use programs.ssh.knownHosts.${name}.extraHostNames'')
+      (filterAttrs (name: {hostNames, extraHostNames, ...}: hostNames != [ name ] ++ extraHostNames) cfg.knownHosts);
+
     # SSH configuration. Slight duplication of the sshd_config
     # generation in the sshd service.
     environment.etc."ssh/ssh_config".text =
diff --git a/nixpkgs/nixos/modules/programs/starship.nix b/nixpkgs/nixos/modules/programs/starship.nix
new file mode 100644
index 000000000000..83d2272003c6
--- /dev/null
+++ b/nixpkgs/nixos/modules/programs/starship.nix
@@ -0,0 +1,51 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.starship;
+
+  settingsFormat = pkgs.formats.toml { };
+
+  settingsFile = settingsFormat.generate "starship.toml" cfg.settings;
+
+in {
+  options.programs.starship = {
+    enable = mkEnableOption "the Starship shell prompt";
+
+    settings = mkOption {
+      inherit (settingsFormat) type;
+      default = { };
+      description = ''
+        Configuration included in <literal>starship.toml</literal>.
+
+        See https://starship.rs/config/#prompt for documentation.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    programs.bash.promptInit = ''
+      if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
+        export STARSHIP_CONFIG=${settingsFile}
+        eval "$(${pkgs.starship}/bin/starship init bash)"
+      fi
+    '';
+
+    programs.fish.promptInit = ''
+      if test "$TERM" != "dumb" -a \( -z "$INSIDE_EMACS" -o "$INSIDE_EMACS" = "vterm" \)
+        set -x STARSHIP_CONFIG ${settingsFile}
+        eval (${pkgs.starship}/bin/starship init fish)
+      end
+    '';
+
+    programs.zsh.promptInit = ''
+      if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
+        export STARSHIP_CONFIG=${settingsFile}
+        eval "$(${pkgs.starship}/bin/starship init zsh)"
+      fi
+    '';
+  };
+
+  meta.maintainers = pkgs.starship.meta.maintainers;
+}
diff --git a/nixpkgs/nixos/modules/programs/sway.nix b/nixpkgs/nixos/modules/programs/sway.nix
index c64e01a20cb3..bb9904d19560 100644
--- a/nixpkgs/nixos/modules/programs/sway.nix
+++ b/nixpkgs/nixos/modules/programs/sway.nix
@@ -90,10 +90,10 @@ in {
     extraPackages = mkOption {
       type = with types; listOf package;
       default = with pkgs; [
-        swaylock swayidle alacritty dmenu
+        swaylock swayidle foot dmenu
       ];
       defaultText = literalExpression ''
-        with pkgs; [ swaylock swayidle alacritty dmenu ];
+        with pkgs; [ swaylock swayidle foot dmenu ];
       '';
       example = literalExpression ''
         with pkgs; [
diff --git a/nixpkgs/nixos/modules/programs/tilp2.nix b/nixpkgs/nixos/modules/programs/tilp2.nix
deleted file mode 100644
index da9e32e3e6c6..000000000000
--- a/nixpkgs/nixos/modules/programs/tilp2.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.programs.tilp2;
-
-in {
-  options.programs.tilp2 = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Enable tilp2 and udev rules for supported calculators.
-      '';
-    };
-  };
-
-  config = mkIf cfg.enable {
-    services.udev.packages = [
-      pkgs.libticables2
-    ];
-
-    environment.systemPackages = [
-      pkgs.tilp2
-    ];
-  };
-}
diff --git a/nixpkgs/nixos/modules/programs/tmux.nix b/nixpkgs/nixos/modules/programs/tmux.nix
index c39908751d29..74b3fbd9ac06 100644
--- a/nixpkgs/nixos/modules/programs/tmux.nix
+++ b/nixpkgs/nixos/modules/programs/tmux.nix
@@ -52,6 +52,12 @@ let
     set  -s escape-time       ${toString cfg.escapeTime}
     set  -g history-limit     ${toString cfg.historyLimit}
 
+    ${lib.optionalString (cfg.plugins != []) ''
+    # Run plugins
+    ${lib.concatMapStringsSep "\n" (x: "run-shell ${x.rtp}") cfg.plugins}
+
+    ''}
+
     ${cfg.extraConfig}
   '';
 
@@ -165,6 +171,13 @@ in {
           downside it doesn't survive user logout.
         '';
       };
+
+      plugins = mkOption {
+        default = [];
+        type = types.listOf types.package;
+        description = "List of plugins to install.";
+        example = lib.literalExpression "[ pkgs.tmuxPlugins.nord ]";
+      };
     };
   };
 
@@ -174,7 +187,7 @@ in {
     environment = {
       etc."tmux.conf".text = tmuxConf;
 
-      systemPackages = [ pkgs.tmux ];
+      systemPackages = [ pkgs.tmux ] ++ cfg.plugins;
 
       variables = {
         TMUX_TMPDIR = lib.optional cfg.secureSocket ''''${XDG_RUNTIME_DIR:-"/run/user/$(id -u)"}'';
diff --git a/nixpkgs/nixos/modules/programs/tsm-client.nix b/nixpkgs/nixos/modules/programs/tsm-client.nix
index 65d4db7834ff..28db96253875 100644
--- a/nixpkgs/nixos/modules/programs/tsm-client.nix
+++ b/nixpkgs/nixos/modules/programs/tsm-client.nix
@@ -7,7 +7,7 @@ let
   inherit (lib.modules) mkDefault mkIf;
   inherit (lib.options) literalExpression mkEnableOption mkOption;
   inherit (lib.strings) concatStringsSep optionalString toLower;
-  inherit (lib.types) addCheck attrsOf lines nullOr package path port str strMatching submodule;
+  inherit (lib.types) addCheck attrsOf lines nonEmptyStr nullOr package path port str strMatching submodule;
 
   # Checks if given list of strings contains unique
   # elements when compared without considering case.
@@ -35,7 +35,7 @@ let
       '';
     };
     options.server = mkOption {
-      type = strMatching ".+";
+      type = nonEmptyStr;
       example = "tsmserver.company.com";
       description = ''
         Host/domain name or IP address of the IBM TSM server.
@@ -56,7 +56,7 @@ let
       '';
     };
     options.node = mkOption {
-      type = strMatching ".+";
+      type = nonEmptyStr;
       example = "MY-TSM-NODE";
       description = ''
         Target node name on the IBM TSM server.
@@ -144,7 +144,7 @@ let
     };
     config.name = mkDefault name;
     # Client system-options file directives are explained here:
-    # https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.8/client/c_opt_usingopts.html
+    # https://www.ibm.com/docs/en/spectrum-protect/8.1.13?topic=commands-processing-options
     config.extraConfig =
       mapAttrs (lib.trivial.const mkDefault) (
         {
diff --git a/nixpkgs/nixos/modules/rename.nix b/nixpkgs/nixos/modules/rename.nix
index 0171a8511d5b..c271d504b771 100644
--- a/nixpkgs/nixos/modules/rename.nix
+++ b/nixpkgs/nixos/modules/rename.nix
@@ -17,35 +17,60 @@ with lib;
     (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
 
     # Completely removed modules
+    (mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
     (mkRemovedOptionModule [ "fonts" "fontconfig" "penultimate" ] "The corresponding package has removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
+    (mkRemovedOptionModule [ "hardware" "brightnessctl" ] ''
+      The brightnessctl module was removed because newer versions of
+      brightnessctl don't require the udev rules anymore (they can use the
+      systemd-logind API). Instead of using the module you can now
+      simply add the brightnessctl package to environment.systemPackages.
+    '')
+    (mkRemovedOptionModule [ "hardware" "u2f" ] ''
+      The U2F modules module was removed, as all it did was adding the
+      udev rules from libu2f-host to the system. Udev gained native support
+      to handle FIDO security tokens, so this isn't necessary anymore.
+    '')
+    (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
+    (mkRemovedOptionModule [ "networking" "wicd" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "programs" "tilp2" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " +
+      "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"))
+    (mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
+        The hidepid module was removed, since the underlying machinery
+        is broken when using cgroups-v2.
+    '')
+    (mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
+    (mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
+    (mkRemovedOptionModule [ "services" "cgmanager" "enable"] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "couchpotato" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "deepin" ] "The corresponding packages were removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
     (mkRemovedOptionModule [ "services" "firefox" "syncserver" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "moinmoin" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "mesos" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
-    (mkRemovedOptionModule [ "networking" "wicd" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
-    (mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
-    (mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
-    (mkRemovedOptionModule ["services" "cgmanager" "enable"] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "osquery" ] "The osquery module has been removed")
+    (mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.")
     (mkRemovedOptionModule [ "services" "fourStore" ] "The fourStore module has been removed")
-    (mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
     (mkRemovedOptionModule [ "services" "fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
+    (mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
+    (mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "mathics" ] "The Mathics module has been removed")
+    (mkRemovedOptionModule [ "services" "meguca" ] "Use meguca has been removed from nixpkgs")
+    (mkRemovedOptionModule [ "services" "mesos" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "moinmoin" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "mwlib" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " +
-      "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"))
-    (mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''
-      services.xserver.multitouch (which uses xf86_input_mtrack) has been removed
-      as the underlying package isn't being maintained. Working alternatives are
-      libinput and synaptics.
+    (mkRemovedOptionModule [ "services" "osquery" ] "The osquery module has been removed")
+    (mkRemovedOptionModule [ "services" "pantheon" "files" ] ''
+      This module was removed, please add pkgs.pantheon.elementary-files to environment.systemPackages directly.
     '')
+    (mkRemovedOptionModule [ "services" "prey" ] ''
+      prey-bash-client is deprecated upstream
+    '')
+    (mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
+    (mkRemovedOptionModule [ "services" "seeks" ] "")
+    (mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "wakeonlan"] "This module was removed in favor of enabling it with networking.interfaces.<name>.wakeOnLan")
+    (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "xserver" "displayManager" "auto" ] ''
       The services.xserver.displayManager.auto module has been removed
       because it was only intended for use in internal NixOS tests, and gave the
@@ -53,37 +78,19 @@ with lib;
       LightDM. Please use the services.xserver.displayManager.autoLogin options
       instead, or any other display manager in NixOS as they all support auto-login.
     '')
-    (mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
-    (mkRemovedOptionModule [ "services" "meguca" ] "Use meguca has been removed from nixpkgs")
-    (mkRemovedOptionModule ["hardware" "brightnessctl" ] ''
-      The brightnessctl module was removed because newer versions of
-      brightnessctl don't require the udev rules anymore (they can use the
-      systemd-logind API). Instead of using the module you can now
-      simply add the brightnessctl package to environment.systemPackages.
+    (mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''
+      services.xserver.multitouch (which uses xf86_input_mtrack) has been removed
+      as the underlying package isn't being maintained. Working alternatives are
+      libinput and synaptics.
     '')
     (mkRemovedOptionModule [ "virtualisation" "rkt" ] "The rkt module has been removed, it was archived by upstream")
-
-    (mkRemovedOptionModule ["services" "prey" ] ''
-      prey-bash-client is deprecated upstream
+    (mkRemovedOptionModule [ "services" "racoon" ] ''
+      The racoon module has been removed, because the software project was abandoned upstream.
     '')
 
-    (mkRemovedOptionModule ["hardware" "u2f" ] ''
-      The U2F modules module was removed, as all it did was adding the
-      udev rules from libu2f-host to the system. Udev gained native support
-      to handle FIDO security tokens, so this isn't necessary anymore.
-    '')
+    (mkRemovedOptionModule [ "services" "shellinabox" ] "The corresponding package was removed from nixpkgs.")
 
-    (mkRemovedOptionModule [ "services" "seeks" ] "")
-    (mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.")
-
-    (mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
-        The hidepid module was removed, since the underlying machinery
-        is broken when using cgroups-v2.
-    '')
-    (mkRemovedOptionModule ["services" "wakeonlan"] "This module was removed in favor of enabling it with networking.interfaces.<name>.wakeOnLan")
-
-    (mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "gogoclient" ] "The corresponding package was removed from nixpkgs.")
 
     # Do NOT add any option renames here, see top of the file
   ];
diff --git a/nixpkgs/nixos/modules/security/acme.nix b/nixpkgs/nixos/modules/security/acme/default.nix
index e244989d6408..d827c448055b 100644
--- a/nixpkgs/nixos/modules/security/acme.nix
+++ b/nixpkgs/nixos/modules/security/acme/default.nix
@@ -916,6 +916,6 @@ in {
 
   meta = {
     maintainers = lib.teams.acme.members;
-    doc = ./acme.xml;
+    doc = ./doc.xml;
   };
 }
diff --git a/nixpkgs/nixos/modules/security/acme.xml b/nixpkgs/nixos/modules/security/acme/doc.xml
index f623cc509be6..f623cc509be6 100644
--- a/nixpkgs/nixos/modules/security/acme.xml
+++ b/nixpkgs/nixos/modules/security/acme/doc.xml
diff --git a/nixpkgs/nixos/modules/security/acme/mk-cert-ownership-assertion.nix b/nixpkgs/nixos/modules/security/acme/mk-cert-ownership-assertion.nix
new file mode 100644
index 000000000000..b80d89aeb9fc
--- /dev/null
+++ b/nixpkgs/nixos/modules/security/acme/mk-cert-ownership-assertion.nix
@@ -0,0 +1,4 @@
+{ cert, group, groups, user }: {
+  assertion = cert.group == group || builtins.any (u: u == user) groups.${cert.group}.members;
+  message = "Group for certificate ${cert.domain} must be ${group}, or user ${user} must be a member of group ${cert.group}";
+}
diff --git a/nixpkgs/nixos/modules/security/google_oslogin.nix b/nixpkgs/nixos/modules/security/google_oslogin.nix
index c2889a0f0d1d..cf416035ef60 100644
--- a/nixpkgs/nixos/modules/security/google_oslogin.nix
+++ b/nixpkgs/nixos/modules/security/google_oslogin.nix
@@ -5,7 +5,7 @@ with lib;
 let
 
   cfg = config.security.googleOsLogin;
-  package = pkgs.google-compute-engine-oslogin;
+  package = pkgs.google-guest-oslogin;
 
 in
 
@@ -17,7 +17,7 @@ in
       type = types.bool;
       default = false;
       description = ''
-        Whether to enable Google OS Login
+        Whether to enable Google OS Login.
 
         The OS Login package enables the following components:
         AuthorizedKeysCommand to query valid SSH keys from the user's OS Login
@@ -36,7 +36,7 @@ in
     security.pam.services.sshd = {
       makeHomeDir = true;
       googleOsLoginAccountVerification = true;
-      # disabled for now: googleOsLoginAuthentication = true;
+      googleOsLoginAuthentication = true;
     };
 
     security.sudo.extraConfig = ''
@@ -47,6 +47,9 @@ in
       "d /var/google-users.d 750 root root -"
     ];
 
+    systemd.packages = [ package ];
+    systemd.timers.google-oslogin-cache.wantedBy = [ "timers.target" ];
+
     # enable the nss module, so user lookups etc. work
     system.nssModules = [ package ];
     system.nssDatabases.passwd = [ "cache_oslogin" "oslogin" ];
diff --git a/nixpkgs/nixos/modules/security/misc.nix b/nixpkgs/nixos/modules/security/misc.nix
index e7abc1e0d597..c20e067b8cc7 100644
--- a/nixpkgs/nixos/modules/security/misc.nix
+++ b/nixpkgs/nixos/modules/security/misc.nix
@@ -123,8 +123,8 @@ with lib;
       boot.kernel.sysctl."user.max_user_namespaces" = 0;
 
       assertions = [
-        { assertion = config.nix.useSandbox -> config.security.allowUserNamespaces;
-          message = "`nix.useSandbox = true` conflicts with `!security.allowUserNamespaces`.";
+        { assertion = config.nix.settings.sandbox -> config.security.allowUserNamespaces;
+          message = "`nix.settings.sandbox = true` conflicts with `!security.allowUserNamespaces`.";
         }
       ];
     })
diff --git a/nixpkgs/nixos/modules/security/pam.nix b/nixpkgs/nixos/modules/security/pam.nix
index 0944b36c6d19..9f295db84fd6 100644
--- a/nixpkgs/nixos/modules/security/pam.nix
+++ b/nixpkgs/nixos/modules/security/pam.nix
@@ -444,15 +444,15 @@ let
             account sufficient ${pam_krb5}/lib/security/pam_krb5.so
           '' +
           optionalString cfg.googleOsLoginAccountVerification ''
-            account [success=ok ignore=ignore default=die] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so
-            account [success=ok default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_admin.so
+            account [success=ok ignore=ignore default=die] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so
+            account [success=ok default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so
           '' +
           ''
 
             # Authentication management.
           '' +
           optionalString cfg.googleOsLoginAuthentication ''
-            auth [success=done perm_denied=bad default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so
+            auth [success=done perm_denied=die default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so
           '' +
           optionalString cfg.rootOK ''
             auth sufficient pam_rootok.so
@@ -1035,7 +1035,7 @@ in
         setuid = true;
         owner = "root";
         group = "root";
-        source = "${pkgs.pam}/sbin/unix_chkpwd.orig";
+        source = "${pkgs.pam}/bin/unix_chkpwd";
       };
     };
 
@@ -1072,8 +1072,8 @@ in
     security.apparmor.includes."abstractions/pam" = let
       isEnabled = test: fold or false (map test (attrValues config.security.pam.services));
       in
-      lib.concatMapStringsSep "\n"
-        (name: "r ${config.environment.etc."pam.d/${name}".source},")
+      lib.concatMapStrings
+        (name: "r ${config.environment.etc."pam.d/${name}".source},\n")
         (attrNames config.security.pam.services) +
       ''
       mr ${getLib pkgs.pam}/lib/security/pam_filter/*,
@@ -1091,11 +1091,11 @@ in
         mr ${pam_ccreds}/lib/security/pam_ccreds.so,
       '' +
       optionalString (isEnabled (cfg: cfg.googleOsLoginAccountVerification)) ''
-        mr ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so,
-        mr ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_admin.so,
+        mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so,
+        mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so,
       '' +
       optionalString (isEnabled (cfg: cfg.googleOsLoginAuthentication)) ''
-        mr ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so,
+        mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so,
       '' +
       optionalString (config.security.pam.enableSSHAgentAuth
                      && isEnabled (cfg: cfg.sshAgentAuth)) ''
diff --git a/nixpkgs/nixos/modules/security/wrappers/default.nix b/nixpkgs/nixos/modules/security/wrappers/default.nix
index 66a47bcaab6c..e63f19010de8 100644
--- a/nixpkgs/nixos/modules/security/wrappers/default.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/audio/jmusicbot.nix b/nixpkgs/nixos/modules/services/audio/jmusicbot.nix
index f573bd2ab8dd..e0f8d461af07 100644
--- a/nixpkgs/nixos/modules/services/audio/jmusicbot.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/audio/mpd.nix b/nixpkgs/nixos/modules/services/audio/mpd.nix
index 560264e249d0..586b9ffa6888 100644
--- a/nixpkgs/nixos/modules/services/audio/mpd.nix
+++ b/nixpkgs/nixos/modules/services/audio/mpd.nix
@@ -209,62 +209,42 @@ in {
 
   config = mkIf cfg.enable {
 
+    # install mpd units
+    systemd.packages = [ pkgs.mpd ];
+
     systemd.sockets.mpd = mkIf cfg.startWhenNeeded {
-      description = "Music Player Daemon Socket";
       wantedBy = [ "sockets.target" ];
       listenStreams = [
         (if pkgs.lib.hasPrefix "/" cfg.network.listenAddress
           then cfg.network.listenAddress
           else "${optionalString (cfg.network.listenAddress != "any") "${cfg.network.listenAddress}:"}${toString cfg.network.port}")
       ];
-      socketConfig = {
-        Backlog = 5;
-        KeepAlive = true;
-        PassCredentials = true;
-      };
     };
 
     systemd.services.mpd = {
-      after = [ "network.target" "sound.target" ];
-      description = "Music Player Daemon";
       wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target";
 
-      serviceConfig = mkMerge [
+      preStart =
+        ''
+          set -euo pipefail
+          install -m 600 ${mpdConf} /run/mpd/mpd.conf
+        '' + optionalString (cfg.credentials != [])
+        (concatStringsSep "\n"
+          (imap0
+            (i: c: ''${pkgs.replace-secret}/bin/replace-secret '{{password-${toString i}}}' '${c.passwordFile}' /run/mpd/mpd.conf'')
+            cfg.credentials));
+
+      serviceConfig =
         {
           User = "${cfg.user}";
-          ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon /run/mpd/mpd.conf";
-          ExecStartPre = pkgs.writeShellScript "mpd-start-pre" (''
-            set -euo pipefail
-            install -m 600 ${mpdConf} /run/mpd/mpd.conf
-          '' + optionalString (cfg.credentials != [])
-            (concatStringsSep "\n"
-              (imap0
-                (i: c: ''${pkgs.replace-secret}/bin/replace-secret '{{password-${toString i}}}' '${c.passwordFile}' /run/mpd/mpd.conf'')
-                cfg.credentials))
-          );
+          # Note: the first "" overrides the ExecStart from the upstream unit
+          ExecStart = [ "" "${pkgs.mpd}/bin/mpd --systemd /run/mpd/mpd.conf" ];
           RuntimeDirectory = "mpd";
-          Type = "notify";
-          LimitRTPRIO = 50;
-          LimitRTTIME = "infinity";
-          ProtectSystem = true;
-          NoNewPrivileges = true;
-          ProtectKernelTunables = true;
-          ProtectControlGroups = true;
-          ProtectKernelModules = true;
-          RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX AF_NETLINK";
-          RestrictNamespaces = true;
-          Restart = "always";
-        }
-        (mkIf (cfg.dataDir == "/var/lib/${name}") {
-          StateDirectory = [ name ];
-        })
-        (mkIf (cfg.playlistDirectory == "/var/lib/${name}/playlists") {
-          StateDirectory = [ name "${name}/playlists" ];
-        })
-        (mkIf (cfg.musicDirectory == "/var/lib/${name}/music") {
-          StateDirectory = [ name "${name}/music" ];
-        })
-      ];
+          StateDirectory = []
+            ++ optionals (cfg.dataDir == "/var/lib/${name}") [ name ]
+            ++ optionals (cfg.playlistDirectory == "/var/lib/${name}/playlists") [ name "${name}/playlists" ]
+            ++ optionals (cfg.musicDirectory == "/var/lib/${name}/music")        [ name "${name}/music" ];
+        };
     };
 
     users.users = optionalAttrs (cfg.user == name) {
diff --git a/nixpkgs/nixos/modules/services/audio/roon-server.nix b/nixpkgs/nixos/modules/services/audio/roon-server.nix
index 566c7cae42ce..de1f61c8e73b 100644
--- a/nixpkgs/nixos/modules/services/audio/roon-server.nix
+++ b/nixpkgs/nixos/modules/services/audio/roon-server.nix
@@ -51,7 +51,10 @@ in {
     };
 
     networking.firewall = mkIf cfg.openFirewall {
-      allowedTCPPortRanges = [{ from = 9100; to = 9200; }];
+      allowedTCPPortRanges = [
+        { from = 9100; to = 9200; }
+        { from = 9330; to = 9332; }
+      ];
       allowedUDPPorts = [ 9003 ];
       extraCommands = ''
         iptables -A INPUT -s 224.0.0.0/4 -j ACCEPT
diff --git a/nixpkgs/nixos/modules/services/backup/borgbackup.nix b/nixpkgs/nixos/modules/services/backup/borgbackup.nix
index 220c571b927e..4c9ddfe4674b 100644
--- a/nixpkgs/nixos/modules/services/backup/borgbackup.nix
+++ b/nixpkgs/nixos/modules/services/backup/borgbackup.nix
@@ -30,7 +30,7 @@ let
     }
     trap 'on_exit' INT TERM QUIT EXIT
 
-    archiveName="${cfg.archiveBaseName}-$(date ${cfg.dateFormat})"
+    archiveName="${if cfg.archiveBaseName == null then "" else cfg.archiveBaseName + "-"}$(date ${cfg.dateFormat})"
     archiveSuffix="${optionalString cfg.appendFailedSuffix ".failed"}"
     ${cfg.preHook}
   '' + optionalString cfg.doInit ''
@@ -60,7 +60,7 @@ let
   '' + optionalString (cfg.prune.keep != { }) ''
     borg prune $extraArgs \
       ${mkKeepArgs cfg} \
-      --prefix ${escapeShellArg cfg.prune.prefix} \
+      ${optionalString (cfg.prune.prefix != null) "--prefix ${escapeShellArg cfg.prune.prefix} \\"}
       $extraPruneArgs
     ${cfg.postPrune}
   '';
@@ -99,7 +99,18 @@ let
         BORG_REPO = cfg.repo;
         inherit (cfg) extraArgs extraInitArgs extraCreateArgs extraPruneArgs;
       } // (mkPassEnv cfg) // cfg.environment;
-      inherit (cfg) startAt;
+    };
+
+  mkBackupTimers = name: cfg:
+    nameValuePair "borgbackup-job-${name}" {
+      description = "BorgBackup job ${name} timer";
+      wantedBy = [ "timers.target" ];
+      timerConfig = {
+        Persistent = cfg.persistentTimer;
+        OnCalendar = cfg.startAt;
+      };
+      # if remote-backup wait for network
+      after = optional (cfg.persistentTimer && !isLocalPath cfg.repo) "network-online.target";
     };
 
   # utility function around makeWrapper
@@ -284,7 +295,7 @@ in {
           };
 
           archiveBaseName = mkOption {
-            type = types.strMatching "[^/{}]+";
+            type = types.nullOr (types.strMatching "[^/{}]+");
             default = "${globalConfig.networking.hostName}-${name}";
             defaultText = literalExpression ''"''${config.networking.hostName}-<name>"'';
             description = ''
@@ -292,6 +303,7 @@ in {
               determined by <option>dateFormat</option>, will be appended. The full
               name can be modified at runtime (<literal>$archiveName</literal>).
               Placeholders like <literal>{hostname}</literal> must not be used.
+              Use <literal>null</literal> for no base name.
             '';
           };
 
@@ -320,6 +332,19 @@ in {
             '';
           };
 
+          persistentTimer = mkOption {
+            default = false;
+            type = types.bool;
+            example = true;
+            description = ''
+              Set the <literal>persistentTimer</literal> option for the
+              <citerefentry><refentrytitle>systemd.timer</refentrytitle>
+              <manvolnum>5</manvolnum></citerefentry>
+              which triggers the backup immediately if the last trigger
+              was missed (e.g. if the system was powered down).
+            '';
+          };
+
           user = mkOption {
             type = types.str;
             description = ''
@@ -471,11 +496,11 @@ in {
           };
 
           prune.prefix = mkOption {
-            type = types.str;
+            type = types.nullOr (types.str);
             description = ''
               Only consider archive names starting with this prefix for pruning.
               By default, only archives created by this job are considered.
-              Use <literal>""</literal> to consider all archives.
+              Use <literal>""</literal> or <literal>null</literal> to consider all archives.
             '';
             default = config.archiveBaseName;
             defaultText = literalExpression "archiveBaseName";
@@ -694,6 +719,10 @@ in {
         # A repo named "foo" is mapped to systemd.services.borgbackup-repo-foo
         // mapAttrs' mkRepoService repos;
 
+      # A job named "foo" is mapped to systemd.timers.borgbackup-job-foo
+      # only generate the timer if interval (startAt) is set
+      systemd.timers = mapAttrs' mkBackupTimers (filterAttrs (_: cfg: cfg.startAt != []) jobs);
+
       users = mkMerge (mapAttrsToList mkUsersConfig repos);
 
       environment.systemPackages = with pkgs; [ borgbackup ] ++ (mapAttrsToList mkBorgWrapper jobs);
diff --git a/nixpkgs/nixos/modules/services/backup/mysql-backup.nix b/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
index 9fca21002733..c40a0b5abc40 100644
--- a/nixpkgs/nixos/modules/services/backup/mysql-backup.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/backup/sanoid.nix b/nixpkgs/nixos/modules/services/backup/sanoid.nix
index e70063415ec0..5eb031b2e9f0 100644
--- a/nixpkgs/nixos/modules/services/backup/sanoid.nix
+++ b/nixpkgs/nixos/modules/services/backup/sanoid.nix
@@ -51,7 +51,10 @@ let
   datasetOptions = rec {
     use_template = mkOption {
       description = "Names of the templates to use for this dataset.";
-      type = types.listOf (types.enum (attrNames cfg.templates));
+      type = types.listOf (types.str // {
+        check = (types.enum (attrNames cfg.templates)).check;
+        description = "configured template name";
+      });
       default = [ ];
     };
     useTemplate = use_template;
diff --git a/nixpkgs/nixos/modules/services/backup/tsm.nix b/nixpkgs/nixos/modules/services/backup/tsm.nix
index 6c238745797e..4e690ac6ecda 100644
--- a/nixpkgs/nixos/modules/services/backup/tsm.nix
+++ b/nixpkgs/nixos/modules/services/backup/tsm.nix
@@ -5,7 +5,7 @@ let
   inherit (lib.attrsets) hasAttr;
   inherit (lib.modules) mkDefault mkIf;
   inherit (lib.options) mkEnableOption mkOption;
-  inherit (lib.types) nullOr strMatching;
+  inherit (lib.types) nonEmptyStr nullOr;
 
   options.services.tsmBackup = {
     enable = mkEnableOption ''
@@ -15,7 +15,7 @@ let
       <option>programs.tsmClient.enable</option>
     '';
     command = mkOption {
-      type = strMatching ".+";
+      type = nonEmptyStr;
       default = "backup";
       example = "incr";
       description = ''
@@ -24,7 +24,7 @@ let
       '';
     };
     servername = mkOption {
-      type = strMatching ".+";
+      type = nonEmptyStr;
       example = "mainTsmServer";
       description = ''
         Create a systemd system service
@@ -41,7 +41,7 @@ let
       '';
     };
     autoTime = mkOption {
-      type = nullOr (strMatching ".+");
+      type = nullOr nonEmptyStr;
       default = null;
       example = "12:00";
       description = ''
@@ -87,16 +87,35 @@ in
       environment.DSM_LOG = "/var/log/tsm-backup/";
       # TSM needs a HOME dir to store certificates.
       environment.HOME = "/var/lib/tsm-backup";
-      # for exit status description see
-      # https://www.ibm.com/support/knowledgecenter/en/SSEQVQ_8.1.8/client/c_sched_rtncode.html
-      serviceConfig.SuccessExitStatus = "4 8";
-      # The `-se` option must come after the command.
-      # The `-optfile` option suppresses a `dsm.opt`-not-found warning.
-      serviceConfig.ExecStart =
-        "${cfgPrg.wrappedPackage}/bin/dsmc ${cfg.command} -se='${cfg.servername}' -optfile=/dev/null";
-      serviceConfig.LogsDirectory = "tsm-backup";
-      serviceConfig.StateDirectory = "tsm-backup";
-      serviceConfig.StateDirectoryMode = "0750";
+      serviceConfig = {
+        # for exit status description see
+        # https://www.ibm.com/docs/en/spectrum-protect/8.1.13?topic=clients-client-return-codes
+        SuccessExitStatus = "4 8";
+        # The `-se` option must come after the command.
+        # The `-optfile` option suppresses a `dsm.opt`-not-found warning.
+        ExecStart =
+          "${cfgPrg.wrappedPackage}/bin/dsmc ${cfg.command} -se='${cfg.servername}' -optfile=/dev/null";
+        LogsDirectory = "tsm-backup";
+        StateDirectory = "tsm-backup";
+        StateDirectoryMode = "0750";
+        # systemd sandboxing
+        LockPersonality = true;
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        #PrivateTmp = true;  # would break backup of {/var,}/tmp
+        #PrivateUsers = true;  # would block backup of /home/*
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = "read-only";
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "noaccess";
+        ProtectSystem = "strict";
+        RestrictNamespaces = true;
+        RestrictSUIDSGID = true;
+      };
       startAt = mkIf (cfg.autoTime!=null) cfg.autoTime;
     };
   };
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
index 9159d5915eb7..b677d900ff50 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/addon-manager.nix
@@ -167,4 +167,5 @@ in
     };
   };
 
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 10f45db7883f..7bd4991f43f7 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/addons/dns.nix
@@ -363,4 +363,6 @@ in {
 
     services.kubernetes.kubelet.clusterDns = mkDefault cfg.clusterIp;
   };
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
index 5b97c571d763..a192e93badc2 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/apiserver.nix
@@ -496,4 +496,5 @@ in
 
   ];
 
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
index ed25715fab7d..7c317e94deeb 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/controller-manager.nix
@@ -171,4 +171,6 @@ in
 
     services.kubernetes.controllerManager.kubeconfig.server = mkDefault top.apiserverAddress;
   };
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
index 227c69fec36d..35ec99d83c84 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
@@ -26,10 +26,7 @@ let
 
       containerd.runtimes.runc = {
         runtime_type = "io.containerd.runc.v2";
-      };
-
-      containerd.runtimes."io.containerd.runc.v2".options = {
-        SystemdCgroup = true;
+        options.SystemdCgroup = true;
       };
     };
   };
@@ -199,6 +196,9 @@ in {
       description = "Default location for kubernetes secrets. Not a store location.";
       type = types.path;
       default = cfg.dataDir + "/secrets";
+      defaultText = literalExpression ''
+        config.${opt.dataDir} + "/secrets"
+      '';
     };
   };
 
@@ -310,4 +310,6 @@ in {
                           else "${cfg.masterAddress}:${toString cfg.apiserver.securePort}"}");
     })
   ];
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
index fecea7a15f3d..cb81eaaf0160 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -95,4 +95,6 @@ in
 
     };
   };
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
index 3e8eac96f6ba..af3a5062febc 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -264,8 +264,6 @@ in
         "net.bridge.bridge-nf-call-ip6tables" = 1;
       };
 
-      systemd.enableUnifiedCgroupHierarchy = false; # true breaks node memory metrics
-
       systemd.services.kubelet = {
         description = "Kubernetes Kubelet Service";
         wantedBy = [ "kubernetes.target" ];
@@ -395,4 +393,6 @@ in
     })
 
   ];
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
index 76ab03cd520b..88bde4e91557 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -401,4 +401,6 @@ in
         };
       };
     });
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
index 5f3da034120b..0fd98d1c1576 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -97,4 +97,6 @@ in
 
     services.kubernetes.proxy.kubeconfig.server = mkDefault top.apiserverAddress;
   };
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
index 87263ee72fa4..2d95528a6ead 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/scheduler.nix
+++ b/nixpkgs/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}
         '';
@@ -96,4 +96,6 @@ in
 
     services.kubernetes.scheduler.kubeconfig.server = mkDefault top.apiserverAddress;
   };
+
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix b/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
index 7686ff99bfc0..8cbe54c60604 100644
--- a/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
+++ b/nixpkgs/nixos/modules/services/computing/slurm/slurm.nix
@@ -362,6 +362,7 @@ in
 
       wantedBy = [ "multi-user.target" ];
       after = [ "systemd-tmpfiles-clean.service" ];
+      requires = [ "network.target" ];
 
       serviceConfig = {
         Type = "forking";
@@ -371,12 +372,12 @@ in
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         LimitMEMLOCK = "infinity";
       };
-
-      preStart = ''
-        mkdir -p /var/spool
-      '';
     };
 
+    systemd.tmpfiles.rules = mkIf cfg.client.enable [
+      "d /var/spool/slurmd 755 root root -"
+    ];
+
     services.openssh.forwardX11 = mkIf cfg.client.enable (mkDefault true);
 
     systemd.services.slurmctld = mkIf (cfg.server.enable) {
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix b/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix
index afd85c972b56..c3bd8f99c57f 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/github-runner.nix
@@ -208,6 +208,7 @@ in
                 token=$(< "$STATE_DIRECTORY"/${newConfigTokenFilename})
                 RUNNER_ROOT="$STATE_DIRECTORY" ${cfg.package}/bin/config.sh \
                   --unattended \
+                  --disableupdate \
                   --work "$RUNTIME_DIRECTORY" \
                   --url ${escapeShellArg cfg.url} \
                   --token "$token" \
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
index d4b8541c6a1b..dc58c6345239 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -147,7 +147,7 @@ in
     concurrent = mkOption {
       type = types.int;
       default = 1;
-      example = literalExpression "config.nix.maxJobs";
+      example = literalExpression "config.nix.settings.max-jobs";
       description = ''
         Limits how many jobs globally can be run concurrently.
         The most upper limit of jobs using all defined runners.
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
index 968bc8f1e54e..ef1933e12284 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
@@ -67,7 +67,7 @@ in
 
     # Trusted user allows simplified configuration and better performance
     # when operating in a cluster.
-    nix.trustedUsers = [ config.systemd.services.hercules-ci-agent.serviceConfig.User ];
+    nix.settings.trusted-users = [ config.systemd.services.hercules-ci-agent.serviceConfig.User ];
     services.hercules-ci-agent = {
       settings = {
         nixUserIsTrusted = true;
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
index ccb7cc21734e..cc5de97d6d10 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -258,8 +258,6 @@ in
         uid = config.ids.uids.hydra-www;
       };
 
-    nix.trustedUsers = [ "hydra-queue-runner" ];
-
     services.hydra.extraConfig =
       ''
         using_frontend_proxy = 1
@@ -277,16 +275,21 @@ in
 
     environment.variables = hydraEnv;
 
-    nix.extraOptions = ''
-      keep-outputs = true
-      keep-derivations = true
-
-
-    '' + optionalString (versionOlder (getVersion config.nix.package.out) "2.4pre") ''
-      # The default (`true') slows Nix down a lot since the build farm
-      # has so many GC roots.
-      gc-check-reachability = false
-    '';
+    nix.settings = mkMerge [
+      {
+        keep-outputs = true;
+        keep-derivations = true;
+        trusted-users = [ "hydra-queue-runner" ];
+      }
+
+      (mkIf (versionOlder (getVersion config.nix.package.out) "2.4pre")
+        {
+          # The default (`true') slows Nix down a lot since the build farm
+          # has so many GC roots.
+          gc-check-reachability = false;
+        }
+      )
+    ];
 
     systemd.services.hydra-init =
       { wantedBy = [ "multi-user.target" ];
diff --git a/nixpkgs/nixos/modules/services/databases/couchdb.nix b/nixpkgs/nixos/modules/services/databases/couchdb.nix
index 266bc82b6967..742e605d224d 100644
--- a/nixpkgs/nixos/modules/services/databases/couchdb.nix
+++ b/nixpkgs/nixos/modules/services/databases/couchdb.nix
@@ -1,9 +1,10 @@
-{ config, lib, pkgs, ... }:
+{ config, options, lib, pkgs, ... }:
 
 with lib;
 
 let
   cfg = config.services.couchdb;
+  opt = options.services.couchdb;
   configFile = pkgs.writeText "couchdb.ini" (
     ''
       [couchdb]
@@ -153,6 +154,7 @@ in {
       argsFile = mkOption {
         type = types.path;
         default = "${cfg.package}/etc/vm.args";
+        defaultText = literalExpression ''"config.${opt.package}/etc/vm.args"'';
         description = ''
           vm.args configuration. Overrides Couchdb's Erlang VM parameters file.
         '';
diff --git a/nixpkgs/nixos/modules/services/databases/redis.nix b/nixpkgs/nixos/modules/services/databases/redis.nix
index c5513635392c..e0269a962fdd 100644
--- a/nixpkgs/nixos/modules/services/databases/redis.nix
+++ b/nixpkgs/nixos/modules/services/databases/redis.nix
@@ -87,8 +87,12 @@ in {
 
             port = mkOption {
               type = types.port;
-              default = 6379;
-              description = "The port for Redis to listen to.";
+              default = if name == "" then 6379 else 0;
+              defaultText = literalExpression ''if name == "" then 6379 else 0'';
+              description = ''
+                The TCP port to accept connections.
+                If port 0 is specified Redis will not listen on a TCP socket.
+              '';
             };
 
             openFirewall = mkOption {
@@ -102,7 +106,7 @@ in {
             bind = mkOption {
               type = with types; nullOr str;
               default = if name == "" then "127.0.0.1" else null;
-              defaultText = "127.0.0.1 or null if name != \"\"";
+              defaultText = literalExpression ''if name == "" then "127.0.0.1" else null'';
               description = ''
                 The IP interface to bind to.
                 <literal>null</literal> means "all interfaces".
@@ -253,7 +257,7 @@ in {
           };
           config.settings = mkMerge [
             {
-              port = if config.bind == null then 0 else config.port;
+              port = config.port;
               daemonize = false;
               supervised = "systemd";
               loglevel = config.logLevel;
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix b/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix
index 4288b6b5de61..1039605391ab 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix
+++ b/nixpkgs/nixos/modules/services/desktops/gnome/glib-networking.nix
@@ -38,7 +38,7 @@ with lib;
 
     systemd.packages = [ pkgs.glib-networking ];
 
-    environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.glib-networking.out}/lib/gio/modules" ];
+    environment.sessionVariables.GIO_EXTRA_MODULES = [ "${pkgs.glib-networking.out}/lib/gio/modules" ];
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix b/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix
index 05b5c86ddcb3..9c68c9b76e9e 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix
+++ b/nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix
@@ -57,26 +57,12 @@ in
       pkgs.gnome.gnome-settings-daemon
     ];
 
-    systemd.user.targets."gnome-session-initialized".wants = [
-      "gsd-color.target"
-      "gsd-datetime.target"
-      "gsd-keyboard.target"
-      "gsd-media-keys.target"
-      "gsd-print-notifications.target"
-      "gsd-rfkill.target"
-      "gsd-screensaver-proxy.target"
-      "gsd-sharing.target"
-      "gsd-smartcard.target"
-      "gsd-sound.target"
-      "gsd-wacom.target"
-      "gsd-wwan.target"
-      "gsd-a11y-settings.target"
-      "gsd-housekeeping.target"
-      "gsd-power.target"
+    systemd.user.targets."gnome-session-x11-services".wants = [
+      "org.gnome.SettingsDaemon.XSettings.service"
     ];
 
-    systemd.user.targets."gnome-session-x11-services".wants = [
-      "gsd-xsettings.target"
+    systemd.user.targets."gnome-session-x11-services-ready".wants = [
+      "org.gnome.SettingsDaemon.XSettings.service"
     ];
 
   };
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome/tracker-miners.nix b/nixpkgs/nixos/modules/services/desktops/gnome/tracker-miners.nix
index c9101f0caa63..9351007d30b5 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome/tracker-miners.nix
+++ b/nixpkgs/nixos/modules/services/desktops/gnome/tracker-miners.nix
@@ -47,6 +47,8 @@ with lib;
 
     systemd.packages = [ pkgs.tracker-miners ];
 
+    services.gnome.tracker.subcommandPackages = [ pkgs.tracker-miners ];
+
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix b/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix
index 29d9662b0b8f..fef399d0112e 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix
+++ b/nixpkgs/nixos/modules/services/desktops/gnome/tracker.nix
@@ -4,6 +4,9 @@
 
 with lib;
 
+let
+  cfg = config.services.gnome.tracker;
+in
 {
 
   meta = {
@@ -33,6 +36,15 @@ with lib;
         '';
       };
 
+      subcommandPackages = mkOption {
+        type = types.listOf types.package;
+        default = [ ];
+        internal = true;
+        description = ''
+          List of packages containing tracker3 subcommands.
+        '';
+      };
+
     };
 
   };
@@ -40,7 +52,7 @@ with lib;
 
   ###### implementation
 
-  config = mkIf config.services.gnome.tracker.enable {
+  config = mkIf cfg.enable {
 
     environment.systemPackages = [ pkgs.tracker ];
 
@@ -48,6 +60,17 @@ with lib;
 
     systemd.packages = [ pkgs.tracker ];
 
+    environment.variables = {
+      TRACKER_CLI_SUBCOMMANDS_DIR =
+        let
+          subcommandPackagesTree = pkgs.symlinkJoin {
+            name = "tracker-with-subcommands-${pkgs.tracker.version}";
+            paths = [ pkgs.tracker ] ++ cfg.subcommandPackages;
+          };
+        in
+        "${subcommandPackagesTree}/libexec/tracker3";
+    };
+
   };
 
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/gvfs.nix b/nixpkgs/nixos/modules/services/desktops/gvfs.nix
index cc9a46032705..1aa64ea37db5 100644
--- a/nixpkgs/nixos/modules/services/desktops/gvfs.nix
+++ b/nixpkgs/nixos/modules/services/desktops/gvfs.nix
@@ -54,10 +54,10 @@ in
 
     systemd.packages = [ cfg.package ];
 
-    services.udev.packages = [ pkgs.libmtp ];
+    services.udev.packages = [ pkgs.libmtp.out ];
 
     # Needed for unwrapped applications
-    environment.variables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ];
+    environment.sessionVariables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ];
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/desktops/pantheon/files.nix b/nixpkgs/nixos/modules/services/desktops/pantheon/files.nix
deleted file mode 100644
index 8cee9f42b62f..000000000000
--- a/nixpkgs/nixos/modules/services/desktops/pantheon/files.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-# pantheon files daemon.
-
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-{
-
-  imports = [
-    (mkRemovedOptionModule [ "services" "pantheon" "files" "enable" ] "Use `environment.systemPackages [ pkgs.pantheon.elementary-files ];`")
-  ];
-
-}
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index 4be3e881a9dc..f7a03a4a3eaf 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -29,6 +29,8 @@ in {
 
   meta = {
     maintainers = teams.freedesktop.members;
+    # uses attributes of the linked package
+    buildDocsInSandbox = false;
   };
 
   ###### interface
@@ -94,6 +96,12 @@ in {
   config = mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     systemd.packages = [ cfg.package ];
+
+    # Enable either system or user units.
+    systemd.services.pipewire-media-session.enable = config.services.pipewire.systemWide;
+    systemd.user.services.pipewire-media-session.enable = !config.services.pipewire.systemWide;
+
+    systemd.services.pipewire-media-session.wantedBy = [ "pipewire.service" ];
     systemd.user.services.pipewire-media-session.wantedBy = [ "pipewire.service" ];
 
     environment.etc."pipewire/media-session.d/media-session.conf" = {
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
index 55755ecd6457..c3cfd46e61c2 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -40,6 +40,8 @@ in {
 
   meta = {
     maintainers = teams.freedesktop.members;
+    # uses attributes of the linked package
+    buildDocsInSandbox = false;
   };
 
   ###### interface
@@ -123,6 +125,22 @@ in {
       pulse = {
         enable = mkEnableOption "PulseAudio server emulation";
       };
+
+      systemWide = lib.mkOption {
+        type = lib.types.bool;
+        default = false;
+        description = ''
+          If true, a system-wide PipeWire service and socket is enabled
+          allowing all users in the "pipewire" group to use it simultaneously.
+          If false, then user units are used instead, restricting access to
+          only one user.
+
+          Enabling system-wide PipeWire is however not recommended and disabled
+          by default according to
+          https://github.com/PipeWire/pipewire/blob/master/NEWS
+        '';
+      };
+
     };
   };
 
@@ -148,9 +166,20 @@ in {
 
     # PipeWire depends on DBUS but doesn't list it. Without this booting
     # into a terminal results in the service crashing with an error.
+    systemd.services.pipewire.bindsTo = [ "dbus.service" ];
+    systemd.user.services.pipewire.bindsTo = [ "dbus.service" ];
+
+    # Enable either system or user units.  Note that for pipewire-pulse there
+    # are only user units, which work in both cases.
+    systemd.sockets.pipewire.enable = cfg.systemWide;
+    systemd.services.pipewire.enable = cfg.systemWide;
+    systemd.user.sockets.pipewire.enable = !cfg.systemWide;
+    systemd.user.services.pipewire.enable = !cfg.systemWide;
+
+    systemd.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
     systemd.user.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
     systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf (cfg.socketActivation && cfg.pulse.enable) ["sockets.target"];
-    systemd.user.services.pipewire.bindsTo = [ "dbus.service" ];
+
     services.udev.packages = [ cfg.package ];
 
     # If any paths are updated here they must also be updated in the package test.
@@ -194,7 +223,22 @@ in {
     environment.sessionVariables.LD_LIBRARY_PATH =
       lib.optional cfg.jack.enable "${cfg.package.jack}/lib";
 
+    users = lib.mkIf cfg.systemWide {
+      users.pipewire = {
+        uid = config.ids.uids.pipewire;
+        group = "pipewire";
+        extraGroups = [
+          "audio"
+          "video"
+        ] ++ lib.optional config.security.rtkit.enable "rtkit";
+        description = "Pipewire system service user";
+        isSystemUser = true;
+      };
+      groups.pipewire.gid = config.ids.gids.pipewire;
+    };
+
     # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/464#note_723554
+    systemd.services.pipewire.environment."PIPEWIRE_LINK_PASSIVE" = "1";
     systemd.user.services.pipewire.environment."PIPEWIRE_LINK_PASSIVE" = "1";
   };
 }
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/wireplumber.nix b/nixpkgs/nixos/modules/services/desktops/pipewire/wireplumber.nix
new file mode 100644
index 000000000000..ad96dc1f9745
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/wireplumber.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.pipewire.wireplumber;
+in
+{
+  meta.maintainers = [ lib.maintainers.k900 ];
+
+  options = {
+    services.pipewire.wireplumber = {
+      enable = lib.mkEnableOption "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.
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = !config.services.pipewire.media-session.enable;
+        message = "WirePlumber and pipewire-media-session can't be enabled at the same time.";
+      }
+    ];
+
+    environment.systemPackages = [ cfg.package ];
+    systemd.packages = [ cfg.package ];
+
+    systemd.services.wireplumber.enable = config.services.pipewire.systemWide;
+    systemd.user.services.wireplumber.enable = !config.services.pipewire.systemWide;
+
+    systemd.services.wireplumber.wantedBy = [ "pipewire.service" ];
+    systemd.user.services.wireplumber.wantedBy = [ "pipewire.service" ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/development/rstudio-server/default.nix b/nixpkgs/nixos/modules/services/development/rstudio-server/default.nix
new file mode 100644
index 000000000000..cd903c7e55bf
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/development/rstudio-server/default.nix
@@ -0,0 +1,107 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.rstudio-server;
+
+  rserver-conf = builtins.toFile "rserver.conf" ''
+    server-working-dir=${cfg.serverWorkingDir}
+    www-address=${cfg.listenAddr}
+    ${cfg.rserverExtraConfig}
+  '';
+
+  rsession-conf = builtins.toFile "rsession.conf" ''
+    ${cfg.rsessionExtraConfig}
+  '';
+
+in
+{
+  meta.maintainers = with maintainers; [ jbedo cfhammill ];
+
+  options.services.rstudio-server = {
+    enable = mkEnableOption "RStudio server";
+
+    serverWorkingDir = mkOption {
+      type = types.str;
+      default = "/var/lib/rstudio-server";
+      description = ''
+        Default working directory for server (server-working-dir in rserver.conf).
+      '';
+    };
+
+    listenAddr = mkOption {
+      type = types.str;
+      default = "127.0.0.1";
+      description = ''
+        Address to listen on (www-address in rserver.conf).
+      '';
+    };
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.rstudio-server;
+      defaultText = literalExpression "pkgs.rstudio-server";
+      example = literalExpression "pkgs.rstudioServerWrapper.override { packages = [ pkgs.rPackages.ggplot2 ]; }";
+      description = ''
+        Rstudio server package to use. Can be set to rstudioServerWrapper to provide packages.
+      '';
+    };
+
+    rserverExtraConfig = mkOption {
+      type = types.str;
+      default = "";
+      description = ''
+        Extra contents for rserver.conf.
+      '';
+    };
+
+    rsessionExtraConfig = mkOption {
+      type = types.str;
+      default = "";
+      description = ''
+        Extra contents for resssion.conf.
+      '';
+    };
+
+  };
+
+  config = mkIf cfg.enable
+    {
+      systemd.services.rstudio-server = {
+        description = "Rstudio server";
+
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        restartTriggers = [ rserver-conf rsession-conf ];
+
+        serviceConfig = {
+          Restart = "on-failure";
+          Type = "forking";
+          ExecStart = "${cfg.package}/bin/rserver";
+          StateDirectory = "rstudio-server";
+          RuntimeDirectory = "rstudio-server";
+        };
+      };
+
+      environment.etc = {
+        "rstudio/rserver.conf".source = rserver-conf;
+        "rstudio/rsession.conf".source = rsession-conf;
+        "pam.d/rstudio".source = "/etc/pam.d/login";
+      };
+      environment.systemPackages = [ cfg.package ];
+
+      users = {
+        users.rstudio-server = {
+          uid = config.ids.uids.rstudio-server;
+          description = "rstudio-server";
+          group = "rstudio-server";
+        };
+        groups.rstudio-server = {
+          gid = config.ids.gids.rstudio-server;
+        };
+      };
+
+    };
+}
diff --git a/nixpkgs/nixos/modules/services/games/asf.nix b/nixpkgs/nixos/modules/services/games/asf.nix
new file mode 100644
index 000000000000..ea2bfd40fffa
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/games/asf.nix
@@ -0,0 +1,236 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.archisteamfarm;
+
+  format = pkgs.formats.json { };
+
+  asf-config = format.generate "ASF.json" (cfg.settings // {
+    # we disable it because ASF cannot update itself anyways
+    # and nixos takes care of restarting the service
+    # is in theory not needed as this is already the default for default builds
+    UpdateChannel = 0;
+    Headless = true;
+  });
+
+  ipc-config = format.generate "IPC.config" cfg.ipcSettings;
+
+  mkBot = n: c:
+    format.generate "${n}.json" (c.settings // {
+      SteamLogin = if c.username == "" then n else c.username;
+      SteamPassword = c.passwordFile;
+      # sets the password format to file (https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Security#file)
+      PasswordFormat = 4;
+      Enabled = c.enabled;
+    });
+in
+{
+  options.services.archisteamfarm = {
+    enable = mkOption {
+      type = types.bool;
+      description = ''
+        If enabled, starts the ArchisSteamFarm service.
+        For configuring the SteamGuard token you will need to use the web-ui, which is enabled by default over on 127.0.0.1:1242.
+        You cannot configure ASF in any way outside of nix, since all the config files get wiped on restart and replaced with the programatically set ones by nix.
+      '';
+      default = false;
+    };
+
+    web-ui = mkOption {
+      type = types.submodule {
+        options = {
+          enable = mkEnableOption
+            "Wheter to start the web-ui. This is the preferred way of configuring things such as the steam guard token";
+
+          package = mkOption {
+            type = types.package;
+            default = pkgs.ArchiSteamFarm.ui;
+            description =
+              "Web-UI package to use. Contents must be in lib/dist.";
+          };
+        };
+      };
+      default = {
+        enable = true;
+        package = pkgs.ArchiSteamFarm.ui;
+      };
+      example = {
+        enable = false;
+      };
+      description = "The Web-UI hosted on 127.0.0.1:1242.";
+    };
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.ArchiSteamFarm;
+      description =
+        "Package to use. Should always be the latest version, for security reasons, since this module uses very new features and to not get out of sync with the Steam API.";
+    };
+
+    dataDir = mkOption {
+      type = types.path;
+      default = "/var/lib/asf";
+      description = ''
+        The ASF home directory used to store all data.
+        If left as the default value this directory will automatically be created before the ASF server starts, otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership and permissions.'';
+    };
+
+    settings = mkOption {
+      type = format.type;
+      description = ''
+        The ASF.json file, all the options are documented <link xlink:href="https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#global-config">here</link>.
+        Do note that `AutoRestart`  and `UpdateChannel` is always to `false`
+respectively `0` because NixOS takes care of updating everything.
+        `Headless` is also always set to `true` because there is no way to provide inputs via a systemd service.
+        You should try to keep ASF up to date since upstream does not provide support for anything but the latest version and you're exposing yourself to all kinds of issues - as is outlined <link xlink:href="https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#updateperiod">here</link>.
+      '';
+      example = {
+        Statistics = false;
+      };
+      default = { };
+    };
+
+    ipcSettings = mkOption {
+      type = format.type;
+      description = ''
+        Settings to write to IPC.config.
+        All options can be found <link xlink:href="https://github.com/JustArchiNET/ArchiSteamFarm/wiki/IPC#custom-configuration">here</link>.
+      '';
+      example = {
+        Kestrel = {
+          Endpoints = {
+            HTTP = {
+              Url = "http://*:1242";
+            };
+          };
+        };
+      };
+      default = { };
+    };
+
+    bots = mkOption {
+      type = types.attrsOf (types.submodule {
+        options = {
+          username = mkOption {
+            type = types.str;
+            description =
+              "Name of the user to log in. Default is attribute name.";
+            default = "";
+          };
+          passwordFile = mkOption {
+            type = types.path;
+            description =
+              "Path to a file containig the password. The file must be readable by the <literal>asf</literal> user/group.";
+          };
+          enabled = mkOption {
+            type = types.bool;
+            default = true;
+            description = "Whether to enable the bot on startup.";
+          };
+          settings = mkOption {
+            type = types.attrs;
+            description =
+              "Additional settings that are documented <link xlink:href=\"https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#bot-config\">here</link>.";
+            default = { };
+          };
+        };
+      });
+      description = ''
+        Bots name and configuration.
+      '';
+      example = {
+        exampleBot = {
+          username = "alice";
+          passwordFile = "/var/lib/asf/secrets/password";
+          settings = { SteamParentalCode = "1234"; };
+        };
+      };
+      default = { };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    users = {
+      users.asf = {
+        home = cfg.dataDir;
+        isSystemUser = true;
+        group = "asf";
+        description = "Archis-Steam-Farm service user";
+      };
+      groups.asf = { };
+    };
+
+    systemd.services = {
+      asf = {
+        description = "Archis-Steam-Farm Service";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig = mkMerge [
+          (mkIf (cfg.dataDir == "/var/lib/asf") { StateDirectory = "asf"; })
+          {
+            User = "asf";
+            Group = "asf";
+            WorkingDirectory = cfg.dataDir;
+            Type = "simple";
+            ExecStart =
+              "${cfg.package}/bin/ArchiSteamFarm --path ${cfg.dataDir} --process-required --no-restart --service --no-config-migrate";
+
+            # mostly copied from the default systemd service
+            PrivateTmp = true;
+            LockPersonality = true;
+            PrivateDevices = true;
+            PrivateIPC = true;
+            PrivateMounts = true;
+            PrivateUsers = true;
+            ProtectClock = true;
+            ProtectControlGroups = true;
+            ProtectHostname = true;
+            ProtectKernelLogs = true;
+            ProtectKernelModules = true;
+            ProtectKernelTunables = true;
+            ProtectProc = "invisible";
+            ProtectSystem = "full";
+            RemoveIPC = true;
+            RestrictAddressFamilies = "AF_INET AF_INET6";
+            RestrictNamespaces = true;
+            RestrictRealtime = true;
+            RestrictSUIDSGID = true;
+          }
+        ];
+
+        preStart = ''
+          mkdir -p config
+          rm -f www
+          rm -f config/{*.json,*.config}
+
+          ln -s ${asf-config} config/ASF.json
+
+          ${strings.optionalString (cfg.ipcSettings != {}) ''
+            ln -s ${ipc-config} config/IPC.config
+          ''}
+
+          ln -s ${pkgs.runCommandLocal "ASF-bots" {} ''
+            mkdir -p $out/lib/asf/bots
+            for i in ${strings.concatStringsSep " " (lists.map (x: "${getName x},${x}") (attrsets.mapAttrsToList mkBot cfg.bots))}; do IFS=",";
+              set -- $i
+              ln -s $2 $out/lib/asf/bots/$1
+            done
+          ''}/lib/asf/bots/* config/
+
+          ${strings.optionalString cfg.web-ui.enable ''
+            ln -s ${cfg.web-ui.package}/lib/dist www
+          ''}
+        '';
+      };
+    };
+  };
+
+  meta = {
+    buildDocsInSandbox = false;
+    maintainers = with maintainers; [ lom ];
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/games/minecraft-server.nix b/nixpkgs/nixos/modules/services/games/minecraft-server.nix
index ddbe9508a4dc..5bb8eff57629 100644
--- a/nixpkgs/nixos/modules/services/games/minecraft-server.nix
+++ b/nixpkgs/nixos/modules/services/games/minecraft-server.nix
@@ -182,6 +182,27 @@ in {
         Restart = "always";
         User = "minecraft";
         WorkingDirectory = cfg.dataDir;
+        # Hardening
+        CapabilityBoundingSet = [ "" ];
+        DeviceAllow = [ "" ];
+        LockPersonality = true;
+        PrivateDevices = true;
+        PrivateTmp = true;
+        PrivateUsers = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallArchitectures = "native";
+        UMask = "0077";
       };
 
       preStart = ''
diff --git a/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix b/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix
index 766bf12ee9f0..f0b5a9c81960 100644
--- a/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix
+++ b/nixpkgs/nixos/modules/services/hardware/ddccontrol.nix
@@ -20,6 +20,9 @@ in
   ###### implementation
 
   config = lib.mkIf cfg.enable {
+    # Load the i2c-dev module
+    boot.kernelModules = [ "i2c_dev" ];
+
     # Give users access to the "gddccontrol" tool
     environment.systemPackages = [
       pkgs.ddccontrol
diff --git a/nixpkgs/nixos/modules/services/hardware/evscript.nix b/nixpkgs/nixos/modules/services/hardware/evscript.nix
index 5f5f511013c7..4736f088bfd8 100644
--- a/nixpkgs/nixos/modules/services/hardware/evscript.nix
+++ b/nixpkgs/nixos/modules/services/hardware/evscript.nix
@@ -13,6 +13,7 @@ in
         description = "evscript package to use for the evscript service";
         type = types.package;
         default = pkgs.evscript;
+        defaultText = literalExpression "pkgs.evscript";
       };
 
       devices = mkOption {
diff --git a/nixpkgs/nixos/modules/services/hardware/thermald.nix b/nixpkgs/nixos/modules/services/hardware/thermald.nix
index 3b495d00df07..fcd02ea90c6c 100644
--- a/nixpkgs/nixos/modules/services/hardware/thermald.nix
+++ b/nixpkgs/nixos/modules/services/hardware/thermald.nix
@@ -4,7 +4,8 @@ with lib;
 
 let
   cfg = config.services.thermald;
-in {
+in
+{
   ###### interface
   options = {
     services.thermald = {
@@ -41,6 +42,7 @@ in {
       description = "Thermal Daemon Service";
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
+        PrivateNetwork = true;
         ExecStart = ''
           ${cfg.package}/sbin/thermald \
             --no-daemon \
diff --git a/nixpkgs/nixos/modules/services/hardware/triggerhappy.nix b/nixpkgs/nixos/modules/services/hardware/triggerhappy.nix
index 4e979c4d8fa1..c2fa87875e11 100644
--- a/nixpkgs/nixos/modules/services/hardware/triggerhappy.nix
+++ b/nixpkgs/nixos/modules/services/hardware/triggerhappy.nix
@@ -70,7 +70,7 @@ in
         type = types.listOf (types.submodule bindingCfg);
         default = [];
         example = lib.literalExpression ''
-          [ { keys = ["PLAYPAUSE"];  cmd = "''${pkgs.mpc_cli}/bin/mpc -q toggle"; } ]
+          [ { keys = ["PLAYPAUSE"];  cmd = "''${pkgs.mpc-cli}/bin/mpc -q toggle"; } ]
         '';
         description = ''
           Key bindings for <command>triggerhappy</command>.
diff --git a/nixpkgs/nixos/modules/services/hardware/udev.nix b/nixpkgs/nixos/modules/services/hardware/udev.nix
index d48b5444677c..61448af2d33b 100644
--- a/nixpkgs/nixos/modules/services/hardware/udev.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/hardware/undervolt.nix b/nixpkgs/nixos/modules/services/hardware/undervolt.nix
index 212c0227c0d0..a743bbf21c8c 100644
--- a/nixpkgs/nixos/modules/services/hardware/undervolt.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/hardware/upower.nix b/nixpkgs/nixos/modules/services/hardware/upower.nix
index 92c060147bfc..81bf497c993d 100644
--- a/nixpkgs/nixos/modules/services/hardware/upower.nix
+++ b/nixpkgs/nixos/modules/services/hardware/upower.nix
@@ -155,8 +155,8 @@ in
         default = 1200;
         description = ''
           When <literal>usePercentageForPolicy</literal> is
-          <literal>false</literal>, the time remaining at which UPower will
-          consider the battery low.
+          <literal>false</literal>, the time remaining in seconds at which
+          UPower will consider the battery low.
 
           If any value (of <literal>timeLow</literal>,
           <literal>timeCritical</literal> and <literal>timeAction</literal>) is
@@ -169,8 +169,8 @@ in
         default = 300;
         description = ''
           When <literal>usePercentageForPolicy</literal> is
-          <literal>false</literal>, the time remaining at which UPower will
-          consider the battery critical.
+          <literal>false</literal>, the time remaining in seconds at which
+          UPower will consider the battery critical.
 
           If any value (of <literal>timeLow</literal>,
           <literal>timeCritical</literal> and <literal>timeAction</literal>) is
@@ -183,8 +183,8 @@ in
         default = 120;
         description = ''
           When <literal>usePercentageForPolicy</literal> is
-          <literal>false</literal>, the time remaining at which UPower will
-          take action for the critical battery level.
+          <literal>false</literal>, the time remaining in seconds at which
+          UPower will take action for the critical battery level.
 
           If any value (of <literal>timeLow</literal>,
           <literal>timeCritical</literal> and <literal>timeAction</literal>) is
diff --git a/nixpkgs/nixos/modules/services/misc/home-assistant.nix b/nixpkgs/nixos/modules/services/home-automation/home-assistant.nix
index 2de25d87ed39..f4197650ab23 100644
--- a/nixpkgs/nixos/modules/services/misc/home-assistant.nix
+++ b/nixpkgs/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.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>.
+              '';
+            };
           };
-        in valueType;
+
+          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.
+              '';
+            };
+          };
+
+          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,11 +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.
+        The Home Assistant package to use.
         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.
@@ -213,21 +356,6 @@ in {
       '';
     };
 
-    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>.
-      '';
-    };
-
     openFirewall = mkOption {
       default = false;
       type = types.bool;
@@ -240,18 +368,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 = [
@@ -278,6 +418,11 @@ in {
           "bluetooth_tracker"
           "bluetooth_le_tracker"
         ];
+        componentsUsingPing = [
+          # Components that require the capset syscall for the ping wrapper
+          "ping"
+          "wake_on_lan"
+        ];
         componentsUsingSerialDevices = [
           # Components that require access to serial devices (/dev/tty*)
           # List generated from home-assistant documentation:
@@ -324,7 +469,7 @@ in {
           "zwave_js"
         ];
       in {
-        ExecStart = "${package}/bin/hass --runner --config '${cfg.configDir}'";
+        ExecStart = "${package}/bin/hass --config '${cfg.configDir}'";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         User = "hass";
         Group = "hass";
@@ -382,6 +527,8 @@ in {
         SystemCallFilter = [
           "@system-service"
           "~@privileged"
+        ] ++ optionals (any useComponent componentsUsingPing) [
+          "capset"
         ];
         UMask = "0077";
       };
diff --git a/nixpkgs/nixos/modules/services/logging/logrotate.nix b/nixpkgs/nixos/modules/services/logging/logrotate.nix
index ba5d6e29d0bd..8cef4e8c083a 100644
--- a/nixpkgs/nixos/modules/services/logging/logrotate.nix
+++ b/nixpkgs/nixos/modules/services/logging/logrotate.nix
@@ -4,8 +4,9 @@ with lib;
 
 let
   cfg = config.services.logrotate;
+  inherit (config.users) groups;
 
-  pathOpts = {
+  pathOpts = { name, ... }:  {
     options = {
       enable = mkOption {
         type = types.bool;
@@ -16,10 +17,19 @@ let
         '';
       };
 
-      path = mkOption {
+      name = mkOption {
         type = types.str;
+        internal = true;
+      };
+
+      path = mkOption {
+        type = with types; either str (listOf str);
+        default = name;
+        defaultText = "attribute name";
         description = ''
           The path to log files to be rotated.
+          Spaces are allowed and normal shell quoting rules apply,
+          with ', ", and \ characters supported.
         '';
       };
 
@@ -74,6 +84,7 @@ let
       };
     };
 
+    config.name = name;
     config.extraConfig = ''
       missingok
       notifempty
@@ -82,7 +93,7 @@ let
 
   mkConf = pathOpts: ''
     # generated by NixOS using the `services.logrotate.paths.${pathOpts.name}` attribute set
-    "${pathOpts.path}" {
+    ${concatMapStringsSep " " (path: ''"${path}"'') (toList pathOpts.path)} {
       ${optionalString (pathOpts.user != null || pathOpts.group != null) "su ${pathOpts.user} ${pathOpts.group}"}
       ${pathOpts.frequency}
       rotate ${toString pathOpts.keep}
@@ -90,7 +101,7 @@ let
     }
   '';
 
-  paths = sortProperties (mapAttrsToList (name: pathOpts: pathOpts // { name = name; }) (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths));
+  paths = sortProperties (attrValues (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths));
   configFile = pkgs.writeText "logrotate.conf" (concatStringsSep "\n" ((map mkConf paths) ++ [ cfg.extraConfig ]));
 
 in
@@ -152,17 +163,34 @@ 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" ];
       startAt = "hourly";
-      script = ''
-        exec ${pkgs.logrotate}/sbin/logrotate ${configFile}
-      '';
 
       serviceConfig = {
         Restart = "no";
         User = "root";
+        ExecStart = "${pkgs.logrotate}/sbin/logrotate ${configFile}";
       };
     };
   };
diff --git a/nixpkgs/nixos/modules/services/logging/promtail.nix b/nixpkgs/nixos/modules/services/logging/promtail.nix
index 95c83796ece6..a34bc07b6ab2 100644
--- a/nixpkgs/nixos/modules/services/logging/promtail.nix
+++ b/nixpkgs/nixos/modules/services/logging/promtail.nix
@@ -45,7 +45,7 @@ in {
         Restart = "on-failure";
         TimeoutStopSec = 10;
 
-        ExecStart = "${pkgs.grafana-loki}/bin/promtail -config.file=${prettyJSON cfg.configuration} ${escapeShellArgs cfg.extraFlags}";
+        ExecStart = "${pkgs.promtail}/bin/promtail -config.file=${prettyJSON cfg.configuration} ${escapeShellArgs cfg.extraFlags}";
 
         ProtectSystem = "strict";
         ProtectHome = true;
diff --git a/nixpkgs/nixos/modules/services/mail/dovecot.nix b/nixpkgs/nixos/modules/services/mail/dovecot.nix
index c39827c5b867..a8c1f176782c 100644
--- a/nixpkgs/nixos/modules/services/mail/dovecot.nix
+++ b/nixpkgs/nixos/modules/services/mail/dovecot.nix
@@ -38,7 +38,7 @@ let
         ssl_cert = <${cfg.sslServerCert}
         ssl_key = <${cfg.sslServerKey}
         ${optionalString (cfg.sslCACert != null) ("ssl_ca = <" + cfg.sslCACert)}
-        ssl_dh = <${config.security.dhparams.params.dovecot2.path}
+        ${optionalString cfg.enableDHE ''ssl_dh = <${config.security.dhparams.params.dovecot2.path}''}
         disable_plaintext_auth = yes
       ''
     )
@@ -169,25 +169,13 @@ in
   ];
 
   options.services.dovecot2 = {
-    enable = mkEnableOption "Dovecot 2.x POP3/IMAP server";
+    enable = mkEnableOption "the dovecot 2.x POP3/IMAP server";
 
-    enablePop3 = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Start the POP3 listener (when Dovecot is enabled).";
-    };
+    enablePop3 = mkEnableOption "starting the POP3 listener (when Dovecot is enabled).";
 
-    enableImap = mkOption {
-      type = types.bool;
-      default = true;
-      description = "Start the IMAP listener (when Dovecot is enabled).";
-    };
+    enableImap = mkEnableOption "starting the IMAP listener (when Dovecot is enabled)." // { default = true; };
 
-    enableLmtp = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Start the LMTP listener (when Dovecot is enabled).";
-    };
+    enableLmtp = mkEnableOption "starting the LMTP listener (when Dovecot is enabled).";
 
     protocols = mkOption {
       type = types.listOf types.str;
@@ -279,13 +267,9 @@ in
       description = "Default group to store mail for virtual users.";
     };
 
-    createMailUser = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''Whether to automatically create the user
-        given in <option>services.dovecot.user</option> and the group
-        given in <option>services.dovecot.group</option>.'';
-    };
+    createMailUser = mkEnableOption ''automatically creating the user
+      given in <option>services.dovecot.user</option> and the group
+      given in <option>services.dovecot.group</option>.'' // { default = true; };
 
     modules = mkOption {
       type = types.listOf types.package;
@@ -316,11 +300,9 @@ in
       description = "Path to the server's private key.";
     };
 
-    enablePAM = mkOption {
-      type = types.bool;
-      default = true;
-      description = "Whether to create a own Dovecot PAM service and configure PAM user logins.";
-    };
+    enablePAM = mkEnableOption "creating a own Dovecot PAM service and configure PAM user logins." // { default = true; };
+
+    enableDHE = mkEnableOption "enable ssl_dh and generation of primes for the key exchange." // { default = true; };
 
     sieveScripts = mkOption {
       type = types.attrsOf types.path;
@@ -328,11 +310,7 @@ in
       description = "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc.";
     };
 
-    showPAMFailure = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Show the PAM failure message on authentication error (useful for OTPW).";
-    };
+    showPAMFailure = mkEnableOption "showing the PAM failure message on authentication error (useful for OTPW).";
 
     mailboxes = mkOption {
       type = with types; coercedTo
@@ -348,12 +326,7 @@ in
       description = "Configure mailboxes and auto create or subscribe them.";
     };
 
-    enableQuota = mkOption {
-      type = types.bool;
-      default = false;
-      example = true;
-      description = "Whether to enable the dovecot quota service.";
-    };
+    enableQuota = mkEnableOption "the dovecot quota service.";
 
     quotaPort = mkOption {
       type = types.str;
@@ -376,7 +349,7 @@ in
   config = mkIf cfg.enable {
     security.pam.services.dovecot2 = mkIf cfg.enablePAM {};
 
-    security.dhparams = mkIf (cfg.sslServerCert != null) {
+    security.dhparams = mkIf (cfg.sslServerCert != null && cfg.enableDHE) {
       enable = true;
       params.dovecot2 = {};
     };
diff --git a/nixpkgs/nixos/modules/services/mail/postfixadmin.nix b/nixpkgs/nixos/modules/services/mail/postfixadmin.nix
index f5c8efb3076c..a0846ad52902 100644
--- a/nixpkgs/nixos/modules/services/mail/postfixadmin.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/mail/public-inbox.nix b/nixpkgs/nixos/modules/services/mail/public-inbox.nix
index 9e016e6e533b..0bd3d8be854d 100644
--- a/nixpkgs/nixos/modules/services/mail/public-inbox.nix
+++ b/nixpkgs/nixos/modules/services/mail/public-inbox.nix
@@ -86,6 +86,7 @@ in
     package = mkOption {
       type = types.package;
       default = pkgs.public-inbox;
+      defaultText = literalExpression "pkgs.public-inbox";
       description = "public-inbox package to use.";
     };
     path = mkOption {
@@ -276,6 +277,7 @@ in
     spamAssassinRules = mkOption {
       type = with types; nullOr path;
       default = "${cfg.package.sa_config}/user/.spamassassin/user_prefs";
+      defaultText = literalExpression "\${config.services.public-inbox.package.sa_config}/user/.spamassassin/user_prefs";
       description = "SpamAssassin configuration specific to public-inbox.";
     };
 
diff --git a/nixpkgs/nixos/modules/services/mail/roundcube.nix b/nixpkgs/nixos/modules/services/mail/roundcube.nix
index ac192c56aa60..1dd393da8822 100644
--- a/nixpkgs/nixos/modules/services/mail/roundcube.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/matrix/mjolnir.xml b/nixpkgs/nixos/modules/services/matrix/mjolnir.xml
index d462ddf7b01b..b07abe339791 100644
--- a/nixpkgs/nixos/modules/services/matrix/mjolnir.xml
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/airsonic.nix b/nixpkgs/nixos/modules/services/misc/airsonic.nix
index 5a5c30a41233..2b9c6d80abbd 100644
--- a/nixpkgs/nixos/modules/services/misc/airsonic.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/ananicy.nix b/nixpkgs/nixos/modules/services/misc/ananicy.nix
index f76f534fb450..191666bc3625 100644
--- a/nixpkgs/nixos/modules/services/misc/ananicy.nix
+++ b/nixpkgs/nixos/modules/services/misc/ananicy.nix
@@ -84,7 +84,7 @@ in
       } // (if ((lib.getName cfg.package) == (lib.getName pkgs.ananicy-cpp)) then {
         # https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/config.cpp#L12
         loglevel = mkOD "warn"; # default is info but its spammy
-        cgroup_realtime_workaround = mkOD true;
+        cgroup_realtime_workaround = mkOD config.systemd.enableUnifiedCgroupHierarchy;
       } else {
         # https://github.com/Nefelim4ag/Ananicy/blob/master/ananicy.d/ananicy.conf
         check_disks_schedulers = mkOD true;
diff --git a/nixpkgs/nixos/modules/services/misc/autorandr.nix b/nixpkgs/nixos/modules/services/misc/autorandr.nix
index 95cee5046e81..a65c5c9d11cf 100644
--- a/nixpkgs/nixos/modules/services/misc/autorandr.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/bees.nix b/nixpkgs/nixos/modules/services/misc/bees.nix
index cb97a86b8592..fa00d7e4f55d 100644
--- a/nixpkgs/nixos/modules/services/misc/bees.nix
+++ b/nixpkgs/nixos/modules/services/misc/bees.nix
@@ -21,6 +21,8 @@ let
         <para>
         This must be in a format usable by findmnt; that could be a key=value
         pair, or a bare path to a mount point.
+        Using bare paths will allow systemd to start the beesd service only
+        after mounting the associated path.
       '';
       example = "LABEL=MyBulkDataDrive";
     };
@@ -122,6 +124,7 @@ in
             StartupIOWeight = 25;
             SyslogIdentifier = "beesd"; # would otherwise be "bees-service-wrapper"
           };
+        unitConfig.RequiresMountsFor = lib.mkIf (lib.hasPrefix "/" fs.spec) fs.spec;
         wantedBy = [ "multi-user.target" ];
       })
       cfg.filesystems;
diff --git a/nixpkgs/nixos/modules/services/misc/gitea.nix b/nixpkgs/nixos/modules/services/misc/gitea.nix
index 0096286701f4..bc7bb663ee00 100644
--- a/nixpkgs/nixos/modules/services/misc/gitea.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitea.nix
@@ -177,6 +177,19 @@ in
           defaultText = literalExpression ''"''${config.${opt.stateDir}}/dump"'';
           description = "Path to the dump files.";
         };
+
+        type = mkOption {
+          type = types.enum [ "zip" "rar" "tar" "sz" "tar.gz" "tar.xz" "tar.bz2" "tar.br" "tar.lz4" ];
+          default = "zip";
+          description = "Archive format used to store the dump file.";
+        };
+
+        file = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = "Filename to be used for the dump. If `null` a default name is choosen by gitea.";
+          example = "gitea-dump";
+        };
       };
 
       ssh = {
@@ -634,7 +647,7 @@ in
        serviceConfig = {
          Type = "oneshot";
          User = cfg.user;
-         ExecStart = "${gitea}/bin/gitea dump";
+         ExecStart = "${gitea}/bin/gitea dump --type ${cfg.dump.type}" + optionalString (cfg.dump.file != null) " --file ${cfg.dump.file}";
          WorkingDirectory = cfg.dump.backupDir;
        };
     };
diff --git a/nixpkgs/nixos/modules/services/misc/gitlab.nix b/nixpkgs/nixos/modules/services/misc/gitlab.nix
index 219155777db9..e48444f71612 100644
--- a/nixpkgs/nixos/modules/services/misc/gitlab.nix
+++ b/nixpkgs/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 {
@@ -1099,7 +1104,9 @@ in {
       "d ${gitlabConfig.production.shared.path} 0750 ${cfg.user} ${cfg.group} -"
       "d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -"
       "d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -"
+      "d ${gitlabConfig.production.shared.path}/packages 0750 ${cfg.user} ${cfg.group} -"
       "d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
+      "d ${gitlabConfig.production.shared.path}/terraform_state 0750 ${cfg.user} ${cfg.group} -"
       "L+ /run/gitlab/config - - - - ${cfg.statePath}/config"
       "L+ /run/gitlab/log - - - - ${cfg.statePath}/log"
       "L+ /run/gitlab/tmp - - - - ${cfg.statePath}/tmp"
@@ -1129,8 +1136,8 @@ in {
 
         ExecStartPre = let
           preStartFullPrivileges = ''
-            shopt -s dotglob nullglob
-            set -eu
+            set -o errexit -o pipefail -o nounset
+            shopt -s dotglob nullglob inherit_errexit
 
             chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/*
             if [[ -n "$(ls -A '${cfg.statePath}'/config/)" ]]; then
@@ -1140,7 +1147,8 @@ in {
         in "+${pkgs.writeShellScript "gitlab-pre-start-full-privileges" preStartFullPrivileges}";
 
         ExecStart = pkgs.writeShellScript "gitlab-config" ''
-          set -eu
+          set -o errexit -o pipefail -o nounset
+          shopt -s inherit_errexit
 
           umask u=rwx,g=rx,o=
 
@@ -1169,7 +1177,8 @@ in {
             rm -f '${cfg.statePath}/config/database.yml'
 
             ${if cfg.databasePasswordFile != null then ''
-                export db_password="$(<'${cfg.databasePasswordFile}')"
+                db_password="$(<'${cfg.databasePasswordFile}')"
+                export db_password
 
                 if [[ -z "$db_password" ]]; then
                   >&2 echo "Database password was an empty string!"
@@ -1193,10 +1202,11 @@ in {
 
             rm -f '${cfg.statePath}/config/secrets.yml'
 
-            export secret="$(<'${cfg.secrets.secretFile}')"
-            export db="$(<'${cfg.secrets.dbFile}')"
-            export otp="$(<'${cfg.secrets.otpFile}')"
-            export jws="$(<'${cfg.secrets.jwsFile}')"
+            secret="$(<'${cfg.secrets.secretFile}')"
+            db="$(<'${cfg.secrets.dbFile}')"
+            otp="$(<'${cfg.secrets.otpFile}')"
+            jws="$(<'${cfg.secrets.jwsFile}')"
+            export secret db otp jws
             jq -n '{production: {secret_key_base: $ENV.secret,
                     otp_key_base: $ENV.otp,
                     db_key_base: $ENV.db,
@@ -1230,7 +1240,8 @@ in {
         RemainAfterExit = true;
 
         ExecStart = pkgs.writeShellScript "gitlab-db-config" ''
-          set -eu
+          set -o errexit -o pipefail -o nounset
+          shopt -s inherit_errexit
           umask u=rwx,g=rx,o=
 
           initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
@@ -1243,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";
@@ -1364,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" ];
@@ -1385,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/nixpkgs/nixos/modules/services/misc/heisenbridge.nix b/nixpkgs/nixos/modules/services/misc/heisenbridge.nix
new file mode 100644
index 000000000000..7ce8a23d9af1
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/heisenbridge.nix
@@ -0,0 +1,222 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.heisenbridge;
+
+  pkg = config.services.heisenbridge.package;
+  bin = "${pkg}/bin/heisenbridge";
+
+  jsonType = (pkgs.formats.json { }).type;
+
+  registrationFile = "/var/lib/heisenbridge/registration.yml";
+  # JSON is a proper subset of YAML
+  bridgeConfig = builtins.toFile "heisenbridge-registration.yml" (builtins.toJSON {
+    id = "heisenbridge";
+    url = cfg.registrationUrl;
+    # Don't specify as_token and hs_token
+    rate_limited = false;
+    sender_localpart = "heisenbridge";
+    namespaces = cfg.namespaces;
+  });
+in
+{
+  options.services.heisenbridge = {
+    enable = mkEnableOption "the Matrix to IRC bridge";
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.heisenbridge;
+      defaultText = "pkgs.heisenbridge";
+      example = "pkgs.heisenbridge.override { … = …; }";
+      description = ''
+        Package of the application to run, exposed for overriding purposes.
+      '';
+    };
+
+    homeserver = mkOption {
+      type = types.str;
+      description = "The URL to the home server for client-server API calls";
+      example = "http://localhost:8008";
+    };
+
+    registrationUrl = mkOption {
+      type = types.str;
+      description = ''
+        The URL where the application service is listening for HS requests, from the Matrix HS perspective.#
+        The default value assumes the bridge runs on the same host as the home server, in the same network.
+      '';
+      example = "https://matrix.example.org";
+      default = "http://${cfg.address}:${toString cfg.port}";
+      defaultText = "http://$${cfg.address}:$${toString cfg.port}";
+    };
+
+    address = mkOption {
+      type = types.str;
+      description = "Address to listen on. IPv6 does not seem to be supported.";
+      default = "127.0.0.1";
+      example = "0.0.0.0";
+    };
+
+    port = mkOption {
+      type = types.port;
+      description = "The port to listen on";
+      default = 9898;
+    };
+
+    debug = mkOption {
+      type = types.bool;
+      description = "More verbose logging. Recommended during initial setup.";
+      default = false;
+    };
+
+    owner = mkOption {
+      type = types.nullOr types.str;
+      description = ''
+        Set owner MXID otherwise first talking local user will claim the bridge
+      '';
+      default = null;
+      example = "@admin:example.org";
+    };
+
+    namespaces = mkOption {
+      description = "Configure the 'namespaces' section of the registration.yml for the bridge and the server";
+      # TODO link to Matrix documentation of the format
+      type = types.submodule {
+        freeformType = jsonType;
+      };
+
+      default = {
+        users = [
+          {
+            regex = "@irc_.*";
+            exclusive = true;
+          }
+        ];
+        aliases = [ ];
+        rooms = [ ];
+      };
+    };
+
+    identd.enable = mkEnableOption "identd service support";
+    identd.port = mkOption {
+      type = types.port;
+      description = "identd listen port";
+      default = 113;
+    };
+
+    extraArgs = mkOption {
+      type = types.listOf types.str;
+      description = "Heisenbridge is configured over the command line. Append extra arguments here";
+      default = [ ];
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.heisenbridge = {
+      description = "Matrix<->IRC bridge";
+      before = [ "matrix-synapse.service" ]; # So the registration file can be used by Synapse
+      wantedBy = [ "multi-user.target" ];
+
+      preStart = ''
+        umask 077
+        set -e -u -o pipefail
+
+        if ! [ -f "${registrationFile}" ]; then
+          # Generate registration file if not present (actually, we only care about the tokens in it)
+          ${bin} --generate --config ${registrationFile}
+        fi
+
+        # Overwrite the registration file with our generated one (the config may have changed since then),
+        # but keep the tokens. Two step procedure to be failure safe
+        ${pkgs.yq}/bin/yq --slurp \
+          '.[0] + (.[1] | {as_token, hs_token})' \
+          ${bridgeConfig} \
+          ${registrationFile} \
+          > ${registrationFile}.new
+        mv -f ${registrationFile}.new ${registrationFile}
+
+        # Grant Synapse access to the registration
+        if ${getBin pkgs.glibc}/bin/getent group matrix-synapse > /dev/null; then
+          chgrp -v matrix-synapse ${registrationFile}
+          chmod -v g+r ${registrationFile}
+        fi
+      '';
+
+      serviceConfig = rec {
+        Type = "simple";
+        ExecStart = lib.concatStringsSep " " (
+          [
+            bin
+            (if cfg.debug then "-vvv" else "-v")
+            "--config"
+            registrationFile
+            "--listen-address"
+            (lib.escapeShellArg cfg.address)
+            "--listen-port"
+            (toString cfg.port)
+          ]
+          ++ (lib.optionals (cfg.owner != null) [
+            "--owner"
+            (lib.escapeShellArg cfg.owner)
+          ])
+          ++ (lib.optionals cfg.identd.enable [
+            "--identd"
+            "--identd-port"
+            (toString cfg.identd.port)
+          ])
+          ++ [
+            (lib.escapeShellArg cfg.homeserver)
+          ]
+          ++ (map (lib.escapeShellArg) cfg.extraArgs)
+        );
+
+        # Hardening options
+
+        User = "heisenbridge";
+        Group = "heisenbridge";
+        RuntimeDirectory = "heisenbridge";
+        RuntimeDirectoryMode = "0700";
+        StateDirectory = "heisenbridge";
+        StateDirectoryMode = "0755";
+
+        ProtectSystem = "strict";
+        ProtectHome = true;
+        PrivateTmp = true;
+        PrivateDevices = true;
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        RestrictSUIDSGID = true;
+        PrivateMounts = true;
+        ProtectKernelModules = true;
+        ProtectKernelLogs = true;
+        ProtectHostname = true;
+        ProtectClock = true;
+        ProtectProc = "invisible";
+        ProcSubset = "pid";
+        RestrictNamespaces = true;
+        RemoveIPC = true;
+        UMask = "0077";
+
+        CapabilityBoundingSet = [ "CAP_CHOWN" ] ++ optional (cfg.port < 1024 || (cfg.identd.enable && cfg.identd.port < 1024)) "CAP_NET_BIND_SERVICE";
+        AmbientCapabilities = CapabilityBoundingSet;
+        NoNewPrivileges = true;
+        LockPersonality = true;
+        RestrictRealtime = true;
+        SystemCallFilter = ["@system-service" "~@priviledged" "@chown"];
+        SystemCallArchitectures = "native";
+        RestrictAddressFamilies = "AF_INET AF_INET6";
+      };
+    };
+
+    users.groups.heisenbridge = {};
+    users.users.heisenbridge = {
+      description = "Service user for the Heisenbridge";
+      group = "heisenbridge";
+      isSystemUser = true;
+    };
+  };
+
+  meta.maintainers = [ lib.maintainers.piegames ];
+}
diff --git a/nixpkgs/nixos/modules/services/misc/input-remapper.nix b/nixpkgs/nixos/modules/services/misc/input-remapper.nix
new file mode 100644
index 000000000000..c2da0d616a31
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix b/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
index 02627e51c932..b041c9c82c56 100644
--- a/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
+++ b/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
@@ -226,4 +226,7 @@ in {
       isSystemUser = true;
     };
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/misc/matrix-conduit.nix b/nixpkgs/nixos/modules/services/misc/matrix-conduit.nix
new file mode 100644
index 000000000000..108f64de7aa9
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/matrix-conduit.nix
@@ -0,0 +1,149 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.matrix-conduit;
+
+  format = pkgs.formats.toml {};
+  configFile = format.generate "conduit.toml" cfg.settings;
+in
+  {
+    meta.maintainers = with maintainers; [ pstn piegames ];
+    options.services.matrix-conduit = {
+      enable = mkEnableOption "matrix-conduit";
+
+      extraEnvironment = mkOption {
+        type = types.attrsOf types.str;
+        description = "Extra Environment variables to pass to the conduit server.";
+        default = {};
+        example = { RUST_BACKTRACE="yes"; };
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.matrix-conduit;
+        defaultText = "pkgs.matrix-conduit";
+        example = "pkgs.matrix-conduit";
+        description = ''
+          Package of the conduit matrix server to use.
+        '';
+      };
+
+      settings = mkOption {
+        type = types.submodule {
+          freeformType = format.type;
+          options = {
+            global.server_name = mkOption {
+              type = types.str;
+              example = "example.com";
+              description = "The server_name is the name of this server. It is used as a suffix for user # and room ids.";
+            };
+            global.port = mkOption {
+              type = types.port;
+              default = 6167;
+              description = "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port";
+            };
+            global.max_request_size = mkOption {
+              type = types.ints.positive;
+              default = 20000000;
+              description = "Max request size in bytes. Don't forget to also change it in the proxy.";
+            };
+            global.allow_registration = mkOption {
+              type = types.bool;
+              default = false;
+              description = "Whether new users can register on this server.";
+            };
+            global.allow_encryption = mkOption {
+              type = types.bool;
+              default = true;
+              description = "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.";
+            };
+            global.allow_federation = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                Whether this server federates with other servers.
+              '';
+            };
+            global.trusted_servers = mkOption {
+              type = types.listOf types.str;
+              default = [ "matrix.org" ];
+              description = "Servers trusted with signing server keys.";
+            };
+            global.address = mkOption {
+              type = types.str;
+              default = "::1";
+              description = "Address to listen on for connections by the reverse proxy/tls terminator.";
+            };
+            global.database_path = mkOption {
+              type = types.str;
+              default = "/var/lib/matrix-conduit/";
+              readOnly = true;
+              description = ''
+                Path to the conduit database, the directory where conduit will save its data.
+                Note that due to using the DynamicUser feature of systemd, this value should not be changed
+                and is set to be read only.
+              '';
+            };
+            global.database_backend = mkOption {
+              type = types.enum [ "sqlite" "rocksdb" ];
+              default = "sqlite";
+              example = "rocksdb";
+              description = ''
+                The database backend for the service. Switching it on an existing
+                instance will require manual migration of data.
+              '';
+            };
+          };
+        };
+        default = {};
+        description = ''
+            Generates the conduit.toml configuration file. Refer to
+            <link xlink:href="https://gitlab.com/famedly/conduit/-/blob/master/conduit-example.toml"/>
+            for details on supported values.
+            Note that database_path can not be edited because the service's reliance on systemd StateDir.
+        '';
+      };
+    };
+
+    config = mkIf cfg.enable {
+      systemd.services.conduit = {
+        description = "Conduit Matrix Server";
+        documentation = [ "https://gitlab.com/famedly/conduit/" ];
+        wantedBy = [ "multi-user.target" ];
+        environment = lib.mkMerge ([
+          { CONDUIT_CONFIG = configFile; }
+          cfg.extraEnvironment
+        ]);
+        serviceConfig = {
+          DynamicUser = true;
+          User = "conduit";
+          LockPersonality = true;
+          MemoryDenyWriteExecute = true;
+          ProtectClock = true;
+          ProtectControlGroups = true;
+          ProtectHostname = true;
+          ProtectKernelLogs = true;
+          ProtectKernelModules = true;
+          ProtectKernelTunables = true;
+          PrivateDevices = true;
+          PrivateMounts = true;
+          PrivateUsers = true;
+          RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+          RestrictNamespaces = true;
+          RestrictRealtime = true;
+          SystemCallArchitectures = "native";
+          SystemCallFilter = [
+            "@system-service"
+            "~@privileged"
+          ];
+          StateDirectory = "matrix-conduit";
+          ExecStart = "${cfg.package}/bin/conduit";
+          Restart = "on-failure";
+          RestartSec = 10;
+          StartLimitBurst = 5;
+        };
+      };
+    };
+  }
diff --git a/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix b/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
index 404163d2de6c..feca4c5465ff 100644
--- a/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixpkgs/nixos/modules/services/misc/matrix-synapse.nix
@@ -119,6 +119,30 @@ ${cfg.extraConfig}
 
   hasLocalPostgresDB = let args = cfg.database_args; in
     usePostgresql && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ]));
+
+  registerNewMatrixUser =
+    let
+      isIpv6 = x: lib.length (lib.splitString ":" x) > 1;
+      listener =
+        lib.findFirst (
+          listener: lib.any (
+            resource: lib.any (
+              name: name == "client"
+            ) resource.names
+          ) listener.resources
+        ) (lib.last cfg.listeners) cfg.listeners;
+    in
+    pkgs.writeShellScriptBin "matrix-synapse-register_new_matrix_user" ''
+      exec ${cfg.package}/bin/register_new_matrix_user \
+        $@ \
+        ${lib.concatMapStringsSep " " (x: "-c ${x}") ([ configFile ] ++ cfg.extraConfigFiles)} \
+        "${listener.type}://${
+          if (isIpv6 listener.bind_address) then
+            "[${listener.bind_address}]"
+          else
+            "${listener.bind_address}"
+        }:${builtins.toString listener.port}/"
+    '';
 in {
   options = {
     services.matrix-synapse = {
@@ -294,7 +318,7 @@ in {
                     description = ''
                       List of resources to host on this listener.
                     '';
-                    example = ["client" "webclient" "federation"];
+                    example = ["client" "federation"];
                   };
                   compress = mkOption {
                     type = types.bool;
@@ -319,7 +343,7 @@ in {
           tls = true;
           x_forwarded = false;
           resources = [
-            { names = ["client" "webclient"]; compress = true; }
+            { names = ["client"]; compress = true; }
             { names = ["federation"]; compress = false; }
           ];
         }];
@@ -792,6 +816,8 @@ in {
         UMask = "0077";
       };
     };
+
+    environment.systemPackages = [ registerNewMatrixUser ];
   };
 
   imports = [
diff --git a/nixpkgs/nixos/modules/services/misc/mbpfan.nix b/nixpkgs/nixos/modules/services/misc/mbpfan.nix
index d80b6fafc2cf..e0a4d8a13e75 100644
--- a/nixpkgs/nixos/modules/services/misc/mbpfan.nix
+++ b/nixpkgs/nixos/modules/services/misc/mbpfan.nix
@@ -5,6 +5,8 @@ with lib;
 let
   cfg = config.services.mbpfan;
   verbose = if cfg.verbose then "v" else "";
+  settingsFormat = pkgs.formats.ini {};
+  settingsFile = settingsFormat.generate "mbpfan.ini" cfg.settings;
 
 in {
   options.services.mbpfan = {
@@ -19,54 +21,6 @@ in {
       '';
     };
 
-    minFanSpeed = mkOption {
-      type = types.int;
-      default = 2000;
-      description = ''
-        The minimum fan speed.
-      '';
-    };
-
-    maxFanSpeed = mkOption {
-      type = types.int;
-      default = 6200;
-      description = ''
-        The maximum fan speed.
-      '';
-    };
-
-    lowTemp = mkOption {
-      type = types.int;
-      default = 63;
-      description = ''
-        The low temperature.
-      '';
-    };
-
-    highTemp = mkOption {
-      type = types.int;
-      default = 66;
-      description = ''
-        The high temperature.
-      '';
-    };
-
-    maxTemp = mkOption {
-      type = types.int;
-      default = 86;
-      description = ''
-        The maximum temperature.
-      '';
-    };
-
-    pollingInterval = mkOption {
-      type = types.int;
-      default = 7;
-      description = ''
-        The polling interval.
-      '';
-    };
-
     verbose = mkOption {
       type = types.bool;
       default = false;
@@ -74,23 +28,67 @@ in {
         If true, sets the log level to verbose.
       '';
     };
+
+    settings = mkOption {
+      default = {};
+      description = "The INI configuration for Mbpfan.";
+      type = types.submodule {
+        freeformType = settingsFormat.type;
+
+        options.general.min_fan1_speed = mkOption {
+          type = types.nullOr types.int;
+          default = 2000;
+          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.nullOr types.int;
+          default = 6199;
+          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 = "Temperature below which fan speed will be at minimum. Try ranges 55-63.";
+        };
+        options.general.high_temp = mkOption {
+          type = types.int;
+          default = 58;
+          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 = "Fan will run at full speed above this temperature. Do not set it > 90.";
+        };
+        options.general.polling_interval = mkOption {
+          type = types.int;
+          default = 1;
+          description = "The polling interval.";
+        };
+      };
+    };
   };
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "mbpfan" "pollingInterval" ] [ "services" "mbpfan" "settings" "general" "polling_interval" ])
+    (mkRenamedOptionModule [ "services" "mbpfan" "maxTemp" ] [ "services" "mbpfan" "settings" "general" "max_temp" ])
+    (mkRenamedOptionModule [ "services" "mbpfan" "lowTemp" ] [ "services" "mbpfan" "settings" "general" "low_temp" ])
+    (mkRenamedOptionModule [ "services" "mbpfan" "highTemp" ] [ "services" "mbpfan" "settings" "general" "high_temp" ])
+    (mkRenamedOptionModule [ "services" "mbpfan" "minFanSpeed" ] [ "services" "mbpfan" "settings" "general" "min_fan1_speed" ])
+    (mkRenamedOptionModule [ "services" "mbpfan" "maxFanSpeed" ] [ "services" "mbpfan" "settings" "general" "max_fan1_speed" ])
+  ];
+
   config = mkIf cfg.enable {
     boot.kernelModules = [ "coretemp" "applesmc" ];
 
-    environment = {
-      etc."mbpfan.conf".text = ''
-        [general]
-        min_fan_speed = ${toString cfg.minFanSpeed}
-        max_fan_speed = ${toString cfg.maxFanSpeed}
-        low_temp = ${toString cfg.lowTemp}
-        high_temp = ${toString cfg.highTemp}
-        max_temp = ${toString cfg.maxTemp}
-        polling_interval = ${toString cfg.pollingInterval}
-      '';
-      systemPackages = [ cfg.package ];
-    };
+    environment.etc."mbpfan.conf".source = settingsFile;
+    environment.systemPackages = [ cfg.package ];
 
     systemd.services.mbpfan = {
       description = "A fan manager daemon for MacBook Pro";
diff --git a/nixpkgs/nixos/modules/services/misc/mediatomb.nix b/nixpkgs/nixos/modules/services/misc/mediatomb.nix
index ea9ffbb86775..ee5c0ef8d277 100644
--- a/nixpkgs/nixos/modules/services/misc/mediatomb.nix
+++ b/nixpkgs/nixos/modules/services/misc/mediatomb.nix
@@ -217,7 +217,6 @@ in {
 
       package = mkOption {
         type = types.package;
-        example = literalExpression "pkgs.mediatomb";
         default = pkgs.gerbera;
         defaultText = literalExpression "pkgs.gerbera";
         description = ''
@@ -367,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/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix b/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
index b6f5e04511ae..6214f7f7eb6b 100644
--- a/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
+++ b/nixpkgs/nixos/modules/services/misc/mx-puppet-discord.nix
@@ -79,10 +79,7 @@ in {
 
   config = mkIf cfg.enable {
     systemd.services.mx-puppet-discord = {
-      description = ''
-        mx-puppet-discord is a discord puppeting bridge for matrix.
-        It handles bridging private and group DMs, as well as Guilds (servers).
-      '';
+      description = "Matrix to Discord puppeting bridge";
 
       wantedBy = [ "multi-user.target" ];
       wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
diff --git a/nixpkgs/nixos/modules/services/misc/n8n.nix b/nixpkgs/nixos/modules/services/misc/n8n.nix
index 27616e5f8226..77e717eeff9f 100644
--- a/nixpkgs/nixos/modules/services/misc/n8n.nix
+++ b/nixpkgs/nixos/modules/services/misc/n8n.nix
@@ -43,6 +43,7 @@ in
         # This folder must be writeable as the application is storing
         # its data in it, so the StateDirectory is a good choice
         N8N_USER_FOLDER = "/var/lib/n8n";
+        HOME = "/var/lib/n8n";
         N8N_CONFIG_FILES = "${configFile}";
       };
       serviceConfig = {
diff --git a/nixpkgs/nixos/modules/services/misc/nix-daemon.nix b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
index 869feb05eb7b..ca59ea293783 100644
--- a/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
@@ -6,20 +6,20 @@ let
 
   cfg = config.nix;
 
-  nix = cfg.package.out;
+  nixPackage = cfg.package.out;
 
-  nixVersion = getVersion nix;
-
-  isNix23 = versionAtLeast nixVersion "2.3pre";
+  isNixAtLeast = versionAtLeast (getVersion nixPackage);
 
   makeNixBuildUser = nr: {
-    name  = "nixbld${toString nr}";
+    name = "nixbld${toString nr}";
     value = {
       description = "Nix build user ${toString nr}";
 
-      /* For consistency with the setgid(2), setuid(2), and setgroups(2)
-         calls in `libstore/build.cc', don't add any supplementary group
-         here except "nixbld".  */
+      /*
+        For consistency with the setgid(2), setuid(2), and setgroups(2)
+        calls in `libstore/build.cc', don't add any supplementary group
+        here except "nixbld".
+      */
       uid = builtins.add config.ids.uids.nixbld nr;
       isSystemUser = true;
       group = "nixbld";
@@ -30,43 +30,83 @@ let
   nixbldUsers = listToAttrs (map makeNixBuildUser (range 1 cfg.nrBuildUsers));
 
   nixConf =
-    assert versionAtLeast nixVersion "2.2";
-    pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } (
-      ''
-        cat > $out <<END
+    assert isNixAtLeast "2.2";
+    let
+
+      mkValueString = v:
+        if v == null then ""
+        else if isInt v then toString v
+        else if isBool v then boolToString v
+        else if isFloat v then floatToString v
+        else if isList v then toString v
+        else if isDerivation v then toString v
+        else if builtins.isPath v then toString v
+        else if isString v then v
+        else if isCoercibleToString v then toString v
+        else abort "The nix conf value: ${toPretty {} v} can not be encoded";
+
+      mkKeyValue = k: v: "${escape [ "=" ] k} = ${mkValueString v}";
+
+      mkKeyValuePairs = attrs: concatStringsSep "\n" (mapAttrsToList mkKeyValue attrs);
+
+    in
+    pkgs.writeTextFile {
+      name = "nix.conf";
+      text = ''
         # WARNING: this file is generated from the nix.* options in
         # your NixOS configuration, typically
         # /etc/nixos/configuration.nix.  Do not edit it!
-        build-users-group = nixbld
-        max-jobs = ${toString (cfg.maxJobs)}
-        cores = ${toString (cfg.buildCores)}
-        sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
-        extra-sandbox-paths = ${toString cfg.sandboxPaths}
-        substituters = ${toString cfg.binaryCaches}
-        trusted-substituters = ${toString cfg.trustedBinaryCaches}
-        trusted-public-keys = ${toString cfg.binaryCachePublicKeys}
-        auto-optimise-store = ${boolToString cfg.autoOptimiseStore}
-        require-sigs = ${boolToString cfg.requireSignedBinaryCaches}
-        trusted-users = ${toString cfg.trustedUsers}
-        allowed-users = ${toString cfg.allowedUsers}
-        ${optionalString (!cfg.distributedBuilds) ''
-          builders =
-        ''}
-        system-features = ${toString cfg.systemFeatures}
-        ${optionalString isNix23 ''
-          sandbox-fallback = false
-        ''}
-        $extraOptions
-        END
-      '' + optionalString cfg.checkConfig (
-            if pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform then ''
-              echo "Ignore nix.checkConfig when cross-compiling"
-            '' else ''
-              echo "Checking that Nix can read nix.conf..."
-              ln -s $out ./nix.conf
-              NIX_CONF_DIR=$PWD ${cfg.package}/bin/nix show-config ${optionalString isNix23 "--no-net --option experimental-features nix-command"} >/dev/null
-            '')
-      );
+        ${mkKeyValuePairs cfg.settings}
+        ${cfg.extraOptions}
+      '';
+      checkPhase =
+        if pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform then ''
+          echo "Ignoring validation for cross-compilation"
+        ''
+        else ''
+          echo "Validating generated nix.conf"
+          ln -s $out ./nix.conf
+          set -e
+          set +o pipefail
+          NIX_CONF_DIR=$PWD \
+            ${cfg.package}/bin/nix show-config ${optionalString (isNixAtLeast "2.3pre") "--no-net"} \
+              ${optionalString (isNixAtLeast "2.4pre") "--option experimental-features nix-command"} \
+            |& sed -e 's/^warning:/error:/' \
+            | (! grep '${if cfg.checkConfig then "^error:" else "^error: unknown setting"}')
+          set -o pipefail
+        '';
+    };
+
+  legacyConfMappings = {
+    useSandbox = "sandbox";
+    buildCores = "cores";
+    maxJobs = "max-jobs";
+    sandboxPaths = "extra-sandbox-paths";
+    binaryCaches = "substituters";
+    trustedBinaryCaches = "trusted-substituters";
+    binaryCachePublicKeys = "trusted-public-keys";
+    autoOptimiseStore = "auto-optimise-store";
+    requireSignedBinaryCaches = "require-sigs";
+    trustedUsers = "trusted-users";
+    allowedUsers = "allowed-users";
+    systemFeatures = "system-features";
+  };
+
+  semanticConfType = with types;
+    let
+      confAtom = nullOr
+        (oneOf [
+          bool
+          int
+          float
+          str
+          path
+          package
+        ]) // {
+        description = "Nix config atom (null, bool, int, float, str, path or package)";
+      };
+    in
+    attrsOf (either confAtom (listOf confAtom));
 
 in
 
@@ -76,7 +116,7 @@ in
     (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ])
     (mkRenamedOptionModule [ "nix" "daemonIONiceLevel" ] [ "nix" "daemonIOSchedPriority" ])
     (mkRemovedOptionModule [ "nix" "daemonNiceLevel" ] "Consider nix.daemonCPUSchedPolicy instead.")
-  ];
+  ] ++ mapAttrsToList (oldConf: newConf: mkRenamedOptionModule [ "nix" oldConf ] [ "nix" "settings" newConf ]) legacyConfMappings;
 
   ###### interface
 
@@ -102,81 +142,6 @@ in
         '';
       };
 
-      maxJobs = mkOption {
-        type = types.either types.int (types.enum ["auto"]);
-        default = "auto";
-        example = 64;
-        description = ''
-          This option defines the maximum number of jobs that Nix will try to
-          build in parallel. The default is auto, which means it will use all
-          available logical cores. It is recommend to set it to the total
-          number of logical cores in your system (e.g., 16 for two CPUs with 4
-          cores each and hyper-threading).
-        '';
-      };
-
-      autoOptimiseStore = mkOption {
-        type = types.bool;
-        default = false;
-        example = true;
-        description = ''
-         If set to true, Nix automatically detects files in the store that have
-         identical contents, and replaces them with hard links to a single copy.
-         This saves disk space. If set to false (the default), you can still run
-         nix-store --optimise to get rid of duplicate files.
-        '';
-      };
-
-      buildCores = mkOption {
-        type = types.int;
-        default = 0;
-        example = 64;
-        description = ''
-          This option defines the maximum number of concurrent tasks during
-          one build. It affects, e.g., -j option for make.
-          The special value 0 means that the builder should use all
-          available CPU cores in the system. Some builds may become
-          non-deterministic with this option; use with care! Packages will
-          only be affected if enableParallelBuilding is set for them.
-        '';
-      };
-
-      useSandbox = mkOption {
-        type = types.either types.bool (types.enum ["relaxed"]);
-        default = true;
-        description = "
-          If set, Nix will perform builds in a sandboxed environment that it
-          will set up automatically for each build. This prevents impurities
-          in builds by disallowing access to dependencies outside of the Nix
-          store by using network and mount namespaces in a chroot environment.
-          This is enabled by default even though it has a possible performance
-          impact due to the initial setup time of a sandbox for each build. It
-          doesn't affect derivation hashes, so changing this option will not
-          trigger a rebuild of packages.
-        ";
-      };
-
-      sandboxPaths = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        example = [ "/dev" "/proc" ];
-        description =
-          ''
-            Directories from the host filesystem to be included
-            in the sandbox.
-          '';
-      };
-
-      extraOptions = mkOption {
-        type = types.lines;
-        default = "";
-        example = ''
-          keep-outputs = true
-          keep-derivations = true
-        '';
-        description = "Additional text appended to <filename>nix.conf</filename>.";
-      };
-
       distributedBuilds = mkOption {
         type = types.bool;
         default = false;
@@ -187,7 +152,7 @@ in
       };
 
       daemonCPUSchedPolicy = mkOption {
-        type = types.enum ["other" "batch" "idle"];
+        type = types.enum [ "other" "batch" "idle" ];
         default = "other";
         example = "batch";
         description = ''
@@ -218,7 +183,7 @@ in
       };
 
       daemonIOSchedClass = mkOption {
-        type = types.enum ["best-effort" "idle"];
+        type = types.enum [ "best-effort" "idle" ];
         default = "best-effort";
         example = "idle";
         description = ''
@@ -250,11 +215,11 @@ in
           scheduling policy: With idle, priorities are not used in scheduling
           decisions. best-effort supports values in the range 0 (high) to 7
           (low).
-      '';
+        '';
       };
 
       buildMachines = mkOption {
-        type = types.listOf (types.submodule ({
+        type = types.listOf (types.submodule {
           options = {
             hostName = mkOption {
               type = types.str;
@@ -276,7 +241,7 @@ in
             };
             systems = mkOption {
               type = types.listOf types.str;
-              default = [];
+              default = [ ];
               example = [ "x86_64-linux" "aarch64-linux" ];
               description = ''
                 The system types the build machine can execute derivations on.
@@ -293,7 +258,7 @@ in
                 The username to log in as on the remote host. This user must be
                 able to log in and run nix commands non-interactively. It must
                 also be privileged to build derivations, so must be included in
-                <option>nix.trustedUsers</option>.
+                <option>nix.settings.trusted-users</option>.
               '';
             };
             sshKey = mkOption {
@@ -331,7 +296,7 @@ in
             };
             mandatoryFeatures = mkOption {
               type = types.listOf types.str;
-              default = [];
+              default = [ ];
               example = [ "big-parallel" ];
               description = ''
                 A list of features mandatory for this builder. The builder will
@@ -342,7 +307,7 @@ in
             };
             supportedFeatures = mkOption {
               type = types.listOf types.str;
-              default = [];
+              default = [ ];
               example = [ "kvm" "big-parallel" ];
               description = ''
                 A list of features supported by this builder. The builder will
@@ -350,9 +315,18 @@ in
                 list.
               '';
             };
+            publicHostKey = mkOption {
+              type = types.nullOr types.str;
+              default = null;
+              description = ''
+                The (base64-encoded) public host key of this builder. The field
+                is calculated via <command>base64 -w0 /etc/ssh/ssh_host_type_key.pub</command>.
+                If null, SSH will use its regular known-hosts file when connecting.
+              '';
+            };
           };
-        }));
-        default = [];
+        });
+        default = [ ];
         description = ''
           This option lists the machines to be used if distributed builds are
           enabled (see <option>nix.distributedBuilds</option>).
@@ -366,7 +340,7 @@ in
       envVars = mkOption {
         type = types.attrs;
         internal = true;
-        default = {};
+        default = { };
         description = "Environment variables used by Nix.";
       };
 
@@ -391,92 +365,13 @@ in
         '';
       };
 
-      binaryCaches = mkOption {
-        type = types.listOf types.str;
-        description = ''
-          List of binary cache URLs used to obtain pre-built binaries
-          of Nix packages.
-
-          By default https://cache.nixos.org/ is added,
-          to override it use <literal>lib.mkForce []</literal>.
-        '';
-      };
-
-      trustedBinaryCaches = mkOption {
-        type = types.listOf types.str;
-        default = [ ];
-        example = [ "https://hydra.nixos.org/" ];
-        description = ''
-          List of binary cache URLs that non-root users can use (in
-          addition to those specified using
-          <option>nix.binaryCaches</option>) by passing
-          <literal>--option binary-caches</literal> to Nix commands.
-        '';
-      };
-
-      requireSignedBinaryCaches = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          If enabled (the default), Nix will only download binaries from binary caches if
-          they are cryptographically signed with any of the keys listed in
-          <option>nix.binaryCachePublicKeys</option>. If disabled, signatures are neither
-          required nor checked, so it's strongly recommended that you use only
-          trustworthy caches and https to prevent man-in-the-middle attacks.
-        '';
-      };
-
-      binaryCachePublicKeys = mkOption {
-        type = types.listOf types.str;
-        example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
-        description = ''
-          List of public keys used to sign binary caches. If
-          <option>nix.requireSignedBinaryCaches</option> is enabled,
-          then Nix will use a binary from a binary cache if and only
-          if it is signed by <emphasis>any</emphasis> of the keys
-          listed here. By default, only the key for
-          <uri>cache.nixos.org</uri> is included.
-        '';
-      };
-
-      trustedUsers = mkOption {
-        type = types.listOf types.str;
-        default = [ "root" ];
-        example = [ "root" "alice" "@wheel" ];
-        description = ''
-          A list of names of users that have additional rights when
-          connecting to the Nix daemon, such as the ability to specify
-          additional binary caches, or to import unsigned NARs. You
-          can also specify groups by prefixing them with
-          <literal>@</literal>; for instance,
-          <literal>@wheel</literal> means all users in the wheel
-          group.
-        '';
-      };
-
-      allowedUsers = mkOption {
-        type = types.listOf types.str;
-        default = [ "*" ];
-        example = [ "@wheel" "@builders" "alice" "bob" ];
-        description = ''
-          A list of names of users (separated by whitespace) that are
-          allowed to connect to the Nix daemon. As with
-          <option>nix.trustedUsers</option>, you can specify groups by
-          prefixing them with <literal>@</literal>. Also, you can
-          allow all users by specifying <literal>*</literal>. The
-          default is <literal>*</literal>. Note that trusted users are
-          always allowed to connect.
-        '';
-      };
-
       nixPath = mkOption {
         type = types.listOf types.str;
-        default =
-          [
-            "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
-            "nixos-config=/etc/nixos/configuration.nix"
-            "/nix/var/nix/profiles/per-user/root/channels"
-          ];
+        default = [
+          "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
+          "nixos-config=/etc/nixos/configuration.nix"
+          "/nix/var/nix/profiles/per-user/root/channels"
+        ];
         description = ''
           The default Nix expression search path, used by the Nix
           evaluator to look up paths enclosed in angle brackets
@@ -484,45 +379,44 @@ in
         '';
       };
 
-      systemFeatures = mkOption {
-        type = types.listOf types.str;
-        example = [ "kvm" "big-parallel" "gccarch-skylake" ];
-        description = ''
-          The supported features of a machine
-        '';
-      };
-
       checkConfig = mkOption {
         type = types.bool;
         default = true;
         description = ''
-          If enabled (the default), checks that Nix can parse the generated nix.conf.
+          If enabled (the default), checks for data type mismatches and that Nix
+          can parse the generated nix.conf.
         '';
       };
 
       registry = mkOption {
         type = types.attrsOf (types.submodule (
           let
-            inputAttrs = types.attrsOf (types.oneOf [types.str types.int types.bool types.package]);
+            referenceAttrs = with types; attrsOf (oneOf [
+              str
+              int
+              bool
+              package
+            ]);
           in
           { config, name, ... }:
-          { options = {
+          {
+            options = {
               from = mkOption {
-                type = inputAttrs;
+                type = referenceAttrs;
                 example = { type = "indirect"; id = "nixpkgs"; };
                 description = "The flake reference to be rewritten.";
               };
               to = mkOption {
-                type = inputAttrs;
+                type = referenceAttrs;
                 example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; };
-                description = "The flake reference to which <option>from></option> is to be rewritten.";
+                description = "The flake reference <option>from></option> is rewritten to.";
               };
               flake = mkOption {
                 type = types.nullOr types.attrs;
                 default = null;
                 example = literalExpression "nixpkgs";
                 description = ''
-                  The flake input to which <option>from></option> is to be rewritten.
+                  The flake input <option>from></option> is rewritten to.
                 '';
               };
               exact = mkOption {
@@ -537,35 +431,232 @@ in
             };
             config = {
               from = mkDefault { type = "indirect"; id = name; };
-              to = mkIf (config.flake != null)
-                ({ type = "path";
-                   path = config.flake.outPath;
-                 } // lib.filterAttrs
-                   (n: v: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
-                   config.flake);
+              to = mkIf (config.flake != null) (mkDefault
+                {
+                  type = "path";
+                  path = config.flake.outPath;
+                } // filterAttrs
+                (n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
+                config.flake);
             };
           }
         ));
-        default = {};
+        default = { };
         description = ''
           A system-wide flake registry.
         '';
       };
 
-    };
+      extraOptions = mkOption {
+        type = types.lines;
+        default = "";
+        example = ''
+          keep-outputs = true
+          keep-derivations = true
+        '';
+        description = "Additional text appended to <filename>nix.conf</filename>.";
+      };
+
+      settings = mkOption {
+        type = types.submodule {
+          freeformType = semanticConfType;
+
+          options = {
+            max-jobs = mkOption {
+              type = types.either types.int (types.enum [ "auto" ]);
+              default = "auto";
+              example = 64;
+              description = ''
+                This option defines the maximum number of jobs that Nix will try to
+                build in parallel. The default is auto, which means it will use all
+                available logical cores. It is recommend to set it to the total
+                number of logical cores in your system (e.g., 16 for two CPUs with 4
+                cores each and hyper-threading).
+              '';
+            };
+
+            auto-optimise-store = mkOption {
+              type = types.bool;
+              default = false;
+              example = true;
+              description = ''
+                If set to true, Nix automatically detects files in the store that have
+                identical contents, and replaces them with hard links to a single copy.
+                This saves disk space. If set to false (the default), you can still run
+                nix-store --optimise to get rid of duplicate files.
+              '';
+            };
 
+            cores = mkOption {
+              type = types.int;
+              default = 0;
+              example = 64;
+              description = ''
+                This option defines the maximum number of concurrent tasks during
+                one build. It affects, e.g., -j option for make.
+                The special value 0 means that the builder should use all
+                available CPU cores in the system. Some builds may become
+                non-deterministic with this option; use with care! Packages will
+                only be affected if enableParallelBuilding is set for them.
+              '';
+            };
+
+            sandbox = mkOption {
+              type = types.either types.bool (types.enum [ "relaxed" ]);
+              default = true;
+              description = ''
+                If set, Nix will perform builds in a sandboxed environment that it
+                will set up automatically for each build. This prevents impurities
+                in builds by disallowing access to dependencies outside of the Nix
+                store by using network and mount namespaces in a chroot environment.
+                This is enabled by default even though it has a possible performance
+                impact due to the initial setup time of a sandbox for each build. It
+                doesn't affect derivation hashes, so changing this option will not
+                trigger a rebuild of packages.
+              '';
+            };
+
+            extra-sandbox-paths = mkOption {
+              type = types.listOf types.str;
+              default = [ ];
+              example = [ "/dev" "/proc" ];
+              description = ''
+                Directories from the host filesystem to be included
+                in the sandbox.
+              '';
+            };
+
+            substituters = mkOption {
+              type = types.listOf types.str;
+              description = ''
+                List of binary cache URLs used to obtain pre-built binaries
+                of Nix packages.
+
+                By default https://cache.nixos.org/ is added.
+              '';
+            };
+
+            trusted-substituters = mkOption {
+              type = types.listOf types.str;
+              default = [ ];
+              example = [ "https://hydra.nixos.org/" ];
+              description = ''
+                List of binary cache URLs that non-root users can use (in
+                addition to those specified using
+                <option>nix.settings.substituters</option>) by passing
+                <literal>--option binary-caches</literal> to Nix commands.
+              '';
+            };
+
+            require-sigs = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                If enabled (the default), Nix will only download binaries from binary caches if
+                they are cryptographically signed with any of the keys listed in
+                <option>nix.settings.trusted-public-keys</option>. If disabled, signatures are neither
+                required nor checked, so it's strongly recommended that you use only
+                trustworthy caches and https to prevent man-in-the-middle attacks.
+              '';
+            };
+
+            trusted-public-keys = mkOption {
+              type = types.listOf types.str;
+              example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
+              description = ''
+                List of public keys used to sign binary caches. If
+                <option>nix.settings.trusted-public-keys</option> is enabled,
+                then Nix will use a binary from a binary cache if and only
+                if it is signed by <emphasis>any</emphasis> of the keys
+                listed here. By default, only the key for
+                <uri>cache.nixos.org</uri> is included.
+              '';
+            };
+
+            trusted-users = mkOption {
+              type = types.listOf types.str;
+              default = [ "root" ];
+              example = [ "root" "alice" "@wheel" ];
+              description = ''
+                A list of names of users that have additional rights when
+                connecting to the Nix daemon, such as the ability to specify
+                additional binary caches, or to import unsigned NARs. You
+                can also specify groups by prefixing them with
+                <literal>@</literal>; for instance,
+                <literal>@wheel</literal> means all users in the wheel
+                group.
+              '';
+            };
+
+            system-features = mkOption {
+              type = types.listOf types.str;
+              example = [ "kvm" "big-parallel" "gccarch-skylake" ];
+              description = ''
+                The set of features supported by the machine. Derivations
+                can express dependencies on system features through the
+                <literal>requiredSystemFeatures</literal> attribute.
+
+                By default, pseudo-features <literal>nixos-test</literal>, <literal>benchmark</literal>,
+                and <literal>big-parallel</literal> used in Nixpkgs are set, <literal>kvm</literal>
+                is also included in it is avaliable.
+              '';
+            };
+
+            allowed-users = mkOption {
+              type = types.listOf types.str;
+              default = [ "*" ];
+              example = [ "@wheel" "@builders" "alice" "bob" ];
+              description = ''
+                A list of names of users (separated by whitespace) that are
+                allowed to connect to the Nix daemon. As with
+                <option>nix.settings.trusted-users</option>, you can specify groups by
+                prefixing them with <literal>@</literal>. Also, you can
+                allow all users by specifying <literal>*</literal>. The
+                default is <literal>*</literal>. Note that trusted users are
+                always allowed to connect.
+              '';
+            };
+          };
+        };
+        default = { };
+        example = literalExpression ''
+          {
+            use-sandbox = true;
+            show-trace = true;
+
+            system-features = [ "big-parallel" "kvm" "recursive-nix" ];
+            sandbox-paths = { "/bin/sh" = "''${pkgs.busybox-sandbox-shell.out}/bin/busybox"; };
+          }
+        '';
+        description = ''
+          Configuration for Nix, see
+          <link xlink:href="https://nixos.org/manual/nix/stable/#sec-conf-file"/> or
+          <citerefentry>
+            <refentrytitle>nix.conf</refentrytitle>
+            <manvolnum>5</manvolnum>
+          </citerefentry> for avalaible options.
+          The value declared here will be translated directly to the key-value pairs Nix expects.
+          </para>
+          <para>
+          You can use <command>nix-instantiate --eval --strict '&lt;nixpkgs/nixos&gt;' -A config.nix.settings</command>
+          to view the current value. By default it is empty.
+          </para>
+          <para>
+          Nix configurations defined under <option>nix.*</option> will be translated and applied to this
+          option. In addition, configuration specified in <option>nix.extraOptions</option> which will be appended
+          verbatim to the resulting config file.
+        '';
+      };
+    };
   };
 
 
   ###### implementation
 
   config = mkIf cfg.enable {
-
-    nix.binaryCachePublicKeys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
-    nix.binaryCaches = [ "https://cache.nixos.org/" ];
-
     environment.systemPackages =
-      [ nix
+      [
+        nixPackage
         pkgs.nix-info
       ]
       ++ optional (config.programs.bash.enableCompletion) pkgs.nix-bash-completions;
@@ -579,44 +670,49 @@ in
 
     # List of machines for distributed Nix builds in the format
     # expected by build-remote.pl.
-    environment.etc."nix/machines" =
-      { enable = cfg.buildMachines != [];
-        text =
-          concatMapStrings (machine:
-            "${if machine.sshUser != null then "${machine.sshUser}@" else ""}${machine.hostName} "
-            + (if machine.system != null then machine.system else concatStringsSep "," machine.systems)
-            + " ${if machine.sshKey != null then machine.sshKey else "-"} ${toString machine.maxJobs} "
-            + toString (machine.speedFactor)
-            + " "
-            + concatStringsSep "," (machine.mandatoryFeatures ++ machine.supportedFeatures)
-            + " "
-            + concatStringsSep "," machine.mandatoryFeatures
+    environment.etc."nix/machines" = mkIf (cfg.buildMachines != [ ]) {
+      text =
+        concatMapStrings
+          (machine:
+            (concatStringsSep " " ([
+              "${optionalString (machine.sshUser != null) "${machine.sshUser}@"}${machine.hostName}"
+              (if machine.system != null then machine.system else if machine.systems != [ ] then concatStringsSep "," machine.systems else "-")
+              (if machine.sshKey != null then machine.sshKey else "-")
+              (toString machine.maxJobs)
+              (toString machine.speedFactor)
+              (concatStringsSep "," (machine.supportedFeatures ++ machine.mandatoryFeatures))
+              (concatStringsSep "," machine.mandatoryFeatures)
+            ]
+            ++ optional (isNixAtLeast "2.4pre") (if machine.publicHostKey != null then machine.publicHostKey else "-")))
             + "\n"
-          ) cfg.buildMachines;
-      };
+          )
+          cfg.buildMachines;
+    };
+
     assertions =
-      let badMachine = m: m.system == null && m.systems == [];
-      in [
+      let badMachine = m: m.system == null && m.systems == [ ];
+      in
+      [
         {
-          assertion = !(builtins.any badMachine cfg.buildMachines);
+          assertion = !(any badMachine cfg.buildMachines);
           message = ''
             At least one system type (via <varname>system</varname> or
               <varname>systems</varname>) must be set for every build machine.
               Invalid machine specifications:
           '' + "      " +
-          (builtins.concatStringsSep "\n      "
-            (builtins.map (m: m.hostName)
-              (builtins.filter (badMachine) cfg.buildMachines)));
+          (concatStringsSep "\n      "
+            (map (m: m.hostName)
+              (filter (badMachine) cfg.buildMachines)));
         }
       ];
 
-
-    systemd.packages = [ nix ];
+    systemd.packages = [ nixPackage ];
 
     systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ];
 
     systemd.services.nix-daemon =
-      { path = [ nix pkgs.util-linux config.programs.ssh.package ]
+      {
+        path = [ nixPackage pkgs.util-linux config.programs.ssh.package ]
           ++ optionals cfg.distributedBuilds [ pkgs.gzip ];
 
         environment = cfg.envVars
@@ -626,7 +722,8 @@ in
         unitConfig.RequiresMountsFor = "/nix/store";
 
         serviceConfig =
-          { CPUSchedulingPolicy = cfg.daemonCPUSchedPolicy;
+          {
+            CPUSchedulingPolicy = cfg.daemonCPUSchedPolicy;
             IOSchedulingClass = cfg.daemonIOSchedClass;
             IOSchedulingPriority = cfg.daemonIOSchedPriority;
             LimitNOFILE = 4096;
@@ -636,9 +733,7 @@ in
       };
 
     # Set up the environment variables for running Nix.
-    environment.sessionVariables = cfg.envVars //
-      { NIX_PATH = cfg.nixPath;
-      };
+    environment.sessionVariables = cfg.envVars // { NIX_PATH = cfg.nixPath; };
 
     environment.extraInit =
       ''
@@ -647,7 +742,7 @@ in
         fi
       '';
 
-    nix.nrBuildUsers = mkDefault (lib.max 32 (if cfg.maxJobs == "auto" then 0 else cfg.maxJobs));
+    nix.nrBuildUsers = mkDefault (max 32 (if cfg.settings.max-jobs == "auto" then 0 else cfg.settings.max-jobs));
 
     users.users = nixbldUsers;
 
@@ -663,14 +758,26 @@ in
         fi
       '';
 
-    nix.systemFeatures = mkDefault (
-      [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++
-      optionals (pkgs.hostPlatform ? gcc.arch) (
-        # a builder can run code for `gcc.arch` and inferior architectures
-        [ "gccarch-${pkgs.hostPlatform.gcc.arch}" ] ++
-        map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.gcc.arch}
-      )
-    );
+    # Legacy configuration conversion.
+    nix.settings = mkMerge [
+      {
+        trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
+        substituters = mkAfter [ "https://cache.nixos.org/" ];
+
+        system-features = mkDefault (
+          [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++
+          optionals (pkgs.hostPlatform ? gcc.arch) (
+            # a builder can run code for `gcc.arch` and inferior architectures
+            [ "gccarch-${pkgs.hostPlatform.gcc.arch}" ] ++
+            map (x: "gccarch-${x}") systems.architectures.inferiors.${pkgs.hostPlatform.gcc.arch}
+          )
+        );
+      }
+
+      (mkIf (!cfg.distributedBuilds) { builders = null; })
+
+      (mkIf (isNixAtLeast "2.3pre") { sandbox-fallback = false; })
+    ];
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix b/nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix
index d5c64fdb2647..355fad5db468 100644
--- a/nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix
+++ b/nixpkgs/nixos/modules/services/misc/nix-ssh-serve.nix
@@ -20,7 +20,7 @@ in {
       write = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable writing to the Nix store as a remote store via SSH. Note: the sshServe user is named nix-ssh and is not a trusted-user. nix-ssh should be added to the nix.trustedUsers option in most use cases, such as allowing remote building of derivations.";
+        description = "Whether to enable writing to the Nix store as a remote store via SSH. Note: the sshServe user is named nix-ssh and is not a trusted-user. nix-ssh should be added to the <option>nix.settings.trusted-users</option> option in most use cases, such as allowing remote building of derivations.";
       };
 
       keys = mkOption {
diff --git a/nixpkgs/nixos/modules/services/misc/packagekit.nix b/nixpkgs/nixos/modules/services/misc/packagekit.nix
index 93bd206bd983..9191078ef9ca 100644
--- a/nixpkgs/nixos/modules/services/misc/packagekit.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/paperless-ng.nix b/nixpkgs/nixos/modules/services/misc/paperless-ng.nix
index db8082f072c3..44efc234a2b3 100644
--- a/nixpkgs/nixos/modules/services/misc/paperless-ng.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/plex.nix b/nixpkgs/nixos/modules/services/misc/plex.nix
index 2ae4e80d5c3f..7000d45975fc 100644
--- a/nixpkgs/nixos/modules/services/misc/plex.nix
+++ b/nixpkgs/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,7 @@ 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.
         '';
       };
 
diff --git a/nixpkgs/nixos/modules/services/misc/rmfakecloud.nix b/nixpkgs/nixos/modules/services/misc/rmfakecloud.nix
new file mode 100644
index 000000000000..fe522653c216
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix b/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
index 1bd21c278e00..21551d7d5f03 100644
--- a/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
@@ -678,7 +678,7 @@ in
                 rev = "ff96a0fa5635770390b184ae74debea75c3fd534";
                 ref = "nixos-unstable";
             };
-            image_from_nixpkgs = (import ("${pkgs.sourcehut.buildsrht}/lib/images/nixos/image.nix") {
+            image_from_nixpkgs = (import ("''${pkgs.sourcehut.buildsrht}/lib/images/nixos/image.nix") {
               pkgs = (import pkgs_unstable {});
             });
           in
@@ -696,6 +696,7 @@ in
       package = mkOption {
         type = types.package;
         default = pkgs.git;
+        defaultText = literalExpression "pkgs.git";
         example = literalExpression "pkgs.gitFull";
         description = ''
           Git package for git.sr.ht. This can help silence collisions.
@@ -712,6 +713,7 @@ in
       package = mkOption {
         type = types.package;
         default = pkgs.mercurial;
+        defaultText = literalExpression "pkgs.mercurial";
         description = ''
           Mercurial package for hg.sr.ht. This can help silence collisions.
         '';
diff --git a/nixpkgs/nixos/modules/services/misc/sourcehut/git.nix b/nixpkgs/nixos/modules/services/misc/sourcehut/git.nix
index 5ce16df8cd87..ff110905d184 100644
--- a/nixpkgs/nixos/modules/services/misc/sourcehut/git.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/taskserver/default.nix b/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
index a894caed1a34..ff63c41e193c 100644
--- a/nixpkgs/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/taskserver/doc.xml b/nixpkgs/nixos/modules/services/misc/taskserver/doc.xml
index 5656bb85b373..f6ead7c37857 100644
--- a/nixpkgs/nixos/modules/services/misc/taskserver/doc.xml
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/misc/zoneminder.nix b/nixpkgs/nixos/modules/services/misc/zoneminder.nix
index 407742f72ad5..a557e742b7cf 100644
--- a/nixpkgs/nixos/modules/services/misc/zoneminder.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/monitoring/netdata.nix b/nixpkgs/nixos/modules/services/monitoring/netdata.nix
index 00bdd9fcda0d..f528d1830424 100644
--- a/nixpkgs/nixos/modules/services/monitoring/netdata.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/netdata.nix
@@ -19,8 +19,17 @@ let
     "${wrappedPlugins}/libexec/netdata/plugins.d"
   ] ++ cfg.extraPluginPaths;
 
+  configDirectory = pkgs.runCommand "netdata-config-d" { } ''
+    mkdir $out
+    ${concatStringsSep "\n" (mapAttrsToList (path: file: ''
+        mkdir -p "$out/$(dirname ${path})"
+        ln -s "${file}" "$out/${path}"
+      '') cfg.configDir)}
+  '';
+
   localConfig = {
     global = {
+      "config directory" = "/etc/netdata/conf.d";
       "plugins directory" = concatStringsSep " " plugins;
     };
     web = {
@@ -130,6 +139,26 @@ in {
         '';
       };
 
+      configDir = mkOption {
+        type = types.attrsOf types.path;
+        default = {};
+        description = ''
+          Complete netdata config directory except netdata.conf.
+          The default configuration is merged with changes
+          defined in this option.
+          Each top-level attribute denotes a path in the configuration
+          directory as in environment.etc.
+          Its value is the absolute path and must be readable by netdata.
+          Cannot be combined with configText.
+        '';
+        example = literalExpression ''
+          "health_alarm_notify.conf" = pkgs.writeText "health_alarm_notify.conf" '''
+            sendmail="/path/to/sendmail"
+          ''';
+          "health.d" = "/run/secrets/netdata/health.d";
+        '';
+      };
+
       enableAnalyticsReporting = mkOption {
         type = types.bool;
         default = false;
@@ -150,11 +179,14 @@ in {
         }
       ];
 
+    environment.etc."netdata/netdata.conf".source = configFile;
+    environment.etc."netdata/conf.d".source = configDirectory;
+
     systemd.services.netdata = {
       description = "Real time performance monitoring";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      path = (with pkgs; [ curl gawk iproute2 which ])
+      path = (with pkgs; [ curl gawk iproute2 which procps ])
         ++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages)
         ++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package);
       environment = {
@@ -162,8 +194,12 @@ in {
       } // lib.optionalAttrs (!cfg.enableAnalyticsReporting) {
         DO_NOT_TRACK = "1";
       };
+      restartTriggers = [
+        config.environment.etc."netdata/netdata.conf".source
+        config.environment.etc."netdata/conf.d".source
+      ];
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}";
+        ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c /etc/netdata/netdata.conf";
         ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
         TimeoutStopSec = 60;
         Restart = "on-failure";
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
index f20b8dde1abd..f563861b61c0 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/default.nix
@@ -251,6 +251,13 @@ let
 
   promTypes.scrape_config = types.submodule {
     options = {
+      authorization = mkOption {
+        type = types.nullOr types.attrs;
+        default = null;
+        description = ''
+          Sets the `Authorization` header on every scrape request with the configured credentials.
+        '';
+      };
       job_name = mkOption {
         type = types.str;
         description = ''
diff --git a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
index b6416b93e69c..bac98364538d 100644
--- a/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
@@ -25,7 +25,8 @@ in {
         [ "/dev/sda", "/dev/nvme0n1" ];
       '';
       description = ''
-        Paths to disks that will be monitored.
+        Paths to the disks that will be monitored. Will autodiscover
+        all disks if none given.
       '';
     };
     maxInterval = mkOption {
@@ -41,13 +42,23 @@ in {
   serviceOpts = {
     serviceConfig = {
       AmbientCapabilities = [
+        "CAP_SYS_RAWIO"
         "CAP_SYS_ADMIN"
       ];
       CapabilityBoundingSet = [
+        "CAP_SYS_RAWIO"
         "CAP_SYS_ADMIN"
       ];
       DevicePolicy = "closed";
-      DeviceAllow = lib.mkForce cfg.devices;
+      DeviceAllow = lib.mkOverride 100 (
+        if cfg.devices != [] then
+          cfg.devices
+        else [
+          "block-blkext rw"
+          "block-sd rw"
+          "char-nvme rw"
+        ]
+      );
       ExecStart = ''
         ${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter -config ${configFile}
       '';
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix b/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
index e313589134f1..7a1444decafa 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix b/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
index 5482b2aaf88c..b311b91b4a03 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
@@ -260,24 +260,17 @@ in
         ipfs --offline config Mounts.IPNS ${cfg.ipnsMountDir}
       '' + optionalString cfg.autoMigrate ''
         ${pkgs.ipfs-migrator}/bin/fs-repo-migrations -y
-      '' + concatStringsSep "\n" (collect
-        isString
-        (mapAttrsRecursive
-          (path: value:
-            # Using heredoc below so that the value is never improperly quoted
-            ''
-              read value <<EOF
-              ${builtins.toJSON value}
-              EOF
-              ipfs --offline config --json "${concatStringsSep "." path}" "$value"
-            '')
-          ({
-            Addresses.API = cfg.apiAddress;
-            Addresses.Gateway = cfg.gatewayAddress;
-            Addresses.Swarm = cfg.swarmAddress;
-          } //
-          cfg.extraConfig))
-      );
+      '' + ''
+        ipfs --offline config show \
+          | ${pkgs.jq}/bin/jq '. * $extraConfig' --argjson extraConfig ${
+              escapeShellArg (builtins.toJSON ({
+                Addresses.API = cfg.apiAddress;
+                Addresses.Gateway = cfg.gatewayAddress;
+                Addresses.Swarm = cfg.swarmAddress;
+              } // cfg.extraConfig))
+            } \
+          | ipfs --offline config replace -
+      '';
       serviceConfig = {
         ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}" ];
         User = cfg.user;
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/moosefs.nix b/nixpkgs/nixos/modules/services/network-filesystems/moosefs.nix
new file mode 100644
index 000000000000..88b2ada37e75
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix b/nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix
index edac86eb0e30..e72f9b54cd6f 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/rsyncd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/adguardhome.nix b/nixpkgs/nixos/modules/services/networking/adguardhome.nix
index 03f9b9f9bad4..98ddf0716087 100644
--- a/nixpkgs/nixos/modules/services/networking/adguardhome.nix
+++ b/nixpkgs/nixos/modules/services/networking/adguardhome.nix
@@ -10,12 +10,20 @@ let
     "--pidfile /run/AdGuardHome/AdGuardHome.pid"
     "--work-dir /var/lib/AdGuardHome/"
     "--config /var/lib/AdGuardHome/AdGuardHome.yaml"
-    "--host ${cfg.host}"
-    "--port ${toString cfg.port}"
   ] ++ cfg.extraArgs);
 
-in
-{
+  baseConfig = {
+    bind_host = cfg.host;
+    bind_port = cfg.port;
+  };
+
+  configFile = pkgs.writeTextFile {
+    name = "AdGuardHome.yaml";
+    text = builtins.toJSON (recursiveUpdate cfg.settings baseConfig);
+    checkPhase = "${pkgs.adguardhome}/bin/adguardhome -c $out --check-config";
+  };
+
+in {
   options.services.adguardhome = with types; {
     enable = mkEnableOption "AdGuard Home network-wide ad blocker";
 
@@ -44,6 +52,31 @@ in
       '';
     };
 
+    mutableSettings = mkOption {
+      default = true;
+      type = bool;
+      description = ''
+        Allow changes made on the AdGuard Home web interface to persist between
+        service restarts.
+      '';
+    };
+
+    settings = mkOption {
+      type = (pkgs.formats.yaml { }).type;
+      default = { };
+      description = ''
+        AdGuard Home configuration. Refer to
+        <link xlink:href="https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#configuration-file"/>
+        for details on supported values.
+
+        <note><para>
+          On start and if <option>mutableSettings</option> is <literal>true</literal>,
+          these options are merged into the configuration file on start, taking
+          precedence over configuration changes made on the web interface.
+        </para></note>
+      '';
+    };
+
     extraArgs = mkOption {
       default = [ ];
       type = listOf str;
@@ -54,6 +87,22 @@ in
   };
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = cfg.settings != { }
+          -> (hasAttrByPath [ "dns" "bind_host" ] cfg.settings)
+          || (hasAttrByPath [ "dns" "bind_hosts" ] cfg.settings);
+        message =
+          "AdGuard setting dns.bind_host or dns.bind_hosts needs to be configured for a minimal working configuration";
+      }
+      {
+        assertion = cfg.settings != { }
+          -> hasAttrByPath [ "dns" "bootstrap_dns" ] cfg.settings;
+        message =
+          "AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration";
+      }
+    ];
+
     systemd.services.adguardhome = {
       description = "AdGuard Home: Network-level blocker";
       after = [ "network.target" ];
@@ -62,6 +111,19 @@ in
         StartLimitIntervalSec = 5;
         StartLimitBurst = 10;
       };
+
+      preStart = optionalString (cfg.settings != { }) ''
+        if    [ -e "$STATE_DIRECTORY/AdGuardHome.yaml" ] \
+           && [ "${toString cfg.mutableSettings}" = "1" ]; then
+          # Writing directly to AdGuardHome.yaml results in empty file
+          ${pkgs.yaml-merge}/bin/yaml-merge "$STATE_DIRECTORY/AdGuardHome.yaml" "${configFile}" > "$STATE_DIRECTORY/AdGuardHome.yaml.tmp"
+          mv "$STATE_DIRECTORY/AdGuardHome.yaml.tmp" "$STATE_DIRECTORY/AdGuardHome.yaml"
+        else
+          cp --force "${configFile}" "$STATE_DIRECTORY/AdGuardHome.yaml"
+          chmod 600 "$STATE_DIRECTORY/AdGuardHome.yaml"
+        fi
+      '';
+
       serviceConfig = {
         DynamicUser = true;
         ExecStart = "${pkgs.adguardhome}/bin/adguardhome ${args}";
diff --git a/nixpkgs/nixos/modules/services/networking/bind.nix b/nixpkgs/nixos/modules/services/networking/bind.nix
index e44f8d4cf302..2045612ec054 100644
--- a/nixpkgs/nixos/modules/services/networking/bind.nix
+++ b/nixpkgs/nixos/modules/services/networking/bind.nix
@@ -59,7 +59,7 @@ let
         listen-on-v6 { ${concatMapStrings (entry: " ${entry}; ") cfg.listenOnIpv6} };
         allow-query { cachenetworks; };
         blackhole { badnetworks; };
-        forward first;
+        forward ${cfg.forward};
         forwarders { ${concatMapStrings (entry: " ${entry}; ") cfg.forwarders} };
         directory "${cfg.directory}";
         pid-file "/run/named/named.pid";
@@ -151,6 +151,14 @@ in
         ";
       };
 
+      forward = mkOption {
+        default = "first";
+        type = types.enum ["first" "only"];
+        description = "
+          Whether to forward 'first' (try forwarding but lookup directly if forwarding fails) or 'only'.
+        ";
+      };
+
       listenOn = mkOption {
         default = [ "any" ];
         type = types.listOf types.str;
diff --git a/nixpkgs/nixos/modules/services/networking/bird.nix b/nixpkgs/nixos/modules/services/networking/bird.nix
index c14adbda3c5a..fc06cdaa6e58 100644
--- a/nixpkgs/nixos/modules/services/networking/bird.nix
+++ b/nixpkgs/nixos/modules/services/networking/bird.nix
@@ -31,7 +31,23 @@ let
             default = true;
             description = ''
               Whether the config should be checked at build time.
-              Disabling this might become necessary if the config includes files not present during 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.
+
+              Files created with this option will not be available at service runtime, only during
+              build time checking.
             '';
           };
         };
@@ -45,7 +61,9 @@ let
           name = "${variant}.conf";
           text = cfg.config;
           checkPhase = optionalString cfg.checkConfig ''
-            ${pkg}/bin/${birdBin} -d -p -c $out
+            ln -s $out ${variant}.conf
+            ${cfg.preCheckConfig}
+            ${pkg}/bin/${birdBin} -d -p -c ${variant}.conf
           '';
         };
 
diff --git a/nixpkgs/nixos/modules/services/networking/blocky.nix b/nixpkgs/nixos/modules/services/networking/blocky.nix
new file mode 100644
index 000000000000..7488e05fc033
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/connman.nix b/nixpkgs/nixos/modules/services/networking/connman.nix
index 8886e7a30f1f..9945dc83a279 100644
--- a/nixpkgs/nixos/modules/services/networking/connman.nix
+++ b/nixpkgs/nixos/modules/services/networking/connman.nix
@@ -127,7 +127,7 @@ in {
       description = "ConnMan VPN service";
       wantedBy = [ "multi-user.target" ];
       after = [ "syslog.target" ];
-      before = [ "connman" ];
+      before = [ "connman.service" ];
       serviceConfig = {
         Type = "dbus";
         BusName = "net.connman.vpn";
@@ -140,7 +140,7 @@ in {
       description = "D-BUS Service";
       serviceConfig = {
         Name = "net.connman.vpn";
-        before = [ "connman" ];
+        before = [ "connman.service" ];
         ExecStart = "${cfg.package}/sbin/connman-vpnd -n";
         User = "root";
         SystemdService = "connman-vpn.service";
diff --git a/nixpkgs/nixos/modules/services/networking/ddclient.nix b/nixpkgs/nixos/modules/services/networking/ddclient.nix
index 8a2c0fc7080c..d025c8f8177a 100644
--- a/nixpkgs/nixos/modules/services/networking/ddclient.nix
+++ b/nixpkgs/nixos/modules/services/networking/ddclient.nix
@@ -13,7 +13,7 @@ let
     foreground=YES
     use=${cfg.use}
     login=${cfg.username}
-    password=
+    password=${lib.optionalString (cfg.protocol == "nsupdate") "/run/${RuntimeDirectory}/ddclient.key"}
     protocol=${cfg.protocol}
     ${lib.optionalString (cfg.script != "") "script=${cfg.script}"}
     ${lib.optionalString (cfg.server != "") "server=${cfg.server}"}
@@ -30,7 +30,9 @@ let
 
   preStart = ''
     install ${configFile} /run/${RuntimeDirectory}/ddclient.conf
-    ${lib.optionalString (cfg.configFile == null) (if (cfg.passwordFile != null) then ''
+    ${lib.optionalString (cfg.configFile == null) (if (cfg.protocol == "nsupdate") then ''
+      install ${cfg.passwordFile} /run/${RuntimeDirectory}/ddclient.key
+    '' else if (cfg.passwordFile != null) then ''
       password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")")
       sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf
     '' else ''
@@ -85,7 +87,9 @@ with lib;
       };
 
       username = mkOption {
-        default = "";
+        # For `nsupdate` username contains the path to the nsupdate executable
+        default = lib.optionalString (config.services.ddclient.protocol == "nsupdate") "${pkgs.bind.dnsutils}/bin/nsupdate";
+        defaultText = "";
         type = str;
         description = ''
           User name.
@@ -96,7 +100,7 @@ with lib;
         default = null;
         type = nullOr str;
         description = ''
-          A file containing the password.
+          A file containing the password or a TSIG key in named format when using the nsupdate protocol.
         '';
       };
 
diff --git a/nixpkgs/nixos/modules/services/networking/dhcpcd.nix b/nixpkgs/nixos/modules/services/networking/dhcpcd.nix
index 2c339350acd3..3eb7ca99eafd 100644
--- a/nixpkgs/nixos/modules/services/networking/dhcpcd.nix
+++ b/nixpkgs/nixos/modules/services/networking/dhcpcd.nix
@@ -183,6 +183,20 @@ in
 
   config = mkIf enableDHCP {
 
+    assertions = [ {
+      # dhcpcd doesn't start properly with malloc ∉ [ libc scudo ]
+      # see https://github.com/NixOS/nixpkgs/issues/151696
+      assertion =
+        dhcpcd.enablePrivSep
+          -> elem config.environment.memoryAllocator.provider [ "libc" "scudo" ];
+      message = ''
+        dhcpcd with privilege separation is incompatible with chosen system malloc.
+          Currently only the `libc` and `scudo` allocators are known to work.
+          To disable dhcpcd's privilege separation, overlay Nixpkgs and override dhcpcd
+          to set `enablePrivSep = false`.
+      '';
+    } ];
+
     systemd.services.dhcpcd = let
       cfgN = config.networking;
       hasDefaultGatewaySet = (cfgN.defaultGateway != null && cfgN.defaultGateway.address != "")
diff --git a/nixpkgs/nixos/modules/services/networking/dhcpd.nix b/nixpkgs/nixos/modules/services/networking/dhcpd.nix
index 54e4f9002859..3c4c0069dfd0 100644
--- a/nixpkgs/nixos/modules/services/networking/dhcpd.nix
+++ b/nixpkgs/nixos/modules/services/networking/dhcpd.nix
@@ -28,38 +28,45 @@ let
       }
     '';
 
-  dhcpdService = postfix: cfg: optionalAttrs cfg.enable {
-    "dhcpd${postfix}" = {
-      description = "DHCPv${postfix} server";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
-
-      preStart = ''
-        mkdir -m 755 -p ${cfg.stateDir}
-        chown dhcpd:nogroup ${cfg.stateDir}
-        touch ${cfg.stateDir}/dhcpd.leases
-      '';
-
-      serviceConfig =
-        let
-          configFile = if cfg.configFile != null then cfg.configFile else writeConfig cfg;
-          args = [ "@${pkgs.dhcp}/sbin/dhcpd" "dhcpd${postfix}" "-${postfix}"
-                   "-pf" "/run/dhcpd${postfix}/dhcpd.pid"
-                   "-cf" "${configFile}"
-                   "-lf" "${cfg.stateDir}/dhcpd.leases"
-                   "-user" "dhcpd" "-group" "nogroup"
-                 ] ++ cfg.extraFlags
-                   ++ cfg.interfaces;
-
-        in {
-          ExecStart = concatMapStringsSep " " escapeShellArg args;
-          Type = "forking";
-          Restart = "always";
-          RuntimeDirectory = [ "dhcpd${postfix}" ];
-          PIDFile = "/run/dhcpd${postfix}/dhcpd.pid";
+  dhcpdService = postfix: cfg:
+    let
+      configFile =
+        if cfg.configFile != null
+          then cfg.configFile
+          else writeConfig cfg;
+      leaseFile = "/var/lib/dhcpd${postfix}/dhcpd.leases";
+      args = [
+        "@${pkgs.dhcp}/sbin/dhcpd" "dhcpd${postfix}" "-${postfix}"
+        "-pf" "/run/dhcpd${postfix}/dhcpd.pid"
+        "-cf" configFile
+        "-lf" leaseFile
+      ] ++ cfg.extraFlags
+        ++ cfg.interfaces;
+    in
+      optionalAttrs cfg.enable {
+        "dhcpd${postfix}" = {
+          description = "DHCPv${postfix} server";
+          wantedBy = [ "multi-user.target" ];
+          after = [ "network.target" ];
+
+          preStart = "touch ${leaseFile}";
+          serviceConfig = {
+            ExecStart = concatMapStringsSep " " escapeShellArg args;
+            Type = "forking";
+            Restart = "always";
+            DynamicUser = true;
+            User = "dhcpd";
+            Group = "dhcpd";
+            AmbientCapabilities = [
+              "CAP_NET_RAW"          # to send ICMP messages
+              "CAP_NET_BIND_SERVICE" # to bind on DHCP port (67)
+            ];
+            StateDirectory   = "dhcpd${postfix}";
+            RuntimeDirectory = "dhcpd${postfix}";
+            PIDFile = "/run/dhcpd${postfix}/dhcpd.pid";
+          };
         };
-    };
-  };
+      };
 
   machineOpts = { ... }: {
 
@@ -102,15 +109,6 @@ let
       '';
     };
 
-    stateDir = mkOption {
-      type = types.path;
-      # We use /var/lib/dhcp for DHCPv4 to save backwards compatibility.
-      default = "/var/lib/dhcp${if postfix == "4" then "" else postfix}";
-      description = ''
-        State directory for the DHCP server.
-      '';
-    };
-
     extraConfig = mkOption {
       type = types.lines;
       default = "";
@@ -194,7 +192,13 @@ in
 
   imports = [
     (mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
-  ];
+  ] ++ flip map [ "4" "6" ] (postfix:
+    mkRemovedOptionModule [ "services" "dhcpd${postfix}" "stateDir" ] ''
+      The DHCP server state directory is now managed with the systemd's DynamicUser mechanism.
+      This means the directory is named after the service (dhcpd${postfix}), created under
+      /var/lib/private/ and symlinked to /var/lib/.
+    ''
+  );
 
   ###### interface
 
@@ -210,15 +214,6 @@ in
 
   config = mkIf (cfg4.enable || cfg6.enable) {
 
-    users = {
-      users.dhcpd = {
-        isSystemUser = true;
-        group = "dhcpd";
-        description = "DHCP daemon user";
-      };
-      groups.dhcpd = {};
-    };
-
     systemd.services = dhcpdService "4" cfg4 // dhcpdService "6" cfg6;
 
   };
diff --git a/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix b/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix
index dc6a019e9b77..316e6e37f9da 100644
--- a/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix
+++ b/nixpkgs/nixos/modules/services/networking/dnscrypt-proxy2.nix
@@ -118,4 +118,7 @@ in
       };
     };
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/networking/ergochat.nix b/nixpkgs/nixos/modules/services/networking/ergochat.nix
new file mode 100644
index 000000000000..cfaf69fc6139
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/ergochat.nix
@@ -0,0 +1,155 @@
+{ config, lib, options, pkgs, ... }: let
+  cfg = config.services.ergochat;
+in {
+  options = {
+    services.ergochat = {
+
+      enable = lib.mkEnableOption "Ergo IRC daemon";
+
+      openFilesLimit = lib.mkOption {
+        type = lib.types.int;
+        default = 1024;
+        description = ''
+          Maximum number of open files. Limits the clients and server connections.
+        '';
+      };
+
+      configFile = lib.mkOption {
+        type = lib.types.path;
+        default = (pkgs.formats.yaml {}).generate "ergo.conf" cfg.settings;
+        defaultText = "generated config file from <literal>.settings</literal>";
+        description = ''
+          Path to configuration file.
+          Setting this will skip any configuration done via <literal>.settings</literal>
+        '';
+      };
+
+      settings = lib.mkOption {
+        type = (pkgs.formats.yaml {}).type;
+        description = ''
+          Ergo IRC daemon configuration file.
+          https://raw.githubusercontent.com/ergochat/ergo/master/default.yaml
+        '';
+        default = {
+          network = {
+            name = "testnetwork";
+          };
+          server = {
+            name = "example.com";
+            listeners = {
+              ":6667" = {};
+            };
+            casemapping = "permissive";
+            enforce-utf = true;
+            lookup-hostnames = false;
+            ip-cloaking = {
+              enabled = false;
+            };
+            forward-confirm-hostnames = false;
+            check-ident = false;
+            relaymsg = {
+              enabled = false;
+            };
+            max-sendq = "1M";
+            ip-limits = {
+              count = false;
+              throttle = false;
+            };
+          };
+          datastore = {
+            autoupgrade = true;
+            # this points to the StateDirectory of the systemd service
+            path = "/var/lib/ergo/ircd.db";
+          };
+          accounts = {
+            authentication-enabled = true;
+            registration = {
+              enabled = true;
+              allow-before-connect = true;
+              throttling = {
+                enabled = true;
+                duration = "10m";
+                max-attempts = 30;
+              };
+              bcrypt-cost = 4;
+              email-verification.enabled = false;
+            };
+            multiclient = {
+              enabled = true;
+              allowed-by-default = true;
+              always-on = "opt-out";
+              auto-away = "opt-out";
+            };
+          };
+          channels = {
+            default-modes = "+ntC";
+            registration = {
+              enabled = true;
+            };
+          };
+          limits = {
+            nicklen = 32;
+            identlen = 20;
+            channellen = 64;
+            awaylen = 390;
+            kicklen = 390;
+            topiclen = 390;
+          };
+          history = {
+            enabled = true;
+            channel-length = 2048;
+            client-length = 256;
+            autoresize-window = "3d";
+            autoreplay-on-join = 0;
+            chathistory-maxmessages = 100;
+            znc-maxmessages = 2048;
+            restrictions = {
+              expire-time = "1w";
+              query-cutoff = "none";
+              grace-period = "1h";
+            };
+            retention = {
+              allow-individual-delete = false;
+              enable-account-indexing = false;
+            };
+            tagmsg-storage = {
+              default = false;
+              whitelist = [
+                "+draft/react"
+                "+react"
+              ];
+            };
+          };
+        };
+      };
+
+    };
+  };
+  config = lib.mkIf cfg.enable {
+
+    environment.etc."ergo.yaml".source = cfg.configFile;
+
+    # merge configured values with default values
+    services.ergochat.settings =
+      lib.mapAttrsRecursive (_: lib.mkDefault) options.services.ergochat.settings.default;
+
+    systemd.services.ergochat = {
+      description = "Ergo IRC daemon";
+      wantedBy = [ "multi-user.target" ];
+      # reload is not applying the changed config. further investigation is needed
+      # at some point this should be enabled, since we don't want to restart for
+      # every config change
+      # reloadIfChanged = true;
+      restartTriggers = [ cfg.configFile ];
+      serviceConfig = {
+        ExecStart = "${pkgs.ergochat}/bin/ergo run --conf /etc/ergo.yaml";
+        ExecReload = "${pkgs.util-linux}/bin/kill -HUP $MAINPID";
+        DynamicUser = true;
+        StateDirectory = "ergo";
+        LimitNOFILE = toString cfg.openFilesLimit;
+      };
+    };
+
+  };
+  meta.maintainers = with lib.maintainers; [ lassulus tv ];
+}
diff --git a/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix b/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix
index 88b4cd90540f..0dcf3d28f4e0 100644
--- a/nixpkgs/nixos/modules/services/networking/eternal-terminal.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/firewall.nix b/nixpkgs/nixos/modules/services/networking/firewall.nix
index ff023a888f26..c213a5516a49 100644
--- a/nixpkgs/nixos/modules/services/networking/firewall.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/frr.nix b/nixpkgs/nixos/modules/services/networking/frr.nix
new file mode 100644
index 000000000000..45a82b9450a4
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/frr.nix
@@ -0,0 +1,211 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.frr;
+
+  services = [
+    "static"
+    "bgp"
+    "ospf"
+    "ospf6"
+    "rip"
+    "ripng"
+    "isis"
+    "pim"
+    "ldp"
+    "nhrp"
+    "eigrp"
+    "babel"
+    "sharp"
+    "pbr"
+    "bfd"
+    "fabric"
+  ];
+
+  allServices = services ++ [ "zebra" ];
+
+  isEnabled = service: cfg.${service}.enable;
+
+  daemonName = service: if service == "zebra" then service else "${service}d";
+
+  configFile = service:
+    let
+      scfg = cfg.${service};
+    in
+      if scfg.configFile != null then scfg.configFile
+      else pkgs.writeText "${daemonName service}.conf"
+        ''
+          ! FRR ${daemonName service} configuration
+          !
+          hostname ${config.networking.hostName}
+          log syslog
+          service password-encryption
+          !
+          ${scfg.config}
+          !
+          end
+        '';
+
+  serviceOptions = service:
+    {
+      enable = mkEnableOption "the FRR ${toUpper service} routing protocol";
+
+      configFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/etc/frr/${daemonName service}.conf";
+        description = ''
+          Configuration file to use for FRR ${daemonName service}.
+          By default the NixOS generated files are used.
+        '';
+      };
+
+      config = mkOption {
+        type = types.lines;
+        default = "";
+        example =
+          let
+            examples = {
+              rip = ''
+                router rip
+                  network 10.0.0.0/8
+              '';
+
+              ospf = ''
+                router ospf
+                  network 10.0.0.0/8 area 0
+              '';
+
+              bgp = ''
+                router bgp 65001
+                  neighbor 10.0.0.1 remote-as 65001
+              '';
+            };
+          in
+            examples.${service} or "";
+        description = ''
+          ${daemonName service} configuration statements.
+        '';
+      };
+
+      vtyListenAddress = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = ''
+          Address to bind to for the VTY interface.
+        '';
+      };
+
+      vtyListenPort = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          TCP Port to bind to for the VTY interface.
+        '';
+      };
+    };
+
+in
+
+{
+
+  ###### interface
+  imports = [
+    {
+      options.services.frr = {
+        zebra = (serviceOptions "zebra") // {
+          enable = mkOption {
+            type = types.bool;
+            default = any isEnabled services;
+            description = ''
+              Whether to enable the Zebra routing manager.
+
+              The Zebra routing manager is automatically enabled
+              if any routing protocols are configured.
+            '';
+          };
+        };
+      };
+    }
+    { options.services.frr = (genAttrs services serviceOptions); }
+  ];
+
+  ###### implementation
+
+  config = mkIf (any isEnabled allServices) {
+
+    environment.systemPackages = [
+      pkgs.frr # for the vtysh tool
+    ];
+
+    users.users.frr = {
+      description = "FRR daemon user";
+      isSystemUser = true;
+      group = "frr";
+    };
+
+    users.groups = {
+      frr = {};
+      # Members of the frrvty group can use vtysh to inspect the FRR daemons
+      frrvty = { members = [ "frr" ]; };
+    };
+
+    environment.etc = let
+      mkEtcLink = service: {
+        name = "frr/${service}.conf";
+        value.source = configFile service;
+      };
+    in
+      (builtins.listToAttrs
+      (map mkEtcLink (filter isEnabled allServices))) // {
+        "frr/vtysh.conf".text = "";
+      };
+
+    systemd.tmpfiles.rules = [
+      "d /run/frr 0750 frr frr -"
+    ];
+
+    systemd.services =
+      let
+        frrService = service:
+          let
+            scfg = cfg.${service};
+            daemon = daemonName service;
+          in
+            nameValuePair daemon ({
+              wantedBy = [ "multi-user.target" ];
+              after = [ "network-pre.target" "systemd-sysctl.service" ] ++ lib.optionals (service != "zebra") [ "zebra.service" ];
+              bindsTo = lib.optionals (service != "zebra") [ "zebra.service" ];
+              wants = [ "network.target" ];
+
+              description = if service == "zebra" then "FRR Zebra routing manager"
+                else "FRR ${toUpper service} routing daemon";
+
+              unitConfig.Documentation = if service == "zebra" then "man:zebra(8)"
+                else "man:${daemon}(8) man:zebra(8)";
+
+              restartTriggers = [
+                (configFile service)
+              ];
+              reloadIfChanged = true;
+
+              serviceConfig = {
+                PIDFile = "frr/${daemon}.pid";
+                ExecStart = "${pkgs.frr}/libexec/frr/${daemon} -f /etc/frr/${service}.conf"
+                  + optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}"
+                  + optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}";
+                ExecReload = "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemonName service} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${service}.conf";
+                Restart = "on-abnormal";
+              };
+            });
+       in
+         listToAttrs (map frrService (filter isEnabled allServices));
+
+  };
+
+  meta.maintainers = with lib.maintainers; [ woffs ];
+
+}
diff --git a/nixpkgs/nixos/modules/services/networking/gogoclient.nix b/nixpkgs/nixos/modules/services/networking/gogoclient.nix
deleted file mode 100644
index 1205321818b9..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/networking/headscale.nix b/nixpkgs/nixos/modules/services/networking/headscale.nix
new file mode 100644
index 000000000000..091d2a938cd4
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/headscale.nix
@@ -0,0 +1,490 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.headscale;
+
+  dataDir = "/var/lib/headscale";
+  runDir = "/run/headscale";
+
+  settingsFormat = pkgs.formats.yaml { };
+  configFile = settingsFormat.generate "headscale.yaml" cfg.settings;
+in
+{
+  options = {
+    services.headscale = {
+      enable = mkEnableOption "headscale, Open Source coordination server for Tailscale";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.headscale;
+        defaultText = literalExpression "pkgs.headscale";
+        description = ''
+          Which headscale package to use for the running server.
+        '';
+      };
+
+      user = mkOption {
+        default = "headscale";
+        type = types.str;
+        description = ''
+          User account under which headscale runs.
+          <note><para>
+          If left as the default value this user will automatically be created
+          on system activation, otherwise you are responsible for
+          ensuring the user exists before the headscale service starts.
+          </para></note>
+        '';
+      };
+
+      group = mkOption {
+        default = "headscale";
+        type = types.str;
+        description = ''
+          Group under which headscale runs.
+          <note><para>
+          If left as the default value this group will automatically be created
+          on system activation, otherwise you are responsible for
+          ensuring the user exists before the headscale service starts.
+          </para></note>
+        '';
+      };
+
+      serverUrl = mkOption {
+        type = types.str;
+        default = "http://127.0.0.1:8080";
+        description = ''
+          The url clients will connect to.
+        '';
+        example = "https://myheadscale.example.com:443";
+      };
+
+      address = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        description = ''
+          Listening address of headscale.
+        '';
+        example = "0.0.0.0";
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 8080;
+        description = ''
+          Listening port of headscale.
+        '';
+        example = 443;
+      };
+
+      privateKeyFile = mkOption {
+        type = types.path;
+        default = "${dataDir}/private.key";
+        description = ''
+          Path to private key file, generated automatically if it does not exist.
+        '';
+      };
+
+      derp = {
+        urls = mkOption {
+          type = types.listOf types.str;
+          default = [ "https://controlplane.tailscale.com/derpmap/default" ];
+          description = ''
+            List of urls containing DERP maps.
+            See <link xlink:href="https://tailscale.com/blog/how-tailscale-works/">How Tailscale works</link> for more information on DERP maps.
+          '';
+        };
+
+        paths = mkOption {
+          type = types.listOf types.path;
+          default = [ ];
+          description = ''
+            List of file paths containing DERP maps.
+            See <link xlink:href="https://tailscale.com/blog/how-tailscale-works/">How Tailscale works</link> for more information on DERP maps.
+          '';
+        };
+
+
+        autoUpdate = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Whether to automatically update DERP maps on a set frequency.
+          '';
+          example = false;
+        };
+
+        updateFrequency = mkOption {
+          type = types.str;
+          default = "24h";
+          description = ''
+            Frequency to update DERP maps.
+          '';
+          example = "5m";
+        };
+
+      };
+
+      ephemeralNodeInactivityTimeout = mkOption {
+        type = types.str;
+        default = "30m";
+        description = ''
+          Time before an inactive ephemeral node is deleted.
+        '';
+        example = "5m";
+      };
+
+      database = {
+        type = mkOption {
+          type = types.enum [ "sqlite3" "postgres" ];
+          example = "postgres";
+          default = "sqlite3";
+          description = "Database engine to use.";
+        };
+
+        host = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "127.0.0.1";
+          description = "Database host address.";
+        };
+
+        port = mkOption {
+          type = types.nullOr types.port;
+          default = null;
+          example = 3306;
+          description = "Database host port.";
+        };
+
+        name = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "headscale";
+          description = "Database name.";
+        };
+
+        user = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "headscale";
+          description = "Database user.";
+        };
+
+        passwordFile = mkOption {
+          type = types.nullOr types.path;
+          default = null;
+          example = "/run/keys/headscale-dbpassword";
+          description = ''
+            A file containing the password corresponding to
+            <option>database.user</option>.
+          '';
+        };
+
+        path = mkOption {
+          type = types.nullOr types.str;
+          default = "${dataDir}/db.sqlite";
+          description = "Path to the sqlite3 database file.";
+        };
+      };
+
+      logLevel = mkOption {
+        type = types.str;
+        default = "info";
+        description = ''
+          headscale log level.
+        '';
+        example = "debug";
+      };
+
+      dns = {
+        nameservers = mkOption {
+          type = types.listOf types.str;
+          default = [ "1.1.1.1" ];
+          description = ''
+            List of nameservers to pass to Tailscale clients.
+          '';
+        };
+
+        domains = mkOption {
+          type = types.listOf types.str;
+          default = [ ];
+          description = ''
+            Search domains to inject to Tailscale clients.
+          '';
+          example = [ "mydomain.internal" ];
+        };
+
+        magicDns = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/).
+            Only works if there is at least a nameserver defined.
+          '';
+          example = false;
+        };
+
+        baseDomain = mkOption {
+          type = types.str;
+          default = "";
+          description = ''
+            Defines the base domain to create the hostnames for MagicDNS.
+            <option>baseDomain</option> must be a FQDNs, without the trailing dot.
+            The FQDN of the hosts will be
+            <literal>hostname.namespace.base_domain</literal> (e.g.
+            <literal>myhost.mynamespace.example.com</literal>).
+          '';
+        };
+      };
+
+      openIdConnect = {
+        issuer = mkOption {
+          type = types.str;
+          default = "";
+          description = ''
+            URL to OpenID issuer.
+          '';
+          example = "https://openid.example.com";
+        };
+
+        clientId = mkOption {
+          type = types.str;
+          default = "";
+          description = ''
+            OpenID Connect client ID.
+          '';
+        };
+
+        clientSecretFile = mkOption {
+          type = types.nullOr types.path;
+          default = null;
+          description = ''
+            Path to OpenID Connect client secret file.
+          '';
+        };
+
+        domainMap = mkOption {
+          type = types.attrsOf types.str;
+          default = { };
+          description = ''
+            Domain map is used to map incomming users (by their email) to
+            a namespace. The key can be a string, or regex.
+          '';
+          example = {
+            ".*" = "default-namespace";
+          };
+        };
+
+      };
+
+      tls = {
+        letsencrypt = {
+          hostname = mkOption {
+            type = types.nullOr types.str;
+            default = "";
+            description = ''
+              Domain name to request a TLS certificate for.
+            '';
+          };
+          challengeType = mkOption {
+            type = types.enum [ "TLS_ALPN-01" "HTTP-01" ];
+            default = "HTTP-01";
+            description = ''
+              Type of ACME challenge to use, currently supported types:
+              <literal>HTTP-01</literal> or <literal>TLS_ALPN-01</literal>.
+            '';
+          };
+          httpListen = mkOption {
+            type = types.nullOr types.str;
+            default = ":http";
+            description = ''
+              When HTTP-01 challenge is chosen, letsencrypt must set up a
+              verification endpoint, and it will be listening on:
+              <literal>:http = port 80</literal>.
+            '';
+          };
+        };
+
+        certFile = mkOption {
+          type = types.nullOr types.path;
+          default = null;
+          description = ''
+            Path to already created certificate.
+          '';
+        };
+        keyFile = mkOption {
+          type = types.nullOr types.path;
+          default = null;
+          description = ''
+            Path to key for already created certificate.
+          '';
+        };
+      };
+
+      aclPolicyFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = ''
+          Path to a file containg ACL policies.
+        '';
+      };
+
+      settings = mkOption {
+        type = settingsFormat.type;
+        default = { };
+        description = ''
+          Overrides to <filename>config.yaml</filename> as a Nix attribute set.
+          This option is ideal for overriding settings not exposed as Nix options.
+          Check the <link xlink:href="https://github.com/juanfont/headscale/blob/main/config-example.yaml">example config</link>
+          for possible options.
+        '';
+      };
+
+
+    };
+
+  };
+  config = mkIf cfg.enable {
+
+    services.headscale.settings = {
+      server_url = mkDefault cfg.serverUrl;
+      listen_addr = mkDefault "${cfg.address}:${toString cfg.port}";
+
+      private_key_path = mkDefault cfg.privateKeyFile;
+
+      derp = {
+        urls = mkDefault cfg.derp.urls;
+        paths = mkDefault cfg.derp.paths;
+        auto_update_enable = mkDefault cfg.derp.autoUpdate;
+        update_frequency = mkDefault cfg.derp.updateFrequency;
+      };
+
+      # Turn off update checks since the origin of our package
+      # is nixpkgs and not Github.
+      disable_check_updates = true;
+
+      ephemeral_node_inactivity_timeout = mkDefault cfg.ephemeralNodeInactivityTimeout;
+
+      db_type = mkDefault cfg.database.type;
+      db_path = mkDefault cfg.database.path;
+
+      log_level = mkDefault cfg.logLevel;
+
+      dns_config = {
+        nameservers = mkDefault cfg.dns.nameservers;
+        domains = mkDefault cfg.dns.domains;
+        magic_dns = mkDefault cfg.dns.magicDns;
+        base_domain = mkDefault cfg.dns.baseDomain;
+      };
+
+      unix_socket = "${runDir}/headscale.sock";
+
+      # OpenID Connect
+      oidc = {
+        issuer = mkDefault cfg.openIdConnect.issuer;
+        client_id = mkDefault cfg.openIdConnect.clientId;
+        domain_map = mkDefault cfg.openIdConnect.domainMap;
+      };
+
+      tls_letsencrypt_cache_dir = "${dataDir}/.cache";
+
+    } // optionalAttrs (cfg.database.host != null) {
+      db_host = mkDefault cfg.database.host;
+    } // optionalAttrs (cfg.database.port != null) {
+      db_port = mkDefault cfg.database.port;
+    } // optionalAttrs (cfg.database.name != null) {
+      db_name = mkDefault cfg.database.name;
+    } // optionalAttrs (cfg.database.user != null) {
+      db_user = mkDefault cfg.database.user;
+    } // optionalAttrs (cfg.tls.letsencrypt.hostname != null) {
+      tls_letsencrypt_hostname = mkDefault cfg.tls.letsencrypt.hostname;
+    } // optionalAttrs (cfg.tls.letsencrypt.challengeType != null) {
+      tls_letsencrypt_challenge_type = mkDefault cfg.tls.letsencrypt.challengeType;
+    } // optionalAttrs (cfg.tls.letsencrypt.httpListen != null) {
+      tls_letsencrypt_listen = mkDefault cfg.tls.letsencrypt.httpListen;
+    } // optionalAttrs (cfg.tls.certFile != null) {
+      tls_cert_path = mkDefault cfg.tls.certFile;
+    } // optionalAttrs (cfg.tls.keyFile != null) {
+      tls_key_path = mkDefault cfg.tls.keyFile;
+    } // optionalAttrs (cfg.aclPolicyFile != null) {
+      acl_policy_path = mkDefault cfg.aclPolicyFile;
+    };
+
+    # Setup the headscale configuration in a known path in /etc to
+    # allow both the Server and the Client use it to find the socket
+    # for communication.
+    environment.etc."headscale/config.yaml".source = configFile;
+
+    users.groups.headscale = mkIf (cfg.group == "headscale") { };
+
+    users.users.headscale = mkIf (cfg.user == "headscale") {
+      description = "headscale user";
+      home = dataDir;
+      group = cfg.group;
+      isSystemUser = true;
+    };
+
+    systemd.services.headscale = {
+      description = "headscale coordination server for Tailscale";
+      after = [ "network-online.target" ];
+      wantedBy = [ "multi-user.target" ];
+      restartTriggers = [ configFile ];
+
+      script = ''
+        ${optionalString (cfg.database.passwordFile != null) ''
+          export HEADSCALE_DB_PASS="$(head -n1 ${escapeShellArg cfg.database.passwordFile})"
+        ''}
+
+        export HEADSCALE_OIDC_CLIENT_SECRET="$(head -n1 ${escapeShellArg cfg.openIdConnect.clientSecretFile})"
+        exec ${cfg.package}/bin/headscale serve
+      '';
+
+      serviceConfig =
+        let
+          capabilityBoundingSet = [ "CAP_CHOWN" ] ++ optional (cfg.port < 1024) "CAP_NET_BIND_SERVICE";
+        in
+        {
+          Restart = "always";
+          Type = "simple";
+          User = cfg.user;
+          Group = cfg.group;
+
+          # Hardening options
+          RuntimeDirectory = "headscale";
+          # Allow headscale group access so users can be added and use the CLI.
+          RuntimeDirectoryMode = "0750";
+
+          StateDirectory = "headscale";
+          StateDirectoryMode = "0750";
+
+          ProtectSystem = "strict";
+          ProtectHome = true;
+          PrivateTmp = true;
+          PrivateDevices = true;
+          ProtectKernelTunables = true;
+          ProtectControlGroups = true;
+          RestrictSUIDSGID = true;
+          PrivateMounts = true;
+          ProtectKernelModules = true;
+          ProtectKernelLogs = true;
+          ProtectHostname = true;
+          ProtectClock = true;
+          ProtectProc = "invisible";
+          ProcSubset = "pid";
+          RestrictNamespaces = true;
+          RemoveIPC = true;
+          UMask = "0077";
+
+          CapabilityBoundingSet = capabilityBoundingSet;
+          AmbientCapabilities = capabilityBoundingSet;
+          NoNewPrivileges = true;
+          LockPersonality = true;
+          RestrictRealtime = true;
+          SystemCallFilter = [ "@system-service" "~@priviledged" "@chown" ];
+          SystemCallArchitectures = "native";
+          RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
+        };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ kradalby ];
+}
diff --git a/nixpkgs/nixos/modules/services/networking/hylafax/options.nix b/nixpkgs/nixos/modules/services/networking/hylafax/options.nix
index 8e59c68054d2..8f621b61002f 100644
--- a/nixpkgs/nixos/modules/services/networking/hylafax/options.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/i2pd.nix b/nixpkgs/nixos/modules/services/networking/i2pd.nix
index e1a31a0c2ee0..34fda57b23d2 100644
--- a/nixpkgs/nixos/modules/services/networking/i2pd.nix
+++ b/nixpkgs/nixos/modules/services/networking/i2pd.nix
@@ -222,14 +222,12 @@ let
         in concatStringsSep "\n" inTunOpts))];
     in pkgs.writeText "i2pd-tunnels.conf" opts;
 
-  i2pdSh = pkgs.writeScriptBin "i2pd" ''
-    #!/bin/sh
-    exec ${cfg.package}/bin/i2pd \
-      ${if cfg.address == null then "" else "--host="+cfg.address} \
-      --service \
-      --conf=${i2pdConf} \
-      --tunconf=${tunnelConf}
-  '';
+  i2pdFlags = concatStringsSep " " (
+    optional (cfg.address != null) ("--host=" + cfg.address) ++ [
+    "--service"
+    ("--conf=" + i2pdConf)
+    ("--tunconf=" + tunnelConf)
+  ]);
 
 in
 
@@ -686,7 +684,7 @@ in
         User = "i2pd";
         WorkingDirectory = homeDir;
         Restart = "on-abort";
-        ExecStart = "${i2pdSh}/bin/i2pd";
+        ExecStart = "${cfg.package}/bin/i2pd ${i2pdFlags}";
       };
     };
   };
diff --git a/nixpkgs/nixos/modules/services/networking/kea.nix b/nixpkgs/nixos/modules/services/networking/kea.nix
index 4da47f575f79..17b4eb2e283b 100644
--- a/nixpkgs/nixos/modules/services/networking/kea.nix
+++ b/nixpkgs/nixos/modules/services/networking/kea.nix
@@ -378,4 +378,6 @@ in
   ]);
 
   meta.maintainers = with maintainers; [ hexa ];
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/networking/kresd.nix b/nixpkgs/nixos/modules/services/networking/kresd.nix
index 3a36ac7e6670..28b8be7a9a0d 100644
--- a/nixpkgs/nixos/modules/services/networking/kresd.nix
+++ b/nixpkgs/nixos/modules/services/networking/kresd.nix
@@ -7,15 +7,16 @@ let
 
   # Convert systemd-style address specification to kresd config line(s).
   # On Nix level we don't attempt to precisely validate the address specifications.
+  # The optional IPv6 scope spec comes *after* port, perhaps surprisingly.
   mkListen = kind: addr: let
-    al_v4 = builtins.match "([0-9.]+):([0-9]+)" addr;
-    al_v6 = builtins.match "\\[(.+)]:([0-9]+)" addr;
+    al_v4 = builtins.match "([0-9.]+):([0-9]+)($)" addr;
+    al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr;
     al_portOnly = builtins.match "([0-9]+)" addr;
     al = findFirst (a: a != null)
       (throw "services.kresd.*: incorrect address specification '${addr}'")
       [ al_v4 al_v6 al_portOnly ];
-    port = last al;
-    addrSpec = if al_portOnly == null then "'${head al}'" else "{'::', '0.0.0.0'}";
+    port = elemAt al 1;
+    addrSpec = if al_portOnly == null then "'${head al}${elemAt al 2}'" else "{'::', '0.0.0.0'}";
     in # freebind is set for compatibility with earlier kresd services;
        # it could be configurable, for example.
       ''
diff --git a/nixpkgs/nixos/modules/services/networking/mailpile.nix b/nixpkgs/nixos/modules/services/networking/mailpile.nix
deleted file mode 100644
index 4673a2580b60..000000000000
--- a/nixpkgs/nixos/modules/services/networking/mailpile.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  cfg = config.services.mailpile;
-
-  hostname = cfg.hostname;
-  port = cfg.port;
-
-in
-
-{
-
-  ###### interface
-
-  options = {
-
-    services.mailpile = {
-      enable = mkEnableOption "Mailpile the mail client";
-
-      hostname = mkOption {
-        type = types.str;
-        default = "localhost";
-        description = "Listen to this hostname or ip.";
-      };
-      port = mkOption {
-        type = types.port;
-        default = 33411;
-        description = "Listen on this port.";
-      };
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf config.services.mailpile.enable {
-
-    users.users.mailpile =
-      { uid = config.ids.uids.mailpile;
-        description = "Mailpile user";
-        createHome = true;
-        home = "/var/lib/mailpile";
-      };
-
-    users.groups.mailpile =
-      { gid = config.ids.gids.mailpile;
-      };
-
-    systemd.services.mailpile =
-      {
-        description = "Mailpile server.";
-        after = [ "network.target" ];
-        wantedBy = [ "multi-user.target" ];
-        serviceConfig = {
-          User = "mailpile";
-          ExecStart = "${pkgs.mailpile}/bin/mailpile --www ${hostname}:${port} --wait";
-          # mixed - first send SIGINT to main process,
-          # then after 2min send SIGKILL to whole group if neccessary
-          KillMode = "mixed";
-          KillSignal = "SIGINT";  # like Ctrl+C - safe mailpile shutdown
-          TimeoutSec = 120;  # wait 2min untill SIGKILL
-        };
-        environment.MAILPILE_HOME = "/var/lib/mailpile/.local/share/Mailpile";
-      };
-
-    environment.systemPackages = [ pkgs.mailpile ];
-
-  };
-
-}
diff --git a/nixpkgs/nixos/modules/services/networking/mosquitto.nix b/nixpkgs/nixos/modules/services/networking/mosquitto.nix
index 2d498d4dbbcf..b41a2fd27be2 100644
--- a/nixpkgs/nixos/modules/services/networking/mosquitto.nix
+++ b/nixpkgs/nixos/modules/services/networking/mosquitto.nix
@@ -136,7 +136,7 @@ let
         + concatStringsSep "\n"
           (plainLines
            ++ optional (plainLines != []) ''
-             ${pkgs.mosquitto}/bin/mosquitto_passwd -U "$file"
+             ${cfg.package}/bin/mosquitto_passwd -U "$file"
            ''
            ++ hashedLines));
 
@@ -444,6 +444,15 @@ let
   globalOptions = with types; {
     enable = mkEnableOption "the MQTT Mosquitto broker";
 
+    package = mkOption {
+      type = package;
+      default = pkgs.mosquitto;
+      defaultText = literalExpression "pkgs.mosquitto";
+      description = ''
+        Mosquitto package to use.
+      '';
+    };
+
     bridges = mkOption {
       type = attrsOf bridgeOptions;
       default = {};
@@ -556,7 +565,7 @@ in
     systemd.services.mosquitto = {
       description = "Mosquitto MQTT Broker Daemon";
       wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
+      after = [ "network-online.target" ];
       serviceConfig = {
         Type = "notify";
         NotifyAccess = "main";
@@ -565,7 +574,7 @@ in
         RuntimeDirectory = "mosquitto";
         WorkingDirectory = cfg.dataDir;
         Restart = "on-failure";
-        ExecStart = "${pkgs.mosquitto}/bin/mosquitto -c ${configFile}";
+        ExecStart = "${cfg.package}/bin/mosquitto -c ${configFile}";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
 
         # Hardening
diff --git a/nixpkgs/nixos/modules/services/networking/mtr-exporter.nix b/nixpkgs/nixos/modules/services/networking/mtr-exporter.nix
new file mode 100644
index 000000000000..ca261074ebde
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/mtr-exporter.nix
@@ -0,0 +1,87 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib)
+    maintainers types mkEnableOption mkOption mkIf
+    literalExpression escapeShellArg escapeShellArgs;
+  cfg = config.services.mtr-exporter;
+in {
+  options = {
+    services = {
+      mtr-exporter = {
+        enable = mkEnableOption "a Prometheus exporter for MTR";
+
+        target = mkOption {
+          type = types.str;
+          example = "example.org";
+          description = "Target to check using MTR.";
+        };
+
+        interval = mkOption {
+          type = types.int;
+          default = 60;
+          description = "Interval between MTR checks in seconds.";
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 8080;
+          description = "Listen port for MTR exporter.";
+        };
+
+        address = mkOption {
+          type = types.str;
+          default = "127.0.0.1";
+          description = "Listen address for MTR exporter.";
+        };
+
+        mtrFlags = mkOption {
+          type = with types; listOf str;
+          default = [];
+          example = ["-G1"];
+          description = "Additional flags to pass to MTR.";
+        };
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.mtr-exporter = {
+      script = ''
+        exec ${pkgs.mtr-exporter}/bin/mtr-exporter \
+          -mtr ${pkgs.mtr}/bin/mtr \
+          -schedule '@every ${toString cfg.interval}s' \
+          -bind ${escapeShellArg cfg.address}:${toString cfg.port} \
+          -- \
+          ${escapeShellArgs (cfg.mtrFlags ++ [ cfg.target ])}
+      '';
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "network.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        Restart = "on-failure";
+        # Hardening
+        CapabilityBoundingSet = [ "" ];
+        DynamicUser = true;
+        LockPersonality = true;
+        ProcSubset = "pid";
+        PrivateDevices = true;
+        PrivateUsers = true;
+        PrivateTmp = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        ProtectSystem = "strict";
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ jakubgs ];
+}
diff --git a/nixpkgs/nixos/modules/services/networking/multipath.nix b/nixpkgs/nixos/modules/services/networking/multipath.nix
index 1cc2ad1fc849..1a44184ff6dc 100644
--- a/nixpkgs/nixos/modules/services/networking/multipath.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/murmur.nix b/nixpkgs/nixos/modules/services/networking/murmur.nix
index bbbe1e181bba..992678c43ebe 100644
--- a/nixpkgs/nixos/modules/services/networking/murmur.nix
+++ b/nixpkgs/nixos/modules/services/networking/murmur.nix
@@ -294,7 +294,7 @@ in
     systemd.services.murmur = {
       description = "Murmur Chat Service";
       wantedBy    = [ "multi-user.target" ];
-      after       = [ "network-online.target "];
+      after       = [ "network-online.target" ];
       preStart    = ''
         ${pkgs.envsubst}/bin/envsubst \
           -o /run/murmur/murmurd.ini \
diff --git a/nixpkgs/nixos/modules/services/networking/networkmanager.nix b/nixpkgs/nixos/modules/services/networking/networkmanager.nix
index 73e63e2ee99b..a9801036b00c 100644
--- a/nixpkgs/nixos/modules/services/networking/networkmanager.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/nftables.nix b/nixpkgs/nixos/modules/services/networking/nftables.nix
index eb74d373b0af..b911f97491eb 100644
--- a/nixpkgs/nixos/modules/services/networking/nftables.nix
+++ b/nixpkgs/nixos/modules/services/networking/nftables.nix
@@ -25,9 +25,10 @@ in
           for more information.
 
           There are other programs that use iptables internally too, such as
-          libvirt.
+          libvirt. For information on how the two firewalls interact, see [2].
 
           [1]: https://github.com/NixOS/nixpkgs/issues/24318#issuecomment-289216273
+          [2]: https://wiki.nftables.org/wiki-nftables/index.php/Troubleshooting#Question_4._How_do_nftables_and_iptables_interact_when_used_on_the_same_system.3F
         '';
     };
     networking.nftables.ruleset = mkOption {
@@ -118,20 +119,11 @@ in
           flush ruleset
           include "${cfg.rulesetFile}"
         '';
-        checkScript = pkgs.writeScript "nftables-check" ''
-          #! ${pkgs.runtimeShell} -e
-          if $(${pkgs.kmod}/bin/lsmod | grep -q ip_tables); then
-            echo "Unload ip_tables before using nftables!" 1>&2
-            exit 1
-          else
-            ${rulesScript}
-          fi
-        '';
       in {
         Type = "oneshot";
         RemainAfterExit = true;
-        ExecStart = checkScript;
-        ExecReload = checkScript;
+        ExecStart = rulesScript;
+        ExecReload = rulesScript;
         ExecStop = "${pkgs.nftables}/bin/nft flush ruleset";
       };
     };
diff --git a/nixpkgs/nixos/modules/services/networking/nix-serve.nix b/nixpkgs/nixos/modules/services/networking/nix-serve.nix
index 390f0ddaee83..432938d59d90 100644
--- a/nixpkgs/nixos/modules/services/networking/nix-serve.nix
+++ b/nixpkgs/nixos/modules/services/networking/nix-serve.nix
@@ -26,6 +26,12 @@ in
         '';
       };
 
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Open ports in the firewall for nix-serve.";
+      };
+
       secretKeyFile = mkOption {
         type = types.nullOr types.str;
         default = null;
@@ -77,5 +83,9 @@ in
           "NIX_SECRET_KEY_FILE:${cfg.secretKeyFile}";
       };
     };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/networking/ntopng.nix b/nixpkgs/nixos/modules/services/networking/ntopng.nix
index 77a004e8ab3a..022fc923edaa 100644
--- a/nixpkgs/nixos/modules/services/networking/ntopng.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/racoon.nix b/nixpkgs/nixos/modules/services/networking/racoon.nix
deleted file mode 100644
index 328f4cb1497f..000000000000
--- a/nixpkgs/nixos/modules/services/networking/racoon.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.racoon;
-in {
-  options.services.racoon = {
-    enable = mkEnableOption "racoon";
-
-    config = mkOption {
-      description = "Contents of racoon configuration file.";
-      default = "";
-      type = types.str;
-    };
-
-    configPath = mkOption {
-      description = "Location of racoon config if config is not provided.";
-      default = "/etc/racoon/racoon.conf";
-      type = types.path;
-    };
-  };
-
-  config = mkIf cfg.enable {
-    systemd.services.racoon = {
-      description = "Racoon Daemon";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
-      serviceConfig = {
-        ExecStart = "${pkgs.ipsecTools}/bin/racoon -f ${
-          if (cfg.config != "") then pkgs.writeText "racoon.conf" cfg.config
-          else cfg.configPath
-        }";
-        ExecReload = "${pkgs.ipsecTools}/bin/racoonctl reload-config";
-        PIDFile = "/run/racoon.pid";
-        Type = "forking";
-        Restart = "always";
-      };
-      preStart = ''
-        rm /run/racoon.pid || true
-        mkdir -p /var/racoon
-      '';
-    };
-  };
-}
diff --git a/nixpkgs/nixos/modules/services/networking/seafile.nix b/nixpkgs/nixos/modules/services/networking/seafile.nix
index d7fb22edebed..2839ffb60a1f 100644
--- a/nixpkgs/nixos/modules/services/networking/seafile.nix
+++ b/nixpkgs/nixos/modules/services/networking/seafile.nix
@@ -1,7 +1,6 @@
 { config, lib, pkgs, ... }:
 with lib;
 let
-  python = pkgs.python3Packages.python;
   cfg = config.services.seafile;
   settingsFormat = pkgs.formats.ini { };
 
@@ -221,9 +220,7 @@ in {
         '';
       };
 
-      seahub = let
-        penv = (pkgs.python3.withPackages (ps: with ps; [ gunicorn seahub ]));
-      in {
+      seahub = {
         description = "Seafile Server Web Frontend";
         wantedBy = [ "seafile.target" ];
         partOf = [ "seafile.target" ];
@@ -231,8 +228,7 @@ in {
         requires = [ "seaf-server.service" ];
         restartTriggers = [ seahubSettings ];
         environment = {
-          PYTHONPATH =
-            "${pkgs.python3Packages.seahub}/thirdpart:${pkgs.python3Packages.seahub}:${penv}/${python.sitePackages}";
+          PYTHONPATH = "${pkgs.seahub.pythonPath}:${pkgs.seahub}/thirdpart:${pkgs.seahub}";
           DJANGO_SETTINGS_MODULE = "seahub.settings";
           CCNET_CONF_DIR = ccnetDir;
           SEAFILE_CONF_DIR = dataDir;
@@ -249,7 +245,7 @@ in {
           LogsDirectory = "seafile";
           ConfigurationDirectory = "seafile";
           ExecStart = ''
-            ${penv}/bin/gunicorn seahub.wsgi:application \
+            ${pkgs.seahub.python.pkgs.gunicorn}/bin/gunicorn seahub.wsgi:application \
             --name seahub \
             --workers ${toString cfg.workers} \
             --log-level=info \
@@ -262,27 +258,27 @@ in {
         preStart = ''
           mkdir -p ${seahubDir}/media
           # Link all media except avatars
-          for m in `find ${pkgs.python3Packages.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
+          for m in `find ${pkgs.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
             ln -sf $m ${seahubDir}/media/
           done
           if [ ! -e "${seafRoot}/.seahubSecret" ]; then
-              ${penv}/bin/python ${pkgs.python3Packages.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
+              ${pkgs.seahub.python}/bin/python ${pkgs.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
               chmod 400 ${seafRoot}/.seahubSecret
           fi
           if [ ! -f "${seafRoot}/seahub-setup" ]; then
               # avatars directory should be writable
-              install -D -t ${seahubDir}/media/avatars/ ${pkgs.python3Packages.seahub}/media/avatars/default.png
-              install -D -t ${seahubDir}/media/avatars/groups ${pkgs.python3Packages.seahub}/media/avatars/groups/default.png
+              install -D -t ${seahubDir}/media/avatars/ ${pkgs.seahub}/media/avatars/default.png
+              install -D -t ${seahubDir}/media/avatars/groups ${pkgs.seahub}/media/avatars/groups/default.png
               # init database
-              ${pkgs.python3Packages.seahub}/manage.py migrate
+              ${pkgs.seahub}/manage.py migrate
               # create admin account
-              ${pkgs.expect}/bin/expect -c 'spawn ${pkgs.python3Packages.seahub}/manage.py createsuperuser --email=${cfg.adminEmail}; expect "Password: "; send "${cfg.initialAdminPassword}\r"; expect "Password (again): "; send "${cfg.initialAdminPassword}\r"; expect "Superuser created successfully."'
-              echo "${pkgs.python3Packages.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
+              ${pkgs.expect}/bin/expect -c 'spawn ${pkgs.seahub}/manage.py createsuperuser --email=${cfg.adminEmail}; expect "Password: "; send "${cfg.initialAdminPassword}\r"; expect "Password (again): "; send "${cfg.initialAdminPassword}\r"; expect "Superuser created successfully."'
+              echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
           fi
-          if [ $(cat "${seafRoot}/seahub-setup" | cut -d"-" -f1) != "${pkgs.python3Packages.seahub.version}" ]; then
+          if [ $(cat "${seafRoot}/seahub-setup" | cut -d"-" -f1) != "${pkgs.seahub.version}" ]; then
               # update database
-              ${pkgs.python3Packages.seahub}/manage.py migrate
-              echo "${pkgs.python3Packages.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
+              ${pkgs.seahub}/manage.py migrate
+              echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
           fi
         '';
       };
diff --git a/nixpkgs/nixos/modules/services/networking/searx.nix b/nixpkgs/nixos/modules/services/networking/searx.nix
index 9fb06af7442e..b73f255eb9dd 100644
--- a/nixpkgs/nixos/modules/services/networking/searx.nix
+++ b/nixpkgs/nixos/modules/services/networking/searx.nix
@@ -228,5 +228,4 @@ in
   };
 
   meta.maintainers = with maintainers; [ rnhmjoj ];
-
 }
diff --git a/nixpkgs/nixos/modules/services/networking/sniproxy.nix b/nixpkgs/nixos/modules/services/networking/sniproxy.nix
index 28c201f0565e..adca5398e4ab 100644
--- a/nixpkgs/nixos/modules/services/networking/sniproxy.nix
+++ b/nixpkgs/nixos/modules/services/networking/sniproxy.nix
@@ -14,6 +14,8 @@ let
 
 in
 {
+  imports = [ (mkRemovedOptionModule [ "services" "sniproxy" "logDir" ] "Now done by LogsDirectory=. Set to a custom path if you log to a different folder in your config.") ];
+
   options = {
     services.sniproxy = {
       enable = mkEnableOption "sniproxy server";
@@ -50,13 +52,6 @@ in
           }
         '';
       };
-
-      logDir = mkOption {
-        type = types.str;
-        default = "/var/log/sniproxy/";
-        description = "Location of the log directory for sniproxy.";
-      };
-
     };
 
   };
@@ -66,18 +61,12 @@ in
       description = "sniproxy server";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart = ''
-        test -d ${cfg.logDir} || {
-          echo "Creating initial log directory for sniproxy in ${cfg.logDir}"
-          mkdir -p ${cfg.logDir}
-          chmod 640 ${cfg.logDir}
-          }
-        chown -R ${cfg.user}:${cfg.group} ${cfg.logDir}
-      '';
 
       serviceConfig = {
         Type = "forking";
         ExecStart = "${pkgs.sniproxy}/bin/sniproxy -c ${configFile}";
+        LogsDirectory = "sniproxy";
+        LogsDirectoryMode = "0640";
         Restart = "always";
       };
     };
diff --git a/nixpkgs/nixos/modules/services/networking/squid.nix b/nixpkgs/nixos/modules/services/networking/squid.nix
index 9d063b92aa1e..4f3881af8bbf 100644
--- a/nixpkgs/nixos/modules/services/networking/squid.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
index f39c5928e265..e25fe87ed4da 100644
--- a/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
@@ -30,7 +30,7 @@ let
 
     options.openssh.authorizedKeys = {
       keys = mkOption {
-        type = types.listOf types.str;
+        type = types.listOf types.singleLineStr;
         default = [];
         description = ''
           A list of verbatim OpenSSH public keys that should be added to the
@@ -81,6 +81,7 @@ in
   imports = [
     (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
     (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
+    (mkRenamedOptionModule [ "services" "openssh" "challengeResponseAuthentication" ] [ "services" "openssh" "kbdInteractiveAuthentication" ])
   ];
 
   ###### interface
@@ -218,11 +219,11 @@ in
         '';
       };
 
-      challengeResponseAuthentication = mkOption {
+      kbdInteractiveAuthentication = mkOption {
         type = types.bool;
         default = true;
         description = ''
-          Specifies whether challenge/response authentication is allowed.
+          Specifies whether keyboard-interactive authentication is allowed.
         '';
       };
 
@@ -490,6 +491,8 @@ in
             else
               cfg.ports;
             socketConfig.Accept = true;
+            # Prevent brute-force attacks from shutting down socket
+            socketConfig.TriggerLimitIntervalSec = 0;
           };
 
         services."sshd@" = service;
@@ -542,7 +545,7 @@ in
         PermitRootLogin ${cfg.permitRootLogin}
         GatewayPorts ${cfg.gatewayPorts}
         PasswordAuthentication ${if cfg.passwordAuthentication then "yes" else "no"}
-        ChallengeResponseAuthentication ${if cfg.challengeResponseAuthentication then "yes" else "no"}
+        KbdInteractiveAuthentication ${if cfg.kbdInteractiveAuthentication then "yes" else "no"}
 
         PrintMotd no # handled by pam_motd
 
diff --git a/nixpkgs/nixos/modules/services/networking/stunnel.nix b/nixpkgs/nixos/modules/services/networking/stunnel.nix
index 70d0a7d3c12e..df4908a0fff9 100644
--- a/nixpkgs/nixos/modules/services/networking/stunnel.nix
+++ b/nixpkgs/nixos/modules/services/networking/stunnel.nix
@@ -25,8 +25,8 @@ let
       };
 
       connect = mkOption {
-        type = types.int;
-        description = "To which port the decrypted connection should be forwarded.";
+        type = types.either types.str types.int;
+        description = "Port or IP:Port to which the decrypted connection should be forwarded.";
       };
 
       cert = mkOption {
diff --git a/nixpkgs/nixos/modules/services/networking/syncplay.nix b/nixpkgs/nixos/modules/services/networking/syncplay.nix
index 27a16fb2e29f..b6faf2d3f772 100644
--- a/nixpkgs/nixos/modules/services/networking/syncplay.nix
+++ b/nixpkgs/nixos/modules/services/networking/syncplay.nix
@@ -68,7 +68,7 @@ in
     systemd.services.syncplay = {
       description = "Syncplay Service";
       wantedBy    = [ "multi-user.target" ];
-      after       = [ "network-online.target "];
+      after       = [ "network-online.target" ];
 
       serviceConfig = {
         ExecStart = "${pkgs.syncplay}/bin/syncplay-server ${escapeShellArgs cmdArgs}";
diff --git a/nixpkgs/nixos/modules/services/networking/syncthing.nix b/nixpkgs/nixos/modules/services/networking/syncthing.nix
index e37e324019e8..3a3d4c80ecff 100644
--- a/nixpkgs/nixos/modules/services/networking/syncthing.nix
+++ b/nixpkgs/nixos/modules/services/networking/syncthing.nix
@@ -468,7 +468,7 @@ in {
         default = false;
         example = true;
         description = ''
-          Whether to open the default ports in the firewall: TCP 22000 for transfers
+          Whether to open the default ports in the firewall: TCP/UDP 22000 for transfers
           and UDP 21027 for discovery.
 
           If multiple users are running Syncthing on this machine, you will need
@@ -504,7 +504,7 @@ in {
 
     networking.firewall = mkIf cfg.openDefaultPorts {
       allowedTCPPorts = [ 22000 ];
-      allowedUDPPorts = [ 21027 ];
+      allowedUDPPorts = [ 21027 22000 ];
     };
 
     systemd.packages = [ pkgs.syncthing ];
diff --git a/nixpkgs/nixos/modules/services/networking/teleport.nix b/nixpkgs/nixos/modules/services/networking/teleport.nix
new file mode 100644
index 000000000000..454791621800
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/teleport.nix
@@ -0,0 +1,99 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.teleport;
+  settingsYaml = pkgs.formats.yaml { };
+in
+{
+  options = {
+    services.teleport = with lib.types; {
+      enable = mkEnableOption "the Teleport service";
+
+      settings = mkOption {
+        type = settingsYaml.type;
+        default = { };
+        example = literalExpression ''
+          {
+            teleport = {
+              nodename = "client";
+              advertise_ip = "192.168.1.2";
+              auth_token = "60bdc117-8ff4-478d-95e4-9914597847eb";
+              auth_servers = [ "192.168.1.1:3025" ];
+              log.severity = "DEBUG";
+            };
+            ssh_service = {
+              enabled = true;
+              labels = {
+                role = "client";
+              };
+            };
+            proxy_service.enabled = false;
+            auth_service.enabled = false;
+          }
+        '';
+        description = ''
+          Contents of the <literal>teleport.yaml</literal> config file.
+          The <literal>--config</literal> arguments will only be passed if this set is not empty.
+
+          See <link xlink:href="https://goteleport.com/docs/setup/reference/config/"/>.
+        '';
+      };
+
+      insecure.enable = mkEnableOption ''
+        starting teleport in insecure mode.
+
+        This is dangerous!
+        Sensitive information will be logged to console and certificates will not be verified.
+        Proceed with caution!
+
+        Teleport starts with disabled certificate validation on Proxy Service, validation still occurs on Auth Service
+      '';
+
+      diag = {
+        enable = mkEnableOption ''
+          endpoints for monitoring purposes.
+
+          See <link xlink:href="https://goteleport.com/docs/setup/admin/troubleshooting/#troubleshooting/"/>
+        '';
+
+        addr = mkOption {
+          type = str;
+          default = "127.0.0.1";
+          description = "Metrics and diagnostics address.";
+        };
+
+        port = mkOption {
+          type = int;
+          default = 3000;
+          description = "Metrics and diagnostics port.";
+        };
+      };
+    };
+  };
+
+  config = mkIf config.services.teleport.enable {
+    environment.systemPackages = [ pkgs.teleport ];
+
+    systemd.services.teleport = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.teleport}/bin/teleport start \
+            ${optionalString cfg.insecure.enable "--insecure"} \
+            ${optionalString cfg.diag.enable "--diag-addr=${cfg.diag.addr}:${toString cfg.diag.port}"} \
+            ${optionalString (cfg.settings != { }) "--config=${settingsYaml.generate "teleport.yaml" cfg.settings}"}
+        '';
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        LimitNOFILE = 65536;
+        Restart = "always";
+        RestartSec = "5s";
+        RuntimeDirectory = "teleport";
+        Type = "simple";
+      };
+    };
+  };
+}
+
diff --git a/nixpkgs/nixos/modules/services/networking/thelounge.nix b/nixpkgs/nixos/modules/services/networking/thelounge.nix
index b94491639163..a5118fd8b339 100644
--- a/nixpkgs/nixos/modules/services/networking/thelounge.nix
+++ b/nixpkgs/nixos/modules/services/networking/thelounge.nix
@@ -6,17 +6,31 @@ let
   cfg = config.services.thelounge;
   dataDir = "/var/lib/thelounge";
   configJsData = "module.exports = " + builtins.toJSON (
-    { private = cfg.private; port = cfg.port; } // cfg.extraConfig
+    { inherit (cfg) public port; } // cfg.extraConfig
   );
-in {
+  pluginManifest = {
+    dependencies = builtins.listToAttrs (builtins.map (pkg: { name = getName pkg; value = getVersion pkg; }) cfg.plugins);
+  };
+  plugins = pkgs.runCommandLocal "thelounge-plugins" { } ''
+    mkdir -p $out/node_modules
+    echo ${escapeShellArg (builtins.toJSON pluginManifest)} >> $out/package.json
+    ${concatMapStringsSep "\n" (pkg: ''
+    ln -s ${pkg}/lib/node_modules/${getName pkg} $out/node_modules/${getName pkg}
+    '') cfg.plugins}
+  '';
+in
+{
+  imports = [ (mkRemovedOptionModule [ "services" "thelounge" "private" ] "The option was renamed to `services.thelounge.public` to follow upstream changes.") ];
+
   options.services.thelounge = {
     enable = mkEnableOption "The Lounge web IRC client";
 
-    private = mkOption {
+    public = mkOption {
       type = types.bool;
       default = false;
       description = ''
-        Make your The Lounge instance private. You will need to configure user
+        Make your The Lounge instance public.
+        Setting this to <literal>false</literal> will require you to configure user
         accounts by using the (<command>thelounge</command>) command or by adding
         entries in <filename>${dataDir}/users</filename>. You might need to restart
         The Lounge after making changes to the state directory.
@@ -30,7 +44,7 @@ in {
     };
 
     extraConfig = mkOption {
-      default = {};
+      default = { };
       type = types.attrs;
       example = literalExpression ''{
         reverseProxy = true;
@@ -50,19 +64,32 @@ in {
         Documentation: <link xlink:href="https://thelounge.chat/docs/server/configuration" />
       '';
     };
+
+    plugins = mkOption {
+      default = [ ];
+      type = types.listOf types.package;
+      example = literalExpression "[ pkgs.theLoungePlugins.themes.solarized ]";
+      description = ''
+        The Lounge plugins to install. Plugins can be found in
+        <literal>pkgs.theLoungePlugins.plugins</literal> and <literal>pkgs.theLoungePlugins.themes</literal>.
+      '';
+    };
   };
 
   config = mkIf cfg.enable {
     users.users.thelounge = {
-      description = "thelounge service user";
+      description = "The Lounge service user";
       group = "thelounge";
       isSystemUser = true;
     };
-    users.groups.thelounge = {};
+
+    users.groups.thelounge = { };
+
     systemd.services.thelounge = {
       description = "The Lounge web IRC client";
       wantedBy = [ "multi-user.target" ];
       preStart = "ln -sf ${pkgs.writeText "config.js" configJsData} ${dataDir}/config.js";
+      environment.THELOUNGE_PACKAGES = mkIf (cfg.plugins != [ ]) "${plugins}";
       serviceConfig = {
         User = "thelounge";
         StateDirectory = baseNameOf dataDir;
@@ -72,4 +99,8 @@ in {
 
     environment.systemPackages = [ pkgs.thelounge ];
   };
+
+  meta = {
+    maintainers = with lib.maintainers; [ winter ];
+  };
 }
diff --git a/nixpkgs/nixos/modules/services/networking/tinc.nix b/nixpkgs/nixos/modules/services/networking/tinc.nix
index 9db433fa0735..31731b60d484 100644
--- a/nixpkgs/nixos/modules/services/networking/tinc.nix
+++ b/nixpkgs/nixos/modules/services/networking/tinc.nix
@@ -435,5 +435,5 @@ in
     );
   };
 
-  meta.maintainers = with maintainers; [ minijackson ];
+  meta.maintainers = with maintainers; [ minijackson mic92 ];
 }
diff --git a/nixpkgs/nixos/modules/services/networking/wg-netmanager.nix b/nixpkgs/nixos/modules/services/networking/wg-netmanager.nix
new file mode 100644
index 000000000000..493ff7ceba9f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix b/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
index 07dec8ea7181..c2e1d37e28bf 100644
--- a/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixpkgs/nixos/modules/services/networking/wpa_supplicant.nix
@@ -10,14 +10,45 @@ let
   cfg = config.networking.wireless;
   opt = options.networking.wireless;
 
+  wpa3Protocols = [ "SAE" "FT-SAE" ];
+  hasMixedWPA = opts:
+    let
+      hasWPA3 = !mutuallyExclusive opts.authProtocols wpa3Protocols;
+      others = subtractLists wpa3Protocols opts.authProtocols;
+    in hasWPA3 && others != [];
+
+  # Gives a WPA3 network higher priority
+  increaseWPA3Priority = opts:
+    opts // optionalAttrs (hasMixedWPA opts)
+      { priority = if opts.priority == null
+                     then 1
+                     else opts.priority + 1;
+      };
+
+  # Creates a WPA2 fallback network
+  mkWPA2Fallback = opts:
+    opts // { authProtocols = subtractLists wpa3Protocols opts.authProtocols; };
+
+  # Networks attrset as a list
+  networkList = mapAttrsToList (ssid: opts: opts // { inherit ssid; })
+                cfg.networks;
+
+  # List of all networks (normal + generated fallbacks)
+  allNetworks =
+    if cfg.fallbackToWPA2
+      then map increaseWPA3Priority networkList
+           ++ map mkWPA2Fallback (filter hasMixedWPA networkList)
+      else networkList;
+
   # Content of wpa_supplicant.conf
   generatedConfig = concatStringsSep "\n" (
-    (mapAttrsToList mkNetwork cfg.networks)
+    (map mkNetwork allNetworks)
     ++ optional cfg.userControlled.enable (concatStringsSep "\n"
       [ "ctrl_interface=/run/wpa_supplicant"
         "ctrl_interface_group=${cfg.userControlled.group}"
         "update_config=1"
       ])
+    ++ [ "pmf=1" ]
     ++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
     ++ optional (cfg.extraConfig != "") cfg.extraConfig);
 
@@ -33,7 +64,7 @@ let
   finalConfig = ''"$RUNTIME_DIRECTORY"/wpa_supplicant.conf'';
 
   # Creates a network block for wpa_supplicant.conf
-  mkNetwork = ssid: opts:
+  mkNetwork = opts:
   let
     quote = x: ''"${x}"'';
     indent = x: "  " + x;
@@ -43,7 +74,7 @@ let
       else opts.pskRaw;
 
     options = [
-      "ssid=${quote ssid}"
+      "ssid=${quote opts.ssid}"
       (if pskString != null || opts.auth != null
         then "key_mgmt=${concatStringsSep " " opts.authProtocols}"
         else "key_mgmt=NONE")
@@ -175,6 +206,18 @@ in {
         '';
       };
 
+      fallbackToWPA2 = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to fall back to WPA2 authentication protocols if WPA3 failed.
+          This allows old wireless cards (that lack recent features required by
+          WPA3) to connect to mixed WPA2/WPA3 access points.
+
+          To avoid possible downgrade attacks, disable this options.
+        '';
+      };
+
       environmentFile = mkOption {
         type = types.nullOr types.path;
         default = null;
diff --git a/nixpkgs/nixos/modules/services/networking/xrdp.nix b/nixpkgs/nixos/modules/services/networking/xrdp.nix
index e9f123a181ae..747fb7a1f9c4 100644
--- a/nixpkgs/nixos/modules/services/networking/xrdp.nix
+++ b/nixpkgs/nixos/modules/services/networking/xrdp.nix
@@ -100,6 +100,7 @@ in
       confDir = mkOption {
         type = types.path;
         default = confDir;
+        defaultText = literalDocBook "generated from configuration";
         description = "The location of the config files for xrdp.";
       };
     };
diff --git a/nixpkgs/nixos/modules/services/networking/yggdrasil.xml b/nixpkgs/nixos/modules/services/networking/yggdrasil.xml
index c012cd4a9294..a341d5d8153b 100644
--- a/nixpkgs/nixos/modules/services/networking/yggdrasil.xml
+++ b/nixpkgs/nixos/modules/services/networking/yggdrasil.xml
@@ -84,7 +84,6 @@ in {
       interface eth0
       {
         AdvSendAdvert on;
-        AdvDefaultLifetime 0;
         prefix ${prefix}::/64 {
           AdvOnLink on;
           AdvAutonomous on;
diff --git a/nixpkgs/nixos/modules/services/search/elasticsearch.nix b/nixpkgs/nixos/modules/services/search/elasticsearch.nix
index 6df147be0c49..041d0b3c43fd 100644
--- a/nixpkgs/nixos/modules/services/search/elasticsearch.nix
+++ b/nixpkgs/nixos/modules/services/search/elasticsearch.nix
@@ -143,6 +143,17 @@ in
       example = lib.literalExpression "[ pkgs.elasticsearchPlugins.discovery-ec2 ]";
     };
 
+    restartIfChanged  = mkOption {
+      type = types.bool;
+      description = ''
+        Automatically restart the service on config change.
+        This can be set to false to defer restarts on a server or cluster.
+        Please consider the security implications of inadvertently running an older version,
+        and the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option.
+      '';
+      default = true;
+    };
+
   };
 
   ###### implementation
@@ -153,6 +164,7 @@ in
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
       path = [ pkgs.inetutils ];
+      inherit (cfg) restartIfChanged;
       environment = {
         ES_HOME = cfg.dataDir;
         ES_JAVA_OPTS = toString cfg.extraJavaOptions;
@@ -163,6 +175,8 @@ in
         User = "elasticsearch";
         PermissionsStartOnly = true;
         LimitNOFILE = "1024000";
+        Restart = "always";
+        TimeoutStartSec = "infinity";
       };
       preStart = ''
         ${optionalString (!config.boot.isContainer) ''
@@ -204,7 +218,7 @@ in
       postStart = ''
         # Make sure elasticsearch is up and running before dependents
         # are started
-        while ! ${pkgs.curl}/bin/curl -sS -f http://localhost:${toString cfg.port} 2>/dev/null; do
+        while ! ${pkgs.curl}/bin/curl -sS -f http://${cfg.listenAddress}:${toString cfg.port} 2>/dev/null; do
           sleep 1
         done
       '';
diff --git a/nixpkgs/nixos/modules/services/security/aesmd.nix b/nixpkgs/nixos/modules/services/security/aesmd.nix
index bb53bc49e259..8268b034a15e 100644
--- a/nixpkgs/nixos/modules/services/security/aesmd.nix
+++ b/nixpkgs/nixos/modules/services/security/aesmd.nix
@@ -1,7 +1,8 @@
-{ config, pkgs, lib, ... }:
+{ config, options, pkgs, lib, ... }:
 with lib;
 let
   cfg = config.services.aesmd;
+  opt = options.services.aesmd;
 
   sgx-psw = pkgs.sgx-psw.override { inherit (cfg) debug; };
 
@@ -43,6 +44,9 @@ in
         options.proxyType = mkOption {
           type = with types; nullOr (enum [ "default" "direct" "manual" ]);
           default = if (cfg.settings.proxy != null) then "manual" else null;
+          defaultText = literalExpression ''
+            if (config.${opt.settings}.proxy != null) then "manual" else null
+          '';
           example = "default";
           description = ''
             Type of proxy to use. The <literal>default</literal> uses the system's default proxy.
@@ -69,6 +73,11 @@ in
 
     hardware.cpu.intel.sgx.provision.enable = true;
 
+    # Make sure the AESM service can find the SGX devices until
+    # https://github.com/intel/linux-sgx/issues/772 is resolved
+    # and updated in nixpkgs.
+    hardware.cpu.intel.sgx.enableDcapCompat = mkForce true;
+
     systemd.services.aesmd =
       let
         storeAesmFolder = "${sgx-psw}/aesm";
diff --git a/nixpkgs/nixos/modules/services/security/cfssl.nix b/nixpkgs/nixos/modules/services/security/cfssl.nix
index e5bed0a9987c..6df2343b84d2 100644
--- a/nixpkgs/nixos/modules/services/security/cfssl.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/security/haveged.nix b/nixpkgs/nixos/modules/services/security/haveged.nix
index 22ece1883446..57cef7e44d50 100644
--- a/nixpkgs/nixos/modules/services/security/haveged.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/security/step-ca.nix b/nixpkgs/nixos/modules/services/security/step-ca.nix
index 27b2ceed1a43..db7f81acd2a3 100644
--- a/nixpkgs/nixos/modules/services/security/step-ca.nix
+++ b/nixpkgs/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 =
         [
           {
diff --git a/nixpkgs/nixos/modules/services/security/tor.nix b/nixpkgs/nixos/modules/services/security/tor.nix
index f3ed1d160eed..cafb44e12429 100644
--- a/nixpkgs/nixos/modules/services/security/tor.nix
+++ b/nixpkgs/nixos/modules/services/security/tor.nix
@@ -794,6 +794,11 @@ in
               };
             }));
           };
+          options.ShutdownWaitLength = mkOption {
+            type = types.int;
+            default = 30;
+            description = descriptionGeneric "ShutdownWaitLength";
+          };
           options.SocksPolicy = optionStrings "SocksPolicy" // {
             example = ["accept *:*"];
           };
@@ -977,7 +982,7 @@ in
         ExecStart = "${cfg.package}/bin/tor -f ${torrc}";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         KillSignal = "SIGINT";
-        TimeoutSec = 30;
+        TimeoutSec = cfg.settings.ShutdownWaitLength + 30; # Wait a bit longer than ShutdownWaitLength before actually timing out
         Restart = "on-failure";
         LimitNOFILE = 32768;
         RuntimeDirectory = [
diff --git a/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix b/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
index 5b951bc85ec0..fd459f70ccde 100644
--- a/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
@@ -131,7 +131,7 @@ in {
     users.groups.vaultwarden = { };
 
     systemd.services.vaultwarden = {
-      aliases = [ "bitwarden_rs" ];
+      aliases = [ "bitwarden_rs.service" ];
       after = [ "network.target" ];
       path = with pkgs; [ openssl ];
       serviceConfig = {
@@ -179,4 +179,7 @@ in {
       wantedBy = [ "multi-user.target" ];
     };
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/system/cachix-agent/default.nix b/nixpkgs/nixos/modules/services/system/cachix-agent/default.nix
new file mode 100644
index 000000000000..496e0b90355b
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/system/cachix-agent/default.nix
@@ -0,0 +1,57 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.cachix-agent;
+in {
+  meta.maintainers = [ lib.maintainers.domenkozar ];
+
+  options.services.cachix-agent = {
+    enable = mkEnableOption "Cachix Deploy Agent: https://docs.cachix.org/deploy/";
+
+    name = mkOption {
+      type = types.str;
+      description = "Agent name, usually same as the hostname";
+      default = config.networking.hostName;
+      defaultText = "config.networking.hostName";
+    };
+
+    profile = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = "Profile name, defaults to 'system' (NixOS).";
+    };
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.cachix;
+      defaultText = literalExpression "pkgs.cachix";
+      description = "Cachix Client package to use.";
+    };
+
+    credentialsFile = mkOption {
+      type = types.path;
+      default = "/etc/cachix-agent.token";
+      description = ''
+        Required file that needs to contain CACHIX_AGENT_TOKEN=...
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.cachix-agent = {
+      description = "Cachix Deploy Agent";
+      after = ["network-online.target"];
+      path = [ config.nix.package ];
+      wantedBy = [ "multi-user.target" ];
+      # don't restart while changing
+      reloadIfChanged = true;
+      serviceConfig = {
+        Restart = "on-failure";
+        EnvironmentFile = cfg.credentialsFile;
+        ExecStart = "${cfg.package}/bin/cachix deploy agent ${cfg.name} ${if cfg.profile != null then profile else ""}";
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/system/cloud-init.nix b/nixpkgs/nixos/modules/services/system/cloud-init.nix
index eb82b738e492..8c6a6e294ebb 100644
--- a/nixpkgs/nixos/modules/services/system/cloud-init.nix
+++ b/nixpkgs/nixos/modules/services/system/cloud-init.nix
@@ -52,11 +52,22 @@ in
         '';
       };
 
+      network.enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Allow the cloud-init service to configure network interfaces
+          through systemd-networkd.
+        '';
+      };
+
       config = mkOption {
         type = types.str;
         default = ''
           system_info:
             distro: nixos
+            network:
+              renderers: [ 'networkd' ]
           users:
              - root
 
@@ -109,9 +120,12 @@ in
 
     environment.etc."cloud/cloud.cfg".text = cfg.config;
 
+    systemd.network.enable = cfg.network.enable;
+
     systemd.services.cloud-init-local =
       { description = "Initial cloud-init job (pre-networking)";
         wantedBy = [ "multi-user.target" ];
+        before = ["systemd-networkd.service"];
         path = path;
         serviceConfig =
           { Type = "oneshot";
@@ -129,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/nixpkgs/nixos/modules/services/system/nscd.nix b/nixpkgs/nixos/modules/services/system/nscd.nix
index d720f254b813..00a87e788dc4 100644
--- a/nixpkgs/nixos/modules/services/system/nscd.nix
+++ b/nixpkgs/nixos/modules/services/system/nscd.nix
@@ -50,7 +50,9 @@ in
     systemd.services.nscd =
       { description = "Name Service Cache Daemon";
 
-        wantedBy = [ "nss-lookup.target" "nss-user-lookup.target" ];
+        before = [ "nss-lookup.target" "nss-user-lookup.target" ];
+        wants = [ "nss-lookup.target" "nss-user-lookup.target" ];
+        wantedBy = [ "multi-user.target" ];
 
         environment = { LD_LIBRARY_PATH = nssModulesPath; };
 
diff --git a/nixpkgs/nixos/modules/services/system/self-deploy.nix b/nixpkgs/nixos/modules/services/system/self-deploy.nix
index 33d15e08f4aa..d7130a13c731 100644
--- a/nixpkgs/nixos/modules/services/system/self-deploy.nix
+++ b/nixpkgs/nixos/modules/services/system/self-deploy.nix
@@ -126,6 +126,8 @@ in
 
   config = lib.mkIf cfg.enable {
     systemd.services.self-deploy = {
+      inherit (cfg) startAt;
+
       wantedBy = [ "multi-user.target" ];
 
       requires = lib.mkIf (!(isPathType cfg.repository)) [ "network-online.target" ];
@@ -138,8 +140,7 @@ in
       path = with pkgs; [
         git
         nix
-        systemd
-      ];
+      ] ++ lib.optionals (cfg.switchCommand == "boot") [ systemd ];
 
       script = ''
         if [ ! -e ${repositoryDirectory} ]; then
diff --git a/nixpkgs/nixos/modules/services/web-apps/baget.nix b/nixpkgs/nixos/modules/services/web-apps/baget.nix
new file mode 100644
index 000000000000..3007dd4fbb26
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/baget.nix
@@ -0,0 +1,170 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.baget;
+
+  defaultConfig = {
+    "PackageDeletionBehavior" = "Unlist";
+    "AllowPackageOverwrites" = false;
+
+    "Database" = {
+      "Type" = "Sqlite";
+      "ConnectionString" = "Data Source=baget.db";
+    };
+
+    "Storage" = {
+      "Type" = "FileSystem";
+      "Path" = "";
+    };
+
+    "Search" = {
+      "Type" = "Database";
+    };
+
+    "Mirror" = {
+      "Enabled" = false;
+      "PackageSource" = "https://api.nuget.org/v3/index.json";
+    };
+
+    "Logging" = {
+      "IncludeScopes" = false;
+      "Debug" = {
+        "LogLevel" = {
+          "Default" = "Warning";
+        };
+      };
+      "Console" = {
+        "LogLevel" = {
+          "Microsoft.Hosting.Lifetime" = "Information";
+          "Default" = "Warning";
+        };
+      };
+    };
+  };
+
+  configAttrs = recursiveUpdate defaultConfig cfg.extraConfig;
+
+  configFormat = pkgs.formats.json {};
+  configFile = configFormat.generate "appsettings.json" configAttrs;
+
+in
+{
+  options.services.baget = {
+    enable = mkEnableOption "BaGet NuGet-compatible server";
+
+    apiKeyFile = mkOption {
+      type = types.path;
+      example = "/root/baget.key";
+      description = ''
+        Private API key for BaGet.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = configFormat.type;
+      default = {};
+      example = {
+        "Database" = {
+          "Type" = "PostgreSql";
+          "ConnectionString" = "Server=/run/postgresql;Port=5432;";
+        };
+      };
+      defaultText = literalExpression ''
+        {
+          "PackageDeletionBehavior" = "Unlist";
+          "AllowPackageOverwrites" = false;
+
+          "Database" = {
+            "Type" = "Sqlite";
+            "ConnectionString" = "Data Source=baget.db";
+          };
+
+          "Storage" = {
+            "Type" = "FileSystem";
+            "Path" = "";
+          };
+
+          "Search" = {
+            "Type" = "Database";
+          };
+
+          "Mirror" = {
+            "Enabled" = false;
+            "PackageSource" = "https://api.nuget.org/v3/index.json";
+          };
+
+          "Logging" = {
+            "IncludeScopes" = false;
+            "Debug" = {
+              "LogLevel" = {
+                "Default" = "Warning";
+              };
+            };
+            "Console" = {
+              "LogLevel" = {
+                "Microsoft.Hosting.Lifetime" = "Information";
+                "Default" = "Warning";
+              };
+            };
+          };
+        }
+      '';
+      description = ''
+        Extra configuration options for BaGet. Refer to <link xlink:href="https://loic-sharma.github.io/BaGet/configuration/"/> for details.
+        Default value is merged with values from here.
+      '';
+    };
+  };
+
+  # implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.baget = {
+      description = "BaGet server";
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "network-online.target" ];
+      after = [ "network.target" "network-online.target" ];
+      path = [ pkgs.jq ];
+      serviceConfig = {
+        WorkingDirectory = "/var/lib/baget";
+        DynamicUser = true;
+        StateDirectory = "baget";
+        StateDirectoryMode = "0700";
+        LoadCredential = "api_key:${cfg.apiKeyFile}";
+
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        PrivateTmp = true;
+        PrivateUsers = true;
+        PrivateMounts = true;
+        ProtectHome = true;
+        ProtectClock = true;
+        ProtectProc = "noaccess";
+        ProcSubset = "pid";
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        ProtectHostname = true;
+        RestrictSUIDSGID = true;
+        RestrictRealtime = true;
+        RestrictNamespaces = true;
+        LockPersonality = true;
+        RemoveIPC = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        SystemCallFilter = [ "@system-service" "~@privileged" ];
+      };
+      script = ''
+        jq --slurpfile apiKeys <(jq -R . "$CREDENTIALS_DIRECTORY/api_key") '.ApiKey = $apiKeys[0]' ${configFile} > appsettings.json
+        ln -snf ${pkgs.baget}/lib/BaGet/wwwroot wwwroot
+        exec ${pkgs.baget}/bin/BaGet
+      '';
+    };
+
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/bookstack.nix b/nixpkgs/nixos/modules/services/web-apps/bookstack.nix
index 54c491f8b176..64a2767fab6e 100644
--- a/nixpkgs/nixos/modules/services/web-apps/bookstack.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/bookstack.nix
@@ -24,8 +24,14 @@ let
     $sudo ${pkgs.php}/bin/php artisan $*
   '';
 
+  tlsEnabled = cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME;
 
 in {
+  imports = [
+    (mkRemovedOptionModule [ "services" "bookstack" "extraConfig" ] "Use services.bookstack.config instead.")
+    (mkRemovedOptionModule [ "services" "bookstack" "cacheDir" ] "The cache directory is now handled automatically.")
+  ];
+
   options.services.bookstack = {
 
     enable = mkEnableOption "BookStack";
@@ -44,28 +50,38 @@ in {
 
     appKeyFile = mkOption {
       description = ''
-        A file containing the AppKey.
-        Used for encryption where needed. Can be generated with <code>head -c 32 /dev/urandom| base64</code> and must be prefixed with <literal>base64:</literal>.
+        A file containing the Laravel APP_KEY - a 32 character long,
+        base64 encoded key used for encryption where needed. Can be
+        generated with <code>head -c 32 /dev/urandom | base64</code>.
       '';
       example = "/run/keys/bookstack-appkey";
       type = types.path;
     };
 
+    hostname = lib.mkOption {
+      type = lib.types.str;
+      default = if config.networking.domain != null then
+                  config.networking.fqdn
+                else
+                  config.networking.hostName;
+      defaultText = lib.literalExpression "config.networking.fqdn";
+      example = "bookstack.example.com";
+      description = ''
+        The hostname to serve BookStack on.
+      '';
+    };
+
     appURL = mkOption {
       description = ''
         The root URL that you want to host BookStack on. All URLs in BookStack will be generated using this value.
         If you change this in the future you may need to run a command to update stored URLs in the database. Command example: <code>php artisan bookstack:update-url https://old.example.com https://new.example.com</code>
       '';
+      default = "http${lib.optionalString tlsEnabled "s"}://${cfg.hostname}";
+      defaultText = ''http''${lib.optionalString tlsEnabled "s"}://''${cfg.hostname}'';
       example = "https://example.com";
       type = types.str;
     };
 
-    cacheDir = mkOption {
-      description = "BookStack cache directory";
-      default = "/var/cache/bookstack";
-      type = types.path;
-    };
-
     dataDir = mkOption {
       description = "BookStack data directory";
       default = "/var/lib/bookstack";
@@ -202,16 +218,59 @@ in {
       '';
     };
 
-    extraConfig = mkOption {
-      type = types.nullOr types.lines;
-      default = null;
-      example = ''
-        ALLOWED_IFRAME_HOSTS="https://example.com"
-        WKHTMLTOPDF=/home/user/bins/wkhtmltopdf
+    config = mkOption {
+      type = with types;
+        attrsOf
+          (nullOr
+            (either
+              (oneOf [
+                bool
+                int
+                port
+                path
+                str
+              ])
+              (submodule {
+                options = {
+                  _secret = mkOption {
+                    type = nullOr str;
+                    description = ''
+                      The path to a file containing the value the
+                      option should be set to in the final
+                      configuration file.
+                    '';
+                  };
+                };
+              })));
+      default = {};
+      example = literalExpression ''
+        {
+          ALLOWED_IFRAME_HOSTS = "https://example.com";
+          WKHTMLTOPDF = "/home/user/bins/wkhtmltopdf";
+          AUTH_METHOD = "oidc";
+          OIDC_NAME = "MyLogin";
+          OIDC_DISPLAY_NAME_CLAIMS = "name";
+          OIDC_CLIENT_ID = "bookstack";
+          OIDC_CLIENT_SECRET = {_secret = "/run/keys/oidc_secret"};
+          OIDC_ISSUER = "https://keycloak.example.com/auth/realms/My%20Realm";
+          OIDC_ISSUER_DISCOVER = true;
+        }
       '';
       description = ''
-        Lines to be appended verbatim to the BookStack configuration.
-        Refer to <link xlink:href="https://www.bookstackapp.com/docs/"/> for details on supported values.
+        BookStack configuration options to set in the
+        <filename>.env</filename> file.
+
+        Refer to <link xlink:href="https://www.bookstackapp.com/docs/"/>
+        for details on supported values.
+
+        Settings containing secret data should be set to an attribute
+        set containing the attribute <literal>_secret</literal> - a
+        string pointing to a file containing the value the option
+        should be set to. See the example to get a better picture of
+        this: in the resulting <filename>.env</filename> file, the
+        <literal>OIDC_CLIENT_SECRET</literal> key will be set to the
+        contents of the <filename>/run/keys/oidc_secret</filename>
+        file.
       '';
     };
 
@@ -228,6 +287,30 @@ in {
       }
     ];
 
+    services.bookstack.config = {
+      APP_KEY._secret = cfg.appKeyFile;
+      APP_URL = cfg.appURL;
+      DB_HOST = db.host;
+      DB_PORT = db.port;
+      DB_DATABASE = db.name;
+      DB_USERNAME = db.user;
+      MAIL_DRIVER = mail.driver;
+      MAIL_FROM_NAME = mail.fromName;
+      MAIL_FROM = mail.from;
+      MAIL_HOST = mail.host;
+      MAIL_PORT = mail.port;
+      MAIL_USERNAME = mail.user;
+      MAIL_ENCRYPTION = mail.encryption;
+      DB_PASSWORD._secret = db.passwordFile;
+      MAIL_PASSWORD._secret = mail.passwordFile;
+      APP_SERVICES_CACHE = "/run/bookstack/cache/services.php";
+      APP_PACKAGES_CACHE = "/run/bookstack/cache/packages.php";
+      APP_CONFIG_CACHE = "/run/bookstack/cache/config.php";
+      APP_ROUTES_CACHE = "/run/bookstack/cache/routes-v7.php";
+      APP_EVENTS_CACHE = "/run/bookstack/cache/events.php";
+      SESSION_SECURE_COOKIE = tlsEnabled;
+    };
+
     environment.systemPackages = [ artisan ];
 
     services.mysql = mkIf db.createLocally {
@@ -258,24 +341,19 @@ in {
 
     services.nginx = {
       enable = mkDefault true;
-      virtualHosts.bookstack = mkMerge [ cfg.nginx {
+      recommendedTlsSettings = true;
+      recommendedOptimisation = true;
+      recommendedGzipSettings = true;
+      virtualHosts.${cfg.hostname} = mkMerge [ cfg.nginx {
         root = mkForce "${bookstack}/public";
-        extraConfig = optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;";
         locations = {
           "/" = {
             index = "index.php";
-            extraConfig = ''try_files $uri $uri/ /index.php?$query_string;'';
-          };
-          "~ \.php$" = {
-            extraConfig = ''
-              try_files $uri $uri/ /index.php?$query_string;
-              include ${pkgs.nginx}/conf/fastcgi_params;
-              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-              fastcgi_param REDIRECT_STATUS 200;
-              fastcgi_pass unix:${config.services.phpfpm.pools."bookstack".socket};
-              ${optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;"}
-            '';
+            tryFiles = "$uri $uri/ /index.php?$query_string";
           };
+          "~ \.php$".extraConfig = ''
+            fastcgi_pass unix:${config.services.phpfpm.pools."bookstack".socket};
+          '';
           "~ \.(js|css|gif|png|ico|jpg|jpeg)$" = {
             extraConfig = "expires 365d;";
           };
@@ -290,53 +368,54 @@ in {
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
         Type = "oneshot";
+        RemainAfterExit = true;
         User = user;
         WorkingDirectory = "${bookstack}";
+        RuntimeDirectory = "bookstack/cache";
+        RuntimeDirectoryMode = 0700;
       };
-      script = ''
+      path = [ pkgs.replace-secret ];
+      script =
+        let
+          isSecret = v: isAttrs v && v ? _secret && isString v._secret;
+          bookstackEnvVars = lib.generators.toKeyValue {
+            mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" {
+              mkValueString = v: with builtins;
+                if isInt         v then toString v
+                else if isString v then v
+                else if true  == v then "true"
+                else if false == v then "false"
+                else if isSecret v then hashString "sha256" v._secret
+                else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}";
+            };
+          };
+          secretPaths = lib.mapAttrsToList (_: v: v._secret) (lib.filterAttrs (_: isSecret) cfg.config);
+          mkSecretReplacement = file: ''
+            replace-secret ${escapeShellArgs [ (builtins.hashString "sha256" file) file "${cfg.dataDir}/.env" ]}
+          '';
+          secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths;
+          filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ {} null ])) cfg.config;
+          bookstackEnv = pkgs.writeText "bookstack.env" (bookstackEnvVars filteredConfig);
+        in ''
+        # error handling
+        set -euo pipefail
+
         # set permissions
         umask 077
+
         # create .env file
-        echo "
-        APP_KEY=base64:$(head -n1 ${cfg.appKeyFile})
-        APP_URL=${cfg.appURL}
-        DB_HOST=${db.host}
-        DB_PORT=${toString db.port}
-        DB_DATABASE=${db.name}
-        DB_USERNAME=${db.user}
-        MAIL_DRIVER=${mail.driver}
-        MAIL_FROM_NAME=\"${mail.fromName}\"
-        MAIL_FROM=${mail.from}
-        MAIL_HOST=${mail.host}
-        MAIL_PORT=${toString mail.port}
-        ${optionalString (mail.user != null) "MAIL_USERNAME=${mail.user};"}
-        ${optionalString (mail.encryption != null) "MAIL_ENCRYPTION=${mail.encryption};"}
-        ${optionalString (db.passwordFile != null) "DB_PASSWORD=$(head -n1 ${db.passwordFile})"}
-        ${optionalString (mail.passwordFile != null) "MAIL_PASSWORD=$(head -n1 ${mail.passwordFile})"}
-        APP_SERVICES_CACHE=${cfg.cacheDir}/services.php
-        APP_PACKAGES_CACHE=${cfg.cacheDir}/packages.php
-        APP_CONFIG_CACHE=${cfg.cacheDir}/config.php
-        APP_ROUTES_CACHE=${cfg.cacheDir}/routes-v7.php
-        APP_EVENTS_CACHE=${cfg.cacheDir}/events.php
-        ${optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "SESSION_SECURE_COOKIE=true"}
-        ${toString cfg.extraConfig}
-        " > "${cfg.dataDir}/.env"
+        install -T -m 0600 -o ${user} ${bookstackEnv} "${cfg.dataDir}/.env"
+        ${secretReplacements}
+        if ! grep 'APP_KEY=base64:' "${cfg.dataDir}/.env" >/dev/null; then
+            sed -i 's/APP_KEY=/APP_KEY=base64:/' "${cfg.dataDir}/.env"
+        fi
 
         # migrate db
         ${pkgs.php}/bin/php artisan migrate --force
-
-        # clear & create caches (needed in case of update)
-        ${pkgs.php}/bin/php artisan cache:clear
-        ${pkgs.php}/bin/php artisan config:clear
-        ${pkgs.php}/bin/php artisan view:clear
-        ${pkgs.php}/bin/php artisan config:cache
-        ${pkgs.php}/bin/php artisan route:cache
-        ${pkgs.php}/bin/php artisan view:cache
       '';
     };
 
     systemd.tmpfiles.rules = [
-      "d ${cfg.cacheDir}                           0700 ${user} ${group} - -"
       "d ${cfg.dataDir}                            0710 ${user} ${group} - -"
       "d ${cfg.dataDir}/public                     0750 ${user} ${group} - -"
       "d ${cfg.dataDir}/public/uploads             0750 ${user} ${group} - -"
diff --git a/nixpkgs/nixos/modules/services/web-apps/dex.nix b/nixpkgs/nixos/modules/services/web-apps/dex.nix
index f08dd65bdb0f..4d4689a4cf24 100644
--- a/nixpkgs/nixos/modules/services/web-apps/dex.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/dex.nix
@@ -112,4 +112,7 @@ in
       };
     };
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix b/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix
index 9b9ae931f9a7..1f8ca742db95 100644
--- a/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/dokuwiki.nix
@@ -1,20 +1,14 @@
 { config, pkgs, lib, ... }:
 
-let
-  inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types maintainers recursiveUpdate;
-  inherit (lib) any attrValues concatMapStrings concatMapStringsSep flatten literalExpression;
-  inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
+with lib;
 
-  cfg = migrateOldAttrs config.services.dokuwiki;
+let
+  cfg = config.services.dokuwiki;
   eachSite = cfg.sites;
   user = "dokuwiki";
   webserver = config.services.${cfg.webserver};
   stateDir = hostName: "/var/lib/dokuwiki/${hostName}/data";
 
-  # Migrate config.services.dokuwiki.<hostName> to config.services.dokuwiki.sites.<hostName>
-  oldSites = filterAttrs (o: _: o != "sites" && o != "webserver");
-  migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; };
-
   dokuwikiAclAuthConfig = hostName: cfg: pkgs.writeText "acl.auth-${hostName}.php" ''
     # acl.auth.php
     # <?php exit()?>
@@ -255,36 +249,29 @@ in
 {
   # interface
   options = {
-    services.dokuwiki = mkOption {
-      type = types.submodule {
-        # Used to support old interface
-        freeformType = types.attrsOf (types.submodule siteOpts);
-
-        # New interface
-        options.sites = mkOption {
-          type = types.attrsOf (types.submodule siteOpts);
-          default = {};
-          description = "Specification of one or more DokuWiki sites to serve";
-        };
+    services.dokuwiki = {
 
-        options.webserver = mkOption {
-          type = types.enum [ "nginx" "caddy" ];
-          default = "nginx";
-          description = ''
-            Whether to use nginx or caddy for virtual host management.
+      sites = mkOption {
+        type = types.attrsOf (types.submodule siteOpts);
+        default = {};
+        description = "Specification of one or more DokuWiki sites to serve";
+      };
 
-            Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
-            See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+      webserver = mkOption {
+        type = types.enum [ "nginx" "caddy" ];
+        default = "nginx";
+        description = ''
+          Whether to use nginx or caddy for virtual host management.
 
-            Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
-            See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
-          '';
-        };
+          Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
+          See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+
+          Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
+          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+        '';
       };
-      default = {};
-      description = "DokuWiki configuration";
-    };
 
+    };
   };
 
   # implementation
@@ -301,8 +288,6 @@ in
     }
     ]) eachSite);
 
-    warnings = mapAttrsToList (hostName: _: ''services.dokuwiki."${hostName}" is deprecated use services.dokuwiki.sites."${hostName}"'') (oldSites cfg);
-
     services.phpfpm.pools = mapAttrs' (hostName: cfg: (
       nameValuePair "dokuwiki-${hostName}" {
         inherit user;
@@ -391,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/nixpkgs/nixos/modules/services/web-apps/ethercalc.nix b/nixpkgs/nixos/modules/services/web-apps/ethercalc.nix
new file mode 100644
index 000000000000..d74def59c6c3
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/ethercalc.nix
@@ -0,0 +1,62 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.ethercalc;
+in {
+  options = {
+    services.ethercalc = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          ethercalc, an online collaborative spreadsheet server.
+
+          Persistent state will be maintained under
+          <filename>/var/lib/ethercalc</filename>. Upstream supports using a
+          redis server for storage and recommends the redis backend for
+          intensive use; however, the Nix module doesn't currently support
+          redis.
+
+          Note that while ethercalc is a good and robust project with an active
+          issue tracker, there haven't been new commits since the end of 2020.
+        '';
+      };
+
+      package = mkOption {
+        default = pkgs.ethercalc;
+        defaultText = literalExpression "pkgs.ethercalc";
+        type = types.package;
+        description = "Ethercalc package to use.";
+      };
+
+      host = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        description = "Address to listen on (use 0.0.0.0 to allow access from any address).";
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 8000;
+        description = "Port to bind to.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.ethercalc = {
+      description = "Ethercalc service";
+      wantedBy    = [ "multi-user.target" ];
+      after       = [ "network.target" ];
+      serviceConfig = {
+        DynamicUser    =   true;
+        ExecStart        = "${cfg.package}/bin/ethercalc --host ${cfg.host} --port ${toString cfg.port}";
+        Restart          = "always";
+        StateDirectory   = "ethercalc";
+        WorkingDirectory = "/var/lib/ethercalc";
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/gerrit.nix b/nixpkgs/nixos/modules/services/web-apps/gerrit.nix
index 9ee9dbf1aa49..6bfc67368dd5 100644
--- a/nixpkgs/nixos/modules/services/web-apps/gerrit.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/gerrit.nix
@@ -237,4 +237,6 @@ in
   };
 
   meta.maintainers = with lib.maintainers; [ edef zimbatm ];
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix b/nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix
new file mode 100644
index 000000000000..095eec36dec3
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/invoiceplane.nix
@@ -0,0 +1,305 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.invoiceplane;
+  eachSite = cfg.sites;
+  user = "invoiceplane";
+  webserver = config.services.${cfg.webserver};
+
+  invoiceplane-config = hostName: cfg: pkgs.writeText "ipconfig.php" ''
+    IP_URL=http://${hostName}
+    ENABLE_DEBUG=false
+    DISABLE_SETUP=false
+    REMOVE_INDEXPHP=false
+    DB_HOSTNAME=${cfg.database.host}
+    DB_USERNAME=${cfg.database.user}
+    # NOTE: file_get_contents adds newline at the end of returned string
+    DB_PASSWORD=${if cfg.database.passwordFile == null then "" else "trim(file_get_contents('${cfg.database.passwordFile}'), \"\\r\\n\")"}
+    DB_DATABASE=${cfg.database.name}
+    DB_PORT=${toString cfg.database.port}
+    SESS_EXPIRATION=864000
+    ENABLE_INVOICE_DELETION=false
+    DISABLE_READ_ONLY=false
+    ENCRYPTION_KEY=
+    ENCRYPTION_CIPHER=AES-256
+    SETUP_COMPLETED=false
+  '';
+
+  extraConfig = hostName: cfg: pkgs.writeText "extraConfig.php" ''
+    ${toString cfg.extraConfig}
+  '';
+
+  pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
+    pname = "invoiceplane-${hostName}";
+    version = src.version;
+    src = pkgs.invoiceplane;
+
+    patchPhase = ''
+      # Patch index.php file to load additional config file
+      substituteInPlace index.php \
+        --replace "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = new \Dotenv\Dotenv(__DIR__, 'extraConfig.php'); \$dotenv->load();";
+    '';
+
+    installPhase = ''
+      mkdir -p $out
+      cp -r * $out/
+
+      # symlink uploads and log directories
+      rm -r $out/uploads $out/application/logs $out/vendor/mpdf/mpdf/tmp
+      ln -sf ${cfg.stateDir}/uploads $out/
+      ln -sf ${cfg.stateDir}/logs $out/application/
+      ln -sf ${cfg.stateDir}/tmp $out/vendor/mpdf/mpdf/
+
+      # symlink the InvoicePlane config
+      ln -s ${cfg.stateDir}/ipconfig.php $out/ipconfig.php
+
+      # symlink the extraConfig file
+      ln -s ${extraConfig hostName cfg} $out/extraConfig.php
+
+      # symlink additional templates
+      ${concatMapStringsSep "\n" (template: "cp -r ${template}/. $out/application/views/invoice_templates/pdf/") cfg.invoiceTemplates}
+    '';
+  };
+
+  siteOpts = { lib, name, ... }:
+    {
+      options = {
+
+        enable = mkEnableOption "InvoicePlane web application";
+
+        stateDir = mkOption {
+          type = types.path;
+          default = "/var/lib/invoiceplane/${name}";
+          description = ''
+            This directory is used for uploads of attachements and cache.
+            The directory passed here is automatically created and permissions
+            adjusted as required.
+          '';
+        };
+
+        database = {
+          host = mkOption {
+            type = types.str;
+            default = "localhost";
+            description = "Database host address.";
+          };
+
+          port = mkOption {
+            type = types.port;
+            default = 3306;
+            description = "Database host port.";
+          };
+
+          name = mkOption {
+            type = types.str;
+            default = "invoiceplane";
+            description = "Database name.";
+          };
+
+          user = mkOption {
+            type = types.str;
+            default = "invoiceplane";
+            description = "Database user.";
+          };
+
+          passwordFile = mkOption {
+            type = types.nullOr types.path;
+            default = null;
+            example = "/run/keys/invoiceplane-dbpassword";
+            description = ''
+              A file containing the password corresponding to
+              <option>database.user</option>.
+            '';
+          };
+
+          createLocally = mkOption {
+            type = types.bool;
+            default = true;
+            description = "Create the database and database user locally.";
+          };
+        };
+
+        invoiceTemplates = mkOption {
+          type = types.listOf types.path;
+          default = [];
+          description = ''
+            List of path(s) to respective template(s) which are copied from the 'invoice_templates/pdf' directory.
+            <note><para>These templates need to be packaged before use, see example.</para></note>
+          '';
+          example = literalExpression ''
+            let
+              # Let's package an example template
+              template-vtdirektmarketing = pkgs.stdenv.mkDerivation {
+                name = "vtdirektmarketing";
+                # Download the template from a public repository
+                src = pkgs.fetchgit {
+                  url = "https://git.project-insanity.org/onny/invoiceplane-vtdirektmarketing.git";
+                  sha256 = "1hh0q7wzsh8v8x03i82p6qrgbxr4v5fb05xylyrpp975l8axyg2z";
+                };
+                sourceRoot = ".";
+                # Installing simply means copying template php file to the output directory
+                installPhase = ""
+                  mkdir -p $out
+                  cp invoiceplane-vtdirektmarketing/vtdirektmarketing.php $out/
+                "";
+              };
+            # And then pass this package to the template list like this:
+            in [ template-vtdirektmarketing ]
+          '';
+        };
+
+        poolConfig = mkOption {
+          type = with types; attrsOf (oneOf [ str int bool ]);
+          default = {
+            "pm" = "dynamic";
+            "pm.max_children" = 32;
+            "pm.start_servers" = 2;
+            "pm.min_spare_servers" = 2;
+            "pm.max_spare_servers" = 4;
+            "pm.max_requests" = 500;
+          };
+          description = ''
+            Options for the InvoicePlane PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+            for details on configuration directives.
+          '';
+        };
+
+        extraConfig = mkOption {
+          type = types.nullOr types.lines;
+          default = null;
+          example = ''
+            SETUP_COMPLETED=true
+            DISABLE_SETUP=true
+            IP_URL=https://invoice.example.com
+          '';
+          description = ''
+            InvoicePlane configuration. Refer to
+            <link xlink:href="https://github.com/InvoicePlane/InvoicePlane/blob/master/ipconfig.php.example"/>
+            for details on supported values.
+          '';
+        };
+
+      };
+
+    };
+in
+{
+  # interface
+  options = {
+    services.invoiceplane = mkOption {
+      type = types.submodule {
+
+        options.sites = mkOption {
+          type = types.attrsOf (types.submodule siteOpts);
+          default = {};
+          description = "Specification of one or more WordPress sites to serve";
+        };
+
+        options.webserver = mkOption {
+          type = types.enum [ "caddy" ];
+          default = "caddy";
+          description = ''
+            Which webserver to use for virtual host management. Currently only
+            caddy is supported.
+          '';
+        };
+      };
+      default = {};
+      description = "InvoicePlane configuration.";
+    };
+
+  };
+
+  # implementation
+  config = mkIf (eachSite != {}) (mkMerge [{
+
+    assertions = flatten (mapAttrsToList (hostName: cfg:
+      [{ assertion = cfg.database.createLocally -> cfg.database.user == user;
+        message = ''services.invoiceplane.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
+      }
+      { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
+        message = ''services.invoiceplane.sites."${hostName}".database.passwordFile cannot be specified if services.invoiceplane.sites."${hostName}".database.createLocally is set to true.'';
+      }]
+    ) eachSite);
+
+    services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
+      enable = true;
+      package = mkDefault pkgs.mariadb;
+      ensureDatabases = mapAttrsToList (hostName: cfg: cfg.database.name) eachSite;
+      ensureUsers = mapAttrsToList (hostName: cfg:
+        { name = cfg.database.user;
+          ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
+        }
+      ) eachSite;
+    };
+
+    services.phpfpm = {
+      phpPackage = pkgs.php74;
+      pools = mapAttrs' (hostName: cfg: (
+        nameValuePair "invoiceplane-${hostName}" {
+          inherit user;
+          group = webserver.group;
+          settings = {
+            "listen.owner" = webserver.user;
+            "listen.group" = webserver.group;
+          } // cfg.poolConfig;
+        }
+      )) eachSite;
+    };
+
+  }
+
+  {
+    systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
+      "d ${cfg.stateDir} 0750 ${user} ${webserver.group} - -"
+      "f ${cfg.stateDir}/ipconfig.php 0750 ${user} ${webserver.group} - -"
+      "d ${cfg.stateDir}/logs 0750 ${user} ${webserver.group} - -"
+      "d ${cfg.stateDir}/uploads 0750 ${user} ${webserver.group} - -"
+      "d ${cfg.stateDir}/uploads/archive 0750 ${user} ${webserver.group} - -"
+      "d ${cfg.stateDir}/uploads/customer_files 0750 ${user} ${webserver.group} - -"
+      "d ${cfg.stateDir}/uploads/temp 0750 ${user} ${webserver.group} - -"
+      "d ${cfg.stateDir}/uploads/temp/mpdf 0750 ${user} ${webserver.group} - -"
+      "d ${cfg.stateDir}/tmp 0750 ${user} ${webserver.group} - -"
+    ]) eachSite);
+
+    systemd.services.invoiceplane-config = {
+      serviceConfig.Type = "oneshot";
+      script = concatStrings (mapAttrsToList (hostName: cfg:
+        ''
+          mkdir -p ${cfg.stateDir}/logs \
+                   ${cfg.stateDir}/uploads
+          if ! grep -q IP_URL "${cfg.stateDir}/ipconfig.php"; then
+            cp "${invoiceplane-config hostName cfg}" "${cfg.stateDir}/ipconfig.php"
+          fi
+        '') eachSite);
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    users.users.${user} = {
+      group = webserver.group;
+      isSystemUser = true;
+    };
+  }
+
+  (mkIf (cfg.webserver == "caddy") {
+    services.caddy = {
+      enable = true;
+      virtualHosts = mapAttrs' (hostName: cfg: (
+        nameValuePair "http://${hostName}" {
+          extraConfig = ''
+            root    * ${pkg hostName cfg}
+            file_server
+
+            php_fastcgi unix/${config.services.phpfpm.pools."invoiceplane-${hostName}".socket}
+          '';
+        }
+      )) eachSite;
+    };
+  })
+
+
+  ]);
+}
+
diff --git a/nixpkgs/nixos/modules/services/web-apps/jirafeau.nix b/nixpkgs/nixos/modules/services/web-apps/jirafeau.nix
index 83cf224f7d27..328c61c8e646 100644
--- a/nixpkgs/nixos/modules/services/web-apps/jirafeau.nix
+++ b/nixpkgs/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};
@@ -167,4 +167,7 @@ in
       "d ${cfg.dataDir}/async/ 0750 ${user} ${group} - -"
     ];
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/keycloak.nix b/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
index e08f6dcabd2f..a01f0049b2c7 100644
--- a/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/keycloak.nix
@@ -3,280 +3,311 @@
 let
   cfg = config.services.keycloak;
   opt = options.services.keycloak;
-in
-{
-  options.services.keycloak = {
-
-    enable = lib.mkOption {
-      type = lib.types.bool;
-      default = false;
-      example = true;
-      description = ''
-        Whether to enable the Keycloak identity and access management
-        server.
-      '';
-    };
 
-    bindAddress = lib.mkOption {
-      type = lib.types.str;
-      default = "\${jboss.bind.address:0.0.0.0}";
-      example = "127.0.0.1";
-      description = ''
-        On which address Keycloak should accept new connections.
+  inherit (lib) types mkOption concatStringsSep mapAttrsToList
+    escapeShellArg recursiveUpdate optionalAttrs boolToString mkOrder
+    sort filterAttrs concatMapStringsSep concatStrings mkIf
+    optionalString optionals mkDefault literalExpression hasSuffix
+    foldl' isAttrs filter attrNames elem literalDocBook
+    maintainers;
 
-        A special syntax can be used to allow command line Java system
-        properties to override the value: ''${property.name:value}
-      '';
-    };
-
-    httpPort = lib.mkOption {
-      type = lib.types.str;
-      default = "\${jboss.http.port:80}";
-      example = "8080";
-      description = ''
-        On which port Keycloak should listen for new HTTP connections.
+  inherit (builtins) match typeOf;
+in
+{
+  options.services.keycloak =
+    let
+      inherit (types) bool str nullOr attrsOf path enum anything
+        package port;
+    in
+    {
+      enable = mkOption {
+        type = bool;
+        default = false;
+        example = true;
+        description = ''
+          Whether to enable the Keycloak identity and access management
+          server.
+        '';
+      };
 
-        A special syntax can be used to allow command line Java system
-        properties to override the value: ''${property.name:value}
-      '';
-    };
+      bindAddress = mkOption {
+        type = str;
+        default = "\${jboss.bind.address:0.0.0.0}";
+        example = "127.0.0.1";
+        description = ''
+          On which address Keycloak should accept new connections.
 
-    httpsPort = lib.mkOption {
-      type = lib.types.str;
-      default = "\${jboss.https.port:443}";
-      example = "8443";
-      description = ''
-        On which port Keycloak should listen for new HTTPS connections.
+          A special syntax can be used to allow command line Java system
+          properties to override the value: ''${property.name:value}
+        '';
+      };
 
-        A special syntax can be used to allow command line Java system
-        properties to override the value: ''${property.name:value}
-      '';
-    };
+      httpPort = mkOption {
+        type = str;
+        default = "\${jboss.http.port:80}";
+        example = "8080";
+        description = ''
+          On which port Keycloak should listen for new HTTP connections.
 
-    frontendUrl = lib.mkOption {
-      type = lib.types.str;
-      apply = x: if lib.hasSuffix "/" x then x else x + "/";
-      example = "keycloak.example.com/auth";
-      description = ''
-        The public URL used as base for all frontend requests. Should
-        normally include a trailing <literal>/auth</literal>.
-
-        See <link xlink:href="https://www.keycloak.org/docs/latest/server_installation/#_hostname">the
-        Hostname section of the Keycloak server installation
-        manual</link> for more information.
-      '';
-    };
+          A special syntax can be used to allow command line Java system
+          properties to override the value: ''${property.name:value}
+        '';
+      };
 
-    forceBackendUrlToFrontendUrl = lib.mkOption {
-      type = lib.types.bool;
-      default = false;
-      example = true;
-      description = ''
-        Whether Keycloak should force all requests to go through the
-        frontend URL configured in <xref
-        linkend="opt-services.keycloak.frontendUrl" />. By default,
-        Keycloak allows backend requests to instead use its local
-        hostname or IP address and may also advertise it to clients
-        through its OpenID Connect Discovery endpoint.
-
-        See <link
-        xlink:href="https://www.keycloak.org/docs/latest/server_installation/#_hostname">the
-        Hostname section of the Keycloak server installation
-        manual</link> for more information.
-      '';
-    };
+      httpsPort = mkOption {
+        type = str;
+        default = "\${jboss.https.port:443}";
+        example = "8443";
+        description = ''
+          On which port Keycloak should listen for new HTTPS connections.
 
-    sslCertificate = lib.mkOption {
-      type = lib.types.nullOr lib.types.path;
-      default = null;
-      example = "/run/keys/ssl_cert";
-      description = ''
-        The path to a PEM formatted certificate to use for TLS/SSL
-        connections.
+          A special syntax can be used to allow command line Java system
+          properties to override the value: ''${property.name:value}
+        '';
+      };
 
-        This should be a string, not a Nix path, since Nix paths are
-        copied into the world-readable Nix store.
-      '';
-    };
+      frontendUrl = mkOption {
+        type = str;
+        apply = x:
+          if x == "" || hasSuffix "/" x then
+            x
+          else
+            x + "/";
+        example = "keycloak.example.com/auth";
+        description = ''
+          The public URL used as base for all frontend requests. Should
+          normally include a trailing <literal>/auth</literal>.
 
-    sslCertificateKey = lib.mkOption {
-      type = lib.types.nullOr lib.types.path;
-      default = null;
-      example = "/run/keys/ssl_key";
-      description = ''
-        The path to a PEM formatted private key to use for TLS/SSL
-        connections.
+          See <link xlink:href="https://www.keycloak.org/docs/latest/server_installation/#_hostname">the
+          Hostname section of the Keycloak server installation
+          manual</link> for more information.
+        '';
+      };
 
-        This should be a string, not a Nix path, since Nix paths are
-        copied into the world-readable Nix store.
-      '';
-    };
+      forceBackendUrlToFrontendUrl = mkOption {
+        type = bool;
+        default = false;
+        example = true;
+        description = ''
+          Whether Keycloak should force all requests to go through the
+          frontend URL configured in <xref
+          linkend="opt-services.keycloak.frontendUrl" />. By default,
+          Keycloak allows backend requests to instead use its local
+          hostname or IP address and may also advertise it to clients
+          through its OpenID Connect Discovery endpoint.
+
+          See <link
+          xlink:href="https://www.keycloak.org/docs/latest/server_installation/#_hostname">the
+          Hostname section of the Keycloak server installation
+          manual</link> for more information.
+        '';
+      };
 
-    database = {
-      type = lib.mkOption {
-        type = lib.types.enum [ "mysql" "postgresql" ];
-        default = "postgresql";
-        example = "mysql";
+      sslCertificate = mkOption {
+        type = nullOr path;
+        default = null;
+        example = "/run/keys/ssl_cert";
         description = ''
-          The type of database Keycloak should connect to.
+          The path to a PEM formatted certificate to use for TLS/SSL
+          connections.
+
+          This should be a string, not a Nix path, since Nix paths are
+          copied into the world-readable Nix store.
         '';
       };
 
-      host = lib.mkOption {
-        type = lib.types.str;
-        default = "localhost";
+      sslCertificateKey = mkOption {
+        type = nullOr path;
+        default = null;
+        example = "/run/keys/ssl_key";
         description = ''
-          Hostname of the database to connect to.
+          The path to a PEM formatted private key to use for TLS/SSL
+          connections.
+
+          This should be a string, not a Nix path, since Nix paths are
+          copied into the world-readable Nix store.
         '';
       };
 
-      port =
-        let
-          dbPorts = {
-            postgresql = 5432;
-            mysql = 3306;
-          };
-        in
-          lib.mkOption {
-            type = lib.types.port;
+      database = {
+        type = mkOption {
+          type = enum [ "mysql" "postgresql" ];
+          default = "postgresql";
+          example = "mysql";
+          description = ''
+            The type of database Keycloak should connect to.
+          '';
+        };
+
+        host = mkOption {
+          type = str;
+          default = "localhost";
+          description = ''
+            Hostname of the database to connect to.
+          '';
+        };
+
+        port =
+          let
+            dbPorts = {
+              postgresql = 5432;
+              mysql = 3306;
+            };
+          in
+          mkOption {
+            type = port;
             default = dbPorts.${cfg.database.type};
-            defaultText = lib.literalDocBook "default port of selected database";
+            defaultText = literalDocBook "default port of selected database";
             description = ''
               Port of the database to connect to.
             '';
           };
 
-      useSSL = lib.mkOption {
-        type = lib.types.bool;
-        default = cfg.database.host != "localhost";
-        defaultText = lib.literalExpression ''config.${opt.database.host} != "localhost"'';
-        description = ''
-          Whether the database connection should be secured by SSL /
-          TLS.
-        '';
-      };
+        useSSL = mkOption {
+          type = bool;
+          default = cfg.database.host != "localhost";
+          defaultText = literalExpression ''config.${opt.database.host} != "localhost"'';
+          description = ''
+            Whether the database connection should be secured by SSL /
+            TLS.
+          '';
+        };
 
-      caCert = lib.mkOption {
-        type = lib.types.nullOr lib.types.path;
-        default = null;
-        description = ''
-          The SSL / TLS CA certificate that verifies the identity of the
-          database server.
+        caCert = mkOption {
+          type = nullOr path;
+          default = null;
+          description = ''
+            The SSL / TLS CA certificate that verifies the identity of the
+            database server.
 
-          Required when PostgreSQL is used and SSL is turned on.
+            Required when PostgreSQL is used and SSL is turned on.
 
-          For MySQL, if left at <literal>null</literal>, the default
-          Java keystore is used, which should suffice if the server
-          certificate is issued by an official CA.
-        '';
+            For MySQL, if left at <literal>null</literal>, the default
+            Java keystore is used, which should suffice if the server
+            certificate is issued by an official CA.
+          '';
+        };
+
+        createLocally = mkOption {
+          type = bool;
+          default = true;
+          description = ''
+            Whether a database should be automatically created on the
+            local host. Set this to false if you plan on provisioning a
+            local database yourself. This has no effect if
+            services.keycloak.database.host is customized.
+          '';
+        };
+
+        username = mkOption {
+          type = str;
+          default = "keycloak";
+          description = ''
+            Username to use when connecting to an external or manually
+            provisioned database; has no effect when a local database is
+            automatically provisioned.
+
+            To use this with a local database, set <xref
+            linkend="opt-services.keycloak.database.createLocally" /> to
+            <literal>false</literal> and create the database and user
+            manually. The database should be called
+            <literal>keycloak</literal>.
+          '';
+        };
+
+        passwordFile = mkOption {
+          type = path;
+          example = "/run/keys/db_password";
+          description = ''
+            File containing the database password.
+
+            This should be a string, not a Nix path, since Nix paths are
+            copied into the world-readable Nix store.
+          '';
+        };
       };
 
-      createLocally = lib.mkOption {
-        type = lib.types.bool;
-        default = true;
+      package = mkOption {
+        type = package;
+        default = pkgs.keycloak;
+        defaultText = literalExpression "pkgs.keycloak";
         description = ''
-          Whether a database should be automatically created on the
-          local host. Set this to false if you plan on provisioning a
-          local database yourself. This has no effect if
-          services.keycloak.database.host is customized.
+          Keycloak package to use.
         '';
       };
 
-      username = lib.mkOption {
-        type = lib.types.str;
-        default = "keycloak";
+      initialAdminPassword = mkOption {
+        type = str;
+        default = "changeme";
         description = ''
-          Username to use when connecting to an external or manually
-          provisioned database; has no effect when a local database is
-          automatically provisioned.
-
-          To use this with a local database, set <xref
-          linkend="opt-services.keycloak.database.createLocally" /> to
-          <literal>false</literal> and create the database and user
-          manually. The database should be called
-          <literal>keycloak</literal>.
+          Initial password set for the <literal>admin</literal>
+          user. The password is not stored safely and should be changed
+          immediately in the admin panel.
         '';
       };
 
-      passwordFile = lib.mkOption {
-        type = lib.types.path;
-        example = "/run/keys/db_password";
+      themes = mkOption {
+        type = attrsOf package;
+        default = { };
         description = ''
-          File containing the database password.
+          Additional theme packages for Keycloak. Each theme is linked into
+          subdirectory with a corresponding attribute name.
 
-          This should be a string, not a Nix path, since Nix paths are
-          copied into the world-readable Nix store.
+          Theme packages consist of several subdirectories which provide
+          different theme types: for example, <literal>account</literal>,
+          <literal>login</literal> etc. After adding a theme to this option you
+          can select it by its name in Keycloak administration console.
         '';
       };
-    };
-
-    package = lib.mkOption {
-      type = lib.types.package;
-      default = pkgs.keycloak;
-      defaultText = lib.literalExpression "pkgs.keycloak";
-      description = ''
-        Keycloak package to use.
-      '';
-    };
-
-    initialAdminPassword = lib.mkOption {
-      type = lib.types.str;
-      default = "changeme";
-      description = ''
-        Initial password set for the <literal>admin</literal>
-        user. The password is not stored safely and should be changed
-        immediately in the admin panel.
-      '';
-    };
 
-    extraConfig = lib.mkOption {
-      type = lib.types.attrs;
-      default = { };
-      example = lib.literalExpression ''
-        {
-          "subsystem=keycloak-server" = {
-            "spi=hostname" = {
-              "provider=default" = null;
-              "provider=fixed" = {
-                enabled = true;
-                properties.hostname = "keycloak.example.com";
+      extraConfig = mkOption {
+        type = attrsOf anything;
+        default = { };
+        example = literalExpression ''
+          {
+            "subsystem=keycloak-server" = {
+              "spi=hostname" = {
+                "provider=default" = null;
+                "provider=fixed" = {
+                  enabled = true;
+                  properties.hostname = "keycloak.example.com";
+                };
+                default-provider = "fixed";
               };
-              default-provider = "fixed";
             };
-          };
-        }
-      '';
-      description = ''
-        Additional Keycloak configuration options to set in
-        <literal>standalone.xml</literal>.
-
-        Options are expressed as a Nix attribute set which matches the
-        structure of the jboss-cli configuration. The configuration is
-        effectively overlayed on top of the default configuration
-        shipped with Keycloak. To remove existing nodes and undefine
-        attributes from the default configuration, set them to
-        <literal>null</literal>.
-
-        The example configuration does the equivalent of the following
-        script, which removes the hostname provider
-        <literal>default</literal>, adds the deprecated hostname
-        provider <literal>fixed</literal> and defines it the default:
-
-        <programlisting>
-        /subsystem=keycloak-server/spi=hostname/provider=default:remove()
-        /subsystem=keycloak-server/spi=hostname/provider=fixed:add(enabled = true, properties = { hostname = "keycloak.example.com" })
-        /subsystem=keycloak-server/spi=hostname:write-attribute(name=default-provider, value="fixed")
-        </programlisting>
-
-        You can discover available options by using the <link
-        xlink:href="http://docs.wildfly.org/21/Admin_Guide.html#Command_Line_Interface">jboss-cli.sh</link>
-        program and by referring to the <link
-        xlink:href="https://www.keycloak.org/docs/latest/server_installation/index.html">Keycloak
-        Server Installation and Configuration Guide</link>.
-      '';
-    };
+          }
+        '';
+        description = ''
+          Additional Keycloak configuration options to set in
+          <literal>standalone.xml</literal>.
+
+          Options are expressed as a Nix attribute set which matches the
+          structure of the jboss-cli configuration. The configuration is
+          effectively overlayed on top of the default configuration
+          shipped with Keycloak. To remove existing nodes and undefine
+          attributes from the default configuration, set them to
+          <literal>null</literal>.
+
+          The example configuration does the equivalent of the following
+          script, which removes the hostname provider
+          <literal>default</literal>, adds the deprecated hostname
+          provider <literal>fixed</literal> and defines it the default:
+
+          <programlisting>
+          /subsystem=keycloak-server/spi=hostname/provider=default:remove()
+          /subsystem=keycloak-server/spi=hostname/provider=fixed:add(enabled = true, properties = { hostname = "keycloak.example.com" })
+          /subsystem=keycloak-server/spi=hostname:write-attribute(name=default-provider, value="fixed")
+          </programlisting>
+
+          You can discover available options by using the <link
+          xlink:href="http://docs.wildfly.org/21/Admin_Guide.html#Command_Line_Interface">jboss-cli.sh</link>
+          program and by referring to the <link
+          xlink:href="https://www.keycloak.org/docs/latest/server_installation/index.html">Keycloak
+          Server Installation and Configuration Guide</link>.
+        '';
+      };
 
-  };
+    };
 
   config =
     let
@@ -285,28 +316,58 @@ in
       createLocalPostgreSQL = databaseActuallyCreateLocally && cfg.database.type == "postgresql";
       createLocalMySQL = databaseActuallyCreateLocally && cfg.database.type == "mysql";
 
-      mySqlCaKeystore = pkgs.runCommand "mysql-ca-keystore" {} ''
+      mySqlCaKeystore = pkgs.runCommand "mysql-ca-keystore" { } ''
         ${pkgs.jre}/bin/keytool -importcert -trustcacerts -alias MySQLCACert -file ${cfg.database.caCert} -keystore $out -storepass notsosecretpassword -noprompt
       '';
 
-      keycloakConfig' = builtins.foldl' lib.recursiveUpdate {
-        "interface=public".inet-address = cfg.bindAddress;
-        "socket-binding-group=standard-sockets"."socket-binding=http".port = cfg.httpPort;
-        "subsystem=keycloak-server"."spi=hostname" = {
-          "provider=default" = {
-            enabled = true;
-            properties = {
-              inherit (cfg) frontendUrl forceBackendUrlToFrontendUrl;
+      # Both theme and theme type directories need to be actual directories in one hierarchy to pass Keycloak checks.
+      themesBundle = pkgs.runCommand "keycloak-themes" { } ''
+        linkTheme() {
+          theme="$1"
+          name="$2"
+
+          mkdir "$out/$name"
+          for typeDir in "$theme"/*; do
+            if [ -d "$typeDir" ]; then
+              type="$(basename "$typeDir")"
+              mkdir "$out/$name/$type"
+              for file in "$typeDir"/*; do
+                ln -sn "$file" "$out/$name/$type/$(basename "$file")"
+              done
+            fi
+          done
+        }
+
+        mkdir -p "$out"
+        for theme in ${cfg.package}/themes/*; do
+          if [ -d "$theme" ]; then
+            linkTheme "$theme" "$(basename "$theme")"
+          fi
+        done
+
+        ${concatStringsSep "\n" (mapAttrsToList (name: theme: "linkTheme ${theme} ${escapeShellArg name}") cfg.themes)}
+      '';
+
+      keycloakConfig' = foldl' recursiveUpdate
+        {
+          "interface=public".inet-address = cfg.bindAddress;
+          "socket-binding-group=standard-sockets"."socket-binding=http".port = cfg.httpPort;
+          "subsystem=keycloak-server" = {
+            "spi=hostname"."provider=default" = {
+              enabled = true;
+              properties = {
+                inherit (cfg) frontendUrl forceBackendUrlToFrontendUrl;
+              };
             };
+            "theme=defaults".dir = toString themesBundle;
           };
-        };
-        "subsystem=datasources"."data-source=KeycloakDS" = {
-          max-pool-size = "20";
-          user-name = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username;
-          password = "@db-password@";
-        };
-      } [
-        (lib.optionalAttrs (cfg.database.type == "postgresql") {
+          "subsystem=datasources"."data-source=KeycloakDS" = {
+            max-pool-size = "20";
+            user-name = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username;
+            password = "@db-password@";
+          };
+        } [
+        (optionalAttrs (cfg.database.type == "postgresql") {
           "subsystem=datasources" = {
             "jdbc-driver=postgresql" = {
               driver-module-name = "org.postgresql";
@@ -314,16 +375,16 @@ in
               driver-xa-datasource-class-name = "org.postgresql.xa.PGXADataSource";
             };
             "data-source=KeycloakDS" = {
-              connection-url = "jdbc:postgresql://${cfg.database.host}:${builtins.toString cfg.database.port}/keycloak";
+              connection-url = "jdbc:postgresql://${cfg.database.host}:${toString cfg.database.port}/keycloak";
               driver-name = "postgresql";
-              "connection-properties=ssl".value = lib.boolToString cfg.database.useSSL;
-            } // (lib.optionalAttrs (cfg.database.caCert != null) {
+              "connection-properties=ssl".value = boolToString cfg.database.useSSL;
+            } // (optionalAttrs (cfg.database.caCert != null) {
               "connection-properties=sslrootcert".value = cfg.database.caCert;
               "connection-properties=sslmode".value = "verify-ca";
             });
           };
         })
-        (lib.optionalAttrs (cfg.database.type == "mysql") {
+        (optionalAttrs (cfg.database.type == "mysql") {
           "subsystem=datasources" = {
             "jdbc-driver=mysql" = {
               driver-module-name = "com.mysql";
@@ -331,28 +392,40 @@ in
               driver-class-name = "com.mysql.jdbc.Driver";
             };
             "data-source=KeycloakDS" = {
-              connection-url = "jdbc:mysql://${cfg.database.host}:${builtins.toString cfg.database.port}/keycloak";
+              connection-url = "jdbc:mysql://${cfg.database.host}:${toString cfg.database.port}/keycloak";
               driver-name = "mysql";
-              "connection-properties=useSSL".value = lib.boolToString cfg.database.useSSL;
-              "connection-properties=requireSSL".value = lib.boolToString cfg.database.useSSL;
-              "connection-properties=verifyServerCertificate".value = lib.boolToString cfg.database.useSSL;
+              "connection-properties=useSSL".value = boolToString cfg.database.useSSL;
+              "connection-properties=requireSSL".value = boolToString cfg.database.useSSL;
+              "connection-properties=verifyServerCertificate".value = boolToString cfg.database.useSSL;
               "connection-properties=characterEncoding".value = "UTF-8";
               valid-connection-checker-class-name = "org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker";
               validate-on-match = true;
               exception-sorter-class-name = "org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter";
-            } // (lib.optionalAttrs (cfg.database.caCert != null) {
+            } // (optionalAttrs (cfg.database.caCert != null) {
               "connection-properties=trustCertificateKeyStoreUrl".value = "file:${mySqlCaKeystore}";
               "connection-properties=trustCertificateKeyStorePassword".value = "notsosecretpassword";
             });
           };
         })
-        (lib.optionalAttrs (cfg.sslCertificate != null && cfg.sslCertificateKey != null) {
+        (optionalAttrs (cfg.sslCertificate != null && cfg.sslCertificateKey != null) {
           "socket-binding-group=standard-sockets"."socket-binding=https".port = cfg.httpsPort;
-          "core-service=management"."security-realm=UndertowRealm"."server-identity=ssl" = {
-            keystore-path = "/run/keycloak/ssl/certificate_private_key_bundle.p12";
-            keystore-password = "notsosecretpassword";
+          "subsystem=elytron" = mkOrder 900 {
+            "key-store=httpsKS" = mkOrder 900 {
+              path = "/run/keycloak/ssl/certificate_private_key_bundle.p12";
+              credential-reference.clear-text = "notsosecretpassword";
+              type = "JKS";
+            };
+            "key-manager=httpsKM" = mkOrder 901 {
+              key-store = "httpsKS";
+              credential-reference.clear-text = "notsosecretpassword";
+            };
+            "server-ssl-context=httpsSSC" = mkOrder 902 {
+              key-manager = "httpsKM";
+            };
+          };
+          "subsystem=undertow" = mkOrder 901 {
+            "server=default-server"."https-listener=https".ssl-context = "httpsSSC";
           };
-          "subsystem=undertow"."server=default-server"."https-listener=https".security-realm = "UndertowRealm";
         })
         cfg.extraConfig
       ];
@@ -441,41 +514,42 @@ in
               # with `expression` to evaluate.
               prefixExpression = string:
                 let
-                  match = (builtins.match ''"\$\{.*}"'' string);
+                  matchResult = match ''"\$\{.*}"'' string;
                 in
-                  if match != null then
-                    "expression " + string
-                  else
-                    string;
+                if matchResult != null then
+                  "expression " + string
+                else
+                  string;
 
               writeAttribute = attribute: value:
                 let
-                  type = builtins.typeOf value;
+                  type = typeOf value;
                 in
-                  if type == "set" then
-                    let
-                      names = builtins.attrNames value;
-                    in
-                      builtins.foldl' (text: name: text + (writeAttribute "${attribute}.${name}" value.${name})) "" names
-                  else if value == null then ''
-                    if (outcome == success) of ${path}:read-attribute(name="${attribute}")
-                        ${path}:undefine-attribute(name="${attribute}")
+                if type == "set" then
+                  let
+                    names = attrNames value;
+                  in
+                  foldl' (text: name: text + (writeAttribute "${attribute}.${name}" value.${name})) "" names
+                else if value == null then ''
+                  if (outcome == success) of ${path}:read-attribute(name="${attribute}")
+                      ${path}:undefine-attribute(name="${attribute}")
+                  end-if
+                ''
+                else if elem type [ "string" "path" "bool" ] then
+                  let
+                    value' = if type == "bool" then boolToString value else ''"${value}"'';
+                  in
+                  ''
+                    if (result != ${prefixExpression value'}) of ${path}:read-attribute(name="${attribute}")
+                      ${path}:write-attribute(name=${attribute}, value=${value'})
                     end-if
                   ''
-                  else if builtins.elem type [ "string" "path" "bool" ] then
-                    let
-                      value' = if type == "bool" then lib.boolToString value else ''"${value}"'';
-                    in ''
-                      if (result != ${prefixExpression value'}) of ${path}:read-attribute(name="${attribute}")
-                        ${path}:write-attribute(name=${attribute}, value=${value'})
-                      end-if
-                    ''
-                  else throw "Unsupported type '${type}' for path '${path}'!";
+                else throw "Unsupported type '${type}' for path '${path}'!";
             in
-              lib.concatStrings
-                (lib.mapAttrsToList
-                  (attribute: value: (writeAttribute attribute value))
-                  set);
+            concatStrings
+              (mapAttrsToList
+                (attribute: value: (writeAttribute attribute value))
+                set);
 
 
           /* Produces an argument list for the JBoss `add()` function,
@@ -498,98 +572,108 @@ in
             let
               makeArg = attribute: value:
                 let
-                  type = builtins.typeOf value;
+                  type = typeOf value;
                 in
-                  if type == "set" then
-                    "${attribute} = { " + (makeArgList value) + " }"
-                  else if builtins.elem type [ "string" "path" "bool" ] then
-                    "${attribute} = ${if type == "bool" then lib.boolToString value else ''"${value}"''}"
-                  else if value == null then
-                    ""
-                  else
-                    throw "Unsupported type '${type}' for attribute '${attribute}'!";
+                if type == "set" then
+                  "${attribute} = { " + (makeArgList value) + " }"
+                else if elem type [ "string" "path" "bool" ] then
+                  "${attribute} = ${if type == "bool" then boolToString value else ''"${value}"''}"
+                else if value == null then
+                  ""
+                else
+                  throw "Unsupported type '${type}' for attribute '${attribute}'!";
+
             in
-              lib.concatStringsSep ", " (lib.mapAttrsToList makeArg set);
+            concatStringsSep ", " (mapAttrsToList makeArg set);
 
 
-          /* Recurses into the `attrs` attrset, beginning at the path
-             resolved from `state.path ++ node`; if `node` is `null`,
-             starts from `state.path`. Only subattrsets that are JBoss
-             paths, i.e. follows the `key=value` format, are recursed
+          /* Recurses into the `nodeValue` attrset. Only subattrsets that
+             are JBoss paths, i.e. follows the `key=value` format, are recursed
              into - the rest are considered JBoss attributes / maps.
           */
-          recurse = state: node:
+          recurse = nodePath: nodeValue:
             let
-              path = state.path ++ (lib.optional (node != null) node);
+              nodeContent =
+                if isAttrs nodeValue && nodeValue._type or "" == "order" then
+                  nodeValue.content
+                else
+                  nodeValue;
               isPath = name:
                 let
-                  value = lib.getAttrFromPath (path ++ [ name ]) attrs;
+                  value = nodeContent.${name};
                 in
-                  if (builtins.match ".*([=]).*" name) == [ "=" ] then
-                    if builtins.isAttrs value || value == null then
-                      true
-                    else
-                      throw "Parsing path '${lib.concatStringsSep "." (path ++ [ name ])}' failed: JBoss attributes cannot contain '='!"
+                if (match ".*([=]).*" name) == [ "=" ] then
+                  if isAttrs value || value == null then
+                    true
                   else
-                    false;
-              jbossPath = "/" + (lib.concatStringsSep "/" path);
-              nodeValue = lib.getAttrFromPath path attrs;
-              children = if !builtins.isAttrs nodeValue then {} else nodeValue;
-              subPaths = builtins.filter isPath (builtins.attrNames children);
-              jbossAttrs = lib.filterAttrs (name: _: !(isPath name)) children;
-            in
-              state // {
-                text = state.text + (
-                  if nodeValue != null then ''
+                    throw "Parsing path '${concatStringsSep "." (nodePath ++ [ name ])}' failed: JBoss attributes cannot contain '='!"
+                else
+                  false;
+              jbossPath = "/" + concatStringsSep "/" nodePath;
+              children = if !isAttrs nodeContent then { } else nodeContent;
+              subPaths = filter isPath (attrNames children);
+              getPriority = name:
+                let
+                  value = children.${name};
+                in
+                if value._type or "" == "order" then value.priority else 1000;
+              orderedSubPaths = sort (a: b: getPriority a < getPriority b) subPaths;
+              jbossAttrs = filterAttrs (name: _: !(isPath name)) children;
+              text =
+                if nodeContent != null then
+                  ''
                     if (outcome != success) of ${jbossPath}:read-resource()
                         ${jbossPath}:add(${makeArgList jbossAttrs})
                     end-if
-                  '' + (writeAttributes jbossPath jbossAttrs)
-                  else ''
+                  '' + writeAttributes jbossPath jbossAttrs
+                else
+                  ''
                     if (outcome == success) of ${jbossPath}:read-resource()
                         ${jbossPath}:remove()
                     end-if
-                  '') + (builtins.foldl' recurse { text = ""; inherit path; } subPaths).text;
-              };
+                  '';
+            in
+            text + concatMapStringsSep "\n" (name: recurse (nodePath ++ [ name ]) children.${name}) orderedSubPaths;
         in
-          (recurse { text = ""; path = []; } null).text;
-
+        recurse [ ] attrs;
 
       jbossCliScript = pkgs.writeText "jboss-cli-script" (mkJbossScript keycloakConfig');
 
-      keycloakConfig = pkgs.runCommand "keycloak-config" {
-        nativeBuildInputs = [ cfg.package ];
-      } ''
-        export JBOSS_BASE_DIR="$(pwd -P)";
-        export JBOSS_MODULEPATH="${cfg.package}/modules";
-        export JBOSS_LOG_DIR="$JBOSS_BASE_DIR/log";
+      keycloakConfig = pkgs.runCommand "keycloak-config"
+        {
+          nativeBuildInputs = [ cfg.package ];
+        }
+        ''
+          export JBOSS_BASE_DIR="$(pwd -P)";
+          export JBOSS_MODULEPATH="${cfg.package}/modules";
+          export JBOSS_LOG_DIR="$JBOSS_BASE_DIR/log";
 
-        cp -r ${cfg.package}/standalone/configuration .
-        chmod -R u+rwX ./configuration
+          cp -r ${cfg.package}/standalone/configuration .
+          chmod -R u+rwX ./configuration
 
-        mkdir -p {deployments,ssl}
+          mkdir -p {deployments,ssl}
 
-        standalone.sh&
+          standalone.sh&
 
-        attempt=1
-        max_attempts=30
-        while ! jboss-cli.sh --connect ':read-attribute(name=server-state)'; do
-            if [[ "$attempt" == "$max_attempts" ]]; then
-                echo "ERROR: Could not connect to Keycloak after $attempt attempts! Failing.." >&2
-                exit 1
-            fi
-            echo "Keycloak not fully started yet, retrying.. ($attempt/$max_attempts)"
-            sleep 1
-            (( attempt++ ))
-        done
+          attempt=1
+          max_attempts=30
+          while ! jboss-cli.sh --connect ':read-attribute(name=server-state)'; do
+              if [[ "$attempt" == "$max_attempts" ]]; then
+                  echo "ERROR: Could not connect to Keycloak after $attempt attempts! Failing.." >&2
+                  exit 1
+              fi
+              echo "Keycloak not fully started yet, retrying.. ($attempt/$max_attempts)"
+              sleep 1
+              (( attempt++ ))
+          done
 
-        jboss-cli.sh --connect --file=${jbossCliScript} --echo-command
+          jboss-cli.sh --connect --file=${jbossCliScript} --echo-command
 
-        cp configuration/standalone.xml $out
-      '';
+          cp configuration/standalone.xml $out
+        '';
     in
-      lib.mkIf cfg.enable {
-
+    mkIf cfg.enable
+      {
         assertions = [
           {
             assertion = (cfg.database.useSSL && cfg.database.type == "postgresql") -> (cfg.database.caCert != null);
@@ -599,7 +683,7 @@ in
 
         environment.systemPackages = [ cfg.package ];
 
-        systemd.services.keycloakPostgreSQLInit = lib.mkIf createLocalPostgreSQL {
+        systemd.services.keycloakPostgreSQLInit = mkIf createLocalPostgreSQL {
           after = [ "postgresql.service" ];
           before = [ "keycloak.service" ];
           bindsTo = [ "postgresql.service" ];
@@ -623,7 +707,7 @@ in
           '';
         };
 
-        systemd.services.keycloakMySQLInit = lib.mkIf createLocalMySQL {
+        systemd.services.keycloakMySQLInit = mkIf createLocalMySQL {
           after = [ "mysql.service" ];
           before = [ "keycloak.service" ];
           bindsTo = [ "mysql.service" ];
@@ -650,13 +734,16 @@ in
           let
             databaseServices =
               if createLocalPostgreSQL then [
-                "keycloakPostgreSQLInit.service" "postgresql.service"
+                "keycloakPostgreSQLInit.service"
+                "postgresql.service"
               ]
               else if createLocalMySQL then [
-                "keycloakMySQLInit.service" "mysql.service"
+                "keycloakMySQLInit.service"
+                "mysql.service"
               ]
               else [ ];
-          in {
+          in
+          {
             after = databaseServices;
             bindsTo = databaseServices;
             wantedBy = [ "multi-user.target" ];
@@ -671,52 +758,16 @@ in
               JBOSS_MODULEPATH = "${cfg.package}/modules";
             };
             serviceConfig = {
-              ExecStartPre = let
-                startPreFullPrivileges = ''
-                  set -o errexit -o pipefail -o nounset -o errtrace
-                  shopt -s inherit_errexit
-
-                  umask u=rwx,g=,o=
-
-                  install -T -m 0400 -o keycloak -g keycloak '${cfg.database.passwordFile}' /run/keycloak/secrets/db_password
-                '' + lib.optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
-                  install -T -m 0400 -o keycloak -g keycloak '${cfg.sslCertificate}' /run/keycloak/secrets/ssl_cert
-                  install -T -m 0400 -o keycloak -g keycloak '${cfg.sslCertificateKey}' /run/keycloak/secrets/ssl_key
-                '';
-                startPre = ''
-                  set -o errexit -o pipefail -o nounset -o errtrace
-                  shopt -s inherit_errexit
-
-                  umask u=rwx,g=,o=
-
-                  install -m 0600 ${cfg.package}/standalone/configuration/*.properties /run/keycloak/configuration
-                  install -T -m 0600 ${keycloakConfig} /run/keycloak/configuration/standalone.xml
-
-                  replace-secret '@db-password@' '/run/keycloak/secrets/db_password' /run/keycloak/configuration/standalone.xml
-
-                  export JAVA_OPTS=-Djboss.server.config.user.dir=/run/keycloak/configuration
-                  add-user-keycloak.sh -u admin -p '${cfg.initialAdminPassword}'
-                '' + lib.optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
-                  pushd /run/keycloak/ssl/
-                  cat /run/keycloak/secrets/ssl_cert <(echo) \
-                      /run/keycloak/secrets/ssl_key <(echo) \
-                      /etc/ssl/certs/ca-certificates.crt \
-                      > allcerts.pem
-                  openssl pkcs12 -export -in /run/keycloak/secrets/ssl_cert -inkey /run/keycloak/secrets/ssl_key -chain \
-                                 -name "${cfg.frontendUrl}" -out certificate_private_key_bundle.p12 \
-                                 -CAfile allcerts.pem -passout pass:notsosecretpassword
-                  popd
-                '';
-              in [
-                "+${pkgs.writeShellScript "keycloak-start-pre-full-privileges" startPreFullPrivileges}"
-                "${pkgs.writeShellScript "keycloak-start-pre" startPre}"
+              LoadCredential = [
+                "db_password:${cfg.database.passwordFile}"
+              ] ++ optionals (cfg.sslCertificate != null && cfg.sslCertificateKey != null) [
+                "ssl_cert:${cfg.sslCertificate}"
+                "ssl_key:${cfg.sslCertificateKey}"
               ];
-              ExecStart = "${cfg.package}/bin/standalone.sh";
               User = "keycloak";
               Group = "keycloak";
               DynamicUser = true;
               RuntimeDirectory = map (p: "keycloak/" + p) [
-                "secrets"
                 "configuration"
                 "deployments"
                 "data"
@@ -728,13 +779,39 @@ in
               LogsDirectory = "keycloak";
               AmbientCapabilities = "CAP_NET_BIND_SERVICE";
             };
+            script = ''
+              set -o errexit -o pipefail -o nounset -o errtrace
+              shopt -s inherit_errexit
+
+              umask u=rwx,g=,o=
+
+              install -m 0600 ${cfg.package}/standalone/configuration/*.properties /run/keycloak/configuration
+              install -T -m 0600 ${keycloakConfig} /run/keycloak/configuration/standalone.xml
+
+              replace-secret '@db-password@' "$CREDENTIALS_DIRECTORY/db_password" /run/keycloak/configuration/standalone.xml
+
+              export JAVA_OPTS=-Djboss.server.config.user.dir=/run/keycloak/configuration
+              add-user-keycloak.sh -u admin -p '${cfg.initialAdminPassword}'
+            '' + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
+              pushd /run/keycloak/ssl/
+              cat "$CREDENTIALS_DIRECTORY/ssl_cert" <(echo) \
+                  "$CREDENTIALS_DIRECTORY/ssl_key" <(echo) \
+                  /etc/ssl/certs/ca-certificates.crt \
+                  > allcerts.pem
+              openssl pkcs12 -export -in "$CREDENTIALS_DIRECTORY/ssl_cert" -inkey "$CREDENTIALS_DIRECTORY/ssl_key" -chain \
+                             -name "${cfg.frontendUrl}" -out certificate_private_key_bundle.p12 \
+                             -CAfile allcerts.pem -passout pass:notsosecretpassword
+              popd
+            '' + ''
+              ${cfg.package}/bin/standalone.sh
+            '';
           };
 
-        services.postgresql.enable = lib.mkDefault createLocalPostgreSQL;
-        services.mysql.enable = lib.mkDefault createLocalMySQL;
-        services.mysql.package = lib.mkIf createLocalMySQL pkgs.mariadb;
+        services.postgresql.enable = mkDefault createLocalPostgreSQL;
+        services.mysql.enable = mkDefault createLocalMySQL;
+        services.mysql.package = mkIf createLocalMySQL pkgs.mariadb;
       };
 
   meta.doc = ./keycloak.xml;
-  meta.maintainers = [ lib.maintainers.talyz ];
+  meta.maintainers = [ maintainers.talyz ];
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/keycloak.xml b/nixpkgs/nixos/modules/services/web-apps/keycloak.xml
index 7ba656c20f16..cb706932f48f 100644
--- a/nixpkgs/nixos/modules/services/web-apps/keycloak.xml
+++ b/nixpkgs/nixos/modules/services/web-apps/keycloak.xml
@@ -85,7 +85,12 @@
        The frontend URL is used as base for all frontend requests and
        must be configured through <xref linkend="opt-services.keycloak.frontendUrl" />.
        It should normally include a trailing <literal>/auth</literal>
-       (the default web context).
+       (the default web context). If you use a reverse proxy, you need
+       to set this option to <literal>""</literal>, so that frontend URL
+       is derived from HTTP headers. <literal>X-Forwarded-*</literal> headers
+       support also should be enabled, using <link
+       xlink:href="https://www.keycloak.org/docs/latest/server_installation/index.html#identifying-client-ip-addresses">
+       respective guidelines</link>.
      </para>
 
      <para>
@@ -131,6 +136,17 @@
      </warning>
    </section>
 
+   <section xml:id="module-services-keycloak-themes">
+     <title>Themes</title>
+     <para>
+        You can package custom themes and make them visible to Keycloak via
+        <xref linkend="opt-services.keycloak.themes" />
+        option. See the <link xlink:href="https://www.keycloak.org/docs/latest/server_development/#_themes">
+        Themes section of the Keycloak Server Development Guide</link>
+        and respective NixOS option description for more information.
+     </para>
+   </section>
+
    <section xml:id="module-services-keycloak-extra-config">
      <title>Additional configuration</title>
      <para>
diff --git a/nixpkgs/nixos/modules/services/web-apps/mastodon.nix b/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
index 1e3c7e53c175..8208c85bfd70 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/web-apps/matomo.nix b/nixpkgs/nixos/modules/services/web-apps/matomo.nix
index 8a0ca33b51f0..c6d4ed6d39de 100644
--- a/nixpkgs/nixos/modules/services/web-apps/matomo.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/web-apps/mattermost.nix b/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
index 310a673f5114..2901f307dc5a 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
@@ -181,7 +181,7 @@ in
         description = ''
           Plugins to add to the configuration. Overrides any installed if non-null.
           This is a list of paths to .tar.gz files or derivations evaluating to
-          .tar.gz files. All entries will be passed to `mattermost plugin add`.
+          .tar.gz files.
         '';
       };
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/miniflux.nix b/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
index 026bde2a92df..641c9be85d8c 100644
--- a/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
@@ -4,34 +4,22 @@ with lib;
 let
   cfg = config.services.miniflux;
 
+  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
 
 {
   options = {
     services.miniflux = {
-      enable = mkEnableOption "miniflux";
+      enable = mkEnableOption "miniflux and creates a local postgres database for it";
 
       config = mkOption {
         type = types.attrsOf types.str;
@@ -45,15 +33,17 @@ in
           Configuration for Miniflux, refer to
           <link xlink:href="https://miniflux.app/docs/configuration.html"/>
           for documentation on the supported values.
+
+          Correct configuration for the database is already provided.
+          By default, listens on ${defaultAddress}.
         '';
       };
 
       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";
@@ -64,17 +54,25 @@ in
   config = mkIf cfg.enable {
 
     services.miniflux.config =  {
-      LISTEN_ADDR = mkDefault "localhost:8080";
-      DATABASE_URL = "postgresql://${dbUser}:${dbPassword}@${dbHost}/${dbName}?sslmode=disable";
+      LISTEN_ADDR = mkDefault defaultAddress;
+      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 = {
@@ -87,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 = [ "" ];
@@ -114,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/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
index 6692d67081c5..141ab98e29bf 100644
--- a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
@@ -505,6 +505,12 @@ in {
         The nextcloud-occ program preconfigured to target this Nextcloud instance.
       '';
     };
+
+    nginx.recommendedHttpHeaders = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Enable additional recommended HTTP response headers";
+    };
   };
 
   config = mkIf cfg.enable (mkMerge [
@@ -593,6 +599,8 @@ in {
         timerConfig.Unit = "nextcloud-cron.service";
       };
 
+      systemd.tmpfiles.rules = ["d ${cfg.home} 0750 nextcloud nextcloud"];
+
       systemd.services = {
         # When upgrading the Nextcloud package, Nextcloud can report errors such as
         # "The files of the app [all apps in /var/lib/nextcloud/apps] were not replaced correctly"
@@ -714,8 +722,6 @@ in {
           before = [ "phpfpm-nextcloud.service" ];
           path = [ occ ];
           script = ''
-            chmod og+x ${cfg.home}
-
             ${optionalString (c.dbpassFile != null) ''
               if [ ! -r "${c.dbpassFile}" ]; then
                 echo "dbpassFile ${c.dbpassFile} is not readable by nextcloud:nextcloud! Aborting..."
@@ -808,7 +814,6 @@ in {
       users.users.nextcloud = {
         home = "${cfg.home}";
         group = "nextcloud";
-        createHome = true;
         isSystemUser = true;
       };
       users.groups.nextcloud.members = [ "nextcloud" config.services.nginx.user ];
@@ -904,14 +909,16 @@ in {
         };
         extraConfig = ''
           index index.php index.html /index.php$request_uri;
-          add_header X-Content-Type-Options nosniff;
-          add_header X-XSS-Protection "1; mode=block";
-          add_header X-Robots-Tag none;
-          add_header X-Download-Options noopen;
-          add_header X-Permitted-Cross-Domain-Policies none;
-          add_header X-Frame-Options sameorigin;
-          add_header Referrer-Policy no-referrer;
-          add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
+          ${optionalString (cfg.nginx.recommendedHttpHeaders) ''
+            add_header X-Content-Type-Options nosniff;
+            add_header X-XSS-Protection "1; mode=block";
+            add_header X-Robots-Tag none;
+            add_header X-Download-Options noopen;
+            add_header X-Permitted-Cross-Domain-Policies none;
+            add_header X-Frame-Options sameorigin;
+            add_header Referrer-Policy no-referrer;
+            add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
+          ''}
           client_max_body_size ${cfg.maxUploadSize};
           fastcgi_buffers 64 4K;
           fastcgi_hide_header X-Powered-By;
diff --git a/nixpkgs/nixos/modules/services/web-apps/plausible.nix b/nixpkgs/nixos/modules/services/web-apps/plausible.nix
index b6c48186a1d3..5d550ae5ca86 100644
--- a/nixpkgs/nixos/modules/services/web-apps/plausible.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/plausible.nix
@@ -10,8 +10,7 @@ in {
     enable = mkEnableOption "plausible";
 
     releaseCookiePath = mkOption {
-      default = null;
-      type = with types; nullOr (either str path);
+      type = with types; either str path;
       description = ''
         The path to the file with release cookie. (used for remote connection to the running node).
       '';
@@ -235,6 +234,8 @@ in {
           script = ''
             export CONFIG_DIR=$CREDENTIALS_DIRECTORY
 
+            export RELEASE_COOKIE="$(< $CREDENTIALS_DIRECTORY/RELEASE_COOKIE )"
+
             # setup
             ${pkgs.plausible}/createdb.sh
             ${pkgs.plausible}/migrate.sh
@@ -243,10 +244,8 @@ in {
                 psql -d plausible <<< "UPDATE users SET email_verified=true;"
               fi
             ''}
-            ${optionalString (cfg.releaseCookiePath != null) ''
-              export RELEASE_COOKIE="$(< $CREDENTIALS_DIRECTORY/RELEASE_COOKIE )"
-            ''}
-            plausible start
+
+            exec plausible start
           '';
 
           serviceConfig = {
@@ -257,8 +256,8 @@ in {
             LoadCredential = [
               "ADMIN_USER_PWD:${cfg.adminUser.passwordFile}"
               "SECRET_KEY_BASE:${cfg.server.secretKeybaseFile}"
-            ] ++ lib.optionals (cfg.mail.smtp.passwordFile != null) [ "SMTP_USER_PWD:${cfg.mail.smtp.passwordFile}"]
-            ++ lib.optionals (cfg.releaseCookiePath != null) [ "RELEASE_COOKIE:${cfg.releaseCookiePath}"];
+              "RELEASE_COOKIE:${cfg.releaseCookiePath}"
+            ] ++ lib.optionals (cfg.mail.smtp.passwordFile != null) [ "SMTP_USER_PWD:${cfg.mail.smtp.passwordFile}"];
           };
         };
       }
diff --git a/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix b/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix
index ce99b606c318..4661ba80c5d6 100644
--- a/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/powerdns-admin.nix
@@ -146,4 +146,7 @@ in
       group = "powerdnsadmin";
     };
   };
+
+  # uses attributes of the linked package
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix b/nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix
new file mode 100644
index 000000000000..a901a95fd5f9
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/prosody-filer.nix
@@ -0,0 +1,86 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+
+  cfg = config.services.prosody-filer;
+
+  settingsFormat = pkgs.formats.toml { };
+  configFile = settingsFormat.generate "prosody-filer.toml" cfg.settings;
+in {
+
+  options = {
+    services.prosody-filer = {
+      enable = mkEnableOption "Prosody Filer XMPP upload file server";
+
+      settings = mkOption {
+        description = ''
+          Configuration for Prosody Filer.
+          Refer to <link xlink:href="https://github.com/ThomasLeister/prosody-filer#configure-prosody-filer"/> for details on supported values.
+        '';
+
+        type = settingsFormat.type;
+
+        example = {
+          secret = "mysecret";
+          storeDir = "/srv/http/nginx/prosody-upload";
+        };
+
+        defaultText = literalExpression ''
+          {
+            listenport = mkDefault "127.0.0.1:5050";
+            uploadSubDir = mkDefault "upload/";
+          }
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.prosody-filer.settings = {
+      listenport = mkDefault "127.0.0.1:5050";
+      uploadSubDir = mkDefault "upload/";
+    };
+
+    users.users.prosody-filer = {
+      group = "prosody-filer";
+      isSystemUser = true;
+    };
+
+    users.groups.prosody-filer = { };
+
+    systemd.services.prosody-filer = {
+      description = "Prosody file upload server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      serviceConfig = {
+        User = "prosody-filer";
+        Group = "prosody-filer";
+        ExecStart = "${pkgs.prosody-filer}/bin/prosody-filer -config ${configFile}";
+        Restart = "on-failure";
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        PrivateTmp = true;
+        PrivateMounts = true;
+        ProtectHome = true;
+        ProtectClock = true;
+        ProtectProc = "noaccess";
+        ProcSubset = "pid";
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        ProtectHostname = true;
+        RestrictSUIDSGID = true;
+        RestrictRealtime = true;
+        RestrictNamespaces = true;
+        LockPersonality = true;
+        RemoveIPC = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/restya-board.nix b/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
index fd97ab76a5f6..4b36cc8754c6 100644
--- a/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix b/nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix
index 456ca00416fe..f2b6d9559823 100644
--- a/nixpkgs/nixos/modules/services/web-apps/rss-bridge.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/web-apps/timetagger.nix b/nixpkgs/nixos/modules/services/web-apps/timetagger.nix
new file mode 100644
index 000000000000..373f4fcd52f8
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/timetagger.nix
@@ -0,0 +1,80 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib) mkEnableOption mkIf mkOption types literalExpression;
+
+  cfg = config.services.timetagger;
+in {
+
+  options = {
+    services.timetagger = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Tag your time, get the insight
+
+          <note><para>
+            This app does not do authentication.
+            You must setup authentication yourself or run it in an environment where
+            only allowed users have access.
+          </para></note>
+        '';
+      };
+
+      bindAddr = mkOption {
+        description = "Address to bind to.";
+        type = types.str;
+        default = "127.0.0.1";
+      };
+
+      port = mkOption {
+        description = "Port to bind to.";
+        type = types.port;
+        default = 8080;
+      };
+
+      package = mkOption {
+        description = ''
+          Use own package for starting timetagger web application.
+
+          The ${literalExpression ''pkgs.timetagger''} package only provides a
+          "run.py" script for the actual package
+          ${literalExpression ''pkgs.python3Packages.timetagger''}.
+
+          If you want to provide a "run.py" script for starting timetagger
+          yourself, you can do so with this option.
+          If you do so, the 'bindAddr' and 'port' options are ignored.
+        '';
+
+        default = pkgs.timetagger.override { addr = cfg.bindAddr; port = cfg.port; };
+        defaultText = literalExpression ''
+          pkgs.timetagger.override {
+            addr = ${cfg.bindAddr};
+            port = ${cfg.port};
+          };
+        '';
+        type = types.package;
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.timetagger = {
+      description = "Timetagger service";
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        User = "timetagger";
+        Group = "timetagger";
+        StateDirectory = "timetagger";
+
+        ExecStart = "${cfg.package}/bin/timetagger";
+
+        Restart = "on-failure";
+        RestartSec = 1;
+      };
+    };
+  };
+}
+
diff --git a/nixpkgs/nixos/modules/services/web-apps/wordpress.nix b/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
index 8ebb72296627..59471a739cbb 100644
--- a/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
@@ -1,20 +1,14 @@
 { config, pkgs, lib, ... }:
 
-let
-  inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
-  inherit (lib) any attrValues concatMapStringsSep flatten literalExpression;
-  inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
+with lib;
 
-  cfg = migrateOldAttrs config.services.wordpress;
+let
+  cfg = config.services.wordpress;
   eachSite = cfg.sites;
   user = "wordpress";
   webserver = config.services.${cfg.webserver};
   stateDir = hostName: "/var/lib/wordpress/${hostName}";
 
-  # Migrate config.services.wordpress.<hostName> to config.services.wordpress.sites.<hostName>
-  oldSites = filterAttrs (o: _: o != "sites" && o != "webserver");
-  migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; };
-
   pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
     pname = "wordpress-${hostName}";
     version = src.version;
@@ -266,48 +260,44 @@ in
 {
   # interface
   options = {
-    services.wordpress = mkOption {
-      type = types.submodule {
-        # Used to support old interface
-        freeformType = types.attrsOf (types.submodule siteOpts);
-
-        # New interface
-        options.sites = mkOption {
-          type = types.attrsOf (types.submodule siteOpts);
-          default = {};
-          description = "Specification of one or more WordPress sites to serve";
-        };
+    services.wordpress = {
 
-        options.webserver = mkOption {
-          type = types.enum [ "httpd" "nginx" "caddy" ];
-          default = "httpd";
-          description = ''
-            Whether to use apache2 or nginx for virtual host management.
+      sites = mkOption {
+        type = types.attrsOf (types.submodule siteOpts);
+        default = {};
+        description = "Specification of one or more WordPress sites to serve";
+      };
 
-            Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
-            See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+      webserver = mkOption {
+        type = types.enum [ "httpd" "nginx" "caddy" ];
+        default = "httpd";
+        description = ''
+          Whether to use apache2 or nginx for virtual host management.
 
-            Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
-            See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
-          '';
-        };
+          Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
+          See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+
+          Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
+          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+        '';
       };
-      default = {};
-      description = "Wordpress configuration";
-    };
 
+    };
   };
 
   # implementation
   config = mkIf (eachSite != {}) (mkMerge [{
 
-    assertions = mapAttrsToList (hostName: cfg:
-      { assertion = cfg.database.createLocally -> cfg.database.user == user;
-        message = ''services.wordpress.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
-      }
-    ) eachSite;
+    assertions =
+      (mapAttrsToList (hostName: cfg:
+        { assertion = cfg.database.createLocally -> cfg.database.user == user;
+          message = ''services.wordpress.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
+        }) eachSite) ++
+      (mapAttrsToList (hostName: cfg:
+        { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
+          message = ''services.wordpress.sites."${hostName}".database.passwordFile cannot be specified if services.wordpress.sites."${hostName}".database.createLocally is set to true.'';
+        }) eachSite);
 
-    warnings = mapAttrsToList (hostName: _: ''services.wordpress."${hostName}" is deprecated use services.wordpress.sites."${hostName}"'') (oldSites cfg);
 
     services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
       enable = true;
@@ -359,7 +349,7 @@ in
 
             DirectoryIndex index.php
             Require all granted
-            Options +FollowSymLinks
+            Options +FollowSymLinks -Indexes
           </Directory>
 
           # https://wordpress.org/support/article/hardening-wordpress/#securing-wp-config-php
diff --git a/nixpkgs/nixos/modules/services/web-servers/agate.nix b/nixpkgs/nixos/modules/services/web-servers/agate.nix
new file mode 100644
index 000000000000..3afdb561c0b0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
index 1a49b4ca15c7..d817ff6019a3 100644
--- a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -370,6 +370,8 @@ let
       cat ${php.phpIni} > $out
       echo "$options" >> $out
     '';
+
+  mkCertOwnershipAssertion = import ../../../security/acme/mk-cert-ownership-assertion.nix;
 in
 
 
@@ -657,7 +659,11 @@ in
           `services.httpd.virtualHosts.<name>.useACMEHost` are mutually exclusive.
         '';
       }
-    ];
+    ] ++ map (name: mkCertOwnershipAssertion {
+      inherit (cfg) group user;
+      cert = config.security.acme.certs.${name};
+      groups = config.users.groups;
+    }) dependentCertNames;
 
     warnings =
       mapAttrsToList (name: hostOpts: ''
diff --git a/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix b/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
index d51effa31c97..2b8c6f2e308b 100644
--- a/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/caddy/default.nix
@@ -28,11 +28,7 @@ let
     let
       Caddyfile = pkgs.writeText "Caddyfile" ''
         {
-          ${optionalString (cfg.email != null) "email ${cfg.email}"}
-          ${optionalString (cfg.acmeCA != null) "acme_ca ${cfg.acmeCA}"}
-          log {
-            ${cfg.logFormat}
-          }
+          ${cfg.globalConfig}
         }
         ${cfg.extraConfig}
       '';
@@ -42,6 +38,10 @@ let
       '';
     in
       if pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform then Caddyfile-formatted else Caddyfile;
+
+  acmeHosts = unique (catAttrs "useACMEHost" acmeVHosts);
+
+  mkCertOwnershipAssertion = import ../../../security/acme/mk-cert-ownership-assertion.nix;
 in
 {
   imports = [
@@ -183,6 +183,26 @@ in
       '';
     };
 
+    globalConfig = mkOption {
+      type = types.lines;
+      default = "";
+      example = ''
+        debug
+        servers {
+          protocol {
+            experimental_http3
+          }
+        }
+      '';
+      description = ''
+        Additional lines of configuration appended to the global config section
+        of the <literal>Caddyfile</literal>.
+
+        Refer to <link xlink:href="https://caddyserver.com/docs/caddyfile/options#global-options"/>
+        for details on supported values.
+      '';
+    };
+
     extraConfig = mkOption {
       type = types.lines;
       default = "";
@@ -250,9 +270,20 @@ in
       { assertion = cfg.adapter != "caddyfile" -> cfg.configFile != configFile;
         message = "Any value other than 'caddyfile' is only valid when providing your own `services.caddy.configFile`";
       }
-    ];
+    ] ++ map (name: mkCertOwnershipAssertion {
+      inherit (cfg) group user;
+      cert = config.security.acme.certs.${name};
+      groups = config.users.groups;
+    }) acmeHosts;
 
     services.caddy.extraConfig = concatMapStringsSep "\n" mkVHostConf virtualHosts;
+    services.caddy.globalConfig = ''
+      ${optionalString (cfg.email != null) "email ${cfg.email}"}
+      ${optionalString (cfg.acmeCA != null) "acme_ca ${cfg.acmeCA}"}
+      log {
+        ${cfg.logFormat}
+      }
+    '';
 
     systemd.packages = [ cfg.package ];
     systemd.services.caddy = {
@@ -300,8 +331,7 @@ in
 
     security.acme.certs =
       let
-        eachACMEHost = unique (catAttrs "useACMEHost" acmeVHosts);
-        reloads = map (useACMEHost: nameValuePair useACMEHost { reloadServices = [ "caddy.service" ]; }) eachACMEHost;
+        reloads = map (useACMEHost: nameValuePair useACMEHost { reloadServices = [ "caddy.service" ]; }) acmeHosts;
       in
         listToAttrs reloads;
 
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
index dc174c8b41d0..6876dbf39d84 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
@@ -245,12 +245,9 @@ let
         defaultListen =
           if vhost.listen != [] then vhost.listen
           else
-            let addrs = if vhost.listenAddresses != [] then vhost.listenAddresses else (
-              [ "0.0.0.0" ] ++ optional enableIPv6 "[::0]"
-            );
-            in
-          optionals (hasSSL || vhost.rejectSSL) (map (addr: { inherit addr; port = 443; ssl = true; }) addrs)
-          ++ optionals (!onlySSL) (map (addr: { inherit addr; port = 80; ssl = false; }) addrs);
+            let addrs = if vhost.listenAddresses != [] then vhost.listenAddresses else cfg.defaultListenAddresses;
+            in optionals (hasSSL || vhost.rejectSSL) (map (addr: { inherit addr; port = 443; ssl = true; }) addrs)
+              ++ optionals (!onlySSL) (map (addr: { inherit addr; port = 80; ssl = false; }) addrs);
 
         hostListen =
           if vhost.forceSSL
@@ -374,6 +371,8 @@ let
       ${user}:{PLAIN}${password}
     '') authDef)
   );
+
+  mkCertOwnershipAssertion = import ../../../security/acme/mk-cert-ownership-assertion.nix;
 in
 
 {
@@ -430,6 +429,16 @@ in
         ";
       };
 
+      defaultListenAddresses = mkOption {
+        type = types.listOf types.str;
+        default = [ "0.0.0.0" ] ++ optional enableIPv6 "[::0]";
+        defaultText = literalExpression ''[ "0.0.0.0" ] ++ lib.optional config.networking.enableIPv6 "[::0]"'';
+        example = literalExpression ''[ "10.0.0.12" "[2002:a00:1::]" ]'';
+        description = "
+          If vhosts do not specify listenAddresses, use these addresses by default.
+        ";
+      };
+
       package = mkOption {
         default = pkgs.nginxStable;
         defaultText = literalExpression "pkgs.nginxStable";
@@ -842,7 +851,11 @@ in
           services.nginx.virtualHosts.<name>.useACMEHost are mutually exclusive.
         '';
       }
-    ];
+    ] ++ map (name: mkCertOwnershipAssertion {
+      inherit (cfg) group user;
+      cert = config.security.acme.certs.${name};
+      groups = config.users.groups;
+    }) dependentCertNames;
 
     systemd.services.nginx = {
       description = "Nginx Web Server";
@@ -911,7 +924,7 @@ in
         PrivateMounts = true;
         # System Call Filtering
         SystemCallArchitectures = "native";
-        SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @setuid @mincore" ] ++ optionals (cfg.package != pkgs.tengine) [ "~@ipc" ];
+        SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @setuid" ] ++ optionals (cfg.package != pkgs.tengine) [ "~@ipc" ];
       };
     };
 
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/gitweb.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/gitweb.nix
index 11bf2a309ea8..db45577a46d1 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/gitweb.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/web-servers/shellinabox.nix b/nixpkgs/nixos/modules/services/web-servers/shellinabox.nix
deleted file mode 100644
index c7c51f873eba..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix b/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
index 576648d134bd..5b9fc0e79d9f 100644
--- a/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/uwsgi.nix
@@ -20,10 +20,11 @@ let
 
   buildCfg = name: c:
     let
-      plugins =
+      plugins' =
         if any (n: !any (m: m == n) cfg.plugins) (c.plugins or [])
         then throw "`plugins` attribute in uWSGI configuration contains plugins not in config.services.uwsgi.plugins"
         else c.plugins or cfg.plugins;
+      plugins = unique plugins';
 
       hasPython = v: filter (n: n == "python${v}") plugins != [];
       hasPython2 = hasPython "2";
@@ -48,13 +49,10 @@ let
                 pyhome = "${pythonEnv}";
                 env =
                   # Argh, uwsgi expects list of key-values there instead of a dictionary.
-                  let env' = c.env or [];
-                      getPath =
-                        x: if hasPrefix "PATH=" x
-                           then substring (stringLength "PATH=") (stringLength x) x
-                           else null;
-                      oldPaths = filter (x: x != null) (map getPath env');
-                  in env' ++ [ "PATH=${optionalString (oldPaths != []) "${last oldPaths}:"}${pythonEnv}/bin" ];
+                  let envs = partition (hasPrefix "PATH=") (c.env or []);
+                      oldPaths = map (x: substring (stringLength "PATH=") (stringLength x) x) envs.right;
+                      paths = oldPaths ++ [ "${pythonEnv}/bin" ];
+                  in [ "PATH=${concatStringsSep ":" paths}" ] ++ envs.wrong;
               }
           else if isEmperor
             then {
@@ -232,7 +230,7 @@ in {
     };
 
     services.uwsgi.package = pkgs.uwsgi.override {
-      inherit (cfg) plugins;
+      plugins = unique cfg.plugins;
     };
   };
 }
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index 82b07206a8b6..3a78a526460c 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -136,7 +136,7 @@ in
         # session requirements
         cinnamon-screensaver
         # cinnamon-killer-daemon: provided by cinnamon-common
-        gnome.networkmanagerapplet # session requirement - also nm-applet not needed
+        networkmanagerapplet # session requirement - also nm-applet not needed
 
         # For a polkit authentication agent
         polkit_gnome
@@ -145,7 +145,7 @@ in
         nemo
         cinnamon-control-center
         cinnamon-settings-daemon
-        gnome.libgnomekbd
+        libgnomekbd
         orca
 
         # theme
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
index 6ee5b0fc54f7..8247a7e381c9 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index e3d876e82fdd..d1513a596b9f 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -36,6 +36,7 @@ in
       enlightenment.econnman
       enlightenment.efl
       enlightenment.enlightenment
+      enlightenment.ecrire
       enlightenment.ephoto
       enlightenment.rage
       enlightenment.terminology
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
index efc9bd39b366..e2323785149a 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -569,6 +569,7 @@ in
         atomix
         five-or-more
         four-in-a-row
+        pkgs.gnome-2048
         gnome-chess
         gnome-klotski
         gnome-mahjongg
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.xml b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.xml
index e5da7740196e..807c9d64e204 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.xml
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome.xml
@@ -249,14 +249,5 @@ services.xserver.desktopManager.gnome = {
     See <link xlink:href="https://github.com/NixOS/nixpkgs/issues/56342">this issue.</link>
    </para>
   </section>
-
-  <section xml:id="sec-gnome-faq-nixos-rebuild-switch-kills-session">
-   <title>Why does <literal>nixos-rebuild switch</literal> sometimes kill my session?</title>
-
-   <para>
-    This is a known <link xlink:href="https://github.com/NixOS/nixpkgs/issues/44344">issue</link> without any workarounds.
-    If you are doing a fairly large upgrade, it is probably safer to use <literal>nixos-rebuild boot</literal>.
-   </para>
-  </section>
  </section>
 </chapter>
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 980a6b939d5a..6a7d2a8aa6cd 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixpkgs/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;
@@ -224,7 +225,6 @@ in
       programs.file-roller.package = pkgs.pantheon.file-roller;
 
       # Settings from elementary-default-settings
-      environment.sessionVariables.GTK_CSD = "1";
       environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
 
       xdg.portal.extraPortals = with pkgs.pantheon; [
@@ -273,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
@@ -287,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/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.xml
index fe0a1c496223..202909d398f0 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.xml
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 9bacdaa9be98..b7aa2eba81cf 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -394,7 +394,8 @@ in
 
       # Extra UDEV rules used by Solid
       services.udev.packages = [
-        pkgs.libmtp
+        # libmtp has "bin", "dev", "out" outputs. UDEV rules file is in "out".
+        pkgs.libmtp.out
         pkgs.media-player-info
       ];
 
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/retroarch.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/retroarch.nix
new file mode 100644
index 000000000000..d471673d4521
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
index 6f0d645725e9..b1dc6643be82 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
@@ -53,6 +53,8 @@ in
       "autoLogin"
       "user"
     ])
+
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "gdm" "nvidiaWayland" ] "We defer to GDM whether Wayland should be enabled.")
   ];
 
   meta = {
@@ -83,17 +85,6 @@ in
         default = true;
         description = ''
           Allow GDM to run on Wayland instead of Xserver.
-          Note to enable Wayland with Nvidia the <option>nvidiaWayland</option>
-          must not be disabled.
-        '';
-      };
-
-      nvidiaWayland = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Whether to allow wayland to be used with the proprietary
-          NVidia graphics driver.
         '';
       };
 
@@ -149,7 +140,8 @@ in
         environment = {
           GDM_X_SERVER_EXTRA_ARGS = toString
             (filter (arg: arg != "-terminate") cfg.xserverArgs);
-          XDG_DATA_DIRS = "${cfg.sessionData.desktops}/share/";
+          # GDM is needed for gnome-login.session
+          XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share";
         } // optionalAttrs (xSessionWrapper != null) {
           # Make GDM use this wrapper before running the session, which runs the
           # configured setupCommands. This relies on a patched GDM which supports
@@ -230,19 +222,6 @@ in
 
     services.dbus.packages = [ gdm ];
 
-    # We duplicate upstream's udev rules manually to make wayland with nvidia configurable
-    services.udev.extraRules = ''
-      # disable Wayland on Cirrus chipsets
-      ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false"
-      # disable Wayland on Hi1710 chipsets
-      ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false"
-      ${optionalString (!cfg.gdm.nvidiaWayland) ''
-        DRIVER=="nvidia", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false"
-      ''}
-      # disable Wayland when modesetting is disabled
-      IMPORT{cmdline}="nomodeset", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false"
-    '';
-
     systemd.user.services.dbus.wantedBy = [ "default.target" ];
 
     programs.dconf.profiles.gdm =
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix b/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
index ecad411ff683..68f97c2f504b 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -2,7 +2,7 @@
 
 with lib;
 let
-  inherit (lib) mkOption mkIf optionals literalExpression;
+  inherit (lib) mkOption mkIf optionals literalExpression optionalString;
   cfg = config.services.xserver.windowManager.xmonad;
 
   ghcWithPackages = cfg.haskellPackages.ghcWithPackages;
@@ -26,11 +26,14 @@ let
     in
       pkgs.runCommandLocal "xmonad" {
         nativeBuildInputs = [ pkgs.makeWrapper ];
-      } ''
+      } (''
         install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz
         makeWrapper ${configured}/bin/xmonad $out/bin/xmonad \
+      '' + optionalString cfg.enableConfiguredRecompile ''
+          --set NIX_GHC "${xmonadEnv}/bin/ghc" \
+      '' + ''
           --set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage"
-      '';
+      '');
 
   xmonad = if (cfg.config != null) then xmonad-config else xmonad-vanilla;
 in {
@@ -95,12 +98,14 @@ in {
           xmonad from PATH. This allows e.g. switching to the new xmonad binary
           after rebuilding your system with nixos-rebuild.
           For the same reason, ghc is not added to the environment when this
-          option is set.
+          option is set, unless <option>enableConfiguredRecompile</option> is
+          set to <literal>true</literal>.
 
           If you actually want to run xmonad with a config specified here, but
           also be able to recompile and restart it from a copy of that source in
-          $HOME/.xmonad on the fly, you will have to implement that yourself
-          using something like "compileRestart" from the example.
+          $HOME/.xmonad on the fly, set <option>enableConfiguredRecompile</option>
+          to <literal>true</literal> and implement something like "compileRestart"
+          from the example.
           This should allow you to switch at will between the local xmonad and
           the one NixOS puts in your PATH.
         '';
@@ -116,6 +121,29 @@ in {
 
           compiledConfig = printf "xmonad-%s-%s" arch os
 
+          myConfig = defaultConfig
+            { modMask = mod4Mask -- Use Super instead of Alt
+            , terminal = "urxvt" }
+            `additionalKeys`
+            [ ( (mod4Mask,xK_r), compileRestart True)
+            , ( (mod4Mask,xK_q), restart "xmonad" True ) ]
+
+          --------------------------------------------
+          {- version 0.17.0 -}
+          --------------------------------------------
+          -- compileRestart resume =
+          --   dirs <- io getDirectories
+          --   whenX (recompile dirs True) $
+          --     when resume writeStateToFile
+          --       *> catchIO
+          --         ( do
+          --             args <- getArgs
+          --             executeFile (cacheDir dirs </> compiledConfig) False args Nothing
+          --         )
+          --
+          -- main = getDirectories >>= launch myConfig
+          --------------------------------------------
+
           compileRestart resume =
             whenX (recompile True) $
               when resume writeStateToFile
@@ -126,12 +154,17 @@ in {
                       executeFile (dir </> compiledConfig) False args Nothing
                   )
 
-          main = launch defaultConfig
-              { modMask = mod4Mask -- Use Super instead of Alt
-              , terminal = "urxvt" }
-              `additionalKeys`
-              [ ( (mod4Mask,xK_r), compileRestart True)
-              , ( (mod4Mask,xK_q), restart "xmonad" True ) ]
+          main = launch myConfig
+        '';
+      };
+
+      enableConfiguredRecompile = mkOption {
+        default = false;
+        type = lib.types.bool;
+        description = ''
+          Enable recompilation even if <option>config</option> is set to a
+          non-null value. This adds the necessary Haskell dependencies (GHC with
+          packages) to the xmonad binary's environment.
         '';
       };
 
diff --git a/nixpkgs/nixos/modules/services/x11/xserver.nix b/nixpkgs/nixos/modules/services/x11/xserver.nix
index 24d925734423..ec6d86d59bdf 100644
--- a/nixpkgs/nixos/modules/services/x11/xserver.nix
+++ b/nixpkgs/nixos/modules/services/x11/xserver.nix
@@ -703,7 +703,7 @@ in
 
         environment =
           optionalAttrs config.hardware.opengl.setLdLibraryPath
-            { LD_LIBRARY_PATH = pkgs.addOpenGLRunpath.driverLink; }
+            { LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.addOpenGLRunpath.driverLink ]; }
           // cfg.displayManager.job.environment;
 
         preStart =
@@ -865,4 +865,6 @@ in
 
   };
 
+  # uses relatedPackages
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/system/activation/activation-script.nix b/nixpkgs/nixos/modules/system/activation/activation-script.nix
index d6f14d01dbaa..c04d0fc16b24 100644
--- a/nixpkgs/nixos/modules/system/activation/activation-script.nix
+++ b/nixpkgs/nixos/modules/system/activation/activation-script.nix
@@ -56,6 +56,7 @@ let
       ln -sfn "$(readlink -f "$systemConfig")" /run/current-system
 
       # Prevent the current configuration from being garbage-collected.
+      mkdir -p /nix/var/nix/gcroots
       ln -sfn /run/current-system /nix/var/nix/gcroots/current-system
 
       exit $_status
diff --git a/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl b/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
index 3fbab8b94c93..a8fe14c58f05 100644
--- a/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixpkgs/nixos/modules/system/activation/switch-to-configuration.pl
@@ -2,9 +2,10 @@
 
 use strict;
 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';
@@ -18,7 +19,16 @@ my $startListFile = "/run/nixos/start-list";
 my $restartListFile = "/run/nixos/restart-list";
 my $reloadListFile = "/run/nixos/reload-list";
 
-# Parse restart/reload requests by the activation script
+# Parse restart/reload requests by the activation script.
+# 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";
@@ -111,26 +121,86 @@ sub parseFstab {
     return ($fss, $swaps);
 }
 
-sub parseUnit {
-    my ($filename) = @_;
-    my $info = {};
-    parseKeyValues($info, read_file($filename)) if -f $filename;
-    parseKeyValues($info, read_file("${filename}.d/overrides.conf")) if -f "${filename}.d/overrides.conf";
-    return $info;
+# This subroutine takes a single ini file that specified systemd configuration
+# like unit configuration and parses it into a hash where the keys are the sections
+# of the unit file and the values are hashes themselves. These hashes have the unit file
+# keys as their keys (left side of =) and an array of all values that were set as their
+# values. If a value is empty (for example `ExecStart=`), then all current definitions are
+# removed.
+#
+# Instead of returning the hash, this subroutine takes a hashref to return the data in. This
+# allows calling the subroutine multiple times with the same hash to parse override files.
+sub parseSystemdIni {
+    my ($unitContents, $path) = @_;
+    # Tie the ini file to a hash for easier access
+    my %fileContents;
+    tie %fileContents, "Config::IniFiles", (-file => $path, -allowempty => 1, -allowcontinue => 1);
+
+    # 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
+            my $iniValue = $fileContents{$sectionName}{$iniKey};
+            my @iniValues;
+            if (ref($iniValue) eq "ARRAY") {
+                @iniValues = @{$iniValue};
+            } else {
+                @iniValues = $iniValue;
+            }
+            # Go over all values
+            for my $iniValue (@iniValues) {
+                # If a value is empty, it's an override that tells us to clean the value
+                if ($iniValue eq "") {
+                    delete $unitContents->{$sectionName}->{$iniKey};
+                    next;
+                }
+                push(@{$unitContents->{$sectionName}->{$iniKey}}, $iniValue);
+            }
+        }
+    }
+    return;
 }
 
-sub parseKeyValues {
-    my $info = shift;
-    foreach my $line (@_) {
-        # FIXME: not quite correct.
-        $line =~ /^([^=]+)=(.*)$/ or next;
-        $info->{$1} = $2;
+# This subroutine takes the path to a systemd configuration file (like a unit configuration),
+# parses it, and returns a hash that contains the contents. The contents of this hash are
+# explained in the `parseSystemdIni` subroutine. Neither the sections nor the keys inside
+# the sections are consistently sorted.
+#
+# 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 parse_unit {
+    my ($unit_path) = @_;
+
+    # Parse the main unit and all overrides
+    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;
 }
 
-sub boolIsTrue {
-    my ($s) = @_;
-    return $s eq "yes" || $s eq "true";
+# Checks whether a specified boolean in a systemd unit is true
+# or false, with a default that is applied when the value is not set.
+sub parseSystemdBool {
+    my ($unitConfig, $sectionName, $boolName, $default) = @_;
+
+    my @values = @{$unitConfig->{$sectionName}{$boolName} // []};
+    # Return default if value is not set
+    if (scalar @values lt 1 || not defined $values[-1]) {
+        return $default;
+    }
+    # If value is defined multiple times, use the last definition
+    my $last = $values[-1];
+    # These are valid values as of systemd.syntax(7)
+    return $last eq "1" || $last eq "yes" || $last eq "true" || $last eq "on";
 }
 
 sub recordUnit {
@@ -138,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.
@@ -165,28 +315,33 @@ 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 (boolIsTrue($unitInfo->{'X-ReloadIfChanged'} // "no")) {
+        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);
         }
-        elsif (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes") || boolIsTrue($unitInfo->{'RefuseManualStop'} // "no") || boolIsTrue($unitInfo->{'X-OnlyManualStart'} // "no")) {
+        elsif (!parseSystemdBool(\%unitInfo, "Service", "X-RestartIfChanged", 1) || parseSystemdBool(\%unitInfo, "Unit", "RefuseManualStop", 0) || parseSystemdBool(\%unitInfo, "Unit", "X-OnlyManualStart", 0)) {
             $unitsToSkip->{$unit} = 1;
         } else {
             # It doesn't make sense to stop and start non-services because
             # they can't have ExecStop=
-            if (!boolIsTrue($unitInfo->{'X-StopIfChanged'} // "yes") || $unit !~ /\.service$/) {
+            if (!parseSystemdBool(\%unitInfo, "Service", "X-StopIfChanged", 1) || $unit !~ /\.service$/) {
                 # This unit should be restarted instead of
                 # 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
                 # socket(s) instead of the service.
                 my $socketActivated = 0;
                 if ($unit =~ /\.service$/) {
-                    my @sockets = split / /, ($unitInfo->{Sockets} // "");
+                    my @sockets = split(/ /, join(" ", @{$unitInfo{Service}{Sockets} // []}));
                     if (scalar @sockets == 0) {
                         @sockets = ("$baseName.socket");
                     }
@@ -200,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);
+                            }
                         }
                     }
                 }
@@ -214,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);
+                }
             }
         }
     }
@@ -252,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);
-            $unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes");
+            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
@@ -266,7 +431,7 @@ while (my ($unit, $state) = each %{$activePrev}) {
             # active after the system has resumed, which probably
             # should not be the case.  Just ignore it.
             if ($unit ne "suspend.target" && $unit ne "hibernate.target" && $unit ne "hybrid-sleep.target") {
-                unless (boolIsTrue($unitInfo->{'RefuseManualStart'} // "no") || boolIsTrue($unitInfo->{'X-OnlyManualStart'} // "no")) {
+                unless (parseSystemdBool(\%unitInfo, "Unit", "RefuseManualStart", 0) || parseSystemdBool(\%unitInfo, "Unit", "X-OnlyManualStart", 0)) {
                     $unitsToStart{$unit} = 1;
                     recordUnit($startListFile, $unit);
                     # Don't spam the user with target units that always get started.
@@ -285,13 +450,21 @@ while (my ($unit, $state) = each %{$activePrev}) {
             # Stopping a target generally has no effect on other units
             # (unless there is a PartOf dependency), so this is just a
             # bookkeeping thing to get systemd to do the right thing.
-            if (boolIsTrue($unitInfo->{'X-StopOnReconfiguration'} // "no")) {
+            if (parseSystemdBool(\%unitInfo, "Unit", "X-StopOnReconfiguration", 0)) {
                 $unitsToStop{$unit} = 1;
             }
         }
 
-        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);
+            }
         }
     }
 }
@@ -307,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
@@ -353,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).
 }
@@ -382,7 +548,6 @@ sub filterUnits {
 }
 
 my @unitsToStopFiltered = filterUnits(\%unitsToStop);
-my @unitsToStartFiltered = filterUnits(\%unitsToStart);
 
 
 # Show dry-run actions.
@@ -395,21 +560,49 @@ if ($action eq "dry-activate") {
     print STDERR "would activate the configuration...\n";
     system("$out/dry-activate", "$out");
 
-    $unitsToRestart{$_} = 1 foreach
-        split('\n', read_file($dryRestartByActivationFile, err_mode => 'quiet') // "");
+    # Handle the activation script requesting the restart or reload of a unit.
+    foreach (split('\n', read_file($dryRestartByActivationFile, err_mode => 'quiet') // "")) {
+        my $unit = $_;
+        my $baseUnit = $unit;
+        my $newUnitFile = "$out/etc/systemd/system/$baseUnit";
+
+        # Detect template instances.
+        if (!-e $newUnitFile && $unit =~ /^(.*)@[^\.]*\.(.*)$/) {
+          $baseUnit = "$1\@.$2";
+          $newUnitFile = "$out/etc/systemd/system/$baseUnit";
+        }
 
-    $unitsToReload{$_} = 1 foreach
-        split('\n', read_file($dryReloadByActivationFile, err_mode => 'quiet') // "");
+        my $baseName = $baseUnit;
+        $baseName =~ s/\.[a-z]*$//;
+
+        # Start units if they were not active previously
+        if (not defined $activePrev->{$unit}) {
+            $unitsToStart{$unit} = 1;
+            next;
+        }
+
+        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;
     print STDERR "would restart the following units: ", join(", ", sort(keys %unitsToRestart)), "\n"
         if scalar(keys %unitsToRestart) > 0;
+    my @unitsToStartFiltered = filterUnits(\%unitsToStart);
     print STDERR "would start the following units: ", join(", ", @unitsToStartFiltered), "\n"
         if scalar @unitsToStartFiltered;
-    unlink($dryRestartByActivationFile);
-    unlink($dryReloadByActivationFile);
     exit 0;
 }
 
@@ -433,13 +626,42 @@ print STDERR "activating the configuration...\n";
 system("$out/activate", "$out") == 0 or $res = 2;
 
 # Handle the activation script requesting the restart or reload of a unit.
-# We can only restart and reload (not stop/start) because the units to be
-# stopped are already stopped before the activation script is run.
-$unitsToRestart{$_} = 1 foreach
-    split('\n', read_file($restartByActivationFile, err_mode => 'quiet') // "");
+foreach (split('\n', read_file($restartByActivationFile, err_mode => 'quiet') // "")) {
+    my $unit = $_;
+    my $baseUnit = $unit;
+    my $newUnitFile = "$out/etc/systemd/system/$baseUnit";
 
-$unitsToReload{$_} = 1 foreach
-    split('\n', read_file($reloadByActivationFile, err_mode => 'quiet') // "");
+    # Detect template instances.
+    if (!-e $newUnitFile && $unit =~ /^(.*)@[^\.]*\.(.*)$/) {
+      $baseUnit = "$1\@.$2";
+      $newUnitFile = "$out/etc/systemd/system/$baseUnit";
+    }
+
+    my $baseName = $baseUnit;
+    $baseName =~ s/\.[a-z]*$//;
+
+    # Start units if they were not active previously
+    if (not defined $activePrev->{$unit}) {
+        $unitsToStart{$unit} = 1;
+        recordUnit($startListFile, $unit);
+        next;
+    }
+
+    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
@@ -480,7 +702,6 @@ if (scalar(keys %unitsToReload) > 0) {
     print STDERR "reloading the following units: ", join(", ", sort(keys %unitsToReload)), "\n";
     system("@systemd@/bin/systemctl", "reload", "--", sort(keys %unitsToReload)) == 0 or $res = 4;
     unlink($reloadListFile);
-    unlink($reloadByActivationFile);
 }
 
 # Restart changed services (those that have to be restarted rather
@@ -489,7 +710,6 @@ if (scalar(keys %unitsToRestart) > 0) {
     print STDERR "restarting the following units: ", join(", ", sort(keys %unitsToRestart)), "\n";
     system("@systemd@/bin/systemctl", "restart", "--", sort(keys %unitsToRestart)) == 0 or $res = 4;
     unlink($restartListFile);
-    unlink($restartByActivationFile);
 }
 
 # Start all active targets, as well as changed units we stopped above.
@@ -498,6 +718,7 @@ if (scalar(keys %unitsToRestart) > 0) {
 # that are symlinks to other units.  We shouldn't start both at the
 # same time because we'll get a "Failed to add path to set" error from
 # systemd.
+my @unitsToStartFiltered = filterUnits(\%unitsToStart);
 print STDERR "starting the following units: ", join(", ", @unitsToStartFiltered), "\n"
     if scalar @unitsToStartFiltered;
 system("@systemd@/bin/systemctl", "start", "--", sort(keys %unitsToStart)) == 0 or $res = 4;
@@ -510,33 +731,36 @@ my $activeNew = getActiveUnits;
 while (my ($unit, $state) = each %{$activeNew}) {
     if ($state->{state} eq "failed") {
         push @failed, $unit;
+        next;
     }
-    elsif ($state->{state} eq "auto-restart") {
-        # A unit in auto-restart state is a failure *if* it previously failed to start
-        my $lines = `@systemd@/bin/systemctl show '$unit'`;
-        my $info = {};
-        parseKeyValues($info, split("\n", $lines));
 
-        if ($info->{ExecMainStatus} ne '0') {
+    if ($state->{substate} eq "auto-restart") {
+        # A unit in auto-restart substate is a failure *if* it previously failed to start
+        my $main_status = `@systemd@/bin/systemctl show --value --property=ExecMainStatus '$unit'`;
+        chomp($main_status);
+
+        if ($main_status ne "0") {
             push @failed, $unit;
+            next;
         }
     }
+
     # Ignore scopes since they are not managed by this script but rather
     # created and managed by third-party services via the systemd dbus API.
-    elsif ($state->{state} ne "failed" && !defined $activePrev->{$unit} && $unit !~ /\.scope$/) {
+    # This only lists units that are not failed (including ones that are in auto-restart but have not failed previously)
+    if ($state->{state} ne "failed" && !defined $activePrev->{$unit} && $unit !~ /\.scope$/msx) {
         push @new, $unit;
     }
 }
 
-print STDERR "the following new units were started: ", join(", ", sort(@new)), "\n"
-    if scalar @new > 0;
+if (scalar @new > 0) {
+    print STDERR "the following new units were started: ", join(", ", sort(@new)), "\n"
+}
 
 if (scalar @failed > 0) {
-    print STDERR "warning: the following units failed: ", join(", ", sort(@failed)), "\n";
-    foreach my $unit (@failed) {
-        print STDERR "\n";
-        system("COLUMNS=1000 @systemd@/bin/systemctl status --no-pager '$unit' >&2");
-    }
+    my @failed_sorted = sort @failed;
+    print STDERR "warning: the following units failed: ", join(", ", @failed_sorted), "\n\n";
+    system "@systemd@/bin/systemctl status --no-pager --full '" . join("' '", @failed_sorted) . "' >&2";
     $res = 4;
 }
 
diff --git a/nixpkgs/nixos/modules/system/activation/top-level.nix b/nixpkgs/nixos/modules/system/activation/top-level.nix
index 501998fa399e..b8aeee8c11b3 100644
--- a/nixpkgs/nixos/modules/system/activation/top-level.nix
+++ b/nixpkgs/nixos/modules/system/activation/top-level.nix
@@ -55,8 +55,8 @@ let
       substituteInPlace $out/dry-activate --subst-var out
       chmod u+x $out/activate $out/dry-activate
       unset activationScript dryActivationScript
-      ${pkgs.stdenv.shell} -n $out/activate
-      ${pkgs.stdenv.shell} -n $out/dry-activate
+      ${pkgs.stdenv.shellDryRun} $out/activate
+      ${pkgs.stdenv.shellDryRun} $out/dry-activate
 
       cp ${config.system.build.bootStage2} $out/init
       substituteInPlace $out/init --subst-var-by systemConfig $out
@@ -109,9 +109,7 @@ let
     utillinux = pkgs.util-linux;
 
     kernelParams = config.boot.kernelParams;
-    installBootLoader =
-      config.system.build.installBootLoader
-      or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
+    installBootLoader = config.system.build.installBootLoader;
     activationScript = config.system.activationScripts.script;
     dryActivationScript = config.system.dryActivationScript;
     nixosLabel = config.system.nixos.label;
@@ -119,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 ]);
+    perl = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp NetDBus ]);
   };
 
   # Handle assertions and warnings
@@ -135,28 +133,30 @@ let
       pkgs.replaceDependency { inherit oldDependency newDependency drv; }
     ) baseSystemAssertWarn config.system.replaceRuntimeDependencies;
 
+  /* Workaround until https://github.com/NixOS/nixpkgs/pull/156533
+     Call can be replaced by argument when that's merged.
+  */
+  tmpFixupSubmoduleBoundary = subopts:
+    lib.mkOption {
+      type = lib.types.submoduleWith {
+        modules = [ { options = subopts; } ];
+      };
+    };
+
 in
 
 {
   imports = [
+    ../build.nix
     (mkRemovedOptionModule [ "nesting" "clone" ] "Use `specialisation.«name» = { inheritParentConfig = true; configuration = { ... }; }` instead.")
     (mkRemovedOptionModule [ "nesting" "children" ] "Use `specialisation.«name».configuration = { ... }` instead.")
   ];
 
   options = {
 
-    system.build = mkOption {
-      internal = true;
-      default = {};
-      type = types.attrs;
-      description = ''
-        Attribute set of derivations used to setup the system.
-      '';
-    };
-
     specialisation = mkOption {
       default = {};
-      example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.buildCores = 0; nix.maxJobs = 1; }; }";
+      example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.settings = { core = 0; max-jobs = 1; }; }";
       description = ''
         Additional configurations to build. If
         <literal>inheritParentConfig</literal> is true, the system
@@ -224,6 +224,39 @@ in
       '';
     };
 
+    system.build = tmpFixupSubmoduleBoundary {
+      installBootLoader = mkOption {
+        internal = true;
+        # "; true" => make the `$out` argument from switch-to-configuration.pl
+        #             go to `true` instead of `echo`, hiding the useless path
+        #             from the log.
+        default = "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
+        description = ''
+          A program that writes a bootloader installation script to the path passed in the first command line argument.
+
+          See <literal>nixos/modules/system/activation/switch-to-configuration.pl</literal>.
+        '';
+        type = types.unique {
+          message = ''
+            Only one bootloader can be enabled at a time. This requirement has not
+            been checked until NixOS 22.05. Earlier versions defaulted to the last
+            definition. Change your configuration to enable only one bootloader.
+          '';
+        } (types.either types.str types.package);
+      };
+
+      toplevel = mkOption {
+        type = types.package;
+        readOnly = true;
+        description = ''
+          This option contains the store path that typically represents a NixOS system.
+
+          You can read this path in a custom deployment tool for example.
+        '';
+      };
+    };
+
+
     system.copySystemConfiguration = mkOption {
       type = types.bool;
       default = false;
@@ -317,4 +350,6 @@ in
 
   };
 
+  # uses extendModules to generate a type
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/system/boot/binfmt.nix b/nixpkgs/nixos/modules/system/boot/binfmt.nix
index fdb4d0e4c7fb..33748358e45b 100644
--- a/nixpkgs/nixos/modules/system/boot/binfmt.nix
+++ b/nixpkgs/nixos/modules/system/boot/binfmt.nix
@@ -20,16 +20,20 @@ let
                  optionalString fixBinary "F";
   in ":${name}:${type}:${offset'}:${magicOrExtension}:${mask'}:${interpreter}:${flags}";
 
-  activationSnippet = name: { interpreter, ... }: ''
+  activationSnippet = name: { interpreter, wrapInterpreterInShell, ... }: if wrapInterpreterInShell then ''
     rm -f /run/binfmt/${name}
     cat > /run/binfmt/${name} << 'EOF'
     #!${pkgs.bash}/bin/sh
     exec -- ${interpreter} "$@"
     EOF
     chmod +x /run/binfmt/${name}
+  '' else ''
+    rm -f /run/binfmt/${name}
+    ln -s ${interpreter} /run/binfmt/${name}
   '';
 
   getEmulator = system: (lib.systems.elaborate { inherit system; }).emulator pkgs;
+  getQemuArch = system: (lib.systems.elaborate { inherit system; }).qemuArch;
 
   # Mapping of systems to “magicOrExtension” and “mask”. Mostly taken from:
   # - https://github.com/cleverca22/nixos-configs/blob/master/qemu.nix
@@ -238,6 +242,25 @@ in {
               '';
               type = types.bool;
             };
+
+            wrapInterpreterInShell = mkOption {
+              default = true;
+              description = ''
+                Whether to wrap the interpreter in a shell script.
+
+                This allows a shell command to be set as the interpreter.
+              '';
+              type = types.bool;
+            };
+
+            interpreterSandboxPath = mkOption {
+              internal = true;
+              default = null;
+              description = ''
+                Path of the interpreter to expose in the build sandbox.
+              '';
+              type = types.nullOr types.path;
+            };
           };
         }));
       };
@@ -258,16 +281,34 @@ in {
   config = {
     boot.binfmt.registrations = builtins.listToAttrs (map (system: {
       name = system;
-      value = {
+      value = let
         interpreter = getEmulator system;
+        qemuArch = getQemuArch system;
+
+        preserveArgvZero = "qemu-${qemuArch}" == baseNameOf interpreter;
+        interpreterReg = let
+          wrapperName = "qemu-${qemuArch}-binfmt-P";
+          wrapper = pkgs.wrapQemuBinfmtP wrapperName interpreter;
+        in
+          if preserveArgvZero then "${wrapper}/bin/${wrapperName}"
+          else interpreter;
+      in {
+        inherit preserveArgvZero;
+
+        interpreter = interpreterReg;
+        wrapInterpreterInShell = !preserveArgvZero;
+        interpreterSandboxPath = dirOf (dirOf interpreterReg);
       } // (magics.${system} or (throw "Cannot create binfmt registration for system ${system}"));
     }) cfg.emulatedSystems);
-    # TODO: add a nix.extraPlatforms option to NixOS!
-    nix.extraOptions = lib.mkIf (cfg.emulatedSystems != []) ''
-      extra-platforms = ${toString (cfg.emulatedSystems ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux")}
-    '';
-    nix.sandboxPaths = lib.mkIf (cfg.emulatedSystems != [])
-      ([ "/run/binfmt" "${pkgs.bash}" ] ++ (map (system: dirOf (dirOf (getEmulator system))) cfg.emulatedSystems));
+    nix.settings = lib.mkIf (cfg.emulatedSystems != []) {
+      extra-platforms = cfg.emulatedSystems ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux";
+      extra-sandbox-paths = let
+        ruleFor = system: cfg.registrations.${system};
+        hasWrappedRule = lib.any (system: (ruleFor system).wrapInterpreterInShell) cfg.emulatedSystems;
+      in [ "/run/binfmt" ]
+        ++ lib.optional hasWrappedRule "${pkgs.bash}"
+        ++ (map (system: (ruleFor system).interpreterSandboxPath) cfg.emulatedSystems);
+    };
 
     environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf"
       (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations));
diff --git a/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix b/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix
index bd508bbe8eaa..545b594674f3 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix
+++ b/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix
@@ -30,6 +30,21 @@ in
         '';
       };
 
+      useGenerationDeviceTree = mkOption {
+        default = true;
+        type = types.bool;
+        description = ''
+          Whether to generate Device Tree-related directives in the
+          extlinux configuration.
+
+          When enabled, the bootloader will attempt to load the device
+          tree binaries from the generation's kernel.
+
+          Note that this affects all generations, regardless of the
+          setting value used in their configurations.
+        '';
+      };
+
       configurationLimit = mkOption {
         default = 20;
         example = 10;
@@ -54,7 +69,9 @@ in
   };
 
   config = let
-    builderArgs = "-g ${toString cfg.configurationLimit} -t ${timeoutStr}" + lib.optionalString (dtCfg.name != null) " -n ${dtCfg.name}";
+    builderArgs = "-g ${toString cfg.configurationLimit} -t ${timeoutStr}"
+      + lib.optionalString (dtCfg.name != null) " -n ${dtCfg.name}"
+      + lib.optionalString (!cfg.useGenerationDeviceTree) " -r";
   in
     mkIf cfg.enable {
       system.build.installBootLoader = "${builder} ${builderArgs} -c";
diff --git a/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh b/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh
index 5ffffb95edb1..1a0da0050291 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh
+++ b/nixpkgs/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh
@@ -6,7 +6,7 @@ export PATH=/empty
 for i in @path@; do PATH=$PATH:$i/bin; done
 
 usage() {
-    echo "usage: $0 -t <timeout> -c <path-to-default-configuration> [-d <boot-dir>] [-g <num-generations>] [-n <dtbName>]" >&2
+    echo "usage: $0 -t <timeout> -c <path-to-default-configuration> [-d <boot-dir>] [-g <num-generations>] [-n <dtbName>] [-r]" >&2
     exit 1
 }
 
@@ -15,7 +15,7 @@ default=                # Default configuration
 target=/boot            # Target directory
 numGenerations=0        # Number of other generations to include in the menu
 
-while getopts "t:c:d:g:n:" opt; do
+while getopts "t:c:d:g:n:r" opt; do
     case "$opt" in
         t) # U-Boot interprets '0' as infinite and negative as instant boot
             if [ "$OPTARG" -lt 0 ]; then
@@ -30,6 +30,7 @@ while getopts "t:c:d:g:n:" opt; do
         d) target="$OPTARG" ;;
         g) numGenerations="$OPTARG" ;;
         n) dtbName="$OPTARG" ;;
+        r) noDeviceTree=1 ;;
         \?) usage ;;
     esac
 done
@@ -96,6 +97,12 @@ addEntry() {
     fi
     echo "  LINUX ../nixos/$(basename $kernel)"
     echo "  INITRD ../nixos/$(basename $initrd)"
+    echo "  APPEND init=$path/init $extraParams"
+
+    if [ -n "$noDeviceTree" ]; then
+        return
+    fi
+
     if [ -d "$dtbDir" ]; then
         # if a dtbName was specified explicitly, use that, else use FDTDIR
         if [ -n "$dtbName" ]; then
@@ -109,7 +116,6 @@ addEntry() {
             exit 1
         fi
     fi
-    echo "  APPEND init=$path/init $extraParams"
 }
 
 tmpFile="$target/extlinux/extlinux.conf.tmp.$$"
diff --git a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index e9697b5f0e64..adc893063098 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -45,16 +45,6 @@ initrd {initrd}
 options {kernel_params}
 """
 
-# The boot loader entry for memtest86.
-#
-# TODO: This is hard-coded to use the 64-bit EFI app, but it could probably
-# be updated to use the 32-bit EFI app on 32-bit systems.  The 32-bit EFI
-# app filename is BOOTIA32.efi.
-MEMTEST_BOOT_ENTRY = """title MemTest86
-efi /efi/memtest86/BOOTX64.efi
-"""
-
-
 def generation_conf_filename(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
     pieces = [
         "nixos",
@@ -281,25 +271,26 @@ def main() -> None:
             if os.readlink(system_dir(*gen)) == args.default_config:
                 write_loader_conf(*gen)
         except OSError as e:
-            print("ignoring profile '{}' in the list of boot entries because of the following error:\n{}".format(profile, e), file=sys.stderr)
-
-    memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf"
-    if os.path.exists(memtest_entry_file):
-        os.unlink(memtest_entry_file)
-    shutil.rmtree("@efiSysMountPoint@/efi/memtest86", ignore_errors=True)
-    if "@memtest86@" != "":
-        mkdir_p("@efiSysMountPoint@/efi/memtest86")
-        for path in glob.iglob("@memtest86@/*"):
-            if os.path.isdir(path):
-                shutil.copytree(path, os.path.join("@efiSysMountPoint@/efi/memtest86", os.path.basename(path)))
-            else:
-                shutil.copy(path, "@efiSysMountPoint@/efi/memtest86/")
+            print("ignoring generation '{}' in the list of boot entries because of the following error:\n{}".format(*gen, e), file=sys.stderr)
+
+    for root, _, files in os.walk('@efiSysMountPoint@/efi/nixos/.extra-files', topdown=False):
+        relative_root = root.removeprefix("@efiSysMountPoint@/efi/nixos/.extra-files").removeprefix("/")
+        actual_root = os.path.join("@efiSysMountPoint@", relative_root)
+
+        for file in files:
+            actual_file = os.path.join(actual_root, file)
+
+            if os.path.exists(actual_file):
+                os.unlink(actual_file)
+            os.unlink(os.path.join(root, file))
+
+        if not len(os.listdir(actual_root)):
+            os.rmdir(actual_root)
+        os.rmdir(root)
+
+    mkdir_p("@efiSysMountPoint@/efi/nixos/.extra-files")
 
-        memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf"
-        memtest_entry_file_tmp_path = "%s.tmp" % memtest_entry_file
-        with open(memtest_entry_file_tmp_path, 'w') as f:
-            f.write(MEMTEST_BOOT_ENTRY)
-        os.rename(memtest_entry_file_tmp_path, memtest_entry_file)
+    subprocess.check_call("@copyExtraFiles@")
 
     # Since fat32 provides little recovery facilities after a crash,
     # it can leave the system in an unbootable state, when a crash/outage
diff --git a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index 0f76d7d6b24a..c07567ec82ea 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -29,6 +29,22 @@ let
     inherit (efi) efiSysMountPoint canTouchEfiVariables;
 
     memtest86 = if cfg.memtest86.enable then pkgs.memtest86-efi else "";
+
+    netbootxyz = if cfg.netbootxyz.enable then pkgs.netbootxyz-efi else "";
+
+    copyExtraFiles = pkgs.writeShellScript "copy-extra-files" ''
+      empty_file=$(mktemp)
+
+      ${concatStrings (mapAttrsToList (n: v: ''
+        ${pkgs.coreutils}/bin/install -Dp "${v}" "${efi.efiSysMountPoint}/"${escapeShellArg n}
+        ${pkgs.coreutils}/bin/install -D $empty_file "${efi.efiSysMountPoint}/efi/nixos/.extra-files/"${escapeShellArg n}
+      '') cfg.extraFiles)}
+
+      ${concatStrings (mapAttrsToList (n: v: ''
+        ${pkgs.coreutils}/bin/install -Dp "${pkgs.writeText n v}" "${efi.efiSysMountPoint}/loader/entries/"${escapeShellArg n}
+        ${pkgs.coreutils}/bin/install -D $empty_file "${efi.efiSysMountPoint}/efi/nixos/.extra-files/loader/entries/"${escapeShellArg n}
+      '') cfg.extraEntries)}
+    '';
   };
 
   checkedSystemdBootBuilder = pkgs.runCommand "systemd-boot" {
@@ -125,6 +141,74 @@ in {
           <literal>true</literal>.
         '';
       };
+
+      entryFilename = mkOption {
+        default = "memtest86.conf";
+        type = types.str;
+        description = ''
+          <literal>systemd-boot</literal> orders the menu entries by the config file names,
+          so if you want something to appear after all the NixOS entries,
+          it should start with <filename>o</filename> or onwards.
+        '';
+      };
+    };
+
+    netbootxyz = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Make <literal>netboot.xyz</literal> available from the
+          <literal>systemd-boot</literal> menu. <literal>netboot.xyz</literal>
+          is a menu system that allows you to boot OS installers and
+          utilities over the network.
+        '';
+      };
+
+      entryFilename = mkOption {
+        default = "o_netbootxyz.conf";
+        type = types.str;
+        description = ''
+          <literal>systemd-boot</literal> orders the menu entries by the config file names,
+          so if you want something to appear after all the NixOS entries,
+          it should start with <filename>o</filename> or onwards.
+        '';
+      };
+    };
+
+    extraEntries = mkOption {
+      type = types.attrsOf types.lines;
+      default = {};
+      example = literalExpression ''
+        { "memtest86.conf" = '''
+          title MemTest86
+          efi /efi/memtest86/memtest86.efi
+        '''; }
+      '';
+      description = ''
+        Any additional entries you want added to the <literal>systemd-boot</literal> menu.
+        These entries will be copied to <filename>/boot/loader/entries</filename>.
+        Each attribute name denotes the destination file name,
+        and the corresponding attribute value is the contents of the entry.
+
+        <literal>systemd-boot</literal> orders the menu entries by the config file names,
+        so if you want something to appear after all the NixOS entries,
+        it should start with <filename>o</filename> or onwards.
+      '';
+    };
+
+    extraFiles = mkOption {
+      type = types.attrsOf types.path;
+      default = {};
+      example = literalExpression ''
+        { "efi/memtest86/memtest86.efi" = "''${pkgs.memtest86-efi}/BOOTX64.efi"; }
+      '';
+      description = ''
+        A set of files to be copied to <filename>/boot</filename>.
+        Each attribute name denotes the destination file name in
+        <filename>/boot</filename>, while the corresponding
+        attribute value specifies the source file.
+      '';
     };
 
     graceful = mkOption {
@@ -148,15 +232,64 @@ in {
     assertions = [
       {
         assertion = (config.boot.kernelPackages.kernel.features or { efiBootStub = true; }) ? efiBootStub;
-
         message = "This kernel does not support the EFI boot stub";
       }
-    ];
+    ] ++ concatMap (filename: [
+      {
+        assertion = !(hasInfix "/" filename);
+        message = "boot.loader.systemd-boot.extraEntries.${lib.strings.escapeNixIdentifier filename} is invalid: entries within folders are not supported";
+      }
+      {
+        assertion = hasSuffix ".conf" filename;
+        message = "boot.loader.systemd-boot.extraEntries.${lib.strings.escapeNixIdentifier filename} is invalid: entries must have a .conf file extension";
+      }
+    ]) (builtins.attrNames cfg.extraEntries)
+      ++ concatMap (filename: [
+        {
+          assertion = !(hasPrefix "/" filename);
+          message = "boot.loader.systemd-boot.extraFiles.${lib.strings.escapeNixIdentifier filename} is invalid: paths must not begin with a slash";
+        }
+        {
+          assertion = !(hasInfix ".." filename);
+          message = "boot.loader.systemd-boot.extraFiles.${lib.strings.escapeNixIdentifier filename} is invalid: paths must not reference the parent directory";
+        }
+        {
+          assertion = !(hasInfix "nixos/.extra-files" (toLower filename));
+          message = "boot.loader.systemd-boot.extraFiles.${lib.strings.escapeNixIdentifier filename} is invalid: files cannot be placed in the nixos/.extra-files directory";
+        }
+      ]) (builtins.attrNames cfg.extraFiles);
 
     boot.loader.grub.enable = mkDefault false;
 
     boot.loader.supportsInitrdSecrets = true;
 
+    boot.loader.systemd-boot.extraFiles = mkMerge [
+      # TODO: This is hard-coded to use the 64-bit EFI app, but it could probably
+      # be updated to use the 32-bit EFI app on 32-bit systems.  The 32-bit EFI
+      # app filename is BOOTIA32.efi.
+      (mkIf cfg.memtest86.enable {
+        "efi/memtest86/BOOTX64.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
+      })
+      (mkIf cfg.netbootxyz.enable {
+        "efi/netbootxyz/netboot.xyz.efi" = "${pkgs.netbootxyz-efi}";
+      })
+    ];
+
+    boot.loader.systemd-boot.extraEntries = mkMerge [
+      (mkIf cfg.memtest86.enable {
+        "${cfg.memtest86.entryFilename}" = ''
+          title  MemTest86
+          efi    /efi/memtest86/BOOTX64.efi
+        '';
+      })
+      (mkIf cfg.netbootxyz.enable {
+        "${cfg.netbootxyz.entryFilename}" = ''
+          title  netboot.xyz
+          efi    /efi/netbootxyz/netboot.xyz.efi
+        '';
+      })
+    ];
+
     system = {
       build.installBootLoader = checkedSystemdBootBuilder;
 
diff --git a/nixpkgs/nixos/modules/system/boot/modprobe.nix b/nixpkgs/nixos/modules/system/boot/modprobe.nix
index c75f32c4d99a..7426d148891f 100644
--- a/nixpkgs/nixos/modules/system/boot/modprobe.nix
+++ b/nixpkgs/nixos/modules/system/boot/modprobe.nix
@@ -34,6 +34,23 @@ with lib;
       type = types.lines;
     };
 
+    boot.initrd.extraModprobeConfig = mkOption {
+      default = "";
+      example =
+        ''
+          options zfs zfs_arc_max=1073741824
+        '';
+      description = ''
+        Does exactly the same thing as
+        <option>boot.extraModprobeConfig</option>, except
+        that the generated <filename>modprobe.conf</filename>
+        file is also included in the initrd.
+        This is useful for setting module options for kernel
+        modules that are loaded during early boot in the initrd.
+      '';
+      type = types.lines;
+    };
+
   };
 
 
@@ -50,6 +67,9 @@ with lib;
         '')}
         ${config.boot.extraModprobeConfig}
       '';
+    environment.etc."modprobe.d/nixos-initrd.conf".text = ''
+        ${config.boot.initrd.extraModprobeConfig}
+      '';
     environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
 
     environment.systemPackages = [ pkgs.kmod ];
diff --git a/nixpkgs/nixos/modules/system/boot/networkd.nix b/nixpkgs/nixos/modules/system/boot/networkd.nix
index 1145831ee2ea..ac1e4ef34b46 100644
--- a/nixpkgs/nixos/modules/system/boot/networkd.nix
+++ b/nixpkgs/nixos/modules/system/boot/networkd.nix
@@ -513,7 +513,7 @@ let
         (assertValueOneOf "EmitLLDP" (boolValues ++ ["nearest-bridge" "non-tpmr-bridge" "customer-bridge"]))
         (assertValueOneOf "DNSDefaultRoute" boolValues)
         (assertValueOneOf "IPForward" (boolValues ++ ["ipv4" "ipv6"]))
-        (assertValueOneOf "IPMasquerade" boolValues)
+        (assertValueOneOf "IPMasquerade" (boolValues ++ ["ipv4" "ipv6" "both"]))
         (assertValueOneOf "IPv6PrivacyExtensions" (boolValues ++ ["prefer-public" "kernel"]))
         (assertValueOneOf "IPv6AcceptRA" boolValues)
         (assertInt "IPv6DuplicateAddressDetection")
diff --git a/nixpkgs/nixos/modules/system/boot/stage-1-init.sh b/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
index 98409ed6ae52..8fcc1f029723 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
@@ -81,30 +81,35 @@ ln -s /proc/mounts /etc/mtab # to shut up mke2fs
 touch /etc/udev/hwdb.bin # to shut up udev
 touch /etc/initrd-release
 
-# Function for waiting a device to appear.
+# Function for waiting for device(s) to appear.
 waitDevice() {
     local device="$1"
+    # Split device string using ':' as a delimiter as bcachefs
+    # uses this for multi-device filesystems, i.e. /dev/sda1:/dev/sda2:/dev/sda3
+    local IFS=':'
 
     # USB storage devices tend to appear with some delay.  It would be
     # great if we had a way to synchronously wait for them, but
     # alas...  So just wait for a few seconds for the device to
     # appear.
-    if test ! -e $device; then
-        echo -n "waiting for device $device to appear..."
-        try=20
-        while [ $try -gt 0 ]; do
-            sleep 1
-            # also re-try lvm activation now that new block devices might have appeared
-            lvm vgchange -ay
-            # and tell udev to create nodes for the new LVs
-            udevadm trigger --action=add
-            if test -e $device; then break; fi
-            echo -n "."
-            try=$((try - 1))
-        done
-        echo
-        [ $try -ne 0 ]
-    fi
+    for dev in $device; do
+        if test ! -e $dev; then
+            echo -n "waiting for device $dev to appear..."
+            try=20
+            while [ $try -gt 0 ]; do
+                sleep 1
+                # also re-try lvm activation now that new block devices might have appeared
+                lvm vgchange -ay
+                # and tell udev to create nodes for the new LVs
+                udevadm trigger --action=add
+                if test -e $dev; then break; fi
+                echo -n "."
+                try=$((try - 1))
+            done
+            echo
+            [ $try -ne 0 ]
+        fi
+    done
 }
 
 # Mount special file systems.
@@ -277,6 +282,9 @@ checkFS() {
     # Don't check resilient COWs as they validate the fs structures at mount time
     if [ "$fsType" = btrfs -o "$fsType" = zfs -o "$fsType" = bcachefs ]; then return 0; fi
 
+    # Skip fsck for apfs as the fsck utility does not support repairing the filesystem (no -a option)
+    if [ "$fsType" = apfs ]; then return 0; fi
+
     # Skip fsck for nilfs2 - not needed by design and no fsck tool for this filesystem.
     if [ "$fsType" = nilfs2 ]; then return 0; fi
 
diff --git a/nixpkgs/nixos/modules/system/boot/stage-1.nix b/nixpkgs/nixos/modules/system/boot/stage-1.nix
index 409424a5b0f6..1575c0257d1c 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-1.nix
+++ b/nixpkgs/nixos/modules/system/boot/stage-1.nix
@@ -338,6 +338,9 @@ let
         { object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf;
           symlink = "/etc/mdadm.conf";
         }
+        { object = config.environment.etc."modprobe.d/nixos-initrd.conf".source;
+          symlink = "/etc/modprobe.d/nixos-initrd.conf";
+        }
         { object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" {
               src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf";
               preferLocalBuild = true;
@@ -347,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";
         }
@@ -633,7 +639,7 @@ in
 
           <itemizedlist>
             <listitem><para><literal>boot.consoleLogLevel = 0;</literal></para></listitem>
-            <listitem><para><literal>boot.kernelParams = [ "quiet" "udev.log_priority=3" ];</literal></para></listitem>
+            <listitem><para><literal>boot.kernelParams = [ "quiet" "udev.log_level=3" ];</literal></para></listitem>
           </itemizedlist>
         '';
     };
diff --git a/nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix b/nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix
index 02d2660add89..0c6822319a5b 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd-nspawn.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/system/boot/systemd.nix b/nixpkgs/nixos/modules/system/boot/systemd.nix
index f5769b295abc..04c310f07c59 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd.nix
+++ b/nixpkgs/nixos/modules/system/boot/systemd.nix
@@ -25,9 +25,11 @@ let
       "nss-lookup.target"
       "nss-user-lookup.target"
       "time-sync.target"
+    ] ++ (optionals cfg.package.withCryptsetup [
       "cryptsetup.target"
       "cryptsetup-pre.target"
       "remote-cryptsetup.target"
+    ]) ++ [
       "sigpwr.target"
       "timers.target"
       "paths.target"
@@ -210,20 +212,14 @@ let
   makeJobScript = name: text:
     let
       scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
-      out = pkgs.writeTextFile {
+      out = (pkgs.writeShellScriptBin scriptName ''
+        set -e
+        ${text}
+      '').overrideAttrs (_: {
         # The derivation name is different from the script file name
         # to keep the script file name short to avoid cluttering logs.
         name = "unit-script-${scriptName}";
-        executable = true;
-        destination = "/bin/${scriptName}";
-        text = ''
-          #!${pkgs.runtimeShell} -e
-          ${text}
-        '';
-        checkPhase = ''
-          ${pkgs.stdenv.shell} -n "$out/bin/${scriptName}"
-        '';
-      };
+      });
     in "${out}/bin/${scriptName}";
 
   unitConfig = { config, options, ... }: {
@@ -247,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 != []) {
@@ -921,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
diff --git a/nixpkgs/nixos/modules/system/boot/tmp.nix b/nixpkgs/nixos/modules/system/boot/tmp.nix
index 6edafd6695b6..cf6d19eb5f0e 100644
--- a/nixpkgs/nixos/modules/system/boot/tmp.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/system/build.nix b/nixpkgs/nixos/modules/system/build.nix
new file mode 100644
index 000000000000..58dc3f0d4113
--- /dev/null
+++ b/nixpkgs/nixos/modules/system/build.nix
@@ -0,0 +1,21 @@
+{ lib, ... }:
+let
+  inherit (lib) mkOption types;
+in
+{
+  options = {
+
+    system.build = mkOption {
+      default = {};
+      description = ''
+        Attribute set of derivations used to set up the system.
+      '';
+      type = types.submoduleWith {
+        modules = [{
+          freeformType = with types; lazyAttrsOf (uniq unspecified);
+        }];
+      };
+    };
+
+  };
+}
diff --git a/nixpkgs/nixos/modules/system/etc/etc-activation.nix b/nixpkgs/nixos/modules/system/etc/etc-activation.nix
new file mode 100644
index 000000000000..780104950186
--- /dev/null
+++ b/nixpkgs/nixos/modules/system/etc/etc-activation.nix
@@ -0,0 +1,12 @@
+{ config, lib, ... }:
+let
+  inherit (lib) stringAfter;
+in {
+
+  imports = [ ./etc.nix ];
+
+  config = {
+    system.activationScripts.etc =
+      stringAfter [ "users" "groups" ] config.system.build.etcActivationCommands;
+  };
+}
diff --git a/nixpkgs/nixos/modules/system/etc/etc.nix b/nixpkgs/nixos/modules/system/etc/etc.nix
index 6cc8c341e6df..ed552fecec53 100644
--- a/nixpkgs/nixos/modules/system/etc/etc.nix
+++ b/nixpkgs/nixos/modules/system/etc/etc.nix
@@ -66,6 +66,8 @@ in
 
 {
 
+  imports = [ ../build.nix ];
+
   ###### interface
 
   options = {
@@ -188,14 +190,12 @@ in
   config = {
 
     system.build.etc = etc;
-
-    system.activationScripts.etc = stringAfter [ "users" "groups" ]
+    system.build.etcActivationCommands =
       ''
         # Set up the statically computed bits of /etc.
         echo "setting up /etc..."
         ${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl ${./setup-etc.pl} ${etc}/etc
       '';
-
   };
 
 }
diff --git a/nixpkgs/nixos/modules/system/etc/test.nix b/nixpkgs/nixos/modules/system/etc/test.nix
new file mode 100644
index 000000000000..5e43b155038d
--- /dev/null
+++ b/nixpkgs/nixos/modules/system/etc/test.nix
@@ -0,0 +1,70 @@
+{ lib
+, coreutils
+, fakechroot
+, fakeroot
+, evalMinimalConfig
+, pkgsModule
+, runCommand
+, util-linux
+, vmTools
+, writeText
+}:
+let
+  node = evalMinimalConfig ({ config, ... }: {
+    imports = [ pkgsModule ../etc/etc.nix ];
+    environment.etc."passwd" = {
+      text = passwdText;
+    };
+    environment.etc."hosts" = {
+      text = hostsText;
+      mode = "0751";
+    };
+  });
+  passwdText = ''
+    root:x:0:0:System administrator:/root:/run/current-system/sw/bin/bash
+  '';
+  hostsText = ''
+    127.0.0.1 localhost
+    ::1 localhost
+    # testing...
+  '';
+in
+lib.recurseIntoAttrs {
+  test-etc-vm =
+    vmTools.runInLinuxVM (runCommand "test-etc-vm" { } ''
+      mkdir -p /etc
+      ${node.config.system.build.etcActivationCommands}
+      set -x
+      [[ -L /etc/passwd ]]
+      diff /etc/passwd ${writeText "expected-passwd" passwdText}
+      [[ 751 = $(stat --format %a /etc/hosts) ]]
+      diff /etc/hosts ${writeText "expected-hosts" hostsText}
+      set +x
+      touch $out
+    '');
+
+  # fakeroot is behaving weird
+  test-etc-fakeroot =
+    runCommand "test-etc"
+      {
+        nativeBuildInputs = [
+          fakeroot
+          fakechroot
+          # for chroot
+          coreutils
+          # fakechroot needs getopt, which is provided by util-linux
+          util-linux
+        ];
+        fakeRootCommands = ''
+          mkdir -p /etc
+          ${node.config.system.build.etcActivationCommands}
+          diff /etc/hosts ${writeText "expected-hosts" hostsText}
+          touch $out
+        '';
+      } ''
+      mkdir fake-root
+      export FAKECHROOT_EXCLUDE_PATH=/dev:/proc:/sys:${builtins.storeDir}:$out
+      fakechroot fakeroot chroot $PWD/fake-root bash -c 'source $stdenv/setup; eval "$fakeRootCommands"'
+    '';
+
+}
diff --git a/nixpkgs/nixos/modules/tasks/filesystems.nix b/nixpkgs/nixos/modules/tasks/filesystems.nix
index 225bcbe58e01..f3da6771197e 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems.nix
@@ -250,7 +250,7 @@ in
 
     environment.etc.fstab.text =
       let
-        fsToSkipCheck = [ "none" "bindfs" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" "glusterfs" ];
+        fsToSkipCheck = [ "none" "bindfs" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" "glusterfs" "apfs" ];
         skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
         # https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
         escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
diff --git a/nixpkgs/nixos/modules/tasks/filesystems/apfs.nix b/nixpkgs/nixos/modules/tasks/filesystems/apfs.nix
new file mode 100644
index 000000000000..2f2be351df61
--- /dev/null
+++ b/nixpkgs/nixos/modules/tasks/filesystems/apfs.nix
@@ -0,0 +1,22 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  inInitrd = any (fs: fs == "apfs") config.boot.initrd.supportedFilesystems;
+
+in
+
+{
+  config = mkIf (any (fs: fs == "apfs") config.boot.supportedFilesystems) {
+
+    system.fsPackages = [ pkgs.apfsprogs ];
+
+    boot.extraModulePackages = [ config.boot.kernelPackages.apfs ];
+
+    boot.initrd.kernelModules = mkIf inInitrd [ "apfs" ];
+
+    # Don't copy apfsck into the initramfs since it does not support repairing the filesystem
+  };
+}
diff --git a/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix b/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
index 58239ca5452a..8a5e1b5af114 100644
--- a/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -12,6 +12,10 @@ let
     i.ipv4.addresses
     ++ optionals cfg.enableIPv6 i.ipv6.addresses;
 
+  interfaceRoutes = i:
+    i.ipv4.routes
+    ++ optionals cfg.enableIPv6 i.ipv6.routes;
+
   dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "yes" else "no";
 
   slaves =
@@ -88,12 +92,69 @@ in
             };
           };
         });
-        networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
+        networks."40-${i.name}" = mkMerge [ (genericNetwork id) {
           name = mkDefault i.name;
           DHCP = mkForce (dhcpStr
             (if i.useDHCP != null then i.useDHCP else false));
           address = forEach (interfaceIps i)
             (ip: "${ip.address}/${toString ip.prefixLength}");
+          routes = forEach (interfaceRoutes i)
+            (route: {
+              # Most of these route options have not been tested.
+              # Please fix or report any mistakes you may find.
+              routeConfig =
+                optionalAttrs (route.prefixLength > 0) {
+                  Destination = "${route.address}/${toString route.prefixLength}";
+                } //
+                optionalAttrs (route.options ? fastopen_no_cookie) {
+                  FastOpenNoCookie = route.options.fastopen_no_cookie;
+                } //
+                optionalAttrs (route.via != null) {
+                  Gateway = route.via;
+                } //
+                optionalAttrs (route.options ? onlink) {
+                  GatewayOnLink = true;
+                } //
+                optionalAttrs (route.options ? initrwnd) {
+                  InitialAdvertisedReceiveWindow = route.options.initrwnd;
+                } //
+                optionalAttrs (route.options ? initcwnd) {
+                  InitialCongestionWindow = route.options.initcwnd;
+                } //
+                optionalAttrs (route.options ? pref) {
+                  IPv6Preference = route.options.pref;
+                } //
+                optionalAttrs (route.options ? mtu) {
+                  MTUBytes = route.options.mtu;
+                } //
+                optionalAttrs (route.options ? metric) {
+                  Metric = route.options.metric;
+                } //
+                optionalAttrs (route.options ? src) {
+                  PreferredSource = route.options.src;
+                } //
+                optionalAttrs (route.options ? protocol) {
+                  Protocol = route.options.protocol;
+                } //
+                optionalAttrs (route.options ? quickack) {
+                  QuickAck = route.options.quickack;
+                } //
+                optionalAttrs (route.options ? scope) {
+                  Scope = route.options.scope;
+                } //
+                optionalAttrs (route.options ? from) {
+                  Source = route.options.from;
+                } //
+                optionalAttrs (route.options ? table) {
+                  Table = route.options.table;
+                } //
+                optionalAttrs (route.options ? advmss) {
+                  TCPAdvertisedMaximumSegmentSize = route.options.advmss;
+                } //
+                optionalAttrs (route.options ? ttl-propagate) {
+                  TTLPropagate = route.options.ttl-propagate == "enabled";
+                };
+            });
           networkConfig.IPv6PrivacyExtensions = "kernel";
           linkConfig = optionalAttrs (i.macAddress != null) {
             MACAddress = i.macAddress;
diff --git a/nixpkgs/nixos/modules/tasks/network-interfaces.nix b/nixpkgs/nixos/modules/tasks/network-interfaces.nix
index 854badb23f69..06117ab451d3 100644
--- a/nixpkgs/nixos/modules/tasks/network-interfaces.nix
+++ b/nixpkgs/nixos/modules/tasks/network-interfaces.nix
@@ -103,6 +103,11 @@ let
         description = ''
           Other route options. See the symbol <literal>OPTIONS</literal>
           in the <literal>ip-route(8)</literal> manual page for the details.
+          You may also specify <literal>metric</literal>,
+          <literal>src</literal>, <literal>protocol</literal>,
+          <literal>scope</literal>, <literal>from</literal>
+          and <literal>table</literal>, which are technically
+          not route options, in the sense used in the manual.
         '';
       };
 
@@ -208,6 +213,14 @@ let
         type = with types; listOf (submodule (routeOpts 4));
         description = ''
           List of extra IPv4 static routes that will be assigned to the interface.
+          <warning><para>If the route type is the default <literal>unicast</literal>, then the scope
+          is set differently depending on the value of <option>networking.useNetworkd</option>:
+          the script-based backend sets it to <literal>link</literal>, while networkd sets
+          it to <literal>global</literal>.</para></warning>
+          If you want consistency between the two implementations,
+          set the scope of the route manually with
+          <literal>networking.interfaces.eth0.ipv4.routes = [{ options.scope = "global"; }]</literal>
+          for example.
         '';
       };
 
@@ -292,7 +305,7 @@ let
         enable = mkOption {
           type = types.bool;
           default = false;
-          description = "Wether to enable wol on this interface.";
+          description = "Whether to enable wol on this interface.";
         };
       };
     };
@@ -1312,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/nixpkgs/nixos/modules/testing/test-instrumentation.nix b/nixpkgs/nixos/modules/testing/test-instrumentation.nix
index a7011be7e042..01447e6ada87 100644
--- a/nixpkgs/nixos/modules/testing/test-instrumentation.nix
+++ b/nixpkgs/nixos/modules/testing/test-instrumentation.nix
@@ -109,6 +109,10 @@ in
       # Allow very slow start
       DefaultTimeoutStartSec=300
     '';
+    systemd.user.extraConfig = ''
+      # Allow very slow start
+      DefaultTimeoutStartSec=300
+    '';
 
     boot.consoleLogLevel = 7;
 
diff --git a/nixpkgs/nixos/modules/virtualisation/amazon-image.nix b/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
index fe248a94488b..bd7077ff7ea1 100644
--- a/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/build-vm.nix b/nixpkgs/nixos/modules/virtualisation/build-vm.nix
new file mode 100644
index 000000000000..4a4694950f98
--- /dev/null
+++ b/nixpkgs/nixos/modules/virtualisation/build-vm.nix
@@ -0,0 +1,58 @@
+{ config, extendModules, lib, ... }:
+let
+
+  inherit (lib)
+    mkOption
+    ;
+
+  vmVariant = extendModules {
+    modules = [ ./qemu-vm.nix ];
+  };
+
+  vmVariantWithBootLoader = vmVariant.extendModules {
+    modules = [
+      ({ config, ... }: {
+        _file = "nixos/default.nix##vmWithBootLoader";
+        virtualisation.useBootLoader = true;
+        virtualisation.useEFIBoot =
+          config.boot.loader.systemd-boot.enable ||
+          config.boot.loader.efi.canTouchEfiVariables;
+      })
+    ];
+  };
+in
+{
+  options = {
+
+    virtualisation.vmVariant = mkOption {
+      description = ''
+        Machine configuration to be added for the vm script produced by <literal>nixos-rebuild build-vm</literal>.
+      '';
+      inherit (vmVariant) type;
+      default = {};
+      visible = "shallow";
+    };
+
+    virtualisation.vmVariantWithBootLoader = mkOption {
+      description = ''
+        Machine configuration to be added for the vm script produced by <literal>nixos-rebuild build-vm-with-bootloader</literal>.
+      '';
+      inherit (vmVariantWithBootLoader) type;
+      default = {};
+      visible = "shallow";
+    };
+
+  };
+
+  config = {
+
+    system.build = {
+      vm = lib.mkDefault config.virtualisation.vmVariant.system.build.vm;
+      vmWithBootLoader = lib.mkDefault config.virtualisation.vmVariantWithBootLoader.system.build.vm;
+    };
+
+  };
+
+  # uses extendModules
+  meta.buildDocsInSandbox = false;
+}
diff --git a/nixpkgs/nixos/modules/virtualisation/container-config.nix b/nixpkgs/nixos/modules/virtualisation/container-config.nix
index 6ff6bdd30c20..0966ef84827f 100644
--- a/nixpkgs/nixos/modules/virtualisation/container-config.nix
+++ b/nixpkgs/nixos/modules/virtualisation/container-config.nix
@@ -18,7 +18,7 @@ with lib;
     services.openssh.startWhenNeeded = mkDefault true;
 
     # Shut up warnings about not having a boot loader.
-    system.build.installBootLoader = "${pkgs.coreutils}/bin/true";
+    system.build.installBootLoader = lib.mkDefault "${pkgs.coreutils}/bin/true";
 
     # Not supported in systemd-nspawn containers.
     security.audit.enable = false;
diff --git a/nixpkgs/nixos/modules/virtualisation/containerd.nix b/nixpkgs/nixos/modules/virtualisation/containerd.nix
index 898a66e7b04e..ea89a994b172 100644
--- a/nixpkgs/nixos/modules/virtualisation/containerd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/docker-rootless.nix b/nixpkgs/nixos/modules/virtualisation/docker-rootless.nix
index 0e7f05031420..d371f67ecdc8 100644
--- a/nixpkgs/nixos/modules/virtualisation/docker-rootless.nix
+++ b/nixpkgs/nixos/modules/virtualisation/docker-rootless.nix
@@ -76,7 +76,11 @@ in
       # needs newuidmap from pkgs.shadow
       path = [ "/run/wrappers" ];
       environment = proxy_env;
-      unitConfig.StartLimitInterval = "60s";
+      unitConfig = {
+        # docker-rootless doesn't support running as root.
+        ConditionUser = "!root";
+        StartLimitInterval = "60s";
+      };
       serviceConfig = {
         Type = "notify";
         ExecStart = "${cfg.package}/bin/dockerd-rootless --config-file=${daemonSettingsFile}";
diff --git a/nixpkgs/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash b/nixpkgs/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash
deleted file mode 100644
index 4a8601961115..000000000000
--- a/nixpkgs/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-WGET() {
-    wget --retry-connrefused -t 15 --waitretry=10 --header='Metadata-Flavor: Google' "$@"
-}
-
-# When dealing with cryptographic keys, we want to keep things private.
-umask 077
-mkdir -p /root/.ssh
-
-echo "Fetching authorized keys..."
-WGET -O /tmp/auth_keys http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys
-
-# Read keys one by one, split in case Google decided
-# to append metadata (it does sometimes) and add to
-# authorized_keys if not already present.
-touch /root/.ssh/authorized_keys
-while IFS='' read -r line || [[ -n "$line" ]]; do
-    keyLine=$(echo -n "$line" | cut -d ':' -f2)
-    IFS=' ' read -r -a array <<<"$keyLine"
-    if [[ ${#array[@]} -ge 3 ]]; then
-        echo "${array[@]:0:3}" >>/tmp/new_keys
-        echo "Added ${array[*]:2} to authorized_keys"
-    fi
-done </tmp/auth_keys
-mv /tmp/new_keys /root/.ssh/authorized_keys
-chmod 600 /root/.ssh/authorized_keys
-
-echo "Fetching host keys..."
-WGET -O /tmp/ssh_host_ed25519_key http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key
-WGET -O /tmp/ssh_host_ed25519_key.pub http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key_pub
-mv -f /tmp/ssh_host_ed25519_key* /etc/ssh/
-chmod 600 /etc/ssh/ssh_host_ed25519_key
-chmod 644 /etc/ssh/ssh_host_ed25519_key.pub
diff --git a/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix b/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
index cff48d20b2b9..44d2a589511f 100644
--- a/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
+++ b/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
@@ -1,8 +1,5 @@
 { config, lib, pkgs, ... }:
 with lib;
-let
-  gce = pkgs.google-compute-engine;
-in
 {
   imports = [
     ../profiles/headless.nix
@@ -40,7 +37,8 @@ in
   security.googleOsLogin.enable = true;
 
   # Use GCE udev rules for dynamic disk volumes
-  services.udev.packages = [ gce ];
+  services.udev.packages = [ pkgs.google-guest-configs ];
+  services.udev.path = [ pkgs.google-guest-configs ];
 
   # Force getting the hostname from Google Compute.
   networking.hostName = mkDefault "";
@@ -48,12 +46,6 @@ in
   # Always include cryptsetup so that NixOps can use it.
   environment.systemPackages = [ pkgs.cryptsetup ];
 
-  # Make sure GCE image does not replace host key that NixOps sets
-  environment.etc."default/instance_configs.cfg".text = lib.mkDefault ''
-    [InstanceSetup]
-    set_host_keys = false
-  '';
-
   # Rely on GCP's firewall instead
   networking.firewall.enable = mkDefault false;
 
@@ -69,105 +61,42 @@ in
   # GC has 1460 MTU
   networking.interfaces.eth0.mtu = 1460;
 
-  # Used by NixOps
-  systemd.services.fetch-instance-ssh-keys = {
-    description = "Fetch host keys and authorized_keys for root user";
-
-    wantedBy = [ "sshd.service" ];
-    before = [ "sshd.service" ];
-    after = [ "network-online.target" ];
-    wants = [ "network-online.target" ];
-    path = [ pkgs.wget ];
-
-    serviceConfig = {
-      Type = "oneshot";
-      ExecStart = pkgs.runCommand "fetch-instance-ssh-keys" { } ''
-        cp ${./fetch-instance-ssh-keys.bash} $out
-        chmod +x $out
-        ${pkgs.shfmt}/bin/shfmt -i 4 -d $out
-        ${pkgs.shellcheck}/bin/shellcheck $out
-        patchShebangs $out
-      '';
-      PrivateTmp = true;
-      StandardError = "journal+console";
-      StandardOutput = "journal+console";
-    };
+  systemd.packages = [ pkgs.google-guest-agent ];
+  systemd.services.google-guest-agent = {
+    wantedBy = [ "multi-user.target" ];
+    restartTriggers = [ config.environment.etc."default/instance_configs.cfg".source ];
+    path = lib.optional config.users.mutableUsers pkgs.shadow;
   };
+  systemd.services.google-startup-scripts.wantedBy = [ "multi-user.target" ];
+  systemd.services.google-shutdown-scripts.wantedBy = [ "multi-user.target" ];
 
-  systemd.services.google-instance-setup = {
-    description = "Google Compute Engine Instance Setup";
-    after = [ "network-online.target" "network.target" "rsyslog.service" ];
-    before = [ "sshd.service" ];
-    path = with pkgs; [ coreutils ethtool openssh ];
-    serviceConfig = {
-      ExecStart = "${gce}/bin/google_instance_setup";
-      StandardOutput="journal+console";
-      Type = "oneshot";
-    };
-    wantedBy = [ "sshd.service" "multi-user.target" ];
-  };
+  security.sudo.extraRules = mkIf config.users.mutableUsers [
+    { groups = [ "google-sudoers" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ]; }
+  ];
 
-  systemd.services.google-network-daemon = {
-    description = "Google Compute Engine Network Daemon";
-    after = [ "network-online.target" "network.target" "google-instance-setup.service" ];
-    path = with pkgs; [ iproute2 ];
-    serviceConfig = {
-      ExecStart = "${gce}/bin/google_network_daemon";
-      StandardOutput="journal+console";
-      Type="simple";
-    };
-    wantedBy = [ "multi-user.target" ];
-  };
+  users.groups.google-sudoers = mkIf config.users.mutableUsers { };
 
-  systemd.services.google-clock-skew-daemon = {
-    description = "Google Compute Engine Clock Skew Daemon";
-    after = [ "network.target" "google-instance-setup.service" "google-network-daemon.service" ];
-    serviceConfig = {
-      ExecStart = "${gce}/bin/google_clock_skew_daemon";
-      StandardOutput="journal+console";
-      Type = "simple";
-    };
-    wantedBy = ["multi-user.target"];
-  };
+  boot.extraModprobeConfig = lib.readFile "${pkgs.google-guest-configs}/etc/modprobe.d/gce-blacklist.conf";
 
+  environment.etc."sysctl.d/60-gce-network-security.conf".source = "${pkgs.google-guest-configs}/etc/sysctl.d/60-gce-network-security.conf";
 
-  systemd.services.google-shutdown-scripts = {
-    description = "Google Compute Engine Shutdown Scripts";
-    after = [
-      "network-online.target"
-      "network.target"
-      "rsyslog.service"
-      "google-instance-setup.service"
-      "google-network-daemon.service"
-    ];
-    serviceConfig = {
-      ExecStart = "${pkgs.coreutils}/bin/true";
-      ExecStop = "${gce}/bin/google_metadata_script_runner --script-type shutdown";
-      RemainAfterExit = true;
-      StandardOutput="journal+console";
-      TimeoutStopSec = "0";
-      Type = "oneshot";
-    };
-    wantedBy = [ "multi-user.target" ];
-  };
+  environment.etc."default/instance_configs.cfg".text = ''
+    [Accounts]
+    useradd_cmd = useradd -m -s /run/current-system/sw/bin/bash -p * {user}
 
-  systemd.services.google-startup-scripts = {
-    description = "Google Compute Engine Startup Scripts";
-    after = [
-      "network-online.target"
-      "network.target"
-      "rsyslog.service"
-      "google-instance-setup.service"
-      "google-network-daemon.service"
-    ];
-    serviceConfig = {
-      ExecStart = "${gce}/bin/google_metadata_script_runner --script-type startup";
-      KillMode = "process";
-      StandardOutput = "journal+console";
-      Type = "oneshot";
-    };
-    wantedBy = [ "multi-user.target" ];
-  };
+    [Daemons]
+    accounts_daemon = ${boolToString config.users.mutableUsers}
 
-  environment.etc."sysctl.d/11-gce-network-security.conf".source = "${gce}/sysctl.d/11-gce-network-security.conf";
+    [InstanceSetup]
+    # Make sure GCE image does not replace host key that NixOps sets.
+    set_host_keys = false
+
+    [MetadataScripts]
+    default_shell = ${pkgs.stdenv.shell}
+
+    [NetworkInterfaces]
+    dhclient_script = ${pkgs.google-guest-configs}/bin/google-dhclient-script
+    # We set up network interfaces declaratively.
+    setup = false
+  '';
 }
diff --git a/nixpkgs/nixos/modules/virtualisation/kvmgt.nix b/nixpkgs/nixos/modules/virtualisation/kvmgt.nix
index 72bd2c24e566..5e7a73bec902 100644
--- a/nixpkgs/nixos/modules/virtualisation/kvmgt.nix
+++ b/nixpkgs/nixos/modules/virtualisation/kvmgt.nix
@@ -82,5 +82,5 @@ in {
     };
   };
 
-  meta.maintainers = with maintainers; [ ];
+  meta.maintainers = with maintainers; [ patryk27 ];
 }
diff --git a/nixpkgs/nixos/modules/virtualisation/openvswitch.nix b/nixpkgs/nixos/modules/virtualisation/openvswitch.nix
index 325f6f5b43f4..436a375fb5eb 100644
--- a/nixpkgs/nixos/modules/virtualisation/openvswitch.nix
+++ b/nixpkgs/nixos/modules/virtualisation/openvswitch.nix
@@ -36,17 +36,6 @@ in {
         Open vSwitch package to use.
       '';
     };
-
-    ipsec = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to start racoon service for openvswitch.
-        Supported only if openvswitch version is less than 2.6.0.
-        Use <literal>virtualisation.vswitch.package = pkgs.openvswitch-lts</literal>
-        for a version that supports ipsec over GRE.
-      '';
-    };
   };
 
   config = mkIf cfg.enable (let
@@ -65,7 +54,7 @@ in {
       installPhase = "mkdir -p $out";
     };
 
-  in (mkMerge [{
+  in {
     environment.systemPackages = [ cfg.package ];
     boot.kernelModules = [ "tun" "openvswitch" ];
 
@@ -142,48 +131,14 @@ in {
       };
     };
 
-  }
-  (mkIf (cfg.ipsec && (versionOlder cfg.package.version "2.6.0")) {
-    environment.systemPackages = [ pkgs.ipsecTools ];
-
-    services.racoon.enable = true;
-    services.racoon.configPath = "${runDir}/ipsec/etc/racoon/racoon.conf";
+  });
 
-    networking.firewall.extraCommands = ''
-      iptables -I INPUT -t mangle -p esp -j MARK --set-mark 1/1
-      iptables -I INPUT -t mangle -p udp --dport 4500 -j MARK --set-mark 1/1
-    '';
-
-    systemd.services.ovs-monitor-ipsec = {
-      description = "Open_vSwitch Ipsec Daemon";
-      wantedBy = [ "multi-user.target" ];
-      requires = [ "ovsdb.service" ];
-      before = [ "vswitchd.service" "racoon.service" ];
-      environment.UNIXCTLPATH = "/tmp/ovsdb.ctl.sock";
-      serviceConfig = {
-        ExecStart = ''
-          ${cfg.package}/bin/ovs-monitor-ipsec \
-            --root-prefix ${runDir}/ipsec \
-            --pidfile /run/openvswitch/ovs-monitor-ipsec.pid \
-            --monitor --detach \
-            unix:/run/openvswitch/db.sock
-        '';
-        PIDFile = "/run/openvswitch/ovs-monitor-ipsec.pid";
-        # Use service type 'forking' to correctly determine when ovs-monitor-ipsec is ready.
-        Type = "forking";
-      };
-
-      preStart = ''
-        rm -r ${runDir}/ipsec/etc/racoon/certs || true
-        mkdir -p ${runDir}/ipsec/{etc/racoon,etc/init.d/,usr/sbin/}
-        ln -fs ${pkgs.ipsecTools}/bin/setkey ${runDir}/ipsec/usr/sbin/setkey
-        ln -fs ${pkgs.writeScript "racoon-restart" ''
-        #!${pkgs.runtimeShell}
-        /run/current-system/sw/bin/systemctl $1 racoon
-        ''} ${runDir}/ipsec/etc/init.d/racoon
-      '';
-    };
-  })]));
+  imports = [
+    (mkRemovedOptionModule [ "virtualisation" "vswitch" "ipsec" ] ''
+      OpenVSwitch IPSec functionality has been removed, because it depended on racoon,
+      which was removed from nixpkgs, because it was abanoded upstream.
+    '')
+  ];
 
   meta.maintainers = with maintainers; [ netixx ];
 
diff --git a/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix b/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
index fa3e25afb03e..514389358947 100644
--- a/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
@@ -632,6 +632,15 @@ in
             Enable the Qemu guest agent.
           '';
         };
+
+      virtioKeyboard =
+        mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Enable the virtio-keyboard device.
+          '';
+        };
     };
 
     virtualisation.useNixStoreImage =
@@ -835,7 +844,9 @@ in
 
     # FIXME: Consolidate this one day.
     virtualisation.qemu.options = mkMerge [
-      [ "-device virtio-keyboard" ]
+      (mkIf cfg.qemu.virtioKeyboard [
+        "-device virtio-keyboard"
+      ])
       (mkIf pkgs.stdenv.hostPlatform.isx86 [
         "-usb" "-device usb-tablet,bus=usb-bus.0"
       ])
@@ -999,4 +1010,7 @@ in
       ];
 
   };
+
+  # uses types of services/x11/xserver.nix
+  meta.buildDocsInSandbox = false;
 }
diff --git a/nixpkgs/nixos/modules/virtualisation/virtualbox-guest.nix b/nixpkgs/nixos/modules/virtualisation/virtualbox-guest.nix
index f702fb4e525c..7b55b3b9759e 100644
--- a/nixpkgs/nixos/modules/virtualisation/virtualbox-guest.nix
+++ b/nixpkgs/nixos/modules/virtualisation/virtualbox-guest.nix
@@ -68,7 +68,7 @@ in
         SUBSYSTEM=="misc", KERNEL=="vboxguest", TAG+="systemd"
       '';
   } (mkIf cfg.x11 {
-    services.xserver.videoDrivers = mkOverride 50 [ "vmware" "virtualbox" "modesetting" ];
+    services.xserver.videoDrivers = [ "vmware" "virtualbox" "modesetting" ];
 
     services.xserver.config =
       ''
diff --git a/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix b/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
index 481dedf84054..3caed746ca91 100644
--- a/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
+++ b/nixpkgs/nixos/modules/virtualisation/vmware-guest.nix
@@ -27,6 +27,7 @@ in
       message = "VMWare guest is not currently supported on ${pkgs.stdenv.hostPlatform.system}";
     } ];
 
+    boot.initrd.availableKernelModules = [ "mptspi" ];
     boot.initrd.kernelModules = [ "vmw_pvscsi" ];
 
     environment.systemPackages = [ open-vm-tools ];
diff --git a/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix b/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
index f8f4af4f6b85..975eed10cd26 100644
--- a/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
@@ -450,5 +450,4 @@ in
     };
 
   };
-
 }
diff --git a/nixpkgs/nixos/tests/acme.nix b/nixpkgs/nixos/tests/acme.nix
index 0dd7743c52b6..2dd06a50f40b 100644
--- a/nixpkgs/nixos/tests/acme.nix
+++ b/nixpkgs/nixos/tests/acme.nix
@@ -54,15 +54,15 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: let
     baseConfig = { nodes, config, specialConfig ? {} }: lib.mkMerge [
       {
         security.acme = {
-          defaults = (dnsConfig nodes) // {
-            inherit group;
-          };
+          defaults = (dnsConfig nodes);
           # One manual wildcard cert
           certs."example.test" = {
             domain = "*.example.test";
           };
         };
 
+        users.users."${config.services."${server}".user}".extraGroups = ["acme"];
+
         services."${server}" = {
           enable = true;
           virtualHosts = {
@@ -252,15 +252,15 @@ in {
       } // (let
         baseCaddyConfig = { nodes, config, ... }: {
           security.acme = {
-            defaults = (dnsConfig nodes) // {
-              group = config.services.caddy.group;
-            };
+            defaults = (dnsConfig nodes);
             # One manual wildcard cert
             certs."example.test" = {
               domain = "*.example.test";
             };
           };
 
+          users.users."${config.services.caddy.user}".extraGroups = ["acme"];
+
           services.caddy = {
             enable = true;
             virtualHosts."a.exmaple.test" = {
diff --git a/nixpkgs/nixos/tests/adguardhome.nix b/nixpkgs/nixos/tests/adguardhome.nix
new file mode 100644
index 000000000000..ddbe8ff9c117
--- /dev/null
+++ b/nixpkgs/nixos/tests/adguardhome.nix
@@ -0,0 +1,57 @@
+import ./make-test-python.nix {
+  name = "adguardhome";
+
+  nodes = {
+    minimalConf = { ... }: {
+      services.adguardhome = { enable = true; };
+    };
+
+    declarativeConf = { ... }: {
+      services.adguardhome = {
+        enable = true;
+
+        mutableSettings = false;
+        settings = {
+          dns = {
+            bind_host = "0.0.0.0";
+            bootstrap_dns = "127.0.0.1";
+          };
+        };
+      };
+    };
+
+    mixedConf = { ... }: {
+      services.adguardhome = {
+        enable = true;
+
+        mutableSettings = true;
+        settings = {
+          dns = {
+            bind_host = "0.0.0.0";
+            bootstrap_dns = "127.0.0.1";
+          };
+        };
+      };
+    };
+  };
+
+  testScript = ''
+    with subtest("Minimal config test"):
+        minimalConf.wait_for_unit("adguardhome.service")
+        minimalConf.wait_for_open_port(3000)
+
+    with subtest("Declarative config test, DNS will be reachable"):
+        declarativeConf.wait_for_unit("adguardhome.service")
+        declarativeConf.wait_for_open_port(53)
+        declarativeConf.wait_for_open_port(3000)
+
+    with subtest("Mixed config test, check whether merging works"):
+        mixedConf.wait_for_unit("adguardhome.service")
+        mixedConf.wait_for_open_port(53)
+        mixedConf.wait_for_open_port(3000)
+        # Test whether merging works properly, even if nothing is changed
+        mixedConf.systemctl("restart adguardhome.service")
+        mixedConf.wait_for_unit("adguardhome.service")
+        mixedConf.wait_for_open_port(3000)
+  '';
+}
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix
index 9f3e97ceb13d..515a3c7208ce 100644
--- a/nixpkgs/nixos/tests/all-tests.nix
+++ b/nixpkgs/nixos/tests/all-tests.nix
@@ -19,14 +19,24 @@ let
   handleTestOn = systems: path: args:
     if elem system systems then handleTest path args
     else {};
+
+  nixosLib = import ../lib {
+    # Experimental features need testing too, but there's no point in warning
+    # about it, so we enable the feature flag.
+    featureFlags.minimalModules = {};
+  };
+  evalMinimalConfig = module: nixosLib.evalModules { modules = [ module ]; };
 in
 {
   _3proxy = handleTest ./3proxy.nix {};
   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 {};
+  apfs = handleTest ./apfs.nix {};
   apparmor = handleTest ./apparmor.nix {};
   atd = handleTest ./atd.nix {};
   atop = handleTest ./atop.nix {};
@@ -38,14 +48,18 @@ in
   beanstalkd = handleTest ./beanstalkd.nix {};
   bees = handleTest ./bees.nix {};
   bind = handleTest ./bind.nix {};
+  bird = handleTest ./bird.nix {};
   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 {};
   botamusique = handleTest ./botamusique.nix {};
   bpf = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bpf.nix {};
+  breitbandmessung = handleTest ./breitbandmessung.nix {};
+  brscan5 = handleTest ./brscan5.nix {};
   btrbk = handleTest ./btrbk.nix {};
   buildbot = handleTest ./buildbot.nix {};
   buildkite-agents = handleTest ./buildkite-agents.nix {};
@@ -103,6 +117,7 @@ in
   discourse = handleTest ./discourse.nix {};
   dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
   dnscrypt-wrapper = handleTestOn ["x86_64-linux"] ./dnscrypt-wrapper {};
+  dnsdist = handleTest ./dnsdist.nix {};
   doas = handleTest ./doas.nix {};
   docker = handleTestOn ["x86_64-linux"] ./docker.nix {};
   docker-rootless = handleTestOn ["x86_64-linux"] ./docker-rootless.nix {};
@@ -112,6 +127,7 @@ in
   docker-tools-cross = handleTestOn ["x86_64-linux" "aarch64-linux"] ./docker-tools-cross.nix {};
   docker-tools-overlay = handleTestOn ["x86_64-linux"] ./docker-tools-overlay.nix {};
   documize = handleTest ./documize.nix {};
+  doh-proxy-rust = handleTest ./doh-proxy-rust.nix {};
   dokuwiki = handleTest ./dokuwiki.nix {};
   domination = handleTest ./domination.nix {};
   dovecot = handleTest ./dovecot.nix {};
@@ -121,16 +137,20 @@ in
   ecryptfs = handleTest ./ecryptfs.nix {};
   ejabberd = handleTest ./xmpp/ejabberd.nix {};
   elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
+  emacs-daemon = handleTest ./emacs-daemon.nix {};
   engelsystem = handleTest ./engelsystem.nix {};
   enlightenment = handleTest ./enlightenment.nix {};
   env = handleTest ./env.nix {};
   ergo = handleTest ./ergo.nix {};
+  ergochat = handleTest ./ergochat.nix {};
+  etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
   etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
   etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
   etebase-server = handleTest ./etebase-server.nix {};
   etesync-dav = handleTest ./etesync-dav.nix {};
   fancontrol = handleTest ./fancontrol.nix {};
   fcitx = handleTest ./fcitx {};
+  fenics = handleTest ./fenics.nix {};
   ferm = handleTest ./ferm.nix {};
   firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
   firefox-esr    = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
@@ -143,9 +163,11 @@ in
   fluidd = handleTest ./fluidd.nix {};
   fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
   freeswitch = handleTest ./freeswitch.nix {};
+  frr = handleTest ./frr.nix {};
   fsck = handleTest ./fsck.nix {};
   ft2-clone = handleTest ./ft2-clone.nix {};
   gerrit = handleTest ./gerrit.nix {};
+  geth = handleTest ./geth.nix {};
   ghostunnel = handleTest ./ghostunnel.nix {};
   gitdaemon = handleTest ./gitdaemon.nix {};
   gitea = handleTest ./gitea.nix {};
@@ -170,7 +192,7 @@ in
   hadoop.all = handleTestOn [ "x86_64-linux" ] ./hadoop/hadoop.nix {};
   hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
   hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
-  handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
+  haka = handleTest ./haka.nix {};
   haproxy = handleTest ./haproxy.nix {};
   hardened = handleTest ./hardened.nix {};
   hedgedoc = handleTest ./hedgedoc.nix {};
@@ -204,17 +226,22 @@ in
   initrd-secrets = handleTest ./initrd-secrets.nix {};
   inspircd = handleTest ./inspircd.nix {};
   installer = handleTest ./installer.nix {};
+  invoiceplane = handleTest ./invoiceplane.nix {};
   iodine = handleTest ./iodine.nix {};
   ipfs = handleTest ./ipfs.nix {};
   ipv6 = handleTest ./ipv6.nix {};
+  iscsi-multipath-root = handleTest ./iscsi-multipath-root.nix {};
   iscsi-root = handleTest ./iscsi-root.nix {};
+  isso = handleTest ./isso.nix {};
   jackett = handleTest ./jackett.nix {};
   jellyfin = handleTest ./jellyfin.nix {};
   jenkins = handleTest ./jenkins.nix {};
+  jenkins-cli = handleTest ./jenkins-cli.nix {};
   jibri = handleTest ./jibri.nix {};
   jirafeau = handleTest ./jirafeau.nix {};
   jitsi-meet = handleTest ./jitsi-meet.nix {};
-  k3s = handleTest ./k3s.nix {};
+  k3s-single-node = handleTest ./k3s-single-node.nix {};
+  k3s-single-node-docker = handleTest ./k3s-single-node-docker.nix {};
   kafka = handleTest ./kafka.nix {};
   kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
   kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
@@ -256,12 +283,13 @@ in
   mailcatcher = handleTest ./mailcatcher.nix {};
   mailhog = handleTest ./mailhog.nix {};
   man = handleTest ./man.nix {};
-  mariadb-galera-mariabackup = handleTest ./mysql/mariadb-galera-mariabackup.nix {};
-  mariadb-galera-rsync = handleTest ./mysql/mariadb-galera-rsync.nix {};
+  mariadb-galera = handleTest ./mysql/mariadb-galera.nix {};
   matomo = handleTest ./matomo.nix {};
   matrix-appservice-irc = handleTest ./matrix-appservice-irc.nix {};
+  matrix-conduit = handleTest ./matrix-conduit.nix {};
   matrix-synapse = handleTest ./matrix-synapse.nix {};
   mattermost = handleTest ./mattermost.nix {};
+  mediatomb = handleTest ./mediatomb.nix {};
   mediawiki = handleTest ./mediawiki.nix {};
   meilisearch = handleTest ./meilisearch.nix {};
   memcached = handleTest ./memcached.nix {};
@@ -274,10 +302,12 @@ in
   misc = handleTest ./misc.nix {};
   mjolnir = handleTest ./matrix/mjolnir.nix {};
   mod_perl = handleTest ./mod_perl.nix {};
+  molly-brown = handleTest ./molly-brown.nix {};
   mongodb = handleTest ./mongodb.nix {};
   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 {};
@@ -326,8 +356,10 @@ in
   nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
   nixops = handleTest ./nixops/default.nix {};
   nixos-generate-config = handleTest ./nixos-generate-config.nix {};
+  nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; };
   node-red = handleTest ./node-red.nix {};
   nomad = handleTest ./nomad.nix {};
+  noto-fonts = handleTest ./noto-fonts.nix {};
   novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
   nsd = handleTest ./nsd.nix {};
   nzbget = handleTest ./nzbget.nix {};
@@ -366,6 +398,7 @@ in
   php74 = handleTest ./php { php = pkgs.php74; };
   php80 = handleTest ./php { php = pkgs.php80; };
   php81 = handleTest ./php { php = pkgs.php81; };
+  pict-rs = handleTest ./pict-rs.nix {};
   pinnwand = handleTest ./pinnwand.nix {};
   plasma5 = handleTest ./plasma5.nix {};
   plasma5-systemd-start = handleTest ./plasma5-systemd-start.nix {};
@@ -395,7 +428,6 @@ in
   prometheus = handleTest ./prometheus.nix {};
   prometheus-exporters = handleTest ./prometheus-exporters.nix {};
   prosody = handleTest ./xmpp/prosody.nix {};
-  prosodyMysql = handleTest ./xmpp/prosody-mysql.nix {};
   proxy = handleTest ./proxy.nix {};
   prowlarr = handleTest ./prowlarr.nix {};
   pt2-clone = handleTest ./pt2-clone.nix {};
@@ -408,12 +440,17 @@ in
   rasdaemon = handleTest ./rasdaemon.nix {};
   redis = handleTest ./redis.nix {};
   redmine = handleTest ./redmine.nix {};
+  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 {};
   rspamd = handleTest ./rspamd.nix {};
   rss2email = handleTest ./rss2email.nix {};
+  rstudio-server = handleTest ./rstudio-server.nix {};
+  rsyncd = handleTest ./rsyncd.nix {};
   rsyslogd = handleTest ./rsyslogd.nix {};
   rxe = handleTest ./rxe.nix {};
   sabnzbd = handleTest ./sabnzbd.nix {};
@@ -434,6 +471,7 @@ in
   smokeping = handleTest ./smokeping.nix {};
   snapcast = handleTest ./snapcast.nix {};
   snapper = handleTest ./snapper.nix {};
+  soapui = handleTest ./soapui.nix {};
   sogo = handleTest ./sogo.nix {};
   solanum = handleTest ./solanum.nix {};
   solr = handleTest ./solr.nix {};
@@ -444,6 +482,7 @@ in
   sslh = handleTest ./sslh.nix {};
   sssd = handleTestOn ["x86_64-linux"] ./sssd.nix {};
   sssd-ldap = handleTestOn ["x86_64-linux"] ./sssd-ldap.nix {};
+  starship = handleTest ./starship.nix {};
   step-ca = handleTestOn ["x86_64-linux"] ./step-ca.nix {};
   strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
   sudo = handleTest ./sudo.nix {};
@@ -460,6 +499,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 {};
@@ -469,12 +509,16 @@ in
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
   systemd-unit-path = handleTest ./systemd-unit-path.nix {};
   taskserver = handleTest ./taskserver.nix {};
+  teeworlds = handleTest ./teeworlds.nix {};
   telegraf = handleTest ./telegraf.nix {};
+  teleport = handleTest ./teleport.nix {};
+  thelounge = handleTest ./thelounge.nix {};
   tiddlywiki = handleTest ./tiddlywiki.nix {};
   tigervnc = handleTest ./tigervnc.nix {};
   timezone = handleTest ./timezone.nix {};
   tinc = handleTest ./tinc {};
   tinydns = handleTest ./tinydns.nix {};
+  tinywl = handleTest ./tinywl.nix {};
   tor = handleTest ./tor.nix {};
   # traefik test relies on docker-containers
   traefik = handleTestOn ["x86_64-linux"] ./traefik.nix {};
@@ -483,6 +527,7 @@ in
   trezord = handleTest ./trezord.nix {};
   trickster = handleTest ./trickster.nix {};
   trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
+  tsm-client-gui = handleTest ./tsm-client-gui.nix {};
   txredisapi = handleTest ./txredisapi.nix {};
   tuptime = handleTest ./tuptime.nix {};
   turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
@@ -508,6 +553,7 @@ in
   vscodium = discoverTests (import ./vscodium.nix);
   wasabibackend = handleTest ./wasabibackend.nix {};
   wiki-js = handleTest ./wiki-js.nix {};
+  wine = handleTest ./wine.nix {};
   wireguard = handleTest ./wireguard {};
   without-nix = handleTest ./without-nix.nix {};
   wmderland = handleTest ./wmderland.nix {};
@@ -520,6 +566,7 @@ in
   xrdp = handleTest ./xrdp.nix {};
   xss-lock = handleTest ./xss-lock.nix {};
   xterm = handleTest ./xterm.nix {};
+  xxh = handleTest ./xxh.nix {};
   yabar = handleTest ./yabar.nix {};
   yggdrasil = handleTest ./yggdrasil.nix {};
   zfs = handleTest ./zfs.nix {};
diff --git a/nixpkgs/nixos/tests/apfs.nix b/nixpkgs/nixos/tests/apfs.nix
new file mode 100644
index 000000000000..a82886cbe731
--- /dev/null
+++ b/nixpkgs/nixos/tests/apfs.nix
@@ -0,0 +1,54 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "apfs";
+  meta.maintainers = with pkgs.lib.maintainers; [ Luflosi ];
+
+  machine = { pkgs, ... }: {
+    virtualisation.emptyDiskImages = [ 1024 ];
+
+    boot.supportedFilesystems = [ "apfs" ];
+  };
+
+  testScript = ''
+    machine.wait_for_unit("basic.target")
+    machine.succeed("mkdir /tmp/mnt")
+
+    with subtest("mkapfs refuses to work with a label that is too long"):
+      machine.fail( "mkapfs -L '000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F' /dev/vdb")
+
+    with subtest("mkapfs works with the maximum label length"):
+      machine.succeed("mkapfs -L '000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7' /dev/vdb")
+
+    with subtest("Enable case sensitivity and normalization sensitivity"):
+      machine.succeed(
+          "mkapfs -s -z /dev/vdb",
+          # Triggers a bug, see https://github.com/linux-apfs/linux-apfs-rw/issues/15
+          # "mount -o cknodes,readwrite /dev/vdb /tmp/mnt",
+          "mount -o readwrite /dev/vdb /tmp/mnt",
+          "echo 'Hello World 1' > /tmp/mnt/test.txt",
+          "[ ! -f /tmp/mnt/TeSt.TxT ] || false", # Test case sensitivity
+          "echo 'Hello World 1' | diff - /tmp/mnt/test.txt",
+          "echo 'Hello World 2' > /tmp/mnt/\u0061\u0301.txt",
+          "echo 'Hello World 2' | diff - /tmp/mnt/\u0061\u0301.txt",
+          "[ ! -f /tmp/mnt/\u00e1.txt ] || false", # Test Unicode normalization sensitivity
+          "umount /tmp/mnt",
+          "apfsck /dev/vdb",
+      )
+    with subtest("Disable case sensitivity and normalization sensitivity"):
+      machine.succeed(
+          "mkapfs /dev/vdb",
+          "mount -o readwrite /dev/vdb /tmp/mnt",
+          "echo 'bla bla bla' > /tmp/mnt/Test.txt",
+          "echo -n 'Hello World' > /tmp/mnt/test.txt",
+          "echo ' 1' >> /tmp/mnt/TEST.TXT",
+          "umount /tmp/mnt",
+          "apfsck /dev/vdb",
+          "mount -o readwrite /dev/vdb /tmp/mnt",
+          "echo 'Hello World 1' | diff - /tmp/mnt/TeSt.TxT", # Test case insensitivity
+          "echo 'Hello World 2' > /tmp/mnt/\u0061\u0301.txt",
+          "echo 'Hello World 2' | diff - /tmp/mnt/\u0061\u0301.txt",
+          "echo 'Hello World 2' | diff - /tmp/mnt/\u00e1.txt", # Test Unicode normalization
+          "umount /tmp/mnt",
+          "apfsck /dev/vdb",
+      )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/bcachefs.nix b/nixpkgs/nixos/tests/bcachefs.nix
index 146225e72cee..211195586ed9 100644
--- a/nixpkgs/nixos/tests/bcachefs.nix
+++ b/nixpkgs/nixos/tests/bcachefs.nix
@@ -18,13 +18,13 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         "mkdir /tmp/mnt",
         "udevadm settle",
         "parted --script /dev/vdb mklabel msdos",
-        "parted --script /dev/vdb -- mkpart primary 1024M -1s",
+        "parted --script /dev/vdb -- mkpart primary 1024M 50% mkpart primary 50% -1s",
         "udevadm settle",
         # Due to #32279, we cannot use encryption for this test yet
-        # "echo password | bcachefs format --encrypted /dev/vdb1",
+        # "echo password | bcachefs format --encrypted --metadata_replicas 2 --label vtest /dev/vdb1 /dev/vdb2",
         # "echo password | bcachefs unlock /dev/vdb1",
-        "bcachefs format /dev/vdb1",
-        "mount -t bcachefs /dev/vdb1 /tmp/mnt",
+        "bcachefs format --metadata_replicas 2 --label vtest /dev/vdb1 /dev/vdb2",
+        "mount -t bcachefs /dev/vdb1:/dev/vdb2 /tmp/mnt",
         "udevadm settle",
         "bcachefs fs usage /tmp/mnt",
         "umount /tmp/mnt",
diff --git a/nixpkgs/nixos/tests/bird.nix b/nixpkgs/nixos/tests/bird.nix
new file mode 100644
index 000000000000..50d397be14ee
--- /dev/null
+++ b/nixpkgs/nixos/tests/bird.nix
@@ -0,0 +1,205 @@
+# This test does a basic functionality check for all bird variants and demonstrates a use
+# of the preCheckConfig option.
+
+{ system ? builtins.currentSystem
+, pkgs ? import ../.. { inherit system; config = { }; }
+}:
+
+let
+  inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
+  inherit (pkgs.lib) optionalString;
+
+  hostShared = hostId: { pkgs, ... }: {
+    virtualisation.vlans = [ 1 ];
+
+    environment.systemPackages = with pkgs; [ jq ];
+
+    networking = {
+      useNetworkd = true;
+      useDHCP = false;
+      firewall.enable = false;
+    };
+
+    systemd.network.networks."01-eth1" = {
+      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;
+
+      config = ''
+        log syslog all;
+
+        debug protocols all;
+
+        router id 10.0.0.${hostId};
+
+        protocol device {
+        }
+
+        protocol kernel kernel4 {
+          ipv4 {
+            import none;
+            export all;
+          };
+        }
+
+        protocol static static4 {
+          ipv4;
+          include "static4.conf";
+        }
+
+        protocol ospf v2 ospf4 {
+          ipv4 {
+            export all;
+          };
+          area 0 {
+            interface "eth1" {
+              hello 5;
+              wait 5;
+            };
+          };
+        }
+
+        protocol kernel kernel6 {
+          ipv6 {
+            import none;
+            export all;
+          };
+        }
+
+        protocol static static6 {
+          ipv6;
+          include "static6.conf";
+        }
+
+        protocol ospf v3 ospf6 {
+          ipv6 {
+            export all;
+          };
+          area 0 {
+            interface "eth1" {
+              hello 5;
+              wait 5;
+            };
+          };
+        }
+      '';
+
+      preCheckConfig = ''
+        echo "route 1.2.3.4/32 blackhole;" > static4.conf
+        echo "route fd00::/128 blackhole;" > static6.conf
+      '';
+    };
+
+    systemd.tmpfiles.rules = [
+      "f /etc/bird/static4.conf - - - - route 10.10.0.${hostId}/32 blackhole;"
+      "f /etc/bird/static6.conf - - - - route fdff::${hostId}/128 blackhole;"
+    ];
+  };
+in
+{
+  bird = birdTest true;
+  bird6 = birdTest false;
+  bird2 = bird2Test;
+}
diff --git a/nixpkgs/nixos/tests/blocky.nix b/nixpkgs/nixos/tests/blocky.nix
new file mode 100644
index 000000000000..18e7f45e1c73
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/boot-stage1.nix b/nixpkgs/nixos/tests/boot-stage1.nix
index ce86fc5f494d..756decd2039d 100644
--- a/nixpkgs/nixos/tests/boot-stage1.nix
+++ b/nixpkgs/nixos/tests/boot-stage1.nix
@@ -33,6 +33,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         #include <linux/sched/signal.h>
         #endif
 
+        MODULE_LICENSE("GPL");
+
         struct task_struct *canaryTask;
 
         static int kcanary(void *nothing)
diff --git a/nixpkgs/nixos/tests/boot.nix b/nixpkgs/nixos/tests/boot.nix
index 9945a1dcd62f..cf5565667131 100644
--- a/nixpkgs/nixos/tests/boot.nix
+++ b/nixpkgs/nixos/tests/boot.nix
@@ -12,12 +12,22 @@ let
   iso =
     (import ../lib/eval-config.nix {
       inherit system;
-      modules =
-        [ ../modules/installer/cd-dvd/installation-cd-minimal.nix
-          ../modules/testing/test-instrumentation.nix
-        ];
+      modules = [
+        ../modules/installer/cd-dvd/installation-cd-minimal.nix
+        ../modules/testing/test-instrumentation.nix
+      ];
     }).config.system.build.isoImage;
 
+  sd =
+    (import ../lib/eval-config.nix {
+      inherit system;
+      modules = [
+        ../modules/installer/sd-card/sd-image-x86_64.nix
+        ../modules/testing/test-instrumentation.nix
+        { sdImage.compressImage = false; }
+      ];
+    }).config.system.build.sdImage;
+
   pythonDict = params: "\n    {\n        ${concatStringsSep ",\n        " (mapAttrsToList (name: param: "\"${name}\": \"${param}\"") params)},\n    }\n";
 
   makeBootTest = name: extraConfig:
@@ -110,4 +120,30 @@ in {
     };
 
     biosNetboot = makeNetbootTest "bios" {};
+
+    ubootExtlinux = let
+      sdImage = "${sd}/sd-image/${sd.imageName}";
+      mutableImage = "/tmp/linked-image.qcow2";
+
+      machineConfig = pythonDict {
+        bios = "${pkgs.ubootQemuX86}/u-boot.rom";
+        qemuFlags = "-m 768 -machine type=pc,accel=tcg -drive file=${mutableImage},if=ide,format=qcow2";
+      };
+    in makeTest {
+      name = "boot-uboot-extlinux";
+      nodes = { };
+      testScript = ''
+        import os
+
+        # Create a mutable linked image backed by the read-only SD image
+        if os.system("qemu-img create -f qcow2 -F raw -b ${sdImage} ${mutableImage}") != 0:
+            raise RuntimeError("Could not create mutable linked image")
+
+        machine = create_machine(${machineConfig})
+        machine.start()
+        machine.wait_for_unit("multi-user.target")
+        machine.succeed("nix store verify -r --no-trust --option experimental-features nix-command /run/current-system")
+        machine.shutdown()
+      '';
+    };
 }
diff --git a/nixpkgs/nixos/tests/borgbackup.nix b/nixpkgs/nixos/tests/borgbackup.nix
index cbb28689209b..d3cd6c66bfeb 100644
--- a/nixpkgs/nixos/tests/borgbackup.nix
+++ b/nixpkgs/nixos/tests/borgbackup.nix
@@ -106,7 +106,7 @@ in {
       services.openssh = {
         enable = true;
         passwordAuthentication = false;
-        challengeResponseAuthentication = false;
+        kbdInteractiveAuthentication = false;
       };
 
       services.borgbackup.repos.repo1 = {
diff --git a/nixpkgs/nixos/tests/bpf.nix b/nixpkgs/nixos/tests/bpf.nix
index 233c7dab1ee2..e479cd057921 100644
--- a/nixpkgs/nixos/tests/bpf.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/breitbandmessung.nix b/nixpkgs/nixos/tests/breitbandmessung.nix
new file mode 100644
index 000000000000..12b1a094839b
--- /dev/null
+++ b/nixpkgs/nixos/tests/breitbandmessung.nix
@@ -0,0 +1,33 @@
+import ./make-test-python.nix ({ lib, ... }: {
+  name = "breitbandmessung";
+  meta.maintainers = with lib.maintainers; [ b4dm4n ];
+
+  machine = { pkgs, ... }: {
+    imports = [
+      ./common/user-account.nix
+      ./common/x11.nix
+    ];
+
+    # increase screen size to make the whole program visible
+    virtualisation.resolution = { x = 1280; y = 1024; };
+
+    test-support.displayManager.auto.user = "alice";
+
+    environment.systemPackages = with pkgs; [ breitbandmessung ];
+    environment.variables.XAUTHORITY = "/home/alice/.Xauthority";
+
+    # breitbandmessung is unfree
+    nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "breitbandmessung" ];
+  };
+
+  enableOCR = true;
+
+  testScript = ''
+    machine.wait_for_x()
+    machine.execute("su - alice -c breitbandmessung >&2  &")
+    machine.wait_for_window("Breitbandmessung")
+    machine.wait_for_text("Breitbandmessung")
+    machine.wait_for_text("Datenschutz")
+    machine.screenshot("breitbandmessung")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/btrbk.nix b/nixpkgs/nixos/tests/btrbk.nix
index 2689bb66c63a..9f34f7dfbe38 100644
--- a/nixpkgs/nixos/tests/btrbk.nix
+++ b/nixpkgs/nixos/tests/btrbk.nix
@@ -53,7 +53,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
         services.openssh = {
           enable = true;
           passwordAuthentication = false;
-          challengeResponseAuthentication = false;
+          kbdInteractiveAuthentication = false;
         };
         services.btrbk = {
           extraPackages = [ pkgs.lz4 ];
diff --git a/nixpkgs/nixos/tests/cloud-init.nix b/nixpkgs/nixos/tests/cloud-init.nix
index e06cbd056a32..3f191ff5616e 100644
--- a/nixpkgs/nixos/tests/cloud-init.nix
+++ b/nixpkgs/nixos/tests/cloud-init.nix
@@ -35,6 +35,24 @@ let
       public-keys:
         - "${snakeOilPublicKey}"
       EOF
+
+      cat << EOF > $out/iso/network-config
+      version: 1
+      config:
+          - type: physical
+            name: eth0
+            mac_address: '52:54:00:12:34:56'
+            subnets:
+            - type: static
+              address: '12.34.56.78'
+              netmask: '255.255.255.0'
+              gateway: '12.34.56.9'
+          - type: nameserver
+            address:
+            - '8.8.8.8'
+            search:
+            - 'example.com'
+      EOF
       ${pkgs.cdrkit}/bin/genisoimage -volid cidata -joliet -rock -o $out/metadata.iso $out/iso
       '';
   };
@@ -46,9 +64,13 @@ in makeTest {
   machine = { ... }:
   {
     virtualisation.qemu.options = [ "-cdrom" "${metadataDrive}/metadata.iso" ];
-    services.cloud-init.enable = true;
+    services.cloud-init = {
+      enable = true;
+      network.enable = true;
+    };
     services.openssh.enable = true;
     networking.hostName = "";
+    networking.useDHCP = false;
   };
   testScript = ''
     # To wait until cloud-init terminates its run
@@ -80,5 +102,8 @@ in makeTest {
         ).strip()
         == "test"
     )
+
+    assert "default via 12.34.56.9 dev eth0 proto static" in unnamed.succeed("ip route")
+    assert "12.34.56.0/24 dev eth0 proto kernel scope link src 12.34.56.78" in unnamed.succeed("ip route")
   '';
 }
diff --git a/nixpkgs/nixos/tests/containers-imperative.nix b/nixpkgs/nixos/tests/containers-imperative.nix
index a126a5480c03..14001657bee0 100644
--- a/nixpkgs/nixos/tests/containers-imperative.nix
+++ b/nixpkgs/nixos/tests/containers-imperative.nix
@@ -10,8 +10,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
 
       # XXX: Sandbox setup fails while trying to hardlink files from the host's
       #      store file system into the prepared chroot directory.
-      nix.useSandbox = false;
-      nix.binaryCaches = []; # don't try to access cache.nixos.org
+      nix.settings.sandbox = false;
+      nix.settings.substituters = []; # don't try to access cache.nixos.org
 
       virtualisation.writableStore = true;
       # Make sure we always have all the required dependencies for creating a
diff --git a/nixpkgs/nixos/tests/dnsdist.nix b/nixpkgs/nixos/tests/dnsdist.nix
new file mode 100644
index 000000000000..cfc41c13864e
--- /dev/null
+++ b/nixpkgs/nixos/tests/dnsdist.nix
@@ -0,0 +1,48 @@
+import ./make-test-python.nix (
+  { pkgs, ... }: {
+    name = "dnsdist";
+    meta = with pkgs.lib; {
+      maintainers = with maintainers; [ jojosch ];
+    };
+
+    machine = { pkgs, lib, ... }: {
+      services.bind = {
+        enable = true;
+        extraOptions = "empty-zones-enable no;";
+        zones = lib.singleton {
+          name = ".";
+          master = true;
+          file = pkgs.writeText "root.zone" ''
+            $TTL 3600
+            . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d )
+            . IN NS ns.example.org.
+
+            ns.example.org. IN A    192.168.0.1
+            ns.example.org. IN AAAA abcd::1
+
+            1.0.168.192.in-addr.arpa IN PTR ns.example.org.
+          '';
+        };
+      };
+      services.dnsdist = {
+        enable = true;
+        listenPort = 5353;
+        extraConfig = ''
+          newServer({address="127.0.0.1:53", name="local-bind"})
+        '';
+      };
+
+      environment.systemPackages = with pkgs; [ dig ];
+    };
+
+    testScript = ''
+      machine.wait_for_unit("bind.service")
+      machine.wait_for_open_port(53)
+      machine.succeed("dig @127.0.0.1 +short -x 192.168.0.1 | grep -qF ns.example.org")
+
+      machine.wait_for_unit("dnsdist.service")
+      machine.wait_for_open_port(5353)
+      machine.succeed("dig @127.0.0.1 -p 5353 +short -x 192.168.0.1 | grep -qF ns.example.org")
+    '';
+  }
+)
diff --git a/nixpkgs/nixos/tests/doh-proxy-rust.nix b/nixpkgs/nixos/tests/doh-proxy-rust.nix
index 23f8616849c3..11ed87d23bbe 100644
--- a/nixpkgs/nixos/tests/doh-proxy-rust.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/ergochat.nix b/nixpkgs/nixos/tests/ergochat.nix
new file mode 100644
index 000000000000..2e9dc55e648e
--- /dev/null
+++ b/nixpkgs/nixos/tests/ergochat.nix
@@ -0,0 +1,97 @@
+let
+  clients = [
+    "ircclient1"
+    "ircclient2"
+  ];
+  server = "ergochat";
+  ircPort = 6667;
+  channel = "nixos-cat";
+  iiDir = "/tmp/irc";
+in
+
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "ergochat";
+  nodes = {
+    "${server}" = {
+      networking.firewall.allowedTCPPorts = [ ircPort ];
+      services.ergochat = {
+        enable = true;
+        settings.server.motd = pkgs.writeText "ergo.motd" ''
+          The default MOTD doesn't contain the word "nixos" in it.
+          This one does.
+        '';
+      };
+    };
+  } // lib.listToAttrs (builtins.map (client: lib.nameValuePair client {
+    imports = [
+      ./common/user-account.nix
+    ];
+
+    systemd.services.ii = {
+      requires = [ "network.target" ];
+      wantedBy = [ "default.target" ];
+
+      serviceConfig = {
+        Type = "simple";
+        ExecPreStartPre = "mkdir -p ${iiDir}";
+        ExecStart = ''
+          ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir}
+        '';
+        User = "alice";
+      };
+    };
+  }) clients);
+
+  testScript =
+    let
+      msg = client: "Hello, my name is ${client}";
+      clientScript = client: [
+        ''
+          ${client}.wait_for_unit("network.target")
+          ${client}.systemctl("start ii")
+          ${client}.wait_for_unit("ii")
+          ${client}.wait_for_file("${iiDir}/${server}/out")
+        ''
+        # look for the custom text in the MOTD.
+        ''
+          ${client}.wait_until_succeeds("grep 'nixos' ${iiDir}/${server}/out")
+        ''
+        # wait until first PING from server arrives before joining,
+        # so we don't try it too early
+        ''
+          ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out")
+        ''
+        # join ${channel}
+        ''
+          ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in")
+          ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in")
+        ''
+        # send a greeting
+        ''
+          ${client}.succeed(
+              "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in"
+          )
+        ''
+        # check that all greetings arrived on all clients
+      ] ++ builtins.map (other: ''
+        ${client}.succeed(
+            "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out"
+        )
+      '') clients;
+
+      # foldl', but requires a non-empty list instead of a start value
+      reduce = f: list:
+        builtins.foldl' f (builtins.head list) (builtins.tail list);
+    in ''
+      start_all()
+      ${server}.systemctl("status ergochat")
+      ${server}.wait_for_open_port(${toString ircPort})
+
+      # run clientScript for all clients so that every list
+      # entry is executed by every client before advancing
+      # to the next one.
+    '' + lib.concatStrings
+      (reduce
+        (lib.zipListsWith (cs: c: cs + c))
+        (builtins.map clientScript clients));
+})
diff --git a/nixpkgs/nixos/tests/frr.nix b/nixpkgs/nixos/tests/frr.nix
new file mode 100644
index 000000000000..598d7a7d2867
--- /dev/null
+++ b/nixpkgs/nixos/tests/frr.nix
@@ -0,0 +1,104 @@
+# This test runs FRR and checks if OSPF routing works.
+#
+# Network topology:
+#   [ client ]--net1--[ router1 ]--net2--[ router2 ]--net3--[ server ]
+#
+# All interfaces are in OSPF Area 0.
+
+import ./make-test-python.nix ({ pkgs, ... }:
+  let
+
+    ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address;
+
+    ospfConf1 = ''
+      router ospf
+        network 192.168.0.0/16 area 0
+    '';
+
+    ospfConf2 = ''
+      interface eth2
+        ip ospf hello-interval 1
+        ip ospf dead-interval 5
+      !
+      router ospf
+        network 192.168.0.0/16 area 0
+    '';
+
+  in
+    {
+      name = "frr";
+
+      meta = with pkgs.lib.maintainers; {
+        maintainers = [ hexa ];
+      };
+
+      nodes = {
+
+        client =
+          { nodes, ... }:
+          {
+            virtualisation.vlans = [ 1 ];
+            networking.defaultGateway = ifAddr nodes.router1 "eth1";
+          };
+
+        router1 =
+          { ... }:
+          {
+            virtualisation.vlans = [ 1 2 ];
+            boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
+            networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospfigp -j ACCEPT";
+            services.frr.ospf = {
+              enable = true;
+              config = ospfConf1;
+            };
+
+            specialisation.ospf.configuration = {
+              services.frr.ospf.config = ospfConf2;
+            };
+          };
+
+        router2 =
+          { ... }:
+          {
+            virtualisation.vlans = [ 3 2 ];
+            boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
+            networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospfigp -j ACCEPT";
+            services.frr.ospf = {
+              enable = true;
+              config = ospfConf2;
+            };
+          };
+
+        server =
+          { nodes, ... }:
+          {
+            virtualisation.vlans = [ 3 ];
+            networking.defaultGateway = ifAddr nodes.router2 "eth1";
+          };
+      };
+
+      testScript =
+        { nodes, ... }:
+        ''
+          start_all()
+
+          # Wait for the networking to start on all machines
+          for machine in client, router1, router2, server:
+              machine.wait_for_unit("network.target")
+
+          with subtest("Wait for Zebra and OSPFD"):
+              for gw in router1, router2:
+                  gw.wait_for_unit("zebra")
+                  gw.wait_for_unit("ospfd")
+
+          router1.succeed("${nodes.router1.config.system.build.toplevel}/specialisation/ospf/bin/switch-to-configuration test >&2")
+
+          with subtest("Wait for OSPF to form adjacencies"):
+              for gw in router1, router2:
+                  gw.wait_until_succeeds("vtysh -c 'show ip ospf neighbor' | grep Full")
+                  gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'")
+
+          with subtest("Test ICMP"):
+              client.wait_until_succeeds("ping -c 3 server >&2")
+        '';
+    })
diff --git a/nixpkgs/nixos/tests/geth.nix b/nixpkgs/nixos/tests/geth.nix
index 10cbd6d9038c..af8230553bbb 100644
--- a/nixpkgs/nixos/tests/geth.nix
+++ b/nixpkgs/nixos/tests/geth.nix
@@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     machine.wait_for_open_port(18545)
 
     machine.succeed(
-        'geth attach --exec "eth.chainId()" http://localhost:8545 | grep \'"0x0"\' '
+        'geth attach --exec eth.blockNumber http://localhost:8545 | grep \'^0$\' '
     )
 
     machine.succeed(
diff --git a/nixpkgs/nixos/tests/gitolite-fcgiwrap.nix b/nixpkgs/nixos/tests/gitolite-fcgiwrap.nix
index fc9b214b762e..38f8d5c883fd 100644
--- a/nixpkgs/nixos/tests/gitolite-fcgiwrap.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/google-oslogin/default.nix b/nixpkgs/nixos/tests/google-oslogin/default.nix
index dea660ed05a4..72c87d7153bd 100644
--- a/nixpkgs/nixos/tests/google-oslogin/default.nix
+++ b/nixpkgs/nixos/tests/google-oslogin/default.nix
@@ -31,10 +31,10 @@ in {
 
     # mockserver should return a non-expired ssh key for both mockuser and mockadmin
     server.succeed(
-        f'${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys {MOCKUSER} | grep -q "${snakeOilPublicKey}"'
+        f'${pkgs.google-guest-oslogin}/bin/google_authorized_keys {MOCKUSER} | grep -q "${snakeOilPublicKey}"'
     )
     server.succeed(
-        f'${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys {MOCKADMIN} | grep -q "${snakeOilPublicKey}"'
+        f'${pkgs.google-guest-oslogin}/bin/google_authorized_keys {MOCKADMIN} | grep -q "${snakeOilPublicKey}"'
     )
 
     # install snakeoil ssh key on the client, and provision .ssh/config file
diff --git a/nixpkgs/nixos/tests/google-oslogin/server.nix b/nixpkgs/nixos/tests/google-oslogin/server.nix
index fdb7141da317..faf5e847d7e9 100644
--- a/nixpkgs/nixos/tests/google-oslogin/server.nix
+++ b/nixpkgs/nixos/tests/google-oslogin/server.nix
@@ -17,13 +17,11 @@ in {
   };
 
   services.openssh.enable = true;
-  services.openssh.challengeResponseAuthentication = false;
+  services.openssh.kbdInteractiveAuthentication = false;
   services.openssh.passwordAuthentication = false;
 
   security.googleOsLogin.enable = true;
 
   # Mock google service
-  networking.extraHosts = ''
-    127.0.0.1 metadata.google.internal
-  '';
+  networking.interfaces.lo.ipv4.addresses = [ { address = "169.254.169.254"; prefixLength = 32; } ];
 }
diff --git a/nixpkgs/nixos/tests/google-oslogin/server.py b/nixpkgs/nixos/tests/google-oslogin/server.py
index 5ea9bbd2c96b..5ea9bbd2c96b 100644..100755
--- a/nixpkgs/nixos/tests/google-oslogin/server.py
+++ b/nixpkgs/nixos/tests/google-oslogin/server.py
diff --git a/nixpkgs/nixos/tests/handbrake.nix b/nixpkgs/nixos/tests/handbrake.nix
deleted file mode 100644
index d2d41b372be1..000000000000
--- a/nixpkgs/nixos/tests/handbrake.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ... }:
-
-let
-  # Download Big Buck Bunny example, licensed under CC Attribution 3.0.
-  testMkv = pkgs.fetchurl {
-    url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
-    sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
-    name = "test1.mkv";
-  };
-
-in
-{
-  name = "handbrake";
-
-  meta = {
-    maintainers = with pkgs.lib.maintainers; [ ];
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ handbrake ];
-  };
-
-  testScript = ''
-    # Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically
-    # only takes a few seconds.
-    start_all()
-
-    machine.succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160")
-    machine.succeed("test -e test.mp4")
-    machine.succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160")
-    machine.succeed("test -e test.mkv")
-  '';
-})
diff --git a/nixpkgs/nixos/tests/haproxy.nix b/nixpkgs/nixos/tests/haproxy.nix
index 2c3878131b68..b6ff4102fe68 100644
--- a/nixpkgs/nixos/tests/haproxy.nix
+++ b/nixpkgs/nixos/tests/haproxy.nix
@@ -16,7 +16,6 @@ import ./make-test-python.nix ({ pkgs, ...}: {
           frontend http
             bind *:80
             mode http
-            option http-use-htx
             http-request use-service prometheus-exporter if { path /metrics }
             use_backend http_server
         '';
diff --git a/nixpkgs/nixos/tests/hardened.nix b/nixpkgs/nixos/tests/hardened.nix
index da7e0972e131..dc455f971f5c 100644
--- a/nixpkgs/nixos/tests/hardened.nix
+++ b/nixpkgs/nixos/tests/hardened.nix
@@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
       users.users.sybil = { isNormalUser = true; group = "wheel"; };
       imports = [ ../modules/profiles/hardened.nix ];
       environment.memoryAllocator.provider = "graphene-hardened";
-      nix.useSandbox = false;
+      nix.settings.sandbox = false;
       virtualisation.emptyDiskImages = [ 4096 ];
       boot.initrd.postDeviceCommands = ''
         ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb
diff --git a/nixpkgs/nixos/tests/hibernate.nix b/nixpkgs/nixos/tests/hibernate.nix
index 4f05b99a5a11..3880f1649bd3 100644
--- a/nixpkgs/nixos/tests/hibernate.nix
+++ b/nixpkgs/nixos/tests/hibernate.nix
@@ -45,11 +45,11 @@ in makeTest {
         ../modules/profiles/base.nix
       ];
 
-      nix.binaryCaches = mkForce [ ];
-      nix.extraOptions = ''
-        hashed-mirrors =
-        connect-timeout = 1
-      '';
+      nix.settings = {
+        substituters = mkForce [];
+        hashed-mirrors = null;
+        connect-timeout = 1;
+      };
 
       virtualisation.diskSize = 8 * 1024;
       virtualisation.emptyDiskImages = [
diff --git a/nixpkgs/nixos/tests/home-assistant.nix b/nixpkgs/nixos/tests/home-assistant.nix
index 1ab5755863f7..31f8a4bcc198 100644
--- a/nixpkgs/nixos/tests/home-assistant.nix
+++ b/nixpkgs/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,28 +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";
-        }];
-        # tests component-based capability assignment (CAP_NET_BIND_SERVICE)
+        } ];
+
+        # 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";
+        } ];
+
+        # 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 = [{
@@ -75,25 +134,52 @@ 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")
@@ -107,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/nixpkgs/nixos/tests/hydra/common.nix b/nixpkgs/nixos/tests/hydra/common.nix
index 1a3a4d8fb3d4..fdf2b2c6f6dc 100644
--- a/nixpkgs/nixos/tests/hydra/common.nix
+++ b/nixpkgs/nixos/tests/hydra/common.nix
@@ -42,7 +42,7 @@
         hostName = "localhost";
         systems = [ system ];
       }];
-      binaryCaches = [];
+      settings.substituters = [];
     };
   };
 }
diff --git a/nixpkgs/nixos/tests/installed-tests/flatpak.nix b/nixpkgs/nixos/tests/installed-tests/flatpak.nix
index 8aeeaca90f61..c7fe9cf45882 100644
--- a/nixpkgs/nixos/tests/installed-tests/flatpak.nix
+++ b/nixpkgs/nixos/tests/installed-tests/flatpak.nix
@@ -6,6 +6,7 @@ makeInstalledTest {
 
   testConfig = {
     xdg.portal.enable = true;
+    xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
     services.flatpak.enable = true;
     environment.systemPackages = with pkgs; [ gnupg ostree python3 ];
     virtualisation.memorySize = 2047;
diff --git a/nixpkgs/nixos/tests/installer.nix b/nixpkgs/nixos/tests/installer.nix
index bc41b6efc2e7..5525c3117b79 100644
--- a/nixpkgs/nixos/tests/installer.nix
+++ b/nixpkgs/nixos/tests/installer.nix
@@ -306,6 +306,9 @@ let
           # The test cannot access the network, so any packages we
           # need must be included in the VM.
           system.extraDependencies = with pkgs; [
+            brotli
+            brotli.dev
+            brotli.lib
             desktop-file-utils
             docbook5
             docbook_xsl_ns
@@ -315,6 +318,7 @@ let
             ntp
             perlPackages.ListCompare
             perlPackages.XMLLibXML
+            python3Minimal
             shared-mime-info
             sudo
             texinfo
@@ -334,11 +338,11 @@ let
             (pkgs.grub2_efi.override { inherit zfsSupport; })
           ]);
 
-          nix.binaryCaches = mkForce [ ];
-          nix.extraOptions = ''
-            hashed-mirrors =
-            connect-timeout = 1
-          '';
+          nix.settings = {
+            substituters = mkForce [];
+            hashed-mirrors = null;
+            connect-timeout = 1;
+          };
         };
 
       };
@@ -561,26 +565,16 @@ in {
           + " mkpart primary 2048M -1s"  # PV2
           + " set 2 lvm on",
           "udevadm settle",
-          "sleep 1",
           "pvcreate /dev/vda1 /dev/vda2",
-          "sleep 1",
           "vgcreate MyVolGroup /dev/vda1 /dev/vda2",
-          "sleep 1",
           "lvcreate --size 1G --name swap MyVolGroup",
-          "sleep 1",
           "lvcreate --size 3G --name nixos MyVolGroup",
-          "sleep 1",
           "mkswap -f /dev/MyVolGroup/swap -L swap",
           "swapon -L swap",
           "mkfs.xfs -L nixos /dev/MyVolGroup/nixos",
           "mount LABEL=nixos /mnt",
       )
     '';
-    postBootCommands = ''
-      assert "loaded active" in machine.succeed(
-          "systemctl list-units 'lvm2-pvscan@*' -ql --no-legend | tee /dev/stderr"
-      )
-    '';
   };
 
   # Boot off an encrypted root partition with the default LUKS header format
@@ -681,8 +675,6 @@ in {
           "modprobe bcache",
           "udevadm settle",
           "make-bcache -B /dev/vda4 -C /dev/vda3",
-          "echo /dev/vda3 > /sys/fs/bcache/register",
-          "echo /dev/vda4 > /sys/fs/bcache/register",
           "udevadm settle",
           "mkfs.ext3 -L nixos /dev/bcache0",
           "mount LABEL=nixos /mnt",
diff --git a/nixpkgs/nixos/tests/invoiceplane.nix b/nixpkgs/nixos/tests/invoiceplane.nix
new file mode 100644
index 000000000000..4e63f8ac21c9
--- /dev/null
+++ b/nixpkgs/nixos/tests/invoiceplane.nix
@@ -0,0 +1,82 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+{
+  name = "invoiceplane";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [
+      onny
+    ];
+  };
+
+  nodes = {
+    invoiceplane_caddy = { ... }: {
+      services.invoiceplane.webserver = "caddy";
+      services.invoiceplane.sites = {
+        "site1.local" = {
+          #database.name = "invoiceplane1";
+          database.createLocally = true;
+          enable = true;
+        };
+        "site2.local" = {
+          #database.name = "invoiceplane2";
+          database.createLocally = true;
+          enable = true;
+        };
+      };
+
+      networking.firewall.allowedTCPPorts = [ 80 ];
+      networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    invoiceplane_caddy.wait_for_unit("caddy")
+    invoiceplane_caddy.wait_for_open_port(80)
+    invoiceplane_caddy.wait_for_open_port(3306)
+
+    site_names = ["site1.local", "site2.local"]
+
+    for site_name in site_names:
+        machine.wait_for_unit(f"phpfpm-invoiceplane-{site_name}")
+
+        with subtest("Website returns welcome screen"):
+            assert "Please install InvoicePlane" in machine.succeed(f"curl -L {site_name}")
+
+        with subtest("Finish InvoicePlane setup"):
+          machine.succeed(
+            f"curl -sSfL --cookie-jar cjar {site_name}/index.php/setup/language"
+          )
+          csrf_token = machine.succeed(
+            "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
+          )
+          machine.succeed(
+            f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&ip_lang=english&btn_continue=Continue' {site_name}/index.php/setup/language"
+          )
+          csrf_token = machine.succeed(
+            "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
+          )
+          machine.succeed(
+            f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/index.php/setup/prerequisites"
+          )
+          csrf_token = machine.succeed(
+            "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
+          )
+          machine.succeed(
+            f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/index.php/setup/configure_database"
+          )
+          csrf_token = machine.succeed(
+            "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
+          )
+          machine.succeed(
+            f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/index.php/setup/install_tables"
+          )
+          csrf_token = machine.succeed(
+            "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
+          )
+          machine.succeed(
+            f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/index.php/setup/upgrade_tables"
+          )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/iscsi-multipath-root.nix b/nixpkgs/nixos/tests/iscsi-multipath-root.nix
index a26fea503b62..92ae9990c947 100644
--- a/nixpkgs/nixos/tests/iscsi-multipath-root.nix
+++ b/nixpkgs/nixos/tests/iscsi-multipath-root.nix
@@ -111,11 +111,11 @@ import ./make-test-python.nix (
 
         environment.etc."initiator-root-disk-closure".source = nodes.initiatorRootDisk.config.system.build.toplevel;
 
-        nix.binaryCaches = lib.mkForce [ ];
-        nix.extraOptions = ''
-          hashed-mirrors =
-          connect-timeout = 1
-        '';
+        nix.settings = {
+          substituters = lib.mkForce [ ];
+          hashed-mirrors = null;
+          connect-timeout = 1;
+        };
       };
 
       initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: {
diff --git a/nixpkgs/nixos/tests/iscsi-root.nix b/nixpkgs/nixos/tests/iscsi-root.nix
index bda51d2c2e42..eb0719edc379 100644
--- a/nixpkgs/nixos/tests/iscsi-root.nix
+++ b/nixpkgs/nixos/tests/iscsi-root.nix
@@ -95,11 +95,11 @@ import ./make-test-python.nix (
 
             system.extraDependencies = [ nodes.initiatorRootDisk.config.system.build.toplevel ];
 
-            nix.binaryCaches = lib.mkForce [];
-            nix.extraOptions = ''
-              hashed-mirrors =
-              connect-timeout = 1
-            '';
+            nix.settings = {
+              substituters = lib.mkForce [];
+              hashed-mirrors = null;
+              connect-timeout = 1;
+            };
           };
 
           initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: {
diff --git a/nixpkgs/nixos/tests/jibri.nix b/nixpkgs/nixos/tests/jibri.nix
index 3dd28e6aac1a..af20e639d30e 100644
--- a/nixpkgs/nixos/tests/jibri.nix
+++ b/nixpkgs/nixos/tests/jibri.nix
@@ -63,7 +63,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         """sleep 15 && curl -H "Content-Type: application/json" -X POST http://localhost:2222/jibri/api/v1.0/stopService -d '{"sessionId": "RecordTest","callParams":{"callUrlInfo":{"baseUrl": "https://machine","callName": "TestCall"}},"callLoginParams":{"domain": "recorder.machine", "username": "recorder", "password": "'"$(cat /var/lib/jitsi-meet/jibri-recorder-secret)"'" },"sinkType": "file"}'"""
     )
     machine.wait_until_succeeds(
-        "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'Recording finalize script finished with exit value 0'", timeout=36
+        "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'Finalize script finished with exit value 0'", timeout=36
     )
   '';
 })
diff --git a/nixpkgs/nixos/tests/k3s-single-node-docker.nix b/nixpkgs/nixos/tests/k3s-single-node-docker.nix
new file mode 100644
index 000000000000..7f3d15788b04
--- /dev/null
+++ b/nixpkgs/nixos/tests/k3s-single-node-docker.nix
@@ -0,0 +1,84 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+  let
+    imageEnv = pkgs.buildEnv {
+      name = "k3s-pause-image-env";
+      paths = with pkgs; [ tini (hiPrio coreutils) busybox ];
+    };
+    pauseImage = pkgs.dockerTools.streamLayeredImage {
+      name = "test.local/pause";
+      tag = "local";
+      contents = imageEnv;
+      config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ];
+    };
+    # Don't use the default service account because there's a race where it may
+    # not be created yet; make our own instead.
+    testPodYaml = pkgs.writeText "test.yml" ''
+      apiVersion: v1
+      kind: ServiceAccount
+      metadata:
+        name: test
+      ---
+      apiVersion: v1
+      kind: Pod
+      metadata:
+        name: test
+      spec:
+        serviceAccountName: test
+        containers:
+        - name: test
+          image: test.local/pause:local
+          imagePullPolicy: Never
+          command: ["sh", "-c", "sleep inf"]
+    '';
+  in
+  {
+    name = "k3s";
+    meta = with pkgs.lib.maintainers; {
+      maintainers = [ euank ];
+    };
+
+    machine = { pkgs, ... }: {
+      environment.systemPackages = with pkgs; [ k3s gzip ];
+
+      # k3s uses enough resources the default vm fails.
+      virtualisation.memorySize = 1536;
+      virtualisation.diskSize = 4096;
+
+      services.k3s = {
+        enable = true;
+        role = "server";
+        docker = true;
+        # Slightly reduce resource usage
+        extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local";
+      };
+
+      users.users = {
+        noprivs = {
+          isNormalUser = true;
+          description = "Can't access k3s by default";
+          password = "*";
+        };
+      };
+    };
+
+    testScript = ''
+      start_all()
+
+      machine.wait_for_unit("k3s")
+      machine.succeed("k3s kubectl cluster-info")
+      machine.fail("sudo -u noprivs k3s kubectl cluster-info")
+      # FIXME: this fails with the current nixos kernel config; once it passes, we should uncomment it
+      # machine.succeed("k3s check-config")
+
+      machine.succeed(
+          "${pauseImage} | docker load"
+      )
+
+      machine.succeed("k3s kubectl apply -f ${testPodYaml}")
+      machine.succeed("k3s kubectl wait --for 'condition=Ready' pod/test")
+      machine.succeed("k3s kubectl delete -f ${testPodYaml}")
+
+      machine.shutdown()
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/k3s-single-node.nix b/nixpkgs/nixos/tests/k3s-single-node.nix
new file mode 100644
index 000000000000..d98f20d468cb
--- /dev/null
+++ b/nixpkgs/nixos/tests/k3s-single-node.nix
@@ -0,0 +1,82 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+  let
+    imageEnv = pkgs.buildEnv {
+      name = "k3s-pause-image-env";
+      paths = with pkgs; [ tini (hiPrio coreutils) busybox ];
+    };
+    pauseImage = pkgs.dockerTools.streamLayeredImage {
+      name = "test.local/pause";
+      tag = "local";
+      contents = imageEnv;
+      config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ];
+    };
+    # Don't use the default service account because there's a race where it may
+    # not be created yet; make our own instead.
+    testPodYaml = pkgs.writeText "test.yml" ''
+      apiVersion: v1
+      kind: ServiceAccount
+      metadata:
+        name: test
+      ---
+      apiVersion: v1
+      kind: Pod
+      metadata:
+        name: test
+      spec:
+        serviceAccountName: test
+        containers:
+        - name: test
+          image: test.local/pause:local
+          imagePullPolicy: Never
+          command: ["sh", "-c", "sleep inf"]
+    '';
+  in
+  {
+    name = "k3s";
+    meta = with pkgs.lib.maintainers; {
+      maintainers = [ euank ];
+    };
+
+    machine = { pkgs, ... }: {
+      environment.systemPackages = with pkgs; [ k3s gzip ];
+
+      # k3s uses enough resources the default vm fails.
+      virtualisation.memorySize = 1536;
+      virtualisation.diskSize = 4096;
+
+      services.k3s.enable = true;
+      services.k3s.role = "server";
+      services.k3s.package = pkgs.k3s;
+      # Slightly reduce resource usage
+      services.k3s.extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local";
+
+      users.users = {
+        noprivs = {
+          isNormalUser = true;
+          description = "Can't access k3s by default";
+          password = "*";
+        };
+      };
+    };
+
+    testScript = ''
+      start_all()
+
+      machine.wait_for_unit("k3s")
+      machine.succeed("k3s kubectl cluster-info")
+      machine.fail("sudo -u noprivs k3s kubectl cluster-info")
+      # FIXME: this fails with the current nixos kernel config; once it passes, we should uncomment it
+      # machine.succeed("k3s check-config")
+
+      machine.succeed(
+          "${pauseImage} | k3s ctr image import -"
+      )
+
+      machine.succeed("k3s kubectl apply -f ${testPodYaml}")
+      machine.succeed("k3s kubectl wait --for 'condition=Ready' pod/test")
+      machine.succeed("k3s kubectl delete -f ${testPodYaml}")
+
+      machine.shutdown()
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/k3s.nix b/nixpkgs/nixos/tests/k3s.nix
deleted file mode 100644
index 494a3b68b59d..000000000000
--- a/nixpkgs/nixos/tests/k3s.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ... }:
-
-let
-  # A suitable k3s pause image, also used for the test pod
-  pauseImage = pkgs.dockerTools.buildImage {
-    name = "test.local/pause";
-    tag = "local";
-    contents = with pkgs; [ tini coreutils busybox ];
-    config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ];
-  };
-  testPodYaml = pkgs.writeText "test.yml" ''
-    # Don't use the default service account because there's a race where it may
-    # not be created yet; make our own instead.
-    apiVersion: v1
-    kind: ServiceAccount
-    metadata:
-      name: test
-    ---
-    apiVersion: v1
-    kind: Pod
-    metadata:
-      name: test
-    spec:
-      serviceAccountName: test
-      containers:
-      - name: test
-        image: test.local/pause:local
-        imagePullPolicy: Never
-        command: ["sh", "-c", "sleep inf"]
-  '';
-in
-{
-  name = "k3s";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ euank ];
-  };
-
-  nodes = {
-    k3s =
-      { pkgs, ... }: {
-        environment.systemPackages = [ pkgs.k3s pkgs.gzip ];
-
-        # k3s uses enough resources the default vm fails.
-        virtualisation.memorySize = pkgs.lib.mkDefault 1536;
-        virtualisation.diskSize = pkgs.lib.mkDefault 4096;
-
-        services.k3s.enable = true;
-        services.k3s.role = "server";
-        services.k3s.package = pkgs.k3s;
-        # Slightly reduce resource usage
-        services.k3s.extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local";
-
-        users.users = {
-          noprivs = {
-            isNormalUser = true;
-            description = "Can't access k3s by default";
-            password = "*";
-          };
-        };
-      };
-  };
-
-  testScript = ''
-    start_all()
-
-    k3s.wait_for_unit("k3s")
-    k3s.succeed("k3s kubectl cluster-info")
-    k3s.fail("sudo -u noprivs k3s kubectl cluster-info")
-    # k3s.succeed("k3s check-config") # fails with the current nixos kernel config, uncomment once this passes
-
-    k3s.succeed(
-        "zcat ${pauseImage} | k3s ctr image import -"
-    )
-
-    k3s.succeed("k3s kubectl apply -f ${testPodYaml}")
-    k3s.succeed("k3s kubectl wait --for 'condition=Ready' pod/test")
-  '';
-})
diff --git a/nixpkgs/nixos/tests/kubernetes/base.nix b/nixpkgs/nixos/tests/kubernetes/base.nix
index e1736f6fe172..f0c72084be5c 100644
--- a/nixpkgs/nixos/tests/kubernetes/base.nix
+++ b/nixpkgs/nixos/tests/kubernetes/base.nix
@@ -60,13 +60,6 @@ let
                   advertiseAddress = master.ip;
                 };
                 masterAddress = "${masterName}.${config.networking.domain}";
-                # workaround for:
-                #   https://github.com/kubernetes/kubernetes/issues/102676
-                #   (workaround from) https://github.com/kubernetes/kubernetes/issues/95488
-                kubelet.extraOpts = ''\
-                  --cgroups-per-qos=false \
-                  --enforce-node-allocatable="" \
-                '';
               };
             }
             (optionalAttrs (any (role: role == "master") machine.roles) {
diff --git a/nixpkgs/nixos/tests/libreswan.nix b/nixpkgs/nixos/tests/libreswan.nix
index 56ab908aed9a..ff3d2344a679 100644
--- a/nixpkgs/nixos/tests/libreswan.nix
+++ b/nixpkgs/nixos/tests/libreswan.nix
@@ -89,7 +89,7 @@ in
           """
           Sends a message as Alice to Bob
           """
-          bob.execute("nc -lu ::0 1234 >/tmp/msg >&2 &")
+          bob.execute("nc -lu ::0 1234 >/tmp/msg &")
           alice.sleep(1)
           alice.succeed(f"echo '{msg}' | nc -uw 0 bob 1234")
           bob.succeed(f"grep '{msg}' /tmp/msg")
@@ -100,7 +100,7 @@ in
           Starts eavesdropping on Alice and Bob
           """
           match = "src host alice and dst host bob"
-          eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log >&2 &")
+          eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log &")
 
 
       start_all()
diff --git a/nixpkgs/nixos/tests/lorri/default.nix b/nixpkgs/nixos/tests/lorri/default.nix
index 147ae999fdb1..c33c7503993d 100644
--- a/nixpkgs/nixos/tests/lorri/default.nix
+++ b/nixpkgs/nixos/tests/lorri/default.nix
@@ -14,7 +14,7 @@ import ../make-test-python.nix {
     )
 
     # Start the daemon and wait until it is ready
-    machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr >&2 &")
+    machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &")
     machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout")
 
     # Ping the daemon
diff --git a/nixpkgs/nixos/tests/matrix-conduit.nix b/nixpkgs/nixos/tests/matrix-conduit.nix
new file mode 100644
index 000000000000..d159fbaa4800
--- /dev/null
+++ b/nixpkgs/nixos/tests/matrix-conduit.nix
@@ -0,0 +1,95 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+  let
+    name = "conduit";
+  in
+  {
+    nodes = {
+      conduit = args: {
+        services.matrix-conduit = {
+          enable = true;
+          settings.global.server_name = name;
+          settings.global.allow_registration = true;
+          extraEnvironment.RUST_BACKTRACE = "yes";
+        };
+        services.nginx = {
+          enable = true;
+          virtualHosts.${name} = {
+            enableACME = false;
+            forceSSL = false;
+            enableSSL = false;
+
+            locations."/_matrix" = {
+              proxyPass = "http://[::1]:6167";
+            };
+          };
+        };
+        networking.firewall.allowedTCPPorts = [ 80 ];
+      };
+      client = { pkgs, ... }: {
+        environment.systemPackages = [
+          (
+            pkgs.writers.writePython3Bin "do_test"
+              { libraries = [ pkgs.python3Packages.matrix-nio ]; } ''
+              import asyncio
+
+              from nio import AsyncClient
+
+
+              async def main() -> None:
+                  # Connect to conduit
+                  client = AsyncClient("http://conduit:80", "alice")
+
+                  # Register as user alice
+                  response = await client.register("alice", "my-secret-password")
+
+                  # Log in as user alice
+                  response = await client.login("my-secret-password")
+
+                  # Create a new room
+                  response = await client.room_create(federate=False)
+                  room_id = response.room_id
+
+                  # Join the room
+                  response = await client.join(room_id)
+
+                  # Send a message to the room
+                  response = await client.room_send(
+                      room_id=room_id,
+                      message_type="m.room.message",
+                      content={
+                          "msgtype": "m.text",
+                          "body": "Hello conduit!"
+                      }
+                  )
+
+                  # Sync responses
+                  response = await client.sync(timeout=30000)
+
+                  # Check the message was received by conduit
+                  last_message = response.rooms.join[room_id].timeline.events[-1].body
+                  assert last_message == "Hello conduit!"
+
+                  # Leave the room
+                  response = await client.room_leave(room_id)
+
+                  # Close the client
+                  await client.close()
+
+              asyncio.get_event_loop().run_until_complete(main())
+            ''
+          )
+        ];
+      };
+    };
+
+    testScript = ''
+      start_all()
+
+      with subtest("start conduit"):
+            conduit.wait_for_unit("conduit.service")
+            conduit.wait_for_open_port(80)
+
+      with subtest("ensure messages can be exchanged"):
+            client.succeed("do_test")
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/miniflux.nix b/nixpkgs/nixos/tests/miniflux.nix
index 1015550fa8c7..d905aea048a3 100644
--- a/nixpkgs/nixos/tests/miniflux.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/moosefs.nix b/nixpkgs/nixos/tests/moosefs.nix
new file mode 100644
index 000000000000..0dc08748b828
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/mpd.nix b/nixpkgs/nixos/tests/mpd.nix
index 5c969fc9c917..52d9c7fd33a1 100644
--- a/nixpkgs/nixos/tests/mpd.nix
+++ b/nixpkgs/nixos/tests/mpd.nix
@@ -96,7 +96,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
     };
 
   testScript = ''
-    mpc = "${pkgs.mpc_cli}/bin/mpc --wait"
+    mpc = "${pkgs.mpc-cli}/bin/mpc --wait"
 
     # Connects to the given server and attempts to play a tune.
     def play_some_music(server):
diff --git a/nixpkgs/nixos/tests/mysql/common.nix b/nixpkgs/nixos/tests/mysql/common.nix
new file mode 100644
index 000000000000..040d360b6d99
--- /dev/null
+++ b/nixpkgs/nixos/tests/mysql/common.nix
@@ -0,0 +1,10 @@
+{ lib, pkgs }: {
+  mariadbPackages = lib.filterAttrs (n: _: lib.hasPrefix "mariadb" n) (pkgs.callPackage ../../../pkgs/servers/sql/mariadb {
+    inherit (pkgs.darwin) cctools;
+    inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
+  });
+  mysqlPackages = {
+    inherit (pkgs) mysql57 mysql80;
+  };
+  mkTestName = pkg: "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor pkg.version)}";
+}
diff --git a/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix b/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix
deleted file mode 100644
index 10682c361d1d..000000000000
--- a/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix
+++ /dev/null
@@ -1,233 +0,0 @@
-import ./../make-test-python.nix ({ pkgs, ...} :
-
-let
-  mysqlenv-common      = pkgs.buildEnv { name = "mysql-path-env-common";      pathsToLink = [ "/bin" ]; paths = with pkgs; [ bash gawk gnutar inetutils which ]; };
-  mysqlenv-mariabackup = pkgs.buildEnv { name = "mysql-path-env-mariabackup"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ gzip iproute2 netcat procps pv socat ]; };
-
-  # Common user configuration
-  users = { ... }:
-  {
-    users.users.testuser = {
-      isSystemUser = true;
-      group = "testusers";
-    };
-    users.groups.testusers = { };
-  };
-
-in {
-  name = "mariadb-galera-mariabackup";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ izorkin ];
-  };
-
-  # The test creates a Galera cluster with 3 nodes and is checking if mariabackup-based SST works. The cluster is tested by creating a DB and an empty table on one node,
-  # and checking the table's presence on the other node.
-
-  nodes = {
-    galera_01 =
-      { pkgs, ... }:
-      {
-      imports = [ users ];
-      networking = {
-        interfaces.eth1 = {
-          ipv4.addresses = [
-            { address = "192.168.1.1"; prefixLength = 24; }
-          ];
-        };
-        extraHosts = ''
-          192.168.1.1 galera_01
-          192.168.1.2 galera_02
-          192.168.1.3 galera_03
-        '';
-        firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
-        firewall.allowedUDPPorts = [ 4567 ];
-      };
-      systemd.services.mysql = with pkgs; {
-        path = [ mysqlenv-common mysqlenv-mariabackup ];
-      };
-      services.mysql = {
-        enable = true;
-        package = pkgs.mariadb;
-        ensureDatabases = [ "testdb" ];
-        ensureUsers = [{
-          name = "testuser";
-          ensurePermissions = {
-            "testdb.*" = "ALL PRIVILEGES";
-          };
-        }];
-        initialScript = pkgs.writeText "mariadb-init.sql" ''
-          GRANT ALL PRIVILEGES ON *.* TO 'check_repl'@'localhost' IDENTIFIED BY 'check_pass' WITH GRANT OPTION;
-          FLUSH PRIVILEGES;
-        '';
-        settings = {
-          mysqld = {
-            bind_address = "0.0.0.0";
-          };
-          galera = {
-            wsrep_on = "ON";
-            wsrep_debug = "NONE";
-            wsrep_retry_autocommit = "3";
-            wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so";
-            wsrep_cluster_address = "gcomm://";
-            wsrep_cluster_name = "galera";
-            wsrep_node_address = "192.168.1.1";
-            wsrep_node_name = "galera_01";
-            wsrep_sst_method = "mariabackup";
-            wsrep_sst_auth = "check_repl:check_pass";
-            binlog_format = "ROW";
-            enforce_storage_engine = "InnoDB";
-            innodb_autoinc_lock_mode = "2";
-          };
-        };
-      };
-    };
-
-    galera_02 =
-      { pkgs, ... }:
-      {
-      imports = [ users ];
-      networking = {
-        interfaces.eth1 = {
-          ipv4.addresses = [
-            { address = "192.168.1.2"; prefixLength = 24; }
-          ];
-        };
-        extraHosts = ''
-          192.168.1.1 galera_01
-          192.168.1.2 galera_02
-          192.168.1.3 galera_03
-        '';
-        firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
-        firewall.allowedUDPPorts = [ 4567 ];
-      };
-      systemd.services.mysql = with pkgs; {
-        path = [ mysqlenv-common mysqlenv-mariabackup ];
-      };
-      services.mysql = {
-        enable = true;
-        package = pkgs.mariadb;
-        settings = {
-          mysqld = {
-            bind_address = "0.0.0.0";
-          };
-          galera = {
-            wsrep_on = "ON";
-            wsrep_debug = "NONE";
-            wsrep_retry_autocommit = "3";
-            wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so";
-            wsrep_cluster_address = "gcomm://galera_01,galera_02,galera_03";
-            wsrep_cluster_name = "galera";
-            wsrep_node_address = "192.168.1.2";
-            wsrep_node_name = "galera_02";
-            wsrep_sst_method = "mariabackup";
-            wsrep_sst_auth = "check_repl:check_pass";
-            binlog_format = "ROW";
-            enforce_storage_engine = "InnoDB";
-            innodb_autoinc_lock_mode = "2";
-          };
-        };
-      };
-    };
-
-    galera_03 =
-      { pkgs, ... }:
-      {
-      imports = [ users ];
-      networking = {
-        interfaces.eth1 = {
-          ipv4.addresses = [
-            { address = "192.168.1.3"; prefixLength = 24; }
-          ];
-        };
-        extraHosts = ''
-          192.168.1.1 galera_01
-          192.168.1.2 galera_02
-          192.168.1.3 galera_03
-        '';
-        firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
-        firewall.allowedUDPPorts = [ 4567 ];
-      };
-      systemd.services.mysql = with pkgs; {
-        path = [ mysqlenv-common mysqlenv-mariabackup ];
-      };
-      services.mysql = {
-        enable = true;
-        package = pkgs.mariadb;
-        settings = {
-          mysqld = {
-            bind_address = "0.0.0.0";
-          };
-          galera = {
-            wsrep_on = "ON";
-            wsrep_debug = "NONE";
-            wsrep_retry_autocommit = "3";
-            wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so";
-            wsrep_cluster_address = "gcomm://galera_01,galera_02,galera_03";
-            wsrep_cluster_name = "galera";
-            wsrep_node_address = "192.168.1.3";
-            wsrep_node_name = "galera_03";
-            wsrep_sst_method = "mariabackup";
-            wsrep_sst_auth = "check_repl:check_pass";
-            binlog_format = "ROW";
-            enforce_storage_engine = "InnoDB";
-            innodb_autoinc_lock_mode = "2";
-          };
-        };
-      };
-    };
-  };
-
-  testScript = ''
-    galera_01.start()
-    galera_01.wait_for_unit("mysql")
-    galera_01.wait_for_open_port(3306)
-    galera_01.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
-    )
-    galera_01.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (37);'"
-    )
-    galera_02.start()
-    galera_02.wait_for_unit("mysql")
-    galera_02.wait_for_open_port(3306)
-    galera_03.start()
-    galera_03.wait_for_unit("mysql")
-    galera_03.wait_for_open_port(3306)
-    galera_02.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
-    )
-    galera_02.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
-    )
-    galera_02.succeed("systemctl stop mysql")
-    galera_01.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (38);'"
-    )
-    galera_03.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
-    )
-    galera_01.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (39);'"
-    )
-    galera_02.succeed("systemctl start mysql")
-    galera_02.wait_for_open_port(3306)
-    galera_02.succeed(
-        "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
-    )
-    galera_03.succeed(
-        "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
-    )
-    galera_01.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 39"
-    )
-    galera_02.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 38"
-    )
-    galera_03.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
-    )
-    galera_01.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
-    galera_02.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
-    galera_03.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
-  '';
-})
diff --git a/nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix b/nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix
deleted file mode 100644
index 701e01e88718..000000000000
--- a/nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix
+++ /dev/null
@@ -1,226 +0,0 @@
-import ./../make-test-python.nix ({ pkgs, ...} :
-
-let
-  mysqlenv-common      = pkgs.buildEnv { name = "mysql-path-env-common";      pathsToLink = [ "/bin" ]; paths = with pkgs; [ bash gawk gnutar inetutils which ]; };
-  mysqlenv-rsync       = pkgs.buildEnv { name = "mysql-path-env-rsync";       pathsToLink = [ "/bin" ]; paths = with pkgs; [ lsof procps rsync stunnel ]; };
-
-  # Common user configuration
-  users = { ... }:
-  {
-    users.users.testuser = {
-      isSystemUser = true;
-      group = "testusers";
-    };
-    users.groups.testusers = { };
-  };
-
-in {
-  name = "mariadb-galera-rsync";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ izorkin ];
-  };
-
-  # The test creates a Galera cluster with 3 nodes and is checking if rsync-based SST works. The cluster is tested by creating a DB and an empty table on one node,
-  # and checking the table's presence on the other node.
-
-  nodes = {
-    galera_04 =
-      { pkgs, ... }:
-      {
-      imports = [ users ];
-      networking = {
-        interfaces.eth1 = {
-          ipv4.addresses = [
-            { address = "192.168.2.1"; prefixLength = 24; }
-          ];
-        };
-        extraHosts = ''
-          192.168.2.1 galera_04
-          192.168.2.2 galera_05
-          192.168.2.3 galera_06
-        '';
-        firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
-        firewall.allowedUDPPorts = [ 4567 ];
-      };
-      systemd.services.mysql = with pkgs; {
-        path = [ mysqlenv-common mysqlenv-rsync ];
-      };
-      services.mysql = {
-        enable = true;
-        package = pkgs.mariadb;
-        ensureDatabases = [ "testdb" ];
-        ensureUsers = [{
-          name = "testuser";
-          ensurePermissions = {
-            "testdb.*" = "ALL PRIVILEGES";
-          };
-        }];
-        settings = {
-          mysqld = {
-            bind_address = "0.0.0.0";
-          };
-          galera = {
-            wsrep_on = "ON";
-            wsrep_debug = "NONE";
-            wsrep_retry_autocommit = "3";
-            wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so";
-            wsrep_cluster_address = "gcomm://";
-            wsrep_cluster_name = "galera-rsync";
-            wsrep_node_address = "192.168.2.1";
-            wsrep_node_name = "galera_04";
-            wsrep_sst_method = "rsync";
-            binlog_format = "ROW";
-            enforce_storage_engine = "InnoDB";
-            innodb_autoinc_lock_mode = "2";
-          };
-        };
-      };
-    };
-
-    galera_05 =
-      { pkgs, ... }:
-      {
-      imports = [ users ];
-      networking = {
-        interfaces.eth1 = {
-          ipv4.addresses = [
-            { address = "192.168.2.2"; prefixLength = 24; }
-          ];
-        };
-        extraHosts = ''
-          192.168.2.1 galera_04
-          192.168.2.2 galera_05
-          192.168.2.3 galera_06
-        '';
-        firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
-        firewall.allowedUDPPorts = [ 4567 ];
-      };
-      systemd.services.mysql = with pkgs; {
-        path = [ mysqlenv-common mysqlenv-rsync ];
-      };
-      services.mysql = {
-        enable = true;
-        package = pkgs.mariadb;
-        settings = {
-          mysqld = {
-            bind_address = "0.0.0.0";
-          };
-          galera = {
-            wsrep_on = "ON";
-            wsrep_debug = "NONE";
-            wsrep_retry_autocommit = "3";
-            wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so";
-            wsrep_cluster_address = "gcomm://galera_04,galera_05,galera_06";
-            wsrep_cluster_name = "galera-rsync";
-            wsrep_node_address = "192.168.2.2";
-            wsrep_node_name = "galera_05";
-            wsrep_sst_method = "rsync";
-            binlog_format = "ROW";
-            enforce_storage_engine = "InnoDB";
-            innodb_autoinc_lock_mode = "2";
-          };
-        };
-      };
-    };
-
-    galera_06 =
-      { pkgs, ... }:
-      {
-      imports = [ users ];
-      networking = {
-        interfaces.eth1 = {
-          ipv4.addresses = [
-            { address = "192.168.2.3"; prefixLength = 24; }
-          ];
-        };
-        extraHosts = ''
-          192.168.2.1 galera_04
-          192.168.2.2 galera_05
-          192.168.2.3 galera_06
-        '';
-        firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
-        firewall.allowedUDPPorts = [ 4567 ];
-      };
-      systemd.services.mysql = with pkgs; {
-        path = [ mysqlenv-common mysqlenv-rsync ];
-      };
-      services.mysql = {
-        enable = true;
-        package = pkgs.mariadb;
-        settings = {
-          mysqld = {
-            bind_address = "0.0.0.0";
-          };
-          galera = {
-            wsrep_on = "ON";
-            wsrep_debug = "NONE";
-            wsrep_retry_autocommit = "3";
-            wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so";
-            wsrep_cluster_address = "gcomm://galera_04,galera_05,galera_06";
-            wsrep_cluster_name = "galera-rsync";
-            wsrep_node_address = "192.168.2.3";
-            wsrep_node_name = "galera_06";
-            wsrep_sst_method = "rsync";
-            binlog_format = "ROW";
-            enforce_storage_engine = "InnoDB";
-            innodb_autoinc_lock_mode = "2";
-          };
-        };
-      };
-    };
-  };
-
-  testScript = ''
-    galera_04.start()
-    galera_04.wait_for_unit("mysql")
-    galera_04.wait_for_open_port(3306)
-    galera_04.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
-    )
-    galera_04.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (41);'"
-    )
-    galera_05.start()
-    galera_05.wait_for_unit("mysql")
-    galera_05.wait_for_open_port(3306)
-    galera_06.start()
-    galera_06.wait_for_unit("mysql")
-    galera_06.wait_for_open_port(3306)
-    galera_05.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
-    )
-    galera_05.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
-    )
-    galera_05.succeed("systemctl stop mysql")
-    galera_04.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (42);'"
-    )
-    galera_06.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
-    )
-    galera_04.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (43);'"
-    )
-    galera_05.succeed("systemctl start mysql")
-    galera_05.wait_for_open_port(3306)
-    galera_05.succeed(
-        "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
-    )
-    galera_06.succeed(
-        "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
-    )
-    galera_04.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 43"
-    )
-    galera_05.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 42"
-    )
-    galera_06.succeed(
-        "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
-    )
-    galera_04.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
-    galera_05.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
-    galera_06.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
-  '';
-})
diff --git a/nixpkgs/nixos/tests/mysql/mariadb-galera.nix b/nixpkgs/nixos/tests/mysql/mariadb-galera.nix
new file mode 100644
index 000000000000..c9962f49c02f
--- /dev/null
+++ b/nixpkgs/nixos/tests/mysql/mariadb-galera.nix
@@ -0,0 +1,250 @@
+{
+  system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../../.. { inherit system config; },
+  lib ? pkgs.lib
+}:
+
+let
+  inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages;
+
+  makeTest = import ./../make-test-python.nix;
+
+  # Common user configuration
+  makeGaleraTest = {
+    mariadbPackage,
+    name ? mkTestName mariadbPackage,
+    galeraPackage ? pkgs.mariadb-galera
+  }: makeTest {
+    name = "${name}-galera-mariabackup";
+    meta = with pkgs.lib.maintainers; {
+      maintainers = [ izorkin ajs124 das_j ];
+    };
+
+    # The test creates a Galera cluster with 3 nodes and is checking if mariabackup-based SST works. The cluster is tested by creating a DB and an empty table on one node,
+    # and checking the table's presence on the other node.
+    nodes = let
+      mkGaleraNode = {
+        id,
+        method
+      }: let
+        address = "192.168.1.${toString id}";
+        isFirstClusterNode = id == 1 || id == 4;
+      in {
+        users = {
+          users.testuser = {
+            isSystemUser = true;
+            group = "testusers";
+          };
+          groups.testusers = { };
+        };
+
+        networking = {
+          interfaces.eth1 = {
+            ipv4.addresses = [
+              { inherit address; prefixLength = 24; }
+            ];
+          };
+          extraHosts = lib.concatMapStringsSep "\n" (i: "192.168.1.${toString i} galera_0${toString i}") (lib.range 1 6);
+          firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
+          firewall.allowedUDPPorts = [ 4567 ];
+        };
+        systemd.services.mysql = with pkgs; {
+          path = with pkgs; [
+            bash
+            gawk
+            gnutar
+            gzip
+            inetutils
+            iproute2
+            netcat
+            procps
+            pv
+            rsync
+            socat
+            stunnel
+            which
+          ];
+        };
+        services.mysql = {
+          enable = true;
+          package = mariadbPackage;
+          ensureDatabases = lib.mkIf isFirstClusterNode [ "testdb" ];
+          ensureUsers = lib.mkIf isFirstClusterNode [{
+            name = "testuser";
+            ensurePermissions = {
+              "testdb.*" = "ALL PRIVILEGES";
+            };
+          }];
+          initialScript = lib.mkIf isFirstClusterNode (pkgs.writeText "mariadb-init.sql" ''
+            GRANT ALL PRIVILEGES ON *.* TO 'check_repl'@'localhost' IDENTIFIED BY 'check_pass' WITH GRANT OPTION;
+            FLUSH PRIVILEGES;
+          '');
+          settings = {
+            mysqld = {
+              bind_address = "0.0.0.0";
+            };
+            galera = {
+              wsrep_on = "ON";
+              wsrep_debug = "NONE";
+              wsrep_retry_autocommit = "3";
+              wsrep_provider = "${galeraPackage}/lib/galera/libgalera_smm.so";
+              wsrep_cluster_address = "gcomm://"
+                + lib.optionalString (id == 2 || id == 3) "galera_01,galera_02,galera_03"
+                + lib.optionalString (id == 5 || id == 6) "galera_04,galera_05,galera_06";
+              wsrep_cluster_name = "galera";
+              wsrep_node_address = address;
+              wsrep_node_name = "galera_0${toString id}";
+              wsrep_sst_method = method;
+              wsrep_sst_auth = "check_repl:check_pass";
+              binlog_format = "ROW";
+              enforce_storage_engine = "InnoDB";
+              innodb_autoinc_lock_mode = "2";
+            };
+          };
+        };
+      };
+    in {
+      galera_01 = mkGaleraNode {
+        id = 1;
+        method = "mariabackup";
+      };
+
+      galera_02 = mkGaleraNode {
+        id = 2;
+        method = "mariabackup";
+      };
+
+      galera_03 = mkGaleraNode {
+        id = 3;
+        method = "mariabackup";
+      };
+
+      galera_04 = mkGaleraNode {
+        id = 4;
+        method = "rsync";
+      };
+
+      galera_05 = mkGaleraNode {
+        id = 5;
+        method = "rsync";
+      };
+
+      galera_06 = mkGaleraNode {
+        id = 6;
+        method = "rsync";
+      };
+
+    };
+
+    testScript = ''
+      galera_01.start()
+      galera_01.wait_for_unit("mysql")
+      galera_01.wait_for_open_port(3306)
+      galera_01.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
+      )
+      galera_01.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (37);'"
+      )
+      galera_02.start()
+      galera_02.wait_for_unit("mysql")
+      galera_02.wait_for_open_port(3306)
+      galera_03.start()
+      galera_03.wait_for_unit("mysql")
+      galera_03.wait_for_open_port(3306)
+      galera_02.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
+      )
+      galera_02.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
+      )
+      galera_02.succeed("systemctl stop mysql")
+      galera_01.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (38);'"
+      )
+      galera_03.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
+      )
+      galera_01.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (39);'"
+      )
+      galera_02.succeed("systemctl start mysql")
+      galera_02.wait_for_open_port(3306)
+      galera_02.succeed(
+          "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
+      )
+      galera_03.succeed(
+          "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
+      )
+      galera_01.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 39"
+      )
+      galera_02.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 38"
+      )
+      galera_03.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
+      )
+      galera_01.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
+      galera_02.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
+      galera_03.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
+      galera_01.crash()
+      galera_02.crash()
+      galera_03.crash()
+
+      galera_04.start()
+      galera_04.wait_for_unit("mysql")
+      galera_04.wait_for_open_port(3306)
+      galera_04.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
+      )
+      galera_04.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (41);'"
+      )
+      galera_05.start()
+      galera_05.wait_for_unit("mysql")
+      galera_05.wait_for_open_port(3306)
+      galera_06.start()
+      galera_06.wait_for_unit("mysql")
+      galera_06.wait_for_open_port(3306)
+      galera_05.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
+      )
+      galera_05.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
+      )
+      galera_05.succeed("systemctl stop mysql")
+      galera_04.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (42);'"
+      )
+      galera_06.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
+      )
+      galera_04.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (43);'"
+      )
+      galera_05.succeed("systemctl start mysql")
+      galera_05.wait_for_open_port(3306)
+      galera_05.succeed(
+          "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
+      )
+      galera_06.succeed(
+          "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
+      )
+      galera_04.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 43"
+      )
+      galera_05.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 42"
+      )
+      galera_06.succeed(
+          "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
+      )
+      galera_04.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
+      galera_05.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
+      galera_06.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
+    '';
+  };
+in
+  lib.mapAttrs (_: mariadbPackage: makeGaleraTest { inherit mariadbPackage; }) mariadbPackages
diff --git a/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix b/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix
index b0ec7daaf054..101122f7bdef 100644
--- a/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix
+++ b/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix
@@ -1,38 +1,53 @@
-import ./../make-test-python.nix ({ pkgs, lib, ... }:
-
 {
-  name = "automysqlbackup";
-  meta.maintainers = [ lib.maintainers.aanderse ];
-
-  machine =
-    { pkgs, ... }:
-    {
-      services.mysql.enable = true;
-      services.mysql.package = pkgs.mariadb;
-      services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
+  system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../../.. { inherit system config; },
+  lib ? pkgs.lib
+}:
+
+let
+  inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages;
+
+  makeTest = import ./../make-test-python.nix;
+
+  makeAutobackupTest = {
+    package,
+    name ? mkTestName package,
+  }: makeTest {
+    name = "${name}-automysqlbackup";
+    meta.maintainers = [ lib.maintainers.aanderse ];
+
+    machine = {
+      services.mysql = {
+        inherit package;
+        enable = true;
+        initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
+      };
 
       services.automysqlbackup.enable = true;
     };
 
-  testScript = ''
-    start_all()
-
-    # Need to have mysql started so that it can be populated with data.
-    machine.wait_for_unit("mysql.service")
-
-    with subtest("Wait for testdb to be fully populated (5 rows)."):
-        machine.wait_until_succeeds(
-            "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
-        )
-
-    with subtest("Do a backup and wait for it to start"):
-        machine.start_job("automysqlbackup.service")
-        machine.wait_for_job("automysqlbackup.service")
-
-    with subtest("wait for backup file and check that data appears in backup"):
-        machine.wait_for_file("/var/backup/mysql/daily/testdb")
-        machine.succeed(
-            "${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"
-        )
-    '';
-})
+    testScript = ''
+      start_all()
+
+      # Need to have mysql started so that it can be populated with data.
+      machine.wait_for_unit("mysql.service")
+
+      with subtest("Wait for testdb to be fully populated (5 rows)."):
+          machine.wait_until_succeeds(
+              "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+          )
+
+      with subtest("Do a backup and wait for it to start"):
+          machine.start_job("automysqlbackup.service")
+          machine.wait_for_job("automysqlbackup.service")
+
+      with subtest("wait for backup file and check that data appears in backup"):
+          machine.wait_for_file("/var/backup/mysql/daily/testdb")
+          machine.succeed(
+              "${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"
+          )
+      '';
+  };
+in
+  lib.mapAttrs (_: package: makeAutobackupTest { inherit package; }) mariadbPackages
diff --git a/nixpkgs/nixos/tests/mysql/mysql-backup.nix b/nixpkgs/nixos/tests/mysql/mysql-backup.nix
index 269fddc66e1d..9335b233327a 100644
--- a/nixpkgs/nixos/tests/mysql/mysql-backup.nix
+++ b/nixpkgs/nixos/tests/mysql/mysql-backup.nix
@@ -1,56 +1,72 @@
-# Test whether mysqlBackup option works
-import ./../make-test-python.nix ({ pkgs, ... } : {
-  name = "mysql-backup";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ rvl ];
-  };
+{
+  system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../../.. { inherit system config; },
+  lib ? pkgs.lib
+}:
 
-  nodes = {
-    master = { pkgs, ... }: {
-      services.mysql = {
-        enable = true;
-        initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
-        package = pkgs.mariadb;
-      };
+let
+  inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages;
+
+  makeTest = import ./../make-test-python.nix;
+
+  makeBackupTest = {
+    package,
+    name ? mkTestName package
+  }: makeTest {
+    name = "${name}-backup";
+    meta = with pkgs.lib.maintainers; {
+      maintainers = [ rvl ];
+    };
+
+    nodes = {
+      master = { pkgs, ... }: {
+        services.mysql = {
+          inherit package;
+          enable = true;
+          initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
+        };
 
-      services.mysqlBackup = {
-        enable = true;
-        databases = [ "doesnotexist" "testdb" ];
+        services.mysqlBackup = {
+          enable = true;
+          databases = [ "doesnotexist" "testdb" ];
+        };
       };
     };
-  };
 
-  testScript = ''
-    start_all()
+    testScript = ''
+      start_all()
 
-    # Delete backup file that may be left over from a previous test run.
-    # This is not needed on Hydra but useful for repeated local test runs.
-    master.execute("rm -f /var/backup/mysql/testdb.gz")
+      # Delete backup file that may be left over from a previous test run.
+      # This is not needed on Hydra but useful for repeated local test runs.
+      master.execute("rm -f /var/backup/mysql/testdb.gz")
 
-    # Need to have mysql started so that it can be populated with data.
-    master.wait_for_unit("mysql.service")
+      # Need to have mysql started so that it can be populated with data.
+      master.wait_for_unit("mysql.service")
 
-    # Wait for testdb to be fully populated (5 rows).
-    master.wait_until_succeeds(
-        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
-    )
+      # Wait for testdb to be fully populated (5 rows).
+      master.wait_until_succeeds(
+          "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+      )
 
-    # Do a backup and wait for it to start
-    master.start_job("mysql-backup.service")
-    master.wait_for_unit("mysql-backup.service")
+      # Do a backup and wait for it to start
+      master.start_job("mysql-backup.service")
+      master.wait_for_unit("mysql-backup.service")
 
-    # wait for backup to fail, because of database 'doesnotexist'
-    master.wait_until_fails("systemctl is-active -q mysql-backup.service")
+      # wait for backup to fail, because of database 'doesnotexist'
+      master.wait_until_fails("systemctl is-active -q mysql-backup.service")
 
-    # wait for backup file and check that data appears in backup
-    master.wait_for_file("/var/backup/mysql/testdb.gz")
-    master.succeed(
-        "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello"
-    )
+      # wait for backup file and check that data appears in backup
+      master.wait_for_file("/var/backup/mysql/testdb.gz")
+      master.succeed(
+          "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello"
+      )
 
-    # Check that a failed backup is logged
-    master.succeed(
-        "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null"
-    )
-  '';
-})
+      # Check that a failed backup is logged
+      master.succeed(
+          "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null"
+      )
+    '';
+  };
+in
+  lib.mapAttrs (_: package: makeBackupTest { inherit package; }) mariadbPackages
diff --git a/nixpkgs/nixos/tests/mysql/mysql-replication.nix b/nixpkgs/nixos/tests/mysql/mysql-replication.nix
index a52372ca47ce..f6014019bd53 100644
--- a/nixpkgs/nixos/tests/mysql/mysql-replication.nix
+++ b/nixpkgs/nixos/tests/mysql/mysql-replication.nix
@@ -1,91 +1,101 @@
-import ./../make-test-python.nix ({ pkgs, ...} :
+{
+  system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../../.. { inherit system config; },
+  lib ? pkgs.lib
+}:
 
 let
+  inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages;
+
   replicateUser = "replicate";
   replicatePassword = "secret";
-in
 
-{
-  name = "mysql-replication";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco shlevy ];
-  };
+  makeTest = import ./../make-test-python.nix;
 
-  nodes = {
-    master =
-      { pkgs, ... }:
+  makeReplicationTest = {
+    package,
+    name ? mkTestName package,
+  }: makeTest {
+    name = "${name}-replication";
+    meta = with pkgs.lib.maintainers; {
+      maintainers = [ ajs124 das_j ];
+    };
 
-      {
-        services.mysql.enable = true;
-        services.mysql.package = pkgs.mariadb;
-        services.mysql.replication.role = "master";
-        services.mysql.replication.slaveHost = "%";
-        services.mysql.replication.masterUser = replicateUser;
-        services.mysql.replication.masterPassword = replicatePassword;
-        services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
+    nodes = {
+      primary = {
+        services.mysql = {
+          inherit package;
+          enable = true;
+          replication.role = "master";
+          replication.slaveHost = "%";
+          replication.masterUser = replicateUser;
+          replication.masterPassword = replicatePassword;
+          initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
+        };
         networking.firewall.allowedTCPPorts = [ 3306 ];
       };
 
-    slave1 =
-      { pkgs, nodes, ... }:
-
-      {
-        services.mysql.enable = true;
-        services.mysql.package = pkgs.mariadb;
-        services.mysql.replication.role = "slave";
-        services.mysql.replication.serverId = 2;
-        services.mysql.replication.masterHost = nodes.master.config.networking.hostName;
-        services.mysql.replication.masterUser = replicateUser;
-        services.mysql.replication.masterPassword = replicatePassword;
+      secondary1 = { nodes, ... }: {
+        services.mysql = {
+          inherit package;
+          enable = true;
+          replication.role = "slave";
+          replication.serverId = 2;
+          replication.masterHost = nodes.primary.config.networking.hostName;
+          replication.masterUser = replicateUser;
+          replication.masterPassword = replicatePassword;
+        };
       };
 
-    slave2 =
-      { pkgs, nodes, ... }:
-
-      {
-        services.mysql.enable = true;
-        services.mysql.package = pkgs.mariadb;
-        services.mysql.replication.role = "slave";
-        services.mysql.replication.serverId = 3;
-        services.mysql.replication.masterHost = nodes.master.config.networking.hostName;
-        services.mysql.replication.masterUser = replicateUser;
-        services.mysql.replication.masterPassword = replicatePassword;
+      secondary2 = { nodes, ... }: {
+        services.mysql = {
+          inherit package;
+          enable = true;
+          replication.role = "slave";
+          replication.serverId = 3;
+          replication.masterHost = nodes.primary.config.networking.hostName;
+          replication.masterUser = replicateUser;
+          replication.masterPassword = replicatePassword;
+        };
       };
-  };
+    };
 
-  testScript = ''
-    master.start()
-    master.wait_for_unit("mysql")
-    master.wait_for_open_port(3306)
-    # Wait for testdb to be fully populated (5 rows).
-    master.wait_until_succeeds(
-        "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
-    )
+    testScript = ''
+      primary.start()
+      primary.wait_for_unit("mysql")
+      primary.wait_for_open_port(3306)
+      # Wait for testdb to be fully populated (5 rows).
+      primary.wait_until_succeeds(
+          "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+      )
 
-    slave1.start()
-    slave2.start()
-    slave1.wait_for_unit("mysql")
-    slave1.wait_for_open_port(3306)
-    slave2.wait_for_unit("mysql")
-    slave2.wait_for_open_port(3306)
+      secondary1.start()
+      secondary2.start()
+      secondary1.wait_for_unit("mysql")
+      secondary1.wait_for_open_port(3306)
+      secondary2.wait_for_unit("mysql")
+      secondary2.wait_for_open_port(3306)
 
-    # wait for replications to finish
-    slave1.wait_until_succeeds(
-        "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
-    )
-    slave2.wait_until_succeeds(
-        "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
-    )
+      # wait for replications to finish
+      secondary1.wait_until_succeeds(
+          "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+      )
+      secondary2.wait_until_succeeds(
+          "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+      )
 
-    slave2.succeed("systemctl stop mysql")
-    master.succeed(
-        "echo 'insert into testdb.tests values (123, 456);' | sudo -u mysql mysql -u mysql -N"
-    )
-    slave2.succeed("systemctl start mysql")
-    slave2.wait_for_unit("mysql")
-    slave2.wait_for_open_port(3306)
-    slave2.wait_until_succeeds(
-        "echo 'select * from testdb.tests where Id = 123;' | sudo -u mysql mysql -u mysql -N | grep 456"
-    )
-  '';
-})
+      secondary2.succeed("systemctl stop mysql")
+      primary.succeed(
+          "echo 'insert into testdb.tests values (123, 456);' | sudo -u mysql mysql -u mysql -N"
+      )
+      secondary2.succeed("systemctl start mysql")
+      secondary2.wait_for_unit("mysql")
+      secondary2.wait_for_open_port(3306)
+      secondary2.wait_until_succeeds(
+          "echo 'select * from testdb.tests where Id = 123;' | sudo -u mysql mysql -u mysql -N | grep 456"
+      )
+    '';
+  };
+in
+  lib.mapAttrs (_: package: makeReplicationTest { inherit package; }) mariadbPackages
diff --git a/nixpkgs/nixos/tests/mysql/mysql.nix b/nixpkgs/nixos/tests/mysql/mysql.nix
index 2ac2b34a18e2..197e6da80e24 100644
--- a/nixpkgs/nixos/tests/mysql/mysql.nix
+++ b/nixpkgs/nixos/tests/mysql/mysql.nix
@@ -1,221 +1,149 @@
-import ./../make-test-python.nix ({ pkgs, ...}:
-
+{
+  system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../../.. { inherit system config; },
+  lib ? pkgs.lib
+}:
 
 let
-  # Setup common users
-  users = { ... }:
-  {
-    users.groups.testusers = { };
+  inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages mysqlPackages;
 
-    users.users.testuser = {
-      isSystemUser = true;
-      group = "testusers";
+  makeTest = import ./../make-test-python.nix;
+  # Setup common users
+  makeMySQLTest = {
+    package,
+    name ? mkTestName package,
+    useSocketAuth ? true,
+    hasMroonga ? true,
+    hasRocksDB ? true
+  }: makeTest {
+    inherit name;
+    meta = with lib.maintainers; {
+      maintainers = [ ajs124 das_j ];
     };
 
-    users.users.testuser2 = {
-      isSystemUser = true;
-      group = "testusers";
-    };
-  };
+    nodes = {
+      ${name} =
+        { pkgs, ... }: {
 
-in
+          users = {
+            groups.testusers = { };
 
-{
-  name = "mysql";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco shlevy ];
-  };
-
-  nodes = {
-    mysql57 =
-      { pkgs, ... }:
+            users.testuser = {
+              isSystemUser = true;
+              group = "testusers";
+            };
 
-      {
-        imports = [ users ];
-
-        services.mysql.enable = true;
-        services.mysql.initialDatabases = [
-          { name = "testdb3"; schema = ./testdb.sql; }
-        ];
-        # note that using pkgs.writeText here is generally not a good idea,
-        # as it will store the password in world-readable /nix/store ;)
-        services.mysql.initialScript = pkgs.writeText "mysql-init.sql" ''
-          CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure';
-          GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost';
-        '';
-        services.mysql.ensureDatabases = [ "testdb" "testdb2" ];
-        services.mysql.ensureUsers = [{
-          name = "testuser";
-          ensurePermissions = {
-            "testdb.*" = "ALL PRIVILEGES";
-          };
-        } {
-          name = "testuser2";
-          ensurePermissions = {
-            "testdb2.*" = "ALL PRIVILEGES";
+            users.testuser2 = {
+              isSystemUser = true;
+              group = "testusers";
+            };
           };
-        }];
-        services.mysql.package = pkgs.mysql57;
-      };
 
-    mysql80 =
-      { pkgs, ... }:
-
-      {
-        imports = [ users ];
-
-        services.mysql.enable = true;
-        services.mysql.initialDatabases = [
-          { name = "testdb3"; schema = ./testdb.sql; }
-        ];
-        # note that using pkgs.writeText here is generally not a good idea,
-        # as it will store the password in world-readable /nix/store ;)
-        services.mysql.initialScript = pkgs.writeText "mysql-init.sql" ''
-          CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure';
-          GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost';
-        '';
-        services.mysql.ensureDatabases = [ "testdb" "testdb2" ];
-        services.mysql.ensureUsers = [{
-          name = "testuser";
-          ensurePermissions = {
-            "testdb.*" = "ALL PRIVILEGES";
-          };
-        } {
-          name = "testuser2";
-          ensurePermissions = {
-            "testdb2.*" = "ALL PRIVILEGES";
+          services.mysql = {
+            enable = true;
+            initialDatabases = [
+              { name = "testdb3"; schema = ./testdb.sql; }
+            ];
+            # note that using pkgs.writeText here is generally not a good idea,
+            # as it will store the password in world-readable /nix/store ;)
+            initialScript = pkgs.writeText "mysql-init.sql" (if (!useSocketAuth) then ''
+              CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure';
+              GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost';
+            '' else ''
+              ALTER USER root@localhost IDENTIFIED WITH unix_socket;
+              DELETE FROM mysql.user WHERE password = ''' AND plugin = ''';
+              DELETE FROM mysql.user WHERE user = ''';
+              FLUSH PRIVILEGES;
+            '');
+
+            ensureDatabases = [ "testdb" "testdb2" ];
+            ensureUsers = [{
+              name = "testuser";
+              ensurePermissions = {
+                "testdb.*" = "ALL PRIVILEGES";
+              };
+            } {
+              name = "testuser2";
+              ensurePermissions = {
+                "testdb2.*" = "ALL PRIVILEGES";
+              };
+            }];
+            package = package;
+            settings = {
+              mysqld = {
+                plugin-load-add = lib.optional hasMroonga "ha_mroonga.so"
+                  ++ lib.optional hasRocksDB "ha_rocksdb.so";
+              };
+            };
           };
-        }];
-        services.mysql.package = pkgs.mysql80;
-      };
-
-    mariadb =
-      { pkgs, ... }:
-
-      {
-        imports = [ users ];
+        };
 
-        services.mysql.enable = true;
-        services.mysql.initialScript = pkgs.writeText "mariadb-init.sql" ''
-          ALTER USER root@localhost IDENTIFIED WITH unix_socket;
-          DELETE FROM mysql.user WHERE password = ''' AND plugin = ''';
-          DELETE FROM mysql.user WHERE user = ''';
-          FLUSH PRIVILEGES;
-        '';
-        services.mysql.ensureDatabases = [ "testdb" "testdb2" ];
-        services.mysql.ensureUsers = [{
-          name = "testuser";
-          ensurePermissions = {
-            "testdb.*" = "ALL PRIVILEGES";
-          };
-        } {
-          name = "testuser2";
-          ensurePermissions = {
-            "testdb2.*" = "ALL PRIVILEGES";
-          };
-        }];
-        services.mysql.settings = {
-          mysqld = {
-            plugin-load-add = [ "ha_mroonga.so" "ha_rocksdb.so" ];
-          };
+      mariadb =        {
         };
-        services.mysql.package = pkgs.mariadb;
-      };
+    };
 
+    testScript = ''
+      start_all()
+
+      machine = ${name}
+      machine.wait_for_unit("mysql")
+      machine.succeed(
+          "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"
+      )
+      machine.succeed(
+          "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser"
+      )
+      # Ensure testuser2 is not able to insert into testdb as mysql testuser2
+      machine.fail(
+          "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser2"
+      )
+      # Ensure testuser2 is not able to authenticate as mysql testuser
+      machine.fail(
+          "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser"
+      )
+      machine.succeed(
+          "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"
+      )
+
+      ${lib.optionalString hasMroonga ''
+        # Check if Mroonga plugin works
+        machine.succeed(
+            "echo 'use testdb; create table mroongadb (test_id INT, PRIMARY KEY (test_id)) ENGINE = Mroonga;' | sudo -u testuser mysql -u testuser"
+        )
+        machine.succeed(
+            "echo 'use testdb; insert into mroongadb values (25);' | sudo -u testuser mysql -u testuser"
+        )
+        machine.succeed(
+            "echo 'use testdb; select test_id from mroongadb;' | sudo -u testuser mysql -u testuser -N | grep 25"
+        )
+        machine.succeed(
+            "echo 'use testdb; drop table mroongadb;' | sudo -u testuser mysql -u testuser"
+        )
+      ''}
+
+      ${lib.optionalString hasRocksDB ''
+        # Check if RocksDB plugin works
+        machine.succeed(
+            "echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser"
+        )
+        machine.succeed(
+            "echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser"
+        )
+        machine.succeed(
+            "echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28"
+        )
+        machine.succeed(
+            "echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser"
+        )
+      ''}
+    '';
   };
-
-  testScript = ''
-    start_all()
-
-    mysql57.wait_for_unit("mysql")
-    mysql57.succeed(
-        "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"
-    )
-    mysql57.succeed(
-        "echo 'use testdb; insert into tests values (41);' | sudo -u testuser mysql -u testuser"
-    )
-    # Ensure testuser2 is not able to insert into testdb as mysql testuser2
-    mysql57.fail(
-        "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser2"
-    )
-    # Ensure testuser2 is not able to authenticate as mysql testuser
-    mysql57.fail(
-        "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser"
-    )
-    mysql57.succeed(
-        "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 41"
-    )
-    mysql57.succeed(
-        "echo 'use testdb3; select * from tests;' | mysql -u testuser3 --password=secure -N | grep 4"
-    )
-
-    mysql80.wait_for_unit("mysql")
-    mysql80.succeed(
-        "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"
-    )
-    mysql80.succeed(
-        "echo 'use testdb; insert into tests values (41);' | sudo -u testuser mysql -u testuser"
-    )
-    # Ensure testuser2 is not able to insert into testdb as mysql testuser2
-    mysql80.fail(
-        "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser2"
-    )
-    # Ensure testuser2 is not able to authenticate as mysql testuser
-    mysql80.fail(
-        "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser"
-    )
-    mysql80.succeed(
-        "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 41"
-    )
-    mysql80.succeed(
-        "echo 'use testdb3; select * from tests;' | mysql -u testuser3 --password=secure -N | grep 4"
-    )
-
-    mariadb.wait_for_unit("mysql")
-    mariadb.succeed(
-        "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser"
-    )
-    # Ensure testuser2 is not able to insert into testdb as mysql testuser2
-    mariadb.fail(
-        "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser2"
-    )
-    # Ensure testuser2 is not able to authenticate as mysql testuser
-    mariadb.fail(
-        "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"
-    )
-
-    # Check if Mroonga plugin works
-    mariadb.succeed(
-        "echo 'use testdb; create table mroongadb (test_id INT, PRIMARY KEY (test_id)) ENGINE = Mroonga;' | sudo -u testuser mysql -u testuser"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; insert into mroongadb values (25);' | sudo -u testuser mysql -u testuser"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; select test_id from mroongadb;' | sudo -u testuser mysql -u testuser -N | grep 25"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; drop table mroongadb;' | sudo -u testuser mysql -u testuser"
-    )
-
-    # Check if RocksDB plugin works
-    mariadb.succeed(
-        "echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28"
-    )
-    mariadb.succeed(
-        "echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser"
-    )
-  '';
-})
+in
+  lib.mapAttrs (_: package: makeMySQLTest {
+    inherit package;
+    hasRocksDB = false; hasMroonga = false; useSocketAuth = false;
+  }) mysqlPackages
+  // (lib.mapAttrs (_: package: makeMySQLTest {
+    inherit package;
+  }) mariadbPackages)
diff --git a/nixpkgs/nixos/tests/networking.nix b/nixpkgs/nixos/tests/networking.nix
index f46a115a07d4..2510937b5dcd 100644
--- a/nixpkgs/nixos/tests/networking.nix
+++ b/nixpkgs/nixos/tests/networking.nix
@@ -740,6 +740,7 @@ let
     routes = {
       name = "routes";
       machine = {
+        networking.useNetworkd = networkd;
         networking.useDHCP = false;
         networking.interfaces.eth0 = {
           ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ];
@@ -749,7 +750,13 @@ let
             { address = "2001:1470:fffd:2098::"; prefixLength = 64; via = "fdfd:b3f0::1"; }
           ];
           ipv4.routes = [
-            { address = "10.0.0.0"; prefixLength = 16; options = { mtu = "1500"; }; }
+            { address = "10.0.0.0"; prefixLength = 16; options = {
+              mtu = "1500";
+              # Explicitly set scope because iproute and systemd-networkd
+              # disagree on what the scope should be
+              # if the type is the default "unicast"
+              scope = "link";
+            }; }
             { address = "192.168.2.0"; prefixLength = 24; via = "192.168.1.1"; }
           ];
         };
@@ -798,6 +805,7 @@ let
                 ipv6Table, targetIPv6Table
             )
 
+      '' + optionalString (!networkd) ''
         with subtest("test clean-up of the tables"):
             machine.succeed("systemctl stop network-addresses-eth0")
             ipv4Residue = machine.succeed("ip -4 route list dev eth0 | head -n-3").strip()
diff --git a/nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix
index 80cb63df5dbe..891001e30b23 100644
--- a/nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix
+++ b/nixpkgs/nixos/tests/nextcloud/with-mysql-and-memcached.nix
@@ -40,15 +40,16 @@ in {
 
       services.mysql = {
         enable = true;
-        bind = "127.0.0.1";
+        settings.mysqld = {
+          bind-address = "127.0.0.1";
+
+          # FIXME(@Ma27) Nextcloud isn't compatible with mariadb 10.6,
+          # this is a workaround.
+          # See https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/22
+          innodb_read_only_compressed = 0;
+        };
         package = pkgs.mariadb;
 
-        # FIXME(@Ma27) Nextcloud isn't compatible with mariadb 10.6,
-        # this is a workaround.
-        # See https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/22
-        extraOptions = ''
-          innodb_read_only_compressed=0
-        '';
         initialScript = pkgs.writeText "mysql-init" ''
           CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'hunter2';
           CREATE DATABASE IF NOT EXISTS nextcloud;
diff --git a/nixpkgs/nixos/tests/nixops/default.nix b/nixpkgs/nixos/tests/nixops/default.nix
index ec3d028aabae..b25fc95f4b30 100644
--- a/nixpkgs/nixos/tests/nixops/default.nix
+++ b/nixpkgs/nixos/tests/nixops/default.nix
@@ -23,7 +23,7 @@ let
       deployer = { config, lib, nodes, pkgs, ... }: {
         imports = [ ../../modules/installer/cd-dvd/channel.nix ];
         environment.systemPackages = [ nixopsPkg ];
-        nix.binaryCaches = lib.mkForce [ ];
+        nix.settings.substituters = lib.mkForce [ ];
         users.users.person.isNormalUser = true;
         virtualisation.writableStore = true;
         virtualisation.additionalPaths = [
diff --git a/nixpkgs/nixos/tests/nixops/legacy/base-configuration.nix b/nixpkgs/nixos/tests/nixops/legacy/base-configuration.nix
index dba960f595c2..7f1c07a5c4a9 100644
--- a/nixpkgs/nixos/tests/nixops/legacy/base-configuration.nix
+++ b/nixpkgs/nixos/tests/nixops/legacy/base-configuration.nix
@@ -16,7 +16,7 @@ in
     (modulesPath + "/testing/test-instrumentation.nix")
   ];
   virtualisation.writableStore = true;
-  nix.binaryCaches = lib.mkForce [ ];
+  nix.settings.substituters = lib.mkForce [ ];
   virtualisation.graphics = false;
   documentation.enable = false;
   services.qemuGuest.enable = true;
diff --git a/nixpkgs/nixos/tests/noto-fonts.nix b/nixpkgs/nixos/tests/noto-fonts.nix
new file mode 100644
index 000000000000..049dc766bd3b
--- /dev/null
+++ b/nixpkgs/nixos/tests/noto-fonts.nix
@@ -0,0 +1,44 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "noto-fonts";
+  meta = {
+    maintainers = with lib.maintainers; [ nickcao midchildan ];
+  };
+
+  machine = {
+    imports = [ ./common/x11.nix ];
+    environment.systemPackages = [ pkgs.gnome.gedit ];
+    fonts = {
+      enableDefaultFonts = false;
+      fonts = with pkgs;[
+        noto-fonts
+        noto-fonts-cjk-sans
+        noto-fonts-cjk-serif
+        noto-fonts-emoji
+      ];
+      fontconfig.defaultFonts = {
+        serif = [ "Noto Serif" "Noto Serif CJK SC" ];
+        sansSerif = [ "Noto Sans" "Noto Sans CJK SC" ];
+        monospace = [ "Noto Sans Mono" "Noto Sans Mono CJK SC" ];
+        emoji = [ "Noto Color Emoji" ];
+      };
+    };
+  };
+
+  testScript =
+    # extracted from http://www.clagnut.com/blog/2380/
+    let testText = builtins.toFile "test.txt" ''
+      the quick brown fox jumps over the lazy dog
+      視野無限廣,窗外有藍天
+      Eĥoŝanĝo ĉiuĵaŭde.
+      いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす
+      다람쥐 헌 쳇바퀴에 타고파
+      中国智造,慧及全球
+    ''; in
+    ''
+      machine.wait_for_x()
+      machine.succeed("gedit ${testText} >&2 &")
+      machine.wait_for_window(".* - gedit")
+      machine.sleep(10)
+      machine.screenshot("screen")
+    '';
+})
diff --git a/nixpkgs/nixos/tests/os-prober.nix b/nixpkgs/nixos/tests/os-prober.nix
index c1e29b0f68b4..90375450fe1b 100644
--- a/nixpkgs/nixos/tests/os-prober.nix
+++ b/nixpkgs/nixos/tests/os-prober.nix
@@ -43,11 +43,11 @@ let
       # vda is a filesystem without partition table
       forceInstall = true;
     };
-    nix.binaryCaches = lib.mkForce [ ];
-    nix.extraOptions = ''
-      hashed-mirrors =
-      connect-timeout = 1
-    '';
+    nix.settings = {
+      substituters = lib.mkForce [];
+      hashed-mirrors = null;
+      connect-timeout = 1;
+    };
     # save some memory
     documentation.enable = false;
   };
diff --git a/nixpkgs/nixos/tests/php/fpm.nix b/nixpkgs/nixos/tests/php/fpm.nix
index 31a79bb4dbe3..718a635a6c7c 100644
--- a/nixpkgs/nixos/tests/php/fpm.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/plausible.nix b/nixpkgs/nixos/tests/plausible.nix
index 45e11f0270e6..58c1dd5cf4a8 100644
--- a/nixpkgs/nixos/tests/plausible.nix
+++ b/nixpkgs/nixos/tests/plausible.nix
@@ -8,6 +8,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     virtualisation.memorySize = 4096;
     services.plausible = {
       enable = true;
+      releaseCookiePath = "${pkgs.runCommand "cookie" { } ''
+        ${pkgs.openssl}/bin/openssl rand -base64 64 >"$out"
+      ''}";
       adminUser = {
         email = "admin@example.org";
         passwordFile = "${pkgs.writeText "pwd" "foobar"}";
diff --git a/nixpkgs/nixos/tests/prometheus-exporters.nix b/nixpkgs/nixos/tests/prometheus-exporters.nix
index 036c037e426c..323d79c5b86f 100644
--- a/nixpkgs/nixos/tests/prometheus-exporters.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/quorum.nix b/nixpkgs/nixos/tests/quorum.nix
index 498b55ace7af..31669eb7fc38 100644
--- a/nixpkgs/nixos/tests/quorum.nix
+++ b/nixpkgs/nixos/tests/quorum.nix
@@ -1,4 +1,29 @@
-import ./make-test-python.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }:
+let
+  keystore =  {
+    address = "9377bc3936de934c497e22917b81aa8774ac3bb0";
+    crypto = {
+      cipher = "aes-128-ctr";
+      ciphertext = "ad8341d8ef225650403fd366c955f41095e438dd966a3c84b3d406818c1e366c";
+      cipherparams = {
+        iv = "2a09f7a72fd6dff7c43150ff437e6ac2";
+      };
+      kdf = "scrypt";
+      kdfparams = {
+        dklen = 32;
+        n = 262144;
+        p = 1;
+        r = 8;
+        salt = "d1a153845bb80cd6274c87c5bac8ac09fdfac5ff131a6f41b5ed319667f12027";
+      };
+      mac = "a9621ad88fa1d042acca6fc2fcd711f7e05bfbadea3f30f379235570c8e270d3";
+    };
+    id = "89e847a3-1527-42f6-a321-77de0a14ce02";
+    version = 3;
+  };
+  keystore-file = pkgs.writeText "keystore-file" (builtins.toJSON keystore);
+in
+{
   name = "quorum";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ mmahut ];
@@ -62,18 +87,16 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
   testScript = ''
     start_all()
-    machine.wait_until_succeeds("mkdir -p /var/lib/quorum/keystore")
-    machine.wait_until_succeeds(
-        'echo \{\\"address\\":\\"9377bc3936de934c497e22917b81aa8774ac3bb0\\",\\"crypto\\":\{\\"cipher\\":\\"aes-128-ctr\\",\\"ciphertext\\":\\"ad8341d8ef225650403fd366c955f41095e438dd966a3c84b3d406818c1e366c\\",\\"cipherparams\\":\{\\"iv\\":\\"2a09f7a72fd6dff7c43150ff437e6ac2\\"\},\\"kdf\\":\\"scrypt\\",\\"kdfparams\\":\{\\"dklen\\":32,\\"n\\":262144,\\"p\\":1,\\"r\\":8,\\"salt\\":\\"d1a153845bb80cd6274c87c5bac8ac09fdfac5ff131a6f41b5ed319667f12027\\"\},\\"mac\\":\\"a9621ad88fa1d042acca6fc2fcd711f7e05bfbadea3f30f379235570c8e270d3\\"\},\\"id\\":\\"89e847a3-1527-42f6-a321-77de0a14ce02\\",\\"version\\":3\}\\" > /var/lib/quorum/keystore/UTC--2020-03-23T11-08-34.144812212Z--9377bc3936de934c497e22917b81aa8774ac3bb0'
+    machine.succeed("mkdir -p /var/lib/quorum/keystore")
+    machine.succeed(
+        'cp ${keystore-file} /var/lib/quorum/keystore/UTC--2020-03-23T11-08-34.144812212Z--${keystore.address}'
     )
-    machine.wait_until_succeeds(
+    machine.succeed(
         "echo fe2725c4e8f7617764b845e8d939a65c664e7956eb47ed7d934573f16488efc1 > /var/lib/quorum/nodekey"
     )
-    machine.wait_until_succeeds("systemctl restart quorum")
+    machine.succeed("systemctl restart quorum")
     machine.wait_for_unit("quorum.service")
     machine.sleep(15)
-    machine.wait_until_succeeds(
-        'geth attach /var/lib/quorum/geth.ipc --exec "eth.accounts" | grep 0x9377bc3936de934c497e22917b81aa8774ac3bb0'
-    )
+    machine.succeed('geth attach /var/lib/quorum/geth.ipc --exec "eth.accounts" | grep ${keystore.address}')
   '';
 })
diff --git a/nixpkgs/nixos/tests/retroarch.nix b/nixpkgs/nixos/tests/retroarch.nix
new file mode 100644
index 000000000000..4c96f9eabc82
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/rstudio-server.nix b/nixpkgs/nixos/tests/rstudio-server.nix
new file mode 100644
index 000000000000..c7ac7670fbd4
--- /dev/null
+++ b/nixpkgs/nixos/tests/rstudio-server.nix
@@ -0,0 +1,30 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+  {
+    name = "rstudio-server-test";
+    meta.maintainers = with pkgs.lib.maintainers; [ jbedo cfhammill ];
+
+    nodes.machine = { config, lib, pkgs, ... }: {
+      services.rstudio-server.enable = true;
+    };
+
+    nodes.customPackageMachine = { config, lib, pkgs, ... }: {
+      services.rstudio-server = {
+        enable = true;
+        package = pkgs.rstudioServerWrapper.override { packages = [ pkgs.rPackages.ggplot2 ]; };
+      };
+    };
+
+    users.testuser = {
+      uid = 1000;
+      group = "testgroup";
+    };
+    groups.testgroup.gid = 1000;
+
+    testScript = ''
+      machine.wait_for_unit("rstudio-server.service")
+      machine.succeed("curl -f -vvv -s http://127.0.0.1:8787")
+
+      customPackageMachine.wait_for_unit("rstudio-server.service")
+      customPackageMachine.succeed("curl -f -vvv -s http://127.0.0.1:8787")
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/sourcehut.nix b/nixpkgs/nixos/tests/sourcehut.nix
index d1536c593225..55757e35f9b4 100644
--- a/nixpkgs/nixos/tests/sourcehut.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/ssh-keys.nix b/nixpkgs/nixos/tests/ssh-keys.nix
index 07d422196efa..df9ff38a3b22 100644
--- a/nixpkgs/nixos/tests/ssh-keys.nix
+++ b/nixpkgs/nixos/tests/ssh-keys.nix
@@ -10,6 +10,6 @@ pkgs:
   snakeOilPublicKey = pkgs.lib.concatStrings [
     "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHA"
     "yNTYAAABBBChdA2BmwcG49OrQN33f/sj+OHL5sJhwVl2Qim0vkUJQCry1zFpKTa"
-    "9ZcDMiWaEhoAR6FGoaGI04ff7CS+1yybQ= sakeoil"
+    "9ZcDMiWaEhoAR6FGoaGI04ff7CS+1yybQ= snakeoil"
   ];
 }
diff --git a/nixpkgs/nixos/tests/starship.nix b/nixpkgs/nixos/tests/starship.nix
new file mode 100644
index 000000000000..33e9a72f7000
--- /dev/null
+++ b/nixpkgs/nixos/tests/starship.nix
@@ -0,0 +1,42 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "starship";
+  meta.maintainers = pkgs.starship.meta.maintainers;
+
+  machine = {
+    programs = {
+      fish.enable = true;
+      zsh.enable = true;
+
+      starship = {
+        enable = true;
+        settings.format = "<starship>";
+      };
+    };
+
+    environment.systemPackages = map
+      (shell: pkgs.writeScriptBin "expect-${shell}" ''
+        #!${pkgs.expect}/bin/expect -f
+
+        spawn env TERM=xterm ${shell} -i
+
+        expect "<starship>" {
+          send "exit\n"
+        } timeout {
+          send_user "\n${shell} failed to display Starship\n"
+          exit 1
+        }
+
+        expect eof
+      '')
+      [ "bash" "fish" "zsh" ];
+  };
+
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("default.target")
+
+    machine.succeed("expect-bash")
+    machine.succeed("expect-fish")
+    machine.succeed("expect-zsh")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/sudo.nix b/nixpkgs/nixos/tests/sudo.nix
index 4885d6e17b82..661fe9989e7a 100644
--- a/nixpkgs/nixos/tests/sudo.nix
+++ b/nixpkgs/nixos/tests/sudo.nix
@@ -28,6 +28,10 @@ in
           enable = true;
           wheelNeedsPassword = false;
 
+          extraConfig = ''
+            Defaults lecture="never"
+          '';
+
           extraRules = [
             # SUDOERS SYNTAX CHECK (Test whether the module produces a valid output;
             # errors being detected by the visudo checks.
@@ -73,7 +77,7 @@ in
             machine.fail('su - test1 -c "sudo -n -u root true"')
 
         with subtest("users in group 'foobar' should be able to use sudo with password"):
-            machine.succeed("sudo -u test2 echo ${password} | sudo -S -u root true")
+            machine.succeed('su - test2 -c "echo ${password} | sudo -S -u root true"')
 
         with subtest("users in group 'barfoo' should be able to use sudo without password"):
             machine.succeed("sudo -u test3 sudo -n -u root true")
diff --git a/nixpkgs/nixos/tests/sway.nix b/nixpkgs/nixos/tests/sway.nix
index 3476ebab3e26..1e9e146c4b6c 100644
--- a/nixpkgs/nixos/tests/sway.nix
+++ b/nixpkgs/nixos/tests/sway.nix
@@ -1,6 +1,4 @@
-import ./make-test-python.nix ({ pkgs, lib, ...} :
-
-{
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "sway";
   meta = {
     maintainers = with lib.maintainers; [ primeos synthetica ];
@@ -13,19 +11,38 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
 
     environment = {
       # For glinfo and wayland-info:
-      systemPackages = with pkgs; [ mesa-demos wayland-utils ];
+      systemPackages = with pkgs; [ mesa-demos wayland-utils alacritty ];
       # Use a fixed SWAYSOCK path (for swaymsg):
       variables = {
         "SWAYSOCK" = "/tmp/sway-ipc.sock";
-        "WLR_RENDERER_ALLOW_SOFTWARE" = "1";
+        # TODO: Investigate if we can get hardware acceleration to work (via
+        # virtio-gpu and Virgil). We currently have to use the Pixman software
+        # renderer since the GLES2 renderer doesn't work inside the VM (even
+        # with WLR_RENDERER_ALLOW_SOFTWARE):
+        # "WLR_RENDERER_ALLOW_SOFTWARE" = "1";
+        "WLR_RENDERER" = "pixman";
       };
       # For convenience:
       shellAliases = {
-        test-x11 = "glinfo | head -n 3 | tee /tmp/test-x11.out && touch /tmp/test-x11-exit-ok";
+        test-x11 = "glinfo | tee /tmp/test-x11.out && touch /tmp/test-x11-exit-ok";
         test-wayland = "wayland-info | tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok";
       };
+
+      # To help with OCR:
+      etc."xdg/foot/foot.ini".text = lib.generators.toINI { } {
+        main = {
+          font = "inconsolata:size=14";
+        };
+        colors = rec {
+          foreground = "000000";
+          background = "ffffff";
+          regular2 = foreground;
+        };
+      };
     };
 
+    fonts.fonts = [ pkgs.inconsolata ];
+
     # Automatically configure and start Sway when logging in on tty1:
     programs.bash.loginShellInit = ''
       if [ "$(tty)" = "/dev/tty1" ]; then
@@ -51,6 +68,14 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
   enableOCR = true;
 
   testScript = { nodes, ... }: ''
+    import shlex
+
+    def swaymsg(command: str, succeed=True):
+        with machine.nested(f"sending swaymsg {command!r}" + " (allowed to fail)" * (not succeed)):
+          (machine.succeed if succeed else machine.execute)(
+            f"su - alice -c {shlex.quote('swaymsg -- ' + command)}"
+          )
+
     start_all()
     machine.wait_for_unit("multi-user.target")
 
@@ -61,35 +86,32 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
     machine.wait_for_file("/run/user/1000/wayland-1")
     machine.wait_for_file("/tmp/sway-ipc.sock")
 
-    # Test XWayland:
-    machine.succeed(
-        "su - alice -c 'swaymsg exec WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty'"
-    )
+    # Test XWayland (foot does not support X):
+    swaymsg("exec WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty")
     machine.wait_for_text("alice@machine")
     machine.send_chars("test-x11\n")
     machine.wait_for_file("/tmp/test-x11-exit-ok")
     print(machine.succeed("cat /tmp/test-x11.out"))
+    machine.copy_from_vm("/tmp/test-x11.out")
     machine.screenshot("alacritty_glinfo")
     machine.succeed("pkill alacritty")
 
-    # Start a terminal (Alacritty) on workspace 3:
+    # Start a terminal (foot) on workspace 3:
     machine.send_key("alt-3")
-    machine.succeed(
-        "su - alice -c 'swaymsg exec WINIT_UNIX_BACKEND=wayland DISPLAY=invalid alacritty'"
-    )
+    machine.sleep(3)
+    machine.send_key("alt-ret")
     machine.wait_for_text("alice@machine")
     machine.send_chars("test-wayland\n")
     machine.wait_for_file("/tmp/test-wayland-exit-ok")
     print(machine.succeed("cat /tmp/test-wayland.out"))
-    machine.screenshot("alacritty_wayland_info")
+    machine.copy_from_vm("/tmp/test-wayland.out")
+    machine.screenshot("foot_wayland_info")
     machine.send_key("alt-shift-q")
-    machine.wait_until_fails("pgrep alacritty")
+    machine.wait_until_fails("pgrep foot")
 
     # Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if
     # $WAYLAND_DISPLAY is correctly imported into the D-Bus user env):
-    machine.succeed(
-        "su - alice -c 'swaymsg -- exec gpg --no-tty --yes --quick-generate-key test'"
-    )
+    swaymsg("exec gpg --no-tty --yes --quick-generate-key test")
     machine.wait_until_succeeds("pgrep --exact gpg")
     machine.wait_for_text("Passphrase")
     machine.screenshot("gpg_pinentry")
@@ -101,12 +123,16 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
     machine.wait_for_text("You pressed the exit shortcut.")
     machine.screenshot("sway_exit")
 
+    swaymsg("exec swaylock")
+    machine.wait_until_succeeds("pgrep -x swaylock")
+    machine.sleep(3)
+    machine.send_chars("${nodes.machine.config.users.users.alice.password}")
+    machine.send_key("ret")
+    machine.wait_until_fails("pgrep -x swaylock")
+
     # Exit Sway and verify process exit status 0:
-    machine.succeed("su - alice -c 'swaymsg exit || true'")
+    swaymsg("exit", succeed=False)
     machine.wait_until_fails("pgrep -x sway")
-
-    # TODO: Sway currently segfaults after "swaymsg exit" but only in this VM test:
-    # machine # [  104.090032] sway[921]: segfault at 3f800008 ip 00007f7dbdc25f10 sp 00007ffe282182f8 error 4 in libwayland-server.so.0.1.0[7f7dbdc1f000+8000]
-    # machine.wait_for_file("/tmp/sway-exit-ok")
+    machine.wait_for_file("/tmp/sway-exit-ok")
   '';
 })
diff --git a/nixpkgs/nixos/tests/switch-test.nix b/nixpkgs/nixos/tests/switch-test.nix
index daad9134885f..4f297b6521d1 100644
--- a/nixpkgs/nixos/tests/switch-test.nix
+++ b/nixpkgs/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";
             };
           };
         };
@@ -45,6 +46,191 @@ import ./make-test-python.nix ({ pkgs, ...} : {
           systemd.services.test.restartIfChanged = false;
         };
 
+        simpleServiceFailing.configuration = {
+          imports = [ simpleServiceModified.configuration ];
+          systemd.services.test.serviceConfig.ExecStart = lib.mkForce "${pkgs.coreutils}/bin/false";
+        };
+
+        autorestartService.configuration = {
+          # A service that immediately goes into restarting (but without failing)
+          systemd.services.autorestart = {
+            wantedBy = [ "multi-user.target" ];
+            serviceConfig = {
+              Type = "simple";
+              Restart = "always";
+              RestartSec = "20y"; # Should be long enough
+              ExecStart = "${pkgs.coreutils}/bin/true";
+            };
+          };
+        };
+
+        autorestartServiceFailing.configuration = {
+          imports = [ autorestartService.configuration ];
+          systemd.services.autorestart.serviceConfig = {
+            ExecStart = lib.mkForce "${pkgs.coreutils}/bin/false";
+          };
+        };
+
+        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 = {
+              # No wantedBy so we can check if the activation script restart triggers them
+              serviceConfig = {
+                Type = "oneshot";
+                RemainAfterExit = true;
+                ExecStart = "${pkgs.coreutils}/bin/true";
+                ExecReload = "${pkgs.coreutils}/bin/true";
+              };
+            };
+
+            simple-restart-service = simple-service // {
+              stopIfChanged = false;
+            };
+
+            simple-reload-service = simple-service // {
+              reloadIfChanged = true;
+            };
+
+            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 = {
+            supportsDryActivation = true;
+            deps = [];
+            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 = [
             {
@@ -145,12 +331,13 @@ import ./make-test-python.nix ({ pkgs, ...} : {
       exec env -i "$@" | tee /dev/stderr
     '';
   in /* python */ ''
-    def switch_to_specialisation(system, name, action="test"):
+    def switch_to_specialisation(system, name, action="test", fail=False):
         if name == "":
             stc = f"{system}/bin/switch-to-configuration"
         else:
             stc = f"{system}/specialisation/{name}/bin/switch-to-configuration"
-        out = machine.succeed(f"{stc} {action} 2>&1")
+        out = machine.fail(f"{stc} {action} 2>&1") if fail \
+            else machine.succeed(f"{stc} {action} 2>&1")
         assert_lacks(out, "switch-to-configuration line")  # Perl warnings
         return out
 
@@ -171,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"
     )
@@ -261,6 +450,233 @@ 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")
+        out = switch_to_specialisation("${machine}", "simpleServiceFailing", fail=True)
+        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_contains(out, "\nstarting the following units: test.service\n")
+        assert_lacks(out, "the following new units were started:")
+        assert_contains(out, "warning: the following units failed: test.service\n")
+        assert_contains(out, "Main PID:")  # output of systemctl
+        assert_lacks(out, "as well:")
+
+        # A unit that gets into autorestart without failing is not treated as failed
+        out = switch_to_specialisation("${machine}", "autorestartService")
+        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_contains(out, "the following new units were started: autorestart.service\n")
+        assert_lacks(out, "as well:")
+        machine.systemctl('stop autorestart.service')  # cancel the 20y timer
+
+        # Switching to the same system should do nothing (especially not treat the unit as failed)
+        out = switch_to_specialisation("${machine}", "autorestartService")
+        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_contains(out, "the following new units were started: autorestart.service\n")
+        assert_lacks(out, "as well:")
+        machine.systemctl('stop autorestart.service')  # cancel the 20y timer
+
+        # If systemd thinks the unit has failed and is in autorestart, we should show it as failed
+        out = switch_to_specialisation("${machine}", "autorestartServiceFailing", fail=True)
+        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_contains(out, "warning: the following units failed: autorestart.service\n")
+        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")
+        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, "restarting the following units:")
+        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
+        # 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: 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: 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:")
+
     with subtest("mounts"):
         switch_to_specialisation("${machine}", "mount")
         out = machine.succeed("mount | grep 'on /testmount'")
diff --git a/nixpkgs/nixos/tests/systemd-binfmt.nix b/nixpkgs/nixos/tests/systemd-binfmt.nix
index 2a676f3da98b..a3a6efac3e4d 100644
--- a/nixpkgs/nixos/tests/systemd-binfmt.nix
+++ b/nixpkgs/nixos/tests/systemd-binfmt.nix
@@ -1,24 +1,90 @@
 # Teach the kernel how to run armv7l and aarch64-linux binaries,
 # and run GNU Hello for these architectures.
-import ./make-test-python.nix ({ pkgs, ... }: {
-  name = "systemd-binfmt";
-  machine = {
-    boot.binfmt.emulatedSystems = [
-      "armv7l-linux"
-      "aarch64-linux"
-    ];
-  };
 
-  testScript = let
-    helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello;
-    helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
-  in ''
-    machine.start()
-    assert "world" in machine.succeed(
-        "${helloArmv7l}/bin/hello"
-    )
-    assert "world" in machine.succeed(
-        "${helloAarch64}/bin/hello"
-    )
+{ system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../.. { inherit system config; }
+}:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+
+let
+  expectArgv0 = xpkgs: xpkgs.runCommandCC "expect-argv0" {
+    src = pkgs.writeText "expect-argv0.c" ''
+      #include <stdio.h>
+      #include <string.h>
+
+      int main(int argc, char **argv) {
+        fprintf(stderr, "Our argv[0] is %s\n", argv[0]);
+
+        if (strcmp(argv[0], argv[1])) {
+          fprintf(stderr, "ERROR: argv[0] is %s, should be %s\n", argv[0], argv[1]);
+          return 1;
+        }
+
+        return 0;
+      }
+    '';
+  } ''
+    $CC -o $out $src
   '';
-})
+in {
+  basic = makeTest {
+    name = "systemd-binfmt";
+    machine = {
+      boot.binfmt.emulatedSystems = [
+        "armv7l-linux"
+        "aarch64-linux"
+      ];
+    };
+
+    testScript = let
+      helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello;
+      helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
+    in ''
+      machine.start()
+
+      assert "world" in machine.succeed(
+          "${helloArmv7l}/bin/hello"
+      )
+
+      assert "world" in machine.succeed(
+          "${helloAarch64}/bin/hello"
+      )
+    '';
+  };
+
+  preserveArgvZero = makeTest {
+    name = "systemd-binfmt-preserve-argv0";
+    machine = {
+      boot.binfmt.emulatedSystems = [
+        "aarch64-linux"
+      ];
+    };
+    testScript = let
+      testAarch64 = expectArgv0 pkgs.pkgsCross.aarch64-multiplatform;
+    in ''
+      machine.start()
+      machine.succeed("exec -a meow ${testAarch64} meow")
+    '';
+  };
+
+  ldPreload = makeTest {
+    name = "systemd-binfmt-ld-preload";
+    machine = {
+      boot.binfmt.emulatedSystems = [
+        "aarch64-linux"
+      ];
+    };
+    testScript = let
+      helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
+      libredirectAarch64 = pkgs.pkgsCross.aarch64-multiplatform.libredirect;
+    in ''
+      machine.start()
+
+      assert "error" not in machine.succeed(
+          "LD_PRELOAD='${libredirectAarch64}/lib/libredirect.so' ${helloAarch64}/bin/hello 2>&1"
+      ).lower()
+    '';
+  };
+}
diff --git a/nixpkgs/nixos/tests/systemd-boot.nix b/nixpkgs/nixos/tests/systemd-boot.nix
index c3899b58d6b3..51cfd82e6c4b 100644
--- a/nixpkgs/nixos/tests/systemd-boot.nix
+++ b/nixpkgs/nixos/tests/systemd-boot.nix
@@ -110,4 +110,145 @@ in
       assert "updating systemd-boot from (000.0-1-notnixos) to " in output
     '';
   };
+
+  memtest86 = makeTest {
+    name = "systemd-boot-memtest86";
+    meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
+
+    machine = { pkgs, lib, ... }: {
+      imports = [ common ];
+      boot.loader.systemd-boot.memtest86.enable = true;
+      nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+        "memtest86-efi"
+      ];
+    };
+
+    testScript = ''
+      machine.succeed("test -e /boot/loader/entries/memtest86.conf")
+      machine.succeed("test -e /boot/efi/memtest86/BOOTX64.efi")
+    '';
+  };
+
+  netbootxyz = makeTest {
+    name = "systemd-boot-netbootxyz";
+    meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
+
+    machine = { pkgs, lib, ... }: {
+      imports = [ common ];
+      boot.loader.systemd-boot.netbootxyz.enable = true;
+    };
+
+    testScript = ''
+      machine.succeed("test -e /boot/loader/entries/o_netbootxyz.conf")
+      machine.succeed("test -e /boot/efi/netbootxyz/netboot.xyz.efi")
+    '';
+  };
+
+  entryFilename = makeTest {
+    name = "systemd-boot-entry-filename";
+    meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
+
+    machine = { pkgs, lib, ... }: {
+      imports = [ common ];
+      boot.loader.systemd-boot.memtest86.enable = true;
+      boot.loader.systemd-boot.memtest86.entryFilename = "apple.conf";
+      nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+        "memtest86-efi"
+      ];
+    };
+
+    testScript = ''
+      machine.fail("test -e /boot/loader/entries/memtest86.conf")
+      machine.succeed("test -e /boot/loader/entries/apple.conf")
+      machine.succeed("test -e /boot/efi/memtest86/BOOTX64.efi")
+    '';
+  };
+
+  extraEntries = makeTest {
+    name = "systemd-boot-extra-entries";
+    meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
+
+    machine = { pkgs, lib, ... }: {
+      imports = [ common ];
+      boot.loader.systemd-boot.extraEntries = {
+        "banana.conf" = ''
+          title banana
+        '';
+      };
+    };
+
+    testScript = ''
+      machine.succeed("test -e /boot/loader/entries/banana.conf")
+      machine.succeed("test -e /boot/efi/nixos/.extra-files/loader/entries/banana.conf")
+    '';
+  };
+
+  extraFiles = makeTest {
+    name = "systemd-boot-extra-files";
+    meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
+
+    machine = { pkgs, lib, ... }: {
+      imports = [ common ];
+      boot.loader.systemd-boot.extraFiles = {
+        "efi/fruits/tomato.efi" = pkgs.netbootxyz-efi;
+      };
+    };
+
+    testScript = ''
+      machine.succeed("test -e /boot/efi/fruits/tomato.efi")
+      machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi")
+    '';
+  };
+
+  switch-test = makeTest {
+    name = "systemd-boot-switch-test";
+    meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
+
+    nodes = {
+      inherit common;
+
+      machine = { pkgs, ... }: {
+        imports = [ common ];
+        boot.loader.systemd-boot.extraFiles = {
+          "efi/fruits/tomato.efi" = pkgs.netbootxyz-efi;
+        };
+      };
+
+      with_netbootxyz = { pkgs, ... }: {
+        imports = [ common ];
+        boot.loader.systemd-boot.netbootxyz.enable = true;
+      };
+    };
+
+    testScript = { nodes, ... }: let
+      originalSystem = nodes.machine.config.system.build.toplevel;
+      baseSystem = nodes.common.config.system.build.toplevel;
+      finalSystem = nodes.with_netbootxyz.config.system.build.toplevel;
+    in ''
+      machine.succeed("test -e /boot/efi/fruits/tomato.efi")
+      machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi")
+
+      with subtest("remove files when no longer needed"):
+          machine.succeed("${baseSystem}/bin/switch-to-configuration boot")
+          machine.fail("test -e /boot/efi/fruits/tomato.efi")
+          machine.fail("test -d /boot/efi/fruits")
+          machine.succeed("test -d /boot/efi/nixos/.extra-files")
+          machine.fail("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi")
+          machine.fail("test -d /boot/efi/nixos/.extra-files/efi/fruits")
+
+      with subtest("files are added back when needed again"):
+          machine.succeed("${originalSystem}/bin/switch-to-configuration boot")
+          machine.succeed("test -e /boot/efi/fruits/tomato.efi")
+          machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi")
+
+      with subtest("simultaneously removing and adding files works"):
+          machine.succeed("${finalSystem}/bin/switch-to-configuration boot")
+          machine.fail("test -e /boot/efi/fruits/tomato.efi")
+          machine.fail("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi")
+          machine.succeed("test -e /boot/loader/entries/o_netbootxyz.conf")
+          machine.succeed("test -e /boot/efi/netbootxyz/netboot.xyz.efi")
+          machine.succeed("test -e /boot/efi/nixos/.extra-files/loader/entries/o_netbootxyz.conf")
+          machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/netbootxyz/netboot.xyz.efi")
+    '';
+  };
 }
diff --git a/nixpkgs/nixos/tests/systemd-machinectl.nix b/nixpkgs/nixos/tests/systemd-machinectl.nix
new file mode 100644
index 000000000000..4fc5864357c0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix b/nixpkgs/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix
index 68836c730729..37a89fc21e44 100644
--- a/nixpkgs/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix
+++ b/nixpkgs/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix
@@ -36,19 +36,10 @@ import ./make-test-python.nix ({pkgs, ...}: {
       };
 
       # Since we want to program the routes that we delegate to the "customer"
-      # into our routing table we must have a way to gain the required privs.
-      # This security wrapper will do in our test setup.
-      #
-      # DO NOT COPY THIS TO PRODUCTION AS IS. Think about it at least twice.
-      # Everyone on the "isp" machine will be able to add routes to the kernel.
-      security.wrappers.add-dhcpd-lease = {
-        owner = "root";
-        group = "root";
-        source = pkgs.writeShellScript "add-dhcpd-lease" ''
-          exec ${pkgs.iproute2}/bin/ip -6 route replace "$1" via "$2"
-        '';
-        capabilities = "cap_net_admin+ep";
-      };
+      # into our routing table we must give dhcpd the required privs.
+      systemd.services.dhcpd6.serviceConfig.AmbientCapabilities =
+        [ "CAP_NET_ADMIN" ];
+
       services = {
         # Configure the DHCPv6 server
         #
@@ -80,7 +71,7 @@ import ./make-test-python.nix ({pkgs, ...}: {
               set Prefix = pick-first-value(binary-to-ascii(16, 16, ":", suffix(option dhcp6.ia-pd, 16)), "n/a");
               set PrefixLength = pick-first-value(binary-to-ascii(10, 8, ":", substring(suffix(option dhcp6.ia-pd, 17), 0, 1)), "n/a");
               log(concat(IP, " ", Prefix, " ", PrefixLength));
-              execute("/run/wrappers/bin/add-dhcpd-lease", concat(Prefix,"/",PrefixLength), IP);
+              execute("${pkgs.iproute2}/bin/ip", "-6", "route", "replace", concat(Prefix,"/",PrefixLength), "via", IP);
             }
           '';
         };
diff --git a/nixpkgs/nixos/tests/systemd-networkd-vrf.nix b/nixpkgs/nixos/tests/systemd-networkd-vrf.nix
index 9f09d801f77a..8a1580fc2ada 100644
--- a/nixpkgs/nixos/tests/systemd-networkd-vrf.nix
+++ b/nixpkgs/nixos/tests/systemd-networkd-vrf.nix
@@ -161,6 +161,7 @@ in {
 
     # NOTE: please keep in mind that the trailing whitespaces in the following strings
     # are intentional as the output is compared against the raw `iproute2`-output.
+    # editorconfig-checker-disable
     client_ipv4_table = """
     192.168.1.2 dev vrf1 proto static metric 100 
     192.168.2.3 dev vrf2 proto static metric 100
@@ -177,6 +178,7 @@ in {
     local 192.168.2.1 dev eth2 proto kernel scope host src 192.168.2.1 
     broadcast 192.168.2.255 dev eth2 proto kernel scope link src 192.168.2.1
     """.strip()
+    # editorconfig-checker-enable
 
     # Check that networkd properly configures the main routing table
     # and the routing tables for the VRF.
diff --git a/nixpkgs/nixos/tests/teeworlds.nix b/nixpkgs/nixos/tests/teeworlds.nix
index 17e9eeb869b0..ac2c996955c8 100644
--- a/nixpkgs/nixos/tests/teeworlds.nix
+++ b/nixpkgs/nixos/tests/teeworlds.nix
@@ -36,12 +36,12 @@ in {
       client1.wait_for_x()
       client2.wait_for_x()
 
-      client1.execute("teeworlds 'player_name Alice;connect server'&")
+      client1.execute("teeworlds 'player_name Alice;connect server' >&2 &")
       server.wait_until_succeeds(
           'journalctl -u teeworlds -e | grep --extended-regexp -q "team_join player=\'[0-9]:Alice"'
       )
 
-      client2.execute("teeworlds 'player_name Bob;connect server'&")
+      client2.execute("teeworlds 'player_name Bob;connect server' >&2 &")
       server.wait_until_succeeds(
           'journalctl -u teeworlds -e | grep --extended-regexp -q "team_join player=\'[0-9]:Bob"'
       )
diff --git a/nixpkgs/nixos/tests/teleport.nix b/nixpkgs/nixos/tests/teleport.nix
new file mode 100644
index 000000000000..15b16e44409d
--- /dev/null
+++ b/nixpkgs/nixos/tests/teleport.nix
@@ -0,0 +1,99 @@
+{ system ? builtins.currentSystem
+, config ? { }
+, pkgs ? import ../.. { inherit system config; }
+}:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+
+let
+  minimal = { config, ... }: {
+    services.teleport.enable = true;
+  };
+
+  client = { config, ... }: {
+    services.teleport = {
+      enable = true;
+      settings = {
+        teleport = {
+          nodename = "client";
+          advertise_ip = "192.168.1.20";
+          auth_token = "8d1957b2-2ded-40e6-8297-d48156a898a9";
+          auth_servers = [ "192.168.1.10:3025" ];
+          log.severity = "DEBUG";
+        };
+        ssh_service = {
+          enabled = true;
+          labels = {
+            role = "client";
+          };
+        };
+        proxy_service.enabled = false;
+        auth_service.enabled = false;
+      };
+    };
+    networking.interfaces.eth1.ipv4.addresses = [{
+      address = "192.168.1.20";
+      prefixLength = 24;
+    }];
+  };
+
+  server = { config, ... }: {
+    services.teleport = {
+      enable = true;
+      settings = {
+        teleport = {
+          nodename = "server";
+          advertise_ip = "192.168.1.10";
+        };
+        ssh_service.enabled = true;
+        proxy_service.enabled = true;
+        auth_service = {
+          enabled = true;
+          tokens = [ "node:8d1957b2-2ded-40e6-8297-d48156a898a9" ];
+        };
+      };
+      diag.enable = true;
+      insecure.enable = true;
+    };
+    networking = {
+      firewall.allowedTCPPorts = [ 3025 ];
+      interfaces.eth1.ipv4.addresses = [{
+        address = "192.168.1.10";
+        prefixLength = 24;
+      }];
+    };
+  };
+in
+{
+  minimal = makeTest {
+    # minimal setup should always work
+    name = "teleport-minimal-setup";
+    meta.maintainers = with pkgs.lib.maintainers; [ ymatsiuk ];
+    nodes = { inherit minimal; };
+
+    testScript = ''
+      minimal.wait_for_open_port("3025")
+      minimal.wait_for_open_port("3080")
+      minimal.wait_for_open_port("3022")
+    '';
+  };
+
+  basic = makeTest {
+    # basic server and client test
+    name = "teleport-server-client";
+    meta.maintainers = with pkgs.lib.maintainers; [ ymatsiuk ];
+    nodes = { inherit server client; };
+
+    testScript = ''
+      with subtest("teleport ready"):
+          server.wait_for_open_port("3025")
+          client.wait_for_open_port("3022")
+
+      with subtest("check applied configuration"):
+          server.wait_until_succeeds("tctl get nodes --format=json | ${pkgs.jq}/bin/jq -e '.[] | select(.spec.hostname==\"client\") | .metadata.labels.role==\"client\"'")
+          server.wait_for_open_port("3000")
+          client.succeed("journalctl -u teleport.service --grep='DEBU'")
+          server.succeed("journalctl -u teleport.service --grep='Starting teleport in insecure mode.'")
+    '';
+  };
+}
diff --git a/nixpkgs/nixos/tests/thelounge.nix b/nixpkgs/nixos/tests/thelounge.nix
new file mode 100644
index 000000000000..e9b85685bf2d
--- /dev/null
+++ b/nixpkgs/nixos/tests/thelounge.nix
@@ -0,0 +1,29 @@
+import ./make-test-python.nix {
+  nodes = {
+    private = { config, pkgs, ... }: {
+      services.thelounge = {
+        enable = true;
+        plugins = [ pkgs.theLoungePlugins.themes.solarized ];
+      };
+    };
+
+    public = { config, pkgs, ... }: {
+      services.thelounge = {
+        enable = true;
+        public = true;
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    for machine in machines:
+      machine.wait_for_unit("thelounge.service")
+      machine.wait_for_open_port(9000)
+
+    private.wait_until_succeeds("journalctl -u thelounge.service | grep thelounge-theme-solarized")
+    private.wait_until_succeeds("journalctl -u thelounge.service | grep 'in private mode'")
+    public.wait_until_succeeds("journalctl -u thelounge.service | grep 'in public mode'")
+  '';
+}
diff --git a/nixpkgs/nixos/tests/tinywl.nix b/nixpkgs/nixos/tests/tinywl.nix
new file mode 100644
index 000000000000..b286cab77945
--- /dev/null
+++ b/nixpkgs/nixos/tests/tinywl.nix
@@ -0,0 +1,56 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+
+  {
+    name = "tinywl";
+    meta = {
+      maintainers = with lib.maintainers; [ primeos ];
+    };
+
+    machine = { config, ... }: {
+      # Automatically login on tty1 as a normal user:
+      imports = [ ./common/user-account.nix ];
+      services.getty.autologinUser = "alice";
+
+      environment = {
+        systemPackages = with pkgs; [ tinywl foot wayland-utils ];
+      };
+
+      # Automatically start TinyWL when logging in on tty1:
+      programs.bash.loginShellInit = ''
+        if [ "$(tty)" = "/dev/tty1" ]; then
+          set -e
+          test ! -e /tmp/tinywl.log # Only start tinywl once
+          readonly TEST_CMD="wayland-info |& tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok; read"
+          readonly FOOT_CMD="foot sh -c '$TEST_CMD'"
+          tinywl -s "$FOOT_CMD" |& tee /tmp/tinywl.log
+          touch /tmp/tinywl-exit-ok
+        fi
+      '';
+
+      # Switch to a different GPU driver (default: -vga std), otherwise TinyWL segfaults:
+      virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
+    };
+
+    testScript = { nodes, ... }: ''
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+
+      # Wait for complete startup:
+      machine.wait_until_succeeds("pgrep tinywl")
+      machine.wait_for_file("/run/user/1000/wayland-0")
+      machine.wait_until_succeeds("pgrep foot")
+      machine.wait_for_file("/tmp/test-wayland-exit-ok")
+
+      # Make a screenshot and save the result:
+      machine.screenshot("tinywl_foot")
+      print(machine.succeed("cat /tmp/test-wayland.out"))
+      machine.copy_from_vm("/tmp/test-wayland.out")
+
+      # Terminate cleanly:
+      machine.send_key("alt-esc")
+      machine.wait_until_fails("pgrep foot")
+      machine.wait_until_fails("pgrep tinywl")
+      machine.wait_for_file("/tmp/tinywl-exit-ok")
+      machine.copy_from_vm("/tmp/tinywl.log")
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/tsm-client-gui.nix b/nixpkgs/nixos/tests/tsm-client-gui.nix
new file mode 100644
index 000000000000..e4bcd344a895
--- /dev/null
+++ b/nixpkgs/nixos/tests/tsm-client-gui.nix
@@ -0,0 +1,57 @@
+# The tsm-client GUI first tries to connect to a server.
+# We can't simulate a server, so we just check if
+# it reports the correct connection failure error.
+# After that the test persuades the GUI
+# to show its main application window
+# and verifies some configuration information.
+
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
+  name = "tsm-client";
+
+  enableOCR = true;
+
+  machine = { pkgs, ... }: {
+    imports = [ ./common/x11.nix ];
+    programs.tsmClient = {
+      enable = true;
+      package = pkgs.tsm-client-withGui;
+      defaultServername = "testserver";
+      servers.testserver = {
+        # 192.0.0.8 is a "dummy address" according to RFC 7600
+        server = "192.0.0.8";
+        node = "SOME-NODE";
+        passwdDir = "/tmp";
+      };
+    };
+  };
+
+  testScript = ''
+    machine.succeed("which dsmj")  # fail early if this is missing
+    machine.wait_for_x()
+    machine.execute("DSM_LOG=/tmp dsmj -optfile=/dev/null >&2 &")
+
+    # does it report the "TCP/IP connection failure" error code?
+    machine.wait_for_window("IBM Spectrum Protect")
+    machine.wait_for_text("ANS2610S")
+    machine.send_key("esc")
+
+    # it asks to continue to restore a local backupset now;
+    # "yes" (return) leads to the main application window
+    machine.wait_for_text("backupset")
+    machine.send_key("ret")
+
+    # main window: navigate to "Connection Information"
+    machine.wait_for_text("Welcome")
+    machine.send_key("alt-f")  # "File" menu
+    machine.send_key("c")  # "Connection Information"
+
+    # "Connection Information" dialog box
+    machine.wait_for_window("Connection Information")
+    machine.wait_for_text("SOME-NODE")
+    machine.wait_for_text("${pkgs.tsm-client.passthru.unwrapped.version}")
+
+    machine.shutdown()
+  '';
+
+  meta.maintainers = [ lib.maintainers.yarny ];
+})
diff --git a/nixpkgs/nixos/tests/unifi.nix b/nixpkgs/nixos/tests/unifi.nix
index 34284811abfb..9dc7e5d04bd5 100644
--- a/nixpkgs/nixos/tests/unifi.nix
+++ b/nixpkgs/nixos/tests/unifi.nix
@@ -12,7 +12,7 @@ let
   makeAppTest = unifi: makeTest {
     name = "unifi-controller-${unifi.version}";
     meta = with pkgs.lib.maintainers; {
-      maintainers = [ zhaofengli ];
+      maintainers = [ patryk27 zhaofengli ];
     };
 
     nodes.server = {
@@ -32,4 +32,5 @@ in with pkgs; {
   unifiLTS = makeAppTest unifiLTS;
   unifi5 = makeAppTest unifi5;
   unifi6 = makeAppTest unifi6;
+  unifi7 = makeAppTest unifi7;
 }
diff --git a/nixpkgs/nixos/tests/vscodium.nix b/nixpkgs/nixos/tests/vscodium.nix
index 43a0d61c856f..688ddfe07e3e 100644
--- a/nixpkgs/nixos/tests/vscodium.nix
+++ b/nixpkgs/nixos/tests/vscodium.nix
@@ -3,11 +3,10 @@ let
     wayland = { pkgs, ... }: {
       imports = [ ./common/wayland-cage.nix ];
 
-      services.cage.program = ''
-        ${pkgs.vscodium}/bin/codium \
-          --enable-features=UseOzonePlatform \
-          --ozone-platform=wayland
-      '';
+      services.cage.program = "${pkgs.vscodium}/bin/codium";
+
+      environment.variables.NIXOS_OZONE_WL = "1";
+      environment.variables.DISPLAY = "do not use";
 
       fonts.fonts = with pkgs; [ dejavu_fonts ];
     };
@@ -34,36 +33,46 @@ let
       };
       enableOCR = true;
       testScript = ''
+        @polling_condition
+        def codium_running():
+            machine.succeed('pgrep -x codium')
+
+
         start_all()
 
         machine.wait_for_unit('graphical.target')
         machine.wait_until_succeeds('pgrep -x codium')
 
-        # Wait until vscodium is visible. "File" is in the menu bar.
-        machine.wait_for_text('File')
-        machine.screenshot('start_screen')
+        with codium_running:
+            # Wait until vscodium is visible. "File" is in the menu bar.
+            machine.wait_for_text('Get Started')
+            machine.screenshot('start_screen')
+
+            test_string = 'testfile'
 
-        test_string = 'testfile'
+            # Create a new file
+            machine.send_key('ctrl-n')
+            machine.wait_for_text('Untitled')
+            machine.screenshot('empty_editor')
 
-        # Create a new file
-        machine.send_key('ctrl-n')
-        machine.wait_for_text('Untitled')
-        machine.screenshot('empty_editor')
+            # Type a string
+            machine.send_chars(test_string)
+            machine.wait_for_text(test_string)
+            machine.screenshot('editor')
 
-        # Type a string
-        machine.send_chars(test_string)
-        machine.wait_for_text(test_string)
-        machine.screenshot('editor')
+            # Save the file
+            machine.send_key('ctrl-s')
+            machine.wait_for_text('Save')
+            machine.screenshot('save_window')
+            machine.send_key('ret')
 
-        # Save the file
-        machine.send_key('ctrl-s')
-        machine.wait_for_text('Save')
-        machine.screenshot('save_window')
-        machine.send_key('ret')
+            # (the default filename is the first line of the file)
+            machine.wait_for_file(f'/home/alice/{test_string}')
 
-        # (the default filename is the first line of the file)
-        machine.wait_for_file(f'/home/alice/{test_string}')
+        machine.send_key('ctrl-q')
+        machine.wait_until_fails('pgrep -x codium')
       '';
     });
 
-in builtins.mapAttrs (k: v: mkTest k v { }) tests
+in
+builtins.mapAttrs (k: v: mkTest k v { }) tests
diff --git a/nixpkgs/nixos/tests/web-servers/agate.nix b/nixpkgs/nixos/tests/web-servers/agate.nix
new file mode 100644
index 000000000000..e364e134cfda
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/wine.nix b/nixpkgs/nixos/tests/wine.nix
index c46c7d338b2e..cc449864c762 100644
--- a/nixpkgs/nixos/tests/wine.nix
+++ b/nixpkgs/nixos/tests/wine.nix
@@ -17,7 +17,7 @@ let
 
       machine = { pkgs, ... }: {
         environment.systemPackages = [ pkgs."${packageSet}"."${variant}" ];
-        virtualisation.diskSize = "800";
+        virtualisation.diskSize = 800;
       };
 
       testScript = ''
@@ -35,7 +35,7 @@ let
     };
   };
 
-  variants = [ "base" "full" "minimal" "staging" "unstable" ];
+  variants = [ "base" "full" "minimal" "staging" "unstable" "wayland" ];
 
 in listToAttrs (map (makeWineTest "winePackages" [ hello32 ]) variants
   ++ map (makeWineTest "wineWowPackages" [ hello32 hello64 ]) variants)
diff --git a/nixpkgs/nixos/tests/wordpress.nix b/nixpkgs/nixos/tests/wordpress.nix
index f7f39668c86e..416a20aa7fe8 100644
--- a/nixpkgs/nixos/tests/wordpress.nix
+++ b/nixpkgs/nixos/tests/wordpress.nix
@@ -15,15 +15,12 @@ import ./make-test-python.nix ({ pkgs, ... }:
       services.httpd.adminAddr = "webmaster@site.local";
       services.httpd.logPerVirtualHost = true;
 
-      services.wordpress = {
-        # Test support for old interface
+      services.wordpress.sites = {
         "site1.local" = {
           database.tablePrefix = "site1_";
         };
-        sites = {
-          "site2.local" = {
-            database.tablePrefix = "site2_";
-          };
+        "site2.local" = {
+          database.tablePrefix = "site2_";
         };
       };
 
diff --git a/nixpkgs/nixos/tests/wpa_supplicant.nix b/nixpkgs/nixos/tests/wpa_supplicant.nix
index 1d669d5016a7..40d934b8e1db 100644
--- a/nixpkgs/nixos/tests/wpa_supplicant.nix
+++ b/nixpkgs/nixos/tests/wpa_supplicant.nix
@@ -27,8 +27,19 @@ import ./make-test-python.nix ({ pkgs, lib, ...}:
       enable = lib.mkOverride 0 true;
       userControlled.enable = true;
       interfaces = [ "wlan1" ];
+      fallbackToWPA2 = true;
 
       networks = {
+        # test WPA2 fallback
+        mixed-wpa = {
+          psk = "password";
+          authProtocols = [ "WPA-PSK" "SAE" ];
+        };
+        sae-only = {
+          psk = "password";
+          authProtocols = [ "SAE" ];
+        };
+
         # test network
         nixos-test.psk = "@PSK_NIXOS_TEST@";
 
@@ -64,8 +75,12 @@ import ./make-test-python.nix ({ pkgs, lib, ...}:
           machine.succeed(f"grep -q @PSK_MISSING@ {config_file}")
           machine.succeed(f"grep -q P@ssowrdWithSome@tSymbol {config_file}")
 
-          # save file for manual inspection
-          machine.copy_from_vm(config_file)
+      with subtest("WPA2 fallbacks have been generated"):
+          assert int(machine.succeed(f"grep -c sae-only {config_file}")) == 1
+          assert int(machine.succeed(f"grep -c mixed-wpa {config_file}")) == 2
+
+      # save file for manual inspection
+      machine.copy_from_vm(config_file)
 
       with subtest("Daemon is running and accepting connections"):
           machine.wait_for_unit("wpa_supplicant-wlan1.service")
diff --git a/nixpkgs/nixos/tests/xmonad.nix b/nixpkgs/nixos/tests/xmonad.nix
index 078cd2118107..a2fb38e53bd1 100644
--- a/nixpkgs/nixos/tests/xmonad.nix
+++ b/nixpkgs/nixos/tests/xmonad.nix
@@ -1,7 +1,58 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...}:
+
+let
+  mkConfig = name: keys: ''
+    import XMonad
+    import XMonad.Operations (restart)
+    import XMonad.Util.EZConfig
+    import XMonad.Util.SessionStart
+    import Control.Monad (when)
+    import Text.Printf (printf)
+    import System.Posix.Process (executeFile)
+    import System.Info (arch,os)
+    import System.Environment (getArgs)
+    import System.FilePath ((</>))
+
+    main = launch $ def { startupHook = startup } `additionalKeysP` myKeys
+
+    startup = isSessionStart >>= \sessInit ->
+      spawn "touch /tmp/${name}"
+        >> if sessInit then setSessionStarted else spawn "xterm"
+
+    myKeys = [${builtins.concatStringsSep ", " keys}]
+
+    compiledConfig = printf "xmonad-%s-%s" arch os
+
+    compileRestart resume =
+      whenX (recompile True) $
+        when resume writeStateToFile
+          *> catchIO
+            ( do
+                dir <- getXMonadDataDir
+                args <- getArgs
+                executeFile (dir </> compiledConfig) False args Nothing
+            )
+  '';
+
+  oldKeys =
+    [ ''("M-C-x", spawn "xterm")''
+      ''("M-q", restart "xmonad" True)''
+      ''("M-C-q", compileRestart True)''
+      ''("M-C-t", spawn "touch /tmp/somefile")'' # create somefile
+    ];
+
+  newKeys =
+    [ ''("M-C-x", spawn "xterm")''
+      ''("M-q", restart "xmonad" True)''
+      ''("M-C-q", compileRestart True)''
+      ''("M-C-r", spawn "rm /tmp/somefile")'' # delete somefile
+    ];
+
+  newConfig = pkgs.writeText "xmonad.hs" (mkConfig "newXMonad" newKeys);
+in {
   name = "xmonad";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ nequissimus ];
+    maintainers = [ nequissimus ivanbrennan ];
   };
 
   machine = { pkgs, ... }: {
@@ -10,21 +61,10 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     services.xserver.displayManager.defaultSession = "none+xmonad";
     services.xserver.windowManager.xmonad = {
       enable = true;
+      enableConfiguredRecompile = true;
       enableContribAndExtras = true;
       extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ];
-      config = ''
-        import XMonad
-        import XMonad.Operations (restart)
-        import XMonad.Util.EZConfig
-        import XMonad.Util.SessionStart
-
-        main = launch $ def { startupHook = startup } `additionalKeysP` myKeys
-
-        startup = isSessionStart >>= \sessInit ->
-          if sessInit then setSessionStarted else spawn "xterm"
-
-        myKeys = [ ("M-C-x", spawn "xterm"), ("M-q", restart "xmonad" True) ]
-      '';
+      config = mkConfig "oldXMonad" oldKeys;
     };
   };
 
@@ -38,10 +78,37 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     machine.wait_for_window("${user.name}.*machine")
     machine.sleep(1)
     machine.screenshot("terminal1")
+    machine.succeed("rm /tmp/oldXMonad")
     machine.send_key("alt-q")
-    machine.sleep(3)
+    machine.wait_for_file("/tmp/oldXMonad")
     machine.wait_for_window("${user.name}.*machine")
     machine.sleep(1)
     machine.screenshot("terminal2")
+
+    # /tmp/somefile should not exist yet
+    machine.fail("stat /tmp/somefile")
+
+    # original config has a keybinding that creates somefile
+    machine.send_key("alt-ctrl-t")
+    machine.wait_for_file("/tmp/somefile")
+
+    # set up the new config
+    machine.succeed("mkdir -p ${user.home}/.xmonad")
+    machine.copy_from_host("${newConfig}", "${user.home}/.xmonad/xmonad.hs")
+
+    # recompile xmonad using the new config
+    machine.send_key("alt-ctrl-q")
+    machine.wait_for_file("/tmp/newXMonad")
+
+    # new config has a keybinding that deletes somefile
+    machine.send_key("alt-ctrl-r")
+    machine.wait_until_fails("stat /tmp/somefile", timeout=30)
+
+    # restart with the old config, and confirm the old keybinding is back
+    machine.succeed("rm /tmp/oldXMonad")
+    machine.send_key("alt-q")
+    machine.wait_for_file("/tmp/oldXMonad")
+    machine.send_key("alt-ctrl-t")
+    machine.wait_for_file("/tmp/somefile")
   '';
 })
diff --git a/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix b/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix
deleted file mode 100644
index 9a00bcabf389..000000000000
--- a/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-import ../make-test-python.nix {
-  name = "prosody-mysql";
-
-  nodes = {
-    client = { nodes, pkgs, ... }: {
-      environment.systemPackages = [
-        (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
-      ];
-      networking.extraHosts = ''
-        ${nodes.server.config.networking.primaryIPAddress} example.com
-        ${nodes.server.config.networking.primaryIPAddress} conference.example.com
-        ${nodes.server.config.networking.primaryIPAddress} uploads.example.com
-      '';
-    };
-    server = { config, pkgs, ... }: {
-      nixpkgs.overlays = [
-        (self: super: {
-          prosody = super.prosody.override {
-            withDBI = true;
-            withExtraLibs = [ pkgs.luaPackages.luadbi-mysql ];
-          };
-        })
-      ];
-      networking.extraHosts = ''
-        ${config.networking.primaryIPAddress} example.com
-        ${config.networking.primaryIPAddress} conference.example.com
-        ${config.networking.primaryIPAddress} uploads.example.com
-      '';
-      networking.firewall.enable = false;
-      services.prosody = {
-        enable = true;
-        # TODO: use a self-signed certificate
-        c2sRequireEncryption = false;
-        extraConfig = ''
-          storage = "sql"
-          sql = {
-            driver = "MySQL";
-            database = "prosody";
-            host = "mysql";
-            port = 3306;
-            username = "prosody";
-            password = "password123";
-          };
-        '';
-        virtualHosts.test = {
-          domain = "example.com";
-          enabled = true;
-        };
-        muc = [
-          {
-            domain = "conference.example.com";
-          }
-        ];
-        uploadHttp = {
-          domain = "uploads.example.com";
-        };
-      };
-    };
-    mysql = { config, pkgs, ... }: {
-      networking.firewall.enable = false;
-      services.mysql = {
-        enable = true;
-        initialScript = pkgs.writeText "mysql_init.sql" ''
-          CREATE DATABASE prosody;
-          CREATE USER 'prosody'@'server' IDENTIFIED BY 'password123';
-          GRANT ALL PRIVILEGES ON prosody.* TO 'prosody'@'server';
-          FLUSH PRIVILEGES;
-        '';
-        package = pkgs.mariadb;
-      };
-    };
-  };
-
-  testScript = { nodes, ... }: ''
-    mysql.wait_for_unit("mysql.service")
-    server.wait_for_unit("prosody.service")
-    server.succeed('prosodyctl status | grep "Prosody is running"')
-
-    # set password to 'nothunter2' (it's asked twice)
-    server.succeed("yes nothunter2 | prosodyctl adduser cthon98@example.com")
-    # set password to 'y'
-    server.succeed("yes | prosodyctl adduser azurediamond@example.com")
-    # correct password to 'hunter2'
-    server.succeed("yes hunter2 | prosodyctl passwd azurediamond@example.com")
-
-    client.succeed("send-message")
-
-    server.succeed("prosodyctl deluser cthon98@example.com")
-    server.succeed("prosodyctl deluser azurediamond@example.com")
-  '';
-}
-
diff --git a/nixpkgs/nixos/tests/xxh.nix b/nixpkgs/nixos/tests/xxh.nix
new file mode 100644
index 000000000000..3af8e53779e3
--- /dev/null
+++ b/nixpkgs/nixos/tests/xxh.nix
@@ -0,0 +1,67 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+
+  let
+    inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
+    xxh-shell-zsh = pkgs.stdenv.mkDerivation {
+      pname = "xxh-shell-zsh";
+      version = "";
+      src = pkgs.fetchFromGitHub {
+        owner = "xxh";
+        repo = "xxh-shell-zsh";
+        # gets rarely updated, we can then just replace the hash
+        rev = "91e1f84f8d6e0852c3235d4813f341230cac439f";
+        sha256 = "sha256-Y1FrIRxTd0yooK+ZzKcCd6bLSy5E2fRXYAzrIsm7rIc=";
+      };
+
+      postPatch = ''
+        substituteInPlace build.sh \
+          --replace "echo Install wget or curl" "cp ${zsh-portable-binary} zsh-5.8-linux-x86_64.tar.gz" \
+          --replace "command -v curl" "command -v this-should-not-trigger"
+      '';
+
+      installPhase = ''
+        mkdir -p $out
+        mv * $out/
+      '';
+    };
+
+    zsh-portable-binary = pkgs.fetchurl {
+      # kept in sync with https://github.com/xxh/xxh-shell-zsh/tree/master/build.sh#L27
+      url = "https://github.com/romkatv/zsh-bin/releases/download/v3.0.1/zsh-5.8-linux-x86_64.tar.gz";
+      sha256 = "sha256-i8flMd2Isc0uLoeYQNDnOGb/kK3oTFVqQgIx7aOAIIo=";
+    };
+  in
+  {
+    name = "xxh";
+    meta = with lib.maintainers; {
+      maintainers = [ lom ];
+    };
+
+    nodes = {
+      server = { ... }: {
+        services.openssh.enable = true;
+        users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ];
+      };
+
+      client = { ... }: {
+        programs.zsh.enable = true;
+        users.users.root.shell = pkgs.zsh;
+        environment.systemPackages = with pkgs; [ xxh git ];
+      };
+    };
+
+    testScript = ''
+      start_all()
+
+      client.succeed("mkdir -m 700 /root/.ssh")
+
+      client.succeed(
+         "cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa"
+      )
+      client.succeed("chmod 600 /root/.ssh/id_ecdsa")
+
+      server.wait_for_unit("sshd")
+
+      client.succeed("xxh server -i /root/.ssh/id_ecdsa +hc \'echo $0\' +i +s zsh +I xxh-shell-zsh+path+${xxh-shell-zsh} | grep -Fq '/root/.xxh/.xxh/shells/xxh-shell-zsh/build/zsh-bin/bin/zsh'")
+    '';
+  })
diff --git a/nixpkgs/pkgs/applications/accessibility/contrast/default.nix b/nixpkgs/pkgs/applications/accessibility/contrast/default.nix
index 44bee86880a7..2f9e40616d57 100644
--- a/nixpkgs/pkgs/applications/accessibility/contrast/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/accessibility/squeekboard/default.nix b/nixpkgs/pkgs/applications/accessibility/squeekboard/default.nix
index 18bcb04c65c9..db139ab39d08 100644
--- a/nixpkgs/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/nixpkgs/pkgs/applications/accessibility/squeekboard/default.nix
@@ -19,14 +19,15 @@
 
 stdenv.mkDerivation rec {
   pname = "squeekboard";
-  version = "1.14.0";
+  version = "1.16.0";
 
   src = fetchFromGitLab {
-    domain = "source.puri.sm";
-    owner = "Librem5";
+    domain = "gitlab.gnome.org";
+    group = "World";
+    owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ayap40pgzcpmfydk5pbf3gwhh26m3cmbk6lyly4jihr9qw7dgb0";
+    sha256 = "sha256-51Grkn6NSR6azTRuq1vdbDg7d3HuQQ+ZJCsM2mSrSHk=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
@@ -35,18 +36,9 @@ stdenv.mkDerivation rec {
       cat Cargo.toml.in Cargo.deps > Cargo.toml
     '';
     name = "${pname}-${version}";
-    sha256 = "0148ynzmapxfrlccikf20ikmi0ssbkn9fl5wi6nh6azflv50pzzn";
+    sha256 = "sha256-vQaiEENxaQxBGYP1br03wSkU7OGOYkJvMBUAOeb3jGk=";
   };
 
-  patches = [
-    # remove when updating from 1.14.0
-    (fetchpatch {
-      name = "fix-rust-1.54-build.patch";
-      url = "https://gitlab.gnome.org/World/Phosh/squeekboard/-/commit/9cd56185c59ace535a6af26384ef6beca4423816.patch";
-      sha256 = "sha256-8rWcfhQmGiwlc2lpkRvJ95XQp1Xg7St+0K85x8nQ0mk=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix b/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
index eb9ddb091693..f9cad958c02c 100644
--- a/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
+++ b/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "svkbd";
-  version = "0.4";
+  version = "0.4.1";
 
   src = fetchurl {
     url = "https://dl.suckless.org/tools/svkbd-${version}.tar.gz";
-    sha256 = "sha256-j9RW5/4cb8l3FK9jpFf206l1rQhCR5H/WMiu7I6rzV8=";
+    sha256 = "sha256-+8Jh/D4dgULhRXtC1tZQg6AK4POh9czyRyrMi0auD1o=";
   };
 
   inherit patches;
diff --git a/nixpkgs/pkgs/applications/audio/ChowCentaur/default.nix b/nixpkgs/pkgs/applications/audio/ChowCentaur/default.nix
new file mode 100644
index 000000000000..80f5768dc157
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/ChowCentaur/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, cairo, libxkbcommon
+, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor
+, alsa-lib, libjack2, lv2, gcc-unwrapped }:
+
+stdenv.mkDerivation rec {
+  pname = "ChowCentaur";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "jatinchowdhury18";
+    repo = "KlonCentaur";
+    rev = "v${version}";
+    sha256 = "0mrzlf4a6f25xd7z9xanpyq7ybb4al01dzpjsgi0jkmlmadyhc4h";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [
+    cairo
+    libxkbcommon
+    xcbutilcursor
+    xcbutilkeysyms
+    xcbutil
+    libXrandr
+    libXinerama
+    libXcursor
+    alsa-lib
+    libjack2
+    lv2
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
+    "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2 $out/lib/vst3
+    cd ChowCentaur/ChowCentaur_artefacts/Release
+    cp -r LV2/ChowCentaur.lv2 $out/lib/lv2
+    cp -r VST3/ChowCentaur.vst3 $out/lib/vst3
+  '';
+
+  meta = with lib; {
+    description =
+      "Digital emulation of the Klon Centaur guitar pedal using RNNs, Wave Digital Filters, and more";
+    homepage = "https://github.com/jatinchowdhury18/KlonCentaur";
+    license = licenses.bsd3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ magnetophon ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/audacity/default.nix b/nixpkgs/pkgs/applications/audio/audacity/default.nix
index 0e4afa4af7cf..9d4c522edc1a 100644
--- a/nixpkgs/pkgs/applications/audio/audacity/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/aumix/default.nix b/nixpkgs/pkgs/applications/audio/aumix/default.nix
index 51dda20cc3a1..2603e88fcbdb 100644
--- a/nixpkgs/pkgs/applications/audio/aumix/default.nix
+++ b/nixpkgs/pkgs/applications/audio/aumix/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , gettext
 , ncurses
 , gtkGUI ? false
@@ -17,6 +18,16 @@ stdenv.mkDerivation rec {
     sha256 = "0a8fwyxnc5qdxff8sl2sfsbnvgh6pkij4yafiln0fxgg6bal7knj";
   };
 
+  patches = [
+    # Pull Gentoo fix for -fno-common toolchains. Upstream does not
+    # seem to have the contacts
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-sound/aumix/files/aumix-2.9.1-fno-common.patch?id=496c9ec7355f06f6d1d19be780a6981503e6df1f";
+      sha256 = "0qwylhx1hawsmx1pc7ykrjq9phksc73dq9rss6ggq15n3ggnc95y";
+    })
+  ];
+
   buildInputs = [ gettext ncurses ]
     ++ lib.optionals gtkGUI [ pkg-config gtk2 ];
 
diff --git a/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix b/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
index e8d2ada38783..a5ef585969e6 100644
--- a/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
+++ b/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
@@ -1,40 +1,46 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, fetchzip
-, libjack2, alsa-lib, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
-, libGL, python3, ncurses, libusb1
-, gtk3, webkitgtk, curl, xvfb-run, makeWrapper
-  # "Debug", or "Release"
-, buildType ? "Release"
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchzip
+, cmake
+, pkg-config
+, ninja
+, makeWrapper
+, libjack2
+, alsa-lib
+, alsa-tools
+, freetype
+, libusb1
+, libX11
+, libXrandr
+, libXinerama
+, libXext
+, libXcursor
+, libXScrnSaver
+, libGL
+, libxcb
+, xcbutil
+, libxkbcommon
+, xcbutilkeysyms
+, xcb-util-cursor
+, gtk3
+, webkitgtk
+, python3
+, curl
+, pcre
+, mount
+, gnome
+, Cocoa
+, WebKit
+, CoreServices
+, CoreAudioKit
+  # It is not allowed to distribute binaries with the VST2 SDK plugin without a license
+  # (the author of Bespoke has such a licence but not Nix). VST3 should work out of the box.
+  # Read more in https://github.com/NixOS/nixpkgs/issues/145607
+, enableVST2 ? false
 }:
 
 let
-  projucer = stdenv.mkDerivation rec {
-    pname = "projucer";
-    version = "5.4.7";
-
-    src = fetchFromGitHub {
-      owner = "juce-framework";
-      repo = "JUCE";
-      rev = version;
-      sha256= "0qpiqfwwpcghk7ij6w4vy9ywr3ryg7ppg77bmd7783kxg6zbhj8h";
-    };
-
-    nativeBuildInputs = [ pkg-config ];
-    buildInputs = [
-      freetype libX11 libXrandr libXinerama libXext gtk3 webkitgtk
-      libjack2 curl
-    ];
-    preBuild = ''
-      cd extras/Projucer/Builds/LinuxMakefile
-    '';
-    makeFlags = [ "CONFIG=${buildType}" ];
-    enableParallelBuilding = true;
-
-    installPhase = ''
-      mkdir -p $out/bin
-      cp -a build/Projucer $out/bin/Projucer
-    '';
-  };
-
   # equal to vst-sdk in ../oxefmsynth/default.nix
   vst-sdk = stdenv.mkDerivation rec {
     name = "vstsdk3610_11_06_2018_build_37";
@@ -50,70 +56,92 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bespokesynth";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
-    owner = "awwbees";
+    owner = "BespokeSynth";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04b2m40jszphslkd4850jcb8qwls392lwy3lc6vlj01h4izvapqk";
+    sha256 = "sha256-PN0Q6/gI1PeMaF/8EZFGJdLR8JVHQZfWunAhOIQxkHw=";
+    fetchSubmodules = true;
   };
 
-  configurePhase = ''
-    runHook preConfigure
-
-    export HOME=$(mktemp -d)
-    xvfb-run sh -e <<EOF
-      ${projucer}/bin/Projucer --set-global-search-path linux defaultJuceModulePath ${projucer.src}/modules
-      ${projucer}/bin/Projucer --resave BespokeSynth.jucer
-    EOF
-
-    runHook postConfigure
-  '';
-  CFLAGS = "-I${vst-sdk}/VST2_SDK";
-
-  nativeBuildInputs = [ xvfb-run pkg-config python3 makeWrapper ];
-
-  buildInputs = [
-    libX11 libXrandr libXinerama libXext libXcursor freetype libGL
-    ncurses libusb1
-    alsa-lib libjack2
+  cmakeBuildType = "Release";
+
+  cmakeFlags = lib.optionals enableVST2 [ "-DBESPOKE_VST2_SDK_LOCATION=${vst-sdk}/VST2_SDK" ];
+
+  nativeBuildInputs = [ python3 makeWrapper cmake pkg-config ninja ];
+
+  buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+    # List obtained in https://github.com/BespokeSynth/BespokeSynth/blob/main/azure-pipelines.yml
+    libX11
+    libXrandr
+    libXinerama
+    libXext
+    libXcursor
+    libXScrnSaver
+    curl
+    gtk3
+    webkitgtk
+    freetype
+    libGL
+    libusb1
+    alsa-lib
+    libjack2
+    gnome.zenity
+    alsa-tools
+    libxcb
+    xcbutil
+    libxkbcommon
+    xcbutilkeysyms
+    xcb-util-cursor
+    pcre
+    mount
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    Cocoa
+    WebKit
+    CoreServices
+    CoreAudioKit
   ];
 
-  preBuild = ''
-    cd Builds/LinuxMakefile
-  '';
-  makeFlags = [ "CONFIG=${buildType}" ];
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin $out/share/bespokesynth $out/share/applications $out/share/icons/hicolor/512x512/apps
-    cp build/BespokeSynth $out/bin/
-    cp -ar ../MacOSX/build/Release/resource $out/share/bespokesynth/
-    wrapProgram $out/bin/BespokeSynth \
-      --run "cd $out/share/bespokesynth"
-
-    mkdir -p $out/share/applications/ $out/share/icons/hicolor/512x512/apps/
-    cp ../../bespoke_icon.png $out/share/icons/hicolor/512x512/apps/
-    substitute ../../BespokeSynth.desktop $out/share/applications/BespokseSynth.desktop \
-      --replace "/usr/bin/" ""
-
-    runHook postInstall
-  '';
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
+    # Fails to find fp.h on its own
+    "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/Current/Headers/"
+  ]);
+
+  postInstall =
+    if stdenv.hostPlatform.isDarwin then ''
+      mkdir -p $out/{Applications,bin}
+      mv Source/BespokeSynth_artefacts/${cmakeBuildType}/BespokeSynth.app $out/Applications/
+      # Symlinking confuses the resource finding about the actual location of the binary
+      # Resources are looked up relative to the executed file's location
+      makeWrapper $out/{Applications/BespokeSynth.app/Contents/MacOS,bin}/BespokeSynth
+    '' else ''
+      # Ensure zenity is available, or it won't be able to open new files.
+      # Ensure the python used for compilation is the same as the python used at run-time.
+      # jedi is also required for auto-completion.
+      # These X11 libs get dlopen'd, they cause visual bugs when unavailable.
+      wrapProgram $out/bin/BespokeSynth \
+        --prefix PATH : '${lib.makeBinPath [
+          gnome.zenity
+          (python3.withPackages (ps: with ps; [ jedi ]))
+        ]}' \
+        --prefix LD_LIBRARY_PATH : '${lib.makeLibraryPath [
+          libXrandr
+          libXinerama
+          libXcursor
+          libXScrnSaver
+        ]}'
+    '';
 
   meta = with lib; {
-    description = "Software modular synth with controllers support, scripting and VST";
+    description =
+      "Software modular synth with controllers support, scripting and VST";
     homepage = "https://github.com/awwbees/BespokeSynth";
     license = with licenses; [
       gpl3Plus
-
-      # This package is unfree and not distributable due to the license of VST2.
-      # see #145607
-      unfree
-    ];
-    maintainers = with maintainers; [ astro ];
+    ] ++ lib.optional enableVST2 unfree;
+    maintainers = with maintainers; [ astro tobiasBora OPNA2608 ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 003608ea6020..24cc45a3aaf8 100644
--- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/bucklespring/default.nix b/nixpkgs/pkgs/applications/audio/bucklespring/default.nix
index ee363c5c32e5..dbdef66c5bc4 100644
--- a/nixpkgs/pkgs/applications/audio/bucklespring/default.nix
+++ b/nixpkgs/pkgs/applications/audio/bucklespring/default.nix
@@ -19,13 +19,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bucklespring";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "zevv";
     repo = pname;
-    rev = version;
-    sha256 = "114dib4npb7r1z2zd1fwsx71xbf9r6psxqd7n7590cwz1w3r51mz";
+    rev = "v${version}";
+    sha256 = "0prhqibivxzmz90k79zpwx3c97h8wa61rk5ihi9a5651mnc46mna";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/audio/callaudiod/default.nix b/nixpkgs/pkgs/applications/audio/callaudiod/default.nix
index bba86afcfc26..74f4b2de49ea 100644
--- a/nixpkgs/pkgs/applications/audio/callaudiod/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/caudec/default.nix b/nixpkgs/pkgs/applications/audio/caudec/default.nix
index 15ebb85136b0..a595f285c68a 100644
--- a/nixpkgs/pkgs/applications/audio/caudec/default.nix
+++ b/nixpkgs/pkgs/applications/audio/caudec/default.nix
@@ -1,15 +1,11 @@
 { lib, stdenv, fetchurl, makeWrapper, bash, bc, findutils, flac, lame, opusTools, procps, sox }:
 
-let
-  version = "1.7.5";
-in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "caudec";
-  inherit version;
+  version = "1.7.5";
 
   src = fetchurl {
-    url = "http://caudec.net/downloads/caudec-${version}.tar.gz";
+    url = "http://caudec.cocatre.net/downloads/caudec-${version}.tar.gz";
     sha256 = "5d1f5ab3286bb748bd29cbf45df2ad2faf5ed86070f90deccf71c60be832f3d5";
   };
 
@@ -31,7 +27,7 @@ stdenv.mkDerivation {
   '';
 
    meta = with lib; {
-    homepage = "http://caudec.net/";
+    homepage = "https://caudec.cocatre.net/";
     description = "A multiprocess audio converter that supports many formats (FLAC, MP3, Ogg Vorbis, Windows codecs and many more)";
     license     = licenses.gpl3;
     platforms   = platforms.linux ++ platforms.darwin;
diff --git a/nixpkgs/pkgs/applications/audio/clerk/default.nix b/nixpkgs/pkgs/applications/audio/clerk/default.nix
index ff9dca961aea..fa64cd74e71a 100644
--- a/nixpkgs/pkgs/applications/audio/clerk/default.nix
+++ b/nixpkgs/pkgs/applications/audio/clerk/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , makeWrapper
 , rofi
-, mpc_cli
+, mpc-cli
 , perl
 , util-linux
 , python3Packages
@@ -28,11 +28,24 @@ stdenv.mkDerivation {
 
   strictDeps = true;
 
-  installPhase = ''
-    DESTDIR=$out PREFIX=/ make install
-    wrapProgram $out/bin/clerk \
-      --prefix PATH : "${lib.makeBinPath [ rofi mpc_cli perl util-linux libnotify ]}"
-  '';
+  installPhase =
+    let
+      binPath = lib.makeBinPath [
+        libnotify
+        mpc-cli
+        perl
+        rofi
+        util-linux
+      ];
+    in
+      ''
+        runHook preInstall
+
+        DESTDIR=$out PREFIX=/ make install
+        wrapProgram $out/bin/clerk --prefix PATH : "${binPath}"
+
+        runHook postInstall
+      '';
 
   meta = with lib; {
     description = "An MPD client built on top of rofi";
diff --git a/nixpkgs/pkgs/applications/audio/cozy/default.nix b/nixpkgs/pkgs/applications/audio/cozy/default.nix
index afceca2a54ba..9fe86550f0da 100644
--- a/nixpkgs/pkgs/applications/audio/cozy/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cozy/default.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
   format = "other"; # no setup.py
 
   pname = "cozy";
-  version = "1.1.2";
+  version = "1.2.0";
 
   # Temporary fix
   # See https://github.com/NixOS/nixpkgs/issues/57029
@@ -33,7 +33,7 @@ python3Packages.buildPythonApplication rec {
     owner = "geigi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QENn8mFMk06/Uj8QJo0mJQ7frJNcv5RVNJwDB+H/LkI=";
+    sha256 = "0igqf9b77i13sxlk4ziw549h379hmz1slrb3vvf8irk94gxabsaw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/cyanrip/default.nix b/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
index 3338fe40bf17..4f3a5a08af2e 100644
--- a/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
@@ -12,13 +12,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "cyanrip";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "cyanreg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lgb92sfpf4w3nj5vlj6j7931mj2q3cmcx1app9snf853jk9ahmw";
+    sha256 = "17bi2xhjv3f3i870whkyqckvjlg32wqkspash87zi0jw7m7jm229";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/cyanreg/cyanrip";
     description = "Bule-ish CD ripper";
-    license = licenses.lgpl3Plus;
+    license = licenses.lgpl21Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.zane ];
   };
diff --git a/nixpkgs/pkgs/applications/audio/dfasma/default.nix b/nixpkgs/pkgs/applications/audio/dfasma/default.nix
index 97870c478ebb..cb2ac2b9e0bf 100644
--- a/nixpkgs/pkgs/applications/audio/dfasma/default.nix
+++ b/nixpkgs/pkgs/applications/audio/dfasma/default.nix
@@ -57,7 +57,7 @@ in mkDerivation rec {
       there are basic functionalities to align the signals in time and
       amplitude, this software does not aim to be an audio editor.
     '';
-    homepage = "http://gillesdegottex.github.io/dfasma/";
+    homepage = "https://gillesdegottex.gitlab.io/dfasma-website/";
     license = [ licenses.gpl3Plus reaperFork.meta.license ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/audio/easyeffects/default.nix b/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
index e1366d38bafa..23ca109c6b48 100644
--- a/nixpkgs/pkgs/applications/audio/easyeffects/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix
index e0f7822bcd71..6458d7188ae1 100644
--- a/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix
+++ b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix
@@ -45,6 +45,10 @@ stdenv.mkDerivation rec {
     patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
   '';
 
+  passthru = {
+    inherit mbrolaSupport;
+  };
+
   meta = with lib; {
     description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak";
     homepage = "https://github.com/espeak-ng/espeak-ng";
diff --git a/nixpkgs/pkgs/applications/audio/fomp/default.nix b/nixpkgs/pkgs/applications/audio/fomp/default.nix
index bb421886f5d3..8dc86cb8ccf5 100644
--- a/nixpkgs/pkgs/applications/audio/fomp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/fomp/default.nix
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ lv2 python3 ];
 
   meta = with lib; {
-    homepage = "http://drobilla.net/software/fomp/";
+    homepage = "https://drobilla.net/software/fomp.html";
     description = "An LV2 port of the MCP, VCO, FIL, and WAH plugins by Fons Adriaensen";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/audio/freac/default.nix b/nixpkgs/pkgs/applications/audio/freac/default.nix
index 89c4847ededf..ef4a6bc21afc 100644
--- a/nixpkgs/pkgs/applications/audio/freac/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/freewheeling/default.nix b/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
index 75e44d8c4fad..b7afb0d57a03 100644
--- a/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
+++ b/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gnutls, freetype
+{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gnutls, freetype, fluidsynth
 , SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsa-lib, libjack2, libvorbis
 , libSM, libsndfile, libogg, libtool
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config autoreconfHook libtool ];
   buildInputs = [
-    freetype SDL SDL_gfx SDL_ttf
+    freetype fluidsynth SDL SDL_gfx SDL_ttf
     liblo libxml2 libjack2 alsa-lib libvorbis libsndfile libogg libSM
     (gnutls.overrideAttrs (oldAttrs: {
       configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ];
diff --git a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
index f0dde5e1e354..a5fc9a8789bd 100644
--- a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ft2-clone";
-  version = "1.49";
+  version = "1.51";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "ft2-clone";
     rev = "v${version}";
-    sha256 = "sha256-DpEzilMERfbop7YYqNCcxSe1qfcz4n7Uqj/i5t5a6nQ=";
+    sha256 = "sha256-g8LZhP6qHctmvbmrhJ8gAOeAd57SePeO2tdFi9SVjQ0=";
   };
 
   # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
diff --git a/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix b/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix
index a2aebc58a825..55f12fd3c64a 100644
--- a/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix
+++ b/nixpkgs/pkgs/applications/audio/game-music-emu/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${pname}-${version}.tar.xz";
     sha256 = "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb";
   };
-
+  cmakeFlags = lib.optionals stdenv.isDarwin [ "-DENABLE_UBSAN=OFF" ];
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/audio/geonkick/default.nix b/nixpkgs/pkgs/applications/audio/geonkick/default.nix
index 5eece77373f5..76105d327bc3 100644
--- a/nixpkgs/pkgs/applications/audio/geonkick/default.nix
+++ b/nixpkgs/pkgs/applications/audio/geonkick/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "geonkick";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchFromGitLab {
     owner = "iurie-sw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dpwdjyy6phhr1jm1cabj2gc3rfsdan513mijbgnpzkq9w9jfb60";
+    sha256 = "sha256-wSlZ9pVVqlrPSz20pRdcRLq6pTcibxD7326l9WY7ZDY=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix b/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix
index b91e861c5d5a..5a4876a98ddf 100644
--- a/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -21,20 +21,20 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-podcasts";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "podcasts";
     rev = version;
-    hash = "sha256-Jk++/QrQt/fjOz2OaEIr1Imq2DmqTjcormCebjO4/Kk=";
+    sha256 = "00vy1qkkpn76jdpybsq9qp8s6fh1ih10j73p2x43sl97m5g8944h";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-jlXpeVabc1h2GU1j9Ff6GZJec+JgFyOdJzsOtdkrEWI=";
+    sha256 = "0y34b5rnr75h7dxbx93mafrmwsh187wq5js7fmkb1m1yyybj1v1x";
   };
 
   nativeBuildInputs = [
@@ -79,5 +79,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gnome-podcasts.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/helvum/default.nix b/nixpkgs/pkgs/applications/audio/helvum/default.nix
index 30dc359731f5..dc8bf5302649 100644
--- a/nixpkgs/pkgs/applications/audio/helvum/default.nix
+++ b/nixpkgs/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 = [
@@ -51,21 +51,9 @@ stdenv.mkDerivation rec {
 
   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/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix b/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix
index d281ec11c7d1..707deeb1a013 100644
--- a/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://www2.ika.ruhr-uni-bochum.de/HybridReverb2";
+    homepage = "https://github.com/jpcima/HybridReverb2";
     description = "Reverb effect using hybrid impulse convolution";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.magnetophon ];
diff --git a/nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix b/nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix
new file mode 100644
index 000000000000..6326d7cc5630
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/indicator-sound-switcher/default.nix
@@ -0,0 +1,62 @@
+{ python3Packages
+, lib
+, fetchFromGitHub
+, perlPackages
+, gettext
+, gtk3
+, gobject-introspection
+, intltool, wrapGAppsHook, glib
+, librsvg
+, libayatana-appindicator-gtk3
+, libpulseaudio
+, keybinder3
+, gdk-pixbuf
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "indicator-sound-switcher";
+  version = "2.3.7";
+
+  src = fetchFromGitHub {
+    owner = "yktoo";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-agzU3Z3E6NvCnlsz9L719LqMTm8EmYg3TY/2lWTYgKs=";
+  };
+
+  postPatch = ''
+    substituteInPlace lib/indicator_sound_switcher/lib_pulseaudio.py \
+      --replace "CDLL('libpulse.so.0')" "CDLL('${libpulseaudio}/lib/libpulse.so')"
+  '';
+
+  nativeBuildInputs = [
+    gettext
+    intltool
+    wrapGAppsHook
+    glib
+    gdk-pixbuf
+  ];
+
+  buildInputs = [
+    librsvg
+  ];
+
+  propagatedBuildInputs = [
+    python3Packages.setuptools
+    python3Packages.pygobject3
+    gtk3
+    gobject-introspection
+    librsvg
+    libayatana-appindicator-gtk3
+    libpulseaudio
+    keybinder3
+  ];
+
+  meta = with lib; {
+    description = "Sound input/output selector indicator for Linux";
+    homepage = "https://yktoo.com/en/software/sound-switcher-indicator/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ alexnortung ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/jamesdsp/default.nix b/nixpkgs/pkgs/applications/audio/jamesdsp/default.nix
new file mode 100644
index 000000000000..b4d4a02878d3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/jamesdsp/default.nix
@@ -0,0 +1,64 @@
+{ 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.desktop";
+      desktopName = "JamesDSP";
+      genericName = "Audio effects processor";
+      exec = "jamesdsp";
+      icon = "jamesdsp";
+      comment = "JamesDSP for Linux";
+      categories = "AudioVideo;Audio";
+      startupNotify = false;
+      terminal = false;
+      type = "Application";
+      extraDesktopEntries = {
+        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/nixpkgs/pkgs/applications/audio/japa/default.nix b/nixpkgs/pkgs/applications/audio/japa/default.nix
index 016f515ce13c..c13b38f7acd5 100644
--- a/nixpkgs/pkgs/applications/audio/japa/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix b/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix
index 3bc06abcbffa..60df749a1426 100644
--- a/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/kid3/default.nix b/nixpkgs/pkgs/applications/audio/kid3/default.nix
index ba3d921751b5..a29ddbb81508 100644
--- a/nixpkgs/pkgs/applications/audio/kid3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/librespot/default.nix b/nixpkgs/pkgs/applications/audio/librespot/default.nix
index 64d59516f87f..8772171c8ce2 100644
--- a/nixpkgs/pkgs/applications/audio/librespot/default.nix
+++ b/nixpkgs/pkgs/applications/audio/librespot/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, withRodio ? true
+{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, withRodio ? true
 , withALSA ? true, alsa-lib ? null, withPulseAudio ? false, libpulseaudio ? null
 , withPortAudio ? false, portaudio ? null }:
 
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ bennofs ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/librespot.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mbrola/default.nix b/nixpkgs/pkgs/applications/audio/mbrola/default.nix
index 01a9fdd636b0..befa0ac206c3 100644
--- a/nixpkgs/pkgs/applications/audio/mbrola/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mbrola/default.nix
@@ -19,6 +19,9 @@ stdenv.mkDerivation rec {
     sha256 = "1w86gv6zs2cbr0731n49z8v6xxw0g8b0hzyv2iqb9mqcfh38l8zy";
   };
 
+  # required for cross compilation
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   installPhase = ''
     runHook preInstall
     install -D Bin/mbrola $out/bin/mbrola
diff --git a/nixpkgs/pkgs/applications/audio/meters_lv2/default.nix b/nixpkgs/pkgs/applications/audio/meters_lv2/default.nix
index b21b859596e1..86c7e64a6e64 100644
--- a/nixpkgs/pkgs/applications/audio/meters_lv2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/meters_lv2/default.nix
@@ -1,46 +1,53 @@
-{ lib, stdenv, fetchurl, pkg-config
-, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }:
-
-let
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, lv2
+, libGLU
+, libGL
+, gtk2
+, cairo
+, pango
+, fftwFloat
+, libjack2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "meters.lv2";
   version = "0.9.10";
-  name = "meters.lv2-${version}";
-
-  # robtk submodule is pegged to this version
   robtkVersion = "0.6.2";
-  robtkName = "robtk-${robtkVersion}";
-
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz";
-    sha256 = "0yfyn7j8g50w671b1z7ph4ppjx8ddj5c6nx53syp5y5mfr1b94nx";
-  };
-
-  robtkSrc = fetchurl {
-    name = "${robtkName}.tar.gz";
-    url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz";
-    sha256 = "1v79xys1k2923wpivdjd44vand6c4agwvnrqi4c8kdv9r07b559v";
-  };
-
-in
-stdenv.mkDerivation {
-  inherit name;
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ];
 
-  srcs = [ src robtkSrc ];
-  sourceRoot = name;
+  src = fetchFromGitHub {
+    owner = "x42";
+    repo = "meters.lv2";
+    rev = "v${version}";
+    sha256 = "sha256-u2KIsaia0rAteQoEh6BLNCiRHFufHYF95z6J/EMgeSE=";
+  };
+
+  robtkSrc = fetchFromGitHub {
+    owner = "x42";
+    repo = "robtk";
+    rev = "v${robtkVersion}";
+    sha256 = "sha256-zeRMobfKW0+wJwYVem74tglitkI6DSoK75Auywcu4Tw=";
+  };
 
-  postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */
+  postUnpack = ''
+    rm -rf $sourceRoot/robtk/
+    ln -s ${robtkSrc} $sourceRoot/robtk
+  '';
 
-  preConfigure = "makeFlagsArray=( PREFIX=$out )";
   meter_VERSION = version;
-
-  meta = with lib;
-    { description = "Collection of audio level meters with GUI in LV2 plugin format";
-      homepage = "http://x42.github.io/meters.lv2/";
-      maintainers = with maintainers; [ ehmry ];
-      license = licenses.gpl2;
-      platforms = platforms.linux;
-    };
+  enableParallelBuilding = true;
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with lib; {
+    description = "Collection of audio level meters with GUI in LV2 plugin format";
+    homepage = "https://x42.github.io/meters.lv2/";
+    maintainers = with maintainers; [ ehmry ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
 }
diff --git a/nixpkgs/pkgs/applications/audio/milkytracker/default.nix b/nixpkgs/pkgs/applications/audio/milkytracker/default.nix
index 47fbd5794ea0..ea54a4a55d43 100644
--- a/nixpkgs/pkgs/applications/audio/milkytracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/milkytracker/default.nix
@@ -12,6 +12,12 @@ stdenv.mkDerivation rec {
     sha256 = "025fj34gq2kmkpwcswcyx7wdxb89vm944dh685zi4bxx0hz16vvk";
   };
 
+  postPatch = ''
+    # https://github.com/milkytracker/MilkyTracker/issues/262
+    substituteInPlace CMakeLists.txt \
+      --replace 'CMAKE_CXX_STANDARD 98' 'CMAKE_CXX_STANDARD 11'
+  '';
+
   nativeBuildInputs = [ cmake pkg-config makeWrapper ];
 
   buildInputs = [ SDL2 alsa-lib libjack2 lhasa perl rtmidi zlib zziplib ];
diff --git a/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix b/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix
index 90821b014764..e469a96ab720 100644
--- a/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix
+++ b/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix
@@ -7,7 +7,7 @@
 , alsa-lib
 , libsndfile
 , qt4
-, qscintilla
+, qscintilla-qt4
 , libpulseaudio
 , libjack2
 , audioBackend ? "pulse" # "pulse", "alsa", or "jack"
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     alsa-lib
     libsndfile
     qt4
-    qscintilla
+    qscintilla-qt4
   ] ++ lib.optional (audioBackend == "pulse") libpulseaudio
     ++ lib.optional (audioBackend == "jack")  libjack2;
 
diff --git a/nixpkgs/pkgs/applications/audio/mixxx/default.nix b/nixpkgs/pkgs/applications/audio/mixxx/default.nix
index bbd0e07a64a4..8b1acc9d0bcb 100644
--- a/nixpkgs/pkgs/applications/audio/mixxx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/mopidy/default.nix b/nixpkgs/pkgs/applications/audio/mopidy/default.nix
index d1b43bc4489b..8bf50e720929 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/default.nix
@@ -21,6 +21,8 @@ lib.makeScope newScope (self: with self; {
 
   mopidy-mpris = callPackage ./mpris.nix { };
 
+  mopidy-muse = callPackage ./muse.nix { };
+
   mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
 
   mopidy-podcast = callPackage ./podcast.nix { };
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/muse.nix b/nixpkgs/pkgs/applications/audio/mopidy/muse.nix
new file mode 100644
index 000000000000..22a6fcd68427
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/mopidy/muse.nix
@@ -0,0 +1,29 @@
+{ lib, pythonPackages, mopidy }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "mopidy-muse";
+  version = "0.0.27";
+
+  src = pythonPackages.fetchPypi {
+    inherit version;
+    pname = "Mopidy-Muse";
+    sha256 = "0jx9dkgxr07avzz9zskzhqy98zsxkdrf7iid2ax5vygwf8qsx8ks";
+  };
+
+  propagatedBuildInputs = [
+    mopidy
+    pythonPackages.pykka
+  ];
+
+  pythonImportsCheck = [ "mopidy_muse" ];
+
+  # has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Mopidy web client with Snapcast support";
+    homepage = "https://github.com/cristianpb/muse";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/mpc/default.nix b/nixpkgs/pkgs/applications/audio/mpc/default.nix
index 0511367db3b8..cebf08f19084 100644
--- a/nixpkgs/pkgs/applications/audio/mpc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mpc/default.nix
@@ -1,12 +1,14 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
+, installShellFiles
+, libiconv
+, libmpdclient
 , meson
 , ninja
 , pkg-config
-, libmpdclient
 , sphinx
-, libiconv
 }:
 
 stdenv.mkDerivation rec {
@@ -14,21 +16,47 @@ stdenv.mkDerivation rec {
   version = "0.34";
 
   src = fetchFromGitHub {
-    owner  = "MusicPlayerDaemon";
-    repo   = "mpc";
-    rev    = "v${version}";
-    sha256 = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw=";
+    owner = "MusicPlayerDaemon";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw=";
   };
 
-  buildInputs = [ libmpdclient ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  patches = [
+    # fix the build with meson 0.60 (https://github.com/MusicPlayerDaemon/mpc/pull/76)
+    (fetchpatch {
+      url = "https://github.com/MusicPlayerDaemon/mpc/commit/b656ca4b6c2a0d5b6cebd7f7daa679352f664e0e.patch";
+      sha256 = "sha256-fjjSlCKxgkz7Em08CaK7+JAzl8YTzLcpGGMz2HJlsVw=";
+    })
+  ];
+
+  buildInputs = [
+    libmpdclient
+  ]
+  ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
-  nativeBuildInputs = [ meson ninja pkg-config sphinx ];
+  nativeBuildInputs = [
+    installShellFiles
+    meson
+    ninja
+    pkg-config
+    sphinx
+  ];
+
+  postInstall = ''
+    installShellCompletion --cmd mpc --bash $out/share/doc/mpc/contrib/mpc-completion.bash
+  '';
+
+  postFixup = ''
+    rm $out/share/doc/mpc/contrib/mpc-completion.bash
+  '';
 
   meta = with lib; {
-    description = "A minimalist command line interface to MPD";
     homepage = "https://www.musicpd.org/clients/mpc/";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ algorith ];
-    platforms = with platforms; linux ++ darwin;
+    description = "A minimalist command line interface to MPD";
+    changelog = "https://raw.githubusercontent.com/MusicPlayerDaemon/mpc/v${version}/NEWS";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mpg123/default.nix b/nixpkgs/pkgs/applications/audio/mpg123/default.nix
index 6f55a82e13b8..29f28203e138 100644
--- a/nixpkgs/pkgs/applications/audio/mpg123/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mpg123/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mpg123";
-  version = "1.28.2";
+  version = "1.29.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "006v44nz4nkpgvxz1k2vbbrfpa2m47hyydscs0wf3iysiyvd9vvy";
+    sha256 = "sha256-ljiF2Mx3Ji8ot3GHx9GJ4yGV5kJE3iUwt5jd8yGD6Ec=";
   };
 
   outputs = [ "out" ] ++ lib.optionals withConplay [ "conplay" ];
diff --git a/nixpkgs/pkgs/applications/audio/munt/default.nix b/nixpkgs/pkgs/applications/audio/munt/default.nix
deleted file mode 100644
index 93a9ce258544..000000000000
--- a/nixpkgs/pkgs/applications/audio/munt/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, mkDerivation
-, stdenv
-, fetchFromGitHub
-, makeDesktopItem
-, cmake
-, pkg-config
-, qtbase
-, glib
-, alsa-lib
-, withJack ? stdenv.hostPlatform.isUnix, jack
-}:
-
-let
-  mainProgram = "mt32emu-qt";
-in
-mkDerivation rec {
-  pname = "munt";
-  version = "2.5.0";
-
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "munt_${lib.replaceChars [ "." ] [ "_" ] version}";
-    sha256 = "1lknq2a72gv1ddhzr7f967wpa12lh805jj4gjacdnamgrc1h22yn";
-  };
-
-  dontFixCmake = true;
-
-  nativeBuildInputs = [ cmake pkg-config ];
-
-  buildInputs = [ qtbase glib ]
-    ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib
-    ++ lib.optional withJack jack;
-
-  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
-    mkdir $out/Applications
-    mv $out/bin/${mainProgram}.app $out/Applications/
-    ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
-  '';
-
-  meta = with lib; {
-    inherit mainProgram;
-    description = "Multi-platform software synthesiser emulating Roland MT-32, CM-32L, CM-64 and LAPC-I devices";
-    homepage = "http://munt.sourceforge.net/";
-    license = with licenses; [ lgpl21 gpl3 ];
-    platforms = platforms.all;
-    maintainers = with maintainers; [ OPNA2608 ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/munt/libmt32emu.nix b/nixpkgs/pkgs/applications/audio/munt/libmt32emu.nix
new file mode 100644
index 000000000000..f79a2667542f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/munt/libmt32emu.nix
@@ -0,0 +1,38 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libmt32emu";
+  version = "2.5.3";
+
+  src = fetchFromGitHub {
+    owner = "munt";
+    repo = "munt";
+    rev = "${pname}_${lib.replaceChars [ "." ] [ "_" ] version}";
+    hash = "sha256-n5VV5Swh1tOVQGT3urEKl64A/w7cY95/0y5wC5ZuLm4=";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  dontFixCmake = true;
+
+  cmakeFlags = [
+    "-Dmunt_WITH_MT32EMU_SMF2WAV=OFF"
+    "-Dmunt_WITH_MT32EMU_QT=OFF"
+  ];
+
+  meta = with lib; {
+    homepage = "http://munt.sourceforge.net/";
+    description = "A library to emulate Roland MT-32, CM-32L, CM-64 and LAPC-I devices";
+    license = with licenses; [ lgpl21Plus ];
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix; # Not tested on ReactOS yet :)
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/munt/mt32emu-qt.nix b/nixpkgs/pkgs/applications/audio/munt/mt32emu-qt.nix
new file mode 100644
index 000000000000..0c541885689e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/munt/mt32emu-qt.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, mkDerivation
+, fetchFromGitHub
+, alsa-lib
+, cmake
+, libpulseaudio
+, libmt32emu
+, pkg-config
+, portaudio
+, qtbase
+, qtmultimedia
+, withJack ? stdenv.hostPlatform.isUnix, libjack2
+}:
+
+mkDerivation rec {
+  pname = "mt32emu-qt";
+  version = "1.9.0";
+
+  src = fetchFromGitHub {
+    owner = "munt";
+    repo = "munt";
+    rev = "mt32emu_qt_${lib.replaceChars [ "." ] [ "_" ] version}";
+    hash = "sha256-9vapBKpl1NC3mIDetuCb452IHV6c7c7NCzSyiBry5oo=";
+  };
+
+  postPatch = ''
+    sed -i -e '/add_subdirectory(mt32emu)/d' CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    libmt32emu
+    portaudio
+    qtbase
+    qtmultimedia
+  ]
+  ++ lib.optionals stdenv.hostPlatform.isLinux [
+    alsa-lib
+    libpulseaudio
+  ]
+  ++ lib.optional withJack libjack2;
+
+  dontFixCmake = true;
+
+  cmakeFlags = [
+    "-Dmt32emu-qt_USE_PULSEAUDIO_DYNAMIC_LOADING=OFF"
+    "-Dmunt_WITH_MT32EMU_QT=ON"
+    "-Dmunt_WITH_MT32EMU_SMF2WAV=OFF"
+  ];
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${meta.mainProgram}.app $out/Applications/
+    ln -s $out/{Applications/${meta.mainProgram}.app/Contents/MacOS,bin}/${meta.mainProgram}
+  '';
+
+  meta = with lib; {
+    homepage = "http://munt.sourceforge.net/";
+    description = "A synthesizer application built on Qt and libmt32emu";
+    longDescription = ''
+      mt32emu-qt is a synthesiser application that facilitates both realtime
+      synthesis and conversion of pre-recorded SMF files to WAVE making use of
+      the mt32emu library and the Qt framework.
+    '';
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+    mainProgram = "mt32emu-qt";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/munt/mt32emu-smf2wav.nix b/nixpkgs/pkgs/applications/audio/munt/mt32emu-smf2wav.nix
new file mode 100644
index 000000000000..378b5dd8fb83
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/munt/mt32emu-smf2wav.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, glib
+, libmt32emu
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mt32emu-smf2wav";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "munt";
+    repo = "munt";
+    rev = "mt32emu_smf2wav_${lib.replaceChars [ "." ] [ "_" ] version}";
+    hash = "sha256-FnKlKJxe7P4Yqpv0oVGgV4253dMgSmgtb7EAa2FI+aI=";
+  };
+
+  postPatch = ''
+    sed -i -e '/add_subdirectory(mt32emu)/d' CMakeLists.txt
+  '';
+
+  dontFixCmake = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    libmt32emu
+    glib
+  ];
+
+  cmakeFlags = [
+    "-Dmunt_WITH_MT32EMU_QT=OFF"
+    "-Dmunt_WITH_MT32EMU_SMF2WAV=ON"
+  ];
+
+  meta = with lib; {
+    homepage = "http://munt.sourceforge.net/";
+    description = "Produces a WAVE file from a Standard MIDI file (SMF)";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+    mainProgram = "mt32emu-smf2wav";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/ncspot/default.nix b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
index 6ba52306e8c4..fc7ab505ac2d 100644
--- a/nixpkgs/pkgs/applications/audio/ncspot/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
@@ -1,22 +1,26 @@
 { stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, ncurses, openssl, libiconv
-, withALSA ? true, alsa-lib ? null
-, withPulseAudio ? false, libpulseaudio ? null
-, withPortAudio ? false, portaudio ? null
-, withMPRIS ? false, dbus ? null
+, withALSA ? true, alsa-lib
+, withPulseAudio ? false, libpulseaudio
+, withPortAudio ? false, portaudio
+, withMPRIS ? false, dbus
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.9.3";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
     rev = "v${version}";
-    sha256 = "sha256-k4EGyQjjJCvUhp56OjYl63n+giI05GiIS2++I1SVhCg=";
+    sha256 = "sha256-HnP0dXKkMssDAhrsA99bTCVGdov9t5+1y8fJ+BWTM80=";
   };
 
-  cargoSha256 = "sha256-YsjInqmkPnAwqgRBDiwcLH0DDqCF0NElrn+WO2v+ATM=";
+  # Upstream now only supports rust 1.58+, but this version is not yet available in nixpkgs.
+  # See https://github.com/hrkfdn/ncspot/issues/714
+  patches = [ ./rust_1_57_support.patch ];
+
+  cargoSha256 = "sha256-g6UMwirsSV+/NtFIfEZrz5h/OitPQcDeSawh7wq4TLI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/applications/audio/ncspot/rust_1_57_support.patch b/nixpkgs/pkgs/applications/audio/ncspot/rust_1_57_support.patch
new file mode 100644
index 000000000000..ce4d473989c3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/ncspot/rust_1_57_support.patch
@@ -0,0 +1,21 @@
+diff --git a/src/ui/listview.rs b/src/ui/listview.rs
+index 17fead7..e6c72b6 100644
+--- a/src/ui/listview.rs
++++ b/src/ui/listview.rs
+@@ -85,7 +85,7 @@ impl<I: ListItem> ListView<I> {
+ 
+     pub fn content_height_with_paginator(&self) -> usize {
+         let content_len = self.content.read().unwrap().len();
+-        log::info!("content len: {content_len}");
++        log::info!("content len: {}", content_len);
+ 
+         // add 1 more row for paginator if we can paginate
+         if self.can_paginate() {
+@@ -97,7 +97,7 @@ impl<I: ListItem> ListView<I> {
+ 
+     fn can_paginate(&self) -> bool {
+         let loaded = self.get_pagination().loaded_content();
+-        log::info!("can paginate: {loaded}");
++        log::info!("can paginate: {}", loaded);
+         self.get_pagination().max_content().unwrap_or(0) > self.get_pagination().loaded_content()
+     }
diff --git a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix b/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
index 30011b2be3ea..8a25955e2498 100644
--- a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/orca-c/default.nix b/nixpkgs/pkgs/applications/audio/orca-c/default.nix
index 420055884b45..be40def26441 100644
--- a/nixpkgs/pkgs/applications/audio/orca-c/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/paprefs/default.nix b/nixpkgs/pkgs/applications/audio/paprefs/default.nix
index 31ccb212cd51..ef45cc4676a1 100644
--- a/nixpkgs/pkgs/applications/audio/paprefs/default.nix
+++ b/nixpkgs/pkgs/applications/audio/paprefs/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "paprefs";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchurl {
     url = "https://freedesktop.org/software/pulseaudio/paprefs/paprefs-${version}.tar.xz";
-    sha256 = "189z5p20hk0xv9vwvym293503j4pwl03xqk9hl7cl6dwgv0l7wkf";
+    sha256 = "sha256-s/IeQNw5NtFeP/yRD7DAfBS4jowodxW0VqlIwXY49jM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/parlatype/default.nix b/nixpkgs/pkgs/applications/audio/parlatype/default.nix
index 7b448cc69af7..c1bb1102bf1b 100644
--- a/nixpkgs/pkgs/applications/audio/parlatype/default.nix
+++ b/nixpkgs/pkgs/applications/audio/parlatype/default.nix
@@ -40,8 +40,6 @@ stdenv.mkDerivation rec {
     hicolor-icon-theme
   ];
 
-  mesonFlags = [ "-Dlibreoffice=false" ];
-
   postPatch = ''
     chmod +x data/meson_post_install.py
     patchShebangs data/meson_post_install.py
diff --git a/nixpkgs/pkgs/applications/audio/picard/default.nix b/nixpkgs/pkgs/applications/audio/picard/default.nix
index 0a7c28f3a637..340ba32a53d5 100644
--- a/nixpkgs/pkgs/applications/audio/picard/default.nix
+++ b/nixpkgs/pkgs/applications/audio/picard/default.nix
@@ -18,13 +18,13 @@ let
 in
 pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.6.4";
+  version = "2.7.3";
 
   src = fetchFromGitHub {
     owner = "metabrainz";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "0lm7s9jy7z4an3xxj3gnxxf2xx045i157qaxysbdhcq5lwlmznc7";
+    sha256 = "1f589nc2zxl9cjw0qh164z9sfq4xl052ihf2gn2dgr35g3ny16kh";
   };
 
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ]
@@ -45,6 +45,9 @@ pythonPackages.buildPythonApplication rec {
     fasteners
     mutagen
     pyqt5
+    markdown
+    pyjwt
+    pyyaml
   ];
 
   # In order to spare double wrapping, we use:
diff --git a/nixpkgs/pkgs/applications/audio/pifi/Gemfile b/nixpkgs/pkgs/applications/audio/pifi/Gemfile
deleted file mode 100644
index da7d26e3760f..000000000000
--- a/nixpkgs/pkgs/applications/audio/pifi/Gemfile
+++ /dev/null
@@ -1,2 +0,0 @@
-source 'https://rubygems.org'
-gem 'pifi'
diff --git a/nixpkgs/pkgs/applications/audio/pifi/Gemfile.lock b/nixpkgs/pkgs/applications/audio/pifi/Gemfile.lock
deleted file mode 100644
index ddcdb537e6a4..000000000000
--- a/nixpkgs/pkgs/applications/audio/pifi/Gemfile.lock
+++ /dev/null
@@ -1,39 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    daemons (1.3.1)
-    eventmachine (1.2.7)
-    json (2.5.1)
-    mustermann (1.1.1)
-      ruby2_keywords (~> 0.0.1)
-    optimist (3.0.1)
-    pifi (0.4.11)
-      json (~> 2.2)
-      optimist (~> 3.0)
-      ruby-mpd (~> 0.3)
-      sinatra (~> 2.0)
-      thin (~> 1.7)
-    rack (2.2.3)
-    rack-protection (2.1.0)
-      rack
-    ruby-mpd (0.3.3)
-    ruby2_keywords (0.0.4)
-    sinatra (2.1.0)
-      mustermann (~> 1.0)
-      rack (~> 2.2)
-      rack-protection (= 2.1.0)
-      tilt (~> 2.0)
-    thin (1.8.0)
-      daemons (~> 1.0, >= 1.0.9)
-      eventmachine (~> 1.0, >= 1.0.4)
-      rack (>= 1, < 3)
-    tilt (2.0.10)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  pifi
-
-BUNDLED WITH
-   2.1.4
diff --git a/nixpkgs/pkgs/applications/audio/pifi/default.nix b/nixpkgs/pkgs/applications/audio/pifi/default.nix
deleted file mode 100644
index 856807608d7d..000000000000
--- a/nixpkgs/pkgs/applications/audio/pifi/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib, bundlerEnv, ruby }:
-
-bundlerEnv rec {
-  pname = "pifi";
-
-  version = (import ./gemset.nix).pifi.version;
-  inherit ruby;
-  # expects Gemfile, Gemfile.lock and gemset.nix in the same directory
-  gemdir = ./.;
-
-  meta = with lib; {
-    description = "MPD web client to listen to radio, written in React and Sinatra";
-    homepage = "https://github.com/rccavalcanti/pifi-radio";
-    license = with licenses; gpl3Only;
-    maintainers = with maintainers; [ kmein ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/pifi/gemset.nix b/nixpkgs/pkgs/applications/audio/pifi/gemset.nix
deleted file mode 100644
index 77dd8c55289e..000000000000
--- a/nixpkgs/pkgs/applications/audio/pifi/gemset.nix
+++ /dev/null
@@ -1,137 +0,0 @@
-{
-  daemons = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w";
-      type = "gem";
-    };
-    version = "1.3.1";
-  };
-  eventmachine = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
-      type = "gem";
-    };
-    version = "1.2.7";
-  };
-  json = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
-      type = "gem";
-    };
-    version = "2.5.1";
-  };
-  mustermann = {
-    dependencies = ["ruby2_keywords"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
-      type = "gem";
-    };
-    version = "1.1.1";
-  };
-  optimist = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vg2chy1cfmdj6c1gryl8zvjhhmb3plwgyh1jfnpq4fnfqv7asrk";
-      type = "gem";
-    };
-    version = "3.0.1";
-  };
-  pifi = {
-    dependencies = ["json" "optimist" "ruby-mpd" "sinatra" "thin"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0xwjaql852m0p7himc3pak1ibc8lfxi29bbgic153wp713xc2cga";
-      type = "gem";
-    };
-    version = "0.4.11";
-  };
-  rack = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
-      type = "gem";
-    };
-    version = "2.2.3";
-  };
-  rack-protection = {
-    dependencies = ["rack"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz";
-      type = "gem";
-    };
-    version = "2.1.0";
-  };
-  ruby-mpd = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0l80gbnma009pfcqgz4azbngkr5jn9nm46fflx5p7c4vz4kwshpc";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  ruby2_keywords = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
-  sinatra = {
-    dependencies = ["mustermann" "rack" "rack-protection" "tilt"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0dd53rzpkxgs697pycbhhgc9vcnxra4ly4xar8ni6aiydx2f88zk";
-      type = "gem";
-    };
-    version = "2.1.0";
-  };
-  thin = {
-    dependencies = ["daemons" "eventmachine" "rack"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0g5p3r47qxxfmfagdf8wb68pd24938cgzdfn6pmpysrn296pg5m5";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  tilt = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
-      type = "gem";
-    };
-    version = "2.0.10";
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/pithos/default.nix b/nixpkgs/pkgs/applications/audio/pithos/default.nix
index 01c969c3d8e0..76ef7b366ef2 100644
--- a/nixpkgs/pkgs/applications/audio/pithos/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pithos/default.nix
@@ -4,13 +4,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "pithos";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo  = pname;
     rev = version;
-    sha256 = "10nnm55ql86x1qfmq6dx9a1igf7myjxibmvyhd7fyv06vdhfifgy";
+    sha256 = "03j04b1mk2fq0ni2ydpw40fdd36k545z8a1pq9x5c779080cwpla";
   };
 
   format = "other";
diff --git a/nixpkgs/pkgs/applications/audio/plexamp/default.nix b/nixpkgs/pkgs/applications/audio/plexamp/default.nix
index 31929567e411..a66a4602bc51 100644
--- a/nixpkgs/pkgs/applications/audio/plexamp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/plexamp/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "plexamp";
-  version = "3.9.0";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "2OaV8dONv7yBcQsfecgfedP2ypBN6svD9rgZLgUwSydyH2+rODNPne4O7z2Hahm7Y0Ae+NFxbpQ9lbNbX0vhsg==";
+    sha512 = "pZy2afj7g6wnOIHH3ecCYUX7/NX5op4aLSHe4/GbI5L9NUuFGoJIWWuVbv2kngcTo+XUqP0yoe0Ns+I4WulDVA==";
   };
 
   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/36";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/39";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/applications/audio/praat/default.nix b/nixpkgs/pkgs/applications/audio/praat/default.nix
index 3fd0619ec29c..89d5370fd003 100644
--- a/nixpkgs/pkgs/applications/audio/praat/default.nix
+++ b/nixpkgs/pkgs/applications/audio/praat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.2.03";
+  version = "6.2.04";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${version}";
-    sha256 = "sha256-0WTbLEPEqPm7BI02mjlwcsewkrmIsHtNlhccqK1d6SI=";
+    sha256 = "sha256-xzEgj4pjW+y46CXtVq4myHKX6DImCibsUz8m0G6F+YQ=";
   };
 
   configurePhase = ''
diff --git a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
index e5a97aee86cd..a44dd941c571 100644
--- a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.37";
+  version = "1.40";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "sha256-r9H+qF542j2qjmOEjJLAtnMU7SkJBJB8nH39zhkZu9M=";
+    sha256 = "sha256-0qEhhkprIpseCEFStgJ0035TX0e9s271BK/1hVkn/JU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/audio/ptcollab/default.nix b/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
index 16ef4ed6e45e..e7e8c73c9c1b 100644
--- a/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ptcollab/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "ptcollab";
-  version = "0.5.0.3";
+  version = "0.6.1.0";
 
   src = fetchFromGitHub {
     owner = "yuxshao";
     repo = "ptcollab";
     rev = "v${version}";
-    sha256 = "sha256-8bgi621psvUlhiLyZ15tKGmGOs6HTf5/6Ru2Z9l8QIo=";
+    sha256 = "sha256-zkDMZT1kKCLqNvvxZFKVuXFqZptX/LG/R9kRUcNJphw=";
   };
 
   nativeBuildInputs = [ qmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/pyradio/default.nix b/nixpkgs/pkgs/applications/audio/pyradio/default.nix
index ec937565aa24..e95e5d9c6d15 100644
--- a/nixpkgs/pkgs/applications/audio/pyradio/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pyradio/default.nix
@@ -2,13 +2,19 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyradio";
-  version = "0.8.9.9";
+  version = "0.8.9.14";
+
+  propagatedBuildInputs = with python3Packages; [
+    requests
+    psutil
+    dnspython
+  ];
 
   src = fetchFromGitHub {
     owner = "coderholic";
     repo = pname;
     rev = version;
-    sha256 = "04asw5alkkf2q5iixswarj6ddb0y4a6ixm7cckl6204jiyxpv6kc";
+    sha256 = "sha256-9q+YsQPFB7Ql5WnXvPj100cD7pGkmr1hHztqbpZStt8=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/applications/audio/qjackctl/default.nix b/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
index 1d5edf892cb7..6c7bfff86b1b 100644
--- a/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qjackctl/default.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation rec {
-  version = "0.9.5";
+  version = "0.9.6";
   pname = "qjackctl";
 
   # some dependencies such as killall have to be installed additionally
@@ -14,7 +14,7 @@ mkDerivation rec {
     owner = "rncbc";
     repo = "qjackctl";
     rev = "${pname}_${lib.replaceChars ["."] ["_"] version}";
-    sha256 = "sha256-20oy3R0gbVXO3Da80cTYXu+BG8OfVNRLtAwHk8nRFJk=";
+    sha256 = "sha256-8oVnUe+/y4p1WeHMEhKMIl0/ax3PT0pN4f1UJaBmZBw=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix b/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix
index f805a2d345d9..c92e9cf7a46b 100644
--- a/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix
@@ -5,14 +5,14 @@
 
 mkDerivation rec {
   pname = "qpwgraph";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "rncbc";
     repo = "qpwgraph";
     rev = "v${version}";
-    sha256 = "sha256-r3FoAV0wah9fwnqyMyu8927c4Uj0zZoQNvLoXP5AP/E=";
+    sha256 = "sha256-SGx80fMFomNEa/jgH8Yeof+f7zXCDxx3Yqd0GxHZGMw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/qtractor/default.nix b/nixpkgs/pkgs/applications/audio/qtractor/default.nix
index 13d415ec1e93..71d628d322e4 100644
--- a/nixpkgs/pkgs/applications/audio/qtractor/default.nix
+++ b/nixpkgs/pkgs/applications/audio/qtractor/default.nix
@@ -30,11 +30,11 @@
 
 mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.24";
+  version = "0.9.25";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-YTT7ko5HjKrZ8DKU3L06EI7bZeBtvPl21pqUf6EaeS4=";
+    sha256 = "sha256-cKXHH7rugTJ5D7MDJmr/fX6p209wyGMQvSLbv5T0KXU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/reaper/default.nix b/nixpkgs/pkgs/applications/audio/reaper/default.nix
index b7f6bb3ee373..820475be0c65 100644
--- a/nixpkgs/pkgs/applications/audio/reaper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/reaper/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "6.43";
+  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-VQ91px9YZWbrw31fFQxS+H/6fsjkLDrYU6FtI8eSq6E=";
-      aarch64-linux = "sha256-x6z5+H7ASWiuNL0maNGK05VmJptHdFGRiFf6DgwlZDw=";
+      x86_64-linux = "sha256-31HmIx/ohbrzu5uj8KOOZiHNCmXwng9h+fIGaJfYyqA=";
+      aarch64-linux = "sha256-CMmcBpaZ6BEZJ1144aQhOJ/o2NrGD7/8aq+ObLVMXYE=";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/nixpkgs/pkgs/applications/audio/redux/default.nix b/nixpkgs/pkgs/applications/audio/redux/default.nix
new file mode 100644
index 000000000000..45ee78917ace
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/rhvoice/default.nix b/nixpkgs/pkgs/applications/audio/rhvoice/default.nix
index af35ad829dda..ca51001dd62e 100644
--- a/nixpkgs/pkgs/applications/audio/rhvoice/default.nix
+++ b/nixpkgs/pkgs/applications/audio/rhvoice/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, pkg-config, fetchFromGitHub, sconsPackages
-, python, glibmm, libpulseaudio, libao }:
+, glibmm, libpulseaudio, libao }:
 
 let
   version = "unstable-2018-02-10";
@@ -19,7 +19,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    python glibmm libpulseaudio libao
+    glibmm libpulseaudio libao
   ];
 
   # SConstruct patch
diff --git a/nixpkgs/pkgs/applications/audio/schismtracker/default.nix b/nixpkgs/pkgs/applications/audio/schismtracker/default.nix
index bf74dd64f926..7439e566da26 100644
--- a/nixpkgs/pkgs/applications/audio/schismtracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/schismtracker/default.nix
@@ -3,25 +3,25 @@
 , fetchFromGitHub
 , autoreconfHook
 , alsa-lib
-, python
+, python3
 , SDL
 }:
 
 stdenv.mkDerivation rec {
   pname = "schismtracker";
-  version = "20211116";
+  version = "20220125";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1kcw4rwphyqh0hwwjsydzwg484xj17rb5lc8pfsixsg77z50ayzz";
+    sha256 = "sha256-Hqbm5+YyCde/6QuyIy4NE/jG4xNDzeNjEefMr60GEZM=";
   };
 
   configureFlags = [ "--enable-dependency-tracking" ]
     ++ lib.optional stdenv.isDarwin "--disable-sdltest";
 
-  nativeBuildInputs = [ autoreconfHook python ];
+  nativeBuildInputs = [ autoreconfHook python3 ];
 
   buildInputs = [ SDL ] ++ lib.optional stdenv.isLinux alsa-lib;
 
diff --git a/nixpkgs/pkgs/applications/audio/scream/default.nix b/nixpkgs/pkgs/applications/audio/scream/default.nix
index d14193592465..f2526903f368 100644
--- a/nixpkgs/pkgs/applications/audio/scream/default.nix
+++ b/nixpkgs/pkgs/applications/audio/scream/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scream";
-  version = "3.8";
+  version = "3.9";
 
   src = fetchFromGitHub {
     owner = "duncanthrax";
     repo = pname;
     rev = version;
-    sha256 = "sha256-7UzwEoZujTN8i056Wf+0QtjyU+/UZlqcSompiAGHT54=";
+    sha256 = "sha256-JxDR7UhS4/+oGQ9Fwm4f+yBM9OyX0Srvr9n/vaZVvxQ=";
   };
 
   buildInputs = lib.optional pulseSupport libpulseaudio
diff --git a/nixpkgs/pkgs/applications/audio/setbfree/default.nix b/nixpkgs/pkgs/applications/audio/setbfree/default.nix
index 0edd45f24096..7cad39b63ea7 100644
--- a/nixpkgs/pkgs/applications/audio/setbfree/default.nix
+++ b/nixpkgs/pkgs/applications/audio/setbfree/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation  rec {
 
   meta = with lib; {
     description = "A DSP tonewheel organ emulator";
-    homepage = "http://setbfree.org";
+    homepage = "https://setbfree.org";
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ]; # fails on ARM and Darwin
     maintainers = [ maintainers.goibhniu ];
diff --git a/nixpkgs/pkgs/applications/audio/sfizz/default.nix b/nixpkgs/pkgs/applications/audio/sfizz/default.nix
index d579e78b35e7..54acc782c603 100644
--- a/nixpkgs/pkgs/applications/audio/sfizz/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sfizz/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sfizz";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "sfztools";
     repo = pname;
     rev = version;
-    sha256 = "1gzpbns89j6ggzfjjvyhgigynsv20synrs7lmc32hwp4g73l0j7n";
+    sha256 = "sha256-biHsB49Ym9NU4tMOVnUNuIxPtpcIi6oCAS7JBPhxwec=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/audio/sfxr-qt/default.nix b/nixpkgs/pkgs/applications/audio/sfxr-qt/default.nix
index 165f8446c763..bf8b826f544f 100644
--- a/nixpkgs/pkgs/applications/audio/sfxr-qt/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sfxr-qt/default.nix
@@ -2,6 +2,7 @@
 , mkDerivation
 , fetchFromGitHub
 , cmake
+, extra-cmake-modules
 , qtbase
 , qtquickcontrols2
 , SDL
@@ -10,18 +11,22 @@
 
 mkDerivation rec {
   pname = "sfxr-qt";
-  version = "1.3.0";
+  version = "1.4.0";
+
   src = fetchFromGitHub {
     owner = "agateau";
     repo = "sfxr-qt";
     rev = version;
-    sha256 = "15yjgjl1c5k816mnpc09104zq0ack2a3mjsxmhcik7cmjkfiipr5";
+    sha256 = "sha256-Mn+wcwu70BwsTLFlc12sOOe6U1AJ8hR7bCIPlPnCooE=";
     fetchSubmodules = true;
   };
+
   nativeBuildInputs = [
     cmake
+    extra-cmake-modules
     (python3.withPackages (pp: with pp; [ pyyaml jinja2 setuptools ]))
   ];
+
   buildInputs = [
     qtbase
     qtquickcontrols2
@@ -36,4 +41,3 @@ mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/audio/shortwave/default.nix b/nixpkgs/pkgs/applications/audio/shortwave/default.nix
index 0f4ffa14228f..49492d05d15f 100644
--- a/nixpkgs/pkgs/applications/audio/shortwave/default.nix
+++ b/nixpkgs/pkgs/applications/audio/shortwave/default.nix
@@ -80,6 +80,7 @@ stdenv.mkDerivation rec {
       desktop. It is the successor to the older Gradio application.
     '';
     maintainers = with maintainers; [ lasandell ];
+    broken = true; # incompatible with latest libadwaita
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix b/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix
index 73f1f650677c..9aef427f509f 100644
--- a/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sidplayfp/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sidplayfp";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "libsidplayfp";
     repo = "sidplayfp";
     rev = "v${version}";
-    sha256 = "sha256-DBZZf3A0AYkeQxQvHGyHHbsQ2EDuxsZnZPbxkWTNcHA=";
+    sha256 = "sha256-R60Dh19GYM157ysmN8EOJ47eO8a7sdkEEF1TObG1xzk=";
   };
 
   nativeBuildInputs = [ autoreconfHook perl pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/snapcast/default.nix b/nixpkgs/pkgs/applications/audio/snapcast/default.nix
index d2b6ba07d2eb..19016b700fdc 100644
--- a/nixpkgs/pkgs/applications/audio/snapcast/default.nix
+++ b/nixpkgs/pkgs/applications/audio/snapcast/default.nix
@@ -37,13 +37,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "snapcast";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner  = "badaix";
     repo   = "snapcast";
     rev    = "v${version}";
-    sha256 = "064pcpr5dsv9hncqkrnxriva4xjv1vcxhvc69h1an8x8vn4dwgmf";
+    sha256 = "sha256-CCifn9OEFM//Hk1PJj8T3MXIV8pXCTdBBXPsHuZwLyQ=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/snd/default.nix b/nixpkgs/pkgs/applications/audio/snd/default.nix
index 9561dc00d744..52789d64d10a 100644
--- a/nixpkgs/pkgs/applications/audio/snd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/snd/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snd";
-  version = "21.8";
+  version = "22.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
-    sha256 = "sha256-sI2xa37eSBDr/ucQ7RF3YfsszKfWcmOCoAJENALSlTo=";
+    sha256 = "sha256-jrH0XRvPj9ySd8FSrOKf6qP5T1YSKrYBNHl6fz5dhkI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/songrec/default.nix b/nixpkgs/pkgs/applications/audio/songrec/default.nix
index 60fbd3a2888a..03cfae066b2c 100644
--- a/nixpkgs/pkgs/applications/audio/songrec/default.nix
+++ b/nixpkgs/pkgs/applications/audio/songrec/default.nix
@@ -6,24 +6,25 @@
 , alsa-lib
 , pkg-config
 , ffmpeg
+, dbus
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "songrec";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "marin-m";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pKHKM4XOuuZCr4neMe1AVqWMuZghwYNe+ifJCQhXG/c=";
+    sha256 = "sha256-aHZH3sQNUUPcMRySy8Di0XUoFo4qjGi2pi0phLwORaA=";
   };
 
-  cargoSha256 = "sha256-J3ezXBOGJwzIPTHXujHpswsgh9PFy110AOQ2pPJNm10=";
+  cargoSha256 = "sha256-EpkB43rMUJO6ouUV9TmQ+RSnGhX32DZHpKic1E6lUyU=";
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ alsa-lib gtk3 openssl ffmpeg ];
+  buildInputs = [ alsa-lib dbus gtk3 openssl ffmpeg ];
 
   postInstall = ''
     mv packaging/rootfs/usr/share $out/share
diff --git a/nixpkgs/pkgs/applications/audio/sorcer/default.nix b/nixpkgs/pkgs/applications/audio/sorcer/default.nix
index 59c7d91a3e38..e5e875f6df39 100644
--- a/nixpkgs/pkgs/applications/audio/sorcer/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sorcer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub , boost, cairomm, cmake, libsndfile, lv2, ntk, pkg-config, python }:
+{ lib, stdenv, fetchFromGitHub , boost, cairomm, cmake, libsndfile, lv2, ntk, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "sorcer";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ boost cairomm libsndfile lv2 ntk python ];
+  buildInputs = [ boost cairomm libsndfile lv2 ntk ];
 
   postPatch = ''
      # Fix build with lv2 1.18: https://github.com/brummer10/guitarix/commit/c0334c72
diff --git a/nixpkgs/pkgs/applications/audio/spectmorph/default.nix b/nixpkgs/pkgs/applications/audio/spectmorph/default.nix
index 9b549e02f77d..90348e7b80b1 100644
--- a/nixpkgs/pkgs/applications/audio/spectmorph/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spectmorph/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds";
-    homepage = "http://spectmorph.org";
+    homepage = "https://spectmorph.org";
     license = licenses.gpl3;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.magnetophon ];
diff --git a/nixpkgs/pkgs/applications/audio/split2flac/default.nix b/nixpkgs/pkgs/applications/audio/split2flac/default.nix
index 92f0753fd783..5de48d1b296f 100644
--- a/nixpkgs/pkgs/applications/audio/split2flac/default.nix
+++ b/nixpkgs/pkgs/applications/audio/split2flac/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper
 , shntool, cuetools
 , flac, faac, mp4v2, wavpack, mac
-, imagemagick, libiconv, enca, lame, pythonPackages, vorbis-tools
+, imagemagick, libiconv, enca, lame, mutagen, vorbis-tools
 , aacgain, mp3gain, vorbisgain
 }:
 
@@ -12,7 +12,7 @@ let
       --prefix PATH : ${lib.makeBinPath [
         shntool cuetools
         flac faac mp4v2 wavpack mac
-        imagemagick libiconv enca lame pythonPackages.mutagen vorbis-tools
+        imagemagick libiconv enca lame mutagen vorbis-tools
         aacgain mp3gain vorbisgain
       ]}
   '';
diff --git a/nixpkgs/pkgs/applications/audio/spot/default.nix b/nixpkgs/pkgs/applications/audio/spot/default.nix
index e17e85036949..3fe3b0d06d31 100644
--- a/nixpkgs/pkgs/applications/audio/spot/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spot/default.nix
@@ -21,19 +21,19 @@
 
 stdenv.mkDerivation rec {
   pname = "spot";
-  version = "0.2.2";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "xou816";
     repo = "spot";
     rev = version;
-    hash = "sha256-g0oVhlfez9i+Vv8lt/aNftCVqdgPMDySBBeLyOv7Zl8=";
+    hash = "sha256-uZzylK9imEazwC/ogsDO8ZBvByE5/SNSV+mIlp7Z9Ww=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-n10aYzkRqEe1h2WPAfARjH79Npvv+3fdX9jCtxv2a34=";
+    hash = "sha256-v5xdlsI6OlEpCYOTFePTyI8BkIrAwT6FR2JwiRTGgOA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix b/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
index 70acbd4c31a2..45ff1bebc79e 100644
--- a/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
    pname = "spotify-qt";
-   version = "3.7";
+   version = "3.8";
 
    src = fetchFromGitHub {
       owner = "kraxarn";
       repo = pname;
       rev = "v${version}";
-      sha256 = "sha256-oRrgZtSDebbUVPc+hxE9GJ2n1AmGvZt/2aWrBMmRtNA=";
+      sha256 = "sha256-Rgtw+nrM8YUBHPIIe9zVhLij/ep07piPf/2MSmTVQKk=";
    };
 
    buildInputs = [ libxcb qtbase qtsvg ];
diff --git a/nixpkgs/pkgs/applications/audio/spotify/default.nix b/nixpkgs/pkgs/applications/audio/spotify/default.nix
index f38bd678d9ef..ddc426416006 100644
--- a/nixpkgs/pkgs/applications/audio/spotify/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotify/default.nix
@@ -10,14 +10,14 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.1.72.439.gc253025e";
+  version = "1.1.77.643.g3c4c6fc6";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "56";
+  rev = "57";
 
   deps = [
     alsa-lib
@@ -80,7 +80,7 @@ stdenv.mkDerivation {
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    sha512 = "b2bd3d49a18dfebaa4660f9c39d11d57fb80a4ef15ec7b7973e3cc07be74f74aebd2d8c66360d79fe778244c533ed02f9dfca4085f99aae0e5faae7c003ba4ef";
+    sha512 = "d9f8fe692db479bcce1f47c87b65c5ac6d62e16b76a0f9b2d693d82d2b9ed2c7cf370cb091ce8ecd291c47d1efdbaa897c9bffb210edd901dc3d5425995229f7";
   };
 
   nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ];
diff --git a/nixpkgs/pkgs/applications/audio/sptlrx/default.nix b/nixpkgs/pkgs/applications/audio/sptlrx/default.nix
new file mode 100644
index 000000000000..1d53c2f4cea4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/squishyball/default.nix b/nixpkgs/pkgs/applications/audio/squishyball/default.nix
index b44efc1534f8..1d3bb0e0beeb 100644
--- a/nixpkgs/pkgs/applications/audio/squishyball/default.nix
+++ b/nixpkgs/pkgs/applications/audio/squishyball/default.nix
@@ -1,24 +1,34 @@
-{ lib, stdenv, autoreconfHook, fetchsvn, flac, libao, libvorbis, ncurses
+{ lib, stdenv, autoreconfHook, fetchFromGitLab, fetchpatch, flac, libao, libvorbis, ncurses
 , opusfile, pkg-config
 }:
 
 stdenv.mkDerivation rec {
-  name = "squishyball-${rev}";
-  rev = "19580";
-
-  src = fetchsvn {
-    url = "https://svn.xiph.org/trunk/squishyball";
-    rev = rev;
-    sha256 = "013vq52q9z6kpg9iyc2jnb3m2gihcjblvwpg4yj4wy1q2c05pzqp";
+  pname = "squishyball";
+  version = "unstable-2020-11-23";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.xiph.org";
+    owner = "xiph";
+    repo = "squishyball";
+    rev = "27590fe6bac545e2dd3eacf048edbd969682263a";
+    sha256 = "07zs8wx1ahf3q505fk9b6cgzlkhnayfsscch46yy9s1wgxgphj7s";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [ flac libao libvorbis ncurses opusfile ];
 
-  NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS";
+  patches = [
+    ./gnu-screen.patch
 
-  patches = [ ./gnu-screen.patch ];
+    # Patch pending upstream inclusion for ncurses-6.3 support:
+    #  https://gitlab.xiph.org/xiph/squishyball/-/issues/1
+    (fetchpatch {
+      name = "ncurses-6.3.patch";
+      url = "https://gitlab.xiph.org/xiph/squishyball/uploads/5609ceaf85ebb6dc297c0efe61b9a1b7/0001-mincurses.c-use-ncurses-API-to-enter-raw-mode-ncurse.patch";
+      sha256 = "06llp7cd77f4vvhz8qdld551dnlpjxf98j7rmp3i1x1kng4f0iy3";
+    })
+  ];
 
   postInstall = ''
     # Why doesn’t this happen automagically?
@@ -42,7 +52,7 @@ stdenv.mkDerivation rec {
        comparisons of groups of up to ten samples; this is the default
        mode of operation.
     '';
-    homepage = "https://svn.xiph.org/trunk/squishyball";
+    homepage = "https://gitlab.xiph.org/xiph/squishyball";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ michalrus ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/audio/strawberry/default.nix b/nixpkgs/pkgs/applications/audio/strawberry/default.nix
index fd75a4a8e5d7..6527b90b89e1 100644
--- a/nixpkgs/pkgs/applications/audio/strawberry/default.nix
+++ b/nixpkgs/pkgs/applications/audio/strawberry/default.nix
@@ -36,13 +36,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "sha256-m1BB5OIeCIQuJpxEO1xmb/Z8tzeHF31jYg67OpVWWRM=";
+    sha256 = "sha256-MlS1ShRXfsTMs97MeExW6sfpv40OcQLDIzIzOYGk7Rw=";
   };
 
   buildInputs = [
@@ -72,6 +72,7 @@ mkDerivation rec {
     gstreamer
     gst-plugins-base
     gst-plugins-good
+    gst-plugins-bad
     gst-plugins-ugly
   ]) ++ lib.optional withVlc libvlc;
 
diff --git a/nixpkgs/pkgs/applications/audio/sunvox/default.nix b/nixpkgs/pkgs/applications/audio/sunvox/default.nix
index 7c5c378d2faf..b6a60c0de641 100644
--- a/nixpkgs/pkgs/applications/audio/sunvox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/tauon/default.nix b/nixpkgs/pkgs/applications/audio/tauon/default.nix
index 8213aeb5fe50..444443cd10c4 100644
--- a/nixpkgs/pkgs/applications/audio/tauon/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tauon/default.nix
@@ -5,6 +5,7 @@
 , python3Packages
 , ffmpeg
 , flac
+, librsvg
 , gobject-introspection
 , gtk3
 , libnotify
@@ -20,23 +21,22 @@
 
 stdenv.mkDerivation rec {
   pname = "tauon";
-  version = "6.7.1";
+  version = "7.1.1";
 
   src = fetchFromGitHub {
     owner = "Taiko2k";
     repo = "TauonMusicBox";
     rev = "v${version}";
-    sha256 = "1hm82yfq7q2akrrvff3vmwrd3bz34d2dk8jzhnizhnhar6xc6fzp";
+    sha256 = "sha256-eVliTSFTBG56mU1Crt3syoYxKclz/6W15y/30C+Tf1g=";
   };
 
   postPatch = ''
     substituteInPlace tauon.py \
       --replace 'install_mode = False' 'install_mode = True' \
-      --replace 'install_directory = os.path.dirname(__file__)' 'install_directory = "${placeholder "out"}/share/tauon"'
+      --replace 'install_directory = os.path.dirname(os.path.abspath(__file__))' 'install_directory = "${placeholder "out"}/share/tauon"'
 
     substituteInPlace t_modules/t_main.py \
       --replace 'install_mode = False' 'install_mode = True' \
-      --replace 'install_directory = sys.path[0]' 'install_directory = "${placeholder "out"}/share/tauon"' \
       --replace 'libopenmpt.so' '${lib.getLib libopenmpt}/lib/libopenmpt.so' \
       --replace 'lib/libphazor.so' '../../lib/libphazor.so'
 
@@ -44,6 +44,8 @@ stdenv.mkDerivation rec {
       --replace 'lib/libphazor.so' '../../lib/libphazor.so'
 
     patchShebangs compile-phazor.sh
+
+    substituteInPlace extra/tauonmb.desktop --replace 'Exec=/opt/tauon-music-box/tauonmb.sh' 'Exec=${placeholder "out"}/bin/tauon'
   '';
 
   postBuild = ''
@@ -61,6 +63,7 @@ stdenv.mkDerivation rec {
     gtk3
     libnotify
     libopenmpt
+    librsvg
     libsamplerate
     libvorbis
     mpg123
@@ -70,11 +73,14 @@ stdenv.mkDerivation rec {
   ];
 
   pythonPath = with python3Packages; [
+    beautifulsoup4
+    gst-python
     dbus-python
     isounidecode
     musicbrainzngs
     mutagen
     pillow
+    plexapi
     pulsectl
     pycairo
     pylast
@@ -83,6 +89,7 @@ stdenv.mkDerivation rec {
     pysdl2
     requests
     send2trash
+    setproctitle
   ] ++ lib.optional withDiscordRPC pypresence;
 
   makeWrapperArgs = [
@@ -98,7 +105,12 @@ stdenv.mkDerivation rec {
     cp -r assets input.txt t_modules theme $out/share/tauon
 
     wrapPythonPrograms
-  '';
+
+    mkdir -p $out/share/applications
+    install -Dm755 extra/tauonmb.desktop $out/share/applications/tauonmb.desktop
+    mkdir -p $out/share/icons/hicolor/scalable/apps
+    install -Dm644 extra/tauonmb{,-symbolic}.svg $out/share/icons/hicolor/scalable/apps
+'';
 
   meta = with lib; {
     description = "The Linux desktop music player from the future";
diff --git a/nixpkgs/pkgs/applications/audio/termusic/default.nix b/nixpkgs/pkgs/applications/audio/termusic/default.nix
new file mode 100644
index 000000000000..4a0035aadf53
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
index 70353e2497f1..0a6ad4bdc4cd 100644
--- a/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
+++ b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix
@@ -3,12 +3,12 @@
 , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
 
 stdenv.mkDerivation rec {
-  version = "20211016";
+  version = "20220107";
   pname = "x42-plugins";
 
   src = fetchurl {
     url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Z2lXaJweOPB9hWOuy2cx1P9/CAJ+IMc7JtPDKAg2boU=";
+    sha256 = "sha256-+lzgkRQHe6moid3h6az/iqt2XL5vbyM0BjSTwMBvd3I=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/zrythm/default.nix b/nixpkgs/pkgs/applications/audio/zrythm/default.nix
index 8963cff4d12a..70b7fbb745f3 100644
--- a/nixpkgs/pkgs/applications/audio/zrythm/default.nix
+++ b/nixpkgs/pkgs/applications/audio/zrythm/default.nix
@@ -13,7 +13,6 @@
 , curl
 , dconf
 , libepoxy
-, ffmpeg
 , fftw
 , fftwFloat
 , flex
@@ -95,7 +94,6 @@ stdenv.mkDerivation rec {
     curl
     dconf
     libepoxy
-    ffmpeg
     fftw
     fftwFloat
     flex
@@ -133,10 +131,9 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Denable_ffmpeg=true"
-    "-Denable_rtmidi=true"
-    "-Denable_rtaudio=true"
-    "-Denable_sdl=true"
+    "-Drtmidi=enabled"
+    "-Drtaudio=enabled"
+    "-Dsdl=enabled"
     "-Dcarla=enabled"
     "-Dmanpage=true"
     # "-Duser_manual=true" # needs sphinx-intl
diff --git a/nixpkgs/pkgs/applications/backup/deja-dup/default.nix b/nixpkgs/pkgs/applications/backup/deja-dup/default.nix
index 5e0e6580bf9b..e2b208f891a8 100644
--- a/nixpkgs/pkgs/applications/backup/deja-dup/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/backup/deja-dup/fix-paths.patch b/nixpkgs/pkgs/applications/backup/deja-dup/fix-paths.patch
index 26126fdc9d56..b7b26ee9a664 100644
--- a/nixpkgs/pkgs/applications/backup/deja-dup/fix-paths.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/backup/vorta/default.nix b/nixpkgs/pkgs/applications/backup/vorta/default.nix
index 7434c12cba29..271efc0283d7 100644
--- a/nixpkgs/pkgs/applications/backup/vorta/default.nix
+++ b/nixpkgs/pkgs/applications/backup/vorta/default.nix
@@ -8,13 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vorta";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "borgbase";
     repo = "vorta";
     rev = "v${version}";
-    sha256 = "sha256-ut4HCfLU/P22y5QbNakTV4d4CnFRxJvn+cnJ0ZGpTlw=";
+    sha256 = "06sb24pimq9ckdkp9hzp4r9d3i21kxacsx5b7x9q99qcwf7h6372";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/blockchains/aeon/default.nix b/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
index 79742d48a997..51557b3fecbc 100644
--- a/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/besu/default.nix b/nixpkgs/pkgs/applications/blockchains/besu/default.nix
new file mode 100644
index 000000000000..550d65051e3e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
index a215e600bbd9..2bc3813c226a 100644
--- a/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -35,11 +35,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bisq-desktop";
-  version = "1.8.0";
+  version = "1.8.2";
 
   src = fetchurl {
     url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
-    sha256 = "1q6x6w8mp5ax852hlvi2p61xgckb2lpr2ml21a9mfs9421b6m8h2";
+    sha256 = "154b8whbbpnb8lk1b3an44h53gh5fdzxkg5vdfrw1ld6miy68kii";
   };
 
   nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg gnutar zip xz ];
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix
index 533e3c7dca6e..8aacb50a1b54 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-classic/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "bitcoinclassic";
     repo = "bitcoinclassic";
     rev = "v${version}";
-    sha256 = "sha256-V1cOB5FLotGS5jup/aVaiDiyr/v2KJ2SLcIu/Hrjuwk=";
+    sha256 = "sha256-fVmFD1B4kKoejd2cmPPF5TJJQTAA6AVsGlVY8IIUNK4=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix
index e1a0dd207a0a..35ab9791ec73 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin/default.nix
@@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
       parties. Users hold the crypto keys to their own money and transact directly
       with each other, with the help of a P2P network to check for double-spending.
     '';
-    homepage = "https://bitcoin.org/";
+    homepage = "https://bitcoin.org/en/";
     downloadPage = "https://bitcoincore.org/bin/bitcoin-core-${version}/";
     changelog = "https://bitcoincore.org/en/releases/${version}/";
     maintainers = with maintainers; [ prusnak roconnor ];
diff --git a/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix b/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
index 691979c4de5d..39203e60c78d 100644
--- a/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -3,30 +3,24 @@
 
 buildDotnetModule rec {
   pname = "btcpayserver";
-  version = "1.3.7";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-W8WRw42hMNUaQZlfrl73REGIvLcj6Vso9Axx53ENkx0=";
+    sha256 = "sha256-PW5a1Bw21skpboWDtlZHGWtFwfImznD7nYI92RT7GGQ=";
   };
 
   projectFile = "BTCPayServer/BTCPayServer.csproj";
   nugetDeps = ./deps.nix;
 
-  dotnet-sdk = dotnetCorePackages.sdk_3_1;
-  dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
 
-  dotnetFlags = lib.optionals altcoinSupport [ "/p:Configuration=Altcoins-Release" ];
+  buildType = if altcoinSupport then "Altcoins-Release" else "Release";
 
-  # btcpayserver requires the publish directory as its working dir
-  # https://github.com/btcpayserver/btcpayserver/issues/1894
-  preInstall = ''
-    makeWrapperArgs+=(--run "cd $out/lib/btcpayserver")
-  '';
-
-  postInstall = ''
+  postFixup = ''
     mv $out/bin/{BTCPayServer,btcpayserver}
   '';
 
diff --git a/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix b/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
index b0bbd448d55a..659207b5c54b 100644
--- a/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -31,18 +31,18 @@
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.All";
-    version = "1.2.16";
-    sha256 = "1dq8xzvg51iskvak28ishxm98b5r1qlybh2r36a079764vl5prn1";
+    version = "1.2.19";
+    sha256 = "0g8wm7idxb3pksqn3kkv62k27r7rzxdjdg3drhfsfrlvi0fm2w9j";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Charge";
-    version = "1.2.8";
-    sha256 = "0ldk7kyipgmg0mj1444ins5n014z149j1qa40h12pncr6q1fb0xf";
+    version = "1.2.9";
+    sha256 = "0vplw03l0rldqrw98ybm1d8fcglj9zwhxw6j8blhh27x1wdp0x0c";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.CLightning";
-    version = "1.2.9";
-    sha256 = "0r855lnh6cyj6hpwhdpdhpp39332v7lmk93ri2q8gs9lsnwdyjr8";
+    version = "1.2.10";
+    sha256 = "12i5glirw23mw15hvnn6jr7wxv2jlg8x88s6izz5f1y81bxcmkk7";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Common";
@@ -50,19 +50,29 @@
     sha256 = "1hz4bn3aw537r253ipdpa6sydwhb6dh3r82xp1jizn9a6mnw54x6";
   })
   (fetchNuGet {
-    pname = "BTCPayServer.Lightning.Eclair";
+    pname = "BTCPayServer.Lightning.Common";
     version = "1.2.8";
-    sha256 = "01462fjc0zmgafqk7w0cl880wir9mah90r68xyw607ij28pdc2zf";
+    sha256 = "1zqbhz80q004py8qwd4ma0fm9yd0rkza5r2dap6sfwpvng2c82fj";
+  })
+  (fetchNuGet {
+    pname = "BTCPayServer.Lightning.Eclair";
+    version = "1.2.10";
+    sha256 = "1gqnsxbclvbkjhpwxdqpxcvjkzrardxzfkm6fadwa4jr2y5nhdkq";
+  })
+  (fetchNuGet {
+    pname = "BTCPayServer.Lightning.LNBank";
+    version = "1.0.1";
+    sha256 = "0b3psykci3jjwx0gbw6zwzsviph40bn46xb21dnd64djbq2iaa6p";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.LND";
-    version = "1.2.12";
-    sha256 = "1dqg682lxv61rfwxxqqlc5fal8y5sz7dmf7p70rg7l9csgzgn67r";
+    version = "1.2.14";
+    sha256 = "1lmlakpr67zgwx4qm86ylnivkxfyvq2ypjry17pfiwr11z8p5jih";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Ptarmigan";
-    version = "1.2.7";
-    sha256 = "1mmj8bi32kzgda8v7qdfpm2qlpffv5223c2xnq7351h8ih4bbcvb";
+    version = "1.2.8";
+    sha256 = "1l68n5mk918mfmpr1dkq1m7ql4zc2c4y7vglghna5pfy6jq7ryni";
   })
   (fetchNuGet {
     pname = "BuildBundlerMinifier";
@@ -80,11 +90,6 @@
     sha256 = "0ksmby0lzgsxkv0xfzr840262kcqra9vds91mcx0rf20blksfvsk";
   })
   (fetchNuGet {
-    pname = "Common.Logging.Core";
-    version = "3.4.1";
-    sha256 = "06h80c7l12nh6gnkzskcs4w8741xhprv72vf88f33ilzfy37h5jy";
-  })
-  (fetchNuGet {
     pname = "CsvHelper";
     version = "15.0.5";
     sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma";
@@ -165,14 +170,24 @@
     sha256 = "1gllp58vdbql2ybwf05i2178x7p4g8zyyk64317d1pyss5217g7r";
   })
   (fetchNuGet {
+    pname = "Humanizer.Core";
+    version = "2.8.26";
+    sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm";
+  })
+  (fetchNuGet {
     pname = "libsodium";
     version = "1.0.18";
     sha256 = "15qzl5k31yaaapqlijr336lh4lzz1qqxlimgxy8fdyig8jdmgszn";
   })
   (fetchNuGet {
     pname = "LNURL";
-    version = "0.0.14";
-    sha256 = "0b2v87k3yi2lyka5zy3sbvxsa7yp04nn72l7dk27cm9i1d9914sq";
+    version = "0.0.15";
+    sha256 = "1fy6ywzqs5y9c6d156v08dg8c6689d5xb4y1ar7gqgz6f3cl842n";
+  })
+  (fetchNuGet {
+    pname = "MailKit";
+    version = "3.0.0";
+    sha256 = "0z6bf80zqqwlli844xkv7xzdip8lwrag5cpvx3vydzy6qg0xf2cg";
   })
   (fetchNuGet {
     pname = "McMaster.NETCore.Plugins.Mvc";
@@ -195,14 +210,19 @@
     sha256 = "1j0wbdmycj5xbk06p32f7xrddc40sbj3yca4d7ywg611yk26mvi1";
   })
   (fetchNuGet {
+    pname = "Microsoft.AspNetCore.Connections.Abstractions";
+    version = "3.1.10";
+    sha256 = "05drcgbpzq700kvxnfxha10w3jgfp2jp0r2h4hpczjxj6cywbbi6";
+  })
+  (fetchNuGet {
     pname = "Microsoft.AspNetCore.Cryptography.Internal";
-    version = "3.1.19";
-    sha256 = "1b20hksk2qk2jnkwin4g0n9ap3ma7724pd518fh9qcakf7vfpkl1";
+    version = "6.0.1";
+    sha256 = "1mj04ynr6bxvmq9nrggi832n8hbcr9j9kjr9y2rgiq91y6skzg37";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Cryptography.KeyDerivation";
-    version = "3.1.19";
-    sha256 = "1ksi2h3904932igh1g27l91fqdsfxg8zr6y82ym8pqb62m0906a4";
+    version = "6.0.1";
+    sha256 = "0aqaviwbnwg0vpwwdbif7b9ncpckwpclm77l3ac11s8fsq3vb3sm";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Hosting.Abstractions";
@@ -220,54 +240,74 @@
     sha256 = "1hgmnd5mj35g8cqq3mdhjf9cmi3wm5lqiyrj5mgfscnig6i686xr";
   })
   (fetchNuGet {
+    pname = "Microsoft.AspNetCore.Http.Connections.Client";
+    version = "3.1.10";
+    sha256 = "1sni7hjpylamxaf98insalx3jj2k8skb02mhkmamxxj2488r2p9j";
+  })
+  (fetchNuGet {
+    pname = "Microsoft.AspNetCore.Http.Connections.Common";
+    version = "3.1.10";
+    sha256 = "19mddj0dpy4j6fwh8b1q7aznnckjrkpvbqiyq4sq4z7lcgw6pbq6";
+  })
+  (fetchNuGet {
     pname = "Microsoft.AspNetCore.Http.Features";
     version = "2.0.0";
     sha256 = "1zk5ad3laa7ma83md8r80kijqzps6dcrvv0k1015nddfk1qd74s6";
   })
   (fetchNuGet {
+    pname = "Microsoft.AspNetCore.Http.Features";
+    version = "3.1.10";
+    sha256 = "1y6zf2qgph6ga59272msywdv2xrycg56wz50bjm5pivmh6wv9240";
+  })
+  (fetchNuGet {
     pname = "Microsoft.AspNetCore.Identity.EntityFrameworkCore";
-    version = "3.1.19";
-    sha256 = "0sm7cpccpygwgplbkp0j1q5ilkkiw0dx76qwy3xharv4himakrfm";
+    version = "6.0.1";
+    sha256 = "1j9z0xzj2hlffhg28ijp33flljq75js8dvlchbpggvvd789hm4il";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.JsonPatch";
-    version = "3.1.19";
-    sha256 = "1fh3k85k988jw35sf5hvm6jwmvzmslzpfvf3jk3sn3f3s6gyk0an";
+    version = "6.0.1";
+    sha256 = "0rsqng2b8a3zaha9c2x1195das5wwvmnz31xf14ancgha4lxq68r";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
-    version = "3.1.19";
-    sha256 = "1nh08kjdc152m85ycwxn1q8r69f0l02p6cac6q57nzlyy5gyj2rs";
+    version = "6.0.1";
+    sha256 = "179b2774s68im71r32lv4nydcp586x86zggs8ml6jcfjrd9fs5b1";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.Razor.Extensions";
-    version = "3.1.19";
-    sha256 = "1n22q10n9xlhcjxsm1apd0b7j3j97dd5jmpw6nvymwbv2bw88af4";
+    version = "6.0.1";
+    sha256 = "1grhlksdd7mwv72g78kx86mzba8mgza3i53x9jv16bkc1wxqwfcd";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation";
-    version = "3.1.19";
-    sha256 = "1glmlgrwksv0h8g41wy43wv94ndllq4ihxhdaagig9szvivdh8c1";
+    version = "6.0.1";
+    sha256 = "0778xw230flwqkjjydp73gb6r3brrlqwqdrf4m0b92b083bysh59";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Razor.Language";
-    version = "3.1.19";
-    sha256 = "059v85f2qbj403wcnp5mspzvhkbf6d8hsjl26xvfd5s8svnaz4ax";
+    version = "6.0.1";
+    sha256 = "11spvrnp2mz5kc11ycv2wpgn8bilwpinbl6vkvvr7jjrqlm36lk1";
   })
   (fetchNuGet {
-    pname = "Microsoft.Bcl.AsyncInterfaces";
-    version = "1.1.1";
-    sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw";
+    pname = "Microsoft.AspNetCore.SignalR.Client.Core";
+    version = "3.1.10";
+    sha256 = "1289624ilk45ca8rkyvirqdjsg9jsnqn8dzbjr6f83641fi73s69";
   })
   (fetchNuGet {
-    pname = "Microsoft.Bcl.HashCode";
-    version = "1.1.1";
-    sha256 = "0xwfph92p92d8hgrdiaka4cazqsjpg4ywfxfx6qbk3939f29kzl0";
+    pname = "Microsoft.AspNetCore.SignalR.Client";
+    version = "3.1.10";
+    sha256 = "1s352srycksfnvz5hhi7himpg2gn39iw2gizlc3g30w6pvy8p29c";
   })
   (fetchNuGet {
-    pname = "Microsoft.CodeAnalysis.Analyzers";
-    version = "2.9.3";
-    sha256 = "1kskwc9gyd2sx3zwx52qwfsl7s0xhaclmlnxvjsb4jgvpydv3xii";
+    pname = "Microsoft.AspNetCore.SignalR.Common";
+    version = "3.1.10";
+    sha256 = "0c6lim7my3alq43xxqkgykba068hjlzdcif6c956irailijc0smw";
+  })
+  (fetchNuGet {
+    pname = "Microsoft.AspNetCore.SignalR.Protocols.Json";
+    version = "3.1.10";
+    sha256 = "0qzdpblmgqm3bl5wr14igkqp35zwx4wdkwlh55xm4v3hzhq6l46m";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.Analyzers";
@@ -276,33 +316,33 @@
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.Common";
-    version = "3.11.0";
-    sha256 = "0pwidgg4ifm7cirdy3hf61dyvg6lk4vgb6q7lyb4y0h0b6mvkrcl";
+    version = "4.0.0";
+    sha256 = "1rwnz5zy7ia9312n2qzzar95x9p7iiw57cql7ssdwv255xl1ix29";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.Common";
-    version = "3.3.0";
-    sha256 = "1vwhsp3pjgcfnpapkps9a3z9n2ryiv5bbhzycfljngj5grj63rg2";
+    version = "4.0.1";
+    sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.CSharp";
-    version = "3.11.0";
-    sha256 = "1h16b7dsp1mq7d7picyfhkssqr6xiyywi5x1fd4jwclyrvanyl81";
+    version = "4.0.0";
+    sha256 = "1mzxjy7xp8r9x25xyspq89ngsz0hmkbp0l0h3v1jv2rcrw63wqb4";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.CSharp";
-    version = "3.3.0";
-    sha256 = "09nmd5h1r2q0dwp1dfpn4anvs8sfi3rwcgpcv28lrhky8vc51424";
+    version = "4.0.1";
+    sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.Razor";
-    version = "3.1.19";
-    sha256 = "18l0gcpl7i0bfnyzhpm7h72ng2h8bh46fr2azk7d3ns507gi3xmp";
+    version = "6.0.1";
+    sha256 = "0dwwhiv28wyzq3177qg961ll2q3ggiw2k0zdashgym5cl67p93lm";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeCoverage";
-    version = "16.11.0";
-    sha256 = "0f41l3kks6wk5vjaxpjh8m2flnrvlbvqgqflamhv8rfz4y8ifgdv";
+    version = "17.0.0";
+    sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a";
   })
   (fetchNuGet {
     pname = "Microsoft.CSharp";
@@ -326,8 +366,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Data.Sqlite.Core";
-    version = "3.1.19";
-    sha256 = "0ns3rrk011gjw4g1kwr625390yj0mcadb3py49750sji72my7l7s";
+    version = "6.0.1";
+    sha256 = "0gzn3rynp9k6mx4h4dhq124b7ra8m11rkjh40r2r8z4gkr0shjv1";
   })
   (fetchNuGet {
     pname = "Microsoft.DotNet.PlatformAbstractions";
@@ -341,48 +381,48 @@
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Abstractions";
-    version = "3.1.18";
-    sha256 = "0d00d6wx2mm5bav39bjsikjq0sx6qmp183dbwimfda7wav2bwya8";
+    version = "6.0.0";
+    sha256 = "1aw13qjkpglc1mm3cv7s73s8fschy8lzdnigsp346b7mycpg7v92";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Abstractions";
-    version = "3.1.19";
-    sha256 = "0na2jgxs5k2gxqh99ha4v0blya3pwh2qha49iz0qkw0r3kq0vdvv";
+    version = "6.0.1";
+    sha256 = "15mx86i7gqlak604vr853x7a4b4l48wz5vqh9qbib7wh4pkf4rp3";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Analyzers";
-    version = "3.1.19";
-    sha256 = "02xjz4c6f71mcmdwihi9klrqm28xk84x19vcqi8cgpw50q7d0rly";
+    version = "6.0.1";
+    sha256 = "16739crhjky22j53v8varninz9bqdmdfwjnzj6xvfxqfl858jja5";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Design";
-    version = "3.1.19";
-    sha256 = "128md0ijqa1wvpdicf09i7kcb2aq2b07skc6j0vddz2jhcbi0irr";
+    version = "6.0.1";
+    sha256 = "13bi91lkasy4qj04jn2hmbwpsc6fybgllwsr87qhz5p86ig9ryq9";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Relational";
-    version = "3.1.18";
-    sha256 = "0mlq9gmxrmix68mdh0lv803cx15lzrhs5d9622vj8wwdlngg3xdx";
+    version = "6.0.0";
+    sha256 = "1v2r8004isvz4d8qxh5clgkbnlwivjlsqhn7skw0y9b5i61y2mwk";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Relational";
-    version = "3.1.19";
-    sha256 = "13rbnd441r4zb52y99zwida0n0phvvw7hmccjy2kpnk1jfrr8xi1";
+    version = "6.0.1";
+    sha256 = "0224qas1rl3jv02ribb2lwfqcd64ij40v6q10369h4mrwr071zr2";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Sqlite.Core";
-    version = "3.1.19";
-    sha256 = "1w8ja5daglnr3ycfwlyskrnacb66p8yz730k838v6bpmpsdybn71";
+    version = "6.0.1";
+    sha256 = "1snpa3pzpqfsnf2dpmvhv08lzcdiqcl5af6aldlxrm82dpif95q5";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Sqlite";
-    version = "3.1.19";
-    sha256 = "0iwwa44dr2lg9mh5hmnpnkzbhi5v3vi6xy3xlnqg4hja37ji0xyw";
+    version = "6.0.1";
+    sha256 = "14r1j8bamfwnjzx6igc5nzqvp5gzl2wyfbi53pznkw61xcf6hnch";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore";
-    version = "3.1.19";
-    sha256 = "0gl43zk7ashjx49h35w58cn7dfl1ap3nyq9ws8575jcjhcx3c94h";
+    version = "6.0.1";
+    sha256 = "0ynspdv0f199ppwcg7hnjv6hp01qyaxfcmh1phy9nwjjxlrkwkjc";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Caching.Abstractions";
@@ -391,13 +431,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Caching.Abstractions";
-    version = "3.1.19";
-    sha256 = "1y1is16yl69ja67i9n98r44cr0z8b8f8k31d5ighi9djj4yhz4k2";
+    version = "6.0.0";
+    sha256 = "0qn30d3pg4rx1x2k525jj4x5g1fxm2v5m0ksz2dmk1gmqalpask8";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Caching.Memory";
-    version = "3.1.19";
-    sha256 = "1iysxrmchw5ripyrcfi4nv5a00b9a7agsgvbb7y9fwbfq838v3mp";
+    version = "6.0.0";
+    sha256 = "0dq1x7962zsp926rj76i4akk4hsy7r5ldys8r4xsd78rq5f67rhq";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Abstractions";
@@ -416,8 +456,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "3.1.19";
-    sha256 = "19s5dpswyad55p191280510sb8cr2b6zyx9zlx79p0lq4zaxwaq6";
+    version = "3.1.10";
+    sha256 = "1pj4n3c015ils13fwky2rfv5q8xza671ixb54vr479pc7an2fah3";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Abstractions";
@@ -425,14 +465,19 @@
     sha256 = "03jwqjrfyx11ax19bq84c28qzaiyj4whrx7vayy4hr7sv0p28h8k";
   })
   (fetchNuGet {
+    pname = "Microsoft.Extensions.Configuration.Abstractions";
+    version = "6.0.0";
+    sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j";
+  })
+  (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Binder";
     version = "2.0.0";
     sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Binder";
-    version = "3.1.19";
-    sha256 = "0dw1qiyc8j7rk13x6wfm1xnc7drnlvk8xv607hja0af2m0y7a3p2";
+    version = "3.1.10";
+    sha256 = "004f9nshm5jg0g4n9f48phjx90pzmj88qbqyiimzgvwl0qkk870q";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Binder";
@@ -466,8 +511,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration";
-    version = "3.1.19";
-    sha256 = "04zadl7q5vcak9d77jm5ivfzhhp2zvz5apywvfzrca4h0q38fs45";
+    version = "3.1.10";
+    sha256 = "04xjhi2pmvycx4yam7i3j2l2yjzzbzvxn4i12f00r39j4kkfwqsn";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration";
@@ -486,8 +531,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "3.1.19";
-    sha256 = "0claq9nna6p30zbvd25bn1ild9f3x50d5fxfbq9fsp464rq70b2y";
+    version = "3.1.10";
+    sha256 = "0c9p32jd8fi5k02nbp7ilj0jmnl63kq2464acpsb6ajs4837c02q";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.DependencyInjection.Abstractions";
@@ -495,14 +540,24 @@
     sha256 = "1wkf8ajh4pj6g3wwd18g3hjc3lqqny8052rl373ddcardxrs2gvn";
   })
   (fetchNuGet {
+    pname = "Microsoft.Extensions.DependencyInjection.Abstractions";
+    version = "6.0.0";
+    sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9";
+  })
+  (fetchNuGet {
     pname = "Microsoft.Extensions.DependencyInjection";
     version = "2.0.0";
     sha256 = "018izzgykaqcliwarijapgki9kp2c560qv8qsxdjywr7byws5apq";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.DependencyInjection";
-    version = "3.1.19";
-    sha256 = "0fsvv5jl95kmdxc4c7b15xanlq3fmfls556m8ghbqqikrgkqhz8m";
+    version = "3.1.10";
+    sha256 = "0if1g8gj3ngvqf4ddkjhz30p4y2yax8m5vlbrjzgixq80g3apy6d";
+  })
+  (fetchNuGet {
+    pname = "Microsoft.Extensions.DependencyInjection";
+    version = "6.0.0";
+    sha256 = "1wlhb2vygzfdjbdzy7waxblmrx0q3pdcqvpapnpmq9fcx5m8r6w1";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.DependencyModel";
@@ -511,13 +566,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.DependencyModel";
-    version = "3.1.6";
-    sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac";
+    version = "5.0.0";
+    sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.DependencyModel";
-    version = "5.0.0";
-    sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x";
+    version = "6.0.0";
+    sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.FileProviders.Abstractions";
@@ -551,13 +606,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Identity.Core";
-    version = "3.1.19";
-    sha256 = "14mywrm6mv7hzfappgdrmwwk97a4qpfkir5a55443awy8wl3bylr";
+    version = "6.0.1";
+    sha256 = "1kwn30a024fqi9gpap8g2wifjzij0bcz70lgz7bdz4vy3sp9mn99";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Identity.Stores";
-    version = "3.1.19";
-    sha256 = "0pkrhf1vffll986hh49gyvfdqn1vnjd0qnpfkag2b76d681xlvgg";
+    version = "6.0.1";
+    sha256 = "1l2njmcg4fvg6jr9gjvcr7yfj0r0ndwsa8r1dwlaciz3a2x2pfg8";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Logging.Abstractions";
@@ -581,8 +636,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Logging.Abstractions";
-    version = "3.1.19";
-    sha256 = "07jnqb6518xrw086rqlc28ms80d57xg0pl5x72032rk2x5x8hhnn";
+    version = "3.1.10";
+    sha256 = "1571q9iznbsmd7p87w420parmpdgi8zfjcs4kynmwv344dwdismz";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Logging.Abstractions";
@@ -590,6 +645,11 @@
     sha256 = "0lr22hlf52csrna9ly2lbz3y1agfgdlg7rvsqjg7ik488dhkmhji";
   })
   (fetchNuGet {
+    pname = "Microsoft.Extensions.Logging.Abstractions";
+    version = "6.0.0";
+    sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0";
+  })
+  (fetchNuGet {
     pname = "Microsoft.Extensions.Logging.Filter";
     version = "1.1.2";
     sha256 = "1pip87q89376xxpi3r5pf9vxhqxx21qrp179fbldbkr2m1577k9m";
@@ -601,8 +661,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Logging";
-    version = "3.1.19";
-    sha256 = "0j2874x847xa1nfbppjn10cnxd486f6lwy53mxmansvlmp96h2sn";
+    version = "3.1.10";
+    sha256 = "1lf1hgpk0d5g9mv68f9b2cp6jhpnc4a6bflc1f2mn9x4dvmpv2wi";
+  })
+  (fetchNuGet {
+    pname = "Microsoft.Extensions.Logging";
+    version = "6.0.0";
+    sha256 = "0fd9jii3y3irfcwlsiww1y9npjgabzarh33rn566wpcz24lijszi";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Options.ConfigurationExtensions";
@@ -621,8 +686,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Options";
-    version = "3.1.19";
-    sha256 = "1jm7rd2sbfscyfysvl8zcaypyzpd6d5w52ha2npa9c7q84cmn4r9";
+    version = "3.1.10";
+    sha256 = "0kmh12w0y4bf2jnmbbxk10mqnynjqa5qks5pa0zg4vsnfscj8i95";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Options";
@@ -630,6 +695,11 @@
     sha256 = "0rhqyqa7vhlmz2g0250zhypaayvckx4dv89micdg521cpvr5arpr";
   })
   (fetchNuGet {
+    pname = "Microsoft.Extensions.Options";
+    version = "6.0.0";
+    sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g";
+  })
+  (fetchNuGet {
     pname = "Microsoft.Extensions.PlatformAbstractions";
     version = "1.1.0";
     sha256 = "0r4j8v2vvp3kalvb11ny9cvpls3nrvqj0c81rxbkh99ynd2dbscp";
@@ -656,8 +726,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Primitives";
-    version = "3.1.19";
-    sha256 = "0vcwwqqfwm5vj87psmic6mxix3prgkzw8sqbg5m1c2q662kby380";
+    version = "3.1.10";
+    sha256 = "0a3f35427hpai0wq1wlqpn4m5aacfddkq25hp71nwlz5zm1dqfmk";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Primitives";
@@ -665,6 +735,11 @@
     sha256 = "0n2pk1sy8ikd29282sx4ps9r1wnhzgg4nwmkka9ypjizd8lkkk2m";
   })
   (fetchNuGet {
+    pname = "Microsoft.Extensions.Primitives";
+    version = "6.0.0";
+    sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2";
+  })
+  (fetchNuGet {
     pname = "Microsoft.IdentityModel.JsonWebTokens";
     version = "6.6.0";
     sha256 = "06z5a1jpqpdd1pix85is7kkpn4v0l4an909skji2p8gm09p5sfyv";
@@ -681,8 +756,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.NET.Test.Sdk";
-    version = "16.11.0";
-    sha256 = "1a2y6vw6p9xp3w72zq2lwrjl8bxv87s9d7zd2dh4zwbzh1c5slxl";
+    version = "17.0.0";
+    sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r";
   })
   (fetchNuGet {
     pname = "Microsoft.NetCore.Analyzers";
@@ -710,11 +785,6 @@
     sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141";
   })
   (fetchNuGet {
-    pname = "Microsoft.NETCore.Platforms";
-    version = "3.1.0";
-    sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j";
-  })
-  (fetchNuGet {
     pname = "Microsoft.NETCore.Targets";
     version = "1.0.1";
     sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
@@ -726,13 +796,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.TestPlatform.ObjectModel";
-    version = "16.11.0";
-    sha256 = "1fc0ghk1cny4i8w43b94pxhl0srxisv6kaflkkp30ncsa9szhkxh";
+    version = "17.0.0";
+    sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7";
   })
   (fetchNuGet {
     pname = "Microsoft.TestPlatform.TestHost";
-    version = "16.11.0";
-    sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k";
+    version = "17.0.0";
+    sha256 = "06mn31cgpp7d8lwdyjanh89prc66j37dchn74vrd9s588rq0y70r";
   })
   (fetchNuGet {
     pname = "Microsoft.Win32.Primitives";
@@ -745,14 +815,14 @@
     sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
   })
   (fetchNuGet {
-    pname = "Microsoft.Win32.SystemEvents";
-    version = "4.7.0";
-    sha256 = "0pjll2a62hc576hd4wgyasva0lp733yllmk54n37svz5ac7nfz0q";
+    pname = "MimeKit";
+    version = "3.0.0";
+    sha256 = "1ccds2g2cr3xficahq5i3i049nlzv2075x8yc24kwz3v1wyw458s";
   })
   (fetchNuGet {
     pname = "MySqlConnector";
-    version = "0.69.10";
-    sha256 = "159xir7czzz291cs0f2dsgmnhar41s4wglm5r5lw3kqpd50q3i9v";
+    version = "2.0.0";
+    sha256 = "0l0r4wr1h176w6hcsfjp5kx05fpzhhgzxcmirv8zfyk899vfgqkz";
   })
   (fetchNuGet {
     pname = "NBitcoin.Altcoins";
@@ -760,29 +830,19 @@
     sha256 = "1qck2nfj8494pxwzhccslq4cbypsgnwcv3nvz24czsd87wn8n618";
   })
   (fetchNuGet {
-    pname = "NBitcoin.Secp256k1";
-    version = "1.0.3";
-    sha256 = "08d4db64j1qz8ax9fg8zi6n7g1n53clnkajbbvv2hgaqyfrsnqxj";
-  })
-  (fetchNuGet {
     pname = "NBitcoin";
     version = "5.0.40";
     sha256 = "1rqzn84yaww4afagwg8jg1l5qdkvqyjdfcyd5widddqwxabbsjvh";
   })
   (fetchNuGet {
     pname = "NBitcoin";
-    version = "5.0.54";
-    sha256 = "0mx2gr8j8bc4mf1vi1fvqj3672qalxvzvincc61if79p46cik24b";
-  })
-  (fetchNuGet {
-    pname = "NBitcoin";
     version = "6.0.15";
     sha256 = "038dcl2k88w4cijws3pdnjflgy4lmqx70z0l7yqz355kmxjz8ain";
   })
   (fetchNuGet {
     pname = "NBitcoin";
-    version = "6.0.17";
-    sha256 = "1dl3rmmx33041sd0lsj54lk19mzyd8j2nngjmbnn8s4gsdnzd7z1";
+    version = "6.0.19";
+    sha256 = "1vd9hcavqkh0yhzmwnyyk8yd4i205217k90m7w0lln5vqvmq14kk";
   })
   (fetchNuGet {
     pname = "NBitcoin";
@@ -805,96 +865,11 @@
     sha256 = "1nh4jj7yg81825hr7cc99qlnfmdm6jibap81qqi8a968b61z4251";
   })
   (fetchNuGet {
-    pname = "Nethereum.ABI";
-    version = "4.1.0";
-    sha256 = "1mhg6mh7wkz93fq3pclkxjipcvzglnk70gr9s1cgr2ak84y3g5lr";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.Accounts";
-    version = "4.1.0";
-    sha256 = "0wd4wa2d1dm4ni5l208bn7wi63m1whmbh4x6sfk8m4qh4dlh1bq0";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.BlockchainProcessing";
-    version = "4.1.0";
-    sha256 = "1986y39mpd61s7kkkbcc9hcg7vwmp9mamhiiy9pzsnfgc2jna6c4";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.Contracts";
-    version = "4.1.0";
-    sha256 = "07yj2fqx0p22aayhn7zjczq5xj55b2w48qar8j5q2klzl9q64iwc";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.HdWallet";
-    version = "4.1.0";
-    sha256 = "052g15iqhkx94igvnv5qr8gxpvbi34c7avqn6j4i4p0yf6kwbwsi";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.Hex";
-    version = "4.1.0";
-    sha256 = "1bkmbfclbkr3336za7ii5vac7c4h2l1vd4bl3a15s54piwfgx44w";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.JsonRpc.Client";
-    version = "4.1.0";
-    sha256 = "1260pr9y83nrfqpgq37s91dbsxdfkvdh55x48554c33ldrqsqk4p";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.JsonRpc.RpcClient";
-    version = "4.1.0";
-    sha256 = "0jybgfzy4cj9jx1djjc66vpk9sg88dymy5jrcrply3y6bq85arq3";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.KeyStore";
-    version = "4.1.0";
-    sha256 = "16xffhfx7k9rfb5kr717cpbircj66gazbkbbwvf5hss3v9a6imzz";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.Model";
-    version = "4.1.0";
-    sha256 = "03aaizfpjvbf367mprni2ixlyfvz7ic8cn1cfmjk1n3f3q63qbqh";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.RLP";
-    version = "4.1.0";
-    sha256 = "19ixlvv91s0xhn3bvwn0yydd5932vcylin037dv4wzgbk2v0vdpm";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.RPC";
-    version = "4.1.0";
-    sha256 = "0ivvic38wpay9ry1hp4n88bgglnxcd8id7p5h235ilviq2gxgmmb";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.Signer";
-    version = "4.1.0";
-    sha256 = "1lgyb80l7xwhp4jbfbba0d47p7nxhx0lac08k23nzwnqmg95y4n6";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.StandardTokenEIP20";
-    version = "4.1.0";
-    sha256 = "1i08kpa6knrm3jbhxgfaa2ing5w42j3jsdx72hl6a9xcjdkjr405";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.Util";
-    version = "4.1.0";
-    sha256 = "1fp7ii6ic13d1s8n6l63f1kyb03s04fghhfm7sshvk6bhjlynfqw";
-  })
-  (fetchNuGet {
-    pname = "Nethereum.Web3";
-    version = "4.1.0";
-    sha256 = "1b8myc9wr44vf7kcl9rmhc8zimpfda3mmizhiq1x287xs44nam0b";
-  })
-  (fetchNuGet {
     pname = "NETStandard.Library";
     version = "1.6.1";
     sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
   })
   (fetchNuGet {
-    pname = "NETStandard.Library";
-    version = "2.0.3";
-    sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
-  })
-  (fetchNuGet {
     pname = "Newtonsoft.Json.Bson";
     version = "1.0.1";
     sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa";
@@ -961,13 +936,13 @@
   })
   (fetchNuGet {
     pname = "Npgsql.EntityFrameworkCore.PostgreSQL";
-    version = "3.1.18";
-    sha256 = "0yjrp87m0kj8bzybszxnj7n1h21zag3rqpva74xzvm78gz1asc04";
+    version = "6.0.1";
+    sha256 = "108sc62dqdb6ym2ck651kamcv6qf93cmaqzygfblmiglwzi6frnx";
   })
   (fetchNuGet {
     pname = "Npgsql";
-    version = "4.1.9";
-    sha256 = "1b9qp3cjwydd4g1yy8nxxr0b0nwdbijmcmzjpkb9r13ndgdrd8nq";
+    version = "6.0.1";
+    sha256 = "150paiwqxp6zsy5v7vl2a9h3ikzfv3pd04whxifmamq0h1ghw0ld";
   })
   (fetchNuGet {
     pname = "NSec.Cryptography";
@@ -1001,23 +976,18 @@
   })
   (fetchNuGet {
     pname = "Pomelo.EntityFrameworkCore.MySql";
-    version = "3.2.7";
-    sha256 = "018za1ax17ibxld9rk2nc29716qpn2afh1prfrdjchf5cp56ba2p";
-  })
-  (fetchNuGet {
-    pname = "Pomelo.JsonObject";
-    version = "2.2.1";
-    sha256 = "1w6s9wjbsyvq8cnqknkdzm9chnv0g5gcsrq5i94zp6br9vg7c627";
+    version = "6.0.0";
+    sha256 = "0qvm5rh9kv8znsp8wbss81w5a2afh0dl13pwkc824j7ywklz0gzz";
   })
   (fetchNuGet {
     pname = "Portable.BouncyCastle";
-    version = "1.8.2";
-    sha256 = "0xqc8q40lr4r7ahsmzpa1q0jagp12abb6rsj80p37q34hsv5284q";
+    version = "1.9.0";
+    sha256 = "0kphjwz4hk2nki3b4f9z096xzd520nrpvi3cjib8fkjk6zhwrr8q";
   })
   (fetchNuGet {
     pname = "QRCoder";
-    version = "1.4.1";
-    sha256 = "1xgwhpqrm4ycnj8nk4ibxfwkmkiwc5i15l1za3ci5alghlpcb6ch";
+    version = "1.4.3";
+    sha256 = "1hmlqbdyq5n9bsmns5h0dwcxpd2jvqr9a2y6dyc9kbjmc8j1dpla";
   })
   (fetchNuGet {
     pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
@@ -1121,8 +1091,8 @@
   })
   (fetchNuGet {
     pname = "Selenium.WebDriver.ChromeDriver";
-    version = "94.0.4606.6100";
-    sha256 = "04kn91qcgsx92yhcqlhpm1yy3m34m371k70szf8h93gcwfs42b9c";
+    version = "96.0.4664.4500";
+    sha256 = "1kfnrimy49mab6v4afkk290djjyldnn683wdj15dax2mv8yxbyxs";
   })
   (fetchNuGet {
     pname = "Selenium.WebDriver";
@@ -1176,23 +1146,23 @@
   })
   (fetchNuGet {
     pname = "SQLitePCLRaw.bundle_e_sqlite3";
-    version = "2.0.2";
-    sha256 = "00p7n7ndmmh45fhhd3clb11igpzklm1n7r50sdrgnbi5yifv1lxl";
+    version = "2.0.6";
+    sha256 = "1ip0a653dx5cqybxg27zyz5ps31f2yz50g3jvz3vx39isx79gax3";
   })
   (fetchNuGet {
     pname = "SQLitePCLRaw.core";
-    version = "2.0.2";
-    sha256 = "11mnbnsiirpgmilskqh1issvgzgg08ndq3p3nkrw73hyqr7kl958";
+    version = "2.0.6";
+    sha256 = "1w4iyg0v1v1z2m7akq7rv8lsgixp2m08732vr14vgpqs918bsy1i";
   })
   (fetchNuGet {
     pname = "SQLitePCLRaw.lib.e_sqlite3";
-    version = "2.0.2";
-    sha256 = "0967w6r6n94hj0fma3kidb9fx1m2p3fgrw6gpsy6q6jbb33qw6vj";
+    version = "2.0.6";
+    sha256 = "16378rh1lcqxynf5qj0kh8mrsb0jp37qqwg4285kqc5pknvh1bx3";
   })
   (fetchNuGet {
-    pname = "SQLitePCLRaw.provider.dynamic_cdecl";
-    version = "2.0.2";
-    sha256 = "1lzs8yfjygrwfm3hjmkhnbnpsjzq53ijwx9whmii2r9kjg2a46if";
+    pname = "SQLitePCLRaw.provider.e_sqlite3";
+    version = "2.0.6";
+    sha256 = "0chgrqyycb1kqnaxnhhfg0850b94blhzni8zn79c7ggb3pd2ykyz";
   })
   (fetchNuGet {
     pname = "SSH.NET";
@@ -1220,6 +1190,11 @@
     sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
   })
   (fetchNuGet {
+    pname = "System.Buffers";
+    version = "4.5.1";
+    sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
+  })
+  (fetchNuGet {
     pname = "System.Collections.Concurrent";
     version = "4.0.12";
     sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
@@ -1231,18 +1206,13 @@
   })
   (fetchNuGet {
     pname = "System.Collections.Immutable";
-    version = "1.5.0";
-    sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
-  })
-  (fetchNuGet {
-    pname = "System.Collections.Immutable";
-    version = "1.7.1";
-    sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
+    version = "5.0.0";
+    sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
   })
   (fetchNuGet {
     pname = "System.Collections.Immutable";
-    version = "5.0.0";
-    sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
+    version = "6.0.0";
+    sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c";
   })
   (fetchNuGet {
     pname = "System.Collections.NonGeneric";
@@ -1265,11 +1235,6 @@
     sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
   })
   (fetchNuGet {
-    pname = "System.ComponentModel.Annotations";
-    version = "4.7.0";
-    sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z";
-  })
-  (fetchNuGet {
     pname = "System.ComponentModel.Primitives";
     version = "4.3.0";
     sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
@@ -1311,8 +1276,8 @@
   })
   (fetchNuGet {
     pname = "System.Diagnostics.DiagnosticSource";
-    version = "4.7.1";
-    sha256 = "1mivaifniyrqwlnvzsfaxzrh2sd981bwzs3cbvs5wi7jjzbcqr4p";
+    version = "6.0.0";
+    sha256 = "0rrihs9lnb1h6x4h0hn6kgfnh58qq7hx8qq99gh6fayx4dcnx3s5";
   })
   (fetchNuGet {
     pname = "System.Diagnostics.Tools";
@@ -1340,11 +1305,6 @@
     sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
   })
   (fetchNuGet {
-    pname = "System.Drawing.Common";
-    version = "4.7.0";
-    sha256 = "0yfw7cpl54mgfcylvlpvrl0c8r1b0zca6p7r3rcwkvqy23xqcyhg";
-  })
-  (fetchNuGet {
     pname = "System.Dynamic.Runtime";
     version = "4.0.11";
     sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
@@ -1355,6 +1315,11 @@
     sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
   })
   (fetchNuGet {
+    pname = "System.Formats.Asn1";
+    version = "5.0.0";
+    sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn";
+  })
+  (fetchNuGet {
     pname = "System.Globalization.Calendars";
     version = "4.3.0";
     sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
@@ -1416,8 +1381,8 @@
   })
   (fetchNuGet {
     pname = "System.IO.Pipelines";
-    version = "4.7.4";
-    sha256 = "09gv2nz35vmmcjrfj1ppxx32v772i0mb369v7lwqr8mz14zhh86r";
+    version = "6.0.1";
+    sha256 = "0b6zvhhfdxx0wx3bzyvxbq0mk8l5lbjak5124sn0gkif5jb388w4";
   })
   (fetchNuGet {
     pname = "System.IO";
@@ -1646,16 +1611,6 @@
   })
   (fetchNuGet {
     pname = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.2";
-    sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
-  })
-  (fetchNuGet {
-    pname = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.6.0";
-    sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m";
-  })
-  (fetchNuGet {
-    pname = "System.Runtime.CompilerServices.Unsafe";
     version = "4.7.0";
     sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
   })
@@ -1665,6 +1620,11 @@
     sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x";
   })
   (fetchNuGet {
+    pname = "System.Runtime.CompilerServices.Unsafe";
+    version = "6.0.0";
+    sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc";
+  })
+  (fetchNuGet {
     pname = "System.Runtime.Extensions";
     version = "4.1.0";
     sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
@@ -1775,6 +1735,11 @@
     sha256 = "00797sqbba8lys486ifxblz9j52m29kidclvmqpk531820k55x9j";
   })
   (fetchNuGet {
+    pname = "System.Security.Cryptography.Cng";
+    version = "5.0.0";
+    sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw";
+  })
+  (fetchNuGet {
     pname = "System.Security.Cryptography.Csp";
     version = "4.3.0";
     sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
@@ -1795,6 +1760,11 @@
     sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
   })
   (fetchNuGet {
+    pname = "System.Security.Cryptography.Pkcs";
+    version = "5.0.0";
+    sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj";
+  })
+  (fetchNuGet {
     pname = "System.Security.Cryptography.Primitives";
     version = "4.0.0";
     sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
@@ -1881,18 +1851,13 @@
   })
   (fetchNuGet {
     pname = "System.Text.Encodings.Web";
-    version = "5.0.0";
-    sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1";
+    version = "6.0.0";
+    sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai";
   })
   (fetchNuGet {
     pname = "System.Text.Json";
-    version = "4.7.2";
-    sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4";
-  })
-  (fetchNuGet {
-    pname = "System.Text.Json";
-    version = "5.0.0";
-    sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks";
+    version = "6.0.0";
+    sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl";
   })
   (fetchNuGet {
     pname = "System.Text.RegularExpressions";
@@ -1910,6 +1875,11 @@
     sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz";
   })
   (fetchNuGet {
+    pname = "System.Threading.Channels";
+    version = "4.7.1";
+    sha256 = "038fyrriypwzsj5fwgnkw79hm5ya0x63r724yizgahbxf512chr2";
+  })
+  (fetchNuGet {
     pname = "System.Threading.Tasks.Extensions";
     version = "4.0.0";
     sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
@@ -1921,11 +1891,6 @@
   })
   (fetchNuGet {
     pname = "System.Threading.Tasks.Extensions";
-    version = "4.5.3";
-    sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i";
-  })
-  (fetchNuGet {
-    pname = "System.Threading.Tasks.Extensions";
     version = "4.5.4";
     sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
   })
@@ -2016,8 +1981,8 @@
   })
   (fetchNuGet {
     pname = "Text.Analyzers";
-    version = "2.6.4";
-    sha256 = "1fm3gjnbfnjap3wphx5x48awriy14a2g3s9c1nc4m8w85k8mqdsl";
+    version = "3.3.3";
+    sha256 = "1fkx07xi049mlzskrw9422zpikdppsgf7vi2lq97qs5rvly3rfvp";
   })
   (fetchNuGet {
     pname = "TwentyTwenty.Storage.Amazon";
@@ -2081,8 +2046,8 @@
   })
   (fetchNuGet {
     pname = "xunit.runner.visualstudio";
-    version = "2.4.2";
-    sha256 = "0fi85h43nyrhfc5jzg07znh01r7cpb7bpjdc6mzb9z1pm14ppfm6";
+    version = "2.4.3";
+    sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3";
   })
   (fetchNuGet {
     pname = "xunit";
diff --git a/nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix b/nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix
index b576cd2373ce..51ca4469bc48 100644
--- a/nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/chia-plotter/default.nix
@@ -4,7 +4,7 @@
 , libsodium
 , cmake
 , substituteAll
-, pythonPackages
+, python3Packages
 }:
 
 stdenv.mkDerivation {
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     # prevent CMake from trying to get libraries on the Internet
     (substituteAll {
       src = ./dont_fetch_dependencies.patch;
-      pybind11_src = pythonPackages.pybind11.src;
+      pybind11_src = python3Packages.pybind11.src;
       relic_src = fetchFromGitHub {
         owner = "relic-toolkit";
         repo = "relic";
diff --git a/nixpkgs/pkgs/applications/blockchains/dashpay/default.nix b/nixpkgs/pkgs/applications/blockchains/dashpay/default.nix
index ca1dd13e4251..0411f8cf32bf 100644
--- a/nixpkgs/pkgs/applications/blockchains/dashpay/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/dashpay/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "dashpay";
     repo= "dash";
     rev = "v${version}";
-    sha256 = "0l1gcj2xf2bal9ph9y11x8yd28fd25f55f48xbm45bfw3ij7nbaa";
+    sha256 = "sha256-DMoiUX8Q0HcBHA6ZIN58uPsTnHjEJMi8eGG2DW8z17Q=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/blockchains/electrs/default.nix b/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
index ace5ec94c639..4928f363d707 100644
--- a/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/electrs/default.nix
@@ -12,16 +12,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "electrs";
-  version = "0.9.3";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-sTQ/dX1uXJkEmrNZ47qjBlrexO50y0NGNhw71rHc9bw=";
+    hash = "sha256-6TR9OeIAVVbwDrshb9zHTS39x6taNWYK0UyRLbkW+g0=";
   };
 
-  cargoHash = "sha256-1ZQt8LaqgxNxFfgCVCK0GVwbcVfX3v9iz7tHvzgyI0g=";
+  cargoHash = "sha256-taOrbtx74DICvPLrwym70X3pv7EBA/H22VZmlxefANM=";
 
   # needed for librocksdb-sys
   nativeBuildInputs = [ llvmPackages.clang ];
diff --git a/nixpkgs/pkgs/applications/blockchains/elements/default.nix b/nixpkgs/pkgs/applications/blockchains/elements/default.nix
index b0ed8a1a2e87..6c8d895e03a4 100644
--- a/nixpkgs/pkgs/applications/blockchains/elements/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/elements/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
 , autoreconfHook
 , pkg-config
 , util-linux
@@ -26,9 +26,11 @@ stdenv.mkDerivation rec {
   pname = if withGui then "elements" else "elementsd";
   version = "0.21.0.1";
 
-  src = fetchurl {
-    url = "https://github.com/ElementsProject/elements/archive/elements-${version}.tar.gz";
-    sha256 = "00a2lrn77mfmr5dvrqwplk20gaxxq4cd9gcx667hgmfmmz1v6r6b";
+  src = fetchFromGitHub {
+    owner = "ElementsProject";
+    repo = "elements";
+    rev = "elements-${version}";
+    sha256 = "sha256-nZa5doiFQJhtK8cUUISTZhS61HzW7CMB9pPsWKc8Gac=";
   };
 
   nativeBuildInputs =
diff --git a/nixpkgs/pkgs/applications/blockchains/ergo/default.nix b/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
index 96ca870b79fb..cb39e26789b3 100644
--- a/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "4.0.16.2";
+  version = "4.0.23";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-nAaNT5Rt/oLBA2pSJSinoLKMYJ0VZmuC0zoMYbMSAJQ=";
+    sha256 = "sha256-ZpBTfL8ghLOo8C9yDUfKelblpIlwdVAOgYVvqmxJQXo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/blockchains/erigon.nix b/nixpkgs/pkgs/applications/blockchains/erigon.nix
index 3258aec6c30c..cb69104fb9b7 100644
--- a/nixpkgs/pkgs/applications/blockchains/erigon.nix
+++ b/nixpkgs/pkgs/applications/blockchains/erigon.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "erigon";
-  version = "2021.09.04";
+  version = "2022.01.02";
 
   src = fetchFromGitHub {
     owner = "ledgerwatch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l0w1badhvlh1rgqzvlmy5k7xhb1nf4f5dmhkl935a5ila08aak3";
+    sha256 = "sha256-PzLFwpLKPMV9J2+hqwFppdrFvGxyWpSzYDiQTWZXKco=";
   };
 
-  vendorSha256 = "1hbfmq76zm50zwmlh3jblriwq2k1mp99d8lg8xzxwy56hncgfj8k";
-  runVend = true;
+  vendorSha256 = "sha256-YslMHpc3ApPiZOhNZrKoLaQcUWZwj7WLxmzYFyThnRo=";
+  proxyVendor = true;
 
   # Build errors in mdbx when format hardening is enabled:
   #   cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
diff --git a/nixpkgs/pkgs/applications/blockchains/exodus/default.nix b/nixpkgs/pkgs/applications/blockchains/exodus/default.nix
index 39d13189e8e6..389497b2ec39 100644
--- a/nixpkgs/pkgs/applications/blockchains/exodus/default.nix
+++ b/nixpkgs/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 = "21.12.3";
 
   src = fetchurl {
     url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
-    sha256 = "a85ddda4e73dfadddbb77cf9bc84c30fc6b893ead46367d702976bbf4da5afa4";
+    sha256 = "sha256-8Jgg9OxptkhD1SBjVBoklHQVCUOO+EePWnyEajqlivE=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/applications/blockchains/fulcrum/default.nix b/nixpkgs/pkgs/applications/blockchains/fulcrum/default.nix
new file mode 100644
index 000000000000..35b5f05b3836
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/fulcrum/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, qmake
+, python3
+, qtbase
+, rocksdb
+, zeromq
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fulcrum";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "cculianu";
+    repo = "Fulcrum";
+    rev = "v${version}";
+    sha256 = "sha256-oywxGg+Ss7qBITI2PBXQs5ph7PZbJ3c1smtT/TcVoLI=";
+  };
+
+  nativeBuildInputs = [ pkg-config qmake ];
+
+  dontWrapQtApps = true; # no GUI
+
+  buildInputs = [ python3 qtbase rocksdb zeromq ];
+
+  meta = with lib; {
+    description = "Fast & nimble SPV server for Bitcoin Cash & Bitcoin BTC";
+    homepage = "https://github.com/cculianu/Fulcrum";
+    maintainers = with maintainers; [ prusnak ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix b/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
index 05bed4fe2e18..842ebcc69ec8 100644
--- a/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit, nixosTests }:
 
 let
   # A list of binaries to put into separate outputs
@@ -9,16 +9,16 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.14";
+  version = "1.10.16";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0DQrcei3FM+X4BYokou7dPNVCcJTbY05YsTvzdtsas8=";
+    sha256 = "sha256-l+hxAUw55d9MYLIUdF6qSEIelJQYRCvHyw1yuossmyA=";
   };
 
-  vendorSha256 = "sha256-zQOpWtQrdn+E1tRWmtEScQ7DDMzNCSr5H+5YL+Z1vug=";
+  vendorSha256 = "sha256-keeox2d2WEzY9ynEcovPaU95YzVQlbTu1i7PLpjkjZU=";
 
   doCheck = false;
 
@@ -50,6 +50,8 @@ in buildGoModule rec {
   propagatedBuildInputs =
     lib.optionals stdenv.isDarwin [ libobjc IOKit ];
 
+  passthru.tests = { inherit (nixosTests) geth; };
+
   meta = with lib; {
     homepage = "https://geth.ethereum.org/";
     description = "Official golang implementation of the Ethereum protocol";
diff --git a/nixpkgs/pkgs/applications/blockchains/groestlcoin/default.nix b/nixpkgs/pkgs/applications/blockchains/groestlcoin/default.nix
new file mode 100644
index 000000000000..b14076f808d7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/groestlcoin/default.nix
@@ -0,0 +1,93 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, util-linux
+, hexdump
+, autoSignDarwinBinariesHook
+, wrapQtAppsHook ? null
+, boost
+, libevent
+, miniupnpc_2
+, zeromq
+, zlib
+, db53
+, sqlite
+, qrencode
+, qtbase ? null
+, qttools ? null
+, python3
+, withGui ? false
+, withWallet ? true
+}:
+
+let
+  version = "22.0";
+  desktop = fetchurl {
+    url = "https://raw.githubusercontent.com/Groestlcoin/packaging/${version}/debian/groestlcoin-qt.desktop";
+    sha256 = "0mxwq4jvcip44a796iwz7n1ljkhl3a4p47z7qlsxcfxw3zmm0k0k";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = if withGui then "groestlcoin" else "groestlcoind";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "Groestlcoin";
+    repo = "groestlcoin";
+    rev = "v${version}";
+    sha256 = "104zzcigpk976iqyinjn6mw3l36zb1if7249iz44ds1zaxv3g1v1";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ]
+    ++ lib.optionals stdenv.isLinux [ util-linux ]
+    ++ lib.optionals stdenv.isDarwin [ hexdump ]
+    ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]
+    ++ lib.optionals withGui [ wrapQtAppsHook ];
+
+  buildInputs = [ boost libevent miniupnpc_2 zeromq zlib ]
+    ++ lib.optionals withWallet [ db53 sqlite ]
+    ++ lib.optionals withGui [ qrencode qtbase qttools ];
+
+  postInstall = lib.optionalString withGui ''
+    install -Dm644 ${desktop} $out/share/applications/groestlcoin-qt.desktop
+    substituteInPlace $out/share/applications/groestlcoin-qt.desktop --replace "Icon=groestlcoin128" "Icon=groestlcoin"
+    install -Dm644 share/pixmaps/groestlcoin256.png $out/share/pixmaps/groestlcoin.png
+  '';
+
+  configureFlags = [
+    "--with-boost-libdir=${boost.out}/lib"
+    "--disable-bench"
+  ] ++ lib.optionals (!withWallet) [
+    "--disable-wallet"
+  ] ++ lib.optionals withGui [
+    "--with-gui=qt5"
+    "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+  ];
+
+  checkInputs = [ python3 ];
+
+  checkFlags = [ "LC_ALL=en_US.UTF-8" ]
+    # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Groestlcoin's GUI.
+    # See also https://github.com/NixOS/nixpkgs/issues/24256
+    ++ lib.optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Peer-to-peer electronic cash system";
+    longDescription = ''
+      Groestlcoin is a free open source peer-to-peer electronic cash system that is
+      completely decentralized, without the need for a central server or trusted
+      parties. Users hold the crypto keys to their own money and transact directly
+      with each other, with the help of a P2P network to check for double-spending.
+    '';
+    homepage = "https://groestlcoin.org/";
+    downloadPage = "https://github.com/Groestlcoin/groestlcoin/releases/tag/v{version}/";
+    maintainers = with maintainers; [ gruve-p ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 908ace89db55..297eca245429 100644
--- a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.36.3";
+  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:1sxsr70nm86fyx2m3wf694x1p6kvmkwxw6fqnslpbyjpyi9x73cd";
+    hash = "sha256-svNsVdenolrfMGKJvB/8HQMq08Ov5Oe5QooI1jFAcbI=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix b/nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix
index 85ec49f3be50..2f4caad32553 100644
--- a/nixpkgs/pkgs/applications/blockchains/lightning-loop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/lnd/default.nix b/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
index 3cc054cea593..198fdb0cf430 100644
--- a/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/lnd/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.14.1-beta";
+  version = "0.14.2-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "0arm36682y4csdv9abqs0l8rgxkiqkamrps7q8wpyyg4n78yiij3";
+    sha256 = "sha256-JOKitxxWcTlGlxYR1XpySZlI2fT9jgBrOxNUwT/sqdQ=";
   };
 
-  vendorSha256 = "13zhs0gb7chi0zz5rabmw3sd5fcpxc4s553crfcg7lrnbn5hcwzv";
+  vendorSha256 = "sha256-shDmJcEyobY7Ih1MHMEY2GQnzAffsH/y4J1bme/bT7I=";
 
   subPackages = [ "cmd/lncli" "cmd/lnd" ];
 
diff --git a/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix b/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
index 9dd37e35eb4f..885e8170d3fa 100644
--- a/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/monero-gui/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.17.3.0";
+  version = "0.17.3.1";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "0rc1p0k16icgfhc7yvkvb8p6570zz0cvigs648l05fcm3mf787rp";
+    sha256 = "sha256-RrchaqFmL4W9F8DhZfvxm7mHMkx/OX8K9e8uNFXWubo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix b/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
index c4add5b67f55..5b25afd587ba 100644
--- a/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -2,22 +2,22 @@
 
 buildDotnetModule rec {
   pname = "nbxplorer";
-  version = "2.2.18";
+  version = "2.2.20";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     rev = "v${version}";
-    sha256 = "sha256-zjSHgMdK417bm1Z/B2kvloDnPTqzM9jEVkZvoKeBkzM=";
+    sha256 = "sha256-C3REnfecNwf3dtk6aLYAEsedHRlIrQZAokXtf6KI8U0=";
   };
 
   projectFile = "NBXplorer/NBXplorer.csproj";
   nugetDeps = ./deps.nix;
 
-  dotnet-sdk = dotnetCorePackages.sdk_3_1;
-  dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
 
-  postInstall = ''
+  postFixup = ''
     mv $out/bin/{NBXplorer,nbxplorer}
   '';
 
diff --git a/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix b/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
index 05c602c27d93..e794e0a976ba 100644
--- a/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -6,13 +6,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.JsonPatch";
-    version = "3.1.19";
-    sha256 = "1fh3k85k988jw35sf5hvm6jwmvzmslzpfvf3jk3sn3f3s6gyk0an";
+    version = "6.0.1";
+    sha256 = "0rsqng2b8a3zaha9c2x1195das5wwvmnz31xf14ancgha4lxq68r";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
-    version = "3.1.19";
-    sha256 = "1nh08kjdc152m85ycwxn1q8r69f0l02p6cac6q57nzlyy5gyj2rs";
+    version = "6.0.1";
+    sha256 = "179b2774s68im71r32lv4nydcp586x86zggs8ml6jcfjrd9fs5b1";
   })
   (fetchNuGet {
     pname = "Microsoft.Azure.Amqp";
@@ -226,8 +226,8 @@
   })
   (fetchNuGet {
     pname = "Newtonsoft.Json";
-    version = "12.0.2";
-    sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
+    version = "13.0.1";
+    sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb";
   })
   (fetchNuGet {
     pname = "Newtonsoft.Json";
diff --git a/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix b/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix
deleted file mode 100644
index 43b933d3e6ae..000000000000
--- a/nixpkgs/pkgs/applications/blockchains/parity-ui/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, stdenv, pkgs, fetchurl, makeWrapper, nodePackages }:
-
-let
-
-uiEnv = pkgs.callPackage ./env.nix { };
-
-in stdenv.mkDerivation rec {
-  pname = "parity-ui";
-  version = "0.3.4";
-
-  src = fetchurl {
-    url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb";
-    sha256 = "1xbd00r9ph8w2d6d2c5xg4b5l74ljzs50rpc6kahfznypmh4kr73";
-    name = "${pname}-${version}.deb";
-  };
-
-  nativeBuildInputs = [ makeWrapper nodePackages.asar ];
-
-  buildCommand = ''
-    mkdir -p $out/usr/
-    ar p $src data.tar.xz | tar -C $out -xJ .
-    substituteInPlace $out/usr/share/applications/parity-ui.desktop \
-      --replace "/opt/Parity UI" $out/bin
-    mv $out/usr/* $out/
-    mv "$out/opt/Parity UI" $out/share/parity-ui
-    rm -r $out/usr/
-    rm -r $out/opt/
-
-    fixupPhase
-
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" \
-      $out/share/parity-ui/parity-ui
-
-    find $out/share/parity-ui -name "*.node" -exec patchelf --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" {} \;
-
-    mkdir -p $out/bin
-    ln -s $out/share/parity-ui/parity-ui $out/bin/parity-ui
-  '';
-
-  meta = with lib; {
-    description = "UI for Parity. Fast, light, robust Ethereum implementation";
-    homepage = "http://parity.io";
-    license = licenses.gpl3;
-    maintainers = [ maintainers.sorpaas ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix b/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix
deleted file mode 100644
index 5f485ed78a92..000000000000
--- a/nixpkgs/pkgs/applications/blockchains/parity-ui/env.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, lib, zlib, glib, alsa-lib, dbus, gtk2, atk, pango, freetype, fontconfig
-, libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpg-error, nspr
-, nss, xorg, libcap, systemd, libnotify, libsecret, gnome2 }:
-
-let
-  packages = [
-    stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3
-    fontconfig gdk-pixbuf cairo cups expat libgpg-error alsa-lib nspr nss
-    xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
-    xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
-    xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
-    xorg.libxcb libsecret gnome2.GConf
-  ];
-
-  libPathNative = lib.makeLibraryPath packages;
-  libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
-  libPath = "${libPathNative}:${libPath64}";
-
-in { inherit packages libPath; }
diff --git a/nixpkgs/pkgs/applications/blockchains/pivx/default.nix b/nixpkgs/pkgs/applications/blockchains/pivx/default.nix
index fd562edf93f1..75d0aa7ebfc2 100644
--- a/nixpkgs/pkgs/applications/blockchains/pivx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix b/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
index eddc2cd8a21e..1210caaa2519 100644
--- a/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/snarkos/default.nix b/nixpkgs/pkgs/applications/blockchains/snarkos/default.nix
new file mode 100644
index 000000000000..c52780c9564e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/snarkos/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, rustPlatform
+, Security
+, curl
+, pkg-config
+, openssl
+, llvmPackages
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "snarkos";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = "AleoHQ";
+    repo = "snarkOS";
+    rev = "v${version}";
+    sha256 = "sha256-sS8emB+uhWuoq5ISuT8FgSSzX7/WDoOY8hHzPE/EX3o=";
+  };
+
+  cargoSha256 = "sha256-XS6dw6BIoJdigEso/J1dUaAp7AIAda3HrKnCoBynRv8=";
+
+  # buildAndTestSubdir = "cli";
+
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config llvmPackages.clang ];
+
+  # Needed to get openssl-sys to use pkg-config.
+  OPENSSL_NO_VENDOR = 1;
+  OPENSSL_LIB_DIR = "${openssl.out}/lib";
+  OPENSSL_DIR="${lib.getDev openssl}";
+
+  LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
+
+  # TODO check why rust compilation fails by including the rocksdb from nixpkgs
+  # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would
+  # try to build RocksDB from source.
+  # ROCKSDB_INCLUDE_DIR="${rocksdb}/include";
+  # ROCKSDB_LIB_DIR="${rocksdb}/lib";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ Security curl ];
+
+  # some tests are flaky and some need network access
+  # TODO finish filtering the tests to enable them
+  doCheck = !stdenv.isLinux;
+  # checkFlags = [
+  #   # tries to make a network access
+  #   "--skip=rpc::rpc::tests::test_send_transaction_large"
+  #   # flaky test
+  #   "--skip=helpers::block_requests::tests::test_block_requests_case_2ca"
+  # ];
+
+
+  meta = with lib; {
+    description = "A Decentralized Operating System for Zero-Knowledge Applications";
+    homepage = "https://snarkos.org";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/solana/default.nix b/nixpkgs/pkgs/applications/blockchains/solana/default.nix
new file mode 100644
index 000000000000..bfa9382b245a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/solana/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, rustPlatform
+, IOKit
+, Security
+, AppKit
+, pkg-config
+, udev
+, zlib
+, protobuf
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "solana-testnet-cli";
+  version = "1.9.2";
+
+  src = fetchFromGitHub {
+    owner = "solana-labs";
+    repo = "solana";
+    rev = "v${version}";
+    sha256 = "sha256-wrv35vBohLztMZPb6gfZdCaXcjj/Y7vnQqINaI6dBM4=";
+  };
+
+  cargoSha256 = "sha256-A5uVa+cRmrkVyw7MFH4QAr0VIFi18wcc2VPFvQyT9EM=";
+
+  buildAndTestSubdir = "cli";
+
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ protobuf pkg-config ];
+  buildInputs = lib.optionals stdenv.isLinux [ udev zlib ] ++ lib.optionals stdenv.isDarwin [ IOKit Security AppKit ];
+
+  # check phase fails
+  # on darwin with missing framework System. This framework is not available in nixpkgs
+  # on linux with some librocksdb-sys compilation error
+  doCheck = false;
+
+  # all the following are needed for the checkphase
+  # checkInputs = lib.optionals stdenv.isDarwin [ pkg-config rustfmt ];
+  # Needed to get openssl-sys to use pkg-config.
+  # OPENSSL_NO_VENDOR = 1;
+  # OPENSSL_LIB_DIR = "${openssl.out}/lib";
+  # OPENSSL_DIR="${lib.getDev openssl}";
+  # LLVM_CONFIG_PATH="${llvm}/bin/llvm-config";
+  # LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
+  # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would
+  # try to build RocksDB from source.
+  # ROCKSDB_INCLUDE_DIR="${rocksdb}/include";
+  # ROCKSDB_LIB_DIR="${rocksdb}/lib";
+
+  meta = with lib; {
+    description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces. ";
+    homepage = "https://solana.com";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix b/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
index 2075c95aad96..43f41e5aeef7 100644
--- a/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
@@ -8,7 +8,7 @@
 
 let
   pname = "trezor-suite";
-  version = "21.12.2";
+  version = "22.1.1";
   name = "${pname}-${version}";
 
   suffix = {
@@ -19,8 +19,8 @@ let
   src = fetchurl {
     url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
     sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
-      aarch64-linux = "sha512-LzcTFSNN/loYaTDt+QpW8QpSgOTw2097IYdc7mC57Mn4NR/X2hycYZ9ZfZjBh9QFfVu/4R3UN2sA177v6Inomg==";
-      x86_64-linux  = "sha512-W/voBZrXaJVDN4eSUDD6lyBR9BqboD2k2/azI1pWm1NFUmDZFM+OGzyiPB3n+6SziAhca32Ot5Wy27sfmIjh3g==";
+      aarch64-linux = "sha512-hRPwhKdAqiHmsaIuNm5r3ZuKhUh+IipR5/5N/9PwiLEfaSQRWink0dUwyuUoWzy4DyGabLQyIWbQRvR7eRGKJA==";
+      x86_64-linux  = "sha512-W4S7W4TeDtSwWCj6N6EoJJOCYG3m1pK3D+UPlsp7B7VY/0uBtI31+tS28E6TUgXZUttr8IIbqzJYWCuyLfDthQ==";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh b/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh
deleted file mode 100755
index 764bf2106ef9..000000000000
--- a/nixpkgs/pkgs/applications/blockchains/wasabibackend/create_deps.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p dotnet-sdk_3 jq xmlstarlet curl nixpkgs-fmt
-set -euo pipefail
-
-# Run this script to generate deps.nix
-
-# TODO: consolidate with other dotnet deps generation scripts by which
-#       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
-
-cd "$(dirname "${BASH_SOURCE[0]}")"
-
-deps_file="$(realpath "./deps.nix")"
-
-exec 2>&1 6> "$deps_file"
-
-store_src="$( nix-build ../../../.. -A wasabibackend.src --no-out-link )"
-src="$(mktemp -d)"
-cp -rT "$store_src" "$src"
-chmod -R +w "$src"
-pushd "$src"
-
-URLBASE="https://www.nuget.org/api/v2/package"
-
-DEPS_HEADER="
-{ fetchurl }:
-let
-  nugetUrlBase = \"$URLBASE\";
-  fetchNuGet = { name, version, sha256 }: fetchurl {
-    inherit sha256;
-    url = \"\${nugetUrlBase}/\${name}/\${version}\";
-  };
-in ["
-
-DEPS_FOOTER="]"
-
-DEPS_TEMPLATE="
-(fetchNuGet {
-  name = \"%s\";
-  version = \"%s\";
-  sha256 = \"%s\";
-})"
-
-tmpdir="$(mktemp -d -p "$(pwd)")" # must be under source root
-trap 'rm -rf "$tmpdir"' EXIT
-
-HOME="$tmpdir" dotnet restore --packages "$tmpdir"/.nuget/packages \
-        --no-cache --force --runtime linux-x64 \
-        WalletWasabi.Backend/WalletWasabi.Backend.csproj >&2
-
-mapfile -t repos < <(
-    xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.config "$tmpdir"/.nuget/NuGet/NuGet.Config |
-        while IFS= read index
-        do
-            curl --compressed -fsL "$index" | \
-                jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"'
-        done
-)
-
-echo $DEPS_HEADER >&6
-
-cd "$tmpdir/.nuget/packages"
-for package in *
-do
-    cd "$package"
-    for version in *
-    do
-        found=false
-        for repo in "${repos[@]}"
-        do
-            url="$repo$package/$version/$package.$version.nupkg"
-            if curl -fsL "$url" -o /dev/null
-            then
-                found=true
-                break
-            fi
-        done
-
-        if ! $found
-        then
-            echo "couldn't find $package $version" >&2
-            exit 1
-        fi
-
-        sha256=$(nix-prefetch-url "$url" 2>/dev/null)
-
-        printf "$DEPS_TEMPLATE" $package $version $sha256 >&6
-    done
-    cd ..
-done
-
-echo $DEPS_FOOTER >&6
-
-exec 6>&-
-
-nixpkgs-fmt "$deps_file"
diff --git a/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix b/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix
index 43deb6f3c6cd..c7f594e31b49 100644
--- a/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/wasabibackend/default.nix
@@ -1,95 +1,45 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
-, fetchurl
-, makeWrapper
-, Nuget
+, buildDotnetModule
 , dotnetCorePackages
-, openssl
+, autoPatchelfHook
 , zlib
+, openssl
 }:
 
-let
-  deps = import ./deps.nix { inherit fetchurl; };
-
-  dotnet-sdk = dotnetCorePackages.sdk_3_1;
-  dotnet-aspnetcore = dotnetCorePackages.aspnetcore_3_1;
-
-  nugetSource = stdenv.mkDerivation {
-    pname = "${pname}-nuget-deps";
-    inherit version;
-
-    dontUnpack = true;
-    dontInstall = true;
-
-    nativeBuildInputs = [ Nuget ];
-
-    buildPhase = ''
-      export HOME=$(mktemp -d)
-      mkdir -p $out/lib
-
-      nuget sources Disable -Name "nuget.org"
-      for package in ${toString deps}; do
-        nuget add $package -Source $out/lib
-      done
-    '';
-  };
-
-  pname = "WasabiBackend";
-  version = "1.1.12";
-
-  projectName = "WalletWasabi.Backend";
-  projectConfiguration = "Release";
-  projectRuntime = "linux-x64";
-in
-
-stdenv.mkDerivation rec {
-  inherit pname version;
+buildDotnetModule rec {
+  pname = "wasabibackend";
+  version = "1.1.13.0";
 
   src = fetchFromGitHub {
     owner = "zkSNACKs";
     repo = "WalletWasabi";
     rev = "v${version}";
-    sha256 = "001k43z2jxvs03csyzndlzlk034aclzc4n8ddrqxykgrq508xk1d";
+    sha256 = "sha256-zDOk8MurT5NXOr4kvm5mnsphY+eDFWuVBcpeTZpcHOo=";
   };
 
-  buildInputs = [
-    Nuget
-    dotnet-sdk
-    makeWrapper
-  ];
+  projectFile = "WalletWasabi.Backend/WalletWasabi.Backend.csproj";
+  nugetDeps = ./deps.nix;
 
-  buildPhase = ''
-    export HOME=$(mktemp -d)
-    export DOTNET_CLI_TELEMETRY_OPTOUT=1
-    export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
-    export DOTNET_ROOT="${dotnet-sdk}/bin"
+  dotnet-sdk = dotnetCorePackages.sdk_3_1;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
 
-    nuget sources Disable -Name "nuget.org"
+  nativeBuildInputs = [ autoPatchelfHook ];
+  buildInputs = [ stdenv.cc.cc.lib zlib ];
 
-    dotnet restore \
-      --source ${nugetSource}/lib \
-      --runtime ${projectRuntime} \
-      ${projectName}
+  runtimeDeps = [ openssl zlib ];
 
-    dotnet publish \
-      --no-restore \
-      --runtime ${projectRuntime} \
-      --configuration ${projectConfiguration} \
-      ${projectName}
+  preConfigure = ''
+    makeWrapperArgs+=(
+      --run "cd $out/lib/${pname}"
+    )
   '';
 
-  installPhase = ''
-    mkdir -p $out
-    cp -r ${projectName}/bin/${projectConfiguration}/netcoreapp3.1/${projectRuntime}/publish $out/lib
-    mkdir -p $out/bin
-    makeWrapper $out/lib/WalletWasabi.Backend $out/bin/${pname} \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl zlib ]} \
-      --run "cd $out/lib"
+  postFixup = ''
+    mv $out/bin/WalletWasabi.Backend $out/bin/WasabiBackend
   '';
 
-  # If we don't disable stripping the executable fails to start with segfault
-  dontStrip = true;
-
   meta = with lib; {
     description = "Backend for the Wasabi Wallet";
     homepage = "https://wasabiwallet.io/";
diff --git a/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix b/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix
index d558fa871537..782f183da07e 100644
--- a/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix
+++ b/nixpkgs/pkgs/applications/blockchains/wasabibackend/deps.nix
@@ -1,953 +1,203 @@
-{ fetchurl }:
-let
-  nugetUrlBase = "https://www.nuget.org/api/v2/package";
-  fetchNuGet = { name, version, sha256 }: fetchurl { inherit sha256; url = "${nugetUrlBase}/${name}/${version}"; };
-in
-[
-
-  (fetchNuGet {
-    name = "microsoft.aspnetcore.app.runtime.linux-x64";
-    version = "3.1.21";
-    sha256 = "056g9nv8a7n8zdbgzmyzmn3pbg52yq2kv5d1rcp7h6plwzgpiwql";
-  })
-  (fetchNuGet {
-    name = "microsoft.aspnetcore.jsonpatch";
-    version = "3.1.1";
-    sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml";
-  })
-  (fetchNuGet {
-    name = "microsoft.aspnetcore.mvc.newtonsoftjson";
-    version = "3.1.1";
-    sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig";
-  })
-  (fetchNuGet {
-    name = "microsoft.build";
-    version = "15.3.409";
-    sha256 = "0vzq6csp2yys9s96c7i37bjml439rdi47g8f5rzqdr7xf5a1jk81";
-  })
-  (fetchNuGet {
-    name = "microsoft.build.framework";
-    version = "15.3.409";
-    sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2";
-  })
-  (fetchNuGet {
-    name = "microsoft.build.runtime";
-    version = "15.3.409";
-    sha256 = "135ycnqz5jfg61y5zaapgc7xdpjx2aq4icmxb9ph7h5inl445q7q";
-  })
-  (fetchNuGet {
-    name = "microsoft.build.tasks.core";
-    version = "15.3.409";
-    sha256 = "135swyygp7cz2civwsz6a7dj7h8bzp7yrybmgxjanxwrw66hm933";
-  })
-  (fetchNuGet {
-    name = "microsoft.build.utilities.core";
-    version = "15.3.409";
-    sha256 = "1p8a0l9sxmjj86qha748qjw2s2n07q8mn41mj5r6apjnwl27ywnf";
-  })
-  (fetchNuGet {
-    name = "microsoft.csharp";
-    version = "4.3.0";
-    sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb";
-  })
-  (fetchNuGet {
-    name = "microsoft.csharp";
-    version = "4.7.0";
-    sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
-  })
-  (fetchNuGet {
-    name = "microsoft.extensions.apidescription.server";
-    version = "3.0.0";
-    sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh";
-  })
-  (fetchNuGet {
-    name = "microsoft.extensions.fileproviders.abstractions";
-    version = "2.0.0";
-    sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4";
-  })
-  (fetchNuGet {
-    name = "microsoft.extensions.fileproviders.physical";
-    version = "2.0.0";
-    sha256 = "0l0l92g7sq4122n139av1pn1jl6wlw92hjmdnr47xdss0ndmwrs3";
-  })
-  (fetchNuGet {
-    name = "microsoft.extensions.filesystemglobbing";
-    version = "2.0.0";
-    sha256 = "02lzy6r14ghwfwm384xajq08vv3pl3ww0mi5isrr10vivhijhgg4";
-  })
-  (fetchNuGet {
-    name = "microsoft.extensions.logging.abstractions";
-    version = "1.0.0";
-    sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka";
-  })
-  (fetchNuGet {
-    name = "microsoft.extensions.primitives";
-    version = "2.0.0";
-    sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.app";
-    version = "2.0.5";
-    sha256 = "0qb7k624w7l0zhapdp519ymqg84a67r8zyd8cpj42hywsgb0dqv6";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.app.runtime.linux-x64";
-    version = "3.1.21";
-    sha256 = "13692wqcww0w6x4nhyxpxwprdg6mx9xmlvv38m6fvp6g0m27r43v";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.dotnetapphost";
-    version = "2.0.5";
-    sha256 = "00bsxdg9c8msjxyffvfi8siqk8v2m7ca8fqy1npv7b2pzg3byjws";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.dotnethostpolicy";
-    version = "2.0.5";
-    sha256 = "0v5csskiwpk8kz8wclqad8kcjmxr7ik4w99wl05740qvaag3qysk";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.dotnethostresolver";
-    version = "2.0.5";
-    sha256 = "1sz2fdp8fdwz21x3lr2m1zhhrbix6iz699fjkwiryqdjl4ygd3hw";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "1.0.1";
-    sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "1.1.0";
-    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "2.0.1";
-    sha256 = "1j2hmnivgb4plni2dd205kafzg6mkg7r4knrd3s7mg75wn2l25np";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "3.1.0";
-    sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.targets";
-    version = "1.0.1";
-    sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.targets";
-    version = "1.1.0";
-    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
-  })
-  (fetchNuGet {
-    name = "microsoft.openapi";
-    version = "1.1.4";
-    sha256 = "1sn79829nhx6chi2qxsza1801di7zdl5fd983m0jakawzbjhjcb3";
-  })
-  (fetchNuGet {
-    name = "microsoft.visualstudio.web.codegeneration.contracts";
-    version = "2.0.2";
-    sha256 = "1fs6sbjn0chx6rv38d61zgk8mhyyxz44xp4wsfya0lvkckyszyn1";
-  })
-  (fetchNuGet {
-    name = "microsoft.visualstudio.web.codegeneration.tools";
-    version = "2.0.2";
-    sha256 = "0fkjm06irs53d77z29i6dwj5pjhgj9ivhad8v39ghnrwasc0ivq6";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.primitives";
-    version = "4.0.1";
-    sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.registry";
-    version = "4.0.0";
-    sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.registry";
-    version = "4.7.0";
-    sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs";
-  })
-  (fetchNuGet {
-    name = "nbitcoin";
-    version = "5.0.47";
-    sha256 = "1plri6q83jn80m95np0zxdg3nk2f36z8v42j4sg5wjv8qppp866d";
-  })
-  (fetchNuGet {
-    name = "nbitcoin.secp256k1";
-    version = "1.0.3";
-    sha256 = "08d4db64j1qz8ax9fg8zi6n7g1n53clnkajbbvv2hgaqyfrsnqxj";
-  })
-  (fetchNuGet {
-    name = "netstandard.library";
-    version = "1.6.0";
-    sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
-  })
-  (fetchNuGet {
-    name = "netstandard.library";
-    version = "2.0.1";
-    sha256 = "0d44wjxphs1ck838v7dapm0ag0b91zpiy33cr5vflsrwrqgj51dk";
-  })
-  (fetchNuGet {
-    name = "newtonsoft.json";
-    version = "10.0.1";
-    sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv";
-  })
-  (fetchNuGet {
-    name = "newtonsoft.json";
-    version = "11.0.1";
-    sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
-  })
-  (fetchNuGet {
-    name = "newtonsoft.json";
-    version = "12.0.2";
-    sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
-  })
-  (fetchNuGet {
-    name = "newtonsoft.json.bson";
-    version = "1.0.2";
-    sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35";
-  })
-  (fetchNuGet {
-    name = "nuget.frameworks";
-    version = "4.0.0";
-    sha256 = "0nar684cm53cvzx28gzl6kmpg9mrfr1yv29323din7xqal4pscgq";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.collections";
-    version = "4.0.11";
-    sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.diagnostics.tracing";
-    version = "4.1.0";
-    sha256 = "041im8hmp1zdgrx6jzyrdch6kshvbddmkar7r2mlm1ksb5c5kwpq";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.globalization";
-    version = "4.0.11";
-    sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.io";
-    version = "4.1.0";
-    sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.reflection";
-    version = "4.1.0";
-    sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.reflection.primitives";
-    version = "4.0.1";
-    sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.resources.resourcemanager";
-    version = "4.0.1";
-    sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.runtime";
-    version = "4.1.0";
-    sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.runtime.handles";
-    version = "4.0.1";
-    sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.runtime.interopservices";
-    version = "4.1.0";
-    sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.text.encoding";
-    version = "4.0.11";
-    sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.threading.tasks";
-    version = "4.0.11";
-    sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system";
-    version = "4.0.0";
-    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.io.compression";
-    version = "4.1.0";
-    sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.net.http";
-    version = "4.0.1";
-    sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.security.cryptography";
-    version = "4.0.0";
-    sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.diagnostics.debug";
-    version = "4.0.11";
-    sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.private.uri";
-    version = "4.0.1";
-    sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.runtime.extensions";
-    version = "4.1.0";
-    sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4";
-  })
-  (fetchNuGet {
-    name = "swashbuckle.aspnetcore";
-    version = "5.0.0";
-    sha256 = "0rn2awmzrsrppk97xbbwk4kq1mys9bygb5xhl6mphbk0hchrvh09";
-  })
-  (fetchNuGet {
-    name = "swashbuckle.aspnetcore.swagger";
-    version = "5.0.0";
-    sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f";
-  })
-  (fetchNuGet {
-    name = "swashbuckle.aspnetcore.swaggergen";
-    version = "5.0.0";
-    sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4";
-  })
-  (fetchNuGet {
-    name = "swashbuckle.aspnetcore.swaggerui";
-    version = "5.0.0";
-    sha256 = "0d7vjq489rz208j6k3rb7vq6mzxzff3mqg83yk2rqy25vklrsbjd";
-  })
-  (fetchNuGet {
-    name = "system.appcontext";
-    version = "4.1.0";
-    sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
-  })
-  (fetchNuGet {
-    name = "system.buffers";
-    version = "4.0.0";
-    sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr";
-  })
-  (fetchNuGet {
-    name = "system.collections";
-    version = "4.0.11";
-    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
-  })
-  (fetchNuGet {
-    name = "system.collections";
-    version = "4.3.0";
-    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-  })
-  (fetchNuGet {
-    name = "system.collections.concurrent";
-    version = "4.0.12";
-    sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
-  })
-  (fetchNuGet {
-    name = "system.collections.immutable";
-    version = "1.2.0";
-    sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
-  })
-  (fetchNuGet {
-    name = "system.collections.nongeneric";
-    version = "4.0.1";
-    sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
-  })
-  (fetchNuGet {
-    name = "system.collections.nongeneric";
-    version = "4.3.0";
-    sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
-  })
-  (fetchNuGet {
-    name = "system.collections.specialized";
-    version = "4.3.0";
-    sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel";
-    version = "4.3.0";
-    sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel.primitives";
-    version = "4.3.0";
-    sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel.typeconverter";
-    version = "4.3.0";
-    sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
-  })
-  (fetchNuGet {
-    name = "system.console";
-    version = "4.0.0";
-    sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.contracts";
-    version = "4.0.1";
-    sha256 = "0y6dkd9n5k98vzhc3w14r2pbhf10qjn2axpghpmfr6rlxx9qrb9j";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.debug";
-    version = "4.0.11";
-    sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.debug";
-    version = "4.3.0";
-    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.diagnosticsource";
-    version = "4.0.0";
-    sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.fileversioninfo";
-    version = "4.0.0";
-    sha256 = "1s5vxhy7i09bmw51kxqaiz9zaj9am8wsjyz13j85sp23z267hbv3";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.process";
-    version = "4.1.0";
-    sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tools";
-    version = "4.0.1";
-    sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tools";
-    version = "4.3.0";
-    sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tracesource";
-    version = "4.0.0";
-    sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tracing";
-    version = "4.1.0";
-    sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
-  })
-  (fetchNuGet {
-    name = "system.dynamic.runtime";
-    version = "4.0.11";
-    sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
-  })
-  (fetchNuGet {
-    name = "system.dynamic.runtime";
-    version = "4.3.0";
-    sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
-  })
-  (fetchNuGet {
-    name = "system.globalization";
-    version = "4.0.11";
-    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
-  })
-  (fetchNuGet {
-    name = "system.globalization";
-    version = "4.3.0";
-    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-  })
-  (fetchNuGet {
-    name = "system.globalization.calendars";
-    version = "4.0.1";
-    sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
-  })
-  (fetchNuGet {
-    name = "system.globalization.extensions";
-    version = "4.0.1";
-    sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
-  })
-  (fetchNuGet {
-    name = "system.globalization.extensions";
-    version = "4.3.0";
-    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
-  })
-  (fetchNuGet {
-    name = "system.io";
-    version = "4.1.0";
-    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
-  })
-  (fetchNuGet {
-    name = "system.io";
-    version = "4.3.0";
-    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
-  })
-  (fetchNuGet {
-    name = "system.io.compression";
-    version = "4.1.0";
-    sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji";
-  })
-  (fetchNuGet {
-    name = "system.io.compression.zipfile";
-    version = "4.0.1";
-    sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem";
-    version = "4.0.1";
-    sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem";
-    version = "4.3.0";
-    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem.primitives";
-    version = "4.0.1";
-    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem.primitives";
-    version = "4.3.0";
-    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
-  })
-  (fetchNuGet {
-    name = "system.io.pipes";
-    version = "4.0.0";
-    sha256 = "0fxfvcf55s9q8zsykwh8dkq2xb5jcqnml2ycq8srfry2l07h18za";
-  })
-  (fetchNuGet {
-    name = "system.linq";
-    version = "4.1.0";
-    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
-  })
-  (fetchNuGet {
-    name = "system.linq";
-    version = "4.3.0";
-    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-  })
-  (fetchNuGet {
-    name = "system.linq.expressions";
-    version = "4.1.0";
-    sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
-  })
-  (fetchNuGet {
-    name = "system.linq.expressions";
-    version = "4.3.0";
-    sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
-  })
-  (fetchNuGet {
-    name = "system.linq.parallel";
-    version = "4.0.1";
-    sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad";
-  })
-  (fetchNuGet {
-    name = "system.net.http";
-    version = "4.1.0";
-    sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
-  })
-  (fetchNuGet {
-    name = "system.net.primitives";
-    version = "4.0.11";
-    sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
-  })
-  (fetchNuGet {
-    name = "system.net.sockets";
-    version = "4.1.0";
-    sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
-  })
-  (fetchNuGet {
-    name = "system.objectmodel";
-    version = "4.0.12";
-    sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
-  })
-  (fetchNuGet {
-    name = "system.objectmodel";
-    version = "4.3.0";
-    sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
-  })
-  (fetchNuGet {
-    name = "system.private.datacontractserialization";
-    version = "4.1.1";
-    sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
-  })
-  (fetchNuGet {
-    name = "system.private.uri";
-    version = "4.0.1";
-    sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j";
-  })
-  (fetchNuGet {
-    name = "system.reflection";
-    version = "4.1.0";
-    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
-  })
-  (fetchNuGet {
-    name = "system.reflection";
-    version = "4.3.0";
-    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit";
-    version = "4.0.1";
-    sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit";
-    version = "4.3.0";
-    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.ilgeneration";
-    version = "4.0.1";
-    sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.ilgeneration";
-    version = "4.3.0";
-    sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.lightweight";
-    version = "4.0.1";
-    sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.lightweight";
-    version = "4.3.0";
-    sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
-  })
-  (fetchNuGet {
-    name = "system.reflection.extensions";
-    version = "4.0.1";
-    sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
-  })
-  (fetchNuGet {
-    name = "system.reflection.extensions";
-    version = "4.3.0";
-    sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
-  })
-  (fetchNuGet {
-    name = "system.reflection.metadata";
-    version = "1.3.0";
-    sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b";
-  })
-  (fetchNuGet {
-    name = "system.reflection.primitives";
-    version = "4.0.1";
-    sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
-  })
-  (fetchNuGet {
-    name = "system.reflection.primitives";
-    version = "4.3.0";
-    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
-  })
-  (fetchNuGet {
-    name = "system.reflection.typeextensions";
-    version = "4.1.0";
-    sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
-  })
-  (fetchNuGet {
-    name = "system.reflection.typeextensions";
-    version = "4.3.0";
-    sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
-  })
-  (fetchNuGet {
-    name = "system.resources.reader";
-    version = "4.0.0";
-    sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril";
-  })
-  (fetchNuGet {
-    name = "system.resources.resourcemanager";
-    version = "4.0.1";
-    sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
-  })
-  (fetchNuGet {
-    name = "system.resources.resourcemanager";
-    version = "4.3.0";
-    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
-  })
-  (fetchNuGet {
-    name = "system.resources.writer";
-    version = "4.0.0";
-    sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv";
-  })
-  (fetchNuGet {
-    name = "system.runtime";
-    version = "4.1.0";
-    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
-  })
-  (fetchNuGet {
-    name = "system.runtime";
-    version = "4.3.0";
-    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-  })
-  (fetchNuGet {
-    name = "system.runtime.compilerservices.unsafe";
-    version = "4.4.0";
-    sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29";
-  })
-  (fetchNuGet {
-    name = "system.runtime.extensions";
-    version = "4.1.0";
-    sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
-  })
-  (fetchNuGet {
-    name = "system.runtime.extensions";
-    version = "4.3.0";
-    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
-  })
-  (fetchNuGet {
-    name = "system.runtime.handles";
-    version = "4.0.1";
-    sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
-  })
-  (fetchNuGet {
-    name = "system.runtime.handles";
-    version = "4.3.0";
-    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices";
-    version = "4.1.0";
-    sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices";
-    version = "4.3.0";
-    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices.runtimeinformation";
-    version = "4.0.0";
-    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
-  })
-  (fetchNuGet {
-    name = "system.runtime.loader";
-    version = "4.0.0";
-    sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0";
-  })
-  (fetchNuGet {
-    name = "system.runtime.numerics";
-    version = "4.0.1";
-    sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
-  })
-  (fetchNuGet {
-    name = "system.runtime.numerics";
-    version = "4.3.0";
-    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.formatters";
-    version = "4.3.0";
-    sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.primitives";
-    version = "4.1.1";
-    sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.primitives";
-    version = "4.3.0";
-    sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.xml";
-    version = "4.1.1";
-    sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk";
-  })
-  (fetchNuGet {
-    name = "system.security.accesscontrol";
-    version = "4.7.0";
-    sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.algorithms";
-    version = "4.2.0";
-    sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.cng";
-    version = "4.2.0";
-    sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.csp";
-    version = "4.0.0";
-    sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.encoding";
-    version = "4.0.0";
-    sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.openssl";
-    version = "4.0.0";
-    sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.primitives";
-    version = "4.0.0";
-    sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.x509certificates";
-    version = "4.1.0";
-    sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
-  })
-  (fetchNuGet {
-    name = "system.security.principal";
-    version = "4.0.1";
-    sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p";
-  })
-  (fetchNuGet {
-    name = "system.security.principal.windows";
-    version = "4.7.0";
-    sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding";
-    version = "4.0.11";
-    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding";
-    version = "4.3.0";
-    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding.codepages";
-    version = "4.0.1";
-    sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding.extensions";
-    version = "4.0.11";
-    sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding.extensions";
-    version = "4.3.0";
-    sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
-  })
-  (fetchNuGet {
-    name = "system.text.regularexpressions";
-    version = "4.1.0";
-    sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
-  })
-  (fetchNuGet {
-    name = "system.text.regularexpressions";
-    version = "4.3.0";
-    sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
-  })
-  (fetchNuGet {
-    name = "system.threading";
-    version = "4.0.11";
-    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
-  })
-  (fetchNuGet {
-    name = "system.threading";
-    version = "4.3.0";
-    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-  })
-  (fetchNuGet {
-    name = "system.threading.overlapped";
-    version = "4.0.1";
-    sha256 = "0fi79az3vmqdp9mv3wh2phblfjls89zlj6p9nc3i9f6wmfarj188";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks";
-    version = "4.0.11";
-    sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks";
-    version = "4.3.0";
-    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks.dataflow";
-    version = "4.6.0";
-    sha256 = "0a1davr71wssyn4z1hr75lk82wqa0daz0vfwkmg1fm3kckfd72k1";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks.extensions";
-    version = "4.0.0";
-    sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks.extensions";
-    version = "4.3.0";
-    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
-  })
-  (fetchNuGet {
-    name = "system.threading.thread";
-    version = "4.0.0";
-    sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
-  })
-  (fetchNuGet {
-    name = "system.threading.threadpool";
-    version = "4.0.10";
-    sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx";
-  })
-  (fetchNuGet {
-    name = "system.threading.timer";
-    version = "4.0.1";
-    sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
-  })
-  (fetchNuGet {
-    name = "system.xml.readerwriter";
-    version = "4.0.11";
-    sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
-  })
-  (fetchNuGet {
-    name = "system.xml.readerwriter";
-    version = "4.3.0";
-    sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
-  })
-  (fetchNuGet {
-    name = "system.xml.xdocument";
-    version = "4.0.11";
-    sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
-  })
-  (fetchNuGet {
-    name = "system.xml.xdocument";
-    version = "4.3.0";
-    sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
-  })
-  (fetchNuGet {
-    name = "system.xml.xmldocument";
-    version = "4.0.1";
-    sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
-  })
-  (fetchNuGet {
-    name = "system.xml.xmldocument";
-    version = "4.3.0";
-    sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
-  })
-  (fetchNuGet {
-    name = "system.xml.xmlserializer";
-    version = "4.0.11";
-    sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
-  })
-  (fetchNuGet {
-    name = "system.xml.xpath";
-    version = "4.0.1";
-    sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m";
-  })
-  (fetchNuGet {
-    name = "system.xml.xpath.xmldocument";
-    version = "4.0.1";
-    sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc";
-  })
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.21"; sha256 = "056g9nv8a7n8zdbgzmyzmn3pbg52yq2kv5d1rcp7h6plwzgpiwql"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.21"; sha256 = "0akdzi35497v8yxr3a9q1g26cnx9vxnwv81kwxi293jklwnx8gsr"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "3.1.21"; sha256 = "16kya6xvi7k42sr8bxgpbz9116dj7g3i18ylpvji9qngdx41891v"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "3.1.1"; sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "3.1.1"; sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig"; })
+  (fetchNuGet { pname = "Microsoft.Build"; version = "15.3.409"; sha256 = "0vzq6csp2yys9s96c7i37bjml439rdi47g8f5rzqdr7xf5a1jk81"; })
+  (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "15.3.409"; sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2"; })
+  (fetchNuGet { pname = "Microsoft.Build.Runtime"; version = "15.3.409"; sha256 = "135ycnqz5jfg61y5zaapgc7xdpjx2aq4icmxb9ph7h5inl445q7q"; })
+  (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "15.3.409"; sha256 = "135swyygp7cz2civwsz6a7dj7h8bzp7yrybmgxjanxwrw66hm933"; })
+  (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "15.3.409"; sha256 = "1p8a0l9sxmjj86qha748qjw2s2n07q8mn41mj5r6apjnwl27ywnf"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.0.0"; sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "2.0.0"; sha256 = "0l0l92g7sq4122n139av1pn1jl6wlw92hjmdnr47xdss0ndmwrs3"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "2.0.0"; sha256 = "02lzy6r14ghwfwm384xajq08vv3pl3ww0mi5isrr10vivhijhgg4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "1.0.0"; sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App"; version = "2.0.5"; sha256 = "0qb7k624w7l0zhapdp519ymqg84a67r8zyd8cpj42hywsgb0dqv6"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.21"; sha256 = "01kbhi29lhv6mg1zfsyakz3z8hfbxnc0kxy0fczl8xqviik9svx7"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.21"; sha256 = "1s5g9gk0hvs268q2zpc32m0my2m2ivlmsmza86797a9vkxr6pzw6"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "3.1.21"; sha256 = "0dl4yakfmdkx6xr18f09cdnl11b4fyp23jg3msr8a25zqdqvcr29"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.21"; sha256 = "13692wqcww0w6x4nhyxpxwprdg6mx9xmlvv38m6fvp6g0m27r43v"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.21"; sha256 = "1p7fpcmx4m2374zjfh53i3mv4lkr8xrkz5lnawv95s7j005m07pc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "3.1.21"; sha256 = "02zgxzf8l607mh17900n7msga0yfcnqgd70rj1rlwj23plifykx1"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "2.0.5"; sha256 = "00bsxdg9c8msjxyffvfi8siqk8v2m7ca8fqy1npv7b2pzg3byjws"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "2.0.5"; sha256 = "0v5csskiwpk8kz8wclqad8kcjmxr7ik4w99wl05740qvaag3qysk"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "2.0.5"; sha256 = "1sz2fdp8fdwz21x3lr2m1zhhrbix6iz699fjkwiryqdjl4ygd3hw"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.1"; sha256 = "1j2hmnivgb4plni2dd205kafzg6mkg7r4knrd3s7mg75wn2l25np"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.1.0"; sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.1.4"; sha256 = "1sn79829nhx6chi2qxsza1801di7zdl5fd983m0jakawzbjhjcb3"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Web.CodeGeneration.Contracts"; version = "2.0.2"; sha256 = "1fs6sbjn0chx6rv38d61zgk8mhyyxz44xp4wsfya0lvkckyszyn1"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Web.CodeGeneration.Tools"; version = "2.0.2"; sha256 = "0fkjm06irs53d77z29i6dwj5pjhgj9ivhad8v39ghnrwasc0ivq6"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.0.0"; sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.7.0"; sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs"; })
+  (fetchNuGet { pname = "NBitcoin"; version = "5.0.81"; sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x"; })
+  (fetchNuGet { pname = "NBitcoin.Secp256k1"; version = "1.0.10"; sha256 = "14hngbhxk2xjr5kcbsb26l788xnd1lmxn7fhmm2kvx49kdb1malp"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.1"; sha256 = "0d44wjxphs1ck838v7dapm0ag0b91zpiy33cr5vflsrwrqgj51dk"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.1"; sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "4.0.0"; sha256 = "0nar684cm53cvzx28gzl6kmpg9mrfr1yv29323din7xqal4pscgq"; })
+  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.0.11"; sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "041im8hmp1zdgrx6jzyrdch6kshvbddmkar7r2mlm1ksb5c5kwpq"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.0.11"; sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286"; })
+  (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.1.0"; sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.1.0"; sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz"; })
+  (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.1.0"; sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.0.1"; sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.0.11"; sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.0.11"; sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
+  (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
+  (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d"; })
+  (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.0.1"; sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm"; })
+  (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4"; })
+  (fetchNuGet { pname = "runtime.win7.System.Private.Uri"; version = "4.0.1"; sha256 = "1ibrwabavdpqapnplm5kh6nz9vgcwv0wn61w1p60v262kif6sglp"; })
+  (fetchNuGet { pname = "runtime.win.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "1ylkj4v7aq00svij7aq82d86afpwqgrqf2kpikabxl26p19ry9wm"; })
+  (fetchNuGet { pname = "runtime.win.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "1zmx2msa04ka8mgh8viahi4pqpp86vdhzij2rg1jg131bwlv59yw"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "5.0.0"; sha256 = "0rn2awmzrsrppk97xbbwk4kq1mys9bygb5xhl6mphbk0hchrvh09"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "5.0.0"; sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "5.0.0"; sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "5.0.0"; sha256 = "0d7vjq489rz208j6k3rb7vq6mzxzff3mqg83yk2rqy25vklrsbjd"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.2.0"; sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.0.1"; sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
+  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
+  (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
+  (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
+  (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
+  (fetchNuGet { pname = "System.Diagnostics.Contracts"; version = "4.0.1"; sha256 = "0y6dkd9n5k98vzhc3w14r2pbhf10qjn2axpghpmfr6rlxx9qrb9j"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; })
+  (fetchNuGet { pname = "System.Diagnostics.FileVersionInfo"; version = "4.0.0"; sha256 = "1s5vxhy7i09bmw51kxqaiz9zaj9am8wsjyz13j85sp23z267hbv3"; })
+  (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.1.0"; sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.0.0"; sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.IO.Pipes"; version = "4.0.0"; sha256 = "0fxfvcf55s9q8zsykwh8dkq2xb5jcqnml2ycq8srfry2l07h18za"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Linq.Parallel"; version = "4.0.1"; sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.1.1"; sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r"; })
+  (fetchNuGet { pname = "System.Private.Uri"; version = "4.0.1"; sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.3.0"; sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Resources.Reader"; version = "4.0.0"; sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Resources.Writer"; version = "4.0.0"; sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; })
+  (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"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; })
+  (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.0.0"; sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Formatters"; version = "4.3.0"; sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Xml"; version = "4.1.1"; sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.7.0"; sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
+  (fetchNuGet { pname = "System.Security.Principal"; version = "4.0.1"; sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.0.1"; sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.0.1"; sha256 = "0fi79az3vmqdp9mv3wh2phblfjls89zlj6p9nc3i9f6wmfarj188"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "4.6.0"; sha256 = "0a1davr71wssyn4z1hr75lk82wqa0daz0vfwkmg1fm3kckfd72k1"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.0.10"; sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.0.1"; sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
+  (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.0.11"; sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z"; })
+  (fetchNuGet { pname = "System.Xml.XPath"; version = "4.0.1"; sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m"; })
+  (fetchNuGet { pname = "System.Xml.XPath.XmlDocument"; version = "4.0.1"; sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc"; })
 ]
diff --git a/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix b/nixpkgs/pkgs/applications/blockchains/whirlpool-gui/default.nix
deleted file mode 100644
index d36715bd3066..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/blockchains/wownero/default.nix b/nixpkgs/pkgs/applications/blockchains/wownero/default.nix
index bc020de8be49..9efdd6c56dfd 100644
--- a/nixpkgs/pkgs/applications/blockchains/wownero/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/wownero/default.nix
@@ -1,28 +1,30 @@
-{ lib, stdenv, fetchgit, cmake, boost, miniupnpc_2, openssl, unbound
-, readline, libsodium, rapidjson, fetchurl
+{ lib, stdenv, fetchFromGitea, cmake, boost, miniupnpc_2, openssl, unbound
+, readline, libsodium, rapidjson
 }:
 
 with lib;
-
-let
-  randomwowVersion = "1.1.7";
-  randomwow = fetchurl {
-    url = "https://github.com/wownero/RandomWOW/archive/${randomwowVersion}.tar.gz";
-    sha256 = "1xp76zf01hnhnk6rjvqjav9n9pnvxzxlzqa5rc574d1c2qczfy3q";
-  };
-in
-
 stdenv.mkDerivation rec {
   pname = "wownero";
   version = "0.8.0.1";
+  randomwowVersion = "1.1.7";
 
-  src = fetchgit {
-    url = "https://git.wownero.com/wownero/wownero.git";
+  src = fetchFromGitea {
+    domain = "git.wownero.com";
+    owner = "wownero";
+    repo = "wownero";
     rev = "v${version}";
-    sha256 = "15443xv6q1nw4627ajk6k4ghhahvh82lb4gyb8nvq753p2v838g3";
+    sha256 = "sha256-+cUdousEiZMNwqhTvjoqw/k21x3dg7Lhb/5KyNUGrjQ=";
     fetchSubmodules = false;
   };
 
+  randomwow = fetchFromGitea {
+    domain = "git.wownero.com";
+    owner = "wownero";
+    repo = "RandomWOW";
+    rev = randomwowVersion;
+    sha256 = "sha256-JzyRlHwM8rmJ5OaKHz+6vHGfpSz+X4zkFAKn4Jmo+EE=";
+  };
+
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
@@ -31,8 +33,7 @@ stdenv.mkDerivation rec {
 
   postUnpack = ''
     rm -r $sourceRoot/external/RandomWOW
-    unpackFile ${randomwow}
-    mv RandomWOW-${randomwowVersion} $sourceRoot/external/RandomWOW
+    ln -s ${randomwow} $sourceRoot/external/RandomWOW
   '';
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/blockchains/zcash/default.nix b/nixpkgs/pkgs/applications/blockchains/zcash/default.nix
index 5157ea3857e9..8dc15e7c9d85 100644
--- a/nixpkgs/pkgs/applications/blockchains/zcash/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/zcash/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
   pname = "zcash";
-  version = "4.5.1";
+  version = "4.6.0-1";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "zcash";
     rev = "v${version}";
-    sha256 = "0kyk3hv1y13b3vwg9kjcrpvz9v3l8lp0ikj977nykd5ms8b1rifa";
+    sha256 = "sha256-YJ5ufo+LYbOTr9SyiEzzp1pcSx6+cHSvDLBOIcx9X+4=";
   };
 
-  cargoSha256 = "1mwprsg74xv6qlxf00w7xapnkisb1aid9hkyr8r90zcwdcy8783r";
+  cargoSha256 = "sha256-m/SBHv3BNYKkSXxHnCdVng3blbHrTc/HxX/nEIa1DnM=";
 
   nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
   buildInputs = [ boost175 libevent libsodium utf8cpp ]
diff --git a/nixpkgs/pkgs/applications/editors/android-studio/default.nix b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
index ec4f9b59e919..e7824cd93f1c 100644
--- a/nixpkgs/pkgs/applications/editors/android-studio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
@@ -9,16 +9,16 @@ let
     inherit buildFHSUserEnv;
   };
   stableVersion = {
-    version = "2020.3.1.26"; # "Android Studio Arctic Fox (2020.3.1)"
-    sha256Hash = "NE2FgjXtXTCVrCWRakqPhzAGn3blpf0OugJSKviPVBs=";
+    version = "2021.1.1.21"; # "Android Studio Bumblebee (2021.1.1 Patch 1)"
+    sha256Hash = "PeMJIILfaunTlpR4EV76qQlTlZDcWoKes61qe9W9oqQ=";
   };
   betaVersion = {
-    version = "2021.1.1.18"; # "Android Studio Bumblebee (2021.1.1) Beta 5"
-    sha256Hash = "gWG8h3wTQDH84vSKlfTm3soUqLkwFYfSymJuAAFPDuQ=";
+    version = "2021.2.1.8"; # "Android Studio Chipmunk (2021.2.1) Beta 1"
+    sha256Hash = "bPfs4kw7czG9CbEgrzn0bQXdT03jyqPVqtaIuVBFSmc=";
   };
   latestVersion = { # canary & dev
-    version = "2021.2.1.5"; # "Android Studio Chipmunk (2021.2.1) Canary 5"
-    sha256Hash = "PS45nu5g9qXNeolYnFEs//Z6p8eIZoD6kUo/0yfHQ6A=";
+    version = "2021.3.1.1"; # "Android Studio Dolphin (2021.3.1) Canary 1"
+    sha256Hash = "W3pNQBM7WdDScQo5b8q5Va5NTgl73uZu0ks/zDMb4aA=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/nixpkgs/pkgs/applications/editors/bonzomatic/default.nix b/nixpkgs/pkgs/applications/editors/bonzomatic/default.nix
index 5b1fc966dd9b..caa1d2ab79b9 100644
--- a/nixpkgs/pkgs/applications/editors/bonzomatic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/cudatext/default.nix b/nixpkgs/pkgs/applications/editors/cudatext/default.nix
index dae533f1ebd8..2b58ba50bca6 100644
--- a/nixpkgs/pkgs/applications/editors/cudatext/default.nix
+++ b/nixpkgs/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.152.1";
+  version = "1.156.2";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-rFmgf/wg6/jIObBDN+viKX3KrewVWgxs8uVF1gCY72s=";
+    sha256 = "sha256-waVTNyK3OHpOvBJrXio+Xjn9q3WmUczbx3E26ChsuKo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/editors/cudatext/deps.json b/nixpkgs/pkgs/applications/editors/cudatext/deps.json
index 567b53f417fc..9ae3c1c33ca1 100644
--- a/nixpkgs/pkgs/applications/editors/cudatext/deps.json
+++ b/nixpkgs/pkgs/applications/editors/cudatext/deps.json
@@ -16,23 +16,23 @@
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2021.12.22",
-    "sha256": "sha256-MmRJ3XDq7b9doPFfW7njSOasHej5ut0nYcJMFj+Y/Dc="
+    "rev": "2022.02.19",
+    "sha256": "sha256-cq2dirFNPaWRmZJu0F+CFA//+SuFOOpTH3Q5zL4oPQo="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
-    "rev": "2021.09.14",
-    "sha256": "sha256-6eC75zAtWbM1XEI9OM3iqy/a8Vj1l5WU7HGJBpmoQsA="
+    "rev": "2022.01.21",
+    "sha256": "sha256-el5YtzewnHV0fRPgVhApZUVP7huSQseqrO2ibvm6Ctg="
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2021.12.07",
-    "sha256": "sha256-givCklAHao26psWLI2qK246igxcAQEeIYTGH61FX6Xo="
+    "rev": "2022.02.02",
+    "sha256": "sha256-T/6SQJHKzbv/PlObDyc9bcpC14krHgcLDQn0v2fNkLM="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2021.12.07",
-    "sha256": "sha256-/2Fv/vrpbHSiJro11cjbziUaT4gfwa6y5aQBoYgq3OQ="
+    "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/nixpkgs/pkgs/applications/editors/cudatext/update.sh b/nixpkgs/pkgs/applications/editors/cudatext/update.sh
index 8389b3e8a7d4..f7aae6ff8b49 100755
--- a/nixpkgs/pkgs/applications/editors/cudatext/update.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/deadpixi-sam/default.nix b/nixpkgs/pkgs/applications/editors/deadpixi-sam/default.nix
index e17fb402ed38..3f84666fe029 100644
--- a/nixpkgs/pkgs/applications/editors/deadpixi-sam/default.nix
+++ b/nixpkgs/pkgs/applications/editors/deadpixi-sam/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
   CFLAGS = "-D_DARWIN_C_SOURCE";
   makeFlags = [ "DESTDIR=$(out)" ];
   buildInputs = [ libX11 libXi libXt libXft ];
+  # build fails when run in parallel
+  enableParallelBuilding = false;
 
   postInstall = ''
     mkdir -p $out/share/applications
diff --git a/nixpkgs/pkgs/applications/editors/em/default.nix b/nixpkgs/pkgs/applications/editors/em/default.nix
new file mode 100644
index 000000000000..89cc795f5674
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/em/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "em";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "http://pgas.freeshell.org/C/em/${pname}-${version}.tar.gz";
+    hash = "sha256-ijMBkl7U1f9MTXgli9kUFB8ttMG6TMQnxfDMP9AblTQ=";
+  };
+
+  meta = with lib; {
+    homepage = "http://pgas.freeshell.org/C/em/";
+    description = "Editor for Mortals";
+    longDescription = ''
+      Em is a QMC variant of the standard Unix text editor - ed. It includes all
+      of ed, so the documentation for ed is fully applicable to em. Em also has
+      a number of new commands and facilities designed to improve its
+      interaction and increase its usefulness to users at fast vdu terminals
+      (such as the ITT's at QMC).
+    '';
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix
index 0d9028e59fc9..e7d673e3391b 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix
@@ -7,13 +7,13 @@
 
 trivialBuild rec {
   pname = "apheleia";
-  version = "1.1.2+unstable=2021-10-03";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "raxod502";
     repo = pname;
-    rev = "8b9d576f2fda10d0c9051fc03c1eb1d9791e32fd";
-    hash = "sha256-QwGlCdHBll16mbfQxGw1EORZFUxYCZSt8ThYTTGjRpo=";
+    rev = "v${version}";
+    hash = "sha256-yd9yhQOs0+RB8RKaXnV/kClDm8cO97RkC8yw5b8IKRo=";
   };
 
   buildInputs = [
@@ -23,8 +23,12 @@ trivialBuild rec {
   meta = with lib; {
     homepage = "https://github.com/raxod502/apheleia";
     description = "Asynchronous buffer reformat";
+    longDescription = ''
+      Run code formatter on buffer contents without moving point, using RCS
+      patches and dynamic programming.
+    '';
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres leungbk ];
-    platforms = emacs.meta.platforms;
+    inherit (emacs.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix
index 026136d21ea7..80e1b7d115df 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix
@@ -5,13 +5,13 @@
 
 trivialBuild {
   pname = "bqn-mode";
-  version = "0.pre+date=2021-12-03";
+  version = "0.pre+date=2022-01-07";
 
   src = fetchFromGitHub {
     owner = "museoa";
     repo = "bqn-mode";
-    rev = "38fba1193e0d1101f3b90bd76e419c011651ad6f";
-    sha256 = "0fdfz3kmrdgmx2i6fgrrj1cvapvrgnc3ahnwx3aayrpl1f091439";
+    rev = "86ef8b4d32d272b2765cd4a6e6e0b70a4f3e99a2";
+    hash = "sha256-6ygV/iNzzpZ77w+Dh/snHAzUxrbfaU9TxuNOtJK6pNQ=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index 60fac91839a1..fd658aac5f44 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -52,6 +52,11 @@ self: let
     super = removeAttrs imported [ "dash" ];
 
     overrides = {
+      # upstream issue: Wrong type argument: arrayp, nil
+      org-transclusion =
+        if super.org-transclusion.version == "1.2.0"
+        then markBroken super.org-transclusion
+        else super.org-transclusion;
       rcirc-menu = markBroken super.rcirc-menu; # Missing file header
       cl-lib = null; # builtin
       tle = null; # builtin
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
index 73fd2f4a0a92..caf7bbf24d28 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
@@ -9,13 +9,13 @@
 
 trivialBuild {
   pname = "ement";
-  version = "unstable-2021-09-16";
+  version = "unstable-2021-10-08";
 
   src = fetchFromGitHub {
     owner = "alphapapa";
     repo = "ement.el";
-    rev = "c07e914f077199c95b0e7941a421675c95d4687e";
-    sha256 = "sha256-kYVb2NrHYC87mY/hFUMAjb4TLJ9A2L2RrHoiAXvRaGg=";
+    rev = "c951737dc855604aba389166bb0e7366afadc533";
+    sha256 = "00iwwz4hzg4g59wrb5df6snqz3ppvrsadhfp61w1pa8gvg2z9bvy";
   };
 
   packageRequires = [
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix
index fa7725fbb94c..5eaee9bbfdfe 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix
@@ -2,6 +2,8 @@
 , trivialBuild
 , fetchFromGitHub
 , emacs
+, popup
+, ess
 }:
 
 trivialBuild rec {
@@ -15,6 +17,11 @@ trivialBuild rec {
     hash = "sha256-YN8ZLXEbwTFdFfovkV2IXV9v6y/PTgCdiRQqbpRaF2E=";
   };
 
+  packageRequires = [
+    popup
+    ess
+  ];
+
   meta = {
     homepage = "https://github.com/myuhe/ess-R-object-popup.el";
     description = "Popup descriptions of R objects";
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix
index 8ecce11a7421..1b131750c69c 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix
@@ -69,7 +69,10 @@ in {
           melpaBuild {
             inherit pname ename commit;
             version = if isNull version then "" else
-              lib.concatStringsSep "." (map toString version);
+              lib.concatStringsSep "." (map toString
+                # Hack: Melpa archives contains versions with parse errors such as [ 4 4 -4 413 ] which should be 4.4-413
+                # This filter method is still technically wrong, but it's computationally cheap enough and tapers over the issue
+                (builtins.filter (n: n >= 0) version));
             # TODO: Broken should not result in src being null (hack to avoid eval errors)
             src = if (isNull sha256 || broken) then null else
               lib.getAttr fetcher (fetcherGenerators args sourceArgs);
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index c9eda3a548a0..676b9bfca9a6 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -225,14 +225,10 @@
     };
   };
 
-  railgun = callPackage ./railgun { };
-
   structured-haskell-mode = self.shm;
 
   sv-kalender = callPackage ./sv-kalender { };
 
-  tramp = callPackage ./tramp { };
-
   youtube-dl = callPackage ./youtube-dl { };
 
   # From old emacsPackages (pre emacsPackagesNg)
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
index 1e13c8bcaa10..9a81f25ec1b3 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
@@ -73,6 +73,15 @@ let
       overrides = lib.optionalAttrs (variant == "stable") {
 
         # upstream issue: missing file header
+        abridge-diff =
+          if super.abridge-diff.version == "0.1"
+          then markBroken super.abridge-diff
+          else super.abridge-diff;
+
+        # upstream issue: missing file header
+        bufshow = markBroken super.bufshow;
+
+        # upstream issue: missing file header
         speech-tagger = markBroken super.speech-tagger;
 
         # upstream issue: missing file header
@@ -100,10 +109,37 @@ let
         dictionary = markBroken super.dictionary;
 
         # upstream issue: missing file header
+        fold-dwim =
+          if super.fold-dwim.version == "1.2"
+          then markBroken super.fold-dwim
+          else super.fold-dwim;
+
+        # upstream issue: missing file header
+        gl-conf-mode =
+          if super.gl-conf-mode.version == "0.3"
+          then markBroken super.gl-conf-mode
+          else super.gl-conf-mode;
+
+        # upstream issue: missing file header
+        ligo-mode =
+          if super.ligo-mode.version == "0.3"
+          then markBroken super.ligo-mode
+          else super.ligo-mode;
+
+        # upstream issue: missing file header
         link = markBroken super.link;
 
         # upstream issue: missing file header
-        bufshow = markBroken super.bufshow;
+        org-dp =
+          if super.org-dp.version == "1"
+          then markBroken super.org-dp
+          else super.org-dp;
+
+        # upstream issue: missing file header
+        revbufs =
+          if super.revbufs.version == "1.2"
+          then markBroken super.revbufs
+          else super.revbufs;
 
         # upstream issue: missing file header
         elmine = markBroken super.elmine;
@@ -371,7 +407,8 @@ let
               --replace 'defcustom telega-server-command "telega-server"' \
                         "defcustom telega-server-command \"$out/bin/telega-server\""
 
-            substituteInPlace telega-sticker.el --replace '"dwebp"' '"${pkgs.libwebp}/bin/dwebp"'
+            substituteInPlace telega-sticker.el --replace '"dwebp' '"${pkgs.libwebp}/bin/dwebp'
+            substituteInPlace telega-sticker.el --replace '"ffmpeg' '"${pkgs.ffmpeg}/bin/ffmpeg'
 
             substituteInPlace telega-vvnote.el --replace '"ffmpeg' '"${pkgs.ffmpeg}/bin/ffmpeg'
           '';
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
deleted file mode 100644
index 2c9b066d27c0..000000000000
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ callPackage }:
-  {
-    org = callPackage ({ elpaBuild, fetchurl, lib }:
-      elpaBuild {
-        pname = "org";
-        ename = "org";
-        version = "20210929";
-        src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20210929.tar";
-          sha256 = "1fxhxjy48jxvs16x7270c4qj6n4lm952sn7q369c88gbf2jqxis4";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/org.html";
-          license = lib.licenses.free;
-        };
-      }) {};
-    org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }:
-      elpaBuild {
-        pname = "org-plus-contrib";
-        ename = "org-plus-contrib";
-        version = "20210929";
-        src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20210929.tar";
-          sha256 = "0bn80kji2h423d39c0am2r3p2hwvdxs9rm31xa4810dff27ihxb1";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/org-plus-contrib.html";
-          license = lib.licenses.free;
-        };
-      }) {};
-  }
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/railgun/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/railgun/default.nix
deleted file mode 100644
index 87a20caf9f07..000000000000
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/railgun/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, trivialBuild
-, fetchFromGitHub
-, emacs
-}:
-
-trivialBuild {
-  pname = "railgun";
-  version= "0.pre+unstable=2012-10-17";
-
-  src = fetchFromGitHub {
-    owner = "mbriggs";
-    repo = "railgun.el";
-    rev = "66aaa1b091baef53a69d0d7425f48d184b865fb8";
-    hash = "sha256-0L+jFgrXEPMTptx53RDdyH4BiA+7uInHceXL0eROoAM=";
-  };
-
-  buildInputs = [ emacs ];
-
-  meta = with lib; {
-    homepage = "https://github.com/mbriggs/railgun.el";
-    description = "Propel yourself through a rails project with the power of magnets";
-    inherit (emacs.meta) platforms;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tramp/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tramp/default.nix
deleted file mode 100644
index fee2cca6926a..000000000000
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/tramp/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, emacs
-, texinfo
-}:
-
-stdenv.mkDerivation rec {
-  pname = "tramp";
-  version = "2.5.1";
-
-  src = fetchurl {
-    url = "mirror://gnu/tramp/${pname}-${version}.tar.gz";
-    hash = "sha256-+jjWBcj2dP9Xyj4dzpAX86KnajVa9eFDcjD9xTw6vks=";
-  };
-
-  buildInputs = [
-    emacs
-    texinfo
-  ];
-
-  meta = with lib; {
-    homepage = "https://www.gnu.org/software/tramp";
-    description = "Transparently access remote files from Emacs (latest version)";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    inherit (emacs.meta) platforms;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/editors/emacs/generic.nix b/nixpkgs/pkgs/applications/editors/emacs/generic.nix
index 49ecbbab4a3c..b6d556b445a0 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/generic.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/generic.nix
@@ -10,7 +10,7 @@
 , Xaw3d, libXcursor,  pkg-config, gettext, libXft, dbus, libpng, libjpeg, giflib
 , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
 , alsa-lib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf
-, sigtool, jansson, harfbuzz, sqlite
+, sigtool, jansson, harfbuzz, sqlite, nixosTests
 , dontRecurseIntoAttrs ,emacsPackagesFor
 , libgccjit, targetPlatform, makeWrapper # native-comp params
 , systemd ? null
@@ -208,6 +208,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
   passthru = {
     inherit nativeComp;
     pkgs = dontRecurseIntoAttrs (emacsPackagesFor emacs);
+    tests = { inherit (nixosTests) emacs-daemon; };
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/editors/featherpad/default.nix b/nixpkgs/pkgs/applications/editors/featherpad/default.nix
index 80328fb06f82..f722f8c3db82 100644
--- a/nixpkgs/pkgs/applications/editors/featherpad/default.nix
+++ b/nixpkgs/pkgs/applications/editors/featherpad/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "featherpad";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "FeatherPad";
     rev = "V${version}";
-    sha256 = "sha256-Sff1oyRYCsiJ7Kl3HxI/bln0M80KlbcNSw6jrEOeWiI=";
+    sha256 = "sha256-qDhubKk6FLZmVxp4SkGm1B7zIg6rPtPRoFGCcBYUDFA=";
   };
 
   nativeBuildInputs = [ cmake pkg-config qttools ];
diff --git a/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix b/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix
index d9092b550117..0e2ffe46d208 100644
--- a/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix
+++ b/nixpkgs/pkgs/applications/editors/gnome-builder/default.nix
@@ -5,6 +5,7 @@
 , appstream-glib
 , desktop-file-utils
 , fetchurl
+, fetchpatch
 , flatpak
 , gnome
 , libgit2-glib
@@ -18,7 +19,7 @@
 , jsonrpc-glib
 , libdazzle
 , libpeas
-, libportal
+, libportal-gtk3
 , libxml2
 , meson
 , ninja
@@ -48,6 +49,15 @@ stdenv.mkDerivation rec {
     sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE=";
   };
 
+  patches = [
+    # Fix build with latest libportal
+    # https://gitlab.gnome.org/GNOME/gnome-builder/-/merge_requests/486
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/b3bfa0df53a3749c3b73cb6c4bad5cab3fa549a1.patch";
+      sha256 = "B/uCcYavFvOAPhLHZ4MRNENDd6VytILiGYwDZRUSxTE=";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils
@@ -69,7 +79,7 @@ stdenv.mkDerivation rec {
     glade
     libgit2-glib
     libpeas
-    libportal
+    libportal-gtk3
     vte
     gspell
     gtk3
diff --git a/nixpkgs/pkgs/applications/editors/gophernotes/default.nix b/nixpkgs/pkgs/applications/editors/gophernotes/default.nix
index fe694c1add4f..c7375536bf5b 100644
--- a/nixpkgs/pkgs/applications/editors/gophernotes/default.nix
+++ b/nixpkgs/pkgs/applications/editors/gophernotes/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gophernotes";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "gopherdata";
     repo = "gophernotes";
     rev = "v${version}";
-    sha256 = "sha256-LiYPos6Ic+se5bTTkvggmyxyS20uhgALkDU2LoXTci8=";
+    sha256 = "sha256-ZyZ5VOZEgFn9QrFBC1bNHKA2g8msDUnd1c5plooO+b8=";
   };
 
-  vendorSha256 = "sha256-wDMx3B47Vv87/3YEPX8/70Q5/REJ7IPvw8dA/viJiSY=";
+  vendorSha256 = "sha256-NH8Hz9SzmDksvGqCpggi6hG4kW+AoA1tctF6rGgy4H4=";
 
   meta = with lib; {
     description = "Go kernel for Jupyter notebooks";
diff --git a/nixpkgs/pkgs/applications/editors/helix/default.nix b/nixpkgs/pkgs/applications/editors/helix/default.nix
index c0c8e2a57b36..6cc5714fb83f 100644
--- a/nixpkgs/pkgs/applications/editors/helix/default.nix
+++ b/nixpkgs/pkgs/applications/editors/helix/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "helix";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "helix-editor";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-NoVg/8oJIgMQtxlCSjrLnYCG8shigYqZzWAQwmiqxgA=";
+    sha256 = "sha256-d/USOtcPLjdgzN7TBCouBRmoSDH5LZD4R5Qq7lUrWZw=";
   };
 
-  cargoSha256 = "sha256-kqPI8WpGpr0VL7CbBTSsjKl3xqJrv/6Qjr6UFnIgaVo=";
+  cargoSha256 = "sha256-/EATU7HsGNB35YOBp8sofbPd1nl4d3Ggj1ay3QuHkCI=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/editors/heme/default.nix b/nixpkgs/pkgs/applications/editors/heme/default.nix
deleted file mode 100644
index 7d1830c842b6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/editors/jetbrains/common.nix b/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
index b3145f342c9b..709a9b4251ce 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
@@ -82,10 +82,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/nixpkgs/pkgs/applications/editors/jetbrains/default.nix b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
index 2b03b5e94b3a..3f07b10a329d 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
@@ -93,8 +93,8 @@ let
         chmod +x $out/goland*/plugins/go/lib/dlv/linux/dlv
 
         # fortify source breaks build since delve compiles with -O0
-        wrapProgram $out/goland*/plugins/go/lib/dlv/linux/dlv \
-          --prefix disableHardening " " fortify
+        wrapProgram $out/bin/goland \
+          --prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"
       '';
     });
 
@@ -264,12 +264,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2021.3.3"; /* updated by script */
+    version = "2021.3.4"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "0wbr7hjbj9zvxn4j7nrp7sdzjk78hcg7ssz430y35x9isfiqv5py"; /* updated by script */
+      sha256 = "09dkxj5vn99gkgc1yd18w7gqkw2vzci0z9q2fcih0zn7lvqp0im3"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -277,12 +277,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2021.3.2"; /* updated by script */
+    version = "2021.3.3"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0csc52wwqggdxc61qkmbs84hdvyj3x60rcv5jrxcwp3bjq94kskw"; /* updated by script */
+      sha256 = "18z4mvxhds5fgdwcfywc4pj8s9ifvsknhradgzmxsvji0fbp0awx"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -290,12 +290,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2021.3.1"; /* updated by script */
+    version = "2021.3.2"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "19xxbjcn17n3fk1vdb31nihn9cv5q65wfxdan6dx7z0wq5c4x9zd"; /* updated by script */
+      sha256 = "1j889b2r950bl9wiqq1z8v8s2qicidfcdar300cy666i8rc25qlr"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -303,12 +303,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2021.3.1"; /* updated by script */
+    version = "2021.3.2"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0ys8f2h0qaj8s9ga94hg73vah552a6al4r1ypdp05f7j1m7lzajf"; /* updated by script */
+      sha256 = "0w36qnqgkvw6j1ks09h515237bhqfaixrimzg2r494ic98amvkps"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -343,12 +343,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2021.3.1"; /* updated by script */
+    version = "2021.3.2"; /* updated by script */
     description = "PyCharm Community Edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1xd88rd1w3ghkm6jq8ilhhjy972qfm57si581rnsjpz65rj6xpgm"; /* updated by script */
+      sha256 = "1s36basydp7cxgbgdapjhkslx0x9vv3639xhm84ny76hf7s03bpi"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -356,12 +356,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2021.3.1"; /* updated by script */
+    version = "2021.3.2"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0639mzjh1hw158gmf4qqld03371z60k3xyca21l1pnv3551svd6d"; /* updated by script */
+      sha256 = "0rwykngqgby05mh47kls8wzi68gfka2z04k6kdmsxwn1hhx5gnbb"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -369,12 +369,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2021.3.2"; /* updated by script */
+    version = "2021.3.3"; /* updated by script */
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "0arnh9wlw874jqlgad00q0nf1kjp7pvb4xixwrb6v1l9fbr9nsan"; /* updated by script */
+      sha256 = "13q6hk5l3fqmz818z5wj014jd5iglpdcpi8zlpgaim1jg5fpvi8x"; /* updated by script */
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -382,12 +382,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2021.3.1"; /* updated by script */
+    version = "2021.3.2"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "1xax3738myxjzm0p8zm8aaa2nw0336h80nrm9dqby2j7dass2jnm"; /* updated by script */
+      sha256 = "18ny40zl9hgkynkc5yyy2xqngl9diifh2gqrfnz7rfq14kp10xb9"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
diff --git a/nixpkgs/pkgs/applications/editors/jove/default.nix b/nixpkgs/pkgs/applications/editors/jove/default.nix
index c2625271665f..2280c6d9e617 100644
--- a/nixpkgs/pkgs/applications/editors/jove/default.nix
+++ b/nixpkgs/pkgs/applications/editors/jove/default.nix
@@ -34,10 +34,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Jonathan's Own Version or Emacs";
+    description = "Jonathan's Own Version of Emacs";
     homepage = "https://github.com/jonmacs/jove";
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/jove.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/lite-xl/default.nix b/nixpkgs/pkgs/applications/editors/lite-xl/default.nix
index a468e34393cd..b19c3f531b7a 100644
--- a/nixpkgs/pkgs/applications/editors/lite-xl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/moe/default.nix b/nixpkgs/pkgs/applications/editors/moe/default.nix
index 4365c172f48f..79595a00c262 100644
--- a/nixpkgs/pkgs/applications/editors/moe/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/monodevelop/default.nix b/nixpkgs/pkgs/applications/editors/monodevelop/default.nix
deleted file mode 100644
index 12b66370d506..000000000000
--- a/nixpkgs/pkgs/applications/editors/monodevelop/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib, stdenv, fetchurl
-, autoconf, automake, pkg-config, shared-mime-info, intltool
-, glib, mono, gtk-sharp-2_0, gnome2, gnome-sharp, unzip
-, dotnetPackages
-}:
-
-stdenv.mkDerivation rec {
-  version = "5.9.4.5";
-  revision = "8010a90f6e246b32364e3fb46ef2c9d1be9c9a2b";
-  pname = "monodevelop";
-
-  src = fetchurl {
-    url = "https://download.mono-project.com/sources/monodevelop/${pname}-${version}.tar.bz2";
-    sha256 = "0bim4bfv3zwijafl9g0cx3159zq43dlcv74mnyrda41j4p52w5ji";
-  };
-
-  nunit2510 = fetchurl {
-    url = "https://launchpad.net/nunitv2/2.5/2.5.10/+download/NUnit-2.5.10.11092.zip";
-    sha256 = "0k5h5bz1p2v3d0w0hpkpbpvdkcszgp8sr9ik498r1bs72w5qlwnc";
-  };
-
-  postPatch = ''
-    # From https://bugzilla.xamarin.com/show_bug.cgi?id=23696#c19
-
-    # cecil needs NUnit 2.5.10 - this is also missing from the tar
-    unzip -j ${nunit2510} -d external/cecil/Test/libs/nunit-2.5.10 NUnit-2.5.10.11092/bin/net-2.0/framework/\*
-
-    # the tar doesn't include the nuget binary, so grab it from github and copy it
-    # into the right place
-    cp -vfR "$(dirname $(pkg-config NuGet.Core --variable=Libraries))"/* external/nuget-binary/
-  '';
-
-  # Revert this commit which broke the ability to use pkg-config to locate dlls
-  patchFlags = [ "-p2" ];
-  patches = [ ./git-revert-12d610fb3f6dce121df538e36f21d8c2eeb0a6e3.patch ];
-
-  nativeBuildInputs = [ pkg-config unzip ];
-  buildInputs = [
-    autoconf automake shared-mime-info intltool
-    mono gtk-sharp-2_0 gnome-sharp
-    dotnetPackages.NUnit
-    dotnetPackages.NUnitRunners
-    dotnetPackages.Nuget
-  ];
-
-  preConfigure = "patchShebangs ./configure";
-
-  preBuild = ''
-    cat > ./buildinfo <<EOF
-    Release ID: ${version}
-    Git revision: ${revision}
-    Build date: 1970-01-01 00:00:01
-    EOF
-  '';
-
-  postInstall = ''
-    for prog in monodevelop mdtool; do
-    patch -p 0 $out/bin/$prog <<EOF
-    2a3,5
-    > export MONO_GAC_PREFIX=${gnome-sharp}:${gtk-sharp-2_0}:\$MONO_GAC_PREFIX
-    > export PATH=${mono}/bin:\$PATH
-    > export LD_LIBRARY_PATH=${lib.makeLibraryPath [ glib gnome2.libgnomeui gnome2.gnome_vfs gnome-sharp gtk-sharp-2_0 gtk-sharp-2_0.gtk ]}:\$LD_LIBRARY_PATH
-    >
-    EOF
-    done
-
-    # Without this, you get a missing DLL error any time you install an addin..
-    ln -sv `pkg-config nunit.core --variable=Libraries` $out/lib/monodevelop/AddIns/NUnit
-    ln -sv `pkg-config nunit.core.interfaces --variable=Libraries` $out/lib/monodevelop/AddIns/NUnit
-    ln -sv `pkg-config nunit.framework --variable=Libraries` $out/lib/monodevelop/AddIns/NUnit
-    ln -sv `pkg-config nunit.util --variable=Libraries` $out/lib/monodevelop/AddIns/NUnit
-  '';
-
-  dontStrip = true;
-
-  meta = with lib; {
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ obadz ];
-    broken = true; # 2018-09-21, build has failed since 2018-03-08
-  };
-}
diff --git a/nixpkgs/pkgs/applications/editors/monodevelop/git-revert-12d610fb3f6dce121df538e36f21d8c2eeb0a6e3.patch b/nixpkgs/pkgs/applications/editors/monodevelop/git-revert-12d610fb3f6dce121df538e36f21d8c2eeb0a6e3.patch
deleted file mode 100644
index 969aad33ec0b..000000000000
--- a/nixpkgs/pkgs/applications/editors/monodevelop/git-revert-12d610fb3f6dce121df538e36f21d8c2eeb0a6e3.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.csproj b/main/src/addins/AspNet/MonoDevelop.AspNet.csproj
-index 02d3a01..c6daaad 100644
---- a/main/src/addins/AspNet/MonoDevelop.AspNet.csproj
-+++ b/main/src/addins/AspNet/MonoDevelop.AspNet.csproj
-@@ -452,34 +452,6 @@
-     <None Include="Templates\Projects\WebApplication.xpt.xml">
-       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-     </None>
--    <None Include="..\..\..\packages\Microsoft.AspNet.Mvc.5.2.2\lib\net45\System.Web.Mvc.dll">
--      <Link>System.Web.Mvc.dll</Link>
--      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
--    </None>
--    <None Include="..\..\..\packages\Microsoft.AspNet.Razor.3.2.2\lib\net45\System.Web.Razor.dll">
--      <Link>System.Web.Razor.dll</Link>
--      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
--    </None>
--    <None Include="..\..\..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.Helpers.dll">
--      <Link>System.Web.Helpers.dll</Link>
--      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
--    </None>
--    <None Include="..\..\..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.Deployment.dll">
--      <Link>System.Web.WebPages.Deployment.dll</Link>
--      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
--    </None>
--    <None Include="..\..\..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.dll">
--      <Link>System.Web.WebPages.dll</Link>
--      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
--    </None>
--    <None Include="..\..\..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.Razor.dll">
--      <Link>System.Web.WebPages.Razor.dll</Link>
--      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
--    </None>
--    <None Include="..\..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll">
--      <Link>Microsoft.Web.Infrastructure.dll</Link>
--      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
--    </None>
-     <None Include="packages.config" />
-   </ItemGroup>
-   <ItemGroup>
-diff --git a/main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml b/main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml
-index eab7c32..4a75311 100644
---- a/main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml
-+++ b/main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml
-@@ -1,13 +1,6 @@
- <ExtensionModel>

- 	

- 	<Runtime>

--		<Import assembly = "System.Web.Helpers.dll" />
--		<Import assembly = "System.Web.Mvc.dll" />
--		<Import assembly = "System.Web.Razor.dll" />
--		<Import assembly = "System.Web.WebPages.Deployment.dll" />
--		<Import assembly = "System.Web.WebPages.dll" />
--		<Import assembly = "System.Web.WebPages.Razor.dll" />
--
- 		<Import file = "Html/Schemas/xhtml1-strict.xsd" />

- 		<Import file = "Html/Schemas/xhtml1-transitional.xsd" />

- 		<Import file = "Html/Schemas/xhtml1-frameset.xsd" />

diff --git a/nixpkgs/pkgs/applications/editors/nano/default.nix b/nixpkgs/pkgs/applications/editors/nano/default.nix
index ffef9c5988bc..c2868fbac5bb 100644
--- a/nixpkgs/pkgs/applications/editors/nano/default.nix
+++ b/nixpkgs/pkgs/applications/editors/nano/default.nix
@@ -16,11 +16,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "6.0";
+  version = "6.1";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "k6yMtotK0Q4KrrgKLdFcW7ietmWkhE960Bxn78sWnqI=";
+    sha256 = "PVfsiT+/3tEmZbfw1WPXRDH8Q6vqzKzt6iO2avcE20A=";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/nixpkgs/pkgs/applications/editors/neovim/default.nix b/nixpkgs/pkgs/applications/editors/neovim/default.nix
index 412a6f724956..03cc0b35b8d3 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/default.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/default.nix
@@ -113,6 +113,11 @@ in
       substituteInPlace src/nvim/CMakeLists.txt --replace "    util" ""
     '';
 
+    # For treesitter plugins, libstdc++.so.6, or equivalent will be needed
+    NIX_LDFLAGS =
+      lib.optionals stdenv.cc.isGNU [ "-lstdc++"]
+      ++ lib.optionals stdenv.cc.isClang [ "-lc++" ];
+
     # export PATH=$PWD/build/bin:${PATH}
     shellHook=''
       export VIMRUNTIME=$PWD/runtime
diff --git a/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix b/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
index c2a696cd425b..2c0a50bfed6b 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
@@ -7,6 +7,7 @@
 , makeWrapper
 , pkg-config
 , python2
+, python3
 , openssl
 , SDL2
 , fontconfig
@@ -24,16 +25,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "neovide";
-  version = "unstable-2021-10-09";
+  version = "unstable-2022-02-04";
 
   src = fetchFromGitHub {
     owner = "Kethku";
     repo = "neovide";
-    rev = "7f76ad4764197ba75bb9263d25b265d801563ccf";
-    sha256 = "sha256-kcP0WSk3quTaWCGQYN4zYlDQ9jhx/Vu6AamSLGFszwQ=";
+    rev = "92bc1725f1733547eb0ae25b740425f03f358c2a";
+    sha256 = "sha256-bKTteaj6gddp0NuV5Y0pfHotezU9Hmb136xOC9zkJ/M=";
   };
 
-  cargoSha256 = "sha256-TQEhz9FtvIb/6Qtyz018dPle0+nub1oMZMFtKAqYcoI=";
+  cargoSha256 = "sha256-TaZN49ou6bf1vW0mEsmaItp1c73d0M826MMrSGXpnGE=";
 
   SKIA_SOURCE_DIR =
     let
@@ -41,8 +42,8 @@ rustPlatform.buildRustPackage rec {
         owner = "rust-skia";
         repo = "skia";
         # see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
-        rev = "m91-0.39.4";
-        sha256 = "sha256-ovlR1vEZaQqawwth/UYVUSjFu+kTsywRpRClBaE1CEA=";
+        rev = "m93-0.42.0";
+        sha256 = "sha256-F1DWLm7bdKnuCu5tMMekxSyaGq8gPRNtZwcRVXJxjZQ=";
       };
       # The externals for skia are taken from skia/DEPS
       externals = lib.mapAttrs (n: v: fetchgit v) (lib.importJSON ./skia-externals.json);
@@ -72,6 +73,7 @@ rustPlatform.buildRustPackage rec {
     pkg-config
     makeWrapper
     python2 # skia-bindings
+    python3 # rust-xcb
     llvmPackages.clang # skia
   ];
 
diff --git a/nixpkgs/pkgs/applications/editors/neovim/neovide/skia-externals.json b/nixpkgs/pkgs/applications/editors/neovim/neovide/skia-externals.json
index 3c0de3008d72..d0553830a6be 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/neovide/skia-externals.json
+++ b/nixpkgs/pkgs/applications/editors/neovim/neovide/skia-externals.json
@@ -1,18 +1,18 @@
 {
   "expat": {
     "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
-    "rev": "e976867fb57a0cd87e3b0fe05d59e0ed63c6febb",
-    "sha256": "sha256-akSh/Vo7s7m/7qePamGA7oiHEHT3D6JhCFMc27CgDFI="
+    "rev": "a28238bdeebc087071777001245df1876a11f5ee",
+    "sha256": "sha256-TSaVtKEk7J0fckDvpI6/U5Aq7d37nsixp0Ft7sMHi8w="
   },
   "libjpeg-turbo": {
     "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-    "rev": "64fc43d52351ed52143208ce6a656c03db56462b",
-    "sha256": "sha256-rk22wE83hxKbtZLhGwUIF4J816jHvWovgICdrKZi2Ig="
+    "rev": "24e310554f07c0fdb8ee52e3e708e4f3e9eb6e20",
+    "sha256": "sha256-bhbUnA36rKYLJSLpElmXJqccXQDjjbMcNMsVM4Eekrs="
   },
   "icu": {
     "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-    "rev": "dbd3825b31041d782c5b504c59dcfb5ac7dda08c",
-    "sha256": "sha256-voMH+TdNx3dBHeH5Oky5OYmmLGJ2u+WrMrmAkjXJRTE="
+    "rev": "a0718d4f121727e30b8d52c7a189ebf5ab52421f",
+    "sha256": "sha256-BI3f/gf9GNDvSfXWeRHKBvznSz4mjXY8rM24kK7QvOM="
   },
   "zlib": {
     "url": "https://chromium.googlesource.com/chromium/src/third_party/zlib",
diff --git a/nixpkgs/pkgs/applications/editors/netbeans/default.nix b/nixpkgs/pkgs/applications/editors/netbeans/default.nix
index 0c40f83b67fa..f7614e76ef54 100644
--- a/nixpkgs/pkgs/applications/editors/netbeans/default.nix
+++ b/nixpkgs/pkgs/applications/editors/netbeans/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, which, unzip, libicns, imagemagick
-, jdk, perl, python
+, jdk, perl
 }:
 
 let
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ makeWrapper unzip ];
-  buildInputs = [ perl python libicns imagemagick ];
+  buildInputs = [ perl libicns imagemagick ];
 
   meta = {
     description = "An integrated development environment for Java, C, C++ and PHP";
diff --git a/nixpkgs/pkgs/applications/editors/nvi/default.nix b/nixpkgs/pkgs/applications/editors/nvi/default.nix
index 38aea982633c..c749000533e2 100644
--- a/nixpkgs/pkgs/applications/editors/nvi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/poke/default.nix b/nixpkgs/pkgs/applications/editors/poke/default.nix
index cdfacaf92ede..e05008613910 100644
--- a/nixpkgs/pkgs/applications/editors/poke/default.nix
+++ b/nixpkgs/pkgs/applications/editors/poke/default.nix
@@ -13,17 +13,20 @@
 , nbdSupport ? !stdenv.isDarwin, libnbd
 , textStylingSupport ? true
 , dejagnu
+
+# update script only
+, writeScript
 }:
 
 let
   isCross = stdenv.hostPlatform != stdenv.buildPlatform;
 in stdenv.mkDerivation rec {
   pname = "poke";
-  version = "1.4";
+  version = "2.1";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-zgVN8pVgySEjATJwPuRJ/hMLbiWrA6psx5a7QBUGqiQ=";
+    sha256 = "sha256-zVKObBu8VAw7YpwrTza3hLMKAmsAWji5koNCJZlEJnA=";
   };
 
   outputs = [ "out" "dev" "info" "lib" "man" ];
@@ -65,6 +68,20 @@ in stdenv.mkDerivation rec {
     moveToOutput share/emacs "$out"
   '';
 
+  passthru = {
+    updateScript = writeScript "update-poke" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p curl pcre common-updater-scripts
+
+      set -eu -o pipefail
+
+      # Expect the text in format of '<a href="...">poke 2.0</a>'
+      new_version="$(curl -s https://www.jemarch.net/poke |
+          pcregrep -o1 '>poke ([0-9.]+)</a>')"
+      update-source-version ${pname} "$new_version"
+    '';
+  };
+
   meta = with lib; {
     description = "Interactive, extensible editor for binary data";
     homepage = "http://www.jemarch.net/poke";
diff --git a/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix b/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
index 773b1f278e0f..50366863d673 100644
--- a/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
+++ b/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
@@ -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/nixpkgs/pkgs/applications/editors/rednotebook/default.nix b/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
index 4e4835783e46..e5bdc28b80ef 100644
--- a/nixpkgs/pkgs/applications/editors/rednotebook/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/rehex/default.nix b/nixpkgs/pkgs/applications/editors/rehex/default.nix
index 6a52c7efc27f..3b169bf4e533 100644
--- a/nixpkgs/pkgs/applications/editors/rehex/default.nix
+++ b/nixpkgs/pkgs/applications/editors/rehex/default.nix
@@ -2,8 +2,10 @@
 , stdenv
 , fetchFromGitHub
 , pkg-config
+, which
 , capstone
 , jansson
+, libunistring
 , lua5_3
 , wxGTK31
 , Carbon
@@ -15,30 +17,33 @@
 
 stdenv.mkDerivation rec {
   pname = "rehex";
-  version = "0.3.92";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "solemnwarning";
     repo = pname;
     rev = version;
-    sha256 = "sha256-yZvJlomUpJwDJOBVSl49lU+JE1YMMs/BSzHepXoFlIY=";
+    hash = "sha256-NuWWaYABQDaS9wkwmXkBJWHzLFJbUUCiePNQNo4yZrk=";
   };
 
   postPatch = ''
-    substituteInPlace Makefile.osx --replace 'iconutil -c icns -o $@ $(ICONSET)' \
-      'png2icns $@ $(ICONSET)/icon_16x16.png $(ICONSET)/icon_32x32.png $(ICONSET)/icon_128x128.png $(ICONSET)/icon_256x256.png $(ICONSET)/icon_512x512.png'
+    # See https://github.com/solemnwarning/rehex/pull/148
+    substituteInPlace Makefile.osx \
+      --replace '$(filter-out %@2x.png,$(wildcard $(ICONSET)/*.png))' 'res/icon{16,32,128,256,512}.png'
   '';
 
-  nativeBuildInputs = [ pkg-config ]
+  nativeBuildInputs = [ pkg-config which ]
     ++ lib.optionals stdenv.isDarwin [ libicns ];
 
-  buildInputs = [ capstone jansson lua5_3 ]
+  buildInputs = [ capstone jansson libunistring lua5_3 ]
     ++ lib.optionals (!stdenv.isDarwin) [ wxGTK31 ]
     ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa IOKit wxmac ];
 
-  makeFlags = [ "prefix=$(out)" ]
+  makeFlags = [ "prefix=${placeholder "out"}" ]
     ++ lib.optionals stdenv.isDarwin [ "-f Makefile.osx" ];
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Reverse Engineers' Hex Editor";
     longDescription = ''
@@ -46,7 +51,8 @@ stdenv.mkDerivation rec {
       engineering, and everything else.
     '';
     homepage = "https://github.com/solemnwarning/rehex";
-    license = licenses.gpl2;
+    changelog = "https://github.com/solemnwarning/rehex/raw/${version}/CHANGES.txt";
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ markus1189 SuperSandro2000 ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/editors/retext/default.nix b/nixpkgs/pkgs/applications/editors/retext/default.nix
index 533e353a43e6..afb48ad65f4f 100644
--- a/nixpkgs/pkgs/applications/editors/retext/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/rstudio/default.nix b/nixpkgs/pkgs/applications/editors/rstudio/default.nix
index 62c3a93f76b4..04b688622be0 100644
--- a/nixpkgs/pkgs/applications/editors/rstudio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/rstudio/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , mkDerivation
 , fetchurl
 , fetchpatch
@@ -30,6 +31,10 @@
 , nodejs
 , mkYarnModules
 , qmake
+, server ? false # build server version
+, sqlite
+, pam
+, nixosTests
 }:
 
 let
@@ -61,149 +66,169 @@ let
   panmirrorModules = mkYarnModules {
     inherit pname version;
     packageJSON = ./package.json;
-    yarnLock =  ./yarn.lock;
+    yarnLock = ./yarn.lock;
     yarnNix = ./yarndeps.nix;
   };
 
+  description = "Set of integrated tools for the R language";
 in
-mkDerivation rec {
-  inherit pname version src RSTUDIO_VERSION_MAJOR RSTUDIO_VERSION_MINOR RSTUDIO_VERSION_PATCH;
-
-  nativeBuildInputs = [
-    cmake
-    unzip
-    ant
-    jdk
-    makeWrapper
-    pandoc
-    nodejs
-    copyDesktopItems
-  ];
-
-  buildInputs = [
-    boost
-    zlib
-    openssl
-    R
-    qtbase
-    qtxmlpatterns
-    qtsensors
-    qtwebengine
-    qtwebchannel
-    libuuid
-    libyamlcpp
-    soci
-    postgresql
-  ];
-
-  cmakeFlags = [
-    "-DRSTUDIO_TARGET=Desktop"
-    "-DCMAKE_BUILD_TYPE=Release"
-    "-DQT_QMAKE_EXECUTABLE=${qmake}/bin/qmake"
-    "-DRSTUDIO_USE_SYSTEM_SOCI=ON"
-    "-DRSTUDIO_USE_SYSTEM_BOOST=ON"
-    "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON"
-    "-DPANDOC_VERSION=${pandoc.version}"
-    "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/rstudio"
-  ];
-
-  # Hack RStudio to only use the input R and provided libclang.
-  patches = [
-    ./r-location.patch
-    ./clang-location.patch
-    # postFetch doesn't work with this | error: unexpected end-of-file
-    # replacing /usr/bin/node is done in postPatch
-    # https://src.fedoraproject.org/rpms/rstudio/tree/rawhide
-    (fetchpatch {
-      name = "system-node.patch";
-      url = "https://src.fedoraproject.org/rpms/rstudio/raw/5bda2e290c9e72305582f2011040938d3e356906/f/0004-use-system-node.patch";
-      sha256 = "sha256-P1Y07RB/ceFNa749nyBUWSE41eiiZgt43zVcmahvfZM=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}
-
-    substituteInPlace src/cpp/CMakeLists.txt \
-      --replace 'SOCI_LIBRARY_DIR "/usr/lib"' 'SOCI_LIBRARY_DIR "${soci}/lib"'
-
-    substituteInPlace src/gwt/build.xml \
-      --replace '/usr/bin/node' '${nodejs}/bin/node'
-
-    substituteInPlace src/cpp/core/libclang/LibClang.cpp \
-      --replace '@libclang@' ${llvmPackages.libclang.lib} \
-      --replace '@libclang.so@' ${llvmPackages.libclang.lib}/lib/libclang.so
-
-      substituteInPlace src/cpp/session/include/session/SessionConstants.hpp \
-        --replace "bin/pandoc" "${pandoc}/bin/pandoc"
-  '';
-
-  hunspellDictionaries = with lib; filter isDerivation (unique (attrValues hunspellDicts));
-  # These dicts contain identically-named dict files, so we only keep the
-  # -large versions in case of clashes
-  largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
-  otherDicts = with lib; filter
-    (d: !(hasAttr "dictFileName" d &&
-      elem d.dictFileName (map (d: d.dictFileName) largeDicts)))
-    hunspellDictionaries;
-  dictionaries = largeDicts ++ otherDicts;
-
-  preConfigure = ''
-    mkdir dependencies/dictionaries
-    for dict in ${builtins.concatStringsSep " " dictionaries}; do
-      for i in "$dict/share/hunspell/"*; do
-        ln -s $i dependencies/dictionaries/
+(if server then stdenv.mkDerivation else mkDerivation)
+  (rec {
+    inherit pname version src RSTUDIO_VERSION_MAJOR RSTUDIO_VERSION_MINOR RSTUDIO_VERSION_PATCH;
+
+    nativeBuildInputs = [
+      cmake
+      unzip
+      ant
+      jdk
+      makeWrapper
+      pandoc
+      nodejs
+    ] ++ lib.optional (!server) [
+      copyDesktopItems
+    ];
+
+    buildInputs = [
+      boost
+      zlib
+      openssl
+      R
+      libuuid
+      libyamlcpp
+      soci
+      postgresql
+    ] ++ (if server then [
+      sqlite.dev
+      pam
+    ] else [
+      qtbase
+      qtxmlpatterns
+      qtsensors
+      qtwebengine
+      qtwebchannel
+    ]);
+
+    cmakeFlags = [
+      "-DRSTUDIO_TARGET=${if server then "Server" else "Desktop"}"
+      "-DCMAKE_BUILD_TYPE=Release"
+      "-DRSTUDIO_USE_SYSTEM_SOCI=ON"
+      "-DRSTUDIO_USE_SYSTEM_BOOST=ON"
+      "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON"
+      "-DPANDOC_VERSION=${pandoc.version}"
+      "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/rstudio"
+    ] ++ lib.optional (!server) [
+      "-DQT_QMAKE_EXECUTABLE=${qmake}/bin/qmake"
+    ];
+
+    # Hack RStudio to only use the input R and provided libclang.
+    patches = [
+      ./r-location.patch
+      ./clang-location.patch
+      # postFetch doesn't work with this | error: unexpected end-of-file
+      # replacing /usr/bin/node is done in postPatch
+      # https://src.fedoraproject.org/rpms/rstudio/tree/rawhide
+      (fetchpatch {
+        name = "system-node.patch";
+        url = "https://src.fedoraproject.org/rpms/rstudio/raw/5bda2e290c9e72305582f2011040938d3e356906/f/0004-use-system-node.patch";
+        sha256 = "sha256-P1Y07RB/ceFNa749nyBUWSE41eiiZgt43zVcmahvfZM=";
+      })
+    ];
+
+    postPatch = ''
+      substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}
+
+      substituteInPlace src/cpp/CMakeLists.txt \
+        --replace 'SOCI_LIBRARY_DIR "/usr/lib"' 'SOCI_LIBRARY_DIR "${soci}/lib"'
+
+      substituteInPlace src/gwt/build.xml \
+        --replace '/usr/bin/node' '${nodejs}/bin/node'
+
+      substituteInPlace src/cpp/core/libclang/LibClang.cpp \
+        --replace '@libclang@' ${llvmPackages.libclang.lib} \
+        --replace '@libclang.so@' ${llvmPackages.libclang.lib}/lib/libclang.so
+
+        substituteInPlace src/cpp/session/include/session/SessionConstants.hpp \
+          --replace "bin/pandoc" "${pandoc}/bin/pandoc"
+    '';
+
+    hunspellDictionaries = with lib; filter isDerivation (unique (attrValues hunspellDicts));
+    # These dicts contain identically-named dict files, so we only keep the
+    # -large versions in case of clashes
+    largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
+    otherDicts = with lib; filter
+      (d: !(hasAttr "dictFileName" d &&
+        elem d.dictFileName (map (d: d.dictFileName) largeDicts)))
+      hunspellDictionaries;
+    dictionaries = largeDicts ++ otherDicts;
+
+    preConfigure = ''
+      mkdir dependencies/dictionaries
+      for dict in ${builtins.concatStringsSep " " dictionaries}; do
+        for i in "$dict/share/hunspell/"*; do
+          ln -s $i dependencies/dictionaries/
+        done
       done
-    done
-
-    unzip -q ${mathJaxSrc} -d dependencies/mathjax-27
-
-    mkdir -p dependencies/pandoc/${pandoc.version}
-    cp ${pandoc}/bin/pandoc dependencies/pandoc/${pandoc.version}/pandoc
-
-    cp -r ${rsconnectSrc} dependencies/rsconnect
-    ( cd dependencies && ${R}/bin/R CMD build -d --no-build-vignettes rsconnect )
-
-    cp -r "${panmirrorModules}" src/gwt/panmirror/src/editor/node_modules
-  '';
-
-  postInstall = ''
-    mkdir -p $out/share/icons/hicolor/48x48/apps $out/bin
-    ln $out/lib/rstudio/rstudio.png $out/share/icons/hicolor/48x48/apps
-
-    for f in {diagnostics,rpostback,rstudio}; do
-      ln -s $out/lib/rstudio/bin/$f $out/bin
-    done
-
-    for f in .gitignore .Rbuildignore LICENSE README; do
-      find . -name $f -delete
-    done
-    rm -r $out/lib/rstudio/{INSTALL,COPYING,NOTICE,README.md,SOURCE,VERSION}
-    rm -r $out/lib/rstudio/bin/{pandoc/pandoc,pandoc}
-  '';
-
-  qtWrapperArgs = [
-    "--suffix PATH : ${lib.makeBinPath [ gnumake ]}"
-  ];
-
-  desktopItems = [
-    (makeDesktopItem {
-      name = "${pname}";
-      exec = "rstudio %F";
-      icon = "rstudio";
-      desktopName = "RStudio";
-      genericName = "IDE";
-      comment = meta.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;";
-    })
-  ];
-
-  meta = with lib; {
-    description = "Set of integrated tools for the R language";
-    homepage = "https://www.rstudio.com/";
-    license = licenses.agpl3Only;
-    maintainers = with maintainers; [ ciil ];
-    platforms = platforms.linux;
-  };
-}
+
+      unzip -q ${mathJaxSrc} -d dependencies/mathjax-27
+
+      mkdir -p dependencies/pandoc/${pandoc.version}
+      cp ${pandoc}/bin/pandoc dependencies/pandoc/${pandoc.version}/pandoc
+
+      cp -r ${rsconnectSrc} dependencies/rsconnect
+      ( cd dependencies && ${R}/bin/R CMD build -d --no-build-vignettes rsconnect )
+
+      cp -r "${panmirrorModules}" src/gwt/panmirror/src/editor/node_modules
+    '';
+
+    postInstall = ''
+      mkdir -p $out/bin $out/share
+
+      ${lib.optionalString (!server) ''
+        mkdir -p $out/share/icons/hicolor/48x48/apps
+        ln $out/lib/rstudio/rstudio.png $out/share/icons/hicolor/48x48/apps
+      ''}
+
+      for f in {${if server
+        then "crash-handler-proxy,postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server"
+        else "diagnostics,rpostback,rstudio"}}; do
+        ln -s $out/lib/rstudio/bin/$f $out/bin
+      done
+
+      for f in .gitignore .Rbuildignore LICENSE README; do
+        find . -name $f -delete
+      done
+      rm -r $out/lib/rstudio/{INSTALL,COPYING,NOTICE,README.md,SOURCE,VERSION}
+      rm -r $out/lib/rstudio/bin/{pandoc/pandoc,pandoc}
+    '';
+
+    meta = with lib; {
+      inherit description;
+      homepage = "https://www.rstudio.com/";
+      license = licenses.agpl3Only;
+      maintainers = with maintainers; [ ciil cfhammill ];
+      mainProgram = "rstudio" + optionalString server "-server";
+      platforms = platforms.linux;
+    };
+
+    passthru = {
+      inherit server;
+      tests = { inherit (nixosTests) rstudio-server; };
+    };
+  } // lib.optionalAttrs (!server) {
+    qtWrapperArgs = [
+      "--suffix PATH : ${lib.makeBinPath [ gnumake ]}"
+    ];
+
+    desktopItems = [
+      (makeDesktopItem {
+        name = pname;
+        exec = "rstudio %F";
+        icon = "rstudio";
+        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;";
+      })
+    ];
+  })
diff --git a/nixpkgs/pkgs/applications/editors/setzer/default.nix b/nixpkgs/pkgs/applications/editors/setzer/default.nix
index 6b380e32bc69..894b7a43c013 100644
--- a/nixpkgs/pkgs/applications/editors/setzer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/standardnotes/default.nix b/nixpkgs/pkgs/applications/editors/standardnotes/default.nix
index 4191f6fbd20c..6e478693d409 100644
--- a/nixpkgs/pkgs/applications/editors/standardnotes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/texstudio/default.nix b/nixpkgs/pkgs/applications/editors/texstudio/default.nix
index 9d1a04128c00..4e7bfc2cff7d 100644
--- a/nixpkgs/pkgs/applications/editors/texstudio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "texstudio";
-  version = "4.1.2";
+  version = "4.2.2";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+HEA0IvWy0jvjFdU0sG9CzOKzysERMZBs/yHoE0I8B4=";
+    sha256 = "sha256-MZz8DQT1f6RU+euEED1bbg2MsaqC6+W3RoMk2qfIjr4=";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
diff --git a/nixpkgs/pkgs/applications/editors/tiled/default.nix b/nixpkgs/pkgs/applications/editors/tiled/default.nix
index 4a53d585feae..d381e89e75af 100644
--- a/nixpkgs/pkgs/applications/editors/tiled/default.nix
+++ b/nixpkgs/pkgs/applications/editors/tiled/default.nix
@@ -1,19 +1,19 @@
 { lib, mkDerivation, fetchFromGitHub, pkg-config, qmake
-, python, qtbase, qttools }:
+, python3, qtbase, qttools }:
 
 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 ];
-  buildInputs = [ python qtbase qttools ];
+  buildInputs = [ python3 qtbase qttools ];
 
   meta = with lib; {
     description = "Free, easy to use and flexible tile map editor";
diff --git a/nixpkgs/pkgs/applications/editors/vim/common.nix b/nixpkgs/pkgs/applications/editors/vim/common.nix
index db368d585a0a..0cb09814c0f0 100644
--- a/nixpkgs/pkgs/applications/editors/vim/common.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.2.3848";
+  version = "8.2.4227";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "sha256-U6xrEZbieRBU0FDdTloYdZzuNpJ9+Q7FZgfI+0SPEAQ=";
+    sha256 = "sha256-Xj4ymkrWY5GWpQhEDYtPtaRovBa6j19dW9GWg9WSdig=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/editors/vscode/generic.nix b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
index f2c262ece95d..133c5fe9cbe1 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/generic.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
@@ -108,6 +108,7 @@ let
       gappsWrapperArgs+=(
         # Add gio to PATH so that moving files to the trash works when not using a desktop environment
         --prefix PATH : ${glib.bin}/bin
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
       )
     '';
 
@@ -124,7 +125,7 @@ let
       rm -rf "$packed"
 
       # this fixes bundled ripgrep
-      chmod +x resources/app/node_modules/vscode-ripgrep/bin/rg
+      chmod +x resources/app/node_modules/@vscode/ripgrep/bin/rg
     '';
 
     inherit meta;
@@ -160,12 +161,9 @@ let
       krb5
     ]) ++ additionalPkgs pkgs;
 
-    # restore desktop item icons
+    # symlink shared assets, including icons and desktop entries
     extraInstallCommands = ''
-      mkdir -p "$out/share/applications"
-      for item in ${unwrapped}/share/applications/*.desktop; do
-        ln -s "$item" "$out/share/applications/"
-      done
+      ln -s "${unwrapped}/share" "$out/"
     '';
 
     runScript = "${unwrapped}/bin/${executableName}";
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
index 8990ef75a850..496dbe2496d1 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
+++ b/nixpkgs/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 = "1bglf1a8b5whv9pk811fdnx0mvfcfasjxbik73p67msp4yy68lm4";
-    x86_64-darwin = "0cv6i2i69xf6hn0vrfl3gk3ky7r5yvp4k7zx2k695gzck5s9bx8y";
-    aarch64-linux = "1jggspj5q4vfgs4xdvx5p8qsfm98wf17jmxqzs68lmlhmhadyh22";
-    aarch64-darwin = "0c1nz7a54xq20a2a4fqcmlhry6gqwz5f1ys7dx0x5whaxbybh8my";
-    armv7l-linux = "0p2rdxbqpzk79ra7br7wfs8kr0hnh3l022mqb7y16gc426xjlfn4";
+    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.63.2";
+    version = "1.64.2";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix b/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
index 0ca39a728424..b1ab8c57ee8b 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
+++ b/nixpkgs/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 = "0pczrbifjgm905371i8c6bk90ka291cmny6hr1nzfix7bn5psjx0";
-    x86_64-darwin = "12g2jlrhng3i56a4v9jf7nrj045jivnfdx4dhka1fiv60nn4gc46";
-    aarch64-linux = "1bhhz4yvmk3zqljy3b77hlsxbwm2l675pslhwr44p6fb4hmn8fai";
-    armv7l-linux = "15nbskq92b85zdyg7pgagi9mqhnbyisfkipqb3brc2rvmyxpzclb";
+    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.63.2";
+    version = "1.64.2";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/nixpkgs/pkgs/applications/editors/wxhexeditor/default.nix b/nixpkgs/pkgs/applications/editors/wxhexeditor/default.nix
index 09037b2f0c3c..c769ab426312 100644
--- a/nixpkgs/pkgs/applications/editors/wxhexeditor/default.nix
+++ b/nixpkgs/pkgs/applications/editors/wxhexeditor/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, wxGTK, autoconf, automake, libtool, python, gettext }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, wxGTK, autoconf, automake, libtool, python2, gettext }:
 
 stdenv.mkDerivation rec {
   pname = "wxHexEditor";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "08xnhaif8syv1fa0k6lc3jm7yg2k50b02lyds8w0jyzh4xi5crqj";
   };
 
-  buildInputs = [ wxGTK autoconf automake libtool python gettext ];
+  buildInputs = [ wxGTK autoconf automake libtool python2 gettext ];
 
   preConfigure = "patchShebangs .";
 
diff --git a/nixpkgs/pkgs/applications/editors/xed-editor/default.nix b/nixpkgs/pkgs/applications/editors/xed-editor/default.nix
index b2539e7dac5d..7e36aeccdec7 100644
--- a/nixpkgs/pkgs/applications/editors/xed-editor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/your-editor/default.nix b/nixpkgs/pkgs/applications/editors/your-editor/default.nix
index 4fd6ca0ad864..d00be198c8ff 100644
--- a/nixpkgs/pkgs/applications/editors/your-editor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/ares/default.nix b/nixpkgs/pkgs/applications/emulators/ares/default.nix
index 33a7858455d6..33a7858455d6 100644
--- a/nixpkgs/pkgs/misc/emulators/ares/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/ares/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/ares/fix-ruby.patch b/nixpkgs/pkgs/applications/emulators/ares/fix-ruby.patch
index 01bd57ebaadd..01bd57ebaadd 100644
--- a/nixpkgs/pkgs/misc/emulators/ares/fix-ruby.patch
+++ b/nixpkgs/pkgs/applications/emulators/ares/fix-ruby.patch
diff --git a/nixpkgs/pkgs/misc/emulators/atari++/default.nix b/nixpkgs/pkgs/applications/emulators/atari++/default.nix
index 5e35dcaebd0f..5e35dcaebd0f 100644
--- a/nixpkgs/pkgs/misc/emulators/atari++/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/atari++/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/atari800/default.nix b/nixpkgs/pkgs/applications/emulators/atari800/default.nix
index 37e0d83f1406..37e0d83f1406 100644
--- a/nixpkgs/pkgs/misc/emulators/atari800/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/atari800/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/attract-mode/default.nix b/nixpkgs/pkgs/applications/emulators/attract-mode/default.nix
index 7a3f61fd8dc2..4f560e64a1ab 100644
--- a/nixpkgs/pkgs/misc/emulators/attract-mode/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/bochs/default.nix b/nixpkgs/pkgs/applications/emulators/bochs/default.nix
index 1f02219c8314..1f02219c8314 100644
--- a/nixpkgs/pkgs/applications/virtualization/bochs/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/bochs/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/bsnes-hd/default.nix b/nixpkgs/pkgs/applications/emulators/bsnes-hd/default.nix
index 6494185958c2..6494185958c2 100644
--- a/nixpkgs/pkgs/misc/emulators/bsnes-hd/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/bsnes-hd/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch b/nixpkgs/pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
index d38efbc99bce..d38efbc99bce 100644
--- a/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
+++ b/nixpkgs/pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
diff --git a/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch b/nixpkgs/pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
index 85adb33e3ab4..85adb33e3ab4 100644
--- a/nixpkgs/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
+++ b/nixpkgs/pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
diff --git a/nixpkgs/pkgs/misc/emulators/caprice32/default.nix b/nixpkgs/pkgs/applications/emulators/caprice32/default.nix
index 6c2932f7e10b..6c2932f7e10b 100644
--- a/nixpkgs/pkgs/misc/emulators/caprice32/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/caprice32/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/caprice32/string.patch b/nixpkgs/pkgs/applications/emulators/caprice32/string.patch
index fabbbd80d5d3..fabbbd80d5d3 100644
--- a/nixpkgs/pkgs/misc/emulators/caprice32/string.patch
+++ b/nixpkgs/pkgs/applications/emulators/caprice32/string.patch
diff --git a/nixpkgs/pkgs/misc/emulators/ccemux/default.nix b/nixpkgs/pkgs/applications/emulators/ccemux/default.nix
index 11f24d59e5c3..11f24d59e5c3 100644
--- a/nixpkgs/pkgs/misc/emulators/ccemux/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/ccemux/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix b/nixpkgs/pkgs/applications/emulators/cdemu/analyzer.nix
index 21ec032f5cca..338c64a24b81 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/nixpkgs/pkgs/applications/emulators/cdemu/analyzer.nix
@@ -2,7 +2,7 @@
 , python3Packages, gtk3, glib, libxml2, gnuplot, gnome, gdk-pixbuf, librsvg, intltool, libmirage }:
 let pkg = import ./base.nix {
   version = "3.2.5";
-  pkgName = "image-analyzer";
+  pname = "image-analyzer";
   pkgSha256 = "00906lky0z1m0bdqnjmzxgcb19dzvljhddhh42lixyr53sjp94cc";
 };
 in callPackage pkg {
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/base.nix b/nixpkgs/pkgs/applications/emulators/cdemu/base.nix
index 1754f2ad4bbc..9464bde70bf7 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/base.nix
+++ b/nixpkgs/pkgs/applications/emulators/cdemu/base.nix
@@ -1,10 +1,9 @@
-{ pkgName, version, pkgSha256 }:
+{ pname, version, pkgSha256 }:
 { lib, stdenv, fetchurl, cmake, pkg-config, buildInputs, drvParams ? {} }:
-let name = "${pkgName}-${version}";
-in stdenv.mkDerivation ({
-  inherit name buildInputs;
+stdenv.mkDerivation ( rec {
+  inherit pname version buildInputs;
   src = fetchurl {
-    url = "mirror://sourceforge/cdemu/${name}.tar.xz";
+    url = "mirror://sourceforge/cdemu/${pname}-${version}.tar.xz";
     sha256 = pkgSha256;
   };
   nativeBuildInputs = [ pkg-config cmake ];
@@ -14,7 +13,7 @@ in stdenv.mkDerivation ({
     sourceRoot="`pwd`"
   '';
   configurePhase = ''
-    cmake ../${name} -DCMAKE_INSTALL_PREFIX=$out -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON
+    cmake ../${pname}-${version} -DCMAKE_INSTALL_PREFIX=$out -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON
   '';
   meta = with lib; {
     description = "A suite of tools for emulating optical drives and discs";
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/client.nix b/nixpkgs/pkgs/applications/emulators/cdemu/client.nix
index 0572dda59546..06604e3eae99 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
+++ b/nixpkgs/pkgs/applications/emulators/cdemu/client.nix
@@ -1,7 +1,7 @@
 { callPackage, python3Packages, intltool, makeWrapper }:
 let pkg = import ./base.nix {
   version = "3.2.5";
-  pkgName = "cdemu-client";
+  pname = "cdemu-client";
   pkgSha256 = "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7";
 };
 in callPackage pkg {
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix b/nixpkgs/pkgs/applications/emulators/cdemu/daemon.nix
index 4fc3ea211993..3df9e4ad5437 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/nixpkgs/pkgs/applications/emulators/cdemu/daemon.nix
@@ -1,7 +1,7 @@
 { callPackage, glib, libao, intltool, libmirage }:
 let pkg = import ./base.nix {
   version = "3.2.5";
-  pkgName = "cdemu-daemon";
+  pname = "cdemu-daemon";
   pkgSha256 = "16g6fv1lxkdmbsy6zh5sj54dvgwvm900fd18aq609yg8jnqm644d";
 };
 in callPackage pkg {
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix b/nixpkgs/pkgs/applications/emulators/cdemu/gui.nix
index 6f5313c4cca7..15e595a61729 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
+++ b/nixpkgs/pkgs/applications/emulators/cdemu/gui.nix
@@ -3,7 +3,7 @@
 let
   pkg = import ./base.nix {
     version = "3.2.5";
-    pkgName = "gcdemu";
+    pname = "gcdemu";
     pkgSha256 = "1nvpbq4mz8caw91q5ny9gf206g9bypavxws9nxyfcanfkc4zfkl4";
   };
   inherit (python3Packages) python pygobject3;
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix b/nixpkgs/pkgs/applications/emulators/cdemu/libmirage.nix
index 0025226d2087..7016a42d247b 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/nixpkgs/pkgs/applications/emulators/cdemu/libmirage.nix
@@ -4,7 +4,7 @@
 
 let pkg = import ./base.nix {
   version = "3.2.5";
-  pkgName = "libmirage";
+  pname = "libmirage";
   pkgSha256 = "0f8i2ha44rykkk3ac2q8zsw3y1zckw6qnf6zvkyrj3qqbzhrf3fm";
 };
 in callPackage pkg {
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix b/nixpkgs/pkgs/applications/emulators/cdemu/vhba.nix
index 6e7cb08e449a..aeadcf5c1c1d 100644
--- a/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/nixpkgs/pkgs/applications/emulators/cdemu/vhba.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vhba";
-  version = "20211023";
+  version = "20211218";
 
   src  = fetchurl {
     url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.xz";
-    sha256 = "sha256-YAh7qqkozvoG1WhHBv7z1IcSrP75LLMq/FB6sZrevxA=";
+    sha256 = "sha256-csWowcRSgF5M74yv787MLSXOGXrkxnODCCgC5a3Nd7Y=";
   };
 
   makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
diff --git a/nixpkgs/pkgs/misc/emulators/cen64/default.nix b/nixpkgs/pkgs/applications/emulators/cen64/default.nix
index ddf455473378..ddf455473378 100644
--- a/nixpkgs/pkgs/misc/emulators/cen64/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/cen64/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/citra/default.nix b/nixpkgs/pkgs/applications/emulators/citra/default.nix
index 92d0f5b1d364..92d0f5b1d364 100644
--- a/nixpkgs/pkgs/misc/emulators/citra/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/citra/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/commanderx16/emulator.nix b/nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix
index 73442215ff1e..73442215ff1e 100644
--- a/nixpkgs/pkgs/misc/emulators/commanderx16/emulator.nix
+++ b/nixpkgs/pkgs/applications/emulators/commanderx16/emulator.nix
diff --git a/nixpkgs/pkgs/misc/emulators/commanderx16/rom.nix b/nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix
index 5da77ebceefe..5da77ebceefe 100644
--- a/nixpkgs/pkgs/misc/emulators/commanderx16/rom.nix
+++ b/nixpkgs/pkgs/applications/emulators/commanderx16/rom.nix
diff --git a/nixpkgs/pkgs/misc/emulators/commanderx16/run.nix b/nixpkgs/pkgs/applications/emulators/commanderx16/run.nix
index 1f14fdb223c7..1f14fdb223c7 100644
--- a/nixpkgs/pkgs/misc/emulators/commanderx16/run.nix
+++ b/nixpkgs/pkgs/applications/emulators/commanderx16/run.nix
diff --git a/nixpkgs/pkgs/misc/emulators/craftos-pc/default.nix b/nixpkgs/pkgs/applications/emulators/craftos-pc/default.nix
index 3bc9e0b81cc0..3bc9e0b81cc0 100644
--- a/nixpkgs/pkgs/misc/emulators/craftos-pc/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/craftos-pc/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/darcnes/default.nix b/nixpkgs/pkgs/applications/emulators/darcnes/default.nix
index 7919e0a9009c..7919e0a9009c 100644
--- a/nixpkgs/pkgs/misc/emulators/darcnes/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/darcnes/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/darcnes/label.patch b/nixpkgs/pkgs/applications/emulators/darcnes/label.patch
index 612aa1e3911e..612aa1e3911e 100644
--- a/nixpkgs/pkgs/misc/emulators/darcnes/label.patch
+++ b/nixpkgs/pkgs/applications/emulators/darcnes/label.patch
diff --git a/nixpkgs/pkgs/misc/emulators/desmume/default.nix b/nixpkgs/pkgs/applications/emulators/desmume/default.nix
index 49cb2498e64f..49cb2498e64f 100644
--- a/nixpkgs/pkgs/misc/emulators/desmume/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/desmume/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/dgen-sdl/default.nix b/nixpkgs/pkgs/applications/emulators/dgen-sdl/default.nix
index e56ca12a4e96..e56ca12a4e96 100644
--- a/nixpkgs/pkgs/misc/emulators/dgen-sdl/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/dgen-sdl/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/dlx/default.nix b/nixpkgs/pkgs/applications/emulators/dlx/default.nix
index 9573dd6d48dc..9573dd6d48dc 100644
--- a/nixpkgs/pkgs/misc/emulators/dlx/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/dlx/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix b/nixpkgs/pkgs/applications/emulators/dolphin-emu/default.nix
index c2d73d3e7fff..c2d73d3e7fff 100644
--- a/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/dolphin-emu/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix b/nixpkgs/pkgs/applications/emulators/dolphin-emu/master.nix
index 1afa97611719..56e107300b54 100644
--- a/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/dolphin-emu/primehack.nix b/nixpkgs/pkgs/applications/emulators/dolphin-emu/primehack.nix
index 90510d645226..90510d645226 100644
--- a/nixpkgs/pkgs/misc/emulators/dolphin-emu/primehack.nix
+++ b/nixpkgs/pkgs/applications/emulators/dolphin-emu/primehack.nix
diff --git a/nixpkgs/pkgs/applications/emulators/dosbox-staging/default.nix b/nixpkgs/pkgs/applications/emulators/dosbox-staging/default.nix
new file mode 100644
index 000000000000..438849e7fd8a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/emulators/dosbox/default.nix b/nixpkgs/pkgs/applications/emulators/dosbox/default.nix
new file mode 100644
index 000000000000..383e943ff246
--- /dev/null
+++ b/nixpkgs/pkgs/applications/emulators/dosbox/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, fetchurl
+, SDL
+, SDL_net
+, SDL_sound
+, copyDesktopItems
+, graphicsmagick
+, libGL
+, libGLU
+, libpng
+, makeDesktopItem
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dosbox";
+  version = "0.74-3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dosbox/dosbox-${version}.tar.gz";
+    hash = "sha256-wNE91+0u02O2jeYVR1eB6JHNWC6BYrXDZpE3UCIiJgo=";
+  };
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    graphicsmagick
+  ];
+
+  buildInputs = [
+    SDL
+    SDL_net
+    SDL_sound
+    libGL
+    libGLU
+    libpng
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "dosbox";
+      exec = "dosbox";
+      icon = "dosbox";
+      comment = "x86 dos emulator";
+      desktopName = "DOSBox";
+      genericName = "DOS emulator";
+      categories = "Emulator;Game;";
+    })
+  ];
+
+  postInstall = ''
+     mkdir -p $out/share/icons/hicolor/256x256/apps
+     gm convert src/dosbox.ico $out/share/icons/hicolor/256x256/apps/dosbox.png
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "http://www.dosbox.com/";
+    description = "A DOS emulator";
+    longDescription = ''
+      DOSBox is an emulator that recreates a MS-DOS compatible environment
+      (complete with Sound, Input, Graphics and even basic networking). This
+      environment is complete enough to run many classic MS-DOS games completely
+      unmodified. In order to utilize all of DOSBox's features you need to first
+      understand some basic concepts about the MS-DOS environment.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ matthewbauer ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/duckstation/default.nix b/nixpkgs/pkgs/applications/emulators/duckstation/default.nix
index bbe4819246a2..8e4d909a724a 100644
--- a/nixpkgs/pkgs/misc/emulators/duckstation/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/duckstation/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "duckstation";
-  version = "0.pre+date=2021-12-16";
+  version = "0.pre+date=2022-01-18";
 
   src = fetchFromGitHub {
     owner = "stenzek";
     repo = pname;
-    rev = "59cb7c03432f5f8d9f6283c71a34825d05e118c6";
-    sha256 = "sha256-vF3YEpicbwCtR6QW2huNk0+pJ7BBjn/x9/Ae1c00gN4=";
+    rev = "51041e47f70123eda41d999701f5651830a0a95e";
+    sha256 = "sha256-nlF6ctDU8KCK7MN2pniPLLqUbPUygX9rl0hjzVQ+mPo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/virtualization/dynamips/default.nix b/nixpkgs/pkgs/applications/emulators/dynamips/default.nix
index 7f3320101530..26ff779ba05a 100644
--- a/nixpkgs/pkgs/applications/virtualization/dynamips/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/emu2/default.nix b/nixpkgs/pkgs/applications/emulators/emu2/default.nix
index 7949a3f2b051..7949a3f2b051 100644
--- a/nixpkgs/pkgs/misc/emulators/emu2/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/emu2/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/emulationstation/default.nix b/nixpkgs/pkgs/applications/emulators/emulationstation/default.nix
index 4cb5ca9ec2e6..4cb5ca9ec2e6 100644
--- a/nixpkgs/pkgs/misc/emulators/emulationstation/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/emulationstation/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/epsxe/default.nix b/nixpkgs/pkgs/applications/emulators/epsxe/default.nix
index f39c2ae74ac4..f39c2ae74ac4 100644
--- a/nixpkgs/pkgs/misc/emulators/epsxe/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/epsxe/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/fakenes/build.patch b/nixpkgs/pkgs/applications/emulators/fakenes/build.patch
index 90799d977a14..90799d977a14 100644
--- a/nixpkgs/pkgs/misc/emulators/fakenes/build.patch
+++ b/nixpkgs/pkgs/applications/emulators/fakenes/build.patch
diff --git a/nixpkgs/pkgs/misc/emulators/fakenes/default.nix b/nixpkgs/pkgs/applications/emulators/fakenes/default.nix
index 6bc4b1480ffc..6bc4b1480ffc 100644
--- a/nixpkgs/pkgs/misc/emulators/fakenes/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/fakenes/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/fceux/default.nix b/nixpkgs/pkgs/applications/emulators/fceux/default.nix
index 73426401eca9..9289fb081f01 100644
--- a/nixpkgs/pkgs/misc/emulators/fceux/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/fceux/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fceux";
-  version = "2.5.0";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
-    owner = "TASVideos";
+    owner = "TASEmulators";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-k9GkG+HLscSv9Ar58gdj4+WvXRchGqeDcvgiKyxEMHs=";
+    sha256 = "sha256-yQX58m/sMW/8Jr5cm2SrVXTiF7qyZOgOZg1v0qEyiLw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix b/nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix
index 8a759d005829..8a759d005829 100644
--- a/nixpkgs/pkgs/misc/emulators/firebird-emu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix
diff --git a/nixpkgs/pkgs/applications/emulators/fs-uae/default.nix b/nixpkgs/pkgs/applications/emulators/fs-uae/default.nix
new file mode 100644
index 000000000000..4bd67908a787
--- /dev/null
+++ b/nixpkgs/pkgs/applications/emulators/fs-uae/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, SDL2
+, autoreconfHook
+, freetype
+, gettext
+, glib
+, gtk2
+, libGL
+, libGLU
+, libmpeg2
+, lua
+, openal
+, pkg-config
+, zip
+, zlib
+}:
+
+
+stdenv.mkDerivation rec {
+  pname = "fs-uae";
+  version = "3.1.66";
+
+  src = fetchFromGitHub {
+    owner = "FrodeSolheim";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-zPVRPazelmNaxcoCStB0j9b9qwQDTgv3O7Bg3VlW9ys=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    SDL2
+    freetype
+    gettext
+    glib
+    gtk2
+    libGL
+    libGLU
+    libmpeg2
+    lua
+    openal
+    zip
+    zlib
+  ];
+
+  meta = with lib; {
+    homepage = "https://fs-uae.net";
+    description = "An accurate, customizable Amiga Emulator";
+    longDescription = ''
+      FS-UAE integrates the most accurate Amiga emulation code available
+      from WinUAE. FS-UAE emulates A500, A500+, A600, A1200, A1000, A3000
+      and A4000 models, but you can tweak the hardware configuration and
+      create customized Amigas.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/fs-uae-launcher/default.nix b/nixpkgs/pkgs/applications/emulators/fs-uae/launcher.nix
index 9416e92e2b02..afe12aab0c83 100644
--- a/nixpkgs/pkgs/misc/emulators/fs-uae-launcher/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/fs-uae/launcher.nix
@@ -1,5 +1,9 @@
-{ stdenv, lib, fetchurl, makeWrapper, python3, gettext
-, pyqt5, setuptools, requests
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, makeWrapper
+, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -11,18 +15,29 @@ stdenv.mkDerivation rec {
     sha256 = "1dknra4ngz7bpppwqghmza1q68pn1yaw54p9ba0f42zwp427ly97";
   };
 
+  nativeBuildInputs = [
+    gettext
+    makeWrapper
+    python3
+  ];
+
+  buildInputs = with python3.pkgs; [
+    pyqt5
+    requests
+    setuptools
+  ];
+
   makeFlags = [ "prefix=$(out)" ];
-  nativeBuildInputs = [ makeWrapper python3 gettext ];
-  buildInputs = [ pyqt5 setuptools requests ];
+
   postInstall = ''
     wrapProgram $out/bin/fs-uae-launcher --set PYTHONPATH "$PYTHONPATH"
   '';
 
-  meta = {
+  meta = with lib; {
+    homepage = "https://fs-uae.net";
     description = "Graphical front-end for the FS-UAE emulator";
     license = lib.licenses.gpl2Plus;
-    homepage = "https://fs-uae.net";
-    maintainers = with lib; [ maintainers.sander ];
+    maintainers = with  maintainers; [ sander AndersonTorres ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix b/nixpkgs/pkgs/applications/emulators/fuse-emulator/default.nix
index 35e28ba55f6a..35e28ba55f6a 100644
--- a/nixpkgs/pkgs/misc/emulators/fuse-emulator/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/fuse-emulator/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix b/nixpkgs/pkgs/applications/emulators/gens-gs/default.nix
index 0fbd12fc3651..0fbd12fc3651 100644
--- a/nixpkgs/pkgs/misc/emulators/gens-gs/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/gens-gs/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch b/nixpkgs/pkgs/applications/emulators/gxemul/0001-fix-attributes.patch
index 3ed9cabc7ad2..3ed9cabc7ad2 100644
--- a/nixpkgs/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch
+++ b/nixpkgs/pkgs/applications/emulators/gxemul/0001-fix-attributes.patch
diff --git a/nixpkgs/pkgs/misc/emulators/gxemul/default.nix b/nixpkgs/pkgs/applications/emulators/gxemul/default.nix
index cacb521c2fbb..cacb521c2fbb 100644
--- a/nixpkgs/pkgs/misc/emulators/gxemul/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/gxemul/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/hatari/default.nix b/nixpkgs/pkgs/applications/emulators/hatari/default.nix
index de98278b8325..de98278b8325 100644
--- a/nixpkgs/pkgs/misc/emulators/hatari/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/hatari/default.nix
diff --git a/nixpkgs/pkgs/applications/virtualization/hercules/default.nix b/nixpkgs/pkgs/applications/emulators/hercules/default.nix
index f33055baacbc..67506d36b63c 100644
--- a/nixpkgs/pkgs/applications/virtualization/hercules/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/higan/001-include-cmath.patch b/nixpkgs/pkgs/applications/emulators/higan/001-include-cmath.patch
index 67644e656aa7..67644e656aa7 100644
--- a/nixpkgs/pkgs/misc/emulators/higan/001-include-cmath.patch
+++ b/nixpkgs/pkgs/applications/emulators/higan/001-include-cmath.patch
diff --git a/nixpkgs/pkgs/misc/emulators/higan/002-sips-to-png2icns.patch b/nixpkgs/pkgs/applications/emulators/higan/002-sips-to-png2icns.patch
index 0585c8a38c72..0585c8a38c72 100644
--- a/nixpkgs/pkgs/misc/emulators/higan/002-sips-to-png2icns.patch
+++ b/nixpkgs/pkgs/applications/emulators/higan/002-sips-to-png2icns.patch
diff --git a/nixpkgs/pkgs/misc/emulators/higan/default.nix b/nixpkgs/pkgs/applications/emulators/higan/default.nix
index 558cb53c3d5d..c5f38a040c1f 100644
--- a/nixpkgs/pkgs/misc/emulators/higan/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/higan/default.nix
@@ -17,10 +17,7 @@
 , udev
 # Darwin dependencies
 , libicns
-, Carbon
-, Cocoa
-, OpenAL
-, OpenGL
+, darwin
 }:
 
 stdenv.mkDerivation rec {
@@ -54,12 +51,13 @@ stdenv.mkDerivation rec {
     libpulseaudio
     openal
     udev
-  ] ++ lib.optionals stdenv.isDarwin [
+  ]
+  ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     Carbon
     Cocoa
     OpenAL
     OpenGL
-  ];
+  ]);
 
   patches = [
     # Includes cmath header
@@ -151,6 +149,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
 # TODO: select between Qt, GTK2 and GTK3
diff --git a/nixpkgs/pkgs/misc/emulators/kega-fusion/default.nix b/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
index e8feb1ea7ed5..e8feb1ea7ed5 100644
--- a/nixpkgs/pkgs/misc/emulators/kega-fusion/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/lambda-delta/default.nix b/nixpkgs/pkgs/applications/emulators/lambda-delta/default.nix
index a17a0eadfd5b..a17a0eadfd5b 100644
--- a/nixpkgs/pkgs/misc/emulators/lambda-delta/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/lambda-delta/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/libdsk/default.nix b/nixpkgs/pkgs/applications/emulators/libdsk/default.nix
index 9ad20275489b..247aef118e8e 100644
--- a/nixpkgs/pkgs/misc/emulators/libdsk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/maiko/default.nix b/nixpkgs/pkgs/applications/emulators/maiko/default.nix
index e78b680d617a..e78b680d617a 100644
--- a/nixpkgs/pkgs/misc/emulators/maiko/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/maiko/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/mame/default.nix b/nixpkgs/pkgs/applications/emulators/mame/default.nix
index e0915703003a..e0915703003a 100644
--- a/nixpkgs/pkgs/misc/emulators/mame/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/mame/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/mame/emuopts.patch b/nixpkgs/pkgs/applications/emulators/mame/emuopts.patch
index b85291f52f74..b85291f52f74 100644
--- a/nixpkgs/pkgs/misc/emulators/mame/emuopts.patch
+++ b/nixpkgs/pkgs/applications/emulators/mame/emuopts.patch
diff --git a/nixpkgs/pkgs/misc/emulators/mednafen/default.nix b/nixpkgs/pkgs/applications/emulators/mednafen/default.nix
index f76ddb78bd56..235386cba258 100644
--- a/nixpkgs/pkgs/misc/emulators/mednafen/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/mednafen/default.nix
@@ -1,28 +1,46 @@
-{ 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
+}:
 
 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
+    alsa-lib
+    flac
     freeglut
-    libGLU libGL
+    libGL
+    libGLU
+    libX11
     libcdio
     libjack2
-    alsa-lib
     libsamplerate
     libsndfile
-    libX11
-    SDL2
-    SDL2_net
     zlib
   ];
 
@@ -34,6 +52,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,8 +85,7 @@ 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;
   };
diff --git a/nixpkgs/pkgs/misc/emulators/mednafen/server.nix b/nixpkgs/pkgs/applications/emulators/mednafen/server.nix
index 24c13bf0228c..24c13bf0228c 100644
--- a/nixpkgs/pkgs/misc/emulators/mednafen/server.nix
+++ b/nixpkgs/pkgs/applications/emulators/mednafen/server.nix
diff --git a/nixpkgs/pkgs/misc/emulators/mednaffe/default.nix b/nixpkgs/pkgs/applications/emulators/mednaffe/default.nix
index 4874d5efee7a..4874d5efee7a 100644
--- a/nixpkgs/pkgs/misc/emulators/mednaffe/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/mednaffe/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/melonDS/default.nix b/nixpkgs/pkgs/applications/emulators/melonDS/default.nix
index 3e30be8c2a3f..3e30be8c2a3f 100644
--- a/nixpkgs/pkgs/misc/emulators/melonDS/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/melonDS/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/mgba/default.nix b/nixpkgs/pkgs/applications/emulators/mgba/default.nix
index f6b9c11ffe39..d8defe6f2e96 100644
--- a/nixpkgs/pkgs/misc/emulators/mgba/default.nix
+++ b/nixpkgs/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
diff --git a/nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix b/nixpkgs/pkgs/applications/emulators/mupen64plus/default.nix
index f5d17d9d3951..f5d17d9d3951 100644
--- a/nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/mupen64plus/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/nestopia/build-fix.patch b/nixpkgs/pkgs/applications/emulators/nestopia/build-fix.patch
index a7d82ead15ca..a7d82ead15ca 100644
--- a/nixpkgs/pkgs/misc/emulators/nestopia/build-fix.patch
+++ b/nixpkgs/pkgs/applications/emulators/nestopia/build-fix.patch
diff --git a/nixpkgs/pkgs/misc/emulators/nestopia/default.nix b/nixpkgs/pkgs/applications/emulators/nestopia/default.nix
index fa55c2e9635d..fa55c2e9635d 100644
--- a/nixpkgs/pkgs/misc/emulators/nestopia/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/nestopia/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/nestopia/gcc6.patch b/nixpkgs/pkgs/applications/emulators/nestopia/gcc6.patch
index 65dcc72c0c25..65dcc72c0c25 100644
--- a/nixpkgs/pkgs/misc/emulators/nestopia/gcc6.patch
+++ b/nixpkgs/pkgs/applications/emulators/nestopia/gcc6.patch
diff --git a/nixpkgs/pkgs/misc/emulators/np2kai/default.nix b/nixpkgs/pkgs/applications/emulators/np2kai/default.nix
index 0ed47af8f5bf..0ed47af8f5bf 100644
--- a/nixpkgs/pkgs/misc/emulators/np2kai/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/np2kai/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/oberon-risc-emu/default.nix b/nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix
index 749e3549bf80..749e3549bf80 100644
--- a/nixpkgs/pkgs/misc/emulators/oberon-risc-emu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/openmsx/custom-nix.mk b/nixpkgs/pkgs/applications/emulators/openmsx/custom-nix.mk
index 9098762e40d5..9098762e40d5 100644
--- a/nixpkgs/pkgs/misc/emulators/openmsx/custom-nix.mk
+++ b/nixpkgs/pkgs/applications/emulators/openmsx/custom-nix.mk
diff --git a/nixpkgs/pkgs/misc/emulators/openmsx/default.nix b/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
index f054b954b59b..f054b954b59b 100644
--- a/nixpkgs/pkgs/misc/emulators/openmsx/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/pcem/default.nix b/nixpkgs/pkgs/applications/emulators/pcem/default.nix
index 2e6aa683e4d3..2e6aa683e4d3 100644
--- a/nixpkgs/pkgs/misc/emulators/pcem/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/pcem/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix b/nixpkgs/pkgs/applications/emulators/pcsx2/default.nix
index 2e22e7d9053a..2e22e7d9053a 100644
--- a/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/pcsx2/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch b/nixpkgs/pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
index 0edc6281a7ef..0edc6281a7ef 100644
--- a/nixpkgs/pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
+++ b/nixpkgs/pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
diff --git a/nixpkgs/pkgs/misc/emulators/pcsxr/default.nix b/nixpkgs/pkgs/applications/emulators/pcsxr/default.nix
index e3126efe82db..e3126efe82db 100644
--- a/nixpkgs/pkgs/misc/emulators/pcsxr/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/pcsxr/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/pcsxr/uncompress2.patch b/nixpkgs/pkgs/applications/emulators/pcsxr/uncompress2.patch
index 356868ce7a8b..356868ce7a8b 100644
--- a/nixpkgs/pkgs/misc/emulators/pcsxr/uncompress2.patch
+++ b/nixpkgs/pkgs/applications/emulators/pcsxr/uncompress2.patch
diff --git a/nixpkgs/pkgs/misc/emulators/ppsspp/default.nix b/nixpkgs/pkgs/applications/emulators/ppsspp/default.nix
index 124b8cb8e690..b84d18a4e7a0 100644
--- a/nixpkgs/pkgs/misc/emulators/ppsspp/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/ppsspp/default.nix
@@ -1,6 +1,5 @@
 { mkDerivation
 , fetchFromGitHub
-, fetchpatch
 , SDL2
 , cmake
 , ffmpeg
@@ -17,25 +16,16 @@
 
 mkDerivation rec {
   pname = "ppsspp";
-  version = "1.11";
+  version = "1.12.3";
 
   src = fetchFromGitHub {
     owner = "hrydgard";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-vfp/vacIItlPP5dR7jzDT7oOUNFnjvvdR46yi79EJKU=";
+    sha256 = "sha256-S16rTB0svksW5MwrPV/+qpTK4uKZ7mFcmbOyEmMmzhY=";
   };
 
-  patches = [
-     # fix compability with ffmpeg 4.4, remove on next release after 1.11
-    (fetchpatch {
-      name = "fix_ffmpeg_4.4.patch";
-      url = "https://patch-diff.githubusercontent.com/raw/hrydgard/ppsspp/pull/14176.patch";
-      sha256 = "sha256-ecDoOydaLfL6+eFpahcO1TnRl866mZZVHlr6Qrib1mo=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace git-version.cmake --replace unknown ${src.rev}
     substituteInPlace UI/NativeApp.cpp --replace /usr/share $out/share
diff --git a/nixpkgs/pkgs/misc/emulators/proton-caller/default.nix b/nixpkgs/pkgs/applications/emulators/proton-caller/default.nix
index d10c43642325..d10c43642325 100644
--- a/nixpkgs/pkgs/misc/emulators/proton-caller/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/proton-caller/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/punes/default.nix b/nixpkgs/pkgs/applications/emulators/punes/default.nix
index 860e90d23c33..9b147de4fa93 100644
--- a/nixpkgs/pkgs/misc/emulators/punes/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/punes/default.nix
@@ -2,7 +2,8 @@
 , stdenv
 , lib
 , fetchFromGitHub
-, unstableGitUpdater
+, fetchpatch
+, nix-update-script
 , qtbase
 , qtsvg
 , qttools
@@ -19,15 +20,25 @@
 
 mkDerivation rec {
   pname = "punes";
-  version = "unstable-2021-09-11";
+  version = "0.108";
 
   src = fetchFromGitHub {
     owner = "punesemu";
     repo = "puNES";
-    rev = "60ca36fcb066c41d0b3f2b550ca94dc7d12d84d6";
-    sha256 = "JOi6AE1bpAc/wj9fQqHrUNc6vceeUyP0phT2f9kcJTY=";
+    rev = "v${version}";
+    sha256 = "0inkwmvbr2w4addmgk9r4f13yismang9ylfgflhh9352lf0lirv8";
   };
 
+  patches = [
+    # Drop when version > 0.108
+    # https://github.com/punesemu/puNES/issues/185
+    (fetchpatch {
+      name = "0001-punes-Fixed-make-install.patch";
+      url = "https://github.com/punesemu/puNES/commit/902434f50398ebcda0786ade4b28a0496084810e.patch";
+      sha256 = "1a3052n3n1qipi4bd7f7gq4zl5jjjzzzpbijdisis2vxvhnfvcim";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace configure.ac \
       --replace '`$PKG_CONFIG --variable=host_bins Qt5Core`/lrelease' '${qttools.dev}/bin/lrelease'
@@ -49,8 +60,8 @@ mkDerivation rec {
     "--with-ffmpeg"
   ];
 
-  passthru.updateScript = unstableGitUpdater {
-    url = "https://github.com/punesemu/puNES.git";
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/misc/emulators/py65/default.nix b/nixpkgs/pkgs/applications/emulators/py65/default.nix
index 66ba3cdf4b41..66ba3cdf4b41 100644
--- a/nixpkgs/pkgs/misc/emulators/py65/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/py65/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/qmc2/default.nix b/nixpkgs/pkgs/applications/emulators/qmc2/default.nix
index 6c6a52fc65ca..6c6a52fc65ca 100644
--- a/nixpkgs/pkgs/misc/emulators/qmc2/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/qmc2/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/reicast/default.nix b/nixpkgs/pkgs/applications/emulators/reicast/default.nix
index f9e8e4d69376..f9e8e4d69376 100644
--- a/nixpkgs/pkgs/misc/emulators/reicast/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/reicast/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/resim/default.nix b/nixpkgs/pkgs/applications/emulators/resim/default.nix
index 6e759bd75522..49d7721174f5 100644
--- a/nixpkgs/pkgs/misc/emulators/resim/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/resim/default.nix
@@ -1,7 +1,8 @@
 { fetchFromGitHub, lib, stdenv, cmake, qt4 }:
 
 stdenv.mkDerivation {
-  name = "resim";
+  pname = "resim";
+  version = "unstable-2016-11-11";
   src = fetchFromGitHub {
     owner = "itszor";
     repo = "resim";
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch b/nixpkgs/pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
index 75018dc8c4d1..75018dc8c4d1 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch b/nixpkgs/pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
index 9aa8db6ab048..9aa8db6ab048 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix b/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
index 09acbca8652d..e0045a3827d1 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
@@ -8,7 +8,6 @@
 , cmake
 , curl
 , fetchFromGitHub
-, fetchpatch
 , ffmpeg
 , fluidsynth
 , gettext
@@ -54,24 +53,22 @@ let
     , description
       # Check https://github.com/libretro/libretro-core-info for license information
     , license
-    , src ? null
+    , src ? (getCoreSrc core)
     , broken ? false
-    , version ? "unstable-2021-12-06"
+    , version ? "unstable-2022-01-21"
     , platforms ? retroarch.meta.platforms
       # The resulting core file is based on core name
       # Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
     , normalizeCore ? true
     , ...
     }@args:
-    lib.makeOverridable stdenv.mkDerivation (
+    stdenv.mkDerivation (
       let
         d2u = if normalizeCore then (lib.replaceChars [ "-" ] [ "_" ]) else (x: x);
-        finalSrc = if src == null then getCoreSrc core else src;
       in
       (rec {
         pname = "libretro-${core}";
-        inherit version;
-        src = finalSrc;
+        inherit version src;
 
         buildInputs = [ zlib ] ++ args.extraBuildInputs or [ ];
         nativeBuildInputs = [ makeWrapper ] ++ args.extraNativeBuildInputs or [ ];
@@ -247,14 +244,6 @@ in
     description = "Port of bsnes to libretro";
     license = lib.licenses.gpl3Only;
     makefile = "Makefile";
-    # https://github.com/libretro/bsnes-libretro/issues/10
-    patches = [
-      (fetchpatch {
-        name = "added-missing-GB_VERSION-define.patch";
-        url = "https://github.com/nE0sIghT/bsnes-libretro/commit/97fd8b486f9a9046277a580b238b6673a98f7f72.patch";
-        sha256 = "sha256-gCiy6sqc9sixT6Appr5ZCfHyBE2jYhPb0KvI63nfmEc=";
-      })
-    ];
   };
 
   bsnes-hd =
@@ -308,13 +297,6 @@ in
 
   citra = mkLibRetroCore {
     core = "citra";
-    # `nix-prefetch-github` doesn't support `deepClone`, necessary for citra
-    # https://github.com/seppeljordan/nix-prefetch-github/issues/41
-    src = fetchFromGitHub {
-      inherit (hashesFile.citra) owner repo rev fetchSubmodules;
-      deepClone = true;
-      sha256 = "sha256-bwnYkMvbtRF5bGZRYVtMWxnCu9P45qeX4+ntOj9eRds=";
-    };
     description = "Port of Citra to libretro";
     license = lib.licenses.gpl2Plus;
     extraNativeBuildInputs = [ cmake pkg-config ];
@@ -331,6 +313,24 @@ in
     postBuild = "cd src/citra_libretro";
   };
 
+  citra-canary = mkLibRetroCore {
+    core = "citra-canary";
+    description = "Port of Citra Canary/Experimental to libretro";
+    license = lib.licenses.gpl2Plus;
+    extraNativeBuildInputs = [ cmake pkg-config ];
+    extraBuildInputs = [ libGLU libGL boost ];
+    makefile = "Makefile";
+    cmakeFlags = [
+      "-DENABLE_LIBRETRO=ON"
+      "-DENABLE_QT=OFF"
+      "-DENABLE_SDL2=OFF"
+      "-DENABLE_WEB_SERVICE=OFF"
+      "-DENABLE_DISCORD_PRESENCE=OFF"
+    ];
+    preConfigure = "sed -e '77d' -i externals/cmake-modules/GetGitRevisionDescription.cmake";
+    postBuild = "cd src/citra_libretro";
+  };
+
   desmume = mkLibRetroCore {
     core = "desmume";
     description = "libretro wrapper for desmume NDS emulator";
@@ -874,6 +874,7 @@ in
       "-DBUILD_SDL=OFF"
       "-DBUILD_SOKOL=OFF"
     ];
+    preConfigure = "cd core";
     postBuild = "cd lib";
   };
 
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/default.nix b/nixpkgs/pkgs/applications/emulators/retroarch/default.nix
index 861fa6a47f6f..2c49874e5446 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/default.nix
@@ -1,13 +1,15 @@
 { lib
 , stdenv
 , enableNvidiaCgToolkit ? false
+, withGamemode ? stdenv.isLinux
 , withVulkan ? stdenv.isLinux
 , alsa-lib
 , AppKit
 , fetchFromGitHub
-, ffmpeg
+, ffmpeg_4
 , Foundation
 , freetype
+, gamemode
 , libdrm
 , libGL
 , libGLU
@@ -26,23 +28,22 @@
 , pkg-config
 , python3
 , SDL2
-, substituteAll
 , udev
 , vulkan-loader
 , wayland
 , which
 }:
 
-with lib;
-
 let
-  version = "1.9.14";
-  libretroSuperSrc = fetchFromGitHub {
+  version = "1.10.0";
+  libretroCoreInfo = fetchFromGitHub {
     owner = "libretro";
     repo = "libretro-core-info";
-    sha256 = "sha256-C2PiBcN5r9NDxFWFE1pytSGR1zq9E5aVt6QUf5aJ7I0=";
+    sha256 = "sha256-3j7fvcfbgyk71MmbUUKYi+/0cpQFNbYXO+DMDUjDqkQ=";
     rev = "v${version}";
   };
+  runtimeLibs = lib.optional withVulkan vulkan-loader
+    ++ lib.optional withGamemode gamemode.lib;
 in
 stdenv.mkDerivation rec {
   pname = "retroarch-bare";
@@ -51,7 +52,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "sha256-H2fCA1sM8FZfVnLxBjnKe7RjHJNAn/Antxlos5oFFSY=";
+    sha256 = "sha256-bpTSzODVRKRs1OW6JafjbU3e/AqdQeGzWcg1lb9SIyo=";
     rev = "v${version}";
   };
 
@@ -70,46 +71,49 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkg-config ] ++
-    optional stdenv.isLinux wayland ++
-    optional withVulkan makeWrapper;
+    lib.optional stdenv.isLinux wayland ++
+    lib.optional (runtimeLibs != [ ]) makeWrapper;
 
-  buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ++
-    optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
-    optional withVulkan vulkan-loader ++
-    optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
-    optionals stdenv.isLinux [
+  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 ] ++
+    lib.optionals stdenv.isLinux [
       alsa-lib
-      libdrm
-      libpulseaudio
-      libv4l
       libX11
       libXdmcp
       libXext
       libXxf86vm
+      libdrm
+      libpulseaudio
+      libv4l
+      libxkbcommon
       mesa
       udev
       wayland
-      libxkbcommon
     ];
 
   enableParallelBuilding = true;
 
   configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" ];
 
-  postInstall = optionalString withVulkan ''
+  postInstall = ''
     mkdir -p $out/share/libretro/info
     # TODO: ideally each core should have its own core information
-    cp -r ${libretroSuperSrc}/* $out/share/libretro/info
-    wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
+    cp -r ${libretroCoreInfo}/* $out/share/libretro/info
+  '' + lib.optionalString (runtimeLibs != [ ]) ''
+    wrapProgram $out/bin/retroarch \
+      --prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs}
   '';
 
   preFixup = "rm $out/bin/retroarch-cg2glsl";
 
-  meta = {
+  meta = with lib; {
     homepage = "https://libretro.com";
     description = "Multi-platform emulator frontend for libretro cores";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
+    changelog = "https://github.com/libretro/RetroArch/blob/v${version}/CHANGES.md";
     maintainers = with maintainers; [ MP2E edwtjo matthewbauer kolbycrouch thiagokokada ];
     # FIXME: exits with error on macOS:
     # No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch b/nixpkgs/pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch
index 34fea554ef71..34fea554ef71 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/fix-config.patch b/nixpkgs/pkgs/applications/emulators/retroarch/fix-config.patch
index 1a71bf43cb11..1a71bf43cb11 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/fix-config.patch
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/fix-config.patch
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/fix-libretro-paths.patch b/nixpkgs/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
index 203ce836533d..203ce836533d 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/fix-libretro-paths.patch
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/hashes.json b/nixpkgs/pkgs/applications/emulators/retroarch/hashes.json
index 2d5e7411b8e4..1280f25047d8 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/hashes.json
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/hashes.json
@@ -3,560 +3,497 @@
         "owner": "libretro",
         "repo": "libretro-atari800",
         "rev": "478a8ec99a7f8436a39d5ac193c5fe313233ee7b",
-        "sha256": "LJpRegJVR2+sS1UmTTpVest0rMrNDBMXmj/jRFVglWI=",
-        "fetchSubmodules": false
+        "sha256": "LJpRegJVR2+sS1UmTTpVest0rMrNDBMXmj/jRFVglWI="
     },
     "beetle-gba": {
         "owner": "libretro",
         "repo": "beetle-gba-libretro",
         "rev": "38182572571a48cb58057cde64b915237c4e2d58",
-        "sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=",
-        "fetchSubmodules": false
+        "sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo="
     },
     "beetle-lynx": {
         "owner": "libretro",
         "repo": "beetle-lynx-libretro",
-        "rev": "24ca629d50de752861684a83cc9bcee96313f9e1",
-        "sha256": "LPt3JT0lyKK73yNIxvR1eUuzOkLKa8IkRA4cchhfljA=",
-        "fetchSubmodules": false
+        "rev": "8930e88a4342945c023cbf713031a65de11a8e75",
+        "sha256": "bg/a+9ZJNTUIuEHKrFIss8sia3JWMWXIXbxha5qKVeI="
     },
     "beetle-ngp": {
         "owner": "libretro",
         "repo": "beetle-ngp-libretro",
         "rev": "f7c393184e5228c3d3807ee74c951c4c549107d8",
-        "sha256": "7vki8VkwOzxwMZcUxekg1DFSskV7VNQ1SRaU3M1xHZ0=",
-        "fetchSubmodules": false
+        "sha256": "7vki8VkwOzxwMZcUxekg1DFSskV7VNQ1SRaU3M1xHZ0="
     },
     "beetle-pce-fast": {
         "owner": "libretro",
         "repo": "beetle-pce-fast-libretro",
-        "rev": "6f63eab86abab335c1e337d4e8c1582bceda5708",
-        "sha256": "QRw7FDd7rOTsTW4qGr2isvFHmobz7GgXUt84q0x2S/c=",
-        "fetchSubmodules": false
+        "rev": "0f43fd4dc406e7da6bbdc13b6eb1c105d6072f8a",
+        "sha256": "u1lOgXEYuGAF4sOLdsBzcA4/A5Yz1b82TjFBiM57yE4="
     },
     "beetle-pcfx": {
         "owner": "libretro",
         "repo": "beetle-pcfx-libretro",
         "rev": "6d2b11e17ad5a95907c983e7c8a70e75508c2d41",
-        "sha256": "WG2YpCYdL/MxW5EbiP2+1VtAjbX7yYDIcLXhb+YySI4=",
-        "fetchSubmodules": false
+        "sha256": "WG2YpCYdL/MxW5EbiP2+1VtAjbX7yYDIcLXhb+YySI4="
     },
     "beetle-psx": {
         "owner": "libretro",
         "repo": "beetle-psx-libretro",
-        "rev": "39be47bc9958258cf3b6f3c68d9485ea99971cf8",
-        "sha256": "q6aKSfG1A2AV2MppZFujDwqqZu26R7b0t9KyAETQTyU=",
-        "fetchSubmodules": false
+        "rev": "297970e4ff080ea80a5670209aeea4fde8059020",
+        "sha256": "6kZher3/+5ywXyC3n9R9JVA4IVLZBaSfAcWEKp2SsDE="
     },
     "beetle-saturn": {
         "owner": "libretro",
         "repo": "beetle-saturn-libretro",
         "rev": "e6ba71f8bcc647b646d94dec812b24d00c41cf3f",
-        "sha256": "tDbV+CsDr4bowBbJ/C8J9scfCryTAXxz58pGaUHU5yU=",
-        "fetchSubmodules": false
+        "sha256": "tDbV+CsDr4bowBbJ/C8J9scfCryTAXxz58pGaUHU5yU="
     },
     "beetle-snes": {
         "owner": "libretro",
         "repo": "beetle-bsnes-libretro",
         "rev": "bc867656d7438aaffc6818b3b92350587bc78a47",
-        "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=",
-        "fetchSubmodules": false
+        "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg="
     },
     "beetle-supergrafx": {
         "owner": "libretro",
         "repo": "beetle-supergrafx-libretro",
-        "rev": "cd800d701f0b8f4dcb1654a5cb5b24ee09dd9257",
-        "sha256": "vnskn2+65cKQjaXO9GJnKNppi8TWHUO+uZdt2BYGN9Y=",
-        "fetchSubmodules": false
+        "rev": "7bae6fb1a238f1e66b129c7c70c7cb6dbdc09fa1",
+        "sha256": "OAJ86XrwjDrgCjrk0RHMn8sHYaJFhJhLaQnhaEVXN38="
     },
     "beetle-vb": {
         "owner": "libretro",
         "repo": "beetle-vb-libretro",
         "rev": "aa77198c6c60b935503b5ea2149b8ff7598344da",
-        "sha256": "ShsMYc2vjDoiN1yCCoSl91P5ecYJDj/V+VWUYuYVxas=",
-        "fetchSubmodules": false
+        "sha256": "ShsMYc2vjDoiN1yCCoSl91P5ecYJDj/V+VWUYuYVxas="
     },
     "beetle-wswan": {
         "owner": "libretro",
         "repo": "beetle-wswan-libretro",
-        "rev": "ea00c1d8eb9894538dd8758975cd9d6ae99ead1e",
-        "sha256": "0ptDbq3X8EGNwPePr4H0VQkgmXXIP50dNpITX8DX6w8=",
-        "fetchSubmodules": false
+        "rev": "5717c101b314f64d4c384c23b1934d09fcbf82bb",
+        "sha256": "Nfezb6hja1qHv1fMGU9HMbbb56GHAfe/zIgRqrzz334="
     },
     "blastem": {
         "owner": "libretro",
         "repo": "blastem",
         "rev": "0786858437ed71996f43b7af0fbe627eb88152fc",
-        "sha256": "uEP5hSgLAle1cLv/EM7D11TJMAggu7pqWxfrUt3rhEg=",
-        "fetchSubmodules": false
+        "sha256": "uEP5hSgLAle1cLv/EM7D11TJMAggu7pqWxfrUt3rhEg="
     },
     "bluemsx": {
         "owner": "libretro",
         "repo": "bluemsx-libretro",
-        "rev": "cfc1df4d026387883f21994bcce603c4a6be8730",
-        "sha256": "ix/AyYNer1R73ZJW1reXyj7geBr3ThrqXf5Ki5yrz9A=",
-        "fetchSubmodules": false
+        "rev": "5dfdb75106e10ef8bc21b8bcea1432ecbd590b2a",
+        "sha256": "0D0xufIt3qmQ+/UjyWynoLyLDSza8cTrFp3UwGWBXko="
     },
     "bsnes": {
         "owner": "libretro",
         "repo": "bsnes-libretro",
-        "rev": "44d97b17d06a10ae17d97a91a48e5acd10ec6db4",
-        "sha256": "VNSeTRryrX2/V38GGXTRLuDEQqDUmX2DUOHAKLxJezU=",
-        "fetchSubmodules": false
+        "rev": "1b2987ab1e9caf5c8d7550da01ffa08edff2f128",
+        "sha256": "l6Jvn0ZgFaKSWjiV2bN9aemxLyfnNEQFc+HS1/MuiaY="
     },
     "bsnes-hd": {
         "owner": "DerKoun",
         "repo": "bsnes-hd",
         "rev": "65f24e56c37f46bb752190024bd4058e64ad77d1",
-        "sha256": "1dk2i71NOLeTTOZjVll8wrkr5dIH5bGSGUeeHqWjZHE=",
-        "fetchSubmodules": false
+        "sha256": "1dk2i71NOLeTTOZjVll8wrkr5dIH5bGSGUeeHqWjZHE="
     },
     "bsnes-mercury": {
         "owner": "libretro",
         "repo": "bsnes-mercury",
         "rev": "d232c6ea90552f5921fec33a06626f08d3e18b24",
-        "sha256": "fpl7hmqz+Ca+9ZeM6E1JSikbiu+NJUU8xXtyl6Dd9Gg=",
-        "fetchSubmodules": false
+        "sha256": "fpl7hmqz+Ca+9ZeM6E1JSikbiu+NJUU8xXtyl6Dd9Gg="
     },
     "citra": {
         "owner": "libretro",
         "repo": "citra",
         "rev": "b1959d07a340bfd9af65ad464fd19eb6799a96ef",
-        "sha256": "Tw6Niba9gsZOMKGaXF9AZ5gdigB0mmFyqoRTMElM/Ps=",
-        "fetchSubmodules": true
+        "sha256": "bwnYkMvbtRF5bGZRYVtMWxnCu9P45qeX4+ntOj9eRds=",
+        "fetchSubmodules": true,
+        "leaveDotGit": true,
+        "deepClone": true
+    },
+    "citra-canary": {
+        "owner": "libretro",
+        "repo": "citra",
+        "rev": "5401990a9be46e4497abc92db3d5f2042674303d",
+        "sha256": "JKKJBa840i7ESwMrB5tKamCBmrYvvoEUdibqxkWg5Gc=",
+        "fetchSubmodules": true,
+        "leaveDotGit": true,
+        "deepClone": true
     },
     "desmume": {
         "owner": "libretro",
         "repo": "desmume",
         "rev": "7ea0fc96804fcd9c8d33e8f76cf64b1be50cc5ea",
-        "sha256": "4S/CirRVOBN6PVbato5X5fu0tBn3Fu5FEAbdf3TBqng=",
-        "fetchSubmodules": false
+        "sha256": "4S/CirRVOBN6PVbato5X5fu0tBn3Fu5FEAbdf3TBqng="
     },
     "desmume2015": {
         "owner": "libretro",
         "repo": "desmume2015",
         "rev": "cd89fb7c48c735cb321311fbce7e6e9889dda1ce",
-        "sha256": "9Ou/n6pxRjJOp/Ybpyg4+Simosj2X26kLZCMEqeVL6U=",
-        "fetchSubmodules": false
+        "sha256": "9Ou/n6pxRjJOp/Ybpyg4+Simosj2X26kLZCMEqeVL6U="
     },
     "dolphin": {
         "owner": "libretro",
         "repo": "dolphin",
-        "rev": "48066c84560322219be4080bca125cc03d48f411",
-        "sha256": "IPKcqges/BX6KFQSirLpmsI2+7/cjcrySK+YWaA1cuo=",
-        "fetchSubmodules": false
+        "rev": "3b19e6d1781584f3e1fd2922b48b8ae6b3bcb686",
+        "sha256": "EcgJhkMzdZfYRwSpU1OcsJqQyq4V8dq5PndVufZFy7k="
     },
     "dosbox": {
         "owner": "libretro",
         "repo": "dosbox-libretro",
         "rev": "aa71b67d54eaaf9e41cdd3cb5153d9cff0ad116e",
-        "sha256": "L0Y67UROjldnXUlLQ+Xbd7RHLb96jDxlB/k+LR9Kbas=",
-        "fetchSubmodules": false
+        "sha256": "L0Y67UROjldnXUlLQ+Xbd7RHLb96jDxlB/k+LR9Kbas="
     },
     "eightyone": {
         "owner": "libretro",
         "repo": "81-libretro",
-        "rev": "7e8153cd5b88cd5cb23fb0c03c04e7c7d8a73159",
-        "sha256": "Y+RU3T4qUmV44IZ5OBNhtC+f/DX6njOCF0tsl8MN4qM=",
-        "fetchSubmodules": false
+        "rev": "86d7d5afe98f16006d4b1fdb99d281f1d7ea6b2f",
+        "sha256": "QN7anzqv1z8SgY8dlkjr8Ns7reGWc7hTneiRmorXZSk="
     },
     "fbalpha2012": {
         "owner": "libretro",
         "repo": "fbalpha2012",
         "rev": "23f98fc7cf4f2f216149c263cf5913d2e28be8d4",
-        "sha256": "dAInW6tTV7oXcPhKMnHWcmQaWQCTqRrYHD2yuaI1I1w=",
-        "fetchSubmodules": false
+        "sha256": "dAInW6tTV7oXcPhKMnHWcmQaWQCTqRrYHD2yuaI1I1w="
     },
     "fbneo": {
         "owner": "libretro",
         "repo": "fbneo",
-        "rev": "8e9f73ab28fc6176f0bde53eac0f0b561b065e16",
-        "sha256": "gv1Yuo0wFB6MmCtnajM71EK2GEzd5X29VYY2yFcB6Uk=",
-        "fetchSubmodules": false
+        "rev": "4ecf2782a4eee042d1e126d1671e5231b6437b6e",
+        "sha256": "15MYI03r45mmRsXCwzWnjfBdtzSaHLp7DfmcACQFTvU="
     },
     "fceumm": {
         "owner": "libretro",
         "repo": "libretro-fceumm",
-        "rev": "02b5bbf26981b5ae0da81a9f312cb51ed64112b8",
-        "sha256": "zsY0RyWLJD2Zf1qDzuMbbNxV630TAIt3KqjLWXR4lgQ=",
-        "fetchSubmodules": false
+        "rev": "eb06d17e7912780a3ee117ae73bc50c3948c761c",
+        "sha256": "aBqskJtK1bFBjwaoo9hilr33fyAWsdj5+hFC3WY3sKk="
     },
     "flycast": {
         "owner": "libretro",
         "repo": "flycast",
-        "rev": "041297cc6c266b1185a4414271a10732c946239c",
-        "sha256": "htuUfzwlSbhh8CxMEeE8HqNqaJupav4cBfXMwMEKim8=",
-        "fetchSubmodules": false
+        "rev": "0d8c6a2e717c002bc76ce26a152353b004fb15e7",
+        "sha256": "t2RGHAyYXeHVqTqqhayOUWx/msFN9q/Z9P2wXJUtQTI="
     },
     "fmsx": {
         "owner": "libretro",
         "repo": "fmsx-libretro",
-        "rev": "cd2d59a9b820a0abf038fa7e279965da34132960",
-        "sha256": "8mOcTTETgDWGDV5q9n3UupMsbPXEqv0AbQGdgOSKfBk=",
-        "fetchSubmodules": false
+        "rev": "dfcda056896576c6a1c75c002a82d0e6c1160ccc",
+        "sha256": "9ANZ1suAQcYOhqSchQ20Yuqvgw06j5Sd3Z1fjrp2UFc="
     },
     "freeintv": {
         "owner": "libretro",
         "repo": "freeintv",
-        "rev": "0058a09492c5c17a4fa59ebb3601ce66844b3b25",
-        "sha256": "DA6eAl9ZR84Ow8rH9q/DVbEU83nmidwMy3kqk+hWWLQ=",
-        "fetchSubmodules": false
+        "rev": "d58caf23ed1438a1db58f8d6ac24ca521b411d3b",
+        "sha256": "nUV+A3Zh66M1K5NDK0ksNF5H1HS3AQdeYLaGfaA34n4="
     },
     "gambatte": {
         "owner": "libretro",
         "repo": "gambatte-libretro",
-        "rev": "eb6f26a57ff6c35154950da20f83ddf1d44d4ca6",
-        "sha256": "boPCbMX1o1i+rL0dnY0M3pzY1D6uzoYRN21C1zXXOJw=",
-        "fetchSubmodules": false
+        "rev": "79bb2e56d034c30d8dcac02b6c34a59ec8fe91bc",
+        "sha256": "H+Hkeep18whaSYbyG8DcaJqsVVu7DEX9T28pkfXfyCg="
     },
     "genesis-plus-gx": {
         "owner": "libretro",
         "repo": "Genesis-Plus-GX",
-        "rev": "8a7d4c87d2e6936d64c1251c6f968a93cc87cce5",
-        "sha256": "SX0jA8VuN4LNVhR/aw3gF0uF7+c9McEiHnNmxbPtE5g=",
-        "fetchSubmodules": false
+        "rev": "88c9ad000ba553b9c819d9eb259f741fabd877bb",
+        "sha256": "8ZCMq8/sk5TqwTNWMfDevZHRPSOM1PJ57kiZZ7qfQxA="
     },
     "gpsp": {
         "owner": "libretro",
         "repo": "gpsp",
-        "rev": "be3fdfd0b4e0529d7e00c4e16eb26d92fe0559a6",
-        "sha256": "GX3iAVNfznxa/3aIHuopFFNsdz2b22BiQyycioH1TGw=",
-        "fetchSubmodules": false
+        "rev": "e554360dd3ed283696fc607877024a219248b735",
+        "sha256": "ImsqB89XmjF8nvs7j8IZVvFltgZRYvF2L7LTcJG/xCU="
     },
     "gw": {
         "owner": "libretro",
         "repo": "gw-libretro",
         "rev": "0f1ccca156388880bf4507ad44741f80945dfc6f",
-        "sha256": "BVpx8pL224J2u9W6UDrxzfEv4qIsh6wrf3bDdd1R850=",
-        "fetchSubmodules": false
+        "sha256": "BVpx8pL224J2u9W6UDrxzfEv4qIsh6wrf3bDdd1R850="
     },
     "handy": {
         "owner": "libretro",
         "repo": "libretro-handy",
-        "rev": "ebcbb8be5d174306ffb091b7657637b910fc35d2",
-        "sha256": "mkPgOFfYDICmFu0nZ+9kfbrmSmPpNdC9lvci0MsXIwo=",
-        "fetchSubmodules": false
+        "rev": "3b02159ba32aa37c1b93d7f7eac56b28e3715645",
+        "sha256": "mBKK+pdWgkxYkV4OOiBrlWbLAMugDX0fd6QRh0D7JYU="
     },
     "hatari": {
         "owner": "libretro",
         "repo": "hatari",
-        "rev": "cea06eebf695b078fadc0e78bb0f2b2baaca799f",
-        "sha256": "Z05IGubwdgg7X/e2ZG49zVfXuITM59HW/1gicdpDXls=",
-        "fetchSubmodules": false
+        "rev": "79d128888ca3efdd27d639a35edf72a9bc81a798",
+        "sha256": "du2xORgAXTSQArqNuFa5gjticgZ+weqySFHVz2Y2qzI="
     },
     "mame": {
         "owner": "libretro",
         "repo": "mame",
-        "rev": "031ac783585e7d5156a6f87a9ba20d88caf94ad6",
-        "sha256": "hLMQw5jvJTxojGwCY7iUDHcJdLZjcLzEDhW576TerJI=",
-        "fetchSubmodules": false
+        "rev": "2f9c793a77222ae46266c71f64d491cf7870dc1e",
+        "sha256": "WAhm6QMMVbnuSIK4PW7Ek+AAkMs7s95gGb6ERzlon0w="
     },
     "mame2000": {
         "owner": "libretro",
         "repo": "mame2000-libretro",
         "rev": "4793742b457945afb74053c8a895e6ff0b36b033",
-        "sha256": "DA9fZTic/jlYzSAIiOjfhohyEyQZiBNdIa8YCZoKZNs=",
-        "fetchSubmodules": false
+        "sha256": "DA9fZTic/jlYzSAIiOjfhohyEyQZiBNdIa8YCZoKZNs="
     },
     "mame2003": {
         "owner": "libretro",
         "repo": "mame2003-libretro",
-        "rev": "80a4ca5c0db69be9fe9b65dcaa7ad45930c989b8",
-        "sha256": "ZViVX+Z40ctxWGiQtfmRUDbUT7EYHqTNDhwWbKBjTEQ=",
-        "fetchSubmodules": false
+        "rev": "dbda6ddacdd8962cfea25000421dba398e551aef",
+        "sha256": "RSL3iZZEJCxOtsJqjnM5ZiT0yM2nAgg/Ujq6FBLMHkk="
     },
     "mame2003-plus": {
         "owner": "libretro",
         "repo": "mame2003-plus-libretro",
-        "rev": "8dc4cfa741db8136e43c4a0eabdc1977fd88ccdb",
-        "sha256": "gcsL2xfF+q5ECN9u4JaKR8rimCXLt/bVSzybLo2ln3Q=",
-        "fetchSubmodules": false
+        "rev": "9c0c954f0f88730f44abdd4d414691fef6b1cd7c",
+        "sha256": "NLdHc0VuZhqQhAzv+8kipc0mhqT2BNaJeLYZUx7DwRU="
     },
     "mame2010": {
         "owner": "libretro",
         "repo": "mame2010-libretro",
         "rev": "932e6f2c4f13b67b29ab33428a4037dee9a236a8",
-        "sha256": "HSZRSnc+0300UE9fPcUOMrXABlxHhTewkFPTqQ4Srxs=",
-        "fetchSubmodules": false
+        "sha256": "HSZRSnc+0300UE9fPcUOMrXABlxHhTewkFPTqQ4Srxs="
     },
     "mame2015": {
         "owner": "libretro",
         "repo": "mame2015-libretro",
-        "rev": "ef41361dc9c88172617f7bbf6cd0ead4516a3c3f",
-        "sha256": "HZrw9KKwYAJyU4NH1BEvuod/TK/nqjN03qJuSX8JP8o=",
-        "fetchSubmodules": false
+        "rev": "e6a7aa4d53726e61498f68d6b8e2c092a2169fa2",
+        "sha256": "IgiLxYYuUIn3YE+kQCXzgshES2VNpUHn0Qjsorw0w/s="
     },
     "mame2016": {
         "owner": "libretro",
         "repo": "mame2016-libretro",
-        "rev": "69711c25c14f990b05fdce87fb92f3b5c312ec1e",
-        "sha256": "QdSgWcZIMDnmYAKAnvwNRPBYRaSMTcRpI7Vd04Xv3Is=",
-        "fetchSubmodules": false
+        "rev": "bcff8046328da388d100b1634718515e1b15415d",
+        "sha256": "XxnX39+0VUbG9TF8+wFEFVxHCm2rzrJsIQryyNsF6zU="
     },
     "melonds": {
         "owner": "libretro",
         "repo": "melonds",
-        "rev": "1ad65728476d7b9594c4ff91a1ba60460a0a30e7",
-        "sha256": "EBV8F2MCmWuxWKMOXipTZKRGHqp8sb/ojK3JpGZe818=",
-        "fetchSubmodules": false
+        "rev": "0053daa700018657bf2e47562b3b4eb86f9b9d03",
+        "sha256": "K6ZYuk7cE+ioq1rLRyAKNQxddCYIOXLU5SXT7sYgGnc="
     },
     "mesen": {
         "owner": "libretro",
         "repo": "mesen",
         "rev": "094d82bf724448426acbaad45e83bc38994e32f6",
-        "sha256": "9+AqZRv8lugNNa+ZZzIPJNO87J1aBUEiOggL8aYno1M=",
-        "fetchSubmodules": false
+        "sha256": "9+AqZRv8lugNNa+ZZzIPJNO87J1aBUEiOggL8aYno1M="
     },
     "mesen-s": {
         "owner": "libretro",
         "repo": "mesen-s",
         "rev": "42eb0e8ad346608dae86feb8a04833d16ad21541",
-        "sha256": "q6zeoNiZtFy8ZYls9/E+O7o9BYTcVcmYjbJA48qiraU=",
-        "fetchSubmodules": false
+        "sha256": "q6zeoNiZtFy8ZYls9/E+O7o9BYTcVcmYjbJA48qiraU="
     },
     "meteor": {
         "owner": "libretro",
         "repo": "meteor-libretro",
         "rev": "e533d300d0561564451bde55a2b73119c768453c",
-        "sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=",
-        "fetchSubmodules": false
+        "sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ="
     },
     "mgba": {
         "owner": "libretro",
         "repo": "mgba",
-        "rev": "c33adfa66b4b3f72c939c27ff0668ebeada75086",
-        "sha256": "naZkfIghS4mIT5LT2x1E8W9/bju9pLZb8RfEHOlx7QI=",
-        "fetchSubmodules": false
+        "rev": "43da6e1d54ad0395f474346db88fe59a4c0aa451",
+        "sha256": "JxiWIBQi1fZoBV2lvx2r7iIvlQm0BYuJFz0TsxngUT8="
     },
     "mupen64plus": {
         "owner": "libretro",
         "repo": "mupen64plus-libretro-nx",
-        "rev": "018ee72b4fe247b38ed161033ad12a19bb936f00",
-        "sha256": "vJz9S9lUgJp8O0NgJF6/EYymFqwZefvrT/HJLpMhgEk=",
-        "fetchSubmodules": false
+        "rev": "350f90a73cf0f5d65357ce982ccbaa3b22fc3569",
+        "sha256": "9Hq93+dvO60LBbcXLIHsTq243QThicI0rVJW3tou/5Y="
     },
     "neocd": {
         "owner": "libretro",
         "repo": "neocd_libretro",
         "rev": "83d10f3be10fff2f28aa56fc674c687528cb7f5c",
-        "sha256": "yYZGoMsUfE8cpU9i826UWQGi1l0zPJPcBDb2CINxGeQ=",
-        "fetchSubmodules": false
+        "sha256": "yYZGoMsUfE8cpU9i826UWQGi1l0zPJPcBDb2CINxGeQ="
     },
     "nestopia": {
         "owner": "libretro",
         "repo": "nestopia",
-        "rev": "21e2cec7a13f0a09f493637de289e59386e2fd36",
-        "sha256": "XKEY43wtdE78XN2TnT8AW80irnsbIwPzQ1EkGXOrsG4=",
-        "fetchSubmodules": false
+        "rev": "8af07b7ab49e45495cbc4ba73cd2f879d9908b55",
+        "sha256": "Z447flP1L/7gWEovWhbBearPKzsZNnGE2cz7jH7kEnY="
     },
     "np2kai": {
         "owner": "AZO234",
         "repo": "NP2kai",
-        "rev": "3e8fedc7c1c6f68faa26589187512474a766ee9e",
-        "sha256": "5bfh/aZOqfHz1x2s5AzZo4zq9qA4w10d9vYuuILdKJQ=",
+        "rev": "30d4b6959c48db039207a37e278c868c7737ed69",
+        "sha256": "uIcgbpcEz6yUKrBe0r84Yq2ihWfT0+TdUTIF5kMT5mI=",
         "fetchSubmodules": true
     },
     "o2em": {
         "owner": "libretro",
         "repo": "libretro-o2em",
         "rev": "f1050243e0d5285e7769e94a882b0cf39d2b7370",
-        "sha256": "wD+iJ8cKC8jYFZ6OVvX71uO7sSh5b/LLoc5+g7f3Yyg=",
-        "fetchSubmodules": false
+        "sha256": "wD+iJ8cKC8jYFZ6OVvX71uO7sSh5b/LLoc5+g7f3Yyg="
     },
     "opera": {
         "owner": "libretro",
         "repo": "opera-libretro",
-        "rev": "aa868e656b518567a95b11b2f14c5db8001b11a0",
-        "sha256": "YUzfHtgKCzgxZwslFxwmAN0hg+MIGLAYBAI7RUCIW40=",
-        "fetchSubmodules": false
+        "rev": "3849c969c64b82e622a7655b327fa94bc5a4c7cc",
+        "sha256": "McSrvjrYTemqAAnfHELf9qXC6n6Dg4kNsUDA7e2DvkE="
     },
     "parallel-n64": {
         "owner": "libretro",
         "repo": "parallel-n64",
-        "rev": "0a67445ce63513584d92e5c57ea87efe0da9b3bd",
-        "sha256": "rms+T8JOp/TJ/T5a5uLj8lu1LLz/GAsJZ7UbK42C9yU=",
-        "fetchSubmodules": false
+        "rev": "28c4572c9a09447b3bf5ed5fbd3594a558bc210d",
+        "sha256": "by8NvKjVT9OrgVhNtv5E4Fqmdva42lWV8UQi0SKfBL8="
     },
     "pcsx2": {
         "owner": "libretro",
         "repo": "pcsx2",
-        "rev": "26890da6f34176e70289c2f3004cd5660be0035b",
-        "sha256": "PocOjidZyv30kIjOq++9DZdCNBXbCbyd0vepjMFXflQ=",
-        "fetchSubmodules": false
+        "rev": "3ef2a36b0608e9dcae808c7ef01c7a760d628735",
+        "sha256": "ezqVntonhGfejiGx9cxQEnjsXEHqT++M1fO0Jz1t/Us="
     },
     "pcsx_rearmed": {
         "owner": "libretro",
         "repo": "pcsx_rearmed",
-        "rev": "589bd99ba31de8216624dbf0cbbc016f0663ce3d",
-        "sha256": "6OtsWXTo6ca0M/cofpvWPEd0Tqy3XDa8vaa7OUTxnMU=",
-        "fetchSubmodules": false
+        "rev": "12fc12797064599dfca2d44043d5c02a949711ef",
+        "sha256": "SXmNfHGyk+KChiwkKlA+d/oezzp/7p1DJY+w2bES6kg="
     },
     "picodrive": {
         "owner": "libretro",
         "repo": "picodrive",
-        "rev": "d44605c269e645a6734089ac1f95116a5ce57e0b",
-        "sha256": "Z4d+7Hf55raMAOIA2jrj6M99XhLTZqthHxi89ba+xEo=",
+        "rev": "50b8b47838fea8096535d543caaacdcc56aa7df2",
+        "sha256": "C1Htwel5PHZcjkKmjiiN/QgRofMhqlArxktOSqoTxTc=",
         "fetchSubmodules": true
     },
     "play": {
         "owner": "jpd002",
         "repo": "Play-",
-        "rev": "65492042f0b2146d81decc8f63466362dd6122bc",
-        "sha256": "fpiOT6fXvjGWmnKwncV2NyuYeT2ACE8LLyisKsWqydQ=",
+        "rev": "fd6a5161030215090d48a8036680f57914c71bb0",
+        "sha256": "g6UBRV7biLjPBXdlejjXUSk3v1wrsYWA3quZlpPj23U=",
         "fetchSubmodules": true
     },
     "ppsspp": {
         "owner": "hrydgard",
         "repo": "ppsspp",
-        "rev": "3e5511b6091b8af76d124d101f3d84ccc1021f30",
-        "sha256": "FCaKEdu55c7zxh9Mdi+xAFj8v5/AoT2AzYYEErHd9sQ=",
+        "rev": "54d63cc1daf2a0cdc812e9af85854bb4ae5ef399",
+        "sha256": "iB/8zf4FYdsbiKZVq/YISTEQSoo1kme1uZsyuhbOcoc=",
         "fetchSubmodules": true
     },
     "prboom": {
         "owner": "libretro",
         "repo": "libretro-prboom",
-        "rev": "de19b1124559423244b4d677fd6006444d418c0e",
-        "sha256": "vt43eYYGGUotxYeotUfp/9fvWnKJLJtrvo+GNavH3QY=",
-        "fetchSubmodules": false
+        "rev": "af1b5bf89d01095326ee27e178f9257f9e728873",
+        "sha256": "pvTUv4E+wBOYfjz8Ph11CK4E7rIm1T+u90TWDNXEBIU="
     },
     "prosystem": {
         "owner": "libretro",
         "repo": "prosystem-libretro",
         "rev": "89e6df7b60d151310fedbe118fb472959a9dcd61",
-        "sha256": "uxgKddS53X7ntPClE8MGezBAG+7OAFvMXTnyKpOOau0=",
-        "fetchSubmodules": false
+        "sha256": "uxgKddS53X7ntPClE8MGezBAG+7OAFvMXTnyKpOOau0="
     },
     "quicknes": {
         "owner": "libretro",
         "repo": "QuickNES_Core",
-        "rev": "6444b56659ed887c3492831da188fbc42e3e8ca2",
-        "sha256": "FHV9oM4rmsCm7GsD5TKyVbBCN7uc9GRU5YGQE+2SiRM=",
-        "fetchSubmodules": false
+        "rev": "743e6e06db246c5edab27c738c7a573d83140485",
+        "sha256": "NYmP+HFeZGUeIRaT3bzdpWw9cmEAaBkA3EGnw/zpDXA="
     },
     "sameboy": {
         "owner": "libretro",
         "repo": "sameboy",
-        "rev": "685c6c8b497260f53a984d5c4398ef2b25253104",
-        "sha256": "OosKYG38NvfwrLSEhAe2CrUx8PiSv4OhkmrVUO6l1qc=",
-        "fetchSubmodules": false
+        "rev": "b154b7d3d885a3cf31203f0b8f50d3b37c8b742b",
+        "sha256": "tavGHiNpRiPkibi66orMf93cnCqQCD8XhSl/36nl/9M="
     },
     "scummvm": {
         "owner": "libretro",
         "repo": "scummvm",
-        "rev": "63e57573a9ffe71a1083ff46d9cd210203b87afb",
-        "sha256": "LTFe8HIX9OSJuJj5YfPigrPAE8nrbSpDckh0hj3w52s=",
-        "fetchSubmodules": false
+        "rev": "80cb7269a33b233dcea27d8d01df084b0d35c80a",
+        "sha256": "5kMWM8d5aBbT7TseNyaYxw7VDkrLL0G+KUvJcUboQgA="
     },
     "smsplus-gx": {
         "owner": "libretro",
         "repo": "smsplus-gx",
         "rev": "3f1ffede55bcfe0168caa484a00bf041ab591abf",
-        "sha256": "fD+grzMPk4uXvmzGf+f9Mor0eefBLHIumCydsSHUsck=",
-        "fetchSubmodules": false
+        "sha256": "fD+grzMPk4uXvmzGf+f9Mor0eefBLHIumCydsSHUsck="
     },
     "snes9x": {
         "owner": "snes9xgit",
         "repo": "snes9x",
-        "rev": "cf1a5901fccafdaead225b0a5e55ff74fdcf9678",
-        "sha256": "p6qTCZnZSV5vgpZglI/HMi/wOfu0hG2TuvOQhQHeo2s=",
-        "fetchSubmodules": false
+        "rev": "34b6160805c4995a8edf5f9b3328f5e492ae4c44",
+        "sha256": "YRRqtd5iu2evRk+7SyQpqpxqTaEFOkDZ/XQHEjpSBcM="
     },
     "snes9x2002": {
         "owner": "libretro",
         "repo": "snes9x2002",
         "rev": "e16cb16efa00765b1bc3b8fee195680efb1542c7",
-        "sha256": "0dhLpNy+NUE3mE/ejEwbq3G28/a2HONS5NPslI5LOEc=",
-        "fetchSubmodules": false
+        "sha256": "0dhLpNy+NUE3mE/ejEwbq3G28/a2HONS5NPslI5LOEc="
     },
     "snes9x2005": {
         "owner": "libretro",
         "repo": "snes9x2005",
-        "rev": "88a46f7c085f6e2accc4c777e264b9b5cd41cf0e",
-        "sha256": "5wVKK3xhCXkvonwQRyVtd8Afggb0gv8Sv7PEYkDfKRE=",
-        "fetchSubmodules": false
+        "rev": "77e9cd293c791b47f4397da0a47242b329243cb5",
+        "sha256": "iHGfZIGzE4n3EHrVRxTULuYKsOse5NcJftmasoJFwFo="
     },
     "snes9x2010": {
         "owner": "libretro",
         "repo": "snes9x2010",
         "rev": "714b1c8e08c7580430190119b07e793405773ac2",
-        "sha256": "yKSQEE+lT4V2V1XqemfziHuIt79TcvC0ranU9ounTXo=",
-        "fetchSubmodules": false
+        "sha256": "yKSQEE+lT4V2V1XqemfziHuIt79TcvC0ranU9ounTXo="
     },
     "stella": {
         "owner": "stella-emu",
         "repo": "stella",
-        "rev": "66e2c857c2bd85e778c51ae1cb99fb7669c7af17",
-        "sha256": "RWNEq5qwShbBKIx5bif4NDs/uJES2wf1CVSxZbb6beI=",
-        "fetchSubmodules": false
+        "rev": "1db9de390a331a7d55c35591c93d9e89184cce5f",
+        "sha256": "vICKxx+UBYvMzZ3a3F86yzJRKfdo0jMxa27wsUX0KZw="
     },
     "stella2014": {
         "owner": "libretro",
         "repo": "stella2014-libretro",
         "rev": "934c7a2a44ef038af529b68950ddba4f7ea3478e",
-        "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak=",
-        "fetchSubmodules": false
+        "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak="
     },
     "swanstation": {
         "owner": "libretro",
         "repo": "swanstation",
-        "rev": "8951ed1cea4ea65de5529a35e950f1b185e48b6e",
-        "sha256": "27EH4oiYf154DJwm738qPOMCuWOCKD7wuSng3hz/xh0=",
-        "fetchSubmodules": false
+        "rev": "61c5debe60192b0fecd8c15310b2e4c4473f9438",
+        "sha256": "DZJApJnGDMsUhjO35TBc7tMldCGKDPPtrwxPLe0Ey1s="
     },
     "tgbdual": {
         "owner": "libretro",
         "repo": "tgbdual-libretro",
         "rev": "1e0c4f931d8c5e859e6d3255d67247d7a2987434",
-        "sha256": "0wHv9DpKuzJ/q5vERqCo4GBLre2ggClBIWSjGnMLQq8=",
-        "fetchSubmodules": false
+        "sha256": "0wHv9DpKuzJ/q5vERqCo4GBLre2ggClBIWSjGnMLQq8="
     },
     "thepowdertoy": {
         "owner": "libretro",
         "repo": "ThePowderToy",
         "rev": "ac620c0a89a18774c3ad176a8a1bc596df23ff57",
-        "sha256": "C/X1DbmnucRddemEYml2zN3qr5yoXY3b+nvqfpboS0M=",
-        "fetchSubmodules": false
+        "sha256": "C/X1DbmnucRddemEYml2zN3qr5yoXY3b+nvqfpboS0M="
     },
     "tic80": {
         "owner": "libretro",
         "repo": "tic-80",
-        "rev": "bd03e6a548676745e81fa95e60b233b5a56420c2",
-        "sha256": "SXJvWX6Q3BrdajNnT4HIf6H2z7dXXvnXTJXf/TYRw4I=",
+        "rev": "967eb78c3610385a0e6cba8bb5c60ebc3b886d3e",
+        "sha256": "N0QFNTYFVbhWwt2yx5fLM7Dl6pJZPYrt9o3+6rjnWa8=",
         "fetchSubmodules": true
     },
     "vba-m": {
         "owner": "libretro",
         "repo": "vbam-libretro",
         "rev": "254f6effebe882b7d3d29d9e417c6aeeabc08026",
-        "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk=",
-        "fetchSubmodules": false
+        "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk="
     },
     "vba-next": {
         "owner": "libretro",
         "repo": "vba-next",
         "rev": "b218f48bb27b5d3885fa4076ff325922b5acd817",
-        "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=",
-        "fetchSubmodules": false
+        "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo="
     },
     "vecx": {
         "owner": "libretro",
         "repo": "libretro-vecx",
         "rev": "28d6efc8972313903d0802a736ff8c3bc115e78f",
-        "sha256": "VYa8s+HB8IYF+HS6SA+sO5DzpgCtnMGrh88KTVNGICY=",
-        "fetchSubmodules": false
+        "sha256": "VYa8s+HB8IYF+HS6SA+sO5DzpgCtnMGrh88KTVNGICY="
     },
     "virtualjaguar": {
         "owner": "libretro",
         "repo": "virtualjaguar-libretro",
         "rev": "d1b1b28a6ad2518b746e3f7537ec6d66db96ec57",
-        "sha256": "Io25dt80fqIqIxwzF2DK9J5UFz6YCUQoqThcIuxdEBo=",
-        "fetchSubmodules": false
+        "sha256": "Io25dt80fqIqIxwzF2DK9J5UFz6YCUQoqThcIuxdEBo="
     },
     "yabause": {
         "owner": "libretro",
         "repo": "yabause",
-        "rev": "c940fe68461cb2bc6dd98cc162b46813ba12b081",
-        "sha256": "a4nTgOZ2xEq45sWZ9AxmrjEdMOjnG3Whfm8mrvEMnuY=",
-        "fetchSubmodules": false
+        "rev": "f30153ff9e534b96049c6f1ac3075b572642ceb5",
+        "sha256": "AdqCr5X3Bq8ic2jkIestmYi+CBByZ5Fyf0BUYwBkWnA="
     }
 }
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix b/nixpkgs/pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix
index 9d83c46396c3..9d83c46396c3 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/update.py b/nixpkgs/pkgs/applications/emulators/retroarch/update.py
index 831709d89e7c..68f72103168e 100755
--- a/nixpkgs/pkgs/misc/emulators/retroarch/update.py
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/update.py
@@ -1,12 +1,11 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ requests nix-prefetch-github ])" -p "git"
+#!nix-shell -I nixpkgs=../../../../ -i python3 -p "python3.withPackages (ps: with ps; [ requests nix-prefetch-github ])" -p "git"
 
 import json
 import sys
+import subprocess
 from pathlib import Path
 
-from nix_prefetch_github import nix_prefetch_github
-
 SCRIPT_PATH = Path(__file__).absolute().parent
 HASHES_PATH = SCRIPT_PATH / "hashes.json"
 CORES = {
@@ -27,7 +26,19 @@ CORES = {
     "bsnes": {"repo": "bsnes-libretro"},
     "bsnes-hd": {"repo": "bsnes-hd", "owner": "DerKoun"},
     "bsnes-mercury": {"repo": "bsnes-mercury"},
-    "citra": {"repo": "citra", "fetch_submodules": True},
+    "citra": {
+        "repo": "citra",
+        "fetch_submodules": True,
+        "deep_clone": True,
+        "leave_dot_git": True,
+    },
+    "citra-canary": {
+        "repo": "citra",
+        "fetch_submodules": True,
+        "deep_clone": True,
+        "leave_dot_git": True,
+        "rev": "canary",
+    },
     "desmume": {"repo": "desmume"},
     "desmume2015": {"repo": "desmume2015"},
     "dolphin": {"repo": "dolphin"},
@@ -97,19 +108,33 @@ def info(*msg):
     print(*msg, file=sys.stderr)
 
 
-def get_repo_hash_fetchFromGitHub(repo, owner="libretro", fetch_submodules=False):
-    assert repo is not None, "Parameter 'repo' can't be None."
-
-    repo_hash = nix_prefetch_github(
-        owner=owner, repo=repo, fetch_submodules=fetch_submodules
+def get_repo_hash_fetchFromGitHub(
+    repo,
+    owner="libretro",
+    deep_clone=False,
+    fetch_submodules=False,
+    leave_dot_git=False,
+    rev=None,
+):
+    extra_args = []
+    if deep_clone:
+        extra_args.append("--deep-clone")
+    if fetch_submodules:
+        extra_args.append("--fetch-submodules")
+    if leave_dot_git:
+        extra_args.append("--leave-dot-git")
+    if rev:
+        extra_args.append("--rev")
+        extra_args.append(rev)
+    result = subprocess.run(
+        ["nix-prefetch-github", owner, repo, *extra_args],
+        check=True,
+        capture_output=True,
+        text=True,
     )
-    return {
-        "owner": repo_hash.repository.owner,
-        "repo": repo_hash.repository.name,
-        "rev": repo_hash.rev,
-        "sha256": repo_hash.sha256,
-        "fetchSubmodules": repo_hash.fetch_submodules,
-    }
+    j = json.loads(result.stdout)
+    # Remove False values
+    return {k: v for k, v in j.items() if v}
 
 
 def get_repo_hash(fetcher="fetchFromGitHub", **kwargs):
diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix b/nixpkgs/pkgs/applications/emulators/retroarch/wrapper.nix
index b8fbd70ecc46..b3797c9e9e36 100644
--- a/nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/wrapper.nix
@@ -28,10 +28,10 @@ stdenv.mkDerivation {
   preferLocalBuild = true;
 
   meta = with retroarch.meta; {
-    inherit license homepage platforms maintainers;
-    description = description
-                  + " (with cores: "
-                  + lib.concatStringsSep ", " (map (x: ""+x.name) 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/nixpkgs/pkgs/misc/emulators/retrofe/default.nix b/nixpkgs/pkgs/applications/emulators/retrofe/default.nix
index 558b5ca63377..dc1a23f33b39 100644
--- a/nixpkgs/pkgs/misc/emulators/retrofe/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/retrofe/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchhg, cmake, glib, gst_all_1, makeWrapper, pkg-config
-, python, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib, runtimeShell
+, python2, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib, runtimeShell
 }:
 
 stdenv.mkDerivation {
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "0cvsg07ff0fdqh5zgiv2fs7s6c98hn150kpxmpw5fn6jilaszwkm";
   };
 
-  nativeBuildInputs = [ cmake makeWrapper pkg-config python ];
+  nativeBuildInputs = [ cmake makeWrapper pkg-config python2 ];
 
   buildInputs = [
     glib gst_all_1.gstreamer SDL2 SDL2_image SDL2_mixer SDL2_ttf sqlite zlib
diff --git a/nixpkgs/pkgs/misc/emulators/retrofe/include-paths.patch b/nixpkgs/pkgs/applications/emulators/retrofe/include-paths.patch
index 02eef2594ea6..02eef2594ea6 100644
--- a/nixpkgs/pkgs/misc/emulators/retrofe/include-paths.patch
+++ b/nixpkgs/pkgs/applications/emulators/retrofe/include-paths.patch
diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch b/nixpkgs/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
new file mode 100644
index 000000000000..dccf06fc0786
--- /dev/null
+++ b/nixpkgs/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
@@ -0,0 +1,62 @@
+From 9866ce8f538e1ab1f0902408b7575013b768f365 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Wed, 2 Feb 2022 23:41:59 +1000
+Subject: [PATCH] llvm/ExecutionEngine/IntelJITEvents: only use
+ ITTAPI_SOURCE_DIR
+
+---
+ .../IntelJITEvents/CMakeLists.txt             | 32 ++-----------------
+ 1 file changed, 2 insertions(+), 30 deletions(-)
+
+diff --git a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
+index 0c5017c3..d20c35f3 100644
+--- a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
++++ b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
+@@ -1,34 +1,6 @@
+ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
+ 
+-if(NOT DEFINED ITTAPI_GIT_REPOSITORY)
+-    set(ITTAPI_GIT_REPOSITORY https://github.com/intel/ittapi.git)
+-endif()
+-
+-if(NOT DEFINED ITTAPI_GIT_TAG)
+-    set(ITTAPI_GIT_TAG v3.18.12)
+-endif()
+-
+-if(NOT DEFINED ITTAPI_SOURCE_DIR)
+-    set(ITTAPI_SOURCE_DIR ${PROJECT_BINARY_DIR})
+-endif()
+-
+-if(NOT EXISTS ${ITTAPI_SOURCE_DIR}/ittapi)
+-    execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ITTAPI_GIT_REPOSITORY}
+-                    WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR}
+-                    RESULT_VARIABLE GIT_CLONE_RESULT)
+-    if(NOT GIT_CLONE_RESULT EQUAL "0")
+-        message(FATAL_ERROR "git clone ${ITTAPI_GIT_REPOSITORY} failed with ${GIT_CLONE_RESULT}, please clone ${ITTAPI_GIT_REPOSITORY}")
+-    endif()
+-endif()
+-
+-execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ITTAPI_GIT_TAG}
+-                WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR}/ittapi
+-                RESULT_VARIABLE GIT_CHECKOUT_RESULT)
+-if(NOT GIT_CHECKOUT_RESULT EQUAL "0")
+-    message(FATAL_ERROR "git checkout ${ITTAPI_GIT_TAG} failed with ${GIT_CHECKOUT_RESULT}, please checkout ${ITTAPI_GIT_TAG} at ${ITTAPI_SOURCE_DIR}/ittapi")
+-endif()
+-
+-include_directories( ${ITTAPI_SOURCE_DIR}/ittapi/include/ )
++include_directories( ${ITTAPI_SOURCE_DIR}/include/ )
+ 
+ if( HAVE_LIBDL )
+     set(LLVM_INTEL_JIT_LIBS ${CMAKE_DL_LIBS})
+@@ -40,7 +12,7 @@ set(LLVM_INTEL_JIT_LIBS ${LLVM_PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS})
+ add_llvm_component_library(LLVMIntelJITEvents
+   IntelJITEventListener.cpp
+   jitprofiling.c
+-  ${ITTAPI_SOURCE_DIR}/ittapi/src/ittnotify/ittnotify_static.c
++  ${ITTAPI_SOURCE_DIR}/src/ittnotify/ittnotify_static.c
+ 
+   LINK_LIBS ${LLVM_INTEL_JIT_LIBS}
+ 
+-- 
+2.34.1
+
diff --git a/nixpkgs/pkgs/misc/emulators/rpcs3/default.nix b/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix
index 25a6d6befad1..0ea56d3a72d3 100644
--- a/nixpkgs/pkgs/misc/emulators/rpcs3/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/rpcs3/default.nix
@@ -8,26 +8,38 @@
 }:
 
 let
-  majorVersion = "0.0.19";
-  gitVersion = "12975-37383f421";
+  # Keep these separate so the update script can regex them
+  rpcs3GitVersion = "13222-8c2fd5095";
+  rpcs3Version = "0.0.20-13222-8c2fd5095";
+  rpcs3Revision = "8c2fd50957be3af05c04a9bb782dce8505fb6400";
+  rpcs3Sha256 = "1cf62vpqdc9i4masgv9zz24h7zdc7gcymx6n1hbh7wp5gg1dw4qi";
+
+  ittapi = fetchFromGitHub {
+    owner = "intel";
+    repo = "ittapi";
+    rev = "v3.18.12";
+    sha256 = "0c3g30rj1y8fbd2q4kwlpg1jdy02z4w5ryhj3yr9051pdnf4kndz";
+  };
 in
 gcc11Stdenv.mkDerivation {
   pname = "rpcs3";
-  version = "${majorVersion}-${gitVersion}";
+  version = rpcs3Version;
 
   src = fetchFromGitHub {
     owner = "RPCS3";
     repo = "rpcs3";
-    rev = "37383f4217e1c510a543e100d0ca495800b3361a";
+    rev = rpcs3Revision;
     fetchSubmodules = true;
-    sha256 = "1pm1r4j4cdcmr8xmslyv2n6iwcjldnr396by4r6lgf4mdlnwahhm";
+    sha256 = rpcs3Sha256;
   };
 
+  patches = [ ./0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch ];
+
   passthru.updateScript = ./update.sh;
 
   preConfigure = ''
     cat > ./rpcs3/git-version.h <<EOF
-    #define RPCS3_GIT_VERSION "${gitVersion}"
+    #define RPCS3_GIT_VERSION "${rpcs3GitVersion}"
     #define RPCS3_GIT_FULL_BRANCH "RPCS3/rpcs3/master"
     #define RPCS3_GIT_BRANCH "HEAD"
     #define RPCS3_GIT_VERSION_NO_UPDATE 1
@@ -45,6 +57,7 @@ gcc11Stdenv.mkDerivation {
     "-DUSE_SYSTEM_PUGIXML=ON"
     "-DUSE_SYSTEM_FLATBUFFERS=ON"
     "-DUSE_NATIVE_INSTRUCTIONS=OFF"
+    "-DITTAPI_SOURCE_DIR=${ittapi}"
   ];
 
   nativeBuildInputs = [ cmake pkg-config git wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/emulators/rpcs3/update.sh b/nixpkgs/pkgs/applications/emulators/rpcs3/update.sh
new file mode 100755
index 000000000000..0c8477c5282b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/emulators/rpcs3/update.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p gnused jq nix-prefetch-git curl cacert
+
+set -eou pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+if [[ ! "$(basename $ROOT)" == "rpcs3" || ! -f "$ROOT/default.nix" ]]; then
+    echo "ERROR: Not in the rpcs3 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: "RPCS3", name: "rpcs3") {
+    branch: ref(qualifiedName: "refs/heads/master") {
+      target {
+        oid
+        ... on Commit {
+          history {
+            totalCount
+          }
+        }
+      }
+    }
+
+    tag: refs(refPrefix: "refs/tags/", first: 1, orderBy: {field: TAG_COMMIT_DATE, direction: DESC}) {
+      nodes {
+        name
+      }
+    }
+  }
+}
+EOF
+)
+
+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")
+git_ver="$commit_count-${commit_sha::9}"
+final_ver="$major_ver-$git_ver"
+
+
+echo "INFO: Latest commit is $commit_sha"
+echo "INFO: Latest version is $final_ver"
+
+nix_sha256=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$commit_sha" | jq -r .sha256)
+echo "INFO: SHA256 is $nix_sha256"
+
+sed -i -E \
+    -e "s/rpcs3GitVersion\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3GitVersion = \"${git_ver}\";/g" \
+    -e "s/rpcs3Version\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3Version = \"${final_ver}\";/g" \
+    -e "s/rpcs3Revision\s*=\s*\"[a-z0-9]+\";$/rpcs3Revision = \"${commit_sha}\";/g" \
+    -e "s/rpcs3Sha256\s*=\s*\"[a-z0-9]+\";$/rpcs3Sha256 = \"${nix_sha256}\";/g" \
+    "$ROOT/default.nix"
diff --git a/nixpkgs/pkgs/misc/emulators/ruffle/default.nix b/nixpkgs/pkgs/applications/emulators/ruffle/default.nix
index 8cbdaf21a864..784ea69d3979 100644
--- a/nixpkgs/pkgs/misc/emulators/ruffle/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/ruffle/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruffle";
-  version = "nightly-2021-09-17";
+  version = "nightly-2022-02-02";
 
   src = fetchFromGitHub {
     owner = "ruffle-rs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-N4i13vx/hWzFf2DT3lToAAnbMgIaUL/B2C3WI1el3ps=";
+    sha256 = "sha256-AV3zGfWacYdkyxHED1nGwTqRHhXpybaCVnudmHqWvqw=";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
     wrapProgram $out/bin/ruffle_desktop --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
   '';
 
-  cargoSha256 = "sha256-6B6bSIU15Ca1/lLYij9YjpFykbJhOGZieydNXis/Cw8=";
+  cargoSha256 = "sha256-LP9aHcey+e3fqtWdOkqF5k8dwjdAOKpP+mKGxFhTte0=";
 
   meta = with lib; {
     description = "An Adobe Flash Player emulator written in the Rust programming language.";
diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix b/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
index 86716ed5d535..2f684257114a 100644
--- a/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/ryujinx/default.nix
@@ -1,20 +1,23 @@
 { lib, buildDotnetModule, fetchFromGitHub, makeDesktopItem, copyDesktopItems
-, libX11, libgdiplus, ffmpeg
+, dotnetCorePackages, libX11, libgdiplus, ffmpeg
 , SDL2_mixer, openal, libsoundio, sndio, pulseaudio
-, gtk3, gobject-introspection, gdk-pixbuf, wrapGAppsHook
+, gtk3, gdk-pixbuf, wrapGAppsHook
 }:
 
 buildDotnetModule rec {
   pname = "ryujinx";
-  version = "1.0.7105"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
+  version = "1.0.7168"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "b9d83cc97ee1cb8c60d9b01c162bab742567fe6e";
-    sha256 = "0plchh8f9xhhza1wfw3ys78f0pa1bh3898fqhfhcc0kxb39px9is";
+    rev = "6e0799580f0d1b473a79471c5d365c6524d97a86";
+    sha256 = "145sn9xkjxj79292faypcdmpmbxm1w70q0iprg6pfymf9920gvfv";
   };
 
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+  dotnet-runtime = dotnetCorePackages.runtime_6_0;
+
   projectFile = "Ryujinx.sln";
   nugetDeps = ./deps.nix;
 
@@ -27,7 +30,10 @@ buildDotnetModule rec {
   nativeBuildInputs = [
     copyDesktopItems
     wrapGAppsHook
-    gobject-introspection
+  ];
+
+  buildInputs = [
+    gtk3
     gdk-pixbuf
   ];
 
@@ -78,6 +84,7 @@ buildDotnetModule rec {
     changelog = "https://github.com/Ryujinx/Ryujinx/wiki/Changelog";
     maintainers = [ maintainers.ivar ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "Ryujinx";
   };
   passthru.updateScript = ./updater.sh;
 }
diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix b/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix
index 5d4f1d8d7abb..991d00a5a4b8 100644
--- a/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix
+++ b/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix
@@ -11,22 +11,25 @@
   (fetchNuGet { pname = "GLibSharp"; version = "3.22.25.128"; sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5"; })
   (fetchNuGet { pname = "GtkSharp"; version = "3.22.25.128"; sha256 = "0z0wx0p3gc02r8d7y88k1rw307sb2vapbr1k1yc5qdc38fxz5jsy"; })
   (fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.0"; sha256 = "1g1rhcn38ww97638rds6l5bysra43hkhv47fy71fvq89623zgyxn"; })
-  (fetchNuGet { pname = "LibHac"; version = "0.13.3"; sha256 = "0mh7q1i9wk5mj7xc1rbsasfmd0d1y6xs5m4nllmclk4drzkzsi56"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1asph5v7kgmscfgsyv9gg7cwvg52gnm6m0ldm2m4pfkpsxqyp2mi"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.12"; sha256 = "02kv8xh6xvpav7vqj281321ly1imghxcc18cdgadiq8dwgm87xwp"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "5.0.12"; sha256 = "062zb8gqbzxq2xrmr8lbl215pnhw1fdidq43m975vsfgzmqrga8f"; })
+  (fetchNuGet { pname = "LibHac"; version = "0.14.3"; sha256 = "13pv5dwffj8c2mfibra3hkd1pgg5cj075sf48kgp82y501l25q5m"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0r6jyxl3h1asj30la78skd5gsxgwjpvkspmkw1gglxfg85hnqc8w"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1hnqhvgjp342nx9s47w5sknmlpkfxbcfi50pa4vary2r7sv8ka2w"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "1j8cn97swc67ly7ca7m05akczrswbg0gjsk7473vad6770ph79vm"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.8.0"; sha256 = "1y05sjk7wgd29a47v1yhn2s1lrd8wgazkilvmjbvivmrrm3fqjs8"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
   (fetchNuGet { pname = "Microsoft.DotNet.InternalAbstractions"; version = "1.0.0"; sha256 = "0mp8ihqlb7fsa789frjzidrfjc1lrhk88qp3xm5qvr7vf4wy4z8x"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.12"; sha256 = "0950m6x86jp5dybzakfsp74qzrk4pk8wkazc178v36j14sqmj2zq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "5.0.12"; sha256 = "173zymcac00rjb0l4yvksglj32b6fnwxzi60kpi0ki3z3a2k8kd3"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1fdbrjrmjd31y1amp0inlmki9w3fwzv8nz41pqmc943g3cpmyg9f"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.12"; sha256 = "0z8l0gzy9dih0mn5a2rknyph1w73y4m03s250wghym1zp6rz910p"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "5.0.12"; sha256 = "1s4klc4p5wiqiiqcfqyi56cci9f29b588h52vj7na7gfqry4b51l"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "6.15.0"; sha256 = "0dwx7dk8jr10784nriqbi364qbxzfwq0c6xia0ac5rzrp7179r4d"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "6.15.0"; sha256 = "0jn9a20a2zixnkm3bmpmvmiv7mk0hqdlnpi0qgjkg1nir87czm19"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "6.15.0"; sha256 = "1nbgydr45f7lp980xyrkzpyaw2mkkishjwp3slgxk7f0mz6q8i1v"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.0"; sha256 = "188cbx99ahvksap9w20943p62fmzxa6fl133w4r7c6bjpsrm29a4"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.0"; sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1njh3iky5wyxdrisz8xfpy7kzbsrvzfhpdl01xbavvz189x4ajqp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "13x1nkigy3nhbr8gxalij7krmzxpciyq4i8k7jdy9278zs1lm5a6"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.8.0"; sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9"; })
@@ -36,9 +39,7 @@
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.3.0"; sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; })
-  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
-  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "5.0.0"; sha256 = "0sja4ba0mrvdamn0r9mhq38b9dxi08yb3c1hzh29n1z6ws1hlrcq"; })
-  (fetchNuGet { pname = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
   (fetchNuGet { pname = "MsgPack.Cli"; version = "1.0.1"; sha256 = "1dk2bs3g16lsxcjjm7gfx6jxa4667wccw94jlh2ql7y7smvh9z8r"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
@@ -104,16 +105,16 @@
   (fetchNuGet { pname = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build7"; sha256 = "0g1l3lgs0ffxp64ka81v6q1cgsdirl1qlf73255v29r3v337074m"; })
   (fetchNuGet { pname = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build9"; sha256 = "121zmh0byi22qsc9b25wv58kwcq6pmk7zf4f2rfafmdjvwx8bkxc"; })
   (fetchNuGet { pname = "Ryujinx.SDL2-CS"; version = "2.0.17-build18"; sha256 = "0j0vs6075c4fniydqxhpp18pg3x679mq463x4gxqgkri3vhpj4vl"; })
-  (fetchNuGet { pname = "SharpZipLib"; version = "1.3.0"; sha256 = "1pizj82wisch28nfdaszwqm9bz19lnl0s5mq8c0zybm2vhnrhvk4"; })
+  (fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; })
   (fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
-  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.2"; sha256 = "0fhk9sn8k18slfb26wz8mal0j699f7djwhxgv97snz6b10wynfaj"; })
+  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; })
   (fetchNuGet { pname = "SixLabors.ImageSharp.Drawing"; version = "1.0.0-beta11"; sha256 = "0hl0rs3kr1zdnx3gdssxgli6fyvmwzcfp99f4db71s0i8j8b2bp5"; })
-  (fetchNuGet { pname = "SPB"; version = "0.0.3-build15"; sha256 = "0h00yi2j65q31r5npsziq2rpiw832vf9r72j1hjqibp2l5m6v6yw"; })
+  (fetchNuGet { pname = "SPB"; version = "0.0.4-build17"; sha256 = "0arp7mwdn1w67qx8a0m90xh8waj15154ynswrbsp5w4wmzkcss1i"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
   (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; })
-  (fetchNuGet { pname = "System.CodeDom"; version = "5.0.0"; sha256 = "14zs2wqkmdlxzj8ikx19n321lsbarx5vl2a8wrachymxn8zb5njh"; })
+  (fetchNuGet { pname = "System.CodeDom"; version = "6.0.0"; sha256 = "1i55cxp8ycc03dmxx4n22qi6jkwfl23cgffb95izq7bjar8avxxq"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
@@ -131,13 +132,14 @@
   (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
   (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
   (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
-  (fetchNuGet { pname = "System.Drawing.Common"; version = "5.0.1"; sha256 = "14h722wq58k1wmgxmpws91xc7kh8109ijw0hcxjq9qkbhbi6pwmb"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; })
   (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
   (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
   (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
   (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "6.15.0"; sha256 = "0kzc9rqwn8xgixwm1z5zajf6bapa2rvi9lv8vgz7hlp1lgi964zk"; })
   (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
   (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
   (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
@@ -149,7 +151,7 @@
   (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
-  (fetchNuGet { pname = "System.Management"; version = "5.0.0"; sha256 = "09hyv3p0zd549577clydlb2szl84m4gvdjnsry73n8b12ja7d75s"; })
+  (fetchNuGet { pname = "System.Management"; version = "6.0.0"; sha256 = "0ra1g75ykapg6i5y0za721kpjd6xcq6dalijkdm6fsxxmz8iz4dr"; })
   (fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
   (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
   (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
@@ -188,10 +190,10 @@
   (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
   (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
   (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; })
-  (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
   (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.5.0"; sha256 = "1pm4ykbcz48f1hdmwpia432ha6qbb9kbrxrrp7cg3m8q8xn52ngn"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
   (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
@@ -200,7 +202,6 @@
   (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
-  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch b/nixpkgs/pkgs/applications/emulators/ryujinx/log.patch
index 57e96e5c25cb..57e96e5c25cb 100644
--- a/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch
+++ b/nixpkgs/pkgs/applications/emulators/ryujinx/log.patch
diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/updater.sh b/nixpkgs/pkgs/applications/emulators/ryujinx/updater.sh
index 16bfa3083aa1..0861414f0bf4 100755
--- a/nixpkgs/pkgs/misc/emulators/ryujinx/updater.sh
+++ b/nixpkgs/pkgs/applications/emulators/ryujinx/updater.sh
@@ -1,5 +1,5 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_5
+#! nix-shell -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_6
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/nixpkgs/pkgs/misc/emulators/sameboy/default.nix b/nixpkgs/pkgs/applications/emulators/sameboy/default.nix
index 6838a7baaf2a..6838a7baaf2a 100644
--- a/nixpkgs/pkgs/misc/emulators/sameboy/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/sameboy/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/simh/default.nix b/nixpkgs/pkgs/applications/emulators/simh/default.nix
index 1e939538cda3..1e939538cda3 100644
--- a/nixpkgs/pkgs/misc/emulators/simh/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/simh/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/simplenes/default.nix b/nixpkgs/pkgs/applications/emulators/simplenes/default.nix
index d073098507ee..d073098507ee 100644
--- a/nixpkgs/pkgs/misc/emulators/simplenes/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/simplenes/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/snes9x-gtk/default.nix b/nixpkgs/pkgs/applications/emulators/snes9x-gtk/default.nix
index 27f3400cc0b1..27f3400cc0b1 100644
--- a/nixpkgs/pkgs/misc/emulators/snes9x-gtk/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/snes9x-gtk/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/stella/default.nix b/nixpkgs/pkgs/applications/emulators/stella/default.nix
index 212c06690468..212c06690468 100644
--- a/nixpkgs/pkgs/misc/emulators/stella/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/stella/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/termtekst/default.nix b/nixpkgs/pkgs/applications/emulators/termtekst/default.nix
index 56f56cffad97..56f56cffad97 100644
--- a/nixpkgs/pkgs/misc/emulators/termtekst/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/termtekst/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/tilem/default.nix b/nixpkgs/pkgs/applications/emulators/tilem/default.nix
index bde706e23040..bde706e23040 100644
--- a/nixpkgs/pkgs/misc/emulators/tilem/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/tilem/default.nix
diff --git a/nixpkgs/pkgs/applications/virtualization/tiny8086/default.nix b/nixpkgs/pkgs/applications/emulators/tiny8086/default.nix
index 60d69432cde6..a0cc6bd7929b 100644
--- a/nixpkgs/pkgs/applications/virtualization/tiny8086/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/emulators/tinyemu/default.nix b/nixpkgs/pkgs/applications/emulators/tinyemu/default.nix
new file mode 100644
index 000000000000..c32fd24fe477
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/uae/default.nix b/nixpkgs/pkgs/applications/emulators/uae/default.nix
index ebbdc667ef1e..64f311c4a8a6 100644
--- a/nixpkgs/pkgs/misc/emulators/uae/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/uae/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.8.29";
 
   src = fetchurl {
-    url = "http://web.archive.org/web/20130905032631/http://www.amigaemulator.org/files/sources/develop/uae-${version}.tar.bz2";
+    url = "https://web.archive.org/web/20130905032631/http://www.amigaemulator.org/files/sources/develop/uae-${version}.tar.bz2";
     sha256 = "05s3cd1rd5a970s938qf4c2xm3l7f54g5iaqw56v8smk355m4qr4";
   };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Ultimate/Unix/Unusable Amiga Emulator";
     license = lib.licenses.gpl2Plus;
-    homepage = "http://web.archive.org/web/20130901222855/http://www.amigaemulator.org/";
+    homepage = "https://web.archive.org/web/20130901222855/http://www.amigaemulator.org/";
     maintainers = [ lib.maintainers.sander ];
     platforms = lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/misc/emulators/uxn/default.nix b/nixpkgs/pkgs/applications/emulators/uxn/default.nix
index 0b797e2e160b..0b797e2e160b 100644
--- a/nixpkgs/pkgs/misc/emulators/uxn/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/uxn/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/vbam/default.nix b/nixpkgs/pkgs/applications/emulators/vbam/default.nix
index bb5e7cea4e00..bb5e7cea4e00 100644
--- a/nixpkgs/pkgs/misc/emulators/vbam/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/vbam/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/vice/default.nix b/nixpkgs/pkgs/applications/emulators/vice/default.nix
index bfe2cae5120f..ca0de2f82766 100644
--- a/nixpkgs/pkgs/misc/emulators/vice/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/vice/default.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vice";
-  version = "3.6";
+  version = "3.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/vice-emu/vice-${version}.tar.gz";
-    sha256 = "sha256-Zb/lXM5ifbm1oKx4dqkMCH6f6G6fVRfoCURsQGSi0/0=";
+    sha256 = "sha256-IN+EyFGq8vUABRCSf20xsy8mmRbTUUZcNm3Ar8ncFQw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/misc/emulators/wine/base.nix b/nixpkgs/pkgs/applications/emulators/wine/base.nix
index fa5c4afdc298..f13e224627a9 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/base.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/base.nix
@@ -1,22 +1,50 @@
-{ 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,
+  autoconf, hexdump, perl, nixosTests,
   supportFlags,
   patches,
+  vkd3dArches,
+  moltenvk,
   buildScript ? null, configureFlags ? []
 }:
 
 with import ./util.nix { inherit lib; };
 
 let
-  vkd3d = callPackage ./vkd3d.nix {};
   patches' = patches;
+  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 name src configureFlags;
+  inherit src;
+
+  name = if supportFlags.waylandSupport then "${prevName}-wayland" else prevName;
 
   # Fixes "Compiler cannot create executables" building wineWow with mingwSupport
   strictDeps = true;
@@ -33,21 +61,18 @@ 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.xorg.libX11 ]
+  [ pkgs.freetype pkgs.perl pkgs.libunwind ]
   ++ lib.optional stdenv.isLinux         pkgs.libcap
-  ++ lib.optional pngSupport             pkgs.libpng
-  ++ lib.optional jpegSupport            pkgs.libjpeg
+  ++ lib.optional stdenv.isDarwin        pkgs.libinotify-kqueue
   ++ lib.optional cupsSupport            pkgs.cups
-  ++ lib.optional colorManagementSupport pkgs.lcms2
   ++ lib.optional gettextSupport         pkgs.gettext
   ++ lib.optional dbusSupport            pkgs.dbus
-  ++ lib.optional mpg123Support          pkgs.mpg123
   ++ lib.optional openalSupport          pkgs.openal
   ++ lib.optional cairoSupport           pkgs.cairo
-  ++ lib.optional tiffSupport            pkgs.libtiff
   ++ lib.optional odbcSupport            pkgs.unixODBC
   ++ lib.optional netapiSupport          pkgs.samba4
   ++ lib.optional cursesSupport          pkgs.ncurses
@@ -55,35 +80,47 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optional pcapSupport            pkgs.libpcap
   ++ lib.optional v4lSupport             pkgs.libv4l
   ++ lib.optional saneSupport            pkgs.sane-backends
-  ++ lib.optional gsmSupport             pkgs.gsm
   ++ 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        pkgs.xorg.libXinerama
+  ++ 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 faudioSupport          pkgs.faudio
-  ++ lib.optional vkd3dSupport           vkd3d
+  ++ 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
     (gst-plugins-bad.override { enableZbar = false; }) ])
   ++ lib.optionals gtkSupport    [ pkgs.gtk3 pkgs.glib ]
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
-  ++ lib.optionals xmlSupport    [ pkgs.libxml2 pkgs.libxslt ]
   ++ lib.optionals tlsSupport    [ pkgs.openssl pkgs.gnutls ]
   ++ lib.optionals (openglSupport && !stdenv.isDarwin) [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ]
   ++ lib.optionals stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [
      CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration Security
      ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenAL OpenCL Cocoa Carbon
   ])
-  ++ lib.optionals stdenv.isLinux  (with pkgs.xorg; [
-     libXi libXcursor libXrandr libXrender libXxf86vm libXcomposite libXext
+  ++ lib.optionals (stdenv.isLinux && !waylandSupport) (with pkgs.xorg; [
+     libX11 libXi libXcursor libXrandr libXrender libXxf86vm libXcomposite libXext
+  ])
+  ++ lib.optionals waylandSupport (with pkgs; [
+     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 (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
@@ -93,6 +130,8 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
       # libpulsecommon.so is linked but not found otherwise
       ++ lib.optionals supportFlags.pulseaudioSupport (map (x: "${lib.getLib x}/lib/pulseaudio")
           (toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ])))
+      ++ lib.optionals supportFlags.waylandSupport (map (x: "${lib.getLib x}/share/wayland-protocols")
+          (toBuildInputs pkgArches (pkgs: [ pkgs.wayland-protocols ])))
     ));
 
   # Don't shrink the ELF RPATHs in order to keep the extra RPATH
@@ -144,13 +183,17 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
     ++ lib.optional (stdenv.hostPlatform.isDarwin) "fortify"
     ++ lib.optional (supportFlags.mingwSupport) "format";
 
-  passthru = { inherit pkgArches; };
+  passthru = {
+    inherit pkgArches;
+    tests = { inherit (nixosTests) wine; };
+  };
   meta = {
-    inherit version platforms;
+    inherit version;
     homepage = "https://www.winehq.org/";
     license = with lib.licenses; [ lgpl21Plus ];
-    description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
-    maintainers = with lib.maintainers; [ avnik raskin bendlas ];
+    description = if supportFlags.waylandSupport then "An Open Source implementation of the Windows API on top of OpenGL and Unix (with experimental Wayland support)" else "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
+    platforms = if supportFlags.waylandSupport then (lib.remove "x86_64-darwin" prevPlatforms) else prevPlatforms;
+    maintainers = with lib.maintainers; [ avnik raskin bendlas jmc-figueira ];
     mainProgram = "wine";
   };
 })
diff --git a/nixpkgs/pkgs/misc/emulators/wine/builder-wow.sh b/nixpkgs/pkgs/applications/emulators/wine/builder-wow.sh
index c006db3116b5..0dd3194dc536 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/builder-wow.sh
+++ b/nixpkgs/pkgs/applications/emulators/wine/builder-wow.sh
@@ -1,6 +1,7 @@
 ## build described at http://wiki.winehq.org/Wine64
 
 source $stdenv/setup
+preFlags="${configureFlags}"
 
 unpackPhase
 cd $TMP/$sourceRoot
@@ -11,14 +12,14 @@ mkdir -p $TMP/wine-wow $TMP/wine64
 
 cd $TMP/wine64
 sourceRoot=`pwd`
-configureFlags="--enable-win64"
+configureFlags="${preFlags} --enable-win64"
 configurePhase
 buildPhase
 # checkPhase
 
 cd $TMP/wine-wow
 sourceRoot=`pwd`
-configureFlags="--with-wine64=../wine64"
+configureFlags="${preFlags} --with-wine64=../wine64"
 configurePhase
 buildPhase
 # checkPhase
diff --git a/nixpkgs/pkgs/misc/emulators/wine/cert-path-6.21.patch b/nixpkgs/pkgs/applications/emulators/wine/cert-path.patch
index f0727f422f8c..f0727f422f8c 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/cert-path-6.21.patch
+++ b/nixpkgs/pkgs/applications/emulators/wine/cert-path.patch
diff --git a/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch
new file mode 100644
index 000000000000..aeee7533bbd4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/wine/default.nix b/nixpkgs/pkgs/applications/emulators/wine/default.nix
index 023d013740dd..37953f73c5dc 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/default.nix
@@ -1,17 +1,14 @@
 ## Configuration:
 # Control you default wine config in nixpkgs-config:
 # wine = {
-#   release = "stable"; # "stable", "unstable", "staging"
+#   release = "stable"; # "stable", "unstable", "staging", "wayland"
 #   build = "wineWow"; # "wine32", "wine64", "wineWow"
 # };
 # 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",
-  pngSupport ? false,
-  jpegSupport ? false,
-  tiffSupport ? false,
   gettextSupport ? false,
   fontconfigSupport ? false,
   alsaSupport ? false,
@@ -20,9 +17,7 @@
   tlsSupport ? false,
   gstreamerSupport ? false,
   cupsSupport ? false,
-  colorManagementSupport ? false,
   dbusSupport ? false,
-  mpg123Support ? false,
   openalSupport ? false,
   openclSupport ? false,
   cairoSupport ? false,
@@ -33,33 +28,35 @@
   pcapSupport ? false,
   v4lSupport ? false,
   saneSupport ? false,
-  gsmSupport ? false,
   gphoto2Support ? false,
+  krb5Support ? false,
   ldapSupport ? false,
   pulseaudioSupport ? false,
   udevSupport ? false,
   xineramaSupport ? false,
-  xmlSupport ? false,
   vulkanSupport ? false,
   sdlSupport ? false,
-  faudioSupport ? false,
   vkd3dSupport ? false,
+  usbSupport ? false,
   mingwSupport ? wineRelease != "stable",
-  embedInstallers ? false # The Mono and Gecko MSI installers
+  waylandSupport ? wineRelease == "wayland",
+  embedInstallers ? false, # The Mono and Gecko MSI installers
+  moltenvk ? darwin.moltenvk # Allow users to override MoltenVK easily
 }:
 
 let wine-build = build: release:
       lib.getAttr build (callPackage ./packages.nix {
         wineRelease = release;
         supportFlags = {
-          inherit pngSupport jpegSupport cupsSupport colorManagementSupport gettextSupport
-                  dbusSupport mpg123Support openalSupport cairoSupport tiffSupport odbcSupport
-                  netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
-                  gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
-                  pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
-                  openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport faudioSupport
-                  vkd3dSupport mingwSupport embedInstallers;
+          inherit
+            cupsSupport gettextSupport dbusSupport openalSupport cairoSupport
+            odbcSupport netapiSupport cursesSupport vaSupport pcapSupport
+            v4lSupport saneSupport gphoto2Support krb5Support ldapSupport fontconfigSupport
+            alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport
+            tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport
+            sdlSupport usbSupport vkd3dSupport mingwSupport waylandSupport embedInstallers;
         };
+        inherit moltenvk;
       });
 
 in if wineRelease == "staging" then
diff --git a/nixpkgs/pkgs/misc/emulators/wine/fonts.nix b/nixpkgs/pkgs/applications/emulators/wine/fonts.nix
index 0ee1b3973d86..0ee1b3973d86 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/fonts.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/fonts.nix
diff --git a/nixpkgs/pkgs/misc/emulators/wine/packages.nix b/nixpkgs/pkgs/applications/emulators/wine/packages.nix
index c4fec3360e1f..bf3f57aff0ff 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/packages.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/packages.nix
@@ -1,14 +1,18 @@
-{ 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 {});
+let
+  src = lib.getAttr wineRelease (callPackage ./sources.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 ];
     mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc ];
     monos =  [ mono ];
@@ -16,8 +20,9 @@ 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 ];
     geckos = [ gecko64 ];
     monos =  [ mono ];
@@ -26,9 +31,10 @@ 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 ];
     geckos = [ gecko32 gecko64 ];
     mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc mingwW64.buildPackages.gcc ];
     monos =  [ mono ];
diff --git a/nixpkgs/pkgs/applications/emulators/wine/setup-hook-darwin.sh b/nixpkgs/pkgs/applications/emulators/wine/setup-hook-darwin.sh
new file mode 100644
index 000000000000..39eee193ded6
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/wine/sources.nix b/nixpkgs/pkgs/applications/emulators/wine/sources.nix
index 41b019461a81..b98aceddbd4d 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/sources.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/sources.nix
@@ -10,12 +10,14 @@ let fetchurl = args@{url, sha256, ...}:
   pkgs.fetchurl { inherit url sha256; } // args;
     fetchFromGitHub = args@{owner, repo, rev, sha256, ...}:
   pkgs.fetchFromGitHub { inherit owner repo rev sha256; } // args;
+    fetchFromGitLab = args@{domain, owner, repo, rev, sha256, ...}:
+  pkgs.fetchFromGitLab { inherit domain owner repo rev sha256; } // args;
 in rec {
 
   stable = fetchurl rec {
-    version = "6.0.2";
-    url = "https://dl.winehq.org/wine/source/6.0/wine-${version}.tar.xz";
-    sha256 = "sha256-3+PFiseFwHIg4o8VtiKZ12wk0lametm//Yrvpns9u3A=";
+    version = "7.0";
+    url = "https://dl.winehq.org/wine/source/7.0/wine-${version}.tar.xz";
+    sha256 = "sha256-W0PifVwIXLGPlzlORhgDENXu98HZHGiVQyo4ibLeCGs=";
 
     ## see http://wiki.winehq.org/Gecko
     gecko32 = fetchurl rec {
@@ -31,9 +33,9 @@ in rec {
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "5.1.1";
+      version = "7.0.0";
       url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
-      sha256 = "09wjrfxbw0072iv6d2vqnkc3y7dzj15vp8mv4ay44n1qp5ji4m3l";
+      sha256 = "sha256-s35vyeWQ5YIkPcJdcqX8wzDDp5cN/cmKeoHSOEW6iQA=";
     };
 
     patches = [
@@ -44,28 +46,22 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "7.0-rc2";
-    url = "https://dl.winehq.org/wine/source/7.0/wine-${version}.tar.xz";
-    sha256 = "sha256-D92OOa9fFdBd0wZbtRLz9oOhhJ3AtHcSZP0EaWyW7X0=";
-    inherit (stable) gecko32 gecko64;
+    version = "7.2";
+    url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
+    sha256 = "sha256-38ZBUjyNvGZBaLYXREFjPZcSdUVr9n3i3KqZyNql7hU=";
+    inherit (stable) gecko32 gecko64 patches;
 
-    ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "7.0.0";
+      version = "7.1.1";
       url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
-      sha256 = "sha256-s35vyeWQ5YIkPcJdcqX8wzDDp5cN/cmKeoHSOEW6iQA=";
+      sha256 = "sha256-ncjlYDt7xkNU65SuTqD2ghQkdno/9E/w0Z40akkMEeo=";
     };
-
-    patches = [
-      # Also look for root certificates at $NIX_SSL_CERT_FILE
-      ./cert-path-6.21.patch
-     ];
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "sha256-UkwvKKRXyFjLfYbL8Ienpp5pxUzMQY1bEyAkoP7Xdz4=";
+    sha256 = "sha256-Ec9rienlsDg+2QkJqPrGorDb5NycG1/iGWhnqLZOrwg=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
@@ -73,6 +69,19 @@ in rec {
     disabledPatchsets = [ ];
   };
 
+  wayland = fetchFromGitLab rec {
+    version = "7.0-rc2";
+    sha256 = "sha256-FU9L8cyIIfFQ+8f/AUg7IT+RxTpyNTuSfL0zBnur0SA=";
+    domain = "gitlab.collabora.com";
+    owner = "alf";
+    repo = "wine";
+    rev = "95f0154c96a4b7d81e783ee5ba2f5d9cc7cda351";
+
+    inherit (unstable) gecko32 gecko64;
+
+    inherit (unstable) mono;
+  };
+
   winetricks = fetchFromGitHub rec {
     # https://github.com/Winetricks/winetricks/releases
     version = "20210825";
diff --git a/nixpkgs/pkgs/misc/emulators/wine/staging.nix b/nixpkgs/pkgs/applications/emulators/wine/staging.nix
index c6bdb4012457..c6bdb4012457 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/staging.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/staging.nix
diff --git a/nixpkgs/pkgs/misc/emulators/wine/util.nix b/nixpkgs/pkgs/applications/emulators/wine/util.nix
index cd5bd03130b6..cd5bd03130b6 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/util.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/util.nix
diff --git a/nixpkgs/pkgs/misc/emulators/wine/vkd3d.nix b/nixpkgs/pkgs/applications/emulators/wine/vkd3d.nix
index 303d33df217d..ac7c399cd97b 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/vkd3d.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/wine/winetricks.nix b/nixpkgs/pkgs/applications/emulators/wine/winetricks.nix
index 26c141a71e74..61ca6515c448 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/winetricks.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/winetricks.nix
@@ -2,7 +2,8 @@
 , cabextract, unzip, p7zip, gnused, gnugrep, bash } :
 
 stdenv.mkDerivation rec {
-  name = "winetricks-${src.version}";
+  pname = "winetricks";
+  version = src.version;
 
   src = (callPackage ./sources.nix {}).winetricks;
 
diff --git a/nixpkgs/pkgs/misc/emulators/xcpc/default.nix b/nixpkgs/pkgs/applications/emulators/xcpc/default.nix
index 633d44bb5ae4..633d44bb5ae4 100644
--- a/nixpkgs/pkgs/misc/emulators/xcpc/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/xcpc/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch b/nixpkgs/pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
index 43539ef4ca58..43539ef4ca58 100644
--- a/nixpkgs/pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
+++ b/nixpkgs/pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
diff --git a/nixpkgs/pkgs/misc/emulators/yabause/default.nix b/nixpkgs/pkgs/applications/emulators/yabause/default.nix
index 17b7b563c15f..17b7b563c15f 100644
--- a/nixpkgs/pkgs/misc/emulators/yabause/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/yabause/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch b/nixpkgs/pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch
index bb0491b373f8..bb0491b373f8 100644
--- a/nixpkgs/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch
+++ b/nixpkgs/pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch
diff --git a/nixpkgs/pkgs/misc/emulators/yapesdl/default.nix b/nixpkgs/pkgs/applications/emulators/yapesdl/default.nix
index 5f4b7771fb5f..5f4b7771fb5f 100644
--- a/nixpkgs/pkgs/misc/emulators/yapesdl/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/yapesdl/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/yuzu/base.nix b/nixpkgs/pkgs/applications/emulators/yuzu/base.nix
index 4bee17c6954e..aff09134fae9 100644
--- a/nixpkgs/pkgs/misc/emulators/yuzu/base.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/yuzu/default.nix b/nixpkgs/pkgs/applications/emulators/yuzu/default.nix
index c9f7cbd378f7..9e45ba0cd2cb 100644
--- a/nixpkgs/pkgs/misc/emulators/yuzu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/yuzu/default.nix
@@ -4,25 +4,25 @@ let
 in {
   mainline = libsForQt5.callPackage ./base.nix rec {
     pname = "yuzu-mainline";
-    version = "844";
+    version = "882";
     branchName = branch;
     src = fetchFromGitHub {
       owner = "yuzu-emu";
       repo = "yuzu-mainline";
       rev = "mainline-0-${version}";
-      sha256 = "0vr1pqackvcb1sppfaqsibkm1agpdlg70lqfl5gcizkq9668gr12";
+      sha256 = "17j845laxnaq50icwl32yisdivwcnwa59fxdr297yxrz4hmfzhxq";
       fetchSubmodules = true;
     };
   };
   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/nixpkgs/pkgs/misc/emulators/zesarux/default.nix b/nixpkgs/pkgs/applications/emulators/zesarux/default.nix
index 4df6cfafbc01..4df6cfafbc01 100644
--- a/nixpkgs/pkgs/misc/emulators/zesarux/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/zesarux/default.nix
diff --git a/nixpkgs/pkgs/misc/emulators/zsnes/default.nix b/nixpkgs/pkgs/applications/emulators/zsnes/default.nix
index e965816d0257..ba2f5d6bdc1c 100644
--- a/nixpkgs/pkgs/misc/emulators/zsnes/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/zsnes/default.nix
@@ -58,7 +58,7 @@ in stdenv.mkDerivation {
     description = "A Super Nintendo Entertainment System Emulator";
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.sander ];
-    homepage = "http://www.zsnes.com";
+    homepage = "https://www.zsnes.com";
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/finance/odoo/default.nix b/nixpkgs/pkgs/applications/finance/odoo/default.nix
index c2f201774fea..66b1bb0f97fe 100644
--- a/nixpkgs/pkgs/applications/finance/odoo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/gis/gmt/dcw.nix b/nixpkgs/pkgs/applications/gis/gmt/dcw.nix
index 627ca8088957..a31932dd2760 100644
--- a/nixpkgs/pkgs/applications/gis/gmt/dcw.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/gis/gmt/default.nix b/nixpkgs/pkgs/applications/gis/gmt/default.nix
index a894d121bd3d..0420619e8779 100644
--- a/nixpkgs/pkgs/applications/gis/gmt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/gis/grass/default.nix b/nixpkgs/pkgs/applications/gis/grass/default.nix
index 09c1fddbda21..5ca31cc04052 100644
--- a/nixpkgs/pkgs/applications/gis/grass/default.nix
+++ b/nixpkgs/pkgs/applications/gis/grass/default.nix
@@ -1,24 +1,29 @@
 { lib, stdenv, fetchFromGitHub, flex, bison, pkg-config, zlib, libtiff, libpng, fftw
-, cairo, readline, ffmpeg_3, makeWrapper, wxGTK30, netcdf, blas
-, proj, gdal, geos, sqlite, postgresql, libmysqlclient, python2Packages, libLAS, proj-datumgrid
+, cairo, readline, ffmpeg, makeWrapper, wxGTK30, wxmac, netcdf, blas
+, proj, gdal, geos, sqlite, postgresql, libmysqlclient, python3Packages, libLAS, proj-datumgrid
+, zstd, pdal, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   name = "grass";
-  version = "7.6.1";
+  version = "7.8.6";
 
   src = with lib; fetchFromGitHub {
     owner = "OSGeo";
     repo = "grass";
-    rev = "${name}_${replaceStrings ["."] ["_"] version}";
-    sha256 = "1amjk9rz7vw5ha7nyl5j2bfwj5if9w62nlwx5qbp1x7spldimlll";
+    rev = version;
+    sha256 = "sha256-zvZqFWuxNyA+hu+NMiRbQVdzzrQPsZrdGdfVB17+SbM=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo proj
-  readline ffmpeg_3 makeWrapper wxGTK30 netcdf geos postgresql libmysqlclient blas
-  libLAS proj-datumgrid ]
-    ++ (with python2Packages; [ python python-dateutil wxPython30 numpy ]);
+  buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite
+  readline ffmpeg makeWrapper netcdf geos postgresql libmysqlclient blas
+  libLAS proj-datumgrid zstd wrapGAppsHook ]
+    ++ lib.optionals stdenv.isLinux [ cairo pdal wxGTK30 ]
+    ++ lib.optional stdenv.isDarwin wxmac
+    ++ (with python3Packages; [ python python-dateutil numpy ]
+      ++ lib.optional stdenv.isDarwin wxPython_4_0
+      ++ lib.optional stdenv.isLinux wxPython_4_1);
 
   # On Darwin the installer tries to symlink the help files into a system
   # directory
@@ -32,7 +37,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-proj-share=${proj}/share/proj"
     "--with-proj-includes=${proj.dev}/include"
-    "--with-proj-lib=${proj}/lib"
+    "--with-proj-libs=${proj}/lib"
     "--without-opengl"
     "--with-readline"
     "--with-wxwidgets"
@@ -46,6 +51,15 @@ stdenv.mkDerivation rec {
     "--with-mysql-libs=${libmysqlclient}/lib/mysql"
     "--with-blas"
     "--with-liblas=${libLAS}/bin/liblas-config"
+    "--with-zstd"
+    "--with-fftw"
+    "--with-pthread"
+  ] ++ lib.optionals stdenv.isLinux [
+    "--with-pdal"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "--without-cairo"
+    "--without-freetype"
+    "--without-x"
   ];
 
   # Otherwise a very confusing "Can't load GDAL library" error
@@ -62,6 +76,7 @@ stdenv.mkDerivation rec {
       scripts/g.extension.all/g.extension.all.py \
       scripts/r.drain/r.drain.py \
       scripts/r.pack/r.pack.py \
+      scripts/r.import/r.import.py \
       scripts/r.tileset/r.tileset.py \
       scripts/r.unpack/r.unpack.py \
       scripts/v.clip/v.clip.py \
@@ -79,18 +94,17 @@ stdenv.mkDerivation rec {
       temporal/t.rast.algebra/t.rast.algebra.py \
       temporal/t.rast3d.algebra/t.rast3d.algebra.py \
       temporal/t.vect.algebra/t.vect.algebra.py \
+      temporal/t.downgrade/t.downgrade.py \
       temporal/t.select/t.select.py
     for d in gui lib scripts temporal tools; do
       patchShebangs $d
     done
   '';
 
-  NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1";
-
   postInstall = ''
-    wrapProgram $out/bin/grass76 \
+    wrapProgram $out/bin/grass78 \
     --set PYTHONPATH $PYTHONPATH \
-    --set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable} \
+    --set GRASS_PYTHON ${python3Packages.python.interpreter} \
     --suffix LD_LIBRARY_PATH ':' '${gdal}/lib'
     ln -s $out/grass*/lib $out/lib
     ln -s $out/grass*/include $out/include
diff --git a/nixpkgs/pkgs/applications/gis/qgis/default.nix b/nixpkgs/pkgs/applications/gis/qgis/default.nix
index f272fd04dd0d..b3220f8d7081 100644
--- a/nixpkgs/pkgs/applications/gis/qgis/default.nix
+++ b/nixpkgs/pkgs/applications/gis/qgis/default.nix
@@ -1,17 +1,21 @@
 { lib, makeWrapper, symlinkJoin
-, qgis-unwrapped, extraPythonPackages ? (ps: [ ])
+, extraPythonPackages ? (ps: [ ])
+, libsForQt5
 }:
 with lib;
-symlinkJoin rec {
+let
+  qgis-unwrapped = libsForQt5.callPackage ./unwrapped.nix {  };
+in symlinkJoin rec {
+
   inherit (qgis-unwrapped) version;
   name = "qgis-${version}";
 
   paths = [ qgis-unwrapped ];
 
-  nativeBuildInputs = [ makeWrapper qgis-unwrapped.python3Packages.wrapPython ];
+  nativeBuildInputs = [ makeWrapper qgis-unwrapped.py.pkgs.wrapPython ];
 
   # extend to add to the python environment of QGIS without rebuilding QGIS application.
-  pythonInputs = qgis-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-unwrapped.python3Packages);
+  pythonInputs = qgis-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-unwrapped.py.pkgs);
 
   postBuild = ''
     # unpackPhase
@@ -23,5 +27,7 @@ symlinkJoin rec {
       --set PYTHONPATH $program_PYTHONPATH
   '';
 
+  passthru.unwrapped = qgis-unwrapped;
+
   meta = qgis-unwrapped.meta;
 }
diff --git a/nixpkgs/pkgs/applications/gis/qgis/ltr.nix b/nixpkgs/pkgs/applications/gis/qgis/ltr.nix
new file mode 100644
index 000000000000..5db9a26ae758
--- /dev/null
+++ b/nixpkgs/pkgs/applications/gis/qgis/ltr.nix
@@ -0,0 +1,32 @@
+{ lib, makeWrapper, symlinkJoin
+, extraPythonPackages ? (ps: [ ])
+, libsForQt5
+}:
+with lib;
+let
+  qgis-ltr-unwrapped = libsForQt5.callPackage ./unwrapped-ltr.nix {  };
+in symlinkJoin rec {
+
+  inherit (qgis-ltr-unwrapped) version;
+  name = "qgis-${version}";
+
+  paths = [ qgis-ltr-unwrapped ];
+
+  nativeBuildInputs = [ makeWrapper qgis-ltr-unwrapped.py.pkgs.wrapPython ];
+
+  # extend to add to the python environment of QGIS without rebuilding QGIS application.
+  pythonInputs = qgis-ltr-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-ltr-unwrapped.py.pkgs);
+
+  postBuild = ''
+
+    buildPythonPath "$pythonInputs"
+
+    wrapProgram $out/bin/qgis \
+      --prefix PATH : $program_PATH \
+      --set PYTHONPATH $program_PYTHONPATH
+  '';
+
+  passthru.unwrapped = qgis-ltr-unwrapped;
+
+  inherit (qgis-ltr-unwrapped) meta;
+}
diff --git a/nixpkgs/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/nixpkgs/pkgs/applications/gis/qgis/unwrapped-ltr.nix
new file mode 100644
index 000000000000..3de304f586fd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -0,0 +1,148 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, ninja
+, flex
+, bison
+, proj
+, geos
+, xlibsWrapper
+, sqlite
+, gsl
+, qwt
+, fcgi
+, python3
+, libspatialindex
+, libspatialite
+, postgresql
+, txt2tags
+, openssl
+, libzip
+, hdf5
+, netcdf
+, exiv2
+, protobuf
+, qtbase
+, qtsensors
+, qca-qt5
+, qtkeychain
+, qt3d
+, qscintilla
+, qtserialport
+, qtxmlpatterns
+, withGrass ? true
+, grass
+, withWebKit ? true
+, qtwebkit
+, makeWrapper
+}:
+
+let
+
+  py = python3.override {
+    packageOverrides = self: super: {
+      pyqt5 = super.pyqt5.override {
+        withLocation = true;
+      };
+    };
+  };
+
+  pythonBuildInputs = with py.pkgs; [
+    qscintilla-qt5
+    gdal
+    jinja2
+    numpy
+    psycopg2
+    chardet
+    python-dateutil
+    pyyaml
+    pytz
+    requests
+    urllib3
+    pygments
+    pyqt5
+    sip_4
+    owslib
+    six
+  ];
+in mkDerivation rec {
+  version = "3.16.16";
+  pname = "qgis-ltr-unwrapped";
+
+  src = fetchFromGitHub {
+    owner = "qgis";
+    repo = "QGIS";
+    rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
+    sha256 = "85RlV1Ik1BeN9B7UE51ktTWMiGkMga2E/fnhyiVwjIs=";
+  };
+
+  passthru = {
+    inherit pythonBuildInputs;
+    inherit py;
+  };
+
+  buildInputs = [
+    openssl
+    proj
+    geos
+    xlibsWrapper
+    sqlite
+    gsl
+    qwt
+    exiv2
+    protobuf
+    fcgi
+    libspatialindex
+    libspatialite
+    postgresql
+    txt2tags
+    libzip
+    hdf5
+    netcdf
+    qtbase
+    qtsensors
+    qca-qt5
+    qtkeychain
+    qscintilla
+    qtserialport
+    qtxmlpatterns
+    qt3d
+  ] ++ lib.optional withGrass grass
+    ++ lib.optional withWebKit qtwebkit
+    ++ pythonBuildInputs;
+
+  nativeBuildInputs = [ makeWrapper cmake flex bison ninja ];
+
+  # Force this pyqt_sip_dir variable to point to the sip dir in PyQt5
+  #
+  # TODO: Correct PyQt5 to provide the expected directory and fix
+  # build to use PYQT5_SIP_DIR consistently.
+  postPatch = ''
+    substituteInPlace cmake/FindPyQt5.py \
+      --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"'
+  '';
+
+  cmakeFlags = [
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF"
+    "-DWITH_3D=True"
+    "-DPYQT5_SIP_DIR=${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
+    "-DQSCI_SIP_DIR=${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
+  ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
+    ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/grass78";
+
+  postFixup = lib.optionalString withGrass ''
+    # grass has to be availble on the command line even though we baked in
+    # the path at build time using GRASS_PREFIX
+    wrapProgram $out/bin/qgis \
+      --prefix PATH : ${lib.makeBinPath [ grass ]}
+  '';
+
+  meta = with lib; {
+    description = "A Free and Open Source Geographic Information System";
+    homepage = "https://www.qgis.org";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lsix sikmir erictapen ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
index 0ec81c785b4b..816368bbabc6 100644
--- a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
@@ -12,7 +12,7 @@
 , gsl
 , qwt
 , fcgi
-, python3Packages
+, python3
 , libspatialindex
 , libspatialite
 , postgresql
@@ -27,6 +27,7 @@
 , qtsensors
 , qca-qt5
 , qtkeychain
+, qt3d
 , qscintilla
 , qtserialport
 , qtxmlpatterns
@@ -34,10 +35,22 @@
 , grass
 , withWebKit ? true
 , qtwebkit
+, pdal
+, zstd
+, makeWrapper
 }:
 
 let
-  pythonBuildInputs = with python3Packages; [
+
+  py = python3.override {
+    packageOverrides = self: super: {
+      pyqt5 = super.pyqt5.override {
+        withLocation = true;
+      };
+    };
+  };
+
+  pythonBuildInputs = with py.pkgs; [
     qscintilla-qt5
     gdal
     jinja2
@@ -56,19 +69,19 @@ let
     six
   ];
 in mkDerivation rec {
-  version = "3.16.14";
+  version = "3.22.3";
   pname = "qgis-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "sha256-3FUGSBdlhJhhpTPtYuzKOznsC7PJV3kRL9Il2Yryi1Q=";
+    sha256 = "TLXhXHU0dp0MnKHFw/+1rQnJbebnwje21Oasy0qWctk=";
   };
 
   passthru = {
     inherit pythonBuildInputs;
-    inherit python3Packages;
+    inherit py;
   };
 
   buildInputs = [
@@ -96,11 +109,14 @@ in mkDerivation rec {
     qscintilla
     qtserialport
     qtxmlpatterns
+    qt3d
+    pdal
+    zstd
   ] ++ lib.optional withGrass grass
     ++ lib.optional withWebKit qtwebkit
     ++ pythonBuildInputs;
 
-  nativeBuildInputs = [ cmake flex bison ninja ];
+  nativeBuildInputs = [ makeWrapper cmake flex bison ninja ];
 
   # Force this pyqt_sip_dir variable to point to the sip dir in PyQt5
   #
@@ -108,15 +124,24 @@ in mkDerivation rec {
   # build to use PYQT5_SIP_DIR consistently.
   postPatch = ''
     substituteInPlace cmake/FindPyQt5.py \
-      --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"'
+      --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"'
   '';
 
   cmakeFlags = [
     "-DCMAKE_SKIP_BUILD_RPATH=OFF"
-    "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
-    "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5"
+    "-DWITH_3D=True"
+    "-DWITH_PDAL=TRUE"
+    "-DPYQT5_SIP_DIR=${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
+    "-DQSCI_SIP_DIR=${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
   ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
-    ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
+    ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/grass78";
+
+  postFixup = lib.optionalString withGrass ''
+    # grass has to be availble on the command line even though we baked in
+    # the path at build time using GRASS_PREFIX
+    wrapProgram $out/bin/qgis \
+      --prefix PATH : ${lib.makeBinPath [ grass ]}
+  '';
 
   meta = {
     description = "A Free and Open Source Geographic Information System";
diff --git a/nixpkgs/pkgs/applications/gis/zombietrackergps/default.nix b/nixpkgs/pkgs/applications/gis/zombietrackergps/default.nix
index 51740b5ad609..f73748d420b2 100644
--- a/nixpkgs/pkgs/applications/gis/zombietrackergps/default.nix
+++ b/nixpkgs/pkgs/applications/gis/zombietrackergps/default.nix
@@ -11,13 +11,13 @@
 
 mkDerivation rec {
   pname = "zombietrackergps";
-  version = "1.03";
+  version = "1.10";
 
   src = fetchFromGitLab {
     owner = "ldutils-projects";
     repo = pname;
     rev = "v_${version}";
-    sha256 = "1rmdy6kijmcxamm4mqmz8638xqisijlnpv8mimgxywpf90h9rrwq";
+    sha256 = "sha256-qRhCAOVWyDLD3WDptPRQVq+VwyFu83XQNaL5TMsGs4Y=";
   };
 
   buildInputs = [
@@ -33,7 +33,10 @@ mkDerivation rec {
   ];
 
   prePatch = ''
-    sed -ie "s,INCLUDEPATH += /usr/include/libldutils,INCLUDEPATH += ${ldutils}," ZombieTrackerGPS.pro
+    substituteInPlace ztgps.pro --replace "../libldutils" "libldutils"
+    substituteInPlace tests.pro --replace "../libldutils" "libldutils"
+
+    ln -s ${ldutils} libldutils
   '';
 
   preConfigure = ''
@@ -41,10 +44,17 @@ mkDerivation rec {
     export INSTALL_ROOT=$out
   '';
 
-  postConfigure = ''
-    substituteInPlace Makefile --replace '$(INSTALL_ROOT)' ""
+  preInstall = ''
+    substituteInPlace Makefile.ztgps --replace '$(INSTALL_ROOT)' ""
+    substituteInPlace Makefile.art --replace '$(INSTALL_ROOT)' ""
+  '';
+
+  postInstall = ''
+    install -Dm644 build/rcc/*.rcc -t $out/share/zombietrackergps
   '';
 
+  qmakeFlags = [ "ZombieTrackerGPS.pro" ];
+
   meta = with lib; {
     description = "GPS track manager for Qt using KDE Marble maps";
     homepage = "https://www.zombietrackergps.net/ztgps/";
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
index 54f838499956..f7780e4fd607 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv, fetchurl, pkg-config, libtool
+{ 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
-, ApplicationServices
+, potrace, ApplicationServices
 , Foundation
 , testVersion, imagemagick
 }:
@@ -18,11 +18,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-19";
+  version = "7.1.0-26";
 
-  src = fetchurl {
-    url = "https://download.imagemagick.org/ImageMagick/download/releases/ImageMagick-${version}.tar.xz";
-    hash = "sha256-P9eRdKsPMLwWQ68+ZU8dL/zDqVVCY5gRVWiLT0n3/Xc=";
+  src = fetchFromGitHub {
+    owner = "ImageMagick";
+    repo = "ImageMagick";
+    rev = version;
+    hash = "sha256-q1CL64cfyb5fN9aVYJfls+v0XRFd4jH+B8n+UJqPE1I=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -49,7 +51,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config libtool ];
 
   buildInputs =
-    [ zlib fontconfig freetype ghostscript
+    [ zlib fontconfig freetype ghostscript potrace
       liblqr1 libpng libraw libtiff libxml2 libheif djvulibre
     ]
     # libjxl is broken on aarch64 (see meta.broken in libjxl) for now,
diff --git a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix b/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
index 74dc55fc5e13..0e61da0041b6 100644
--- a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/blockbench-electron/default.nix b/nixpkgs/pkgs/applications/graphics/blockbench-electron/default.nix
index a9c258ce925d..1968756496bb 100644
--- a/nixpkgs/pkgs/applications/graphics/blockbench-electron/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/blockbench-electron/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_8 }:
+{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_16 }:
 
 stdenv.mkDerivation rec {
   pname = "blockbench-electron";
-  version = "3.7.5";
+  version = "4.1.1";
 
   src = fetchurl {
     url = "https://github.com/JannisX11/blockbench/releases/download/v${version}/Blockbench_${version}.AppImage";
-    sha256 = "0qqklhncd4khqmgp7jg7wap2rzkrg8b6dflmz0wmm5zxxp5vcy1c";
+    sha256 = "0mqdkjhmylrjjfrm05jv1967qqka5263fgcn9qzax08gcq93s18f";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
-    makeWrapper ${electron_8}/bin/electron $out/bin/${pname} \
+    makeWrapper ${electron_16}/bin/electron $out/bin/${pname} \
       --add-flags $out/share/${pname}/resources/app.asar \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ]}"
   '';
diff --git a/nixpkgs/pkgs/applications/graphics/darktable/default.nix b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
index d62addea4fea..e950d5e36f5c 100644
--- a/nixpkgs/pkgs/applications/graphics/darktable/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
@@ -52,17 +52,16 @@
 , libaom
 , portmidi
 , fetchpatch
-, lua5_4
-, ...
+, lua
 }:
 
 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 ];
@@ -104,7 +103,7 @@ stdenv.mkDerivation rec {
     libheif
     libaom
     portmidi
-    lua5_4
+    lua
   ] ++ lib.optionals stdenv.isLinux [
     colord
     colord-gtk
@@ -120,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/nixpkgs/pkgs/applications/graphics/deskew/default.nix b/nixpkgs/pkgs/applications/graphics/deskew/default.nix
index 66309ebf7acf..c19b5de2b69c 100644
--- a/nixpkgs/pkgs/applications/graphics/deskew/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/displaycal/default.nix b/nixpkgs/pkgs/applications/graphics/displaycal/default.nix
deleted file mode 100644
index 3b6bb01bb150..000000000000
--- a/nixpkgs/pkgs/applications/graphics/displaycal/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ python2
-, lib
-, fetchurl
-, pkg-config
-, libXext
-, libXxf86vm
-, libX11
-, libXrandr
-, libXinerama
-, libXScrnSaver
-, argyllcms
- }:
-
-let
-  inherit (python2.pkgs) buildPythonApplication wxPython numpy dbus-python;
-in buildPythonApplication rec {
-  pname = "displaycal";
-  version = "3.8.9.3";
-
-  enableParallelBuilding = true;
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/dispcalgui/release/${version}/DisplayCAL-${version}.tar.gz";
-    sha256 = "1sivi4q7sqsrc95qg5gh37bsm2761md4mpl89hflzwk6kyyxyd3w";
-  };
-
-  propagatedBuildInputs = [
-    libXext
-    libXxf86vm
-    libX11
-    libXrandr
-    libXinerama
-    libXScrnSaver
-    argyllcms
-    wxPython
-    numpy
-    dbus-python
-  ];
-
-  nativeBuildInputs = [
-    pkg-config
-  ];
-
-  preConfigure = ''
-    mkdir dist
-    cp {misc,dist}/net.displaycal.DisplayCAL.appdata.xml
-    touch dist/copyright
-    mkdir -p $out
-    ln -s $out/share/DisplayCAL $out/Resources
-  '';
-
-  # no idea why it looks there - symlink .json lang (everything)
-  postInstall = ''
-    for x in $out/share/DisplayCAL/*; do
-      ln -s $x $out/lib/python2.7/site-packages/DisplayCAL
-    done
-
-    for prog in "$out/bin/"*; do
-      wrapProgram "$prog" \
-        --prefix PYTHONPATH : "$PYTHONPATH" \
-        --prefix PATH : ${argyllcms}/bin
-    done
-  '';
-
-  meta = {
-    description = "Display Calibration and Characterization powered by Argyll CMS";
-    homepage = "https://displaycal.net/";
-    license = lib.licenses.gpl3;
-    maintainers = [lib.maintainers.marcweber];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/graphics/drawing/default.nix b/nixpkgs/pkgs/applications/graphics/drawing/default.nix
index 9c25b2784b40..a08f75d3b71d 100644
--- a/nixpkgs/pkgs/applications/graphics/drawing/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawing/default.nix
@@ -17,7 +17,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "drawing";
-  version = "0.8.3";
+  version = "0.8.5";
 
   format = "other";
 
@@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "maoschanz";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qDLJ+Mw4z66ro9/zoEIzDJpA+jJLYw0WgsP7mA+56XM=";
+    sha256 = "1q4a1gwmzz0rm10cnd4nzd51zfc2bjc6dsvf90qk1di9x7svis64";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
index e229302bf553..57439313bf24 100644
--- a/nixpkgs/pkgs/applications/graphics/drawio/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "16.1.2";
+  version = "16.5.1";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
-    sha256 = "b86ff3f77b17e7da66979fe8ea878685c0018273f5d0302f10d3094d502452ee";
+    sha256 = "a8ebf2560820d2d05677b9b16fc863f555dde8235b3e34acd7916eee3544eaa9";
   };
 
   nativeBuildInputs = [
@@ -86,6 +86,12 @@ stdenv.mkDerivation rec {
       --replace /opt/drawio/drawio $out/bin/drawio
   '';
 
+  doInstallCheckPhase = true;
+
+  installCheckPhase = ''
+    $out/bin/drawio --help > /dev/null
+  '';
+
   meta = with lib; {
     description = "A desktop application for creating diagrams";
     homepage = "https://about.draw.io/";
diff --git a/nixpkgs/pkgs/applications/graphics/evilpixie/default.nix b/nixpkgs/pkgs/applications/graphics/evilpixie/default.nix
index 4c47283c42ac..2518eb0942a9 100644
--- a/nixpkgs/pkgs/applications/graphics/evilpixie/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/evilpixie/default.nix
@@ -49,9 +49,9 @@ in mkDerivation rec {
 
   meta = with lib; {
     description = "Pixel-oriented paint program, modelled on Deluxe Paint";
-    homepage = "http://evilpixie.scumways.com/";
+    homepage = "https://github.com/bcampbell/evilpixie"; # http://evilpixie.scumways.com/ is gone
     downloadPage = "https://github.com/bcampbell/evilpixie/releases";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/graphics/feh/default.nix b/nixpkgs/pkgs/applications/graphics/feh/default.nix
index c279ccf3df64..9c75742d52ba 100644
--- a/nixpkgs/pkgs/applications/graphics/feh/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/feh/default.nix
@@ -3,15 +3,13 @@
 , curl, libexif, jpegexiforient, perl
 , enableAutoreload ? !stdenv.hostPlatform.isDarwin }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "feh";
-  version = "3.7.2";
+  version = "3.8";
 
   src = fetchurl {
     url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-hHGP0nIM9UDSRXaElP4OtOWY9Es54jJrrow2ioKcglg=";
+    sha256 = "1a9bsq5j9sl2drzkab0hdhnamalpaszw9mz2prz6scrr5dak8g3z";
   };
 
   outputs = [ "out" "man" "doc" ];
@@ -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/nixpkgs/pkgs/applications/graphics/fig2dev/default.nix b/nixpkgs/pkgs/applications/graphics/fig2dev/default.nix
index 8fa85803bfd8..984d67f6ba7b 100644
--- a/nixpkgs/pkgs/applications/graphics/fig2dev/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix b/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
index 2771559416bf..63725b97431b 100644
--- a/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gcolor3/default.nix
@@ -6,7 +6,7 @@
 , pkg-config
 , libxml2
 , gtk3
-, libportal
+, libportal-gtk3
 , wrapGAppsHook
 }:
 
@@ -33,12 +33,16 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3
-    libportal
+    libportal-gtk3
   ];
 
   postPatch = ''
     chmod +x meson_install.sh # patchShebangs requires executable file
     patchShebangs meson_install.sh
+
+    # https://gitlab.gnome.org/World/gcolor3/merge_requests/151
+    substituteInPlace meson.build --replace "dependency(${"\n"}  'libportal'" "dependency(${"\n"}  'libportal-gtk3'"
+    substituteInPlace src/gcolor3-color-selection.c --replace "libportal/portal-gtk3.h" "libportal-gtk3/portal-gtk3.h"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/graphics/geeqie/default.nix b/nixpkgs/pkgs/applications/graphics/geeqie/default.nix
index 299c335e76c4..037cf7c8ed62 100644
--- a/nixpkgs/pkgs/applications/graphics/geeqie/default.nix
+++ b/nixpkgs/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
+, wrapGAppsHook, fetchpatch, bash, doxygen
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "geeqie";
-  version = "1.6";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "BestImageViewer";
     repo = "geeqie";
     rev = "v${version}";
-    sha256 = "sha256-fvqpimrtzNy2UStOw3qLfC8i8V1fSrmTTsvc1ihqPsU=";
+    sha256 = "sha256-Abr7trlms6bxOAqE6xNKRv51TBGNilNdBhUZUg7OTKY=";
   };
 
   patches = [
@@ -23,11 +24,15 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  postPatch = ''
+    patchShebangs .
+  '';
+
   preConfigure = "./autogen.sh";
 
   nativeBuildInputs =
     [ pkg-config autoconf automake gettext intltool
-      wrapGAppsHook
+      wrapGAppsHook bash doxygen
     ];
 
   buildInputs = [
@@ -43,6 +48,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "Lightweight GTK based image viewer";
 
@@ -59,7 +70,7 @@ stdenv.mkDerivation rec {
 
     license = licenses.gpl2Plus;
 
-    homepage = "http://geeqie.sourceforge.net";
+    homepage = "https://www.geeqie.org/";
 
     maintainers = with maintainers; [ jfrankenau pSub markus1189 ];
     platforms = platforms.gnu ++ platforms.linux;
diff --git a/nixpkgs/pkgs/applications/graphics/glabels/default.nix b/nixpkgs/pkgs/applications/graphics/glabels/default.nix
index c2ce2840379c..fdf6831b974e 100644
--- a/nixpkgs/pkgs/applications/graphics/glabels/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/glabels/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Create labels and business cards";
-    homepage = "https://glabels.org/";
+    homepage = "https://github.com/jimevins/glabels";
     license = with licenses; [ gpl3Plus lgpl3Plus ];
     platforms = platforms.unix;
     maintainers = [ maintainers.nico202 ];
diff --git a/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix b/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
index f0911395404e..9dc318a0674c 100644
--- a/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
@@ -78,7 +78,6 @@ stdenv.mkDerivation rec {
     gfbgraph
     glib
     gnome-online-accounts
-    gnome.adwaita-icon-theme
     grilo
     grilo-plugins
     gsettings-desktop-schemas
diff --git a/nixpkgs/pkgs/applications/graphics/graphicsmagick/default.nix b/nixpkgs/pkgs/applications/graphics/graphicsmagick/default.nix
index 268e59d910b5..f92f3686611f 100644
--- a/nixpkgs/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -1,14 +1,17 @@
 { 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";
-  version = "1.3.36";
+  version = "1.3.37";
 
   src = fetchurl {
     url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
-    sha256 = "0ilg6fkppb4avzais1dvi3qf6ln7v3mzj7gjm83w7pwwfpg3ynsx";
+    sha256 = "sha256-kNwi8ae9JA5MkGWpQJYr8T2kPJm8w2yxEcw8Gg10d9Q=";
   };
 
   patches = [
@@ -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/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix b/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
index e9c624d3c965..9d8ae0c8d35f 100644
--- a/nixpkgs/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/hydrus/default.nix b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
index 0e202a92d23b..12e605f80c4f 100644
--- a/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "467";
+  version = "474";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "v${version}";
-    sha256 = "sha256-ijIOCabpnaK9ww1cR+HNpCOn8uSwSEuyLWwnT2ypdD4=";
+    sha256 = "sha256-NeTHq8zlgBajw/eogwpabqeU0b7cp83Frqy6kisrths=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/image-roll/default.nix b/nixpkgs/pkgs/applications/graphics/image-roll/default.nix
index 7f395fe30600..2bba3c80cd9b 100644
--- a/nixpkgs/pkgs/applications/graphics/image-roll/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/image-roll/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "image-roll";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "weclaw1";
     repo = pname;
     rev = version;
-    sha256 = "sha256-NhZ0W9WBOIRe2nE4jQJ9WgfduKhHd+222feUCay4atw=";
+    sha256 = "sha256-SyG/syIDnyQaXUgGkXZkY98dmFs7O+OFnGL50250nJI=";
   };
 
-  cargoSha256 = "sha256-7sV8v/npmdOgTMtnww/VoK1Kp4Na9Go95XLcfdgkTik=";
+  cargoSha256 = "sha256-pyeJ7WmtkbQjbek/rRh2UKFQ5o006Rf7phZ1yl2s4wA=";
 
   nativeBuildInputs = [ glib pkg-config wrapGAppsHook ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix b/nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix
index e9f415f722dc..59d1e6817bd9 100644
--- a/nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imgbrd-grabber/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imgbrd-grabber";
-  version = "7.5.1";
+  version = "7.7.1";
 
   src = fetchFromGitHub {
     owner = "Bionus";
     repo = "imgbrd-grabber";
     rev = "v${version}";
-    sha256 = "sha256-40JCdtRhAQpz2lBGmYh2MgA9rRzHmOZx7lWW0IbfjP4=";
+    sha256 = "sha256-3qE3mdtlIlReIkUf0oH2/qmunE8nvdB0EaD7EOqaEj0=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix b/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
index d3640a656f13..110a7e513e32 100644
--- a/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/inkscape/default.nix b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
index 338731661190..12d6332af5d5 100644
--- a/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/inkscape/default.nix
@@ -5,11 +5,9 @@
 , cairo
 , cmake
 , fetchurl
-, fetchpatch
 , gettext
 , ghostscript
 , glib
-, glib-networking
 , glibmm
 , gsl
 , gspell
@@ -53,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
@@ -73,15 +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/";
-    })
   ];
 
   postPatch = ''
@@ -118,7 +107,6 @@ stdenv.mkDerivation rec {
     boost
     gettext
     glib
-    glib-networking
     glibmm
     gsl
     gtkmm3
diff --git a/nixpkgs/pkgs/applications/graphics/k3d/default.nix b/nixpkgs/pkgs/applications/graphics/k3d/default.nix
deleted file mode 100644
index 68e28c5cc886..000000000000
--- a/nixpkgs/pkgs/applications/graphics/k3d/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc
-, cmake, ninja, libGLU, libGL, zlib, python2, expat, libxml2, libsigcxx, libuuid, freetype
-, libpng, boost, doxygen, cairomm, pkg-config, libjpeg, libtiff
-, gettext, intltool, perl, gtkmm2, glibmm, gtkglext, libXmu }:
-
-stdenv.mkDerivation rec {
-  version = "0.8.0.6";
-  pname = "k3d";
-  src = fetchFromGitHub {
-    owner = "K-3D";
-    repo = "k3d";
-    rev = "${pname}-${version}";
-    sha256 = "0vdjjg6h8mxm2n8mvkkg2mvd27jn2xx90hnmx23cbd35mpz9p4aa";
-  };
-
-  patches = [
-    (fetchpatch { /* glibmm 2.50 fix */
-      url = "https://github.com/K-3D/k3d/commit/c65889d0652490d88a573e47de7a9324bf27bff2.patch";
-      sha256 = "162icv1hicr2dirkb9ijacvg9bhz5j30yfwg7b45ijavk8rns62j";
-    })
-  ];
-
-  cmakeFlags = [
-    "-DK3D_BUILD_DOCS=false"
-    "-DK3D_BUILD_GUIDE=false"
-  ];
-
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib"
-  '';
-
-  nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkg-config perl asciidoc ];
-
-  buildInputs = [
-     libGLU libGL zlib python2 expat libxml2 libsigcxx libuuid freetype libpng
-     boost cairomm libjpeg libtiff
-     ftgl glew gtkmm2 glibmm gtkglext libXmu
-    ];
-
-  #doCheck = false;
-
-  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
-
-  meta = with lib; {
-    description = "A 3D editor with support for procedural editing";
-    homepage = "http://www.k-3d.org/";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.raskin ];
-    license = licenses.gpl2;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/graphics/krita/default.nix b/nixpkgs/pkgs/applications/graphics/krita/default.nix
index e9393a2e5a87..063c5cc1551c 100644
--- a/nixpkgs/pkgs/applications/graphics/krita/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/krita/default.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "5.0.0";
+  version = "5.0.2";
   kde-channel = "stable";
-  sha256 = "sha256-hNWDPbyrP9OkGPTDdnDYKtkZQw8MbQpXuZOQdHHuzFc=";
+  sha256 = "sha256-5nUfx+tQSXekiAo3brvTmVyH2tFUSGCE6COX5l1JnL8=";
 })
diff --git a/nixpkgs/pkgs/applications/graphics/menyoki/default.nix b/nixpkgs/pkgs/applications/graphics/menyoki/default.nix
index afaa681437cc..7a601b9641d1 100644
--- a/nixpkgs/pkgs/applications/graphics/menyoki/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/menyoki/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "menyoki";
-  version = "1.5.5";
+  version = "1.5.6";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wEPt96z/odQ05hosN+GB5KLsCu8onR9WWamofJayhwU=";
+    sha256 = "sha256-2k8CRya9SylauYV+2aQS2QHkQhyiTHMgGp1DNoZ4jbU=";
   };
 
-  cargoSha256 = "sha256-nwxBreouL3Z47zHSH+Y/ej7KU2/bXyMQ+Tb7R4U+yKk=";
+  cargoSha256 = "sha256-NLPqJepg0WRt/X3am9J7vwIE9bn+dt2UHE26Dc/QRMM=";
 
   nativeBuildInputs = [ installShellFiles ]
     ++ lib.optional stdenv.isLinux pkg-config;
diff --git a/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix b/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix
index a74043730bf5..b99902954572 100644
--- a/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix
@@ -14,7 +14,7 @@ in mkDerivation {
 
   src = fetchurl {
     # NB: this URL is not stable (i.e. the underlying file and the corresponding version will change over time)
-    url = "http://web.archive.org/web/20201206221727if_/https://download.opendesign.com/guestfiles/Demo/ODAFileConverter_QT5_lnxX64_7.2dll_21.11.deb";
+    url = "https://web.archive.org/web/20201206221727if_/https://download.opendesign.com/guestfiles/Demo/ODAFileConverter_QT5_lnxX64_7.2dll_21.11.deb";
     sha256 = "10027a3ab18efd04ca75aa699ff550eca3bdfe6f7084460d3c00001bffb50070";
   };
 
diff --git a/nixpkgs/pkgs/applications/graphics/openscad/default.nix b/nixpkgs/pkgs/applications/graphics/openscad/default.nix
index be079b6bdb20..413e16718216 100644
--- a/nixpkgs/pkgs/applications/graphics/openscad/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix b/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix
index 14a130d7f412..7fd9606f3abc 100644
--- a/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix
@@ -1,6 +1,6 @@
 { boost, cmake, fetchFromGitHub, freeglut, freetype, glew, libjpeg, libmypaint
-, libpng, libtiff, libusb1, lz4, xz, lzo, openblas, pkg-config, qtbase
-, qtmultimedia, qtscript, lib, stdenv, superlu, wrapQtAppsHook, }:
+, libpng, libtiff, libusb1, lz4, xz, lzo, openblas, opencv, pkg-config, qtbase
+, qtmultimedia, qtscript, qtserialport, lib, stdenv, superlu, wrapQtAppsHook, }:
 let source = import ./source.nix { inherit fetchFromGitHub; };
 in stdenv.mkDerivation rec {
   inherit (source) src;
@@ -24,9 +24,11 @@ in stdenv.mkDerivation rec {
     xz
     lzo
     openblas
+    opencv
     qtbase
     qtmultimedia
     qtscript
+    qtserialport
     superlu
   ];
 
diff --git a/nixpkgs/pkgs/applications/graphics/opentoonz/libtiff.nix b/nixpkgs/pkgs/applications/graphics/opentoonz/libtiff.nix
index 6663c47553e3..43ba1592ccc2 100644
--- a/nixpkgs/pkgs/applications/graphics/opentoonz/libtiff.nix
+++ b/nixpkgs/pkgs/applications/graphics/opentoonz/libtiff.nix
@@ -2,20 +2,55 @@
 # opentoonz requires its own modified version of libtiff.  We still build it as
 # a separate package
 #  1. For visibility for tools like vulnix, and
-#  2. To avoid a diamond-dependency problem with qt linking the normal libtiff
-#     and opentoonz linking qt and this modified libtiff, we build a qt against
-#     this modified libtiff as well.
+#  2. To avoid a diamond-dependency problem with opencv linking the normal libtiff
+#     and opentoonz linking opencv and this modified libtiff, we build an opencv
+#     against this modified libtiff as well.
+#
+# We use a separate mkDerivation rather than a minimal libtiff.overrideAttrs
+# because the main libtiff builds with cmake and this version of libtiff was
+# forked before libtiff gained CMake build capability (added in libtiff-4.0.5).
+
+{ lib, fetchFromGitHub, stdenv, pkg-config, zlib, libjpeg, xz, libtiff, }:
 
-{ fetchFromGitHub, libtiff }:
 let source = import ./source.nix { inherit fetchFromGitHub; };
-in libtiff.overrideAttrs (old: {
-  inherit (source) src;
+
+in stdenv.mkDerivation {
+  pname = "libtiff";
   version = source.versions.libtiff + "-opentoonz";
-  postUnpack = (old.postUnpack or "") + ''
+
+  inherit (source) src;
+  outputs = [ "bin" "dev" "out" "man" "doc" ];
+
+  nativeBuildInputs = [ pkg-config ];
+  propagatedBuildInputs = [ zlib libjpeg xz ];
+
+  postUnpack = ''
     sourceRoot="$sourceRoot/thirdparty/tiff-${source.versions.libtiff}"
   '';
+
   # opentoonz uses internal libtiff headers
-  postInstall = (old.postInstall or "") + ''
+  postInstall = ''
     cp libtiff/{tif_config,tif_dir,tiffiop}.h $dev/include
   '';
-})
+
+  meta = libtiff.meta // {
+    knownVulnerabilities = [''
+      Do not open untrusted files with Opentoonz:
+      Opentoonz uses an old custom fork of tibtiff from 2012 that is known to
+      be affected by at least these 50 vulnerabilities:
+        CVE-2012-4564 CVE-2013-4232 CVE-2013-4243 CVE-2013-4244 CVE-2014-8127
+        CVE-2014-8128 CVE-2014-8129 CVE-2014-8130 CVE-2014-9330 CVE-2015-1547
+        CVE-2015-8781 CVE-2015-8782 CVE-2015-8783 CVE-2015-8784 CVE-2015-8870
+        CVE-2016-3620 CVE-2016-3621 CVE-2016-3623 CVE-2016-3624 CVE-2016-3625
+        CVE-2016-3631 CVE-2016-3632 CVE-2016-3633 CVE-2016-3634 CVE-2016-3658
+        CVE-2016-3945 CVE-2016-3990 CVE-2016-3991 CVE-2016-5102 CVE-2016-5314
+        CVE-2016-5315 CVE-2016-5316 CVE-2016-5318 CVE-2016-5319 CVE-2016-5321
+        CVE-2016-5322 CVE-2016-5323 CVE-2016-6223 CVE-2016-9453 CVE-2016-9532
+        CVE-2017-9935 CVE-2017-9937 CVE-2018-10963 CVE-2018-5360
+        CVE-2019-14973 CVE-2019-17546 CVE-2020-35521 CVE-2020-35522
+        CVE-2020-35523 CVE-2020-35524
+      More info at https://github.com/opentoonz/opentoonz/issues/4193
+    ''];
+    maintainers = with lib.maintainers; [ chkno ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/opentoonz/source.nix b/nixpkgs/pkgs/applications/graphics/opentoonz/source.nix
index 7378d2f5f965..27a4b8c0b0d2 100644
--- a/nixpkgs/pkgs/applications/graphics/opentoonz/source.nix
+++ b/nixpkgs/pkgs/applications/graphics/opentoonz/source.nix
@@ -3,14 +3,14 @@
 
 { fetchFromGitHub, }: rec {
   versions = {
-    opentoonz = "1.4.0";
-    libtiff = "4.0.3";
+    opentoonz = "1.5.0";
+    libtiff = "4.0.3";  # The version in thirdparty/tiff-*
   };
 
   src = fetchFromGitHub {
     owner = "opentoonz";
     repo = "opentoonz";
     rev = "v${versions.opentoonz}";
-    sha256 = "0vgclx2yydsm5i2smff3fj8m750nhf35wfhva37kywgws01s189b";
+    sha256 = "1rw30ksw3zjph1cwxkfvqj0330v8wd4333gn0fdf3cln1w0549lk";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/ovito/default.nix b/nixpkgs/pkgs/applications/graphics/ovito/default.nix
index f0dc5f2b363e..45457ad8ebb1 100644
--- a/nixpkgs/pkgs/applications/graphics/ovito/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ovito/default.nix
@@ -1,16 +1,33 @@
-{ mkDerivation, lib, fetchFromGitLab, cmake
-, boost, netcdf, hdf5, fftwSinglePrec, muparser, openssl, ffmpeg, python
-, qtbase, qtsvg, qttools, qscintilla }:
+{ mkDerivation
+, lib
+, stdenv
+, fetchFromGitLab
+, cmake
+, boost
+, bzip2
+, ffmpeg
+, fftwSinglePrec
+, hdf5
+, muparser
+, netcdf
+, openssl
+, python3
+, qscintilla
+, qtbase
+, qtsvg
+, qttools
+, VideoDecodeAcceleration
+}:
 
 mkDerivation rec {
   pname = "ovito";
-  version = "3.4.0";
+  version = "3.6.0";
 
   src = fetchFromGitLab {
     owner = "stuko";
     repo = "ovito";
     rev = "v${version}";
-    sha256 = "1y3wr6yzpsl0qm7cicp2mppfszxd0fgx8hm99in9wff9qd0r16b5";
+    sha256 = "sha256-yQ8gSe/QM1RRNxk4bDJ+K5QX0eYjZ+iG3QOHj01tJhY=";
   };
 
   nativeBuildInputs = [
@@ -19,17 +36,20 @@ mkDerivation rec {
 
   buildInputs = [
     boost
-    netcdf
-    hdf5
+    bzip2
+    ffmpeg
     fftwSinglePrec
+    hdf5
     muparser
+    netcdf
     openssl
-    ffmpeg
-    python
+    python3
+    qscintilla
     qtbase
     qtsvg
     qttools
-    qscintilla
+  ] ++ lib.optionals stdenv.isDarwin [
+    VideoDecodeAcceleration
   ];
 
   meta = with lib; {
@@ -37,5 +57,6 @@ mkDerivation rec {
     homepage = "https://ovito.org";
     license = with licenses;  [ gpl3Only mit ];
     maintainers = with maintainers; [ twhitehead ];
+    broken = stdenv.isDarwin; # clang-11: error: no such file or directory: '$-DOVITO_COPYRIGHT_NOTICE=...
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
index f2ffa143aebb..4952ecf84f23 100644
--- a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-CFKo8YEAXAniX+jL2A0naJUOn3KAWwcrPsabdiZevhI=";
   };
 
-  vendorSha256 = "sha256-p/2Bu5h2P3ebgvSC12jdR2Zpd27xCFwtB/KZV0AULAM=";
+  vendorSha256 = "sha256-3y42rbhurGhCI9PuSayxmLem0tv/nTjBwYxF3Dk6/yM=";
 
   # No tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/graphics/pinta/default.nix b/nixpkgs/pkgs/applications/graphics/pinta/default.nix
index 6859a07b48a6..ed2aae72d47a 100644
--- a/nixpkgs/pkgs/applications/graphics/pinta/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pinta/default.nix
@@ -1,91 +1,84 @@
 { lib
+, buildDotnetModule
+, dotnetCorePackages
 , fetchFromGitHub
-, buildDotnetPackage
-, dotnetPackages
-, gtksharp
-, gettext
+, glibcLocales
+, gtk3
+, intltool
+, wrapGAppsHook
 }:
 
-let
-  mono-addins = dotnetPackages.MonoAddins;
-in
-buildDotnetPackage rec {
+buildDotnetModule rec {
   pname = "Pinta";
-  version = "1.7.1";
+  version = "2.0.2";
 
-  outputFiles = [ "bin/*" ];
-  buildInputs = [ gtksharp mono-addins gettext ];
-  xBuildFiles = [ "Pinta.sln" ];
+  nativeBuildInputs = [
+    intltool
+    wrapGAppsHook
+  ];
+
+  runtimeDeps = [ gtk3 ];
+  buildInputs = runtimeDeps;
+
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+  dotnet-runtime = dotnetCorePackages.runtime_6_0;
+
+  # How-to update deps:
+  # $ nix-build -A pinta.fetch-deps
+  # $ ./result
+  # $ cp /tmp/Pinta-deps.nix ./pkgs/applications/graphics/pinta/deps.nix
+  # TODO: create update script
+  nugetDeps = ./deps.nix;
+
+  projectFile = "Pinta";
 
   src = fetchFromGitHub {
     owner = "PintaProject";
     repo = "Pinta";
     rev = version;
-    sha256 = "sha256-yRp/dpJ9T4DieqHTj3vhyuASPGe4vjHw0rSXFrTNZVc=";
+    sha256 = "sha256-Bvzs1beq7I1+10w9pmMePqGCz2TPDp5UK5Wa9hbKERU=";
   };
 
-  # Remove version information from nodes <Reference Include="... Version=... ">
-  postPatch = with lib; let
-    csprojFiles = [
-      "Pinta/Pinta.csproj"
-      "Pinta.Core/Pinta.Core.csproj"
-      "Pinta.Effects/Pinta.Effects.csproj"
-      "Pinta.Gui.Widgets/Pinta.Gui.Widgets.csproj"
-      "Pinta.Resources/Pinta.Resources.csproj"
-      "Pinta.Tools/Pinta.Tools.csproj"
-    ];
-    versionedNames = [
-      "Mono\\.Addins"
-      "Mono\\.Posix"
-      "Mono\\.Addins\\.Gui"
-      "Mono\\.Addins\\.Setup"
-    ];
+  # https://github.com/NixOS/nixpkgs/issues/38991
+  # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
+  LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive";
 
-    stripVersion = name: file:
-      let
-        match = ''<Reference Include="${name}([ ,][^"]*)?"'';
-        replace = ''<Reference Include="${name}"'';
-      in
-      "sed -i -re 's/${match}/${replace}/g' ${file}\n";
+  # Do the autoreconf/Makefile job manually
+  # TODO: use upstream build system
+  postBuild = ''
+    # Substitute translation placeholders
+    intltool-merge -x po/ xdg/pinta.appdata.xml.in xdg/pinta.appdata.xml
+    intltool-merge -d po/ xdg/pinta.desktop.in xdg/pinta.desktop
 
-    # Map all possible pairs of two lists
-    map2 = f: listA: listB: concatMap (a: map (f a) listB) listA;
-    concatMap2Strings = f: listA: listB: concatStrings (map2 f listA listB);
-  in
-  concatMap2Strings stripVersion versionedNames csprojFiles
-  + ''
-    # For some reason there is no Microsoft.Common.tasks file
-    # in ''${mono}/lib/mono/3.5 .
-    substituteInPlace Pinta.Install.proj \
-      --replace 'ToolsVersion="3.5"' 'ToolsVersion="4.0"' \
-      --replace "/usr/local" "$out"
+    # Build translations
+    dotnet build Pinta \
+      -p:ContinuousIntegrationBuild=true \
+      -p:Deterministic=true \
+      -target:CompileTranslations,PublishTranslations \
+      -p:BuildTranslations=true \
+      -p:PublishDir="$NIX_BUILD_TOP/source/publish"
   '';
 
-  makeWrapperArgs = [
-    "--prefix MONO_GAC_PREFIX : ${gtksharp}"
-    "--prefix LD_LIBRARY_PATH : ${gtksharp}/lib"
-    "--prefix LD_LIBRARY_PATH : ${gtksharp.gtk.out}/lib"
-  ];
-
-  postInstall = ''
-    # Do automake's job manually
-    substitute xdg/pinta.desktop.in xdg/pinta.desktop \
-      --replace _Name Name \
-      --replace _Comment Comment \
-      --replace _GenericName GenericName \
-      --replace _X-GNOME-FullName X-GNOME-FullName
-    substitute xdg/pinta.appdata.xml.in xdg/pinta.appdata.xml \
-      --replace _p p
+  postFixup = ''
+    # Rename the binary
+    mv "$out/bin/Pinta" "$out/bin/pinta"
 
-    xbuild /target:CompileTranslations Pinta.Install.proj
-    xbuild /target:Install Pinta.Install.proj
+    # Install
+    dotnet build installer/linux/install.proj \
+      -target:Install \
+      -p:ContinuousIntegrationBuild=true \
+      -p:Deterministic=true \
+      -p:SourceDir="$NIX_BUILD_TOP/source" \
+      -p:PublishDir="$NIX_BUILD_TOP/source/publish" \
+      -p:InstallPrefix="$out"
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.pinta-project.com/";
     description = "Drawing/editing program modeled after Paint.NET";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ ];
-    platforms = with lib.platforms; linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ thiagokokada ];
+    platforms = with platforms; linux;
+    mainProgram = "pinta";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/pinta/deps.nix b/nixpkgs/pkgs/applications/graphics/pinta/deps.nix
new file mode 100644
index 000000000000..57c2c152edf8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/pinta/deps.nix
@@ -0,0 +1,12 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "AtkSharp"; version = "3.24.24.34"; sha256 = "1jn1vgi9xm0jp7769k6sbdi8d273kigjrsh93i6s4c03hqxv7cqs"; })
+  (fetchNuGet { pname = "CairoSharp"; version = "3.24.24.34"; sha256 = "0pydn1k0cam1gclg9sc1sbnmbyzh28qlc5qanyxcylwghink3kgz"; })
+  (fetchNuGet { pname = "GdkSharp"; version = "3.24.24.34"; sha256 = "0r0x0yib7chwsyrbpvicrfwldwqx5lyqq4p86zaxpmzd6zdaj0x5"; })
+  (fetchNuGet { pname = "GioSharp"; version = "3.24.24.34"; sha256 = "02hxvgjd4w9jpzbkk7qf9q9bkvyp5hfzwxfqp10vg5lpl9yl3xpx"; })
+  (fetchNuGet { pname = "GLibSharp"; version = "3.24.24.34"; sha256 = "0kvp033fgdwc8p2abfp5z9pzq66cvwbnjfvr4v4bkpy5s5h181kq"; })
+  (fetchNuGet { pname = "GtkSharp"; version = "3.24.24.34"; sha256 = "0028hzmmqyfx87qqmaf9cgb5psn7gkbmqvixcid67x1d6mzxjicb"; })
+  (fetchNuGet { pname = "NGettext"; version = "0.6.7"; sha256 = "1lnq1lgd80xqn80qwq5ipfjnd7nl1ghinjc3krnd546r0c7hwqky"; })
+  (fetchNuGet { pname = "PangoSharp"; version = "3.24.24.34"; sha256 = "1r0h14cklglfpv1lhv93cxmzi2w7d5s03gzpq3j5dmrz43flg9zw"; })
+  (fetchNuGet { pname = "ParagonClipper"; version = "6.4.2"; sha256 = "0pam44f7iayqjz8nh1x29gxdd4dj00i7m5883cpa64i192pgl94c"; })
+  (fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; })
+]
diff --git a/nixpkgs/pkgs/applications/graphics/pixinsight/default.nix b/nixpkgs/pkgs/applications/graphics/pixinsight/default.nix
new file mode 100644
index 000000000000..8396ba55638f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/pixinsight/default.nix
@@ -0,0 +1,132 @@
+{ stdenv, lib, requireFile, wrapQtAppsHook, autoPatchelfHook, makeWrapper, unixtools, fakeroot
+, 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
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pixinsight";
+  version = "1.8.8-12";
+
+  src = requireFile rec {
+    name = "PI-linux-x64-${version}-20211229-c.tar.xz";
+    url = "https://pixinsight.com/";
+    sha256 = "7095b83a276f8000c9fe50caadab4bf22a248a880e77b63e0463ad8d5469f617";
+    message = ''
+      PixInsight is available from ${url} and requires a commercial (or trial) license.
+      After a license has been obtained, PixInsight can be downloaded from the software distribution
+      (choose Linux 64bit).
+      The PixInsight tarball must be added to the nix-store, i.e. via
+        nix-prefetch-url --type sha256 file:///path/to/${name}
+    '';
+  };
+  sourceRoot = ".";
+
+  nativeBuildInputs = [
+    unixtools.script
+    fakeroot
+    wrapQtAppsHook
+    autoPatchelfHook
+    mailcap
+    libudev0-shim
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    stdenv.cc
+    libGL
+    libpulseaudio
+    alsa-lib
+    nss
+    gd
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    nspr
+    expat
+    fontconfig
+    dbus
+    glib
+    zlib
+    openssl
+    libdrm
+    wayland
+    cups
+    avahi-compat
+    # Qt stuff
+    qt3d
+    mlt
+    qtbase
+    qtgamepad
+    qtserialport
+    qtserialbus
+    qtvirtualkeyboard
+    qtmultimedia
+    qtwebkit
+  ] ++ (with xorg; [
+    libX11
+    libXdamage
+    xrandr
+    libXtst
+    libXcomposite
+    libXext
+    libXfixes
+    libXrandr
+  ]);
+
+  postPatch = ''
+    patchelf ./installer \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath ${stdenv.cc.cc.lib}/lib
+  '';
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin $out/opt/PixInsight $out/share/{applications,mime/packages,icons/hicolor}
+
+    fakeroot script -ec "./installer \
+      --yes \
+      --install-dir=$out/opt/PixInsight \
+      --install-desktop-dir=$out/share/applications \
+      --install-mime-dir=$out/share/mime \
+      --install-icons-dir=$out/share/icons/hicolor \
+      --no-bin-launcher \
+      --no-remove"
+
+    rm -rf $out/opt/PixInsight-old-0
+    ln -s $out/opt/PixInsight/bin/PixInsight $out/bin/.
+  '';
+
+  # Some very exotic Qt libraries are not available in nixpkgs
+  autoPatchelfIgnoreMissingDeps = true;
+
+  # This mimics what is happening in PixInsight.sh and adds on top the libudev0-shim, which
+  # without PixInsight crashes at startup.
+  qtWrapperArgs = [
+    "--prefix LD_LIBRARY_PATH : ${libudev0-shim}/lib"
+    "--set LC_ALL en_US.utf8"
+    "--set AVAHI_COMPAT_NOWARN 1"
+    "--set QT_PLUGIN_PATH $out/opt/PixInsight/bin/lib/qt-plugins"
+    "--set QT_QPA_PLATFORM_PLUGIN_PATH $out/opt/PixInsight/bin/lib/qt-plugins/platforms"
+    "--set QT_AUTO_SCREEN_SCALE_FACTOR 0"
+    "--set QT_ENABLE_HIGHDPI_SCALING 0"
+    "--set QT_SCALE_FACTOR 1"
+    "--set QT_LOGGING_RULES '*=false'"
+    "--set QTWEBENGINEPROCESS_PATH $out/opt/PixInsight/bin/libexec/QtWebEngineProcess"
+  ];
+  dontWrapQtApps = true;
+  postFixup = ''
+    wrapProgram $out/opt/PixInsight/bin/PixInsight ${builtins.toString qtWrapperArgs}
+  '';
+
+  meta = with lib; {
+    description = "Scientific image processing program for astrophotography";
+    homepage = "https://pixinsight.com/";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = [ maintainers.sheepforce ];
+    mainProgram = "PixInsight";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/graphics/qiv/default.upstream b/nixpkgs/pkgs/applications/graphics/qiv/default.upstream
deleted file mode 100644
index e6c7ef2408e8..000000000000
--- a/nixpkgs/pkgs/applications/graphics/qiv/default.upstream
+++ /dev/null
@@ -1,3 +0,0 @@
-url http://spiegl.de/qiv/download/
-version_link '[.]tgz$'
-do_overwrite() { do_overwrite_just_version; }
diff --git a/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix b/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
index 0faed5e12ea5..e44c49ac6bb8 100644
--- a/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/renderdoc/default.nix
@@ -1,8 +1,25 @@
-{ lib, fetchFromGitHub, cmake, pkg-config, mkDerivation
-, qtbase, qtx11extras, qtsvg, makeWrapper
-, vulkan-loader, libglvnd, xorg, python3, python3Packages
-, bison, pcre, automake, autoconf, addOpenGLRunpath
-, waylandSupport ? false, wayland
+{ lib
+, fetchFromGitHub
+, nix-update-script
+, cmake
+, pkg-config
+, mkDerivation
+, qtbase
+, qtx11extras
+, qtsvg
+, makeWrapper
+, vulkan-loader
+, libglvnd
+, xorg
+, python3
+, python3Packages
+, bison
+, pcre
+, automake
+, autoconf
+, addOpenGLRunpath
+, waylandSupport ? false
+, wayland
 }:
 let
   custom_swig = fetchFromGitHub {
@@ -15,13 +32,13 @@ let
 in
 mkDerivation rec {
   pname = "renderdoc";
-  version = "1.16";
+  version = "1.18";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "150d1qzjs420clqr48gickiw5ymjx4md6iyjbxmxsdml0pyxpwwn";
+    sha256 = "sha256-nwERwdNQYY1Fd7llwZHrJBzWDJNdsySRQ3ZvXZjB7YY=";
   };
 
   buildInputs = [
@@ -64,6 +81,10 @@ mkDerivation rec {
     addOpenGLRunpath $out/lib/librenderdoc.so
   '';
 
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
   meta = with lib; {
     description = "A single-frame graphics debugger";
     homepage = "https://renderdoc.org/";
diff --git a/nixpkgs/pkgs/applications/graphics/rnote/default.nix b/nixpkgs/pkgs/applications/graphics/rnote/default.nix
new file mode 100644
index 000000000000..624959ffa9ee
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/sane/backends/brscan5/default.nix b/nixpkgs/pkgs/applications/graphics/sane/backends/brscan5/default.nix
index 17e9972cbe9f..9771384a5d1a 100644
--- a/nixpkgs/pkgs/applications/graphics/sane/backends/brscan5/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/sane/backends/brscan5/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb1, avahi-compat, glib, libredirect }:
+{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb1, avahi-compat, glib, libredirect, nixosTests }:
 let
   myPatchElf = file: with lib; ''
     patchelf --set-interpreter \
@@ -88,6 +88,8 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = true;
 
+  passthru.tests = { inherit (nixosTests) brscan5; };
+
   meta = {
     description = "Brother brscan5 sane backend driver";
     homepage = "https://www.brother.com";
diff --git a/nixpkgs/pkgs/applications/graphics/screencloud/default.nix b/nixpkgs/pkgs/applications/graphics/screencloud/default.nix
index b7d6ecdef3d7..b62ca680cbc5 100644
--- a/nixpkgs/pkgs/applications/graphics/screencloud/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/screencloud/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, qt4, quazip, qt-mobility, qxt, pythonPackages }:
+{ lib, stdenv, fetchFromGitHub, cmake, qt4, quazip, qt-mobility, qxt, python2Packages }:
 
 with lib;
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 quazip qt-mobility qxt pythonPackages.python pythonPackages.pycrypto ];
+  buildInputs = [ qt4 quazip qt-mobility qxt python2Packages.python python2Packages.pycrypto ];
 
   patchPhase = ''
     # Required to make the configure script work. Normally, screencloud's
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     patchShebangs $prefix/opt/screencloud/screencloud.sh
     substituteInPlace "$prefix/opt/screencloud/screencloud.sh" --replace "/opt" "$prefix/opt"
-    sed -i "2 i\export PYTHONPATH=$(toPythonPath ${pythonPackages.pycrypto}):\$PYTHONPATH" "$prefix/opt/screencloud/screencloud.sh"
+    sed -i "2 i\export PYTHONPATH=$(toPythonPath ${python2Packages.pycrypto}):\$PYTHONPATH" "$prefix/opt/screencloud/screencloud.sh"
     mkdir $prefix/bin
     mkdir $prefix/lib
     ln -s $prefix/opt/screencloud/screencloud.sh $prefix/bin/screencloud
diff --git a/nixpkgs/pkgs/applications/graphics/solvespace/default.nix b/nixpkgs/pkgs/applications/graphics/solvespace/default.nix
index 73c5a038aab6..68744831538c 100644
--- a/nixpkgs/pkgs/applications/graphics/solvespace/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/tev/default.nix b/nixpkgs/pkgs/applications/graphics/tev/default.nix
index b82c3ff96288..7a5dde82f16a 100644
--- a/nixpkgs/pkgs/applications/graphics/tev/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/tev/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tev";
-  version = "1.19";
+  version = "1.23";
 
   src = fetchFromGitHub {
     owner = "Tom94";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-laP47xOND6PMA6dwTcCupcTIW+9zCaxO6rHzvDSL9JU=";
+    sha256 = "sha256-NtnnZV/+8aUm8BkUz8Xm3aeSbOI2gNUPNfvYlwUl01Y=";
   };
 
   nativeBuildInputs = [ cmake wrapGAppsHook ];
@@ -21,11 +21,6 @@ stdenv.mkDerivation rec {
 
   dontWrapGApps = true; # We also need zenity (see below)
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "/usr/" "''${out}/"
-  '';
-
   cmakeFlags = [
     "-DTEV_DEPLOY=1" # Only relevant not to append "dev" to the version
   ];
@@ -53,6 +48,7 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/Tom94/tev/releases/tag/v${version}";
     license = licenses.bsd3;
     platforms = platforms.unix;
+    badPlatforms = [ "aarch64-linux" ]; # fails on Hydra since forever
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix b/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix
index 00b3d80adf04..eb5033a4a97c 100644
--- a/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/vengi-tools/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchurl
+, writeText
 
 , cmake
 , pkg-config
@@ -18,6 +18,7 @@
 , libuuid
 , wayland-protocols
 , Carbon
+, CoreServices
 # optionals
 , opencl-headers
 , OpenCL
@@ -26,30 +27,19 @@
 , nixosTests
 }:
 
-# cmake 3.21 inserts invalid `ldd` and `-Wl,--no-as-needed` calls, apparently
-# related to
-# https://cmake.org/cmake/help/v3.21/prop_tgt/LINK_WHAT_YOU_USE.html
-let cmake3_22 = cmake.overrideAttrs (old: {
-  version = "3.22.0";
-  src = fetchurl {
-    url = "https://cmake.org/files/v3.22/cmake-3.22.0.tar.gz";
-    sha256 = "sha256-mYx7o0d40t/bPfimlUaeJLEeK/oh++QbNho/ReHJNF4=";
-  };
-});
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "vengi-tools";
-  version = "0.0.14";
+  version = "0.0.18";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
-    repo = "engine";
+    repo = "vengi";
     rev = "v${version}";
-    sha256 = "sha256-v82hKskTSwM0NDgLVHpHZNRQW6tWug4pPIt91MrUwUo=";
+    sha256 = "sha256-Ur1X5FhOa87jbjWBXievBfCHW+qP/8bqLiyKAC8+KU4=";
   };
 
   nativeBuildInputs = [
-    cmake3_22
+    cmake
     pkg-config
     ninja
     python3
@@ -69,7 +59,7 @@ in stdenv.mkDerivation rec {
     #libpqxx
     #mosquitto
   ] ++ lib.optional stdenv.isLinux wayland-protocols
-    ++ lib.optionals stdenv.isDarwin [ Carbon OpenCL ]
+    ++ lib.optionals stdenv.isDarwin [ Carbon CoreServices OpenCL ]
     ++ lib.optional (!stdenv.isDarwin) opencl-headers;
 
   cmakeFlags = [
@@ -82,7 +72,7 @@ in stdenv.mkDerivation rec {
     "-DGAMES=OFF"
     "-DMAPVIEW=OFF"
     "-DAIDEBUG=OFF"
-  ];
+  ] ++ lib.optional stdenv.isDarwin "-DCORESERVICES_LIB=${CoreServices}";
 
   # Set the data directory for each executable. We cannot set it at build time
   # with the PKGDATADIR cmake variable because each executable needs a specific
@@ -98,6 +88,7 @@ in stdenv.mkDerivation rec {
 
   passthru.tests = {
     voxconvert-roundtrip = callPackage ./test-voxconvert-roundtrip.nix {};
+    voxconvert-all-formats = callPackage ./test-voxconvert-all-formats.nix {};
     run-voxedit = nixosTests.vengi-tools;
   };
 
@@ -110,10 +101,12 @@ in stdenv.mkDerivation rec {
       filemanager and a command line tool to convert between several voxel
       formats.
     '';
-    homepage = "https://mgerhardy.github.io/engine/";
-    downloadPage = "https://github.com/mgerhardy/engine/releases";
+    homepage = "https://mgerhardy.github.io/vengi/";
+    downloadPage = "https://github.com/mgerhardy/vengi/releases";
     license = [ licenses.mit licenses.cc-by-sa-30 ];
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
+    # Requires SDK 10.14 https://github.com/NixOS/nixpkgs/issues/101229
+    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix b/nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix
new file mode 100644
index 000000000000..00cdf8ae6f07
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix
@@ -0,0 +1,15 @@
+{ stdenv
+, vengi-tools
+}:
+
+stdenv.mkDerivation {
+  name = "vengi-tools-test-voxconvert-all-formats";
+  meta.timeout = 10;
+  buildCommand = ''
+    mkdir $out
+    for format in vox qef qbt qb vxm vxr binvox gox cub vxl csv; do
+      echo Testing $format export
+      ${vengi-tools}/bin/vengi-voxconvert --input ${vengi-tools}/share/vengi-voxedit/chr_knight.qb --output $out/chr_knight.$format
+    done
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix b/nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix
index 27b0305615a8..3d324d2c38d4 100644
--- a/nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix
+++ b/nixpkgs/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix
@@ -6,9 +6,9 @@ stdenv.mkDerivation {
   name = "vengi-tools-test-voxconvert-roundtrip";
   meta.timeout = 10;
   buildCommand = ''
-    ${vengi-tools}/bin/vengi-voxconvert ${vengi-tools}/share/vengi-voxedit/chr_knight.qb chr_knight.vox
-    ${vengi-tools}/bin/vengi-voxconvert chr_knight.vox chr_knight.qb
-    ${vengi-tools}/bin/vengi-voxconvert chr_knight.qb chr_knight1.vox
+    ${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/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix b/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
index 16544c85650a..5fd139b8de4a 100644
--- a/nixpkgs/pkgs/applications/graphics/xournalpp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/xrgears/default.nix b/nixpkgs/pkgs/applications/graphics/xrgears/default.nix
index 20e01a1701da..ac73412117cf 100644
--- a/nixpkgs/pkgs/applications/graphics/xrgears/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/kde/fetch.sh b/nixpkgs/pkgs/applications/kde/fetch.sh
index 0049b3de8ab7..72b76131f64a 100644
--- a/nixpkgs/pkgs/applications/kde/fetch.sh
+++ b/nixpkgs/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.0/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.2/src -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/applications/kde/kamoso.nix b/nixpkgs/pkgs/applications/kde/kamoso.nix
index 9baa06275a78..c80ed0c511e4 100644
--- a/nixpkgs/pkgs/applications/kde/kamoso.nix
+++ b/nixpkgs/pkgs/applications/kde/kamoso.nix
@@ -34,7 +34,7 @@ mkDerivation {
   ];
 
   qtWrapperArgs = [
-    "--prefix GST_PLUGIN_PATH : ${lib.makeSearchPath "lib/gstreamer-1.0" gst}"
+    "--prefix GST_PLUGIN_PATH : ${lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gst}"
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/kde/kbreakout.nix b/nixpkgs/pkgs/applications/kde/kbreakout.nix
index b29c83914c6e..ad58bde5838b 100644
--- a/nixpkgs/pkgs/applications/kde/kbreakout.nix
+++ b/nixpkgs/pkgs/applications/kde/kbreakout.nix
@@ -12,7 +12,7 @@
 mkDerivation {
   pname = "kbreakout";
   meta = {
-    homepage = "KBreakOut";
+    homepage = "https://apps.kde.org/kbreakout/";
     description = "Breakout-like game";
     license = with lib.licenses; [ lgpl21 gpl3 ];
   };
diff --git a/nixpkgs/pkgs/applications/kde/kio-extras.nix b/nixpkgs/pkgs/applications/kde/kio-extras.nix
index 4a41493a525c..29a3bdc97bb8 100644
--- a/nixpkgs/pkgs/applications/kde/kio-extras.nix
+++ b/nixpkgs/pkgs/applications/kde/kio-extras.nix
@@ -19,5 +19,12 @@ mkDerivation {
     kpty syntax-highlighting libmtp libssh openexr openslp
     phonon qtsvg samba solid gperf
   ];
+
+  # org.kde.kmtpd5 DBUS service launches kiod5 binary from kio derivation, not from kio-extras
+  postInstall = ''
+    substituteInPlace $out/share/dbus-1/services/org.kde.kmtpd5.service \
+      --replace Exec=$out Exec=${kio}
+  '';
+
   CXXFLAGS = [ "-I${ilmbase.dev}/include/OpenEXR" ];
 }
diff --git a/nixpkgs/pkgs/applications/kde/srcs.nix b/nixpkgs/pkgs/applications/kde/srcs.nix
index 7e4ff2eb75d9..af8e47dd7493 100644
--- a/nixpkgs/pkgs/applications/kde/srcs.nix
+++ b/nixpkgs/pkgs/applications/kde/srcs.nix
@@ -4,1843 +4,1843 @@
 
 {
   akonadi = {
-    version = "21.12.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-21.12.0.tar.xz";
-      sha256 = "1wxqkhqlvjidr7j5g4hcqykvys27snc2cp2k077dixdnp4v71gr3";
-      name = "akonadi-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-calendar-21.12.0.tar.xz";
-      sha256 = "0jkzq071f2w3ysra87clxa63ykg8ywr92mqc57fxzc9hydkg0pbs";
-      name = "akonadi-calendar-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-calendar-tools-21.12.0.tar.xz";
-      sha256 = "0nxcgv1vwr60706sd3hipmxx22nf3sxxif8li2r0pqnfqf542hcy";
-      name = "akonadi-calendar-tools-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-contacts-21.12.0.tar.xz";
-      sha256 = "0al4v2yv9hf1lidk135m45ckr0hgvvlb0px9wqa2zqkrykpm0qz4";
-      name = "akonadi-contacts-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-import-wizard-21.12.0.tar.xz";
-      sha256 = "0lrvmkaphrk4sad83nc2pm3qy5q7jgp13dqh5mvqk2sb3mlpv5xi";
-      name = "akonadi-import-wizard-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-mime-21.12.0.tar.xz";
-      sha256 = "07rmlsgrghy38j8nahpml5yp5zaxdwjjk77ydp2nn10fprr6ssyq";
-      name = "akonadi-mime-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-notes-21.12.0.tar.xz";
-      sha256 = "0p1gn9rl5hyh14kx7p461l9a2va4kc44a1xr2xlk392bpyi7zn22";
-      name = "akonadi-notes-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadi-search-21.12.0.tar.xz";
-      sha256 = "07fazr0hq9ndpvgjvrh606qbkgk429ikmk62bp8lz161n6hxw19k";
-      name = "akonadi-search-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akonadiconsole-21.12.0.tar.xz";
-      sha256 = "0ld1z3vidpqhrj2hmbhsiwmfn10za0jvfkg79vbdv8x0gmbyjynd";
-      name = "akonadiconsole-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/akregator-21.12.0.tar.xz";
-      sha256 = "0w51ndga17v7xj98r9i944v42py2qqrsg2p7q69r2ip9k73m56cv";
-      name = "akregator-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/analitza-21.12.0.tar.xz";
-      sha256 = "0nr84vr20aq3v3k28vx3xk4la8ff1hw7nm930vvjw8vkhpdkm03m";
-      name = "analitza-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ark-21.12.0.tar.xz";
-      sha256 = "1krhxhhab4m0z4ni8dbgraymbawc85rf3b3q8zcm799zk4hphr6x";
-      name = "ark-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/artikulate-21.12.0.tar.xz";
-      sha256 = "13jvbgvqrcrhvcnb2j3dh9r7m50b2m0nf9479ayqkp2cirm77k61";
-      name = "artikulate-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/audiocd-kio-21.12.0.tar.xz";
-      sha256 = "12nxyy16pc4a8kwag39bmyl055f1izfsrwiblm1l5567m0v93vd1";
-      name = "audiocd-kio-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/baloo-widgets-21.12.0.tar.xz";
-      sha256 = "19f9as73cim6f3h5qcirr88h0cmi3w0r3gcy5hdc6ghyx37wj87p";
-      name = "baloo-widgets-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/blinken-21.12.0.tar.xz";
-      sha256 = "01542z383xkhjznmf220qvgbg902ky5jdpj1p8shbzaij5yxv847";
-      name = "blinken-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/bomber-21.12.0.tar.xz";
-      sha256 = "1iwk0b5fnv328bjd7mxhs46rmbkrchpdxk7q8mmysn8z6vyscisc";
-      name = "bomber-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/bovo-21.12.0.tar.xz";
-      sha256 = "0nfzqmqfb6kwprhv4dbp3lpv8hf51rw12ib21hpx9s1jknqs6179";
-      name = "bovo-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/calendarsupport-21.12.0.tar.xz";
-      sha256 = "1a3rxy5g2illphi61x90b6sijkiqyfw458br5cbxj7c1q98y2p1l";
-      name = "calendarsupport-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/cantor-21.12.0.tar.xz";
-      sha256 = "04413152yhg1s6iyp3a8ihjs41ni3wbv7kgqx9sz0zmn7vyfl859";
-      name = "cantor-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/cervisia-21.12.0.tar.xz";
-      sha256 = "17b116y4bvs2d40m2m7xbwjsnf2wffv921lw5f6nwgmxqfdinacp";
-      name = "cervisia-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/dolphin-21.12.0.tar.xz";
-      sha256 = "0s96ggzkwjs8pyad4mp8x2z2hiajxwpb2fzwsjzzkicjwa7c03z7";
-      name = "dolphin-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/dolphin-plugins-21.12.0.tar.xz";
-      sha256 = "150kfhm3qh6x4qq3b5s5fbm7q9z7i9asmnmwqfppcqz3fjc5pg7j";
-      name = "dolphin-plugins-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/dragon-21.12.0.tar.xz";
-      sha256 = "147m5rki2s8xc9i09fan37c16yicbkwz1v95li2ihjah43kgq78h";
-      name = "dragon-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/elisa-21.12.0.tar.xz";
-      sha256 = "0rs81kbgsd7412sz7h6xax1c83n9lp21k062m2h50ccf4lzx7fyw";
-      name = "elisa-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/eventviews-21.12.0.tar.xz";
-      sha256 = "1667ck9na8ajqaagxks7rlrwb6w04mxdci7mc5ash8l57icdgp6y";
-      name = "eventviews-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ffmpegthumbs-21.12.0.tar.xz";
-      sha256 = "14mimxgml627lkq7gw24j62hs5iglvbwnlbv879p7zlsg46fjg1b";
-      name = "ffmpegthumbs-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/filelight-21.12.0.tar.xz";
-      sha256 = "1w3n550smqnq1vwsizrcry3rnpk8f3xmiabdzkx9bggrk5p07jnj";
-      name = "filelight-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/granatier-21.12.0.tar.xz";
-      sha256 = "19r5lilgjapz7bdam55cxs3z40rclczmzklp5ns348f2rqh36chg";
-      name = "granatier-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/grantlee-editor-21.12.0.tar.xz";
-      sha256 = "1lyv3c6801pv3mgxn8i9k6g319ggxg0mxk85nzq1w74m56ywkx12";
-      name = "grantlee-editor-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/grantleetheme-21.12.0.tar.xz";
-      sha256 = "1agkqrr29ib314x48jl4yfybnq10nk45976g7yjlfp6r8qib4pal";
-      name = "grantleetheme-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/gwenview-21.12.0.tar.xz";
-      sha256 = "1y484f7fvnj217qrdfva0k3359n7mz4pvxw54xar2xa9z18iqw8g";
-      name = "gwenview-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/incidenceeditor-21.12.0.tar.xz";
-      sha256 = "1rrda32h004gfqvvxh74wlr9ym3zbgf6a7nd2ldmn7z852z7gpsp";
-      name = "incidenceeditor-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/itinerary-21.12.0.tar.xz";
-      sha256 = "1dwpaznzklxbyaj6fvgm416vbz5fyw78c5bx10z9ygmj88jv6dls";
-      name = "itinerary-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/juk-21.12.0.tar.xz";
-      sha256 = "0gsdiysld5mk2k2c34d883hlgcn3ad2qkvbf4ba6iikn2kbsdhw2";
-      name = "juk-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/k3b-21.12.0.tar.xz";
-      sha256 = "1g6slra4bwbsr282p7xzbldq4j366x03fv99icfj9xj5kargp3jq";
-      name = "k3b-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kaccounts-integration-21.12.0.tar.xz";
-      sha256 = "0dlan1gjzci3f3xfr3gr6wb4k7qvdm3r91ihxza9bravn2pkf4n7";
-      name = "kaccounts-integration-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kaccounts-providers-21.12.0.tar.xz";
-      sha256 = "0y3hirzs0q1pkrfi3k41lyxbylc0zahaky9zar5262w36wcc28ai";
-      name = "kaccounts-providers-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kaddressbook-21.12.0.tar.xz";
-      sha256 = "126sf8agg2j8dkq4vbpd28bkg2smmkb0q3ynmxz2llifrzfxz1is";
-      name = "kaddressbook-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kajongg-21.12.0.tar.xz";
-      sha256 = "15fj2bmkwz9la4d44w5qpk9fwzb8y77gvybv5rqxpmaknzan2b76";
-      name = "kajongg-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kalarm-21.12.0.tar.xz";
-      sha256 = "0hl1xk6zch2ji4lgh74qpd0j8i00y0vmw6xfmhpzkri6hk3shgrm";
-      name = "kalarm-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kalarmcal-21.12.0.tar.xz";
-      sha256 = "0rk078dnr7a3x73n7sfd06p7mr2r84hbv8lvknimfdy3i2c63hhx";
-      name = "kalarmcal-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kalgebra-21.12.0.tar.xz";
-      sha256 = "0qibj81w8l0g144yplhy7wmh3zwws865xhih4vp6n3apa8h3a5bk";
-      name = "kalgebra-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kalzium-21.12.0.tar.xz";
-      sha256 = "04inkz95qm3s6yh6j4aaa2vja0zkls7f9i3y5zykx665jr90bl87";
-      name = "kalzium-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kamera-21.12.0.tar.xz";
-      sha256 = "1vhc5b0ry1344dh4swfbw4r9in08i297p1x0nfv28v989bf15axn";
-      name = "kamera-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kamoso-21.12.0.tar.xz";
-      sha256 = "0fixk5zc647r56z1vigaj5m0xkp7n56lmda248zh54x0n5prhd8d";
-      name = "kamoso-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kanagram-21.12.0.tar.xz";
-      sha256 = "0j7agapb1byd28fn49c3j02gl108n8skk95spyi998rnm9zm2wc6";
-      name = "kanagram-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kapman-21.12.0.tar.xz";
-      sha256 = "11vnm8ajrckg0ix5xc7mpbwqisbsqy3wivf9y18m5qkz5bvis4g4";
-      name = "kapman-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kapptemplate-21.12.0.tar.xz";
-      sha256 = "022rrgb8bak62q253x14gk5grsimwhilwkb4rlm2scq84m4lwil7";
-      name = "kapptemplate-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kate-21.12.0.tar.xz";
-      sha256 = "0yvg2j4ijx3zq0v0djidjp5w3lj8j7qpfh9ax2ym7a3qf1y2w4ml";
-      name = "kate-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/katomic-21.12.0.tar.xz";
-      sha256 = "1k8aivpn9fmzwn5nzcbn2zym7m65xganxx43drk8mhx5m2lgvs0c";
-      name = "katomic-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kbackup-21.12.0.tar.xz";
-      sha256 = "1ki86g18mc7m9cywjpjcx1i83b5ff9dbjx7qa5fqmy5n16b85l5m";
-      name = "kbackup-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kblackbox-21.12.0.tar.xz";
-      sha256 = "09lafayr6fl50dm272qph0j0qvznqsg7jkfmkq06wwm2sxxlabc9";
-      name = "kblackbox-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kblocks-21.12.0.tar.xz";
-      sha256 = "0lc4wmgb07x87y4hyaajqkd3sw5afk1yby46wywak3m8v8scyvwg";
-      name = "kblocks-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kbounce-21.12.0.tar.xz";
-      sha256 = "1qb3n03cl1qbnrbm2cqk20zxkpilddr8j67ca22mipp0md67c0fv";
-      name = "kbounce-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kbreakout-21.12.0.tar.xz";
-      sha256 = "12zd36zv7qbdavism2kzbmx78vx66laykhkskaz66z1qxw1wls6y";
-      name = "kbreakout-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kbruch-21.12.0.tar.xz";
-      sha256 = "1xk8g3zp8qpqz893nnj50h1ypqzbalj57x6m4g7xy77dmwdjqgnd";
-      name = "kbruch-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kcachegrind-21.12.0.tar.xz";
-      sha256 = "1k5fgqyd76679ay53dlksp46a0f54qyk9av5z0bq4l2ldna5k2ly";
-      name = "kcachegrind-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kcalc-21.12.0.tar.xz";
-      sha256 = "1ih0xmldzm39li93xiprr4wm6xqwwkqc15bnmvy846p0b1kqg2s5";
-      name = "kcalc-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kcalutils-21.12.0.tar.xz";
-      sha256 = "09i4kbfgwpzw55rdlvl0hi1bvra0796b2d18n97lf2idafiz6bny";
-      name = "kcalutils-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kcharselect-21.12.0.tar.xz";
-      sha256 = "1nbys46mbrsb1j5migpap5x11hz54vmfwxcrgcrr5l74g2gr33ks";
-      name = "kcharselect-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kcolorchooser-21.12.0.tar.xz";
-      sha256 = "0dy6p6yg1rki3bnhvskphha3v72lbw70h4x9aazkiczfyb19iyjk";
-      name = "kcolorchooser-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kcron-21.12.0.tar.xz";
-      sha256 = "1j5jcfamb3srxfli7wd32j194f51y5x60p21hkgprwmj7k8l7nia";
-      name = "kcron-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kde-dev-scripts-21.12.0.tar.xz";
-      sha256 = "0b8xnkk0xmkw7jjhi9ilvgsn41p1f5ni6008nl1vf2ys76iv8ccq";
-      name = "kde-dev-scripts-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kde-dev-utils-21.12.0.tar.xz";
-      sha256 = "1jfdadirgpw4cd7apvzxk5ql0hljyqqmpzak0v395q6nhyflpa54";
-      name = "kde-dev-utils-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdebugsettings-21.12.0.tar.xz";
-      sha256 = "0jasjhhfyaakgawzhw7dqbxhc7pzfrcbpghg03pw0ld54ma69s0f";
-      name = "kdebugsettings-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdeconnect-kde-21.12.0.tar.xz";
-      sha256 = "0jlx6rlg2sspfxq9fsl1416b7229vbx0fydy0a4vdj7nrq1iv7ji";
-      name = "kdeconnect-kde-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdeedu-data-21.12.0.tar.xz";
-      sha256 = "11wqcli3dvalkpvbzx271nmxmv825crd5bn03gl9606366q94vin";
-      name = "kdeedu-data-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdegraphics-mobipocket-21.12.0.tar.xz";
-      sha256 = "04rcjlhmqhgaclg0hv5mjjaq5r5nx2pi7ngj5rvh1c14001ip8y2";
-      name = "kdegraphics-mobipocket-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdegraphics-thumbnailers-21.12.0.tar.xz";
-      sha256 = "0zli49aa2zljly10fzhzj60mjjdikfn6fsxspgx48y0vfcqb1p3h";
-      name = "kdegraphics-thumbnailers-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdenetwork-filesharing-21.12.0.tar.xz";
-      sha256 = "15svxqkynw9k6zzdjx9b8bwwy5v76lngw9hvygrfjhif8nr2np6m";
-      name = "kdenetwork-filesharing-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdenlive-21.12.0.tar.xz";
-      sha256 = "083lswdllznyj33qzfbzvy7lp73fwbrhn8xvp33x36nqb3h2w7g1";
-      name = "kdenlive-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdepim-addons-21.12.0.tar.xz";
-      sha256 = "00xn3l54n9c1znp2k5bll04rqsqazr24mx1hg0vk3gqi6fnff2ph";
-      name = "kdepim-addons-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdepim-runtime-21.12.0.tar.xz";
-      sha256 = "1mmp8wlhm6avwkzs81vfvqidxxagv14ll10bg4pyy2mafnm0q31a";
-      name = "kdepim-runtime-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdesdk-kioslaves-21.12.0.tar.xz";
-      sha256 = "1zj1xz6b0hrjvslw00vs3rgcnrhcm50as7d481zgky385j3c5i8r";
-      name = "kdesdk-kioslaves-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdesdk-thumbnailers-21.12.0.tar.xz";
-      sha256 = "1m471h9c8lsd5jchmdjynjwj85i163qq0m6jxcl9pppsn3hvb6a3";
-      name = "kdesdk-thumbnailers-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdev-php-21.12.0.tar.xz";
-      sha256 = "02s116xbdhpvk14y8rgb6icmccy77d0mwrriqv2fxwgl2d26g57z";
-      name = "kdev-php-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdev-python-21.12.0.tar.xz";
-      sha256 = "02nfdvbwj4arkx4z5i148n7mxfb4r2f605wjhc2iddkvdmpbgpcx";
-      name = "kdev-python-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdevelop-21.12.0.tar.xz";
-      sha256 = "17v1347ljvr6wif1lihv6vbd5h2n6pi1nb5v43lin5s165d7scv4";
-      name = "kdevelop-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdf-21.12.0.tar.xz";
-      sha256 = "1q5w741kvyy7bkbm4xiif7ac1cyc02v8wrwr7h10fvcvbvyca50a";
-      name = "kdf-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdialog-21.12.0.tar.xz";
-      sha256 = "1klz70xw43rb89mi1dql0rmjpnzz4hp5dmdwybbby8zd7vkwkp07";
-      name = "kdialog-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kdiamond-21.12.0.tar.xz";
-      sha256 = "003qaf5nyv098f6ap86gjiqmr3a84vqjxjn40jd2g09vsn717xpf";
-      name = "kdiamond-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/keditbookmarks-21.12.0.tar.xz";
-      sha256 = "1pglks8hh1h7lhgzqai4jahy5zgw7j5si4ijbnk02s8zi1prjn21";
-      name = "keditbookmarks-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kfind-21.12.0.tar.xz";
-      sha256 = "1a5p8673c544w1587pp49ra8xwj80hg8v6vgxh88xs5fjdxwzgf5";
-      name = "kfind-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kfloppy-21.12.0.tar.xz";
-      sha256 = "1sk7gaywq90nc54n18vfls5lc6pb780ggljdgn1mr9qyz98brf4v";
-      name = "kfloppy-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kfourinline-21.12.0.tar.xz";
-      sha256 = "18nl5gik49gmamdfv21ihg2fvsbx8fviwqzvfqpqjwmf7hmdn854";
-      name = "kfourinline-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kgeography-21.12.0.tar.xz";
-      sha256 = "0dqv45aaqdw9sf7knrsm1r8bj3vf14vvra41gsi19g6ksv245xzq";
-      name = "kgeography-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kget-21.12.0.tar.xz";
-      sha256 = "0dd57942mv0rlgsdr2hm75x4g1hbkjnzy11fkczhdb2hy49ylmaz";
-      name = "kget-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kgoldrunner-21.12.0.tar.xz";
-      sha256 = "1y5119jxg1fx0wpi9b50gc9h1im1ixzyzhsjcrp0rzqqcdyajm17";
-      name = "kgoldrunner-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kgpg-21.12.0.tar.xz";
-      sha256 = "0i6iqnjplms1rv2f8h3p4z56z20apyw45hmp1mf45pgadwjvs59v";
-      name = "kgpg-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/khangman-21.12.0.tar.xz";
-      sha256 = "1jvw3d743s41b1kq9vpa8l3063br4asbc9spffqlrx09d748w14n";
-      name = "khangman-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/khelpcenter-21.12.0.tar.xz";
-      sha256 = "0mashc7kkmq2hnsbc8cdb3jh5l3q3rynqxvdl2hqwgla83pnfs5c";
-      name = "khelpcenter-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kidentitymanagement-21.12.0.tar.xz";
-      sha256 = "0gjdhxqzshc82hkhsmypyq9sgrnppq6r33zcz31c1d1g0bgklrgw";
-      name = "kidentitymanagement-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kig-21.12.0.tar.xz";
-      sha256 = "00i7ng9csgf6h2db2g6vxnhipqhhhbrnvw4zx6qz7y4f6ik3qxlc";
-      name = "kig-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kigo-21.12.0.tar.xz";
-      sha256 = "1r90hxxzd36aphjhkn46q965wmsghqraiwq68x14w1kzgwkh5a7x";
-      name = "kigo-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/killbots-21.12.0.tar.xz";
-      sha256 = "19dr1n4hzhzqnhfc1sbgyimb3dr0gnfch031f1wgybg94avdk7yx";
-      name = "killbots-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kimagemapeditor-21.12.0.tar.xz";
-      sha256 = "0f07k4fwbp7nniky88s5h3p96g60m6zh1shkhndiv1zpznlgiaba";
-      name = "kimagemapeditor-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kimap-21.12.0.tar.xz";
-      sha256 = "0fasq0lk6w477bqg1mfpslxpclwd5jrgayfxi6qxh8pfi486c8fd";
-      name = "kimap-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kio-extras-21.12.0.tar.xz";
-      sha256 = "15lws6d794rqyxnyp812f58agd1ydgg7vka6gc2d92ks3m438qi4";
-      name = "kio-extras-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kio-gdrive-21.12.0.tar.xz";
-      sha256 = "0ysd1368gal4fc92jilvshj4mxr7babsqmlhx0623q2jm20f5hxj";
-      name = "kio-gdrive-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kipi-plugins-21.12.0.tar.xz";
-      sha256 = "04abfilhlrh9lf1ayg4pc87qc5i6adxwmw1gyq9yjjg5zg7vksz9";
-      name = "kipi-plugins-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kirigami-gallery-21.12.0.tar.xz";
-      sha256 = "1c2dyncjm6nsv4zra3h6pks808xbvgma4g7hjqlivb35snf32ky7";
-      name = "kirigami-gallery-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kiriki-21.12.0.tar.xz";
-      sha256 = "1a82091b66rxbfbaqls52q34gxg1jvxkjcangwgs6rq8gk624siq";
-      name = "kiriki-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kiten-21.12.0.tar.xz";
-      sha256 = "1c5dh2xip3g7144rbrzaxi15lgw6x1c12aa40svjm29c7xayhac4";
-      name = "kiten-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kitinerary-21.12.0.tar.xz";
-      sha256 = "0dzgvijgm7f5zywpalpf9rj47jfi6dzd7j7qnq5k9sdbm9q9bw9k";
-      name = "kitinerary-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kjumpingcube-21.12.0.tar.xz";
-      sha256 = "1y0q6hzjqwaky3vjnx9wrb7glx29ffgv22d5kplgsdzg6pfz890m";
-      name = "kjumpingcube-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kldap-21.12.0.tar.xz";
-      sha256 = "0q6p7r6h4xad341whg0njgq0cm9z76csdphdpg2adiqbdvgyly3g";
-      name = "kldap-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kleopatra-21.12.0.tar.xz";
-      sha256 = "0q8qn4zxaphlakd2biv19fma7p4zxpc7qliz4n0yxmnkj8mhr2l7";
-      name = "kleopatra-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/klettres-21.12.0.tar.xz";
-      sha256 = "0wz894rcgpcag23k37w7h4ddaniismvaw7ymfdwz2gzfki7mj8w7";
-      name = "klettres-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/klickety-21.12.0.tar.xz";
-      sha256 = "1z0z4hb52ahzar7v5y2ap722dbz1mgil33iv6jcny1zazh7ddr5i";
-      name = "klickety-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/klines-21.12.0.tar.xz";
-      sha256 = "1hjyq1n2bmdgm7v3kqw405gxvnsrf1x0i7278lz2w10x8ab6yzsk";
-      name = "klines-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmag-21.12.0.tar.xz";
-      sha256 = "099mzwlgkc8zjp6nkakp73968kjimbb49wsg1ah9qmmairc0amdf";
-      name = "kmag-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmahjongg-21.12.0.tar.xz";
-      sha256 = "0givhpisv19il3g4if14b4a8dkmspf90bw5h3ys0ybwnk7nyqj77";
-      name = "kmahjongg-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmail-21.12.0.tar.xz";
-      sha256 = "11la8c8l6b612qwhqiiahi1nd249lsk9k9s9lihm7sjcqzhii070";
-      name = "kmail-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmail-account-wizard-21.12.0.tar.xz";
-      sha256 = "08bl6v4fs955yk3hb0a3csb644r2qpy687nakv8msqkjkm8bkjvj";
-      name = "kmail-account-wizard-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmailtransport-21.12.0.tar.xz";
-      sha256 = "161z6bd4j87c4qksgf5hnsfhip614j0lkvb11dlgnjfn99jfl8gh";
-      name = "kmailtransport-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmbox-21.12.0.tar.xz";
-      sha256 = "1052hpr6qgqdzhy7ja2bnfqzfd2mj402vbz46rsc1zghzx5vx7qk";
-      name = "kmbox-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmime-21.12.0.tar.xz";
-      sha256 = "0n6qya2j5aa8vv6iqn5rxb5jdd3zyk7p5qwp8yza5fjzvb4mrfvm";
-      name = "kmime-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmines-21.12.0.tar.xz";
-      sha256 = "0jp4d6lfy07iv8ancbd22m8kmy9dx1ip8kl97zsjydzy5jz3ys7z";
-      name = "kmines-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmix-21.12.0.tar.xz";
-      sha256 = "02wrbh4g0xic3q7f9x51nb094xgfvsjp19dfx0phq33mcc6257b0";
-      name = "kmix-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmousetool-21.12.0.tar.xz";
-      sha256 = "0xrrhycdmjc2izrgmlr2c6nb2fd6ilhbgzsq816g5rnn85n2yd66";
-      name = "kmousetool-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmouth-21.12.0.tar.xz";
-      sha256 = "15g8b7xjca9klvjlfnpp61n3i4dpr77c7cx3vpm7lhm672vnb6am";
-      name = "kmouth-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kmplot-21.12.0.tar.xz";
-      sha256 = "0jhq983b4sfx57ld7b05z6i81bqbink5v5fcym56l8c7clm7jbwn";
-      name = "kmplot-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/knavalbattle-21.12.0.tar.xz";
-      sha256 = "1rh8v5m05zpvra955y3hgrral5dn0ac0vdgsbs881nj2g2md66gr";
-      name = "knavalbattle-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/knetwalk-21.12.0.tar.xz";
-      sha256 = "0akkc92s44ddak7k2arrh986pzfan3k9ccxb1b91qv2cr3ma004c";
-      name = "knetwalk-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/knights-21.12.0.tar.xz";
-      sha256 = "179c17zs4nvhwmbi04fshcww4s2lg9nzlx7f2zmg3cnbw905h939";
-      name = "knights-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/knotes-21.12.0.tar.xz";
-      sha256 = "0qdwfnbp79jh6anvk6laj02zikvwjj1xh33phmbja2g69x9igsxg";
-      name = "knotes-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kolf-21.12.0.tar.xz";
-      sha256 = "10qknxia43dh6cxarwdfgfm8qricydginxmv1y9an6v8p1mafpvm";
-      name = "kolf-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kollision-21.12.0.tar.xz";
-      sha256 = "0bji11sqnz3bkaa85kap2lz3sksy68gbg6062rn6nvwgwvq80fsw";
-      name = "kollision-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kolourpaint-21.12.0.tar.xz";
-      sha256 = "167b9zishg4z51i2hcdq0ig9wasmmqsgr0hmj6xh8vs7bi6hdfam";
-      name = "kolourpaint-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kompare-21.12.0.tar.xz";
-      sha256 = "05g9i6nh7bgdxbf1i6w1g5rjbwblgj83xd7vx2l8381db2f0p6ks";
-      name = "kompare-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/konqueror-21.12.0.tar.xz";
-      sha256 = "1cy0n04nnrfwms0clj5p7q6m3aayijg5nkr3n9rgbhaia050sdk7";
-      name = "konqueror-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/konquest-21.12.0.tar.xz";
-      sha256 = "0wyzgs89xii7pcgkq6x99dfajbwhjma6va4lp58pfrrg7ysisdxw";
-      name = "konquest-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/konsole-21.12.0.tar.xz";
-      sha256 = "0wvgwcpp8wg6c08s95nc09ypm915741118ggy88ilz3vxf3rjlpk";
-      name = "konsole-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kontact-21.12.0.tar.xz";
-      sha256 = "17jrj21jbxp121jmkvdzw05fbkjb6035pz38d982bkwpgc4sv5j9";
-      name = "kontact-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kontactinterface-21.12.0.tar.xz";
-      sha256 = "01wz9ifmf6d8m0ggmbqyphnm05hi07zgqypy0safy9kvn3m4jj3v";
-      name = "kontactinterface-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kontrast-21.12.0.tar.xz";
-      sha256 = "1dv79n5792pd4fs9f8i7528zy8a7xyaygyzhf3311v9dbi14arg8";
-      name = "kontrast-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/konversation-21.12.0.tar.xz";
-      sha256 = "1lmfmw9nizp4y35w216ykxp9yz2bbds9hyw8bzy51qjk0k8lw3jl";
-      name = "konversation-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kopeninghours-21.12.0.tar.xz";
-      sha256 = "1p0ql8amxaf7j36y5qajy341aa90lb9q5667jw1zbvfc7kf3myq7";
-      name = "kopeninghours-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kopete-21.12.0.tar.xz";
-      sha256 = "0m47h44b4xxva5qg6iw09a52ildfgwgz8c7z3wjc09r88akiarsy";
-      name = "kopete-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/korganizer-21.12.0.tar.xz";
-      sha256 = "1qfc43llhw9941k9lh9g03bal4hzp80m5yapklcnd6smq2z0kk98";
-      name = "korganizer-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kosmindoormap-21.12.0.tar.xz";
-      sha256 = "1li3jz8b6kqxwivdmcfjgyxc4kvldi6i8n7ik4kllvljv67zqch3";
-      name = "kosmindoormap-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kpat-21.12.0.tar.xz";
-      sha256 = "032advwlagv52nkfd2dv6ri6hq3i8wdmffcgcb2879fvdix6jkz2";
-      name = "kpat-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kpimtextedit-21.12.0.tar.xz";
-      sha256 = "17yhh63cjpjdxynqflb33cdkfy047zq7d4f1xjx3kczcm5is2ms1";
-      name = "kpimtextedit-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kpkpass-21.12.0.tar.xz";
-      sha256 = "02kpwyh169swlvf0dn0n64xn4r3hbzjj6ls2jncnjwlzyrpa56xn";
-      name = "kpkpass-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kpmcore-21.12.0.tar.xz";
-      sha256 = "0czjkxv8mzf3j7kjrzncb81binvscf2vmzjv19aiaa8nq9gx9i55";
-      name = "kpmcore-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kpublictransport-21.12.0.tar.xz";
-      sha256 = "1dzr6b404bg8f2zzphy75pr265kqpyv5bivia9p779s27vc4456a";
-      name = "kpublictransport-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kqtquickcharts-21.12.0.tar.xz";
-      sha256 = "0bnwzpawb7160vi2n10nihgb5r5dqsc5fdzwxyympl37r4l9jxin";
-      name = "kqtquickcharts-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/krdc-21.12.0.tar.xz";
-      sha256 = "0v59fdf5nkgbd27nkgpynqvj0ga8a36ii2h8x3kz47rrw9xvr961";
-      name = "krdc-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kreversi-21.12.0.tar.xz";
-      sha256 = "1s2gh544l1knwg2yl3wm3mkq1d229kp0hb376pi0lzg94cvwhwzw";
-      name = "kreversi-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/krfb-21.12.0.tar.xz";
-      sha256 = "11vlzk0kimqnqlxcwam1j8hkd7r20lvclaflv0fr8wv5jgy5jikd";
-      name = "krfb-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kross-interpreters-21.12.0.tar.xz";
-      sha256 = "1p836hhvz37gk84n2z12j49y206q525agvm1gpbf8zvizjiii12g";
-      name = "kross-interpreters-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kruler-21.12.0.tar.xz";
-      sha256 = "1ki5g7hzpxzv9fqk6xv368rzsj1pbbgnf7nfsksla0xjb7ixm4mi";
-      name = "kruler-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kshisen-21.12.0.tar.xz";
-      sha256 = "1l37an6blv1a9ka8hq3nhf83nbb15mzqqgyza3g80cfziafdiy73";
-      name = "kshisen-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ksirk-21.12.0.tar.xz";
-      sha256 = "01amnrk3apxk8i081pr2rpnra5akl751j3x9y61qh248jvh856px";
-      name = "ksirk-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ksmtp-21.12.0.tar.xz";
-      sha256 = "0p85a8svywbli6579zm931lk1nq199lfad7vf23q5qjmlg2hmnic";
-      name = "ksmtp-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ksnakeduel-21.12.0.tar.xz";
-      sha256 = "0gry8fl74wfs5l2qdhs9qg03l174fw207c24v9fiyhr1hjg18f9w";
-      name = "ksnakeduel-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kspaceduel-21.12.0.tar.xz";
-      sha256 = "1fvw18n8bq18k5n0g4a3p5b15aiwbgbwb67bz0i8p30pr969lsks";
-      name = "kspaceduel-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ksquares-21.12.0.tar.xz";
-      sha256 = "16kmw5c8gnfdlssh97z3g24snh7gg1hr9nb1ynszwpazvbrga7mm";
-      name = "ksquares-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ksudoku-21.12.0.tar.xz";
-      sha256 = "1rymwcs0klzg6nb9jjckdcw70pv4w8x9scvlvbdyy8n54yflzrw6";
-      name = "ksudoku-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ksystemlog-21.12.0.tar.xz";
-      sha256 = "01mqbk6gzfv1mc1b3g75ia5cb3szx02vbxykjq80icmz4x96nl2g";
-      name = "ksystemlog-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kteatime-21.12.0.tar.xz";
-      sha256 = "0ywr3cyijzv20qjdiyq5v4wkxhk9a7z38dv450w63v19b309gb28";
-      name = "kteatime-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktimer-21.12.0.tar.xz";
-      sha256 = "0qb9vlr5mvf0dnwdbz375wn8nrqvawlvsbf01g8ad43x67q7yqi7";
-      name = "ktimer-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktnef-21.12.0.tar.xz";
-      sha256 = "03b5zjmfl6gmsc9pg6a8ig15gqvh2l6513yaix7ib4qxm1dmdrh8";
-      name = "ktnef-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktorrent-21.12.0.tar.xz";
-      sha256 = "1jn029494vl2aj9y0c2bgpzkk1f07if904f27j83jv28fv5ynl24";
-      name = "ktorrent-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktouch-21.12.0.tar.xz";
-      sha256 = "09ayp6infp1xhh411mrqsfj31n89gyq191rgjcwajn97190kd3ch";
-      name = "ktouch-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-accounts-kcm-21.12.0.tar.xz";
-      sha256 = "1vhygwh5lx1pxc1qxskc4v87fqhrwnk53a0k1xz5nymighcyxdvy";
-      name = "ktp-accounts-kcm-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-approver-21.12.0.tar.xz";
-      sha256 = "1qsfcfym7pbihyb82sh12ziibf9hp73qwhy0hr81h2z5ijg05a7r";
-      name = "ktp-approver-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-auth-handler-21.12.0.tar.xz";
-      sha256 = "0m3lwqlykx3dqd77hww7x9rmnwdwxbyl279h6mdjjr0bgnf1ypm1";
-      name = "ktp-auth-handler-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-call-ui-21.12.0.tar.xz";
-      sha256 = "0z6v68xlg89i29zr9ldg5hlqzykwrsw1yvmi5q25rhaamqbcbhy8";
-      name = "ktp-call-ui-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-common-internals-21.12.0.tar.xz";
-      sha256 = "1wah79byc6f5w8c0xa0z7iwjbg628m1v18nfqqs2d6mdb0wlclz4";
-      name = "ktp-common-internals-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-contact-list-21.12.0.tar.xz";
-      sha256 = "0r654q55x27m6cd9jsxgf574wd4r4b8wajj30h6mah317kpfnxg4";
-      name = "ktp-contact-list-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-contact-runner-21.12.0.tar.xz";
-      sha256 = "1kbwf4pikgiym58g8hksai011braa32r1n6s20dnj2r637fywprd";
-      name = "ktp-contact-runner-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-desktop-applets-21.12.0.tar.xz";
-      sha256 = "007wa3mas3cdh2cxw5k1rwhc9bdr96jk3lb0ka82viqz0fiyxlcv";
-      name = "ktp-desktop-applets-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-filetransfer-handler-21.12.0.tar.xz";
-      sha256 = "19pb90zihhrsqb0nkdwan1w7mb4w65apm9ghsp9zb0j6d7sjj1yx";
-      name = "ktp-filetransfer-handler-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-kded-module-21.12.0.tar.xz";
-      sha256 = "18n4b3a6fyf3vwyw8pp6ilj34gbcd1s778m4b03xnm5110nrkplv";
-      name = "ktp-kded-module-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-send-file-21.12.0.tar.xz";
-      sha256 = "1a33cbgczivqlxksjq4a0z0qc5nml8mlkip7g9cx40vly495cj8d";
-      name = "ktp-send-file-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktp-text-ui-21.12.0.tar.xz";
-      sha256 = "1xi4nkvcp13yzf2hdpk77icmvxsf8598njlkq72x5dw9hx6hzxfd";
-      name = "ktp-text-ui-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/ktuberling-21.12.0.tar.xz";
-      sha256 = "0n2hlj7v225c58j6xkqkcvk3a246l4wcmqp9fhqlanmagsn2vq2l";
-      name = "ktuberling-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kturtle-21.12.0.tar.xz";
-      sha256 = "1macqjp0b5iqvpi83d95rzzzyvmcxzfiw99g042hga48na3zz50p";
-      name = "kturtle-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kubrick-21.12.0.tar.xz";
-      sha256 = "1v9x3zf80y0aj7nhwi8r14mcxb67fav6ww7cnw6m7czyxwrpmx82";
-      name = "kubrick-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kwalletmanager-21.12.0.tar.xz";
-      sha256 = "0n8m46kvax12ji1nd3c42yqa6cznx374yzr569ilm523m1lp74hy";
-      name = "kwalletmanager-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kwave-21.12.0.tar.xz";
-      sha256 = "1cgp55c75v200b7l5q8jhvirf1pkfllgk7c2fzv7axzyg4vr2d4v";
-      name = "kwave-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/kwordquiz-21.12.0.tar.xz";
-      sha256 = "0ycsy753msm50x5p938lw3mp8cxcdcbvq85f8az9f8x3y7qmnxlm";
-      name = "kwordquiz-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libgravatar-21.12.0.tar.xz";
-      sha256 = "1c27azlwp0yfsf4nv33n2nsrb7w9m2shqp9pv09i8hqfv7prm5sq";
-      name = "libgravatar-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkcddb-21.12.0.tar.xz";
-      sha256 = "0qipr0399hw5vdlgyw6kp4msi4jlk4z4m8rhgsihp6qdmszhav6d";
-      name = "libkcddb-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkcompactdisc-21.12.0.tar.xz";
-      sha256 = "03qb8w03qhh5b9y0cm8jx8amfiv7j2ijjjd8wqxih66rda8sj11m";
-      name = "libkcompactdisc-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkdcraw-21.12.0.tar.xz";
-      sha256 = "0czwigf1w1k9643flfh4ri1xlbn9k9gkfma3x1qkqa14g4dpm2if";
-      name = "libkdcraw-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkdegames-21.12.0.tar.xz";
-      sha256 = "09llvfssc2msidjlh3mf188ayfv0vm0c5bicnxd3m2lfwr7mw6w2";
-      name = "libkdegames-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkdepim-21.12.0.tar.xz";
-      sha256 = "1kd67k7n4rkdblfzx8xl671dyjhxrzrw1cfi13s83538sa0hfcyi";
-      name = "libkdepim-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkeduvocdocument-21.12.0.tar.xz";
-      sha256 = "1gyv8524xvlgx7h0sh79aziwj9169f8wm0d309839hacwxmz7llb";
-      name = "libkeduvocdocument-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkexiv2-21.12.0.tar.xz";
-      sha256 = "1mpy194pfgxdbhyb8h30f04r8pv90896ppdnyaypsa5dvc0ajr4h";
-      name = "libkexiv2-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkgapi-21.12.0.tar.xz";
-      sha256 = "11f5kn6hc3whhpppgh78m7a47sdhxi13498p447cbnpfgwzjgxw9";
-      name = "libkgapi-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkipi-21.12.0.tar.xz";
-      sha256 = "1pkf14y97xwl4r9fjv4b8czb0ygwlqn37616gwmvd5zr8c0kkmpc";
-      name = "libkipi-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkleo-21.12.0.tar.xz";
-      sha256 = "1mm5ypnq2847fijp986j9si504mfszlvap1zlama2mkcgfiyjbap";
-      name = "libkleo-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkmahjongg-21.12.0.tar.xz";
-      sha256 = "03v2jszin48mbxd7h8gh76az4j5ns3g9cy832rii6dbwwilakgad";
-      name = "libkmahjongg-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libkomparediff2-21.12.0.tar.xz";
-      sha256 = "1kbj86s7lf3bvjihgmhgrh08b2dcivs5h1amx3lc5qw7nvfqa38d";
-      name = "libkomparediff2-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libksane-21.12.0.tar.xz";
-      sha256 = "0r8npxzi8dij4lvi27ycnz51y9cax5agsjcf2rg1zafg4gq3zgcl";
-      name = "libksane-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libksieve-21.12.0.tar.xz";
-      sha256 = "0wda6waxqhsffhn7akxbmklq7i6rp57kj13ghm3lyfwccsxf38z0";
-      name = "libksieve-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/libktorrent-21.12.0.tar.xz";
-      sha256 = "0lzb3vnw500bqll7nvz5r5cwbh2fh11c1a845rarnsyrfsvbdh2y";
-      name = "libktorrent-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/lokalize-21.12.0.tar.xz";
-      sha256 = "11rw0g63zcdlqs5649yn1rx327l19ia0pf3yag2g42r5ssdv4znf";
-      name = "lokalize-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/lskat-21.12.0.tar.xz";
-      sha256 = "0glg9ql6kldy0cyypsn7z01dv7l5i3h26l8b7andzp8i5345p9yp";
-      name = "lskat-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/mailcommon-21.12.0.tar.xz";
-      sha256 = "16i0vzg94ni5hr8ax1r8cc1vfb9s8q47fbk65r7z4svqqwvxhpvw";
-      name = "mailcommon-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/mailimporter-21.12.0.tar.xz";
-      sha256 = "0ns2cwq32aymljn9mbkcr5ac8qgkbblcc75b5dbm42cvyjb3a8iz";
-      name = "mailimporter-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/marble-21.12.0.tar.xz";
-      sha256 = "1c01v6k8l04vlnm9pslfpmmk2jb3h0wk29n9zcgjigc00klfjrmw";
-      name = "marble-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/markdownpart-21.12.0.tar.xz";
-      sha256 = "1ndnr2hlp1njwxf2pcjws3vxl3s3x1qfxhv014msnhll6k1l3lyz";
-      name = "markdownpart-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/mbox-importer-21.12.0.tar.xz";
-      sha256 = "0r9z09yaifj45q1igyh890kzpdazy72rc6q78lisgnslllc22fv1";
-      name = "mbox-importer-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/messagelib-21.12.0.tar.xz";
-      sha256 = "1r2p4inav6shbjlnfkxnkpsak58cflzj0ra2c2930gszhyfyc6b1";
-      name = "messagelib-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/minuet-21.12.0.tar.xz";
-      sha256 = "0rglwxfbmh4hl9kf8h8krx42jamzv9i6k5i99gwlaz63rsylh4w6";
-      name = "minuet-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/okular-21.12.0.tar.xz";
-      sha256 = "08vybplc0bhf9bh9jbwddh9x98f3jdrha2wd1yp53nbcz3jqgm68";
-      name = "okular-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/palapeli-21.12.0.tar.xz";
-      sha256 = "1sypyhidjn2cv1nly54r85a4v331z0mazg19bby1lfn5rn2sg34r";
-      name = "palapeli-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/parley-21.12.0.tar.xz";
-      sha256 = "0y5lby0jqlsj7cf62hwka1l449na7f1nazq63a6vxng9wf22fl4x";
-      name = "parley-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/partitionmanager-21.12.0.tar.xz";
-      sha256 = "0g17y1c4fj6c9hr1xac3qp4yllrr666nh3mxhlgl9qkxa9lyh7jp";
-      name = "partitionmanager-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/picmi-21.12.0.tar.xz";
-      sha256 = "1l91i7mmj60zawkpv2s14l8qajk84gcyxm8x4zzlx7pf9pizbyps";
-      name = "picmi-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/pim-data-exporter-21.12.0.tar.xz";
-      sha256 = "19qssd032x4ma12i8hmd42s7904n8x5z8dydwccc32ma29s5hw0p";
-      name = "pim-data-exporter-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/pim-sieve-editor-21.12.0.tar.xz";
-      sha256 = "1fpkf5lksy8irzs3bfv1b6g53hs2s575pi02rnps33cpr6lxn8q7";
-      name = "pim-sieve-editor-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/pimcommon-21.12.0.tar.xz";
-      sha256 = "02xpw6n1k030hqivqw10xvq6s279712wyy58snn3x2i2a1bzyjaq";
-      name = "pimcommon-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/poxml-21.12.0.tar.xz";
-      sha256 = "0hvwhg4z5f6m9vr0hpvvnpyxhy6zp8yprbh3qkw1216nfpfaw0md";
-      name = "poxml-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/print-manager-21.12.0.tar.xz";
-      sha256 = "10glinq92m08kwsgk9hijangz7grbj7l2vd7p3rxivrbk8q6jms5";
-      name = "print-manager-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/rocs-21.12.0.tar.xz";
-      sha256 = "1h94da4qqs1qcnc5rz4lk5vwfwwhpb8ww7bpj40fg0fpdd3w5anw";
-      name = "rocs-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/signon-kwallet-extension-21.12.0.tar.xz";
-      sha256 = "0a8amssfwxsb9acjaw7lw1m812yma1lw2c21x5if35ivgwagnjdx";
-      name = "signon-kwallet-extension-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/skanlite-21.12.0.tar.xz";
-      sha256 = "0q1sqf2h9y4q0bmy88pnmm0dxlnbwpq7h7plkv9hbkka8k6yk9w1";
-      name = "skanlite-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/spectacle-21.12.0.tar.xz";
-      sha256 = "0s196rjphwhsafwqb3vdl3flxkan6a2y9250v2v9m5dkphll13sn";
-      name = "spectacle-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/step-21.12.0.tar.xz";
-      sha256 = "0cjqxyazlrq88nhfz7ha4p9lc06iimpjc439w37qq3030kx3257r";
-      name = "step-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/svgpart-21.12.0.tar.xz";
-      sha256 = "1qqvkrw3frncs9jni99w0vrsjrzjw9wgdg35qzp2svfaxmyczin1";
-      name = "svgpart-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/sweeper-21.12.0.tar.xz";
-      sha256 = "17rkp2dwnyyh4ywx7xhnswvbh3mwgnd6y9ylrw37q5r3m35ym89i";
-      name = "sweeper-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/umbrello-21.12.0.tar.xz";
-      sha256 = "0s6ld4da8hj48xqzk5fwrw23wmyh05d8540m2w1pzp4wiba7d32f";
-      name = "umbrello-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/yakuake-21.12.0.tar.xz";
-      sha256 = "1wrmzjn317fdv3lp8sgdhzvgxf6n0pdnsbhidh5qw33fr53n8zc1";
-      name = "yakuake-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/zanshin-21.12.0.tar.xz";
-      sha256 = "07bs2zh12jbwjxrjq2qz6fmfq0vpr5qiz024gqxvxaxvskpbiicp";
-      name = "zanshin-21.12.0.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.0";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.0/src/zeroconf-ioslave-21.12.0.tar.xz";
-      sha256 = "1s1vrfifz11z4bqrz8860rkd5fxa1qqvaxaka67gs2yrb788m0ii";
-      name = "zeroconf-ioslave-21.12.0.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/nixpkgs/pkgs/applications/misc/1password-gui/default.nix b/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
index ac3922e17d4b..6de089ba58c5 100644
--- a/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/1password/default.nix b/nixpkgs/pkgs/applications/misc/1password/default.nix
index 9dd439fe8e93..512f5546aecd 100644
--- a/nixpkgs/pkgs/applications/misc/1password/default.nix
+++ b/nixpkgs/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
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
           url = {
             "i686-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
             "x86_64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
-            "aarch64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_arm_v${version}.zip";
+            "aarch64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_arm64_v${version}.zip";
           }.${stdenv.hostPlatform.system};
           sha256 = {
             "i686-linux" = "tCm/vDBASPN9FBSVRJ6BrFc7hdtZWPEAgvokJhjazPg=";
             "x86_64-linux" = "3VkVMuTAfeEowkguJi2fd1kG7GwO1VN5GBPgNaH3Zv4=";
-            "aarch64-linux" = "vWoA/0ZfdwVniHmxC4nH1QIc6bjdb00+SwlkIWc9BPs=";
+            "aarch64-linux" = "12h1s9c97w0gb6bia3hy7773mwpfnyrn40sbjm1zc37y4zyi5dyp";
           }.${stdenv.hostPlatform.system};
           stripRoot = false;
         } else
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/default.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/default.nix
index d88bc71348c8..7587a6ee1241 100644
--- a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/default.nix
@@ -5,48 +5,51 @@
 , libkrb5
 , zlib
 , openssl
+, callPackage
+, stdenvNoCC
 }:
 
 buildDotnetModule rec {
   pname = "archisteamfarm";
-  version = "5.1.5.3";
+  version = "5.2.2.4";
 
   src = fetchFromGitHub {
     owner = "justarchinet";
     repo = pname;
     rev = version;
-    sha256 = "sha256-H038maKHZujmbKhbi8fxsKR/tcSPrcl9L5xnr77yyXg=";
+    sha256 = "sha256-Q5gR+CbqoE9QwFjDpnKOzVZuRPUDBukJ0EpqhN5cAws=";
   };
 
-  dotnet-runtime = dotnetCorePackages.aspnetcore_5_0;
-  nugetDeps = ./deps.nix;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+
+  nugetDeps = if stdenvNoCC.isAarch64 then ./deps-aarch64-linux.nix else ./deps-x86_64-linux.nix;
 
   projectFile = "ArchiSteamFarm.sln";
   executables = [ "ArchiSteamFarm" ];
 
   runtimeDeps = [ libkrb5 zlib openssl ];
 
-  # Without this, it attempts to write to the store even though the `--path` flag is supplied.
-  patches = [ ./mutable-customdir.patch ];
-
   doCheck = true;
 
   preInstall = ''
     # A mutable path, with this directory tree must be set. By default, this would point at the nix store causing errors.
     makeWrapperArgs+=(
-      --add-flags "--path ~/.config/archisteamfarm"
-      --run "mkdir -p ~/.config/archisteamfarm/{config,logs,plugins}"
-      --run "cd ~/.config/archisteamfarm"
+      --run 'mkdir -p ~/.config/archisteamfarm/{config,logs,plugins}'
+      --set "ASF_PATH" "~/.config/archisteamfarm"
     )
   '';
 
-  passthru.updateScript = ./updater.sh;
+  passthru = {
+    updateScript = ./updater.sh;
+    ui = callPackage ./web-ui { };
+  };
 
   meta = with lib; {
     description = "Application with primary purpose of idling Steam cards from multiple accounts simultaneously";
     homepage = "https://github.com/JustArchiNET/ArchiSteamFarm";
     license = licenses.asl20;
-    platforms = dotnetCorePackages.aspnetcore_5_0.meta.platforms;
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ SuperSandro2000 lom ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
new file mode 100644
index 000000000000..2fb60e8fef12
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
@@ -0,0 +1,280 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "AngleSharp"; version = "0.14.0"; sha256 = "1zgwhh1fp2mmaplvpgm86rpmslix3wqfxf0d3hxx1gxwfgr6wxm6"; })
+  (fetchNuGet { pname = "AngleSharp.XPath"; version = "1.1.7"; sha256 = "0lrk002nizq973zdmcm0wmcq17j5gizwp03xdv84hiqqd8cyy538"; })
+  (fetchNuGet { pname = "ConfigureAwaitChecker.Analyzer"; version = "5.0.0"; sha256 = "0sklcgan0w0afvmd4akq7wvdbx5j353ifbhg8z7bxs80yi6f9q17"; })
+  (fetchNuGet { pname = "CryptSharpStandard"; version = "1.0.0"; sha256 = "0nikzb92z4a2n969sz747ginwxsbrap5741bcwwxr4r6m2na9jz7"; })
+  (fetchNuGet { pname = "Humanizer"; version = "2.13.14"; sha256 = "155g2700x6sbym2jd4dshm4rf3jjr8flx6w9xnw28zrrv7r2rdy8"; })
+  (fetchNuGet { pname = "Humanizer.Core"; version = "2.13.14"; sha256 = "1ni4mcyhcs46ih9b8c8l3xq3iai56rdlcw0afwhji3hxwbxqbk7i"; })
+  (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.13.14"; sha256 = "0w7n9qfxlqayw2dwgajqjks5b2qxcy2853v5h0rbaq5r5yb84874"; })
+  (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.13.14"; sha256 = "1nxdh3hg9hkvi7q0ffaflb738kkdl0kmpry9jxdkkvg4mhrmfs2i"; })
+  (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.13.14"; sha256 = "1rjhpbzy49rrf0mypkf7ksjlmx6iywdbra1caj1mr970gfm1j4zb"; })
+  (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.13.14"; sha256 = "101zwkys4w7dwwa7dzsc10gdrk6bnfmm3hqc09a4jvxj2p8i6hds"; })
+  (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.13.14"; sha256 = "1d0flbhk4f0kc1dqzgqnimlp3gcj490qchrbl4yb4ilmsyaws0gm"; })
+  (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.13.14"; sha256 = "11hfxdpncbrbj9d779b24hw43sfpbjynmkxlv636sg532j5vd58g"; })
+  (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.13.14"; sha256 = "0bfl1zx6x58i75l57k8xfky264hh2ziv068yx9w0zshil0d74iw5"; })
+  (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.13.14"; sha256 = "1bhhmp9rza2p4j5zs11sk2xvrbbvckr1v8d97aramqzqmv4x20pd"; })
+  (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.13.14"; sha256 = "1kym97876jspj72y9fhpc2y1jn3j12y5l95222r53mbrrpwz1m6p"; })
+  (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.13.14"; sha256 = "0v5fmy7cjdk3bs13pi09v3g7sbmdnvijn0w8gnif0krmg2rdm2z7"; })
+  (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.13.14"; sha256 = "12m3d0cr9qa0f7sx58rqw835awi01j0frvbp1q796s6amlvhrcyc"; })
+  (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.13.14"; sha256 = "0j8gl6kajazjw64xpf4ws5v6hv5dz43gnm0vcnfm5l2kizd87wxh"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.13.14"; sha256 = "053jcc9rdxxnwiccqmcxnvq40a4fm6h6lr0mlqdxjdfdj07s29i9"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.13.14"; sha256 = "00xff7shwclns2v8mknwnh2y6ycfa9zj7ssgrkdyqa9k8ppq26dh"; })
+  (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.13.14"; sha256 = "10qhxb6fin6w595f7h7nnfvvh5xi0vmca9ynsggq74rpjzgmvyzr"; })
+  (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.13.14"; sha256 = "1xgd3had8gsfy4l5835vn9ngr5i5ys38mggzmm4s6j1id49920g4"; })
+  (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.13.14"; sha256 = "0gfrkjp9c38c671d8rc468hphkixarjzss754rqsk4j5x1p13wml"; })
+  (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.13.14"; sha256 = "01691rwvrh6spks5jc1vcg961p1awy34ynkaxqlhr5d49dw5qgdd"; })
+  (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.13.14"; sha256 = "177vbbn8q0xl2cdak4xyk38w4w8c1y2vlq9i2fm7va4x6awdyxjk"; })
+  (fetchNuGet { pname = "Humanizer.Core.is"; version = "2.13.14"; sha256 = "08d8zknnxlvbshlvlnj1m954ddf7khw1n24pphsa9i0brww9wxfv"; })
+  (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.13.14"; sha256 = "0873ijf8cxm7skwp622ddnh8pdl30nlrwmil89icf67z3flis60d"; })
+  (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.13.14"; sha256 = "1bshhkiv57010zij7pcmm1709n0y4pk3kp9xx7ar3gnra3jmm6za"; })
+  (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.13.14"; sha256 = "0rhq6471pjaypnh4k08y124i7sa6cj3i71v2frv66qpynl6hi0y0"; })
+  (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.13.14"; sha256 = "1ircd4lw3ryl3zzdv85wpk8by44rzhn4ln85ycml2b6a21arq1rw"; })
+  (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.13.14"; sha256 = "0y7m6zvns8wr0sy5ksjb51wrypgplfdwprz96xw1ajmdj4fjh9sr"; })
+  (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.13.14"; sha256 = "1cpnjjgybh9dp9snq3r6wm3l4zy1ssjyb64bayjnd8770lpvyfjs"; })
+  (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.13.14"; sha256 = "0n5zjsq71nvxnhghsk321cqrwz7kf1jzfcq4vhsksyv7q9na74ak"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.13.14"; sha256 = "07b1fj3ac2wcj7ql1gc7vaa4q4dmyd0prj7bxr52z04ar3nxjlsc"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.13.14"; sha256 = "0v1vljlzjlslj5y3c5xd2pbp1g29ghjd02s0z2bri5zk9zcgysvq"; })
+  (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.13.14"; sha256 = "15imi9m1lvfrx0fvfmlx74p8y59na2rkgdrbfyy3dvgvd74b9k5v"; })
+  (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.13.14"; sha256 = "06ix2xilgi7w7306hs4v41ai6jwank384cyz0885b53dic5kgq7r"; })
+  (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.13.14"; sha256 = "1qd1w1xrxap7nwmfl9yjx6z71r03p53kw8y4dnjn7xdn85xc7z4b"; })
+  (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.13.14"; sha256 = "1qifvw6y6g7014q0s8xaprsk79bqlgg0rmvbyn21qalc0ayab97v"; })
+  (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.13.14"; sha256 = "0wg4p84m9r6slbz9gxrjnidc1j7xfmwncpp14x3f86a37791rz61"; })
+  (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.13.14"; sha256 = "1qm0nsbw3z9n011fnnhyhzgpxyz41f01dxl13bs8mjzy0f1v3gvj"; })
+  (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.13.14"; sha256 = "1fhkjyxjk9icj705qysk8yc11hpdml2cjcxm7mfdv5z2f93sa4hz"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.13.14"; sha256 = "02f15q3i9npvvxwjyp14rxd8rlhd9qricrah3cmc8lw9fca26bb4"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.13.14"; sha256 = "0mnycpjl51cd4nz9kwijr66zrgxqjbcsp5jqgr660l4bq16yxjad"; })
+  (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.13.14"; sha256 = "13vdyrg1jp2al96w08vfkw5yjdqdnp7pksxz907i89w6cp9wbfvm"; })
+  (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.13.14"; sha256 = "0ganp6zjjj07lcpy9h88q2441f1lfv3a7mgncrqw36bliv37pr8m"; })
+  (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.13.14"; sha256 = "1sgfzh9dabdhhk5i97c0d13rz5yghcp2qpjidqsizpi2k8h8rl0r"; })
+  (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.13.14"; sha256 = "1ns33byx9p6fv6gffdxly3fm3wvjl6ndscribwr37134pa6nvqc9"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.13.14"; sha256 = "1qm27qz989nwnkpg26phi60qqahivssx906znwkldml2h2rz8k0g"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.13.14"; sha256 = "1hd2d7js8cng50ir56l8lhc9qc1rwzjvqrv98ly9ggnv8n63iiws"; })
+  (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.13.14"; sha256 = "0xh33ml7aspslj4gnbd7anjvp3463djhcc51bh2ji67rbw1an6rw"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.13.14"; sha256 = "062wgs0qnhvikvfz37jmqw6sx7xwzs24ncl89paq3640id32aivd"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.13.14"; sha256 = "0s01h733ihxjg64bznjvnij76lflqfcmwznjwmd8p2axmn8688s0"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; })
+  (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; })
+  (fetchNuGet { pname = "Markdig.Signed"; version = "0.26.0"; sha256 = "1giwdvmy6n4vfb0g7sxmdf9bklb4r2vdfhm1xfxvqys8rfm15d4z"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "0np2x73x2g3145qnd4ibkxlz535g19lansmaqkjplf0xc6qi5zsg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "1315hycfqlalh6k4zvvz7pz3dylpp0sr45j1v9avcb143hjqnav6"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0r6jyxl3h1asj30la78skd5gsxgwjpvkspmkw1gglxfg85hnqc8w"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1x254v25wilx4nh4dnjij4p9g0wsrqn9jyf4z48fa1bw1q3j3rba"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1hnqhvgjp342nx9s47w5sknmlpkfxbcfi50pa4vary2r7sv8ka2w"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "1j8cn97swc67ly7ca7m05akczrswbg0gjsk7473vad6770ph79vm"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "6.0.0-rc.1.21452.15"; sha256 = "0c3vnaag8gxlxij77n18m3hawpjkjjamsnq5kfjz5cvc7sfg3fwh"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "6.0.0-rc.1.21452.15"; sha256 = "1xyx358w4fqzxr9cy358agnm86rjijbnvikiqlngz2msgmldxi2z"; })
+  (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "5.0.0"; sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "5.0.0"; sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "5.0.0"; sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.0"; sha256 = "0m4q75iz6nj76sakab3265rzz969gk1rm2qwbvn0v60h3hflkqgb"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.0"; sha256 = "07fgwhgnwcf58dkrfpmfyzqvd33x6ir25qn3v96j8bl4x9dn4sij"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.0"; sha256 = "0z2whbviiw6kjqa7c2gj3j7fqq31m28iww66n7hvy3cnqcn3471k"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.0"; sha256 = "188cbx99ahvksap9w20943p62fmzxa6fl133w4r7c6bjpsrm29a4"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.0"; sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "159hq4fn2n5n2mkxw6wi4nhj0ifclpn7gxspqljlgczlhkm1vxqb"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "146rbmk0svvqaf0c4msg67h17x4k4gd5kzsbb3iqvs14xfkli2xw"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1ywkycp9llrfk4jcd7agaivlhn9pig70cj65xkfhjw1wx51756jc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1njh3iky5wyxdrisz8xfpy7kzbsrvzfhpdl01xbavvz189x4ajqp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "13x1nkigy3nhbr8gxalij7krmzxpciyq4i8k7jdy9278zs1lm5a6"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
+  (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.0.0"; sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.0.0"; sha256 = "06mn31cgpp7d8lwdyjanh89prc66j37dchn74vrd9s588rq0y70r"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
+  (fetchNuGet { pname = "MSTest.TestAdapter"; version = "2.2.8"; sha256 = "045k737srwvm6dpad04dkj7ln38csf45lps5j88w8hyzrdgllbb9"; })
+  (fetchNuGet { pname = "MSTest.TestFramework"; version = "2.2.8"; sha256 = "1jw7sl2li7xzx8scciz9bc2rw8cnwcwxr8061zykrgg1dbjx6aa3"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; })
+  (fetchNuGet { pname = "Nito.AsyncEx.Coordination"; version = "5.1.2"; sha256 = "0sxvmqnv8a94k3pq1w3lh1vgjb8l62h1qamxcjl3pkq634h2fwrl"; })
+  (fetchNuGet { pname = "Nito.AsyncEx.Tasks"; version = "5.1.2"; sha256 = "11wp47kc69sjdxrbg5pgx0wlffqlp0x5kr54ggnz2v19kmjz362v"; })
+  (fetchNuGet { pname = "Nito.Collections.Deque"; version = "1.1.1"; sha256 = "152564q3s0n5swfv5p5rx0ghn2sm0g2xsnbd7gv8vb9yfklv7yg8"; })
+  (fetchNuGet { pname = "Nito.Disposables"; version = "2.2.1"; sha256 = "1hx5k8497j34kxxgh060bvij0vfnraw90dmm3h9bmamcdi8wp80l"; })
+  (fetchNuGet { pname = "NLog"; version = "4.7.11"; sha256 = "0vvgypqh6cxzkrfymjaghads5dg88l2xvbz6dxwwrnjg5hhpcjaw"; })
+  (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "1.7.4"; sha256 = "1lilk9sv3j9jg23hl0vhxd8w63bh6xvns42rkz5n582wpf5k2r24"; })
+  (fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "4.14.0"; sha256 = "1q2v44inp4xjynncxpv432k2qjkfara1bpipmv3p3in0yv14l3wg"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
+  (fetchNuGet { pname = "protobuf-net"; version = "3.0.101"; sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf"; })
+  (fetchNuGet { pname = "protobuf-net.Core"; version = "3.0.101"; sha256 = "1kvn9rnm6f0jxs0s9scyyx2f2p8rk03qzc1f6ijv1g6xgkpxkq1m"; })
+  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
+  (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
+  (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; })
+  (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"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (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.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 = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
+  (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; })
+  (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
+  (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; })
+  (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
+  (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
+  (fetchNuGet { pname = "runtime.win.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0k1h8nnp1s0p8rjwgjyj1387cc1yycv0k22igxc963lqdzrx2z36"; })
+  (fetchNuGet { pname = "runtime.win.System.Console"; version = "4.3.0"; sha256 = "0x2yajfrbc5zc6g7nmlr44xpjk6p1hxjq47jn3xki5j7i33zw9jc"; })
+  (fetchNuGet { pname = "runtime.win.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "16fbn4bcynad1ygdq0yk1wmckvs8jvrrf104xa5dc2hlc8y3x58f"; })
+  (fetchNuGet { pname = "runtime.win.System.IO.FileSystem"; version = "4.3.0"; sha256 = "1c01nklbxywszsbfaxc76hsz7gdxac3jkphrywfkdsi3v4bwd6g8"; })
+  (fetchNuGet { pname = "runtime.win.System.Net.Primitives"; version = "4.3.0"; sha256 = "1dixh195bi7473n17hspll6i562gghdz9m4jk8d4kzi1mlzjk9cf"; })
+  (fetchNuGet { pname = "runtime.win.System.Net.Sockets"; version = "4.3.0"; sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck"; })
+  (fetchNuGet { pname = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
+  (fetchNuGet { pname = "SteamKit2"; version = "2.4.1"; sha256 = "13f7jra2d0kjlvnk4dghzhx8nhkd001i4xrkf6m19gisjvpjhpdr"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.2.3"; sha256 = "1kx50vliqcqw72aygkm2cs2q82pxdxz17gvz4chz6k858qj4gv0l"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.2.3"; sha256 = "189i1ziv3xkdxpxhkpfx3xfji3iw124s88sqn3ga2vh04fbdak8x"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Newtonsoft"; version = "6.2.3"; sha256 = "1r4z1mmgihnmcqb8zd1q6jbz1g72y5ggl833qhmd1q0wnq8awbs8"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.2.3"; sha256 = "0g3aw1lydq1xymd1f5rrs0dhl0fpl85gffs9jsm3khfqp7js31yz"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.2.3"; sha256 = "1cza3hzxhia81rmmdx9qixbm1ikavscddknpvbkrwmljzx2qmsv7"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.2.3"; sha256 = "0sbrymb73a2s9qhgm7i44ca08h4n62qfh751fwnvybmj8kb1gzsi"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
+  (fetchNuGet { pname = "System.Composition"; version = "6.0.0"; sha256 = "1p7hysns39cc24af6dwd4m48bqjsrr3clvi4aws152mh2fgyg50z"; })
+  (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "6.0.0"; sha256 = "1mqrblb0l65hw39d0hnspqcv85didpn4wbiwhfgj4784wzqx2w6k"; })
+  (fetchNuGet { pname = "System.Composition.Convention"; version = "6.0.0"; sha256 = "02km3yb94p1c4s7liyhkmda0g71zm1rc8ijsfmy4bnlkq15xjw3b"; })
+  (fetchNuGet { pname = "System.Composition.Hosting"; version = "6.0.0"; sha256 = "0big5nk8c44rxp6cfykhk7rxvn2cgwa99w6c3v2a36adc3lj36ky"; })
+  (fetchNuGet { pname = "System.Composition.Runtime"; version = "6.0.0"; sha256 = "0vq5ik63yii1784gsa2f2kx9w6xllmm8b8rk0arid1jqdj1nyrlw"; })
+  (fetchNuGet { pname = "System.Composition.TypedParts"; version = "6.0.0"; sha256 = "0y9pq3y60nyrpfy51f576a0qjjdh61mcv8vnik32pm4bz56h9q72"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (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.TextWriterTraceListener"; version = "4.3.0"; sha256 = "09db74f36wkwg30f7v7zhz1yhkyrnl5v6bdwljq1jdfgzcfch7c3"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (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.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Async"; version = "5.1.0"; sha256 = "130311hl9khq1kcq7zd90grmv2f6ncgfi4yzx1fq3p5v5g39xm8n"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
+  (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.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; })
+  (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"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
+  (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
+  (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.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.0"; sha256 = "19x38911pawq4mrxrm04l2bnxwxxlzq8v8rj4cbxnfjj8pnd3vj3"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.3.0"; sha256 = "1nahikhqh9nk756dh8p011j36rlcp1bzz3vwi2b4m1l2s3vz8idm"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { pname = "zxcvbn-core"; version = "7.0.92"; sha256 = "1pbi0n3za8zsnkbvq19njy4h4hy12a6rv4rknf4a2m1kdhxb3cgx"; })
+]
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
index 94b22c2ac72a..54bcfc8f5b30 100644
--- a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps.nix
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
@@ -3,69 +3,66 @@
   (fetchNuGet { pname = "AngleSharp.XPath"; version = "1.1.7"; sha256 = "0lrk002nizq973zdmcm0wmcq17j5gizwp03xdv84hiqqd8cyy538"; })
   (fetchNuGet { pname = "ConfigureAwaitChecker.Analyzer"; version = "5.0.0"; sha256 = "0sklcgan0w0afvmd4akq7wvdbx5j353ifbhg8z7bxs80yi6f9q17"; })
   (fetchNuGet { pname = "CryptSharpStandard"; version = "1.0.0"; sha256 = "0nikzb92z4a2n969sz747ginwxsbrap5741bcwwxr4r6m2na9jz7"; })
-  (fetchNuGet { pname = "Humanizer"; version = "2.11.10"; sha256 = "057pqzvdxsbpnnc5f1xkqg7j3ywp68ggia3w74fgqp0158dm6rdk"; })
-  (fetchNuGet { pname = "Humanizer.Core"; version = "2.11.10"; sha256 = "0z7kmd5rh1sb6izq0vssk6c2p63n00xglk45s7ga9z18z9aaskxv"; })
-  (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.11.10"; sha256 = "18fiixfvjwn8m1i8z2cz4aqykzylvfdqmmpwc2zcd8sr1a2xm86z"; })
-  (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.11.10"; sha256 = "009fpm4jd325izm82ipipsvlwd31824gvskda68bdwi4yqmycz4p"; })
-  (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.11.10"; sha256 = "144b9diwprabxwgi5a98k5iy95ajq4p7356phdqi2lhzwbz7b6a9"; })
-  (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.11.10"; sha256 = "1b9y40gvq2kwnj5wa40f8cbywv79jkajcwknagrgr27sykpfadl2"; })
-  (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.11.10"; sha256 = "18pn4jcp36ygcx283l3fi9bs5d7q1a384b72a10g5kl0qckn88ay"; })
-  (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.11.10"; sha256 = "03crw1lnzp32v2kcdmllkrsqh07r4ggw9gyc96qw7cv0nk5ch1h8"; })
-  (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.11.10"; sha256 = "0glby12zra3y3yiq4cwq1m6wjcjl8f21v8ghi6s20r48glm8vzy9"; })
-  (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.11.10"; sha256 = "0a35xrm1f9p74x0fkr52bw9sd54vdy9d5rnvf565yh8ww43xfk7b"; })
-  (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.11.10"; sha256 = "0bhwwdx5vc48zikdsbrkghdhwahxxc2lkff0yaa5nxhbhasl84h8"; })
-  (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.11.10"; sha256 = "07bw07qy8nyzlgxl7l2lxv9f78qmkfppgzx7iyq5ikrcnpvc7i9q"; })
-  (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.11.10"; sha256 = "00d4hc1pfmhfkc5wmx9p7i00lgi4r0k6wfcns9kl1syjxv3bs5f2"; })
-  (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.11.10"; sha256 = "0z4is7pl5jpi4pfdvd2zvx5mp00bj26d9l9ksqyc0liax8nfzyik"; })
-  (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.11.10"; sha256 = "0sybpg6kbbhrnk7gxcdk7ppan89lsfqsdssrg4i1dm8w48wgicap"; })
-  (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.11.10"; sha256 = "1s25c86nl9wpsn6fydzwv4rfmdx5sm0vgyd7xhw5344k20gazvhv"; })
-  (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.11.10"; sha256 = "1nx61qkjd6p9r36dmnm4942khyv35fpdqmb2w69gz6463g4d7z29"; })
-  (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.11.10"; sha256 = "02jhcyj72prkqsjxyilv04drm0bknqjh2r893jlbsfi9vjg2zay3"; })
-  (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.11.10"; sha256 = "0yb6ly4s1wdyaf96h2dvifqyb575aid6irwl3qx8gcvrs0xpcxdp"; })
-  (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.11.10"; sha256 = "0b7vaqldn7ca3xi4gkvkhjk900kw2zwb0m0d20bg45a83zdlx79c"; })
-  (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.11.10"; sha256 = "1yqxirknwga4j18k7ixwgqxlv20479afanhariy3c5mkwvglsr9b"; })
-  (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.11.10"; sha256 = "1skwgj5a6kkx3pm9w4f29psch69h1knmwbkdydlmx13h452p1w4l"; })
-  (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.11.10"; sha256 = "1wpc3yz9v611dqbw8j5yimk8dpz0rvpnls4rmlnp1m47gavpj8x4"; })
-  (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.11.10"; sha256 = "1df0kd7vwdc3inxfkb3wsl1aw3d6vbab99dzh08p4m04g7i2c1a9"; })
-  (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.11.10"; sha256 = "17b66xfgwjr0sffx0hw4c6l90h43z7ffylrs26hgav0n110q2nwg"; })
-  (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.11.10"; sha256 = "0czxx4b9g0w7agykdl82wds09zasa9y58dmgjm925amlfz4wkyzs"; })
-  (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.11.10"; sha256 = "0kix95nbw94fx0dziyz80y59i7ii7d21b63f7f94niarljjq36i3"; })
-  (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.11.10"; sha256 = "1rwy6m22pq65gxn86xlr9lv818fp5kb0wz98zxxfljc2iviw1f4p"; })
-  (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.11.10"; sha256 = "0ra2cl0avvv4sylha7z76jxnb4pdiqfbpr5m477snr04dsjxd9q9"; })
-  (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.11.10"; sha256 = "1qszib03pvmjkrg8za7jjd2vzrs9p4fn2rmy82abnzldkhvifipq"; })
-  (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.11.10"; sha256 = "1i9bvy0i2yyasl9mgxiiwrkmfpm2c53d3wwdp9270r6120sxyy63"; })
-  (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.11.10"; sha256 = "0kggh4wgcic7wzgxy548n6w61schss2ccf9kz8alqshfi42xifby"; })
-  (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.11.10"; sha256 = "09j90s8x1lpvhfiy3syfnj8slkgcacf3xjy3pnkgxa6g4mi4f4bd"; })
-  (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.11.10"; sha256 = "1jgidmqfly91v1k22gn687mfql5bz7gjzp1aapi93vq5x635qssy"; })
-  (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.11.10"; sha256 = "13mmlh0ibxfyc85xrz3vx4mcg56mkzqql184iwdryq94p0g5ahil"; })
-  (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.11.10"; sha256 = "04ja06y5jaz1jwkwn117wx9cib04gpbi0vysn58a8sd5jrxmxai5"; })
-  (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.11.10"; sha256 = "05hxk9v3a7fn7s4g9jp5zxk2z6a33b9fkavyb1hjqnl2i37q2wja"; })
-  (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.11.10"; sha256 = "0x6l2msimrx72iywa1g0rqklgy209sdwg0r77i2lz0s1rvk5klm5"; })
-  (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.11.10"; sha256 = "01hdyn7mmbyy7f3aglawgnsj3nblcdpqjgzdcvniy73l536mira0"; })
-  (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.11.10"; sha256 = "0cbgchivw3d5ndib1zmgzmnymhyvfh9g9f0hijc860g5vaa9fkvh"; })
-  (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.11.10"; sha256 = "1v7f9x3b04iwhz9lb3ir8az8128nvcw1gi4park5zh3fg0f3mni0"; })
-  (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.11.10"; sha256 = "02c4ky0dskxkdrkc7vy8yzmvwjr1wqll1kzx0k21afhlx8xynjd4"; })
-  (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.11.10"; sha256 = "0900ilhwj8yvhyzpg1pjr7f5vrl62wp8dsnhk4c2igs20qvnv079"; })
-  (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.11.10"; sha256 = "09b7p2m8y49j49ckrmx2difgyj6y7fm2mwca093j8psxclsykcyr"; })
-  (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.11.10"; sha256 = "029kvkawqhlln52vpjpvr52dhr18ylk01cgsj2z8lxnqaka0q9hk"; })
-  (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.11.10"; sha256 = "0q4d47plsj956ivn82qwyidfxppjr9dp13m8c66aamrvhy4q8ny5"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.11.10"; sha256 = "01dy5kf6ai8id77px92ji4kcxjc8haj39ivv55xy1afcg3qiy7mh"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.11.10"; sha256 = "16gcxgw2g6gck3nc2hxzlkbsg7wkfaqsjl87kasibxxh47zdqqv2"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.11.10"; sha256 = "1rjg2xvkwjjw3c7z9mdjjvbnl9lcvvhh4fr7l61rla2ynzdk46cj"; })
+  (fetchNuGet { pname = "Humanizer"; version = "2.13.14"; sha256 = "155g2700x6sbym2jd4dshm4rf3jjr8flx6w9xnw28zrrv7r2rdy8"; })
+  (fetchNuGet { pname = "Humanizer.Core"; version = "2.13.14"; sha256 = "1ni4mcyhcs46ih9b8c8l3xq3iai56rdlcw0afwhji3hxwbxqbk7i"; })
+  (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.13.14"; sha256 = "0w7n9qfxlqayw2dwgajqjks5b2qxcy2853v5h0rbaq5r5yb84874"; })
+  (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.13.14"; sha256 = "1nxdh3hg9hkvi7q0ffaflb738kkdl0kmpry9jxdkkvg4mhrmfs2i"; })
+  (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.13.14"; sha256 = "1rjhpbzy49rrf0mypkf7ksjlmx6iywdbra1caj1mr970gfm1j4zb"; })
+  (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.13.14"; sha256 = "101zwkys4w7dwwa7dzsc10gdrk6bnfmm3hqc09a4jvxj2p8i6hds"; })
+  (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.13.14"; sha256 = "1d0flbhk4f0kc1dqzgqnimlp3gcj490qchrbl4yb4ilmsyaws0gm"; })
+  (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.13.14"; sha256 = "11hfxdpncbrbj9d779b24hw43sfpbjynmkxlv636sg532j5vd58g"; })
+  (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.13.14"; sha256 = "0bfl1zx6x58i75l57k8xfky264hh2ziv068yx9w0zshil0d74iw5"; })
+  (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.13.14"; sha256 = "1bhhmp9rza2p4j5zs11sk2xvrbbvckr1v8d97aramqzqmv4x20pd"; })
+  (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.13.14"; sha256 = "1kym97876jspj72y9fhpc2y1jn3j12y5l95222r53mbrrpwz1m6p"; })
+  (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.13.14"; sha256 = "0v5fmy7cjdk3bs13pi09v3g7sbmdnvijn0w8gnif0krmg2rdm2z7"; })
+  (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.13.14"; sha256 = "12m3d0cr9qa0f7sx58rqw835awi01j0frvbp1q796s6amlvhrcyc"; })
+  (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.13.14"; sha256 = "0j8gl6kajazjw64xpf4ws5v6hv5dz43gnm0vcnfm5l2kizd87wxh"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.13.14"; sha256 = "053jcc9rdxxnwiccqmcxnvq40a4fm6h6lr0mlqdxjdfdj07s29i9"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.13.14"; sha256 = "00xff7shwclns2v8mknwnh2y6ycfa9zj7ssgrkdyqa9k8ppq26dh"; })
+  (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.13.14"; sha256 = "10qhxb6fin6w595f7h7nnfvvh5xi0vmca9ynsggq74rpjzgmvyzr"; })
+  (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.13.14"; sha256 = "1xgd3had8gsfy4l5835vn9ngr5i5ys38mggzmm4s6j1id49920g4"; })
+  (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.13.14"; sha256 = "0gfrkjp9c38c671d8rc468hphkixarjzss754rqsk4j5x1p13wml"; })
+  (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.13.14"; sha256 = "01691rwvrh6spks5jc1vcg961p1awy34ynkaxqlhr5d49dw5qgdd"; })
+  (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.13.14"; sha256 = "177vbbn8q0xl2cdak4xyk38w4w8c1y2vlq9i2fm7va4x6awdyxjk"; })
+  (fetchNuGet { pname = "Humanizer.Core.is"; version = "2.13.14"; sha256 = "08d8zknnxlvbshlvlnj1m954ddf7khw1n24pphsa9i0brww9wxfv"; })
+  (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.13.14"; sha256 = "0873ijf8cxm7skwp622ddnh8pdl30nlrwmil89icf67z3flis60d"; })
+  (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.13.14"; sha256 = "1bshhkiv57010zij7pcmm1709n0y4pk3kp9xx7ar3gnra3jmm6za"; })
+  (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.13.14"; sha256 = "0rhq6471pjaypnh4k08y124i7sa6cj3i71v2frv66qpynl6hi0y0"; })
+  (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.13.14"; sha256 = "1ircd4lw3ryl3zzdv85wpk8by44rzhn4ln85ycml2b6a21arq1rw"; })
+  (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.13.14"; sha256 = "0y7m6zvns8wr0sy5ksjb51wrypgplfdwprz96xw1ajmdj4fjh9sr"; })
+  (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.13.14"; sha256 = "1cpnjjgybh9dp9snq3r6wm3l4zy1ssjyb64bayjnd8770lpvyfjs"; })
+  (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.13.14"; sha256 = "0n5zjsq71nvxnhghsk321cqrwz7kf1jzfcq4vhsksyv7q9na74ak"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.13.14"; sha256 = "07b1fj3ac2wcj7ql1gc7vaa4q4dmyd0prj7bxr52z04ar3nxjlsc"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.13.14"; sha256 = "0v1vljlzjlslj5y3c5xd2pbp1g29ghjd02s0z2bri5zk9zcgysvq"; })
+  (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.13.14"; sha256 = "15imi9m1lvfrx0fvfmlx74p8y59na2rkgdrbfyy3dvgvd74b9k5v"; })
+  (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.13.14"; sha256 = "06ix2xilgi7w7306hs4v41ai6jwank384cyz0885b53dic5kgq7r"; })
+  (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.13.14"; sha256 = "1qd1w1xrxap7nwmfl9yjx6z71r03p53kw8y4dnjn7xdn85xc7z4b"; })
+  (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.13.14"; sha256 = "1qifvw6y6g7014q0s8xaprsk79bqlgg0rmvbyn21qalc0ayab97v"; })
+  (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.13.14"; sha256 = "0wg4p84m9r6slbz9gxrjnidc1j7xfmwncpp14x3f86a37791rz61"; })
+  (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.13.14"; sha256 = "1qm0nsbw3z9n011fnnhyhzgpxyz41f01dxl13bs8mjzy0f1v3gvj"; })
+  (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.13.14"; sha256 = "1fhkjyxjk9icj705qysk8yc11hpdml2cjcxm7mfdv5z2f93sa4hz"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.13.14"; sha256 = "02f15q3i9npvvxwjyp14rxd8rlhd9qricrah3cmc8lw9fca26bb4"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.13.14"; sha256 = "0mnycpjl51cd4nz9kwijr66zrgxqjbcsp5jqgr660l4bq16yxjad"; })
+  (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.13.14"; sha256 = "13vdyrg1jp2al96w08vfkw5yjdqdnp7pksxz907i89w6cp9wbfvm"; })
+  (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.13.14"; sha256 = "0ganp6zjjj07lcpy9h88q2441f1lfv3a7mgncrqw36bliv37pr8m"; })
+  (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.13.14"; sha256 = "1sgfzh9dabdhhk5i97c0d13rz5yghcp2qpjidqsizpi2k8h8rl0r"; })
+  (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.13.14"; sha256 = "1ns33byx9p6fv6gffdxly3fm3wvjl6ndscribwr37134pa6nvqc9"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.13.14"; sha256 = "1qm27qz989nwnkpg26phi60qqahivssx906znwkldml2h2rz8k0g"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.13.14"; sha256 = "1hd2d7js8cng50ir56l8lhc9qc1rwzjvqrv98ly9ggnv8n63iiws"; })
+  (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.13.14"; sha256 = "0xh33ml7aspslj4gnbd7anjvp3463djhcc51bh2ji67rbw1an6rw"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.13.14"; sha256 = "062wgs0qnhvikvfz37jmqw6sx7xwzs24ncl89paq3640id32aivd"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.13.14"; sha256 = "0s01h733ihxjg64bznjvnij76lflqfcmwznjwmd8p2axmn8688s0"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; })
   (fetchNuGet { pname = "Markdig.Signed"; version = "0.26.0"; sha256 = "1giwdvmy6n4vfb0g7sxmdf9bklb4r2vdfhm1xfxvqys8rfm15d4z"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "5.0.10"; sha256 = "1dmcccml0lwxkiplfisxc70877h3s6p589nml19pi07iypvyxxjh"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "5.0.12"; sha256 = "1cv7s0gh54jfrdgwa2cyarh1f6m59fpbfmqsszi27cdik0llh24s"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.10"; sha256 = "1r9rf1j5v3hfn299zk71bjbbzslnypyqy1pz2xc4mirghwg18pqw"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.12"; sha256 = "1hmr4l20fs8qqjvcfnlyb6ik6dh37mg0xa2wrvkn229pmiwp1rm9"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.10"; sha256 = "1zlcdqscbgqz5yqfgn21l711ybplid97c6wg0gqbbd6920qmpidd"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1asph5v7kgmscfgsyv9gg7cwvg52gnm6m0ldm2m4pfkpsxqyp2mi"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.10"; sha256 = "0ir75jh4qas1v70y63hvd0rbyprcf97l47b2pgljhxk138z96s4y"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.12"; sha256 = "02kv8xh6xvpav7vqj281321ly1imghxcc18cdgadiq8dwgm87xwp"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "5.0.10"; sha256 = "0qhyrprvbhcn980ycqvkchd4qy5shydi7pl0lbcl9cljivn60if3"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "5.0.12"; sha256 = "062zb8gqbzxq2xrmr8lbl215pnhw1fdidq43m975vsfgzmqrga8f"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "5.0.0"; sha256 = "192mn6r73xjw8fvlss6vrv34iiavq7k8pg0w7advgj6khklw4dzx"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "5.0.0"; sha256 = "1q3z35pxgvpf6l6ywh5wb6gfly055rk99a80rjqisyrbmza1msd1"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "0np2x73x2g3145qnd4ibkxlz535g19lansmaqkjplf0xc6qi5zsg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "1315hycfqlalh6k4zvvz7pz3dylpp0sr45j1v9avcb143hjqnav6"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0r6jyxl3h1asj30la78skd5gsxgwjpvkspmkw1gglxfg85hnqc8w"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1x254v25wilx4nh4dnjij4p9g0wsrqn9jyf4z48fa1bw1q3j3rba"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1hnqhvgjp342nx9s47w5sknmlpkfxbcfi50pa4vary2r7sv8ka2w"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "1j8cn97swc67ly7ca7m05akczrswbg0gjsk7473vad6770ph79vm"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "6.0.0-rc.1.21452.15"; sha256 = "0c3vnaag8gxlxij77n18m3hawpjkjjamsnq5kfjz5cvc7sfg3fwh"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "6.0.0-rc.1.21452.15"; sha256 = "1xyx358w4fqzxr9cy358agnm86rjijbnvikiqlngz2msgmldxi2z"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
@@ -77,24 +74,17 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "5.0.10"; sha256 = "12zz674g6289z44rynnbsarqdh6md0qdl4srkzkqz9dvm1f2k4yn"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "5.0.12"; sha256 = "0v3df0hdv02xr7gmc9fmnwfrxf8xbqp9bci31a55xwj16jia692x"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.10"; sha256 = "0v90w0cr8zjayj0w0rb5ds1kjg77n7za1nr9rr1pnszw2xs00fmq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.12"; sha256 = "0jvfxnc743qcg1qwlvclh6ww612mnsk5pk459awz5rivp3mdkfsb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.10"; sha256 = "1z8l02ypzbhbh0jp89ibc4dx61dvaa4l7cdn4s2zs0l492nz2ni8"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.12"; sha256 = "0950m6x86jp5dybzakfsp74qzrk4pk8wkazc178v36j14sqmj2zq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "5.0.10"; sha256 = "07yr09al8cci38zmwqghpsf8jsg51a8qv6p156ph8b5714iq5jjq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "5.0.12"; sha256 = "173zymcac00rjb0l4yvksglj32b6fnwxzi60kpi0ki3z3a2k8kd3"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "5.0.10"; sha256 = "12xw4czsnsy4nara23jbvbsi8id9lms17xfyv0w4wsqhrp5kqbxi"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "5.0.12"; sha256 = "197xfhk7rwpn5kgc59slclkd0rp53034mfrrpajn2xbgjnmb07sj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.10"; sha256 = "0ccsk1baj0bx1k7jqm7pnw77ns3m6h50cl8kxikjcm74jsz0vyx1"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.12"; sha256 = "1bpzbivp0n9cl05vlnirigzbvjs25mq7w56bg9zrnzlzjnhcwry2"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.10"; sha256 = "1b3lm6dc31yl9r0rian7zcmhpn949dyp4yhw4fsl4bkdpp4id085"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1fdbrjrmjd31y1amp0inlmki9w3fwzv8nz41pqmc943g3cpmyg9f"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.10"; sha256 = "1pphlbhs1swr14g07hnvvwj9p983qqf6vqaq455bhpn6lin3z81f"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.12"; sha256 = "0z8l0gzy9dih0mn5a2rknyph1w73y4m03s250wghym1zp6rz910p"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "5.0.10"; sha256 = "0cn3nq7vmjwk8b5bh7hb5wzidz1msjmwyng6k1ngqdm49w9f0m2g"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "5.0.12"; sha256 = "1s4klc4p5wiqiiqcfqyi56cci9f29b588h52vj7na7gfqry4b51l"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.0"; sha256 = "0m4q75iz6nj76sakab3265rzz969gk1rm2qwbvn0v60h3hflkqgb"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.0"; sha256 = "0aska6s99rfg13ngsaxr151a6sk8r68lv3mj8yv0bhvwcpln4342"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.0"; sha256 = "0z2whbviiw6kjqa7c2gj3j7fqq31m28iww66n7hvy3cnqcn3471k"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.0"; sha256 = "188cbx99ahvksap9w20943p62fmzxa6fl133w4r7c6bjpsrm29a4"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.0"; sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "159hq4fn2n5n2mkxw6wi4nhj0ifclpn7gxspqljlgczlhkm1vxqb"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "146rbmk0svvqaf0c4msg67h17x4k4gd5kzsbb3iqvs14xfkli2xw"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1ywkycp9llrfk4jcd7agaivlhn9pig70cj65xkfhjw1wx51756jc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1njh3iky5wyxdrisz8xfpy7kzbsrvzfhpdl01xbavvz189x4ajqp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "13x1nkigy3nhbr8gxalij7krmzxpciyq4i8k7jdy9278zs1lm5a6"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
@@ -107,8 +97,8 @@
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.0.0"; sha256 = "06mn31cgpp7d8lwdyjanh89prc66j37dchn74vrd9s588rq0y70r"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
-  (fetchNuGet { pname = "MSTest.TestAdapter"; version = "2.2.4"; sha256 = "0yzdcxzaqj846y5x95wdin74bqjkifp2s7xlhqjgcg3x0m909p17"; })
-  (fetchNuGet { pname = "MSTest.TestFramework"; version = "2.2.4"; sha256 = "1nmkygw0k74nn1hw6rg1gdwchfad7ns5p967kxfp7bvnhj259bq0"; })
+  (fetchNuGet { pname = "MSTest.TestAdapter"; version = "2.2.8"; sha256 = "045k737srwvm6dpad04dkj7ln38csf45lps5j88w8hyzrdgllbb9"; })
+  (fetchNuGet { pname = "MSTest.TestFramework"; version = "2.2.8"; sha256 = "1jw7sl2li7xzx8scciz9bc2rw8cnwcwxr8061zykrgg1dbjx6aa3"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
@@ -171,7 +161,7 @@
   (fetchNuGet { pname = "runtime.win.System.Net.Primitives"; version = "4.3.0"; sha256 = "1dixh195bi7473n17hspll6i562gghdz9m4jk8d4kzi1mlzjk9cf"; })
   (fetchNuGet { pname = "runtime.win.System.Net.Sockets"; version = "4.3.0"; sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck"; })
   (fetchNuGet { pname = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
-  (fetchNuGet { pname = "SteamKit2"; version = "2.4.0-Alpha.3"; sha256 = "0n48yjkyzj49kv89jbkwdq6nm9w9ng6cjhvdv0chpryx9zgasgvv"; })
+  (fetchNuGet { pname = "SteamKit2"; version = "2.4.1"; sha256 = "13f7jra2d0kjlvnk4dghzhx8nhkd001i4xrkf6m19gisjvpjhpdr"; })
   (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.2.3"; sha256 = "1kx50vliqcqw72aygkm2cs2q82pxdxz17gvz4chz6k858qj4gv0l"; })
   (fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.2.3"; sha256 = "189i1ziv3xkdxpxhkpfx3xfji3iw124s88sqn3ga2vh04fbdak8x"; })
   (fetchNuGet { pname = "Swashbuckle.AspNetCore.Newtonsoft"; version = "6.2.3"; sha256 = "1r4z1mmgihnmcqb8zd1q6jbz1g72y5ggl833qhmd1q0wnq8awbs8"; })
@@ -184,12 +174,12 @@
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
   (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
-  (fetchNuGet { pname = "System.Composition"; version = "5.0.1"; sha256 = "07dr25p4kbh9hlrsnrqnlr920n7p39kfs0yj9sc7072j0icmxbg7"; })
-  (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "5.0.1"; sha256 = "1czq644gy2hfwcxkpgr7yw99r4cshyc7789slgkbc3znif81q975"; })
-  (fetchNuGet { pname = "System.Composition.Convention"; version = "5.0.1"; sha256 = "086l0gjjb2j50iq176mbm6lx6wvcjh9rj6xwcd483958h774gyqg"; })
-  (fetchNuGet { pname = "System.Composition.Hosting"; version = "5.0.1"; sha256 = "07ljg7qmx0pmck32rwci05cpnbsxpj48qmp8gp18mhqw977nycxx"; })
-  (fetchNuGet { pname = "System.Composition.Runtime"; version = "5.0.1"; sha256 = "01m17rgn4n63mgcwkjnp4msvdh02h0y1wa7z74afnac4k1zqg5vy"; })
-  (fetchNuGet { pname = "System.Composition.TypedParts"; version = "5.0.1"; sha256 = "0hjmma4bh7iwsgylcprnpmjkgp6zd6ff04gchnkq5lbapd26bx6v"; })
+  (fetchNuGet { pname = "System.Composition"; version = "6.0.0"; sha256 = "1p7hysns39cc24af6dwd4m48bqjsrr3clvi4aws152mh2fgyg50z"; })
+  (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "6.0.0"; sha256 = "1mqrblb0l65hw39d0hnspqcv85didpn4wbiwhfgj4784wzqx2w6k"; })
+  (fetchNuGet { pname = "System.Composition.Convention"; version = "6.0.0"; sha256 = "02km3yb94p1c4s7liyhkmda0g71zm1rc8ijsfmy4bnlkq15xjw3b"; })
+  (fetchNuGet { pname = "System.Composition.Hosting"; version = "6.0.0"; sha256 = "0big5nk8c44rxp6cfykhk7rxvn2cgwa99w6c3v2a36adc3lj36ky"; })
+  (fetchNuGet { pname = "System.Composition.Runtime"; version = "6.0.0"; sha256 = "0vq5ik63yii1784gsa2f2kx9w6xllmm8b8rk0arid1jqdj1nyrlw"; })
+  (fetchNuGet { pname = "System.Composition.TypedParts"; version = "6.0.0"; sha256 = "0y9pq3y60nyrpfy51f576a0qjjdh61mcv8vnik32pm4bz56h9q72"; })
   (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
   (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
   (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
@@ -210,12 +200,11 @@
   (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
   (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
   (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
-  (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; sha256 = "0ixl68plva0fsj3byv76bai7vkin86s6wyzr8vcav3szl862blvk"; })
   (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
   (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
-  (fetchNuGet { pname = "System.Linq.Async"; version = "5.0.0"; sha256 = "1bc1bfnahyk6y31mrxn7nd071436m94p4r9b2j835pghcqawqfbc"; })
+  (fetchNuGet { pname = "System.Linq.Async"; version = "5.1.0"; sha256 = "130311hl9khq1kcq7zd90grmv2f6ncgfi4yzx1fq3p5v5g39xm8n"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
   (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
@@ -262,7 +251,7 @@
   (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.ProtectedData"; version = "5.0.0"; sha256 = "0jq1rcj5af2ydswld8ga3dyw2yi4c63wvb986b5kqsvpkwwc8x1b"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; })
   (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
   (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/mutable-customdir.patch b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/mutable-customdir.patch
deleted file mode 100644
index 09bd43f264e9..000000000000
--- a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/mutable-customdir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/ArchiSteamFarm/IPC/ArchiKestrel.cs b/ArchiSteamFarm/IPC/ArchiKestrel.cs
-index 371d305c..701eab3d 100644
---- a/ArchiSteamFarm/IPC/ArchiKestrel.cs
-+++ b/ArchiSteamFarm/IPC/ArchiKestrel.cs
-@@ -76,7 +76,7 @@ internal static class ArchiKestrel {
- 			HostBuilder builder = new();
- #endif
-
--			string customDirectory = Path.Combine(Directory.GetCurrentDirectory(), SharedInfo.WebsiteDirectory);
-+			string customDirectory = AppContext.BaseDirectory;
- 			string websiteDirectory = Directory.Exists(customDirectory) ? customDirectory : Path.Combine(AppContext.BaseDirectory, SharedInfo.WebsiteDirectory);
-
- 			// Set default content root
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/updater.sh b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/updater.sh
index 399ab975fd30..1de4d6dbfd11 100755
--- a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/updater.sh
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/updater.sh
@@ -1,9 +1,9 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnused jq common-updater-scripts nuget-to-nix dotnet-sdk_5
-set -eo pipefail
+#!nix-shell -i bash -p curl gnused jq common-updater-scripts nuget-to-nix
+set -exo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath ./deps.nix)"
+deps_file="$(realpath ./deps)"
 
 new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/releases" | jq -r  'map(select(.prerelease == false)) | .[0].tag_name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
@@ -16,6 +16,7 @@ fi
 cd ../../../..
 update-source-version ArchiSteamFarm "$new_version"
 store_src="$(nix-build -A ArchiSteamFarm.src --no-out-link)"
+platforms="$(nix-instantiate --strict --eval --json -A ArchiSteamFarm.meta.platforms | jq -r .[])"
 src="$(mktemp -d /tmp/ArchiSteamFarm-src.XXX)"
 cp -rT "$store_src" "$src"
 chmod -R +w "$src"
@@ -25,12 +26,19 @@ pushd "$src"
 export DOTNET_NOLOGO=1
 export DOTNET_CLI_TELEMETRY_OPTOUT=1
 
-mkdir ./nuget_pkgs
-dotnet restore ArchiSteamFarm.sln --packages ./nuget_pkgs
+for i in $platforms; do
+  nix-shell -p dotnet-sdk_6 --argstr system $i --run "
+     mkdir ./nuget_pkgs-$i
+     for project in ArchiSteamFarm/ArchiSteamFarm.csproj ArchiSteamFarm.Tests/ArchiSteamFarm.Tests.csproj; do
+       dotnet restore $project --packages ./nuget_pkgs-$i
+     done;
 
-nuget-to-nix ./nuget_pkgs > "$deps_file"
+     nuget-to-nix ./nuget_pkgs-$i > $deps_file-$i.nix" \
+  || echo "Did you set up binformat for $i?";
 
-trap ''
+done;
+
+trap '
   popd
   rm -r "$src"
-'' EXIT
+' EXIT
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix
new file mode 100644
index 000000000000..98049237b771
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix
@@ -0,0 +1,40 @@
+{ lib, pkgs, fetchFromGitHub, nodejs, stdenv, ArchiSteamFarm, ... }:
+
+let
+  nodePackages = import ./node-composition.nix {
+    inherit pkgs nodejs;
+    inherit (stdenv.hostPlatform) system;
+  };
+
+  src = fetchFromGitHub {
+    owner = "JustArchiNET";
+    repo = "ASF-ui";
+    # updated by the update script
+    # this is always the commit that should be used with asf-ui from the latest asf version
+    rev = "156992e88d5c695375e9f69c29f2c68bec24d2b1";
+    sha256 = "0zqiaj0957rr4kzw8q8zkxvd88nqw5ssym81dsd3pa0ypr4vqb4w";
+  };
+
+in
+  nodePackages.package.override {
+    inherit src;
+
+    # upstream isn't tagged, but we are using the latest official commit for that specific asf version (assuming both get updated at the same time)
+    version = ArchiSteamFarm.version;
+
+    nativeBuildInputs = [ pkgs.nodePackages.node-gyp-build ];
+
+    postInstall = ''
+      patchShebangs node_modules/
+      npm run build
+      ln -s $out/lib/node_modules/asf-ui/dist $out/lib/dist
+    '';
+
+    meta = with lib; {
+      description = "The official web interface for ASF";
+      license = licenses.apsl20;
+      homepage = "https://github.com/JustArchiNET/ASF-ui";
+      platforms = ArchiSteamFarm.meta.platforms;
+      maintainers = with maintainers; [ lom ];
+    };
+  }
diff --git a/nixpkgs/pkgs/development/misc/google-clasp/google-clasp.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-composition.nix
index 6bb4ea8fbd67..0c0b678d98f2 100644
--- a/nixpkgs/pkgs/development/misc/google-clasp/google-clasp.nix
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-composition.nix
@@ -2,10 +2,10 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
 
 let
-  nodeEnv = import ../../node-packages/node-env.nix {
+  nodeEnv = import ../../../../development/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;
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix
new file mode 100644
index 000000000000..b36151857a8c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix
@@ -0,0 +1,7645 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@babel/code-frame-7.16.7" = {
+      name = "_at_babel_slash_code-frame";
+      packageName = "@babel/code-frame";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
+      };
+    };
+    "@babel/compat-data-7.16.8" = {
+      name = "_at_babel_slash_compat-data";
+      packageName = "@babel/compat-data";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz";
+        sha512 = "m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==";
+      };
+    };
+    "@babel/core-7.16.12" = {
+      name = "_at_babel_slash_core";
+      packageName = "@babel/core";
+      version = "7.16.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz";
+        sha512 = "dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==";
+      };
+    };
+    "@babel/eslint-parser-7.16.5" = {
+      name = "_at_babel_slash_eslint-parser";
+      packageName = "@babel/eslint-parser";
+      version = "7.16.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.16.5.tgz";
+        sha512 = "mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==";
+      };
+    };
+    "@babel/generator-7.16.8" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz";
+        sha512 = "1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==";
+      };
+    };
+    "@babel/helper-annotate-as-pure-7.16.7" = {
+      name = "_at_babel_slash_helper-annotate-as-pure";
+      packageName = "@babel/helper-annotate-as-pure";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
+        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
+      };
+    };
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.7" = {
+      name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
+      packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
+        sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
+      };
+    };
+    "@babel/helper-compilation-targets-7.16.7" = {
+      name = "_at_babel_slash_helper-compilation-targets";
+      packageName = "@babel/helper-compilation-targets";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz";
+        sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
+      };
+    };
+    "@babel/helper-create-class-features-plugin-7.16.10" = {
+      name = "_at_babel_slash_helper-create-class-features-plugin";
+      packageName = "@babel/helper-create-class-features-plugin";
+      version = "7.16.10";
+      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==";
+      };
+    };
+    "@babel/helper-create-regexp-features-plugin-7.16.7" = {
+      name = "_at_babel_slash_helper-create-regexp-features-plugin";
+      packageName = "@babel/helper-create-regexp-features-plugin";
+      version = "7.16.7";
+      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==";
+      };
+    };
+    "@babel/helper-define-polyfill-provider-0.3.0" = {
+      name = "_at_babel_slash_helper-define-polyfill-provider";
+      packageName = "@babel/helper-define-polyfill-provider";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz";
+        sha512 = "7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==";
+      };
+    };
+    "@babel/helper-environment-visitor-7.16.7" = {
+      name = "_at_babel_slash_helper-environment-visitor";
+      packageName = "@babel/helper-environment-visitor";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
+      };
+    };
+    "@babel/helper-explode-assignable-expression-7.16.7" = {
+      name = "_at_babel_slash_helper-explode-assignable-expression";
+      packageName = "@babel/helper-explode-assignable-expression";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
+        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
+      };
+    };
+    "@babel/helper-function-name-7.16.7" = {
+      name = "_at_babel_slash_helper-function-name";
+      packageName = "@babel/helper-function-name";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
+      };
+    };
+    "@babel/helper-get-function-arity-7.16.7" = {
+      name = "_at_babel_slash_helper-get-function-arity";
+      packageName = "@babel/helper-get-function-arity";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
+      };
+    };
+    "@babel/helper-hoist-variables-7.16.7" = {
+      name = "_at_babel_slash_helper-hoist-variables";
+      packageName = "@babel/helper-hoist-variables";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
+      };
+    };
+    "@babel/helper-member-expression-to-functions-7.16.7" = {
+      name = "_at_babel_slash_helper-member-expression-to-functions";
+      packageName = "@babel/helper-member-expression-to-functions";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz";
+        sha512 = "VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==";
+      };
+    };
+    "@babel/helper-module-imports-7.16.7" = {
+      name = "_at_babel_slash_helper-module-imports";
+      packageName = "@babel/helper-module-imports";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
+      };
+    };
+    "@babel/helper-module-transforms-7.16.7" = {
+      name = "_at_babel_slash_helper-module-transforms";
+      packageName = "@babel/helper-module-transforms";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz";
+        sha512 = "gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==";
+      };
+    };
+    "@babel/helper-optimise-call-expression-7.16.7" = {
+      name = "_at_babel_slash_helper-optimise-call-expression";
+      packageName = "@babel/helper-optimise-call-expression";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
+        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
+      };
+    };
+    "@babel/helper-plugin-utils-7.16.7" = {
+      name = "_at_babel_slash_helper-plugin-utils";
+      packageName = "@babel/helper-plugin-utils";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz";
+        sha512 = "Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==";
+      };
+    };
+    "@babel/helper-remap-async-to-generator-7.16.8" = {
+      name = "_at_babel_slash_helper-remap-async-to-generator";
+      packageName = "@babel/helper-remap-async-to-generator";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
+        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
+      };
+    };
+    "@babel/helper-replace-supers-7.16.7" = {
+      name = "_at_babel_slash_helper-replace-supers";
+      packageName = "@babel/helper-replace-supers";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz";
+        sha512 = "y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==";
+      };
+    };
+    "@babel/helper-simple-access-7.16.7" = {
+      name = "_at_babel_slash_helper-simple-access";
+      packageName = "@babel/helper-simple-access";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz";
+        sha512 = "ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==";
+      };
+    };
+    "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
+      name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
+      packageName = "@babel/helper-skip-transparent-expression-wrappers";
+      version = "7.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz";
+        sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
+      };
+    };
+    "@babel/helper-split-export-declaration-7.16.7" = {
+      name = "_at_babel_slash_helper-split-export-declaration";
+      packageName = "@babel/helper-split-export-declaration";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
+      };
+    };
+    "@babel/helper-validator-identifier-7.16.7" = {
+      name = "_at_babel_slash_helper-validator-identifier";
+      packageName = "@babel/helper-validator-identifier";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
+      };
+    };
+    "@babel/helper-validator-option-7.16.7" = {
+      name = "_at_babel_slash_helper-validator-option";
+      packageName = "@babel/helper-validator-option";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
+      };
+    };
+    "@babel/helper-wrap-function-7.16.8" = {
+      name = "_at_babel_slash_helper-wrap-function";
+      packageName = "@babel/helper-wrap-function";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
+        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
+      };
+    };
+    "@babel/helpers-7.16.7" = {
+      name = "_at_babel_slash_helpers";
+      packageName = "@babel/helpers";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz";
+        sha512 = "9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==";
+      };
+    };
+    "@babel/highlight-7.16.7" = {
+      name = "_at_babel_slash_highlight";
+      packageName = "@babel/highlight";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz";
+        sha512 = "aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==";
+      };
+    };
+    "@babel/parser-7.16.12" = {
+      name = "_at_babel_slash_parser";
+      packageName = "@babel/parser";
+      version = "7.16.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz";
+        sha512 = "VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==";
+      };
+    };
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
+      name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
+      packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz";
+        sha512 = "anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==";
+      };
+    };
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7" = {
+      name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
+      packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz";
+        sha512 = "di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==";
+      };
+    };
+    "@babel/plugin-proposal-async-generator-functions-7.16.8" = {
+      name = "_at_babel_slash_plugin-proposal-async-generator-functions";
+      packageName = "@babel/plugin-proposal-async-generator-functions";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz";
+        sha512 = "71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==";
+      };
+    };
+    "@babel/plugin-proposal-class-properties-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-class-properties";
+      packageName = "@babel/plugin-proposal-class-properties";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz";
+        sha512 = "IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==";
+      };
+    };
+    "@babel/plugin-proposal-class-static-block-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-class-static-block";
+      packageName = "@babel/plugin-proposal-class-static-block";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz";
+        sha512 = "dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==";
+      };
+    };
+    "@babel/plugin-proposal-dynamic-import-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-dynamic-import";
+      packageName = "@babel/plugin-proposal-dynamic-import";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
+        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
+      };
+    };
+    "@babel/plugin-proposal-export-namespace-from-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-export-namespace-from";
+      packageName = "@babel/plugin-proposal-export-namespace-from";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz";
+        sha512 = "ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==";
+      };
+    };
+    "@babel/plugin-proposal-json-strings-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-json-strings";
+      packageName = "@babel/plugin-proposal-json-strings";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz";
+        sha512 = "lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==";
+      };
+    };
+    "@babel/plugin-proposal-logical-assignment-operators-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
+      packageName = "@babel/plugin-proposal-logical-assignment-operators";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz";
+        sha512 = "K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==";
+      };
+    };
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
+      packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz";
+        sha512 = "aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==";
+      };
+    };
+    "@babel/plugin-proposal-numeric-separator-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-numeric-separator";
+      packageName = "@babel/plugin-proposal-numeric-separator";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
+        sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
+      };
+    };
+    "@babel/plugin-proposal-object-rest-spread-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
+      packageName = "@babel/plugin-proposal-object-rest-spread";
+      version = "7.16.7";
+      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==";
+      };
+    };
+    "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
+      packageName = "@babel/plugin-proposal-optional-catch-binding";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
+        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
+      };
+    };
+    "@babel/plugin-proposal-optional-chaining-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-optional-chaining";
+      packageName = "@babel/plugin-proposal-optional-chaining";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz";
+        sha512 = "eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==";
+      };
+    };
+    "@babel/plugin-proposal-private-methods-7.16.11" = {
+      name = "_at_babel_slash_plugin-proposal-private-methods";
+      packageName = "@babel/plugin-proposal-private-methods";
+      version = "7.16.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz";
+        sha512 = "F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==";
+      };
+    };
+    "@babel/plugin-proposal-private-property-in-object-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-private-property-in-object";
+      packageName = "@babel/plugin-proposal-private-property-in-object";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz";
+        sha512 = "rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==";
+      };
+    };
+    "@babel/plugin-proposal-unicode-property-regex-7.16.7" = {
+      name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
+      packageName = "@babel/plugin-proposal-unicode-property-regex";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz";
+        sha512 = "QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==";
+      };
+    };
+    "@babel/plugin-syntax-async-generators-7.8.4" = {
+      name = "_at_babel_slash_plugin-syntax-async-generators";
+      packageName = "@babel/plugin-syntax-async-generators";
+      version = "7.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
+        sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
+      };
+    };
+    "@babel/plugin-syntax-class-properties-7.12.13" = {
+      name = "_at_babel_slash_plugin-syntax-class-properties";
+      packageName = "@babel/plugin-syntax-class-properties";
+      version = "7.12.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
+        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
+      };
+    };
+    "@babel/plugin-syntax-class-static-block-7.14.5" = {
+      name = "_at_babel_slash_plugin-syntax-class-static-block";
+      packageName = "@babel/plugin-syntax-class-static-block";
+      version = "7.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz";
+        sha512 = "b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==";
+      };
+    };
+    "@babel/plugin-syntax-dynamic-import-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-dynamic-import";
+      packageName = "@babel/plugin-syntax-dynamic-import";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz";
+        sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
+      };
+    };
+    "@babel/plugin-syntax-export-namespace-from-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-export-namespace-from";
+      packageName = "@babel/plugin-syntax-export-namespace-from";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz";
+        sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
+      };
+    };
+    "@babel/plugin-syntax-json-strings-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-json-strings";
+      packageName = "@babel/plugin-syntax-json-strings";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz";
+        sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
+      };
+    };
+    "@babel/plugin-syntax-logical-assignment-operators-7.10.4" = {
+      name = "_at_babel_slash_plugin-syntax-logical-assignment-operators";
+      packageName = "@babel/plugin-syntax-logical-assignment-operators";
+      version = "7.10.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz";
+        sha512 = "d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==";
+      };
+    };
+    "@babel/plugin-syntax-nullish-coalescing-operator-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-nullish-coalescing-operator";
+      packageName = "@babel/plugin-syntax-nullish-coalescing-operator";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz";
+        sha512 = "aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==";
+      };
+    };
+    "@babel/plugin-syntax-numeric-separator-7.10.4" = {
+      name = "_at_babel_slash_plugin-syntax-numeric-separator";
+      packageName = "@babel/plugin-syntax-numeric-separator";
+      version = "7.10.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz";
+        sha512 = "9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==";
+      };
+    };
+    "@babel/plugin-syntax-object-rest-spread-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-object-rest-spread";
+      packageName = "@babel/plugin-syntax-object-rest-spread";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
+        sha512 = "XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==";
+      };
+    };
+    "@babel/plugin-syntax-optional-catch-binding-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-optional-catch-binding";
+      packageName = "@babel/plugin-syntax-optional-catch-binding";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz";
+        sha512 = "6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==";
+      };
+    };
+    "@babel/plugin-syntax-optional-chaining-7.8.3" = {
+      name = "_at_babel_slash_plugin-syntax-optional-chaining";
+      packageName = "@babel/plugin-syntax-optional-chaining";
+      version = "7.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz";
+        sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
+      };
+    };
+    "@babel/plugin-syntax-private-property-in-object-7.14.5" = {
+      name = "_at_babel_slash_plugin-syntax-private-property-in-object";
+      packageName = "@babel/plugin-syntax-private-property-in-object";
+      version = "7.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz";
+        sha512 = "0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==";
+      };
+    };
+    "@babel/plugin-syntax-top-level-await-7.14.5" = {
+      name = "_at_babel_slash_plugin-syntax-top-level-await";
+      packageName = "@babel/plugin-syntax-top-level-await";
+      version = "7.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
+        sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
+      };
+    };
+    "@babel/plugin-transform-arrow-functions-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-arrow-functions";
+      packageName = "@babel/plugin-transform-arrow-functions";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz";
+        sha512 = "9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==";
+      };
+    };
+    "@babel/plugin-transform-async-to-generator-7.16.8" = {
+      name = "_at_babel_slash_plugin-transform-async-to-generator";
+      packageName = "@babel/plugin-transform-async-to-generator";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz";
+        sha512 = "MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==";
+      };
+    };
+    "@babel/plugin-transform-block-scoped-functions-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-block-scoped-functions";
+      packageName = "@babel/plugin-transform-block-scoped-functions";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
+        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
+      };
+    };
+    "@babel/plugin-transform-block-scoping-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-block-scoping";
+      packageName = "@babel/plugin-transform-block-scoping";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz";
+        sha512 = "ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==";
+      };
+    };
+    "@babel/plugin-transform-classes-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-classes";
+      packageName = "@babel/plugin-transform-classes";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz";
+        sha512 = "WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==";
+      };
+    };
+    "@babel/plugin-transform-computed-properties-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-computed-properties";
+      packageName = "@babel/plugin-transform-computed-properties";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz";
+        sha512 = "gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==";
+      };
+    };
+    "@babel/plugin-transform-destructuring-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-destructuring";
+      packageName = "@babel/plugin-transform-destructuring";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz";
+        sha512 = "VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==";
+      };
+    };
+    "@babel/plugin-transform-dotall-regex-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-dotall-regex";
+      packageName = "@babel/plugin-transform-dotall-regex";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
+        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
+      };
+    };
+    "@babel/plugin-transform-duplicate-keys-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-duplicate-keys";
+      packageName = "@babel/plugin-transform-duplicate-keys";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz";
+        sha512 = "03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==";
+      };
+    };
+    "@babel/plugin-transform-exponentiation-operator-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-exponentiation-operator";
+      packageName = "@babel/plugin-transform-exponentiation-operator";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
+        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
+      };
+    };
+    "@babel/plugin-transform-for-of-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-for-of";
+      packageName = "@babel/plugin-transform-for-of";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz";
+        sha512 = "/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==";
+      };
+    };
+    "@babel/plugin-transform-function-name-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-function-name";
+      packageName = "@babel/plugin-transform-function-name";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
+        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
+      };
+    };
+    "@babel/plugin-transform-literals-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-literals";
+      packageName = "@babel/plugin-transform-literals";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz";
+        sha512 = "6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==";
+      };
+    };
+    "@babel/plugin-transform-member-expression-literals-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-member-expression-literals";
+      packageName = "@babel/plugin-transform-member-expression-literals";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
+        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
+      };
+    };
+    "@babel/plugin-transform-modules-amd-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-modules-amd";
+      packageName = "@babel/plugin-transform-modules-amd";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz";
+        sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
+      };
+    };
+    "@babel/plugin-transform-modules-commonjs-7.16.8" = {
+      name = "_at_babel_slash_plugin-transform-modules-commonjs";
+      packageName = "@babel/plugin-transform-modules-commonjs";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz";
+        sha512 = "oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==";
+      };
+    };
+    "@babel/plugin-transform-modules-systemjs-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-modules-systemjs";
+      packageName = "@babel/plugin-transform-modules-systemjs";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz";
+        sha512 = "DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==";
+      };
+    };
+    "@babel/plugin-transform-modules-umd-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-modules-umd";
+      packageName = "@babel/plugin-transform-modules-umd";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz";
+        sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
+      };
+    };
+    "@babel/plugin-transform-named-capturing-groups-regex-7.16.8" = {
+      name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
+      packageName = "@babel/plugin-transform-named-capturing-groups-regex";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
+        sha512 = "j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==";
+      };
+    };
+    "@babel/plugin-transform-new-target-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-new-target";
+      packageName = "@babel/plugin-transform-new-target";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz";
+        sha512 = "xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==";
+      };
+    };
+    "@babel/plugin-transform-object-super-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-object-super";
+      packageName = "@babel/plugin-transform-object-super";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
+        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
+      };
+    };
+    "@babel/plugin-transform-parameters-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-parameters";
+      packageName = "@babel/plugin-transform-parameters";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz";
+        sha512 = "AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==";
+      };
+    };
+    "@babel/plugin-transform-property-literals-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-property-literals";
+      packageName = "@babel/plugin-transform-property-literals";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
+        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
+      };
+    };
+    "@babel/plugin-transform-regenerator-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-regenerator";
+      packageName = "@babel/plugin-transform-regenerator";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
+        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
+      };
+    };
+    "@babel/plugin-transform-reserved-words-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-reserved-words";
+      packageName = "@babel/plugin-transform-reserved-words";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz";
+        sha512 = "KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==";
+      };
+    };
+    "@babel/plugin-transform-shorthand-properties-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-shorthand-properties";
+      packageName = "@babel/plugin-transform-shorthand-properties";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
+        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
+      };
+    };
+    "@babel/plugin-transform-spread-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-spread";
+      packageName = "@babel/plugin-transform-spread";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz";
+        sha512 = "+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==";
+      };
+    };
+    "@babel/plugin-transform-sticky-regex-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-sticky-regex";
+      packageName = "@babel/plugin-transform-sticky-regex";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
+        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
+      };
+    };
+    "@babel/plugin-transform-template-literals-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-template-literals";
+      packageName = "@babel/plugin-transform-template-literals";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz";
+        sha512 = "VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==";
+      };
+    };
+    "@babel/plugin-transform-typeof-symbol-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-typeof-symbol";
+      packageName = "@babel/plugin-transform-typeof-symbol";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz";
+        sha512 = "p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==";
+      };
+    };
+    "@babel/plugin-transform-unicode-escapes-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-unicode-escapes";
+      packageName = "@babel/plugin-transform-unicode-escapes";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
+        sha512 = "TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==";
+      };
+    };
+    "@babel/plugin-transform-unicode-regex-7.16.7" = {
+      name = "_at_babel_slash_plugin-transform-unicode-regex";
+      packageName = "@babel/plugin-transform-unicode-regex";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
+        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
+      };
+    };
+    "@babel/preset-env-7.16.11" = {
+      name = "_at_babel_slash_preset-env";
+      packageName = "@babel/preset-env";
+      version = "7.16.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz";
+        sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
+      };
+    };
+    "@babel/preset-modules-0.1.5" = {
+      name = "_at_babel_slash_preset-modules";
+      packageName = "@babel/preset-modules";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
+        sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
+      };
+    };
+    "@babel/runtime-7.14.6" = {
+      name = "_at_babel_slash_runtime";
+      packageName = "@babel/runtime";
+      version = "7.14.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz";
+        sha512 = "/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==";
+      };
+    };
+    "@babel/template-7.16.7" = {
+      name = "_at_babel_slash_template";
+      packageName = "@babel/template";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
+      };
+    };
+    "@babel/traverse-7.16.10" = {
+      name = "_at_babel_slash_traverse";
+      packageName = "@babel/traverse";
+      version = "7.16.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz";
+        sha512 = "yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==";
+      };
+    };
+    "@babel/types-7.16.8" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.16.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz";
+        sha512 = "smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==";
+      };
+    };
+    "@discoveryjs/json-ext-0.5.5" = {
+      name = "_at_discoveryjs_slash_json-ext";
+      packageName = "@discoveryjs/json-ext";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz";
+        sha512 = "6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==";
+      };
+    };
+    "@eslint/eslintrc-1.0.5" = {
+      name = "_at_eslint_slash_eslintrc";
+      packageName = "@eslint/eslintrc";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz";
+        sha512 = "BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==";
+      };
+    };
+    "@fortawesome/fontawesome-common-types-0.2.36" = {
+      name = "_at_fortawesome_slash_fontawesome-common-types";
+      packageName = "@fortawesome/fontawesome-common-types";
+      version = "0.2.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz";
+        sha512 = "a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==";
+      };
+    };
+    "@fortawesome/fontawesome-svg-core-1.2.36" = {
+      name = "_at_fortawesome_slash_fontawesome-svg-core";
+      packageName = "@fortawesome/fontawesome-svg-core";
+      version = "1.2.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz";
+        sha512 = "YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==";
+      };
+    };
+    "@fortawesome/free-brands-svg-icons-5.15.4" = {
+      name = "_at_fortawesome_slash_free-brands-svg-icons";
+      packageName = "@fortawesome/free-brands-svg-icons";
+      version = "5.15.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.4.tgz";
+        sha512 = "f1witbwycL9cTENJegcmcZRYyawAFbm8+c6IirLmwbbpqz46wyjbQYLuxOc7weXFXfB7QR8/Vd2u5R3q6JYD9g==";
+      };
+    };
+    "@fortawesome/free-solid-svg-icons-5.15.4" = {
+      name = "_at_fortawesome_slash_free-solid-svg-icons";
+      packageName = "@fortawesome/free-solid-svg-icons";
+      version = "5.15.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz";
+        sha512 = "JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==";
+      };
+    };
+    "@fortawesome/vue-fontawesome-2.0.6" = {
+      name = "_at_fortawesome_slash_vue-fontawesome";
+      packageName = "@fortawesome/vue-fontawesome";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.6.tgz";
+        sha512 = "V3vT3flY15AKbUS31aZOP12awQI3aAzkr2B1KnqcHLmwrmy51DW3pwyBczKdypV8QxBZ8U68Hl2XxK2nudTxpg==";
+      };
+    };
+    "@humanwhocodes/config-array-0.9.2" = {
+      name = "_at_humanwhocodes_slash_config-array";
+      packageName = "@humanwhocodes/config-array";
+      version = "0.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz";
+        sha512 = "UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==";
+      };
+    };
+    "@humanwhocodes/object-schema-1.2.1" = {
+      name = "_at_humanwhocodes_slash_object-schema";
+      packageName = "@humanwhocodes/object-schema";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz";
+        sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
+      };
+    };
+    "@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==";
+      };
+    };
+    "@polka/url-1.0.0-next.21" = {
+      name = "_at_polka_slash_url";
+      packageName = "@polka/url";
+      version = "1.0.0-next.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz";
+        sha512 = "a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==";
+      };
+    };
+    "@types/body-parser-1.19.2" = {
+      name = "_at_types_slash_body-parser";
+      packageName = "@types/body-parser";
+      version = "1.19.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz";
+        sha512 = "ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==";
+      };
+    };
+    "@types/bonjour-3.5.10" = {
+      name = "_at_types_slash_bonjour";
+      packageName = "@types/bonjour";
+      version = "3.5.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz";
+        sha512 = "p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==";
+      };
+    };
+    "@types/connect-3.4.35" = {
+      name = "_at_types_slash_connect";
+      packageName = "@types/connect";
+      version = "3.4.35";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz";
+        sha512 = "cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==";
+      };
+    };
+    "@types/connect-history-api-fallback-1.3.5" = {
+      name = "_at_types_slash_connect-history-api-fallback";
+      packageName = "@types/connect-history-api-fallback";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz";
+        sha512 = "h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==";
+      };
+    };
+    "@types/eslint-8.2.2" = {
+      name = "_at_types_slash_eslint";
+      packageName = "@types/eslint";
+      version = "8.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz";
+        sha512 = "nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==";
+      };
+    };
+    "@types/eslint-scope-3.7.3" = {
+      name = "_at_types_slash_eslint-scope";
+      packageName = "@types/eslint-scope";
+      version = "3.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz";
+        sha512 = "PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==";
+      };
+    };
+    "@types/estree-0.0.50" = {
+      name = "_at_types_slash_estree";
+      packageName = "@types/estree";
+      version = "0.0.50";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz";
+        sha512 = "C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==";
+      };
+    };
+    "@types/express-4.17.13" = {
+      name = "_at_types_slash_express";
+      packageName = "@types/express";
+      version = "4.17.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz";
+        sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
+      };
+    };
+    "@types/express-serve-static-core-4.17.27" = {
+      name = "_at_types_slash_express-serve-static-core";
+      packageName = "@types/express-serve-static-core";
+      version = "4.17.27";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz";
+        sha512 = "e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA==";
+      };
+    };
+    "@types/glob-7.1.4" = {
+      name = "_at_types_slash_glob";
+      packageName = "@types/glob";
+      version = "7.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz";
+        sha512 = "w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==";
+      };
+    };
+    "@types/html-minifier-terser-6.0.0" = {
+      name = "_at_types_slash_html-minifier-terser";
+      packageName = "@types/html-minifier-terser";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.0.0.tgz";
+        sha512 = "NZwaaynfs1oIoLAV1vg18e7QMVDvw+6SQrdJc8w3BwUaoroVSf6EBj/Sk4PBWGxsq0dzhA2drbsuMC1/6C6KgQ==";
+      };
+    };
+    "@types/http-proxy-1.17.8" = {
+      name = "_at_types_slash_http-proxy";
+      packageName = "@types/http-proxy";
+      version = "1.17.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz";
+        sha512 = "5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==";
+      };
+    };
+    "@types/json-schema-7.0.9" = {
+      name = "_at_types_slash_json-schema";
+      packageName = "@types/json-schema";
+      version = "7.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz";
+        sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
+      };
+    };
+    "@types/json5-0.0.29" = {
+      name = "_at_types_slash_json5";
+      packageName = "@types/json5";
+      version = "0.0.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz";
+        sha1 = "ee28707ae94e11d2b827bcbe5270bcea7f3e71ee";
+      };
+    };
+    "@types/mime-1.3.2" = {
+      name = "_at_types_slash_mime";
+      packageName = "@types/mime";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz";
+        sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
+      };
+    };
+    "@types/minimatch-3.0.5" = {
+      name = "_at_types_slash_minimatch";
+      packageName = "@types/minimatch";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz";
+        sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
+      };
+    };
+    "@types/node-12.11.2" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "12.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-12.11.2.tgz";
+        sha512 = "dsfE4BHJkLQW+reOS6b17xhZ/6FB1rB8eRRvO08nn5o+voxf3i74tuyFWNH6djdfgX7Sm5s6LD8t6mJug4dpDw==";
+      };
+    };
+    "@types/qs-6.9.7" = {
+      name = "_at_types_slash_qs";
+      packageName = "@types/qs";
+      version = "6.9.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz";
+        sha512 = "FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==";
+      };
+    };
+    "@types/range-parser-1.2.4" = {
+      name = "_at_types_slash_range-parser";
+      packageName = "@types/range-parser";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz";
+        sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
+      };
+    };
+    "@types/retry-0.12.1" = {
+      name = "_at_types_slash_retry";
+      packageName = "@types/retry";
+      version = "0.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz";
+        sha512 = "xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==";
+      };
+    };
+    "@types/serve-index-1.9.1" = {
+      name = "_at_types_slash_serve-index";
+      packageName = "@types/serve-index";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz";
+        sha512 = "d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==";
+      };
+    };
+    "@types/serve-static-1.13.10" = {
+      name = "_at_types_slash_serve-static";
+      packageName = "@types/serve-static";
+      version = "1.13.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz";
+        sha512 = "nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==";
+      };
+    };
+    "@types/sockjs-0.3.33" = {
+      name = "_at_types_slash_sockjs";
+      packageName = "@types/sockjs";
+      version = "0.3.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz";
+        sha512 = "f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==";
+      };
+    };
+    "@types/ws-8.2.2" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "8.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz";
+        sha512 = "NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==";
+      };
+    };
+    "@vue/component-compiler-utils-3.2.2" = {
+      name = "_at_vue_slash_component-compiler-utils";
+      packageName = "@vue/component-compiler-utils";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz";
+        sha512 = "rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==";
+      };
+    };
+    "@webassemblyjs/ast-1.11.1" = {
+      name = "_at_webassemblyjs_slash_ast";
+      packageName = "@webassemblyjs/ast";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz";
+        sha512 = "ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==";
+      };
+    };
+    "@webassemblyjs/floating-point-hex-parser-1.11.1" = {
+      name = "_at_webassemblyjs_slash_floating-point-hex-parser";
+      packageName = "@webassemblyjs/floating-point-hex-parser";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz";
+        sha512 = "iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==";
+      };
+    };
+    "@webassemblyjs/helper-api-error-1.11.1" = {
+      name = "_at_webassemblyjs_slash_helper-api-error";
+      packageName = "@webassemblyjs/helper-api-error";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz";
+        sha512 = "RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==";
+      };
+    };
+    "@webassemblyjs/helper-buffer-1.11.1" = {
+      name = "_at_webassemblyjs_slash_helper-buffer";
+      packageName = "@webassemblyjs/helper-buffer";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz";
+        sha512 = "gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==";
+      };
+    };
+    "@webassemblyjs/helper-numbers-1.11.1" = {
+      name = "_at_webassemblyjs_slash_helper-numbers";
+      packageName = "@webassemblyjs/helper-numbers";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz";
+        sha512 = "vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-bytecode-1.11.1" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-bytecode";
+      packageName = "@webassemblyjs/helper-wasm-bytecode";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz";
+        sha512 = "PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-section-1.11.1" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-section";
+      packageName = "@webassemblyjs/helper-wasm-section";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz";
+        sha512 = "10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==";
+      };
+    };
+    "@webassemblyjs/ieee754-1.11.1" = {
+      name = "_at_webassemblyjs_slash_ieee754";
+      packageName = "@webassemblyjs/ieee754";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz";
+        sha512 = "hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==";
+      };
+    };
+    "@webassemblyjs/leb128-1.11.1" = {
+      name = "_at_webassemblyjs_slash_leb128";
+      packageName = "@webassemblyjs/leb128";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz";
+        sha512 = "BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==";
+      };
+    };
+    "@webassemblyjs/utf8-1.11.1" = {
+      name = "_at_webassemblyjs_slash_utf8";
+      packageName = "@webassemblyjs/utf8";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz";
+        sha512 = "9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==";
+      };
+    };
+    "@webassemblyjs/wasm-edit-1.11.1" = {
+      name = "_at_webassemblyjs_slash_wasm-edit";
+      packageName = "@webassemblyjs/wasm-edit";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz";
+        sha512 = "g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==";
+      };
+    };
+    "@webassemblyjs/wasm-gen-1.11.1" = {
+      name = "_at_webassemblyjs_slash_wasm-gen";
+      packageName = "@webassemblyjs/wasm-gen";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz";
+        sha512 = "F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==";
+      };
+    };
+    "@webassemblyjs/wasm-opt-1.11.1" = {
+      name = "_at_webassemblyjs_slash_wasm-opt";
+      packageName = "@webassemblyjs/wasm-opt";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz";
+        sha512 = "VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==";
+      };
+    };
+    "@webassemblyjs/wasm-parser-1.11.1" = {
+      name = "_at_webassemblyjs_slash_wasm-parser";
+      packageName = "@webassemblyjs/wasm-parser";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz";
+        sha512 = "rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==";
+      };
+    };
+    "@webassemblyjs/wast-printer-1.11.1" = {
+      name = "_at_webassemblyjs_slash_wast-printer";
+      packageName = "@webassemblyjs/wast-printer";
+      version = "1.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz";
+        sha512 = "IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==";
+      };
+    };
+    "@webpack-cli/configtest-1.1.0" = {
+      name = "_at_webpack-cli_slash_configtest";
+      packageName = "@webpack-cli/configtest";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz";
+        sha512 = "ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==";
+      };
+    };
+    "@webpack-cli/info-1.4.0" = {
+      name = "_at_webpack-cli_slash_info";
+      packageName = "@webpack-cli/info";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz";
+        sha512 = "F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==";
+      };
+    };
+    "@webpack-cli/serve-1.6.0" = {
+      name = "_at_webpack-cli_slash_serve";
+      packageName = "@webpack-cli/serve";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz";
+        sha512 = "ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==";
+      };
+    };
+    "@xtuc/ieee754-1.2.0" = {
+      name = "_at_xtuc_slash_ieee754";
+      packageName = "@xtuc/ieee754";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha512 = "DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==";
+      };
+    };
+    "@xtuc/long-4.2.2" = {
+      name = "_at_xtuc_slash_long";
+      packageName = "@xtuc/long";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz";
+        sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==";
+      };
+    };
+    "accepts-1.3.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
+        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+      };
+    };
+    "acorn-7.4.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "7.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
+        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
+      };
+    };
+    "acorn-8.5.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "8.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz";
+        sha512 = "yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==";
+      };
+    };
+    "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-import-assertions-1.8.0" = {
+      name = "acorn-import-assertions";
+      packageName = "acorn-import-assertions";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz";
+        sha512 = "m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==";
+      };
+    };
+    "acorn-jsx-5.3.1" = {
+      name = "acorn-jsx";
+      packageName = "acorn-jsx";
+      version = "5.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz";
+        sha512 = "K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "ajv-6.12.5" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.12.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz";
+        sha512 = "lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==";
+      };
+    };
+    "ajv-6.12.6" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.12.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
+        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
+      };
+    };
+    "ajv-8.8.1" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "8.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz";
+        sha512 = "6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==";
+      };
+    };
+    "ajv-8.8.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "8.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz";
+        sha512 = "x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==";
+      };
+    };
+    "ajv-8.9.0" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "8.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz";
+        sha512 = "qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==";
+      };
+    };
+    "ajv-formats-2.1.1" = {
+      name = "ajv-formats";
+      packageName = "ajv-formats";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz";
+        sha512 = "Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==";
+      };
+    };
+    "ajv-keywords-3.5.2" = {
+      name = "ajv-keywords";
+      packageName = "ajv-keywords";
+      version = "3.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
+        sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==";
+      };
+    };
+    "ajv-keywords-5.1.0" = {
+      name = "ajv-keywords";
+      packageName = "ajv-keywords";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz";
+        sha512 = "YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==";
+      };
+    };
+    "ansi-html-community-0.0.8" = {
+      name = "ansi-html-community";
+      packageName = "ansi-html-community";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz";
+        sha512 = "1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==";
+      };
+    };
+    "ansi-regex-5.0.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz";
+        sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
+      };
+    };
+    "ansi-regex-6.0.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz";
+        sha512 = "n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "ansi-styles-4.3.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
+        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
+      };
+    };
+    "anymatch-3.1.2" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz";
+        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
+      };
+    };
+    "argparse-2.0.1" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz";
+        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
+      };
+    };
+    "array-flatten-1.1.1" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    };
+    "array-flatten-2.1.2" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
+      };
+    };
+    "array-includes-3.1.4" = {
+      name = "array-includes";
+      packageName = "array-includes";
+      version = "3.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz";
+        sha512 = "ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==";
+      };
+    };
+    "array-union-1.0.2" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    };
+    "array-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==";
+      };
+    };
+    "array-union-3.0.1" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz";
+        sha512 = "1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==";
+      };
+    };
+    "array-uniq-1.0.3" = {
+      name = "array-uniq";
+      packageName = "array-uniq";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    };
+    "array.prototype.flat-1.2.5" = {
+      name = "array.prototype.flat";
+      packageName = "array.prototype.flat";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz";
+        sha512 = "KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==";
+      };
+    };
+    "async-2.6.3" = {
+      name = "async";
+      packageName = "async";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz";
+        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+      };
+    };
+    "axios-0.25.0" = {
+      name = "axios";
+      packageName = "axios";
+      version = "0.25.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz";
+        sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
+      };
+    };
+    "babel-loader-8.2.3" = {
+      name = "babel-loader";
+      packageName = "babel-loader";
+      version = "8.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz";
+        sha512 = "n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==";
+      };
+    };
+    "babel-plugin-dynamic-import-node-2.3.3" = {
+      name = "babel-plugin-dynamic-import-node";
+      packageName = "babel-plugin-dynamic-import-node";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz";
+        sha512 = "jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==";
+      };
+    };
+    "babel-plugin-polyfill-corejs2-0.3.0" = {
+      name = "babel-plugin-polyfill-corejs2";
+      packageName = "babel-plugin-polyfill-corejs2";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz";
+        sha512 = "wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==";
+      };
+    };
+    "babel-plugin-polyfill-corejs3-0.5.0" = {
+      name = "babel-plugin-polyfill-corejs3";
+      packageName = "babel-plugin-polyfill-corejs3";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz";
+        sha512 = "Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ==";
+      };
+    };
+    "babel-plugin-polyfill-regenerator-0.3.0" = {
+      name = "babel-plugin-polyfill-regenerator";
+      packageName = "babel-plugin-polyfill-regenerator";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz";
+        sha512 = "dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==";
+      };
+    };
+    "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";
+      };
+    };
+    "batch-0.6.1" = {
+      name = "batch";
+      packageName = "batch";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    };
+    "before-build-webpack-0.2.12" = {
+      name = "before-build-webpack";
+      packageName = "before-build-webpack";
+      version = "0.2.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/before-build-webpack/-/before-build-webpack-0.2.12.tgz";
+        sha512 = "k91crmYKGUiKNRVa6sbP5jVD1m8c2Atjt9UIlVrjOla5kKPe96g1m45J98peZbImOtUCFZCSkT4fr5HNfK/Vew==";
+      };
+    };
+    "big.js-5.2.2" = {
+      name = "big.js";
+      packageName = "big.js";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz";
+        sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
+      };
+    };
+    "binary-extensions-2.2.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
+      };
+    };
+    "bluebird-3.7.2" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
+      };
+    };
+    "body-parser-1.19.1" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz";
+        sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
+      };
+    };
+    "bonjour-3.5.0" = {
+      name = "bonjour";
+      packageName = "bonjour";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    };
+    "boolbase-1.0.0" = {
+      name = "boolbase";
+      packageName = "boolbase";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    };
+    "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==";
+      };
+    };
+    "browserslist-4.19.1" = {
+      name = "browserslist";
+      packageName = "browserslist";
+      version = "4.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz";
+        sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
+      };
+    };
+    "buffer-from-1.1.1" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+      };
+    };
+    "buffer-indexof-1.1.1" = {
+      name = "buffer-indexof";
+      packageName = "buffer-indexof";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
+      };
+    };
+    "bytes-3.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    };
+    "bytes-3.1.1" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz";
+        sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
+      };
+    };
+    "call-bind-1.0.0" = {
+      name = "call-bind";
+      packageName = "call-bind";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz";
+        sha512 = "AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==";
+      };
+    };
+    "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==";
+      };
+    };
+    "callsites-3.1.0" = {
+      name = "callsites";
+      packageName = "callsites";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
+        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
+      };
+    };
+    "camel-case-4.1.2" = {
+      name = "camel-case";
+      packageName = "camel-case";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz";
+        sha512 = "gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==";
+      };
+    };
+    "caniuse-lite-1.0.30001294" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30001294";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001294.tgz";
+        sha512 = "LiMlrs1nSKZ8qkNhpUf5KD0Al1KCBE3zaT7OLOwEkagXMEDij98SiOovn9wxVGQpklk9vVC/pUSqgYmkmKOS8g==";
+      };
+    };
+    "caniuse-lite-1.0.30001298" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30001298";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz";
+        sha512 = "AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==";
+      };
+    };
+    "caniuse-lite-1.0.30001299" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30001299";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz";
+        sha512 = "iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "chalk-4.1.2" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz";
+        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "chrome-trace-event-1.0.3" = {
+      name = "chrome-trace-event";
+      packageName = "chrome-trace-event";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz";
+        sha512 = "p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==";
+      };
+    };
+    "clean-css-5.2.2" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz";
+        sha512 = "/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==";
+      };
+    };
+    "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==";
+      };
+    };
+    "clean-webpack-plugin-4.0.0" = {
+      name = "clean-webpack-plugin";
+      packageName = "clean-webpack-plugin";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz";
+        sha512 = "WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==";
+      };
+    };
+    "clone-deep-4.0.1" = {
+      name = "clone-deep";
+      packageName = "clone-deep";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha512 = "neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==";
+      };
+    };
+    "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-convert-2.0.1" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
+        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "color-name-1.1.4" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
+        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
+      };
+    };
+    "colorette-2.0.16" = {
+      name = "colorette";
+      packageName = "colorette";
+      version = "2.0.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz";
+        sha512 = "hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "commander-7.2.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz";
+        sha512 = "QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==";
+      };
+    };
+    "commander-8.3.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "8.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz";
+        sha512 = "OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==";
+      };
+    };
+    "commondir-1.0.1" = {
+      name = "commondir";
+      packageName = "commondir";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    };
+    "compressible-2.0.18" = {
+      name = "compressible";
+      packageName = "compressible";
+      version = "2.0.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz";
+        sha512 = "AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==";
+      };
+    };
+    "compression-1.7.4" = {
+      name = "compression";
+      packageName = "compression";
+      version = "1.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz";
+        sha512 = "jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "confusing-browser-globals-1.0.10" = {
+      name = "confusing-browser-globals";
+      packageName = "confusing-browser-globals";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz";
+        sha512 = "gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==";
+      };
+    };
+    "connect-history-api-fallback-1.6.0" = {
+      name = "connect-history-api-fallback";
+      packageName = "connect-history-api-fallback";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha512 = "e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==";
+      };
+    };
+    "consolidate-0.15.1" = {
+      name = "consolidate";
+      packageName = "consolidate";
+      version = "0.15.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz";
+        sha512 = "DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==";
+      };
+    };
+    "content-disposition-0.5.4" = {
+      name = "content-disposition";
+      packageName = "content-disposition";
+      version = "0.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz";
+        sha512 = "FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==";
+      };
+    };
+    "content-type-1.0.4" = {
+      name = "content-type";
+      packageName = "content-type";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
+        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
+      };
+    };
+    "convert-source-map-1.8.0" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz";
+        sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
+      };
+    };
+    "cookie-0.4.1" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz";
+        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
+      };
+    };
+    "cookie-signature-1.0.6" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    };
+    "copy-to-clipboard-3.3.1" = {
+      name = "copy-to-clipboard";
+      packageName = "copy-to-clipboard";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz";
+        sha512 = "i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==";
+      };
+    };
+    "copy-webpack-plugin-10.2.1" = {
+      name = "copy-webpack-plugin";
+      packageName = "copy-webpack-plugin";
+      version = "10.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz";
+        sha512 = "nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==";
+      };
+    };
+    "core-js-compat-3.20.2" = {
+      name = "core-js-compat";
+      packageName = "core-js-compat";
+      version = "3.20.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz";
+        sha512 = "qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==";
+      };
+    };
+    "core-util-is-1.0.3" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz";
+        sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==";
+      };
+    };
+    "cross-spawn-7.0.3" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz";
+        sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
+      };
+    };
+    "css-loader-6.5.1" = {
+      name = "css-loader";
+      packageName = "css-loader";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz";
+        sha512 = "gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==";
+      };
+    };
+    "css-select-4.1.3" = {
+      name = "css-select";
+      packageName = "css-select";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz";
+        sha512 = "gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==";
+      };
+    };
+    "css-what-5.1.0" = {
+      name = "css-what";
+      packageName = "css-what";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz";
+        sha512 = "arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==";
+      };
+    };
+    "cssesc-3.0.0" = {
+      name = "cssesc";
+      packageName = "cssesc";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz";
+        sha512 = "/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==";
+      };
+    };
+    "de-indent-1.0.2" = {
+      name = "de-indent";
+      packageName = "de-indent";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz";
+        sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
+      };
+    };
+    "debug-2.6.9" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+      };
+    };
+    "debug-3.2.7" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
+        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "debug-4.3.3" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz";
+        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
+      };
+    };
+    "deep-equal-1.1.1" = {
+      name = "deep-equal";
+      packageName = "deep-equal";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz";
+        sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==";
+      };
+    };
+    "deep-is-0.1.4" = {
+      name = "deep-is";
+      packageName = "deep-is";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz";
+        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "default-gateway-6.0.3" = {
+      name = "default-gateway";
+      packageName = "default-gateway";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz";
+        sha512 = "fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==";
+      };
+    };
+    "define-lazy-prop-2.0.0" = {
+      name = "define-lazy-prop";
+      packageName = "define-lazy-prop";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz";
+        sha512 = "Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==";
+      };
+    };
+    "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-4.1.1" = {
+      name = "del";
+      packageName = "del";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/del/-/del-4.1.1.tgz";
+        sha512 = "QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==";
+      };
+    };
+    "del-6.0.0" = {
+      name = "del";
+      packageName = "del";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/del/-/del-6.0.0.tgz";
+        sha512 = "1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==";
+      };
+    };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
+    "destroy-1.0.4" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    };
+    "detect-node-2.1.0" = {
+      name = "detect-node";
+      packageName = "detect-node";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz";
+        sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
+      };
+    };
+    "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-equal-1.0.0" = {
+      name = "dns-equal";
+      packageName = "dns-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    };
+    "dns-packet-1.3.4" = {
+      name = "dns-packet";
+      packageName = "dns-packet";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz";
+        sha512 = "BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==";
+      };
+    };
+    "dns-txt-2.0.2" = {
+      name = "dns-txt";
+      packageName = "dns-txt";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    };
+    "doctrine-2.1.0" = {
+      name = "doctrine";
+      packageName = "doctrine";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz";
+        sha512 = "35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==";
+      };
+    };
+    "doctrine-3.0.0" = {
+      name = "doctrine";
+      packageName = "doctrine";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz";
+        sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
+      };
+    };
+    "dom-converter-0.2.0" = {
+      name = "dom-converter";
+      packageName = "dom-converter";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz";
+        sha512 = "gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==";
+      };
+    };
+    "dom-serializer-1.3.2" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
+        sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
+      };
+    };
+    "domelementtype-2.2.0" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
+        sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
+      };
+    };
+    "domhandler-4.2.2" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz";
+        sha512 = "PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==";
+      };
+    };
+    "domutils-2.8.0" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "2.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz";
+        sha512 = "w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==";
+      };
+    };
+    "dot-case-3.0.4" = {
+      name = "dot-case";
+      packageName = "dot-case";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz";
+        sha512 = "Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==";
+      };
+    };
+    "duplexer-0.1.2" = {
+      name = "duplexer";
+      packageName = "duplexer";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz";
+        sha512 = "jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==";
+      };
+    };
+    "ee-first-1.1.1" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    };
+    "electron-to-chromium-1.4.30" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.4.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.30.tgz";
+        sha512 = "609z9sIMxDHg+TcR/VB3MXwH+uwtrYyeAwWc/orhnr90ixs6WVGSrt85CDLGUdNnLqCA7liv426V20EecjvflQ==";
+      };
+    };
+    "electron-to-chromium-1.4.39" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.4.39";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.39.tgz";
+        sha512 = "bFH3gdRq/l7WlzSleiO6dwpZH3RhiJ8vlMq0tOJMfT+5nb+x397eJn2RHF6Ho/9GCKv+BkimNlUMHl9+Yh+Qcg==";
+      };
+    };
+    "electron-to-chromium-1.4.43" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.4.43";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.43.tgz";
+        sha512 = "PO3kEfcxPrti/4STbXvCkNIF4fgWvCKl2508e6UI7KomCDffpIfeBZLXsh5DK/XGsjUw3kwq6WEsi0MJTlGAdg==";
+      };
+    };
+    "emojis-list-3.0.0" = {
+      name = "emojis-list";
+      packageName = "emojis-list";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz";
+        sha512 = "/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==";
+      };
+    };
+    "encodeurl-1.0.2" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    };
+    "enhanced-resolve-5.8.3" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "5.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz";
+        sha512 = "EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==";
+      };
+    };
+    "entities-2.2.0" = {
+      name = "entities";
+      packageName = "entities";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
+        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
+      };
+    };
+    "envinfo-7.8.1" = {
+      name = "envinfo";
+      packageName = "envinfo";
+      version = "7.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz";
+        sha512 = "/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==";
+      };
+    };
+    "es-abstract-1.19.1" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz";
+        sha512 = "2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==";
+      };
+    };
+    "es-module-lexer-0.9.3" = {
+      name = "es-module-lexer";
+      packageName = "es-module-lexer";
+      version = "0.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz";
+        sha512 = "1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "escalade-3.1.1" = {
+      name = "escalade";
+      packageName = "escalade";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz";
+        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
+      };
+    };
+    "escape-html-1.0.3" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "escape-string-regexp-4.0.0" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
+        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
+      };
+    };
+    "eslint-8.7.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "8.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz";
+        sha512 = "ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==";
+      };
+    };
+    "eslint-config-airbnb-base-15.0.0" = {
+      name = "eslint-config-airbnb-base";
+      packageName = "eslint-config-airbnb-base";
+      version = "15.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz";
+        sha512 = "xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==";
+      };
+    };
+    "eslint-import-resolver-node-0.3.6" = {
+      name = "eslint-import-resolver-node";
+      packageName = "eslint-import-resolver-node";
+      version = "0.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz";
+        sha512 = "0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==";
+      };
+    };
+    "eslint-module-utils-2.7.2" = {
+      name = "eslint-module-utils";
+      packageName = "eslint-module-utils";
+      version = "2.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz";
+        sha512 = "zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==";
+      };
+    };
+    "eslint-plugin-import-2.25.4" = {
+      name = "eslint-plugin-import";
+      packageName = "eslint-plugin-import";
+      version = "2.25.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz";
+        sha512 = "/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==";
+      };
+    };
+    "eslint-plugin-vue-7.20.0" = {
+      name = "eslint-plugin-vue";
+      packageName = "eslint-plugin-vue";
+      version = "7.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz";
+        sha512 = "oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==";
+      };
+    };
+    "eslint-scope-5.1.1" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz";
+        sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
+      };
+    };
+    "eslint-scope-7.1.0" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz";
+        sha512 = "aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==";
+      };
+    };
+    "eslint-utils-2.1.0" = {
+      name = "eslint-utils";
+      packageName = "eslint-utils";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz";
+        sha512 = "w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==";
+      };
+    };
+    "eslint-utils-3.0.0" = {
+      name = "eslint-utils";
+      packageName = "eslint-utils";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz";
+        sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
+      };
+    };
+    "eslint-visitor-keys-1.3.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz";
+        sha512 = "6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==";
+      };
+    };
+    "eslint-visitor-keys-2.1.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
+        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
+      };
+    };
+    "eslint-visitor-keys-3.1.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "3.1.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==";
+      };
+    };
+    "eslint-visitor-keys-3.2.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz";
+        sha512 = "IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==";
+      };
+    };
+    "espree-6.2.1" = {
+      name = "espree";
+      packageName = "espree";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz";
+        sha512 = "ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==";
+      };
+    };
+    "espree-9.3.0" = {
+      name = "espree";
+      packageName = "espree";
+      version = "9.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz";
+        sha512 = "d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==";
+      };
+    };
+    "esquery-1.4.0" = {
+      name = "esquery";
+      packageName = "esquery";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz";
+        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
+      };
+    };
+    "esrecurse-4.3.0" = {
+      name = "esrecurse";
+      packageName = "esrecurse";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz";
+        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
+      };
+    };
+    "estraverse-4.2.0" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz";
+        sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
+      };
+    };
+    "estraverse-5.2.0" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz";
+        sha512 = "BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==";
+      };
+    };
+    "estraverse-5.3.0" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz";
+        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
+      };
+    };
+    "esutils-2.0.2" = {
+      name = "esutils";
+      packageName = "esutils";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+      };
+    };
+    "etag-1.8.1" = {
+      name = "etag";
+      packageName = "etag";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    };
+    "eventemitter3-4.0.7" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "4.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz";
+        sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
+      };
+    };
+    "events-3.3.0" = {
+      name = "events";
+      packageName = "events";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz";
+        sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
+      };
+    };
+    "execa-5.1.1" = {
+      name = "execa";
+      packageName = "execa";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz";
+        sha512 = "8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==";
+      };
+    };
+    "express-4.17.2" = {
+      name = "express";
+      packageName = "express";
+      version = "4.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.17.2.tgz";
+        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
+      };
+    };
+    "fast-deep-equal-3.1.3" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
+      };
+    };
+    "fast-glob-3.2.10" = {
+      name = "fast-glob";
+      packageName = "fast-glob";
+      version = "3.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz";
+        sha512 = "s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==";
+      };
+    };
+    "fast-glob-3.2.7" = {
+      name = "fast-glob";
+      packageName = "fast-glob";
+      version = "3.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
+        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "fast-levenshtein-2.0.6" = {
+      name = "fast-levenshtein";
+      packageName = "fast-levenshtein";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    };
+    "fastest-levenshtein-1.0.12" = {
+      name = "fastest-levenshtein";
+      packageName = "fastest-levenshtein";
+      version = "1.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz";
+        sha512 = "On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==";
+      };
+    };
+    "fastq-1.11.0" = {
+      name = "fastq";
+      packageName = "fastq";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz";
+        sha512 = "7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==";
+      };
+    };
+    "faye-websocket-0.11.4" = {
+      name = "faye-websocket";
+      packageName = "faye-websocket";
+      version = "0.11.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz";
+        sha512 = "CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==";
+      };
+    };
+    "file-entry-cache-6.0.1" = {
+      name = "file-entry-cache";
+      packageName = "file-entry-cache";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz";
+        sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
+      };
+    };
+    "file-loader-6.2.0" = {
+      name = "file-loader";
+      packageName = "file-loader";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz";
+        sha512 = "qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "finalhandler-1.1.2" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+      };
+    };
+    "find-cache-dir-3.3.2" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz";
+        sha512 = "wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==";
+      };
+    };
+    "find-up-2.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    };
+    "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==";
+      };
+    };
+    "flat-5.0.2" = {
+      name = "flat";
+      packageName = "flat";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz";
+        sha512 = "b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==";
+      };
+    };
+    "flat-cache-3.0.4" = {
+      name = "flat-cache";
+      packageName = "flat-cache";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz";
+        sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
+      };
+    };
+    "flatted-3.2.4" = {
+      name = "flatted";
+      packageName = "flatted";
+      version = "3.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz";
+        sha512 = "8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==";
+      };
+    };
+    "follow-redirects-1.14.7" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.14.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz";
+        sha512 = "+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==";
+      };
+    };
+    "forwarded-0.2.0" = {
+      name = "forwarded";
+      packageName = "forwarded";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz";
+        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
+      };
+    };
+    "fresh-0.5.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    };
+    "fs-monkey-1.0.3" = {
+      name = "fs-monkey";
+      packageName = "fs-monkey";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz";
+        sha512 = "cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "fsevents-2.3.2" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
+        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "functional-red-black-tree-1.0.1" = {
+      name = "functional-red-black-tree";
+      packageName = "functional-red-black-tree";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    };
+    "gensync-1.0.0-beta.2" = {
+      name = "gensync";
+      packageName = "gensync";
+      version = "1.0.0-beta.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz";
+        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
+      };
+    };
+    "get-intrinsic-1.0.1" = {
+      name = "get-intrinsic";
+      packageName = "get-intrinsic";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz";
+        sha512 = "ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==";
+      };
+    };
+    "get-intrinsic-1.1.1" = {
+      name = "get-intrinsic";
+      packageName = "get-intrinsic";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
+        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
+      };
+    };
+    "get-stream-6.0.1" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz";
+        sha512 = "ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==";
+      };
+    };
+    "get-symbol-description-1.0.0" = {
+      name = "get-symbol-description";
+      packageName = "get-symbol-description";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz";
+        sha512 = "2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==";
+      };
+    };
+    "glob-7.1.3" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz";
+        sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
+      };
+    };
+    "glob-parent-5.1.2" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz";
+        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
+      };
+    };
+    "glob-parent-6.0.2" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz";
+        sha512 = "XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==";
+      };
+    };
+    "glob-to-regexp-0.4.1" = {
+      name = "glob-to-regexp";
+      packageName = "glob-to-regexp";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz";
+        sha512 = "lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==";
+      };
+    };
+    "globals-11.12.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "11.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
+      };
+    };
+    "globals-13.12.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "13.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz";
+        sha512 = "uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==";
+      };
+    };
+    "globby-11.1.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "11.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
+      };
+    };
+    "globby-12.2.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "12.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz";
+        sha512 = "wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==";
+      };
+    };
+    "globby-6.1.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    };
+    "graceful-fs-4.2.9" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
+      };
+    };
+    "gzip-size-6.0.0" = {
+      name = "gzip-size";
+      packageName = "gzip-size";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz";
+        sha512 = "ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==";
+      };
+    };
+    "handle-thing-2.0.1" = {
+      name = "handle-thing";
+      packageName = "handle-thing";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz";
+        sha512 = "9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==";
+      };
+    };
+    "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-bigints-1.0.1" = {
+      name = "has-bigints";
+      packageName = "has-bigints";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz";
+        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
+      };
+    };
+    "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-flag-4.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
+        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
+      };
+    };
+    "has-symbols-1.0.0" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    };
+    "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==";
+      };
+    };
+    "has-symbols-1.0.2" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
+        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
+      };
+    };
+    "has-tostringtag-1.0.0" = {
+      name = "has-tostringtag";
+      packageName = "has-tostringtag";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
+        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
+      };
+    };
+    "hash-sum-1.0.2" = {
+      name = "hash-sum";
+      packageName = "hash-sum";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz";
+        sha1 = "33b40777754c6432573c120cc3808bbd10d47f04";
+      };
+    };
+    "he-1.2.0" = {
+      name = "he";
+      packageName = "he";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz";
+        sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
+      };
+    };
+    "hpack.js-2.1.6" = {
+      name = "hpack.js";
+      packageName = "hpack.js";
+      version = "2.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    };
+    "html-entities-2.3.2" = {
+      name = "html-entities";
+      packageName = "html-entities";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz";
+        sha512 = "c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==";
+      };
+    };
+    "html-minifier-terser-6.0.2" = {
+      name = "html-minifier-terser";
+      packageName = "html-minifier-terser";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.0.2.tgz";
+        sha512 = "AgYO3UGhMYQx2S/FBJT3EM0ZYcKmH6m9XL9c1v77BeK/tYJxGPxT1/AtsdUi4FcP8kZGmqqnItCcjFPcX9hk6A==";
+      };
+    };
+    "html-webpack-plugin-5.5.0" = {
+      name = "html-webpack-plugin";
+      packageName = "html-webpack-plugin";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz";
+        sha512 = "sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==";
+      };
+    };
+    "htmlparser2-6.1.0" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz";
+        sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
+      };
+    };
+    "http-deceiver-1.2.7" = {
+      name = "http-deceiver";
+      packageName = "http-deceiver";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    };
+    "http-errors-1.6.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    };
+    "http-errors-1.8.1" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz";
+        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
+      };
+    };
+    "http-parser-js-0.5.5" = {
+      name = "http-parser-js";
+      packageName = "http-parser-js";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz";
+        sha512 = "x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==";
+      };
+    };
+    "http-proxy-1.18.1" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.18.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz";
+        sha512 = "7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==";
+      };
+    };
+    "http-proxy-middleware-2.0.1" = {
+      name = "http-proxy-middleware";
+      packageName = "http-proxy-middleware";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz";
+        sha512 = "cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==";
+      };
+    };
+    "human-signals-2.1.0" = {
+      name = "human-signals";
+      packageName = "human-signals";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz";
+        sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==";
+      };
+    };
+    "humanize-duration-3.27.1" = {
+      name = "humanize-duration";
+      packageName = "humanize-duration";
+      version = "3.27.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.1.tgz";
+        sha512 = "jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "icss-utils-5.1.0" = {
+      name = "icss-utils";
+      packageName = "icss-utils";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz";
+        sha512 = "soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==";
+      };
+    };
+    "ignore-4.0.6" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "4.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz";
+        sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
+      };
+    };
+    "ignore-5.2.0" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
+        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
+      };
+    };
+    "immutable-4.0.0" = {
+      name = "immutable";
+      packageName = "immutable";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz";
+        sha512 = "zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==";
+      };
+    };
+    "import-fresh-3.3.0" = {
+      name = "import-fresh";
+      packageName = "import-fresh";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz";
+        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
+      };
+    };
+    "import-local-3.0.3" = {
+      name = "import-local";
+      packageName = "import-local";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz";
+        sha512 = "bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==";
+      };
+    };
+    "imurmurhash-0.1.4" = {
+      name = "imurmurhash";
+      packageName = "imurmurhash";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    };
+    "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==";
+      };
+    };
+    "indexes-of-1.0.1" = {
+      name = "indexes-of";
+      packageName = "indexes-of";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    };
+    "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==";
+      };
+    };
+    "internal-slot-1.0.3" = {
+      name = "internal-slot";
+      packageName = "internal-slot";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz";
+        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
+      };
+    };
+    "interpret-2.2.0" = {
+      name = "interpret";
+      packageName = "interpret";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz";
+        sha512 = "Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==";
+      };
+    };
+    "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";
+      };
+    };
+    "ipaddr.js-1.9.1" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==";
+      };
+    };
+    "ipaddr.js-2.0.1" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz";
+        sha512 = "1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==";
+      };
+    };
+    "is-arguments-1.1.1" = {
+      name = "is-arguments";
+      packageName = "is-arguments";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz";
+        sha512 = "8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==";
+      };
+    };
+    "is-bigint-1.0.4" = {
+      name = "is-bigint";
+      packageName = "is-bigint";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz";
+        sha512 = "zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==";
+      };
+    };
+    "is-binary-path-2.1.0" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
+      };
+    };
+    "is-boolean-object-1.1.2" = {
+      name = "is-boolean-object";
+      packageName = "is-boolean-object";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz";
+        sha512 = "gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==";
+      };
+    };
+    "is-callable-1.1.5" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
+        sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==";
+      };
+    };
+    "is-callable-1.2.4" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz";
+        sha512 = "nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==";
+      };
+    };
+    "is-core-module-2.8.0" = {
+      name = "is-core-module";
+      packageName = "is-core-module";
+      version = "2.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz";
+        sha512 = "vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==";
+      };
+    };
+    "is-date-object-1.0.1" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    };
+    "is-docker-2.2.1" = {
+      name = "is-docker";
+      packageName = "is-docker";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz";
+        sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
+      };
+    };
+    "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-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-glob-4.0.3" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz";
+        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
+      };
+    };
+    "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-number-object-1.0.6" = {
+      name = "is-number-object";
+      packageName = "is-number-object";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz";
+        sha512 = "bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==";
+      };
+    };
+    "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-in-cwd-2.1.0" = {
+      name = "is-path-in-cwd";
+      packageName = "is-path-in-cwd";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
+        sha512 = "rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==";
+      };
+    };
+    "is-path-inside-2.1.0" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz";
+        sha512 = "wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==";
+      };
+    };
+    "is-path-inside-3.0.3" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz";
+        sha512 = "Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==";
+      };
+    };
+    "is-plain-obj-3.0.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz";
+        sha512 = "gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==";
+      };
+    };
+    "is-plain-object-2.0.4" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
+      };
+    };
+    "is-regex-1.1.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz";
+        sha512 = "kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==";
+      };
+    };
+    "is-shared-array-buffer-1.0.1" = {
+      name = "is-shared-array-buffer";
+      packageName = "is-shared-array-buffer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz";
+        sha512 = "IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==";
+      };
+    };
+    "is-stream-2.0.1" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz";
+        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
+      };
+    };
+    "is-string-1.0.7" = {
+      name = "is-string";
+      packageName = "is-string";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz";
+        sha512 = "tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==";
+      };
+    };
+    "is-symbol-1.0.2" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+      };
+    };
+    "is-symbol-1.0.4" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz";
+        sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
+      };
+    };
+    "is-weakref-1.0.1" = {
+      name = "is-weakref";
+      packageName = "is-weakref";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz";
+        sha512 = "b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==";
+      };
+    };
+    "is-wsl-2.2.0" = {
+      name = "is-wsl";
+      packageName = "is-wsl";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz";
+        sha512 = "fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "isexe-2.0.0" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    };
+    "isobject-3.0.1" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    };
+    "jest-worker-27.4.6" = {
+      name = "jest-worker";
+      packageName = "jest-worker";
+      version = "27.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz";
+        sha512 = "gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==";
+      };
+    };
+    "js-tokens-4.0.0" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
+      };
+    };
+    "js-yaml-4.1.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz";
+        sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
+      };
+    };
+    "jsesc-0.5.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    };
+    "jsesc-2.5.2" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "2.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
+        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
+      };
+    };
+    "json-parse-better-errors-1.0.2" = {
+      name = "json-parse-better-errors";
+      packageName = "json-parse-better-errors";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
+      };
+    };
+    "json-schema-traverse-0.4.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+      };
+    };
+    "json-schema-traverse-1.0.0" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
+        sha512 = "NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==";
+      };
+    };
+    "json-stable-stringify-without-jsonify-1.0.1" = {
+      name = "json-stable-stringify-without-jsonify";
+      packageName = "json-stable-stringify-without-jsonify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    };
+    "json5-1.0.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz";
+        sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
+      };
+    };
+    "json5-2.1.3" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz";
+        sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==";
+      };
+    };
+    "json5-2.2.0" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
+        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
+      };
+    };
+    "kind-of-6.0.3" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz";
+        sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
+      };
+    };
+    "klona-2.0.5" = {
+      name = "klona";
+      packageName = "klona";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz";
+        sha512 = "pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==";
+      };
+    };
+    "levn-0.4.1" = {
+      name = "levn";
+      packageName = "levn";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz";
+        sha512 = "+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==";
+      };
+    };
+    "linkifyjs-3.0.5" = {
+      name = "linkifyjs";
+      packageName = "linkifyjs";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.5.tgz";
+        sha512 = "1Y9XQH65eQKA9p2xtk+zxvnTeQBG7rdAXSkUG97DmuI/Xhji9uaUzaWxRj6rf9YC0v8KKHkxav7tnLX82Sz5Fg==";
+      };
+    };
+    "loader-runner-4.2.0" = {
+      name = "loader-runner";
+      packageName = "loader-runner";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz";
+        sha512 = "92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==";
+      };
+    };
+    "loader-utils-1.4.0" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz";
+        sha512 = "qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==";
+      };
+    };
+    "loader-utils-2.0.0" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz";
+        sha512 = "rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==";
+      };
+    };
+    "locate-path-2.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    };
+    "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.21" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
+        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
+      };
+    };
+    "lodash-es-4.17.21" = {
+      name = "lodash-es";
+      packageName = "lodash-es";
+      version = "4.17.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz";
+        sha512 = "mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==";
+      };
+    };
+    "lodash.debounce-4.0.8" = {
+      name = "lodash.debounce";
+      packageName = "lodash.debounce";
+      version = "4.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz";
+        sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af";
+      };
+    };
+    "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==";
+      };
+    };
+    "lower-case-2.0.2" = {
+      name = "lower-case";
+      packageName = "lower-case";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz";
+        sha512 = "7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==";
+      };
+    };
+    "lru-cache-4.1.5" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz";
+        sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
+      };
+    };
+    "lru-cache-6.0.0" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
+        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
+      };
+    };
+    "make-dir-3.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz";
+        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
+      };
+    };
+    "media-typer-0.3.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    };
+    "memfs-3.4.1" = {
+      name = "memfs";
+      packageName = "memfs";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz";
+        sha512 = "1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==";
+      };
+    };
+    "merge-descriptors-1.0.1" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    };
+    "merge-source-map-1.1.0" = {
+      name = "merge-source-map";
+      packageName = "merge-source-map";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz";
+        sha512 = "Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==";
+      };
+    };
+    "merge-stream-2.0.0" = {
+      name = "merge-stream";
+      packageName = "merge-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
+      };
+    };
+    "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==";
+      };
+    };
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "micromatch-4.0.4" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "4.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz";
+        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
+      };
+    };
+    "mime-1.6.0" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
+      };
+    };
+    "mime-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-db-1.44.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.44.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
+        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+      };
+    };
+    "mime-db-1.51.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.51.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz";
+        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
+      };
+    };
+    "mime-types-2.1.27" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.27";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
+        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
+      };
+    };
+    "mime-types-2.1.34" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.34";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz";
+        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
+      };
+    };
+    "mimic-fn-2.1.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
+      };
+    };
+    "minimalistic-assert-1.0.1" = {
+      name = "minimalistic-assert";
+      packageName = "minimalistic-assert";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      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.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    };
+    "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==";
+      };
+    };
+    "ms-2.1.3" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
+      };
+    };
+    "multicast-dns-6.2.3" = {
+      name = "multicast-dns";
+      packageName = "multicast-dns";
+      version = "6.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha512 = "ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==";
+      };
+    };
+    "multicast-dns-service-types-1.1.0" = {
+      name = "multicast-dns-service-types";
+      packageName = "multicast-dns-service-types";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    };
+    "nanoid-3.1.30" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "3.1.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz";
+        sha512 = "zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==";
+      };
+    };
+    "natural-compare-1.4.0" = {
+      name = "natural-compare";
+      packageName = "natural-compare";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    };
+    "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==";
+      };
+    };
+    "neo-async-2.6.2" = {
+      name = "neo-async";
+      packageName = "neo-async";
+      version = "2.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz";
+        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
+      };
+    };
+    "no-case-3.0.4" = {
+      name = "no-case";
+      packageName = "no-case";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz";
+        sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
+      };
+    };
+    "node-forge-1.2.0" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-1.2.0.tgz";
+        sha512 = "M4AsdaP0bGNaSPtatd/+f76asocI0cFaURRdeQVZvrJBrYp2Qohv5hDbGHykuNqCb1BYjWHjdS6HlN50qbztwA==";
+      };
+    };
+    "node-releases-2.0.1" = {
+      name = "node-releases";
+      packageName = "node-releases";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz";
+        sha512 = "CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==";
+      };
+    };
+    "normalize-path-3.0.0" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
+      };
+    };
+    "npm-run-path-4.0.1" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz";
+        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
+      };
+    };
+    "nth-check-2.0.1" = {
+      name = "nth-check";
+      packageName = "nth-check";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz";
+        sha512 = "it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==";
+      };
+    };
+    "object-assign-4.1.1" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    };
+    "object-inspect-1.11.0" = {
+      name = "object-inspect";
+      packageName = "object-inspect";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz";
+        sha512 = "jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==";
+      };
+    };
+    "object-is-1.1.5" = {
+      name = "object-is";
+      packageName = "object-is";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz";
+        sha512 = "3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==";
+      };
+    };
+    "object-keys-1.0.12" = {
+      name = "object-keys";
+      packageName = "object-keys";
+      version = "1.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz";
+        sha512 = "FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==";
+      };
+    };
+    "object-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==";
+      };
+    };
+    "object.entries-1.1.5" = {
+      name = "object.entries";
+      packageName = "object.entries";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz";
+        sha512 = "TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==";
+      };
+    };
+    "object.values-1.1.5" = {
+      name = "object.values";
+      packageName = "object.values";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz";
+        sha512 = "QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==";
+      };
+    };
+    "obuf-1.1.2" = {
+      name = "obuf";
+      packageName = "obuf";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz";
+        sha512 = "PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==";
+      };
+    };
+    "on-finished-2.3.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    };
+    "on-headers-1.0.2" = {
+      name = "on-headers";
+      packageName = "on-headers";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
+        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
+      };
+    };
+    "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-5.1.2" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz";
+        sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
+      };
+    };
+    "open-8.4.0" = {
+      name = "open";
+      packageName = "open";
+      version = "8.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/open/-/open-8.4.0.tgz";
+        sha512 = "XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==";
+      };
+    };
+    "opener-1.5.2" = {
+      name = "opener";
+      packageName = "opener";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz";
+        sha512 = "ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==";
+      };
+    };
+    "optionator-0.9.1" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz";
+        sha512 = "74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==";
+      };
+    };
+    "p-limit-1.3.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
+        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
+      };
+    };
+    "p-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-2.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    };
+    "p-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-2.1.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz";
+        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
+      };
+    };
+    "p-map-4.0.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz";
+        sha512 = "/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==";
+      };
+    };
+    "p-retry-4.6.1" = {
+      name = "p-retry";
+      packageName = "p-retry";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz";
+        sha512 = "e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==";
+      };
+    };
+    "p-try-1.0.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    };
+    "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==";
+      };
+    };
+    "param-case-3.0.4" = {
+      name = "param-case";
+      packageName = "param-case";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz";
+        sha512 = "RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==";
+      };
+    };
+    "parent-module-1.0.1" = {
+      name = "parent-module";
+      packageName = "parent-module";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz";
+        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
+      };
+    };
+    "parseurl-1.3.3" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
+        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
+      };
+    };
+    "pascal-case-3.1.2" = {
+      name = "pascal-case";
+      packageName = "pascal-case";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz";
+        sha512 = "uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==";
+      };
+    };
+    "path-exists-3.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    };
+    "path-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-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
+    "path-key-3.1.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";
+        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
+      };
+    };
+    "path-parse-1.0.7" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz";
+        sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
+      };
+    };
+    "path-to-regexp-0.1.7" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    };
+    "path-type-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==";
+      };
+    };
+    "picocolors-1.0.0" = {
+      name = "picocolors";
+      packageName = "picocolors";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz";
+        sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "picomatch-2.3.0" = {
+      name = "picomatch";
+      packageName = "picomatch";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz";
+        sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==";
+      };
+    };
+    "pify-2.3.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    };
+    "pify-4.0.1" = {
+      name = "pify";
+      packageName = "pify";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
+        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
+    "pkg-dir-4.2.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz";
+        sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
+      };
+    };
+    "plurals-cldr-2.0.1" = {
+      name = "plurals-cldr";
+      packageName = "plurals-cldr";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/plurals-cldr/-/plurals-cldr-2.0.1.tgz";
+        sha512 = "7WLem4xl5C10kOqFUgqV5pNSgvlev0nPvWwgdXbCVGJN7BFqKWzVpHbARhIzS9TK9jWHZx5Nm8mr3aWtd0uldQ==";
+      };
+    };
+    "popper.js-1.16.1" = {
+      name = "popper.js";
+      packageName = "popper.js";
+      version = "1.16.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz";
+        sha512 = "Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==";
+      };
+    };
+    "portfinder-1.0.28" = {
+      name = "portfinder";
+      packageName = "portfinder";
+      version = "1.0.28";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz";
+        sha512 = "Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==";
+      };
+    };
+    "postcss-7.0.36" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "7.0.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz";
+        sha512 = "BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==";
+      };
+    };
+    "postcss-8.3.11" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "8.3.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz";
+        sha512 = "hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==";
+      };
+    };
+    "postcss-modules-extract-imports-3.0.0" = {
+      name = "postcss-modules-extract-imports";
+      packageName = "postcss-modules-extract-imports";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz";
+        sha512 = "bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==";
+      };
+    };
+    "postcss-modules-local-by-default-4.0.0" = {
+      name = "postcss-modules-local-by-default";
+      packageName = "postcss-modules-local-by-default";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz";
+        sha512 = "sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==";
+      };
+    };
+    "postcss-modules-scope-3.0.0" = {
+      name = "postcss-modules-scope";
+      packageName = "postcss-modules-scope";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz";
+        sha512 = "hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==";
+      };
+    };
+    "postcss-modules-values-4.0.0" = {
+      name = "postcss-modules-values";
+      packageName = "postcss-modules-values";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz";
+        sha512 = "RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==";
+      };
+    };
+    "postcss-selector-parser-6.0.2" = {
+      name = "postcss-selector-parser";
+      packageName = "postcss-selector-parser";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha512 = "36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==";
+      };
+    };
+    "postcss-selector-parser-6.0.6" = {
+      name = "postcss-selector-parser";
+      packageName = "postcss-selector-parser";
+      version = "6.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz";
+        sha512 = "9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==";
+      };
+    };
+    "postcss-value-parser-4.1.0" = {
+      name = "postcss-value-parser";
+      packageName = "postcss-value-parser";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz";
+        sha512 = "97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==";
+      };
+    };
+    "prelude-ls-1.2.1" = {
+      name = "prelude-ls";
+      packageName = "prelude-ls";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz";
+        sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
+      };
+    };
+    "prettier-1.19.1" = {
+      name = "prettier";
+      packageName = "prettier";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz";
+        sha512 = "s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==";
+      };
+    };
+    "pretty-error-4.0.0" = {
+      name = "pretty-error";
+      packageName = "pretty-error";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz";
+        sha512 = "AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==";
+      };
+    };
+    "process-nextick-args-2.0.1" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
+      };
+    };
+    "proxy-addr-2.0.7" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz";
+        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
+      };
+    };
+    "pseudomap-1.0.2" = {
+      name = "pseudomap";
+      packageName = "pseudomap";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    };
+    "punycode-2.1.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
+      };
+    };
+    "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==";
+      };
+    };
+    "queue-microtask-1.2.3" = {
+      name = "queue-microtask";
+      packageName = "queue-microtask";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz";
+        sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
+      };
+    };
+    "randombytes-2.1.0" = {
+      name = "randombytes";
+      packageName = "randombytes";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
+      };
+    };
+    "range-parser-1.2.1" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
+        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
+      };
+    };
+    "raw-body-2.4.2" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz";
+        sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
+      };
+    };
+    "readable-stream-2.3.7" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
+        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
+      };
+    };
+    "readable-stream-3.6.0" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
+        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
+      };
+    };
+    "readdirp-3.6.0" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz";
+        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
+      };
+    };
+    "rechoir-0.7.1" = {
+      name = "rechoir";
+      packageName = "rechoir";
+      version = "0.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz";
+        sha512 = "/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==";
+      };
+    };
+    "regenerate-1.4.2" = {
+      name = "regenerate";
+      packageName = "regenerate";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz";
+        sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
+      };
+    };
+    "regenerate-unicode-properties-9.0.0" = {
+      name = "regenerate-unicode-properties";
+      packageName = "regenerate-unicode-properties";
+      version = "9.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz";
+        sha512 = "3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==";
+      };
+    };
+    "regenerator-runtime-0.13.7" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.13.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz";
+        sha512 = "a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==";
+      };
+    };
+    "regenerator-transform-0.14.5" = {
+      name = "regenerator-transform";
+      packageName = "regenerator-transform";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
+        sha512 = "eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==";
+      };
+    };
+    "regexp.prototype.flags-1.3.1" = {
+      name = "regexp.prototype.flags";
+      packageName = "regexp.prototype.flags";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz";
+        sha512 = "JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==";
+      };
+    };
+    "regexpp-3.2.0" = {
+      name = "regexpp";
+      packageName = "regexpp";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz";
+        sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
+      };
+    };
+    "regexpu-core-4.8.0" = {
+      name = "regexpu-core";
+      packageName = "regexpu-core";
+      version = "4.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz";
+        sha512 = "1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==";
+      };
+    };
+    "regjsgen-0.5.2" = {
+      name = "regjsgen";
+      packageName = "regjsgen";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz";
+        sha512 = "OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==";
+      };
+    };
+    "regjsparser-0.7.0" = {
+      name = "regjsparser";
+      packageName = "regjsparser";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz";
+        sha512 = "A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==";
+      };
+    };
+    "relateurl-0.2.7" = {
+      name = "relateurl";
+      packageName = "relateurl";
+      version = "0.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    };
+    "renderkid-3.0.0" = {
+      name = "renderkid";
+      packageName = "renderkid";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz";
+        sha512 = "q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==";
+      };
+    };
+    "require-from-string-2.0.2" = {
+      name = "require-from-string";
+      packageName = "require-from-string";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz";
+        sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
+      };
+    };
+    "requires-port-1.0.0" = {
+      name = "requires-port";
+      packageName = "requires-port";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    };
+    "resolve-1.15.0" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz";
+        sha512 = "+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==";
+      };
+    };
+    "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-cwd-3.0.0" = {
+      name = "resolve-cwd";
+      packageName = "resolve-cwd";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz";
+        sha512 = "OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==";
+      };
+    };
+    "resolve-from-4.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
+      };
+    };
+    "resolve-from-5.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz";
+        sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
+      };
+    };
+    "retry-0.13.1" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz";
+        sha512 = "XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==";
+      };
+    };
+    "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-2.7.1" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
+      };
+    };
+    "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-parallel-1.2.0" = {
+      name = "run-parallel";
+      packageName = "run-parallel";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz";
+        sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==";
+      };
+    };
+    "safe-buffer-5.1.2" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+      };
+    };
+    "safe-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==";
+      };
+    };
+    "sass-1.49.0" = {
+      name = "sass";
+      packageName = "sass";
+      version = "1.49.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz";
+        sha512 = "TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==";
+      };
+    };
+    "sass-loader-12.4.0" = {
+      name = "sass-loader";
+      packageName = "sass-loader";
+      version = "12.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz";
+        sha512 = "7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==";
+      };
+    };
+    "schema-utils-2.7.1" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz";
+        sha512 = "SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==";
+      };
+    };
+    "schema-utils-3.0.0" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz";
+        sha512 = "6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==";
+      };
+    };
+    "schema-utils-3.1.1" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz";
+        sha512 = "Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==";
+      };
+    };
+    "schema-utils-4.0.0" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz";
+        sha512 = "1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==";
+      };
+    };
+    "select-hose-2.0.0" = {
+      name = "select-hose";
+      packageName = "select-hose";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    };
+    "selfsigned-2.0.0" = {
+      name = "selfsigned";
+      packageName = "selfsigned";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz";
+        sha512 = "cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==";
+      };
+    };
+    "semver-6.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      };
+    };
+    "semver-7.0.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz";
+        sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
+      };
+    };
+    "semver-7.3.5" = {
+      name = "semver";
+      packageName = "semver";
+      version = "7.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
+        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+      };
+    };
+    "send-0.17.2" = {
+      name = "send";
+      packageName = "send";
+      version = "0.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.17.2.tgz";
+        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
+      };
+    };
+    "serialize-javascript-6.0.0" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz";
+        sha512 = "Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==";
+      };
+    };
+    "serve-index-1.9.1" = {
+      name = "serve-index";
+      packageName = "serve-index";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    };
+    "serve-static-1.14.2" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.14.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz";
+        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
+      };
+    };
+    "setprototypeof-1.1.0" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
+      };
+    };
+    "setprototypeof-1.2.0" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz";
+        sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
+      };
+    };
+    "shallow-clone-3.0.1" = {
+      name = "shallow-clone";
+      packageName = "shallow-clone";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha512 = "/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==";
+      };
+    };
+    "shebang-command-2.0.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
+      };
+    };
+    "shebang-regex-3.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz";
+        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
+      };
+    };
+    "side-channel-1.0.4" = {
+      name = "side-channel";
+      packageName = "side-channel";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz";
+        sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "sirv-1.0.17" = {
+      name = "sirv";
+      packageName = "sirv";
+      version = "1.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sirv/-/sirv-1.0.17.tgz";
+        sha512 = "qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "slash-4.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz";
+        sha512 = "3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==";
+      };
+    };
+    "sockjs-0.3.24" = {
+      name = "sockjs";
+      packageName = "sockjs";
+      version = "0.3.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz";
+        sha512 = "GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+      };
+    };
+    "source-map-0.7.3" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz";
+        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-support-0.5.20" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz";
+        sha512 = "n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==";
+      };
+    };
+    "spdy-4.0.2" = {
+      name = "spdy";
+      packageName = "spdy";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz";
+        sha512 = "r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==";
+      };
+    };
+    "spdy-transport-3.0.0" = {
+      name = "spdy-transport";
+      packageName = "spdy-transport";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha512 = "hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==";
+      };
+    };
+    "statuses-1.5.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    };
+    "string.prototype.trimend-1.0.4" = {
+      name = "string.prototype.trimend";
+      packageName = "string.prototype.trimend";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
+        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
+      };
+    };
+    "string.prototype.trimstart-1.0.4" = {
+      name = "string.prototype.trimstart";
+      packageName = "string.prototype.trimstart";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
+        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
+      };
+    };
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+      };
+    };
+    "strip-ansi-6.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz";
+        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
+      };
+    };
+    "strip-ansi-7.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz";
+        sha512 = "cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==";
+      };
+    };
+    "strip-bom-3.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    };
+    "strip-final-newline-2.0.0" = {
+      name = "strip-final-newline";
+      packageName = "strip-final-newline";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
+        sha512 = "BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==";
+      };
+    };
+    "strip-json-comments-3.1.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
+        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
+      };
+    };
+    "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==";
+      };
+    };
+    "supports-color-6.1.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
+        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
+      };
+    };
+    "supports-color-7.2.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
+        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
+      };
+    };
+    "supports-color-8.1.1" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "8.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz";
+        sha512 = "MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==";
+      };
+    };
+    "svg-country-flags-1.2.10" = {
+      name = "svg-country-flags";
+      packageName = "svg-country-flags";
+      version = "1.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svg-country-flags/-/svg-country-flags-1.2.10.tgz";
+        sha512 = "xrqwo0TYf/h2cfPvGpjdSuSguUbri4vNNizBnwzoZnX0xGo3O5nGJMlbYEp7NOYcnPGBm6LE2axqDWSB847bLw==";
+      };
+    };
+    "tapable-2.2.0" = {
+      name = "tapable";
+      packageName = "tapable";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz";
+        sha512 = "FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==";
+      };
+    };
+    "terser-5.9.0" = {
+      name = "terser";
+      packageName = "terser";
+      version = "5.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz";
+        sha512 = "h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==";
+      };
+    };
+    "terser-webpack-plugin-5.3.0" = {
+      name = "terser-webpack-plugin";
+      packageName = "terser-webpack-plugin";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz";
+        sha512 = "LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==";
+      };
+    };
+    "text-table-0.2.0" = {
+      name = "text-table";
+      packageName = "text-table";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    };
+    "thunky-1.1.0" = {
+      name = "thunky";
+      packageName = "thunky";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz";
+        sha512 = "eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==";
+      };
+    };
+    "to-fast-properties-2.0.0" = {
+      name = "to-fast-properties";
+      packageName = "to-fast-properties";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    };
+    "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==";
+      };
+    };
+    "toggle-selection-1.0.6" = {
+      name = "toggle-selection";
+      packageName = "toggle-selection";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz";
+        sha1 = "6e45b1263f2017fa0acc7d89d78b15b8bf77da32";
+      };
+    };
+    "toidentifier-1.0.1" = {
+      name = "toidentifier";
+      packageName = "toidentifier";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz";
+        sha512 = "o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==";
+      };
+    };
+    "totalist-1.1.0" = {
+      name = "totalist";
+      packageName = "totalist";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz";
+        sha512 = "gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==";
+      };
+    };
+    "tsconfig-paths-3.12.0" = {
+      name = "tsconfig-paths";
+      packageName = "tsconfig-paths";
+      version = "3.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz";
+        sha512 = "e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==";
+      };
+    };
+    "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-check-0.4.0" = {
+      name = "type-check";
+      packageName = "type-check";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz";
+        sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==";
+      };
+    };
+    "type-fest-0.20.2" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.20.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz";
+        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
+      };
+    };
+    "type-is-1.6.18" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.6.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
+        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
+      };
+    };
+    "typed-assert-1.0.8" = {
+      name = "typed-assert";
+      packageName = "typed-assert";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.8.tgz";
+        sha512 = "5NkbXZUlmCE73Fs7gvkp1XXJWHYetPkg60QnQ2NXQmBYNFxbBr2zA8GCtaH4K2s2WhOmSlgiSTmrjrcm5tnM5g==";
+      };
+    };
+    "unbox-primitive-1.0.1" = {
+      name = "unbox-primitive";
+      packageName = "unbox-primitive";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
+        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
+      };
+    };
+    "unicode-canonical-property-names-ecmascript-2.0.0" = {
+      name = "unicode-canonical-property-names-ecmascript";
+      packageName = "unicode-canonical-property-names-ecmascript";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz";
+        sha512 = "yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==";
+      };
+    };
+    "unicode-match-property-ecmascript-2.0.0" = {
+      name = "unicode-match-property-ecmascript";
+      packageName = "unicode-match-property-ecmascript";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz";
+        sha512 = "5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==";
+      };
+    };
+    "unicode-match-property-value-ecmascript-2.0.0" = {
+      name = "unicode-match-property-value-ecmascript";
+      packageName = "unicode-match-property-value-ecmascript";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz";
+        sha512 = "7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==";
+      };
+    };
+    "unicode-property-aliases-ecmascript-2.0.0" = {
+      name = "unicode-property-aliases-ecmascript";
+      packageName = "unicode-property-aliases-ecmascript";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz";
+        sha512 = "5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==";
+      };
+    };
+    "uniq-1.0.1" = {
+      name = "uniq";
+      packageName = "uniq";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
+    "uri-js-4.2.2" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+      };
+    };
+    "url-loader-4.1.1" = {
+      name = "url-loader";
+      packageName = "url-loader";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz";
+        sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "utila-0.4.0" = {
+      name = "utila";
+      packageName = "utila";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz";
+        sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c";
+      };
+    };
+    "utils-merge-1.0.1" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    };
+    "uuid-8.3.2" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "8.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz";
+        sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
+      };
+    };
+    "v-tooltip-2.1.3" = {
+      name = "v-tooltip";
+      packageName = "v-tooltip";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.1.3.tgz";
+        sha512 = "xXngyxLQTOx/yUEy50thb8te7Qo4XU6h4LZB6cvEfVd9mnysUxLEoYwGWDdqR+l69liKsy3IPkdYff3J1gAJ5w==";
+      };
+    };
+    "v8-compile-cache-2.3.0" = {
+      name = "v8-compile-cache";
+      packageName = "v8-compile-cache";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz";
+        sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
+      };
+    };
+    "vary-1.1.2" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    };
+    "vue-2.6.14" = {
+      name = "vue";
+      packageName = "vue";
+      version = "2.6.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz";
+        sha512 = "x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==";
+      };
+    };
+    "vue-eslint-parser-7.11.0" = {
+      name = "vue-eslint-parser";
+      packageName = "vue-eslint-parser";
+      version = "7.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz";
+        sha512 = "qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==";
+      };
+    };
+    "vue-eslint-parser-8.1.0" = {
+      name = "vue-eslint-parser";
+      packageName = "vue-eslint-parser";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.1.0.tgz";
+        sha512 = "R8Pl6MSvuU81JKyUguexcABQxfM51Q2ZJVBX0TrKiLltPB+haVLp4hfuR5msiu9oqpsQkaV+TF18r4CBw9c9qg==";
+      };
+    };
+    "vue-hot-reload-api-2.3.4" = {
+      name = "vue-hot-reload-api";
+      packageName = "vue-hot-reload-api";
+      version = "2.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz";
+        sha512 = "BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==";
+      };
+    };
+    "vue-loader-15.9.8" = {
+      name = "vue-loader";
+      packageName = "vue-loader";
+      version = "15.9.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz";
+        sha512 = "GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==";
+      };
+    };
+    "vue-meta-2.4.0" = {
+      name = "vue-meta";
+      packageName = "vue-meta";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-meta/-/vue-meta-2.4.0.tgz";
+        sha512 = "XEeZUmlVeODclAjCNpWDnjgw+t3WA6gdzs6ENoIAgwO1J1d5p1tezDhtteLUFwcaQaTtayRrsx7GL6oXp/m2Jw==";
+      };
+    };
+    "vue-multiselect-2.1.6" = {
+      name = "vue-multiselect";
+      packageName = "vue-multiselect";
+      version = "2.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-2.1.6.tgz";
+        sha512 = "s7jmZPlm9FeueJg1RwJtnE9KNPtME/7C8uRWSfp9/yEN4M8XcS/d+bddoyVwVnvFyRh9msFo0HWeW0vTL8Qv+w==";
+      };
+    };
+    "vue-resize-1.0.1" = {
+      name = "vue-resize";
+      packageName = "vue-resize";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz";
+        sha512 = "z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==";
+      };
+    };
+    "vue-router-3.5.3" = {
+      name = "vue-router";
+      packageName = "vue-router";
+      version = "3.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz";
+        sha512 = "FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg==";
+      };
+    };
+    "vue-snotify-3.2.1" = {
+      name = "vue-snotify";
+      packageName = "vue-snotify";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-snotify/-/vue-snotify-3.2.1.tgz";
+        sha512 = "7kETtCAK3key/mDkz47FY/LuPzDGNwHHrYmS037JuVac2FW/9GTtoCNIrOp+SNbpMHeXFdLIDktkBK0IdPdHew==";
+      };
+    };
+    "vue-style-loader-4.1.3" = {
+      name = "vue-style-loader";
+      packageName = "vue-style-loader";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz";
+        sha512 = "sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==";
+      };
+    };
+    "vue-template-compiler-2.6.14" = {
+      name = "vue-template-compiler";
+      packageName = "vue-template-compiler";
+      version = "2.6.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz";
+        sha512 = "ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==";
+      };
+    };
+    "vue-template-es2015-compiler-1.9.1" = {
+      name = "vue-template-es2015-compiler";
+      packageName = "vue-template-es2015-compiler";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz";
+        sha512 = "4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==";
+      };
+    };
+    "vuex-3.6.2" = {
+      name = "vuex";
+      packageName = "vuex";
+      version = "3.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz";
+        sha512 = "ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==";
+      };
+    };
+    "watchpack-2.3.1" = {
+      name = "watchpack";
+      packageName = "watchpack";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz";
+        sha512 = "x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==";
+      };
+    };
+    "wbuf-1.7.3" = {
+      name = "wbuf";
+      packageName = "wbuf";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz";
+        sha512 = "O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==";
+      };
+    };
+    "webpack-5.67.0" = {
+      name = "webpack";
+      packageName = "webpack";
+      version = "5.67.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.67.0.tgz";
+        sha512 = "LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw==";
+      };
+    };
+    "webpack-bundle-analyzer-4.5.0" = {
+      name = "webpack-bundle-analyzer";
+      packageName = "webpack-bundle-analyzer";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz";
+        sha512 = "GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==";
+      };
+    };
+    "webpack-cli-4.9.1" = {
+      name = "webpack-cli";
+      packageName = "webpack-cli";
+      version = "4.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz";
+        sha512 = "JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==";
+      };
+    };
+    "webpack-dev-middleware-5.3.0" = {
+      name = "webpack-dev-middleware";
+      packageName = "webpack-dev-middleware";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz";
+        sha512 = "MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==";
+      };
+    };
+    "webpack-dev-server-4.7.3" = {
+      name = "webpack-dev-server";
+      packageName = "webpack-dev-server";
+      version = "4.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz";
+        sha512 = "mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==";
+      };
+    };
+    "webpack-merge-5.8.0" = {
+      name = "webpack-merge";
+      packageName = "webpack-merge";
+      version = "5.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz";
+        sha512 = "/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==";
+      };
+    };
+    "webpack-sources-3.2.3" = {
+      name = "webpack-sources";
+      packageName = "webpack-sources";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz";
+        sha512 = "/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==";
+      };
+    };
+    "webpack-subresource-integrity-5.1.0" = {
+      name = "webpack-subresource-integrity";
+      packageName = "webpack-subresource-integrity";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz";
+        sha512 = "sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==";
+      };
+    };
+    "websocket-driver-0.7.4" = {
+      name = "websocket-driver";
+      packageName = "websocket-driver";
+      version = "0.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz";
+        sha512 = "b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==";
+      };
+    };
+    "websocket-extensions-0.1.4" = {
+      name = "websocket-extensions";
+      packageName = "websocket-extensions";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz";
+        sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
+      };
+    };
+    "which-2.0.2" = {
+      name = "which";
+      packageName = "which";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
+      };
+    };
+    "which-boxed-primitive-1.0.2" = {
+      name = "which-boxed-primitive";
+      packageName = "which-boxed-primitive";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz";
+        sha512 = "bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==";
+      };
+    };
+    "wildcard-2.0.0" = {
+      name = "wildcard";
+      packageName = "wildcard";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz";
+        sha512 = "JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==";
+      };
+    };
+    "word-wrap-1.2.3" = {
+      name = "word-wrap";
+      packageName = "word-wrap";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz";
+        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "ws-7.5.5" = {
+      name = "ws";
+      packageName = "ws";
+      version = "7.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz";
+        sha512 = "BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==";
+      };
+    };
+    "ws-8.4.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "8.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz";
+        sha512 = "IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==";
+      };
+    };
+    "yallist-2.1.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    };
+    "yallist-4.0.0" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
+        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
+      };
+    };
+  };
+  args = {
+    name = "asf-ui";
+    packageName = "asf-ui";
+    version = "0.0.0";
+    src = ./.;
+    dependencies = [
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/compat-data-7.16.8"
+      (sources."@babel/core-7.16.12" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."json5-2.2.0"
+          sources."ms-2.1.2"
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."@babel/eslint-parser-7.16.5" // {
+        dependencies = [
+          sources."eslint-visitor-keys-2.1.0"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/generator-7.16.8"
+      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" // {
+        dependencies = [
+          sources."browserslist-4.19.1"
+          sources."caniuse-lite-1.0.30001294"
+          sources."electron-to-chromium-1.4.30"
+          sources."node-releases-2.0.1"
+          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-define-polyfill-provider-0.3.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+          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"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-member-expression-to-functions-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
+      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/helper-wrap-function-7.16.8"
+      sources."@babel/helpers-7.16.7"
+      sources."@babel/highlight-7.16.7"
+      sources."@babel/parser-7.16.12"
+      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"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-class-static-block-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      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-optional-catch-binding-7.16.7"
+      sources."@babel/plugin-proposal-optional-chaining-7.16.7"
+      sources."@babel/plugin-proposal-private-methods-7.16.11"
+      sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
+      sources."@babel/plugin-syntax-async-generators-7.8.4"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
+      sources."@babel/plugin-syntax-class-static-block-7.14.5"
+      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
+      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
+      sources."@babel/plugin-syntax-json-strings-7.8.3"
+      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
+      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
+      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
+      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
+      sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
+      sources."@babel/plugin-syntax-top-level-await-7.14.5"
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      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-dotall-regex-7.16.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.16.7"
+      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      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-regenerator-7.16.7"
+      sources."@babel/plugin-transform-reserved-words-7.16.7"
+      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"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      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" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/preset-modules-0.1.5"
+      sources."@babel/runtime-7.14.6"
+      sources."@babel/template-7.16.7"
+      (sources."@babel/traverse-7.16.10" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."@babel/types-7.16.8"
+      sources."@discoveryjs/json-ext-0.5.5"
+      (sources."@eslint/eslintrc-1.0.5" // {
+        dependencies = [
+          sources."acorn-8.7.0"
+          sources."debug-4.3.3"
+          sources."eslint-visitor-keys-3.1.0"
+          sources."espree-9.3.0"
+          sources."globals-13.12.0"
+          sources."ignore-4.0.6"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."@fortawesome/fontawesome-common-types-0.2.36"
+      sources."@fortawesome/fontawesome-svg-core-1.2.36"
+      sources."@fortawesome/free-brands-svg-icons-5.15.4"
+      sources."@fortawesome/free-solid-svg-icons-5.15.4"
+      sources."@fortawesome/vue-fontawesome-2.0.6"
+      (sources."@humanwhocodes/config-array-0.9.2" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."@humanwhocodes/object-schema-1.2.1"
+      sources."@nodelib/fs.scandir-2.1.4"
+      sources."@nodelib/fs.stat-2.0.4"
+      sources."@nodelib/fs.walk-1.2.6"
+      sources."@polka/url-1.0.0-next.21"
+      sources."@types/body-parser-1.19.2"
+      sources."@types/bonjour-3.5.10"
+      sources."@types/connect-3.4.35"
+      sources."@types/connect-history-api-fallback-1.3.5"
+      sources."@types/eslint-8.2.2"
+      sources."@types/eslint-scope-3.7.3"
+      sources."@types/estree-0.0.50"
+      sources."@types/express-4.17.13"
+      sources."@types/express-serve-static-core-4.17.27"
+      sources."@types/glob-7.1.4"
+      sources."@types/html-minifier-terser-6.0.0"
+      sources."@types/http-proxy-1.17.8"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/json5-0.0.29"
+      sources."@types/mime-1.3.2"
+      sources."@types/minimatch-3.0.5"
+      sources."@types/node-12.11.2"
+      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."@vue/component-compiler-utils-3.2.2" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."@webassemblyjs/ast-1.11.1"
+      sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
+      sources."@webassemblyjs/helper-api-error-1.11.1"
+      sources."@webassemblyjs/helper-buffer-1.11.1"
+      sources."@webassemblyjs/helper-numbers-1.11.1"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.11.1"
+      sources."@webassemblyjs/helper-wasm-section-1.11.1"
+      sources."@webassemblyjs/ieee754-1.11.1"
+      sources."@webassemblyjs/leb128-1.11.1"
+      sources."@webassemblyjs/utf8-1.11.1"
+      sources."@webassemblyjs/wasm-edit-1.11.1"
+      sources."@webassemblyjs/wasm-gen-1.11.1"
+      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."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.2"
+      sources."accepts-1.3.7"
+      sources."acorn-7.4.1"
+      sources."acorn-import-assertions-1.8.0"
+      sources."acorn-jsx-5.3.1"
+      sources."acorn-walk-8.2.0"
+      sources."aggregate-error-3.1.0"
+      sources."ajv-6.12.6"
+      (sources."ajv-formats-2.1.1" // {
+        dependencies = [
+          sources."ajv-8.8.1"
+          sources."json-schema-traverse-1.0.0"
+        ];
+      })
+      sources."ajv-keywords-3.5.2"
+      sources."ansi-html-community-0.0.8"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-3.2.1"
+      sources."anymatch-3.1.2"
+      sources."argparse-2.0.1"
+      sources."array-flatten-2.1.2"
+      (sources."array-includes-3.1.4" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      (sources."array.prototype.flat-1.2.5" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."async-2.6.3"
+      sources."axios-0.25.0"
+      (sources."babel-loader-8.2.3" // {
+        dependencies = [
+          sources."schema-utils-2.7.1"
+        ];
+      })
+      sources."babel-plugin-dynamic-import-node-2.3.3"
+      (sources."babel-plugin-polyfill-corejs2-0.3.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.5.0"
+      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      sources."balanced-match-1.0.0"
+      sources."batch-0.6.1"
+      sources."before-build-webpack-0.2.12"
+      sources."big.js-5.2.2"
+      sources."binary-extensions-2.2.0"
+      sources."bluebird-3.7.2"
+      (sources."body-parser-1.19.1" // {
+        dependencies = [
+          sources."bytes-3.1.1"
+        ];
+      })
+      sources."bonjour-3.5.0"
+      sources."boolbase-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
+      sources."browserslist-4.19.1"
+      sources."buffer-from-1.1.1"
+      sources."buffer-indexof-1.1.1"
+      sources."bytes-3.0.0"
+      sources."call-bind-1.0.0"
+      sources."callsites-3.1.0"
+      sources."camel-case-4.1.2"
+      sources."caniuse-lite-1.0.30001299"
+      sources."chalk-2.4.2"
+      (sources."chokidar-3.5.2" // {
+        dependencies = [
+          sources."braces-3.0.2"
+          sources."fill-range-7.0.1"
+          sources."is-glob-4.0.1"
+          sources."is-number-7.0.0"
+          sources."to-regex-range-5.0.1"
+        ];
+      })
+      sources."chrome-trace-event-1.0.3"
+      (sources."clean-css-5.2.2" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."clean-stack-2.2.0"
+      sources."clean-webpack-plugin-4.0.0"
+      sources."clone-deep-4.0.1"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."colorette-2.0.16"
+      sources."commander-2.20.3"
+      sources."commondir-1.0.1"
+      sources."compressible-2.0.18"
+      sources."compression-1.7.4"
+      sources."concat-map-0.0.1"
+      sources."confusing-browser-globals-1.0.10"
+      sources."connect-history-api-fallback-1.6.0"
+      sources."consolidate-0.15.1"
+      (sources."content-disposition-0.5.4" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
+      sources."content-type-1.0.4"
+      sources."convert-source-map-1.8.0"
+      sources."cookie-0.4.1"
+      sources."cookie-signature-1.0.6"
+      sources."copy-to-clipboard-3.3.1"
+      (sources."copy-webpack-plugin-10.2.1" // {
+        dependencies = [
+          sources."ajv-8.9.0"
+          sources."ajv-keywords-5.1.0"
+          sources."array-union-3.0.1"
+          sources."glob-parent-6.0.2"
+          sources."globby-12.2.0"
+          sources."json-schema-traverse-1.0.0"
+          sources."schema-utils-4.0.0"
+          sources."slash-4.0.0"
+        ];
+      })
+      (sources."core-js-compat-3.20.2" // {
+        dependencies = [
+          sources."browserslist-4.19.1"
+          sources."caniuse-lite-1.0.30001298"
+          sources."electron-to-chromium-1.4.39"
+          sources."node-releases-2.0.1"
+          sources."semver-7.0.0"
+        ];
+      })
+      sources."core-util-is-1.0.3"
+      sources."cross-spawn-7.0.3"
+      (sources."css-loader-6.5.1" // {
+        dependencies = [
+          sources."postcss-8.3.11"
+        ];
+      })
+      sources."css-select-4.1.3"
+      sources."css-what-5.1.0"
+      sources."cssesc-3.0.0"
+      sources."de-indent-1.0.2"
+      sources."debug-2.6.9"
+      (sources."deep-equal-1.1.1" // {
+        dependencies = [
+          sources."object-keys-1.1.1"
+        ];
+      })
+      sources."deep-is-0.1.4"
+      sources."deepmerge-4.2.2"
+      sources."default-gateway-6.0.3"
+      sources."define-lazy-prop-2.0.0"
+      sources."define-properties-1.1.3"
+      (sources."del-4.1.1" // {
+        dependencies = [
+          sources."pify-4.0.1"
+          sources."rimraf-2.7.1"
+        ];
+      })
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."detect-node-2.1.0"
+      (sources."dir-glob-3.0.1" // {
+        dependencies = [
+          sources."path-type-4.0.0"
+        ];
+      })
+      sources."dns-equal-1.0.0"
+      sources."dns-packet-1.3.4"
+      sources."dns-txt-2.0.2"
+      sources."doctrine-3.0.0"
+      sources."dom-converter-0.2.0"
+      sources."dom-serializer-1.3.2"
+      sources."domelementtype-2.2.0"
+      sources."domhandler-4.2.2"
+      sources."domutils-2.8.0"
+      sources."dot-case-3.0.4"
+      sources."duplexer-0.1.2"
+      sources."ee-first-1.1.1"
+      sources."electron-to-chromium-1.4.43"
+      sources."emojis-list-3.0.0"
+      sources."encodeurl-1.0.2"
+      sources."enhanced-resolve-5.8.3"
+      sources."entities-2.2.0"
+      sources."envinfo-7.8.1"
+      (sources."es-abstract-1.19.1" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+          sources."is-callable-1.2.4"
+          sources."is-negative-zero-2.0.1"
+          sources."object-keys-1.1.1"
+          sources."string.prototype.trimend-1.0.4"
+          sources."string.prototype.trimstart-1.0.4"
+        ];
+      })
+      sources."es-module-lexer-0.9.3"
+      sources."es-to-primitive-1.2.1"
+      sources."escalade-3.1.1"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      (sources."eslint-8.7.0" // {
+        dependencies = [
+          sources."acorn-8.7.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."debug-4.3.3"
+          sources."escape-string-regexp-4.0.0"
+          sources."eslint-scope-7.1.0"
+          (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."estraverse-5.3.0"
+          sources."glob-parent-6.0.2"
+          sources."globals-13.12.0"
+          sources."has-flag-4.0.0"
+          sources."ms-2.1.2"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      (sources."eslint-config-airbnb-base-15.0.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."eslint-import-resolver-node-0.3.6" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."ms-2.1.3"
+          sources."resolve-1.20.0"
+        ];
+      })
+      (sources."eslint-module-utils-2.7.2" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."eslint-plugin-import-2.25.4" // {
+        dependencies = [
+          sources."doctrine-2.1.0"
+          sources."resolve-1.20.0"
+        ];
+      })
+      (sources."eslint-plugin-vue-7.20.0" // {
+        dependencies = [
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
+          sources."semver-6.3.0"
+          sources."vue-eslint-parser-7.11.0"
+        ];
+      })
+      sources."eslint-scope-5.1.1"
+      sources."eslint-utils-2.1.0"
+      sources."eslint-visitor-keys-1.3.0"
+      sources."espree-6.2.1"
+      (sources."esquery-1.4.0" // {
+        dependencies = [
+          sources."estraverse-5.2.0"
+        ];
+      })
+      (sources."esrecurse-4.3.0" // {
+        dependencies = [
+          sources."estraverse-5.2.0"
+        ];
+      })
+      sources."estraverse-4.2.0"
+      sources."esutils-2.0.2"
+      sources."etag-1.8.1"
+      sources."eventemitter3-4.0.7"
+      sources."events-3.3.0"
+      sources."execa-5.1.1"
+      (sources."express-4.17.2" // {
+        dependencies = [
+          sources."array-flatten-1.1.1"
+          sources."safe-buffer-5.2.1"
+        ];
+      })
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-glob-3.2.7"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."fastest-levenshtein-1.0.12"
+      sources."fastq-1.11.0"
+      sources."faye-websocket-0.11.4"
+      sources."file-entry-cache-6.0.1"
+      (sources."file-loader-6.2.0" // {
+        dependencies = [
+          sources."ajv-6.12.6"
+          sources."ajv-keywords-3.5.2"
+          sources."fast-deep-equal-3.1.3"
+          sources."json5-2.1.3"
+          sources."loader-utils-2.0.0"
+          sources."schema-utils-3.0.0"
+        ];
+      })
+      sources."fill-range-7.0.1"
+      sources."finalhandler-1.1.2"
+      (sources."find-cache-dir-3.3.2" // {
+        dependencies = [
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.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."pkg-dir-4.2.0"
+        ];
+      })
+      sources."find-up-2.1.0"
+      sources."flat-5.0.2"
+      sources."flat-cache-3.0.4"
+      sources."flatted-3.2.4"
+      sources."follow-redirects-1.14.7"
+      sources."forwarded-0.2.0"
+      sources."fresh-0.5.2"
+      sources."fs-monkey-1.0.3"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-2.3.2"
+      sources."function-bind-1.1.1"
+      sources."functional-red-black-tree-1.0.1"
+      sources."gensync-1.0.0-beta.2"
+      (sources."get-intrinsic-1.0.1" // {
+        dependencies = [
+          sources."has-symbols-1.0.1"
+        ];
+      })
+      sources."get-stream-6.0.1"
+      (sources."get-symbol-description-1.0.0" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."glob-7.1.3"
+      (sources."glob-parent-5.1.2" // {
+        dependencies = [
+          sources."is-glob-4.0.1"
+        ];
+      })
+      sources."glob-to-regexp-0.4.1"
+      sources."globals-11.12.0"
+      (sources."globby-6.1.0" // {
+        dependencies = [
+          sources."pify-2.3.0"
+        ];
+      })
+      sources."graceful-fs-4.2.9"
+      sources."gzip-size-6.0.0"
+      sources."handle-thing-2.0.1"
+      sources."has-1.0.3"
+      sources."has-bigints-1.0.1"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.0"
+      (sources."has-tostringtag-1.0.0" // {
+        dependencies = [
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."hash-sum-1.0.2"
+      sources."he-1.2.0"
+      (sources."hpack.js-2.1.6" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+        ];
+      })
+      sources."html-entities-2.3.2"
+      (sources."html-minifier-terser-6.0.2" // {
+        dependencies = [
+          sources."commander-8.3.0"
+        ];
+      })
+      sources."html-webpack-plugin-5.5.0"
+      sources."htmlparser2-6.1.0"
+      sources."http-deceiver-1.2.7"
+      (sources."http-errors-1.8.1" // {
+        dependencies = [
+          sources."inherits-2.0.4"
+        ];
+      })
+      sources."http-parser-js-0.5.5"
+      sources."http-proxy-1.18.1"
+      sources."http-proxy-middleware-2.0.1"
+      sources."human-signals-2.1.0"
+      sources."humanize-duration-3.27.1"
+      sources."iconv-lite-0.4.24"
+      sources."icss-utils-5.1.0"
+      sources."ignore-5.2.0"
+      sources."immutable-4.0.0"
+      (sources."import-fresh-3.3.0" // {
+        dependencies = [
+          sources."resolve-from-4.0.0"
+        ];
+      })
+      (sources."import-local-3.0.3" // {
+        dependencies = [
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.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."pkg-dir-4.2.0"
+        ];
+      })
+      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.3"
+      (sources."internal-slot-1.0.3" // {
+        dependencies = [
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."interpret-2.2.0"
+      sources."ip-1.1.5"
+      sources."ipaddr.js-2.0.1"
+      (sources."is-arguments-1.1.1" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."is-bigint-1.0.4"
+      sources."is-binary-path-2.1.0"
+      (sources."is-boolean-object-1.1.2" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."is-callable-1.1.5"
+      sources."is-core-module-2.8.0"
+      sources."is-date-object-1.0.1"
+      sources."is-docker-2.2.1"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.3"
+      sources."is-number-7.0.0"
+      sources."is-number-object-1.0.6"
+      sources."is-path-cwd-2.2.0"
+      sources."is-path-in-cwd-2.1.0"
+      sources."is-path-inside-2.1.0"
+      sources."is-plain-obj-3.0.0"
+      sources."is-plain-object-2.0.4"
+      (sources."is-regex-1.1.4" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.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.2"
+      sources."is-weakref-1.0.1"
+      sources."is-wsl-2.2.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-3.0.1"
+      (sources."jest-worker-27.4.6" // {
+        dependencies = [
+          sources."has-flag-4.0.0"
+          sources."supports-color-8.1.1"
+        ];
+      })
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-4.1.0"
+      sources."jsesc-2.5.2"
+      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."json5-1.0.1"
+      sources."kind-of-6.0.3"
+      sources."klona-2.0.5"
+      sources."levn-0.4.1"
+      sources."linkifyjs-3.0.5"
+      sources."loader-runner-4.2.0"
+      (sources."loader-utils-1.4.0" // {
+        dependencies = [
+          sources."emojis-list-3.0.0"
+        ];
+      })
+      sources."locate-path-2.0.0"
+      sources."lodash-4.17.21"
+      sources."lodash-es-4.17.21"
+      sources."lodash.debounce-4.0.8"
+      sources."lodash.merge-4.6.2"
+      sources."lower-case-2.0.2"
+      sources."lru-cache-4.1.5"
+      (sources."make-dir-3.1.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."media-typer-0.3.0"
+      sources."memfs-3.4.1"
+      sources."merge-descriptors-1.0.1"
+      (sources."merge-source-map-1.1.0" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."merge-stream-2.0.0"
+      sources."merge2-1.4.1"
+      sources."methods-1.1.2"
+      (sources."micromatch-4.0.4" // {
+        dependencies = [
+          sources."picomatch-2.3.0"
+        ];
+      })
+      sources."mime-2.5.2"
+      sources."mime-db-1.44.0"
+      sources."mime-types-2.1.27"
+      sources."mimic-fn-2.1.0"
+      sources."minimalistic-assert-1.0.1"
+      sources."minimatch-3.0.4"
+      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."nanoid-3.1.30"
+      sources."natural-compare-1.4.0"
+      sources."negotiator-0.6.2"
+      sources."neo-async-2.6.2"
+      sources."no-case-3.0.4"
+      sources."node-forge-1.2.0"
+      sources."node-releases-2.0.1"
+      sources."normalize-path-3.0.0"
+      sources."npm-run-path-4.0.1"
+      sources."nth-check-2.0.1"
+      sources."object-assign-4.1.1"
+      sources."object-inspect-1.11.0"
+      (sources."object-is-1.1.5" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."object-keys-1.0.12"
+      (sources."object.assign-4.1.2" // {
+        dependencies = [
+          sources."has-symbols-1.0.2"
+          sources."object-keys-1.1.1"
+        ];
+      })
+      (sources."object.entries-1.1.5" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      (sources."object.values-1.1.5" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."obuf-1.1.2"
+      sources."on-finished-2.3.0"
+      sources."on-headers-1.0.2"
+      sources."once-1.4.0"
+      sources."onetime-5.1.2"
+      sources."open-8.4.0"
+      sources."opener-1.5.2"
+      sources."optionator-0.9.1"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-map-2.1.0"
+      sources."p-retry-4.6.1"
+      sources."p-try-1.0.0"
+      sources."param-case-3.0.4"
+      sources."parent-module-1.0.1"
+      sources."parseurl-1.3.3"
+      sources."pascal-case-3.1.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-to-regexp-0.1.7"
+      sources."picocolors-1.0.0"
+      sources."picomatch-2.2.2"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."plurals-cldr-2.0.1"
+      sources."popper.js-1.16.1"
+      (sources."portfinder-1.0.28" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."postcss-7.0.36" // {
+        dependencies = [
+          (sources."chalk-2.4.2" // {
+            dependencies = [
+              sources."supports-color-5.5.0"
+            ];
+          })
+          sources."source-map-0.6.1"
+          sources."supports-color-6.1.0"
+        ];
+      })
+      sources."postcss-modules-extract-imports-3.0.0"
+      sources."postcss-modules-local-by-default-4.0.0"
+      (sources."postcss-modules-scope-3.0.0" // {
+        dependencies = [
+          sources."postcss-selector-parser-6.0.6"
+        ];
+      })
+      sources."postcss-modules-values-4.0.0"
+      sources."postcss-selector-parser-6.0.2"
+      sources."postcss-value-parser-4.1.0"
+      sources."prelude-ls-1.2.1"
+      sources."prettier-1.19.1"
+      sources."pretty-error-4.0.0"
+      sources."process-nextick-args-2.0.1"
+      (sources."proxy-addr-2.0.7" // {
+        dependencies = [
+          sources."ipaddr.js-1.9.1"
+        ];
+      })
+      sources."pseudomap-1.0.2"
+      sources."punycode-2.1.1"
+      sources."qs-6.9.6"
+      sources."queue-microtask-1.2.3"
+      sources."randombytes-2.1.0"
+      sources."range-parser-1.2.1"
+      (sources."raw-body-2.4.2" // {
+        dependencies = [
+          sources."bytes-3.1.1"
+        ];
+      })
+      sources."readable-stream-3.6.0"
+      sources."readdirp-3.6.0"
+      sources."rechoir-0.7.1"
+      sources."regenerate-1.4.2"
+      sources."regenerate-unicode-properties-9.0.0"
+      sources."regenerator-runtime-0.13.7"
+      sources."regenerator-transform-0.14.5"
+      (sources."regexp.prototype.flags-1.3.1" // {
+        dependencies = [
+          sources."call-bind-1.0.2"
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."regexpp-3.2.0"
+      sources."regexpu-core-4.8.0"
+      sources."regjsgen-0.5.2"
+      (sources."regjsparser-0.7.0" // {
+        dependencies = [
+          sources."jsesc-0.5.0"
+        ];
+      })
+      sources."relateurl-0.2.7"
+      sources."renderkid-3.0.0"
+      sources."require-from-string-2.0.2"
+      sources."requires-port-1.0.0"
+      sources."resolve-1.15.0"
+      sources."resolve-cwd-3.0.0"
+      sources."resolve-from-5.0.0"
+      sources."retry-0.13.1"
+      sources."reusify-1.0.4"
+      sources."rimraf-3.0.2"
+      sources."run-parallel-1.2.0"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sass-1.49.0"
+      sources."sass-loader-12.4.0"
+      sources."schema-utils-3.1.1"
+      sources."select-hose-2.0.0"
+      sources."selfsigned-2.0.0"
+      (sources."semver-7.3.5" // {
+        dependencies = [
+          sources."lru-cache-6.0.0"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."send-0.17.2" // {
+        dependencies = [
+          sources."mime-1.6.0"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."serialize-javascript-6.0.0"
+      (sources."serve-index-1.9.1" // {
+        dependencies = [
+          sources."http-errors-1.6.3"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
+      sources."serve-static-1.14.2"
+      sources."setprototypeof-1.2.0"
+      sources."shallow-clone-3.0.1"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
+      (sources."side-channel-1.0.4" // {
+        dependencies = [
+          sources."get-intrinsic-1.1.1"
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."signal-exit-3.0.3"
+      sources."sirv-1.0.17"
+      sources."slash-3.0.0"
+      sources."sockjs-0.3.24"
+      sources."source-map-0.5.7"
+      sources."source-map-js-0.6.2"
+      (sources."spdy-4.0.2" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."spdy-transport-3.0.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."statuses-1.5.0"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-6.0.1"
+      sources."strip-bom-3.0.0"
+      sources."strip-final-newline-2.0.0"
+      sources."strip-json-comments-3.1.1"
+      sources."supports-color-5.5.0"
+      sources."svg-country-flags-1.2.10"
+      sources."tapable-2.2.0"
+      (sources."terser-5.9.0" // {
+        dependencies = [
+          sources."source-map-0.7.3"
+          (sources."source-map-support-0.5.20" // {
+            dependencies = [
+              sources."source-map-0.6.1"
+            ];
+          })
+        ];
+      })
+      (sources."terser-webpack-plugin-5.3.0" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."text-table-0.2.0"
+      sources."thunky-1.1.0"
+      sources."to-fast-properties-2.0.0"
+      sources."to-regex-range-5.0.1"
+      sources."toggle-selection-1.0.6"
+      sources."toidentifier-1.0.1"
+      sources."totalist-1.1.0"
+      sources."tsconfig-paths-3.12.0"
+      sources."tslib-2.3.1"
+      sources."type-check-0.4.0"
+      sources."type-fest-0.20.2"
+      sources."type-is-1.6.18"
+      sources."typed-assert-1.0.8"
+      (sources."unbox-primitive-1.0.1" // {
+        dependencies = [
+          sources."has-symbols-1.0.2"
+        ];
+      })
+      sources."unicode-canonical-property-names-ecmascript-2.0.0"
+      sources."unicode-match-property-ecmascript-2.0.0"
+      sources."unicode-match-property-value-ecmascript-2.0.0"
+      sources."unicode-property-aliases-ecmascript-2.0.0"
+      sources."uniq-1.0.1"
+      sources."unpipe-1.0.0"
+      sources."uri-js-4.2.2"
+      (sources."url-loader-4.1.1" // {
+        dependencies = [
+          sources."ajv-6.12.5"
+          sources."ajv-keywords-3.5.2"
+          sources."fast-deep-equal-3.1.3"
+          sources."json5-2.1.3"
+          sources."loader-utils-2.0.0"
+          sources."mime-db-1.44.0"
+          sources."mime-types-2.1.27"
+          sources."schema-utils-3.0.0"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
+      sources."utila-0.4.0"
+      sources."utils-merge-1.0.1"
+      sources."uuid-8.3.2"
+      sources."v-tooltip-2.1.3"
+      sources."v8-compile-cache-2.3.0"
+      sources."vary-1.1.2"
+      sources."vue-2.6.14"
+      (sources."vue-eslint-parser-8.1.0" // {
+        dependencies = [
+          sources."acorn-8.7.0"
+          sources."debug-4.3.3"
+          sources."eslint-scope-7.1.0"
+          sources."eslint-visitor-keys-3.2.0"
+          sources."espree-9.3.0"
+          sources."estraverse-5.3.0"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."vue-hot-reload-api-2.3.4"
+      sources."vue-loader-15.9.8"
+      sources."vue-meta-2.4.0"
+      sources."vue-multiselect-2.1.6"
+      sources."vue-resize-1.0.1"
+      sources."vue-router-3.5.3"
+      sources."vue-snotify-3.2.1"
+      sources."vue-style-loader-4.1.3"
+      sources."vue-template-compiler-2.6.14"
+      sources."vue-template-es2015-compiler-1.9.1"
+      sources."vuex-3.6.2"
+      sources."watchpack-2.3.1"
+      sources."wbuf-1.7.3"
+      (sources."webpack-5.67.0" // {
+        dependencies = [
+          sources."acorn-8.7.0"
+        ];
+      })
+      (sources."webpack-bundle-analyzer-4.5.0" // {
+        dependencies = [
+          sources."acorn-8.5.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-7.2.0"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
+          sources."ws-7.5.5"
+        ];
+      })
+      (sources."webpack-cli-4.9.1" // {
+        dependencies = [
+          sources."commander-7.2.0"
+        ];
+      })
+      (sources."webpack-dev-middleware-5.3.0" // {
+        dependencies = [
+          sources."ajv-8.8.2"
+          sources."ajv-keywords-5.1.0"
+          sources."json-schema-traverse-1.0.0"
+          sources."mime-db-1.51.0"
+          sources."mime-types-2.1.34"
+          sources."schema-utils-4.0.0"
+        ];
+      })
+      (sources."webpack-dev-server-4.7.3" // {
+        dependencies = [
+          sources."ajv-8.8.2"
+          sources."ajv-keywords-5.1.0"
+          sources."ansi-regex-6.0.1"
+          sources."array-union-2.1.0"
+          sources."del-6.0.0"
+          sources."fast-glob-3.2.10"
+          sources."globby-11.1.0"
+          sources."is-path-inside-3.0.3"
+          sources."json-schema-traverse-1.0.0"
+          sources."p-map-4.0.0"
+          sources."schema-utils-4.0.0"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
+      sources."webpack-merge-5.8.0"
+      sources."webpack-sources-3.2.3"
+      sources."webpack-subresource-integrity-5.1.0"
+      sources."websocket-driver-0.7.4"
+      sources."websocket-extensions-0.1.4"
+      sources."which-2.0.2"
+      (sources."which-boxed-primitive-1.0.2" // {
+        dependencies = [
+          sources."has-symbols-1.0.2"
+          sources."is-symbol-1.0.4"
+        ];
+      })
+      sources."wildcard-2.0.0"
+      sources."word-wrap-1.2.3"
+      sources."wrappy-1.0.2"
+      sources."ws-8.4.0"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The official web interface for ASF";
+    };
+    production = false;
+    bypassCache = true;
+    reconstructLock = false;
+  };
+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/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh
new file mode 100755
index 000000000000..dfe394c78586
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix gnused jq curl
+
+version=$(nix-instantiate --strict --eval -A ArchiSteamFarm.version | jq -r)
+ui=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/contents/ASF-ui?ref=${version} | jq -r .sha)
+
+pushd $(dirname "$0")
+
+curl https://raw.githubusercontent.com/JustArchiNET/ASF-ui/${ui}/package-lock.json -o package-lock.json
+curl https://raw.githubusercontent.com/JustArchiNET/ASF-ui/${ui}/package.json -o package.json
+
+# update-source-version doesn't work for some reason
+sed -i "s/rev\\s*=\\s*.*/rev = \"$ui\";/" default.nix
+sed -i "s/sha256\\s*=\\s*.*/sha256 = \"$(nix-prefetch-url --unpack https://github.com/JustArchiNET/ASF-ui/archive/$ui.tar.gz)\";/" default.nix
+
+node2nix \
+  --nodejs-14 \
+  --development \
+  --lock package-lock.json \
+  --node-env ../../../../development/node-packages/node-env.nix \
+  --output node-packages.nix \
+  --composition node-composition.nix \
+
+rm package.json package-lock.json
+
+popd
diff --git a/nixpkgs/pkgs/applications/misc/airtame/default.nix b/nixpkgs/pkgs/applications/misc/airtame/default.nix
deleted file mode 100644
index 90373b6b00c5..000000000000
--- a/nixpkgs/pkgs/applications/misc/airtame/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
-, alsa-lib, atk, cairo, cups, curl, dbus, expat, ffmpeg_3, fontconfig, freetype
-, gdk-pixbuf, glib, glibc, gnome2, gtk2, libX11, libXScrnSaver, libXcomposite
-, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender
-, libXtst, libopus, libpulseaudio, libxcb, nspr, nss, pango, udev, x264
-}:
-
-let libPath = lib.makeLibraryPath [
-  alsa-lib atk cairo cups curl dbus expat ffmpeg_3 fontconfig freetype gdk-pixbuf
-  glib glibc gnome2.GConf gtk2 libopus nspr nss pango stdenv.cc.cc udev x264
-  libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes
-  libXi libXrandr libXrender libXtst libpulseaudio libxcb
-];
-in stdenv.mkDerivation rec {
-  pname = "airtame";
-  version = "3.3.0";
-  longName = "${pname}-application";
-
-  src = fetchurl {
-    url = "https://downloads.airtame.com/application/ga/lin_x64/releases/${longName}-${version}.tar.gz";
-    sha256 = "16ca1vcxpka26jcrfbxpq74kcizgrm138j94bby6kzqp2swhrl76";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  desktopItem = makeDesktopItem rec {
-    name = "airtame";
-    exec = longName;
-    comment = "Airtame Streaming Client";
-    desktopName = "Airtame";
-    icon = name;
-    genericName = comment;
-    categories = "Network;";
-  };
-
-  installPhase = ''
-    opt="$out/opt/airtame"
-    mkdir -p "$opt"
-    cp -R . "$opt"
-    mkdir -p "$out/bin"
-    ln -s "$opt/${longName}" "$out/bin/"
-    mkdir -p "$out/share"
-    cp -r "${desktopItem}/share/applications" "$out/share/"
-    mkdir -p "$out/share/icons"
-    ln -s "$opt/icon.png" "$out/share/icons/airtame.png"
-
-    # Flags and rpath are copied from launch-airtame.sh.
-    vendorlib="\
-    $opt/resources/app.asar.unpacked/modules/streamer/dist/deps/airtame-modules:\
-    $opt/resources/app.asar.unpacked/encryption/out/lib:\
-    $opt/resources/deps/airtame-core/lib:\
-    $opt/resources/deps/airtame-encryption/lib"
-
-    echo $vendorlib
-
-    rpath="${libPath}:$opt:$vendorlib"
-
-    find "$opt" \( -type f -executable -o -name "*.so" -o -name "*.so.*" \) \
-      -exec patchelf --set-rpath "$rpath" {} \;
-
-    # The main binary also needs libudev which was removed by --shrink-rpath.
-    interp="$(< $NIX_CC/nix-support/dynamic-linker)"
-    patchelf --set-interpreter "$interp" $opt/${longName}
-
-    wrapProgram $opt/${longName} \
-      --prefix LD_LIBRARY_PATH=$rpath \
-      --add-flags "--disable-gpu --enable-transparent-visuals"
-  '';
-
-  dontPatchELF = true;
-
-  meta = with lib; {
-    homepage = "https://airtame.com/download";
-    description = "Wireless streaming client for Airtame devices";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ thanegill ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/anytype/default.nix b/nixpkgs/pkgs/applications/misc/anytype/default.nix
index 9ffc02b9c69c..e80bb82ccec1 100644
--- a/nixpkgs/pkgs/applications/misc/anytype/default.nix
+++ b/nixpkgs/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.22.3";
+  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-28qgTWCQrFCREGNfj8bePocEpB+0AZfrKNO4akn7/5I=";
+    sha256 = "sha256-kVM/F0LsIgMtur8jHZzUWkFIcfHe0i8y9Zxe3z5SkVM=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/nixpkgs/pkgs/applications/misc/archivebox/default.nix b/nixpkgs/pkgs/applications/misc/archivebox/default.nix
index bd1a98ef9cce..b70cf4407501 100644
--- a/nixpkgs/pkgs/applications/misc/archivebox/default.nix
+++ b/nixpkgs/pkgs/applications/misc/archivebox/default.nix
@@ -1,43 +1,35 @@
 { 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_extensions
+    django
+    django-extensions
     dateparser
     youtube-dl
     python-crontab
diff --git a/nixpkgs/pkgs/applications/misc/artha/default.nix b/nixpkgs/pkgs/applications/misc/artha/default.nix
index 37a1cee79a65..d91f769e9545 100644
--- a/nixpkgs/pkgs/applications/misc/artha/default.nix
+++ b/nixpkgs/pkgs/applications/misc/artha/default.nix
@@ -1,21 +1,17 @@
 { lib, stdenv, autoreconfHook, fetchurl, dbus-glib, gtk2, pkg-config, wordnet }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "artha";
-  version = "1.0.3";
+  version = "1.0.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/artha/1.0.3/artha-1.0.3.tar.bz2";
-    sha256 = "0qr4ihl7ma3cq82xi1fpzvf74mm9vsg0j035xvmcp3r6rmw2fycx";
+    url = "mirror://sourceforge/artha/${version}/artha-${version}.tar.bz2";
+    sha256 = "034r7vfk5y7705k068cdlq52ikp6ip10w6047a5zjdakbn55c3as";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ dbus-glib gtk2 wordnet ];
 
-  patches = [
-    ./gio-underlink.patch
-  ];
-
   meta = with lib; {
     description = "An offline thesaurus based on WordNet";
     homepage = "http://artha.sourceforge.net";
diff --git a/nixpkgs/pkgs/applications/misc/artha/gio-underlink.patch b/nixpkgs/pkgs/applications/misc/artha/gio-underlink.patch
deleted file mode 100644
index 08d9c4787369..000000000000
--- a/nixpkgs/pkgs/applications/misc/artha/gio-underlink.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 0236d72..bcc1182 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -38,7 +38,7 @@ artha_LDADD = libwni.a $(WORDNET_LIB)
- 
- if POSIX
- AM_CFLAGS += @libdbus_CFLAGS@
--artha_LDADD += -lX11 -ldbus-1 -ldbus-glib-1 -lgtk-x11-2.0 \
-+artha_LDADD += -lX11 -ldbus-1 -ldbus-glib-1 -lgio-2.0 -lgtk-x11-2.0 \
- 		-lgdk-x11-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0
- else
- artha_LDADD += @GTK_LIBS@
diff --git a/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix b/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix
index 40339b49e27f..9f3c1c82b5e0 100644
--- a/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.22.2";
+  version = "1.22.4";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    sha256 = "sha256-Oci1y6//45Gep4IS6Ym+v9MPCP5mOswAiWPkXqd+zR0=";
+    sha256 = "sha256-Mms7Vibq1Rlb2XbxiV4o1UsjDRJcwG5ZZdPOWHjnW2A=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/misc/auto-multiple-choice/default.nix b/nixpkgs/pkgs/applications/misc/auto-multiple-choice/default.nix
index 3f8edac97b6f..d8db5441df5e 100644
--- a/nixpkgs/pkgs/applications/misc/auto-multiple-choice/default.nix
+++ b/nixpkgs/pkgs/applications/misc/auto-multiple-choice/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     wrapProgram $out/bin/auto-multiple-choice \
     ''${makeWrapperArgs[@]} \
-    --prefix PERL5LIB : "${with perlPackages; makePerlPath [
+    --prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [
       ArchiveZip
       DBDSQLite
       Cairo
@@ -75,6 +75,7 @@ stdenv.mkDerivation rec {
       GlibObjectIntrospection
       Gtk3
       LocaleGettext
+      OpenOfficeOODoc
       PerlMagick
       TextCSV
       XMLParser
@@ -82,7 +83,7 @@ stdenv.mkDerivation rec {
       XMLWriter
     ]}:"$out/share/perl5 \
     --prefix XDG_DATA_DIRS : "$out/share" \
-    --set TEXINPUTS ":.:$out/share/texmf/tex/latex/AMC"
+    --set TEXINPUTS ":.:$out/tex/latex"
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/avizo/default.nix b/nixpkgs/pkgs/applications/misc/avizo/default.nix
index 407dd7040637..7325e29f682b 100644
--- a/nixpkgs/pkgs/applications/misc/avizo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/avizo/default.nix
@@ -5,21 +5,28 @@
 , gobject-introspection, gdk-pixbuf, wrapGAppsHook
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "avizo";
-  version = "unstable-2021-07-21";
+  # Note: remove the 'use-sysconfig' patch on the next update
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "misterdanb";
     repo = "avizo";
-    rev = "7b3874e5ee25c80800b3c61c8ea30612aaa6e8d1";
-    sha256 = "sha256-ixAdiAH22Nh19uK5GoAXtAZJeAfCGSWTcGbrvCczWYc=";
+    rev = version;
+    sha256 = "sha256-0BJodJ6WaHhuSph2D1AC+DMafctgiSCyaZ8MFn89AA8=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config vala gobject-introspection wrapGAppsHook ];
 
   buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 librsvg ];
 
+  patches = [
+    # Remove on next update
+    # See https://github.com/misterdanb/avizo/pull/30
+    ./use-sysconfdir-instead-of-etc.patch
+  ];
+
   postInstall = ''
     substituteInPlace "$out"/bin/volumectl \
       --replace 'avizo-client' "$out/bin/avizo-client"
diff --git a/nixpkgs/pkgs/applications/misc/avizo/use-sysconfdir-instead-of-etc.patch b/nixpkgs/pkgs/applications/misc/avizo/use-sysconfdir-instead-of-etc.patch
new file mode 100644
index 000000000000..947559760cbc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/avizo/use-sysconfdir-instead-of-etc.patch
@@ -0,0 +1,15 @@
+diff --git a/meson.build b/meson.build
+index 1c789be..cd4b07a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -12,7 +12,9 @@ app_resources_service = gnome.compile_resources(
+   source_dir : '.',
+   c_name : 'avizo_resources')
+ 
+-install_data('config.ini', install_dir: '/etc/xdg/avizo')
++sysconfdir = get_option('sysconfdir')
++
++install_data('config.ini', install_dir: join_paths(sysconfdir, 'xdg/avizo'))
+ install_data('volumectl', install_dir: 'bin')
+ install_data('lightctl', install_dir: 'bin')
+ 
diff --git a/nixpkgs/pkgs/applications/misc/batsignal/default.nix b/nixpkgs/pkgs/applications/misc/batsignal/default.nix
index d09eab0f85b2..bec3164a008d 100644
--- a/nixpkgs/pkgs/applications/misc/batsignal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/bemenu/default.nix b/nixpkgs/pkgs/applications/misc/bemenu/default.nix
index c4c013235942..0464ec5828d4 100644
--- a/nixpkgs/pkgs/applications/misc/bemenu/default.nix
+++ b/nixpkgs/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.6";
 
   src = fetchFromGitHub {
     owner = "Cloudef";
     repo = pname;
     rev = version;
-    sha256 = "5xRM3NQfomG0vJheNEBLy3OaS6UEwabNKYa96u2md6M=";
+    sha256 = "sha256-687/v3YvRXbop5EouXS5/aI5P+o0QgpWlUCVzDG8jzM=";
   };
 
   nativeBuildInputs = [ pkg-config pcre ];
diff --git a/nixpkgs/pkgs/applications/misc/bicon/default.nix b/nixpkgs/pkgs/applications/misc/bicon/default.nix
index 72f5a639f11f..0b3ca09c6d04 100644
--- a/nixpkgs/pkgs/applications/misc/bicon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/binance/default.nix b/nixpkgs/pkgs/applications/misc/binance/default.nix
index e98f8bfabb8c..86445f25984e 100644
--- a/nixpkgs/pkgs/applications/misc/binance/default.nix
+++ b/nixpkgs/pkgs/applications/misc/binance/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "binance";
-  version = "1.29.0";
+  version = "1.30.1";
 
   src = fetchurl {
     url = "https://github.com/binance/desktop/releases/download/v${version}/${pname}-${version}-amd64-linux.deb";
-    sha256 = "sha256-LQX5RUTVm6lBdRzCFMBq1NLGGiLBVyykJ1LY9FqINnY=";
+    sha256 = "sha256-Su8pVf5GSBK770D778MmrgYr0ov/JBTNcnL8EZzoG3U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/blender/wrapper.nix b/nixpkgs/pkgs/applications/misc/blender/wrapper.nix
new file mode 100644
index 000000000000..24ff72e14f6c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/blender/wrapper.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, lib
+, blender
+, makeWrapper
+, python39Packages
+}:
+{ name ? "wrapped"
+, packages ? []
+}:
+stdenv.mkDerivation {
+  pname = "blender-${name}";
+  inherit (blender) version;
+  src = blender;
+
+  nativeBuildInputs = [ python39Packages.wrapPython makeWrapper ];
+  installPhase = ''
+    mkdir $out/{share/applications,bin} -p
+    sed 's/Exec=blender/Exec=blender-${name}/g' $src/share/applications/blender.desktop > $out/share/applications/blender-${name}.desktop
+    cp -r $src/share/blender $out/share
+    cp -r $src/share/doc $out/share
+    cp -r $src/share/icons $out/share
+
+    buildPythonPath "$pythonPath"
+
+    echo '#!/usr/bin/env bash ' >> $out/bin/blender-${name}
+    for p in $program_PATH; do
+      echo "export PATH=\$PATH:$p " >> $out/bin/blender-${name}
+    done
+    for p in $program_PYTHONPATH; do
+      echo "export PYTHONPATH=\$PYTHONPATH:$p " >> $out/bin/blender-${name}
+    done
+    echo 'exec ${blender}/bin/blender "$@"' >> $out/bin/blender-${name}
+    chmod +x $out/bin/blender-${name}
+  '';
+
+  pythonPath = packages;
+
+  meta = blender.meta;
+}
diff --git a/nixpkgs/pkgs/applications/misc/bottles/default.nix b/nixpkgs/pkgs/applications/misc/bottles/default.nix
index 85d801e2ec3c..22d7560c6897 100644
--- a/nixpkgs/pkgs/applications/misc/bottles/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/buku/default.nix b/nixpkgs/pkgs/applications/misc/buku/default.nix
index e8b8714ca2ab..5227f0e6f474 100644
--- a/nixpkgs/pkgs/applications/misc/buku/default.nix
+++ b/nixpkgs/pkgs/applications/misc/buku/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3, fetchFromGitHub }:
+{ lib, python3, fetchFromGitHub, withServer ? false }:
 
 let
   python3' = python3.override {
@@ -19,6 +19,21 @@ let
       });
     };
   };
+  serverRequire = with python3'.pkgs; [
+    requests
+    flask
+    flask-admin
+    flask-api
+    flask-bootstrap
+    flask-paginate
+    flask-reverse-proxy-fix
+    flask_wtf
+    arrow
+    werkzeug
+    click
+    vcrpy
+    toml
+  ];
 in
 with python3'.pkgs; buildPythonApplication rec {
   version = "4.6";
@@ -32,40 +47,29 @@ with python3'.pkgs; buildPythonApplication rec {
   };
 
   checkInputs = [
-    pytest-cov
     hypothesis
     pytest
     pytest-vcr
-    pylint
-    flake8
     pyyaml
     mypy-extensions
+    click
   ];
 
   propagatedBuildInputs = [
     cryptography
     beautifulsoup4
-    requests
+    certifi
     urllib3
-    flask
-    flask-admin
-    flask-api
-    flask-bootstrap
-    flask-paginate
-    flask-reverse-proxy-fix
-    flask_wtf
-    arrow
-    werkzeug
-    click
     html5lib
-    vcrpy
-    toml
-  ];
+  ] ++ lib.optionals withServer serverRequire;
 
   postPatch = ''
     # Jailbreak problematic dependencies
     sed -i \
       -e "s,'PyYAML.*','PyYAML',g" \
+      -e "/'pytest-cov/d" \
+      -e "/'pylint/d" \
+      -e "/'flake8/d" \
       setup.py
   '';
 
@@ -80,6 +84,8 @@ with python3'.pkgs; buildPythonApplication rec {
       --replace "self.assertEqual(url, \"https://www.google.com\")" ""
     substituteInPlace setup.py \
       --replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1
+  '' + lib.optionalString (!withServer) ''
+    rm tests/test_{server,views}.py
   '';
 
   postInstall = ''
@@ -89,6 +95,8 @@ with python3'.pkgs; buildPythonApplication rec {
     cp auto-completion/zsh/* $out/share/zsh/site-functions
     cp auto-completion/bash/* $out/share/bash-completion/completions
     cp auto-completion/fish/* $out/share/fish/vendor_completions.d
+  '' + lib.optionalString (!withServer) ''
+    rm $out/bin/bukuserver
   '';
 
   meta = with lib; {
@@ -99,4 +107,3 @@ with python3'.pkgs; buildPythonApplication rec {
     maintainers = with maintainers; [ matthiasbeyer infinisil ma27 ];
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/misc/bukut/default.nix b/nixpkgs/pkgs/applications/misc/bukut/default.nix
new file mode 100644
index 000000000000..0e38afe7955c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/bukut/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3, fetchFromGitHub }:
+
+with python3.pkgs; buildPythonApplication rec {
+  pname = "bukut";
+  version = "0.11";
+
+  src = fetchFromGitHub {
+    owner = "peterjschroeder";
+    repo = "bukut";
+    rev = "v${version}";
+    sha256 = "sha256-Hp9/tSdRNAoll/fYNJuhYC7cgy5AK3PUtYUsS6zsz1Y=";
+  };
+
+  propagatedBuildInputs = [
+    asciimatics
+    beautifulsoup4
+    natsort
+    pyperclip
+    pyxdg
+  ];
+
+  meta = with lib; {
+    description = "Text user interface for buku bookmark manager";
+    homepage = "https://github.com/peterjschroeder/bukut";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ taha ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/calibre/default.nix b/nixpkgs/pkgs/applications/misc/calibre/default.nix
index e50c2918ed92..1d6af843e2fd 100644
--- a/nixpkgs/pkgs/applications/misc/calibre/default.nix
+++ b/nixpkgs/pkgs/applications/misc/calibre/default.nix
@@ -108,8 +108,10 @@ mkDerivation rec {
       python
       regex
       sip
+      setuptools
       zeroconf
       jeepney
+      pycryptodome
       # the following are distributed with calibre, but we use upstream instead
       odfpy
     ] ++ lib.optional (unrarSupport) unrardll
diff --git a/nixpkgs/pkgs/applications/misc/cbatticon/default.nix b/nixpkgs/pkgs/applications/misc/cbatticon/default.nix
index 482bec9d0549..0440e806c0c1 100644
--- a/nixpkgs/pkgs/applications/misc/cbatticon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/charm/default.nix b/nixpkgs/pkgs/applications/misc/charm/default.nix
index 204a090136de..5f0c09303ff8 100644
--- a/nixpkgs/pkgs/applications/misc/charm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/charm/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-5WNkD+YfmQHGAWWfD9/ZEHnHPT0Ejm9Nz+/mn8xvU4U=";
   };
 
-  vendorSha256 = "sha256-TncVMDeZ8+Wuv1o0Cjks3Ve1OsO+WXH9mClC6GNaSas=";
+  vendorSha256 = "sha256-r0mYrtWllKOvKQJmW0ie4l+1nsCwU8O+CV6ESXNoETk=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
index 15faa7a32d75..237c91267839 100644
--- a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cherrytree";
-  version = "0.99.44";
+  version = "0.99.45";
 
   src = fetchFromGitHub {
     owner = "giuspen";
     repo = "cherrytree";
     rev = version;
-    sha256 = "sha256-13wZb+PxeCrQ3MpewMnqBHO8QnoCRFhKU4awTdYtFd4=";
+    sha256 = "sha256-DGhzqv7huFVgCdXy3DuIBT+7s2q6FB7+gFPd4zEXi2M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/clifm/default.nix b/nixpkgs/pkgs/applications/misc/clifm/default.nix
index 20c7497e8695..e6c71d527caa 100644
--- a/nixpkgs/pkgs/applications/misc/clifm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/clifm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clifm";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "leo-arch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nYBGM3gUj1NGrxNLt0xpNl00cgS2Ecs3kYjZapiJT48=";
+    sha256 = "sha256-62WxvJsXkzvDqFGFpid9VDB1mARgllkKnb6mFC5pdl8=";
   };
 
   buildInputs = [ libcap acl file readline ];
diff --git a/nixpkgs/pkgs/applications/misc/clight/clightd.nix b/nixpkgs/pkgs/applications/misc/clight/clightd.nix
index 7b52145f794b..b9df45b482d5 100644
--- a/nixpkgs/pkgs/applications/misc/clight/clightd.nix
+++ b/nixpkgs/pkgs/applications/misc/clight/clightd.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clightd";
-  version = "5.4";
+  version = "5.6";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clightd";
     rev = version;
-    sha256 = "sha256-ppaxfnZB3+aOzvc/wk1f8D2mFYngQspEOl9XArNMdBE=";
+    sha256 = "sha256-PxYOI/2ZOz3JSGCPIXfm3WfGZ19D8JhhdNS3FVuXus8=";
   };
 
   # dbus-1.pc has datadir=/etc
diff --git a/nixpkgs/pkgs/applications/misc/clight/default.nix b/nixpkgs/pkgs/applications/misc/clight/default.nix
index b5278e7cc75c..3592de5f1c65 100644
--- a/nixpkgs/pkgs/applications/misc/clight/default.nix
+++ b/nixpkgs/pkgs/applications/misc/clight/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clight";
-  version = "4.7";
+  version = "4.8";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clight";
     rev = version;
-    sha256 = "sha256-+u50XorUyeDsn4FaKdD0wEtQHkwtiyVDY0IAi0vehEQ=";
+    sha256 = "sha256-nDI5Rq1iPVkj25HRpxmS9zxNDUy+9YsSwbZnEwYt86E=";
   };
 
   # dbus-1.pc has datadir=/etc
diff --git a/nixpkgs/pkgs/applications/misc/cloak/default.nix b/nixpkgs/pkgs/applications/misc/cloak/default.nix
index 7b2501841262..7c362961b4be 100644
--- a/nixpkgs/pkgs/applications/misc/cloak/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cloak/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloak";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "evansmurithi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "139z2ga0q7a0vwfnn5hpzsz5yrrrr7rgyd32yvfj5sxiywkmczs7";
+    hash = "sha256-Pd2aorsXdHB1bs609+S5s+WV5M1ql48yIKaoN8SEvsg=";
   };
 
-  cargoSha256 = "0af38wgwmsamnx63dwfm2nrkd8wmky3ai7zwy0knmifgkn4b7yyj";
+  cargoHash = "sha256-m11A5fcJzWoDZglrr2Es1V5ZJNepEkGeIRVhexJ7jws=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/applications/misc/cointop/default.nix b/nixpkgs/pkgs/applications/misc/cointop/default.nix
index 209e9f9e3bea..a0ceabf9d105 100644
--- a/nixpkgs/pkgs/applications/misc/cointop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/copyq/default.nix b/nixpkgs/pkgs/applications/misc/copyq/default.nix
index 5c96a3282243..1050a91e99a1 100644
--- a/nixpkgs/pkgs/applications/misc/copyq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/copyq/default.nix
@@ -17,13 +17,13 @@
 
 mkDerivation rec {
   pname = "CopyQ";
-  version = "4.1.0";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "1iacnd9dn0mrajff80r2g5nlks5sch9lmpl633mnyqmih9dwx2li";
+    sha256 = "sha256-edrRgnjbszqJLbGLE4anCJSGApymvK0O+2ks5jWe8aw=";
   };
 
   nativeBuildInputs = [
@@ -42,15 +42,6 @@ mkDerivation rec {
     wayland
   ];
 
-  patches = [
-    # Install the bash completion script correctly
-    # Remove once 4.1.1 is released
-    (fetchpatch {
-      url = "https://github.com/hluk/CopyQ/commit/aca7222ec28589af0b08f63686104b992d63ee42.patch";
-      sha256 = "0d440d0zsdzm9cd0b6c42y9qbrvxg7gdam0qmif62mr8qa0ylidl";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace shared/com.github.hluk.copyq.desktop.in \
       --replace copyq "$out/bin/copyq"
diff --git a/nixpkgs/pkgs/applications/misc/cpu-x/default.nix b/nixpkgs/pkgs/applications/misc/cpu-x/default.nix
index 8f68a512c211..9d64a31dded9 100644
--- a/nixpkgs/pkgs/applications/misc/cpu-x/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubiomes-viewer/default.nix b/nixpkgs/pkgs/applications/misc/cubiomes-viewer/default.nix
new file mode 100644
index 000000000000..f8f7fb8491c8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/cubiomes-viewer/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qtbase
+, qmake
+, wrapQtAppsHook
+, copyDesktopItems
+, makeDesktopItem
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cubiomes-viewer";
+  version = "1.12.1";
+
+  src = fetchFromGitHub {
+    owner = "Cubitect";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-F0c6gMQKu35iBNRw+wpoxSUOhRUbPRKIXSNDDNZsfPE=";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [
+    qtbase
+  ];
+
+  nativeBuildInputs = [
+    qmake
+    wrapQtAppsHook
+    copyDesktopItems
+  ];
+
+  desktopItems = [ (makeDesktopItem {
+    name = pname;
+    desktopName = "Cubiomes Viewer";
+    exec = pname;
+    icon = pname;
+    categories = "Game";
+    comment = meta.description;
+  }) ];
+
+  preBuild = ''
+    # QMAKE_PRE_LINK is not executed (I dont know why)
+    make -C ./cubiomes libcubiomes CFLAGS="-DSTRUCT_CONFIG_OVERRIDE=1" all
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp cubiomes-viewer $out/bin
+
+    mkdir -p $out/share/pixmaps
+    cp icons/map.png $out/share/pixmaps/cubiomes-viewer.png
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/Cubitect/cubiomes-viewer";
+    description = "A graphical Minecraft seed finder and map viewer";
+    longDescription = ''
+      Cubiomes Viewer provides a graphical interface for the efficient and flexible seed-finding
+      utilities provided by cubiomes and a map viewer for the Minecraft biomes and structure generation.
+    '';
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ hqurve ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/cubocore-packages/coreaction/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coreaction/default.nix
index f17730cc7e95..a3a8c1dcf6cf 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coreaction/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix
index 56a05bc434ec..7549ef20b112 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corefm/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corefm/default.nix
index 3ec918db7af9..a3314dface43 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corefm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coregarage/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coregarage/default.nix
index 719047c8de7b..f416f21c419a 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coregarage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corehunt/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corehunt/default.nix
index fb9bcd5e8ef4..7da5ebe081fd 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corehunt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coreimage/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coreimage/default.nix
index 224c946d1175..6078d04be7a7 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coreimage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix
index d8df86abd870..c5f7e49d4521 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corekeyboard/0001-fix-installPhase.patch b/nixpkgs/pkgs/applications/misc/cubocore-packages/corekeyboard/0001-fix-installPhase.patch
new file mode 100644
index 000000000000..084a650c610e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix
index 3d4e6ddc3010..5116f80f4cb2 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corepad/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corepad/default.nix
index fcd1bfa4a4ff..bdded6e8f1fe 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corepad/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corepaint/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corepaint/default.nix
index 6410da3ba607..228b0175a7d2 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corepaint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corepdf/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corepdf/default.nix
index bb93391c2af8..42f8fd0dd0fd 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corepdf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corepins/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corepins/default.nix
index 80d3a096ffe6..7b5ba0ad7a60 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corepins/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix
index f92d532ba4a5..e13485619d9a 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coreshot/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coreshot/default.nix
index bf9f5e49aea6..18d773e904bf 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coreshot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corestats/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corestats/default.nix
index a6d71eaa6cb6..ac3f7280aa76 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corestats/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corestuff/0001-fix-installPhase.patch b/nixpkgs/pkgs/applications/misc/cubocore-packages/corestuff/0001-fix-installPhase.patch
new file mode 100644
index 000000000000..d1db6a0a0a2e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/corestuff/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/corestuff/default.nix
index 57216f4710da..04c6d82d4b27 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/corestuff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix
index c2085686aab8..1203706a62e6 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coretime/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coretime/default.nix
index af33d474e350..41fe2698e4eb 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coretime/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch b/nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch
index 8a8b0ae40109..3c0c942ee43a 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix
index 154f4a389948..b72008cd43ad 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix
index 0a6ccaf72142..5e72458dad45 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/libcprime/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/libcprime/default.nix
index 00e297bf276a..f100a3a10403 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/libcprime/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/cubocore-packages/libcsys/default.nix b/nixpkgs/pkgs/applications/misc/cubocore-packages/libcsys/default.nix
index d1dde9942e92..395a40ddfc66 100644
--- a/nixpkgs/pkgs/applications/misc/cubocore-packages/libcsys/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/curabydagoma/default.nix b/nixpkgs/pkgs/applications/misc/curabydagoma/default.nix
deleted file mode 100644
index a8d041de1079..000000000000
--- a/nixpkgs/pkgs/applications/misc/curabydagoma/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{ stdenv, runtimeShell, lib, fetchurl, python2Packages, unzip }:
-
-# This package uses a precompiled "binary" distribution of CuraByDagoma,
-# distributed by the editor.
-#
-# To update the package, follow the links on https://dist.dagoma.fr/:
-# * Cura By Dagoma
-# * Linux
-# * 64 bits
-# * Genric archive
-#
-# I made the arbitrary choice to compile this package only for x86_64.
-# I guess people owning a 3D printer generally don't use i686.
-# If, however, someone needs it, we certainly can find a solution.
-
-let
-  pythonPackages = python2Packages;
-in stdenv.mkDerivation rec {
-  pname = "curabydagoma";
-  # Version is the date, UNIX format
-  version = "1520506579";
-  # Hash of the user's choice: os, arch, package type...
-  hash = "58228cce5bbdcf764b7116850956f1e5";
-
-  src = fetchurl {
-    url = "https://dist.dagoma.fr/get/zip/CuraByDagoma/${version}/${hash}";
-    sha256 = "16wfipdyjkf6dq8awjzs4zgkmqk6230277mf3iz8swday9hns8pq";
-  };
-  unpackCmd = "unzip $curSrc && tar zxf CuraByDagoma_amd64.tar.gz";
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ pythonPackages.python pythonPackages.pyopengl pythonPackages.wxPython pythonPackages.pyserial pythonPackages.numpy ];
-
-  # Compile all pyc files because the included pyc files may be older than the
-  # py files. However, Python doesn't realize that because the packages
-  # have all dates set to epoch.
-  buildPhase = ''
-    python -m compileall -f curabydago
-  '';
-
-  # * Simply copy the stuff there
-  # * Create an executable with the correct path etc
-  # * Create a .desktop file to have a launcher in the desktop environments
-  installPhase = ''
-    mkdir $out
-    cp -r * $out/
-
-    mkdir $out/bin
-    cat > $out/bin/curabydago <<EOF
-    #!${runtimeShell}
-    export PYTHONPATH=$PYTHONPATH
-    ${pythonPackages.python.interpreter} $out/curabydago/cura.py
-    EOF
-    chmod a+x $out/bin/curabydago
-
-    mkdir -p $out/share/applications
-    cat > $out/share/applications/curabydago.desktop <<EOF
-    [Desktop Entry]
-    Type=Application
-    Name=Cura-by-dagoma
-    Comment=CuraByDagoma is a fork of Legacy Cura made by Dagoma for its own printers.
-    Icon=$out/curabydago/resources/images/cura.ico
-    Exec=$out/bin/curabydago
-    Path=$out/
-    StartupNotify=true
-    Terminal=false
-    Categories=GNOME;GTK;Utility;
-    EOF
-
-  '';
-
-  meta = with lib; {
-    description = "Slicer for 3D printers built by Dagoma";
-    homepage = "https://dagoma.fr/cura-by-dagoma.html";
-    license = licenses.agpl3;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ tiramiseb ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/dasel/default.nix b/nixpkgs/pkgs/applications/misc/dasel/default.nix
index 870d3cceb0ba..1741e9086695 100644
--- a/nixpkgs/pkgs/applications/misc/dasel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dasel/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "091s3hyz9p892garanm9zmkbsn6hn3bnnrz7h3dqsyi58806d5yr";
   };
 
-  vendorSha256 = "1psyx8nqzpx3p1ya9y3q9h0hhfx4iqmix089b2h6bp9lgqbj5zn8";
+  vendorSha256 = "1y0k03lg9dh3bpi10xzv03h7gq7h0hgggs304p78p3jkr8pmkqss";
 
   ldflags = [
     "-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"
diff --git a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
index 3f62ffe7dfb4..43bcef4c8df6 100644
--- a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver";
-  version = "21.3.2"; # When updating also update fetchedMavenDeps.sha256
+  version = "21.3.4"; # When updating also update fetchedMavenDeps.sha256
 
   src = fetchFromGitHub {
     owner = "dbeaver";
     repo = "dbeaver";
     rev = version;
-    sha256 = "SifnnzuETFKtnEwLjJtB7CV2QZaToex3MjKGuiShlwo=";
+    sha256 = "sha256-n8QaOYFLQYxJcq/+7bBIKuYtqeIJIwa8b1pniH+FMXk=";
   };
 
   fetchedMavenDeps = stdenv.mkDerivation {
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     dontFixup = true;
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "grSFtkohTlLtK8qE4A4wVppC6UHcyaXRQlGnrOmQDC4=";
+    outputHash = "sha256-fJs/XM8PZqm/CrhShtcy4R/4s8dCc1WdXIvYSCYZ4dw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/ddcui/default.nix b/nixpkgs/pkgs/applications/misc/ddcui/default.nix
index ebc220e4029f..1e83a16659af 100644
--- a/nixpkgs/pkgs/applications/misc/ddcui/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/deco/default.nix b/nixpkgs/pkgs/applications/misc/deco/default.nix
index 2ea3483f1bac..b19f3f38dac7 100644
--- a/nixpkgs/pkgs/applications/misc/deco/default.nix
+++ b/nixpkgs/pkgs/applications/misc/deco/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deco";
-  version = "0.0.2";
+  version = "unstable-2019-04-03";
 
   src = fetchFromGitHub {
     owner = "ebzzry";
     repo = pname;
-    rev = "49cded5ad123b0169f47cd0dc0f5420f4b581837";
-    sha256 = "19rvqhw0blwga8ck86yy8hj7j1l9hriphlld6yrfd3yip4jprjzz";
+    rev = "dd8ec7905bc85d085eb2ee3bddabea451054288c";
+    sha256 = "sha256-/3GeNvWOCRPOYTUbodXDUxR5QVDEyx6x2Jt5PxsPdvk=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/misc/dmenu/default.nix b/nixpkgs/pkgs/applications/misc/dmenu/default.nix
index 42bc05998667..7c76b22dc99c 100644
--- a/nixpkgs/pkgs/applications/misc/dmenu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/dupeguru/default.nix b/nixpkgs/pkgs/applications/misc/dupeguru/default.nix
index 7612153fe563..6bc290809832 100644
--- a/nixpkgs/pkgs/applications/misc/dupeguru/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/edgetx/default.nix b/nixpkgs/pkgs/applications/misc/edgetx/default.nix
new file mode 100644
index 000000000000..4dfb5b6422fe
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/edgetx/default.nix
@@ -0,0 +1,47 @@
+{ lib, mkDerivation, fetchFromGitHub
+, cmake, gcc-arm-embedded, python3Packages
+, qtbase, qtmultimedia, qttranslations, SDL, gtest
+, dfu-util
+}:
+
+mkDerivation rec {
+  pname = "edgetx";
+  version = "2.6.0";
+
+  src = fetchFromGitHub {
+    owner = "EdgeTX";
+    repo = pname;
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-TffHFgr3g7v4VnNSSlLITz4cYjHM6wE0aI85W1g4IFA=";
+  };
+
+  nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow ];
+
+  buildInputs = [ qtbase qtmultimedia qttranslations SDL ];
+
+  postPatch = ''
+    sed -i companion/src/burnconfigdialog.cpp \
+      -e 's|/usr/.*bin/dfu-util|${dfu-util}/bin/dfu-util|'
+  '';
+
+  cmakeFlags = [
+    "-DGTEST_ROOT=${gtest.src}/googletest"
+    "-DQT_TRANSLATIONS_DIR=${qttranslations}/translations"
+    "-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util"
+  ];
+
+  meta = with lib; {
+    description = "EdgeTX Companion transmitter support software";
+    longDescription = ''
+      EdgeTX Companion is used for many different tasks like loading EdgeTX
+      firmware to the radio, backing up model settings, editing settings and
+      running radio simulators.
+    '';
+    homepage = "https://edgetx.org/";
+    license = licenses.gpl2Only;
+    platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ elitak lopsided98 wucke13 ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/applications/misc/electrum-grs/default.nix b/nixpkgs/pkgs/applications/misc/electrum-grs/default.nix
new file mode 100644
index 000000000000..412aec97ae58
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/electrum-grs/default.nix
@@ -0,0 +1,129 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, wrapQtAppsHook
+, python3
+, zbar
+, secp256k1
+, enableQt ? true
+}:
+
+let
+  version = "4.1.5";
+
+  libsecp256k1_name =
+    if stdenv.isLinux then "libsecp256k1.so.0"
+    else if stdenv.isDarwin then "libsecp256k1.0.dylib"
+    else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}";
+
+  libzbar_name =
+    if stdenv.isLinux then "libzbar.so.0"
+    else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
+
+  py = python3.override {
+    packageOverrides = self: super: {
+
+      aiorpcx = super.aiorpcx.overridePythonAttrs (oldAttrs: rec {
+        version = "0.18.7";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0";
+        };
+      });
+    };
+  };
+
+in
+
+python3.pkgs.buildPythonApplication {
+  pname = "electrum-grs";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "Groestlcoin";
+    repo = "electrum-grs";
+    rev = "v${version}";
+    sha256 = "0wvbjj80r1zxpz24adkicxsdjnv3nciga6rl1wfmky463w03rca2";
+  };
+
+  postPatch = ''
+    substituteInPlace contrib/requirements/requirements.txt \
+      --replace "dnspython>=2.0,<2.1" "dnspython>=2.0"
+  '';
+
+  nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
+
+  propagatedBuildInputs = with py.pkgs; [
+    aiohttp
+    aiohttp-socks
+    aiorpcx
+    attrs
+    bitstring
+    cryptography
+    dnspython
+    groestlcoin_hash
+    jsonrpclib-pelix
+    matplotlib
+    pbkdf2
+    protobuf
+    pysocks
+    qrcode
+    requests
+    tlslite-ng
+    # plugins
+    btchip
+    ckcc-protocol
+    keepkey
+    trezor
+  ] ++ lib.optionals enableQt [
+    pyqt5
+    qdarkstyle
+  ];
+
+  preBuild = ''
+    sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
+    substituteInPlace ./electrum_grs/ecc_fast.py \
+      --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
+  '' + (if enableQt then ''
+    substituteInPlace ./electrum_grs/qrscanner.py \
+      --replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
+  '' else ''
+    sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
+  '');
+
+  postInstall = lib.optionalString stdenv.isLinux ''
+    # Despite setting usr_share above, these files are installed under $out/nix ...
+    mv $out/${python3.sitePackages}/nix/store/*/share $out
+    rm -rf $out/${python3.sitePackages}/nix
+
+    substituteInPlace $out/share/applications/electrum-grs.desktop \
+      --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs %u"' \
+                "Exec=$out/bin/electrum-grs %u" \
+      --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs --testnet %u"' \
+                "Exec=$out/bin/electrum-grs --testnet %u"
+
+  '';
+
+  postFixup = lib.optionalString enableQt ''
+    wrapQtApp $out/bin/electrum-grs
+  '';
+
+  postCheck = ''
+    $out/bin/electrum-grs help >/dev/null
+  '';
+
+  meta = with lib; {
+    description = "Lightweight Groestlcoin wallet";
+    longDescription = ''
+      An easy-to-use Groestlcoin client featuring wallets generated from
+      mnemonic seeds (in addition to other, more advanced, wallet options)
+      and the ability to perform transactions without downloading a copy
+      of the blockchain.
+    '';
+    homepage = "https://groestlcoin.org/";
+    downloadPage = "https://github.com/Groestlcoin/electrum-grs/releases/tag/v{version}";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ gruve-p ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/electrum/default.nix b/nixpkgs/pkgs/applications/misc/electrum/default.nix
index 841b943e8634..29a129192960 100644
--- a/nixpkgs/pkgs/applications/misc/electrum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/electrum/default.nix
@@ -74,9 +74,14 @@ python3.pkgs.buildPythonApplication {
     cp -ar ${tests} $sourceRoot/electrum/tests
   '';
 
-  prePatch = ''
+  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/nixpkgs/pkgs/applications/misc/electrum/ltc.nix b/nixpkgs/pkgs/applications/misc/electrum/ltc.nix
index a070bc321b74..416adbe60c88 100644
--- a/nixpkgs/pkgs/applications/misc/electrum/ltc.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix b/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix
index 3acb493c1c04..aa290632748e 100644
--- a/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix
+++ b/nixpkgs/pkgs/applications/misc/etesync-dav/default.nix
@@ -1,20 +1,36 @@
-{ lib, stdenv, python3Packages, radicale3 }:
+{ lib
+, stdenv
+, python3
+, radicale3
+}:
 
-python3Packages.buildPythonApplication rec {
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      flask_wtf = super.flask_wtf.overridePythonAttrs (old: rec {
+        version = "0.15.1";
+        src = old.src.override {
+          inherit version;
+          sha256 = "ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc";
+        };
+      });
+    };
+  };
+in python.pkgs.buildPythonApplication rec {
   pname = "etesync-dav";
-  version = "0.30.8";
+  version = "0.32.1";
 
-  src = python3Packages.fetchPypi {
+  src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HBLQsq3B6TMdcnUt8ukbk3+S0Ed44+gePkpuGZ2AyC4=";
+    sha256 = "a4e2ee83932755d29ac39c1e74005ec289880fd2d4d2164f09fe2464a294d720";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with python.pkgs; [
     etebase
     etesync
     flask
     flask_wtf
-    radicale3
+    (python.pkgs.toPythonModule (radicale3.override { python3 = python; }))
   ];
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/misc/eureka-editor/default.nix b/nixpkgs/pkgs/applications/misc/eureka-editor/default.nix
index 2e70beb6173c..8828b6e38e18 100644
--- a/nixpkgs/pkgs/applications/misc/eureka-editor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/expenses/default.nix b/nixpkgs/pkgs/applications/misc/expenses/default.nix
index 052a7905f5b3..e838bd3eda2a 100644
--- a/nixpkgs/pkgs/applications/misc/expenses/default.nix
+++ b/nixpkgs/pkgs/applications/misc/expenses/default.nix
@@ -1,32 +1,41 @@
 { lib
-
 , buildGoModule
 , fetchFromGitHub
 , sqlite
+, installShellFiles
 }:
 
 buildGoModule rec {
   pname = "expenses";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "manojkarthick";
     repo = "expenses";
     rev = "v${version}";
-    sha256 = "sha256-CaIbLtP7ziv9UBQE+QsNnqX65OV+6GIvkLwKm1G++iY=";
+    sha256 = "sha256-sqsogF2swMvYZL7Kj+ealrB1AAgIe7ZXXDLRdHL6Q+0=";
   };
 
-  vendorSha256 = "sha256-NWTFxF4QCH1q1xx+hmVmpvDeOlqH5Ai2+0ParE5px9M=";
+  vendorSha256 = "sha256-rIcwZUOi6bdfiWZEsRF4kl1reNPPQNuBPHDOo7RQgYo=";
 
-  # package does not contain any tests as of v0.2.2
+  # package does not contain any tests as of v0.2.3
   doCheck = false;
 
+  nativeBuildInputs = [ installShellFiles ];
+
   buildInputs = [ sqlite ];
 
   ldflags = [
     "-s" "-w" "-X github.com/manojkarthick/expenses/cmd.Version=${version}"
   ];
 
+  postInstall = ''
+    installShellCompletion --cmd expenses \
+      --bash <($out/bin/expenses completion bash) \
+      --zsh <($out/bin/expenses completion zsh) \
+      --fish <($out/bin/expenses completion fish)
+  '';
+
   meta = with lib; {
    description = "An interactive command line expense logger";
    license = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/misc/far2l/default.nix b/nixpkgs/pkgs/applications/misc/far2l/default.nix
index 3e74d04c5128..05918b6af39c 100644
--- a/nixpkgs/pkgs/applications/misc/far2l/default.nix
+++ b/nixpkgs/pkgs/applications/misc/far2l/default.nix
@@ -1,79 +1,79 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, cmake, pkg-config, wxGTK30, glib, pcre, m4, bash
-, xdg-utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick
-, libuchardet, spdlog, xercesc, openssl, libssh, samba, neon, libnfs, libarchive }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, cmake, ninja, pkg-config, m4, bash
+, xdg-utils, zip, unzip, gzip, bzip2, gnutar, p7zip, xz
+, IOKit, Carbon, Cocoa, AudioToolbox, OpenGL
+, withTTYX ? true, libX11
+, withGUI ? true, wxGTK30, wxmac
+, withUCD ? true, libuchardet
 
+# Plugins
+, withColorer ? true, spdlog, xercesc
+, withMultiArc ? true, libarchive, pcre
+, withNetRocks ? true, openssl, libssh, samba, libnfs, neon
+, withPython ? false, python3Packages
+}:
+
+let
+  wxWidgets = (if stdenv.isDarwin then wxmac else wxGTK30);
+in
 stdenv.mkDerivation rec {
   pname = "far2l";
-  version = "2020-12-30.git${builtins.substring 0 7 src.rev}";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "elfmz";
     repo = "far2l";
-    rev = "52c1372441443aafd1a7dff6f17969a6ec19885d";
-    sha256 = "0s7427fgxzj5zkyy6mhb4y5hqa6adsr30m0bigycp12b0495ryx0";
+    rev = "v_${version}";
+    sha256 = "sha256-nfoAElPLQ97lj65MBX4JMEdgTFbkdEbR1BazYZgV/lg=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config m4 makeWrapper imagemagick ];
+  patches = [ ./python_prebuild.patch ];
+
+  nativeBuildInputs = [ cmake ninja pkg-config m4 makeWrapper ];
 
-  buildInputs = [ wxGTK30 glib pcre libuchardet spdlog xercesc ] # base requirements of the build
-    ++ [ openssl libssh samba neon libnfs libarchive ]; # optional feature packages, like protocol support for Network panel, or archive formats
-    #++ lib.optional stdenv.isDarwin Cocoa # Mac support -- disabled, see "meta.broken" below
+  buildInputs = lib.optional withTTYX libX11
+    ++ lib.optional withGUI wxWidgets
+    ++ lib.optional withUCD libuchardet
+    ++ lib.optionals withColorer [ spdlog xercesc ]
+    ++ lib.optionals withMultiArc [ libarchive pcre ]
+    ++ lib.optionals withNetRocks [ openssl libssh libnfs neon ]
+    ++ lib.optional (withNetRocks && !stdenv.isDarwin) samba # broken on darwin
+    ++ lib.optionals withPython (with python3Packages; [ python cffi debugpy pcpp ])
+    ++ lib.optionals stdenv.isDarwin [ IOKit Carbon Cocoa AudioToolbox OpenGL ];
 
-  postPatch = lib.optionalString stdenv.isLinux ''
-    substituteInPlace far2l/bootstrap/trash.sh \
-      --replace 'gvfs-trash'  '${gvfs}/bin/gvfs-trash'
+  postPatch = ''
+    patchShebangs python/src/prebuild.sh
+    substituteInPlace far2l/src/vt/vtcompletor.cpp \
+      --replace '"/bin/bash"' '"${bash}/bin/bash"'
+    substituteInPlace far2l/src/cfg/config.cpp \
+      --replace '"/bin/bash"' '"${bash}/bin/bash"'
   '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace far2l/CMakeLists.txt \
+    substituteInPlace WinPort/src/Backend/WX/CMakeLists.txt \
       --replace "-framework System" -lSystem
-  '' + ''
-    echo 'echo ${version}' > far2l/bootstrap/scripts/vbuild.sh
-    substituteInPlace far2l/bootstrap/open.sh              \
-      --replace 'xdg-open'    '${xdg-utils}/bin/xdg-open'
-    substituteInPlace far2l/vtcompletor.cpp                \
-      --replace '"/bin/bash"' '"${bash}/bin/bash"'
-    substituteInPlace multiarc/src/formats/zip/zip.cpp     \
-      --replace '"unzip '     '"${unzip}/bin/unzip '       \
-      --replace '"zip '       '"${zip}/bin/zip '
-    substituteInPlace multiarc/src/formats/7z/7z.cpp       \
-      --replace '"^7z '       '"^${p7zip}/lib/p7zip/7z '   \
-      --replace '"7z '        '"${p7zip}/lib/p7zip/7z '
-    substituteInPlace multiarc/src/formats/targz/targz.cpp \
-      --replace '"xz '        '"${xz}/bin/xz '             \
-      --replace '"gzip '      '"${gzip}/bin/gzip '         \
-      --replace '"bzip2 '     '"${bzip2}/bin/bzip2 '       \
-      --replace '"tar '       '"${gnutar}/bin/tar '
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin $out/share/applications $out/share/icons/hicolor/scalable/apps
-    cp -dpR install $out/share/far2l
-    mv $out/share/far2l/far2l $out/bin/
-    ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_askpass
-    ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_sudoapp
+  cmakeFlags = lib.mapAttrsToList (k: v: "-D${k}=${if v then "yes" else "no"}") {
+    TTYX = withTTYX;
+    USEWX = withGUI;
+    USEUCD = withUCD;
+    COLORER = withColorer;
+    MULTIARC = withMultiArc;
+    NETROCKS = withNetRocks;
+    PYTHON = withPython;
+  };
 
-    cp ../far2l/DE/far2l.desktop $out/share/applications/far2l.desktop
-    substituteInPlace $out/share/applications/far2l.desktop --replace \''${CMAKE_INSTALL_PREFIX} "$out"
+  runtimeDeps = [ unzip zip p7zip xz gzip bzip2 gnutar xdg-utils ];
 
-    cp ../far2l/DE/icons/hicolor/1024x1024/apps/far2l.svg $out/share/icons/hicolor/scalable/apps/
-    convert -size 128x128 ../far2l/DE/icons/far2l.svg $out/share/icons/far2l.png
-    for size in 16x16 24x24 32x32 48x48 64x64 72x72 96x96 128x128 192x192 256x256 512x512 1024x1024; do
-      mkdir -p $out/share/icons/hicolor/$size/apps
-      convert -size $size ../far2l/DE/icons/hicolor/$size/apps/far2l.svg $out/share/icons/hicolor/$size/apps/far2l.png
-    done
-  '' + lib.optionalString stdenv.isDarwin ''
-    wrapProgram $out/bin/far2l --argv0 $out/bin/far2l
+  postInstall = ''
+    wrapProgram $out/bin/far2l \
+      --argv0 $out/bin/far2l \
+      --prefix PATH : ${lib.makeBinPath runtimeDeps}
   '';
 
-  stripDebugList = [ "bin" "share" ];
-
   meta = with lib; {
     description = "Linux port of FAR Manager v2, a program for managing files and archives in Windows operating systems";
     homepage = "https://github.com/elfmz/far2l";
     license = licenses.gpl2Plus; # NOTE: might change in far2l repo soon, check next time
     maintainers = with maintainers; [ volth hypersw ];
-    platforms = platforms.all;
-    # fails to compile with:
-    # error: no member named 'st_ctim' in 'stat'
-    broken = stdenv.isDarwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/far2l/python_prebuild.patch b/nixpkgs/pkgs/applications/misc/far2l/python_prebuild.patch
new file mode 100644
index 000000000000..87762da52e05
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/far2l/python_prebuild.patch
@@ -0,0 +1,20 @@
+diff --git i/python/src/prebuild.sh w/python/src/prebuild.sh
+index d2847ee5..aa1ecc53 100755
+--- i/python/src/prebuild.sh
++++ w/python/src/prebuild.sh
+@@ -12,9 +12,6 @@ mkdir -p "$DST/incpy"
+ if [ ! -f "$DST/python/.prepared" ]; then
+ 	echo "Preparing python virtual env at $DST/python using $PYTHON"
+ 	mkdir -p "$DST/python"
+-	$PYTHON -m venv --system-site-packages "$DST/python"
+-	"$DST/python/bin/python" -m pip install --upgrade pip || true
+-	"$DST/python/bin/python" -m pip install --ignore-installed cffi debugpy pcpp
+ 	$PREPROCESSOR "$SRC/python/src/consts.gen" | sh > "${DST}/incpy/consts.h"
+ 
+ 	echo "1" > "$DST/python/.prepared"
+@@ -26,4 +23,4 @@ cp -f -R \
+ 	"$SRC/python/configs/plug/far2l/"* \
+ 	"$DST/incpy/"
+ 
+-"$DST/python/bin/python" "$SRC/python/src/pythongen.py" "${SRC}" "${DST}/incpy"
++"python" "$SRC/python/src/pythongen.py" "${SRC}" "${DST}/incpy"
diff --git a/nixpkgs/pkgs/applications/misc/feedbackd/default.nix b/nixpkgs/pkgs/applications/misc/feedbackd/default.nix
index 4cdf3399135a..21b92f3823ec 100644
--- a/nixpkgs/pkgs/applications/misc/feedbackd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/fetchmail/default.nix b/nixpkgs/pkgs/applications/misc/fetchmail/default.nix
index 3a5ec81e9835..1f67c40561f5 100644
--- a/nixpkgs/pkgs/applications/misc/fetchmail/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix b/nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix
new file mode 100644
index 000000000000..2ae01332b9fa
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix
@@ -0,0 +1,34 @@
+{ lib, fetchurl, appimageTools }:
+
+let
+  pname = "firefly-desktop";
+  version = "1.2.0";
+  src = fetchurl {
+    url = "https://github.com/iotaledger/firefly/releases/download/desktop-${version}/${pname}-${version}.AppImage";
+    sha256 = "f3162efcf0407614fd1351af50e95ef180400b747a5cc6b82bc840828a15548d";
+  };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
+
+in appimageTools.wrapType2 {
+  inherit pname version src;
+
+  extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ];
+
+  extraInstallCommands = ''
+    mkdir -p $out/share/applications $out/share/pixmaps
+    mv $out/bin/${pname}-${version} $out/bin/firefly-desktop
+    cp ${appimageContents}/desktop.desktop $out/share/applications/firefly-desktop.desktop
+    substituteInPlace $out/share/applications/firefly-desktop.desktop \
+      --replace 'Exec=AppRun' 'Exec=firefly-desktop' \
+      --replace 'Icon=desktop' 'Icon=firefly-desktop'
+    cp ${appimageContents}/desktop.png $out/share/pixmaps/firefly-desktop.png
+  '';
+
+  meta = with lib; {
+    description = "IOTA's New Wallet";
+    homepage = "https://firefly.iota.org";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wolfangaukang ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/fme/default.nix b/nixpkgs/pkgs/applications/misc/fme/default.nix
deleted file mode 100644
index 03a9f875a793..000000000000
--- a/nixpkgs/pkgs/applications/misc/fme/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, autoconf
-, automake
-, bc
-, fluxbox
-, gettext
-, glibmm
-, gtkmm2
-, libglademm
-, libsigcxx
-, pkg-config
-}:
-
-stdenv.mkDerivation rec {
-  pname = "fme";
-  version = "1.1.3";
-
-  src = fetchFromGitHub {
-    owner = "rdehouss";
-    repo = "fme";
-    rev = "v${version}";
-    sha256 = "sha256-P67OmExBdWM6NZhDyYceVJOZiy8RC+njk/QvgQcWZeQ=";
-  };
-
-  nativeBuildInputs = [
-    autoconf
-    automake
-    gettext
-    pkg-config
-  ];
-  buildInputs = [
-    bc
-    fluxbox
-    glibmm
-    gtkmm2
-    libglademm
-    libsigcxx
-  ];
-
-  preConfigure = ''
-    ./autogen.sh
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/rdehouss/fme/";
-    description = "Editor for Fluxbox menus";
-    longDescription = ''
-      Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox
-      written in C++ with the libraries Gtkmm, Glibmm, libglademm and gettext
-      for internationalization.  Its user-friendly interface will help you to
-      edit, delete, move (Drag and Drop) a row, a submenu, etc very easily.
-    '';
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/fnott/default.nix b/nixpkgs/pkgs/applications/misc/fnott/default.nix
index 93886b3a2c21..9c6d95b319cc 100644
--- a/nixpkgs/pkgs/applications/misc/fnott/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fnott/default.nix
@@ -19,14 +19,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fnott";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fnott";
     rev = version;
-    sha256 = "sha256-+x3uN7Uj0fqO0kpHlOVnsshgEJA1z/6ZElKSTyLzfG4=";
+    sha256 = "1qmxzpv2xy79aznzzr9fay61mzf1pdzv85ah3w3q2kl2i7pskfxb";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/free42/default.nix b/nixpkgs/pkgs/applications/misc/free42/default.nix
index a303e26d8e0c..14351990e72b 100644
--- a/nixpkgs/pkgs/applications/misc/free42/default.nix
+++ b/nixpkgs/pkgs/applications/misc/free42/default.nix
@@ -10,17 +10,24 @@
 
 stdenv.mkDerivation rec {
   pname = "free42";
-  version = "3.0.8";
+  version = "3.0.9";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nZCuFumAyeUxRmmtd6/qvXk3LVZgbDhlsDygXMWDfp0=";
+    hash = "sha256-ZSwqgHsfe9apyYZ1fkvDMnQxdNb9E8U1l9jvC9t693w=";
   };
 
-  nativeBuildInputs = [ copyDesktopItems pkg-config ];
-  buildInputs = [ gtk3 alsa-lib ];
+  nativeBuildInputs = [
+    copyDesktopItems
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    gtk3
+  ];
 
   postPatch = ''
     sed -i -e "s|/bin/ls|ls|" gtk/Makefile
@@ -30,23 +37,24 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     runHook preBuild
+
     make -C gtk cleaner
     make --jobs=$NIX_BUILD_CORES -C gtk
     make -C gtk clean
     make --jobs=$NIX_BUILD_CORES -C gtk BCD_MATH=1
+
     runHook postBuild
   '';
 
-  preInstall = ''
+  installPhase = ''
+    runHook preInstall
+
     install --directory $out/bin \
                         $out/share/doc/${pname} \
                         $out/share/${pname}/skins \
                         $out/share/icons/hicolor/48x48/apps \
                         $out/share/icons/hicolor/128x128/apps
-  '';
 
-  installPhase = ''
-    runHook preInstall
     install -m755 gtk/free42dec gtk/free42bin $out/bin
     install -m644 gtk/README $out/share/doc/${pname}/README-GTK
     install -m644 README $out/share/doc/${pname}/README
@@ -54,6 +62,7 @@ stdenv.mkDerivation rec {
     install -m644 gtk/icon-48x48.xpm $out/share/icons/hicolor/48x48/apps
     install -m644 gtk/icon-128x128.xpm $out/share/icons/hicolor/128x128/apps
     install -m644 skins/* $out/share/${pname}/skins
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/applications/misc/fslint/default.nix b/nixpkgs/pkgs/applications/misc/fslint/default.nix
deleted file mode 100644
index 1f2ec2805490..000000000000
--- a/nixpkgs/pkgs/applications/misc/fslint/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python2, makeWrapper }:
-
-let pythonEnv = python2.withPackages(ps: [ ps.pyGtkGlade]);
-in stdenv.mkDerivation rec {
-  pname   = "fslint";
-  version = "2.46";
-
-  src = fetchFromGitHub {
-    owner  = "pixelb";
-    repo   = "fslint";
-    rev    = version;
-    sha256 = "048pc1rsslbsrfchl2wmdd4hpa2gycglib7kdx8vqs947zcm0sfv";
-  };
-
-  buildInputs = [
-    pythonEnv makeWrapper
-  ];
-
-  prePatch = ''
-    substituteInPlace fslint-gui --replace "liblocation=os.path.dirname(os.path.abspath(sys.argv[0]))" "liblocation='$out'"
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    cp * -R $out/
-    cp fslint-gui $out/bin/fslint
-
-    wrapProgram "$out/bin/fslint" \
-      --prefix PYTHONPATH : "${pythonEnv.interpreter}"
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "A utility to find and clean various forms of lint on a filesystem";
-    homepage = "https://www.pixelbeat.org/fslint/";
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.dasj19 ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/fuzzel/default.nix b/nixpkgs/pkgs/applications/misc/fuzzel/default.nix
index dbc66458a315..5668006dfd3f 100644
--- a/nixpkgs/pkgs/applications/misc/fuzzel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fuzzel/default.nix
@@ -23,14 +23,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fuzzel";
-  version = "1.6.5";
+  version = "1.7.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fuzzel";
     rev = version;
-    sha256 = "SWt46YSXI6Dsv0ed3H4sN8kbEzQDL4U6jxFSbMyspJ0=";
+    sha256 = "1261gwxiky37pvzmmbrpml1psa22kkglb141ybj1fbnwg6j7jvlf";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/gImageReader/default.nix b/nixpkgs/pkgs/applications/misc/gImageReader/default.nix
index 2e1afa8053b9..f570a044309e 100644
--- a/nixpkgs/pkgs/applications/misc/gImageReader/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
index 43ce94d5bfc4..ed0e3e72be2d 100644
--- a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.19.3";
+  version = "1.20.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db3973a17f1074e4f4cb99b635b94c1926bdd549263e1df909498f3c6aa93484";
+    sha256 = "sha256-UJAoxRybEYxQY+7l/szSj9fy1J552yaxF3MdaEmDiQQ=";
   };
 
   propagatedBuildInputs = [ requests yt-dlp ];
diff --git a/nixpkgs/pkgs/applications/misc/girara/default.nix b/nixpkgs/pkgs/applications/misc/girara/default.nix
index 802c1532979b..02f0a09e0df1 100644
--- a/nixpkgs/pkgs/applications/misc/girara/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/gksu/default.nix b/nixpkgs/pkgs/applications/misc/gksu/default.nix
deleted file mode 100644
index c1a4ea2b6789..000000000000
--- a/nixpkgs/pkgs/applications/misc/gksu/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, gnome2, gnome, libgksu,
-  intltool, libstartup_notification, gtk-doc, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  version = "2.0.2";
-  pname = "gksu";
-
-  src = fetchurl {
-    url = "http://people.debian.org/~kov/gksu/${pname}-${version}.tar.gz";
-    sha256 = "0npfanlh28daapkg25q4fncxd89rjhvid5fwzjaw324x0g53vpm1";
-  };
-
-  nativeBuildInputs = [
-    pkg-config intltool gtk-doc wrapGAppsHook
-  ];
-
-  buildInputs = [
-    gtk2 gnome2.GConf libstartup_notification gnome.libgnome-keyring
-  ];
-
-  propagatedBuildInputs = [
-    libgksu
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  patches = [
-    # https://savannah.nongnu.org/bugs/index.php?36127
-    ./gksu-2.0.2-glib-2.31.patch
-  ];
-
-  postPatch = ''
-    sed -i -e 's|/usr/bin/x-terminal-emulator|-l gnome-terminal|g' gksu.desktop
-  '';
-
-  configureFlags = [ "--disable-nautilus-extension" ];
-
-  meta = {
-    description = "A graphical frontend for libgksu";
-    longDescription = ''
-      GKSu is a library that provides a GTK frontend to su and sudo.
-      It supports login shells and preserving environment when acting as
-      a su frontend. It is useful to menu items or other graphical
-      programs that need to ask a user's password to run another program
-      as another user.
-    '';
-    homepage = "https://www.nongnu.org/gksu/";
-    license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.romildo ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch b/nixpkgs/pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch
deleted file mode 100644
index fd711a321acf..000000000000
--- a/nixpkgs/pkgs/applications/misc/gksu/gksu-2.0.2-glib-2.31.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 10c7e67e11a56e2fe1acf9b085772bc995d35bc0 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Sat, 7 Apr 2012 17:57:36 -0400
-Subject: [PATCH] Fix glib includes for building with >=glib-2.31
-
-glib-2.31 and newer no longer allow most glib subheaders to be included
-directly.
-
-https://savannah.nongnu.org/bugs/index.php?36127
----
- nautilus-gksu/libnautilus-gksu.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/nautilus-gksu/libnautilus-gksu.c b/nautilus-gksu/libnautilus-gksu.c
-index 8e44d29..4acf3f8 100644
---- a/nautilus-gksu/libnautilus-gksu.c
-+++ b/nautilus-gksu/libnautilus-gksu.c
-@@ -5,7 +5,7 @@
- #include <string.h>
- #include <pthread.h>
- 
--#include <glib/gkeyfile.h>
-+#include <glib.h>
- #include <gtk/gtk.h>
- #include <gio/gio.h>
- #include <libnautilus-extension/nautilus-extension-types.h>
--- 
-1.7.8.5
-
diff --git a/nixpkgs/pkgs/applications/misc/globe-cli/default.nix b/nixpkgs/pkgs/applications/misc/globe-cli/default.nix
new file mode 100644
index 000000000000..e7ec63f97844
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/gnome-passwordsafe/default.nix b/nixpkgs/pkgs/applications/misc/gnome-secrets/default.nix
index e7a413e63b46..00e55b9e7a8b 100644
--- a/nixpkgs/pkgs/applications/misc/gnome-passwordsafe/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gnome-secrets/default.nix
@@ -5,19 +5,19 @@
 , gettext
 , fetchFromGitLab
 , python3Packages
-, libhandy
 , libpwquality
-, wrapGAppsHook
-, gtk3
+, wrapGAppsHook4
+, gtk4
 , glib
 , gdk-pixbuf
 , gobject-introspection
 , desktop-file-utils
-, appstream-glib }:
+, appstream-glib
+, libadwaita }:
 
 python3Packages.buildPythonApplication rec {
-  pname = "gnome-passwordsafe";
-  version = "5.1";
+  pname = "gnome-secrets";
+  version = "6.1";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
@@ -26,7 +26,7 @@ python3Packages.buildPythonApplication rec {
     owner = "World";
     repo = "secrets";
     rev = version;
-    sha256 = "sha256-RgpkLoqhwCdaPZxC1Qe0MpLtYLevNCOxbvwEEI0cpE0=";
+    sha256 = "sha256-TBGNiiR0GW8s/Efi4/Qqvwd87Ir0gCLGPfBmmqqSwQ8=";
   };
 
   nativeBuildInputs = [
@@ -34,27 +34,39 @@ python3Packages.buildPythonApplication rec {
     ninja
     gettext
     pkg-config
-    wrapGAppsHook
+    wrapGAppsHook4
     desktop-file-utils
     appstream-glib
     gobject-introspection
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     glib
     gdk-pixbuf
-    libhandy
+    libadwaita
   ];
 
   propagatedBuildInputs = with python3Packages; [
     pygobject3
     construct
     pykeepass
+    pyotp
   ] ++ [
     libpwquality # using the python bindings
   ];
 
+  postPatch = ''
+    substituteInPlace meson_post_install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache";
+  '';
+
+  # Prevent double wrapping, let the Python wrapper use the args in preFixup.
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     broken = stdenv.hostPlatform.isStatic; # libpwquality doesn't provide bindings when static
     description = "Password manager for GNOME which makes use of the KeePass v.4 format";
diff --git a/nixpkgs/pkgs/applications/misc/golden-cheetah/0001-Fix-building-with-bison-3.7.patch b/nixpkgs/pkgs/applications/misc/golden-cheetah/0001-Fix-building-with-bison-3.7.patch
new file mode 100644
index 000000000000..f8f725f7f680
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/golden-cheetah/0001-Fix-building-with-bison-3.7.patch
@@ -0,0 +1,63 @@
+From 8befa137776786829508f23dd33ab37e2b95a895 Mon Sep 17 00:00:00 2001
+From: Poncho <poncho@spahan.ch>
+Date: Mon, 7 Sep 2020 09:39:49 +0200
+Subject: [PATCH] Fix building with bison 3.7
+
+Bison 3.7 changes how header files are included [1][2], in that instead of
+copying and inserting the contents of a file, the file itself is included
+(by default as '"basename.h"').
+
+[1] https://lists.gnu.org/archive/html/info-gnu/2020-07/msg00006.html
+[2] https://www.gnu.org/software/bison/manual/html_node/_0025define-Summary.html
+
+Close: https://github.com/GoldenCheetah/GoldenCheetah/issues/3586
+---
+ src/Core/DataFilter.y     | 3 +++
+ src/Core/RideDB.y         | 2 ++
+ src/FileIO/JsonRideFile.y | 3 +++
+ 3 files changed, 8 insertions(+)
+
+diff --git a/src/Core/DataFilter.y b/src/Core/DataFilter.y
+index 7c5e481b0..142e80a5c 100644
+--- a/src/Core/DataFilter.y
++++ b/src/Core/DataFilter.y
+@@ -49,6 +49,9 @@ extern Leaf *DataFilterroot; // root node for parsed statement
+ 
+ %}
+ 
++// generated by the scanner
++%define api.header.include {"DataFilter_yacc.h"}
++
+ // Symbol can be meta or metric name
+ %token <leaf> SYMBOL PYTHON
+ 
+diff --git a/src/Core/RideDB.y b/src/Core/RideDB.y
+index d6da086bd..f2001e23c 100644
+--- a/src/Core/RideDB.y
++++ b/src/Core/RideDB.y
+@@ -40,6 +40,8 @@ void RideDBerror(void*jc, const char *error) // used by parser aka yyerror()
+ #define scanner jc->scanner
+ 
+ %}
++// generated by the scanner
++%define api.header.include {"RideDB_yacc.h"}
+ 
+ %pure-parser
+ %lex-param { void *scanner }
+diff --git a/src/FileIO/JsonRideFile.y b/src/FileIO/JsonRideFile.y
+index 2cbbef9fc..d5c77a779 100644
+--- a/src/FileIO/JsonRideFile.y
++++ b/src/FileIO/JsonRideFile.y
+@@ -106,6 +106,9 @@ static QString protect(const QString string)
+ 
+ %}
+ 
++// generated by the scanner
++%define api.header.include {"JsonRideFile_yacc.h"}
++
+ %pure-parser
+ %lex-param { void *scanner }
+ %parse-param { struct JsonContext *jc }
+-- 
+2.34.1
+
diff --git a/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix b/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
index 4f411f105ce9..b2a858d8d3e9 100644
--- a/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
@@ -26,18 +26,26 @@ in mkDerivation rec {
   };
 
   buildInputs = [
-    qtbase qtsvg qtserialport qtwebengine qtmultimedia qttools zlib
-    qtconnectivity qtcharts libusb-compat-0_1 gsl blas
+    qtbase
+    qtsvg
+    qtserialport
+    qtwebengine
+    qtmultimedia
+    qttools
+    zlib
+    qtconnectivity
+    qtcharts
+    libusb-compat-0_1
+    gsl
+    blas
   ];
   nativeBuildInputs = [ flex makeWrapper qmake bison ];
 
   patches = [
     # allow building with bison 3.7
-    # PR at https://github.com/GoldenCheetah/GoldenCheetah/pull/3590
-    (fetchpatch {
-      url = "https://github.com/GoldenCheetah/GoldenCheetah/commit/e1f42f8b3340eb4695ad73be764332e75b7bce90.patch";
-      sha256 = "1h0y9vfji5jngqcpzxna5nnawxs77i1lrj44w8a72j0ah0sznivb";
-    })
+    # Included in https://github.com/GoldenCheetah/GoldenCheetah/pull/3590,
+    # which is periodically rebased but pre 3.6 release, as it'll break other CI systems
+    ./0001-Fix-building-with-bison-3.7.patch
   ];
 
   NIX_LDFLAGS = "-lz -lgsl -lblas";
diff --git a/nixpkgs/pkgs/applications/misc/googleearth/default.nix b/nixpkgs/pkgs/applications/misc/googleearth/default.nix
deleted file mode 100644
index edf1fc54ba9f..000000000000
--- a/nixpkgs/pkgs/applications/misc/googleearth/default.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-{ lib, stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv
-, libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11
-, zlib, fontconfig, dpkg, libproxy, libxml2, gst_all_1, dbus }:
-
-let
-  arch =
-    if stdenv.hostPlatform.system == "x86_64-linux" then "amd64"
-    else if stdenv.hostPlatform.system == "i686-linux" then "i386"
-    else throw "Unsupported system ${stdenv.hostPlatform.system}";
-  sha256 =
-    if arch == "amd64"
-    then "0dwnppn5snl5bwkdrgj4cyylnhngi0g66fn2k41j3dvis83x24k6"
-    else "0gndbxrj3kgc2dhjqwjifr3cl85hgpm695z0wi01wvwzhrjqs0l2";
-  version = "7.1.8.3036";
-  fullPath = lib.makeLibraryPath [
-    glibc
-    glib
-    stdenv.cc.cc
-    libSM
-    libICE
-    libXi
-    libXv
-    libGLU libGL
-    libXrender
-    libXrandr
-    libXfixes
-    libXcursor
-    libXinerama
-    freetype
-    libXext
-    libX11
-    zlib
-    fontconfig
-    libproxy
-    libxml2
-    dbus
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-  ];
-in
-stdenv.mkDerivation rec {
-  pname = "googleearth";
-  inherit version;
-  src = fetchurl {
-    url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-stable/google-earth-stable_${version}-r0_${arch}.deb";
-    inherit sha256;
-  };
-
-  phases = [ "unpackPhase" "installPhase" "checkPhase" ];
-
-  doCheck = true;
-
-  buildInputs = [ dpkg ];
-
-  unpackPhase = ''
-    dpkg-deb -x ${src} ./
-  '';
-
-  installPhase =''
-    mkdir $out
-    mv usr/* $out/
-    rmdir usr
-    mv * $out/
-    rm $out/bin/google-earth $out/opt/google/earth/free/googleearth
-
-    # patch and link googleearth binary
-    ln -s $out/opt/google/earth/free/googleearth-bin $out/bin/googleearth
-    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${fullPath}:\$ORIGIN" \
-      $out/opt/google/earth/free/googleearth-bin
-
-    # patch and link gpsbabel binary
-    ln -s $out/opt/google/earth/free/gpsbabel $out/bin/gpsbabel
-    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${fullPath}:\$ORIGIN" \
-      $out/opt/google/earth/free/gpsbabel
-
-    # patch libraries
-    for a in $out/opt/google/earth/free/*.so* ; do
-      patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
-    done
-
-    # Add desktop config file and icons
-    mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps}
-    ln -s $out/opt/google/earth/free/google-earth.desktop $out/share/applications/google-earth.desktop
-    sed -i -e "s|Exec=.*|Exec=$out/bin/googleearth|g" $out/opt/google/earth/free/google-earth.desktop
-    for size in 16 22 24 32 48 64 128 256; do
-      ln -s $out/opt/google/earth/free/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth.png
-    done
-    ln -s $out/opt/google/earth/free/product_logo_256.png $out/share/pixmaps/google-earth.png
-  '';
-
-  checkPhase = ''
-    $out/bin/gpsbabel -V > /dev/null
-  '';
-
-  dontPatchELF = true;
-
-  meta = with lib; {
-    description = "A world sphere viewer";
-    homepage = "http://earth.google.com";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ markus1189 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/gphoto2/default.nix b/nixpkgs/pkgs/applications/misc/gphoto2/default.nix
index 8d612ceb413d..b65904006751 100644
--- a/nixpkgs/pkgs/applications/misc/gphoto2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gphoto2/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gphoto2";
-  version = "2.5.27";
+  version = "2.5.28";
 
   src = fetchFromGitHub {
     owner = "gphoto";
     repo = "gphoto2";
     rev = "v${version}";
-    sha256 = "sha256-zzlyA2IedyBZ4/TdSmrqbe2le8rFMQ6tY6jF5skJ7l4=";
+    sha256 = "sha256-t5EnM4WaDbOTPM+rJW+hQxBgNErnnZEN9lZvxTKoDhA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/gpsprune/default.nix b/nixpkgs/pkgs/applications/misc/gpsprune/default.nix
index 839bcc281bac..62dccc91e60d 100644
--- a/nixpkgs/pkgs/applications/misc/gpsprune/default.nix
+++ b/nixpkgs/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;
diff --git a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
index 277cb2475952..ac9b56f48c11 100644
--- a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gpxsee";
-  version = "10.0";
+  version = "10.4";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "sha256-XACexj91TLd/i2GoFr0zZ3Yqcg+KjKoWWPfCGsEIR04=";
+    sha256 = "sha256-3AwUfx8IIWJO4uVAhXJE5Oola+60VUpXUwmALqJo2vw=";
   };
 
   patches = (substituteAll {
diff --git a/nixpkgs/pkgs/applications/misc/gremlin-console/default.nix b/nixpkgs/pkgs/applications/misc/gremlin-console/default.nix
index 69024e581e0a..8c596b06fd0f 100644
--- a/nixpkgs/pkgs/applications/misc/gremlin-console/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/gremlin-server/default.nix b/nixpkgs/pkgs/applications/misc/gremlin-server/default.nix
new file mode 100644
index 000000000000..70068ec21f88
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/grip/default.nix b/nixpkgs/pkgs/applications/misc/grip/default.nix
index 478a4fe74d13..4461df09c224 100644
--- a/nixpkgs/pkgs/applications/misc/grip/default.nix
+++ b/nixpkgs/pkgs/applications/misc/grip/default.nix
@@ -2,15 +2,10 @@
 , stdenv
 , fetchurl
 , gtk2
-, glib
 , pkg-config
-, libgnome
-, libgnomeui
-, vte
 , curl
 , cdparanoia
 , libid3tag
-, ncurses
 , libtool
 }:
 
@@ -26,14 +21,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config libtool ];
   buildInputs = [
     gtk2
-    glib
-    libgnome
-    libgnomeui
-    vte
     curl
     cdparanoia
     libid3tag
-    ncurses
   ];
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/misc/gxmessage/default.nix b/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
index 9f09e3d978e0..f7c5714f1262 100644
--- a/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "3.4.3";
 
   src = fetchurl {
-    url = "http://homepages.ihug.co.nz/~trmusson/stuff/${pname}-${version}.tar.gz";
+    url = "https://trmusson.dreamhosters.com/stuff/${pname}-${version}.tar.gz";
     sha256 = "db4e1655fc58f31e5770a17dfca4e6c89028ad8b2c8e043febc87a0beedeef05";
   };
 
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A GTK enabled dropin replacement for xmessage";
-    homepage = "http://homepages.ihug.co.nz/~trmusson/programs.html#gxmessage";
-    license = lib.licenses.gpl3;
+    homepage = "https://trmusson.dreamhosters.com/programs.html#gxmessage";
+    license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [jfb];
     platforms = with lib.platforms; linux;
   };
diff --git a/nixpkgs/pkgs/applications/misc/haxor-news/default.nix b/nixpkgs/pkgs/applications/misc/haxor-news/default.nix
index 43c2eb242241..c93d31f66305 100644
--- a/nixpkgs/pkgs/applications/misc/haxor-news/default.nix
+++ b/nixpkgs/pkgs/applications/misc/haxor-news/default.nix
@@ -15,7 +15,8 @@ let
           sha256 = "09h1153wgr5x2ny7ds0w2m81n3bb9j8hjb8sjfnrg506r01clkyx";
         };
       });
-      click = self.callPackage ../../../development/python-modules/click/7.nix { };
+      # Use click 7
+      click = self.callPackage ../../../development/python2-modules/click/default.nix { };
     };
   };
 in
diff --git a/nixpkgs/pkgs/applications/misc/heimer/default.nix b/nixpkgs/pkgs/applications/misc/heimer/default.nix
index 1510c992f354..74b50db5b8da 100644
--- a/nixpkgs/pkgs/applications/misc/heimer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/heimer/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "heimer";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "juzzlin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-F0Pl6Wk+sGfOegy7iljQH63kAMYlRYv7G9nBAAtDEkg=";
+    sha256 = "sha256-aAFhShsC3FLGgtF/8XJbWIMBEO3/gcGeDZei69Luz+s=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/hello/default.nix b/nixpkgs/pkgs/applications/misc/hello/default.nix
index b446fe6223df..ce49cfd69ca8 100644
--- a/nixpkgs/pkgs/applications/misc/hello/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hello/default.nix
@@ -1,23 +1,32 @@
 { lib
 , stdenv
 , fetchurl
+, nixos
 , testVersion
+, testEqualDerivation
 , hello
 }:
 
 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;
 
-  passthru.tests.version =
-    testVersion { package = hello; };
+  passthru.tests = {
+    version = testVersion { package = hello; };
+
+    invariant-under-noXlibs =
+      testEqualDerivation
+        "hello must not be rebuilt when environment.noXlibs is set."
+        hello
+        (nixos { environment.noXlibs = true; }).pkgs.hello;
+  };
 
   meta = with lib; {
     description = "A program that produces a familiar, friendly greeting";
diff --git a/nixpkgs/pkgs/applications/misc/hivemind/default.nix b/nixpkgs/pkgs/applications/misc/hivemind/default.nix
index 6ada1fd749bd..0562e1d52d9f 100644
--- a/nixpkgs/pkgs/applications/misc/hivemind/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hivemind/default.nix
@@ -1,9 +1,8 @@
-{ lib, buildGoPackage, fetchFromGitHub, runtimeShell }:
+{ lib, buildGoModule, fetchFromGitHub, runtimeShell }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "hivemind";
-  version = "1.0.6";
-  goPackagePath = "github.com/DarthSim/hivemind";
+  version = "1.1.0";
 
   postPatch = ''
     substituteInPlace process.go --replace \"/bin/sh\" \"${runtimeShell}\"
@@ -13,8 +12,9 @@ buildGoPackage rec {
     owner = "DarthSim";
     repo = "hivemind";
     rev = "v${version}";
-    sha256 = "0afcnd03wsdphbbpha65rv5pnv0x6ldnnm6rnv1m6xkkywgnzx95";
+    sha256 = "YUR9OwRuH1xSPs8iTsSIjLCt2TyYH357IAYULGTyYUc=";
   };
+  vendorSha256 = "KweFhT8Zueg45Q/vw3kNET35hB+0WbUPfz0FYaAiIA8=";
 
   meta = with lib; {
     homepage = "https://github.com/DarthSim/";
diff --git a/nixpkgs/pkgs/applications/misc/hugo/default.nix b/nixpkgs/pkgs/applications/misc/hugo/default.nix
index 34d565fdfeb5..81ee786aec6f 100644
--- a/nixpkgs/pkgs/applications/misc/hugo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hugo/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.91.2";
+  version = "0.92.2";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6bqtw0hUrRBhTwEDURaTjgl3aVVCbfxjoPRfhSd3LK8=";
+    sha256 = "sha256-kwqN/9H/ZI2eL09K/9bOMBWW9bow8LtKpbfxyfxIucA=";
   };
 
-  vendorSha256 = "sha256-CO+7WgoTsFCd9vkcALKcJP6Kj3CIWr5FF75/WgbK04g=";
+  vendorSha256 = "sha256-7dJUl0IxsLj0ds2jqtChNCQEBiK9PahG159IhyFxwdM=";
 
   doCheck = false;
 
-  runVend = true;
+  proxyVendor = true;
 
   tags = [ "extended" ];
 
diff --git a/nixpkgs/pkgs/applications/misc/index-fm/default.nix b/nixpkgs/pkgs/applications/misc/index-fm/default.nix
index 5321c49b75ce..4ab933aefe07 100644
--- a/nixpkgs/pkgs/applications/misc/index-fm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/index-fm/default.nix
@@ -17,16 +17,21 @@
 
 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 = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "-Werror" ""
+  '';
+
   nativeBuildInputs = [
     cmake
     extra-cmake-modules
diff --git a/nixpkgs/pkgs/applications/misc/inherd-quake/default.nix b/nixpkgs/pkgs/applications/misc/inherd-quake/default.nix
index 1b0de8a65811..0fd6e72a57ec 100644
--- a/nixpkgs/pkgs/applications/misc/inherd-quake/default.nix
+++ b/nixpkgs/pkgs/applications/misc/inherd-quake/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "inherd-quake";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "phodal";
     repo = "quake";
     rev = "v${version}";
-    sha256 = "1f7k68g18g3dpnrsmhgmz753bly1i3f4lmsljiyp9ap0c6w8ahgg";
+    sha256 = "sha256-OkgrkjO6IS6P2ZyFFbOprROPzDfQcHYCwaTKFsjjVo8=";
   };
 
-  cargoSha256 = "17q9sjypa331gdfvmx1kbcbvnj34rnsf37b9rnji4jrqfysgrs5w";
+  cargoSha256 = "sha256-EMRaChFwjMYZKSX5OvXYLSiwWo1m1H/tHVqc8RXX52A=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/applications/misc/iptsd/default.nix b/nixpkgs/pkgs/applications/misc/iptsd/default.nix
index 297ea6dc6a29..7347c4b7849e 100644
--- a/nixpkgs/pkgs/applications/misc/iptsd/default.nix
+++ b/nixpkgs/pkgs/applications/misc/iptsd/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       --replace "install_dir: rulesdir" "install_dir: datadir" \
   '';
   mesonFlags = [
-    "-Dsystemd=true"
+    "-Dservice_manager=systemd"
     "-Dsample_config=false"
     "-Ddebug_tool=false"
   ];
diff --git a/nixpkgs/pkgs/applications/misc/josm/default.nix b/nixpkgs/pkgs/applications/misc/josm/default.nix
index fa93e7257168..d1a8bd1077a3 100644
--- a/nixpkgs/pkgs/applications/misc/josm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/josm/default.nix
@@ -3,20 +3,20 @@
 }:
 let
   pname = "josm";
-  version = "18303";
+  version = "18360";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      sha256 = "sha256-+gUJsx238iQKrYx/rdtd8ESVXI0u/kW2s0p33T4MSWU=";
+      sha256 = "sha256-1OMEPMtUGkxQCgpmyVP1h25gSDa2MKF7l1rodr61O5s=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      sha256 = "sha256-s8MuXcDl+DwjXOtf6ltpxYSeCE9R2/x9iJs2BoZHgXM=";
+      sha256 = "sha256-ZCybgaLwPfQVG2gJ+dtElIY7bGZUe9R8a/0B6QK8yK8=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
       rev = version;
-      sha256 = "sha256-+zsbksfQPwzVPpKlXdRWachWwjVuhExlyiEKDMkaxp8=";
+      sha256 = "sha256-GbIWZTJmmUT8r9L63/6mcnRt7dvavqGAVbozxlbF89g=";
     };
   };
 in
diff --git a/nixpkgs/pkgs/applications/misc/jotta-cli/default.nix b/nixpkgs/pkgs/applications/misc/jotta-cli/default.nix
index 832c6e93c500..b2907ffedc55 100644
--- a/nixpkgs/pkgs/applications/misc/jotta-cli/default.nix
+++ b/nixpkgs/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.53591";
   src = fetchzip {
       url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
-      sha256 = "sha256-B7Rn/0hFVUsEK2Wo8KbqAnzOwQmMKkAssfmaN3dPAUY=";
+      sha256 = "sha256-sffJks3/QfAJJumaE61q4fiiXa/BNFF2TKjZmDOuMkc=";
       stripRoot = false;
     };
 
diff --git a/nixpkgs/pkgs/applications/misc/jquake/default.nix b/nixpkgs/pkgs/applications/misc/jquake/default.nix
index 5a5aa4011fda..ccdaa0ff21bb 100644
--- a/nixpkgs/pkgs/applications/misc/jquake/default.nix
+++ b/nixpkgs/pkgs/applications/misc/jquake/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Real-time earthquake map of Japan";
-    homepage = "http://jquake.net";
+    homepage = "https://jquake.net";
     downloadPage = "https://jquake.net/?down";
     changelog = "https://jquake.net/?docu";
     maintainers = with maintainers; [ nessdoor ];
diff --git a/nixpkgs/pkgs/applications/misc/jrnl/default.nix b/nixpkgs/pkgs/applications/misc/jrnl/default.nix
index 494329ecabe7..4aecdec4de9d 100644
--- a/nixpkgs/pkgs/applications/misc/jrnl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/kanboard/default.nix b/nixpkgs/pkgs/applications/misc/kanboard/default.nix
index 9c2424602de1..c67a64df50e0 100644
--- a/nixpkgs/pkgs/applications/misc/kanboard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/kondo/default.nix b/nixpkgs/pkgs/applications/misc/kondo/default.nix
index 64cae5b64e5e..da4216cd8b83 100644
--- a/nixpkgs/pkgs/applications/misc/kondo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kondo/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kondo";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "tbillington";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kl2zn6ir3w75ny25ksgxl93vlyb13gzx2795zyimqqnsrdpbbrf";
+    sha256 = "sha256-TTgsfoJ3TEK7wyRJfBIxvPA53wZbq7KJ4LxjUbrHE4Y=";
   };
 
-  cargoSha256 = "0sddsm0jys1bsj2bsr39lcyx8k2hzw17nlsv6aql0v82x8qbsiv4";
+  cargoSha256 = "sha256-s5e997I7YiDKF6rOB0XwcxbnHR8AifYPX9ctvdz8VTw=";
 
   meta = with lib; {
     description = "Save disk space by cleaning unneeded files from software projects";
diff --git a/nixpkgs/pkgs/applications/misc/koreader/default.nix b/nixpkgs/pkgs/applications/misc/koreader/default.nix
index 74319262d5ce..38ad131bc146 100644
--- a/nixpkgs/pkgs/applications/misc/koreader/default.nix
+++ b/nixpkgs/pkgs/applications/misc/koreader/default.nix
@@ -13,12 +13,12 @@
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
 in stdenv.mkDerivation rec {
   pname = "koreader";
-  version = "2021.12.1";
+  version = "2022.01";
 
   src = fetchurl {
     url =
       "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
-    sha256 = "sha256-Ia0oCSGs6UYcvZVEhNpiOh3D08FgXqjqpgsQJojd3dk=";
+    sha256 = "sha256-XuIYNvGhzJ649LxVPit2AOmb+YOHtZA4AhDyxjaB5OE=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/applications/misc/kup/default.nix b/nixpkgs/pkgs/applications/misc/kup/default.nix
new file mode 100644
index 000000000000..3ac622b11ff5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/kup/default.nix
@@ -0,0 +1,60 @@
+{ lib,
+  stdenv,
+  fetchFromGitLab,
+  extra-cmake-modules,
+  shared-mime-info,
+  wrapQtAppsHook,
+  kcoreaddons,
+  kdbusaddons,
+  ki18n,
+  kio,
+  solid,
+  kidletime,
+  knotifications,
+  kconfig,
+  kinit,
+  kjobwidgets,
+  plasma-framework,
+  libgit2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kup";
+  version = "0.9.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    repo = pname;
+    owner = "system";
+    rev = "${pname}-${version}";
+    sha256 = "1s180y6vzkxxcjpfdvrm90251rkaf3swzkjwdlpm6m4vnggq0hvs";
+  };
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    shared-mime-info
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    kcoreaddons
+    kdbusaddons
+    ki18n
+    kio
+    solid
+    kidletime
+    knotifications
+    kconfig
+    kinit
+    kjobwidgets
+    plasma-framework
+    libgit2
+  ];
+
+  meta = with lib; {
+    description = "Backup tool for KDE";
+    homepage = "https://apps.kde.org/kup";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.pwoelfel ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/leetcode-cli/default.nix b/nixpkgs/pkgs/applications/misc/leetcode-cli/default.nix
new file mode 100644
index 000000000000..03f25588682d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/lemonade/default.nix b/nixpkgs/pkgs/applications/misc/lemonade/default.nix
new file mode 100644
index 000000000000..797b9e7b2ae7
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/liberasurecode/default.nix b/nixpkgs/pkgs/applications/misc/liberasurecode/default.nix
index 135ecf5ceb13..0546ec017dec 100644
--- a/nixpkgs/pkgs/applications/misc/liberasurecode/default.nix
+++ b/nixpkgs/pkgs/applications/misc/liberasurecode/default.nix
@@ -1,10 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, zlib }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, doxygen
+, installShellFiles
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "liberasurecode";
   version = "1.6.2";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "doc" ];
 
   src = fetchFromGitHub {
     owner = "openstack";
@@ -13,10 +20,27 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-qV7DL/7zrwrYOaPj6iHnChGA6KHFwYKjeaMnrGrTPrQ=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  postPatch = ''
+    substituteInPlace doc/doxygen.cfg.in \
+      --replace "GENERATE_MAN           = NO" "GENERATE_MAN           = YES"
+  '';
+
+  nativeBuildInputs = [ autoreconfHook doxygen installShellFiles ];
 
   buildInputs = [ zlib ];
 
+  configureFlags = [ "--enable-doxygen" ];
+
+  postInstall = ''
+    # remove useless man pages about directories
+    rm doc/man/man*/_*
+    installManPage doc/man/man*/*
+
+    moveToOutput share/liberasurecode/ $doc
+  '';
+
+  checkTarget = "test";
+
   meta = with lib; {
     description = "Erasure Code API library written in C with pluggable Erasure Code backends";
     homepage = "https://github.com/openstack/liberasurecode";
diff --git a/nixpkgs/pkgs/applications/misc/librecad/default.nix b/nixpkgs/pkgs/applications/misc/librecad/default.nix
index 05d5f93162c0..54ed6c10f42a 100644
--- a/nixpkgs/pkgs/applications/misc/librecad/default.nix
+++ b/nixpkgs/pkgs/applications/misc/librecad/default.nix
@@ -1,6 +1,7 @@
 { lib
 , boost
 , fetchFromGitHub
+, fetchpatch
 , installShellFiles
 , mkDerivation
 , muparser
@@ -23,6 +24,14 @@ mkDerivation rec {
     sha256 = "sha256-RNg7ioMriH4A7V65+4mh8NhsUHs/8IbTt38nVkYilCE=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/LibreCAD/LibreCAD/pull/1465/commits/4edcbe72679f95cb60979c77a348c1522a20b0f4.patch";
+      sha256 = "sha256-P0G2O5sL7Ip860ByxFQ87TfV/lq06wCQnzPxADGqFPs=";
+      name = "CVE-2021-45342.patch";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace scripts/postprocess-unix.sh \
       --replace /bin/sh ${runtimeShell}
diff --git a/nixpkgs/pkgs/applications/misc/limesctl/default.nix b/nixpkgs/pkgs/applications/misc/limesctl/default.nix
index d7f0624ad3f3..eadd6c8db55a 100644
--- a/nixpkgs/pkgs/applications/misc/limesctl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/limesctl/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-E6LwNiCykBqjkifUSi6oBWqCEhkRO+03HSKn4p45kh0=";
   };
 
-  vendorSha256 = "sha256-9MlymY5gM9/K2+7/yTa3WaSIfDJ4gRf33vSCwdIpNqw=";
+  vendorSha256 = "sha256-SzgiWqPuDZuSH8I9im8r+06E085PWyHwLjwxcaoJgQo=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/misc/llama/default.nix b/nixpkgs/pkgs/applications/misc/llama/default.nix
new file mode 100644
index 000000000000..f1822c674116
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/llama/default.nix
@@ -0,0 +1,22 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "llama";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "antonmedv";
+    repo = "llama";
+    rev = "v${version}";
+    sha256 = "sha256-6Xuwl4IpzbVfJ2MhHeImPFWxL/Y6rhnBExlh64PeGdk=";
+  };
+
+  vendorSha256 = "sha256-zbfQtTDbVWFVGQyjqlkv3mTvEPkKImzXAIXcmkh4wqk=";
+
+  meta = with lib; {
+    description = "Terminal file manager";
+    homepage = "https://github.com/antonmedv/llama";
+    license = licenses.mit;
+    maintainers = with maintainers; [ portothree ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/logseq/default.nix b/nixpkgs/pkgs/applications/misc/logseq/default.nix
index 741a17be9ee4..0ce868ada676 100644
--- a/nixpkgs/pkgs/applications/misc/logseq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.5.4";
+  version = "0.5.9";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "PGrx2JBYmp5vQ8jLpOfiT1T1+SNeRt0W5oHUjHNKuBE=";
+    sha256 = "e47aaabcd940b54962625e224961e9b95b7f18b99724adbb6334cdc549617389";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/lscolors/default.nix b/nixpkgs/pkgs/applications/misc/lscolors/default.nix
index 70804ef1fddb..cdbc1c23d236 100644
--- a/nixpkgs/pkgs/applications/misc/lscolors/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix b/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix
index a1788587d701..cab136d55dc9 100644
--- a/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/mdzk/default.nix b/nixpkgs/pkgs/applications/misc/mdzk/default.nix
index 17365e009bc0..f4d242346e9e 100644
--- a/nixpkgs/pkgs/applications/misc/mdzk/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mdzk/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdzk";
-  version = "0.4.3";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "mdzk-rs";
     repo = "mdzk";
     rev = version;
-    sha256 = "sha256-VUvV1XA9Bd3ugYHcKOcAQLUt0etxS/Cw2EgnFGxX0z0=";
+    sha256 = "sha256-NkoKQKcww5ktEbxbOY6WP8OemCB+rvXbuN9oSPjLE3Y=";
   };
 
-  cargoSha256 = "sha256-lZ4fc/94ESlhpfa5ylg45oZNeaF1mZPxQUSLZrl2V3o=";
+  cargoSha256 = "sha256-uJ00tGiKtcYghFUh0fcYg4nZc/o8yhvlVs+6/aRNY5s=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/applications/misc/mediaelch/default.nix b/nixpkgs/pkgs/applications/misc/mediaelch/default.nix
index f39b88f27d7d..7cfe873a44e6 100644
--- a/nixpkgs/pkgs/applications/misc/mediaelch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/megacmd/default.nix b/nixpkgs/pkgs/applications/misc/megacmd/default.nix
index 3e206730c4e2..8ca4ec418957 100644
--- a/nixpkgs/pkgs/applications/misc/megacmd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/megasync/default.nix b/nixpkgs/pkgs/applications/misc/megasync/default.nix
index 4b273981fa9a..15b7060ff264 100644
--- a/nixpkgs/pkgs/applications/misc/megasync/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/mepo/default.nix b/nixpkgs/pkgs/applications/misc/mepo/default.nix
new file mode 100644
index 000000000000..72e05d19bbda
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/mepo/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, pkg-config
+, zig
+, curl
+, SDL2
+, SDL2_gfx
+, SDL2_image
+, SDL2_ttf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mepo";
+  version = "0.3";
+
+  src = fetchFromSourcehut {
+    owner = "~mil";
+    repo = pname;
+    rev = version;
+    hash = "sha256-B7BOAFhiOTILUdzh49hTMrNNHZpCNRDLW2uekXyptqQ=";
+  };
+
+  nativeBuildInputs = [ pkg-config zig ];
+
+  buildInputs = [ curl SDL2 SDL2_gfx SDL2_image SDL2_ttf ];
+
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    runHook preCheck
+
+    zig build test
+
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    zig build -Drelease-safe=true -Dcpu=baseline --prefix $out install
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Fast, simple, and hackable OSM map viewer";
+    homepage = "https://sr.ht/~mil/mepo/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin; # See https://github.com/NixOS/nixpkgs/issues/86299
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix b/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix
index f113eed155fc..4412af583b3e 100644
--- a/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -9,7 +9,7 @@
 , itstool
 , libadwaita
 , librsvg
-, meson_0_60
+, meson
 , ninja
 , pkg-config
 , poppler_gi
@@ -18,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "metadata-cleaner";
-  version = "2.1.3";
+  version = "2.1.4";
 
   format = "other";
 
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "rmnvgr";
     repo = "metadata-cleaner";
     rev = "v${version}";
-    hash = "sha256-9sLjgqqQBXcudlBRmqAwWcWMUXoIUyAK272zaNKbJNY=";
+    hash = "sha256-46J0iLXzZX5tww4CK8WhrADql023rauO0fpW7Asn5ZY=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +35,7 @@ python3.pkgs.buildPythonApplication rec {
     glib
     gtk4
     itstool
-    meson_0_60
+    meson
     ninja
     pkg-config
     wrapGAppsHook
diff --git a/nixpkgs/pkgs/applications/misc/metamorphose2/default.nix b/nixpkgs/pkgs/applications/misc/metamorphose2/default.nix
deleted file mode 100644
index 277d00fe050b..000000000000
--- a/nixpkgs/pkgs/applications/misc/metamorphose2/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, stdenv, fetchgit, makeWrapper, gettext
-, python27, python2Packages
-}:
-
-stdenv.mkDerivation {
-  pname = "metamorphose2";
-  version = "0.9.0beta";
-
-  # exif-py vendored via submodule
-  # mutagen vendored via copy
-  src = fetchgit {
-    url = "https://github.com/metamorphose/metamorphose2.git";
-    #rev = "refs/tags/v2.${version}"; #for when wxPython3 support is released
-    rev = "d2bdd6a86340b9668e93b35a6a568894c9909d68";
-    sha256 = "0ivcb3c8hidrff0ivl4dnwa2p3ihpqjdbvdig8dhg9mm5phdbabn";
-  };
-
-  postPatch = ''
-    substituteInPlace messages/Makefile \
-      --replace "\$(shell which msgfmt)" "${gettext}/bin/msgfmt"
-  '';
-
-  postInstall = ''
-    rm $out/bin/metamorphose2
-    makeWrapper ${python27}/bin/python $out/bin/metamorphose2 \
-      --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
-      --add-flags "-O $out/share/metamorphose2/metamorphose2.py -w=3"
-  '';
-
-  buildInput = [ gettext python27 ];
-  nativeBuildInputs = [ makeWrapper ];
-  propagatedBuildInputs = [ python2Packages.wxPython python2Packages.pillow ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  meta = with lib; {
-    description = "a graphical mass renaming program for files and folders";
-    homepage    = "https://github.com/metamorphose/metamorphose2";
-    license     = with licenses; gpl3Plus;
-    maintainers = with maintainers; [ ramkromberg ];
-    platforms   = with platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/minder/default.nix b/nixpkgs/pkgs/applications/misc/minder/default.nix
index 63840b3f0b29..3cf85f94dbbc 100644
--- a/nixpkgs/pkgs/applications/misc/minder/default.nix
+++ b/nixpkgs/pkgs/applications/misc/minder/default.nix
@@ -15,6 +15,7 @@
 , gtk3
 , gtksourceview4
 , hicolor-icon-theme # for setup-hook
+, json-glib
 , libarchive
 , libgee
 , libhandy
@@ -24,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.13.1";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "07mq595c1vxwsnwkr2zdci0r06yhs75ph2db09mc63k5fjvi8rya";
+    sha256 = "sha256-0x+MMVa9/jOVp9n9JFM1MGndh9H9MzmmHepcez4aT+Q=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
     gtk3
     gtksourceview4
     hicolor-icon-theme
+    json-glib
     libarchive
     libgee
     libhandy
diff --git a/nixpkgs/pkgs/applications/misc/minigalaxy/default.nix b/nixpkgs/pkgs/applications/misc/minigalaxy/default.nix
new file mode 100644
index 000000000000..6a1f14cbd44a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/minigalaxy/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, fetchFromGitHub
+, docutils
+, gettext
+, glibcLocales
+, glib-networking
+, gobject-introspection
+, gtk3
+, python3
+, python3Packages
+, steam-run-native
+, unzip
+, webkitgtk
+, wrapGAppsHook
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "minigalaxy";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "sharkwouter";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-BbtwLuG5TH/+06Ez8+mwSAjG1IWg9/3uxzjmgPHczAw=";
+  };
+
+  checkPhase = ''
+    runHook preCheck
+    env HOME=$PWD LC_ALL=en_US.UTF-8 pytest
+    runHook postCheck
+  '';
+
+  nativeBuildInputs = [
+    gettext
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib-networking
+    gobject-introspection
+    gtk3
+  ];
+
+  checkInputs = with python3Packages; [
+    glibcLocales
+    pytest
+    tox
+  ];
+
+  pythonPath = [
+    docutils
+    python3.pkgs.pygobject3
+    python3.pkgs.requests
+    python3.pkgs.setuptools
+    python3.pkgs.simplejson
+    steam-run-native
+    unzip
+    webkitgtk
+  ];
+
+  # Run Linux games using the Steam Runtime by using steam-run in the wrapper
+  postFixup = ''
+    sed -e 's#exec -a "$0"#exec -a "$0" ${steam-run-native}/bin/steam-run#' -i $out/bin/minigalaxy
+  '';
+
+  meta = with lib; {
+    homepage = "https://sharkwouter.github.io/minigalaxy/";
+    changelog = "https://github.com/sharkwouter/minigalaxy/blob/${version}/CHANGELOG.md";
+    downloadPage = "https://github.com/sharkwouter/minigalaxy/releases";
+    description = "A simple GOG client for Linux";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ srapenne ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/default.nix b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
index 74926b252eb5..144e62982076 100644
--- a/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4836";
+  version = "4895";
 
   src = fetchurl {
     url = "https://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
-    sha256 = "nmEl7pN3LW6nqo5IB6GgzcDMHhdAsMySTdANVbybznY=";
+    sha256 = "jGSDH90ze0hHa9nAaeEkj1sfADEk7EatGrePM3+/SDk=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/misc/mob/default.nix b/nixpkgs/pkgs/applications/misc/mob/default.nix
index eaa20b5e7e26..15a7275bd80d 100644
--- a/nixpkgs/pkgs/applications/misc/mob/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mob/default.nix
@@ -1,22 +1,39 @@
-{ lib, buildGoPackage, fetchFromGitHub}:
+{ lib
+, buildGoPackage
+, fetchFromGitHub
+
+, withSpeech ? true
+, makeWrapper
+, espeak-ng
+}:
 
 buildGoPackage rec {
   pname = "mob";
-  version = "2.1.0";
-  goPackagePath = "github.com/remotemobprogramming/mob";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "remotemobprogramming";
     repo = pname;
-    sha256 = "sha256-K8ID8cetzCaMc/PVRNMyIhrshtEUiD6U/jI4e0TcOO4=";
+    sha256 = "sha256-1yE3KFGY51m6OL4LYrz+BSCHQSnbQRSpB3EUqAzSr+M=";
   };
 
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  goPackagePath = "github.com/remotemobprogramming/mob";
+
+  preFixup = lib.optionalString withSpeech ''
+    wrapProgram $out/bin/mob \
+      --set MOB_VOICE_COMMAND "${lib.getBin espeak-ng}/bin/espeak"
+  '';
+
   meta = with lib; {
-    description = "Tool for swift git handover";
+    description = "Tool for smooth git handover";
     homepage = "https://github.com/remotemobprogramming/mob";
     license = licenses.mit;
-    maintainers = [ maintainers.ericdallo ];
+    maintainers = with maintainers; [ ericdallo ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/moolticute/default.nix b/nixpkgs/pkgs/applications/misc/moolticute/default.nix
index f29e3d52310e..7097f584f54a 100644
--- a/nixpkgs/pkgs/applications/misc/moolticute/default.nix
+++ b/nixpkgs/pkgs/applications/misc/moolticute/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
   pname = "moolticute";
-  version = "0.53.2";
+  version = "0.53.7";
 
   src = fetchFromGitHub {
     owner = "mooltipass";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CJVOmFX2wqftQt8j9Tlw93YBiTWE8l1RLprG0cmHeUE=";
+    sha256 = "sha256-1hVvpfrfL/+DIeiPW5iVBEnoc8dy8vVWim4JjhsBlzM=";
   };
 
   outputs = [ "out" "udev" ];
@@ -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/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix b/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix
index d711f43ad570..51e1a15b47ba 100644
--- a/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix
+++ b/nixpkgs/pkgs/applications/misc/moonlight-embedded/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moonlight-embedded";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "moonlight-stream";
     repo = "moonlight-embedded";
     rev = "v${version}";
-    sha256 = "0wn6yjpqyjv52278xsx1ivnqrwca4fnk09a01fwzk4adpry1q9ck";
+    sha256 = "sha256-YZEPm+k0YzJB8OQAiFUOPc0QR2C0AkSgpNYdoh8jX8E=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix b/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix
index 0845299c55b7..1a764dfaef30 100644
--- a/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moonlight-qt";
-  version = "3.1.4";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "moonlight-stream";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sg8svb6xvkczp9slqnlm0b6k0z3bzdi4zzvwzzy21kpj6im9002";
+    sha256 = "sha256-nvVBjBcuHKSn66Q7iTzslGOCkH6zMFf62zx5dDXSosI=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/mupdf/default.nix b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
index f23ca82074f6..7bb9a89b8b39 100644
--- a/nixpkgs/pkgs/applications/misc/mupdf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/mupdf/default.upstream b/nixpkgs/pkgs/applications/misc/mupdf/default.upstream
deleted file mode 100644
index 852233633ca5..000000000000
--- a/nixpkgs/pkgs/applications/misc/mupdf/default.upstream
+++ /dev/null
@@ -1,7 +0,0 @@
-url https://mupdf.com/downloads/archive/
-do_overwrite(){
-  ensure_hash
-  ensure_version
-  set_var_value version $CURRENT_VERSION
-  set_var_value sha256 $CURRENT_HASH
-}
diff --git a/nixpkgs/pkgs/applications/misc/navi/default.nix b/nixpkgs/pkgs/applications/misc/navi/default.nix
index 840db0400f54..30adf58a49fd 100644
--- a/nixpkgs/pkgs/applications/misc/navi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/neap/default.nix b/nixpkgs/pkgs/applications/misc/neap/default.nix
deleted file mode 100644
index e5f50dd33706..000000000000
--- a/nixpkgs/pkgs/applications/misc/neap/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages }:
-
-stdenv.mkDerivation rec {
-  pname = "neap";
-  version = "0.7.2";
-
-  src = fetchFromGitHub {
-    owner = "vzxwco";
-    repo = "neap";
-    rev = "v${version}";
-    sha256 = "04da8rq23rl1qcvrdm5m3l90xbwyli7x601sckv7hmkip2q3g1kz";
-  };
-
-  nativeBuildInputs = [
-    python2Packages.wrapPython
-  ];
-
-  buildInputs = [
-    python2Packages.python
-  ];
-
-  pythonPath = [
-    python2Packages.xlib
-    python2Packages.pygtk
-  ];
-
-  installPhase = ''
-    install -D -t $out/bin neap
-    install -D -t $out/share/man/man1 neap.1
-    install -D -t $out/share/applications neap.desktop
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = with lib; {
-    description = "Systray workspace pager";
-    homepage = "https://github.com/vzxwco/neap";
-    license = licenses.bsd2;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix b/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix
index 967c3db4c651..dbc57794eeec 100644
--- a/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix
@@ -1,12 +1,12 @@
 { appimageTools, lib, fetchurl }:
 let
   pname = "neo4j-desktop";
-  version = "1.4.7";
+  version = "1.4.12";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${name}-x86_64.AppImage";
-    hash = "sha256-oEcSW7UIeiGY2fCPJQ5EtDBRtd73Q04HaSk+7ObLKJc=";
+    hash = "sha256-CfdXus9Zj6Tx6wAXpV2tRdqvJqowgE+NIL04v3fwtJE=";
   };
 
   appimageContents = appimageTools.extract { inherit name src; };
diff --git a/nixpkgs/pkgs/applications/misc/nimbo/default.nix b/nixpkgs/pkgs/applications/misc/nimbo/default.nix
index 802a9f9a32c1..8af9d1471a08 100644
--- a/nixpkgs/pkgs/applications/misc/nimbo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nimbo/default.nix
@@ -1,11 +1,14 @@
-{ lib, setuptools, boto3, requests, click, pyyaml, pydantic
-, buildPythonApplication, pythonOlder, installShellFiles, fetchFromGitHub
-, awscli }:
+{ lib
+, python3
+, fetchFromGitHub
+, installShellFiles
+, awscli
+}:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "nimbo";
   version = "0.2.4";
-  disabled = pythonOlder "3.6";
+  disabled = python3.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "nimbo-sh";
@@ -13,13 +16,31 @@ buildPythonApplication rec {
     rev = "v${version}";
     sha256 = "1fs28s9ynfxrb4rzba6cmik0kl0q0vkpb4zdappsq62jqf960k24";
   };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "awscli>=1.19<2.0" ""
+  '';
+
   nativeBuildInputs = [ installShellFiles ];
-  propagatedBuildInputs = [ setuptools boto3 awscli requests click pyyaml pydantic ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    setuptools
+    boto3
+    requests
+    click
+    pyyaml
+    pydantic
+  ];
 
   # nimbo tests require an AWS instance
   doCheck = false;
   pythonImportsCheck = [ "nimbo" ];
 
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ awscli ])
+  ];
+
   postInstall = ''
     installShellCompletion --cmd nimbo \
       --zsh <(_NIMBO_COMPLETE=source_zsh $out/bin/nimbo) \
diff --git a/nixpkgs/pkgs/applications/misc/notejot/default.nix b/nixpkgs/pkgs/applications/misc/notejot/default.nix
index aad182bd1875..deda8b07f475 100644
--- a/nixpkgs/pkgs/applications/misc/notejot/default.nix
+++ b/nixpkgs/pkgs/applications/misc/notejot/default.nix
@@ -17,21 +17,15 @@
 
 stdenv.mkDerivation rec {
   pname = "notejot";
-  version = "3.2.0";
+  version = "3.4.9";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    hash = "sha256-WyW1tGhO3+OykNa8BRavi93cBMOSBJw0M+0bwQHJOjU=";
+    hash = "sha256-42k9CAnXAb7Ic580SIa95MDCkCWtso1F+0eD69HX8WI=";
   };
 
-  patches = [
-    # build: use gtk4-update-icon-cache
-    # https://github.com/lainsce/notejot/pull/307
-    ./use-gtk4-update-icon-cache.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -60,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/nixpkgs/pkgs/applications/misc/notejot/use-gtk4-update-icon-cache.patch b/nixpkgs/pkgs/applications/misc/notejot/use-gtk4-update-icon-cache.patch
deleted file mode 100644
index 9431c43cef69..000000000000
--- a/nixpkgs/pkgs/applications/misc/notejot/use-gtk4-update-icon-cache.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/build-aux/post_install.py b/build-aux/post_install.py
-index 1278304..fface6d 100644
---- a/build-aux/post_install.py
-+++ b/build-aux/post_install.py
-@@ -2,11 +2,13 @@
- import os
- import subprocess
- 
--schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas')
-+install_prefix = os.environ['MESON_INSTALL_PREFIX']
-+icondir = os.path.join(install_prefix, 'share', 'icons', 'hicolor')
-+schemadir = os.path.join(install_prefix, 'share', 'glib-2.0', 'schemas')
- 
- if not os.environ.get('DESTDIR'):
-     print('Compiling gsettings schemas…')
-     subprocess.call(['glib-compile-schemas', schemadir], shell=False)
- 
-     print('Rebuilding desktop icons cache...')
--    subprocess.call(['gtk-update-icon-cache', '/usr/share/icons/hicolor/'], shell=False)
-+    subprocess.call(['gtk4-update-icon-cache', '-qtf', icondir], shell=False)
diff --git a/nixpkgs/pkgs/applications/misc/numberstation/default.nix b/nixpkgs/pkgs/applications/misc/numberstation/default.nix
index 41467e0c58de..af50644f1f71 100644
--- a/nixpkgs/pkgs/applications/misc/numberstation/default.nix
+++ b/nixpkgs/pkgs/applications/misc/numberstation/default.nix
@@ -15,7 +15,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "numberstation";
-  version = "1.0.1";
+  version = "1.1.0";
 
   format = "other";
 
@@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "~martijnbraam";
     repo = "numberstation";
     rev = version;
-    sha256 = "sha256-8q5cEpQRnevY98PKaTUW10bqRAr5NVG/rU24+nx27rw=";
+    hash = "sha256-A6qwsbeNZXfSOZwHp19/4JQ8dZgjsK7Y2zho6vJXsGA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix b/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix
index 61e7f5ad54f0..98609665c4fe 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-menu/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-M948RGU9/PwUtFRmf1Po7KlrGxqRPiOZKfS1Vv3vqW8=";
   };
 
-  vendorSha256 = "sha256-HyrjquJ91ddkyS8JijHd9HjtfwSQykXCufa2wzl8RNk";
+  vendorSha256 = "sha256-HyrjquJ91ddkyS8JijHd9HjtfwSQykXCufa2wzl8RNk=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
index 6798e73c9314..488f5cd997d0 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
@@ -13,13 +13,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.5.4";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "v${version}";
-    sha256 = "0vl9vfgpa1byf9vxn03j58h9zcbjd1y83b0kgv97cxm2mhqz12dg";
+    sha256 = "1d3qh42cwayb5d9ymhfs2vrbg5x5x6x73hw77m3xb9y4vyhji85x";
   };
 
   # No tests
diff --git a/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix b/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix
index 770227186ff6..4e7f864f3eaa 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-wrapper/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "nwg-wrapper";
-  version = "0.1.0";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xkxyfbj8zljx7k5wbniz3x9jg0l4jnbbjv8hy5y5p4l10m0vpjs";
+    sha256 = "114y55mv2rgnp75a3c7rk46v5v84d1zqb6wkha7x16ab6xa9phzl";
   };
 
   nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/misc/obinskit/default.nix b/nixpkgs/pkgs/applications/misc/obinskit/default.nix
index c7725fbcb2fb..664b2bf03ac0 100644
--- a/nixpkgs/pkgs/applications/misc/obinskit/default.nix
+++ b/nixpkgs/pkgs/applications/misc/obinskit/default.nix
@@ -4,7 +4,7 @@
 , libxkbcommon
 , systemd
 , xorg
-, electron_11
+, electron_13
 , makeWrapper
 , makeDesktopItem
 }:
@@ -17,15 +17,15 @@ let
     genericName = "Obinskit keyboard configurator";
     categories = "Utility";
   };
-  electron = electron_11;
+  electron = electron_13;
 in
 stdenv.mkDerivation rec {
   pname = "obinskit";
-  version = "1.1.8";
+  version = "1.2.11";
 
   src = fetchurl {
-    url = "http://releases.obins.net/occ/linux/tar/ObinsKit_${version}_x64.tar.gz";
-    sha256 = "MgasbgexOdscQrUte/6OzCSrc74RvaBq44oHplQA/Gc=";
+    url = "https://s3.hexcore.xyz/occ/linux/tar/ObinsKit_${version}_x64.tar.gz";
+    sha256 = "1kcn41wmwcx6q70spa9a1qh7wfrj1sk4v4i58lbnf9kc6vasw41a";
   };
 
   unpackPhase = "tar -xzf $src";
diff --git a/nixpkgs/pkgs/applications/misc/obsidian/default.nix b/nixpkgs/pkgs/applications/misc/obsidian/default.nix
index f8934dafc58b..6626c3321578 100644
--- a/nixpkgs/pkgs/applications/misc/obsidian/default.nix
+++ b/nixpkgs/pkgs/applications/misc/obsidian/default.nix
@@ -31,11 +31,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "obsidian";
-  version = "0.13.14";
+  version = "0.13.23";
 
   src = fetchurl {
     url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz";
-    sha256 = "0d55lk643yqjz4s6j5lbrdkf9f7wmwlz9ahjx760rzqpzy5190nr";
+    sha256 = "1chxf6vrybjvc64k66a3l5xvv6iv6w8b03pdcrc0pr0nnlwkcf8c";
   };
 
   nativeBuildInputs = [ makeWrapper graphicsmagick ];
diff --git a/nixpkgs/pkgs/applications/misc/ocropus/default.nix b/nixpkgs/pkgs/applications/misc/ocropus/default.nix
index 507399c012bb..41c6cdee41ca 100644
--- a/nixpkgs/pkgs/applications/misc/ocropus/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ocropus/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, fetchurl, pythonPackages, curl }:
+{ lib, fetchFromGitHub, fetchurl, python2Packages, curl }:
 
 let
   getmodel = name: sha256: {
@@ -17,7 +17,7 @@ let
   ];
 
 in
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "ocropus";
   version = "1.3.3";
 
@@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec {
     owner = "tmbdev";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ curl numpy scipy pillow
+  propagatedBuildInputs = with python2Packages; [ curl numpy scipy pillow
     matplotlib beautifulsoup4 pygtk lxml ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/default.nix b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
index 8906e8d09214..eda78c54a10e 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/default.nix
+++ b/nixpkgs/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
                 ];
               }
             );
@@ -129,9 +129,11 @@ let
               version = "5.0.0";
               src = oldAttrs.src.override {
                 inherit version;
-                sha256 = "sha256-MTkw/d3nA9jjcCmjBL+RQpzRGu72PFfebayp2Vjh8lU=";
+                hash = "sha256-MTkw/d3nA9jjcCmjBL+RQpzRGu72PFfebayp2Vjh8lU=";
               };
-              doCheck = false;
+              disabledTestPaths = [
+                "t/unit/backends/test_mongodb.py"
+              ];
             });
           }
         )
@@ -152,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"
               ];
             });
           }
@@ -221,13 +273,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.7.2";
+              version = "1.7.3";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                sha256 = "sha256-jCfzUx3LQ7TlXKQU8qbhyS1P4Wew/SSgJHVSc1VLdx4=";
+                sha256 = "sha256-U6g7WysHHOlZ4p5BM4tw3GGAxQmxv6ltYgAp1rO/eCg=";
               };
 
               propagatedBuildInputs = with super; [
@@ -300,28 +352,30 @@ let
                 })
               ];
 
-              postPatch = let
-                ignoreVersionConstraints = [
-                  "cachelib"
-                  "colorlog"
-                  "emoji"
-                  "immutabledict"
-                  "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;
@@ -357,4 +411,4 @@ let
     );
   };
 in
-  with py.pkgs; toPythonApplication octoprint
+with py.pkgs; toPythonApplication octoprint
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix b/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
index bb727b2adbb5..ae82d4023247 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
+++ b/nixpkgs/pkgs/applications/misc/octoprint/plugins.nix
@@ -75,13 +75,13 @@ in
 
   costestimation = buildPlugin rec {
     pname = "CostEstimation";
-    version = "3.3.0";
+    version = "3.4.0";
 
     src = fetchFromGitHub {
       owner = "OllisGit";
       repo = "OctoPrint-${pname}";
       rev = version;
-      sha256 = "sha256-d7miGMCNJD0siaZb6EnoMZCkKot7vnZjxNZX2TunJcs=";
+      sha256 = "sha256-04OPa/RpM8WehUmOp195ocsAjAvKdVY7iD5ybzQO7Dg=";
     };
 
     meta = with lib; {
@@ -420,6 +420,30 @@ in
     };
   };
 
+  octolapse = buildPlugin rec {
+    pname = "Octolapse";
+    version = "0.4.1";
+
+    src = fetchFromGitHub {
+      owner = "FormerLurker";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "13q20g7brabplc198jh67lk65rn140r8217iak9b2jy3in8fggv4";
+    };
+
+    # Test fails due to code executed on import, see #136513
+    #pythonImportsCheck = [ "octoprint_octolapse" ];
+
+    propagatedBuildInputs = with super; [ awesome-slugify setuptools pillow sarge six psutil file-read-backwards ];
+
+    meta = with lib; {
+      description = "Stabilized timelapses for Octoprint";
+      homepage = "https://github.com/FormerLurker/OctoLapse";
+      license = licenses.agpl3Plus;
+      maintainers = with maintainers; [ illustris j0hax ];
+    };
+  };
+
   octoprint-dashboard = buildPlugin rec {
     pname = "OctoPrint-Dashboard";
     version = "1.18.3";
diff --git a/nixpkgs/pkgs/applications/misc/openrgb/default.nix b/nixpkgs/pkgs/applications/misc/openrgb/default.nix
index 284339b13ee5..6de5736e9ac8 100644
--- a/nixpkgs/pkgs/applications/misc/openrgb/default.nix
+++ b/nixpkgs/pkgs/applications/misc/openrgb/default.nix
@@ -26,6 +26,9 @@ mkDerivation rec {
     mkdir -p $out/etc/udev/rules.d
     cp 60-openrgb.rules $out/etc/udev/rules.d
 
+    install -Dm444 -t "$out/share/applications" qt/OpenRGB.desktop
+    install -Dm444 -t "$out/share/icons/hicolor/128x128/apps" qt/OpenRGB.png
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/applications/misc/orca/default.nix b/nixpkgs/pkgs/applications/misc/orca/default.nix
index a558ac67f7d1..d0b2c85f1078 100644
--- a/nixpkgs/pkgs/applications/misc/orca/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix b/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
index 7e63bf04eef2..a2f2a676aba1 100644
--- a/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/p2pool/default.nix b/nixpkgs/pkgs/applications/misc/p2pool/default.nix
index 0776cc6572cb..230ec3182b7a 100644
--- a/nixpkgs/pkgs/applications/misc/p2pool/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
index 04324a090a8f..24dbad7c542b 100644
--- a/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pdfarranger";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1lcmlr7x4143f7wcn0m1ijlvch07nww2qfp3jfnacgy889ijvbfx";
+    sha256 = "18bpnnwjx72d5ps06dr89mkixiwzc9hf5gr75k8qcnrkshl038v2";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix b/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix
index 65ee6a655930..20a953384971 100644
--- a/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix
@@ -1,6 +1,6 @@
-{ lib, pythonPackages, fetchurl, xpdf }:
+{ lib, python2Packages, fetchurl, xpdf }:
 let
-  py = pythonPackages;
+  py = python2Packages;
 in
 py.buildPythonApplication rec {
   name = "pdfdiff-${version}";
@@ -11,7 +11,7 @@ py.buildPythonApplication rec {
     sha256 = "0zxwjjbklz87wkbhkmsvhc7xmv5php7m2a9vm6ydhmhlxsybf836";
   };
 
-  buildInputs = [  pythonPackages.wrapPython ];
+  buildInputs = [  python2Packages.wrapPython ];
 
   dontConfigure = true;
   dontBuild = true;
@@ -29,7 +29,7 @@ py.buildPythonApplication rec {
     cp pdfdiff.py $out/bin/pdfdiff
     chmod +x $out/bin/pdfdiff
 
-    substituteInPlace $out/bin/pdfdiff --replace "#!/usr/bin/python" "#!${pythonPackages.python.interpreter}"
+    substituteInPlace $out/bin/pdfdiff --replace "#!/usr/bin/python" "#!${python2Packages.python.interpreter}"
     '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/pdfmod/default.nix b/nixpkgs/pkgs/applications/misc/pdfmod/default.nix
deleted file mode 100644
index da9340f30759..000000000000
--- a/nixpkgs/pkgs/applications/misc/pdfmod/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, pkg-config, gnome-doc-utils, intltool, lib
-, mono, gtk-sharp-2_0, gnome-sharp, hyena
-, which, makeWrapper, glib, gnome2, poppler, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "pdfmod";
-  version = "0.9.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "eb7c987514a053106ddf03f26544766c751c801d87762909b36415d46bc425c9";
-  };
-
-  patches = [ (fetchpatch {
-    url = "https://raw.githubusercontent.com/City-busz/Arch-Linux-Repository"
-      + "/master/gnome/pdfmod/pdfmod/pdfmod-mono-2.10.patch";
-    sha256 = "0fpz9ifr6476lqhd5rkb94dm68vlrwdq5w1aaxzgyjgdax9hxx81";
-  }) ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    gnome-doc-utils intltool mono gtk-sharp-2_0 gnome-sharp
-    hyena which makeWrapper wrapGAppsHook
-  ];
-
-  preConfigure = ''
-    substituteInPlace lib/poppler-sharp/poppler-sharp/poppler-sharp.dll.config \
-      --replace libpoppler-glib.so.4 libpoppler-glib.so
-  '';
-
-  postInstall = ''
-    makeWrapper "${mono}/bin/mono" "$out/bin/pdfmod" \
-      --add-flags "$out/lib/pdfmod/PdfMod.exe" \
-      --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \
-      --prefix MONO_GAC_PREFIX : ${gnome-sharp} \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gnome-sharp gnome2.GConf gtk-sharp-2_0 gtk-sharp-2_0.gtk poppler ]}
-  '';
-
-  dontStrip = true;
-
-  meta = with lib; {
-    homepage = "https://wiki.gnome.org/Attic/PdfMod";
-    description = "A simple application for modifying PDF documents";
-    platforms = platforms.all;
-    maintainers = with maintainers; [ obadz ];
-    license = licenses.gpl2Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix b/nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix
index 782fc30f4d69..298b4bf2c0ae 100644
--- a/nixpkgs/pkgs/applications/misc/pdfsam-basic/default.nix
+++ b/nixpkgs/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 = ''
diff --git a/nixpkgs/pkgs/applications/misc/pdfstudio/common.nix b/nixpkgs/pkgs/applications/misc/pdfstudio/common.nix
new file mode 100644
index 000000000000..7240e8a026e2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/pdfstudio/common.nix
@@ -0,0 +1,98 @@
+{ pname
+, src
+, year
+, version
+, desktopName
+, longDescription
+, buildFHSUserEnv
+, extraBuildInputs ? []
+, stdenv
+, lib
+, dpkg
+, makeDesktopItem
+, copyDesktopItems
+, autoPatchelfHook
+, sane-backends
+, cups
+, jdk11
+}:
+let
+  thisPackage = stdenv.mkDerivation rec {
+    inherit pname src version;
+    strictDeps = true;
+
+    buildInputs = [
+      sane-backends #for libsane.so.1
+      jdk11
+    ] ++ extraBuildInputs;
+
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      copyDesktopItems
+    ];
+
+    desktopItems = [
+      (makeDesktopItem {
+        name = "${pname}${year}";
+        desktopName = desktopName;
+        genericName = "View and edit PDF files";
+        exec = "${pname} %f";
+        icon = "${pname}${year}";
+        comment = "Views and edits PDF files";
+        mimeType = "application/pdf";
+        categories = "Office";
+        type = "Application";
+        terminal = false;
+      })
+    ];
+
+    unpackCmd = "dpkg-deb -x $src ./${pname}-${version}";
+    dontBuild = true;
+
+    postPatch = ''
+      substituteInPlace opt/${pname}${year}/${pname}${year} --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}"
+      substituteInPlace opt/${pname}${year}/updater --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}"
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/{bin,share/pixmaps}
+      rm -rf opt/${pname}${year}/jre
+      cp -r opt/${pname}${year} $out/share/
+      ln -s $out/share/${pname}${year}/.install4j/${pname}${year}.png  $out/share/pixmaps/
+      ln -s $out/share/${pname}${year}/${pname}${year} $out/bin/${pname}
+
+      runHook postInstall
+    '';
+  };
+
+in
+# Package with cups in FHS sandbox, because JAVA bin expects "/usr/bin/lpr" for printing.
+buildFHSUserEnv {
+  name = pname;
+  targetPkgs = pkgs: [
+    cups
+    thisPackage
+  ];
+  runScript = pname;
+
+  # link desktop item and icon into FHS user environment
+  extraInstallCommands = ''
+    mkdir -p "$out/share/applications"
+    mkdir -p "$out/share/pixmaps"
+    ln -s ${thisPackage}/share/applications/*.desktop "$out/share/applications/"
+    ln -s ${thisPackage}/share/pixmaps/*.png "$out/share/pixmaps/"
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.qoppa.com/${pname}/";
+    description = "An easy to use, full-featured PDF editing software";
+    longDescription = longDescription;
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    mainProgram = pname;
+    maintainers = [ maintainers.pwoelfel ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix b/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix
index dcb35c41da76..c91f6f64cf74 100644
--- a/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix
@@ -1,91 +1,42 @@
-{ stdenv,
-  lib,
-  makeWrapper,
-  fetchurl,
-  dpkg,
-  makeDesktopItem,
-  copyDesktopItems,
-  autoPatchelfHook,
-  gst_all_1,
-  sane-backends,
-  xorg,
-  gnome2,
-  alsa-lib,
-  libgccjit,
-  jdk11
-  }:
-
-let
-  year = "2021";
-  major = "1";
-  minor = "1";
-in stdenv.mkDerivation rec {
-  pname = "pdfstudio";
-  version = "${year}.${major}.${minor}";
-  autoPatchelfIgnoreMissingDeps = true;
-
-  src = fetchurl {
-    url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${year}_${major}_${minor}_linux64.deb";
-    sha256 = "089jfpbsxwjhx245g8svlmg213kny3z5nl6ra1flishnrsfjjcxb";
+{ program ? "pdfstudioviewer"
+, fetchurl
+, libgccjit
+, callPackage
+}:
+
+let makeurl = { pname, year, version }: "https://download.qoppa.com/${pname}/v${year}/${
+    builtins.replaceStrings [ "pdfstudio" "viewer" "." ] [ "PDFStudio" "Viewer" "_" ] "${pname}_v${version}"
+  }_linux64.deb";
+in
+{
+  pdfstudio = callPackage ./common.nix rec {
+    pname = program;
+    year = "2021";
+    version = "${year}.1.2";
+    desktopName = "PDF Studio";
+    longDescription = ''
+      PDF Studio is an easy to use, full-featured PDF editing software. This is the standard/pro edition, which requires a license. For the free PDF Studio Viewer see the package pdfstudioviewer.
+    '';
+    extraBuildInputs = [
+      libgccjit #for libstdc++.so.6 and libgomp.so.1
+    ];
+    src = fetchurl {
+      url = makeurl { inherit pname year version; };
+      sha256 = "1188ll2qz58rr2slavqxisbz4q3fdzidpasb1p33926z0ym3rk45";
+    };
   };
 
-  nativeBuildInputs = [
-    gst_all_1.gst-libav
-    sane-backends
-    xorg.libXxf86vm
-    xorg.libXtst
-    gnome2.libgtkhtml
-    alsa-lib
-    libgccjit
-    autoPatchelfHook
-    makeWrapper
-    dpkg
-    copyDesktopItems
-    jdk11 # only for unpacking .jar.pack files
-  ];
-
-  desktopItems = [(makeDesktopItem {
-       name = "${pname}${year}";
-       desktopName = "PDF Studio";
-       genericName = "View and edit PDF files";
-       exec = "${pname} %f";
-       icon = "${pname}${year}";
-       comment = "Views and edits PDF files";
-       mimeType = "application/pdf";
-       categories = "Office";
-       type = "Application";
-       terminal = false;
-  })];
-
-  unpackPhase = "dpkg-deb -x $src .";
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    mkdir -p $out/share
-    mkdir -p $out/share/applications
-    mkdir -p $out/share/pixmaps
-    cp -r opt/${pname}${year} $out/share/
-    ln -s $out/share/${pname}${year}/.install4j/${pname}${year}.png  $out/share/pixmaps/
-    makeWrapper $out/share/${pname}${year}/${pname}${year} $out/bin/${pname}
-
-    #Unpack jar files. Otherwise pdfstudio does this and fails due to read-only FS.
-    for pfile in $out/share/${pname}${year}/jre/lib/{,ext/}*.jar.pack; do
-      jar_file=`echo "$pfile" | awk '{ print substr($0,1,length($0)-5) }'`
-      unpack200 -r "$pfile" "$jar_file"
-    done
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.qoppa.com/pdfstudio/";
-    description = "An easy to use, full-featured PDF editing software";
-    license = licenses.unfree;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.pwoelfel ];
+  pdfstudioviewer = callPackage ./common.nix rec {
+    pname = program;
+    year = "2021";
+    version = "${year}.1.2";
+    desktopName = "PDF Studio Viewer";
+    longDescription = ''
+      PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio.
+    '';
+    src = fetchurl {
+      url = makeurl { inherit pname year version; };
+      sha256 = "128k3fm8m8zdykx4s30g5m2zl7cgmvs4qinf1w525zh84v56agz6";
+    };
   };
-}
+}.${program}
diff --git a/nixpkgs/pkgs/applications/misc/pgadmin/default.nix b/nixpkgs/pkgs/applications/misc/pgadmin/default.nix
index f4981f6d3fb7..1bcc36557afa 100644
--- a/nixpkgs/pkgs/applications/misc/pgadmin/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pgadmin/default.nix
@@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
     "--with-libxslt=${libxslt.dev}"
   ];
 
+  # starting with C++11 narrowing became an error
+  # and not just a warning. With the current c++ compiler
+  # pgadmin3 will fail with several "narrowing" errors.
+  # see https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wno-narrowing
+  makeFlags = "CXXFLAGS=-Wno-narrowing" ;
+
   meta = with lib; {
     description = "PostgreSQL administration GUI tool";
     homepage = "https://www.pgadmin.org";
diff --git a/nixpkgs/pkgs/applications/misc/phoc/default.nix b/nixpkgs/pkgs/applications/misc/phoc/default.nix
index 1a590af94655..7acdcdf02c45 100644
--- a/nixpkgs/pkgs/applications/misc/phoc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/phoc/default.nix
@@ -26,12 +26,6 @@ let
         url = "https://gitlab.alpinelinux.org/alpine/aports/-/raw/78fde4aaf1a74eb13a3f083cb6dfb29f578c3265/community/wlroots/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch";
         sha256 = "1zjn7mwdj21z0jsc2mz90cnrzk97yqkiq58qqgpjav4h4dgpfb38";
       })
-      # To fix missing header `EGL/eglmesaext.h` dropped upstream
-      (fetchpatch {
-        name = "0002-stop-including-eglmesaext-h.patch";
-        url = "https://github.com/swaywm/wlroots/commit/e18599b05e0f0cbeba11adbd489e801285470eab.patch";
-        sha256 = "17ax4dyk0584yhs3lq8ija5bkainjf7psx9c9r50cr4jm9c0i37l";
-      })
 
       # xwayland: Allow to retrieve _NET_STARTUP_ID
       (fetchpatch {
@@ -49,7 +43,7 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "phoc";
-  version = "0.9.0";
+  version = "0.12.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -57,7 +51,7 @@ in stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qd1ZETM2/AjU5nKQIqh0Q+SboLNr+NncvSHgLv2S3KI=";
+    sha256 = "sha256-kfMM/YjgAktpOKHNcxxl1FPVbgATPDNRhEJ/sVT1LYs=";
   };
 
   nativeBuildInputs = [
@@ -92,7 +86,7 @@ in stdenv.mkDerivation rec {
     description = "Wayland compositor for mobile phones like the Librem 5";
     homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ archseer masipcat zhaofengli ];
+    maintainers = with maintainers; [ masipcat zhaofengli ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/phwmon/default.nix b/nixpkgs/pkgs/applications/misc/phwmon/default.nix
index 717c5c3feb10..22d94006ddca 100644
--- a/nixpkgs/pkgs/applications/misc/phwmon/default.nix
+++ b/nixpkgs/pkgs/applications/misc/phwmon/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, pythonPackages }:
+{ lib, stdenv, fetchFromGitLab, python2Packages }:
 
 stdenv.mkDerivation {
   pname = "phwmon";
@@ -11,11 +11,11 @@ stdenv.mkDerivation {
     sha256 = "1hqmsq66y8bqkpvszw84jyk8haxq3cjnz105hlkmp7786vfmkisq";
   };
 
-  nativeBuildInputs = [ pythonPackages.wrapPython ];
+  nativeBuildInputs = [ python2Packages.wrapPython ];
 
-  buildInputs = [ pythonPackages.pygtk pythonPackages.psutil ];
+  buildInputs = [ python2Packages.pygtk python2Packages.psutil ];
 
-  pythonPath = [ pythonPackages.pygtk pythonPackages.psutil ];
+  pythonPath = [ python2Packages.pygtk python2Packages.psutil ];
 
   patchPhase = ''
     substituteInPlace install.sh --replace "/usr/local" "$out"
diff --git a/nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix b/nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix
new file mode 100644
index 000000000000..fb8d407ef12f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/pomotroid/default.nix b/nixpkgs/pkgs/applications/misc/pomotroid/default.nix
new file mode 100644
index 000000000000..dfe76aa92f4c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/pomotroid/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, lib, fetchurl, makeWrapper, makeDesktopItem, copyDesktopItems, electron }:
+
+let
+  version = "0.13.0";
+  appIcon = fetchurl {
+    url = "https://raw.githubusercontent.com/Splode/pomotroid/v${version}/static/icon.png";
+    sha256 = "sha256-BEPoOBErw5ZCeK4rtdxdwZZLimbpglu1Cu++4xzuVUs=";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "pomotroid";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://github.com/Splode/pomotroid/releases/download/v${version}/${pname}-${version}-linux.tar.gz";
+    sha256 = "sha256-AwpVnvwWQd/cgmZvtr5NprnLyeXz6ym4Fywc808tcSc=";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    copyDesktopItems
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = "pomotroid";
+      icon = "pomotroid";
+      comment = meta.description;
+      desktopName = "Pomotroid";
+      genericName = "Pomodoro Application";
+    })
+  ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/opt/pomotroid $out/share/pomotroid $out/share/pixmaps
+
+    cp -r ./ $out/opt/pomotroid
+    mv $out/opt/pomotroid/{locales,resources} $out/share/pomotroid
+    cp ${appIcon} $out/share/pixmaps/pomotroid.png
+
+    makeWrapper ${electron}/bin/electron $out/bin/pomotroid \
+      --add-flags $out/share/pomotroid/resources/app.asar
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Simple and visually-pleasing Pomodoro timer";
+    homepage = "https://splode.github.io/pomotroid";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/privacyidea/default.nix b/nixpkgs/pkgs/applications/misc/privacyidea/default.nix
index 912cb9b94b1b..2a3a1a47410d 100644
--- a/nixpkgs/pkgs/applications/misc/privacyidea/default.nix
+++ b/nixpkgs/pkgs/applications/misc/privacyidea/default.nix
@@ -20,8 +20,8 @@ let
           sha256 = "ae2f05671588762dd83a21d8b18c51fe355e86783e24594995ff8d7380dffe38";
         };
       });
-      werkzeug = self.callPackage ../../../development/python-modules/werkzeug/1.nix { };
-      flask = self.callPackage ../../../development/python-modules/flask/1.nix { };
+      werkzeug = self.callPackage ../../../development/python2-modules/werkzeug { };
+      flask = self.callPackage ../../../development/python2-modules/flask { };
       sqlsoup = super.sqlsoup.overrideAttrs ({ meta ? {}, ... }: {
         meta = meta // { broken = false; };
       });
diff --git a/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
index 384ca820d505..930051d5b1e5 100644
--- a/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
+++ b/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
@@ -5,8 +5,8 @@ let
   description = "PrusaSlicer fork with more features and faster development cycle";
 
   versions = {
-    stable = { version = "2.3.57.8"; sha256 = "sha256-k1G9sFukYyCqVeJIbYgjJX9T8zqmFTmjmj9OXZ78+LY="; };
-    latest = { version = "2.3.57.8"; sha256 = "sha256-k1G9sFukYyCqVeJIbYgjJX9T8zqmFTmjmj9OXZ78+LY="; };
+    stable = { version = "2.3.57.10"; sha256 = "sha256-/1oZgmZpRoizVpklKaI12qP4bVIGYyVpybmuCIz3Y0M="; };
+    latest = { version = "2.3.57.10"; sha256 = "sha256-/1oZgmZpRoizVpklKaI12qP4bVIGYyVpybmuCIz3Y0M="; };
   };
 
   override = { version, sha256 }: super: {
diff --git a/nixpkgs/pkgs/applications/misc/pueue/default.nix b/nixpkgs/pkgs/applications/misc/pueue/default.nix
index 4771666cc20a..0a7b4bc7933c 100644
--- a/nixpkgs/pkgs/applications/misc/pueue/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pueue/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pueue";
-  version = "1.0.4";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "Nukesor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tNTKX++LrWwuVGdmAjvBStNYp4p1ai12JwJmozo1GV0=";
+    sha256 = "sha256-eFO9v+CZ3sFJJ0Ksa2sV5snjBz9lUkElGSj4DfEUebs=";
   };
 
-  cargoSha256 = "sha256-t1d8K0v7kHPjH78lYCRCa4pyPCvyQT1kaQtVpoROZIE=";
+  cargoSha256 = "sha256-cyuDXMmVrVx3kluumR6WleMzuoV+261f47rpkVYHzZA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/misc/pure-maps/default.nix b/nixpkgs/pkgs/applications/misc/pure-maps/default.nix
index 3f964824e6dd..0914d2599c22 100644
--- a/nixpkgs/pkgs/applications/misc/pure-maps/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pure-maps/default.nix
@@ -1,23 +1,23 @@
 { lib, mkDerivation, fetchFromGitHub
-, qmake, qttools, kirigami2, qtquickcontrols2, qtlocation, qtsensors
+, cmake, qttools, kirigami2, qtquickcontrols2, qtlocation, qtsensors
 , nemo-qml-plugin-dbus, mapbox-gl-qml, s2geometry
 , python3, pyotherside
 }:
 
 mkDerivation rec {
   pname = "pure-maps";
-  version = "2.6.5";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "pure-maps";
     rev = version;
-    sha256 = "17gfb7rdaadmcdba4mhish0jrz9lmiban6fpzwhyvn8z1rc43zx9";
+    hash = "sha256-pMPjY6OXR6THiSQZ4mw9Kz+tAXJaOwzJEcpPOyZ+YKI=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
-    qmake python3 qttools python3.pkgs.wrapPython
+    cmake python3 qttools python3.pkgs.wrapPython
   ];
 
   buildInputs = [
@@ -25,12 +25,7 @@ mkDerivation rec {
     nemo-qml-plugin-dbus pyotherside mapbox-gl-qml s2geometry
   ];
 
-  postPatch = ''
-    substituteInPlace pure-maps.pro \
-      --replace '$$[QT_HOST_BINS]/lconvert' 'lconvert'
-  '';
-
-  qmakeFlags = [ "FLAVOR=kirigami" ];
+  cmakeFlags = [ "-DFLAVOR=kirigami" ];
 
   pythonPath = with python3.pkgs; [ gpxpy ];
 
diff --git a/nixpkgs/pkgs/applications/misc/pwsafe/default.nix b/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
index 3549fead8e28..fb12bcad3441 100644
--- a/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pwsafe/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     done
 
     # Fix hard coded paths.
-    for f in $(grep -Rl /usr/share/ src) ; do
+    for f in $(grep -Rl /usr/share/ src install/desktop) ; do
       substituteInPlace $f --replace /usr/share/ $out/share/
     done
 
diff --git a/nixpkgs/pkgs/applications/misc/qMasterPassword/default.nix b/nixpkgs/pkgs/applications/misc/qMasterPassword/default.nix
index d3449da97f36..f557a8bf9944 100644
--- a/nixpkgs/pkgs/applications/misc/qMasterPassword/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qMasterPassword/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, qtbase, qmake, libX11, libXtst, openssl, libscrypt }:
+{ lib, stdenv, mkDerivation, fetchFromGitHub, qtbase, qmake, qttools, libX11, libXtst, openssl, libscrypt }:
 
 mkDerivation rec {
-  name = "qMasterPassword";
-  version = "1.2.2";
+  pname = "qMasterPassword-unstable";
+  version = "2022-01-28";
 
   src = fetchFromGitHub {
     owner = "bkueng";
-    repo = name;
-    rev = "v${version}";
-    sha256 = "0l0jarvfdc69rcjl2wa0ixq8gp3fmjsy9n84m38sxf3n9j2bh13c";
+    repo = "qMasterPassword";
+    rev = "7ade33952531731c266c2597f4212c93aca68c59";
+    sha256 = "sha256-MdV6AkRh072++sKoeuwvhgqLEfUkTF34xt6OH9n59Q0=";
   };
 
   buildInputs = [ qtbase libX11 libXtst openssl libscrypt ];
-  nativeBuildInputs = [ qmake ];
+  nativeBuildInputs = [ qmake qttools ];
 
   # Upstream install is mostly defunct. It hardcodes target.path and doesn't
   # install anything but the binary.
@@ -22,12 +22,16 @@ mkDerivation rec {
     ln -s ../Applications/qMasterPassword.app/Contents/MacOS/qMasterPassword "$out"/bin/qMasterPassword
   '' else ''
     mkdir -p $out/bin
-    mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps}
+    mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps,qMasterPassword/translations}
     mv qMasterPassword $out/bin
     mv data/qMasterPassword.desktop $out/share/applications
     mv LICENSE README.md $out/share/doc/qMasterPassword
     mv data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png
     mv data/icons/* $out/share/icons/qmasterpassword
+    lrelease ./data/translations/translation_de.ts
+    lrelease ./data/translations/translation_pl.ts
+    mv ./data/translations/translation_de.qm $out/share/qMasterPassword/translations/translation_de.qm
+    mv ./data/translations/translation_pl.qm $out/share/qMasterPassword/translations/translation_pl.qm
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/qcad/default.nix b/nixpkgs/pkgs/applications/misc/qcad/default.nix
index f8b8f798755e..86ed90cbd4a1 100644
--- a/nixpkgs/pkgs/applications/misc/qcad/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qcad/default.nix
@@ -18,13 +18,14 @@
 
 mkDerivation rec {
   pname = "qcad";
-  version = "3.27.1.0";
+  version = "3.27.1.6";
 
   src = fetchFromGitHub {
+    name = "qcad-${version}-src";
     owner = "qcad";
     repo = "qcad";
     rev = "v${version}";
-    sha256 = "sha256-tydgSfS1MF322sgWULMEZ8P6YIaN1QoeJiia0wbsgjo=";
+    sha256 = "sha256-NnaCwbk8w0ZPnBz7xxs5LMFMUSnEERCSRBXpJL0u+s0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/misc/qpdfview/default.nix b/nixpkgs/pkgs/applications/misc/qpdfview/default.nix
index 954c17097618..db5995149c08 100644
--- a/nixpkgs/pkgs/applications/misc/qpdfview/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qpdfview/default.nix
@@ -1,30 +1,40 @@
-{lib, mkDerivation, fetchurl, qmake, qtbase, qtsvg, pkg-config, poppler, djvulibre, libspectre, cups
-, file, ghostscript
+{ lib
+, mkDerivation
+, fetchurl
+, qmake
+, qtbase
+, qtsvg
+, pkg-config
+, poppler
+, djvulibre
+, libspectre
+, cups
+, file
+, ghostscript
 }:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="qpdfview";
-    version = "0.4.18";
-    name="${baseName}-${version}";
-    url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
+mkDerivation rec {
+  pname = "qpdfview";
+  version = "0.4.18";
+
+  src = fetchurl {
+    url = "https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
     sha256 = "0v1rl126hvblajnph2hkansgi0s8vjdc5yxrm4y3faa0lxzjwr6c";
   };
-  nativeBuildInputs = [ qmake pkg-config ];
-  buildInputs = [
-    qtbase qtsvg poppler djvulibre libspectre cups file ghostscript
-  ];
+
   # apply upstream fix for qt5.15 https://bazaar.launchpad.net/~adamreichold/qpdfview/trunk/revision/2104
   patches = [ ./qpdfview-qt515-compat.patch ];
-in
-mkDerivation {
-  pname = s.baseName;
-  inherit (s) version;
-  inherit nativeBuildInputs buildInputs patches;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
 
+  nativeBuildInputs = [ qmake pkg-config ];
+  buildInputs = [
+    qtbase
+    qtsvg
+    poppler
+    djvulibre
+    libspectre
+    cups
+    file
+    ghostscript
+  ];
   preConfigure = ''
     qmakeFlags+=(*.pro)
   '';
@@ -39,13 +49,11 @@ mkDerivation {
     "APPDATA_INSTALL_PATH=${placeholder "out"}/share/appdata"
   ];
 
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "A tabbed document viewer";
-    license = lib.licenses.gpl2Plus;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
     homepage = "https://launchpad.net/qpdfview";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/qt-video-wlr/default.nix b/nixpkgs/pkgs/applications/misc/qt-video-wlr/default.nix
index bdb434085da0..ffd22be085e1 100644
--- a/nixpkgs/pkgs/applications/misc/qt-video-wlr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qt-video-wlr/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia }:
 let
- gstreamerPath = with gst_all_1; lib.makeSearchPath "lib/gstreamer-1.0" [
+ gstreamerPath = with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
      gstreamer
      gst-plugins-base
      gst-plugins-good
diff --git a/nixpkgs/pkgs/applications/misc/ratt/default.nix b/nixpkgs/pkgs/applications/misc/ratt/default.nix
new file mode 100644
index 000000000000..8b49232051d1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/ratt/default.nix
@@ -0,0 +1,26 @@
+{ buildGoModule, fetchFromSourcehut, lib }:
+buildGoModule rec {
+  pname = "ratt";
+  version = "unstable-2022-01-11";
+
+  src = fetchFromSourcehut {
+    owner = "~ghost08";
+    repo = "ratt";
+    rev = "eac7e14b15ad4e916e7d072780397c414c740630";
+    hash = "sha256-/WzPF98MovNg4t5NJhL2Z1bAFDG/3I56M9YgRJF7Wjk=";
+  };
+
+  proxyVendor = true;
+  vendorSha256 = "sha256-4TEdnJ7lCuBka6rtoKowf5X3VqCgfwvGHeJ5B5Q5C20=";
+
+  # tests try to access the internet to scrape websites
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A tool for converting websites to rss/atom feeds";
+    homepage = "https://git.sr.ht/~ghost08/ratt";
+    license = licenses.mit;
+    maintainers = with maintainers; [ kmein ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/redshift/default.nix b/nixpkgs/pkgs/applications/misc/redshift/default.nix
index e73f3392cea3..6dbe3d840415 100644
--- a/nixpkgs/pkgs/applications/misc/redshift/default.nix
+++ b/nixpkgs/pkgs/applications/misc/redshift/default.nix
@@ -123,13 +123,13 @@ rec {
 
   gammastep = mkRedshift rec {
     pname = "gammastep";
-    version = "2.0.7";
+    version = "2.0.8";
 
     src = fetchFromGitLab {
       owner = "chinstrap";
       repo = pname;
       rev = "v${version}";
-      sha256 = "sha256-78z2CQ+r7undbp+8E0mMDNWWl+RXeS5he/ax0VomRYY=";
+      sha256 = "071f3iqdbblb3awnx48j19kspk6l2g3658za80i2mf4gacgq9fm1";
     };
 
     meta = redshift.meta // {
diff --git a/nixpkgs/pkgs/applications/misc/remarkable/rmapi/default.nix b/nixpkgs/pkgs/applications/misc/remarkable/rmapi/default.nix
index 6a4beec6a5ec..0c1d9cf20e9c 100644
--- a/nixpkgs/pkgs/applications/misc/remarkable/rmapi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/remarkable/rmapi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "rmapi";
-  version = "0.0.18";
+  version = "0.0.19";
 
   src = fetchFromGitHub {
     owner = "juruen";
     repo = "rmapi";
     rev = "v${version}";
-    sha256 = "sha256-Yrq21eiyNem9P219FxuQMHpagKQDaNsASwi2REaDAgk=";
+    sha256 = "sha256-HXWE6688jhRQQEiZuPfuJStSQeueqoWwwa+PfneHprw=";
   };
 
   vendorSha256 = "sha256-gu+BU2tL/xZ7D6lZ1ueO/9IB9H3NNm4mloCZaGqZskU=";
diff --git a/nixpkgs/pkgs/applications/misc/remarkable/rmview/default.nix b/nixpkgs/pkgs/applications/misc/remarkable/rmview/default.nix
index 98253fc30598..4147909892f7 100644
--- a/nixpkgs/pkgs/applications/misc/remarkable/rmview/default.nix
+++ b/nixpkgs/pkgs/applications/misc/remarkable/rmview/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "rmview";
-  version = "3.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "bordaigorl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zEl2uduSJvqhO5YPrH5ixps+IR5A0CIDwXHI+KvoT4Q=";
+    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/nixpkgs/pkgs/applications/misc/rivercarro/default.nix b/nixpkgs/pkgs/applications/misc/rivercarro/default.nix
new file mode 100644
index 000000000000..3d7720d25968
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/rivercarro/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, zig
+, river
+, wayland
+, pkg-config
+, scdoc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rivercarro";
+  version = "0.1.2";
+
+  src = fetchFromSourcehut {
+    owner = "~novakane";
+    repo = pname;
+    fetchSubmodules = true;
+    rev = "v${version}";
+    sha256 = "07md837ki0yln464w8vgwyl3yjrvkz1p8alxlmwqfn4w45nqhw77";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    river
+    scdoc
+    wayland
+    zig
+  ];
+
+  dontConfigure = true;
+
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    zig build -Drelease-safe -Dcpu=baseline -Dman-pages --prefix $out install
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://git.sr.ht/~novakane/rivercarro";
+    description = "A layout generator for river Wayland compositor, fork of rivertile";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kraem ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/misc/rofi-emoji/default.nix b/nixpkgs/pkgs/applications/misc/rofi-emoji/default.nix
index 1d232d8a3fad..58adba4499fa 100644
--- a/nixpkgs/pkgs/applications/misc/rofi-emoji/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rofi-emoji/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-emoji";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "Mange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01f9nw54mbwlj00mclf7qc2y95riaihzznbbmp0wc4c52pvxki4q";
+    sha256 = "sha256-y+WJYSiDXYvg+N3wok44hJ8Tuqrd3E63pZyiYx0NWXg=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix b/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix
index 3de8a94b6264..0dff62cca229 100644
--- a/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rofi-file-browser/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-file-browser-extended";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "marvinkreis";
     repo = pname;
     rev = version;
-    sha256 = "1grcal8ga4gpaj3p1dvx4zmqai93jjz2izpj91lxwj0dbz1gmbdm";
+    sha256 = "sha256-UEFv0skFzWhgFkmz1h8uV1ygW977zNq1Dw8VAawqUgw=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/rofi/default.nix b/nixpkgs/pkgs/applications/misc/rofi/default.nix
index bce4b297cda6..1d7c183ea7af 100644
--- a/nixpkgs/pkgs/applications/misc/rofi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rofi/default.nix
@@ -23,14 +23,14 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-unwrapped";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "davatorium";
     repo = "rofi";
     rev = version;
     fetchSubmodules = true;
-    sha256 = "vre8kFou01P7S6KBBtfzvfFP554mhV+d6rjvY+GfWXk=";
+    sha256 = "sha256-bUedRRmrfdmzNW+2PzJvLbCTIWta2rbQ3CTLRSdJqbs=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/applications/misc/rofi/wayland.nix b/nixpkgs/pkgs/applications/misc/rofi/wayland.nix
new file mode 100644
index 000000000000..ac0d1c216a4b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/rofi/wayland.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, rofi-unwrapped
+, wayland-protocols
+, wayland
+}:
+
+rofi-unwrapped.overrideAttrs (oldAttrs: rec {
+  pname = "rofi-wayland-unwrapped";
+  version = "1.7.3+wayland1";
+
+  src = fetchFromGitHub {
+    owner = "lbonn";
+    repo = "rofi";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "sha256-qvIxWxiQj42VgScSsrF1Yf6ifgEbZes0flNbbwc3O8I=";
+  };
+
+  nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ wayland-protocols ];
+  buildInputs = oldAttrs.buildInputs ++ [ wayland ];
+
+  meta = with lib; {
+    description = "Window switcher, run dialog and dmenu replacement for Wayland";
+    homepage = "https://github.com/lbonn/rofi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bew ];
+    platforms = with platforms; linux;
+  };
+})
diff --git a/nixpkgs/pkgs/applications/misc/scli/default.nix b/nixpkgs/pkgs/applications/misc/scli/default.nix
index 3809283e62a8..05223aeb5c12 100644
--- a/nixpkgs/pkgs/applications/misc/scli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/scli/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "scli";
-  version = "0.6.5";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "isamert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lykxkqscvpzb7bvl8kfaf23mjhr2kaaqdg0756xx4z1m0smpkgy";
+    sha256 = "sha256-DUDf5FlcNZzZASa8vTc72Z1/Dk+iAhtcgVJtjDUwyEo=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/applications/misc/sigi/default.nix b/nixpkgs/pkgs/applications/misc/sigi/default.nix
new file mode 100644
index 000000000000..731608db7da1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/sigi/default.nix
@@ -0,0 +1,28 @@
+{ lib, rustPlatform, fetchCrate, installShellFiles, testVersion, sigi }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sigi";
+  version = "3.0.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-1xZMj6NjwA9pVOEL4CDv4XHC3usu3WdjsLJuW3vgxc8=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installManPage sigi.1
+  '';
+
+  cargoSha256 = "sha256-NUWm2GkK7bASo6bAOgQgHate45iDG5l3G/KhtLrjzQ8=";
+
+  passthru.tests.version = testVersion { package = sigi; };
+
+  meta = with lib; {
+    description = "CLI tool for organization and planning";
+    homepage = "https://github.com/hiljusti/sigi";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ hiljusti ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/skate/default.nix b/nixpkgs/pkgs/applications/misc/skate/default.nix
index f7d3173b0f2a..1c5dcc7be546 100644
--- a/nixpkgs/pkgs/applications/misc/skate/default.nix
+++ b/nixpkgs/pkgs/applications/misc/skate/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-rUOFx0ebZs3xmsSz9oFvjINaHp9gIe7E/5UoJJ47aZc=";
   };
 
-  vendorSha256 = "sha256-3+KXirGwZvPhqCeglPqHJ9wEt6naJiRE3TAX7/jxJpk=";
+  vendorSha256 = "sha256-2jyhDSPO/Xg3xBCA93SMSlm7D+ze0MGbNtRpL82IAsk=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/misc/slides/default.nix b/nixpkgs/pkgs/applications/misc/slides/default.nix
index a7c0f6f7047f..7287958d99ed 100644
--- a/nixpkgs/pkgs/applications/misc/slides/default.nix
+++ b/nixpkgs/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 = "06vb5xnss6ibgbsny6cadphfkzw8z3np5qgn3hp2wpf3hxgcnnvs";
+  vendorSha256 = "sha256-i+bbSwiH7TD+huxpTREThxnPkQZTMQJO7AP4kTlCseo=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/applications/misc/smos/default.nix b/nixpkgs/pkgs/applications/misc/smos/default.nix
deleted file mode 100644
index 1039deb43a11..000000000000
--- a/nixpkgs/pkgs/applications/misc/smos/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, unzip
-}:
-
-stdenv.mkDerivation rec {
-  pname = "smos";
-  version = "0.1.0";
-
-  src = fetchurl {
-    url = "https://github.com/NorfairKing/smos/releases/download/v${version}/smos-release.zip";
-    sha256 = "sha256:07yavk7xl92yjwwjdig90yq421n8ldv4fjfw7izd4hfpzw849a12";
-  };
-
-  dontInstall = true;
-
-  unpackCmd = "${unzip}/bin/unzip -d $out $curSrc";
-  sourceRoot = ".";
-
-  meta = with lib; {
-    description = "A comprehensive self-management system";
-    homepage = "https://smos.online";
-    license = licenses.mit;
-    maintainers = with maintainers; [ norfair ];
-    platforms = platforms.linux ++ platforms.darwin;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix b/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix
index c6b178d75b03..6f2b43785c7a 100644
--- a/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix
+++ b/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snapmaker-luban";
-  version = "4.1.2";
+  version = "4.1.4";
 
   src = fetchurl {
     url = "https://github.com/Snapmaker/Luban/releases/download/v${version}/snapmaker-luban-${version}-linux-x64.tar.gz";
-    sha256 = "sha256-gS3MyXD5B9YQ+EXmIPZ+rDUE5H1AjRL64yXQX+5TM2Q=";
+    sha256 = "sha256-hbqIwX6YCrUQAjvKKWFAUjHvcZycnIA6v6l6qmAMuUI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/solaar/default.nix b/nixpkgs/pkgs/applications/misc/solaar/default.nix
index e4e149df0ec8..39eadc843700 100644
--- a/nixpkgs/pkgs/applications/misc/solaar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/solaar/default.nix
@@ -13,13 +13,13 @@
 # logitech-udev-rules instead of adding this to services.udev.packages on NixOS
 python3Packages.buildPythonApplication rec {
   pname = "solaar";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
     rev = version;
-    sha256 = "sha256-rNz296pKw2/WaryxHekWHSAS1jdTviZxXDgO/L/PJCU=";
+    sha256 = "1yqxk6nfxc1xhk59qbz9m3wqkxv446g17pazvanpavriiysjzbrs";
   };
 
   nativeBuildInputs = [ wrapGAppsHook gdk-pixbuf ];
diff --git a/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix b/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
index 2f42f6be9b59..7617984ac910 100644
--- a/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "2.8.3";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "khanhas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ht+EDCoPn1dA8VHTEiq5xPm34lcsiug8jQHvQdCG2yg=";
+    sha256 = "sha256-Rs70LmJ/+pbISQpPuEYV2URFv7uf+jdTVQopUSKExSY=";
   };
 
   vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
diff --git a/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix b/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix
index 8b97d9c4851b..2ba37830749d 100644
--- a/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix
+++ b/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk3 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3 }:
 
 stdenv.mkDerivation rec {
   pname = "spotify-tray";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-E86rA8cBjy/bI7sZHlT40o7i23PcONXT5GTHEfcaDf0=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-building-with-automake-1.16.5.patch";
+      url = "https://github.com/tsmetana/spotify-tray/commit/1305f473ba4a406e907b98c8255f23154f349613.patch";
+      sha256 = "sha256-u2IopfMzNCu2F06RZoJw3OAsRxxZYdIMnKnyb7/KBgk=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [ gtk3 ];
diff --git a/nixpkgs/pkgs/applications/misc/sqliteman/default.nix b/nixpkgs/pkgs/applications/misc/sqliteman/default.nix
index a0ddf8db053e..556c635e60b4 100644
--- a/nixpkgs/pkgs/applications/misc/sqliteman/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sqliteman/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, qt4, qscintilla }:
+{ lib, stdenv, fetchFromGitHub, cmake, qt4, qscintilla-qt4 }:
 
 stdenv.mkDerivation rec {
   pname = "sqliteman";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 qscintilla ];
+  buildInputs = [ qt4 qscintilla-qt4 ];
 
   prePatch = ''
     sed -i 's,m_file(0),m_file(QString()),' Sqliteman/sqliteman/main.cpp
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     cd Sqliteman
-    sed -i 's,/usr/include/Qsci,${qscintilla}/include/Qsci,' cmake/modules/FindQScintilla.cmake
-    sed -i 's,PATHS ''${QT_LIBRARY_DIR},PATHS ${qscintilla}/libs,' cmake/modules/FindQScintilla.cmake
+    sed -i 's,/usr/include/Qsci,${qscintilla-qt4}/include/Qsci,' cmake/modules/FindQScintilla.cmake
+    sed -i 's,PATHS ''${QT_LIBRARY_DIR},PATHS ${qscintilla-qt4}/libs,' cmake/modules/FindQScintilla.cmake
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/stork/default.nix b/nixpkgs/pkgs/applications/misc/stork/default.nix
index 7ff59d9baa30..11face45145b 100644
--- a/nixpkgs/pkgs/applications/misc/stork/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/subsurface/default.nix b/nixpkgs/pkgs/applications/misc/subsurface/default.nix
index ba3880aa201d..02bf65761f01 100644
--- a/nixpkgs/pkgs/applications/misc/subsurface/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/surface-control/default.nix b/nixpkgs/pkgs/applications/misc/surface-control/default.nix
index e4b354845dde..d8708c5a3df1 100644
--- a/nixpkgs/pkgs/applications/misc/surface-control/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/survex/default.nix b/nixpkgs/pkgs/applications/misc/survex/default.nix
index 277230965884..f8f8b5b553ca 100644
--- a/nixpkgs/pkgs/applications/misc/survex/default.nix
+++ b/nixpkgs/pkgs/applications/misc/survex/default.nix
@@ -9,7 +9,7 @@
 , proj_7
 , perl532
 , unscii
-, python
+, python2
 , libGL
 , libGLU
 , xlibsWrapper
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   pname = "survex";
   version = "1.2.44";
 
-  nativeBuildInputs = [ docbook5 docbook2x autoreconfHook pkg-config perlenv python ];
+  nativeBuildInputs = [ docbook5 docbook2x autoreconfHook pkg-config perlenv python2 ];
 
   buildInputs = [
     libGL libGLU ffmpeg proj_7
diff --git a/nixpkgs/pkgs/applications/misc/swaynotificationcenter/default.nix b/nixpkgs/pkgs/applications/misc/swaynotificationcenter/default.nix
new file mode 100644
index 000000000000..a93436362adf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/swaynotificationcenter/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, vala
+, gtk3
+, glib
+, gtk-layer-shell
+, dbus
+, dbus-glib
+, json-glib
+, librsvg
+, libhandy
+, gobject-introspection
+, gdk-pixbuf
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "SwayNotificationCenter";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "ErikReider";
+    repo = "SwayNotificationCenter";
+    rev = "v${version}";
+    hash = "sha256-gXo/V2FHkHZBRmaimqJCzi0BqS4tP9IniIlubBmK5u0=";
+  };
+
+  nativeBuildInputs = [ gobject-introspection meson ninja pkg-config vala wrapGAppsHook ];
+
+  buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 json-glib libhandy librsvg ];
+
+  meta = with lib; {
+    description = "Simple notification daemon with a GUI built for Sway";
+    homepage = "https://github.com/ErikReider/SwayNotificationCenter";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.berbiche ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/tagtime/default.nix b/nixpkgs/pkgs/applications/misc/tagtime/default.nix
new file mode 100644
index 000000000000..d21621058bca
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/tagtime/default.nix
@@ -0,0 +1,79 @@
+{ lib, stdenv, fetchFromGitHub, perl, xterm, coreutils }:
+
+stdenv.mkDerivation {
+  pname = "tagtime";
+  version = "2018-09-02";
+
+  src = fetchFromGitHub {
+    owner = "tagtime";
+    repo = "TagTime";
+    rev = "59343e2cbe451eb16109e782c194ccbd0ee4196d";
+    sha256 = "1xpmra3f9618b0gajfxqh061r4phkiklvcgpglsyx82bhmgf9n1f";
+  };
+
+  buildInputs = [
+    perl
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{libexec,bin}
+
+    # We don’t support a config file for now,
+    # since it’s not entirely clear how to split nix-set paths
+    # from the actual config options.
+    for pl in *.pl; do
+      substituteInPlace "$pl" \
+        --replace 'require "$ENV{HOME}/.tagtimerc";' \
+                  'require "${placeholder "out"}/libexec/settings.pl";'
+    done;
+
+    install tagtimed.pl $out/bin/tagtimed
+
+    substituteInPlace util.pl \
+      --replace '/usr/bin/touch' \
+                '${coreutils}/bin/touch' \
+      --replace '/bin/rm -f $lockf' \
+                '${coreutils}/bin/rm -f $lockf' \
+      --replace '$lockf = "''${path}tagtime.lock";' \
+                'mkdir "$ENV{HOME}/.cache/tagtime";
+    $lockf = "$ENV{HOME}/.cache/tagtime/tagtime.lock";'
+
+    mv *.pl $out/libexec/
+    mv template.tsk $out/libexec/
+
+
+    # set the default template arguments to sane defaults.
+    substitute settings.pl.template $out/libexec/settings.pl \
+      --replace '"__USER__"' \
+                'getlogin()' \
+      --replace '"__PATH__"' \
+                '"${placeholder "out"}/libexec/"' \
+      --replace '$logf = "$path$usr.log";' \
+                'mkdir "$ENV{HOME}/.local/share/tagtime";
+    $logf = "$ENV{HOME}/.local/share/tagtime/pings.log";' \
+      --replace '"__ED__ +"' \
+                '$ENV{"EDITOR"}' \
+      --replace '"__XT__"' \
+                '"${xterm}/bin/xterm"'
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Stochastic Time Tracking for Space Cadets";
+    longDescription = ''
+      To determine how you spend your time, TagTime literally randomly samples
+      you. At random times it pops up and asks what you're doing right at that
+      moment. You answer with tags.
+
+      See https://messymatters.com/tagtime for the whole story.
+
+      [maintainer’s note]: This is the original perl script implementation.
+    '';
+    homepage = "http://messymatters.com/tagtime/";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.Profpatsch ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
index ae25ce358deb..c65f9b5b84b6 100644
--- a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taskwarrior-tui";
-  version = "0.13.35";
+  version = "0.18.5";
 
   src = fetchFromGitHub {
     owner = "kdheepak";
     repo = "taskwarrior-tui";
     rev = "v${version}";
-    sha256 = "sha256-sXJto2YygPz2B5y7m8uUfOhuRCbKkZGoCmzHOhvH2MU=";
+    sha256 = "sha256-Rztz/qye+VsZ0czPt6xk4PwK0e6Aq1GC404+843W55Y=";
   };
 
   # Because there's a test that requires terminal access
   doCheck = false;
 
-  cargoSha256 = "sha256-mUlwpH2XhVDtjV7ChEqlEUXffOIbips4FzQyGejFvWk=";
+  cargoSha256 = "sha256-H2A78ACz4TxHxCCtcOuzrfAk4awU6/HC/TlHLNtb/bk=";
 
   meta = with lib; {
     description = "A terminal user interface for taskwarrior ";
diff --git a/nixpkgs/pkgs/applications/misc/ticker/default.nix b/nixpkgs/pkgs/applications/misc/ticker/default.nix
index 62a4151010aa..e345c344f902 100644
--- a/nixpkgs/pkgs/applications/misc/ticker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ticker/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-KICxcfZLBwCo12p5R9wt7Tk440wkUIE7G6lGfWIdxR8=";
   };
 
-  vendorSha256 = "sha256-aPL3npryiCv+SiSyEUNhdPCDmM/hJDMspCbSNy+SuoA=";
+  vendorSha256 = "sha256-1FnewgsKlOnBAdm7vyBngrFsDHNCzpZA3IDccxALeJ8=";
 
   ldflags = [
     "-s" "-w" "-X github.com/achannarasappa/ticker/cmd.Version=v${version}"
diff --git a/nixpkgs/pkgs/applications/misc/tiv/default.nix b/nixpkgs/pkgs/applications/misc/tiv/default.nix
index 1ee176166ea4..3a46d2db9be8 100644
--- a/nixpkgs/pkgs/applications/misc/tiv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix b/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix
index bcd277cad4aa..fa77f3b52993 100644
--- a/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix
+++ b/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron, libsecret }:
+{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_15, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "todoist-electron";
-  version = "1.0.1";
+  version = "1.0.3";
 
   src = fetchurl {
     url = "https://electron-dl.todoist.com/linux/Todoist-${version}.AppImage";
-    sha256 = "1c4qmfyfi4hm3fs5bkxjbq1hxs5sgyp531xi5z5vpnzzi5z7dw0k";
+    sha256 = "sha256-bHX/RWDfe+ht66U7xg4HBZxeWlNBu4gYlIVd+9OuMNU=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+    makeWrapper ${electron_15}/bin/electron $out/bin/${pname} \
       --add-flags $out/share/${pname}/resources/app.asar \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc libsecret ]}"
   '';
diff --git a/nixpkgs/pkgs/applications/misc/toggldesktop/default.nix b/nixpkgs/pkgs/applications/misc/toggldesktop/default.nix
index dfd68fd5ac19..6623a8775a93 100644
--- a/nixpkgs/pkgs/applications/misc/toggldesktop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/toggldesktop/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkg-config
+{ mkDerivation, lib, fetchFromGitHub, buildEnv, makeDesktopItem, runCommand, writeText, pkg-config
 , cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco
 , qtbase, qtwebengine, qtx11extras, sqlite }:
 
@@ -6,18 +6,22 @@ let
   name = "toggldesktop-${version}";
   version = "7.4.231";
 
-  src = fetchzip {
-    url = "https://github.com/toggl/toggldesktop/archive/v${version}.tar.gz";
-    sha256 = "01hqkx9dljnhwnyqi6mmzfp02hnbi2j50rsfiasniqrkbi99x9v1";
+  src = fetchFromGitHub {
+    owner = "toggl";
+    repo = "toggldesktop";
+    rev = "v${version}";
+    sha256 = "sha256-YaeeUlwz42i1ik5nUKSIy0IBrvu1moi95dBK2lKfGAY=";
   };
 
   bugsnag-qt = mkDerivation rec {
     pname = "bugsnag-qt";
     version = "20180522.005732";
 
-    src = fetchzip {
-      url = "https://github.com/alpakido/bugsnag-qt/archive/${version}.tar.gz";
-      sha256 = "02s6mlggh0i4a856md46dipy6mh47isap82jlwmjr7hfsk2ykgnq";
+    src = fetchFromGitHub {
+      owner = "alpakido";
+      repo = "bugsnag-qt";
+      rev = version;
+      sha256 = "sha256-2L7pxdQOniwrp1Kgq3Q8BFbjb2yGtGoKUiQC+B6tRgs=";
     };
 
     nativeBuildInputs = [ qmake ];
@@ -28,9 +32,11 @@ let
     pname = "qxtglobalshortcut";
     version = "f584471dada2099ba06c574bdfdd8b078c2e3550";
 
-    src = fetchzip {
-      url = "https://github.com/hluk/qxtglobalshortcut/archive/${version}.tar.gz";
-      sha256 = "1iy17gypav10z8aa62s5jb6mq9y4kb9ms4l61ydmk3xwlap7igw1";
+    src = fetchFromGitHub {
+      owner = "hluk";
+      repo = "qxtglobalshortcut";
+      rev = version;
+      sha256 = "sha256-gb94rqK8j1mbD4YSXdOaxCdczZJFC6MU+iBsdf07wcc=";
     };
 
     nativeBuildInputs = [ cmake ];
@@ -41,9 +47,11 @@ let
     pname = "qt-oauth-lib";
     version = "20190125.190943";
 
-    src = fetchzip {
-      url = "https://github.com/alpakido/qt-oauth-lib/archive/${version}.tar.gz";
-      sha256 = "0zmfgvdf6n79mgfvbda7lkdxxlzjmy86436gqi2r5x05vq04sfrj";
+    src = fetchFromGitHub {
+      owner = "alpakido";
+      repo = "qt-oauth-lib";
+      rev = version;
+      sha256 = "sha256-MjtNAN4F9JJFxM8MYpCv8tPe26RHtbXdq+lY49p+rn4=";
     };
 
     nativeBuildInputs = [ qmake ];
diff --git a/nixpkgs/pkgs/applications/misc/tomboy/default.nix b/nixpkgs/pkgs/applications/misc/tomboy/default.nix
deleted file mode 100644
index 5aaec7a1e600..000000000000
--- a/nixpkgs/pkgs/applications/misc/tomboy/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, itstool, intltool, pkg-config
-, libxml2, gnome2, atk, gtk2, glib
-, mono, mono-addins, dbus-sharp-2_0, dbus-sharp-glib-2_0, gnome-sharp, gtk-sharp-2_0
-, makeWrapper, lib}:
-
-let
-  version = "1.15.9";
-in
-
-stdenv.mkDerivation {
-  pname = "tomboy";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://github.com/tomboy-notes/tomboy/releases/download/${version}/tomboy-${version}.tar.xz";
-    sha256 = "0j5jmd079bm2fydqaic5ymbfdxna3qlx6fkp2mqhgcdr7prsbl3q";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ itstool intltool
-    libxml2 gnome2.GConf atk gtk2
-    mono mono-addins dbus-sharp-2_0 dbus-sharp-glib-2_0 gnome-sharp gtk-sharp-2_0
-    makeWrapper ];
-
-  postInstall = ''
-    makeWrapper "${mono}/bin/mono" "$out/bin/tomboy" \
-      --add-flags "$out/lib/tomboy/Tomboy.exe" \
-      --prefix MONO_GAC_PREFIX : ${dbus-sharp-2_0} \
-      --prefix MONO_GAC_PREFIX : ${dbus-sharp-glib-2_0} \
-      --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \
-      --prefix MONO_GAC_PREFIX : ${gnome-sharp} \
-      --prefix MONO_GAC_PREFIX : ${mono-addins} \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk-sharp-2_0 gtk-sharp-2_0.gtk gnome2.GConf ]}
-  '';
-
-  meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Tomboy";
-    description = "A simple note-taking application with synchronization";
-    platforms = platforms.linux;
-    license = lib.licenses.lgpl2;
-    maintainers = with maintainers; [ stesie ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/topydo/default.nix b/nixpkgs/pkgs/applications/misc/topydo/default.nix
index c591c969ca9b..352d21361b04 100644
--- a/nixpkgs/pkgs/applications/misc/topydo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/topydo/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "topydo";
-  version = "0.13";
+  version = "0.14";
 
   src = fetchFromGitHub {
     owner = "bram85";
     repo = pname;
     rev = version;
-    sha256 = "0b3dz137lpbvpjvfy42ibqvj3yk526x4bpn819fd11lagn77w69r";
+    sha256 = "1lpfdai0pf90ffrzgmmkadbd86rb7250i3mglpkc82aj6prjm6yb";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/tty-share/default.nix b/nixpkgs/pkgs/applications/misc/tty-share/default.nix
index 08c88e376bb6..7e76d4a4e0bc 100644
--- a/nixpkgs/pkgs/applications/misc/tty-share/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/ttyper/default.nix b/nixpkgs/pkgs/applications/misc/ttyper/default.nix
index d2bed3dce0a2..321cdb8e0bc1 100644
--- a/nixpkgs/pkgs/applications/misc/ttyper/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ttyper/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ttyper";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "max-niederman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UptjgFGp4QNG8eLuqBzg/Kd5p5Rms3yT172hbf/2hi4=";
+    sha256 = "sha256-e001uftwIwnCpjf4OH89QWaYyT99aMZhCPqDxyAsHyU=";
   };
 
-  cargoSha256 = "sha256-N10X5eJlpDKmCEffEXpkAejS32Lz183Lup0mmLMwOSU=";
+  cargoSha256 = "sha256-RvqktyPZtdKC8RVtLWpT1YYsdgyfHaL7W3+vO8RgG/8=";
 
   meta = with lib; {
     description = "Terminal-based typing test";
diff --git a/nixpkgs/pkgs/applications/misc/tuhi/default.nix b/nixpkgs/pkgs/applications/misc/tuhi/default.nix
new file mode 100644
index 000000000000..4bd0c914d3a1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/tuhi/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, pkg-config
+, python3Packages
+, meson
+, ninja
+, appstream-glib
+, desktop-file-utils
+, glib
+, gtk3
+, gobject-introspection
+, wrapGAppsHook
+, fetchFromGitHub
+}:
+
+python3Packages.buildPythonApplication rec {
+  name = "tuhi";
+  version = "0.5";
+
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "tuhiproject";
+    repo = name;
+    rev = "${version}";
+    sha256 = "17kggm9c423vj7irxx248fjc8sxvkp9w1mgawlx1snrii817p3db";
+  };
+
+  dontWrapGApps = true;
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  nativeBuildInputs = [
+    pkg-config meson ninja
+    appstream-glib desktop-file-utils
+    wrapGAppsHook
+  ];
+  buildInputs = [
+    gtk3 gobject-introspection
+    glib
+  ];
+  checkInputs = with python3Packages; [ flake8 pytest ];
+  propagatedBuildInputs = with python3Packages; [
+    svgwrite pyxdg pycairo pygobject3 setuptools-scm
+  ];
+
+  strictDeps = false;
+  preConfigure = ''
+    substituteInPlace meson_install.sh \
+      --replace "/usr/bin/env sh" "sh"
+  '';
+  postFixup = ''
+    wrapPythonProgramsIn $out/libexec "$out $pythonPath"
+  '';
+
+  meta = with lib; {
+    description = "DBus daemon to access Wacom SmartPad devices";
+    homepage = "https://github.com/tuhiproject/tuhi";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lammermann ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/udevil/default.nix b/nixpkgs/pkgs/applications/misc/udevil/default.nix
index 9d1df5245edc..536d800001b2 100644
--- a/nixpkgs/pkgs/applications/misc/udevil/default.nix
+++ b/nixpkgs/pkgs/applications/misc/udevil/default.nix
@@ -1,4 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, intltool, glib, pkg-config, udev, util-linux, acl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, acl
+, glib
+, intltool
+, pkg-config
+, udev
+, util-linux
+}:
 
 stdenv.mkDerivation rec {
   pname = "udevil";
@@ -13,32 +22,41 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ intltool glib udev ];
+  buildInputs = [
+    glib
+    intltool
+    udev
+  ];
 
-  configurePhase = ''
+  preConfigure = ''
     substituteInPlace src/Makefile.in --replace "-o root -g root" ""
     # do not set setuid bit in nix store
     substituteInPlace src/Makefile.in --replace 4755 0755
-    ./configure \
-      --prefix=$out \
-      --with-mount-prog=${util-linux}/bin/mount \
-      --with-umount-prog=${util-linux}/bin/umount \
-      --with-losetup-prog=${util-linux}/bin/losetup \
-      --with-setfacl-prog=${acl.bin}/bin/setfacl \
-      --sysconfdir=$prefix/etc
   '';
 
+  configureFlags = [
+    "--with-mount-prog=${util-linux}/bin/mount"
+    "--with-umount-prog=${util-linux}/bin/umount"
+    "--with-losetup-prog=${util-linux}/bin/losetup"
+    "--with-setfacl-prog=${acl.bin}/bin/setfacl"
+    "--sysconfdir=${placeholder "out"}/etc"
+  ];
+
   postInstall = ''
     substituteInPlace $out/lib/systemd/system/devmon@.service \
       --replace /usr/bin/devmon "$out/bin/devmon"
   '';
 
-  patches = [ ./device-info-sys-stat.patch ];
+  patches = [
+    # sys/stat.h header missing on src/device-info.h
+    ./device-info-sys-stat.patch
+  ];
 
   meta = with lib; {
-    description = "A command line Linux program which mounts and unmounts removable devices without a password, shows device info, and monitors device changes";
     homepage = "https://ignorantguru.github.io/udevil/";
-    platforms = platforms.linux;
+    description = "Mount without password";
     license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/udiskie/default.nix b/nixpkgs/pkgs/applications/misc/udiskie/default.nix
index 7563fa0ca3d6..fb9c7021b15b 100644
--- a/nixpkgs/pkgs/applications/misc/udiskie/default.nix
+++ b/nixpkgs/pkgs/applications/misc/udiskie/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchFromGitHub
-, asciidoc-full
 , buildPythonApplication
+, asciidoc-full
 , docopt
 , gettext
 , gobject-introspection
@@ -19,15 +19,17 @@
 
 buildPythonApplication rec {
   pname = "udiskie";
-  version = "2.3.3";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "coldfix";
     repo = "udiskie";
     rev = "v${version}";
-    hash = "sha256-OeNAcL7jd8GiPVUGxWwX4N/G/jzxfyifaoSD/hXXwyM=";
+    hash = "sha256-T4kMPMXfehZT7P+TOd1llR2TbHPA/quNL545xxlmJfE=";
   };
 
+  outputs = [ "out" "man" ];
+
   nativeBuildInputs = [
     asciidoc-full # Man page
     gettext
@@ -40,7 +42,7 @@ buildPythonApplication rec {
     gtk3
     libappindicator-gtk3
     libnotify
-    librsvg # Because it uses SVG icons
+    librsvg # SVG icons
     udisks2
   ];
 
@@ -50,11 +52,13 @@ buildPythonApplication rec {
     pyyaml
   ];
 
-  postBuild = "make -C doc";
+  postBuild = ''
+    make -C doc
+  '';
 
   postInstall = ''
-    mkdir -p $out/share/man/man8
-    cp -v doc/udiskie.8 $out/share/man/man8/
+    mkdir -p $man/share/man/man8
+    cp -v doc/udiskie.8 $man/share/man/man8/
   '';
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/urlscan/default.nix b/nixpkgs/pkgs/applications/misc/urlscan/default.nix
index 6ccaa8ff2e26..690f2148e5ff 100644
--- a/nixpkgs/pkgs/applications/misc/urlscan/default.nix
+++ b/nixpkgs/pkgs/applications/misc/urlscan/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urlscan";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = pname;
     rev = version;
-    sha256 = "sha256-KQXEiDg5KRCMFFyDlR8D6CQTxRdIZx4/U1csTFCr0sU=";
+    sha256 = "sha256-ZJdmsb+2ElgLFWsicc0S8EQAZhF+gnn+ARgdAyaFDgc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/variety/default.nix b/nixpkgs/pkgs/applications/misc/variety/default.nix
index 948719aae762..3d5b99eb1713 100644
--- a/nixpkgs/pkgs/applications/misc/variety/default.nix
+++ b/nixpkgs/pkgs/applications/misc/variety/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, lib, fetchFromGitHub
-, python3Packages
-, fehSupport ? false, feh
-, imagemagickSupport ? true, imagemagick
-, intltool
-, gtk3
+{ lib
+, stdenv
+, fetchFromGitHub
 , gexiv2
-, libnotify
 , gobject-introspection
+, gtk3
 , hicolor-icon-theme
+, intltool
+, libnotify
 , librsvg
+, python3
+, runtimeShell
 , wrapGAppsHook
-, makeWrapper
+, fehSupport ? false, feh
+, imagemagickSupport ? true, imagemagick
 }:
 
-with python3Packages;
-
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "variety";
   version = "0.8.5";
 
@@ -26,9 +26,34 @@ buildPythonApplication rec {
     sha256 = "sha256-6dLz4KXavXwnk5GizBH46d2EHMHPjRo0WnnUuVMtI1M=";
   };
 
-  nativeBuildInputs = [ makeWrapper intltool wrapGAppsHook ];
+  nativeBuildInputs = [
+    intltool
+    wrapGAppsHook
+  ];
 
-  buildInputs = [ distutils_extra ];
+  propagatedBuildInputs = [
+   gexiv2
+   gobject-introspection
+   gtk3
+   hicolor-icon-theme
+   libnotify
+   librsvg
+  ]
+  ++ (with python3.pkgs; [
+    beautifulsoup4
+    configobj
+    dbus-python
+    distutils_extra
+    httplib2
+    lxml
+    pillow
+    pycairo
+    pygobject3
+    requests
+    setuptools
+  ])
+  ++ lib.optional fehSupport feh
+  ++ lib.optional imagemagickSupport imagemagick;
 
   doCheck = false;
 
@@ -38,33 +63,14 @@ buildPythonApplication rec {
 
   prePatch = ''
     substituteInPlace variety_lib/varietyconfig.py \
-      --replace "__variety_data_directory__ = \"../data\"" "__variety_data_directory__ = \"$out/share/variety\""
+      --replace "__variety_data_directory__ = \"../data\"" \
+                "__variety_data_directory__ = \"$out/share/variety\""
     substituteInPlace data/scripts/set_wallpaper \
-      --replace /bin/bash ${stdenv.shell}
+      --replace /bin/bash ${runtimeShell}
     substituteInPlace data/scripts/get_wallpaper \
-      --replace /bin/bash ${stdenv.shell}
+      --replace /bin/bash ${runtimeShell}
   '';
 
-  propagatedBuildInputs = [
-    beautifulsoup4
-    configobj
-    dbus-python
-    gexiv2
-    gobject-introspection
-    gtk3
-    hicolor-icon-theme
-    httplib2
-    libnotify
-    librsvg
-    lxml
-    pillow
-    pycairo
-    pygobject3
-    requests
-    setuptools
-  ] ++ lib.optional fehSupport feh
-    ++ lib.optional imagemagickSupport imagemagick;
-
   meta = with lib; {
     homepage = "https://github.com/varietywalls/variety";
     description = "A wallpaper manager for Linux systems";
@@ -80,8 +86,7 @@ buildPythonApplication rec {
       Variety also includes a range of image effects, such as oil painting and
       blur, as well as options to layer quotes and a clock onto the background.
     '';
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ p3psi AndersonTorres zfnmxt ];
-    platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/vifm/default.nix b/nixpkgs/pkgs/applications/misc/vifm/default.nix
index 2765cd5ad7aa..e3f2e80c47a5 100644
--- a/nixpkgs/pkgs/applications/misc/vifm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vifm/default.nix
@@ -38,7 +38,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2;
     downloadPage = "https://vifm.info/downloads.shtml";
     homepage = "https://vifm.info/";
-    updateWalker = true;
     changelog = "https://github.com/vifm/vifm/blob/v${version}/ChangeLog";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/waybar/default.nix b/nixpkgs/pkgs/applications/misc/waybar/default.nix
index 38ea7c909c05..5e5e1bead5a1 100644
--- a/nixpkgs/pkgs/applications/misc/waybar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/waybar/default.nix
@@ -15,6 +15,7 @@
 , gtk-layer-shell
 , howard-hinnant-date
 , libxkbcommon
+, runTests        ? true,  catch2
 , traySupport     ? true,  libdbusmenu-gtk3
 , pulseSupport    ? true,  libpulseaudio
 , sndioSupport    ? true,  sndio
@@ -29,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "waybar";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner = "Alexays";
     repo = "Waybar";
     rev = version;
-    sha256 = "sha256-XOguhbvlO3iUyk5gWOvimipXV8yqnia0LKoSA1wiKoE=";
+    sha256 = "sha256-yXvT9NMXtUxr9VVLADoL6PUOMko5yFFc51zNsfHz6S4=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +61,9 @@ stdenv.mkDerivation rec {
     ++ optional  swaySupport  sway
     ++ optional  mpdSupport   libmpdclient;
 
+  checkInputs = [ catch2 ];
+  doCheck = runTests;
+
   mesonFlags = (lib.mapAttrsToList
     (option: enable: "-D${option}=${if enable then "enabled" else "disabled"}")
     {
@@ -70,6 +74,7 @@ stdenv.mkDerivation rec {
       libudev = udevSupport;
       mpd = mpdSupport;
       rfkill = rfkillSupport;
+      tests = runTests;
     }
   ) ++ [
     "-Dsystemd=disabled"
diff --git a/nixpkgs/pkgs/applications/misc/weather/default.nix b/nixpkgs/pkgs/applications/misc/weather/default.nix
index 12edfe280be7..6149c52e7753 100644
--- a/nixpkgs/pkgs/applications/misc/weather/default.nix
+++ b/nixpkgs/pkgs/applications/misc/weather/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pythonPackages, installShellFiles }:
+{ lib, stdenv, fetchurl, python3, installShellFiles }:
 
 stdenv.mkDerivation rec {
   version = "2.4.2";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     installShellFiles
-    pythonPackages.wrapPython
+    python3.pkgs.wrapPython
   ];
 
   dontConfigure = true;
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   # Upstream doesn't provide a setup.py or alike, so we follow:
   # http://fungi.yuggoth.org/weather/doc/install.rst#id3
   installPhase = ''
-    site_packages=$out/${pythonPackages.python.sitePackages}
+    site_packages=$out/${python3.sitePackages}
     install -Dt $out/bin -m 755 weather
     install -Dt $site_packages weather.py
     install -Dt $out/share/weather-util \
diff --git a/nixpkgs/pkgs/applications/misc/whalebird/default.nix b/nixpkgs/pkgs/applications/misc/whalebird/default.nix
index b2475bf1d837..d478655eed1b 100644
--- a/nixpkgs/pkgs/applications/misc/whalebird/default.nix
+++ b/nixpkgs/pkgs/applications/misc/whalebird/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "whalebird";
-  version = "4.4.6";
+  version = "4.5.1";
 
   src = fetchurl {
     url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb";
-    sha256 = "sha256-Q67y6VO7U8EatMNWyJo4f9IHKylQSX7bNR0DH4bnH+A=";
+    sha256 = "sha256-70fCyxiM4CiNuG4Lqr4Tq0FHak3wDcp8G93EKYj+0kc=";
   };
 
   nativeBuildInputs = [
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     # Necessary steps to find the tray icon
     asar extract opt/Whalebird/resources/app.asar "$TMP/work"
     substituteInPlace $TMP/work/dist/electron/main.js \
-      --replace "Mo,\"tray_icon.png\"" "\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
+      --replace "jo,\"tray_icon.png\"" "\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
     asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" opt/Whalebird/resources/app.asar
 
     runHook postBuild
diff --git a/nixpkgs/pkgs/applications/misc/wike/default.nix b/nixpkgs/pkgs/applications/misc/wike/default.nix
index 94875c6aaab6..c3e5a505722c 100644
--- a/nixpkgs/pkgs/applications/misc/wike/default.nix
+++ b/nixpkgs/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.6.3";
+  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-yyifRUf7oITV9lpnHnadZwHOKHr0Z+4bjCV/WoYs6vY=";
+    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/nixpkgs/pkgs/applications/misc/wtf/default.nix b/nixpkgs/pkgs/applications/misc/wtf/default.nix
index 6fdfe92da253..e29d58039a04 100644
--- a/nixpkgs/pkgs/applications/misc/wtf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wtf/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.40.0";
+  version = "0.41.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hd5gnydxfncsmm7c58lvhkpnyxknvicc8f58xfh74azf363wcvm";
+    sha256 = "sha256-Y8Vdh6sMMX8pS4zIuOfcejfsOB5z5mXEpRskJXQgU1Y=";
   };
 
-  vendorSha256 = "1pkdfg042kg3b6m5rf044gz5yg6vp3bbsay1mrrbaysnb3gs51dq";
+  vendorSha256 = "sha256-UE7BYal8ycU7mM1TLJMhoNxQKZjtsO9rJ+YXmLiOSk0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/misc/xchm/default.nix b/nixpkgs/pkgs/applications/misc/xchm/default.nix
index a7037522c627..2d90a836446e 100644
--- a/nixpkgs/pkgs/applications/misc/xchm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xchm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xchm";
-  version = "1.32";
+  version = "1.33";
 
   src = fetchFromGitHub {
     owner = "rzvncj";
     repo = "xCHM";
     rev = version;
-    sha256 = "sha256-Ss8kdfUAMC8v05rdt2SoO6vPyssG5v8gOzdf/v18cdg=";
+    sha256 = "sha256-8HQaXxZQwfBaWc22GivKri1vZEnZ23anSfriCvmLHHw=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/misc/xdg-launch/default.nix b/nixpkgs/pkgs/applications/misc/xdg-launch/default.nix
index 973acbbf65a5..bf5b0484c867 100644
--- a/nixpkgs/pkgs/applications/misc/xdg-launch/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xdg-launch/default.nix
@@ -12,7 +12,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "xdg-launch";
-  version = "1.11";
+  version = "1.12";
 
   postPatch = ''
     # fix gettext configuration
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "bbidulock";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qrBxyJ3dUNdnE1nANLKKL0cXw/Hc4qxDoY1anIRN+VA=";
+    sha256 = "sha256-S/0Wn1T5MSOPN6QXkzfmygHL6XTAnnMJr5Z3fBzsHEw=";
   };
 
   preConfigure = "./autogen.sh";
diff --git a/nixpkgs/pkgs/applications/misc/xiphos/0001-Add-dbus-glib-dependency-to-main.patch b/nixpkgs/pkgs/applications/misc/xiphos/0001-Add-dbus-glib-dependency-to-main.patch
new file mode 100644
index 000000000000..71cb57ccef18
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/xiphos/0001-Add-dbus-glib-dependency-to-main.patch
@@ -0,0 +1,38 @@
+From 0e9e686c902935c0f00afdf9d0d45f9635995988 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Sat, 15 Jan 2022 05:00:37 +0100
+Subject: [PATCH] Add dbus-glib dependency to main
+
+It is required through the ipc header and the build will fail without it on Nix:
+
+	In file included from /build/source/src/main/search_sidebar.cc:48:
+	/build/source/src/gui/ipc.h:26:10: fatal error: dbus/dbus-glib.h: No such file or directory
+	   26 | #include <dbus/dbus-glib.h>
+	      |          ^~~~~~~~~~~~~~~~~~
+	compilation terminated.
+---
+ src/main/CMakeLists.txt | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
+index 49b86371..bb8e4bb6 100644
+--- a/src/main/CMakeLists.txt
++++ b/src/main/CMakeLists.txt
+@@ -74,3 +74,14 @@ target_link_libraries(main
+   PkgConfig::Sword
+   PkgConfig::Biblesync
+   )
++
++IF (DBUS)
++  target_include_directories (main
++    PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
++    PkgConfig::DBus
++    )
++  target_link_libraries(main
++    PRIVATE
++    PkgConfig::DBus
++    )
++ENDIF (DBUS)
+-- 
+2.34.1
+
diff --git a/nixpkgs/pkgs/applications/misc/xiphos/default.nix b/nixpkgs/pkgs/applications/misc/xiphos/default.nix
index 01706011e2d5..994127baca6d 100644
--- a/nixpkgs/pkgs/applications/misc/xiphos/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xiphos/default.nix
@@ -1,44 +1,101 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config
-, python
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, appstream-glib
+, biblesync
+, cmake
+, dbus-glib
+, desktop-file-utils
+, docbook2x
+, docbook_xml_dtd_412
+, enchant2
+, glib
+, gtk3
+, gtkhtml
+, icu
 , intltool
-, docbook2x, docbook_xml_dtd_412, libxslt
-, sword, clucene_core, biblesync
-, gnome-doc-utils
-, libgsf, gconf
-, gtkhtml, libglade, scrollkeeper
+, isocodes
+, itstool
+, libuuid
+, libxslt
+, minizip
+, pkg-config
+, sword
 , webkitgtk
-, dbus-glib, enchant, isocodes, libuuid, icu
 , wrapGAppsHook
-, wafHook
+, yelp-tools
+, zip
 }:
 
 stdenv.mkDerivation rec {
   pname = "xiphos";
-  version = "4.1.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "crosswire";
     repo = "xiphos";
     rev = version;
-    sha256 = "14il9k4i58qbc78hcadw3gqy21sb9q661d75vlj6fwpczbzj7x1a";
+    hash = "sha256-H5Q+azE2t3fgu77C9DxrkeUCJ7iJz3Cc91Ln4dqLvD8=";
   };
 
-  nativeBuildInputs = [ pkg-config wrapGAppsHook wafHook ];
-  buildInputs = [ python intltool docbook2x docbook_xml_dtd_412 libxslt
-                  sword clucene_core biblesync gnome-doc-utils libgsf gconf gtkhtml
-                  libglade scrollkeeper webkitgtk dbus-glib enchant isocodes libuuid icu ];
+  patches = [
+    # GLIB_VERSION_MIN_REQUIRED is not defined.
+    # https://github.com/crosswire/xiphos/issues/1083#issuecomment-820304874
+    (fetchpatch {
+      name ="xiphos-glibc.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/xiphos-glibc.patch?h=xiphos&id=bb816f43ba764ffac1287ab1e2a649c2443e3ce8";
+      sha256 = "he3U7phU2/QCrZidHviupA7YwzudnQ9Jbb8eMZw6/ck=";
+      extraPrefix = "";
+    })
 
-  prePatch = ''
-    patchShebangs .;
-  '';
+    # Fix D-Bus build
+    # https://github.com/crosswire/xiphos/pull/1103
+    ./0001-Add-dbus-glib-dependency-to-main.patch
+  ];
+
+  nativeBuildInputs = [
+    appstream-glib # for appstream-util
+    cmake
+    desktop-file-utils # for desktop-file-validate
+    docbook2x
+    docbook_xml_dtd_412
+    intltool
+    itstool
+    libxslt
+    pkg-config
+    wrapGAppsHook
+    yelp-tools # for yelp-build
+    zip # for building help epubs
+  ];
+
+  buildInputs = [
+    biblesync
+    dbus-glib
+    enchant2
+    glib
+    gtk3
+    gtkhtml
+    icu
+    isocodes
+    libuuid
+    minizip
+    sword
+    webkitgtk
+  ];
+
+  cmakeFlags = [
+    # WebKit-based editor does not build.
+    "-DGTKHTML=ON"
+  ];
 
   preConfigure =  ''
-    export CLUCENE_HOME=${clucene_core};
+    # The build script won't continue without the version saved locally.
+    echo "${version}" > cmake/source_version.txt
+
     export SWORD_HOME=${sword};
   '';
 
-  wafConfigureFlags = [ "--enable-webkit2" ];
-
   meta = with lib; {
     description = "A GTK Bible study tool";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/misc/xmrig/default.nix b/nixpkgs/pkgs/applications/misc/xmrig/default.nix
index dc3415ac7699..e40a0d7e5ade 100644
--- a/nixpkgs/pkgs/applications/misc/xmrig/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "6.16.2";
+  version = "6.16.4";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "sha256-RbpvEPjRwwGbjt4+A4tbnvEdLc+hH1VszE36xXnIxPE=";
+    sha256 = "sha256-hfdKhTUGoVN4DIURO+e3MOSpsL6GWxOV3LItd0nA51Y=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix b/nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix
index 94af6d130b98..25f27bd5063a 100644
--- a/nixpkgs/pkgs/applications/misc/xmrig/moneroocean.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/xplr/default.nix b/nixpkgs/pkgs/applications/misc/xplr/default.nix
index 856f48437f51..0a18975d7c09 100644
--- a/nixpkgs/pkgs/applications/misc/xplr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xplr/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xplr";
-  version = "0.15.2";
+  version = "0.17.2";
 
   src = fetchFromGitHub {
     owner = "sayanarijit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1znb6n9xbzbi9sif76xlwnqrzkh50g9yz6k36m0hm5iacd1fapab";
+    sha256 = "sha256-iy03ucPFbFL/rRILt9P+NtfdGoIpjutbUDrykpZkAtk=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
-  cargoSha256 = "0gbhkpha02ymr861av0fmyz6h007ajwkqcajq8hrnfzjk8rii47m";
+  cargoSha256 = "sha256-VeV/vsM2XCg9h8KoYmniCmo/MJHjwcfn/tUCoZ1rKzM=";
 
   meta = with lib; {
     description = "A hackable, minimal, fast TUI file explorer";
diff --git a/nixpkgs/pkgs/applications/misc/yambar/default.nix b/nixpkgs/pkgs/applications/misc/yambar/default.nix
index 45dba0a93125..88b5046d1797 100644
--- a/nixpkgs/pkgs/applications/misc/yambar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/yambar/default.nix
@@ -27,18 +27,19 @@
 
 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";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "yambar";
     rev = version;
-    sha256 = "sha256-NzJrlPOkzstMbw37yBTah/uFYezlPB/1hrxCiXduSmc=";
+    hash = "sha256-zXhIXT3JrVSllnYheDU2KK3NE2VYa+xuKufIXjdMFjU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/yarssr/default.nix b/nixpkgs/pkgs/applications/misc/yarssr/default.nix
deleted file mode 100644
index d031f63a097a..000000000000
--- a/nixpkgs/pkgs/applications/misc/yarssr/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ fetchFromGitHub, stdenv, lib, gettext, gtk2, makeWrapper, perlPackages, gnome2 }:
-
-let
-  perlDeps = with perlPackages; [
-    Glib
-    Gtk2
-    Gnome2
-    Pango
-    Cairo
-    Gnome2Canvas
-    Gnome2VFS
-    Gtk2GladeXML
-    Gtk2TrayIcon
-    XMLLibXML
-    XMLSAXBase
-    XMLParser
-    XMLRSS
-    HTMLParser
-    DateTime
-    DateTimeFormatMail
-    DateTimeFormatW3CDTF
-    DateTimeLocale
-    DateTimeTimeZone
-    ParamsValidate
-    ModuleImplementation
-    ModuleRuntime
-    TryTiny
-    ClassSingleton
-    URI
-    AnyEvent
-    AnyEventHTTP
-    commonsense
-    FileSlurp
-    JSON
-    Guard
-    LocaleGettext
-  ];
-  libs = [
-    stdenv.cc.cc.lib
-    gtk2
-  ];
-in
-stdenv.mkDerivation {
-  version = "unstable-2017-12-01";
-  pname = "yarssr";
-
-  src = fetchFromGitHub {
-    owner = "JGRennison";
-    repo = "yarssr";
-    rev = "e70eb9fc6563599bfb91c6de6a79654de531c18d";
-    sha256 = "0x7hz8x8qyp3i1vb22zhcnvwxm3jhmmmlr22jqc5b09vpmbw1l45";
-  };
-
-  nativeBuildInputs = [ perlPackages.perl gettext makeWrapper ];
-  buildInputs = perlDeps ++ [ gnome2.libglade ];
-  propagatedBuildInputs = libs ++ perlDeps;
-
-  installPhase = ''
-    DESTDIR=$out make install
-    mv $out/usr/* $out/
-    rm -R $out/usr
-    sed -i -r "s!use lib [^;]+;!use lib '$out/share/yarssr';!" $out/bin/yarssr
-    sed -i -r "s!$Yarssr::PREFIX = [^;]+;!$Yarssr::PREFIX = '$out';!" $out/bin/yarssr
-    sed -i -r "s!use Yarssr::Browser;!!" $out/share/yarssr/Yarssr/GUI.pm
-    chmod a+x $out/bin/yarssr
-  '';
-
-  postFixup = ''
-    wrapProgram $out/bin/yarssr \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath libs} \
-      --set PERL5LIB "${perlPackages.makePerlPath perlDeps}"
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/tsyrogit/zxcvbn-c";
-    description = "A fork of Yarssr (a RSS reader for the GNOME Tray) from http://yarssr.sf.net with various fixes";
-    license = licenses.gpl1;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ xurei ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/misc/yate/default.nix b/nixpkgs/pkgs/applications/misc/yate/default.nix
index 3046638ec4a6..bffe67491c35 100644
--- a/nixpkgs/pkgs/applications/misc/yate/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/zathura/default.nix b/nixpkgs/pkgs/applications/misc/zathura/default.nix
index 1548b0581b65..67fe3032d05c 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zathura/default.nix
@@ -30,4 +30,4 @@ let
     };
   };
 
-in self.zathuraWrapper
+in self
diff --git a/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix b/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
index ccbde19d2aa3..60ff0bd68854 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
+++ b/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
@@ -11,7 +11,7 @@ symlinkJoin {
   in ''
     makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \
       --prefix PATH ":" "${lib.makeBinPath [ file ]}" \
-      --add-flags --plugins-dir="$out/lib/zathura"
+      --prefix ZATHURA_PLUGINS_PATH : "$out/lib/zathura"
 
     # zathura fish completion references the zathura_core derivation to
     # check for supported plugins which live in the wrapper derivation,
diff --git a/nixpkgs/pkgs/applications/misc/zettlr/default.nix b/nixpkgs/pkgs/applications/misc/zettlr/default.nix
index 65aca548e4c3..794967609152 100644
--- a/nixpkgs/pkgs/applications/misc/zettlr/default.nix
+++ b/nixpkgs/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.0.2";
+  version = "2.2.2";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
-    sha256 = "sha256-AUGfD7FFB5+pfKyIqvychD4mvFU+GTRneQTRI+8bwBM=";
+    sha256 = "sha256-gCnIEwnwlX7Wy9sjJVtKx8HhtPAoPMUOKvl71TQn6Ew=";
   };
   appimageContents = appimageTools.extractType2 {
     inherit name src;
diff --git a/nixpkgs/pkgs/applications/misc/zola/default.nix b/nixpkgs/pkgs/applications/misc/zola/default.nix
index 2c205424fe4e..f6ed2daf8ec7 100644
--- a/nixpkgs/pkgs/applications/misc/zola/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zola/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zola";
-  version = "0.15.2";
+  version = "0.15.3";
 
   src = fetchFromGitHub {
     owner = "getzola";
     repo = "zola";
     rev = "v${version}";
-    sha256 = "sha256-X4J3T/ob0NfCFxddadBtsPsDhfvesg6/sBJybWeubMM=";
+    sha256 = "sha256-LK8twqWaS+SQ3oqvMGE7oP/IJNLvQ45Pu92pkbSKzDs=";
   };
 
-  cargoSha256 = "sha256-0tynm/DTX2oiqZOdWjRBGPk8IPIN07x2+FCXQmQ4Fzo=";
+  cargoSha256 = "sha256-7W0vjbAWZl/eKBZvUWWWolEOh8aQeKegt823EebcKMQ=";
 
   nativeBuildInputs = [
     cmake
diff --git a/nixpkgs/pkgs/applications/networking/aether/default.nix b/nixpkgs/pkgs/applications/networking/aether/default.nix
index ddb137137cf3..5682091237b4 100644
--- a/nixpkgs/pkgs/applications/networking/aether/default.nix
+++ b/nixpkgs/pkgs/applications/networking/aether/default.nix
@@ -9,31 +9,27 @@
 
 let
   binaryName = "AetherP2P";
+  aether-app-git = fetchFromGitHub {
+    owner = "aethereans";
+    repo = "aether-app";
+    rev = "53b6c8b2a9253cbf056ea3ebb077e0e08cbc5b1d";
+    sha256 = "1kgkzh7ih2q9dsckdkinh5dbzvr7gdykf8yz6h8pyhvzyjhk1v0r";
+  };
 in
 stdenv.mkDerivation rec {
   pname = "aether";
   version = "2.0.0-dev.15";
 
-  srcs = [
-    (fetchurl {
-      url = "https://static.getaether.net/Releases/Aether-${version}/2011262249.19338c93/linux/Aether-${version}%2B2011262249.19338c93.tar.gz";
-      sha256 = "1hi8w83zal3ciyzg2m62shkbyh6hj7gwsidg3dn88mhfy68himf7";
-      # % in the url / canonical filename causes an error
-      name = "aether-tarball.tar.gz";
-    })
-    (fetchFromGitHub {
-      owner = "aethereans";
-      repo = "aether-app";
-      rev = "53b6c8b2a9253cbf056ea3ebb077e0e08cbc5b1d";
-      sha256 = "1kgkzh7ih2q9dsckdkinh5dbzvr7gdykf8yz6h8pyhvzyjhk1v0r";
-    })
-  ];
-
-  sourceRoot = "Aether-${version}+2011262249.19338c93";
+  src = fetchurl {
+    url = "https://static.getaether.net/Releases/Aether-${version}/2011262249.19338c93/linux/Aether-${version}%2B2011262249.19338c93.tar.gz";
+    sha256 = "1hi8w83zal3ciyzg2m62shkbyh6hj7gwsidg3dn88mhfy68himf7";
+    # % in the url / canonical filename causes an error
+    name = "aether-tarball.tar.gz";
+  };
 
   # there is no logo in the tarball so we grab it from github and convert it in the build phase
   buildPhase = ''
-    convert ../source/aether-core/aether/client/src/app/ext_dep/images/Linux-Windows-App-Icon.png -resize 512x512 aether.png
+    convert ${aether-app-git}/aether-core/aether/client/src/app/ext_dep/images/Linux-Windows-App-Icon.png -resize 512x512 aether.png
   '';
 
   dontWrapGApps = true;
diff --git a/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix b/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix
index e795e71554ef..987f6e0c1ca2 100644
--- a/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix
@@ -87,11 +87,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "appgate-sdp";
-  version = "5.5.1";
+  version = "5.5.3";
 
   src = fetchurl {
     url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
-    sha256 = "sha256-gN9UAdn61qUZBJLi/9QiHjNRohbQQDV1uVHgcpuXq+Y=";
+    sha256 = "sha256-qSo4JX/Jj+JkeetZIMw88MK7SzOgT8aNbQby2kJ91oo=";
   };
 
   # just patch interpreter
diff --git a/nixpkgs/pkgs/applications/networking/bee/bee.nix b/nixpkgs/pkgs/applications/networking/bee/bee.nix
index 0e269bf9ab3f..d2f1740a573d 100644
--- a/nixpkgs/pkgs/applications/networking/bee/bee.nix
+++ b/nixpkgs/pkgs/applications/networking/bee/bee.nix
@@ -62,7 +62,7 @@ buildGoModule {
   '';
 
   meta = with lib; {
-    homepage = "https://swarm.ethereum.org/";
+    homepage = "https://github.com/ethersphere/bee";
     description = "Ethereum Swarm Bee";
     longDescription = ''
       A decentralised storage and communication system for a sovereign digital society.
diff --git a/nixpkgs/pkgs/applications/networking/blocky/default.nix b/nixpkgs/pkgs/applications/networking/blocky/default.nix
new file mode 100644
index 000000000000..842cbe30309d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/blocky/default.nix
@@ -0,0 +1,33 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, nixosTests
+}:
+
+buildGoModule rec {
+  pname = "blocky";
+  version = "0.17";
+
+  src = fetchFromGitHub {
+    owner = "0xERR0R";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-vG6QAI8gBI2nLRQ0nOFWQHihyzgmJu69rgkWlg3iW3E=";
+  };
+
+  # 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=";
+
+  meta = with lib; {
+    description = "Fast and lightweight DNS proxy as ad-blocker for local network with many features.";
+    homepage = "https://0xerr0r.github.io/blocky";
+    changelog = "https://github.com/0xERR0R/blocky/releases";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ratsclub ];
+  };
+
+  passthru.tests = { inherit (nixosTests) blocky; };
+}
diff --git a/nixpkgs/pkgs/applications/networking/breitbandmessung/default.nix b/nixpkgs/pkgs/applications/networking/breitbandmessung/default.nix
new file mode 100644
index 000000000000..31f33be38670
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/breitbandmessung/default.nix
@@ -0,0 +1,153 @@
+{ lib
+, stdenv
+, alsa-lib
+, at-spi2-atk
+, at-spi2-core
+, atk
+, autoPatchelfHook
+, cairo
+, cups
+, dbus
+, dpkg
+, expat
+, fetchurl
+, gdk-pixbuf
+, glib
+, gtk3
+, libdrm
+, libxkbcommon
+, makeWrapper
+, mesa
+, nixosTests
+, nspr
+, nss
+, pango
+, pciutils
+, systemd
+, undmg
+, writeShellScriptBin
+, xorg
+}:
+
+let
+  inherit (stdenv.hostPlatform) system;
+
+  version = "3.1.0";
+
+  # At first start, the program checks for supported operating systems by calling `lsb_release -a`
+  # and only runs when it finds Debian/Ubuntu. So we present us as Debian an make it happy.
+  fake-lsb-release = writeShellScriptBin "lsb_release" ''
+    echo "Distributor ID: Debian"
+    echo "Description:    Debian GNU/Linux 10 (buster)"
+    echo "Release:        10"
+    echo "Codename:       buster"
+  '';
+
+  binPath = lib.makeBinPath [
+    fake-lsb-release
+  ];
+
+  systemArgs = rec {
+    x86_64-linux = rec {
+      src = fetchurl {
+        url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-linux.deb";
+        sha256 = "sha256-jSP+H9ej9Wd+swBZSy9uMi2ExSTZ191FGZhqaocTl7w=";
+      };
+
+      dontUnpack = true;
+
+      nativeBuildInputs = [
+        autoPatchelfHook
+        dpkg
+        makeWrapper
+      ];
+
+      buildInputs = runtimeDependencies;
+
+      runtimeDependencies = [
+        alsa-lib
+        at-spi2-atk
+        at-spi2-core
+        atk
+        cairo
+        cups
+        dbus
+        expat
+        gdk-pixbuf
+        glib
+        gtk3
+        libdrm
+        libxkbcommon
+        mesa
+        nspr
+        nss
+        pango
+        pciutils
+        systemd
+        xorg.libX11
+        xorg.libXcomposite
+        xorg.libXdamage
+        xorg.libXext
+        xorg.libXfixes
+        xorg.libXrandr
+        xorg.libxcb
+        xorg.libxshmfence
+      ];
+
+      installPhase = ''
+        dpkg-deb -x $src $out
+        mkdir -p $out/bin
+
+        chmod -R g-w $out
+
+        addAutoPatchelfSearchPath --no-recurse $out/opt/Breitbandmessung
+        autoPatchelfFile $out/opt/Breitbandmessung/breitbandmessung
+
+        makeWrapper $out/opt/Breitbandmessung/breitbandmessung $out/bin/breitbandmessung \
+          --prefix PATH : ${binPath}
+
+        mv $out/usr/share $out/share
+        rmdir $out/usr
+
+        # Fix the desktop link
+        substituteInPlace $out/share/applications/breitbandmessung.desktop \
+          --replace /opt/Breitbandmessung $out/bin
+      '';
+
+      dontAutoPatchelf = true;
+      dontPatchELF = true;
+    };
+
+    x86_64-darwin = {
+      src = fetchurl {
+        url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-mac.dmg";
+        sha256 = "sha256-2c8mDKJuHDSw7p52EKnJO5vr2kNTLU6r9pmGPANjE20=";
+      };
+
+      nativeBuildInputs = [ undmg ];
+
+      installPhase = ''
+        runHook preInstall
+        mkdir -p $out/Applications/Breitbandmessung.app
+        cp -R . $out/Applications/Breitbandmessung.app
+        runHook postInstall
+      '';
+    };
+
+    aarch64-darwin = x86_64-darwin;
+  }.${system} or { src = throw "Unsupported system: ${system}"; };
+in
+stdenv.mkDerivation ({
+  pname = "breitbandmessung";
+  inherit version;
+
+  passthru.tests = { inherit (nixosTests) breitbandmessung; };
+
+  meta = with lib; {
+    description = "Broadband internet speed test app from the german Bundesnetzagentur";
+    homepage = "https://www.breitbandmessung.de";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ b4dm4n ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+  };
+} // systemArgs)
diff --git a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
index 464085d2116d..6fb29619ab9d 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
+++ b/nixpkgs/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.33.106";
+  version = "1.35.103";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "XSqlQyc6gJthchfmq29d5+OVVSaxYG7zpVZNFZpl67s=";
+    sha256 = "UgperKruN2quKdFTf/iTa+dd2GB57nt+mu6KBe4VvYk=";
   };
 
   dontConfigure = true;
@@ -174,7 +172,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://brave.com/";
     description = "Privacy-oriented browser for Desktop and Laptop computers";
-    changelog = "https://github.com/brave/brave-browser/blob/master/CHANGELOG_DESKTOP.md";
+    changelog = "https://github.com/brave/brave-browser/blob/master/CHANGELOG_DESKTOP.md#" + lib.replaceStrings [ "." ] [ "" ] version;
     longDescription = ''
       Brave browser blocks the ads and trackers that slow you down,
       chew up your bandwidth, and invade your privacy. Brave lets you
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
index 7edec1f5a625..0f021b207508 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
@@ -266,7 +266,7 @@ let
       google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
 
       # Optional features:
-      use_gio = gnomeSupport;
+      use_gio = gnomeSupport || chromiumVersionAtLeast "99";
       use_gnome_keyring = gnomeKeyringSupport;
       use_cups = cupsSupport;
 
@@ -292,7 +292,6 @@ let
       enable_hangout_services_extension = false;
       enable_js_type_check = false;
       enable_mdns = false;
-      enable_nacl_nonsfi = false;
       enable_one_click_signin = false;
       enable_reading_list = false;
       enable_remoting = false;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
index c4521c89caa6..b3738ed8c1dd 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
@@ -182,8 +182,9 @@ in stdenv.mkDerivation {
   in with lib; ''
     mkdir -p "$out/bin"
 
-    eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
-      --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)}
+    makeWrapper "${browserBinary}" "$out/bin/chromium" \
+      --add-flags ${escapeShellArg commandLineArgs} \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
 
     ed -v -s "$out/bin/chromium" << EOF
     2i
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py b/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py
index b0fbe20db8ef..85ebb8a7b935 100755
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/get-commit-message.py
@@ -39,7 +39,7 @@ for entry in feed.entries:
         print('chromium: TODO -> ' + version + '\n')
     print(url)
     if fixes := re.search(r'This update includes .+ security fixes\.', content).group(0):
-        zero_days = re.search(r'Google is aware( of reports)? that .+ in the wild\.', content)
+        zero_days = re.search(r'Google is aware( of reports)? th(e|at) .+ in the wild\.', content)
         if zero_days:
             fixes += " " + zero_days.group(0)
         print('\n' + '\n'.join(textwrap.wrap(fixes, width=72)))
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
index e373fac57915..d5af18534863 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,63 +1,63 @@
 {
   "stable": {
-    "version": "96.0.4664.110",
-    "sha256": "1s3ilq0ik36qgqp7l88gfd1yx97zscn8yr2kprsrjfp9q8lrva9n",
-    "sha256bin64": "17cyj1jx47fz6y26f196xhlngrw5gnjgcvapvgkgswlwd7y67jcb",
+    "version": "98.0.4758.102",
+    "sha256": "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1",
+    "sha256bin64": "0pfrakkfqw6ni96s2d0z50mpd63maic9rsc64zd85vh2jkmzskw6",
     "deps": {
       "gn": {
-        "version": "2021-09-24",
+        "version": "2021-12-07",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "0153d369bbccc908f4da4993b1ba82728055926a",
-        "sha256": "0y4414h8jqsbz5af6pn91c0vkfp4s281s85g992xfyl785c5zbsi"
+        "rev": "fc295f3ac7ca4fe7acc6cb5fb052d22909ef3a8f",
+        "sha256": "02bx3bp85kkis704gndb6jvjph7gv3ij746bq4anl30kfrkpcifh"
       }
     },
     "chromedriver": {
-      "version": "96.0.4664.45",
-      "sha256_linux": "15wybxlh38sw7f2bzalf9ivfp8262cpcvhq08nw9d2cj3j39f13m",
-      "sha256_darwin": "0r3b8wgbd8xjb09f4vc402gp77y2aqjk9hpqvvr6xgdr7nqym20f",
-      "sha256_darwin_aarch64": "1yynw8ngs2655blnf1s6r9flbxlwgaybdvgl6r6h7ppl974dl7rm"
+      "version": "98.0.4758.102",
+      "sha256_linux": "054qm8agzj6axvasa7b10cz4jz8zfmmblvvifdnyhn4p3zqx74im",
+      "sha256_darwin": "1m6slaw7lqhlhmjjyaam7c21yyahpi34fv9vldqhra07b5r88dny",
+      "sha256_darwin_aarch64": "0n0lsk75dxv94b2zv25yqysyfbvbqhfql3bbp9abl1jcp00m8s3l"
     }
   },
   "beta": {
-    "version": "97.0.4692.71",
-    "sha256": "0z7ximvm4a78kxyp4j0i2jzklxazpw6jcqi9jkaf8bvq9ga8kqca",
-    "sha256bin64": "18wr4pgzfcvvdpvvxhpd4as2qnyggq9f8z90ikdz8yj8i71l5wnc",
+    "version": "99.0.4844.35",
+    "sha256": "085vsfp08y4vmv73z37ncynvax645qm302h883skx9xk4yyjkynj",
+    "sha256bin64": "18kys3f0zjkrp1x2vkcc9vx6vhj5yfrpb88lli7ql6q9b0ijjjn4",
     "deps": {
       "gn": {
-        "version": "2021-11-03",
+        "version": "2022-01-10",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "90294ccdcf9334ed25a76ac9b67689468e506342",
-        "sha256": "0n0jml8s00ayy186jzrf207hbz70pxiq426znxwxd4gjcp60scsa"
+        "rev": "80a40b07305373617eba2d5878d353532af77da3",
+        "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
       }
     }
   },
   "dev": {
-    "version": "98.0.4758.9",
-    "sha256": "1sq6v2hdhpk12w37sz7jf5vwkn72ydcqzcxysf7hs2flcfgscydj",
-    "sha256bin64": "1jfj08jpxji2q890zbvpvmgf5bjqgvigkr1hg8ch8vaaybs5wr04",
+    "version": "100.0.4892.0",
+    "sha256": "03f003prk0vqxac7l0sp3nfhh3adlrdx60dklm74v504ykdw84yn",
+    "sha256bin64": "00033b2iq3aw5pvgm5nbh99sz8mj98rj32h1m6iw2xxwqaij06qw",
     "deps": {
       "gn": {
-        "version": "2021-12-07",
+        "version": "2022-01-21",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "fc295f3ac7ca4fe7acc6cb5fb052d22909ef3a8f",
-        "sha256": "02bx3bp85kkis704gndb6jvjph7gv3ij746bq4anl30kfrkpcifh"
+        "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
+        "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "96.0.4664.110",
-    "sha256": "1s3ilq0ik36qgqp7l88gfd1yx97zscn8yr2kprsrjfp9q8lrva9n",
-    "sha256bin64": "17cyj1jx47fz6y26f196xhlngrw5gnjgcvapvgkgswlwd7y67jcb",
+    "version": "98.0.4758.102",
+    "sha256": "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1",
+    "sha256bin64": "0pfrakkfqw6ni96s2d0z50mpd63maic9rsc64zd85vh2jkmzskw6",
     "deps": {
       "gn": {
-        "version": "2021-09-24",
+        "version": "2021-12-07",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "0153d369bbccc908f4da4993b1ba82728055926a",
-        "sha256": "0y4414h8jqsbz5af6pn91c0vkfp4s281s85g992xfyl785c5zbsi"
+        "rev": "fc295f3ac7ca4fe7acc6cb5fb052d22909ef3a8f",
+        "sha256": "02bx3bp85kkis704gndb6jvjph7gv3ij746bq4anl30kfrkpcifh"
       },
       "ungoogled-patches": {
-        "rev": "96.0.4664.110-1",
-        "sha256": "098mfcd1lr2hhlic0i1l5gxsq71axvqnn4gayr4r9j6nbj9byf4h"
+        "rev": "98.0.4758.102-1",
+        "sha256": "0baz90fnzpldw0wwibhmh4pmki7vlpci9b9vvifa0rj5cwckl8a0"
       }
     }
   }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/falkon/default.nix b/nixpkgs/pkgs/applications/networking/browsers/falkon/default.nix
index f39ae2f16691..6b525fbca9f7 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/falkon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 5a38d9d8d7a0..7fa0ae18549f 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 29a506dd1b03..8df80ab526a6 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index eab96830a8de..c3d034cd5a1e 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 0a7d185d59b2..25ae29459f03 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "95.0.2";
+  version = "97.0.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ach/firefox-95.0.2.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 = "30c3158285d010145b154249c1182a2a705881b18194166bbbf72d6f2fae45ce";
+      sha256 = "a10737964c66f46a15ca60c29575a837340e9b967c849809717c7009c3a01c20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/af/firefox-95.0.2.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 = "293b4f0d6ca7bb1ab8f51acb8a97894e81ef6ff36832a84b05f4789856001654";
+      sha256 = "a6ef82107f918234c84da51b49bc2018910e855ac4e7e5cc3a0e71f3583140b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/an/firefox-95.0.2.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 = "27a437c1a44594e7b6c7b2200031635cb5c10d529337b764d97e7c5529c9e82b";
+      sha256 = "34f5a0461707feffce732749958f508efd729ecedd8567dbe1387bde5e335a66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ar/firefox-95.0.2.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 = "f40e52d8c0012a87153291f55b3418fa6a9569f370b394b86b0d48a80935bcec";
+      sha256 = "5e126bcfa03c79e9ad777d76389a23e109dd852fc98698efc714d37125656f84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ast/firefox-95.0.2.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 = "5ad7e850cca208ae3125c3e628a0ed9bd9b5a7393d6e25b88a83cffa6dc9c7f0";
+      sha256 = "931ae804e75fa4b039eb373a38b2f6fa8dffb852e418789d559d9a9c0612c54e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/az/firefox-95.0.2.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 = "3953a2a6f71ccabcbc6811e92baa7e86d548fa5935f5b149c54ccff94f8a7648";
+      sha256 = "549dda8a1049d074887f187689e73c38b814c1f1896752320f2a03f566bad2c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/be/firefox-95.0.2.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 = "07e1692b749114e441e99509e5da570d2104c598f4335b16fe807bc01baa2943";
+      sha256 = "06b0f7aabf8ed42ee6f021bc37abb44029586f5ddd2673f885f73f94c64032c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/bg/firefox-95.0.2.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 = "a15479f6066404f7def523febf56ea51fc5d51e29302ae65e6022e7c6f6eb3b5";
+      sha256 = "72f5e07d24a2810659fc7d5c9a43214f427286f9a0096d602be0edbdb31d529c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/bn/firefox-95.0.2.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 = "641cf4adc3bc2ee15e60e458aa3c25959355ab511087d2601391694533bd2f11";
+      sha256 = "9f3d0376edd2c74b527190a5d53f0d2a36c371484fe4fff1f91c1d03b0a2dabd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/br/firefox-95.0.2.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 = "0b2e5ff481047324de3bf832e88893b6ff0c632c4e2c3275ad35d36149870ead";
+      sha256 = "befbc0e991718afb4dc5362fa9aaae52a0e60fcac158a666a2b7a7b41eeaf834";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/bs/firefox-95.0.2.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 = "03a65771f51281b8f6f116c794671f8cb42e2a3832027380785785cc47c16e46";
+      sha256 = "a4d41ac7495d4d5311d5e03224a1c75a03fa059b6638666fc0622674ebfc6248";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ca-valencia/firefox-95.0.2.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 = "e42666332c27cd4b8e904f0c9c332971a8d17e12697fe18c7c93a8415f620f0c";
+      sha256 = "2ff1b0f0035374f323fe2bfbacd321394fb040599ed064627f60d24c78571394";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ca/firefox-95.0.2.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 = "915ee8e30d27dec75019956f960a4777cf33a8eaaf86955d9c0d8fe81a2a6e8b";
+      sha256 = "6f979602867721179454d2f6286cbecbf0a14aa0d42ba68ff7d7ca751f15a341";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/cak/firefox-95.0.2.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 = "31e2dfc109314c942e52e0783c1df09959b7bc27961c419a7dcea709d0a27e50";
+      sha256 = "dd8bc5188874f0b5b300a03a7ded9fe059ddf9c9f69112429233f2905a5b329f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/cs/firefox-95.0.2.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 = "5657b42bf6c9baddb68740d05ff75f791d53d5fbe36159db3f3afd16b22e275d";
+      sha256 = "8daef8ab21ad86b68999e052114b17b52d44e64e85b8879b690717c4017aa983";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/cy/firefox-95.0.2.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 = "c553331598f9666a8acb0c54eb47872d6e0e81d5884a4296e69adf3fb93a447a";
+      sha256 = "758d098d80d37b2bf15dcc3b16ad7289439166a3c7321bf815c555d96531589e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/da/firefox-95.0.2.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 = "affb6428a8075a20ab8ed161972297d7841e533ab63d37172fba0fd221933031";
+      sha256 = "6fab3975b94d94809c734ee95cb26d9bcf24af71234a1bc3b8c4db0b97355405";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/de/firefox-95.0.2.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 = "2bc45b8224591336c7ae61e0a2bcc0e3c9e172845cd9d267df118657c4d9e0bb";
+      sha256 = "1b776d58ce3b1d21580f725b065b164a6fc23e5b17d70025830286922f5c1455";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/dsb/firefox-95.0.2.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 = "ab7f31ca329192242baa95738bc762e300f8208cdd9bb825d39fa6f1965b3681";
+      sha256 = "9b9c082e7fe273635b1095e6caebf8645abf3aadcfbc26e098616095d64b2f6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/el/firefox-95.0.2.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 = "2fa3ae5de7cc898a838edd5beb33b706f50536864df60dd958506a0c86a86c77";
+      sha256 = "475676b56b462193d6dd50932893b039e6826d247abf2d46a421415bd19a6c68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/en-CA/firefox-95.0.2.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 = "02ed1a2a567a9554d07a98a6ecae87c1fba977d84c3467347ebaf67142a51584";
+      sha256 = "8c50ad38302dbae2d6737f6a03bc6127c850101c5f17c8a15b85d157b6b39ee5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/en-GB/firefox-95.0.2.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 = "cc4c7a8215f2cdf91cba03c1e9b2b41c35e7d3867946a9f1f829556f8848d59c";
+      sha256 = "e48d9aa35fe906f6e6d99eeffbef212730c15a3b9d5a7090dcf99e3e47eda9ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/en-US/firefox-95.0.2.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 = "f78a41215d168a2a215528a08877b3cc51e0caa3f1a840c27075b3112ef3d7d7";
+      sha256 = "a63d28ae61926c0d7447f57d4e6fb514401d560abb50ce787bb6bd0e9b7b820f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/eo/firefox-95.0.2.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 = "125bd4c7c0b758610165a360a7d754cbe74a75564428314dac88aaaca070b0e7";
+      sha256 = "94394906bbe63f6dd414aa6b0739dc30082128e0e342fd408d33ab99cb01b9f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/es-AR/firefox-95.0.2.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 = "98f889c83e063bb14c1b0893507322a43676383490527c5a4c3c43540d19bcad";
+      sha256 = "9738031b89b434127af39f20609b31ba767a004dc0ccf5d56b965165ab91fb82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/es-CL/firefox-95.0.2.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 = "af09fd6032a2b40a5af5207acb35240462f827abd46edc0336fce79498230b55";
+      sha256 = "ceb4fd38b2b81b16f2faa95995b11e760dad4e710cf4435e6d311245bd6cb483";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/es-ES/firefox-95.0.2.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 = "31fb87e5c96a328db0729cc17900ecd4ced722cb85790fda5781125fb1402f8d";
+      sha256 = "37f94ded6c285c01300ee014f1a55d955a70b980647b8ffd5a0709dc9df34378";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/es-MX/firefox-95.0.2.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 = "c56edc5a194cae8d442ed2119e3e5988923b308b38849879da801fad73814d93";
+      sha256 = "b989f57bc1439e3204c912321df33626a9947691e76cb8bd22fb5bdcd77a86a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/et/firefox-95.0.2.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 = "b9aa36097f1d91e49442b9da2313e6e4604e50a496d41472a707b45d452e22e5";
+      sha256 = "757190b1a6de3cb7d44c005f9b23f745fb67f0c247956007f3ac269d494019cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/eu/firefox-95.0.2.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 = "e47e56023251ea1660e29d0c0e0b6827caad83fd6250a19d4951ebfb29411dbb";
+      sha256 = "092f0378fdfa3fe44f19fc71543609a8b96a9add6f41324d24edf7aa7b446d36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/fa/firefox-95.0.2.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 = "97b597c2c932a26d9addb602ad912dc718b0a195910da42089498ab1e6c8065b";
+      sha256 = "c1d003bdd9f21d6751de57b1e4d8b1057082f48260a94a732e3a3ae180ca186f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ff/firefox-95.0.2.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 = "606034717d76da565c643ac69e3799f7777741130f607073b701786e6fc103a6";
+      sha256 = "af04da4c9528145e7b14bdc5283a41422704c0302675703a84a4bc2b42f8139e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/fi/firefox-95.0.2.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 = "e2a5df47c570ff5fa9eb6e3206d4ef3ae653c7b787916962138cad40745aaf39";
+      sha256 = "e3f7285b7d3666155863bd7d89bb7cf87008b755d34a7b5b04ec63425f7ed6c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/fr/firefox-95.0.2.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 = "d21aeaadad2390663b353445559518d25140f9dc6bf5673e36f44f107690971d";
+      sha256 = "9fa04d611d74ba0688ad7ad7441759015724e61d7303eb211b7f7404603eb1b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/fy-NL/firefox-95.0.2.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 = "6d15d80b73a5295e2ee3cac50f3eb15b5992c2519fe916eeae3df52f90a28927";
+      sha256 = "0d017580e4847f644d8b4b8d8e90aba0a92f3b3aa436b9de68f176f7f3b00cb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ga-IE/firefox-95.0.2.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 = "3aca43ca905a894173ee2063d170ef4d348bfbfef9bd2a6b9ffdab3effef6725";
+      sha256 = "73c602f8b41a5aefaa04646065197fbcad2e196c94b1d1537a019ebe33590a6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/gd/firefox-95.0.2.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 = "05f8f4832397706aedea72f049b9f8cbbe9056aff20aaddf0d8ea61a9ae5dd41";
+      sha256 = "c1c9a41012983133bdd743e0afda81d7c752b04ac2cf73a7c4daa662d9db91c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/gl/firefox-95.0.2.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 = "5cd94e5d8d7f884fa7b747a814c6f80551dfecac683b55c0e6553407c43c4f13";
+      sha256 = "8ca8b2e7a3549e1df2aebd86bc5192d6ba0b14c2581802f1ca06342ffb771ac4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/gn/firefox-95.0.2.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 = "063f3d55e2d9ca33c051f49176e663ef40896deb87980d90eac56484b87f2aa5";
+      sha256 = "10acfa3beecacbfaae592dbce92e72dc220cd27503334e28d3108846ec012e00";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/gu-IN/firefox-95.0.2.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 = "1f74c4a721f414ee37f8b4090e425971da64354dc31c338c4d9cdb07ac84485c";
+      sha256 = "d2ea8b9386be163260d4ee0940dd80c4fa88d235cef7470fe9859fb18b5360f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/he/firefox-95.0.2.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 = "d70277a80d159ae3bea155cf2f813179393317a1bbe2885d6c8fda4aa607d0c6";
+      sha256 = "6dd00a7a9518868ce35e92e22951fba8e45690ad19afc297c82ec5d43690cbb8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/hi-IN/firefox-95.0.2.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 = "0b562e989e9dce6c04c3d556e09991ab28df4cb9cbf514a98b584c2ce8503d7b";
+      sha256 = "fb583c15e2f5dba0c8c19c197f4e4f83c8e59ebcf568d3f52936bbbd4733830c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/hr/firefox-95.0.2.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 = "df5788906b8b0d506e75054f133fef9bdd8fadc14fbaa570409afb3a8b8af8c1";
+      sha256 = "07d6ded87285b2192f3668cbdc74b6571e708bab6d77964aa8665f1940722ff4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/hsb/firefox-95.0.2.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 = "f0f9f54b037b5e519c80f5742202cdb509bffdd1558af4e4025b59e169711eb6";
+      sha256 = "fcbd4351ef9a4c3ea3bc290bf17679f900e73339b63d10ccfa2c554c09497bf4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/hu/firefox-95.0.2.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 = "eb11850c9df446876e21ec6d292b0bd0f8073f66347504b7d7384365d0097b2a";
+      sha256 = "1fade975a0ab75308b281b556c6980e81fc6a4c540746142534401e73323d9d7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/hy-AM/firefox-95.0.2.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 = "bd23fe1e26a17d328d6f98fc8cdade954c2072297d95197b52288e4ac95dc812";
+      sha256 = "ac7d7124aad964783b65d9d7de037005fde865a7922cf22b9e07f44f36830032";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ia/firefox-95.0.2.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 = "a4fedb53f10455ea42f313a63c0dcab601b8b53043e736d307f3752e2e01e298";
+      sha256 = "cda3d476e07f15cbdce88225d0b7fe785841d56327c63a53920dccff9ec8bb4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/id/firefox-95.0.2.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 = "59e05c58d03dcb6c55e160414a5209e3590c92364eb4a7edcc381ee4076cad7e";
+      sha256 = "3bcd1f707740b56e345c34dcb24453d33d9761eafeb9b3590d5e74e4558b5f33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/is/firefox-95.0.2.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 = "d8f4626e7dd9fbddd37caadeec90985b5aeae052553cbc4e8a96cd8916688227";
+      sha256 = "027f46db78d1796fa3ddbb3ec0f823e0a9e3677ca1f7e49eb1b9299be91c74a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/it/firefox-95.0.2.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 = "cd03b57ee4b1bda04c4ef3d6d76db0e0b25c2e802f5b93390bcb39111231f2b6";
+      sha256 = "7332a7566fb4f8748df9afdeaf5aa4634dab42cf63f52cc41cec13215820afa5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ja/firefox-95.0.2.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 = "93d3b15e2c9fd8eab8636e194f3db3bf164008f009d26e8e8858fd9b67556f10";
+      sha256 = "c485ee96c2e6e0f0a508c99b2189595289f3858464ca2c48301ae78bbc59b299";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ka/firefox-95.0.2.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 = "614e9544235c6c6be9a05ca5193993a3122aa4580d62a69b71cf024c1a5be2d9";
+      sha256 = "cd5b723c422e01d70856dd851337d719170585146029119f1490feec1d8ee188";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/kab/firefox-95.0.2.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 = "83f64f8b96369d3027081155f9a73eea31dad343daf16a67b4daa81208963809";
+      sha256 = "df540b3e9207f174cc6a280813d09c23abea18c1af540b9bc7e1330a4920be9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/kk/firefox-95.0.2.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 = "6053e9164deaced2b0d0dddc3ecd8a6282da862f426e935231e530b0dce5eace";
+      sha256 = "1d6ae6bdfe89de470aebfff046d0ddd12dc85f4c7b9ad8931b8bdb9da7917906";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/km/firefox-95.0.2.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 = "10061378569908531c59f89c39c4364d8ba5cffbb8d2431d24cb936e61d949b7";
+      sha256 = "1a5fb9460b33db9f32000c96ccdcbbe1d2fc3fa177b2cfaece1dabc514e3467c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/kn/firefox-95.0.2.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 = "3a958d7739948f6a051761af519b96e4209a27141d7487d37ced02eac115be20";
+      sha256 = "3c5766b4c29c699309cc8191fb1aab01852db29467c38ef529704c54d9087689";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ko/firefox-95.0.2.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 = "4a00e445bcebf1bb09b30958ee7ced9bb74fc99d459f13c001be625dfeafb2ae";
+      sha256 = "08d9a5999a9b10fdaf9a386c9da99ec040200f2f19286cd7ff8e26de95955f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/lij/firefox-95.0.2.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 = "5581da8f54ea490834504bdf6c6ba38ba94e580a3f5ded68864ca1de9db51ccc";
+      sha256 = "925ea94387cf5f07b053ca5b25dc2a50b0ad9f6372509e91116fb6d20675204e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/lt/firefox-95.0.2.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 = "9fbb08c96b44ab8e79c9d1f4c485b3e82abe0c0c44ced0b2e79640bd036042dd";
+      sha256 = "f062e05e6fb52a42f813428be5be582dbb24b46f3379aa0975451bd029134c12";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/lv/firefox-95.0.2.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 = "26d5a0d071e6df933f5fa602e5ac92908d6bee3aea3a0878dd9fb78e0fafaa34";
+      sha256 = "ca08ec6516a07aef0404716b0111df6941b9b167173079397a013f93db23e8a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/mk/firefox-95.0.2.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 = "77eaffb3409fe962c042033304f0272a9b6a1d83a67c04039e0bfbe3fa77a406";
+      sha256 = "3ddc7afca0f7030fd667f345ace3105eef1126332d18f20c7221596704eb1196";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/mr/firefox-95.0.2.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 = "bbec138ef10b1d2dfa70e92b6911d5ba93d4a83c19d32af0e7d0f7b2273a440d";
+      sha256 = "684d22d5841abcf6c107106966568e6f7476d15e1dac80447721836c4a20a71b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ms/firefox-95.0.2.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 = "f00ac99116a2ed626af9e384114414a385121f4c5ac9d6fdf88d514391c310be";
+      sha256 = "9630d0e0b4466593a59efaa383d6fd0e9c08887959e0b851f03aeadb5c64d43a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/my/firefox-95.0.2.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 = "c8f24d949500f9829d539df0cad530431809a7fa74904e60646a3b0d68c49010";
+      sha256 = "2bcab7bd7e35474466c3b587991cd8a62a18a30c14ea489d9c28932e1813db5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/nb-NO/firefox-95.0.2.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 = "46a25d5703164b941fa33bbd8d51098129cf69aed3d29471b50bf47b0fa402ec";
+      sha256 = "d6c4f2ce45109e37ca35c0fab316fc31b849f256f4745858dddf519b27fd8e75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ne-NP/firefox-95.0.2.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 = "7d10b7aeca90d46e0e58f7ae275432bdd99bf0f85009c85cb7c4b24f4801d552";
+      sha256 = "ef96102307ab270615166a9feaddf0ae047d2c8a18d85015be7f388d00ad3cd1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/nl/firefox-95.0.2.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 = "534b7103ae81a7804a9c7a08e99d208daeaa9ca0e90d7f7e33c57357f07ca432";
+      sha256 = "4ea9eccaa1c7d354cdc199b33fedb6a7ed07400f331d33357c69ca7c2c654dfe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/nn-NO/firefox-95.0.2.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 = "9bffdc0f5f5b53ec578a5dc2681b122b0d7a744e0c57955973c49df6f0f6e46a";
+      sha256 = "59045e5cccac7dbc125e3fa3f8c9bff7b5d8b8b0e8f1e696f5bcd633bf9353e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/oc/firefox-95.0.2.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 = "292c4b1fa823d2260b34065f648e18aa56b27254fd59cb226df13de7861ebc8c";
+      sha256 = "cdc9c76871be181f86871c55bd6819de9539bdcb11450cf3bac419f4bd44185c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/pa-IN/firefox-95.0.2.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 = "325bb3da2c70e34507f139697c4ece086a0002e488745ff33540778634b51c93";
+      sha256 = "aad979dbe94c225b4255ff6b7b78097f8a60ecb14570517eddcd7cbbc553a9bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/pl/firefox-95.0.2.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 = "4f8dc3240001f4fad31c9e3e7f70499e0ac4d9e6c7080b727e7eb71b8e91003b";
+      sha256 = "1f1be85fe26c4a55171f7114052ba679c405e731b3db7934ee2ac35323f095c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/pt-BR/firefox-95.0.2.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 = "88ae3bb932005d9271eb5d82951f32c2333296c2c24f23881ab8a1a3d563bc76";
+      sha256 = "588698a09d7320027027ace6196f6430aefe315cc9aae745f75568a062d6de6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/pt-PT/firefox-95.0.2.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 = "a7a80f21b5e5a0e6e40c6865ef3526f1eec3c983f8d49caaba35a2e5ca5401c6";
+      sha256 = "4cf0b84bbb4a5945ea787ca0f3d4da56a12073797dd603be29e408772a70860e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/rm/firefox-95.0.2.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 = "9d16c2bcf15bf2b36f5ca664a0476e080d756b14566880c0a3c8590f707a1cba";
+      sha256 = "b267cb45b84b114c266551c4863bfb22db9ff4725c0b6b9d39616e0b01f71e86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ro/firefox-95.0.2.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 = "db0cf0ac7b6383fdaa8a3ef5e6d59f3677009908ddfd12221e0f97b19b58be6b";
+      sha256 = "26a6ba053a270db85fe008f72c23b905072a84c27815131d1a3af90fba0f3518";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ru/firefox-95.0.2.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 = "f1def34584ce90445355eaeb64bad5ace27e1c6447b3a1346dd2e5d32ef1428a";
+      sha256 = "caea6755305f8f077fc82895343c01a7e1eac0e1cc70faaa1915bb88cba01344";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/sco/firefox-95.0.2.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 = "e1c3953c2ebb12fb6975727b68ad9667b983d1d1c7fdccdbe0c52e5cf12c815c";
+      sha256 = "eb249baafdf9d54b61e923bf3f23d2f462d5026f4b81bacfadd713bd569d3255";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/si/firefox-95.0.2.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 = "268bf3da414e1e00696262e0104b77d71e2b61b6b6fe1fc23cff33ede4108f58";
+      sha256 = "44a98bc22309035b432c3f01c5f87d469df3f2bee44c26f54f507f10b7098908";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/sk/firefox-95.0.2.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 = "39c018398173f92334775077b0b11379f859597b162f5b186747e9c403206718";
+      sha256 = "a81e8f814a2816ad95414c6e43acf55d88e4ce0757de14ab163f6b622fc49d41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/sl/firefox-95.0.2.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 = "0bd6c112fd967944205fd08055ca7a5096c23bc7ea8e0d09738883635a3653cf";
+      sha256 = "a2b9f1dd69a9a3fd4b5198280462d06b49d5c63fd101865707cac6aa6fc9581c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/son/firefox-95.0.2.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 = "c7a7b276935012c9be0cda1531f6206163434ac5810580a65a1b0f0f2c839660";
+      sha256 = "0033fcff083aa29a738799cb9bb3d32eeeafaaa3a1d41c422048c89000a9968a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/sq/firefox-95.0.2.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 = "27d6cd975c7f68d4622b0a2e1b7847d0f3e301b2e9e76008e047d522917e7d3b";
+      sha256 = "3614b46f72a142655f58c0577345a772350ead46af9060cd20e8918f517c7cf4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/sr/firefox-95.0.2.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 = "68a99dc76c9c7179f12bb892920aa02f3a9019186a8999a06448a0e19fa93ff7";
+      sha256 = "034dceafc44b83ca9d493f98645bd0ae45fd513f55f20f0de85752679e39c570";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/sv-SE/firefox-95.0.2.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 = "d0d64191bab8421feadb1abe91b471a6b059041b2935e0bc43f6d9c959d2dfaf";
+      sha256 = "aff9dc0399629aef20dff6eed5ecc7664cc8c83b53614b2cd011db6089262a9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/szl/firefox-95.0.2.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 = "3c698e152b2aba10d46ee06a5ee0425afd4c7e7354984b45d883ed5e286890f7";
+      sha256 = "9b6242e30b948507978f96180ec6d7d5921e32657f41fbe211a7c254cb11777b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ta/firefox-95.0.2.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 = "ca9883cbe4558e38ac9cda62b0f43f3c173c9dc479214b6a746805e43aeda031";
+      sha256 = "368a48fe15bc7ed6359cbbba817b47a99a583cc3ce91d2d98f0387d3a9880a95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/te/firefox-95.0.2.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 = "251915074e437e83c1165005b41c28d0b17b4234bd3caff8197ac660bb35eeac";
+      sha256 = "dfeadd822000e10c0214d05c75203a6e9c98c4bf20d65377c35ee8d485a2707e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/th/firefox-95.0.2.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 = "7275ebab122274b2ec633a760bb2dc7b1257d3523051266ecccd55661cdd7b45";
+      sha256 = "f1932432028ef648897e64bf033bb3e8984100052ea52a9840d000272f9d5eb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/tl/firefox-95.0.2.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 = "0217bdd9c71f993360ca97fe185d020d222c4e250138499088d521e0f21c984c";
+      sha256 = "9436d48c6b56c7b765a4ab6ce20bc12f3e5241691edb3b1517fe27a3a1fab6a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/tr/firefox-95.0.2.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 = "d9923e72ed18af3204df15d7a414f5c41627ab80e9566b1cc16f4cd0d5bcbb16";
+      sha256 = "bf0d0808d6d5f880bf382e9d440013855a6fda82275cc628833fb8cb694e4f6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/trs/firefox-95.0.2.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 = "3ec42470cfd25149f8291ae6634825648e64d0bdd115c75cc2aaefb7db953d03";
+      sha256 = "546416fc106774a28b2234e31d5d9850ed4708a2e5be4a4231deb28f4544512a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/uk/firefox-95.0.2.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 = "a059f9ea668d4c70ce6574f59762f917baef5cc62bb0af0c7e422577a55828f5";
+      sha256 = "5395cb322632fc68ef84241a75786db589863709344d5dfa9cbb650bc94c8f6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/ur/firefox-95.0.2.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 = "d68ffb37896e8c1405f919adf301053266c3bee0f729a7889be1d234343dd9f8";
+      sha256 = "d8dcdc4d95646392582904a29946f652e670bf276dd1b156e5b28477f4369e50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/uz/firefox-95.0.2.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 = "54ffc455910dcb2aa83e1736e36672cfae84658486d5117fd0c1b97f61f829b4";
+      sha256 = "7b1b8b9e9efd430ea5191d3e30c2b28ef28f9fad9779a4d65d1bd653c575986a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/vi/firefox-95.0.2.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 = "9b46375c46b831db3680d592400e68ad953dc778e77742a4f24f36af73e9e810";
+      sha256 = "6ccc1efad3f2a57b365195afbda665548d82d141f5143beb04691d995e0ad1ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/xh/firefox-95.0.2.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 = "e728b54cde7f96a6c036a7d65c14ab14df2a073227f33709485e52a5f34bc565";
+      sha256 = "4099f3357f74bc5443ad59ef72bb1d1881b1d96965628544f72eb3bf72a02a36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/zh-CN/firefox-95.0.2.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 = "5856e43a3f3a7bfa7710b42f15209e0d0ce39a98d8509e0e19f957b972e7c1e7";
+      sha256 = "9588d9eee65b7389c91ac43782f455169889742b2996bce8306fa07075f1c4b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-x86_64/zh-TW/firefox-95.0.2.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 = "9defb0e1cac327e91f4a950448d553dec01d5e359008d365991e1e188453dafc";
+      sha256 = "d4f9228777a8af5e68616865fcdbf522cd73d69164ca0936098bbf0534911413";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ach/firefox-95.0.2.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 = "158fa1d03e0b7bafe9603c7b2f30e78819dbce67b07b2ec78c4fd89f05303729";
+      sha256 = "bb0e66383954377252fe15d1e3b251ff0e7ff518fa8d817f4f26b18449e8525b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/af/firefox-95.0.2.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 = "a6ce2aaac2061d36b294de9871bbfbb4321f4ad1f421460a6e3d799ef54b608d";
+      sha256 = "5d73dbd6f2cd49f79e99538ba0b4247c8c29c92ce3417e6ddc23b89df59d4ba2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/an/firefox-95.0.2.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 = "1e8d592f2431a2e5df7453dee984bd29bf94d3ad1781474effa14ffe9de3ba3f";
+      sha256 = "43b1ccf184fee070ec1a279914eda6b25ab15f294468b524e4c2a5e975e7c818";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ar/firefox-95.0.2.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 = "ae55b1595118148889049b9ddf25ed9e32e6d6b2cc66b0e90821cf79d6bf2ff0";
+      sha256 = "6ef2f6bf6fac15b194a08aaec137adfe59ac7a8e1e06eacf88328dc1c917c994";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ast/firefox-95.0.2.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 = "17e76ef25a9028042f3e35b725ff0171bfd82678c6ab826115785ce6ff2d2010";
+      sha256 = "01aa7a8ea0263ba32f0c398918b184cb0d9f588df4330b16e37a8f3fb1efb165";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/az/firefox-95.0.2.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 = "2ffd85a5982a0ed0c359d1f8f8712407aa6ff10823d21750cfb16d925fa0c5f7";
+      sha256 = "3605a671f1752f0ba3499720095b66a7d058b5a0aeec3f864d87d7027121c970";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/be/firefox-95.0.2.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 = "e78fa23ab27503921d3d4e2f79dfd391d0e200552f2bb48cd27a6cdd47468ab7";
+      sha256 = "9ecdd7986a2b2b0c28ec11eab24130e4d35c8dc96e9fd95bebd0fd2e724e38ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/bg/firefox-95.0.2.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 = "4e866bb3705f17fdcd7b98313b025e52544dd7bee2f523e886b3654455480b62";
+      sha256 = "c66c13d707aa0f52154061dd6d59407acd1bf5b1a29284da8821c2abbb2b02fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/bn/firefox-95.0.2.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 = "e170018a2e2f6a568148ec5073c5f82fa401894f5310b887dafe36e388b8876f";
+      sha256 = "bab8e1f9004caab4f2a4ba0dbfa22ce10957b5c2a4adf52049d64953200cc052";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/br/firefox-95.0.2.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 = "73ea87a78ab765589c7e76237044bcdffd783183ea6b8afc67f2871231692143";
+      sha256 = "07f177e9396567d4f0852c68b2080a04ac2f00c38c3cb0c1bc0fc4fcb3b629f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/bs/firefox-95.0.2.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 = "900d9625d1cbaed04155e5e024cf7872d454f6b22ee37a57739c702c6a328657";
+      sha256 = "e9fd1dfce60b27dd8037c144810379a2526c4d270d9c2bb2536a74df8be7a586";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ca-valencia/firefox-95.0.2.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 = "bfd22c146671bfb21b7f36c17691754cbd8c6abb29eeb0703d3a030df51364f2";
+      sha256 = "f6ae71d70746a7c56ad416543cff9ceb4298dfe30d1bce4d72ea695131ebad95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ca/firefox-95.0.2.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 = "1b1e3fcdcaf4c299cd8c0f5b109493646e74c46bf9a0b09dc5f33b33062a398f";
+      sha256 = "7b12613954b0e6b81ed7fb1fcca7099dc4500a72cec7333dd8de6a7deca28820";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/cak/firefox-95.0.2.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 = "ce307ae50893ac9e424eedbedea8cb1a9358e287ee2893a8d0894003cbdfe609";
+      sha256 = "b18f916d3eec4121c7a854ca2ba2ccf5baecf53d7a173578e19c3c3c50aed076";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/cs/firefox-95.0.2.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 = "c6230333dc66ccf20b68879c31a69061874b5a0869786d87d8190c88d5a02664";
+      sha256 = "56afa0af38d7ec85b938a961363b781d4980ccfeec9945f0971be201a21b1cd1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/cy/firefox-95.0.2.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 = "3f87de3d75fd4a7f66af64bcb3eda0dc43a8717797840235dd64c0acd5eca1a8";
+      sha256 = "f82d0db8338a0eb4cf5f180f4982c5c7db7db4b9fb953ec496aa2e9961966091";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/da/firefox-95.0.2.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 = "eac9b4c6bc7737c82fd631608157448ad9c78e793c4c7b4e319e36a6e5ff61b1";
+      sha256 = "fe7def9df91782a3adbdf02a4deac85ab07caa4f378f695e2253e0eccde3ab34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/de/firefox-95.0.2.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 = "71b618dee298b67383c8567addc0e2d93d4bcf2d196ca7db87ec20a3315ccace";
+      sha256 = "1fba10e324128c2d30b9a9a0489f1f065bda575afc7dbe0c6625ece2b96b4bc7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/dsb/firefox-95.0.2.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 = "cbeb7eeffef1c0437644182dd5475e770bf0118a351eadb3c7892c69fed7e0a4";
+      sha256 = "3e43d5c0d27290b023c7e53a48aad5894474d9a33a544a20cca4893fe4dd3267";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/el/firefox-95.0.2.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 = "2d9bd41145a737c8b25826d7af978219a61199b9d045651b6aa68029e5027187";
+      sha256 = "71864f8294844e051674f20d49b78f3b129ae10f7ae93c4bdc4e194ca6a586d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/en-CA/firefox-95.0.2.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 = "65d83800562d29c0b042dcd9ae4d7fb230f8248ba0bd0cf8bd40505884f839c9";
+      sha256 = "845713d2c18c1bc029509590e6156edb2166dd7bfc8e5a8cb9e6092143bb8193";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/en-GB/firefox-95.0.2.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 = "bf4cc0aea5826f1bcdcf493f241cf23509f626f81fafbf436430b0f0507f674d";
+      sha256 = "b5b2f7d607be95cccfc6dbc12298333e5f261a9cb27650dff946ea4246e87df8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/en-US/firefox-95.0.2.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 = "86e33e0163773378fcef227884d3c439f61c2d0d6ec3cdafde1740816812c811";
+      sha256 = "c736080050a9715077a004add55dcb3dcb3be891d5870939709096bc81195eed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/eo/firefox-95.0.2.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 = "18fa6af5ca174cefd1b8f266e1c6bb6576facc8acd28b6b9a8f6121fba1d6426";
+      sha256 = "38f135a137826862f9319b88edd9ba0e41a7c57f7de3603ca23d5c6101b2cdc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/es-AR/firefox-95.0.2.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 = "efce9ac44d6156558ee28c7bc4b1489f1554afa632ed0dda2dafe2272e885d6f";
+      sha256 = "63856d08aab14fec8b28aa6ad6f765aa43d5bf52cd1da5e48aa3c111e13be60c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/es-CL/firefox-95.0.2.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 = "920e9183e71935da136d2142ed0b1a9e5a764e7d4bcd6ac2c65e3e405ee0d82f";
+      sha256 = "0bffa72431868aa53835a67b18a257e7b3083da778182b13f723f68a38478910";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/es-ES/firefox-95.0.2.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 = "3c6cd25f55dc3aa17f1d613878b3b40bee28847a80b36fcb7d0c3b4ee5e6462b";
+      sha256 = "11adfe391791b2e17114c72d984db96586c70102d43563f907c371cd85c89b03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/es-MX/firefox-95.0.2.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 = "7b076daa30e58362534aa2373931d0f984967824f3592dd92ffecc7597c4826c";
+      sha256 = "6b9360899c575c665e156dbb8a3f20b396bebb742f14eab9957f30f1dc2f644e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/et/firefox-95.0.2.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 = "d9188331a592ee8e7f40c3cc70fd5947164408bb18066195af5966b25deffa44";
+      sha256 = "3fff6be4dd8d62163cbffee59d2d4811944f89b452a57192b3444515dd510bd2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/eu/firefox-95.0.2.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 = "48414c68c2c67719d43845799dcbb64a13d513aadadc8299e5ced7ac7dad89d3";
+      sha256 = "1fb5ce8792f92d810f170746c61133d1835513dc644c6db88f1a4a6d81906815";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/fa/firefox-95.0.2.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 = "1cfc92b1100d803a148feea5bd0d40af26dbd976fb30b29e79125687bc5ab247";
+      sha256 = "a69afe063a18b4f95fef028c584a46de1246fec45137e394e4b4a6f711be84c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ff/firefox-95.0.2.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 = "0e576c6cc65b92123294b7d230ea3431704ac107be56ed93486c93021019cc2b";
+      sha256 = "f1c3797c11b975d7a2feeb03d20cadd89396659c3661f7604853d9912a5b6faa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/fi/firefox-95.0.2.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 = "031de60746e0acba133c58091ff8993e9f03822b8eb2dde8636719685b10a5f0";
+      sha256 = "d8c628c73ff53c5883a8396bde4bb9b931e1dc7ac44637e9774b3d5d3ecf6b06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/fr/firefox-95.0.2.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 = "072876a0c2f8d78271b83faba916c61b9e14f783a9afc6af08158e7e988c850c";
+      sha256 = "85dbf4270eced53b4020d7a269a9d9ed4e55fa7251672b9c32feb96d6336b110";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/fy-NL/firefox-95.0.2.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 = "cde0cb368aee49b281ef4f0893eaa15345ca60623c57dc7f93d8320216fd1edd";
+      sha256 = "30da6a888702ba5060e461539ed51390014c79b55c1358e6a8b76c80c335199c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ga-IE/firefox-95.0.2.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 = "cab5ecdbdb5e3286726b06e7fa8adb43d49f8c8316ee240ccc849c339bac3076";
+      sha256 = "3c1a33c4d7b3e3161f2b07ff95adbc466a2e9d718227d786ee6007318730c1a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/gd/firefox-95.0.2.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 = "ee5c4c06b9b899b14374dc6abeee533e130e90242acd866e02b0c759ca6ed397";
+      sha256 = "0ffce6d8f9e2d0d1b84c2c9b2ecc49a1861f88356c5b37d75522d537364f5208";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/gl/firefox-95.0.2.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 = "e8fb73e3495d3c4dc1e827b21d50458e6ebfd56f3735c5c87ed88fb9bc9d379c";
+      sha256 = "31fb23e14aa007cb6ea74b5ccd124d51a1d2c19cb6003d693afff07e83640666";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/gn/firefox-95.0.2.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 = "3511c27b51f12f26238e5862edff7b171cb9eb6b0843843d62ae6ad4f23891d7";
+      sha256 = "042b2c8e5652f2f9e1e3cb01a4308cec100680d45acaa37babcf33b8bef5512f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/gu-IN/firefox-95.0.2.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 = "34fb15517f0e8472655950e0269050b897b5d2986aec4545dc6aa4e4314054a6";
+      sha256 = "5052d0c6a28b1c83e1c38b771f62f3c973089ccbfd048d0e089c8a637a80d218";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/he/firefox-95.0.2.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 = "263e6ec46f8347a27be1b8ae44ecfd3bd4475d2142fc0bbf21eedf791fa6e522";
+      sha256 = "06a78cb3435dc6f8dabff279ad1c69f6f4d44c5a8e56d04d38dbfb046ad42fa8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/hi-IN/firefox-95.0.2.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 = "c19cee388dfb212fa28ab7b93379db8bd60964dfb3a8a6f5371f5b4384fcefad";
+      sha256 = "340d637d0de3df62ab79e69b3465a154a80e47a4dfe2b48cd949874457955cbe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/hr/firefox-95.0.2.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 = "b3af09b207e11d6ba87b39f33e7c8ddffc80482fd3f5d910d2079481b3db4268";
+      sha256 = "526fa7a1bf5e3e3b32f2fa61b8d28617873aba9bf1bacc5e13533b0621df993a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/hsb/firefox-95.0.2.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 = "ea52879ce3a7b7a0921746d56163af72d824a287ead51a97b491682a479ebd05";
+      sha256 = "4443703e0b590e66dc4d295b1262d61f91cebb0a59ef6c246348a4e411663398";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/hu/firefox-95.0.2.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 = "e83307c88b9246e098a1063b61a886148c930bd891cbc75f8b6a1257f9746363";
+      sha256 = "b2b1be8b090734f1069f7bd78294072bab28920312aa34125d02213a030bc9b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/hy-AM/firefox-95.0.2.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 = "f414105b7cb3485004af9e798d8159a0eb801e8f384b8b6926d34fd07af6ec0f";
+      sha256 = "a81e4add5314774f19fb514b539bdd7e12b907a4faf8b606c13f7dac8461e3b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ia/firefox-95.0.2.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 = "ef3879f8e5ada797c0011ddf3a6fcf6407f2ee1e858f254ad2d500233c7703ba";
+      sha256 = "a1ead289cc491600b89d63f96081b21e5f8172936023e42b5d949c0d5aea2bbd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/id/firefox-95.0.2.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 = "6c888381f1d10e4ffe6ed3a056933400e8adcb64e4a5c6da2524f92ce0eda62f";
+      sha256 = "f56eaa86629a013f60c7af973a844abca72cb7ad236e02479bda9d1aeeb02b32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/is/firefox-95.0.2.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 = "3d256a5d9382866e93f0b6f5a0cf1dac1bd724ef5f7c693ed0e355ad34db8476";
+      sha256 = "0d762f8c70bafdc9d8155572ff71ebbb0dfd9d83388298196a87ad130f8527a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/it/firefox-95.0.2.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 = "fda1bea7c61c172dcba91e07e22f2e205f08e99b63ceba5d96576a432af47b60";
+      sha256 = "54a79040a115b67cea2b912fd905d8acee05e737702c778628fd10282b27364e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ja/firefox-95.0.2.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 = "ae5aac021a845ff644d893de7a39a96aec33b128b1537e583fd48a06ff87e07f";
+      sha256 = "e92f3cf4d7f2f0e26280d814d6bf26f14fc2f5d8923451cbb6075607ba4d95c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ka/firefox-95.0.2.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 = "043e54c91838a71c1b9ceae8fa40112c54dcd5a530d96cf0874b1eba76220878";
+      sha256 = "ff89c8ecc80897ec8acea68de166ae6f626f181fc7f0c1d30ac5208c4a221eb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/kab/firefox-95.0.2.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 = "fd7368cd63c612606cf57eee9476e009abd9c2f35a200f9887c50b34f36fddf0";
+      sha256 = "bdcc2807c9ac16d6df6e1f35e2648f7e1776dd117edc1731d24192eaee5f9661";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/kk/firefox-95.0.2.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 = "b4a7e455aae1894b2b9418e3f0b14350f0a3446923684fcf61a8e6abdf131681";
+      sha256 = "535bb672a95a37550779c84ecb5eaf98f151a30123b2b7a099b7940e8bede683";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/km/firefox-95.0.2.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 = "2635a41aa81a9ca863652b5e726bc2022369993059d64a6ad81a2f751e65ff1d";
+      sha256 = "3e60008c56da46e0897c326a843871d63fe0e534487f4a94f2e398ea6c5377f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/kn/firefox-95.0.2.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 = "adf9111e992ce6504aae6dc2bde5519e58ce474ce52317fbb503138fb49a490c";
+      sha256 = "90d8c47a1cd42b7bd4f9e2c04ec6bfa701fc978a6ea680fc5e48bfd4fa6a727f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ko/firefox-95.0.2.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 = "b47532250fa7baff58d47052a51c966ed52b6e8009bc36b67958e67631e2de1b";
+      sha256 = "d62427eafe143f3d2aaa1eba6969358316b8c76c7fe926d8fc5985dddc588e7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/lij/firefox-95.0.2.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 = "92d270be61a7a30876d00bd1e2741c0db4363f34f87a97456b700c5af28252c9";
+      sha256 = "0db93d63e67c7f1bae536d425dd1789b0c0d1737fd23e8d0aa0c7b66f4c958a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/lt/firefox-95.0.2.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 = "8c4efa500b88d76ca8b0abde737552ab905db34807816df0d2614e3d47a00dd7";
+      sha256 = "ae3cfea73e03c61afdea361c4b23408f7c894197c4ef370286a653d35e0eb406";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/lv/firefox-95.0.2.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 = "db86073e2910f6d54466e8015fd8ed68b02f08c6ba4595ce21c3547addada57d";
+      sha256 = "6bb0a946109cb8316a1d3b412602b590caf4f6a22fc7659fc43d79c0f921acab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/mk/firefox-95.0.2.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 = "91a39fbc897197d48792bb1ed82e4e6a2bc969efdbe31c9d6cdaed60e4af4884";
+      sha256 = "6e36851e9c7b14e8c180ac9b715b245ec627fd2c73dbb4adc31219247696f658";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/mr/firefox-95.0.2.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 = "97e775f3926ee3f158d30a16dfa5dcebf67b9d337e51ddad43235d1c7ac77cfc";
+      sha256 = "68678735aa1fa850cc30445e71fc2589f32d3845238a781c96d62164b00a1da6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ms/firefox-95.0.2.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 = "32cd9715073cb1b987abf73f909185c96231d9bc9ea07972ff6c58a1e1ef5dde";
+      sha256 = "0dc9802f1ea0bfa4e2916dd4a7b02b7aaa5cac0238aa4bae62bad4eebd49939b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/my/firefox-95.0.2.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 = "4e70811af633f19718076fd1d0ce4008e6cc8ab6b24842fb1eeb184b505cef50";
+      sha256 = "c3fdec85d214fa4f85b502647f9f0f50e0d473820e69a4f4f8d5d24fe58e6cd0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/nb-NO/firefox-95.0.2.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 = "97dda05d66002f87bf7b4ba2d08c18402ce2462ef2fb3e3876d4a55520329823";
+      sha256 = "48947dd10062ebef8e9095a1938dbb0b5e24689ffd5f835080512612e93f2efd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ne-NP/firefox-95.0.2.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 = "7ea002b8d50f49e64123612d0a43100411a5edc975d40081b1d99e47b6413242";
+      sha256 = "8952004bde5d731fe48ddde9bced409e5d2c46d25157542f3c72568b87a9be8b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/nl/firefox-95.0.2.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 = "da9bd1e61d17d5625d9c9114315b63b37b062a3af13e91fa480af0e0aff35366";
+      sha256 = "f2c7c1348dabee858c89b8aaf37e5cfcf0cd867f4e9b0587285aef13aa302a26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/nn-NO/firefox-95.0.2.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 = "096683e5c3cc1794c099197c6126df8d3f74b677a5c583559d0bfb884d380bef";
+      sha256 = "bd05d1b619c77fbb502080f4862cbb715e628c814d8c35720998ec43d6c4920a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/oc/firefox-95.0.2.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 = "5823e9978b4abbfe5edd656165dc2d8a49a1cc1b65fd8e4fedc0d8dc642af695";
+      sha256 = "6092e57f1d6bcaed08e5d1acdd15d9fda0430f1c0073a48fc38f8a73578f1fba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/pa-IN/firefox-95.0.2.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 = "56f1acdbd9c9613923aabdc69f80878f21acf3ff10a713eddb9e2224c35d7399";
+      sha256 = "51bc6d1b738c12eedd1b35f829b51ceb157c65a25241e911e10c13289b92a5b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/pl/firefox-95.0.2.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 = "ec6c676224031272a81cf624db09d5c9a26fe02ac0fca72255a7af25ceab70fc";
+      sha256 = "f286860bd5912b91fa62494837da2c335c4a4a484a164b4b999022c2813d5c28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/pt-BR/firefox-95.0.2.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 = "2c86036d927857fa93778ad5b56ef134cd3bd95ba6be032c8fd6f94a9b01dac0";
+      sha256 = "a1f48ba9c56f2c54899d14b1292cbb4e517482ba0552bf17ace7dd6b517eef4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/pt-PT/firefox-95.0.2.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 = "331e81e86dfd3802432457bb78f5c65cc35c2ee459503b5158c0d9a44ddf38d7";
+      sha256 = "6d91ff36f186ef11ba70d604443b7e818f608dd6d667f49a7892c1a69e64bdbc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/rm/firefox-95.0.2.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 = "8d238b1fa93a4aacdc6f54a456fe523a9ac61d834420cf2b349062dc35e8d228";
+      sha256 = "cc190575af60d5a09266b2296796978f7a37dd07b2709523b84b88499729e546";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ro/firefox-95.0.2.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 = "caff2dde8dde6829c5401f0408c0c1cf146453583b407efed01f5dd629d70bf1";
+      sha256 = "4193936ca7e10f01b91ab990ba0b7aa354c344a7749356bb9b30d251d46b84bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ru/firefox-95.0.2.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 = "762466026aeaf8c8d0bee290113d658712cf02d09b130ac0cfb638d7d2806eda";
+      sha256 = "f85ad1700117a99b8657d9fd9061935b77acfc4a0d7c8b3caa8d7c0ddf142a8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/sco/firefox-95.0.2.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 = "e75313594dfd1390e452667746073e6eab67f62da7e5bb8f9d9c3c399e0873c2";
+      sha256 = "23d16650132fe30c6fb90797f744d09f21f16a0673821cc0c59392a9d2adbfab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/si/firefox-95.0.2.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 = "4672751457c6bab937736fb5085fa24588e97543989d9e340859876c5537d793";
+      sha256 = "44ec177853f6d3d72ce141ebfc25508df4c63c8b37265df4dfcac8b48799b007";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/sk/firefox-95.0.2.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 = "bd17ebe6aad0ab05854d20c66de4d695d9fe967d867f46c29e2c8c40da709b2a";
+      sha256 = "4a31daac61e0ac3a729c5299dc5d14046bb2cadec61aad443fa4391a0cc99b3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/sl/firefox-95.0.2.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 = "c68745642e9c3581bb7f4bbcf17eab7f62c397caac5b2b7fc14668a0b2ac3daf";
+      sha256 = "8ca7306d8e68d9943ae3dbeffe3da88682c4c22fa9974142b9f609c4c62b06f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/son/firefox-95.0.2.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 = "895170b400df833df90608a44e17b99405dbc932cf15ec5e1b5e91febc2fd629";
+      sha256 = "9c5c17a9f85814779f88f320030bc6d935cac0b5b51ec9524283553c36c751c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/sq/firefox-95.0.2.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 = "ee67428d035b065e4d6c129e0659a508bf6eca7e0d64802edbabdc460db479ee";
+      sha256 = "2c40123f37130de16e47175472086e5774598b5e6090de4d88e67512bf982c43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/sr/firefox-95.0.2.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 = "954800db592b449bdd7c37141198702cc1a3a2b8b217f71f5ca4ee7e9dcbb04d";
+      sha256 = "2ab762afa95e0d0baa3650e35612f4f56f9d4ddd2baa34f615e9fb7bf95353e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/sv-SE/firefox-95.0.2.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 = "ca2604feb91c22f5dee9e59f3c1098ad12c34b5082fc45841d54ecea4e6c8e4c";
+      sha256 = "ea00b75128a67638d67ca83ce9f5e15f4afe9eda1903e90cd6f27820117fcac6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/szl/firefox-95.0.2.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 = "3e434f5a395d1f0230affedb75d97976f5571a3f90801f92a606f1ff39377393";
+      sha256 = "88ac139760b68702f33ad02889dacbd31d3c31140f3dff763dcbf6f9e7f6adf8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ta/firefox-95.0.2.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 = "ba25db7b2fd274e2e29f3cb10bc5a5d2af8c4ab5e75fe62164a538316d7171cc";
+      sha256 = "3828cc9dea353d7fb259fd57396ddd59b316fb323caa6b8b47f485a6aad8e1a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/te/firefox-95.0.2.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 = "f0bb3fe0d28a1e7440e07060c36d8a4c62a7d8e7d7567c793997f23504018406";
+      sha256 = "1dba53e1907eac8f76759b2fe0a5499c31c733dcd627193916e6d4ebab27c625";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/th/firefox-95.0.2.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 = "705f294d3b735821cbc6cc93ce25264e4e2eb398194926ecaac2bb03fe51ef8a";
+      sha256 = "461a11d1a033cf9ef113f0d362484696b29ba6d52e7e14ec4a3015ce55767f01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/tl/firefox-95.0.2.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 = "2f12aa7ac32ec89b5ca09289a8d6296fe9fbf332b53b7d183b75fb9b1dca3b11";
+      sha256 = "572f60b9222c9a008ea23eb0f9c184fff17af4393e887cf2db871a7f86f74b77";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/tr/firefox-95.0.2.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 = "5353938c7b90e557cb5e14e2f8556e9a14698e135b94eba0475c4303b293642a";
+      sha256 = "bcc59684f7e6c6efa6df66fb2eacec8b1a59f0aa42f8bea86a7e0fd6a29916a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/trs/firefox-95.0.2.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 = "428ec7d2ba7ab418f6c3eb51f1cfe81ee798360333211195bc15c3372522107e";
+      sha256 = "d97ea9fcc6ec94e168ddfe219f08fc202013e1cbfdf35e34749569e54f6ae65a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/uk/firefox-95.0.2.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 = "b32b3419816ae3e5cf738baa307a30c364652e3344d002468fbf2cb021e2561e";
+      sha256 = "49078902f54f5e0ffbaa93a7a797a7795a1baeb5cb57942afd3c6df38b68683a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/ur/firefox-95.0.2.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 = "1219c56cef41202253988164a8708f09a5f7cdcc7454887326a9e04eb355388e";
+      sha256 = "7df5518a9e0f8a82b61bba992bbdb4c3ceb935768d057ffa3602036a921b1754";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/uz/firefox-95.0.2.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 = "68cc0b19902ba281441aab7d0f90b25ee839cbd9017ca7aee6330589dd1a83a0";
+      sha256 = "6a36b93b799cbaca9a7f5765723c63a1e42c1645bad6ca2e3ee8dad8d64f3c40";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/vi/firefox-95.0.2.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 = "577dd4afc185e80a7132334897fabe4017f36df51a388084704c18980dcf995a";
+      sha256 = "da081f083f64ebe61465848358ac018ca4417104ec94911d39f4ea87a858d49e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/xh/firefox-95.0.2.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 = "b53674150eb3726b22a2cef24d762390e63e43283e303f2b9e04f54f988b1f8f";
+      sha256 = "3dd0234d0ae5739290f7236264500c3ead31b6afa9b00cfbf8405e1ca13d1a57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/zh-CN/firefox-95.0.2.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 = "b59cc02e88c94d3dd681d59f705b0c554a0998ce3670f9bde435f75a07a6b97e";
+      sha256 = "9e21e6ea94ad72b890c1eca95da2e1ed3f5c3b61ac56216092a7393c072048e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/95.0.2/linux-i686/zh-TW/firefox-95.0.2.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 = "8dfb5d549ca2a63b0be9b2e32df95122a1f40f2066cfc3d3144e506a37c72371";
+      sha256 = "e8eefb56597f20a92c839a7e4ccfabfa009de100505982a72c8088a64ecca879";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
index 5394499f2113..498bdd3e9067 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/nixpkgs/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
@@ -9,7 +10,7 @@
 , yasm, libGLU, libGL, sqlite, unzip, makeWrapper
 , hunspell, libevent, libstartup_notification
 , libvpx
-, icu69, libpng, glib, pciutils
+, icu70, libpng, glib, pciutils
 , autoconf213, which, gnused, rustPackages
 , rust-cbindgen, nodejs, nasm, fetchpatch
 , gnum4
@@ -132,7 +133,8 @@ buildStdenv.mkDerivation ({
   ] ++
   lib.optional (lib.versionAtLeast version "86") ./env_var_for_system_dir-ff86.patch ++
   lib.optional (lib.versionAtLeast version "90" && lib.versionOlder version "95") ./no-buildconfig-ffx90.patch ++
-  lib.optional (lib.versionAtLeast version "95") ./no-buildconfig-ffx95.patch ++
+  lib.optional (lib.versionAtLeast version "96") ./no-buildconfig-ffx96.patch ++
+
   patches;
 
   # Ignore trivial whitespace changes in patches, this fixes compatibility of
@@ -148,9 +150,10 @@ buildStdenv.mkDerivation ({
     xorg.xorgproto
     xorg.libXdamage
     xorg.libXext
+    xorg.libXtst
     libevent libstartup_notification /* cairo */
     libpng glib
-    nasm icu69 libvpx
+    nasm icu70 libvpx
     # >= 66 requires nasm for the AV1 lib dav1d
     # yasm can potentially be removed in future versions
     # https://bugzilla.mozilla.org/show_bug.cgi?id=1501796
@@ -173,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 =
     [
@@ -370,7 +375,7 @@ buildStdenv.mkDerivation ({
     inherit applicationName;
     inherit tests;
     inherit gtk3;
-  };
+  } // extraPassthru;
 
   hardeningDisable = [ "format" ]; # -Werror=format-security
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/default.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/default.nix
new file mode 100644
index 000000000000..4d8fe708e75a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/src.json b/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/src.json
new file mode 100644
index 000000000000..bcedf9d22d87
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/src.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/src.nix
new file mode 100644
index 000000000000..38c5dc6b593d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/update.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/librewolf/update.nix
new file mode 100644
index 000000000000..5cb5c6168f73
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx95.patch b/nixpkgs/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx96.patch
index 238c32ee45b1..51f9f0e354f2 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx95.patch
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx96.patch
@@ -1,5 +1,5 @@
 diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
-index 038136a..1709f1f 100644
+index e7be91a248..5eb98534ee 100644
 --- a/docshell/base/nsAboutRedirector.cpp
 +++ b/docshell/base/nsAboutRedirector.cpp
 @@ -66,9 +66,6 @@ static const RedirEntry kRedirMap[] = {
@@ -13,13 +13,13 @@ index 038136a..1709f1f 100644
       nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
           nsIAboutModule::ALLOW_SCRIPT},
 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
-index 9ac4305..916b4ad 100644
+index 74c0ae8f34..a5d9645a96 100644
 --- a/toolkit/content/jar.mn
 +++ b/toolkit/content/jar.mn
-@@ -39,8 +39,6 @@ toolkit.jar:
-    content/global/plugins.html
+@@ -41,8 +41,6 @@ toolkit.jar:
     content/global/plugins.css
     content/global/plugins.js
+ #endif
 -*   content/global/buildconfig.html
 -   content/global/buildconfig.css
     content/global/contentAreaUtils.js
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
index 43c7585849ed..645a2547cdc3 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 rec {
   firefox = firefoxCommon rec {
     pname = "firefox";
-    version = "95.0.2";
+    version = "97.0.1";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "1b9eb91d72a6975b4d2558a7c5de0e008095398b9862498623656ab6d8056e3cffc12263f58aa07feeddc91ccfb512aa4b582dfeadb142d548d96c3d50204196";
+      sha512 = "8620aace77167593aab5acd230860eb3e67eeddc49c0aad0491b5dc20bd0ddb6089dbb8975aed241426f57b2ad772238b04d03b95390175f580cbd80bb6d5f6c";
     };
 
     meta = {
@@ -28,10 +28,10 @@ rec {
 
   firefox-esr-91 = firefoxCommon rec {
     pname = "firefox-esr";
-    version = "91.4.1esr";
+    version = "91.6.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "1b9f17c4e58e3753f8507754bba93e3b7f76df5b6845d6173719fbdd98b70af2a90242df42fe274217f56d0280e5dbae17962f5b6bf111421260790f770f5337";
+      sha512 = "3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e";
     };
 
     meta = {
@@ -53,9 +53,9 @@ rec {
 
   firefox-beta = (firefoxCommon rec {
     pname = "firefox";
-    ffversion = "83.0b10";
+    version = "83.0b10";
     src = fetchurl {
-      url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
+      url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
       sha512 = "1div55x8c9qw8ck7njpf1c9kl1l0hi6fn8gnrj2irbiwhvl5cfxqp84sn7yq9saj46wzicxmczn32w3a1vs5xzjfp454zggg8wllhcx";
     };
 
@@ -68,8 +68,32 @@ rec {
     };
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-beta";
-      versionKey = "ffversion";
+      versionKey = "version";
     };
   }).override { pipewireSupport = false; };
 
+  librewolf =
+  let
+    librewolf-src = callPackage ./librewolf { };
+  in
+  (firefoxCommon 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/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 462c24a62319..b428687025d1 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -37,10 +37,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,24 +152,7 @@ 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 {
@@ -189,7 +174,7 @@ let
         ];
       };
 
-      nativeBuildInputs = [ makeWrapper lndir ];
+      nativeBuildInputs = [ makeWrapper lndir replace jq ];
       buildInputs = [ browser.gtk3 ];
 
 
@@ -217,8 +202,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
 
@@ -226,14 +211,14 @@ let
         cd "${browser}"
 
         find . -type l -print0 | while read -d $'\0' l; do
-          target="$(readlink "$l" | ${replace}/bin/replace-literal -es -- "${browser}" "$out")"
+          target="$(readlink "$l" | replace-literal -es -- "${browser}" "$out")"
           ln -sfT "$target" "$out/$l"
         done
 
         # This will not patch binaries, only "text" files.
         # Its there for the wrapper mostly.
         cd "$out"
-        ${replace}/bin/replace-literal -esfR -- "${browser}" "$out"
+        replace-literal -esfR -- "${browser}" "$out"
 
         # create the wrapper
 
@@ -325,6 +310,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 +324,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 +352,5 @@ let
         hydraPlatforms = [];
         priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
       };
-    });
+    };
 in lib.makeOverridable wrapper
diff --git a/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix b/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
index fe6ef5c059de..5ba831b21022 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -1,11 +1,11 @@
 { 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
-, libkrb5, libdrm, mesa
+, libkrb5, libdrm, libglvnd, mesa
 , libxkbcommon, pipewire, wayland # ozone/wayland
 
 # Command line programs
@@ -44,7 +44,7 @@
 , libvaSupport ? true, libva
 
 # For Vulkan support (--enable-features=Vulkan)
-, vulkanSupport ? true, vulkan-loader
+, addOpenGLRunpath
 }:
 
 with lib;
@@ -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
@@ -66,11 +66,10 @@ let
     liberation_ttf curl util-linux xdg-utils wget
     flac harfbuzz icu libpng opusWithCustomModes snappy speechd
     bzip2 libcap at-spi2-atk at-spi2-core
-    libkrb5 libdrm mesa coreutils
+    libkrb5 libdrm libglvnd mesa coreutils
     libxkbcommon pipewire wayland
   ] ++ optional pulseSupport libpulseaudio
     ++ optional libvaSupport libva
-    ++ optional vulkanSupport vulkan-loader
     ++ [ gtk3 ];
 
   suffix = if channel != "stable" then "-" + channel else "";
@@ -119,12 +118,9 @@ in stdenv.mkDerivation {
     cp -a opt/* $out/share
     cp -a usr/share/* $out/share
 
-    # To fix --use-gl=egl:
-    test -e $out/share/google/$appname/libEGL.so
-    ln -s libEGL.so $out/share/google/$appname/libEGL.so.1
-    test -e $out/share/google/$appname/libGLESv2.so
-    ln -s libGLESv2.so $out/share/google/$appname/libGLESv2.so.2
 
+    substituteInPlace $out/share/google/$appname/google-$appname \
+      --replace 'CHROME_WRAPPER' 'WRAPPER'
     substituteInPlace $out/share/applications/google-$appname.desktop \
       --replace /usr/bin/google-chrome-$dist $exe
     substituteInPlace $out/share/gnome-control-center/default-apps/google-$appname.xml \
@@ -149,8 +145,10 @@ in stdenv.mkDerivation {
     makeWrapper "$out/share/google/$appname/google-$appname" "$exe" \
       --prefix LD_LIBRARY_PATH : "$rpath" \
       --prefix PATH            : "$binpath" \
-      --prefix XDG_DATA_DIRS   : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-      --add-flags ${escapeShellArg commandLineArgs}
+      --prefix XDG_DATA_DIRS   : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addOpenGLRunpath.driverLink}/share" \
+      --set CHROME_WRAPPER  "google-chrome-$dist" \
+      --add-flags ${escapeShellArg commandLineArgs} \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
 
     for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do
       patchelf --set-rpath $rpath $elf
diff --git a/nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/icecat-bin/default.nix
deleted file mode 100644
index 2427570a59d0..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix b/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
index 4daab414268a..bf370dd6ec0c 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.9.3";
+  version = "1.10.6";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-0+NY21oIbRMCYnneWxw48yQ3UOXW0Ves2A4JTXyLnCE=";
+    sha256 = "sha256-N4NB4lfWIN+jreAuaaGKRdpgwHy2CKrPrGxu1iSCZyU=";
     fetchSubmodules = true;
   };
 
@@ -38,8 +38,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ fribidi harfbuzz libunistring libwebp mpg123 openssl pcre SDL2 zlib ]
     ++ lib.optional stdenv.isDarwin AppKit;
 
-  hardeningDisable = lib.optional (!stdenv.cc.isClang) "format";
-
   installPhase = lib.optionalString stdenv.isDarwin ''
     mkdir -p $out/Applications
     mv Lagrange.app $out/Applications
diff --git a/nixpkgs/pkgs/applications/networking/browsers/nyxt/default.nix b/nixpkgs/pkgs/applications/networking/browsers/nyxt/default.nix
index 59bb2adbf518..7c1cb7f04a71 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/nyxt/default.nix
+++ b/nixpkgs/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,12 +22,12 @@ 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;
 
-  GST_PLUGIN_SYSTEM_PATH_1_0 = lib.concatMapStringsSep ":" (p: "${p}/lib/gstreamer-1.0") gstBuildInputs;
+  GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gstBuildInputs;
 
   dontWrapGApps = true;
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix b/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
index 642781d570a7..5013ca86d3e4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
@@ -11,7 +11,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gtk3
 , gtk4
 , lib
@@ -79,7 +78,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libX11
     libXScrnSaver
diff --git a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
index a536bf15cfec..e33ff3f3ca6e 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -44,12 +44,12 @@ assert with lib.strings; (
 
 stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "29.4.3";
+  version = "29.4.4";
 
   src = fetchzip {
     name = "${pname}-${version}";
     url = "http://archive.palemoon.org/source/${pname}-${version}.source.tar.xz";
-    sha256 = "sha256-9Qut7zgzDrU6T/sWbSF2Me7E02VJVL/B2bzJw14KWFs=";
+    sha256 = "sha256-0R0IJd4rd7NqnxQxkHSx10cNlwECqpKgJnlfYAMx4wc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix b/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix
index ae4a649724b3..552c05ac9cd4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/telescope/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "telescope";
-  version = "0.6.1";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "omar-polo";
     repo = pname;
     rev = version;
-    sha256 = "sha256-r2+jvmnW9EeQf/2X2cOxnOa+HGuGHV6YMftT2MxbSYQ=";
+    sha256 = "sha256-W42e1p70dMhF9C7BBPp1Yhp2PrRb8/Lu07yOGiUSmNg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index e1c93fe97726..427f6bcdc9a4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/nixpkgs/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.3";
+  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 = "1a2nxxmjg1gk8p0bxxjqx2g9bwv4ivz8hndabg31nglzv83r7p35";
+      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 = "0fjq6bj2b6rd66ky9i4p7asda0ghdcm6q0fnr92yan5x77pji73m";
+      sha256 = "0llg1nl7x7y4kp0hr3bbhdfggaf8praizkvcpp88x2i2zc9sp5mx";
     };
   };
 in
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
index 781163050944..fbd0df2fd3ad 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/nixpkgs/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;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
index bf220c02b4e4..139bfdc965f4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
index 0e4236f421a1..28543c31edc4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
@@ -1,21 +1,18 @@
-{ lib, stdenv, fetchurl
-, dpkg
-}:
+{ dpkg, fetchurl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
   pname = "chromium-codecs-ffmpeg-extra";
-  version = "94.0.4606.50";
+  version = "97.0.4692.56";
 
   src = fetchurl {
-    url = "https://launchpadlibrarian.net/558847674/${pname}_${version}-0ubuntu0.18.04.1_amd64.deb";
-    sha256 = "sha256-H7Tzd8tkaoLClXtNiwEO5nD4+PPt7Jgs+gtLiag/KN4=";
+    url = "https://launchpadlibrarian.net/574348729/${pname}_${version}-0ubuntu0.18.04.1_amd64.deb";
+    sha256 = "sha256-v5DHJxQjHjBeIS/psaM+LyUaHKlwzrKncLarErbUGVU=";
   };
 
   buildInputs = [ dpkg ];
 
   unpackPhase = ''
     dpkg-deb -x $src .
-    find .
   '';
 
   installPhase = ''
@@ -26,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "Additional support for proprietary codecs for Vivaldi";
     homepage    = "https://ffmpeg.org/";
     license     = licenses.lgpl21;
-    maintainers = with maintainers; [ betaboon lluchs ];
+    maintainers = with maintainers; [ betaboon cawilliamson lluchs ];
     platforms   = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix
index 3b0dbe8e9367..71a5a67331ed 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/widevine.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "widevine";
-  version = "4.10.1582.1";
+  version = "4.10.2391.0";
 
   src = fetchurl {
     url = "https://dl.google.com/widevine-cdm/${version}-linux-x64.zip";
-    sha256 = "0l743f2yyaq1vvc3iicajgnfpjxjsfvjcqvanndbxs23skgjcv6r";
+    sha256 = "sha256-7gH808C67m/s09e4rQUQHb/t+iGVdzW+YzrB1ZxGIdo=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/applications/networking/calls/default.nix b/nixpkgs/pkgs/applications/networking/calls/default.nix
index 68ab73da01e3..2215de9291d5 100644
--- a/nixpkgs/pkgs/applications/networking/calls/default.nix
+++ b/nixpkgs/pkgs/applications/networking/calls/default.nix
@@ -26,18 +26,20 @@
 , docbook-xsl-nons
 , docbook_xml_dtd_43
 , gobject-introspection
+, gst_all_1
+, sofia_sip
 }:
 
 stdenv.mkDerivation rec {
   pname = "calls";
-  version = "0.3.1";
+  version = "41.1";
 
   src = fetchFromGitLab {
-    domain = "source.puri.sm";
-    owner = "Librem5";
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0igap5ynq269xqaky6fqhdg2dpsvxa008z953ywa4s5b5g5dk3dd";
+    rev = version;
+    sha256 = "1vbw9x5s3ww11f3lnqivc74rjlmi9fk1hzaq1idrdcck3gvif0h8";
   };
 
   outputs = [ "out" "devdoc" ];
@@ -62,11 +64,16 @@ stdenv.mkDerivation rec {
     folks
     gom
     gsound
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-ugly
     feedbackd
     callaudiod
     gtk3
     libpeas
-    libgdata # required by some dependency transitively
+    sofia_sip
   ];
 
   checkInputs = [
@@ -80,7 +87,8 @@ stdenv.mkDerivation rec {
     "-Dgtk_doc=true"
   ];
 
-  doCheck = true;
+  # Disable until tests are fixed upstream https://gitlab.gnome.org/GNOME/calls/-/issues/258
+  doCheck = false;
 
   checkPhase = ''
     runHook preCheck
@@ -97,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/nixpkgs/pkgs/applications/networking/cloudflared/default.nix b/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
index a3b14264e0a6..954ce2292ec1 100644
--- a/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2021.12.3";
+  version = "2022.2.1";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    sha256 = "sha256-+T8BtYc/TBP2qL/Wfi2CDwD6VAqY/0F7QIUEhjOnLUk=";
+    hash   = "sha256-y9TduC6Fa1p3UFvSeW9n42AUD63dp/LEagiv3xlT/4U=";
   };
 
   vendorSha256 = null;
@@ -18,9 +18,9 @@ buildGoModule 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/nixpkgs/pkgs/applications/networking/cluster/argo-rollouts/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argo-rollouts/default.nix
new file mode 100644
index 000000000000..8127904023c9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
index b57181ce4a25..52bd37ec6138 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.2.4";
+  version = "3.2.8";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-uymE+Eq4jsqWIhDsbALzV+xAKF22DddPFzKtn3tV2EA=";
+    sha256 = "sha256-A6YI5OGveJj9RRk1fMF3ejYYnMsbjxE34ximtkZUNys=";
   };
 
-  vendorSha256 = "sha256-2b+PvD5IKgobBzFrubjRl2NvFxw91dXYpnWO8dqDG+U=";
+  vendorSha256 = "sha256-hxSr0sNlz93JxOxnE2SnR6/OgCGK8DrJZxqQtSxfbj8=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
index c937c8414717..360d566009d4 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.2.1";
-  commit = "122ecefc3abfe8b691a08d9f3cecf9a170cc8c37";
+  version = "2.2.5";
+  commit = "8f981ccfcf942a9eb00bc466649f8499ba0455f5";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = tag;
-    sha256 = "sha256-BI4aoe9XVmuyb4oDPd2Clz5IWVzu4rAMHDi6Cb6spyE=";
+    sha256 = "sha256-wSvDoRHV4BObRL8lEpHt9oGXNB06LXdIYasRYqmM5QA=";
   };
 
-  vendorSha256 = "sha256-GeU8uQM+oMottzYsE6oQyKZL3aWB5vQgTDLQiuQdapw=";
+  vendorSha256 = "sha256-BVhts+gOM6nhcR1lkFzy7OJnainLXw5YdeseBBRF2xE=";
 
   nativeBuildInputs = [ packr makeWrapper installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix b/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
index f74f87ad11c1..2cf5d35f653d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
@@ -2,24 +2,22 @@
 , stdenv
 , buildGoModule
 , fetchFromGitHub
-, makeWrapper
-, kubectl
 }:
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.8.11";
+  version = "0.8.14";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    sha256 = "0mdi5cjcs0qzj238lfjqbjgi131r2vxj810zx1gv1lc9y0aq0hkl";
+    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/nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix
index e03451f4f2fb..a629de63729e 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix
index da9f0938d144..91d8655fe6d2 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/clusterctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/clusterctl/default.nix
index fdd0e4967a76..b14c98b4453d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/clusterctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/clusterctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clusterctl";
-  version = "1.0.2";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "cluster-api";
     rev = "v${version}";
-    sha256 = "sha256-esSpCNvgYhuz9i22AU4ZowU5A5ZOPZ15+XHB4OOfTa4=";
+    sha256 = "sha256-IjkksHa94gkNiaeksGHlLdeHlLS/uwI0GnKK0d3s5wk=";
   };
 
-  vendorSha256 = "sha256-VO1Z4NUWrd4JuFYFg0a01psqoIM8ps3vKd0djR5OELU=";
+  vendorSha256 = "sha256-3PzaMB7U19HnqS+zRbIupErE1S8+MzG92vQFq3oxHpE=";
 
   subPackages = [ "cmd/clusterctl" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
new file mode 100644
index 000000000000..64a8ebd4a99b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "cmctl";
+  version = "1.7.1";
+
+  src = fetchFromGitHub {
+    owner = "cert-manager";
+    repo = "cert-manager";
+    rev = "v${version}";
+    sha256 = "sha256-RO7YcGEfAQ9kTxfqgekYf6M5b6Fg64hCPLA/vt6IWp8=";
+  };
+
+  vendorSha256 = "sha256-4zhdpedOmLl/i1G0QCto4ACxguWRZLzOm5HfMBMtvPY=";
+
+  subPackages = [ "cmd/ctl" ];
+
+  ldflags = [ "-s" "-w" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    mv $out/bin/ctl $out/bin/cmctl
+    installShellCompletion --cmd cmctl \
+      --bash <($out/bin/cmctl completion bash) \
+      --fish <($out/bin/cmctl completion fish) \
+      --zsh <($out/bin/cmctl completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "A CLI tool for managing Cert-Manager service on Kubernetes clusters";
+    downloadPage = "https://github.com/cert-manager/cert-manager";
+    license = licenses.asl20;
+    homepage = "https://cert-manager.io/";
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/networking/cluster/driftctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/driftctl/default.nix
index 212f15329213..725cd419d083 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.17";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "cloudskiff";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-JloeRoW+1tepSJzhcOQu38TDQfY10NtG2EyeVhP26BQ=";
+    sha256 = "sha256-8egkz1wXvdNoTkbhOdvoP4hrBPmuiUvd2QaD6tPH2xU=";
   };
 
-  vendorSha256 = "sha256-aaJ5fpS+BiVq1K8OxN+/CBD96wy3flGDhch8O2ACIh8=";
+  vendorSha256 = "sha256-lftOTcob8l9dUZkH2MMxzD6FZzLOR/PXEXFVdOaguK4=";
 
   postUnpack = ''
     # Without this, tests fail to locate aws/3.19.0.json
diff --git a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
index 55f3e23ad6c3..36940d7441dc 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "flink";
-  version = "1.14.0";
+  version = "1.14.3";
 
   src = fetchurl {
     url = "mirror://apache/flink/${pname}-${version}/${pname}-${version}-bin-scala_2.11.tgz";
-    sha256 = "149b9ae774022acc0109dced893ca2d73430627a612be17ff12de8734464aff8";
+    sha256 = "sha256-dst0Q1AlDdggtOwYROoV6QcBLRNfmGTo7DL2BV/5PB4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
index 54eaf06e12fb..30a12281c872 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,9 +1,9 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.24.1";
-  sha256 = "18jzf5kd06c10f45y4crvaqa5r10dhq2ashlhppzrmhigiyavxac";
-  manifestsSha256 = "0qbdik65irnwgw7klj5w0z00jxflm855gikpnqb9gsxd7rbw8ysk";
+  version = "0.26.3";
+  sha256 = "0j6zvcjykk775nnj8s0n5154lqslgfpi8884gh6sv204z2drfjff";
+  manifestsSha256 = "1pfk0fj228zy0m1cz0400l4r41l7p0gsdq5lqnl3a8vgb4f6i41q";
 
   manifests = fetchzip {
     url =
@@ -23,7 +23,7 @@ in buildGoModule rec {
     inherit sha256;
   };
 
-  vendorSha256 = "sha256-HoAVdY+kZLpUEl3mE7obbTzAJUyt5MBPjGhs6ZDSnzU=";
+  vendorSha256 = "sha256-34hSbOB7n9OFpVqe8y1+jAC3j0HEBg9LhYOvVGH9kLY=";
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
diff --git a/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix
index cb15d47e02d1..e86eeb94ff91 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fn";
-  version = "0.6.11";
+  version = "0.6.13";
 
   src = fetchFromGitHub {
     owner = "fnproject";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-mBPRsLBIwahKm2RR22pNXxJhdLaWHCKx0TKc4H4YIVY=";
+    sha256 = "sha256-zynhDxhZEpLmO8Z8shU8DnJUJ+K0wmf8fkRjMMV35uE=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix
new file mode 100644
index 000000000000..49a53e84e25c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "glooctl";
+  version = "1.10.8";
+
+  src = fetchFromGitHub {
+    owner = "solo-io";
+    repo = "gloo";
+    rev = "v${version}";
+    sha256 = "sha256-D6UWwR+cs/pGLBOIky34g253xMxWygczbmjtg8ixNoQ=";
+  };
+
+  subPackages = [ "projects/gloo/cli/cmd" ];
+  vendorSha256 = "sha256-6hmGtTNuuR4V0uMGEsOy6Iz/hhL8p1cn/4rEx4Uleug=";
+
+  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/nixpkgs/pkgs/applications/networking/cluster/helm-docs/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm-docs/default.nix
index 7214530a046d..f7c05843bcfc 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm-docs/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm-docs/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-docs";
-  version = "1.5.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "norwoodj";
     repo = "helm-docs";
     rev = "v${version}";
-    sha256 = "sha256-eyFuF03rqwfXyjEkqNRkjrJlHBazGYij1EtN0LAKdFk=";
+    sha256 = "sha256-TXwEVyRYRiVqCDL7IR+DIu1iKqaq81W5xkvz+laxVek=";
   };
 
-  vendorSha256 = "sha256-aAn969C4UhFGu5/qXIG/rc1cErQIDtPwEA+f0d43y0w=";
+  vendorSha256 = "sha256-XTV0gyUWe6G5gxucsXOaDOUQoKMCfhrWzlKwUOaA6y4=";
 
   subPackages = [ "cmd/helm-docs" ];
   ldflags = [
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
index c4365975713a..2f6dcbe01446 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "chart-testing";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-c7Rjk2YZaQXyFwrDVwYgOCnq/F2ooIUVETXVn5FVlZE=";
+    sha256 = "sha256-lXi778MTeVUBtepGjIkKAX1kDEaaVzQI1gTKfcpANC0=";
   };
 
-  vendorSha256 = "sha256-1Py66ljDjJC38biJ25D8KnWEi3nXAVt9QSgyH1KkwHM=";
+  vendorSha256 = "sha256-pNevyTibnhUK8LSM1lVnmumFazXK86q4AZ2WKFt5jok=";
 
   postPatch = ''
     substituteInPlace pkg/config/config.go \
@@ -26,9 +26,16 @@ buildGoModule rec {
     "-X github.com/helm/chart-testing/v3/ct/cmd.BuildDate=19700101-00:00:00"
   ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
   postInstall = ''
     install -Dm644 -t $out/etc/ct etc/chart_schema.yaml
     install -Dm644 -t $out/etc/ct etc/lintconf.yaml
+
+    installShellCompletion --cmd ct \
+      --bash <($out/bin/ct completion bash) \
+      --zsh <($out/bin/ct completion zsh) \
+      --fish <($out/bin/ct completion fish) \
   '';
 
   meta = with lib; {
@@ -36,5 +43,6 @@ buildGoModule rec {
     homepage = "https://github.com/helm/chart-testing";
     license = licenses.asl20;
     maintainers = with maintainers; [ atkinschang ];
+    mainProgram = "ct";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
index 59d4a4ff7cee..42d2e63eaac5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,22 +2,23 @@
 
 buildGoModule rec {
   pname = "helm";
-  version = "3.7.2";
-  gitCommit = "663a896f4a815053445eec4153677ddc24a0a361";
+  version = "3.8.0";
+  gitCommit = "d14138609b01886f544b2025f5000351c9eb092e";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-MhBuwpgF1PBAZ5QwF7t4J1gqam2cMX+hkdZs7KoSD6I=";
+    sha256 = "sha256-/vxf3YfBP1WHFpqll6iq4m+X4NA16qHnuGA0wvrVRsg=";
   };
-  vendorSha256 = "sha256-YDdpeVh9rG3MF1HgG7uuRvjXDr9Fcjuhrj16kpK8tsI=";
+  vendorSha256 = "sha256-M7XId+2HIh1mFzU54qQZEisWdVq67RlGJjlw+2dpiDc=";
 
   doCheck = false;
 
   subPackages = [ "cmd/helm" ];
   ldflags = [
-    "-w" "-s"
+    "-w"
+    "-s"
     "-X helm.sh/helm/v3/internal/version.version=v${version}"
     "-X helm.sh/helm/v3/internal/version.gitCommit=${gitCommit}"
   ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
index 3f340b0e5228..09de0219c7e8 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
@@ -28,7 +28,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "A Helm plugin that shows a diff";
     inherit (src.meta) homepage;
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ yurrriq ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
index 81e0d07d0bba..b6a47ec9dd5c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
@@ -31,7 +31,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "A Helm plugin that shows a diff";
     inherit (src.meta) homepage;
-    license = licenses.apsl20;
+    license = licenses.mit;
     maintainers = with maintainers; [ yurrriq ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
index cd1e6ece4377..a16472413f31 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A Helm plugin that helps manage secrets";
     inherit (src.meta) homepage;
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ yurrriq ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix
index 59c3437383a1..1fde5343d29d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmfile";
-  version = "0.142.0";
+  version = "0.143.0";
 
   src = fetchFromGitHub {
     owner = "roboll";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "sha256-kz5U9MPpN+14Eb1D1hjwDfvTOygzg0unyIgrFTFhE0Q=";
+    sha256 = "sha256-3Kuj3umyD7fooa4alNJAm7Adu+7EQvoB7Gt/LRjgW94=";
   };
 
-  vendorSha256 = "sha256-HKHMeDnIDmQ7AjuS2lYCMphTHGD1JgQuBYDJe2+PEk4=";
+  vendorSha256 = "sha256-/MbKYPcZ7cOPQKT+nYQaaCiahKLcesrSVKNo8hKFlf0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix
index 47da659d7e1f..e01f9c14a182 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmsman";
-  version = "3.7.7";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "Praqma";
     repo = "helmsman";
     rev = "v${version}";
-    sha256 = "sha256-duNkvRMq3CKAGDDsrDWKydFZRt6fxuO0uP2Ff3HA+ek=";
+    sha256 = "sha256-njo5LlowlgWFK5G2lpgi7hdxtnSs8f5cT0oHI7bJxNc=";
   };
 
-  vendorSha256 = "sha256-4imZrZfpR/5tw9ZFSTr7Gx4G9O1iHNE9YRYMOJFKvHU=";
+  vendorSha256 = "sha256-F+b4EXAxa4+O6yepx+9eRrdq294ZcQ+sODFUCKYpSuo=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
index 1340133e7111..3d36a3210184 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-oMf60mxreBSlgxVInTFM8kozYVZz5RdgzV3rYUnadnA=";
+    sha256 = "sha256-f0e2jdiIMfakG97LqJCP5Jk41D93a6wxaChN7WwY5oA=";
   };
-  vendorSha256 = "sha256-e8qh8J745TXUo6c1uMS8GyawEG9YFlMYl/nHpWIFK1Q=";
+  vendorSha256 = "sha256-gukwJp+qLbNJlBL5SemrVD6mExPnX0+19tbw/b4SJ8s=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k0sctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k0sctl/default.nix
index 689922515de5..256d7e642255 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k0sctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k0sctl/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-Fk1aYSa3LqzxiHtlzH5pcNtodOprjfnCFh4UMqCa6Rc=";
   };
 
-  vendorSha256 = "sha256-N4cU9wzBRZn71mZHkNDXKgSXvlN2QFS6K4MtlR25DJc=";
+  vendorSha256 = "sha256-21C6wZ8lKQnbUg3aD0ZFVOgopblXyWk4WP/ubZVk3Yk=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
index f3b5e4cd70c9..5b5dfece1f1b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/nixpkgs/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,8 @@
 , fetchzip
 , fetchgit
 , zstd
+, yq-go
+, nixosTests
 }:
 
 with lib;
@@ -42,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";
@@ -83,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 {
@@ -97,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";
     };
@@ -123,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
     '';
 
@@ -174,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
@@ -259,35 +243,73 @@ stdenv.mkDerivation rec {
     conntrack-tools
   ];
 
-  buildInputs = [
-    k3sBin
-  ] ++ k3sRuntimeDeps;
+  buildInputs = k3sRuntimeDeps;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+    rsync
+    yq-go
+    zstd
+  ];
 
-  unpackPhase = "true";
+  # 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
+  '';
+
+  # 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;
 
+  passthru.tests = { inherit (nixosTests) k3s-single-node k3s-single-node-docker; };
+
   meta = baseMeta;
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch b/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch
new file mode 100644
index 000000000000..115fd6824772
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch b/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch
deleted file mode 100644
index dd26810a4563..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch b/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch
new file mode 100644
index 000000000000..886b6ec7409b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/k3sup/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k3sup/default.nix
new file mode 100644
index 000000000000..befec62fbc50
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
index 27514303a15f..a844f2216754 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
     "-X github.com/derailed/k9s/cmd.commit=${src.rev}"
   ];
 
-  vendorSha256 = "sha256-jWZ1N1A8VECBQvkXyuzMUkI4u2NLr5/gSvJUfK5VgzM=";
+  vendorSha256 = "sha256-mMob7M9RQlqaVK0DgHpaAK9d1btzfQetnliUqFTvjJQ=";
 
   preCheck = "export HOME=$(mktemp -d)";
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kbst/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kbst/default.nix
index 3787c3462671..9a949bc8c800 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kbst/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kbst/default.nix
@@ -34,7 +34,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Kubestack framework CLI";
     homepage = "https://www.kubestack.com/";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ mtrsk ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix
index 683a91ffee85..e549c8f09fb0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kn/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kn/default.nix
index 796429f2a999..f492bfd6884c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/krane/Gemfile.lock b/nixpkgs/pkgs/applications/networking/cluster/krane/Gemfile.lock
index c2ef3e4b2510..1c1b8dc7b715 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,41 +1,42 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.1.4.1)
+    activesupport (7.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-      zeitwerk (~> 2.3)
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
-    cgi (0.3.1)
     colorize (0.8.1)
     concurrent-ruby (1.1.9)
-    date (3.2.2)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
-    ejson (1.3.0)
-    faraday (1.8.0)
+    ejson (1.3.1)
+    faraday (1.9.3)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
-      faraday-httpclient (~> 1.0.1)
+      faraday-httpclient (~> 1.0)
+      faraday-multipart (~> 1.0)
       faraday-net_http (~> 1.0)
-      faraday-net_http_persistent (~> 1.1)
+      faraday-net_http_persistent (~> 1.0)
       faraday-patron (~> 1.0)
       faraday-rack (~> 1.0)
-      multipart-post (>= 1.2, < 3)
+      faraday-retry (~> 1.0)
       ruby2_keywords (>= 0.0.4)
     faraday-em_http (1.0.0)
     faraday-em_synchrony (1.0.0)
     faraday-excon (1.1.0)
     faraday-httpclient (1.0.1)
+    faraday-multipart (1.0.3)
+      multipart-post (>= 1.2, < 3)
     faraday-net_http (1.0.1)
     faraday-net_http_persistent (1.2.0)
     faraday-patron (1.0.0)
     faraday-rack (1.0.0)
-    ffi (1.15.4)
+    faraday-retry (1.0.3)
+    ffi (1.15.5)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
@@ -59,36 +60,34 @@ GEM
       ffi-compiler (>= 1.0, < 2.0)
     i18n (1.8.11)
       concurrent-ruby (~> 1.0)
-    jsonpath (0.9.9)
+    jsonpath (1.1.0)
       multi_json
-      to_regexp (~> 0.2.1)
     jwt (2.3.0)
-    krane (2.3.4)
+    krane (2.4.0)
       activesupport (>= 5.0)
-      cgi
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
-      date
       ejson (~> 1.0)
       googleauth (~> 0.8)
-      jsonpath (~> 0.9.6)
-      kubeclient (~> 4.3)
+      jsonpath (~> 1.0)
+      kubeclient (~> 4.9)
       oj (~> 3.0)
       statsd-instrument (>= 2.8, < 4)
       thor (>= 1.0, < 2.0)
-    kubeclient (4.7.0)
+    kubeclient (4.9.2)
       http (>= 3.0, < 5.0)
+      jsonpath (~> 1.0)
       recursive-open-struct (~> 1.1, >= 1.1.1)
       rest-client (~> 2.0)
     memoist (0.16.2)
     mime-types (3.4.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2021.1115)
-    minitest (5.14.4)
+    mime-types-data (3.2022.0105)
+    minitest (5.15.0)
     multi_json (1.15.0)
     multipart-post (2.1.1)
     netrc (0.11.0)
-    oj (3.13.9)
+    oj (3.13.11)
     os (1.1.4)
     public_suffix (4.0.6)
     rake (13.0.6)
@@ -105,14 +104,12 @@ GEM
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
     statsd-instrument (3.1.2)
-    thor (1.1.0)
-    to_regexp (0.2.1)
+    thor (1.2.1)
     tzinfo (2.0.4)
       concurrent-ruby (~> 1.0)
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.8)
-    zeitwerk (2.5.1)
 
 PLATFORMS
   ruby
diff --git a/nixpkgs/pkgs/applications/networking/cluster/krane/default.nix b/nixpkgs/pkgs/applications/networking/cluster/krane/default.nix
index 6d325d6f592e..cc9d19fd8152 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/krane/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/krane/gemset.nix b/nixpkgs/pkgs/applications/networking/cluster/krane/gemset.nix
index 43bbe528cb69..e14b6902fe26 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -1,14 +1,14 @@
 {
   activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
+      sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -21,16 +21,6 @@
     };
     version = "2.8.0";
   };
-  cgi = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vy8g58ns18x3dl566wg5rp4hymlx9584ddf75isdyig0yxjl0sn";
-      type = "gem";
-    };
-    version = "0.3.1";
-  };
   colorize = {
     groups = ["default"];
     platforms = [];
@@ -51,16 +41,6 @@
     };
     version = "1.1.9";
   };
-  date = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0j1ghv5lqpn8jdvvci2fqvl30j4x31hhgzzc0mj54cga1sgh97n7";
-      type = "gem";
-    };
-    version = "3.2.2";
-  };
   domain_name = {
     dependencies = ["unf"];
     groups = ["default"];
@@ -77,21 +57,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09584dhklhnxvgrf1b1lvb1illhzg79rsd9sgbpzrawiir789ksy";
+      sha256 = "0gmfyyzzvb9k5nm1a5x83d7krajfghghfsakhxmdpvncyj2vnrpa";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.3.1";
   };
   faraday = {
-    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi";
+      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.3";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -133,6 +113,17 @@
     };
     version = "1.0.1";
   };
+  faraday-multipart = {
+    dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
@@ -173,15 +164,25 @@
     };
     version = "1.0.0";
   };
+  faraday-retry = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -270,15 +271,15 @@
     version = "1.8.11";
   };
   jsonpath = {
-    dependencies = ["multi_json" "to_regexp"];
+    dependencies = ["multi_json"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zim5bl7zsbccd502iy63f7c3b6dw0a820z7q8kpv66hncavb7gp";
+      sha256 = "12hjsr0plnx6v0bh1rhhimfi7z3rqm19xb47ybdkc1h9yhynnmdq";
       type = "gem";
     };
-    version = "0.9.9";
+    version = "1.1.0";
   };
   jwt = {
     groups = ["default"];
@@ -291,26 +292,26 @@
     version = "2.3.0";
   };
   krane = {
-    dependencies = ["activesupport" "cgi" "colorize" "concurrent-ruby" "date" "ejson" "googleauth" "jsonpath" "kubeclient" "oj" "statsd-instrument" "thor"];
+    dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "oj" "statsd-instrument" "thor"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07pij3z7kz7n0nvf8xwcaackck8wyjwldjva7215k2dm8csdzaih";
+      sha256 = "1xnf0cw5i1i8l5nm1c9z02h184ad6hvy7fydr4bdzckjkyinamv9";
       type = "gem";
     };
-    version = "2.3.4";
+    version = "2.4.0";
   };
   kubeclient = {
-    dependencies = ["http" "recursive-open-struct" "rest-client"];
+    dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k4w7h6fywhccv7fskwks9p71fvbh00qyvcx8cc4bnvwjn43680w";
+      sha256 = "0kld1w4706dfd6jx3snsi4h2pvqfazz1fni5al2ln60s3b8sybq4";
       type = "gem";
     };
-    version = "4.7.0";
+    version = "4.9.2";
   };
   memoist = {
     groups = ["default"];
@@ -338,20 +339,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03m3fkix2haah20kvh1jgv262yg9jlzn6wq0y31kafxk8fysfy27";
+      sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q";
       type = "gem";
     };
-    version = "3.2021.1115";
+    version = "3.2022.0105";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "5.15.0";
   };
   multi_json = {
     groups = ["default"];
@@ -388,10 +389,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hcmczbp9afxijzg0gvp9milyzk15phfmbpmmsj5ppmziwkdls16";
+      sha256 = "0bm8sdh7vz7ss3y21v961rd8nww23w5g4yhgvnd7jk331kdjyyzl";
       type = "gem";
     };
-    version = "3.13.9";
+    version = "3.13.11";
   };
   os = {
     groups = ["default"];
@@ -480,20 +481,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  to_regexp = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v";
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "1.2.1";
   };
   tzinfo = {
     dependencies = ["concurrent-ruby"];
@@ -527,14 +518,4 @@
     };
     version = "0.0.8";
   };
-  zeitwerk = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj";
-      type = "gem";
-    };
-    version = "2.5.1";
-  };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix
index 9ab32c644747..0a2386d37cee 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-capacity";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "robscott";
     repo = pname;
-    sha256 = "sha256-4UdNmuxJsPekA0y4mP302AYIFkG3ee3n99Redb/rPHw=";
+    sha256 = "sha256-jop1dn+D0A6BkR1UCMrU9qcbZ1AHVth430cTd+kUYJw=";
   };
 
-  vendorSha256 = "sha256-PQlOuBqn+b7fO9eHgtTAKxo3YdWmgbxx2JomklttCrM=";
+  vendorSha256 = "sha256-PkCUwe3S1bq37ME2WyTUnwEcbnFcNI0eaI9yW/HZ1uw=";
 
   meta = with lib; {
     description =
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube-score/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube-score/default.nix
index 6ef24ded1a67..c1383e8688d1 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kube-score/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
index 861fa2eb97ef..0da63fae4215 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kube3d";
-  version = "5.2.1";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = "k3d";
     rev = "v${version}";
-    sha256 = "sha256-rKiOPpRupoCRtGJ3DVBUY9483EEBxaaECZRdWiyxaEk=";
+    sha256 = "sha256-ZuUjk1wb7iRZX+OpjLJHp1T0WYNjCHU6DpYF4V/heVc=";
   };
 
   vendorSha256 = null;
@@ -49,7 +49,7 @@ buildGoModule rec {
       multi-node k3s cluster on a single machine using docker.
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ricochet ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix
index 02c1c834781a..1b1089f655cf 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubebuilder/default.nix
@@ -9,15 +9,15 @@
 
 buildGoModule rec {
   pname = "kubebuilder";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "kubebuilder";
     rev = "v${version}";
-    sha256 = "sha256-V/g2RHnZPa/9hkVG5WVXmbx6hnJAwUEyyUX/Q3OR2DM=";
+    sha256 = "sha256-xLeS0vfYuLEdzuou67ViduaBf62+Yqk+scaCCK+Xetk=";
   };
-  vendorSha256 = "sha256-bTCLuAo5xXNoafjGpjKLKlKVKB29PEFwdPu9+qjvufs=";
+  vendorSha256 = "sha256-zE/y9FAoUZBmWiUMWbc66CwkK0h7SEXzfZY3KkjtQ0A=";
 
   subPackages = ["cmd"];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubectl-doctor/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
index 5d056907264d..5e78cc9b72bd 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix
index 228f12075c4e..ed74f2f102e9 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubectl-example";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "seredot";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18vp53cda93qjssxygwqp55yc80a93781839gf3138awngf731yq";
+    sha256 = "sha256-7tqeIE6Ds8MrLH9k8cdzpeJP9pXVptduoEFE0zdrLlo=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix
index ee6a241a2304..8bfa519dee36 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
index ce1974fe2148..953a202170a5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
index d5f04c14d572..d2ad103eee9c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kubeone/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeone/default.nix
index 2b9ca9df0494..e08a3b46d156 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeone/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kubergrunt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubergrunt/default.nix
index 4e945e456409..32130ee96d28 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubergrunt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
index 7adeed5ae126..7a708c5e061d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.22.4";
+  version = "1.23.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "sha256-6ivBecOttzbX85+WCttaU5nXjaiEiKU8xRhnCPkjLXg=";
+    sha256 = "sha256-srJHW/wvrFKKgxVwJB4h0FGeaT7iSJYOTtSeTkcR3FE=";
   };
 
   nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
@@ -95,7 +95,7 @@ stdenv.mkDerivation rec {
     description = "Production-Grade Container Scheduling and Management";
     license = licenses.asl20;
     homepage = "https://kubernetes.io";
-    maintainers = with maintainers; [ johanot offline saschagrunert ];
+    maintainers = with maintainers; [ ] ++ teams.kubernetes.members;
     platforms = platforms.unix;
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/kubectl.nix
index fec93d8878e0..fec93d8878e0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubectl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/kubectl.nix
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kuma/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kuma/default.nix
index d7a58f09b4e7..b6d1ac477596 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kuma/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kuma/default.nix
@@ -16,15 +16,15 @@
 
 buildGoModule rec {
   inherit pname ;
-  version = "1.4.0";
+  version = "1.4.1";
   tags = lib.optionals enableGateway ["gateway"];
-  vendorSha256 = "1fc5psvbd9bpc6c3y2cpx5dx8cgr2fcp7nln3kwfgbryahq2y8wl";
+  vendorSha256 = "sha256-9v+ti/JTAF4TLZ0uvzFvrB0YBnRD2E0Q6K2yicEX3Zw=";
 
   src = fetchFromGitHub {
     owner = "kumahq";
     repo = "kuma";
     rev = version;
-    sha256 = "0agib3w5s270n5rhg54m3p4f21s5fhdrhaks374j7l21njs7xhqb";
+    sha256 = "sha256-zx4rohkv6jm2abtd0I/uQMITkCuhY3StHMKoaTxce0Q=";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix b/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
index 985ae1763236..66c507312c26 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
@@ -1,24 +1,29 @@
-{ lib, fetchurl, appimageTools }:
+{ lib, fetchurl, appimageTools, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
 
 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 = ''
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
   extraInstallCommands =
     ''
       mv $out/bin/${name} $out/bin/${pname}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix b/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix
index 0af651246e5e..8c8a6d92930a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "edge";
-  version = "21.10.3";
-  sha256 = "09k4c0dgn9vvgp6xb20x0vylk6bbd03srk3sra8vnpywwi591mcv";
-  vendorSha256 = "sha256-J/+YFXHC6UTyhln2ZDEq/EyqMEP9XcNC4GRuJjGEY3g=";
+  version = "22.1.4";
+  sha256 = "00r58k26qnxjsqjdcqz04p21c1vvw5ls485gad0pcny370wrp65n";
+  vendorSha256 = "sha256-5vYf9/BCSHJ0iydKhz+9yDg0rRXpLd+j8uD8kcKhByc=";
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
index e06f486ddf67..9b40f636bcb8 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
@@ -11,9 +11,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.24.0";
+  version = "1.25.1";
 
-  vendorSha256 = "sha256-I23T1eWPTU9QiIVI4qi5mkaS6CkeGbOHKTHwjCnKTIM=";
+  vendorSha256 = "sha256-MnyXePsnhb1Tl76uAtVW/DLacE0etXREGsapgNiZbMo=";
 
   doCheck = false;
 
@@ -21,7 +21,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-WW5VVjm7cq/3/RGiIE2nn8O+VK0RHCtKkrlboIzhqC4=";
+    sha256 = "sha256-pRNOVN9u27im9fkUawJYjuGHTW0N7L5oJa3fQ6DUO+4=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
index 7b7a7a40e2bc..9a3a5f3a3d5f 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.15.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LXXTzpG0UDSzEL6RdczvBZHlH5eJTkt7oc3wMFLO1JQ=";
+    sha256 = "sha256-6v4oZmP/FBtHAdnxnbd/HFZln2LGOVGtMc1GyRV2aqs=";
   };
 
-  vendorSha256 = "sha256-jFTtg3p8nS8j267CZ+wuoynruwFTRamwkEpResQSMjk=";
+  vendorSha256 = "sha256-joCJ4acSmClBJLZkW8DFeb0oha1Zowcpoaw6Elu+HrY=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix b/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
index c05cf0038a3d..5a121cbd3ec8 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
@@ -5,8 +5,8 @@ self: super: {
     _: {
       src = pkgs.fetchgit {
         url = "https://github.com/NixOS/nixops.git";
-        rev = "7ebdd8ace8d6bcefc18ee9e3e590f8bfa3368771";
-        sha256 = "16pwxs5bca6cd83f0rs4sf5r8yf07wmha051waysmxs9xxl856yc";
+        rev = "0c989d79c9052ebf52f12964131f4fc31ac20a18";
+        sha256 = "07jz9grq3hjn1g9xybln5phbjhn2zsldcnan3lal6syzjggja6v1";
       };
     }
   );
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry.lock b/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry.lock
index 413d440c8254..e0118fe79298 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry.lock
+++ b/nixpkgs/pkgs/applications/networking/cluster/nixops/poetry.lock
@@ -38,14 +38,14 @@ python-versions = "*"
 
 [[package]]
 name = "boto3"
-version = "1.20.8"
+version = "1.20.20"
 description = "The AWS SDK for Python"
 category = "main"
 optional = false
 python-versions = ">= 3.6"
 
 [package.dependencies]
-botocore = ">=1.23.8,<1.24.0"
+botocore = ">=1.23.20,<1.24.0"
 jmespath = ">=0.7.1,<1.0.0"
 s3transfer = ">=0.5.0,<0.6.0"
 
@@ -54,7 +54,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
 
 [[package]]
 name = "botocore"
-version = "1.23.8"
+version = "1.23.20"
 description = "Low-level, data-driven core of boto 3."
 category = "main"
 optional = false
@@ -89,7 +89,7 @@ pycparser = "*"
 
 [[package]]
 name = "charset-normalizer"
-version = "2.0.7"
+version = "2.0.9"
 description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
 category = "main"
 optional = false
@@ -194,7 +194,7 @@ testing = ["coverage (<5)", "pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3
 
 [[package]]
 name = "libvirt-python"
-version = "7.9.0"
+version = "7.10.0"
 description = "The libvirt virtualization API python binding"
 category = "main"
 optional = false
@@ -227,7 +227,7 @@ typing-extensions = "^3.7.4"
 type = "git"
 url = "https://github.com/NixOS/nixops.git"
 reference = "master"
-resolved_reference = "7ebdd8ace8d6bcefc18ee9e3e590f8bfa3368771"
+resolved_reference = "0c989d79c9052ebf52f12964131f4fc31ac20a18"
 
 [[package]]
 name = "nixops-aws"
@@ -643,7 +643,7 @@ test = ["pytest"]
 
 [[package]]
 name = "typeguard"
-version = "2.13.0"
+version = "2.13.2"
 description = "Run-time type checker for Python"
 category = "main"
 optional = false
@@ -697,12 +697,12 @@ boto = [
     {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
 ]
 boto3 = [
-    {file = "boto3-1.20.8-py3-none-any.whl", hash = "sha256:c0ac23cc36dc484edd1edd28903b5712cb07507af1ae19b2e8d6db176416d9e2"},
-    {file = "boto3-1.20.8.tar.gz", hash = "sha256:81ebdcabc534a52e2b7a2bfcbe1a1d7f1e34f028f7fe1cb16ccd80e34cea867a"},
+    {file = "boto3-1.20.20-py3-none-any.whl", hash = "sha256:6c173ffaf0604e34d6865edf7a9a71e1b3e79bd441b8b465ca4b2d44f840806d"},
+    {file = "boto3-1.20.20.tar.gz", hash = "sha256:2c5377b6ab74eeccccd16f0f21537ede87b05c8322b0ccc852a68f36ea6c16c9"},
 ]
 botocore = [
-    {file = "botocore-1.23.8-py3-none-any.whl", hash = "sha256:a0c7cfea155a0202ab197a016736dd4e6a26f9e416bdd9cdd2c9a3fb88ffa5a8"},
-    {file = "botocore-1.23.8.tar.gz", hash = "sha256:ae4ed9666199020a9e53c3d3efc0a7d417315cd2313b70cb013282afe70ac358"},
+    {file = "botocore-1.23.20-py3-none-any.whl", hash = "sha256:98275e47c941cada6507089ecfe91e420972209b1deeceaf55a89ea50d046347"},
+    {file = "botocore-1.23.20.tar.gz", hash = "sha256:22e1c7b4b2b8b11d7001ca5ef2b41bda9a8be46fb3cb994a2948462666ac5ef1"},
 ]
 certifi = [
     {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
@@ -761,8 +761,8 @@ cffi = [
     {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
 ]
 charset-normalizer = [
-    {file = "charset-normalizer-2.0.7.tar.gz", hash = "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0"},
-    {file = "charset_normalizer-2.0.7-py3-none-any.whl", hash = "sha256:f7af805c321bfa1ce6714c51f254e0d5bb5e5834039bc17db7ebe3a4cec9492b"},
+    {file = "charset-normalizer-2.0.9.tar.gz", hash = "sha256:b0b883e8e874edfdece9c28f314e3dd5badf067342e42fb162203335ae61aa2c"},
+    {file = "charset_normalizer-2.0.9-py3-none-any.whl", hash = "sha256:1eecaa09422db5be9e29d7fc65664e6c33bd06f9ced7838578ba40d58bdf3721"},
 ]
 colorama = [
     {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
@@ -775,6 +775,8 @@ cryptography = [
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34dae04a0dce5730d8eb7894eab617d8a70d0c97da76b905de9efb7128ad7085"},
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b"},
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:9965c46c674ba8cc572bc09a03f4c649292ee73e1b683adb1ce81e82e9a6a0fb"},
+    {file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:3c4129fc3fdc0fa8e40861b5ac0c673315b3c902bbdc05fc176764815b43dd1d"},
+    {file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:695104a9223a7239d155d7627ad912953b540929ef97ae0c34c7b8bf30857e89"},
     {file = "cryptography-3.4.8-cp36-abi3-win32.whl", hash = "sha256:21ca464b3a4b8d8e86ba0ee5045e103a1fcfac3b39319727bc0fc58c09c6aff7"},
     {file = "cryptography-3.4.8-cp36-abi3-win_amd64.whl", hash = "sha256:3520667fda779eb788ea00080124875be18f2d8f0848ec00733c0ec3bb8219fc"},
     {file = "cryptography-3.4.8-pp36-pypy36_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d2a6e5ef66503da51d2110edf6c403dc6b494cc0082f85db12f54e9c5d4c3ec5"},
@@ -815,15 +817,31 @@ jsonpickle = [
     {file = "jsonpickle-2.0.0.tar.gz", hash = "sha256:0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a"},
 ]
 libvirt-python = [
-    {file = "libvirt-python-7.9.0.tar.gz", hash = "sha256:8535cffa5fbf05185648f9f57a2f71899c3bc12c897d320351c53725a48e5359"},
+    {file = "libvirt-python-7.10.0.tar.gz", hash = "sha256:267774bbdf99d47515274542880499437dc94ae291771f5663c62020a62da975"},
 ]
 markupsafe = [
+    {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"},
+    {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
+    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"},
+    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"},
+    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"},
+    {file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd"},
+    {file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f"},
+    {file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
     {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
@@ -832,14 +850,27 @@ markupsafe = [
     {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
+    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"},
+    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"},
+    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"},
+    {file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207"},
+    {file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9"},
+    {file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
     {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
+    {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
+    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"},
+    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"},
+    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"},
+    {file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f"},
+    {file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194"},
+    {file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
     {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
@@ -849,6 +880,12 @@ markupsafe = [
     {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
+    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"},
+    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"},
+    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"},
+    {file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047"},
+    {file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e"},
+    {file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
     {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
     {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
@@ -945,8 +982,8 @@ sphinxcontrib-serializinghtml = [
     {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"},
 ]
 typeguard = [
-    {file = "typeguard-2.13.0-py3-none-any.whl", hash = "sha256:0bc44d1ff865b522eda969627868b0e001c8329296ce50aededbea03febc79ee"},
-    {file = "typeguard-2.13.0.tar.gz", hash = "sha256:04e38f92eb59410c9375d3be23df65e0a7643f2e8bcbd421423d808d2f9e99df"},
+    {file = "typeguard-2.13.2-py3-none-any.whl", hash = "sha256:4f7da3d80dda5e42d6973f11f33da3542b8bf86edc12ba926b2dbad62adf3fcf"},
+    {file = "typeguard-2.13.2.tar.gz", hash = "sha256:7e50071590ab997509aa0977609eb5cf9d73d84c1f416cb4fab78b77a9d15326"},
 ]
 typing-extensions = [
     {file = "typing_extensions-3.10.0.2-py2-none-any.whl", hash = "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7"},
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix
index cfa86ea2dcaf..4bdaf7690869 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix
+++ b/nixpkgs/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.5";
 
     outputs = [
       "out"
@@ -25,26 +25,24 @@ let
       owner = "hashicorp";
       repo = "nomad-autoscaler";
       rev = "v${version}";
-      sha256 = "sha256-SmlcQH+K/axl6Gj+bX0Quk6K/usP0c1hWnIdFjS1dn8=";
+      sha256 = "sha256-2d36ddAjbt+nPmsHawgMq1CnKB2VNv8yMKMrPx5L+yw=";
     };
 
-    vendorSha256 = "sha256-tO8vi9jBV6rVcGk/OoaXzpnQi4yPdozYZZwAMFCz2+c=";
+    vendorSha256 = "sha256-g3INNvAQ124kBJSe5cnsIq1y8sWpPYKLwJONgbIUaoM=";
 
-    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/nixpkgs/pkgs/applications/networking/cluster/nomad-pack/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad-pack/default.nix
new file mode 100644
index 000000000000..93d1d3badad2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix
deleted file mode 100644
index 079c957ebb0f..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ callPackage
-, buildGoPackage
-, nvidia_x11
-, nvidiaGpuSupport
-}:
-
-callPackage ./generic.nix {
-  inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "1.0.13";
-  sha256 = "19wlma2y8lpb7p01wb0l20rb6nvrvldz0mm3qfisx33y56ykjyh8";
-}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix
index 5a3e964ad5f8..750e49fc1e18 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.1.nix
@@ -4,7 +4,7 @@
 , nvidiaGpuSupport
 }:
 
-callPackage ./genericModule.nix {
+callPackage ./generic.nix {
   inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
   version = "1.1.8";
   sha256 = "05k1r157h3jaqzzsrkgc96zcny3mi8dvixc2v1w0lwcxixqk0y2l";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.2.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.2.nix
new file mode 100644
index 000000000000..81a31de7e506
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.2.nix
@@ -0,0 +1,12 @@
+{ callPackage
+, buildGoModule
+, nvidia_x11
+, nvidiaGpuSupport
+}:
+
+callPackage ./generic.nix {
+  inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
+  version = "1.2.6";
+  sha256 = "1ik8v1jznky9y4m85bzxgyba256zqmm5fs6d5xsvp5rzcylcdwgd";
+  vendorSha256 = "1mbvpssf7haaxzx6ka9qzixm49jck8i89w8ymkaddgmxhlbxjv05";
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix
index 586308dd424f..180cf48e3fb1 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/generic.nix
@@ -1,27 +1,30 @@
 { lib
-, buildGoPackage
+, buildGoModule
 , fetchFromGitHub
 , version
 , sha256
+, vendorSha256
 , nvidiaGpuSupport
 , patchelf
 , nvidia_x11
+, nixosTests
 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "nomad";
   inherit version;
-  rev = "v${version}";
 
-  goPackagePath = "github.com/hashicorp/nomad";
   subPackages = [ "." ];
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
-    inherit rev sha256;
+    rev = "v${version}";
+    inherit sha256;
   };
 
+  inherit vendorSha256;
+
   nativeBuildInputs = lib.optionals nvidiaGpuSupport [
     patchelf
   ];
@@ -39,11 +42,13 @@ buildGoPackage rec {
     done
   '';
 
+  passthru.tests.nomad = nixosTests.nomad;
+
   meta = with lib; {
     homepage = "https://www.nomadproject.io/";
     description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
     platforms = platforms.unix;
     license = licenses.mpl20;
-    maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes maxeaubrey ];
+    maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes maxeaubrey techknowlogick ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix
deleted file mode 100644
index c2e657317533..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/genericModule.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, version
-, sha256
-, vendorSha256
-, nvidiaGpuSupport
-, patchelf
-, nvidia_x11
-, nixosTests
-}:
-
-buildGoModule rec {
-  pname = "nomad";
-  inherit version;
-
-  subPackages = [ "." ];
-
-  src = fetchFromGitHub {
-    owner = "hashicorp";
-    repo = pname;
-    rev = "v${version}";
-    inherit sha256;
-  };
-
-  inherit vendorSha256;
-
-  nativeBuildInputs = lib.optionals nvidiaGpuSupport [
-    patchelf
-  ];
-
-  # ui:
-  #  Nomad release commits include the compiled version of the UI, but the file
-  #  is only included if we build with the ui tag.
-  tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
-
-  # The dependency on NVML isn't explicit. We have to make it so otherwise the
-  # binary will not know where to look for the relevant symbols.
-  postFixup = lib.optionalString nvidiaGpuSupport ''
-    for bin in $out/bin/*; do
-      patchelf --add-needed "${nvidia_x11}/lib/libnvidia-ml.so" "$bin"
-    done
-  '';
-
-  passthru.tests.nomad = nixosTests.nomad;
-
-  meta = with lib; {
-    homepage = "https://www.nomadproject.io/";
-    description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
-    platforms = platforms.unix;
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes maxeaubrey ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix b/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix
index a83bf805d876..3d34a65e2926 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix b/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix
index c256f23dbc9c..cb0e9adaf262 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix
+++ b/nixpkgs/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 = "237bd35906f5c4bed1f4de4aa58cc6a6a676d4fd";
+let rev = "6cf7519717a14c9a3e495fcd4588fa4eb16d2be2";
 in
 buildGoModule rec {
   pname = "sonobuoy";
-  version = "0.55.1"; # 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,10 +20,10 @@ buildGoModule rec {
     owner = "vmware-tanzu";
     repo = "sonobuoy";
     rev = "v${version}";
-    sha256 = "sha256-pHpnh+6O9yjnDA8u0jyLvqNQbXC+xz8fRn47aQNdOAo=";
+    sha256 = "sha256-KYpBubNHAstKUtf9Ys4VCWyZ+y4HjzVMs9EtWzVFviQ=";
   };
 
-  vendorSha256 = "sha256-jPKCWTFABKRZCg6X5VVdrmOU/ZFc7yGD7R8RJrpcITg=";
+  vendorSha256 = "sha256-qKXm39CwrTcXENIMh2BBS3MUlhJvmTTA3UzZNpF0PCc=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix b/nixpkgs/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
index b5c732282b9a..f7401d36b0ea 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
@@ -19,8 +19,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoPatchelfHook ] ++ (if stdenv.isDarwin then [ unzip ] else [ dpkg ]);
 
-  buildInputs = [ awscli ];
-
   unpackPhase = if stdenv.isDarwin then "unzip $src" else "dpkg-deb -x $src .";
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix b/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix
index 6c22203eaaf1..30ca2ee1cdee 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix
@@ -1,20 +1,32 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "starboard";
-  version = "0.12.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6QIQsxqTKERo5x2Knv4IBeNt5KjvfoW0ryFJLlALqrA=";
+    sha256 = "sha256-sB7C0IKadgpQ2h6HuH4D6ku/GXnFfFS+fGCW/RBSc10=";
+    # 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)
+      substituteInPlace "$out/cmd/starboard/main.go" \
+        --replace 'commit  = "none"' "commit  = \"$commit\"" \
+        --replace 'date    = "unknown"' "date    = \"$source_date_epoch\""
+      find "$out" -name .git -print0 | xargs -0 rm -rf
+    '';
   };
+  vendorSha256 = "sha256-R7tF724y5WNIByE+9nRoNSZDZzfLtPfK/9tSBkARaN0=";
 
-  vendorSha256 = "sha256-r6wMSeW5Et6hYwoEKufmcOmucuHlYuBDOMuXXMT4W2Y=";
+  nativeBuildInputs = [ installShellFiles ];
 
-  # Don't build and check the integration tests
-  excludedPackages = "itest";
+  subPackages = [ "cmd/starboard" ];
 
   ldflags = [
     "-s" "-w" "-X main.version=v${version}"
@@ -23,6 +35,20 @@ buildGoModule rec {
   preCheck = ''
     # Remove test that requires networking
     rm pkg/plugin/aqua/client/client_integration_test.go
+
+    # Feed in all but the integration tests for testing
+    # This is because subPackages above limits what is built to just what we
+    # want but also limits the tests
+    getGoDirs() {
+      go list ./... | grep -v itest
+    }
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd starboard \
+      --bash <($out/bin/starboard completion bash) \
+      --fish <($out/bin/starboard completion fish) \
+      --zsh <($out/bin/starboard completion zsh)
   '';
 
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix b/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
index 959c40637fbe..19184ac15ae8 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
@@ -4,16 +4,16 @@ let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform;
 in
 buildGoModule rec {
   pname = "stern";
-  version = "1.20.1";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "stern";
     repo = "stern";
     rev = "v${version}";
-    sha256 = "sha256-JredVk2hjnhoaJ9bT7D5k35skBNjcEBLa6GgO8dB2+U=";
+    sha256 = "sha256-+V0mRSjAwhZoiIS/OpZyqa5rvlqU9pGJwmW0QZ3H2g4=";
   };
 
-  vendorSha256 = "sha256-ybsDB54kkbONi3b9URtNUusHIdUfzymOpYlNHJz4i2A=";
+  vendorSha256 = "sha256-IPHu23/2e6406FELB1Mwegp0C16cFD65mbW5Ah32D4Q=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix
new file mode 100644
index 000000000000..8613abd99470
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix
@@ -0,0 +1,58 @@
+{ 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";
+  inherit version vendorSha256;
+  # nixpkgs-update: no auto update
+
+  src = fetchFromGitHub {
+    owner = "talos-systems";
+    repo = "talos";
+    rev = "v${version}";
+    inherit sha256;
+  };
+
+  ldflags =
+    let
+      versionPkg = "github.com/talos-systems/talos/pkg/version"; # VERSION_PKG
+      imagesPkgs = "github.com/talos-systems/talos/pkg/images"; # IMAGES_PKGS
+      mgmtHelpersPkg = "github.com/talos-systems/talos/cmd/talosctl/pkg/mgmt/helpers"; #MGMT_HELPERS_PKG
+    in
+    [
+      "-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=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
+    ];
+
+  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; {
+    description = "A CLI for out-of-band management of Kubernetes nodes created by Talos";
+    homepage = "https://github.com/talos-systems/talos";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ flokli ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
index e1ea0a690c95..0d21e440031d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tanka";
-  version = "0.17.3";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Khu6ovtcXkqqt3W4OoJ09INgv80tw/6uDcJS+jt3y0Y=";
+    sha256 = "sha256-Wtfn9ffUNKuwByRbeCYq27xvr2DuzxSSQMH9Sv5a7rU=";
   };
 
-  vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";
+  vendorSha256 = "sha256-ed6rC+wrZHDViGfJrSBl5VUqX/o6RKytXbTKqxb3ZtU=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index 0db134bdb215..9f3c046a266a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.20.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-aVR1xNmL6M/m+1znt70vrCtuABCqDz0sDp8mDFI2uIg=";
+    sha256 = "sha256-AmJN7hnYuhxYNG/qs7yv3phhffYKVaM8f7irhi9wRfA=";
   };
 
   vendorSha256 = null;
@@ -22,10 +22,14 @@ buildGoModule rec {
   excludedPackages = "\\(third_party\\|cmd/docs\\)";
 
   preCheck = ''
-    # Some tests try to write to the home dir
+    # some tests try to write to the home dir
     export HOME="$TMPDIR"
-    # Change the golden files to match our desired version
-    sed -i "s/dev/${version}/" pkg/cmd/version/testdata/{TestGetVersions-,TestGetComponentVersions/}*.golden
+
+    # the tests expect the clientVersion ldflag not to be set
+    unset ldflags
+
+    # remove tests with networking
+    rm pkg/cmd/version/version_test.go
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix b/nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix
index a03f69a9fc0a..2475dd0f1d94 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 5a546851caa4..93be46bc7927 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -1,98 +1,108 @@
 { lib
 , buildGoModule
-, buildGoPackage
 , fetchFromGitHub
 , callPackage
 , config
+
+, cdrtools # libvirt
 }:
 let
-  list = lib.importJSON ./providers.json;
+  # Our generic constructor to build new providers.
+  #
+  # Is designed to combine with the terraform.withPlugins implementation.
+  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;
+        };
 
-  buildWithGoModule = data:
-    buildGoModule {
-      pname = data.repo;
-      version = data.version;
-      subPackages = [ "." ];
-      doCheck = false;
-      src = fetchFromGitHub {
-        inherit (data) owner repo rev sha256;
-      };
-      vendorSha256 = data.vendorSha256 or null;
-      deleteVendor = data.deleteVendor or false;
-      proxyVendor = data.proxyVendor or false;
+        # 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
+        '';
 
-      # Terraform allow checking the provider versions, but this breaks
-      # if the versions are not provided via file paths.
-      postBuild = "mv $NIX_BUILD_TOP/go/bin/${data.repo}{,_v${data.version}}";
-      passthru = data;
-    };
-
-  buildWithGoPackage = data:
-    buildGoPackage {
-      pname = data.repo;
-      version = data.version;
-      goPackagePath = "github.com/${data.owner}/${data.repo}";
-      subPackages = [ "." ];
-      doCheck = false;
-      src = fetchFromGitHub {
-        inherit (data) owner repo rev sha256;
-      };
-      # Terraform allow checking the provider versions, but this breaks
-      # if the versions are not provided via file paths.
-      postBuild = "mv $NIX_BUILD_TOP/go/bin/${data.repo}{,_v${data.version}}";
-      passthru = data;
-    };
+        # Keep the attributes around for later consumption
+        passthru = attrs;
+      });
 
-  # Our generic constructor to build new providers
-  mkProvider = attrs:
-    (if (lib.hasAttr "vendorSha256" attrs) then buildWithGoModule else buildWithGoPackage)
-      attrs;
+  list = lib.importJSON ./providers.json;
 
   # These providers are managed with the ./update-all script
   automated-providers = lib.mapAttrs (_: attrs: mkProvider attrs) list;
 
   # These are the providers that don't fall in line with the default model
-  special-providers = let archived = throw "the provider has been archived by upsteam"; in {
-    # Packages that don't fit the default model
-    gandi = callPackage ./gandi { };
-    libvirt = callPackage ./libvirt { };
-    teleport = callPackage ./teleport { };
-    vpsadmin = callPackage ./vpsadmin { };
-  } // (lib.optionalAttrs (config.allowAliases or false) {
-    arukas = archived; # added 2022/01
-    bitbucket = archived; # added 2022/01
-    chef = archived; # added 2022/01
-    cherryservers = archived; # added 2022/01
-    clc = archived; # added 2022/01
-    cloudstack = throw "removed from nixpkgs"; # added 2022/01
-    cobbler = archived; # added 2022/01
-    cohesity = archived; # added 2022/01
-    dyn = archived; # added 2022/01
-    genymotion = archived; # added 2022/01
-    hedvig = archived; # added 2022/01
-    ignition = archived; # added 2022/01
-    incapsula = archived; # added 2022/01
-    influxdb = archived; # added 2022/01
-    jdcloud = archived; # added 2022/01
-    kubernetes-alpha = throw "This has been merged as beta into the kubernetes provider. See https://www.hashicorp.com/blog/beta-support-for-crds-in-the-terraform-provider-for-kubernetes for details";
-    librato = archived; # added 2022/01
-    logentries = archived; # added 2022/01
-    metalcloud = archived; # added 2022/01
-    mysql = archived; # added 2022/01
-    nixos = archived; # added 2022/01
-    oneandone = archived; # added 2022/01
-    packet = archived; # added 2022/01
-    profitbricks = archived; # added 2022/01
-    pureport = archived; # added 2022/01
-    rancher = archived; # added 2022/01
-    rightscale = archived; # added 2022/01
-    runscope = archived; # added 2022/01
-    segment = throw "removed from nixpkgs"; # added 2022/01
-    softlayer = archived; # added 2022/01
-    telefonicaopencloud = archived; # added 2022/01
-    terraform = archived; # added 2022/01
-    ultradns = archived; # added 2022/01
-    vthunder = throw "provider was renamed to thunder"; # added 2022/01
-  });
+  special-providers =
+    {
+      # Packages that don't fit the default model
+
+      # mkisofs needed to create ISOs holding cloud-init data,
+      # and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
+      libvirt = automated-providers.libvirt.overrideAttrs (_: { propagatedBuildInputs = [ cdrtools ]; });
+    };
+
+  # Put all the providers we not longer support in this list.
+  removed-providers =
+    let
+      archived = date: throw "the provider has been archived by upstream on ${date}";
+      removed = date: throw "removed from nixpkgs on ${date}";
+    in
+    lib.optionalAttrs (config.allowAliases or false) {
+      arukas = archived "2022/01";
+      chef = archived "2022/01";
+      cherryservers = archived "2022/01";
+      clc = archived "2022/01";
+      cloudstack = removed "2022/01";
+      cobbler = archived "2022/01";
+      cohesity = archived "2022/01";
+      dyn = archived "2022/01";
+      genymotion = archived "2022/01";
+      hedvig = archived "2022/01";
+      ignition = archived "2022/01";
+      incapsula = archived "2022/01";
+      influxdb = archived "2022/01";
+      jdcloud = archived "2022/01";
+      kubernetes-alpha = throw "This has been merged as beta into the kubernetes provider. See https://www.hashicorp.com/blog/beta-support-for-crds-in-the-terraform-provider-for-kubernetes for details";
+      librato = archived "2022/01";
+      logentries = archived "2022/01";
+      metalcloud = archived "2022/01";
+      mysql = archived "2022/01";
+      nixos = archived "2022/01";
+      oneandone = archived "2022/01";
+      packet = archived "2022/01";
+      profitbricks = archived "2022/01";
+      pureport = archived "2022/01";
+      rancher = archived "2022/01";
+      rightscale = archived "2022/01";
+      runscope = archived "2022/01";
+      segment = removed "2022/01";
+      softlayer = archived "2022/01";
+      telefonicaopencloud = archived "2022/01";
+      teleport = removed "2022/01";
+      terraform = archived "2022/01";
+      ultradns = archived "2022/01";
+      vthunder = throw "provider was renamed to thunder on 2022/01";
+    };
 in
-automated-providers // special-providers // { inherit mkProvider; }
+automated-providers // special-providers // removed-providers // { inherit mkProvider; }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix
deleted file mode 100644
index 13afa8d3818a..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
-buildGoPackage rec {
-  pname = "terraform-provider-gandi";
-  version = "1.0.0";
-
-  goPackagePath = "github.com/tiramiseb/terraform-provider-gandi";
-  goDeps = ./deps.nix;
-
-  src = fetchFromGitHub {
-    owner = "tiramiseb";
-    repo = "terraform-provider-gandi";
-    rev = "v${version}";
-    sha256 = "0byydpqsimvnk11bh9iz8zlxbsmsk65w55pvkp18vjzqrhf4kyfv";
-  };
-
-  # Terraform allow checking the provider versions, but this breaks
-  # if the versions are not provided via file paths.
-  postBuild = "mv go/bin/terraform-provider-gandi{,_v${version}}";
-
-  meta = with lib; {
-    description = "Terraform provider for the Gandi LiveDNS service.";
-    homepage = "https://github.com/tiramiseb/terraform-provider-gandi";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ manveru ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix
deleted file mode 100644
index 3d4a3547502d..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/hashicorp/terraform";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/terraform";
-      rev = "27b720113ed5143a870ec151b3b7c9d955a09bc0";
-      sha256 = "1f0hwdf2z68p0ll3pgrx949h09q52gcfaxap0zz52m7px98sfab4";
-    };
-  }
-  {
-    goPackagePath = "github.com/tiramiseb/go-gandi-livedns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tiramiseb/go-gandi-livedns";
-      rev = "4773a84f8ee7365ed21edc6cd0602aaf93e94e59";
-      sha256 = "1i8s7yclrkhf974vs2splh5symzk0ym54px0bc216bq4ifzkwkqc";
-    };
-  }
-]
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
deleted file mode 100644
index a2ea7e8008ef..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ buildGoModule, cdrtools, fetchFromGitHub, lib, libvirt, makeWrapper, pkg-config }:
-
-# USAGE:
-# install the following package globally or in nix-shell:
-#
-#   (terraform.withPlugins (p: [p.libvirt]))
-#
-# configuration.nix:
-#
-#   virtualisation.libvirtd.enable = true;
-#
-# pick an example from (i.e ubuntu):
-# https://github.com/dmacvicar/terraform-provider-libvirt/tree/main/examples
-
-let
-  sha256 = "sha256-1l+ARrXHxtSdnQfYV/6gw3BYHVH8NN4pi+Ttk1nwF88=";
-  vendorSha256 = "sha256-OJa8pQgf5PlECZZkFV9fyCOdh6CrregY1BWycx7JPFE=";
-  version = "0.6.12";
-in buildGoModule {
-  inherit version;
-  inherit vendorSha256;
-
-  pname = "terraform-provider-libvirt";
-
-  src = fetchFromGitHub {
-    inherit sha256;
-
-    owner = "dmacvicar";
-    repo = "terraform-provider-libvirt";
-    rev = "v${version}";
-  };
-
-  nativeBuildInputs = [ pkg-config makeWrapper ];
-
-  buildInputs = [ libvirt ];
-
-  # mkisofs needed to create ISOs holding cloud-init data,
-  # and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
-  propagatedBuildInputs = [ cdrtools ];
-
-  # Terraform allow checking the provider versions, but this breaks
-  # if the versions are not provided via file paths.
-  postBuild = "mv $GOPATH/bin/terraform-provider-libvirt{,_v${version}}";
-
-  ldflags = [ "-X main.version=${version}" ];
-  passthru.provider-source-address = "registry.terraform.io/dmacvicar/libvirt";
-
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://github.com/dmacvicar/terraform-provider-libvirt";
-    description = "Terraform provider for libvirt";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ mic92 ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 78016c931fd0..d74ddedb31f9 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/nixpkgs/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.4.0",
-    "sha256": "0m43d2iaa9kywzvlgcnsya1ma9k570j9q8cq9l6ldpc8565fqq0i",
-    "vendorSha256": "1lpfnpg4sivy8vilkxamdn1hyn6k61lxsfcq67afxsq8pcy6q44v",
-    "version": "2.4.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.149.0",
-    "sha256": "0v9jhpvz33hzq09i8bxp1dif9jdypb5g2xy3d2g1mw4lgqrdpjix",
+    "rev": "v1.157.0",
+    "sha256": "02zsp7kxvg6i7wzrx6qigjsvxmmz4rhpjb36qz1jwn3dzpx6dyv1",
     "vendorSha256": "18chs2723i2cxhhm649mz52pp6wrfqzxgk12zxq9idrhicchqnzg",
-    "version": "1.149.0"
+    "version": "1.157.0"
   },
   "ansible": {
     "owner": "nbering",
@@ -67,55 +67,55 @@
     "owner": "alexkappa",
     "provider-source-address": "registry.terraform.io/alexkappa/auth0",
     "repo": "terraform-provider-auth0",
-    "rev": "v0.25.0",
-    "sha256": "0ibscxhwj92k8p43apnxyl9sly7pldv0lgcikjfjj352084q4k62",
-    "vendorSha256": "0k6lylkcdvm0piaic8hdbhg1jf1vzc897w1sq7v57brx7586h3sc",
-    "version": "0.25.0"
+    "rev": "v0.26.2",
+    "sha256": "1n9gn7zsdygdr2ybki7xz2snp3fygls6myb1w5zndby497kgxrkw",
+    "vendorSha256": "1x61f7vz73m2q6pdb6ddy27j4npiwrrlgzvd90zrcc0yj22h6mms",
+    "version": "0.26.2"
   },
   "avi": {
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/avi",
     "repo": "terraform-provider-avi",
-    "rev": "v21.1.2",
-    "sha256": "1j96k7yklaxykqj6v1yvxxib2zr2jyx37pkan34jxd8nk43lix67",
-    "vendorSha256": "0pz0n2ijmbhqzvhq41h1hs80yiphwwb0lf3zacifp6rxyv8aawlf",
-    "version": "21.1.2"
+    "rev": "v21.1.3",
+    "sha256": "160l9864p73283hc27qaabd3lrh7lm8fyh6k9xlal5isfd9vrm5p",
+    "vendorSha256": "1hw1xp20nhs4p1q9l887m82456fg5977pm66165gdkczwrq2zr6v",
+    "version": "21.1.3"
   },
   "aviatrix": {
     "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.70.0",
-    "sha256": "0133f1ngwa7x8w9zicfwmkj14rav9cvwk7qf7hdz0cfmyl4pj4x2",
-    "vendorSha256": "03k8xijzfawbdzc1wavw9k2z2zyffi1ysnqls412nzdyvxyl8xw4",
-    "version": "3.70.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.13.0",
-    "sha256": "13337m20yxamdjpiw4kfi2ik4i5ivvr1fryygixpsj34lr21zxgk",
+    "rev": "v2.18.0",
+    "sha256": "06l4w9g4p48gnb9c9mmnydvpyr89f8rijpf103ndsg6ack6k4mg2",
     "vendorSha256": null,
-    "version": "2.13.0"
+    "version": "2.18.0"
   },
   "azurerm": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v2.90.0",
-    "sha256": "04bll0ygjgrqq18va97xi42p55fvlbgdc24m2i9amjhjbly5m7wn",
+    "rev": "v2.97.0",
+    "sha256": "0a95xq2bk6a1yas2kxfq30s41s2jgv2rjvz4y7m34wlldd9qxfhg",
     "vendorSha256": null,
-    "version": "2.90.0"
+    "version": "2.97.0"
   },
   "azurestack": {
     "owner": "hashicorp",
@@ -139,19 +139,37 @@
     "owner": "F5Networks",
     "provider-source-address": "registry.terraform.io/F5Networks/bigip",
     "repo": "terraform-provider-bigip",
-    "rev": "v1.12.1",
-    "sha256": "0dpgxcdcpv6y25ffs0gp2pvq8z9yfh7hdqll25d0b09z0pqgb61q",
+    "rev": "v1.12.2",
+    "sha256": "08qs8psr4wy5f9qiv7chkmmsls19dwj2p2k6fqxdrd6pj2154rcg",
     "vendorSha256": null,
-    "version": "1.12.1"
+    "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.1",
+    "sha256": "15biy4gm8lwmqm1s5rjr0d77vy4mgyjwaa3wydrna1655w3rgkr6",
+    "vendorSha256": "0pjxrdpsn99g6hjp0flrk7czjb05ibnsjcggrvvpwzrbj55rqzgd",
+    "version": "1.4.1"
   },
   "checkpoint": {
     "deleteVendor": true,
@@ -176,10 +194,10 @@
     "owner": "cloudflare",
     "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v3.6.0",
-    "sha256": "1adpzk9vjllr18dq8kggxfabm3ax59m55ls98mkqh8lmgq96bh7d",
-    "vendorSha256": "0qby6fa1x5fapgcy5i35dwwlkb2ggws9sxcssshzssy0fzpb3k87",
-    "version": "3.6.0"
+    "rev": "v3.9.1",
+    "sha256": "02kyjf2mizvxv1a2fkw2wsk0gmilj83sj3qv1d7g0wxxkxx00nd2",
+    "vendorSha256": "167jafxr4g43y9gvqjq5z7vd9cyf15d69wbrdvqsfzj8sszqfq5l",
+    "version": "3.9.1"
   },
   "cloudfoundry": {
     "owner": "cloudfoundry-community",
@@ -187,7 +205,7 @@
     "repo": "terraform-provider-cloudfoundry",
     "rev": "v0.15.0",
     "sha256": "0kg9aivxlbkqgrwv0j02hfsaky5q4f0bmqihn589dsdk7jds66i7",
-    "vendorSha256": "19jnaazhdqagfx5wkpvrf0amf7d22kg6hzk0nsg888d0l4x93hna",
+    "vendorSha256": "19h526ag7p2jkdp0610slbpsz8q3njvj9d4xmsfdsv3r8pz7xzls",
     "version": "0.15.0"
   },
   "cloudinit": {
@@ -230,19 +248,19 @@
     "owner": "poseidon",
     "provider-source-address": "registry.terraform.io/poseidon/ct",
     "repo": "terraform-provider-ct",
-    "rev": "v0.9.1",
-    "sha256": "1d8q6ffh64v46r80vmbpsgmjw1vg6y26hpq3nz2h5mvqm0fqya9r",
-    "vendorSha256": "sha256-e/r59hnVRxrSqmQUwYZiN+YCCz+LbxUHGV2MFGcmJn4=",
-    "version": "0.9.1"
+    "rev": "v0.9.2",
+    "sha256": "104j34b1m110fdya21k4rz03j1yba4a9cpm7hq13i8hc2diqjqnc",
+    "vendorSha256": "0qk83ppnwkwvj85dh9p0cv6a0nv8l8zlf4k74cy3m0bqym4ad0qk",
+    "version": "0.9.2"
   },
   "datadog": {
     "owner": "DataDog",
     "provider-source-address": "registry.terraform.io/DataDog/datadog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.7.0",
-    "sha256": "0fynbn0zbplslbvqz0jij4gm8q6ydg697x7nh5rzw89dy26l2f8g",
-    "vendorSha256": "0ngvbc9h3csl811g40q707flf4dl1hal95hpkxsvz7p71s3371q8",
-    "version": "3.7.0"
+    "rev": "v3.8.1",
+    "sha256": "0mvl80dsqzab1r3p5n446737dadzfbsyfbdy2w2xvmz4fgx6aklh",
+    "vendorSha256": "0p8czqb4hn5z9bfgsfajdpx46hwil0ax75j8xljlh1ccvpp2rvyz",
+    "version": "3.8.1"
   },
   "dhall": {
     "owner": "awakesecurity",
@@ -257,10 +275,10 @@
     "owner": "digitalocean",
     "provider-source-address": "registry.terraform.io/digitalocean/digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.16.0",
-    "sha256": "0l67yd7l0s36lwp1hm44d77i7d5019j0ddjzf22aw8cv9xd5fhxw",
+    "rev": "v2.17.1",
+    "sha256": "0dfw4sjmsfzrs28gf5k4vqjs6phwa6w3pwi7fpbngnw6l2r4m6h9",
     "vendorSha256": null,
-    "version": "2.16.0"
+    "version": "2.17.1"
   },
   "dme": {
     "owner": "DNSMadeEasy",
@@ -277,145 +295,154 @@
     "repo": "terraform-provider-dns",
     "rev": "v3.2.1",
     "sha256": "1zynfwm7hl7pnldjr2nxj0a06j209r62g8zpkasj6zdjscy62rc8",
-    "vendorSha256": "sha256-D/CD3O/EHIa2GTwmIAZM3e3bFSLMXy4KhAGWeD4i7kI=",
+    "vendorSha256": "0hpf48z7i5h1hh52wpyc48axpvfx9h3209iw36v8c764xzf87w0g",
     "version": "3.2.1"
   },
   "dnsimple": {
     "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",
     "provider-source-address": "registry.terraform.io/dome9/dome9",
     "repo": "terraform-provider-dome9",
-    "rev": "v1.24.4",
-    "sha256": "01zvav3r25qbhq1dfxjwmcgyk377cisn1k6406xq66fsyijcf5rw",
+    "rev": "v1.24.5",
+    "sha256": "0a4q5lf11xxfc9ndicdmjir77rdsiq5a8fwb6065879qaamvaxqi",
     "vendorSha256": null,
-    "version": "1.24.4"
+    "version": "1.24.5"
   },
   "elasticsearch": {
     "owner": "phillbaker",
     "provider-source-address": "registry.terraform.io/phillbaker/elasticsearch",
     "repo": "terraform-provider-elasticsearch",
-    "rev": "v2.0.0-beta.2",
-    "sha256": "1pr0vaag0b0i83381pcpxnq5bpjfj80bm6m483rivbaqbxr0dakw",
+    "rev": "v2.0.0-beta.4",
+    "sha256": "0ypw916sziy8dhvbv96f7d4as08ps18xxx8h6ip69mk74vf029sm",
     "vendorSha256": "1w92k895ikrqm9n1hf36wlh9nq278vifl3r14v0rxa8g9awizfdr",
-    "version": "2.0.0-beta.2"
+    "version": "2.0.0-beta.4"
   },
   "exoscale": {
     "owner": "exoscale",
     "provider-source-address": "registry.terraform.io/exoscale/exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.31.1",
-    "sha256": "1k6z7mi20ijn3lj734abrbpgcpa6lr5ziacg8h5xr99xs5r9g5yi",
+    "rev": "v0.31.2",
+    "sha256": "1fncpy8vc72g6h560mnkwm160wah8iik4bn12mjgbz3nvjlsm04x",
     "vendorSha256": null,
-    "version": "0.31.1"
+    "version": "0.31.2"
   },
   "external": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/external",
     "repo": "terraform-provider-external",
-    "rev": "v2.1.1",
-    "sha256": "1f92cg2fjwy2n5380fx9j6j2bnsnkcy18kq0bjbkwkh8kmshqjn8",
-    "vendorSha256": "031knr4axrcwisbhzs39faykzc1jgm9hx4rhqk46wim950gifl7g",
-    "version": "2.1.1"
+    "rev": "v2.2.0",
+    "sha256": "0s7zxz9dni1p93di1ddx595d0mmizq7zrvkbbx1m4c5f208m262x",
+    "vendorSha256": "1f5gh110rylb1cw4dlwdzsj8sb0myj7xcj7ix966l5qa9x05p9pn",
+    "version": "2.2.0"
   },
   "fastly": {
     "owner": "fastly",
     "provider-source-address": "registry.terraform.io/fastly/fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v0.39.0",
-    "sha256": "0sjjcz2z7qr1dmm6zzyi382cas4k5vdg0q7yxlpcqxqqrql636k8",
+    "rev": "v1.0.0",
+    "sha256": "0rpggjsnxwz3rd93nxqr0w2addscxw498mf1mjp3mvkj1f3r9afi",
     "vendorSha256": null,
-    "version": "0.39.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",
+    "provider-source-address": "registry.terraform.io/go-gandi/gandi",
+    "repo": "terraform-provider-gandi",
+    "rev": "v2.0.0",
+    "sha256": "0xvdnjadcddrrfhhp198mraf2bm01xfy7gapjay441dbzffynw1m",
+    "vendorSha256": "1yccjnz6xw3b51xqmiaw78m87y2xmlp9z5z3gx5dbzz0lkj1k523",
+    "version": "2.0.0"
   },
   "github": {
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v4.19.0",
-    "sha256": "17xpkcrklzbim91rxw4g4n8izk9qiw9q0vfivr467i32dv5mzc2d",
+    "rev": "v4.20.0",
+    "sha256": "0cibbzj3nj5dgi2mcr93bdxwvb7r2qscwshjbssbc7avwvhh3171",
     "vendorSha256": null,
-    "version": "4.19.0"
+    "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": "sha256-tkPenz+gkghIGMYF9iFj1TXUV3NGm/zYGQ3nP2hWdZA=",
-    "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.5.0",
-    "sha256": "173aqwrzqdb3y57wiq1dbgb74ksr063qqq1k178n4wrab4s1h3px",
-    "vendorSha256": "0f18fh0qi1v1hkq3j8nrc8x2rah7vk6njjgdakxr1g1xxv8f0nhx",
-    "version": "4.5.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.5.0",
-    "sha256": "17z2jy8b9gk0id8q0318a6k60fhcqps0p36s7d7kkqmr44shgzs4",
-    "vendorSha256": "0f18fh0qi1v1hkq3j8nrc8x2rah7vk6njjgdakxr1g1xxv8f0nhx",
-    "version": "4.5.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.17.0",
-    "sha256": "10mj1dvz7q3w250hvi3k4rj2x0mn592gw2xcy1j98x5ll6kx4ynd",
-    "vendorSha256": "1bhygkkgd3j971cg6wha57cyh4ggbkaihw6sn6p9jvdi1k1f63lw",
-    "version": "1.17.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.13.0",
-    "sha256": "0m4n1ih7fzwxrnd3b70i4xl0nrwbpw8f6hh1fpa02jv7znpdp7l8",
+    "rev": "v1.14.1",
+    "sha256": "1vf1xvj3djm1mgrgfj428yh26qxksclxxnvkxl663nqsvy14gd6s",
     "vendorSha256": null,
-    "version": "1.13.0"
+    "version": "1.14.1"
   },
   "hcloud": {
     "owner": "hetznercloud",
@@ -423,7 +450,7 @@
     "repo": "terraform-provider-hcloud",
     "rev": "v1.32.2",
     "sha256": "0rr65bxd0w5r0zqgj975rzxw7j3wrav4dw9gl3ispfhkb9v1302f",
-    "vendorSha256": "0g8cbkg5kcddd1x3p6d8mb6mqwsayqby0mrrifkw5icf7rlaa0sl",
+    "vendorSha256": "0rc4pznb16fm5dhi54fwka44zvngy3hp0cfwlrh84ifmzqgx0mlv",
     "version": "1.32.2"
   },
   "helm": {
@@ -439,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",
@@ -457,10 +484,10 @@
     "owner": "huaweicloud",
     "provider-source-address": "registry.terraform.io/huaweicloud/huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.32.0",
-    "sha256": "1k5d4a488mrba6cvpcbhd9hqhhb977yi89p32wlfx266mf11w2yw",
+    "rev": "v1.33.0",
+    "sha256": "07m2kzx4m9gn9j5czlfdsq0a1ki8vfwlywrfgz2jxvz2cqnn4gsx",
     "vendorSha256": null,
-    "version": "1.32.0"
+    "version": "1.33.0"
   },
   "huaweicloudstack": {
     "owner": "huaweicloud",
@@ -484,10 +511,10 @@
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.37.1",
-    "sha256": "1m9038ylv44xhgws0jrqdynj7kd97x9jgk1npqblbfv86fccwqxc",
-    "vendorSha256": "1a8zy023j3mcy3bswyrmllkgv61wiyxa1f7bfj8mxx3701rsb4ji",
-    "version": "1.37.1"
+    "rev": "v1.39.0-beta0",
+    "sha256": "1ms6jr2f112qxslv2lapvngkmg2mlf0jfjnpx6rxqzclq0xcjqn1",
+    "vendorSha256": "0g6bm2pvdvj24yw26d2w8d7nr9izzqwrwzdz4y9dbr426xycrgy5",
+    "version": "1.39.0-beta0"
   },
   "icinga2": {
     "owner": "Icinga",
@@ -502,37 +529,37 @@
     "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",
     "provider-source-address": "registry.terraform.io/Mongey/kafka",
     "repo": "terraform-provider-kafka",
-    "rev": "v0.4.1",
-    "sha256": "0k1vrd2h7d01ypyhs2q1x83nnmiivglwsbrmwrj4k750x2wniygq",
-    "vendorSha256": "06n2xpic0lmb81rbkx39avz6zgnspmi6xv69kfzdvx7q3zpf7w4s",
-    "version": "0.4.1"
+    "rev": "v0.4.2",
+    "sha256": "1qgcjcdkhxh2r2c12zd3b5cjn8zf4rdmw91a9h4izy52fsmc2x3q",
+    "vendorSha256": "1y6q5q84a6hin1h86gbm7c5glmfjc4im0w6cjaznmj9gmrkjh8qg",
+    "version": "0.4.2"
   },
   "kafka-connect": {
     "owner": "Mongey",
     "provider-source-address": "registry.terraform.io/Mongey/kafka-connect",
     "repo": "terraform-provider-kafka-connect",
-    "rev": "v0.2.3",
-    "sha256": "0fn03l58lkrlinvnxld2ba7z1gx95vxklbhh2z7930pih0vhr0sr",
-    "vendorSha256": "17fwqhxh22szdys97dxh069z6s8xr3y9i3pi5ckdcr462j1dr95w",
-    "version": "0.2.3"
+    "rev": "v0.2.4",
+    "sha256": "17qslh2axvwiqmqzaxdl75zg3ww6hcpq7k2bfx026ca7bifqx13f",
+    "vendorSha256": "0acl8ijai4awgxhps17bwnwd9aks0qbjvv4ad6pj8vbf496dc411",
+    "version": "0.2.4"
   },
   "keycloak": {
     "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",
@@ -556,28 +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.2.0",
-    "sha256": "06lhcimk368ll73vhs09d6lsmphbm2mvlxhiajc190db492nnjnl",
-    "vendorSha256": "05gx87dwh49zc5mlqnzcqn46pjf9q4wsv9l15pjr3spczzi11cnz",
-    "version": "2.2.0"
+    "rev": "v2.5.0",
+    "sha256": "1083w217y8l6clj3q31f1lanzngfinw682kdqpm0xfssqas7qzx6",
+    "vendorSha256": "13vcxvw56bn7mdz917lvdryd2d7mcvi83ykbzjfbpxr4lzrrm9qw",
+    "version": "2.5.0"
+  },
+  "libvirt": {
+    "owner": "dmacvicar",
+    "provider-source-address": "registry.terraform.io/dmacvicar/libvirt",
+    "repo": "terraform-provider-libvirt",
+    "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.0",
-    "sha256": "11ybl1ny90y7w999hwjnwnmmdkqak5q8gbg1qqimhjvw69j0dr81",
-    "vendorSha256": "01146ds79clf2hn8ph4hx0g8chwhfawdy5cpslnppsm1w8v5arrm",
-    "version": "1.25.0"
+    "rev": "v1.25.2",
+    "sha256": "18w9x80zary64873d1r824g28l5dhkda1qq0lr895afwh8g11dfp",
+    "vendorSha256": "0c882yafydhdhnp5awb8llzbmiljfdbamqlx740347ywpliy0ga2",
+    "version": "1.25.2"
   },
   "linuxbox": {
     "owner": "numtide",
@@ -611,10 +647,10 @@
     "owner": "terraform-lxd",
     "provider-source-address": "registry.terraform.io/terraform-lxd/lxd",
     "repo": "terraform-provider-lxd",
-    "rev": "v1.6.0",
-    "sha256": "07h159mjbddkf3ishhdknqn10pyb2wh9yavjps5mwmdbiii6qpvy",
+    "rev": "v1.7.1",
+    "sha256": "0r1d0d6fp3rihxhfsxlay0dqp5rmnja9s369msra8jylqyharnrh",
     "vendorSha256": "11x12jxh4q99hinpljqfchysgkhch93sgv0mz065ws20y0dxzfvs",
-    "version": "1.6.0"
+    "version": "1.7.1"
   },
   "mailgun": {
     "owner": "wgebis",
@@ -638,28 +674,37 @@
     "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.3.0",
+    "sha256": "0cgjcq5fk4cyxrpvqkg7nk9hjzr28nmhmlnhclx9bw2rm3g7i000",
+    "vendorSha256": "0p3mg2j89jjkhgv57l5pkpyjdhbh41ilb5az5y2m5zz3kbl4y13b",
+    "version": "1.3.0"
   },
   "mongodbatlas": {
     "owner": "mongodb",
     "provider-source-address": "registry.terraform.io/mongodb/mongodbatlas",
     "repo": "terraform-provider-mongodbatlas",
-    "rev": "v1.1.1",
-    "sha256": "0ifrpamajmrqa3fmsg4qyag1i7ghrswbhl0ixj8hgw7kzbzslsyd",
-    "vendorSha256": "1xrpgrzk5hr7qc5zm7nq5ljhc4sgzbsaxfszc8dlpc5y49j5q0ip",
-    "version": "1.1.1"
+    "rev": "v1.2.0",
+    "sha256": "08v1byvy7c2wdlbinjxb01vbzvsqfc73nc3cacp40n69z8wl70bi",
+    "vendorSha256": "19q835m219i85bq7mm5gafpw4q2y4lhbas2ppbfn3hkky15mvwks",
+    "version": "1.2.0"
   },
   "ncloud": {
     "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",
@@ -674,10 +719,10 @@
     "owner": "newrelic",
     "provider-source-address": "registry.terraform.io/newrelic/newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v2.34.1",
-    "sha256": "1j7r6cac1ajp8f6h2492dnz7ihkxbdi8js535dv04kiah79r49d5",
-    "vendorSha256": "0qbrrh5qdbcnzmf69jilcd9qql526w9mf4ix8y8bi94w7m0nwxap",
-    "version": "2.34.1"
+    "rev": "v2.37.0",
+    "sha256": "1gx2sxm39ap84anaiffdacqqrgagymgxywxc0rnc7zkwvziazhw9",
+    "vendorSha256": "130ddc9qs6i8l2ka76n9rxwsz71h0wywbnjd3p2xbkkpqsg66lbz",
+    "version": "2.37.0"
   },
   "nomad": {
     "owner": "hashicorp",
@@ -689,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.1",
-    "sha256": "0l72z92k71z48ls1dwy6apwhgi9xbs4czmryc0k65krh4hgjhhwk",
-    "vendorSha256": "0nk8xs24hwsarr22h5m1qcpixg7ijdkah5686wkp51y8cp69v25r",
-    "version": "1.12.1"
+    "rev": "v1.12.5",
+    "sha256": "0g69jr96ns2h578cmh5zz27m5dkgygrfr6shvx79wal26fpr8413",
+    "vendorSha256": "0s70626ng7pvqxnx0a4rp22b8spy45y011bvvm77fndm8fc1w9zn",
+    "version": "1.12.5"
   },
   "nsxt": {
     "owner": "vmware",
@@ -721,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.57.0",
-    "sha256": "123k24pa5232j9yxhgn6ng36s46y3iv4xsqay9ry53g4pw6zcx9y",
+    "rev": "v4.64.0",
+    "sha256": "1x8lhyr356j2gihgfy8563n75aqb2prwvdlnkxmvlbqcp10rnggd",
     "vendorSha256": null,
-    "version": "4.57.0"
+    "version": "4.64.0"
   },
   "okta": {
     "owner": "okta",
     "provider-source-address": "registry.terraform.io/okta/okta",
     "repo": "terraform-provider-okta",
-    "rev": "v3.20.2",
-    "sha256": "0qlm99m4dljnczsypn4gmw9n4vvxkfazi21hvkbkgy2v3wmhsms9",
-    "vendorSha256": "1dadvvkspb654pmxzb8vlp88vpnh2ssgfsvlcaiikyjqh2z7wbq4",
-    "version": "3.20.2"
+    "rev": "v3.21.0",
+    "sha256": "1j1nvg0qj8xaqnbwlrnhpy73032zc1ik78c0q1iq7xa2gs833qya",
+    "vendorSha256": "0l0di6cmm41z7i4d498xxc8wcrbg6r9w4vcdksqhz92s1gqs3f4z",
+    "version": "3.21.0"
   },
   "oktaasa": {
     "owner": "oktadeveloper",
@@ -767,37 +811,37 @@
     "owner": "OpenNebula",
     "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v0.3.0",
-    "sha256": "110mzxr2mk9hzw7nfisyl4in7r7q4m280szzgc3bzlp9sjvqgg3y",
-    "vendorSha256": "1wp9dk5kcrkmcx7mh5inbq3zd7qwp8sbl9hc0svaf44mf1p9446w",
-    "version": "0.3.0"
+    "rev": "v0.4.1",
+    "sha256": "13z14p8zkrmffai5pdiwi33xsznan015nl9b9cfyxi1is4m5i41m",
+    "vendorSha256": "0qyzavig8wnnjzm63pny5azywqyrnjm978yg5y0sr6zw8wghjd15",
+    "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": "1f77z6p8423gh8x7zbhn3pkd8a1nxd5pabc1043d66pbw9rxchax",
-    "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.2",
-    "sha256": "1icfsjpch6plp9qbx0snn55kvkba0kvnd0skwdhzxi66xcdw0s9b",
-    "vendorSha256": "0dc4l5swfw666mpm5q67gm45abkm9zsvibqrja910h6rrp387576",
-    "version": "1.27.2"
+    "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.7",
-    "sha256": "1dfp7s8zvnifnbka7azfxss42cj11s00mp92fj10bji4hkk0bvjq",
+    "rev": "v0.6.10",
+    "sha256": "1kxq66skal10nx5mgk8qj15chk01fi1pjamgakr1j56m1dgw03cw",
     "vendorSha256": null,
-    "version": "0.6.7"
+    "version": "0.6.10"
   },
   "oraclepaas": {
     "owner": "terraform-providers",
@@ -821,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.0",
-    "sha256": "0v2vydrljnaq47pkz6rfrhl7zsqa8lgjclpa6jy7nyc69c02d90c",
+    "rev": "v1.10.0",
+    "sha256": "1nh1kc8pz10014p6dw8l2qdiqxdgcj5yy3da2qhbarwn0qm9fs36",
     "vendorSha256": null,
-    "version": "1.9.0"
+    "version": "1.10.0"
   },
   "pass": {
     "owner": "camptocamp",
@@ -848,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",
@@ -868,17 +912,17 @@
     "repo": "terraform-provider-rabbitmq",
     "rev": "v1.6.0",
     "sha256": "0src4d032z3mpv10fgya2izqm8qfdgr87rfhpnld1r90yvxqgnl2",
-    "vendorSha256": "sha256-wbnjAM2PYocAtRuY4fjLPGFPJfzsKih6Q0YCvFyMulQ=",
+    "vendorSha256": "0m5siifbq0j68dx2hapczhjlyq9wrgwf360vnl08fqlgrl0f7ff1",
     "version": "1.6.0"
   },
   "rancher2": {
     "owner": "rancher",
     "provider-source-address": "registry.terraform.io/rancher/rancher2",
     "repo": "terraform-provider-rancher2",
-    "rev": "v1.22.1",
-    "sha256": "0sx24riks78ywxsrhvc18w3wppz676zv1bjmzvm7r4q94miplxgl",
-    "vendorSha256": "0qdd1sl9r6rpp9jmxy3r5a064f8agjmlkrn241p4sd7j5cncxdk3",
-    "version": "1.22.1"
+    "rev": "v1.22.2",
+    "sha256": "0k5ljyb55nw993vc3whhnyjgwy97qr1pp5mbi9g40dlm84myi9bm",
+    "vendorSha256": "1x7i69cyss5mkz82ii5pqvjprgvqyd41admfdm7hpci626i9dhsr",
+    "version": "1.22.2"
   },
   "random": {
     "owner": "hashicorp",
@@ -893,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": "0f2nx0x6gpxw440s81mn7plg63zd0g4crnlbalmj6i2rjkpj48v5",
-    "version": "2.2.0"
+    "rev": "v2.2.1-rc.1",
+    "sha256": "0f4sizgcy3000k67nb3axa8xhpczvzdla3bnpda27jdrx22ckyz8",
+    "vendorSha256": "11g5v5kvs4qxdg34ai7fpinwbshrjwi9hxzav2vpnzhy8lfqpkzb",
+    "version": "2.2.1-rc.1"
   },
   "secret": {
     "owner": "numtide",
@@ -920,19 +964,19 @@
     "owner": "selectel",
     "provider-source-address": "registry.terraform.io/selectel/selectel",
     "repo": "terraform-provider-selectel",
-    "rev": "v3.7.1",
-    "sha256": "02sfzrs3k907djcyjz7qn42b21wccykw0fw65ms34h5vz5ld73mx",
-    "vendorSha256": null,
-    "version": "3.7.1"
+    "rev": "v3.8.0",
+    "sha256": "0qc08v217cv2i43cxcx854rvhihrlhlakfark37vcdrh9z6swf1n",
+    "vendorSha256": "1mjp5yqwl1nya82yf5v6l3sq7iv0m94xy5w7y5avn8h40dl1wfnf",
+    "version": "3.8.0"
   },
   "sentry": {
     "owner": "jianyuan",
     "provider-source-address": "registry.terraform.io/jianyuan/sentry",
     "repo": "terraform-provider-sentry",
-    "rev": "v0.6.0",
-    "sha256": "0246hv52kslrzj43dkbk8r8gimwz3sgzxsbv7sxwmk3ll3sl2zrk",
-    "vendorSha256": "1d4c8cg4a81mndrzwrsi1k9ll553csnb0r4avlq9hyc03z60dwdc",
-    "version": "0.6.0"
+    "rev": "v0.7.0",
+    "sha256": "09rxgq4m28nhwg6y51m5sq3d12lx7r1q3k76zrd5gpbxagqhvhkr",
+    "vendorSha256": "1wh2nf5q69j1p568c0q5yhlkd8ij3r8jg2769qy51wsj3bbv0wcj",
+    "version": "0.7.0"
   },
   "shell": {
     "owner": "scottwinkler",
@@ -940,17 +984,17 @@
     "repo": "terraform-provider-shell",
     "rev": "v1.7.10",
     "sha256": "15pw8i1j47ppwrrh1gpfdkba54zab50ziqfqsc17pmv2gisq8d9d",
-    "vendorSha256": "0d76xpzfba4xxxafgw0k2dkm22xpzgsa2bf53jwrgwyfvjgvj41c",
+    "vendorSha256": "1vgs7nvqa25c0qxhj7jpjfphshxsqhxvxnr9ny7x4ghzg9ab90rh",
     "version": "1.7.10"
   },
   "signalfx": {
     "owner": "splunk-terraform",
     "provider-source-address": "registry.terraform.io/splunk-terraform/signalfx",
     "repo": "terraform-provider-signalfx",
-    "rev": "v6.7.10",
-    "sha256": "113q9wwvz0lxn1l948g5mnwbpd76q8j2pm9q90nbkg1yvwsidsqi",
-    "vendorSha256": "124vw40rpnsmna6fkwb9qp8z31hlxn4dx7p7vgng32l1w7ddwmcp",
-    "version": "6.7.10"
+    "rev": "v6.8.1",
+    "sha256": "094a3avlvaacw8g45ll17x1wrch47m5bvj548rvmz77pdbhpzvr5",
+    "vendorSha256": "12c1lhyrl3bwnkvp4qw9wxawy54x3k86vh1dnnvf5n8916pvwcw0",
+    "version": "6.8.1"
   },
   "skytap": {
     "owner": "skytap",
@@ -974,10 +1018,10 @@
     "owner": "spotinst",
     "provider-source-address": "registry.terraform.io/spotinst/spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.64.1",
-    "sha256": "0a0v1ydickmnn5gsv5lr97yv4lvhxf3q9mhhkl38ksijzd2radlz",
-    "vendorSha256": "1lv305kamb3xnw3a2q45ndn7a88ifnh8j8ngv7awc41028j539w4",
-    "version": "1.64.1"
+    "rev": "v1.68.0",
+    "sha256": "0llyy4rskspw4cy8jdbk175rli9s53mabj4b9yarm7apg17ai399",
+    "vendorSha256": "0j0airkc1p0y9w1w40fbwxmymf8rbal2ycrkp31x1c06f8s4lhzm",
+    "version": "1.68.0"
   },
   "stackpath": {
     "owner": "stackpath",
@@ -1001,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",
@@ -1019,19 +1063,19 @@
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.60.25",
-    "sha256": "0ag0h9cxjzmzz3iqh6c9czmfqd6zxg82n13nahlcg7qg1b0c2rvv",
+    "rev": "v1.61.8",
+    "sha256": "1a8p141m3kcr1irl9z3vpjs6zkgqp003z7m52yskapv4df8d6skz",
     "vendorSha256": null,
-    "version": "1.60.25"
+    "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": "1g77ghz4928kfpidqd92cy6xkrqmz2y97x7g7lb55mw3mxg2bsx5",
-    "version": "0.27.0"
+    "rev": "v0.28.1",
+    "sha256": "0xvah6qaf6kxgxhgzgh4rqswjda3366i6gqqwaiw4gc3w0ks2i3g",
+    "vendorSha256": "1qxbsnay75v6ss3fvi00rif10ra1l23b107d0v5cc1il4smqc36g",
+    "version": "0.28.1"
   },
   "thunder": {
     "owner": "a10networks",
@@ -1048,7 +1092,7 @@
     "repo": "terraform-provider-time",
     "rev": "v0.7.2",
     "sha256": "02b7l65civmphhdax05ajvbfm2ilqf421di1p3vj1zysz194wgl2",
-    "vendorSha256": "sha256-oBgHd0KTAdlnAZZZdT1FOzcfC0afdIKoDEIwx/rMxRk=",
+    "vendorSha256": "06f5rkxcfc221jl84x4z8q5iydrv8lypancn05kxj0ck89vhf650",
     "version": "0.7.2"
   },
   "tls": {
@@ -1074,47 +1118,47 @@
     "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.1.1",
-    "sha256": "15fwc0sfdpcl85194gq6r97y18ggh61wbyh6lq7nrprwn2xvjch9",
-    "vendorSha256": "1q2yfmg6g3bl6h0vzanz7874xc4g7ggmysh2dqryijvr4kccnari",
-    "version": "3.1.1"
+    "rev": "v3.3.0",
+    "sha256": "1b36c2f06fglf6bs6s4ly73vk1cm7zd1ci13df5wp0f2xxib3szk",
+    "vendorSha256": "0x9cyxnaqkfpzx9ml7qqhl98jslpy1v965kd11kgcvqpr9lmc77x",
+    "version": "3.3.0"
   },
   "vcd": {
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/vcd",
     "repo": "terraform-provider-vcd",
-    "rev": "v3.4.0",
-    "sha256": "0lvpcw4d70888c0dssvpzbx8n67a52yb66kanqzp4is0clw4943g",
-    "vendorSha256": "19lwrr28fknv098s82cvczdb7xrcblsrh0jmzpn69gym5axcc2v9",
-    "version": "3.4.0"
+    "rev": "v3.5.1",
+    "sha256": "1fwkbsgnxn0jl84nji57grasdsbw0ydd7vzcllpv7r1z3jpa545q",
+    "vendorSha256": "0bzp6807l4hspk1c1pmgnzk0axk0nir3v0lqmw9xvkij4c5rnz9s",
+    "version": "3.5.1"
   },
   "venafi": {
     "deleteVendor": true,
     "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",
@@ -1125,14 +1169,23 @@
     "vendorSha256": "0s0kf1v2217q9hfmc7r2yybcfk33k566dfvs2jiq63kyjnadhb0k",
     "version": "2.1.0"
   },
+  "vpsadmin": {
+    "owner": "vpsfreecz",
+    "provider-source-address": "registry.terraform.io/vpsfreecz/vpsadmin",
+    "repo": "terraform-provider-vpsadmin",
+    "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",
@@ -1147,10 +1200,10 @@
     "owner": "vultr",
     "provider-source-address": "registry.terraform.io/vultr/vultr",
     "repo": "terraform-provider-vultr",
-    "rev": "v2.8.1",
-    "sha256": "1dhfxr6a4kj1llalfw76w36iw6vcdk1p0nb90kfkpg2sh58a6rid",
+    "rev": "v2.9.1",
+    "sha256": "1w6699ngk6vcjii9skhrzv93p79mn6rmyqbb7fdchrwcvamk3y9a",
     "vendorSha256": null,
-    "version": "2.8.1"
+    "version": "2.9.1"
   },
   "wavefront": {
     "owner": "vmware",
@@ -1165,9 +1218,9 @@
     "owner": "yandex-cloud",
     "provider-source-address": "registry.terraform.io/yandex-cloud/yandex",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.69.0",
-    "sha256": "0k4py0asibcpfl9w8q0bn3rfjxhxf6cs3g53j35qij3gakqf1w2i",
-    "vendorSha256": "0zx2lq9va0llrjlf3lk8pnx6f5knmi4jjxrnll89kp01imydjqv8",
-    "version": "0.69.0"
+    "rev": "v0.71.0",
+    "sha256": "1ccfmn6j96jy6hhqijjas31ylsmhs1gj8367v3b94mgam7p1pxcd",
+    "vendorSha256": "16cdg3j00dkmddxgb94as49470a67nv8linfm6s9vrx3xvjk04xw",
+    "version": "0.71.0"
   }
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix
deleted file mode 100644
index 8544ac260bfd..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, fetchFromGitHub, buildGoModule, teleport }:
-
-buildGoModule rec {
-  pname = "terraform-provider-teleport";
-  version = "8.0.6";
-
-  src = fetchFromGitHub {
-    owner = "gravitational";
-    repo = "teleport-plugins";
-    rev = "v${version}";
-    sha256 = "1rhvpbw4dga256dp2cr5f912d2j7rh8pd1v88dlgq3mmw8n5c7vy";
-  };
-  vendorSha256 = null;
-
-  checkInputs = [ teleport ];
-
-  sourceRoot = "source/terraform";
-
-  # Terraform allow checking the provider versions, but this breaks
-  # if the versions are not provided via file paths.
-  postBuild = ''
-    mv $NIX_BUILD_TOP/go/bin/{terraform,terraform-provider-teleport_v${version}}
-  '';
-
-  passthru.provider-source-address = "gravitational.com/teleport/teleport";
-
-  meta = with lib; {
-    description = "Provider for managing resources in Teleport access plane";
-    homepage = "https://github.com/gravitational/teleport-plugins";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ justinas ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all-providers b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
index 46f0ce1be561..57e1ab32f083 100755
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider
index 47206914f7a9..255e82aee1d3 100755
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider
+++ b/nixpkgs/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,14 +141,12 @@ 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 "{ sha256 }: (import ../../../../.. {}).terraform-providers.${provider_name}.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })")
+    vendorSha256=$(nix-prefetch -I nixpkgs=../../../../.. "{ sha256 }: (import ../../../../.. {}).terraform-providers.${provider_name}.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })")
     # Deal with nix unstable
     if [[ ${vendorSha256} == sha256-* ]]; then
       vendorSha256=$(nix --extra-experimental-features nix-command hash to-base32 "${vendorSha256}")
@@ -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/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/vpsadmin/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/vpsadmin/default.nix
deleted file mode 100644
index 93401dfc635b..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/vpsadmin/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, fetchFromGitHub, buildGoModule }:
-buildGoModule rec {
-  pname = "terraform-provider-vpsadmin";
-  version = "0.1.0";
-
-  src = fetchFromGitHub {
-    owner = "vpsfreecz";
-    repo = "terraform-provider-vpsadmin";
-    rev = "v${version}";
-    sha256 = "1vny6w9arbbra04bjjafisaswinm93ic1phy59l0g78sqf6x3a7v";
-  };
-
-  vendorSha256 = "0j90fnzba23mwf9bzf9w5h0hszkl3h61p5i780s9v9c0hbzhbqsh";
-
-  doCheck = false;
-
-  subPackages = [ "." ];
-
-  # Terraform allow checking the provider versions, but this breaks
-  # if the versions are not provided via file paths.
-  postInstall = "mv $out/bin/${pname}{,_v${version}}";
-
-  meta = with lib; {
-    description = "Terraform provider for vpsAdmin";
-    homepage = "https://github.com/vpsfreecz/terraform-provider-vpsadmin";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ zimbatm ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
index a15305cba848..3954a143e5b8 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
@@ -62,9 +62,9 @@ let
           babariviere
           kalbasit
           marsam
+          maxeaubrey
           timstott
           zimbatm
-          maxeaubrey
           zowoq
         ];
       };
@@ -76,39 +76,6 @@ let
         let
           actualPlugins = plugins terraform.plugins;
 
-          # Make providers available in Terraform 0.13 and 0.12 search paths.
-          pluginDir = lib.concatMapStrings
-            (pl:
-              let
-                inherit (pl) version GOOS GOARCH;
-
-                pname = pl.pname or (throw "${pl.name} is missing a pname attribute");
-
-                # This is just the name, without the terraform-provider- prefix
-                plugin_name = lib.removePrefix "terraform-provider-" pname;
-
-                slug = pl.passthru.provider-source-address or "registry.terraform.io/nixpkgs/${plugin_name}";
-
-                shim = writeText "shim" ''
-                  #!${runtimeShell}
-                  exec ${pl}/bin/${pname}_v${version} "$@"
-                '';
-              in
-              ''
-                TF_0_13_PROVIDER_PATH=$out/plugins/${slug}/${version}/${GOOS}_${GOARCH}/${pname}_v${version}
-                mkdir -p "$(dirname $TF_0_13_PROVIDER_PATH)"
-
-                cp ${shim} "$TF_0_13_PROVIDER_PATH"
-                chmod +x "$TF_0_13_PROVIDER_PATH"
-
-                TF_0_12_PROVIDER_PATH=$out/plugins/${pname}_v${version}
-
-                cp ${shim} "$TF_0_12_PROVIDER_PATH"
-                chmod +x "$TF_0_12_PROVIDER_PATH"
-              ''
-            )
-            actualPlugins;
-
           # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
           wrapperInputs = lib.unique (lib.flatten
             (lib.catAttrs "propagatedBuildInputs"
@@ -119,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:
@@ -138,14 +124,35 @@ let
             inherit (terraform) name meta;
             nativeBuildInputs = [ makeWrapper ];
 
-            buildCommand = pluginDir + ''
+            # 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.
+              for providerDir in ${toString actualPlugins}
+              do
+                for file in $(find $providerDir/libexec/terraform-providers -type f)
+                do
+                  relFile=''${file#$providerDir/}
+                  mkdir -p $out/$(dirname $relFile)
+                  cat <<WRAPPER > $out/$relFile
+              #!${runtimeShell}
+              exec "$file" "$@"
+              WRAPPER
+                  chmod +x $out/$relFile
+                done
+              done
+
+              # Create a wrapper for terraform to point it to the plugins dir.
               mkdir -p $out/bin/
               makeWrapper "${terraform}/bin/terraform" "$out/bin/terraform" \
-                --set NIX_TERRAFORM_PLUGIN_DIR $out/plugins \
+                --set NIX_TERRAFORM_PLUGIN_DIR $out/libexec/terraform-providers \
                 --prefix PATH : "${lib.makeBinPath wrapperInputs}"
             '';
-
-            inherit passthru;
           });
     in
     withPlugins (_: [ ]);
@@ -160,20 +167,6 @@ rec {
   # Constructor for other terraform versions
   mkTerraform = attrs: pluggable (generic attrs);
 
-  terraform_0_12 = mkTerraform {
-    version = "0.12.31";
-    sha256 = "03p698xdbk5gj0f9v8v1fpd74zng3948dyy4f2hv7zgks9hid7fg";
-    patches = [
-      ./provider-path.patch
-      (fetchpatch {
-        name = "fix-mac-mojave-crashes.patch";
-        url = "https://github.com/hashicorp/terraform/commit/cd65b28da051174a13ac76e54b7bb95d3051255c.patch";
-        sha256 = "1k70kk4hli72x8gza6fy3vpckdm3sf881w61fmssrah3hgmfmbrs";
-      })
-    ];
-    passthru = { inherit plugins; };
-  };
-
   terraform_0_13 = mkTerraform {
     version = "0.13.7";
     sha256 = "1cahnmp66dk21g7ga6454yfhaqrxff7hpwpdgc87cswyq823fgjn";
@@ -184,7 +177,7 @@ rec {
   terraform_0_14 = mkTerraform {
     version = "0.14.11";
     sha256 = "1yi1jj3n61g1kn8klw6l78shd23q79llb7qqwigqrx3ki2mp279j";
-    vendorSha256 = "1d93aqkjdrvabkvix6h1qaxpjzv7w1wa7xa44czdnjs2lapx4smm";
+    vendorSha256 = "sha256-tWrSr6JCS9s+I0T1o3jgZ395u8IBmh73XGrnJidWI7U=";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   };
@@ -192,15 +185,15 @@ rec {
   terraform_0_15 = mkTerraform {
     version = "0.15.5";
     sha256 = "18f4a6l24s3cym7gk40agxikd90i56q84wziskw1spy9rgv2yx6d";
-    vendorSha256 = "12hrpxay6k3kz89ihyhl91c4lw4wp821ppa245w9977fq09fhnx0";
+    vendorSha256 = "sha256-oFvoEsDunJR4IULdGwS6nHBKWEgUehgT+nNM41W/GYo=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
   };
 
   terraform_1 = mkTerraform {
-    version = "1.1.2";
-    sha256 = "sha256-8M/hs4AiApe9C19VnVhWYYOkKqXbv3aREUTNfExTDww=";
-    vendorSha256 = "sha256-inPNvNUcil9X0VQ/pVgZdnnmn9UCfEz7qXiuKDj8RYM=";
+    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/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
index 3af96d828ad9..92810bcad4b0 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.35.16";
+  version = "0.36.1";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-m32QhQUG3Dkh0odfqYhNmJ5Rrt0qf5wCvxePPusyRyI=";
+    sha256 = "sha256-aGVhxyPm5GtYjJlFNiPNxkPtdGdOiYOSkRRTlzyF/lM=";
   };
 
   vendorSha256 = "sha256-tNgEepKqwiqXhmoRCIEg7VJw7Y0TGt+R+6dZzd8aECg=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terranix/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terranix/default.nix
index a8541336b3de..98ce3c474ff2 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terranix/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terranix/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "terranix";
-  version = "2.5.0";
+  version = "2.5.3";
 
   src = fetchFromGitHub {
     owner = "mrVanDalo";
     repo = "terranix";
     rev = version;
-    sha256 = "sha256-HDiyJGgyDUoLnpL8N+wDm3cM/vEfYYc/p4N1kKH/kLk=";
+    sha256 = "sha256-Jhq0pkyF1KWJ6HgeWLoRfIxo7QHvOwwXzsIxZQgQtK4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/{bin,core,modules,lib}
-    mv bin core modules lib $out/
+    mv bin core modules lib share $out/
 
     wrapProgram $out/bin/terranix-doc-json \
       --prefix PATH : ${lib.makeBinPath [ jq nix ]}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tgswitch/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tgswitch/default.nix
index 9a1652f25d36..560e593ba19c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tgswitch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
index dbdf06771b46..47392ea83a54 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/nixpkgs/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.4";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner  = "tilt-dev";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-SWofXsbkuirPvqgU639W8IQklafLKbThoZUzOzfYwdQ=";
+    sha256 = "sha256-dvY5kiLJ3psoQxG12E4qOjgF9GdXpjRKU3HlbPvwWBU=";
   };
   vendorSha256 = null;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/vcluster/default.nix b/nixpkgs/pkgs/applications/networking/cluster/vcluster/default.nix
new file mode 100644
index 000000000000..b41e443ba327
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/vcluster/default.nix
@@ -0,0 +1,45 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "vcluster";
+  version = "0.5.3";
+
+  src = fetchFromGitHub {
+    owner = "loft-sh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-+rLDRVfB6wZ1wYoLE2wwRxzS6GmI6KYtOKdXZd+LnnU=";
+  };
+
+  vendorSha256 = null;
+
+  subPackages = [ "cmd/vclusterctl" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [ "-s" "-w" ];
+
+  # Test is disabled because e2e tests expect k8s.
+  doCheck = false;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install -Dm755 "$GOPATH/bin/vclusterctl" -T $out/bin/vcluster
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd vcluster \
+      --bash <($out/bin/vcluster completion bash) \
+      --zsh <($out/bin/vcluster completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "Create fully functional virtual Kubernetes clusters";
+    downloadPage = "https://github.com/loft-sh/vcluster";
+    homepage = "https://www.vcluster.com/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ peterromfeldhk ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix b/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix
index b0d0d6193e27..4a78f01a1cae 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix b/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix
index 6883a33964c0..2769ec44ea2b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix
@@ -11,15 +11,15 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.55";
+  version = "1.2.69";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-yLrCE0C8+LIXnBm4xG4q0vXtjTyau6mjkZ+/o/lbGhI=";
+    sha256 = "sha256-rmDP8qPOPhUrygt5gAF2MOVNCHqh+1Gc50mnVFXpev4=";
   };
-  vendorSha256 = "sha256-xALB4QCIVpN0s1rR/fvHZFlFDf2trtG8yJKJLBRH4pw=";
+  vendorSha256 = "sha256-PNg4QEi9+LvYWWhj2B6OrP+SBanuINlSGZYCMNjOQv0=";
   proxyVendor = true;
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/compactor/default.nix b/nixpkgs/pkgs/applications/networking/compactor/default.nix
index f4535c9120cd..459b5652089c 100644
--- a/nixpkgs/pkgs/applications/networking/compactor/default.nix
+++ b/nixpkgs/pkgs/applications/networking/compactor/default.nix
@@ -1,59 +1,71 @@
-{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, libctemplate, libmaxminddb
-, libpcap, libtins, libtool, xz, openssl, pkg-config, lib, stdenv, tcpdump, wireshark-cli
+{ lib, stdenv, fetchFromGitHub
+, asciidoctor, autoreconfHook, pkg-config
+, boost, libctemplate, libmaxminddb, libpcap, libtins, openssl, protobuf, xz, zlib
+, cbor-diag, cddl, diffutils, file, mktemp, netcat, tcpdump, wireshark-cli
 }:
 
 stdenv.mkDerivation rec {
   pname = "compactor";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "dns-stats";
     repo = pname;
     rev = version;
-    sha256 = "0qykdnwi2q9sajkkc2sl5f00lvxjfymqjzqm0limsziykanh87c0";
+    fetchSubmodules = true;
+    hash = "sha256-AUNPUk70VwJ0nZgMPLMU258nqkL4QP6km0USrZi2ea0=";
   };
 
-  # cbor-diag, cddl and wireshark-cli are only used for tests.
-  nativeBuildInputs = [ autoconf automake libtool pkg-config cbor-diag cddl wireshark-cli ];
+  nativeBuildInputs = [
+    asciidoctor
+    autoreconfHook
+    pkg-config
+  ];
   buildInputs = [
     boost
+    libctemplate
+    libmaxminddb
     libpcap
-    openssl
     libtins
+    openssl
+    protobuf
     xz
-    libctemplate
-    libmaxminddb
+    zlib
   ];
 
-  prePatch = ''
+  postPatch = ''
     patchShebangs test-scripts/
   '';
 
   preConfigure = ''
-    ${stdenv.shell} autogen.sh
     substituteInPlace configure \
       --replace "/usr/bin/file" "${file}/bin/file"
   '';
-  CXXFLAGS = "-std=c++11";
+
   configureFlags = [
     "--with-boost-libdir=${boost.out}/lib"
     "--with-boost=${boost.dev}"
   ];
   enableParallelBuilding = true;
 
-  doCheck = true;
-  preCheck = ''
-    substituteInPlace test-scripts/check-live-pcap.sh \
-      --replace "/usr/sbin/tcpdump" "${tcpdump}/bin/tcpdump"
-    rm test-scripts/same-tshark-output.sh
-  ''; # TODO: https://github.com/dns-stats/compactor/issues/49  (failing test)
+  doCheck = !stdenv.isDarwin; # check-dnstap.sh failing on Darwin
+  checkInputs = [
+    cbor-diag
+    cddl
+    diffutils
+    file
+    mktemp
+    netcat
+    tcpdump
+    wireshark-cli
+  ];
 
   meta = with lib; {
     description = "Tools to capture DNS traffic and record it in C-DNS files";
-    homepage    = "http://dns-stats.org/";
+    homepage    = "https://dns-stats.org/";
     changelog   = "https://github.com/dns-stats/${pname}/raw/${version}/ChangeLog.txt";
-    license     = [ licenses.boost licenses.mpl20 licenses.openssl ];
+    license     = licenses.mpl20;
     maintainers = with maintainers; [ fdns ];
-    platforms   = lib.platforms.unix;
+    platforms   = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix b/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
index 92421b33a21c..8b6a5e2cc258 100644
--- a/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/feedreaders/photon/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/photon/default.nix
new file mode 100644
index 000000000000..0a02c1db1818
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/photon/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule, fetchFromSourcehut, lib, xorg }:
+
+buildGoModule rec {
+  pname = "photon";
+  version = "unstable-2022-01-11";
+
+  src = fetchFromSourcehut {
+    owner = "~ghost08";
+    repo = "photon";
+    rev = "5d1f7dd8d0d526096886b03c7bc0ef56cbdd6d79";
+    sha256 = "sha256-2RSGLWfthcChd5YhDSBfLSch6wuTUv1Sh1f7flgzQwc=";
+  };
+
+  buildInputs = [ xorg.libX11 ];
+
+  proxyVendor = true;
+
+  vendorSha256 = "sha256-1vlgnY4kZJfoAtbv+r8onxL03Ak32zKLJgtrBYZX09g=";
+
+  meta = with lib; {
+    description = "RSS/Atom reader with the focus on speed, usability and a bit of unix philosophy";
+    homepage = "https://sr.ht/~ghost08/photon";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ kmein ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
index c3c58dc07568..4f9d5852cbf9 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
-  version = "4.0.4";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     owner = "martinrotter";
     repo = pname;
     rev = version;
-    sha256 = "sha256-c6+SlZx3ACG0nJRW+zcDDzVd/oSLAdSaq2fHrPpt6zw=";
+    sha256 = "sha256-aG7Wkn2CHe7Dumskd0+DMja95lzvBWnFXACSqfU7Ow0=";
   };
 
   buildInputs =  [ qtwebengine qttools ];
diff --git a/nixpkgs/pkgs/applications/networking/flexget/default.nix b/nixpkgs/pkgs/applications/networking/flexget/default.nix
index 950dd24f3309..6c3a9b769350 100644
--- a/nixpkgs/pkgs/applications/networking/flexget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/flexget/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.2.7";
+  version = "3.2.18";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
     owner = "flexget";
     repo = "flexget";
     rev = "v${version}";
-    sha256 = "12nj1jcxbkpc0x59rg59fsryignpppsx0wiwncdv6fzr58pdhd3v";
+    sha256 = "sha256-68tD7I7MI/Cp94tp6c4lQx+8xwRnJTKTF/3SWz4Ddgg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix b/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
index 0ffa9e1023bd..d5e73f833c3a 100644
--- a/nixpkgs/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/gftp/default.nix b/nixpkgs/pkgs/applications/networking/ftp/gftp/default.nix
index 947a75d0e2d2..37338d31e0dc 100644
--- a/nixpkgs/pkgs/applications/networking/gftp/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ftp/gftp/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gftp";
-  version = "2.7.0b";
+  version = "2.8.0b";
 
   src = fetchFromGitHub {
     owner = "masneyb";
     repo = pname;
     rev = version;
-    hash = "sha256-cIB3SneYKavgdI8eTtM1qsOrBJJ0c7/3CEvNPishNog=";
+    hash = "sha256-syeRFpqbd1VhKhhs/fIByDSVpcY+SAlmikDo3J1ZHlo=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     libtool
     pkg-config
   ];
+
   buildInputs = [
     gtk
     ncurses
@@ -39,12 +40,12 @@ stdenv.mkDerivation rec {
     readline
   ];
 
-  hardeningDisable = [ "format" ];
-
   preConfigure = ''
     ./autogen.sh
   '';
 
+  hardeningDisable = [ "format" ];
+
   meta = with lib; {
     homepage = "https://github.com/masneyb/gftp";
     description = "GTK-based multithreaded FTP client for *nix-based machines";
diff --git a/nixpkgs/pkgs/applications/networking/giara/default.nix b/nixpkgs/pkgs/applications/networking/giara/default.nix
index 1f4d2e0a2d90..b17430dc09bd 100644
--- a/nixpkgs/pkgs/applications/networking/giara/default.nix
+++ b/nixpkgs/pkgs/applications/networking/giara/default.nix
@@ -1,22 +1,24 @@
 { lib
 , fetchFromGitLab
+, fetchpatch
 , meson
 , gobject-introspection
 , pkg-config
 , ninja
 , python3
-, wrapGAppsHook
-, gtk3
+, wrapGAppsHook4
+, gtk4
 , gdk-pixbuf
 , webkitgtk
-, gtksourceview4
-, libhandy
+, gtksourceview5
 , glib-networking
+, libadwaita
+, appstream
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "giara";
-  version = "0.3";
+  version = "1.0";
 
   format = "other";
 
@@ -25,24 +27,25 @@ python3.pkgs.buildPythonApplication rec {
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9";
+    hash = "sha256-xDIzgr8zYal0r0sASWqiSZANCMC52LrVmLjlnGAd2Mg=";
   };
 
   nativeBuildInputs = [
+    appstream
     meson
     gobject-introspection
     pkg-config
     ninja
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     gdk-pixbuf
     webkitgtk
-    gtksourceview4
-    libhandy
+    gtksourceview5
     glib-networking
+    libadwaita
   ];
 
   pythonPath = with python3.pkgs; [
@@ -55,6 +58,21 @@ python3.pkgs.buildPythonApplication rec {
     beautifulsoup4
   ];
 
+  patches = [
+    # Proper support for gtk4 and libadwaita
+    # @TODO: Remove when bumping the version.
+    (fetchpatch {
+      name = "giara-gtk4-libadwaita.patch";
+      url = "https://gitlab.gnome.org/World/giara/-/commit/6204427f8b8e3d8c72b669717a3f129ffae401d9.patch";
+      sha256 = "sha256-E8kbVsACPD2gkfNrzYUy0+1U7+/pIkUu4rCkX+xY0us=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace meson_post_install.py \
+      --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
+  '';
+
   # Fix setup-hooks https://github.com/NixOS/nixpkgs/issues/56943
   strictDeps = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/gmailctl/default.nix b/nixpkgs/pkgs/applications/networking/gmailctl/default.nix
index ff620989f9de..f024de8d55ed 100644
--- a/nixpkgs/pkgs/applications/networking/gmailctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/gmailctl/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
       --zsh <($out/bin/gmailctl completion zsh)
   '';
 
-  vendorSha256 = "sha256-zEWEcv6G/9tmM6/+lhMFkyew3r/pvQRjvh74BENTYI4=";
+  vendorSha256 = "sha256-nAczO439tRiQU9f9LbJVENJiURVRnBAInwUp699RxOY=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/gns3/default.nix b/nixpkgs/pkgs/applications/networking/gns3/default.nix
index b3d8a5b3fead..5bb125c10077 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/default.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/default.nix
@@ -1,7 +1,7 @@
 { callPackage, libsForQt5 }:
 
 let
-  stableVersion = "2.2.18";
+  stableVersion = "2.2.29";
   previewVersion = stableVersion;
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
@@ -18,16 +18,16 @@ let
         });
       };
     commonOverrides = [
-      (mkOverride "psutil" "5.6.7"
-        "1an5llivfkwpbcfaapbx78p8sfnvzyfypf60wfxihib1mjr8xbgz")
+      (mkOverride "psutil" "5.8.0"
+        "sha256-DJzLmat2Al8vC77PNB1GVunBNR24zIoDzNYuMYq0tcY=")
       (mkOverride "jsonschema" "3.2.0"
         "0ykr61yiiizgvm3bzipa3l73rvj49wmrybbfwhvpgk3pscl5pa68")
     ];
   };
   mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
-  guiSrcHash = "118z6asl6hsv0777rld4plnrwzkbkh3gb9lg9i6bqrjs93p028fw";
-  serverSrcHash = "0gd37zpvibhlvqqpflpwlrgg8g9rpbxwi9w9fsym00mfwf7sdd3b";
+  guiSrcHash = "04yqh0kq5pkmadcxf090ilh9sqqxajcg65nf7ai1iikxi3x7z3r8";
+  serverSrcHash = "0p6q421rldmyqi0padssgrssf4d9mb5ifiqjm5y8vfhwfl5a2cqk";
 in {
   guiStable = mkGui {
     stable = true;
diff --git a/nixpkgs/pkgs/applications/networking/gns3/gui.nix b/nixpkgs/pkgs/applications/networking/gns3/gui.nix
index a88ff36a8ca4..95ec995cbfd5 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/gui.nix
+++ b/nixpkgs/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";
@@ -32,6 +46,10 @@ in python.pkgs.buildPythonPackage rec {
   postFixup = ''
       wrapQtApp "$out/bin/gns3"
   '';
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "sentry-sdk==1.3.1" "sentry-sdk>=1.3.1" \
+  '';
 
   meta = with lib; {
     description = "Graphical Network Simulator 3 GUI (${branch} release)";
diff --git a/nixpkgs/pkgs/applications/networking/gns3/server.nix b/nixpkgs/pkgs/applications/networking/gns3/server.nix
index 9feceffc0346..818c01a89ab4 100644
--- a/nixpkgs/pkgs/applications/networking/gns3/server.nix
+++ b/nixpkgs/pkgs/applications/networking/gns3/server.nix
@@ -8,22 +8,37 @@ let
     (self: super: {
       aiofiles = super.aiofiles.overridePythonAttrs (oldAttrs: rec {
         pname = "aiofiles";
-        version = "0.5.0";
+        version = "0.7.0";
         src = fetchFromGitHub {
           owner = "Tinche";
           repo = pname;
           rev = "v${version}";
-          sha256 = "17bsg2x5r0q6jy74hajnbp717pvbf752w0wgih6pbb4hdvfg5lcf";
+          sha256 = "sha256-njQ7eRYJO+dUrwO5pZwKHXn9nVSGYcEhwhs3x5BMc28=";
         };
         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;
 
@@ -36,8 +51,10 @@ in python.pkgs.buildPythonPackage {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "aiohttp==3.6.2" "aiohttp>=3.6.2" \
-      --replace "py-cpuinfo==7.0.0" "py-cpuinfo>=8.0.0"
+      --replace "aiohttp==3.7.4" "aiohttp>=3.7.4" \
+      --replace "Jinja2==3.0.1" "Jinja2>=3.0.1" \
+      --replace "sentry-sdk==1.3.1" "sentry-sdk>=1.3.1" \
+      --replace "async-timeout==3.0.1" "async-timeout>=3.0.1" \
   '';
 
   propagatedBuildInputs = with python.pkgs; [
diff --git a/nixpkgs/pkgs/applications/networking/hyprspace/default.nix b/nixpkgs/pkgs/applications/networking/hyprspace/default.nix
index 037feccca4ed..5482ce12e253 100644
--- a/nixpkgs/pkgs/applications/networking/hyprspace/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
index 20623ac31827..e91b517e8158 100644
--- a/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
@@ -21,16 +21,33 @@
 
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "4.1.1";
+  version = "4.2.0";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "0wq3kjc3zc5ikzwix7k7gr92v75rg6283kx5fzvc3lcdkaczq2lc";
+    sha256 = "sha256-jZoCjKn+x61KnkinY+KWBSOEz0AupM03FXe/8YPCdFE=";
   };
 
-  nativeBuildInputs = [ cmake flex bison file ];
-  buildInputs = [ openssl libpcap zlib curl libmaxminddb gperftools python3 swig ncurses ]
-    ++ lib.optionals stdenv.isDarwin [ gettext ];
+  nativeBuildInputs = [
+    bison
+    cmake
+    file
+    flex
+  ];
+
+  buildInputs = [
+    curl
+    gperftools
+    libmaxminddb
+    libpcap
+    ncurses
+    openssl
+    python3
+    swig
+    zlib
+  ] ++ lib.optionals stdenv.isDarwin [
+    gettext
+  ];
 
   outputs = [ "out" "lib" "py" ];
 
@@ -54,7 +71,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Powerful network analysis framework much different from a typical IDS";
+    description = "Network analysis framework much different from a typical IDS";
     homepage = "https://www.zeek.org";
     changelog = "https://github.com/zeek/zeek/blob/v${version}/CHANGES";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index bf674ef44426..764ba6a0d79e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix
index 122433d197aa..95afcfae4f2b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -1,17 +1,60 @@
-{ lib, stdenv, fetchurl, zlib, openssl, libre, librem, pkg-config, gst_all_1
-, cairo, mpg123, alsa-lib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg
-, gsm, speex, portaudio, spandsp, libuuid, libvpx
+{ lib
+, stdenv
+, fetchFromGitHub
+, zlib
+, openssl
+, libre
+, librem
+, pkg-config
+, gst_all_1
+, cairo
+, mpg123
+, alsa-lib
+, SDL2
+, libv4l
+, celt
+, libsndfile
+, srtp
+, ffmpeg
+, gsm
+, speex
+, portaudio
+, spandsp3
+, libuuid
+, libvpx
 }:
 stdenv.mkDerivation rec {
-  version = "0.6.5";
+  version = "1.1.0";
   pname = "baresip";
-  src=fetchurl {
-    url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "13di0ycdcr2q2a20mjvyaqfmvk5xldwqaxklqsz7470jnbc5n0rb";
+  src = fetchFromGitHub {
+    owner = "baresip";
+    repo = "baresip";
+    rev = "v${version}";
+    sha256 = "sha256-9mc1Beo7/iNhDXSDC/jiTL+lJRt8ah/1xF1heoHTE+g=";
   };
+  postPatch = ''
+    patchShebangs modules/ctrl_dbus/gen.sh
+  '';
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [zlib openssl libre librem cairo mpg123
-    alsa-lib SDL libv4l celt libsndfile srtp ffmpeg gsm speex portaudio spandsp libuuid
+  buildInputs = [
+    zlib
+    openssl
+    libre
+    librem
+    cairo
+    mpg123
+    alsa-lib
+    SDL2
+    libv4l
+    celt
+    libsndfile
+    srtp
+    ffmpeg
+    gsm
+    speex
+    portaudio
+    spandsp3
+    libuuid
     libvpx
   ] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]);
   makeFlags = [
@@ -23,30 +66,55 @@ stdenv.mkDerivation rec {
     "USE_VIDEO=1"
     "CCACHE_DISABLE=1"
 
-    "USE_ALSA=1" "USE_AMR=1" "USE_CAIRO=1" "USE_CELT=1"
-    "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1"  "USE_GSM=1" "USE_GST1=1"
-    "USE_L16=1" "USE_MPG123=1" "USE_OSS=1" "USE_PLC=1" "USE_VPX=1"
-    "USE_PORTAUDIO=1" "USE_SDL=1" "USE_SNDFILE=1" "USE_SPEEX=1"
-    "USE_SPEEX_AEC=1" "USE_SPEEX_PP=1" "USE_SPEEX_RESAMP=1" "USE_SRTP=1"
-    "USE_STDIO=1" "USE_SYSLOG=1" "USE_UUID=1" "USE_V4L2=1" "USE_X11=1"
+    "USE_ALSA=1"
+    "USE_AMR=1"
+    "USE_CAIRO=1"
+    "USE_CELT=1"
+    "USE_CONS=1"
+    "USE_EVDEV=1"
+    "USE_FFMPEG=1"
+    "USE_GSM=1"
+    "USE_GST1=1"
+    "USE_L16=1"
+    "USE_MPG123=1"
+    "USE_OSS=1"
+    "USE_PLC=1"
+    "USE_VPX=1"
+    "USE_PORTAUDIO=1"
+    "USE_SDL=1"
+    "USE_SNDFILE=1"
+    "USE_SPEEX=1"
+    "USE_SPEEX_AEC=1"
+    "USE_SPEEX_PP=1"
+    "USE_SPEEX_RESAMP=1"
+    "USE_SRTP=1"
+    "USE_STDIO=1"
+    "USE_SYSLOG=1"
+    "USE_UUID=1"
+    "USE_V4L2=1"
+    "USE_X11=1"
 
-    "USE_BV32=" "USE_COREAUDIO=" "USE_G711=1" "USE_G722=1" "USE_G722_1="
-    "USE_ILBC=" "USE_OPUS=" "USE_SILK="
+    "USE_BV32="
+    "USE_COREAUDIO="
+    "USE_G711=1"
+    "USE_G722=1"
+    "USE_G722_1="
+    "USE_ILBC="
+    "USE_OPUS="
+    "USE_SILK="
   ]
   ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
   ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
   ;
 
-  NIX_CFLAGS_COMPILE='' -I${librem}/include/rem -I${gsm}/include/gsm
+  NIX_CFLAGS_COMPILE = '' -I${librem}/include/rem -I${gsm}/include/gsm
     -DHAVE_INTTYPES_H -D__GLIBC__
     -D__need_timeval -D__need_timespec -D__need_time_t '';
+
   meta = {
-    homepage = "http://www.creytiv.com/baresip.html";
-    platforms = with lib.platforms; linux;
-    maintainers = with lib.maintainers; [raskin];
+    description = "A modular SIP User-Agent with audio and video support";
+    homepage = "https://github.com/baresip/baresip";
+    maintainers = with lib.maintainers; [ elohmeier raskin ];
     license = lib.licenses.bsd3;
-    downloadPage = "http://www.creytiv.com/pub/";
-    updateWalker = true;
-    downloadURLRegexp = "/baresip-.*[.]tar[.].*";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index 4ecc449fe85a..de8c4dc1026e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python2
+{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python3
 , enableLibPurple ? false, pidgin ? null
 , enablePam ? false, pam ? null
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ] ++ optional doCheck check;
 
-  buildInputs = [ gnutls libotr python2 ]
+  buildInputs = [ gnutls libotr python3 ]
     ++ optional enableLibPurple pidgin
     ++ optional enablePam pam;
 
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.bitlbee.org/";
     license = licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ lassulus pSub ];
     platforms = platforms.gnu ++ platforms.linux;  # arbitrary choice
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix
deleted file mode 100644
index 805278b4e456..000000000000
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/blink/default.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ lib, fetchdarcs, python2Packages, libvncserver, zlib
-, gnutls, libvpx, makeDesktopItem, mkDerivationWith }:
-
-mkDerivationWith python2Packages.buildPythonApplication rec {
-
-  pname = "blink";
-  version = "3.2.0";
-
-  src = fetchdarcs {
-    url = "http://devel.ag-projects.com/repositories/blink-qt";
-    rev = "release-${version}";
-    sha256 = "19rcwr5scw48qnj79q1pysw95fz9h98nyc3161qy2kph5g7dwkc3";
-  };
-
-  patches = [ ./pythonpath.patch ];
-  postPatch = ''
-    sed -i 's|@out@|'"''${out}"'|g' blink/resources.py
-  '';
-
-  propagatedBuildInputs = with python2Packages; [
-    pyqt5_with_qtwebkit
-    cjson
-    sipsimple
-    twisted
-    google-api-python-client
-  ];
-
-  buildInputs = [
-    python2Packages.cython
-    zlib
-    libvncserver
-    libvpx
-  ];
-
-  desktopItem = makeDesktopItem {
-    name = "Blink";
-    exec = "blink";
-    comment = meta.description;
-    desktopName = "Blink";
-    icon = "blink";
-    genericName = "Instant Messaging";
-    categories = "Internet;";
-  };
-
-  dontWrapQtApps = true;
-
-  postInstall = ''
-    mkdir -p "$out/share/applications"
-    mkdir -p "$out/share/pixmaps"
-    cp "$desktopItem"/share/applications/* "$out/share/applications"
-    cp "$out"/share/blink/icons/blink.* "$out/share/pixmaps"
-  '';
-
-  preFixup = ''
-    makeWrapperArgs+=(
-      --prefix "LD_LIBRARY_PATH" ":" "${gnutls.out}/lib"
-      "''${qtWrapperArgs[@]}"
-    )
-  '';
-
-  meta = with lib; {
-    homepage = "http://icanblink.com/";
-    description = "A state of the art, easy to use SIP client for Voice, Video and IM";
-    platforms = platforms.linux;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ pSub ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch b/nixpkgs/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
deleted file mode 100644
index 0df8bc84ff30..000000000000
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- blink-2.0.0/blink/resources.py	2016-03-09 14:39:07.000000000 +0100
-+++ blink-2.0.0/blink/resources-patched.py	2016-03-12 21:34:14.965476623 +0100
-@@ -1,7 +1,10 @@
-+# Copyright (C) 2010-2013 AG Projects. See LICENSE for details.
-+#
- 
- """Provide access to Blink's resources"""
- 
--import __main__
-+__all__ = ['ApplicationData', 'Resources', 'IconManager']
-+
- import imghdr
- import os
- import platform
-@@ -19,14 +22,10 @@
- from blink.util import run_in_gui_thread
- 
- 
--__all__ = ['ApplicationData', 'Resources', 'IconManager']
--
--
- class DirectoryContextManager(unicode):
-     def __enter__(self):
-         self.directory = os.getcwdu()
-         os.chdir(self)
--
-     def __exit__(self, type, value, traceback):
-         os.chdir(self.directory)
- 
-@@ -61,18 +60,7 @@
-     @classproperty
-     def directory(cls):
-         if cls._cached_directory is None:
--            try:
--                binary_directory = os.path.dirname(os.path.realpath(__main__.__file__))
--            except AttributeError:
--                if hasattr(sys, 'frozen'):
--                    application_directory = os.path.dirname(os.path.realpath(sys.executable))
--                else:
--                    application_directory = os.path.realpath('')  # executed in interactive interpreter
--            else:
--                if os.path.basename(binary_directory) == 'bin':
--                    application_directory = os.path.dirname(binary_directory)
--                else:
--                    application_directory = binary_directory
-+            application_directory = '@out@'
-             if os.path.exists(os.path.join(application_directory, 'resources', 'blink.ui')):
-                 cls._cached_directory = os.path.join(application_directory, 'resources').decode(sys.getfilesystemencoding())
-             else:
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 97530b722fdb..ad57e2c6623b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -44,11 +44,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.25.0.78";
+  version = "2.26.0.136";
 
   src = fetchurl {
     url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
-    sha256 = "sha256-Xk9iU7mNm3YlXKsmf6yPqd1YAklsFOWu+04Llb+2yWQ=";
+    sha256 = "sha256-9QiE7CjCepDXQCzduqGzNUGqUgYS+PWBS71ouzHa83o=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix
index fe7881de9959..f9cec37a5068 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -11,6 +11,7 @@
 , evolution-data-server
 , feedbackd
 , glibmm
+, gnome
 , gspell
 , gtk3
 , json-glib
@@ -27,14 +28,15 @@
 
 stdenv.mkDerivation rec {
   pname = "chatty";
-  version = "0.4.0";
+  version = "0.6.1";
 
   src = fetchFromGitLab {
     domain = "source.puri.sm";
     owner = "Librem5";
     repo = "chatty";
     rev = "v${version}";
-    sha256 = "12k1a5xrwd6zk4x0m53hbzggk695z3bpbzy1wcikzy0jvch7h13d";
+    fetchSubmodules = true;
+    hash = "sha256-AufxwuOibTx5OvLBVbJqay/mYLmcDpE2BgwVv6Y5IlY=";
   };
 
   postPatch = ''
@@ -55,6 +57,7 @@ stdenv.mkDerivation rec {
     evolution-data-server
     feedbackd
     glibmm
+    gnome.gnome-desktop
     gspell
     gtk3
     json-glib
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/cinny/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/cinny/default.nix
new file mode 100644
index 000000000000..4c8f356cdf47
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/cinny/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchurl, writeText, jq, conf ? {} }:
+
+let
+  configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
+in stdenv.mkDerivation rec {
+  pname = "cinny";
+  version = "1.6.1";
+
+  src = fetchurl {
+    url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
+    sha256 = "sha256-RJpLK16bedpqo/JJf3atpiuL5spHJNowomcusjZtEWA=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/
+    cp -R . $out/
+    ${jq}/bin/jq -s '.[0] * .[1]' "config.json" "${configOverrides}" > "$out/config.json"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Yet another Matrix client for the web";
+    homepage = "https://cinny.in/";
+    maintainers = with maintainers; [ abbe ];
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/coyim/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/coyim/default.nix
index abcdf617352b..7e2f2422573a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/coyim/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/coyim/default.nix
@@ -23,5 +23,6 @@ buildGoPackage rec {
     homepage = "https://coy.im/";
     license = licenses.gpl3;
     platforms = platforms.linux;
+    broken = true; #fails to build with go >= 1.16
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
index 8a04d75f5a63..442a6adcb790 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "deltachat-cursed";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "adbenitez";
     repo = "deltachat-cursed";
     rev = "v${version}";
-    sha256 = "0zzzrzc8yxw6ffwfirbrr5ahbidbvlwdvgdg82zjsdjjbarxph8c";
+    hash = "sha256-IZrTPnj6eX1qgEPnEiD9qmVkwn1SMK38gVKAJFgZNfw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json b/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
index fe9f024052c4..23f0f15e3c47 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
index 5e362784c811..3e992899e43e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/darwin.nix
new file mode 100644
index 000000000000..4bc9ac98df1f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/darwin.nix
@@ -0,0 +1,14 @@
+{ pname, version, src, meta, stdenv, binaryName, desktopName, undmg }:
+
+stdenv.mkDerivation {
+  inherit pname version src meta;
+
+  nativeBuildInputs = [ undmg ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/Applications
+    cp -r "${desktopName}.app" $out/Applications
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
index b499f01d88fd..4f19fd924e76 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -1,35 +1,84 @@
-{ branch ? "stable", pkgs }:
+{ branch ? "stable", pkgs, lib, stdenv }:
 let
   inherit (pkgs) callPackage fetchurl;
-in {
-  stable = callPackage ./base.nix rec {
-    pname = "discord";
-    binaryName = "Discord";
-    desktopName = "Discord";
-    version = "0.0.16";
-    src = fetchurl {
-      url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-      sha256 = "UTVKjs/i7C/m8141bXBsakQRFd/c//EmqqhKhkr1OOk=";
-    };
+  versions = if stdenv.isLinux then {
+    stable = "0.0.17";
+    ptb = "0.0.27";
+    canary = "0.0.133";
+  } else {
+    stable = "0.0.264";
+    ptb = "0.0.59";
+    canary = "0.0.283";
   };
-  ptb = callPackage ./base.nix rec {
-    pname = "discord-ptb";
-    binaryName = "DiscordPTB";
-    desktopName = "Discord PTB";
-    version = "0.0.26";
-    src = fetchurl {
-      url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-      sha256 = "1rlj76yhxjwwfmdln3azjr69hvfx1bjqdg9jhdn4fp6mlirkrcq4";
+  version = versions.${branch};
+  srcs = let
+    darwin-ptb = fetchurl {
+      url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
+      sha256 = "sha256-LS7KExVXkOv8O/GrisPMbBxg/pwoDXIOo1dK9wk1yB8=";
     };
-  };
-  canary = callPackage ./base.nix rec {
-    pname = "discord-canary";
-    binaryName = "DiscordCanary";
-    desktopName = "Discord Canary";
-    version = "0.0.131";
-    src = fetchurl {
-      url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "087rzyivk0grhc73v7ldxxghks0n16ifrvpmk95vzaw99l9xv0v5";
+  in {
+    x86_64-linux = {
+      stable = fetchurl {
+        url =
+          "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
+        sha256 = "058k0cmbm4y572jqw83bayb2zzl2fw2aaz0zj1gvg6sxblp76qil";
+      };
+      ptb = fetchurl {
+        url =
+          "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
+        sha256 = "0yphs65wpyr0ap6y24b0nbhq7sm02dg5c1yiym1fxjbynm1mdvqb";
+      };
+      canary = fetchurl {
+        url =
+          "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
+        sha256 = "0wx8wkgkzvw9094baa3dni834l0n4p6ih024bj1851sgwwnidb0a";
+      };
     };
+    x86_64-darwin = {
+      stable = fetchurl {
+        url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
+        sha256 = "1jvlxmbfqhslsr16prsgbki77kq7i3ipbkbn67pnwlnis40y9s7p";
+      };
+      ptb = darwin-ptb;
+      canary = fetchurl {
+        url =
+          "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
+        sha256 = "0mqpk1szp46mih95x42ld32rrspc6jx1j7qdaxf01whzb3d4pi9l";
+      };
+    };
+    # Only PTB bundles a MachO Universal binary with ARM support.
+    aarch64-darwin = { ptb = darwin-ptb; };
+  };
+  src = srcs.${stdenv.hostPlatform.system}.${branch};
+
+  meta = with lib; {
+    description = "All-in-one cross-platform voice and text chat for gamers";
+    homepage = "https://discordapp.com/";
+    downloadPage = "https://discordapp.com/download";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ ldesgoui MP2E devins2518 ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ]
+      ++ lib.optionals (branch == "ptb") [ "aarch64-darwin" ];
   };
-}.${branch}
+  package = if stdenv.isLinux then ./linux.nix else ./darwin.nix;
+  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/nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/linux.nix
index 5943917dc659..c9e642aceb99 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/base.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -1,17 +1,14 @@
-{ pname, version, src, binaryName, desktopName
-, autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook
-, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig
-, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid
-, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
-, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
-, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
-, writeScript, common-updater-scripts
-}:
+{ pname, version, src, meta, binaryName, desktopName, autoPatchelfHook
+, makeDesktopItem, lib, stdenv, wrapGAppsHook, alsa-lib, at-spi2-atk
+, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf
+, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11
+, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
+, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss
+, pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript
+, common-updater-scripts }:
 
-let
-  inherit binaryName;
-in stdenv.mkDerivation rec {
-  inherit pname version src;
+stdenv.mkDerivation rec {
+  inherit pname version src meta;
 
   nativeBuildInputs = [
     alsa-lib
@@ -33,13 +30,45 @@ in stdenv.mkDerivation rec {
   dontWrapGApps = true;
 
   libPath = lib.makeLibraryPath [
-    libcxx systemd libpulseaudio libdrm mesa
-    stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
-    gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
-    libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
-    libXtst nspr nss libxcb pango libXScrnSaver
-    libappindicator-gtk3 libdbusmenu
-   ];
+    libcxx
+    systemd
+    libpulseaudio
+    libdrm
+    mesa
+    stdenv.cc.cc
+    alsa-lib
+    atk
+    at-spi2-atk
+    at-spi2-core
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    gdk-pixbuf
+    glib
+    gtk3
+    libnotify
+    libX11
+    libXcomposite
+    libuuid
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXtst
+    nspr
+    nss
+    libxcb
+    pango
+    libXScrnSaver
+    libappindicator-gtk3
+    libdbusmenu
+  ];
 
   installPhase = ''
     mkdir -p $out/{bin,opt/${binaryName},share/pixmaps}
@@ -51,12 +80,15 @@ in stdenv.mkDerivation rec {
 
     wrapProgram $out/opt/${binaryName}/${binaryName} \
         "''${gappsWrapperArgs[@]}" \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" \
         --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
         --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/${binaryName}
 
     ln -s $out/opt/${binaryName}/${binaryName} $out/bin/
     # Without || true the install would fail on case-insensitive filesystems
-    ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${lib.strings.toLower binaryName} || true
+    ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${
+      lib.strings.toLower binaryName
+    } || true
     ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${pname}.png
 
     ln -s "${desktopItem}/share/applications" $out/share/
@@ -76,18 +108,11 @@ in stdenv.mkDerivation rec {
     #!/usr/bin/env nix-shell
     #!nix-shell -i bash -p curl gnugrep common-updater-scripts
     set -eou pipefail;
-    url=$(curl -sI "https://discordapp.com/api/download/${builtins.replaceStrings ["discord-" "discord"] ["" "stable"] pname}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
+    url=$(curl -sI "https://discordapp.com/api/download/${
+      builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
+    }?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
     version=''${url##https://dl*.discordapp.net/apps/linux/}
     version=''${version%%/*.tar.gz}
     update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix
   '';
-
-  meta = with lib; {
-    description = "All-in-one cross-platform voice and text chat for gamers";
-    homepage = "https://discordapp.com/";
-    downloadPage = "https://discordapp.com/download";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ ldesgoui MP2E ];
-    platforms = [ "x86_64-linux" ];
-  };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 2e0a913705c9..ac0869e5cdc3 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "lib/electron-main.js",
-  "version": "1.9.8",
+  "version": "1.10.4",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -22,7 +22,7 @@
     "lint": "yarn lint:types && yarn lint:js",
     "lint:js": "eslint --max-warnings 0 src scripts hak",
     "lint:js-fix": "eslint --fix src scripts hak",
-    "lint:types": "tsc --noEmit",
+    "lint:types": "tsc --noEmit && tsc -p scripts/hak/tsconfig.json --noEmit && tsc -p hak/tsconfig.json --noEmit",
     "build:native": "yarn run hak",
     "build:native:universal": "yarn run hak --target x86_64-apple-darwin fetchandbuild && yarn run hak --target aarch64-apple-darwin fetchandbuild && yarn run hak --target x86_64-apple-darwin --target aarch64-apple-darwin copyandlink",
     "build:32": "yarn run build:ts && yarn run build:res && electron-builder --ia32",
@@ -37,7 +37,7 @@
     "docker:install": "scripts/in-docker.sh yarn install",
     "debrepo": "scripts/mkrepo.sh",
     "clean": "rimraf webapp.asar dist packages deploys lib",
-    "hak": "node scripts/hak/index.js"
+    "hak": "ts-node scripts/hak/index.ts"
   },
   "dependencies": {
     "auto-launch": "^5.0.5",
@@ -52,30 +52,35 @@
     "@types/auto-launch": "^5.0.1",
     "@types/counterpart": "^0.18.1",
     "@types/minimist": "^1.2.1",
+    "@types/mkdirp": "^1.0.2",
+    "@types/pacote": "^11.1.1",
+    "@types/rimraf": "^3.0.2",
     "@typescript-eslint/eslint-plugin": "^5.6.0",
     "@typescript-eslint/parser": "^5.6.0",
     "allchange": "^1.0.6",
     "app-builder-lib": "^22.14.10",
     "asar": "^2.0.1",
     "chokidar": "^3.5.2",
-    "electron": "13.5",
+    "electron": "^15.3.5",
     "electron-builder": "22.11.4",
     "electron-builder-squirrel-windows": "22.11.4",
     "electron-devtools-installer": "^3.1.1",
     "electron-notarize": "^1.0.0",
     "eslint": "7.18.0",
     "eslint-config-google": "^0.14.0",
-    "eslint-plugin-matrix-org": "github:matrix-org/eslint-plugin-matrix-org#2306b3d4da4eba908b256014b979f1d3d43d2945",
+    "eslint-plugin-import": "^2.25.4",
+    "eslint-plugin-matrix-org": "^0.4.0",
     "find-npm-prefix": "^1.0.2",
     "fs-extra": "^8.1.0",
     "glob": "^7.1.6",
-    "matrix-web-i18n": "github:matrix-org/matrix-web-i18n",
+    "matrix-web-i18n": "^1.2.0",
     "mkdirp": "^1.0.3",
     "needle": "^2.5.0",
     "node-pre-gyp": "^0.15.0",
     "pacote": "^11.3.5",
     "rimraf": "^3.0.2",
     "tar": "^6.1.2",
+    "ts-node": "^10.4.0",
     "typescript": "^4.5.3"
   },
   "hakDependencies": {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index bce13052e5ac..d9683740667c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -7,12 +7,12 @@
 , fetchYarnDeps
 , electron
 , element-web
+, sqlcipher
 , callPackage
 , Security
 , AppKit
 , CoreServices
-
-, useWayland ? false
+, desktopToDarwinBundle
 }:
 
 let
@@ -37,7 +37,7 @@ 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; };
@@ -78,8 +78,11 @@ mkYarnPackage rec {
     ln -s "${desktopItem}/share/applications" "$out/share/applications"
 
     # executable wrapper
+    # LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102
     makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
-      --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
+      --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}}"
   '';
 
   # Do not attempt generating a tarball for element-web again.
@@ -94,7 +97,7 @@ mkYarnPackage rec {
     name = "element-desktop";
     exec = "${executableName} %u";
     icon = "element";
-    desktopName = "Element (Riot)";
+    desktopName = "Element";
     genericName = "Matrix Client";
     comment = meta.description;
     categories = "Network;InstantMessaging;Chat;";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/pin.json b/nixpkgs/pkgs/applications/networking/instant-messengers/element/pin.json
index b0dc0c2e739d..27dbb16f088f 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/element/pin.json
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "1.9.8",
-  "desktopSrcHash": "o6SICu7QDdBv9WXDconkypQRj3TbrU4ZAxayO9yemvc=",
-  "desktopYarnHash": "176ih0nzzx2yds6kp3lzdsrlp0glb9nqw146z0s1az7pjp6nrf18",
-  "webHash": "141fqvh4d5lwm692yc8mfwrlvqnfixvc7vlbfis86qi557vq6ljq"
+  "version": "1.10.4",
+  "desktopSrcHash": "cuMo0wRMC6+un3BQK0+Ecnjvs6HugNk71yElNJarlyc=",
+  "desktopYarnHash": "0llnqwgiqggfcgjyaar2h2r1pyw8m14icfb1pcdphqxrah9gpsar",
+  "webHash": "0vf8npddbx4dmq9c1ghak97jn28b18ssblbrq5smdhlzsnxlpm3l"
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/ferdi/default.nix
index 2389aee53a99..92e39f091b15 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/ferdi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/ferdi/default.nix
@@ -17,10 +17,10 @@ in
 mkFranzDerivation' rec {
   pname = "ferdi";
   name = "Ferdi";
-  version = "5.6.5";
+  version = "5.7.0";
   src = fetchurl {
     url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
-    sha256 = "sha256-JeFPvU4xXHcv6/ApCDkejYWfA8lqsxwoFXnqIiOQ0+Y=";
+    sha256 = "sha256-WwtnYNjXHk80o1wMsEBoaT9j0+4TWTfWhuVpGHaZB7c=";
   };
   extraBuildInputs = [ xorg.libxshmfence ];
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
new file mode 100644
index 000000000000..e567f18fe7b1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, fetchFromGitLab
+, flutter
+, olm
+}:
+
+flutter.mkFlutterApp rec {
+  pname = "fluffychat";
+  version = "1.2.0";
+
+  vendorHash = "sha256-Qg0IlajbIl8e3BkKgn4O+mbZGvhfqr7XwllBLJQAA/I=";
+
+  src = fetchFromGitLab {
+    owner = "famedly";
+    repo = "fluffychat";
+    rev = "v${version}";
+    hash = "sha256-PJH3jMQc6u9R6Snn+9rNN8t+8kt6l3Xt7zKPbpqj13E=";
+  };
+
+  buildInputs = [
+    olm
+  ];
+
+  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/nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix
index d63318ecfaf7..7438e5496acd 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -13,7 +13,6 @@
 , freetype
 , fontconfig
 , gtk3
-, gnome2
 , dbus
 , nss
 , nspr
@@ -24,6 +23,7 @@
 , libnotify
 , xdg-utils
 , mesa
+, libappindicator-gtk3
 }:
 
 # Helper function for building a derivation for Franz and forks.
@@ -60,7 +60,6 @@ stdenv.mkDerivation rec {
     freetype
     fontconfig
     dbus
-    gnome2.GConf
     nss
     nspr
     alsa-lib
@@ -68,7 +67,7 @@ stdenv.mkDerivation rec {
     expat
     stdenv.cc.cc
   ];
-  runtimeDependencies = [ stdenv.cc.cc.lib (lib.getLib udev) libnotify ];
+  runtimeDependencies = [ stdenv.cc.cc.lib (lib.getLib udev) libnotify libappindicator-gtk3 ];
 
   unpackPhase = "dpkg-deb -x $src .";
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 2b6cb9969e82..3c56d84db4b5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, gettext, wrapGAppsHook
+{ lib, fetchurl, fetchFromGitLab, gettext, wrapGAppsHook
 
 # Native dependencies
 , python3, gtk3, gobject-introspection, gnome
@@ -41,6 +41,21 @@ python3.pkgs.buildPythonApplication rec {
     gettext wrapGAppsHook
   ];
 
+  # Workaround for https://dev.gajim.org/gajim/gajim/-/issues/10719.
+  # We don't use plugin release URL because it's updated in place.
+  plugins = fetchFromGitLab {
+    domain = "dev.gajim.org";
+    owner = "gajim";
+    repo = "gajim-plugins";
+    rev = "fea522e4360cec6ceacbf1df92644ab3343d4b99";
+    sha256 = "sha256-CmwEiLsdldoOfgHfWL/5hf/dp0HEDNAIlc5N0Np20KE=";
+  };
+
+  postPatch = ''
+    mkdir -p gajim/data/plugins
+    cp -r $plugins/plugin_installer gajim/data/plugins
+  '';
+
   dontWrapGApps = true;
 
   preFixup = ''
@@ -59,7 +74,8 @@ python3.pkgs.buildPythonApplication rec {
   checkPhase = ''
     xvfb-run dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
-      ${python3.interpreter} setup.py test
+      ${python3.interpreter} -m unittest discover -s test/unit -v
+    ${python3.interpreter} -m unittest discover -s test/no_gui -v
   '';
 
   # necessary for wrapGAppsHook
@@ -71,7 +87,6 @@ python3.pkgs.buildPythonApplication rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ raskin abbradar ];
     downloadPage = "http://gajim.org/downloads.php";
-    updateWalker = true;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/gitter/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/gitter/default.nix
index 854cc18a47ff..853043b97cbe 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/gitter/default.nix
+++ b/nixpkgs/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
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix
new file mode 100644
index 000000000000..6430ebdd22fc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/jami/daemon.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/jami/daemon.nix
index a324d061aa73..f39b731132ea 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/jami/daemon.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/jami/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/jami/default.nix
index 5be6e0211788..3e0ba8bb5e8f 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/jami/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
index 149be3686e85..2395a196f605 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -4,15 +4,16 @@
 , makeWrapper
 , electron
 , xorg
+, pipewire
 }:
 
 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";
   };
 
@@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     makeWrapper ${electron}/bin/electron $out/bin/${pname} \
       --add-flags $out/share/${pname}/resources/app.asar \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc xorg.libXtst ]}"
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc xorg.libXtst pipewire ]}"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
index 133355e074e2..5fe90d50a31a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "kdeltachat";
-  version = "unstable-2021-12-26";
+  version = "unstable-2022-01-02";
 
   src = fetchFromSourcehut {
     owner = "~link2xt";
     repo = "kdeltachat";
-    rev = "aabe9421cb26f8e2537d49df5392e428bca8d72d";
-    hash = "sha256-5ql4KGMie9EbhHbPSNHIUQrvNpO//WgpTDIK6ETwdkg=";
+    rev = "ec545c8208c870c44312558f91c79e6ffce4444e";
+    hash = "sha256-s/dJ2ahdUK7ODKsna+tl81e+VQLkCAELb/iEXf9WlIM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
index 874fbd6375d0..6f53fe2b3a3b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/mcabber/default.nix
index 2ca94953c4f6..3acd11a9a0d3 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mcabber/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mcabber/default.nix
@@ -38,8 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
-    updateWalker = true;
     downloadPage = "http://mcabber.com/files/";
-    downloadURLRegexp = "mcabber-[0-9.]+[.]tar[.][a-z0-9]+$";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/mirage/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/mirage/default.nix
index a4693dc667b9..f35db8e3a11b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/mirage/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/mirage/default.nix
@@ -47,22 +47,24 @@ mkDerivation rec {
   ] ++ pythonPath;
 
   pythonPath = with python3Packages; [
+    pillow
     aiofiles
     appdirs
-    blist
     cairosvg
     filetype
     html-sanitizer
-    hsluv
-    matrix-nio
+    lxml
     mistune
-    plyer
     pymediainfo
-    pyotherside
+    plyer
+    sortedcontainers
+    watchgod
     redbaron
+    hsluv
     simpleaudio
     setuptools
     watchgod
+    dbus-python
   ];
 
   qmakeFlags = [
@@ -84,6 +86,6 @@ mkDerivation rec {
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ colemickens AndersonTorres ];
     inherit (qtbase.meta) platforms;
-    broken = stdenv.isDarwin;
+    broken = stdenv.isDarwin || python3Packages.isPy37 || python3Packages.isPy38;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/neochat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/neochat/default.nix
index b6706d647868..6de6922913fc 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/neochat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
index 9722d3b89e32..894294ae24c5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
index ef9ce5bca74c..f393a17c1bc6 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pidgin, intltool, python } :
+{ lib, stdenv, fetchurl, pidgin, intltool, python2 } :
 
 stdenv.mkDerivation rec {
   pname = "purple-plugin-pack";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0g5hmy7fwgjq59j52h9yps28jsjjrfkd4r18gyx6hfd3g3kzbg1b";
   };
 
-  buildInputs = [ pidgin intltool python ];
+  buildInputs = [ pidgin intltool python2 ];
 
   meta = with lib; {
     homepage = "https://bitbucket.org/rekkanoryo/purple-plugin-pack";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index d1cf00969b10..9288f272134a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index 827cac7c2970..e8b48232ee33 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -19,7 +19,7 @@ in mkRambox rec {
     description = "Messaging and emailing app that combines common web applications into one";
     homepage = "https://rambox.pro";
     license = licenses.unfree;
-    maintainers = with maintainers; [ chrisaw ];
+    maintainers = with maintainers; [ cawilliamson ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix
new file mode 100644
index 000000000000..ef9dad66b5d6
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix
index 76f93d9d2173..76f93d9d2173 100755..100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/ripcord/default.nix
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
index 1317fd70a952..b5c558e7702b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
@@ -4,11 +4,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rocketchat-desktop";
-  version = "3.7.4";
+  version = "3.7.7";
 
   src = fetchurl {
     url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat_${version}_amd64.deb";
-    sha256 = "sha256-yYUMVMSGUMAXbBm40jNCaFusWsWxoIgLDeAwNqSewX8=";
+    sha256 = "sha256-WTsiNZ5XANdRQyJX4n8VL66JzyF8QyRWu2ctsV4TxuY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/pin.json b/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/pin.json
index 30ca1e9f475a..aceeec448fdf 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/pin.json
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "1.9.7-sc.1",
-  "srcHash": "0qrjjwcxa141phsgdz325rrkfmjqdmxc3h917cs9c9kf6cblkxaq",
-  "webYarnHash": "19c594pql2yz1z15phfdlkwcvrcbm8k058fcq7p0k6840dhif5fd",
-  "desktopYarnHash": "058ihkljb1swjzvgf8gqci5ghvwapmpcf2bsab3yr66lhps7fhci"
+  "version": "1.9.8-sc.1",
+  "srcHash": "1ki4ccsa2i0mv10ypxg6bx9njikipdqkc5bsq5h7bi86scjm4lni",
+  "webYarnHash": "1za6r0snrflh2605xw4m19p88chx19ip8jj592bqjdagildqm50l",
+  "desktopYarnHash": "176ih0nzzx2yds6kp3lzdsrlp0glb9nqw146z0s1az7pjp6nrf18"
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
index 4e1d330f5000..f16c7b599e4a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
@@ -7,13 +7,13 @@
 , makeDesktopItem
 , copyDesktopItems
 , fetchYarnDeps
-, yarn, nodejs, fixup_yarn_lock
+, yarn
+, nodejs
+, fixup_yarn_lock
 , electron
 , Security
 , AppKit
 , CoreServices
-
-, useWayland ? false
 }:
 
 let
@@ -88,7 +88,8 @@ stdenv.mkDerivation rec {
 
     # executable wrapper
     makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
-      --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
+      --add-flags "$out/share/element/electron" \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
 
     runHook postInstall
   '';
@@ -101,17 +102,17 @@ stdenv.mkDerivation rec {
   # https://github.com/schildichat/element-desktop/blob/sc/package.json
   desktopItems = [
     (makeDesktopItem {
-     name = "schildichat-desktop";
-     exec = "${executableName} %u";
-     icon = "schildichat";
-     desktopName = "SchildiChat";
-     genericName = "Matrix Client";
-     comment = meta.description;
-     categories = "Network;InstantMessaging;Chat;";
-     extraEntries = ''
-       StartupWMClass=schildichat
-       MimeType=x-scheme-handler/element;
-     '';
+      name = "schildichat-desktop";
+      exec = "${executableName} %u";
+      icon = "schildichat";
+      desktopName = "SchildiChat";
+      genericName = "Matrix Client";
+      comment = meta.description;
+      categories = "Network;InstantMessaging;Chat;";
+      extraEntries = ''
+        StartupWMClass=schildichat
+        MimeType=x-scheme-handler/element;
+      '';
     })
   ];
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
index c998f869d1ea..9126a587dc7a 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 59ff3554ebf5..bca45576db71 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, makeWrapper, openjdk11_headless, libmatthew_java, dbus, dbus_java }:
+{ stdenv, lib, fetchurl, makeWrapper, openjdk17_headless, libmatthew_java, dbus, dbus_java }:
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.9.2";
+  version = "0.10.2";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    sha256 = "sha256-CumrIlOPmvQ3x7Ua5I2G7ZlTSAbhLgAQMPUg4I5WCeQ=";
+    sha256 = "sha256-etCO7sy48A7aL3mnXWitClNiw/E122G4eD6YfVmXEPw=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
@@ -18,15 +18,15 @@ stdenv.mkDerivation rec {
     cp -r lib $out/lib
     cp bin/signal-cli $out/bin/signal-cli
   '' + (if stdenv.isLinux then ''
-    makeWrapper ${openjdk11_headless}/bin/java $out/bin/signal-cli \
-      --set JAVA_HOME "${openjdk11_headless}" \
+    makeWrapper ${openjdk17_headless}/bin/java $out/bin/signal-cli \
+      --set JAVA_HOME "${openjdk17_headless}" \
       --add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \
       --add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \
       --add-flags "org.asamk.signal.Main"
   '' else ''
     wrapProgram $out/bin/signal-cli \
-      --prefix PATH : ${lib.makeBinPath [ openjdk11_headless ]} \
-      --set JAVA_HOME ${openjdk11_headless}
+      --prefix PATH : ${lib.makeBinPath [ openjdk17_headless ]} \
+      --set JAVA_HOME ${openjdk17_headless}
   '');
 
   # Execution in the macOS (10.13) sandbox fails with
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 38e718972f32..8af5185386cb 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/nixpkgs/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.26.1"; # 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-QIRt16AHILBNxKPxsOQ0n65W/bbalhXH1fM7KIaXP10=";
+    sha256 = "sha256-6w6znIIN5TFXTLLhazWyBXiqS5882zMNRZxYxnZjRHA=";
   };
 
   nativeBuildInputs = [
@@ -56,7 +56,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libX11
     libXScrnSaver
@@ -113,6 +112,9 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/bin
     ln -s $out/lib/Signal/signal-desktop $out/bin/signal-desktop
 
+    # Create required symlinks:
+    ln -s libGLESv2.so $out/lib/Signal/libGLESv2.so.2
+
     runHook postInstall
   '';
 
@@ -120,6 +122,7 @@ in stdenv.mkDerivation rec {
     gappsWrapperArgs+=(
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ] }"
       ${customLanguageWrapperArgs}
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
     )
 
     # Fix the desktop link
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/apple-sdk-missing-utimensat.patch b/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/apple-sdk-missing-utimensat.patch
new file mode 100644
index 000000000000..61474d0ab4fc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/apple-sdk-missing-utimensat.patch
@@ -0,0 +1,34 @@
+diff --git a/signalbackup/setfiletimestamp.cc b/signalbackup/setfiletimestamp.cc
+index f53a168..d2d1c5e 100644
+--- a/signalbackup/setfiletimestamp.cc
++++ b/signalbackup/setfiletimestamp.cc
+@@ -21,24 +21,23 @@
+
+ #if !defined(_WIN32) && !defined(__MINGW64__)
+
+-#include <fcntl.h>
+-#include <sys/stat.h>
++#include <sys/time.h>
+
+ bool SignalBackup::setFileTimeStamp(std::string const &file, long long int time_usec) const
+ {
+-  struct timespec ntimes[] =
++  struct timeval ntimes[] =
+   {
+     {                                   // ntimes[0] =
+       time_usec / 1000,                 // tv_sec, seconds
+-      (time_usec % 1000) * 1000         // tv_usec, nanoseconds
++      static_cast<int>(time_usec)       // tv_usec, nanoseconds
+     },
+     {                                   // ntimes[1] =
+       time_usec / 1000,                 // tv_sec, seconds
+-      (time_usec % 1000) * 1000         // tv_usec, nanoseconds
++      static_cast<int>(time_usec)       // tv_usec, nanoseconds
+     }
+   };
+
+-  return (utimensat(AT_FDCWD, file.c_str(), ntimes, 0) == 0);
++  return (utimes(file.c_str(), ntimes) == 0);
+ }
+
+ #else // this is poorly tested, I don't have windows
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
new file mode 100644
index 000000000000..931e9f93d084
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -0,0 +1,45 @@
+{ lib, stdenv, fetchFromGitHub, openssl, sqlite }:
+
+stdenv.mkDerivation rec {
+  pname = "signalbackup-tools";
+  version = "20220218";
+
+  src = fetchFromGitHub {
+    owner = "bepaald";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-6fwkhqXM6T0WCC1Y+GCmyLwStqhBTUAzDDsBTd5XlSE=";
+  };
+
+  # Remove when Apple SDK is >= 10.13
+  patches = lib.optional (stdenv.system == "x86_64-darwin") ./apple-sdk-missing-utimensat.patch;
+
+  buildInputs = [ openssl sqlite ];
+  buildFlags = [
+    "-Wall"
+    "-Wextra"
+    "-Wshadow"
+    "-Wold-style-cast"
+    "-Woverloaded-virtual"
+    "-pedantic"
+    "-std=c++2a"
+    "-O3"
+    "-march=native"
+  ];
+  buildPhase = ''
+    $CXX $buildFlags */*.cc *.cc -lcrypto -lsqlite3 -o signalbackup-tools
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp signalbackup-tools $out/bin/
+  '';
+
+  meta = with lib; {
+    description = "Tool to work with Signal Backup files";
+    homepage = "https://github.com/bepaald/signalbackup-tools";
+    license = licenses.gpl3Only;
+    maintainers = [ maintainers.malo ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 89da54527798..4fc3d56baccf 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/nixpkgs/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 }:
 
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.79.0.95";
+  version = "8.80.0.143";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -26,7 +26,6 @@ let
     libsecret
     libuuid
 
-    gnome2.GConf
     gdk-pixbuf
     gtk3
     libappindicator-gtk3
@@ -69,7 +68,7 @@ let
           "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "sha256-a6ZtgA0cMAuNVQWAeiIDJ2noPhXjV8KPE8ibkGR7Dns=";
+        sha256 = "sha256-SLypP+ZRHMWeB3KuvmmYb0Y1T3ipSpWNiYYQIzMCDDY=";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
index 5e0175518716..5eb7518ea378 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -18,7 +18,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gtk3
 , libGL
 , libappindicator-gtk3
@@ -45,46 +44,45 @@ let
 
   pname = "slack";
 
-  x86_64-darwin-version = "4.22.0";
-  x86_64-darwin-sha256 = "094p9vyv56m5qfp9jh2205ijfqcp0dr6bkmiv0wxihy2rg20b5zp";
+  x86_64-darwin-version = "4.23.0";
+  x86_64-darwin-sha256 = "0l4zfyys0yf95dn0sldyjkhzp7bpn84z9q9li1lvv5jj55f0g9jd";
 
-  x86_64-linux-version = "4.22.0";
-  x86_64-linux-sha256 = "0k84glxp653lxgfv5b65zvvysax7fr3lhsjgq76safk7g7cjc86i";
+  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;
-    aarch64-darwin = aarch64-darwin-version;
     x86_64-linux = x86_64-linux-version;
+    aarch64-darwin =  aarch64-darwin-version;
   }.${system} or throwSystem;
 
-  src =
-    let
-      base = "https://downloads.slack-edge.com";
-    in
-      {
-        x86_64-darwin = fetchurl {
-          url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
-          sha256 = x86_64-darwin-sha256;
-        };
-        aarch64-darwin = fetchurl {
-          url = "${base}/releases/macos/${version}/prod/arm64/Slack-${version}-macOS.dmg";
-          sha256 = aarch64-darwin-sha256;
-        };
-        x86_64-linux = fetchurl {
-          url = "${base}/releases/linux/${version}/prod/x64/slack-desktop-${version}-amd64.deb";
-          sha256 = x86_64-linux-sha256;
-        };
-      }.${system} or throwSystem;
+
+  src = let
+    base = "https://downloads.slack-edge.com";
+  in {
+    x86_64-darwin = fetchurl {
+      url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
+      sha256 = x86_64-darwin-sha256;
+    };
+    x86_64-linux = fetchurl {
+      url = "${base}/releases/linux/${version}/prod/x64/slack-desktop-${version}-amd64.deb";
+      sha256 = x86_64-linux-sha256;
+    };
+    aarch64-darwin = fetchurl {
+      url = "${base}/releases/macos/${version}/prod/arm64/Slack-${version}-macOS.dmg";
+      sha256 = aarch64-darwin-sha256;
+    };
+  }.${system} or throwSystem;
 
   meta = with lib; {
     description = "Desktop client for Slack";
     homepage = "https://slack.com";
     license = licenses.unfree;
     maintainers = with maintainers; [ mmahut ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin"];
+    platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ];
   };
 
   linux = stdenv.mkDerivation rec {
@@ -106,7 +104,6 @@ let
       freetype
       gdk-pixbuf
       glib
-      gnome2.GConf
       gtk3
       libGL
       libappindicator-gtk3
@@ -170,7 +167,8 @@ let
       rm $out/bin/slack
       makeWrapper $out/lib/slack/slack $out/bin/slack \
         --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
-        --prefix PATH : ${lib.makeBinPath [xdg-utils]}
+        --prefix PATH : ${lib.makeBinPath [xdg-utils]} \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
 
       # Fix the desktop link
       substituteInPlace $out/share/applications/slack.desktop \
@@ -194,7 +192,10 @@ let
       runHook preInstall
       mkdir -p $out/Applications/Slack.app
       cp -R . $out/Applications/Slack.app
-      /usr/bin/defaults write com.tinyspeck.slackmacgap SlackNoAutoUpdates -bool YES
+    '' + lib.optionalString (!stdenv.isAarch64) ''
+      # on aarch64-darwin we get: Could not write domain com.tinyspeck.slackmacgap; exiting
+      /usr/bin/defaults write com.tinyspeck.slackmacgap SlackNoAutoUpdates -Bool YES
+    '' + ''
       runHook postInstall
     '';
   };
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh
index 0bb0d784167c..688fe579f877 100755
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/update.sh
@@ -16,21 +16,28 @@ nixpkgs="$(git rev-parse --show-toplevel)"
 slack_nix="$nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix"
 nixpkgs_linux_version=$(cat "$slack_nix" | sed -n 's/.*x86_64-linux-version = \"\([0-9\.]\+\)\";.*/\1/p')
 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
 
-linux_url="https://downloads.slack-edge.com/linux_releases/slack-desktop-${latest_linux_version}-amd64.deb"
+linux_url="https://downloads.slack-edge.com/releases/linux/${latest_linux_version}/prod/x64/slack-desktop-${latest_linux_version}-amd64.deb"
 mac_url="https://downloads.slack-edge.com/releases/macos/${latest_mac_version}/prod/x64/Slack-${latest_mac_version}-macOS.dmg"
+mac_arm_url="https://downloads.slack-edge.com/releases/macos/${latest_mac_version}/prod/arm64/Slack-${latest_mac_version}-macOS.dmg"
 linux_sha256=$(nix-prefetch-url ${linux_url})
 mac_sha256=$(nix-prefetch-url ${mac_url})
+mac_arm_sha256=$(nix-prefetch-url ${mac_arm_url})
 
 sed -i "s/x86_64-linux-version = \".*\"/x86_64-linux-version = \"${latest_linux_version}\"/" "$slack_nix"
 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_sha256}\"/" "$slack_nix"
+sed -i "s/aarch64-darwin-sha256 = \".*\"/aarch64-darwin-sha256 = \"${mac_arm_sha256}\"/" "$slack_nix"
 
 if ! nix-build -A slack "$nixpkgs"; then
   echo "The updated slack failed to build."
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
index 52935267cf2e..84310498eee4 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -14,109 +14,150 @@
 , xdg-utils
 , systemd
 , nodePackages
-, enableRectOverlay ? false }:
+, xar
+, cpio
+, makeWrapper
+, enableRectOverlay ? false
+}:
 
-stdenv.mkDerivation rec {
+let
   pname = "teams";
   version = "1.4.00.26453";
-
-  src = fetchurl {
-    url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
-    sha256 = "0ndqk893l17m42hf5fiiv6mka0v7v8r54kblvb67jsxajdvva5gf";
+  meta = with lib; {
+    description = "Microsoft Teams";
+    homepage = "https://teams.microsoft.com";
+    downloadPage = "https://teams.microsoft.com/downloads";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ liff tricktron ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 
-  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook nodePackages.asar ];
+  linux = stdenv.mkDerivation rec {
+    inherit pname version meta;
 
-  unpackCmd = "dpkg -x $curSrc .";
+    src = fetchurl {
+      url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
+      sha256 = "0ndqk893l17m42hf5fiiv6mka0v7v8r54kblvb67jsxajdvva5gf";
+    };
 
-  buildInputs = atomEnv.packages ++ [
-    libuuid
-    at-spi2-atk
-  ];
+    nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook nodePackages.asar ];
 
-  runtimeDependencies = [
-    (lib.getLib systemd)
-    pulseaudio
-    libappindicator-gtk3
-  ];
+    unpackCmd = "dpkg -x $curSrc .";
 
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
-    gappsWrapperArgs+=(--add-flags --disable-namespace-sandbox)
-    gappsWrapperArgs+=(--add-flags --disable-setuid-sandbox)
-  '';
+    buildInputs = atomEnv.packages ++ [
+      libuuid
+      at-spi2-atk
+    ];
 
+    runtimeDependencies = [
+      (lib.getLib systemd)
+      pulseaudio
+      libappindicator-gtk3
+    ];
 
-  buildPhase = ''
-    runHook preBuild
+    preFixup = ''
+      gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
+      gappsWrapperArgs+=(--add-flags --disable-namespace-sandbox)
+      gappsWrapperArgs+=(--add-flags --disable-setuid-sandbox)
+    '';
 
-    asar extract share/teams/resources/app.asar "$TMP/work"
-    substituteInPlace $TMP/work/main.bundle.js \
-        --replace "/usr/share/pixmaps/" "$out/share/pixmaps" \
-        --replace "/usr/bin/xdg-mime" "${xdg-utils}/bin/xdg-mime" \
-        --replace "Exec=/usr/bin/" "Exec=" # Remove usage of absolute path in autostart.
-    asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" share/teams/resources/app.asar
 
-    runHook postBuild
-  '';
+    buildPhase = ''
+      runHook preBuild
 
-  preferLocalBuild = true;
+      asar extract share/teams/resources/app.asar "$TMP/work"
+      substituteInPlace $TMP/work/main.bundle.js \
+          --replace "/usr/share/pixmaps/" "$out/share/pixmaps" \
+          --replace "/usr/bin/xdg-mime" "${xdg-utils}/bin/xdg-mime" \
+          --replace "Exec=/usr/bin/" "Exec=" # Remove usage of absolute path in autostart.
+      asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" share/teams/resources/app.asar
 
-  installPhase = ''
-    runHook preInstall
+      runHook postBuild
+    '';
 
-    mkdir -p $out/{opt,bin}
+    preferLocalBuild = true;
 
-    mv share/teams $out/opt/
-    mv share $out/share
+    installPhase = ''
+      runHook preInstall
 
-    substituteInPlace $out/share/applications/teams.desktop \
-      --replace /usr/bin/ ""
+      mkdir -p $out/{opt,bin}
 
-    ln -s $out/opt/teams/teams $out/bin/
+      mv share/teams $out/opt/
+      mv share $out/share
 
-    ${lib.optionalString (!enableRectOverlay) ''
-    # Work-around screen sharing bug
-    # https://docs.microsoft.com/en-us/answers/questions/42095/sharing-screen-not-working-anymore-bug.html
-    rm $out/opt/teams/resources/app.asar.unpacked/node_modules/slimcore/bin/rect-overlay
-    ''}
+      substituteInPlace $out/share/applications/teams.desktop \
+        --replace /usr/bin/ ""
 
-    runHook postInstall
-  '';
+      ln -s $out/opt/teams/teams $out/bin/
 
-  dontAutoPatchelf = true;
+      ${lib.optionalString (!enableRectOverlay) ''
+      # Work-around screen sharing bug
+      # https://docs.microsoft.com/en-us/answers/questions/42095/sharing-screen-not-working-anymore-bug.html
+      rm $out/opt/teams/resources/app.asar.unpacked/node_modules/slimcore/bin/rect-overlay
+      ''}
 
-  # Includes runtimeDependencies in the RPATH of the included Node modules
-  # so that dynamic loading works. We cannot use directly runtimeDependencies
-  # here, since the libraries from runtimeDependencies are not propagated
-  # to the dynamically loadable node modules because of a condition in
-  # autoPatchElfHook since *.node modules have Type: DYN (Shared object file)
-  # instead of EXEC or INTERP it expects.
-  # Fixes: https://github.com/NixOS/nixpkgs/issues/85449
-  postFixup = ''
-    autoPatchelf "$out"
+      runHook postInstall
+    '';
 
-    runtime_rpath="${lib.makeLibraryPath runtimeDependencies}"
+    dontAutoPatchelf = true;
 
-    for mod in $(find "$out/opt/teams" -name '*.node'); do
-      mod_rpath="$(patchelf --print-rpath "$mod")"
+    # Includes runtimeDependencies in the RPATH of the included Node modules
+    # so that dynamic loading works. We cannot use directly runtimeDependencies
+    # here, since the libraries from runtimeDependencies are not propagated
+    # to the dynamically loadable node modules because of a condition in
+    # autoPatchElfHook since *.node modules have Type: DYN (Shared object file)
+    # instead of EXEC or INTERP it expects.
+    # Fixes: https://github.com/NixOS/nixpkgs/issues/85449
+    postFixup = ''
+      autoPatchelf "$out"
 
-      echo "Adding runtime dependencies to RPATH of Node module $mod"
-      patchelf --set-rpath "$runtime_rpath:$mod_rpath" "$mod"
-    done;
+      runtime_rpath="${lib.makeLibraryPath runtimeDependencies}"
 
-    # fix for https://docs.microsoft.com/en-us/answers/questions/298724/open-teams-meeting-link-on-linux-doens39t-work.html?childToView=309406#comment-309406
-    # while we create the wrapper ourselves, gappsWrapperArgs leads to the same issue
-    # another option would be to introduce gappsWrapperAppendedArgs, to allow control of positioning
-    substituteInPlace "$out/bin/teams" --replace '.teams-wrapped"  --disable-namespace-sandbox --disable-setuid-sandbox "$@"' '.teams-wrapped" "$@" --disable-namespace-sandbox --disable-setuid-sandbox'
-  '';
+      for mod in $(find "$out/opt/teams" -name '*.node'); do
+        mod_rpath="$(patchelf --print-rpath "$mod")"
 
-  meta = with lib; {
-    description = "Microsoft Teams";
-    homepage = "https://teams.microsoft.com";
-    downloadPage = "https://teams.microsoft.com/downloads";
-    license = licenses.unfree;
-    maintainers = [ maintainers.liff ];
-    platforms = [ "x86_64-linux" ];
+        echo "Adding runtime dependencies to RPATH of Node module $mod"
+        patchelf --set-rpath "$runtime_rpath:$mod_rpath" "$mod"
+      done;
+
+      # fix for https://docs.microsoft.com/en-us/answers/questions/298724/open-teams-meeting-link-on-linux-doens39t-work.html?childToView=309406#comment-309406
+      # while we create the wrapper ourselves, gappsWrapperArgs leads to the same issue
+      # another option would be to introduce gappsWrapperAppendedArgs, to allow control of positioning
+      substituteInPlace "$out/bin/teams" --replace '.teams-wrapped"  --disable-namespace-sandbox --disable-setuid-sandbox "$@"' '.teams-wrapped" "$@" --disable-namespace-sandbox --disable-setuid-sandbox'
+    '';
+  };
+
+  appName = "Teams.app";
+
+  darwin = stdenv.mkDerivation {
+    inherit pname version meta;
+
+    src = fetchurl {
+      url = "https://statics.teams.cdn.office.net/production-osx/${version}/Teams_osx.pkg";
+      sha256 = "1mg6a3b3954w4xy5rlcrwxczymygl61dv2rxqp45sjcsh3hp39q0";
+    };
+
+    buildInputs = [ xar cpio makeWrapper ];
+
+    unpackPhase = ''
+      xar -xf $src
+      zcat < Teams_osx_app.pkg/Payload | cpio -i
+    '';
+
+    sourceRoot = "Microsoft\ Teams.app";
+    dontPatch = true;
+    dontConfigure = true;
+    dontBuild = true;
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/{Applications/${appName},bin}
+      cp -R . $out/Applications/${appName}
+      makeWrapper $out/Applications/${appName}/Contents/MacOS/Teams $out/bin/teams
+      runHook postInstall
+    '';
   };
-}
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
index 614183b72d08..aff74a174b9c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 77508eb02978..9a34513acabd 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -48,6 +48,8 @@
 , brotli
 , microsoft_gsl
 , rlottie
+, stdenv
+, gcc10Stdenv
 }:
 
 # Main reference:
@@ -63,10 +65,12 @@ let
       cxxStandard = "17";
     };
   };
+  # Aarch64 default gcc9 will cause ICE. For reference #108305
+  env = if stdenv.isAarch64 then gcc10Stdenv else stdenv;
 in
-mkDerivation rec {
+env.mkDerivation rec {
   pname = "telegram-desktop";
-  version = "3.1.11";
+  version = "3.4.8";
   # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
   # Telegram-Desktop with submodules
@@ -75,7 +79,7 @@ mkDerivation rec {
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0hpcsraw3gx37wk3r88q51qf68ny0kb3kd6slnklwf22d1jqr3fn";
+    sha256 = "11h2w82i10zn55iz9xda8ihsnv6s8rxm3wkmmmkpa4zfzinryqb4";
   };
 
   postPatch = ''
@@ -154,6 +158,8 @@ mkDerivation rec {
     "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
     # See: https://github.com/NixOS/nixpkgs/pull/130827#issuecomment-885212649
     "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF"
+    # TODO: Remove once QT6 is available in nixpkgs
+    "-DDESKTOP_APP_QT6=OFF"
   ];
 
   postFixup = ''
@@ -183,6 +189,6 @@ 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/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
index 878fea994db3..25dc1ff3d034 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation {
   pname = "tg_owt";
-  version = "unstable-2021-10-21";
+  version = "unstable-2021-12-22";
 
   src = fetchFromGitHub {
     owner = "desktop-app";
     repo = "tg_owt";
-    rev = "d578c760dc6f1ae5f0f3bb5317b0b2ed04b79138";
-    sha256 = "12lr50nma3j9df55sxi6p48yhn9yxrwzz5yrx7r29p8p4fv1c75w";
+    rev = "6708e0d31a73e64fe12f54829bf4060c41b2658e";
+    sha256 = "081ylw8vp8c84x3f1xx1kia6k1sds2iza9fm5dvn3ccgjwxdm5ny";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/torchat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/torchat/default.nix
index 8fece5412721..3278d68cd0b5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/torchat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/torchat/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python, unzip, wxPython, wrapPython, tor }:
+{ lib, stdenv, fetchFromGitHub, python2, unzip, tor }:
 
 stdenv.mkDerivation rec {
   pname = "torchat";
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ unzip ];
-  buildInputs = [ python wxPython wrapPython ];
-  pythonPath = [ wxPython ];
+  buildInputs = with python2.pkgs; [ python wxPython wrapPython ];
+  pythonPath = with python2.pkgs; [ wxPython ];
 
   preConfigure = "cd torchat/src; rm portable.txt";
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
     mkdir -p $out/lib/torchat
     cp -rf * $out/lib/torchat
-    makeWrapper ${python}/bin/python $out/bin/torchat \
+    makeWrapper ${python2}/bin/python $out/bin/torchat \
         --set PYTHONPATH $out/lib/torchat:$program_PYTHONPATH \
         --run "cd $out/lib/torchat" \
         --add-flags "-O $out/lib/torchat/torchat.py"
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
index 97df6d643c88..f8e048edc4b0 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation {
   dontPatchELF = true;
 
   meta = {
-    homepage = "http://www.viber.com";
+    homepage = "https://www.viber.com";
     description = "An instant messaging and Voice over IP (VoIP) app";
     license = lib.licenses.unfree;
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 9451dcd2d236..a33980874553 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -28,11 +28,11 @@
 }:
 
 let
-  version = "5.8.6.739";
+  version = "5.9.3.1911";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = "12gzdfxf6xy558smsfazvjj4g1rnaiw7l2lznzlh2qazyaq6f3mq";
+      sha256 = "0pamn028k96z0j9xzv56szk7sy0czd9myqm4p3hps1gkczc9wzs4";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix b/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
index a7627feb94d1..d66efa86a7f9 100644
--- a/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "0.14.1";
+  version = "0.14.4";
 
-  vendorSha256 = "sha256-vDNWYgWlM3kJqlHW/6Bj6P+t6M61TvOVRJwDN2p0mi4=";
+  vendorSha256 = "sha256-4j6aPs17YNXyPIRr5NshAPYIfNM08GlYV13jnGtJzQc=";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipfs-cluster";
     rev = "v${version}";
-    sha256 = "sha256-GELCd12LhA4CBe9DRRBu4r+AwCksaRVIWcSAJScvnbk=";
+    sha256 = "sha256-82t3sHMKZiV6sYnW72N94qfRZ/aMkavj+hiAyg5viHQ=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/ipget/default.nix b/nixpkgs/pkgs/applications/networking/ipget/default.nix
index 19cc4445b328..a8888b8e2958 100644
--- a/nixpkgs/pkgs/applications/networking/ipget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ipget/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ipget";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipget";
     rev = "v${version}";
-    sha256 = "sha256-YD05HIVr99b8VmEJgzY2ClNv31I98d0NbfCk3XcB+xk=";
+    sha256 = "sha256-qRPke8/CUmGX6v+8qv9JQCUC8T9pjwRRyGmBWvatsJ0=";
   };
 
-  vendorSha256 = "sha256-bymHVWskCt7bf02CveMXl1VhZYhRSEH7xIoESh31iGg=";
+  vendorSha256 = "sha256-La9V5B+UDaOswh/R8ad4xsnCF5ewtF7G+uiqnarM4Mg=";
 
   postPatch = ''
     # main module (github.com/ipfs/ipget) does not contain package github.com/ipfs/ipget/sharness/dependencies
diff --git a/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix b/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
index 68ada703f8d6..9f979781857d 100644
--- a/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "catgirl";
-  version = "2.0";
+  version = "2.0a";
 
   src = fetchurl {
     url = "https://git.causal.agency/catgirl/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "sha256-rk6nvfyaFxJ/7JN92L5tDraTngffVb6u/U7dbNjK9jI=";
+    sha256 = "sha256-AbzzTqaulPDplntwRYw4fVxZXUIJ2L0MKZvyWq4lvro=";
   };
 
   # catgirl's configure script uses pkg-config --variable exec_prefix openssl
diff --git a/nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix b/nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix
index 504481479ed2..0bc25c0f8592 100644
--- a/nixpkgs/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/nixpkgs/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 ];
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  mesonFlags = [ "-Dwith-lua=lua" "-Dwith-text=true" ];
+  mesonFlags = [ "-Dwith-lua=lua" "-Dtext-frontend=true" ];
 
   postInstall = ''
     wrapProgram $out/bin/hexchat --prefix PYTHONPATH : "$PYTHONPATH"
diff --git a/nixpkgs/pkgs/applications/networking/irc/ii/default.nix b/nixpkgs/pkgs/applications/networking/irc/ii/default.nix
index 18a9a8882fac..e39f7b75bb5d 100644
--- a/nixpkgs/pkgs/applications/networking/irc/ii/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/ii/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ii";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchurl {
     url = "https://dl.suckless.org/tools/${pname}-${version}.tar.gz";
-    sha256 = "1lk8vjl7i8dcjh4jkg8h8bkapcbs465sy8g9c0chfqsywbmf3ndr";
+    sha256 = "sha256-hQyzI7WD0mG1G9qZk+5zMzQ1Ko5soeLwK1fBVL9WjBc=";
   };
 
   makeFlags = [ "CC:=$(CC)" ];
diff --git a/nixpkgs/pkgs/applications/networking/irc/irssi/default.nix b/nixpkgs/pkgs/applications/networking/irc/irssi/default.nix
index 7a4fc703dd77..8dbd2cd73ee4 100644
--- a/nixpkgs/pkgs/applications/networking/irc/irssi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,17 +1,27 @@
-{ lib, stdenv, fetchurl, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }:
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr, git }:
 
 stdenv.mkDerivation rec {
   pname = "irssi";
   version = "1.2.3";
 
-  src = fetchurl {
-    url = "https://github.com/irssi/irssi/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "09cwz5ff1i5lp35qhhmw6kbw5dwcn9pl16gpzkc92xg5sx3bgjr9";
+
+  src = fetchFromGitHub {
+    "owner" = "irssi";
+    "repo" = "irssi";
+    "rev" = "91dc3e4dfa1a9558c5a7fe0ea982cb9df0e2de65";
+    "sha256" = "efnE4vuDd7TnOBxMPduiV0/nez1jVhTjbJ0vzN4ZMcg=";
+    "leaveDotGit" = true;
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoconf automake libtool git ];
   buildInputs = [ ncurses glib openssl perl libintl libgcrypt libotr ];
 
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+
   configureFlags = [
     "--with-proxy"
     "--with-bot"
diff --git a/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix b/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix
index df59ddec6a90..a3ee4e4ab9c7 100644
--- a/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/irssi/fish/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    tar xf ${irssi.src}
+    cp -a "${irssi.src}" "./${irssi.name}"
     configureFlags="$configureFlags --with-irssi-source=`pwd`/${irssi.name}"
 
     ./regen.sh
diff --git a/nixpkgs/pkgs/applications/networking/irc/kirc/default.nix b/nixpkgs/pkgs/applications/networking/irc/kirc/default.nix
index c4f63613fc57..08823cab5735 100644
--- a/nixpkgs/pkgs/applications/networking/irc/kirc/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/kirc/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kirc";
-  version = "0.2.7";
+  version = "0.2.9";
 
   src = fetchFromGitHub {
     owner = "mcpcpc";
     repo = pname;
     rev = version;
-    hash = "sha256-iaqj4xB15DB3w/RaiCOMdAu8eONhTw1Dz0j5kykAHV4=";
+    hash = "sha256-KRCVjz59SHjk86VgfGxYKk/Ti3o77dV7fdRu9mB3FSo=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/applications/networking/irc/quassel/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch b/nixpkgs/pkgs/applications/networking/irc/quassel/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch
deleted file mode 100644
index 6c40dc8dd895..000000000000
--- a/nixpkgs/pkgs/applications/networking/irc/quassel/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From ac9387271b2420a71f7d172f44354fc35adac504 Mon Sep 17 00:00:00 2001
-From: Manuel Nickschas <sputnick@quassel-irc.org>
-Date: Tue, 7 Jan 2020 18:34:54 +0100
-Subject: [PATCH] common: Disable enum type stream operators for Qt >= 5.14
-
-Starting from version 5.14, Qt provides stream operators for enum
-types, which collide with the ones we ship in types.h. Disable
-Quassel's stream operators when compiling against Qt 5.14 or later.
-
-(cherry-picked from 579e559a6322209df7cd51c34801fecff5fe734b)
----
- src/common/types.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/common/types.h b/src/common/types.h
-index 467d9fb2..c4b9f364 100644
---- a/src/common/types.h
-+++ b/src/common/types.h
-@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
- typedef QList<MsgId> MsgIdList;
- typedef QList<BufferId> BufferIdList;
- 
-+#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
- /**
-  * Catch-all stream serialization operator for enum types.
-  *
-@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) {
-     value = static_cast<T>(v);
-     return in;
- }
-+#endif
- 
- // Exceptions
- 
--- 
-2.26.2
-
diff --git a/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix b/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
index 44e7fb853601..d218f114143f 100644
--- a/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/quassel/default.nix
@@ -5,7 +5,7 @@
 , static ? false # link statically
 
 , lib, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
-, mkDerivation, qtbase, qtscript
+, mkDerivation, qtbase, boost, zlib, qtscript
 , phonon, libdbusmenu, qca-qt5
 
 , withKDE ? true # enable KDE integration
@@ -33,27 +33,21 @@ let
 
 in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
   pname = "quassel${tag}";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "quassel";
     repo = "quassel";
     rev = version;
-    sha256 = "0z8p7iv90yrrjbh31cyxhpr6hsynfmi23rlayn7p2f6ki5az7yc3";
+    sha256 = "sha256-eulhNcyCmy9ryietOhT2yVJeJH+MMZRbTUo2XuTy9qU=";
   };
 
-  patches = [
-    # fixes build with Qt 5.14
-    # source: https://github.com/quassel/quassel/pull/518/commits/8a46d983fc99204711cdff1e4c542e272fef45b9
-    ./0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch
-  ];
-
   # Prevent ``undefined reference to `qt_version_tag''' in SSL check
   NIX_CFLAGS_COMPILE = "-DQT_NO_VERSION_TAGGING=1";
 
   nativeBuildInputs = [ cmake makeWrapper ];
-  buildInputs = [ qtbase ]
-    ++ lib.optionals buildCore [qtscript qca-qt5]
+  buildInputs = [ qtbase boost zlib ]
+    ++ lib.optionals buildCore [qtscript qca-qt5 ]
     ++ lib.optionals buildClient [libdbusmenu phonon]
     ++ lib.optionals (buildClient && withKDE) [
       extra-cmake-modules kconfigwidgets kcoreaddons
diff --git a/nixpkgs/pkgs/applications/networking/irc/senpai/default.nix b/nixpkgs/pkgs/applications/networking/irc/senpai/default.nix
index bd660660e462..0fc0284a183e 100644
--- a/nixpkgs/pkgs/applications/networking/irc/senpai/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/senpai/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "senpai";
-  version = "unstable-2021-11-29";
+  version = "unstable-2021-12-14";
 
   src = fetchFromSourcehut {
     owner = "~taiite";
     repo = "senpai";
-    rev = "3904c9190d94f273c0ae9937d3161b9fe4adf856";
-    sha256 = "sha256-4ZhJuAxcoGjRO5xVqzlmaUvipnyiFMuJ1A3n8vlhYxU=";
+    rev = "8091752a67781273944e7a79a803b7a671378313";
+    sha256 = "sha256-tZp0ra/Sq/5MAFlAFHPJ94jYxtHbDiG1wSD4NOH1x7I=";
   };
 
   vendorSha256 = "sha256-xkJh7k8GZmoZqE0HgbFp2xMJQOVDkPEXOZEl6bJZz1A=";
diff --git a/nixpkgs/pkgs/applications/networking/irc/srain/default.nix b/nixpkgs/pkgs/applications/networking/irc/srain/default.nix
index 8cac8e144b85..2fb6fed15ca8 100644
--- a/nixpkgs/pkgs/applications/networking/irc/srain/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/irc/wraith/configure.patch b/nixpkgs/pkgs/applications/networking/irc/wraith/configure.patch
index e5fa2feb2019..16e65be00a25 100644
--- a/nixpkgs/pkgs/applications/networking/irc/wraith/configure.patch
+++ b/nixpkgs/pkgs/applications/networking/irc/wraith/configure.patch
@@ -1,8 +1,8 @@
 --- a/configure
 +++ b/configure
-@@ -6029,53 +6029,8 @@
+@@ -6143,53 +6143,8 @@ rm -f confcache
+ #AC_CHECK_HEADERS(openssl/ssl.h openssl/crypto.h)
  #AC_CHECK_HEADERS(zlib.h)
- #EGG_CHECK_ZLIB
  
 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for path to OpenSSL" >&5
 -$as_echo_n "checking for path to OpenSSL... " >&6; }
diff --git a/nixpkgs/pkgs/applications/networking/irc/wraith/default.nix b/nixpkgs/pkgs/applications/networking/irc/wraith/default.nix
index 3b1fa79aa266..30aec18c107f 100644
--- a/nixpkgs/pkgs/applications/networking/irc/wraith/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/wraith/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "wraith";
-  version = "1.4.7";
+  version = "1.4.10";
   src = fetchurl {
     url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz";
-    sha256 = "0h6liac5y7im0jfm2sj18mibvib7d1l727fjs82irsjj1v9kif3j";
+    sha256 = "1h8159g6wh1hi69cnhqkgwwwa95fa6z1zrzjl219mynbf6vjjzkw";
   };
   hardeningDisable = [ "format" ];
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/applications/networking/irc/wraith/dlopen.patch b/nixpkgs/pkgs/applications/networking/irc/wraith/dlopen.patch
index bfc854ef9e9c..5bf11eb72692 100644
--- a/nixpkgs/pkgs/applications/networking/irc/wraith/dlopen.patch
+++ b/nixpkgs/pkgs/applications/networking/irc/wraith/dlopen.patch
@@ -1,15 +1,15 @@
 diff --git a/src/libcrypto.cc b/src/libcrypto.cc
-index 0339258..68746c8 100644
+index 5139f66..517103f 100644
 --- a/src/libcrypto.cc
 +++ b/src/libcrypto.cc
-@@ -95,17 +95,9 @@ int load_libcrypto() {
+@@ -100,17 +100,9 @@ int load_libcrypto() {
    }
  
    sdprintf("Loading libcrypto");
 +  dlerror(); // Clear Errors
 +  libcrypto_handle = dlopen("@openssl@/lib/libcrypto.so", RTLD_LAZY|RTLD_GLOBAL);
  
--  bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.0.9.8 libcrypto.so.7 libcrypto.so.6").split(' '));
+-  bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.1.1 libcrypto.so.1.0.0 libcrypto.so.0.9.8 libcrypto.so.10 libcrypto.so.9 libcrypto.so.8 libcrypto.so.7 libcrypto.so.6").split(' '));
 -
 -  for (size_t i = 0; i < libs_list.length(); ++i) {
 -    dlerror(); // Clear Errors
@@ -23,17 +23,17 @@ index 0339258..68746c8 100644
      fprintf(stderr, STR("Unable to find libcrypto\n"));
      return(1);
 diff --git a/src/libssl.cc b/src/libssl.cc
-index b432c7b..8940998 100644
+index 6010abc..86e29fc 100644
 --- a/src/libssl.cc
 +++ b/src/libssl.cc
-@@ -68,17 +68,9 @@ int load_libssl() {
+@@ -78,17 +78,9 @@ int load_libssl() {
    }
  
    sdprintf("Loading libssl");
 +  dlerror(); // Clear Errors
 +  libssl_handle = dlopen("@openssl@/lib/libssl.so", RTLD_LAZY);
  
--  bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.0.9.8 libssl.so.7 libssl.so.6").split(' '));
+-  bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.1.1 libssl.so.1.0.0 libssl.so.0.9.8 libssl.so.10 libssl.so.9 libssl.so.8 libssl.so.7 libssl.so.6").split(' '));
 -
 -  for (size_t i = 0; i < libs_list.length(); ++i) {
 -    dlerror(); // Clear Errors
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix
index 5ab0bfd8030d..172cea3d061d 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.6.0";
+  version = "0.7.1";
 
   src = fetchFromSourcehut {
     owner = "~rjarry";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RaHigTp1YGkjQ46gFLhKcJuajekcCgfozu0ndCNq5Ac=";
+    sha256 = "sha256-wiylBBqnivDnMUyCg3Zateu4jcjicTfrQFALT8dg5No=";
   };
 
-  runVend = true;
-  vendorSha256 = "sha256-A2MZzTYzGuZLFENn9OBIBBreJan+b3RKOEu5bQcDwS8=";
+  proxyVendor = true;
+  vendorSha256 = "sha256-hpGd78PWk3tIwB+TPmPy0gKkU8+t5NTm9RzPuLae+Fk=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
index 2e6c8cf02368..d0050f73759d 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
@@ -40,6 +40,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/afewmail/afew";
     description = "An initial tagging script for notmuch mail";
     license = licenses.isc;
-    maintainers = with maintainers; [ andir flokli ];
+    maintainers = with maintainers; [ flokli ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/alot/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/alot/default.nix
new file mode 100644
index 000000000000..3d09711fb3cc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/alot/default.nix
@@ -0,0 +1,103 @@
+{ lib
+, python3
+, fetchFromGitHub
+, file
+, gnupg
+, gawk
+, notmuch
+, procps
+, withManpage ? false
+}:
+
+with python3.pkgs;
+let
+  notmuch2 = callPackage ./notmuch.nix {
+    inherit notmuch;
+  };
+in
+buildPythonApplication rec {
+  pname = "alot";
+  version = "0.10";
+
+  outputs = [
+    "out"
+  ] ++ lib.optional withManpage [
+    "man"
+  ];
+
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "pazz";
+    repo = "alot";
+    rev = version;
+    sha256 = "sha256-1reAq8X9VwaaZDY5UfvcFzHDKd71J88CqJgH3+ANjis=";
+  };
+
+  postPatch = ''
+    substituteInPlace alot/settings/manager.py \
+      --replace /usr/share "$out/share"
+  '';
+
+  nativeBuildInputs = lib.optional withManpage sphinx;
+
+  propagatedBuildInputs = [
+    configobj
+    file
+    gpgme
+    notmuch2
+    python_magic
+    service-identity
+    twisted
+    urwid
+    urwidtrees
+  ];
+
+  checkInputs = [
+    future
+    gawk
+    gnupg
+    mock
+    procps
+    pytestCheckHook
+  ];
+
+  postBuild = lib.optionalString withManpage [
+    "make -C docs man"
+  ];
+
+  disabledTests = [
+    # Some twisted tests need internet access
+    "test_env_set"
+    "test_no_spawn_no_stdin_attached"
+    # DatabaseLockedError
+    "test_save_named_query"
+  ];
+
+  postInstall =
+    let
+      completionPython = python.withPackages (ps: [ ps.configobj ]);
+    in
+    lib.optionalString withManpage ''
+      mkdir -p $out/man
+      cp -r docs/build/man $out/man
+    ''
+    + ''
+      mkdir -p $out/share/{applications,alot}
+      cp -r extra/themes $out/share/alot
+
+      substituteInPlace extra/completion/alot-completion.zsh \
+        --replace "python3" "${completionPython.interpreter}"
+      install -D extra/completion/alot-completion.zsh $out/share/zsh/site-functions/_alot
+
+      sed "s,/usr/bin,$out/bin,g" extra/alot.desktop > $out/share/applications/alot.desktop
+    '';
+
+  meta = with lib; {
+    homepage = "https://github.com/pazz/alot";
+    description = "Terminal MUA using notmuch mail";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ milibopp ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/notmuch/2.nix b/nixpkgs/pkgs/applications/networking/mailreaders/alot/notmuch.nix
index bd195b52d44e..bd195b52d44e 100644
--- a/nixpkgs/pkgs/development/python-modules/notmuch/2.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/alot/notmuch.nix
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
index 432544c60c6c..246d666df308 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-ews";
-  version = "3.42.1";
+  version = "3.42.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "nCvGMSfDS0GUQfF8zomVq+gKf9H72X896zptRy9/Xy0=";
+    sha256 = "qgi2ycWlzY4PaiEMHu0Rd3bN2aqFcLtxkII1MzZXls4=";
   };
 
   nativeBuildInputs = [ cmake gettext intltool pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index 3ccf066831c1..9aac3db3594c 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -42,11 +42,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.42.2";
+  version = "3.42.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "C+QT8W3WjsjUNCpPJpVlryp0oZpb+hxcv2Y1I6W1ujg=";
+    sha256 = "+oprem1GsinbXfIv3nZCVFIjV/4b7NexjlNt/piJCmU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix
index b2ec2a743f3d..c039febb6d7c 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/hasmail/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     sha256 = "1p6kwa5xk1mb1fkkxz1b5rcyp5kb4zc8nfif1gk6fab6wbdj9ia1";
   };
 
-  vendorSha256 = "0sblgjmn3i3k31jfq5zy3bx7bv5z2cg6rjzr7aj87c57yhzzcmk7";
+  vendorSha256 = "129hvr8qh5mxj6mzg7793p5jsi4jmsm96f63j7r8wn544yq8sqci";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/himalaya/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/himalaya/default.nix
index 33c1cc63a7f9..4e70facb5f18 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/himalaya/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/himalaya/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "himalaya";
-  version = "0.5.1";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "soywod";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BmV4kekl0QDbX/ueSrWM5jRvqr6WQeZIs7hiXhiHBSI=";
+    sha256 = "sha256-BZTecYNY8gbGe+r80QWi7FkC56dww9rrtwLfi9ya1mQ=";
   };
 
-  cargoSha256 = "sha256-lu5xVuAw9yTeQr3gpiW5g5bdm7Alf0YXmlbSkPaXhk0=";
+  cargoSha256 = "sha256-2xkKJqp7uf0gh8g2zzDjSl8foTvPj6MVHfDuSr914HU=";
 
   nativeBuildInputs = lib.optionals enableCompletions [ installShellFiles ]
     ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mailpile/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mailpile/default.nix
deleted file mode 100644
index cab43750a56e..000000000000
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib, fetchFromGitHub, python2Packages, gnupg1orig, openssl, git }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "mailpile";
-  version = "1.0.0rc2";
-
-  src = fetchFromGitHub {
-    owner = "mailpile";
-    repo = "Mailpile";
-    rev = version;
-    sha256 = "1z5psh00fjr8gnl4yjcl4m9ywfj24y1ffa2rfb5q8hq4ksjblbdj";
-  };
-
-  postPatch = ''
-    patchShebangs scripts
-  '';
-
-  nativeBuildInputs = with python2Packages; [ pbr git ];
-  PBR_VERSION=version;
-
-  propagatedBuildInputs = with python2Packages; [
-    appdirs
-    cryptography
-    fasteners
-    gnupg1orig
-    jinja2
-    pgpdump
-    pillow
-    python2Packages.lxml
-    spambayes
-  ];
-
-  postInstall = ''
-    wrapProgram $out/bin/mailpile \
-      --prefix PATH ":" "${lib.makeBinPath [ gnupg1orig openssl ]}" \
-      --set-default MAILPILE_SHARED "$out/share/mailpile"
-  '';
-
-  # No tests were found
-  doCheck = false;
-
-  meta = with lib; {
-    description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
-    homepage = "https://www.mailpile.is/";
-    license = [ licenses.asl20 licenses.agpl3 ];
-    platforms = platforms.linux;
-    maintainers = [ ];
-    knownVulnerabilities = [
-      "Numerous and uncounted, upstream has requested we not package it. See more: https://github.com/NixOS/nixpkgs/pull/23058#issuecomment-283515104"
-    ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix
index a3a6051ef0c0..f95439b2fb1b 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix
@@ -23,6 +23,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/flokli/mlarchive2maildir";
     description = "Imports mail from (pipermail) archives into a maildir";
     license = licenses.mit;
-    maintainers = with maintainers; [ andir flokli ];
+    maintainers = with maintainers; [ flokli ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
index 98298d854d5f..af05bfe884c3 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
index df5c9de29d17..184804a87888 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -2,20 +2,23 @@
 , 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.1";
+  version = "0.35";
 
   src = fetchurl {
     url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
-    sha256 = "05nq64gp8vnrwrl22d60v7ixgdhm9339ajhcdfkq0ll1qiycyyj5";
+    sha256 = "0fdc81m24xrbhfrhw00g12ak4b8hap4961sq7ap6q2pjqhac8cd8";
   };
 
   nativeBuildInputs = [
@@ -24,15 +27,15 @@ stdenv.mkDerivation rec {
     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/
@@ -51,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
@@ -59,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 {
@@ -82,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/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index b3ecb27dfb29..eb708962e010 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,655 +1,655 @@
 {
-  version = "91.4.1";
+  version = "91.6.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/af/thunderbird-91.4.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 = "7af2c19b46daf1869af49289c1ab080559f8640c6dfc21cdae1ff48cdc26bf1f";
+      sha256 = "b0d36d12bb29897b4502fe28fd5d05117b8cf3c6f2a8f9a0a88542b915587cda";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ar/thunderbird-91.4.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 = "dfabb7336f9b5929041c43997ad7ac34fca0750d70293dacdc32f9048de2fc7d";
+      sha256 = "26c86b4a73085d1b2b08e73a9adb1a2e8148fce1c8b27f3b1f9566fb72269361";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ast/thunderbird-91.4.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 = "3aade12867be4da3fb890214a7cd8551e12e962fb2a66b7e76da20a06755d045";
+      sha256 = "f0ffeb6273b2c748cdeb2b6e73e17848c6c1b583ee0dfae1ec7eda8b295bef09";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/be/thunderbird-91.4.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 = "8bb288330b957d8361880738b7d5e5833602dd81aad580a96f1031e88bd963f4";
+      sha256 = "b55b54e87b28329d717023397d42d162299bf89dc47b6db5910b57263b377645";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/bg/thunderbird-91.4.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 = "fcd8bbef82a24b146f4473da351cbd5262f8286d5b7ea78265516e815c7c84da";
+      sha256 = "93d99a4eebf65152ffede2b86f94f0bb4a626c0a0b0925514e529785b717ec21";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/br/thunderbird-91.4.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 = "c1d331f6621fc120076d49015046f22ff898b089af8cac5226491bbe82391b9a";
+      sha256 = "944395c06dbc26d14add54d6e9e990496179ee0e956d585d84246e90d3a5a058";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ca/thunderbird-91.4.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 = "7b2a63bd30d1e47db16f64ea077623dfca965d71b2aa7f7ce56f8940a2f59301";
+      sha256 = "426f1f2b8c3849e60e1e88e74f33c1bc51f8de3007fbbf9d58c0c477e7c4d0f2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/cak/thunderbird-91.4.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 = "f22de3c4bc4237610e7826ed6d46f84f8a02d5370e7d0675932abd98ee24256e";
+      sha256 = "04baa09f4f28e62057cb4a62981f916c820a82be5c7418367be67a5f1f180dff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/cs/thunderbird-91.4.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 = "8dd685427622c1bc710d8056e527d5766f7e5f0c47ca7e170b8e48ed01e8c5a5";
+      sha256 = "d724b84ac07ec0dd8f81b790f4baf58c2d81f9d1e8aa121fe379aa968fd7c78a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/cy/thunderbird-91.4.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 = "d98ebd1787b29a6ee785a4b7cfaa2283b836f23214c3c27d4fbb3e7154c1e9e5";
+      sha256 = "bde7231dda570182a0c4e73645025aad818be321bea0c0425dddb275b28d438c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/da/thunderbird-91.4.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 = "202729a6f4813bb3760a5ae834731a019593dbcd5d66173999f5cbbedf277f00";
+      sha256 = "b671d892a013f551ce32c3ee98d956227561a9ad9f168095521f8be1899bd1fe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/de/thunderbird-91.4.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 = "c035ce2cb81b7083d0c6fc859ee259afce5440bc8f2c8e1ca1db02ce97f0b237";
+      sha256 = "cca775ff187ab71db985c031ff08d906fcfba2aa2aa25ad204f1223c94ee1fd8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/dsb/thunderbird-91.4.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 = "413eda01d4390e41f6d859def75c5972c4595b453fc9da948415e8e38f4766c0";
+      sha256 = "19bd301bb47874abaece776961e85b277ae02cfe772c11f62b731d19c3d87b39";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/el/thunderbird-91.4.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 = "b238ee1b8dbf54ab0aa4c6f23a646e037a48e31d77749698744dc122bf38608a";
+      sha256 = "40f279167634c0903f60297a76ce483a34233110c34d50d01fdd976f65337e41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/en-CA/thunderbird-91.4.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 = "4ef51ab9fdcd3c6ab1323a402253f5cd8682fa100f3b05fa62bf1153bbc04c28";
+      sha256 = "41ac7d58a099e68cf87f604d77e8fa844e48264b52409b9f8637fc777d15bdad";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/en-GB/thunderbird-91.4.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 = "3ee22d3b5c23bfba703d36e58185ef139ccfa923c1877f983fed90419e7fdf8b";
+      sha256 = "e20e547b074816931fce3cffe04eb7b9690439f047b2154d2f0d36b7eda9071e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/en-US/thunderbird-91.4.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 = "6bd3bbcf3d92efe04b19bb45c0d9ac3abe8dd68fc84e255b76467b37ea5918b1";
+      sha256 = "08e963292b4e63be2dad7a24eb125bca484107b05856dcebf98ceddaf47f1e87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/es-AR/thunderbird-91.4.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 = "14b7fac461e90c4dd1790f6095e291e1ba510561d51655b16bda4ad7050dca8e";
+      sha256 = "23775b4446630146d6e6c34760cbb9c155a21bfa759d6b18135fe28e80459c7f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/es-ES/thunderbird-91.4.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 = "ee910bc3415e314d5f3b072608d61089ae55e969a138ee446377edf0e5ba710a";
+      sha256 = "0ba964ad2cc0d86b12e8498ccfd374931d0e26fb163994704aae622a420bffe8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/et/thunderbird-91.4.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 = "a643d96e71123c554a8af69bc875515113ffd30ab621d5f3b5678c33931cfab0";
+      sha256 = "94a73f46e5e2e9672a0c54a4a445c5a24a60924e45d57218a0c5a3eda7437091";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/eu/thunderbird-91.4.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 = "b910976d8e940331d46ac92f82f56aff61f8d91137bae9c869715cb371309f9e";
+      sha256 = "3fed5e7cc72572e7a71f2916ac1750b40c0896d7786bfb76a49679d15ac07031";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/fi/thunderbird-91.4.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 = "a8dd93299fde700cf1419187da06405093b3f010e7fdd327742fbddcef1721a0";
+      sha256 = "b7e233e744afd3569748013d091f57fbb8339e1cefd328d1808cccd0abd9f7c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/fr/thunderbird-91.4.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 = "526f4f4feae5f6a0b9f1d80b0f76a7f26af7456e1eb09e36eadd51fc8d4115ed";
+      sha256 = "1066814d16f3de8e0a6b0aad4ecbc078bc4e76a5daad8173d7a0af1986fc49ba";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/fy-NL/thunderbird-91.4.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 = "df5320f98ecd32439273b18237a742c34590e5b533a7da9471cfd37921725108";
+      sha256 = "eeb7f557ac32ab426c5843061c1fa394671328794f9b0d5313351768ea020fa1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ga-IE/thunderbird-91.4.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 = "c13529036ec2186e0e3088f63e351086bee21b0f8a3479586420c6a2701ee8f1";
+      sha256 = "8c1adead3a4c715cd2e6ebd7d23a086a6bb5308cb8620e35aeef151c3a25ad40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/gd/thunderbird-91.4.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 = "f6c2c7cf6c8a39997e272d9aae5c7ab4620f426e2be96b4e90c3641db672a6ea";
+      sha256 = "23db6bd6aded7d7424c2c0b5a5c9da938b504b517297b535d0eee907c20ff921";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/gl/thunderbird-91.4.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 = "ba0d17f99ca15bc81631201057509694c5dc656176a03e67d5f89371a4200eda";
+      sha256 = "10483ac92240dd7f1a4cc25dfae74291ef3546ff36b51205bcb3fa2af2e97489";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/he/thunderbird-91.4.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 = "c71bf27c55ad5b6c7981a434d598eeab8a927dbfc0510d4d68df357cb1abff9f";
+      sha256 = "211c4f58cd5553da8933386c4b1a7847f61df83212228f3ec4ef807a2115f220";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/hr/thunderbird-91.4.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 = "9cf92e922329ec46ed68f352284de30c78aa2d25f040da4e1289d5ea0226bc3a";
+      sha256 = "3b71a6ab9df2a45c15342f241cb63f323170f692d204e9a98f9772f6e50809f4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/hsb/thunderbird-91.4.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 = "e4d6baa0d92fbe7f40071045fcdb20f59944a0c1422c1095b946019461013242";
+      sha256 = "0603f34c825bee5e813fb63c5f1060e5de31ab89d12abe4259f5f2c56f880e65";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/hu/thunderbird-91.4.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 = "cea2f9b614e0b7cec709947ff75b9eb6abe6600b76d642b60910e2de1788f09b";
+      sha256 = "64db18fb3477198f696cbf8d100b45abb2cf74abc960c90143abad224fe56e48";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/hy-AM/thunderbird-91.4.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 = "8708acca6f1e4088f10f94f8c26a7790913fe55acbf0ab555e22b1256b74a866";
+      sha256 = "ec3064d387558c56e80965fc87a73c19ae530802ffff3f0cd35e7026f76655e3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/id/thunderbird-91.4.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 = "745ecb2038a84b1571e326ed0e6d38e7519bcf5b7f2bacf6ef053c9a88926c77";
+      sha256 = "a7635897857f1c4bc86b9208ecbfa983a80a889a24274ce2c41d1fd401163230";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/is/thunderbird-91.4.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 = "e04b6fc88ddd46e6e6cbe47eb681acce91b47df355847f65e793d92419dc4204";
+      sha256 = "310cae89c6a62b5a9cf19a81622395b1d9d2de1670dfb9542d8465fd2bebe3a6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/it/thunderbird-91.4.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 = "e23eb2075bcac5abc195b1abffe64b8e1a409c855699c6d5bcbd102c19a2ad4b";
+      sha256 = "826223383cfd0ed931f0df19100ec24e22c5ed6eabb71ebee2663a4199368fd5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ja/thunderbird-91.4.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 = "a79711803c46b6ab95f654d5b9dffafe85733b6c839238de8f76d30f9757553c";
+      sha256 = "a62b2d76c228d54a00dcb81931a010369ab5cb5f7e5d5601fa74076431ec39c9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ka/thunderbird-91.4.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 = "3076defee6dadfad4560800ecf2b3556fcf8f4dd5a8795bb578ee73bbbccf72f";
+      sha256 = "2e7b571096baa8d4d68eec97f25197b7504ef0e196bb711344180f4324b260e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/kab/thunderbird-91.4.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 = "65f796d71d02118794b79d5460ef9db06e3d172e5d15ff350eff52cc214587dc";
+      sha256 = "378de38b2393987fcbd22057c64c581365ddff6239d8055ac631df9903df4ed4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/kk/thunderbird-91.4.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 = "f8df25990df8b577e224551f1af44fb87c867b7d7622931214bbceeec3699646";
+      sha256 = "51e8c5d832f8deb27d962ef175cd2bf6ea66fd8c0a24b7c647d4d98d524c3bef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ko/thunderbird-91.4.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 = "77d6e16972f9ddb553d9bd19627a0725d25d42a0ad6d1e665d249b094b137dc9";
+      sha256 = "a63cf39f84cab3c6a6164a6c62ace5aab948ab71d8934f5869cd2290851c17ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/lt/thunderbird-91.4.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 = "208eb06ba9e8b1cd391a7694552af6e7ba3ead33567d51fda82d70e024378f56";
+      sha256 = "1d44efdae4a299d57c1ab4769fccc5326e85b95cb2078332aadde3a3d0d72c7a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/lv/thunderbird-91.4.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 = "a4a85c3f969dc40149ad82d0dbc4e1089de67ba3c6d7495f5c45196e8c7083a8";
+      sha256 = "cc8e4b043ae003d43240df52eed2b3b3a16cc09e963c6bc768d672e6dcb59022";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ms/thunderbird-91.4.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 = "e5f3259e002b31d9a2738ad81826d59dd464aa34532441e9092e976efe8be7b4";
+      sha256 = "8b64d50a219467347cbe02e237fc1f5473a9d86d8b29fa0cfaa5c423c7265db3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/nb-NO/thunderbird-91.4.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 = "33fa29d2490c7618d1f9bbaceb34b898d150e57fc9b96b957a5b348b6fe47cfc";
+      sha256 = "71256fe14843fc5c3026dc17d39d9f10b0dcb5ebe0d1769740397db45164e8fe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/nl/thunderbird-91.4.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 = "726962fd26948726230b49736f2d1e6c6daa562a4389e0fa0069ab737304cbac";
+      sha256 = "6cc1efd14f8fdfde047ac8245fcbd42cc6829d4973fadad43e5113d95c2334af";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/nn-NO/thunderbird-91.4.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 = "09bab6f8061400413e7167693e4c2f14caa4aba0ac68c7cfeaf9ed2dfa44ea0a";
+      sha256 = "efcf3519eed57080c022d8ea3e45bb50cb302d6eead93b2e50d3e6d69635b1db";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/pa-IN/thunderbird-91.4.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 = "2203476872b140a1fec867435bf1a006b63a7ffc018eb466ea164597474a2083";
+      sha256 = "69e27e7a1e7534b6903f3e6a1248b8d62617dbeda0051453f78ebe68bd0e978c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/pl/thunderbird-91.4.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 = "3cc4fa964b4deaef9d901fd9fba597059f638b1b8322515ac02cbb97f5a5c28b";
+      sha256 = "8903c2302e4ec1a77076cf51a770861738793d4f5ec87faa87da922f1be2d620";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/pt-BR/thunderbird-91.4.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 = "c68055c96551a1b529bdf81659231ec5244c4c68255d88f581c378046bbb5e84";
+      sha256 = "558adf768654a03738f755b765a2c6c3aad514ffbe532b4e47c0d94cd9dfd262";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/pt-PT/thunderbird-91.4.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 = "36c9b2170aff5e6f58377efd53f679e9e823f45b67d7407cb3c34d72f676625a";
+      sha256 = "2fb3c682ee289e2bdf1263b5c32f38e31090d742b108b373befb3f093d655e30";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/rm/thunderbird-91.4.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 = "2f00df17c29128e2b135136fe700930ff0078e8896e1cb4f7c34b44af0cfd8f2";
+      sha256 = "9e489ce3861ee17a2ee145ed5edb1c0b2c0c3f1446f6fb64081ac623f381ef1d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ro/thunderbird-91.4.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 = "ed93041b32a711e04de6737c5d6fbcf6b598ca9eccefe5ab0e02cf3cacba5ffa";
+      sha256 = "4bf6b617ea7d4a2ebe81a73c09e24cd1e1bb360ca501a4f139c99a84d1492005";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/ru/thunderbird-91.4.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 = "206ccfcb5d6a9d70f4258ddeff0cc79c38e801d860a05bf6214c03b24e2f9057";
+      sha256 = "fd88dd41fd4c93d829c6e44d2d88092652827ed08121c6ba25cd410082cf4991";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/sk/thunderbird-91.4.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 = "aa8e6dd53d5b741bee345d1f7a5b03866121619f54993233cb4239c6107eb3e6";
+      sha256 = "53b6fa462a3057e9eec72f75d698631486514839bdf30f6388f9749848846462";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/sl/thunderbird-91.4.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 = "95f3a97adc32abb33c0a7579c19247595f6f27c7da0cf06bf1fa9d8270b41996";
+      sha256 = "cebe056640e0589c8f4ff029aa74f1666b1a0faeb742f356b74e07b2b0998e39";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/sq/thunderbird-91.4.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 = "fe8255e55081a6cae15085cfcf793c4094de55a2b12d3732c7e75ce567b85716";
+      sha256 = "9f1bf49edf710455bcf23cd6c14618518ae4b07a75d259e2cc821d5c85c0e0aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/sr/thunderbird-91.4.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 = "f889e1ff38542aae19d6ebaf827a2c6d6f8dbd6e16a80966bc311588e4e10ffc";
+      sha256 = "f287d6abde4537dffa599c54910bda7e0f90596f931d88921d0d3248c941166a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/sv-SE/thunderbird-91.4.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 = "2f90c95bbdcb6bfd59cee40013cc1c498e50f5cc0209799dfe1dfc57afbc37ad";
+      sha256 = "02952a1f2d47394b4a8ce06af67a1058822c47660f69d606e719f215205709d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/th/thunderbird-91.4.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 = "3fa19fef25c76f49f9e6ee9edc2f24cd02c2b589b8e2cea270f4aa71f1a1a621";
+      sha256 = "8cec77f0fd16e9ab2b316ba884c26f35dbe15694e22e02ecd27d3caec68970bc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/tr/thunderbird-91.4.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 = "7de3ccbe109401dab260ed1c8ae9fc360e5392c81111df930d0c7f7d46211f83";
+      sha256 = "aa66efd16a8e5328e20052676d0e06f3ede903a88262c4b01ff0a78ec013f9cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/uk/thunderbird-91.4.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 = "967020d05810d1514be84635cb56162b83f7f28a2bea221ad21ecb4ebd960968";
+      sha256 = "23d654a7755a846b2354c392a6d86f0794f126425e64a19af7c1f047bd758cae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/uz/thunderbird-91.4.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 = "371d60bc164552f04cf680a29af5992f1ac353e8bb30af62a5cdadf744576c71";
+      sha256 = "c97b2d05e7043ba438f313569bb6165fd106b9f2351478549a6de5467f980280";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/vi/thunderbird-91.4.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 = "600cc9d18a18ebc13bd8371140b573723b913e100937b3bb22ab04cf7846e1e7";
+      sha256 = "0c4341944eeb0d6724dbabda5dc68796cf40034dffed1d0af2d942af5eb242f2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/zh-CN/thunderbird-91.4.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 = "ae59930a4c609e4ce0562338019db1202c3eafc2e3dabd90888076ece4fe8ee5";
+      sha256 = "86bb80438e4e729faaf57a3b5651b936647ec6ff58c78e263011e242d7e41fbe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-x86_64/zh-TW/thunderbird-91.4.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 = "2cd58c1fb54b572e6a2f63b9881f53ee65d9992d75c0905ea2e1047afabd08a9";
+      sha256 = "733ec3383204fff674456bdda36f7088e32914fceaa62fa6a98768e9ecbef321";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/af/thunderbird-91.4.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 = "bbf9e3a8856f66ed2d263b05d5520a9be26719f45380a5f29e6cf27c891c3e23";
+      sha256 = "3c8f1f172919ef3c5327bf337a49ed428f6581e3dc6f3ed69c7f6268cf8f4fea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ar/thunderbird-91.4.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 = "0df457c90aedef53adca7dafe34dc95847b77603362b27f814f4e88d40311ccb";
+      sha256 = "e938549a5be6c8f1dff66e330cc9e059a352ed9b539145a812838aeec2668bdf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ast/thunderbird-91.4.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 = "b97a3fc046dcd75e2703629e01abbe2c7a81bc98746fdd96ac195b2508e396b7";
+      sha256 = "a0d93d9f8c9ed659409f971ebecdd6134db8a4b954db9638b7a440c898adb0b3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/be/thunderbird-91.4.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 = "158495d87e2bc8c2b257d055fc9096580bbb7dcc126b3b83a4aa0f3deaae9cf7";
+      sha256 = "741da67fb46ef6e73196dec3f0c71ce1024e282421c6a8e111ffb9ba2a2a5014";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/bg/thunderbird-91.4.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 = "77497a922cd441a3ed791d6f497586b2d3b286a64cf057cf34b07e38b6c1f5f2";
+      sha256 = "afb8fac75b94957f60686c170bec9af438d04c4f42d259e80c07bb446c875aff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/br/thunderbird-91.4.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 = "862629fb07c7743a2bc909883ebe19347fea71fc91b8df927d846054ce2b1b08";
+      sha256 = "474656d25e48718b303b2d4463465bb7a272cadcabf6360adfaa7dd23c808c2b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ca/thunderbird-91.4.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 = "33ab06809f5982036b849aed5ec46d7271c217cb7330149f4783fd308c19ef46";
+      sha256 = "c2b4e38ea9810f10455c78de2d68a76655eb855ea8e3d55c895e6f8d5df84066";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/cak/thunderbird-91.4.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 = "6bd1cd49eb18ce7bb88e4e023063bf03e2c2078f7c3ccf0f1c477d712b4e67fb";
+      sha256 = "1da916a640b36c8e2f84e733dfa6b1cd4a7e90dc2367e56522ad3525d646712d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/cs/thunderbird-91.4.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 = "528aba25c407f52e728361e5174cb232f2583ef5ff62bf47386d4766f776566d";
+      sha256 = "f0ff0220167566300fb0913f58056ff81c5b70f2835830d325c1235caa468a99";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/cy/thunderbird-91.4.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 = "efd1490cd2a357c1d61d5225a8d1b1b9a61be5c25805b26496ea3ad946d4cbcc";
+      sha256 = "1b8e7ae9b27dab0872443a2b26733888d569765e6e72cfaea775d157273c8344";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/da/thunderbird-91.4.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 = "00e9e787a8bf21caebcd1b21889c5534d38d14d8eb2e10b297b320e71455910f";
+      sha256 = "79ae2ac91c0540e76578556c82bec7340baee79758ef0e157155aed8f1d68b3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/de/thunderbird-91.4.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 = "1c93e59e8d55ff671e630dc86091b1503b73e8b92f7bf0b6726d3b9829bfa8d1";
+      sha256 = "cf5096d178152abfcc5fbe7cd109722875d8d11575b526577e713a4efd28d226";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/dsb/thunderbird-91.4.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 = "d8de15bf2699fa44b82aab0872b966d20dae733b46404b03a1e8c41e28b2c4dd";
+      sha256 = "a650eda884498dd7d0e3dbd73cb1e9b020f10e690ce26d77ed654c0202f1d915";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/el/thunderbird-91.4.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 = "1ecb81092cd8bdae878792f2be7a32edc378d3691ca696bcfe3899e81ace7cd7";
+      sha256 = "be65c035956efd25246265fa102f934fc14794457fc110d815b140165c81fed9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/en-CA/thunderbird-91.4.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 = "68836e09adf5f9d2b5c9f3b96ed5b05f56931faa33bbb17c578436c13c5cc4ee";
+      sha256 = "dc906637f397a2ad86b72d8c4636b511263255327b3a92da5adc9d3444117311";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/en-GB/thunderbird-91.4.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 = "b20a74cc35abd3d066384f57b5d2f7a6a1dd24193b720fedce693d8b864058b6";
+      sha256 = "0f028e97594448ab058b839e3a4ab2f3aaefe79732512a4f193c53dc75c59e3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/en-US/thunderbird-91.4.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 = "8f3bffb289081a898f9e77c291ef1ce63af8c0e966894b54a3c533741b655aa9";
+      sha256 = "5f24ac86a2e91f4568d179529caf5254c3aff65593b3a79d25ef96d03211d0c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/es-AR/thunderbird-91.4.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 = "b1c26f4dd600995a88ad960f55fbf6026ad2ff93b94ac12af991440ada44a54a";
+      sha256 = "5c5a93460f61d7e8a7168c14a46ff24fdecbf67c06da0aab2b30602bd1a1ef51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/es-ES/thunderbird-91.4.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 = "a28fb5020e2e5a577958f4702cd3f15dadf4fcc62c3bfc954d5df3777ef4152a";
+      sha256 = "8ecf33158eda96155604583c57dccc55c7168abd8dc161e8801da0e7c7d24b40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/et/thunderbird-91.4.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 = "9a8fc8ba9df9aa179ca6b18d412ee0395c54ed3e2394d951c1cb85d4cb656808";
+      sha256 = "a0e3b7c8c095dd8c116630fec01f50fca6b07d83902a7a004d2f4b52b02536e2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/eu/thunderbird-91.4.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 = "56b10b3f9a824fbd91d1107db46e085b45d2c7d78a67a9eb8554afa7aab881a9";
+      sha256 = "e18f1f105a7e7a88410e749ed9e6e51685cbd6d9fd44f37c8146d333ba405274";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/fi/thunderbird-91.4.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 = "ef41d1f5a985f1bf98790f76cd9dc9cf8d02614b0d780c59f95fe30224678f02";
+      sha256 = "984c5d69ef752ae62b08e6615ca19384ff9b2a46167d17ad01e71bec48dd7996";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/fr/thunderbird-91.4.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 = "2af9a88a1bf2bc0932ef0131a53b2ab3fda256ceaf3e8f256e41f648153eea8f";
+      sha256 = "ae2fabdf55e587f3b57849ddd518bfac0035f5c0e1eaed585713f022fb50fcab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/fy-NL/thunderbird-91.4.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 = "3406057ce9f70c9f1a2efce979fd9b1bffa2ad7fe63bb90e541ea539a2eb071f";
+      sha256 = "a4abcd89e36fbdad7f2102142b0790f1223116b5a016bce6cffd59f5547b26e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ga-IE/thunderbird-91.4.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 = "ee6a8941da6093a7b342da1f124ab5d82cfc9ed288a7385c2ce33e5d95370fb6";
+      sha256 = "eff63f42237deb6ecaa60b940ec877e88827769346e14d55624ce3044fac1860";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/gd/thunderbird-91.4.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 = "9b57c51af6dbdb9c654e0fc96fe086c04f4dc482fa3528c9658261b9710bc229";
+      sha256 = "4399f90f6e28be1bfd68ef3273a4b11cb3a912394033a4ba4f0f722eceeb916e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/gl/thunderbird-91.4.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 = "d2d12a17334c0b74904fd5a64294c0ca86430d79ebd765d7118b3451cb361819";
+      sha256 = "be6a01476604cf120131724e0e5afc1951421baf489c231fd10115b947a56f41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/he/thunderbird-91.4.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 = "da8791864ea612b37839075a85ed446aecd4be941c4f624ed212fa1e4d322768";
+      sha256 = "fd3548a80dc4983b264f5a2062d87bd9956c681fc191d35246bac2248c61c429";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/hr/thunderbird-91.4.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 = "11ef3a9c2b7555ef144cc0689265f928c29b01fccded781d76a3f2105d15ed67";
+      sha256 = "e149a9a469ef013264ffbcf10051e1476f946f52ad4eae8f734643394f6f74c8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/hsb/thunderbird-91.4.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 = "bce0ebbaa3e19912d74e5a9754a45a93948f41d5fa9dfab77aea03856ea70ef4";
+      sha256 = "77baab4a6d3ba3339cc32475fdd654034eb57e61d2c51258e38eba6c14aa2f89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/hu/thunderbird-91.4.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 = "dd1b5a48fb175be82967f3b9ca72ea86b2797ebb68285fee143c77ae72a9e659";
+      sha256 = "c796ac09b0e4033f1ab9d1e6da4b78e540f1b731bfbcda040743e409164ea2f1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/hy-AM/thunderbird-91.4.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 = "cc172a84b6c586a786a7691eb728e8bce5af253316cec64b989fe2f10f253f95";
+      sha256 = "c6023895e3e26e7b52c277640702a821bf4a562287ba7d8e632a59774a6757ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/id/thunderbird-91.4.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 = "6ac4c494569bb7d5a9948d1e19cb273135638b3b0fa487a535d36f2b70c86bfa";
+      sha256 = "a76f567644ef6092168e2c526839bc0901a18533f08ac525381e74f77e9fcb7d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/is/thunderbird-91.4.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 = "e98642ccc27cc77180a83b34a55a59f9b653beb993e80647b76b1c2d1fec003a";
+      sha256 = "a023e32837355ab83583bcf504e9ff3210f3a68d30c73477ec158ef1162df4eb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/it/thunderbird-91.4.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 = "bada535c73a41318650acb3e744771beea09bf192b3f88e6e8be0de0f9c15b4f";
+      sha256 = "459aec2da31a3159f0d81cb0876686e63d9b1e72ad36e967472d1ce98c380983";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ja/thunderbird-91.4.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 = "dc30bc5943518dbde7b213df3fdd0b454550612d741e167003efc0463b3fd2ae";
+      sha256 = "307faf7556594072ab83121c1774005392bc556396c5234a2467ef6843a490f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ka/thunderbird-91.4.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 = "747b850fdb8cad7607b807bf402e2b6d9b58006c9d8323947c2c991d3d775d1e";
+      sha256 = "42cd7f10453541b23099631f402ff70103131025ef868de06fe2e82430bb7eb3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/kab/thunderbird-91.4.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 = "fd063bc5e41bec78ad7d006370ecc0be0644a63bb0f5d6cfdda7148790113059";
+      sha256 = "cc62b8ce7bea99dd9e9cf660f5dcaac4b9a44746b7b4cccf84612ef844df9e7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/kk/thunderbird-91.4.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 = "f853aeb878ed181070b192f1b27dd985a6f0b2318500373b23358c53a56c3d97";
+      sha256 = "ee9e74534c1d7716ea80e2874007b4f9778942bcae559effc830477e614341ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ko/thunderbird-91.4.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 = "7444d40c6db9b592d3831115e981208567311a58d47606da6947217e58650e90";
+      sha256 = "12106fad7493ce63c189b0a7e92c9828c7b2d46d7f5cd9ecadbc90be041e6bbd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/lt/thunderbird-91.4.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 = "c7f1cf8b583e6659ec84a0546a3e7828626bae3664de35bc9bcd9fbbb97b56ba";
+      sha256 = "ead9b5e035f2fcd1213aba5e63c8898b96bf0bfaefde7709228014aadf608420";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/lv/thunderbird-91.4.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 = "30671983c35bb5c112b2b9755e56a1c36afe5bd03c0f09ba930095880b7ab25a";
+      sha256 = "72980d6c676a269b9d3220a171cffd67ebc1dc0759bef5ac15db76725aac86cc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ms/thunderbird-91.4.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 = "233464fc722e9deba822c3cec0c7ebf5b1b72295a6847a3203410784e8e33f0f";
+      sha256 = "dfd0cfceee31c31a300ebe37fe99690008f5a21992e7188680b319fe5b5d0207";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/nb-NO/thunderbird-91.4.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 = "299f50b9d2077ea8300959cd90aaf3113b5fc5da77fa66617533d2b6d4a11f72";
+      sha256 = "7610a56f57d4753f6fd7a55147d7a22157453b47548fe807b5fdbc1ef166eda0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/nl/thunderbird-91.4.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 = "4374b5d175d4c990d706241083886e9459f9aa51b1c9862dc02c5134df6a8523";
+      sha256 = "6a470f707e9838937c67e2ce7c2da216e23964bab94c4590d20cedb4b337d18d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/nn-NO/thunderbird-91.4.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 = "786c23053df9dedb177bd22ab3cf78e3083b73b9bd11b45c17bae35921f8c762";
+      sha256 = "e393dfbd10ae6ce910ed594ca6d314d048d57e98a1a01d53be82788d6a3988d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/pa-IN/thunderbird-91.4.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 = "cc3df207d658cdc6b13e8d67dec598afa477520d81d6c4bda23bfa0a3bdfe9f7";
+      sha256 = "ddc8558e84531478a4295fe1a3b09f95df458e1f1ecec89b0e1ee19e0dea6e5c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/pl/thunderbird-91.4.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 = "9471ddfc7086cf21222eb1de8c5de76f61f0d9479d6691fa4cce16ea4a481361";
+      sha256 = "015e25da0565942bbad23a9e0a345cbec4b24676c21286bbce3cf85938031ca2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/pt-BR/thunderbird-91.4.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 = "0e466b0a1a0e258b9d3b5288902dcf4fc114a192ba156d956d8be9bbcea1a42a";
+      sha256 = "2966875426c08658dcc5aec7e91305e40342bb7318b8ba19482b036d6f1efc9e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/pt-PT/thunderbird-91.4.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 = "83b0e2bfe657f16b88906f2a70a0d954b73d053c01b545812e40d02f343b50ef";
+      sha256 = "c3ee66dff637e75aaa4a8e3d40c85176e152c19464e7afcbd40cc1e3108a1d91";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/rm/thunderbird-91.4.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 = "507059e7cad7c0665c0468436e334a3c2cef258751fe97e90a731d067e0cc672";
+      sha256 = "c320c05190b160ad807528e9be6604ac5f79958fad9a4de32c55842a94db20fd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ro/thunderbird-91.4.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 = "61e4d4652ecbce03421dab02aa15f49e4a782cf63380d76207173afd07dc6183";
+      sha256 = "90547a8965aec3db8d4150c0e232bdf6e623df1850cb206a9cbca43432a3cd35";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/ru/thunderbird-91.4.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 = "b3c1d07ace631bc8117d1003029216a5579a64f7e83a4289877fe5101c0b261b";
+      sha256 = "1dbaf198232b519711c90646c05d77b16bdad20054aaa7f313255ac15e773dec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/sk/thunderbird-91.4.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 = "ec8949eec7a001e075888500749f7b0211996afe4d25dc081df34e20a214e835";
+      sha256 = "8d92baafe787bdd054cf7c76a7135a6075da0bd573237f28dcb379fb6e1f7c49";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/sl/thunderbird-91.4.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 = "026a55fbb143621ba98d2218ff72c5eea2491ea74e3abbf46dc4d8405a7df327";
+      sha256 = "f6ba6c8a7c7aacd28959c85adf708ad1661b4921c82035a1c954c6f6264d101a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/sq/thunderbird-91.4.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 = "0a22abf8961874edc88fb7654d8b66694050f98ed4440eb7aabbf7a4969bd993";
+      sha256 = "e4fe39206253ab53000e5d5265e2cf3183f8c15900f1f0e5ba23cbe141145e20";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/sr/thunderbird-91.4.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 = "4304ac8a1283065aabc63b39734cd7d023a82b590cc1d255093d73cc1155e30c";
+      sha256 = "469cda2fad3873e8de320ee7a68c45c4da6cad5e6d9904242d2c489a1e5b829e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/sv-SE/thunderbird-91.4.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 = "b2196727748a1d42bc67fcde4df47e7e1661a446e0620e11c64dcc1a7db0da06";
+      sha256 = "0303bb0290c84ede66d657ac88795e879611c42815e5eaec98beb235d7764922";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/th/thunderbird-91.4.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 = "de52a8a1a64b26d29721be3843c12df6bdb732354c9263782f989918a51dee2a";
+      sha256 = "5915739123b4c14d72f919fdb193a65e3a15ef472e563d21d7e1e872858f3364";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/tr/thunderbird-91.4.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 = "bba119fb7749350c06760d6885a89efa0632098e593f22a23451a592dbea9e1d";
+      sha256 = "8cf4a385c861d5905b742a0366df783666a05e154b4e0f23e65f883c81b2bfd9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/uk/thunderbird-91.4.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 = "34198ab171b0783d0ac592e0a72ea355aae75b950f2569d2e6ed30a9b1a5d2f8";
+      sha256 = "7e1a14c20e1ef7aa923bdb8d09a3a513dedd653388721d8537f42354c0cf386d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/uz/thunderbird-91.4.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 = "1adcedb12bb9485da32b47558352d5fa9182fd8411450386d9ac8a528b40cca4";
+      sha256 = "8f129954fcccf19fe4e46cb66f35fa298ef396d5327f647d1e7b813345dc7ecf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/vi/thunderbird-91.4.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 = "c22cd41206fd7e4d80c6855c7217071be3890e84460cd030f4029a910c672bb2";
+      sha256 = "ab232199fe149938019dd3e8a242630875be9529e32050f94add2419d2690726";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/zh-CN/thunderbird-91.4.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 = "744515522d16884b4067a75412977243753baece132c4d5c815ac60d5a26bd7b";
+      sha256 = "cb58b53ffb9eb1d05ff3ae856a80f8f504f86e8cdaa2075ff5b5bfcc27712b97";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.4.1/linux-i686/zh-TW/thunderbird-91.4.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 = "21fcb4c30b76c607e215363688966ea92ae1f3cd658ce7c9118f3d0f2cfff729";
+      sha256 = "441a2fc15f7d4efeb7f76cef1166c694cd7713b12f75aab0ceae161f3e77f934";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 1ba3c40ea98b..5b0b66ca3451 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -10,12 +10,12 @@ in
 rec {
   thunderbird = common rec {
     pname = "thunderbird";
-    version = "91.4.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 = "aa442ef886277f5091ebadff907a29451a0ee6542f24adb5c1fb4223193d719c2cb01474d3ccd96067695b19ce3cbf042893b0beaaeb7c65e0660ab5072bf82e";
+      sha512 = "a74d9489bbd2d62916eac8214c6c3a54dfa0c03b56ad471750724315f8bdd96b6ee1079687ac973264ba0f70bdfbf2f183f359c33f7fcda9a9e48914636b1ab2";
     };
     patches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index c44b5f72724e..e5edfaa46709 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -3,12 +3,12 @@ electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "tutanota-desktop";
-  version = "3.89.25";
+  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-0j0vL45kpZeBBdW7NY8lvseYUhXGPoCbOdUtT97fMiI=";
+    sha256 = "sha256-RlEgpXco0lkkjlJ8FZz4MxYznKLPl1Lxkb5MSmhOTzI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix b/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
index fd08817f026d..0df8fc010e2c 100644
--- a/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -1,7 +1,8 @@
 { 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
 }:
 
 let deps = [
@@ -15,7 +16,6 @@ let deps = [
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     pango
     gtk3
     libappindicator
@@ -53,6 +53,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
+    makeWrapper
   ];
 
   buildInputs = deps;
@@ -73,12 +74,14 @@ stdenv.mkDerivation rec {
     mv usr/bin/* $out/bin
     mv opt/Mullvad\ VPN/* $out/share/mullvad
 
-    sed -i 's|"\/opt\/Mullvad.*VPN|env MULLVAD_DISABLE_UPDATE_NOTIFICATION=1 "'$out'/bin|g' $out/share/applications/mullvad-vpn.desktop
-
     ln -s $out/share/mullvad/mullvad-{gui,vpn} $out/bin/
     ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon
     ln -sf $out/share/mullvad/resources/mullvad-problem-report $out/bin/mullvad-problem-report
 
+    wrapProgram $out/bin/mullvad-vpn --set MULLVAD_DISABLE_UPDATE_NOTIFICATION 1
+
+    sed -i "s|Exec.*$|Exec=$out/bin/mullvad-vpn $U|" $out/share/applications/mullvad-vpn.desktop
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/applications/networking/n8n/default.nix b/nixpkgs/pkgs/applications/networking/n8n/default.nix
index 94305a8cfeea..e7e1be095a20 100644
--- a/nixpkgs/pkgs/applications/networking/n8n/default.nix
+++ b/nixpkgs/pkgs/applications/networking/n8n/default.nix
@@ -1,8 +1,9 @@
-{ pkgs, nodejs, stdenv, lib, ... }:
+{ pkgs, nodejs-14_x, stdenv, lib }:
 
 let
   nodePackages = import ./node-composition.nix {
-    inherit pkgs nodejs;
+    inherit pkgs;
+    nodejs = nodejs-14_x;
     inherit (stdenv.hostPlatform) system;
   };
 in
@@ -10,9 +11,12 @@ nodePackages.n8n.override {
   nativeBuildInputs = with pkgs.nodePackages; [
     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 ];
+    maintainers = with maintainers; [ freezeboy k900 ];
     license = licenses.asl20;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/n8n/generate-dependencies.sh b/nixpkgs/pkgs/applications/networking/n8n/generate-dependencies.sh
index 292811669184..f7412bc5e5e2 100755
--- a/nixpkgs/pkgs/applications/networking/n8n/generate-dependencies.sh
+++ b/nixpkgs/pkgs/applications/networking/n8n/generate-dependencies.sh
@@ -1,7 +1,20 @@
 #!/usr/bin/env nix-shell
 #! nix-shell -i bash -p nodePackages.node2nix
 
+# --strip-optional-dependencies to get rid of deprecated build deps:
+#
+# n8n
+# -> n8n-nodes-base
+#    -> ssh2-sftp-client
+#       -> ssh2
+#          -> cpu-features
+#             -> node-gyp@3.8.0 -> python2
+#             -> cmake
+cd "$(dirname $(readlink -f $0))"
+
 node2nix \
+  --14 \
+  --strip-optional-dependencies \
   --node-env node-env.nix \
   --input package.json \
   --output node-packages.nix \
diff --git a/nixpkgs/pkgs/applications/networking/n8n/node-composition.nix b/nixpkgs/pkgs/applications/networking/n8n/node-composition.nix
index 64326c6b2160..53bdef1f9864 100644
--- a/nixpkgs/pkgs/applications/networking/n8n/node-composition.nix
+++ b/nixpkgs/pkgs/applications/networking/n8n/node-composition.nix
@@ -6,7 +6,7 @@
 
 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/nixpkgs/pkgs/applications/networking/n8n/node-env.nix b/nixpkgs/pkgs/applications/networking/n8n/node-env.nix
index c2b723195b77..5f055785791b 100644
--- a/nixpkgs/pkgs/applications/networking/n8n/node-env.nix
+++ b/nixpkgs/pkgs/applications/networking/n8n/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"
+    }
+  '';
+
+  # 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 ..
+      ''
+    );
 
-      # Include the dependencies of the package
-      cd "$DIR/${packageName}"
+  # 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 .."}
@@ -391,13 +402,14 @@ let
     , dontStrip ? true
     , unpackPhase ? "true"
     , buildPhase ? "true"
+    , meta ? {}
     , ... }@args:
 
     let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
-      name = "node_${name}-${version}";
+      name = "${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ]
         ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
@@ -414,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
@@ -446,6 +460,11 @@ let
         # 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)
@@ -486,6 +505,8 @@ let
         passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
 
         installPhase = ''
+          source ${installPackage}
+
           mkdir -p $out/${packageName}
           cd $out/${packageName}
 
diff --git a/nixpkgs/pkgs/applications/networking/n8n/node-packages.nix b/nixpkgs/pkgs/applications/networking/n8n/node-packages.nix
index b497190b1887..ed813881a111 100644
--- a/nixpkgs/pkgs/applications/networking/n8n/node-packages.nix
+++ b/nixpkgs/pkgs/applications/networking/n8n/node-packages.nix
@@ -4,40 +4,148 @@
 
 let
   sources = {
-    "@azure/ms-rest-azure-env-1.1.2" = {
+    "@azure/abort-controller-1.0.5" = {
+      name = "_at_azure_slash_abort-controller";
+      packageName = "@azure/abort-controller";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.0.5.tgz";
+        sha512 = "G5sjKExiVsbFQo+4YY5MBPOSsh3EUv6XmqjgJaF/VCjckWLGGKPUPGfbCSn6Xal6gzGoPQMOQ+wCCGNCX9NAPg==";
+      };
+    };
+    "@azure/core-asynciterator-polyfill-1.0.2" = {
+      name = "_at_azure_slash_core-asynciterator-polyfill";
+      packageName = "@azure/core-asynciterator-polyfill";
+      version = "1.0.2";
+      src = fetchurl {
+        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" = {
+      name = "_at_azure_slash_core-auth";
+      packageName = "@azure/core-auth";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.3.2.tgz";
+        sha512 = "7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA==";
+      };
+    };
+    "@azure/core-http-2.2.4" = {
+      name = "_at_azure_slash_core-http";
+      packageName = "@azure/core-http";
+      version = "2.2.4";
+      src = fetchurl {
+        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" = {
+      name = "_at_azure_slash_core-lro";
+      packageName = "@azure/core-lro";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.2.3.tgz";
+        sha512 = "UMdlR9NsqDCLTba3EUbRjfMF4gDmWvld196JmUjbz9WWhJ2XT00OR5MXeWiR+vmGT+ETiO4hHFCi2/eGO5YVtg==";
+      };
+    };
+    "@azure/core-paging-1.2.1" = {
+      name = "_at_azure_slash_core-paging";
+      packageName = "@azure/core-paging";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.2.1.tgz";
+        sha512 = "UtH5iMlYsvg+nQYIl4UHlvvSrsBjOlRF4fs0j7mxd3rWdAStrKYrh2durOpHs5C9yZbVhsVDaisoyaf/lL1EVA==";
+      };
+    };
+    "@azure/core-tracing-1.0.0-preview.13" = {
+      name = "_at_azure_slash_core-tracing";
+      packageName = "@azure/core-tracing";
+      version = "1.0.0-preview.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz";
+        sha512 = "KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==";
+      };
+    };
+    "@azure/logger-1.0.3" = {
+      name = "_at_azure_slash_logger";
+      packageName = "@azure/logger";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/logger/-/logger-1.0.3.tgz";
+        sha512 = "aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g==";
+      };
+    };
+    "@azure/ms-rest-azure-env-2.0.0" = {
       name = "_at_azure_slash_ms-rest-azure-env";
       packageName = "@azure/ms-rest-azure-env";
-      version = "1.1.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/ms-rest-azure-env/-/ms-rest-azure-env-1.1.2.tgz";
-        sha512 = "l7z0DPCi2Hp88w12JhDTtx5d0Y3+vhfE7JKJb9O7sEz71Cwp053N8piTtTnnk/tUor9oZHgEKi/p3tQQmLPjvA==";
+        url = "https://registry.npmjs.org/@azure/ms-rest-azure-env/-/ms-rest-azure-env-2.0.0.tgz";
+        sha512 = "dG76W7ElfLi+fbTjnZVGj+M9e0BIEJmRxU6fHaUQ12bZBe8EJKYb2GV50YWNaP2uJiVQ5+7nXEVj1VN1UQtaEw==";
       };
     };
-    "@azure/ms-rest-js-1.9.1" = {
+    "@azure/ms-rest-js-2.6.0" = {
       name = "_at_azure_slash_ms-rest-js";
       packageName = "@azure/ms-rest-js";
-      version = "1.9.1";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-1.9.1.tgz";
-        sha512 = "F1crHKhmsvFLM9fsnDyCGFd2E2KR9GEZm5oBVV5D5k2EBQ7u7idtSJlSF6RDLDIrGWtc4NnFdYwsoiW8NLlBQg==";
+        url = "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.6.0.tgz";
+        sha512 = "4C5FCtvEzWudblB+h92/TYYPiq7tuElX8icVYToxOdggnYqeec4Se14mjse5miInKtZahiFHdl8lZA/jziEc5g==";
       };
     };
-    "@azure/ms-rest-nodeauth-2.0.2" = {
+    "@azure/ms-rest-nodeauth-3.1.1" = {
       name = "_at_azure_slash_ms-rest-nodeauth";
       packageName = "@azure/ms-rest-nodeauth";
-      version = "2.0.2";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/ms-rest-nodeauth/-/ms-rest-nodeauth-3.1.1.tgz";
+        sha512 = "UA/8dgLy3+ZiwJjAZHxL4MUB14fFQPkaAOZ94jsTW/Z6WmoOeny2+cLk0+dyIX/iH6qSrEWKwbStEeB970B9pA==";
+      };
+    };
+    "@azure/storage-blob-12.8.0" = {
+      name = "_at_azure_slash_storage-blob";
+      packageName = "@azure/storage-blob";
+      version = "12.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.8.0.tgz";
+        sha512 = "c8+Wz19xauW0bGkTCoqZH4dYfbtBniPiGiRQOn1ca6G5jsjr4azwaTk9gwjVY8r3vY2Taf95eivLzipfIfiS4A==";
+      };
+    };
+    "@babel/runtime-7.17.2" = {
+      name = "_at_babel_slash_runtime";
+      packageName = "@babel/runtime";
+      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/@azure/ms-rest-nodeauth/-/ms-rest-nodeauth-2.0.2.tgz";
-        sha512 = "KmNNICOxt3EwViAJI3iu2VH8t8BQg5J2rSAyO4IUYLF9ZwlyYsP419pdvl4NBUhluAP2cgN7dfD2V6E6NOMZlQ==";
+        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.5" = {
+      name = "_at_fontsource_slash_open-sans";
+      packageName = "@fontsource/open-sans";
+      version = "4.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.5.tgz";
+        sha512 = "h1oUPSQpoMnDrnzIZTVS9PPBFhWXS87v6/cd9FY2Xc+GKbOVcjPZxcvUDU1TnCie2QSoYY9aifERRV/d8JHtWQ==";
       };
     };
     "@icetee/ftp-0.3.15" = {
@@ -49,58 +157,103 @@ let
         sha512 = "RxSa9VjcDWgWCYsaLdZItdCnJj7p4LxggaEk+Y3MP0dHKoxez8ioG07DVekVbZZqccsrL+oPB/N9AzVPxj4blg==";
       };
     };
-    "@nodelib/fs.scandir-2.1.4" = {
+    "@kafkajs/confluent-schema-registry-1.0.6" = {
+      name = "_at_kafkajs_slash_confluent-schema-registry";
+      packageName = "@kafkajs/confluent-schema-registry";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@kafkajs/confluent-schema-registry/-/confluent-schema-registry-1.0.6.tgz";
+        sha512 = "NrZL1peOIlmlLKvheQcJAx9PHdnc4kaW+9+Yt4jXUfbbYR9EFNCZt6yApI4SwlFilaiZieReM6XslWy1LZAvoQ==";
+      };
+    };
+    "@kwsites/file-exists-1.1.1" = {
+      name = "_at_kwsites_slash_file-exists";
+      packageName = "@kwsites/file-exists";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz";
+        sha512 = "m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==";
+      };
+    };
+    "@kwsites/promise-deferred-1.1.1" = {
+      name = "_at_kwsites_slash_promise-deferred";
+      packageName = "@kwsites/promise-deferred";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz";
+        sha512 = "GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==";
+      };
+    };
+    "@nodelib/fs.scandir-2.1.5" = {
       name = "_at_nodelib_slash_fs.scandir";
       packageName = "@nodelib/fs.scandir";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz";
-        sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==";
+        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz";
+        sha512 = "vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==";
       };
     };
-    "@nodelib/fs.stat-2.0.4" = {
+    "@nodelib/fs.stat-2.0.5" = {
       name = "_at_nodelib_slash_fs.stat";
       packageName = "@nodelib/fs.stat";
-      version = "2.0.4";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz";
-        sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==";
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz";
+        sha512 = "RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==";
       };
     };
-    "@nodelib/fs.walk-1.2.6" = {
+    "@nodelib/fs.walk-1.2.8" = {
       name = "_at_nodelib_slash_fs.walk";
       packageName = "@nodelib/fs.walk";
-      version = "1.2.6";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz";
-        sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==";
+        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz";
+        sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     };
-    "@oclif/command-1.8.0" = {
+    "@oclif/command-1.8.16" = {
       name = "_at_oclif_slash_command";
       packageName = "@oclif/command";
-      version = "1.8.0";
+      version = "1.8.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz";
-        sha512 = "5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==";
+        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.16.tgz";
+        sha512 = "rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w==";
       };
     };
-    "@oclif/config-1.17.0" = {
+    "@oclif/config-1.18.2" = {
       name = "_at_oclif_slash_config";
       packageName = "@oclif/config";
-      version = "1.17.0";
+      version = "1.18.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz";
-        sha512 = "Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==";
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz";
+        sha512 = "cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==";
       };
     };
-    "@oclif/errors-1.3.4" = {
+    "@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";
-      version = "1.3.4";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz";
+        sha512 = "OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==";
+      };
+    };
+    "@oclif/help-1.0.1" = {
+      name = "_at_oclif_slash_help";
+      packageName = "@oclif/help";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.4.tgz";
-        sha512 = "pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw==";
+        url = "https://registry.npmjs.org/@oclif/help/-/help-1.0.1.tgz";
+        sha512 = "8rsl4RHL5+vBUAKBL6PFI3mj58hjPCp2VYyXD4TAa7IMStikFfOH2gtWmqLzIlxAED2EpD0dfYwo9JJxYsH7Aw==";
       };
     };
     "@oclif/linewrap-1.0.0" = {
@@ -112,22 +265,49 @@ let
         sha512 = "Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==";
       };
     };
-    "@oclif/parser-3.8.5" = {
+    "@oclif/parser-3.8.6" = {
       name = "_at_oclif_slash_parser";
       packageName = "@oclif/parser";
-      version = "3.8.5";
+      version = "3.8.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.5.tgz";
-        sha512 = "yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg==";
+        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.6.tgz";
+        sha512 = "tXb0NKgSgNxmf6baN6naK+CCwOueaFk93FG9u202U7mTBHUKsioOUlw1SG/iPi9aJM3WE4pHLXmty59pci0OEw==";
       };
     };
-    "@oclif/plugin-help-3.2.1" = {
-      name = "_at_oclif_slash_plugin-help";
-      packageName = "@oclif/plugin-help";
-      version = "3.2.1";
+    "@opentelemetry/api-1.1.0" = {
+      name = "_at_opentelemetry_slash_api";
+      packageName = "@opentelemetry/api";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.1.0.tgz";
+        sha512 = "hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==";
+      };
+    };
+    "@rudderstack/rudder-sdk-node-1.0.6" = {
+      name = "_at_rudderstack_slash_rudder-sdk-node";
+      packageName = "@rudderstack/rudder-sdk-node";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@rudderstack/rudder-sdk-node/-/rudder-sdk-node-1.0.6.tgz";
+        sha512 = "kJYCXv6fRFbQrAp3hMsgRCnAa7RUBdbiGLBT9PcpQURi0VwHmD7mk3Ja7U4HDnL0EHXYJpPyx3oSonkklmPJ9Q==";
+      };
+    };
+    "@segment/loosely-validate-event-2.0.0" = {
+      name = "_at_segment_slash_loosely-validate-event";
+      packageName = "@segment/loosely-validate-event";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.1.tgz";
-        sha512 = "vq7rn16TrQmjX3Al/k1Z5iBZWZ3HE8fDXs52OmDJmmTqryPSNvURH9WCAsqr0PODYCSR17Hy1VTzS0x7vVVLEQ==";
+        url = "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz";
+        sha512 = "ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==";
+      };
+    };
+    "@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/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz";
+        sha512 = "J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==";
       };
     };
     "@servie/events-1.0.0" = {
@@ -157,49 +337,58 @@ let
         sha512 = "XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==";
       };
     };
-    "@types/bluebird-3.5.33" = {
+    "@tokenizer/token-0.3.0" = {
+      name = "_at_tokenizer_slash_token";
+      packageName = "@tokenizer/token";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz";
+        sha512 = "OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==";
+      };
+    };
+    "@tootallnate/once-1.1.2" = {
+      name = "_at_tootallnate_slash_once";
+      packageName = "@tootallnate/once";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz";
+        sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
+      };
+    };
+    "@types/bluebird-3.5.36" = {
       name = "_at_types_slash_bluebird";
       packageName = "@types/bluebird";
-      version = "3.5.33";
+      version = "3.5.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.33.tgz";
-        sha512 = "ndEo1xvnYeHxm7I/5sF6tBvnsA4Tdi3zj1keRKRs12SP+2ye2A27NDJ1B6PqkfMbGAcT+mqQVqbZRIrhfOp5PQ==";
+        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz";
+        sha512 = "HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q==";
       };
     };
-    "@types/body-parser-1.19.0" = {
+    "@types/body-parser-1.19.2" = {
       name = "_at_types_slash_body-parser";
       packageName = "@types/body-parser";
-      version = "1.19.0";
+      version = "1.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz";
-        sha512 = "W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==";
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz";
+        sha512 = "ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==";
       };
     };
-    "@types/connect-3.4.34" = {
+    "@types/connect-3.4.35" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
-      version = "3.4.34";
+      version = "3.4.35";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz";
-        sha512 = "ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==";
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz";
+        sha512 = "cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==";
       };
     };
-    "@types/debug-4.1.5" = {
-      name = "_at_types_slash_debug";
-      packageName = "@types/debug";
-      version = "4.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz";
-        sha512 = "Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==";
-      };
-    };
-    "@types/express-4.17.11" = {
+    "@types/express-4.17.13" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.11";
+      version = "4.17.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz";
-        sha512 = "no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz";
+        sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
       };
     };
     "@types/express-jwt-0.0.42" = {
@@ -211,49 +400,67 @@ let
         sha512 = "WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==";
       };
     };
-    "@types/express-serve-static-core-4.17.18" = {
+    "@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.18";
+      version = "4.17.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz";
-        sha512 = "m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz";
+        sha512 = "P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==";
       };
     };
-    "@types/express-unless-0.5.1" = {
+    "@types/express-unless-0.5.3" = {
       name = "_at_types_slash_express-unless";
       packageName = "@types/express-unless";
-      version = "0.5.1";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.1.tgz";
-        sha512 = "5fuvg7C69lemNgl0+v+CUxDYWVPSfXHhJPst4yTLcqi4zKJpORCxnDrnnilk3k0DTq/WrAUdvXFs01+vUqUZHw==";
+        url = "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.3.tgz";
+        sha512 = "TyPLQaF6w8UlWdv4gj8i46B+INBVzURBNRahCozCSXfsK2VTlL1wNyTlMKw817VHygBtlcl5jfnPadlydr06Yw==";
       };
     };
-    "@types/ftp-0.3.31" = {
+    "@types/ftp-0.3.33" = {
       name = "_at_types_slash_ftp";
       packageName = "@types/ftp";
-      version = "0.3.31";
+      version = "0.3.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ftp/-/ftp-0.3.31.tgz";
-        sha512 = "J30a1yD9avBsFahvmGoeumWUZ5YnGRj/7u0aKSa3dGxyaguU+14WkHmVzZYToK7vX0ADfyAXBUQlaQ20PTHhAA==";
+        url = "https://registry.npmjs.org/@types/ftp/-/ftp-0.3.33.tgz";
+        sha512 = "L7wFlX3t9GsGgNS0oxLt6zbAZZGgsdptMmciL4cdxHmbL3Hz4Lysh8YqAR34eHsJ1uacJITcZBBDl5XpQlxPpQ==";
       };
     };
-    "@types/glob-7.1.3" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "7.1.3";
+    "@types/json-diff-0.5.2" = {
+      name = "_at_types_slash_json-diff";
+      packageName = "@types/json-diff";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz";
-        sha512 = "SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==";
+        url = "https://registry.npmjs.org/@types/json-diff/-/json-diff-0.5.2.tgz";
+        sha512 = "2oqXStJYYLDHCciNAClY277Ti3kXT+JLvPD7lLm/490i+B7g0GR6M4qiW+bd2V5vpB+yMKY8IelbsHMAYX1D0A==";
       };
     };
-    "@types/jsonwebtoken-8.5.0" = {
+    "@types/jsonwebtoken-8.5.8" = {
       name = "_at_types_slash_jsonwebtoken";
       packageName = "@types/jsonwebtoken";
-      version = "8.5.0";
+      version = "8.5.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz";
+        sha512 = "zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==";
+      };
+    };
+    "@types/lodash-4.14.178" = {
+      name = "_at_types_slash_lodash";
+      packageName = "@types/lodash";
+      version = "4.14.178";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz";
+        sha512 = "0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==";
+      };
+    };
+    "@types/lossless-json-1.0.1" = {
+      name = "_at_types_slash_lossless-json";
+      packageName = "@types/lossless-json";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz";
-        sha512 = "9bVao7LvyorRGZCw0VmH/dr7Og+NdjYSsKAxB43OQoComFbBgsEpoR9JW6+qSq/ogwVBg8GI2MfAlk4SYI4OLg==";
+        url = "https://registry.npmjs.org/@types/lossless-json/-/lossless-json-1.0.1.tgz";
+        sha512 = "zPE8kmpeL5/6L5gtTQHSOkAW/OSYYNTDRt6/2oEgLO1Zd3Rj5WVDoMloTtLJxQJhZGLGbL4pktKSh3NbzdaWdw==";
       };
     };
     "@types/mime-1.3.2" = {
@@ -265,40 +472,31 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@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-12.19.15" = {
+    "@types/node-12.20.45" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.19.15";
+      version = "12.20.45";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz";
-        sha512 = "lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.45.tgz";
+        sha512 = "1Jg2Qv5tuxBqgQV04+wO5u+wmSHbHgpORCJdeCLM+E+YdPElpdHhgywU+M1V1InL8rfOtpqtOjswk+uXTKwx7w==";
       };
     };
-    "@types/node-14.14.22" = {
+    "@types/node-17.0.17" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.22";
+      version = "17.0.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz";
-        sha512 = "g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.17.tgz";
+        sha512 = "e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw==";
       };
     };
-    "@types/node-8.10.66" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "8.10.66";
+    "@types/node-fetch-2.5.12" = {
+      name = "_at_types_slash_node-fetch";
+      packageName = "@types/node-fetch";
+      version = "2.5.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz";
-        sha512 = "tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==";
+        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz";
+        sha512 = "MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==";
       };
     };
     "@types/promise-ftp-1.3.4" = {
@@ -319,67 +517,76 @@ let
         sha512 = "mqo6D4qdiJdzeqlzFwEIchQQZk2hZacjssmjoAX7nClcREmRUUsnmgbWXEfA2qK986rwOPqepfRoSu7rsjAKag==";
       };
     };
-    "@types/qs-6.9.5" = {
+    "@types/qs-6.9.7" = {
       name = "_at_types_slash_qs";
       packageName = "@types/qs";
-      version = "6.9.5";
+      version = "6.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz";
-        sha512 = "/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==";
+        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz";
+        sha512 = "FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==";
       };
     };
-    "@types/range-parser-1.2.3" = {
+    "@types/range-parser-1.2.4" = {
       name = "_at_types_slash_range-parser";
       packageName = "@types/range-parser";
-      version = "1.2.3";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz";
-        sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz";
+        sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
       };
     };
-    "@types/readable-stream-2.3.9" = {
+    "@types/readable-stream-2.3.13" = {
       name = "_at_types_slash_readable-stream";
       packageName = "@types/readable-stream";
-      version = "2.3.9";
+      version = "2.3.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.9.tgz";
-        sha512 = "sqsgQqFT7HmQz/V5jH1O0fvQQnXAJO46Gg9LRO/JPfjmVmGUlcx831TZZO3Y3HtWhIkzf3kTsNT0Z0kzIhIvZw==";
+        url = "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.13.tgz";
+        sha512 = "4JSCx8EUzaW9Idevt+9lsRAt1lcSccoQfE+AouM1gk8sFxnnytKNIO3wTl9Dy+4m6jRJ1yXhboLHHT/LXBQiEw==";
       };
     };
-    "@types/serve-static-1.13.9" = {
+    "@types/serve-static-1.13.10" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
-      version = "1.13.9";
+      version = "1.13.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz";
-        sha512 = "ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==";
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz";
+        sha512 = "nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==";
       };
     };
-    "@types/snowflake-sdk-1.5.1" = {
+    "@types/snowflake-sdk-1.6.2" = {
       name = "_at_types_slash_snowflake-sdk";
       packageName = "@types/snowflake-sdk";
-      version = "1.5.1";
+      version = "1.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/snowflake-sdk/-/snowflake-sdk-1.5.1.tgz";
-        sha512 = "0RPrY9NZZn3botFzmW+Yo7Qx8J0KbIRfrWOzVFqG9iN6qo9WfpZwoqApC8Y6y9htZBdpfAweeVQdyMOm6B8Z9w==";
+        url = "https://registry.npmjs.org/@types/snowflake-sdk/-/snowflake-sdk-1.6.2.tgz";
+        sha512 = "68albQhKcrtz6G7IhXab8JE/96EN5COPo63+xUxvjwbYXe1BD8WTLVIXIxLdvC5oLmrK8Tf5W0mz+swaH/AfBQ==";
       };
     };
-    "@types/tough-cookie-2.3.7" = {
+    "@types/tough-cookie-2.3.8" = {
       name = "_at_types_slash_tough-cookie";
       packageName = "@types/tough-cookie";
-      version = "2.3.7";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.7.tgz";
-        sha512 = "rMQbgMGxnLsdn8e9aPVyuN+zMQLrZ2QW8xlv7eWS1mydfGXN+tsTKffcIzd8rGCcLdmi3xvQw2MDaZI1bBNTaw==";
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.8.tgz";
+        sha512 = "7axfYN8SW9pWg78NgenHasSproWQee5rzyPVLC9HpaQSDgNArsnKJD88EaMfi4Pl48AyciO3agYCFqpHS1gLpg==";
       };
     };
-    "@types/tunnel-0.0.0" = {
+    "@types/tunnel-0.0.3" = {
       name = "_at_types_slash_tunnel";
       packageName = "@types/tunnel";
-      version = "0.0.0";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz";
+        sha512 = "sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==";
+      };
+    };
+    "@xmldom/xmldom-0.7.5" = {
+      name = "_at_xmldom_slash_xmldom";
+      packageName = "@xmldom/xmldom";
+      version = "0.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.0.tgz";
-        sha512 = "FGDp0iBRiBdPjOgjJmn1NH0KDLN+Z8fRmo+9J7XGBhubq1DPrGrbmG4UTlGzrpbCpesMqD0sWkzi27EYkOMHyg==";
+        url = "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz";
+        sha512 = "V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==";
       };
     };
     "abbrev-1.1.1" = {
@@ -391,13 +598,22 @@ let
         sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
       };
     };
-    "accepts-1.3.7" = {
+    "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==";
+      };
+    };
+    "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" = {
@@ -409,13 +625,31 @@ let
         sha512 = "H5aqjkogmFxfaOrfn/e42vyspHVXuJ8er63KuljJXpOyJ1ZO/U5CrHfO8BLKIy2w7mBM02L5quL0vbfQqrGQbA==";
       };
     };
-    "adal-node-0.1.28" = {
+    "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";
-      version = "0.1.28";
+      version = "0.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.1.28.tgz";
-        sha1 = "468c4bb3ebbd96b1270669f4b9cba4e0065ea485";
+        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.2.3.tgz";
+        sha512 = "gMKr8RuYEYvsj7jyfCv/4BfKToQThz20SP71N3AtFn3ia3yAR8Qt2T3aVQhuJzunWs2b38ZsQV0qsZPdwZr7VQ==";
       };
     };
     "adler-32-1.2.0" = {
@@ -427,13 +661,13 @@ let
         sha1 = "6a3e6bf0a63900ba15652808cb15c6813d1a5f25";
       };
     };
-    "agent-base-2.1.1" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "2.1.1";
+    "adler-32-1.3.0" = {
+      name = "adler-32";
+      packageName = "adler-32";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz";
-        sha1 = "d6de10d5af6132d5bd692427d46fc538539094c7";
+        url = "https://registry.npmjs.org/adler-32/-/adler-32-1.3.0.tgz";
+        sha512 = "f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g==";
       };
     };
     "agent-base-4.3.0" = {
@@ -445,6 +679,15 @@ let
         sha512 = "salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==";
       };
     };
+    "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==";
+      };
+    };
     "ajv-6.12.6" = {
       name = "ajv";
       packageName = "ajv";
@@ -454,22 +697,22 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
-    "amqplib-0.6.0" = {
+    "amqplib-0.8.0" = {
       name = "amqplib";
       packageName = "amqplib";
-      version = "0.6.0";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/amqplib/-/amqplib-0.6.0.tgz";
-        sha512 = "zXCh4jQ77TBZe1YtvZ1n7sUxnTjnNagpy8MVi2yc1ive239pS3iLwm4e4d5o4XZGx1BdTKQ/U0ZmaDU3c8MxYQ==";
+        url = "https://registry.npmjs.org/amqplib/-/amqplib-0.8.0.tgz";
+        sha512 = "icU+a4kkq4Y1PS4NNi+YPDMwdlbFcZ1EZTQT2nigW3fvOb6AOgUQ9+Mk4ue0Zu5cBg/XpDzB40oH10ysrk2dmA==";
       };
     };
-    "ansi-escapes-4.3.1" = {
+    "ansi-escapes-4.3.2" = {
       name = "ansi-escapes";
       packageName = "ansi-escapes";
-      version = "4.3.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz";
-        sha512 = "JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==";
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz";
+        sha512 = "gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==";
       };
     };
     "ansi-regex-2.1.1" = {
@@ -481,22 +724,13 @@ let
         sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
       };
     };
-    "ansi-regex-3.0.0" = {
+    "ansi-regex-5.0.1" = {
       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-5.0.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz";
-        sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==";
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz";
+        sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
       };
     };
     "ansi-styles-2.2.1" = {
@@ -508,15 +742,6 @@ let
         sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
       };
     };
-    "ansi-styles-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
     "ansi-styles-4.3.0" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
@@ -526,15 +751,6 @@ let
         sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
       };
     };
-    "ansicolors-0.3.2" = {
-      name = "ansicolors";
-      packageName = "ansicolors";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
-        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
-      };
-    };
     "any-promise-1.3.0" = {
       name = "any-promise";
       packageName = "any-promise";
@@ -544,6 +760,15 @@ let
         sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
       };
     };
+    "anymatch-3.1.2" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz";
+        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
+      };
+    };
     "app-root-path-3.0.0" = {
       name = "app-root-path";
       packageName = "app-root-path";
@@ -562,13 +787,13 @@ let
         sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
       };
     };
-    "are-we-there-yet-1.1.5" = {
+    "are-we-there-yet-1.1.7" = {
       name = "are-we-there-yet";
       packageName = "are-we-there-yet";
-      version = "1.1.5";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
-        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz";
+        sha512 = "nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==";
       };
     };
     "argparse-1.0.10" = {
@@ -616,13 +841,13 @@ let
         sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
       };
     };
-    "asn1-0.2.4" = {
+    "asn1-0.2.6" = {
       name = "asn1";
       packageName = "asn1";
-      version = "0.2.4";
+      version = "0.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
-        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz";
+        sha512 = "ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==";
       };
     };
     "asn1.js-4.10.1" = {
@@ -706,13 +931,22 @@ let
         sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
       };
     };
-    "async-3.2.0" = {
+    "async-2.6.3" = {
       name = "async";
       packageName = "async";
-      version = "3.2.0";
+      version = "2.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
-        sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
+        url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz";
+        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+      };
+    };
+    "async-3.2.3" = {
+      name = "async";
+      packageName = "async";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
     "asynckit-0.4.0" = {
@@ -724,6 +958,33 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
+    "auto-changelog-1.16.4" = {
+      name = "auto-changelog";
+      packageName = "auto-changelog";
+      version = "1.16.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/auto-changelog/-/auto-changelog-1.16.4.tgz";
+        sha512 = "h7diyELoq692AA4oqO50ULoYKIomUdzuQ+NW+eFPwIX0xzVbXEu9cIcgzZ3TYNVbpkGtcNKh51aRfAQNef7HVA==";
+      };
+    };
+    "avsc-5.7.3" = {
+      name = "avsc";
+      packageName = "avsc";
+      version = "5.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/avsc/-/avsc-5.7.3.tgz";
+        sha512 = "uUbetCWczQHbsKyX1C99XpQHBM8SWfovvaZhPIj23/1uV7SQf0WeRZbiLpw0JZm+LHTChfNgrLfDJOVoU2kU+A==";
+      };
+    };
+    "aws-sdk-2.1073.0" = {
+      name = "aws-sdk";
+      packageName = "aws-sdk";
+      version = "2.1073.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1073.0.tgz";
+        sha512 = "TtyHDL4ZEs8Zh/DqWY/hv745DTWrIwOyBAvfjBJ45RE9h0TjpWqCIowEtb6gRPAKyPPyfGH4s+rEYu07vNK1Hg==";
+      };
+    };
     "aws-sign2-0.7.0" = {
       name = "aws-sign2";
       packageName = "aws-sign2";
@@ -742,31 +1003,31 @@ let
         sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
-    "axios-0.19.2" = {
+    "axios-0.21.4" = {
       name = "axios";
       packageName = "axios";
-      version = "0.19.2";
+      version = "0.21.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz";
-        sha512 = "fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz";
+        sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
       };
     };
-    "axios-0.21.1" = {
-      name = "axios";
-      packageName = "axios";
-      version = "0.21.1";
+    "axios-retry-3.2.4" = {
+      name = "axios-retry";
+      packageName = "axios-retry";
+      version = "3.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz";
-        sha512 = "dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==";
+        url = "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.4.tgz";
+        sha512 = "Co3UXiv4npi6lM963mfnuH90/YFLKWWDmoBYfxkHT5xtkSSWNqK9zdG3fw5/CP/dsoKB5aMMJCsgab+tp1OxLQ==";
       };
     };
-    "balanced-match-1.0.0" = {
+    "balanced-match-1.0.2" = {
       name = "balanced-match";
       packageName = "balanced-match";
-      version = "1.0.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
-        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
+        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
       };
     };
     "base64-js-1.5.1" = {
@@ -805,13 +1066,13 @@ let
         sha1 = "9ab5627b93e60621ff7cdac5da9733027df1d0cb";
       };
     };
-    "big-integer-1.6.48" = {
+    "big-integer-1.6.51" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.48";
+      version = "1.6.51";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz";
-        sha512 = "j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz";
+        sha512 = "GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==";
       };
     };
     "bignumber.js-2.4.0" = {
@@ -823,6 +1084,33 @@ let
         sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8";
       };
     };
+    "binary-extensions-2.2.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
+      };
+    };
+    "binascii-0.0.2" = {
+      name = "binascii";
+      packageName = "binascii";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binascii/-/binascii-0.0.2.tgz";
+        sha1 = "a7f8a8801dbccf8b1756b743daa0fee9e2d9e0ee";
+      };
+    };
+    "bintrees-1.0.1" = {
+      name = "bintrees";
+      packageName = "bintrees";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz";
+        sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
+      };
+    };
     "bitsyntax-0.1.0" = {
       name = "bitsyntax";
       packageName = "bitsyntax";
@@ -850,13 +1138,13 @@ let
         sha512 = "jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==";
       };
     };
-    "bl-4.0.3" = {
+    "bl-4.1.0" = {
       name = "bl";
       packageName = "bl";
-      version = "4.0.3";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz";
-        sha512 = "fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==";
+        url = "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz";
+        sha512 = "1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==";
       };
     };
     "bluebird-2.11.0" = {
@@ -877,31 +1165,31 @@ let
         sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     };
-    "bn.js-4.11.9" = {
+    "bn.js-4.12.0" = {
       name = "bn.js";
       packageName = "bn.js";
-      version = "4.11.9";
+      version = "4.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";
-        sha512 = "E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz";
+        sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
       };
     };
-    "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==";
       };
     };
-    "body-parser-xml-1.1.0" = {
+    "body-parser-xml-2.0.3" = {
       name = "body-parser-xml";
       packageName = "body-parser-xml";
-      version = "1.1.0";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser-xml/-/body-parser-xml-1.1.0.tgz";
-        sha1 = "7b56bef1cd7d266c13602b4c1daf4f511d26447c";
+        url = "https://registry.npmjs.org/body-parser-xml/-/body-parser-xml-2.0.3.tgz";
+        sha512 = "tWvcAbh8QPd/lj+yfGZBMY/roof/e2iSXrJbYXYjxVhHQ88D2CF3AxDTdwhb9wcNdHVNbCttaWipchJPEs5r0g==";
       };
     };
     "boolbase-1.0.0" = {
@@ -940,13 +1228,22 @@ let
         sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
       };
     };
-    "bson-1.1.5" = {
+    "bson-1.1.6" = {
       name = "bson";
       packageName = "bson";
-      version = "1.1.5";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz";
+        sha512 = "EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==";
+      };
+    };
+    "buffer-4.9.2" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "4.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bson/-/bson-1.1.5.tgz";
-        sha512 = "kDuEzldR21lHciPQAIulLs1LZlCXdLziXI6Mb/TDkwXhb//UORJNPXgcRs2CuO4H0DcMkpfT3/ySsP3unoZjBg==";
+        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz";
+        sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==";
       };
     };
     "buffer-5.7.1" = {
@@ -967,13 +1264,13 @@ let
         sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
       };
     };
-    "buffer-from-1.1.1" = {
+    "buffer-from-1.1.2" = {
       name = "buffer-from";
       packageName = "buffer-from";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
-        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz";
+        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
       };
     };
     "buffer-more-ints-1.0.0" = {
@@ -994,6 +1291,15 @@ let
         sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==";
       };
     };
+    "bull-3.29.3" = {
+      name = "bull";
+      packageName = "bull";
+      version = "3.29.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bull/-/bull-3.29.3.tgz";
+        sha512 = "MOqV1dKLy1YQgP9m3lFolyMxaU+1+o4afzYYf0H4wNM+x/S0I1QPQfkgGlLiH00EyFrvSmeubeCYFP47rTfpjg==";
+      };
+    };
     "byte-length-1.0.2" = {
       name = "byte-length";
       packageName = "byte-length";
@@ -1012,22 +1318,22 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
-    "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==";
       };
     };
-    "cacheable-lookup-5.0.4" = {
-      name = "cacheable-lookup";
-      packageName = "cacheable-lookup";
-      version = "5.0.4";
+    "call-bind-1.0.2" = {
+      name = "call-bind";
+      packageName = "call-bind";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz";
-        sha512 = "2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==";
+        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
+        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
       };
     };
     "callback-stream-1.1.0" = {
@@ -1039,6 +1345,15 @@ let
         sha1 = "4701a51266f06e06eaa71fc17233822d875f4908";
       };
     };
+    "callsites-3.1.0" = {
+      name = "callsites";
+      packageName = "callsites";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
+        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
+      };
+    };
     "camel-case-4.1.2" = {
       name = "camel-case";
       packageName = "camel-case";
@@ -1048,15 +1363,6 @@ let
         sha512 = "gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==";
       };
     };
-    "camelcase-5.3.1" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
-        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
-      };
-    };
     "capital-case-1.0.4" = {
       name = "capital-case";
       packageName = "capital-case";
@@ -1066,15 +1372,6 @@ let
         sha512 = "ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==";
       };
     };
-    "cardinal-2.1.1" = {
-      name = "cardinal";
-      packageName = "cardinal";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz";
-        sha1 = "7cc1055d822d212954d07b085dea251cc7bc5505";
-      };
-    };
     "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
@@ -1084,13 +1381,13 @@ let
         sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
-    "cfb-1.2.0" = {
+    "cfb-1.2.1" = {
       name = "cfb";
       packageName = "cfb";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz";
-        sha512 = "sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ==";
+        url = "https://registry.npmjs.org/cfb/-/cfb-1.2.1.tgz";
+        sha512 = "wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ==";
       };
     };
     "chalk-1.1.3" = {
@@ -1102,22 +1399,13 @@ let
         sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
       };
     };
-    "chalk-2.4.2" = {
+    "chalk-4.1.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==";
-      };
-    };
-    "chalk-4.1.0" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "4.1.0";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz";
-        sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==";
+        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz";
+        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
       };
     };
     "change-case-4.1.2" = {
@@ -1138,22 +1426,40 @@ let
         sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
       };
     };
-    "cheerio-1.0.0-rc.5" = {
+    "charenc-0.0.2" = {
+      name = "charenc";
+      packageName = "charenc";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz";
+        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+      };
+    };
+    "cheerio-1.0.0-rc.6" = {
       name = "cheerio";
       packageName = "cheerio";
-      version = "1.0.0-rc.5";
+      version = "1.0.0-rc.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.5.tgz";
-        sha512 = "yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==";
+        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz";
+        sha512 = "hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==";
       };
     };
-    "cheerio-select-tmp-0.1.1" = {
-      name = "cheerio-select-tmp";
-      packageName = "cheerio-select-tmp";
-      version = "0.1.1";
+    "cheerio-select-1.5.0" = {
+      name = "cheerio-select";
+      packageName = "cheerio-select";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz";
-        sha512 = "YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==";
+        url = "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz";
+        sha512 = "qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==";
+      };
+    };
+    "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==";
       };
     };
     "chownr-1.1.4" = {
@@ -1165,6 +1471,15 @@ let
         sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     };
+    "class-validator-0.13.2" = {
+      name = "class-validator";
+      packageName = "class-validator";
+      version = "0.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz";
+        sha512 = "yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==";
+      };
+    };
     "clean-stack-3.0.1" = {
       name = "clean-stack";
       packageName = "clean-stack";
@@ -1174,6 +1489,15 @@ let
         sha512 = "lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==";
       };
     };
+    "cli-color-0.1.7" = {
+      name = "cli-color";
+      packageName = "cli-color";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz";
+        sha1 = "adc3200fa471cc211b0da7f566b71e98b9d67347";
+      };
+    };
     "cli-cursor-3.1.0" = {
       name = "cli-cursor";
       packageName = "cli-cursor";
@@ -1183,13 +1507,13 @@ let
         sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
       };
     };
-    "cli-highlight-2.1.10" = {
+    "cli-highlight-2.1.11" = {
       name = "cli-highlight";
       packageName = "cli-highlight";
-      version = "2.1.10";
+      version = "2.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz";
-        sha512 = "CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==";
+        url = "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz";
+        sha512 = "9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==";
       };
     };
     "cli-width-3.0.0" = {
@@ -1219,6 +1543,15 @@ let
         sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
       };
     };
+    "cluster-key-slot-1.1.0" = {
+      name = "cluster-key-slot";
+      packageName = "cluster-key-slot";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz";
+        sha512 = "2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==";
+      };
+    };
     "code-point-at-1.1.0" = {
       name = "code-point-at";
       packageName = "code-point-at";
@@ -1228,22 +1561,22 @@ let
         sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
       };
     };
-    "codepage-1.14.0" = {
+    "codepage-1.15.0" = {
       name = "codepage";
       packageName = "codepage";
-      version = "1.14.0";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz";
-        sha1 = "8cbe25481323559d7d307571b0fff91e7a1d2f99";
+        url = "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz";
+        sha512 = "3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==";
       };
     };
-    "color-3.0.0" = {
+    "color-3.2.1" = {
       name = "color";
       packageName = "color";
-      version = "3.0.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color/-/color-3.0.0.tgz";
-        sha512 = "jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==";
+        url = "https://registry.npmjs.org/color/-/color-3.2.1.tgz";
+        sha512 = "aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==";
       };
     };
     "color-convert-1.9.3" = {
@@ -1282,13 +1615,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.5.4" = {
+    "color-string-1.9.0" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.5.4";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz";
-        sha512 = "57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
+        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
       };
     };
     "colornames-1.1.1" = {
@@ -1300,22 +1633,13 @@ 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.2" = {
+    "colorspace-1.1.4" = {
       name = "colorspace";
       packageName = "colorspace";
-      version = "1.1.2";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz";
-        sha512 = "vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==";
+        url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz";
+        sha512 = "BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==";
       };
     };
     "combined-stream-1.0.8" = {
@@ -1327,22 +1651,22 @@ let
         sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
-    "commander-2.14.1" = {
+    "commander-2.20.3" = {
       name = "commander";
       packageName = "commander";
-      version = "2.14.1";
+      version = "2.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz";
-        sha512 = "+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==";
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
       };
     };
-    "commander-2.17.1" = {
+    "commander-5.1.0" = {
       name = "commander";
       packageName = "commander";
-      version = "2.17.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz";
-        sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
+        url = "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz";
+        sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
       };
     };
     "commist-1.1.0" = {
@@ -1354,6 +1678,15 @@ let
         sha512 = "rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==";
       };
     };
+    "component-type-1.2.1" = {
+      name = "component-type";
+      packageName = "component-type";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz";
+        sha1 = "8a47901700238e4fc32269771230226f24b415a9";
+      };
+    };
     "compressible-2.0.18" = {
       name = "compressible";
       packageName = "compressible";
@@ -1381,15 +1714,6 @@ let
         sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
-    "concat-stream-1.6.2" = {
-      name = "concat-stream";
-      packageName = "concat-stream";
-      version = "1.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
-      };
-    };
     "concat-stream-2.0.0" = {
       name = "concat-stream";
       packageName = "concat-stream";
@@ -1426,13 +1750,13 @@ let
         sha512 = "I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==";
       };
     };
-    "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" = {
@@ -1444,22 +1768,22 @@ let
         sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
       };
     };
-    "convict-5.2.0" = {
+    "convict-6.2.1" = {
       name = "convict";
       packageName = "convict";
-      version = "5.2.0";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-5.2.0.tgz";
-        sha512 = "C3cdUwo47cCikZNzu5Vv8AL0MuXVVeg9t/Gyr9qyK5ZpCjOkMPmJ85KUF3CowNeSfj4UtztHxS+hoO9wGRh6kg==";
+        url = "https://registry.npmjs.org/convict/-/convict-6.2.1.tgz";
+        sha512 = "Mn4AJiYkR3TAZH1Xm/RU7gFS/0kM5TBSAQDry8y40Aez0ASY+3boUhv+3QE5XbOXiXM2JjdhkKve3IsBvWCibQ==";
       };
     };
-    "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" = {
@@ -1471,6 +1795,15 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
+    "core-js-3.21.0" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "3.21.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.21.0.tgz";
+        sha512 = "YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ==";
+      };
+    };
     "core-util-is-1.0.2" = {
       name = "core-util-is";
       packageName = "core-util-is";
@@ -1480,22 +1813,31 @@ 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.8.2" = {
+    "cron-1.7.2" = {
       name = "cron";
       packageName = "cron";
-      version = "1.8.2";
+      version = "1.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cron/-/cron-1.8.2.tgz";
-        sha512 = "Gk2c4y6xKEO8FSAUTklqtfSr7oTq0CiPQeLBG5Fl0qoXpZyMcj1SG59YL+hqq04bu6/IuEA7lMkYDAplQNKkyg==";
+        url = "https://registry.npmjs.org/cron/-/cron-1.7.2.tgz";
+        sha512 = "+SaJ2OfeRvfQqwXQ2kgr0Y5pzBR/lijf5OpnnaruwWnmI799JfWr2jN2ItOV9s3A/+TFOt6mxvKzQq5F0Jp6VQ==";
+      };
+    };
+    "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==";
       };
     };
     "cross-spawn-4.0.2" = {
@@ -1507,13 +1849,22 @@ let
         sha1 = "7b9247621c23adfdd3856004a823cbe397424d41";
       };
     };
-    "crypto-js-4.0.0" = {
+    "crypt-0.0.2" = {
+      name = "crypt";
+      packageName = "crypt";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz";
+        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+      };
+    };
+    "crypto-js-4.1.1" = {
       name = "crypto-js";
       packageName = "crypto-js";
-      version = "4.0.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz";
-        sha512 = "bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==";
+        url = "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz";
+        sha512 = "o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==";
       };
     };
     "csrf-3.1.0" = {
@@ -1525,31 +1876,22 @@ let
         sha512 = "uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==";
       };
     };
-    "css-select-3.1.2" = {
+    "css-select-4.2.1" = {
       name = "css-select";
       packageName = "css-select";
-      version = "3.1.2";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz";
-        sha512 = "qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==";
+        url = "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz";
+        sha512 = "/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==";
       };
     };
-    "css-what-4.0.0" = {
+    "css-what-5.1.0" = {
       name = "css-what";
       packageName = "css-what";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz";
-        sha512 = "teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==";
-      };
-    };
-    "d-1.0.1" = {
-      name = "d";
-      packageName = "d";
-      version = "1.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz";
-        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
+        url = "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz";
+        sha512 = "arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==";
       };
     };
     "dashdash-1.14.1" = {
@@ -1579,15 +1921,6 @@ let
         sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     };
-    "debug-3.1.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
-        sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
-      };
-    };
     "debug-3.2.7" = {
       name = "debug";
       packageName = "debug";
@@ -1597,31 +1930,31 @@ let
         sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     };
-    "debug-4.3.1" = {
+    "debug-4.3.2" = {
       name = "debug";
       packageName = "debug";
-      version = "4.3.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz";
-        sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     };
-    "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-1.2.0" = {
-      name = "decamelize";
-      packageName = "decamelize";
-      version = "1.2.0";
+    "debuglog-1.0.1" = {
+      name = "debuglog";
+      packageName = "debuglog";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+        url = "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
+        sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
       };
     };
     "deep-extend-0.6.0" = {
@@ -1633,6 +1966,24 @@ let
         sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
     "delayed-stream-1.0.0" = {
       name = "delayed-stream";
       packageName = "delayed-stream";
@@ -1651,13 +2002,22 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
-    "denque-1.5.0" = {
+    "denque-1.5.1" = {
       name = "denque";
       packageName = "denque";
-      version = "1.5.0";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz";
+        sha512 = "XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==";
+      };
+    };
+    "denque-2.0.1" = {
+      name = "denque";
+      packageName = "denque";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz";
-        sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
+        url = "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz";
+        sha512 = "tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==";
       };
     };
     "depd-1.1.2" = {
@@ -1705,6 +2065,15 @@ let
         sha512 = "8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==";
       };
     };
+    "difflib-0.2.4" = {
+      name = "difflib";
+      packageName = "difflib";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz";
+        sha1 = "b5e30361a6db023176d562892db85940a718f47e";
+      };
+    };
     "dir-glob-3.0.1" = {
       name = "dir-glob";
       packageName = "dir-glob";
@@ -1714,76 +2083,49 @@ let
         sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
       };
     };
-    "dom-serializer-0.2.2" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "0.2.2";
+    "discontinuous-range-1.0.0" = {
+      name = "discontinuous-range";
+      packageName = "discontinuous-range";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz";
-        sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
+        url = "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
+        sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a";
       };
     };
-    "dom-serializer-1.2.0" = {
+    "dom-serializer-1.3.2" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz";
-        sha512 = "n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==";
-      };
-    };
-    "domelementtype-1.3.1" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz";
-        sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
+        sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
       };
     };
-    "domelementtype-2.1.0" = {
+    "domelementtype-2.2.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
-        sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
-      };
-    };
-    "domhandler-2.4.2" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "2.4.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz";
-        sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
+        sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
       };
     };
-    "domhandler-4.0.0" = {
+    "domhandler-4.3.0" = {
       name = "domhandler";
       packageName = "domhandler";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz";
-        sha512 = "KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==";
-      };
-    };
-    "domutils-1.7.0" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "1.7.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz";
-        sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz";
+        sha512 = "fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==";
       };
     };
-    "domutils-2.4.4" = {
+    "domutils-2.8.0" = {
       name = "domutils";
       packageName = "domutils";
-      version = "2.4.4";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz";
-        sha512 = "jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==";
+        url = "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz";
+        sha512 = "w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==";
       };
     };
     "dot-case-3.0.4" = {
@@ -1795,22 +2137,22 @@ let
         sha512 = "Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==";
       };
     };
-    "dotenv-8.2.0" = {
+    "dotenv-8.6.0" = {
       name = "dotenv";
       packageName = "dotenv";
-      version = "8.2.0";
+      version = "8.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz";
-        sha512 = "8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==";
+        url = "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz";
+        sha512 = "IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==";
       };
     };
-    "double-ended-queue-2.1.0-0" = {
-      name = "double-ended-queue";
-      packageName = "double-ended-queue";
-      version = "2.1.0-0";
+    "dreamopt-0.6.0" = {
+      name = "dreamopt";
+      packageName = "dreamopt";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz";
-        sha1 = "103d3527fd31528f40188130c841efdd78264e5c";
+        url = "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz";
+        sha1 = "d813ccdac8d39d8ad526775514a13dda664d6b4b";
       };
     };
     "duplexify-3.7.1" = {
@@ -1903,24 +2245,6 @@ let
         sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
-    "entities-1.1.2" = {
-      name = "entities";
-      packageName = "entities";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz";
-        sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
-      };
-    };
-    "entities-2.1.0" = {
-      name = "entities";
-      packageName = "entities";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz";
-        sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
-      };
-    };
     "entities-2.2.0" = {
       name = "entities";
       packageName = "entities";
@@ -1939,31 +2263,40 @@ let
         sha512 = "bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==";
       };
     };
-    "es5-ext-0.10.53" = {
-      name = "es5-ext";
-      packageName = "es5-ext";
-      version = "0.10.53";
+    "err-code-2.0.3" = {
+      name = "err-code";
+      packageName = "err-code";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
-        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
+        url = "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz";
+        sha512 = "2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==";
       };
     };
-    "es6-iterator-2.0.3" = {
-      name = "es6-iterator";
-      packageName = "es6-iterator";
-      version = "2.0.3";
+    "es-abstract-1.19.1" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
-        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz";
+        sha512 = "2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==";
       };
     };
-    "es6-map-0.1.5" = {
-      name = "es6-map";
-      packageName = "es6-map";
-      version = "0.1.5";
+    "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/es6-map/-/es6-map-0.1.5.tgz";
-        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
+      };
+    };
+    "es5-ext-0.8.2" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz";
+        sha1 = "aba8d9e1943a895ac96837a62a39b3f55ecd94ab";
       };
     };
     "es6-promise-4.2.8" = {
@@ -1984,33 +2317,6 @@ let
         sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
       };
     };
-    "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==";
-      };
-    };
     "escalade-3.1.1" = {
       name = "escalade";
       packageName = "escalade";
@@ -2074,22 +2380,40 @@ let
         sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
       };
     };
-    "event-emitter-0.3.5" = {
-      name = "event-emitter";
-      packageName = "event-emitter";
-      version = "0.3.5";
+    "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==";
+      };
+    };
+    "events-1.1.1" = {
+      name = "events";
+      packageName = "events";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/events/-/events-1.1.1.tgz";
+        sha1 = "9ebdb7635ad099c70dcc4c2a1f5004288e8bd924";
+      };
+    };
+    "events-3.3.0" = {
+      name = "events";
+      packageName = "events";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
-        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+        url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz";
+        sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
       };
     };
-    "eventsource-1.0.7" = {
+    "eventsource-1.1.0" = {
       name = "eventsource";
       packageName = "eventsource";
-      version = "1.0.7";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz";
-        sha512 = "4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==";
+        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz";
+        sha512 = "VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==";
       };
     };
     "exit-on-epipe-1.0.1" = {
@@ -2101,22 +2425,22 @@ let
         sha512 = "h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==";
       };
     };
-    "express-4.17.1" = {
-      name = "express";
-      packageName = "express";
-      version = "4.17.1";
+    "expand-tilde-2.0.2" = {
+      name = "expand-tilde";
+      packageName = "expand-tilde";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz";
-        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
+        url = "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz";
+        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
       };
     };
-    "ext-1.4.0" = {
-      name = "ext";
-      packageName = "ext";
-      version = "1.4.0";
+    "express-4.17.2" = {
+      name = "express";
+      packageName = "express";
+      version = "4.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz";
-        sha512 = "Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==";
+        url = "https://registry.npmjs.org/express/-/express-4.17.2.tgz";
+        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
       };
     };
     "extend-3.0.2" = {
@@ -2155,13 +2479,13 @@ let
         sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
-    "fast-glob-3.2.5" = {
+    "fast-glob-3.2.11" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.5";
+      version = "3.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
-        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz";
+        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -2173,58 +2497,40 @@ let
         sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
-    "fast-safe-stringify-2.0.7" = {
-      name = "fast-safe-stringify";
-      packageName = "fast-safe-stringify";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";
-        sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==";
-      };
-    };
-    "fastq-1.10.1" = {
+    "fastq-1.13.0" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.10.1";
+      version = "1.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz";
-        sha512 = "AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==";
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz";
+        sha512 = "YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==";
       };
     };
-    "fecha-4.2.0" = {
+    "fecha-4.2.1" = {
       name = "fecha";
       packageName = "fecha";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz";
-        sha512 = "aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==";
-      };
-    };
-    "fflate-0.3.11" = {
-      name = "fflate";
-      packageName = "fflate";
-      version = "0.3.11";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fflate/-/fflate-0.3.11.tgz";
-        sha512 = "Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A==";
+        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz";
+        sha512 = "MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==";
       };
     };
-    "fflate-0.4.8" = {
+    "fflate-0.7.3" = {
       name = "fflate";
       packageName = "fflate";
-      version = "0.4.8";
+      version = "0.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz";
-        sha512 = "FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==";
+        url = "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz";
+        sha512 = "0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==";
       };
     };
-    "figlet-1.5.0" = {
+    "figlet-1.5.2" = {
       name = "figlet";
       packageName = "figlet";
-      version = "1.5.0";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/figlet/-/figlet-1.5.0.tgz";
-        sha512 = "ZQJM4aifMpz6H19AW1VqvZ7l4pOE9p7i/3LyxgO2kp+PO/VcDYNqIHEMtkccqIhTXMKci4kjueJr/iCQEaT/Ww==";
+        url = "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz";
+        sha512 = "WOn21V8AhyE1QqVfPIVxe3tupJacq1xGkPTB4iagT6o+P2cAgEOOwIxMftr4+ZCTI6d551ij9j61DFr0nsP2uQ==";
       };
     };
     "figures-3.2.0" = {
@@ -2263,13 +2569,13 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
-    "flatted-2.0.2" = {
+    "flatted-3.2.5" = {
       name = "flatted";
       packageName = "flatted";
-      version = "2.0.2";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz";
-        sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     };
     "fn.name-1.1.0" = {
@@ -2281,22 +2587,22 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.13.2" = {
+    "follow-redirects-1.14.8" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.13.2";
+      version = "1.14.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz";
-        sha512 = "6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz";
+        sha512 = "1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==";
       };
     };
-    "follow-redirects-1.5.10" = {
-      name = "follow-redirects";
-      packageName = "follow-redirects";
-      version = "1.5.10";
+    "for-each-0.3.3" = {
+      name = "for-each";
+      packageName = "for-each";
+      version = "0.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz";
-        sha512 = "0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==";
+        url = "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz";
+        sha512 = "jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==";
       };
     };
     "forever-agent-0.6.1" = {
@@ -2317,22 +2623,49 @@ let
         sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
       };
     };
-    "formidable-1.2.2" = {
+    "form-data-2.5.1" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz";
+        sha512 = "m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==";
+      };
+    };
+    "form-data-3.0.1" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz";
+        sha512 = "RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==";
+      };
+    };
+    "form-data-4.0.0" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz";
+        sha512 = "ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==";
+      };
+    };
+    "formidable-1.2.6" = {
       name = "formidable";
       packageName = "formidable";
-      version = "1.2.2";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz";
-        sha512 = "V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==";
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz";
+        sha512 = "KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==";
       };
     };
-    "forwarded-0.1.2" = {
+    "forwarded-0.2.0" = {
       name = "forwarded";
       packageName = "forwarded";
-      version = "0.1.2";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
-        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz";
+        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
       };
     };
     "frac-1.1.2" = {
@@ -2380,6 +2713,15 @@ let
         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==";
+      };
+    };
     "gauge-2.7.4" = {
       name = "gauge";
       packageName = "gauge";
@@ -2398,6 +2740,24 @@ let
         sha512 = "eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==";
       };
     };
+    "generic-pool-3.8.2" = {
+      name = "generic-pool";
+      packageName = "generic-pool";
+      version = "3.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz";
+        sha512 = "nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==";
+      };
+    };
+    "get-caller-file-1.0.3" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
+      };
+    };
     "get-caller-file-2.0.5" = {
       name = "get-caller-file";
       packageName = "get-caller-file";
@@ -2407,6 +2767,33 @@ let
         sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     };
+    "get-intrinsic-1.1.1" = {
+      name = "get-intrinsic";
+      packageName = "get-intrinsic";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
+        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
+      };
+    };
+    "get-port-5.1.1" = {
+      name = "get-port";
+      packageName = "get-port";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz";
+        sha512 = "g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==";
+      };
+    };
+    "get-symbol-description-1.0.0" = {
+      name = "get-symbol-description";
+      packageName = "get-symbol-description";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz";
+        sha512 = "2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==";
+      };
+    };
     "get-system-fonts-2.0.2" = {
       name = "get-system-fonts";
       packageName = "get-system-fonts";
@@ -2425,13 +2812,13 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.6" = {
+    "glob-7.2.0" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.6";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz";
+        sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
       };
     };
     "glob-parent-3.1.0" = {
@@ -2443,22 +2830,13 @@ let
         sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
       };
     };
-    "glob-parent-5.1.1" = {
+    "glob-parent-5.1.2" = {
       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==";
-      };
-    };
-    "glob-promise-3.4.0" = {
-      name = "glob-promise";
-      packageName = "glob-promise";
-      version = "3.4.0";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob-promise/-/glob-promise-3.4.0.tgz";
-        sha512 = "q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==";
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz";
+        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
       };
     };
     "glob-stream-6.1.0" = {
@@ -2470,13 +2848,13 @@ let
         sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
       };
     };
-    "globby-11.0.2" = {
+    "globby-11.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.2";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz";
-        sha512 = "2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
     "gm-1.23.1" = {
@@ -2497,13 +2875,22 @@ let
         sha512 = "UWXQ7BpSCW8erDespU2I4cri22xsKgwOCyhsJal0OJhi2tFpwJpsYNJt4vCiFPL1p2HzCGiS713LKpNR25n9Kg==";
       };
     };
-    "graceful-fs-4.2.4" = {
+    "graceful-fs-4.2.9" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.4";
+      version = "4.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
+      };
+    };
+    "handlebars-4.7.7" = {
+      name = "handlebars";
+      packageName = "handlebars";
+      version = "4.7.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz";
+        sha512 = "aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==";
       };
     };
     "har-schema-2.0.0" = {
@@ -2524,6 +2911,15 @@ let
         sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
       };
     };
+    "has-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+      };
+    };
     "has-ansi-2.0.0" = {
       name = "has-ansi";
       packageName = "has-ansi";
@@ -2533,13 +2929,13 @@ let
         sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
       };
     };
-    "has-flag-3.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "3.0.0";
+    "has-bigints-1.0.1" = {
+      name = "has-bigints";
+      packageName = "has-bigints";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz";
+        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
       };
     };
     "has-flag-4.0.0" = {
@@ -2551,6 +2947,24 @@ let
         sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
+    "has-symbols-1.0.2" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
+        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
+      };
+    };
+    "has-tostringtag-1.0.0" = {
+      name = "has-tostringtag";
+      packageName = "has-tostringtag";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
+        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
+      };
+    };
     "has-unicode-2.0.1" = {
       name = "has-unicode";
       packageName = "has-unicode";
@@ -2578,6 +2992,15 @@ let
         sha512 = "H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==";
       };
     };
+    "heap-0.2.7" = {
+      name = "heap";
+      packageName = "heap";
+      version = "0.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz";
+        sha512 = "2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==";
+      };
+    };
     "help-me-1.1.0" = {
       name = "help-me";
       packageName = "help-me";
@@ -2587,49 +3010,58 @@ let
         sha1 = "8f2d508d0600b4a456da2f086556e7e5c056a3c6";
       };
     };
-    "highlight.js-10.5.0" = {
+    "highlight.js-10.7.3" = {
       name = "highlight.js";
       packageName = "highlight.js";
-      version = "10.5.0";
+      version = "10.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz";
-        sha512 = "xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==";
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz";
+        sha512 = "tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==";
       };
     };
-    "html-to-text-5.1.1" = {
-      name = "html-to-text";
-      packageName = "html-to-text";
-      version = "5.1.1";
+    "homedir-polyfill-1.0.3" = {
+      name = "homedir-polyfill";
+      packageName = "homedir-polyfill";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-5.1.1.tgz";
-        sha512 = "Bci6bD/JIfZSvG4s0gW/9mMKwBRoe/1RWLxUME/d6WUSZCdY7T60bssf/jFf7EYXRyqU4P5xdClVqiYU0/ypdA==";
+        url = "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
+        sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     };
-    "htmlparser2-3.10.1" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "3.10.1";
+    "html-to-text-8.0.0" = {
+      name = "html-to-text";
+      packageName = "html-to-text";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz";
-        sha512 = "IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==";
+        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-8.0.0.tgz";
+        sha512 = "fEtul1OerF2aMEV+Wpy+Ue20tug134jOY1GIudtdqZi7D0uTudB2tVJBKfVhTL03dtqeJoF8gk8EPX9SyMEvLg==";
       };
     };
-    "htmlparser2-6.0.0" = {
+    "htmlparser2-6.1.0" = {
       name = "htmlparser2";
       packageName = "htmlparser2";
-      version = "6.0.0";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz";
-        sha512 = "numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==";
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz";
+        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" = {
+      name = "http-proxy-agent";
+      packageName = "http-proxy-agent";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
+        sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
       };
     };
     "http-signature-1.2.0" = {
@@ -2641,6 +3073,15 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
+    "http-signature-1.3.6" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz";
+        sha512 = "3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==";
+      };
+    };
     "https-proxy-agent-3.0.1" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
@@ -2650,6 +3091,15 @@ let
         sha512 = "+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==";
       };
     };
+    "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";
@@ -2659,15 +3109,6 @@ let
         sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     };
-    "iconv-lite-0.5.0" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz";
-        sha512 = "NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==";
-      };
-    };
     "iconv-lite-0.5.2" = {
       name = "iconv-lite";
       packageName = "iconv-lite";
@@ -2686,6 +3127,33 @@ let
         sha512 = "2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==";
       };
     };
+    "iconv-lite-0.6.3" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";
+        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
+      };
+    };
+    "ics-2.35.0" = {
+      name = "ics";
+      packageName = "ics";
+      version = "2.35.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ics/-/ics-2.35.0.tgz";
+        sha512 = "uxHoiu9VnE/1RUIWoUqn9GVswUzrejHFa5Gk20gGySw+2FO8xzgJe7GLFk+hzmevHViG/6zANLhjVY6kFWctKQ==";
+      };
+    };
+    "ieee754-1.1.13" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz";
+        sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==";
+      };
+    };
     "ieee754-1.2.1" = {
       name = "ieee754";
       packageName = "ieee754";
@@ -2695,22 +3163,22 @@ let
         sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
       };
     };
-    "ignore-5.1.8" = {
+    "ignore-5.2.0" = {
       name = "ignore";
       packageName = "ignore";
-      version = "5.1.8";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz";
-        sha512 = "BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==";
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
+        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
       };
     };
-    "ignore-walk-3.0.3" = {
+    "ignore-walk-3.0.4" = {
       name = "ignore-walk";
       packageName = "ignore-walk";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
-        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz";
+        sha512 = "PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==";
       };
     };
     "imap-0.8.19" = {
@@ -2749,15 +3217,6 @@ let
         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";
@@ -2785,6 +3244,24 @@ let
         sha512 = "JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==";
       };
     };
+    "internal-slot-1.0.3" = {
+      name = "internal-slot";
+      packageName = "internal-slot";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz";
+        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
+      };
+    };
+    "ioredis-4.28.5" = {
+      name = "ioredis";
+      packageName = "ioredis";
+      version = "4.28.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz";
+        sha512 = "3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==";
+      };
+    };
     "ip-regex-2.1.0" = {
       name = "ip-regex";
       packageName = "ip-regex";
@@ -2821,13 +3298,67 @@ let
         sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
       };
     };
-    "is-docker-2.1.1" = {
+    "is-bigint-1.0.4" = {
+      name = "is-bigint";
+      packageName = "is-bigint";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz";
+        sha512 = "zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==";
+      };
+    };
+    "is-binary-path-2.1.0" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
+      };
+    };
+    "is-boolean-object-1.1.2" = {
+      name = "is-boolean-object";
+      packageName = "is-boolean-object";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz";
+        sha512 = "gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==";
+      };
+    };
+    "is-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-callable-1.2.4" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz";
+        sha512 = "nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==";
+      };
+    };
+    "is-date-object-1.0.5" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz";
+        sha512 = "9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==";
+      };
+    };
+    "is-docker-2.2.1" = {
       name = "is-docker";
       packageName = "is-docker";
-      version = "2.1.1";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz";
-        sha512 = "ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==";
+        url = "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz";
+        sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -2848,15 +3379,6 @@ let
         sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
       };
     };
-    "is-fullwidth-code-point-2.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
-        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
-      };
-    };
     "is-fullwidth-code-point-3.0.0" = {
       name = "is-fullwidth-code-point";
       packageName = "is-fullwidth-code-point";
@@ -2875,13 +3397,22 @@ let
         sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
       };
     };
-    "is-glob-4.0.1" = {
+    "is-glob-4.0.3" = {
       name = "is-glob";
       packageName = "is-glob";
-      version = "4.0.1";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
-        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz";
+        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
+      };
+    };
+    "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-negated-glob-1.0.0" = {
@@ -2893,6 +3424,15 @@ let
         sha1 = "6910bca5da8c95e784b5751b976cf5a10fee36d2";
       };
     };
+    "is-negative-zero-2.0.2" = {
+      name = "is-negative-zero";
+      packageName = "is-negative-zero";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz";
+        sha512 = "dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==";
+      };
+    };
     "is-number-7.0.0" = {
       name = "is-number";
       packageName = "is-number";
@@ -2902,6 +3442,15 @@ let
         sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
+    "is-number-object-1.0.6" = {
+      name = "is-number-object";
+      packageName = "is-number-object";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz";
+        sha512 = "bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==";
+      };
+    };
     "is-promise-1.0.1" = {
       name = "is-promise";
       packageName = "is-promise";
@@ -2920,6 +3469,15 @@ let
         sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
       };
     };
+    "is-regex-1.1.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz";
+        sha512 = "kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==";
+      };
+    };
     "is-relative-1.0.0" = {
       name = "is-relative";
       packageName = "is-relative";
@@ -2929,13 +3487,49 @@ let
         sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==";
       };
     };
-    "is-stream-2.0.0" = {
+    "is-retry-allowed-2.2.0" = {
+      name = "is-retry-allowed";
+      packageName = "is-retry-allowed";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz";
+        sha512 = "XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==";
+      };
+    };
+    "is-shared-array-buffer-1.0.1" = {
+      name = "is-shared-array-buffer";
+      packageName = "is-shared-array-buffer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz";
+        sha512 = "IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==";
+      };
+    };
+    "is-stream-2.0.1" = {
       name = "is-stream";
       packageName = "is-stream";
-      version = "2.0.0";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz";
+        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
+      };
+    };
+    "is-string-1.0.7" = {
+      name = "is-string";
+      packageName = "is-string";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz";
+        sha512 = "tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==";
+      };
+    };
+    "is-symbol-1.0.4" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
-        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz";
+        sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -2956,6 +3550,15 @@ let
         sha512 = "mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==";
       };
     };
+    "is-weakref-1.0.2" = {
+      name = "is-weakref";
+      packageName = "is-weakref";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz";
+        sha512 = "qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==";
+      };
+    };
     "is-windows-1.0.2" = {
       name = "is-windows";
       packageName = "is-windows";
@@ -2992,6 +3595,15 @@ let
         sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
       };
     };
+    "isbot-3.4.2" = {
+      name = "isbot";
+      packageName = "isbot";
+      version = "3.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isbot/-/isbot-3.4.2.tgz";
+        sha512 = "b59O14840ltLAGq8z+M8VhL+1CdrjbZYQIhQBPacutjl27Ypa2/UksJ1DRzWOz19F5H/2d2pstbdAp7+b0ph+A==";
+      };
+    };
     "isexe-2.0.0" = {
       name = "isexe";
       packageName = "isexe";
@@ -3001,13 +3613,13 @@ let
         sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
       };
     };
-    "iso-639-1-2.1.7" = {
+    "iso-639-1-2.1.13" = {
       name = "iso-639-1";
       packageName = "iso-639-1";
-      version = "2.1.7";
+      version = "2.1.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.7.tgz";
-        sha512 = "vPBh9Exxv0c430dRYiKtRt6TgErlsKy22Nkz473HFkzRkWTZeM7RLfX2raDoD7g74kA7HB4S2giwu6ZwiisQtg==";
+        url = "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.13.tgz";
+        sha512 = "stYt3u6OnVDNcK4IWARGXmTOOY5Wa5g4bUmBsttZp/55ZiEjDUibR3C59ZnorKoSS0tfJmFuGMST3ksnY1zu7Q==";
       };
     };
     "isstream-0.1.2" = {
@@ -3019,6 +3631,24 @@ let
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
+    "jmespath-0.16.0" = {
+      name = "jmespath";
+      packageName = "jmespath";
+      version = "0.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz";
+        sha512 = "9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==";
+      };
+    };
+    "join-component-1.1.0" = {
+      name = "join-component";
+      packageName = "join-component";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz";
+        sha1 = "b8417b750661a392bee2c2537c68b2a9d4977cd5";
+      };
+    };
     "js-yaml-3.14.1" = {
       name = "js-yaml";
       packageName = "js-yaml";
@@ -3028,13 +3658,13 @@ let
         sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     };
-    "jsbi-3.1.4" = {
+    "jsbi-3.2.5" = {
       name = "jsbi";
       packageName = "jsbi";
-      version = "3.1.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsbi/-/jsbi-3.1.4.tgz";
-        sha512 = "52QRRFSsi9impURE8ZUbzAMCLjPm4THO7H2fcuIvaaeFTbSysvkodbQQXIVsNgq/ypDbq6dJiuGKL0vZ/i9hUg==";
+        url = "https://registry.npmjs.org/jsbi/-/jsbi-3.2.5.tgz";
+        sha512 = "aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ==";
       };
     };
     "jsbn-0.1.1" = {
@@ -3046,13 +3676,22 @@ let
         sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     };
-    "json-schema-0.2.3" = {
+    "json-diff-0.5.5" = {
+      name = "json-diff";
+      packageName = "json-diff";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-diff/-/json-diff-0.5.5.tgz";
+        sha512 = "B2RSfPv8Y5iqm6/9aKC3cOhXPzjYupKDpGuqT5py9NRulL8J0UoB/zKXUo70xBsuxPcIFgtsGgEdXLrNp0GL7w==";
+      };
+    };
+    "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" = {
@@ -3082,15 +3721,6 @@ let
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
-    "json5-2.1.0" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz";
-        sha512 = "8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==";
-      };
-    };
     "jsonfile-4.0.0" = {
       name = "jsonfile";
       packageName = "jsonfile";
@@ -3109,13 +3739,22 @@ let
         sha512 = "XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==";
       };
     };
-    "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.2.tgz";
+        sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==";
+      };
+    };
+    "jsprim-2.0.2" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz";
+        sha512 = "gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==";
       };
     };
     "jwa-1.4.1" = {
@@ -3127,13 +3766,13 @@ let
         sha512 = "qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==";
       };
     };
-    "jwks-rsa-1.9.0" = {
+    "jwks-rsa-1.12.3" = {
       name = "jwks-rsa";
       packageName = "jwks-rsa";
-      version = "1.9.0";
+      version = "1.12.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.9.0.tgz";
-        sha512 = "UPCfQQg0s2kF2Ju6UFJrQH73f7MaVN/hKBnYBYOp+X9KN4y6TLChhLtaXS5nRKbZqshwVdrZ9OY63m/Q9CLqcg==";
+        url = "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.12.3.tgz";
+        sha512 = "cFipFDeYYaO9FhhYJcZWX/IyZgc0+g316rcHnDpT2dNRNIE/lMOmWKKqp09TkJoYlNFzrEVODsR4GgXJMgWhnA==";
       };
     };
     "jws-3.2.2" = {
@@ -3145,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" = {
@@ -3190,15 +3829,6 @@ let
         sha512 = "l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==";
       };
     };
-    "libmime-4.2.1" = {
-      name = "libmime";
-      packageName = "libmime";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/libmime/-/libmime-4.2.1.tgz";
-        sha512 = "09y7zjSc5im1aNsq815zgo4/G3DnIzym3aDOHsGq4Ee5vrX4PdgQRybAsztz9Rv0NhO+J5C0llEUloa3sUmjmA==";
-      };
-    };
     "libmime-5.0.0" = {
       name = "libmime";
       packageName = "libmime";
@@ -3208,6 +3838,15 @@ let
         sha512 = "2Bm96d5ktnE217Ib1FldvUaPAaOst6GtZrsxJCwnJgi9lnsoAKIHyU0sae8rNx6DNYbjdqqh8lv5/b9poD8qOg==";
       };
     };
+    "libphonenumber-js-1.9.49" = {
+      name = "libphonenumber-js";
+      packageName = "libphonenumber-js";
+      version = "1.9.49";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.49.tgz";
+        sha512 = "/wEOIONcVboFky+lWlCaF7glm1FhBz11M5PHeCApA+xDdVfmhKjHktHS8KjyGxouV5CSXIr4f3GvLSpJa4qMSg==";
+      };
+    };
     "libqp-1.1.0" = {
       name = "libqp";
       packageName = "libqp";
@@ -3226,40 +3865,40 @@ let
         sha512 = "FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==";
       };
     };
-    "linkify-it-3.0.2" = {
+    "linkify-it-3.0.3" = {
       name = "linkify-it";
       packageName = "linkify-it";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz";
-        sha512 = "gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==";
+        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz";
+        sha512 = "ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==";
       };
     };
-    "localtunnel-2.0.1" = {
+    "localtunnel-2.0.2" = {
       name = "localtunnel";
       packageName = "localtunnel";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.1.tgz";
-        sha512 = "LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA==";
+        url = "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz";
+        sha512 = "n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==";
       };
     };
-    "lodash-4.17.20" = {
+    "lodash-4.17.21" = {
       name = "lodash";
       packageName = "lodash";
-      version = "4.17.20";
+      version = "4.17.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz";
-        sha512 = "PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==";
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
+        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
       };
     };
-    "lodash._reinterpolate-3.0.0" = {
-      name = "lodash._reinterpolate";
-      packageName = "lodash._reinterpolate";
-      version = "3.0.0";
+    "lodash-es-4.17.21" = {
+      name = "lodash-es";
+      packageName = "lodash-es";
+      version = "4.17.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
-        sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
+        url = "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz";
+        sha512 = "mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==";
       };
     };
     "lodash.clonedeep-4.5.0" = {
@@ -3271,6 +3910,24 @@ let
         sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
       };
     };
+    "lodash.defaults-4.2.0" = {
+      name = "lodash.defaults";
+      packageName = "lodash.defaults";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz";
+        sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
+      };
+    };
+    "lodash.flatten-4.4.0" = {
+      name = "lodash.flatten";
+      packageName = "lodash.flatten";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz";
+        sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f";
+      };
+    };
     "lodash.get-4.4.2" = {
       name = "lodash.get";
       packageName = "lodash.get";
@@ -3289,6 +3946,15 @@ let
         sha1 = "60bb98a87cb923c68ca1e51325483314849f553f";
       };
     };
+    "lodash.isarguments-3.1.0" = {
+      name = "lodash.isarguments";
+      packageName = "lodash.isarguments";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz";
+        sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a";
+      };
+    };
     "lodash.isboolean-3.0.3" = {
       name = "lodash.isboolean";
       packageName = "lodash.isboolean";
@@ -3298,6 +3964,15 @@ let
         sha1 = "6c2e171db2a257cd96802fd43b01b20d5f5870f6";
       };
     };
+    "lodash.isequal-4.5.0" = {
+      name = "lodash.isequal";
+      packageName = "lodash.isequal";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    };
     "lodash.isinteger-4.0.4" = {
       name = "lodash.isinteger";
       packageName = "lodash.isinteger";
@@ -3334,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";
@@ -3352,22 +4036,13 @@ let
         sha1 = "d8757b1da807dde24816b0d6a84bea1a76230b23";
       };
     };
-    "lodash.template-4.5.0" = {
-      name = "lodash.template";
-      packageName = "lodash.template";
-      version = "4.5.0";
+    "lodash.uniqby-4.7.0" = {
+      name = "lodash.uniqby";
+      packageName = "lodash.uniqby";
+      version = "4.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz";
-        sha512 = "84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==";
-      };
-    };
-    "lodash.templatesettings-4.2.0" = {
-      name = "lodash.templatesettings";
-      packageName = "lodash.templatesettings";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz";
-        sha512 = "stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==";
+        url = "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz";
+        sha1 = "d99c07a669e9e6d24e1362dfe266c67616af1302";
       };
     };
     "lodash.unset-4.5.2" = {
@@ -3379,13 +4054,13 @@ let
         sha1 = "370d1d3e85b72a7e1b0cdf2d272121306f23e4ed";
       };
     };
-    "logform-2.2.0" = {
+    "logform-2.4.0" = {
       name = "logform";
       packageName = "logform";
-      version = "2.2.0";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz";
-        sha512 = "N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz";
+        sha512 = "CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==";
       };
     };
     "long-4.0.0" = {
@@ -3397,6 +4072,15 @@ let
         sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
       };
     };
+    "lossless-json-1.0.5" = {
+      name = "lossless-json";
+      packageName = "lossless-json";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.5.tgz";
+        sha512 = "RicKUuLwZVNZ6ZdJHgIZnSeA05p8qWc5NW0uR96mpPIjN9WDLUg9+kj1esQU1GkPn9iLZVKatSQK5gyiaFHgJA==";
+      };
+    };
     "lower-case-2.0.2" = {
       name = "lower-case";
       packageName = "lower-case";
@@ -3424,15 +4108,6 @@ let
         sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
       };
     };
-    "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==";
-      };
-    };
     "lru-cache-6.0.0" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -3451,22 +4126,31 @@ let
         sha512 = "IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==";
       };
     };
-    "mailparser-2.8.1" = {
+    "mailparser-3.4.0" = {
       name = "mailparser";
       packageName = "mailparser";
-      version = "2.8.1";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mailparser/-/mailparser-2.8.1.tgz";
-        sha512 = "H/CYAO9dsw6SFNbEGGpZsejVSWDcFlyHjb1OkHUWg0wggUekva1tNc28trB155nSqM8rhtbwTKt//orX0AmJxQ==";
+        url = "https://registry.npmjs.org/mailparser/-/mailparser-3.4.0.tgz";
+        sha512 = "u2pfpLg+xr7m2FKDl+ohQhy2gMok1QZ+S9E5umS9ez5DSJWttrqSmBGswyj9F68pZMVTwbhLpBt7Kd04q/W4Vw==";
       };
     };
-    "mailsplit-5.0.0" = {
+    "mailsplit-5.3.1" = {
       name = "mailsplit";
       packageName = "mailsplit";
-      version = "5.0.0";
+      version = "5.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mailsplit/-/mailsplit-5.3.1.tgz";
+        sha512 = "o6R6HCzqWYmI2/IYlB+v2IMPgYqC2EynmagZQICAhR7zAq0CO6fPcsO6CrYmVuYT+SSwvLAEZR5WniohBELcAA==";
+      };
+    };
+    "make-dir-3.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mailsplit/-/mailsplit-5.0.0.tgz";
-        sha512 = "HeXA0eyCKBtZqbr7uoeb3Nn2L7VV8Vm27x6/YBb0ZiNzRzLoNS2PqRgGYADwh0cBzLYtqddq40bSSirqLO2LGw==";
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz";
+        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
       };
     };
     "make-error-1.3.6" = {
@@ -3487,6 +4171,24 @@ let
         sha512 = "etgt+n4LlOkGSJbBTV9VROHA5R7ekIPS4vfh+bCAoJgRrJWdqJCBbpS3osRJ/HrT7R68MzMiY3L3sDJ/Fd8aBg==";
       };
     };
+    "mappersmith-2.37.1" = {
+      name = "mappersmith";
+      packageName = "mappersmith";
+      version = "2.37.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mappersmith/-/mappersmith-2.37.1.tgz";
+        sha512 = "3QiXhRADHTK/it1riJMJm/sHmLlGdw3pfLgZJQu9MfT1CNeiO93keNY0BVLlRmpPBsMER/P7kj3mtcAK2V331Q==";
+      };
+    };
+    "md5-2.3.0" = {
+      name = "md5";
+      packageName = "md5";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz";
+        sha512 = "T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==";
+      };
+    };
     "media-typer-0.3.0" = {
       name = "media-typer";
       packageName = "media-typer";
@@ -3496,15 +4198,6 @@ let
         sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
       };
     };
-    "memory-pager-1.5.0" = {
-      name = "memory-pager";
-      packageName = "memory-pager";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz";
-        sha512 = "ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==";
-      };
-    };
     "merge-descriptors-1.0.1" = {
       name = "merge-descriptors";
       packageName = "merge-descriptors";
@@ -3532,13 +4225,13 @@ let
         sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
       };
     };
-    "micromatch-4.0.2" = {
+    "micromatch-4.0.4" = {
       name = "micromatch";
       packageName = "micromatch";
-      version = "4.0.2";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz";
-        sha512 = "y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==";
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz";
+        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
       };
     };
     "millisecond-0.1.2" = {
@@ -3559,22 +4252,22 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.45.0" = {
+    "mime-db-1.51.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.45.0";
+      version = "1.51.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
-        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz";
+        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
       };
     };
-    "mime-types-2.1.28" = {
+    "mime-types-2.1.34" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.28";
+      version = "2.1.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
-        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz";
+        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
       };
     };
     "mimic-fn-2.1.0" = {
@@ -3595,13 +4288,13 @@ let
         sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
       };
     };
-    "minimatch-3.0.4" = {
+    "minimatch-3.1.1" = {
       name = "minimatch";
       packageName = "minimatch";
-      version = "3.0.4";
+      version = "3.1.1";
       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.1.tgz";
+        sha512 = "reLxBcKUPNBnc/sVtAbxgRVFSegoGeLaSjmphNhcwcolhYLRgtJscn5mRl6YRZNQv40Y7P6JM2YhSIsbL9OB5A==";
       };
     };
     "minimist-1.2.5" = {
@@ -3649,58 +4342,76 @@ let
         sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     };
-    "moment-2.24.0" = {
-      name = "moment";
-      packageName = "moment";
-      version = "2.24.0";
+    "mock-require-3.0.3" = {
+      name = "mock-require";
+      packageName = "mock-require";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
-        sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
+        url = "https://registry.npmjs.org/mock-require/-/mock-require-3.0.3.tgz";
+        sha512 = "lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==";
       };
     };
-    "moment-2.28.0" = {
+    "moment-2.29.1" = {
       name = "moment";
       packageName = "moment";
-      version = "2.28.0";
+      version = "2.29.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.28.0.tgz";
-        sha512 = "Z5KOjYmnHyd/ukynmFd/WwyXHd7L4J9vTI/nn5Ap9AVUgaAE15VvQ9MOGmJJygEUklupqIrFnor/tjTwRU+tQw==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
+        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
       };
     };
-    "moment-timezone-0.5.32" = {
+    "moment-timezone-0.5.34" = {
       name = "moment-timezone";
       packageName = "moment-timezone";
-      version = "0.5.32";
+      version = "0.5.34";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz";
+        sha512 = "3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==";
+      };
+    };
+    "monaco-editor-0.29.1" = {
+      name = "monaco-editor";
+      packageName = "monaco-editor";
+      version = "0.29.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.32.tgz";
-        sha512 = "Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA==";
+        url = "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.29.1.tgz";
+        sha512 = "rguaEG/zrPQSaKzQB7IfX/PpNa0qxF1FY8ZXRkN4WIl8qZdTQRSRJCtRto7IMcSgrU6H53RXI+fTcywOBC4aVw==";
       };
     };
-    "mongodb-3.6.3" = {
+    "mongodb-3.7.3" = {
       name = "mongodb";
       packageName = "mongodb";
-      version = "3.6.3";
+      version = "3.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb/-/mongodb-3.6.3.tgz";
-        sha512 = "rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==";
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz";
+        sha512 = "Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==";
       };
     };
-    "mqtt-4.2.1" = {
+    "moo-0.5.1" = {
+      name = "moo";
+      packageName = "moo";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz";
+        sha512 = "I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==";
+      };
+    };
+    "mqtt-4.2.6" = {
       name = "mqtt";
       packageName = "mqtt";
-      version = "4.2.1";
+      version = "4.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.2.1.tgz";
-        sha512 = "Iv893r+jWlo5GkNcPOfCGwW8M49IixwHiKLFFYTociEymSibUVCORVEjPXWPGzSxhn7BdlUeHicbRmWiv0Crkg==";
+        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.2.6.tgz";
+        sha512 = "GpxVObyOzL0CGPBqo6B04GinN8JLk12NRYAIkYvARd9ZCoJKevvOyCaWK6bdK/kFSDj3LPDnCsJbezzNlsi87Q==";
       };
     };
-    "mqtt-packet-6.7.0" = {
+    "mqtt-packet-6.10.0" = {
       name = "mqtt-packet";
       packageName = "mqtt-packet";
-      version = "6.7.0";
+      version = "6.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.7.0.tgz";
-        sha512 = "GzgeeCirQpB59FyhHvf8BLiIYgxctPSxuSyaF2vWnkt7paX7jtuQ8Gpl+DkHCxZmYuv7GQE6zcUAegpafd0MqQ==";
+        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz";
+        sha512 = "ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==";
       };
     };
     "ms-2.0.0" = {
@@ -3712,31 +4423,31 @@ let
         sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
-    "ms-2.1.1" = {
+    "ms-2.1.2" = {
       name = "ms";
       packageName = "ms";
-      version = "2.1.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
-        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
-    "ms-2.1.2" = {
+    "ms-2.1.3" = {
       name = "ms";
       packageName = "ms";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "mssql-6.3.1" = {
+    "mssql-6.4.0" = {
       name = "mssql";
       packageName = "mssql";
-      version = "6.3.1";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mssql/-/mssql-6.3.1.tgz";
-        sha512 = "ammxrhbdDpcBWhiZLiy6miiU7ELt9qFbGvwmPbiufn+tBHAYUFR/AgwE4/v4jzPzbatowscmhFx1U61L91uVzQ==";
+        url = "https://registry.npmjs.org/mssql/-/mssql-6.4.0.tgz";
+        sha512 = "Mtgu3PXqoaL7aHCMurttvEHibjvz5XKjlR6ZCDyAeKtDBORpxm88JyzEU2EESVf7588GulYKc7Gr+Txf5CICBQ==";
       };
     };
     "mute-stream-0.0.8" = {
@@ -3748,13 +4459,13 @@ let
         sha512 = "nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==";
       };
     };
-    "mysql2-2.1.0" = {
+    "mysql2-2.3.3" = {
       name = "mysql2";
       packageName = "mysql2";
-      version = "2.1.0";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mysql2/-/mysql2-2.1.0.tgz";
-        sha512 = "9kGVyi930rG2KaHrz3sHwtc6K+GY9d8wWk1XRSYxQiunvGcn4DwuZxOwmK11ftuhhwrYDwGx9Ta4VBwznJn36A==";
+        url = "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz";
+        sha512 = "wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==";
       };
     };
     "mz-2.7.0" = {
@@ -3766,40 +4477,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.62.0" = {
+    "n8n-core-0.104.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.62.0";
+      version = "0.104.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.62.0.tgz";
-        sha512 = "07RkPn6V5dCov3yt5zu5ASq2ibflji+dSGrSk7wnVrklGPBieuUjpZQuA7QrfQyjy5JUNDDp/Js+XGO8Vx3tew==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.104.0.tgz";
+        sha512 = "rh8ooCF0zeVjic6JWByuCzcltpeV/OJjUmLcChXU3S6peggCvazvxlU6GOF/+YT69CeQdHwhTmOXSEevu0uzVQ==";
       };
     };
-    "n8n-editor-ui-0.75.0" = {
+    "n8n-design-system-0.11.0" = {
+      name = "n8n-design-system";
+      packageName = "n8n-design-system";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.11.0.tgz";
+        sha512 = "KL64XTr9sqqiBEEV7on2cdLooleHPyXClFL+THUy2oXDbGqdlyCGykukU7S4aX+nSjrJEQEDMaMcbw3NCHrumg==";
+      };
+    };
+    "n8n-editor-ui-0.130.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.75.0";
+      version = "0.130.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.75.0.tgz";
-        sha512 = "YWwiqGwTXxpuXjVB5d9qnjxoz55um27zwEfoXS63mNTDfDdIeuxHKQCY2pMWIjwXeYnx0x31NDhoSfjb8YRffA==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.130.0.tgz";
+        sha512 = "UNvZ3CTcqmxJs1JuhLPSMo18nlakzFYAyJ8UKwCvAOGVfGltHweVeaKHnAEs0legDAkdJ3yEtaebTrQjF+dCoA==";
       };
     };
-    "n8n-nodes-base-0.102.0" = {
+    "n8n-nodes-base-0.161.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.102.0";
+      version = "0.161.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.102.0.tgz";
-        sha512 = "WDUh2c0qCNDf2c8ZwkA/9RrkU/64A364P2t3wE1c66a8E/n/QJyiLnd4BJAu96cdcm+n2A0DwO9+gX1F50EU5A==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.161.0.tgz";
+        sha512 = "WRTzmzDO3dKZF6WRzQ/d6w2TaYLoPUb+X1kjDWaxF5omwz6UFc63dVtJ+irhyQR8wRj3/ytdrS3xEMDxZ9vXlg==";
       };
     };
-    "n8n-workflow-0.51.0" = {
+    "n8n-workflow-0.86.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.51.0";
+      version = "0.86.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.51.0.tgz";
-        sha512 = "KLjbJ10QhXc7clzmVRO60mftzZTeYR/MSC/RSobJBCzYGbAtnEp38YDg6a3ekznlwd6eIyTcD68xmv4EbSb2dQ==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.86.0.tgz";
+        sha512 = "+Kdo5RMEsh7QJ8AkWNTSpyxYRtjpxPmPfifVAFg4HVguW7g5e7f74xlmqD2xnxQybC9B3f6jxvx6WMKbNcT/+A==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -3811,13 +4531,22 @@ let
         sha512 = "wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==";
       };
     };
-    "nan-2.14.2" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.14.2";
+    "nanoclone-0.2.1" = {
+      name = "nanoclone";
+      packageName = "nanoclone";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz";
-        sha512 = "M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==";
+        url = "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz";
+        sha512 = "wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==";
+      };
+    };
+    "nanoid-3.2.0" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz";
+        sha512 = "fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==";
       };
     };
     "native-duplexpair-1.0.0" = {
@@ -3829,31 +4558,40 @@ let
         sha1 = "7899078e64bf3c8a3d732601b3d40ff05db58fa0";
       };
     };
-    "needle-2.6.0" = {
+    "nearley-2.20.1" = {
+      name = "nearley";
+      packageName = "nearley";
+      version = "2.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz";
+        sha512 = "+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==";
+      };
+    };
+    "needle-2.9.1" = {
       name = "needle";
       packageName = "needle";
-      version = "2.6.0";
+      version = "2.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz";
-        sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==";
+        url = "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz";
+        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==";
       };
     };
-    "next-tick-1.0.0" = {
-      name = "next-tick";
-      packageName = "next-tick";
-      version = "1.0.0";
+    "neo-async-2.6.2" = {
+      name = "neo-async";
+      packageName = "neo-async";
+      version = "2.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
-        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz";
+        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
       };
     };
     "no-case-3.0.4" = {
@@ -3865,6 +4603,15 @@ let
         sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
       };
     };
+    "node-addon-api-3.2.1" = {
+      name = "node-addon-api";
+      packageName = "node-addon-api";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz";
+        sha512 = "mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==";
+      };
+    };
     "node-ensure-0.0.0" = {
       name = "node-ensure";
       packageName = "node-ensure";
@@ -3874,6 +4621,15 @@ let
         sha1 = "ecae764150de99861ec5c810fd5d096b183932a7";
       };
     };
+    "node-fetch-2.6.7" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "2.6.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz";
+        sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
+      };
+    };
     "node-pre-gyp-0.11.0" = {
       name = "node-pre-gyp";
       packageName = "node-pre-gyp";
@@ -3883,6 +4639,15 @@ let
         sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==";
       };
     };
+    "node-ssh-12.0.3" = {
+      name = "node-ssh";
+      packageName = "node-ssh";
+      version = "12.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-ssh/-/node-ssh-12.0.3.tgz";
+        sha512 = "+TrX99Fvu50ZwBu/1Z9oWV1xC+vjADCJACSmvdgYUeUH/PKIX6Y5ltPvrh30WFXcxaP1wHN09BBVdQ3jfZlfoA==";
+      };
+    };
     "nodeify-1.0.1" = {
       name = "nodeify";
       packageName = "nodeify";
@@ -3892,22 +4657,22 @@ let
         sha1 = "64ab69a7bdbaf03ce107b4f0335c87c0b9e91b1d";
       };
     };
-    "nodemailer-6.4.11" = {
+    "nodemailer-6.7.0" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.4.11";
+      version = "6.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.11.tgz";
-        sha512 = "BVZBDi+aJV4O38rxsUh164Dk1NCqgh6Cm0rQSb9SK/DHGll/DrCMnycVDD7msJgZCnmVa8ASo8EZzR7jsgTukQ==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.0.tgz";
+        sha512 = "AtiTVUFHLiiDnMQ43zi0YgkzHOEWUkhDgPlBXrsDzJiJvB29Alo4OKxHQ0ugF3gRqRQIneCLtZU3yiUo7pItZw==";
       };
     };
-    "nodemailer-6.4.17" = {
+    "nodemailer-6.7.2" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.4.17";
+      version = "6.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.17.tgz";
-        sha512 = "89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz";
+        sha512 = "Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==";
       };
     };
     "nopt-4.0.3" = {
@@ -3919,13 +4684,31 @@ let
         sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==";
       };
     };
-    "npm-bundled-1.1.1" = {
+    "normalize-path-2.1.1" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    };
+    "normalize-path-3.0.0" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
+      };
+    };
+    "npm-bundled-1.1.2" = {
       name = "npm-bundled";
       packageName = "npm-bundled";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz";
-        sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==";
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz";
+        sha512 = "x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==";
       };
     };
     "npm-normalize-package-bin-1.0.1" = {
@@ -3955,13 +4738,13 @@ let
         sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     };
-    "nth-check-2.0.0" = {
+    "nth-check-2.0.1" = {
       name = "nth-check";
       packageName = "nth-check";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz";
-        sha512 = "i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==";
+        url = "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz";
+        sha512 = "it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==";
       };
     };
     "number-is-nan-1.0.1" = {
@@ -4000,6 +4783,42 @@ let
         sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
       };
     };
+    "object-inspect-1.12.0" = {
+      name = "object-inspect";
+      packageName = "object-inspect";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz";
+        sha512 = "Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "object.getownpropertydescriptors-2.1.3" = {
+      name = "object.getownpropertydescriptors";
+      packageName = "object.getownpropertydescriptors";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz";
+        sha512 = "VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==";
+      };
+    };
     "ocsp-1.2.0" = {
       name = "ocsp";
       packageName = "ocsp";
@@ -4054,13 +4873,13 @@ let
         sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
       };
     };
-    "open-7.4.0" = {
+    "open-7.4.2" = {
       name = "open";
       packageName = "open";
-      version = "7.4.0";
+      version = "7.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-7.4.0.tgz";
-        sha512 = "PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==";
+        url = "https://registry.npmjs.org/open/-/open-7.4.2.tgz";
+        sha512 = "MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==";
       };
     };
     "openurl-1.1.1" = {
@@ -4072,6 +4891,15 @@ let
         sha1 = "3875b4b0ef7a52c156f0db41d4609dbb0f94b387";
       };
     };
+    "optional-require-1.1.8" = {
+      name = "optional-require";
+      packageName = "optional-require";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz";
+        sha512 = "jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==";
+      };
+    };
     "ordered-read-streams-1.0.1" = {
       name = "ordered-read-streams";
       packageName = "ordered-read-streams";
@@ -4117,13 +4945,40 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "p-cancelable-2.0.0" = {
+    "p-cancelable-2.1.1" = {
       name = "p-cancelable";
       packageName = "p-cancelable";
-      version = "2.0.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz";
-        sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz";
+        sha512 = "BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==";
+      };
+    };
+    "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-map-2.1.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz";
+        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
+      };
+    };
+    "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==";
       };
     };
     "packet-reader-1.0.0" = {
@@ -4153,6 +5008,24 @@ let
         sha1 = "746a167638083a860b0eef6732cb27ed46c32977";
       };
     };
+    "parse-github-url-1.0.2" = {
+      name = "parse-github-url";
+      packageName = "parse-github-url";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz";
+        sha512 = "kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==";
+      };
+    };
+    "parse-passwd-1.0.0" = {
+      name = "parse-passwd";
+      packageName = "parse-passwd";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+      };
+    };
     "parse5-5.1.1" = {
       name = "parse5";
       packageName = "parse5";
@@ -4180,6 +5053,15 @@ let
         sha512 = "qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==";
       };
     };
+    "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==";
+      };
+    };
     "parseurl-1.3.3" = {
       name = "parseurl";
       packageName = "parseurl";
@@ -4252,13 +5134,13 @@ let
         sha512 = "v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==";
       };
     };
-    "peek-readable-3.1.3" = {
+    "peek-readable-4.1.0" = {
       name = "peek-readable";
       packageName = "peek-readable";
-      version = "3.1.3";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz";
-        sha512 = "mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==";
+        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz";
+        sha512 = "ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==";
       };
     };
     "performance-now-2.1.0" = {
@@ -4270,22 +5152,31 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "pg-8.5.1" = {
+    "pg-8.7.1" = {
       name = "pg";
       packageName = "pg";
-      version = "8.5.1";
+      version = "8.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg/-/pg-8.5.1.tgz";
-        sha512 = "9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw==";
+        url = "https://registry.npmjs.org/pg/-/pg-8.7.1.tgz";
+        sha512 = "7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==";
       };
     };
-    "pg-connection-string-2.4.0" = {
+    "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";
-      version = "2.4.0";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz";
-        sha512 = "3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==";
+        url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz";
+        sha512 = "r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==";
       };
     };
     "pg-int8-1.0.1" = {
@@ -4306,31 +5197,31 @@ let
         sha512 = "1KdmFGGTP6jplJoI8MfvRlfvMiyBivMRP7/ffh4a11RUFJ7kC2J0ZHlipoKiH/1hz+DVgceon9U2qbaHpPeyPg==";
       };
     };
-    "pg-pool-3.2.2" = {
+    "pg-pool-3.5.1" = {
       name = "pg-pool";
       packageName = "pg-pool";
-      version = "3.2.2";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.2.2.tgz";
-        sha512 = "ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA==";
+        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz";
+        sha512 = "6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==";
       };
     };
-    "pg-promise-10.9.2" = {
+    "pg-promise-10.11.1" = {
       name = "pg-promise";
       packageName = "pg-promise";
-      version = "10.9.2";
+      version = "10.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.9.2.tgz";
-        sha512 = "ewelfzZeSPe5sbgd5ylB6edVXqoD8AH/fqZj4wPLL0242vXtkFY3JuUqt3mfvTruOqZHhoINpoXTfmC9UXbZ7A==";
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.11.1.tgz";
+        sha512 = "HAv32WSKf2m2RqHerW5RmANn/mcXIwWXbg/gOfGQcoS0SE+8iBi3Jj4JmoR4PNzSEozo/y/npy4e6F16psOItw==";
       };
     };
-    "pg-protocol-1.4.0" = {
+    "pg-protocol-1.5.0" = {
       name = "pg-protocol";
       packageName = "pg-protocol";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.4.0.tgz";
-        sha512 = "El+aXWcwG/8wuFICMQjM5ZSAm6OWiJicFdNYo+VY3QP+8vI4SvLIWVe51PppTzMhikUJR+PsyIFKqfdXPz/yxA==";
+        url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz";
+        sha512 = "muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==";
       };
     };
     "pg-types-2.2.0" = {
@@ -4342,22 +5233,22 @@ let
         sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==";
       };
     };
-    "pgpass-1.0.4" = {
+    "pgpass-1.0.5" = {
       name = "pgpass";
       packageName = "pgpass";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz";
-        sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==";
+        url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz";
+        sha512 = "FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==";
       };
     };
-    "picomatch-2.2.2" = {
+    "picomatch-2.3.1" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.2.2";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz";
-        sha512 = "q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz";
+        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     };
     "popsicle-12.1.0" = {
@@ -4396,13 +5287,13 @@ let
         sha512 = "XCpzVjVk7tty+IJnSdqWevmOr1n8HNDhL86v7mZ6T1JIIf2KGybxUk9mm7ZFOhWMkGB0e8XkacHip7BV8AQWQA==";
       };
     };
-    "popsicle-transport-http-1.1.1" = {
+    "popsicle-transport-http-1.2.1" = {
       name = "popsicle-transport-http";
       packageName = "popsicle-transport-http";
-      version = "1.1.1";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/popsicle-transport-http/-/popsicle-transport-http-1.1.1.tgz";
-        sha512 = "RNbifrl5ckXLk1X6YGhjDb0gL5yAH1nvultmboiVGLTnWDbwaoxhEP8He9epMFOPuSDuNJ//TMRoN+XfpN0KCw==";
+        url = "https://registry.npmjs.org/popsicle-transport-http/-/popsicle-transport-http-1.2.1.tgz";
+        sha512 = "i5r3IGHkGiBDm1oPFvOfEeSGWR0lQJcsdTqwvvDjXqcTHYJJi4iSi3ecXIttDiTBoBtRAFAE9nF91fspQr63FQ==";
       };
     };
     "popsicle-transport-xhr-2.0.0" = {
@@ -4468,6 +5359,33 @@ let
         sha512 = "zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==";
       };
     };
+    "printj-1.2.3" = {
+      name = "printj";
+      packageName = "printj";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/printj/-/printj-1.2.3.tgz";
+        sha512 = "sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==";
+      };
+    };
+    "printj-1.3.1" = {
+      name = "printj";
+      packageName = "printj";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz";
+        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
+      };
+    };
+    "process-0.11.10" = {
+      name = "process";
+      packageName = "process";
+      version = "0.11.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    };
     "process-nextick-args-2.0.1" = {
       name = "process-nextick-args";
       packageName = "process-nextick-args";
@@ -4477,6 +5395,15 @@ let
         sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
+    "prom-client-13.2.0" = {
+      name = "prom-client";
+      packageName = "prom-client";
+      version = "13.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prom-client/-/prom-client-13.2.0.tgz";
+        sha512 = "wGr5mlNNdRNzEhRYXgboUU2LxHWIojxscJKmtG3R8f4/KiWqyYgXTLHs0+Ted7tG3zFT7pgHJbtomzZ1L0ARaQ==";
+      };
+    };
     "promise-1.3.0" = {
       name = "promise";
       packageName = "promise";
@@ -4504,13 +5431,49 @@ let
         sha1 = "b4f8082a74035647703506763edb14230d9865da";
       };
     };
-    "proxy-addr-2.0.6" = {
+    "promise-retry-2.0.1" = {
+      name = "promise-retry";
+      packageName = "promise-retry";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz";
+        sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
+      };
+    };
+    "promise.prototype.finally-3.1.3" = {
+      name = "promise.prototype.finally";
+      packageName = "promise.prototype.finally";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz";
+        sha512 = "EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==";
+      };
+    };
+    "property-expr-2.0.5" = {
+      name = "property-expr";
+      packageName = "property-expr";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz";
+        sha512 = "IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==";
+      };
+    };
+    "proxy-addr-2.0.7" = {
       name = "proxy-addr";
       packageName = "proxy-addr";
-      version = "2.0.6";
+      version = "2.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
-        sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz";
+        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
+      };
+    };
+    "proxy-from-env-1.1.0" = {
+      name = "proxy-from-env";
+      packageName = "proxy-from-env";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz";
+        sha512 = "D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==";
       };
     };
     "pseudomap-1.0.2" = {
@@ -4558,6 +5521,15 @@ let
         sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
       };
     };
+    "punycode-1.3.2" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    };
     "punycode-2.1.1" = {
       name = "punycode";
       packageName = "punycode";
@@ -4567,22 +5539,49 @@ let
         sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
-    "qs-6.5.2" = {
+    "python-struct-1.1.3" = {
+      name = "python-struct";
+      packageName = "python-struct";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/python-struct/-/python-struct-1.1.3.tgz";
+        sha512 = "UsI/mNvk25jRpGKYI38Nfbv84z48oiIWwG67DLVvjRhy8B/0aIK+5Ju5WOHgw/o9rnEmbAS00v4rgKFQeC332Q==";
+      };
+    };
+    "qs-6.10.3" = {
       name = "qs";
       packageName = "qs";
-      version = "6.5.2";
+      version = "6.10.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.10.3.tgz";
+        sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
       };
     };
-    "qs-6.7.0" = {
+    "qs-6.5.3" = {
       name = "qs";
       packageName = "qs";
-      version = "6.7.0";
+      version = "6.5.3";
       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.5.3.tgz";
+        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "querystring-0.2.0" = {
+      name = "querystring";
+      packageName = "querystring";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
       };
     };
     "querystringify-2.2.0" = {
@@ -4594,6 +5593,15 @@ let
         sha512 = "FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==";
       };
     };
+    "queue-microtask-1.2.3" = {
+      name = "queue-microtask";
+      packageName = "queue-microtask";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz";
+        sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
+      };
+    };
     "quoted-printable-1.0.1" = {
       name = "quoted-printable";
       packageName = "quoted-printable";
@@ -4603,6 +5611,24 @@ let
         sha1 = "9eebf5eb3d11eef022b264fd2d2b6b2bb3b84cc3";
       };
     };
+    "railroad-diagrams-1.0.0" = {
+      name = "railroad-diagrams";
+      packageName = "railroad-diagrams";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
+        sha1 = "eb7e6267548ddedfb899c1b90e57374559cddb7e";
+      };
+    };
+    "randexp-0.4.6" = {
+      name = "randexp";
+      packageName = "randexp";
+      version = "0.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz";
+        sha512 = "80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==";
+      };
+    };
     "random-bytes-1.0.0" = {
       name = "random-bytes";
       packageName = "random-bytes";
@@ -4612,6 +5638,15 @@ let
         sha1 = "4f68a1dc0ae58bd3fb95848c30324db75d64360b";
       };
     };
+    "randombytes-2.1.0" = {
+      name = "randombytes";
+      packageName = "randombytes";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
+      };
+    };
     "range-parser-1.2.1" = {
       name = "range-parser";
       packageName = "range-parser";
@@ -4621,13 +5656,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==";
       };
     };
     "rc-1.2.8" = {
@@ -4675,40 +5710,49 @@ let
         sha512 = "+oZJurc4hXpaaqsN68GoZGQAQIA3qr09Or4fqEsargABnbe5Aau8hFn6ISVleT3cpY/0n/8drn7huyyEvTbghA==";
       };
     };
-    "redeyed-2.1.1" = {
-      name = "redeyed";
-      packageName = "redeyed";
-      version = "2.1.1";
+    "readdirp-3.6.0" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz";
-        sha1 = "8984b5815d99cb220469c99eeeffe38913e6cc0b";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz";
+        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
       };
     };
-    "redis-2.8.0" = {
+    "redis-3.1.2" = {
       name = "redis";
       packageName = "redis";
-      version = "2.8.0";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz";
-        sha512 = "M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==";
+        url = "https://registry.npmjs.org/redis/-/redis-3.1.2.tgz";
+        sha512 = "grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==";
       };
     };
-    "redis-commands-1.6.0" = {
+    "redis-commands-1.7.0" = {
       name = "redis-commands";
       packageName = "redis-commands";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz";
-        sha512 = "2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ==";
+        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz";
+        sha512 = "nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==";
       };
     };
-    "redis-parser-2.6.0" = {
+    "redis-errors-1.2.0" = {
+      name = "redis-errors";
+      packageName = "redis-errors";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz";
+        sha1 = "eb62d2adb15e4eaf4610c04afe1529384250abad";
+      };
+    };
+    "redis-parser-3.0.0" = {
       name = "redis-parser";
       packageName = "redis-parser";
-      version = "2.6.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz";
-        sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b";
+        url = "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz";
+        sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
     "reflect-metadata-0.1.13" = {
@@ -4720,6 +5764,15 @@ let
         sha512 = "Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==";
       };
     };
+    "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==";
+      };
+    };
     "reinterval-1.1.0" = {
       name = "reinterval";
       packageName = "reinterval";
@@ -4738,6 +5791,15 @@ let
         sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
       };
     };
+    "remove-trailing-slash-0.1.1" = {
+      name = "remove-trailing-slash";
+      packageName = "remove-trailing-slash";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz";
+        sha512 = "o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==";
+      };
+    };
     "request-2.88.2" = {
       name = "request";
       packageName = "request";
@@ -4765,13 +5827,22 @@ let
         sha512 = "wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==";
       };
     };
-    "requestretry-4.1.2" = {
+    "requestretry-6.0.0" = {
       name = "requestretry";
       packageName = "requestretry";
-      version = "4.1.2";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/requestretry/-/requestretry-4.1.2.tgz";
-        sha512 = "N1WAp+8eOy8NfsVBChcSxNCKvPY1azOpliQ4Sby4WDe0HFEhdKywlNZeROMBQ+BI3Jpc0eNOT1KVFGREawtahA==";
+        url = "https://registry.npmjs.org/requestretry/-/requestretry-6.0.0.tgz";
+        sha512 = "X7O+BMlfHgzetfSDtgQIMinLn1BuT+95W12iffDzyOS+HLoBEIQqCZv++UTChUWVjOu+pudbocD76+4j+jK9ww==";
+      };
+    };
+    "require-at-1.0.6" = {
+      name = "require-at";
+      packageName = "require-at";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz";
+        sha512 = "7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==";
       };
     };
     "require-directory-2.1.1" = {
@@ -4783,15 +5854,6 @@ let
         sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
       };
     };
-    "require_optional-1.0.1" = {
-      name = "require_optional";
-      packageName = "require_optional";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz";
-        sha512 = "qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==";
-      };
-    };
     "requires-port-1.0.0" = {
       name = "requires-port";
       packageName = "requires-port";
@@ -4801,15 +5863,6 @@ let
         sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
       };
     };
-    "resolve-from-2.0.0" = {
-      name = "resolve-from";
-      packageName = "resolve-from";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz";
-        sha1 = "9480ab20e94ffa1d9e80a804c7ea147611966b57";
-      };
-    };
     "restore-cursor-3.1.0" = {
       name = "restore-cursor";
       packageName = "restore-cursor";
@@ -4819,6 +5872,15 @@ let
         sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==";
       };
     };
+    "ret-0.1.15" = {
+      name = "ret";
+      packageName = "ret";
+      version = "0.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
+      };
+    };
     "retry-0.12.0" = {
       name = "retry";
       packageName = "retry";
@@ -4882,13 +5944,13 @@ let
         sha1 = "f33fe9cfb52bbfd520aa18323bc65db110a1b76c";
       };
     };
-    "rss-parser-3.10.0" = {
+    "rss-parser-3.12.0" = {
       name = "rss-parser";
       packageName = "rss-parser";
-      version = "3.10.0";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.10.0.tgz";
-        sha512 = "TC6FNvEmdFeaW6r/60MSJT7cp4d95X4M9As+mvNtxRx7YXHxpV95syMnWZthZSeD1BRN7SEKdq6c3nxMLQRopw==";
+        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.12.0.tgz";
+        sha512 = "aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==";
       };
     };
     "run-async-2.4.1" = {
@@ -4900,22 +5962,22 @@ let
         sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
       };
     };
-    "run-parallel-1.1.10" = {
+    "run-parallel-1.2.0" = {
       name = "run-parallel";
       packageName = "run-parallel";
-      version = "1.1.10";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz";
-        sha512 = "zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==";
+        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz";
+        sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==";
       };
     };
-    "rxjs-6.6.3" = {
+    "rxjs-6.6.7" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "6.6.3";
+      version = "6.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz";
-        sha512 = "trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz";
+        sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
       };
     };
     "safe-buffer-5.1.2" = {
@@ -4936,6 +5998,15 @@ let
         sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
+    "safe-stable-stringify-2.3.1" = {
+      name = "safe-stable-stringify";
+      packageName = "safe-stable-stringify";
+      version = "2.3.1";
+      src = fetchurl {
+        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" = {
       name = "safer-buffer";
       packageName = "safer-buffer";
@@ -4945,13 +6016,13 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
-    "saslprep-1.0.3" = {
-      name = "saslprep";
-      packageName = "saslprep";
-      version = "1.0.3";
+    "sax-1.2.1" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz";
-        sha512 = "/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==";
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
+        sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
       };
     };
     "sax-1.2.4" = {
@@ -4963,13 +6034,31 @@ let
         sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     };
-    "semver-5.0.3" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.0.3";
+    "sb-promise-queue-2.1.0" = {
+      name = "sb-promise-queue";
+      packageName = "sb-promise-queue";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz";
-        sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
+        url = "https://registry.npmjs.org/sb-promise-queue/-/sb-promise-queue-2.1.0.tgz";
+        sha512 = "zwq4YuP1FQFkGx2Q7GIkZYZ6PqWpV+bg0nIO1sJhWOyGyhqbj0MsTvK6lCFo5TQwX5pZr6SCQ75e8PCDCuNvkg==";
+      };
+    };
+    "sb-scandir-3.1.0" = {
+      name = "sb-scandir";
+      packageName = "sb-scandir";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sb-scandir/-/sb-scandir-3.1.0.tgz";
+        sha512 = "70BVm2xz9jn94zSQdpvYrEG101/UV9TVGcfWr9T5iob3QhCK4lYXeculfBqPGFv3XTeKgx4dpWyYIDeZUqo4kg==";
+      };
+    };
+    "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==";
       };
     };
     "semver-5.3.0" = {
@@ -4990,22 +6079,31 @@ let
         sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
       };
     };
-    "semver-7.3.4" = {
+    "semver-6.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      };
+    };
+    "semver-7.3.5" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.4";
+      version = "7.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz";
-        sha512 = "tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
+        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==";
       };
     };
     "sentence-case-3.0.4" = {
@@ -5026,13 +6124,22 @@ let
         sha1 = "d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e";
       };
     };
-    "serve-static-1.14.1" = {
+    "serialize-javascript-5.0.1" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
+        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
+      };
+    };
+    "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==";
       };
     };
     "servie-4.3.3" = {
@@ -5062,13 +6169,13 @@ let
         sha512 = "A704nIwzqGed0CnJZIqDE+0udMPS839ocgf1R9OJ8aq8vw4U980HWeNaD9ec8VnmBni9lyGEWDedOWXT/C5kxA==";
       };
     };
-    "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==";
       };
     };
     "sha.js-2.4.11" = {
@@ -5080,13 +6187,40 @@ let
         sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
       };
     };
-    "signal-exit-3.0.3" = {
+    "shell-escape-0.2.0" = {
+      name = "shell-escape";
+      packageName = "shell-escape";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shell-escape/-/shell-escape-0.2.0.tgz";
+        sha1 = "68fd025eb0490b4f567a027f0bf22480b5f84133";
+      };
+    };
+    "side-channel-1.0.4" = {
+      name = "side-channel";
+      packageName = "side-channel";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz";
+        sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
+      };
+    };
+    "signal-exit-3.0.7" = {
       name = "signal-exit";
       packageName = "signal-exit";
-      version = "3.0.3";
+      version = "3.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";
+        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
+      };
+    };
+    "simple-git-2.48.0" = {
+      name = "simple-git";
+      packageName = "simple-git";
+      version = "2.48.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
-        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-2.48.0.tgz";
+        sha512 = "z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -5125,22 +6259,22 @@ let
         sha512 = "LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==";
       };
     };
-    "snowflake-sdk-1.5.3" = {
+    "snowflake-sdk-1.6.6" = {
       name = "snowflake-sdk";
       packageName = "snowflake-sdk";
-      version = "1.5.3";
+      version = "1.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.5.3.tgz";
-        sha512 = "Env7ebuWyaPWLIsGbFf/AH8IdeSCshAfHg9cH6F9AHAG0uwtJEO4XPdNeOkxyV/xjykx69s1L4mHWwPksgj8VA==";
+        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.6.tgz";
+        sha512 = "b8mbYI6TFGe8H0m0eviNd4FC/3jsw02OHNt21k9sLWkBp4re2VUhaJf7555ln7thMSnMcbkdAB8zQBZcbqdoPg==";
       };
     };
-    "sparse-bitfield-3.0.3" = {
-      name = "sparse-bitfield";
-      packageName = "sparse-bitfield";
-      version = "3.0.3";
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz";
-        sha1 = "ff4ae6e68656056ba4b3e792ab3334d38273ca11";
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
     "spex-3.2.0" = {
@@ -5161,6 +6295,15 @@ let
         sha512 = "9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==";
       };
     };
+    "split2-4.1.0" = {
+      name = "split2";
+      packageName = "split2";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz";
+        sha512 = "VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==";
+      };
+    };
     "sprintf-js-1.0.3" = {
       name = "sprintf-js";
       packageName = "sprintf-js";
@@ -5179,13 +6322,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-4.2.0" = {
+    "sqlite3-5.0.2" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "4.2.0";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz";
-        sha512 = "roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz";
+        sha512 = "1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==";
       };
     };
     "sqlstring-2.3.2" = {
@@ -5215,40 +6358,31 @@ let
         sha512 = "+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==";
       };
     };
-    "ssh2-0.8.9" = {
+    "ssh2-1.6.0" = {
       name = "ssh2";
       packageName = "ssh2";
-      version = "0.8.9";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2/-/ssh2-0.8.9.tgz";
-        sha512 = "GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==";
+        url = "https://registry.npmjs.org/ssh2/-/ssh2-1.6.0.tgz";
+        sha512 = "lxc+uvXqOxyQ99N2M7k5o4pkYDO5GptOTYduWw7hIM41icxvoBcCNHcj+LTKrjkL0vFcAl+qfZekthoSFRJn2Q==";
       };
     };
-    "ssh2-sftp-client-5.3.2" = {
+    "ssh2-sftp-client-7.2.2" = {
       name = "ssh2-sftp-client";
       packageName = "ssh2-sftp-client";
-      version = "5.3.2";
+      version = "7.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2-sftp-client/-/ssh2-sftp-client-5.3.2.tgz";
-        sha512 = "YD38WQKleuapAZyvqRJq7PN8pC6GnzWdWcnZN4vsPXMHtZpjcg/ipBcFGtDsC5rkHp5qXgRu56WPcDUkM87FiA==";
+        url = "https://registry.npmjs.org/ssh2-sftp-client/-/ssh2-sftp-client-7.2.2.tgz";
+        sha512 = "qZYivU1zezyRomCf+TtsCYVAsc0TDQWzxJMMUN8NknEPonm2TYGxJAzrW8acUh2ILYgA0ZPOJElLV/qp9nRVYQ==";
       };
     };
-    "ssh2-streams-0.4.10" = {
-      name = "ssh2-streams";
-      packageName = "ssh2-streams";
-      version = "0.4.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2-streams/-/ssh2-streams-0.4.10.tgz";
-        sha512 = "8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==";
-      };
-    };
-    "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-trace-0.0.10" = {
@@ -5260,6 +6394,15 @@ let
         sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
       };
     };
+    "standard-as-callback-2.1.0" = {
+      name = "standard-as-callback";
+      packageName = "standard-as-callback";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz";
+        sha512 = "qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==";
+      };
+    };
     "statuses-1.5.0" = {
       name = "statuses";
       packageName = "statuses";
@@ -5287,13 +6430,13 @@ let
         sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
       };
     };
-    "streamsearch-0.1.2" = {
-      name = "streamsearch";
-      packageName = "streamsearch";
-      version = "0.1.2";
+    "string-similarity-4.0.4" = {
+      name = "string-similarity";
+      packageName = "string-similarity";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz";
-        sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
+        url = "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz";
+        sha512 = "/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==";
       };
     };
     "string-width-1.0.2" = {
@@ -5305,22 +6448,31 @@ let
         sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
       };
     };
-    "string-width-2.1.1" = {
+    "string-width-4.2.3" = {
       name = "string-width";
       packageName = "string-width";
-      version = "2.1.1";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz";
+        sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     };
-    "string-width-4.2.0" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "4.2.0";
+    "string.prototype.trimend-1.0.4" = {
+      name = "string.prototype.trimend";
+      packageName = "string.prototype.trimend";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
+        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
+      };
+    };
+    "string.prototype.trimstart-1.0.4" = {
+      name = "string.prototype.trimstart";
+      packageName = "string.prototype.trimstart";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz";
-        sha512 = "zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
+        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -5359,22 +6511,13 @@ let
         sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
       };
     };
-    "strip-ansi-4.0.0" = {
+    "strip-ansi-6.0.1" = {
       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-6.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "6.0.0";
+      version = "6.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz";
-        sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz";
+        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
       };
     };
     "strip-json-comments-2.0.1" = {
@@ -5386,13 +6529,13 @@ let
         sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
       };
     };
-    "strtok3-6.0.8" = {
+    "strtok3-6.3.0" = {
       name = "strtok3";
       packageName = "strtok3";
-      version = "6.0.8";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz";
-        sha512 = "QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==";
+        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz";
+        sha512 = "fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==";
       };
     };
     "supports-color-2.0.0" = {
@@ -5404,15 +6547,6 @@ let
         sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
       };
     };
-    "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==";
-      };
-    };
     "supports-color-7.2.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -5422,13 +6556,13 @@ let
         sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
       };
     };
-    "tar-4.4.13" = {
+    "tar-4.4.19" = {
       name = "tar";
       packageName = "tar";
-      version = "4.4.13";
+      version = "4.4.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
-        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz";
+        sha512 = "a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==";
       };
     };
     "tarn-1.1.5" = {
@@ -5440,13 +6574,31 @@ let
         sha512 = "PMtJ3HCLAZeedWjJPgGnCvcphbCOMbtZpjKgLq3qM5Qq9aQud+XHrL0WlrlgnTyS8U+jrjGbEXprFcQrxPy52g==";
       };
     };
-    "tedious-6.7.0" = {
+    "tdigest-0.1.1" = {
+      name = "tdigest";
+      packageName = "tdigest";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz";
+        sha1 = "2e3cb2c39ea449e55d1e6cd91117accca4588021";
+      };
+    };
+    "tedious-6.7.1" = {
       name = "tedious";
       packageName = "tedious";
-      version = "6.7.0";
+      version = "6.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tedious/-/tedious-6.7.0.tgz";
-        sha512 = "8qr7+sB0h4SZVQBRWUgHmYuOEflAOl2eihvxk0fVNvpvGJV4V5UC/YmSvebyfgyfwWcPO22/AnSbYVZZqf9wuQ==";
+        url = "https://registry.npmjs.org/tedious/-/tedious-6.7.1.tgz";
+        sha512 = "61eg/mvUa5vIqZcRizcqw/82dY65kR2uTll1TaUFh0aJ45XOrgbc8axiVR48dva8BahIAlJByaHNfAJ/KmPV0g==";
+      };
+    };
+    "test-console-2.0.0" = {
+      name = "test-console";
+      packageName = "test-console";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/test-console/-/test-console-2.0.0.tgz";
+        sha512 = "ciILzfCQCny8zy1+HEw2yBLKus7LNMsAHymsp2fhvGTVh5pWE5v2EB7V+5ag3WM9aO2ULtgsXVQePWYE+fb7pA==";
       };
     };
     "text-hex-1.0.0" = {
@@ -5512,13 +6664,22 @@ let
         sha512 = "dLFe8bU8SeH0xeqeKL7BNo8XoPC/o91nz9/ooeplZPiso+DZukhoyZcSz9TFnUNScm+cA9qjU1m1853M6sPOng==";
       };
     };
-    "tlds-1.208.0" = {
+    "timeago.js-4.0.2" = {
+      name = "timeago.js";
+      packageName = "timeago.js";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timeago.js/-/timeago.js-4.0.2.tgz";
+        sha512 = "a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==";
+      };
+    };
+    "tlds-1.224.0" = {
       name = "tlds";
       packageName = "tlds";
-      version = "1.208.0";
+      version = "1.224.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tlds/-/tlds-1.208.0.tgz";
-        sha512 = "6kbY7GJpRQXwBddSOAbVUZXjObbCGFXliWWN+kOSEoRWIOyRWLB6zdeKC/Tguwwenl/KsUx016XR50EdHYsxZw==";
+        url = "https://registry.npmjs.org/tlds/-/tlds-1.224.0.tgz";
+        sha512 = "Jgdc8SEijbDFUsmCn6Wk/f7E6jBLFZOG3U1xK0amGSfEH55Xx97ItUS/d2NngsuApjn11UeWCWj8Um3VRhseZQ==";
       };
     };
     "tmp-0.0.33" = {
@@ -5539,13 +6700,13 @@ let
         sha512 = "76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==";
       };
     };
-    "tmp-promise-3.0.2" = {
+    "tmp-promise-3.0.3" = {
       name = "tmp-promise";
       packageName = "tmp-promise";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz";
-        sha512 = "OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==";
+        url = "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz";
+        sha512 = "RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==";
       };
     };
     "to-absolute-glob-2.0.2" = {
@@ -5566,13 +6727,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==";
       };
     };
     "token-types-2.1.1" = {
@@ -5584,6 +6745,15 @@ let
         sha512 = "wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==";
       };
     };
+    "toposort-2.0.2" = {
+      name = "toposort";
+      packageName = "toposort";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz";
+        sha1 = "ae21768175d1559d48bef35420b2f4962f09c330";
+      };
+    };
     "tough-cookie-2.5.0" = {
       name = "tough-cookie";
       packageName = "tough-cookie";
@@ -5602,6 +6772,24 @@ let
         sha512 = "yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==";
       };
     };
+    "tough-cookie-4.0.0" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz";
+        sha512 = "tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==";
+      };
+    };
+    "tr46-0.0.3" = {
+      name = "tr46";
+      packageName = "tr46";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz";
+        sha1 = "8184fd347dac9cdc185992f3a6622e14b9d9ab6a";
+      };
+    };
     "triple-beam-1.3.0" = {
       name = "triple-beam";
       packageName = "triple-beam";
@@ -5611,22 +6799,13 @@ let
         sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
       };
     };
-    "ts-expect-1.1.0" = {
+    "ts-expect-1.3.0" = {
       name = "ts-expect";
       packageName = "ts-expect";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-expect/-/ts-expect-1.1.0.tgz";
-        sha512 = "cKoBZ47X85x/Qh7taf30m3BhOJOhtNbb7KFHz9CCuWeRSAh0wzprnmiN9TSOQ0FWp3+qDWS5f2FDnxkY93Kdfw==";
-      };
-    };
-    "tslib-1.11.2" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.11.2";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz";
-        sha512 = "tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==";
+        url = "https://registry.npmjs.org/ts-expect/-/ts-expect-1.3.0.tgz";
+        sha512 = "e4g0EJtAjk64xgnFPD6kTBUtpnMVzDrMb12N1YZV0VvSlhnVT3SGxiYTLdGy8Q5cYHOIC/FAHmZ10eGrAguicQ==";
       };
     };
     "tslib-1.14.1" = {
@@ -5638,13 +6817,13 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.1.0" = {
+    "tslib-2.3.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.1.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz";
-        sha512 = "hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
+        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
       };
     };
     "tsscmp-1.0.6" = {
@@ -5683,31 +6862,13 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
-    "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.1.0" = {
-      name = "type";
-      packageName = "type";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-2.1.0.tgz";
-        sha512 = "G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==";
-      };
-    };
-    "type-fest-0.11.0" = {
+    "type-fest-0.21.3" = {
       name = "type-fest";
       packageName = "type-fest";
-      version = "0.11.0";
+      version = "0.21.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz";
-        sha512 = "OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==";
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz";
+        sha512 = "t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==";
       };
     };
     "type-is-1.6.18" = {
@@ -5764,6 +6925,15 @@ let
         sha512 = "KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==";
       };
     };
+    "unbox-primitive-1.0.1" = {
+      name = "unbox-primitive";
+      packageName = "unbox-primitive";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
+        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
+      };
+    };
     "unc-path-regex-0.1.2" = {
       name = "unc-path-regex";
       packageName = "unc-path-regex";
@@ -5773,13 +6943,13 @@ let
         sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
       };
     };
-    "underscore-1.12.0" = {
+    "underscore-1.13.2" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.12.0";
+      version = "1.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
-        sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz";
+        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
       };
     };
     "unique-stream-2.3.1" = {
@@ -5836,13 +7006,22 @@ let
         sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
-    "url-parse-1.4.7" = {
+    "url-0.10.3" = {
+      name = "url";
+      packageName = "url";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url/-/url-0.10.3.tgz";
+        sha1 = "021e4d9c7705f21bbf37d03ceb58767402774c64";
+      };
+    };
+    "url-parse-1.5.6" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.4.7";
+      version = "1.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz";
-        sha512 = "d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==";
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.6.tgz";
+        sha512 = "xj3QdUJ1DttD1LeSfvJlU1eiF1RvBSBfUu8GplFGdUzSO28y5yUtEl7wb//PI4Af6qh0o/K8545vUmucRrfWsw==";
       };
     };
     "utf7-1.0.2" = {
@@ -5872,6 +7051,15 @@ let
         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
+    "util.promisify-1.1.1" = {
+      name = "util.promisify";
+      packageName = "util.promisify";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz";
+        sha512 = "/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==";
+      };
+    };
     "utils-merge-1.0.1" = {
       name = "utils-merge";
       packageName = "utils-merge";
@@ -5890,6 +7078,15 @@ let
         sha1 = "c8d50370885663879385ab37e333c7e8e3b0218c";
       };
     };
+    "uuid-3.3.2" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
+        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
+      };
+    };
     "uuid-3.4.0" = {
       name = "uuid";
       packageName = "uuid";
@@ -5899,13 +7096,31 @@ let
         sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
       };
     };
-    "validator-11.1.0" = {
+    "uuid-8.3.2" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "8.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz";
+        sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
+      };
+    };
+    "v-click-outside-3.1.2" = {
+      name = "v-click-outside";
+      packageName = "v-click-outside";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.1.2.tgz";
+        sha512 = "gMdRqfRE6m6XU6SiFi3dyBlFB2MWogiXpof8Aa3LQysrl9pzTndqp/iEaAphLoadaQUFnQ0ec6fLLaxr7LiY6A==";
+      };
+    };
+    "validator-13.7.0" = {
       name = "validator";
       packageName = "validator";
-      version = "11.1.0";
+      version = "13.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz";
-        sha512 = "qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==";
+        url = "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz";
+        sha512 = "nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==";
       };
     };
     "vary-1.1.2" = {
@@ -5926,22 +7141,49 @@ let
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
-    "vm2-3.9.2" = {
+    "vm2-3.9.7" = {
       name = "vm2";
       packageName = "vm2";
-      version = "3.9.2";
+      version = "3.9.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.7.tgz";
+        sha512 = "g/GZ7V0Mlmch3eDVOATvAXr1GsJNg6kQ5PjvYy3HbJMCRn5slNbo/u73Uy7r5yUej1cRa3ZjtoVwcWSQuQ/fow==";
+      };
+    };
+    "vue-fragment-1.5.2" = {
+      name = "vue-fragment";
+      packageName = "vue-fragment";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-fragment/-/vue-fragment-1.5.2.tgz";
+        sha512 = "KEW0gkeNOLJjtXN4jqJhTazez5jtrwimHkE5Few/VxblH4F9EcvJiEsahrV5kg5uKd5U8du4ORKS6QjGE0piYA==";
+      };
+    };
+    "vue-i18n-8.27.0" = {
+      name = "vue-i18n";
+      packageName = "vue-i18n";
+      version = "8.27.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.27.0.tgz";
+        sha512 = "SX35iJHL5PJ4Gfh0Mo/q0shyHiI2V6Zkh51c+k8E9O1RKv5BQyYrCxRzpvPrsIOJEnLaeiovet3dsUB0e/kDzw==";
+      };
+    };
+    "webidl-conversions-3.0.1" = {
+      name = "webidl-conversions";
+      packageName = "webidl-conversions";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.2.tgz";
-        sha512 = "nzyFmHdy2FMg7mYraRytc2jr4QBaUY3TEGe3q3bK8EgS9WC98wxn2jrPxS/ruWm+JGzrEIIeufKweQzVoQEd+Q==";
+        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz";
+        sha1 = "24534275e2a7bc6be7bc86611cc16ae0a5654871";
       };
     };
-    "when-3.7.8" = {
-      name = "when";
-      packageName = "when";
-      version = "3.7.8";
+    "whatwg-url-5.0.0" = {
+      name = "whatwg-url";
+      packageName = "whatwg-url";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/when/-/when-3.7.8.tgz";
-        sha1 = "c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82";
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz";
+        sha1 = "966454e8765462e37644d3626f6742ce8b70965d";
       };
     };
     "which-1.3.1" = {
@@ -5953,13 +7195,22 @@ let
         sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     };
-    "wide-align-1.1.3" = {
+    "which-boxed-primitive-1.0.2" = {
+      name = "which-boxed-primitive";
+      packageName = "which-boxed-primitive";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz";
+        sha512 = "bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==";
+      };
+    };
+    "wide-align-1.1.5" = {
       name = "wide-align";
       packageName = "wide-align";
-      version = "1.1.3";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
-        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz";
+        sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
       };
     };
     "widest-line-3.1.0" = {
@@ -5971,22 +7222,22 @@ let
         sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
       };
     };
-    "winston-3.3.3" = {
+    "winston-3.6.0" = {
       name = "winston";
       packageName = "winston";
-      version = "3.3.3";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz";
-        sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
+        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
       };
     };
-    "winston-transport-4.4.0" = {
+    "winston-transport-4.5.0" = {
       name = "winston-transport";
       packageName = "winston-transport";
-      version = "4.4.0";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz";
-        sha512 = "Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==";
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz";
+        sha512 = "YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==";
       };
     };
     "wmf-1.0.2" = {
@@ -6007,13 +7258,22 @@ let
         sha512 = "OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==";
       };
     };
-    "wrap-ansi-4.0.0" = {
+    "wordwrap-1.0.0" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    };
+    "wrap-ansi-6.2.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
-      version = "4.0.0";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz";
-        sha512 = "uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==";
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
+        sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
       };
     };
     "wrap-ansi-7.0.0" = {
@@ -6034,22 +7294,31 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "ws-7.4.2" = {
+    "ws-7.5.7" = {
       name = "ws";
       packageName = "ws";
-      version = "7.4.2";
+      version = "7.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz";
-        sha512 = "T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz";
+        sha512 = "KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==";
       };
     };
-    "xlsx-0.16.9" = {
+    "xlsx-0.17.5" = {
       name = "xlsx";
       packageName = "xlsx";
-      version = "0.16.9";
+      version = "0.17.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xlsx/-/xlsx-0.16.9.tgz";
-        sha512 = "gxi1I3EasYvgCX1vN9pGyq920Ron4NO8PNfhuoA3Hpq6Y8f0ECXiy4OLrK4QZBnj1jx3QD+8Fq5YZ/3mPZ5iXw==";
+        url = "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz";
+        sha512 = "lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==";
+      };
+    };
+    "xml2js-0.4.19" = {
+      name = "xml2js";
+      packageName = "xml2js";
+      version = "0.4.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz";
+        sha512 = "esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==";
       };
     };
     "xml2js-0.4.23" = {
@@ -6070,13 +7339,13 @@ let
         sha512 = "fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==";
       };
     };
-    "xmldom-0.4.0" = {
-      name = "xmldom";
-      packageName = "xmldom";
-      version = "0.4.0";
+    "xmlbuilder-9.0.7" = {
+      name = "xmlbuilder";
+      packageName = "xmlbuilder";
+      version = "9.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.4.0.tgz";
-        sha512 = "2E93k08T30Ugs+34HBSTQLVtpi6mCddaY8uO+pMNk1pqSjV5vElzn4mmh6KLxN3hki8rNcHSYzILoh3TEWORvA==";
+        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
       };
     };
     "xpath.js-1.1.0" = {
@@ -6106,13 +7375,13 @@ let
         sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-5.0.5" = {
+    "y18n-5.0.8" = {
       name = "y18n";
       packageName = "y18n";
-      version = "5.0.5";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz";
-        sha512 = "hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==";
+        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz";
+        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
       };
     };
     "yallist-2.1.2" = {
@@ -6160,22 +7429,31 @@ let
         sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
       };
     };
-    "yargs-parser-13.0.0" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "13.0.0";
+    "yargs-17.1.1" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "17.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz";
-        sha512 = "w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz";
+        sha512 = "c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==";
       };
     };
-    "yargs-parser-20.2.4" = {
+    "yargs-parser-20.2.9" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "20.2.4";
+      version = "20.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz";
+        sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
+      };
+    };
+    "yup-0.32.11" = {
+      name = "yup";
+      packageName = "yup";
+      version = "0.32.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz";
-        sha512 = "WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==";
+        url = "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz";
+        sha512 = "Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==";
       };
     };
   };
@@ -6184,96 +7462,164 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.105.0";
+    version = "0.163.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.105.0.tgz";
-      sha512 = "Ry4JODQbj5vLsen5RTAyQdwstYFZ6KaMZhNzsnSQIm2qwzW+HS7hOm8r44WHzNrc5sMFHCPful2waMis8g81pA==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.163.1.tgz";
+      sha512 = "lhup+qIy3cG0oWvBuOWi57Tn3F2k5NBD00KJ3ilKgnk4VsY+LmAca2xvyZNKvlRPa9i++3ukG6XioPTDuXylgw==";
     };
     dependencies = [
-      sources."@azure/ms-rest-azure-env-1.1.2"
-      (sources."@azure/ms-rest-js-1.9.1" // {
+      (sources."@azure/abort-controller-1.0.5" // {
         dependencies = [
-          sources."axios-0.21.1"
-          sources."follow-redirects-1.13.2"
-          sources."tough-cookie-2.5.0"
+          sources."tslib-2.3.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.4" // {
+        dependencies = [
+          sources."tough-cookie-4.0.0"
+          sources."tslib-2.3.1"
         ];
       })
-      sources."@azure/ms-rest-nodeauth-2.0.2"
-      sources."@dabh/diagnostics-2.0.2"
+      (sources."@azure/core-lro-2.2.3" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@azure/core-paging-1.2.1" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@azure/core-tracing-1.0.0-preview.13" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@azure/logger-1.0.3" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      sources."@azure/ms-rest-azure-env-2.0.0"
+      (sources."@azure/ms-rest-js-2.6.0" // {
+        dependencies = [
+          sources."form-data-2.5.1"
+        ];
+      })
+      sources."@azure/ms-rest-nodeauth-3.1.1"
+      (sources."@azure/storage-blob-12.8.0" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      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.5"
       sources."@icetee/ftp-0.3.15"
-      sources."@nodelib/fs.scandir-2.1.4"
-      sources."@nodelib/fs.stat-2.0.4"
-      sources."@nodelib/fs.walk-1.2.6"
-      sources."@oclif/command-1.8.0"
-      (sources."@oclif/config-1.17.0" // {
+      sources."@kafkajs/confluent-schema-registry-1.0.6"
+      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."@oclif/command-1.8.16"
+      (sources."@oclif/config-1.18.3" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
-      (sources."@oclif/errors-1.3.4" // {
+      (sources."@oclif/errors-1.3.5" // {
         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."@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.5"
-      sources."@oclif/plugin-help-3.2.1"
+      (sources."@oclif/parser-3.8.6" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      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"
       sources."@servie/events-1.0.0"
       sources."@sqltools/formatter-1.2.2"
-      sources."@tokenizer/token-0.1.1"
-      sources."@types/bluebird-3.5.33"
-      sources."@types/body-parser-1.19.0"
-      sources."@types/connect-3.4.34"
-      sources."@types/debug-4.1.5"
-      sources."@types/express-4.17.11"
+      sources."@tokenizer/token-0.3.0"
+      sources."@tootallnate/once-1.1.2"
+      sources."@types/bluebird-3.5.36"
+      sources."@types/body-parser-1.19.2"
+      sources."@types/connect-3.4.35"
+      sources."@types/express-4.17.13"
       sources."@types/express-jwt-0.0.42"
-      sources."@types/express-serve-static-core-4.17.18"
-      sources."@types/express-unless-0.5.1"
-      sources."@types/ftp-0.3.31"
-      sources."@types/glob-7.1.3"
-      sources."@types/jsonwebtoken-8.5.0"
+      sources."@types/express-serve-static-core-4.17.28"
+      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/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
+      sources."@types/node-17.0.17"
+      (sources."@types/node-fetch-2.5.12" // {
+        dependencies = [
+          sources."form-data-3.0.1"
+        ];
+      })
       sources."@types/promise-ftp-1.3.4"
       sources."@types/promise-ftp-common-1.1.0"
-      sources."@types/qs-6.9.5"
-      sources."@types/range-parser-1.2.3"
-      sources."@types/readable-stream-2.3.9"
-      sources."@types/serve-static-1.13.9"
-      sources."@types/snowflake-sdk-1.5.1"
-      sources."@types/tough-cookie-2.3.7"
-      sources."@types/tunnel-0.0.0"
+      sources."@types/qs-6.9.7"
+      sources."@types/range-parser-1.2.4"
+      sources."@types/readable-stream-2.3.13"
+      sources."@types/serve-static-1.13.10"
+      sources."@types/snowflake-sdk-1.6.2"
+      sources."@types/tough-cookie-2.3.8"
+      sources."@types/tunnel-0.0.3"
+      sources."@xmldom/xmldom-0.7.5"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
+      sources."abort-controller-3.0.0"
+      sources."accepts-1.3.8"
       sources."access-control-1.0.1"
-      (sources."adal-node-0.1.28" // {
+      sources."acorn-8.7.0"
+      sources."acorn-walk-8.2.0"
+      (sources."adal-node-0.2.3" // {
         dependencies = [
-          sources."@types/node-8.10.66"
+          sources."uuid-3.4.0"
         ];
       })
       sources."adler-32-1.2.0"
-      (sources."agent-base-2.1.1" // {
-        dependencies = [
-          sources."semver-5.0.3"
-        ];
-      })
+      sources."agent-base-6.0.2"
       sources."ajv-6.12.6"
-      sources."amqplib-0.6.0"
-      sources."ansi-escapes-4.3.1"
-      sources."ansi-regex-5.0.0"
-      sources."ansi-styles-3.2.1"
-      sources."ansicolors-0.3.2"
+      sources."amqplib-0.8.0"
+      sources."ansi-escapes-4.3.2"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-4.3.0"
       sources."any-promise-1.3.0"
+      sources."anymatch-3.1.2"
       sources."app-root-path-3.0.0"
       sources."aproba-1.2.0"
-      (sources."are-we-there-yet-1.1.5" // {
+      (sources."are-we-there-yet-1.1.7" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -6286,206 +7632,246 @@ in
       sources."array-parallel-0.1.3"
       sources."array-series-0.1.5"
       sources."array-union-2.1.0"
-      sources."asn1-0.2.4"
+      sources."asn1-0.2.6"
       sources."asn1.js-5.4.1"
       sources."asn1.js-rfc2560-5.0.1"
       sources."asn1.js-rfc5280-3.0.0"
       sources."assert-options-0.7.0"
       sources."assert-plus-1.0.0"
-      sources."async-3.2.0"
+      sources."async-2.6.3"
       sources."asynckit-0.4.0"
+      (sources."auto-changelog-1.16.4" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."avsc-5.7.3"
+      (sources."aws-sdk-2.1073.0" // {
+        dependencies = [
+          sources."buffer-4.9.2"
+          sources."events-1.1.1"
+          sources."ieee754-1.1.13"
+          sources."isarray-1.0.0"
+          sources."sax-1.2.1"
+          sources."uuid-3.3.2"
+          sources."xml2js-0.4.19"
+          sources."xmlbuilder-9.0.7"
+        ];
+      })
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      sources."axios-0.19.2"
-      sources."balanced-match-1.0.0"
+      sources."axios-0.21.4"
+      sources."axios-retry-3.2.4"
+      sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
-      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."bcryptjs-2.4.3"
-      sources."big-integer-1.6.48"
+      sources."big-integer-1.6.51"
       sources."bignumber.js-2.4.0"
+      sources."binary-extensions-2.2.0"
+      sources."binascii-0.0.2"
+      sources."bintrees-1.0.1"
       (sources."bitsyntax-0.1.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
+          sources."safe-buffer-5.1.2"
         ];
       })
       (sources."bl-2.2.1" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
+          (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."bluebird-3.7.2"
-      sources."bn.js-4.11.9"
-      (sources."body-parser-1.19.0" // {
+      sources."bn.js-4.12.0"
+      (sources."body-parser-1.19.1" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
       })
-      sources."body-parser-xml-1.1.0"
+      sources."body-parser-xml-2.0.3"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-request-0.3.3"
-      sources."bson-1.1.5"
+      sources."bson-1.1.6"
       sources."buffer-5.7.1"
       sources."buffer-equal-constant-time-1.0.1"
-      sources."buffer-from-1.1.1"
+      sources."buffer-from-1.1.2"
       sources."buffer-more-ints-1.0.0"
       sources."buffer-writer-2.0.0"
+      sources."bull-3.29.3"
       sources."byte-length-1.0.2"
-      sources."bytes-3.1.0"
-      sources."cacheable-lookup-5.0.4"
+      sources."bytes-3.1.1"
+      sources."call-bind-1.0.2"
       sources."callback-stream-1.1.0"
+      sources."callsites-3.1.0"
       (sources."camel-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
-      sources."camelcase-5.3.1"
       (sources."capital-case-1.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
-      sources."cardinal-2.1.1"
       sources."caseless-0.12.0"
-      sources."cfb-1.2.0"
-      sources."chalk-2.4.2"
-      (sources."change-case-4.1.2" // {
+      (sources."cfb-1.2.1" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          (sources."adler-32-1.3.0" // {
+            dependencies = [
+              sources."printj-1.2.3"
+            ];
+          })
+          sources."printj-1.3.1"
         ];
       })
-      sources."chardet-0.7.0"
-      sources."cheerio-1.0.0-rc.5"
-      sources."cheerio-select-tmp-0.1.1"
-      sources."chownr-1.1.4"
-      (sources."clean-stack-3.0.1" // {
+      sources."chalk-4.1.2"
+      (sources."change-case-4.1.2" // {
         dependencies = [
-          sources."escape-string-regexp-4.0.0"
+          sources."tslib-2.3.1"
         ];
       })
+      sources."chardet-0.7.0"
+      sources."charenc-0.0.2"
+      sources."cheerio-1.0.0-rc.6"
+      sources."cheerio-select-1.5.0"
+      sources."chokidar-3.5.2"
+      sources."chownr-1.1.4"
+      sources."class-validator-0.13.2"
+      sources."clean-stack-3.0.1"
+      sources."cli-color-0.1.7"
       sources."cli-cursor-3.1.0"
-      (sources."cli-highlight-2.1.10" // {
+      (sources."cli-highlight-2.1.11" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
           sources."parse5-5.1.1"
-          sources."supports-color-7.2.0"
+          sources."yargs-16.2.0"
         ];
       })
       sources."cli-width-3.0.0"
-      (sources."client-oauth2-4.3.3" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
+      sources."client-oauth2-4.3.3"
       (sources."cliui-7.0.4" // {
         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."cluster-key-slot-1.1.0"
       sources."code-point-at-1.1.0"
-      (sources."codepage-1.14.0" // {
+      sources."codepage-1.15.0"
+      (sources."color-3.2.1" // {
         dependencies = [
-          sources."commander-2.14.1"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
         ];
       })
-      sources."color-3.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."color-string-1.5.4"
+      sources."color-convert-2.0.1"
+      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.2"
+      sources."colorspace-1.1.4"
       sources."combined-stream-1.0.8"
-      sources."commander-2.17.1"
+      sources."commander-5.1.0"
       sources."commist-1.1.0"
+      sources."component-type-1.2.1"
       sources."compressible-2.0.18"
       (sources."compression-1.7.4" // {
         dependencies = [
           sources."bytes-3.0.0"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
+          sources."safe-buffer-5.1.2"
         ];
       })
       sources."concat-map-0.0.1"
-      (sources."concat-stream-1.6.2" // {
+      (sources."concat-stream-2.0.0" // {
         dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
+          sources."readable-stream-3.6.0"
+          sources."string_decoder-1.3.0"
         ];
       })
       sources."connect-history-api-fallback-1.6.0"
       sources."console-control-strings-1.1.0"
       (sources."constant-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
-      sources."content-disposition-0.5.3"
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."convict-5.2.0"
-      sources."cookie-0.4.0"
+      sources."convict-6.2.1"
+      sources."cookie-0.4.1"
       sources."cookie-signature-1.0.6"
+      sources."core-js-3.21.0"
       sources."core-util-is-1.0.2"
-      sources."crc-32-1.2.0"
-      sources."cron-1.8.2"
+      (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" // {
         dependencies = [
           sources."lru-cache-4.1.5"
           sources."yallist-2.1.2"
         ];
       })
-      sources."crypto-js-4.0.0"
+      sources."crypt-0.0.2"
+      sources."crypto-js-4.1.1"
       sources."csrf-3.1.0"
-      sources."css-select-3.1.2"
-      sources."css-what-4.0.0"
-      sources."d-1.0.1"
+      sources."css-select-4.2.1"
+      sources."css-what-5.1.0"
       sources."dashdash-1.14.1"
       sources."date-utils-1.2.21"
-      sources."debug-4.3.2"
-      sources."decamelize-1.2.0"
+      sources."debug-4.3.3"
+      sources."debuglog-1.0.1"
       sources."deep-extend-0.6.0"
+      sources."deepmerge-4.2.2"
+      sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."denque-1.5.0"
+      sources."denque-1.5.1"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."detect-libc-1.0.3"
-      (sources."diagnostics-1.1.1" // {
-        dependencies = [
-          sources."enabled-1.0.2"
-          sources."kuler-1.0.1"
-        ];
-      })
+      sources."diagnostics-1.1.1"
+      sources."difflib-0.2.4"
       sources."dir-glob-3.0.1"
-      sources."dom-serializer-1.2.0"
-      sources."domelementtype-2.1.0"
-      sources."domhandler-4.0.0"
-      sources."domutils-2.4.4"
+      sources."discontinuous-range-1.0.0"
+      sources."dom-serializer-1.3.2"
+      sources."domelementtype-2.2.0"
+      sources."domhandler-4.3.0"
+      sources."domutils-2.8.0"
       (sources."dot-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
-      sources."dotenv-8.2.0"
-      sources."double-ended-queue-2.1.0-0"
+      sources."dotenv-8.6.0"
+      sources."dreamopt-0.6.0"
       (sources."duplexify-3.7.1" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -6493,55 +7879,50 @@ in
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
-      sources."enabled-2.0.0"
+      sources."enabled-1.0.2"
       sources."encodeurl-1.0.2"
       sources."encoding-japanese-1.0.30"
       sources."end-of-stream-1.4.4"
-      sources."entities-2.1.0"
+      sources."entities-2.2.0"
       sources."env-variable-0.0.6"
-      sources."es5-ext-0.10.53"
-      sources."es6-iterator-2.0.3"
-      sources."es6-map-0.1.5"
+      sources."err-code-2.0.3"
+      sources."es-abstract-1.19.1"
+      sources."es-to-primitive-1.2.1"
+      sources."es5-ext-0.8.2"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
-      (sources."es6-set-0.1.5" // {
-        dependencies = [
-          sources."es6-symbol-3.1.1"
-        ];
-      })
-      sources."es6-symbol-3.1.3"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
+      sources."escape-string-regexp-4.0.0"
       sources."eslint-config-riot-1.0.0"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      sources."event-emitter-0.3.5"
-      sources."eventsource-1.0.7"
+      sources."event-target-shim-5.0.1"
+      sources."events-3.3.0"
+      sources."eventsource-1.1.0"
       sources."exit-on-epipe-1.0.1"
-      (sources."express-4.17.1" // {
+      sources."expand-tilde-2.0.2"
+      (sources."express-4.17.2" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
       })
-      (sources."ext-1.4.0" // {
-        dependencies = [
-          sources."type-2.1.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.5"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-safe-stringify-2.0.7"
-      sources."fastq-1.10.1"
-      sources."fecha-4.2.0"
-      sources."fflate-0.4.8"
-      sources."figlet-1.5.0"
-      sources."figures-3.2.0"
+      sources."fastq-1.13.0"
+      sources."fecha-4.2.1"
+      sources."fflate-0.7.3"
+      sources."figlet-1.5.2"
+      (sources."figures-3.2.0" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
       sources."file-type-14.7.1"
       sources."fill-range-7.0.1"
       (sources."finalhandler-1.1.2" // {
@@ -6550,23 +7931,20 @@ 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.5.10" // {
-        dependencies = [
-          sources."debug-3.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."follow-redirects-1.14.8"
+      sources."for-each-0.3.3"
       sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."formidable-1.2.2"
-      sources."forwarded-0.1.2"
+      sources."form-data-4.0.0"
+      sources."formidable-1.2.6"
+      sources."forwarded-0.2.0"
       sources."frac-1.1.2"
       sources."fresh-0.5.2"
       sources."fs-extra-8.1.0"
       sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -6576,135 +7954,137 @@ in
         ];
       })
       sources."generate-function-2.3.1"
+      sources."generic-pool-3.8.2"
       sources."get-caller-file-2.0.5"
+      sources."get-intrinsic-1.1.1"
+      sources."get-port-5.1.1"
+      sources."get-symbol-description-1.0.0"
       sources."get-system-fonts-2.0.2"
       sources."getpass-0.1.7"
-      sources."glob-7.1.6"
-      sources."glob-parent-5.1.1"
-      sources."glob-promise-3.4.0"
+      sources."glob-7.2.0"
+      sources."glob-parent-5.1.2"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
           sources."glob-parent-3.1.0"
           sources."is-glob-3.1.0"
           sources."isarray-1.0.0"
           sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."globby-11.0.2"
+      sources."globby-11.1.0"
       (sources."gm-1.23.1" // {
         dependencies = [
           sources."debug-3.2.7"
         ];
       })
       sources."google-timezones-json-1.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.9"
+      sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
+      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-bigints-1.0.1"
+      sources."has-flag-4.0.0"
+      sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
       (sources."header-case-2.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
+      sources."heap-0.2.7"
       sources."help-me-1.1.0"
-      sources."highlight.js-10.5.0"
-      (sources."html-to-text-5.1.1" // {
-        dependencies = [
-          (sources."dom-serializer-0.2.2" // {
-            dependencies = [
-              sources."domelementtype-2.1.0"
-              sources."entities-2.2.0"
-            ];
-          })
-          sources."domelementtype-1.3.1"
-          sources."domhandler-2.4.2"
-          sources."domutils-1.7.0"
-          sources."entities-1.1.2"
-          sources."htmlparser2-3.10.1"
-          sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
-          sources."string_decoder-1.3.0"
-        ];
-      })
-      sources."htmlparser2-6.0.0"
-      sources."http-errors-1.7.2"
+      sources."highlight.js-10.7.3"
+      sources."homedir-polyfill-1.0.3"
+      sources."html-to-text-8.0.0"
+      sources."htmlparser2-6.1.0"
+      sources."http-errors-1.8.1"
+      sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
-      (sources."https-proxy-agent-3.0.1" // {
-        dependencies = [
-          sources."agent-base-4.3.0"
-          sources."debug-3.2.7"
-        ];
-      })
+      sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
+      sources."ics-2.35.0"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.8"
-      sources."ignore-walk-3.0.3"
+      sources."ignore-5.2.0"
+      sources."ignore-walk-3.0.4"
       sources."imap-0.8.19"
       sources."imap-simple-4.3.0"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      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.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."inquirer-7.3.3"
+      sources."internal-slot-1.0.3"
+      sources."ioredis-4.28.5"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
       sources."is-arrayish-0.3.2"
-      sources."is-docker-2.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-binary-path-2.1.0"
+      sources."is-boolean-object-1.1.2"
+      sources."is-buffer-1.1.6"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
+      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.1"
+      sources."is-glob-4.0.3"
+      sources."is-nan-1.3.2"
       sources."is-negated-glob-1.0.0"
+      sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
+      sources."is-number-object-1.0.6"
       sources."is-promise-1.0.1"
       sources."is-property-1.0.2"
+      sources."is-regex-1.1.4"
       sources."is-relative-1.0.0"
-      sources."is-stream-2.0.0"
+      sources."is-retry-allowed-2.2.0"
+      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-typedarray-1.0.0"
       sources."is-unc-path-1.0.0"
+      sources."is-weakref-1.0.2"
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-0.0.1"
+      sources."isbot-3.4.2"
       sources."isexe-2.0.0"
-      sources."iso-639-1-2.1.7"
+      sources."iso-639-1-2.1.13"
       sources."isstream-0.1.2"
+      sources."jmespath-0.16.0"
+      sources."join-component-1.1.0"
       sources."js-yaml-3.14.1"
-      sources."jsbi-3.1.4"
+      sources."jsbi-3.2.5"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-diff-0.5.5"
+      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.1.0"
       sources."jsonfile-4.0.0"
       (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."jwa-1.4.1"
-      sources."jwks-rsa-1.9.0"
+      sources."jwks-rsa-1.12.3"
       sources."jws-3.2.2"
-      sources."kafkajs-1.15.0"
-      sources."kuler-2.0.0"
+      sources."kafkajs-1.16.0"
+      sources."kuler-1.0.1"
       sources."leven-2.1.0"
       sources."libbase64-1.2.1"
       (sources."libmime-5.0.0" // {
@@ -6712,36 +8092,40 @@ in
           sources."iconv-lite-0.6.2"
         ];
       })
+      sources."libphonenumber-js-1.9.49"
       sources."libqp-1.1.0"
       sources."limiter-1.1.5"
-      sources."linkify-it-3.0.2"
-      (sources."localtunnel-2.0.1" // {
+      sources."linkify-it-3.0.3"
+      (sources."localtunnel-2.0.2" // {
         dependencies = [
-          sources."axios-0.21.1"
-          sources."debug-4.3.1"
-          sources."follow-redirects-1.13.2"
+          sources."debug-4.3.2"
         ];
       })
-      sources."lodash-4.17.20"
-      sources."lodash._reinterpolate-3.0.0"
+      sources."lodash-4.17.21"
+      sources."lodash-es-4.17.21"
       sources."lodash.clonedeep-4.5.0"
+      sources."lodash.defaults-4.2.0"
+      sources."lodash.flatten-4.4.0"
       sources."lodash.get-4.4.2"
       sources."lodash.includes-4.3.0"
+      sources."lodash.isarguments-3.1.0"
       sources."lodash.isboolean-3.0.3"
+      sources."lodash.isequal-4.5.0"
       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.set-4.3.2"
-      sources."lodash.template-4.5.0"
-      sources."lodash.templatesettings-4.2.0"
+      sources."lodash.uniqby-4.7.0"
       sources."lodash.unset-4.5.2"
-      sources."logform-2.2.0"
+      sources."logform-2.4.0"
       sources."long-4.0.0"
+      sources."lossless-json-1.0.5"
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."lru-cache-6.0.0"
@@ -6751,33 +8135,34 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      (sources."mailparser-2.8.1" // {
+      (sources."mailparser-3.4.0" // {
         dependencies = [
-          sources."iconv-lite-0.6.2"
-          sources."nodemailer-6.4.11"
+          sources."iconv-lite-0.6.3"
+          sources."nodemailer-6.7.0"
         ];
       })
-      (sources."mailsplit-5.0.0" // {
+      sources."mailsplit-5.3.1"
+      (sources."make-dir-3.1.0" // {
         dependencies = [
-          sources."iconv-lite-0.5.0"
-          sources."libmime-4.2.1"
+          sources."semver-6.3.0"
         ];
       })
       sources."make-error-1.3.6"
       sources."make-error-cause-2.3.0"
+      sources."mappersmith-2.37.1"
+      sources."md5-2.3.0"
       sources."media-typer-0.3.0"
-      sources."memory-pager-1.5.0"
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.2"
+      sources."micromatch-4.0.4"
       sources."millisecond-0.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.51.0"
+      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.1"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
         dependencies = [
@@ -6786,65 +8171,82 @@ in
       })
       sources."minizlib-1.3.3"
       sources."mkdirp-1.0.4"
-      sources."moment-2.24.0"
-      sources."moment-timezone-0.5.32"
-      sources."mongodb-3.6.3"
-      (sources."mqtt-4.2.1" // {
+      (sources."mock-require-3.0.3" // {
         dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
+          sources."get-caller-file-1.0.3"
+          sources."normalize-path-2.1.1"
         ];
       })
-      (sources."mqtt-packet-6.7.0" // {
+      sources."moment-2.29.1"
+      sources."moment-timezone-0.5.34"
+      sources."monaco-editor-0.29.1"
+      sources."mongodb-3.7.3"
+      sources."moo-0.5.1"
+      (sources."mqtt-4.2.6" // {
         dependencies = [
-          sources."bl-4.0.3"
-          sources."inherits-2.0.4"
           sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
+        ];
+      })
+      (sources."mqtt-packet-6.10.0" // {
+        dependencies = [
+          sources."bl-4.1.0"
+          sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
         ];
       })
       sources."ms-2.1.2"
-      sources."mssql-6.3.1"
+      sources."mssql-6.4.0"
       sources."mute-stream-0.0.8"
-      (sources."mysql2-2.1.0" // {
+      (sources."mysql2-2.3.3" // {
         dependencies = [
-          sources."iconv-lite-0.5.2"
-          sources."lru-cache-5.1.1"
-          sources."yallist-3.1.1"
+          sources."denque-2.0.1"
+          sources."iconv-lite-0.6.3"
         ];
       })
       sources."mz-2.7.0"
-      sources."n8n-core-0.62.0"
-      sources."n8n-editor-ui-0.75.0"
-      (sources."n8n-nodes-base-0.102.0" // {
+      (sources."n8n-core-0.104.0" // {
         dependencies = [
-          sources."moment-2.28.0"
+          sources."qs-6.10.3"
         ];
       })
-      sources."n8n-workflow-0.51.0"
+      sources."n8n-design-system-0.11.0"
+      sources."n8n-editor-ui-0.130.0"
+      (sources."n8n-nodes-base-0.161.0" // {
+        dependencies = [
+          sources."iconv-lite-0.6.3"
+        ];
+      })
+      sources."n8n-workflow-0.86.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
           sources."yallist-2.1.2"
         ];
       })
-      sources."nan-2.14.2"
+      sources."nanoclone-0.2.1"
+      sources."nanoid-3.2.0"
       sources."native-duplexpair-1.0.0"
-      (sources."needle-2.6.0" // {
+      (sources."nearley-2.20.1" // {
+        dependencies = [
+          sources."commander-2.20.3"
+        ];
+      })
+      (sources."needle-2.9.1" // {
         dependencies = [
           sources."debug-3.2.7"
         ];
       })
-      sources."negotiator-0.6.2"
-      sources."next-tick-1.0.0"
+      sources."negotiator-0.6.3"
+      sources."neo-async-2.6.2"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
+      sources."node-addon-api-3.2.1"
       sources."node-ensure-0.0.0"
+      sources."node-fetch-2.6.7"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
           sources."mkdirp-0.5.5"
@@ -6852,18 +8254,24 @@ in
           sources."semver-5.7.1"
         ];
       })
+      sources."node-ssh-12.0.3"
       sources."nodeify-1.0.1"
-      sources."nodemailer-6.4.17"
+      sources."nodemailer-6.7.2"
       sources."nopt-4.0.3"
-      sources."npm-bundled-1.1.1"
+      sources."normalize-path-3.0.0"
+      sources."npm-bundled-1.1.2"
       sources."npm-normalize-package-bin-1.0.1"
       sources."npm-packlist-1.4.8"
       sources."npmlog-4.1.2"
-      sources."nth-check-2.0.0"
+      sources."nth-check-2.0.1"
       sources."number-is-nan-1.0.1"
       sources."oauth-1.0a-2.2.6"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
+      sources."object-inspect-1.12.0"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
+      sources."object.getownpropertydescriptors-2.1.3"
       (sources."ocsp-1.2.0" // {
         dependencies = [
           sources."asn1.js-4.10.1"
@@ -6877,12 +8285,14 @@ in
       sources."once-1.4.0"
       sources."one-time-1.0.0"
       sources."onetime-5.1.2"
-      sources."open-7.4.0"
+      sources."open-7.4.2"
       sources."openurl-1.1.1"
+      sources."optional-require-1.1.8"
       (sources."ordered-read-streams-1.0.1" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -6890,25 +8300,31 @@ in
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
-      sources."p-cancelable-2.0.0"
+      sources."p-cancelable-2.1.1"
+      sources."p-finally-1.0.0"
+      sources."p-map-2.1.0"
+      sources."p-timeout-3.2.0"
       sources."packet-reader-1.0.0"
       (sources."param-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."parent-require-1.0.0"
+      sources."parse-github-url-1.0.2"
+      sources."parse-passwd-1.0.0"
       sources."parse5-6.0.1"
       sources."parse5-htmlparser2-tree-adapter-6.0.1"
+      sources."parseley-0.7.0"
       sources."parseurl-1.3.3"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
       (sources."path-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."path-dirname-1.0.2"
@@ -6920,23 +8336,31 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."peek-readable-3.1.3"
+      sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
-      sources."pg-8.5.1"
-      sources."pg-connection-string-2.4.0"
+      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.2.2"
-      sources."pg-promise-10.9.2"
-      sources."pg-protocol-1.4.0"
+      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.4"
-      sources."picomatch-2.2.2"
+      (sources."pgpass-1.0.5" // {
+        dependencies = [
+          sources."split2-4.1.0"
+        ];
+      })
+      sources."picomatch-2.3.1"
       sources."popsicle-12.1.0"
       sources."popsicle-content-encoding-1.0.0"
       sources."popsicle-cookie-jar-1.0.0"
       sources."popsicle-redirects-1.1.0"
-      sources."popsicle-transport-http-1.1.1"
+      sources."popsicle-transport-http-1.2.1"
       sources."popsicle-transport-xhr-2.0.0"
       sources."popsicle-user-agent-1.0.0"
       sources."postgres-array-2.0.0"
@@ -6944,7 +8368,9 @@ in
       sources."postgres-date-1.0.7"
       sources."postgres-interval-1.2.0"
       sources."printj-1.1.2"
+      sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
+      sources."prom-client-13.2.0"
       sources."promise-1.3.0"
       (sources."promise-ftp-1.3.5" // {
         dependencies = [
@@ -6952,7 +8378,11 @@ in
         ];
       })
       sources."promise-ftp-common-1.1.5"
-      sources."proxy-addr-2.0.6"
+      sources."promise-retry-2.0.1"
+      sources."promise.prototype.finally-3.1.3"
+      sources."property-expr-2.0.5"
+      sources."proxy-addr-2.0.7"
+      sources."proxy-from-env-1.1.0"
       sources."pseudomap-1.0.2"
       sources."psl-1.8.0"
       sources."pump-3.0.0"
@@ -6962,26 +8392,37 @@ in
         ];
       })
       sources."punycode-2.1.1"
-      sources."qs-6.7.0"
+      sources."python-struct-1.1.3"
+      sources."qs-6.9.6"
+      sources."querystring-0.2.0"
       sources."querystringify-2.2.0"
+      sources."queue-microtask-1.2.3"
       sources."quoted-printable-1.0.1"
+      sources."railroad-diagrams-1.0.0"
+      sources."randexp-0.4.6"
       sources."random-bytes-1.0.0"
+      sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
+      sources."raw-body-2.4.2"
       sources."rc-1.2.8"
       sources."readable-stream-1.1.14"
       sources."readable-web-to-node-stream-2.0.0"
-      sources."redeyed-2.1.1"
-      sources."redis-2.8.0"
-      sources."redis-commands-1.6.0"
-      sources."redis-parser-2.6.0"
+      sources."readdirp-3.6.0"
+      sources."redis-3.1.2"
+      sources."redis-commands-1.7.0"
+      sources."redis-errors-1.2.0"
+      sources."redis-parser-3.0.0"
       sources."reflect-metadata-0.1.13"
+      sources."regenerator-runtime-0.13.9"
       sources."reinterval-1.1.0"
       sources."remove-trailing-separator-1.1.0"
+      sources."remove-trailing-slash-0.1.1"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."form-data-2.3.3"
+          sources."qs-6.5.3"
           sources."tough-cookie-2.5.0"
+          sources."uuid-3.4.0"
         ];
       })
       sources."request-promise-core-1.1.4"
@@ -6990,16 +8431,12 @@ in
           sources."tough-cookie-2.5.0"
         ];
       })
-      sources."requestretry-4.1.2"
+      sources."requestretry-6.0.0"
+      sources."require-at-1.0.6"
       sources."require-directory-2.1.1"
-      (sources."require_optional-1.0.1" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
       sources."requires-port-1.0.0"
-      sources."resolve-from-2.0.0"
       sources."restore-cursor-3.1.0"
+      sources."ret-0.1.15"
       sources."retry-0.12.0"
       sources."reusify-1.0.4"
       (sources."rhea-1.0.24" // {
@@ -7010,105 +8447,113 @@ in
       sources."rimraf-3.0.2"
       sources."riot-tmpl-3.0.8"
       sources."rndm-1.2.0"
-      sources."rss-parser-3.10.0"
+      sources."rss-parser-3.12.0"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      sources."rxjs-6.6.3"
-      sources."safe-buffer-5.1.2"
+      sources."run-parallel-1.2.0"
+      sources."rxjs-6.6.7"
+      sources."safe-buffer-5.2.1"
+      sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
-      sources."saslprep-1.0.3"
       sources."sax-1.2.4"
-      sources."semver-7.3.4"
-      (sources."send-0.17.1" // {
+      sources."sb-promise-queue-2.1.0"
+      sources."sb-scandir-3.1.0"
+      sources."selderee-0.6.0"
+      sources."semver-7.3.5"
+      (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
       (sources."sentence-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."seq-queue-0.0.5"
-      sources."serve-static-1.14.1"
+      sources."serialize-javascript-5.0.1"
+      sources."serve-static-1.14.2"
       sources."servie-4.3.3"
       sources."set-blocking-2.0.0"
       sources."setheader-1.0.2"
-      sources."setprototypeof-1.1.1"
+      sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
-      sources."signal-exit-3.0.3"
+      sources."shell-escape-0.2.0"
+      sources."side-channel-1.0.4"
+      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"
       sources."slash-3.0.0"
       (sources."snake-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
-      (sources."snowflake-sdk-1.5.3" // {
+      (sources."snowflake-sdk-1.6.6" // {
         dependencies = [
+          sources."agent-base-4.3.0"
           sources."debug-3.2.7"
+          sources."http-signature-1.3.6"
+          sources."https-proxy-agent-3.0.1"
+          sources."jsprim-2.0.2"
+          sources."tmp-0.2.1"
+          sources."uuid-3.4.0"
         ];
       })
-      sources."sparse-bitfield-3.0.3"
+      sources."source-map-0.6.1"
       sources."spex-3.2.0"
       (sources."split2-3.2.2" // {
         dependencies = [
           sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
           sources."string_decoder-1.3.0"
         ];
       })
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-4.2.0"
+      sources."sqlite3-5.0.2"
       sources."sqlstring-2.3.2"
       sources."sse-channel-3.1.1"
       sources."ssf-0.11.2"
-      sources."ssh2-0.8.9"
-      (sources."ssh2-sftp-client-5.3.2" // {
-        dependencies = [
-          sources."concat-stream-2.0.0"
-          sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
-          sources."string_decoder-1.3.0"
-        ];
-      })
-      sources."ssh2-streams-0.4.10"
-      sources."sshpk-1.16.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"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."stream-shift-1.0.1"
-      sources."streamsearch-0.1.2"
-      sources."string-width-4.2.0"
+      sources."string-similarity-4.0.4"
+      sources."string-width-4.2.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-0.10.31"
-      sources."strip-ansi-6.0.0"
+      sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."strtok3-6.0.8"
-      sources."supports-color-5.5.0"
-      (sources."tar-4.4.13" // {
+      sources."strtok3-6.3.0"
+      sources."supports-color-7.2.0"
+      (sources."tar-4.4.19" // {
         dependencies = [
           sources."mkdirp-0.5.5"
           sources."yallist-3.1.1"
         ];
       })
       sources."tarn-1.1.5"
-      (sources."tedious-6.7.0" // {
+      sources."tdigest-0.1.1"
+      (sources."tedious-6.7.1" // {
         dependencies = [
-          sources."@types/node-12.19.15"
+          sources."@types/node-12.20.45"
           sources."bl-3.0.1"
           sources."depd-2.0.0"
           sources."iconv-lite-0.5.2"
           sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
           sources."string_decoder-1.3.0"
         ];
       })
+      sources."test-console-2.0.0"
       sources."text-hex-1.0.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
@@ -7117,65 +8562,72 @@ in
         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."through2-filter-3.0.0"
       sources."throwback-4.1.0"
-      sources."tlds-1.208.0"
+      sources."timeago.js-4.0.2"
+      sources."tlds-1.224.0"
       sources."tmp-0.0.33"
-      (sources."tmp-promise-3.0.2" // {
+      (sources."tmp-promise-3.0.3" // {
         dependencies = [
           sources."tmp-0.2.1"
         ];
       })
       sources."to-absolute-glob-2.0.2"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
-      sources."token-types-2.1.1"
+      sources."toidentifier-1.0.1"
+      (sources."token-types-2.1.1" // {
+        dependencies = [
+          sources."@tokenizer/token-0.1.1"
+        ];
+      })
+      sources."toposort-2.0.2"
       sources."tough-cookie-3.0.1"
+      sources."tr46-0.0.3"
       sources."triple-beam-1.3.0"
-      sources."ts-expect-1.1.0"
-      sources."tslib-1.11.2"
+      sources."ts-expect-1.3.0"
+      sources."tslib-1.14.1"
       sources."tsscmp-1.0.6"
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-1.2.0"
-      sources."type-fest-0.11.0"
+      sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       (sources."typeorm-0.2.30" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.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."tslib-1.14.1"
+          sources."yargs-16.2.0"
         ];
       })
       sources."uc.micro-1.0.6"
       sources."uid-safe-2.1.5"
+      sources."unbox-primitive-1.0.1"
       sources."unc-path-regex-0.1.2"
-      sources."underscore-1.12.0"
+      sources."underscore-1.13.2"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       (sources."upper-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
       (sources."upper-case-first-2.0.2" // {
         dependencies = [
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."uri-js-4.4.1"
-      sources."url-parse-1.4.7"
+      (sources."url-0.10.3" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      sources."url-parse-1.5.6"
       (sources."utf7-1.0.2" // {
         dependencies = [
           sources."semver-5.3.0"
@@ -7183,78 +8635,63 @@ in
       })
       sources."utf8-2.1.2"
       sources."util-deprecate-1.0.2"
+      sources."util.promisify-1.1.1"
       sources."utils-merge-1.0.1"
       sources."uuencode-0.0.4"
-      sources."uuid-3.4.0"
-      sources."validator-11.1.0"
+      sources."uuid-8.3.2"
+      sources."v-click-outside-3.1.2"
+      sources."validator-13.7.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."vm2-3.9.2"
-      sources."when-3.7.8"
+      sources."vm2-3.9.7"
+      sources."vue-fragment-1.5.2"
+      sources."vue-i18n-8.27.0"
+      sources."webidl-conversions-3.0.1"
+      sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
-      (sources."wide-align-1.1.3" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."which-boxed-primitive-1.0.2"
+      sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
-      (sources."winston-3.3.3" // {
+      (sources."winston-3.6.0" // {
         dependencies = [
+          sources."async-3.2.3"
           sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
           sources."string_decoder-1.3.0"
         ];
       })
-      (sources."winston-transport-4.4.0" // {
+      (sources."winston-transport-4.5.0" // {
         dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
+          sources."readable-stream-3.6.0"
+          sources."string_decoder-1.3.0"
         ];
       })
       sources."wmf-1.0.2"
       sources."word-0.3.0"
-      (sources."wrap-ansi-4.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."wordwrap-1.0.0"
+      sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
-      (sources."xlsx-0.16.9" // {
-        dependencies = [
-          sources."fflate-0.3.11"
-        ];
-      })
+      sources."ws-7.5.7"
+      sources."xlsx-0.17.5"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
-      sources."xmldom-0.4.0"
       sources."xpath.js-1.1.0"
       sources."xregexp-2.0.0"
       sources."xtend-4.0.2"
-      sources."y18n-5.0.5"
+      sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       (sources."yargonaut-1.1.4" // {
         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."yargs-16.2.0" // {
-        dependencies = [
-          sources."yargs-parser-20.2.4"
-        ];
-      })
-      sources."yargs-parser-13.0.0"
+      sources."yargs-17.1.1"
+      sources."yargs-parser-20.2.9"
+      sources."yup-0.32.11"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
index bbdddbf60682..874c0f8a177f 100644
--- a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.4.1";
+  version = "3.4.2";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-1fUk4PUFkWcLOvrYvM+K+ZarUSeq/JtDU2bHHPoAoC8=";
+    sha256 = "sha256-cqpdn2STxJtUTBRFrUh1lRIDaFZfrRkJMxcJuTKxgk8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/networking/nextdns/default.nix b/nixpkgs/pkgs/applications/networking/nextdns/default.nix
index ae7eb49a1c66..a18257dfeb65 100644
--- a/nixpkgs/pkgs/applications/networking/nextdns/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/ngadmin/default.nix b/nixpkgs/pkgs/applications/networking/ngadmin/default.nix
index 8392e0583454..f63fbfcf9503 100644
--- a/nixpkgs/pkgs/applications/networking/ngadmin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/novnc/default.nix b/nixpkgs/pkgs/applications/networking/novnc/default.nix
new file mode 100644
index 000000000000..269944324c64
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/onionshare/default.nix b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
index 5b1a1fad5b1a..e7b661ae6ae7 100644
--- a/nixpkgs/pkgs/applications/networking/onionshare/default.nix
+++ b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
@@ -8,7 +8,7 @@
 , flask
 , flask-httpauth
 , flask-socketio
-, stem
+, cepa
 , psutil
 , pyqt5
 , pycrypto
@@ -21,15 +21,16 @@
 , unidecode
 , tor
 , obfs4
+, snowflake
 }:
 
 let
-  version = "2.4";
+  version = "2.5";
   src = fetchFromGitHub {
     owner = "onionshare";
     repo = "onionshare";
     rev = "v${version}";
-    sha256 = "sha256-Lclm7mIkaAkQpWcNILTRJtLA43dpiyHtWAeHS2r3+ZQ=";
+    sha256 = "xCAM+tjjyDg/gqAXr4YNPhM8R3n9r895jktisAGlpZo=";
   };
   meta = with lib; {
     description = "Securely and anonymously send and receive files";
@@ -55,16 +56,9 @@ let
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ lourkeur ];
   };
-  stem' = stem.overridePythonAttrs (_: rec {
-    version = "1.8.1";
 
-    src = fetchFromGitHub {
-      owner = "onionshare";
-      repo = "stem";
-      rev = version;
-      sha256 = "Dzpvx7CgAr5OtGmfubWAYDLqq5LkGqcwjr3bxpfL/3A=";
-    };
-  });
+  # TODO: package meek https://support.torproject.org/glossary/meek/
+  meek = "/meek-not-available";
 
 in
 rec {
@@ -76,7 +70,7 @@ rec {
       # hardcode store paths of dependencies
       (substituteAll {
         src = ./fix-paths.patch;
-        inherit tor obfs4;
+        inherit tor meek obfs4 snowflake;
         inherit (tor) geoip;
       })
     ];
@@ -86,7 +80,7 @@ rec {
       flask
       flask-httpauth
       flask-socketio
-      stem'
+      cepa
       psutil
       pycrypto
       pynacl
@@ -109,8 +103,6 @@ rec {
     '';
 
     disabledTests = [
-      "test_firefox_like_behavior"
-      "test_if_unmodified_since"
       "test_get_tor_paths_linux"  # expects /usr instead of /nix/store
     ] ++ lib.optionals stdenv.isDarwin [
       # on darwin (and only on darwin) onionshare attempts to discover
@@ -123,12 +115,12 @@ rec {
   onionshare-gui = buildPythonApplication {
     pname = "onionshare";
     inherit version meta;
-    src = "${src}/desktop/src";
+    src = "${src}/desktop";
     patches = [
       # hardcode store paths of dependencies
       (substituteAll {
         src = ./fix-paths-gui.patch;
-        inherit tor obfs4;
+        inherit tor meek obfs4 snowflake;
         inherit (tor) geoip;
       })
     ];
diff --git a/nixpkgs/pkgs/applications/networking/onionshare/fix-paths-gui.patch b/nixpkgs/pkgs/applications/networking/onionshare/fix-paths-gui.patch
index 841af8fa95af..4eb611c860db 100644
--- a/nixpkgs/pkgs/applications/networking/onionshare/fix-paths-gui.patch
+++ b/nixpkgs/pkgs/applications/networking/onionshare/fix-paths-gui.patch
@@ -1,25 +1,46 @@
 --- a/onionshare/gui_common.py
 +++ b/onionshare/gui_common.py
-@@ -391,29 +391,10 @@ class GuiCommon:
+@@ -410,52 +410,12 @@ class GuiCommon:
          }
  
      def get_tor_paths(self):
 -        if self.common.platform == "Linux":
--            tor_path = shutil.which("tor")
--            obfs4proxy_file_path = shutil.which("obfs4proxy")
--            prefix = os.path.dirname(os.path.dirname(tor_path))
--            tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
--            tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
--        elif self.common.platform == "Windows":
+-            base_path = self.get_resource_path("tor")
+-            if base_path and os.path.isdir(base_path):
+-                self.common.log(
+-                    "GuiCommon", "get_tor_paths", "using paths in resources"
+-                )
+-                tor_path = os.path.join(base_path, "tor")
+-                tor_geo_ip_file_path = os.path.join(base_path, "geoip")
+-                tor_geo_ipv6_file_path = os.path.join(base_path, "geoip6")
+-                obfs4proxy_file_path = os.path.join(base_path, "obfs4proxy")
+-                snowflake_file_path = os.path.join(base_path, "snowflake-client")
+-                meek_client_file_path = os.path.join(base_path, "meek-client")
+-            else:
+-                # Fallback to looking in the path
+-                self.common.log("GuiCommon", "get_tor_paths", "using paths from PATH")
+-                tor_path = shutil.which("tor")
+-                obfs4proxy_file_path = shutil.which("obfs4proxy")
+-                snowflake_file_path = shutil.which("snowflake-client")
+-                meek_client_file_path = shutil.which("meek-client")
+-                prefix = os.path.dirname(os.path.dirname(tor_path))
+-                tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
+-                tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
+-
+-        if self.common.platform == "Windows":
 -            base_path = self.get_resource_path("tor")
 -            tor_path = os.path.join(base_path, "Tor", "tor.exe")
 -            obfs4proxy_file_path = os.path.join(base_path, "Tor", "obfs4proxy.exe")
+-            snowflake_file_path = os.path.join(base_path, "Tor", "snowflake-client.exe")
+-            meek_client_file_path = os.path.join(base_path, "Tor", "meek-client.exe")
 -            tor_geo_ip_file_path = os.path.join(base_path, "Data", "Tor", "geoip")
 -            tor_geo_ipv6_file_path = os.path.join(base_path, "Data", "Tor", "geoip6")
 -        elif self.common.platform == "Darwin":
 -            base_path = self.get_resource_path("tor")
 -            tor_path = os.path.join(base_path, "tor")
 -            obfs4proxy_file_path = os.path.join(base_path, "obfs4proxy")
+-            snowflake_file_path = os.path.join(base_path, "snowflake-client")
+-            meek_client_file_path = os.path.join(base_path, "meek-client")
 -            tor_geo_ip_file_path = os.path.join(base_path, "geoip")
 -            tor_geo_ipv6_file_path = os.path.join(base_path, "geoip6")
 -        elif self.common.platform == "BSD":
@@ -27,10 +48,14 @@
 -            tor_geo_ip_file_path = "/usr/local/share/tor/geoip"
 -            tor_geo_ipv6_file_path = "/usr/local/share/tor/geoip6"
 -            obfs4proxy_file_path = "/usr/local/bin/obfs4proxy"
+-            meek_client_file_path = "/usr/local/bin/meek-client"
+-            snowflake_file_path = "/usr/local/bin/snowflake-client"
 +        tor_path = "@tor@/bin/tor"
 +        tor_geo_ip_file_path = "@geoip@/share/tor/geoip"
 +        tor_geo_ipv6_file_path = "@geoip@/share/tor/geoip6"
 +        obfs4proxy_file_path = "@obfs4@/bin/obfs4proxy"
++        meek_client_file_path = "@meek@/bin/meek-client"
++        snowflake_file_path = "@snowflake@/bin/snowflake-client"
  
          return (
              tor_path,
diff --git a/nixpkgs/pkgs/applications/networking/onionshare/fix-paths.patch b/nixpkgs/pkgs/applications/networking/onionshare/fix-paths.patch
index 9280ec4d255a..fec4b4e0395b 100644
--- a/nixpkgs/pkgs/applications/networking/onionshare/fix-paths.patch
+++ b/nixpkgs/pkgs/applications/networking/onionshare/fix-paths.patch
@@ -1,41 +1,76 @@
 --- a/onionshare_cli/common.py
 +++ b/onionshare_cli/common.py
-@@ -308,33 +308,10 @@ class Common:
+@@ -318,67 +318,12 @@ class Common:
          return path
-
+ 
      def get_tor_paths(self):
 -        if self.platform == "Linux":
 -            tor_path = shutil.which("tor")
 -            if not tor_path:
 -                raise CannotFindTor()
 -            obfs4proxy_file_path = shutil.which("obfs4proxy")
+-            snowflake_file_path = shutil.which("snowflake-client")
+-            meek_client_file_path = shutil.which("meek-client")
 -            prefix = os.path.dirname(os.path.dirname(tor_path))
 -            tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
 -            tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
 -        elif self.platform == "Windows":
+-            # In Windows, the Tor binaries are in the onionshare package, not the onionshare_cli package
 -            base_path = self.get_resource_path("tor")
+-            base_path = base_path.replace("onionshare_cli", "onionshare")
 -            tor_path = os.path.join(base_path, "Tor", "tor.exe")
+-
+-            # If tor.exe isn't there, mayber we're running from the source tree
+-            if not os.path.exists(tor_path):
+-                base_path = os.path.join(os.getcwd(), "onionshare", "resources", "tor")
+-
+-                tor_path = os.path.join(base_path, "Tor", "tor.exe")
+-                if not os.path.exists(tor_path):
+-                    raise CannotFindTor()
+-
 -            obfs4proxy_file_path = os.path.join(base_path, "Tor", "obfs4proxy.exe")
+-            snowflake_file_path = os.path.join(base_path, "Tor", "snowflake-client.exe")
+-            meek_client_file_path = os.path.join(base_path, "Tor", "meek-client.exe")
 -            tor_geo_ip_file_path = os.path.join(base_path, "Data", "Tor", "geoip")
 -            tor_geo_ipv6_file_path = os.path.join(base_path, "Data", "Tor", "geoip6")
+-
 -        elif self.platform == "Darwin":
--            tor_path = shutil.which("tor")
--            if not tor_path:
--                raise CannotFindTor()
--            obfs4proxy_file_path = shutil.which("obfs4proxy")
--            prefix = os.path.dirname(os.path.dirname(tor_path))
--            tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
--            tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
+-            # Let's see if we have tor binaries in the onionshare GUI package
+-            base_path = self.get_resource_path("tor")
+-            base_path = base_path.replace("onionshare_cli", "onionshare")
+-            tor_path = os.path.join(base_path, "tor")
+-            if os.path.exists(tor_path):
+-                obfs4proxy_file_path = os.path.join(base_path, "obfs4proxy")
+-                snowflake_file_path = os.path.join(base_path, "snowflake-client")
+-                meek_client_file_path = os.path.join(base_path, "meek-client")
+-                tor_geo_ip_file_path = os.path.join(base_path, "geoip")
+-                tor_geo_ipv6_file_path = os.path.join(base_path, "geoip6")
+-            else:
+-                # Fallback to looking in the path
+-                tor_path = shutil.which("tor")
+-                if not os.path.exists(tor_path):
+-                    raise CannotFindTor()
+-
+-                obfs4proxy_file_path = shutil.which("obfs4proxy")
+-                snowflake_file_path = shutil.which("snowflake-client")
+-                meek_client_file_path = shutil.which("meek-client")
+-                prefix = os.path.dirname(os.path.dirname(tor_path))
+-                tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
+-                tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
+-
 -        elif self.platform == "BSD":
 -            tor_path = "/usr/local/bin/tor"
 -            tor_geo_ip_file_path = "/usr/local/share/tor/geoip"
 -            tor_geo_ipv6_file_path = "/usr/local/share/tor/geoip6"
 -            obfs4proxy_file_path = "/usr/local/bin/obfs4proxy"
+-            snowflake_file_path = "/usr/local/bin/snowflake-client"
+-            meek_client_file_path = "/usr/local/bin/meek-client"
 +        tor_path = "@tor@/bin/tor"
 +        tor_geo_ip_file_path = "@geoip@/share/tor/geoip"
 +        tor_geo_ipv6_file_path = "@geoip@/share/tor/geoip6"
 +        obfs4proxy_file_path = "@obfs4@/bin/obfs4proxy"
-
++        snowflake_file_path = "@snowflake@/bin/snowflake-client"
++        meek_client_file_path = "@meek@/bin/meek-client"
+ 
          return (
              tor_path,
-
diff --git a/nixpkgs/pkgs/applications/networking/openbazaar/client.nix b/nixpkgs/pkgs/applications/networking/openbazaar/client.nix
deleted file mode 100644
index e7a19fa7825f..000000000000
--- a/nixpkgs/pkgs/applications/networking/openbazaar/client.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, gcc-unwrapped
-, dpkg
-, bash
-, nodePackages
-, makeWrapper
-, electron_6
-}:
-
-let
-  electron = electron_6;
-in
-stdenv.mkDerivation rec {
-  pname = "openbazaar-client";
-  version = "2.4.10";
-
-  src = fetchurl {
-    url = "https://github.com/OpenBazaar/openbazaar-desktop/releases/download/v${version}/openbazaar2client_${version}_amd64.deb";
-    sha256 = "sha256-X0iTTLOJsZeyVZwNU3y39cFMHnxlnYXmqQERE26CLTY=";
-  };
-
-  dontBuild = true;
-  dontConfigure = true;
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  unpackPhase = ''
-    ${dpkg}/bin/dpkg-deb -x $src .
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin $out/share/{${pname},applications,pixmaps}
-
-    cp -a usr/lib/openbazaar2client/{locales,resources} $out/share/${pname}
-    cp -a usr/share/applications/openbazaar2client.desktop $out/share/applications/${pname}.desktop
-    cp -a usr/share/pixmaps/openbazaar2client.png $out/share/pixmaps/${pname}.png
-
-    substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'openbazaar2client' 'openbazaar-client'
-
-    runHook postInstall
-  '';
-
-  postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
-      --add-flags $out/share/${pname}/resources/app \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gcc-unwrapped.lib ]}"
-  '';
-
-  meta = with lib; {
-    description = "Decentralized Peer to Peer Marketplace for Bitcoin - client";
-    homepage = "https://www.openbazaar.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ prusnak ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/openbazaar/default.nix b/nixpkgs/pkgs/applications/networking/openbazaar/default.nix
deleted file mode 100644
index aa5d14724ac4..000000000000
--- a/nixpkgs/pkgs/applications/networking/openbazaar/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, stdenv
-, fetchurl
-}:
-
-stdenv.mkDerivation rec {
-  pname = "openbazaar";
-  version = "0.14.6";
-
-  suffix = {
-    i686-linux    = "linux-386";
-    x86_64-darwin = "darwin-10.6-amd64";
-    x86_64-linux  = "linux-amd64";
-  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
-
-  src = fetchurl {
-    url = "https://github.com/OpenBazaar/openbazaar-go/releases/download/v${version}/${pname}-go-${suffix}";
-    sha256 = {
-      i686-linux    = "1cmv3gyfd6q7y6yn6kigksy2abkq5b8mfgk51d04ky1ckgbriaqq";
-      x86_64-darwin = "0n32a0pyj1k2had3imimdyhdhyb285y1dj04f7g3jajmy5zndaxx";
-      x86_64-linux  = "105i5yl2yvhcvyh1wf35kqq1qyxgbl9j2kxs6yshsk14b2p02j5i";
-    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
-  };
-
-  dontUnpack = true;
-  dontConfigure = true;
-  dontBuild = true;
-  dontStrip = true;
-  dontPatchELF = true;
-  preferLocalBuild = true;
-
-  installPhase = ''
-    install -D $src $out/bin/openbazaard
-  '';
-
-  postFixup = lib.optionalString (!stdenv.isDarwin) ''
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      $out/bin/openbazaard
-  '';
-
-  meta = with lib; {
-    description = "Decentralized Peer to Peer Marketplace for Bitcoin - daemon";
-    homepage = "https://www.openbazaar.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ prusnak ];
-    platforms = [ "i686-linux" "x86_64-darwin" "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix b/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
index e3919430c8fc..006310e912b2 100644
--- a/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "owncloud-client";
-  version = "2.9.2.6206";
+  version = "2.10.0.6519";
 
   src = fetchurl {
     url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz";
-    sha256 = "sha256-i6TmJFEuH4A1jTyoKiJoVU7yC+AXZIH4miYSk3XzVEo=";
+    sha256 = "sha256-HDH8s/VPeOAbkyrfE7hbhePhtWcx1IUdlhDCnodomh8=";
   };
 
   nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/applications/networking/p2p/deluge/default.nix b/nixpkgs/pkgs/applications/networking/p2p/deluge/default.nix
index 2bd3cd739e66..49d21bbf3394 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/deluge/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/deluge/default.nix
@@ -13,27 +13,13 @@
 
 pythonPackages.buildPythonPackage rec {
   pname = "deluge";
-  version = "2.0.3";
+  version = "2.0.5";
 
   src = fetchurl {
     url = "http://download.deluge-torrent.org/source/2.0/${pname}-${version}.tar.xz";
-    sha256 = "14d8kn2pvr1qv8mwqrxmj85jycr73vwfqz12hzag0ararbkfhyky";
+    sha256 = "sha256-xL0Eq/0hG2Uhi+A/PEbSb0QCSITeEOAYWfuFb91vJdg=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/deluge-torrent/deluge/commit/d6c96d629183e8bab2167ef56457f994017e7c85.patch";
-      sha256 = "sha256-slGMt2bgp36pjDztJUXFeZNbzdJsus0s9ARRD6IpNUw=";
-      name = "fix_ngettext_warning.patch";
-    })
-
-    (fetchpatch {
-      url = "https://github.com/deluge-torrent/deluge/commit/351664ec071daa04161577c6a1c949ed0f2c3206.patch";
-      sha256 = "sha256-ry1LFgMe9lys66xAvATcPqIa3rzBPWVnsf8FL1dXkHo=";
-      name = "fix_logging_on_py38.patch";
-    })
-  ];
-
   propagatedBuildInputs = with pythonPackages; [
     twisted
     Mako
diff --git a/nixpkgs/pkgs/applications/networking/p2p/dht/default.nix b/nixpkgs/pkgs/applications/networking/p2p/dht/default.nix
index 0088e517914f..b1d01f82876e 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/dht/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/p2p/fragments/default.nix b/nixpkgs/pkgs/applications/networking/p2p/fragments/default.nix
index 721f0ca259f0..a07869209c7d 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/fragments/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/p2p/gnunet/gtk.nix b/nixpkgs/pkgs/applications/networking/p2p/gnunet/gtk.nix
index 3711d5a3c1ed..369244604a88 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/gnunet/gtk.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/gnunet/gtk.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet-gtk";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "18rc7mb45y17d5nrlpf2p4ixp7ir67gcgjf4hlj4r95ic5zi54wa";
+    sha256 = "sha256-FLLlqpQ7Bf+oNRUvx7IniVxFusy/tPYxEP2T6VGF7h8=";
   };
 
   nativeBuildInputs= [
diff --git a/nixpkgs/pkgs/applications/networking/p2p/libutp/default.nix b/nixpkgs/pkgs/applications/networking/p2p/libutp/default.nix
index 6fba4faf50c0..a07ffdea6b69 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/libutp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix b/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix
index f5f5b3bde762..3c05398df0ea 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -12,13 +12,13 @@ assert trackerSearch -> (python3 != null);
 with lib;
 mkDerivation rec {
   pname = "qbittorrent";
-  version = "4.3.9";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qBittorrent";
     rev = "release-${version}";
-    sha256 = "sha256-pFHeozx72qVjA3cmW6GK058IIAOWmyNm1UQVCQ1v5EU=";
+    sha256 = "sha256-HNgegPL7M0zwkn7+lcNcsgWgrCbY9/d0nuIlIC5hkAM=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix b/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix
index 4a0669d7d0af..0d44f084086e 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/tixati/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tixati";
-  version = "2.87";
+  version = "2.88";
 
   src = fetchurl {
     url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
-    sha256 = "sha256-URWLuZ/gtv/sX5+11ORu9SUZFIZUuKPn0CUQ1xaSQcQ=";
+    sha256 = "sha256-9d9Z+3Uyxy4Bj8STtzHWwyyhWeMv3wo0IH6uxGTaA0I=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix b/nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix
index 774aea642d43..d1df2fea444c 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/tribler/default.nix
@@ -1,21 +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 
-    ../../../../development/python-modules/aiohttp-apispec/unstable.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 = [
@@ -30,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 = ''
@@ -73,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 \
@@ -80,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/nixpkgs/pkgs/applications/networking/p2p/twister/default.nix b/nixpkgs/pkgs/applications/networking/p2p/twister/default.nix
index 1d05cafef832..9c708b795885 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/twister/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/twister/default.nix
@@ -13,7 +13,10 @@ let
     };
   };
 
-  boostPython = boost.override { enablePython = true; };
+  boostPython = boost.override {
+    enablePython = true;
+    python = python2;
+  };
 
 in stdenv.mkDerivation rec {
   pname = "twister";
diff --git a/nixpkgs/pkgs/applications/networking/p2p/xd/default.nix b/nixpkgs/pkgs/applications/networking/p2p/xd/default.nix
index 54581a6070ba..779de53d3c5d 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/xd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/xd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "XD";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "majestrate";
     repo = "XD";
     rev = "v${version}";
-    sha256 = "sha256-fXENoqhR04TYS/kAJUqsqa0+j+KyzdsMlXIZ2GMPMhc=";
+    sha256 = "sha256-AavNiFZlpX6XZQLP1kl9igA833i0gxOTYGubo3MvpSU=";
   };
 
-  vendorSha256 = "1wg3cym2rwrhjsqlgd38l8mdq5alccz808465117n3vyga9m35lq";
+  vendorSha256 = "sha256-mJZRk3p+D3tCKIYggD5jVBXcKqJotEexljDzLKpn4/E=";
 
   checkInputs = [ perl ];
 
diff --git a/nixpkgs/pkgs/applications/networking/ping/default.nix b/nixpkgs/pkgs/applications/networking/ping/default.nix
index 8b8748d70ff3..6074b1a51ccb 100644
--- a/nixpkgs/pkgs/applications/networking/ping/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ping/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , nix-update-script
 , meson
@@ -14,7 +15,6 @@
 , libsoup
 , libgee
 , wrapGAppsHook
-, vala_0_40
 }:
 
 stdenv.mkDerivation rec {
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson
     ninja
-    vala_0_40
+    vala
     pkg-config
     python3
     wrapGAppsHook
@@ -65,5 +65,12 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl3;
     mainProgram = "com.github.jeremyvaartjes.ping";
+    # Does not build with vala 0.48 or later
+    # ../src/Application.vala:696.46-696.57: error: Assignment: Cannot convert from
+    # `GLib.HashTable<weak string,weak string>' to `GLib.HashTable<string,string>?'
+    #                     HashTable<string,string> tempDataList = Soup.Form.decode(testObjs[id].data);
+    #                                              ^^^^^^^^^^^^
+    # Upstream has no activity since 28 Dec 2020
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix b/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
index 1283f0d7fa80..d56197c31347 100644
--- a/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix b/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix
index 1bbf3d6554fc..b6583efe730e 100644
--- a/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix
+++ b/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix
@@ -3,13 +3,13 @@ wrapGAppsHook, python3Packages, gtk3, networkmanager, webkitgtk }:
 
 python3Packages.buildPythonApplication rec {
   pname = "protonvpn-linux-gui";
-  version = "1.4.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "linux-app";
     rev = version;
-    sha256 = "sha256-08gXEKm8udgNltRdqvAMFL0pDCWZu/kfl1xGQtZPBCc=";
+    sha256 = "sha256-uzooFQBq2mhqTBr/cgea5cVQ889P70sgSk2vjXBQEfw=";
   };
 
   strictDeps = false;
diff --git a/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix b/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
index 9f8a6dfc5761..f9450c588263 100644
--- a/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
@@ -1,9 +1,42 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, alsa-lib, ffmpeg, glib, openssl
-, pcre, zlib, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama
-, libXrandr, libXrender, libXv, libXtst, libxkbcommon, libxkbfile, wayland
-, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc, libxslt, cairo
-, libusb1, libpulseaudio, cups, pcsclite, systemd, libjpeg_turbo
-, buildServer ? true, nocaps ? false
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, alsa-lib
+, ffmpeg
+, glib
+, openssl
+, pcre
+, zlib
+, libX11
+, libXcursor
+, libXdamage
+, libXext
+, libXi
+, libXinerama
+, libXrandr
+, libXrender
+, libXv
+, libXtst
+, libxkbcommon
+, libxkbfile
+, wayland
+, gstreamer
+, gst-plugins-base
+, gst-plugins-good
+, libunwind
+, orc
+, libxslt
+, cairo
+, libusb1
+, libpulseaudio
+, cups
+, pcsclite
+, systemd
+, libjpeg_turbo
+, buildServer ? true
+, nocaps ? false
 }:
 
 let
@@ -16,15 +49,16 @@ let
     }
   ];
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "sha256-0wwIuE6Gv8khhLAbWSHOBfHGrTUjR4f/C5bzYJpvWIQ=";
+    sha256 = "sha256-OLz/f4E+Haumw5Jaw+F1hiHz0jfcywhfK3fEUgLorao=";
   };
 
   postPatch = ''
@@ -47,40 +81,39 @@ in stdenv.mkDerivation rec {
       --replace "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL"
   '';
 
-  buildInputs = with lib;
-    [
-      alsa-lib
-      cairo
-      cups
-      ffmpeg
-      glib
-      gst-plugins-base
-      gst-plugins-good
-      gstreamer
-      libX11
-      libXcursor
-      libXdamage
-      libXext
-      libXi
-      libXinerama
-      libXrandr
-      libXrender
-      libXtst
-      libXv
-      libjpeg_turbo
-      libpulseaudio
-      libunwind
-      libusb1
-      libxkbcommon
-      libxkbfile
-      libxslt
-      openssl
-      orc
-      pcre
-      pcsclite
-      wayland
-      zlib
-    ] ++ optional stdenv.isLinux systemd;
+  buildInputs = [
+    alsa-lib
+    cairo
+    cups
+    ffmpeg
+    glib
+    gst-plugins-base
+    gst-plugins-good
+    gstreamer
+    libX11
+    libXcursor
+    libXdamage
+    libXext
+    libXi
+    libXinerama
+    libXrandr
+    libXrender
+    libXtst
+    libXv
+    libjpeg_turbo
+    libpulseaudio
+    libunwind
+    libusb1
+    libxkbcommon
+    libxkbfile
+    libxslt
+    openssl
+    orc
+    pcre
+    pcsclite
+    wayland
+    zlib
+  ] ++ lib.optional stdenv.isLinux systemd;
 
   nativeBuildInputs = [ cmake pkg-config ];
 
@@ -88,18 +121,18 @@ in stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]
     ++ lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
-      BUILD_TESTING = doCheck;
-      WITH_CUNIT = doCheck;
-      WITH_CUPS = (cups != null);
-      WITH_OSS = false;
-      WITH_PCSC = (pcsclite != null);
-      WITH_PULSE = (libpulseaudio != null);
-      WITH_SERVER = buildServer;
-      WITH_SSE2 = stdenv.isx86_64;
-      WITH_VAAPI = true;
-      WITH_JPEG = (libjpeg_turbo != null);
-      WITH_CAIRO = (cairo != null);
-    };
+    BUILD_TESTING = doCheck;
+    WITH_CUNIT = doCheck;
+    WITH_CUPS = (cups != null);
+    WITH_OSS = false;
+    WITH_PCSC = (pcsclite != null);
+    WITH_PULSE = (libpulseaudio != null);
+    WITH_SERVER = buildServer;
+    WITH_SSE2 = stdenv.isx86_64;
+    WITH_VAAPI = true;
+    WITH_JPEG = (libjpeg_turbo != null);
+    WITH_CAIRO = (cairo != null);
+  };
 
   meta = with lib; {
     description = "A Remote Desktop Protocol Client";
diff --git a/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix b/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix
index 11fcde29b882..58ce130a7305 100644
--- a/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/remmina/default.nix
@@ -13,13 +13,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "remmina";
-  version = "1.4.20";
+  version = "1.4.24";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "sha256-m3DUaoOD8COxMwCVBTipzCAz3mqIdunEbVPjyjAl9So=";
+    sha256 = "sha256-rcxgr3HVOWA3mTfX8tka9bPGDRDtKhBRsfQ3hv9XHf0=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix b/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
index 08f71bd1a55b..00289e5c6286 100644
--- a/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivation rec {
   pname = "teamviewer";
-  version = "15.25.5";
+  version = "15.26.4";
 
   src = fetchurl {
     url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
-    sha256 = "sha256-LtITPS0bLy85dv/zdOo8JcsEZ0ZgtVmM+CcggaYJxXA=";
+    sha256 = "sha256-2CprtdKHHTLxS8jA4bRVoHvj/8zyVUV0aGPzU7mNxM8=";
   };
 
   unpackPhase = ''
@@ -93,7 +93,7 @@ mkDerivation rec {
   preferLocalBuild = true;
 
   meta = with lib; {
-    homepage = "http://www.teamviewer.com";
+    homepage = "https://www.teamviewer.com";
     license = licenses.unfree;
     description = "Desktop sharing application, providing remote support and online meetings";
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index 033386afd1ff..ee9467467cf4 100644
--- a/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -1,57 +1,40 @@
 { stdenv
 , lib
-, at-spi2-atk
-, atk
 , buildFHSUserEnv
-, cairo
-, dbus
 , fetchurl
-, fontconfig
-, freetype
-, gdk-pixbuf
-, glib
 , gsettings-desktop-schemas
-, gtk2
-, gtk3-x11
-, harfbuzz
-, liberation_ttf
-, libjpeg
-, libtiff
-, libudev0-shim
-, libuuid
-, libX11
-, libXcursor
-, libXext
-, libXi
-, libXinerama
-, libxkbfile
-, libxml2
-, libXrandr
-, libXrender
-, libXScrnSaver
-, libxslt
-, libXtst
 , makeDesktopItem
 , makeWrapper
-, pango
-, pcsclite
-, pixman
-, zlib
+, writeTextDir
+, configText ? ""
 }:
 let
-  version = "2106.1";
+  version = "2111";
 
   sysArch =
     if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
     else throw "Unsupported system: ${stdenv.hostPlatform.system}";
   # The downloaded archive also contains ARM binaries, but these have not been tested.
 
+  # For USB support, ensure that /var/run/vmware/<YOUR-UID>
+  # exists and is owned by you. Then run vmware-usbarbitrator as root.
+  bins = [ "vmware-view" "vmware-usbarbitrator" ];
+
+  # This forces the default GTK theme (Adwaita) because Horizon is prone to
+  # UI usability issues when using non-default themes, such as Adwaita-dark.
+  wrapBinCommands = name: ''
+    makeWrapper "$out/bin/${name}" "$out/bin/${name}_wrapper" \
+    --set GTK_THEME Adwaita \
+    --suffix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
+    --suffix LD_LIBRARY_PATH : "$out/lib/vmware/view/crtbora:$out/lib/vmware"
+  '';
+
   vmwareHorizonClientFiles = stdenv.mkDerivation {
     name = "vmwareHorizonClientFiles";
     inherit version;
     src = fetchurl {
-      url = "https://download3.vmware.com/software/view/viewclients/CART22FQ2/VMware-Horizon-Client-Linux-2106.1-8.3.1-18435609.tar.gz";
-      sha256 = "b42ddb9d7e9c8d0f8b86b69344fcfca45251c5a5f1e06a18a3334d5a04e18c39";
+      url = "https://download3.vmware.com/software/view/viewclients/CART22FH2/VMware-Horizon-Client-Linux-2111-8.4.0-18957622.tar.gz";
+      sha256 = "2f79d2d8d34e6f85a5d21a3350618c4763d60455e7d68647ea40715eaff486f7";
     };
     nativeBuildInputs = [ makeWrapper ];
     installPhase = ''
@@ -65,27 +48,19 @@ let
       # Deleting the bundled library is the simplest way to force it to use our version.
       rm "$out/lib/vmware/gcc/libstdc++.so.6"
 
-      # This libjpeg library interferes with Chromium, so we will be using ours instead.
-      rm $out/lib/vmware/libjpeg.*
-
       # This library causes the program to core-dump occasionally. Use ours instead.
       rm $out/lib/vmware/view/crtbora/libcairo.*
 
-      # Force the default GTK theme (Adwaita) because Horizon is prone to
-      # UI usability issues when using non-default themes, such as Adwaita-dark.
-      makeWrapper "$out/bin/vmware-view" "$out/bin/vmware-view_wrapper" \
-          --set GTK_THEME Adwaita \
-          --suffix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
-          --suffix LD_LIBRARY_PATH : "$out/lib/vmware/view/crtbora:$out/lib/vmware"
+      ${lib.concatMapStrings wrapBinCommands bins}
     '';
   };
 
-  vmwareFHSUserEnv = buildFHSUserEnv {
-    name = "vmware-view";
+  vmwareFHSUserEnv = name: buildFHSUserEnv {
+    inherit name;
 
-    runScript = "${vmwareHorizonClientFiles}/bin/vmware-view_wrapper";
+    runScript = "${vmwareHorizonClientFiles}/bin/${name}_wrapper";
 
-    targetPkgs = pkgs: [
+    targetPkgs = pkgs: with pkgs; [
       at-spi2-atk
       atk
       cairo
@@ -99,25 +74,29 @@ let
       harfbuzz
       liberation_ttf
       libjpeg
+      libpulseaudio
       libtiff
       libudev0-shim
       libuuid
-      libX11
-      libXcursor
-      libXext
-      libXi
-      libXinerama
-      libxkbfile
+      libv4l
       libxml2
-      libXrandr
-      libXrender
-      libXScrnSaver
-      libXtst
       pango
       pcsclite
       pixman
       vmwareHorizonClientFiles
+      xorg.libX11
+      xorg.libXcursor
+      xorg.libXext
+      xorg.libXi
+      xorg.libXinerama
+      xorg.libxkbfile
+      xorg.libXrandr
+      xorg.libXrender
+      xorg.libXScrnSaver
+      xorg.libXtst
       zlib
+
+      (writeTextDir "etc/vmware/config" configText)
     ];
   };
 
@@ -125,20 +104,25 @@ let
     name = "vmware-view";
     desktopName = "VMware Horizon Client";
     icon = "${vmwareHorizonClientFiles}/share/icons/vmware-view.png";
-    exec = "${vmwareFHSUserEnv}/bin/vmware-view %u";
+    exec = "${vmwareFHSUserEnv "vmware-view"}/bin/vmware-view %u";
     mimeType = "x-scheme-handler/vmware-view";
   };
 
+  binLinkCommands = lib.concatMapStringsSep
+    "\n"
+    (bin: "ln -s ${vmwareFHSUserEnv bin}/bin/${bin} $out/bin/")
+    bins;
+
 in
 stdenv.mkDerivation {
-  name = "vmware-view";
+  name = "vmware-horizon-client";
 
   dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/bin $out/share/applications
-    cp "${desktopItem}"/share/applications/* $out/share/applications/
-    ln -s "${vmwareFHSUserEnv}/bin/vmware-view" "$out/bin/"
+    cp ${desktopItem}/share/applications/* $out/share/applications/
+    ${binLinkCommands}
   '';
 
   unwrapped = vmwareHorizonClientFiles;
@@ -146,10 +130,11 @@ stdenv.mkDerivation {
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
+    mainProgram = "vmware-view";
     description = "Allows you to connect to your VMware Horizon virtual desktop";
     homepage = "https://www.vmware.com/go/viewclients";
     license = licenses.unfree;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ buckley310 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/remote/waypipe/default.nix b/nixpkgs/pkgs/applications/networking/remote/waypipe/default.nix
index 8bde51d8937c..74dc8564b0b1 100644
--- a/nixpkgs/pkgs/applications/networking/remote/waypipe/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/waypipe/default.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
     sha256 = "02q8l1qaahmd41h6v3r46akh7xlqz7fpwwsy15qww4jdvypg6vg4";
   };
 
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc ];
-
   buildInputs = [
     # Optional dependencies:
     mesa lz4 zstd ffmpeg libva
diff --git a/nixpkgs/pkgs/applications/networking/seahub/default.nix b/nixpkgs/pkgs/applications/networking/seahub/default.nix
new file mode 100644
index 000000000000..8c26b7290836
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/seahub/default.nix
@@ -0,0 +1,74 @@
+{ lib, fetchFromGitHub, python3, makeWrapper }:
+let
+  # Seahub 8.x.x does not support django-webpack-loader >=1.x.x
+  python = python3.override {
+    packageOverrides = self: super: {
+      django-webpack-loader = super.django-webpack-loader.overridePythonAttrs (old: rec {
+        version = "0.7.0";
+        src = old.src.override {
+          inherit version;
+          sha256 = "0izl6bibhz3v538ad5hl13lfr6kvprf62rcl77wq2i5538h8hg3s";
+        };
+      });
+    };
+  };
+in
+python.pkgs.buildPythonApplication rec {
+  pname = "seahub";
+  version = "8.0.8";
+
+  src = fetchFromGitHub {
+    owner = "haiwen";
+    repo = "seahub";
+    rev = "c51346155b2f31e038c3a2a12e69dcc6665502e2"; # using a fixed revision because upstream may re-tag releases :/
+    sha256 = "0dagiifxllfk73xdzfw2g378jccpzplhdrmkwbaakbhgbvvkg92k";
+  };
+
+  dontBuild = true;
+  doCheck = false; # disabled because it requires a ccnet environment
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  propagatedBuildInputs = with python.pkgs; [
+    django
+    future
+    django-statici18n
+    django-webpack-loader
+    django-simple-captcha
+    django-picklefield
+    django-formtools
+    mysqlclient
+    pillow
+    python-dateutil
+    django_compressor
+    djangorestframework
+    openpyxl
+    requests
+    requests_oauthlib
+    pyjwt
+    pycryptodome
+    qrcode
+    pysearpc
+    seaserv
+    gunicorn
+  ];
+
+  installPhase = ''
+    cp -dr --no-preserve='ownership' . $out/
+    wrapProgram $out/manage.py \
+      --prefix PYTHONPATH : "$PYTHONPATH:$out/thirdpart:"
+  '';
+
+  passthru = {
+    inherit python;
+    pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/haiwen/seahub";
+    description = "The web end of seafile server";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ greizgh schmittlauch ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix b/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
index ed8a86bc9d3f..4dd603dae1ea 100644
--- a/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
+++ b/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.71";
+  version = "2.89";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "sha256-d4Vl+HixZy7fJ8YU1fy3b2B+F/76mm0NQmFC/PDl4SY=";
+    sha256 = "sha256-OCfgWMKFhdjdmNHnTUP2VthPxBjAVd9Z+yH/c+vF1a4=";
   };
 
-  vendorSha256 = "sha256-oxrOjiRxgcJ5yzQYQvLXFPHlOHMB88FThw4OCVxFOwQ=";
+  vendorSha256 = "sha256-E6bMpWzXb5dMPXkrVSJJWXJYvkmI3cNRseMgrQNpCl4=";
 
   subPackages = [ "weed" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix b/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
index 3128529f0e67..0b95023ad59d 100644
--- a/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
@@ -9,18 +9,18 @@
 
 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}" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
index 293192908b2e..b667c7671bdc 100644
--- a/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -3,6 +3,7 @@
 , libssh, nghttp2, zlib, cmake, makeWrapper
 , withQt ? true, qt5 ? null
 , ApplicationServices, SystemConfiguration, gmp
+, asciidoctor
 }:
 
 assert withQt  -> qt5  != null;
@@ -10,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 {
@@ -20,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 = [
@@ -33,7 +34,7 @@ in stdenv.mkDerivation {
   # Avoid referencing -dev paths because of debug assertions.
   NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
 
-  nativeBuildInputs = [ bison cmake flex makeWrapper pkg-config ] ++ optional withQt qt5.wrapQtAppsHook;
+  nativeBuildInputs = [ asciidoctor bison cmake flex makeWrapper pkg-config ] ++ optional withQt qt5.wrapQtAppsHook;
 
   buildInputs = [
     gettext pcre perl libpcap lua5 libssh nghttp2 openssl libgcrypt
diff --git a/nixpkgs/pkgs/applications/networking/soapui/default.nix b/nixpkgs/pkgs/applications/networking/soapui/default.nix
index 96d3de98d891..6839b6be6729 100644
--- a/nixpkgs/pkgs/applications/networking/soapui/default.nix
+++ b/nixpkgs/pkgs/applications/networking/soapui/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, writeText, jdk, makeWrapper }:
+{ fetchurl, lib, stdenv, writeText, jdk, makeWrapper, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "soapui";
@@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
     '')
   ];
 
+  passthru.tests = { inherit (nixosTests) soapui; };
+
   meta = with lib; {
     description = "The Most Advanced REST & SOAP Testing Tool in the World";
     homepage = "https://www.soapui.org/";
diff --git a/nixpkgs/pkgs/applications/networking/soulseek/nicotine-plus/default.nix b/nixpkgs/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
index 34579ec8ba77..c38a01a49d5e 100644
--- a/nixpkgs/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix b/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
index 7ea6ef290a05..2cbf706ea78e 100644
--- a/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/onedrive/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.4.14";
+  version = "2.4.15";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zh9CSvuwZj9B8XPvV23xS0MqnsR+vhfdD8V+k6CjCxQ=";
+    sha256 = "sha256-nYko7htg16Sp/Fs+KuPflrpHn8WShM0OKozhr9BFH5U=";
   };
 
   nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/syncthing/default.nix b/nixpkgs/pkgs/applications/networking/syncthing/default.nix
index bec35fdd5338..76bddac6c23b 100644
--- a/nixpkgs/pkgs/applications/networking/syncthing/default.nix
+++ b/nixpkgs/pkgs/applications/networking/syncthing/default.nix
@@ -4,16 +4,16 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.18.5";
+      version = "1.19.0";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "sha256-qGPAfNsl20+k5Gn0w6aY8VFSOmpPk7S5u4FHPrSCz80=";
+        sha256 = "sha256-jQoY0mA/vAOCaCMR8Aapt49AF7HAmjPsr3MKLoaa24g=";
       };
 
-      vendorSha256 = "sha256-klbAVOHLefxG33zpEYFlPezrKrXfuWOaE+UnIsu462M=";
+      vendorSha256 = "sha256-hZcMt3LlK5FuhhlwCmYtlDAJv1QNK+YY7NvZaWMBuys=";
 
       doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/synology-drive-client/default.nix b/nixpkgs/pkgs/applications/networking/synology-drive-client/default.nix
index 990e9691516d..459e38970ddd 100644
--- a/nixpkgs/pkgs/applications/networking/synology-drive-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/synology-drive-client/default.nix
@@ -8,12 +8,12 @@ let
     description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server.";
     homepage = "https://www.synology.com/en-global/dsm/feature/drive";
     license = licenses.unfree;
-    maintainers = with maintainers; [ jcouyang ];
+    maintainers = with maintainers; [ jcouyang MoritzBoehme ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 
   linux = qt5.mkDerivation {
-    inherit pname version;
+    inherit pname version meta;
 
     src = fetchurl {
       url = "${baseUrl}/${version}-${buildNumber}/Ubuntu/Installer/x86_64/synology-drive-client-${buildNumber}.x86_64.deb";
@@ -43,7 +43,7 @@ let
   };
 
   darwin = stdenv.mkDerivation {
-    inherit pname version;
+    inherit pname version meta;
 
     src = fetchurl {
       url = "${baseUrl}/${version}-${buildNumber}/Mac/Installer/synology-drive-client-${buildNumber}.dmg";
diff --git a/nixpkgs/pkgs/applications/networking/synology-drive/default.nix b/nixpkgs/pkgs/applications/networking/synology-drive/default.nix
deleted file mode 100644
index 20b0f1168cb3..000000000000
--- a/nixpkgs/pkgs/applications/networking/synology-drive/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib, mkDerivation, fetchurl, autoPatchelfHook, dpkg, glibc, gnome }:
-
-mkDerivation rec {
-  pname = "synology-drive";
-  subVersion = "12674";
-  version = "3.0.1-${subVersion}";
-
-  src = fetchurl {
-    url = "https://global.download.synology.com/download/Utility/SynologyDriveClient/${version}/Ubuntu/Installer/x86_64/synology-drive-client-${subVersion}.x86_64.deb";
-    sha256 = "1yyv6zgszsym22kf4jvlan7n9lw09fw24fyrh7c8pzbb2029gp8a";
-  };
-
-  nativeBuildInputs = [ autoPatchelfHook dpkg ];
-
-  buildInputs = [ glibc gnome.nautilus ];
-
-  unpackPhase = ''
-    mkdir -p $out
-    dpkg -x $src $out
-  '';
-
-  installPhase = ''
-    # synology-drive executable
-    cp -av $out/usr/* $out
-    rm -rf $out/usr
-
-    runHook postInstall
-  '';
-
-  postInstall = ''
-    substituteInPlace $out/bin/synology-drive --replace /opt $out/opt
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.synology.com/";
-    description = "Synchronize files between client and Synology NAS.";
-    longDescription = ''
-      Drive for PC, the desktop utility of the DSM add-on package.
-      Drive, allows you to sync and share files owned by you or shared by others between a centralized Synology NAS and multiple client computers.
-    '';
-    license = licenses.unfree;
-    maintainers = with maintainers; [ MoritzBoehme ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/vnstat/default.nix b/nixpkgs/pkgs/applications/networking/vnstat/default.nix
index 77812f88ad17..a40f4cb2f575 100644
--- a/nixpkgs/pkgs/applications/networking/vnstat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/vnstat/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vnstat";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner = "vergoh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r+dmsL3bPgCDdBje7uzg+ArhMkqj+R/hepNLMDqe350=";
+    sha256 = "sha256-AEpq3Pn/WUiPDxYk6WKb1Uur5tD+OBfFAzLUDWnZH/0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile
index e519efbf5701..3625511551d3 100644
--- a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock
index 4534beb20c39..936e10996fb3 100644
--- a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix
index 1ef3cd36536d..87cb3019d0a5 100644
--- a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/office/PageEdit/default.nix b/nixpkgs/pkgs/applications/office/PageEdit/default.nix
new file mode 100644
index 000000000000..f313bdcded62
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/PageEdit/default.nix
@@ -0,0 +1,25 @@
+{ lib, mkDerivation, fetchFromGitHub, cmake, qtsvg, qtwebengine, qttranslations }:
+
+mkDerivation rec {
+  pname = "PageEdit";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "Sigil-Ebook";
+    repo = pname;
+    rev = version;
+    hash = "sha256-/t08ZS2iYWIDkco0nhACBQs1X+X77SJ/g+ow7KemfRY=";
+  };
+
+  nativeBuildInputs = [ cmake qttranslations ];
+  propagatedBuildInputs = [ qtsvg qtwebengine ];
+  cmakeFlags = "-DINSTALL_BUNDLED_DICTS=0";
+
+  meta = with lib; {
+    description = "ePub XHTML Visual Editor";
+    homepage = "https://sigil-ebook.com/pageedit/";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.pasqui23 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/abiword/default.nix b/nixpkgs/pkgs/applications/office/abiword/default.nix
index 0554713feb89..c064ea94d04e 100644
--- a/nixpkgs/pkgs/applications/office/abiword/default.nix
+++ b/nixpkgs/pkgs/applications/office/abiword/default.nix
@@ -5,29 +5,15 @@
 
 stdenv.mkDerivation rec {
   pname = "abiword";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchurl {
     url = "https://www.abisource.com/downloads/abiword/${version}/source/${pname}-${version}.tar.gz";
-    sha256 = "1mx5l716n0z5788i19qmad30cck4v9ggr071cafw2nrf375rcc79";
+    hash = "sha256-ElckfplwUI1tFFbT4zDNGQnEtCsl4PChvDJSbW86IbQ=";
   };
 
   enableParallelBuilding = true;
 
-  patches = [
-    # Switch to using enchant2; note by the next update enchant2 should be
-    # default and this patch can be removed.
-    # https://github.com/NixOS/nixpkgs/issues/38506
-    (fetchurl {
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/d3ff951d3c7249927e7113b3de1653031db24596/abiword/trunk/enchant-2.1.patch";
-      sha256 = "444dc2aadea3c80310a509b690097541573f6d2652c573d04da66a0f385fcfb2";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace configure --replace 'enchant >=' 'enchant-2 >='
-  '';
-
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/appflowy/default.nix b/nixpkgs/pkgs/applications/office/appflowy/default.nix
new file mode 100644
index 000000000000..05bb88bdfe74
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/appflowy/default.nix
@@ -0,0 +1,76 @@
+{ stdenv,
+  lib,
+  fetchzip,
+  autoPatchelfHook,
+  makeWrapper,
+  copyDesktopItems,
+  makeDesktopItem,
+  gtk3,
+  openssl,
+  xdg-user-dirs
+}:
+
+stdenv.mkDerivation rec {
+  pname = "appflowy";
+  version = "0.0.2";
+
+  src = fetchzip {
+    url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-linux-x86.tar.gz";
+    sha256 = "1fvv4mlgf0vqcq5zh0zl2xr44saz0sm47r8whcywwrmcm0l66iv6";
+  };
+
+  nativeBuildInputs = [
+      autoPatchelfHook
+      makeWrapper
+      copyDesktopItems
+  ];
+
+  buildInputs = [
+      gtk3
+      openssl
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/opt/
+    mkdir -p $out/bin/
+
+    # Copy archive contents to the outpout directory
+    cp -r ./* $out/opt/
+
+    runHook postInstall
+  '';
+
+  preFixup = let
+    libPath = lib.makeLibraryPath [
+      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}"
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "AppFlowy";
+      comment = meta.description;
+      exec = "appflowy";
+      categories = "Office;";
+    })
+  ];
+
+  meta = with lib; {
+    description = "An open-source alternative to Notion";
+    homepage = "https://www.appflowy.io/";
+    license = licenses.agpl3Only;
+    changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}";
+    maintainers = with maintainers; [ darkonion0 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/banking/default.nix b/nixpkgs/pkgs/applications/office/banking/default.nix
index c71c1eafa66c..e6c5192b0f94 100644
--- a/nixpkgs/pkgs/applications/office/banking/default.nix
+++ b/nixpkgs/pkgs/applications/office/banking/default.nix
@@ -60,7 +60,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Banking application for small screens";
-    homepage = "https://tabos.gitlab.io/project/banking/";
+    homepage = "https://tabos.gitlab.io/projects/banking/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/nixpkgs/pkgs/applications/office/elementary-planner/default.nix b/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
index c0cdfd75d9be..d07133e9065e 100644
--- a/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
+++ b/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
@@ -59,7 +59,6 @@ stdenv.mkDerivation rec {
     pantheon.granite
     sqlite
     webkitgtk
-    libgdata # required by some dependency transitively
     libhandy
     curl
   ];
diff --git a/nixpkgs/pkgs/applications/office/foliate/default.nix b/nixpkgs/pkgs/applications/office/foliate/default.nix
index bcd42b361b93..7eff0ac90976 100644
--- a/nixpkgs/pkgs/applications/office/foliate/default.nix
+++ b/nixpkgs/pkgs/applications/office/foliate/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "foliate";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "johnfactotum";
     repo = pname;
     rev = version;
-    sha256 = "0ribqaxl8g1i83fxbn288afwbzzls48ni57xqi07d19p9ka892mr";
+    sha256 = "sha256-Pr2YA2MHXD4W7lyCxGAVLKyoZarZ8t92RSkWle3LNuc=";
   };
 
   nativeBuildInputs = [ meson ninja python3 wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/office/gnucash/0001-changes.patch b/nixpkgs/pkgs/applications/office/gnucash/0001-disable-date-and-time-tests.patch
index c20342564430..c20342564430 100644
--- a/nixpkgs/pkgs/applications/office/gnucash/0001-changes.patch
+++ b/nixpkgs/pkgs/applications/office/gnucash/0001-disable-date-and-time-tests.patch
diff --git a/nixpkgs/pkgs/applications/office/gnucash/0002-disable-gnc-fq-update.patch b/nixpkgs/pkgs/applications/office/gnucash/0002-disable-gnc-fq-update.patch
new file mode 100644
index 000000000000..f379cd5e259d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/gnucash/0002-disable-gnc-fq-update.patch
@@ -0,0 +1,18 @@
+diff --git a/libgnucash/quotes/CMakeLists.txt b/libgnucash/quotes/CMakeLists.txt
+index b33569d39..fdbfa10a9 100644
+--- a/libgnucash/quotes/CMakeLists.txt
++++ b/libgnucash/quotes/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ 
+ set(_BIN_FILES "")
+-foreach(file gnc-fq-check.in gnc-fq-helper.in gnc-fq-update.in gnc-fq-dump.in)
++foreach(file gnc-fq-check.in gnc-fq-helper.in gnc-fq-dump.in)
+   string(REPLACE ".in" "" _OUTPUT_FILE_NAME ${file})
+   set(_ABS_OUTPUT_FILE ${BINDIR_BUILD}/${_OUTPUT_FILE_NAME})
+   configure_file( ${file} ${_ABS_OUTPUT_FILE} @ONLY)
+@@ -26,4 +26,4 @@ add_custom_target(quotes-bin ALL DEPENDS ${_BIN_FILES})
+ install(FILES ${_MAN_FILES} DESTINATION  ${CMAKE_INSTALL_MANDIR}/man1)
+ install(PROGRAMS ${_BIN_FILES} DESTINATION ${CMAKE_INSTALL_BINDIR})
+ 
+-set_dist_list(quotes_DIST CMakeLists.txt gnc-fq-check.in gnc-fq-dump.in gnc-fq-helper.in gnc-fq-update.in Quote_example.pl README)
++set_dist_list(quotes_DIST CMakeLists.txt gnc-fq-check.in gnc-fq-dump.in gnc-fq-helper.in Quote_example.pl README)
diff --git a/nixpkgs/pkgs/applications/office/gnucash/0003-remove-valgrind.patch b/nixpkgs/pkgs/applications/office/gnucash/0003-remove-valgrind.patch
new file mode 100644
index 000000000000..8bbb17e353fa
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/gnucash/0003-remove-valgrind.patch
@@ -0,0 +1,35 @@
+diff --git a/gnucash/CMakeLists.txt b/gnucash/CMakeLists.txt
+index 8e6e339d1..3936a8cb6 100644
+--- a/gnucash/CMakeLists.txt
++++ b/gnucash/CMakeLists.txt
+@@ -163,13 +163,6 @@ set(GNUCASH_BIN_INSTALL_NAME "gnucash")
+ 
+ set(VALGRIND_OUTDIR ${BINDIR_BUILD})
+ 
+-configure_file(gnucash-valgrind.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gnucash-valgrind @ONLY)
+-
+-file(COPY ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gnucash-valgrind
+-          DESTINATION ${VALGRIND_OUTDIR}
+-          FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+-)
+-
+ ## Create the environment file
+ 
+ file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/environment.in ENV_STRINGS_IN)
+@@ -253,7 +246,6 @@ file(COPY ${ENV_FILE_OUT}
+   FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+ )
+ 
+-install(FILES ${SCRIPT_LIST} ${VALGRIND_OUTDIR}/gnucash-valgrind DESTINATION ${CMAKE_INSTALL_BINDIR})
+ install(FILES ${ENVIRONMENT_FILE_DIR}/environment DESTINATION
+   ${CMAKE_INSTALL_FULL_SYSCONFDIR}/gnucash)
+ 
+@@ -274,7 +266,7 @@ gnc_add_scheme_targets(price-quotes
+ 
+ set_local_dist(gnucash_DIST_local CMakeLists.txt environment.in generate-gnc-script
+     gnucash.cpp gnucash-commands.cpp gnucash-cli.cpp gnucash-core-app.cpp
+-    gnucash-locale-macos.mm gnucash-locale-windows.c gnucash.rc.in gnucash-valgrind.in
++    gnucash-locale-macos.mm gnucash-locale-windows.c gnucash.rc.in
+     gnucash-gresources.xml ${gresource_files} price-quotes.scm
+     ${gnucash_noinst_HEADERS} ${gnucash_EXTRA_DIST})
+ 
diff --git a/nixpkgs/pkgs/applications/office/gnucash/default.nix b/nixpkgs/pkgs/applications/office/gnucash/default.nix
index c3e205500e13..a9d532a27c24 100644
--- a/nixpkgs/pkgs/applications/office/gnucash/default.nix
+++ b/nixpkgs/pkgs/applications/office/gnucash/default.nix
@@ -1,106 +1,213 @@
-{ fetchurl, lib, stdenv, pkg-config, makeWrapper, cmake, gtest
-, boost, icu, libxml2, libxslt, gettext, swig, isocodes, gtk3, glibcLocales
-, webkitgtk, dconf, hicolor-icon-theme, libofx, aqbanking, gwenhywfar, libdbi
-, libdbiDrivers, guile, perl, perlPackages
+{ lib
+, stdenv
+, fetchurl
+, aqbanking
+, boost
+, cmake
+, gettext
+, glib
+, glibcLocales
+, gtest
+, guile
+, gwenhywfar
+, icu
+, libdbi
+, libdbiDrivers
+, libofx
+, libxml2
+, libxslt
+, makeWrapper
+, perlPackages
+, pkg-config
+, swig
+, webkitgtk
+, wrapGAppsHook
 }:
 
-let
-
-  # Enable gnc-fq-* to run in command line.
-  perlWrapper = stdenv.mkDerivation {
-    name = perl.name + "-wrapper-for-gnucash";
-    nativeBuildInputs = [ makeWrapper ];
-    buildInputs = [ perl ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
-    dontUnpack = true;
-
-    installPhase = ''
-      mkdir -p $out/bin
-      for script in ${perl}/bin/*; do
-        makeWrapper $script $out''${script#${perl}} \
-          --prefix "PERL5LIB" ":" "$PERL5LIB"
-      done
-    '';
-  };
-
-in
-
 stdenv.mkDerivation rec {
   pname = "gnucash";
   version = "4.9";
 
+  # raw source code doesn't work out of box; fetchFromGitHub not usable
   src = fetchurl {
-    url = "mirror://sourceforge/gnucash/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-mlUcMMG3EhmfwiJ6EJr7mE177xjhOBcLvHIlxsH6ty0=";
+    url = "https://github.com/Gnucash/gnucash/releases/download/${version}/${pname}-${version}.tar.bz2";
+    hash = "sha256-mlUcMMG3EhmfwiJ6EJr7mE177xjhOBcLvHIlxsH6ty0=";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper cmake gtest swig ];
+  nativeBuildInputs = [
+    cmake
+    gettext
+    makeWrapper
+    wrapGAppsHook
+  ];
 
   buildInputs = [
-    boost icu libxml2 libxslt gettext isocodes gtk3 glibcLocales
-    webkitgtk dconf libofx aqbanking gwenhywfar libdbi
-    libdbiDrivers guile
-    perlWrapper perl
-  ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
-
-  propagatedUserEnvPkgs = [ dconf ];
-
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
-
-  # this patch disables test-gnc-timezone and test-gnc-datetime which fail due to nix datetime challenges
-  patches = [ ./0001-changes.patch ];
-
-  postPatch = ''
-    patchShebangs .
+    aqbanking
+    boost
+    glib
+    glibcLocales
+    gtest
+    guile
+    gwenhywfar
+    icu
+    libdbi
+    libdbiDrivers
+    libofx
+    libxml2
+    libxslt
+    pkg-config
+    swig
+    webkitgtk
+  ]
+  ++ (with perlPackages; [
+    DateManip
+    FinanceQuote
+    perl
+  ]);
+
+  patches = [
+    # this patch disables test-gnc-timezone and test-gnc-datetime which fail due to nix datetime challenges
+    ./0001-disable-date-and-time-tests.patch
+    # this patch prevents the building of gnc-fq-update, a utility which updates the GnuCash cli utils
+    ./0002-disable-gnc-fq-update.patch
+    # this patch prevents the building of gnucash-valgrind
+    ./0003-remove-valgrind.patch
+  ];
+
+  # 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;
+  preCheck = ''
+    make \
+      test-account-object \
+      test-address \
+      test-agedver \
+      test-app-utils \
+      test-aqb \
+      test-autoclear \
+      test-backend-dbi \
+      test-business \
+      test-column-types \
+      test-commodities \
+      test-customer \
+      test-dom-converters1 \
+      test-dynload \
+      test-employee \
+      test-engine \
+      test-exp-parser \
+      test-gnc-glib-utils \
+      test-gnc-guid \
+      test-gnc-int128 \
+      test-gnc-numeric \
+      test-gnc-path-util \
+      test-gnc-rational \
+      test-group-vs-book \
+      test-guid \
+      test-import-account-matcher \
+      test-import-backend \
+      test-import-map \
+      test-import-parse \
+      test-import-pending-matches \
+      test-incompatdep \
+      test-job \
+      test-kvp-frames \
+      test-kvp-value \
+      test-link-module-tax-us \
+      test-link-ofx \
+      test-load-backend \
+      test-load-c \
+      test-load-engine \
+      test-load-example-account \
+      test-load-xml2 \
+      test-lots \
+      test-modsysver \
+      test-numeric \
+      test-object \
+      test-print-parse-amount \
+      test-qof \
+      test-qofquerycore \
+      test-qofsession \
+      test-query \
+      test-querynew \
+      test-recurrence \
+      test-resolve-file-path \
+      test-scm-query \
+      test-scm-query-string \
+      test-split-register-copy-ops \
+      test-split-vs-account \
+      test-sqlbe \
+      test-string-converters \
+      test-sx \
+      test-tokenizer \
+      test-transaction-reversal \
+      test-transaction-voiding \
+      test-userdata-dir \
+      test-userdata-dir-invalid-home \
+      test-vendor \
+      test-xml-account \
+      test-xml-commodity \
+      test-xml-pricedb \
+      test-xml-transaction \
+      test-xml2-is-file
+
+      export LD_LIBRARY_PATH="$PWD/lib:$PWD/lib/gnucash:$PWD/lib/gnucash/test:$PWD/lib/gnucash/test/future"
   '';
 
-  makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # 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}"}
+    )
+  '';
 
-  postInstall = ''
-    # Auto-updaters don't make sense in Nix.
-    rm $out/bin/gnc-fq-update
+  # wrapGAppsHook would wrap all binaries including the cli utils which need
+  # Perl wrapping
+  dontWrapGApps = true;
 
-    # Unnecessary in the release build.
-    rm $out/bin/gnucash-valgrind
+  # gnucash is wrapped using the args constructed for wrapGAppsHook.
+  # gnc-fq-* are cli utils written in Perl hence the extra wrapping
+  postFixup = ''
+    wrapProgram $out/bin/gnucash "''${gappsWrapperArgs[@]}"
 
-    wrapProgram "$out/bin/gnucash" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${pname}-${version}" \
-      --prefix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \
-      --prefix PERL5LIB ":" "$PERL5LIB" \
-      --set GNC_DBD_DIR ${libdbiDrivers}/lib/dbd \
-      --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
+    for file in $out/bin/gnc-fq-check $out/bin/gnc-fq-dump $out/bin/gnc-fq-helper; do
+      wrapProgram $file \
+      --prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [ DateManip FinanceQuote ]}"
+    done
   '';
 
-  /*
-  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 = ''
-    export LD_LIBRARY_PATH=$PWD/lib:$PWD/lib/gnucash:$PWD/lib/gnucash/test:$PWD/lib/gnucash/test/future''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
-    export NIX_CFLAGS_LINK="-lgtest -lgtest_main"
-    make test-scm-query test-split-register-copy-ops test-link-ofx test-import-backend test-import-account-matcher test-import-pending-matches test-qofquerycore test-import-map test-gnc-numeric test-gnc-rational test-gnc-int128 test-qofsession test-kvp-value test-gnc-guid test-numeric test-vendor test-job test-employee test-customer test-address test-business test-recurrence test-transaction-voiding test-transaction-reversal test-split-vs-account test-tokenizer test-aqb test-import-parse test-link-module-tax-us test-dynload test-agedver test-incompatdep test-modsysver test-load-c test-gnc-path-util test-xml2-is-file test-load-example-account test-query test-querynew test-lots test-group-vs-book test-account-object test-engine test-qof test-commodities test-object test-guid test-load-engine test-userdata-dir-invalid-home test-userdata-dir test-resolve-file-path test-gnc-glib-utils test-sqlbe test-column-types test-backend-dbi test-xml-transaction test-xml-pricedb test-xml-commodity test-xml-account test-string-converters test-load-backend test-kvp-frames test-dom-converters1 test-autoclear test-sx test-print-parse-amount gncmod-futuremodsys
-  '';
-  doCheck = true;
-
-  meta = {
-    description = "Personal and small-business financial-accounting application";
-
+  meta = with lib; {
+    homepage = "https://www.gnucash.org/";
+    description = "Free software for double entry accounting";
     longDescription = ''
       GnuCash is personal and small-business financial-accounting software,
       freely licensed under the GNU GPL and available for GNU/Linux, BSD,
-      Solaris, macOS and Microsoft Windows.
+      Solaris, Mac OS X and Microsoft Windows.
 
-      Designed to be easy to use, yet powerful and flexible, GnuCash allows
-      you to track bank accounts, stocks, income and expenses.  As quick and
+      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.
-    '';
 
-    license = lib.licenses.gpl2Plus;
+      Some interesting features:
 
-    homepage = "http://www.gnucash.org/";
-
-    maintainers = [ lib.maintainers.domenkozar ];
-    platforms = lib.platforms.gnu ++ lib.platforms.linux;
+      - 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 = with maintainers; [ domenkozar AndersonTorres ];
+    platforms = platforms.unix;
   };
 }
+# TODO: investigate Darwin support
diff --git a/nixpkgs/pkgs/applications/office/gnumeric/default.nix b/nixpkgs/pkgs/applications/office/gnumeric/default.nix
index 5ab9be9fa75a..13b0c84cfaa5 100644
--- a/nixpkgs/pkgs/applications/office/gnumeric/default.nix
+++ b/nixpkgs/pkgs/applications/office/gnumeric/default.nix
@@ -7,11 +7,11 @@ let
   inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "gnumeric";
-  version = "1.12.50";
+  version = "1.12.51";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "dYgZuhvWmDgp+efG1xp/ogzXWjZSonHluwA9XYvMFLg=";
+    sha256 = "oA5sbk7N2tq9mwrhgBPXsFk3/cuPmq1ac7lZI8eusd0=";
   };
 
   configureFlags = [ "--disable-component" ];
diff --git a/nixpkgs/pkgs/applications/office/gtg/default.nix b/nixpkgs/pkgs/applications/office/gtg/default.nix
index 4b9237d23ce7..6d536ea60a3d 100644
--- a/nixpkgs/pkgs/applications/office/gtg/default.nix
+++ b/nixpkgs/pkgs/applications/office/gtg/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , meson
 , python3Packages
 , ninja
@@ -25,6 +26,13 @@ python3Packages.buildPythonApplication rec {
     sha256 = "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403";
   };
 
+  patches = [
+    # fix build with meson 0.60 (https://github.com/getting-things-gnome/gtg/pull/729)
+    (fetchpatch {
+      url = "https://github.com/getting-things-gnome/gtg/commit/1809d10663ae3d8f69c04138b66f9b4e66ee14f6.patch";
+      sha256 = "sha256-bYr5PAsuvcSqTf0vaJj2APtuBrwHdhXJxtXoAb7CfGk=";
+    })
+  ];
 
   nativeBuildInputs = [
     meson
diff --git a/nixpkgs/pkgs/applications/office/homebank/default.nix b/nixpkgs/pkgs/applications/office/homebank/default.nix
index 54e09783dbef..7e6910a3ab4b 100644
--- a/nixpkgs/pkgs/applications/office/homebank/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/office/impressive/default.nix b/nixpkgs/pkgs/applications/office/impressive/default.nix
deleted file mode 100644
index f46d893d8948..000000000000
--- a/nixpkgs/pkgs/applications/office/impressive/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ fetchurl, stdenv, python2, makeWrapper, lib
-, SDL, ghostscript, pdftk, dejavu_fonts }:
-
-let
-  version = "0.12.1";
-  pythonEnv = python2.withPackages (ps: with ps; [pyopengl pygame pillow]);
-in stdenv.mkDerivation {
-    # This project was formerly known as KeyJNote.
-    # See http://keyj.emphy.de/apple-lawsuit/ for details.
-
-    pname = "impressive";
-    inherit version;
-
-    src = fetchurl {
-      url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
-      sha256 = "1r7ihv41awnlnlry1kymb8fka053wdhzibfwcarn78rr3vs338vl";
-    };
-
-    nativeBuildInputs = [ makeWrapper ];
-    buildInputs = [ pythonEnv ];
-
-    configurePhase = ''
-      # Let's fail at build time if the library we're substituting in doesn't
-      # exist/isn't marked as executable
-      test -x ${SDL}/lib/libSDL.so
-      sed -i "impressive.py" \
-          -e '/^__website__/a SDL_LIBRARY = "${SDL}/lib/libSDL.so"' \
-          -e 's/sdl = CDLL.*/sdl = CDLL(SDL_LIBRARY)/' \
-          -e 's^FontPath =.*/usr/.*$^FontPath = ["${dejavu_fonts}/share/fonts", ""]^'
-    '';
-
-    installPhase = ''
-      mkdir -p "$out/bin" "$out/share/doc/impressive" "$out/share/man/man1"
-      mv impressive.py "$out/bin/impressive"
-      mv impressive.1 "$out/share/man/man1"
-      mv changelog.txt impressive.html license.txt "$out/share/doc/impressive"
-
-      wrapProgram "$out/bin/impressive" \
-         --prefix PATH ":" "${ghostscript}/bin:${pdftk}/bin"
-    '';
-
-    meta = {
-      description = "Impressive, an effect-rich presentation tool for PDFs";
-
-      longDescription = ''
-        Impressive is a program that displays presentation slides.
-        But unlike OpenOffice.org Impress or other similar
-        applications, it does so with style.  Smooth alpha-blended
-        slide transitions are provided for the sake of eye candy, but
-        in addition to this, Impressive offers some unique tools that
-        are really useful for presentations.  Read below if you want
-        to know more about these features.
-
-        Creating presentations for Impressive is very simple: You just
-        need to export a PDF file from your presentation software.
-        This means that you can create slides in the application of
-        your choice and use Impressive for displaying them.  If your
-        application does not support PDF output, you can alternatively
-        use a set of pre-rendered image files – or you use Impressive
-        to make a slideshow with your favorite photos.
-      '';
-
-      homepage = "http://impressive.sourceforge.net/";
-
-      license = lib.licenses.gpl2;
-
-      maintainers = with lib.maintainers; [ lheckemann ];
-      platforms = lib.platforms.mesaPlatforms;
-    };
-  }
diff --git a/nixpkgs/pkgs/applications/office/jabref/default.nix b/nixpkgs/pkgs/applications/office/jabref/default.nix
index 0b4ce74cdfa7..964d17587a4a 100644
--- a/nixpkgs/pkgs/applications/office/jabref/default.nix
+++ b/nixpkgs/pkgs/applications/office/jabref/default.nix
@@ -2,12 +2,12 @@
 , zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsa-lib, cairo, freetype, pango, gdk-pixbuf, glib }:
 
 stdenv.mkDerivation rec {
-  version = "5.1";
+  version = "5.5";
   pname = "jabref";
 
   src = fetchurl {
     url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}-portable_linux.tar.gz";
-    sha256 = "04f612byrq3agzy26byg1sgrjyhcpa8xfj0ssh8dl8d8vnhx9742";
+    sha256 = "sha256-9MHNehyAmu7CiBp1rgb4zTkSqmjXm2tcmiGKFBFapKI=";
   };
 
   preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/applications/office/jameica/default.nix b/nixpkgs/pkgs/applications/office/jameica/default.nix
index c983787d23e5..678c3bb357c5 100644
--- a/nixpkgs/pkgs/applications/office/jameica/default.nix
+++ b/nixpkgs/pkgs/applications/office/jameica/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
 
 let
-  _version = "2.10.0";
-  _build = "480";
+  _version = "2.10.1";
+  _build = "482";
   version = "${_version}-${_build}";
   name = "jameica-${version}";
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "willuhn";
     repo = "jameica";
     rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}";
-    sha256 = "0rzhbskzzvr9aan6fwxd2kmzg79ranx7aym5yn1i37z3ra67d1nz";
+    sha256 = "0pzcfqsf7flzipwivpinpkfb2xisand1sfjm00wif4pyj3f4qfh1";
   };
 
   # there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
@@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
-    maintainers = with maintainers; [ flokli ];
+    maintainers = with maintainers; [ flokli r3dl3g ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/kalendar/default.nix b/nixpkgs/pkgs/applications/office/kalendar/default.nix
index fa8f686c5eea..32cc2f5de57c 100644
--- a/nixpkgs/pkgs/applications/office/kalendar/default.nix
+++ b/nixpkgs/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.3.1";
+  version = "1.0.0";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "pim";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-foG8j/MRbDZyzM9KmxEARfWUQXMz8ylQgersE1/gtnQ=";
+    sha256 = "sha256-kjtLVU+8wbIa7R6J1XOjuvS3AnJNngxNBCx24Dy1QzM=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +61,7 @@ mkDerivation rec {
     qtsvg
     qtlocation
     qtdeclarative
+    qqc2-desktop-style
 
     kirigami2
     kdbusaddons
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/darwin.nix b/nixpkgs/pkgs/applications/office/libreoffice/darwin.nix
new file mode 100644
index 000000000000..765cbcd43024
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/darwin.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, lib
+, fetchurl
+, undmg
+}:
+
+let
+  appName = "LibreOffice.app";
+  version = "7.2.5";
+  dist = {
+    aarch64-darwin = {
+      arch = "aarch64";
+      sha256 = "bdbcb9a98211f866ca089d440aebcd1d313aa99e8ab4104aae4e65ea3cee74ca";
+    };
+
+    x86_64-darwin = {
+      arch = "x86_64";
+      sha256 = "0b7ef18ed08341ac6c15339fe9a161ad17f6b469009d987cfc7d50c628d12a4e";
+    };
+  }."${stdenv.hostPlatform.system}";
+in
+stdenv.mkDerivation {
+  inherit version;
+  pname = "libreoffice";
+  src = fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${dist.arch}/LibreOffice_${version}_MacOS_${dist.arch}.dmg";
+    inherit (dist) sha256;
+  };
+
+  nativeBuildInputs = [ undmg ];
+  sourceRoot = "${appName}";
+  dontPatch = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstallPhase
+    mkdir -p $out/{Applications/${appName},bin}
+    cp -R . $out/Applications/${appName}
+    ln -s $out/Applications/${appName}/Contents/MacOS/soffice $out/bin
+    runHook postInstallPhase
+  '';
+
+  meta = with lib; {
+    description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
+    homepage = "https://libreoffice.org/";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ tricktron ];
+    platforms = [ "aarch64-darwin" "x86_64-darwin" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default.nix b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
index 8572ff15c1db..c5b5fc56f785 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
index ecce7cf18145..9bfccf4c3069 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -714,11 +714,11 @@
     md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
   }
   {
-    name = "poppler-21.01.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/poppler-21.01.0.tar.xz";
-    sha256 = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3";
+    name = "poppler-21.11.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/poppler-21.11.0.tar.xz";
+    sha256 = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584";
     md5 = "";
-    md5name = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3-poppler-21.01.0.tar.xz";
+    md5name = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584-poppler-21.11.0.tar.xz";
   }
   {
     name = "poppler-data-0.4.10.tar.gz";
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index f1a1478a3cf9..7d13558b9357 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -8,8 +8,8 @@ rec {
 
   major = "7";
   minor = "2";
-  patch = "4";
-  tweak = "1";
+  patch = "5";
+  tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "sha256-Ymi5BmpgWGzwpfXtmWDN+Gpf9Yb+Zpm/TSltWA3gjyE=";
+    sha256 = "sha256-Z8G/sFnUMyhrAlKpFWJ7M69ju19LbslQnRO53UdVEqc=";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "sha256-8nzCt7/J7gqJPtHOrVu7UTonJw1pxu4fnLWJyWOUHa8=";
+    sha256 = "sha256-9rnuRifsEX7RAUdsX6VVw/xQS6dZeS3RbKnoC39uMd8=";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "sha256-rZb1ej3GbgXOHOZWVKKJVuir2urLmvGmrdpB1vpcaCk=";
+    sha256 = "sha256-6vERLWh0fkQcSRkC37fw2HBqxVtbr9kPEhOyWXjMrfM=";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/morgen/default.nix b/nixpkgs/pkgs/applications/office/morgen/default.nix
new file mode 100644
index 000000000000..bfe72a7115a4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/morgen/default.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
+, nodePackages, alsa-lib, gtk3, libxshmfence, mesa, nss }:
+
+stdenv.mkDerivation rec {
+  pname = "morgen";
+  version = "2.4.3";
+
+  src = fetchurl {
+    url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
+    sha256 = "sha256-IWGeb0+IiFNYJ+jQAzGYfQ5FnrbR6HIpynS9jgd5/mY=";
+  };
+
+  nativeBuildInputs = [
+    dpkg
+    autoPatchelfHook
+    makeWrapper
+    nodePackages.asar
+  ];
+
+  buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  unpackCmd = ''
+    dpkg-deb -x ${src} ./morgen-${pname}
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mv usr $out
+    mv opt $out
+
+    asar extract $out/opt/Morgen/resources/app.asar "$TMP/work"
+    # 1. Fixes path for todesktop-runtime-config.json
+    # 2. Fixes startup script
+    substituteInPlace $TMP/work/dist/main.js \
+      --replace "process.resourcesPath,\"todesktop-runtime-config.json" "\"$out/opt/Morgen/resources/todesktop-runtime-config.json" \
+      --replace "Exec=\"+process.execPath+\"" "Exec=$out/bin/morgen"
+    asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" $out/opt/Morgen/resources/app.asar
+
+    substituteInPlace $out/share/applications/morgen.desktop \
+      --replace '/opt/Morgen' $out/bin
+
+    makeWrapper ${electron}/bin/electron $out/bin/morgen \
+      --add-flags $out/opt/Morgen/resources/app.asar
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "All-in-one Calendars, Tasks and Scheduler";
+    homepage = "https://morgen.so/download";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wolfangaukang ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix b/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix
index d588580a8db9..84635f42ee45 100644
--- a/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix
+++ b/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix
@@ -1,12 +1,12 @@
 { appimageTools, lib, fetchurl }:
 let
   pname = "notion-app-enhanced";
-  version = "2.0.16-5";
+  version = "2.0.18-1";
   name = "${pname}-v${version}";
 
   src = fetchurl {
     url = "https://github.com/notion-enhancer/notion-repackaged/releases/download/v${version}/Notion-Enhanced-${version}.AppImage";
-    sha256 = "1v733b4clc9sjgb72fasmbqiyz26d09f3kmvd1nqshwp5d14dajz";
+    sha256 = "sha256-SqeMnoMzxxaViJ3NPccj3kyMc1xvXWULM6hQIDZySWY=";
   };
 
   appimageContents = appimageTools.extract { inherit name src; };
diff --git a/nixpkgs/pkgs/applications/office/paperless-ng/default.nix b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
index 64ef525cfc84..2fcb2388b8c8 100644
--- a/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
+++ b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
@@ -83,7 +83,7 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     daphne
     dateparser
     django-cors-headers
-    django_extensions
+    django-extensions
     django-filter
     django-picklefield
     django-q
diff --git a/nixpkgs/pkgs/applications/office/pyspread/default.nix b/nixpkgs/pkgs/applications/office/pyspread/default.nix
index 3c68c19aa97c..b7261dca5a4d 100644
--- a/nixpkgs/pkgs/applications/office/pyspread/default.nix
+++ b/nixpkgs/pkgs/applications/office/pyspread/default.nix
@@ -1,31 +1,22 @@
 { lib
-, python3
-, fetchpatch
+, copyDesktopItems
 , makeDesktopItem
+, python3
 , qtsvg
 , wrapQtAppsHook
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pyspread";
-  version = "1.99.6";
+  version = "2.0.2";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-B1oyWUAXn63mmVFN9brJwbHxi7I5nYrK2JJU1DjAlb8=";
+    hash = "sha256-rg2T9Y9FU2a+aWg0XM8jyQB9t8zDVlpad3TjUcx4//8=";
   };
 
-  patches = [
-    # https://gitlab.com/pyspread/pyspread/-/merge_requests/34
-    (fetchpatch {
-      name = "entry-points.patch";
-      url = "https://gitlab.com/pyspread/pyspread/-/commit/3d8da6a7a7d76f7027d77ca95fac103961d729a2.patch";
-      excludes = [ "bin/pyspread" "bin/pyspread.bat" ];
-      sha256 = "1l614k7agv339hrin23jj7s1mq576vkdfkdim6wp224k7y37bnil";
-    })
-  ];
-
   nativeBuildInputs = [
+    copyDesktopItems
     wrapQtAppsHook
   ];
 
@@ -47,19 +38,17 @@ python3.pkgs.buildPythonApplication rec {
 
   pythonImportsCheck = [ "pyspread" ];
 
-  desktopItem = makeDesktopItem rec {
-    name = pname;
-    exec = name;
-    icon = name;
-    desktopName = "Pyspread";
-    genericName = "Spreadsheet";
-    comment = meta.description;
-    categories = "Office;Development;Spreadsheet;";
-  };
-
-  postInstall = ''
-    install -m 444 -Dt $out/share/applications ${desktopItem}/share/applications/*
-  '';
+  desktopItems = [
+    (makeDesktopItem rec {
+      name = pname;
+      exec = name;
+      icon = name;
+      desktopName = "Pyspread";
+      genericName = "Spreadsheet";
+      comment = meta.description;
+      categories = "Office;Development;Spreadsheet;";
+    })
+  ];
 
   preFixup = ''
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
diff --git a/nixpkgs/pkgs/applications/office/qownnotes/default.nix b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
index f5bc6d0d14ff..20449b1911ff 100644
--- a/nixpkgs/pkgs/applications/office/qownnotes/default.nix
+++ b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "21.12.8";
+  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 = "sha256-iVcGJz4lxyn303ACYBUVm9cOYjVrETpyUapjAieMpqE=";
+    sha256 = "f7c97f3dc3435ecdc740131548aacd390332c8b97c4e6fee98a3e80985786533";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/nixpkgs/pkgs/applications/office/scribus/unstable.nix b/nixpkgs/pkgs/applications/office/scribus/unstable.nix
index 6aed41d7f9af..21adb90cab9e 100644
--- a/nixpkgs/pkgs/applications/office/scribus/unstable.nix
+++ b/nixpkgs/pkgs/applications/office/scribus/unstable.nix
@@ -83,6 +83,11 @@ mkDerivation rec {
     qttools
   ];
 
+  cmakeFlags = [
+    # poppler uses std::optional
+    "-DWANT_CPP17=ON"
+  ];
+
   meta = with lib; {
     maintainers = with maintainers; [
       erictapen
diff --git a/nixpkgs/pkgs/applications/office/skrooge/default.nix b/nixpkgs/pkgs/applications/office/skrooge/default.nix
index 506a2f99f607..3958d2870942 100644
--- a/nixpkgs/pkgs/applications/office/skrooge/default.nix
+++ b/nixpkgs/pkgs/applications/office/skrooge/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "skrooge";
-  version = "2.26.1";
+  version = "2.27.0";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
-    sha256 = "sha256-66hoA+FDTeMbNAInr9TlTSnwUywJQjTRz87MkdNYn5Q=";
+    sha256 = "sha256-xkl0UyJEDOeYOqqXf3woCDMb8ZyC2c5ChQdDFFERZxE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/spice-up/default.nix b/nixpkgs/pkgs/applications/office/spice-up/default.nix
index 7b72ddcf0d98..1de5a8b817b4 100644
--- a/nixpkgs/pkgs/applications/office/spice-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/spice-up/default.nix
@@ -1,65 +1,59 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , nix-update-script
-, fetchpatch
-, cmake
-, gdk-pixbuf
-, gtk3
-, vala
-, gettext
+, meson
 , ninja
-, pantheon
 , pkg-config
+, python3
+, vala
+, wrapGAppsHook
+, glib
+, gtk3
 , json-glib
-, libgudev
 , libevdev
 , libgee
+, libgudev
 , libsoup
-, wrapGAppsHook
+, pantheon
 }:
 
 stdenv.mkDerivation rec {
   pname = "spice-up";
-  version = "1.8.2";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "Philip-Scott";
     repo = "Spice-up";
     rev = version;
-    sha256 = "1pix911l4ddn50026a5sbpqfzba6fmw40m1yzbknmkgd2ny28f0m";
+    sha256 = "sha256-FI6YMbqZfaU19k8pS2eoNCnX8O8F99SHHOxMwHC5fTc=";
   };
 
-  USER = "pbuilder";
-
   nativeBuildInputs = [
-    cmake
-    gettext
+    meson
     ninja
     pkg-config
+    python3
     vala
     wrapGAppsHook
   ];
 
   buildInputs = [
-    pantheon.elementary-icon-theme
-    pantheon.granite
-    gdk-pixbuf
+    glib
     gtk3
     json-glib
     libevdev
     libgee
     libgudev
     libsoup
+    pantheon.elementary-icon-theme
+    pantheon.granite
   ];
 
-  patches = [
-    # Fix build with Vala 0.46
-    # https://github.com/Philip-Scott/Spice-up/pull/288
-    (fetchpatch {
-      url = "https://patch-diff.githubusercontent.com/raw/Philip-Scott/Spice-up/pull/288.patch";
-      sha256 = "0kyfd8v2sk4cvcq1j8ysp64snfjhnpr3iz7l04lx7if7h372xj39";
-    })
-  ];
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
 
   passthru = {
     updateScript = nix-update-script {
@@ -74,6 +68,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     # The COPYING file has GPLv3; some files have GPLv2+ and some have GPLv3+
     license = licenses.gpl3Plus;
-    mainProgram = "com.github.philip-scott.spice-up";
+    mainProgram = "com.github.philip_scott.spice-up";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/super-productivity/default.nix b/nixpkgs/pkgs/applications/office/super-productivity/default.nix
index 73a6b7b457ec..ccb4cea95ecb 100644
--- a/nixpkgs/pkgs/applications/office/super-productivity/default.nix
+++ b/nixpkgs/pkgs/applications/office/super-productivity/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "super-productivity";
-  version = "7.9.1";
+  version = "7.10.1";
 
   src = fetchurl {
     url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
-    sha256 = "sha256:0lxnl5ai23dwfsyrkpi9l1a0gl0qn6vp7hzmca77nyx974d6j8m4";
+    sha256 = "sha256-jhCsC5G8epyclp2+DYpot1UMjo5mkMa0UO0bQZ1T0Ug=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/office/timedoctor/default.nix b/nixpkgs/pkgs/applications/office/timedoctor/default.nix
index 41273b7780e3..ab2f8df70479 100644
--- a/nixpkgs/pkgs/applications/office/timedoctor/default.nix
+++ b/nixpkgs/pkgs/applications/office/timedoctor/default.nix
@@ -117,7 +117,7 @@ appimageTools.wrapType2 {
     description = "Employee time tracking software";
     homepage = "https://www.timedoctor.com";
     license = licenses.unfree;
-    maintainers = with maintainers; [ kamadorueda ];
+    maintainers = with maintainers; [ dsalaza4 ];
     platforms = [ "x86_64-linux" ];
     # gpgme for i686-linux failed to build.
     broken = true;
diff --git a/nixpkgs/pkgs/applications/office/timekeeper/default.nix b/nixpkgs/pkgs/applications/office/timekeeper/default.nix
deleted file mode 100644
index ba9390251fc5..000000000000
--- a/nixpkgs/pkgs/applications/office/timekeeper/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv
-, fetchFromGitHub
-, poco
-, pkg-config
-, gnome2
-, gtkmm2
-, lib
-}:
-
-stdenv.mkDerivation rec {
-  pname = "timekeeper";
-  version = "1.0";
-
-  src = fetchFromGitHub {
-    owner = "bburdette";
-    repo = "TimeKeeper";
-    rev = "v${version}";
-    fetchSubmodules = true;
-    sha256 = "03rvzkygnn7igcindbb5bcmfy0l83n0awkzprsnhlb6ndxax3k9w";
-  };
-
-  nativeBuildInputs = [
-    poco
-    pkg-config
-  ];
-
-  buildInputs = [
-    gtkmm2
-    gnome2.libglademm
-    gnome2.libglade
-  ];
-
-  installPhase = ''
-    install -Dm755 TimeKeeper/TimeKeeper $out/bin/timekeeper
-    '';
-
-  meta = with lib; {
-    description = "Log hours worked and make reports";
-    homepage = "https://github.com/bburdette/TimeKeeper";
-    maintainers = with maintainers; [ bburdette ];
-    platforms = [ "x86_64-linux" ];
-    license = licenses.bsd3;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/timeline/default.nix b/nixpkgs/pkgs/applications/office/timeline/default.nix
index f4f83ce8e7a7..526777162473 100644
--- a/nixpkgs/pkgs/applications/office/timeline/default.nix
+++ b/nixpkgs/pkgs/applications/office/timeline/default.nix
@@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec {
   nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems ];
 
   pythonPath = with python3.pkgs; [
-    wxPython_4_0 # not compatible with wxPython_4_1. reported upstream https://github.com/wxWidgets/Phoenix/issues/1956
+    wxPython_4_1
     humblewx
     icalendar
     markdown
diff --git a/nixpkgs/pkgs/applications/office/treesheets/default.nix b/nixpkgs/pkgs/applications/office/treesheets/default.nix
index 1f084e182afc..d8fe8649381d 100644
--- a/nixpkgs/pkgs/applications/office/treesheets/default.nix
+++ b/nixpkgs/pkgs/applications/office/treesheets/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
       planning, requirements gathering, presentation of information, etc.
     '';
 
-    homepage    = "http://strlen.com/treesheets/";
+    homepage    = "https://strlen.com/treesheets/";
     maintainers = with maintainers; [ obadz avery ];
     platforms   = platforms.linux;
     license     = licenses.zlib;
diff --git a/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch b/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
index 0cb26afe8296..7b2635cfe121 100644
--- a/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
+++ b/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
@@ -1,13 +1,14 @@
 diff --git a/src/services/log.js b/src/services/log.js
-index 4f29994..1e89e0a 100644
+index 0fcd9812..dcbff070 100644
 --- a/src/services/log.js
 +++ b/src/services/log.js
-@@ -1,14 +1,5 @@
+@@ -1,15 +1,7 @@
  "use strict";
  
 -const fs = require('fs');
 -const dataDir = require('./data_dir');
--
+ const cls = require('./cls');
+ 
 -if (!fs.existsSync(dataDir.LOG_DIR)) {
 -    fs.mkdirSync(dataDir.LOG_DIR, 0o700);
 -}
@@ -17,7 +18,7 @@ index 4f29994..1e89e0a 100644
  const SECOND = 1000;
  const MINUTE = 60 * SECOND;
  const HOUR = 60 * MINUTE;
-@@ -16,45 +7,7 @@ const DAY = 24 * HOUR;
+@@ -17,38 +9,6 @@ const DAY = 24 * HOUR;
  
  const NEW_LINE = process.platform === "win32" ? '\r\n' : '\n';
  
@@ -54,6 +55,12 @@ index 4f29994..1e89e0a 100644
 -}
 -
  function log(str) {
+     const bundleNoteId = cls.get("bundleNoteId");
+ 
+@@ -56,12 +16,6 @@ function log(str) {
+         str = `[Script ${bundleNoteId}] ${str}`;
+     }
+ 
 -    let millisSinceMidnight = Date.now() - todaysMidnight.getTime();
 -
 -    millisSinceMidnight = checkDate(millisSinceMidnight);
@@ -63,41 +70,3 @@ index 4f29994..1e89e0a 100644
      console.log(str);
  }
  
-@@ -83,37 +36,6 @@ function request(req, res, timeMs, responseLength = "?") {
-         `${res.statusCode} ${req.method} ${req.url} with ${responseLength} bytes took ${timeMs}ms`);
- }
- 
--function pad(num) {
--    num = Math.floor(num);
--
--    return num < 10 ? ("0" + num) : num.toString();
--}
--
--function padMilli(num) {
--    if (num < 10) {
--        return "00" + num;
--    }
--    else if (num < 100) {
--        return "0" + num;
--    }
--    else {
--        return num.toString();
--    }
--}
--
--function formatTime(millisSinceMidnight) {
--    return pad(millisSinceMidnight / HOUR)
--        + ":" + pad((millisSinceMidnight % HOUR) / MINUTE)
--        + ":" + pad((millisSinceMidnight % MINUTE) / SECOND)
--        + "." + padMilli(millisSinceMidnight % SECOND);
--}
--
--function formatDate() {
--    return pad(todaysMidnight.getFullYear())
--        + "-" + pad(todaysMidnight.getMonth() + 1)
--        + "-" + pad(todaysMidnight.getDate());
--}
--
- module.exports = {
-     info,
-     error,
diff --git a/nixpkgs/pkgs/applications/office/trilium/default.nix b/nixpkgs/pkgs/applications/office/trilium/default.nix
index 8782b2288e68..0c72bc964182 100644
--- a/nixpkgs/pkgs/applications/office/trilium/default.nix
+++ b/nixpkgs/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.48.8";
+  version = "0.50.2";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "1dz4wdx3d1pmm3yrvipqa929f6gqilhfc3sp6xcgbn9faypp6qra";
+    sha256 = "0fljza5afpjxgrzgskjhs7w86aa51d88xzv2h43666638j3c5mvk";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "0jp1hj51x5wz27f7739nwwli119pzpskg269cxk4i04xxbhr145j";
+    sha256 = "0jqpi1gc48jxvc68yzx80jp553haihybj3g3c5ymvqmgivwn7n4c";
   };
 
 in {
diff --git a/nixpkgs/pkgs/applications/office/vnote/default.nix b/nixpkgs/pkgs/applications/office/vnote/default.nix
index 4b173030d393..f548cf01fcd5 100644
--- a/nixpkgs/pkgs/applications/office/vnote/default.nix
+++ b/nixpkgs/pkgs/applications/office/vnote/default.nix
@@ -8,14 +8,14 @@
 
 mkDerivation rec {
   pname = "vnote";
-  version = "3.11.0";
+  version = "3.12.888";
 
   src = fetchFromGitHub {
     owner = "vnotex";
     repo = pname;
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "sha256-JZqV+ZDYRWiuKLSctB2L2SGPmboLeL3HeecMoaNXY+4=";
+    sha256 = "sha256-l9oFixyEM0aAfvrC5rrQMzv7n8rUHECRzhuIQJ/szjc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/watson/default.nix b/nixpkgs/pkgs/applications/office/watson/default.nix
index 7584debc20f2..cf4fa359749f 100644
--- a/nixpkgs/pkgs/applications/office/watson/default.nix
+++ b/nixpkgs/pkgs/applications/office/watson/default.nix
@@ -10,7 +10,8 @@ let
   # Workaround the issue by providing click 7 explicitly.
   python = python3.override {
     packageOverrides = self: super: {
-      click = self.callPackage ../../../development/python-modules/click/7.nix { };
+      # Use click 7
+      click = self.callPackage ../../../development/python2-modules/click/default.nix { };
     };
   };
 in with python.pkgs; buildPythonApplication rec {
diff --git a/nixpkgs/pkgs/applications/office/zanshin/default.nix b/nixpkgs/pkgs/applications/office/zanshin/default.nix
index 57947e23baa0..d0d8374e64c3 100644
--- a/nixpkgs/pkgs/applications/office/zanshin/default.nix
+++ b/nixpkgs/pkgs/applications/office/zanshin/default.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "zanshin";
-  version = "21.12.0";
+  version = "21.12.2";
 
   src = fetchurl {
     url = "mirror://kde/stable/release-service/${version}/src/zanshin-${version}.tar.xz";
-    sha256 = "sha256-l8W47tS7q747fkSAH3HJdwPsqjMfCyxzl3xJEeAXeh0=";
+    sha256 = "sha256-zMCV4KIrqeKHEsMbqEbnm/DgQiGxZbZXDVMuSSrXj8Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/radio/dablin/default.nix b/nixpkgs/pkgs/applications/radio/dablin/default.nix
index a9f5fc991fff..46b0714bd445 100644
--- a/nixpkgs/pkgs/applications/radio/dablin/default.nix
+++ b/nixpkgs/pkgs/applications/radio/dablin/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dablin";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "Opendigitalradio";
     repo = "dablin";
     rev = version;
-    sha256 = "0143jnhwwh4din6mlrkbm8m2wm8vnrlk0yk9r5qcvj70r2314bgq";
+    sha256 = "02mhxaqpj0094sbb3c28r5xznw9z8ayvlkczknizlk75ag895zz2";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/radio/dump1090/default.nix b/nixpkgs/pkgs/applications/radio/dump1090/default.nix
index 00e5e0089cf8..63eab66db8ff 100644
--- a/nixpkgs/pkgs/applications/radio/dump1090/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/freedv/default.nix b/nixpkgs/pkgs/applications/radio/freedv/default.nix
index b369a5475e53..43cf58db2581 100644
--- a/nixpkgs/pkgs/applications/radio/freedv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix b/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
index 479b3b641cd3..383c5710808f 100644
--- a/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch b/nixpkgs/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch
new file mode 100644
index 000000000000..cfeb0bd416b4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix b/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
index a6d4099c8639..f3a56cfdb055 100644
--- a/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
@@ -43,13 +43,13 @@
 , pname ? "gnuradio"
 , versionAttr ? {
   major = "3.8";
-  minor = "4";
+  minor = "5";
   patch = "0";
 }
 }:
 
 let
-  sourceSha256 = "sha256-C8S3iF7vj9A8SpxriW9y7idrhXzonvenoQtVAMex+Iw=";
+  sourceSha256 = "sha256-p4VFjTE0GXmdA7QGhWSUzO/WxJ+8Dq3JEnOABtQtJUU=";
   featuresInfo = {
     # Needed always
     basic = {
@@ -243,11 +243,6 @@ stdenv.mkDerivation rec {
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
     ./modtool-newmod-permissions.3_8.patch
-    (fetchpatch {
-      # https://github.com/gnuradio/gnuradio/pull/5226
-      url = "https://github.com/gnuradio/gnuradio/commit/9d7343526dd793120b6425cd9a6969416ed32503.patch";
-      sha256 = "sha256-usSoRDDuClUfdX4yFbQNu8wDzve6UEhZYTFj1oZbFic=";
-    })
     # Fix compilation with boost 177
     (fetchpatch {
       url = "https://github.com/gnuradio/gnuradio/commit/2c767bb260a25b415e8c9c4b3ea37280b2127cec.patch";
@@ -256,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/nixpkgs/pkgs/applications/radio/gnuradio/3.7.nix b/nixpkgs/pkgs/applications/radio/gnuradio/3.9.nix
index 372300895ca2..638064bbd072 100644
--- a/nixpkgs/pkgs/applications/radio/gnuradio/3.7.nix
+++ b/nixpkgs/pkgs/applications/radio/gnuradio/3.9.nix
@@ -7,7 +7,6 @@
 , pkg-config
 , volk
 , cppunit
-, swig
 , orc
 , boost
 , log4cpp
@@ -21,33 +20,39 @@
 , libjack2
 , CoreAudio
 , uhd
-, comedilib
-, libusb1
 , SDL
 , gsl
+, soapysdr
+, libsodium
+, libsndfile
+, libunwind
+, thrift
 , cppzmq
 , zeromq
+# Needed only if qt-gui is disabled, from some reason
+, icu
 # GUI related
-, gtk2
+, gtk3
 , pango
+, gobject-introspection
 , cairo
-, qt4
-, qwt6_qt4
+, qt5
+, libsForQt5
 # Features available to override, the list of them is in featuresInfo. They
-# are all turned on by default
+# are all turned on by default.
 , features ? {}
 # If one wishes to use a different src or name for a very custom build
 , overrideSrc ? {}
 , pname ? "gnuradio"
 , versionAttr ? {
-  major = "3.7";
-  minor = "14";
+  major = "3.9";
+  minor = "5";
   patch = "0";
 }
 }:
 
 let
-  sourceSha256 = "BiUDibXV/5cEYmAAaIxT4WTxF/ni4MJumF5oJ/vuOyc=";
+  sourceSha256 = "sha256-TWCXLoS+ImKNd2zkxMks4FXsQMvGKgcW5/MW8S1Y1TY=";
   featuresInfo = {
     # Needed always
     basic = {
@@ -56,27 +61,30 @@ let
         pkg-config
         orc
       ];
-      runtime = [ boost log4cpp mpir ];
-      pythonNative = with python.pkgs; [ Mako six ];
-    };
-    volk = {
-      cmakeEnableFlag = "VOLK";
       runtime = [
         volk
+        boost
+        log4cpp
+        mpir
+      ]
+        # when gr-qtgui is disabled, icu needs to be included, otherwise
+        # building with boost 1.7x fails
+        ++ lib.optionals (!(hasFeature "gr-qtgui")) [ icu ];
+      pythonNative = with python.pkgs; [
+        Mako
+        six
       ];
     };
     doxygen = {
       native = [ doxygen ];
       cmakeEnableFlag = "DOXYGEN";
     };
-    sphinx = {
-      pythonNative = with python.pkgs; [ sphinx ];
-      cmakeEnableFlag = "SPHINX";
+    man-pages = {
+      cmakeEnableFlag = "MANPAGES";
     };
     python-support = {
       pythonRuntime = [ python.pkgs.six ];
       native = [
-        swig
         python
       ];
       cmakeEnableFlag = "PYTHON";
@@ -85,31 +93,44 @@ let
       native = [ cppunit ];
       cmakeEnableFlag = "TESTING";
     };
+    post-install = {
+      cmakeEnableFlag = "POSTINSTALL";
+    };
     gnuradio-runtime = {
       cmakeEnableFlag = "GNURADIO_RUNTIME";
+      pythonRuntime = [
+        python.pkgs.pybind11
+      ];
     };
     gr-ctrlport = {
-      cmakeEnableFlag = "GR_CTRLPORT";
-      native = [
-        swig
+      runtime = [
+        libunwind
+        thrift
       ];
+      pythonRuntime = with python.pkgs; [
+        python.pkgs.thrift
+        # For gr-perf-monitorx
+        matplotlib
+        networkx
+      ];
+      cmakeEnableFlag = "GR_CTRLPORT";
     };
     gnuradio-companion = {
       pythonRuntime = with python.pkgs; [
         pyyaml
-        cheetah
-        lxml
-        pygtk
+        Mako
         numpy
-        # propagated by pygtk, but since wrapping is done externally, it help
-        # the wrapper if it's here
-        pycairo
-        pygobject2
+        pygobject3
+      ];
+      native = [
+        python.pkgs.pytest
       ];
       runtime = [
-        gtk2
+        gtk3
         pango
+        gobject-introspection
         cairo
+        libsndfile
       ];
       cmakeEnableFlag = "GRC";
     };
@@ -126,6 +147,10 @@ let
     gr-filter = {
       runtime = [ fftwFloat ];
       cmakeEnableFlag = "GR_FILTER";
+      pythonRuntime = with python.pkgs; [
+        scipy
+        pyqtgraph
+      ];
     };
     gr-analog = {
       cmakeEnableFlag = "GR_ANALOG";
@@ -136,9 +161,6 @@ let
     gr-dtv = {
       cmakeEnableFlag = "GR_DTV";
     };
-    gr-atsc = {
-      cmakeEnableFlag = "GR_ATSC";
-    };
     gr-audio = {
       runtime = []
         ++ lib.optionals stdenv.isLinux [ alsa-lib libjack2 ]
@@ -146,33 +168,46 @@ let
       ;
       cmakeEnableFlag = "GR_AUDIO";
     };
-    gr-comedi = {
-      runtime = [ comedilib ];
-      cmakeEnableFlag = "GR_COMEDI";
-    };
     gr-channels = {
       cmakeEnableFlag = "GR_CHANNELS";
     };
-    gr-noaa = {
-      cmakeEnableFlag = "GR_NOAA";
-    };
-    gr-pager = {
-      cmakeEnableFlag = "GR_PAGER";
-    };
     gr-qtgui = {
-      runtime = [ qt4 qwt6_qt4 ];
-      pythonRuntime = [ python.pkgs.pyqt4 ];
+      runtime = [ qt5.qtbase libsForQt5.qwt ];
+      pythonRuntime = [ python.pkgs.pyqt5 ];
       cmakeEnableFlag = "GR_QTGUI";
     };
     gr-trellis = {
       cmakeEnableFlag = "GR_TRELLIS";
     };
     gr-uhd = {
-      runtime = [ uhd ];
+      runtime = [
+        uhd
+      ];
       cmakeEnableFlag = "GR_UHD";
     };
+    gr-uhd-rfnoc = {
+      runtime = [
+        uhd
+      ];
+      cmakeEnableFlag = "UHD_RFNOC";
+    };
     gr-utils = {
       cmakeEnableFlag = "GR_UTILS";
+      pythonRuntime = with python.pkgs; [
+        # For gr_plot
+        matplotlib
+      ];
+    };
+    gr-modtool = {
+      pythonRuntime = with python.pkgs; [
+        setuptools
+        click
+        click-plugins
+      ];
+      cmakeEnableFlag = "GR_MODTOOL";
+    };
+    gr-blocktool = {
+      cmakeEnableFlag = "GR_BLOCKTOOL";
     };
     gr-video-sdl = {
       runtime = [ SDL ];
@@ -182,27 +217,28 @@ let
       runtime = [ codec2 gsm ];
       cmakeEnableFlag = "GR_VOCODER";
     };
-    gr-fcd = {
-      runtime = [ libusb1 ];
-      cmakeEnableFlag = "GR_FCD";
-    };
     gr-wavelet = {
       cmakeEnableFlag = "GR_WAVELET";
-      runtime = [ gsl ];
+      runtime = [ gsl libsodium ];
     };
     gr-zeromq = {
       runtime = [ cppzmq zeromq ];
       cmakeEnableFlag = "GR_ZEROMQ";
     };
-    gr-wxgui = {
-      pythonRuntime = with python.pkgs; [ numpy wxPython ];
-      cmakeEnableFlag = "GR_WXGUI";
+    gr-network = {
+      cmakeEnableFlag = "GR_NETWORK";
+    };
+    gr-soapy = {
+      cmakeEnableFlag = "GR_SOAPY";
+      runtime = [
+        soapysdr
+      ];
     };
   };
   shared = (import ./shared.nix {
     inherit
-      lib
       stdenv
+      lib
       python
       removeReferencesTo
       featuresInfo
@@ -212,8 +248,8 @@ let
       overrideSrc
       fetchFromGitHub
     ;
-    qt = qt4;
-    gtk = gtk2;
+    qt = qt5;
+    gtk = gtk3;
   });
   inherit (shared) hasFeature; # function
 in
@@ -225,57 +261,37 @@ stdenv.mkDerivation rec {
     src
     nativeBuildInputs
     buildInputs
+    cmakeFlags
     disallowedReferences
-    postInstall
+    stripDebugList
     doCheck
     dontWrapPythonPrograms
+    dontWrapQtApps
     meta
   ;
-
+  patches = [
+    # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
+    ./modtool-newmod-permissions.patch
+  ];
   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") {
+    inherit (libsForQt5) qwt;
   };
-  cmakeFlags = shared.cmakeFlags
-    # From some reason, if these are not set, libcodec2 and gsm are
-    # not detected properly (slightly different then what's in
-    # ./default.nix).
-    ++ lib.optionals (hasFeature "gr-vocoder") [
-      "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
-      "-DLIBCODEC2_INCLUDE_DIR=${codec2}/include"
-      "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
-      "-DLIBGSM_INCLUDE_DIR=${gsm}/include/gsm"
-    ]
-    ++ lib.optionals (hasFeature "volk" && volk != null) [
-      "-DENABLE_INTERNAL_VOLK=OFF"
-    ]
-  ;
-  stripDebugList = shared.stripDebugList
-    # gr-fcd feature was dropped in 3.8
-    ++ lib.optionals (hasFeature "gr-fcd") [ "share/gnuradio/examples/fcd" ]
-  ;
-  preConfigure = ""
-    # wxgui and pygtk are not looked up properly, so we force them to be
-    # detected as found, if they are requested by the `features` attrset.
-    + lib.optionalString (hasFeature "gr-wxgui") ''
-      sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt
-    ''
-    + lib.optionalString (hasFeature "gnuradio-companion") ''
-      sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
+
+  postInstall = shared.postInstall
+    # This is the only python reference worth removing, if needed.
+    + lib.optionalString (!hasFeature "python-support") ''
+      ${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
+      ${removeReferencesTo}/bin/remove-references-to -t ${python} $(readlink -f $out/lib/libgnuradio-runtime.so)
+      ${removeReferencesTo}/bin/remove-references-to -t ${python.pkgs.pybind11} $out/lib/cmake/gnuradio/gnuradio-runtimeTargets.cmake
     ''
   ;
-  patches = [
-    # Don't install python referencing files if python support is disabled.
-    # See: https://github.com/gnuradio/gnuradio/pull/3856
-    (fetchpatch {
-      url = "https://github.com/gnuradio/gnuradio/commit/acef55433d15c231661fa44751f9a2d90a4baa4b.diff";
-      sha256 = "2CEX44Ll8frfLXTIWjdDhKl7aXcjiAWsezVdwrynelE=";
-    })
-    (fetchpatch {
-      url = "https://github.com/gnuradio/gnuradio/commit/a2681edcfaabcb1ecf878ae861161b6a6bf8459d.diff";
-      sha256 = "2Pitgu8accs16B5X5+/q51hr+IY9DMsA15f56gAtBs8=";
-    })
-  ];
 }
diff --git a/nixpkgs/pkgs/applications/radio/gnuradio/default.nix b/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
index 61aafb63b5db..eef1960ae1f4 100644
--- a/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
+++ b/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
@@ -9,7 +9,7 @@
 , cppunit
 , orc
 , boost
-, log4cpp
+, spdlog
 , mpir
 , doxygen
 , python
@@ -18,6 +18,8 @@
 , fftwFloat
 , alsa-lib
 , libjack2
+, libiio
+, libad9361
 , CoreAudio
 , uhd
 , SDL
@@ -45,14 +47,14 @@
 , overrideSrc ? {}
 , pname ? "gnuradio"
 , versionAttr ? {
-  major = "3.9";
-  minor = "4";
-  patch = "0";
+  major = "3.10";
+  minor = "1";
+  patch = "1";
 }
 }:
 
 let
-  sourceSha256 = "sha256-O+37CyF0IVPdUB1e68HsaXD0T2VsOLPXOpLNlRYEXUk=";
+  sourceSha256 = "sha256-vsAK+GQzcpA9Vsa6q4RFEzVpbF7/+yZkMsemKn6VhIg=";
   featuresInfo = {
     # Needed always
     basic = {
@@ -64,7 +66,7 @@ let
       runtime = [
         volk
         boost
-        log4cpp
+        spdlog
         mpir
       ]
         # when gr-qtgui is disabled, icu needs to be included, otherwise
@@ -171,6 +173,22 @@ let
     gr-channels = {
       cmakeEnableFlag = "GR_CHANNELS";
     };
+    gr-pdu = {
+      cmakeEnableFlag = "GR_PDU";
+      runtime = [
+        libiio
+        libad9361
+      ];
+    };
+    gr-iio = {
+      cmakeEnableFlag = "GR_IIO";
+      runtime = [
+        libiio
+      ];
+    };
+    common-precompiled-headers = {
+      cmakeEnableFlag = "COMMON_PCH";
+    };
     gr-qtgui = {
       runtime = [ qt5.qtbase libsForQt5.qwt ];
       pythonRuntime = [ python.pkgs.pyqt5 ];
@@ -275,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/nixpkgs/pkgs/applications/radio/gqrx/default.nix b/nixpkgs/pkgs/applications/radio/gqrx/default.nix
index a653762b538e..28be25920a45 100644
--- a/nixpkgs/pkgs/applications/radio/gqrx/default.nix
+++ b/nixpkgs/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.1";
+  version = "2.15.8";
 
   src = fetchFromGitHub {
     owner = "gqrx-sdr";
     repo = "gqrx";
     rev = "v${version}";
-    sha256 = "sha256-OL83l3A27rggfGbfLT1CUaPAQHEKXgoGS1jYJZ9eHPQ=";
+    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
@@ -68,11 +67,6 @@ gnuradio3_8Minimal.pkgs.mkDerivation rec {
       "-DLINUX_AUDIO_BACKEND=${audioBackend}"
     ];
 
-  postInstall = ''
-    install -vD $src/gqrx.desktop -t "$out/share/applications/"
-    install -vD $src/resources/icons/gqrx.svg -t "$out/share/pixmaps/"
-  '';
-
   meta = with lib; {
     description = "Software defined radio (SDR) receiver";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/radio/qradiolink/default.nix b/nixpkgs/pkgs/applications/radio/qradiolink/default.nix
index 6960eba6a57d..567a587e6d5b 100644
--- a/nixpkgs/pkgs/applications/radio/qradiolink/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/qsstv/default.nix b/nixpkgs/pkgs/applications/radio/qsstv/default.nix
index 7b27bb2eac02..6e7a28eb7c74 100644
--- a/nixpkgs/pkgs/applications/radio/qsstv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/sdrangel/default.nix b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
index 2ba379400382..2f66de63428c 100644
--- a/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
+++ b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
@@ -33,13 +33,13 @@
 
 mkDerivation rec {
   pname = "sdrangel";
-  version = "6.17.2";
+  version = "6.18.1";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${version}";
-    sha256 = "sha256-sMD2JTJJlssMdXCUHdFYjEqGknhGGuG4szfnvFFN7t4=";
+    sha256 = "sha256-gf+RUOcki0pi3UH4NHFsmbTV04HUG16UC4jcUjyeip4=";
     fetchSubmodules = false;
   };
 
diff --git a/nixpkgs/pkgs/applications/radio/soapyhackrf/default.nix b/nixpkgs/pkgs/applications/radio/soapyhackrf/default.nix
index 8fe3dc90008f..1d2aaca9362b 100644
--- a/nixpkgs/pkgs/applications/radio/soapyhackrf/default.nix
+++ b/nixpkgs/pkgs/applications/radio/soapyhackrf/default.nix
@@ -3,7 +3,7 @@
 } :
 
 let
-  version = "0.3.3";
+  version = "0.3.4";
 
 in stdenv.mkDerivation {
   pname = "soapyhackrf";
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     owner = "pothosware";
     repo = "SoapyHackRF";
     rev = "soapy-hackrf-${version}";
-    sha256 = "1awn89z462500gb3fjb7x61b1znkjri9n1d39bqfip1qk4s11pxc";
+    sha256 = "sha256-fzPYHJAPX8FkFxPXpLlUagTd/NoamRX0YnxHwkbV1nI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
index efd438adf637..79dcab19acb4 100644
--- a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
+++ b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
@@ -2,7 +2,8 @@
 , fetchFromGitHub, cmake
 , libusb-compat-0_1, pkg-config
 , usePython ? false
-, python, ncurses, swig2
+, python ? null
+, ncurses, swig2
 , extraPackages ? []
 } :
 
diff --git a/nixpkgs/pkgs/applications/radio/welle-io/default.nix b/nixpkgs/pkgs/applications/radio/welle-io/default.nix
index cfd339c2d1ea..fbc7eae9109d 100644
--- a/nixpkgs/pkgs/applications/radio/welle-io/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/radio/wsjtx/default.nix b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
index 165ddfe8b372..c3e591aec07b 100644
--- a/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
+++ b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "wsjtx";
-  version = "2.5.3";
+  version = "2.5.4";
 
   # This is a "superbuild" tarball containing both wsjtx and a hamlib fork
   src = fetchurl {
     url = "http://physics.princeton.edu/pulsar/k1jt/wsjtx-${version}.tgz";
-    sha256 = "sha256-Dd99JBPn1TgPF8Yvqk+AZX8ZUuQjYS0Tx3y5A3VZsHw=";
+    sha256 = "sha256-Gz84Rq0sCl9BAXi2YSdl1Z7mPbJJ62z8MyrOF/CjCJg=";
   };
 
   # Hamlib builds with autotools, wsjtx builds with cmake
diff --git a/nixpkgs/pkgs/applications/science/astronomy/astrolog/default.nix b/nixpkgs/pkgs/applications/science/astronomy/astrolog/default.nix
index 90749f54310d..26d0639ae67f 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/astrolog/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/astrolog/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchzip, fetchurl, xorg, gnused }:
+{ lib, stdenv, fetchzip, fetchurl, xorg
+, withBigAtlas ? true
+, withEphemeris ? true
+, withMoonsEphemeris ? true
+}:
 stdenv.mkDerivation rec {
   pname = "astrolog";
   version = "7.30";
@@ -10,7 +14,8 @@ stdenv.mkDerivation rec {
   };
 
   patchPhase = ''
-    ${gnused}/bin/sed -i "s:~/astrolog:$out/astrolog:g" astrolog.h
+    sed -i "s:~/astrolog:$out/astrolog:g" astrolog.h
+    substituteInPlace Makefile --replace cc "$CC" --replace strip "$STRIP"
   '';
 
   buildInputs = [ xorg.libX11 ];
@@ -23,15 +28,30 @@ stdenv.mkDerivation rec {
       sha256 = "1mwvpvfk3lxjcc79zvwl4ypqzgqzipnc01cjldxrmx56xkc35zn7";
       stripRoot = false;
     };
+    moonsEphemeris = fetchzip {
+      url = "https://www.astrolog.org/ftp/ephem/moons/sepm.zip";
+      sha256 = "0labcidm8mrwvww93nwpp5738m9ff9q48cqzbgd18xny1jf6f8xd";
+      stripRoot = false;
+    };
     atlas = fetchurl {
       url = "http://astrolog.org/ftp/atlas/atlasbig.as";
-      sha256 = "1k8cy8gpcvkwkhyz248qhvrv5xiwp1n1s3b7rlz86krh7vzz01mp";
+      sha256 = "001bmqyldsbk4bdliqfl4a9ydrh1ff13wccvfniwaxlmvkridx2q";
     };
   in ''
     mkdir -p $out/bin $out/astrolog
-    cp -r ${ephemeris}/*.se1 $out/astrolog
     cp *.as $out/astrolog
     install astrolog $out/bin
+    ${lib.optionalString withBigAtlas "cp ${atlas} $out/astrolog/atlas.as"}
+    ${lib.optionalString withEphemeris ''
+      sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as
+      mkdir -p $out/ephemeris
+      cp -r ${ephemeris}/*.se1 $out/ephemeris
+    ''}
+    ${lib.optionalString withMoonsEphemeris ''
+      sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as
+      mkdir -p $out/ephemeris
+      cp -r ${moonsEphemeris}/*.se1 $out/ephemeris
+    ''}
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/astronomy/gprojector/default.nix b/nixpkgs/pkgs/applications/science/astronomy/gprojector/default.nix
new file mode 100644
index 000000000000..3864058828f4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/astronomy/gprojector/default.nix
@@ -0,0 +1,51 @@
+{ stdenvNoCC
+, lib
+, fetchzip
+, jre
+, makeDesktopItem
+, copyDesktopItems
+, makeWrapper
+, extraJavaArgs ? "-Xms512M -Xmx2000M"
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "gprojector";
+  version = "3.0.2";
+
+  src = fetchzip {
+    url = "https://www.giss.nasa.gov/tools/gprojector/download/G.ProjectorJ-${version}.tgz";
+    sha256 = "sha256-IvGZOYt2d8aWtlAJJzVrwkqOOhaUHUmEDlMeD/0NdwU=";
+  };
+
+  desktopItems = [ (makeDesktopItem {
+    name = "gprojector";
+    exec = "gprojector";
+    desktopName = "G.Projector";
+    comment = meta.description;
+    categories = "Science;";
+    extraEntries = "StartupWMClass = gov-nasa-giss-projector-GProjector";
+  }) ];
+
+  buildInputs = [ jre ];
+  nativeBuildInputs = [ makeWrapper copyDesktopItems ];
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontFixup = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share
+    cp -r $src/jars $out/share/java
+    makeWrapper ${jre}/bin/java $out/bin/gprojector --add-flags "-jar $out/share/java/G.Projector.jar" --add-flags "${extraJavaArgs}"
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "G.Projector transforms an input map image into any of about 200 global and regional map projections";
+    homepage = "https://www.giss.nasa.gov/tools/gprojector/";
+    maintainers = with lib.maintainers; [ alyaeanyx ];
+    license = lib.licenses.unfree;
+    inherit (jre.meta) platforms;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix b/nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix
index d557f32bb6da..fb5cce02bdb4 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/gravit/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU, libGL, libpng, lua5, autoconf, automake }:
+{ lib, stdenv, fetchFromGitHub, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU, libGL, libpng, lua5, autoconf, automake }:
 
 stdenv.mkDerivation rec {
   pname = "gravit";
   version = "0.5.1";
 
-  src = fetchurl {
-    url = "https://gravit.slowchop.com/media/downloads/gravit-${version}.tgz";
-    sha256 = "14vf7zj2bgrl96wsl3f1knsggc8h9624354ajzd72l46y09x5ky7";
+  src = fetchFromGitHub {
+    owner = "gak";
+    repo = pname;
+    rev = version;
+    hash = "sha256-JuqnLLD5+Ec8kQI0SK98V1O6TTbGM6+yKn5KCHe85eM=";
   };
 
   buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
@@ -23,9 +25,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = "https://gravit.slowchop.com";
+    homepage = "https://github.com/gak/gravit";
     description = "Beautiful OpenGL-based gravity simulator";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Plus;
 
     longDescription = ''
       Gravit is a gravity simulator which runs under Linux, Windows and
diff --git a/nixpkgs/pkgs/applications/science/astronomy/kstars/default.nix b/nixpkgs/pkgs/applications/science/astronomy/kstars/default.nix
index b7b9fbeb14d3..3cd98f1acadc 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/kstars/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix b/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix
index 818d0fe14ba2..1702079e017f 100644
--- a/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/bowtie2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bowtie2";
-  version = "2.4.4";
+  version = "2.4.5";
 
   src = fetchFromGitHub {
     owner = "BenLangmead";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2B6w6c/qztyBb1jNA0zg+udQm41ouT1DyB6Ygpi5nC8=";
+    sha256 = "sha256-xCsTkQXrZS+Njn0YfidhPln+OwVfTXOqbtB0dCfTP2U=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/biology/deeptools/default.nix b/nixpkgs/pkgs/applications/science/biology/deeptools/default.nix
index 2621c5bbf037..1739a4c999a4 100644
--- a/nixpkgs/pkgs/applications/science/biology/deeptools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/deeptools/default.nix
@@ -2,13 +2,13 @@
 with python.pkgs;
 buildPythonApplication rec {
   pname = "deepTools";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "deeptools";
     repo = "deepTools";
     rev = version;
-    sha256 = "1bz8ln32mfc9k8l9wgp034vw80dxh6f92dfqxhcrpggk4akwj6ml";
+    sha256 = "07v8vb2x4b0mgw0mvcj91vj1fqbcwizwsniysl2cvmv93gad8gbp";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/science/biology/febio-studio/default.nix b/nixpkgs/pkgs/applications/science/biology/febio-studio/default.nix
new file mode 100644
index 000000000000..e334637f243c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/febio-studio/febio-studio-cmake.patch b/nixpkgs/pkgs/applications/science/biology/febio-studio/febio-studio-cmake.patch
new file mode 100644
index 000000000000..e694f6c3b89f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/hisat2/default.nix b/nixpkgs/pkgs/applications/science/biology/hisat2/default.nix
index ab8e26f92a0d..67c39031b773 100644
--- a/nixpkgs/pkgs/applications/science/biology/hisat2/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/hisat2/default.nix
@@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Graph based aligner";
-    license = licenses.gpl3;
-    homepage = "https://ccb.jhu.edu/software/hisat2/index.shtml";
+    license = licenses.gpl3Plus;
+    homepage = "https://daehwankimlab.github.io/hisat2/";
     maintainers = with maintainers; [ jbedo ];
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
diff --git a/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix b/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
index 203d0520660f..156f55161291 100644
--- a/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kallisto";
-  version = "0.46.2";
+  version = "0.48.0";
 
   src = fetchFromGitHub {
     repo = "kallisto";
     owner = "pachterlab";
     rev = "v${version}";
-    sha256 = "0m0r2820ca3rch99md1zzbgkilmlfkhdkpys2lfnb87qxmf1jnmb";
+    sha256 = "sha256-r0cdR0jTRa1wu/LDKW6NdxI3XaKj6wcIVbIlct0fFvI=";
   };
 
   nativeBuildInputs = [ autoconf cmake ];
diff --git a/nixpkgs/pkgs/applications/science/biology/last/default.nix b/nixpkgs/pkgs/applications/science/biology/last/default.nix
index 8de0580a8199..68cdd9f120bf 100644
--- a/nixpkgs/pkgs/applications/science/biology/last/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/lumpy/default.nix b/nixpkgs/pkgs/applications/science/biology/lumpy/default.nix
deleted file mode 100644
index 91a001744474..000000000000
--- a/nixpkgs/pkgs/applications/science/biology/lumpy/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, htslib, zlib, curl, openssl, samblaster, sambamba
-, samtools, hexdump, python2Packages, which }:
-
-let
-  python =
-    python2Packages.python.withPackages (pkgs: with pkgs; [ pysam numpy ]);
-
-in stdenv.mkDerivation rec {
-  pname = "lumpy";
-  version = "0.3.1";
-
-  src = fetchFromGitHub {
-    owner = "arq5x";
-    repo = "lumpy-sv";
-    rev = "v${version}";
-    sha256 = "0r71sg7qch8r6p6dw995znrqdj6q49hjdylhzbib2qmv8nvglhs9";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [ which ];
-  buildInputs =
-    [ htslib zlib curl openssl python samblaster sambamba samtools hexdump ];
-
-  preConfigure = ''
-    patchShebangs ./.
-
-    # Use Nix htslib over bundled version
-    sed -i 's/lumpy_filter: htslib/lumpy_filter:/' Makefile
-    sed -i 's|../../lib/htslib/libhts.a|-lhts|' src/filter/Makefile
-    # Also make sure we use the includes from Nix's htslib
-    sed -i 's|../../lib/htslib/|${htslib}|' src/filter/Makefile
-  '';
-
-  # Upstream's makefile doesn't have an install target
-  installPhase = ''
-    mkdir -p $out
-    cp -r bin $out
-    cp -r scripts $out
-    sed -i 's|/build/source|'$out'|' $out/bin/lumpyexpress.config
-  '';
-
-  meta = with lib; {
-    description = "Probabilistic structural variant caller";
-    homepage = "https://github.com/arq5x/lumpy-sv";
-    maintainers = with maintainers; [ jbedo ];
-    license = licenses.mit;
-    platforms = [ "x86_64-linux" ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/applications/science/biology/messer-slim/default.nix b/nixpkgs/pkgs/applications/science/biology/messer-slim/default.nix
index d395804a42e5..79cce7b9f744 100644
--- a/nixpkgs/pkgs/applications/science/biology/messer-slim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix b/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix
index 062cdd56c7c4..bba8a02b76e3 100644
--- a/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/minimap2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minimap2";
-  version = "2.23";
+  version = "2.24";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "lh3";
     rev = "v${version}";
-    sha256 = "sha256-oNVpSINcXO2eKzOCr/Fl8tSMguRxzmlDNu7hLZeopoQ=";
+    sha256 = "sha256-sEp7/Y5ifV9LTqrkhlkfykTJYMMuc+VtF7PvmIpBxUw=";
   };
 
   buildInputs = [ zlib ];
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "https://lh3.github.io/minimap2";
     license = licenses.mit;
     platforms = platforms.all;
+    badPlatforms = platforms.aarch64;
     maintainers = [ maintainers.arcadio ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix b/nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix
index b6cc5e406153..fa93ab3fcdb0 100644
--- a/nixpkgs/pkgs/applications/science/biology/mosdepth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
index f6dcca3a2399..33d581ffd018 100644
--- a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/nixpkgs/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.10";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "sha256-5e60StDQil9SMR9G6Gs+OPWMjADn96fOpfHDlNoZSGc=";
+    sha256 = "sha256-hKBWRmzyMVXiEmsz/eYbVIUhezZdSJnBvcgv6ShPI5U=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/science/biology/poretools/default.nix b/nixpkgs/pkgs/applications/science/biology/poretools/default.nix
index b2cefefb5cb5..efbedf9a121a 100755
--- a/nixpkgs/pkgs/applications/science/biology/poretools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/poretools/default.nix
@@ -1,6 +1,6 @@
-{ lib, pythonPackages, fetchFromGitHub }:
+{ lib, python2Packages, fetchFromGitHub }:
 
-pythonPackages.buildPythonPackage rec {
+python2Packages.buildPythonPackage rec {
   pname = "poretools";
   version = "unstable-2016-07-10";
 
@@ -11,7 +11,7 @@ pythonPackages.buildPythonPackage rec {
     sha256 = "0bglj833wxpp3cq430p1d3xp085ls221js2y90w7ir2x5ay8l7am";
   };
 
-  propagatedBuildInputs = [pythonPackages.h5py pythonPackages.matplotlib pythonPackages.seaborn pythonPackages.pandas];
+  propagatedBuildInputs = [python2Packages.h5py python2Packages.matplotlib python2Packages.seaborn python2Packages.pandas];
 
   meta = {
     description = "a toolkit for working with nanopore sequencing data from Oxford Nanopore";
diff --git a/nixpkgs/pkgs/applications/science/biology/repseek/default.nix b/nixpkgs/pkgs/applications/science/biology/repseek/default.nix
new file mode 100644
index 000000000000..5966c83b7a5f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/repseek/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "repseek";
+  version = "9Sep2014";
+  src = fetchurl {
+    url = "https://bioinfo.mnhn.fr/abi/public/RepSeek/RepSeek.${version}.tgz";
+    sha256 = "1jiknji3ivrv7zmrfbf2mccfpdwhin3lfxfsciaqwf69b3sda8nf";
+  };
+
+  preConfigure = ''
+    mkdir -p $out/bin
+    substituteInPlace Makefile \
+      --replace "INSTALLDIR = \$\$HOME/bin" "INSTALLDIR = $out/bin/" \
+      --replace "CC= gcc" "CC = $CC"
+  '' + lib.optionalString stdenv.isLinux ''
+    substituteInPlace Makefile --replace "MACHINE = MACOSX" "MACHINE = LINUX"
+  '';
+
+  meta = {
+    description = "Tool to retrieve approximate repeats from large DNA sequences";
+    homepage = "https://bioinfo.mnhn.fr/abi/public/RepSeek";
+    maintainers = [ lib.maintainers.bzizou ];
+    license = lib.licenses.lgpl21;
+  };
+
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/sambamba/default.nix b/nixpkgs/pkgs/applications/science/biology/sambamba/default.nix
index 03ee40013c77..36e950a18121 100644
--- a/nixpkgs/pkgs/applications/science/biology/sambamba/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/sambamba/default.nix
@@ -1,27 +1,27 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, python3, which, ldc, zlib }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3
+, which
+, ldc
+, zlib
+, lz4
+}:
 
 stdenv.mkDerivation rec {
   pname = "sambamba";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "biod";
     repo = "sambamba";
     rev = "v${version}";
-    sha256 = "0f4qngnys2zjb0ri54k6kxqnssg938mnnscs4z9713hjn41rk7yd";
+    sha256 = "sha256-FEa9QjQoGNUOAtMNMZcqpTKMKVtXoBuOomTy0mpos/0=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # make ldc 1.27.1 compatible
-    (fetchpatch {
-      url = "https://github.com/biod/sambamba/pull/480/commits/b5c80feb62683d24ec0529f685a1d7a36962a1d4.patch";
-      sha256 = "0yr9baxqbhyb4scwcwczk77z8gazhkl60jllhz9dnrb7p5qsvs7r";
-    })
-  ];
-
   nativeBuildInputs = [ which python3 ldc ];
-  buildInputs = [ zlib ];
+  buildInputs = [ zlib lz4 ];
 
   # Upstream's install target is broken; copy manually
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/biology/spades/default.nix b/nixpkgs/pkgs/applications/science/biology/spades/default.nix
index b41d266dbab5..5302b43bb026 100644
--- a/nixpkgs/pkgs/applications/science/biology/spades/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/biology/star/default.nix b/nixpkgs/pkgs/applications/science/biology/star/default.nix
index 4328bbd975a8..3555929a33ea 100644
--- a/nixpkgs/pkgs/applications/science/biology/star/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/star/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "star";
-  version = "2.7.9a";
+  version = "2.7.10a";
 
   src = fetchFromGitHub {
     repo = "STAR";
     owner = "alexdobin";
     rev = version;
-    sha256 = "sha256-p1yaIbSGu8K5AkqJj0BAzuoWsXr25eCNoQmLXYQeg4E=";
+    sha256 = "sha256-qwddCGMOKWgx76qGwRQXwvv9fCSeVsZbWHmlBwEqGKE=";
   };
 
   sourceRoot = "source/source";
diff --git a/nixpkgs/pkgs/applications/science/biology/tebreak/default.nix b/nixpkgs/pkgs/applications/science/biology/tebreak/default.nix
index cb606a6b3463..e56d91dc2cd1 100644
--- a/nixpkgs/pkgs/applications/science/biology/tebreak/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/tebreak/default.nix
@@ -1,7 +1,7 @@
-{ lib, fetchFromGitHub, last, exonerate, minia, python3Packages, bwa
-, samtools, findutils, python }:
+{ lib, fetchFromGitHub, last, exonerate, minia, python3, bwa
+, samtools, findutils }:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "tebreak";
   version = "1.1";
 
@@ -12,8 +12,8 @@ python3Packages.buildPythonApplication rec {
     sha256 = "13mgh775d8hkl340923lfwwm4r5ps70girn8d6wgfxzwzxylz8iz";
   };
 
-  nativeBuildInputs = [ findutils python3Packages.cython ];
-  propagatedBuildInputs = with python3Packages; [
+  nativeBuildInputs = [ findutils python3.pkgs.cython ];
+  propagatedBuildInputs = with python3.pkgs; [
     pysam
     scipy
     bx-python
@@ -35,7 +35,7 @@ python3Packages.buildPythonApplication rec {
   checkPhase = ''
     $out/bin/tebreak -b test/data/example.ins.bam  -r test/data/Homo_sapiens_chr4_50000000-60000000_assembly19.fasta -p 4 --pickle test/example.pickle --detail_out test/example.tebreak.detail.out -i lib/teref.human.fa
     pushd test
-    ${python.interpreter} checktest.py
+    ${python3.interpreter} checktest.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/chemistry/chemtool/default.nix b/nixpkgs/pkgs/applications/science/chemistry/chemtool/default.nix
index 3b5d144ba22b..bf78aeb825d5 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/chemtool/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix
index 13efa2390ffa..26cf411cb78a 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix
@@ -11,13 +11,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "cp2k";
-  version = "8.2.0";
+  version = "9.1.0";
 
   src = fetchFromGitHub {
     owner = "cp2k";
     repo = "cp2k";
     rev = "v${version}";
-    sha256 = "0kykq5p318hxjzd4gzqjwv9gqshbdvbg0gnjbd9bdfjx1r6jkjn3";
+    hash = "sha256-P9RwZmrE1E0UTQVasQxWAqa3LBLyJNGeJo8T6u5WWcw=";
     fetchSubmodules = true;
   };
 
@@ -50,7 +50,9 @@ in stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs tools exts/dbcsr/tools/build_utils exts/dbcsr/.cp2k
-    substituteInPlace exts/dbcsr/.cp2k/Makefile --replace '/usr/bin/env python3' '${python3}/bin/python'
+    substituteInPlace exts/build_dbcsr/Makefile \
+      --replace '/usr/bin/env python3' '${python3}/bin/python' \
+      --replace 'SHELL = /bin/sh' 'SHELL = bash'
   '';
 
   configurePhase = ''
diff --git a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
index 20b665792ac4..d1d6b436992c 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.32.6";
+  version = "14.32.21";
   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-jJw/y6lQ0bvzOmwOhedufxK0Tuq9Pq6lIPZ97o03Zec=";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix b/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
index 72958898428a..3c2b11c0e292 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/chemistry/molden/default.nix b/nixpkgs/pkgs/applications/science/chemistry/molden/default.nix
index 9595639d381e..03f7c6c2b40f 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/molden/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/molden/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   pname = "molden";
 
   src = fetchurl {
-    url = "ftp://ftp.cmbi.umcn.nl/pub/molgraph/molden/molden${version}.tar.gz";
+    url = "https://ftp.science.ru.nl/Molden//molden${version}.tar.gz";
     sha256 = "02qi16pz2wffn3cc47dpjqhfafzwfmb79waw4nnhfyir8a4h3cq1";
   };
 
diff --git a/nixpkgs/pkgs/applications/science/electronics/alliance/default.nix b/nixpkgs/pkgs/applications/science/electronics/alliance/default.nix
index 909a3ec767c6..cf135b9469a7 100644
--- a/nixpkgs/pkgs/applications/science/electronics/alliance/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/alliance/default.nix
@@ -19,6 +19,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ libtool automake autoconf flex ];
   buildInputs = [ xorgproto motif libX11 libXt libXpm bison ];
 
+  # Disable parallel build, errors:
+  #  ./pat_decl_y.y:736:5: error: expected '=', ...
+  enableParallelBuilding = false;
+
   ALLIANCE_TOP = placeholder "out";
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix
index 8ea75a3ec486..94457c81ce93 100644
--- a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle7.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Schematic editor and PCB layout tool from CadSoft";
-    homepage = "http://www.cadsoftusa.com/";
+    homepage = "https://www.autodesk.com/products/eagle/overview";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/applications/science/electronics/horizon-eda/default.nix b/nixpkgs/pkgs/applications/science/electronics/horizon-eda/default.nix
index 30ef1f5d109d..6029bf5a9948 100644
--- a/nixpkgs/pkgs/applications/science/electronics/horizon-eda/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/horizon-eda/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "horizon-eda";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "horizon-eda";
     repo = "horizon";
     rev = "v${version}";
-    sha256 = "sha256-3JNkwKkr/fdz/2UFAHwhn03PHqX9YFOMf3Q7kkbTZYk=";
+    sha256 = "sha256-MUS1dIsULDJ5DahCtDpbHZq56nltHShli7+uoW1/Tqw=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
index 2f4fd63574b0..961519bad19b 100644
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/base.nix
@@ -68,7 +68,6 @@ stdenv.mkDerivation rec {
   # tagged releases don't have "unknown"
   # kicad nightlies use git describe --dirty
   # nix removes .git, so its approximated here
-  # "6.99.0" doesn't have "-unknown", yet; so leaving this in case it returns
   postPatch = ''
     substituteInPlace CMakeModules/KiCadVersion.cmake \
       --replace "unknown" "${builtins.substring 0 10 src.rev}" \
@@ -105,7 +104,7 @@ stdenv.mkDerivation rec {
   ++ optionals (withI18n) [
     "-DKICAD_BUILD_I18N=ON"
   ]
-  ++ optionals (!withPCM) [
+  ++ optionals (!withPCM && stable) [
     "-DKICAD_PCM=OFF"
   ];
 
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
index 44a538370dae..95e88ff14071 100644
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
@@ -22,7 +22,7 @@
 , sanitizeAddress ? false
 , sanitizeThreads ? false
 , with3d ? true
-, withI18n ? false
+, withI18n ? true
 , withPCM ? true # Plugin and Content Manager
 , srcs ? { }
 }:
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix
index 5fed12b0027b..364321afbf71 100644
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,45 +3,45 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"6.0.0";
+      version =			"6.0.2";
       src = {
-        rev =			"d3dd2cf0fa975548d027db88d19b8a88866866d8";
-        sha256 =		"1jrfwyi4zs0rpcpsj01z6687a433nnr56cxbnz12jfg2yafpxk23";
+        rev =			"378541a8ebe8a691b61c8ed1b4012c71343acfbb";
+        sha256 =		"1lcl25zkqkyj5rvw9rad3n7bklpg10kmhmhkyyrgg8ql7di6wa0f";
       };
     };
     libVersion = {
-      version =			"6.0.0";
+      version =			"6.0.2";
       libSources = {
-        symbols.rev =		"275f22eb9eecd5b6deabdefd82c9a826254d9f23";
-        symbols.sha256 =	"0wjk464l60xknvgc9d870901lqnx296dw7amlh3wg0wf78izarfr";
-        templates.rev =		"3a422b5b0928f3fd31579769d4dee2b009a85a11";
-        templates.sha256 =	"0vbjy1v5923942ma0rqcp1dhylhxk1m4vyfxjxw13sizkrpmlwr1";
-        footprints.rev =	"3ea7895b0817abecaa34276346749a711b0c69f6";
-        footprints.sha256 =	"0jv2plwzhhkfx7a2zankkjkbfzjxv43ab8rqpxzqfq2fnx83q6r5";
-        packages3d.rev =	"e607286d4a48ddf654585b37b45d74416a9a70c7";
-        packages3d.sha256 =	"0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla";
+        symbols.rev =		"80a176076a8f3785a4cd64e55ec87f27f6fcc163";
+        symbols.sha256 =	"1f57wv5b95iqd64k8ab82fvxnh5q890v7bzclmn019gl6ikisxj5";
+        templates.rev =		"c9a51b852eacc3e64639548032b50edd80ddb27c";
+        templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
+        footprints.rev =	"c81b399054b0d3842094d7e8dfe08eb04310573a";
+        footprints.sha256 =	"1xmnq2731v2afan1d08xb1qqgl5xd01v5jphi6cdmw28ri555cna";
+        packages3d.rev =	"75175a21b720c59a26efce9a8c6dba3d032392a9";
+        packages3d.sha256 =	"10zf8hp85ksi84cbiczsksn0ygvri4ffsa126v73nnkx6irw6nkk";
       };
     };
   };
   "kicad-unstable" = {
     kicadVersion = {
-      version =			"2021-12-23";
+      version =			"2022-01-13";
       src = {
-        rev =			"21eb92821866d558acd9e737b643b300a8b18202";
-        sha256 =		"01hg0byp60xzgz0xxfwvyq1hbvbllsys6lx9yfj27d3qjc3bdk42";
+        rev =			"33a4c9b08e040a17daefae9069fdf834063555b4";
+        sha256 =		"1ma0i0vgvdsjrmlfzdi34byly7n1vsaynwp9f1hny4s1m53nirha";
       };
     };
     libVersion = {
-      version =			"2021-12-25";
+      version =			"2022-01-13";
       libSources = {
-        symbols.rev =		"125a2e736504e776e4c6fb7f5131efad75edf245";
-        symbols.sha256 =	"0wjk464l60xknvgc9d870901lqnx296dw7amlh3wg0wf78izarfr";
-        templates.rev =		"8c9ff3dadb9c75cf2932f11c09a46c0c9d84784b";
-        templates.sha256 =	"0vbjy1v5923942ma0rqcp1dhylhxk1m4vyfxjxw13sizkrpmlwr1";
-        footprints.rev =	"ac8de318d8ef7b3eb64c78c6c2650b7b085f3271";
-        footprints.sha256 =	"0jv2plwzhhkfx7a2zankkjkbfzjxv43ab8rqpxzqfq2fnx83q6r5";
-        packages3d.rev =	"1080b6e565e56bae9be46db2278a1542092d7a2d";
-        packages3d.sha256 =	"0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla";
+        symbols.rev =		"e3b198d827817b79fb8a6df07f0cfc1cb9140edf";
+        symbols.sha256 =	"1azjx1bmxaz8bniyw75lq60mc8hvay00jn9qdc2zp7isy3c9ibp0";
+        templates.rev =		"a27d83f0a20f0be0c1ab04b139a0c518da51a5d4";
+        templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
+        footprints.rev =	"a939c691f1c515d6830e54cf035a420de3e5a92c";
+        footprints.sha256 =	"13g6y1l95znz6ixc4dpqsxp3icrzs951xpabnzr5znw42577gm9j";
+        packages3d.rev =	"196a26294d8e501b0e8b06c1df1abae0ebe23051";
+        packages3d.sha256 =	"0ywlk00dfwv7hc494finmazdh3g1yx0ir7bvnd8zp6cq4ql0nwl4";
       };
     };
   };
diff --git a/nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix b/nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix
index 3e701dc93c4f..8d4217d0aba3 100644
--- a/nixpkgs/pkgs/applications/science/electronics/lepton-eda/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix b/nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix
index 1b9d7773669c..09d36094e7c9 100644
--- a/nixpkgs/pkgs/applications/science/electronics/openhantek6022/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
index 159e15cf247d..5ee89dfa8c43 100644
--- a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
@@ -1,25 +1,31 @@
-{ lib, stdenv, fetchurl
-, perl, flex, bison, python3
+{ lib, stdenv, fetchFromGitHub
+, perl, flex, bison, python3, autoconf
 }:
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.210";
+  version = "4.218";
 
-  src = fetchurl {
-    url = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "sha256-KoIfJeV2aITnwiB2eQgQo4ZyXfMe6erFiGKXezR+IBg=";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-FukC60z7Y3bb3I/dgzqCh6kFP6DDBOGi0M8IIZ50P3g=";
   };
 
   enableParallelBuilding = true;
   buildInputs = [ perl ];
-  nativeBuildInputs = [ flex bison python3 ];
+  nativeBuildInputs = [ flex bison python3 autoconf ];
 
   # these tests need some interpreter paths patched early on...
   # see https://github.com/NixOS/nix/issues/1205
   doCheck = false;
   checkTarget = "test";
 
+  preConfigure = ''
+    autoconf
+  '';
+
   postPatch = ''
     patchShebangs \
       src/flexfix \
diff --git a/nixpkgs/pkgs/applications/science/electronics/xyce/default.nix b/nixpkgs/pkgs/applications/science/electronics/xyce/default.nix
new file mode 100644
index 000000000000..8d9b02d909e9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/geometry/gama/default.nix b/nixpkgs/pkgs/applications/science/geometry/gama/default.nix
index 750cba9d8b23..b2226db46087 100644
--- a/nixpkgs/pkgs/applications/science/geometry/gama/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix b/nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix
index 1e3c96ae8c62..ff2b211b34d2 100644
--- a/nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/logic/anders/default.nix b/nixpkgs/pkgs/applications/science/logic/anders/default.nix
new file mode 100644
index 000000000000..72e412fc3bdc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/anders/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, ocamlPackages }:
+
+ocamlPackages.buildDunePackage rec {
+  pname = "anders";
+  version = "1.1.1";
+
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "groupoid";
+    repo = "anders";
+    rev = "${version}";
+    sha256 = "sha256-JUiZoo2rNLfgs94TlJqUNzul/7ODisCjSFAzhgSp1z4=";
+  };
+
+  buildInputs = with ocamlPackages; [ zarith menhir ];
+
+  meta = with lib; {
+    description = "Modal Homotopy Type System";
+    homepage = "https://homotopy.dev/";
+    license = licenses.isc;
+    maintainers = [ maintainers.suhr ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/logic/coq/default.nix b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
index 12c455d2fc0a..bdd2796addcd 100644
--- a/nixpkgs/pkgs/applications/science/logic/coq/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
@@ -46,7 +46,7 @@ let
    "8.13.2".sha256     = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
    "8.14.0".sha256     = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17";
    "8.14.1".sha256     = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
-   "8.15+rc1".sha256   = "sha256:0v9vnx5z2mbsmhdx08rpg0n8jn0d82mimpghn55vkwsscxmcrgnm";
+   "8.15.0".sha256     = "sha256:1ma76wfrpfsl72yh10w1ys2a0vi0mdc2jc79kdc8nrmxkhpw1nxx";
   };
   releaseRev = v: "V${v}";
   fetched = import ../../../../build-support/coq/meta-fetch/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
   ;
@@ -204,5 +205,6 @@ self = stdenv.mkDerivation {
     branch = coq-version;
     maintainers = with maintainers; [ roconnor thoughtpolice vbgl Zimmi48 ];
     platforms = platforms.unix;
+    mainProgram = "coqide";
   };
 }; in self
diff --git a/nixpkgs/pkgs/applications/science/logic/formula/default.nix b/nixpkgs/pkgs/applications/science/logic/formula/default.nix
new file mode 100644
index 000000000000..13c13713a72e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/logic/formula/nuget.nix b/nixpkgs/pkgs/applications/science/logic/formula/nuget.nix
new file mode 100644
index 000000000000..e7ee3005e973
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/logic/isabelle/default.nix b/nixpkgs/pkgs/applications/science/logic/isabelle/default.nix
index 32d89d7e22ae..0f0410024251 100644
--- a/nixpkgs/pkgs/applications/science/logic/isabelle/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/isabelle/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, nettools, java, polyml, z3, veriT, vampire, eprover-ho, rlwrap, makeDesktopItem }:
+{ lib, stdenv, fetchurl, coreutils, nettools, java, polyml, z3, veriT, vampire, eprover-ho, rlwrap, makeDesktopItem }:
 # nettools needed for hostname
 
 stdenv.mkDerivation rec {
@@ -7,18 +7,22 @@ stdenv.mkDerivation rec {
 
   dirname = "Isabelle${version}";
 
-  src = if stdenv.isDarwin
-    then fetchurl {
-      url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz";
-      sha256 = "0n1ls9vwf0ps1x8zpb7c1xz1wkasgvc34h5bz280hy2z6iqwmwbc";
-    }
-    else fetchurl {
-      url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
-      sha256 = "0jfaqckhg388jh9b4msrpkv6wrd6xzlw18m0bngbby8k8ywalp9i";
-    };
+  src =
+    if stdenv.isDarwin
+    then
+      fetchurl
+        {
+          url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz";
+          sha256 = "0n1ls9vwf0ps1x8zpb7c1xz1wkasgvc34h5bz280hy2z6iqwmwbc";
+        }
+    else
+      fetchurl {
+        url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
+        sha256 = "0jfaqckhg388jh9b4msrpkv6wrd6xzlw18m0bngbby8k8ywalp9i";
+      };
 
   buildInputs = [ polyml z3 veriT vampire eprover-ho ]
-             ++ lib.optionals (!stdenv.isDarwin) [ nettools java ];
+    ++ lib.optionals (!stdenv.isDarwin) [ nettools java ];
 
   sourceRoot = dirname;
 
@@ -69,12 +73,25 @@ stdenv.mkDerivation rec {
     for comp in contrib/jdk* contrib/polyml-* contrib/z3-* contrib/verit-* contrib/vampire-* contrib/e-*; do
       rm -rf $comp/x86*
     done
-    '' + (if ! stdenv.isLinux then "" else ''
+
+    substituteInPlace lib/Tools/env \
+      --replace /usr/bin/env ${coreutils}/bin/env
+
+    rm -r heaps
+  '' + (if ! stdenv.isLinux then "" else ''
     arch=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux" else "x86-linux"}
-    for f in contrib/*/$arch/{bash_process,epclextract,nunchaku,SPASS}; do
+    for f in contrib/*/$arch/{bash_process,epclextract,nunchaku,SPASS,zipperposition}; do
       patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f"
     done
-    '');
+    for d in contrib/kodkodi-*/jni/$arch; do
+      patchelf --set-rpath "${lib.concatStringsSep ":" [ "${java}/lib/openjdk/lib/server" "${stdenv.cc.cc.lib}/lib" ]}" $d/*.so
+    done
+  '');
+
+  buildPhase = ''
+    export HOME=$TMP # The build fails if home is not set
+    bin/isabelle build -v -o system_heaps -b HOL
+  '';
 
   installPhase = ''
     mkdir -p $out/bin
@@ -110,7 +127,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://isabelle.in.tum.de/";
     license = licenses.bsd3;
-    maintainers = [ maintainers.jwiegley ];
+    maintainers = [ maintainers.jwiegley maintainers.jvanbruegge ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/key/default.nix b/nixpkgs/pkgs/applications/science/logic/key/default.nix
index e9b0cc7540b5..762acbe4ec44 100644
--- a/nixpkgs/pkgs/applications/science/logic/key/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/key/default.nix
@@ -1,62 +1,106 @@
 { lib, stdenv
 , fetchurl
-, unzip
 , jdk
-, ant
+, gradle_7
+, perl
 , jre
 , makeWrapper
+, makeDesktopItem
+, copyDesktopItems
 , testVersion
 , key
 }:
 
-# get this from the download URL when changing version
-let gitRevision = "7d3deab0763c88edee4f7a08e604661e0dbdd450";
-
-in stdenv.mkDerivation rec {
+let
   pname = "key";
-  version = "2.6.3";
-
+  version = "2.10.0";
   src = fetchurl {
-    url = "https://formal.iti.kit.edu/key/releases/${version}/key-src-${version}_${gitRevision}.zip";
-    sha256 = "1dr5jmrqs0iy76wdsfiv5hx929i24yzm1xypzqqvx7afc7apyawy";
+    url = "https://www.key-project.org/dist/${version}/key-${version}-sources.tgz";
+    sha256 = "1f201cbcflqd1z6ysrkh3mff5agspw3v74ybdc3s2lfdyz3b858w";
   };
+  sourceRoot = "key-${version}/key";
 
-  sourceRoot = "key";
+  # fake build to pre-download deps into fixed-output derivation
+  deps = stdenv.mkDerivation {
+    pname = "${pname}-deps";
+    inherit version src sourceRoot;
+    nativeBuildInputs = [ gradle_7 perl ];
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+      # https://github.com/gradle/gradle/issues/4426
+      ${lib.optionalString stdenv.isDarwin "export TERM=dumb"}
+      gradle --no-daemon classes testClasses
+    '';
+    # 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/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+    '';
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash = "sha256-GjBUwJxeyJA6vGrPQVtNpcHb4CJlNlY4kHt1PT21xjo=";
+  };
+in stdenv.mkDerivation rec {
+  inherit pname version src sourceRoot;
 
   nativeBuildInputs = [
-    unzip
     jdk
-    ant
+    gradle_7
     makeWrapper
+    copyDesktopItems
   ];
 
+  executable-name = "KeY";
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "KeY";
+      exec = executable-name;
+      icon = "key";
+      comment = meta.description;
+      desktopName = "KeY";
+      genericName = "KeY";
+      categories = "Science;";
+    })
+  ];
+
+  # disable tests (broken on darwin)
+  gradleAction = if stdenv.isDarwin then "assemble" else "build";
+
   buildPhase = ''
-    ant -buildfile scripts/build.xml \
-      -Dgit.revision=${gitRevision} \
-      compileAll deployAll
-  '';
+    runHook preBuild
 
-  postCheck = ''
-    ant -buildfile scripts/build.xml \
-      -Dgit.revision=${gitRevision} \
-      compileAllTests runAllTests test-deploy-all
+    export GRADLE_USER_HOME=$(mktemp -d)
+    # https://github.com/gradle/gradle/issues/4426
+    ${lib.optionalString stdenv.isDarwin "export TERM=dumb"}
+    # point to offline repo
+    sed -ie "s#repositories {#repositories { maven { url '${deps}' }#g" build.gradle
+    cat <(echo "pluginManagement { repositories { maven { url '${deps}' } } }") settings.gradle > settings_new.gradle
+    mv settings_new.gradle settings.gradle
+    gradle --offline --no-daemon ${gradleAction}
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/share/java
-    # Wrong version in the code. On next version change 2.5 to ${version}:
-    unzip deployment/key-2.5_${gitRevision}.zip -d $out/share/java
+    cp key.ui/build/libs/key-*-exe.jar $out/share/java/KeY.jar
     mkdir -p $out/bin
+    mkdir -p $out/share/icons/hicolor/256x256/apps
+    cp key.ui/src/main/resources/de/uka/ilkd/key/gui/images/key-color-icon-square.png $out/share/icons/hicolor/256x256/apps/key.png
     makeWrapper ${jre}/bin/java $out/bin/KeY \
       --add-flags "-cp $out/share/java/KeY.jar de.uka.ilkd.key.core.Main"
+
+    runHook postInstall
   '';
 
   passthru.tests.version =
     testVersion {
       package = key;
       command = "KeY --help";
-      # Wrong '2.5' version in the code. On next version change to ${version}
-      version = "2.5";
     };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/logic/klee/default.nix b/nixpkgs/pkgs/applications/science/logic/klee/default.nix
new file mode 100644
index 000000000000..e0ace7e81c82
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/klee/default.nix
@@ -0,0 +1,110 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, llvmPackages_9
+, clang_9
+, python3
+, zlib
+, z3
+, stp
+, cryptominisat
+, gperftools
+, sqlite
+, gtest
+, lit
+, debug ? false
+}:
+
+let
+  kleePython = python3.withPackages (ps: with ps; [ tabulate ]);
+in
+stdenv.mkDerivation rec {
+  pname = "klee";
+  version = "2.2";
+  src = fetchFromGitHub {
+    owner = "klee";
+    repo = "klee";
+    rev = "v${version}";
+    sha256 = "Ar3BKfADjJvvP0dI9+x/l3RDs8ncx4jmO7ol4MgOr4M=";
+  };
+  buildInputs = [
+    llvmPackages_9.llvm clang_9 z3 stp cryptominisat
+    gperftools sqlite
+  ];
+  nativeBuildInputs = [
+    cmake
+  ];
+  checkInputs = [
+    gtest
+
+    # Should appear BEFORE lit, since lit passes through python rather
+    # than the python environment we make.
+    kleePython
+    (lit.override { python3 = kleePython; })
+  ];
+
+  cmakeFlags = let
+    buildType = if debug then "Debug" else "Release";
+  in
+  [
+    "-DCMAKE_BUILD_TYPE=${buildType}"
+    "-DKLEE_RUNTIME_BUILD_TYPE=${buildType}"
+    "-DENABLE_POSIX_RUNTIME=ON"
+    "-DENABLE_UNIT_TESTS=ON"
+    "-DENABLE_SYSTEM_TESTS=ON"
+    "-DGTEST_SRC_DIR=${gtest.src}"
+    "-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include"
+    "-Wno-dev"
+  ];
+
+  # Silence various warnings during the compilation of fortified bitcode.
+  NIX_CFLAGS_COMPILE = ["-Wno-macro-redefined"];
+
+  prePatch = ''
+    patchShebangs .
+  '';
+
+  /* This patch is currently necessary for the unit test suite to run correctly.
+   * See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03136.html
+   * and https://github.com/klee/klee/pull/1458 for more information.
+   */
+  patches = map fetchpatch [
+    {
+      name = "fix-gtest";
+      sha256 = "F+/6videwJZz4sDF9lnV4B8lMx6W11KFJ0Q8t1qUDf4=";
+      url = "https://github.com/klee/klee/pull/1458.patch";
+    }
+  ];
+
+  doCheck = true;
+  checkTarget = "check";
+
+  meta = with lib; {
+    description = "A symbolic virtual machine built on top of LLVM";
+    longDescription = ''
+      KLEE is a symbolic virtual machine built on top of the LLVM compiler
+      infrastructure. Currently, there are two primary components:
+
+      1. The core symbolic virtual machine engine; this is responsible for
+         executing LLVM bitcode modules with support for symbolic values. This
+         is comprised of the code in lib/.
+
+      2. A POSIX/Linux emulation layer oriented towards supporting uClibc, with
+         additional support for making parts of the operating system environment
+         symbolic.
+
+      Additionally, there is a simple library for replaying computed inputs on
+      native code (for closed programs). There is also a more complicated
+      infrastructure for replaying the inputs generated for the POSIX/Linux
+      emulation layer, which handles running native programs in an environment
+      that matches a computed test input, including setting up files, pipes,
+      environment variables, and passing command line arguments.
+    '';
+    homepage = "https://klee.github.io/";
+    license = licenses.ncsa;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ numinit ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/logic/lean/default.nix b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
index 218a27541877..22e755bd852e 100644
--- a/nixpkgs/pkgs/applications/science/logic/lean/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.35.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    = "a68d251bfc57341d8f1f6d8c6e548a0b08ff3b92";
-    sha256 = "0f91kvd4z7rsjyagfx56y1vxmf4wjds7bnz6yh3sd4xx770z58d4";
+    rev    = "402f41cdedbd46a368fb7807bebe83550d887631";
+    sha256 = "0jddakr07ixspw19xblpj1882vxxaljg3fflhn4myvigwzkav334";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/logic/leo2/default.upstream b/nixpkgs/pkgs/applications/science/logic/leo2/default.upstream
deleted file mode 100644
index 52b8ed1cdaa2..000000000000
--- a/nixpkgs/pkgs/applications/science/logic/leo2/default.upstream
+++ /dev/null
@@ -1,6 +0,0 @@
-url http://page.mi.fu-berlin.de/cbenzmueller/leo/download.html
-version_link '[.]tgz'
-version '.*_v([0-9.]+)[.][a-z0-9]+$' '\1'
-do_overwrite () {
-  do_overwrite_just_version
-}
diff --git a/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix b/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix
index 6ab0921f66fe..688c8c319bd8 100644
--- a/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix
@@ -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/nixpkgs/pkgs/applications/science/logic/logisim/default.nix b/nixpkgs/pkgs/applications/science/logic/logisim/default.nix
index f94f08e43ab2..b4741aaed86e 100644
--- a/nixpkgs/pkgs/applications/science/logic/logisim/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/logisim/default.nix
@@ -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/nixpkgs/pkgs/applications/science/logic/potassco/clingo.upstream b/nixpkgs/pkgs/applications/science/logic/potassco/clingo.upstream
deleted file mode 100644
index 062577d1451b..000000000000
--- a/nixpkgs/pkgs/applications/science/logic/potassco/clingo.upstream
+++ /dev/null
@@ -1,6 +0,0 @@
-target clingo.nix
-attribute_name clingo
-url https://github.com/potassco/clingo/releases/
-ensure_choice
-version '.*/v([0-9.]+)[.]tar[.].*' '\1'
-minimize_overwrite
diff --git a/nixpkgs/pkgs/applications/science/logic/satallax/default.nix b/nixpkgs/pkgs/applications/science/logic/satallax/default.nix
index 9bfad1fa010e..7a523bbf24ef 100644
--- a/nixpkgs/pkgs/applications/science/logic/satallax/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/satallax/default.nix
@@ -66,6 +66,5 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads.php";
     homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/index.php";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix b/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix
index 76dc559cb7ae..08b8a681b2d5 100644
--- a/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/tamarin-prover/default.nix
@@ -79,6 +79,8 @@ mkDerivation (common "tamarin-prover" src // {
     # so that the package can be used as a vim plugin to install syntax coloration
     install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/syntax/spthy.vim
     install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim
+    # Emacs SPTHY major mode
+    install -Dt $out/share/emacs/site-lisp etc/spthy-mode.el
   '';
 
   checkPhase = "./dist/build/tamarin-prover/tamarin-prover test";
diff --git a/nixpkgs/pkgs/applications/science/logic/tlaplus/default.nix b/nixpkgs/pkgs/applications/science/logic/tlaplus/default.nix
index 7d447745a23d..8b9f64a8f5b9 100644
--- a/nixpkgs/pkgs/applications/science/logic/tlaplus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix
index 1b5b2fc35d84..dbb187dc35ee 100644
--- a/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix
+++ b/nixpkgs/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "finalfusion-utils";
-  version = "0.13.2";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "finalfusion";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Wv3K2G542e1bKuJB+dZi0SW4dbopvs7SBohv+zgi5MI=";
+    sha256 = "sha256-suzivynlgk4VvDOC2dQR40n5IJHoJ736+ObdrM9dIqE=";
   };
 
-  cargoSha256 = "sha256-oI7bq/yEXP7aMLWGKAecyq1lqq7ZbHtwxX2ldZMFY8I=";
+  cargoSha256 = "sha256-HekjmctuzOWs5k/ihhsV8vVkm6906jEnFf3yvhkrA5Y=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
index 911d0043ed26..b715c2fc33b3 100644
--- a/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
+++ b/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
@@ -6,7 +6,7 @@
   # build
 , cmake
 , ctags
-, pythonPackages
+, python3Packages
 , swig
   # math
 , eigen
@@ -30,13 +30,13 @@
 , lp_solve
 , colpack
   # extra support
-, pythonSupport ? true
+, pythonSupport ? false
 , opencvSupport ? false
 , opencv ? null
 , withSvmLight ? false
 }:
 
-assert pythonSupport -> pythonPackages != null;
+assert pythonSupport -> python3Packages != null;
 assert opencvSupport -> opencv != null;
 
 assert (!blas.isILP64) && (!lapack.isILP64);
@@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional (!withSvmLight) ./svmlight-scrubber.patch;
 
   nativeBuildInputs = [ cmake swig ctags ]
-    ++ (with pythonPackages; [ python jinja2 ply ]);
+    ++ (with python3Packages; [ python jinja2 ply ]);
 
   buildInputs = [
     eigen
@@ -121,7 +121,7 @@ stdenv.mkDerivation rec {
     nlopt
     lp_solve
     colpack
-  ] ++ lib.optionals pythonSupport (with pythonPackages; [ python numpy ])
+  ] ++ lib.optionals pythonSupport (with python3Packages; [ python numpy ])
     ++ lib.optional opencvSupport opencv;
 
   cmakeFlags = let
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
     "-DENABLE_TESTING=${enableIf doCheck}"
     "-DDISABLE_META_INTEGRATION_TESTS=ON"
     "-DTRAVIS_DISABLE_META_CPP=ON"
-    "-DPythonModular=${enableIf pythonSupport}"
+    "-DINTERFACE_PYTHON=${enableIf pythonSupport}"
     "-DOpenCV=${enableIf opencvSupport}"
     "-DUSE_SVMLIGHT=${enableIf withSvmLight}"
   ];
@@ -177,6 +177,12 @@ stdenv.mkDerivation rec {
     rm -r $out/share
   '';
 
+  postFixup = ''
+    # CMake incorrectly calculates library path from dev prefix
+    substituteInPlace $dev/lib/cmake/shogun/ShogunTargets-release.cmake \
+      --replace "\''${_IMPORT_PREFIX}/lib/" "$out/lib/"
+  '';
+
   meta = with lib; {
     description = "A toolbox which offers a wide range of efficient and unified machine learning methods";
     homepage = "http://shogun-toolbox.org/";
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
index 7e9b322b4157..8dd55efaeb52 100644
--- a/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
+++ b/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vowpal-wabbit";
-  version = "8.11.0";
+  version = "9.0.1";
 
   src = fetchFromGitHub {
     owner = "VowpalWabbit";
     repo = "vowpal_wabbit";
     rev = version;
-    sha256 = "sha256-F3la4n1ULMN2nktr+PVWFPl3V2RfCowR0ozL+dnbhgA=";
+    sha256 = "sha256-ZUurY2bmTKKIW4GR4oiIpLxb6DSRUNJI/EyNSOu9D9c=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/math/R/default.nix b/nixpkgs/pkgs/applications/science/math/R/default.nix
index d08078c356e1..4bd237f87834 100644
--- a/nixpkgs/pkgs/applications/science/math/R/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/bcal/default.nix b/nixpkgs/pkgs/applications/science/math/bcal/default.nix
index 85bcd1b2d2fc..b23b433becd3 100644
--- a/nixpkgs/pkgs/applications/science/math/bcal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/calc/default.nix b/nixpkgs/pkgs/applications/science/math/calc/default.nix
index 5a9f1ef93fb8..f9931c7d4c96 100644
--- a/nixpkgs/pkgs/applications/science/math/calc/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/calc/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "calc";
-  version = "2.14.0.13";
+  version = "2.14.0.14";
 
   src = fetchurl {
     urls = [
       "https://github.com/lcn2/calc/releases/download/${version}/${pname}-${version}.tar.bz2"
       "http://www.isthe.com/chongo/src/calc/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "sha256-naNBismaWnzLjlUy49Rz9OfkhUcFdbnWxs917ogxTjk=";
+    sha256 = "sha256-93J4NaED2XEsVxlY6STpwlS9FI8I60NIAZvDT45xxV0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/science/math/getdp/default.nix b/nixpkgs/pkgs/applications/science/math/getdp/default.nix
index 5ea3550d08a4..5713f84a866f 100644
--- a/nixpkgs/pkgs/applications/science/math/getdp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/gfm/default.nix b/nixpkgs/pkgs/applications/science/math/gfm/default.nix
deleted file mode 100644
index 1078be99c3a9..000000000000
--- a/nixpkgs/pkgs/applications/science/math/gfm/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, fetchpatch
-, pkg-config
-, autoreconfHook
-, gnome2
-, gtk2
-, glib
-, libtifiles2
-, libticables2
-, libticalcs2
-, libticonv
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gfm";
-  version = "1.08";
-  src = fetchurl {
-    url = "mirror://sourceforge/tilp/${pname}-${version}.tar.bz2";
-    sha256 = "0zq1a9mm54zr18dz2mqh79w1a126xwqz6dcrpjlbd1pnmg01l0q9";
-  };
-
-  patches = fetchpatch {
-    name = "remove-broken-kde-support.patch";
-    url = "https://aur.archlinux.org/cgit/aur.git/plain/remove-broken-kde-support.patch?h=gfm";
-    sha256 = "03yc8s2avicmv04f2ygg3r3q8l7kpsc94mhp6clp584kmjpjqag5";
-  };
-
-  nativeBuildInputs = [
-    autoreconfHook
-    pkg-config
-  ];
-
-  buildInputs = [
-    gtk2
-    gnome2.libglade
-    glib
-    libtifiles2
-    libticables2
-    libticalcs2
-    libticonv
-  ];
-
-  NIX_CFLAGS_COMPILE = "-I${libticables2}/include/tilp2";
-
-  meta = with lib; {
-    changelog = "http://lpg.ticalc.org/prj_tilp/news.html";
-    description = "Group File Manager (GFM) allows manipulation of single/group/tigroup files";
-    homepage = "http://lpg.ticalc.org/prj_gfm/index.html";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ siraben luc65r ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/science/math/ginac/default.nix b/nixpkgs/pkgs/applications/science/math/ginac/default.nix
index 78b64d7f587a..1fff1156c1a0 100644
--- a/nixpkgs/pkgs/applications/science/math/ginac/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/gmsh/default.nix b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
index 0a48d813e915..76fc20c4b048 100644
--- a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
@@ -5,25 +5,28 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
-  version = "4.9.0";
+  version = "4.9.4";
 
   src = fetchurl {
-    url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "sha256-uO8TPJtm/+Et8XR+ctSs8Z8esenNlesPV3y8QIHZvqM=";
+    url = "https://gmsh.info/src/gmsh-${version}-source.tgz";
+    sha256 = "sha256-rP8zQtGQfEKaS+PkWW7UT2zUP9WpSrdWZ/SGPNzy92k=";
   };
 
-  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 = "http://gmsh.info/";
-    platforms = [ "x86_64-linux" ];
+    homepage = "https://gmsh.info/";
     license = lib.licenses.gpl2Plus;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/gretl/default.nix b/nixpkgs/pkgs/applications/science/math/gretl/default.nix
index 175add544b5c..b8b600c18748 100644
--- a/nixpkgs/pkgs/applications/science/math/gretl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/mathematica/default.nix b/nixpkgs/pkgs/applications/science/math/mathematica/default.nix
index af8826388977..d24cff9e86ce 100644
--- a/nixpkgs/pkgs/applications/science/math/mathematica/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/mathematica/default.nix
@@ -1,167 +1,172 @@
-{ lib, stdenv
-, coreutils
-, patchelf
-, requireFile
-, callPackage
+{ lib
+, stdenv
+, autoPatchelfHook
+, buildEnv
 , makeWrapper
+, requireFile
 , alsa-lib
+, cups
 , dbus
+, flite
 , fontconfig
 , freetype
-, gcc
+, gcc-unwrapped
 , glib
-, libssh2
+, gmpxx
+, keyutils
+, libGL
+, libGLU
+, libpcap
+, libtins
+, libuuid
+, libxkbcommon
+, libxml2
+, llvmPackages_12
+, matio
+, mpfr
 , ncurses
 , opencv4
+, openjdk11
 , openssl
+, pciutils
+, tre
 , unixODBC
 , xkeyboard_config
 , xorg
 , zlib
-, libxml2
-, libuuid
 , lang ? "en"
-, libGL
-, libGLU
 }:
 
 let
-  l10n =
-    import ./l10ns.nix {
-      lib = lib;
-      inherit requireFile lang;
-    };
-in
-stdenv.mkDerivation rec {
+  l10n = import ./l10ns.nix {
+    inherit lib requireFile lang;
+  };
+in stdenv.mkDerivation {
   inherit (l10n) version name src;
 
-  buildInputs = [
-    coreutils
-    patchelf
+  nativeBuildInputs = [
+    autoPatchelfHook
     makeWrapper
+  ];
+
+  buildInputs = [
     alsa-lib
-    coreutils
+    cups.lib
     dbus
+    flite
     fontconfig
     freetype
-    gcc.cc
-    gcc.libc
     glib
-    libssh2
+    gmpxx
+    keyutils.lib
+    libGL
+    libGLU
+    libpcap
+    libtins
+    libuuid
+    libxkbcommon
+    libxml2
+    llvmPackages_12.libllvm.lib
+    matio
+    mpfr
     ncurses
     opencv4
+    openjdk11
     openssl
-    stdenv.cc.cc.lib
+    pciutils
+    tre
     unixODBC
     xkeyboard_config
-    libxml2
-    libuuid
-    zlib
-    libGL
-    libGLU
   ] ++ (with xorg; [
+    libICE
+    libSM
     libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
     libXext
-    libXtst
+    libXfixes
     libXi
+    libXinerama
     libXmu
+    libXrandr
     libXrender
+    libXtst
     libxcb
-    libXcursor
-    libXfixes
-    libXrandr
-    libICE
-    libSM
   ]);
 
-  ldpath = lib.makeLibraryPath buildInputs
-    + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux")
-      (":" + lib.makeSearchPathOutput "lib" "lib64" buildInputs);
+  wrapProgramFlags = [
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib zlib ]}"
+    "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}"
+    # Fix libQt errors - #96490
+    "--set USE_WOLFRAM_LD_LIBRARY_PATH 1"
+    # Fix xkeyboard config path for Qt
+    "--set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb"
+  ];
 
   unpackPhase = ''
-    echo "=== Extracting makeself archive ==="
-    # find offset from file
+    runHook preUnpack
+
+    # Find offset from file
     offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
-    dd if="$src" ibs=$offset skip=1 | tar -xf -
-    cd Unix
+    tail -c +$(($offset + 1)) $src | tar -xf -
+
+    runHook postUnpack
   '';
 
   installPhase = ''
-    cd Installer
-    # don't restrict PATH, that has already been done
-    sed -i -e 's/^PATH=/# PATH=/' MathInstaller
-
-    # Fix the installation script as follows:
-    # 1. Adjust the shebang
-    # 2. Use the wrapper in the desktop items
-    substituteInPlace MathInstaller \
-      --replace "/bin/bash" "/bin/sh" \
-      --replace "Executables/Mathematica" "../../bin/mathematica"
-
-    # Install the desktop items
-    export XDG_DATA_HOME="$out/share"
+    runHook preInstall
 
-    echo "=== Running MathInstaller ==="
-    ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -silent
+    cd "$TMPDIR/Unix/Installer"
 
-    # Fix library paths
-    cd $out/libexec/Mathematica/Executables
-    for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do
-      sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}\n" $path
-    done
+    mkdir -p "$out/lib/udev/rules.d"
 
-    # Fix xkeyboard config path for Qt
-    for path in mathematica Mathematica; do
-      sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path
-    done
-
-    # Remove some broken libraries
-    rm -f $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
-
-    # Set environment variable to fix libQt errors - see https://github.com/NixOS/nixpkgs/issues/96490
-    wrapProgram $out/bin/mathematica --set USE_WOLFRAM_LD_LIBRARY_PATH 1
+    # Patch MathInstaller's shebangs and udev rules dir
+    patchShebangs MathInstaller
+    substituteInPlace MathInstaller \
+      --replace /etc/udev/rules.d $out/lib/udev/rules.d
+
+    # Remove PATH restriction, root and avahi daemon checks, and hostname call
+    sed -i '
+      s/^PATH=/# &/
+      s/isRoot="false"/# &/
+      s/^checkAvahiDaemon$/# &/
+      s/`hostname`/""/
+    ' MathInstaller
+
+    # NOTE: some files placed under HOME may be useful
+    XDG_DATA_HOME="$out/share" HOME="$TMPDIR/home" vernierLink=y \
+      ./MathInstaller -execdir="$out/bin" -targetdir="$out/libexec/Mathematica" -auto -verbose -createdir=y
+
+    # Check if MathInstaller produced any errors
+    errLog="$out/libexec/Mathematica/InstallErrors"
+    if [ -f "$errLog" ]; then
+      echo "Installation errors:"
+      cat "$errLog"
+      return 1
+    fi
+
+    runHook postInstall
   '';
 
   preFixup = ''
-    echo "=== PatchElfing away ==="
-    # This code should be a bit forgiving of errors, unfortunately
-    set +e
-    find $out/libexec/Mathematica/SystemFiles -type f -perm -0100 | while read f; do
-      type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/')
-      if [ -z "$type" ]; then
-        :
-      elif [ "$type" == "EXEC" ]; then
-        echo "patching $f executable <<"
-        patchelf --shrink-rpath "$f"
-        patchelf \
-    --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
-          "$f" \
-          && patchelf --shrink-rpath "$f" \
-          || echo unable to patch ... ignoring 1>&2
-      elif [ "$type" == "DYN" ]; then
-        echo "patching $f library <<"
-        patchelf \
-          --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
-          "$f" \
-          && patchelf --shrink-rpath "$f" \
-          || echo unable to patch ... ignoring 1>&2
-      else
-        echo "not patching $f <<: unknown elf type"
-      fi
+    for bin in $out/libexec/Mathematica/Executables/*; do
+      wrapProgram "$bin" ''${wrapProgramFlags[@]}
     done
   '';
 
+  dontConfigure = true;
   dontBuild = true;
 
-  # This is primarily an IO bound build; there's little benefit to building remotely.
+  # This is primarily an IO bound build; there's little benefit to building remotely
   preferLocalBuild = true;
 
-  # all binaries are already stripped
+  # All binaries are already stripped
   dontStrip = true;
 
-  # we did this in prefixup already
-  dontPatchELF = true;
+  # NOTE: Some deps are still not found; ignore for now
+  autoPatchelfIgnoreMissingDeps = true;
 
   meta = with lib; {
     description = "Wolfram Mathematica computational software system";
diff --git a/nixpkgs/pkgs/applications/science/math/mathematica/l10ns.nix b/nixpkgs/pkgs/applications/science/math/mathematica/l10ns.nix
index 474c8d1ea060..60841eaa3ee2 100644
--- a/nixpkgs/pkgs/applications/science/math/mathematica/l10ns.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/pari/default.nix b/nixpkgs/pkgs/applications/science/math/pari/default.nix
index 4ba1d5c6b474..a9c002d210f2 100644
--- a/nixpkgs/pkgs/applications/science/math/pari/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/pari/default.nix
@@ -82,6 +82,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ ertes AndersonTorres ] ++ teams.sage.members;
     platforms = platforms.linux ++ platforms.darwin;
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/polymake/default.nix b/nixpkgs/pkgs/applications/science/math/polymake/default.nix
index f4f6366465b8..d132a98dcb9a 100644
--- a/nixpkgs/pkgs/applications/science/math/polymake/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/ratpoints/default.nix b/nixpkgs/pkgs/applications/science/math/ratpoints/default.nix
index ec5d9ef366f8..dd8258a3456d 100644
--- a/nixpkgs/pkgs/applications/science/math/ratpoints/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/ratpoints/default.nix
@@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.unix;
     homepage = "http://www.mathe2.uni-bayreuth.de/stoll/programs/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/rofi-calc/default.nix b/nixpkgs/pkgs/applications/science/math/rofi-calc/default.nix
index 22d1c92e1ec3..78943457d3b2 100644
--- a/nixpkgs/pkgs/applications/science/math/rofi-calc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/sage/default.nix b/nixpkgs/pkgs/applications/science/math/sage/default.nix
index e9dae55fbae3..2066087692a0 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/default.nix
@@ -14,13 +14,17 @@ let
       # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies
       sagelib = self.callPackage ./sagelib.nix {
         inherit flint arb;
-        inherit sage-src env-locations pynac singular;
+        inherit sage-src env-locations singular;
         inherit (maxima) lisp-compiler;
         linbox = pkgs.linbox.override { withSage = true; };
         pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
       };
 
-      sage_docbuild = self.callPackage ./sage_docbuild.nix {
+      sage-docbuild = self.callPackage ./python-modules/sage-docbuild.nix {
+        inherit sage-src;
+      };
+
+      sage-setup = self.callPackage ./python-modules/sage-setup.nix {
         inherit sage-src;
       };
     };
@@ -58,9 +62,9 @@ let
   # the env-locations file.
   sage-env = callPackage ./sage-env.nix {
     sagelib = python3.pkgs.sagelib;
-    sage_docbuild = python3.pkgs.sage_docbuild;
+    sage-docbuild = python3.pkgs.sage-docbuild;
     inherit env-locations;
-    inherit python3 singular palp flint pynac pythonEnv maxima;
+    inherit python3 singular palp flint pythonEnv maxima;
     pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
   };
 
@@ -74,7 +78,7 @@ let
   sage-with-env = callPackage ./sage-with-env.nix {
     inherit python3 pythonEnv;
     inherit sage-env;
-    inherit pynac singular maxima;
+    inherit singular maxima;
     inherit three;
     pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
   };
@@ -91,7 +95,7 @@ let
 
   pythonRuntimeDeps = with python3.pkgs; [
     sagelib
-    sage_docbuild
+    sage-docbuild
     cvxopt
     networkx
     service-identity
@@ -132,9 +136,6 @@ let
     };
   };
 
-  # *not* to confuse with the python package "pynac"
-  pynac = pkgs.pynac.override { inherit singular flint; };
-
   # With openblas (64 bit), the tests fail the same way as when sage is build with
   # openblas instead of openblasCompat. Apparently other packages somehow use flints
   # blas when it is available. Alternative would be to override flint to use
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-external-software-when-all-of-sage-is.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-external-software-when-all-of-sage-is.patch
new file mode 100644
index 000000000000..a478f50d92e8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-external-software-when-all-of-sage-is.patch
@@ -0,0 +1,46 @@
+diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
+index 01f32fb8e4..4d83dc7b47 100644
+--- a/src/sage/doctest/control.py
++++ b/src/sage/doctest/control.py
+@@ -1253,6 +1253,7 @@ class DocTestController(SageObject):
+ 
+             self.log("Using --optional=" + self._optional_tags_string())
+             available_software._allow_external = self.options.optional is True or 'external' in self.options.optional
++            available_software._autodetect_safe = self.options.optional is True or 'sage' in self.options.optional
+             self.log("Features to be detected: " + ','.join(available_software.detectable()))
+             self.add_files()
+             self.expand_files_into_sources()
+diff --git a/src/sage/doctest/external.py b/src/sage/doctest/external.py
+index 84dae19ea5..badc61466e 100644
+--- a/src/sage/doctest/external.py
++++ b/src/sage/doctest/external.py
+@@ -409,6 +409,7 @@ class AvailableSoftware(object):
+             []
+         """
+         self._allow_external = True
++        self._autodetect_safe = True
+         # For multiprocessing of doctests, the data self._seen should be
+         # shared among subprocesses. Thus we use Array class from the
+         # multiprocessing module.
+@@ -430,6 +431,8 @@ class AvailableSoftware(object):
+             sage: 'internet' in available_software # random, optional - internet
+             True
+         """
++        if not self._autodetect_safe:
++            return False
+         try:
+             idx = self._indices[item]
+         except KeyError:
+diff --git a/src/sage/features/sagemath.py b/src/sage/features/sagemath.py
+index 433338766d..233623b14a 100644
+--- a/src/sage/features/sagemath.py
++++ b/src/sage/features/sagemath.py
+@@ -12,7 +12,7 @@ class sagemath_doc_html(StaticFile):
+ 
+     EXAMPLES::
+ 
+-        sage: from sage.features.sagemath import sagemath_doc_html
++        sage: from sage.features.sagemath import sagemath_doc_html  # optional - sagemath_doc_html
+         sage: sagemath_doc_html().is_present()  # optional - sagemath_doc_html
+         FeatureTestResult('sagemath_doc_html', True)
+     """
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
deleted file mode 100644
index d5c19a54fd96..000000000000
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f5ea42a7aaed7611fb55b65897b9fcf2b7bcf97e Mon Sep 17 00:00:00 2001
-From: Timo Kaufmann <timokau@zoho.com>
-Date: Sun, 21 Oct 2018 17:52:40 +0200
-Subject: [PATCH] Only test py2/py3 optional tests when all of sage is tested
-
----
- src/sage/doctest/control.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
-index 2d93841e50..6d156e29a1 100644
---- a/src/sage/doctest/control.py
-+++ b/src/sage/doctest/control.py
-@@ -375,7 +375,8 @@ class DocTestController(SageObject):
-                     if not optionaltag_regex.search(o):
-                         raise ValueError('invalid optional tag {!r}'.format(o))
- 
--                options.optional |= auto_optional_tags
-+                if "sage" in options.optional:
-+                    options.optional |= auto_optional_tags
- 
-         self.options = options
- 
--- 
-2.28.0
-
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
index 178cef3e54ea..90a23f94cb5f 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
@@ -1,8 +1,8 @@
 diff --git a/src/sage/env.py b/src/sage/env.py
-index 95980cc2df..37107a30e1 100644
+index c4953cfa65..47b880f9ad 100644
 --- a/src/sage/env.py
 +++ b/src/sage/env.py
-@@ -227,93 +227,12 @@ OPENMP_CXXFLAGS = var("OPENMP_CXXFLAGS", "")
+@@ -244,81 +244,8 @@ os.environ['MPMATH_SAGE'] = '1'
  SAGE_BANNER = var("SAGE_BANNER", "")
  SAGE_IMPORTALL = var("SAGE_IMPORTALL", "yes")
  
@@ -29,20 +29,12 @@ index 95980cc2df..37107a30e1 100644
 -
 -    EXAMPLES::
 -
--        sage: import sys
--        sage: from fnmatch import fnmatch
 -        sage: from sage.env import _get_shared_lib_path
--        sage: lib_filename = _get_shared_lib_path("Singular", "singular-Singular")
--        sage: if sys.platform == 'cygwin':
--        ....:     pattern = "*/cygSingular-*.dll"
--        ....: elif sys.platform == 'darwin':
--        ....:     pattern = "*/libSingular-*.dylib"
--        ....: else:
--        ....:     pattern = "*/lib*Singular-*.so"
--        sage: fnmatch(str(lib_filename), pattern)
+-        sage: "gap" in _get_shared_lib_path("gap")
 -        True
 -        sage: _get_shared_lib_path("an_absurd_lib") is None
 -        True
+-
 -    """
 -
 -    for libname in libnames:
@@ -87,11 +79,6 @@ index 95980cc2df..37107a30e1 100644
 -    # Just return None if no files were found
 -    return None
 -
- # locate singular shared object
- # On Debian it's libsingular-Singular so try that as well
--SINGULAR_SO = var("SINGULAR_SO", _get_shared_lib_path("Singular", "singular-Singular"))
-+SINGULAR_SO = var("SINGULAR_SO", '/default')
- 
  # locate libgap shared object
 -GAP_SO = var("GAP_SO", _get_shared_lib_path("gap", ""))
 +GAP_SO = var("GAP_SO", '/default')
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/fonttools-deprecation-warnings.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/fonttools-deprecation-warnings.patch
deleted file mode 100644
index 93c03a04ddb1..000000000000
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/fonttools-deprecation-warnings.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/doc/en/prep/Advanced-2DPlotting.rst b/src/doc/en/prep/Advanced-2DPlotting.rst
-index 337457afef..f7c76f4b56 100644
---- a/src/doc/en/prep/Advanced-2DPlotting.rst
-+++ b/src/doc/en/prep/Advanced-2DPlotting.rst
-@@ -695,6 +695,8 @@ by the cells.
- 
-     sage: pdf_savename = name+'.pdf'
-     sage: p.save(pdf_savename)
-+    ...
-+    DeprecationWarning: The py23 module has been deprecated and will be removed in a future release. Please update your code.
- 
- Notably, we can export in formats ready for inclusion in web pages.
- 
-diff --git a/src/sage/plot/disk.py b/src/sage/plot/disk.py
-index 8680a1c9b1..e83763b678 100644
---- a/src/sage/plot/disk.py
-+++ b/src/sage/plot/disk.py
-@@ -156,6 +156,8 @@ class Disk(GraphicPrimitive):
-             sage: f = tmp_filename(ext='.pdf')
-             sage: p = disk((0,0), 5, (0, pi/4), alpha=0.5)
-             sage: p.save(f)
-+            ...
-+            DeprecationWarning: The py23 module has been deprecated and will be removed in a future release. Please update your code.
- 
-         """
-         import matplotlib.patches as patches
-diff --git a/src/sage/plot/text.py b/src/sage/plot/text.py
-index 04cbdedf76..a970f97b79 100644
---- a/src/sage/plot/text.py
-+++ b/src/sage/plot/text.py
-@@ -325,6 +325,8 @@ def text(string, xy, **options):
-     You can save text as part of PDF output::
- 
-         sage: text("sage", (0,0), rgbcolor=(0,0,0)).save(os.path.join(SAGE_TMP, 'a.pdf'))
-+        ...
-+        DeprecationWarning: The py23 module has been deprecated and will be removed in a future release. Please update your code.
- 
-     Some examples of bounding box::
- 
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch
new file mode 100644
index 000000000000..91e080aa294a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch
@@ -0,0 +1,58 @@
+diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd
+index 7794c9edc3..1753277b1f 100644
+--- a/src/sage/libs/linbox/conversion.pxd
++++ b/src/sage/libs/linbox/conversion.pxd
+@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in
+     - v -- linbox vector
+     """
+     cdef Vector_integer_dense res = P()
+-    cdef cppvector[Integer] * vec = &v.refRep()
+     cdef size_t i
+     for i in range(<size_t> res._degree):
+-        mpz_set(res._entries[i], vec[0][i].get_mpz_const())
++        mpz_set(res._entries[i], v.getEntry(i).get_mpz_const())
+ 
+     return res
+diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd
+index 9112d151f8..dcc482960c 100644
+--- a/src/sage/libs/linbox/linbox.pxd
++++ b/src/sage/libs/linbox/linbox.pxd
+@@ -32,7 +32,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
+         ctypedef Modular_double Field
+         ctypedef double Element
+         DenseMatrix_Modular_double(Field F, size_t m, size_t n)
+-        DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n)
++        DenseMatrix_Modular_double(Field F, size_t m, size_t n, Element*)
+         void setEntry(size_t i, size_t j, Element& a)
+         Element &getEntry(size_t i, size_t j)
+ 
+@@ -42,7 +42,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
+         ctypedef Modular_float Field
+         ctypedef float Element
+         DenseMatrix_Modular_float(Field F, size_t m, size_t n)
+-        DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n)
++        DenseMatrix_Modular_float(Field F, size_t m, size_t n, Element*)
+         void setEntry(size_t i, size_t j, Element& a)
+         Element &getEntry(size_t i, size_t j)
+ 
+@@ -101,7 +101,6 @@ cdef extern from "linbox/vector/vector.h":
+         DenseVector_integer (Field &F)
+         DenseVector_integer (Field &F, long& m)
+         DenseVector_integer (Field &F, cppvector[Integer]&)
+-        cppvector[Element]& refRep()
+         size_t size()
+         void resize(size_t)
+         void resize(size_t n, const Element&)
+diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi
+index 010365d76f..3d60726ff9 100644
+--- a/src/sage/matrix/matrix_modn_dense_template.pxi
++++ b/src/sage/matrix/matrix_modn_dense_template.pxi
+@@ -219,7 +219,7 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_
+         return 0,[]
+ 
+     cdef ModField *F = new ModField(<long>modulus)
+-    cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols)
++    cdef DenseMatrix *A = new DenseMatrix(F[0], <Py_ssize_t>nrows, <Py_ssize_t>ncols, <ModField.Element*>entries)
+     cdef Py_ssize_t r = reducedRowEchelonize(A[0])
+     cdef Py_ssize_t i,j
+     for i in range(nrows):
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch
new file mode 100644
index 000000000000..871e494c3625
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
index 3c64be100d25..1ff081b25e0f 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
@@ -1,8 +1,8 @@
 diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py
-index 79005b903a..fbe6fe2595 100644
+index 8a5c1a19d2..21fd192642 100644
 --- a/src/sage_docbuild/__init__.py
 +++ b/src/sage_docbuild/__init__.py
-@@ -85,27 +85,6 @@ def builder_helper(type):
+@@ -89,27 +89,6 @@ def builder_helper(type):
      """
      Returns a function which builds the documentation for
      output type ``type``.
@@ -12,7 +12,7 @@ index 79005b903a..fbe6fe2595 100644
 -    Check that :trac:`25161` has been resolved::
 -
 -        sage: from sage_docbuild import DocBuilder, setup_parser
--        sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set
+-        sage: DocBuilder._options = setup_parser().parse_args([]) # builder_helper needs _options to be set
 -
 -        sage: import sage_docbuild.sphinxbuild
 -        sage: def raiseBaseException():
@@ -30,7 +30,7 @@ index 79005b903a..fbe6fe2595 100644
      """
      def f(self, *args, **kwds):
          output_dir = self._output_dir(type)
-@@ -127,10 +106,9 @@ def builder_helper(type):
+@@ -131,10 +110,9 @@ def builder_helper(type):
          logger.debug(build_command)
  
          # Run Sphinx with Sage's special logger
@@ -44,10 +44,10 @@ index 79005b903a..fbe6fe2595 100644
              if ABORT_ON_ERROR:
                  raise
 diff --git a/src/sage_docbuild/sphinxbuild.py b/src/sage_docbuild/sphinxbuild.py
-index f58f6c61d7..ef51a55411 100644
+index d917c3e9d4..551cc8028a 100644
 --- a/src/sage_docbuild/sphinxbuild.py
 +++ b/src/sage_docbuild/sphinxbuild.py
-@@ -326,3 +326,8 @@ def runsphinx():
+@@ -327,3 +327,8 @@ def runsphinx():
          sys.stderr = saved_stderr
          sys.stdout.flush()
          sys.stderr.flush()
diff --git a/nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix b/nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix
new file mode 100644
index 000000000000..1766cec3e35d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-docbuild.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, sage-src
+, sphinx
+}:
+
+buildPythonPackage rec {
+  version = src.version;
+  pname = "sage-docbuild";
+  src = sage-src;
+
+  propagatedBuildInputs = [
+    sphinx
+  ];
+
+  preBuild = ''
+    cd pkgs/sage-docbuild
+  '';
+
+  doCheck = false; # we will run tests in sagedoc.nix
+
+  meta = with lib; {
+    description = "Build system of the Sage documentation";
+    homepage = "https://www.sagemath.org";
+    license = licenses.gpl2Plus;
+    maintainers = teams.sage.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-setup.nix b/nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-setup.nix
new file mode 100644
index 000000000000..50346153123d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/python-modules/sage-setup.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, sage-src
+, pkgconfig # the python module, not the pkg-config alias
+}:
+
+buildPythonPackage rec {
+  version = src.version;
+  pname = "sage-setup";
+  src = sage-src;
+
+  buildInputs = [
+    pkgconfig
+  ];
+
+  preBuild = ''
+    cd pkgs/sage-setup
+  '';
+
+  doCheck = false; # sagelib depends on sage-setup, but sage-setup's tests depend on sagelib
+
+  meta = with lib; {
+    description = "Build system of the Sage library";
+    homepage = "https://www.sagemath.org";
+    license = licenses.gpl2Plus;
+    maintainers = teams.sage.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
index ae0b9f7453b5..e680c0c3b22d 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
@@ -2,7 +2,7 @@
 , lib
 , writeTextFile
 , sagelib
-, sage_docbuild
+, sage-docbuild
 , env-locations
 , gfortran
 , bash
@@ -45,11 +45,10 @@
 , flint
 , gmp
 , mpfr
-, pynac
 , zlib
 , gsl
 , ntl
-, jdk8
+, jdk
 , less
 }:
 
@@ -60,8 +59,6 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 # dependencies.
 
 let
-  jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-
   runtimepath = (lib.makeBinPath ([
     "@sage-local@"
     "@sage-local@/build"
@@ -163,7 +160,6 @@ writeTextFile rec {
         gmp
         mpfr
         pari
-        pynac
         zlib
         eclib
         gsl
@@ -179,7 +175,6 @@ writeTextFile rec {
         glpk
         flint
         gap
-        pynac
         mpfr.dev
       ])
     }'
@@ -193,5 +188,5 @@ writeTextFile rec {
   '';
 } // { # equivalent of `passthru`, which `writeTextFile` doesn't support
   lib = sagelib;
-  docbuild = sage_docbuild;
+  docbuild = sage-docbuild;
 }
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
index eb07434b4cc0..73a5881d2142 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
@@ -57,24 +57,29 @@ let
   );
 in
 stdenv.mkDerivation rec {
-  version = "9.4";
+  version = "9.5";
   pname = "sage-src";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "sha256-jqkr4meG02KbTCMsGvyr1UbosS4ZuUJhPXU/InuS+9A=";
+    sha256 = "sha256-uOsLpsGpcIGs8Xr82X82MElnTB2E908gytyNJ8WVD5w=";
   };
 
   # Patches needed because of particularities of nix or the way this is packaged.
   # The goal is to upstream all of them and get rid of this list.
   nixPatches = [
-    # Make sure py2/py3 tests are only run when their expected context (all "sage"
-    # tests) are also run. That is necessary to test dochtml individually. See
-    # https://trac.sagemath.org/ticket/26110 for an upstream discussion.
-    # TODO: Determine if it is still necessary.
-    ./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
+    # Since https://trac.sagemath.org/ticket/32174, some external features are
+    # marked as "safe" and get auto-detected, in which case the corresponding
+    # optional tests are executed. We disable auto-detection of safe features if
+    # we are doctesting with an "--optional" argument which does not include
+    # "sage", because tests from autodetected features expect context provided
+    # by running basic sage tests. This is necessary to test sagemath_doc_html
+    # separately. See https://trac.sagemath.org/ticket/26110 for a related
+    # upstream discussion (from the time when Sage still had optional py2/py3
+    # tags).
+    ./patches/Only-test-external-software-when-all-of-sage-is.patch
 
     # Fixes a potential race condition which can lead to transient doctest failures.
     ./patches/fix-ecl-race.patch
@@ -109,60 +114,46 @@ stdenv.mkDerivation rec {
     # strictly necessary, but keeps us from littering in the user's HOME.
     ./patches/sympow-cache.patch
 
-    # fonttools 4.26.2, used by matplotlib, uses deprecated methods internally.
-    # This is fixed in fonttools 4.27.0, but since fonttools is a dependency of
-    # 2000+ packages and DeprecationWarnings are hidden almost everywhere by
-    # default (not on Sage's doctest harness, though), it doesn't make sense to
-    # backport the fix (see https://github.com/NixOS/nixpkgs/pull/151415).
-    # Let's just assume warnings are expected until we update to 4.27.0.
-    ./patches/fonttools-deprecation-warnings.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/32305
-    (fetchSageDiff {
-      base = "9.4";
-      name = "networkx-2.6-upgrade.patch";
-      rev = "9808325853ba9eb035115e5b056305a1c9d362a0";
-      sha256 = "sha256-gJSqycCtbAVr5qnVEbHFUvIuTOvaxFIeffpzd6nH4DE=";
-    })
-
-    # https://trac.sagemath.org/ticket/32420
-    (fetchSageDiff {
-      base = "9.5.beta2";
-      name = "sympy-1.9-update.patch";
-      rev = "beed4e16aff32e47d0c3b1c58cb1e2f4c38590f8";
-      sha256 = "sha256-3eJPfWfCrCAQ5filIn7FbzjRQeO9QyTIVl/HyRuqFtE=";
-    })
-
-    # https://trac.sagemath.org/ticket/32567
-    (fetchSageDiff {
-      base = "9.5.beta2";
-      name = "arb-2.21.0-update.patch";
-      rev = "eb3304dd521a3d5a9334e747a08e234bbf16b4eb";
-      sha256 = "sha256-XDkaY4VQGyESXI6zuD7nCNzyQOl/fmBFvAESH9+RRvk=";
-    })
-
-    # https://trac.sagemath.org/ticket/32797
+    # https://trac.sagemath.org/ticket/32968
     (fetchSageDiff {
-      base = "9.5.beta7";
-      name = "pari-2.13.3-update.patch";
-      rev = "f5f7a86908daf60b25e66e6a189c51ada7e0a732";
-      sha256 = "sha256-H/caGx3q4KcdsyGe+ojV9bUTQ5y0siqM+QHgDbeEnbw=";
+      base = "9.5";
+      name = "sphinx-4.3-update.patch";
+      rev = "fc84f82f52b6f05f512cb359ec7c100f93cf8841";
+      sha256 = "sha256-bBbfdcnw/9LUOlY8rHJRbFJEdMXK4shosqTNaobTS1Q=";
     })
 
-    # https://trac.sagemath.org/ticket/32909
+    # https://trac.sagemath.org/ticket/33189
     (fetchSageDiff {
-      base = "9.5.beta7";
-      name = "matplotlib-3.5-deprecation-warnings.patch";
-      rev = "a5127dc56fdf5c2e82f6bc781cfe78dbd04e97b7";
-      sha256 = "sha256-p23qUu9mgEUbdbX6cy7ArxZAtpcFjCKbgyxN4jWvj1o=";
+      base = "9.5";
+      name = "arb-2.22-update.patch";
+      rev = "53532ddd4e2dc92469c1590ebf0c40f8f69bf579";
+      sha256 = "sha256-6SoSBvIlqvNwZV3jTB6uPdUtaWIOeNmddi2poK/WvGs=";
     })
 
-    # https://trac.sagemath.org/ticket/32968
+    # 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.beta8";
-      name = "sphinx-4.3-update.patch";
-      rev = "fc84f82f52b6f05f512cb359ec7c100f93cf8841";
-      sha256 = "sha256-bBbfdcnw/9LUOlY8rHJRbFJEdMXK4shosqTNaobTS1Q=";
+      base = "9.5";
+      name = "sphinx-4.4-warnings.patch";
+      rev = "97d7958bed441cf2ccc714d88f83d3a8426bc085";
+      sha256 = "sha256-y1STE0oxswnijGCsBw8eHWWqpmT1XMznIfA0vvX9pFA=";
     })
   ];
 
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix
index b74ec4007e62..df3a1467d53c 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix
@@ -18,7 +18,6 @@
 , eclib
 , ntl
 , ecm
-, pynac
 , pythonEnv
 }:
 
@@ -36,7 +35,6 @@ let
     blas lapack
     singular
     three
-    pynac
     giac
     gap
     pari
@@ -126,6 +124,10 @@ stdenv.mkDerivation rec {
     cp -r src/bin "$out/bin"
     cp -r build/bin "$out/build/bin"
 
+    # sage assumes the existence of sage-src-env-config.in means it's being executed in-tree. in this case, it
+    # adds SAGE_SRC/bin to PATH, breaking our wrappers
+    rm "$out/bin"/*.in "$out/build/bin"/*.in
+
     cp -f '${sage-env}/sage-env' "$out/bin/sage-env"
     substituteInPlace "$out/bin/sage-env" \
       --subst-var-by sage-local "$out"
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage.nix b/nixpkgs/pkgs/applications/science/math/sage/sage.nix
index 106f9eea3097..5805a5c7b0c7 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage.nix
@@ -62,7 +62,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab";
-    license = licenses.gpl2;
+    homepage = "https://www.sagemath.org";
+    license = licenses.gpl2Plus;
     maintainers = teams.sage.members;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage_docbuild.nix b/nixpkgs/pkgs/applications/science/math/sage/sage_docbuild.nix
deleted file mode 100644
index ed78d46b4451..000000000000
--- a/nixpkgs/pkgs/applications/science/math/sage/sage_docbuild.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ buildPythonPackage
-, sage-src
-, sphinx
-}:
-
-buildPythonPackage rec {
-  version = src.version;
-  pname = "sage_docbuild";
-  src = sage-src;
-
-  propagatedBuildInputs = [
-    sphinx
-  ];
-
-  preBuild = ''
-    cd build/pkgs/sage_docbuild/src
-  '';
-
-  doCheck = false; # we will run tests in sagedoc.nix
-}
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sagedoc.nix b/nixpkgs/pkgs/applications/science/math/sage/sagedoc.nix
index 6016b3baeb48..489fc2edfe55 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sagedoc.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sagedoc.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     jmol
     cddlib
   ] ++ (with python3.pkgs; [
-    sage_docbuild
+    sage-docbuild
     psutil
     future
     sphinx
@@ -83,6 +83,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
   checkPhase = ''
-    ${sage-with-env}/bin/sage -t --optional=dochtml --all
+    ${sage-with-env}/bin/sage -t --optional=sagemath_doc_html --all
   '';
 }
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix b/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
index a884ad8899d4..8d685c8da60f 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sagelib.nix
@@ -2,6 +2,7 @@
 , env-locations
 , perl
 , buildPythonPackage
+, m4
 , arb
 , blas
 , lapack
@@ -37,7 +38,7 @@
 , pkg-config
 , planarity
 , ppl
-, pynac
+, primecountpy
 , python
 , ratpoints
 , readline
@@ -49,11 +50,24 @@
 , singular
 , pip
 , jupyter_core
+, sage-setup
 , libhomfly
 , libbraiding
 , gmpy2
 , pplpy
 , sqlite
+, jupyter-client
+, ipywidgets
+, mpmath
+, rpy2
+, fpylll
+, scipy
+, sympy
+, matplotlib
+, pillow
+, ipykernel
+, networkx
+, sphinx # TODO: this is in setup.cfg, bug should we override it?
 }:
 
 assert (!blas.isILP64) && (!lapack.isILP64);
@@ -73,8 +87,10 @@ buildPythonPackage rec {
     perl
     jupyter_core
     pkg-config
+    sage-setup
     pip # needed to query installed packages
     lisp-compiler
+    m4
   ];
 
   buildInputs = [
@@ -116,7 +132,7 @@ buildPythonPackage rec {
     pari
     planarity
     ppl
-    pynac
+    primecountpy
     rankwidth
     ratpoints
     singular
@@ -130,6 +146,18 @@ buildPythonPackage rec {
     gmpy2
     pplpy
     sqlite
+    mpmath
+    rpy2
+    scipy
+    sympy
+    matplotlib
+    pillow
+    ipykernel
+    fpylll
+    networkx
+    jupyter-client
+    ipywidgets
+    sphinx
   ];
 
   preBuild = ''
@@ -148,8 +176,24 @@ buildPythonPackage rec {
     mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
     mkdir -p "var/lib/sage/installed"
 
-    # src/setup.py should not be used, see https://trac.sagemath.org/ticket/31377#comment:124
-    cd build/pkgs/sagelib/src
+    cd build/pkgs/sagelib
+
+    # some files, like Pipfile, pyproject.toml, requirements.txt and setup.cfg
+    # are generated by the bootstrap script using m4. these can fetch data from
+    # build/pkgs, either directly or via sage-get-system-packages.
+    sed -i 's/==2.1.0rc1/>=2.1.1/' ../gmpy2/install-requires.txt
+    sed -i 's/, <3.4//' ../rpy2/install-requires.txt
+    sed -i 's/, <4.3//' ../sphinx/install-requires.txt
+    sed -i '/sage_conf/d' src/setup.cfg.m4
+    sed -i '/sage_conf/d' src/requirements.txt.m4
+    for infile in src/*.m4; do
+        if [ -f "$infile" ]; then
+            outfile="src/$(basename $infile .m4)"
+            m4 "$infile" > "$outfile"
+        fi
+    done
+
+    cd src
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix b/nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix
index 5dea2c7653aa..18dba2952cad 100644
--- a/nixpkgs/pkgs/applications/science/math/scilab-bin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/math/singular/default.nix b/nixpkgs/pkgs/applications/science/math/singular/default.nix
index b543252e8712..23712061160e 100644
--- a/nixpkgs/pkgs/applications/science/math/singular/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/singular/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, gmp, bison, perl, ncurses, readline, coreutils, pkg-config
 , lib
-, fetchpatch
 , autoreconfHook
+, buildPackages
 , sharutils
 , file
 , flint
@@ -11,6 +11,7 @@
 , lrcalc
 , doxygen
 , graphviz
+, latex2html
 # upstream generates docs with texinfo 4. later versions of texinfo
 # use letters instead of numbers for post-appendix chapters, and we
 # want it to match the upstream format because sage depends on it.
@@ -22,66 +23,25 @@
 
 stdenv.mkDerivation rec {
   pname = "singular";
-  version = "4.2.0p2";
+  version = "4.3.0";
 
-  # since the tarball does not contain tests or documentation (and
-  # there is no separate tests tarball for 4.2.0), we fetch from
-  # GitHub.
+  # since the tarball does not contain tests, we fetch from GitHub.
   src = fetchFromGitHub {
     owner = "Singular";
     repo = "Singular";
 
-    # 4.2.0p2 is not tagged, but the tarball matches the commit below.
-    rev = "6f68939ddf612d96e3caaaaa8275f77613ac1da8";
-    sha256 = "sha256-BJNzYylzDqD/5YjzjxPRb/c96tYiuGy9Y+A7qf3ZSG8=";
-
-    # if a release is tagged it will be in the format below.
-    # rev = "Release${lib.replaceStrings ["."] ["-"] version}";
+    # if a release is tagged (which sometimes does not happen), it will
+    # be in the format below.
+    # rev = "Release-${lib.replaceStrings ["."] ["-"] version}";
+    rev = "d895b0f1f543c61eb03adddad20f08655a419d4e";
+    sha256 = "sha256-c5Qr6VUuPKjfw8fowjJJz3oGAyUwo/K0WeMvU5djzVA=";
 
     # the repository's .gitattributes file contains the lines "/Tst/
     # export-ignore" and "/doc/ export-ignore" so some directories are
-    # not included in the tarball downloaded by fetchzip. setting
-    # fetchSubmodules works around this by using fetchgit instead of
-    # fetchzip.
-    fetchSubmodules = true;
+    # not included in the tarball downloaded by fetchzip.
+    forceFetchGit = true;
   };
 
-  patches = [
-    # fix timeouts when docbuilding with >= 64 cpus
-    # https://github.com/Singular/Singular/issues/1117
-    ./vspace-MAX_PROCESS.patch
-
-    # add aarch64 support to cpu-check.m4. copied from redhat.
-    ./redhat-aarch64.patch
-
-    # the newest version of ax-prog-cc-for-build.m4 seems to trigger
-    # linker errors. see
-    # https://github.com/alsa-project/alsa-firmware/issues/3 for a
-    # related issue.
-    ./use-older-ax-prog-cc-for-build.patch
-
-    # https://github.com/Singular/Singular/issues/1086
-    (fetchpatch {
-      name = "schubert-lib-fails-with-too-many-cpus.patch";
-      url = "https://github.com/Singular/Singular/commit/3cda50c00a849455efa2502e56596955491a353a.patch";
-      sha256 = "sha256-fgYd+2vT32w5Ki8kKx6PfZn2e4QSJcYWOwEFXtc+lSA=";
-    })
-  ] ++ lib.optionals enableDocs [
-    # singular supports building without 4ti2, bertini, normaliz or
-    # topcom just fine, but the docbuilding does not skip manual pages
-    # tagged as depending on those binaries (probably a bug in
-    # doc2tex.pl::HandleLib, since it seems to ignore "-exclude"
-    # argumens). skip them manually.
-    ./disable-docs-for-optional-unpackaged-deps.patch
-
-    # fix some non-ascii characters in doc/decodegb.doc
-    (fetchpatch {
-      name = "decodegb-ascii.patch";
-      url = "https://github.com/Singular/Singular/commit/36966d9009de572ee4dbc487f3e5744098fe91be.patch";
-      sha256 = "sha256-9WcEov/oOQRC584ag6WVHFwY2aCjbM75HWyvZoEwppw=";
-    })
-  ];
-
   configureFlags = [
     "--with-ntl=${ntl}"
     "--disable-pyobject-module"
@@ -114,6 +74,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals enableGfanlib [
     cddlib
   ];
+
   nativeBuildInputs = [
     bison
     perl
@@ -123,9 +84,11 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals enableDocs [
     doxygen
     graphviz
+    latex2html
     texinfo4
     texlive.combined.scheme-small
   ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   preAutoreconf = ''
     find . -type f -readable -writable -exec sed \
@@ -137,21 +100,14 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = lib.optional stdenv.isi686 "stackprotector";
 
-  # The Makefile actually defaults to `make install` anyway
-  buildPhase = ''
-    # do nothing
-  '';
-
   doCheck = true; # very basic checks, does not test any libraries
 
   installPhase = ''
-    mkdir -p "$out"
-    cp -r Singular/LIB "$out/lib"
     make install
   '' + lib.optionalString enableDocs ''
-    # Sage uses singular.hlp (which is not in the tarball)
+    # Sage uses singular.info, which is not installed by default
     mkdir -p $out/share/info
-    cp doc/singular.hlp $out/share/info
+    cp doc/singular.info $out/share/info
   '' + ''
     # Make sure patchelf picks up the right libraries
     rm -rf libpolys factory resources omalloc Singular
@@ -211,5 +167,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
     homepage = "http://www.singular.uni-kl.de";
     downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/";
+    mainProgram = "Singular";
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/singular/disable-docs-for-optional-unpackaged-deps.patch b/nixpkgs/pkgs/applications/science/math/singular/disable-docs-for-optional-unpackaged-deps.patch
deleted file mode 100644
index 46d92922f3ce..000000000000
--- a/nixpkgs/pkgs/applications/science/math/singular/disable-docs-for-optional-unpackaged-deps.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-commit 9e8b044d982e132cf35a106a1cc0cf7e77b27f7c
-Author: Mauricio Collares <mauricio@collares.org>
-Date:   Thu Apr 15 20:33:21 2021 -0300
-
-    Disable manual sections using optional packages not yet in Nixpkgs
-
-        * normaliz.lib depends on normaliz.
-        * polymake.lib depends on topcom.
-        * recover.lib depends on bertini.
-        * sing4ti2.lib depends on 4ti2.
-        * tateProdCplxNegGrad.lib uses multigrading.lib, which depends on 4ti2.
-
-diff --git a/doc/singular.doc b/doc/singular.doc
-index 64b969d39..e704f95f0 100644
---- a/doc/singular.doc
-+++ b/doc/singular.doc
-@@ -407,7 +407,6 @@ LIB "all.lib";
- * nfmodsyz_lib:: Syzygy modules of submodules of free modules over algebraic number fields
- * noether_lib:: Noether normalization of an ideal
- * normal_lib:: procedure for normalization
--* normaliz_lib:: integral closure, normalization for monomial ideals, toric ideals
- * pointid_lib:: factorized lex GB of the vanishing ideal of a set of points
- * primdec_lib:: procedures for primary decomposition
- * primdecint_lib:: primary decomposition over the integers
-@@ -416,7 +415,6 @@ LIB "all.lib";
- * reesclos_lib:: Rees Algebra and integral closure of an ideal
- * rstandard_lib:: Janet bases and border bases for ideals
- * sagbi_lib:: Subalgebras bases Analogous to Groebner bases for ideals
--* sing4ti2_lib:: interface to program 4ti2
- * symodstd_lib:: Groebner bases for symmetric ideals
- * toric_lib:: toric ideals
- @end menu
-@@ -521,10 +519,6 @@ LIB "all.lib";
- @node normal_lib
- @subsection normal_lib
- @c lib normal.lib
--@c ---------------------------------------------------------
--@node normaliz_lib
--@subsection normaliz_lib
--@c lib normaliz.lib tag:normaliz
- @c ----------------------------------------------------------
- @node pointid_lib
- @subsection pointid_lib
-@@ -558,10 +552,6 @@ LIB "all.lib";
- @subsection sagbi_lib
- @c lib sagbi.lib
- @c ---------------------------------------------------------
--@node sing4ti2_lib
--@subsection sing4ti2_lib
--@c lib sing4ti2.lib tag:sing4ti2
--@c ----------------------------------------------------------
- @node symodstd_lib
- @subsection symodstd_lib
- @c lib symodstd.lib
-@@ -873,7 +863,6 @@ iniD, reslist, sumlist, dividelist, createlist
- * solve_lib:: procedures to solve polynomial systems
- * triang_lib:: procedures for decomposing zero-dimensional ideals
- * ntsolve_lib:: one real solution of polynomial systems (Newton iteration)
--* recover_lib:: Hybrid numerical/symbolical algorithms
- * rootisolation_lib:: real root isolation with intervals
- * signcond_lib:: computing realizable sign conditions
- * zeroset_lib:: procedures for roots and factorization
-@@ -904,10 +893,6 @@ iniD, reslist, sumlist, dividelist, createlist
- @subsection ntsolve_lib
- @c lib ntsolve.lib
- @c ---------------------------------------------------------
--@node recover_lib
--@subsection recover_lib
--@c lib recover.lib tag:bertini
--@c ----------------------------------------------------------
- @node rootisolation_lib
- @subsection rootisolation_lib
- @c lib rootisolation.lib
-@@ -1108,7 +1093,6 @@ but not for serious computations.
- * cimonom_lib:: complete intersection for toric ideals
- * gfan_lib:: A gfanlib interface for Singular
- * gitfan_lib:: Compute GIT-fans
--* polymake_lib:: interface to TOPCOM
- * realizationMatroids_lib:: Realizability for Tropical Fan Curves
- * tropical_lib:: interface to gfan
- * tropicalNewton_lib:: Newton polygons in tropical geometry
-@@ -1125,10 +1109,7 @@ but not for serious computations.
- @node gitfan_lib
- @subsection gitfan_lib
- @c lib gitfan.lib
--@c ----------------------------------------------------------
--@node polymake_lib
--@subsection polymake_lib
--@c lib polymake.lib tag:topcom
-+
- @c ----------------------------------------------------------
- @node realizationMatroids_lib
- @subsection realizationMatroids_lib
-@@ -1219,7 +1200,6 @@ Comments should be send to the author of the library directly.
- * stanleyreisner_lib:: T1 and T2 for a general Stanley-Reiser ring
- * swalk_lib:: Sagbi Walk Conversion Algorithm
- * systhreads_lib:: multi-threaded objects
--* tateProdCplxNegGrad_lib:: sheaf cohomology on product of projective spaces
- * VecField_lib:: vector fields
- @end menu
- @c ----------------------------------------------------------
-@@ -1310,10 +1290,6 @@ Todos/Issues:
- @subsection systhreads_lib
- @c lib systhreads.lib
- @c ---------------------------------------------------------
--@node tateProdCplxNegGrad_lib
--@subsection tateProdCplxNegGrad_lib
--@c lib tateProdCplxNegGrad.lib
--@c ---------------------------------------------------------
- @node VecField_lib
- @subsection VecField_lib
- @c lib VecField.lib
diff --git a/nixpkgs/pkgs/applications/science/math/singular/redhat-aarch64.patch b/nixpkgs/pkgs/applications/science/math/singular/redhat-aarch64.patch
deleted file mode 100644
index e0db6e87f994..000000000000
--- a/nixpkgs/pkgs/applications/science/math/singular/redhat-aarch64.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/m4/cpu-check.m4 b/m4/cpu-check.m4
-index 3cf0a7f08..12bb926ac 100644
---- a/m4/cpu-check.m4
-+++ b/m4/cpu-check.m4
-@@ -37,6 +37,18 @@ if test "$ac_cv_singcpuname" = ppc; then
-   AC_DEFINE(SI_CPU_PPC,1,"PPC")
-   AC_SUBST(SI_CPU_PPC)
- fi
-+if test "$ac_cv_singcpuname" = arm -o "$ac_cv_singcpuname" = armel; then
-+  AC_DEFINE(SI_CPU_ARM,1,"ARM")
-+  AC_SUBST(SI_CPU_ARM)
-+fi
-+if test "$ac_cv_singcpuname" = aarch64; then
-+  AC_DEFINE(SI_CPU_AARCH64,1,"AARCH64")
-+  AC_SUBST(SI_CPU_AARCH64)
-+fi
-+if test "$ac_cv_singcpuname" = s390; then
-+  AC_DEFINE(SI_CPU_S390,1,"S390")
-+  AC_SUBST(SI_CPU_S390)
-+fi
- 
- # UNAME and PATH
- AC_MSG_CHECKING(uname for Singular)
-@@ -65,6 +77,14 @@ dnl testet on: ppc_Linux, 740/750 PowerMac G3, 512k L2 cache
-   [powerpc*|ppc*], [AC_DEFINE(HAVE_GENERIC_MULT,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)],
- dnl the following settings seems to be better on arm processors
-   [arm*], [],
-+dnl FIXME: need to run some tests
-+  [aarch64*], [
-+            AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)
-+            AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)
-+            AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms)
-+            ],
-+dnl FIXME: need to run some tests
-+  [s390*], [AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)],
-   []
- )
- 
diff --git a/nixpkgs/pkgs/applications/science/math/singular/use-older-ax-prog-cc-for-build.patch b/nixpkgs/pkgs/applications/science/math/singular/use-older-ax-prog-cc-for-build.patch
deleted file mode 100644
index f664378617cf..000000000000
--- a/nixpkgs/pkgs/applications/science/math/singular/use-older-ax-prog-cc-for-build.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
-index f7410d74b..12cb005a5 100644
---- a/m4/ax_prog_cc_for_build.m4
-+++ b/m4/ax_prog_cc_for_build.m4
-@@ -32,35 +32,31 @@
- #   and this notice are preserved. This file is offered as-is, without any
- #   warranty.
- 
--#serial 18
-+#serial 9
- 
- AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
- AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_PROG_CPP])dnl
--AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+AC_REQUIRE([AC_EXEEXT])dnl
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl
- 
- dnl Use the standard macros, but make them use other variable names
- dnl
- pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
--pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
- pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
- pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
- pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
- pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
--pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
- pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
- pushdef([ac_cv_objext], ac_cv_build_objext)dnl
- pushdef([ac_exeext], ac_build_exeext)dnl
- pushdef([ac_objext], ac_build_objext)dnl
- pushdef([CC], CC_FOR_BUILD)dnl
- pushdef([CPP], CPP_FOR_BUILD)dnl
--pushdef([GCC], GCC_FOR_BUILD)dnl
- pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
- pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
--pushdef([EXEEXT], BUILD_EXEEXT)dnl
- pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
--pushdef([OBJEXT], BUILD_OBJEXT)dnl
- pushdef([host], build)dnl
- pushdef([host_alias], build_alias)dnl
- pushdef([host_cpu], build_cpu)dnl
-@@ -71,29 +67,27 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
- pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
- pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
- pushdef([ac_cv_host_os], ac_cv_build_os)dnl
--pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
--pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
--pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
--pushdef([cross_compiling], cross_compiling_build)dnl
-+pushdef([ac_cpp], ac_build_cpp)dnl
-+pushdef([ac_compile], ac_build_compile)dnl
-+pushdef([ac_link], ac_build_link)dnl
- 
--cross_compiling_build=no
-+save_cross_compiling=$cross_compiling
-+save_ac_tool_prefix=$ac_tool_prefix
-+cross_compiling=no
-+ac_tool_prefix=
- 
--ac_build_tool_prefix=
--AS_IF([test -n "$build"],      [ac_build_tool_prefix="$build-"],
--      [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
--
--AC_LANG_PUSH([C])
- AC_PROG_CC
--_AC_COMPILER_EXEEXT
--_AC_COMPILER_OBJEXT
- AC_PROG_CPP
-+AC_EXEEXT
-+
-+ac_tool_prefix=$save_ac_tool_prefix
-+cross_compiling=$save_cross_compiling
- 
- dnl Restore the old definitions
- dnl
--popdef([cross_compiling])dnl
--popdef([am_cv_prog_cc_c_o])dnl
--popdef([am_cv_CC_dependencies_compiler_type])dnl
--popdef([ac_tool_prefix])dnl
-+popdef([ac_link])dnl
-+popdef([ac_compile])dnl
-+popdef([ac_cpp])dnl
- popdef([ac_cv_host_os])dnl
- popdef([ac_cv_host_vendor])dnl
- popdef([ac_cv_host_cpu])dnl
-@@ -104,33 +98,25 @@ popdef([host_vendor])dnl
- popdef([host_cpu])dnl
- popdef([host_alias])dnl
- popdef([host])dnl
--popdef([OBJEXT])dnl
- popdef([LDFLAGS])dnl
--popdef([EXEEXT])dnl
- popdef([CPPFLAGS])dnl
- popdef([CFLAGS])dnl
--popdef([GCC])dnl
- popdef([CPP])dnl
- popdef([CC])dnl
- popdef([ac_objext])dnl
- popdef([ac_exeext])dnl
- popdef([ac_cv_objext])dnl
- popdef([ac_cv_exeext])dnl
--popdef([ac_cv_c_compiler_gnu])dnl
- popdef([ac_cv_prog_cc_g])dnl
- popdef([ac_cv_prog_cc_cross])dnl
- popdef([ac_cv_prog_cc_works])dnl
--popdef([ac_cv_prog_cc_c89])dnl
- popdef([ac_cv_prog_gcc])dnl
- popdef([ac_cv_prog_CPP])dnl
- 
--dnl restore global variables ac_ext, ac_cpp, ac_compile,
--dnl ac_link, ac_compiler_gnu (dependant on the current
--dnl language after popping):
--AC_LANG_POP([C])
--
- dnl Finally, set Makefile variables
- dnl
-+BUILD_EXEEXT=$ac_build_exeext
-+BUILD_OBJEXT=$ac_build_objext
- AC_SUBST(BUILD_EXEEXT)dnl
- AC_SUBST(BUILD_OBJEXT)dnl
- AC_SUBST([CFLAGS_FOR_BUILD])dnl
-diff --git a/m4/ax_prog_cxx_for_build.m4 b/m4/ax_prog_cxx_for_build.m4
-index 4d976769f..17c19a89f 100644
---- a/m4/ax_prog_cxx_for_build.m4
-+++ b/m4/ax_prog_cxx_for_build.m4
-@@ -31,7 +31,7 @@
- #   and this notice are preserved. This file is offered as-is, without any
- #   warranty.
- 
--#serial 4
-+#serial 3
- 
- AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD])
- AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl
-@@ -49,7 +49,6 @@ pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl
- pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl
- pushdef([CXX], CXX_FOR_BUILD)dnl
- pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl
--pushdef([GXX], GXX_FOR_BUILD)dnl
- pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl
- pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
- pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl
-@@ -63,25 +62,26 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
- pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
- pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
- pushdef([ac_cv_host_os], ac_cv_build_os)dnl
--pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
--pushdef([am_cv_CXX_dependencies_compiler_type], am_cv_build_CXX_dependencies_compiler_type)dnl
--pushdef([cross_compiling], cross_compiling_build)dnl
-+pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl
-+pushdef([ac_compile], ac_build_compile)dnl
-+pushdef([ac_link], ac_build_link)dnl
- 
--cross_compiling_build=no
-+save_cross_compiling=$cross_compiling
-+save_ac_tool_prefix=$ac_tool_prefix
-+cross_compiling=no
-+ac_tool_prefix=
- 
--ac_build_tool_prefix=
--AS_IF([test -n "$build"],      [ac_build_tool_prefix="$build-"],
--      [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
--
--AC_LANG_PUSH([C++])
- AC_PROG_CXX
- AC_PROG_CXXCPP
- 
-+ac_tool_prefix=$save_ac_tool_prefix
-+cross_compiling=$save_cross_compiling
-+
- dnl Restore the old definitions
- dnl
--popdef([cross_compiling])dnl
--popdef([am_cv_CXX_dependencies_compiler_type])dnl
--popdef([ac_tool_prefix])dnl
-+popdef([ac_link])dnl
-+popdef([ac_compile])dnl
-+popdef([ac_cxxcpp])dnl
- popdef([ac_cv_host_os])dnl
- popdef([ac_cv_host_vendor])dnl
- popdef([ac_cv_host_cpu])dnl
-@@ -103,10 +103,6 @@ popdef([ac_cv_prog_cxx_works])dnl
- popdef([ac_cv_prog_gxx])dnl
- popdef([ac_cv_prog_CXXCPP])dnl
- 
--dnl restore global variables (dependant on the current
--dnl language after popping):
--AC_LANG_POP([C++])
--
- dnl Finally, set Makefile variables
- dnl
- AC_SUBST([CXXFLAGS_FOR_BUILD])dnl
diff --git a/nixpkgs/pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch b/nixpkgs/pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch
deleted file mode 100644
index 78d658f926ee..000000000000
--- a/nixpkgs/pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/kernel/GBEngine/kChinese.cc b/kernel/GBEngine/kChinese.cc
-index 829a66609..84655caf2 100644
---- a/kernel/GBEngine/kChinese.cc
-+++ b/kernel/GBEngine/kChinese.cc
-@@ -209,6 +209,8 @@ ideal id_ChineseRemainder_0(ideal *xx, number *q, int rl, const ring r)
-     return NULL;
-   }
-   int cpus=(int)(long)feOptValue(FE_OPT_CPUS);
-+  if (cpus>=vspace::internals::MAX_PROCESS)
-+    cpus=vspace::internals::MAX_PROCESS-1;
-   if ((cpus==1) || (2*cpus>=cnt))
-     /* at least 2 polys for each process, or switch to seriell version */
-     return id_ChineseRemainder(xx,q,rl,r);
-@@ -295,6 +297,8 @@ ideal id_Farey_0(ideal x, number N, const ring r)
- {
-   int cnt=IDELEMS(x)*x->nrows;
-   int cpus=(int)(long)feOptValue(FE_OPT_CPUS);
-+  if (cpus>=vspace::internals::MAX_PROCESS)
-+    cpus=vspace::internals::MAX_PROCESS-1;
-   if (2*cpus>=cnt) /* at least 2 polys for each process, 
-                      or switch to seriell version */
-     return id_Farey(x,N,r);
-diff --git a/kernel/GBEngine/kverify.cc b/kernel/GBEngine/kverify.cc
-index 909d84994..aa06d6624 100644
---- a/kernel/GBEngine/kverify.cc
-+++ b/kernel/GBEngine/kverify.cc
-@@ -176,6 +176,8 @@ BOOLEAN kVerify2(ideal F, ideal Q)
-   /*---------------------------------------------------------------------*/
-   BOOLEAN all_okay=TRUE;
-   int cpus=(int)(long)feOptValue(FE_OPT_CPUS);
-+  if (cpus>=vspace::internals::MAX_PROCESS)
-+    cpus=vspace::internals::MAX_PROCESS-1;
-   int parent_pid=getpid();
-   using namespace vspace;
-   vmem_init();
diff --git a/nixpkgs/pkgs/applications/science/math/tilp2/default.nix b/nixpkgs/pkgs/applications/science/math/tilp2/default.nix
deleted file mode 100644
index ebcca69f0940..000000000000
--- a/nixpkgs/pkgs/applications/science/math/tilp2/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, fetchpatch
-, autoreconfHook
-, pkg-config
-, intltool
-, glib
-, gnome2
-, gtk2
-, gfm
-, libticables2
-, libticalcs2
-, libticonv
-, libtifiles2
-}:
-
-stdenv.mkDerivation rec {
-  pname = "tilp2";
-  version = "1.18";
-  src = fetchurl {
-    url = "mirror://sourceforge/tilp/${pname}-${version}.tar.bz2";
-    sha256 = "0isf73bjwk06baz2gm3vpdh600gqck9ca4aqxzb089dmxriv6fkv";
-  };
-
-  patches = fetchpatch {
-    name = "remove-broken-kde-support.patch";
-    url = "https://aur.archlinux.org/cgit/aur.git/plain/remove-broken-kde-support.patch?h=tilp";
-    sha256 = "1fn6vh7r45spkwpmkvffkbn7zrcsdrs5mjmspd5rwi3jc12cy3ny";
-  };
-
-  nativeBuildInputs = [
-    autoreconfHook
-    pkg-config
-    intltool
-  ];
-
-  buildInputs = [
-    glib
-    gtk2
-    gnome2.libglade
-    gfm
-    libticables2
-    libticalcs2
-    libticonv
-    libtifiles2
-  ];
-
-  meta = with lib; {
-    changelog = "http://lpg.ticalc.org/prj_tilp/news.html";
-    description = "Transfer data between Texas Instruments graphing calculators and a computer";
-    homepage = "http://lpg.ticalc.org/prj_tilp/";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ luc65r ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/science/misc/bada-bib/default.nix b/nixpkgs/pkgs/applications/science/misc/bada-bib/default.nix
new file mode 100644
index 000000000000..bd2f94ac4a74
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/bada-bib/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, meson
+, ninja
+, fetchFromGitHub
+, appstream-glib
+, desktop-file-utils
+, gdk-pixbuf
+, gettext
+, glib
+, gnome
+, gobject-introspection
+, gtk4
+, libxml2
+, pkg-config
+, python3Packages
+, wrapGAppsHook4 }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "bada-bib";
+  version = "0.5.1";
+  format = "other";
+  strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
+
+  src = fetchFromGitHub {
+    owner = "RogerCrocker";
+    repo = "BadaBib";
+    rev = "v${version}";
+    sha256 = "sha256-tb/720WPqcO4w1EMmidjtEidsjZ0dEhe+/vnJPM6kxo=";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    libxml2
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    glib
+    gtk4
+  ];
+
+  checkInputs = [
+    appstream-glib
+    desktop-file-utils
+  ];
+
+  pythonPath = with python3Packages; [
+    bibtexparser
+    pygobject3
+    watchgod
+  ];
+
+  postPatch = ''
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
+  dontWrapGApps = true; # Needs python wrapper
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  postFixup = ''
+    wrapPythonProgramsIn "$out/libexec" "$out $pythonPath"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/RogerCrocker/BadaBib";
+    description = "A simple BibTeX Viewer and Editor";
+    maintainers = [ maintainers.Cogitri ];
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/colmap/default.nix b/nixpkgs/pkgs/applications/science/misc/colmap/default.nix
index 60f9810dfb6a..c41c8593a5c4 100644
--- a/nixpkgs/pkgs/applications/science/misc/colmap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/cwltool/default.nix b/nixpkgs/pkgs/applications/science/misc/cwltool/default.nix
index 7cbd9354a372..390a421c1a92 100644
--- a/nixpkgs/pkgs/applications/science/misc/cwltool/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/cwltool/default.nix
@@ -7,21 +7,20 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cwltool";
-  version = "3.1.20211104071347";
+  version = "3.1.20220217222804";
   format = "setuptools";
 
-  disabled = python3.pythonOlder "3.6";
-
   src = fetchFromGitHub {
     owner = "common-workflow-language";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tp4SdilW2PKav7b3/BchXYl33W9U0aQH6FPdOhHSvIQ=";
+    sha256 = "sha256-7zID/lChliEJxu6Dawz9DNP2YvSwtMo8G+ooXNh2Phc=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace 'prov == 1.5.1' 'prov' \
+      --replace "ruamel.yaml >= 0.15, < 0.17.18" "ruamel.yaml" \
+      --replace "prov == 1.5.1" "prov" \
       --replace "setup_requires=PYTEST_RUNNER," ""
   '';
 
diff --git a/nixpkgs/pkgs/applications/science/misc/cytoscape/default.nix b/nixpkgs/pkgs/applications/science/misc/cytoscape/default.nix
index 783381f9db03..a907a5f8c169 100644
--- a/nixpkgs/pkgs/applications/science/misc/cytoscape/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix b/nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix
index 1430881a3f08..e5cc02edcfbe 100644
--- a/nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix
+++ b/nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   installPhase = "cp -ar usr $out";
 
   postFixup = ''
-    sed -e 's|/usr/bin|$out/bin|g' -i $out/share/applications/FAHControl.desktop
+    sed -e "s|/usr/bin|$out/bin|g" -i $out/share/applications/FAHControl.desktop
     wrapProgram "$out/bin/FAHControl" \
       --suffix PATH : "${fahviewer.outPath}/bin" \
       --set PYTHONPATH "$out/lib/python2.7/dist-packages"
diff --git a/nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix b/nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix
index 52ca9c9e623f..75e900a0a72c 100644
--- a/nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix
+++ b/nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   unpackPhase = ''
     dpkg-deb -x ${src} ./
-    sed -e 's|/usr/bin|$out/bin|g' -i usr/share/applications/FAHViewer.desktop
+    sed -e "s|/usr/bin|$out/bin|g" -i usr/share/applications/FAHViewer.desktop
   '';
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/misc/golly/default.upstream b/nixpkgs/pkgs/applications/science/misc/golly/default.upstream
deleted file mode 100644
index e8ce81586a8d..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/golly/default.upstream
+++ /dev/null
@@ -1,5 +0,0 @@
-url https://sourceforge.net/projects/golly/files/golly/
-version_link '[-][0-9.]+/$'
-SF_version_tarball 'src'
-SF_redirect
-minimize_overwrite
diff --git a/nixpkgs/pkgs/applications/science/misc/gplates/default.nix b/nixpkgs/pkgs/applications/science/misc/gplates/default.nix
index 67ab202160ca..7cbf37fcaf8a 100644
--- a/nixpkgs/pkgs/applications/science/misc/gplates/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/gplates/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , mkDerivation
 , fetchurl
 , cmake
@@ -65,5 +66,6 @@ in mkDerivation rec {
     homepage = "https://www.gplates.org";
     license = licenses.gpl2Only;
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gplates.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/misc/graphia/default.nix b/nixpkgs/pkgs/applications/science/misc/graphia/default.nix
index 4b45a3c06fe1..4f452c96b8e7 100644
--- a/nixpkgs/pkgs/applications/science/misc/graphia/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/graphia/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = [ maintainers.bgamari ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/graphia.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/misc/nextinspace/default.nix b/nixpkgs/pkgs/applications/science/misc/nextinspace/default.nix
index 390b2c58ca68..fd7e58183144 100644
--- a/nixpkgs/pkgs/applications/science/misc/nextinspace/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/nextinspace/default.nix
@@ -1,24 +1,44 @@
-{ lib, fetchPypi, python3Packages }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
-python3Packages.buildPythonPackage rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "nextinspace";
-  version = "1.0.6";
+  version = "2.0.3";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1h3dksxyy5gq071fa7i2p73s50918y1bkk38hgfwr4226c3wipvg";
+  src = fetchFromGitHub {
+    owner = "not-stirred";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Macx2pQglB95Bhc939TFVCHd1qvqJsco91EXKCIQLgg=";
   };
 
-  pythonPath = with python3Packages; [
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+
+  pythonPath = with python3.pkgs; [
     requests
     tzlocal
     colorama
   ];
 
+  checkInputs = with python3.pkgs; [
+    pytest-lazy-fixture
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pythonImportsCheck = [
+    "nextinspace"
+  ];
+
   meta = with lib; {
     description = "Print upcoming space-related events in your terminal";
     homepage = "https://github.com/The-Kid-Gid/nextinspace";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ penguwin ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/misc/root/default.nix b/nixpkgs/pkgs/applications/science/misc/root/default.nix
index 225a81f1f66a..f8037c01e087 100644
--- a/nixpkgs/pkgs/applications/science/misc/root/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/root/default.nix
@@ -9,6 +9,7 @@
 , gl2ps
 , glew
 , gsl
+, lapack
 , libX11
 , libXpm
 , libXft
@@ -19,6 +20,7 @@
 , llvm_9
 , lz4
 , xz
+, openblas
 , pcre
 , nlohmann_json
 , pkg-config
@@ -55,11 +57,13 @@ stdenv.mkDerivation rec {
     pcre
     zlib
     zstd
+    lapack
     libxml2
     llvm_9
     lz4
     xz
     gsl
+    openblas
     xxHash
     libAfterImage
     giflib
@@ -116,7 +120,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-Drpath=ON"
-    "-DCMAKE_CXX_STANDARD=17"
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
@@ -153,6 +156,7 @@ stdenv.mkDerivation rec {
     "-Droot7=OFF"
     "-Dsqlite=OFF"
     "-Dssl=OFF"
+    "-Dtmva=ON"
     "-Dvdt=OFF"
     "-Dwebgui=OFF"
     "-Dxml=ON"
@@ -171,7 +175,8 @@ stdenv.mkDerivation rec {
   postInstall = ''
     for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do
       wrapProgram "$out/bin/$prog" \
-        --prefix PYTHONPATH : "$out/lib"
+        --set PYTHONPATH "$out/lib" \
+        --set ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH "$out/lib"
     done
   '';
 
diff --git a/nixpkgs/pkgs/applications/science/misc/sasview/default.nix b/nixpkgs/pkgs/applications/science/misc/sasview/default.nix
index bbbe80eb6568..51dea2755785 100644
--- a/nixpkgs/pkgs/applications/science/misc/sasview/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/sasview/default.nix
@@ -1,70 +1,57 @@
-{ lib, fetchFromGitHub, gcc, python }:
+{ lib
+, python3
+, fetchFromGitHub
+, which
+, wrapQtAppsHook
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "sasview";
+  version = "5.0.4";
 
-let
-  xhtml2pdf = import ./xhtml2pdf.nix {
-    inherit lib;
-    fetchPypi = python.pkgs.fetchPypi;
-    buildPythonPackage = python.pkgs.buildPythonPackage;
-    html5lib = python.pkgs.html5lib;
-    httplib2 = python.pkgs.httplib2;
-    nose = python.pkgs.nose;
-    pillow = python.pkgs.pillow;
-    pypdf2 = python.pkgs.pypdf2;
-    reportlab = python.pkgs.reportlab;
+  src = fetchFromGitHub {
+    owner = "SasView";
+    repo = "sasview";
+    rev = "v${version}";
+    hash = "sha256-TjcchqA6GCvkr59ZgDuGglan2RxLp+aMjJk28XhvoiY=";
   };
 
-in
-
-python.pkgs.buildPythonApplication rec {
-  pname = "sasview";
-  version = "4.2.0";
-
-  checkInputs = with python.pkgs; [
-    pytest
-    unittest-xml-reporting
+  nativeBuildInputs = [
+    python3.pkgs.pyqt5
+    wrapQtAppsHook
   ];
 
-  checkPhase = ''
-    # fix the following error:
-    # imported module 'sas.sascalc.data_util.uncertainty' has this __file__ attribute:
-    #   /build/source/build/lib.linux-x86_64-2.7/sas/sascalc/data_util/uncertainty.py
-    # which is not the same as the test file we want to collect:
-    #   /build/source/dist/tmpbuild/sasview/sas/sascalc/data_util/uncertainty.py
-    rm -r dist/tmpbuild
-
-    HOME=$(mktemp -d) py.test
-  '';
-
-  propagatedBuildInputs = with python.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     bumps
-    gcc
     h5py
-    libxslt
     lxml
-    matplotlib
-    numpy
-    pyparsing
     periodictable
     pillow
-    pylint
-    pyopencl
-    reportlab
+    pyparsing
+    pyqt5
+    qt5reactor
     sasmodels
     scipy
-    six
-    sphinx
-    wxPython
+    setuptools
     xhtml2pdf
   ];
 
-  src = fetchFromGitHub {
-    owner = "SasView";
-    repo = "sasview";
-    rev = "v${version}";
-    sha256 = "0k3486h46k6406h0vla8h68fd78wh3dcaq5w6f12jh6g4cjxv9qa";
-  };
+  postBuild = ''
+    ${python3.interpreter} src/sas/qtgui/convertUI.py
+  '';
+
+  dontWrapQtApps = true;
+
+  makeWrapperArgs = [
+    "\${qtWrapperArgs[@]}"
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+    unittest-xml-reporting
+  ];
 
-  patches = [ ./pyparsing-fix.patch ./local_config.patch ];
+  pytestFlagsArray = [ "test" ];
 
   meta = with lib; {
     homepage = "https://www.sasview.org";
diff --git a/nixpkgs/pkgs/applications/science/misc/sasview/local_config.patch b/nixpkgs/pkgs/applications/science/misc/sasview/local_config.patch
deleted file mode 100644
index 5b6c3436494a..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/sasview/local_config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/sas/_config.py b/src/sas/_config.py
-index ece08fd4c..926768593 100644
---- a/src/sas/_config.py
-+++ b/src/sas/_config.py
-@@ -67,8 +67,8 @@ def load_local_config(app_dir):
-         logger.info("GuiManager loaded %s", path)
-         return module
-     except Exception as exc:
--        logger.critical("Error loading %s: %s", path, exc)
--        sys.exit()
-+        import sas.sasview.local_config
-+        return sas.sasview.local_config
- 
- def make_custom_config_path(user_dir):
-     """
-@@ -116,4 +116,4 @@ def load_custom_config(path):
- 
-     from sas.sasview import custom_config
-     logger.info("GuiManager custom_config defaults to sas.sasview.custom_config")
--    return custom_config
-\ No newline at end of file
-+    return custom_config
diff --git a/nixpkgs/pkgs/applications/science/misc/sasview/pyparsing-fix.patch b/nixpkgs/pkgs/applications/science/misc/sasview/pyparsing-fix.patch
deleted file mode 100644
index c3cd164a899a..000000000000
--- a/nixpkgs/pkgs/applications/science/misc/sasview/pyparsing-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 866ab7e36..78727b276 100755
---- a/setup.py
-+++ b/setup.py
-@@ -401,7 +401,7 @@ package_data['sas.sasview'] = ['images/*',
- packages.append("sas.sasview")
- 
- required = [
--    'bumps>=0.7.5.9', 'periodictable>=1.5.0', 'pyparsing>=2.0.0',
-+    'bumps>=0.7.5.9', 'periodictable>=1.5.0',
- 
-     # 'lxml>=2.2.2',
-     'lxml', 'h5py',
diff --git a/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix b/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
index 23815442da7e..888419fbc86f 100644
--- a/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
index 40c102fc6822..f4a3da9711dd 100644
--- a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/misc/toil/default.nix b/nixpkgs/pkgs/applications/science/misc/toil/default.nix
index a25fbe7565ce..b13ad0ad10ca 100644
--- a/nixpkgs/pkgs/applications/science/misc/toil/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/toil/default.nix
@@ -1,39 +1,46 @@
-{ lib, fetchFromGitHub, python3Packages }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "toil";
-  version = "5.4.0";
+  version = "5.6.0";
+  format = "setuptools";
 
-  src = python3Packages.fetchPypi {
+  src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "73c0648828bd3610c07b7648dd06d6ec27efefdb09473bf01d05d91eb899c9fd";
+    sha256 = "sha256-m6tzrRCCLULO+wB8htUlt0KESLm/vdIeTzBrihnAo/I=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "docker = " "docker = 'docker' #" \
-      --replace "addict = " "addict = 'addict' #"
-  '';
-
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with python3.pkgs; [
     addict
     docker
     pytz
     pyyaml
     enlighten
     psutil
+    py-tes
     python-dateutil
     dill
   ];
-  checkInputs = with python3Packages; [ pytestCheckHook ];
 
-  pytestFlagsArray = [ "src/toil/test" ];
-  pythonImportsCheck = [ "toil" ];
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "src/toil/test"
+  ];
+
+  pythonImportsCheck = [
+    "toil"
+  ];
 
   meta = with lib; {
+    description = "Workflow engine written in pure Python";
     homepage = "https://toil.ucsc-cgl.org/";
     license = with licenses; [ asl20 ];
-    description = "Workflow engine written in pure Python";
     maintainers = with maintainers; [ veprbl ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/misc/tulip/default.nix b/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
index 62d638717f80..87a05f146e9e 100644
--- a/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
@@ -1,19 +1,20 @@
-{ fetchurl, lib, stdenv, libxml2, freetype, libGLU, libGL, glew, qt4
-, cmake, makeWrapper, libjpeg, python }:
+{ fetchurl, lib, stdenv, libxml2, freetype, libGLU, libGL, glew
+, qtbase, wrapQtAppsHook, python3
+, cmake, libjpeg }:
 
-let version = "5.2.1"; in
 stdenv.mkDerivation rec {
   pname = "tulip";
-  inherit version;
+  version = "5.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/auber/${pname}-${version}_src.tar.gz";
-    sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky";
+    sha256 = "1fy3nvgxv3igwc1d23zailcgigj1d0f2kkh7a5j24c0dyqz5zxmw";
   };
 
-  buildInputs = [ libxml2 freetype glew libGLU libGL qt4 libjpeg python ];
+  buildInputs = [ libxml2 freetype glew libGLU libGL libjpeg qtbase python3 ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
 
-  nativeBuildInputs = [ cmake makeWrapper ];
+  qtWrapperArgs = [ ''--prefix PATH : ${lib.makeBinPath [ python3 ]}'' ];
 
   # FIXME: "make check" needs Docbook's DTD 4.4, among other things.
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index f30e94f03d88..dd4bb6ef1425 100644
--- a/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -19,11 +19,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gromacs";
-  version = "2021.4";
+  version = "2021.5";
 
   src = fetchurl {
     url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
-    sha256 = "07ds8abxq0k7vfpjvxb8in3fhb6lz0pbdzbmlidyzaw37qz8lw6b";
+    sha256 = "1dh9l2gcv61h1r6qsg8vr3k1xp8jgd27czzg24kzf4k823k3z9pb";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix b/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
index dd726c96606e..29c72b7f11c0 100644
--- a/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
+++ b/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sherpa";
-  version = "2.2.11";
+  version = "2.2.12";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/sherpa/SHERPA-MC-${version}.tar.gz";
-    sha256 = "sha256-DrA/h/f/MjGylKxAtVMq6OLvEdb6yB7pRt8UJXNmwi0=";
+    sha256 = "sha256-UpRkd1yoKLncllEQUm80DedDtgA8Hm+Kvi/BRVCu0AE=";
   };
 
   postPatch = lib.optionalString (stdenv.hostPlatform.libc == "glibc") ''
diff --git a/nixpkgs/pkgs/applications/science/physics/shtns/default.nix b/nixpkgs/pkgs/applications/science/physics/shtns/default.nix
new file mode 100644
index 000000000000..a720213b3913
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/physics/shtns/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, fetchgit, fftw }:
+
+stdenv.mkDerivation rec {
+  pname = "shtns";
+  version = "3.5.1";
+
+  src = fetchgit {
+    url = "https://bitbucket.org/nschaeff/shtns";
+    rev = "v${version}";
+    sha256 = "1ajrplhv7a2dvb3cn3n638281w0bzdcydvvwbg64awbjg622mdpd";
+  };
+
+  buildInputs = [ fftw ];
+
+  meta = with lib; {
+    description = "High performance library for Spherical Harmonic Transform";
+    homepage = "https://nschaeff.bitbucket.io/shtns/";
+    license = licenses.cecill21;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix b/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix
index 3331877e1f2c..506572399524 100644
--- a/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/betaflight-configurator/default.nix
@@ -13,10 +13,10 @@ let
 in
 stdenv.mkDerivation rec {
   inherit pname;
-  version = "10.7.1";
+  version = "10.7.2";
   src = fetchurl {
     url = "https://github.com/betaflight/${pname}/releases/download/${version}/${pname}_${version}_linux64.zip";
-    sha256 = "sha256-mMjy7Ve7wEmPxkAmux0WahUgJ86ylnWZP4smDZeBs8Q=";
+    sha256 = "sha256-FDmtFRUupPKiHeF3Xvh/VagqMo+FJi8I7mhTz0VDs3o=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook unzip ];
diff --git a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 76d2318cead4..afd05c3e8f71 100644
--- a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/system/monitor/default.nix b/nixpkgs/pkgs/applications/system/monitor/default.nix
index 6b535e5ad418..653d727525e8 100644
--- a/nixpkgs/pkgs/applications/system/monitor/default.nix
+++ b/nixpkgs/pkgs/applications/system/monitor/default.nix
@@ -18,17 +18,20 @@
 , sassc
 , udisks2
 , wrapGAppsHook
+, libX11
+, libXext
+, libXNVCtrl
 }:
 
 stdenv.mkDerivation rec {
   pname = "monitor";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "stsdc";
     repo = "monitor";
     rev = version;
-    sha256 = "sha256-xWhhjn7zk/juXx50wLG2TpB5aqU+588kWBBquWrVJbM=";
+    sha256 = "1fv98yz9393ddp0k96bwbgccy6x9dmmg8g1pjd3xs6m4c1bnvfc7";
     fetchSubmodules = true;
   };
 
@@ -53,8 +56,19 @@ stdenv.mkDerivation rec {
     libwnck
     sassc
     udisks2
+    libX11
+    libXext
+    libXNVCtrl
   ];
 
+  # Force link against Xext, otherwise build fails with:
+  # ld: /nix/store/...-libXNVCtrl-495.46/lib/libXNVCtrl.a(NVCtrl.o): undefined reference to symbol 'XextAddDisplay'
+  # ld: /nix/store/...-libXext-1.3.4/lib/libXext.so.6: error adding symbols: DSO missing from command line
+  # https://github.com/stsdc/monitor/issues/292
+  NIX_LDFLAGS = "-lXext";
+
+  mesonFlags = [ "-Dindicator-wingpanel=enabled" ];
+
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
index a25613ba58e5..78c6c0988c57 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -54,16 +54,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "alacritty";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kgZEbOGmO+uRKaWR+oQBiGkBzDSuCznUyWNUoMICHhk=";
+    sha256 = "sha256-eVPy47T2wcsN7NxtwMoyuC6loBVXsoJjJ/2q31i3vxQ=";
   };
 
-  cargoSha256 = "sha256-JqnYMDkagWNGliUxi5eqJN92ULsvT7Fwmah8um1xaRw=";
+  cargoSha256 = "sha256-RY+qidm7NZFKq6P8qVaMpxYfTfHpZac2YJwuNbOJwoM=";
 
   nativeBuildInputs = [
     cmake
@@ -88,19 +88,13 @@ rustPlatform.buildRustPackage rec {
 
   outputs = [ "out" "terminfo" ];
 
-  patches = [
-    # Handle PTY EIO error for Rust 1.55+
-    (fetchpatch {
-      url = "https://github.com/alacritty/alacritty/commit/58985a4dcbe464230b5d2566ee68e2d34a1788c8.patch";
-      sha256 = "sha256-Z6589yRrQtpx3/vNqkMiGgGsLysd/QyfaX7trqX+k5c=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace alacritty/src/config/ui_config.rs \
       --replace xdg-open ${xdg-utils}/bin/xdg-open
   '';
 
+  checkFlags = [ "--skip=term::test::mock_term" ]; # broken on aarch64
+
   postInstall = (
     if stdenv.isDarwin then ''
       mkdir $out/Applications
@@ -126,6 +120,7 @@ rustPlatform.buildRustPackage rec {
 
     install -dm 755 "$out/share/man/man1"
     gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz"
+    gzip -c extra/alacritty-msg.man > "$out/share/man/man1/alacritty-msg.1.gz"
 
     install -Dm 644 alacritty.yml $out/share/doc/alacritty.yml
 
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/eterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/eterm/default.nix
index b5ca8b889592..328e61f1fe50 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/eterm/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/eterm/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "http://www.eterm.org";
+    homepage = "https://github.com/mej/Eterm"; # http://www.eterm.org is gone
     description = "Terminal emulator";
     license = licenses.bsd2;
     maintainers = [ maintainers.AndersonTorres ];
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/evilvte/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/evilvte/default.nix
deleted file mode 100644
index 5d5ce5d772e5..000000000000
--- a/nixpkgs/pkgs/applications/terminal-emulators/evilvte/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchgit, makeWrapper, pkg-config,
-  gnome2, gtk2, glib, pango, cairo, gdk-pixbuf, atk, freetype, xorg,
-  configH ? ""
-}:
-
-stdenv.mkDerivation {
-  pname = "evilvte";
-  version = "0.5.2-20140827";
-
-  src = fetchgit {
-    url = "https://github.com/caleb-/evilvte.git";
-    rev = "8dfa41e26bc640dd8d8c7317ff7d04e3c01ded8a";
-    sha256 = "70f1d4234d077121e2223a735d749d1b53f0b84393507b635b8a37c3716e94d3";
-  };
-
-  buildInputs = [
-    gnome2.vte glib pango gtk2 cairo gdk-pixbuf atk freetype xorg.libX11
-    xorg.xorgproto xorg.libXext makeWrapper pkg-config
-  ];
-
-  buildPhase = ''
-    cat >src/config.h <<EOF
-    ${configH}
-    EOF
-    make
-  '';
-
-  meta = with lib; {
-    description = "VTE based, highly customizable terminal emulator";
-    homepage = "http://www.calno.com/evilvte";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.bodil ];
-    platforms = platforms.linux;
-    knownVulnerabilities = [
-      "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854585"
-    ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
index 591b16ee8226..41154cc1034f 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
@@ -27,7 +27,7 @@
 }:
 
 let
-  version = "1.10.3";
+  version = "1.11.0";
 
   # build stimuli file for PGO build and the script to generate it
   # independently of the foot's build, so we can cache the result
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
     owner = "dnkl";
     repo = pname;
     rev = version;
-    sha256 = "13v6xqaw3xn1x84dn4gnkiimcsllb19mrbvcdj2fnm8klnrys3gs";
+    sha256 = "1d9bk8lhmw5lc8k0mw80g0vbwgxyh3gw5c7ppy3sir07s9y0y0fn";
   };
 
   depsBuildBuild = [
@@ -163,6 +163,7 @@ stdenv.mkDerivation rec {
     # make sure there is _some_ profiling data on all binaries
     ./footclient --version
     ./foot --version
+    ./tests/test-config
     # generate pgo data of wayland independent code
     ./pgo ${stimuliFile} ${stimuliFile} ${stimuliFile}
     meson configure -Db_pgo=use
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/havoc/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/havoc/default.nix
index 5df53be3b92a..e31d119d6cf9 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/havoc/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/havoc/default.nix
@@ -1,20 +1,32 @@
-{ lib, stdenv, fetchFromGitHub
-, pkg-config, libxkbcommon, wayland, wayland-protocols }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, libxkbcommon
+, pkg-config
+, wayland
+, wayland-protocols
+}:
 
 stdenv.mkDerivation rec {
-
   pname = "havoc";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ii8";
     repo = pname;
     rev = version;
-    sha256 = "1g05r9j6srwz1krqvzckx80jn8fm48rkb4xp68953gy9yp2skg3k";
+    hash = "sha256-zNKDQqkDeNj5fB5EdMVfAs2H4uBgLh6Fp3uSjiJ1VhQ=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libxkbcommon wayland wayland-protocols ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libxkbcommon
+    wayland
+    wayland-protocols
+  ];
 
   dontConfigure = true;
 
@@ -26,8 +38,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A minimal terminal emulator for Wayland";
     homepage = "https://github.com/ii8/havoc";
+    description = "A minimal terminal emulator for Wayland";
     license = with licenses; [ mit publicDomain ];
     platforms = with platforms; unix;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix
index 423c31fd05be..a2b3d13b36a8 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix
@@ -15,11 +15,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hyper";
-  version = "3.1.4";
+  version = "3.2.0";
 
   src = fetchurl {
     url = "https://github.com/vercel/hyper/releases/download/v${version}/hyper_${version}_amd64.deb";
-    sha256 = "sha256-4C0vx4m/ojOJl5ownsbasSFiIrJ9kfJJWh0y4j/DGIQ=";
+    sha256 = "1ryw3315x0lb60j8nzz78h7zd36r2l1j39hnlfav0p7nq8dhqbpm";
   };
 
   nativeBuildInputs = [ dpkg ];
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A terminal built on web technologies";
     homepage    = "https://hyper.is/";
-    maintainers = with maintainers; [ puffnfresh ];
+    maintainers = with maintainers; [ puffnfresh fabiangd ];
     license     = licenses.mit;
     platforms   = [ "x86_64-linux" ];
   };
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kermit-terminal/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/kermit-terminal/default.nix
new file mode 100644
index 000000000000..8a5a78564149
--- /dev/null
+++ b/nixpkgs/pkgs/applications/terminal-emulators/kermit-terminal/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtk3
+, pcre
+, pkg-config
+, vte
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kermit";
+  version = "3.7";
+
+  src = fetchFromGitHub {
+    name = "${pname}-${version}-src";
+    owner = "orhun";
+    repo = pname;
+    rev = version;
+    hash = "sha256-O5jpiQ+aaOTPst4/Z+H5e7ylA8CNBevqNoH50p4uEA4=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk3
+    pcre
+    vte
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/orhun/kermit";
+    description = "A VTE-based, simple and froggy terminal emulator";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
index 4cd8f72b790f..cca7e7eb9b96 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -3,8 +3,10 @@
   libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor,
   libxkbcommon, libXi, libXext, wayland-protocols, wayland,
   lcms2,
+  librsync,
   installShellFiles,
   dbus,
+  darwin,
   Cocoa,
   CoreGraphics,
   Foundation,
@@ -21,20 +23,21 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.23.1";
+  version = "0.24.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "sha256-2RwDU6EOJWF0u2ikJFg9U2yqSXergDkJH3h2i+QJ7G4=";
+    sha256 = "sha256-nGBdoOueX8tcxXRDqKQ/Q+woT6rNQeLXwy1MJbwizKs=";
   };
 
   buildInputs = [
     harfbuzz
     ncurses
     lcms2
+    librsync
   ] ++ lib.optionals stdenv.isDarwin [
     Cocoa
     CoreGraphics
@@ -45,6 +48,8 @@ buildPythonApplication rec {
     libpng
     python3
     zlib
+  ] ++ lib.optionals (stdenv.isDarwin && (builtins.hasAttr "UserNotifications" darwin.apple_sdk.frameworks)) [
+    darwin.apple_sdk.frameworks.UserNotifications
   ] ++ lib.optionals stdenv.isLinux [
     fontconfig libunistring libcanberra libX11
     libXrandr libXinerama libXcursor libxkbcommon libXi libXext
@@ -67,26 +72,31 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = lib.optional stdenv.isLinux libGL;
 
-  outputs = [ "out" "terminfo" ];
+  outputs = [ "out" "terminfo" "shell_integration" ];
 
   # Causes build failure due to warning
   hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
 
   dontConfigure = true;
 
-  buildPhase = ''
+  buildPhase = let
+    commonOptions = ''
+      --update-check-interval=0 \
+      --shell-integration=enabled\ no-rc
+    '';
+  in ''
     runHook preBuild
     ${if stdenv.isDarwin then ''
       ${python.interpreter} setup.py kitty.app \
-      --update-check-interval=0 \
-      --disable-link-time-optimization
+      --disable-link-time-optimization \
+      ${commonOptions}
       make man
     '' else ''
       ${python.interpreter} setup.py linux-package \
-      --update-check-interval=0 \
       --egl-library='${lib.getLib libGL}/lib/libEGL.so.1' \
       --startup-notification-library='${libstartup_notification}/lib/libstartup-notification-1.so' \
-      --canberra-library='${libcanberra}/lib/libcanberra.so'
+      --canberra-library='${libcanberra}/lib/libcanberra.so' \
+      ${commonOptions}
     ''}
     runHook postBuild
   '';
@@ -125,10 +135,7 @@ buildPythonApplication rec {
       --bash <("$out/bin/kitty" + complete setup bash) \
       --fish <("$out/bin/kitty" + complete setup fish) \
       --zsh  <("$out/bin/kitty" + complete setup zsh)
-    runHook postInstall
-  '';
 
-  postInstall = ''
     terminfo_src=${if stdenv.isDarwin then
       ''"$out/Applications/kitty.app/Contents/Resources/terminfo"''
       else
@@ -139,6 +146,10 @@ buildPythonApplication rec {
 
     mkdir -p $out/nix-support
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+
+    cp -r 'shell-integration' "$shell_integration"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/lilyterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/lilyterm/default.nix
deleted file mode 100644
index 9e2d2a67b440..000000000000
--- a/nixpkgs/pkgs/applications/terminal-emulators/lilyterm/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ stdenv, lib, fetchurl, fetchFromGitHub
-, pkg-config
-, autoconf, automake, intltool, gettext
-, gtk, vte
-, flavour ? "stable"
-}:
-
-assert lib.assertOneOf "flavour" flavour [ "stable"  "git" ];
-
-let
-  pname = "lilyterm";
-  stuff =
-    if flavour == "stable"
-    then rec {
-        version = "0.9.9.4";
-        src = fetchurl {
-          url = "https://lilyterm.luna.com.tw/file/${pname}-${version}.tar.gz";
-          sha256 = "0x2x59qsxq6d6xg5sd5lxbsbwsdvkwqlk17iw3h4amjg3m1jc9mp";
-        };
-      }
-    else {
-        version = "2019-07-25";
-        src = fetchFromGitHub {
-          owner = "Tetralet";
-          repo = pname;
-          rev = "faf1254f46049edfb1fd6e9191e78b1b23b9c51d";
-          sha256 = "054450gk237c62b677365bcwrijr63gd9xm8pv68br371wdzylz7";
-        };
-      };
-
-in
-with lib;
-stdenv.mkDerivation rec {
-  inherit pname;
-
-  inherit (stuff) src version;
-
-  nativeBuildInputs = [ pkg-config autoconf automake intltool gettext ];
-  buildInputs = [ gtk vte ];
-
-  preConfigure = "sh autogen.sh";
-
-  configureFlags = [
-    "--enable-nls"
-    "--enable-safe-mode"
-  ];
-
-  meta = with lib; {
-    description = "A fast, lightweight terminal emulator";
-    longDescription = ''
-      LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
-    '';
-    homepage = "https://lilyterm.luna.com.tw/";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ AndersonTorres Profpatsch ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix
index b9f7d4ef677b..4920372411f5 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlterm";
-  version = "3.9.1";
+  version = "3.9.2";
 
   src = fetchFromGitHub {
     owner = "arakiken";
     repo = pname;
-    rev = "rel-${lib.replaceStrings [ "." ] [ "_" ] version}"; # 3.9.1 -> rel-3_9_1
-    sha256 = "1hh196kz2n3asv8r8r2bdk5b2w93zq7rw4880ciiq1554h0ib7fj";
+    rev = version;
+    sha256 = "sha256-DvGR3rDegInpnLp3H+rXNXktCGhpjsBBPTRMwodeTro=";
   };
 
   nativeBuildInputs = [ pkg-config autoconf wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
index 2c130bf02d3e..0e9402cf4953 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchurl, makeDesktopItem
+{ lib, stdenv, fetchurl, fetchpatch, makeDesktopItem
 , libX11, libXt, libXft, libXrender
 , ncurses, fontconfig, freetype
 , pkg-config, gdk-pixbuf, perl
+, libptytty
 , perlSupport      ? true
 , gdkPixbufSupport ? true
 , unicode3Support  ? true
+, emojiSupport     ? false
 }:
 
 let
   pname = "rxvt-unicode";
-  version = "9.26";
+  version = "9.30";
   description = "A clone of the well-known terminal emulator rxvt";
 
   desktopItem = makeDesktopItem {
@@ -21,6 +23,13 @@ let
     genericName = pname;
     categories = "System;TerminalEmulator;";
   };
+
+  fetchPatchFromAUR = { package, name, rev, sha256 }:
+    fetchpatch rec {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=${package}&id=${rev}";
+      extraPrefix = "";
+      inherit name sha256;
+    };
 in
 
 with lib;
@@ -31,29 +40,45 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
-    sha256 = "12y9p32q0v7n7rhjla0j2g9d5rj2dmwk20c9yhlssaaxlawiccb4";
+    sha256 = "0badnkjsn3zps24r5iggj8k5v4f00npc77wqg92pcn1q5z8r677y";
   };
 
   buildInputs =
     [ libX11 libXt libXft ncurses  # required to build the terminfo file
       fontconfig freetype pkg-config libXrender
+      libptytty
     ] ++ optional perlSupport perl
       ++ optional gdkPixbufSupport gdk-pixbuf;
 
   outputs = [ "out" "terminfo" ];
 
-  patches = [
+  patches = (if emojiSupport then [
+    # the required patches to libXft are in nixpkgs by default, see
+    # ../../../servers/x11/xorg/overrides.nix
+    (fetchPatchFromAUR {
+      name = "enable-wide-glyphs.patch";
+      package = "rxvt-unicode-truecolor-wide-glyphs";
+      rev = "69701a09c2c206233952b84bc966407f6774f1dc";
+      sha256 = "0jfcj0ahky4dxdfrhqvh1v83mblhf5nak56dk1vq3bhyifdg7ffq";
+    })
+    (fetchPatchFromAUR {
+      name = "improve-font-rendering.patch";
+      package = "rxvt-unicode-truecolor-wide-glyphs";
+      rev = "69701a09c2c206233952b84bc966407f6774f1dc";
+      sha256 = "1jj5ai2182nq912279adihi4zph1w4dvbdqa1pwacy4na6y0fz9y";
+    })
+  ] else [
     ./patches/9.06-font-width.patch
+  ]) ++ [
     ./patches/256-color-resources.patch
-  ] ++ optional stdenv.isDarwin ./patches/makefile-phony.patch;
-
+  ]++ optional stdenv.isDarwin ./patches/makefile-phony.patch;
 
   configureFlags = [
     "--with-terminfo=${placeholder "terminfo"}/share/terminfo"
     "--enable-256-color"
     (enableFeature perlSupport "perl")
     (enableFeature unicode3Support "unicode3")
-  ];
+  ] ++ optional emojiSupport "--enable-wide-glyphs";
 
   LDFLAGS = [ "-lfontconfig" "-lXrender" "-lpthread" ];
   CFLAGS = [ "-I${freetype.dev}/include/freetype2" ];
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/st/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/st/default.nix
index 3a2180ce8d82..35baec9d0e44 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/st/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/st/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "st";
-  version = "0.8.4";
+  version = "0.8.5";
 
   src = fetchurl {
     url = "https://dl.suckless.org/st/${pname}-${version}.tar.gz";
-    hash = "sha256-1C087OtNamXjLpClM249RG22EsP72evBeAvGyaAzRqY=";
+    hash = "sha256-6mgyID7QL/dBgry4raqexFTI+YnnkjLLhZZl4vVEqzc=";
   };
 
   inherit patches;
@@ -49,19 +49,17 @@ stdenv.mkDerivation rec {
     libXft
   ] ++ extraLibs;
 
-  installPhase = ''
-    runHook preInstall
-
-    TERMINFO=$out/share/terminfo make install PREFIX=$out
-
-    runHook postInstall
+  preInstall = ''
+    export TERMINFO=$out/share/terminfo
   '';
 
+  installFlags = [ "PREFIX=$(out)" ];
+
   meta = with lib; {
     homepage = "https://st.suckless.org/";
     description = "Simple Terminal for X from Suckless.org Community";
     license = licenses.mit;
     maintainers = with maintainers; [ andsild ];
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/syncterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/syncterm/default.nix
new file mode 100644
index 000000000000..d1f0ab5e8cf1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/terminal-emulators/syncterm/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, fetchurl, pkg-config, perl, unzip, autoPatchelfHook, ncurses, SDL2, alsa-lib }:
+
+stdenv.mkDerivation rec {
+  pname = "syncterm";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}-src.tgz";
+    sha256 = "19m76bisipp1h3bc8mbq83b851rx3lbysxb0azpbr5nbqr2f8xyi";
+  };
+  sourceRoot = "${pname}-${version}/src/syncterm";
+
+  CFLAGS = [
+    "-DHAS_INTTYPES_H"
+    "-DXPDEV_DONT_DEFINE_INTTYPES"
+
+    "-Wno-unused-result"
+    "-Wformat-overflow=0"
+  ] ++ (lib.optionals stdenv.isLinux [
+    "-DUSE_ALSA_SOUND" # Don't use OSS for beeps.
+  ]);
+  makeFlags = [
+    "PREFIX=$(out)"
+    "RELEASE=1"
+    "USE_SDL_AUDIO=1"
+  ];
+
+  nativeBuildInputs = [ autoPatchelfHook pkg-config SDL2 perl unzip ]; # SDL2 for `sdl2-config`.
+  buildInputs = [ ncurses SDL2 ]
+    ++ (lib.optional stdenv.isLinux alsa-lib);
+  runtimeDependencies = [ ncurses SDL2 ]; # Both of these are dlopen()'ed at runtime.
+
+  meta = with lib; {
+    homepage = "https://syncterm.bbsdev.net/";
+    description = "BBS terminal emulator";
+    maintainers = with maintainers; [ embr ];
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/commit-formatter/default.nix b/nixpkgs/pkgs/applications/version-management/commit-formatter/default.nix
new file mode 100644
index 000000000000..eb475dca78a0
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/commit-formatter/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "commit-formatter";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "Eliot00";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "EYzhb9jJ4MzHxIbaTb1MxeXUgoxTwcnq5JdxAv2uNcA=";
+  };
+
+  cargoSha256 = "AeHQCoP1HOftlOt/Yala3AXocMlwwIXIO2i1AsFSvGQ=";
+
+  meta = with lib; {
+    description = "A CLI tool to help you write git commit";
+    homepage = "https://github.com/Eliot00/commit-formatter";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ elliot ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/commitizen/default.nix b/nixpkgs/pkgs/applications/version-management/commitizen/default.nix
index c673fd6d0c9a..b8befad558d5 100644
--- a/nixpkgs/pkgs/applications/version-management/commitizen/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/commitizen/default.nix
@@ -1,17 +1,109 @@
-{ pkgs, nodejs, stdenv, lib, ... }:
+{ buildPythonApplication
+, lib
+, fetchFromGitHub
+, poetry
+, termcolor
+, questionary
+, colorama
+, decli
+, tomlkit
+, jinja2
+, pyyaml
+, argcomplete
+, typing-extensions
+, packaging
+, pytestCheckHook
+, pytest-freezegun
+, pytest-mock
+, pytest-regressions
+, git
+}:
 
-let
-  nodePackages = import ./node-composition.nix {
-    inherit pkgs nodejs;
-    inherit (stdenv.hostPlatform) system;
+buildPythonApplication rec {
+  pname = "commitizen";
+  version = "2.20.4";
+
+  src = fetchFromGitHub {
+    owner = "commitizen-tools";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-2DhWiUAkAkyNxYB1CGzUB2nGZeCWvFqSztrxasUPSXw=";
+    deepClone = true;
   };
-in
-nodePackages.commitizen.override {
+
+  format = "pyproject";
+
+  nativeBuildInputs = [ poetry ];
+
+  propagatedBuildInputs = [
+    termcolor
+    questionary
+    colorama
+    decli
+    tomlkit
+    jinja2
+    pyyaml
+    argcomplete
+    typing-extensions
+    packaging
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    pytestCheckHook
+    pytest-freezegun
+    pytest-mock
+    pytest-regressions
+    argcomplete
+    git
+  ];
+
+  # NB: These require full git history
+  disabledTests = [
+    "test_breaking_change_content_v1"
+    "test_breaking_change_content_v1_beta"
+    "test_breaking_change_content_v1_multiline"
+    "test_bump_command_prelease"
+    "test_bump_dry_run"
+    "test_bump_files_only"
+    "test_bump_local_version"
+    "test_bump_major_increment"
+    "test_bump_minor_increment"
+    "test_bump_on_git_with_hooks_no_verify_disabled"
+    "test_bump_on_git_with_hooks_no_verify_enabled"
+    "test_bump_patch_increment"
+    "test_bump_tag_exists_raises_exception"
+    "test_bump_when_bumpping_is_not_support"
+    "test_bump_when_version_inconsistent_in_version_files"
+    "test_bump_with_changelog_arg"
+    "test_bump_with_changelog_config"
+    "test_bump_with_changelog_to_stdout_arg"
+    "test_changelog_config_flag_increment"
+    "test_changelog_config_start_rev_option"
+    "test_changelog_from_start"
+    "test_changelog_from_version_zero_point_two"
+    "test_changelog_hook"
+    "test_changelog_incremental_angular_sample"
+    "test_changelog_incremental_keep_a_changelog_sample"
+    "test_changelog_incremental_keep_a_changelog_sample_with_annotated_tag"
+    "test_changelog_incremental_with_release_candidate_version"
+    "test_changelog_is_persisted_using_incremental"
+    "test_changelog_multiple_incremental_do_not_add_new_lines"
+    "test_changelog_replacing_unreleased_using_incremental"
+    "test_changelog_with_different_cz"
+    "test_get_commits"
+    "test_get_commits_author_and_email"
+    "test_get_commits_with_signature"
+    "test_get_latest_tag_name"
+    "test_is_staging_clean_when_updating_file"
+    "test_none_increment_should_not_call_git_tag_and_error_code_is_not_zero"
+    "test_prevent_prerelease_when_no_increment_detected"
+  ];
+
   meta = with lib; {
-    description = "The commitizen command line utility";
-    homepage = "https://commitizen.github.io/cz-cli";
-    maintainers = with maintainers; [ freezeboy ];
+    description = "Tool to create committing rules for projects, auto bump versions, and generate changelogs";
+    homepage = "https://github.com/commitizen-tools/commitizen";
     license = licenses.mit;
-    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ lovesegfault ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/cvs2svn/default.nix b/nixpkgs/pkgs/applications/version-management/cvs2svn/default.nix
index af2b5cdc9a3d..9f1df695a174 100644
--- a/nixpkgs/pkgs/applications/version-management/cvs2svn/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/cvs2svn/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchurl, makeWrapper
-, python2Packages
+, pypy2Packages
 , cvs, subversion, git, breezy
 }:
 
-python2Packages.buildPythonApplication  rec {
+pypy2Packages.buildPythonApplication  rec {
   pname = "cvs2svn";
   version = "2.5.0";
 
   src = fetchurl {
-    url = "http://cvs2svn.tigris.org/files/documents/1462/49543/${pname}-${version}.tar.gz";
+    url = "https://github.com/mhagger/cvs2svn/releases/download/${version}/${pname}-${version}.tar.gz";
     sha256 = "1ska0z15sjhyfi860rjazz9ya1gxbf5c0h8dfqwz88h7fccd22b4";
   };
 
@@ -16,7 +16,7 @@ python2Packages.buildPythonApplication  rec {
 
   checkInputs = [ subversion git breezy ];
 
-  checkPhase = "python run-tests.py";
+  checkPhase = "${pypy2Packages.python.interpreter} run-tests.py";
 
   doCheck = false; # Couldn't find node 'transaction...' in expected output tree
 
@@ -29,7 +29,7 @@ python2Packages.buildPythonApplication  rec {
 
   meta = with lib; {
     description = "A tool to convert CVS repositories to Subversion repositories";
-    homepage = "http://cvs2svn.tigris.org/";
+    homepage = "https://github.com/mhagger/cvs2svn";
     maintainers = [ maintainers.makefu ];
     platforms = platforms.unix;
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/applications/version-management/cz-cli/default.nix b/nixpkgs/pkgs/applications/version-management/cz-cli/default.nix
new file mode 100644
index 000000000000..769aa0abb8c8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/cz-cli/default.nix
@@ -0,0 +1,18 @@
+{ pkgs, nodejs, stdenv, lib, ... }:
+
+let
+  nodePackages = import ./node-composition.nix {
+    inherit pkgs nodejs;
+    inherit (stdenv.hostPlatform) system;
+  };
+in
+nodePackages.commitizen.override {
+  name = "cz-cli";
+  meta = with lib; {
+    description = "The commitizen command line utility";
+    homepage = "https://commitizen.github.io/cz-cli";
+    maintainers = with maintainers; [ freezeboy ];
+    license = licenses.mit;
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/commitizen/generate-dependencies.sh b/nixpkgs/pkgs/applications/version-management/cz-cli/generate-dependencies.sh
index 9855e2d41d1a..9855e2d41d1a 100755
--- a/nixpkgs/pkgs/applications/version-management/commitizen/generate-dependencies.sh
+++ b/nixpkgs/pkgs/applications/version-management/cz-cli/generate-dependencies.sh
diff --git a/nixpkgs/pkgs/applications/version-management/commitizen/node-composition.nix b/nixpkgs/pkgs/applications/version-management/cz-cli/node-composition.nix
index 53bdef1f9864..53bdef1f9864 100644
--- a/nixpkgs/pkgs/applications/version-management/commitizen/node-composition.nix
+++ b/nixpkgs/pkgs/applications/version-management/cz-cli/node-composition.nix
diff --git a/nixpkgs/pkgs/applications/version-management/commitizen/node-env.nix b/nixpkgs/pkgs/applications/version-management/cz-cli/node-env.nix
index 5f055785791b..5f055785791b 100644
--- a/nixpkgs/pkgs/applications/version-management/commitizen/node-env.nix
+++ b/nixpkgs/pkgs/applications/version-management/cz-cli/node-env.nix
diff --git a/nixpkgs/pkgs/applications/version-management/commitizen/node-packages.nix b/nixpkgs/pkgs/applications/version-management/cz-cli/node-packages.nix
index b8767125feec..b8767125feec 100644
--- a/nixpkgs/pkgs/applications/version-management/commitizen/node-packages.nix
+++ b/nixpkgs/pkgs/applications/version-management/cz-cli/node-packages.nix
diff --git a/nixpkgs/pkgs/applications/version-management/commitizen/package.json b/nixpkgs/pkgs/applications/version-management/cz-cli/package.json
index c3e3b5ab29e2..c3e3b5ab29e2 100644
--- a/nixpkgs/pkgs/applications/version-management/commitizen/package.json
+++ b/nixpkgs/pkgs/applications/version-management/cz-cli/package.json
diff --git a/nixpkgs/pkgs/applications/version-management/dvc/default.nix b/nixpkgs/pkgs/applications/version-management/dvc/default.nix
index ac1659cccf8b..a886f6b332cc 100644
--- a/nixpkgs/pkgs/applications/version-management/dvc/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/dvc/default.nix
@@ -1,5 +1,5 @@
 { lib
-, python3Packages
+, python3
 , fetchFromGitHub
 , enableGoogle ? false
 , enableAWS ? false
@@ -7,59 +7,88 @@
 , enableSSH ? false
 }:
 
-with python3Packages;
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "dvc";
-  version = "0.24.3";
+  version = "2.9.3";
+  format = "setuptools";
 
-  # PyPi only has wheel
   src = fetchFromGitHub {
     owner = "iterative";
-    repo = "dvc";
+    repo = pname;
     rev = version;
-    sha256 = "1wqq4i23hppilp20fx5a5nj93xwf3wwwr2f8aasvn6jkv2l22vpl";
+    hash = "sha256-nRlgo7Wjs7RgTUxoMYQh5YEsqiJtdWH2ex79rhXagAQ=";
   };
 
-  propagatedBuildInputs = [
-    ply
-    configparser
-    zc_lockfile
-    future
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+    setuptools-scm-git-archive
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    aiohttp-retry
     colorama
     configobj
-    networkx
-    pyyaml
-    GitPython
-    setuptools
+    configobj
+    dictdiffer
+    diskcache
+    distro
+    dpath
+    flatten-dict
+    flufl_lock
+    funcy
+    grandalf
     nanotime
-    pyasn1
-    schema
-    jsonpath_rw
+    networkx
+    pathspec
+    ply
+    psutil
+    pydot
+    pygtrie
+    pyparsing
+    python-benedict
     requests
-    grandalf
-    asciimatics
-    distro
-    appdirs
-  ]
-  ++ lib.optional enableGoogle google-cloud-storage
-  ++ lib.optional enableAWS boto3
-  ++ lib.optional enableAzure azure-storage-blob
-  ++ lib.optional enableSSH paramiko;
-
-  # tests require access to real cloud services
-  # nix build tests have to be isolated and run locally
-  doCheck = false;
+    rich
+    ruamel-yaml
+    scmrepo
+    shortuuid
+    shtab
+    tabulate
+    toml
+    tqdm
+    typing-extensions
+    voluptuous
+    zc_lockfile
+  ] ++ lib.optional enableGoogle [
+    google-cloud-storage
+  ] ++ lib.optional enableAWS [
+    boto3
+  ] ++ lib.optional enableAzure [
+    azure-storage-blob
+  ] ++ lib.optional enableSSH [
+    paramiko
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ];
 
   patches = [ ./dvc-daemon.patch ];
 
   postPatch = ''
-    substituteInPlace dvc/daemon.py --subst-var-by dvc "$out/bin/dcv"
+    substituteInPlace setup.cfg \
+      --replace "grandalf==0.6" "grandalf>=0.6"
+    substituteInPlace dvc/daemon.py \
+      --subst-var-by dvc "$out/bin/dcv"
   '';
 
+  # Tests require access to real cloud services
+  doCheck = false;
+
   meta = with lib; {
     description = "Version Control System for Machine Learning Projects";
-    license = licenses.asl20;
     homepage = "https://dvc.org";
-    maintainers = with maintainers; [ cmcdragonkai ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cmcdragonkai fab ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch b/nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch
index 5c2d363b17f1..2263ce118dd4 100644
--- a/nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch
+++ b/nixpkgs/pkgs/applications/version-management/dvc/dvc-daemon.patch
@@ -1,21 +1,18 @@
 diff --git a/dvc/daemon.py b/dvc/daemon.py
-index 1d67a37..7ce6fde 100644
+index 9854a0e1..fefdd613 100644
 --- a/dvc/daemon.py
 +++ b/dvc/daemon.py
-@@ -67,14 +67,8 @@ def daemon(args):
-     Args:
-         args (list): list of arguments to append to `dvc daemon` command.
-     """
--    cmd = [sys.executable]
--    if not is_binary():
--        cmd += ['-m', 'dvc']
--    cmd += ['daemon', '-q'] + args
+@@ -103,11 +103,8 @@ def daemon(args):
+         logger.debug("skipping launching a new daemon.")
+         return
+ 
+-    cmd = ["daemon", "-q"] + args
 -
 -    env = fix_env()
 -    file_path = os.path.abspath(inspect.stack()[0][1])
--    env['PYTHONPATH'] = os.path.dirname(os.path.dirname(file_path))
+-    env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
 +    cmd = [ "@dvc@" , "daemon", "-q"] + args
 +    env = None
+     env[DVC_DAEMON] = "1"
  
-     logger.debug("Trying to spawn '{}' with env '{}'".format(cmd, env))
- 
+     _spawn(cmd, env)
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
index ed01e9259f7a..a0dc4a205d61 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/gfold/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gfold/default.nix
new file mode 100644
index 000000000000..ee280c6620c0
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gfold/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromGitHub, gitMinimal, makeWrapper, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gfold";
+  version = "3.0.0";
+
+  src = fetchFromGitHub {
+    owner = "nickgerace";
+    repo = pname;
+    rev = version;
+    sha256 = "0ss6vfrc6h3jlh5qilh82psd3vdnfawf1wl4cf64mfm4hm9dda63";
+  };
+
+  cargoSha256 = "09ywwgxm8l1p0jypp65zpqryjnb2g4gririf1dmqb9148dsj29x2";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/gfold" --prefix PATH : "${gitMinimal}/bin"
+  '';
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description =
+      "A tool to help keep track of your Git repositories, written in Rust";
+    license = licenses.asl20;
+    maintainers = [ maintainers.shanesveller ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 59aba526c3fd..3774b43d37dc 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-RFKS6fHh+rX5S31MvAQpJUNgaI6loiUw0FNkdsMFqlQ=";
+    sha256 = "sha256-T0xThL4VHzpNMQV8fTVnG7R+D9ol/Z7a4MYMXbkQ680=";
   };
 
-  vendorSha256 = "sha256-6owFzn+NAhlHjTJEur1H5oZY87ZoptvAnF2w6kafix8=";
+  vendorSha256 = "sha256-tJg/vekGUYP4q1ZP5UV3+lXv6bht4doVV3IaGH+4uf8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
index 9a4d3878e8af..8cedd24be052 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
index f88130b926aa..b93491e267c3 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 61061dad7c01..88224a642510 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -5,13 +5,13 @@ let
 
 in buildPythonApplication rec {
   pname = "git-cola";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    sha256 = "1s58wlpnndypx1q0m9fx8jmcd6hzqvrwdaxxrk7gn5nf423wq4xv";
+    sha256 = "1f8jpfa916nszj431cmp41bxj2m76k2n8qnscqgxrc0k3pnnp3wc";
   };
 
   buildInputs = [ git gettext ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index 83397d1934e1..279ae81b1010 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-hub";
-  version = "2.1.1";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "sociomantic-tsunami";
     repo = "git-hub";
     rev = "v${version}";
-    sha256 = "sha256-k8sGgDhQn9e0lxM604Wz2sy4lrX5o82xAgWbqscOmQw=";
+    sha256 = "sha256-fb/WDmBx1Vayu4fLeG+D1nmHJJawgIAAXcQsABsenBo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index f08a74bd3401..3fd3a37419f5 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix
index b0279f004c24..7783c28927cf 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-workspace";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-//EyGhuE8rMRL03TtECIi0X51/p/GvTqvr2FRQEIqFA=";
+    sha256 = "sha256-uP1sex4Hx57ZsqVG4b3809FzFB10Un48+vbwaWZ7HSg=";
   };
 
-  cargoSha256 = "sha256-X0jRwDUVzS1s2tG6N2RDaFqwUUAT+mPMEft11VkJy5A=";
+  cargoSha256 = "sha256-mkrC8uzfNpL0MQUMjcNaJf5c1wSdlBVg8AMgc/zxM6A=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
index 073b50c4bd51..13da857b790e 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index d6f54497a33b..7e56f28a81ea 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
index f94f772f50f1..73d35b1bd9b2 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/gitty/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitty/default.nix
index bc27c4eb9094..12a82143c35b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitty/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitty/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gitty";
-  version = "0.5.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "muesli";
     repo = "gitty";
     rev = "v${version}";
-    sha256 = "sha256-BlYZe8bLyr6QQmBwQQ0VySHohKLRVImECxfzAOPm8Xg=";
+    sha256 = "sha256-g0D6nJiHY7cz72DSmdQZsj9Vgv/VOp0exTcLsaypGiU=";
   };
 
-  vendorSha256 = "sha256-LINOjjKicnr0T9RiOcSWWDl0bdY3c6EHHMTBA9LTOG4=";
+  vendorSha256 = "sha256-qrLECQkjXH0aTHmysq64jnXj9jgbunpVtBAIXJOEYIY=";
 
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix
index 24ba62a6908c..e5058ad48e6c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -1,18 +1,30 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv, perl, python3, Security, AppKit, openssl, xclip, pkg-config }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, libiconv
+, openssl
+, pkg-config
+, xclip
+, AppKit
+, Security
+}:
+
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.19.0";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PNyXmXHS8StJhx6Qko7zbXrX1CX3owC1HmyX9VV7tEg=";
+    sha256 = "sha256-zYM0JVhgFnp8JDBx9iEOt029sr8azIPX5jrtvUE/Pn0=";
   };
 
-  cargoSha256 = "sha256-Q6QUxIe5bkoEcxZZwhJbihaHhSsX8SLqWzmjp8hFsS4=";
+  cargoSha256 = "sha256-kbLI95GzCwm2OKzzpk7jvgtm8vArf29u5BiPRTh2OmE=";
+
+  nativeBuildInputs = [ pkg-config ];
 
-  nativeBuildInputs = [ python3 perl pkg-config ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isLinux xclip
     ++ lib.optionals stdenv.isDarwin [ libiconv Security AppKit ];
@@ -21,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   OPENSSL_NO_VENDOR = 1;
 
   meta = with lib; {
-    description = "Blazing fast terminal-ui for git written in rust";
+    description = "Blazing fast terminal-ui for Git written in Rust";
     homepage = "https://github.com/extrawurst/gitui";
     license = licenses.mit;
     maintainers = with maintainers; [ Br1ght0ne yanganto ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
index 0db8cf87077e..69e950867631 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "glab";
-  version = "1.21.1";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "profclems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-naCCJ9s63UPDxRWbVjVikXtGUlM4Lp7vyDHlESEtXeI=";
+    sha256 = "sha256-7w6cbeZYhmV0EXXcWlXFq2pQGGxc5Ok4bba0g3fcgmE=";
   };
 
-  vendorSha256 = "sha256-rciT4UcsLu/vI0PqdTlMjbYXVumzo3ASsopkgiHGM60=";
+  vendorSha256 = "sha256-hGpJXCs5lZ6QQHr6LW1fCT+CVtOaUpYXJPchDPDdbaM=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/glitter/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/glitter/default.nix
index 8dec11dde80c..3c1104029128 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/glitter/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/glitter/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "glitter";
-  version = "1.5.11";
+  version = "1.5.14";
 
   src = fetchFromGitHub {
     owner = "milo123459";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WAQ4DwPKkATLa52GE5LZRVY0YH4nRStjPuQg7kdXRjw=";
+    sha256 = "sha256-Q1zPPT0gNI96n8PIk1qATRzxm5vmGmRMwZ9j7bb8knk=";
   };
 
-  cargoSha256 = "sha256-UK3gUAs+FalqboK7MuhE9kOc/Smu/EAN0BYbgg4PWns=";
+  cargoSha256 = "sha256-JKM98cpZz2MTa+f2A7NRcKwGjbm4YRabMlV6DHXT64U=";
 
   # tests require it to be in a git repository
   preCheck = ''
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix
index e43c602d6d91..7cfa5765df4c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix
@@ -45,6 +45,6 @@ buildGoPackage {
     homepage = "https://github.com/rgburke/grv";
     license = licenses.gpl3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
index 8f84c0db558e..6355b7114f5f 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qgit";
-  version = "2.9";
+  version = "2.10";
 
   src = fetchFromGitHub {
     owner = "tibirna";
     repo = "qgit";
     rev = "${pname}-${version}";
-    sha256 = "0n4dq9gffm9yd7n5p5qcdfgrmg2kwnfd51hfx10adgj9ibxlnc3z";
+    sha256 = "1cwq43ywvii9zh4m31mgkgisfc9qhiixlz0zlv99skk9vb5v6r38";
   };
 
   buildInputs = [ qtbase ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix
index 1c3fdf90aa79..0a6251548be2 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/stgit/default.nix
@@ -12,13 +12,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "stgit";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "stacked-git";
     repo = "stgit";
     rev = "v${version}";
-    sha256 = "0yx81d61kp33h7n0c14wvcrh8vvjjjq4xjh1qwq2sdbmqc43p3hg";
+    sha256 = "sha256-TsJr2Riygz/DZrn6UZMPvq1tTfvl3dFEZZNq2wVj1Nw=";
   };
 
   nativeBuildInputs = [ installShellFiles asciidoc xmlto docbook_xsl docbook_xml_dtd_45 ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
index fb3b521c8df9..4124ca67e65d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A tool for a smooth, stress-free SVN to Git migration";
     longDescription = "Create writable Git mirror of a local or remote Subversion repository and use both Subversion and Git as long as you like. You may also do a fast one-time import from Subversion to Git.";
-    homepage = "http://subgit.com";
+    homepage = "https://subgit.com";
     license = lib.licenses.unfree;
     platforms = lib.platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
index fd57eb22186f..e81bf81dd3cd 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tig";
-  version = "2.5.4";
+  version = "2.5.5";
 
   src = fetchFromGitHub {
     owner = "jonas";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-dZqqUydZ4q/mDEjtojpMGfzAmW3yCNDvT9oCEmhq1hg=";
+    sha256 = "1yx63jfbaa5h0d3lfqlczs9l7j2rnhp5jpa8qcjn4z1n415ay2x5";
   };
 
   nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkg-config ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix b/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix
index 006809db6226..682f0d97f6b4 100644
--- a/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix
@@ -1,17 +1,20 @@
-{ lib, fetchFromGitHub, python2Packages }:
+{ lib, fetchFromGitHub, python3 }:
 
-python2Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "git-crecord";
-  version = "20161216.0";
+  version = "20201025.0";
 
   src = fetchFromGitHub {
     owner = "andrewshadura";
     repo = "git-crecord";
     rev = version;
-    sha256 = "0v3y90zi43myyi4k7q3892dcrbyi9dn2q6xgk12nw9db9zil269i";
+    sha256 = "1rkdmy2d2vsx22fx97nd9afh0g5lq4pns7rdxyl711apq1bhiihn";
   };
 
-  propagatedBuildInputs = with python2Packages; [ docutils ];
+  propagatedBuildInputs = with python3.pkgs; [ docutils ];
+
+  # has no tests
+  doCheck = false;
 
   meta = {
     homepage = "https://github.com/andrewshadura/git-crecord";
diff --git a/nixpkgs/pkgs/applications/version-management/git-lfs/default.nix b/nixpkgs/pkgs/applications/version-management/git-lfs/default.nix
index c5422d9a6c6c..9f0126d9ac4c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-lfs/default.nix
+++ b/nixpkgs/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";
@@ -19,6 +19,12 @@ buildGoPackage rec {
 
   subPackages = [ "." ];
 
+  preBuild = ''
+    pushd go/src/github.com/git-lfs/git-lfs
+      go generate ./commands
+    popd
+  '';
+
   postBuild = ''
     make -C go/src/${goPackagePath} man
   '';
diff --git a/nixpkgs/pkgs/applications/version-management/git-repo/default.nix b/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
index bc496cbbaaee..f4eeb4aac12b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.19";
+  version = "2.21";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-aJnerKeZobgw3e4s7D7de7/nP6vwymLpeKnrLmPzDow=";
+    sha256 = "sha256-nl/NFbyL0MWgvpwaqkCOkKuSquFTQRKZ7Ski5qYRL9w=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/nixpkgs/pkgs/applications/version-management/gitea/default.nix b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
index 6d856caecd96..513fdd67cd28 100644
--- a/nixpkgs/pkgs/applications/version-management/gitea/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.15.9";
+  version = "1.16.1";
 
   # 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-DzPgAy7Curypc/66c1NqYSHFgtovpY5qEq/Le+0VYk4=";
+    sha256 = "sha256-CaJ6Br8Sy+8GuoI8UWxsn3oGEp6R3X5kvl9vDKZB1bc=";
   };
 
   unpackPhase = ''
@@ -77,6 +77,6 @@ buildGoPackage rec {
     description = "Git with a cup of tea";
     homepage = "https://gitea.io";
     license = licenses.mit;
-    maintainers = with maintainers; [ disassembler kolaente ma27 ];
+    maintainers = with maintainers; [ disassembler kolaente ma27 techknowlogick ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitinspector/default.nix b/nixpkgs/pkgs/applications/version-management/gitinspector/default.nix
deleted file mode 100644
index 63ceb6e3868f..000000000000
--- a/nixpkgs/pkgs/applications/version-management/gitinspector/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, fetchFromGitHub, python2Packages }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "gitinspector";
-  version = "0.4.4";
-  namePrefix = "";
-
-  src = fetchFromGitHub {
-    owner = "ejwa";
-    repo = "gitinspector";
-    rev = "v${version}";
-    sha256 = "sha256-9bChvE5aAZFunu599pH7QKHZFd7aQzv0i9LURrvh2t0=";
-  };
-
-  checkInputs = with python2Packages; [
-    unittest2
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/ejwa/gitinspector";
-    description = "Statistical analysis tool for git repositories";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/data.json b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
index 4a1e7f46ea38..5b8bd65a5111 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/data.json
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "14.6.0",
-  "repo_hash": "0b77nh7xq5qalzhvfmsymmkrb78lmaffk464b074wi5c8gy3f5dn",
-  "yarn_hash": "1kcjbf8xn3bwac2s9i2i7dpgbkwcjh09wvgbgysm5yffpdswg6nl",
+  "version": "14.7.2",
+  "repo_hash": "1jnwbcsswvy6jjrc2jclrxyyxi54caf8w51sgyiqaik5s3p4wgnx",
+  "yarn_hash": "12k2r1y7kw95kfsmy0s8rbsf0vldr8c2liah0rkc7pihr19gq3w7",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.6.0-ee",
+  "rev": "v14.7.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.6.0",
-    "GITLAB_PAGES_VERSION": "1.49.0",
-    "GITLAB_SHELL_VERSION": "13.22.1",
-    "GITLAB_WORKHORSE_VERSION": "14.6.0"
+    "GITALY_SERVER_VERSION": "14.7.2",
+    "GITLAB_PAGES_VERSION": "1.51.0",
+    "GITLAB_SHELL_VERSION": "13.22.2",
+    "GITLAB_WORKHORSE_VERSION": "14.7.2"
   }
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
index c386add243e2..f53c693c90be 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
@@ -22,12 +22,6 @@ let
     gemset =
       let x = import (gemdir + "/gemset.nix");
       in x // {
-        # grpc expects the AR environment variable to contain `ar rpc`. See the
-        # discussion in nixpkgs #63056.
-        grpc = x.grpc // {
-          patches = [ ./fix-grpc-ar.patch ];
-          dontBuild = false;
-        };
         # the openssl needs the openssl include files
         openssl = x.openssl // {
           buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch b/nixpkgs/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch
deleted file mode 100644
index 9b95e668e045..000000000000
--- a/nixpkgs/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/ruby/ext/grpc/extconf.rb
-+++ b/src/ruby/ext/grpc/extconf.rb
-@@ -27,6 +27,7 @@ ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.7'
- if ENV['AR'].nil? || ENV['AR'].size == 0
-     ENV['AR'] = RbConfig::CONFIG['AR'] + ' rcs'
- end
-+ENV['AR'] = ENV['AR'] + ' rcs'
- if ENV['CC'].nil? || ENV['CC'].size == 0
-     ENV['CC'] = RbConfig::CONFIG['CC']
- end
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index bec450d04760..70dd9c594c98 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -3,11 +3,11 @@ source 'https://rubygems.org'
 gem 'rugged', '~> 1.2'
 gem 'github-linguist', '~> 7.12', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.1'
-gem 'activesupport', '~> 6.1.4.1'
+gem 'activesupport', '~> 6.1.4.4'
 gem 'rdoc', '~> 6.0'
-gem 'gitlab-gollum-lib', '~> 4.2.7.10.gitlab.1', require: false
+gem 'gitlab-gollum-lib', '~> 4.2.7.10.gitlab.2', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.4.gitlab.1', require: false
-gem 'grpc', '~> 1.30.2'
+gem 'grpc', '~> 1.42.0' # keep in lock-step with grpc-tools
 gem 'sentry-raven', '~> 3.0', require: false
 gem 'faraday', '~> 1.0'
 gem 'rbtrace', require: false
@@ -19,7 +19,7 @@ gem 'gitlab-labkit', '~> 0.21.1'
 # This version needs to be in sync with GitLab CE/EE
 gem 'licensee', '~> 9.14.1'
 
-gem 'google-protobuf', '~> 3.17.0'
+gem 'google-protobuf', '~> 3.19.0'
 
 group :development, :test do
   gem 'rubocop', '~> 0.69', require: false
@@ -29,7 +29,7 @@ group :development, :test do
   gem 'factory_bot', require: false
   gem 'pry', '~> 0.12.2', require: false
 
-  gem 'grpc-tools', '= 1.30.2'
+  gem 'grpc-tools', '~> 1.42.0'
 end
 
 # Gems required in omnibus-gitlab pipeline
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index 415ca4b16752..fd0dea027e0d 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -2,20 +2,20 @@ GEM
   remote: https://rubygems.org/
   specs:
     abstract_type (0.0.7)
-    actionpack (6.1.4.1)
-      actionview (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    actionpack (6.1.4.4)
+      actionview (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       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.1)
-      activesupport (= 6.1.4.1)
+    actionview (6.1.4.4)
+      activesupport (= 6.1.4.4)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activesupport (6.1.4.1)
+    activesupport (6.1.4.4)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -54,13 +54,13 @@ GEM
       mini_mime (~> 1.0)
       rugged (>= 0.25.1)
     github-markup (1.7.0)
-    gitlab-gollum-lib (4.2.7.10.gitlab.1)
+    gitlab-gollum-lib (4.2.7.10.gitlab.2)
       gemojione (~> 3.2)
       github-markup (~> 1.6)
-      gitlab-gollum-rugged_adapter (~> 0.4.4.3.gitlab.1)
+      gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
       nokogiri (>= 1.6.1, < 2.0)
       rouge (~> 3.1)
-      sanitize (~> 4.6.4)
+      sanitize (~> 6.0)
       stringex (~> 2.6)
     gitlab-gollum-rugged_adapter (0.4.4.4.gitlab.1)
       mime-types (>= 1.15)
@@ -81,27 +81,27 @@ GEM
       with_env (= 1.1.0)
       xml-simple (~> 1.1.5)
     gitlab-markup (1.7.1)
-    google-protobuf (3.17.3)
-    googleapis-common-protos-types (1.1.0)
+    google-protobuf (3.19.1)
+    googleapis-common-protos-types (1.3.0)
       google-protobuf (~> 3.14)
-    grpc (1.30.2)
-      google-protobuf (~> 3.12)
+    grpc (1.42.0)
+      google-protobuf (~> 3.18)
       googleapis-common-protos-types (~> 1.0)
-    grpc-tools (1.30.2)
-    i18n (1.8.10)
+    grpc-tools (1.42.0)
+    i18n (1.8.11)
       concurrent-ruby (~> 1.0)
     ice_nine (0.11.2)
     jaeger-client (1.1.0)
       opentracing (~> 0.3)
       thrift
-    json (2.5.1)
+    json (2.6.1)
     licensee (9.14.1)
       dotenv (~> 2.0)
       octokit (~> 4.17)
       reverse_markdown (~> 1.0)
       rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
-    loofah (2.12.0)
+    loofah (2.13.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -111,15 +111,13 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2020.1104)
     mini_mime (1.0.2)
-    mini_portile2 (2.5.1)
-    minitest (5.14.4)
+    mini_portile2 (2.6.1)
+    minitest (5.15.0)
     msgpack (1.3.3)
     multipart-post (2.1.1)
-    nokogiri (1.11.7)
-      mini_portile2 (~> 2.5.0)
+    nokogiri (1.12.5)
+      mini_portile2 (~> 2.6.1)
       racc (~> 1.4)
-    nokogumbo (1.5.0)
-      nokogiri
     octokit (4.20.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
@@ -139,7 +137,7 @@ GEM
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
     public_suffix (4.0.6)
-    racc (1.5.2)
+    racc (1.6.0)
     rack (2.2.3)
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
@@ -158,8 +156,8 @@ GEM
     regexp_parser (1.8.1)
     reverse_markdown (1.4.0)
       nokogiri
-    rexml (3.2.4)
-    rouge (3.26.0)
+    rexml (3.2.5)
+    rouge (3.27.0)
     rspec (3.8.0)
       rspec-core (~> 3.8.0)
       rspec-expectations (~> 3.8.0)
@@ -193,10 +191,9 @@ GEM
     ruby-progressbar (1.10.1)
     rubyzip (2.3.2)
     rugged (1.2.0)
-    sanitize (4.6.6)
+    sanitize (6.0.0)
       crass (~> 1.0.2)
-      nokogiri (>= 1.4.4)
-      nokogumbo (~> 1.4)
+      nokogiri (>= 1.12.0)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
@@ -222,24 +219,24 @@ GEM
     with_env (1.1.0)
     xml-simple (1.1.9)
       rexml
-    zeitwerk (2.4.2)
+    zeitwerk (2.5.3)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 6.1.4.1)
+  activesupport (~> 6.1.4.4)
   factory_bot
   faraday (~> 1.0)
   github-linguist (~> 7.12)
-  gitlab-gollum-lib (~> 4.2.7.10.gitlab.1)
+  gitlab-gollum-lib (~> 4.2.7.10.gitlab.2)
   gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
   gitlab-labkit (~> 0.21.1)
   gitlab-license_finder
   gitlab-markup (~> 1.7.1)
-  google-protobuf (~> 3.17.0)
-  grpc (~> 1.30.2)
-  grpc-tools (= 1.30.2)
+  google-protobuf (~> 3.19.0)
+  grpc (~> 1.42.0)
+  grpc-tools (~> 1.42.0)
   licensee (~> 9.14.1)
   pry (~> 0.12.2)
   rbtrace
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 7cfcdf7dd746..51c9dd71f160 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -14,6 +14,8 @@ let
       rev = "109b4c887ffb63962c7017a66fc4a1f48becb48e";
       sha256 = "sha256-w029FHpOv5K49wE1OJMOlkTe+2cv+ORYqEHxs59GDBI=";
     };
+
+    patches = [];
   });
 
   rubyEnv = bundlerEnv rec {
@@ -21,19 +23,9 @@ let
     inherit ruby;
     copyGemFiles = true;
     gemdir = ./.;
-    gemset =
-      let x = import (gemdir + "/gemset.nix");
-      in x // {
-        # grpc expects the AR environment variable to contain `ar rpc`. See the
-        # discussion in nixpkgs #63056.
-        grpc = x.grpc // {
-          patches = [ ../fix-grpc-ar.patch ];
-          dontBuild = false;
-        };
-      };
   };
 
-  version = "14.6.0";
+  version = "14.7.2";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -45,10 +37,10 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-YiDZtWRb1PnCAv+UCPRQFoCA12vf3xoHoJ1i/hW+vMg=";
+    sha256 = "sha256-gtQmRryTYwT2e4lamWYJ7Ri7dEGI7vg/Ir1gnuGmHQg=";
   };
 
-  vendorSha256 = "sha256-ZLd4E3+e25Hqmd6ZyF3X6BveMEg7OF0FX9IvNBWn3v0=";
+  vendorSha256 = "sha256-eapqtSstc7d3R7A/5krKV0uVr9GhGkHHMrmsBOpWAbo=";
 
   passthru = {
     inherit rubyEnv;
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index 5e9efe0a8245..9539139fe4a3 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -13,10 +13,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
+      sha256 = "171ida68hrk21cq1zz1kfl9h94a3qw5p3afviqzsirl0kx6qjyv9";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
+      sha256 = "1lm2pf35p6q4ff78z175h6ihmzfg2j7ssn41374rb9iy9gpiiidm";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
+      sha256 = "0rvnz9lsf9mrkpji748sf51f54m027snkw6rm8flyvf7fq18rm98";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -247,10 +247,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r6smbqnh0m84fxwb2g11qjfbcsljfin4vhnf43nmmbql2l1i3ah";
+      sha256 = "1vs6frgnhhfnyicsjck39xibmn7xc6ji7wvznvfmr53f4smqjk40";
       type = "gem";
     };
-    version = "4.2.7.10.gitlab.1";
+    version = "4.2.7.10.gitlab.2";
   };
   gitlab-gollum-rugged_adapter = {
     dependencies = ["mime-types" "rugged"];
@@ -300,10 +300,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vmll4nnkha3vsqj1g76pwni6x7mp2i81pka4wdwq8qfhn210108";
+      sha256 = "1dwx4ns39bpmzmhglyip9d68i117zspf5lp865pf6hrsmmdf2k53";
       type = "gem";
     };
-    version = "3.17.3";
+    version = "3.19.1";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -311,10 +311,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1949w1lcd3iyiy4n6zgnrhdp78k9khbh2pbkrpkv263bbpmw8llg";
+      sha256 = "0w860lqs5j6n58a8qn4wr16hp0qz7cq5h67dgma04gncjwqiyhf5";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.3.0";
   };
   grpc = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types"];
@@ -322,20 +322,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rsglf7ag17n465iff7vlw83pn2rpl4kv9sb1rpf17nx6xpi7yl5";
+      sha256 = "0jjq2ing7px4zvdrg9xcq5a9qsciq6g3v14n95a3d9n6cyg69lmk";
       type = "gem";
     };
-    version = "1.30.2";
+    version = "1.42.0";
   };
   grpc-tools = {
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9zhsqhamp02ryzgfb4y2bbick151vlhrhj0kqbbz9lyhms0bd4";
+      sha256 = "0xipvw8zcm1c3pna6fgmy83x0yvffii8d7wafwcxmszxa647brw1";
       type = "gem";
     };
-    version = "1.30.2";
+    version = "1.42.0";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -343,10 +343,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
+      sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
       type = "gem";
     };
-    version = "1.8.10";
+    version = "1.8.11";
   };
   ice_nine = {
     source = {
@@ -372,10 +372,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
+      sha256 = "1z9grvjyfz16ag55hg522d3q4dh07hf391sf9s96npc0vfi85xkz";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.6.1";
   };
   licensee = {
     dependencies = ["dotenv" "octokit" "reverse_markdown" "rugged" "thor"];
@@ -394,10 +394,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw";
+      sha256 = "17rvbrqcci1579d7dpbsfmz1f9g7msk82lyh9ip5h29dkrnixcgg";
       type = "gem";
     };
-    version = "2.12.0";
+    version = "2.13.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -452,20 +452,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2";
+      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.6.1";
   };
   minitest = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "5.15.0";
   };
   msgpack = {
     groups = ["default"];
@@ -493,19 +493,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
-      type = "gem";
-    };
-    version = "1.11.7";
-  };
-  nokogumbo = {
-    dependencies = ["nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09qc1c7acv9qm48vk2kzvnrq4ij8jrql1cv33nmv2nwmlggy0jyj";
+      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.12.5";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -611,10 +602,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.6.0";
   };
   rack = {
     groups = ["default"];
@@ -720,24 +711,24 @@
     version = "1.4.0";
   };
   rexml = {
-    groups = ["default" "development" "test"];
+    groups = ["default" "development" "omnibus" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
       type = "gem";
     };
-    version = "3.2.4";
+    version = "3.2.5";
   };
   rouge = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3";
+      sha256 = "0530ri0p60km0bg0ib6swkhfnas427cva7vcdmnwl8df52a10y1k";
       type = "gem";
     };
-    version = "3.26.0";
+    version = "3.27.0";
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@@ -857,13 +848,15 @@
     version = "1.2.0";
   };
   sanitize = {
-    dependencies = ["crass" "nokogiri" "nokogumbo"];
+    dependencies = ["crass" "nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j4j2a2mkk1a70vbx959pvx0gvr1zb9snjwvsppwj28bp0p0b2bv";
+      sha256 = "1zq8pxmsd1abw18zz6mazsm2jfpwmbgdxbpawb7bmwvkb2c5yyc1";
       type = "gem";
     };
-    version = "4.6.6";
+    version = "6.0.0";
   };
   sawyer = {
     dependencies = ["addressable" "faraday"];
@@ -1001,9 +994,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
+      sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.3";
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index f1df035ca283..9dabd7c949be 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,12 +2,12 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "13.22.1";
+  version = "13.22.2";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-uqdKiBZ290mG0JNi17EjimfES6bN3q1hF6LXs3URTZ8=";
+    sha256 = "sha256-jAH/MKmCIybLXsypHehQJaKf+mK9ko5XqWoDH/XKE5w=";
   };
 
   buildInputs = [ ruby ];
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index fd8bdd2aef17..a8e1b11d7ebc 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.6.0";
+  version = "14.7.2";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index a28a05536ffc..aab373095f79 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -2,7 +2,7 @@
 
 source 'https://rubygems.org'
 
-gem 'rails', '~> 6.1.4.1'
+gem 'rails', '~> 6.1.4.4'
 
 gem 'bootsnap', '~> 1.9.1', require: false
 
@@ -50,7 +50,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0'
 gem 'omniauth-twitter', '~> 1.4'
 gem 'omniauth_crowd', '~> 2.4.0'
 gem 'omniauth-authentiq', '~> 0.3.3'
-gem 'gitlab-omniauth-openid-connect', '~> 0.8.0', require: 'omniauth_openid_connect'
+gem 'gitlab-omniauth-openid-connect', '~> 0.9.0', require: 'omniauth_openid_connect'
 gem 'omniauth-salesforce', '~> 1.0.5'
 gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
 gem 'rack-oauth2', '~> 1.16.0'
@@ -74,7 +74,7 @@ gem 'u2f', '~> 0.2.1'
 gem 'validates_hostname', '~> 1.0.11'
 gem 'rubyzip', '~> 2.0.0', require: 'zip'
 # GitLab Pages letsencrypt support
-gem 'acme-client', '~> 2.0', '>= 2.0.6'
+gem 'acme-client', '~> 2.0', '>= 2.0.9'
 
 # Browser detection
 gem 'browser', '~> 4.2'
@@ -98,10 +98,7 @@ gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
 
 # GraphQL API
 gem 'graphql', '~> 1.11.10'
-# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab/issues/31771
-# TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
-# https://gitlab.com/gitlab-org/gitlab/issues/31747
-gem 'graphiql-rails', '~> 1.4.10'
+gem 'graphiql-rails', '~> 1.8'
 gem 'apollo_upload_server', '~> 2.1.0'
 gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
 gem 'graphlient', '~> 0.4.0' # Used by BulkImport feature (group::import)
@@ -149,6 +146,7 @@ gem 'aws-sdk-core', '~> 3'
 gem 'aws-sdk-cloudformation', '~> 1'
 gem 'aws-sdk-s3', '~> 1'
 gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
+gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections
 
 # Markdown and HTML processing
 gem 'html-pipeline', '~> 2.13.2'
@@ -166,10 +164,10 @@ gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
 gem 'asciidoctor-plantuml', '~> 0.0.12'
 gem 'asciidoctor-kroki', '~> 0.5.0', require: false
-gem 'rouge', '~> 3.26.1'
+gem 'rouge', '~> 3.27.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.11.4'
+gem 'nokogiri', '~> 1.12'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -193,12 +191,12 @@ end
 # State machine
 gem 'state_machines-activerecord', '~> 0.8.0'
 
-# Issue tags
-gem 'acts-as-taggable-on', '~> 8.1'
+# CI domain tags
+gem 'acts-as-taggable-on', '~> 9.0'
 
 # Background jobs
 gem 'sidekiq', '~> 6.3'
-gem 'sidekiq-cron', '~> 1.0'
+gem 'sidekiq-cron', '~> 1.2'
 gem 'redis-namespace', '~> 1.8.1'
 gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch'
 
@@ -263,7 +261,7 @@ gem 'ruby-fogbugz', '~> 0.2.1'
 gem 'kubeclient', '~> 4.9.2'
 
 # Sanitize user input
-gem 'sanitize', '~> 5.2.1'
+gem 'sanitize', '~> 6.0'
 gem 'babosa', '~> 1.0.4'
 
 # Sanitizes SVG input
@@ -276,7 +274,7 @@ gem 'licensee', '~> 9.14.1'
 gem 'charlock_holmes', '~> 0.7.7'
 
 # Detect mime content type from content
-gem 'ruby-magic', '~> 0.4'
+gem 'ruby-magic', '~> 0.5'
 
 # Faster blank
 gem 'fast_blank'
@@ -312,7 +310,7 @@ gem 'pg_query', '~> 2.1'
 gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '~> 0.21.1'
+gem 'gitlab-labkit', '~> 0.21.3'
 # Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0
 # because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900
 gem 'thrift', '>= 0.14.0'
@@ -394,8 +392,6 @@ group :development, :test do
 
   gem 'parallel', '~> 1.19', require: false
 
-  gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
-
   gem 'test_file_finder', '~> 0.1.3'
 end
 
@@ -443,7 +439,8 @@ end
 
 gem 'octokit', '~> 4.15'
 
-# https://gitlab.com/gitlab-org/gitlab/issues/207207
+# Updating this gem version here is deprecated. See:
+# https://docs.gitlab.com/ee/development/emails.html#mailroom-gem-updates
 gem 'gitlab-mail_room', '~> 0.0.9', require: 'mail_room'
 
 gem 'email_reply_trimmer', '~> 0.1'
@@ -483,14 +480,14 @@ end
 gem 'spamcheck', '~> 0.1.0'
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 14.4.0.pre.rc43'
+gem 'gitaly', '~> 14.6.0.pre.rc1'
 
 # KAS GRPC protocol definitions
 gem 'kas-grpc', '~> 0.0.2'
 
-gem 'grpc', '~> 1.30.2'
+gem 'grpc', '~> 1.42.0'
 
-gem 'google-protobuf', '~> 3.17.1'
+gem 'google-protobuf', '~> 3.19.0'
 
 gem 'toml-rb', '~> 2.0'
 
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 3bfd392abaf9..e036b98f3304 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -2,72 +2,72 @@ GEM
   remote: https://rubygems.org/
   specs:
     RedCloth (4.3.2)
-    acme-client (2.0.6)
+    acme-client (2.0.9)
       faraday (>= 0.17, < 2.0.0)
-    actioncable (6.1.4.1)
-      actionpack (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    actioncable (6.1.4.4)
+      actionpack (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (6.1.4.1)
-      actionpack (= 6.1.4.1)
-      activejob (= 6.1.4.1)
-      activerecord (= 6.1.4.1)
-      activestorage (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    actionmailbox (6.1.4.4)
+      actionpack (= 6.1.4.4)
+      activejob (= 6.1.4.4)
+      activerecord (= 6.1.4.4)
+      activestorage (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       mail (>= 2.7.1)
-    actionmailer (6.1.4.1)
-      actionpack (= 6.1.4.1)
-      actionview (= 6.1.4.1)
-      activejob (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    actionmailer (6.1.4.4)
+      actionpack (= 6.1.4.4)
+      actionview (= 6.1.4.4)
+      activejob (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.1.4.1)
-      actionview (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    actionpack (6.1.4.4)
+      actionview (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actiontext (6.1.4.1)
-      actionpack (= 6.1.4.1)
-      activerecord (= 6.1.4.1)
-      activestorage (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    actiontext (6.1.4.4)
+      actionpack (= 6.1.4.4)
+      activerecord (= 6.1.4.4)
+      activestorage (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       nokogiri (>= 1.8.5)
-    actionview (6.1.4.1)
-      activesupport (= 6.1.4.1)
+    actionview (6.1.4.4)
+      activesupport (= 6.1.4.4)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activejob (6.1.4.1)
-      activesupport (= 6.1.4.1)
+    activejob (6.1.4.4)
+      activesupport (= 6.1.4.4)
       globalid (>= 0.3.6)
-    activemodel (6.1.4.1)
-      activesupport (= 6.1.4.1)
-    activerecord (6.1.4.1)
-      activemodel (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    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)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
-    activestorage (6.1.4.1)
-      actionpack (= 6.1.4.1)
-      activejob (= 6.1.4.1)
-      activerecord (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    activestorage (6.1.4.4)
+      actionpack (= 6.1.4.4)
+      activejob (= 6.1.4.4)
+      activerecord (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       marcel (~> 1.0.0)
       mini_mime (>= 1.1.0)
-    activesupport (6.1.4.1)
+    activesupport (6.1.4.4)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
       zeitwerk (~> 2.3)
-    acts-as-taggable-on (8.1.0)
-      activerecord (>= 5.0, < 6.2)
+    acts-as-taggable-on (9.0.0)
+      activerecord (>= 6.0, < 7.1)
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     aes_key_wrap (1.1.0)
@@ -117,14 +117,14 @@ GEM
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.2.1)
       aws-eventstream (~> 1, >= 1.0.2)
-    azure-storage-blob (2.0.1)
+    azure-storage-blob (2.0.3)
       azure-storage-common (~> 2.0)
-      nokogiri (~> 1.11.0.rc2)
-    azure-storage-common (2.0.2)
+      nokogiri (~> 1, >= 1.10.8)
+    azure-storage-common (2.0.4)
       faraday (~> 1.0)
-      faraday_middleware (~> 1.0.0.rc1)
+      faraday_middleware (~> 1.0, >= 1.0.0.rc1)
       net-http-persistent (~> 4.0)
-      nokogiri (~> 1.11.0.rc2)
+      nokogiri (~> 1, >= 1.10.8)
     babosa (1.0.4)
     backport (1.2.0)
     base32 (0.3.2)
@@ -232,7 +232,6 @@ GEM
       danger
       gitlab (~> 4.2, >= 4.2.0)
     database_cleaner (1.7.0)
-    debugger-ruby_core_source (1.3.8)
     deckar01-task_list (2.3.1)
       html-pipeline
     declarative (0.0.20)
@@ -326,8 +325,10 @@ GEM
     escape_utils (1.2.1)
     et-orbi (1.2.1)
       tzinfo
+    ethon (0.15.0)
+      ffi (>= 1.15.0)
     eventmachine (1.2.7)
-    excon (0.71.1)
+    excon (0.90.0)
     execjs (2.8.1)
     expression_parser (0.9.0)
     extended-markdown-filter (0.6.0)
@@ -443,7 +444,7 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (14.4.0.pre.rc43)
+    gitaly (14.6.0.pre.rc1)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab (4.16.1)
@@ -465,10 +466,10 @@ GEM
       fog-json (~> 1.2.0)
       mime-types
       ms_rest_azure (~> 0.12.0)
-    gitlab-labkit (0.21.1)
+    gitlab-labkit (0.21.3)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
-      grpc (~> 1.30.2)
+      grpc (>= 1.37)
       jaeger-client (~> 1.1)
       opentracing (~> 0.4)
       pg_query (~> 2.1)
@@ -484,7 +485,7 @@ GEM
     gitlab-mail_room (0.0.9)
     gitlab-markup (1.8.0)
     gitlab-net-dns (0.9.1)
-    gitlab-omniauth-openid-connect (0.8.0)
+    gitlab-omniauth-openid-connect (0.9.1)
       addressable (~> 2.7)
       omniauth (~> 1.9)
       openid_connect (~> 1.2)
@@ -504,7 +505,7 @@ GEM
       omniauth (~> 1.3)
       pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
       rubyntlm (~> 0.5)
-    globalid (0.5.2)
+    globalid (1.0.0)
       activesupport (>= 5.0)
     gon (6.4.0)
       actionpack (>= 3.0.20)
@@ -522,8 +523,8 @@ GEM
       signet (~> 0.12)
     google-cloud-env (1.5.0)
       faraday (>= 0.17.3, < 2.0)
-    google-protobuf (3.17.3)
-    googleapis-common-protos-types (1.1.0)
+    google-protobuf (3.19.1)
+    googleapis-common-protos-types (1.3.0)
       google-protobuf (~> 3.14)
     googleauth (0.14.0)
       faraday (>= 0.17.3, < 2.0)
@@ -552,7 +553,7 @@ GEM
     grape_logging (1.8.3)
       grape
       rack
-    graphiql-rails (1.4.10)
+    graphiql-rails (1.8.0)
       railties
       sprockets-rails
     graphlient (0.4.0)
@@ -571,8 +572,8 @@ GEM
       graphql (~> 1.6)
       html-pipeline (~> 2.8)
       sass (~> 3.4)
-    grpc (1.30.2)
-      google-protobuf (~> 3.12)
+    grpc (1.42.0)
+      google-protobuf (~> 3.18)
       googleapis-common-protos-types (~> 1.0)
     gssapi (1.2.0)
       ffi (>= 1.0.1)
@@ -732,7 +733,7 @@ GEM
     lumberjack (1.2.7)
     mail (2.7.1)
       mini_mime (>= 0.1.1)
-    marcel (1.0.1)
+    marcel (1.0.2)
     marginalia (1.10.0)
       actionpack (>= 2.3)
       activerecord (>= 2.3)
@@ -745,7 +746,7 @@ GEM
     mini_histogram (0.3.1)
     mini_magick (4.10.1)
     mini_mime (1.1.1)
-    mini_portile2 (2.5.3)
+    mini_portile2 (2.6.1)
     minitest (5.11.3)
     mixlib-cli (2.1.8)
     mixlib-config (3.0.9)
@@ -783,11 +784,9 @@ GEM
     netrc (0.11.0)
     nio4r (2.5.8)
     no_proxy_fix (0.1.2)
-    nokogiri (1.11.7)
-      mini_portile2 (~> 2.5.0)
+    nokogiri (1.12.5)
+      mini_portile2 (~> 2.6.1)
       racc (~> 1.4)
-    nokogumbo (2.0.2)
-      nokogiri (~> 1.8, >= 1.8.4)
     notiffany (0.1.3)
       nenv (~> 0.1)
       shellany (~> 0.0)
@@ -880,7 +879,7 @@ GEM
       nokogiri (>= 1.4.4)
       omniauth (~> 1.0)
     open4 (1.3.4)
-    openid_connect (1.2.0)
+    openid_connect (1.3.0)
       activemodel
       attr_required (>= 1.0.0)
       json-jwt (>= 1.5.0)
@@ -945,7 +944,7 @@ GEM
       puma (>= 2.7)
     pyu-ruby-sasl (0.0.3.3)
     raabro (1.1.6)
-    racc (1.5.2)
+    racc (1.6.0)
     rack (2.2.3)
     rack-accept (0.4.5)
       rack (>= 0.4)
@@ -964,20 +963,20 @@ GEM
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-timeout (0.5.2)
-    rails (6.1.4.1)
-      actioncable (= 6.1.4.1)
-      actionmailbox (= 6.1.4.1)
-      actionmailer (= 6.1.4.1)
-      actionpack (= 6.1.4.1)
-      actiontext (= 6.1.4.1)
-      actionview (= 6.1.4.1)
-      activejob (= 6.1.4.1)
-      activemodel (= 6.1.4.1)
-      activerecord (= 6.1.4.1)
-      activestorage (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    rails (6.1.4.4)
+      actioncable (= 6.1.4.4)
+      actionmailbox (= 6.1.4.4)
+      actionmailer (= 6.1.4.4)
+      actionpack (= 6.1.4.4)
+      actiontext (= 6.1.4.4)
+      actionview (= 6.1.4.4)
+      activejob (= 6.1.4.4)
+      activemodel (= 6.1.4.4)
+      activerecord (= 6.1.4.4)
+      activestorage (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       bundler (>= 1.15.0)
-      railties (= 6.1.4.1)
+      railties (= 6.1.4.4)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
@@ -991,9 +990,9 @@ GEM
     rails-i18n (6.0.0)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 7)
-    railties (6.1.4.1)
-      actionpack (= 6.1.4.1)
-      activesupport (= 6.1.4.1)
+    railties (6.1.4.4)
+      actionpack (= 6.1.4.4)
+      activesupport (= 6.1.4.4)
       method_source
       rake (>= 0.13)
       thor (~> 1.0)
@@ -1002,8 +1001,6 @@ GEM
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
-    rblineprof (0.3.6)
-      debugger-ruby_core_source (~> 1.3)
     rbtrace (0.4.14)
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
@@ -1049,7 +1046,7 @@ GEM
     rexml (3.2.5)
     rinku (2.0.0)
     rotp (6.2.0)
-    rouge (3.26.1)
+    rouge (3.27.0)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
@@ -1117,8 +1114,8 @@ GEM
       rubocop-ast (>= 0.7.1)
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
-    ruby-magic (0.4.0)
-      mini_portile2 (~> 2.5.0)
+    ruby-magic (0.5.4)
+      mini_portile2 (~> 2.6)
     ruby-prof (1.3.1)
     ruby-progressbar (1.11.0)
     ruby-saml (1.13.0)
@@ -1135,10 +1132,9 @@ GEM
     safe_yaml (1.0.4)
     safety_net_attestation (0.4.0)
       jwt (~> 2.0)
-    sanitize (5.2.1)
+    sanitize (6.0.0)
       crass (~> 1.0.2)
-      nokogiri (>= 1.8.0)
-      nokogumbo (~> 2.0)
+      nokogiri (>= 1.12.0)
     sass (3.5.5)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
@@ -1177,7 +1173,7 @@ GEM
       connection_pool (>= 2.2.2)
       rack (~> 2.0)
       redis (>= 4.2.0)
-    sidekiq-cron (1.0.4)
+    sidekiq-cron (1.2.0)
       fugit (~> 1.1)
       sidekiq (>= 4.2.1)
     signet (0.14.0)
@@ -1244,7 +1240,7 @@ GEM
       unicode-display_width (>= 1.5, < 3.0)
       unicode_utils (~> 1.4)
     strings-ansi (0.2.0)
-    swd (1.2.0)
+    swd (1.3.0)
       activesupport (>= 3)
       attr_required (>= 0.0.5)
       httpclient (>= 2.4)
@@ -1304,6 +1300,8 @@ GEM
       tty-screen (~> 0.8)
       wisper (~> 2.0)
     tty-screen (0.8.1)
+    typhoeus (1.4.0)
+      ethon (>= 0.9.0)
     tzinfo (2.0.4)
       concurrent-ruby (~> 1.0)
     u2f (0.2.1)
@@ -1351,7 +1349,7 @@ GEM
       safety_net_attestation (~> 0.4.0)
       securecompare (~> 1.0)
       tpm-key_attestation (~> 0.9.0)
-    webfinger (1.1.0)
+    webfinger (1.2.0)
       activesupport
       httpclient (>= 2.4)
     webmock (3.9.1)
@@ -1374,16 +1372,16 @@ GEM
       nokogiri (~> 1.8)
     yajl-ruby (1.4.1)
     yard (0.9.26)
-    zeitwerk (2.5.1)
+    zeitwerk (2.5.3)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   RedCloth (~> 4.3.2)
-  acme-client (~> 2.0, >= 2.0.6)
+  acme-client (~> 2.0, >= 2.0.9)
   activerecord-explain-analyze (~> 0.1)
-  acts-as-taggable-on (~> 8.1)
+  acts-as-taggable-on (~> 9.0)
   addressable (~> 2.8)
   akismet (~> 3.0)
   apollo_upload_server (~> 2.1.0)
@@ -1465,36 +1463,36 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 14.4.0.pre.rc43)
+  gitaly (~> 14.6.0.pre.rc1)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
   gitlab-dangerfiles (~> 2.6.1)
   gitlab-experiment (~> 0.6.5)
   gitlab-fog-azure-rm (~> 1.2.0)
-  gitlab-labkit (~> 0.21.1)
+  gitlab-labkit (~> 0.21.3)
   gitlab-license (~> 2.0)
   gitlab-license_finder (~> 6.0)
   gitlab-mail_room (~> 0.0.9)
   gitlab-markup (~> 1.8.0)
   gitlab-net-dns (~> 0.9.1)
-  gitlab-omniauth-openid-connect (~> 0.8.0)
+  gitlab-omniauth-openid-connect (~> 0.9.0)
   gitlab-sidekiq-fetcher (= 0.8.0)
   gitlab-styles (~> 6.6.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.4.0)
   google-api-client (~> 0.33)
-  google-protobuf (~> 3.17.1)
+  google-protobuf (~> 3.19.0)
   gpgme (~> 2.0.19)
   grape (~> 1.5.2)
   grape-entity (~> 0.10.0)
   grape-path-helpers (~> 1.7.0)
   grape_logging (~> 1.7)
-  graphiql-rails (~> 1.4.10)
+  graphiql-rails (~> 1.8)
   graphlient (~> 0.4.0)
   graphql (~> 1.11.10)
   graphql-docs (~> 1.6.0)
-  grpc (~> 1.30.2)
+  grpc (~> 1.42.0)
   gssapi
   guard-rspec
   haml_lint (~> 0.36.0)
@@ -1537,7 +1535,7 @@ DEPENDENCIES
   net-ldap (~> 0.16.3)
   net-ntp
   net-ssh (~> 6.0)
-  nokogiri (~> 1.11.4)
+  nokogiri (~> 1.12)
   oauth2 (~> 1.4)
   octokit (~> 4.15)
   ohai (~> 16.10)
@@ -1581,11 +1579,10 @@ DEPENDENCIES
   rack-oauth2 (~> 1.16.0)
   rack-proxy (~> 0.6.0)
   rack-timeout (~> 0.5.1)
-  rails (~> 6.1.4.1)
+  rails (~> 6.1.4.4)
   rails-controller-testing
   rails-i18n (~> 6.0)
   rainbow (~> 3.0)
-  rblineprof (~> 0.3.6)
   rbtrace (~> 0.4)
   rdoc (~> 6.3.2)
   re2 (~> 1.2.0)
@@ -1597,7 +1594,7 @@ DEPENDENCIES
   responders (~> 3.0)
   retriable (~> 3.1.2)
   rexml (~> 3.2.5)
-  rouge (~> 3.26.1)
+  rouge (~> 3.27.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
   rspec-rails (~> 5.0.1)
@@ -1605,14 +1602,14 @@ DEPENDENCIES
   rspec_junit_formatter
   rspec_profiling (~> 0.0.6)
   ruby-fogbugz (~> 0.2.1)
-  ruby-magic (~> 0.4)
+  ruby-magic (~> 0.5)
   ruby-prof (~> 1.3.0)
   ruby-progressbar (~> 1.10)
   ruby-saml (~> 1.13.0)
   ruby_parser (~> 3.15)
   rubyzip (~> 2.0.0)
   rugged (~> 1.2)
-  sanitize (~> 5.2.1)
+  sanitize (~> 6.0)
   sassc-rails (~> 2.1.0)
   sd_notify (~> 0.1.0)
   seed-fu (~> 2.3.7)
@@ -1621,7 +1618,7 @@ DEPENDENCIES
   settingslogic (~> 2.0.9)
   shoulda-matchers (~> 4.0.1)
   sidekiq (~> 6.3)
-  sidekiq-cron (~> 1.0)
+  sidekiq-cron (~> 1.2)
   simple_po_parser (~> 1.1.2)
   simplecov (~> 0.18.5)
   simplecov-cobertura (~> 1.3.1)
@@ -1647,6 +1644,7 @@ DEPENDENCIES
   timecop (~> 0.9.1)
   toml-rb (~> 2.0)
   truncato (~> 0.7.11)
+  typhoeus (~> 1.4.0)
   u2f (~> 0.2.1)
   undercover (~> 0.4.4)
   unf (~> 0.1.4)
@@ -1663,4 +1661,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.1)
 
 BUNDLED WITH
-   2.2.24
+   2.3.6
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 3ee8ea0512bd..025378dd5dbd 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nwkzjamvg946xh2pv82hkwxb7vqq6gakig014gflss0cwx7bbxp";
+      sha256 = "1c4g3rl1bvcb8frh5061hwaxkxglkj8i888j5gww5qapn5sp2czq";
       type = "gem";
     };
-    version = "2.0.6";
+    version = "2.0.9";
   };
   actioncable = {
     dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ilq5mniarm0zlvnkagqj9n9p73ljrhphciz02aymrpfxxxclz2x";
+      sha256 = "0z3ab9n901craqd3p1yl87kawci0vfw1xlh4d0zkj7lx8hpk10sn";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16azdnjws215clb056b9mabglx4b8f61hr82hv7hm80dmn89zqq6";
+      sha256 = "0q94js7ifm0a76xcwxin98bhr8nz0zqcsqi4y7j2mfwm3hq3bh0i";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592";
+      sha256 = "1gncnc5xl1ff70mfnqcys2qy65201yjrkwxx0hb5hl7jlamgvz9h";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
+      sha256 = "171ida68hrk21cq1zz1kfl9h94a3qw5p3afviqzsirl0kx6qjyv9";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m4fy4qqh09vnzbhx383vjdfid6fzbs49bzzg415x05nmmjkx582";
+      sha256 = "1j9591z8lsp9lx3l75699prw6rgkhhlrfaj4lh5klcdffvxzkvi3";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
+      sha256 = "1lm2pf35p6q4ff78z175h6ihmzfg2j7ssn41374rb9iy9gpiiidm";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn";
+      sha256 = "0sf0nfjcj1na4v6zaxz6hjglax99yznaymjzpk1fi7mk71qf5hx4";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3";
+      sha256 = "0g3qdz8dw6zkgz45jd13lwfdnm7rhgczv1pssw63g9k6qj3bkxjm";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja";
+      sha256 = "090d4wl1pq06m9mibpck0m5nm8h45fwhs3fjx27297kjmnv4gzik";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -126,10 +126,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17knzz9fvqg4x582vy0xmlgjkxfb13xyzl2rgw19qfma86hxsvvi";
+      sha256 = "0a6mmm1s8abv11ycqs6cq55kr6j89jpclkcnra9w2k47rl047vk4";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -137,10 +137,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
+      sha256 = "0rvnz9lsf9mrkpji748sf51f54m027snkw6rm8flyvf7fq18rm98";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -148,10 +148,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kfnyix173bazjswab21bx7hmqmik71awj2kz090fsa2nv58c4mw";
+      sha256 = "11hv6pdsr0kd9bmd84sab21sbm209ck1cwqs5jqbf9g1xbh9nh2s";
       type = "gem";
     };
-    version = "8.1.0";
+    version = "9.0.0";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -413,10 +413,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01psx005lkrfk3zm816z76fa2pv4hd8jk7hxrjyy4hbvgcqi6rfy";
+      sha256 = "0qq3knsy7nj7a0r8m19spg2bgzns9b3j5vjbs9mpg49whhc63dv1";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.0.3";
   };
   azure-storage-common = {
     dependencies = ["faraday" "faraday_middleware" "net-http-persistent" "nokogiri"];
@@ -424,10 +424,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h5bwswc5768hblcxsschjz3y0lf9kvz3k7qqwypdhy8sr1lfxg8";
+      sha256 = "0swmsvvpmy8cdcl305p3dl2pi7m3dqjd7zywfcxmhsz0n2m4v3v0";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.0.4";
   };
   babosa = {
     groups = ["default"];
@@ -957,20 +957,6 @@
     };
     version = "1.7.0";
   };
-  debugger-ruby_core_source = {
-    groups = ["default" "development"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
-      type = "gem";
-    };
-    version = "1.3.8";
-  };
   deckar01-task_list = {
     dependencies = ["html-pipeline"];
     groups = ["default"];
@@ -1393,6 +1379,17 @@
     };
     version = "1.2.1";
   };
+  ethon = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288";
+      type = "gem";
+    };
+    version = "0.15.0";
+  };
   eventmachine = {
     groups = ["default" "development"];
     platforms = [];
@@ -1408,10 +1405,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nn8wk7j22ly4lzdp5pnm7qsrjxbgspiyxkw70g1qf9bn6pslmxr";
+      sha256 = "1bkh80zzjpfglm14rhz116qgz0nb5gvk3ydfjpg14av5407srgh1";
       type = "gem";
     };
-    version = "0.71.1";
+    version = "0.90.0";
   };
   execjs = {
     groups = ["default"];
@@ -1899,10 +1896,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "022amhic8rs09qmp3hy1zz5inxbxnrvg8j82bq4l2s8ml9hqfs3a";
+      sha256 = "175whfk08jrmvssh5lgk0zgsaksbnhv6p5fg3picknrw4v05vw85";
       type = "gem";
     };
-    version = "14.4.0.pre.rc43";
+    version = "14.6.0.pre.rc1";
   };
   github-markup = {
     groups = ["default"];
@@ -1975,10 +1972,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09xci7jw5sckagnwfjlglz4cywylrf16r83f82asnnngvxadvvmq";
+      sha256 = "05fs11wpqn801dsscs845629hbgwbgs94qhig45jmalw4h9rira4";
       type = "gem";
     };
-    version = "0.21.1";
+    version = "0.21.3";
   };
   gitlab-license = {
     groups = ["default"];
@@ -2037,10 +2034,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bzblypm1d5bxn8a15l90vx4ad099i5nhnislr7fhs2axy3ssfr1";
+      sha256 = "1nxak6q0m0nd3m5a7vp9xqww9w5fqx97viv5g6pg3q62q9binm0j";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "0.9.1";
   };
   gitlab-sidekiq-fetcher = {
     dependencies = ["sidekiq"];
@@ -2092,10 +2089,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm";
+      sha256 = "1n5yc058i8xhi1fwcp1w7mfi6xaxfmrifdb4r4hjfff33ldn8lqj";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "1.0.0";
   };
   gon = {
     dependencies = ["actionpack" "i18n" "multi_json" "request_store"];
@@ -2135,10 +2132,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vmll4nnkha3vsqj1g76pwni6x7mp2i81pka4wdwq8qfhn210108";
+      sha256 = "1dwx4ns39bpmzmhglyip9d68i117zspf5lp865pf6hrsmmdf2k53";
       type = "gem";
     };
-    version = "3.17.3";
+    version = "3.19.1";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -2146,10 +2143,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1949w1lcd3iyiy4n6zgnrhdp78k9khbh2pbkrpkv263bbpmw8llg";
+      sha256 = "0w860lqs5j6n58a8qn4wr16hp0qz7cq5h67dgma04gncjwqiyhf5";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.3.0";
   };
   googleauth = {
     dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
@@ -2223,10 +2220,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10q5zipwgjgaan9lfqakdkm5ry8afgkq79bkimgksn6jyyvpz6w8";
+      sha256 = "1lcf0gc88i3wk8cs71qm62ac9lrc1a8v5sd0369c5ip2ic4wbqh2";
       type = "gem";
     };
-    version = "1.4.10";
+    version = "1.8.0";
   };
   graphlient = {
     dependencies = ["faraday" "faraday_middleware" "graphql-client"];
@@ -2277,10 +2274,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rsglf7ag17n465iff7vlw83pn2rpl4kv9sb1rpf17nx6xpi7yl5";
+      sha256 = "0jjq2ing7px4zvdrg9xcq5a9qsciq6g3v14n95a3d9n6cyg69lmk";
       type = "gem";
     };
-    version = "1.30.2";
+    version = "1.42.0";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -2968,10 +2965,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3";
+      sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   marginalia = {
     dependencies = ["actionpack" "activerecord"];
@@ -3074,10 +3071,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
+      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
       type = "gem";
     };
-    version = "2.5.3";
+    version = "2.6.1";
   };
   minitest = {
     groups = ["development" "test"];
@@ -3333,21 +3330,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
+      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
       type = "gem";
     };
-    version = "1.11.7";
-  };
-  nokogumbo = {
-    dependencies = ["nokogiri"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
-      type = "gem";
-    };
-    version = "2.0.2";
+    version = "1.12.5";
   };
   notiffany = {
     dependencies = ["nenv" "shellany"];
@@ -3681,10 +3667,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nqhgvq006h6crbp8lffw66ll46zf319c2637g4sybdclglismma";
+      sha256 = "0w474bz3s1hqhilvrddr33l2nkyikypaczp3808w0345jr88b5m7";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   openssl = {
     groups = ["default"];
@@ -4010,10 +3996,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.6.0";
   };
   rack = {
     groups = ["default" "development" "kerberos" "test"];
@@ -4107,10 +4093,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y59m2x8rdc581bjgyyr9dabi3vk3frqhhpbb5ldpbj622kxfpbz";
+      sha256 = "10vylypjzfp6c34zx175x7ql7h27llmjdhgjxp5bn2zmrx3lac8l";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -4162,10 +4148,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy";
+      sha256 = "1nmyds2www6dmqbbd5ggq31gxxb9mwxd5llzmb3iyczssk6l7lla";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.4.4";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -4208,21 +4194,6 @@
     };
     version = "0.10.1";
   };
-  rblineprof = {
-    dependencies = ["debugger-ruby_core_source"];
-    groups = ["development"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
   rbtrace = {
     dependencies = ["ffi" "msgpack" "optimist"];
     groups = ["default"];
@@ -4479,10 +4450,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "197k0vskf72wxx0gzwld2jzg27bb7982xlvnzy9adlvkzp7nh8vf";
+      sha256 = "0530ri0p60km0bg0ib6swkhfnas427cva7vcdmnwl8df52a10y1k";
       type = "gem";
     };
-    version = "3.26.1";
+    version = "3.27.0";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
@@ -4709,10 +4680,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mn1m682l6hv54afh1an5lh623zbllgl2aqjz2f62v892slzkq57";
+      sha256 = "1m91qhhh2sakmd6kznipmwwb3i2qlfx40fpnj4vsh40d2f2v25rc";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.5.4";
   };
   ruby-prof = {
     groups = ["default"];
@@ -4838,15 +4809,15 @@
     version = "0.4.0";
   };
   sanitize = {
-    dependencies = ["crass" "nokogiri" "nokogumbo"];
+    dependencies = ["crass" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18m3zcf207gcrmghx288w3n2kpphc22lbmbc1wdx1nzcn8g2yddh";
+      sha256 = "1zq8pxmsd1abw18zz6mazsm2jfpwmbgdxbpawb7bmwvkb2c5yyc1";
       type = "gem";
     };
-    version = "5.2.1";
+    version = "6.0.0";
   };
   sass = {
     dependencies = ["sass-listen"];
@@ -5034,10 +5005,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0";
+      sha256 = "0hxvm42zbr27k40jvdba5v8ich2ys8q7a2wbia9sxb0mmcy8v2aj";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.2.0";
   };
   signet = {
     dependencies = ["addressable" "faraday" "jwt" "multi_json"];
@@ -5318,10 +5289,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c5cdpykx2h4jx8q01hjhv8f0plw5r9iqm2i1m0ijiyk7dqm824w";
+      sha256 = "12b3q2sw42nnilfb51nlqdv07f31vdv2j595kd99asnkw4cjlf5w";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   sys-filesystem = {
     dependencies = ["ffi"];
@@ -5605,6 +5576,17 @@
     };
     version = "0.8.1";
   };
+  typhoeus = {
+    dependencies = ["ethon"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
   tzinfo = {
     dependencies = ["concurrent-ruby"];
     groups = ["default" "development" "test"];
@@ -5832,10 +5814,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar";
+      sha256 = "18jj50b44a471ig7hw1ax90wxaaz40acmrf6cm7m2iyshlffy53q";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
@@ -5966,9 +5948,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj";
+      sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.3";
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitless/default.nix b/nixpkgs/pkgs/applications/version-management/gitless/default.nix
index 310158e3eeae..a72183472588 100644
--- a/nixpkgs/pkgs/applications/version-management/gitless/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitless/default.nix
@@ -1,27 +1,42 @@
-{ fetchFromGitHub, python, lib }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
-with python.pkgs;
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "gitless";
   version = "0.8.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
-    owner = "sdg-mit";
-    repo = "gitless";
+    owner = "gitless-vcs";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1q6y38f8ap6q1livvfy0pfnjr0l8b68hyhc9r5v87fmdyl7y7y8g";
+    hash = "sha256-xo5EWtP2aN8YzP8ro3bnxZwUGUp0PHD0g8hk+Y+gExE=";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ sh pygit2 clint ];
+  propagatedBuildInputs = with python3.pkgs; [
+    sh
+    pygit2
+    clint
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pygit2==0.28.2" "pygit2>=0.28.2"
+  '';
 
   doCheck = false;
 
+  pythonImportsCheck = [
+    "gitless"
+  ];
+
   meta = with lib; {
+    description = "Version control system built on top of Git";
     homepage = "https://gitless.com/";
-    description = "A version control system built on top of Git";
-    license = licenses.gpl2;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cransom ];
     platforms = platforms.all;
-    maintainers = [ maintainers.cransom ];
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/version-management/gogs/default.nix b/nixpkgs/pkgs/applications/version-management/gogs/default.nix
index f7b7305b1097..3f9d8442ea44 100644
--- a/nixpkgs/pkgs/applications/version-management/gogs/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gogs/default.nix
@@ -8,16 +8,16 @@ with lib;
 
 buildGoModule rec {
   pname = "gogs";
-  version = "0.12.3";
+  version = "0.12.4";
 
   src = fetchFromGitHub {
     owner = "gogs";
     repo = "gogs";
     rev = "v${version}";
-    sha256 = "0ix3mxy8cpqbx24qffbzyf5z88x7605icm7rk5n54r8bdsr7cckd";
+    sha256 = "sha256-t2aXRYCr54sqXwv6cJHDf1z1z94SqJM0WQRd2ejc7XY=";
   };
 
-  vendorSha256 = "0m0g4dsiq8p2ngsbjxfi3wff7x4xpm67qlhgcgf8b48mqai4d2gc";
+  vendorSha256 = "sha256-3dT5D+oDd0mpJp/cP53TQcRUkmqh6g3sRBWWAUqhaAo=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/got/default.nix b/nixpkgs/pkgs/applications/version-management/got/default.nix
index 61e938b093b3..7464dcfb73a8 100644
--- a/nixpkgs/pkgs/applications/version-management/got/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/got/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.64";
+  version = "0.66";
 
   src = fetchurl {
     url =
       "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "1qigv8fnmiynrx6qrg28n2981a30n56nh3xbhmlpihl7fqxmg1sq";
+    sha256 = "13xrwndj80jix210fxkadivxyd1f5qavdrhxyl32n68xyv5xmkgg";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://gameoftrees.org";
     license = licenses.isc;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ abbe ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/meld/default.nix b/nixpkgs/pkgs/applications/version-management/meld/default.nix
index f3400f7e8e02..bef284ea5344 100644
--- a/nixpkgs/pkgs/applications/version-management/meld/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/meld/default.nix
@@ -18,13 +18,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "meld";
-  version = "3.21.0";
+  version = "3.21.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "toARTVq3kzJFSf1Y9OsgLY4oDAYzoLdl7ebfs0FgqBs=";
+    sha256 = "cP6Y65Ms4h1nFw47D2pzF+gT6GLemJM+pROYLpoDMgI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/mercurial/default.nix b/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
index eea3e7afb774..80c2679d05cf 100644
--- a/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
@@ -6,6 +6,14 @@
 , guiSupport ? fullBuild, tk
 , highlightSupport ? fullBuild
 , ApplicationServices
+# test dependencies
+, runCommand
+, unzip
+, which
+, sqlite
+, git
+, cacert
+, gnupg
 }:
 
 let
@@ -13,11 +21,11 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial";
-    version = "5.9.3";
+    version = "6.0.3";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-O0P2iXetD6dap/HlyPCoO6k1YhqyOWEpq7SY5W0b4I4=";
+      sha256 = "sha256-Z/E2R6RlF6K1Z83Lc8mHIdddNqBDLeuxUCK3f5wTgzM=";
     };
 
     format = "other";
@@ -27,7 +35,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "${pname}-${version}";
-      sha256 = "sha256:1d911jaawdrcv2mdhlp2ylr10791zj7dhb69aiw5yy7vn7gry82n";
+      sha256 = "sha256-i4WROxezeqLX4hTdcPrqsf6dBqsNZz6fFAPzItYuklE=";
       sourceRoot = "${pname}-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
@@ -74,18 +82,80 @@ let
         --zsh contrib/zsh_completion
     '';
 
-    passthru.tests = {};
+    passthru.tests = {
+      mercurial-tests = makeTests { flags = "--with-hg=$MERCURIAL_BASE/bin/hg"; };
+    };
 
     meta = with lib; {
       description = "A fast, lightweight SCM system for very large distributed projects";
       homepage = "https://www.mercurial-scm.org";
       downloadPage = "https://www.mercurial-scm.org/release/";
       license = licenses.gpl2Plus;
-      maintainers = with maintainers; [ eelco lukegb ];
-      updateWalker = true;
+      maintainers = with maintainers; [ eelco lukegb pacien ];
       platforms = platforms.unix;
     };
   };
+
+  makeTests = { mercurial ? self, nameSuffix ? "", flags ? "" }: runCommand "${mercurial.pname}${nameSuffix}-tests" {
+    inherit (mercurial) src;
+
+    SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";  # needed for git
+    MERCURIAL_BASE = mercurial;
+    nativeBuildInputs = [
+      python
+      unzip
+      which
+      sqlite
+      git
+      gnupg
+    ];
+
+    postPatch = ''
+      patchShebangs .
+
+      for f in **/*.{py,c,t}; do
+        # not only used in shebangs
+        substituteAllInPlace "$f" '/bin/sh' '${stdenv.shell}'
+      done
+
+      for f in **/*.t; do
+        substituteInPlace 2>/dev/null "$f" \
+          --replace '*/hg:' '*/*hg*:' \${/* paths emitted by our wrapped hg look like ..hg-wrapped-wrapped */""}
+          --replace '"$PYTHON" "$BINDIR"/hg' '"$BINDIR"/hg' ${/* 'hg' is a wrapper; don't run using python directly */""}
+      done
+    '';
+
+    # This runs Mercurial _a lot_ of times.
+    requiredSystemFeatures = [ "big-parallel" ];
+
+    # Don't run tests if not-Linux or if cross-compiling.
+    meta.broken = !stdenv.hostPlatform.isLinux || stdenv.buildPlatform != stdenv.hostPlatform;
+  } ''
+    addToSearchPathWithCustomDelimiter : PYTHONPATH "${mercurial}/${python.sitePackages}"
+
+    unpackPhase
+    cd "$sourceRoot"
+    patchPhase
+
+    cat << EOF > tests/blacklists/nix
+    # tests enforcing "/usr/bin/env" shebangs, which are patched for nix
+    test-run-tests.t
+    test-check-shbang.t
+
+    # unstable experimental/unsupported features
+    # https://bz.mercurial-scm.org/show_bug.cgi?id=6633#c1
+    test-git-interop.t
+
+    # doesn't like the extra setlocale warnings emitted by our bash wrappers
+    test-locale.t
+    EOF
+
+    export HGTEST_REAL_HG="${mercurial}/bin/hg"
+    # extended timeout necessary for tests to pass on the busy CI workers
+    export HGTESTFLAGS="--blacklist blacklists/nix --timeout 1800 -j$NIX_BUILD_CORES ${flags}"
+    make check
+    touch $out
+  '';
 in
   self.overridePythonAttrs (origAttrs: {
     passthru = origAttrs.passthru // rec {
diff --git a/nixpkgs/pkgs/applications/version-management/monotone/default.upstream b/nixpkgs/pkgs/applications/version-management/monotone/default.upstream
deleted file mode 100644
index e0d01fb190c6..000000000000
--- a/nixpkgs/pkgs/applications/version-management/monotone/default.upstream
+++ /dev/null
@@ -1,8 +0,0 @@
-url http://www.monotone.ca/downloads.php
-
-do_overwrite(){
-  ensure_version
-  ensure_hash
-  set_var_value version $CURRENT_VERSION
-  set_var_value sha256 $CURRENT_HASH
-}
diff --git a/nixpkgs/pkgs/applications/version-management/p4/default.nix b/nixpkgs/pkgs/applications/version-management/p4/default.nix
index 602d99499810..4d3e471cca24 100644
--- a/nixpkgs/pkgs/applications/version-management/p4/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/p4/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     # actually  https://cdist2.perforce.com/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz but upstream deletes releases
-    url = "http://web.archive.org/web/20211118024943/https://cdist2.perforce.com/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz";
+    url = "https://web.archive.org/web/20211118024943/https://cdist2.perforce.com/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz";
     sha256 = "sha256-cmIMVek4lwVYJQbW8ziABftPZ0iIoAoSpR7cKuN4I7M=";
   };
 
diff --git a/nixpkgs/pkgs/applications/version-management/pijul/default.nix b/nixpkgs/pkgs/applications/version-management/pijul/default.nix
index 03659e0ba40f..858f15a50bbe 100644
--- a/nixpkgs/pkgs/applications/version-management/pijul/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/pijul/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pijul";
-  version = "1.0.0-alpha.56";
+  version = "1.0.0-beta";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "zV4F4dbjJ58yGiupUwj5Z0HrKR78Mzch8Zs98YfxSTQ=";
+    sha256 = "sha256-s7fHg6Le4y0yAyxOQf6iUUHA4dYsamlTUb0KISOHI7Q=";
   };
 
-  cargoSha256 = "JQGBTCNu9U2Kq6tc7VT07LEbzLW+jdVWrK5e2qjzGRA=";
+  cargoSha256 = "sha256-09PWy1yfr1FY2AsKaoZZswi4P5JdNcumIOmTm+M21UE=";
 
   doCheck = false;
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/version-management/rapidsvn/default.nix b/nixpkgs/pkgs/applications/version-management/rapidsvn/default.nix
index 33eba79732db..60d011b653d4 100644
--- a/nixpkgs/pkgs/applications/version-management/rapidsvn/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/rapidsvn/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, wxGTK, subversion, apr, aprutil, python }:
+{ lib, stdenv, fetchurl, wxGTK, subversion, apr, aprutil, python2 }:
 
 stdenv.mkDerivation rec {
   pname = "rapidsvn";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1bmcqjc12k5w0z40k7fkk8iysqv4fw33i80gvcmbakby3d4d4i4p";
   };
 
-  buildInputs = [ wxGTK subversion apr aprutil python ];
+  buildInputs = [ wxGTK subversion apr aprutil python2 ];
 
   configureFlags = [ "--with-svn-include=${subversion.dev}/include"
     "--with-svn-lib=${subversion.out}/lib" ];
diff --git a/nixpkgs/pkgs/applications/version-management/rcs/default.nix b/nixpkgs/pkgs/applications/version-management/rcs/default.nix
index d814e0ca0a52..d46a67a8601e 100644
--- a/nixpkgs/pkgs/applications/version-management/rcs/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/rcs/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, fetchpatch, buildPackages, diffutils, ed }:
+{ lib, stdenv, fetchurl, fetchpatch, buildPackages, diffutils, ed, lzip }:
 
 stdenv.mkDerivation rec {
   pname = "rcs";
-  version = "5.10.0";
+  version = "5.10.1";
 
   src = fetchurl {
-    url = "mirror://gnu/rcs/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Og2flYx60wPkdehjRlSXTtvm3rOkVEkfOFfcGIm6xcU";
+    url = "mirror://gnu/rcs/${pname}-${version}.tar.lz";
+    sha256 = "sha256-Q93+EHJKi4XiRo9kA7YABzcYbwHmDgvWL95p2EIjTMU=";
   };
 
   ac_cv_path_ED = "${ed}/bin/ed";
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = lib.optional stdenv.cc.isClang "format";
 
+  nativeBuildInputs = [ lzip ];
+
   meta = {
     homepage = "https://www.gnu.org/software/rcs/";
     description = "Revision control system";
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix
index 2e771de73a54..350afd07fe19 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
index 3242b85e3787..805da8c32821 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/core.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix
index 18e105aea4bf..a2da28404ac9 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix
+++ b/nixpkgs/pkgs/applications/version-management/sourcehut/dispatch.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "dispatchsrht" ];
 
   meta = with lib; {
-    homepage = "https://dispatch.sr.ht/~sircmpwn/dispatch.sr.ht";
+    homepage = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht";
     description = "Task dispatcher and service integration tool for the sr.ht network";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ eadwu ];
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/git.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/git.nix
index e33bb6595012..318bee4cf517 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/git.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix
index 6716f643a7e1..f3e778b2f31b 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix
index 3490796dda01..3ba6375a9138 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/man.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/man.nix
index 2d4d152e3aae..8d43f297a4f8 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/man.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
index 74a00692b6c7..ab19cc88d25e 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/pages.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/pages.nix
index 9b6011d99900..b6a18b5bda77 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/pages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch b/nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch
new file mode 100644
index 000000000000..4c526dd23e11
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch b/nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch
new file mode 100644
index 000000000000..872d285b9bb0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch b/nixpkgs/pkgs/applications/version-management/sourcehut/patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch
new file mode 100644
index 000000000000..861608c11843
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix
index 9fbaa8c92454..10da3018843a 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/scm.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix
index da31ba240730..1446e68fa69d 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/src/default.nix b/nixpkgs/pkgs/applications/version-management/src/default.nix
index cddcd3d8aa29..a39a1fd79d84 100644
--- a/nixpkgs/pkgs/applications/version-management/src/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/src/default.nix
@@ -1,16 +1,30 @@
-{ lib, stdenv, fetchurl, python, rcs, git, makeWrapper }:
+{ lib
+, stdenv
+, fetchurl
+, python
+, rcs
+, git
+, makeWrapper
+}:
 
 stdenv.mkDerivation rec {
   pname = "src";
-  version = "1.28";
+  version = "1.29";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/src/${pname}-${version}.tar.gz";
-    sha256 = "1fkr5z3mlj13djz9w1sb644wc7r1fywz52qq97byw1yyw0bqyi7f";
+    sha256 = "sha256-Tc+qBhLtC9u23BrqVniAprAV8YhXELvbMn+XxN5BQkE=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ python rcs git ];
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  buildInputs = [
+    python
+    rcs
+    git
+  ];
 
   preConfigure = ''
     patchShebangs .
@@ -24,6 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    homepage = "http://www.catb.org/esr/src/";
     description = "Simple single-file revision control";
     longDescription = ''
       SRC, acronym of Simple Revision Control, is RCS/SCCS reloaded with a
@@ -33,10 +48,9 @@ stdenv.mkDerivation rec {
       will seem familiar to Subversion/Git/hg users, and no binary blobs
       anywhere.
     '';
-    homepage = "http://www.catb.org/esr/src/";
     changelog = "https://gitlab.com/esr/src/raw/${version}/NEWS";
     license = licenses.bsd2;
-    platforms = platforms.all;
     maintainers = with maintainers; [ calvertvl AndersonTorres ];
+    inherit (python.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/srcml/default.nix b/nixpkgs/pkgs/applications/version-management/srcml/default.nix
index 11dbfc299a49..60260ee4de31 100644
--- a/nixpkgs/pkgs/applications/version-management/srcml/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/srcml/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr2,
+{ lib, stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python2, antlr2,
   curl
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ cmake antlr2 ];
-  buildInputs = [ libxml2 libxslt boost libarchive python curl ];
+  buildInputs = [ libxml2 libxslt boost libarchive python2 curl ];
 
   meta = {
     description = "Infrastructure for exploration, analysis, and manipulation of source code";
diff --git a/nixpkgs/pkgs/applications/version-management/subversion/default.nix b/nixpkgs/pkgs/applications/version-management/subversion/default.nix
index 6411e834327c..2e7484327674 100644
--- a/nixpkgs/pkgs/applications/version-management/subversion/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/subversion/default.nix
@@ -106,7 +106,7 @@ let
     meta = with lib; {
       description = "A version control system intended to be a compelling replacement for CVS in the open source community";
       license = licenses.asl20;
-      homepage = "http://subversion.apache.org/";
+      homepage = "https://subversion.apache.org/";
       maintainers = with maintainers; [ eelco lovek323 ];
       platforms = platforms.linux ++ platforms.darwin;
     };
diff --git a/nixpkgs/pkgs/applications/version-management/tailor/default.nix b/nixpkgs/pkgs/applications/version-management/tailor/default.nix
index c769ec0a66d6..e3b5891720fb 100644
--- a/nixpkgs/pkgs/applications/version-management/tailor/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/tailor/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, python2Packages }:
+{ fetchurl, pypy2Packages }:
 
-python2Packages.buildPythonApplication rec {
+pypy2Packages.buildPythonApplication rec {
   pname = "tailor";
   version = "0.9.35";
 
diff --git a/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix b/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
index 3e1b6e4cd8cb..66f3b9a0aaf3 100644
--- a/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,45 +1,59 @@
-{ lib, fetchurl, python3Packages
-, mercurial, qt5
+{ lib
+, fetchurl
+, python3Packages
+, mercurial
+, qt5
 }:
 
 python3Packages.buildPythonApplication rec {
-    pname = "tortoisehg";
-    version = "5.9";
-
-    src = fetchurl {
-      url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
-      sha256 = "1y8nb2b9j9qx11k1wrb9hydc94dgbsqx4yf2bv8y878hqmk1z57a";
-    };
-
-    # Extension point for when thg's mercurial is lagging behind mainline.
-    tortoiseMercurial = mercurial;
-
-    propagatedBuildInputs = with python3Packages; [
-      tortoiseMercurial qscintilla-qt5 iniparse
-    ];
-    nativeBuildInputs = [ qt5.wrapQtAppsHook ];
-
-    doCheck = false; # tests fail with "thg: cannot connect to X server"
-    postInstall = ''
-      mkdir -p $out/share/doc/tortoisehg
-      cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt
-      # convenient alias
-      ln -s $out/bin/thg $out/bin/tortoisehg
-      wrapQtApp $out/bin/thg
-    '';
-
-    checkPhase = ''
-      echo "test: thg version"
-      $out/bin/thg version
-    '';
-
-    passthru.mercurial = tortoiseMercurial;
-
-    meta = {
-      description = "Qt based graphical tool for working with Mercurial";
-      homepage = "https://tortoisehg.bitbucket.io/";
-      license = lib.licenses.gpl2Only;
-      platforms = lib.platforms.linux;
-      maintainers = with lib.maintainers; [ danbst ];
-    };
+  pname = "tortoisehg";
+  version = "6.0";
+
+  src = fetchurl {
+    url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
+    sha256 = "sha256-25uQ2llF/+wqdGpun/nzlvAf286OIRmlZUISZ0szH6Y=";
+  };
+
+  # Extension point for when thg's mercurial is lagging behind mainline.
+  tortoiseMercurial = mercurial;
+
+  propagatedBuildInputs = with python3Packages; [
+    tortoiseMercurial
+    qscintilla-qt5
+    iniparse
+  ];
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+
+  doCheck = true;
+  postInstall = ''
+    mkdir -p $out/share/doc/tortoisehg
+    cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt
+    # convenient alias
+    ln -s $out/bin/thg $out/bin/tortoisehg
+    wrapQtApp $out/bin/thg
+  '';
+
+  checkPhase = ''
+    export QT_QPA_PLATFORM=offscreen
+    echo "test: thg smoke test"
+    $out/bin/thg -h > help.txt &
+    sleep 1s
+    if grep "list of commands" help.txt; then
+      echo "thg help output was captured. Seems like package in a working state."
+      exit 0
+    else
+      echo "thg help output was not captured. Seems like package is broken."
+      exit 1
+    fi
+  '';
+
+  passthru.mercurial = tortoiseMercurial;
+
+  meta = {
+    description = "Qt based graphical tool for working with Mercurial";
+    homepage = "https://tortoisehg.bitbucket.io/";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ danbst ];
+  };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/yadm/default.nix b/nixpkgs/pkgs/applications/version-management/yadm/default.nix
index e0e26b804f58..ffd5fdaab7c0 100644
--- a/nixpkgs/pkgs/applications/version-management/yadm/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/yadm/default.nix
@@ -1,18 +1,43 @@
-{ lib, stdenv, fetchFromGitHub, git, gnupg, installShellFiles }:
+{ lib
+, stdenv
+, resholvePackage
+, fetchFromGitHub
+, git
+, bash
+, openssl
+, gawk
+/*
+TODO: yadm can use git-crypt and transcrypt
+but it does so in a way that resholve 0.6.0
+can't yet do anything smart about. It looks
+like these are for interactive use, so the
+main impact should just be that users still
+need both of these packages in their profile
+to support their use in yadm.
+*/
+# , git-crypt
+# , transcrypt
+, j2cli
+, esh
+, gnupg
+, coreutils
+, gnutar
+, installShellFiles
+, runCommand
+, yadm
+}:
 
-stdenv.mkDerivation rec {
+resholvePackage rec {
   pname = "yadm";
   version = "3.1.1";
 
-  buildInputs = [ git gnupg ];
-
   nativeBuildInputs = [ installShellFiles ];
 
   src = fetchFromGitHub {
     owner  = "TheLocehiliosan";
     repo   = "yadm";
     rev    = version;
-    sha256 = "sha256-bgiRBlqEjDq0gQ0+aUWpFDeE2piFX3Gy2gEAXgChAOk=";
+    hash   = "sha256-bgiRBlqEjDq0gQ0+aUWpFDeE2piFX3Gy2gEAXgChAOk=";
   };
 
   dontConfigure = true;
@@ -31,6 +56,72 @@ stdenv.mkDerivation rec {
       --bash completion/bash/yadm
   '';
 
+  solutions = {
+    yadm = {
+      scripts = [ "bin/yadm" ];
+      interpreter = "${bash}/bin/sh";
+      inputs = [
+        git
+        gnupg
+        openssl
+        gawk
+        # see head comment
+        # git-crypt
+        # transcrypt
+        j2cli
+        esh
+        bash
+        coreutils
+        gnutar
+      ];
+      fake = {
+        external = if stdenv.isCygwin then [ ] else [ "cygpath" ];
+      };
+      fix = {
+        "$GPG_PROGRAM" = [ "gpg" ];
+        "$OPENSSL_PROGRAM" = [ "openssl" ];
+        "$GIT_PROGRAM" = [ "git" ];
+        "$AWK_PROGRAM" = [ "awk" ];
+        # see head comment
+        # "$GIT_CRYPT_PROGRAM" = [ "git-crypt" ];
+        # "$TRANSCRYPT_PROGRAM" = [ "transcrypt" ];
+        "$J2CLI_PROGRAM" = [ "j2" ];
+        "$ESH_PROGRAM" = [ "esh" ];
+        # not in nixpkgs (yet)
+        # "$ENVTPL_PROGRAM" = [ "envtpl" ];
+        # "$LSB_RELEASE_PROGRAM" = [ "lsb_release" ];
+      };
+      keep = {
+        "$YADM_COMMAND" = true; # internal cmds
+        "$template_cmd" = true; # dynamic, template-engine
+        "$SHELL" = true; # probably user env? unsure
+        "$hook_command" = true; # ~git hooks?
+        "exec" = [ "$YADM_BOOTSTRAP" ]; # yadm bootstrap script
+
+        # not in nixpkgs
+        "$ENVTPL_PROGRAM" = true;
+        "$LSB_RELEASE_PROGRAM" = true;
+      };
+      /*
+      TODO: these should be dropped as fast as they can be dealt
+            with properly in binlore and/or resholve.
+      */
+      execer = [
+        "cannot:${j2cli}/bin/j2"
+        "cannot:${esh}/bin/esh"
+        "cannot:${git}/bin/git"
+        "cannot:${gnupg}/bin/gpg"
+      ];
+    };
+  };
+
+  passthru.tests = {
+    minimal = runCommand "${pname}-test" {} ''
+      export HOME=$out
+      ${yadm}/bin/yadm init
+    '';
+  };
+
   meta = {
     homepage = "https://github.com/TheLocehiliosan/yadm";
     description = "Yet Another Dotfiles Manager";
@@ -40,6 +131,7 @@ stdenv.mkDerivation rec {
       * Provides a way to use alternate files on a specific OS or host.
       * Supplies a method of encrypting confidential data so it can safely be stored in your repository.
     '';
+    changelog = "https://github.com/TheLocehiliosan/yadm/blob/${version}/CHANGES";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ abathur ];
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/applications/video/celluloid/default.nix b/nixpkgs/pkgs/applications/video/celluloid/default.nix
index e6dcff671758..291b4b9ebfc6 100644
--- a/nixpkgs/pkgs/applications/video/celluloid/default.nix
+++ b/nixpkgs/pkgs/applications/video/celluloid/default.nix
@@ -4,48 +4,50 @@
 , appstream-glib
 , desktop-file-utils
 , libepoxy
-, gettext
 , glib
-, gtk3
+, gtk4
+, wayland
 , meson
 , mpv
 , ninja
 , nix-update-script
 , pkg-config
 , python3
-, wrapGAppsHook
+, wrapGAppsHook4
 }:
 
 stdenv.mkDerivation rec {
   pname = "celluloid";
-  version = "0.21";
+  version = "0.22";
 
   src = fetchFromGitHub {
     owner = "celluloid-player";
     repo = "celluloid";
     rev = "v${version}";
-    hash = "sha256-1Jeg1uqWxURGKR/Xg4j4roZ9Pg5MR7geyttdzlOU+rA=";
+    hash = "sha256-QGN8YLtyb9YVNDK2ZDQwHJVg6UTIQssfNK9lQqxMNKQ=";
   };
 
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils
-    gettext
     meson
     ninja
     pkg-config
     python3
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
   buildInputs = [
     libepoxy
     glib
-    gtk3
+    gtk4
+    wayland
     mpv
   ];
 
   postPatch = ''
     patchShebangs meson-post-install.py src/generate-authors.py
+    # Remove this for next release
+    substituteInPlace meson-post-install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
   '';
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/applications/video/clipgrab/default.nix b/nixpkgs/pkgs/applications/video/clipgrab/default.nix
index 287557d6f53e..2bd30c9e5291 100644
--- a/nixpkgs/pkgs/applications/video/clipgrab/default.nix
+++ b/nixpkgs/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 '
diff --git a/nixpkgs/pkgs/applications/video/clipgrab/yt-dlp-path.patch b/nixpkgs/pkgs/applications/video/clipgrab/yt-dlp-path.patch
new file mode 100644
index 000000000000..5a9a4b6dcc48
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/droidcam/default.nix b/nixpkgs/pkgs/applications/video/droidcam/default.nix
index 066c17f10690..67f098c97fba 100644
--- a/nixpkgs/pkgs/applications/video/droidcam/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/dvdstyler/default.nix b/nixpkgs/pkgs/applications/video/dvdstyler/default.nix
index 81f3cac73e19..8d42c2b2bfd6 100644
--- a/nixpkgs/pkgs/applications/video/dvdstyler/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/f1viewer/default.nix b/nixpkgs/pkgs/applications/video/f1viewer/default.nix
index b00d2d8275be..33e1863428ef 100644
--- a/nixpkgs/pkgs/applications/video/f1viewer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix b/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix
index 41c035350d83..28a974a7cc6d 100644
--- a/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix
+++ b/nixpkgs/pkgs/applications/video/ffmpeg-normalize/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   pname = "ffmpeg-normalize";
-  version = "1.22.4";
+  version = "1.22.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a20978538ae9a51bdbe5ef5aa0f87ede0f8efd2817ab240980de56eac36982e3";
+    sha256 = "sha256-aPPRzNotm3ATL0lEq+49lrlrHoNp+Dm1Im5jYF4E1vY=";
   };
 
   propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
diff --git a/nixpkgs/pkgs/applications/video/freetube/default.nix b/nixpkgs/pkgs/applications/video/freetube/default.nix
index c5a2a3138609..8b90704a535d 100644
--- a/nixpkgs/pkgs/applications/video/freetube/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/go-chromecast/default.nix b/nixpkgs/pkgs/applications/video/go-chromecast/default.nix
index 7c0894ee06d8..0ffb5170dc29 100644
--- a/nixpkgs/pkgs/applications/video/go-chromecast/default.nix
+++ b/nixpkgs/pkgs/applications/video/go-chromecast/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-chromecast";
-  version = "0.2.10";
+  version = "0.2.11";
 
   src = fetchFromGitHub {
     owner = "vishen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8216YaDgjy9Fp94Y5SQwEQpAP4NwvEhsJHe6xpQLAk8=";
+    sha256 = "sha256-BCOyeXo3uoR4ry/nFbF+//U62/hHnPK+tbG+8Rv6Rv0=";
   };
 
   vendorSha256 = "sha256-idxElk4Sy7SE9G1OMRw8YH4o8orBa80qhBXPA+ar620=";
diff --git a/nixpkgs/pkgs/applications/video/handbrake/default.nix b/nixpkgs/pkgs/applications/video/handbrake/default.nix
index ce64a702379c..841604399ed3 100644
--- a/nixpkgs/pkgs/applications/video/handbrake/default.nix
+++ b/nixpkgs/pkgs/applications/video/handbrake/default.nix
@@ -10,7 +10,10 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, nixosTests
+  # For tests
+, testVersion
+, runCommand
+, fetchurl
   # Main build tools
 , pkg-config
 , autoconf
@@ -81,13 +84,13 @@
 }:
 
 let
-  version = "1.4.2";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "HandBrake";
     repo = "HandBrake";
     rev = version;
-    sha256 = "sha256-Usz2+U1Wb8yJ5W2HqV0FqBaaE25fuVKk/NwKBHaKzwk=";
+    sha256 = "1kk11zl1mk37d4cvbc75gfndmma7vy3vkp4gmkyl92kiz6zadhyy";
   };
 
   versionFile = writeText "version.txt" ''
@@ -103,7 +106,7 @@ let
   inherit (lib) optional optionals optionalString versions;
 
 in
-stdenv.mkDerivation rec {
+let self = stdenv.mkDerivation rec {
   pname = "handbrake";
   inherit version src;
 
@@ -211,7 +214,23 @@ stdenv.mkDerivation rec {
   makeFlags = [ "--directory=build" ];
 
   passthru.tests = {
-    basic-conversion = nixosTests.handbrake;
+    basic-conversion =
+      let
+        # Big Buck Bunny example, licensed under CC Attribution 3.0.
+        testMkv = fetchurl {
+          url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
+          sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
+        };
+      in
+      runCommand "${pname}-${version}-basic-conversion" { nativeBuildInputs = [ self ]; } ''
+        mkdir -p $out
+        cd $out
+        HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160
+        test -e test.mp4
+        HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
+        test -e test.mkv
+      '';
+    version = testVersion { package = self; command = "HandBrakeCLI --version"; };
   };
 
   meta = with lib; {
@@ -230,4 +249,5 @@ stdenv.mkDerivation rec {
     platforms = with platforms; unix;
     broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
   };
-}
+};
+in self
diff --git a/nixpkgs/pkgs/applications/video/iina/default.nix b/nixpkgs/pkgs/applications/video/iina/default.nix
new file mode 100644
index 000000000000..3adb2a926d28
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/iina/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, fetchurl
+, stdenv
+, undmg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "iina";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/iina/iina/releases/download/v${version}/IINA.v${version}.dmg";
+    sha256 = "sha256-kbh+gAVfCXoct6jJGXnetTAzFfIGdVLL5zh/SL/EJzY=";
+  };
+
+  nativeBuildInputs = [ undmg ];
+
+  sourceRoot = "IINA.app";
+
+  installPhase = ''
+    mkdir -p "$out/Applications/IINA.app"
+    cp -R . "$out/Applications/IINA.app"
+  '';
+
+  meta = with lib; {
+    homepage = "https://iina.io/";
+    description = "The modern media player for macOS";
+    platforms = platforms.darwin;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ arkivm ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/arrow/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/arrow/default.nix
new file mode 100644
index 000000000000..bca61e902eb7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/arrow/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }:
+buildKodiAddon rec {
+  pname = "arrow";
+  namespace = "script.module.arrow";
+  version = "1.0.3.1";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "0xa16sb2hls59l4gsg1xwb1qbkhcvbykq02l05n5rcm0alg80l3l";
+  };
+
+  propagatedBuildInputs = [
+    dateutil
+    typing_extensions
+  ];
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.arrow";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/razzeee/script.module.arrow";
+    description = "Better dates & times for Python";
+    license = licenses.asl20;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix
new file mode 100644
index 000000000000..bec74dd46a97
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }:
+
+buildKodiAddon rec {
+  pname = "arteplussept";
+  namespace = "plugin.video.arteplussept";
+  version = "1.1.1";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    hash = "sha256-IYodi0Uz16Qg4MHCz/K06pEXblrsBxHD25fb6LrW8To=";
+  };
+
+  propagatedBuildInputs = [
+    dateutil
+    requests
+    xbmcswift2
+  ];
+
+  passthru = {
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.arteplussept";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/known-as-bmf/plugin.video.arteplussept";
+    description = "Watch videos available on Arte+7";
+    license = licenses.mit;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix
new file mode 100644
index 000000000000..2607ee64f70a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, toKodiAddon, addonDir }:
+let
+  drv = stdenv.mkDerivation {
+    pname = "controller-topology-project";
+    version = "unstable-2022-01-22";
+
+    src = fetchFromGitHub {
+      owner = "kodi-game";
+      repo = "controller-topology-project";
+      rev = "e2a9bac903f21b2acfeee374070cfc97d03aba2d";
+      sha256 = "sha256-o6uKxOjEYNAK27drvNOokOFPdjkOEnr49mBre9ycM0w=";
+    };
+
+    postPatch = ''
+      # remove addons already included in the base kodi package
+      rm -r addons/game.controller.default
+      rm -r addons/game.controller.snes
+    '';
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out${addonDir}
+      cp -r addons/* $out${addonDir}
+      runHook postInstall
+    '';
+
+    meta = with lib; {
+      homepage = "https://github.com/kodi-game/controller-topology-project";
+      description = "Models how controllers connect to and map to each other for all gaming history";
+      license = with licenses; [ odbl ];
+      maintainers = teams.kodi.members;
+    };
+  };
+in
+  toKodiAddon drv
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/controllers/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/controllers/default.nix
deleted file mode 100644
index 825ad5d53fc4..000000000000
--- a/nixpkgs/pkgs/applications/video/kodi/addons/controllers/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, buildKodiAddon, fetchFromGitHub, controller }:
-buildKodiAddon rec {
-  pname = "game-controller-${controller}";
-  namespace = "game.controller.${controller}";
-  version = "1.0.3";
-
-  sourceDir = "addons/" + namespace;
-
-  src = fetchFromGitHub {
-    owner = "kodi-game";
-    repo = "kodi-game-controllers";
-    rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18";
-    sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb";
-  };
-
-  meta = with lib; {
-    description = "Add support for different gaming controllers.";
-    platforms = platforms.all;
-    license = licenses.odbl;
-    maintainers = teams.kodi.members;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/dateutil/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/dateutil/default.nix
index 54a22cedf905..94ca38dd0861 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/dateutil/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/dateutil/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "dateutil";
   namespace = "script.module.dateutil";
-  version = "2.8.1+matrix.1";
+  version = "2.8.2";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "1jr77017ihs7j3455i72af71wyvs792kbizq4539ccd98far8lm7";
+    sha256 = "iQnyS0GjYcPbnBDUxmMrmDxHOA3K8RbTVke/HF4d5u4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/future/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/future/default.nix
new file mode 100644
index 000000000000..0f2815fe5f99
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/future/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+
+buildKodiAddon rec {
+  pname = "future";
+  namespace = "script.module.future";
+  version = "0.18.2+matrix.1";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "sha256-QBG7V70Dwmfq8ISILxGNvtmQT9fJp2e5gs2C9skRwIw=";
+  };
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.future";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://python-future.org";
+    description = "The missing compatibility layer between Python 2 and Python 3";
+    license = licenses.mit;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/iagl/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/iagl/default.nix
index 8ca0abdf960b..b8bbe3ae46fa 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/iagl/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/iagl/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "iagl";
   namespace = "plugin.program.iagl";
-  version = "1101521-2";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "zach-morris";
     repo = "plugin.program.iagl";
-    rev = "30e82eec1a909b31767f0e298cf77fc970b256d3";
-    sha256 = "11y05i5f7lzik23w2kr52jdgr8db3gin8i683sy1hzxlmplk4699";
+    rev = version;
+    sha256 = "sha256-Ha9wUHURPql6xew5bUd33DpgRt+8vwIHocxPopmXj4c=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
index 9fc59b2d329e..b16bab1b217a 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
index 313456bbfa7c..78b6ea5ac1d1 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/kodi/addons/orftvthek/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/orftvthek/default.nix
new file mode 100644
index 000000000000..c1abb00d0a30
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/orftvthek/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildKodiAddon, fetchFromGitHub, future, kodi-six, simplejson, inputstreamhelper }:
+
+buildKodiAddon rec {
+  pname = "orftvthek";
+  namespace = "plugin.video.orftvthek";
+  version = "0.12.3+matrix.1";
+
+  src = fetchFromGitHub {
+    owner = "s0faking";
+    repo = namespace;
+    rev = version;
+    sha256 = "sha256-GB9VkC9Vbi7TJXl/vF3ViF/tAcHGH0KxYQ0zkfMLZCY=";
+  };
+
+  propagatedBuildInputs = [
+    future
+    kodi-six
+    simplejson
+    inputstreamhelper
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/s0faking/plugin.video.orftvthek";
+    description = "An addon that gives you access to the ORF TVthek Video Platform";
+    license = licenses.gpl2Only;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
index e64f8c60e5c3..4b13e4a617ec 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
index 5aefffabc324..89aa3c7d3585 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/kodi/addons/simplejson/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/simplejson/default.nix
new file mode 100644
index 000000000000..e9293d6258df
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/simplejson/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+
+buildKodiAddon rec {
+  pname = "simplejson";
+  namespace = "script.module.simplejson";
+  version = "3.17.0+matrix.2";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "sha256-XLE4x0qr3CFwWqh1BfSg9q+w6pWgFBXG7TyVJWeGQIs=";
+  };
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.simplejson";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/simplejson/simplejson";
+    description = "Simple, fast, extensible JSON encoder/decoder for Python";
+    license = licenses.mit;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/trakt-module/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/trakt-module/default.nix
new file mode 100644
index 000000000000..ad7610e0f023
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/trakt-module/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, six, arrow }:
+buildKodiAddon rec {
+  pname = "trakt-module";
+  namespace = "script.module.trakt";
+  version = "4.4.0+matrix.1";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "19kjhrykx92sy67cajxjckzdwgq47ipwml0bx9vmdr9d191h14p8";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    six
+    arrow
+  ];
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.trakt-module";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/Razzeee/script.module.trakt";
+    description = "Python trakt.py library packed for Kodi";
+    license = licenses.mit;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/trakt/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/trakt/default.nix
new file mode 100644
index 000000000000..f2a662616ccf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/trakt/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }:
+buildKodiAddon rec {
+  pname = "trakt";
+  namespace = "script.trakt";
+  version = "3.5.0";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "07fb0wjcr8ggidswrjs1r1hzi6grykiyi855bgm7pjzzk95kl99v";
+  };
+
+  propagatedBuildInputs = [
+    dateutil
+    trakt-module
+  ];
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.trakt";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://kodi.wiki/view/Add-on:Trakt";
+    description = "Trakt.tv movie and TV show scrobbler for Kodi";
+    license = licenses.gpl2Only;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/typing_extensions/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/typing_extensions/default.nix
new file mode 100644
index 000000000000..0fddddfb1b60
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/typing_extensions/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+buildKodiAddon rec {
+  pname = "typing_extensions";
+  namespace = "script.module.typing_extensions";
+  version = "3.7.4.3";
+
+  src = fetchzip {
+    url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
+    sha256 = "0p28hchj05hmccs6b2836kh4vqdqnl169409f2845d0nw9y4wkqq";
+  };
+
+  passthru = {
+    pythonPath = "lib";
+    updateScript = addonUpdateScript {
+      attrPath = "kodi.packages.typing_extensions";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/python/typing/tree/master/typing_extensions";
+    description = "Python typing extensions";
+    license = licenses.psfl;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix
new file mode 100644
index 000000000000..7d435521f06c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildKodiAddon, fetchFromGitHub }:
+
+buildKodiAddon rec {
+  pname = "xbmcswift2";
+  namespace = "script.module.xbmcswift2";
+  version = "19.0.7";
+
+  src = fetchFromGitHub {
+    owner = "XBMC-Addons";
+    repo = namespace;
+    rev = version;
+    sha256 = "sha256-Z+rHz3wncoNvV1pwhRzJFB/X0H6wdfwg88otVh27wg8=";
+  };
+
+  passthru = {
+    pythonPath = "lib";
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/XBMC-Addons/script.module.xbmcswift2";
+    description = "Framework to ease development of Kodi addons";
+    license = licenses.gpl3Only;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix b/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
index dc5e41aeac5b..89eeed890485 100644
--- a/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
@@ -10,7 +10,7 @@
 , libjpeg, libpng, libtiff
 , libmpeg2, libsamplerate, libmad
 , libogg, libvorbis, flac, libxslt
-, lzo, libcdio, libmodplug, libass, libbluray
+, lzo, libcdio, libmodplug, libass, libbluray, libudfread
 , sqlite, libmysqlclient, nasm, gnutls, libva, libdrm
 , curl, bzip2, zip, unzip, glxinfo
 , libcec, libcec_platform, dcadec, libuuid
@@ -118,7 +118,7 @@ in stdenv.mkDerivation {
       libjpeg libpng libtiff
       libmpeg2 libsamplerate libmad
       libogg libvorbis flac libxslt systemd
-      lzo libcdio libmodplug libass libbluray
+      lzo libcdio libmodplug libass libbluray libudfread
       sqlite libmysqlclient avahi lame
       curl bzip2 zip unzip glxinfo
       libcec libcec_platform dcadec libuuid
diff --git a/nixpkgs/pkgs/applications/video/kodi/wrapper.nix b/nixpkgs/pkgs/applications/video/kodi/wrapper.nix
index 52b7679a325e..2380d0023d57 100644
--- a/nixpkgs/pkgs/applications/video/kodi/wrapper.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/wrapper.nix
@@ -35,5 +35,11 @@ buildEnv {
           (lib.concatMap
             (plugin: plugin.extraRuntimeDependencies or []) addons)}"
     done
+
+    # makeWrapper just created webinterface.default as a symlink. However,
+    # kodi's webserver carefully refuses to follow symlinks, so we need to copy
+    # these assets instead.
+    rm $out/share/kodi/addons/webinterface.default
+    cp -r ${kodi}/share/kodi/addons/webinterface.default/ $out/share/kodi/addons/webinterface.default
   '';
 }
diff --git a/nixpkgs/pkgs/applications/video/kooha/default.nix b/nixpkgs/pkgs/applications/video/kooha/default.nix
index f5be86647390..667dfd83d2cf 100644
--- a/nixpkgs/pkgs/applications/video/kooha/default.nix
+++ b/nixpkgs/pkgs/applications/video/kooha/default.nix
@@ -68,6 +68,7 @@ stdenv.mkDerivation rec {
   # Fixes https://github.com/NixOS/nixpkgs/issues/31168
   postPatch = ''
     patchShebangs build-aux/meson_post_install.py
+    substituteInPlace meson.build --replace '>= 1.0.0-alpha.1' '>= 1.0.0'
   '';
 
   installCheckPhase = ''
diff --git a/nixpkgs/pkgs/applications/video/lbry/default.nix b/nixpkgs/pkgs/applications/video/lbry/default.nix
index cf5608e66a02..460b0a176688 100644
--- a/nixpkgs/pkgs/applications/video/lbry/default.nix
+++ b/nixpkgs/pkgs/applications/video/lbry/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "lbry-desktop";
-  version = "0.50.2";
+  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 = "br6HvVRz+ybmAhmQh3vOC5wgLmOCVrGHDn59ueWk6rFoKOCbm8WdmdadOZvHeN1ld2nlvPzEy+KXMOEfF1LeQg==";
+      sha512 = "TWRFCVktSKs5PORtm8FvM6qNWuiL/1HN98ilr1busVUGvain0QXGZwB/Dzvsox1c+X9VofUdapzozSOT6r58qw==";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/video/minitube/default.nix b/nixpkgs/pkgs/applications/video/minitube/default.nix
index 4e8373383a8e..eda58349bd86 100644
--- a/nixpkgs/pkgs/applications/video/minitube/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/mkclean/default.nix b/nixpkgs/pkgs/applications/video/mkclean/default.nix
index 05f1efc0f610..49c270c41069 100644
--- a/nixpkgs/pkgs/applications/video/mkclean/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkclean/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Command line tool to clean and optimize Matroska (.mkv / .mka / .mks / .mk3d) and WebM (.webm / .weba) files that have already been muxed";
     homepage = "https://www.matroska.org";
     license = licenses.bsdOriginal;
-    maintainers = with maintainers; [ chrisaw ];
+    maintainers = with maintainers; [ cawilliamson ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index 04911562a347..0928c7617f90 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/mplayer/default.nix b/nixpkgs/pkgs/applications/video/mplayer/default.nix
index 1715ce4a6a17..0c435bfbe158 100644
--- a/nixpkgs/pkgs/applications/video/mplayer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch b/nixpkgs/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch
deleted file mode 100644
index 4137989fcb54..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/video/mpv/default.nix b/nixpkgs/pkgs/applications/video/mpv/default.nix
index 3183ca9bbe92..576f79c47793 100644
--- a/nixpkgs/pkgs/applications/video/mpv/default.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/default.nix
@@ -81,7 +81,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "mpv";
-  version = "0.34.0";
+  version = "0.34.1";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -89,7 +89,7 @@ in stdenv.mkDerivation rec {
     owner = "mpv-player";
     repo = "mpv";
     rev = "v${version}";
-    sha256 = "sha256-qa6xZV4aLcHBMa2bIqoKjte4+KWEGGZre4L0u1+eDE8=";
+    sha256 = "12qxwm1ww5vhjddl8yvj1xa0n1fi9z3lmzwhaiday2v59ca0qgsk";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/mpvacious.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/mpvacious.nix
index 3225317d78bc..9ddd6e308c3b 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/mpvacious.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/mpvacious.nix
@@ -1,19 +1,29 @@
-{ lib, stdenvNoCC, fetchFromGitHub, curl, xclip }:
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, curl
+, wl-clipboard
+, xclip
+}:
 
 stdenvNoCC.mkDerivation rec {
   pname = "mpvacious";
-  version = "0.14";
+  version = "0.15";
 
   src = fetchFromGitHub {
     owner = "Ajatt-Tools";
     repo = "mpvacious";
     rev = "v${version}";
-    sha256 = "0r031hh3hpim9dli15m9q4cwka4ljvwg0hdgyp36r1n097q44r5f";
+    sha256 = "1lxlgbjk4x3skg5s7kkr9llcdlmpmabfrcslwhhz5f4j3bq7498w";
   };
 
   postPatch = ''
+    # 'require' replaced with 'dofile' to work around
+    # https://github.com/mpv-player/mpv/issues/7399 until fixed in mpvacious
     substituteInPlace subs2srs.lua \
+      --replace "require('osd_styler')" "dofile('"$out/share/mpv/scripts/mpvacious/osd_styler.lua"')" \
       --replace "'curl'" "'${curl}/bin/curl'" \
+      --replace "'wl-copy'" "'${wl-clipboard}/bin/wl-copy'" \
       --replace "xclip" "${xclip}/bin/xclip"
   '';
 
@@ -21,12 +31,12 @@ stdenvNoCC.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/share/mpv/scripts
-    cp subs2srs.lua $out/share/mpv/scripts
+    mkdir -p $out/share/mpv/scripts/mpvacious
+    cp *.lua $out/share/mpv/scripts/mpvacious
     runHook postInstall
   '';
 
-  passthru.scriptName = "subs2srs.lua";
+  passthru.scriptName = "mpvacious/subs2srs.lua";
 
   meta = with lib; {
     description = "Adds mpv keybindings to create Anki cards from movies and TV shows";
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/sponsorblock.nix
index 5d33bfd92a48..9a4060e59330 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/sponsorblock.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/sponsorblock.nix
@@ -3,13 +3,13 @@
 # Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }`
 stdenvNoCC.mkDerivation {
   pname = "mpv_sponsorblock";
-  version = "unstable-2020-07-05";
+  version = "unstable-2021-12-23";
 
   src = fetchFromGitHub {
     owner = "po5";
     repo = "mpv_sponsorblock";
-    rev = "f71e49e0531350339134502e095721fdc66eac20";
-    sha256 = "1fr4cagzs26ygxyk8dxqvjw4n85fzv6is6cb1jhr2qnsjg6pa0p8";
+    rev = "6743bd47d4cfce3ae3d5dd4f587f3193bd4fb9b2";
+    sha256 = "06c37f33cdpz1w1jacjf1wnbh4f9b1xpipxzkg5ixf46cbwssmsj";
   };
 
   dontBuild = true;
@@ -39,10 +39,13 @@ stdenvNoCC.mkDerivation {
     cp -r sponsorblock.lua sponsorblock_shared $out/share/mpv/scripts/
   '';
 
-  passthru.scriptName = "sponsorblock.lua";
+  passthru = {
+    scriptName = "sponsorblock.lua";
+    updateScript = ./update-sponsorblock.sh;
+  };
 
   meta = with lib; {
-    description = "mpv script to skip sponsored segments of YouTube videos";
+    description = "Script for mpv to skip sponsored segments of YouTube videos";
     homepage = "https://github.com/po5/mpv_sponsorblock";
     license = licenses.gpl3;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/update-sponsorblock.sh b/nixpkgs/pkgs/applications/video/mpv/scripts/update-sponsorblock.sh
new file mode 100755
index 000000000000..b4888365a6f3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/update-sponsorblock.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p common-updater-scripts git jq nix nix-prefetch-git
+git_url='https://github.com/po5/mpv_sponsorblock.git'
+git_branch='master'
+git_dir='/var/tmp/mpv_sponsorblock.git'
+nix_file="$(dirname "${BASH_SOURCE[0]}")/sponsorblock.nix"
+pkg='mpvScripts.sponsorblock'
+
+set -euo pipefail
+
+info() {
+    if [ -t 2 ]; then
+        set -- '\033[32m%s\033[39m\n' "$@"
+    else
+        set -- '%s\n' "$@"
+    fi
+    printf "$@" >&2
+}
+
+old_rev=$(nix-instantiate --eval --strict --json -A "$pkg.src.rev" | jq -r)
+old_version=$(nix-instantiate --eval --strict --json -A "$pkg.version" | jq -r)
+today=$(LANG=C date -u +'%Y-%m-%d')
+
+info "fetching $git_url..."
+if [ ! -d "$git_dir" ]; then
+    git init --initial-branch="$git_branch" "$git_dir"
+    git -C "$git_dir" remote add origin "$git_url"
+fi
+git -C "$git_dir" fetch origin "$git_branch"
+
+# use latest commit before today, we should not call the version *today*
+# because there might still be commits coming
+# use the day of the latest commit we picked as version
+new_rev=$(git -C "$git_dir" log -n 1 --format='format:%H' --before="${today}T00:00:00Z" "origin/$git_branch")
+new_version="unstable-$(git -C "$git_dir" log -n 1 --format='format:%cs' "$new_rev")"
+info "latest commit before $today: $new_rev"
+
+if [ "$new_rev" = "$old_rev" ]; then
+    info "$pkg is up-to-date."
+    exit
+fi
+
+new_sha256=$(nix-prefetch-git --rev "$new_rev" "$git_dir" | jq -r .sha256)
+update-source-version "$pkg" \
+    "$new_version" \
+    "$new_sha256" \
+    --rev="$new_rev"
+git add "$nix_file"
+git commit --verbose --message "$pkg: $old_version -> $new_version"
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch b/nixpkgs/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch
deleted file mode 100644
index 0bc796248607..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/video/obs-studio/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/default.nix
index 31f478c47c0b..6d3f9b6d32db 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/default.nix
+++ b/nixpkgs/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.0";
 
   src = fetchFromGitHub {
     owner = "obsproject";
     repo = "obs-studio";
     rev = version;
-    sha256 = "04fzsr9yizmxy0r7z2706crvnsnybpnv5kgfn77znknxxjacfhkn";
+    sha256 = "KZgwAtyxv2vXDW7vF1eArF5Mqw45NngwChc+5OnXuXg=";
     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/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
index c78a8236bf25..a6c84cbbbef0 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
index 5c13d33ae466..d747268cc556 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/peek/default.nix b/nixpkgs/pkgs/applications/video/peek/default.nix
index edeb848867fb..27064077a9f8 100644
--- a/nixpkgs/pkgs/applications/video/peek/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/plex-media-player/default.nix b/nixpkgs/pkgs/applications/video/plex-media-player/default.nix
index 81b354fe1fff..34b6eb9c2862 100644
--- a/nixpkgs/pkgs/applications/video/plex-media-player/default.nix
+++ b/nixpkgs/pkgs/applications/video/plex-media-player/default.nix
@@ -36,12 +36,16 @@ in mkDerivation rec {
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DQTROOT=${qtbase}" ];
 
+  # plexmediaplayer currently segfaults under wayland
+  qtWrapperArgs = [ "--set" "QT_QPA_PLATFORM" "xcb" ];
+
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
     description = "Streaming media player for Plex";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ b4dm4n ];
     homepage = "https://plex.tv";
+    mainProgram = "plexmediaplayer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix b/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
index b82b7fd2436d..2d0643c4ddb9 100644
--- a/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
+++ b/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildPythonApplication, fetchFromGitHub, mpv, requests, python-mpv-jsonipc }:
+{ lib, buildPythonApplication, fetchFromGitHub, mpv, requests, python-mpv-jsonipc, pystray, tkinter }:
 
 buildPythonApplication rec {
   pname = "plex-mpv-shim";
-  version = "1.10.1";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "iwalton3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ql7idkm916f1wlkqxqmq1i2pc94gbgq6pvb8szhb21icyy5d1y0";
+    sha256 = "0hgv9g17dkrh3zbsx27n80yvkgix9j2x0rgg6d3qsf7hp5j3xw4r";
   };
 
-  propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ];
+  propagatedBuildInputs = [ mpv requests python-mpv-jsonipc pystray tkinter ];
 
   # does not contain tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/video/srtrelay/default.nix b/nixpkgs/pkgs/applications/video/srtrelay/default.nix
index 5fffdca9e38d..898f728d3eec 100644
--- a/nixpkgs/pkgs/applications/video/srtrelay/default.nix
+++ b/nixpkgs/pkgs/applications/video/srtrelay/default.nix
@@ -1,17 +1,17 @@
 { lib, buildGoModule, fetchFromGitHub, srt, ffmpeg }:
 
 buildGoModule rec {
-  pname = "srtrelay-unstable";
-  version = "2021-07-28";
+  pname = "srtrelay";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "voc";
     repo = "srtrelay";
-    rev = "c4f02ff2e9637b01a0679b29e5a76f4521eeeef3";
-    sha256 = "06zbl97bjjyv51zp27qk37ffpbh1ylm9bsr0s5qlyd73pyavcj1g";
+    rev = "v${version}";
+    sha256 = "sha256-CA+UuFOWjZjSBDWM62rda3IKO1fwC3X52mP4tg1uoO4=";
   };
 
-  vendorSha256 = "1pdpb0my7gdvjjkka6jhj19b9nx575k6117hg536b106ij2n4zd2";
+  vendorSha256 = "sha256-xTYlfdijSo99ei+ZMX6N9gl+yw0DrPQ2wOhn6SS9S/E=";
 
   buildInputs = [ srt ];
   checkInputs = [ ffmpeg ];
diff --git a/nixpkgs/pkgs/applications/video/streamlink/default.nix b/nixpkgs/pkgs/applications/video/streamlink/default.nix
index 7fa9072fbf1c..957911e239c9 100644
--- a/nixpkgs/pkgs/applications/video/streamlink/default.nix
+++ b/nixpkgs/pkgs/applications/video/streamlink/default.nix
@@ -6,11 +6,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "streamlink";
-  version = "3.0.3";
+  version = "3.1.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-oEK9p6OuqGSm2JdgfnJ+N0sJtRq6wCoVCGcU0GNEMLI=";
+    sha256 = "sha256-hVzTHpAOOuHVMoo3Ejv//irsUBoddLzdEvDSonWAYOQ=";
   };
 
   checkInputs = with python3Packages; [
@@ -32,10 +32,6 @@ python3Packages.buildPythonApplication rec {
     ffmpeg
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg --replace 'lxml >=4.6.4,<5.0' 'lxml'
-  '';
-
   meta = with lib; {
     homepage = "https://streamlink.github.io/";
     description = "CLI for extracting streams from various websites to video player of your choosing";
diff --git a/nixpkgs/pkgs/applications/video/sub-batch/default.nix b/nixpkgs/pkgs/applications/video/sub-batch/default.nix
index fd5b2888d63d..1603bdcbb940 100644
--- a/nixpkgs/pkgs/applications/video/sub-batch/default.nix
+++ b/nixpkgs/pkgs/applications/video/sub-batch/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sub-batch";
-  version = "0.4.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "kl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WUW+lOGbZ82NJxmW+Ogxslf3COOp62aZ/08Yn26l4T0=";
+    sha256 = "sha256-N+3KyBlLG90C3D5ivgj6qedtKsUBoBHr89gmxyAIfVI=";
   };
 
-  cargoSha256 = "sha256-m9nBubmuuOcJyegmYGJizY/2b7oamBHKFNIaxOtikcA=";
+  cargoSha256 = "sha256-rjhSosiLIgcSw6OHpFmGNHXGUdf2QsiIXFVgtO9qNY0=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix b/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix
index b1c8f436884c..56d830a2ac76 100644
--- a/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix
+++ b/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "subtitleeditor";
-  version = "0.54.0";
+  version = "unstable-2019-11-30";
 
   src = fetchFromGitHub {
     owner = "kitone";
     repo = "subtitleeditor";
-    rev = version;
-    sha256 = "0vxcscc9m6gymgj173ahk2g9hlk9588z5fdaavmkpyriqdlhwm11";
+    rev = "4c215f4cff4483c44361a2f1d45efc4c6670787f";
+    sha256 = "sha256-1Q1nd3GJ6iDGQv4SM2S1ehVW6kPdbqTn8KTtTb0obiQ=";
   };
 
   nativeBuildInputs =  [
diff --git a/nixpkgs/pkgs/applications/video/tartube/default.nix b/nixpkgs/pkgs/applications/video/tartube/default.nix
index 74ce4446a195..3b333be7afef 100644
--- a/nixpkgs/pkgs/applications/video/tartube/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/ustreamer/default.nix b/nixpkgs/pkgs/applications/video/ustreamer/default.nix
index 6dc8aa56b5cc..f2753affa563 100644
--- a/nixpkgs/pkgs/applications/video/ustreamer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/vdr/default.nix b/nixpkgs/pkgs/applications/video/vdr/default.nix
index 51984cf5f11f..5584e63ab446 100644
--- a/nixpkgs/pkgs/applications/video/vdr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/vlc/default.nix b/nixpkgs/pkgs/applications/video/vlc/default.nix
index 5ef62ff6b466..a5e65480b2bf 100644
--- a/nixpkgs/pkgs/applications/video/vlc/default.nix
+++ b/nixpkgs/pkgs/applications/video/vlc/default.nix
@@ -1,28 +1,85 @@
-{ lib, stdenv, fetchurl, autoreconfHook, fetchpatch
-, libarchive, perl, xorg, libdvdnav, libbluray
-, zlib, a52dec, libmad, faad2, ffmpeg, alsa-lib
-, pkg-config, dbus, fribidi, freefont_ttf, libebml, libmatroska
-, libvorbis, libtheora, speex, lua5, libgcrypt, libgpg-error, libupnp
-, libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg
-, mpeg2dec, systemd, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
-, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, libssh2, liboggz
-, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
-, libvdpau, libsamplerate, libspatialaudio, live555, fluidsynth
-, wayland, wayland-protocols, ncurses, srt
-, onlyLibVLC ? false
-, withQt5 ? true, qtbase, qtsvg, qtx11extras, wrapQtAppsHook
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, SDL
+, SDL_image
+, a52dec
+, alsa-lib
+, autoreconfHook
+, avahi
+, dbus
+, faad2
+, ffmpeg_4
+, flac
+, fluidsynth
+, freefont_ttf
+, fribidi
+, gnutls
+, libarchive
+, libass
+, libbluray
+, libcaca
+, libcddb
+, libdc1394
+, libdvbpsi
+, libdvdnav
+, libebml
+, libgcrypt
+, libgpg-error
+, libjack2
+, libkate
+, libmad
+, libmatroska
+, libmtp
+, liboggz
+, libopus
+, libpulseaudio
+, libraw1394
+, librsvg
+, libsamplerate
+, libspatialaudio
+, libssh2
+, libtheora
+, libtiger
+, libupnp
+, libv4l
+, libva
+, libvdpau
+, libvorbis
+, libxml2
+, live555
+, lua5
+, mpeg2dec
+, ncurses
+, perl
+, pkg-config
+, removeReferencesTo
+, samba
+, schroedinger
+, speex
+, srt
+, systemd
+, taglib
+, unzip
+, xorg
+, zlib
+, chromecastSupport ? true, libmicrodns, protobuf
 , jackSupport ? false
+, onlyLibVLC ? false
 , skins2Support ? !onlyLibVLC, freetype
-, removeReferencesTo
-, chromecastSupport ? true, protobuf, libmicrodns
+, waylandSupport ? true, wayland, wayland-protocols
+, withQt5 ? true, qtbase, qtsvg, qtwayland, qtx11extras, wrapQtAppsHook
 }:
 
 # chromecastSupport requires TCP port 8010 to be open for it to work.
 # If your firewall is enabled, make sure to have something like:
 #   networking.firewall.allowedTCPPorts = [ 8010 ];
 
-with lib;
-
+let
+  inherit (lib) optionalString optional optionals;
+  hostIsAarch = stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64;
+in
 stdenv.mkDerivation rec {
   pname = "${optionalString onlyLibVLC "lib"}vlc";
   version = "3.0.16";
@@ -36,36 +93,115 @@ stdenv.mkDerivation rec {
   # which are not included here for no other reason that nobody has mentioned
   # needing them
   buildInputs = [
-    zlib a52dec libmad faad2 ffmpeg alsa-lib libdvdnav libdvdnav.libdvdread
-    libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpg-error
-    libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
-    systemd gnutls avahi libcddb SDL SDL_image libmtp taglib libarchive
-    libkate libtiger libv4l samba libssh2 liboggz libass libdvbpsi libva
-    xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
-    libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
-    libspatialaudio fluidsynth wayland wayland-protocols ncurses srt
-  ] ++ optional (!stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isAarch32) live555
-    ++ optionals withQt5    [ qtbase qtsvg qtx11extras ]
-    ++ optionals skins2Support (with xorg; [ libXpm freetype libXext libXinerama ])
-    ++ optional jackSupport libjack2
-    ++ optionals chromecastSupport [ protobuf libmicrodns ];
-
-  nativeBuildInputs = [ autoreconfHook perl pkg-config removeReferencesTo unzip ]
-    ++ optionals withQt5 [ wrapQtAppsHook ];
+    SDL
+    SDL_image
+    a52dec
+    alsa-lib
+    avahi
+    dbus
+    faad2
+    ffmpeg_4
+    flac
+    fluidsynth
+    fribidi
+    gnutls
+    libarchive
+    libass
+    libbluray
+    libcaca
+    libcddb
+    libdc1394
+    libdvbpsi
+    libdvdnav
+    libdvdnav.libdvdread
+    libebml
+    libgcrypt
+    libgpg-error
+    libkate
+    libmad
+    libmatroska
+    libmtp
+    liboggz
+    libopus
+    libpulseaudio
+    libraw1394
+    librsvg
+    libsamplerate
+    libspatialaudio
+    libssh2
+    libtheora
+    libtiger
+    libupnp
+    libv4l
+    libva
+    libvdpau
+    libvorbis
+    libxml2
+    lua5
+    mpeg2dec
+    ncurses
+    samba
+    schroedinger
+    speex
+    srt
+    systemd
+    taglib
+    zlib
+  ]
+  ++ (with xorg; [
+    libXpm
+    libXv
+    libXvMC
+    xcbutilkeysyms
+    xlibsWrapper
+  ])
+  ++ optional (!hostIsAarch && !onlyLibVLC) live555
+  ++ optional jackSupport libjack2
+  ++ optionals chromecastSupport [ libmicrodns protobuf ]
+  ++ optionals skins2Support (with xorg; [
+    freetype
+    libXext
+    libXinerama
+    libXpm
+  ])
+  ++ optionals waylandSupport [ wayland wayland-protocols ]
+  ++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
+  ++ optional (waylandSupport && withQt5) qtwayland;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    perl
+    pkg-config
+    removeReferencesTo
+    unzip
+  ]
+  ++ optionals withQt5 [ wrapQtAppsHook ]
+  ++ optionals waylandSupport [ wayland wayland-protocols ];
 
   enableParallelBuilding = true;
 
-  LIVE555_PREFIX = if (!stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isAarch32) then live555 else null;
+  LIVE555_PREFIX = if hostIsAarch then null else live555;
 
   # vlc depends on a c11-gcc wrapper script which we don't have so we need to
   # set the path to the compiler
   BUILDCC = "${stdenv.cc}/bin/gcc";
 
   patches = [
+    # Required in order to run newer srt plugin. Remove it when next release arrives
     (fetchpatch {
       url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4250fe8f28c220d883db454cec2b2c76a07473eb/trunk/vlc-3.0.11.1-srt_1.4.2.patch";
       sha256 = "53poWjZfwq/6l316sqiCp0AtcGweyXBntcLDFPSokHQ=";
     })
+    # patches to build with recent live555
+    # upstream issue: https://code.videolan.org/videolan/vlc/-/issues/25473
+    (fetchpatch {
+      url = "https://code.videolan.org/videolan/vlc/uploads/3c84ea58d7b94d7a8d354eaffe4b7d55/0001-Get-addr-by-ref.-from-getConnectionEndpointAddress.patch";
+      sha256 = "171d3qjl9a4dm13sqig3ra8s2zcr76wfnqz4ba4asg139cyc1axd";
+    })
+    (fetchpatch {
+      url = "https://code.videolan.org/videolan/vlc/uploads/eb1c313d2d499b8a777314f789794f9d/0001-Add-lssl-and-lcrypto-to-liblive555_plugin_la_LIBADD.patch";
+      sha256 = "0kyi8q2zn2ww148ngbia9c7qjgdrijf4jlvxyxgrj29cb5iy1kda";
+    })
   ];
 
   postPatch = ''
@@ -86,11 +222,13 @@ stdenv.mkDerivation rec {
   # Most of the libraries are auto-detected so we don't need to set a bunch of
   # "--enable-foo" flags here
   configureFlags = [
-    "--with-kde-solid=$out/share/apps/solid/actions"
     "--enable-srt" # Explicit enable srt to ensure the patch is applied.
-  ] ++ optional onlyLibVLC "--disable-vlc"
-    ++ optional skins2Support "--enable-skins2"
-    ++ optionals chromecastSupport [
+    "--with-kde-solid=$out/share/apps/solid/actions"
+  ]
+  ++ optional onlyLibVLC "--disable-vlc"
+  ++ optional skins2Support "--enable-skins2"
+  ++ optional waylandSupport "--enable-wayland"
+  ++ optionals chromecastSupport [
     "--enable-sout"
     "--enable-chromecast"
     "--enable-microdns"
@@ -111,6 +249,7 @@ stdenv.mkDerivation rec {
     description = "Cross-platform media player and streaming server";
     homepage = "http://www.videolan.org/vlc/";
     license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/xine-ui/default.nix b/nixpkgs/pkgs/applications/video/xine-ui/default.nix
index 3d44796f78cd..b4f610c7a91d 100644
--- a/nixpkgs/pkgs/applications/video/xine-ui/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/xplayer/default.nix b/nixpkgs/pkgs/applications/video/xplayer/default.nix
index a4b03e91501d..9d6a5e18ad5d 100644
--- a/nixpkgs/pkgs/applications/video/xplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/xplayer/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   # the gstreamer toolsdir points to the wrong derivation output
   postPatch = ''
     substituteInPlace configure.ac \
-                      --replace '$gst10_toolsdir/gst-inspect-1.0' '${gstreamer.dev}/bin/gst-inspect-1.0' \
+                      --replace '$gst10_toolsdir/gst-inspect-1.0' '${gstreamer}/bin/gst-inspect-1.0' \
   '';
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix b/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
index cbd7d8e5512d..2889d09183d7 100644
--- a/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index f68c1ddc8a50..955d609d7a28 100644
--- a/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,19 +2,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "20.1";
+  version = "21.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1r55ykxwa0xr1f9sp7mnv8nqf0dr7vw62b1w8r7mmyrndwnq6z5b";
+    sha256 = "00b0ij9sfv7zsrgwrcj2rzpy1z8bp0m0lmzjp433xzpcgcnzw3w5";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
 
-  cargoSha256 = "07wpfhlp82hp3hr8vc52vhkrxd8xpyvdvfqh1dn1fnhxk3b1z7lz";
+  cargoSha256 = "0lf7bb468s2ic9vabx954i46605gf7c6064vvwqvz7djk30z0y0d";
+
+  # Integration tests require root.
+  cargoTestFlags = [ "--bins" ];
 
   meta = with lib; {
     homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor";
diff --git a/nixpkgs/pkgs/applications/virtualization/colima/default.nix b/nixpkgs/pkgs/applications/virtualization/colima/default.nix
index 92e190168cf1..e83fc4ef5018 100644
--- a/nixpkgs/pkgs/applications/virtualization/colima/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/colima/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "colima";
-  version = "0.2.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "abiosoft";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vWNkYsT2XF+oMOQ3pb1+/a207js8B+EmVanRQrYE/2A=";
+    sha256 = "sha256-nov+DIaeYaRJy7Cz1hcKJUA88IKlZ4z/tn4WASZjxLI=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  vendorSha256 = "sha256-F1ym88JrJWzsBg89Y1ufH4oefIRBwTGOw72BrjtpvBw=";
+  vendorSha256 = "sha256-Z4+qwoX04VnLsUIYRfOowFLgcaA9w8oGRl77jzFigIc=";
 
   postInstall = ''
     wrapProgram $out/bin/colima \
@@ -35,7 +35,6 @@ buildGoModule rec {
     description = "Container runtimes on MacOS with minimal setup";
     homepage = "https://github.com/abiosoft/colima";
     license = licenses.mit;
-    platforms = platforms.darwin;
     maintainers = with maintainers; [ aaschmid ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/conmon/default.nix b/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
index c8f78117f500..6777b8d6c82f 100644
--- a/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "conmon";
-  version = "2.0.31";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/IQS5L9Gqhft1eefkcNAPcQn7nSqOxAp9ySKBSOjs7M=";
+    sha256 = "sha256-75Xyp25+JJtrXJO+cRFPkDj64zgdlVTAygGwFuJ7jKA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
index 8f8da3d18015..aa4a9000d230 100644
--- a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
@@ -10,15 +10,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.5.8";
-
-  outputs = [ "out" "man" ];
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-XIAByE2/eVG8DAZXstKs51LQYdVPcPQuIlST3xCclrU=";
+    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 ];
+    maintainers = with maintainers; [ offline vdemeester endocrimes zowoq ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix b/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
index 75a3dbf37462..87b91196f882 100644
--- a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/crun/default.nix b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
index 1e59fa0d6ae2..4a2ec178be2e 100644
--- a/nixpkgs/pkgs/applications/virtualization/crun/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
@@ -37,13 +37,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.4";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hO3gOZ0AaSvymIDvoylHzlHscoN1+G7wDXTCP1c5uIw=";
+    sha256 = "sha256-zGtHO8CgpbXTh8nZ6WA0ocakzLjL/PW2IULI5QSEPVI=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/compose.nix b/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
index da1e1de42701..35856eae01c8 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    sha256 = "sha256-2wNC3APKbJ3Ug8M3w4nllfWlKTd10W7W/Csq/3xbXAI=";
+    sha256 = "sha256-c6rwRFJ/9moukd56qrmHxOeULhSPHCU0Cj+vw4TQ8+Q=";
   };
 
-  vendorSha256 = "sha256-RzAQnuOjT8eMH+rJm+/JrF96PZbCgzDVNPQYUeXPWnY=";
+  vendorSha256 = "sha256-W+bcjUXPZjldjhgaGsUKS1vSvS3yP/kH0QqwyvhL7Ww=";
 
-  ldflags = ["-X github.com/docker/compose/v2/internal.Version=${version}"];
+  ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
   doCheck = false;
   installPhase = ''
@@ -22,7 +22,8 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Docker CLI plugin to define and run multi-container applications with Docker";
+    homepage = "https://github.com/docker/compose";
     license = licenses.asl20;
-    maintainers = [ maintainers.babariviere ];
+    maintainers = with maintainers; [ babariviere SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/default.nix b/nixpkgs/pkgs/applications/virtualization/docker/default.nix
index a6c94bf89144..462ebb556f1d 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/default.nix
@@ -233,19 +233,19 @@ rec {
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
   docker_20_10 = callPackage dockerGen rec {
-    version = "20.10.9";
+    version = "20.10.12";
     rev = "v${version}";
-    sha256 = "1msqvzfccah6cggvf1pm7n35zy09zr4qg2aalgwpqigv0jmrbyd4";
+    sha256 = "sha256-nU6grb2lSW7BY7w9aAXwVbGp9TyO2ZxnJaxAi0wbk/c=";
     moby-src = fetchFromGitHub {
       owner = "moby";
       repo = "moby";
       rev = "v${version}";
-      sha256 = "04xx7m8s9vrkm67ba2k5i90053h5qqkjcvw5rc8w7m5a309xcp4n";
+      sha256 = "sha256-qizzK1qJNRGFisahE3iAzZTNW/HmledlMNxcJCMQSJ4=";
     };
-    runcRev = "v1.0.2"; # v1.0.2
+    runcRev = "v1.0.2";
     runcSha256 = "1bpckghjah0rczciw1a1ab8z718lb2d3k4mjm4zb45lpm3njmrcp";
-    containerdRev = "v1.4.11"; # v1.4.11
-    containerdSha256 = "02slv4gc2blxnmv0p8pkm139vjn6ihjblmn8ps2k1afbbyps0ilr";
+    containerdRev = "v1.4.12";
+    containerdSha256 = "sha256-g30kshXyGVew5tVaXFAOQUOYvvo0JBqIj1YaC5nTiS8=";
     tiniRev = "v0.19.0"; # v0.19.0
     tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
   };
diff --git a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
index 78720034ea1a..a3ef59e8e92e 100644
--- a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, lib, stdenv }:
 
 let
-  version = "0.24.5";
+  version = "0.25.2";
 
   suffix = {
     x86_64-linux = "x86_64";
@@ -22,15 +22,15 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
   src = dlbin {
-    x86_64-linux = "sha256-drcm2kz2csuJqr8Oqs0r1BrxgPHOyuwC2S+99MhbMjA=";
-    aarch64-linux = "sha256-x8RoBmgY3HRUOLw8YzEwQfQuT83zGfBHHWu88b4i05o=";
+    x86_64-linux = "sha256-ZzlPq+Q9XfWQJr+7nKS0e6bfKwYNfpMHSiBIKeOr/s4=";
+    aarch64-linux = "sha256-75UC+HeVUfUk1HRvTJsOHbHHkgr6me1OtxDF7lahf68=";
   };
 
   dontConfigure = true;
 
   buildPhase = ''
-    mv release-v${version}/firecracker-v${version}-${suffix} firecracker
-    mv release-v${version}/jailer-v${version}-${suffix} jailer
+    mv release-v${version}-${suffix}/firecracker-v${version}-${suffix} firecracker
+    mv release-v${version}-${suffix}/jailer-v${version}-${suffix} jailer
     chmod +x firecracker jailer
   '';
 
diff --git a/nixpkgs/pkgs/applications/virtualization/libgovirt/default.nix b/nixpkgs/pkgs/applications/virtualization/libgovirt/default.nix
new file mode 100644
index 000000000000..9c9da54c3632
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/lima/default.nix b/nixpkgs/pkgs/applications/virtualization/lima/default.nix
index d6eba5f1029e..4f58f0127166 100644
--- a/nixpkgs/pkgs/applications/virtualization/lima/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.8.0";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bO7o3z9E7mGiUtlqI+mhhh+D6CG9j3BZ7IB8o/LDUPM=";
+    sha256 = "sha256-hzoc5zbdnHHTY04aGn+77lHvPh+KNOPoZmW19YIZHv8=";
   };
 
-  vendorSha256 = "sha256-MDmRkGa1m3YuUbffCwoChG0Fg74jyuQQ6ljfDlLatjI=";
+  vendorSha256 = "sha256-eJnwXXYWMaIfM8SW4MtmG4wsPA/9sx4j2AkOd6GpnsY=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix b/nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix
index 974aa712d62f..a05ff32e397b 100644
--- a/nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/podman-compose/default.nix
@@ -17,7 +17,7 @@ buildPythonApplication rec {
     description = "An implementation of docker-compose with podman backend";
     homepage = "https://github.com/containers/podman-compose";
     license = lib.licenses.gpl2Only;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.sikmir ] ++ lib.teams.podman.members;
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/podman-tui/default.nix b/nixpkgs/pkgs/applications/virtualization/podman-tui/default.nix
new file mode 100644
index 000000000000..cfeee8a8718d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.c b/nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.c
new file mode 100644
index 000000000000..f956768862ec
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.c
@@ -0,0 +1,79 @@
+// This is a tiny wrapper that converts the extra arv[0] argument
+// from binfmt-misc with the P flag enabled to QEMU parameters.
+// It also prevents LD_* environment variables from being applied
+// to QEMU itself.
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifndef TARGET_QEMU
+#error "Define TARGET_QEMU to be the path to the qemu-user binary (e.g., -DTARGET_QEMU=\"/full/path/to/qemu-riscv64\")"
+#endif
+
+extern char **environ;
+
+int main(int argc, char *argv[]) {
+    if (argc < 3) {
+        fprintf(stderr, "%s: This should be run as the binfmt interpreter with the P flag\n", argv[0]);
+        fprintf(stderr, "%s: My preconfigured qemu-user binary: %s\n", argv[0], TARGET_QEMU);
+        return 1;
+    }
+
+    size_t environ_count = 0;
+    for (char **cur = environ; *cur != NULL; ++cur) {
+        environ_count++;
+    }
+
+    size_t new_argc = 3;
+    size_t new_argv_alloc = argc + 2 * environ_count + 2; // [ "-E", env ] for each LD_* env + [ "-0", argv0 ]
+    char **new_argv = (char**)malloc((new_argv_alloc + 1) * sizeof(char*));
+    if (!new_argv) {
+        fprintf(stderr, "FATAL: Failed to allocate new argv array\n");
+        abort();
+    }
+
+    new_argv[0] = TARGET_QEMU;
+    new_argv[1] = "-0";
+    new_argv[2] = argv[2];
+
+    // Pass all LD_ env variables as -E and strip them in `new_environ`
+    size_t new_environc = 0;
+    char **new_environ = (char**)malloc((environ_count + 1) * sizeof(char*));
+    if (!new_environ) {
+        fprintf(stderr, "FATAL: Failed to allocate new environ array\n");
+        abort();
+    }
+
+    for (char **cur = environ; *cur != NULL; ++cur) {
+        if (strncmp("LD_", *cur, 3) == 0) {
+            new_argv[new_argc++] = "-E";
+            new_argv[new_argc++] = *cur;
+        } else {
+            new_environ[new_environc++] = *cur;
+        }
+    }
+    new_environ[new_environc] = NULL;
+
+    size_t new_arg_start = new_argc;
+    new_argc += argc - 3 + 2; // [ "--", full_binary_path ]
+
+    if (argc > 3) {
+        memcpy(&new_argv[new_arg_start + 2], &argv[3], (argc - 3) * sizeof(char**));
+    }
+
+    new_argv[new_arg_start] = "--";
+    new_argv[new_arg_start + 1] = argv[1];
+    new_argv[new_argc] = NULL;
+
+#ifdef DEBUG
+    for (size_t i = 0; i < new_argc; ++i) {
+        fprintf(stderr, "argv[%zu] = %s\n", i, new_argv[i]);
+    }
+#endif
+
+    return execve(new_argv[0], new_argv, new_environ);
+}
+
+// vim: et:ts=4:sw=4
diff --git a/nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.nix b/nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.nix
new file mode 100644
index 000000000000..fada14569299
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/qemu/binfmt-p-wrapper.nix
@@ -0,0 +1,31 @@
+# binfmt preserve-argv[0] wrapper
+#
+# More details in binfmt-p-wrapper.c
+#
+# The wrapper has to be static so LD_* environment variables
+# cannot affect the execution of the wrapper itself.
+
+{ lib, stdenv, pkgsStatic, enableDebug ? false }:
+
+name: emulator:
+
+pkgsStatic.stdenv.mkDerivation {
+  inherit name;
+
+  src = ./binfmt-p-wrapper.c;
+
+  dontUnpack = true;
+  dontInstall = true;
+
+  buildPhase = ''
+    runHook preBuild
+
+    mkdir -p $out/bin
+    $CC -o $out/bin/${name} -static -std=c99 -O2 \
+        -DTARGET_QEMU=\"${emulator}\" \
+        ${lib.optionalString enableDebug "-DDEBUG"} \
+        $src
+
+    runHook postBuild
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/virtualization/qemu/default.nix b/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
index 2955b2272980..ee923f4e0cd0 100644
--- a/nixpkgs/pkgs/applications/virtualization/qemu/default.nix
+++ b/nixpkgs/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,48 +183,60 @@ 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 = ''
-    install -m755 -D $emitKvmWarningsPath $out/libexec/emit-kvm-warnings
-    if [ -x $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} ]; then
-      makeWrapper $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} \
-                  $out/bin/qemu-kvm \
-                  --run $out/libexec/emit-kvm-warnings \
-                  --add-flags "\$([ -r /dev/kvm -a -w /dev/kvm ] && echo -enable-kvm)"
-    fi
+    ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm
   '';
 
   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.
   requiredSystemFeatures = [ "big-parallel" ];
 
-  emitKvmWarnings = ''
-    #!${runtimeShell}
-    WARNCOL='\033[1;35m'
-    NEUTRALCOL='\033[0m'
-    WARNING="''${WARNCOL}warning:''${NEUTRALCOL}"
-    if [ ! -e /dev/kvm ]; then
-      echo -e "''${WARNING} KVM is not available - execution will be slow" >&2
-      echo "Consider installing KVM for hardware-accelerated execution." >&2
-      echo "If KVM is already installed make sure the kernel module is loaded." >&2
-    elif [ ! -r /dev/kvm -o ! -w /dev/kvm ]; then
-      echo -e "''${WARNING} /dev/kvm is not read-/writable - execution will be slow" >&2
-      echo "/dev/kvm needs to be read-/writable by the user executing QEMU." >&2
-      echo "" >&2
-      echo "For hardware-acceleration inside the nix build sandbox /dev/kvm" >&2
-      echo "must be world-read-/writable (rw-rw-rw-)." >&2
-    fi
-  '';
-
-  passAsFile = [ "emitKvmWarnings" ];
-
   meta = with lib; {
     homepage = "http://www.qemu.org/";
     description = "A generic and open source machine emulator and virtualizer";
     license = licenses.gpl2Plus;
+    mainProgram = "qemu-kvm";
     maintainers = with maintainers; [ eelco qyliss ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/applications/virtualization/qemu/sigrtminmax.patch b/nixpkgs/pkgs/applications/virtualization/qemu/sigrtminmax.patch
deleted file mode 100644
index 41050447ac64..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/runc/default.nix b/nixpkgs/pkgs/applications/virtualization/runc/default.nix
index 79a21075f038..0dd3da4b37c6 100644
--- a/nixpkgs/pkgs/applications/virtualization/runc/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/runc/default.nix
@@ -16,13 +16,13 @@
 
 buildGoModule rec {
   pname = "runc";
-  version = "1.0.3";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "sha256-Tl/JKbIpao+FCjngPzaVkxse50zo3XQ9Mg/AdkblMcI=";
+    sha256 = "sha256-svLxxfiRDLWkdRuHXaDyH5Ta6qmptI8z+s41iZKgbWM=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/seabios/default.nix b/nixpkgs/pkgs/applications/virtualization/seabios/default.nix
index a97c43495703..af2c4939ad04 100644
--- a/nixpkgs/pkgs/applications/virtualization/seabios/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/singularity/default.nix b/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
index 4d6fb0ef4afa..6589cccfe2f9 100644
--- a/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/tinyemu/default.nix b/nixpkgs/pkgs/applications/virtualization/tinyemu/default.nix
deleted file mode 100644
index 17cee52a64e0..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix
index 4fd56e0cae33..29e05a069ce7 100644
--- a/nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
index 128753f26433..9424628d2877 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/default.nix
@@ -23,14 +23,14 @@ let
   buildType = "release";
   # Use maintainers/scripts/update.nix to update the version and all related hashes or
   # change the hashes in extpack.nix and guest-additions/default.nix as well manually.
-  version = "6.1.28";
+  version = "6.1.30";
 in stdenv.mkDerivation {
   pname = "virtualbox";
   inherit version;
 
   src = fetchurl {
     url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "8d34993d8e9c0cf35e7bd44dd26c8c757f17a3b7d5a64052f945d00fd798ebfe";
+    sha256 = "3c60a29375549ffc148aaebe859be91b27c19d6fa2deefde1373c4f6da8f18ef";
   };
 
   outputs = [ "out" "modsrc" ];
@@ -229,5 +229,6 @@ in stdenv.mkDerivation {
     homepage = "https://www.virtualbox.org/";
     maintainers = with maintainers; [ sander ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "VirtualBox";
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
index 7842e0ce89ff..dd1adcd77294 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -12,7 +12,7 @@ fetchurl rec {
     # Manually sha256sum the extensionPack file, must be hex!
     # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
     # Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
-    let value = "85d7858a95d802c41cb86e1b573dc501d782e5d040937e0d8505a37c29509774";
+    let value = "a5ee3e693a0470a77735556a77a09aa83bfc48181998b9b21b1af82ef1d11c2a";
     in assert (builtins.stringLength value) == 64; value;
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 83dd8f6e7939..ad22fc4cc9f5 100644
--- a/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "eab85206cfb9d7087982deb2635d19a4244a3c6783622a4817fb1a31e48e98e5";
+    sha256 = "d324d2d09d8dd00b1eb3ef3d80ab2e1726998421d13adc0d2a90e05d355aaa5c";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix b/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
index 7e79d963fc29..6ac7377122de 100644
--- a/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
+++ b/nixpkgs/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 = "6.10.0";
+  version = "7.1.0";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "sha256-cPCtxfLzg1RDh3vKFfxAkcCMytu0mDsGp9CLJQmXATA=";
+    sha256 = "sha256-SBX50wQbNUvgmnO0B0iXiEXEmJrkVmtNqUUv0O6yRic=";
   };
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/xen/generic.nix b/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
index 8299304045d0..c85e70116682 100644
--- a/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
+++ b/nixpkgs/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))
@@ -254,5 +254,9 @@ stdenv.mkDerivation (rec {
     platforms = [ "x86_64-linux" ];
     maintainers = with lib.maintainers; [ eelco tstrobel oxij ];
     license = lib.licenses.gpl2;
+    # https://xenbits.xen.org/docs/unstable/support-matrix.html
+    knownVulnerabilities = lib.optionals (lib.versionOlder version "4.13") [
+      "This version of Xen has reached its end of life. See https://xenbits.xen.org/docs/unstable/support-matrix.html"
+    ];
   } // (config.meta or {});
 } // removeAttrs config [ "xenfiles" "buildInputs" "patches" "postPatch" "meta" ])
diff --git a/nixpkgs/pkgs/applications/window-managers/berry/default.nix b/nixpkgs/pkgs/applications/window-managers/berry/default.nix
index b2d28ca55f23..23aa8ff8201e 100644
--- a/nixpkgs/pkgs/applications/window-managers/berry/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/berry/default.nix
@@ -1,24 +1,35 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, copyDesktopItems
+, fontconfig
+, freetype
 , libX11
 , libXext
 , libXft
 , libXinerama
-, fontconfig
-, freetype
+, makeDesktopItem
+, pkg-config
+, which
 }:
 
 stdenv.mkDerivation rec {
   pname = "berry";
-  version = "0.1.7";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "JLErvin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2kFVOE5l1KQvDb5KDL7y0p4M7awJLrxJF871cyc0YZ8=";
+    hash = "sha256-E1kjqSv2eylJ/9EGcxQrJ2P7VaehyUiirk0TxlPWSnM=";
   };
 
+  nativeBuildInputs = [
+    copyDesktopItems
+    pkg-config
+    which
+  ];
+
   buildInputs =[
     libX11
     libXext
@@ -28,16 +39,21 @@ stdenv.mkDerivation rec {
     freetype
   ];
 
-  preBuild = ''
-    makeFlagsArray+=( PREFIX="${placeholder "out"}"
-                      X11INC="${libX11.dev}/include"
-                      X11LIB="${libX11}/lib"
-                      XINERAMALIBS="-lXinerama"
-                      XINERAMAFLAGS="-DXINERAMA"
-                      FREETYPELIBS="-lfontconfig -lXft"
-                      FREETYPEINC="${freetype.dev}/include/freetype2" )
+  preConfigure = ''
+    patchShebangs configure
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = "berry";
+      comment = meta.description;
+      desktopName = "Berry Window Manager";
+      genericName = "Berry Window Manager";
+      categories = "Utility;";
+    })
+  ];
+
   meta = with lib; {
     description = "A healthy, bite-sized window manager";
     longDescription = ''
@@ -59,3 +75,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
+# TODO: report upstream that `which` is not POSIX; the `command` shell builtin
+# should be used instead
diff --git a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
index 04944a1e9092..bfc360e81bbd 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
@@ -1,19 +1,18 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , fetchFromGitHub
-, pkg-config
 , libinput
 , libxcb
 , libxkbcommon
 , pixman
+, pkg-config
 , wayland
 , wayland-protocols
 , wlroots
+, writeText
 , enable-xwayland ? true, xwayland, libX11
-, patches ? [ ]
 , conf ? null
-, writeText
-, fetchpatch
+, patches ? [ ]
 }:
 
 let
@@ -22,16 +21,17 @@ in
 
 stdenv.mkDerivation rec {
   pname = "dwl";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "djpohly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lfUAymLA4+E9kULZIueA+9gyVZYgaVS0oTX0LJjsSEs=";
+    hash = "sha256-T2GqDehBNO8eublqZUmA5WADjnwElzT+bp9Dp1bqSgg=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [
     libinput
     libxcb
@@ -60,6 +60,11 @@ stdenv.mkDerivation rec {
                  else writeText "config.def.h" conf;
   in lib.optionalString (conf != null) "cp ${configFile} config.def.h";
 
+  NIX_CFLAGS_COMPILE = [
+    # https://github.com/djpohly/dwl/issues/186
+    "-Wno-error=unused-result"
+  ];
+
   dontConfigure = true;
 
   installPhase = ''
@@ -85,8 +90,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; linux;
+    inherit (wayland.meta) platforms;
   };
 }
 # TODO: custom patches from upstream website
-# TODO: investigate the modifications in the upstream unstable version
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
index 6235c93a2816..68e1467c5a8c 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dwm";
-  version = "6.2";
+  version = "6.3";
 
   src = fetchurl {
     url = "https://dl.suckless.org/dwm/${pname}-${version}.tar.gz";
-    sha256 = "03hirnj8saxnsfqiszwl2ds7p0avg20izv9vdqyambks00p2x44p";
+    sha256 = "utqgKFKbH7of1/moTztk8xGQRmyFgBG1Pi97cMajB40=";
   };
 
   buildInputs = [ libX11 libXinerama libXft ];
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
index 7b22eb399251..1b83e28309e0 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix
index a536a44d452b..4018a34b571a 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix
@@ -1,4 +1,4 @@
-{ i3lock-color, lib, fetchFromGitHub }:
+{ i3lock-color, lib, stdenv, fetchFromGitHub }:
 
 i3lock-color.overrideAttrs (oldAttrs : rec {
   pname = "i3lock-blur";
@@ -17,5 +17,6 @@ i3lock-color.overrideAttrs (oldAttrs : rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/i3lock-blur.x86_64-darwin
   };
 })
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
index 63a49953115a..7f08891385b1 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
 
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index 019ac1377240..da04da4e9eae 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -8,24 +8,27 @@
 , notmuch
 , openssl
 , ethtool
+, lm_sensors
+, iw
+, iproute2
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.20.7";
+  version = "0.21.5";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7RfDNjTUQtVZUeRGBnd2ygSkFJOoPrNF/Bwy8GWo7To=";
+    sha256 = "sha256-0maPT1NdWFkSupU6CL2cFd6hlZ2BMxAOK6f3rQbfFA8=";
   };
 
-  cargoSha256 = "sha256-alZJm2/hhloKQn7QeUA2IMgGl86Lz8xNpZkoMHCcjVI=";
+  cargoSha256 = "sha256-QUecTmw8pWqrTdcstbXoFf53dFfwFN51tQ7ngUzkyV0=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
-  buildInputs = [ dbus libpulseaudio notmuch openssl ];
+  buildInputs = [ dbus libpulseaudio notmuch openssl lm_sensors ];
 
   buildFeatures = [
     "notmuch"
@@ -44,7 +47,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   postFixup = ''
-    wrapProgram $out/bin/i3status-rs --prefix PATH : "${ethtool}/bin"
+    wrapProgram $out/bin/i3status-rs --prefix PATH : ${lib.makeBinPath [ iproute2 ethtool iw ]}
   '';
 
   # Currently no tests are implemented, so we avoid building the package twice
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index e4efc13262d2..deac4bed6079 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -40,24 +40,15 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.6.0";
+  version = "2.9.4";
 
   src = fetchFromGitHub {
     owner  = "ice-wm";
     repo = pname;
     rev = version;
-    hash = "sha256-R06tiWS9z6K5Nbi+vvk7DyozpcFdrHleMeh7Iq/FfHQ=";
+    hash = "sha256-ne2lqo9CAhGgC8dd9R03zhFXy9nPBQR0NcfAY0DeVj4=";
   };
 
-  patches = [
-    # https://github.com/ice-wm/icewm/pull/57
-    # Fix trailing -I that leads to "to generate dependencies you must specify either '-M' or '-MM'"
-    (fetchpatch {
-      url = "https://github.com/ice-wm/icewm/pull/57/commits/ebd2c45341cc31755758a423392a0f78a64d2d37.patch";
-      sha256 = "16m9znd3ijcfl7la3l27ac3clx8l9qng3fprkpxqcifd89ny1ml5";
-    })
-  ];
-
   nativeBuildInputs = [
     asciidoc
     cmake
@@ -108,7 +99,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://www.ice-wm.org/";
+    homepage = "https://ice-wm.org/";
     description = "A simple, lightweight X window manager";
     longDescription = ''
       IceWM is a window manager for the X Window System. The goal of IceWM is
diff --git a/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix b/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
index 45d56194bede..30328cd7719a 100644
--- a/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tiling tabbed window manager designed with keyboard users in mind";
-    homepage = "http://modeemi.fi/~tuomov/ion";
+    homepage = "https://modeemi.fi/~tuomov/ion";
     platforms = with platforms; linux;
     license = licenses.lgpl21;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
index 3bbe08164641..580fd29faa04 100644
--- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
@@ -1,41 +1,47 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, pkg-config
-, meson
-, ninja
 , cairo
 , glib
+, libdrm
 , libinput
+, libxcb
+, libxkbcommon
 , libxml2
+, meson
+, ninja
 , pango
+, pkg-config
+, scdoc
 , wayland
 , wayland-protocols
 , wlroots
-, libxcb
-, libxkbcommon
 , xwayland
-, libdrm
-, scdoc
 }:
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
-    owner = "johanmalm";
+    owner = "labwc";
     repo = pname;
     rev = version;
-    sha256 = "sha256-v8LGiQG/n1IXeVMPWyiP9MgZzZLW78JftvxnRVTswaM=";
+    hash = "sha256-O9jVDR7UROt5u8inUsZjbzB3dQTosiLYqXkeOyGrbaM=";
   };
 
+  patches = [
+    # Required to fix the build with wlroots 0.15.1:
+    ./relax-the-version-constraint-for-wlroots.patch
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
     scdoc
   ];
+
   buildInputs = [
     cairo
     glib
@@ -54,8 +60,8 @@ stdenv.mkDerivation rec {
   mesonFlags = [ "-Dxwayland=enabled" ];
 
   meta = with lib; {
-    homepage = "https://github.com/johanmalm/labwc";
-    description = "Openbox alternative for Wayland";
+    homepage = "https://github.com/labwc/labwc";
+    description = "A Wayland stacking compositor, similar to Openbox";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch b/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
new file mode 100644
index 000000000000..9a790f285164
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
@@ -0,0 +1,29 @@
+From 21d8bfcf7899f5ec50b29f523ace4c19cbfbe919 Mon Sep 17 00:00:00 2001
+From: Michael Weiss <dev.primeos@gmail.com>
+Date: Fri, 4 Feb 2022 21:17:05 +0100
+Subject: [PATCH] build: Relax the version constraint for wlroots to accept
+ patch releases
+
+Patch releases only contain backwards compatible changes (mainly bug
+fixes) so we want to allow them. This fixes the build with the recently
+released wlroots 0.15.1 and uses the same version constraints as other
+projects that depend on wlroots (e.g., Sway).
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index f950b8e..1905dda 100644
+--- a/meson.build
++++ b/meson.build
+@@ -37,7 +37,7 @@ if git.found()
+ endif
+ add_project_arguments('-DLABWC_VERSION=@0@'.format(version), language: 'c')
+
+-wlroots_version = ['=0.15.0']
++wlroots_version = ['>=0.15.0', '<0.16.0']
+ wlroots_proj = subproject(
+   'wlroots',
+   default_options: ['default_library=static', 'examples=false'],
+--
+2.34.1
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index 5b77320e2203..20f4c33ae60e 100644
--- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix b/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix
index 5550e6f706e7..6f1a37f9379a 100644
--- a/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix
@@ -1,6 +1,10 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
-, pkg-config
+, awk
+, grep
+, sed
+, runtimeShell
 , cmake
 , libXext
 , libXft
@@ -9,20 +13,32 @@
 , libXrandr
 , libjpeg
 , libpng
+, pkg-config
 }:
 
 stdenv.mkDerivation rec {
   pname = "pekwm";
-  version = "0.1.18";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "pekdon";
     repo = "pekwm";
     rev = "release-${version}";
-    sha256 = "sha256-R1XDEk097ycMI3R4SjUEJv37CiMaDCQMvg7N8haN0MM=";
+    hash= "sha256-voHPstdcd4CHnAdD3PMxca0A6MyMYJi8Ik0UlFB0vG0=";
   };
 
-  nativeBuildInputs = [ pkg-config cmake ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  cmakeFlags = [
+    "-DAWK=${awk}/bin/awk"
+    "-DGREP=${grep}/bin/grep"
+    "-DSED=${sed}/bin/sed"
+    "-DSH=${runtimeShell}"
+  ];
+
   buildInputs = [
     libXext
     libXft
@@ -34,24 +50,23 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
+    homepage = "https://www.pekwm.se/";
     description = "A lightweight window manager";
     longDescription = ''
-      pekwm is a window manager that once upon a time was based on the
-      aewm++ window manager, but it has evolved enough that it no
-      longer resembles aewm++ at all. It has a much expanded
-      feature-set, including window grouping (similar to ion, pwm, or
-      fluxbox), autoproperties, xinerama, keygrabber that supports
-      keychains, and much more.
-      - Lightweight and Unobtrusive, a window manager shouldn't be
-        noticed.
+      pekwm is a window manager that once upon a time was based on the aewm++
+      window manager, but it has evolved enough that it no longer resembles
+      aewm++ at all. It has a much expanded feature-set, including window
+      grouping (similar to ion, pwm, or fluxbox), autoproperties, xinerama,
+      keygrabber that supports keychains, and much more.
+
+      - Lightweight and Unobtrusive, a window manager shouldn't be noticed.
       - Very configurable, we all work and think in different ways.
-      - Automatic properties, for all the lazy people, make things
-        appear as they should when starting applications.
+      - Automatic properties, for all the lazy people, make things appear as
+        they should when starting applications.
       - Chainable Keygrabber, usability for everyone.
     '';
-      homepage = "https://www.pekwm.org/";
-      license = licenses.gpl2Plus;
-      maintainers = [ maintainers.AndersonTorres ];
-      platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
index e1f805662c67..2c01a37aa43c 100644
--- a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/picom/default.nix b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
index 32eee9df0d83..b5a524a38b49 100644
--- a/nixpkgs/pkgs/applications/window-managers/picom/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picom";
-  version = "8.2";
+  version = "9.1";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${version}";
-    sha256 = "0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl";
+    sha256 = "sha256-Fqk6bPAOg4muxmSP+ezpGUNw6xrMWchZACKemeA08mA=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix b/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
index 88b00c2731db..d20d7a5ecceb 100644
--- a/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
+++ b/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
@@ -2,12 +2,12 @@
 
 picom.overrideAttrs (oldAttrs: rec {
   pname = "picom-next";
-  version = "unstable-2021-11-19";
+  version = "unstable-2022-02-05";
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
-    rev = "1c7a4ff5a3cd5f3e25abcac0196896eea5939dce";
-    sha256 = "sha256-2uy2ofXhEWKuM+nEUqU16c85UGt6fJGtPZj+az907aw=";
+    rev = "928963721c8789fc5f27949e8b0730771aab940d";
+    sha256 = "sha256-qu9HnUG5VQbiSgduW1oR/tVvzEckaD2TWzds4R5zI+Y=";
   };
   meta.maintainers = with lib.maintainers; oldAttrs.meta.maintainers ++ [ GKasparov ];
 })
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index 8c5d65d4978f..c4a33628e131 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -1,25 +1,21 @@
-{ lib, fetchFromGitHub, python3, mypy, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
+{ lib, fetchFromGitHub, python3, python3Packages, mypy, glib, pango, pkg-config, xcbutilcursor }:
 
 let
-  enabled-xcffib = cairocffi-xcffib: cairocffi-xcffib.override {
-    withXcffib = true;
-  };
-
-  # make it easier to reference python
-  python = python3;
-  pythonPackages = python.pkgs;
-
-  unwrapped = pythonPackages.buildPythonPackage rec {
+  unwrapped = python3Packages.buildPythonPackage rec {
     pname = "qtile";
-    version = "0.19.0";
+    version = "0.20.0";
 
     src = fetchFromGitHub {
       owner = "qtile";
       repo = "qtile";
       rev = "v${version}";
-      sha256 = "BLHGVPMQd8O4h5TVx/F/klzSra+FZYogp22V6Yq04T0=";
+      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 \
@@ -33,13 +29,13 @@ let
 
     nativeBuildInputs = [
       pkg-config
-    ] ++ (with pythonPackages; [
+    ] ++ (with python3Packages; [
       setuptools-scm
     ]);
 
-    propagatedBuildInputs = with pythonPackages; [
+    propagatedBuildInputs = with python3Packages; [
       xcffib
-      (enabled-xcffib cairocffi)
+      (cairocffi.override { withXcffib = true; })
       setuptools
       python-dateutil
       dbus-python
@@ -68,9 +64,9 @@ let
     };
   };
 in
-  (python.withPackages (ps: [ unwrapped ])).overrideAttrs (_: {
-    # otherwise will be exported as "env", this restores `nix search` behavior
-    name = "${unwrapped.pname}-${unwrapped.version}";
-    # export underlying qtile package
-    passthru = { inherit unwrapped; };
-  })
+(python3.withPackages (_: [ unwrapped ])).overrideAttrs (_: {
+  # otherwise will be exported as "env", this restores `nix search` behavior
+  name = "${unwrapped.pname}-${unwrapped.version}";
+  # export underlying qtile package
+  passthru = { inherit unwrapped; };
+})
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/fix-restart.patch b/nixpkgs/pkgs/applications/window-managers/qtile/fix-restart.patch
new file mode 100644
index 000000000000..eca4f0866342
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/river/default.nix b/nixpkgs/pkgs/applications/window-managers/river/default.nix
index e59ce5449e2c..b1f80d102d2a 100644
--- a/nixpkgs/pkgs/applications/window-managers/river/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/river/default.nix
@@ -13,19 +13,20 @@
 , udev
 , libevdev
 , libinput
-, libX11
 , libGL
+, libX11
+, xwaylandSupport ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "0.1.0";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
-    owner = "ifreund";
+    owner = "riverwm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03pdgrcpj8db9s14249815z76dyjwwma8xv6p9hpw79flk6rk7v7";
+    sha256 = "sha256-bHfHhyDx/Wzhvhr7mAeVzJf0TBJgMTGb/ClGjWMLlQ8=";
     fetchSubmodules = true;
   };
 
@@ -39,9 +40,8 @@ stdenv.mkDerivation rec {
     udev
     libevdev
     libinput
-    libX11
     libGL
-  ];
+  ] ++ lib.optional xwaylandSupport libX11;
 
   dontConfigure = true;
 
@@ -51,14 +51,13 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    zig build -Drelease-safe -Dcpu=baseline -Dxwayland -Dman-pages --prefix $out install
+    zig build -Drelease-safe -Dcpu=baseline ${lib.optionalString xwaylandSupport "-Dxwayland"} -Dman-pages --prefix $out install
     runHook postInstall
   '';
 
-  /*
-    Builder patch install dir into river to get default config
+  /* Builder patch install dir into river to get default config
     When installFlags is removed, river becomes half broken.
-    See https://github.com/ifreund/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56
+    See https://github.com/riverwm/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56
   */
   installFlags = [ "DESTDIR=$(out)" ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix b/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
index be2c5bc3d6ec..11ef2979afe0 100644
--- a/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
@@ -22,9 +22,9 @@ stdenv.mkDerivation {
     xcbutilwm
   ];
 
-  sourceRoot = let
+  prePatch = let
     subdir = if stdenv.isDarwin then "osx" else "linux";
-  in "source/${subdir}";
+  in "cd ${subdir}";
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
index 1796f27f67bb..5a98a38664d8 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sway-unwrapped";
-  version = "1.6.1";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "0j4sdbsrlvky1agacc0pcz9bwmaxjmrapjnzscbd2i0cria2fc5j";
+    sha256 = "0ss3l258blyf2d0lwd7pi7ga1fxfj8pxhag058k7cmjhs3y30y5l";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
index da23359b6469..fd424e3074a7 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swayidle";
-  version = "1.7";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swayidle";
     rev = version;
-    sha256 = "0ziya8d5pvvxg16jhy4i04pvq11bdvj68gz5q654ar4dldil17nn";
+    sha256 = "06iq12p4438d6bv3jlqsf01wjaxrzlnj1bnicn41kad563aq41xl";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
diff --git a/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix b/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix
index 7366ff196954..67097ca151a0 100644
--- a/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix
@@ -18,9 +18,9 @@ stdenv.mkDerivation {
 
   buildInputs = [ xorgproto libX11 libXft ];
 
-  makeFlags = [
-    "PREFIX=$(out)"
-  ];
+  makeFlags = [ "CC:=$(CC)" ];
+
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
     homepage = "https://tools.suckless.org/tabbed";
diff --git a/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix b/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
index 965ec67b6e94..b89d9dafd900 100644
--- a/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://github.com/swaywm/wlroots/tree/master/tinywl";
     description = ''A "minimum viable product" Wayland compositor based on wlroots'';
-    maintainers = with maintainers; [ qyliss ];
+    maintainers = with maintainers; [ qyliss ] ++ wlroots.meta.maintainers;
     license = licenses.cc0;
     inherit (wlroots.meta) platforms;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/weston/default.nix b/nixpkgs/pkgs/applications/window-managers/weston/default.nix
index 598e78be2643..043e2b02a7fb 100644
--- a/nixpkgs/pkgs/applications/window-managers/weston/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/weston/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland-scanner
+{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland-scanner, python3
 , wayland, libGL, mesa, libxkbcommon, cairo, libxcb
 , libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev
 , colord, lcms2, pipewire ? null
@@ -10,14 +10,14 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "weston";
-  version = "9.0.0";
+  version = "10.0.0";
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1zlql0xgiqc3pvgbpnnvj4xvpd91pwva8qf83xfb23if377ddxaw";
+    sha256 = "1bj7wnadr7ssn6xw7k8ki0wpj6np3kjd2pcysfz3h0mr290rc8sw";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner python3 ];
   buildInputs = [
     wayland libGL mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
     mtdev libjpeg pam dbus libinput libevdev pango libunwind freerdp vaapi libva
diff --git a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
index d0c35ab7cbb1..6759e15ee833 100644
--- a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, unzip, pkg-config, libixp_hg, txt2tags, dash, python, which
+{ lib, stdenv, fetchurl, unzip, pkg-config, libixp_hg, txt2tags, dash, python2, which
 , libX11 , libXrender, libXext, libXinerama, libXrandr, libXft }:
 
 stdenv.mkDerivation rec {
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkg-config unzip ];
-  buildInputs = [ libixp_hg txt2tags dash python which
+  buildInputs = [ libixp_hg txt2tags dash python2 which
                   libX11 libXrender libXext libXinerama libXrandr libXft ];
 
   # For some reason including mercurial in buildInputs did not help
diff --git a/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix b/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix
index 7e74eb96b747..61da183c835d 100644
--- a/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix
+++ b/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix
@@ -89,7 +89,7 @@ EOF
     ln -s $out/lib/liblapacke.so.3 $out/lib/liblapacke.so
   fi
 
-  cp ${lib.getDev lapack-reference}/include/lapacke{,_mangling,_config}.h $dev/include
+  cp ${lib.getDev lapack-reference}/include/lapacke{,_mangling,_config,_utils}.h $dev/include
 
   cat <<EOF > $dev/lib/pkgconfig/lapacke.pc
 Name: lapacke
diff --git a/nixpkgs/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/nixpkgs/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
index 2f96480f80c1..fb01c5096d5b 100644
--- a/nixpkgs/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
+++ b/nixpkgs/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
@@ -30,7 +30,7 @@ expandResponseParams "$@"
 if [[ -n "${NIX_LINK_TYPE_@suffixSalt@:-}" ]]; then
     linkType=$NIX_LINK_TYPE_@suffixSalt@
 else
-    linkType=$(checkLinkType "$@")
+    linkType=$(checkLinkType "${params[@]}")
 fi
 
 if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
diff --git a/nixpkgs/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix b/nixpkgs/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
index ae7151c31c3c..e44519a04046 100644
--- a/nixpkgs/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
+++ b/nixpkgs/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
@@ -71,7 +71,7 @@ let
       "pki"
     ];
   in concatStringsSep "\n  "
-  (map (file: "--ro-bind-try /etc/${file} /etc/${file}") files);
+  (map (file: "--ro-bind-try $(${coreutils}/bin/readlink -f /etc/${file}) /etc/${file}") files);
 
   # Create this on the fly instead of linking from /nix
   # The container might have to modify it and re-run ldconfig if there are
diff --git a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix
index b9d2de7277eb..32ac43d41556 100644
--- a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix
+++ b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "chrootenv";
-  src = ./.;
+  src = ./src;
 
   nativeBuildInputs = [ meson ninja pkg-config ];
   buildInputs = [ glib ];
diff --git a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/src/chrootenv.c
index c109d7297e17..c109d7297e17 100644
--- a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
+++ b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/src/chrootenv.c
diff --git a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/meson.build b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/src/meson.build
index 6d0770a0dc4a..6d0770a0dc4a 100644
--- a/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/meson.build
+++ b/nixpkgs/pkgs/build-support/build-fhs-userenv/chrootenv/src/meson.build
diff --git a/nixpkgs/pkgs/build-support/build-graalvm-native-image/default.nix b/nixpkgs/pkgs/build-support/build-graalvm-native-image/default.nix
index 09b2d9f73a2b..3aedd61ea6ce 100644
--- a/nixpkgs/pkgs/build-support/build-graalvm-native-image/default.nix
+++ b/nixpkgs/pkgs/build-support/build-graalvm-native-image/default.nix
@@ -33,6 +33,8 @@ stdenv.mkDerivation (args // {
   nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ];
 
   buildPhase = args.buildPhase or ''
+    export LC_ALL="en_US.UTF-8"
+
     runHook preBuild
 
     native-image ''${nativeImageBuildArgs[@]}
diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index aa25de336418..1220841162c3 100644
--- a/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -31,7 +31,7 @@ cxxLibrary=1
 cInclude=1
 
 expandResponseParams "$@"
-linkType=$(checkLinkType "$@")
+linkType=$(checkLinkType "${params[@]}")
 
 declare -i n=0
 nParams=${#params[@]}
diff --git a/nixpkgs/pkgs/build-support/coq/meta-fetch/default.nix b/nixpkgs/pkgs/build-support/coq/meta-fetch/default.nix
index e7b15af4f06e..d5fe31c6ccf7 100644
--- a/nixpkgs/pkgs/build-support/coq/meta-fetch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/docker/default.nix b/nixpkgs/pkgs/build-support/docker/default.nix
index 1b6c340f7f0c..5718cadd4ffa 100644
--- a/nixpkgs/pkgs/build-support/docker/default.nix
+++ b/nixpkgs/pkgs/build-support/docker/default.nix
@@ -827,6 +827,8 @@ rec {
       # this on, but tooling may disable this to insert the store paths more
       # efficiently via other means, such as bind mounting the host store.
       includeStorePaths ? true
+    , # Passthru arguments for the underlying derivation.
+      passthru ? {}
     ,
     }:
       assert
@@ -987,7 +989,7 @@ rec {
         result = runCommand "stream-${baseName}"
           {
             inherit (conf) imageName;
-            passthru = {
+            passthru = passthru // {
               inherit (conf) imageTag;
 
               # Distinguish tarballs and exes at the Nix level so functions that
diff --git a/nixpkgs/pkgs/build-support/build-dotnet-module/default.nix b/nixpkgs/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index 0a5b17a4a363..49a61f4e5d6d 100644
--- a/nixpkgs/pkgs/build-support/build-dotnet-module/default.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/build-dotnet-module/default.nix
@@ -224,7 +224,7 @@ let
           "''${dotnetInstallFlags[@]}"  \
           "''${dotnetFlags[@]}"
       done
-    '' + (lib.optionalString packNupkg ''
+    '' + lib.optionalString packNupkg ''
       for project in ''${projectFile[@]}; do
         dotnet pack "$project" \
           -p:ContinuousIntegrationBuild=true \
@@ -235,16 +235,24 @@ let
           "''${dotnetPackFlags[@]}"  \
           "''${dotnetFlags[@]}"
       done
-    '') + (if executables != null then ''
-      for executable in $executables; do
+    '' + ''
+      runHook postInstall
+    '';
+
+    preFixup = ''
+      _wrapDotnetProgram() {
+        makeWrapper "$1" "$out/bin/$(basename "$executable")" \
+          --set DOTNET_ROOT "${dotnet-runtime}" \
+          --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
+          "''${gappsWrapperArgs[@]}" \
+          "''${makeWrapperArgs[@]}"
+      }
+    '' + (if executables != null then ''
+      for executable in ''${executables[@]}; do
         execPath="$out/lib/${args.pname}/$executable"
 
         if [[ -f "$execPath" && -x "$execPath" ]]; then
-          makeWrapper "$execPath" "$out/bin/$(basename "$executable")" \
-            --set DOTNET_ROOT "${dotnet-runtime}" \
-            --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
-            "''${gappsWrapperArgs[@]}" \
-            "''${makeWrapperArgs[@]}"
+          _wrapDotnetProgram $execPath
         else
           echo "Specified binary \"$executable\" is either not an executable, or does not exist!"
           exit 1
@@ -253,16 +261,10 @@ let
     '' else ''
       for executable in $out/lib/${args.pname}/*; do
         if [[ -f "$executable" && -x "$executable" && "$executable" != *"dll"* ]]; then
-          makeWrapper "$executable" "$out/bin/$(basename "$executable")" \
-            --set DOTNET_ROOT "${dotnet-runtime}" \
-            --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
-            "''${gappsWrapperArgs[@]}" \
-            "''${makeWrapperArgs[@]}"
+          _wrapDotnetProgram $executable
         fi
       done
-    '') + ''
-      runHook postInstall
-    '';
+    '');
   });
 in
   package
diff --git a/nixpkgs/pkgs/build-support/build-dotnet-package/default.nix b/nixpkgs/pkgs/build-support/dotnet/build-dotnet-package/default.nix
index 14446ef05e72..14446ef05e72 100644
--- a/nixpkgs/pkgs/build-support/build-dotnet-package/default.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/build-dotnet-package/default.nix
diff --git a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/create-pkg-config-for-dll.sh b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/create-pkg-config-for-dll.sh
index 379141704523..379141704523 100644
--- a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/create-pkg-config-for-dll.sh
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/create-pkg-config-for-dll.sh
diff --git a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/default.nix b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/default.nix
index 4348832ac04c..4348832ac04c 100644
--- a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/default.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/default.nix
diff --git a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/patch-fsharp-targets.sh b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/patch-fsharp-targets.sh
index 3f81cc73e801..3f81cc73e801 100755
--- a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/patch-fsharp-targets.sh
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/patch-fsharp-targets.sh
diff --git a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/placate-nuget.sh b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-nuget.sh
index 8a7f36522a3d..8a7f36522a3d 100644
--- a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/placate-nuget.sh
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-nuget.sh
diff --git a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/placate-paket.sh b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-paket.sh
index 0dbf1eecbad8..0dbf1eecbad8 100644
--- a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/placate-paket.sh
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-paket.sh
diff --git a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/remove-duplicated-dlls.sh b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/remove-duplicated-dlls.sh
index d8d29912c8fa..d8d29912c8fa 100644
--- a/nixpkgs/pkgs/build-support/dotnetbuildhelpers/remove-duplicated-dlls.sh
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetbuildhelpers/remove-duplicated-dlls.sh
diff --git a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper.sln b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper.sln
index f2e7d4cf8b2c..f2e7d4cf8b2c 100644
--- a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper.sln
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper.sln
diff --git a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs
index 633d23c05ff2..633d23c05ff2 100644
--- a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs
diff --git a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
index abad090ebcbf..abad090ebcbf 100644
--- a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
diff --git a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in
index a991bcb6933a..a991bcb6933a 100644
--- a/nixpkgs/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in
diff --git a/nixpkgs/pkgs/build-support/dotnetenv/build-solution.nix b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/build-solution.nix
index b3372b942177..b3372b942177 100644
--- a/nixpkgs/pkgs/build-support/dotnetenv/build-solution.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/build-solution.nix
diff --git a/nixpkgs/pkgs/build-support/dotnetenv/default.nix b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/default.nix
index 3015db42b07b..3015db42b07b 100644
--- a/nixpkgs/pkgs/build-support/dotnetenv/default.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/default.nix
diff --git a/nixpkgs/pkgs/build-support/dotnetenv/wrapper.nix b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/wrapper.nix
index 423303c3084a..423303c3084a 100644
--- a/nixpkgs/pkgs/build-support/dotnetenv/wrapper.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/dotnetenv/wrapper.nix
diff --git a/nixpkgs/pkgs/build-support/fetchnuget/default.nix b/nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix
index 061da746cead..061da746cead 100644
--- a/nixpkgs/pkgs/build-support/fetchnuget/default.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/fetchnuget/default.nix
diff --git a/nixpkgs/pkgs/build-support/nuget-to-nix/default.nix b/nixpkgs/pkgs/build-support/dotnet/nuget-to-nix/default.nix
index a5fc4e209cd2..a5fc4e209cd2 100644
--- a/nixpkgs/pkgs/build-support/nuget-to-nix/default.nix
+++ b/nixpkgs/pkgs/build-support/dotnet/nuget-to-nix/default.nix
diff --git a/nixpkgs/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh b/nixpkgs/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
index 55a499370181..55a499370181 100755
--- a/nixpkgs/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh
+++ b/nixpkgs/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
diff --git a/nixpkgs/pkgs/build-support/fetchgit/builder.sh b/nixpkgs/pkgs/build-support/fetchgit/builder.sh
index 0047a335c76c..c7c7d21709a1 100644
--- a/nixpkgs/pkgs/build-support/fetchgit/builder.sh
+++ b/nixpkgs/pkgs/build-support/fetchgit/builder.sh
@@ -11,6 +11,7 @@ $SHELL $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
   ${fetchLFS:+--fetch-lfs} \
   ${deepClone:+--deepClone} \
   ${fetchSubmodules:+--fetch-submodules} \
+  ${sparseCheckout:+--sparse-checkout "$sparseCheckout"} \
   ${branchName:+--branch-name "$branchName"}
 
 runHook postFetch
diff --git a/nixpkgs/pkgs/build-support/fetchgit/default.nix b/nixpkgs/pkgs/build-support/fetchgit/default.nix
index 3a05008dacb5..1b59668ce4bc 100644
--- a/nixpkgs/pkgs/build-support/fetchgit/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchgit/default.nix
@@ -15,6 +15,7 @@ in
 { url, rev ? "HEAD", md5 ? "", sha256 ? "", hash ? "", leaveDotGit ? deepClone
 , fetchSubmodules ? true, deepClone ? false
 , branchName ? null
+, sparseCheckout ? ""
 , name ? urlToName url rev
 , # Shell code executed after the file has been fetched
   # successfully. This can do things like check or transform the file.
@@ -74,7 +75,7 @@ stdenvNoCC.mkDerivation {
   else
     lib.fakeSha256;
 
-  inherit url rev leaveDotGit fetchLFS fetchSubmodules deepClone branchName postFetch;
+  inherit url rev leaveDotGit fetchLFS fetchSubmodules deepClone branchName sparseCheckout postFetch;
 
   postHook = if netrcPhase == null then null else ''
     ${netrcPhase}
diff --git a/nixpkgs/pkgs/build-support/fetchgit/deterministic-git b/nixpkgs/pkgs/build-support/fetchgit/deterministic-git
new file mode 100755
index 000000000000..67f585559116
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git b/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
index be5068c7ad31..4e6f25b8dd7d 100755
--- a/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/nixpkgs/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -48,6 +48,7 @@ Options:
       --rev ref       Any sha1 or references (such as refs/heads/master)
       --hash h        Expected hash.
       --branch-name   Branch name to check out into
+      --sparse-checkout Only fetch and checkout part of the repository.
       --deepClone     Clone the entire repository.
       --no-deepClone  Make a shallow clone of just the required ref.
       --leave-dotGit  Keep the .git directories.
@@ -75,6 +76,7 @@ for arg; do
             --hash) argfun=set_hashType;;
             --branch-name) argfun=set_branchName;;
             --deepClone) deepClone=true;;
+            --sparse-checkout) argfun=set_sparseCheckout;;
             --quiet) QUIET=true;;
             --no-deepClone) deepClone=;;
             --leave-dotGit) leaveDotGit=true;;
@@ -96,7 +98,7 @@ for arg; do
         case $argfun in
             set_*)
                 var=${argfun#set_}
-                eval $var=$arg
+                eval "$var=$(printf %q "$arg")"
                 ;;
         esac
         argfun=""
@@ -112,6 +114,10 @@ init_remote(){
     local url=$1
     clean_git init --initial-branch=master
     clean_git remote add origin "$url"
+    if [ -n "$sparseCheckout" ]; then
+        git config remote.origin.partialclonefilter "blob:none"
+        echo "$sparseCheckout" | git sparse-checkout set --stdin
+    fi
     ( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true
 }
 
diff --git a/nixpkgs/pkgs/build-support/fetchgit/tests.nix b/nixpkgs/pkgs/build-support/fetchgit/tests.nix
index 6805473e2968..c558fb6efa4d 100644
--- a/nixpkgs/pkgs/build-support/fetchgit/tests.nix
+++ b/nixpkgs/pkgs/build-support/fetchgit/tests.nix
@@ -7,4 +7,15 @@
     rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
     sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
   };
+
+  sparseCheckout = invalidateFetcherByDrvHash fetchgit {
+    name = "nix-source";
+    url = "https://github.com/NixOS/nix";
+    rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
+    sparseCheckout = ''
+      src
+      tests
+    '';
+    sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4=";
+  };
 }
diff --git a/nixpkgs/pkgs/build-support/fetchgithub/default.nix b/nixpkgs/pkgs/build-support/fetchgithub/default.nix
index d40a0478baba..27cb8312ea0a 100644
--- a/nixpkgs/pkgs/build-support/fetchgithub/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchgithub/default.nix
@@ -3,14 +3,28 @@
 { owner, repo, rev, name ? "source"
 , fetchSubmodules ? false, leaveDotGit ? null
 , 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;
+  useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit || (sparseCheckout != "");
   # We prefer fetchzip in cases we don't need submodules as the hash
   # is more stable in that case.
   fetcher = if useFetchGit then fetchgit else fetchzip;
@@ -30,10 +44,10 @@ let
   };
   fetcherArgs = (if useFetchGit
     then {
-      inherit rev deepClone fetchSubmodules; url = "${baseUrl}.git";
+      inherit rev deepClone fetchSubmodules sparseCheckout; url = "${baseUrl}.git";
     } // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
     else { url = "${baseUrl}/archive/${rev}.tar.gz"; }
   ) // privateAttrs // passthruAttrs // { inherit name; };
 in
 
-fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; }
+fetcher fetcherArgs // { meta = newMeta; inherit rev; }
diff --git a/nixpkgs/pkgs/build-support/fetchpatch/default.nix b/nixpkgs/pkgs/build-support/fetchpatch/default.nix
index 71c0d4664983..740baa8cff5f 100644
--- a/nixpkgs/pkgs/build-support/fetchpatch/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchpatch/default.nix
@@ -9,19 +9,24 @@ let
   # 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154
   patchutils = buildPackages.patchutils_0_3_3;
 in
-{ stripLen ? 0, extraPrefix ? null, excludes ? [], includes ? [], revert ? false, ... }@args:
+{ stripLen ? 0
+, extraPrefix ? null
+, excludes ? []
+, includes ? []
+, revert ? false
+, postFetch ? ""
+, ...
+}@args:
 
-let
-  # Make base-64 encoded SRI hash filename-safe using RFC 4648 §5
-  tmpname = lib.replaceStrings [ "+" "/" "=" ] [ "-" "_" "" ] args.sha256;
-in
 fetchurl ({
   postFetch = ''
-    tmpfile="$TMPDIR/${tmpname}"
+    tmpfile="$TMPDIR/patch"
+
     if [ ! -s "$out" ]; then
       echo "error: Fetched patch file '$out' is empty!" 1>&2
       exit 1
     fi
+
     "${patchutils}/bin/lsdiff" "$out" \
       | sort -u | sed -e 's/[*?]/\\&/g' \
       | xargs -I{} \
@@ -33,6 +38,7 @@ fetchurl ({
            --addnewprefix=b/${extraPrefix} \
         ''} \
         --clean "$out" > "$tmpfile"
+
     if [ ! -s "$tmpfile" ]; then
       echo "error: Normalized patch '$tmpfile' is empty (while the fetched file was not)!" 1>&2
       echo "Did you maybe fetch a HTML representation of a patch instead of a raw patch?" 1>&2
@@ -40,6 +46,7 @@ fetchurl ({
       cat "$out" 1>&2
       exit 1
     fi
+
     ${patchutils}/bin/filterdiff \
       -p1 \
       ${builtins.toString (builtins.map (x: "-x ${lib.escapeShellArg x}") excludes)} \
@@ -56,6 +63,6 @@ fetchurl ({
   '' + lib.optionalString revert ''
     ${patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile"
     mv "$tmpfile" "$out"
-  '' + (args.postFetch or "");
+  '' + postFetch;
   meta.broken = excludes != [] && includes != [];
 } // builtins.removeAttrs args ["stripLen" "extraPrefix" "excludes" "includes" "revert" "postFetch"])
diff --git a/nixpkgs/pkgs/build-support/fetchsourcehut/default.nix b/nixpkgs/pkgs/build-support/fetchsourcehut/default.nix
index ed2f074200cd..2b1feaa496e4 100644
--- a/nixpkgs/pkgs/build-support/fetchsourcehut/default.nix
+++ b/nixpkgs/pkgs/build-support/fetchsourcehut/default.nix
@@ -1,10 +1,11 @@
-{ fetchzip, lib }:
+{ fetchgit, fetchhg, fetchzip, lib }:
 
 { owner
 , repo, rev
 , domain ? "sr.ht"
 , vc ? "git"
 , name ? "source"
+, fetchSubmodules ? false
 , ... # For hash agility
 } @ args:
 
@@ -14,12 +15,36 @@ assert (lib.assertOneOf "vc" vc [ "hg" "git" ]);
 
 let
   baseUrl = "https://${vc}.${domain}/${owner}/${repo}";
-
-in fetchzip (recursiveUpdate {
-  inherit name;
-  url = "${baseUrl}/archive/${rev}.tar.gz";
-  meta.homepage = "${baseUrl}/";
-  extraPostFetch = optionalString (vc == "hg") ''
-    rm -f "$out/.hg_archival.txt"
-  ''; # impure file; see #12002
-} (removeAttrs args [ "owner" "repo" "rev" "domain" "vc" ])) // { inherit rev; }
+  baseArgs = {
+    inherit name;
+  } // removeAttrs args [
+    "owner" "repo" "rev" "domain" "vc" "name" "fetchSubmodules"
+  ];
+  vcArgs = baseArgs // {
+    inherit rev;
+    url = baseUrl;
+  };
+  fetcher = if fetchSubmodules then vc else "zip";
+  cases = {
+    git = {
+      fetch = fetchgit;
+      arguments = vcArgs // { fetchSubmodules = true; };
+    };
+    hg = {
+      fetch = fetchhg;
+      arguments = vcArgs // { fetchSubrepos = true; };
+    };
+    zip = {
+      fetch = fetchzip;
+      arguments = baseArgs // {
+        url = "${baseUrl}/archive/${rev}.tar.gz";
+        extraPostFetch = optionalString (vc == "hg") ''
+          rm -f "$out/.hg_archival.txt"
+        ''; # impure file; see #12002
+      };
+    };
+  };
+in cases.${fetcher}.fetch cases.${fetcher}.arguments // {
+  inherit rev;
+  meta.homepage = "${baseUrl}";
+}
diff --git a/nixpkgs/pkgs/build-support/flutter/default.nix b/nixpkgs/pkgs/build-support/flutter/default.nix
new file mode 100644
index 000000000000..5208dbc7d05d
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/flutter/default.nix
@@ -0,0 +1,277 @@
+{ 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
+    ];
+
+    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
+
+      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";
+
+    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
+      # 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 $built/data/flutter_assets/assets/*.desktop; 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/nixpkgs/pkgs/build-support/go/garble.nix b/nixpkgs/pkgs/build-support/go/garble.nix
index da1e3152ba4c..c9bcf2cec153 100644
--- a/nixpkgs/pkgs/build-support/go/garble.nix
+++ b/nixpkgs/pkgs/build-support/go/garble.nix
@@ -2,25 +2,25 @@
 , buildGoModule
 , fetchFromGitHub
 , lib
+, git
 }:
 buildGoModule rec {
   pname = "garble";
-  version = "20200107";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "burrowers";
     repo = pname;
-    rev = "835f4aadf321521acf06aac4d5068473dc4b2ac1";
-    sha256 = "sha256-NodsVHRll2YZoxrhmniJvelQOStG82u3kJyc0t8OXD8=";
+    rev = "v${version}";
+    sha256 = "sha256-F8O/33o//yGnum9sZo1dzcvf3ifRalva6SDC36iPbDA==";
   };
 
-  vendorSha256 = "sha256-x2fk2QmZDK2yjyfYdK7x+sQjvt7tuggmm8ieVjsNKek=";
+  vendorSha256 = "sha256-iNH/iBEOTkIhVlDGfI66ZYyVjyH6WrLbUSMyONPjUc4=";
 
-  preBuild = ''
-    # https://github.com/burrowers/garble/issues/184
-    substituteInPlace testdata/scripts/tiny.txt \
-      --replace "{6,8}" "{4,8}"
-  '' + lib.optionalString (!stdenv.isx86_64) ''
+  # Used for some of the tests.
+  checkInputs = [git];
+
+  preBuild = lib.optionalString (!stdenv.isx86_64) ''
     # The test assumex amd64 assembly
     rm testdata/scripts/asm.txt
   '';
@@ -30,5 +30,6 @@ buildGoModule rec {
     homepage = "https://github.com/burrowers/garble/";
     maintainers = with lib.maintainers; [ davhau ];
     license = lib.licenses.bsd3;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/garble.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/build-support/kernel/make-initrd.sh b/nixpkgs/pkgs/build-support/kernel/make-initrd.sh
index 70884741af3a..0a87d643546a 100644
--- a/nixpkgs/pkgs/build-support/kernel/make-initrd.sh
+++ b/nixpkgs/pkgs/build-support/kernel/make-initrd.sh
@@ -31,7 +31,7 @@ storePaths=$(perl $pathsFromGraph closure-*)
 
 # Paths in cpio archives *must* be relative, otherwise the kernel
 # won't unpack 'em.
-(cd root && cp -prd --parents $storePaths .)
+(cd root && cp -prP --parents $storePaths .)
 
 
 # Put the closure in a gzipped cpio archive.
diff --git a/nixpkgs/pkgs/build-support/libredirect/default.nix b/nixpkgs/pkgs/build-support/libredirect/default.nix
index f87c6d23dd79..8f7df3386d14 100644
--- a/nixpkgs/pkgs/build-support/libredirect/default.nix
+++ b/nixpkgs/pkgs/build-support/libredirect/default.nix
@@ -1,6 +1,22 @@
-{ stdenv, lib, coreutils }:
+{ lib, stdenv, bintools-unwrapped, llvmPackages_13, coreutils }:
 
-stdenv.mkDerivation rec {
+if stdenv.hostPlatform.isStatic
+then throw ''
+  libredirect is not available on static builds.
+
+  Please fix your derivation to not depend on libredirect on static
+  builds, using something like following:
+
+    nativeBuildInputs =
+      lib.optional (!stdenv.buildPlatform.isStatic) libredirect;
+
+  and disable tests as necessary, although fixing tests to work without
+  libredirect is even better.
+
+  libredirect uses LD_PRELOAD feature of dynamic loader and does not
+  work on static builds where dynamic loader is not used.
+  ''
+else stdenv.mkDerivation rec {
   pname = "libredirect";
   version = "0";
 
@@ -9,20 +25,41 @@ stdenv.mkDerivation rec {
     cp ${./test.c} test.c
   '';
 
-  libName = "libredirect" + stdenv.targetPlatform.extensions.sharedLibrary;
-
   outputs = ["out" "hook"];
 
+  libName = "libredirect" + stdenv.targetPlatform.extensions.sharedLibrary;
+
   buildPhase = ''
     runHook preBuild
 
-    $CC -Wall -std=c99 -O3 -fPIC -ldl -shared \
-      ${lib.optionalString stdenv.isDarwin "-Wl,-install_name,$out/lib/$libName"} \
-      -o "$libName" \
-      libredirect.c
+    ${if stdenv.isDarwin && stdenv.isAarch64 then ''
+    # We need the unwrapped binutils and clang:
+    # We also want to build a fat library with x86_64, arm64, arm64e in there.
+    # Because we use the unwrapped tools, we need to provide -isystem for headers
+    # and the library search directory for libdl.
+    # We can't build this on x86_64, because the libSystem we point to doesn't
+    # like arm64(e).
+    PATH=${bintools-unwrapped}/bin:${llvmPackages_13.clang-unwrapped}/bin:$PATH \
+      clang -arch x86_64 -arch arm64 -arch arm64e \
+      -isystem ${llvmPackages_13.clang.libc}/include \
+      -isystem ${llvmPackages_13.libclang.lib}/lib/clang/*/include \
+      -L${llvmPackages_13.clang.libc}/lib \
+      -Wl,-install_name,$libName \
+      -Wall -std=c99 -O3 -fPIC libredirect.c \
+      -ldl -shared -o "$libName"
+    '' else if stdenv.isDarwin then ''
+    $CC -Wall -std=c99 -O3 -fPIC libredirect.c \
+      -Wl,-install_name,$out/lib/$libName \
+      -ldl -shared -o "$libName"
+    '' else ''
+    $CC -Wall -std=c99 -O3 -fPIC libredirect.c \
+      -ldl -shared -o "$libName"
+    ''}
 
     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
@@ -38,6 +75,12 @@ stdenv.mkDerivation rec {
 
     install -vD "$libName" "$out/lib/$libName"
 
+  '' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
+    # dylib will be rejected unless dylib rpath gets explictly set
+    install_name_tool \
+      -change $libName $out/lib/$libName \
+      $out/lib/$libName
+  '' + ''
     # Provide a setup hook that injects our library into every process.
     mkdir -p "$hook/nix-support"
     cat <<SETUP_HOOK > "$hook/nix-support/setup-hook"
@@ -56,7 +99,7 @@ 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/nixpkgs/pkgs/build-support/libredirect/libredirect.c b/nixpkgs/pkgs/build-support/libredirect/libredirect.c
index 7dac4684722f..1222d2ee75c6 100644
--- a/nixpkgs/pkgs/build-support/libredirect/libredirect.c
+++ b/nixpkgs/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
@@ -112,7 +119,8 @@ WRAPPER(int, open)(const char * path, int flags, ...)
 }
 WRAPPER_DEF(open)
 
-#ifndef __APPLE__
+// In musl libc, open64 is simply a macro for open
+#if !defined(__APPLE__) && !defined(open64)
 WRAPPER(int, open64)(const char * path, int flags, ...)
 {
     int (*open64_real) (const char *, int, mode_t) = LOOKUP_REAL(open64);
@@ -152,7 +160,7 @@ WRAPPER(FILE *, fopen)(const char * path, const char * mode)
 }
 WRAPPER_DEF(fopen)
 
-#ifndef __APPLE__
+#ifdef __GLIBC__
 WRAPPER(FILE *, __nss_files_fopen)(const char * path)
 {
     FILE * (*__nss_files_fopen_real) (const char *) = LOOKUP_REAL(__nss_files_fopen);
@@ -162,7 +170,8 @@ WRAPPER(FILE *, __nss_files_fopen)(const char * path)
 WRAPPER_DEF(__nss_files_fopen)
 #endif
 
-#ifndef __APPLE__
+// In musl libc, fopen64 is simply a macro for fopen
+#if !defined(__APPLE__) && !defined(fopen64)
 WRAPPER(FILE *, fopen64)(const char * path, const char * mode)
 {
     FILE * (*fopen64_real) (const char *, const char *) = LOOKUP_REAL(fopen64);
@@ -172,7 +181,7 @@ WRAPPER(FILE *, fopen64)(const char * path, const char * mode)
 WRAPPER_DEF(fopen64)
 #endif
 
-#ifndef __APPLE__
+#ifdef __linux__
 WRAPPER(int, __xstat)(int ver, const char * path, struct stat * st)
 {
     int (*__xstat_real) (int ver, const char *, struct stat *) = LOOKUP_REAL(__xstat);
@@ -182,7 +191,7 @@ WRAPPER(int, __xstat)(int ver, const char * path, struct stat * st)
 WRAPPER_DEF(__xstat)
 #endif
 
-#ifndef __APPLE__
+#ifdef __linux__
 WRAPPER(int, __xstat64)(int ver, const char * path, struct stat64 * st)
 {
     int (*__xstat64_real) (int ver, const char *, struct stat64 *) = LOOKUP_REAL(__xstat64);
@@ -352,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/nixpkgs/pkgs/build-support/libredirect/test.c b/nixpkgs/pkgs/build-support/libredirect/test.c
index 853f26bb5209..144e6d3d66dd 100644
--- a/nixpkgs/pkgs/build-support/libredirect/test.c
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/make-darwin-bundle/default.nix b/nixpkgs/pkgs/build-support/make-darwin-bundle/default.nix
new file mode 100644
index 000000000000..b8f58882fff3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix b/nixpkgs/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix
new file mode 100644
index 000000000000..63ef7e655075
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/mkshell/default.nix b/nixpkgs/pkgs/build-support/mkshell/default.nix
index 27ee7e322624..e7552f434848 100644
--- a/nixpkgs/pkgs/build-support/mkshell/default.nix
+++ b/nixpkgs/pkgs/build-support/mkshell/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv }:
+{ lib, stdenv, buildEnv }:
 
 # A special kind of derivation that is only meant to be consumed by the
 # nix-shell.
-{
-  # a list of packages to add to the shell environment
+{ name ? "nix-shell"
+, # a list of packages to add to the shell environment
   packages ? [ ]
 , # propagate all the inputs from the given derivations
   inputsFrom ? [ ]
@@ -15,10 +15,11 @@
 }@attrs:
 let
   mergeInputs = name:
-    (attrs.${name} or []) ++
+    (attrs.${name} or [ ]) ++
     (lib.subtractLists inputsFrom (lib.flatten (lib.catAttrs name inputsFrom)));
 
   rest = builtins.removeAttrs attrs [
+    "name"
     "packages"
     "inputsFrom"
     "buildInputs"
@@ -30,8 +31,7 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "nix-shell";
-  phases = [ "nobuildPhase" ];
+  inherit name;
 
   buildInputs = mergeInputs "buildInputs";
   nativeBuildInputs = packages ++ (mergeInputs "nativeBuildInputs");
@@ -41,10 +41,15 @@ stdenv.mkDerivation ({
   shellHook = lib.concatStringsSep "\n" (lib.catAttrs "shellHook"
     (lib.reverseList inputsFrom ++ [ attrs ]));
 
-  nobuildPhase = ''
-    echo
-    echo "This derivation is not meant to be built, aborting";
-    echo
-    exit 1
+  phases = [ "buildPhase" ];
+
+  buildPhase = ''
+    echo "------------------------------------------------------------" >>$out
+    echo " WARNING: the existence of this path is not guaranteed." >>$out
+    echo " It is an internal implementation detail for pkgs.mkShell."   >>$out
+    echo "------------------------------------------------------------" >>$out
+    echo >> $out
+    # Record all build inputs as runtime dependencies
+    export >> $out
   '';
 } // rest)
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
index 65c8880b134d..2e0a29ac123a 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
@@ -650,7 +650,7 @@ let
     name = "buildRustCrate-tests";
     meta = {
       description = "Test cases for buildRustCrate";
-      maintainers = [ lib.maintainers.andir ];
+      maintainers = [ ];
     };
     constituents = builtins.attrValues tests;
   };
diff --git a/nixpkgs/pkgs/build-support/rust/hooks/cargo-build-hook.sh b/nixpkgs/pkgs/build-support/rust/hooks/cargo-build-hook.sh
index 54ed765012b9..7503fae4cd7f 100644
--- a/nixpkgs/pkgs/build-support/rust/hooks/cargo-build-hook.sh
+++ b/nixpkgs/pkgs/build-support/rust/hooks/cargo-build-hook.sh
@@ -6,6 +6,9 @@ cargoBuildHook() {
     runHook preBuild
 
     if [ ! -z "${buildAndTestSubdir-}" ]; then
+        # ensure the output doesn't end up in the subdirectory
+        export CARGO_TARGET_DIR="$(pwd)/target"
+
         pushd "${buildAndTestSubdir}"
     fi
 
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh b/nixpkgs/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
new file mode 100644
index 000000000000..d1175d3a5f9b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh b/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh
index 8b7012677cd5..604096135c20 100644
--- a/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -23,6 +23,7 @@ assertExecutable() {
 
 # --prefix          ENV SEP VAL   : suffix/prefix ENV with VAL, separated by SEP
 # --suffix
+# --prefix-each     ENV SEP VALS  : like --prefix, but VALS is a list
 # --suffix-each     ENV SEP VALS  : like --suffix, but VALS is a list
 # --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES
 #                                   are read first and used as VALS
@@ -35,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"
@@ -66,20 +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" == "--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))]}"
@@ -88,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/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix b/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
index 50d83f2ffff9..cd6519654074 100644
--- a/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
+++ b/nixpkgs/pkgs/build-support/skaware/build-skaware-package.nix
@@ -21,9 +21,9 @@
   # : lines
 , postInstall
   # : list Maintainer
-, maintainers ? []
+, maintainers ? [ ]
   # : passtrhu arguments (e.g. tests)
-, passthru ? {}
+, passthru ? { }
 
 }:
 
@@ -54,7 +54,8 @@ let
     "CONTRIBUTING"
   ];
 
-in stdenv.mkDerivation {
+in
+stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
@@ -73,8 +74,8 @@ in stdenv.mkDerivation {
     # This might not hold for e.g. BSD.
     "--with-sysdep-devurandom=yes"
     (if stdenv.isDarwin
-      then "--disable-shared"
-      else "--enable-shared")
+    then "--disable-shared"
+    else "--enable-shared")
   ]
     # On darwin, the target triplet from -dumpmachine includes version number,
     # but skarnet.org software uses the triplet to test binary compatibility.
@@ -82,10 +83,12 @@ in stdenv.mkDerivation {
     # binary built on a different version of darwin.
     # http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph
     ++ (lib.optional stdenv.isDarwin
-         "--build=${stdenv.hostPlatform.system}");
+    "--build=${stdenv.hostPlatform.system}");
 
   inherit postConfigure;
 
+  makeFlags = lib.optional stdenv.cc.isClang [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ];
+
   # TODO(Profpatsch): ensure that there is always a $doc output!
   postInstall = ''
     echo "Cleaning & moving common files"
diff --git a/nixpkgs/pkgs/build-support/test-equal-derivation.nix b/nixpkgs/pkgs/build-support/test-equal-derivation.nix
new file mode 100644
index 000000000000..5d2185ce1652
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/test-equal-derivation.nix
@@ -0,0 +1,43 @@
+{ lib, runCommand, emptyFile, nix-diff }:
+
+/*
+  Checks that two packages produce the exact same build instructions.
+
+  This can be used to make sure that a certain difference of configuration,
+  such as the presence of an overlay does not cause a cache miss.
+
+  When the derivations are equal, the return value is an empty file.
+  Otherwise, the build log explains the difference via `nix-diff`.
+
+  Example:
+
+      testEqualDerivation
+        "The hello package must stay the same when enabling checks."
+        hello
+        (hello.overrideAttrs(o: { doCheck = true; }))
+
+*/
+assertion: a: b:
+let
+  drvA = builtins.unsafeDiscardOutputDependency a.drvPath or (throw "testEqualDerivation second argument must be a package");
+  drvB = builtins.unsafeDiscardOutputDependency b.drvPath or (throw "testEqualDerivation third argument must be a package");
+  name =
+    if a?name
+    then lib.strings.sanitizeDerivationName "testEqualDerivation-${a.name}"
+    else "testEqualDerivation";
+in
+if drvA == drvB then
+  emptyFile
+else
+  runCommand name
+    {
+      inherit assertion drvA drvB;
+      nativeBuildInputs = [ nix-diff ];
+    } ''
+      echo "$assertion"
+      echo "However, the derivations differ:"
+      echo
+      echo nix-diff $drvA $drvB
+      nix-diff $drvA $drvB
+      exit 1
+    ''
diff --git a/nixpkgs/pkgs/build-support/trivial-builders.nix b/nixpkgs/pkgs/build-support/trivial-builders.nix
index 3c9f3189d2cf..68f0f1bc4ddc 100644
--- a/nixpkgs/pkgs/build-support/trivial-builders.nix
+++ b/nixpkgs/pkgs/build-support/trivial-builders.nix
@@ -121,18 +121,18 @@ rec {
         allowSubstitutes = false;
       }
       ''
-        n=$out${destination}
-        mkdir -p "$(dirname "$n")"
+        target=$out${destination}
+        mkdir -p "$(dirname "$target")"
 
         if [ -e "$textPath" ]; then
-          mv "$textPath" "$n"
+          mv "$textPath" "$target"
         else
-          echo -n "$text" > "$n"
+          echo -n "$text" > "$target"
         fi
 
         eval "$checkPhase"
 
-        (test -n "$executable" && chmod +x "$n") || true
+        (test -n "$executable" && chmod +x "$target") || true
       '';
 
   /*
@@ -219,7 +219,7 @@ rec {
         ${text}
         '';
       checkPhase = ''
-        ${stdenv.shell} -n $out
+        ${stdenv.shellDryRun} "$target"
       '';
     };
 
@@ -246,7 +246,7 @@ rec {
         ${text}
         '';
       checkPhase = ''
-        ${stdenv.shell} -n $out/bin/${name}
+        ${stdenv.shellDryRun} "$target"
       '';
     };
 
@@ -295,8 +295,8 @@ rec {
       checkPhase =
         if checkPhase == null then ''
           runHook preCheck
-          ${stdenv.shell} -n $out/bin/${name}
-          ${shellcheck}/bin/shellcheck $out/bin/${name}
+          ${stdenv.shellDryRun} "$target"
+          ${shellcheck}/bin/shellcheck "$target"
           runHook postCheck
         ''
         else checkPhase;
@@ -322,6 +322,67 @@ rec {
     $CC -x c code.c -o "$n"
     '';
 
+
+  /* concat a list of files to the nix store.
+   * The contents of files are added to the file in the store.
+   *
+   * Examples:
+   * # Writes my-file to /nix/store/<store path>
+   * concatTextFile {
+   *   name = "my-file";
+   *   files = [ drv1 "${drv2}/path/to/file" ];
+   * }
+   * # See also the `concatText` helper function below.
+   *
+   * # Writes executable my-file to /nix/store/<store path>/bin/my-file
+   * concatTextFile {
+   *   name = "my-file";
+   *   files = [ drv1 "${drv2}/path/to/file" ];
+   *   executable = true;
+   *   destination = "/bin/my-file";
+   * }
+   */
+  concatTextFile =
+    { name # the name of the derivation
+    , files
+    , executable ? false # run chmod +x ?
+    , destination ? ""   # relative path appended to $out eg "/bin/foo"
+    , checkPhase ? ""    # syntax checks, e.g. for scripts
+    , meta ? { }
+    }:
+    runCommandLocal name
+      { inherit files executable checkPhase meta destination; }
+      ''
+        file=$out$destination
+        mkdir -p "$(dirname "$file")"
+        cat $files > "$file"
+
+        (test -n "$executable" && chmod +x "$file") || true
+        eval "$checkPhase"
+      '';
+
+
+  /*
+   * Writes a text file to nix store with no optional parameters available.
+   *
+   * Example:
+   * # Writes contents of files to /nix/store/<store path>
+   * concatText "my-file" [ file1 file2 ]
+   *
+  */
+  concatText = name: files: concatTextFile { inherit name files; };
+
+    /*
+   * Writes a text file to nix store with and mark it as executable.
+   *
+   * Example:
+   * # Writes contents of files to /nix/store/<store path>
+   * concatScript "my-file" [ file1 file2 ]
+   *
+  */
+  concatScript = name: files: concatTextFile { inherit name files; executable = true; };
+
+
   /*
    * Create a forest of symlinks to the files in `paths'.
    *
diff --git a/nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix b/nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix
index ddd5dc050752..a16bbbee1b1b 100644
--- a/nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix
+++ b/nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix
@@ -1,10 +1,11 @@
 # Check that overriding works for trivial-builders like
 # `writeShellScript` via `overrideAttrs`. This is useful
-# to override the `checkPhase`, e. g. when you want
-# to enable extglob in `writeShellScript`.
+# to override the `checkPhase`, e. g. if you want
+# to disable extglob in `writeShellScript`.
 #
-# Run using `nix-build -A tests.trivial-overriding`.
+# Run using `nix-build -A tests.trivial-builders.overriding`.
 { lib
+, stdenv
 , runtimeShell
 , runCommand
 , callPackage
@@ -21,33 +22,6 @@ let
     rm success
   '';
 
-  # Reuse the old `checkPhase` of `writeShellScript`, but enable extglob.
-  allowExtglob = old: {
-    checkPhase = ''
-      # make sure we don't change the settings for
-      # the rest of the derivation's build
-      (
-        export BASHOPTS
-        shopt -s extglob
-        ${old.checkPhase}
-      )
-    '';
-  };
-
-  # Run old checkPhase, but only succeed if it fails.
-  # This HACK is required because we can't introspect build failures
-  # in nix: With `assertFail` we want to make sure that the default
-  # `checkPhase` would fail if extglob was used in the script.
-  assertFail = old: {
-    # write old checkPhase into a shell script, so we can check for
-    # the phase to fail even though we have `set -e`.
-    checkPhase = ''
-      if source ${writeShellScript "old-check-phase" old.checkPhase} 2>/dev/null; then
-        exit 1
-      fi
-    '';
-  };
-
   simpleCase = case:
     writeShellScript "test-trivial-overriding-${case}" extglobScript;
 
@@ -70,16 +44,33 @@ let
     executable = true;
   };
 
-  mkCase = f: type: isBin:
+    disallowExtglob = x: x.overrideAttrs (_: {
+      checkPhase = ''
+        ${stdenv.shell} -n "$target"
+      '';
+    });
+
+    # Run old checkPhase, but only succeed if it fails.
+    # This HACK is required because we can't introspect build failures
+    # in nix: With `assertFail` we want to make sure that the default
+    # `checkPhase` would fail if extglob was used in the script.
+    assertFail = x: x.overrideAttrs (old: {
+      checkPhase = ''
+        if
+          ${old.checkPhase}
+        then exit 1; fi
+      '';
+    });
+
+  mkCase = case: outcome: isBin:
     let
-      drv = (f type).overrideAttrs
-        (if type == "succ" then allowExtglob else assertFail);
+      drv = lib.pipe outcome ([ case ] ++ lib.optionals (outcome == "fail") [ disallowExtglob assertFail ]);
     in if isBin then "${drv}/bin/${drv.name}" else drv;
 
   writeTextOverrides = {
-    # Enabling globbing in checkPhase
+    # Make sure extglob works by default
     simpleSucc = mkCase simpleCase "succ" false;
-    # Ensure it's possible to fail; in this case globbing is not enabled.
+    # Ensure it's possible to fail; in this case extglob is not enabled
     simpleFail = mkCase simpleCase "fail" false;
     # Do the same checks after wrapping with callPackage
     # to make sure callPackage doesn't mess with the override
@@ -103,7 +94,7 @@ let
       name = script.name or (builtins.baseNameOf script);
     in writeShellScript "run-${name}" ''
       if [ "$(${script})" != "success" ]; then
-        echo "Failed in ${script}"
+        echo "Failed in ${name}"
         exit 1
       fi
     '';
diff --git a/nixpkgs/pkgs/build-support/trivial-builders/test/concat-test.nix b/nixpkgs/pkgs/build-support/trivial-builders/test/concat-test.nix
new file mode 100644
index 000000000000..5ce435619069
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/trivial-builders/test/concat-test.nix
@@ -0,0 +1,12 @@
+{ callPackage, lib, pkgs, runCommand, concatText, writeText, hello, emptyFile }:
+let
+  stri = writeText "pathToTest";
+  txt1 = stri "abc";
+  txt2 = stri hello;
+  res = concatText "textToTest" [ txt1 txt2 ];
+in
+runCommand "test-concatPaths" { } ''
+  diff -U3 <(cat ${txt1} ${txt2}) ${res}
+  diff -U3 ${concatText "void" []} ${emptyFile}
+  touch $out
+''
diff --git a/nixpkgs/pkgs/build-support/trivial-builders/test/references.nix b/nixpkgs/pkgs/build-support/trivial-builders/test/references.nix
index a2bee51b13e7..989722121cb0 100644
--- a/nixpkgs/pkgs/build-support/trivial-builders/test/references.nix
+++ b/nixpkgs/pkgs/build-support/trivial-builders/test/references.nix
@@ -28,7 +28,7 @@ nixosTest {
     virtualisation.writableStore = true;
 
     # Test runs without network, so we don't substitute and prepare our deps
-    nix.binaryCaches = lib.mkForce [];
+    nix.settings.substituters = lib.mkForce [];
     environment.etc."pre-built-paths".source = writeText "pre-built-paths" (
       builtins.toJSON [hello figlet stdenvNoCC]
     );
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/attrset-to-dir.nix b/nixpkgs/pkgs/build-support/upstream-updater/attrset-to-dir.nix
deleted file mode 100644
index 006537278dae..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/attrset-to-dir.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-a :
-a.stdenv.mkDerivation {
-  buildCommand = ''
-    mkdir -p "$out/attributes"
-  '' + (a.lib.concatStrings (map
-    (n: ''
-      ln -s "${a.writeTextFile {name=n; text=builtins.getAttr n a.theAttrSet;}}" $out/attributes/${n};
-    '')
-    (builtins.attrNames a.theAttrSet)
-  ));
-
-  name = "attribute-set";
-  meta = {
-    description = "Contents of an attribute set";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
-  };
-}
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/create-src-info-git.sh b/nixpkgs/pkgs/build-support/upstream-updater/create-src-info-git.sh
deleted file mode 100755
index 6687a1f8f411..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/create-src-info-git.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-[ -z "$1" ] && {
-  echo "Use $0 expression-basename repo-url branch-name package-base-name"
-  echo "Like:"
-  echo "$0 default http://git.example.com/repo origin/master hello"
-  exit 1;
-} >&2
-
-own_dir="$(cd "$(dirname "$0")"; sh -c pwd)"
-
-cp "$own_dir/../builder-defs/template-bdp-uud.nix" "$1.nix" 
-sed -e "s@src-for-default.nix@src-for-$1.nix@g; 
-    s@fetchUrlFromSrcInfo@fetchGitFromSrcInfo@g" -i "$1.nix"
-echo '{}' > "src-for-$1.nix"
-cat << EOF > src-info-for-$1.nix
-{
-  repoUrl = "$2";
-  rev = "$3";
-  baseName = "$4";
-  method = "fetchgit";
-}
-EOF
-
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/create-src-info.sh b/nixpkgs/pkgs/build-support/upstream-updater/create-src-info.sh
deleted file mode 100755
index fbbbe33a9e7b..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/create-src-info.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/sh
-
-[ -z "$1" ] && {
-  echo "Use $0 expression-basename download-page package-base-name"
-  echo "Like:"
-  echo "$0 default http://example.com/downloads hello"
-  exit 1;
-} >&2
-
-own_dir="$(cd "$(dirname "$0")"; sh -c pwd)"
-
-cp "$own_dir/../builder-defs/template-auto-callable.nix" "$1.nix" 
-sed -e "s@src-for-default.nix@src-for-$1.nix@g" -i "$1.nix"
-echo '{}' > "src-for-$1.nix"
-cat << EOF > src-info-for-$1.nix
-{
-  downloadPage = "$2";
-  baseName = "$3";
-}
-EOF
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/design.txt b/nixpkgs/pkgs/build-support/upstream-updater/design.txt
deleted file mode 100644
index 128be89d2075..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/design.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Next to file.nix we get src-for-file.nix 
-src-for-file.nix should evaluate to a flat attribute set with 
-string values.
-It is supposed to be imported in the main expression.
-In the ideal world it can export url, hash, version.
-
-src-for-file.nix generation is directed by 
-src-info-for-file.nix.
-
-Attributes:
-
-src-info-for-file.nix:
-
-downloadPage
-rev (for repos)
-baseName (default = unnamed-package)
-sourceRegexp (default = '.*[.]tar[.].*')
-choiceCommand (default = 'head -1')
-versionExtractorSedScript (default = 's/.*-([0-9.]+)[.].*/\1/')
-versionReferenceCreator (default = 's/-([0-9.]+)[.]/-${version}./')
-mirrorSedScript (default = none)
-
-src-for-file.nix:
-
-advertisedUrl (its match is the check for update presence)
-url
-hash
-version
-name
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/snippets.sh b/nixpkgs/pkgs/build-support/upstream-updater/snippets.sh
deleted file mode 100644
index 2c06696c928f..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/snippets.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-# sed scripts
-
-#http://sourceforge.net/projects/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz/download
-#http://downloads.sourceforge.net/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz
-skipRedirectSF='s@sourceforge.net/projects@downloads.sourceforge.net/project@; s@/files@@; s@/download$@@;'
-extractReleaseSF='s@.*/([^/]+)/[^/]+@\1@'
-extractVersionSF='s@.*/[^/0-9]*([0-9].*)[.](tar|tgz|tbz2|zip).*@\1@'
-apacheMirror='s@http://www.apache.org/dist/@mirror://apache/@'
-skipRedirectApache='s@/dyn/closer.cgi[?]path=@/dist@'
-
-replaceAllVersionOccurences() {
-	echo s/"$version"/\${version}/g
-}
-dashDelimitedVersion='s/.*-([0-9.]+)-.*/\1/'
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/test-case.nix b/nixpkgs/pkgs/build-support/upstream-updater/test-case.nix
deleted file mode 100644
index 498f15c28a78..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/test-case.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  a=1;
-  b="text";
-  c=''
-  text
-  '';
-  d=''
-    Multi-line text with special characters - 
-    like \ (backslash) and ''${} (dollar + 
-    curly braces) and $ (dollar) and ' (quote)
-    and " (double quote).
-  '';
-}
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/update-upstream-data.sh b/nixpkgs/pkgs/build-support/upstream-updater/update-upstream-data.sh
deleted file mode 100755
index 38c0d13a723d..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/update-upstream-data.sh
+++ /dev/null
@@ -1,182 +0,0 @@
-#! /bin/sh
-
-set -x
-
-own_dir="$(cd "$(dirname "$0")"; sh -c pwd)"
-
-source "$own_dir/snippets.sh"
-
-[ -z "$1" ] && {
-  echo "Specify main expression filename."
-  exit 1;
-}
-
-main_file="$1"
-main_dir="$(cd "$(dirname "$main_file")" ; sh -c pwd)"
-file_name="$(basename "$main_file")"
-defs_file="$main_dir"/src-info-for-"$file_name"
-src_file="$main_dir"/src-for-"$file_name"
-# OK, [vcs] revert is always possible
-new_src_file="$main_dir"/src-for-"$file_name"
-
-forcedUrl="$2"
-
-defs_dir="$("$own_dir"/attrset-to-dir.sh "$defs_file")"
-src_defs_dir="$("$own_dir"/attrset-to-dir.sh "$src_file")"
-
-getAttr () {
-    file="$defs_dir"/"$1"
-    data="$( ( [ -f "$file" ] && cat "$file" ) || echo "$2" )"
-    echo "attribute $1 obtained as: [[$data]]" >&2
-    echo "$data"
-}
-
-method="$(getAttr method fetchurl)"
-baseName="$(getAttr baseName 'unnamed-package')"
-commonPrefetchVars=" version name hash"
-
-prefetchClause=""
-[ fetchSFdirs = "$method" ] && {
-    if [ -z "$forcedUrl" ]; then 
-	freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" |
-          eval "egrep '$(getAttr sourceRegexp '[-][0-9.]+/$')'" | 
-	  eval "egrep -v '$(getAttr blacklistRegexp '^$')'" |
-	  eval "$(getAttr choiceCommand 'head -n 1')" |
-	  eval "$(getAttr versionToFileCommand "sed -re 's@/([^/]*-[0-9.]+)/@/\1/\1$(getAttr fileSuffix .tar.gz)@'")" 
-	)"
-
-	if ! egrep ':' <<< "$freshUrl" ; then 
-		freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl"
-	fi
-
-	echo "Found download link: $freshUrl" >&2
-    else
-        freshUrl="$forcedUrl"
-    fi
-
-    freshUrl="$(echo "$freshUrl" | sed -re "$skipRedirectSF")"
-    echo "Sourceforge-corrected URL: $freshUrl" >&2
-    
-    version="$(echo "$freshUrl" | 
-      sed -re "$(getAttr versionExtractorSedScript "$extractVersionSF")")"
-    baseName="$(getAttr baseName "$(echo "$freshUrl" | sed -re 's@.*/project/([^/]+)/.*@\1@')")"
-    url="$freshUrl"
-    name="$baseName-$version"
-    advertisedUrl="$freshUrl"
-
-    if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then
-        echo "Source link not changed" >&2
-        exit
-    fi
-    hash=$(nix-prefetch-url "$freshUrl")
-
-    prefetchVars="url advertisedUrl";
-}
-[ fetchSF = "$method" ] && {
-    if [ -z "$forcedUrl" ]; then 
-	freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" |
-          eval "egrep \"$(getAttr sourceRegexp '.*[.]tar[.].*|.*[.]tgz$|.*[.]tbz2$')\"" | 
-	  eval "egrep -v \"$(getAttr blacklistRegexp '^$')\"" |
-          eval "$(getAttr choiceCommand 'head -1')")"
-
-	if ! egrep ':' <<< "$freshUrl" ; then 
-		freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl"
-	fi
-
-	echo "Found download link: $freshUrl" >&2
-    else
-        freshUrl="$forcedUrl"
-    fi
-
-    freshUrl="$(echo "$freshUrl" | sed -re "$skipRedirectSF")"
-    echo "Sourceforge-corrected URL: $freshUrl" >&2
-    
-    version="$(echo "$freshUrl" | 
-      sed -re "$(getAttr versionExtractorSedScript "$extractVersionSF")")"
-    baseName="$(getAttr baseName "$(echo "$freshUrl" | sed -re 's@.*/project/([^/]+)/.*@\1@')")"
-    url="$freshUrl"
-    name="$baseName-$version"
-    advertisedUrl="$freshUrl"
-
-    if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then
-        echo "Source link not changed" >&2
-        exit
-    fi
-    hash=$(nix-prefetch-url "$freshUrl")
-
-    prefetchVars="url advertisedUrl";
-}
-[ fetchurl = "$method" ] && {
-    if [ -z "$forcedUrl" ] ; then
-        freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" |
-          eval "egrep \"$(getAttr sourceRegexp  '.*[.]tar[.].*|.*[.]tgz$|.*[.]tbz2$')\"" | 
-	  eval "egrep -v \"$(getAttr blacklistRegexp '^$')\"" |
-          eval "$(getAttr choiceCommand 'head -1')")"
-    
-        if ! egrep ':' <<< "$freshUrl" ; then 
-    	    freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl"
-        fi
-    
-        echo "Found download link: $freshUrl" >&2
-    else
-        freshUrl="$forcedUrl"
-    fi
-    
-    version="$(echo "$freshUrl" | 
-      eval "sed -re \"$(getAttr versionExtractorSedScript \
-        's/.*-([0-9.]+)[.].*/\1/')\"")"
-    
-    mirrorUrl="$(echo "$freshUrl" | 
-      eval "sed -r -e \"$(getAttr versionReferenceCreator \
-        's/-'"${version}"'[.]/-\${version}./')\"" |
-      eval "sed -r -e \"$(getAttr mirrorSedScript)\"")"
-    url="$mirrorUrl"
-    
-    name="$baseName-$version"
-    
-    advertisedUrl="$freshUrl"
-    url="$mirrorUrl"
-    
-    if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then
-        echo "Source link not changed" >&2
-        exit
-    fi
-    hash=$(nix-prefetch-url "$freshUrl")
-
-    prefetchVars="url advertisedUrl";
-}
-[ "fetchgit" = "$method" ] && {
-    repoUrl="$(getAttr repoUrl)"
-    export NIX_PREFETCH_GIT_CHECKOUT_HOOK="
-        cat .git/HEAD
-    "
-    export NIX_HASH_ALGO=sha256
-    rev="$(getAttr rev '')";
-    rev_and_hash="$("$own_dir"/../fetchgit/nix-prefetch-git "$repoUrl" "$rev" | tee /dev/stderr | tail -2)"
-
-    rev="$(echo "$rev_and_hash" | head -1)"
-    url="$repoUrl";
-    hash="$(echo "$rev_and_hash" | tail -1)"
-    version="$rev"
-    name="$baseName-$version"
-
-    prefetchVars="rev url";
-}
-
-prefetchAssignments="";
-for i in $commonPrefetchVars $prefetchVars; do
-  prefetchAssignments="$prefetchAssignments $i=\"$(eval echo \"\$$i\")\";$(echo -e '\n  ')"
-done;
-
-extraAssignments=""
-for i in $(getAttr extraVars ''); do
-  eval "$(getAttr "eval_$i" 'i=""')"
-  extraAssignments="$extraAssignments $i=\"$(eval echo \"\$$i\")\";$(echo -e '\n  ')"
-done
-
-cat << EOF > "$new_src_file"
-rec {
-  $prefetchAssignments
-  $extraAssignments
-}
-EOF
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/nixpkgs/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
deleted file mode 100644
index d92d223845e6..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-SF_redirect () {
-  redirect 99
-  process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/'
-  process '[?].*' ''
-}
-
-SF_version_dir () {
-  version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$'
-}
-
-SF_version_tarball () {
-  version_link "${1:-[.]tar[.]}.*/download\$"
-}
-
-GH_latest () {
-  prefetch_command_rel ../fetchgit/nix-prefetch-git
-  revision "$("$(dirname "$0")/urls-from-page.sh" "$CURRENT_URL/commits" | grep /commit/ | head -n 1 | xargs basename )"
-  version '.*' "git-$(date +%Y-%m-%d)"
-  NEED_TO_CHOOSE_URL=
-}
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/update-walker.sh b/nixpkgs/pkgs/build-support/upstream-updater/update-walker.sh
deleted file mode 100755
index 9172a41718c8..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/update-walker.sh
+++ /dev/null
@@ -1,320 +0,0 @@
-#! /bin/sh
-
-own_dir="$(cd "$(dirname "$0")"; pwd)"
-
-URL_WAS_SET=
-DL_URL_RE=
-CURRENT_URL=
-CURRENT_REV=
-PREFETCH_COMMAND=
-NEED_TO_CHOOSE_URL=1
-
-url () {
-  URL_WAS_SET=1
-  CURRENT_URL="$1"
-}
-
-dl_url_re () {
-  DL_URL_RE="$1"
-}
-
-version_unpack () {
-  sed -re '
-    s/[.]/ /g; 
-    s@/@ / @g
-    s/-(rc|pre)/ -1 \1 /g; 
-    s/-(gamma)/ -2 \1 /g; 
-    s/-(beta)/ -3 \1 /g; 
-    s/-(alpha)/ -4 \1 /g;
-    s/[-]/ - /g; 
-    '
-}
-
-version_repack () {
-  sed -re '
-    s/ - /-/g;
-    s/ -[0-9]+ ([a-z]+) /-\1/g;
-    s@ / @/@g
-    s/ /./g; 
-    '
-}
-
-version_sort () {
-  version_unpack | 
-    sort -t ' ' -n $(for i in $(seq 30); do echo " -k${i}n" ; done) | tac |
-    version_repack
-}
-
-position_choice () {
-  head -n "${1:-1}" | tail -n "${2:-1}"
-}
-
-matching_links () {
-  "$own_dir"/urls-from-page.sh "$CURRENT_URL" | grep -E "$1"
-}
-
-link () {
-  CURRENT_URL="$(matching_links "$1" | position_choice "$2" "$3")"
-  unset NEED_TO_CHOOSE_URL
-  echo "Linked by: $*"
-  echo "URL: $CURRENT_URL" >&2
-}
-
-version_link () {
-  CURRENT_URL="$(matching_links "$1" | version_sort | position_choice "$2" "$3")"
-  unset NEED_TO_CHOOSE_URL
-  echo "Linked version by: $*"
-  echo "URL: $CURRENT_URL" >&2
-}
-
-redirect () {
-  CURRENT_URL="$(curl -I -L --max-redirs "${1:-99}" "$CURRENT_URL" | 
-    grep -E '^[Ll]ocation: ' | position_choice "${2:-999999}" "$3" |
-    sed -e 's/^[Ll]ocation: //; s/\r//')"
-  echo "Redirected: $*"
-  echo "URL: $CURRENT_URL" >&2
-}
-
-replace () {
-  sed -re "s	$1	$2	g"
-}
-
-process () {
-  CURRENT_URL="$(echo "$CURRENT_URL" | replace "$1" "$2")"
-  echo "Processed: $*"
-  echo "URL: $CURRENT_URL" >&2
-}
-
-version () {
-  CURRENT_VERSION="$(echo "$CURRENT_URL" | replace "$1" "$2")"
-  echo "Version: $CURRENT_VERSION" >&2
-}
-
-ensure_version () {
-  echo "Ensuring version. CURRENT_VERSION: $CURRENT_VERSION" >&2
-  [ -z "$CURRENT_VERSION" ] && version '.*-([0-9.]+)[-._].*' '\1'
-}
-
-ensure_target () {
-  echo "Ensuring target. CURRENT_TARGET: $CURRENT_TARGET" >&2
-  [ -z "$CURRENT_TARGET" ] && target "$(basename "$CONFIG_NAME" .upstream).nix"
-}
-
-ensure_name () {
-  echo "Ensuring name. CURRENT_NAME: $CURRENT_NAME" >&2
-  [ -z "$CURRENT_NAME" ] && name "$(basename "$CONFIG_DIR")"
-  echo "Resulting name: $CURRENT_NAME"
-}
-
-ensure_attribute_name () {
-  echo "Ensuring attribute name. CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
-  ensure_name
-  [ -z "$CURRENT_ATTRIBUTE_NAME" ] && attribute_name "$CURRENT_NAME"
-  echo "Resulting attribute name: $CURRENT_ATTRIBUTE_NAME"
-}
-
-ensure_url () {
-  echo "Ensuring starting URL. CURRENT_URL: $CURRENT_URL" >&2
-  ensure_attribute_name
-  [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadPage)"
-  [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadpage)"
-  [ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta homepage)"
-  echo "Resulting URL: $CURRENT_URL"
-}
-
-ensure_choice () {
-  echo "Ensuring that choice is made." >&2
-  echo "NEED_TO_CHOOSE_URL: [$NEED_TO_CHOOSE_URL]." >&2
-  echo "CURRENT_URL: $CURRENT_URL" >&2
-  [ -z "$URL_WAS_SET" ] && [ -z "$CURRENT_URL" ] && ensure_url
-  [ -n "$NEED_TO_CHOOSE_URL" ] && {
-    version_link "${DL_URL_RE:-[.]tar[.]([^./])+\$}"
-    unset NEED_TO_CHOOSE_URL
-  }
-  [ -z "$CURRENT_URL" ] && {
-    echo "Error: empty CURRENT_URL"
-    echo "Error: empty CURRENT_URL" >&2
-    exit 1
-  }
-}
-
-revision () {
-  CURRENT_REV="$1"
-  echo "CURRENT_REV: $CURRENT_REV"
-}
-
-prefetch_command () {
-  PREFETCH_COMMAND="$1"
-}
-
-prefetch_command_rel () {
-  PREFETCH_COMMAND="$(dirname "$0")/$1"
-}
-
-ensure_hash () {
-  echo "Ensuring hash. CURRENT_HASH: $CURRENT_HASH" >&2
-  [ -z "$CURRENT_HASH" ] && hash
-}
-
-hash () {
-  CURRENT_HASH="$(${PREFETCH_COMMAND:-nix-prefetch-url} "$CURRENT_URL" $CURRENT_REV)"
-  echo "CURRENT_HASH: $CURRENT_HASH" >&2
-}
-
-name () {
-  CURRENT_NAME="$1"
-  echo "CURRENT_NAME: $CURRENT_NAME" >&2
-}
-
-attribute_name () {
-  CURRENT_ATTRIBUTE_NAME="$1"
-  echo "CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
-}
-
-retrieve_meta () {
-  nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_ATTRIBUTE_NAME".meta."$1" | xargs
-}
-
-retrieve_version () {
-  PACKAGED_VERSION="$(retrieve_meta version)"
-}
-
-ensure_dl_url_re () {
-  echo "Ensuring DL_URL_RE. DL_URL_RE: $DL_URL_RE" >&2
-  [ -z "$DL_URL_RE" ] && dl_url_re "$(retrieve_meta downloadURLRegexp)"
-  echo "DL_URL_RE: $DL_URL_RE" >&2
-}
-
-directory_of () {
-  cd "$(dirname "$1")"; pwd
-}
-
-full_path () {
-  echo "$(directory_of "$1")/$(basename "$1")"
-}
-
-target () {
-  CURRENT_TARGET="$1"
-  { [ "$CURRENT_TARGET" = "${CURRENT_TARGET#/}" ] && CURRENT_TARGET="$CONFIG_DIR/$CURRENT_TARGET"; }
-  echo "Target set to: $CURRENT_TARGET"
-}
-
-marker () {
-  BEGIN_EXPRESSION="$1"
-}
-
-update_found () {
-  echo "Compare: $CURRENT_VERSION vs $PACKAGED_VERSION"
-  [ "$CURRENT_VERSION" != "$PACKAGED_VERSION" ]
-}
-
-do_write_expression () {
-  echo "${1}rec {"
-  echo "${1}  baseName=\"$CURRENT_NAME\";"
-  echo "${1}  version=\"$CURRENT_VERSION\";"
-  echo "${1}  name=\"\${baseName}-\${version}\";"
-  echo "${1}  hash=\"$CURRENT_HASH\";"
-  echo "${1}  url=\"$CURRENT_URL\";"
-  [ -n "$CURRENT_REV" ] && echo "${1}  rev=\"$CURRENT_REV\";"
-  echo "${1}  sha256=\"$CURRENT_HASH\";"
-  echo "$2"
-}
-
-line_position () {
-  file="$1"
-  regexp="$2"
-  count="${3:-1}"
-  grep -E "$regexp" -m "$count" -B 999999 "$file" | wc -l
-}
-
-replace_once () {
-  file="$1"
-  regexp="$2"
-  replacement="$3"
-  instance="${4:-1}"
-
-  echo "Replacing once:"
-  echo "file: [[$file]]"
-  echo "regexp: [[$regexp]]"
-  echo "replacement: [[$replacement]]"
-  echo "instance: [[$instance]]"
-
-  position="$(line_position "$file" "$regexp" "$instance")"
-  sed -re "${position}s	$regexp	$replacement	" -i "$file"
-}
-
-set_var_value () {
-  var="${1}"
-  value="${2}"
-  instance="${3:-1}"
-  file="${4:-$CURRENT_TARGET}"
-  no_quotes="${5:-0}"
-
-  quote='"'
-  let "$no_quotes" && quote=""
-
-  replace_once "$file" "${var} *= *.*" "${var} = ${quote}${value}${quote};" "$instance"
-}
-
-do_regenerate () {
-  BEFORE="$(cat "$1" | grep -F "$BEGIN_EXPRESSION" -B 999999;)"
-  AFTER_EXPANDED="$(cat "$1" | grep -F "$BEGIN_EXPRESSION" -A 999999 | grep -E '^ *[}] *; *$' -A 999999;)"
-  AFTER="$(echo "$AFTER_EXPANDED" | tail -n +2)"
-  CLOSE_BRACE="$(echo "$AFTER_EXPANDED" | head -n 1)"
-  SPACING="$(echo "$CLOSE_BRACE" | sed -re 's/[^ ].*//')"
-
-  echo "$BEFORE"
-  do_write_expression "$SPACING" "$CLOSE_BRACE"
-  echo "$AFTER"
-}
-
-do_overwrite () {
-  ensure_hash
-  do_regenerate "$1" > "$1.new.tmp"
-  mv "$1.new.tmp" "$1"
-}
-
-do_overwrite_just_version () {
-  ensure_hash
-  set_var_value version $CURRENT_VERSION
-  set_var_value sha256 $CURRENT_HASH
-}
-
-minimize_overwrite() {
-  do_overwrite(){
-    do_overwrite_just_version
-  }
-}
-
-process_config () {
-  CONFIG_DIR="$(directory_of "$1")"
-  CONFIG_NAME="$(basename "$1")"
-  BEGIN_EXPRESSION='# Generated upstream information';
-  if [ -f  "$CONFIG_DIR/$CONFIG_NAME" ] &&
-      [ "${CONFIG_NAME}" = "${CONFIG_NAME%.nix}" ]; then
-    source "$CONFIG_DIR/$CONFIG_NAME"
-  else
-    CONFIG_NAME="${CONFIG_NAME%.nix}"
-    ensure_attribute_name
-    [ -n "$(retrieve_meta updateWalker)" ] ||
-        [ -n "$FORCE_UPDATE_WALKER" ] || {
-      echo "Error: package not marked as safe for update-walker" >&2
-      echo "Set FORCE_UPDATE_WALKER=1 to override" >&2
-      exit 1;
-    }
-    [ -z "$(retrieve_meta fullRegenerate)" ] && eval "
-      minimize_overwrite
-    "
-  fi
-  ensure_attribute_name
-  retrieve_version
-  ensure_dl_url_re
-  ensure_choice
-  ensure_version
-  ensure_target
-  update_found && do_overwrite "$CURRENT_TARGET"
-}
-
-source "$own_dir/update-walker-service-specific.sh"
-
-process_config "$1"
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/update-walker.txt b/nixpkgs/pkgs/build-support/upstream-updater/update-walker.txt
deleted file mode 100644
index ae47e5590294..000000000000
--- a/nixpkgs/pkgs/build-support/upstream-updater/update-walker.txt
+++ /dev/null
@@ -1,118 +0,0 @@
-update-walker is an imperative semiautomated update helper.
-
-It runs the X.upstream file to find the freshest version of the package in
-the specified upstream source and updates the corresponding X.nix file.
-
-
-
-The simplest available commands:
-
-url: set the upstream source list URL equal to $1; the default is
-meta.downloadPage with meta.homepage fallback
-
-dl_url_re: set the regular expression used to select download links to $1; the
-default is meta.downloadURLRegexp or '[.]tar[.]([^./])+\$' if it is not set
-
-target: specify target expression; default is to replace .upstream extension
-with .nix extension
-
-name: specify the derivation name; default is the basename of the dirname
-of the .upstream file
-
-attribute_name: specify the attribute name to evaluate for getting the current
-version from meta.version; default is to use the derivation name
-
-minimize_overwrite: set config options that mean that only version= and
-sha256= have to be replaced; the default is to regenerate a full upstream
-description block with url, name, version, hash etc.
-
-
-
-A lot of packages can be updated in a pseudo-declarative style using only
-the commands from the previous paragraph.
-
-Some packages do not need any non-default settings, in these case just setting
-meta.updateWalker to true is enough, you can run update-walker directly on the
-.nix file afterwards. In this case minimize_overwrite it implied unless
-meta.fullRegenerate is set.
-
-
-
-The packages that require more fine-grained control than the described options
-allow, you need to take into account the default control flow of the tool.
-
-First, the definitions from update-walker script and additional definitions
-from update-walker-service-specific.sh are loaded. Then the config is executed
-as a shell script. Some of the commands it can use do remember whether they
-have been used. Afterwards the following steps happen: 
-
-attribute_name is set to name unless it has been already set
-
-meta.version is read from the NixPkgs package called attribute_name
-
-download URL regexp is set to default unless it has been already set in the
-updater script
-
-the download page URL gets set to default value unless it has been set
-previously
-
-if the action of getting the download page and choosing the freshest link by
-version has not yet been taken, it happens
-
-if the version has not yet been extracted from the URL, it gets extracted
-
-target nix expression to update gets set to the default value unless it has
-been set explicitly
-
-if the URL version is fresher than the packaged version, the new file gets
-downloaded and its hash is calculated
-
-do_overwrite function is called; the default calculates a big upstream data
-block and puts it after the '# Generated upstream information' marker (the
-marker can be changed by the command marker)
-
-
-
-If the update needs some special logic, it is put into the updater script and
-the corresponding steps are skipped because the needed action has already been
-performed. 
-
-For example: 
-
-minimize_overwrite is exactly the same as
-
-do_overwrite() { do_overwrite_just_version; }
-
-redefinition. You can do a more complex do_overwrite redifinition, if needed.
-It can probably use ensure_hash to download the source and calculate the hash
-and set_var_value.
-
-set_var_value alters the $3-th instance of assigning the $1 name in the
-expression to the value $2. $3 defaults to 1. It can modify $4 instead of the
-current target, it can put the value without quotes if $5 is 1.
-
-
-
-Typical steps include:
-
-ensure_choice: download current URL and find the freshest version link on the
-page, it is now the new URL
-
-ensure_hash: download current URL and calculate the source package hash
-
-ensure_version: extract version from the URL
-
-SF_redirect: replace the current URL with a SourceForge.net mirror:// URL
-
-SF_version_dir: assume SourceForge.net layout and choose the freshest
-version-named subdirectory in the file catalog; you can optionally specify $1
-as a directory name regexp (digits and periods will be required after it)
-
-SF_version_tarball: assume SourceForge.net layout and choose the freshest
-tarball download link
-
-version: apply replacement of $1 with $2 (extended regexp format) to extract
-the version from URL
-
-version_link: choose the freshest versioned link, $1 is the regexp of
-acceptable links
diff --git a/nixpkgs/pkgs/common-updater/scripts/update-source-version b/nixpkgs/pkgs/common-updater/scripts/update-source-version
index 0ac6b3cf8c28..88cf7d459a72 100755
--- a/nixpkgs/pkgs/common-updater/scripts/update-source-version
+++ b/nixpkgs/pkgs/common-updater/scripts/update-source-version
@@ -10,7 +10,8 @@ die() {
 
 usage() {
     echo "Usage: $scriptName <attr> <version> [<new-source-hash>] [<new-source-url>]"
-    echo "                              [--version-key=<version-key>] [--system=<system>] [--file=<file-to-update>] [--rev=<revision>]"
+    echo "                              [--version-key=<version-key>] [--source-key=<source-key>]"
+    echo "                              [--system=<system>] [--file=<file-to-update>] [--rev=<revision>]"
     echo "                              [--ignore-same-hash] [--print-changes]"
 }
 
@@ -25,6 +26,9 @@ for arg in "$@"; do
         --version-key=*)
             versionKey="${arg#*=}"
         ;;
+        --source-key=*)
+            sourceKey="${arg#*=}"
+        ;;
         --file=*)
             nixFile="${arg#*=}"
             if [[ ! -f "$nixFile" ]]; then
@@ -79,6 +83,10 @@ if [[ -z "$versionKey" ]]; then
     versionKey=version
 fi
 
+if [[ -z "$sourceKey" ]]; then
+    sourceKey=src
+fi
+
 # Allow finding packages among flake outputs in repos using flake-compat.
 pname=$(nix-instantiate $systemArg --eval --strict -A "$attr.name" || echo)
 if [[ -z "$pname" ]]; then
@@ -106,7 +114,7 @@ if [[ -z "$nixFile" ]]; then
     fi
 
     # flake-compat will return paths in the Nix store, we need to correct for that.
-    possiblyOutPath=$(nix-instantiate $systemArg --eval -E "with $importTree; outPath" | tr -d '"')
+    possiblyOutPath=$(nix-instantiate $systemArg --eval -E "with $importTree; outPath" 2>/dev/null | tr -d '"')
     if [[ -n "$possiblyOutPath" ]]; then
         outPathEscaped=$(echo "$possiblyOutPath" | sed 's#[$^*\\.[|]#\\&#g')
         pwdEscaped=$(echo "$PWD" | sed 's#[$^*\\.[|]#\\&#g')
@@ -114,21 +122,21 @@ if [[ -z "$nixFile" ]]; then
     fi
 fi
 
-oldHashAlgo=$(nix-instantiate $systemArg --eval --strict -A "$attr.src.drvAttrs.outputHashAlgo" | tr -d '"')
-oldHash=$(nix-instantiate $systemArg --eval --strict -A "$attr.src.drvAttrs.outputHash" | tr -d '"')
+oldHashAlgo=$(nix-instantiate $systemArg --eval --strict -A "$attr.$sourceKey.drvAttrs.outputHashAlgo" | tr -d '"')
+oldHash=$(nix-instantiate $systemArg --eval --strict -A "$attr.$sourceKey.drvAttrs.outputHash" | tr -d '"')
 
 if [[ -z "$oldHashAlgo" || -z "$oldHash" ]]; then
-    die "Couldn't evaluate old source hash from '$attr.src'!"
+    die "Couldn't evaluate old source hash from '$attr.$sourceKey'!"
 fi
 
 if [[ $(grep --count "$oldHash" "$nixFile") != 1 ]]; then
     die "Couldn't locate old source hash '$oldHash' (or it appeared more than once) in '$nixFile'!"
 fi
 
-oldUrl=$(nix-instantiate $systemArg --eval -E "with $importTree; builtins.elemAt ($attr.src.drvAttrs.urls or [ $attr.src.url ]) 0" | tr -d '"')
+oldUrl=$(nix-instantiate $systemArg --eval -E "with $importTree; builtins.elemAt ($attr.$sourceKey.drvAttrs.urls or [ $attr.$sourceKey.url ]) 0" | tr -d '"')
 
 if [[ -z "$oldUrl" ]]; then
-    die "Couldn't evaluate source url from '$attr.src'!"
+    die "Couldn't evaluate source url from '$attr.$sourceKey'!"
 fi
 
 oldVersion=$(nix-instantiate $systemArg --eval -E "with $importTree; $attr.${versionKey} or (builtins.parseDrvName $attr.name).version" | tr -d '"')
@@ -146,9 +154,9 @@ if [[ "$oldVersion" = "$newVersion" ]]; then
 fi
 
 if [[ -n "$newRevision" ]]; then
-    oldRevision=$(nix-instantiate $systemArg --eval -E "with $importTree; $attr.src.rev" | tr -d '"')
+    oldRevision=$(nix-instantiate $systemArg --eval -E "with $importTree; $attr.$sourceKey.rev" | tr -d '"')
     if [[ -z "$oldRevision" ]]; then
-        die "Couldn't evaluate source revision from '$attr.src'!"
+        die "Couldn't evaluate source revision from '$attr.$sourceKey'!"
     fi
 fi
 
@@ -228,7 +236,7 @@ fi
 
 # If new hash not given on the command line, recalculate it ourselves.
 if [[ -z "$newHash" ]]; then
-    nix-build $systemArg --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true
+    nix-build $systemArg --no-out-link -A "$attr.$sourceKey" 2>"$attr.fetchlog" >/dev/null || true
     # FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed
     newHash=$(sed '1,/hash mismatch in fixed-output derivation/d' "$attr.fetchlog" | grep --perl-regexp --only-matching 'got: +.+[:-]\K.+')
 
@@ -242,12 +250,12 @@ fi
 
 if [[ -z "$newHash" ]]; then
     cat "$attr.fetchlog" >&2
-    die "Couldn't figure out new hash of '$attr.src'!"
+    die "Couldn't figure out new hash of '$attr.$sourceKey'!"
 fi
 
 if [[ -z "${ignoreSameHash}" && "$oldVersion" != "$newVersion" && "$oldHash" = "$newHash" ]]; then
     mv "$nixFile.bak" "$nixFile"
-    die "Both the old and new source hashes of '$attr.src' were equivalent. Please fix the package's source URL to be dependent on '\${version}'!"
+    die "Both the old and new source hashes of '$attr.$sourceKey' were equivalent. Please fix the package's source URL to be dependent on '\${version}'!"
 fi
 
 sed -i "$nixFile" -re "s|\"$tempHashEscaped\"|\"$newHash\"|"
diff --git a/nixpkgs/pkgs/common-updater/unstable-updater.nix b/nixpkgs/pkgs/common-updater/unstable-updater.nix
index 01f8ae2533e6..14f25a91601c 100644
--- a/nixpkgs/pkgs/common-updater/unstable-updater.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix b/nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix
index e8f671566d8d..23dfd975bf74 100644
--- a/nixpkgs/pkgs/data/documentation/gnome-user-docs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/behdad-fonts/default.nix b/nixpkgs/pkgs/data/fonts/behdad-fonts/default.nix
index d5d0b2a3c1dd..be6ed005b166 100644
--- a/nixpkgs/pkgs/data/fonts/behdad-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix b/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix
index 011e88dc1d2e..49b4e6354ca4 100644
--- a/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -1,15 +1,36 @@
-{ lib, stdenv, fetchurl, meson, ninja, gettext, appstream-glib, gnome }:
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, python3
+, gettext
+, appstream-glib
+, gnome
+}:
 
 stdenv.mkDerivation rec {
   pname = "cantarell-fonts";
-  version = "0.301";
+  version = "0.303.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "3d35db0ac03f9e6b0d5a53577591b714238985f4cfc31a0aa17f26cd74675e83";
+    sha256 = "+UY6BlnGPlfjgf3XU88ZKSJTlcW0kTWYlCR2GDBTBBE=";
   };
 
-  nativeBuildInputs = [ meson ninja gettext appstream-glib ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    python3
+    python3.pkgs.psautohint
+    python3.pkgs.cffsubr
+    python3.pkgs.statmake
+    python3.pkgs.ufo2ft
+    python3.pkgs.setuptools
+    python3.pkgs.ufoLib2
+    gettext
+    appstream-glib
+  ];
 
   # ad-hoc fix for https://github.com/NixOS/nixpkgs/issues/50855
   # until we fix gettext's envHook
@@ -19,7 +40,7 @@ stdenv.mkDerivation rec {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "1sczskw2kv3qy39i9mzw2lkl94a90bjgv5ln9acy5kh4gb2zmy7z";
+  outputHash = "XeqHVdTQ7PTzxkjwfzS/BTR7+k/M69sfUKdRXGOTmZE=";
 
   passthru = {
     updateScript = gnome.updateScript {
diff --git a/nixpkgs/pkgs/data/fonts/cm-unicode/default.nix b/nixpkgs/pkgs/data/fonts/cm-unicode/default.nix
index d7437c3231d6..3248813c3cb0 100644
--- a/nixpkgs/pkgs/data/fonts/cm-unicode/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cm-unicode/default.nix
@@ -16,7 +16,7 @@ in fetchzip rec {
   sha256 = "1rzz7yhqq3lljyqxbg46jfzfd09qgpgx865lijr4sgc94riy1ypn";
 
   meta = with lib; {
-    homepage = "http://canopus.iacp.dvo.ru/~panov/cm-unicode/";
+    homepage = "https://cm-unicode.sourceforge.io/";
     description = "Computer Modern Unicode fonts";
     maintainers = with maintainers; [ raskin rycee ];
     license = licenses.ofl;
diff --git a/nixpkgs/pkgs/data/fonts/comic-relief/default.nix b/nixpkgs/pkgs/data/fonts/comic-relief/default.nix
index 1f5ce7f642fa..b5a7e8878876 100644
--- a/nixpkgs/pkgs/data/fonts/comic-relief/default.nix
+++ b/nixpkgs/pkgs/data/fonts/comic-relief/default.nix
@@ -19,7 +19,7 @@ in fetchzip rec {
   sha256 = "0dz0y7w6mq4hcmmxv6fn4mp6jkln9mzr4s96vsg68wrl5b7k9yff";
 
   meta = with lib; {
-    homepage = "http://loudifier.com/comic-relief/";
+    homepage = "https://fontlibrary.org/en/font/comic-relief";
     description = "A font metric-compatible with Microsoft Comic Sans";
     longDescription = ''
       Comic Relief is a typeface designed to be metrically equivalent
diff --git a/nixpkgs/pkgs/data/fonts/cozette/default.nix b/nixpkgs/pkgs/data/fonts/cozette/default.nix
index 3550facfc114..1b0b03383664 100644
--- a/nixpkgs/pkgs/data/fonts/cozette/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cozette/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchzip }:
 
 let
-  version = "1.8.3";
+  version = "1.13.0";
 in
 fetchzip rec {
   name = "Cozette-${version}";
 
   url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts.zip";
 
-  sha256 = "1nc4zk6n7cbv9vwlhpm3ady5lc4d4ic1klyywwfg27w8j0jv57hx";
+  sha256 = "sha256-xp3BCYfNUxCNewg4FfzmJnKp0PARvvnViMVwT25nWdM=";
 
   postFetch = ''
     mkdir -p $out/share/fonts
diff --git a/nixpkgs/pkgs/data/fonts/crimson/default.nix b/nixpkgs/pkgs/data/fonts/crimson/default.nix
index b8ff43a11288..9400ef06cf9a 100644
--- a/nixpkgs/pkgs/data/fonts/crimson/default.nix
+++ b/nixpkgs/pkgs/data/fonts/crimson/default.nix
@@ -16,7 +16,7 @@ in fetchzip rec {
   sha256 = "0mg65f0ydyfmb43jqr1f34njpd10w8npw15cbb7z0nxmy4nkl842";
 
   meta = with lib; {
-    homepage = "https://aldusleaf.org/crimson.html";
+    homepage = "https://github.com/skosch/Crimson";
     description = "A font family inspired by beautiful oldstyle typefaces";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix b/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix
index aed90b103b4e..ba9fed1be282 100644
--- a/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/dejavu-fonts/default.nix
@@ -12,7 +12,7 @@ let
       This package includes DejaVu Sans, DejaVu Serif, DejaVu Sans Mono, and
       the TeX Gyre DejaVu Math font.
     '';
-    homepage = "http://dejavu-fonts.org/wiki/Main_Page";
+    homepage = "https://dejavu-fonts.github.io/";
 
     # Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
     # Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
diff --git a/nixpkgs/pkgs/data/fonts/encode-sans/default.nix b/nixpkgs/pkgs/data/fonts/encode-sans/default.nix
index c6bb23b43266..3fd0115ddb48 100644
--- a/nixpkgs/pkgs/data/fonts/encode-sans/default.nix
+++ b/nixpkgs/pkgs/data/fonts/encode-sans/default.nix
@@ -23,7 +23,7 @@ fetchzip rec {
 
       Designed by Pablo Impallari and Andres Torresi.
     '';
-    homepage = "http://www.impallari.com/projects/overview/encode";
+    homepage = "https://github.com/impallari/Encode-Sans";
     license = licenses.ofl;
     maintainers = with maintainers; [ cmfwyp ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/fonts/gandom-fonts/default.nix b/nixpkgs/pkgs/data/fonts/gandom-fonts/default.nix
index 54e0020ae687..1b8b3307eb35 100644
--- a/nixpkgs/pkgs/data/fonts/gandom-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/gentium/default.nix b/nixpkgs/pkgs/data/fonts/gentium/default.nix
index ac8839f075b2..f64f7b341440 100644
--- a/nixpkgs/pkgs/data/fonts/gentium/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/hannom/default.nix b/nixpkgs/pkgs/data/fonts/hannom/default.nix
new file mode 100644
index 000000000000..0ca15b1b0d2e
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/hannom/default.nix
@@ -0,0 +1,33 @@
+{ lib, fetchzip }:
+
+let
+  version = "2005";
+in fetchzip {
+  name = "hannom-${version}";
+
+  url = "mirror://sourceforge/vietunicode/hannom/hannom%20v${version}/hannomH.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+  '';
+
+  sha256 = "sha256-zOYJxEHl4KM0ncVQDBs9+e3z8DxzF2ef3pRj0OVSuUo=";
+
+  meta = with lib; {
+    description = "UNICODE Han Nom Font Set";
+    homepage = "http://vietunicode.sourceforge.net/fonts/fonts_hannom.html";
+    longDescription = ''
+      The true type fonts HAN NOM A and HAN NOM B have been developed by Chan
+      Nguyen Do Quoc Bao (Germany), To Minh Tam (USA) and Ni sinh Thien Vien Vien
+      Chieu (Vietnam). Their work got started in 2001, completed in 2003, and
+      publicized in 2005. These two true type fonts can be used with WIN-2000 or
+      WIN-XP and Office XP or Office 2003 to display Han and Nom characters with
+      code points by the Unicode Standard. Two sets of true type fonts are
+      available with high and low resolutions.
+    '';
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wegank ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/ipaexfont/default.nix b/nixpkgs/pkgs/data/fonts/ipaexfont/default.nix
index ef914d144843..5223bc499d5c 100644
--- a/nixpkgs/pkgs/data/fonts/ipaexfont/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ipaexfont/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchzip }:
 
 fetchzip {
-  name = "ipaexfont-003.01";
+  name = "ipaexfont-004.01";
 
-  url = "http://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/nixpkgs/pkgs/data/fonts/ipafont/default.nix b/nixpkgs/pkgs/data/fonts/ipafont/default.nix
index eec28db883a8..9bc9b82db0e6 100644
--- a/nixpkgs/pkgs/data/fonts/ipafont/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ipafont/default.nix
@@ -3,7 +3,7 @@
 fetchzip {
   name = "ipafont-003.03";
 
-  url = "http://ipafont.ipa.go.jp/old/ipafont/IPAfont00303.php";
+  url = "https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont00303.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
@@ -19,7 +19,7 @@ fetchzip {
       Promotion Agency of Japan. It provides both Mincho and Gothic fonts,
       suitable for both display and printing.
     '';
-    homepage = "http://ipafont.ipa.go.jp/ipafont/";
+    homepage = "https://moji.or.jp/ipafont/";
     license = lib.licenses.ipa;
     maintainers = [ lib.maintainers.auntie ];
   };
diff --git a/nixpkgs/pkgs/data/fonts/ir-standard-fonts/default.nix b/nixpkgs/pkgs/data/fonts/ir-standard-fonts/default.nix
index 25ec1e5d11da..2e535255cc6b 100644
--- a/nixpkgs/pkgs/data/fonts/ir-standard-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/iwona/default.nix b/nixpkgs/pkgs/data/fonts/iwona/default.nix
index 7333c5abe358..85cf06df11fb 100644
--- a/nixpkgs/pkgs/data/fonts/iwona/default.nix
+++ b/nixpkgs/pkgs/data/fonts/iwona/default.nix
@@ -14,7 +14,7 @@ in fetchzip {
 
   meta = with lib; {
     description = "A two-element sans-serif typeface, created by Małgorzata Budyta";
-    homepage = "http://jmn.pl/en/kurier-i-iwona/";
+    homepage = "https://jmn.pl/en/kurier-i-iwona/";
     # "[...] GUST Font License (GFL), which is a free license, legally
     # equivalent to the LaTeX Project Public # License (LPPL), version 1.3c or
     # later." - GUST website
diff --git a/nixpkgs/pkgs/data/fonts/julia-mono/default.nix b/nixpkgs/pkgs/data/fonts/julia-mono/default.nix
index a1f8f316773e..136a3218761c 100644
--- a/nixpkgs/pkgs/data/fonts/julia-mono/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/lalezar-fonts/default.nix b/nixpkgs/pkgs/data/fonts/lalezar-fonts/default.nix
index 01e9d209a317..31a857bfda05 100644
--- a/nixpkgs/pkgs/data/fonts/lalezar-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/montserrat/default.nix b/nixpkgs/pkgs/data/fonts/montserrat/default.nix
index 41135122f054..7d91f49eb3e4 100644
--- a/nixpkgs/pkgs/data/fonts/montserrat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/nahid-fonts/default.nix b/nixpkgs/pkgs/data/fonts/nahid-fonts/default.nix
index 0e08bebea092..fbceb3c927dc 100644
--- a/nixpkgs/pkgs/data/fonts/nahid-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/nanum-gothic-coding/default.nix b/nixpkgs/pkgs/data/fonts/nanum-gothic-coding/default.nix
index 4785c1386a62..5066a2aef4dc 100644
--- a/nixpkgs/pkgs/data/fonts/nanum-gothic-coding/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/nika-fonts/default.nix b/nixpkgs/pkgs/data/fonts/nika-fonts/default.nix
index 5db9bb2a9518..f497a184be01 100644
--- a/nixpkgs/pkgs/data/fonts/nika-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
index 380f012fea85..9c9996db39e0 100644
--- a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
@@ -3,8 +3,8 @@
 , lib
 , fetchFromGitHub
 , fetchurl
-, fetchzip
 , cairo
+, nixosTests
 , python3
 , pkg-config
 , pngquant
@@ -61,6 +61,45 @@ let
         maintainers = with maintainers; [ mathnerd314 emily ];
       };
     };
+
+  mkNotoCJK = { typeface, version, rev, sha256 }:
+    stdenvNoCC.mkDerivation {
+      pname = "noto-fonts-cjk-${lib.toLower typeface}";
+      inherit version;
+
+      src = fetchFromGitHub {
+        owner = "googlefonts";
+        repo = "noto-cjk";
+        inherit rev sha256;
+        sparseCheckout = "${typeface}/OTC";
+      };
+
+      installPhase = ''
+        install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/OTC/*.ttc
+      '';
+
+      passthru.tests.noto-fonts = nixosTests.noto-fonts;
+
+      meta = with lib; {
+        description = "Beautiful and free fonts for CJK languages";
+        homepage = "https://www.google.com/get/noto/help/cjk/";
+        longDescription = ''
+          Noto ${typeface} CJK is a ${lib.toLower typeface} typeface designed as
+          an intermediate style between the modern and traditional. It is
+          intended to be a multi-purpose digital font for user interface
+          designs, digital content, reading on laptops, mobile devices, and
+          electronic books. Noto ${typeface} CJK comprehensively covers
+          Simplified Chinese, Traditional Chinese, Japanese, and Korean in a
+          unified font family. It supports regional variants of ideographic
+          characters for each of the four languages. In addition, it supports
+          Japanese kana, vertical forms, and variant characters (itaiji); it
+          supports Korean hangeul — both contemporary and archaic.
+        '';
+        license = licenses.ofl;
+        platforms = platforms.all;
+        maintainers = with maintainers; [ mathnerd314 emily ];
+      };
+    };
 in
 
 {
@@ -74,40 +113,18 @@ in
     weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*";
   };
 
-  noto-fonts-cjk = stdenvNoCC.mkDerivation rec {
-    pname = "noto-fonts-cjk";
-    version = "2.001";
-
-    src = fetchzip {
-      url = "https://raw.githubusercontent.com/googlefonts/noto-cjk/NotoSansV${version}/NotoSansCJK.ttc.zip";
-      # __MACOSX...
-      stripRoot = false;
-      sha256 = "0ik4z2b15i0pghskgfm3adzb0h35fr4gyzvz3bq49hhkhn9h85vi";
-    };
-
-    buildCommand = ''
-      install -m444 -Dt $out/share/fonts/opentype/noto-cjk $src/*.ttc
-    '';
+  noto-fonts-cjk-sans = mkNotoCJK {
+    typeface = "Sans";
+    version = "2.004";
+    rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d";
+    sha256 = "sha256-pNC/WJCYHSlU28E/CSFsrEMbyCe/6tjevDlOvDK9RwU=";
+  };
 
-    meta = with lib; {
-      description = "Beautiful and free fonts for CJK languages";
-      homepage = "https://www.google.com/get/noto/help/cjk/";
-      longDescription =
-      ''
-        Noto Sans CJK is a sans serif typeface designed as an intermediate style
-        between the modern and traditional. It is intended to be a multi-purpose
-        digital font for user interface designs, digital content, reading on laptops,
-        mobile devices, and electronic books. Noto Sans CJK comprehensively covers
-        Simplified Chinese, Traditional Chinese, Japanese, and Korean in a unified font
-        family. It supports regional variants of ideographic characters for each of the
-        four languages. In addition, it supports Japanese kana, vertical forms, and
-        variant characters (itaiji); it supports Korean hangeul — both contemporary and
-        archaic.
-      '';
-      license = licenses.ofl;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ mathnerd314 emily ];
-    };
+  noto-fonts-cjk-serif = mkNotoCJK {
+    typeface = "Serif";
+    version = "2.000";
+    rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d";
+    sha256 = "sha256-Iy4lmWj5l+/Us/dJJ/Jl4MEojE9mrFnhNQxX2zhVngY=";
   };
 
   noto-fonts-emoji = let
diff --git a/nixpkgs/pkgs/data/fonts/parastoo-fonts/default.nix b/nixpkgs/pkgs/data/fonts/parastoo-fonts/default.nix
index 7c713576a21c..93ff513c894a 100644
--- a/nixpkgs/pkgs/data/fonts/parastoo-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/parastoo-fonts/default.nix
@@ -21,6 +21,6 @@ in fetchFromGitHub {
     description = "A Persian (Farsi) Font - فونت ( قلم ) فارسی پرستو";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/quattrocento-sans/default.nix b/nixpkgs/pkgs/data/fonts/quattrocento-sans/default.nix
index ed0411ceb9f6..0d62a866e0f0 100644
--- a/nixpkgs/pkgs/data/fonts/quattrocento-sans/default.nix
+++ b/nixpkgs/pkgs/data/fonts/quattrocento-sans/default.nix
@@ -5,7 +5,7 @@ let
 in fetchzip rec {
   name = "quattrocento-sans-${version}";
 
-  url = "http://web.archive.org/web/20170709124317/http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip";
+  url = "https://web.archive.org/web/20170709124317/http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/{fonts,doc}
diff --git a/nixpkgs/pkgs/data/fonts/quattrocento/default.nix b/nixpkgs/pkgs/data/fonts/quattrocento/default.nix
index 3d11321cd4b2..aa23175a04d4 100644
--- a/nixpkgs/pkgs/data/fonts/quattrocento/default.nix
+++ b/nixpkgs/pkgs/data/fonts/quattrocento/default.nix
@@ -5,7 +5,7 @@ let
 in fetchzip rec {
   name = "quattrocento-${version}";
 
-  url = "http://web.archive.org/web/20170707001804/http://www.impallari.com/media/releases/quattrocento-v${version}.zip";
+  url = "https://web.archive.org/web/20170707001804/http://www.impallari.com/media/releases/quattrocento-v${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/{fonts,doc}
diff --git a/nixpkgs/pkgs/data/fonts/sahel-fonts/default.nix b/nixpkgs/pkgs/data/fonts/sahel-fonts/default.nix
index ff86338c26d4..9079ba7fada0 100644
--- a/nixpkgs/pkgs/data/fonts/sahel-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/samim-fonts/default.nix b/nixpkgs/pkgs/data/fonts/samim-fonts/default.nix
index e10249a1afd9..b29114e6b1c4 100644
--- a/nixpkgs/pkgs/data/fonts/samim-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix b/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
index c28b3745f942..3d601bdc6865 100644
--- a/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchurl, libarchive }:
 
 let
-  version = "0.35.5";
+  version = "0.35.8";
 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-22q+FdTh9Dex+tEo/HCBK14ZlJFtFM7SrE6K1/iVBY0=";
 
   recursiveHash = true;
   downloadToTemp = true;
diff --git a/nixpkgs/pkgs/data/fonts/shabnam-fonts/default.nix b/nixpkgs/pkgs/data/fonts/shabnam-fonts/default.nix
index 5cf54697fdf6..d5e7e2b243c3 100644
--- a/nixpkgs/pkgs/data/fonts/shabnam-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/sudo/default.nix b/nixpkgs/pkgs/data/fonts/sudo/default.nix
index e0bc42f8d129..45450a7c20f7 100644
--- a/nixpkgs/pkgs/data/fonts/sudo/default.nix
+++ b/nixpkgs/pkgs/data/fonts/sudo/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchzip }:
 
 let
-  version = "0.61";
+  version = "0.62";
 in fetchzip {
   name = "sudo-font-${version}";
   url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
-  sha256 = "sha256-4GDlx2zhwkcsxJPq0IrS1owmw+RKy09X3Q0zzA9l79w=";
+  sha256 = "sha256-I0E2zYbfEFBEIBNC7nnJb+hOaBgGZkAIg08YpA8awso=";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
diff --git a/nixpkgs/pkgs/data/fonts/vazir-fonts/default.nix b/nixpkgs/pkgs/data/fonts/vazir-fonts/default.nix
index a41013fd490c..b2c4f1faa3c5 100755
--- a/nixpkgs/pkgs/data/fonts/vazir-fonts/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/victor-mono/default.nix b/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
index 68f437a8fc8d..45873e1b7f96 100644
--- a/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.5.1";
+  version = "1.5.2";
 in
 fetchzip {
   name = "victor-mono-${version}";
@@ -21,7 +21,7 @@ fetchzip {
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
   '';
 
-  sha256 = "sha256-FHahUp/Ghjv6fwsjj1giVPlAIXRMSZCSLcVMiMHvV3A=";
+  sha256 = "sha256-cNDZh0P/enmoKL/6eHzkgl5ghtai2K9cTgWMVmm8GIA=";
 
   meta = with lib; {
     description = "Free programming font with cursive italics and ligatures";
diff --git a/nixpkgs/pkgs/data/fonts/vista-fonts-chs/default.nix b/nixpkgs/pkgs/data/fonts/vista-fonts-chs/default.nix
index 7c5d9dbba6ea..66274c667a04 100644
--- a/nixpkgs/pkgs/data/fonts/vista-fonts-chs/default.nix
+++ b/nixpkgs/pkgs/data/fonts/vista-fonts-chs/default.nix
@@ -5,7 +5,7 @@ stdenvNoCC.mkDerivation {
   version = "1";
 
   src = fetchurl {
-    url = "http://web.archive.org/web/20161221192937if_/http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE";
+    url = "https://web.archive.org/web/20161221192937if_/http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE";
     # Alternative mirror:
     # http://www.eeo.cn/download/font/VistaFont_CHS.EXE
     sha256 = "1qwm30b8aq9piyqv07hv8b5bac9ms40rsdf8pwix5dyk8020i8xi";
diff --git a/nixpkgs/pkgs/data/icons/comixcursors/default.nix b/nixpkgs/pkgs/data/icons/comixcursors/default.nix
new file mode 100644
index 000000000000..aa744878bcb3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/icons/comixcursors/makefile-shell-var.patch b/nixpkgs/pkgs/data/icons/comixcursors/makefile-shell-var.patch
new file mode 100644
index 000000000000..4032244c9ef0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix
index 0e6a2fc67c43..239cf052ca9e 100644
--- a/nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gnome-icon-theme.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix
index 9ecc7f76c073..8df63a75ad8d 100644
--- a/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/kora-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec  {
   pname = "kora-icon-theme";
-  version = "1.4.9";
+  version = "1.5.0";
 
   src = fetchFromGitHub  {
     owner = "bikass";
     repo = "kora";
     rev = "v${version}";
-    sha256 = "sha256-bhzkR8V/kdETC12mqMtTw+80o8AAD8sYeMhpktd0WMo=";
+    sha256 = "sha256-kUgNj7KuxsQ/BvQ0ORl3xzEm9gv69+2PS0Bgv8i/S9U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/data/icons/luna-icons/default.nix b/nixpkgs/pkgs/data/icons/luna-icons/default.nix
index 3d87e9577d5c..f6ac136d4af6 100644
--- a/nixpkgs/pkgs/data/icons/luna-icons/default.nix
+++ b/nixpkgs/pkgs/data/icons/luna-icons/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luna-icons";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "1c317ac43ff70sxn1syx20qhs4nkccv6hbf69fmi3acswqsll1z4";
+    sha256 = "1l6jxbgq2qnw4qx0khkdxcq75v17cv2ccfnm28sslpzcc1r8amqd";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/data/icons/nordzy-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/nordzy-icon-theme/default.nix
new file mode 100644
index 000000000000..11113bb6a503
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/nordzy-icon-theme/default.nix
@@ -0,0 +1,54 @@
+{ stdenvNoCC
+, fetchFromGitHub
+, lib
+, gtk3
+, jdupes
+, nordzy-themes ? [ "all" ] # Override this to only install selected themes
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "nordzy-icon-theme";
+  version = "unstable-2022-01-23";
+
+  src = fetchFromGitHub {
+    owner = "alvatip";
+    repo = "Nordzy-icon";
+    rev = "10b9ee80ef5c4cac1d1770d89a6d55046521ea36";
+    sha256 = "1b8abhs5gzr2qy407jq818pr67vjky8zn3pa3c8n552ayybblibk";
+  };
+
+  # In the post patch phase we should first make sure to patch shebangs.
+  postPatch = ''
+    patchShebangs install.sh
+  '';
+
+  nativeBuildInputs = [
+    gtk3
+    jdupes
+  ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    name= ./install.sh --dest $out/share/icons \
+      ${lib.optionalString (nordzy-themes != []) (lib.strings.concatMapStrings (theme: "-t ${theme} ") nordzy-themes)}
+
+    # Replace duplicate files with hardlinks to the first file in each
+    # set of duplicates, reducing the installed size in about 87%
+    jdupes -L -r $out/share
+
+    runHook postInstall
+  '';
+
+  dontFixup = true;
+
+  meta = with lib; {
+    description = "Icon theme using the Nord color palette, based on WhiteSur and Numix icon themes";
+    homepage = "https://github.com/alvatip/Nordzy-icon";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ alexnortung ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
index 089e098e97e2..79ca07dd5b5a 100644
--- a/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme-circle";
-  version = "21.12.05";
+  version = "22.02.06";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tmrysmg4jVPurNJy3AqzAIjd1QCXoH2nGuJhRinvqVQ=";
+    sha256 = "sha256-a+h5DMxVM1TPVx8yuKwRzjjnBLnIWMCCKG+BPg1Hq5Y=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
index 8aeb6d44669a..550b11c7ac89 100644
--- a/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "21.12.05";
+  version = "22.02.06";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-SVWIY7RGwk2AKruDkAYoZ5nDSAU8LPb9dtqxDFumZ5o=";
+    sha256 = "sha256-dKBNB1udRysDe3HbUh2qudQDeLgS/wmSnY3nAWnmjQo=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
index 503e4e1d296a..9da7178e80ad 100644
--- a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20211201";
+  version = "20220204";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "sha256-lcwQALFQ4zkgDLCX1uthAP3QZwP7UcWcPSOU+UTDykE=";
+    sha256 = "sha256-DYz2fnn1ZfX09NQcRXmGTYY95K5wOWhlmJeDjEvN1vY=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/nixpkgs/pkgs/data/icons/phinger-cursors/default.nix b/nixpkgs/pkgs/data/icons/phinger-cursors/default.nix
new file mode 100644
index 000000000000..5afd2fe228f6
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/phinger-cursors/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenvNoCC, fetchurl }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "phinger-cursors";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "https://github.com/phisch/phinger-cursors/releases/download/v${version}/phinger-cursors-variants.tar.bz2";
+    sha256 = "sha256-II+1x+rcjGRRVB8GYkVwkKVHNHcNaBKRb6C613901oc=";
+  };
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/icons
+    cp -r ./phinger-cursors* $out/share/icons
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "The most over-engineered cursor theme";
+    homepage = "https://github.com/phisch/phinger-cursors";
+    platforms = platforms.unix;
+    license = licenses.cc-by-sa-40;
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix
index c0f65ab7eadc..24ad687834e3 100644
--- a/nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix
@@ -1,14 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme, jdupes }:
-
-stdenv.mkDerivation rec {
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gtk3
+, hicolor-icon-theme
+, jdupes
+}:
+
+stdenvNoCC.mkDerivation rec {
   pname = "qogir-icon-theme";
-  version = "2021-10-14";
+  version = "2022-01-12";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "0qbbg0hcdda7apk892b8nhbrsvji12nv97ss7lv412xwcmxsj9fp";
+    sha256 = "1daayxsqh7di3bvfnl39h1arsj1fypd3ba30mas6dl1d0qy17z1p";
   };
 
   nativeBuildInputs = [ gtk3 jdupes ];
@@ -26,7 +32,7 @@ stdenv.mkDerivation rec {
     patchShebangs install.sh
     mkdir -p $out/share/icons
     name= ./install.sh -d $out/share/icons
-    jdupes -l -r $out/share/icons
+    jdupes -L -r $out/share/icons
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/data/icons/tela-circle-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/tela-circle-icon-theme/default.nix
new file mode 100644
index 000000000000..d19dcba69fd8
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/tela-circle-icon-theme/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gtk3
+, hicolor-icon-theme
+, jdupes
+, allColorVariants ? false
+, circularFolder ? false
+, colorVariants ? [] # default is standard
+}:
+
+let
+  pname = "tela-circle-icon-theme";
+in
+lib.checkListOfEnum "${pname}: color variants" [ "standard" "black" "blue" "brown" "green" "grey" "orange" "pink" "purple" "red" "yellow" "manjaro" "ubuntu" ] colorVariants
+
+stdenvNoCC.mkDerivation rec {
+  inherit pname;
+  version = "2022-02-08";
+
+  src = fetchFromGitHub {
+    owner = "vinceliuice";
+    repo = pname;
+    rev = version;
+    sha256 = "08a1jhirvn2x9hhjr0lqqqayhsf446cddapprxpsnsn9q6x2j2gp";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+    jdupes
+  ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  # These fixup steps are slow and unnecessary for this package.
+  # Package may install almost 400 000 small files.
+  dontPatchELF = true;
+  dontRewriteSymlinks = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    patchShebangs install.sh
+
+    ./install.sh -d $out/share/icons \
+      ${lib.optionalString circularFolder "-c"} \
+      ${if allColorVariants then "-a" else builtins.toString colorVariants}
+
+    jdupes -L -r $out/share/icons
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Flat and colorful personality icon theme";
+    homepage = "https://github.com/vinceliuice/Tela-circle-icon-theme";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/tela-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/tela-icon-theme/default.nix
index 4e2b824be4bc..ab7742bb36f0 100644
--- a/nixpkgs/pkgs/data/icons/tela-icon-theme/default.nix
+++ b/nixpkgs/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-01-25";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qlt9jv3lCPVFBeN4aQd4r9NE0YAxWQavMoo13cvhv6E=";
+    sha256 = "sha256-XKNSCWwanm2dP002TY/mE4SDX13TllHrbrb55V4wLSQ=";
   };
 
   nativeBuildInputs = [ gtk3 jdupes ];
diff --git a/nixpkgs/pkgs/data/icons/vimix-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/vimix-icon-theme/default.nix
index 502a8023c9bd..853b1d209abb 100644
--- a/nixpkgs/pkgs/data/icons/vimix-icon-theme/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/misc/adapta-backgrounds/default.nix b/nixpkgs/pkgs/data/misc/adapta-backgrounds/default.nix
index 6debaa9ebe22..417bd7392b52 100644
--- a/nixpkgs/pkgs/data/misc/adapta-backgrounds/default.nix
+++ b/nixpkgs/pkgs/data/misc/adapta-backgrounds/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "04hmbmzf97rsii8gpwy3wkljy5xhxmlsl34d63s6hfy05knclydj";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config glib ];
+  strictDeps = true;
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [ glib ];
 
   meta = with lib; {
     description = "Wallpaper collection for adapta-project";
diff --git a/nixpkgs/pkgs/data/misc/cacert/default.nix b/nixpkgs/pkgs/data/misc/cacert/default.nix
index 49645ee80083..4d79521c255c 100644
--- a/nixpkgs/pkgs/data/misc/cacert/default.nix
+++ b/nixpkgs/pkgs/data/misc/cacert/default.nix
@@ -20,13 +20,13 @@ let
   blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist);
   extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
 
-  srcVersion = "3.71";
+  srcVersion = "3.74";
   version = if nssOverride != null then nssOverride.version else srcVersion;
   meta = with lib; {
     homepage = "https://curl.haxx.se/docs/caextract.html";
     description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
     platforms = platforms.all;
-    maintainers = with maintainers; [ andir fpletz lukegb ];
+    maintainers = with maintainers; [ fpletz lukegb ];
     license = licenses.mpl20;
   };
   certdata = stdenv.mkDerivation {
@@ -35,7 +35,7 @@ let
 
     src = if nssOverride != null then nssOverride.src else fetchurl {
       url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
-      sha256 = "0ly2l3dv6z5hlxs72h5x6796ni3x1bq60saavaf42ddgv4ax7b4r";
+      sha256 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8";
     };
 
     dontBuild = true;
diff --git a/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix b/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix
index c8a76b98367d..9ac49167f66b 100644
--- a/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix
+++ b/nixpkgs/pkgs/data/misc/ddccontrol-db/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddccontrol-db";
-  version = "20210812";
+  version = "20220216";
 
   src = fetchFromGitHub {
     owner = "ddccontrol";
     repo = "ddccontrol-db";
     rev = version;
-    sha256 = "sha256-dRqyjDC9yNkNOnYQ9fkWPlnyzSqIZ4zxZ2T7t8Bu9FE=";
+    sha256 = "sha256-Nr8OvxbJRf9t2BUtEX3qBAH2BSs6KWLMzSpykiwYsHQ=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/data/misc/freepats/default.nix b/nixpkgs/pkgs/data/misc/freepats/default.nix
index 3ba5e1b61de1..4fe6a5c20fde 100644
--- a/nixpkgs/pkgs/data/misc/freepats/default.nix
+++ b/nixpkgs/pkgs/data/misc/freepats/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
       Freepats is a project to create a free and open set of instrument
       patches, in any format, that can be used with softsynths.
     '';
-    homepage = "http://freepats.zenvoid.org/";
+    homepage = "https://freepats.zenvoid.org/";
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/data/misc/geolite-legacy/builder.sh b/nixpkgs/pkgs/data/misc/geolite-legacy/builder.sh
deleted file mode 100644
index 0bb61d863ece..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/data/misc/geolite-legacy/default.nix b/nixpkgs/pkgs/data/misc/geolite-legacy/default.nix
index 735a66089492..ad9560da9a48 100644
--- a/nixpkgs/pkgs/data/misc/geolite-legacy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/misc/hackage/pin.json b/nixpkgs/pkgs/data/misc/hackage/pin.json
index c6226691d75f..d22dccf38cf0 100644
--- a/nixpkgs/pkgs/data/misc/hackage/pin.json
+++ b/nixpkgs/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "01a23b49c333c95167338433cd375e24fc60d66d",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/01a23b49c333c95167338433cd375e24fc60d66d.tar.gz",
-  "sha256": "0mf1pqlg5cj0p0si1vgf5mp5an89yhq0il6v7n58smcqbfdynds5",
-  "msg": "Update from Hackage at 2021-12-21T13:58:08Z"
+  "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/nixpkgs/pkgs/data/misc/mime-types/default.nix b/nixpkgs/pkgs/data/misc/mime-types/default.nix
deleted file mode 100644
index 77b67e48f923..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/data/misc/osinfo-db/default.nix b/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
index 17a63debdc64..c7a1ef2755f3 100644
--- a/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
+++ b/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20210312";
+  version = "20211216";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "sha256-dUjsCeRFynN4xc65njntyohX+Ck4MeCzy1WPQjCHDhA=";
+    sha256 = "sha256-CeznsOUhMw4x0SpZFx408JcYGny7zW+M1J+SiSO7EII=";
   };
 
   nativeBuildInputs = [ osinfo-db-tools gettext libxml2 ];
diff --git a/nixpkgs/pkgs/data/misc/poppler-data/default.nix b/nixpkgs/pkgs/data/misc/poppler-data/default.nix
index 5d6e7b8e80dc..6d35279b6de2 100644
--- a/nixpkgs/pkgs/data/misc/poppler-data/default.nix
+++ b/nixpkgs/pkgs/data/misc/poppler-data/default.nix
@@ -1,20 +1,30 @@
-{ fetchurl, lib, stdenv, cmake, ninja }:
+{ fetchurl
+, lib
+, stdenv
+, cmake
+, ninja
+, poppler
+}:
 
 stdenv.mkDerivation rec {
-  name = "poppler-data-0.4.10";
+  pname = "poppler-data";
+  version = "0.4.11";
 
   src = fetchurl {
-    url = "https://poppler.freedesktop.org/${name}.tar.gz";
-    sha256 = "0c3vjs3p7rjc4yfacnhd865r27czmzwcr4j2z4jldi68dvvcwbvf";
+    url = "https://poppler.freedesktop.org/${pname}-${version}.tar.gz";
+    sha256 = "LOwFzRuwOvmKiwah4i9ubhplseLzgWyzBpuwh0gl8Iw=";
   };
 
-  nativeBuildInputs = [ cmake ninja ];
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
 
   meta = with lib; {
     homepage = "https://poppler.freedesktop.org/";
     description = "Encoding files for Poppler, a PDF rendering library";
     platforms = platforms.all;
     license = licenses.free; # more free licenses combined
-    maintainers = with maintainers; [ ];
+    maintainers = poppler.meta.maintainers;
   };
 }
diff --git a/nixpkgs/pkgs/data/misc/rime-data/default.nix b/nixpkgs/pkgs/data/misc/rime-data/default.nix
index fbf65bc12a9f..97404764e200 100644
--- a/nixpkgs/pkgs/data/misc/rime-data/default.nix
+++ b/nixpkgs/pkgs/data/misc/rime-data/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rime-data";
-  version = "0.38.20210628";
+  version = "0.38.20211002";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = "plum";
-    rev = "0b835e347cad9c2d7038cfe82df5b5d1fe1c0327";
-    sha256 = "0mja4wyazxdc6fr7pzij5ah4rzwxv4s12s64vfn5ikx1ias1f8ib";
+    rev = "1730556e1da5a08bb8e0a656c4780a46851a2913";
+    sha256 = "sha256-D7rPUxcB3QkCtisfBLHPiqfgL5lqmxjSiuEcpE63elw=";
   };
 
   buildInputs = [ librime ];
diff --git a/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix b/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
index 4c60895897fe..2feb5e2f5a47 100644
--- a/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
+++ b/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
@@ -13,34 +13,24 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "shared-mime-info";
-  version = "2.1";
+  pname = "shared-mime-info-unstable";
+  version = "2021-12-03";
 
   outputs = [ "out" "dev" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "xdg";
-    repo = pname;
-    rev = version;
-    sha256 = "07bxv44p43pqq4ymfnyy50yli7lwdqymhvclna42rkn1cazq3vb5";
+    repo = "shared-mime-info";
+    rev = "5a406b06792e26a83c7346b3c2443c0bd8d4cdb2";
+    sha256 = "1v7dx7mr0m4lcff1aasg9gxn280zn0ffn6fjg9xc44pnllg01n6s";
   };
 
-  patches = [
-    # xmlto is only used for building the docs, which are not installed anyways.
-    (fetchpatch {
-      name = "xmlto-optional.patch";
-      url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/110.patch";
-      sha256 = "0p5gxlcmn8ji5bc7pd105s1halqwa1d28lfx9yj43rn6mav7allx";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
     gettext
-    itstool
     libxml2
   ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) shared-mime-info;
 
diff --git a/nixpkgs/pkgs/data/misc/tzdata/default.nix b/nixpkgs/pkgs/data/misc/tzdata/default.nix
index fddd1aec61ac..52662b190a74 100644
--- a/nixpkgs/pkgs/data/misc/tzdata/default.nix
+++ b/nixpkgs/pkgs/data/misc/tzdata/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "tzdata";
-  version = "2021c";
+  version = "2021e";
 
   srcs =
     [ (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
-        sha256 = "0himprzx3ahxkmg4rvp8n5lqry76qzc65j6sfq151hqirg4d3wdl";
+        sha256 = "1cdjdcxl0s9xf0dg1z64kh7llm80byxqlzrkkjzcdlyh6yvl5v07";
       })
       (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
-        sha256 = "01fsa661vzdij46z286pa8q07cppqz29sr2pf0qqldqpldbb6km3";
+        sha256 = "0x8pcfmjvxk29yfh8bklchv2f0vpl4yih0gc4wyx292l78wncijq";
       })
     ];
 
diff --git a/nixpkgs/pkgs/data/misc/v2ray-domain-list-community/default.nix b/nixpkgs/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 270a110b62f3..1115edabcec7 100644
--- a/nixpkgs/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/nixpkgs/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,14 +3,14 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20211228022859";
+    version = "20220201175515";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      sha256 = "sha256-wDz4msCaX6BPzxrg5GeZSrMuxsCx8uimhaHghWdDp8s=";
+      sha256 = "sha256-vgw6i8djBQDV+fmkVe5CuKMwES/PXGoVe8cTgB5tflo=";
     };
-    vendorSha256 = "sha256-p0EPYOw3vuqHiVSrZR7SA7vE0DWA7xyupWM+JznjF+o=";
+    vendorSha256 = "sha256-QUbnUnxG1tsNbR49HTl55aiLkBM/ae9mCtzWeN4Ju78=";
     meta = with lib; {
       description = "community managed domain list";
       homepage = "https://github.com/v2fly/domain-list-community";
diff --git a/nixpkgs/pkgs/data/misc/v2ray-geoip/default.nix b/nixpkgs/pkgs/data/misc/v2ray-geoip/default.nix
index 64cecbc60a3e..df190fd9ef80 100644
--- a/nixpkgs/pkgs/data/misc/v2ray-geoip/default.nix
+++ b/nixpkgs/pkgs/data/misc/v2ray-geoip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "v2ray-geoip";
-  version = "202112300030";
+  version = "202202170030";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "geoip";
-    rev = "570a09062b1b6dbd3b8cb1785c0ce4a0ed3c50f4";
-    sha256 = "sha256-YGKHruyVShFrMbE0eXzb2Qp3BMfM+4SLaK8pqR2sloM=";
+    rev = "ebc49c1ccbe7f267778ab42dbfa01d7ff8a5241c";
+    sha256 = "sha256-CxV7jKNeaSW7lVBKKr7Ih2XAehnFcapkyDogd5V32Zk=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
index 28737253af5e..735dfdb4f81b 100644
--- a/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
+++ b/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
@@ -63,8 +63,9 @@ let
         '';
 
       meta = {
-        homepage = "http://wiki.docbook.org/topic/DocBookXslStylesheets";
+        homepage = "https://github.com/docbook/wiki/wiki/DocBookXslStylesheets";
         description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
+        license = lib.licenses.mit;
         maintainers = [ lib.maintainers.eelco ];
         platforms = lib.platforms.all;
       };
diff --git a/nixpkgs/pkgs/data/themes/artim-dark/default.nix b/nixpkgs/pkgs/data/themes/artim-dark/default.nix
new file mode 100644
index 000000000000..9485f46b19a9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/themes/cdetheme/default.nix b/nixpkgs/pkgs/data/themes/cdetheme/default.nix
deleted file mode 100644
index a2d6568b9a87..000000000000
--- a/nixpkgs/pkgs/data/themes/cdetheme/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages }:
-
-stdenv.mkDerivation rec {
-  pname = "cdetheme";
-  version = "1.3";
-
-  src = fetchFromGitHub {
-    owner = "josvanr";
-    repo = "cde-motif-theme";
-    rev = version;
-    sha256 = "1v5c4db69cmzdci8xxlkx3s3cifg1h5160qq5siwfps0sj7pvggj";
-  };
-
-  dontBuild = true;
-
-  pythonPath = with python2Packages; [ pyqt4 pillow pyxdg pyyaml ];
-  nativeBuildInputs = with python2Packages; [ python wrapPython ];
-
-  installPhase = ''
-    mkdir -p $out/share/themes
-    cp -r cdetheme $out/share/themes
-    patchShebangs $out/share/themes/cdetheme/scripts/switchtheme
-    wrapPythonProgramsIn "$out/share/themes/cdetheme/scripts" "$out $pythonPath"
-  '';
-
-  meta = with lib; {
-    description = "Gtk2 / Gtk3 theme mimicking CDE / Motif";
-    homepage = "https://www.gnome-look.org/p/1231025";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ];
-    hydraPlatforms = [];
-  };
-}
diff --git a/nixpkgs/pkgs/data/themes/flat-remix-gtk/default.nix b/nixpkgs/pkgs/data/themes/flat-remix-gtk/default.nix
index 68a98337abc6..59b2714285ed 100644
--- a/nixpkgs/pkgs/data/themes/flat-remix-gtk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix b/nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix
new file mode 100644
index 000000000000..0c9bae8ac31e
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix
@@ -0,0 +1,95 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gnome-themes-extra
+, gtk-engine-murrine
+, jdupes
+, sassc
+, themeVariants ? [] # default: blue
+, colorVariants ? [] # default: all
+, sizeVariants ? [] # default: standard
+, tweaks ? []
+, wallpapers ? false
+, withGrub ? false
+, grubScreens ? [] # default: 1080p
+}:
+
+let
+  pname = "graphite-gtk-theme";
+
+in
+lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "blue" "all" ] themeVariants
+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-02-04";
+
+  src = fetchFromGitHub {
+    owner = "vinceliuice";
+    repo = pname;
+    rev = "7ab6a1b7eda81e914405a9931408b1d5c73e6891";
+    sha256 = "09xixd6cz2iyyyg6vskyk0wj2mahfsg21dlfcvi862h8w01hg9lr";
+  };
+
+  nativeBuildInputs = [
+    jdupes
+    sassc
+  ];
+
+  buildInputs = [
+    gnome-themes-extra
+  ];
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    patchShebangs install.sh
+
+    name= ./install.sh \
+      ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \
+      ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \
+      ${lib.optionalString (sizeVariants != []) "--size " + builtins.toString sizeVariants} \
+      ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \
+      --dest $out/share/themes
+
+    ${lib.optionalString wallpapers ''
+      mkdir -p $out/share/backgrounds
+      cp -a wallpaper/Graphite-normal/*.png $out/share/backgrounds/
+      ${lib.optionalString (builtins.elem "nord" tweaks) ''
+        cp -a wallpaper/Graphite-nord/*.png $out/share/backgrounds/
+      ''}
+    ''}
+
+    ${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
+  '';
+
+  meta = with lib; {
+    description = "Flat Gtk+ theme based on Elegant Design";
+    homepage = "https://github.com/vinceliuice/Graphite-gtk-theme";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/graphite-kde-theme/default.nix b/nixpkgs/pkgs/data/themes/graphite-kde-theme/default.nix
new file mode 100644
index 000000000000..dd3a215a0385
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/graphite-kde-theme/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "graphite-kde-theme";
+  version = "2022-02-08";
+
+  src = fetchFromGitHub {
+    owner = "vinceliuice";
+    repo = pname;
+    rev = version;
+    sha256 = "0pnn5s1vfdgkpsy5sc838731ly1imi8pbyd4asibw4zi238l0nvf";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    patchShebangs install.sh
+
+    substituteInPlace install.sh \
+      --replace '$HOME/.local' $out \
+      --replace '$HOME/.config' $out/share
+
+    name= ./install.sh --dest $out/share/themes
+
+    mkdir -p $out/share/sddm/themes
+    cp -a sddm/Graphite $out/share/sddm/themes/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A flat Design theme for KDE Plasma desktop";
+    homepage = "https://github.com/vinceliuice/Graphite-kde-theme";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix b/nixpkgs/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix
new file mode 100644
index 000000000000..06b0e32d1b7a
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, wrapQtAppsHook
+, kwin
+, kdelibs4support
+, libepoxy
+, libXdmcp
+, lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kde-rounded-corners";
+  version = "unstable-2021-11-06";
+
+  src = fetchFromGitHub {
+    owner = "matinlotfali";
+    repo = "KDE-Rounded-Corners";
+    rev = "8ad8f5f5eff9d1625abc57cb24dc484d51f0e1bd";
+    sha256 = "0xbskf7jd03d2invfz1nnfc82klzvc784snw539n4kn6c6rc381p";
+  };
+
+  postConfigure = ''
+    substituteInPlace cmake_install.cmake \
+      --replace "${kdelibs4support}" "$out"
+  '';
+
+  nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ];
+  buildInputs = [ kwin kdelibs4support libepoxy libXdmcp ];
+
+  meta = with lib; {
+    description = "Rounds the corners of your windows";
+    homepage = "https://github.com/matinlotfali/KDE-Rounded-Corners";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ flexagoon ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/lightly-qt/default.nix b/nixpkgs/pkgs/data/themes/lightly-qt/default.nix
new file mode 100644
index 000000000000..7b653d952424
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/lightly-qt/default.nix
@@ -0,0 +1,42 @@
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, kdecoration
+, plasma-workspace
+, qtbase
+, qt5
+}:
+
+mkDerivation rec {
+  pname = "lightly-qt";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "Luwx";
+    repo = "Lightly";
+    rev = "v${version}";
+    sha256 = "0qkjzgjplgwczhk6959iah4ilvazpprv7yb809jy75kkp1jw8mwk";
+  };
+
+  buildInputs = [
+    kdecoration
+    plasma-workspace
+    qtbase
+    qt5.qtx11extras
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  meta = with lib; {
+    description = "A fork of breeze theme style that aims to be visually modern and minimalistic";
+    homepage = "https://github.com/Luwx/Lightly";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.pwoelfel ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/marwaita/default.nix b/nixpkgs/pkgs/data/themes/marwaita/default.nix
index 7a1b79d6d97c..a01177632b55 100644
--- a/nixpkgs/pkgs/data/themes/marwaita/default.nix
+++ b/nixpkgs/pkgs/data/themes/marwaita/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita";
-  version = "12.0";
+  version = "13.0";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "10mf1cbm6a9k0b1vcafy3jb7kicpvnf6xqmn1dfxwsq3k81mmy7d";
+    sha256 = "sha256-aP/zPM7M8Oru/2AA8w6rKU/AVJJ0bAEC01C60yi2SbM=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/data/themes/material-kwin-decoration/default.nix b/nixpkgs/pkgs/data/themes/material-kwin-decoration/default.nix
index f5dccefbc139..3716fb79368f 100644
--- a/nixpkgs/pkgs/data/themes/material-kwin-decoration/default.nix
+++ b/nixpkgs/pkgs/data/themes/material-kwin-decoration/default.nix
@@ -16,7 +16,7 @@
 
 mkDerivation rec {
   pname = "material-kwin-decoration";
-  version = "unstable-20211028";
+  version = "unstable-2021-10-28";
 
   src = fetchFromGitHub {
     owner = "Zren";
@@ -25,6 +25,11 @@ mkDerivation rec {
     sha256 = "sha256-aYlnPFhf+ISVe5Ycryu5BSXY8Lb5OoueMqnWQZiv6Lc=";
   };
 
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "-Werror" ""
+  '';
+
   nativeBuildInputs = [ cmake extra-cmake-modules ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/data/themes/mojave/default.nix b/nixpkgs/pkgs/data/themes/mojave/default.nix
index bf2014344a6e..56d7dfcf3752 100644
--- a/nixpkgs/pkgs/data/themes/mojave/default.nix
+++ b/nixpkgs/pkgs/data/themes/mojave/default.nix
@@ -10,24 +10,42 @@
 , optipng
 , sassc
 , which
+, buttonSizeVariants ? [] # default to standard
+, buttonVariants ? [] # default to all
+, colorVariants ? [] # default to all
+, opacityVariants ? [] # default to all
+, themeVariants ? [] # default to MacOS blue
+, wallpapers ? false
 }:
 
-stdenv.mkDerivation rec {
+let
   pname = "mojave-gtk-theme";
-  version = "2021-07-20";
+in
+lib.checkListOfEnum "${pname}: button size variants" [ "standard" "small" ] buttonSizeVariants
+lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants
+lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants
+lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants
+lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants
+
+stdenv.mkDerivation rec {
+  inherit pname;
+  version = "unstable-2021-12-20";
 
   srcs = [
     (fetchFromGitHub {
       owner = "vinceliuice";
       repo = pname;
-      rev = version;
-      sha256 = "08j70kmjhvh06c3ahcracarrfq4vpy0zsp6zkcivbw4nf3bzp2zc";
+      rev = "c148646ccab382f7a2d5fdc421fc32d843cb4172";
+      sha256 = "sha256-h4MSSh8cu9M81bM+WJSyl1SQ7CVth1DvjIVOUJXqpxs";
     })
+  ]
+  ++
+  lib.optional wallpapers
     (fetchurl {
       url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz";
       sha256 = "18zzkwm1kqzsdaj8swf0xby1n65gxnyslpw4lnxcx1rphip0rwf7";
     })
-  ];
+  ;
 
   sourceRoot = "source";
 
@@ -76,9 +94,23 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    name= ./install.sh --theme all --dest $out/share/themes
-    install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
-    jdupes -l -r $out/share
+
+    name= ./install.sh \
+      ${lib.optionalString (buttonSizeVariants != []) "--small " + builtins.toString buttonSizeVariants} \
+      ${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \
+      ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \
+      ${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \
+      ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \
+      --dest $out/share/themes
+
+    ${lib.optionalString wallpapers ''
+      install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
+    ''}
+
+    # Replace duplicate files with hardlinks to the first file in each
+    # set of duplicates, reducing the installed size in about 53%
+    jdupes -L -r $out/share
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/data/themes/nordic/default.nix b/nixpkgs/pkgs/data/themes/nordic/default.nix
index 8d41ce5e38df..a2a518d3f0a0 100644
--- a/nixpkgs/pkgs/data/themes/nordic/default.nix
+++ b/nixpkgs/pkgs/data/themes/nordic/default.nix
@@ -1,77 +1,84 @@
-{ lib, stdenv, fetchFromGitHub, gtk-engine-murrine }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, gtk-engine-murrine
+, jdupes
+}:
 
 stdenv.mkDerivation rec {
   pname = "nordic";
-  version = "2.1.0";
+  version = "unstable-2022-01-08";
 
   srcs = [
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "0112af91943b8819f7a1af9a508cda7fe3d74051";
-      sha256 = "sha256-ccOA5/jXTx20495NpTgVu7DvsjfTEULqL3IyJ+Pd/ug";
+      rev = "85086324c2a8fa7ca538b85ad0681e03733b2c86";
+      sha256 = "sha256-p1nr71iJZm+2123WF67NkunBX2dR4ruK2Afqd7XdeGc=";
       name = "Nordic";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "b30d2c844cc6ef5d020308f1c02791de45b607a7";
-      sha256 = "sha256-g5yCCFXzipZLmUat+1r6QWHB7DWQvMKhMexHPV/DJHM";
+      rev = "46c9e6665963ccb54938d7730e520bd8c52f4307";
+      sha256 = "sha256-uFnNLshyKOvzaij7tEKb0fw0j3/GGfzznAf/aaKx7XI=";
       name = "Nordic-standard-buttons";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "6d38d6af363528f42619f663e3ecd4c08dfd2411";
-      sha256 = "sha256-jaRiSE6yfTltzZ2vr8w4d+YtSz7REOcL7vOOhQvIMlQ";
+      rev = "da5c930386427fce65ea185f164709c8a20e362f";
+      sha256 = "sha256-Ee9ymuMWs2ZgU+8FVLaviGtHMT4Sz5NWLaEGln2Z4V0=";
       name = "Nordic-darker";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "4142817c14c27b371d42796445bedc84dc94672c";
-      sha256 = "sha256-FAb1+EREcwYrfSxAl6LrPaJtkHMt67NV3bG87g1cFT4";
+      rev = "fd85fb2712ac1192e35c92149b75bfc3c440b1c7";
+      sha256 = "sha256-6WUQBeNq7EKNkYcCt/fUYloue90gxfp8bDYawkQQ6ss=";
       name = "Nordic-darker-standard-buttons";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "2a91d6f3db70412b0a80ed33546fbe93075627d8";
-      sha256 = "sha256-Su+amS7moc2IDONNvqw3bjL6Q0WLJWzHu6WvfcVDcDY";
+      rev = "259e30ce13566214c7594b038dd2c240648a07a0";
+      sha256 = "sha256-F6hC6XbT9yJl6SW9qJNlwmmBcvOrOS5yPCQALZFhgbM=";
       name = "Nordic-bluish-accent";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = pname;
-      rev = "3ebd334f97d638fdc888b16d69851e3ee31131f2";
-      sha256 = "sha256-h0IXtWcdDvAEVi/1cLZF4Vacdl6VAY+5uo0LGPNe0bg";
+      rev = "2a27051d87558dfa595fb94eff34241d3a1b8c30";
+      sha256 = "sha256-JIld6GVtr1tz02Do2Ft92qtza6iGrPapasd6jmMFG6k=";
       name = "Nordic-bluish-accent-standard-buttons";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = "${pname}-polar";
-      rev = "803926882f8178c72b433466a377aaa33c5b372a";
-      sha256 = "sha256-G7Vu03PoFOEU9uxb5JiHR4Tr8qk47fPo7Gg7Vt9Zzns";
+      rev = "0bea76aed39bb2a2669278b8403c4129aa47be0f";
+      sha256 = "sha256-OXmz6uHXh1zl93sgv5WEwARkEUCr4PRh0/mJyMLXpnk=";
       name = "Nordic-Polar";
     })
 
     (fetchFromGitHub {
       owner = "EliverLara";
       repo = "${pname}-polar";
-      rev = "988cb8a16ece3901b8b0e7a5b86503400491cb1e";
-      sha256 = "sha256-Zx1mrzJm5o4wQwOR8ZU2OEcjD3/6UXwLrBYpMtCkQbg";
+      rev = "8fe52b6c276a7e548e87a558db6734cf9f003b06";
+      sha256 = "sha256-/IxlBvMLAK+mGRyaa7bTv/oZS24nSNeE5GsyJIeN6UU=";
       name = "Nordic-Polar-standard-buttons";
     })
   ];
 
   sourceRoot = ".";
 
+  nativeBuildInputs = [ jdupes ];
+
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
   installPhase = ''
@@ -101,6 +108,10 @@ stdenv.mkDerivation rec {
     mv -v $out/share/themes/Nordic/kde/sddm/* $out/share/sddm/themes/Nordic/
     rm -rf $out/share/themes/Nordic/kde
 
+    # Replace duplicate files with hardlinks to the first file in each
+    # set of duplicates, reducing the installed size in about 65%
+    jdupes -L -r $out/share
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/data/themes/orchis-theme/default.nix b/nixpkgs/pkgs/data/themes/orchis-theme/default.nix
index ef7f88e3e955..ccaee7f65522 100644
--- a/nixpkgs/pkgs/data/themes/orchis-theme/default.nix
+++ b/nixpkgs/pkgs/data/themes/orchis-theme/default.nix
@@ -6,6 +6,7 @@
 , gtk-engine-murrine
 , sassc
 , tweaks ? [ ] # can be "solid" "compact" "black" "primary"
+, withWallpapers ? false
 }:
 
 let
@@ -20,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 ];
@@ -42,6 +43,10 @@ rec {
   installPhase = ''
     runHook preInstall
     bash install.sh -d $out/share/themes -t all ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks}
+    ${lib.optionalString withWallpapers ''
+      mkdir -p $out/share/backgrounds
+      cp src/wallpaper/{1080p,2k,4k}.jpg $out/share/backgrounds
+    ''}
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/data/themes/pitch-black/default.nix b/nixpkgs/pkgs/data/themes/pitch-black/default.nix
new file mode 100644
index 000000000000..95037f90239e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/themes/plano/default.nix b/nixpkgs/pkgs/data/themes/plano/default.nix
index 9f05a1991935..c321dc235c49 100644
--- a/nixpkgs/pkgs/data/themes/plano/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/themes/sierra/default.nix b/nixpkgs/pkgs/data/themes/sierra/default.nix
index d3fbb5fe7885..e87f64661419 100644
--- a/nixpkgs/pkgs/data/themes/sierra/default.nix
+++ b/nixpkgs/pkgs/data/themes/sierra/default.nix
@@ -1,26 +1,67 @@
-{ lib, stdenv, fetchFromGitHub, libxml2, gdk-pixbuf, librsvg, gtk-engine-murrine }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, gdk-pixbuf
+, gtk-engine-murrine
+, jdupes
+, librsvg
+, libxml2
+, buttonVariants ? [] # default to all
+, colorVariants ? [] # default to all
+, opacityVariants ? [] # default to all
+, sizeVariants ? [] # default to all
+}:
 
-stdenv.mkDerivation rec {
+let
   pname = "sierra-gtk-theme";
-  version = "2019-12-16";
+in
+lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants
+lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants
+lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants
+lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants
+
+stdenv.mkDerivation {
+  inherit pname;
+  version = "unstable-2021-05-24";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
-    rev = version;
-    sha256 = "14hlz8kbrjypyd6wyrwmnj2wm9w3kc8y00ms35ard7x8lmhs56hr";
+    rev = "05899001c4fc2fec87c4d222cb3997c414e0affd";
+    sha256 = "174l5mryc34ma1r42pk6572c6i9hmzr9vj1a6w06nqz5qcfm1hds";
   };
 
-  nativeBuildInputs = [ libxml2 ];
+  nativeBuildInputs = [
+    jdupes
+    libxml2
+  ];
 
-  buildInputs = [ gdk-pixbuf librsvg ];
+  buildInputs = [
+    gdk-pixbuf
+    librsvg
+  ];
 
-  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
 
   installPhase = ''
-    patchShebangs .
+    runHook preInstall
+
+    patchShebangs install.sh
+
     mkdir -p $out/share/themes
-    name= ./install.sh --dest $out/share/themes
+    name= ./install.sh --dest $out/share/themes \
+      ${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \
+      ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \
+      ${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \
+      ${lib.optionalString (sizeVariants != []) "--flat " + builtins.toString sizeVariants}
+
+    # Replace duplicate files with hardlinks to the first file in each
+    # set of duplicates, reducing the installed size in about 79%
+    jdupes -L -r $out/share
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/data/themes/stilo/default.nix b/nixpkgs/pkgs/data/themes/stilo/default.nix
index bfcda0493294..6401c0e28694 100644
--- a/nixpkgs/pkgs/data/themes/stilo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/themes/zuki/default.nix b/nixpkgs/pkgs/data/themes/zuki/default.nix
index 098edf6cc2e1..d557e151d264 100644
--- a/nixpkgs/pkgs/data/themes/zuki/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/arcan/xarcan/default.nix b/nixpkgs/pkgs/desktops/arcan/xarcan/default.nix
index 6245471a7efd..d72bf4ad5bb3 100644
--- a/nixpkgs/pkgs/desktops/arcan/xarcan/default.nix
+++ b/nixpkgs/pkgs/desktops/arcan/xarcan/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , arcan
 , audit
 , dbus
@@ -46,6 +47,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-UTIVDKnYD/q0K6G7NJUKh1tHcqnsuiJ/cQxWuPMJ2G4=";
   };
 
+  patches = [
+    # fix build with meson 0.60
+    (fetchpatch {
+      url = "https://github.com/letoram/xarcan/commit/b67e514dbb59bffc23b75d47ca7f24e96c4aeb05.patch";
+      sha256 = "sha256-tSQmNy1Id6nDIN+03dc1+rEEF8fMq0yJBiscNM60xic=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/nixpkgs/pkgs/desktops/cdesktopenv/default.nix b/nixpkgs/pkgs/desktops/cdesktopenv/default.nix
index 7715f4f232ad..71b661f1265b 100644
--- a/nixpkgs/pkgs/desktops/cdesktopenv/default.nix
+++ b/nixpkgs/pkgs/desktops/cdesktopenv/default.nix
@@ -46,6 +46,8 @@ in stdenv.mkDerivation rec {
     bison ncompress gawk autoPatchelfHook makeWrapper fakeroot
     rpcsvc-proto
   ];
+  # build fails otherwise
+  enableParallelBuilding = false;
 
   makeFlags = [
     "World"
diff --git a/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix b/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
index 9a0e054fd81e..e8bf145e5028 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "5.2.0";
+  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;
-    hash = "sha256-ehcqRlI1d/KWNas36dz+hb7KU1H8wtQHTpg2fz1XdXU=";
+    sha256 = "sha256-v63dFiBKtLCmRnwJ6u814lSv+tfPG+IIJtcWCnOEZjk=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix b/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
index dfde8773ec06..7927026166a1 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix b/nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix
index e8fb0f1f5c99..5f5720c253b0 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/xviewer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/enlightenment/default.nix b/nixpkgs/pkgs/desktops/enlightenment/default.nix
index 80b4eb58ab57..34b0ae86e4e2 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/default.nix
@@ -8,8 +8,9 @@
 
   #### APPLICATIONS
   econnman = callPackage ./econnman { };
+  ecrire = callPackage ./ecrire { };
+  ephoto = callPackage ./ephoto { };
   evisum = callPackage ./evisum { };
-  terminology = callPackage ./terminology { };
   rage = callPackage ./rage { };
-  ephoto = callPackage ./ephoto { };
+  terminology = callPackage ./terminology { };
 }
diff --git a/nixpkgs/pkgs/desktops/enlightenment/ecrire/default.nix b/nixpkgs/pkgs/desktops/enlightenment/ecrire/default.nix
new file mode 100644
index 000000000000..d152c943d581
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/enlightenment/ecrire/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, efl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ecrire";
+  version = "0.2.0";
+
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1pszk583rzclfqy3dyjh1m9pz1hnr84vqz8vw9kngcnmj23mjr6r";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    efl
+  ];
+
+  meta = with lib; {
+    description = "EFL simple text editor";
+    homepage = "https://www.enlightenment.org/";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/enlightenment/efl/default.nix b/nixpkgs/pkgs/desktops/enlightenment/efl/default.nix
index 7e716ddb5c13..7ab1bd79c30a 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/efl/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/efl/default.nix
@@ -56,11 +56,11 @@
 
 stdenv.mkDerivation rec {
   pname = "efl";
-  version = "1.25.1";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0svybbrvpf6q955y6fclxh3md64z0dgmh0x54x2j60503hhs071m";
+    sha256 = "071h0pscbd8g341yy5rz9mk1xn8yhryldhl6mmr1y6lafaycyy99";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/enlightenment/enlightenment/0001-wrapped-setuid-executables.patch b/nixpkgs/pkgs/desktops/enlightenment/enlightenment/0001-wrapped-setuid-executables.patch
index 55a3501ef8b9..16e02311ed66 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/enlightenment/0001-wrapped-setuid-executables.patch
+++ b/nixpkgs/pkgs/desktops/enlightenment/enlightenment/0001-wrapped-setuid-executables.patch
@@ -1,4 +1,4 @@
-From a1e54ae0097a3b6a0dabf4639fe8bc594c4f602d Mon Sep 17 00:00:00 2001
+From 2c563889fcad37df4ee4251bf0a63316d8b7b612 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
 Date: Thu, 14 May 2020 16:36:34 -0300
 Subject: [PATCH] wrapped setuid executables
@@ -11,9 +11,9 @@ instead.
  meson/meson_inst.sh           | 4 ++--
  src/bin/e_auth.c              | 6 ++----
  src/bin/e_fm/e_fm_main_eeze.c | 6 +++---
- src/bin/e_start_main.c        | 2 +-
+ src/bin/e_start_main.c        | 3 +--
  src/bin/e_system.c            | 2 +-
- 5 files changed, 9 insertions(+), 11 deletions(-)
+ 5 files changed, 9 insertions(+), 12 deletions(-)
 
 diff --git a/meson/meson_inst.sh b/meson/meson_inst.sh
 index 321143e40..cd2399306 100755
@@ -29,11 +29,11 @@ index 321143e40..cd2399306 100755
 +	echo TODO: chmod a=rx,u+xs "$DESTDIR/$x"
  done
 diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c
-index 8b0aa6641..63c68c4bc 100644
+index 6d07a0ac3..d519f0649 100644
 --- a/src/bin/e_auth.c
 +++ b/src/bin/e_auth.c
-@@ -12,8 +12,7 @@ e_auth_begin(char *passwd)
-    if (pwlen == 0) goto out;
+@@ -38,8 +38,7 @@ e_auth_begin(char *passwd)
+    pwlen = strlen(passwd);
  
     snprintf(buf, sizeof(buf),
 -            "%s/enlightenment/utils/enlightenment_ckpasswd pw",
@@ -41,9 +41,9 @@ index 8b0aa6641..63c68c4bc 100644
 +            "/run/wrappers/bin/enlightenment_ckpasswd pw");
     exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL);
     if (!exe) goto out;
-    if (ecore_exe_send(exe, passwd, pwlen) != EINA_TRUE) goto out;
-@@ -47,8 +46,7 @@ e_auth_polkit_begin(char *passwd, const char *cookie, unsigned int uid)
-    if (pwlen == 0) goto out;
+    snprintf(buf, sizeof(buf), "pw %s", passwd);
+@@ -75,8 +74,7 @@ e_auth_polkit_begin(char *passwd, const char *cookie, unsigned int uid)
+    pwlen = strlen(passwd);
  
     snprintf(buf, sizeof(buf),
 -            "%s/enlightenment/utils/enlightenment_ckpasswd pk",
@@ -84,23 +84,24 @@ index 9b10b3117..0f0aa5b53 100644
       }
     v->guard = ecore_timer_loop_add(E_FM_MOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_mount_timeout, v);
 diff --git a/src/bin/e_start_main.c b/src/bin/e_start_main.c
-index 8534a7a8e..f0f0061a4 100644
+index 722063339..ee85aa9f1 100644
 --- a/src/bin/e_start_main.c
 +++ b/src/bin/e_start_main.c
-@@ -709,7 +709,7 @@ main(int argc, char **argv)
-             "E_ALERT_FONT_DIR=%s/data/fonts", eina_prefix_data_get(pfx));
+@@ -596,8 +596,7 @@ main(int argc, char **argv)
+               eina_prefix_data_get(pfx));
     putenv(buf2);
-    snprintf(buf3, sizeof(buf3),
--            "E_ALERT_SYSTEM_BIN=%s/enlightenment/utils/enlightenment_system", eina_prefix_lib_get(pfx));
-+            "E_ALERT_SYSTEM_BIN=/run/wrappers/bin/enlightenment_system");
+    myasprintf(&buf3,
+-              "E_ALERT_SYSTEM_BIN=%s/enlightenment/utils/enlightenment_system",
+-              eina_prefix_lib_get(pfx));
++              "E_ALERT_SYSTEM_BIN=/run/wrappers/bin/enlightenment_system");
     putenv(buf3);
  
-    if ((valgrind_mode || valgrind_tool) &&
+    home = getenv("HOME");
 diff --git a/src/bin/e_system.c b/src/bin/e_system.c
-index 1e7aabb64..5084933a1 100644
+index bfd43e7e2..6bf48e31f 100644
 --- a/src/bin/e_system.c
 +++ b/src/bin/e_system.c
-@@ -132,7 +132,7 @@ _system_spawn(void)
+@@ -133,7 +133,7 @@ _system_spawn(void)
     else _respawn_count = 0;
     if (_respawn_count > 5) return;
     snprintf(buf, sizeof(buf),
@@ -110,5 +111,5 @@ index 1e7aabb64..5084933a1 100644
       (buf, ECORE_EXE_NOT_LEADER | ECORE_EXE_TERM_WITH_PARENT |
        ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_WRITE, NULL);
 -- 
-2.26.2
+2.34.0
 
diff --git a/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix b/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix
index 76beac1392d8..3fe63ade488c 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/enlightenment/default.nix
@@ -9,6 +9,7 @@
 , bc
 , ddcutil
 , efl
+, libexif
 , pam
 , xkeyboard_config
 , udisks2
@@ -20,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "enlightenment";
-  version = "0.24.2";
+  version = "0.25.3";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1wfz0rwwsx7c1mkswn4hc9xw1i6bsdirhxiycf7ha2vcipqy465y";
+    sha256 = "1xngwixp0cckfq3jhrdmmk6zj67125amr7g6xwc6l89pnpmlkz9p";
   };
 
   nativeBuildInputs = [
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
     bc # for the Everything module calculator mode
     ddcutil # specifically libddcutil.so.2 for backlight control
     efl
+    libexif
     pam
     xkeyboard_config
     udisks2 # for removable storage mounting/unmounting
diff --git a/nixpkgs/pkgs/desktops/enlightenment/ephoto/default.nix b/nixpkgs/pkgs/desktops/enlightenment/ephoto/default.nix
index 2da7df3728da..7e06122c4a9d 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/ephoto/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/ephoto/default.nix
@@ -1,30 +1,36 @@
-{ lib, stdenv, fetchurl, pkg-config, efl, pcre, mesa, makeWrapper }:
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, efl
+}:
 
 stdenv.mkDerivation rec {
   pname = "ephoto";
-  version = "1.5";
+  version = "1.6.0";
 
   src = fetchurl {
-    url = "http://www.smhouston.us/stuff/${pname}-${version}.tar.gz";
-    sha256 = "09kraa5zz45728h2dw1ssh23b87j01bkfzf977m48y1r507sy3vb";
+    url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1lvhcs4ba8h3z78nyycbww8mj4cscb8k200dcc3cdy8vrvrp7g1n";
   };
 
   nativeBuildInputs = [
+    meson
+    ninja
     pkg-config
-    mesa.dev # otherwise pkg-config does not find gbm
-    makeWrapper
   ];
 
   buildInputs = [
     efl
-    pcre
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Image viewer and editor written using the Enlightenment Foundation Libraries";
-    homepage = "https://smhouston.us/projects/ephoto/";
-    license = lib.licenses.bsd2;
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.romildo ];
+    homepage = "https://www.smhouston.us/ephoto/";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/enlightenment/evisum/default.nix b/nixpkgs/pkgs/desktops/enlightenment/evisum/default.nix
index 4e21bc67910b..0d9837f8d0c1 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/evisum/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/evisum/default.nix
@@ -1,12 +1,19 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, efl }:
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, efl
+}:
 
 stdenv.mkDerivation rec {
   pname = "evisum";
-  version = "0.5.13";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "https://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-TMVxx7D9wdujyN6PcbIxC8M6zby5myvxO9AqolrcWOY=";
+    sha256 = "1ip3rmp0hcn0pk6lv089cayx18p1b2wycgvwpnf7ghbdxg7n4q15";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/enlightenment/rage/default.nix b/nixpkgs/pkgs/desktops/enlightenment/rage/default.nix
index ac3eb796388f..40e0f6aef949 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/rage/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/rage/default.nix
@@ -1,19 +1,27 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, efl, gst_all_1, pcre, mesa, wrapGAppsHook }:
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, efl
+, gst_all_1
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "rage";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "04fdk23bbgvni212zrfy4ndg7vmshbsjgicrhckdvhay87pk9i75";
+    sha256 = "03yal7ajh57x2jhmygc6msf3gzvqkpmzkqzj6dnam5sim8cq9rbw";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    mesa.dev
     wrapGAppsHook
   ];
 
@@ -24,14 +32,13 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-libav
-    pcre
   ];
 
-  meta = {
-    description = "Video + Audio player along the lines of mplayer";
+  meta = with lib; {
+    description = "Video and audio player along the lines of mplayer";
     homepage = "https://enlightenment.org/";
-    maintainers = with lib.maintainers; [ matejc ftrvxmtrx romildo ];
-    platforms = lib.platforms.linux;
-    license = lib.licenses.bsd2;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ matejc ftrvxmtrx romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/enlightenment/terminology/default.nix b/nixpkgs/pkgs/desktops/enlightenment/terminology/default.nix
index 10b97436b911..a2e4f717f481 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/terminology/default.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/terminology/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3, efl, pcre, mesa }:
+{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3, efl }:
 
 stdenv.mkDerivation rec {
   pname = "terminology";
-  version = "1.11.0";
+  version = "1.12.1";
 
   src = fetchurl {
     url = "https://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0bbav27p1xni7kidgf3vn42bwsfrzds301k3f7c8dg7v5yyq9n2g";
+    sha256 = "1aasddf2343qj798b5s8qwif3lxj4pyjax6fa9sfi6if9icdkkpq";
   };
 
   nativeBuildInputs = [
@@ -18,12 +18,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     efl
-    pcre
-    mesa
-  ];
-
-  mesonFlags = [
-    "-D edje-cc=${efl}/bin/edje_cc"
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-2/bindings/libglademm/default.nix b/nixpkgs/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
deleted file mode 100644
index b997a9ddd1a3..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkg-config, intltool, gtkmm2, libglade }:
-
-stdenv.mkDerivation rec {
-  name = "libglademm-2.6.7";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libglademm/2.6/${name}.tar.bz2";
-    sha256 = "1hrbg9l5qb7w0xvr7013qamkckyj0fqc426c851l69zpmhakqm1q";
-  };
-
-  outputs = [ "out" "devdoc" ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ intltool ];
-
-  propagatedBuildInputs = [ gtkmm2 libglade ];
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-2/default.nix b/nixpkgs/pkgs/desktops/gnome-2/default.nix
index 722168632062..a8ff7b58ed30 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/default.nix
@@ -49,7 +49,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gtkhtml = callPackage ./platform/gtkhtml { enchant = pkgs.enchant1; };
 
-  gtkhtml4 = callPackage ./platform/gtkhtml/4.x.nix { enchant = pkgs.enchant1; };
+  gtkhtml4 = callPackage ./platform/gtkhtml/4.x.nix { enchant = pkgs.enchant2; };
 
   gtkglext = callPackage ./platform/gtkglext { };
 
@@ -62,12 +62,6 @@ lib.makeScope pkgs.newScope (self: with self; {
     autoreconfHook = pkgs.autoreconfHook269;
   };
 
-  vte = callPackage ./desktop/vte { };
-
-#### BINDINGS
-
-  libglademm = callPackage ./bindings/libglademm { };
-
 } // lib.optionalAttrs (config.allowAliases or true) {
   inherit (pkgs)
     # GTK Libs
@@ -91,4 +85,5 @@ lib.makeScope pkgs.newScope (self: with self; {
   gnome_icon_theme = self.gnome-icon-theme;
   gnomeicontheme = self.gnome-icon-theme;
   gnome_common = gnome-common;
+  libglademm = throw "libglademm has been removed"; # 2022-01-15
 })
diff --git a/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/alt.patch b/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/alt.patch
deleted file mode 100644
index 65c3ddf1fcf8..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/alt.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From a9d6a34708f846952f423d078397352858f7b1a4 Mon Sep 17 00:00:00 2001
-From: Christian Persch <chpe@gnome.org>
-Date: Sat, 12 May 2012 18:48:05 +0200
-Subject: [PATCH] keymap: Treat ALT as META
-
-https://bugzilla.gnome.org/show_bug.cgi?id=663779
----
- src/vte.c |   23 ++++++++++++++---------
- 1 files changed, 14 insertions(+), 9 deletions(-)
-
-diff --git a/src/vte.c b/src/vte.c
-index dd27e9a..0657921 100644
---- a/src/vte.c
-+++ b/src/vte.c
-@@ -5170,19 +5170,24 @@ static void
- vte_terminal_read_modifiers (VteTerminal *terminal,
- 			     GdkEvent *event)
- {
-+        GdkKeymap *keymap;
- 	GdkModifierType modifiers;
- 
- 	/* Read the modifiers. */
--	if (gdk_event_get_state((GdkEvent*)event, &modifiers)) {
--		GdkKeymap *keymap;
--#if GTK_CHECK_VERSION (2, 90, 8)
--                keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
--#else
--                keymap = gdk_keymap_get_for_display(gdk_drawable_get_display(((GdkEventAny*)event)->window));
-+	if (!gdk_event_get_state((GdkEvent*)event, &modifiers))
-+                return;
-+
-+        keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
-+
-+        gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
-+
-+#if 1
-+        /* HACK! Treat ALT as META; see bug #663779. */
-+        if (modifiers & GDK_MOD1_MASK)
-+                modifiers |= VTE_META_MASK;
- #endif
--                gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
--		terminal->pvt->modifiers = modifiers;
--	}
-+
-+        terminal->pvt->modifiers = modifiers;
- }
- 
- /* Read and handle a keypress event. */
--- 
-1.7.5.1.217.g4e3aa.dirty
\ No newline at end of file
diff --git a/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/change-scroll-region.patch b/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/change-scroll-region.patch
deleted file mode 100644
index 9e3e83b1262a..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/change-scroll-region.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-Index: vte-0.26.0/src/vte.c
-===================================================================
---- vte-0.26.0.orig/src/vte.c	2010-11-30 23:04:53.000000000 -0800
-+++ vte-0.26.0/src/vte.c	2010-12-07 20:05:07.865548000 -0800
-@@ -3862,6 +3862,7 @@ vte_terminal_process_incoming(VteTermina
- 	long wcount, start, delta;
- 	gboolean leftovers, modified, bottom, again;
- 	gboolean invalidated_text;
-+	gboolean in_scroll_region;
- 	GArray *unichars;
- 	struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
- 
-@@ -3881,6 +3882,10 @@ vte_terminal_process_incoming(VteTermina
- 	cursor = screen->cursor_current;
- 	cursor_visible = terminal->pvt->cursor_visible;
- 
-+	in_scroll_region = screen->scrolling_restricted
-+	    && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
-+	    && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
-+
- 	/* We should only be called when there's data to process. */
- 	g_assert(terminal->pvt->incoming ||
- 		 (terminal->pvt->pending->len > 0));
-@@ -3979,6 +3984,8 @@ skip_chunk:
- 		 * points to the first character which isn't part of this
- 		 * sequence. */
- 		if ((match != NULL) && (match[0] != '\0')) {
-+			gboolean new_in_scroll_region;
-+
- 			/* Call the right sequence handler for the requested
- 			 * behavior. */
- 			_vte_terminal_handle_sequence(terminal,
-@@ -3989,12 +3996,20 @@ skip_chunk:
- 			start = (next - wbuf);
- 			modified = TRUE;
- 
--			/* if we have moved during the sequence handler, restart the bbox */
-+			new_in_scroll_region = screen->scrolling_restricted
-+			    && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
-+			    && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
-+
-+			delta = screen->scroll_delta;	/* delta may have changed from sequence. */
-+
-+			/* if we have moved greatly during the sequence handler, or moved into a scroll_region
-+                         * from outside it, restart the bbox */
- 			if (invalidated_text &&
--					(screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
--					 screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK     ||
--					 screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
--					 screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
-+					((new_in_scroll_region && !in_scroll_region) ||
-+					 (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
-+					  screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK     ||
-+					  screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
-+					  screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
- 				/* Clip off any part of the box which isn't already on-screen. */
- 				bbox_topleft.x = MAX(bbox_topleft.x, 0);
- 				bbox_topleft.y = MAX(bbox_topleft.y, delta);
-@@ -4014,6 +4029,8 @@ skip_chunk:
- 				bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
- 				bbox_topleft.x = bbox_topleft.y = G_MAXINT;
- 			}
-+
-+			in_scroll_region = new_in_scroll_region;
- 		} else
- 		/* Second, we have a NULL match, and next points to the very
- 		 * next character in the buffer.  Insert the character which
diff --git a/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/default.nix b/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/default.nix
deleted file mode 100644
index 6ce8df2daf47..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-2/desktop/vte/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, intltool, pkg-config, glib, gtk2, ncurses
-, pythonSupport ? false, python27Packages}:
-
-let
-  inherit (python27Packages) python pygtk;
-in stdenv.mkDerivation rec {
-  name = "vte-0.28.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/vte/0.28/${name}.tar.bz2";
-    sha256 = "00zrip28issgmz2cqk5k824cbqpbixi5x7k88zxksdqpnq1f414d";
-  };
-
-  patches = [
-    ./alt.patch
-    ./change-scroll-region.patch
-    # CVE-2012-2738
-    # fixed in upstream version 0.32.2
-    (fetchpatch{
-      name = "CVE-2012-2738-1.patch";
-      url = "https://gitlab.gnome.org/GNOME/vte/commit/feeee4b5832b17641e505b7083e0d299fdae318e.patch";
-      sha256 = "1455i6zxcx4rj2cz639s8qdc04z2nshprwl7k00mcsw49gv3hk5n";
-    })
-    (fetchpatch{
-      name = "CVE-2012-2738-2.patch";
-      url = "https://gitlab.gnome.org/GNOME/vte/commit/98ce2f265f986fb88c38d508286bb5e3716b9e74.patch";
-      sha256 = "0n24vw49h89w085ggq23iwlnnb6ajllfh2dg4vsar21d82jxc0sn";
-    })
-  ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ intltool glib gtk2 ncurses ] ++
-                lib.optionals pythonSupport [python pygtk];
-
-  configureFlags = [
-    (lib.enableFeature pythonSupport "python")
-  ];
-
-  postInstall = lib.optionalString pythonSupport ''
-    cd $(toPythonPath $out)/gtk-2.0
-    for n in *; do
-      ln -s "gtk-2.0/$n" "../$n"
-    done
-  '';
-
-  meta = {
-    homepage = "https://www.gnome.org/";
-    description = "A library implementing a terminal emulator widget for GTK";
-    longDescription = ''
-      VTE is a library (libvte) implementing a terminal emulator widget for
-      GTK, and a minimal sample application (vte) using that.  Vte is
-      mainly used in gnome-terminal, but can also be used to embed a
-      console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
-      character set conversion, as well as emulating any terminal known to
-      the system's terminfo database.
-    '';
-    license = lib.licenses.lgpl2;
-    maintainers = with lib.maintainers; [ astsmtl ];
-    platforms = with lib.platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix
index d8e1ea7108ee..580d0a8cc829 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/platform/gtkhtml/4.x.nix
@@ -1,16 +1,30 @@
-{ stdenv, fetchurl, pkg-config, gtk3, intltool
+{ stdenv, fetchFromGitLab, pkg-config, gtk3, intltool, autoreconfHook, fetchpatch
 , GConf, enchant, isocodes, gnome-icon-theme, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   version = "4.10.0";
   pname = "gtkhtml";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/gtkhtml/4.10/${pname}-${version}.tar.xz";
-    sha256 = "1hq6asgb5n9q3ryx2vngr4jyi8lg65lzpnlgrgcwayiczcj68fya";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "Archive";
+    repo = "gtkhtml";
+    rev = "master";
+    sha256 = "sha256-jL8YADvhW0o6I/2Uo5FNARMAnSbvtmFp+zWH1yCVvQk=";
   };
 
+  patches = [
+    # Enables enchant2 support.
+    # Upstream is dead, no further releases are coming.
+    (fetchpatch {
+      name ="enchant-2.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/enchant-2.patch?h=gtkhtml4&id=0218303a63d64c04d6483a6fe9bb55063fcfaa43";
+      sha256 = "f0OToWGHZwxvqf+0qosfA9FfwJ/IXfjIPP5/WrcvArI=";
+      extraPrefix = "";
+    })
+  ];
+
   propagatedBuildInputs = [ gsettings-desktop-schemas gtk3 gnome-icon-theme GConf ];
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ intltool enchant isocodes ];
+  buildInputs = [ intltool enchant isocodes autoreconfHook ];
 }
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/gedit/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/gedit/default.nix
index a6748dfc4174..b8783e4db462 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/gedit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/apps/gnome-boxes/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
index 91711ecb28f6..29b08aa3c1ed 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
@@ -55,11 +55,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  version = "41.2";
+  version = "41.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "u3G2zflFOBjyblV0Tl5ZUN2TJ5PQ6Ot+n/h78Mvvwz0=";
+    sha256 = "m4QGgNHnOG/d/WoVrU3Q8s2ljv6BjPVHg3tGrovw4Yk=";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 8fd993080693..5d90cefdff39 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index f3dde6585aeb..32a7a2fb3435 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitLab
 , fetchpatch
 , meson
 , ninja
@@ -16,21 +16,25 @@
 , libpeas
 , gnome-online-accounts
 , gsettings-desktop-schemas
-, libportal
+, libportal-gtk4
 , evolution-data-server
 , libical
 , librest
 , json-glib
 , itstool
+, unstableGitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-todo";
-  version = "41.0";
+  version = "unstable-2022-02-01";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1r94880d4khbjhhfnhaba3y3d4hv2bri82rzfzxn27s5iybpqras";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "gnome-todo";
+    rev = "2cd071ad35efdef72038730d658f013dd0fc7daa";
+    sha256 = "FMG9ju+LsglAvbBhdgDF+2ZxB633EwnatwCFgW+VOTk=";
   };
 
   patches = [
@@ -64,7 +68,7 @@ stdenv.mkDerivation rec {
     gnome.adwaita-icon-theme
 
     # Plug-ins
-    libportal # background
+    libportal-gtk4 # background
     evolution-data-server # eds
     libical
     librest # todoist
@@ -77,9 +81,8 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
+    updateScript = unstableGitUpdater {
+      url = "https://gitlab.gnome.org/GNOME/gnome-todo.git";
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix
index 67036df2d51b..8265636344fc 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/seahorse/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     # Add “org.gnome.crypto.pgp” GSettings schema to path
     # to make it available for “gpgme-backend” test.
     # It is used by Seahorse’s internal “common” library.
-    addToSearchPath XDG_DATA_DIRS "${glib.getSchemaPath gcr}/../.."
+    addToSearchPath XDG_DATA_DIRS "${glib.getSchemaDataDirPath gcr}"
     # The same test also requires home directory so that it can store settings.
     export HOME=$TMPDIR
   '';
diff --git a/nixpkgs/pkgs/desktops/gnome/core/eog/default.nix b/nixpkgs/pkgs/desktops/gnome/core/eog/default.nix
index 620f7e7d9c13..cdde96ae43b9 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/eog/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/eog/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , gettext
@@ -8,7 +9,7 @@
 , libxml2
 , libjpeg
 , libpeas
-, libportal
+, libportal-gtk3
 , gnome
 , gtk3
 , glib
@@ -35,6 +36,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-huG5ujnaz3QiavpFermDtBJTuJ9he/VBOcrQiS0C2Kk=";
   };
 
+  patches = [
+    # Fix build with latest libportal
+    # https://gitlab.gnome.org/GNOME/eog/-/merge_requests/115
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/eog/-/commit/a06e6325907e136678b0bbe7058c25d688034afd.patch";
+      sha256 = "ttcsfHubfmIbxA51YLnxXDagLLNutXYmoQyMQ4sHRak=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
@@ -49,7 +59,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libjpeg
-    libportal
+    libportal-gtk3
     gtk3
     gdk-pixbuf
     glib
diff --git a/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix b/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
index 0baab20acec9..eb8caa4f1eff 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -12,7 +12,7 @@
 , wrapGAppsHook
 , gnome
 , pantheon
-, libportal
+, libportal-gtk3
 , libxml2
 , libxslt
 , itstool
@@ -65,6 +65,13 @@ stdenv.mkDerivation rec {
       url = "https://raw.githubusercontent.com/elementary/browser/cc17559a7ac6effe593712b4f3d0bbefde6e3b62/navigation-buttons.patch";
       sha256 = "sha256-G1/JUjn/8DyO9sgL/5Kq205KbTOs4EMi4Vf3cJ8FHXU=";
     })
+  ] ++ [
+    # Fix build with latest libportal
+    # https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1051
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/epiphany/-/commit/84474398f6e59266b73170838219aa896729ce93.patch";
+      sha256 = "SeiLTo3FcOxuml5sJX9GqyGdyGf1jm1A76SOI0JJvoo=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -100,7 +107,7 @@ stdenv.mkDerivation rec {
     json-glib
     libdazzle
     libhandy
-    libportal
+    libportal-gtk3
     libnotify
     libarchive
     libsecret
diff --git a/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index c4eaeea9b395..b7ba12be1356 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.42.2";
+  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 = "HBTYbnoNjm5PGpYTfjGmGdK8+/yArR8OrDje4sAkerw=";
+    sha256 = "fftBs+bAWBHUSajeTfx3q5sZ+O3yCzL92FeRhmIm0lI=";
   };
 
   patches = [
@@ -38,7 +38,15 @@ stdenv.mkDerivation rec {
     libcanberra-gtk3 pcre libphonenumber boost protobuf
   ];
 
-  propagatedBuildInputs = [ libsecret nss nspr libical db libsoup ];
+  propagatedBuildInputs = [
+    db
+    libsecret
+    nss
+    nspr
+    libical
+    libgdata # needed for GObject inspection, https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/57/diffs
+    libsoup
+  ];
 
   cmakeFlags = [
     "-DENABLE_UOA=OFF"
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix
index 392ea61688a6..6b51d11adfed 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gdm/default.nix
@@ -43,13 +43,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gdm";
-  version = "41.0";
+  version = "41.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "VzjEKTqfWoDUpungb00N8+nzE8p7Yb+02K+rqYPiANw=";
+    sha256 = "uwtlCnzqkPCaMyhPvQKXUxVAfvwY6BQAmFLRvK00N9Q=";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
index 07b77c04994d..901dbc21e9ef 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/core/gnome-contacts/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-contacts/default.nix
index 919bb5206cff..1c16c3dd35ea 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-contacts/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-contacts/default.nix
@@ -59,7 +59,6 @@ stdenv.mkDerivation rec {
     evolution-data-server
     gsettings-desktop-schemas
     folks
-    libgdata # required by some dependency transitively
     gnome-desktop
     libhandy
     libxml2
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index 85cfa8bf3144..f68977e52dd0 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/core/gnome-desktop/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-desktop/default.nix
index b67a057fa3a4..302d201f234f 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-desktop/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "41.1";
+  version = "41.3";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-voqvpk17ov0xB57tY505/aHqd+9301pnjwGcTZHUc8I=";
+    sha256 = "sha256-jNHKq5MRgowEUkaMalBnqbxEY4NbI6FL5E6P2bAwAcY=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
index 7ce00ac8f82c..2d5be438c3e2 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/core/gnome-session/ctl.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/ctl.nix
index 6a274e35bf56..7ee9e156e5bb 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/ctl.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/ctl.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-session-ctl";
-  version = "40.0";
+  version = "41.3";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = version;
-    hash = "sha256-gvBmLx8Qoj1vPsOwaZsd9+pTDvU5D7uUts7ZT1pXwNo=";
+    hash = "sha256-aC0tkTf2lgCRlcbFj1FEOVBm3YUuP+8Yz98W3ZjUydg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix
index 3ba6958fad0e..3c6903b2b01b 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -1,16 +1,42 @@
-{ fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome, glib, gtk3, gsettings-desktop-schemas
-, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3
-, libxslt, gettext, makeWrapper, systemd, xorg, libepoxy, gnugrep, bash, gnome-session-ctl }:
+{ fetchurl
+, lib
+, stdenv
+, substituteAll
+, meson
+, ninja
+, pkg-config
+, gnome
+, glib
+, gtk3
+, gsettings-desktop-schemas
+, gnome-desktop
+, dbus
+, json-glib
+, libICE
+, xmlto
+, docbook_xsl
+, docbook_xml_dtd_412
+, python3
+, libxslt
+, gettext
+, makeWrapper
+, systemd
+, xorg
+, libepoxy
+, bash
+, gnome-session-ctl
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-session";
-  version = "40.1.1";
+  # Also bump ./ctl.nix when bumping major version.
+  version = "41.3";
 
-  outputs = ["out" "sessions"];
+  outputs = [ "out" "sessions" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "10nzyhmgkrzk6i70kj7690na0hmsv6qy5bmr10akxq9jxqlphy4w";
+    sha256 = "7koikFP1ImJAVIiWCTNbiFKHz2e73g3J/YgrAeybWzk=";
   };
 
   patches = [
@@ -18,22 +44,41 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       gsettings = "${glib.bin}/bin/gsettings";
       dbusLaunch = "${dbus.lib}/bin/dbus-launch";
-      grep = "${gnugrep}/bin/grep";
       bash = "${bash}/bin/bash";
     })
   ];
 
-  mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ];
-
   nativeBuildInputs = [
-    meson ninja pkg-config gettext makeWrapper
-    xmlto libxslt docbook_xsl docbook_xml_dtd_412 python3
+    meson
+    ninja
+    pkg-config
+    gettext
+    makeWrapper
+    xmlto
+    libxslt
+    docbook_xsl
+    docbook_xml_dtd_412
+    python3
     dbus # for DTD
   ];
 
   buildInputs = [
-    glib gtk3 libICE gnome-desktop json-glib xorg.xtrans gnome.adwaita-icon-theme
-    gnome.gnome-settings-daemon gsettings-desktop-schemas systemd libepoxy
+    glib
+    gtk3
+    libICE
+    gnome-desktop
+    json-glib
+    xorg.xtrans
+    gnome.adwaita-icon-theme
+    gnome.gnome-settings-daemon
+    gsettings-desktop-schemas
+    systemd
+    libepoxy
+  ];
+
+  mesonFlags = [
+    "-Dsystemd=true"
+    "-Dsystemd_session=default"
   ];
 
   postPatch = ''
@@ -49,17 +94,6 @@ stdenv.mkDerivation rec {
       {} +
   '';
 
-  # `bin/gnome-session` will reset the environment when run in wayland, we
-  # therefor wrap `libexec/gnome-session-binary` instead which is the actual
-  # binary needing wrapping
-  preFixup = ''
-    wrapProgram "$out/libexec/gnome-session-binary" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
-      --suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share"\
-      --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
-  '';
-
   # We move the GNOME sessions to another output since gnome-session is a dependency of
   # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is
   # enabled without proper GNOME installation.
@@ -72,12 +106,26 @@ stdenv.mkDerivation rec {
     rm -rf $out/libexec/gnome-session-ctl
   '';
 
+  # `bin/gnome-session` will reset the environment when run in wayland, we
+  # therefor wrap `libexec/gnome-session-binary` instead which is the actual
+  # binary needing wrapping
+  preFixup = ''
+    wrapProgram "$out/libexec/gnome-session-binary" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
+      --suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share"\
+      --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "gnome-session";
       attrPath = "gnome.gnome-session";
     };
-    providedSessions = [ "gnome" "gnome-xorg" ];
+    providedSessions = [
+      "gnome"
+      "gnome-xorg"
+    ];
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
index 320b3024deee..38805c645b95 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
@@ -1,17 +1,10 @@
 diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
-index ddd1a591..46a3488b 100755
+index b4b1f8fa..99d52cba 100755
 --- a/gnome-session/gnome-session.in
 +++ b/gnome-session/gnome-session.in
-@@ -3,17 +3,19 @@
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
+@@ -4,13 +4,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
     [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-    [  -n "$SHELL" ] &&
--   grep -q "$SHELL" /etc/shells &&
--   ! (echo "$SHELL" | grep -q "false") &&
--   ! (echo "$SHELL" | grep -q "nologin"); then
-+   @grep@ -q "$SHELL" /etc/shells &&
-+   ! (echo "$SHELL" | @grep@ -q "false") &&
-+   ! (echo "$SHELL" | @grep@ -q "nologin"); then
+    [  -n "$SHELL" ]; then
    if [ "$1" != '-l' ]; then
 -    exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
 +    # Make sure the shell actually sets up the environment.
@@ -28,7 +21,7 @@ index ddd1a591..46a3488b 100755
  REGION=${REGION%\'}
  
 diff --git a/gnome-session/main.c b/gnome-session/main.c
-index 84edfbe5..e5285489 100644
+index a460a849..9d07898f 100644
 --- a/gnome-session/main.c
 +++ b/gnome-session/main.c
 @@ -215,7 +215,7 @@ require_dbus_session (int      argc,
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
index de48b72faca4..aae01577a881 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
@@ -68,6 +68,12 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch";
       sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg=";
     })
+
+    # Fix build with new meson
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/28e28e9e598342c897ae5ca350d0da6f4aea057b.diff";
+      sha256 = "U+suR7wYjLWPqmkJpHm6pPOWL7sjL6GhIFX8MHrBRAY=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index 437da36a7a3b..aa61bd91c297 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 5e03551dceca..3b89ceb78172 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -55,7 +55,7 @@
 , gnome-clocks
 , gnome-settings-daemon
 , gnome-autoar
-, asciidoc-full
+, asciidoc
 , bash-completion
 , mesa
 }:
@@ -66,13 +66,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "41.2";
+  version = "41.4";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "OEZR6wUTk9ur4AbRrQV78p1c1z67h7x3n/Xhwx6AqCc=";
+    sha256 = "x+73SvMEZJwDuG25m9C6x1oBH7/2d0yO41WD282tivQ=";
   };
 
   patches = [
@@ -119,7 +119,7 @@ stdenv.mkDerivation rec {
     desktop-file-utils
     libxslt.bin
     python3
-    asciidoc-full
+    asciidoc
   ];
 
   buildInputs = [
@@ -180,6 +180,9 @@ stdenv.mkDerivation rec {
     chmod +x meson/postinstall.py
     patchShebangs meson/postinstall.py
 
+    # We can generate it ourselves.
+    rm -f man/gnome-shell.1
+
     substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
     substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
   '';
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix
index 848c6102fbec..aa9058ad410a 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "41.2";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "OErdrMh4QlOoeXGBSweS+9LJQfpEiw+UOLv1dJgszBc=";
+    sha256 = "evhzzkcs8racUbyevGG4Nt+8z9b0Jwbj7TqpCaruxGU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
index 17145ccadfe4..d0b8a7537e29 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
@@ -46,13 +46,13 @@
 
 let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "41.2";
+  version = "41.4";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "AN+oEvHEhtdKK3P0IEWuEYL5JGx3lNZ9dLXlQ+pwBhc=";
+    sha256 = "VYgmlQZKpvA4XNH39/qywqLtLJrsePV4+qB/UgnKUpw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/nautilus/default.nix b/nixpkgs/pkgs/desktops/gnome/core/nautilus/default.nix
index 4f7df313ad52..3f61f55db1dc 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/nautilus/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/nautilus/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -10,7 +11,7 @@
 , wrapGAppsHook
 , gtk3
 , libhandy
-, libportal
+, libportal-gtk3
 , gnome
 , gnome-autoar
 , glib-networking
@@ -34,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nautilus";
-  version = "41.1";
+  version = "41.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "PmMwmIU3EaPpaxL+kiizIBgW5VSygj8WHn2QGoiAWC8=";
+    sha256 = "hyKFscQKbuQYzile0RX1Qn2nCQfYItlbz1FnXVSYgis=";
   };
 
   patches = [
@@ -52,6 +53,17 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit tracker;
     })
+
+    # Fix build with latest libportal
+    # https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/749
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/nautilus/-/commit/55cfd66ccca391fc144f5863ff6bfc1f3b137e2d.patch";
+      sha256 = "xSb9l7xxEYpAwmdmeWT/t7Z9Ck3DPtsODzbReQW/Q70=";
+      excludes = [
+        "build-aux/flatpak/org.gnome.Nautilus.json"
+        "build-aux/flatpak/org.gnome.Nautilus.yml"
+      ];
+    })
   ];
 
   nativeBuildInputs = [
@@ -76,7 +88,7 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-base
     gtk3
     libhandy
-    libportal
+    libportal-gtk3
     libexif
     libnotify
     libseccomp
diff --git a/nixpkgs/pkgs/desktops/gnome/core/rygel/default.nix b/nixpkgs/pkgs/desktops/gnome/core/rygel/default.nix
index c3cfeec8ff80..8eb3c9951f3c 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/rygel/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/rygel/default.nix
@@ -28,14 +28,14 @@
 
 stdenv.mkDerivation rec {
   pname = "rygel";
-  version = "0.40.2";
+  version = "0.40.3";
 
   # TODO: split out lib
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "yejHNiltIsTe/pWXJ6KdMUN7vSt6oMZHDWviQBEFBpc=";
+    sha256 = "zwvjUQnLVw5c8K/lltha7Lmw6TWYYVNTArt7YE2vUdc=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix b/nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix
index 4b3ee62dcee4..be858a19487d 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/yelp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/default.nix b/nixpkgs/pkgs/desktops/gnome/default.nix
index a3f0107c288b..2b36373e2bf9 100644
--- a/nixpkgs/pkgs/desktops/gnome/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/default.nix
@@ -280,89 +280,128 @@ lib.makeScope pkgs.newScope (self: with self; {
   gnome-autoar = callPackage ./misc/gnome-autoar { };
 
   gnome-packagekit = callPackage ./misc/gnome-packagekit { };
-} // lib.optionalAttrs (config.allowAliases or true) {
-#### Legacy aliases
-
-  bijiben = gnome-notes; # added 2018-09-26
-  evolution_data_server = evolution-data-server; # added 2018-02-25
-  geocode_glib = pkgs.geocode-glib; # added 2018-02-25
-  glib_networking = pkgs.glib-networking; # added 2018-02-25
-  gnome_common = gnome-common; # added 2018-02-25
-  gnome_control_center = gnome-control-center; # added 2018-02-25
-  gnome_desktop = gnome-desktop; # added 2018-02-25
-  gnome_keyring = gnome-keyring; # added 2018-02-25
-  gnome_online_accounts = gnome-online-accounts; # added 2018-02-25
-  gnome_session = gnome-session; # added 2018-02-25
-  gnome_settings_daemon = gnome-settings-daemon; # added 2018-02-25
-  gnome_shell = gnome-shell; # added 2018-02-25
-  gnome_terminal = gnome-terminal; # added 2018-02-25
-  gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
-  gnome_themes_standard = gnome-themes-standard; # added 2018-02-25
-  gnome-tweak-tool = gnome-tweaks; # added 2018-03-21
-  gsettings_desktop_schemas = gsettings-desktop-schemas; # added 2018-02-25
-  libgames-support = libgnome-games-support; # added 2018-03-14
-  libgnome_keyring = libgnome-keyring; # added 2018-02-25
-  inherit (pkgs) rarian; # added 2018-04-25
-  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
-  yelp_xsl = yelp-xsl; # added 2018-02-25
-  yelp_tools = yelp-tools; # added 2018-02-25
-
-  # added 2019-02-08
-  inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
-      libgtop libgudev libhttpseverywhere librsvg libsecret gdk-pixbuf gtksourceview gtksourceviewmm gtksourceview4
-      easytag meld orca rhythmbox shotwell gnome-usage
-      clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl;
-  inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16
-  inherit (pkgs) gnome-video-effects; # added 2019-08-19
-  inherit (pkgs) gnome-online-accounts grilo grilo-plugins tracker tracker-miners gnome-photos; # added 2019-08-23
-  inherit (pkgs) glib-networking; # added 2019-09-02
-  inherit (pkgs) nemiver; # added 2019-09-09
-
-  defaultIconTheme = adwaita-icon-theme;
-  gtk = gtk3;
-  gtkmm = gtkmm3;
-  rest = librest;
-
-  pidgin-im-gnome-shell-extension = pkgs.gnomeExtensions.pidgin-im-integration; # added 2019-08-01
-
-  # added 2019-08-25
-  corePackages = throw "gnome.corePackages is removed since 2019-08-25: please use `services.gnome.core-shell.enable`";
-  optionalPackages = throw "gnome.optionalPackages is removed since 2019-08-25: please use `services.gnome.core-utilities.enable`";
-  gamesPackages = throw "gnome.gamesPackages is removed since 2019-08-25: please use `services.gnome.games.enable`";
-
-  nautilus-sendto = throw "nautilus-sendto is removed since 2019-09-17: abandoned upstream";
-
-  inherit (pkgs) vala; # added 2019-10-10
-
-  inherit (pkgs) gnome-user-docs; # added 2019-11-20
-
-  inherit (pkgs) gjs; # added 2019-01-05
-
-  inherit (pkgs) yelp-tools; # added 2019-11-20
-
-  inherit (pkgs) dconf; # added 2019-11-30
-
-  inherit (pkgs) networkmanagerapplet; # added 2019-12-12
-
-  inherit (pkgs) glade; # added 2020-05-15
-
-  vino = throw "vino is deprecated, use gnome-remote-desktop instead."; # added 2020-03-13
-
-  gnome-screensaver = throw "gnome-screensaver is deprecated. If you are using GNOME Flashback, it now has a built-in lock screen. If you are using it elsewhere, you can try xscreenlock or other alternatives."; # added 2020-03-19
-
-  maintainers = lib.teams.gnome.members;
+}) // lib.optionalAttrs (config.allowAliases or true) {
+#### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope.
+
+  bijiben = throw "The ‘gnome.bijiben’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-notes’ directly."; # added 2018-09-26
+  evolution_data_server = throw "The ‘gnome.evolution_data_server’ alias was removed on 2022-01-13. Please use ‘gnome.evolution-data-server’ directly."; # added 2018-02-25
+  geocode_glib = throw "The ‘gnome.geocode_glib’ alias was removed on 2022-01-13. Please use ‘pkgs.geocode-glib’ directly."; # added 2018-02-25
+  glib_networking = throw "The ‘gnome.glib_networking’ alias was removed on 2022-01-13. Please use ‘pkgs.glib-networking’ directly."; # added 2018-02-25
+  gnome_common = throw "The ‘gnome.gnome_common’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-common’ directly."; # added 2018-02-25
+  gnome_control_center = throw "The ‘gnome.gnome_control_center’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-control-center’ directly."; # added 2018-02-25
+  gnome_desktop = throw "The ‘gnome.gnome_desktop’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-desktop’ directly."; # added 2018-02-25
+  gnome_keyring = throw "The ‘gnome.gnome_keyring’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-keyring’ directly."; # added 2018-02-25
+  gnome_online_accounts = throw "The ‘gnome.gnome_online_accounts’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-online-accounts’ directly."; # added 2018-02-25
+  gnome_session = throw "The ‘gnome.gnome_session’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-session’ directly."; # added 2018-02-25
+  gnome_settings_daemon = throw "The ‘gnome.gnome_settings_daemon’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-settings-daemon’ directly."; # added 2018-02-25
+  gnome_shell = throw "The ‘gnome.gnome_shell’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-shell’ directly."; # added 2018-02-25
+  gnome_terminal = throw "The ‘gnome.gnome_terminal’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-terminal’ directly."; # added 2018-02-25
+  gnome-themes-standard = throw "The ‘gnome.gnome-themes-standard’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-themes-extra’ directly."; # added 2018-03-14
+  gnome_themes_standard = throw "The ‘gnome.gnome_themes_standard’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-themes-standard’ directly."; # added 2018-02-25
+  gnome-tweak-tool = throw "The ‘gnome.gnome-tweak-tool’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-tweaks’ directly."; # added 2018-03-21
+  gsettings_desktop_schemas = throw "The ‘gnome.gsettings_desktop_schemas’ alias was removed on 2022-01-13. Please use ‘gnome.gsettings-desktop-schemas’ directly."; # added 2018-02-25
+  libgames-support = throw "The ‘gnome.libgames-support’ alias was removed on 2022-01-13. Please use ‘gnome.libgnome-games-support’ directly."; # added 2018-03-14
+  libgnome_keyring = throw "The ‘gnome.libgnome_keyring’ alias was removed on 2022-01-13. Please use ‘gnome.libgnome-keyring’ directly."; # added 2018-02-25
+  rarian = throw "The ‘gnome.rarian’ alias was removed on 2022-01-13. Please use ‘pkgs.rarian’ directly."; # added 2018-04-25
+  networkmanager_fortisslvpn = throw "The ‘gnome.networkmanager_fortisslvpn’ alias was removed on 2022-01-13. Please use ‘gnome.networkmanager-fortisslvpn’ directly."; # added 2018-02-25
+  networkmanager_iodine = throw "The ‘gnome.networkmanager_iodine’ alias was removed on 2022-01-13. Please use ‘gnome.networkmanager-iodine’ directly."; # added 2018-02-25
+  networkmanager_l2tp = throw "The ‘gnome.networkmanager_l2tp’ alias was removed on 2022-01-13. Please use ‘gnome.networkmanager-l2tp’ directly."; # added 2018-02-25
+  networkmanager_openconnect = throw "The ‘gnome.networkmanager_openconnect’ alias was removed on 2022-01-13. Please use ‘gnome.networkmanager-openconnect’ directly."; # added 2018-02-25
+  networkmanager_openvpn = throw "The ‘gnome.networkmanager_openvpn’ alias was removed on 2022-01-13. Please use ‘gnome.networkmanager-openvpn’ directly."; # added 2018-02-25
+  networkmanager_vpnc = throw "The ‘gnome.networkmanager_vpnc’ alias was removed on 2022-01-13. Please use ‘gnome.networkmanager-vpnc’ directly."; # added 2018-02-25
+  yelp_xsl = throw "The ‘gnome.yelp_xsl’ alias was removed on 2022-01-13. Please use ‘gnome.yelp-xsl’ directly."; # added 2018-02-25
+  yelp_tools = throw "The ‘gnome.yelp_tools’ alias was removed on 2022-01-13. Please use ‘gnome.yelp-tools’ directly."; # added 2018-02-25
+
+  atk = throw "The ‘gnome.atk’ alias was removed on 2022-01-13. Please use ‘pkgs.atk’ directly."; # added 2019-02-08
+  glib = throw "The ‘gnome.glib’ alias was removed on 2022-01-13. Please use ‘pkgs.glib’ directly."; # added 2019-02-08
+  gobject-introspection = throw "The ‘gnome.gobject-introspection’ alias was removed on 2022-01-13. Please use ‘pkgs.gobject-introspection’ directly."; # added 2019-02-08
+  gspell = throw "The ‘gnome.gspell’ alias was removed on 2022-01-13. Please use ‘pkgs.gspell’ directly."; # added 2019-02-08
+  webkitgtk = throw "The ‘gnome.webkitgtk’ alias was removed on 2022-01-13. Please use ‘pkgs.webkitgtk’ directly."; # added 2019-02-08
+  gtk3 = throw "The ‘gnome.gtk3’ alias was removed on 2022-01-13. Please use ‘pkgs.gtk3’ directly."; # added 2019-02-08
+  gtkmm3 = throw "The ‘gnome.gtkmm3’ alias was removed on 2022-01-13. Please use ‘pkgs.gtkmm3’ directly."; # added 2019-02-08
+  libgtop = throw "The ‘gnome.libgtop’ alias was removed on 2022-01-13. Please use ‘pkgs.libgtop’ directly."; # added 2019-02-08
+  libgudev = throw "The ‘gnome.libgudev’ alias was removed on 2022-01-13. Please use ‘pkgs.libgudev’ directly."; # added 2019-02-08
+  libhttpseverywhere = throw "The ‘gnome.libhttpseverywhere’ alias was removed on 2022-01-13. Please use ‘pkgs.libhttpseverywhere’ directly."; # added 2019-02-08
+  librsvg = throw "The ‘gnome.librsvg’ alias was removed on 2022-01-13. Please use ‘pkgs.librsvg’ directly."; # added 2019-02-08
+  libsecret = throw "The ‘gnome.libsecret’ alias was removed on 2022-01-13. Please use ‘pkgs.libsecret’ directly."; # added 2019-02-08
+  gdk-pixbuf = throw "The ‘gnome.gdk-pixbuf’ alias was removed on 2022-01-13. Please use ‘pkgs.gdk-pixbuf’ directly."; # added 2019-02-08
+  gtksourceview = throw "The ‘gnome.gtksourceview’ alias was removed on 2022-01-13. Please use ‘pkgs.gtksourceview’ directly."; # added 2019-02-08
+  gtksourceviewmm = throw "The ‘gnome.gtksourceviewmm’ alias was removed on 2022-01-13. Please use ‘pkgs.gtksourceviewmm’ directly."; # added 2019-02-08
+  gtksourceview4 = throw "The ‘gnome.gtksourceview4’ alias was removed on 2022-01-13. Please use ‘pkgs.gtksourceview4’ directly."; # added 2019-02-08
+  easytag = throw "The ‘gnome.easytag’ alias was removed on 2022-01-13. Please use ‘pkgs.easytag’ directly."; # added 2019-02-08
+  meld = throw "The ‘gnome.meld’ alias was removed on 2022-01-13. Please use ‘pkgs.meld’ directly."; # added 2019-02-08
+  orca = throw "The ‘gnome.orca’ alias was removed on 2022-01-13. Please use ‘pkgs.orca’ directly."; # added 2019-02-08
+  rhythmbox = throw "The ‘gnome.rhythmbox’ alias was removed on 2022-01-13. Please use ‘pkgs.rhythmbox’ directly."; # added 2019-02-08
+  shotwell = throw "The ‘gnome.shotwell’ alias was removed on 2022-01-13. Please use ‘pkgs.shotwell’ directly."; # added 2019-02-08
+  gnome-usage = throw "The ‘gnome.gnome-usage’ alias was removed on 2022-01-13. Please use ‘pkgs.gnome-usage’ directly."; # added 2019-02-08
+  clutter = throw "The ‘gnome.clutter’ alias was removed on 2022-01-13. Please use ‘pkgs.clutter’ directly."; # added 2019-02-08
+  clutter-gst = throw "The ‘gnome.clutter-gst’ alias was removed on 2022-01-13. Please use ‘pkgs.clutter-gst’ directly."; # added 2019-02-08
+  clutter-gtk = throw "The ‘gnome.clutter-gtk’ alias was removed on 2022-01-13. Please use ‘pkgs.clutter-gtk’ directly."; # added 2019-02-08
+  cogl = throw "The ‘gnome.cogl’ alias was removed on 2022-01-13. Please use ‘pkgs.cogl’ directly."; # added 2019-02-08
+  gtk-vnc = throw "The ‘gnome.gtk-vnc’ alias was removed on 2022-01-13. Please use ‘pkgs.gtk-vnc’ directly."; # added 2019-02-08
+  libdazzle = throw "The ‘gnome.libdazzle’ alias was removed on 2022-01-13. Please use ‘pkgs.libdazzle’ directly."; # added 2019-02-08
+  libgda = throw "The ‘gnome.libgda’ alias was removed on 2022-01-13. Please use ‘pkgs.libgda’ directly."; # added 2019-02-08
+  libgit2-glib = throw "The ‘gnome.libgit2-glib’ alias was removed on 2022-01-13. Please use ‘pkgs.libgit2-glib’ directly."; # added 2019-02-08
+  libgxps = throw "The ‘gnome.libgxps’ alias was removed on 2022-01-13. Please use ‘pkgs.libgxps’ directly."; # added 2019-02-08
+  libgdata = throw "The ‘gnome.libgdata’ alias was removed on 2022-01-13. Please use ‘pkgs.libgdata’ directly."; # added 2019-02-08
+  libgepub = throw "The ‘gnome.libgepub’ alias was removed on 2022-01-13. Please use ‘pkgs.libgepub’ directly."; # added 2019-02-08
+  libpeas = throw "The ‘gnome.libpeas’ alias was removed on 2022-01-13. Please use ‘pkgs.libpeas’ directly."; # added 2019-02-08
+  libgee = throw "The ‘gnome.libgee’ alias was removed on 2022-01-13. Please use ‘pkgs.libgee’ directly."; # added 2019-02-08
+  geocode-glib = throw "The ‘gnome.geocode-glib’ alias was removed on 2022-01-13. Please use ‘pkgs.geocode-glib’ directly."; # added 2019-02-08
+  libgweather = throw "The ‘gnome.libgweather’ alias was removed on 2022-01-13. Please use ‘pkgs.libgweather’ directly."; # added 2019-02-08
+  librest = throw "The ‘gnome.librest’ alias was removed on 2022-01-13. Please use ‘pkgs.librest’ directly."; # added 2019-02-08
+  libzapojit = throw "The ‘gnome.libzapojit’ alias was removed on 2022-01-13. Please use ‘pkgs.libzapojit’ directly."; # added 2019-02-08
+  libmediaart = throw "The ‘gnome.libmediaart’ alias was removed on 2022-01-13. Please use ‘pkgs.libmediaart’ directly."; # added 2019-02-08
+  gfbgraph = throw "The ‘gnome.gfbgraph’ alias was removed on 2022-01-13. Please use ‘pkgs.gfbgraph’ directly."; # added 2019-02-08
+  gexiv2 = throw "The ‘gnome.gexiv2’ alias was removed on 2022-01-13. Please use ‘pkgs.gexiv2’ directly."; # added 2019-02-08
+  folks = throw "The ‘gnome.folks’ alias was removed on 2022-01-13. Please use ‘pkgs.folks’ directly."; # added 2019-02-08
+  totem-pl-parser = throw "The ‘gnome.totem-pl-parser’ alias was removed on 2022-01-13. Please use ‘pkgs.totem-pl-parser’ directly."; # added 2019-02-08
+  gcr = throw "The ‘gnome.gcr’ alias was removed on 2022-01-13. Please use ‘pkgs.gcr’ directly."; # added 2019-02-08
+  gsound = throw "The ‘gnome.gsound’ alias was removed on 2022-01-13. Please use ‘pkgs.gsound’ directly."; # added 2019-02-08
+  libgnomekbd = throw "The ‘gnome.libgnomekbd’ alias was removed on 2022-01-13. Please use ‘pkgs.libgnomekbd’ directly."; # added 2019-02-08
+  vte = throw "The ‘gnome.vte’ alias was removed on 2022-01-13. Please use ‘pkgs.vte’ directly."; # added 2019-02-08
+  vte_290 = throw "The ‘gnome.vte_290’ alias was removed on 2022-01-13. Please use ‘pkgs.vte_290’ directly."; # added 2019-02-08
+  gnome-menus = throw "The ‘gnome.gnome-menus’ alias was removed on 2022-01-13. Please use ‘pkgs.gnome-menus’ directly."; # added 2019-02-08
+  gdl = throw "The ‘gnome.gdl’ alias was removed on 2022-01-13. Please use ‘pkgs.gdl’ directly."; # added 2019-02-08
+
+
+  gsettings-desktop-schemas = throw "The ‘gnome.gsettings-desktop-schemas’ alias was removed on 2022-01-13. Please use ‘pkgs.gsettings-desktop-schemas’ directly."; # added 2019-04-16
+  gnome-video-effects = throw "The ‘gnome.gnome-video-effects’ alias was removed on 2022-01-13. Please use ‘pkgs.gnome-video-effects’ directly."; # added 2019-08-19
+  gnome-online-accounts = throw "The ‘gnome.gnome-online-accounts’ alias was removed on 2022-01-13. Please use ‘pkgs.gnome-online-accounts’ directly."; # added 2019-08-23
+  grilo = throw "The ‘gnome.grilo’ alias was removed on 2022-01-13. Please use ‘pkgs.grilo’ directly."; # added 2019-08-23
+  grilo-plugins = throw "The ‘gnome.grilo-plugins’ alias was removed on 2022-01-13. Please use ‘pkgs.grilo-plugins’ directly."; # added 2019-08-23
+  tracker = throw "The ‘gnome.tracker’ alias was removed on 2022-01-13. Please use ‘pkgs.tracker’ directly."; # added 2019-08-23
+  tracker-miners = throw "The ‘gnome.tracker-miners’ alias was removed on 2022-01-13. Please use ‘pkgs.tracker-miners’ directly."; # added 2019-08-23
+  gnome-photos = throw "The ‘gnome.gnome-photos’ alias was removed on 2022-01-13. Please use ‘pkgs.gnome-photos’ directly."; # added 2019-08-23
+  glib-networking = throw "The ‘gnome.glib-networking’ alias was removed on 2022-01-13. Please use ‘pkgs.glib-networking’ directly."; # added 2019-09-02
+  nemiver = throw "The ‘gnome.nemiver’ alias was removed on 2022-01-13. Please use ‘pkgs.nemiver’ directly."; # added 2019-09-09
+
+  defaultIconTheme = throw "The ‘gnome.defaultIconTheme’ alias was removed on 2022-01-13. Please use ‘gnome.adwaita-icon-theme’ directly."; # added 2019-02-08
+  gtk = throw "The ‘gnome.gtk’ alias was removed on 2022-01-13. Please use ‘pkgs.gtk3’ directly."; # added 2019-02-08
+  gtkmm = throw "The ‘gnome.gtkmm’ alias was removed on 2022-01-13. Please use ‘pkgs.gtkmm3’ directly."; # added 2019-02-08
+  rest = throw "The ‘gnome.rest’ alias was removed on 2022-01-13. Please use ‘pkgs.librest’ directly."; # added 2019-02-08
+
+  pidgin-im-gnome-shell-extension = throw "The ‘gnome.pidgin-im-gnome-shell-extension’ alias was removed on 2022-01-13. Please use ‘pkgs.gnomeExtensions.pidgin-im-integration’ directly."; # added 2019-08-01
+
+  vala = throw "The ‘gnome.vala’ alias was removed on 2022-01-13. Please use ‘pkgs.vala’ directly."; # added 2019-10-10
+
+  gnome-user-docs = throw "The ‘gnome.gnome-user-docs’ alias was removed on 2022-01-13. Please use ‘pkgs.gnome-user-docs’ directly."; # added 2019-11-20
+
+  gjs = throw "The ‘gnome.gjs’ alias was removed on 2022-01-13. Please use ‘pkgs.gjs’ directly."; # added 2019-01-05
+
+  yelp-tools = throw "The ‘gnome.yelp-tools’ alias was removed on 2022-01-13. Please use ‘pkgs.yelp-tools’ directly."; # added 2019-11-20
+
+  dconf = throw "The ‘gnome.dconf’ alias was removed on 2022-01-13. Please use ‘pkgs.dconf’ directly."; # added 2019-11-30
+
+  networkmanagerapplet = throw "The ‘gnome.networkmanagerapplet’ alias was removed on 2022-01-13. Please use ‘pkgs.networkmanagerapplet’ directly."; # added 2019-12-12
+
+  glade = throw "The ‘gnome.glade’ alias was removed on 2022-01-13. Please use ‘pkgs.glade’ directly."; # added 2020-05-15
+
+  maintainers = throw "The ‘gnome.maintainers’ alias was removed on 2022-01-13. Please use ‘lib.teams.gnome.members’ directly."; # added 2020-04-01
 
   mutter328 = throw "Removed as Pantheon is upgraded to mutter338.";
 
   mutter334 = throw "Removed as Pantheon is upgraded to mutter338.";
 
   gnome-getting-started-docs = throw "Removed in favour of gnome-tour.";
-
-  # Added 2021-05-07
-  gnome3 = self // { recurseForDerivations = false; };
-})
+}
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix
index c245d593d396..1f540ab60334 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-arcmenu";
-  version = "19";
+  version = "21";
 
   src = fetchFromGitLab {
     owner = "arcmenu";
     repo = "ArcMenu";
     rev = "v${version}";
-    sha256 = "sha256-GEeONrrH00Tt9tuxhH7Gv5lSZ2D/hFgeGbUstqJsWZo=";
+    sha256 = "sha256-A47nX2fmFcJfWvQUJZsFGK1h4GPkf3QBB0BALlr9ZlM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json b/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json
index 19ae546eedac..b43673a13422 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/collisions.json
@@ -24,6 +24,10 @@
       "ShutdownTimer@neumann",
       "ShutdownTimer@deminder"
     ],
+    "bottompanel": [
+      "bottompanel@tmoer93",
+      "bottom-panel@sulincix"
+    ],
     "noannoyance": [
       "noannoyance@sindex.com",
       "noannoyance@daase.net"
@@ -71,6 +75,10 @@
       "noannoyance@sindex.com",
       "noannoyance@daase.net"
     ],
+    "fuzzy-clock": [
+      "fuzzy-clock@keepawayfromfire.co.uk",
+      "FuzzyClock@johngoetz"
+    ],
     "panel-date-format": [
       "panel-date-format@keiii.github.com",
       "panel-date-format@atareao.es"
@@ -105,6 +113,14 @@
       "lockkeys@vaina.lt",
       "lockkeys@fawtytoo"
     ],
+    "shutdowntimer": [
+      "ShutdownTimer@neumann",
+      "ShutdownTimer@deminder"
+    ],
+    "fuzzy-clock": [
+      "fuzzy-clock@keepawayfromfire.co.uk",
+      "FuzzyClock@johngoetz"
+    ],
     "disable-unredirect-fullscreen-windows": [
       "unredirect@vaina.lt",
       "unredirect@aunetx"
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
new file mode 100644
index 000000000000..c78a59af5237
--- /dev/null
+++ b/nixpkgs/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-01-24";
+
+  # Temporarily switched to commit hash because stable version is buggy.
+  src = fetchFromGitHub {
+    owner = "micheleg";
+    repo = "dash-to-dock";
+    rev = "53114b4e000482a753e8b42dfa10d6057c08d1c6";
+    sha256 = "Gv78I/dxhc6FpjZWk10uHBfD24tHE4KdkpaAo8UZpwU=";
+  };
+
+  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/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix
deleted file mode 100644
index 0d1f8df4f275..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/nixpkgs/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index b431e7da4427..bc659b9a4438 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -3,10 +3,13 @@
 , gjs
 , gnome
 , gobject-introspection
-, xprop
+, pulseaudio
+, python3
+, substituteAll
 , touchegg
 , vte
 , wrapGAppsHook
+, xprop
 }:
 let
   # Helper method to reduce redundancy
@@ -25,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 ];
@@ -62,6 +61,18 @@ super: lib.trivial.pipe super [
     '';
   }))
 
+  (patchExtension "shell-volume-mixer@derhofbauer.at" (old: {
+    patches = [
+      (substituteAll {
+        src = ./extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch;
+        inherit pulseaudio;
+        inherit python3;
+      })
+    ];
+
+    meta.maintainers = with lib.maintainers; [ rhoriguchi ];
+  }))
+
   (patchExtension "unite@hardpixel.eu" (old: {
     buildInputs = [ xprop ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch b/nixpkgs/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch
new file mode 100644
index 000000000000..f1064feb54b8
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch
@@ -0,0 +1,32 @@
+diff --git a/lib/utils/paHelper.js b/lib/utils/paHelper.js
+index be28d21..a410a63 100755
+--- a/lib/utils/paHelper.js
++++ b/lib/utils/paHelper.js
+@@ -57,13 +57,7 @@ async function execHelper(type, index = undefined) {
+         return null;
+     }
+
+-    const python = await findPython();
+-
+-    if (!python) {
+-        return null;
+-    }
+-
+-    const args = ['/usr/bin/env', python, paUtilPath, type];
++    const args = ['@python3@/bin/python', paUtilPath, type];
+
+     if (!isNaN(index)) {
+         args.push(index);
+diff --git a/pautils/lib/libpulse.py b/pautils/lib/libpulse.py
+index a32c272..8225f2f 100755
+--- a/pautils/lib/libpulse.py
++++ b/pautils/lib/libpulse.py
+@@ -16,7 +16,7 @@
+ from ctypes import *
+
+ try:
+-    lib = CDLL('libpulse.so.0')
++    lib = CDLL('@pulseaudio@/lib/libpulse.so.0')
+ except:
+     lib = CDLL('libpulse.so')
+
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix b/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 07d6ac9d31d4..a90673ebeb8e 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -21,6 +21,16 @@
   "unredirect@vaina.lt" = "disable-unredirect-fullscreen-windows";
   "unredirect@aunetx" = "disable-unredirect-fullscreen-windows-2";
 
+  "fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
+  "FuzzyClock@johngoetz" = "fuzzy-clock";
+
+  # At the moment, ShutdownTimer@deminder is a fork of ShutdownTimer@neumann which adds new features
+  # there seem to be upstream plans, so this should be checked periodically:
+  # https://github.com/Deminder/ShutdownTimer https://github.com/neumann-d/ShutdownTimer/pull/46
+  "ShutdownTimer@neumann" = null;
+  "shutdown-timer-gnome-shell-extension" = "shutdowntimer-2";
+  "ShutdownTimer@deminder" = "shutdowntimer";
+
   # ############################################################################
   # These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
   # Make sure to move them up once they are updated
@@ -33,13 +43,6 @@
   "Hide_Activities@shay.shayel.org" = "hide-activities-button";
   "hide-activities-button@nmingori.gnome-shell-extensions.org" = "hide-activities-button-2";
 
-  # At the moment, ShutdownTimer@deminder is a fork of ShutdownTimer@neumann which adds new features
-  # there seem to be upstream plans, so this should be checked periodically:
-  # https://github.com/Deminder/ShutdownTimer https://github.com/neumann-d/ShutdownTimer/pull/46
-  "ShutdownTimer@neumann" = null;
-  "shutdown-timer-gnome-shell-extension" = "shutdowntimer-2";
-  "ShutdownTimer@deminder" = "shutdowntimer";
-
   "noannoyance@sindex.com" = "noannoyance";
   "noannoyance@daase.net" = "noannoyance-2";
 
@@ -54,6 +57,9 @@
 
   # ####### GNOME 3.38 #######
 
+  "bottompanel@tmoer93" = "bottompanel";
+  "bottom-panel@sulincix" = "bottompanel-2";
+
   # See https://github.com/pbxqdown/gnome-shell-extension-transparent-window/issues/12#issuecomment-800765381
   "transparent-window@pbxqdown.github.com" = "transparent-window";
   "transparentwindows.mdirshad07" = null;
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json b/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json
index 12602bf3dbb9..cb527ecce302 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/extensions.json
@@ -1,5 +1,5 @@
 [ {"uuid": "Move_Clock@rmy.pobox.com", "name": "Frippery Move Clock", "pname": "move-clock", "description": "Move clock to left of status menu button", "link": "https://extensions.gnome.org/extension/2/move-clock/", "shell_version_map": {"38": {"version": "22", "sha256": "085ardkmrxz6rzh48frpb5z8mjlilqk037gjr84dr39gj9dkb81z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCBvZiBzdGF0dXMgbWVudSBidXR0b24iLAogICJuYW1lIjogIkZyaXBwZXJ5IE1vdmUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiTW92ZV9DbG9ja0BybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "25", "sha256": "06bjswh450dwgns6kycgrzq3c4cf4ja57mraw8f7rlgzqrwlj3ci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCBvZiBzdGF0dXMgbWVudSBidXR0b24iLAogICJuYW1lIjogIkZyaXBwZXJ5IE1vdmUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJNb3ZlX0Nsb2NrQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "25", "sha256": "06bjswh450dwgns6kycgrzq3c4cf4ja57mraw8f7rlgzqrwlj3ci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCBvZiBzdGF0dXMgbWVudSBidXR0b24iLAogICJuYW1lIjogIkZyaXBwZXJ5IE1vdmUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJNb3ZlX0Nsb2NrQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
-, {"uuid": "Bottom_Panel@rmy.pobox.com", "name": "Frippery Bottom Panel", "pname": "bottom-panel", "description": "Add a bottom panel to the shell", "link": "https://extensions.gnome.org/extension/3/bottom-panel/", "shell_version_map": {"38": {"version": "49", "sha256": "09gsbnj564z8f7m593iv8j7s6f32230k0ikfsl1dlv1jsfpfn8zv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIkJvdHRvbV9QYW5lbEBybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "40": {"version": "55", "sha256": "1hchr32jmwbys96l99ghkwq5d93qawlqkyq2hclz4gan5jzpv4s0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTUKfQ=="}, "41": {"version": "55", "sha256": "1hchr32jmwbys96l99ghkwq5d93qawlqkyq2hclz4gan5jzpv4s0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTUKfQ=="}}}
+, {"uuid": "Bottom_Panel@rmy.pobox.com", "name": "Frippery Bottom Panel", "pname": "bottom-panel", "description": "Add a bottom panel to the shell", "link": "https://extensions.gnome.org/extension/3/bottom-panel/", "shell_version_map": {"38": {"version": "49", "sha256": "09gsbnj564z8f7m593iv8j7s6f32230k0ikfsl1dlv1jsfpfn8zv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIkJvdHRvbV9QYW5lbEBybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "40": {"version": "58", "sha256": "1b69fx42mzc1fhi6c4xv8vyz7mrj551jaf0dbz4vif0g8c83sdc1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "41": {"version": "58", "sha256": "1b69fx42mzc1fhi6c4xv8vyz7mrj551jaf0dbz4vif0g8c83sdc1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTgKfQ=="}}}
 , {"uuid": "Panel_Favorites@rmy.pobox.com", "name": "Frippery Panel Favorites", "pname": "panel-favorites", "description": "Add launchers for Favorites to the panel", "link": "https://extensions.gnome.org/extension/4/panel-favorites/", "shell_version_map": {"38": {"version": "39", "sha256": "0jqysp82rhckdlgn1jhf1n6sqqphv97m9dri5pjiqjggvm4ls80j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsYXVuY2hlcnMgZm9yIEZhdm9yaXRlcyB0byB0aGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1wYW5lbC1mYXZvcml0ZXMiLAogICJuYW1lIjogIkZyaXBwZXJ5IFBhbmVsIEZhdm9yaXRlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkucGFuZWwtZmF2b3JpdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJQYW5lbF9GYXZvcml0ZXNAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "40": {"version": "43", "sha256": "1nic3ds6y8gbrihfbqm9q62258rvrrv0prnkrbg5kx37bbnl2z5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsYXVuY2hlcnMgZm9yIEZhdm9yaXRlcyB0byB0aGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1wYW5lbC1mYXZvcml0ZXMiLAogICJuYW1lIjogIkZyaXBwZXJ5IFBhbmVsIEZhdm9yaXRlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkucGFuZWwtZmF2b3JpdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIlBhbmVsX0Zhdm9yaXRlc0BybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}, "41": {"version": "43", "sha256": "1nic3ds6y8gbrihfbqm9q62258rvrrv0prnkrbg5kx37bbnl2z5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsYXVuY2hlcnMgZm9yIEZhdm9yaXRlcyB0byB0aGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1wYW5lbC1mYXZvcml0ZXMiLAogICJuYW1lIjogIkZyaXBwZXJ5IFBhbmVsIEZhdm9yaXRlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkucGFuZWwtZmF2b3JpdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIlBhbmVsX0Zhdm9yaXRlc0BybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}}}
 , {"uuid": "apps-menu@gnome-shell-extensions.gcampax.github.com", "name": "Applications Menu", "pname": "applications-menu", "description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/6/applications-menu/", "shell_version_map": {"38": {"version": "46", "sha256": "1l5fliypxq3s3b6crv7rc6nl741m7hw48dwl0g7vi3yxyw0vyc0x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJhcHBzLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDYKfQ=="}, "40": {"version": "48", "sha256": "0whi4ir3hvz6gby57331hv0a80ssz1b746pj79v43cm15djlsbhv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiYXBwcy1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ4Cn0="}, "41": {"version": "50", "sha256": "1x71mysa80n5nlfk79xgcz6k40qmw02g78pqjsvdinxsqlxi9ak6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}}}
 , {"uuid": "drive-menu@gnome-shell-extensions.gcampax.github.com", "name": "Removable Drive Menu", "pname": "removable-drive-menu", "description": "A status menu for accessing and unmounting removable devices.", "link": "https://extensions.gnome.org/extension/7/removable-drive-menu/", "shell_version_map": {"38": {"version": "45", "sha256": "1f5a9md2gxbl65shbdm498y5dwhhqdpj96gvf2m81ad7gsgxzliv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlJlbW92YWJsZSBEcml2ZSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJkcml2ZS1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "40": {"version": "47", "sha256": "0sa694y58jx4yhjb16i25d6h1z5d8vzamwpqlrfs35g0bq93ri5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlJlbW92YWJsZSBEcml2ZSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiZHJpdmUtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Nwp9"}, "41": {"version": "50", "sha256": "1gwi4xwwjps5mm412nck6nqbvcvll2n3h48wc74p9yi34fpr31dq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTAKfQ=="}}}
@@ -11,7 +11,7 @@
 , {"uuid": "user-theme@gnome-shell-extensions.gcampax.github.com", "name": "User Themes", "pname": "user-themes", "description": "Load shell themes from user directory.", "link": "https://extensions.gnome.org/extension/19/user-themes/", "shell_version_map": {"38": {"version": "42", "sha256": "0jykwcd8pmvr03dm2vala6nzzhi9i83c11svgx8wymfvxr5qrya8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInVzZXItdGhlbWVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "40": {"version": "46", "sha256": "07gbzvbnxah5bws5vc6sivw43j0rgm23n6vsp4a64z7s8s2ay7sm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ1c2VyLXRoZW1lQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "41": {"version": "48", "sha256": "0bbm4vbyrp9n3mmqwbhpb6f7dmlx23x1avnp8pilw4p1wr03p7h8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"}}}
 , {"uuid": "workspace-indicator@gnome-shell-extensions.gcampax.github.com", "name": "Workspace Indicator", "pname": "workspace-indicator", "description": "Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one.", "link": "https://extensions.gnome.org/extension/21/workspace-indicator/", "shell_version_map": {"38": {"version": "45", "sha256": "16y7zhlsj0qjwwj78fvcr81m7081i2y30gwjm35qahr3j0gfrk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid29ya3NwYWNlLWluZGljYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"}, "40": {"version": "49", "sha256": "0483k1scq0lwfpg3i3yww7kfzv0qwlp6aqyikkacivh0nkq6v2iy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3JAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDkKfQ=="}, "41": {"version": "51", "sha256": "1s2mkk41vq9nrlsw26317zh592l59y7cldfmkd3f0d4j2mdiy8bw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUxCn0="}}}
 , {"uuid": "gTile@vibou", "name": "gTile", "pname": "gtile", "description": "Tile windows on a grid.", "link": "https://extensions.gnome.org/extension/28/gtile/", "shell_version_map": {"38": {"version": "48", "sha256": "10lldk59j2sfdhcxj8dw83bhc1jkm2343h8yxb2v722qhkz1bhhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZS9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJ1dWlkIjogImdUaWxlQHZpYm91IiwKICAidmVyc2lvbiI6IDQ4Cn0="}, "40": {"version": "48", "sha256": "10lldk59j2sfdhcxj8dw83bhc1jkm2343h8yxb2v722qhkz1bhhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZS9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJ1dWlkIjogImdUaWxlQHZpYm91IiwKICAidmVyc2lvbiI6IDQ4Cn0="}, "41": {"version": "48", "sha256": "10lldk59j2sfdhcxj8dw83bhc1jkm2343h8yxb2v722qhkz1bhhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZS9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJ1dWlkIjogImdUaWxlQHZpYm91IiwKICAidmVyc2lvbiI6IDQ4Cn0="}}}
-, {"uuid": "lockkeys@vaina.lt", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock & Capslock status on the panel", "link": "https://extensions.gnome.org/extension/36/lock-keys/", "shell_version_map": {"38": {"version": "45", "sha256": "0cqkhi8k8lywjsy9g6nbl5kbv8bvz4nql16k1ciajar4443gbz7i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA0NQp9"}, "40": {"version": "45", "sha256": "0cqkhi8k8lywjsy9g6nbl5kbv8bvz4nql16k1ciajar4443gbz7i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA0NQp9"}, "41": {"version": "45", "sha256": "0cqkhi8k8lywjsy9g6nbl5kbv8bvz4nql16k1ciajar4443gbz7i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA0NQp9"}}}
+, {"uuid": "lockkeys@vaina.lt", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock & Capslock status on the panel. Gnome version 3.30 and earlier users please install 44 version of the extension https://extensions.gnome.org/download-extension/lockkeys%40vaina.lt.shell-extension.zip?version_tag=26229 ", "link": "https://extensions.gnome.org/extension/36/lock-keys/", "shell_version_map": {"38": {"version": "45", "sha256": "08g4gng7ik6y27yl4s8cbk9k5k89xlkgi02jwximjvqnrsp0r5sg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "40": {"version": "45", "sha256": "08g4gng7ik6y27yl4s8cbk9k5k89xlkgi02jwximjvqnrsp0r5sg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "41": {"version": "45", "sha256": "08g4gng7ik6y27yl4s8cbk9k5k89xlkgi02jwximjvqnrsp0r5sg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDQ1Cn0="}}}
 , {"uuid": "putWindow@clemens.lab21.org", "name": "Put Windows", "pname": "put-windows", "description": "Fully customizable replacement for the old compiz put plugin. \n * Move windows to left/right side, bottom/top, center or corner \n * Move window to other screen \n * Select focused window using the keyboard \n * Application based window placement \n\n Please check github if your gnome-shell version is not supported", "link": "https://extensions.gnome.org/extension/39/put-windows/", "shell_version_map": {"38": {"version": "32", "sha256": "1n4hk2sqdbcn25lxk02vljc9xxbidragimvc4b6dj2m72625lx67", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IGN1c3RvbWl6YWJsZSByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCBjb21waXogcHV0IHBsdWdpbi4gXG4gKiBNb3ZlIHdpbmRvd3MgdG8gbGVmdC9yaWdodCBzaWRlLCBib3R0b20vdG9wLCBjZW50ZXIgb3IgY29ybmVyIFxuICogTW92ZSB3aW5kb3cgdG8gb3RoZXIgc2NyZWVuIFxuICogU2VsZWN0IGZvY3VzZWQgd2luZG93IHVzaW5nIHRoZSBrZXlib2FyZCBcbiAqIEFwcGxpY2F0aW9uIGJhc2VkIHdpbmRvdyBwbGFjZW1lbnQgXG5cbiBQbGVhc2UgY2hlY2sgZ2l0aHViIGlmIHlvdXIgZ25vbWUtc2hlbGwgdmVyc2lvbiBpcyBub3Qgc3VwcG9ydGVkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHV0V2luZG93IiwKICAibmFtZSI6ICJQdXQgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmctbGFiMjEtcHV0d2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVnZXN0aS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLW5lZ2VzdGkiLAogICJ1dWlkIjogInB1dFdpbmRvd0BjbGVtZW5zLmxhYjIxLm9yZyIsCiAgInZlcnNpb24iOiAzMgp9"}}}
 , {"uuid": "permanent-notifications@bonzini.gnu.org", "name": "Permanent notifications", "pname": "permanent-notifications", "description": "Keep notifications on the message tray until clicked", "link": "https://extensions.gnome.org/extension/41/permanent-notifications/", "shell_version_map": {"40": {"version": "7", "sha256": "1zlxvn9c4ydpvkja6vpyvif21rfi1y86rzi0iqms5mk8in4cgx41", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgbm90aWZpY2F0aW9ucyBvbiB0aGUgbWVzc2FnZSB0cmF5IHVudGlsIGNsaWNrZWQiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlBlcm1hbmVudCBub3RpZmljYXRpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJib256aW5pQGdudS5vcmciCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuMi4xIiwKICAgICIzLjQiLAogICAgIjMuMy45MCIsCiAgICAiMy4zLjkxIiwKICAgICIzLjMuOTIiLAogICAgIjMuNiIsCiAgICAiMy40LjEiLAogICAgIjMuMy45MyIsCiAgICAiMy4zLjk0IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JvbnppbmkvZ25vbWUtc2hlbGwtcGVybWFuZW50LW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogInBlcm1hbmVudC1ub3RpZmljYXRpb25zQGJvbnppbmkuZ251Lm9yZyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1zlxvn9c4ydpvkja6vpyvif21rfi1y86rzi0iqms5mk8in4cgx41", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgbm90aWZpY2F0aW9ucyBvbiB0aGUgbWVzc2FnZSB0cmF5IHVudGlsIGNsaWNrZWQiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlBlcm1hbmVudCBub3RpZmljYXRpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJib256aW5pQGdudS5vcmciCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuMi4xIiwKICAgICIzLjQiLAogICAgIjMuMy45MCIsCiAgICAiMy4zLjkxIiwKICAgICIzLjMuOTIiLAogICAgIjMuNiIsCiAgICAiMy40LjEiLAogICAgIjMuMy45MyIsCiAgICAiMy4zLjk0IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JvbnppbmkvZ25vbWUtc2hlbGwtcGVybWFuZW50LW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogInBlcm1hbmVudC1ub3RpZmljYXRpb25zQGJvbnppbmkuZ251Lm9yZyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "gnome-shell-trash-extension", "name": "Trash", "pname": "trash", "description": "A Trash button for the GNOME shell panel", "link": "https://extensions.gnome.org/extension/48/trash/", "shell_version_map": {"38": {"version": "18", "sha256": "1cysvxrgi7lnig7d8blhqqbxz0phd4fvn7nww6zpihjnw32rvm4z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iZXJ0b2xkaWEvZ25vbWUtc2hlbGwtdHJhc2gtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
@@ -22,7 +22,7 @@
 , {"uuid": "favorites@cvine.org", "name": "Favorites Menu", "pname": "favorites-menu", "description": "Provide panel menu for favorites", "link": "https://extensions.gnome.org/extension/115/favorites-menu/", "shell_version_map": {"40": {"version": "15", "sha256": "02s0p33dcr6wrxivjd47rwb42whqc6qswr3qdvd7p6jym4zddbi2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuY3ZpbmUucGx1cy5jb20vZmF2b3JpdGVzL2luZGV4Lmh0bWwiLAogICJ1dWlkIjogImZhdm9yaXRlc0BjdmluZS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "17", "sha256": "1xbm8d4669j727fw3cm5lmdkfq46xwavsiivr7s9l0nnmnafjzbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuY3ZpbmUucGx1cy5jb20vZmF2b3JpdGVzL2luZGV4Lmh0bWwiLAogICJ1dWlkIjogImZhdm9yaXRlc0BjdmluZS5vcmciLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "system-monitor@paradoxxx.zero.gmail.com", "name": "system-monitor", "pname": "system-monitor", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…", "link": "https://extensions.gnome.org/extension/120/system-monitor/", "shell_version_map": {"40": {"version": "40", "sha256": "05xmpbwwjzax5y7p7a492k6mmv9rjiyinnrfkzrzm16yncn3mbvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcmFkb3h4eHplcm8vZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvckBwYXJhZG94eHguemVyby5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "Fuzzy_Clock@dallagi", "name": "Fuzzy Clock", "pname": "fuzzy-clock", "description": "A human-readable clock for the gnome-shell panel", "link": "https://extensions.gnome.org/extension/202/fuzzy-clock/", "shell_version_map": {"38": {"version": "9", "sha256": "1cga3192balji63zmbbyixb4r53j48zhil4hnv57l3b25k4rmk0i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgY2xvY2sgZm9yIHRoZSBnbm9tZS1zaGVsbCBwYW5lbCIsCiAgIm5hbWUiOiAiRnV6enkgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWxsYWdpL2dub21lLXNoZWxsLWZ1enp5LWNsb2NrIiwKICAidXVpZCI6ICJGdXp6eV9DbG9ja0BkYWxsYWdpIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
-, {"uuid": "PersianCalendar@oxygenws.com", "name": "Persian Calendar", "pname": "persian-calendar", "description": "Shows Persian date in the top panel.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is a holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri\n5- Events:\n5-1- Official solar events.\n5-2- Official lunar events.\n5-3- Official international events.\n5-4- Traditional Persian events.\n5-5- Persian personages.\n\nPlease \"rate\" here and \"star\" the project in GitHub.\nPlease open an issue in GitHub if you've found something or have an idea!", "link": "https://extensions.gnome.org/extension/240/persian-calendar/", "shell_version_map": {"38": {"version": "73", "sha256": "14p27d2h58jam7h97y06safsc2c8rwmjy74nak5w9cv7s0wx4kar", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA3Mwp9"}, "40": {"version": "89", "sha256": "1szb28inm12glf7q79rxhm0qbpysdjq9vn0z329z9c7qv3qhndn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vbWlkL1BlcnNpYW4tQ2FsZW5kYXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJQZXJzaWFuQ2FsZW5kYXJAb3h5Z2Vud3MuY29tIiwKICAidmVyc2lvbiI6IDg5Cn0="}, "41": {"version": "89", "sha256": "1szb28inm12glf7q79rxhm0qbpysdjq9vn0z329z9c7qv3qhndn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vbWlkL1BlcnNpYW4tQ2FsZW5kYXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJQZXJzaWFuQ2FsZW5kYXJAb3h5Z2Vud3MuY29tIiwKICAidmVyc2lvbiI6IDg5Cn0="}}}
+, {"uuid": "PersianCalendar@oxygenws.com", "name": "Persian Calendar", "pname": "persian-calendar", "description": "Shows Persian date in the top panel.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is a holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri\n5- Events:\n5-1- Official solar events.\n5-2- Official lunar events.\n5-3- Official international events.\n5-4- Traditional Persian events.\n5-5- Persian personages.\n\nPlease \"rate\" here and \"star\" the project in GitHub.\nPlease open an issue in GitHub if you've found something or have an idea!", "link": "https://extensions.gnome.org/extension/240/persian-calendar/", "shell_version_map": {"38": {"version": "73", "sha256": "14p27d2h58jam7h97y06safsc2c8rwmjy74nak5w9cv7s0wx4kar", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA3Mwp9"}, "40": {"version": "90", "sha256": "08h7jz5i9kx53bfsqirfyk1a2kp30lwqivkcr4wi9lx99byygyfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vbWlkL1BlcnNpYW4tQ2FsZW5kYXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJQZXJzaWFuQ2FsZW5kYXJAb3h5Z2Vud3MuY29tIiwKICAidmVyc2lvbiI6IDkwCn0="}, "41": {"version": "90", "sha256": "08h7jz5i9kx53bfsqirfyk1a2kp30lwqivkcr4wi9lx99byygyfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vbWlkL1BlcnNpYW4tQ2FsZW5kYXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJQZXJzaWFuQ2FsZW5kYXJAb3h5Z2Vud3MuY29tIiwKICAidmVyc2lvbiI6IDkwCn0="}}}
 , {"uuid": "kimpanel@kde.org", "name": "Input Method Panel", "pname": "kimpanel", "description": "Input Method Panel using KDE's kimpanel protocol for Gnome-Shell", "link": "https://extensions.gnome.org/extension/261/kimpanel/", "shell_version_map": {"38": {"version": "59", "sha256": "0rh2in9cm9khvmhhzyyw98z6bwvv95v59zcapkjpd7kbs38hqdw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5neHQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbXBhbmVsIiwKICAidXVpZCI6ICJraW1wYW5lbEBrZGUub3JnIiwKICAidmVyc2lvbiI6IDU5Cn0="}, "40": {"version": "69", "sha256": "0dyaxcfj2jcmy253b5hmi8kfrz9x3faqm7akyf7aawk2c047y21k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbmd4dC9nbm9tZS1zaGVsbC1leHRlbnNpb24ta2ltcGFuZWwiLAogICJ1dWlkIjogImtpbXBhbmVsQGtkZS5vcmciLAogICJ2ZXJzaW9uIjogNjkKfQ=="}, "41": {"version": "69", "sha256": "0dyaxcfj2jcmy253b5hmi8kfrz9x3faqm7akyf7aawk2c047y21k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbmd4dC9nbm9tZS1zaGVsbC1leHRlbnNpb24ta2ltcGFuZWwiLAogICJ1dWlkIjogImtpbXBhbmVsQGtkZS5vcmciLAogICJ2ZXJzaW9uIjogNjkKfQ=="}}}
 , {"uuid": "impatience@gfxmonk.net", "name": "Impatience", "pname": "impatience", "description": "Speed up the gnome-shell animation speed", "link": "https://extensions.gnome.org/extension/277/impatience/", "shell_version_map": {"40": {"version": "17", "sha256": "10zjxf8swp3n34q3mdid4ni109r1274c2iyd8nmwzyzsi11a14dj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dmeG1vbmsubmV0L2Rpc3QvMGluc3RhbGwvZ25vbWUtc2hlbGwtaW1wYXRpZW5jZS54bWwiLAogICJ1dWlkIjogImltcGF0aWVuY2VAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "10zjxf8swp3n34q3mdid4ni109r1274c2iyd8nmwzyzsi11a14dj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dmeG1vbmsubmV0L2Rpc3QvMGluc3RhbGwvZ25vbWUtc2hlbGwtaW1wYXRpZW5jZS54bWwiLAogICJ1dWlkIjogImltcGF0aWVuY2VAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "windowoverlay-icons@sustmidown.centrum.cz", "name": "WindowOverlay Icons", "pname": "windowoverlay-icons", "description": "Add application icons to window overview", "link": "https://extensions.gnome.org/extension/302/windowoverlay-icons/", "shell_version_map": {"38": {"version": "37", "sha256": "108a5i5v62a9i61av5pib3b0hcpmb6pw3np7c29jfngs25n14wd3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhcHBsaWNhdGlvbiBpY29ucyB0byB3aW5kb3cgb3ZlcnZpZXciLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aW5kb3dvdmVybGF5LWljb25zIiwKICAibmFtZSI6ICJXaW5kb3dPdmVybGF5IEljb25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvd292ZXJsYXktaWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdXN0bWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd292ZXJsYXktaWNvbnMiLAogICJ1dWlkIjogIndpbmRvd292ZXJsYXktaWNvbnNAc3VzdG1pZG93bi5jZW50cnVtLmN6IiwKICAidmVyc2lvbiI6IDM3Cn0="}}}
@@ -36,20 +36,20 @@
 , {"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": "100", "sha256": "19mwdahjj5lyjbhzl7cha129zmccfgxy4yjhrsfk18i4k394rbcj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWx1dGZ5L2hpZGV0b3BiYXIiLAogICJ1dWlkIjogImhpZGV0b3BiYXJAbWF0aGlldS5iaWRvbi5jYSIsCiAgInZlcnNpb24iOiAxMDAKfQ=="}, "40": {"version": "100", "sha256": "19mwdahjj5lyjbhzl7cha129zmccfgxy4yjhrsfk18i4k394rbcj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWx1dGZ5L2hpZGV0b3BiYXIiLAogICJ1dWlkIjogImhpZGV0b3BiYXJAbWF0aGlldS5iaWRvbi5jYSIsCiAgInZlcnNpb24iOiAxMDAKfQ=="}, "41": {"version": "100", "sha256": "19mwdahjj5lyjbhzl7cha129zmccfgxy4yjhrsfk18i4k394rbcj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWx1dGZ5L2hpZGV0b3BiYXIiLAogICJ1dWlkIjogImhpZGV0b3BiYXJAbWF0aGlldS5iaWRvbi5jYSIsCiAgInZlcnNpb24iOiAxMDAKfQ=="}}}
+, {"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=="}}}
 , {"uuid": "autohide-battery@sitnik.ru", "name": "Autohide Battery", "pname": "autohide-battery", "description": "Hide battery icon in top panel, if battery is fully charged and AC is connected", "link": "https://extensions.gnome.org/extension/595/autohide-battery/", "shell_version_map": {"40": {"version": "23", "sha256": "1kxcb301ql1q3vyswnwgq8rmdyxj6zrngah2rwrbiy1wjz726xg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9hdXRvaGlkZS1iYXR0ZXJ5IiwKICAidXVpZCI6ICJhdXRvaGlkZS1iYXR0ZXJ5QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "1kxcb301ql1q3vyswnwgq8rmdyxj6zrngah2rwrbiy1wjz726xg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9hdXRvaGlkZS1iYXR0ZXJ5IiwKICAidXVpZCI6ICJhdXRvaGlkZS1iYXR0ZXJ5QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAyMwp9"}}}
 , {"uuid": "launch-new-instance@gnome-shell-extensions.gcampax.github.com", "name": "Launch new instance", "pname": "launch-new-instance", "description": "Always launch a new instance when clicking in the dash or the application view.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/600/launch-new-instance/", "shell_version_map": {"38": {"version": "29", "sha256": "0qb1ajjwm076zxsd314n7f5vl72ih7j4h9y84bqwb9cxa53mp4g4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJMYXVuY2ggbmV3IGluc3RhbmNlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsYXVuY2gtbmV3LWluc3RhbmNlQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "40": {"version": "31", "sha256": "0c667wdrpfd8bh2wygglzk1bp63z6xvknhj2rhw8v3vlmhpn8994", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJMYXVuY2ggbmV3IGluc3RhbmNlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAibGF1bmNoLW5ldy1pbnN0YW5jZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMQp9"}, "41": {"version": "33", "sha256": "1z2kjrqaziw5v5sig92kng302w3pdkkkcl7dlhwjqlgfhkhpdxlm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
-, {"uuid": "window-list@gnome-shell-extensions.gcampax.github.com", "name": "Window List", "pname": "window-list", "description": "Display a window list at the bottom of the screen.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/602/window-list/", "shell_version_map": {"38": {"version": "34", "sha256": "06jww5sv3a32plbvnl1xch10y19q807dx6zn6z5gwpvq8n0nvnx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "38", "sha256": "0r4mqs88vnz8qrd2qcfg5gs184rnqbb9sgnpl3vrdmj608k1mx1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIndpbmRvdy1saXN0QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}, "41": {"version": "40", "sha256": "0jxfcyqs198nbbvai770l84vnn0diqz292420gsm9v5qhw444k0a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
+, {"uuid": "window-list@gnome-shell-extensions.gcampax.github.com", "name": "Window List", "pname": "window-list", "description": "Display a window list at the bottom of the screen.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/602/window-list/", "shell_version_map": {"38": {"version": "34", "sha256": "06jww5sv3a32plbvnl1xch10y19q807dx6zn6z5gwpvq8n0nvnx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "41", "sha256": "16vf0b3wqr5s6fqxqlz3ly28nkvsv3ygvfk1sqxgrpqnw823x8bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}, "41": {"version": "42", "sha256": "1jhgnzlrpnbhqx4rkr9nf7yrwdbc9h6n46aindfpp7kdgv2spymi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}}}
 , {"uuid": "MultiClock@mibus.org", "name": "MultiClock", "pname": "multiclock", "description": "A clock for showing a second timezone in the panel.", "link": "https://extensions.gnome.org/extension/605/multiclock/", "shell_version_map": {"40": {"version": "8", "sha256": "1pp1cnmpix668mrywpv6mkyb45lw7f6cwibjl6bc7cgb01hkzd53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgY2xvY2sgZm9yIHNob3dpbmcgYSBzZWNvbmQgdGltZXpvbmUgaW4gdGhlIHBhbmVsLiIsCiAgIm5hbWUiOiAiTXVsdGlDbG9jayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5taWJ1c011bHRpQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWJ1cy9NdWx0aUNsb2NrIiwKICAidXVpZCI6ICJNdWx0aUNsb2NrQG1pYnVzLm9yZyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "appindicatorsupport@rgcjonas.gmail.com", "name": "AppIndicator and KStatusNotifierItem Support", "pname": "appindicator-support", "description": "Adds AppIndicator, KStatusNotifierItem and legacy Tray icons support to the Shell", "link": "https://extensions.gnome.org/extension/615/appindicator-support/", "shell_version_map": {"38": {"version": "41", "sha256": "0d2pvcw13wr7jbwjds4byxnq3q9vqm2r6fs5plcgl2dp787kmxi2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91YnVudHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFwcGluZGljYXRvciIsCiAgInV1aWQiOiAiYXBwaW5kaWNhdG9yc3VwcG9ydEByZ2Nqb25hcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}, "40": {"version": "41", "sha256": "0d2pvcw13wr7jbwjds4byxnq3q9vqm2r6fs5plcgl2dp787kmxi2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91YnVudHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFwcGluZGljYXRvciIsCiAgInV1aWQiOiAiYXBwaW5kaWNhdG9yc3VwcG9ydEByZ2Nqb25hcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}, "41": {"version": "41", "sha256": "0d2pvcw13wr7jbwjds4byxnq3q9vqm2r6fs5plcgl2dp787kmxi2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91YnVudHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFwcGluZGljYXRvciIsCiAgInV1aWQiOiAiYXBwaW5kaWNhdG9yc3VwcG9ydEByZ2Nqb25hcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}}}
-, {"uuid": "bitcoin-markets@ottoallmendinger.github.com", "name": "Bitcoin Markets", "pname": "bitcoin-markets", "description": "Display info on various crypto-currency exchanges.", "link": "https://extensions.gnome.org/extension/648/bitcoin-markets/", "shell_version_map": {"38": {"version": "57", "sha256": "1dbrkr49gi93nps610afvw2q68d1ialkhxsxd0waa8xgwjxwzyxd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjU3IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3R0b0FsbG1lbmRpbmdlci9nbm9tZS1zaGVsbC1iaXRjb2luLW1hcmtldHMvIiwKICAidXVpZCI6ICJiaXRjb2luLW1hcmtldHNAb3R0b2FsbG1lbmRpbmdlci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU3Cn0="}, "40": {"version": "64", "sha256": "0m4dcrlmmfcqb1lvlcdasgyjx8v4iahnbvxi1rkini03g3z8skp0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjYzLWRpcnR5IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLWJpdGNvaW4tbWFya2V0cy8iLAogICJ1dWlkIjogImJpdGNvaW4tbWFya2V0c0BvdHRvYWxsbWVuZGluZ2VyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjQKfQ=="}, "41": {"version": "64", "sha256": "0m4dcrlmmfcqb1lvlcdasgyjx8v4iahnbvxi1rkini03g3z8skp0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjYzLWRpcnR5IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLWJpdGNvaW4tbWFya2V0cy8iLAogICJ1dWlkIjogImJpdGNvaW4tbWFya2V0c0BvdHRvYWxsbWVuZGluZ2VyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjQKfQ=="}}}
+, {"uuid": "bitcoin-markets@ottoallmendinger.github.com", "name": "Bitcoin Markets", "pname": "bitcoin-markets", "description": "Display info on various crypto-currency exchanges.", "link": "https://extensions.gnome.org/extension/648/bitcoin-markets/", "shell_version_map": {"38": {"version": "57", "sha256": "1dbrkr49gi93nps610afvw2q68d1ialkhxsxd0waa8xgwjxwzyxd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjU3IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3R0b0FsbG1lbmRpbmdlci9nbm9tZS1zaGVsbC1iaXRjb2luLW1hcmtldHMvIiwKICAidXVpZCI6ICJiaXRjb2luLW1hcmtldHNAb3R0b2FsbG1lbmRpbmdlci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU3Cn0="}, "40": {"version": "65", "sha256": "10jg1ixk0zfb67licr807wf68bzsdiv9fb9j40xjg49li72c6hrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY1IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLWJpdGNvaW4tbWFya2V0cy8iLAogICJ1dWlkIjogImJpdGNvaW4tbWFya2V0c0BvdHRvYWxsbWVuZGluZ2VyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjUKfQ=="}, "41": {"version": "65", "sha256": "10jg1ixk0zfb67licr807wf68bzsdiv9fb9j40xjg49li72c6hrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY1IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLWJpdGNvaW4tbWFya2V0cy8iLAogICJ1dWlkIjogImJpdGNvaW4tbWFya2V0c0BvdHRvYWxsbWVuZGluZ2VyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjUKfQ=="}}}
 , {"uuid": "ShellTile@emasab.it", "name": "ShellTile", "pname": "shelltile", "description": "A tiling window extension for GNOME Shell. Just move a window to the edges of the screen to create a tiling, otherwise move a window over another one, holding down the Control key. Grouped windows minimize, resize, raise and change workspace together. Move or maximize a window to remove it from the group.", "link": "https://extensions.gnome.org/extension/657/shelltile/", "shell_version_map": {"38": {"version": "65", "sha256": "0kb7crng8lmkcjjxzd7ma2x0x43rg4j5ygvvpiq5z2j15rx8bcg4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgdGlsaW5nIHdpbmRvdyBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBKdXN0IG1vdmUgYSB3aW5kb3cgdG8gdGhlIGVkZ2VzIG9mIHRoZSBzY3JlZW4gdG8gY3JlYXRlIGEgdGlsaW5nLCBvdGhlcndpc2UgbW92ZSBhIHdpbmRvdyBvdmVyIGFub3RoZXIgb25lLCBob2xkaW5nIGRvd24gdGhlIENvbnRyb2wga2V5LiBHcm91cGVkIHdpbmRvd3MgbWluaW1pemUsIHJlc2l6ZSwgcmFpc2UgYW5kIGNoYW5nZSB3b3Jrc3BhY2UgdG9nZXRoZXIuIE1vdmUgb3IgbWF4aW1pemUgYSB3aW5kb3cgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIGdyb3VwLiIsCiAgImdldHRleHQtZG9tYWluIjogInNoZWxsdGlsZSIsCiAgIm5hbWUiOiAiU2hlbGxUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsdGlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbWFzYWIvc2hlbGx0aWxlIiwKICAidXVpZCI6ICJTaGVsbFRpbGVAZW1hc2FiLml0IiwKICAidmVyc2lvbiI6IDY1Cn0="}}}
 , {"uuid": "lunarcal@ailin.nemui", "name": "Lunar Calendar 农历", "pname": "lunar-calendar", "description": "Display Chinese Lunar Calendar in panel\n\n⚠⚠⚠ dependency: typelib-1_0-LunarDate-3_0 / gir1.2-lunar-date-2.0", "link": "https://extensions.gnome.org/extension/675/lunar-calendar/", "shell_version_map": {"38": {"version": "25", "sha256": "1pj439wdsqpxim6p4d0y09v40kdjga908hagxfyvq0fzjykc51rn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "27", "sha256": "159iiyw0sblq8jwkm1qfcakgdy3rvk07vzz8q6yj2davp64wpg5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "27", "sha256": "159iiyw0sblq8jwkm1qfcakgdy3rvk07vzz8q6yj2davp64wpg5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAyNwp9"}}}
 , {"uuid": "EasyScreenCast@iacopodeenosee.gmail.com", "name": "EasyScreenCast", "pname": "easyscreencast", "description": "This extension simplifies the use of the video recording function integrated in gnome shell, allows quickly to change the various settings of the desktop recording.\n\nSOURCE CODE ->  https://github.com/EasyScreenCast/EasyScreenCast\n\nVIDEO ->  https://youtu.be/81E9AruraKU\n\n**NOTICE**\nif an error occurs during the update is recommended to reload GNOME Shell (Alt + F2, 'r') and reload the extension's installation page.", "link": "https://extensions.gnome.org/extension/690/easyscreencast/", "shell_version_map": {"38": {"version": "41", "sha256": "0irmbbj7jd628agq80f4ms8skawjvsi9a7izair11knydhkab944", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}, "40": {"version": "41", "sha256": "0irmbbj7jd628agq80f4ms8skawjvsi9a7izair11knydhkab944", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}, "41": {"version": "41", "sha256": "0irmbbj7jd628agq80f4ms8skawjvsi9a7izair11knydhkab944", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}}}
-, {"uuid": "scroll-workspaces@gfxmonk.net", "name": "Top Panel Workspace Scroll", "pname": "top-panel-workspace-scroll", "description": "Change workspaces by scrolling over the top panel", "link": "https://extensions.gnome.org/extension/701/top-panel-workspace-scroll/", "shell_version_map": {"40": {"version": "24", "sha256": "1i7l26x22wzqplq42z2317ynq4s4vwwzb3ql9lhpkyn8d7g7xa4x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dmeG1vbmsvZ25vbWUtc2hlbGwtc2Nyb2xsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNjcm9sbC13b3Jrc3BhY2VzQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"uuid": "scroll-workspaces@gfxmonk.net", "name": "Top Panel Workspace Scroll", "pname": "top-panel-workspace-scroll", "description": "Change workspaces by scrolling over the top panel", "link": "https://extensions.gnome.org/extension/701/top-panel-workspace-scroll/", "shell_version_map": {"40": {"version": "29", "sha256": "022pkhylbxwcppsfgs0znk6pr7j160w7l7dm517ksip59zifa7mk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZnhtb25rL2dub21lLXNoZWxsLXNjcm9sbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJzY3JvbGwtd29ya3NwYWNlc0BnZnhtb25rLm5ldCIsCiAgInZlcnNpb24iOiAyOQp9"}, "41": {"version": "29", "sha256": "022pkhylbxwcppsfgs0znk6pr7j160w7l7dm517ksip59zifa7mk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZnhtb25rL2dub21lLXNoZWxsLXNjcm9sbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJzY3JvbGwtd29ya3NwYWNlc0BnZnhtb25rLm5ldCIsCiAgInZlcnNpb24iOiAyOQp9"}}}
 , {"uuid": "all-windows@ezix.org", "name": "All Windows", "pname": "all-windows", "description": "List open windows of all workspaces", "link": "https://extensions.gnome.org/extension/704/all-windows/", "shell_version_map": {"40": {"version": "13", "sha256": "19cxrgxpim2dca6llbi8cr34hjx3pab2i4687803r96cp2hsg07l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzIiwKICAibmFtZSI6ICJBbGwgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHlvbmVsL2FsbC13aW5kb3dzIiwKICAidXVpZCI6ICJhbGwtd2luZG93c0Bleml4Lm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "19cxrgxpim2dca6llbi8cr34hjx3pab2i4687803r96cp2hsg07l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzIiwKICAibmFtZSI6ICJBbGwgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHlvbmVsL2FsbC13aW5kb3dzIiwKICAidXVpZCI6ICJhbGwtd2luZG93c0Bleml4Lm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "panel-osd@berend.de.schouwer.gmail.com", "name": "Panel OSD", "pname": "panel-osd", "description": "Configuring where on the (main) screen notifications will appear, instead of just above the message tray", "link": "https://extensions.gnome.org/extension/708/panel-osd/", "shell_version_map": {"38": {"version": "39", "sha256": "109qlcckx5z8fwndpr86r2bfggyh4akmi6lqi0ki7gr9bfigdqnv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyaW5nIHdoZXJlIG9uIHRoZSAobWFpbikgc2NyZWVuIG5vdGlmaWNhdGlvbnMgd2lsbCBhcHBlYXIsIGluc3RlYWQgb2YganVzdCBhYm92ZSB0aGUgbWVzc2FnZSB0cmF5IiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJQYW5lbCBPU0QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qZW5zbG9keS9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWwtb3NkIiwKICAidXVpZCI6ICJwYW5lbC1vc2RAYmVyZW5kLmRlLnNjaG91d2VyLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "40": {"version": "40", "sha256": "0hskvmdnqjihixaxhb7a7apsx0203zmymm5j6ncb2al928p795yx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyaW5nIHdoZXJlIG9uIHRoZSAobWFpbikgc2NyZWVuIG5vdGlmaWNhdGlvbnMgd2lsbCBhcHBlYXIsIGluc3RlYWQgb2YganVzdCBhYm92ZSB0aGUgbWVzc2FnZSB0cmF5IiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJQYW5lbCBPU0QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vamVuc2xvZHkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBhbmVsLW9zZCIsCiAgInV1aWQiOiAicGFuZWwtb3NkQGJlcmVuZC5kZS5zY2hvdXdlci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "pixel-saver@deadalnix.me", "name": "Pixel Saver", "pname": "pixel-saver", "description": "Pixel Saver is designed to save pixel by fusing activity bar and title bar in a natural way.", "link": "https://extensions.gnome.org/extension/723/pixel-saver/", "shell_version_map": {"38": {"version": "25", "sha256": "10bzd0vdqm398xwyj2bn5klxmaazwh39clwp1069qszsxmw0lr86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkuIiwKICAibmFtZSI6ICJQaXhlbCBTYXZlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAuMSIsCiAgICAiNDAuMiIsCiAgICAiNDAuMyIsCiAgICAiNDEuMCIsCiAgICAiNDEuMSIsCiAgICAiNDEuMiIsCiAgICAiNDEuMyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlYWRhbG5peC9waXhlbC1zYXZlciIsCiAgInV1aWQiOiAicGl4ZWwtc2F2ZXJAZGVhZGFsbml4Lm1lIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "25", "sha256": "10bzd0vdqm398xwyj2bn5klxmaazwh39clwp1069qszsxmw0lr86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkuIiwKICAibmFtZSI6ICJQaXhlbCBTYXZlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAuMSIsCiAgICAiNDAuMiIsCiAgICAiNDAuMyIsCiAgICAiNDEuMCIsCiAgICAiNDEuMSIsCiAgICAiNDEuMiIsCiAgICAiNDEuMyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlYWRhbG5peC9waXhlbC1zYXZlciIsCiAgInV1aWQiOiAicGl4ZWwtc2F2ZXJAZGVhZGFsbml4Lm1lIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "41": {"version": "25", "sha256": "10bzd0vdqm398xwyj2bn5klxmaazwh39clwp1069qszsxmw0lr86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkuIiwKICAibmFtZSI6ICJQaXhlbCBTYXZlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAuMSIsCiAgICAiNDAuMiIsCiAgICAiNDAuMyIsCiAgICAiNDEuMCIsCiAgICAiNDEuMSIsCiAgICAiNDEuMiIsCiAgICAiNDEuMyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlYWRhbG5peC9waXhlbC1zYXZlciIsCiAgInV1aWQiOiAicGl4ZWwtc2F2ZXJAZGVhZGFsbml4Lm1lIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
@@ -63,7 +63,7 @@
 , {"uuid": "ProxySwitcher@flannaghan.com", "name": "Proxy Switcher", "pname": "proxy-switcher", "description": "Switches between the system proxy settings profiles defined in Network Settings.", "link": "https://extensions.gnome.org/extension/771/proxy-switcher/", "shell_version_map": {"40": {"version": "15", "sha256": "1vyplw3yv9904sgcjcgc8lz4py3ra59k3afsf2vc35n6vba7k91n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yMS45MSIsCiAgICAiMy4yMi4yIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21mbGFubmFnaGFuL3Byb3h5LXN3aXRjaGVyIiwKICAidXVpZCI6ICJQcm94eVN3aXRjaGVyQGZsYW5uYWdoYW4uY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "1vyplw3yv9904sgcjcgc8lz4py3ra59k3afsf2vc35n6vba7k91n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yMS45MSIsCiAgICAiMy4yMi4yIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21mbGFubmFnaGFuL3Byb3h5LXN3aXRjaGVyIiwKICAidXVpZCI6ICJQcm94eVN3aXRjaGVyQGZsYW5uYWdoYW4uY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"uuid": "clipboard-indicator@tudmotu.com", "name": "Clipboard Indicator", "pname": "clipboard-indicator", "description": "Clipboard Manager extension for Gnome-Shell - Adds a clipboard indicator to the top panel, and caches clipboard history.", "link": "https://extensions.gnome.org/extension/779/clipboard-indicator/", "shell_version_map": {"38": {"version": "37", "sha256": "1nd6ydp5wmd56zf3vwrsi2wflrw15krdbvqv2fkmla8rndallp1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1R1ZG1vdHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsaXBib2FyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNsaXBib2FyZC1pbmRpY2F0b3JAdHVkbW90dS5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "40": {"version": "39", "sha256": "19zwg7jnf24cgqv75hzcz2a5w750kfc6yi6pn2azzknmwnsz0i7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckB0dWRtb3R1LmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "41": {"version": "39", "sha256": "19zwg7jnf24cgqv75hzcz2a5w750kfc6yi6pn2azzknmwnsz0i7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckB0dWRtb3R1LmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}}}
 , {"uuid": "pidgin@muffinmad", "name": "Pidgin IM integration", "pname": "pidgin-im-integration", "description": "Integrate Pidgin IMs in the Gnome Shell message tray", "link": "https://extensions.gnome.org/extension/782/pidgin-im-integration/", "shell_version_map": {"40": {"version": "41", "sha256": "1g2iflmb8rjzfc82yv8wcii99df5aaqx5czqkhxpf9pfsrkknhs9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdWZmaW5tYWQvcGlkZ2luLWltLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAicGlkZ2luQG11ZmZpbm1hZCIsCiAgInZlcnNpb24iOiA0MQp9"}, "41": {"version": "41", "sha256": "1g2iflmb8rjzfc82yv8wcii99df5aaqx5czqkhxpf9pfsrkknhs9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdWZmaW5tYWQvcGlkZ2luLWltLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAicGlkZ2luQG11ZmZpbm1hZCIsCiAgInZlcnNpb24iOiA0MQp9"}}}
-, {"uuid": "ShutdownTimer@neumann", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Shutdown/suspend your device after a specific time.\n\nMaximum timer value und default slider position can be modified in the settings.", "link": "https://extensions.gnome.org/extension/792/shutdowntimer/", "shell_version_map": {"38": {"version": "30", "sha256": "0y2qb5c89khs6zcknh8w4f4zfpkwc99iwsb9hj5634waf57ybi6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgeW91ciBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lLlxuXG5NYXhpbXVtIHRpbWVyIHZhbHVlIHVuZCBkZWZhdWx0IHNsaWRlciBwb3NpdGlvbiBjYW4gYmUgbW9kaWZpZWQgaW4gdGhlIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIlNodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1dGRvd250aW1lci1uZXVtYW5uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzAKfQ=="}, "40": {"version": "30", "sha256": "0y2qb5c89khs6zcknh8w4f4zfpkwc99iwsb9hj5634waf57ybi6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgeW91ciBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lLlxuXG5NYXhpbXVtIHRpbWVyIHZhbHVlIHVuZCBkZWZhdWx0IHNsaWRlciBwb3NpdGlvbiBjYW4gYmUgbW9kaWZpZWQgaW4gdGhlIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIlNodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1dGRvd250aW1lci1uZXVtYW5uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzAKfQ=="}}}
+, {"uuid": "ShutdownTimer@neumann", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Shutdown/suspend the device after a specific time.\n\nMaximum timer value und default slider position can be modified in the settings.", "link": "https://extensions.gnome.org/extension/792/shutdowntimer/", "shell_version_map": {"38": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
 , {"uuid": "hide-dash@xenatt.github.com", "name": "Hide Dash X", "pname": "hide-dash", "description": "Hide the dash from the activities overview.", "link": "https://extensions.gnome.org/extension/805/hide-dash/", "shell_version_map": {"38": {"version": "10", "sha256": "059cy18awzv9qyn803zjyxiznacnf6pai8px2mb9mrbyf98153xz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIGRhc2ggZnJvbSB0aGUgYWN0aXZpdGllcyBvdmVydmlldy4iLAogICJuYW1lIjogIkhpZGUgRGFzaCBYIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphY2JhcnRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VkZW5ob2Zlci9NaW5pbWFsaXNtLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJoaWRlLWRhc2hAeGVuYXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "hide-workspace@xenatt.github.com", "name": "Hide Workspace Thumbnails", "pname": "hide-workspace-thumbnails", "description": "Hide workspace thumbnails from the overview. But don't worry they are still present and one can switch between them like usual with e.g. shortcuts..", "link": "https://extensions.gnome.org/extension/808/hide-workspace-thumbnails/", "shell_version_map": {"40": {"version": "16", "sha256": "0443zyqr2hwq5fj3h8zch8iav83xzj4bqn1k6qd5f2z46kvzj611", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgd29ya3NwYWNlIHRodW1ibmFpbHMgZnJvbSB0aGUgb3ZlcnZpZXcuIEJ1dCBkb24ndCB3b3JyeSB0aGV5IGFyZSBzdGlsbCBwcmVzZW50IGFuZCBvbmUgY2FuIHN3aXRjaCBiZXR3ZWVuIHRoZW0gbGlrZSB1c3VhbCB3aXRoIGUuZy4gc2hvcnRjdXRzLi4iLAogICJuYW1lIjogIkhpZGUgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWRlbmhvZmVyL01pbmltYWxpc20tR25vbWUtU2hlbGwiLAogICJ1dWlkIjogImhpZGUtd29ya3NwYWNlQHhlbmF0dC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "keyman@dpoetzsch.github.com", "name": "KeyMan", "pname": "keyman", "description": "Access passwords from the gnome keyring in a convenient way:\nSimply search for your password and copy it to clipboad by clicking it. After a certain amount of time it will be removed automatically (default is 5 seconds). As this only works if the keyrings are unlocked, this extension also provides easy access to lock/unlock keyrings.", "link": "https://extensions.gnome.org/extension/819/keyman/", "shell_version_map": {"40": {"version": "20", "sha256": "1wd76bdnzs7mxwwyvffw0fm8r8chsblz3dinpwiyc5d5kmlnyv5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcG9ldHpzY2gva2V5bWFuIiwKICAidXVpZCI6ICJrZXltYW5AZHBvZXR6c2NoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
@@ -87,17 +87,18 @@
 , {"uuid": "synaptic-button@fthx", "name": "Synaptic Button", "pname": "synaptic-button", "description": "Button that directly starts Synaptic package manager.\n\n For snap management without Snap Store, consider Snap Manager extension.", "link": "https://extensions.gnome.org/extension/938/synaptic-button/", "shell_version_map": {"38": {"version": "4", "sha256": "0wdi35qz5rxs4fvcxlrvlyslrspsgfkryvh0na9vakbvhpmv7skv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBTeW5hcHRpYyBwYWNrYWdlIG1hbmFnZXIuXG5cbiBGb3Igc25hcCBtYW5hZ2VtZW50IHdpdGhvdXQgU25hcCBTdG9yZSwgY29uc2lkZXIgU25hcCBNYW5hZ2VyIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIlN5bmFwdGljIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc3luYXB0aWMtYnV0dG9uIiwKICAidXVpZCI6ICJzeW5hcHRpYy1idXR0b25AZnRoeCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "workspace_scroll@squgeim.com.np", "name": "Workspace Scroll", "pname": "workspace-scroll", "description": "Just scroll anywhere in the top panel to change the workspace.", "link": "https://extensions.gnome.org/extension/943/workspace-scroll/", "shell_version_map": {"40": {"version": "6", "sha256": "0pglhzy81zh9wwcmh1ynygkghq64s948k9qaa9vr3k514bq8b8n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkp1c3Qgc2Nyb2xsIGFueXdoZXJlIGluIHRoZSB0b3AgcGFuZWwgdG8gY2hhbmdlIHRoZSB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU2Nyb2xsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0MC4xMCIsCiAgICAiNDAuNSIsCiAgICAiNDAuMTEiLAogICAgIjQwLjkiLAogICAgIjQwLjgiLAogICAgIjQwLjciLAogICAgIjQwLjYiLAogICAgIjQwLjQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcXVnZWltL1dvcmtzcGFjZS1TY3JvbGwiLAogICJ1dWlkIjogIndvcmtzcGFjZV9zY3JvbGxAc3F1Z2VpbS5jb20ubnAiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0pglhzy81zh9wwcmh1ynygkghq64s948k9qaa9vr3k514bq8b8n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkp1c3Qgc2Nyb2xsIGFueXdoZXJlIGluIHRoZSB0b3AgcGFuZWwgdG8gY2hhbmdlIHRoZSB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU2Nyb2xsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0MC4xMCIsCiAgICAiNDAuNSIsCiAgICAiNDAuMTEiLAogICAgIjQwLjkiLAogICAgIjQwLjgiLAogICAgIjQwLjciLAogICAgIjQwLjYiLAogICAgIjQwLjQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcXVnZWltL1dvcmtzcGFjZS1TY3JvbGwiLAogICJ1dWlkIjogIndvcmtzcGFjZV9zY3JvbGxAc3F1Z2VpbS5jb20ubnAiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "cpupower@mko-sl.de", "name": "CPU Power Manager", "pname": "cpu-power-manager", "description": "Manage your CPU's frequency scaling driver", "link": "https://extensions.gnome.org/extension/945/cpu-power-manager/", "shell_version_map": {"38": {"version": "26", "sha256": "0w4py02s4xw3acl6iy7bamkbzd728ha908pjg5h9hjivqfbipd90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB5b3VyIENQVSdzIGZyZXF1ZW5jeSBzY2FsaW5nIGRyaXZlciIsCiAgImxvY2FsZWRpciI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiQ1BVIFBvd2VyIE1hbmFnZXIiLAogICJzY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1cG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVpbnN0YXBlbC9jcHVwb3dlciIsCiAgInV1aWQiOiAiY3B1cG93ZXJAbWtvLXNsLmRlIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "40": {"version": "26", "sha256": "0w4py02s4xw3acl6iy7bamkbzd728ha908pjg5h9hjivqfbipd90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB5b3VyIENQVSdzIGZyZXF1ZW5jeSBzY2FsaW5nIGRyaXZlciIsCiAgImxvY2FsZWRpciI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiQ1BVIFBvd2VyIE1hbmFnZXIiLAogICJzY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1cG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVpbnN0YXBlbC9jcHVwb3dlciIsCiAgInV1aWQiOiAiY3B1cG93ZXJAbWtvLXNsLmRlIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
-, {"uuid": "world_clock_lite@ailin.nemui", "name": "Panel World Clock (Lite)", "pname": "panel-world-clock-lite", "description": "A world clock for the panel\n\nInstall gnome-clocks (native, NO Flatpak, NO Snap) to get started!\nHint: Eiðar has the same time as UTC\n\nGnome ≤3.14? https://extensions.gnome.org/extension/697/panel-world-clock/", "link": "https://extensions.gnome.org/extension/946/panel-world-clock-lite/", "shell_version_map": {"38": {"version": "11", "sha256": "1l2z6ri0ga526p1zcy9wjidcfj4hs92nv9r0arsmq4xr8581pfpq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyAobmF0aXZlLCBOTyBGbGF0cGFrLCBOTyBTbmFwKSB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3JsZF9jbG9ja19saXRlQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "14", "sha256": "1vlfl934m8l54psnfa4rk5n9k0va3224ksn9l0fdvdcg7daiq5gp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyAobmF0aXZlLCBOTyBGbGF0cGFrLCBOTyBTbmFwKSB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1vlfl934m8l54psnfa4rk5n9k0va3224ksn9l0fdvdcg7daiq5gp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyAobmF0aXZlLCBOTyBGbGF0cGFrLCBOTyBTbmFwKSB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
+, {"uuid": "world_clock_lite@ailin.nemui", "name": "Panel World Clock (Lite)", "pname": "panel-world-clock-lite", "description": "A world clock for the panel\n\nInstall gnome-clocks to get started!\nHint: Eiðar has the same time as UTC\n\nGnome ≤3.14? https://extensions.gnome.org/extension/697/panel-world-clock/", "link": "https://extensions.gnome.org/extension/946/panel-world-clock-lite/", "shell_version_map": {"38": {"version": "11", "sha256": "0sg76mlvyy0m6yqv6qrmyizhjd54qp8knra3z0sna1xxg0i51d42", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3JsZF9jbG9ja19saXRlQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "16", "sha256": "1yn28nhqkdpcr0s53wmxb4x9vnpbdz1mxaibkkdz5mnkzc9mz91g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1yn28nhqkdpcr0s53wmxb4x9vnpbdz1mxaibkkdz5mnkzc9mz91g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
 , {"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": "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=="}}}
 , {"uuid": "windowIsReady_Remover@nunofarruca@gmail.com", "name": "Window Is Ready - Notification Remover", "pname": "window-is-ready-notification-remover", "description": "Removes window is ready Notification", "link": "https://extensions.gnome.org/extension/1007/window-is-ready-notification-remover/", "shell_version_map": {"38": {"version": "13", "sha256": "1wxhdbvra0sc22wja9pcrsj5q4ny4iy4d7axlqh7yvm00zp72f3g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL251bm9mYXJydWNhL1dpbmRvd0lzUmVhZHlfUmVtb3ZlciIsCiAgInV1aWQiOiAid2luZG93SXNSZWFkeV9SZW1vdmVyQG51bm9mYXJydWNhQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "1wxhdbvra0sc22wja9pcrsj5q4ny4iy4d7axlqh7yvm00zp72f3g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL251bm9mYXJydWNhL1dpbmRvd0lzUmVhZHlfUmVtb3ZlciIsCiAgInV1aWQiOiAid2luZG93SXNSZWFkeV9SZW1vdmVyQG51bm9mYXJydWNhQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "1wxhdbvra0sc22wja9pcrsj5q4ny4iy4d7axlqh7yvm00zp72f3g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL251bm9mYXJydWNhL1dpbmRvd0lzUmVhZHlfUmVtb3ZlciIsCiAgInV1aWQiOiAid2luZG93SXNSZWFkeV9SZW1vdmVyQG51bm9mYXJydWNhQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "arch-update@RaphaelRochet", "name": "Arch Linux Updates Indicator", "pname": "archlinux-updates-indicator", "description": "Update indicator for Arch Linux and GNOME Shell.\n** Note : you now need to install the package pacman-contrib to use the checkupdates script. **\n  Can support AUR or other distros by changing command used to check for and apply updates.", "link": "https://extensions.gnome.org/extension/1010/archlinux-updates-indicator/", "shell_version_map": {"38": {"version": "39", "sha256": "15s0cs41h01kb8dx231ww06rxalmz7cr173z7pm9sfkvs2106dhl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy4iLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMSIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "40": {"version": "45", "sha256": "09vj5cx0c7ykbglgzzh6dkgzf3rdpzxa9nkx35q41cizv1lv6k1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy4iLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogNDUKfQ=="}, "41": {"version": "45", "sha256": "09vj5cx0c7ykbglgzzh6dkgzf3rdpzxa9nkx35q41cizv1lv6k1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy4iLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogNDUKfQ=="}}}
+, {"uuid": "arch-update@RaphaelRochet", "name": "Arch Linux Updates Indicator", "pname": "archlinux-updates-indicator", "description": "Update indicator for Arch Linux and GNOME Shell.\n** Note : you now need to install the package pacman-contrib to use the checkupdates script. **\n  Can support AUR or other distros by changing command used to check for and apply updates.", "link": "https://extensions.gnome.org/extension/1010/archlinux-updates-indicator/", "shell_version_map": {"38": {"version": "39", "sha256": "15s0cs41h01kb8dx231ww06rxalmz7cr173z7pm9sfkvs2106dhl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy4iLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMSIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "40": {"version": "46", "sha256": "0kgl4q52s44fy8d0psq27yd78jx35y4dmw43yzcipx3c9yik7964", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy4iLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogNDYKfQ=="}, "41": {"version": "46", "sha256": "0kgl4q52s44fy8d0psq27yd78jx35y4dmw43yzcipx3c9yik7964", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy4iLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogNDYKfQ=="}}}
 , {"uuid": "dynamic-panel-transparency@rockon999.github.io", "name": "Dynamic Panel Transparency", "pname": "dynamic-panel-transparency", "description": "Miss dynamic panel transparency in 3.32 and up? Try the original dynamic panel with much more customization! This extension will fade your top panel to nothingness when there are no maximized windows present! Never again will the panel be abruptly darkened.\n\nMay be incompatible with some extensions that make extensive changes to the panel.\n\nIf your theme isn't working correctly with this extension enable 'Remove Excessive Panel Styling' in the Background section of preferences. This particularly impacts the default *Ubuntu* theme!", "link": "https://extensions.gnome.org/extension/1011/dynamic-panel-transparency/", "shell_version_map": {"38": {"version": "34", "sha256": "10w5kvmspy4rp4jnwx0rj2crbdyi1lxv81vhi8zx490fhwgmlkvl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pc3MgZHluYW1pYyBwYW5lbCB0cmFuc3BhcmVuY3kgaW4gMy4zMiBhbmQgdXA/IFRyeSB0aGUgb3JpZ2luYWwgZHluYW1pYyBwYW5lbCB3aXRoIG11Y2ggbW9yZSBjdXN0b21pemF0aW9uISBUaGlzIGV4dGVuc2lvbiB3aWxsIGZhZGUgeW91ciB0b3AgcGFuZWwgdG8gbm90aGluZ25lc3Mgd2hlbiB0aGVyZSBhcmUgbm8gbWF4aW1pemVkIHdpbmRvd3MgcHJlc2VudCEgTmV2ZXIgYWdhaW4gd2lsbCB0aGUgcGFuZWwgYmUgYWJydXB0bHkgZGFya2VuZWQuXG5cbk1heSBiZSBpbmNvbXBhdGlibGUgd2l0aCBzb21lIGV4dGVuc2lvbnMgdGhhdCBtYWtlIGV4dGVuc2l2ZSBjaGFuZ2VzIHRvIHRoZSBwYW5lbC5cblxuSWYgeW91ciB0aGVtZSBpc24ndCB3b3JraW5nIGNvcnJlY3RseSB3aXRoIHRoaXMgZXh0ZW5zaW9uIGVuYWJsZSAnUmVtb3ZlIEV4Y2Vzc2l2ZSBQYW5lbCBTdHlsaW5nJyBpbiB0aGUgQmFja2dyb3VuZCBzZWN0aW9uIG9mIHByZWZlcmVuY2VzLiBUaGlzIHBhcnRpY3VsYXJseSBpbXBhY3RzIHRoZSBkZWZhdWx0ICpVYnVudHUqIHRoZW1lISIsCiAgImdldHRleHQtZG9tYWluIjogImR5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5IiwKICAibmFtZSI6ICJEeW5hbWljIFBhbmVsIFRyYW5zcGFyZW5jeSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5keW5hbWljLXBhbmVsLXRyYW5zcGFyZW5jeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V3bHNoL2R5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5LyIsCiAgInV1aWQiOiAiZHluYW1pYy1wYW5lbC10cmFuc3BhcmVuY3lAcm9ja29uOTk5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzNAp9"}, "40": {"version": "35", "sha256": "1znc564xd7n4k2klfc0kkip6hmadqdsa50p0sq0717h407m9p0vx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pc3MgZHluYW1pYyBwYW5lbCB0cmFuc3BhcmVuY3kgaW4gMy4zMiBhbmQgdXA/IFRyeSB0aGUgb3JpZ2luYWwgZHluYW1pYyBwYW5lbCB3aXRoIG11Y2ggbW9yZSBjdXN0b21pemF0aW9uISBUaGlzIGV4dGVuc2lvbiB3aWxsIGZhZGUgeW91ciB0b3AgcGFuZWwgdG8gbm90aGluZ25lc3Mgd2hlbiB0aGVyZSBhcmUgbm8gbWF4aW1pemVkIHdpbmRvd3MgcHJlc2VudCEgTmV2ZXIgYWdhaW4gd2lsbCB0aGUgcGFuZWwgYmUgYWJydXB0bHkgZGFya2VuZWQuXG5cbk1heSBiZSBpbmNvbXBhdGlibGUgd2l0aCBzb21lIGV4dGVuc2lvbnMgdGhhdCBtYWtlIGV4dGVuc2l2ZSBjaGFuZ2VzIHRvIHRoZSBwYW5lbC5cblxuSWYgeW91ciB0aGVtZSBpc24ndCB3b3JraW5nIGNvcnJlY3RseSB3aXRoIHRoaXMgZXh0ZW5zaW9uIGVuYWJsZSAnUmVtb3ZlIEV4Y2Vzc2l2ZSBQYW5lbCBTdHlsaW5nJyBpbiB0aGUgQmFja2dyb3VuZCBzZWN0aW9uIG9mIHByZWZlcmVuY2VzLiBUaGlzIHBhcnRpY3VsYXJseSBpbXBhY3RzIHRoZSBkZWZhdWx0ICpVYnVudHUqIHRoZW1lISIsCiAgImdldHRleHQtZG9tYWluIjogImR5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5IiwKICAibmFtZSI6ICJEeW5hbWljIFBhbmVsIFRyYW5zcGFyZW5jeSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5keW5hbWljLXBhbmVsLXRyYW5zcGFyZW5jeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ld2xzaC9keW5hbWljLXBhbmVsLXRyYW5zcGFyZW5jeS8iLAogICJ1dWlkIjogImR5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5QHJvY2tvbjk5OS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMzUKfQ=="}}}
 , {"uuid": "icinga-checker@sosulski.net", "name": "Icinga checker", "pname": "icinga-checker", "description": "Icinga/Nagios checker", "link": "https://extensions.gnome.org/extension/1029/icinga-checker/", "shell_version_map": {"38": {"version": "12", "sha256": "194vk0i02zvsxaxw9iq63xjhdld729vrq8wwbl6i0p89xp1mcqcr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImljaW5nYS1jaGVja2VyQHNvc3Vsc2tpLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "194vk0i02zvsxaxw9iq63xjhdld729vrq8wwbl6i0p89xp1mcqcr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImljaW5nYS1jaGVja2VyQHNvc3Vsc2tpLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "194vk0i02zvsxaxw9iq63xjhdld729vrq8wwbl6i0p89xp1mcqcr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImljaW5nYS1jaGVja2VyQHNvc3Vsc2tpLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "taskwhisperer-extension@infinicode.de", "name": "TaskWhisperer", "pname": "taskwhisperer", "description": "Taskwhisperer is a extension for TaskWarrior Application https://taskwarrior.org. It is to display upcoming tasks and task details as well as to create and modify them.\n", "link": "https://extensions.gnome.org/extension/1039/taskwhisperer/", "shell_version_map": {"38": {"version": "20", "sha256": "067z3j2px4rz5yspfjx2s6p5j4l1svxllclahnf3zmv1nlbhzq8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJUYXNrV2hpc3BlcmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "067z3j2px4rz5yspfjx2s6p5j4l1svxllclahnf3zmv1nlbhzq8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJUYXNrV2hpc3BlcmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
@@ -106,23 +107,23 @@
 , {"uuid": "timezone@jwendell", "name": "Timezone", "pname": "timezone", "description": "See people with their timezones from the Shell", "link": "https://extensions.gnome.org/extension/1060/timezone/", "shell_version_map": {"40": {"version": "18", "sha256": "1ksb8pm2y4lxjcwn2l0yj6piz5cqgmzx6k4rygx1mbh5y76mwdji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBwZW9wbGUgd2l0aCB0aGVpciB0aW1lem9uZXMgZnJvbSB0aGUgU2hlbGwiLAogICJuYW1lIjogIlRpbWV6b25lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpbWV6b25lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p3ZW5kZWxsL2dub21lLXNoZWxsLWV4dGVuc2lvbi10aW1lem9uZSIsCiAgInV1aWQiOiAidGltZXpvbmVAandlbmRlbGwiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "19", "sha256": "0mjqwf1i8arrvdhp8m17azh1xahrhxivncscb8shyq87817cfkp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBwZW9wbGUgd2l0aCB0aGVpciB0aW1lem9uZXMgZnJvbSB0aGUgU2hlbGwiLAogICJuYW1lIjogIlRpbWV6b25lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpbWV6b25lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p3ZW5kZWxsL2dub21lLXNoZWxsLWV4dGVuc2lvbi10aW1lem9uZSIsCiAgInV1aWQiOiAidGltZXpvbmVAandlbmRlbGwiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "On_Screen_Keyboard_Button@bradan.eu", "name": "On Screen Keyboard Button", "pname": "on-screen-keyboard-button", "description": "Shows or hides the OSK via top bar button. It works with X, not with wayland. Wayland has it's own technique: swipe the keyboard up from the bottom display edge.\n\nSource code: https://github.com/Bradan/Gnome-On-Screen-Keyboard-Button", "link": "https://extensions.gnome.org/extension/1061/on-screen-keyboard-button/", "shell_version_map": {"38": {"version": "5", "sha256": "0z3jcv5gzv1pwfla9ghp5kjljc5n80fcab0d2c2i2pw7y7kvpabr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG9yIGhpZGVzIHRoZSBPU0sgdmlhIHRvcCBiYXIgYnV0dG9uLiBJdCB3b3JrcyB3aXRoIFgsIG5vdCB3aXRoIHdheWxhbmQuIFdheWxhbmQgaGFzIGl0J3Mgb3duIHRlY2huaXF1ZTogc3dpcGUgdGhlIGtleWJvYXJkIHVwIGZyb20gdGhlIGJvdHRvbSBkaXNwbGF5IGVkZ2UuXG5cblNvdXJjZSBjb2RlOiBodHRwczovL2dpdGh1Yi5jb20vQnJhZGFuL0dub21lLU9uLVNjcmVlbi1LZXlib2FyZC1CdXR0b24iLAogICJuYW1lIjogIk9uIFNjcmVlbiBLZXlib2FyZCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjgiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiT25fU2NyZWVuX0tleWJvYXJkX0J1dHRvbkBicmFkYW4uZXUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "System_Monitor@bghome.gmail.com", "name": "System Monitor", "pname": "system-monitor", "description": "Display resource usage.\n\nLinux distribution specific installation instructions can be found in the wiki at https://github.com/elvetemedve/gnome-shell-extension-system-monitor/wiki/Installation.\n\nPlease report bugs here: https://github.com/elvetemedve/gnome-shell-extension-system-monitor/issues", "link": "https://extensions.gnome.org/extension/1064/system-monitor/", "shell_version_map": {"38": {"version": "23", "sha256": "09waxjwbdndqin023ns8vmazzxqqijyj95dp4yyha924vmkmpplx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}, "40": {"version": "23", "sha256": "09waxjwbdndqin023ns8vmazzxqqijyj95dp4yyha924vmkmpplx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}, "41": {"version": "23", "sha256": "09waxjwbdndqin023ns8vmazzxqqijyj95dp4yyha924vmkmpplx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}}}
-, {"uuid": "syncthing@gnome.2nv2u.com", "name": "Syncthing Indicator", "pname": "syncthing-indicator", "description": "Shell indicator for starting, monitoring and controlling the Syncthing daemon using SystemD", "link": "https://extensions.gnome.org/extension/1070/syncthing-indicator/", "shell_version_map": {"38": {"version": "23", "sha256": "1d03ysx73z56a6y0mvypryi92qcyjr9nbz799llydgzrhvbd8h1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "40": {"version": "23", "sha256": "1d03ysx73z56a6y0mvypryi92qcyjr9nbz799llydgzrhvbd8h1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "1d03ysx73z56a6y0mvypryi92qcyjr9nbz799llydgzrhvbd8h1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
+, {"uuid": "syncthing@gnome.2nv2u.com", "name": "Syncthing Indicator", "pname": "syncthing-indicator", "description": "Shell indicator for starting, monitoring and controlling the Syncthing daemon using SystemD", "link": "https://extensions.gnome.org/extension/1070/syncthing-indicator/", "shell_version_map": {"38": {"version": "24", "sha256": "0lb5ck3jdfsvjd0wc0miyxld4wa3y9lv10hamsksblx7gv6sqind", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "40": {"version": "24", "sha256": "0lb5ck3jdfsvjd0wc0miyxld4wa3y9lv10hamsksblx7gv6sqind", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "24", "sha256": "0lb5ck3jdfsvjd0wc0miyxld4wa3y9lv10hamsksblx7gv6sqind", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
 , {"uuid": "applications-overview-tooltip@RaphaelRochet", "name": "Applications Overview Tooltip", "pname": "applications-overview-tooltip", "description": "Shows a tooltip over applications icons on applications overview with application name and/or description.", "link": "https://extensions.gnome.org/extension/1071/applications-overview-tooltip/", "shell_version_map": {"38": {"version": "11", "sha256": "0alvg0l46hls3jz3a5ic21fgbjbg0kv0nn0pkknzsgjfw5mmwz69", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgdG9vbHRpcCBvdmVyIGFwcGxpY2F0aW9ucyBpY29ucyBvbiBhcHBsaWNhdGlvbnMgb3ZlcnZpZXcgd2l0aCBhcHBsaWNhdGlvbiBuYW1lIGFuZC9vciBkZXNjcmlwdGlvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb25zIE92ZXJ2aWV3IFRvb2x0aXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SYXBoYWVsUm9jaGV0L2FwcGxpY2F0aW9ucy1vdmVydmlldy10b29sdGlwIiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcEBSYXBoYWVsUm9jaGV0IiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "14", "sha256": "1vv5hvmg987vp8rdyvfff089h99m8xqrhyfbrgbipgy7862yf6lq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgdG9vbHRpcCBvdmVyIGFwcGxpY2F0aW9ucyBpY29ucyBvbiBhcHBsaWNhdGlvbnMgb3ZlcnZpZXcgd2l0aCBhcHBsaWNhdGlvbiBuYW1lIGFuZC9vciBkZXNjcmlwdGlvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb25zIE92ZXJ2aWV3IFRvb2x0aXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJ1dWlkIjogImFwcGxpY2F0aW9ucy1vdmVydmlldy10b29sdGlwQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1vv5hvmg987vp8rdyvfff089h99m8xqrhyfbrgbipgy7862yf6lq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgdG9vbHRpcCBvdmVyIGFwcGxpY2F0aW9ucyBpY29ucyBvbiBhcHBsaWNhdGlvbnMgb3ZlcnZpZXcgd2l0aCBhcHBsaWNhdGlvbiBuYW1lIGFuZC9vciBkZXNjcmlwdGlvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb25zIE92ZXJ2aWV3IFRvb2x0aXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJ1dWlkIjogImFwcGxpY2F0aW9ucy1vdmVydmlldy10b29sdGlwQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "TwitchLive_Panel@extensions.maweki.de", "name": "TwitchLive Panel", "pname": "twitchlive-panel", "description": "A panel showing whether your favorite Twitch.tv streamers are streaming.\n\nCycles through the online streamers if multiples are configured. Click on the panel and then on streamer's name to launch the stream with a custom command (your browser or some other application).\n\nNeeds curl and mogrify to fully support streamer logos. For an extension version compatible with shell version 3.30 or earlier visit our github page.", "link": "https://extensions.gnome.org/extension/1078/twitchlive-panel/", "shell_version_map": {"40": {"version": "37", "sha256": "0g1s5f3si8hlgf3m033c1c9fxydhs3wcykf4rr1pkzd54q6a8vq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgcGFuZWwgc2hvd2luZyB3aGV0aGVyIHlvdXIgZmF2b3JpdGUgVHdpdGNoLnR2IHN0cmVhbWVycyBhcmUgc3RyZWFtaW5nLlxuXG5DeWNsZXMgdGhyb3VnaCB0aGUgb25saW5lIHN0cmVhbWVycyBpZiBtdWx0aXBsZXMgYXJlIGNvbmZpZ3VyZWQuIENsaWNrIG9uIHRoZSBwYW5lbCBhbmQgdGhlbiBvbiBzdHJlYW1lcidzIG5hbWUgdG8gbGF1bmNoIHRoZSBzdHJlYW0gd2l0aCBhIGN1c3RvbSBjb21tYW5kICh5b3VyIGJyb3dzZXIgb3Igc29tZSBvdGhlciBhcHBsaWNhdGlvbikuXG5cbk5lZWRzIGN1cmwgYW5kIG1vZ3JpZnkgdG8gZnVsbHkgc3VwcG9ydCBzdHJlYW1lciBsb2dvcy4gRm9yIGFuIGV4dGVuc2lvbiB2ZXJzaW9uIGNvbXBhdGlibGUgd2l0aCBzaGVsbCB2ZXJzaW9uIDMuMzAgb3IgZWFybGllciB2aXNpdCBvdXIgZ2l0aHViIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHdpdGNobGl2ZSIsCiAgIm5hbWUiOiAiVHdpdGNoTGl2ZSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2l0Y2hsaXZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXdla2kvdHdpdGNobGl2ZS1leHRlbnNpb24iLAogICJ1dWlkIjogIlR3aXRjaExpdmVfUGFuZWxAZXh0ZW5zaW9ucy5tYXdla2kuZGUiLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "41": {"version": "37", "sha256": "0g1s5f3si8hlgf3m033c1c9fxydhs3wcykf4rr1pkzd54q6a8vq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgcGFuZWwgc2hvd2luZyB3aGV0aGVyIHlvdXIgZmF2b3JpdGUgVHdpdGNoLnR2IHN0cmVhbWVycyBhcmUgc3RyZWFtaW5nLlxuXG5DeWNsZXMgdGhyb3VnaCB0aGUgb25saW5lIHN0cmVhbWVycyBpZiBtdWx0aXBsZXMgYXJlIGNvbmZpZ3VyZWQuIENsaWNrIG9uIHRoZSBwYW5lbCBhbmQgdGhlbiBvbiBzdHJlYW1lcidzIG5hbWUgdG8gbGF1bmNoIHRoZSBzdHJlYW0gd2l0aCBhIGN1c3RvbSBjb21tYW5kICh5b3VyIGJyb3dzZXIgb3Igc29tZSBvdGhlciBhcHBsaWNhdGlvbikuXG5cbk5lZWRzIGN1cmwgYW5kIG1vZ3JpZnkgdG8gZnVsbHkgc3VwcG9ydCBzdHJlYW1lciBsb2dvcy4gRm9yIGFuIGV4dGVuc2lvbiB2ZXJzaW9uIGNvbXBhdGlibGUgd2l0aCBzaGVsbCB2ZXJzaW9uIDMuMzAgb3IgZWFybGllciB2aXNpdCBvdXIgZ2l0aHViIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHdpdGNobGl2ZSIsCiAgIm5hbWUiOiAiVHdpdGNoTGl2ZSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2l0Y2hsaXZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXdla2kvdHdpdGNobGl2ZS1leHRlbnNpb24iLAogICJ1dWlkIjogIlR3aXRjaExpdmVfUGFuZWxAZXh0ZW5zaW9ucy5tYXdla2kuZGUiLAogICJ2ZXJzaW9uIjogMzcKfQ=="}}}
-, {"uuid": "cpufreq@konkor", "name": "cpufreq", "pname": "cpufreq", "description": "System Monitor and Power Manager.\n\nThis is a lightweight system monitor and power management tool. It needs root permission to able changing governors.\n\nFeatures:\n⚫ Compatible with many hardware architectures;\n⚫ CPU Frequency monitoring;\n⚫ CPU Governor management;\n⚫ CPU Frequency speed limits;\n⚫ CPU Boost supporting;\n⚫ CPU Core Power on/off;\n⚫ Saving/Restoring settings...\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1082/cpufreq/", "shell_version_map": {"38": {"version": "50", "sha256": "0s4hgdh4yg5dachns0zf3m7xyc7ycc6jjapg3b3352i0rgw8cfdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb25rb3IvY3B1ZnJlcSIsCiAgInV1aWQiOiAiY3B1ZnJlcUBrb25rb3IiLAogICJ2ZXJzaW9uIjogNTAKfQ=="}, "40": {"version": "50", "sha256": "0s4hgdh4yg5dachns0zf3m7xyc7ycc6jjapg3b3352i0rgw8cfdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb25rb3IvY3B1ZnJlcSIsCiAgInV1aWQiOiAiY3B1ZnJlcUBrb25rb3IiLAogICJ2ZXJzaW9uIjogNTAKfQ=="}}}
+, {"uuid": "cpufreq@konkor", "name": "cpufreq", "pname": "cpufreq", "description": "System Monitor and Power Manager.\n\nThis is a lightweight system monitor and power management tool. It needs root permission to able changing governors.\n\nFeatures:\n⚫ Compatible with many hardware architectures;\n⚫ CPU Frequency monitoring;\n⚫ CPU Governor management;\n⚫ CPU Frequency speed limits;\n⚫ CPU Boost supporting;\n⚫ CPU Core Power on/off;\n⚫ Saving/Restoring settings...\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1082/cpufreq/", "shell_version_map": {"38": {"version": "51", "sha256": "1i6lwb82j21qx38gxy1rdv2bgn2rh6qf9hswasbf26g9k3ay3w1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL2NwdWZyZXEiLAogICJ1dWlkIjogImNwdWZyZXFAa29ua29yIiwKICAidmVyc2lvbiI6IDUxCn0="}, "40": {"version": "51", "sha256": "1i6lwb82j21qx38gxy1rdv2bgn2rh6qf9hswasbf26g9k3ay3w1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL2NwdWZyZXEiLAogICJ1dWlkIjogImNwdWZyZXFAa29ua29yIiwKICAidmVyc2lvbiI6IDUxCn0="}, "41": {"version": "51", "sha256": "1i6lwb82j21qx38gxy1rdv2bgn2rh6qf9hswasbf26g9k3ay3w1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL2NwdWZyZXEiLAogICJ1dWlkIjogImNwdWZyZXFAa29ua29yIiwKICAidmVyc2lvbiI6IDUxCn0="}}}
 , {"uuid": "simplenetspeed@biji.extension", "name": "Simple net speed", "pname": "simple-net-speed", "description": "Simply showing network speed. Left click to change modes:\n\n1. Total net speed in bits per second\n2. Total net speed in Bytes per second\n3. Up & down speed in bits per second\n4. Up & down speed in Bytes per second\n5. Total of downloaded in Bytes (Right click to reset counter)\n\nMiddle click to change font size", "link": "https://extensions.gnome.org/extension/1085/simple-net-speed/", "shell_version_map": {"38": {"version": "23", "sha256": "16g6203q6d8il018rf8zhh6gziybpczc6r5v5289kz0i343bmkfj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL3NpbXBsZW5ldHNwZWVkIiwKICAidXVpZCI6ICJzaW1wbGVuZXRzcGVlZEBiaWppLmV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAyMwp9"}, "40": {"version": "23", "sha256": "16g6203q6d8il018rf8zhh6gziybpczc6r5v5289kz0i343bmkfj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL3NpbXBsZW5ldHNwZWVkIiwKICAidXVpZCI6ICJzaW1wbGVuZXRzcGVlZEBiaWppLmV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "16g6203q6d8il018rf8zhh6gziybpczc6r5v5289kz0i343bmkfj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL3NpbXBsZW5ldHNwZWVkIiwKICAidXVpZCI6ICJzaW1wbGVuZXRzcGVlZEBiaWppLmV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAyMwp9"}}}
 , {"uuid": "gnome-shell-go-to-last-workspace@github.com", "name": "Go To Last Workspace", "pname": "go-to-last-workspace", "description": "Quickly toggle between two workspaces with one key", "link": "https://extensions.gnome.org/extension/1089/go-to-last-workspace/", "shell_version_map": {"38": {"version": "7", "sha256": "19jyrfhniz65xfrwzpph4i33mwpbfshy5bc79vxd5fy4qa0p6scp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgdG9nZ2xlIGJldHdlZW4gdHdvIHdvcmtzcGFjZXMgd2l0aCBvbmUga2V5IiwKICAibmFtZSI6ICJHbyBUbyBMYXN0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmphbi9nbm9tZS1zaGVsbC1nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtZ28tdG8tbGFzdC13b3Jrc3BhY2VAZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "19jyrfhniz65xfrwzpph4i33mwpbfshy5bc79vxd5fy4qa0p6scp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgdG9nZ2xlIGJldHdlZW4gdHdvIHdvcmtzcGFjZXMgd2l0aCBvbmUga2V5IiwKICAibmFtZSI6ICJHbyBUbyBMYXN0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmphbi9nbm9tZS1zaGVsbC1nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtZ28tdG8tbGFzdC13b3Jrc3BhY2VAZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "KeepAwake@jepfa.de", "name": "Keep awake!", "pname": "keep-awake", "description": "Keep your computer awake! Forbid your computer to activate sceensaver, turn off the screen or suspend when it is idle for a while. Click the indicator icon (in the taskbar) once to keep your computer awake for the session. Click again to enable persistance of this setting between restarts (indicated by a small lock icon on the indicator). Switch off by clicking again.", "link": "https://extensions.gnome.org/extension/1097/keep-awake/", "shell_version_map": {"38": {"version": "6", "sha256": "1lmwq4ng14jvpzd3fnwc8bilvyigya46d8il8m16g1596p3hikdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgeW91ciBjb21wdXRlciBhd2FrZSEgRm9yYmlkIHlvdXIgY29tcHV0ZXIgdG8gYWN0aXZhdGUgc2NlZW5zYXZlciwgdHVybiBvZmYgdGhlIHNjcmVlbiBvciBzdXNwZW5kIHdoZW4gaXQgaXMgaWRsZSBmb3IgYSB3aGlsZS4gQ2xpY2sgdGhlIGluZGljYXRvciBpY29uIChpbiB0aGUgdGFza2Jhcikgb25jZSB0byBrZWVwIHlvdXIgY29tcHV0ZXIgYXdha2UgZm9yIHRoZSBzZXNzaW9uLiBDbGljayBhZ2FpbiB0byBlbmFibGUgcGVyc2lzdGFuY2Ugb2YgdGhpcyBzZXR0aW5nIGJldHdlZW4gcmVzdGFydHMgKGluZGljYXRlZCBieSBhIHNtYWxsIGxvY2sgaWNvbiBvbiB0aGUgaW5kaWNhdG9yKS4gU3dpdGNoIG9mZiBieSBjbGlja2luZyBhZ2Fpbi4iLAogICJuYW1lIjogIktlZXAgYXdha2UhIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLktlZXBBd2FrZUBqZXBmYS5kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plbnNwZmFobC9LZWVwQXdha2UiLAogICJ1dWlkIjogIktlZXBBd2FrZUBqZXBmYS5kZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"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", "link": "https://extensions.gnome.org/extension/1112/screenshot-tool/", "shell_version_map": {"38": {"version": "56", "sha256": "07bg3fgg9k7wqyd746w75a12vzm93dn4wr3l1czd6864f4pmalpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90IiwKICAiZ2l0LXZlcnNpb24iOiAidjU2IiwKICAibmFtZSI6ICJTY3JlZW5zaG90IFRvb2wiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA1Ngp9"}, "40": {"version": "63", "sha256": "182r3mlqmjv6zv94i111slgq2izcw6b8js2pzi2skzay56lgvnpg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90IiwKICAiZ2l0LXZlcnNpb24iOiAidjYzIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IFRvb2wiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3R0b0FsbG1lbmRpbmdlci9nbm9tZS1zaGVsbC1zY3JlZW5zaG90LyIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdEB0dGxsLmRlIiwKICAidmVyc2lvbiI6IDYzCn0="}, "41": {"version": "63", "sha256": "182r3mlqmjv6zv94i111slgq2izcw6b8js2pzi2skzay56lgvnpg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90IiwKICAiZ2l0LXZlcnNpb24iOiAidjYzIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IFRvb2wiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3R0b0FsbG1lbmRpbmdlci9nbm9tZS1zaGVsbC1zY3JlZW5zaG90LyIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdEB0dGxsLmRlIiwKICAidmVyc2lvbiI6IDYzCn0="}}}
+, {"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": "10", "sha256": "0jn8qd2x25bw2kmz82z4szgx1vm838zkq0wv18jw82bpf7b597k0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0jn8qd2x25bw2kmz82z4szgx1vm838zkq0wv18jw82bpf7b597k0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"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": "6", "sha256": "1ma022dlhhk0ia7j8b1lm52arq9zz7in4x02hdvs0k29jcl4f9dd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcGFkZGF0cmFwcGVyL3Nob3J0Y3V0cy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIlNob3J0Y3V0c0BreWxlLmFpbXMuYWMuemEiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"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="}}}
 , {"uuid": "activityAppLauncher@rastersoft.com", "name": "Activity App Launcher", "pname": "activity-app-launcher", "description": "Integrates a category-based application launcher in the activities window. IMPORTANT: it needs the 'gnome-menus' and 'libgnome-menu-3-dev'; they must be installed in the system before installing this extension.", "link": "https://extensions.gnome.org/extension/1149/activity-app-launcher/", "shell_version_map": {"38": {"version": "31", "sha256": "18jqnk4psdvdx1hydfss1870v0gnpxkmsm5yasnb0m5m484in0qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="}, "40": {"version": "32", "sha256": "0h1pnv64jcyi0h7m8bk1rr0pfiz7pn6s08v10b2x3jmpdzahxxcy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2FjdGl2aXR5QXBwTGF1bmNoZXIiLAogICJ1dWlkIjogImFjdGl2aXR5QXBwTGF1bmNoZXJAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "41": {"version": "32", "sha256": "0h1pnv64jcyi0h7m8bk1rr0pfiz7pn6s08v10b2x3jmpdzahxxcy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2FjdGl2aXR5QXBwTGF1bmNoZXIiLAogICJ1dWlkIjogImFjdGl2aXR5QXBwTGF1bmNoZXJAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}}}
 , {"uuid": "shutdown-timer-gnome-shell-extension", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Allows to shutdown, restart and suspend computer after selected amount of time or in selected time.", "link": "https://extensions.gnome.org/extension/1152/shutdowntimer/", "shell_version_map": {"40": {"version": "9", "sha256": "1y69lv3mq66xxfxabngnbb104d26i05cyhmx3dqf4kyf1kd6jqvx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzaHV0ZG93biwgcmVzdGFydCBhbmQgc3VzcGVuZCBjb21wdXRlciBhZnRlciBzZWxlY3RlZCBhbW91bnQgb2YgdGltZSBvciBpbiBzZWxlY3RlZCB0aW1lLiIsCiAgImdldHRleHQtZG9tYWluIjogIkF1dG9tYXRpY1NodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXV0b21hdGljLXNodXRkb3duLXRpbWVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21rcmFqbmFrL3NodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiA5Cn0="}}}
@@ -138,15 +139,15 @@
 , {"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", "link": "https://extensions.gnome.org/extension/1218/printers/", "shell_version_map": {"38": {"version": "12", "sha256": "0b5vfw13qdvy13crikp72h1m3ypjzhpxihzlfp0rk530cp031cmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycyIsCiAgImV4dGVuc2lvbi1pZCI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "14", "sha256": "0bhhmcxyqfzy3fnh66mrvg7i01lmbk907mfnxig9gqkg50drbcrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycyIsCiAgImV4dGVuc2lvbi1pZCI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LW1hbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tcHJpbnRlcnMiLAogICJ1dWlkIjogInByaW50ZXJzQGxpbnV4LW1hbi5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "0bhhmcxyqfzy3fnh66mrvg7i01lmbk907mfnxig9gqkg50drbcrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycyIsCiAgImV4dGVuc2lvbi1pZCI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LW1hbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tcHJpbnRlcnMiLAogICJ1dWlkIjogInByaW50ZXJzQGxpbnV4LW1hbi5vcmciLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
+, {"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": "15p3h8ac2qjpa3il34zrq5nk2q0xgdcd953976isx6g0hrdzdrcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVyc1xuUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "14", "sha256": "1shawbwmbmq4girjcd40116h5xa137xxdc26ixj9pbam4lzj5m6w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVyc1xuUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "17", "sha256": "1rwfxk1cqzp13daz7ypps06bsgjk7jzd5y353abqhqfrvg4q4px1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVyc1xuUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
 , {"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"}}}
 , {"uuid": "switchWorkSpace@sun.wxg@gmail.com", "name": "Switch Workspace", "pname": "switch-workspace", "description": "Switch workspace like using ALT+TAB key to switch windows \n\n Default shortcut key to switch workspace is Ctrl+Above_Tab .", "link": "https://extensions.gnome.org/extension/1231/switch-workspace/", "shell_version_map": {"38": {"version": "30", "sha256": "1z6dafy981y2kjbnk9dncnkkpgqk45njbh3k08s3jg385qvfryvg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "40": {"version": "32", "sha256": "1m9aca2vwq0krpvl0iq7x3fiq2yspjmlzw9i7phylija8lsw1cgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN3aXRjaHdvcmtzcGFjZSIsCiAgInV1aWQiOiAic3dpdGNoV29ya1NwYWNlQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "1m9aca2vwq0krpvl0iq7x3fiq2yspjmlzw9i7phylija8lsw1cgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN3aXRjaHdvcmtzcGFjZSIsCiAgInV1aWQiOiAic3dpdGNoV29ya1NwYWNlQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMyCn0="}}}
 , {"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": "162", "sha256": "179mqy1a19ypf7vklgc0srfa3qlqaanljvq0b9ibqa3zalpxrjyv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYyCn0="}, "41": {"version": "162", "sha256": "179mqy1a19ypf7vklgc0srfa3qlqaanljvq0b9ibqa3zalpxrjyv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYyCn0="}}}
-, {"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": "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": "23", "sha256": "1vvxhzj6khbcp5bf4yvlwk21hlfqxp5vmzsfjyfs736pnbnplfif", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDIzCn0="}, "40": {"version": "23", "sha256": "1vvxhzj6khbcp5bf4yvlwk21hlfqxp5vmzsfjyfs736pnbnplfif", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "1vvxhzj6khbcp5bf4yvlwk21hlfqxp5vmzsfjyfs736pnbnplfif", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"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=="}}}
@@ -161,9 +162,9 @@
 , {"uuid": "nvidiautil@ethanwharris", "name": "NVIDIA GPU Stats Tool", "pname": "nvidia-gpu-stats-tool", "description": "Shows NVIDIA GPU stats in the toolbar. Requires nvidia-settings or nvidia-smi. Includes Bumblebee support.", "link": "https://extensions.gnome.org/extension/1320/nvidia-gpu-stats-tool/", "shell_version_map": {"38": {"version": "8", "sha256": "12yi2kcq2rm1ddb8djjlffvk6dhpfd996wjhwdf4jch1r85r8a30", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIE5WSURJQSBHUFUgc3RhdHMgaW4gdGhlIHRvb2xiYXIuIFJlcXVpcmVzIG52aWRpYS1zZXR0aW5ncyBvciBudmlkaWEtc21pLiBJbmNsdWRlcyBCdW1ibGViZWUgc3VwcG9ydC4iLAogICJuYW1lIjogIk5WSURJQSBHUFUgU3RhdHMgVG9vbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udmlkaWF1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXRoYW53aGFycmlzL2dub21lLW52aWRpYS1leHRlbnNpb24iLAogICJ1dWlkIjogIm52aWRpYXV0aWxAZXRoYW53aGFycmlzIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "pause-night-light@tijnschuurmans.nl", "name": "Pause Night Light", "pname": "pause-night-light", "description": "Disable Night Light for 10 seconds. This short interruption allows you to scan a colour code (e.g. Crontosign) from your screen.", "link": "https://extensions.gnome.org/extension/1327/pause-night-light/", "shell_version_map": {"40": {"version": "8", "sha256": "1j4yywvmwplbyjjwp79rxmfgsf7kv67v0d9rhbg6bnqw04bq91ki", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgTmlnaHQgTGlnaHQgZm9yIDEwIHNlY29uZHMuIFRoaXMgc2hvcnQgaW50ZXJydXB0aW9uIGFsbG93cyB5b3UgdG8gc2NhbiBhIGNvbG91ciBjb2RlIChlLmcuIENyb250b3NpZ24pIGZyb20geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJQYXVzZSBOaWdodCBMaWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rpam4vcGF1c2UtbmlnaHQtbGlnaHQiLAogICJ1dWlkIjogInBhdXNlLW5pZ2h0LWxpZ2h0QHRpam5zY2h1dXJtYW5zLm5sIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"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": "11", "sha256": "18yhgl928i7im7jflwkfg4m33917csskylwa7fqmk6wdw1i7n9bb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwLXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "18yhgl928i7im7jflwkfg4m33917csskylwa7fqmk6wdw1i7n9bb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwLXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "18yhgl928i7im7jflwkfg4m33917csskylwa7fqmk6wdw1i7n9bb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwLXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDExCn0="}}}
-, {"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": "13", "sha256": "1k0465p2li71x079n0nh80isvjbclybvdjwcdcdxnpkbsj59x3p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndpbmRvdy1zd2l0Y2hlcl9jdXJyZW50X3dvcmtzcGFjZV9maXJzdEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "1k0465p2li71x079n0nh80isvjbclybvdjwcdcdxnpkbsj59x3p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndpbmRvdy1zd2l0Y2hlcl9jdXJyZW50X3dvcmtzcGFjZV9maXJzdEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "1k0465p2li71x079n0nh80isvjbclybvdjwcdcdxnpkbsj59x3p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndpbmRvdy1zd2l0Y2hlcl9jdXJyZW50X3dvcmtzcGFjZV9maXJzdEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"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": "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": "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=="}}}
@@ -179,7 +180,7 @@
 , {"uuid": "syspeek-gs@gs.eros2.info", "name": "SysPeek-GS", "pname": "syspeek-gs", "description": "Minimalistic CPU load monitor widget inspired by SysPeek indicator", "link": "https://extensions.gnome.org/extension/1409/syspeek-gs/", "shell_version_map": {"38": {"version": "8", "sha256": "0f4xwh74icf2hs6cg59d5drq89pwcb1hhr96m4k58gvqswfgxi00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS9zeXNwZWVrLWdzIiwKICAidXVpZCI6ICJzeXNwZWVrLWdzQGdzLmVyb3MyLmluZm8iLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "0f4xwh74icf2hs6cg59d5drq89pwcb1hhr96m4k58gvqswfgxi00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS9zeXNwZWVrLWdzIiwKICAidXVpZCI6ICJzeXNwZWVrLWdzQGdzLmVyb3MyLmluZm8iLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "0f4xwh74icf2hs6cg59d5drq89pwcb1hhr96m4k58gvqswfgxi00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS9zeXNwZWVrLWdzIiwKICAidXVpZCI6ICJzeXNwZWVrLWdzQGdzLmVyb3MyLmluZm8iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "discrete-brightness@gs.eros2.info", "name": "Discrete brightness", "pname": "discrete-brightness", "description": "Discrete brightness indicator change brightness in discrete steps, unlike default smooth brightness bar in Gnome Shell", "link": "https://extensions.gnome.org/extension/1410/discrete-brightness/", "shell_version_map": {"38": {"version": "6", "sha256": "0j7nxjkx6qgnggwy8jx5cy9qjn2rxgmbjjvadwkxh0rqk2mcvfq1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vZGlzY3JldGUtYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZGlzY3JldGUtYnJpZ2h0bmVzc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0j7nxjkx6qgnggwy8jx5cy9qjn2rxgmbjjvadwkxh0rqk2mcvfq1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vZGlzY3JldGUtYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZGlzY3JldGUtYnJpZ2h0bmVzc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0j7nxjkx6qgnggwy8jx5cy9qjn2rxgmbjjvadwkxh0rqk2mcvfq1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vZGlzY3JldGUtYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZGlzY3JldGUtYnJpZ2h0bmVzc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "quake-mode@repsac-by.github.com", "name": "quake-mode", "pname": "quake-mode", "description": "Drop-down mode for any application", "link": "https://extensions.gnome.org/extension/1411/quake-mode/", "shell_version_map": {"38": {"version": "3", "sha256": "17498v2jw85fhrsldvgnj3x01h00wqarsp9zqp6ym4h7syzbjxrw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "5", "sha256": "07vhkpgck80facrds1zy6c6hk10fb06yhj1x5gay1vykv7msnqi7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JlcHNhYy1ieS9nbm9tZS1zaGVsbC1leHRlbnNpb24tcXVha2UtbW9kZSIsCiAgInV1aWQiOiAicXVha2UtbW9kZUByZXBzYWMtYnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "07vhkpgck80facrds1zy6c6hk10fb06yhj1x5gay1vykv7msnqi7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JlcHNhYy1ieS9nbm9tZS1zaGVsbC1leHRlbnNpb24tcXVha2UtbW9kZSIsCiAgInV1aWQiOiAicXVha2UtbW9kZUByZXBzYWMtYnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "unblank@sun.wxg@gmail.com", "name": "Unblank lock screen", "pname": "unblank", "description": "Unblank lock screen. \n\n After you install this extension, the extension will be enabled by default. If you want to disable this extension, you need to delete this extension or go to this extension settings to turn off switch.", "link": "https://extensions.gnome.org/extension/1414/unblank/", "shell_version_map": {"38": {"version": "20", "sha256": "017sq5m7rlalajrc5yp0v7n528bssfaql7hry3p4rv8hk2ypfxnc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIFxuXG4gQWZ0ZXIgeW91IGluc3RhbGwgdGhpcyBleHRlbnNpb24sIHRoZSBleHRlbnNpb24gd2lsbCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQuIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhpcyBleHRlbnNpb24sIHlvdSBuZWVkIHRvIGRlbGV0ZSB0aGlzIGV4dGVuc2lvbiBvciBnbyB0byB0aGlzIGV4dGVuc2lvbiBzZXR0aW5ncyB0byB0dXJuIG9mZiBzd2l0Y2guIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5ibGFuayIsCiAgInV1aWQiOiAidW5ibGFua0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "22", "sha256": "1jpp0ndnsw9cf4z26snaip6jdsdj4a6qivyn2k35vavqmg403ksw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIFxuXG4gQWZ0ZXIgeW91IGluc3RhbGwgdGhpcyBleHRlbnNpb24sIHRoZSBleHRlbnNpb24gd2lsbCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQuIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhpcyBleHRlbnNpb24sIHlvdSBuZWVkIHRvIGRlbGV0ZSB0aGlzIGV4dGVuc2lvbiBvciBnbyB0byB0aGlzIGV4dGVuc2lvbiBzZXR0aW5ncyB0byB0dXJuIG9mZiBzd2l0Y2guIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "25", "sha256": "02rfv75mg8xrs6k9xh2p0k85qx8f63q09kqjzlk7as31v1swbamb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIFxuXG4gQWZ0ZXIgeW91IGluc3RhbGwgdGhpcyBleHRlbnNpb24sIHRoZSBleHRlbnNpb24gd2lsbCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQuIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhpcyBleHRlbnNpb24sIHlvdSBuZWVkIHRvIGRlbGV0ZSB0aGlzIGV4dGVuc2lvbiBvciBnbyB0byB0aGlzIGV4dGVuc2lvbiBzZXR0aW5ncyB0byB0dXJuIG9mZiBzd2l0Y2guIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
+, {"uuid": "unblank@sun.wxg@gmail.com", "name": "Unblank lock screen", "pname": "unblank", "description": "Unblank lock screen.", "link": "https://extensions.gnome.org/extension/1414/unblank/", "shell_version_map": {"38": {"version": "20", "sha256": "0fb2vbjgl93a0maw9wxw1x47ndfg40gf087rmfk7lgxr8b6vp9si", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5ibGFuayIsCiAgInV1aWQiOiAidW5ibGFua0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "22", "sha256": "1kb7l1q7dvz5z5xrmhgm48jabblh81n8cm34ck711psy4rv1ljy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "26", "sha256": "1ifjqawnnksnfhh05yxpzz7jk3nz3sd3rzdg12i6g35kf7w0gmln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
 , {"uuid": "vbox-applet@gs.eros2.info", "name": "VirtualBox applet", "pname": "virtualbox-applet", "description": "Provide menu to run VirtualBox machines and switch between running VMs", "link": "https://extensions.gnome.org/extension/1415/virtualbox-applet/", "shell_version_map": {"38": {"version": "9", "sha256": "1dpda9g9nknjbc7wfzhdahly3w3mvqw6r4qqdrhylsc3kqq858ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL3Zib3gtYXBwbGV0IiwKICAidXVpZCI6ICJ2Ym94LWFwcGxldEBncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "1dpda9g9nknjbc7wfzhdahly3w3mvqw6r4qqdrhylsc3kqq858ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL3Zib3gtYXBwbGV0IiwKICAidXVpZCI6ICJ2Ym94LWFwcGxldEBncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1dpda9g9nknjbc7wfzhdahly3w3mvqw6r4qqdrhylsc3kqq858ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL3Zib3gtYXBwbGV0IiwKICAidXVpZCI6ICJ2Ym94LWFwcGxldEBncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "stocks@infinicode.de", "name": "Stocks Extension", "pname": "stocks-extension", "description": "Stocks Extension brings stock quotes to your GNOME Shell Panel", "link": "https://extensions.gnome.org/extension/1422/stocks-extension/", "shell_version_map": {"38": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "showtime@xenlism.github.io", "name": "Showtime  - Desktop Widget", "pname": "showtime", "description": "Date &amp;amp;amp;amp;amp;amp;amp; Clock Desktop Widget\n\nMove Widget by Press Super + Drag Widget\nhttps://github.com/xenlism/showtime", "link": "https://extensions.gnome.org/extension/1429/showtime/", "shell_version_map": {"38": {"version": "4", "sha256": "12k6spjhg2ykgh5x3mily0dps450pyj9vyv1bay5w919y9swplaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRhdGUgJmFtcDthbXA7YW1wO2FtcDthbXA7YW1wO2FtcDsgQ2xvY2sgRGVza3RvcCBXaWRnZXRcblxuTW92ZSBXaWRnZXQgYnkgUHJlc3MgU3VwZXIgKyBEcmFnIFdpZGdldFxuaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJuYW1lIjogIlNob3d0aW1lICAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAic2hvd3RpbWVAeGVubGlzbS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "5", "sha256": "0p10as2k6lkh3vj5860hvmj98by18ih8r2k7y36iqrxqpl3s8fd4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRhdGUgJmFtcDthbXA7YW1wO2FtcDthbXA7YW1wO2FtcDsgQ2xvY2sgRGVza3RvcCBXaWRnZXRcblxuTW92ZSBXaWRnZXQgYnkgUHJlc3MgU3VwZXIgKyBEcmFnIFdpZGdldFxuaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJuYW1lIjogIlNob3d0aW1lICAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJ1dWlkIjogInNob3d0aW1lQHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
@@ -187,7 +188,7 @@
 , {"uuid": "kube_config@vvbogdanov87.gmail.com", "name": "Kube Config", "pname": "kube-config", "description": "Switches kube config context", "link": "https://extensions.gnome.org/extension/1442/kube-config/", "shell_version_map": {"40": {"version": "14", "sha256": "125gbiim4d3kpycjncvqmxqgz3i1c15kkyx2rmgkc2wpzx0gyc6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92dmJvZ2Rhbm92ODcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWt1YmVjb25maWciLAogICJ1dWlkIjogImt1YmVfY29uZmlnQHZ2Ym9nZGFub3Y4Ny5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "125gbiim4d3kpycjncvqmxqgz3i1c15kkyx2rmgkc2wpzx0gyc6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92dmJvZ2Rhbm92ODcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWt1YmVjb25maWciLAogICJ1dWlkIjogImt1YmVfY29uZmlnQHZ2Ym9nZGFub3Y4Ny5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"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": "Show mini window previews (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": "11", "sha256": "15n1vhnsijahbl41prfddpykyaq2mn43gi74n8qg66cz5n5rc58i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbWluaSB3aW5kb3cgcHJldmlld3MgKGxpa2UgcGljdHVyZS1pbi1waWN0dXJlIG9uIGEgVFYpXG4tIExlZnQtbW91c2UgZHJhZzogbW92ZSBwcmV2aWV3IHdpbmRvd1xuLSBSaWdodC1tb3VzZSBkcmFnIChvciBjdHJsICsgbGVmdCBtb3VzZSBkcmFnKTogcmVzaXplIHByZXZpZXcgd2luZG93XG4tIFNjcm9sbCB3aGVlbDogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmFscGhhIiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "15n1vhnsijahbl41prfddpykyaq2mn43gi74n8qg66cz5n5rc58i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbWluaSB3aW5kb3cgcHJldmlld3MgKGxpa2UgcGljdHVyZS1pbi1waWN0dXJlIG9uIGEgVFYpXG4tIExlZnQtbW91c2UgZHJhZzogbW92ZSBwcmV2aWV3IHdpbmRvd1xuLSBSaWdodC1tb3VzZSBkcmFnIChvciBjdHJsICsgbGVmdCBtb3VzZSBkcmFnKTogcmVzaXplIHByZXZpZXcgd2luZG93XG4tIFNjcm9sbCB3aGVlbDogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmFscGhhIiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "15n1vhnsijahbl41prfddpykyaq2mn43gi74n8qg66cz5n5rc58i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbWluaSB3aW5kb3cgcHJldmlld3MgKGxpa2UgcGljdHVyZS1pbi1waWN0dXJlIG9uIGEgVFYpXG4tIExlZnQtbW91c2UgZHJhZzogbW92ZSBwcmV2aWV3IHdpbmRvd1xuLSBSaWdodC1tb3VzZSBkcmFnIChvciBjdHJsICsgbGVmdCBtb3VzZSBkcmFnKTogcmVzaXplIHByZXZpZXcgd2luZG93XG4tIFNjcm9sbCB3aGVlbDogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmFscGhhIiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"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": "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=="}}}
@@ -196,7 +197,7 @@
 , {"uuid": "tint-all@amarovita.github.com", "name": "Tint All", "pname": "tint-all", "description": "Colorize the entire gnome workspace. Amber, green, cyan, sepia and grayscale - just keep clicking extension icon. Scroll over extension icon to change fx level.", "link": "https://extensions.gnome.org/extension/1471/tint-all/", "shell_version_map": {"38": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "batime@martin.zurowietz.de", "name": "Battery Time", "pname": "battery-time", "description": "Show the remaining time until fully charged/discharged instead of the battery charge in percent in the panel.", "link": "https://extensions.gnome.org/extension/1475/battery-time/", "shell_version_map": {"40": {"version": "9", "sha256": "1xhh65f8h4k41f3vc90k4wwkjg9bgrihbzi0asjjaf10hvwzmfn4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtYmF0aW1lIiwKICAidXVpZCI6ICJiYXRpbWVAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1xhh65f8h4k41f3vc90k4wwkjg9bgrihbzi0asjjaf10hvwzmfn4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtYmF0aW1lIiwKICAidXVpZCI6ICJiYXRpbWVAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "unlockDialogBackground@sun.wxg@gmail.com", "name": "Lock screen background", "pname": "unlock-dialog-background", "description": "Change lock screen background.\nIf you use Ubuntu, install package gir1.2-clutter-1.0 first.", "link": "https://extensions.gnome.org/extension/1476/unlock-dialog-background/", "shell_version_map": {"38": {"version": "18", "sha256": "1j9m4qkd0i6l4nxwpxjwvp3nh0zifpzvp0xwp4cqqlr2flb6lwps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiMy4zNi40IiwKICAgICIzLjM2LjUiLAogICAgIjMuMzYuNiIsCiAgICAiMy4zNi43IiwKICAgICIzLjM2LjgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "20", "sha256": "1gin7mpafmx8h177alhhlrjqpq5354napc0jqaj4l4f7ynzn4843", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "23", "sha256": "0j4mhrdmkwwsf52lcqbl0ln7rl3s64nb24862gahs26y4kpbaiv3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}}}
-, {"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": "31", "sha256": "1fwv6awhzqm9a0chjrgfzj7bwq7r5130h2rg8mnnv4dz74a93r8r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}, "41": {"version": "31", "sha256": "1fwv6awhzqm9a0chjrgfzj7bwq7r5130h2rg8mnnv4dz74a93r8r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}}}
+, {"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"}}}
@@ -215,7 +216,7 @@
 , {"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="}}}
 , {"uuid": "panelScroll@sun.wxg@gmail.com", "name": "panel scroll", "pname": "panel-scroll", "description": "Switch windows or workspace by mouse scroll on the panel.\nPointer on left of panel, switch windows.\nPointer on right of panel, switch workspaces.", "link": "https://extensions.gnome.org/extension/1616/panel-scroll/", "shell_version_map": {"38": {"version": "10", "sha256": "1llw16wszrkrrzrlyd1ppw8kn1cqp2z4irzi9q7v2nr47hrk14kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "15", "sha256": "0q4yvmkri1wzhav1va25ffcpw8c4882dgifkwnzmg9fgv0i3vgh3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wYW5lbFNjcm9sbCIsCiAgInV1aWQiOiAicGFuZWxTY3JvbGxAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "0q4yvmkri1wzhav1va25ffcpw8c4882dgifkwnzmg9fgv0i3vgh3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wYW5lbFNjcm9sbCIsCiAgInV1aWQiOiAicGFuZWxTY3JvbGxAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "soft-brightness@fifi.org", "name": "Soft brightness", "pname": "soft-brightness", "description": "Add or override the brightness slider to change the brightness via an alpha layer (and optionally stop using or cooperate with the exising backlight, if present).\nEither internal, external or all monitors can be dimmed.\nSee the GitHub page for details.\n\nNote that this extension will keep running on the lock screen, as you'd also want the brightness setting to apply to the lock screen as well. Please report on GitHub if this gives you any trouble.", "link": "https://extensions.gnome.org/extension/1625/soft-brightness/", "shell_version_map": {"38": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "40": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}}}
-, {"uuid": "Resource_Monitor@Ory0n", "name": "Resource Monitor", "pname": "resource-monitor", "description": "Monitor the use of system resources like cpu, ram, disk, network and display them in gnome shell top bar.", "link": "https://extensions.gnome.org/extension/1634/resource-monitor/", "shell_version_map": {"38": {"version": "14", "sha256": "0mg6b54cinplc4i3kzn6p397a8flyivcyzg30pnfq7phhgpcnxwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "15", "sha256": "1q6scg003qyp84q7yd1f49kks0rr5k0wwlsq7m3ccnjk5dakqisa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"uuid": "Resource_Monitor@Ory0n", "name": "Resource Monitor", "pname": "resource-monitor", "description": "Monitor the use of system resources like cpu, ram, disk, network and display them in gnome shell top bar.", "link": "https://extensions.gnome.org/extension/1634/resource-monitor/", "shell_version_map": {"38": {"version": "14", "sha256": "0mg6b54cinplc4i3kzn6p397a8flyivcyzg30pnfq7phhgpcnxwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"uuid": "tweaks-system-menu@extensions.gnome-shell.fifi.org", "name": "Tweaks & Extensions in System Menu", "pname": "tweaks-in-system-menu", "description": "Put Gnome Tweaks and Extensions (on Shell 40 and later) in the System menu.", "link": "https://extensions.gnome.org/extension/1653/tweaks-in-system-menu/", "shell_version_map": {"38": {"version": "17", "sha256": "0qhl6a3999clrghkllgw9xnh8n963dzmsacvqnj7h4znzjhixkdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0YtaS1mL3R3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgInV1aWQiOiAidHdlYWtzLXN5c3RlbS1tZW51QGV4dGVuc2lvbnMuZ25vbWUtc2hlbGwuZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjE3LTAtZ2IzMWYxZGUiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "0qhl6a3999clrghkllgw9xnh8n963dzmsacvqnj7h4znzjhixkdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0YtaS1mL3R3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgInV1aWQiOiAidHdlYWtzLXN5c3RlbS1tZW51QGV4dGVuc2lvbnMuZ25vbWUtc2hlbGwuZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjE3LTAtZ2IzMWYxZGUiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "0qhl6a3999clrghkllgw9xnh8n963dzmsacvqnj7h4znzjhixkdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0YtaS1mL3R3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgInV1aWQiOiAidHdlYWtzLXN5c3RlbS1tZW51QGV4dGVuc2lvbnMuZ25vbWUtc2hlbGwuZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjE3LTAtZ2IzMWYxZGUiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "topiconsfix@aleskva@devnullmail.com", "name": "TopIconsFix", "pname": "topiconsfix", "description": "Shows legacy tray icons on top – the fixed version of https://extensions.gnome.org/extension/495/topicons/", "link": "https://extensions.gnome.org/extension/1674/topiconsfix/", "shell_version_map": {"38": {"version": "12", "sha256": "1zxihxmbc2hx6f8whv8mqzbl55k3wdgw108q97kadf9v67gpcp0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b3BpY29uc2ZpeEBhbGVza3ZhQGRldm51bGxtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "1zxihxmbc2hx6f8whv8mqzbl55k3wdgw108q97kadf9v67gpcp0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b3BpY29uc2ZpeEBhbGVza3ZhQGRldm51bGxtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "1zxihxmbc2hx6f8whv8mqzbl55k3wdgw108q97kadf9v67gpcp0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b3BpY29uc2ZpeEBhbGVza3ZhQGRldm51bGxtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "animation-tweaks@Selenium-H", "name": "Animation Tweaks", "pname": "animation-tweaks", "description": "Add animations to different items and customize them.\n\nPlease 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 menu entry is also always present in in the Top Right Application menu of the extension preferences window.\nA Default shortcut combination of Super Key + t is provided to disable the extension.\n\nSome effects might not work properly on wayland, for which an option to integrate with wayland is provided on Integrations tab.\nHowever, some animations might not work properly.\n\nTo manage effect Delay time enable Show delay time in preferences Window from Top Right Application menu -> Preferences\nand reopen preferences.", "link": "https://extensions.gnome.org/extension/1680/animation-tweaks/", "shell_version_map": {"38": {"version": "18", "sha256": "07niv7biy9yxmxdg498kqypyqva6y8slm3gmn70dpx9f9ng8ya55", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQWRkIGFuaW1hdGlvbnMgdG8gZGlmZmVyZW50IGl0ZW1zIGFuZCBjdXN0b21pemUgdGhlbS4iLAogICJkZXNjcmlwdGlvbiI6ICJBZGQgYW5pbWF0aW9ucyB0byBkaWZmZXJlbnQgaXRlbXMgYW5kIGN1c3RvbWl6ZSB0aGVtLlxuXG5QbGVhc2UgcmVzZXQgdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGluZy5cblRoZSBFeHRlbnNpb24gd2lsbCBzdG9wIHdoZW4gdXBncmFkZWQgdG8gYW4gaW5jb21wYXRpYmxlIHZlcnNpb24uXG5JbiB0aGF0IGNhc2UgYW4gVXBkYXRlIHRhYiBpcyBjcmVhdGVkIHRvIGVhc2lseSByZXNldCB0aGUgZXh0ZW5zaW9uLlxuQSBSZXNldCBtZW51IGVudHJ5IGlzIGFsc28gYWx3YXlzIHByZXNlbnQgaW4gaW4gdGhlIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBtZW51IG9mIHRoZSBleHRlbnNpb24gcHJlZmVyZW5jZXMgd2luZG93LlxuQSBEZWZhdWx0IHNob3J0Y3V0IGNvbWJpbmF0aW9uIG9mIFN1cGVyIEtleSArIHQgaXMgcHJvdmlkZWQgdG8gZGlzYWJsZSB0aGUgZXh0ZW5zaW9uLlxuXG5Tb21lIGVmZmVjdHMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkgb24gd2F5bGFuZCwgZm9yIHdoaWNoIGFuIG9wdGlvbiB0byBpbnRlZ3JhdGUgd2l0aCB3YXlsYW5kIGlzIHByb3ZpZGVkIG9uIEludGVncmF0aW9ucyB0YWIuXG5Ib3dldmVyLCBzb21lIGFuaW1hdGlvbnMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkuXG5cblRvIG1hbmFnZSBlZmZlY3QgRGVsYXkgdGltZSBlbmFibGUgU2hvdyBkZWxheSB0aW1lIGluIHByZWZlcmVuY2VzIFdpbmRvdyBmcm9tIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBtZW51IC0+IFByZWZlcmVuY2VzXG5hbmQgcmVvcGVuIHByZWZlcmVuY2VzLiIsCiAgIm5hbWUiOiAiQW5pbWF0aW9uIFR3ZWFrcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvQW5pbWF0aW9uLVR3ZWFrcyIsCiAgInV1aWQiOiAiYW5pbWF0aW9uLXR3ZWFrc0BTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "07niv7biy9yxmxdg498kqypyqva6y8slm3gmn70dpx9f9ng8ya55", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQWRkIGFuaW1hdGlvbnMgdG8gZGlmZmVyZW50IGl0ZW1zIGFuZCBjdXN0b21pemUgdGhlbS4iLAogICJkZXNjcmlwdGlvbiI6ICJBZGQgYW5pbWF0aW9ucyB0byBkaWZmZXJlbnQgaXRlbXMgYW5kIGN1c3RvbWl6ZSB0aGVtLlxuXG5QbGVhc2UgcmVzZXQgdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGluZy5cblRoZSBFeHRlbnNpb24gd2lsbCBzdG9wIHdoZW4gdXBncmFkZWQgdG8gYW4gaW5jb21wYXRpYmxlIHZlcnNpb24uXG5JbiB0aGF0IGNhc2UgYW4gVXBkYXRlIHRhYiBpcyBjcmVhdGVkIHRvIGVhc2lseSByZXNldCB0aGUgZXh0ZW5zaW9uLlxuQSBSZXNldCBtZW51IGVudHJ5IGlzIGFsc28gYWx3YXlzIHByZXNlbnQgaW4gaW4gdGhlIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBtZW51IG9mIHRoZSBleHRlbnNpb24gcHJlZmVyZW5jZXMgd2luZG93LlxuQSBEZWZhdWx0IHNob3J0Y3V0IGNvbWJpbmF0aW9uIG9mIFN1cGVyIEtleSArIHQgaXMgcHJvdmlkZWQgdG8gZGlzYWJsZSB0aGUgZXh0ZW5zaW9uLlxuXG5Tb21lIGVmZmVjdHMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkgb24gd2F5bGFuZCwgZm9yIHdoaWNoIGFuIG9wdGlvbiB0byBpbnRlZ3JhdGUgd2l0aCB3YXlsYW5kIGlzIHByb3ZpZGVkIG9uIEludGVncmF0aW9ucyB0YWIuXG5Ib3dldmVyLCBzb21lIGFuaW1hdGlvbnMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkuXG5cblRvIG1hbmFnZSBlZmZlY3QgRGVsYXkgdGltZSBlbmFibGUgU2hvdyBkZWxheSB0aW1lIGluIHByZWZlcmVuY2VzIFdpbmRvdyBmcm9tIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBtZW51IC0+IFByZWZlcmVuY2VzXG5hbmQgcmVvcGVuIHByZWZlcmVuY2VzLiIsCiAgIm5hbWUiOiAiQW5pbWF0aW9uIFR3ZWFrcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvQW5pbWF0aW9uLVR3ZWFrcyIsCiAgInV1aWQiOiAiYW5pbWF0aW9uLXR3ZWFrc0BTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "07niv7biy9yxmxdg498kqypyqva6y8slm3gmn70dpx9f9ng8ya55", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQWRkIGFuaW1hdGlvbnMgdG8gZGlmZmVyZW50IGl0ZW1zIGFuZCBjdXN0b21pemUgdGhlbS4iLAogICJkZXNjcmlwdGlvbiI6ICJBZGQgYW5pbWF0aW9ucyB0byBkaWZmZXJlbnQgaXRlbXMgYW5kIGN1c3RvbWl6ZSB0aGVtLlxuXG5QbGVhc2UgcmVzZXQgdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGluZy5cblRoZSBFeHRlbnNpb24gd2lsbCBzdG9wIHdoZW4gdXBncmFkZWQgdG8gYW4gaW5jb21wYXRpYmxlIHZlcnNpb24uXG5JbiB0aGF0IGNhc2UgYW4gVXBkYXRlIHRhYiBpcyBjcmVhdGVkIHRvIGVhc2lseSByZXNldCB0aGUgZXh0ZW5zaW9uLlxuQSBSZXNldCBtZW51IGVudHJ5IGlzIGFsc28gYWx3YXlzIHByZXNlbnQgaW4gaW4gdGhlIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBtZW51IG9mIHRoZSBleHRlbnNpb24gcHJlZmVyZW5jZXMgd2luZG93LlxuQSBEZWZhdWx0IHNob3J0Y3V0IGNvbWJpbmF0aW9uIG9mIFN1cGVyIEtleSArIHQgaXMgcHJvdmlkZWQgdG8gZGlzYWJsZSB0aGUgZXh0ZW5zaW9uLlxuXG5Tb21lIGVmZmVjdHMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkgb24gd2F5bGFuZCwgZm9yIHdoaWNoIGFuIG9wdGlvbiB0byBpbnRlZ3JhdGUgd2l0aCB3YXlsYW5kIGlzIHByb3ZpZGVkIG9uIEludGVncmF0aW9ucyB0YWIuXG5Ib3dldmVyLCBzb21lIGFuaW1hdGlvbnMgbWlnaHQgbm90IHdvcmsgcHJvcGVybHkuXG5cblRvIG1hbmFnZSBlZmZlY3QgRGVsYXkgdGltZSBlbmFibGUgU2hvdyBkZWxheSB0aW1lIGluIHByZWZlcmVuY2VzIFdpbmRvdyBmcm9tIFRvcCBSaWdodCBBcHBsaWNhdGlvbiBtZW51IC0+IFByZWZlcmVuY2VzXG5hbmQgcmVvcGVuIHByZWZlcmVuY2VzLiIsCiAgIm5hbWUiOiAiQW5pbWF0aW9uIFR3ZWFrcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvQW5pbWF0aW9uLVR3ZWFrcyIsCiAgInV1aWQiOiAiYW5pbWF0aW9uLXR3ZWFrc0BTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
@@ -227,7 +228,7 @@
 , {"uuid": "weeks-start-on-monday@extensions.gnome-shell.fifi.org", "name": "Weeks Start on Monday Again...", "pname": "weeks-start-on-monday-again", "description": "... or maybe not, and that's why the start day is configurable in the preferences.\n\nThis is an updated version of the \"Weeks Start on Monday\" extension for newer Gnome Shells.", "link": "https://extensions.gnome.org/extension/1720/weeks-start-on-monday-again/", "shell_version_map": {"38": {"version": "11", "sha256": "00gjfnhl6hpx5g3hjh50dciwjxhcmw5b4vqb6azjlg71nwjm9a3j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIi4uLiBvciBtYXliZSBub3QsIGFuZCB0aGF0J3Mgd2h5IHRoZSBzdGFydCBkYXkgaXMgY29uZmlndXJhYmxlIGluIHRoZSBwcmVmZXJlbmNlcy5cblxuVGhpcyBpcyBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIFwiV2Vla3MgU3RhcnQgb24gTW9uZGF5XCIgZXh0ZW5zaW9uIGZvciBuZXdlciBHbm9tZSBTaGVsbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAibmFtZSI6ICJXZWVrcyBTdGFydCBvbiBNb25kYXkgQWdhaW4uLi4iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi93ZWVrcy1zdGFydC1vbi1tb25kYXkiLAogICJ1dWlkIjogIndlZWtzLXN0YXJ0LW9uLW1vbmRheUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxMS0wLWc2OTc1ZGNkIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "00gjfnhl6hpx5g3hjh50dciwjxhcmw5b4vqb6azjlg71nwjm9a3j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIi4uLiBvciBtYXliZSBub3QsIGFuZCB0aGF0J3Mgd2h5IHRoZSBzdGFydCBkYXkgaXMgY29uZmlndXJhYmxlIGluIHRoZSBwcmVmZXJlbmNlcy5cblxuVGhpcyBpcyBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIFwiV2Vla3MgU3RhcnQgb24gTW9uZGF5XCIgZXh0ZW5zaW9uIGZvciBuZXdlciBHbm9tZSBTaGVsbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAibmFtZSI6ICJXZWVrcyBTdGFydCBvbiBNb25kYXkgQWdhaW4uLi4iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi93ZWVrcy1zdGFydC1vbi1tb25kYXkiLAogICJ1dWlkIjogIndlZWtzLXN0YXJ0LW9uLW1vbmRheUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxMS0wLWc2OTc1ZGNkIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "00gjfnhl6hpx5g3hjh50dciwjxhcmw5b4vqb6azjlg71nwjm9a3j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIi4uLiBvciBtYXliZSBub3QsIGFuZCB0aGF0J3Mgd2h5IHRoZSBzdGFydCBkYXkgaXMgY29uZmlndXJhYmxlIGluIHRoZSBwcmVmZXJlbmNlcy5cblxuVGhpcyBpcyBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIFwiV2Vla3MgU3RhcnQgb24gTW9uZGF5XCIgZXh0ZW5zaW9uIGZvciBuZXdlciBHbm9tZSBTaGVsbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAibmFtZSI6ICJXZWVrcyBTdGFydCBvbiBNb25kYXkgQWdhaW4uLi4iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2Vla3Mtc3RhcnQtb24tbW9uZGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi93ZWVrcy1zdGFydC1vbi1tb25kYXkiLAogICJ1dWlkIjogIndlZWtzLXN0YXJ0LW9uLW1vbmRheUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxMS0wLWc2OTc1ZGNkIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "wintile@nowsci.com", "name": "WinTile: Windows 10 window tiling for GNOME", "pname": "wintile-windows-10-window-tiling-for-gnome", "description": "[NOTE] When upgrading to V7, you may get an ERROR. Log out and back in and V7 will begin to work.\n\nWinTile is a hotkey driven window tiling system for GNOME that imitates the standard Win-Arrow keys of Windows 10, allowing you to maximize, maximize to sides, or 1/4 sized to corner across a single or multiple monitors using just Super+Arrow.\n\nAs of v3, WinTile also supports:\n- 2, 3, or 4 columns for standard or ultrawide monitors\n- Top/bottom half support\n- Mouse preview and snapping for placing windows\n- Toggling of 'maximize' mode, which adds/removes GNOME animations\n\nAs of v6, supports installs in GNOME 3.38+\n\nAs of v7, supports installs in GNOME 40+", "link": "https://extensions.gnome.org/extension/1723/wintile-windows-10-window-tiling-for-gnome/", "shell_version_map": {"38": {"version": "7", "sha256": "1nx0psgaj33ipfsnxinvz2vjmdhhvms0bqdflhmkbh1003m6103x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIltOT1RFXSBXaGVuIHVwZ3JhZGluZyB0byBWNywgeW91IG1heSBnZXQgYW4gRVJST1IuIExvZyBvdXQgYW5kIGJhY2sgaW4gYW5kIFY3IHdpbGwgYmVnaW4gdG8gd29yay5cblxuV2luVGlsZSBpcyBhIGhvdGtleSBkcml2ZW4gd2luZG93IHRpbGluZyBzeXN0ZW0gZm9yIEdOT01FIHRoYXQgaW1pdGF0ZXMgdGhlIHN0YW5kYXJkIFdpbi1BcnJvdyBrZXlzIG9mIFdpbmRvd3MgMTAsIGFsbG93aW5nIHlvdSB0byBtYXhpbWl6ZSwgbWF4aW1pemUgdG8gc2lkZXMsIG9yIDEvNCBzaXplZCB0byBjb3JuZXIgYWNyb3NzIGEgc2luZ2xlIG9yIG11bHRpcGxlIG1vbml0b3JzIHVzaW5nIGp1c3QgU3VwZXIrQXJyb3cuXG5cbkFzIG9mIHYzLCBXaW5UaWxlIGFsc28gc3VwcG9ydHM6XG4tIDIsIDMsIG9yIDQgY29sdW1ucyBmb3Igc3RhbmRhcmQgb3IgdWx0cmF3aWRlIG1vbml0b3JzXG4tIFRvcC9ib3R0b20gaGFsZiBzdXBwb3J0XG4tIE1vdXNlIHByZXZpZXcgYW5kIHNuYXBwaW5nIGZvciBwbGFjaW5nIHdpbmRvd3Ncbi0gVG9nZ2xpbmcgb2YgJ21heGltaXplJyBtb2RlLCB3aGljaCBhZGRzL3JlbW92ZXMgR05PTUUgYW5pbWF0aW9uc1xuXG5BcyBvZiB2Niwgc3VwcG9ydHMgaW5zdGFsbHMgaW4gR05PTUUgMy4zOCtcblxuQXMgb2YgdjcsIHN1cHBvcnRzIGluc3RhbGxzIGluIEdOT01FIDQwKyIsCiAgIm5hbWUiOiAiV2luVGlsZTogV2luZG93cyAxMCB3aW5kb3cgdGlsaW5nIGZvciBHTk9NRSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Ztc3RyYXQvd2ludGlsZSIsCiAgInV1aWQiOiAid2ludGlsZUBub3dzY2kuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1nx0psgaj33ipfsnxinvz2vjmdhhvms0bqdflhmkbh1003m6103x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIltOT1RFXSBXaGVuIHVwZ3JhZGluZyB0byBWNywgeW91IG1heSBnZXQgYW4gRVJST1IuIExvZyBvdXQgYW5kIGJhY2sgaW4gYW5kIFY3IHdpbGwgYmVnaW4gdG8gd29yay5cblxuV2luVGlsZSBpcyBhIGhvdGtleSBkcml2ZW4gd2luZG93IHRpbGluZyBzeXN0ZW0gZm9yIEdOT01FIHRoYXQgaW1pdGF0ZXMgdGhlIHN0YW5kYXJkIFdpbi1BcnJvdyBrZXlzIG9mIFdpbmRvd3MgMTAsIGFsbG93aW5nIHlvdSB0byBtYXhpbWl6ZSwgbWF4aW1pemUgdG8gc2lkZXMsIG9yIDEvNCBzaXplZCB0byBjb3JuZXIgYWNyb3NzIGEgc2luZ2xlIG9yIG11bHRpcGxlIG1vbml0b3JzIHVzaW5nIGp1c3QgU3VwZXIrQXJyb3cuXG5cbkFzIG9mIHYzLCBXaW5UaWxlIGFsc28gc3VwcG9ydHM6XG4tIDIsIDMsIG9yIDQgY29sdW1ucyBmb3Igc3RhbmRhcmQgb3IgdWx0cmF3aWRlIG1vbml0b3JzXG4tIFRvcC9ib3R0b20gaGFsZiBzdXBwb3J0XG4tIE1vdXNlIHByZXZpZXcgYW5kIHNuYXBwaW5nIGZvciBwbGFjaW5nIHdpbmRvd3Ncbi0gVG9nZ2xpbmcgb2YgJ21heGltaXplJyBtb2RlLCB3aGljaCBhZGRzL3JlbW92ZXMgR05PTUUgYW5pbWF0aW9uc1xuXG5BcyBvZiB2Niwgc3VwcG9ydHMgaW5zdGFsbHMgaW4gR05PTUUgMy4zOCtcblxuQXMgb2YgdjcsIHN1cHBvcnRzIGluc3RhbGxzIGluIEdOT01FIDQwKyIsCiAgIm5hbWUiOiAiV2luVGlsZTogV2luZG93cyAxMCB3aW5kb3cgdGlsaW5nIGZvciBHTk9NRSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Ztc3RyYXQvd2ludGlsZSIsCiAgInV1aWQiOiAid2ludGlsZUBub3dzY2kuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "focusli@armonge.info", "name": "Focusli", "pname": "focusli", "description": "Improve focus and increase your productive by listening to different sounds", "link": "https://extensions.gnome.org/extension/1726/focusli/", "shell_version_map": {"40": {"version": "7", "sha256": "0061krhxrp5wrqi4dflmd8anw3szqq335y2z2ka48pf662vkp7km", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgZm9jdXMgYW5kIGluY3JlYXNlIHlvdXIgcHJvZHVjdGl2ZSBieSBsaXN0ZW5pbmcgdG8gZGlmZmVyZW50IHNvdW5kcyIsCiAgIm5hbWUiOiAiRm9jdXNsaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm1vbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1c2xpIiwKICAidXVpZCI6ICJmb2N1c2xpQGFybW9uZ2UuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "gtktitlebar@velitasali.github.io", "name": "GTK Title Bar", "pname": "gtk-title-bar", "description": "Remove title bars for non-GTK apps with minimal interference with the default workflow", "link": "https://extensions.gnome.org/extension/1732/gtk-title-bar/", "shell_version_map": {"40": {"version": "9", "sha256": "0yv290i2jyxdzp96lmv06n52pb09lgpaaqfcrdlg89zj2wqmkhjv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZlbGl0YXNhbGkvZ3RrdGl0bGViYXIiLAogICJ1dWlkIjogImd0a3RpdGxlYmFyQHZlbGl0YXNhbGkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0yv290i2jyxdzp96lmv06n52pb09lgpaaqfcrdlg89zj2wqmkhjv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZlbGl0YXNhbGkvZ3RrdGl0bGViYXIiLAogICJ1dWlkIjogImd0a3RpdGxlYmFyQHZlbGl0YXNhbGkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"uuid": "gtktitlebar@velitasali.github.io", "name": "GTK Title Bar", "pname": "gtk-title-bar", "description": "Remove title bars for non-GTK apps with minimal interference with the default workflow", "link": "https://extensions.gnome.org/extension/1732/gtk-title-bar/", "shell_version_map": {"40": {"version": "10", "sha256": "100mb5ga559jcv0f3a7drcki682vpgnkl8p1hga7w8mbckkybwkx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2d0a3RpdGxlYmFyIiwKICAidXVpZCI6ICJndGt0aXRsZWJhckB2ZWxpdGFzYWxpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "100mb5ga559jcv0f3a7drcki682vpgnkl8p1hga7w8mbckkybwkx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2d0a3RpdGxlYmFyIiwKICAidXVpZCI6ICJndGt0aXRsZWJhckB2ZWxpdGFzYWxpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "quicklists@maestroschan.fr", "name": "Quicklists", "pname": "quicklists", "description": "Add dynamic quicklists to app icons, such as file manager bookmarks and recent files.", "link": "https://extensions.gnome.org/extension/1747/quicklists/", "shell_version_map": {"38": {"version": "7", "sha256": "1cck1k1kf116z85m5fby0hhaa7fplhryv0nv1pdc3h8200i39580", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBkeW5hbWljIHF1aWNrbGlzdHMgdG8gYXBwIGljb25zLCBzdWNoIGFzIGZpbGUgbWFuYWdlciBib29rbWFya3MgYW5kIHJlY2VudCBmaWxlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWlja2xpc3RzIiwKICAibmFtZSI6ICJRdWlja2xpc3RzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnF1aWNrbGlzdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovcXVpY2tsaXN0cy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInF1aWNrbGlzdHNAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "lan-ip-address@mrhuber.com", "name": "LAN IP Address", "pname": "lan-ip-address", "description": "Show LAN IP address on GNOME panel. Do not show loopback addresses (127.0.0.0/8) or Docker networks.", "link": "https://extensions.gnome.org/extension/1762/lan-ip-address/", "shell_version_map": {"38": {"version": "8", "sha256": "0l81fiznq3q7q2m0ryjcmba9kzqhf0a7hq8j2sahr49acd6ih9wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3Nob2xpdGgvZ25vbWUtZXh0ZW5zaW9uLWxhbi1pcC1hZGRyZXNzIiwKICAidXVpZCI6ICJsYW4taXAtYWRkcmVzc0Btcmh1YmVyLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "0l81fiznq3q7q2m0ryjcmba9kzqhf0a7hq8j2sahr49acd6ih9wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3Nob2xpdGgvZ25vbWUtZXh0ZW5zaW9uLWxhbi1pcC1hZGRyZXNzIiwKICAidXVpZCI6ICJsYW4taXAtYWRkcmVzc0Btcmh1YmVyLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "0l81fiznq3q7q2m0ryjcmba9kzqhf0a7hq8j2sahr49acd6ih9wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3Nob2xpdGgvZ25vbWUtZXh0ZW5zaW9uLWxhbi1pcC1hZGRyZXNzIiwKICAidXVpZCI6ICJsYW4taXAtYWRkcmVzc0Btcmh1YmVyLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "TransparentTopbar@enrico.sorio.net", "name": "Transparent Topbar", "pname": "transparent-topbar", "description": "Transparent Topbar with Multi monitors support", "link": "https://extensions.gnome.org/extension/1765/transparent-topbar/", "shell_version_map": {"38": {"version": "2", "sha256": "0rv7ddwrsmk7zrwyf2fkjhiv38pm4h0ijx1mppwji7vgvips0602", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0rv7ddwrsmk7zrwyf2fkjhiv38pm4h0ijx1mppwji7vgvips0602", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
@@ -236,17 +237,17 @@
 , {"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": "11", "sha256": "1vknx9s3w1y9jjq97nqxh3lxd6y52h5i71yv6zby7kfw2miaf0l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2VyZW5lYmx1ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24ta3J5cHRvIiwKICAidXVpZCI6ICJrcnlwdG9Ac2VyZW5lYmx1ZSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1vknx9s3w1y9jjq97nqxh3lxd6y52h5i71yv6zby7kfw2miaf0l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2VyZW5lYmx1ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24ta3J5cHRvIiwKICAidXVpZCI6ICJrcnlwdG9Ac2VyZW5lYmx1ZSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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": "33", "sha256": "0w4g1hp6rnzsl26gibpzxmfn5bzqhy5pgf8hq728qw8irjck3vlk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "40": {"version": "33", "sha256": "0w4g1hp6rnzsl26gibpzxmfn5bzqhy5pgf8hq728qw8irjck3vlk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "0w4g1hp6rnzsl26gibpzxmfn5bzqhy5pgf8hq728qw8irjck3vlk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
+, {"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="}}}
-, {"uuid": "spotify-ad-block@danigm.net", "name": "Mute spotify ads", "pname": "mute-spotify-ads", "description": "Mute spotify ads", "link": "https://extensions.gnome.org/extension/2176/mute-spotify-ads/", "shell_version_map": {"38": {"version": "11", "sha256": "1cqrbzhb02k4nacjhpych5fqw17gbly1f04ahhx6xhz9a6p3gq36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "1cqrbzhb02k4nacjhpych5fqw17gbly1f04ahhx6xhz9a6p3gq36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1cqrbzhb02k4nacjhpych5fqw17gbly1f04ahhx6xhz9a6p3gq36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"uuid": "spotify-ad-block@danigm.net", "name": "Mute spotify ads", "pname": "mute-spotify-ads", "description": "Mute spotify ads", "link": "https://extensions.gnome.org/extension/2176/mute-spotify-ads/", "shell_version_map": {"38": {"version": "12", "sha256": "1hlayym3nnj5i547ffr1vcpjvzjqpzsmz7diqwgii99xr0qqy8dh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "1hlayym3nnj5i547ffr1vcpjvzjqpzsmz7diqwgii99xr0qqy8dh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "1hlayym3nnj5i547ffr1vcpjvzjqpzsmz7diqwgii99xr0qqy8dh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"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"}}}
@@ -264,19 +265,19 @@
 , {"uuid": "kernel-indicator@elboulangero.gitlab.com", "name": "Kernel Indicator", "pname": "kernel-indicator", "description": "Display the kernel version in the top bar", "link": "https://extensions.gnome.org/extension/2512/kernel-indicator/", "shell_version_map": {"40": {"version": "4", "sha256": "0v3vxk9adzwk18vpvhpwxp7893wh7my8bh8j5vp4fdiq3l06v4sp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGtlcm5lbCB2ZXJzaW9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJLZXJuZWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbGJvdWxhbmdlcm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtlcm5lbC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImtlcm5lbC1pbmRpY2F0b3JAZWxib3VsYW5nZXJvLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0v3vxk9adzwk18vpvhpwxp7893wh7my8bh8j5vp4fdiq3l06v4sp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGtlcm5lbCB2ZXJzaW9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJLZXJuZWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbGJvdWxhbmdlcm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtlcm5lbC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImtlcm5lbC1pbmRpY2F0b3JAZWxib3VsYW5nZXJvLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "floatingDock@sun.wxg@gmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "Move dock anywhere on the desktop\n\nPress Ctrl+Alt+k to vi mode\nPress lowercase alphabet, open new window or active the window\nPress uppercase alphabet, force to open new window\n\nPoint on the main button, change workspace by mouse scroll\nRight click the main button, show some selections", "link": "https://extensions.gnome.org/extension/2542/floating-dock/", "shell_version_map": {"38": {"version": "12", "sha256": "1844hhr0z4wd0wvh29q0sxh6xmwq7chg3kr3sa3c46q8n97i78x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZmxvYXRpbmdEb2NrIiwKICAidXVpZCI6ICJmbG9hdGluZ0RvY2tAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "21", "sha256": "0qj1vqd44clpr72j5lccvva48kzaz76zd48k6nxzvnkgh2n5dh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "23", "sha256": "0ag8pq9sgk885912mqiyhsacfmgkn9n4jvyp0rk4nw0fghd1mgd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "maxi@darkretailer.github.com", "name": "Maxi", "pname": "maxi", "description": "Maximize your windows vertical and/or horizontal (based on https://github.com/aXe1/gnome-shell-extension-maximized-by-default)", "link": "https://extensions.gnome.org/extension/2554/maxi/", "shell_version_map": {"40": {"version": "5", "sha256": "121nd6ggr9id3yfsrkiza7rjq19638p156ym83i3j57ikz6r3ky5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1heGltaXplIHlvdXIgd2luZG93cyB2ZXJ0aWNhbCBhbmQvb3IgaG9yaXpvbnRhbCAoYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FYZTEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplZC1ieS1kZWZhdWx0KSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtYXhpIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWF4aSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhcmtyZXRhaWxlci9nbm9tZS1zaGVsbC1leHRlbnNpb25fbWF4aSIsCiAgInV1aWQiOiAibWF4aUBkYXJrcmV0YWlsZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "gnordvpn-local@isopolito", "name": "gNordVPN-Local", "pname": "gnordvpn-local", "description": "A Gnome extension that shows the NordVPN status in the top bar and provides the ability to configure certain aspects of the connection.", "link": "https://extensions.gnome.org/extension/2569/gnordvpn-local/", "shell_version_map": {"38": {"version": "8", "sha256": "1bn9n7q8wi909gyys27dmqhay6hx9y7dl1pxy6zrmh7baijz2gr6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maWd1cmUgY2VydGFpbiBhc3BlY3RzIG9mIHRoZSBjb25uZWN0aW9uLiIsCiAgIm5hbWUiOiAiZ05vcmRWUE4tTG9jYWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSXNvcG9saXRvL2dOb3JkVlBOLUxvY2FsIiwKICAidXVpZCI6ICJnbm9yZHZwbi1sb2NhbEBpc29wb2xpdG8iLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "gnordvpn-local@isopolito", "name": "gNordVPN-Local", "pname": "gnordvpn-local", "description": "A Gnome extension that shows the NordVPN status in the top bar and provides the ability to configure certain aspects of the connection.", "link": "https://extensions.gnome.org/extension/2569/gnordvpn-local/", "shell_version_map": {"38": {"version": "9", "sha256": "103ddz7n14n4ahks90w60sqgq8w07mpjqln5va7kxnjh3rdwlk3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maWd1cmUgY2VydGFpbiBhc3BlY3RzIG9mIHRoZSBjb25uZWN0aW9uLiIsCiAgIm5hbWUiOiAiZ05vcmRWUE4tTG9jYWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICIzLjM4LjQiLAogICAgIjQwLjUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Jc29wb2xpdG8vZ05vcmRWUE4tTG9jYWwiLAogICJ1dWlkIjogImdub3JkdnBuLWxvY2FsQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "103ddz7n14n4ahks90w60sqgq8w07mpjqln5va7kxnjh3rdwlk3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maWd1cmUgY2VydGFpbiBhc3BlY3RzIG9mIHRoZSBjb25uZWN0aW9uLiIsCiAgIm5hbWUiOiAiZ05vcmRWUE4tTG9jYWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICIzLjM4LjQiLAogICAgIjQwLjUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Jc29wb2xpdG8vZ05vcmRWUE4tTG9jYWwiLAogICJ1dWlkIjogImdub3JkdnBuLWxvY2FsQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "fully-transparent-top-bar@aunetx", "name": "Smart transparent topbar", "pname": "fully-transparent-top-bar", "description": "Permits to change topbar's look and feel when free-floating.\n\nIf you have issues or recommandations, you can tell me on github so I can see them!", "link": "https://extensions.gnome.org/extension/2588/fully-transparent-top-bar/", "shell_version_map": {"38": {"version": "11", "sha256": "1mksqaxw7jzzdghzii1bhhkbsccxb23qa69f3x6hg32ig9qi762x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBlcm1pdHMgdG8gY2hhbmdlIHRvcGJhcidzIGxvb2sgYW5kIGZlZWwgd2hlbiBmcmVlLWZsb2F0aW5nLlxuXG5JZiB5b3UgaGF2ZSBpc3N1ZXMgb3IgcmVjb21tYW5kYXRpb25zLCB5b3UgY2FuIHRlbGwgbWUgb24gZ2l0aHViIHNvIEkgY2FuIHNlZSB0aGVtISIsCiAgIm5hbWUiOiAiU21hcnQgdHJhbnNwYXJlbnQgdG9wYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJmdWxseS10cmFuc3BhcmVudC10b3AtYmFyQGF1bmV0eCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "always-indicator@martin.zurowietz.de", "name": "Always Indicator", "pname": "always-indicator", "description": "Always show the new messages indicator on new messages. Features: 1) New message indicator is always shown if there are notifications. 2) The color of the indicator can be customized. 3) If 'do not disturb' is active, the icon is displayed in the custom color if there are notifications.", "link": "https://extensions.gnome.org/extension/2594/always-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "1hryk0ispnxpfmfskj29nii72vwbaly4bcb4idyg2z3c1c71qhdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWFsd2F5cy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImFsd2F5cy1pbmRpY2F0b3JAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1hryk0ispnxpfmfskj29nii72vwbaly4bcb4idyg2z3c1c71qhdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWFsd2F5cy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImFsd2F5cy1pbmRpY2F0b3JAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "eruption-profile-switcher@x3n0m0rph59.org", "name": "Eruption Profile Switcher", "pname": "eruption-profile-switcher", "description": "Runtime profile switcher for the Eruption Linux input and LED driver for keyboards, mice and other devices", "link": "https://extensions.gnome.org/extension/2621/eruption-profile-switcher/", "shell_version_map": {"38": {"version": "15", "sha256": "1jy9m2inx8jjwsy666hg67i7d8py2ar4drn2i8si7d80cba45al4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "20", "sha256": "0mfy34n9gqa1k8sw6b1xcsxygvjnjqnd88bs49jd6l7hwisyns15", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "20", "sha256": "0mfy34n9gqa1k8sw6b1xcsxygvjnjqnd88bs49jd6l7hwisyns15", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"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 slider for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nMake sure that your user can use following shell commands without root.\n\t`ddcutil getvcp 10` to check the brightness of a display and\n\t`ddcutil setvcp 10 100` to set the brightness to 100\n\nMore info: 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": "08rwqdcaqcx84a5bjalcvryxvhfr15a1bcyldnzw8z9aysdx1jls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3Mgc2xpZGVyIGZvciBhbGwgdGhlIG1vbml0b3JzIGRldGVjdGVkIGJ5IGRkY3V0aWxcblRoaXMgdG9vbCB1c2VzIGRkY3V0aWwgYXMgYmFja2VuZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHlvdXIgZGlzcGxheS5cblxuTWFrZSBzdXJlIHRoYXQgeW91ciB1c2VyIGNhbiB1c2UgZm9sbG93aW5nIHNoZWxsIGNvbW1hbmRzIHdpdGhvdXQgcm9vdC5cblx0YGRkY3V0aWwgZ2V0dmNwIDEwYCB0byBjaGVjayB0aGUgYnJpZ2h0bmVzcyBvZiBhIGRpc3BsYXkgYW5kXG5cdGBkZGN1dGlsIHNldHZjcCAxMCAxMDBgIHRvIHNldCB0aGUgYnJpZ2h0bmVzcyB0byAxMDBcblxuTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwKICAibmFtZSI6ICJCcmlnaHRuZXNzIGNvbnRyb2wgdXNpbmcgZGRjdXRpbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZW1pZ2h0eWRlaXR5L2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "16", "sha256": "03g1m0n0y3fbx898nn6vmjsq6bmw7fphjsb1y7gqawlqim6yhxx0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3Mgc2xpZGVyIGZvciBhbGwgdGhlIG1vbml0b3JzIGRldGVjdGVkIGJ5IGRkY3V0aWxcblRoaXMgdG9vbCB1c2VzIGRkY3V0aWwgYXMgYmFja2VuZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHlvdXIgZGlzcGxheS5cblxuTWFrZSBzdXJlIHRoYXQgeW91ciB1c2VyIGNhbiB1c2UgZm9sbG93aW5nIHNoZWxsIGNvbW1hbmRzIHdpdGhvdXQgcm9vdC5cblx0YGRkY3V0aWwgZ2V0dmNwIDEwYCB0byBjaGVjayB0aGUgYnJpZ2h0bmVzcyBvZiBhIGRpc3BsYXkgYW5kXG5cdGBkZGN1dGlsIHNldHZjcCAxMCAxMDBgIHRvIHNldCB0aGUgYnJpZ2h0bmVzcyB0byAxMDBcblxuTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGVtaWdodHlkZWl0eS9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "03g1m0n0y3fbx898nn6vmjsq6bmw7fphjsb1y7gqawlqim6yhxx0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3Mgc2xpZGVyIGZvciBhbGwgdGhlIG1vbml0b3JzIGRldGVjdGVkIGJ5IGRkY3V0aWxcblRoaXMgdG9vbCB1c2VzIGRkY3V0aWwgYXMgYmFja2VuZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHlvdXIgZGlzcGxheS5cblxuTWFrZSBzdXJlIHRoYXQgeW91ciB1c2VyIGNhbiB1c2UgZm9sbG93aW5nIHNoZWxsIGNvbW1hbmRzIHdpdGhvdXQgcm9vdC5cblx0YGRkY3V0aWwgZ2V0dmNwIDEwYCB0byBjaGVjayB0aGUgYnJpZ2h0bmVzcyBvZiBhIGRpc3BsYXkgYW5kXG5cdGBkZGN1dGlsIHNldHZjcCAxMCAxMDBgIHRvIHNldCB0aGUgYnJpZ2h0bmVzcyB0byAxMDBcblxuTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGVtaWdodHlkZWl0eS9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}}}
+, {"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"}}}
 , {"uuid": "simple-task-bar@fthx", "name": "Simple Task Bar", "pname": "simple-task-bar", "description": "*** Superseeded by https://extensions.gnome.org/extension/4000/babar. ***\n\nTask bar in the top panel, tasks on all workspaces.\n\n Basic actions, nothing more : activate, minimize, switch, per-desktop overview. Some settings through GNOME Extensions manager, thanks @leleat.\n\n This extension can hide the Activities button and makes the Places Menu extension's label become a folder icon.\n\n This extension is *light* and should *not interfere* with GNOME Shell behaviour+logic. If you want more, please consider installing Dash to Panel.", "link": "https://extensions.gnome.org/extension/2672/simple-task-bar/", "shell_version_map": {"38": {"version": "33", "sha256": "0rsvfymmnljqikarihmgs2fdi14pclfdhwrsz06zxzxd6nvmj4x1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIioqKiBTdXBlcnNlZWRlZCBieSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MDAwL2JhYmFyLiAqKipcblxuVGFzayBiYXIgaW4gdGhlIHRvcCBwYW5lbCwgdGFza3Mgb24gYWxsIHdvcmtzcGFjZXMuXG5cbiBCYXNpYyBhY3Rpb25zLCBub3RoaW5nIG1vcmUgOiBhY3RpdmF0ZSwgbWluaW1pemUsIHN3aXRjaCwgcGVyLWRlc2t0b3Agb3ZlcnZpZXcuIFNvbWUgc2V0dGluZ3MgdGhyb3VnaCBHTk9NRSBFeHRlbnNpb25zIG1hbmFnZXIsIHRoYW5rcyBAbGVsZWF0LlxuXG4gVGhpcyBleHRlbnNpb24gY2FuIGhpZGUgdGhlIEFjdGl2aXRpZXMgYnV0dG9uIGFuZCBtYWtlcyB0aGUgUGxhY2VzIE1lbnUgZXh0ZW5zaW9uJ3MgbGFiZWwgYmVjb21lIGEgZm9sZGVyIGljb24uXG5cbiBUaGlzIGV4dGVuc2lvbiBpcyAqbGlnaHQqIGFuZCBzaG91bGQgKm5vdCBpbnRlcmZlcmUqIHdpdGggR05PTUUgU2hlbGwgYmVoYXZpb3VyK2xvZ2ljLiBJZiB5b3Ugd2FudCBtb3JlLCBwbGVhc2UgY29uc2lkZXIgaW5zdGFsbGluZyBEYXNoIHRvIFBhbmVsLiIsCiAgIm5hbWUiOiAiU2ltcGxlIFRhc2sgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zaW1wbGUtdGFzay1iYXIiLAogICJ1dWlkIjogInNpbXBsZS10YXNrLWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDMzCn0="}}}
-, {"uuid": "minimize-shelf@etenil", "name": "Minimize Shelf", "pname": "minimize-shelf", "description": "Minimize shelf in the top panel, with minimized windows of the current workspace.\n\n No settings but you can easily play around with CSS file. This extension is light and should not interfere with GNOME Shell behaviour+logic.", "link": "https://extensions.gnome.org/extension/2735/minimize-shelf/", "shell_version_map": {"40": {"version": "5", "sha256": "1is1nfpfwriqqraxgfsrg78v7cg5f9xddnkh7yiyfb14ih9qwwzp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIHNoZWxmIGluIHRoZSB0b3AgcGFuZWwsIHdpdGggbWluaW1pemVkIHdpbmRvd3Mgb2YgdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuXG4gTm8gc2V0dGluZ3MgYnV0IHlvdSBjYW4gZWFzaWx5IHBsYXkgYXJvdW5kIHdpdGggQ1NTIGZpbGUuIFRoaXMgZXh0ZW5zaW9uIGlzIGxpZ2h0IGFuZCBzaG91bGQgbm90IGludGVyZmVyZSB3aXRoIEdOT01FIFNoZWxsIGJlaGF2aW91citsb2dpYy4iLAogICJuYW1lIjogIk1pbmltaXplIFNoZWxmIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iYXRpc3Rlby9taW5pbWl6ZS1zaGVsZiIsCiAgInV1aWQiOiAibWluaW1pemUtc2hlbGZAZXRlbmlsIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1is1nfpfwriqqraxgfsrg78v7cg5f9xddnkh7yiyfb14ih9qwwzp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIHNoZWxmIGluIHRoZSB0b3AgcGFuZWwsIHdpdGggbWluaW1pemVkIHdpbmRvd3Mgb2YgdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuXG4gTm8gc2V0dGluZ3MgYnV0IHlvdSBjYW4gZWFzaWx5IHBsYXkgYXJvdW5kIHdpdGggQ1NTIGZpbGUuIFRoaXMgZXh0ZW5zaW9uIGlzIGxpZ2h0IGFuZCBzaG91bGQgbm90IGludGVyZmVyZSB3aXRoIEdOT01FIFNoZWxsIGJlaGF2aW91citsb2dpYy4iLAogICJuYW1lIjogIk1pbmltaXplIFNoZWxmIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iYXRpc3Rlby9taW5pbWl6ZS1zaGVsZiIsCiAgInV1aWQiOiAibWluaW1pemUtc2hlbGZAZXRlbmlsIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "minimize-shelf@etenil", "name": "Minimize Shelf", "pname": "minimize-shelf", "description": "Minimize shelf in the top panel, with minimized windows of the current workspace.\nThis extension is light and should not interfere with GNOME Shell behaviour+logic.", "link": "https://extensions.gnome.org/extension/2735/minimize-shelf/", "shell_version_map": {"40": {"version": "10", "sha256": "0kslw9nikb6nza9axvw0salkdx2nx1bpgfrlznprw7xf43x2dqyd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIHNoZWxmIGluIHRoZSB0b3AgcGFuZWwsIHdpdGggbWluaW1pemVkIHdpbmRvd3Mgb2YgdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuVGhpcyBleHRlbnNpb24gaXMgbGlnaHQgYW5kIHNob3VsZCBub3QgaW50ZXJmZXJlIHdpdGggR05PTUUgU2hlbGwgYmVoYXZpb3VyK2xvZ2ljLiIsCiAgIm5hbWUiOiAiTWluaW1pemUgU2hlbGYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iYXRpc3Rlby9taW5pbWl6ZS1zaGVsZiIsCiAgInV1aWQiOiAibWluaW1pemUtc2hlbGZAZXRlbmlsIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0kslw9nikb6nza9axvw0salkdx2nx1bpgfrlznprw7xf43x2dqyd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIHNoZWxmIGluIHRoZSB0b3AgcGFuZWwsIHdpdGggbWluaW1pemVkIHdpbmRvd3Mgb2YgdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuVGhpcyBleHRlbnNpb24gaXMgbGlnaHQgYW5kIHNob3VsZCBub3QgaW50ZXJmZXJlIHdpdGggR05PTUUgU2hlbGwgYmVoYXZpb3VyK2xvZ2ljLiIsCiAgIm5hbWUiOiAiTWluaW1pemUgU2hlbGYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iYXRpc3Rlby9taW5pbWl6ZS1zaGVsZiIsCiAgInV1aWQiOiAibWluaW1pemUtc2hlbGZAZXRlbmlsIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "remove-alt-tab-delay@daase.net", "name": "Remove Alt+Tab Delay v2", "pname": "remove-alttab-delay-v2", "description": "Another extension that removes the 0.15 second popup delay in switcher pop-ups. This extension is actively maintained. It fixes at least this known issue: https://gitlab.gnome.org/GNOME/mutter/issues/888.", "link": "https://extensions.gnome.org/extension/2741/remove-alttab-delay-v2/", "shell_version_map": {"38": {"version": "6", "sha256": "02s82kndphmhx5vxldh08ig04jzhyg4dw73fi2j7vxs1hg9drv9a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyB0aGUgMC4xNSBzZWNvbmQgcG9wdXAgZGVsYXkgaW4gc3dpdGNoZXIgcG9wLXVwcy4gVGhpcyBleHRlbnNpb24gaXMgYWN0aXZlbHkgbWFpbnRhaW5lZC4gSXQgZml4ZXMgYXQgbGVhc3QgdGhpcyBrbm93biBpc3N1ZTogaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL211dHRlci9pc3N1ZXMvODg4LiIsCiAgIm5hbWUiOiAiUmVtb3ZlIEFsdCtUYWIgRGVsYXkgdjIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL3JlbW92ZS1hbHQtdGFiLWRlbGF5IiwKICAidXVpZCI6ICJyZW1vdmUtYWx0LXRhYi1kZWxheUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "02s82kndphmhx5vxldh08ig04jzhyg4dw73fi2j7vxs1hg9drv9a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyB0aGUgMC4xNSBzZWNvbmQgcG9wdXAgZGVsYXkgaW4gc3dpdGNoZXIgcG9wLXVwcy4gVGhpcyBleHRlbnNpb24gaXMgYWN0aXZlbHkgbWFpbnRhaW5lZC4gSXQgZml4ZXMgYXQgbGVhc3QgdGhpcyBrbm93biBpc3N1ZTogaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL211dHRlci9pc3N1ZXMvODg4LiIsCiAgIm5hbWUiOiAiUmVtb3ZlIEFsdCtUYWIgRGVsYXkgdjIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL3JlbW92ZS1hbHQtdGFiLWRlbGF5IiwKICAidXVpZCI6ICJyZW1vdmUtYWx0LXRhYi1kZWxheUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "02s82kndphmhx5vxldh08ig04jzhyg4dw73fi2j7vxs1hg9drv9a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyB0aGUgMC4xNSBzZWNvbmQgcG9wdXAgZGVsYXkgaW4gc3dpdGNoZXIgcG9wLXVwcy4gVGhpcyBleHRlbnNpb24gaXMgYWN0aXZlbHkgbWFpbnRhaW5lZC4gSXQgZml4ZXMgYXQgbGVhc3QgdGhpcyBrbm93biBpc3N1ZTogaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL211dHRlci9pc3N1ZXMvODg4LiIsCiAgIm5hbWUiOiAiUmVtb3ZlIEFsdCtUYWIgRGVsYXkgdjIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL3JlbW92ZS1hbHQtdGFiLWRlbGF5IiwKICAidXVpZCI6ICJyZW1vdmUtYWx0LXRhYi1kZWxheUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "corona-tracker@lachhebo.github.io", "name": "corona-tracker", "pname": "corona-tracker", "description": "A GNOME Shell extension (GNOME Panel applet) to notify you every day with information about the COVID-19 virus spread.", "link": "https://extensions.gnome.org/extension/2767/corona-tracker/", "shell_version_map": {"38": {"version": "14", "sha256": "12mnlkh2l23wdx6m28x332lhqd0yq16zhfnmdhk6bzma7wq73sxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIG5vdGlmeSB5b3UgZXZlcnkgZGF5IHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIENPVklELTE5IHZpcnVzIHNwcmVhZC4iLAogICJuYW1lIjogImNvcm9uYS10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhY2hoZWJvL2Nvcm9uYS10cmFja2VyIiwKICAidXVpZCI6ICJjb3JvbmEtdHJhY2tlckBsYWNoaGViby5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "12mnlkh2l23wdx6m28x332lhqd0yq16zhfnmdhk6bzma7wq73sxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIG5vdGlmeSB5b3UgZXZlcnkgZGF5IHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIENPVklELTE5IHZpcnVzIHNwcmVhZC4iLAogICJuYW1lIjogImNvcm9uYS10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhY2hoZWJvL2Nvcm9uYS10cmFja2VyIiwKICAidXVpZCI6ICJjb3JvbmEtdHJhY2tlckBsYWNoaGViby5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "gnome-trash@gnome-trash.b00f.gitlab.com", "name": "Gnome Trash - UNMAINTAINED", "pname": "gnome-trash", "description": "MOVED HERE:\n\nhttps://github.com/b00f/gnome-trash", "link": "https://extensions.gnome.org/extension/2773/gnome-trash/", "shell_version_map": {"38": {"version": "13", "sha256": "1z7da74nvl4wvy6ckv55xkl3sc5qzcv6lz5k6bdfa0xcshifhl6h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1PVkVEIEhFUkU6XG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtdHJhc2giLAogICJuYW1lIjogIkdub21lIFRyYXNoIC0gVU5NQUlOVEFJTkVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYjAwZi9nbm9tZS10cmFzaCIsCiAgInV1aWQiOiAiZ25vbWUtdHJhc2hAZ25vbWUtdHJhc2guYjAwZi5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
@@ -285,7 +286,7 @@
 , {"uuid": "brightnesspanelmenuindicator@do.sch.dev.gmail.com", "name": "Brightness Panel Menu Indicator", "pname": "brightness-panel-menu-indicator", "description": "If a backlight device is available, this extension shows a brightness indicator on panel menu, that allows changing brightness through scrolling on it. Useful, when using ddcci-driver-linux on a desktop PC without native keyboard buttons to change brightness.", "link": "https://extensions.gnome.org/extension/2808/brightness-panel-menu-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "crypto@alipirpiran.github", "name": "Crypto Price Tracker", "pname": "crypto-price-tracker", "description": "Simple extension to track price of Crypto Currencies\n\nadd coins by Binance symbols, for example: \"BTCUSDT\"\ncomplete list on binance: https://www.binance.com/indexSpa.html", "link": "https://extensions.gnome.org/extension/2817/crypto-price-tracker/", "shell_version_map": {"40": {"version": "13", "sha256": "1kiq0h3vyw9nvc6al0w892khmc99bmaafb21rm6zin6qpm22dz7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDVVNEVFwiXG5jb21wbGV0ZSBsaXN0IG9uIGJpbmFuY2U6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWwiLAogICJuYW1lIjogIkNyeXB0byBQcmljZSBUcmFja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "ibus-tweaker@tuberry.github.com", "name": "IBus Tweaker", "pname": "ibus-tweaker", "description": "Tweaker of IBus for orientation, theme, font, input mode and clipboard history\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/2820/ibus-tweaker/", "shell_version_map": {"38": {"version": "28", "sha256": "1ahhcq8hpxkdvq1fp8gd8qp1cfsgqsm9swn4ph9kyrzr7j8jvc3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpYnVzLXR3ZWFrZXIiLAogICJuYW1lIjogIklCdXMgVHdlYWtlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pYnVzLXR3ZWFrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2lidXMtdHdlYWtlciIsCiAgInV1aWQiOiAiaWJ1cy10d2Vha2VyQHR1YmVycnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "34", "sha256": "0fs0hlxdnhssx9vcghbicg1fn3clws9q2f3nzdi4virpm8wksf3f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpYnVzLXR3ZWFrZXIiLAogICJuYW1lIjogIklCdXMgVHdlYWtlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pYnVzLXR3ZWFrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9pYnVzLXR3ZWFrZXIiLAogICJ1dWlkIjogImlidXMtdHdlYWtlckB0dWJlcnJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "36", "sha256": "0f819v8n1rvvwrir7qf8fp0bvn5zk899lpc4dr8f9jk9g8w57q7d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24taWJ1cy10d2Vha2VyIiwKICAibmFtZSI6ICJJQnVzIFR3ZWFrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaWJ1cy10d2Vha2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="}}}
-, {"uuid": "generic-monitor@gnome-shell-extensions", "name": "Generic Monitor", "pname": "generic-monitor", "description": "Display text & icon on systray using DBUS", "link": "https://extensions.gnome.org/extension/2826/generic-monitor/", "shell_version_map": {"38": {"version": "6", "sha256": "0j0mlhcpv0s2dwmkjcczxvczkpmy9cijbacmi2k106v8bfydqib6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwOi8vaW5kZWZlcm8uc291dGFkZS5mci9wL2dlbmVyaWNtb25pdG9yIiwKICAidXVpZCI6ICJnZW5lcmljLW1vbml0b3JAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0j0mlhcpv0s2dwmkjcczxvczkpmy9cijbacmi2k106v8bfydqib6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwOi8vaW5kZWZlcm8uc291dGFkZS5mci9wL2dlbmVyaWNtb25pdG9yIiwKICAidXVpZCI6ICJnZW5lcmljLW1vbml0b3JAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"uuid": "generic-monitor@gnome-shell-extensions", "name": "Generic Monitor", "pname": "generic-monitor", "description": "Display text & icon on systray using DBUS", "link": "https://extensions.gnome.org/extension/2826/generic-monitor/", "shell_version_map": {"38": {"version": "9", "sha256": "1gryq7agphzkcfnf3q4x4azp1d0wa0pim8xasddmdgk922qfb41q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2luZGVmZXJvLnNvdXRhZGUuZnIvcC9nZW5lcmljbW9uaXRvciIsCiAgInV1aWQiOiAiZ2VuZXJpYy1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "1gryq7agphzkcfnf3q4x4azp1d0wa0pim8xasddmdgk922qfb41q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2luZGVmZXJvLnNvdXRhZGUuZnIvcC9nZW5lcmljbW9uaXRvciIsCiAgInV1aWQiOiAiZ2VuZXJpYy1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1gryq7agphzkcfnf3q4x4azp1d0wa0pim8xasddmdgk922qfb41q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2luZGVmZXJvLnNvdXRhZGUuZnIvcC9nZW5lcmljbW9uaXRvciIsCiAgInV1aWQiOiAiZ2VuZXJpYy1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "hide-keyboard-layout@sitnik.ru", "name": "Hide Keyboard Layout", "pname": "hide-keyboard-layout", "description": "Hide keyboard layout indicator in status bar", "link": "https://extensions.gnome.org/extension/2848/hide-keyboard-layout/", "shell_version_map": {"38": {"version": "3", "sha256": "06l7x3nhrabiii93zgpxv4qyd525sxxn687x6lraxqlx1i824qzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvaGlkZS1rZXlib2FyZC1sYXlvdXQiLAogICJ1dWlkIjogImhpZGUta2V5Ym9hcmQtbGF5b3V0QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "06l7x3nhrabiii93zgpxv4qyd525sxxn687x6lraxqlx1i824qzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvaGlkZS1rZXlib2FyZC1sYXlvdXQiLAogICJ1dWlkIjogImhpZGUta2V5Ym9hcmQtbGF5b3V0QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "06l7x3nhrabiii93zgpxv4qyd525sxxn687x6lraxqlx1i824qzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvaGlkZS1rZXlib2FyZC1sYXlvdXQiLAogICJ1dWlkIjogImhpZGUta2V5Ym9hcmQtbGF5b3V0QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "poweroff-button-on-topbar@darknico.com", "name": "Poweroff Button on Topbar", "pname": "poweroff-button-on-topbar", "description": "Add poweroff button on topbar", "link": "https://extensions.gnome.org/extension/2851/poweroff-button-on-topbar/", "shell_version_map": {"38": {"version": "4", "sha256": "1x3d68pflicccxiqlwiflxrw5xnnw4096bdh7hypi40jdw3b5njz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBwb3dlcm9mZiBidXR0b24gb24gdG9wYmFyIiwKICAibmFtZSI6ICJQb3dlcm9mZiBCdXR0b24gb24gVG9wYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RhcmtuaWNvL0dOT01FLVNoZWxsLUV4dGVuc2lvbnMiLAogICJ1dWlkIjogInBvd2Vyb2ZmLWJ1dHRvbi1vbi10b3BiYXJAZGFya25pY28uY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1x3d68pflicccxiqlwiflxrw5xnnw4096bdh7hypi40jdw3b5njz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBwb3dlcm9mZiBidXR0b24gb24gdG9wYmFyIiwKICAibmFtZSI6ICJQb3dlcm9mZiBCdXR0b24gb24gVG9wYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RhcmtuaWNvL0dOT01FLVNoZWxsLUV4dGVuc2lvbnMiLAogICJ1dWlkIjogInBvd2Vyb2ZmLWJ1dHRvbi1vbi10b3BiYXJAZGFya25pY28uY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "maximize-to-workspace@raonetwo.github.com", "name": "Maximize To Workspace With History", "pname": "maximize-to-workspace-with-history", "description": "Like MacOS, puts window in a new workspace when its maximized or full-screened and brings you back to original workspace when its unmaximized or unfull-screened or closed. \n\nRecommended to use with touchegg/fusuma/libinput multi finger swipe gestures.", "link": "https://extensions.gnome.org/extension/2857/maximize-to-workspace-with-history/", "shell_version_map": {"38": {"version": "21", "sha256": "1m1vhscnflmlhscinj4nipybhkps213sh2s9qpp4bxm9h9waihww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpa2UgTWFjT1MsIHB1dHMgd2luZG93IGluIGEgbmV3IHdvcmtzcGFjZSB3aGVuIGl0cyBtYXhpbWl6ZWQgb3IgZnVsbC1zY3JlZW5lZCBhbmQgYnJpbmdzIHlvdSBiYWNrIHRvIG9yaWdpbmFsIHdvcmtzcGFjZSB3aGVuIGl0cyB1bm1heGltaXplZCBvciB1bmZ1bGwtc2NyZWVuZWQgb3IgY2xvc2VkLiBcblxuUmVjb21tZW5kZWQgdG8gdXNlIHdpdGggdG91Y2hlZ2cvZnVzdW1hL2xpYmlucHV0IG11bHRpIGZpbmdlciBzd2lwZSBnZXN0dXJlcy4iLAogICJuYW1lIjogIk1heGltaXplIFRvIFdvcmtzcGFjZSBXaXRoIEhpc3RvcnkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYW9uZXR3by9NYXhpbWl6ZVRvV29ya3NwYWNlIiwKICAidXVpZCI6ICJtYXhpbWl6ZS10by13b3Jrc3BhY2VAcmFvbmV0d28uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "40": {"version": "21", "sha256": "1m1vhscnflmlhscinj4nipybhkps213sh2s9qpp4bxm9h9waihww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpa2UgTWFjT1MsIHB1dHMgd2luZG93IGluIGEgbmV3IHdvcmtzcGFjZSB3aGVuIGl0cyBtYXhpbWl6ZWQgb3IgZnVsbC1zY3JlZW5lZCBhbmQgYnJpbmdzIHlvdSBiYWNrIHRvIG9yaWdpbmFsIHdvcmtzcGFjZSB3aGVuIGl0cyB1bm1heGltaXplZCBvciB1bmZ1bGwtc2NyZWVuZWQgb3IgY2xvc2VkLiBcblxuUmVjb21tZW5kZWQgdG8gdXNlIHdpdGggdG91Y2hlZ2cvZnVzdW1hL2xpYmlucHV0IG11bHRpIGZpbmdlciBzd2lwZSBnZXN0dXJlcy4iLAogICJuYW1lIjogIk1heGltaXplIFRvIFdvcmtzcGFjZSBXaXRoIEhpc3RvcnkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYW9uZXR3by9NYXhpbWl6ZVRvV29ya3NwYWNlIiwKICAidXVpZCI6ICJtYXhpbWl6ZS10by13b3Jrc3BhY2VAcmFvbmV0d28uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
@@ -293,11 +294,11 @@
 , {"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": "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": "22", "sha256": "0iigq5qb4jh8rjc7m8abz4fsqrihppax4czgwhphkc3fyk2r8iym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQnJpbmctT3V0LVN1Ym1lbnUtb2YtUG93ZXItT2ZmLUxvZ291dCIsCiAgInV1aWQiOiAiQnJpbmdPdXRTdWJtZW51T2ZQb3dlck9mZkxvZ291dEJ1dHRvbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "24", "sha256": "0mj3w7bn597barirp60isxbhrvwmms4xbpvk7j592yk5dbyidq65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyNAp9"}, "41": {"version": "24", "sha256": "0mj3w7bn597barirp60isxbhrvwmms4xbpvk7j592yk5dbyidq65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyNAp9"}}}
+, {"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,9 +306,9 @@
 , {"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": "9", "sha256": "1b62spk8njkk1b25cafw1z18141hz6cx9mhwh0f3an84mdm7nvjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "1b62spk8njkk1b25cafw1z18141hz6cx9mhwh0f3an84mdm7nvjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1b62spk8njkk1b25cafw1z18141hz6cx9mhwh0f3an84mdm7nvjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogOQp9"}}}
+, {"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="}}}
 , {"uuid": "user-theme-x@tuberry.github.io", "name": "User Themes X", "pname": "user-themes-x", "description": "Customizable user-theme with user stylesheet and dark theme auto-switch support\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3019/user-themes-x/", "shell_version_map": {"38": {"version": "21", "sha256": "08992jny17mbw3gvlfwzgis1ld3wfkkd5fwdyq2c4s6l412fr0mz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogInVzZXItdGhlbWUteCIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMgWCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvdXNlci10aGVtZS14IiwKICAidXVpZCI6ICJ1c2VyLXRoZW1lLXhAdHViZXJyeS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "40": {"version": "24", "sha256": "12scyi48nfbrl2bvhq4rwdcj7vyvpdc86sa8iw1fg3y0cw6vlvq6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogInVzZXItdGhlbWUteCIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMgWCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3VzZXItdGhlbWUteCIsCiAgInV1aWQiOiAidXNlci10aGVtZS14QHR1YmVycnkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "25", "sha256": "101y4msarf1dglh0g4wybz4dx8zsz2yg8ny2q5rz3xy1cjj8ac5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"uuid": "app_view_text@fawtytoo", "name": "Application View Text", "pname": "application-view-text", "description": "The text in the Application view can be hard to read on a light coloured background. This extension makes the text bolder with a drop shadow.\nAlso improves the visibility of the app running dot.", "link": "https://extensions.gnome.org/extension/3028/application-view-text/", "shell_version_map": {"38": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
@@ -318,19 +319,19 @@
 , {"uuid": "MaximizeToEmptyWorkspace-extension@kaisersite.de", "name": "Maximize To Empty Workspace", "pname": "maximize-to-empty-workspace", "description": "New and maximized windows will be moved to empty workspaces.\nSupports multiple monitors.", "link": "https://extensions.gnome.org/extension/3100/maximize-to-empty-workspace/", "shell_version_map": {"38": {"version": "10", "sha256": "05gi4r8wq8bnb1b5476w5h737swg0rdkm7fq1g2l2c9hg0h9r007", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "05gi4r8wq8bnb1b5476w5h737swg0rdkm7fq1g2l2c9hg0h9r007", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "05gi4r8wq8bnb1b5476w5h737swg0rdkm7fq1g2l2c9hg0h9r007", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "eye-extended@als.kz", "name": "Eye and Mouse Extended", "pname": "eye-extended", "description": "Adds an eye to the indicator bar that follows your cursor \nYou can also display the mouse indicator, perhaps it will help you with the problem of displaying the mouse cursor in Skype", "link": "https://extensions.gnome.org/extension/3139/eye-extended/", "shell_version_map": {"38": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "wireguard-indicator@gregos.me", "name": "Wireguard Indicator", "pname": "wireguard-indicator", "description": "Enable, disable, and view details of Wireguard.\nDeveloped by Gregos-Winus.", "link": "https://extensions.gnome.org/extension/3160/wireguard-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "blur-my-shell@aunetx", "name": "Blur my Shell", "pname": "blur-my-shell", "description": "Adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview.\n\nIMPORTANT:\nAfter updating the extension, PLEASE make sure to logout and re-login so that gnome-shell can reload the extension correctly. This is not a bug from Blur my Shell, but an unfortunate issue from gnome shell.\n\nYou can support my work by sponsoring me on:\n- github: https://github.com/sponsors/aunetx\n- ko-fi: https://ko-fi.com/aunetx", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "22", "sha256": "0nkjqb5fyza2ah0dmcdfh4f998zyv8c955k3dzvybvb4rmmyvm8y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5JTVBPUlRBTlQ6XG5BZnRlciB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uLCBQTEVBU0UgbWFrZSBzdXJlIHRvIGxvZ291dCBhbmQgcmUtbG9naW4gc28gdGhhdCBnbm9tZS1zaGVsbCBjYW4gcmVsb2FkIHRoZSBleHRlbnNpb24gY29ycmVjdGx5LiBUaGlzIGlzIG5vdCBhIGJ1ZyBmcm9tIEJsdXIgbXkgU2hlbGwsIGJ1dCBhbiB1bmZvcnR1bmF0ZSBpc3N1ZSBmcm9tIGdub21lIHNoZWxsLlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "25", "sha256": "1i7qlmfrq5hbd9jc4mj05i592fr5kcn0h4qappr2123saqdwnbl5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5JTVBPUlRBTlQ6XG5BZnRlciB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uLCBQTEVBU0UgbWFrZSBzdXJlIHRvIGxvZ291dCBhbmQgcmUtbG9naW4gc28gdGhhdCBnbm9tZS1zaGVsbCBjYW4gcmVsb2FkIHRoZSBleHRlbnNpb24gY29ycmVjdGx5LiBUaGlzIGlzIG5vdCBhIGJ1ZyBmcm9tIEJsdXIgbXkgU2hlbGwsIGJ1dCBhbiB1bmZvcnR1bmF0ZSBpc3N1ZSBmcm9tIGdub21lIHNoZWxsLlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAyNQp9"}, "41": {"version": "25", "sha256": "1i7qlmfrq5hbd9jc4mj05i592fr5kcn0h4qappr2123saqdwnbl5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5JTVBPUlRBTlQ6XG5BZnRlciB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uLCBQTEVBU0UgbWFrZSBzdXJlIHRvIGxvZ291dCBhbmQgcmUtbG9naW4gc28gdGhhdCBnbm9tZS1zaGVsbCBjYW4gcmVsb2FkIHRoZSBleHRlbnNpb24gY29ycmVjdGx5LiBUaGlzIGlzIG5vdCBhIGJ1ZyBmcm9tIEJsdXIgbXkgU2hlbGwsIGJ1dCBhbiB1bmZvcnR1bmF0ZSBpc3N1ZSBmcm9tIGdub21lIHNoZWxsLlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAyNQp9"}}}
+, {"uuid": "blur-my-shell@aunetx", "name": "Blur my Shell", "pname": "blur-my-shell", "description": "Adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview.\n\nYou can support my work by sponsoring me on:\n- github: https://github.com/sponsors/aunetx\n- ko-fi: https://ko-fi.com/aunetx", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "22", "sha256": "03vvxjdk7dfzx1crr5axp9qf4gg9lsh043zddcir8sj64m3mkz2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "27", "sha256": "0v0m4gy46wlv33vz2kxi69mdjmny262p2pb4qj3zshkcqh03mswz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "27", "sha256": "0v0m4gy46wlv33vz2kxi69mdjmny262p2pb4qj3zshkcqh03mswz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAyNwp9"}}}
 , {"uuid": "escape-overview@raelgc", "name": "ESCape Overview", "pname": "escape-overview", "description": "Close the Overview with a single ESC press when searchbox is empty.\n\nThe default gnome-shell behaviour is, during first ESC press, clean the searchbox, then second ESC press get back to Activities overview and then third ESC press will finally close the overview.", "link": "https://extensions.gnome.org/extension/3204/escape-overview/", "shell_version_map": {"38": {"version": "4", "sha256": "1yzba3d57s57wvviyr1gm1k5l15lnm7krhdcq6gv8gd5c80l3f02", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFlbGdjL2VzY2FwZS1vdmVydmlldyIsCiAgInV1aWQiOiAiZXNjYXBlLW92ZXJ2aWV3QHJhZWxnYyIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1yzba3d57s57wvviyr1gm1k5l15lnm7krhdcq6gv8gd5c80l3f02", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFlbGdjL2VzY2FwZS1vdmVydmlldyIsCiAgInV1aWQiOiAiZXNjYXBlLW92ZXJ2aWV3QHJhZWxnYyIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1yzba3d57s57wvviyr1gm1k5l15lnm7krhdcq6gv8gd5c80l3f02", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFlbGdjL2VzY2FwZS1vdmVydmlldyIsCiAgInV1aWQiOiAiZXNjYXBlLW92ZXJ2aWV3QHJhZWxnYyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"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=="}}}
 , {"uuid": "gnome-shell-duckduckgo-search-provider@keithcirkel.co.uk", "name": "DuckDuckGo Search Provider", "pname": "duckduckgo-search-provider", "description": "Add DuckDuckGo search suggestions to Gnome Shell Search", "link": "https://extensions.gnome.org/extension/3306/duckduckgo-search-provider/", "shell_version_map": {"38": {"version": "3", "sha256": "1id10vxz5dfq53wbiz8spqkr6d9qvs9dsykxpff29an96lzybj1w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1id10vxz5dfq53wbiz8spqkr6d9qvs9dsykxpff29an96lzybj1w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "translate-indicator@athenstaedt.net", "name": "Translate Indicator", "pname": "translate-indicator", "description": "Translate extension for Gnome-Shell - based on translate-shell, inspired by Tudmotu's clipboard-indicator and gufoe's text-translator", "link": "https://extensions.gnome.org/extension/3318/translate-indicator/", "shell_version_map": {"38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "material-shell@papyelgringo", "name": "Material Shell", "pname": "material-shell", "description": "A modern desktop interface for Linux - packaged as an extension for GNOME Shell. Improve your user experience and get rid of the anarchy of traditional desktop workflows. Designed to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.", "link": "https://extensions.gnome.org/extension/3357/material-shell/", "shell_version_map": {"38": {"version": "12", "sha256": "1rjybqlgbjmflg21cm7js2gjzvdhw14lpzncpzwf18rh4mp2adnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRoZW1lIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwudGhlbWUiLAogICJ0d2Vha3MiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50d2Vha3MiLAogICJ1cmwiOiAiaHR0cHM6Ly9tYXRlcmlhbC1zaGVsbC5jb20iLAogICJ1dWlkIjogIm1hdGVyaWFsLXNoZWxsQHBhcHllbGdyaW5nbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "17", "sha256": "19zniqwksrfxcdw2byqhi8px0bzb28qljzzl0wl2cb8jnm517g6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidGhlbWUiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50aGVtZSIsCiAgInR3ZWFrcyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLnR3ZWFrcyIsCiAgInVybCI6ICJodHRwczovL21hdGVyaWFsLXNoZWxsLmNvbSIsCiAgInV1aWQiOiAibWF0ZXJpYWwtc2hlbGxAcGFweWVsZ3JpbmdvIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "41": {"version": "17", "sha256": "19zniqwksrfxcdw2byqhi8px0bzb28qljzzl0wl2cb8jnm517g6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidGhlbWUiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50aGVtZSIsCiAgInR3ZWFrcyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLnR3ZWFrcyIsCiAgInVybCI6ICJodHRwczovL21hdGVyaWFsLXNoZWxsLmNvbSIsCiAgInV1aWQiOiAibWF0ZXJpYWwtc2hlbGxAcGFweWVsZ3JpbmdvIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
+, {"uuid": "material-shell@papyelgringo", "name": "Material Shell", "pname": "material-shell", "description": "A modern desktop interface for Linux - packaged as an extension for GNOME Shell. Improve your user experience and get rid of the anarchy of traditional desktop workflows. Designed to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.", "link": "https://extensions.gnome.org/extension/3357/material-shell/", "shell_version_map": {"38": {"version": "12", "sha256": "1rjybqlgbjmflg21cm7js2gjzvdhw14lpzncpzwf18rh4mp2adnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRoZW1lIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwudGhlbWUiLAogICJ0d2Vha3MiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50d2Vha3MiLAogICJ1cmwiOiAiaHR0cHM6Ly9tYXRlcmlhbC1zaGVsbC5jb20iLAogICJ1dWlkIjogIm1hdGVyaWFsLXNoZWxsQHBhcHllbGdyaW5nbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "18", "sha256": "1qnldrad5kkm2km4qdkwagp8m2x30bq56jzaba01h6j7mgw90ai6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidGhlbWUiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50aGVtZSIsCiAgInR3ZWFrcyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLnR3ZWFrcyIsCiAgInVybCI6ICJodHRwczovL21hdGVyaWFsLXNoZWxsLmNvbSIsCiAgInV1aWQiOiAibWF0ZXJpYWwtc2hlbGxAcGFweWVsZ3JpbmdvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "1qnldrad5kkm2km4qdkwagp8m2x30bq56jzaba01h6j7mgw90ai6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidGhlbWUiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50aGVtZSIsCiAgInR3ZWFrcyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLnR3ZWFrcyIsCiAgInVybCI6ICJodHRwczovL21hdGVyaWFsLXNoZWxsLmNvbSIsCiAgInV1aWQiOiAibWF0ZXJpYWwtc2hlbGxAcGFweWVsZ3JpbmdvIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "proxyprofiles@massamany.github.com", "name": "Proxy Profiles", "pname": "proxy-profiles", "description": "Swich easily between several proxy profiles.", "link": "https://extensions.gnome.org/extension/3379/proxy-profiles/", "shell_version_map": {"38": {"version": "5", "sha256": "1b2mabrvpkadxc6v5fczamh2hqh7va2990k10awxy18c0vm3p5kw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aWNoIGVhc2lseSBiZXR3ZWVuIHNldmVyYWwgcHJveHkgcHJvZmlsZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJveHlwcm9maWxlcyIsCiAgIm5hbWUiOiAiUHJveHkgUHJvZmlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFzc2FtYW55L3Byb3h5cHJvZmlsZXMiLAogICJ1dWlkIjogInByb3h5cHJvZmlsZXNAbWFzc2FtYW55LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1b2mabrvpkadxc6v5fczamh2hqh7va2990k10awxy18c0vm3p5kw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aWNoIGVhc2lseSBiZXR3ZWVuIHNldmVyYWwgcHJveHkgcHJvZmlsZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJveHlwcm9maWxlcyIsCiAgIm5hbWUiOiAiUHJveHkgUHJvZmlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFzc2FtYW55L3Byb3h5cHJvZmlsZXMiLAogICJ1dWlkIjogInByb3h5cHJvZmlsZXNAbWFzc2FtYW55LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "galaxy-buds-battery@pemmoura", "name": "Galaxy Buds Battery", "pname": "galaxy-buds-battery", "description": "Galaxy Buds battery indicator.", "link": "https://extensions.gnome.org/extension/3383/galaxy-buds-battery/", "shell_version_map": {"38": {"version": "6", "sha256": "1f25mc5idqaw3v9b2xffiij9y0pcrl8msz85p8cz2x5l2r3sc7wm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdhbGF4eSBCdWRzIGJhdHRlcnkgaW5kaWNhdG9yLiIsCiAgIm5hbWUiOiAiR2FsYXh5IEJ1ZHMgQmF0dGVyeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BlbW1vdXJhL2dhbGF4eWJ1ZHMtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnYWxheHktYnVkcy1iYXR0ZXJ5QHBlbW1vdXJhIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "color-picker@tuberry", "name": "Color Picker", "pname": "color-picker", "description": "Simple color picker for gnome shell\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3396/color-picker/", "shell_version_map": {"38": {"version": "20", "sha256": "1ss4r8dpa7smxbyz41rw3wl1gy20bvy89xdvwfz6zfhv3db5vl86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvY29sb3ItcGlja2VyIiwKICAidXVpZCI6ICJjb2xvci1waWNrZXJAdHViZXJyeSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "25", "sha256": "0lx4bs7yfqkphb5cwmakl6xjf14q89m0yn70a882drakfhzgnagw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2NvbG9yLXBpY2tlciIsCiAgInV1aWQiOiAiY29sb3ItcGlja2VyQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "27", "sha256": "1scc0cgdzrg9rmpr090myrsxhfgp03aqld9jh4grqbfza6lrz4jd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvci1waWNrZXIiLAogICJuYW1lIjogIkNvbG9yIFBpY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb2xvci1waWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9jb2xvci1waWNrZXIiLAogICJ1dWlkIjogImNvbG9yLXBpY2tlckB0dWJlcnJ5IiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
@@ -338,7 +339,7 @@
 , {"uuid": "ascii_emoji_buckets@HarshKhandeparkar", "name": "ASCII Emoji Buckets", "pname": "ascii-emoji-buckets", "description": "Buckets of ASCII emojis for your messaging pleasure. A fork of Emoji Buckets.", "link": "https://extensions.gnome.org/extension/3408/ascii-emoji-buckets/", "shell_version_map": {"38": {"version": "9", "sha256": "1srqsjzcywywlhapaca41v4pc99w503m5532g6cc6qwz9f2r4w5h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1Y2tldHMgb2YgQVNDSUkgZW1vamlzIGZvciB5b3VyIG1lc3NhZ2luZyBwbGVhc3VyZS4gQSBmb3JrIG9mIEVtb2ppIEJ1Y2tldHMuIiwKICAibmFtZSI6ICJBU0NJSSBFbW9qaSBCdWNrZXRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzY2lpLWVtb2ppLWJ1Y2tldHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hhcnNoS2hhbmRlcGFya2FyL2dub21lLWFzY2lpLWVtb2ppLWJ1Y2tldHMiLAogICJ1dWlkIjogImFzY2lpX2Vtb2ppX2J1Y2tldHNASGFyc2hLaGFuZGVwYXJrYXIiLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "user-stylesheet@tomaszgasior.pl", "name": "User style sheet & font", "pname": "user-stylesheet-font", "description": "Load custom style sheet from ~/.config/gnome-shell/gnome-shell.css. Use GTK font family and font size from GNOME Tweaks in GNOME Shell.", "link": "https://extensions.gnome.org/extension/3414/user-stylesheet-font/", "shell_version_map": {"38": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "wg-indicator@dpf12110.gmail.com", "name": "WG Indicator", "pname": "wg-indicator", "description": "A status indicator for Wireguard connections.", "link": "https://extensions.gnome.org/extension/3418/wg-indicator/", "shell_version_map": {"40": {"version": "13", "sha256": "126n9gbvh1yshbvx74af01f7jyrjr4p0299x9ki171d1f40djrvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N5bmMxMjExL3dnLWluZGljYXRvciIsCiAgInV1aWQiOiAid2ctaW5kaWNhdG9yQGRwZjEyMTEwLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "126n9gbvh1yshbvx74af01f7jyrjr4p0299x9ki171d1f40djrvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N5bmMxMjExL3dnLWluZGljYXRvciIsCiAgInV1aWQiOiAid2ctaW5kaWNhdG9yQGRwZjEyMTEwLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "flypie@schneegans.github.com", "name": "Fly-Pie", "pname": "fly-pie", "description": "A marking menu which can be used to launch applications, simulate hotkeys, open URLs and much more.", "link": "https://extensions.gnome.org/extension/3433/fly-pie/", "shell_version_map": {"38": {"version": "12", "sha256": "0cafi61r07818jl9p65z36170nv2720g6vnwajr3xshw2qz7gwz0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRmx5LVBpZSIsCiAgInV1aWQiOiAiZmx5cGllQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "0cafi61r07818jl9p65z36170nv2720g6vnwajr3xshw2qz7gwz0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRmx5LVBpZSIsCiAgInV1aWQiOiAiZmx5cGllQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0cafi61r07818jl9p65z36170nv2720g6vnwajr3xshw2qz7gwz0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRmx5LVBpZSIsCiAgInV1aWQiOiAiZmx5cGllQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"uuid": "flypie@schneegans.github.com", "name": "Fly-Pie", "pname": "fly-pie", "description": "A marking menu which can be used to launch applications, simulate hotkeys, open URLs and much more.", "link": "https://extensions.gnome.org/extension/3433/fly-pie/", "shell_version_map": {"38": {"version": "13", "sha256": "0spqd46cyzlazg29rdnpkqcyiqyrkx610265hdf2whbh5y5cmvpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRmx5LVBpZSIsCiAgInV1aWQiOiAiZmx5cGllQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "0spqd46cyzlazg29rdnpkqcyiqyrkx610265hdf2whbh5y5cmvpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRmx5LVBpZSIsCiAgInV1aWQiOiAiZmx5cGllQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "0spqd46cyzlazg29rdnpkqcyiqyrkx610265hdf2whbh5y5cmvpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRmx5LVBpZSIsCiAgInV1aWQiOiAiZmx5cGllQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "jiggle@jeffchannell.com", "name": "Jiggle", "pname": "jiggle", "description": "Jiggle is a Gnome Shell extension that highlights the cursor position when the mouse is moved rapidly.", "link": "https://extensions.gnome.org/extension/3438/jiggle/", "shell_version_map": {"38": {"version": "8", "sha256": "0f5zwvcqz648sn11nl49r0ki6zy5c2hp4imgba0dlc02fags7pxz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkppZ2dsZSBpcyBhIEdub21lIFNoZWxsIGV4dGVuc2lvbiB0aGF0IGhpZ2hsaWdodHMgdGhlIGN1cnNvciBwb3NpdGlvbiB3aGVuIHRoZSBtb3VzZSBpcyBtb3ZlZCByYXBpZGx5LiIsCiAgIm5hbWUiOiAiSmlnZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjMiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plZmZjaGFubmVsbC9qaWdnbGUiLAogICJ1dWlkIjogImppZ2dsZUBqZWZmY2hhbm5lbGwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0f5zwvcqz648sn11nl49r0ki6zy5c2hp4imgba0dlc02fags7pxz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkppZ2dsZSBpcyBhIEdub21lIFNoZWxsIGV4dGVuc2lvbiB0aGF0IGhpZ2hsaWdodHMgdGhlIGN1cnNvciBwb3NpdGlvbiB3aGVuIHRoZSBtb3VzZSBpcyBtb3ZlZCByYXBpZGx5LiIsCiAgIm5hbWUiOiAiSmlnZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjMiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plZmZjaGFubmVsbC9qaWdnbGUiLAogICJ1dWlkIjogImppZ2dsZUBqZWZmY2hhbm5lbGwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "showtime-horizontal@xenlism.github.io", "name": "Showtime Horizontal - Desktop Widget", "pname": "showtime-horizontal", "description": "Horizontal Style Date &amp; Clock Widget base on Budgie Desktop Widget", "link": "https://extensions.gnome.org/extension/3442/showtime-horizontal/", "shell_version_map": {"38": {"version": "5", "sha256": "1rdf1alxfyi29wnz2bzm20j9k5q8sn3a6d4si841cjbhmvqdcqhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvcml6b250YWwgU3R5bGUgRGF0ZSAmYW1wOyBDbG9jayBXaWRnZXQgYmFzZSBvbiBCdWRnaWUgRGVza3RvcCBXaWRnZXQiLAogICJleHRlbnNpb24taWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbCIsCiAgIm5hbWUiOiAiU2hvd3RpbWUgSG9yaXpvbnRhbCAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lLWhvcml6b250YWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS94ZW5saXNtL3Nob3d0aW1lIiwKICAidXVpZCI6ICJzaG93dGltZS1ob3Jpem9udGFsQHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "6", "sha256": "1zy7lkkmcjxkc30hys98s0xlmi93cyc6jz6qx7zfv1v7w03iw3ld", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvcml6b250YWwgU3R5bGUgRGF0ZSAmYW1wOyBDbG9jayBXaWRnZXQgYmFzZSBvbiBCdWRnaWUgRGVza3RvcCBXaWRnZXQiLAogICJleHRlbnNpb24taWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbCIsCiAgIm5hbWUiOiAiU2hvd3RpbWUgSG9yaXpvbnRhbCAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lLWhvcml6b250YWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbEB4ZW5saXNtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "display-switcher@iyadk.com", "name": "Display Switcher 2", "pname": "display-switcher", "description": "This extension allows you to toggle between display modes quickly using Super + I.  You can switch between Extended, Primary, Clone, and Secondary Only modes quickly.  Selecting Extended mode multiple times will flip your secondary monitor's relative position to the primary (to the left or right of it).  This extension was originally developed by Lucas Diedrich - https://extensions.gnome.org/extension/1030/display-switcher/ and has been adapted to support Gnome Shell's v3.36.", "link": "https://extensions.gnome.org/extension/3459/display-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "13vb68xfmcx525yk2vgfny6xvi06nzv103an5zab90hvmj6ggzlj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyB5b3UgdG8gdG9nZ2xlIGJldHdlZW4gZGlzcGxheSBtb2RlcyBxdWlja2x5IHVzaW5nIFN1cGVyICsgSS4gIFlvdSBjYW4gc3dpdGNoIGJldHdlZW4gRXh0ZW5kZWQsIFByaW1hcnksIENsb25lLCBhbmQgU2Vjb25kYXJ5IE9ubHkgbW9kZXMgcXVpY2tseS4gIFNlbGVjdGluZyBFeHRlbmRlZCBtb2RlIG11bHRpcGxlIHRpbWVzIHdpbGwgZmxpcCB5b3VyIHNlY29uZGFyeSBtb25pdG9yJ3MgcmVsYXRpdmUgcG9zaXRpb24gdG8gdGhlIHByaW1hcnkgKHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IG9mIGl0KS4gIFRoaXMgZXh0ZW5zaW9uIHdhcyBvcmlnaW5hbGx5IGRldmVsb3BlZCBieSBMdWNhcyBEaWVkcmljaCAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEwMzAvZGlzcGxheS1zd2l0Y2hlci8gYW5kIGhhcyBiZWVuIGFkYXB0ZWQgdG8gc3VwcG9ydCBHbm9tZSBTaGVsbCdzIHYzLjM2LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNwbGF5LXN3aXRjaGVyIiwKICAibmFtZSI6ICJEaXNwbGF5IFN3aXRjaGVyIDIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiTHVjYXMgRGllZHJpY2giLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l5YWRrYW5kYWxhZnQvZ25vbWUtZGlzcGxheS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZGlzcGxheS1zd2l0Y2hlckBpeWFkay5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
@@ -351,10 +352,10 @@
 , {"uuid": "transparent-shell@siroj42.github.io", "name": "Transparent Shell", "pname": "transparent-shell", "description": "Make the main shell components (Top bar, dash, search box) transparent.", "link": "https://extensions.gnome.org/extension/3518/transparent-shell/", "shell_version_map": {"38": {"version": "6", "sha256": "109c5w2p7w9arfy4wrqmyyi7vd5fwdr8n2cz250bpxiij6zq140k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgc2VhcmNoIGJveCkgdHJhbnNwYXJlbnQuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1Npcm9qNDIvZ25vbWUtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXNoZWxsIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1zaGVsbEBzaXJvajQyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "7", "sha256": "0nzx401vvzn8n9xnkd13v5jim0l7zd01p1lf0lbgydrr8gh67i95", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgc2VhcmNoIGJveCkgdHJhbnNwYXJlbnQuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TaXJvajQyL2dub21lLWV4dGVuc2lvbi10cmFuc3BhcmVudC1zaGVsbCIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtc2hlbGxAc2lyb2o0Mi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "true-color-invert@jackkenney", "name": "True Color Invert", "pname": "true-color-invert", "description": "Inverts the color of individual windows so they are hue-preserved.\nDefault shortcut is Super+I", "link": "https://extensions.gnome.org/extension/3530/true-color-invert/", "shell_version_map": {"38": {"version": "8", "sha256": "0l8sz8w8l6cmkn19sg34gmbh79sx49jdx1gk8xzh7yyxgqxhayzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFja2tlbm5leS9nbm9tZS10cnVlLWNvbG9yLWludmVydCIsCiAgInV1aWQiOiAidHJ1ZS1jb2xvci1pbnZlcnRAamFja2tlbm5leSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "0l8sz8w8l6cmkn19sg34gmbh79sx49jdx1gk8xzh7yyxgqxhayzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFja2tlbm5leS9nbm9tZS10cnVlLWNvbG9yLWludmVydCIsCiAgInV1aWQiOiAidHJ1ZS1jb2xvci1pbnZlcnRAamFja2tlbm5leSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "0l8sz8w8l6cmkn19sg34gmbh79sx49jdx1gk8xzh7yyxgqxhayzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFja2tlbm5leS9nbm9tZS10cnVlLWNvbG9yLWludmVydCIsCiAgInV1aWQiOiAidHJ1ZS1jb2xvci1pbnZlcnRAamFja2tlbm5leSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "gitlab-extension@infinicode.de", "name": "GitLab Extension", "pname": "gitlab-extension", "description": "GitLab extension utilizes the official GitLab API to provide a comfortable overview about your projects, commits & pipelines.\n", "link": "https://extensions.gnome.org/extension/3535/gitlab-extension/", "shell_version_map": {"38": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "downfall@torculus.github.com", "name": "DownFall", "pname": "downfall", "description": "Moves text of your choice across the screen. Can simulate leaves, snow, fireworks, ufos, and more!", "link": "https://extensions.gnome.org/extension/3539/downfall/", "shell_version_map": {"38": {"version": "17", "sha256": "1r3xncfa3jgc9w5s2q7pr8xp88ghsnv4awfz2dsaw4pclqbwla88", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "1r3xncfa3jgc9w5s2q7pr8xp88ghsnv4awfz2dsaw4pclqbwla88", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "1r3xncfa3jgc9w5s2q7pr8xp88ghsnv4awfz2dsaw4pclqbwla88", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
-, {"uuid": "time-awareness@gnome-extensions.kapranoff.ru", "name": "Time Awareness", "pname": "time-awareness", "description": "Tracks the time you have been actively using your computer", "link": "https://extensions.gnome.org/extension/3556/time-awareness/", "shell_version_map": {"38": {"version": "6", "sha256": "0kfw4s2y0r51plmchzga7fkd69ynksccz881xh683k4as6af4mcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vc3IuaHQvfmthcHBhL2dub21lLXNoZWxsLXRpbWUtYXdhcmVuZXNzLyIsCiAgInV1aWQiOiAidGltZS1hd2FyZW5lc3NAZ25vbWUtZXh0ZW5zaW9ucy5rYXByYW5vZmYucnUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0kfw4s2y0r51plmchzga7fkd69ynksccz881xh683k4as6af4mcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vc3IuaHQvfmthcHBhL2dub21lLXNoZWxsLXRpbWUtYXdhcmVuZXNzLyIsCiAgInV1aWQiOiAidGltZS1hd2FyZW5lc3NAZ25vbWUtZXh0ZW5zaW9ucy5rYXByYW5vZmYucnUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0kfw4s2y0r51plmchzga7fkd69ynksccz881xh683k4as6af4mcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vc3IuaHQvfmthcHBhL2dub21lLXNoZWxsLXRpbWUtYXdhcmVuZXNzLyIsCiAgInV1aWQiOiAidGltZS1hd2FyZW5lc3NAZ25vbWUtZXh0ZW5zaW9ucy5rYXByYW5vZmYucnUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "downfall@torculus.github.com", "name": "DownFall", "pname": "downfall", "description": "Moves text of your choice across the screen. Can simulate leaves, snow, fireworks, ufos, and more!", "link": "https://extensions.gnome.org/extension/3539/downfall/", "shell_version_map": {"38": {"version": "18", "sha256": "0x271szv8gjkzh04sp3gif6y5yxs6rvhxnwa3q3j7bxhlwscjx7a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "18", "sha256": "0x271szv8gjkzh04sp3gif6y5yxs6rvhxnwa3q3j7bxhlwscjx7a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0x271szv8gjkzh04sp3gif6y5yxs6rvhxnwa3q3j7bxhlwscjx7a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9yY3VsdXMvRG93bkZhbGwiLAogICJ1dWlkIjogImRvd25mYWxsQHRvcmN1bHVzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
+, {"uuid": "time-awareness@gnome-extensions.kapranoff.ru", "name": "Time Awareness", "pname": "time-awareness", "description": "Tracks the time you have been actively using your computer", "link": "https://extensions.gnome.org/extension/3556/time-awareness/", "shell_version_map": {"38": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "mullvadindicator@pobega.github.com", "name": "Mullvad Indicator", "pname": "mullvad-indicator", "description": "Mullvad connection status indicator", "link": "https://extensions.gnome.org/extension/3560/mullvad-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "05vcb7g51byvnk7bzajb1i7knj4zwjiksia97wabk41a2bagc4jc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUG9iZWdhL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdWxsdmFkLWluZGljYXRvciIsCiAgInV1aWQiOiAibXVsbHZhZGluZGljYXRvckBwb2JlZ2EuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "05vcb7g51byvnk7bzajb1i7knj4zwjiksia97wabk41a2bagc4jc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUG9iZWdhL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdWxsdmFkLWluZGljYXRvciIsCiAgInV1aWQiOiAibXVsbHZhZGluZGljYXRvckBwb2JlZ2EuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "05vcb7g51byvnk7bzajb1i7knj4zwjiksia97wabk41a2bagc4jc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUG9iZWdhL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdWxsdmFkLWluZGljYXRvciIsCiAgInV1aWQiOiAibXVsbHZhZGluZGljYXRvckBwb2JlZ2EuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "task-widget@juozasmiskinis.gitlab.io", "name": "Task Widget", "pname": "task-widget", "description": "Display tasks next to the calendar widget.\n\nVisit our Wiki page for more information and troubleshooting.", "link": "https://extensions.gnome.org/extension/3569/task-widget/", "shell_version_map": {"38": {"version": "10", "sha256": "16nx63qcaih4812hyvhw0kypvik88g8423i5sp1360bwkrdppc36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMCwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}, "40": {"version": "10", "sha256": "16nx63qcaih4812hyvhw0kypvik88g8423i5sp1360bwkrdppc36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMCwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}, "41": {"version": "10", "sha256": "16nx63qcaih4812hyvhw0kypvik88g8423i5sp1360bwkrdppc36", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMCwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}}}
+, {"uuid": "task-widget@juozasmiskinis.gitlab.io", "name": "Task Widget", "pname": "task-widget", "description": "Display tasks next to the calendar widget.\n\nVisit our Wiki page for more information and troubleshooting.", "link": "https://extensions.gnome.org/extension/3569/task-widget/", "shell_version_map": {"38": {"version": "11", "sha256": "0bn43w6smfihr220k6abazq6lwd5qc3xyrl9crh9m6m09c0x7hln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMSwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}, "40": {"version": "11", "sha256": "0bn43w6smfihr220k6abazq6lwd5qc3xyrl9crh9m6m09c0x7hln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMSwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}, "41": {"version": "11", "sha256": "0bn43w6smfihr220k6abazq6lwd5qc3xyrl9crh9m6m09c0x7hln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMSwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}}}
 , {"uuid": "air-quality@mcardillo55", "name": "Air Quality", "pname": "air-quality", "description": "View local air quality from PurpleAir in the top bar", "link": "https://extensions.gnome.org/extension/3574/air-quality/", "shell_version_map": {"40": {"version": "2", "sha256": "037hbbb6z3gj818hqxqq96yszd1hka57pn4gj9f5kps7ak5hca4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbG9jYWwgYWlyIHF1YWxpdHkgZnJvbSBQdXJwbGVBaXIgaW4gdGhlIHRvcCBiYXIiLAogICJuYW1lIjogIkFpciBRdWFsaXR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21jYXJkaWxsbzU1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1haXItcXVhbGl0eSIsCiAgInV1aWQiOiAiYWlyLXF1YWxpdHlAbWNhcmRpbGxvNTUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "oclock@ortega.tech", "name": "OClock", "pname": "oclock", "description": "Shows an analog clock on the panel", "link": "https://extensions.gnome.org/extension/3578/oclock/", "shell_version_map": {"40": {"version": "2", "sha256": "1pp155a51c1fsmlwfsr1hxsv79xra3sbqrda3fkvhrv4jif7n7s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJKZXJlbWlhcyBPcnRlZ2EiLAogICJkZXNjcmlwdGlvbiI6ICJTaG93cyBhbiBhbmFsb2cgY2xvY2sgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJPQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9qZXJlLW9ydGVnYTI0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1vY2xvY2svIiwKICAidXVpZCI6ICJvY2xvY2tAb3J0ZWdhLnRlY2giLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1pp155a51c1fsmlwfsr1hxsv79xra3sbqrda3fkvhrv4jif7n7s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJKZXJlbWlhcyBPcnRlZ2EiLAogICJkZXNjcmlwdGlvbiI6ICJTaG93cyBhbiBhbmFsb2cgY2xvY2sgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJPQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9qZXJlLW9ydGVnYTI0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1vY2xvY2svIiwKICAidXVpZCI6ICJvY2xvY2tAb3J0ZWdhLnRlY2giLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "azan@hatem.masmoudi.org", "name": "Azan Islamic Prayer Times", "pname": "azan-islamic-prayer-times", "description": "Azan is an Islamic prayer times extension for Gnome Shell based on the extension by Fahrinh.\n\nFeatures\n- List compulsory prayer times\n Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Moon status icon", "link": "https://extensions.gnome.org/extension/3602/azan-islamic-prayer-times/", "shell_version_map": {"38": {"version": "2", "sha256": "1z58m1w04mdddq9p3102jv852zks41f2l7xbx7j8jcljy4ahiqll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbCBiYXNlZCBvbiB0aGUgZXh0ZW5zaW9uIGJ5IEZhaHJpbmguXG5cbkZlYXR1cmVzXG4tIExpc3QgY29tcHVsc29yeSBwcmF5ZXIgdGltZXNcbiBPcHRpb25hbGx5IGRpc3BsYXkgSW1zYWssIFN1bnJpc2UsIFN1bnNldCBhbmQgTWlkbmlnaHRcbi0gU2hvdyByZW1haW5pbmcgdGltZSBmb3IgdGhlIHVwY29taW5nIHByYXllci5cbi0gU2hvdyBjdXJyZW50IGRhdGUgaW4gSGlqcmkgY2FsZW5kYXIuXG4tIERpc3BsYXkgYSBub3RpZmljYXRpb24gd2hlbiBpdCdzIHRpbWUgZm9yIHByYXllci5cbi0gQXV0b21hdGljIEdlb2NsdWUyIGxvY2F0aW9uIGRldGVjdGlvblxuLSBTaG93IHRpbWVzIGluIDI0IGhvdXIgYW5kIDEyIGhvdXIgZm9ybWF0c1xuLSBIaWpyaSBkYXRlIGFkanVzbWVudFxuLSBNb29uIHN0YXR1cyBpY29uIiwKICAibmFtZSI6ICJBemFuIElzbGFtaWMgUHJheWVyIFRpbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF6YW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMSIsCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vaG1hc21vdWRpL2F6YW4tZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhemFuQGhhdGVtLm1hc21vdWRpLm9yZyIsCiAgInZlcnNpb24iOiAyCn0="}}}
@@ -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": "19", "sha256": "0m3y218hqr5jn4cnqy2zi075r31q869dkamgbxrhkbydfvswr37a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "0m3y218hqr5jn4cnqy2zi075r31q869dkamgbxrhkbydfvswr37a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"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": "21", "sha256": "0dpxr8afhr1n4hywyzhrjkya3b1md512flf4wja39ahjkb4cdgmi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "41": {"version": "21", "sha256": "0dpxr8afhr1n4hywyzhrjkya3b1md512flf4wja39ahjkb4cdgmi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
 , {"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="}}}
@@ -374,17 +375,17 @@
 , {"uuid": "netspeedsimplified@prateekmedia.extension", "name": "Net speed Simplified", "pname": "net-speed-simplified", "description": "A Net Speed extension With Loads of Customization. Fork of simplenetspeed \n \nWhat's new\n☞ Add Use System Color Scheme option \n☞ Update Preferences logic \n☞ Filter more devices for net speed indicator \n\nFull CHANGELOG can be found on github releases page \n\nFeatures \n1. Clean UI \n2. Adjustable Refresh rate \n3. Preferences to manage extension \n4. Vertical Alignment Support \n5. Two Icon sets for Indicators \n\nFeature Highlights for Preferences \n1. Lock Mouse Actions option \n2. Advance Position options to pinpoint where to place the indicator on the Panel. \n3. Refresh time option by which you can change refresh rate value between 1.0 sec to 10.0 sec. \n4. Show Upload First option to show upload speed first \n5. Color Customizations for speed indicators \n6. Hide when Disconnected option \n7. Use Shorten Units option \n8. Limit Unit option and more... \n\nModes \n- Total net speed in b/s, kb/s, ... \n- Total net speed in B/s, KB/s, ... \n- Up & down speed in b/s, kb/s, ... \n- Up & down speed in B/s, KB/s, ... \n- Total downloads in B, KB, ... (Right click to reset counter) \n\nMouse Events \n- Left click to change modes \n- Right click(in 1-4 modes): Toggle the visibility of total loaded. \n- Right click(in 5th mode): Reset total downloaded. \n- Right Click(Four consecutive times): Toggle through horizontal/vertical alignment. \n- Middle click: Cycle through the font sizes.", "link": "https://extensions.gnome.org/extension/3724/net-speed-simplified/", "shell_version_map": {"38": {"version": "33", "sha256": "146p9vbwdp1d9h36jsvi6gkyklig06ic6gswln5cn5rck3w6m7bd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcHJhdGVla21lZGlhL25ldHNwZWVkc2ltcGxpZmllZCIsCiAgInV1aWQiOiAibmV0c3BlZWRzaW1wbGlmaWVkQHByYXRlZWttZWRpYS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "40": {"version": "33", "sha256": "146p9vbwdp1d9h36jsvi6gkyklig06ic6gswln5cn5rck3w6m7bd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcHJhdGVla21lZGlhL25ldHNwZWVkc2ltcGxpZmllZCIsCiAgInV1aWQiOiAibmV0c3BlZWRzaW1wbGlmaWVkQHByYXRlZWttZWRpYS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "146p9vbwdp1d9h36jsvi6gkyklig06ic6gswln5cn5rck3w6m7bd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcHJhdGVla21lZGlhL25ldHNwZWVkc2ltcGxpZmllZCIsCiAgInV1aWQiOiAibmV0c3BlZWRzaW1wbGlmaWVkQHByYXRlZWttZWRpYS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
 , {"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": "31", "sha256": "1ib1259wrm0ppdzb28xngh8hqmm12yp1ak7w2c46wk046arpqnkw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMxCn0="}, "41": {"version": "31", "sha256": "1ib1259wrm0ppdzb28xngh8hqmm12yp1ak7w2c46wk046arpqnkw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMxCn0="}}}
-, {"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": "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\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"}}}
-, {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively\n\nUpdates sometimes require restarting your GNOME session (i. e. logging out).", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "24", "sha256": "08vb6kvxb1722hd757jzakpn1p66wvcjq0xdinlgrxk3v2jmlsca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseVxuXG5VcGRhdGVzIHNvbWV0aW1lcyByZXF1aXJlIHJlc3RhcnRpbmcgeW91ciBHTk9NRSBzZXNzaW9uIChpLiBlLiBsb2dnaW5nIG91dCkuIiwKICAibmFtZSI6ICJkZHRlcm0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWV6aW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "40": {"version": "24", "sha256": "08vb6kvxb1722hd757jzakpn1p66wvcjq0xdinlgrxk3v2jmlsca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseVxuXG5VcGRhdGVzIHNvbWV0aW1lcyByZXF1aXJlIHJlc3RhcnRpbmcgeW91ciBHTk9NRSBzZXNzaW9uIChpLiBlLiBsb2dnaW5nIG91dCkuIiwKICAibmFtZSI6ICJkZHRlcm0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWV6aW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "24", "sha256": "08vb6kvxb1722hd757jzakpn1p66wvcjq0xdinlgrxk3v2jmlsca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseVxuXG5VcGRhdGVzIHNvbWV0aW1lcyByZXF1aXJlIHJlc3RhcnRpbmcgeW91ciBHTk9NRSBzZXNzaW9uIChpLiBlLiBsb2dnaW5nIG91dCkuIiwKICAibmFtZSI6ICJkZHRlcm0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWV6aW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "25", "sha256": "09f6v6xm88za18a8ravly6rvixpy8q1xdl9z0466shnkwdcfbqwy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1lemluL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZHRlcm0iLAogICJ1dWlkIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "40": {"version": "25", "sha256": "09f6v6xm88za18a8ravly6rvixpy8q1xdl9z0466shnkwdcfbqwy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1lemluL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZHRlcm0iLAogICJ1dWlkIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "41": {"version": "25", "sha256": "09f6v6xm88za18a8ravly6rvixpy8q1xdl9z0466shnkwdcfbqwy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1lemluL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZHRlcm0iLAogICJ1dWlkIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"uuid": "favorites-only-dash@nahuelwexd.github.io", "name": "Favorites-only Dash", "pname": "favorites-only-dash", "description": "Show only favorite apps on Dash", "link": "https://extensions.gnome.org/extension/3789/favorites-only-dash/", "shell_version_map": {"38": {"version": "1", "sha256": "110h019563j33gksaq5fs0z71sz1mslq1sbsmhk9mj3qggd9vs65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgb25seSBmYXZvcml0ZSBhcHBzIG9uIERhc2giLAogICJuYW1lIjogIkZhdm9yaXRlcy1vbmx5IERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZmF2b3JpdGVzLW9ubHktZGFzaEBuYWh1ZWx3ZXhkLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "notification-timeout@chlumskyvaclav.gmail.com", "name": "Notification Timeout", "pname": "notification-timeout", "description": "This extension allows configuring the same timeout for all notifications. It also allows ignoring the idle state.", "link": "https://extensions.gnome.org/extension/3795/notification-timeout/", "shell_version_map": {"38": {"version": "4", "sha256": "14hns3mw3rk6az31pck3rnsj74n98swaiv1ky57d0gs9409zha6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL25vdGlmaWNhdGlvbi10aW1lb3V0IiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tdGltZW91dEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "14hns3mw3rk6az31pck3rnsj74n98swaiv1ky57d0gs9409zha6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL25vdGlmaWNhdGlvbi10aW1lb3V0IiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tdGltZW91dEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "14hns3mw3rk6az31pck3rnsj74n98swaiv1ky57d0gs9409zha6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL25vdGlmaWNhdGlvbi10aW1lb3V0IiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tdGltZW91dEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "podman-as-docker@alberto.yomerengues.xyz", "name": "Podman and Docker", "pname": "podman-as-docker", "description": "podman extension as docker\nIn order to get it work on podman, you just need to create an alias\nSimply put: alias docker=podman\nand install podman-docker", "link": "https://extensions.gnome.org/extension/3799/podman-as-docker/", "shell_version_map": {"38": {"version": "1", "sha256": "18bkd6z5hm6zidh7xv8v3jvj36lmxzx4dar7nwa7nq3p51km6crz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInBvZG1hbiBleHRlbnNpb24gYXMgZG9ja2VyXG5JbiBvcmRlciB0byBnZXQgaXQgd29yayBvbiBwb2RtYW4sIHlvdSBqdXN0IG5lZWQgdG8gY3JlYXRlIGFuIGFsaWFzXG5TaW1wbHkgcHV0OiBhbGlhcyBkb2NrZXI9cG9kbWFuXG5hbmQgaW5zdGFsbCBwb2RtYW4tZG9ja2VyIiwKICAibmFtZSI6ICJQb2RtYW4gYW5kIERvY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJwb2RtYW4tYXMtZG9ja2VyQGFsYmVydG8ueW9tZXJlbmd1ZXMueHl6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
@@ -412,13 +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\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": "17qfpkgah0npp07947ayg1zbc8fqy7ljabx717vfmhwddgmj1zb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "17qfpkgah0npp07947ayg1zbc8fqy7ljabx717vfmhwddgmj1zb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "17qfpkgah0npp07947ayg1zbc8fqy7ljabx717vfmhwddgmj1zb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"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": "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": "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": "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"}}}
@@ -446,21 +448,21 @@
 , {"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": "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": "1h6gm4mc2snwza4r1k9zz1a9wkfmgiqlcvn72hqqasvqrf5sz7cz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PcmRpc3NpbW8vQmlnLVN1ci1TdGF0dXNBcmVhL3RyZWUvNDAucmMiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "29", "sha256": "1z0c3yrdvdxlii1i3068aa8nwn6sxrashy0lmkzn89vi9qw1rba5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3JkaXNzaW1vL0JpZy1TdXItU3RhdHVzQXJlYS90cmVlLzQwLnJjIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "41": {"version": "29", "sha256": "1z0c3yrdvdxlii1i3068aa8nwn6sxrashy0lmkzn89vi9qw1rba5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3JkaXNzaW1vL0JpZy1TdXItU3RhdHVzQXJlYS90cmVlLzQwLnJjIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}}}
 , {"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": "12", "sha256": "0q9gx808wnl58r4658grk25k4ikvayb3j0j8yjmcnxz4ha2z9jyz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjaGFuZ2VfZGVza3RvcF9iYWNrZ3JvdW5kX3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "12", "sha256": "0q9gx808wnl58r4658grk25k4ikvayb3j0j8yjmcnxz4ha2z9jyz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjaGFuZ2VfZGVza3RvcF9iYWNrZ3JvdW5kX3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "0q9gx808wnl58r4658grk25k4ikvayb3j0j8yjmcnxz4ha2z9jyz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjaGFuZ2VfZGVza3RvcF9iYWNrZ3JvdW5kX3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
+, {"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": "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": "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": "4", "sha256": "0f6p5cd68qlb082favqf2h7q4vn8c6rh0y48g3s2d9fxgccvc1di", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInJlbW92ZSB0b3AgcGFuZWwgZnJvbSBnbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiUmVtb3ZlUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicmVtb3ZlLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"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="}}}
@@ -480,18 +482,18 @@
 , {"uuid": "auto-activities@acedron.github.io", "name": "Auto Activities", "pname": "auto-activities", "description": "Show activities overview when there are no windows, or hide it when there are new windows.", "link": "https://extensions.gnome.org/extension/4179/auto-activities/", "shell_version_map": {"40": {"version": "13", "sha256": "17w8rwn9y8li20gq3xnxialw17ay5mbpwz80hsrx3mprn1jlzgsg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hY2Vkcm9uL2F1dG8tYWN0aXZpdGllcyIsCiAgInV1aWQiOiAiYXV0by1hY3Rpdml0aWVzQGFjZWRyb24uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "17w8rwn9y8li20gq3xnxialw17ay5mbpwz80hsrx3mprn1jlzgsg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hY2Vkcm9uL2F1dG8tYWN0aXZpdGllcyIsCiAgInV1aWQiOiAiYXV0by1hY3Rpdml0aWVzQGFjZWRyb24uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "clippie@blackjackshellac.ca", "name": "clippie [replaced by eclipse]", "pname": "clippie", "description": "clippie has been rereleased as 'eclipse'\n\nClipboard interface to gpaste-client output\n\nhttps://extensions.gnome.org/extension/4246/eclipse/\n\nClippie now uses dbus to communicate with the gpaste daemon\nAdded encryption of clipboard items with eclipse feature", "link": "https://extensions.gnome.org/extension/4182/clippie/", "shell_version_map": {"38": {"version": "6", "sha256": "05kd2pq605k21yq6wcaqcm2lrpnlc6mbiq1wxgmwdnpvi7ib2h8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNsaXBwaWUgaGFzIGJlZW4gcmVyZWxlYXNlZCBhcyAnZWNsaXBzZSdcblxuQ2xpcGJvYXJkIGludGVyZmFjZSB0byBncGFzdGUtY2xpZW50IG91dHB1dFxuXG5odHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjQ2L2VjbGlwc2UvXG5cbkNsaXBwaWUgbm93IHVzZXMgZGJ1cyB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBncGFzdGUgZGFlbW9uXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcyB3aXRoIGVjbGlwc2UgZmVhdHVyZSIsCiAgImdldHRleHQtZG9tYWluIjogImNsaXBwaWUtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiY2xpcHBpZSBbcmVwbGFjZWQgYnkgZWNsaXBzZV0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2xpcHBpZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiY2xpcHBpZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "05kd2pq605k21yq6wcaqcm2lrpnlc6mbiq1wxgmwdnpvi7ib2h8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNsaXBwaWUgaGFzIGJlZW4gcmVyZWxlYXNlZCBhcyAnZWNsaXBzZSdcblxuQ2xpcGJvYXJkIGludGVyZmFjZSB0byBncGFzdGUtY2xpZW50IG91dHB1dFxuXG5odHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjQ2L2VjbGlwc2UvXG5cbkNsaXBwaWUgbm93IHVzZXMgZGJ1cyB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBncGFzdGUgZGFlbW9uXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcyB3aXRoIGVjbGlwc2UgZmVhdHVyZSIsCiAgImdldHRleHQtZG9tYWluIjogImNsaXBwaWUtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiY2xpcHBpZSBbcmVwbGFjZWQgYnkgZWNsaXBzZV0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2xpcHBpZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiY2xpcHBpZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "screen-autorotate@kosmospredanie.yandex.ru", "name": "Screen Autorotate", "pname": "screen-autorotate", "description": "Enable screen rotation regardless of touch mode", "link": "https://extensions.gnome.org/extension/4191/screen-autorotate/", "shell_version_map": {"40": {"version": "3", "sha256": "1sfk9801zqg2cd7w5mkm5qr2zkjm5dbhvi3bcxkf9ikg2ilxcq9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBzY3JlZW4gcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0b3VjaCBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAibmFtZSI6ICJTY3JlZW4gQXV0b3JvdGF0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW4tYXV0b3JvdGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29zbW9zcHJlZGFuaWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAidXVpZCI6ICJzY3JlZW4tYXV0b3JvdGF0ZUBrb3Ntb3NwcmVkYW5pZS55YW5kZXgucnUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1sfk9801zqg2cd7w5mkm5qr2zkjm5dbhvi3bcxkf9ikg2ilxcq9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBzY3JlZW4gcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0b3VjaCBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAibmFtZSI6ICJTY3JlZW4gQXV0b3JvdGF0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW4tYXV0b3JvdGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29zbW9zcHJlZGFuaWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAidXVpZCI6ICJzY3JlZW4tYXV0b3JvdGF0ZUBrb3Ntb3NwcmVkYW5pZS55YW5kZXgucnUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "Low_Latency_Loopback@jacebennest87.gmail.com", "name": "Low Latency Loopback", "pname": "low-latency-loopback", "description": "Enables a low latency PulseAudio loopback device", "link": "https://extensions.gnome.org/extension/4194/low-latency-loopback/", "shell_version_map": {"38": {"version": "2", "sha256": "0dqjy59c8dgn81x84hifnzldb54n1l31qrbg2m08i84zxrc40x4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS90aGVqYWNlcjg3L2xvdy1sYXRlbmN5LWxvb3BiYWNrIiwKICAidXVpZCI6ICJMb3dfTGF0ZW5jeV9Mb29wYmFja0BqYWNlYmVubmVzdDg3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "Low_Latency_Loopback@jacebennest87.gmail.com", "name": "Low Latency Loopback", "pname": "low-latency-loopback", "description": "Enables a low latency PulseAudio loopback device", "link": "https://extensions.gnome.org/extension/4194/low-latency-loopback/", "shell_version_map": {"38": {"version": "4", "sha256": "1683m3x0sm9v0aw6lfw5b6k8kqdzjdi7cjwqki2gh3wy3rrmmsyx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RoZWphY2VyODcvbG93LWxhdGVuY3ktbG9vcGJhY2siLAogICJ1dWlkIjogIkxvd19MYXRlbmN5X0xvb3BiYWNrQGphY2ViZW5uZXN0ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1683m3x0sm9v0aw6lfw5b6k8kqdzjdi7cjwqki2gh3wy3rrmmsyx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RoZWphY2VyODcvbG93LWxhdGVuY3ktbG9vcGJhY2siLAogICJ1dWlkIjogIkxvd19MYXRlbmN5X0xvb3BiYWNrQGphY2ViZW5uZXN0ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1683m3x0sm9v0aw6lfw5b6k8kqdzjdi7cjwqki2gh3wy3rrmmsyx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RoZWphY2VyODcvbG93LWxhdGVuY3ktbG9vcGJhY2siLAogICJ1dWlkIjogIkxvd19MYXRlbmN5X0xvb3BiYWNrQGphY2ViZW5uZXN0ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "dash-to-plank@hardpixel.eu", "name": "Dash to Plank", "pname": "dash-to-plank", "description": "GNOME Shell integration for Plank, the simplest dock on the planet. To use this extension, you must have Plank installed on your system.\n\nThis extension depends on Plank. To install it:\n- Debian/Ubuntu: apt install plank\n- Fedora/RHEL: dnf install plank\n- Arch: pacman -S plank\n\n** This extension does NOT WORK on WAYLAND.", "link": "https://extensions.gnome.org/extension/4198/dash-to-plank/", "shell_version_map": {"38": {"version": "12", "sha256": "14pjbqjgg9aksjgk6mm1hkxn08qpzxiimy5qsfcrkjp31qjldan3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIGludGVncmF0aW9uIGZvciBQbGFuaywgdGhlIHNpbXBsZXN0IGRvY2sgb24gdGhlIHBsYW5ldC4gVG8gdXNlIHRoaXMgZXh0ZW5zaW9uLCB5b3UgbXVzdCBoYXZlIFBsYW5rIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbS5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBQbGFuay4gVG8gaW5zdGFsbCBpdDpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgcGxhbmtcbi0gRmVkb3JhL1JIRUw6IGRuZiBpbnN0YWxsIHBsYW5rXG4tIEFyY2g6IHBhY21hbiAtUyBwbGFua1xuXG4qKiBUaGlzIGV4dGVuc2lvbiBkb2VzIE5PVCBXT1JLIG9uIFdBWUxBTkQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaC10by1wbGFuayIsCiAgIm5hbWUiOiAiRGFzaCB0byBQbGFuayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoLXRvLXBsYW5rIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvZGFzaC10by1wbGFuayIsCiAgInV1aWQiOiAiZGFzaC10by1wbGFua0BoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "12", "sha256": "14pjbqjgg9aksjgk6mm1hkxn08qpzxiimy5qsfcrkjp31qjldan3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIGludGVncmF0aW9uIGZvciBQbGFuaywgdGhlIHNpbXBsZXN0IGRvY2sgb24gdGhlIHBsYW5ldC4gVG8gdXNlIHRoaXMgZXh0ZW5zaW9uLCB5b3UgbXVzdCBoYXZlIFBsYW5rIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbS5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBQbGFuay4gVG8gaW5zdGFsbCBpdDpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgcGxhbmtcbi0gRmVkb3JhL1JIRUw6IGRuZiBpbnN0YWxsIHBsYW5rXG4tIEFyY2g6IHBhY21hbiAtUyBwbGFua1xuXG4qKiBUaGlzIGV4dGVuc2lvbiBkb2VzIE5PVCBXT1JLIG9uIFdBWUxBTkQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaC10by1wbGFuayIsCiAgIm5hbWUiOiAiRGFzaCB0byBQbGFuayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoLXRvLXBsYW5rIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvZGFzaC10by1wbGFuayIsCiAgInV1aWQiOiAiZGFzaC10by1wbGFua0BoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "14pjbqjgg9aksjgk6mm1hkxn08qpzxiimy5qsfcrkjp31qjldan3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIGludGVncmF0aW9uIGZvciBQbGFuaywgdGhlIHNpbXBsZXN0IGRvY2sgb24gdGhlIHBsYW5ldC4gVG8gdXNlIHRoaXMgZXh0ZW5zaW9uLCB5b3UgbXVzdCBoYXZlIFBsYW5rIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbS5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBQbGFuay4gVG8gaW5zdGFsbCBpdDpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgcGxhbmtcbi0gRmVkb3JhL1JIRUw6IGRuZiBpbnN0YWxsIHBsYW5rXG4tIEFyY2g6IHBhY21hbiAtUyBwbGFua1xuXG4qKiBUaGlzIGV4dGVuc2lvbiBkb2VzIE5PVCBXT1JLIG9uIFdBWUxBTkQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaC10by1wbGFuayIsCiAgIm5hbWUiOiAiRGFzaCB0byBQbGFuayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoLXRvLXBsYW5rIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvZGFzaC10by1wbGFuayIsCiAgInV1aWQiOiAiZGFzaC10by1wbGFua0BoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"uuid": "rrc@ogarcia.me", "name": "Remove Rounded Corners", "pname": "remove-rounded-corners", "description": "Removes rounded corners from main panel or top bar", "link": "https://extensions.gnome.org/extension/4201/remove-rounded-corners/", "shell_version_map": {"40": {"version": "5", "sha256": "1rj9wxa0mazkr29ggwqx0r043cskpw7r4clgvpiw18psrn148c8f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgcm91bmRlZCBjb3JuZXJzIGZyb20gbWFpbiBwYW5lbCBvciB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgUm91bmRlZCBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vZ2FyY2lhL3JlbW92ZS1yb3VuZGVkLWNvcm5lcnMiLAogICJ1dWlkIjogInJyY0BvZ2FyY2lhLm1lIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1rj9wxa0mazkr29ggwqx0r043cskpw7r4clgvpiw18psrn148c8f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgcm91bmRlZCBjb3JuZXJzIGZyb20gbWFpbiBwYW5lbCBvciB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgUm91bmRlZCBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vZ2FyY2lhL3JlbW92ZS1yb3VuZGVkLWNvcm5lcnMiLAogICJ1dWlkIjogInJyY0BvZ2FyY2lhLm1lIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "13", "sha256": "1qs0dgf41b6489wpm5qv7zlswdh73a56fp226vqwy03r554k1plx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuTm93IHdpdGggcHJlZmVyZW5jZSBkaWFsb2chXG5cbllvdSBjYW4gZmluZCBtb3JlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2pkb2RhL2hvdGVkZ2UvYmxvYi9tYWluL1JFQURNRS5tZCBhbmQgcmVwb3J0IGlzc3VlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9pc3N1ZXMgLiIsCiAgIm5hbWUiOiAiSG90IEVkZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1qs0dgf41b6489wpm5qv7zlswdh73a56fp226vqwy03r554k1plx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuTm93IHdpdGggcHJlZmVyZW5jZSBkaWFsb2chXG5cbllvdSBjYW4gZmluZCBtb3JlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2pkb2RhL2hvdGVkZ2UvYmxvYi9tYWluL1JFQURNRS5tZCBhbmQgcmVwb3J0IGlzc3VlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9pc3N1ZXMgLiIsCiAgIm5hbWUiOiAiSG90IEVkZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"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": "3", "sha256": "1i6dd0qrp3127zpg25732zfzg2g4hjnl4n9n51pq95wyhrlp8zz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1i6dd0qrp3127zpg25732zfzg2g4hjnl4n9n51pq95wyhrlp8zz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1i6dd0qrp3127zpg25732zfzg2g4hjnl4n9n51pq95wyhrlp8zz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"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=="}}}
 , {"uuid": "arbttstats@gervasioperez.ar", "name": "Arbtt stats", "pname": "arbtt-stats", "description": "Show simple arbtt stats on the panel\n*** This extension requires arbtt running and configured", "link": "https://extensions.gnome.org/extension/4234/arbtt-stats/", "shell_version_map": {"38": {"version": "9", "sha256": "0x3sxg8dv9gfq1f4m9bk4rb3395rdcf0srijxqphpwjmm0nsizql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbFxuKioqIFRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIGFyYnR0IHJ1bm5pbmcgYW5kIGNvbmZpZ3VyZWQiLAogICJuYW1lIjogIkFyYnR0IHN0YXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "0x3sxg8dv9gfq1f4m9bk4rb3395rdcf0srijxqphpwjmm0nsizql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbFxuKioqIFRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIGFyYnR0IHJ1bm5pbmcgYW5kIGNvbmZpZ3VyZWQiLAogICJuYW1lIjogIkFyYnR0IHN0YXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
-, {"uuid": "blur-me@nunchucks", "name": "Blur Me", "pname": "blur-me", "description": "Blur: Applications | Top Panel | Overview | Dash | More!\n\n\nCredit where it's due: Overview and dash blur are based on blur my shell", "link": "https://extensions.gnome.org/extension/4236/blur-me/", "shell_version_map": {"40": {"version": "11", "sha256": "13r77isf7ih0sklnms7blsk9a7av05d21rmjrnyr8jisr512991k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NraXNzYW5lL2JsdXItbWUiLAogICJ1dWlkIjogImJsdXItbWVAbnVuY2h1Y2tzIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "blur-me@nunchucks", "name": "Blur Me", "pname": "blur-me", "description": "Blur: Applications | Top Panel | Overview | Dash | More!\n\n\nCredit where it's due: Overview and dash blur are based on blur my shell", "link": "https://extensions.gnome.org/extension/4236/blur-me/", "shell_version_map": {"40": {"version": "13", "sha256": "0sdmp9q6g8xyaxvvmk47niad5csnlfpdnmx0lnlfm1dc6kchyaxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ja2lzc2FuZS9ibHVyLW1lIiwKICAidXVpZCI6ICJibHVyLW1lQG51bmNodWNrcyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "0sdmp9q6g8xyaxvvmk47niad5csnlfpdnmx0lnlfm1dc6kchyaxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ja2lzc2FuZS9ibHVyLW1lIiwKICAidXVpZCI6ICJibHVyLW1lQG51bmNodWNrcyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "gestureImprovements@gestures", "name": "Gesture Improvements", "pname": "gesture-improvements", "description": "Improve touchpad gestures for Wayland/X11\n\nThis extension adds following features:\n\n• Switch windows from current workspace using 3-finger horizontal swipe\n• Cyclic gestures between Desktop/Overview/AppGrid using 4 vertical swipe\n• Switch app-pages using 3-finger swipe gesture on AppGrid\n• Unmaximize/maximize/fullscreen/half-tiling using 3-finger vertical & horizontal gesture\n• Optional minimize a window gesture\n• Override 3-finger gesture with 4-finger for switching workspace\n• Pinch to show desktop\n• Configure speed of gestures\n• Support for X11\n   \nOn X11, you need to install https://github.com/harshadgavali/gnome-x11-gesture-daemon\n\nReport any bugs/requests on GitHub (link directly below)\n", "link": "https://extensions.gnome.org/extension/4245/gesture-improvements/", "shell_version_map": {"40": {"version": "19", "sha256": "06s4igjx5r7k01yvylr0clg8j2m6sdywn00hr5xdp1a9v2r5v5ry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "06s4igjx5r7k01yvylr0clg8j2m6sdywn00hr5xdp1a9v2r5v5ry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"uuid": "eclipse@blackjackshellac.ca", "name": "eclipse", "pname": "eclipse", "description": "eclipse clipboard interface with item encryption\n\nAdded encryption of clipboard items. Encrypted items can be\nsaved to disk in a folder of your choice. These items are persisted\nbetween sessions using openssl to encrypt the content.\n\nEclipse uses dbus to communicate with the gpaste daemon.\n\nThe following utilities are required,\n\n# for example, on fedora (add gpaste-ui for gpaste settings gui)\n$ sudo dnf install gpaste openssl\n# ubuntu\n$ sudo apt install gpaste openssl\n\nNow works with Gpaste 1 and Gpaste 2 on GS 3.36, 3.38 and 40\n\nIf updating the extension reports an ERROR it should work after the next reboot or if you logout and login again. If you're not running on Wayland you should be able to just restart the shell (Alt+F2,r).\n\nPlease report issues on github.\n", "link": "https://extensions.gnome.org/extension/4246/eclipse/", "shell_version_map": {"38": {"version": "8", "sha256": "09j5f8p23m4v2bdad582497r194z05x4izc2wywp9nhv1nldcs3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgY2xpcGJvYXJkIGludGVyZmFjZSB3aXRoIGl0ZW0gZW5jcnlwdGlvblxuXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcy4gRW5jcnlwdGVkIGl0ZW1zIGNhbiBiZVxuc2F2ZWQgdG8gZGlzayBpbiBhIGZvbGRlciBvZiB5b3VyIGNob2ljZS4gVGhlc2UgaXRlbXMgYXJlIHBlcnNpc3RlZFxuYmV0d2VlbiBzZXNzaW9ucyB1c2luZyBvcGVuc3NsIHRvIGVuY3J5cHQgdGhlIGNvbnRlbnQuXG5cbkVjbGlwc2UgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb24uXG5cblRoZSBmb2xsb3dpbmcgdXRpbGl0aWVzIGFyZSByZXF1aXJlZCxcblxuIyBmb3IgZXhhbXBsZSwgb24gZmVkb3JhIChhZGQgZ3Bhc3RlLXVpIGZvciBncGFzdGUgc2V0dGluZ3MgZ3VpKVxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG4jIHVidW50dVxuJCBzdWRvIGFwdCBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG5cbk5vdyB3b3JrcyB3aXRoIEdwYXN0ZSAxIGFuZCBHcGFzdGUgMiBvbiBHUyAzLjM2LCAzLjM4IGFuZCA0MFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiBJZiB5b3UncmUgbm90IHJ1bm5pbmcgb24gV2F5bGFuZCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCByZXN0YXJ0IHRoZSBzaGVsbCAoQWx0K0YyLHIpLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBnaXRodWIuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogImVjbGlwc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZWNsaXBzZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiZWNsaXBzZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "09j5f8p23m4v2bdad582497r194z05x4izc2wywp9nhv1nldcs3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgY2xpcGJvYXJkIGludGVyZmFjZSB3aXRoIGl0ZW0gZW5jcnlwdGlvblxuXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcy4gRW5jcnlwdGVkIGl0ZW1zIGNhbiBiZVxuc2F2ZWQgdG8gZGlzayBpbiBhIGZvbGRlciBvZiB5b3VyIGNob2ljZS4gVGhlc2UgaXRlbXMgYXJlIHBlcnNpc3RlZFxuYmV0d2VlbiBzZXNzaW9ucyB1c2luZyBvcGVuc3NsIHRvIGVuY3J5cHQgdGhlIGNvbnRlbnQuXG5cbkVjbGlwc2UgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb24uXG5cblRoZSBmb2xsb3dpbmcgdXRpbGl0aWVzIGFyZSByZXF1aXJlZCxcblxuIyBmb3IgZXhhbXBsZSwgb24gZmVkb3JhIChhZGQgZ3Bhc3RlLXVpIGZvciBncGFzdGUgc2V0dGluZ3MgZ3VpKVxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG4jIHVidW50dVxuJCBzdWRvIGFwdCBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG5cbk5vdyB3b3JrcyB3aXRoIEdwYXN0ZSAxIGFuZCBHcGFzdGUgMiBvbiBHUyAzLjM2LCAzLjM4IGFuZCA0MFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiBJZiB5b3UncmUgbm90IHJ1bm5pbmcgb24gV2F5bGFuZCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCByZXN0YXJ0IHRoZSBzaGVsbCAoQWx0K0YyLHIpLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBnaXRodWIuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogImVjbGlwc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZWNsaXBzZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiZWNsaXBzZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "audio-switcher@albertomosconi", "name": "Audio Switcher 40", "pname": "audio-switcher-40", "description": "Adds a switch for choosing audio input/output to the system menu in GNOME 40. (Makes InputSlider always visible)", "link": "https://extensions.gnome.org/extension/4248/audio-switcher-40/", "shell_version_map": {"38": {"version": "4", "sha256": "0mvc4f6i7vsqijq8l4adcixdyycfxmd7kvw13d5h0vx4hg6vam1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIGlucHV0L291dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUgaW4gR05PTUUgNDAuIChNYWtlcyBJbnB1dFNsaWRlciBhbHdheXMgdmlzaWJsZSkiLAogICJuYW1lIjogIkF1ZGlvIFN3aXRjaGVyIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWxiZXJ0b21vc2NvbmkvYXVkaW8tc3dpdGNoZXIiLAogICJ1dWlkIjogImF1ZGlvLXN3aXRjaGVyQGFsYmVydG9tb3Njb25pIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0mvc4f6i7vsqijq8l4adcixdyycfxmd7kvw13d5h0vx4hg6vam1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIGlucHV0L291dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUgaW4gR05PTUUgNDAuIChNYWtlcyBJbnB1dFNsaWRlciBhbHdheXMgdmlzaWJsZSkiLAogICJuYW1lIjogIkF1ZGlvIFN3aXRjaGVyIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWxiZXJ0b21vc2NvbmkvYXVkaW8tc3dpdGNoZXIiLAogICJ1dWlkIjogImF1ZGlvLXN3aXRjaGVyQGFsYmVydG9tb3Njb25pIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -500,8 +502,8 @@
 , {"uuid": "wb@pwall.github.com", "name": "WindowButtons", "pname": "windowbuttons", "description": "This is an extension for Gnome 3.38 which puts minimize and close buttons in the top panel.", "link": "https://extensions.gnome.org/extension/4261/windowbuttons/", "shell_version_map": {"38": {"version": "6", "sha256": "1w9j3rmn8yhppfkxrgyfvws2hsr24ki60vi8d73hdhifpnfps2sy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYW4gZXh0ZW5zaW9uIGZvciBHbm9tZSAzLjM4IHdoaWNoIHB1dHMgbWluaW1pemUgYW5kIGNsb3NlIGJ1dHRvbnMgaW4gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIldpbmRvd0J1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QV2FsbDIyMjIvV0IiLAogICJ1dWlkIjogIndiQHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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": "2", "sha256": "0ybzzr3gmii29lpjqzh7yad9yyvz1fg8gb3ip6lki2l84hs3aa0c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZhbGVudC1pbi9TaG93LURlc2t0b3AtQXBwbGV0IiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0QHZhbGVudC1pbiIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0ybzzr3gmii29lpjqzh7yad9yyvz1fg8gb3ip6lki2l84hs3aa0c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZhbGVudC1pbi9TaG93LURlc2t0b3AtQXBwbGV0IiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0QHZhbGVudC1pbiIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"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": "16", "sha256": "0sz207y0198q7g1f99wq2laf558bfhfdz13vmaxhj9j2lagm17j8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "16", "sha256": "0sz207y0198q7g1f99wq2laf558bfhfdz13vmaxhj9j2lagm17j8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "0sz207y0198q7g1f99wq2laf558bfhfdz13vmaxhj9j2lagm17j8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"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": "18", "sha256": "0i31551jnjypj4dyhnfn37f353if1sxxnlfx1jnf20wlbhpr3hz5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "18", "sha256": "0i31551jnjypj4dyhnfn37f353if1sxxnlfx1jnf20wlbhpr3hz5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0i31551jnjypj4dyhnfn37f353if1sxxnlfx1jnf20wlbhpr3hz5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"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"}}}
@@ -517,6 +519,7 @@
 , {"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=="}}}
+, {"uuid": "asusctl-gex@asus-linux.org", "name": "asusctl-gex", "pname": "asusctl-gex", "description": "asusctl-gex is a frontend for some functionalities of asusctl and supergfxctl that were born inside the asus-linux.org community.\n\nasusctl is not required\nsupergfxctl is required if you have a dual GPU laptop and want to switch between various GPU modes. It is tested on a variaty of laptops including Intel / Nvidia, AMD / Nvidia, Intel / AMD and AMD / AMD GPU combinations.\n\nTo learn more about it, please have a look at:\nhttps://gitlab.com/asus-linux/asusctl\nhttps://gitlab.com/asus-linux/supergfxctl\nhttps://gitlab.com/asus-linux/asusctl-gex\n\nhttps://asus-linux.org/", "link": "https://extensions.gnome.org/extension/4320/asusctl-gex/", "shell_version_map": {"40": {"version": "9", "sha256": "0ivnw4bw494l5zi82yap54zd035kvr4pg6rfkz7ivwccf3y0gfzg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFzdXNjdGwtZ2V4IGlzIGEgZnJvbnRlbmQgZm9yIHNvbWUgZnVuY3Rpb25hbGl0aWVzIG9mIGFzdXNjdGwgYW5kIHN1cGVyZ2Z4Y3RsIHRoYXQgd2VyZSBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LlxuXG5hc3VzY3RsIGlzIG5vdCByZXF1aXJlZFxuc3VwZXJnZnhjdGwgaXMgcmVxdWlyZWQgaWYgeW91IGhhdmUgYSBkdWFsIEdQVSBsYXB0b3AgYW5kIHdhbnQgdG8gc3dpdGNoIGJldHdlZW4gdmFyaW91cyBHUFUgbW9kZXMuIEl0IGlzIHRlc3RlZCBvbiBhIHZhcmlhdHkgb2YgbGFwdG9wcyBpbmNsdWRpbmcgSW50ZWwgLyBOdmlkaWEsIEFNRCAvIE52aWRpYSwgSW50ZWwgLyBBTUQgYW5kIEFNRCAvIEFNRCBHUFUgY29tYmluYXRpb25zLlxuXG5UbyBsZWFybiBtb3JlIGFib3V0IGl0LCBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQ6XG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9hc3VzY3RsXG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9zdXBlcmdmeGN0bFxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvYXN1c2N0bC1nZXhcblxuaHR0cHM6Ly9hc3VzLWxpbnV4Lm9yZy8iLAogICJuYW1lIjogImFzdXNjdGwtZ2V4IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzdXNjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFzdXNjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAiYXN1c2N0bC1nZXgtZGV2QGFzdXMtbGludXgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0ivnw4bw494l5zi82yap54zd035kvr4pg6rfkz7ivwccf3y0gfzg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFzdXNjdGwtZ2V4IGlzIGEgZnJvbnRlbmQgZm9yIHNvbWUgZnVuY3Rpb25hbGl0aWVzIG9mIGFzdXNjdGwgYW5kIHN1cGVyZ2Z4Y3RsIHRoYXQgd2VyZSBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LlxuXG5hc3VzY3RsIGlzIG5vdCByZXF1aXJlZFxuc3VwZXJnZnhjdGwgaXMgcmVxdWlyZWQgaWYgeW91IGhhdmUgYSBkdWFsIEdQVSBsYXB0b3AgYW5kIHdhbnQgdG8gc3dpdGNoIGJldHdlZW4gdmFyaW91cyBHUFUgbW9kZXMuIEl0IGlzIHRlc3RlZCBvbiBhIHZhcmlhdHkgb2YgbGFwdG9wcyBpbmNsdWRpbmcgSW50ZWwgLyBOdmlkaWEsIEFNRCAvIE52aWRpYSwgSW50ZWwgLyBBTUQgYW5kIEFNRCAvIEFNRCBHUFUgY29tYmluYXRpb25zLlxuXG5UbyBsZWFybiBtb3JlIGFib3V0IGl0LCBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQ6XG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9hc3VzY3RsXG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9zdXBlcmdmeGN0bFxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvYXN1c2N0bC1nZXhcblxuaHR0cHM6Ly9hc3VzLWxpbnV4Lm9yZy8iLAogICJuYW1lIjogImFzdXNjdGwtZ2V4IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzdXNjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFzdXNjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAiYXN1c2N0bC1nZXgtZGV2QGFzdXMtbGludXgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "hide-activities-button@nmingori.gnome-shell-extensions.org", "name": "Hide Activities Button", "pname": "hide-activities-button", "description": "Hide Activities Button on the top panel. For Gnome 40 or 3.6+", "link": "https://extensions.gnome.org/extension/4325/hide-activities-button/", "shell_version_map": {"38": {"version": "1", "sha256": "0644h9cqy07h1fgr9wcjp4agvszrcpk6f0yr725hxfil600k5m9b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4gRm9yIEdub21lIDQwIG9yIDMuNisiLAogICJuYW1lIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25taW5nb3JpL2dub21lLWhpZGUtYWN0aXRpdmllcy1idXR0b24iLAogICJ1dWlkIjogImhpZGUtYWN0aXZpdGllcy1idXR0b25Abm1pbmdvcmkuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5vcmciLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0644h9cqy07h1fgr9wcjp4agvszrcpk6f0yr725hxfil600k5m9b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4gRm9yIEdub21lIDQwIG9yIDMuNisiLAogICJuYW1lIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25taW5nb3JpL2dub21lLWhpZGUtYWN0aXRpdmllcy1idXR0b24iLAogICJ1dWlkIjogImhpZGUtYWN0aXZpdGllcy1idXR0b25Abm1pbmdvcmkuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5vcmciLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "apt-shortcuts@rx1310", "name": "Shortcuts for APT", "pname": "shortcuts-for-apt", "description": "A small extension that adds buttons to the panel to check for APT updates through the terminal without entering commands.", "link": "https://extensions.gnome.org/extension/4328/shortcuts-for-apt/", "shell_version_map": {"38": {"version": "2", "sha256": "1dagzbryg85hgdksxqb90j6ia1b4rfpm46jihviivc8jz1iqb6f0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgQVBUIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgQVBUIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3J4MTMxMC9nbm9tZS1leHRlbnNpb25fYXB0dXBkYXRlIiwKICAidXVpZCI6ICJhcHQtc2hvcnRjdXRzQHJ4MTMxMCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1dagzbryg85hgdksxqb90j6ia1b4rfpm46jihviivc8jz1iqb6f0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgQVBUIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgQVBUIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3J4MTMxMC9nbm9tZS1leHRlbnNpb25fYXB0dXBkYXRlIiwKICAidXVpZCI6ICJhcHQtc2hvcnRjdXRzQHJ4MTMxMCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "ideapad-mode@annexhack.inceptive.ru", "name": "ideapad mode", "pname": "ideapad-mode", "description": "Chargning mode indicator for laptops. Allows to switch the charging mode from conservative or healthy to normal mode. Indicates also which mode you are using now. Works on Lenovo Slim 7.\n\nPlease Report Problems or issues on Gitlab at:\n\nhttps://gitlab.com/annexhack/conservation-mode-lenovo", "link": "https://extensions.gnome.org/extension/4331/ideapad-mode/", "shell_version_map": {"40": {"version": "3", "sha256": "0hd0rqkrly27c2bqg7403ng192blrcidb2hrykx4i170i2x604fv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FubmV4aGFjay9jb25zZXJ2YXRpb24tbW9kZS1sZW5vdm8iLAogICJ1dWlkIjogImlkZWFwYWQtbW9kZUBhbm5leGhhY2suaW5jZXB0aXZlLnJ1IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "0hd0rqkrly27c2bqg7403ng192blrcidb2hrykx4i170i2x604fv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FubmV4aGFjay9jb25zZXJ2YXRpb24tbW9kZS1sZW5vdm8iLAogICJ1dWlkIjogImlkZWFwYWQtbW9kZUBhbm5leGhhY2suaW5jZXB0aXZlLnJ1IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
@@ -531,8 +534,8 @@
 , {"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": "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": "6", "sha256": "1gaaxw4j3p0g3jbnn8y93j7hpqvn67l36ws02h3nky1nfnyji4nz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "1gaaxw4j3p0g3jbnn8y93j7hpqvn67l36ws02h3nky1nfnyji4nz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"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": "18", "sha256": "009dk4v4qdls17fycgbjl7k72z1myymzl862m379gkwipyd9q00b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "009dk4v4qdls17fycgbjl7k72z1myymzl862m379gkwipyd9q00b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "009dk4v4qdls17fycgbjl7k72z1myymzl862m379gkwipyd9q00b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
+, {"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="}}}
 , {"uuid": "docker_status2@gpouilloux", "name": "Docker Integration", "pname": "docker-integration", "description": "A status menu for managing docker containers.", "link": "https://extensions.gnome.org/extension/4374/docker-integration/", "shell_version_map": {"40": {"version": "1", "sha256": "1ia763h3wbc3d3p9ddb1b9rg5f486y5x3m2k4pblq9f9ca9cjrdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIG1hbmFnaW5nIGRvY2tlciBjb250YWluZXJzLiIsCiAgIm5hbWUiOiAiRG9ja2VyIEludGVncmF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3BvdWlsbG91eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZG9ja2VyIiwKICAidXVpZCI6ICJkb2NrZXJfc3RhdHVzMkBncG91aWxsb3V4IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "bifocals@shiznatix", "name": "Bifocals", "pname": "bifocals", "description": "Gnome extension adding more window management keyboard shortcuts.\n\n* Left / right 'view split' anchoring cycles through 3 sizes: 1/3, 1/2, and 2/3 of the current screen width.\n*Adds 'mid screen' of centering the window with 3/4 screen height and width.", "link": "https://extensions.gnome.org/extension/4375/bifocals/", "shell_version_map": {"38": {"version": "1", "sha256": "02j0if3bwaws0svaz98054jznrx9pj8zkhy4avsnnhchv2dwmgdi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBhZGRpbmcgbW9yZSB3aW5kb3cgbWFuYWdlbWVudCBrZXlib2FyZCBzaG9ydGN1dHMuXG5cbiogTGVmdCAvIHJpZ2h0ICd2aWV3IHNwbGl0JyBhbmNob3JpbmcgY3ljbGVzIHRocm91Z2ggMyBzaXplczogMS8zLCAxLzIsIGFuZCAyLzMgb2YgdGhlIGN1cnJlbnQgc2NyZWVuIHdpZHRoLlxuKkFkZHMgJ21pZCBzY3JlZW4nIG9mIGNlbnRlcmluZyB0aGUgd2luZG93IHdpdGggMy80IHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoLiIsCiAgIm5hbWUiOiAiQmlmb2NhbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hpem5hdGl4L2JpZm9jYWxzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmlmb2NhbHNAc2hpem5hdGl4IiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "02j0if3bwaws0svaz98054jznrx9pj8zkhy4avsnnhchv2dwmgdi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBhZGRpbmcgbW9yZSB3aW5kb3cgbWFuYWdlbWVudCBrZXlib2FyZCBzaG9ydGN1dHMuXG5cbiogTGVmdCAvIHJpZ2h0ICd2aWV3IHNwbGl0JyBhbmNob3JpbmcgY3ljbGVzIHRocm91Z2ggMyBzaXplczogMS8zLCAxLzIsIGFuZCAyLzMgb2YgdGhlIGN1cnJlbnQgc2NyZWVuIHdpZHRoLlxuKkFkZHMgJ21pZCBzY3JlZW4nIG9mIGNlbnRlcmluZyB0aGUgd2luZG93IHdpdGggMy80IHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoLiIsCiAgIm5hbWUiOiAiQmlmb2NhbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hpem5hdGl4L2JpZm9jYWxzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmlmb2NhbHNAc2hpem5hdGl4IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "kubectl-context@bernot.dev", "name": "kubectl context", "pname": "kubectl-context", "description": "Displays kubectl current-context", "link": "https://extensions.gnome.org/extension/4377/kubectl-context/", "shell_version_map": {"38": {"version": "1", "sha256": "1040dy3m5bpbqqgc60a3l5ia4g0cddfvd8iwiwxm4f7hbi9kksk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGt1YmVjdGwgY3VycmVudC1jb250ZXh0IiwKICAibmFtZSI6ICJrdWJlY3RsIGNvbnRleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iZXJub3QtZGV2L2t1YmVjdGwtY29udGV4dCIsCiAgInV1aWQiOiAia3ViZWN0bC1jb250ZXh0QGJlcm5vdC5kZXYiLAogICJ2ZXJzaW9uIjogMQp9"}}}
@@ -545,19 +548,19 @@
 , {"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="}}}
-, {"uuid": "advanced-alt-tab@G-dH.github.com", "name": "AATWS - Advanced Alt-Tab Window Switcher", "pname": "advanced-alttab-window-switcher", "description": "Highly customizable replacement of 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": "0zfll64krhibs0kiwyz8nw6wdxqd22510d5mvvcfi5l4qs2dm2b2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgb2YgdGhlIEFsdC1UYWIgd2luZG93L2FwcCBzd2l0Y2hlcnMgdGhhdCBvZmZlcnMgJ3R5cGUgdG8gc2VhcmNoJyBtb2RlLCB2YXJpb3VzIGZpbHRlcmluZyBhbmQgc29ydGluZyBvcHRpb25zLCB3b3Jrc3BhY2UgYW5kIG1vbml0b3IgbmF2aWdhdGlvbiwgVklNIG5hdmlnYXRpb24gaG90a2V5cywgd2luZG93IGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgZG9jay5cblxuTm90ZSB0aGF0IEdOT01FIGhhcyAzIGJ1aWx0LWluIHdpbmRvdyBzd2l0Y2hlciBwb3B1cHMgYW5kIHRoaXMgZXh0ZW5zaW9uIHJlcGxhY2VzIGFsbCBvZiB0aGVtLiBUaGUgZmlyc3Qgb25lIGlzIGdyb3VwaW5nIHdpbmRvd3MgYnkgYXBwbGljYXRpb25zIGFuZCBpcyB1c2VkIGFzIGRlZmF1bHQgaW4gdmFuaWxsYSBHTk9NRSBkaXN0cmlidXRpb25zLiBUaGUgc2Vjb25kIG9uZSBvZmZlcnMgd2luZG93IGxpc3QgYW5kIHRoZSB0aGlyZCBvbmUgd2luZG93cyBvZiBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93cywgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCB3aW5kb3dzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJuYW1lIjogIkFBVFdTIC0gQWR2YW5jZWQgQWx0LVRhYiBXaW5kb3cgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvYWR2YW5jZWQtYWx0dGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR2YW5jZWQtYWx0LXRhYkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "0zfll64krhibs0kiwyz8nw6wdxqd22510d5mvvcfi5l4qs2dm2b2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgb2YgdGhlIEFsdC1UYWIgd2luZG93L2FwcCBzd2l0Y2hlcnMgdGhhdCBvZmZlcnMgJ3R5cGUgdG8gc2VhcmNoJyBtb2RlLCB2YXJpb3VzIGZpbHRlcmluZyBhbmQgc29ydGluZyBvcHRpb25zLCB3b3Jrc3BhY2UgYW5kIG1vbml0b3IgbmF2aWdhdGlvbiwgVklNIG5hdmlnYXRpb24gaG90a2V5cywgd2luZG93IGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgZG9jay5cblxuTm90ZSB0aGF0IEdOT01FIGhhcyAzIGJ1aWx0LWluIHdpbmRvdyBzd2l0Y2hlciBwb3B1cHMgYW5kIHRoaXMgZXh0ZW5zaW9uIHJlcGxhY2VzIGFsbCBvZiB0aGVtLiBUaGUgZmlyc3Qgb25lIGlzIGdyb3VwaW5nIHdpbmRvd3MgYnkgYXBwbGljYXRpb25zIGFuZCBpcyB1c2VkIGFzIGRlZmF1bHQgaW4gdmFuaWxsYSBHTk9NRSBkaXN0cmlidXRpb25zLiBUaGUgc2Vjb25kIG9uZSBvZmZlcnMgd2luZG93IGxpc3QgYW5kIHRoZSB0aGlyZCBvbmUgd2luZG93cyBvZiBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93cywgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCB3aW5kb3dzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJuYW1lIjogIkFBVFdTIC0gQWR2YW5jZWQgQWx0LVRhYiBXaW5kb3cgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvYWR2YW5jZWQtYWx0dGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR2YW5jZWQtYWx0LXRhYkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0zfll64krhibs0kiwyz8nw6wdxqd22510d5mvvcfi5l4qs2dm2b2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgb2YgdGhlIEFsdC1UYWIgd2luZG93L2FwcCBzd2l0Y2hlcnMgdGhhdCBvZmZlcnMgJ3R5cGUgdG8gc2VhcmNoJyBtb2RlLCB2YXJpb3VzIGZpbHRlcmluZyBhbmQgc29ydGluZyBvcHRpb25zLCB3b3Jrc3BhY2UgYW5kIG1vbml0b3IgbmF2aWdhdGlvbiwgVklNIG5hdmlnYXRpb24gaG90a2V5cywgd2luZG93IGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgZG9jay5cblxuTm90ZSB0aGF0IEdOT01FIGhhcyAzIGJ1aWx0LWluIHdpbmRvdyBzd2l0Y2hlciBwb3B1cHMgYW5kIHRoaXMgZXh0ZW5zaW9uIHJlcGxhY2VzIGFsbCBvZiB0aGVtLiBUaGUgZmlyc3Qgb25lIGlzIGdyb3VwaW5nIHdpbmRvd3MgYnkgYXBwbGljYXRpb25zIGFuZCBpcyB1c2VkIGFzIGRlZmF1bHQgaW4gdmFuaWxsYSBHTk9NRSBkaXN0cmlidXRpb25zLiBUaGUgc2Vjb25kIG9uZSBvZmZlcnMgd2luZG93IGxpc3QgYW5kIHRoZSB0aGlyZCBvbmUgd2luZG93cyBvZiBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93cywgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCB3aW5kb3dzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJuYW1lIjogIkFBVFdTIC0gQWR2YW5jZWQgQWx0LVRhYiBXaW5kb3cgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWR2YW5jZWQtYWx0LXRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvYWR2YW5jZWQtYWx0dGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR2YW5jZWQtYWx0LXRhYkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
-, {"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": "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": "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": "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": "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"}}}
+, {"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": "11", "sha256": "1f42l7rh182rh3gkxfkpisvalr5mpn9dfm9sai5mjq0bk0rzap0x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1f42l7rh182rh3gkxfkpisvalr5mpn9dfm9sai5mjq0bk0rzap0x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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="}}}
 , {"uuid": "dark-side@kamil-galek.pl", "name": "Dark side of Gnome", "pname": "dark-side-of-gnome", "description": "Join the dark side with some of your apps. For now it won't work with every app.", "link": "https://extensions.gnome.org/extension/4430/dark-side-of-gnome/", "shell_version_map": {"40": {"version": "2", "sha256": "08kzwpn22qwgyrps4khwkarn4rakr1rn57wg94wpfgd9pfbgb7ri", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkpvaW4gdGhlIGRhcmsgc2lkZSB3aXRoIHNvbWUgb2YgeW91ciBhcHBzLiBGb3Igbm93IGl0IHdvbid0IHdvcmsgd2l0aCBldmVyeSBhcHAuIiwKICAibmFtZSI6ICJEYXJrIHNpZGUgb2YgR25vbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRhcmstc2lkZUBrYW1pbC1nYWxlay5wbCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"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": "7", "sha256": "15n7ij36sizhg4arbn5x4b2j3nqlr4z7nvsbcqm3bvy9pjvmib2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "15n7ij36sizhg4arbn5x4b2j3nqlr4z7nvsbcqm3bvy9pjvmib2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "15n7ij36sizhg4arbn5x4b2j3nqlr4z7nvsbcqm3bvy9pjvmib2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"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"}}}
@@ -567,13 +570,13 @@
 , {"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": "40", "sha256": "18micv5mx8zzv8qnk6hr8nklb93ry9q43rzmd6rnhs2v9134qc6x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}, "41": {"version": "40", "sha256": "18micv5mx8zzv8qnk6hr8nklb93ry9q43rzmd6rnhs2v9134qc6x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
-, {"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": "4", "sha256": "1ha064bx8n8369swwh96yd257h2han94v5xpyfilxa756yihcf4w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgYWRqdXN0IG5pZ2h0IGxpZ2h0IiwKICAibmFtZSI6ICJBdXRvIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1plZnR5L0F1dG9OaWdodExpZ2h0IiwKICAidXVpZCI6ICJhdXRvbmlnaHRsaWdodEB6ZWZ0eS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "1ha064bx8n8369swwh96yd257h2han94v5xpyfilxa756yihcf4w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgYWRqdXN0IG5pZ2h0IGxpZ2h0IiwKICAibmFtZSI6ICJBdXRvIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1plZnR5L0F1dG9OaWdodExpZ2h0IiwKICAidXVpZCI6ICJhdXRvbmlnaHRsaWdodEB6ZWZ0eS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"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": "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"}}}
 , {"uuid": "PrivacyMenu@stuarthayhurst", "name": "Privacy Settings Menu", "pname": "privacy-settings-menu", "description": "Add a privacy menu to the top bar for quick access to privacy settings", "link": "https://extensions.gnome.org/extension/4491/privacy-settings-menu/", "shell_version_map": {"38": {"version": "4", "sha256": "1kdkm032xz72cycaj85q1yjb7s6bv3srysp4sn69phclldyg6bhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHByaXZhY3kgbWVudSB0byB0aGUgdG9wIGJhciBmb3IgcXVpY2sgYWNjZXNzIHRvIHByaXZhY3kgc2V0dGluZ3MiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJQcml2YWN5TWVudUBzdHVhcnRoYXlodXJzdCIsCiAgIm5hbWUiOiAiUHJpdmFjeSBTZXR0aW5ncyBNZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9wcml2YWN5LW1lbnUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJQcml2YWN5TWVudUBzdHVhcnRoYXlodXJzdCIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1kdkm032xz72cycaj85q1yjb7s6bv3srysp4sn69phclldyg6bhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHByaXZhY3kgbWVudSB0byB0aGUgdG9wIGJhciBmb3IgcXVpY2sgYWNjZXNzIHRvIHByaXZhY3kgc2V0dGluZ3MiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJQcml2YWN5TWVudUBzdHVhcnRoYXlodXJzdCIsCiAgIm5hbWUiOiAiUHJpdmFjeSBTZXR0aW5ncyBNZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9wcml2YWN5LW1lbnUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJQcml2YWN5TWVudUBzdHVhcnRoYXlodXJzdCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1kdkm032xz72cycaj85q1yjb7s6bv3srysp4sn69phclldyg6bhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHByaXZhY3kgbWVudSB0byB0aGUgdG9wIGJhciBmb3IgcXVpY2sgYWNjZXNzIHRvIHByaXZhY3kgc2V0dGluZ3MiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJQcml2YWN5TWVudUBzdHVhcnRoYXlodXJzdCIsCiAgIm5hbWUiOiAiUHJpdmFjeSBTZXR0aW5ncyBNZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9wcml2YWN5LW1lbnUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJQcml2YWN5TWVudUBzdHVhcnRoYXlodXJzdCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "hide-panel-lite@fthx", "name": "Hide Panel Lite", "pname": "hide-panel-light-version-without-hot-corner", "description": "Hide top panel except in overview.\n\nFor those who don't need a hot corner (e.g. running GNOME 40+ with three fingers gestures). Very very light extension. No options, no bugs. ;-)", "link": "https://extensions.gnome.org/extension/4496/hide-panel-light-version-without-hot-corner/", "shell_version_map": {"38": {"version": "2", "sha256": "13kwd7sh0w34881wwaqvv0mchd7ym7av5s658jcrq2n8n2zma4xi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy5cblxuRm9yIHRob3NlIHdobyBkb24ndCBuZWVkIGEgaG90IGNvcm5lciAoZS5nLiBydW5uaW5nIEdOT01FIDQwKyB3aXRoIHRocmVlIGZpbmdlcnMgZ2VzdHVyZXMpLiBWZXJ5IHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBObyBvcHRpb25zLCBubyBidWdzLiA7LSkiLAogICJuYW1lIjogIkhpZGUgUGFuZWwgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbC1saXRlIiwKICAidXVpZCI6ICJoaWRlLXBhbmVsLWxpdGVAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "13kwd7sh0w34881wwaqvv0mchd7ym7av5s658jcrq2n8n2zma4xi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy5cblxuRm9yIHRob3NlIHdobyBkb24ndCBuZWVkIGEgaG90IGNvcm5lciAoZS5nLiBydW5uaW5nIEdOT01FIDQwKyB3aXRoIHRocmVlIGZpbmdlcnMgZ2VzdHVyZXMpLiBWZXJ5IHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBObyBvcHRpb25zLCBubyBidWdzLiA7LSkiLAogICJuYW1lIjogIkhpZGUgUGFuZWwgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbC1saXRlIiwKICAidXVpZCI6ICJoaWRlLXBhbmVsLWxpdGVAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "13kwd7sh0w34881wwaqvv0mchd7ym7av5s658jcrq2n8n2zma4xi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy5cblxuRm9yIHRob3NlIHdobyBkb24ndCBuZWVkIGEgaG90IGNvcm5lciAoZS5nLiBydW5uaW5nIEdOT01FIDQwKyB3aXRoIHRocmVlIGZpbmdlcnMgZ2VzdHVyZXMpLiBWZXJ5IHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBObyBvcHRpb25zLCBubyBidWdzLiA7LSkiLAogICJuYW1lIjogIkhpZGUgUGFuZWwgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbC1saXRlIiwKICAidXVpZCI6ICJoaWRlLXBhbmVsLWxpdGVAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "ssm-gnome@lgiki.net", "name": "Simple System Monitor", "pname": "simple-system-monitor", "description": "Show current CPU usage, memory usage and net speed on panel.\n\nThis is a fork of https://extensions.gnome.org/extension/4478/net-speed/.", "link": "https://extensions.gnome.org/extension/4506/simple-system-monitor/", "shell_version_map": {"40": {"version": "5", "sha256": "1gzj7zryq716nq15im9wfiaxji3b6gaq0yvbc6cqp2fawj7ajj13", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuXG5UaGlzIGlzIGEgZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80NDc4L25ldC1zcGVlZC8uIiwKICAibmFtZSI6ICJTaW1wbGUgU3lzdGVtIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1gzj7zryq716nq15im9wfiaxji3b6gaq0yvbc6cqp2fawj7ajj13", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuXG5UaGlzIGlzIGEgZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80NDc4L25ldC1zcGVlZC8uIiwKICAibmFtZSI6ICJTaW1wbGUgU3lzdGVtIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "ssm-gnome@lgiki.net", "name": "Simple System Monitor", "pname": "simple-system-monitor", "description": "Show current CPU usage, memory usage and net speed on panel.\n\nThis is a fork of https://extensions.gnome.org/extension/4478/net-speed/.", "link": "https://extensions.gnome.org/extension/4506/simple-system-monitor/", "shell_version_map": {"38": {"version": "6", "sha256": "0xggfkx15yxjm4mpi2nxg1704j7k37xfwxmj6sklm0l3b0v1x029", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuXG5UaGlzIGlzIGEgZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80NDc4L25ldC1zcGVlZC8uIiwKICAibmFtZSI6ICJTaW1wbGUgU3lzdGVtIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0xggfkx15yxjm4mpi2nxg1704j7k37xfwxmj6sklm0l3b0v1x029", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuXG5UaGlzIGlzIGEgZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80NDc4L25ldC1zcGVlZC8uIiwKICAibmFtZSI6ICJTaW1wbGUgU3lzdGVtIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0xggfkx15yxjm4mpi2nxg1704j7k37xfwxmj6sklm0l3b0v1x029", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuXG5UaGlzIGlzIGEgZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80NDc4L25ldC1zcGVlZC8uIiwKICAibmFtZSI6ICJTaW1wbGUgU3lzdGVtIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "unredirect@aunetx", "name": "Disable unredirect fullscreen windows", "pname": "disable-unredirect-fullscreen-windows", "description": "Disables unredirect fullscreen windows in gnome-shell to prevent artifacts when in fullscreen.\n\nThis version makes sure the unredirect option is not re-enabled automatically by the shell.", "link": "https://extensions.gnome.org/extension/4509/disable-unredirect-fullscreen-windows/", "shell_version_map": {"40": {"version": "3", "sha256": "1mgvpzzfdzn5qsxwz5911a8qgq0r34az6xpmqr72ksx6yf13l85z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHByZXZlbnQgYXJ0aWZhY3RzIHdoZW4gaW4gZnVsbHNjcmVlbi5cblxuVGhpcyB2ZXJzaW9uIG1ha2VzIHN1cmUgdGhlIHVucmVkaXJlY3Qgb3B0aW9uIGlzIG5vdCByZS1lbmFibGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIHNoZWxsLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSB1bnJlZGlyZWN0IGZ1bGxzY3JlZW4gd2luZG93cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAYXVuZXR4IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1mgvpzzfdzn5qsxwz5911a8qgq0r34az6xpmqr72ksx6yf13l85z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHByZXZlbnQgYXJ0aWZhY3RzIHdoZW4gaW4gZnVsbHNjcmVlbi5cblxuVGhpcyB2ZXJzaW9uIG1ha2VzIHN1cmUgdGhlIHVucmVkaXJlY3Qgb3B0aW9uIGlzIG5vdCByZS1lbmFibGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIHNoZWxsLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSB1bnJlZGlyZWN0IGZ1bGxzY3JlZW4gd2luZG93cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAYXVuZXR4IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "nepali-date@biplab", "name": "Nepali Date", "pname": "nepali-calendar", "description": "Shows nepali date on the panel.", "link": "https://extensions.gnome.org/extension/4518/nepali-calendar/", "shell_version_map": {"40": {"version": "11", "sha256": "1g4zdhypy553wbdq0pnxva05ab6p3dv5dp4jcw8vrf8f0kblxxa5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG5lcGFsaSBkYXRlIG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIk5lcGFsaSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaXBsYWItRHV0dGEvTmVwYWxpX0RhdGUiLAogICJ1dWlkIjogIm5lcGFsaS1kYXRlQGJpcGxhYiIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1g4zdhypy553wbdq0pnxva05ab6p3dv5dp4jcw8vrf8f0kblxxa5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG5lcGFsaSBkYXRlIG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIk5lcGFsaSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaXBsYWItRHV0dGEvTmVwYWxpX0RhdGUiLAogICJ1dWlkIjogIm5lcGFsaS1kYXRlQGJpcGxhYiIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "clock-left@mapuut", "name": "Clock Left", "pname": "clock-left", "description": "Move clock to left", "link": "https://extensions.gnome.org/extension/4526/clock-left/", "shell_version_map": {"38": {"version": "2", "sha256": "027wlahy8pwic90cyx677456miaj1kpmfw85r0y0iwr66i3k00qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCIsCiAgIm5hbWUiOiAiQ2xvY2sgTGVmdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNsb2NrLWxlZnRAbWFwdXV0IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "027wlahy8pwic90cyx677456miaj1kpmfw85r0y0iwr66i3k00qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCIsCiAgIm5hbWUiOiAiQ2xvY2sgTGVmdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNsb2NrLWxlZnRAbWFwdXV0IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "027wlahy8pwic90cyx677456miaj1kpmfw85r0y0iwr66i3k00qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCIsCiAgIm5hbWUiOiAiQ2xvY2sgTGVmdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNsb2NrLWxlZnRAbWFwdXV0IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
@@ -582,8 +585,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": "9", "sha256": "0rq5ysys7y2k4w0flm0a2i6z1hb6afxy9k1d4si8h1x1d0b4wrab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "0rq5ysys7y2k4w0flm0a2i6z1hb6afxy9k1d4si8h1x1d0b4wrab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "0rq5ysys7y2k4w0flm0a2i6z1hb6afxy9k1d4si8h1x1d0b4wrab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}}}
+, {"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": "12", "sha256": "0192ypk5343girmbr9fyadbj4axqwwqc1zq66dgambdrdnxprr3h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "0192ypk5343girmbr9fyadbj4axqwwqc1zq66dgambdrdnxprr3h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0192ypk5343girmbr9fyadbj4axqwwqc1zq66dgambdrdnxprr3h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"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="}}}
@@ -593,13 +596,13 @@
 , {"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).\n\nRecommended to use with: https://github.com/qu1x/huawei-wmi.", "link": "https://extensions.gnome.org/extension/4580/huawei-wmi-controls/", "shell_version_map": {"40": {"version": "1", "sha256": "053vnk16kv0r5q4vp7glzjq3w8ah9q375hc492jdsj5za9z8i4n3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgJiBIb25vciBsYXB0b3BzIFdNSSBmdW5jdGlvbnMsIHN1Y2ggYXMgYmF0dGVyeSBwcm90ZWN0aW9uLCBGbi1sb2NrIGFuZCBrZXlib2FyZCBiYWNrbGlnaHQgKGp1c3Qgbm90IHlldCkuXG5cblJlY29tbWVuZGVkIHRvIHVzZSB3aXRoOiBodHRwczovL2dpdGh1Yi5jb20vcXUxeC9odWF3ZWktd21pLiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Add 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": "3", "sha256": "1vsm7r2i30pmkasb47ia29isrzn40hhhl52z7jq1wpwz0ip3k3g5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJBZGQgVXNlcm5hbWUgYW5kIEhvc3RuYW1lIHRvIHBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lIiwKICAidXVpZCI6ICJ1c2VybmFtZS1ob3RuYW1lQGl0LXVuZC1lbnR3aWNrbHVuZy1mZy5kZSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"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=="}}}
 , {"uuid": "newworkspaceshortcut@barnix.io", "name": "New Workspace Shortcut", "pname": "new-workspace-shortcut", "description": "This extension will enable the following:\n\nMove-window-to-new-workspace Shortcut:\nUse a shortcut to move the in-focus window to a new workspace on the right of your current workspace: Super + Alt + Shift + n\nOr to the left / backward: Super + Alt + Shift + b\n\nNew-empty-workspace Shortcut:\nUse a shortcut to create an empty workspace on the right: Super + Alt + n\nOr to the left / backward: Super + Alt + b\n\nReorder-workspace Shortcut:\nUse a shortcut to move an entire workspace left or right of the current workspace: Ctl + Super + Left or Ctl + Super + Right\nBy default, this shorcut with automatically trigger the Overview to provide a limited form of visual feedback. However, this preference can be changed via the extension's Settings panel.\n\nThese shortcuts are created to work logically with the vanilla gnome shortcuts including change-workspace (Super + ALT + Left/Right) and move-window-to-next-workspace (Shift + Super + ALT + Left/Right).", "link": "https://extensions.gnome.org/extension/4597/new-workspace-shortcut/", "shell_version_map": {"41": {"version": "5", "sha256": "0anj72nb9wf80xyhymzr0v97v6hkpi95nmpmpajg5a3w05dz8y7n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6XG5Vc2UgYSBzaG9ydGN1dCB0byBtb3ZlIHRoZSBpbi1mb2N1cyB3aW5kb3cgdG8gYSBuZXcgd29ya3NwYWNlIG9uIHRoZSByaWdodCBvZiB5b3VyIGN1cnJlbnQgd29ya3NwYWNlOiBTdXBlciArIEFsdCArIFNoaWZ0ICsgblxuT3IgdG8gdGhlIGxlZnQgLyBiYWNrd2FyZDogU3VwZXIgKyBBbHQgKyBTaGlmdCArIGJcblxuTmV3LWVtcHR5LXdvcmtzcGFjZSBTaG9ydGN1dDpcblVzZSBhIHNob3J0Y3V0IHRvIGNyZWF0ZSBhbiBlbXB0eSB3b3Jrc3BhY2Ugb24gdGhlIHJpZ2h0OiBTdXBlciArIEFsdCArIG5cbk9yIHRvIHRoZSBsZWZ0IC8gYmFja3dhcmQ6IFN1cGVyICsgQWx0ICsgYlxuXG5SZW9yZGVyLXdvcmtzcGFjZSBTaG9ydGN1dDpcblVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgYW4gZW50aXJlIHdvcmtzcGFjZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBjdXJyZW50IHdvcmtzcGFjZTogQ3RsICsgU3VwZXIgKyBMZWZ0IG9yIEN0bCArIFN1cGVyICsgUmlnaHRcbkJ5IGRlZmF1bHQsIHRoaXMgc2hvcmN1dCB3aXRoIGF1dG9tYXRpY2FsbHkgdHJpZ2dlciB0aGUgT3ZlcnZpZXcgdG8gcHJvdmlkZSBhIGxpbWl0ZWQgZm9ybSBvZiB2aXN1YWwgZmVlZGJhY2suIEhvd2V2ZXIsIHRoaXMgcHJlZmVyZW5jZSBjYW4gYmUgY2hhbmdlZCB2aWEgdGhlIGV4dGVuc2lvbidzIFNldHRpbmdzIHBhbmVsLlxuXG5UaGVzZSBzaG9ydGN1dHMgYXJlIGNyZWF0ZWQgdG8gd29yayBsb2dpY2FsbHkgd2l0aCB0aGUgdmFuaWxsYSBnbm9tZSBzaG9ydGN1dHMgaW5jbHVkaW5nIGNoYW5nZS13b3Jrc3BhY2UgKFN1cGVyICsgQUxUICsgTGVmdC9SaWdodCkgYW5kIG1vdmUtd2luZG93LXRvLW5leHQtd29ya3NwYWNlIChTaGlmdCArIFN1cGVyICsgQUxUICsgTGVmdC9SaWdodCkuIiwKICAibmFtZSI6ICJOZXcgV29ya3NwYWNlIFNob3J0Y3V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ld3dvcmtzcGFjZXNob3J0Y3V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jhcm5zY290dC9uZXd3b3Jrc3BhY2VzaG9ydGN1dC1iYXJuaXguaW8iLAogICJ1dWlkIjogIm5ld3dvcmtzcGFjZXNob3J0Y3V0QGJhcm5peC5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "p.stonham@switcheroo.org", "name": "Switcheroo", "pname": "switcheroo", "description": "Switch to the first window with the title x\n\nA very small extension to allow you to switch windows via gdbus. This is particularly useful if you are using wayland as utilities such as wmctrl won't work.\n\nSince Gnome 41 removed org.gnome.Shell.Eval for security reasons, if you ever used a command such as:\n\ngdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval\"var mw = global.get_window_actors().map(w=&gt;w.meta_window).find(mw=&gt;mw.get_title().includes('Firefox'));mw &amp;&amp; mw.activate(0)\"\n\nthis can now be replaced with:\n\ngdbus call --session --dest org.gnome.Shell --object-path /org/switcheroo/Switcheroo --method org.switcheroo.Switcheroo.Set Firefox\n\nThis can then be assigned to a shortcut key in Gnome settings or called programmatically.", "link": "https://extensions.gnome.org/extension/4600/switcheroo/", "shell_version_map": {"41": {"version": "3", "sha256": "0pfjhx8pm26zpizazd2pbpfqsr8vwc6znrm1cbf4ydcyvfxsnwwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB0byB0aGUgZmlyc3Qgd2luZG93IHdpdGggdGhlIHRpdGxlIHhcblxuQSB2ZXJ5IHNtYWxsIGV4dGVuc2lvbiB0byBhbGxvdyB5b3UgdG8gc3dpdGNoIHdpbmRvd3MgdmlhIGdkYnVzLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgeW91IGFyZSB1c2luZyB3YXlsYW5kIGFzIHV0aWxpdGllcyBzdWNoIGFzIHdtY3RybCB3b24ndCB3b3JrLlxuXG5TaW5jZSBHbm9tZSA0MSByZW1vdmVkIG9yZy5nbm9tZS5TaGVsbC5FdmFsIGZvciBzZWN1cml0eSByZWFzb25zLCBpZiB5b3UgZXZlciB1c2VkIGEgY29tbWFuZCBzdWNoIGFzOlxuXG5nZGJ1cyBjYWxsIC0tc2Vzc2lvbiAtLWRlc3Qgb3JnLmdub21lLlNoZWxsIC0tb2JqZWN0LXBhdGggL29yZy9nbm9tZS9TaGVsbCAtLW1ldGhvZCBvcmcuZ25vbWUuU2hlbGwuRXZhbFwidmFyIG13ID0gZ2xvYmFsLmdldF93aW5kb3dfYWN0b3JzKCkubWFwKHc9Jmd0O3cubWV0YV93aW5kb3cpLmZpbmQobXc9Jmd0O213LmdldF90aXRsZSgpLmluY2x1ZGVzKCdGaXJlZm94JykpO213ICZhbXA7JmFtcDsgbXcuYWN0aXZhdGUoMClcIlxuXG50aGlzIGNhbiBub3cgYmUgcmVwbGFjZWQgd2l0aDpcblxuZ2RidXMgY2FsbCAtLXNlc3Npb24gLS1kZXN0IG9yZy5nbm9tZS5TaGVsbCAtLW9iamVjdC1wYXRoIC9vcmcvc3dpdGNoZXJvby9Td2l0Y2hlcm9vIC0tbWV0aG9kIG9yZy5zd2l0Y2hlcm9vLlN3aXRjaGVyb28uU2V0IEZpcmVmb3hcblxuVGhpcyBjYW4gdGhlbiBiZSBhc3NpZ25lZCB0byBhIHNob3J0Y3V0IGtleSBpbiBHbm9tZSBzZXR0aW5ncyBvciBjYWxsZWQgcHJvZ3JhbW1hdGljYWxseS4iLAogICJuYW1lIjogIlN3aXRjaGVyb28iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInAuc3RvbmhhbUBzd2l0Y2hlcm9vLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "sane-airplane-mode@kippi", "name": "Sane Airplane Mode", "pname": "sane-airplane-mode", "description": "Make airplane mode sane again! This extension gives you better control over the airplane mode. \nHint: With this extension you can also turn off the annoying \"Bluetooth gets turned on when I disable airplane mode\" behaviour.", "link": "https://extensions.gnome.org/extension/4604/sane-airplane-mode/", "shell_version_map": {"40": {"version": "6", "sha256": "0jpis6rncjxjs90dlnl1677bxzk92x2zxzmnz2fmm0myl01pwnpa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veEtpcHBpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zYW5lLWFpcnBsYW5lLW1vZGUiLAogICJ1dWlkIjogInNhbmUtYWlycGxhbmUtbW9kZUBraXBwaSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0jpis6rncjxjs90dlnl1677bxzk92x2zxzmnz2fmm0myl01pwnpa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veEtpcHBpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zYW5lLWFpcnBsYW5lLW1vZGUiLAogICJ1dWlkIjogInNhbmUtYWlycGxhbmUtbW9kZUBraXBwaSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"uuid": "sane-airplane-mode@kippi", "name": "Sane Airplane Mode", "pname": "sane-airplane-mode", "description": "Make airplane mode sane again! This extension gives you better control over the airplane mode. \nHint: With this extension you can also turn off the annoying \"Bluetooth gets turned on when I disable airplane mode\" behaviour.", "link": "https://extensions.gnome.org/extension/4604/sane-airplane-mode/", "shell_version_map": {"40": {"version": "7", "sha256": "0y79lqhc4ps7nhzpm0jwcpmy8y5pq4fz06jdxsiplfp6x95kkbny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veEtpcHBpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zYW5lLWFpcnBsYW5lLW1vZGUiLAogICJ1dWlkIjogInNhbmUtYWlycGxhbmUtbW9kZUBraXBwaSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0y79lqhc4ps7nhzpm0jwcpmy8y5pq4fz06jdxsiplfp6x95kkbny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veEtpcHBpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zYW5lLWFpcnBsYW5lLW1vZGUiLAogICJ1dWlkIjogInNhbmUtYWlycGxhbmUtbW9kZUBraXBwaSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "undecorate@tabdeveloper.com", "name": "Undecorate Window (Fork)", "pname": "undecorate-window-for-wayland", "description": "Adds undecorate option to window menu to toggle window decoration.", "link": "https://extensions.gnome.org/extension/4606/undecorate-window-for-wayland/", "shell_version_map": {"40": {"version": "1", "sha256": "0l7knd7xam0fh9c30wbrzm0yzwnjin97r1rjdpcw9vvh80yh3hsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyAoRm9yaykiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInN1bi53eGdAZ21haWwuY29tIiwKICAgICJ0aW1AdGFiZGV2ZWxvcGVyLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudW5kZWNvcmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "0l7knd7xam0fh9c30wbrzm0yzwnjin97r1rjdpcw9vvh80yh3hsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyAoRm9yaykiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInN1bi53eGdAZ21haWwuY29tIiwKICAgICJ0aW1AdGFiZGV2ZWxvcGVyLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudW5kZWNvcmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "zenbook-duo@laurinneff.ch", "name": "Asus ZenBook Duo Integration", "pname": "asus-zenbook-duo-integration", "description": "Integrate the features of the Asus ZenBook Duo into GNOME", "link": "https://extensions.gnome.org/extension/4607/asus-zenbook-duo-integration/", "shell_version_map": {"40": {"version": "4", "sha256": "1kskb1iiz2v82yb07n9nh32hyamdqnwv0qbicvk481l22hgsx91b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmlubmVmZi9nbm9tZS1zaGVsbC1leHRlbnNpb24temVuYm9vay1kdW8iLAogICJ1dWlkIjogInplbmJvb2stZHVvQGxhdXJpbm5lZmYuY2giLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1kskb1iiz2v82yb07n9nh32hyamdqnwv0qbicvk481l22hgsx91b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmlubmVmZi9nbm9tZS1zaGVsbC1leHRlbnNpb24temVuYm9vay1kdW8iLAogICJ1dWlkIjogInplbmJvb2stZHVvQGxhdXJpbm5lZmYuY2giLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "batterythreshold@francku.gitlab.com", "name": "Battery threshold", "pname": "battery-threshold", "description": "A simple extension for gnome-shell that let easily set a threshold to limit battery charge level.\n\nThis extension uses \"pkexec\" since sudo permissions are needed to change the threshold level.\n\nTested on Fedora Silverblue 35 (gnome-shell 3.41) on an Asus Vivobook.\n\nGithub page: https://github.com/francku/gnome-shell-extension-battery-threshold", "link": "https://extensions.gnome.org/extension/4612/battery-threshold/", "shell_version_map": {"41": {"version": "1", "sha256": "1dfnql5fmxxvaksl2c6v7sjq0339d2y5p8lznfdp2gb038l8bxjl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBvbiBhbiBBc3VzIFZpdm9ib29rLlxuXG5HaXRodWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2ZyYW5ja3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJhdHRlcnktdGhyZXNob2xkIiwKICAibmFtZSI6ICJCYXR0ZXJ5IHRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYmF0dGVyeXRocmVzaG9sZEBmcmFuY2t1LmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
@@ -607,32 +610,66 @@
 , {"uuid": "hideTopBarWindow@kinzoku.one", "name": "Hide Top Bar Window", "pname": "hide-top-bar-window", "description": "Hides the selected window entry in the top bar.", "link": "https://extensions.gnome.org/extension/4621/hide-top-bar-window/", "shell_version_map": {"41": {"version": "1", "sha256": "0r7f8qb23ilz42pbbcd4rh22nnczqa9bags6msri1hl68lbv1qwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBzZWxlY3RlZCB3aW5kb3cgZW50cnkgaW4gdGhlIHRvcCBiYXIuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIgV2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDEuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9raW56b2t1Lm9uZSIsCiAgInV1aWQiOiAiaGlkZVRvcEJhcldpbmRvd0BraW56b2t1Lm9uZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"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": "This extension hides the classic title bar of maximized X.Org windows.\n\nNote: The xprop utility must be installed in order for this extension to function.", "link": "https://extensions.gnome.org/extension/4630/no-titlebar-when-maximized/", "shell_version_map": {"41": {"version": "3", "sha256": "1dc9b5haw4ijd3vrml1zhrcfh97w86pyqf312k1mi91za6j8bfjr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cy5cblxuTm90ZTogVGhlIHhwcm9wIHV0aWxpdHkgbXVzdCBiZSBpbnN0YWxsZWQgaW4gb3JkZXIgZm9yIHRoaXMgZXh0ZW5zaW9uIHRvIGZ1bmN0aW9uLiIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlY2RvdG5pbmphL25vLXRpdGxlYmFyLXdoZW4tbWF4aW1pemVkIiwKICAidXVpZCI6ICJuby10aXRsZWJhci13aGVuLW1heGltaXplZEBhbGVjLm5pbmphIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"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": "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": "4", "sha256": "1jnisq1bzl1dvb3a31rvn5swihs5js46n6bz2pmgc9npbzbvxlnk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG1hdGNoaW5nIHBhc3MgZW50cmllcyBpbiBnbm9tZSBzZWFyY2giLAogICJuYW1lIjogIlBhc3MgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdnJvdi9nbm9tZS1leHRlbnNpb24tcGFzcy1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1wYXNzLXNlYXJjaC1wcm92aWRlci5sYXZyb3YuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"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"}}}
 , {"uuid": "notification-banner-reloaded@marcinjakubowski.github.com", "name": "Notification Banner Reloaded", "pname": "notification-banner-reloaded", "description": "Configure notification banner position and animation to your liking", "link": "https://extensions.gnome.org/extension/4651/notification-banner-reloaded/", "shell_version_map": {"40": {"version": "3", "sha256": "0bpk2s1q6r7bzq8cxyga7dy90liwhmlpga74l9zigr2m9p8kp97p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBub3RpZmljYXRpb24gYmFubmVyIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gdG8geW91ciBsaWtpbmciLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBCYW5uZXIgUmVsb2FkZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90aWZpY2F0aW9uLWJhbm5lci1yZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9ub3RpZmljYXRpb24tcG9zaXRpb24tcmVsb2FkZWQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1iYW5uZXItcmVsb2FkZWRAbWFyY2luamFrdWJvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "0bpk2s1q6r7bzq8cxyga7dy90liwhmlpga74l9zigr2m9p8kp97p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBub3RpZmljYXRpb24gYmFubmVyIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gdG8geW91ciBsaWtpbmciLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBCYW5uZXIgUmVsb2FkZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90aWZpY2F0aW9uLWJhbm5lci1yZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9ub3RpZmljYXRpb24tcG9zaXRpb24tcmVsb2FkZWQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1iYW5uZXItcmVsb2FkZWRAbWFyY2luamFrdWJvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "gnome-extension-brightness@bruno.englert.gitlab.com", "name": "Adjust Display Brightness", "pname": "adjust-display-brightness", "description": "Simple GNOME extension to control displays' brightness via DDC. It requires ddcutil to be installed, I2C permissions for non-root users configured.", "link": "https://extensions.gnome.org/extension/4652/adjust-display-brightness/", "shell_version_map": {"40": {"version": "19", "sha256": "1jbfnddd05dr1j3smyss68886662dq52fwhqs83g5xmnqr8jy7k7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9icnVuby5lbmdsZXJ0L2dub21lLWV4dGVuc2lvbi1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzc0BicnVuby5lbmdsZXJ0LmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"uuid": "gnome-extension-brightness@bruno.englert.gitlab.com", "name": "Adjust Display Brightness", "pname": "adjust-display-brightness", "description": "Simple GNOME extension to control displays' brightness via DDC. It requires ddcutil to be installed, I2C permissions for non-root users configured.", "link": "https://extensions.gnome.org/extension/4652/adjust-display-brightness/", "shell_version_map": {"40": {"version": "20", "sha256": "0ldlghrlvlifqpnjpysacahfm4v504k7vhzrvay6w36w8v0yadav", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0ldlghrlvlifqpnjpysacahfm4v504k7vhzrvay6w36w8v0yadav", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "date-menu-formatter@marcinjakubowski.github.com", "name": "Date Menu Formatter", "pname": "date-menu-formatter", "description": "Allows customization of the date display in the panel.\n\nMight be especially useful if you're using a horizontal panel which does not at all work well with the default date display.\n\nCHANGELOG\nVersion 5: added support for multiple Dash To Panel panels\nVersion 6: fixed issues on earlier Gnome Shell versions", "link": "https://extensions.gnome.org/extension/4655/date-menu-formatter/", "shell_version_map": {"40": {"version": "6", "sha256": "0w2qy8hr569hq66dnpq5ajii66wrmpdxhr7ws0kj992f0nlrs78i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9ucyIsCiAgIm5hbWUiOiAiRGF0ZSBNZW51IEZvcm1hdHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGF0ZS1tZW51LWZvcm1hdHRlckBtYXJjaW5qYWt1Ym93c2tpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0w2qy8hr569hq66dnpq5ajii66wrmpdxhr7ws0kj992f0nlrs78i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9ucyIsCiAgIm5hbWUiOiAiRGF0ZSBNZW51IEZvcm1hdHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGF0ZS1tZW51LWZvcm1hdHRlckBtYXJjaW5qYWt1Ym93c2tpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "surf@diegonz.github.io", "name": "Surf", "pname": "surf", "description": "Visit URL or perform a web search with the terms provided directly from GNOME Shell", "link": "https://extensions.gnome.org/extension/4661/surf/", "shell_version_map": {"38": {"version": "2", "sha256": "04rs32jzy89vr2fyw44vmjx47l2kkdhqklqms9fqckf8ii3l4h56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc2l0IFVSTCBvciBwZXJmb3JtIGEgd2ViIHNlYXJjaCB3aXRoIHRoZSB0ZXJtcyBwcm92aWRlZCBkaXJlY3RseSBmcm9tIEdOT01FIFNoZWxsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN1cmYiLAogICJuYW1lIjogIlN1cmYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VyZiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGllZ29uei9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3VyZiIsCiAgInV1aWQiOiAic3VyZkBkaWVnb256LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "04rs32jzy89vr2fyw44vmjx47l2kkdhqklqms9fqckf8ii3l4h56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc2l0IFVSTCBvciBwZXJmb3JtIGEgd2ViIHNlYXJjaCB3aXRoIHRoZSB0ZXJtcyBwcm92aWRlZCBkaXJlY3RseSBmcm9tIEdOT01FIFNoZWxsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN1cmYiLAogICJuYW1lIjogIlN1cmYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VyZiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGllZ29uei9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3VyZiIsCiAgInV1aWQiOiAic3VyZkBkaWVnb256LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "04rs32jzy89vr2fyw44vmjx47l2kkdhqklqms9fqckf8ii3l4h56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc2l0IFVSTCBvciBwZXJmb3JtIGEgd2ViIHNlYXJjaCB3aXRoIHRoZSB0ZXJtcyBwcm92aWRlZCBkaXJlY3RseSBmcm9tIEdOT01FIFNoZWxsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN1cmYiLAogICJuYW1lIjogIlN1cmYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VyZiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGllZ29uei9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3VyZiIsCiAgInV1aWQiOiAic3VyZkBkaWVnb256LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "CustomizeClockOnLockScreen@pratap.fastmail.fm", "name": "Customize Clock on Lock Screen", "pname": "customize-clock-on-lock-screen", "description": "Customize Clock on Lock Screen.", "link": "https://extensions.gnome.org/extension/4663/customize-clock-on-lock-screen/", "shell_version_map": {"41": {"version": "2", "sha256": "1rw16avp8svfhkis6ifljkwffy67f22zpql31nmhgsdsm4bsp3pw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBDbG9jayBvbiBMb2NrIFNjcmVlbi4iLAogICJuYW1lIjogIkN1c3RvbWl6ZSBDbG9jayBvbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvY3VzdG9taXplLWNsb2NrLW9uLWxvY2stc2NyZWVuIiwKICAidXVpZCI6ICJDdXN0b21pemVDbG9ja09uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "LeftClock@adityashrivastava.tk", "name": "Left Clock", "pname": "left-clock", "description": "Replaces the activity button with clock and moves it to left side of top bar.", "link": "https://extensions.gnome.org/extension/4667/left-clock/", "shell_version_map": {"40": {"version": "4", "sha256": "0lsihlkx9is0cisx7wsz9jy5h91gqhcpqqpq3lpl3msvn90dlmj9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSBhY3Rpdml0eSBidXR0b24gd2l0aCBjbG9jayBhbmQgbW92ZXMgaXQgdG8gbGVmdCBzaWRlIG9mIHRvcCBiYXIuIiwKICAibmFtZSI6ICJMZWZ0IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiTGVmdENsb2NrQGFkaXR5YXNocml2YXN0YXZhLnRrIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0lsihlkx9is0cisx7wsz9jy5h91gqhcpqqpq3lpl3msvn90dlmj9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSBhY3Rpdml0eSBidXR0b24gd2l0aCBjbG9jayBhbmQgbW92ZXMgaXQgdG8gbGVmdCBzaWRlIG9mIHRvcCBiYXIuIiwKICAibmFtZSI6ICJMZWZ0IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiTGVmdENsb2NrQGFkaXR5YXNocml2YXN0YXZhLnRrIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "keyboard-backlight-menu@ophir.dev", "name": "Keyboard Backlight Slider", "pname": "keyboard-backlight-slider", "description": "Allow setting the keyboard backlight brightness with a slider in the main menu", "link": "https://extensions.gnome.org/extension/4669/keyboard-backlight-slider/", "shell_version_map": {"40": {"version": "4", "sha256": "1afrdqjb5xvg57m5y7h33drs8yzwrblyddxypyrmc4xam37nq3lb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNldHRpbmcgdGhlIGtleWJvYXJkIGJhY2tsaWdodCBicmlnaHRuZXNzIHdpdGggYSBzbGlkZXIgaW4gdGhlIG1haW4gbWVudSIsCiAgIm5hbWUiOiAiS2V5Ym9hcmQgQmFja2xpZ2h0IFNsaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbG92YXNvYS9nbm9tZS1rZXlib2FyZC1iYWNrbGlnaHQtbWVudSIsCiAgInV1aWQiOiAia2V5Ym9hcmQtYmFja2xpZ2h0LW1lbnVAb3BoaXIuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1afrdqjb5xvg57m5y7h33drs8yzwrblyddxypyrmc4xam37nq3lb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNldHRpbmcgdGhlIGtleWJvYXJkIGJhY2tsaWdodCBicmlnaHRuZXNzIHdpdGggYSBzbGlkZXIgaW4gdGhlIG1haW4gbWVudSIsCiAgIm5hbWUiOiAiS2V5Ym9hcmQgQmFja2xpZ2h0IFNsaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbG92YXNvYS9nbm9tZS1rZXlib2FyZC1iYWNrbGlnaHQtbWVudSIsCiAgInV1aWQiOiAia2V5Ym9hcmQtYmFja2xpZ2h0LW1lbnVAb3BoaXIuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"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 the old-school way.", "link": "https://extensions.gnome.org/extension/4679/burn-my-windows/", "shell_version_map": {"38": {"version": "4", "sha256": "1xfm8szbw74dcgni5c4a7v6vmlgc1jymb8ahj7x82qnrrmd4k5z0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIGFwcHMgdGhlIG9sZC1zY2hvb2wgd2F5LiIsCiAgImdldHRleHQtZG9tYWluIjogImJ1cm4tbXktd2luZG93cyIsCiAgIm5hbWUiOiAiQnVybiBNeSBXaW5kb3dzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1cm4tbXktd2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9CdXJuLU15LVdpbmRvd3MiLAogICJ1dWlkIjogImJ1cm4tbXktd2luZG93c0BzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "1xfm8szbw74dcgni5c4a7v6vmlgc1jymb8ahj7x82qnrrmd4k5z0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIGFwcHMgdGhlIG9sZC1zY2hvb2wgd2F5LiIsCiAgImdldHRleHQtZG9tYWluIjogImJ1cm4tbXktd2luZG93cyIsCiAgIm5hbWUiOiAiQnVybiBNeSBXaW5kb3dzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1cm4tbXktd2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9CdXJuLU15LVdpbmRvd3MiLAogICJ1dWlkIjogImJ1cm4tbXktd2luZG93c0BzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1xfm8szbw74dcgni5c4a7v6vmlgc1jymb8ahj7x82qnrrmd4k5z0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIGFwcHMgdGhlIG9sZC1zY2hvb2wgd2F5LiIsCiAgImdldHRleHQtZG9tYWluIjogImJ1cm4tbXktd2luZG93cyIsCiAgIm5hbWUiOiAiQnVybiBNeSBXaW5kb3dzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1cm4tbXktd2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9CdXJuLU15LVdpbmRvd3MiLAogICJ1dWlkIjogImJ1cm4tbXktd2luZG93c0BzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"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": "11", "sha256": "0jmvn4vxcq6bgmfnh82si50kglxqs12b4clg2sc79711mc3ppavr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "0jmvn4vxcq6bgmfnh82si50kglxqs12b4clg2sc79711mc3ppavr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "0jmvn4vxcq6bgmfnh82si50kglxqs12b4clg2sc79711mc3ppavr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"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": "0j3wg3sn9aygr1w5mc75i9k94shi4ymshvrpy6jy5w2m8l9cicqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0j3wg3sn9aygr1w5mc75i9k94shi4ymshvrpy6jy5w2m8l9cicqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0j3wg3sn9aygr1w5mc75i9k94shi4ymshvrpy6jy5w2m8l9cicqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"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": "2", "sha256": "16rwg9c6braiq13f4s8z0vjd10jw2f76l13qajvnxl7kdll9494h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBkaXNwbGF5aW5nIHN0YXR1cyBvZiBhbiBlbnRlcmVkIHdlYiBzZXJ2ZXIgdXJsLCBncmVlbiBmb3IgdXAsIHJlZCBmb3IgZG93bi4iLAogICJuYW1lIjogIlNlcnZlciBTdGF0dXMgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NyYWlnRm9vdGUvY2EuZm9vdGV3YXJlLmdub21lc2hlbGwuc2VydmVyc3RhdHVzLmdpdCIsCiAgInV1aWQiOiAic2VydmVyc3RhdHVzQGZvb3Rld2FyZS5jYSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"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 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": "4", "sha256": "0nrnz6051xln76aslkyvrs85f1vh3hqldqzs6ap4zars81bk1s6r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvcm91bmRlZC1zeXN0ZW0tbWVudS1idXR0b25zIiwKICAidXVpZCI6ICJyb3VuZGVkU3lzdGVtTWVudUJ1dHRvbnNAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "6", "sha256": "06l65vz7w9sb9lvnfhsrvq3dpxiw39ang05rnhngd1kbywgnljh1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL3JvdW5kZWQtc3lzdGVtLW1lbnUtYnV0dG9ucyIsCiAgInV1aWQiOiAicm91bmRlZFN5c3RlbU1lbnVCdXR0b25zQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"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.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "13", "sha256": "1x303vwq391fpa0lqqb2j6fqq1ndcz8hci14r7wnk69q2i2w3gam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1x303vwq391fpa0lqqb2j6fqq1ndcz8hci14r7wnk69q2i2w3gam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDEzCn0="}}}
-, {"uuid": "another-window-session-manager@gmail.com", "name": "Another Window Session Manager", "pname": "another-window-session-manager", "description": "Save and close open windows. And restore from saved windows. Most importantly, it supports both X.org and Wayland! More features will be added in the future.", "link": "https://extensions.gnome.org/extension/4709/another-window-session-manager/", "shell_version_map": {"40": {"version": "1", "sha256": "1vgvvcdf89fk2yicqg96imz23nc4wbrjnkw2qp3sm2il5gs6yiwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgYW5kIGNsb3NlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgZnJvbSBzYXZlZCB3aW5kb3dzLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgub3JnIGFuZCBXYXlsYW5kISBNb3JlIGZlYXR1cmVzIHdpbGwgYmUgYWRkZWQgaW4gdGhlIGZ1dHVyZS4iLAogICJuYW1lIjogIkFub3RoZXIgV2luZG93IFNlc3Npb24gTWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyIiwKICAidXVpZCI6ICJhbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXJAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "1vgvvcdf89fk2yicqg96imz23nc4wbrjnkw2qp3sm2il5gs6yiwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgYW5kIGNsb3NlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgZnJvbSBzYXZlZCB3aW5kb3dzLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgub3JnIGFuZCBXYXlsYW5kISBNb3JlIGZlYXR1cmVzIHdpbGwgYmUgYWRkZWQgaW4gdGhlIGZ1dHVyZS4iLAogICJuYW1lIjogIkFub3RoZXIgV2luZG93IFNlc3Npb24gTWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyIiwKICAidXVpZCI6ICJhbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXJAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"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": "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": "11", "sha256": "0knj9ix19cly96aj6bp7mai7rb1s8r9bvik8qs3n1f3xy3lx62fb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIGNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgc2F2ZWQgd2luZG93cy4gTW9zdCBpbXBvcnRhbnRseSwgaXQgc3VwcG9ydHMgYm90aCBYMTEgYW5kIFdheWxhbmQhIiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciIsCiAgInV1aWQiOiAiYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "0knj9ix19cly96aj6bp7mai7rb1s8r9bvik8qs3n1f3xy3lx62fb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIGNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgc2F2ZWQgd2luZG93cy4gTW9zdCBpbXBvcnRhbnRseSwgaXQgc3VwcG9ydHMgYm90aCBYMTEgYW5kIFdheWxhbmQhIiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciIsCiAgInV1aWQiOiAiYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"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.\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": "00r6zvakzr4iflfmhniamyf7sxnf07gig85c0nzpyjnikhviax8m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJkaXNhYmxlX2hvdmVyQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "00r6zvakzr4iflfmhniamyf7sxnf07gig85c0nzpyjnikhviax8m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJkaXNhYmxlX2hvdmVyQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "00r6zvakzr4iflfmhniamyf7sxnf07gig85c0nzpyjnikhviax8m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJkaXNhYmxlX2hvdmVyQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"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="}}}
+, {"uuid": "countdown-timer@eexpss.gmail.com", "name": "Countdown & Timer", "pname": "countdown-timer", "description": "Countdown in minutes, or enter text containing HH:MM format to set the Timer.", "link": "https://extensions.gnome.org/extension/4720/countdown-timer/", "shell_version_map": {"40": {"version": "8", "sha256": "0p5hwymm6grn7rclpy637jxflw5h3y1fc2q8b1n3pkvj977861md", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0p5hwymm6grn7rclpy637jxflw5h3y1fc2q8b1n3pkvj977861md", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
+, {"uuid": "workspace-dry-names@benmoussatmouad.github.io", "name": "Worksapce Dry Names", "pname": "worksapce-dry-names", "description": "Workspace dry-names is a simple gnome extension that enables tags for desktop workspaces. It shows text labels on the left side of the main panel with randomly generated cities names (or an other category of names). Names can also be modified.\n\nhttps://github.com/benmoussatMouad/gnome-workspace-dry-names.git", "link": "https://extensions.gnome.org/extension/4721/worksapce-dry-names/", "shell_version_map": {"38": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"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": "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="}}}
+, {"uuid": "hidedate@hidedate.com", "name": "Hide Date", "pname": "hide-date", "description": "hides date and clocks", "link": "https://extensions.gnome.org/extension/4747/hide-date/", "shell_version_map": {"38": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "toggleimwheel@mijorus.it", "name": "Toggle imwheel", "pname": "toggle-imwheel", "description": "This simple extension wants to mitigate the lack of a dedicated mouse wheel control on most of the modern linux distributions. Many are using imwheel as a temporary fix; however, if you are using laptop, you might want to have two different settings for the touchpad and the mouse. \n This extension will add an icon in the top bar which lets you toggle imwheel between two custom settings.\n\n\nhttps://github.com/mijorus/toggle-imwheel", "link": "https://extensions.gnome.org/extension/4748/toggle-imwheel/", "shell_version_map": {"40": {"version": "2", "sha256": "1fjqap51g7gy3jra7r1qq4j61iifx13l5lj8sw2csbvzliacsr62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBsYXB0b3AsIHlvdSBtaWdodCB3YW50IHRvIGhhdmUgdHdvIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgdGhlIHRvdWNocGFkIGFuZCB0aGUgbW91c2UuIFxuIFRoaXMgZXh0ZW5zaW9uIHdpbGwgYWRkIGFuIGljb24gaW4gdGhlIHRvcCBiYXIgd2hpY2ggbGV0cyB5b3UgdG9nZ2xlIGltd2hlZWwgYmV0d2VlbiB0d28gY3VzdG9tIHNldHRpbmdzLlxuXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9nZ2xlaW13aGVlbEBtaWpvcnVzLml0IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "yakuake-extension@kde.org", "name": "Yakuake", "pname": "yakuake", "description": "A Gnome shell extension to use Yakuake on Gnome. Adds a global shortcut to show/hide yakuake and makes the console appear focussed.", "link": "https://extensions.gnome.org/extension/4757/yakuake/", "shell_version_map": {"40": {"version": "4", "sha256": "0rdrcbsscchvi8i9f6c9sjgnn4546i33l0q135jvav7c1a6bb9mq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0rdrcbsscchvi8i9f6c9sjgnn4546i33l0q135jvav7c1a6bb9mq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "dnf-shotcuts@rx1310", "name": "Shortcuts for DNF", "pname": "shortcuts-for-dnf", "description": "A small extension that adds buttons to the panel to check for DNF updates through the terminal without entering commands.", "link": "https://extensions.gnome.org/extension/4758/shortcuts-for-dnf/", "shell_version_map": {"38": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "speedbackground@luke.vader", "name": "Speed background", "pname": "speed-background", "description": "Increase how often Gnome will check the background.", "link": "https://extensions.gnome.org/extension/4761/speed-background/", "shell_version_map": {"41": {"version": "4", "sha256": "1dkmnkrag8fgyfdda4f9bpvsrkvx8h8xfb6wm83dyra1z8jq82fs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MdWtlVmFkZXItSVYvZ25vbWUtc3BlZWQtYmFja2dyb3VuZC1leHRlbnNpb24vIiwKICAidXVpZCI6ICJzcGVlZGJhY2tncm91bmRAbHVrZS52YWRlciIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "bottom-panel@sulincix", "name": "Bottom Panel", "pname": "bottompanel", "description": "move top panel to bottom", "link": "https://extensions.gnome.org/extension/4764/bottompanel/", "shell_version_map": {"38": {"version": "2", "sha256": "0xfmhgd9pgbwjwclf5v9gbhr5mhkh5yl5cxb5wbj9gi20ppl8366", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG9wIHBhbmVsIHRvIGJvdHRvbSIsCiAgIm5hbWUiOiAiQm90dG9tIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYm90dG9tLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0xfmhgd9pgbwjwclf5v9gbhr5mhkh5yl5cxb5wbj9gi20ppl8366", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG9wIHBhbmVsIHRvIGJvdHRvbSIsCiAgIm5hbWUiOiAiQm90dG9tIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYm90dG9tLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0xfmhgd9pgbwjwclf5v9gbhr5mhkh5yl5cxb5wbj9gi20ppl8366", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG9wIHBhbmVsIHRvIGJvdHRvbSIsCiAgIm5hbWUiOiAiQm90dG9tIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYm90dG9tLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "FuzzyClock@johngoetz", "name": "Fuzzy Clock", "pname": "fuzzy-clock", "description": "A human-readable (english) clock for the gnome-shell panel", "link": "https://extensions.gnome.org/extension/4771/fuzzy-clock/", "shell_version_map": {"40": {"version": "2", "sha256": "18y8r6f0czadrpamrribqq6rvwa57hpdpffpy864vqp7kq6i6s0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgKGVuZ2xpc2gpIGNsb2NrIGZvciB0aGUgZ25vbWUtc2hlbGwgcGFuZWwiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qb2huZ29ldHovRnV6enlDbG9jayIsCiAgInV1aWQiOiAiRnV6enlDbG9ja0Bqb2huZ29ldHoiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "18y8r6f0czadrpamrribqq6rvwa57hpdpffpy864vqp7kq6i6s0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgKGVuZ2xpc2gpIGNsb2NrIGZvciB0aGUgZ25vbWUtc2hlbGwgcGFuZWwiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qb2huZ29ldHovRnV6enlDbG9jayIsCiAgInV1aWQiOiAiRnV6enlDbG9ja0Bqb2huZ29ldHoiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"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": "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": "6", "sha256": "1yahf80xd5cr318if66xg6lrx6mv3arbfrywd0s71hsdhc19mza5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gYXZhdGFyIHRvIHRoZSBwYW5lbC4gQ29udHJvbGxhYmlsaXR5OiBzaGFkZXMsIGJ1dHRvbnMgKHR1cm4gbm90aWZpY2F0aW9ucyBvbi9vZmYsIHNsZWVwLCBvZmYpLCB2aXNpYmlsaXR5IG9mIHVzZXJuYW1lIGFuZCBob3N0bmFtZSIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Bhd2Vsc3dpc3pjei9BdmF0YXItR25vbWUtU2hlbGwtRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhdmF0YXJAcGF3ZWwuc3dpc3pjei5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"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": "4", "sha256": "0bysy8nm3g9q86ksds8czpr8444spq8vbc7f8dl4ipm85w53sa0h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdCArIE1vdXNlIGNvbnRyb2wgd2luZG93IiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0bysy8nm3g9q86ksds8czpr8444spq8vbc7f8dl4ipm85w53sa0h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdCArIE1vdXNlIGNvbnRyb2wgd2luZG93IiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "workspace-switcher-manager@G-dH.github.com", "name": "Workspace Switcher Manager", "pname": "workspace-switcher-manager", "description": "Customize your workspace switcher behavior and the content, dimensions, position, orientation and colors of its popup.", "link": "https://extensions.gnome.org/extension/4788/workspace-switcher-manager/", "shell_version_map": {"38": {"version": "1", "sha256": "02hx1mmk1mbmcjw178al0xl5spncdnjdp5wmrgfd9c9d1hmvs9sh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIFN3aXRjaGVyIE1hbmFnZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "02hx1mmk1mbmcjw178al0xl5spncdnjdp5wmrgfd9c9d1hmvs9sh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIFN3aXRjaGVyIE1hbmFnZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "02hx1mmk1mbmcjw178al0xl5spncdnjdp5wmrgfd9c9d1hmvs9sh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIFN3aXRjaGVyIE1hbmFnZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "compare@eexpss.gmail.com", "name": "Copy 2 Compare", "pname": "compare-filedir-from-clip", "description": "Copy two Dirs/Files names from anywhere such as `nautilus` or `gnome-terminal`, and then compare them.  Dirs/Files copied to the `CLIPBOARD` can only be used for comparison. Dirs/Files selected to the `PRIMARY` with mouse can be opened by click the menu item. It needs to be copied twice. Only one file or directory can be copied each time, otherwise the copy is invalid. Meld must be installed. The hotkey `ctrl-o` can open the last file selected by the mouse.", "link": "https://extensions.gnome.org/extension/4789/compare-filedir-from-clip/", "shell_version_map": {"40": {"version": "6", "sha256": "0j2q9msah4g0xl7jnjcf8bc8lbn3is76577f7qwflhv3j3y7q1j6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkgdHdvIERpcnMvRmlsZXMgbmFtZXMgZnJvbSBhbnl3aGVyZSBzdWNoIGFzIGBuYXV0aWx1c2Agb3IgYGdub21lLXRlcm1pbmFsYCwgYW5kIHRoZW4gY29tcGFyZSB0aGVtLiAgRGlycy9GaWxlcyBjb3BpZWQgdG8gdGhlIGBDTElQQk9BUkRgIGNhbiBvbmx5IGJlIHVzZWQgZm9yIGNvbXBhcmlzb24uIERpcnMvRmlsZXMgc2VsZWN0ZWQgdG8gdGhlIGBQUklNQVJZYCB3aXRoIG1vdXNlIGNhbiBiZSBvcGVuZWQgYnkgY2xpY2sgdGhlIG1lbnUgaXRlbS4gSXQgbmVlZHMgdG8gYmUgY29waWVkIHR3aWNlLiBPbmx5IG9uZSBmaWxlIG9yIGRpcmVjdG9yeSBjYW4gYmUgY29waWVkIGVhY2ggdGltZSwgb3RoZXJ3aXNlIHRoZSBjb3B5IGlzIGludmFsaWQuIE1lbGQgbXVzdCBiZSBpbnN0YWxsZWQuIFRoZSBob3RrZXkgYGN0cmwtb2AgY2FuIG9wZW4gdGhlIGxhc3QgZmlsZSBzZWxlY3RlZCBieSB0aGUgbW91c2UuIiwKICAibmFtZSI6ICJDb3B5IDIgQ29tcGFyZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvbXBhcmUiLAogICJ1dWlkIjogImNvbXBhcmVAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0j2q9msah4g0xl7jnjcf8bc8lbn3is76577f7qwflhv3j3y7q1j6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkgdHdvIERpcnMvRmlsZXMgbmFtZXMgZnJvbSBhbnl3aGVyZSBzdWNoIGFzIGBuYXV0aWx1c2Agb3IgYGdub21lLXRlcm1pbmFsYCwgYW5kIHRoZW4gY29tcGFyZSB0aGVtLiAgRGlycy9GaWxlcyBjb3BpZWQgdG8gdGhlIGBDTElQQk9BUkRgIGNhbiBvbmx5IGJlIHVzZWQgZm9yIGNvbXBhcmlzb24uIERpcnMvRmlsZXMgc2VsZWN0ZWQgdG8gdGhlIGBQUklNQVJZYCB3aXRoIG1vdXNlIGNhbiBiZSBvcGVuZWQgYnkgY2xpY2sgdGhlIG1lbnUgaXRlbS4gSXQgbmVlZHMgdG8gYmUgY29waWVkIHR3aWNlLiBPbmx5IG9uZSBmaWxlIG9yIGRpcmVjdG9yeSBjYW4gYmUgY29waWVkIGVhY2ggdGltZSwgb3RoZXJ3aXNlIHRoZSBjb3B5IGlzIGludmFsaWQuIE1lbGQgbXVzdCBiZSBpbnN0YWxsZWQuIFRoZSBob3RrZXkgYGN0cmwtb2AgY2FuIG9wZW4gdGhlIGxhc3QgZmlsZSBzZWxlY3RlZCBieSB0aGUgbW91c2UuIiwKICAibmFtZSI6ICJDb3B5IDIgQ29tcGFyZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvbXBhcmUiLAogICJ1dWlkIjogImNvbXBhcmVAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"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": "2", "sha256": "0isqynyrc7w4wzh5vz5s95mmpk9w9vvgjp7javsv98yi4syqgh3v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAibmFtZSI6ICJGcmVxdWVuY3kgQm9vc3QgU3dpdGNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZyZXEtYm9vc3Qtc3dpdGNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ldGFsMDMzMjYvZ25vbWUtZnJlcXVlbmN5LWJvb3N0LXN3aXRjaCIsCiAgInV1aWQiOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"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 permits configuration of the radius, background-color and opacity of the corners.\n\nIt also adds rounded corners to the bottom of the screen and on multiple monitors, thanks to https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1328 from Alexander Mikhaylenko!", "link": "https://extensions.gnome.org/extension/4805/panel-corners/", "shell_version_map": {"40": {"version": "2", "sha256": "1f5s5m11i6mi9jzsx1wxfpc4anp4ricamrcnanklb78zfd8wgbc6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgcGVybWl0cyBjb25maWd1cmF0aW9uIG9mIHRoZSByYWRpdXMsIGJhY2tncm91bmQtY29sb3IgYW5kIG9wYWNpdHkgb2YgdGhlIGNvcm5lcnMuXG5cbkl0IGFsc28gYWRkcyByb3VuZGVkIGNvcm5lcnMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIGFuZCBvbiBtdWx0aXBsZSBtb25pdG9ycywgdGhhbmtzIHRvIGh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC8tL21lcmdlX3JlcXVlc3RzLzEzMjggZnJvbSBBbGV4YW5kZXIgTWlraGF5bGVua28hIiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1f5s5m11i6mi9jzsx1wxfpc4anp4ricamrcnanklb78zfd8wgbc6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgcGVybWl0cyBjb25maWd1cmF0aW9uIG9mIHRoZSByYWRpdXMsIGJhY2tncm91bmQtY29sb3IgYW5kIG9wYWNpdHkgb2YgdGhlIGNvcm5lcnMuXG5cbkl0IGFsc28gYWRkcyByb3VuZGVkIGNvcm5lcnMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIGFuZCBvbiBtdWx0aXBsZSBtb25pdG9ycywgdGhhbmtzIHRvIGh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC8tL21lcmdlX3JlcXVlc3RzLzEzMjggZnJvbSBBbGV4YW5kZXIgTWlraGF5bGVua28hIiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "WhatWatch@Zappo-II.github.io", "name": "What Watch", "pname": "what-watch", "description": "Shows a customizeable analog desktop clock.", "link": "https://extensions.gnome.org/extension/4806/what-watch/", "shell_version_map": {"41": {"version": "2", "sha256": "16njsy8sy191zx1abnhxrrfys1nagkf3chj29557fx2ai3aymw7d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgY3VzdG9taXplYWJsZSBhbmFsb2cgZGVza3RvcCBjbG9jay4iLAogICJuYW1lIjogIldoYXQgV2F0Y2giLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuemFwcG9paS53aGF0d2F0Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWmFwcG8tSUkvV2hhdFdhdGNoIiwKICAidXVpZCI6ICJXaGF0V2F0Y2hAWmFwcG8tSUkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"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 a folder location where wallpapers are stored. Option to change wallpaper randomly or sequentially.", "link": "https://extensions.gnome.org/extension/4812/wallpaper-switcher/", "shell_version_map": {"38": {"version": "1", "sha256": "048zd332hdybwddlzxczbpdm9x231cqiqgdhmisx6f1n02qjdn0z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2VzIGEgZm9sZGVyIGxvY2F0aW9uIHdoZXJlIHdhbGxwYXBlcnMgYXJlIHN0b3JlZC4gT3B0aW9uIHRvIGNoYW5nZSB3YWxscGFwZXIgcmFuZG9tbHkgb3Igc2VxdWVudGlhbGx5LiIsCiAgIm5hbWUiOiAiV2FsbHBhcGVyIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yaXNodWluZmluaXR5L1dhbGxwYXBlclN3aXRjaGVyIiwKICAidXVpZCI6ICJXYWxscGFwZXJTd2l0Y2hlckBSaXNodSIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "048zd332hdybwddlzxczbpdm9x231cqiqgdhmisx6f1n02qjdn0z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2VzIGEgZm9sZGVyIGxvY2F0aW9uIHdoZXJlIHdhbGxwYXBlcnMgYXJlIHN0b3JlZC4gT3B0aW9uIHRvIGNoYW5nZSB3YWxscGFwZXIgcmFuZG9tbHkgb3Igc2VxdWVudGlhbGx5LiIsCiAgIm5hbWUiOiAiV2FsbHBhcGVyIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yaXNodWluZmluaXR5L1dhbGxwYXBlclN3aXRjaGVyIiwKICAidXVpZCI6ICJXYWxscGFwZXJTd2l0Y2hlckBSaXNodSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "048zd332hdybwddlzxczbpdm9x231cqiqgdhmisx6f1n02qjdn0z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2VzIGEgZm9sZGVyIGxvY2F0aW9uIHdoZXJlIHdhbGxwYXBlcnMgYXJlIHN0b3JlZC4gT3B0aW9uIHRvIGNoYW5nZSB3YWxscGFwZXIgcmFuZG9tbHkgb3Igc2VxdWVudGlhbGx5LiIsCiAgIm5hbWUiOiAiV2FsbHBhcGVyIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yaXNodWluZmluaXR5L1dhbGxwYXBlclN3aXRjaGVyIiwKICAidXVpZCI6ICJXYWxscGFwZXJTd2l0Y2hlckBSaXNodSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 ]
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index a08af5734e47..1ed840670643 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/default.nix
index 759deb98b19d..381a82e5bdf0 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-pop-shell";
-  version = "unstable-2021-11-30";
+  version = "unstable-2022-01-14";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = "shell";
-    rev = "4b65ee865d01436ec75a239a0586a2fa6051b8c3";
-    sha256 = "DHmp3kzBgbyxRe0TjER/CAqyUmD9LeRqAFQ9apQDzfk=";
+    rev = "21745c4a8076ad52c9ccc77ca5726f5c7b83de6c";
+    sha256 = "sha256-d6NRNbTimwtGVLhcpdFD1AuignVii/xi3YtMWzkS/v0=";
   };
 
   nativeBuildInputs = [ glib nodePackages.typescript gjs ];
@@ -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/nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch b/nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
index e1e6fb7a839a..2f2a0bcfd094 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix
index 19936f6be61d..5f7dc7b06a36 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-taskwhisperer";
-  version = "16";
+  version = "20";
 
   src = fetchFromGitHub {
     owner = "cinatic";
     repo = "taskwhisperer";
     rev = "v${version}";
-    sha256 = "05w2dfpr5vrydb7ij4nd2gb7c31nxix3j48rb798r4jzl1rakyah";
+    sha256 = "sha256-UVBLFXsbOPRXC4P5laZ82Rs08yXnNnzJ+pp5fbx6Zqc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch
index 2ea54f4b0897..0e3ea668a8a1 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch
@@ -1,99 +1,99 @@
-diff --git a/taskwhisperer-extension@infinicode.de/extra/create.sh b/taskwhisperer-extension@infinicode.de/extra/create.sh
-index a69e369..35d5ea1 100755
---- a/taskwhisperer-extension@infinicode.de/extra/create.sh
-+++ b/taskwhisperer-extension@infinicode.de/extra/create.sh
-@@ -1 +1 @@
--bash -c "task add $1"
-+bash -c "@task@ add $1"
-diff --git a/taskwhisperer-extension@infinicode.de/extra/modify.sh b/taskwhisperer-extension@infinicode.de/extra/modify.sh
-index 7964a26..8edd21b 100755
---- a/taskwhisperer-extension@infinicode.de/extra/modify.sh
-+++ b/taskwhisperer-extension@infinicode.de/extra/modify.sh
-@@ -1 +1 @@
--bash -c "task $1 modify $2"
-+bash -c "@task@ $1 modify $2"
-diff --git a/taskwhisperer-extension@infinicode.de/taskService.js b/taskwhisperer-extension@infinicode.de/taskService.js
-index ead7a12..aa36db4 100644
---- a/taskwhisperer-extension@infinicode.de/taskService.js
-+++ b/taskwhisperer-extension@infinicode.de/taskService.js
-@@ -182,7 +182,7 @@ const TaskService = class TaskService {
- 
-         let project = projectName ? "project:" + projectName : "";
- 
--        let command = ['task', 'rc.json.array=on', status, project, 'export'];
-+        let command = ['@task@', 'rc.json.array=on', status, project, 'export'];
-         let reader = new SpawnReader.SpawnReader();
- 
-         let buffer = "";
-@@ -220,7 +220,7 @@ const TaskService = class TaskService {
-                 break;
-         }
- 
--        let shellProc = Gio.Subprocess.new(['task', status, 'projects'], Gio.SubprocessFlags.STDOUT_PIPE);
-+        let shellProc = Gio.Subprocess.new(['@task@', status, 'projects'], Gio.SubprocessFlags.STDOUT_PIPE);
- 
-         shellProc.wait_async(null, function (obj, result) {
-             let shellProcExited = true;
-@@ -261,7 +261,7 @@ const TaskService = class TaskService {
-             return;
-         }
- 
--        let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'done'], Gio.SubprocessFlags.STDOUT_PIPE);
-+        let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'done'], Gio.SubprocessFlags.STDOUT_PIPE);
- 
-         shellProc.wait_async(null, function (obj, result) {
-             let shellProcExited = true;
-@@ -290,7 +290,7 @@ const TaskService = class TaskService {
-             return;
-         }
- 
--        let shellProc = Gio.Subprocess.new(['task', 'modify', taskID.toString(), 'status:pending'], Gio.SubprocessFlags.STDOUT_PIPE);
-+        let shellProc = Gio.Subprocess.new(['@task@', 'modify', taskID.toString(), 'status:pending'], Gio.SubprocessFlags.STDOUT_PIPE);
- 
-         shellProc.wait_async(null, function (obj, result) {
-             let shellProcExited = true;
-@@ -318,7 +318,7 @@ const TaskService = class TaskService {
-         if (!taskID) {
-             return;
-         }
--        let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'start'], Gio.SubprocessFlags.STDOUT_PIPE);
-+        let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'start'], Gio.SubprocessFlags.STDOUT_PIPE);
-         shellProc.wait_async(null, function (obj, result) {
-             let shellProcExited = true;
-             shellProc.wait_finish(result);
-@@ -344,7 +344,7 @@ const TaskService = class TaskService {
-         if (!taskID) {
-             return;
-         }
--        let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'stop'], Gio.SubprocessFlags.STDOUT_PIPE);
-+        let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'stop'], Gio.SubprocessFlags.STDOUT_PIPE);
-         shellProc.wait_async(null, function (obj, result) {
-             let shellProcExited = true;
-             shellProc.wait_finish(result);
-@@ -374,7 +374,7 @@ const TaskService = class TaskService {
-         // FIXME: Gio.Subprocess: due to only passing string vector is allowed, it's not possible to directly pass the
-         //        input of the user to subprocess (why & how, if you can answer then please send msg to fh@infinicode.de)
-         //        bypassing problem with own shell script
--        let shellProc = Gio.Subprocess.new(['/bin/sh', EXTENSIONDIR + '/extra/modify.sh', taskID.toString(), params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE);
-+        let shellProc = Gio.Subprocess.new(['@shell@', EXTENSIONDIR + '/extra/modify.sh', taskID.toString(), params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE);
- 
-         shellProc.wait_async(null, function (obj, result) {
-             let shellProcExited = true;
-@@ -403,7 +403,7 @@ const TaskService = class TaskService {
-         // FIXME: Gio.Subprocess: due to only passing string vector is allowed, it's not possible to directly pass the
-         //        input of the user to subprocess (why & how, if you can answer then please send msg to fh@infinicode.de)
-         //        bypassing problem with own shell script
--        let shellProc = Gio.Subprocess.new(['/bin/sh', EXTENSIONDIR + '/extra/create.sh', params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE);
-+        let shellProc = Gio.Subprocess.new(['@shell@', EXTENSIONDIR + '/extra/create.sh', params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE);
- 
-         shellProc.wait_async(null, function (obj, result) {
-             let shellProcExited = true;
-@@ -432,7 +432,7 @@ const TaskService = class TaskService {
-         let shellProc;
- 
-         try {
--            shellProc = Gio.Subprocess.new(['task', 'sync'], Gio.SubprocessFlags.STDOUT_PIPE);
-+            shellProc = Gio.Subprocess.new(['@task@', 'sync'], Gio.SubprocessFlags.STDOUT_PIPE);
-         } catch (err) {
-             onError(err);
-             return;
+diff --git a/taskwhisperer-extension@infinicode.de/metadata.json b/taskwhisperer-extension@infinicode.de/metadata.json
+index 2f1471c..a84bdf4 100644
+--- a/taskwhisperer-extension@infinicode.de/metadata.json
++++ b/taskwhisperer-extension@infinicode.de/metadata.json
+@@ -6,7 +6,8 @@
+     "3.32",
+     "3.36",
+     "3.38",
+-    "40"
++    "40",
++    "41"
+   ],
+   "url": "https://github.com/cinatic/taskwhisperer",
+   "uuid": "taskwhisperer-extension@infinicode.de",
+diff --git a/taskwhisperer-extension@infinicode.de/services/taskService.js b/taskwhisperer-extension@infinicode.de/services/taskService.js
+index df09cdf..df68c60 100644
+--- a/taskwhisperer-extension@infinicode.de/services/taskService.js
++++ b/taskwhisperer-extension@infinicode.de/services/taskService.js
+@@ -63,7 +63,7 @@ var loadTaskData = async ({ taskStatus, project, taskOrder }) => {
+ 
+   await syncTasks()
+ 
+-  const command = ['task', 'rc.json.array=on', statusFilter, projectFilter, 'export'].join(' ')
++  const command = ['@task@', 'rc.json.array=on', statusFilter, projectFilter, 'export'].join(' ')
+ 
+   let { output, error } = await run({ command })
+ 
+@@ -110,7 +110,7 @@ var loadProjectsData = async taskStatus => {
+ 
+   await syncTasks()
+ 
+-  const command = ['task', 'rc.json.array=on', statusFilter, 'export'].join(' ')
++  const command = ['@task@', 'rc.json.array=on', statusFilter, 'export'].join(' ')
+   const { output: allTheTasks } = await run({ command })
+ 
+   let sortedUniqueProjects = []
+@@ -129,7 +129,7 @@ var setTaskDone = async taskID => {
+     return
+   }
+ 
+-  const command = ['task', taskID.toString(), 'done'].join(' ')
++  const command = ['@task@', taskID.toString(), 'done'].join(' ')
+   const result = await run({ command, asJson: false })
+ 
+   if (!result.error) {
+@@ -146,7 +146,7 @@ var setTaskUndone = async taskUUID => {
+     return
+   }
+ 
+-  const command = ['task', `uuid:${taskUUID}`, 'modify', 'status:pending'].join(' ')
++  const command = ['@task@', `uuid:${taskUUID}`, 'modify', 'status:pending'].join(' ')
+   const result = await run({ command, asJson: false })
+ 
+   if (!result.error) {
+@@ -163,7 +163,7 @@ var startTask = async taskID => {
+     return
+   }
+ 
+-  const command = ['task', taskID.toString(), 'start'].join(' ')
++  const command = ['@task@', taskID.toString(), 'start'].join(' ')
+   const result = await run({ command, asJson: false })
+ 
+   if (!result.error) {
+@@ -180,7 +180,7 @@ var stopTask = async taskID => {
+     return
+   }
+ 
+-  const command = ['task', taskID.toString(), 'stop'].join(' ')
++  const command = ['@task@', taskID.toString(), 'stop'].join(' ')
+   const result = await run({ command, asJson: false })
+ 
+   if (!result.error) {
+@@ -195,7 +195,7 @@ var stopTask = async taskID => {
+ var createTask = async task => {
+   const params = _convertTaskToParams(task)
+ 
+-  const command = ['task', 'add', ...params].join(' ')
++  const command = ['@task@', 'add', ...params].join(' ')
+   const result = await run({ command, asJson: false })
+ 
+   if (!result.error) {
+@@ -212,7 +212,7 @@ var modifyTask = async (taskUUID, task) => {
+ 
+   const params = _convertTaskToParams(task)
+ 
+-  const command = ['task', `uuid:${taskUUID}`, 'modify', ...params].join(' ')
++  const command = ['@task@', `uuid:${taskUUID}`, 'modify', ...params].join(' ')
+   const result = await run({ command, asJson: false })
+ 
+   if (!result.error) {
+@@ -227,7 +227,7 @@ var syncTasks = async () => {
+     return
+   }
+ 
+-  const command = ['task', 'sync'].join(' ')
++  const command = ['@task@', 'sync'].join(' ')
+   const result = await run({ command, asJson: false })
+ 
+   _showProcessErrorNotificationIfError(result, 'Sync Tasks')
diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-2048/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-2048/default.nix
new file mode 100644
index 000000000000..bba3000b7f21
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-2048/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchurl
+, wrapGAppsHook
+, meson
+, vala
+, pkg-config
+, ninja
+, itstool
+, clutter-gtk
+, libgee
+, gnome
+, gtk3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-twenty-forty-eight";
+  version = "3.38.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-2048/${lib.versions.majorMinor version}/gnome-2048-${version}.tar.xz";
+    sha256 = "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2";
+  };
+
+  nativeBuildInputs = [
+    itstool
+    meson
+    ninja
+    pkg-config
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    clutter-gtk
+    libgee
+    gnome.libgnome-games-support
+    gtk3
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = "gnome-2048";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://wiki.gnome.org/Apps/2048";
+    description = "Obtain the 2048 tile";
+    maintainers = teams.gnome.members;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
index a940a6f2cd63..936fe62c259b 100644
--- a/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tali";
-  version = "40.4";
+  version = "40.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "AsrMdvTuQjD2eqAK2hlOnFSPidJ6DnLyANi9U67nGhc=";
+    sha256 = "Y6CcVeRqGhl1a/XglXyvmUMA+tq9umvaYC5mjfzfcSI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gitg/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/gitg/default.nix
index 8f73bdaeb7da..e29464556ec0 100644
--- a/nixpkgs/pkgs/desktops/gnome/misc/gitg/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/misc/gitg/default.nix
@@ -12,11 +12,11 @@
 , bash
 , gobject-introspection
 , libsoup
-, gtksourceview
+, gtksourceview4
 , gsettings-desktop-schemas
 , adwaita-icon-theme
 , gnome
-, gtkspell3
+, gspell
 , shared-mime-info
 , libgee
 , libgit2-glib
@@ -29,11 +29,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gitg";
-  version = "3.32.1";
+  version = "41";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914";
+    sha256 = "f7Ybn7EPuqVI0j1wZbq9cq1j5iHeVYQMBlzm45hsRik=";
   };
 
   nativeBuildInputs = [
@@ -52,8 +52,8 @@ stdenv.mkDerivation rec {
     glib
     gsettings-desktop-schemas
     gtk3
-    gtksourceview
-    gtkspell3
+    gtksourceview4
+    gspell
     json-glib
     libdazzle
     libgee
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
index 526e6776f7f2..683b5c22626f 100644
--- a/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-autoar";
-  version = "0.4.1";
+  version = "0.4.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "ZGvVDrrZLZHBvokJehU2QVYVdELKwUcd7X7LJ9mpFQ4=";
+    sha256 = "e98HiVU0lqvdw8ljsM5zY4BcDALAJf7d68qsx4cknog=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gpaste/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/gpaste/default.nix
index 83928c04827b..bdaeb47ab233 100644
--- a/nixpkgs/pkgs/desktops/gnome/misc/gpaste/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnustep/base/default.nix b/nixpkgs/pkgs/desktops/gnustep/base/default.nix
index 4fe005c3749e..2c28b3a0bb60 100644
--- a/nixpkgs/pkgs/desktops/gnustep/base/default.nix
+++ b/nixpkgs/pkgs/desktops/gnustep/base/default.nix
@@ -2,6 +2,7 @@
 , gsmakeDerivation
 , cups
 , fetchzip
+, fetchpatch
 , gmp, gnutls
 , libffi, binutils-unwrapped
 , libjpeg, libtiff, libpng, giflib
@@ -33,6 +34,12 @@ gsmakeDerivation rec {
   ];
   patches = [
     ./fixup-paths.patch
+    # https://github.com/gnustep/libs-base/issues/212 / https://www.sogo.nu/bugs/view.php?id=5416#c15585
+    (fetchpatch {
+      url = "https://github.com/gnustep/libs-base/commit/bd5f2909e6edc8012a0a6e44ea1402dfbe1353a4.patch";
+      revert = true;
+      sha256 = "02awigkbhqa60hfhqfh2wjsa960y3q6557qck1k2l231piz2xasa";
+    })
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/desktops/gnustep/gworkspace/default.nix b/nixpkgs/pkgs/desktops/gnustep/gworkspace/default.nix
index d5018a4350f8..cdc6612d1c06 100644
--- a/nixpkgs/pkgs/desktops/gnustep/gworkspace/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
index d46e8e05e09b..85fd5aa70343 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -13,6 +13,7 @@
 , libkscreen
 , liblxqt
 , libqtxdg
+, xkeyboard_config
 , xorg
 , lxqtUpdateScript
 }:
@@ -57,6 +58,10 @@ mkDerivation rec {
     substituteInPlace lxqt-config-appearance/configothertoolkits.cpp \
       --replace 'QStringLiteral("gsettings' \
                 'QStringLiteral("${glib.bin}/bin/gsettings'
+
+    substituteInPlace lxqt-config-input/keyboardlayoutconfig.h \
+      --replace '/usr/share/X11/xkb/rules/base.lst' \
+                '${xkeyboard_config}/share/X11/xkb/rules/base.lst'
   '';
 
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index 13983bb0881d..2f3afec364fe 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-globalkeys";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "015nrlzlcams4k8svrq7692xbjlai1dmwvjdldncsbrgrmfa702m";
+    sha256 = "ccvDcEstSUVvJ7gf0bsCxCPPMRXSkZh+tKOKWNnzMt4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
index cbda2a7185af..bfed8bb13e7b 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -19,13 +19,13 @@
 
 mkDerivation rec {
   pname = "lxqt-session";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0g355dmlyz8iljw953gp5jqlz02abd1ksssah826hxcy4j89mk7s";
+    sha256 = "6/HTCngjz0GpNAYf66CUiCZtEs5EsBbjDjcObIe3qSk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
index 7c1be60b20db..3a2f57a86270 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
-  version = "1.26.1";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "038irkjl9ap7kqacf1c0i74h0rwkcpaw685vyml50vj5hg23hc38";
+    sha256 = "rsT5jInFnnbMBlbtBILx2CkS9N7MZg8hyNAE5JPgVBA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix b/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
index e379f5369f5b..ebac46692c01 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
@@ -15,13 +15,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mate-tweak";
-  version = "21.10.0";
+  version = "22.04.1";
 
   src = fetchFromGitHub {
     owner = "ubuntu-mate";
     repo = pname;
     rev = version;
-    sha256 = "0m61p6idajsrrbjps7s1pnl6nfzwpy7j6l9bdhqi9gaaij687shn";
+    sha256 = "FcXJc8tlpP9RCrO6EVGvHPFF6qXorImzi9UccgZU+co=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch
deleted file mode 100644
index bd519c292c26..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
index bdc2fbca591a..d62141ece2bd 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -5,7 +5,6 @@
 , appstream-glib
 , dbus
 , desktop-file-utils
-, elementary-gtk-theme
 , elementary-icon-theme
 , fetchFromGitHub
 , flatpak
@@ -39,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
@@ -61,7 +53,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     appstream
-    elementary-gtk-theme
     elementary-icon-theme
     flatpak
     glib
@@ -79,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/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index 115622e81435..2356d362f6b6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
index 019e2cf5a242..70b092d3f2c3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
@@ -2,41 +2,37 @@
 , stdenv
 , fetchFromGitHub
 , nix-update-script
-, pkg-config
+, appstream-glib
+, desktop-file-utils
 , meson
 , ninja
+, pkg-config
+, python3
 , vala
-, desktop-file-utils
-, gtk3
-, granite
-, libgee
-, libhandy
-, geoclue2
-, libchamplain
+, wrapGAppsHook
 , clutter
+, elementary-icon-theme
+, evolution-data-server
 , folks
+, geoclue2
 , geocode-glib
-, python3
-, libnotify
+, granite
+, gtk3
+, libchamplain
+, libgee
+, libhandy
 , libical
-, libgdata
-, evolution-data-server
-, appstream-glib
-, elementary-icon-theme
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-calendar";
-  version = "6.0.3";
-
-  repoName = "calendar";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "calendar";
     rev = version;
-    sha256 = "sha256-+RQUiJLuCIbmcbtsOCfF9HYFrxtldZMbg2vg/a/IOaY=";
+    sha256 = "sha256-LaVJ7QLc0UdSLgLIuHP4Anc7kPUelZW9PnIWuqKGtEQ=";
   };
 
   nativeBuildInputs = [
@@ -63,8 +59,6 @@ stdenv.mkDerivation rec {
     libgee
     libhandy
     libical
-    libnotify
-    libgdata # required by some dependency transitively
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
index 932b54e82b67..94bbc69047dd 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
@@ -1,26 +1,26 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
-, pkg-config
-, meson
-, ninja
-, vala
+, appstream
 , desktop-file-utils
-, python3
 , gettext
 , libxml2
-, gtk3
+, meson
+, ninja
+, pkg-config
+, python3
+, vala
+, wrapGAppsHook
+, elementary-icon-theme
+, glib
 , granite
-, libgee
-, libhandy
 , gst_all_1
+, gtk3
 , libcanberra
-, clutter-gtk
-, clutter-gst
-, elementary-icon-theme
-, appstream
-, wrapGAppsHook
+, libgee
+, libhandy
 }:
 
 stdenv.mkDerivation rec {
@@ -34,6 +34,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-xIv+mOlZV58XD0Z6Vc2wA1EQUxT5BaQ0zhYc9v+ne1w=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://github.com/elementary/camera/pull/216
+    (fetchpatch {
+      url = "https://github.com/elementary/camera/commit/ead143b7e3246c5fa9bb37c95d491fb07cea9e04.patch";
+      sha256 = "sha256-2zGigUi6DpjJx8SEvAE3Q3jrm7MggOvLc72lAPMPvs4=";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
@@ -48,19 +57,22 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    clutter-gst
-    clutter-gtk
     elementary-icon-theme
+    glib
     granite
-    gst_all_1.gst-plugins-bad
-    gst_all_1.gst-plugins-base
-    (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
-    gst_all_1.gstreamer
     gtk3
     libcanberra
     libgee
     libhandy
-  ];
+  ] ++ (with gst_all_1; [
+    gst-plugins-bad
+    gst-plugins-base
+    # gtkSupport needed for gtksink
+    # https://github.com/elementary/camera/issues/181
+    (gst-plugins-good.override { gtkSupport = true; })
+    gst-plugins-ugly
+    gstreamer
+  ]);
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index f83839f6c92c..4087168feb06 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -1,30 +1,30 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
-, pkg-config
+, appstream
+, desktop-file-utils
 , meson
 , ninja
-, vala
+, pkg-config
+, polkit
 , python3
-, desktop-file-utils
-, gtk3
+, vala
+, wrapGAppsHook
+, editorconfig-core-c
+, elementary-icon-theme
 , granite
+, gtk3
+, gtksourceview4
+, gtkspell3
 , libgee
+, libgit2-glib
 , libhandy
-, elementary-icon-theme
-, appstream
 , libpeas
-, editorconfig-core-c
-, gtksourceview4
-, gtkspell3
 , libsoup
 , vte
-, webkitgtk
 , ctags
-, libgit2-glib
-, wrapGAppsHook
-, polkit
 }:
 
 stdenv.mkDerivation rec {
@@ -38,11 +38,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-AXmMcPj2hf33G5v3TUg+eZwaKOdVlRvoVXglMJFHRjw=";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    # Fix build with meson 0.61
+    # https://github.com/elementary/code/pull/1165
+    (fetchpatch {
+      url = "https://github.com/elementary/code/commit/a2607cce3a6b1bb62d02456456d3cbc3c6530bb0.patch";
+      sha256 = "sha256-VKR83IOUYsQhBRlU9JUTlMJtXWv/AyG4wDsjMU2vmU8=";
+    })
+  ];
 
   nativeBuildInputs = [
     appstream
@@ -57,7 +60,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    ctags
     editorconfig-core-c
     elementary-icon-theme
     granite
@@ -70,7 +72,6 @@ stdenv.mkDerivation rec {
     libpeas
     libsoup
     vte
-    webkitgtk
   ];
 
   # ctags needed in path by outline plugin
@@ -85,6 +86,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Code editor designed for elementary OS";
     homepage = "https://github.com/elementary/code";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
index 8a9256f2a615..6d9fe808d8d3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
@@ -14,7 +14,6 @@
 , libgee
 , libhandy
 , elementary-icon-theme
-, elementary-gtk-theme
 , gettext
 , wrapGAppsHook
 , appstream
@@ -24,11 +23,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-feedback";
   version = "6.1.0";
 
-  repoName = "feedback";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "feedback";
     rev = version;
     sha256 = "02wydbpa5qaa4xmmh4m7rbj4djbrn2i44zjakj5i6mzwjlj6sv5n";
   };
@@ -42,12 +39,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     gettext
     meson
@@ -63,7 +54,6 @@ stdenv.mkDerivation rec {
     elementary-icon-theme
     granite
     gtk3
-    elementary-gtk-theme
     libgee
     libhandy
     glib
@@ -74,6 +64,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "GitHub Issue Reporter designed for elementary OS";
     homepage = "https://github.com/elementary/feedback";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index 21e25bad9451..4314e74d5af8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -20,7 +20,6 @@
 , elementary-dock
 , bamf
 , sqlite
-, libdbusmenu-gtk3
 , zeitgeist
 , glib-networking
 , elementary-icon-theme
@@ -32,7 +31,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-files";
-  version = "6.1.1";
+  version = "6.1.2";
 
   outputs = [ "out" "dev" ];
 
@@ -40,7 +39,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = "files";
     rev = version;
-    sha256 = "sha256-5TSzV8MQG81aCCR8yiCPhKJaLrp/fwf4mjP32KkcbbY=";
+    sha256 = "sha256-g9g4wJXjjudk4Qt96XGUiV/X86Ae2lqhM+psh9h+XFE=";
   };
 
   nativeBuildInputs = [
@@ -64,7 +63,6 @@ stdenv.mkDerivation rec {
     gtk3
     libcanberra
     libcloudproviders
-    libdbusmenu-gtk3
     libgee
     libgit2-glib
     libhandy
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
index 90058633e907..2963f98db40b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-mail";
-  version = "6.3.1";
+  version = "6.4.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "mail";
     rev = version;
-    sha256 = "sha256-wOu9jvvwG53vzcNa38nk4eREZWW7Cin8el4qApQ8gI8=";
+    sha256 = "sha256-ooqVNMgeAqGlFcfachPPfhSiKTEEcNGv5oWdM7VLWOc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
index bee11ed055bc..843830427761 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
@@ -3,42 +3,34 @@
 , fetchFromGitHub
 , fetchpatch
 , nix-update-script
-, pkg-config
+, desktop-file-utils
 , meson
 , ninja
+, pkg-config
+, python3
 , vala
-, desktop-file-utils
-, gtk3
+, wrapGAppsHook
+, elementary-icon-theme
+, glib
 , granite
-, python3
-, libgee
-, clutter-gtk
-, json-glib
+, gst_all_1
+, gtk3
 , libgda
+, libgee
 , libgpod
 , libhandy
-, libnotify
 , libpeas
-, libsoup
-, zeitgeist
-, gst_all_1
 , taglib
-, libdbusmenu
-, libsignon-glib
-, libaccounts-glib
-, elementary-icon-theme
-, wrapGAppsHook
+, zeitgeist
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-music";
   version = "5.1.1";
 
-  repoName = "music";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "music";
     rev = version;
     sha256 = "1wqsn4ss9acg0scaqpg514ll2dj3bl71wly4mm79qkinhy30yv9n";
   };
@@ -50,14 +42,14 @@ stdenv.mkDerivation rec {
       url = "https://github.com/elementary/music/commit/aea97103d59afd213467403a48788e476e47c4c3.patch";
       sha256 = "1ayj8l6lb19hhl9bhsdfbq7jgchfmpjx0qkljnld90czcksn95yx";
     })
+    # Fix build with meson 0.61
+    # https://github.com/elementary/music/pull/674
+    (fetchpatch {
+      url = "https://github.com/elementary/music/commit/fb3d840049c1e2e0bf8fdddea378a2db647dd096.patch";
+      sha256 = "sha256-tQZv7hZExLqbkGXahZxDfg7bkgwCKYbDholC2zuwlNw=";
+    })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     desktop-file-utils
     meson
@@ -68,40 +60,37 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
-  buildInputs = with gst_all_1; [
-    clutter-gtk
+  buildInputs = [
     elementary-icon-theme
+    glib
     granite
-    gst-plugins-bad
-    gst-plugins-base
-    gst-plugins-good
-    gst-plugins-ugly
-    gstreamer
     gtk3
-    json-glib
-    libaccounts-glib
-    libdbusmenu
     libgda
     libgee
     libgpod
     libhandy
-    libnotify
     libpeas
-    libsignon-glib
-    libsoup
     taglib
     zeitgeist
-  ];
-
-  mesonFlags = [
-    "-Dplugins=audioplayer,cdrom,ipod"
-  ];
+  ] ++ (with gst_all_1; [
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-ugly
+    gstreamer
+  ]);
 
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Music player and library designed for elementary OS";
     homepage = "https://github.com/elementary/music";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index ca7b6fd3a7d1..1ff9157b301b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -8,7 +8,6 @@
 , vala
 , desktop-file-utils
 , gtk3
-, libaccounts-glib
 , libexif
 , libgee
 , libhandy
@@ -24,7 +23,6 @@
 , libsoup
 , sqlite
 , python3
-, scour
 , webkitgtk
 , libwebp
 , appstream
@@ -34,15 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-photos";
-  version = "2.7.3";
-
-  repoName = "photos";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "photos";
     rev = version;
-    sha256 = "sha256-ja4ElW0FNm9oNyn+00SdI2Cxep6LyWTYM8Blc6bnuiY=";
+    sha256 = "sha256-NhF/WgS6IOwgALSCNyFNxz8ROVTb+mUX+lBtnWEyhEI=";
   };
 
   nativeBuildInputs = [
@@ -56,19 +52,13 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
-  buildInputs = with gst_all_1; [
+  buildInputs = [
     elementary-icon-theme
     geocode-glib
     gexiv2
     granite
-    gst-plugins-bad
-    gst-plugins-base
-    gst-plugins-good
-    gst-plugins-ugly
-    gstreamer
     gtk3
     json-glib
-    libaccounts-glib
     libexif
     libgee
     libgphoto2
@@ -78,10 +68,15 @@ stdenv.mkDerivation rec {
     librest
     libsoup
     libwebp
-    scour
     sqlite
     webkitgtk
-  ];
+  ] ++ (with gst_all_1; [
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-ugly
+    gstreamer
+  ]);
 
   mesonFlags = [
     "-Dplugins=false"
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
index 176c2919be04..7629da0f734f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -28,6 +29,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-n+L08C/W5YnHZ5P3F1NGUYE2SH94sc4+kr1x+wXZ+cw=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://github.com/elementary/screenshot/pull/241
+    (fetchpatch {
+      url = "https://github.com/elementary/screenshot/commit/80a5d942e813dd098e1ef0f6629b81d2ccef05ae.patch";
+      sha256 = "sha256-jOQuzUJvsjqytplLcW9BeIxzi9+/k2GFa4hHVZ3+wts=";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     meson
@@ -61,7 +71,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Screenshot tool designed for elementary OS";
     homepage = "https://github.com/elementary/screenshot";
-    license = licenses.lgpl3;
+    license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = teams.pantheon.members;
     mainProgram = "io.elementary.screenshot";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix
index 7ef0efaa49f1..f220db8868de 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-tasks";
-  version = "6.1.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "tasks";
     rev = version;
-    sha256 = "sha256-Gt9Hp9m28QdAFnKIT1xcbiSM5cn6kW7wEXmi/iFfu8k=";
+    sha256 = "sha256-eHaWXntLkk5G+cR5uFwWsIvbSPsbrvpglYBh91ta/M0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index 4840f69e7cb4..e796a2a344a9 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -32,6 +33,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-4q7YQ4LxuiM/TRae1cc3ncmw7QwE1soC2Sh+GZ+Gpq0=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://github.com/elementary/terminal/pull/649
+    (fetchpatch {
+      url = "https://github.com/elementary/terminal/commit/15e3ace08cb25e53941249fa1ee680a1e2f871b4.patch";
+      sha256 = "sha256-XVs+kq5qbX5KlxtkqxwJnatNYNeJiVLBec7sLjQsUxg=";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
@@ -76,7 +86,7 @@ stdenv.mkDerivation rec {
       smart copy/paste, and little to no configuration.
     '';
     homepage = "https://github.com/elementary/terminal";
-    license = licenses.lgpl3;
+    license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = teams.pantheon.members;
     mainProgram = "io.elementary.terminal";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
index f7286c9108a6..cb1ea291225b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-videos";
-  version = "2.8.1";
+  version = "2.8.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "videos";
     rev = version;
-    sha256 = "sha256-Ki6i9u+oXOBTH+dVJ9RgBxszD7Wvdrfahd9abyjFYJY=";
+    sha256 = "sha256-3V8iDy68ngdFTJxAGimuGi4vPru32pHYevThA0RwNpE=";
   };
 
   nativeBuildInputs = [
@@ -40,21 +40,22 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
-  buildInputs = with gst_all_1; [
+  buildInputs = [
     clutter-gst
     clutter-gtk
     elementary-icon-theme
     granite
+    gtk3
+    libgee
+    libhandy
+  ] ++ (with gst_all_1; [
     gst-libav
     gst-plugins-bad
     gst-plugins-base
     gst-plugins-good
     gst-plugins-ugly
     gstreamer
-    gtk3
-    libgee
-    libhandy
-  ];
+  ]);
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
index a065966ba1e3..6069fb854781 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , desktop-file-utils
 , nix-update-script
-, elementary-gtk-theme
 , elementary-icon-theme
 , fetchFromGitHub
 , flatpak
@@ -32,12 +31,6 @@ stdenv.mkDerivation rec {
     sha256 = "0abpcawmmv5mgzk2i5n9rlairmjr2v9rg9b8c9g7xa085s496bi9";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     desktop-file-utils
     gettext
@@ -50,7 +43,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    elementary-gtk-theme
     elementary-icon-theme
     flatpak
     glib
@@ -66,6 +58,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/elementary/sideload";
     description = "Flatpak installer, designed for elementary OS";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
index bcb7c39d17b4..152026e17a21 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
@@ -40,12 +40,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -61,6 +55,12 @@ stdenv.mkDerivation rec {
     wingpanel-indicator-a11y
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Universal Access Plug";
     homepage = "https://github.com/elementary/switchboard-plug-a11y";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/add-wallpaper-option.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/add-wallpaper-option.patch
new file mode 100644
index 000000000000..657ea7a260c9
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/add-wallpaper-option.patch
@@ -0,0 +1,82 @@
+From cc47fa33893e6840463ef8d59f9f4de4b7563726 Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Sat, 4 Dec 2021 22:00:38 +0800
+Subject: [PATCH] Add meson option for overlaying logo on wallpaper
+
+---
+ meson.build                        | 8 ++++++++
+ meson_options.txt                  | 1 +
+ src/Views/OperatingSystemView.vala | 8 ++++++++
+ 3 files changed, 17 insertions(+)
+ create mode 100644 meson_options.txt
+
+diff --git a/meson.build b/meson.build
+index 2125de6e..cbe3cadd 100644
+--- a/meson.build
++++ b/meson.build
+@@ -20,6 +20,14 @@ add_project_arguments(
+ vapi_dir = join_paths(meson.current_source_dir(), 'vapi')
+ add_project_arguments(['--vapidir', vapi_dir], language: 'vala')
+ 
++vala_flags = []
++
++if get_option('wallpaper')
++    vala_flags += ['--define', 'WALLPAPER']
++endif
++
++add_project_arguments(vala_flags, language: 'vala')
++
+ subdir('data')
+ subdir('src')
+ subdir('po')
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 00000000..8cef0bb3
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1 @@
++option('wallpaper', type : 'boolean', value : true, description : 'Overlay logo on default wallpaper')
+diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala
+index fdb92e7e..6110d1aa 100644
+--- a/src/Views/OperatingSystemView.vala
++++ b/src/Views/OperatingSystemView.vala
+@@ -39,6 +39,7 @@ public class About.OperatingSystemView : Gtk.Grid {
+             logo_icon_name = "distributor-logo";
+         }
+ 
++#if WALLPAPER
+         var logo = new Hdy.Avatar (128, "", false) {
+             // In case the wallpaper can't be loaded, we don't want an icon or text
+             icon_name = "invalid-icon-name",
+@@ -53,6 +54,7 @@ public class About.OperatingSystemView : Gtk.Grid {
+             }
+         });
+         logo.get_style_context ().add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
++#endif
+ 
+         var icon = new Gtk.Image () {
+             icon_name = logo_icon_name + "-symbolic",
+@@ -64,9 +66,11 @@ public class About.OperatingSystemView : Gtk.Grid {
+         icon_style_context.add_class ("logo");
+         icon_style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+ 
++#if WALLPAPER
+         var logo_overlay = new Gtk.Overlay ();
+         logo_overlay.add (logo);
+         logo_overlay.add_overlay (icon);
++#endif
+ 
+         // Intentionally not using GLib.OsInfoKey.PRETTY_NAME here because we
+         // want more granular control over text formatting
+@@ -145,7 +149,11 @@ public class About.OperatingSystemView : Gtk.Grid {
+             valign = Gtk.Align.CENTER,
+             vexpand = true
+         };
++#if WALLPAPER
+         software_grid.attach (logo_overlay, 0, 0, 1, 4);
++#else
++        software_grid.attach (icon, 0, 0, 1, 4);
++#endif
+         software_grid.attach (title, 1, 0, 3);
+ 
+         software_grid.attach (kernel_version_label, 1, 2, 3);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index d48704736b1d..82eece370dd8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchFromGitHub
 , nix-update-script
-, substituteAll
 , meson
 , ninja
 , pkg-config
@@ -15,7 +14,6 @@
 , switchboard
 , fwupd
 , appstream
-, nixos-artwork
 }:
 
 stdenv.mkDerivation rec {
@@ -29,11 +27,12 @@ stdenv.mkDerivation rec {
     sha256 = "0c075ac7iqz4hqbp2ph0cwyhiq0jn6c1g1jjfhygjbssv3vvd268";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    # Introduces a wallpaper meson flag.
+    # The wallpapaper path does not exist on NixOS, let's just remove the wallpaper.
+    # https://github.com/elementary/switchboard-plug-about/pull/236
+    ./add-wallpaper-option.patch
+  ];
 
   nativeBuildInputs = [
     meson
@@ -53,14 +52,17 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    # Use NixOS's default wallpaper
-    (substituteAll {
-      src = ./fix-background-path.patch;
-      default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}";
-    })
+  mesonFlags = [
+    # This option is introduced in add-wallpaper-option.patch
+    "-Dwallpaper=false"
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard About Plug";
     homepage = "https://github.com/elementary/switchboard-plug-about";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch
deleted file mode 100644
index 6fea88691331..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala
-index fdb92e7e..4161538e 100644
---- a/src/Views/OperatingSystemView.vala
-+++ b/src/Views/OperatingSystemView.vala
-@@ -47,7 +47,7 @@ public class About.OperatingSystemView : Gtk.Grid {
-         };
-         logo.set_image_load_func ((size) => {
-             try {
--                return new Gdk.Pixbuf.from_file_at_scale ("/usr/share/backgrounds/elementaryos-default", -1, size, true);
-+                return new Gdk.Pixbuf.from_file_at_scale ("@default_wallpaper@", -1, size, true);
-             } catch (Error e) {
-                 critical (e.message);
-             }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
index d24b75502600..03fb7e9349bf 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
@@ -24,12 +24,6 @@ stdenv.mkDerivation rec {
     sha256 = "18izmzhqp6x5ivha9yl8gyz9adyrsylw7w5p0cwm1bndgqbi7yh5";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -45,6 +39,12 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Applications Plug";
     homepage = "https://github.com/elementary/switchboard-plug-applications";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
index 764845c02022..53dc200a4345 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
@@ -35,12 +35,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -57,6 +51,12 @@ stdenv.mkDerivation rec {
     wingpanel-indicator-bluetooth # settings schema
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Bluetooth Plug";
     homepage = "https://github.com/elementary/switchboard-plug-bluetooth";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
index 09717a584ce0..71bbda8edb17 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
@@ -27,12 +27,6 @@ stdenv.mkDerivation rec {
     sha256 = "10rqhxsqbl1xnz5n84d7m39c3vb71k153989xvyc55djia1wjx96";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
@@ -61,6 +55,12 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Date & Time Plug";
     homepage = "https://github.com/elementary/switchboard-plug-datetime";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index c25188add450..4a7ce6f6d46d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -24,12 +24,6 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-3sYZCazGnTjIi3Iry5673TMI13sD0GuY+46AK+NJH70=";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -45,6 +39,12 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Displays Plug";
     homepage = "https://github.com/elementary/switchboard-plug-display";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
index 01a3da26b1d5..1118d52fb43c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
@@ -40,12 +40,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     libxml2
     meson
@@ -67,6 +61,12 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Keyboard Plug";
     homepage = "https://github.com/elementary/switchboard-plug-keyboard";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index a765eca6de2d..2c9b3833a0cc 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -29,11 +29,12 @@ stdenv.mkDerivation rec {
     sha256 = "0nqgbpk1knvbj5xa078i0ka6lzqmaaa873gwj3mhjr5q2gzkw7y5";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      touchegg = touchegg;
+    })
+  ];
 
   nativeBuildInputs = [
     meson
@@ -54,12 +55,11 @@ stdenv.mkDerivation rec {
     touchegg
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      touchegg = touchegg;
-    })
-  ];
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
 
   meta = with lib; {
     description = "Switchboard Mouse & Touchpad Plug";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index b88f3f72d035..fbad5aa7a012 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -18,20 +18,21 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-network";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0nqihsbrpjw4nx1c50g854bqybniw38adi78vzg8nyl6ikj2r0z4";
+    sha256 = "sha256-CdSX4p98HQNC0VF5Ae/ZnDqm000+9KJ6JhQWhSHC4CI=";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit networkmanagerapplet;
+    })
+  ];
 
   nativeBuildInputs = [
     meson
@@ -49,12 +50,11 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit networkmanagerapplet;
-    })
-  ];
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
 
   meta = with lib; {
     description = "Switchboard Networking Plug";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
index fd5dfa328104..f142b8e9bb9c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
@@ -34,12 +34,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -55,6 +49,12 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Notifications Plug";
     homepage = "https://github.com/elementary/switchboard-plug-notifications";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index 16ed92b45d2d..2a531815f875 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -28,12 +28,6 @@ stdenv.mkDerivation rec {
     sha256 = "006h8mrhmdrbd83vhdyahgrfk9wh6j9kjincpp7dz7sl8fsyhmcr";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -53,6 +47,12 @@ stdenv.mkDerivation rec {
     wingpanel-indicator-power # settings schema
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Power Plug";
     homepage = "https://github.com/elementary/switchboard-plug-power";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
index dbca28038ab3..40b52affa036 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
@@ -34,12 +34,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -55,6 +49,12 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Printers Plug";
     homepage = "https://github.com/elementary/switchboard-plug-printers";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
index f41cfa2f7457..2a480bb9e257 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
@@ -33,12 +33,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -53,6 +47,12 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Sharing Plug";
     homepage = "https://github.com/elementary/switchboard-plug-sharing";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix
index e31768c764d4..904278f983e0 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix
@@ -37,12 +37,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -62,6 +56,12 @@ stdenv.mkDerivation rec {
     xorg.libXi
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Switchboard Wacom Plug";
     homepage = "https://github.com/elementary/switchboard-plug-wacom";
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
index c8e6f11f111c..209fa1202f3b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -28,12 +28,6 @@ stdenv.mkDerivation rec {
     sha256 = "02dfsrfmr297cxpyd5m3746ihcgjyfnb3d42ng9m4ljdvh0dxgim";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     gettext
     meson
@@ -60,6 +54,12 @@ stdenv.mkDerivation rec {
       url = "https://github.com/elementary/switchboard/commit/8d6b5f4cbbaf134880252afbf1e25d70033e6402.patch";
       sha256 = "0gwq3wwj45jrnlhsmxfclbjw6xjr8kf6pp3a84vbnrazw76lg5nc";
     })
+    # Fix build with meson 0.61
+    # https://github.com/elementary/switchboard/pull/226
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard/commit/ecf2a6c42122946cc84150f6927ef69c1f67c909.patch";
+      sha256 = "sha256-J62tMeDfOpliBLHMSa3uBGTc0RBNzC6eDjDBDYySL+0=";
+    })
   ];
 
   postPatch = ''
@@ -67,6 +67,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Extensible System Settings app for Pantheon";
     homepage = "https://github.com/elementary/switchboard";
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index b76a874490ed..558c61d986ad 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -12,11 +12,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-gtk-theme";
   version = "6.1.1";
 
-  repoName = "stylesheet";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "stylesheet";
     rev = version;
     sha256 = "sha256-gciBn5MQ5Cu+dROL5kCt2GCbNA7W4HOWXyjMBd4OP+8=";
   };
@@ -37,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "GTK theme designed to be smooth, attractive, fast, and usable";
     homepage = "https://github.com/elementary/stylesheet";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = teams.pantheon.members;
   };
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index 450275d1050d..046f1fbdc979 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -15,11 +15,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-icon-theme";
   version = "6.1.0";
 
-  repoName = "icons";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "icons";
     rev = version;
     sha256 = "sha256-WR4HV0nJKj0WeSFHXLK64O0LhX8myAJE4w0aztyhPn4=";
   };
@@ -63,7 +61,7 @@ stdenv.mkDerivation rec {
       An original set of vector icons designed specifically for elementary OS and its desktop environment: Pantheon.
     '';
     homepage = "https://github.com/elementary/icons";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = teams.pantheon.members;
   };
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
index 6bad05693fea..2f326235c4cf 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
@@ -11,11 +11,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-sound-theme";
   version = "1.1.0";
 
-  repoName = "sound-theme";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "sound-theme";
     rev = version;
     sha256 = "sha256-fR6gtKx9J6o2R1vQZ5yx4kEX3Ak+q8I6hRVMZzyB2E8=";
   };
diff --git a/nixpkgs/pkgs/desktops/pantheon/default.nix b/nixpkgs/pkgs/desktops/pantheon/default.nix
index 617c6ed086da..29192a4dd80a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/default.nix
@@ -161,7 +161,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   wingpanel-indicator-notifications = callPackage ./desktop/wingpanel-indicators/notifications { };
 
-  wingpanel-indicator-power = callPackage ./desktop/wingpanel-indicators/power { };
+  wingpanel-indicator-power = callPackage ./desktop/wingpanel-indicators/power {
+    inherit (gnome) gnome-power-manager;
+  };
 
   wingpanel-indicator-session = callPackage ./desktop/wingpanel-indicators/session { };
 
@@ -232,18 +234,20 @@ lib.makeScope pkgs.newScope (self: with self; {
   # Please call these packages in pkgs/top-level/all-packages.nix instead of this file.
   # https://github.com/NixOS/nixpkgs/issues/115222#issuecomment-906868654
 
-} // lib.optionalAttrs (config.allowAliases or true) {
+}) // lib.optionalAttrs (config.allowAliases or true) {
 
   ### ALIASES
 
-  inherit (pkgs) vala; # added 2019-10-10
+  # They need to be outside the scope or they will shadow the attributes from parent scope.
+
+  vala = throw "The ‘pantheon.vala’ alias was removed on 2022-02-02, please use ‘pkgs.vala’ directly."; # added 2019-10-10
 
-  cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1.";
+  cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1."; # added 2020-04-06
 
-  elementary-screenshot-tool = elementary-screenshot; # added 2021-07-21
+  elementary-screenshot-tool = throw "The ‘pantheon.elementary-screenshot-tool’ alias was removed on 2022-02-02, please use ‘pantheon.elementary-screenshot’ directly."; # added 2021-07-21
 
   extra-elementary-contracts = throw "extra-elementary-contracts has been removed as all contracts have been upstreamed."; # added 2021-12-01
 
-  inherit (pkgs) notes-up; # added 2021-12-18
+  notes-up = throw "The ‘pantheon.notes-up’ alias was removed on 2022-02-02, please use ‘pkgs.notes-up’ directly."; # added 2021-12-18
 
-})
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index a96bba4ab115..a42ae92e97af 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -17,11 +17,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-default-settings";
   version = "6.0.2";
 
-  repoName = "default-settings";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "default-settings";
     rev = version;
     sha256 = "sha256-qaPj/Qp7RYzHgElFdM8bHV42oiPUbCMTC9Q+MUj4Q6Y=";
   };
@@ -49,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/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.appcenter.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.appcenter.dockitem
new file mode 100644
index 000000000000..586a74df2447
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
index 426368e8473b..0ba89fa4b40b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index 25bce374c23c..fe7a8e946d10 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , linkFarm
 , substituteAll
@@ -39,16 +40,23 @@ stdenv.mkDerivation rec {
     sha256 = "1f606ds56sp1c58q8dblfpaq9pwwkqw9i4gkwksw45m2xkwlbflq";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-
-    xgreeters = linkFarm "pantheon-greeter-xgreeters" [{
-      path = "${elementary-greeter}/share/xgreeters/io.elementary.greeter.desktop";
-      name = "io.elementary.greeter.desktop";
-    }];
-  };
+  patches = [
+    ./sysconfdir-install.patch
+    # Needed until https://github.com/elementary/greeter/issues/360 is fixed
+    (substituteAll {
+      src = ./hardcode-fallback-background.patch;
+      default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}";
+    })
+    # https://github.com/NixOS/nixpkgs/issues/151609
+    # 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 {
+      url = "https://github.com/elementary/greeter/commit/a4b25244058fce794a9f13f6b22a8ff7735ebde9.patch";
+      sha256 = "sha256-qPXhdvmYG8YMDU/CjbEkfZ0glgRzxnu0TsOPtvWHxLY=";
+    })
+  ];
 
   nativeBuildInputs = [
     desktop-file-utils
@@ -83,15 +91,6 @@ stdenv.mkDerivation rec {
     "-Dgsd-dir=${gnome-settings-daemon}/libexec/" # trailing slash is needed
   ];
 
-  patches = [
-    ./sysconfdir-install.patch
-    # Needed until https://github.com/elementary/greeter/issues/360 is fixed
-    (substituteAll {
-      src = ./hardcode-fallback-background.patch;
-      default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}";
-    })
-  ];
-
   preFixup = ''
     gappsWrapperArgs+=(
       # dbus-launch needed in path
@@ -118,6 +117,17 @@ stdenv.mkDerivation rec {
       --replace "Exec=io.elementary.greeter" "Exec=$out/bin/io.elementary.greeter"
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+
+    xgreeters = linkFarm "pantheon-greeter-xgreeters" [{
+      path = "${elementary-greeter}/share/xgreeters/io.elementary.greeter.desktop";
+      name = "io.elementary.greeter.desktop";
+    }];
+  };
+
   meta = with lib; {
     description = "LightDM Greeter for Pantheon";
     homepage = "https://github.com/elementary/greeter";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch
new file mode 100644
index 000000000000..ca6f6aab6d60
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
index 1f8c811d9d10..dd6b10f5c830 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
@@ -2,7 +2,6 @@
 , runCommand
 , mutter
 , elementary-default-settings
-, nixos-artwork
 , glib
 , gala
 , epiphany
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
index e7a3d10b4fde..3355ee09299f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
@@ -14,7 +14,6 @@
 , granite
 , libgee
 , elementary-icon-theme
-, elementary-gtk-theme
 , elementary-settings-daemon
 , gettext
 , libhandy
@@ -26,15 +25,26 @@ stdenv.mkDerivation rec {
   pname = "elementary-onboarding";
   version = "6.1.0";
 
-  repoName = "onboarding";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "onboarding";
     rev = version;
     sha256 = "sha256-9voy9eje3VlV4IMM664EyjKWTfSVogX5JoRCqhsUXTE=";
   };
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      appcenter = appcenter;
+    })
+    # Provides the directory where the locales are actually installed
+    # https://github.com/elementary/onboarding/pull/147
+    (fetchpatch {
+      url = "https://github.com/elementary/onboarding/commit/af19c3dbefd1c0e0ec18eddacc1f21cb991f5513.patch";
+      sha256 = "sha256-fSFfjSd33W7rXXEUHY8b3rv9B9c31XfCjxjRxBBrqjs=";
+    })
+  ];
+
   nativeBuildInputs = [
     gettext
     meson
@@ -46,7 +56,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    elementary-gtk-theme
     elementary-icon-theme
     elementary-settings-daemon # settings schema
     glib
@@ -56,19 +65,6 @@ stdenv.mkDerivation rec {
     libhandy
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      appcenter = appcenter;
-    })
-    # Provides the directory where the locales are actually installed
-    # https://github.com/elementary/onboarding/pull/147
-    (fetchpatch {
-      url = "https://github.com/elementary/onboarding/commit/af19c3dbefd1c0e0ec18eddacc1f21cb991f5513.patch";
-      sha256 = "sha256-fSFfjSd33W7rXXEUHY8b3rv9B9c31XfCjxjRxBBrqjs=";
-    })
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
index 119d5be21381..cc25419f2eb4 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
@@ -13,21 +13,13 @@ stdenv.mkDerivation rec {
   pname = "elementary-print-shim";
   version = "0.1.3";
 
-  repoName = "print";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "print";
     rev = version;
     sha256 = "sha256-l2IUu9Mj22lZ5yajPcsGrJcJDakNu4srCV0Qea5ybPA=";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -37,6 +29,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gtk3 ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Simple shim for printing support via Contractor";
     homepage = "https://github.com/elementary/print";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
index 2c0d2ae100c7..bf466c4d59e1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
@@ -80,7 +80,7 @@ let
     Name=Pantheon
     Comment=This session provides elementary experience
     Exec=@out@/libexec/pantheon
-    TryExec=${wingpanel}/bin/wingpanel
+    TryExec=${wingpanel}/bin/io.elementary.wingpanel
     Icon=
     DesktopNames=Pantheon
     Type=Application
@@ -92,11 +92,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-session-settings";
   version = "6.0.0";
 
-  repoName = "session-settings";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "session-settings";
     rev = version;
     sha256 = "1faglpa7q3a4335gnd074a3lnsdspyjdnskgy4bfnf6xmwjx7kjx";
   };
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
index fbde187ce6dc..1d4a1cb74146 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -21,15 +22,22 @@ stdenv.mkDerivation rec {
   pname = "elementary-shortcut-overlay";
   version = "1.2.1";
 
-  repoName = "shortcut-overlay";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "shortcut-overlay";
     rev = version;
     sha256 = "sha256-qmqzGCM3cVM6y80pzjm5CCyG6BO6XlKZiODAAEnwVrM=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://github.com/elementary/shortcut-overlay/pull/113
+    (fetchpatch {
+      url = "https://github.com/elementary/shortcut-overlay/commit/130f78eb4b7770586ea98ba0a5fdbbf5bb116f3f.patch";
+      sha256 = "sha256-XXWq9CEv3Z2B8ogcFQAJZCfy19XxNHs3c8NToE2m/aA=";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     libxml2
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix
index 9f4d275f2462..c9a24b4906c7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix
@@ -1,13 +1,14 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, unstableGitUpdater
 , substituteAll
 , file-roller
 }:
 
 stdenv.mkDerivation rec {
   pname = "file-roller-contract";
-  version = "unstable-2021-02-23";
+  version = "unstable-2021-02-22";
 
   src = fetchFromGitHub {
     owner = "elementary";
@@ -36,6 +37,12 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    updateScript = unstableGitUpdater {
+      url = "https://github.com/elementary/file-roller-contract.git";
+    };
+  };
+
   meta = with lib; {
     description = "Contractor extension for File Roller";
     homepage = "https://github.com/elementary/file-roller-contract";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix
index 36f4d3e539f0..e1a25eea4a63 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix
@@ -1,13 +1,14 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, unstableGitUpdater
 , substituteAll
 , gnome-bluetooth
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-bluetooth-contract";
-  version = "unstable-2021-02-23";
+  version = "unstable-2021-02-22";
 
   src = fetchFromGitHub {
     owner = "elementary";
@@ -36,6 +37,12 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    updateScript = unstableGitUpdater {
+      url = "https://github.com/elementary/gnome-bluetooth-contract.git";
+    };
+  };
+
   meta = with lib; {
     description = "Contractor extension for GNOME Bluetooth";
     homepage = "https://github.com/elementary/gnome-bluetooth-contract";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix
index 7ffc2cebab79..eab86136c7d9 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix
@@ -34,12 +34,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -60,6 +54,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Universal Access Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-a11y";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
index 56d59ed4614a..605b4b7709a5 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
@@ -27,12 +27,6 @@ stdenv.mkDerivation rec {
     sha256 = "12rasf8wy3cqnfjlm9s2qnx4drzx0w0yviagkng3kspdzm3vzsqy";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     glib # for glib-compile-schemas
     libxml2
@@ -57,6 +51,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Bluetooth Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-bluetooth";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index 1164e0592bfb..3f7408d9dff3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -57,7 +57,6 @@ stdenv.mkDerivation rec {
     libical
     libsoup
     wingpanel
-    libgdata # required by some dependency transitively
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
index 4ce8fb0434f9..b36a95e8b201 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
@@ -29,11 +29,18 @@ stdenv.mkDerivation rec {
     sha256 = "10zzsil5l6snz47nx887r22sl2n0j6bg4dhxmgk3j3xp3jhgmrgl";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display";
+    })
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-keyboard/pull/110
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-keyboard/commit/ea5df2f62a99a216ee5ed137268e710490a852a4.patch";
+      sha256 = "0fmdz10xgzsryj0f0dnpjrh9yygjkb91a7pxg0rwddxbprhnr7j0";
+    })
+  ];
 
   nativeBuildInputs = [
     meson
@@ -52,18 +59,11 @@ stdenv.mkDerivation rec {
     xorg.xkeyboardconfig
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display";
-    })
-    # Upstream code not respecting our localedir
-    # https://github.com/elementary/wingpanel-indicator-keyboard/pull/110
-    (fetchpatch {
-      url = "https://github.com/elementary/wingpanel-indicator-keyboard/commit/ea5df2f62a99a216ee5ed137268e710490a852a4.patch";
-      sha256 = "0fmdz10xgzsryj0f0dnpjrh9yygjkb91a7pxg0rwddxbprhnr7j0";
-    })
-  ];
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
 
   meta = with lib; {
     description = "Keyboard Indicator for Wingpanel";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
index ecaa05bc356c..9261bccd5182 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
@@ -34,12 +34,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     libxml2
     meson
@@ -55,6 +49,12 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Night Light Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-nightlight";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
index 38a8fb23701f..ac9803495574 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , substituteAll
 , nix-update-script
-, gnome
+, gnome-power-manager
 , pkg-config
 , meson
 , python3
@@ -30,11 +30,12 @@ stdenv.mkDerivation rec {
     sha256 = "1zlpnl7983jkpy2nik08ih8lwrqvm456h993ixa6armzlazdvnjk";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      gnome_power_manager = gnome-power-manager;
+    })
+  ];
 
   nativeBuildInputs = [
     meson
@@ -55,18 +56,17 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      gnome_power_manager = gnome.gnome-power-manager;
-    })
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Power Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-power";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index 510558f3cb6a..41039ff686e9 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -35,12 +35,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -57,6 +51,12 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Session Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-session";
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index 0cd7a13c3e12..2e3f51b4a6a6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-WvkQx+9YjKCINpyVg8KjCV0GAb0rJfblSFaO14/4oas=";
   };
 
+  patches = [
+    ./indicators.patch
+  ];
+
   nativeBuildInputs = [
     gettext
     meson
@@ -53,10 +57,6 @@ stdenv.mkDerivation rec {
     mesa # for libEGL
   ];
 
-  patches = [
-    ./indicators.patch
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
index ec2255bbbc19..f817a3017b7a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, nix-update-script
 , python3
 , meson
 , ninja
@@ -18,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "granite";
-  version = "6.2.0";
+  version = "6.2.0"; # nixpkgs-update: no auto update
 
   outputs = [ "out" "dev" ];
 
@@ -52,12 +51,6 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   meta = with lib; {
     description = "An extension to GTK used by elementary OS";
     longDescription = ''
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
index a6c0cb8a3c53..ba00be72e279 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
@@ -25,12 +25,6 @@ stdenv.mkDerivation rec {
     sha256 = "1sqww7zlzl086pjww3d21ah1g78lfrc9aagrqhmsnnbji9gwb8ab";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     dbus
     meson
@@ -49,6 +43,12 @@ stdenv.mkDerivation rec {
 
   PKG_CONFIG_DBUS_1_SESSION_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/services";
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "A desktop-wide extension service used by elementary OS";
     homepage = "https://github.com/elementary/contractor";
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
index ed9919b0b037..24ce7b5ad56b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
@@ -19,15 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-capnet-assist";
-  version = "2.4.0";
-
-  repoName = "capnet-assist";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "capnet-assist";
     rev = version;
-    sha256 = "sha256-UdkS+w61c8z2TCJyG7YsDb0n0b2LOpFyaHzMbdCJsZI=";
+    sha256 = "sha256-8hhp37EBzZxEVvPaRw9PohjaPWKQZ/AfqqvwLxQCBKk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
index 2ea13c9cb595..5a78bb9c8a2b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
@@ -19,11 +19,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-notifications";
   version = "6.0.0";
 
-  repoName = "notifications";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "notifications";
     rev = version;
     sha256 = "0jfppafbc8jwhhnillylicz4zfds789d8b31ifsx0qijlxa7kji9";
   };
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index 69a0c2a7bb1a..ff0cc92da338 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -23,11 +23,9 @@ stdenv.mkDerivation rec {
   pname = "elementary-settings-daemon";
   version = "1.1.0";
 
-  repoName = "settings-daemon";
-
   src = fetchFromGitHub {
     owner = "elementary";
-    repo = repoName;
+    repo = "settings-daemon";
     rev = version;
     sha256 = "sha256-1Xp1uJzDFuGZlhJhKj00cYtb4Q1syMAm+82fTOtk0VI=";
   };
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
index c135ea4e18ed..005ae0a461b3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
@@ -25,12 +25,6 @@ stdenv.mkDerivation rec {
     sha256 = "0hx3sky0vd2vshkscy3w5x3s18gd45cfqh510xhbmvc0sa32q9gd";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     desktop-file-utils
     meson
@@ -51,6 +45,12 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Pantheon Geoclue2 Agent";
     homepage = "https://github.com/elementary/pantheon-agent-geoclue2";
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
index 3644d9665df0..b009954bc842 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
@@ -24,12 +24,6 @@ stdenv.mkDerivation rec {
     sha256 = "1acqjjarl225yk0f68wkldsamcrzrj0ibpcxma04wq9w7jlmz60c";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
@@ -45,6 +39,12 @@ stdenv.mkDerivation rec {
     polkit
   ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Polkit Agent for the Pantheon Desktop";
     homepage = "https://github.com/elementary/pantheon-agent-polkit";
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix
index 3ceff2095d2b..614be5603a8e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-pantheon";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "portals";
     rev = version;
-    sha256 = "sha256-8gBMjCMEzrFmKHhkXsgcIESC93EOT0ADkRUIJMmerjw=";
+    sha256 = "sha256-YICNOeNrpO2tJFyULjQEhZQCrrMyQau59EC7c5K9q40=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix b/nixpkgs/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix
index 6e3fbf5777bc..7e153293bbc0 100644
--- a/nixpkgs/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, unstableGitUpdater
 , substituteAll
 , meson
 , ninja
@@ -45,6 +46,12 @@ stdenv.mkDerivation rec {
     pantheon.wingpanel
   ];
 
+  passthru = {
+    updateScript = unstableGitUpdater {
+      url = "https://github.com/Lafydev/wingpanel-indicator-ayatana.git";
+    };
+  };
+
   meta = with lib; {
     description = "Ayatana Compatibility Indicator for Wingpanel";
     homepage = "https://github.com/Lafydev/wingpanel-indicator-ayatana";
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
index 3e9920cf6299..ecd28b496da3 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
index d7816de30422..5de935b9ec23 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/plasma-5/fetch.sh b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
index 180092076b0e..b0e706602b69 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
+++ b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.23.4/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.23.5/ -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
index 3bcfca507ab4..9de087f10e8c 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/bluedevil-5.23.4.tar.xz";
-      sha256 = "13sxwsks7gnws13jhk8428npzdyhvv5yhczzayi5yd3856d3g4av";
-      name = "bluedevil-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/bluedevil-5.23.5.tar.xz";
+      sha256 = "1nbnmfdaisqngygyz1478fswsm1xp28v9l78xlw70yvvyjk2kc6v";
+      name = "bluedevil-5.23.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/breeze-5.23.4.tar.xz";
-      sha256 = "1wbhir9g2gfwcvw0ib50qhqk0rgfji8wjipqqp7ddsm463ykp472";
-      name = "breeze-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/breeze-5.23.5.tar.xz";
+      sha256 = "1pyw7rhzkbd9kwsm8l7iz867jhwlbmkarc5iihg0bkbcg1ds18ic";
+      name = "breeze-5.23.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/breeze-grub-5.23.4.tar.xz";
-      sha256 = "1zkl8ddbdnckz4glaf0j6vkxf1z63d5q9nx0w64d17qydp1fwxjq";
-      name = "breeze-grub-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/breeze-grub-5.23.5.tar.xz";
+      sha256 = "12rm9a3vrmb3sm04l2c4vcj8psfyjxplp9wgh87q3k1rcyqz7fqk";
+      name = "breeze-grub-5.23.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/breeze-gtk-5.23.4.tar.xz";
-      sha256 = "0jv064y7wlvglk0w2yx1zwnxjhczi9gq6cfnz004z18rlqwnz9pq";
-      name = "breeze-gtk-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/breeze-gtk-5.23.5.tar.xz";
+      sha256 = "1ynbvfgy2nlxg5svjqazj70m7py58ixxa7xyj13dcj6i2ikbcjld";
+      name = "breeze-gtk-5.23.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/breeze-plymouth-5.23.4.tar.xz";
-      sha256 = "1qc8pnhhl89bqwyh215cn92qahw8k8gx7zr14rwxqjn9hxf9jxxy";
-      name = "breeze-plymouth-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/breeze-plymouth-5.23.5.tar.xz";
+      sha256 = "1sllcrhz8hniqkgybk5bbb36fzjcdp5drjbf7v7jn4ih4wvybwmk";
+      name = "breeze-plymouth-5.23.5.tar.xz";
     };
   };
   discover = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/discover-5.23.4.tar.xz";
-      sha256 = "0z5bp7p3f470i4x5796raawx7kjg1ca453y63wn9papdbiyl4iiz";
-      name = "discover-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/discover-5.23.5.tar.xz";
+      sha256 = "1kzp7jpw2kgml2yc3cx9n5syln3kyd9fxa5klh3sa1xn6bz9f8zr";
+      name = "discover-5.23.5.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/drkonqi-5.23.4.tar.xz";
-      sha256 = "073vdclybx83dpvvqb3rc413k3nh50nil8rcig4kqm0gzjhp3qdb";
-      name = "drkonqi-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/drkonqi-5.23.5.tar.xz";
+      sha256 = "08jjh52r6dmgp7dyxjxvavb4cxhmvzirwdn7hnmfhdbwkm09fqm5";
+      name = "drkonqi-5.23.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kactivitymanagerd-5.23.4.tar.xz";
-      sha256 = "1m0rbv8pkswkzfvbf231vn2c8x507ymc07kd0dw03np8h8zs5vbz";
-      name = "kactivitymanagerd-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kactivitymanagerd-5.23.5.tar.xz";
+      sha256 = "09v6pia34a694g0amj0miqi0j42yqvhfcv6yr9zfix4gf1qcdidn";
+      name = "kactivitymanagerd-5.23.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kde-cli-tools-5.23.4.tar.xz";
-      sha256 = "0ay320b3ixlicd8d1rjngkbxspmpk7rd8g562dv0c54hk73q61gj";
-      name = "kde-cli-tools-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kde-cli-tools-5.23.5.tar.xz";
+      sha256 = "1203z87i4dmhq1vlrfj4kiw157i5zkccd2bwc7p7qwhgbddaw5jd";
+      name = "kde-cli-tools-5.23.5.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kde-gtk-config-5.23.4.tar.xz";
-      sha256 = "0537vk4wdvgz7jl0qkksf38bra5fdk6d0z6lnwm5v4fapdysbry9";
-      name = "kde-gtk-config-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kde-gtk-config-5.23.5.tar.xz";
+      sha256 = "14qqxy2vz9004kfam9biv6q0601sn9yhrkx0i8y0958a58s5z3hp";
+      name = "kde-gtk-config-5.23.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kdecoration-5.23.4.tar.xz";
-      sha256 = "0s80dhbba458yr85m6yfv7m5jkkn0xqzp42nhhaj4m9hh36bbd9s";
-      name = "kdecoration-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kdecoration-5.23.5.tar.xz";
+      sha256 = "1kqj8l95wy46kfsw3f1crxwba9zwdlbgi7345mamhyks74wj1628";
+      name = "kdecoration-5.23.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kdeplasma-addons-5.23.4.tar.xz";
-      sha256 = "1j7xd2p8a8xi69sh91hldyajqg77lx5bla1vjg65f7yqz903bp4h";
-      name = "kdeplasma-addons-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kdeplasma-addons-5.23.5.tar.xz";
+      sha256 = "0cq0g8nqrkwv12010rsrmzqvxsa5arjpa87gvws8pah3v9k1xnkq";
+      name = "kdeplasma-addons-5.23.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kgamma5-5.23.4.tar.xz";
-      sha256 = "1b3m812xxcya0gf665m8crpmwq91mkq28jkcjaavknr9dd22dkyk";
-      name = "kgamma5-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kgamma5-5.23.5.tar.xz";
+      sha256 = "17j0kv00ibs2g9jxfvflk965221iznm0ydgj3i05i6j2bd8301zn";
+      name = "kgamma5-5.23.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/khotkeys-5.23.4.tar.xz";
-      sha256 = "1fsll3cp6z763wp65iwqz244hzq0qlm4007jpxgd4gasbrd5zfg8";
-      name = "khotkeys-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/khotkeys-5.23.5.tar.xz";
+      sha256 = "13562p0bv0jkamx9q07wi5vs78bdrhd0h3qg5rxajc5s36gyh63a";
+      name = "khotkeys-5.23.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kinfocenter-5.23.4.tar.xz";
-      sha256 = "0z3hwq5qjkrcxn0smgi7x49mcyixm1apjd4f16q0z40sn7sdybad";
-      name = "kinfocenter-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kinfocenter-5.23.5.tar.xz";
+      sha256 = "0f7ik3gg1pimjlc94dp6psk0sha8k7pinx50nvmgsglap4k1xbk7";
+      name = "kinfocenter-5.23.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kmenuedit-5.23.4.tar.xz";
-      sha256 = "1iildwnhkvg2i2yhp6zl7m77fpa8vs7hhv8wjma3vbr2gh808nck";
-      name = "kmenuedit-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kmenuedit-5.23.5.tar.xz";
+      sha256 = "0k3dbip98zwia6m8nlgiw4mz09pkw7bik4cn3j73v2x3n7y3c542";
+      name = "kmenuedit-5.23.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kscreen-5.23.4.tar.xz";
-      sha256 = "0sa9xvyz42c69aqnn2bm3j1hq87n2nk5yawppl7csxyz91iyv3n5";
-      name = "kscreen-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kscreen-5.23.5.tar.xz";
+      sha256 = "0j5rgzj132j7qy1pgi12mhihf1a89a3xh8j5f7dp5s1f8kyjq0yi";
+      name = "kscreen-5.23.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kscreenlocker-5.23.4.tar.xz";
-      sha256 = "1n4gkcf74hk60fvbkb9940q5r89jbj4kwc4byi51523n038pvymf";
-      name = "kscreenlocker-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kscreenlocker-5.23.5.tar.xz";
+      sha256 = "07vhwvcyz9ynjzh44zny1f6di2knzy3fkiji3bhrki8p3zc9vjpm";
+      name = "kscreenlocker-5.23.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/ksshaskpass-5.23.4.tar.xz";
-      sha256 = "1s9wbfl867fgr5md51f63fc57626zw2b637xh7qy8sn563l8y1lk";
-      name = "ksshaskpass-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/ksshaskpass-5.23.5.tar.xz";
+      sha256 = "0p8aka60mc8p96v3bx954jy99n9lf0a4b09sig307clwinfr23if";
+      name = "ksshaskpass-5.23.5.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/ksystemstats-5.23.4.tar.xz";
-      sha256 = "00vs71jxqlv52absh16jyj1zryk2ib0bpd21c4qja11a3hw7j3gz";
-      name = "ksystemstats-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/ksystemstats-5.23.5.tar.xz";
+      sha256 = "1xmr0yk5xynja6z7xc6l1zd529q5si5qs71f72dba2zna22hb7hb";
+      name = "ksystemstats-5.23.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kwallet-pam-5.23.4.tar.xz";
-      sha256 = "08ycniyna3hzdgzi3m61iamwid32hajb1k1m27kw16abh3ds4vx7";
-      name = "kwallet-pam-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kwallet-pam-5.23.5.tar.xz";
+      sha256 = "1cha41wiqsfgyrqb8di5qnnz0mnvmchprxay48czrn3r5mz49pw9";
+      name = "kwallet-pam-5.23.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kwayland-integration-5.23.4.tar.xz";
-      sha256 = "14j6iwakkmdyhf3796ap2dnfi0vdbrl3813x4ygzjyb8068a7k9g";
-      name = "kwayland-integration-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kwayland-integration-5.23.5.tar.xz";
+      sha256 = "0gs68v4rriknn59fv0yjcgrmcryv7wxgskswdgi1xx18v0rlc4ag";
+      name = "kwayland-integration-5.23.5.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kwayland-server-5.23.4.tar.xz";
-      sha256 = "13cvw4i1ysw4ncdnx7c4qw29zc350wbmc29dy06b574idm5rbnrm";
-      name = "kwayland-server-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kwayland-server-5.23.5.tar.xz";
+      sha256 = "0b8c1mkh36cgxhx18v9j23n9gnvzy22x50gpiw3dbkjzsmr1n7by";
+      name = "kwayland-server-5.23.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kwin-5.23.4.tar.xz";
-      sha256 = "0rqim6p0r7k886mwvqy4zpz18scnah9zvjjbgx0p77f1086azvsc";
-      name = "kwin-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kwin-5.23.5.tar.xz";
+      sha256 = "00azqmdgkh72bg4d8868cin984vxxk6s6pk5x4dfvlaknzlyfjgp";
+      name = "kwin-5.23.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/kwrited-5.23.4.tar.xz";
-      sha256 = "15sixbk5i5i1jv07hj820xi4fh0b6fmb4jkv2917911wpdkdnyik";
-      name = "kwrited-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/kwrited-5.23.5.tar.xz";
+      sha256 = "0aj911kfzd100jq1k1sg7i1nhiixnl7qiphc2bczn47f1jj64iqv";
+      name = "kwrited-5.23.5.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/layer-shell-qt-5.23.4.tar.xz";
-      sha256 = "0a74s7wx3jxxi1dp4j0a5dz7k45il4wjf7hf9j6cw2m5pdni1i2k";
-      name = "layer-shell-qt-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/layer-shell-qt-5.23.5.tar.xz";
+      sha256 = "1ah66z9hiricw6h3j7x2k7d49y7g4l2s9w2658wjrava2qng9bsr";
+      name = "layer-shell-qt-5.23.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/libkscreen-5.23.4.tar.xz";
-      sha256 = "0n1xghmabhn7sb99k0zsyrbx05mbaf926hyyw9qp5rf07r8yzk2p";
-      name = "libkscreen-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/libkscreen-5.23.5.tar.xz";
+      sha256 = "08wgg96clp685fl5lflrfd4kmf5c2p5ms7n1q2izvg0n6qr37m1i";
+      name = "libkscreen-5.23.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/libksysguard-5.23.4.tar.xz";
-      sha256 = "1xik5qaww9m26nkg804akaxbn7i7bd8ibc2v93h3p8ihkb5hh7lw";
-      name = "libksysguard-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/libksysguard-5.23.5.tar.xz";
+      sha256 = "1gy1grkkz7vwglby52vv4gr8zbzsv8rbvwbp6rqvvhmqg7ascc1h";
+      name = "libksysguard-5.23.5.tar.xz";
     };
   };
   milou = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/milou-5.23.4.tar.xz";
-      sha256 = "15wniaj9zprhvly6krxl5847q8kh8m8z5sr2wj816n70hh1y58f8";
-      name = "milou-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/milou-5.23.5.tar.xz";
+      sha256 = "05bc6hc5pn5rz4zp6b2akjdbssv7xppvzsw3pidkqb8pincl01gh";
+      name = "milou-5.23.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/oxygen-5.23.4.tar.xz";
-      sha256 = "0b4rhf9500jhx73xw4ghqifgkfr527n2isiiys8g7m23ya38pbxz";
-      name = "oxygen-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/oxygen-5.23.5.tar.xz";
+      sha256 = "1vvy9yqllqq9dx2riwv4bmxfq13wph5wagy84f1hhl7zxnbcyv0c";
+      name = "oxygen-5.23.5.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-browser-integration-5.23.4.tar.xz";
-      sha256 = "004406s80i0gv1ga151ws7sny4l3y74swawdgd1swmvkjg2ii909";
-      name = "plasma-browser-integration-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-browser-integration-5.23.5.tar.xz";
+      sha256 = "0jw9jircgbilig4pryyjxhby8qc7nag9a1s5nk1zdsnlaqr08jyp";
+      name = "plasma-browser-integration-5.23.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-desktop-5.23.4.tar.xz";
-      sha256 = "1p48sl6zyra1iyri9zrx88wka9fbzgyhkd9m7r4nqa8h0v5p12as";
-      name = "plasma-desktop-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-desktop-5.23.5.tar.xz";
+      sha256 = "0ym8cssw351ygw2vy27cyxql05y0gaflnqnq4fwkdgidldvmi45k";
+      name = "plasma-desktop-5.23.5.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-disks-5.23.4.tar.xz";
-      sha256 = "0sgfwqyn539nd6s23nix3igf7z87sn3dn9zp8w2fy488vmm1pdmi";
-      name = "plasma-disks-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-disks-5.23.5.tar.xz";
+      sha256 = "0197zyj5p7j8y80g0vvf5d9bq86qxkhwpa9dzb5l3is50y8lkj6p";
+      name = "plasma-disks-5.23.5.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-firewall-5.23.4.tar.xz";
-      sha256 = "040w85ml5rh0l95l744576s3kb00niyr72q4pvf5xj98df1h89aw";
-      name = "plasma-firewall-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-firewall-5.23.5.tar.xz";
+      sha256 = "0fhycjrb89blh6wf24rvq7bafqqrxj37ir0daj5jlph9f1w4laq0";
+      name = "plasma-firewall-5.23.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-integration-5.23.4.tar.xz";
-      sha256 = "0b4rvfnd40xgvgab81p9qjgdpjww673nlaiklwrkrqmv41m0yy33";
-      name = "plasma-integration-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-integration-5.23.5.tar.xz";
+      sha256 = "03c0cqvr5cdpvxgm145sqpbbr8wv0qv4pqjl69v3bs010pd755lg";
+      name = "plasma-integration-5.23.5.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-nano-5.23.4.tar.xz";
-      sha256 = "1kw77w00261dmp2w0jvaslamia215mlhd3nnl0wr39p5vhlym70p";
-      name = "plasma-nano-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-nano-5.23.5.tar.xz";
+      sha256 = "1yh67bh1smk7zx35hd72pafjbjdv7wwwhm76ga5sj251m61ncxim";
+      name = "plasma-nano-5.23.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-nm-5.23.4.tar.xz";
-      sha256 = "0c4gfdyzac67yxjvz75mxd61wacnsa01liaajdyj853bn7wkx294";
-      name = "plasma-nm-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-nm-5.23.5.tar.xz";
+      sha256 = "14sknzy4v4xx1ihjn1s6x0lv5difnp4gi24zsdqvnkxkmxzhcij3";
+      name = "plasma-nm-5.23.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-pa-5.23.4.tar.xz";
-      sha256 = "0g4q0y4sr14xsi71mv5qgn6qj8svmd045ff73hf34pb15qvdq0a7";
-      name = "plasma-pa-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-pa-5.23.5.tar.xz";
+      sha256 = "1pcnf59qj7rgmcbc5xhad5zl487r48i2kyp6nc3yrlgj1xcfpfxg";
+      name = "plasma-pa-5.23.5.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-phone-components-5.23.4.tar.xz";
-      sha256 = "0ml5pyi90nlmx5550sf3x9263f8mypj4jmdskzabzhnz44ck8vy9";
-      name = "plasma-phone-components-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-phone-components-5.23.5.tar.xz";
+      sha256 = "08c03pycvv7ald21d8ckxpv6d25qlxs28gjm99hdn6x8m74j7frn";
+      name = "plasma-phone-components-5.23.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-sdk-5.23.4.tar.xz";
-      sha256 = "1cbsksjy9x3jlk8bzd9m1zgr83rzkwv0jd015fap707ysdil1ypk";
-      name = "plasma-sdk-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-sdk-5.23.5.tar.xz";
+      sha256 = "1s0l09lgqipks0w0jplaaipcs4a1ny4iclkz9hkfx4xjgcvk5m2j";
+      name = "plasma-sdk-5.23.5.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-systemmonitor-5.23.4.tar.xz";
-      sha256 = "16kfpzm8bhxyl9jx5xqbas4cm99sny4b2n6i27hc7ggjgx9r3j31";
-      name = "plasma-systemmonitor-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-systemmonitor-5.23.5.tar.xz";
+      sha256 = "1snzabxgja9rsk000h97qjadb9fs8zdbqpr4zqa9sk0jjgm011lf";
+      name = "plasma-systemmonitor-5.23.5.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-tests-5.23.4.tar.xz";
-      sha256 = "1vnihnrxgbrk224xxpisqj84hjbllyk32vsra2rbgrwp2g58fh69";
-      name = "plasma-tests-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-tests-5.23.5.tar.xz";
+      sha256 = "125b0sf7h0ibjl7msw1sc3cccms8nrrkx6cgwd46a9xi5svrsfg2";
+      name = "plasma-tests-5.23.5.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-thunderbolt-5.23.4.tar.xz";
-      sha256 = "0g5n24qwm6yd78rg14d6j2hn0krn0z0fm6bpyzr54ycrgiv850zz";
-      name = "plasma-thunderbolt-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-thunderbolt-5.23.5.tar.xz";
+      sha256 = "1ich92w479llvq1vjlfyvxh3dvqc4pgycfi97hz4sfhn7dnaw3vr";
+      name = "plasma-thunderbolt-5.23.5.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-vault-5.23.4.tar.xz";
-      sha256 = "1ay9x7kbgb5qg7w1m1rp9xbp8dzsxdj7zh2ifk3lff1g5f3yh9y6";
-      name = "plasma-vault-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-vault-5.23.5.tar.xz";
+      sha256 = "1gf531q29qnvvsdxqgb1zyxwh5ck25kb0h1kk0d95pjkkylgyv0d";
+      name = "plasma-vault-5.23.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-workspace-5.23.4.tar.xz";
-      sha256 = "0kd37sfg8hbf8biia3ip89nx0jgrdgfprmda392gx5xfzbnlxv0k";
-      name = "plasma-workspace-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-workspace-5.23.5.tar.xz";
+      sha256 = "0x950nb56xmmdf7hfpbrd9hvgq1a8vca0x8g1qsvrjhh5ymydgif";
+      name = "plasma-workspace-5.23.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plasma-workspace-wallpapers-5.23.4.tar.xz";
-      sha256 = "157kbi40bv9arxq7cvgxypk1qmrpd52d76xq99rsfbzdfrggx9nc";
-      name = "plasma-workspace-wallpapers-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plasma-workspace-wallpapers-5.23.5.tar.xz";
+      sha256 = "0nr631yz8v671a87vh9f2a5kfjhn4f9147b339p09fwgfpx06vfx";
+      name = "plasma-workspace-wallpapers-5.23.5.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/plymouth-kcm-5.23.4.tar.xz";
-      sha256 = "11f2r4nq7pi8xn3z6zjc58ix5hj3das16xqvq7m82p8zvw2qs44p";
-      name = "plymouth-kcm-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/plymouth-kcm-5.23.5.tar.xz";
+      sha256 = "0ynyqfm6az8yj3d30yxza5mjcsgfw6mmdkcgr3v95r6db112hqbx";
+      name = "plymouth-kcm-5.23.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.23.4";
+    version = "1-5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/polkit-kde-agent-1-5.23.4.tar.xz";
-      sha256 = "06qjz87c2h0vgpk0jpf24194rahdrwpc274k6vmfkmbr5232w48h";
-      name = "polkit-kde-agent-1-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/polkit-kde-agent-1-5.23.5.tar.xz";
+      sha256 = "1wgpgbq987qa6fdayw4155fwym6rcn2z7w66s8faqv94x78njzln";
+      name = "polkit-kde-agent-1-5.23.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/powerdevil-5.23.4.tar.xz";
-      sha256 = "1sl62vm25libbx2l2kw7s9p44kdq561gh8an03vkf1q1qgrnpwsf";
-      name = "powerdevil-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/powerdevil-5.23.5.tar.xz";
+      sha256 = "1lxjqd4w3jvnffcn9751j9k1fzsyasd1z8b1gm2iaf38iys21116";
+      name = "powerdevil-5.23.5.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/qqc2-breeze-style-5.23.4.tar.xz";
-      sha256 = "1wl8zxq7bca6v40mnwjnpxc3pzz30khc223y9dwpgy8ampvy2ghr";
-      name = "qqc2-breeze-style-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/qqc2-breeze-style-5.23.5.tar.xz";
+      sha256 = "15i9h2md54a1h7isvma4x9pni3iy0bk84z8ibn3a36ydimyq5hra";
+      name = "qqc2-breeze-style-5.23.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/sddm-kcm-5.23.4.tar.xz";
-      sha256 = "148vf9af4fhma0w6v7wwlxpq8v8a858yx3qx7w0pg8jq5zd1k6g2";
-      name = "sddm-kcm-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/sddm-kcm-5.23.5.tar.xz";
+      sha256 = "0csj1gml8w29dzv62zpbia9g10qz5k1nzv1yywsvay1q8rbqccxv";
+      name = "sddm-kcm-5.23.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/systemsettings-5.23.4.tar.xz";
-      sha256 = "0naw5zxgs47nx5wwg1li35salyg2cfpaphhn5m20plwqfi43zbdw";
-      name = "systemsettings-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/systemsettings-5.23.5.tar.xz";
+      sha256 = "0shsqancxbxy6f4fd9m2a30x7gnjmd6gb8kq4nhlj6rramcwn3jh";
+      name = "systemsettings-5.23.5.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.23.4";
+    version = "5.23.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.4/xdg-desktop-portal-kde-5.23.4.tar.xz";
-      sha256 = "17n5d4rjm28in7jpsq2qg2d7lv3qcnlpmgi9kclx81miih9rjwan";
-      name = "xdg-desktop-portal-kde-5.23.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.5/xdg-desktop-portal-kde-5.23.5.tar.xz";
+      sha256 = "09s3fpjdrnxqvnyxmxva0rx612d6pxv28qqvm00hzrb23nxz6qgb";
+      name = "xdg-desktop-portal-kde-5.23.5.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix
index aef93da5ee90..281cc78a0ba2 100644
--- a/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -4,9 +4,9 @@
 mkXfceDerivation {
   category = "apps";
   pname = "ristretto";
-  version = "0.12.1";
+  version = "0.12.2";
 
-  sha256 = "sha256-Kwtema8mydSPQadeaw/OTnGCHUNuJpvHbf7l4YtICYE=";
+  sha256 = "sha256-OIt92DpDAZpy/fAOauGnzsufUi+y3Ag7KblZ5EUGuyQ=";
 
   buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
 
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index 75a57ae037a1..8a50a0d0fa7c 100644
--- a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/default.nix b/nixpkgs/pkgs/desktops/xfce/default.nix
index ccbeff5c37cb..2340a57c22d8 100644
--- a/nixpkgs/pkgs/desktops/xfce/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/default.nix
@@ -214,13 +214,13 @@ lib.makeScope pkgs.newScope (self: with self; {
   gtk = pkgs.gtk2;
   libxfcegui4 = throw "libxfcegui4 is the deprecated Xfce GUI library. It has been superseded by the libxfce4ui library";
   xinitrc = xfce4-session.xinitrc;
-  inherit (pkgs.gnome2) libglade;
-  inherit (pkgs.gnome) vte gtksourceview;
+  libglade = throw "libglade has been removed";
+  inherit (pkgs.gnome) gtksourceview;
   xfce4-mixer-pulse = xfce4-mixer;
   thunar-bare = thunar.override {
     thunarPlugins = [];
   };
 
   # added 2019-11-30
-  inherit (pkgs) dconf;
+  inherit (pkgs) dconf vte;
 })
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index e382e8024dad..4743099506c6 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
index 0d0bf49161d2..dd74a0653b8d 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
+++ b/nixpkgs/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 = [
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
index 3f749c85b24e..ec64a60fb54a 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala_0_40
+{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala
 , gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce }:
 
 stdenv.mkDerivation rec {
@@ -12,13 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
   };
 
-  # Does not build with vala 0.48 or later
-  # Upstream has no activity for a while
-  # libxfce4panel-2.0.vapi:92.3-92.41: error: overriding method `Xfce.PanelPlugin.remote_event' is incompatible
-  # with base method `bool Xfce.PanelPluginProvider.remote_event (string, GLib.Value, uint)': too few parameters.
-  #               public virtual signal bool remote_event (string name, GLib.Value value);
-  #               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  nativeBuildInputs = [ pkg-config vala_0_40 wafHook python3 ];
+  nativeBuildInputs = [ pkg-config vala wafHook python3 ];
   buildInputs = [ gtk3 libwnck libxfce4util xfce4-panel ];
 
   postPatch = ''
@@ -39,5 +33,12 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ volth ] ++ teams.xfce.members;
+    # Does not build with vala 0.48 or later
+    # libxfce4panel-2.0.vapi:92.3-92.41: error: overriding method `Xfce.PanelPlugin.remote_event' is incompatible
+    # with base method `bool Xfce.PanelPluginProvider.remote_event (string, GLib.Value, uint)': too few parameters.
+    #               public virtual signal bool remote_event (string name, GLib.Value value);
+    #               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    # Upstream has no activity since 20 May 2020
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
index fa221e65ea1a..c45fba5ebd79 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
+++ b/nixpkgs/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 = [
diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index 9d090e30c932..0dc3d3a81aa6 100644
--- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
@@ -3,10 +3,10 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-whiskermenu-plugin";
-  version = "2.7.0";
+  version = "2.7.1";
   rev-prefix = "v";
   odd-unstable = false;
-  sha256 = "sha256-wrFp+YMFfi1UZKQGkHnojAh+l170xW56ls9UJZXmzOo=";
+  sha256 = "sha256-aN8PwH5YIbjiyS5tTcU2AU4LAYC2tBStDxhCXi/dvkQ=";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/nixpkgs/pkgs/development/beam-modules/elvis-erlang/default.nix b/nixpkgs/pkgs/development/beam-modules/elvis-erlang/default.nix
index 81888bdde21e..e077040c69c6 100644
--- a/nixpkgs/pkgs/development/beam-modules/elvis-erlang/default.nix
+++ b/nixpkgs/pkgs/development/beam-modules/elvis-erlang/default.nix
@@ -8,10 +8,10 @@ in rebar3Relx rec {
   releaseType = "escript";
   # The package name "elvis" is already taken
   pname = "elvis-erlang";
-  version = "1.0.1";
+  version = "1.1.0";
   src = fetchFromGitHub {
     inherit owner repo;
-    sha256 = "139mgd4cwc0vazxfnssyym61jd9g45wn1nc53mjfzx5dkrrn4dc5";
+    sha256 = "6vNxr3AYpFuXaIVH9bWw7K5KiF1swfI+CSI43RoMQEA=";
     rev = version;
   };
   beamDeps = builtins.attrValues (import ./rebar-deps.nix {
diff --git a/nixpkgs/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix b/nixpkgs/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix
index 93c3db16eb93..6c5e429b24d0 100644
--- a/nixpkgs/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix
+++ b/nixpkgs/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix
@@ -26,11 +26,11 @@ let
     };
     parse_trans = builder {
       name = "parse_trans";
-      version = "3.4.0";
+      version = "3.4.1";
       src = fetchHex {
         pkg = "parse_trans";
-        version = "3.4.0";
-        sha256 = "sha256-+Z42iDC+pEVSIk434ElDpUh08IuFkEhd6NE4MrY6LcM=";
+        version = "3.4.1";
+        sha256 = "sha256-YgpAbOddragnuC5FPBnPBndr4mb1pnz/NOHvLLtg5Jo=";
       };
       beamDeps = [ ];
     };
@@ -66,11 +66,11 @@ let
     };
     certifi = builder {
       name = "certifi";
-      version = "2.6.1";
+      version = "2.8.0";
       src = fetchHex {
         pkg = "certifi";
-        version = "2.6.1";
-        sha256 = "sha256-UkyXtJkbOEndXBemMSI4licsawr0RneLpGdaHf9Tu34=";
+        version = "2.8.0";
+        sha256 = "sha256-asfvwcb4YAsI1iUpLUu/WE4UhHzhtrXETZg9Jz4Ql+o=";
       };
       beamDeps = [ ];
     };
@@ -146,11 +146,11 @@ let
     };
     elvis_core = builder {
       name = "elvis_core";
-      version = "1.1.2";
+      version = "1.3.1";
       src = fetchHex {
         pkg = "elvis_core";
-        version = "1.1.2";
-        sha256 = "sha256-xO5Cp6fC/FZ/Pqa1FQFkzWgpDxEA6bGaTPiG2Kocpzw=";
+        version = "1.3.1";
+        sha256 = "sha256-eoiQv4GFoyUs1OvYJv5fita5MCTt+IV26yeunl3BnWk=";
       };
       beamDeps = [ katana_code zipper ];
     };
diff --git a/nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix b/nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix
index cec3336dcb4c..08ebb6136fc5 100644
--- a/nixpkgs/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/nixpkgs/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.20.0";
+  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-XBCauvPalIPjVOYlMfWC+5mKku28b/qqKhp9NgSkoyA=";
+    sha256 = "sha256-N0jkdzwNi9dx0dmN4qL+mb8S60OII4C/MnR/y8G3GUY=";
     rev = version;
   };
   releaseType = "escript";
diff --git a/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix b/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
index 75d033a13d58..9d1fa9aef067 100644
--- a/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
+++ b/nixpkgs/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
@@ -114,16 +114,6 @@ let
       };
       beamDeps = [ katana_code ];
     };
-    ranch = builder {
-      name = "ranch";
-      version = "2.0.0";
-      src = fetchHex {
-        pkg = "ranch";
-        version = "2.0.0";
-        sha256 = "sha256-wgpIQMfWYjwZgS06fIKLLxvRU+8PEky2nFT+UdikKuA=";
-      };
-      beamDeps = [ ];
-    };
     jsx = builder {
       name = "jsx";
       version = "3.0.0";
@@ -134,14 +124,25 @@ let
       };
       beamDeps = [ ];
     };
+    gradualizer = builder {
+      name = "gradualizer";
+      version = "git";
+      src = fetchFromGitHub {
+        owner = "josefs";
+        repo = "gradualizer";
+        rev = "e93db1c6725760def005c69d72f53b1a889b4c2f";
+        sha256 = "0i1mh0dw2qknrjwpbxhgpwspqv12bznylv17sznid3kbb31pslay";
+      };
+      beamDeps = [ ];
+    };
     erlfmt = builder {
       name = "erlfmt";
       version = "git";
       src = fetchFromGitHub {
-        owner = "whatsapp";
+        owner = "gomoripeti";
         repo = "erlfmt";
-        rev = "2e93fc4a646111357642b0179a2a63151868d890";
-        sha256 = "0n7kygycn05aqdp5dyj192mja89l4nxv2wg16qg2c0bmw9s7j2mr";
+        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/nixpkgs/pkgs/development/beam-modules/mix-release.nix b/nixpkgs/pkgs/development/beam-modules/mix-release.nix
index 6265e1697b37..0b7229a21b5a 100644
--- a/nixpkgs/pkgs/development/beam-modules/mix-release.nix
+++ b/nixpkgs/pkgs/development/beam-modules/mix-release.nix
@@ -4,6 +4,7 @@
 , version
 , src
 , nativeBuildInputs ? [ ]
+, buildInputs ? [ ]
 , meta ? { }
 , enableDebugInfo ? false
 , mixEnv ? "prod"
@@ -27,7 +28,7 @@ assert mixNixDeps != { } -> mixFodDeps == null;
 stdenv.mkDerivation (overridable // {
   # rg is used as a better grep to search for erlang references in the final release
   nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ripgrep ];
-  buildInputs = builtins.attrValues mixNixDeps;
+  buildInputs = buildInputs ++ builtins.attrValues mixNixDeps;
 
   MIX_ENV = mixEnv;
   MIX_DEBUG = if enableDebugInfo then 1 else 0;
diff --git a/nixpkgs/pkgs/development/compilers/asn1c/default.nix b/nixpkgs/pkgs/development/compilers/asn1c/default.nix
deleted file mode 100644
index a4e822eec6da..000000000000
--- a/nixpkgs/pkgs/development/compilers/asn1c/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchurl, perl }:
-
-stdenv.mkDerivation rec {
-  pname = "asn1c";
-  version = "0.9.28";
-
-  src = fetchurl {
-    url = "https://lionet.info/soft/asn1c-${version}.tar.gz";
-    sha256 = "1fc64g45ykmv73kdndr4zdm4wxhimhrir4rxnygxvwkych5l81w0";
-  };
-
-  outputs = [ "out" "doc" "man" ];
-
-  buildInputs = [ perl ];
-
-  preConfigure = ''
-    patchShebangs examples/crfc2asn1.pl
-  '';
-
-  postInstall = ''
-    cp -r skeletons/standard-modules $out/share/asn1c
-  '';
-
-  doCheck = true;
-
-  meta = with lib; {
-    homepage = "http://lionet.info/asn1c/compiler.html";
-    description = "Open Source ASN.1 Compiler";
-    license = licenses.bsd2;
-    platforms = platforms.all;
-    maintainers = [ maintainers.montag451 ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/ats2/default.nix b/nixpkgs/pkgs/development/compilers/ats2/default.nix
index c75600b5341a..e8c3af5d7e1e 100644
--- a/nixpkgs/pkgs/development/compilers/ats2/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ats2/default.nix
@@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gmp ];
 
+  # Disable parallel build, errors:
+  #  *** No rule to make target 'patscc.dats', needed by 'patscc_dats.c'.  Stop.
+  enableParallelBuilding = false;
+
   setupHook = with lib;
     let
       hookFiles =
diff --git a/nixpkgs/pkgs/development/compilers/avra/default.nix b/nixpkgs/pkgs/development/compilers/avra/default.nix
index 30fd5f52d116..f3bc33516a3f 100644
--- a/nixpkgs/pkgs/development/compilers/avra/default.nix
+++ b/nixpkgs/pkgs/development/compilers/avra/default.nix
@@ -1,28 +1,23 @@
-{ lib, stdenv, fetchurl, autoconf, automake }:
+{ lib, stdenv, fetchFromGitHub }:
+
 stdenv.mkDerivation rec {
   pname = "avra";
-  version = "1.3.0";
+  version = "1.4.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/avra/avra-${version}.tar.bz2";
-    sha256 = "04lp0k0h540l5pmnaai07637f0p4zi766v6sfm7cryfaca3byb56";
+  src = fetchFromGitHub {
+    owner = "Ro5bert";
+    repo = pname;
+    rev = version;
+    hash = "sha256-joOj89WZ9Si5fcu1w1VHj5fOcnB9N2313Yb29A+nCCY=";
   };
 
-  buildInputs = [ autoconf automake ];
-
-  preConfigure = ''
-    cd src/
-
-    aclocal
-    autoconf
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-    touch NEWS README AUTHORS ChangeLog
-    automake -a
-  '';
+  doCheck = true;
 
   meta = with lib; {
     description = "Assembler for the Atmel AVR microcontroller family";
-    homepage = "http://avra.sourceforge.net/";
+    homepage = "https://github.com/Ro5bert/avra";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix b/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix
index 422053ea9d81..dfbec7442ed4 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix
@@ -1,18 +1,19 @@
-{ lib, eggDerivation, fetchurl, chickenEggs }:
+{ lib, eggDerivation, fetchFromGitHub, chickenEggs }:
 
 # Note: This mostly reimplements the default.nix already contained in
 # the tarball. Is there a nicer way than duplicating code?
 
-let
+eggDerivation rec {
+  name = "egg2nix-${version}";
   version = "0.5";
-in
-eggDerivation {
-  src = fetchurl {
-    url = "https://github.com/the-kenny/egg2nix/archive/${version}.tar.gz";
-    sha256 = "0adal428v4i7h9lzs7sfq75q2mxhsbf1qqwzrsjv8j41paars20y";
+
+  src = fetchFromGitHub {
+    owner = "the-kenny";
+    repo = "egg2nix";
+    rev = version;
+    sha256 = "sha256-5ov2SWVyTUQ6NHnZNPRywd9e7oIxHlVWv4uWbsNaj/s=";
   };
 
-  name = "egg2nix-${version}";
   buildInputs = with chickenEggs; [
     matchable http-client
   ];
diff --git a/nixpkgs/pkgs/development/compilers/closure/default.nix b/nixpkgs/pkgs/development/compilers/closure/default.nix
index 3f32be22bd10..bb6b65e40a46 100644
--- a/nixpkgs/pkgs/development/compilers/closure/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/crystal/default.nix b/nixpkgs/pkgs/development/compilers/crystal/default.nix
index 330cf851ab1b..4ac820b7e015 100644
--- a/nixpkgs/pkgs/development/compilers/crystal/default.nix
+++ b/nixpkgs/pkgs/development/compilers/crystal/default.nix
@@ -32,9 +32,11 @@ let
     x86_64-linux = "linux-x86_64";
     i686-linux = "linux-i686";
     x86_64-darwin = "darwin-x86_64";
+    aarch64-darwin = "darwin-universal";
   };
 
   arch = archs.${stdenv.system} or (throw "system ${stdenv.system} not supported");
+  isAarch64Darwin = stdenv.system == "aarch64-darwin";
 
   checkInputs = [ git gmp openssl readline libxml2 libyaml ];
 
@@ -53,6 +55,8 @@ let
         tar --strip-components=1 -C $out -xf ${src}
         patchShebangs $out/bin/crystal
       '';
+
+      meta.broken = lib.versionOlder version "1.2.0" && isAarch64Darwin;
     };
 
   commonBuildInputs = extraBuildInputs: [
@@ -206,7 +210,8 @@ let
         homepage = "https://crystal-lang.org/";
         license = licenses.asl20;
         maintainers = with maintainers; [ david50407 fabianhjr manveru peterhoeg ];
-        platforms = builtins.attrNames archs;
+        platforms = let archNames = builtins.attrNames archs; in
+          if (lib.versionOlder version "1.2.0") then remove "aarch64-darwin" archNames else archNames;
         broken = lib.versionOlder version "0.36.1" && stdenv.isDarwin;
       };
     })
@@ -223,6 +228,13 @@ rec {
     };
   };
 
+  binaryCrystal_1_2 = genericBinary {
+    version = "1.2.0";
+    sha256s = {
+      aarch64-darwin = "1hrs8cpjxdkcf8mr9qgzilwbg6bakq87sd4yydfsk2f4pqd6g7nf";
+    };
+  };
+
   crystal_1_0 = generic {
     version = "1.0.0";
     sha256 = "sha256-RI+a3w6Rr+uc5jRf7xw0tOenR+q6qii/ewWfID6dbQ8=";
@@ -238,10 +250,8 @@ rec {
   crystal_1_2 = generic {
     version = "1.2.2";
     sha256 = "sha256-nyOXhsutVBRdtJlJHe2dALl//BUXD1JeeQPgHU4SwiU=";
-    binary = crystal_1_1;
+    binary = if isAarch64Darwin then binaryCrystal_1_2 else crystal_1_1;
   };
 
   crystal = crystal_1_2;
-
-  crystal2nix = callPackage ./crystal2nix.nix { };
 }
diff --git a/nixpkgs/pkgs/development/compilers/dictu/default.nix b/nixpkgs/pkgs/development/compilers/dictu/default.nix
index c4fe29077f41..8ff6a5120f75 100644
--- a/nixpkgs/pkgs/development/compilers/dictu/default.nix
+++ b/nixpkgs/pkgs/development/compilers/dictu/default.nix
@@ -13,13 +13,13 @@ assert enableLTO -> stdenv.cc.isGNU;
 
 stdenv.mkDerivation rec {
   pname = "dictu";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "dictu-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bAoSFHX8sQgmV3hAXsR9qT4BnUsyneeynRAByEfzjE4=";
+    sha256 = "sha256-K/RbkRK8nCkmaNwWplWe2nWtULhn/GCNPXYStfMeUPg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/compilers/elm/default.nix b/nixpkgs/pkgs/development/compilers/elm/default.nix
index 11b5f58a12d8..149d81150548 100644
--- a/nixpkgs/pkgs/development/compilers/elm/default.nix
+++ b/nixpkgs/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.haskellPackages.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,6 @@ 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/nixpkgs/pkgs/development/compilers/elm/packages/elm-json.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm-json.nix
index a480b9e0e1eb..faf6ffd8a2e1 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/elm-json.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/elm/packages/elm-test-rs.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm-test-rs.nix
index a482809ab50d..09d453b00f83 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/elm-test-rs.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix
index c012d59d8ae3..e24ece00ffef 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/flutter/default.nix b/nixpkgs/pkgs/development/compilers/flutter/default.nix
index a91105adc33e..6f6130c36785 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/default.nix
+++ b/nixpkgs/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.8.0";
+  version = "2.10.0";
   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.15.0";
+  dartVersion = "2.16.0";
   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-U1V1OPmFeNZCdBxFy7yqAbAE0cxh9f2UqKQmreJu9YA=";
+        sha256 = "sha256-n+hr3iMt5S0iEeR/X9zBQ86TbjCajaG0RyE+Ij1/aNM=";
       };
     };
   };
@@ -29,7 +29,7 @@ in {
     pname = "flutter";
     src = fetchurl {
       url = "https://storage.googleapis.com/flutter_infra_release/releases/${channel}/linux/${filename}";
-      sha256 = "sha256-sSz/owGdCMB5b9+cAWvLkrfFcIIq5665Xopd4JKv1G4=";
+      sha256 = "sha256-4ZEpZPGVnisnK9QT1o4G2G6CiflYElh+e3+X8odnx1U=";
     };
     patches = getPatches ./patches;
   };
diff --git a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix b/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
index d700f686f630..43538ede339e 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
+++ b/nixpkgs/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";
@@ -174,6 +180,11 @@ runCommand drvName
 } ''
   mkdir -p $out/bin
 
+  mkdir -p $out/bin/cache/
+  ln -sf ${dart} $out/bin/cache/dart-sdk
+
   echo -n "$startScript" > $out/bin/${pname}
   chmod +x $out/bin/${pname}
-''
+'') self;
+in
+self
diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch
index d0fd363d3c64..e799f6e1550b 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch
+++ b/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch
@@ -1,8 +1,8 @@
 diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh
-index be9320210e..6eb50aae95 100644
+index 05cba4393b..2a775bf24f 100644
 --- a/bin/internal/shared.sh
 +++ b/bin/internal/shared.sh
-@@ -218,8 +218,6 @@ function shared::execute() {
+@@ -217,8 +217,6 @@ function shared::execute() {
    # FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS"
    # FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
  
@@ -12,19 +12,19 @@ index be9320210e..6eb50aae95 100644
    case "$BIN_NAME" in
      flutter*)
 diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-index 550a75bc65..c98a4591cc 100644
+index 396756808e..d324a6df59 100644
 --- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
 +++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-@@ -244,7 +244,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
+@@ -241,7 +241,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
            globals.flutterUsage.suppressAnalytics = true;
          }
  
 -        globals.flutterVersion.ensureVersionFile();
-         final bool machineFlag = topLevelResults['machine'] as bool;
+         final bool machineFlag = topLevelResults['machine'] as bool? ?? false;
          final bool ci = await globals.botDetector.isRunningOnBot;
          final bool redirectedCompletion = !globals.stdio.hasTerminal &&
-@@ -253,10 +252,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
-         final bool versionCheckFlag = topLevelResults['version-check'] as bool;
+@@ -250,10 +249,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
+         final bool versionCheckFlag = topLevelResults['version-check'] as bool? ?? false;
          final bool explicitVersionCheckPassed = topLevelResults.wasParsed('version-check') && versionCheckFlag;
  
 -        if (topLevelResults.command?.name != 'upgrade' &&
@@ -33,4 +33,4 @@ index 550a75bc65..c98a4591cc 100644
 -        }
  
          // See if the user specified a specific device.
-         globals.deviceManager.specifiedDeviceId = topLevelResults['device-id'] as String;
+         globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?;
diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch
index 701cab54d807..a81d2def242c 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch
+++ b/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch
@@ -1,5 +1,5 @@
 diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
-index ed42baea29..fee2fb1d62 100644
+index ed42baea29..12941f733a 100644
 --- a/packages/flutter_tools/lib/src/asset.dart
 +++ b/packages/flutter_tools/lib/src/asset.dart
 @@ -11,11 +11,11 @@ import 'base/file_system.dart';
@@ -25,7 +25,7 @@ index ed42baea29..fee2fb1d62 100644
            entryUri: entryUri,
            package: null,
 diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
-index 7870c7807f..3fcf92f20d 100644
+index defc86cc20..7fdf14d112 100644
 --- a/packages/flutter_tools/lib/src/cache.dart
 +++ b/packages/flutter_tools/lib/src/cache.dart
 @@ -22,6 +22,7 @@ import 'base/user_messages.dart';
@@ -36,7 +36,7 @@ index 7870c7807f..3fcf92f20d 100644
  
  const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo)
  const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo)
-@@ -302,8 +303,13 @@ class Cache {
+@@ -322,8 +323,13 @@ class Cache {
        return;
      }
      assert(_lock == null);
@@ -51,7 +51,17 @@ index 7870c7807f..3fcf92f20d 100644
      try {
        _lock = lockFile.openSync(mode: FileMode.write);
      } on FileSystemException catch (e) {
-@@ -453,7 +459,7 @@ class Cache {
+@@ -382,8 +388,7 @@ class Cache {
+ 
+   String get devToolsVersion {
+     if (_devToolsVersion == null) {
+-      const String devToolsDirPath = 'dart-sdk/bin/resources/devtools';
+-      final Directory devToolsDir = getCacheDir(devToolsDirPath, shouldCreate: false);
++      final Directory devToolsDir = _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin/cache/dart-sdk/bin/resources/devtools'));
+       if (!devToolsDir.existsSync()) {
+         throw Exception('Could not find directory at ${devToolsDir.path}');
+       }
+@@ -536,7 +541,7 @@ class Cache {
      if (_rootOverride != null) {
        return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache'));
      } else {
diff --git a/nixpkgs/pkgs/development/compilers/fpc/default.upstream b/nixpkgs/pkgs/development/compilers/fpc/default.upstream
deleted file mode 100644
index 9f16c1b645cd..000000000000
--- a/nixpkgs/pkgs/development/compilers/fpc/default.upstream
+++ /dev/null
@@ -1,6 +0,0 @@
-url https://sourceforge.net/projects/freepascal/files/Source/
-SF_version_dir
-version_link 'fpcbuild-[0-9.]+[.]tar[.]gz/download$'
-SF_redirect
-version '.*-([0-9.]+)[.]tar[.]gz' '\1'
-do_overwrite () { do_overwrite_just_version; }
diff --git a/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix b/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix
index 5cd0609960df..5ddaa7c429f2 100644
--- a/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix
+++ b/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix
@@ -45,6 +45,10 @@ stdenv.mkDerivation rec {
   ]
   ++ lib.optionals withQt [ libqt5pas qtbase ];
 
+  # Disable parallel build, errors:
+  #  Fatal: (1018) Compilation aborted
+  enableParallelBuilding = false;
+
   nativeBuildInputs = [
     makeWrapper
   ] ++ lib.optional withQt wrapQtAppsHook;
diff --git a/nixpkgs/pkgs/development/compilers/fsharp/default.nix b/nixpkgs/pkgs/development/compilers/fsharp/default.nix
index 19b79989dc23..20a33307bf3c 100644
--- a/nixpkgs/pkgs/development/compilers/fsharp/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fsharp/default.nix
@@ -1,14 +1,16 @@
 # Temporarily avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it
 
-{ lib, stdenv, fetchurl, mono, pkg-config, dotnetbuildhelpers, autoconf, automake, which }:
+{ lib, stdenv, fetchFromGitHub, mono, pkg-config, dotnetbuildhelpers, autoconf, automake, which }:
 
 stdenv.mkDerivation rec {
   pname = "fsharp";
   version = "4.0.1.1";
 
-  src = fetchurl {
-    url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
-    sha256 = "0mvmvwwpl4zq0yvgzdizww8l9azvlrc82xm32nz1fi1nw8x5qfqk";
+  src = fetchFromGitHub {
+    owner = "fsharp";
+    repo = "fsharp";
+    rev = version;
+    sha256 = "sha256-dgTEM2aL8lVjVMuW0+HLc+TUA39IiuBv/RfHYNURh5s=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/compilers/fstar/default.nix b/nixpkgs/pkgs/development/compilers/fstar/default.nix
index 43bdbda81846..25abd7949071 100644
--- a/nixpkgs/pkgs/development/compilers/fstar/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fstar/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fstar";
-  version = "2021.12.25";
+  version = "2022.01.15";
 
   src = fetchFromGitHub {
     owner = "FStarLang";
     repo = "FStar";
     rev = "v${version}";
-    sha256 = "RmXKv/admC1w26z/ClNhH11J8n87WTfDr2lYOF6Fx7I=";
+    sha256 = "sha256-bK3McF/wTjT9q6luihPaEXjx7Lu6+ZbQ9G61Mc4KoB0=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/nixpkgs/pkgs/development/compilers/gavrasm/default.nix b/nixpkgs/pkgs/development/compilers/gavrasm/default.nix
index 6bd813b56cfb..0a969a80c121 100644
--- a/nixpkgs/pkgs/development/compilers/gavrasm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gavrasm/default.nix
@@ -1,36 +1,45 @@
 { lib, stdenv, fetchzip, fpc , lang ? "en" } :
+
 assert lib.assertOneOf "lang" lang ["cn" "de" "en" "fr" "tr"];
+
 stdenv.mkDerivation rec {
   pname = "gavrasm";
-  version = "4.5";
+  version = "5.1";
+  flatVersion = lib.strings.replaceStrings ["."] [""] version;
 
   src = fetchzip {
-    url ="http://www.avr-asm-tutorial.net/gavrasm/v45/gavrasm_sources_lin_45.zip";
-    sha256 = "1f5g5ran74pznwj4g7vfqh2qhymaj3p26f2lvzbmlwq447iid52c";
+    url = "http://www.avr-asm-tutorial.net/gavrasm/v${flatVersion}/gavrasm_sources_lin_${flatVersion}.zip";
+    sha256 = "0k94f8k4980wvhx3dpl1savpx4wqv9r5090l0skg2k8vlhsv58gf";
     stripRoot=false;
   };
 
   nativeBuildInputs = [ fpc ];
 
   configurePhase = ''
+    runHook preConfigure
     cp gavrlang_${lang}.pas gavrlang.pas
+    runHook postConfigure
   '';
 
   buildPhase = ''
+    runHook preBuild
     fpc gavrasm.pas
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     cp gavrasm $out/bin
     mkdir -p $out/doc
     cp instr.asm $out/doc
     cp ReadMe.Txt $out/doc
     cp LiesMich.Txt $out/doc
+    runHook postInstall
   '';
 
   meta = with lib; {
-    homepage = "http://www.avr-asm-tutorial.net/gavrasm";
+    homepage = "http://www.avr-asm-tutorial.net/gavrasm/";
     description = "AVR Assembler for ATMEL AVR-Processors";
     license = licenses.unfree;
     maintainers = with maintainers; [ mafo ];
diff --git a/nixpkgs/pkgs/development/compilers/gcc/9/default.nix b/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
index ebdc55ee3f8f..9d21ed667f6c 100644
--- a/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gcc/9/default.nix
@@ -82,6 +82,7 @@ let majorVersion = "9";
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
+      ++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv-gcc9.patch
       /* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
         url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
         sha256 = ""; # TODO: uncomment and check hash when available.
diff --git a/nixpkgs/pkgs/development/compilers/gcc/no-sys-dirs-riscv-gcc9.patch b/nixpkgs/pkgs/development/compilers/gcc/no-sys-dirs-riscv-gcc9.patch
new file mode 100644
index 000000000000..afe3f26360e4
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/gcc/no-sys-dirs-riscv-gcc9.patch
@@ -0,0 +1,17 @@
+diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
+index 701f5ea1544..8de333caf54 100644
+--- a/gcc/config/riscv/riscv.h
++++ b/gcc/config/riscv/riscv.h
+@@ -886,11 +886,7 @@ extern unsigned riscv_stack_boundary;
+   "%{mabi=lp64f:lp64f}" \
+   "%{mabi=lp64d:lp64d}" \
+ 
+-#define STARTFILE_PREFIX_SPEC 			\
+-   "/lib" XLEN_SPEC "/" ABI_SPEC "/ "		\
+-   "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ "	\
+-   "/lib/ "					\
+-   "/usr/lib/ "
++#define STARTFILE_PREFIX_SPEC ""
+ 
+ /* ISA constants needed for code generation.  */
+ #define OPCODE_LW    0x2003
diff --git a/nixpkgs/pkgs/development/compilers/gforth/boot-forth.nix b/nixpkgs/pkgs/development/compilers/gforth/boot-forth.nix
new file mode 100644
index 000000000000..fc7b5ffa982d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/gforth/default.nix b/nixpkgs/pkgs/development/compilers/gforth/default.nix
index bdf172cb9b99..3b60d9fb179f 100644
--- a/nixpkgs/pkgs/development/compilers/gforth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/gforth/swig.nix b/nixpkgs/pkgs/development/compilers/gforth/swig.nix
new file mode 100644
index 000000000000..8de29407cc46
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix b/nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix
index 40b57223fa1d..a8f05d6f15c1 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.10.7.nix
@@ -57,7 +57,7 @@
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+  disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
 }:
 
 assert !enableIntegerSimple -> gmp != null;
@@ -212,6 +212,15 @@ stdenv.mkDerivation (rec {
       url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch";
       sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5";
     })
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+
+    # Prevent the paths module from emitting symbols that we don't use
+    # when building with separate outputs.
+    #
+    # These cause problems as they're not eliminated by GHC's dead code
+    # elimination on aarch64-darwin. (see
+    # https://github.com/NixOS/nixpkgs/issues/140774 for details).
+    ./cabal-paths.patch
   ];
 
   postPatch = "patchShebangs .";
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix b/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix
index 3ce47a20bad8..8a352d0e0a90 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.8.4.nix
@@ -56,7 +56,7 @@
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+  disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
 }:
 
 assert !enableIntegerSimple -> gmp != null;
diff --git a/nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix b/nixpkgs/pkgs/development/compilers/ghc/9.0.2.nix
index 3f13fe1b9e1b..56b16c5d48c4 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/9.0.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/9.0.2.nix
@@ -2,7 +2,7 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx, xattr
 , autoSignDarwinBinariesHook
 , bash
 
@@ -20,9 +20,10 @@
   # build-time dependency too.
   buildTargetLlvmPackages, llvmPackages
 
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
-  # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
+, # If enabled, GHC will be built with the GPL-free but slightly slower native
+  # bignum backend instead of the faster but GPLed gmp backend.
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+, gmp
 
 , # If enabled, use -fPIC when compiling static libs.
   enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
@@ -58,10 +59,10 @@
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+  disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
 }:
 
-assert !enableIntegerSimple -> gmp != null;
+assert !enableNativeBignum -> gmp != null;
 
 # Cross cannot currently build the `haddock` program for silly reasons,
 # see note [HADDOCK_DOCS].
@@ -98,7 +99,7 @@ let
   ''
     HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
     DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
-    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+    BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
   '' + lib.optionalString (targetPlatform != hostPlatform) ''
     Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
     CrossCompilePrefix = ${targetPrefix}
@@ -114,7 +115,7 @@ let
   # Splicer will pull out correct variations
   libDeps = platform: lib.optional enableTerminfo ncurses
     ++ [libffi]
-    ++ lib.optional (!enableIntegerSimple) gmp
+    ++ lib.optional (!enableNativeBignum) gmp
     ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
 
   # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
@@ -152,7 +153,7 @@ let
   # Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
   variantSuffix = lib.concatStrings [
     (lib.optionalString stdenv.hostPlatform.isMusl "-musl")
-    (lib.optionalString enableIntegerSimple "-integer-simple")
+    (lib.optionalString enableNativeBignum "-native-bignum")
   ];
 
 in
@@ -165,12 +166,12 @@ assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
 assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
 
 stdenv.mkDerivation (rec {
-  version = "9.0.1";
+  version = "9.0.2";
   pname = "${targetPrefix}ghc${variantSuffix}";
 
   src = fetchurl {
     url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
-    sha256 = "1y9mi9bq76z04hmggavrn8jwi1gx92bm3zhx6z69ypq6wha068x5";
+    sha256 = "140e42b96346322d1a39eb17602bcdc76e292028ad4a69286b230bab188a9197";
   };
 
   enableParallelBuilding = true;
@@ -251,7 +252,7 @@ stdenv.mkDerivation (rec {
     "--with-system-libffi"
     "--with-ffi-includes=${targetPackages.libffi.dev}/include"
     "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
-  ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
+  ] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
     "--with-gmp-includes=${targetPackages.gmp.dev}/include"
     "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
   ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
@@ -280,6 +281,10 @@ stdenv.mkDerivation (rec {
     autoSignDarwinBinariesHook
   ] ++ lib.optionals enableDocs [
     sphinx
+  ] ++ lib.optionals stdenv.isDarwin [
+    # TODO(@sternenseemann): backport addition of XATTR env var like
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
+    xattr
   ];
 
   # For building runtime libs
diff --git a/nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix b/nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix
index 77d741a4f2b8..75c728510eba 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/9.2.1.nix
@@ -21,9 +21,10 @@
   # build-time dependency too.
   buildTargetLlvmPackages, llvmPackages
 
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
-  # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
+, # If enabled, GHC will be built with the GPL-free but slightly slower native
+  # bignum backend instead of the faster but GPLed gmp backend.
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+, gmp
 
 , # If enabled, use -fPIC when compiling static libs.
   enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
@@ -59,10 +60,10 @@
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+  disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
 }:
 
-assert !enableIntegerSimple -> gmp != null;
+assert !enableNativeBignum -> gmp != null;
 
 # Cross cannot currently build the `haddock` program for silly reasons,
 # see note [HADDOCK_DOCS].
@@ -99,7 +100,7 @@ let
   ''
     HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
     DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
-    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+    BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
   '' + lib.optionalString (targetPlatform != hostPlatform) ''
     Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
     CrossCompilePrefix = ${targetPrefix}
@@ -115,7 +116,7 @@ let
   # Splicer will pull out correct variations
   libDeps = platform: lib.optional enableTerminfo ncurses
     ++ [libffi]
-    ++ lib.optional (!enableIntegerSimple) gmp
+    ++ lib.optional (!enableNativeBignum) gmp
     ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
 
   # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
@@ -153,7 +154,7 @@ let
   # Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
   variantSuffix = lib.concatStrings [
     (lib.optionalString stdenv.hostPlatform.isMusl "-musl")
-    (lib.optionalString enableIntegerSimple "-integer-simple")
+    (lib.optionalString enableNativeBignum "-native-bignum")
   ];
 
 in
@@ -252,7 +253,7 @@ stdenv.mkDerivation (rec {
     "--with-system-libffi"
     "--with-ffi-includes=${targetPackages.libffi.dev}/include"
     "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
-  ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
+  ] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
     "--with-gmp-includes=${targetPackages.gmp.dev}/include"
     "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
   ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
diff --git a/nixpkgs/pkgs/development/compilers/ghc/cabal-paths.patch b/nixpkgs/pkgs/development/compilers/ghc/cabal-paths.patch
new file mode 100644
index 000000000000..19adcf5388bb
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/ghc/cabal-paths.patch
@@ -0,0 +1,99 @@
+diff --git a/Cabal/Distribution/Simple/Build/PathsModule.hs b/Cabal/Distribution/Simple/Build/PathsModule.hs
+index 5e660e8d6..1ae603c94 100644
+--- a/libraries/Cabal/Cabal/Distribution/Simple/Build/PathsModule.hs
++++ b/libraries/Cabal/Cabal/Distribution/Simple/Build/PathsModule.hs
+@@ -37,6 +37,9 @@ import System.FilePath ( pathSeparator )
+ -- * Building Paths_<pkg>.hs
+ -- ------------------------------------------------------------
+ 
++splitPath :: FilePath -> [ String ]
++splitPath = unintersperse pathSeparator
++
+ generatePathsModule :: PackageDescription -> LocalBuildInfo -> ComponentLocalBuildInfo -> String
+ generatePathsModule pkg_descr lbi clbi =
+    let pragmas =
+@@ -78,12 +81,44 @@ generatePathsModule pkg_descr lbi clbi =
+           "import System.Environment (getExecutablePath)\n"
+         | otherwise = ""
+ 
++       dirs = [ (flat_libdir, "LibDir")
++              , (flat_dynlibdir, "DynLibDir")
++              , (flat_datadir, "DataDir")
++              , (flat_libexecdir, "LibexecDir")
++              , (flat_sysconfdir, "SysconfDir") ];
++
++       shouldEmitPath p
++         | (splitPath flat_prefix) `isPrefixOf` (splitPath flat_bindir) = True
++         | (splitPath flat_prefix) `isPrefixOf` (splitPath p) = False
++         | otherwise = True
++
++       shouldEmitDataDir = shouldEmitPath flat_datadir
++
++       nixEmitPathFn (path, name) = let
++         varName = toLower <$> name
++         fnName = "get"++name
++         in if shouldEmitPath path then
++              varName ++ " :: FilePath\n"++
++              varName ++ " = " ++ show path ++
++              "\n" ++ fnName ++ " :: IO FilePath" ++
++              "\n" ++ fnName ++ " = " ++ mkGetEnvOr varName ("return " ++ varName)++"\n"
++            else ""
++
++       absBody = intercalate "\n" $ nixEmitPathFn <$> dirs
++
++       warnPragma = case filter (not . shouldEmitPath . fst) dirs of
++         [] -> ""
++         omittedDirs -> "{-# WARNING \"The functions: "++omittedFns++" Have been omitted by the Nix build system.\" #-}"
++           where omittedFns = intercalate ", " $ map snd omittedDirs
++
++       importList = intercalate ", " $ ("get" ++) . snd <$> filter (shouldEmitPath . fst) dirs
++
+        header =
+         pragmas++
+-        "module " ++ prettyShow paths_modulename ++ " (\n"++
+-        "    version,\n"++
+-        "    getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,\n"++
+-        "    getDataFileName, getSysconfDir\n"++
++        "module " ++ prettyShow paths_modulename ++ " " ++ warnPragma ++ " (\n"++
++        "    version, getBinDir,\n"++
++        (if shouldEmitDataDir then "    getDataFileName, \n" else "\n")++
++        "    " ++ importList ++"\n"++
+         "  ) where\n"++
+         "\n"++
+         foreign_imports++
+@@ -136,26 +171,18 @@ generatePathsModule pkg_descr lbi clbi =
+           "\n"++
+           filename_stuff
+         | absolute =
+-          "\nbindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath\n"++
++          "\nbindir :: FilePath\n"++
+           "\nbindir     = " ++ show flat_bindir ++
+-          "\nlibdir     = " ++ show flat_libdir ++
+-          "\ndynlibdir  = " ++ show flat_dynlibdir ++
+-          "\ndatadir    = " ++ show flat_datadir ++
+-          "\nlibexecdir = " ++ show flat_libexecdir ++
+-          "\nsysconfdir = " ++ show flat_sysconfdir ++
+           "\n"++
+-          "\ngetBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath\n"++
++          "\ngetBinDir :: IO FilePath\n"++
+           "getBinDir = "++mkGetEnvOr "bindir" "return bindir"++"\n"++
+-          "getLibDir = "++mkGetEnvOr "libdir" "return libdir"++"\n"++
+-          "getDynLibDir = "++mkGetEnvOr "dynlibdir" "return dynlibdir"++"\n"++
+-          "getDataDir = "++mkGetEnvOr "datadir" "return datadir"++"\n"++
+-          "getLibexecDir = "++mkGetEnvOr "libexecdir" "return libexecdir"++"\n"++
+-          "getSysconfDir = "++mkGetEnvOr "sysconfdir" "return sysconfdir"++"\n"++
+-          "\n"++
+-          "getDataFileName :: FilePath -> IO FilePath\n"++
+-          "getDataFileName name = do\n"++
+-          "  dir <- getDataDir\n"++
+-          "  return (dir ++ "++path_sep++" ++ name)\n"
++          absBody ++ "\n"++
++          (if shouldEmitDataDir then
++             "getDataFileName :: FilePath -> IO FilePath\n"++
++             "getDataFileName name = do\n"++
++             "  dir <- getDataDir\n"++
++             "  return (dir ++ "++path_sep++" ++ name)\n"
++           else "\n")
+         | otherwise =
+           "\nprefix, bindirrel :: FilePath" ++
+           "\nprefix        = " ++ show flat_prefix ++
diff --git a/nixpkgs/pkgs/development/compilers/ghc/head.nix b/nixpkgs/pkgs/development/compilers/ghc/head.nix
index a76964794015..1c4bf3059d55 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/head.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/head.nix
@@ -64,7 +64,7 @@
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+  disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
 }:
 
 assert !enableNativeBignum -> gmp != null;
diff --git a/nixpkgs/pkgs/development/compilers/ghcjs/8.10/stage0.nix b/nixpkgs/pkgs/development/compilers/ghcjs/8.10/stage0.nix
index 1cb476ab0cb6..d173d5a2e557 100644
--- a/nixpkgs/pkgs/development/compilers/ghcjs/8.10/stage0.nix
+++ b/nixpkgs/pkgs/development/compilers/ghcjs/8.10/stage0.nix
@@ -60,7 +60,7 @@
       libraryHaskellDepends = [
         base binary bytestring containers ghc-prim ghci template-haskell
       ];
-      homepage = "http://github.com/ghcjs";
+      homepage = "https://github.com/ghcjs";
       license = lib.licenses.mit;
     }) {};
 
@@ -71,7 +71,7 @@
       version = "0.1.1.0";
       src = ./.;
       libraryHaskellDepends = [ base ghc-prim ];
-      homepage = "http://github.com/ghcjs";
+      homepage = "https://github.com/ghcjs";
       license = lib.licenses.mit;
     }) {};
 }
diff --git a/nixpkgs/pkgs/development/compilers/gleam/default.nix b/nixpkgs/pkgs/development/compilers/gleam/default.nix
index e766683f0228..891751a6ad6b 100644
--- a/nixpkgs/pkgs/development/compilers/gleam/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gleam/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gleam";
-  version = "0.18.2";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "gleam-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uakZmaIkBgC/FTQ7us58pJT6IzpcF1cQxBfehlB3bWk=";
+    sha256 = "sha256-pJ4RSijuwdKAL24WzcDIQen1RGofN1tUlbAA18zUvBE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++
     lib.optionals stdenv.isDarwin [ Security libiconv ];
 
-  cargoSha256 = "sha256-NogDrd7YWl/CV0aCd1jfYWYB9VZG7u890VLEktI3sOQ=";
+  cargoSha256 = "sha256-f/6LdvKRykpBX2GlRuyUcSD719f6XzhbMHzhrGNU0Cg=";
 
   meta = with lib; {
     description = "A statically typed language for the Erlang VM";
diff --git a/nixpkgs/pkgs/development/compilers/glslang/default.nix b/nixpkgs/pkgs/development/compilers/glslang/default.nix
index 0cfb2502a0d9..7295db0d9d38 100644
--- a/nixpkgs/pkgs/development/compilers/glslang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/glslang/default.nix
@@ -6,69 +6,34 @@
 , python3
 , spirv-headers
 , spirv-tools
-, argSpirv-tools ? null
-, argSpirv-headers ? null
 }:
-# glslang requires custom versions of spirv-tools and spirb-headers.
-# The exact versions are taken from:
-# https://github.com/KhronosGroup/glslang/blob/${version}/known_good.json
-
-let
-  localSpirv-tools = if argSpirv-tools == null
-    then spirv-tools.overrideAttrs (_: {
-      src = fetchFromGitHub {
-        owner = "KhronosGroup";
-        repo = "SPIRV-Tools";
-        rev = "b27b1afd12d05bf238ac7368bb49de73cd620a8e";
-        sha256 = "0v26ws6qx23jn4dcpsq6rqmdxgyxpl5pcvfm90wb3nz6iqbqx294";
-      };
-    })
-    else argSpirv-tools;
-
-  localSpirv-headers = if argSpirv-headers == null
-    then spirv-headers.overrideAttrs (_: {
-      src = fetchFromGitHub {
-        owner = "KhronosGroup";
-        repo = "SPIRV-Headers";
-        rev = "f027d53ded7e230e008d37c8b47ede7cd308e19d";
-        sha256 = "12gp2mqcar6jj57jw9isfr62yn72kmvdcl0zga4gvrlyfhnf582q";
-      };
-    })
-    else argSpirv-headers;
-in
-
 stdenv.mkDerivation rec {
   pname = "glslang";
-  version = "11.1.0";
+  version = "1.2.198.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
-    rev = version;
-    sha256 = "1j81pghy7whyr8ygk7lx6g6qph61rky7fkkc8xp87c7n695a48rw";
+    rev = "sdk-${version}";
+    sha256 = "sha256-FRiqsfoyjUW2kbbphxcy0Hn0TLVaszatM/nnWBrchRY=";
   };
 
   # These get set at all-packages, keep onto them for child drvs
   passthru = {
-    spirv-tools = localSpirv-tools;
-    spirv-headers = localSpirv-headers;
+    spirv-tools = spirv-tools;
+    spirv-headers = spirv-headers;
   };
 
   nativeBuildInputs = [ cmake python3 bison jq ];
 
   postPatch = ''
-    cp --no-preserve=mode -r "${localSpirv-tools.src}" External/spirv-tools
-    ln -s "${localSpirv-headers.src}" External/spirv-tools/external/spirv-headers
+    cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools
+    ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers
   '';
 
-  # Ensure spirv-headers and spirv-tools match exactly to what is expected
-  preConfigure = ''
-    HEADERS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools/external/spirv-headers"))[0].commit')
-    TOOLS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools"))[0].commit')
-    if [ "$HEADERS_COMMIT" != "${localSpirv-headers.src.rev}" ] || [ "$TOOLS_COMMIT" != "${localSpirv-tools.src.rev}" ]; then
-      echo "ERROR: spirv-tools commits do not match expected versions: expected tools at $TOOLS_COMMIT, headers at $HEADERS_COMMIT";
-      exit 1;
-    fi
+  # This is a dirty fix for lib/cmake/SPIRVTargets.cmake:51 which includes this directory
+  postInstall = ''
+    mkdir $out/include/External
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/compilers/go/1.16.nix b/nixpkgs/pkgs/development/compilers/go/1.16.nix
index 61d24b0ee0ce..46591d2369dc 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.16.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.16.nix
@@ -54,11 +54,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.16.12";
+  version = "1.16.14";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-Kv2Dnct20rsILFAsAaClzb/An9YwdXg1NjxP3o4vv+g=";
+    sha256 = "sha256-RniYzTohbeVNy5AU9UHv536beacVTbwf0t13iwxj+1Y=";
   };
 
   # perl is used for testing go vet
diff --git a/nixpkgs/pkgs/development/compilers/go/1.17.nix b/nixpkgs/pkgs/development/compilers/go/1.17.nix
index e16e78d21a35..4b2a3d39a982 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.17.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.17.nix
@@ -54,11 +54,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.17.5";
+  version = "1.17.7";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-Pe+5oJvtBCQDGV6HLcvIxvrhSFljMyJ5Zo7FLoCpWi0=";
+    sha256 = "sha256-wQjNM7c7GRGgK2l3Qd896kPgGlxOCOQJ6LOg43RdK00=";
   };
 
   # perl is used for testing go vet
diff --git a/nixpkgs/pkgs/development/compilers/go/1.15.nix b/nixpkgs/pkgs/development/compilers/go/1.18.nix
index 5cba6be88999..17c310519995 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.15.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.18.nix
@@ -13,11 +13,11 @@
 , cacert
 , Security
 , Foundation
+, xcbuild
 , mailcap
 , runtimeShell
 , buildPackages
 , pkgsBuildTarget
-, fetchpatch
 , callPackage
 }:
 
@@ -40,8 +40,11 @@ let
     "armv5tel" = "arm";
     "armv6l" = "arm";
     "armv7l" = "arm";
-    "powerpc64le" = "ppc64le";
     "mips" = "mips";
+    "mipsel" = "mipsle";
+    "riscv64" = "riscv64";
+    "s390x" = "s390x";
+    "powerpc64le" = "ppc64le";
   }.${platform.parsed.cpu.name} or (throw "Unsupported system");
 
   # We need a target compiler which is still runnable at build time,
@@ -51,11 +54,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.15.15";
+  version = "1.18rc1";
 
   src = fetchurl {
-    url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-BmKuOBMzAoDV8al6LuI7vb46Wnz6YAGySphzoZoNx+w=";
+    url = "https://go.dev/dl/go${version}.src.tar.gz";
+    sha256 = "sha256-XOx6ZlMAj6hfiCGzNmXeN74om3oC8X829wWojEOYC7g=";
   };
 
   # perl is used for testing go vet
@@ -64,6 +67,8 @@ stdenv.mkDerivation rec {
     ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
     ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
 
+  propagatedBuildInputs = lib.optionals stdenv.isDarwin [ xcbuild ];
+
   depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
 
   hardeningDisable = [ "all" ];
@@ -158,27 +163,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./remove-tools-1.11.patch
-    ./ssl-cert-file-1.15.patch
+    ./ssl-cert-file-1.16.patch
     ./remove-test-pie-1.15.patch
     ./creds-test.patch
-    ./go-1.9-skip-flaky-19608.patch
-    ./go-1.9-skip-flaky-20072.patch
-    ./skip-external-network-tests-1.15.patch
+    ./skip-chown-tests-1.16.patch
+    ./skip-external-network-tests-1.16.patch
     ./skip-nohup-tests.patch
     ./skip-cgo-tests-1.15.patch
-    ./go_no_vendor_checks.patch
-
-    # support TZ environment variable starting with colon
-    (fetchpatch {
-      name = "tz-support-colon.patch";
-      url = "https://github.com/golang/go/commit/58fe2cd4022c77946ce4b598cf3e30ccc8367143.patch";
-      sha256 = "0vphwiqrm0qykfj3rfayr65qzk22fksg7qkamvaz0lmf6fqvbd2f";
-    })
-  ] ++ [
-    # breaks under load: https://github.com/golang/go/issues/25628
-    (if stdenv.isAarch32
-    then ./skip-test-extra-files-on-aarch32-1.14.patch
-    else ./skip-test-extra-files-on-386-1.14.patch)
+    ./go_no_vendor_checks-1.16.patch
   ];
 
   postPatch = ''
@@ -207,7 +199,7 @@ stdenv.mkDerivation rec {
       null;
 
   GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
-  GO386 = 387; # from Arch: don't assume sse2 on i686
+  GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
   # Hopefully avoids test timeouts on Hydra
   GO_TEST_TIMEOUT_SCALE = 3;
@@ -279,6 +271,5 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = teams.golang.members;
     platforms = platforms.linux ++ platforms.darwin;
-    badPlatforms = [ "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch b/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch
deleted file mode 100644
index 45ff4360f0dd..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/go_no_vendor_checks.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
-and replacements listed in the main module go.mod file, and it is a hard failure if
-vendor/modules.txt is missing.
-
-Relax module consistency checks and switch back to pre go1.14 behaviour if
-vendor/modules.txt is missing regardless of go version requirement in go.mod.
-
-This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
-See https://github.com/golang/go/issues/37948 for discussion.
-
-diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go
-index 71f68efbcc..3c566d04dd 100644
---- a/src/cmd/go/internal/modload/vendor.go
-+++ b/src/cmd/go/internal/modload/vendor.go
-@@ -133,7 +133,7 @@ func checkVendorConsistency() {
- 	readVendorList()
-
- 	pre114 := false
--	if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 {
-+	if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
- 		// Go versions before 1.14 did not include enough information in
- 		// vendor/modules.txt to check for consistency.
- 		// If we know that we're on an earlier version, relax the consistency check.
diff --git a/nixpkgs/pkgs/development/compilers/go/skip-chown-tests-1.16.patch b/nixpkgs/pkgs/development/compilers/go/skip-chown-tests-1.16.patch
new file mode 100644
index 000000000000..783446cdf317
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/go/skip-chown-tests-1.16.patch
@@ -0,0 +1,42 @@
+From 9a6718a6355d89b73011fbd1eb1bba8dcfa021e6 Mon Sep 17 00:00:00 2001
+From: regnat <rg@regnat.ovh>
+Date: Wed, 3 Nov 2021 10:17:28 +0100
+Subject: [PATCH] Disable the chown tests
+
+See https://github.com/golang/go/issues/42525 and
+https://github.com/NixOS/nix/issues/3245
+---
+ os/os_unix_test.go | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/os/os_unix_test.go b/os/os_unix_test.go
+index 51693fd..0936542 100644
+--- a/src/os/os_unix_test.go
++++ b/src/os/os_unix_test.go
+@@ -40,6 +40,7 @@ func checkUidGid(t *testing.T, path string, uid, gid int) {
+ }
+ 
+ func TestChown(t *testing.T) {
++        t.Skipf("https://github.com/golang/go/issues/42525")
+ 	// Use TempDir() to make sure we're on a local file system,
+ 	// so that the group ids returned by Getgroups will be allowed
+ 	// on the file. On NFS, the Getgroups groups are
+@@ -83,6 +84,7 @@ func TestChown(t *testing.T) {
+ }
+ 
+ func TestFileChown(t *testing.T) {
++        t.Skipf("https://github.com/golang/go/issues/42525")
+ 	// Use TempDir() to make sure we're on a local file system,
+ 	// so that the group ids returned by Getgroups will be allowed
+ 	// on the file. On NFS, the Getgroups groups are
+@@ -126,6 +128,7 @@ func TestFileChown(t *testing.T) {
+ }
+ 
+ func TestLchown(t *testing.T) {
++        t.Skipf("https://github.com/golang/go/issues/42525")
+ 	// Use TempDir() to make sure we're on a local file system,
+ 	// so that the group ids returned by Getgroups will be allowed
+ 	// on the file. On NFS, the Getgroups groups are
+-- 
+2.31.1
+
diff --git a/nixpkgs/pkgs/development/compilers/go/skip-external-network-tests-1.15.patch b/nixpkgs/pkgs/development/compilers/go/skip-external-network-tests-1.15.patch
deleted file mode 100644
index 0ea1050cd8e3..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/skip-external-network-tests-1.15.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/net/dial_test.go b/src/net/dial_test.go
-index 01582489de..5b5faa5424 100644
---- a/src/net/dial_test.go
-+++ b/src/net/dial_test.go
-@@ -990,6 +990,8 @@ func TestDialerControl(t *testing.T) {
- // except that it won't skip testing on non-mobile builders.
- func mustHaveExternalNetwork(t *testing.T) {
- 	t.Helper()
-+	t.Skipf("Nix sandbox does not have networking")
-+
- 	mobile := runtime.GOOS == "android" || runtime.GOOS == "darwin" && runtime.GOARCH == "arm64"
- 	if testenv.Builder() == "" || mobile {
- 		testenv.MustHaveExternalNetwork(t)
diff --git a/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.15.patch b/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.15.patch
deleted file mode 100644
index 1884c681ca30..000000000000
--- a/nixpkgs/pkgs/development/compilers/go/ssl-cert-file-1.15.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/src/crypto/x509/root_darwin_amd64.go b/src/crypto/x509/root_darwin_amd64.go
-index ce88de025e..258ecc45d1 100644
---- a/src/crypto/x509/root_darwin_amd64.go
-+++ b/src/crypto/x509/root_darwin_amd64.go
-@@ -10,6 +10,7 @@ import (
- 	"bytes"
- 	macOS "crypto/x509/internal/macos"
- 	"fmt"
-+	"io/ioutil"
- 	"os"
- 	"strings"
- )
-@@ -25,6 +26,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
- var loadSystemRootsWithCgo func() (*CertPool, error)
- 
- func loadSystemRoots() (*CertPool, error) {
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots := NewCertPool()
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
- 	var trustedRoots []*Certificate
- 	untrustedRoots := make(map[string]bool)
- 
-diff --git a/src/crypto/x509/root_darwin_ios.go b/src/crypto/x509/root_darwin_ios.go
-index 5ecc4911b3..14b4205c00 100644
---- a/src/crypto/x509/root_darwin_ios.go
-+++ b/src/crypto/x509/root_darwin_ios.go
-@@ -6,6 +6,11 @@
- 
- package x509
- 
-+import (
-+	"io/ioutil"
-+	"os"
-+)
-+
- func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate, err error) {
- 	return nil, nil
- }
-@@ -14,6 +19,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
- var loadSystemRootsWithCgo func() (*CertPool, error)
- 
- func loadSystemRoots() (*CertPool, error) {
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots := NewCertPool()
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
- 	p := NewCertPool()
- 	p.AppendCertsFromPEM([]byte(systemRootsPEM))
- 	return p, nil
-diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
-index b48e618a65..195c1ff25a 100644
---- a/src/crypto/x509/root_unix.go
-+++ b/src/crypto/x509/root_unix.go
-@@ -42,6 +42,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
- 
- func loadSystemRoots() (*CertPool, error) {
- 	roots := NewCertPool()
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
- 
- 	files := certFiles
- 	if f := os.Getenv(certFileEnv); f != "" {
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix
index 9ce6a98e1cd9..f53e9a038963 100644
--- a/nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix
+++ b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix
@@ -9,7 +9,7 @@ in
   inherit mkGraal;
 
   graalvm11-ce = mkGraal rec {
-    version = "21.3.0";
+    version = "22.0.0.2";
     javaVersion = "11";
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
   };
@@ -20,7 +20,7 @@ in
   # directory"/tmp/SVM-4194439592488143713"): error=0, Failed to exec spawn
   # helper: pid: 19865, exit value: 1"
   graalvm17-ce = mkGraal rec {
-    version = "21.3.0";
+    version = "22.0.0.2";
     javaVersion = "17";
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/community-edition/hashes.nix b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/hashes.nix
index 98f3b2703c4f..f21fdb252708 100644
--- a/nixpkgs/pkgs/development/compilers/graalvm/community-edition/hashes.nix
+++ b/nixpkgs/pkgs/development/compilers/graalvm/community-edition/hashes.nix
@@ -3,55 +3,55 @@
 [
   {
     sha256 = {
-      "11-linux-aarch64" = "0hsjxp6ly7jsn9k94fddcl7afc5gda66jyppcnfvslishbizqd0i";
-      "17-linux-aarch64" = "09hzl80m7f5ppmcvryz9aq0yw9scdkp5dqhblrqnkzyhvdjl5ycn";
-      "11-linux-amd64" = "1ylk5l933z813k0k1xlayiv8fa0f1gmpr66bma51532iy3mch6rs";
-      "17-linux-amd64" = "1xn3shwkai61vvzsg595k8776a21ds00w2pjlscvfcbs1ag07n0i";
-      "11-darwin-amd64" = "0qpqnnmqxvxzj3mwz05acpg4n8ffqsz0sji8lbl03fgswpvgfavc";
-      "17-darwin-amd64" = "1akpsrd9r2igcls0cvhpqw3jrnh59m8z80knx83lmj0cj836a8v0";
+      "11-linux-aarch64" = "0n1cgd9rn5aw7rzbd45nlzpnqif095zwl3999vddlhpnjlyjdh0w";
+      "17-linux-aarch64" = "1iw27igiyzzl43yfgid1h6h7hd0xnv0rfdkp4r7r8i51sa3q7my7";
+      "11-linux-amd64" = "00vipkrhc7d5xxznm07pjrdjahhfg5s5vxg49xz8qxz2nwxhi1mw";
+      "17-linux-amd64" = "1m4v2s1b2878r6dqpcxvbqpc3s2l8l0xcbna37bbfx6rsc73wx2g";
+      "11-darwin-amd64" = "08v37avg439hywx2yqx0bnfpazwaja2xhyc0kj1imib6iadib042";
+      "17-darwin-amd64" = "16lg3qfx7j8w8cxc3abl7c19nj6jhkni99wmff153lyhyk8zjjnm";
     }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java${javaVersionPlatform}-21.3.0.tar.gz";
+    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java${javaVersionPlatform}-22.0.0.2.tar.gz";
   }
   {
     sha256 = {
-      "11-linux-aarch64" = "0qlmg5fwvqsb5ab3irj2hrcd5jc94mibnlz1gvzpnq85rw1zcb6h";
-      "17-linux-aarch64" = "0jmarhwngs6vpbcgsix0dxhj42qj9vnk3vln8fhdxmydwnns8r1m";
-      "11-linux-amd64" = "0kvnjr55rizy53vn0ff9w27z1qh9d1vp3s7r1kdl0wyhrbhd8n49";
-      "17-linux-amd64" = "0h14sml42jda54agjs1prfnyjaxxsc67350fr51n8p20nl28lj6z";
-      "11-darwin-amd64" = "1mg8c8hh8wmbwsisgarmp35jd0dall1fwdv49mggp74hicbc32h3";
-      "17-darwin-amd64" = "0qz0xf2ph9gi45vvri7vphxh35m11nk7sa8nkwxl28l8bza0kb40";
+      "11-linux-aarch64" = "17h0yfw0lxsiblqv1nzpc6i71vh6hbwf1x6lp7kziass1a4ixm2i";
+      "17-linux-aarch64" = "1nvm04smzbis1jy9znac2a4yf9ajqvvmadcf5ffr521rm784g2br";
+      "11-linux-amd64" = "07g7fab0zj1h77a30kiswqm0hvr1m5s6crszcbyvha2v3x2a6145";
+      "17-linux-amd64" = "0c8qi7b63zkjrz3sz01bbmfni7pcz9nq1jv1f34lj9lcsm8gc9cc";
+      "11-darwin-amd64" = "0xn1frj1f4pzrd5gm6xwq31blgvz8l9249c97q3yh7p6rkk7vhh3";
+      "17-darwin-amd64" = "1dr80314fxcklmhi19jn3pqrsz3iivbvcxnphdzl978krm1afzq0";
     }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/native-image-installable-svm-java${javaVersionPlatform}-21.3.0.jar";
+    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
   }
   {
     sha256 = {
-      "11-linux-aarch64" = "02rvwl1nng8d3qn226rjx5yq2blxs4yz009ab928qanhmb4vhv8b";
-      "17-linux-aarch64" = "13kaxbgfp9pm6s28i5hfyg957iiwzrxf0ibibkv2yndgj64vj8xg";
-      "11-linux-amd64" = "0zz62zr7imjaw9a3j5m66xs7c72cqb1i74ab3rnlh0dgs1mdpljg";
-      "17-linux-amd64" = "1v2iwznlav8dsjj30nlhvsvv7pxmyzkhkp1p7spjjma09d34q4iv";
-      "11-darwin-amd64" = "1wiv0299b2xrc229alczmjfj1bsn90p0wdm64rr39xnyyhbqrr80";
-      "17-darwin-amd64" = "095sii8ibjcvvc6wnxk77ax151c4zgj8bpp81q3kyaazgpzvrk5s";
+      "11-linux-aarch64" = "103d91sz2dmlc5hcbi9v3d3irgb83755hz16vkknfhbbkhm5iyz0";
+      "17-linux-aarch64" = "0vas98knpvpajmv8bkgcf0fh7n5fy361nd47002cpppg6hrp7k9q";
+      "11-linux-amd64" = "0h4s1dgx2wn63pabdckl85s70s1kw97vp0c8z7izihdn2fy7w3z9";
+      "17-linux-amd64" = "1g98ashyvscwyn1k8mamih6qhcbxsk62x6ynd7x81ndy1karlv6q";
+      "11-darwin-amd64" = "1y8d6c2ri7hrvsv3aqbcp49pmxh9yppcsfnx0jcwm88wlach0p52";
+      "17-darwin-amd64" = "13a6rchnaczpmxga6g405z55913ayq5gwihzlvyy6shk6gwbcppw";
     }.${javaVersionPlatform} or null;
-    url = "https://github.com/oracle/truffleruby/releases/download/vm-21.3.0/ruby-installable-svm-java${javaVersionPlatform}-21.3.0.jar";
+    url = "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
   }
   {
     sha256 = {
-      "11-linux-aarch64" = "1ck4c1z98h1zn4i6xhh1hb6w2jab6n17ddykb72xxw4vig9nhlc7";
-      "17-linux-aarch64" = "0p9gx5iq730br9wvacxs4403anxnjln6mx8v0dl4w4lhikjxsy8x";
-      "11-linux-amd64" = "0gy8jj9d9msmj0i44sysiwq3j2k2w2g47fhq6y1aq47n3kmwj9kv";
-      "17-linux-amd64" = "0qk8rgbmnk84isnb33x5bbh17bnnmq9yqasfgy5p953min6pbxj7";
-      "11-darwin-amd64" = "0agw6k3jn2jh8wyc9h8rvzlgs96qh4nlj0y8nyzsmidvwq2ahl00";
-      "17-darwin-amd64" = "0l1il0rq48sw6sha9jr0xphjgrm7q0kywy8z94mabm9maqh7l3rn";
+      "11-linux-aarch64" = "135zkpqm8z5nzcyn5h6vdx3c09f9wb6jgzmp0llcnx8w76p71154";
+      "17-linux-aarch64" = "0pij3kh70lxrzmbzx8zw97f9nb0rr492l7x3n13wcr859cr8akas";
+      "11-linux-amd64" = "0ppvsgs216jmm5p8m34lqg2kv0awadh1dlkxb7qzcw2b6x0grzf0";
+      "17-linux-amd64" = "1gf0jfmqy8lp6w7bimjp0j5abzmi0ndsn4hcjvfv7123lbj52zkz";
+      "11-darwin-amd64" = "1mq6013crjmrpf3yvxwv9p4yn0rcdzg5z9hq9l6fpf47i8522k6p";
+      "17-darwin-amd64" = "15l7p48vsca4cvqxbpb9lcmafysmdsxpv6avrpxajz705j3nsvmp";
     }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/wasm-installable-svm-java${javaVersionPlatform}-21.3.0.jar";
+    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
   }
   {
     sha256 = {
-      "11-linux-amd64" = "1l5av2v459q88zfl83877h7b3426z3d86kp6wqjvz2441brvidi0";
-      "17-linux-amd64" = "100p1cgw0z4yfy4axb3gr32m8jnyx1f8bj6f6kk0mf3l8fv2kb7p";
-      "11-darwin-amd64" = "06694n74dzsfwlli1sjdsrfbj9ngw7bhrcayvy4sgy2va5qpdjs0";
-      "17-darwin-amd64" = "1qwg45q0760lsa62h0nk2zdv0r1npr82bh6p1z3md6pjppm7i025";
+      "11-linux-amd64" = "0m8cqqqdks34b2zv7i6qw9kzqxi1rfqsmknqa9wm0b7dqaxx209g";
+      "17-linux-amd64" = "12nszxp2yv35y8zkm94bnd0mnanah48y41r61ypymd19plaqmdxk";
+      "11-darwin-amd64" = "00g6akpv0gkw8gcxfbgcyipn6gj25yr32k1lb7iqj08bq4f2zvk7";
+      "17-darwin-amd64" = "1hd71qg0nmklyakl4cc29vl10fxalbyd2b5yn7x9iv6m0h1pp25g";
     }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalpython/releases/download/vm-21.3.0/python-installable-svm-java${javaVersionPlatform}-21.3.0.jar";
+    url = "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
   }
 ]
diff --git a/nixpkgs/pkgs/development/compilers/hip/default.nix b/nixpkgs/pkgs/development/compilers/hip/default.nix
index 68c6ea39cf7e..5a7e9dd5a529 100644
--- a/nixpkgs/pkgs/development/compilers/hip/default.nix
+++ b/nixpkgs/pkgs/development/compilers/hip/default.nix
@@ -16,7 +16,7 @@
 , makeWrapper
 , numactl
 , perl
-, python
+, python3
 , rocclr
 , rocm-comgr
 , rocm-device-libs
@@ -56,7 +56,7 @@ let
       substituteInPlace bin/hip_embed_pch.sh \
         --replace '$LLVM_DIR/bin/' ""
 
-      sed 's,#!/usr/bin/python,#!${python}/bin/python,' -i hip_prof_gen.py
+      sed 's,#!/usr/bin/python,#!${python3.interpreter},' -i hip_prof_gen.py
 
       sed -e 's,$ROCM_AGENT_ENUM = "''${ROCM_PATH}/bin/rocm_agent_enumerator";,$ROCM_AGENT_ENUM = "${rocminfo}/bin/rocm_agent_enumerator";,' \
           -e 's,^\($DEVICE_LIB_PATH=\).*$,\1"${rocm-device-libs}/amdgcn/bitcode";,' \
@@ -111,7 +111,7 @@ stdenv.mkDerivation rec {
     sha256 = "WvOuQu/EN81Kwcoc3ZtGlhb996edQJ3OWFsmPuqeNXE=";
   };
 
-  nativeBuildInputs = [ cmake python makeWrapper perl ];
+  nativeBuildInputs = [ cmake python3 makeWrapper perl ];
   buildInputs = [ libxml2 numactl libglvnd libX11 ];
   propagatedBuildInputs = [
     clang
diff --git a/nixpkgs/pkgs/development/compilers/idris2/default.nix b/nixpkgs/pkgs/development/compilers/idris2/default.nix
index 4bf8f7e4af6c..9c7a9e53a2e6 100644
--- a/nixpkgs/pkgs/development/compilers/idris2/default.nix
+++ b/nixpkgs/pkgs/development/compilers/idris2/default.nix
@@ -1,18 +1,27 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, makeWrapper
-, clang
+# Almost 1:1 copy of idris2's nix/platform.nix. Some work done in their flake.nix
+# we do here instead.
+{ stdenv
+, lib
 , chez
+, chez-racket
+, clang
 , gmp
+, fetchFromGitHub
+, makeWrapper
+, gambit
+, nodejs
 , zsh
 , callPackage
 }:
 
 # NOTICE: An `idris2WithPackages` is available at: https://github.com/claymager/idris2-pkgs
 
+let
+  # Taken from Idris2/idris2/flake.nix. Check if the idris2 project does it this
+  # way, still, every now and then.
+  platformChez = if stdenv.system == "x86_64-linux" then chez else chez-racket;
 # Uses scheme to bootstrap the build of idris2
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "idris2";
   version = "0.5.1";
 
@@ -23,14 +32,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-6CTn8o5geWSesXO7vTrrV/2EOQ3f+nPQ2M5cem13ZSY=";
   };
 
-  # We do not add any propagatedNativeBuildInputs because we do not want the
-  # executables idris2 produces to depend on the nix-store. As such, it is left
-  # to the user to guarantee chez (or any other codgen dependency) is available
-  # in the path during compilation of programs with idris2.
   strictDeps = true;
-  nativeBuildInputs = [ makeWrapper clang chez ]
+  nativeBuildInputs = [ makeWrapper clang platformChez ]
     ++ lib.optional stdenv.isDarwin [ zsh ];
-  buildInputs = [ gmp ];
+  buildInputs = [ platformChez gmp ];
 
   prePatch = ''
     patchShebangs --build tests
@@ -43,44 +48,40 @@ stdenv.mkDerivation rec {
   buildFlags = [ "bootstrap" "SCHEME=scheme" ];
 
   checkTarget = "test";
+  checkInputs = [ gambit nodejs ]; # racket ];
+  checkFlags = [ "INTERACTIVE=" ];
 
   # TODO: Move this into its own derivation, such that this can be changed
   #       without having to recompile idris2 every time.
   postInstall = let
-    includedLibs = [ "base" "contrib" "network" "prelude" ];
     name = "${pname}-${version}";
-    packagePaths =
-      builtins.map (l: "$out/${name}/${l}-${version}") includedLibs;
-    additionalIdris2Paths = builtins.concatStringsSep ":" packagePaths;
+    globalLibraries = [
+      "\\$HOME/.nix-profile/lib/${name}"
+      "/run/current-system/sw/lib/${name}"
+      "$out/${name}"
+    ];
+    globalLibrariesPath = builtins.concatStringsSep ":" globalLibraries;
   in ''
     # Remove existing idris2 wrapper that sets incorrect LD_LIBRARY_PATH
     rm $out/bin/idris2
-    # Move actual idris2 binary
+    # The only thing we need from idris2_app is the actual binary
     mv $out/bin/idris2_app/idris2.so $out/bin/idris2
-
-    # After moving the binary, there is nothing left in idris2_app that isn't
-    # either contained in lib/ or is useless to us.
     rm $out/bin/idris2_app/*
     rmdir $out/bin/idris2_app
-
     # idris2 needs to find scheme at runtime to compile
-    # idris2 installs packages with --install into the path given by PREFIX.
-    # Since PREFIX is in nix-store, it is immutable so --install does not work.
-    # If the user redefines PREFIX to be able to install packages, idris2 will
-    # not find the libraries and packages since all paths are relative to
-    # PREFIX by default.
-    # We explicitly make all paths to point to nix-store, such that they are
-    # independent of what IDRIS2_PREFIX is. This allows the user to redefine
-    # IDRIS2_PREFIX and use --install as expected.
+    # idris2 installs packages with --install into the path given by
+    #   IDRIS2_PREFIX. We set that to a default of ~/.idris2, to mirror the
+    #   behaviour of the standard Makefile install.
     # TODO: Make support libraries their own derivation such that
     #       overriding LD_LIBRARY_PATH is unnecessary
-    # TODO: Maybe set IDRIS2_PREFIX to the users home directory
     wrapProgram "$out/bin/idris2" \
-      --set-default CHEZ "${chez}/bin/scheme" \
+      --set-default CHEZ "${platformChez}/bin/scheme" \
+      --run 'export IDRIS2_PREFIX=''${IDRIS2_PREFIX-"$HOME/.idris2"}' \
       --suffix IDRIS2_LIBS ':' "$out/${name}/lib" \
       --suffix IDRIS2_DATA ':' "$out/${name}/support" \
-      --suffix IDRIS2_PATH ':' "${additionalIdris2Paths}" \
-      --suffix ${if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"} ':' "$out/${name}/lib"
+      --suffix IDRIS2_PACKAGE_PATH ':' "${globalLibrariesPath}" \
+      --suffix DYLD_LIBRARY_PATH ':' "$out/${name}/lib" \
+      --suffix LD_LIBRARY_PATH ':' "$out/${name}/lib"
   '';
 
   # Run package tests
diff --git a/nixpkgs/pkgs/development/compilers/idris2/tests.nix b/nixpkgs/pkgs/development/compilers/idris2/tests.nix
index 1e84ca6b77aa..a8d48c26ca6f 100644
--- a/nixpkgs/pkgs/development/compilers/idris2/tests.nix
+++ b/nixpkgs/pkgs/development/compilers/idris2/tests.nix
@@ -50,6 +50,7 @@ in {
   # Data.Vect.Sort is available via --package contrib
   use-contrib = testCompileAndRun {
     testName = "use-contrib";
+    packages = [ "contrib" ];
     code = ''
       module Main
 
diff --git a/nixpkgs/pkgs/development/compilers/inklecate/default.nix b/nixpkgs/pkgs/development/compilers/inklecate/default.nix
index 6ed01d9bbcf6..32b91f5ddfec 100644
--- a/nixpkgs/pkgs/development/compilers/inklecate/default.nix
+++ b/nixpkgs/pkgs/development/compilers/inklecate/default.nix
@@ -1,54 +1,43 @@
-{ lib, stdenv, fetchurl, unzip, makeWrapper }:
-
-stdenv.mkDerivation rec {
+{ lib
+, stdenv
+, autoPatchelfHook
+, buildDotnetModule
+, dotnetCorePackages
+, fetchFromGitHub
+}:
+
+buildDotnetModule rec {
   pname = "inklecate";
   version = "1.0.0";
 
-  src =
-    if stdenv.isLinux then
-      fetchurl {
-        url    = "https://github.com/inkle/ink/releases/download/v${version}/inklecate_linux.zip";
-        sha256 = "6e17db766222998ba0ae5a5da9857e34896e683b9ec42fad528c3f8bea7398ea";
-        name   = "${pname}-${version}";
-      }
-    else if stdenv.isDarwin then
-      fetchurl {
-        url    = "https://github.com/inkle/ink/releases/download/v${version}/inklecate_mac.zip";
-        sha256 = "b6f4dd1f95c180637ce193dbb5fa6d59aeafe49a2121a05b7822e6cbbaa6931f";
-        name   = "${pname}-${version}";
-      }
-    else throw "Not supported on ${stdenv.hostPlatform.system}.";
-
-  # Work around the "unpacker appears to have produced no directories"
-  # case that happens when the archive doesn't have a subdirectory.
-  setSourceRoot = "sourceRoot=$(pwd)";
-
-  nativeBuildInputs = [ unzip makeWrapper ];
-
-  unpackPhase = ''
-    unzip -qq -j $src -d $pname-$version
-
-    rm $pname-$version/ink-engine-runtime.dll
-    rm $pname-$version/ink_compiler.dll
-  '';
+  src = fetchFromGitHub {
+    owner = "inkle";
+    repo = "ink";
+    rev = "v${version}";
+    sha256 = "00lagmwsbxap5mgnw4gndpavmv3xsgincdaq1zvw7fkc3vn3pxqc";
+  };
 
-  installPhase = ''
-    mkdir -p $out/bin/
+  nativeBuildInputs = [ autoPatchelfHook ];
+  buildInputs = [ stdenv.cc.cc.lib ];
 
-    cp $pname-$version/inklecate $out/bin/inklecate
-  '';
+  projectFile = "inklecate/inklecate.csproj";
+  nugetDeps = if stdenv.isDarwin then ./deps-darwin.nix else ./deps-linux.nix;
+  executables = [ "inklecate" ];
 
+  dotnet-runtime = dotnetCorePackages.runtime_3_1;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
 
   meta = with lib; {
-    description     = "Compiler for ink, inkle's scripting language";
+    description = "Compiler for ink, inkle's scripting language";
     longDescription = ''
       Inklecate is a command-line compiler for ink, inkle's open source
       scripting language for writing interactive narrative
-      '';
-    homepage        = "https://www.inklestudios.com/ink/";
-    downloadPage    = "https://github.com/inkle/ink/releases";
-    license         = licenses.mit;
-    platforms       = platforms.unix;
-    maintainers     = with maintainers; [ shreerammodi ];
+    '';
+    homepage = "https://www.inklestudios.com/ink/";
+    downloadPage = "https://github.com/inkle/ink/";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    badPlatforms = platforms.aarch64;
+    maintainers = with maintainers; [ shreerammodi ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/inklecate/deps-darwin.nix b/nixpkgs/pkgs/development/compilers/inklecate/deps-darwin.nix
new file mode 100644
index 000000000000..b8aaefebc5b5
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/inklecate/deps-darwin.nix
@@ -0,0 +1,31 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.21"; sha256 = "1s5g9gk0hvs268q2zpc32m0my2m2ivlmsmza86797a9vkxr6pzw6"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (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.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (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"; 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"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (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"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (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/nixpkgs/pkgs/development/compilers/inklecate/deps-linux.nix b/nixpkgs/pkgs/development/compilers/inklecate/deps-linux.nix
new file mode 100644
index 000000000000..8f26b91eeacc
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/inklecate/deps-linux.nix
@@ -0,0 +1,31 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.21"; sha256 = "01kbhi29lhv6mg1zfsyakz3z8hfbxnc0kxy0fczl8xqviik9svx7"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (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.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (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/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix b/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
index 85332a946450..176affd047c9 100644
--- a/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/nixpkgs/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -77,5 +77,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ gloaming ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/intel-graphics-compiler.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
index e36dedf3c875..bfff07aabcb2 100644
--- a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix b/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix
index 5f99fb10cee2..696f7acb3311 100644
--- a/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix
@@ -31,5 +31,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with lib.maintainers; [ lach ];
     license = lib.licenses.mit;
     homepage = "https://github.com/CertainLach/jrsonnet";
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/jrsonnet.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
index e85404c58b55..f85ec0118b94 100644
--- a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "jsonnet";
-  version = "0.17.0";
+  version = "0.18.0";
   outputs = ["out" "doc"];
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "google";
     repo = "jsonnet";
-    sha256 = "1ddz14699v5lqx3dh0mb7hfffr6fk5zhmzn3z8yxkqqvriqnciim";
+    sha256 = "sha256-RmuvpKv9Dg3JcxsdZDBMehJjG5SvrV0spHgxApFeuJo=";
   };
 
   nativeBuildInputs = [ jekyll ];
diff --git a/nixpkgs/pkgs/development/compilers/julia/1.7-bin.nix b/nixpkgs/pkgs/development/compilers/julia/1.7-bin.nix
index dab58674f9d2..788825d90be9 100644
--- a/nixpkgs/pkgs/development/compilers/julia/1.7-bin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/ligo/default.nix b/nixpkgs/pkgs/development/compilers/ligo/default.nix
index 9a6764191d63..33a0ad49bd3d 100644
--- a/nixpkgs/pkgs/development/compilers/ligo/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ligo/default.nix
@@ -6,12 +6,12 @@
 
 coq.ocamlPackages.buildDunePackage rec {
   pname = "ligo";
-  version = "0.27.0";
+  version = "0.34.0";
   src = fetchFromGitLab {
     owner = "ligolang";
     repo = "ligo";
     rev = version;
-    sha256 = "sha256-OUrjMlAWxTPs56ltMt0I/XR9GScD6upXU2arT99u8hk=";
+    sha256 = "sha256-MHkIr+XkW/zrRt+Cg48q4fOWTkNGH0hbf+oU7cAivNE=";
   };
 
   # The build picks this up for ligo --version
@@ -31,6 +31,7 @@ coq.ocamlPackages.buildDunePackage rec {
     tezos-base
     tezos-shell-services
     tezos-010-PtGRANAD-test-helpers
+    tezos-011-PtHangz2-test-helpers
     tezos-protocol-010-PtGRANAD-parameters
     tezos-protocol-010-PtGRANAD
     tezos-protocol-environment
@@ -42,6 +43,8 @@ coq.ocamlPackages.buildDunePackage rec {
     data-encoding
     bisect_ppx
     cmdliner
+    core
+    ocaml-recovery-parser
   ];
 
   checkInputs = [
@@ -49,7 +52,7 @@ coq.ocamlPackages.buildDunePackage rec {
     coq.ocamlPackages.ca-certs
   ];
 
-  doCheck = true;
+  doCheck = false; # Tests fail, but could not determine the reason
 
   meta = with lib; {
     homepage = "https://ligolang.org/";
diff --git a/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix b/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix
index b843fd5e850f..bb25853ee36d 100644
--- a/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix
+++ b/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix
@@ -7,8 +7,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "revol-xut";
     repo = "lingua-franca-nix-releases";
-    rev = "11c6d5297cd63bf0b365a68c5ca31ec80083bd05";
-    sha256 = "DgxunzC8Ep0WdwChDHWgG5QJbJZ8UgQRXtP1HZqL9Jg=";
+    rev = "d37bbfa530f0189c3e86ce0191134cdf42c6aec7";
+    sha256 = "/qMBOjffvShCPcbh9rJ7aVgdgZQ1hilHakjLyEhSmgs=";
   };
 
   buildInputs = [ jdk11_headless ];
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix
index b42f40b96943..5336e4ea35a3 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/10/clang/default.nix
@@ -29,7 +29,6 @@ let
       "-DCMAKE_CXX_FLAGS=-std=c++14"
       "-DCLANGD_BUILD_XPC=OFF"
       "-DLLVM_ENABLE_RTTI=ON"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/default.nix
index 8bd7e937e7d7..5cb6c278659d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/10/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/10/default.nix
@@ -89,7 +89,11 @@ let
     #   python3 = pkgs.python3;  # don't use python-boot
     # });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix
index 30a2d016d67c..bb1b90b36a92 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/10/llvm/default.nix
@@ -57,6 +57,12 @@ in stdenv.mkDerivation (rec {
   propagatedBuildInputs = [ ncurses zlib ];
 
   patches = [
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
     # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
     (fetchpatch {
@@ -93,11 +99,6 @@ in stdenv.mkDerivation (rec {
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -122,6 +123,32 @@ in stdenv.mkDerivation (rec {
     rm test/ExecutionEngine/frem.ll
   '' + ''
     patchShebangs test/BugPoint/compile-custom.ll.py
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+      test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+      test/Transforms/SCCP/preserve-analysis.ll \
+      test/Transforms/SROA/dead-inst.ll \
+      test/tools/gold/X86/new-pm.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -130,18 +157,28 @@ in stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -167,7 +204,21 @@ in stdenv.mkDerivation (rec {
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -197,7 +248,8 @@ in stdenv.mkDerivation (rec {
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/10/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/10/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/10/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix
index 9eed5269da6b..58439f02a5c9 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/clang/default.nix
@@ -30,7 +30,7 @@ let
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++14"
       "-DCLANGD_BUILD_XPC=OFF"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+      "-DLLVM_ENABLE_RTTI=ON"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/default.nix
index ebd0dc672aa3..82a78af85cac 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/11/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/default.nix
@@ -104,7 +104,11 @@ let
     #   python3 = pkgs.python3;  # don't use python-boot
     # });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
index 81ac4cb1ed08..e8cfd23faa7e 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/llvm/default.nix
@@ -57,6 +57,12 @@ in stdenv.mkDerivation (rec {
   propagatedBuildInputs = [ ncurses zlib ];
 
   patches = [
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
     # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
     (fetchpatch {
@@ -91,11 +97,6 @@ in stdenv.mkDerivation (rec {
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -120,6 +121,32 @@ in stdenv.mkDerivation (rec {
     rm test/ExecutionEngine/frem.ll
   '' + ''
     patchShebangs test/BugPoint/compile-custom.ll.py
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+      test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+      test/Transforms/SCCP/preserve-analysis.ll \
+      test/Transforms/SROA/dead-inst.ll \
+      test/tools/gold/X86/new-pm.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -131,18 +158,38 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
+  ] ++ optionals stdenv.hostPlatform.isStatic [
+    # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+    "-DLLVM_ENABLE_PIC=OFF"
+    "-DLLVM_BUILD_STATIC=ON"
+    # libxml2 needs to be disabled because the LLVM build system ignores its .la
+    # file and doesn't link zlib as well.
+    # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+    "-DLLVM_ENABLE_LIBXML2=OFF"
+    # This is a Shared Library not tied to LLVM_ENABLE_PIC
+    "-DLLVM_TOOL_REMARKS_SHLIB_BUILD=OFF"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -168,7 +215,21 @@ in stdenv.mkDerivation (rec {
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -198,7 +259,8 @@ in stdenv.mkDerivation (rec {
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/11/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/11/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix
index d6ee37524415..0f1e160bbce8 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix
@@ -31,7 +31,7 @@ let
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++14"
       "-DCLANGD_BUILD_XPC=OFF"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+      "-DLLVM_ENABLE_RTTI=ON"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
index 13c611ca8cc6..4b2907ed3078 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation {
     "-DCOMPILER_RT_BUILD_XRAY=OFF"
     "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
     "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+    "-DCOMPILER_RT_BUILD_MEMPROF=OFF"
   ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [
     "-DCMAKE_C_COMPILER_WORKS=ON"
     "-DCMAKE_CXX_COMPILER_WORKS=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/default.nix
index e68522faea06..4a2a7ee87894 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/default.nix
@@ -92,7 +92,11 @@ let
     #   python3 = pkgs.python3;  # don't use python-boot
     # });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/libcxx/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/libcxx/default.nix
index 30dc3f4f206c..3ddcb7997505 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/libcxx/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/libcxx/default.nix
@@ -23,12 +23,6 @@ stdenv.mkDerivation {
     ../../libcxx-0001-musl-hacks.patch
   ];
 
-  # Prevent errors like "error: 'foo' is unavailable: introduced in macOS yy.zz"
-  postPatch = ''
-    substituteInPlace include/__config \
-      --replace "#    define _LIBCPP_USE_AVAILABILITY_APPLE" ""
-  '';
-
   preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
     patchShebangs utils/cat_files.py
   '';
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
index 30a1a7a16df8..2c035ee67a9e 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/default.nix
@@ -58,6 +58,15 @@ in stdenv.mkDerivation (rec {
     ++ [ zlib ];
 
   patches = [
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+    # Fix llvm being miscompiled by some gccs. See llvm/llvm-project#49955
+    # Fix llvm being miscompiled by some gccs. See https://github.com/llvm/llvm-project/issues/49955
+    ./fix-llvm-issue-49955.patch
+
     ./gnu-install-dirs.patch
     # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
     (fetchpatch {
@@ -72,11 +81,6 @@ in stdenv.mkDerivation (rec {
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -105,6 +109,33 @@ in stdenv.mkDerivation (rec {
     rm test/ExecutionEngine/frem.ll
   '' + ''
     patchShebangs test/BugPoint/compile-custom.ll.py
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-O0-defaults.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+      test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+      test/Transforms/SCCP/preserve-analysis.ll \
+      test/Transforms/SROA/dead-inst.ll \
+      test/tools/gold/X86/new-pm.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -116,18 +147,36 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
+  ] ++ optionals stdenv.hostPlatform.isStatic [
+    # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+    "-DLLVM_ENABLE_PIC=OFF"
+    "-DLLVM_BUILD_STATIC=ON"
+    # libxml2 needs to be disabled because the LLVM build system ignores its .la
+    # file and doesn't link zlib as well.
+    # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+    "-DLLVM_ENABLE_LIBXML2=OFF"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -153,7 +202,21 @@ in stdenv.mkDerivation (rec {
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -183,7 +246,8 @@ in stdenv.mkDerivation (rec {
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch
new file mode 100644
index 000000000000..b515583a0c42
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/CodeGen/AsmPrinter/CMakeLists.txt b/lib/CodeGen/AsmPrinter/CMakeLists.txt
+index eb924282..c77c140b 100644
+--- a/lib/CodeGen/AsmPrinter/CMakeLists.txt
++++ b/lib/CodeGen/AsmPrinter/CMakeLists.txt
+@@ -44,3 +44,8 @@ add_llvm_component_library(LLVMAsmPrinter
+   Support
+   Target
+   )
++
++if (CMAKE_COMPILER_IS_GNUCXX)
++  set_source_files_properties(DwarfCompileUnit.cpp PROPERTIES
++                              COMPILE_FLAGS -fno-strict-aliasing)
++endif()
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/12/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/12/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix
index ab826fa31526..6c227f1ae72b 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/clang/default.nix
@@ -21,7 +21,7 @@ let
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++14"
       "-DCLANGD_BUILD_XPC=OFF"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+      "-DLLVM_ENABLE_RTTI=ON"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
index e30db5fcd954..10b89b91b96f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
@@ -33,6 +33,8 @@ stdenv.mkDerivation {
     "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
     "-DCOMPILER_RT_BUILD_XRAY=OFF"
     "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+    "-DCOMPILER_RT_BUILD_MEMPROF=OFF"
+    "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary
   ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [
     "-DCMAKE_C_COMPILER_WORKS=ON"
     "-DCMAKE_CXX_COMPILER_WORKS=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/default.nix
index a89c6dabe391..be5e9404cdd4 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/13/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/default.nix
@@ -93,7 +93,11 @@ let
     #   python3 = pkgs.python3;  # don't use python-boot
     # });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix
index ddf51d9a2fa4..0ce73ed97af6 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/libcxx/default.nix
@@ -25,12 +25,6 @@ stdenv.mkDerivation rec {
     ../../libcxx-0001-musl-hacks.patch
   ];
 
-  # Prevent errors like "error: 'foo' is unavailable: introduced in macOS yy.zz"
-  postPatch = ''
-    substituteInPlace include/__config \
-      --replace "#    define _LIBCPP_USE_AVAILABILITY_APPLE" ""
-  '';
-
   preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
     patchShebangs utils/cat_files.py
   '';
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
index 957f29e44994..abfb2b36d18f 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/default.nix
@@ -52,6 +52,12 @@ in stdenv.mkDerivation (rec {
   checkInputs = [ which ];
 
   patches = [
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
 
     # Fix random compiler crashes: https://bugs.llvm.org/show_bug.cgi?id=50611
@@ -66,11 +72,6 @@ in stdenv.mkDerivation (rec {
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -109,18 +110,36 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
+  ] ++ optionals stdenv.hostPlatform.isStatic [
+    # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+    "-DLLVM_ENABLE_PIC=OFF"
+    "-DLLVM_BUILD_STATIC=ON"
+    # libxml2 needs to be disabled because the LLVM build system ignores its .la
+    # file and doesn't link zlib as well.
+    # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+    "-DLLVM_ENABLE_LIBXML2=OFF"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -146,7 +165,21 @@ in stdenv.mkDerivation (rec {
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -176,7 +209,8 @@ in stdenv.mkDerivation (rec {
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/13/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch
new file mode 100644
index 000000000000..e7abf9735b90
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch
@@ -0,0 +1,10 @@
+--- a/lib/xray/xray_buffer_queue.h
++++ b/lib/xray/xray_buffer_queue.h
+@@ -17,6 +17,7 @@
+ 
+ #include "sanitizer_common/sanitizer_atomic.h"
+ #include "sanitizer_common/sanitizer_mutex.h"
++#include <cstddef>
+ #include <deque>
+ #include <unordered_set>
+ #include <utility>
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
index 874540dd8c3b..f6f59bb6d99b 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
@@ -58,6 +58,7 @@ stdenv.mkDerivation {
 
     ./sys-ustat.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
+    ./compiler-rt-5-cstddef.patch
   ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
index 4593580b72fd..ef9886fb5ea7 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
@@ -65,7 +65,11 @@ let
       python3 = pkgs.python3;  # don't use python-boot
     });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
index fa99e275a623..cf668cd566a6 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
@@ -27,7 +27,7 @@ let
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 in
 
-stdenv.mkDerivation ({
+stdenv.mkDerivation (rec {
   pname = "llvm";
   inherit version;
 
@@ -65,6 +65,13 @@ stdenv.mkDerivation ({
     #  sha256 = "0injj1hqgrbcbihhwp2nbal88jfykad30r54f2cdcx7gws2fcy8i";
     #  stripLen = 1;
     #})
+
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
 
     # Fix invalid std::string(nullptr) for GCC 12
@@ -80,11 +87,6 @@ stdenv.mkDerivation ({
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -100,6 +102,27 @@ stdenv.mkDerivation ({
     substituteInPlace unittests/Support/CMakeLists.txt \
       --replace "add_subdirectory(DynamicLibrary)" ""
     rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -108,20 +131,30 @@ stdenv.mkDerivation ({
     ln -sv $PWD/lib $out
   '';
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
 
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
   ]
-  ++ lib.optional enableSharedLibraries
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
   ++ lib.optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -148,7 +181,21 @@ stdenv.mkDerivation ({
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -179,7 +226,8 @@ stdenv.mkDerivation ({
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isi686);
+  doCheck = stdenv.isLinux && (!stdenv.isi686)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/default.nix
index 9b1caf410bc2..4acfe6cd85d7 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/default.nix
@@ -66,7 +66,11 @@ let
       python3 = pkgs.python3;  # don't use python-boot
     });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix
index 5925fab104fa..61f9234274d3 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/6/llvm/default.nix
@@ -27,7 +27,7 @@ let
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 in
 
-stdenv.mkDerivation ({
+stdenv.mkDerivation (rec {
   pname = "llvm";
   inherit version;
 
@@ -63,6 +63,13 @@ stdenv.mkDerivation ({
       includes = [ "test/tools/gold/X86/common.ll" ];
       sha256 = "0fxgrxmfnjx17w3lcq19rk68b2xksh1bynz3ina784kma7hp4wdb";
     })
+
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
 
     # Fix invalid std::string(nullptr) for GCC 12
@@ -78,11 +85,6 @@ stdenv.mkDerivation ({
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -93,6 +95,29 @@ stdenv.mkDerivation ({
     substituteInPlace unittests/Support/CMakeLists.txt \
       --replace "add_subdirectory(DynamicLibrary)" ""
     rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+      test/Transforms/SROA/dead-inst.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -101,19 +126,29 @@ stdenv.mkDerivation ({
     ln -sv $PWD/lib $out
   '';
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -139,7 +174,21 @@ stdenv.mkDerivation ({
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -170,7 +219,8 @@ stdenv.mkDerivation ({
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isi686);
+  doCheck = stdenv.isLinux && (!stdenv.isi686)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/6/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/6/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix
index d014c043a80d..f0908f30775d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix
@@ -96,7 +96,11 @@ let
       python3 = pkgs.python3;  # don't use python-boot
     });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix
index e4410bedf917..b324e1a0e4d6 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/llvm/default.nix
@@ -31,7 +31,7 @@ let
     let parts = splitVersion release_version; in
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 
-in stdenv.mkDerivation ({
+in stdenv.mkDerivation (rec {
   pname = "llvm";
   inherit version;
 
@@ -67,6 +67,13 @@ in stdenv.mkDerivation ({
       url = "https://github.com/llvm-mirror/llvm/commit/cc1f2a595ead516812a6c50398f0f3480ebe031f.patch";
       sha256 = "0k6k1p5yisgwx417a67s7sr9930rqh1n0zv5jvply8vjjy4b3kf8";
     })
+
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
 
     # Fix invalid std::string(nullptr) for GCC 12
@@ -82,11 +89,6 @@ in stdenv.mkDerivation ({
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -110,6 +112,31 @@ in stdenv.mkDerivation ({
     rm test/ExecutionEngine/frem.ll
   '' + ''
     patchShebangs test/BugPoint/compile-custom.ll.py
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+      test/Transforms/SCCP/preserve-analysis.ll \
+      test/Transforms/SROA/dead-inst.ll \
+      test/tools/gold/X86/new-pm.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -118,19 +145,29 @@ in stdenv.mkDerivation ({
     ln -sv $PWD/lib $out
   '';
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -156,7 +193,21 @@ in stdenv.mkDerivation ({
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -187,7 +238,8 @@ in stdenv.mkDerivation ({
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/7/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/7/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix
index 5cb7720d026f..1d6a5b7d74df 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/clang/default.nix
@@ -30,7 +30,6 @@ let
       "-DCMAKE_CXX_FLAGS=-std=c++11"
       "-DCLANGD_BUILD_XPC=OFF"
       "-DLLVM_ENABLE_RTTI=ON"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/default.nix
index 7252b75a3397..43050a72b922 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/default.nix
@@ -97,7 +97,11 @@ let
       python3 = pkgs.python3;  # don't use python-boot
     });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix
index 8bb2293f8189..efd1707eb337 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/8/llvm/default.nix
@@ -30,7 +30,7 @@ let
   shortVersion = with lib;
     concatStringsSep "." (take 1 (splitVersion release_version));
 
-in stdenv.mkDerivation ({
+in stdenv.mkDerivation (rec {
   pname = "llvm";
   inherit version;
 
@@ -57,6 +57,12 @@ in stdenv.mkDerivation ({
   propagatedBuildInputs = [ ncurses zlib ];
 
   patches = [
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     # Fix missing includes for GCC 10
     (fetchpatch {
       url = "https://bugs.gentoo.org/attachment.cgi?id=612792";
@@ -85,11 +91,6 @@ in stdenv.mkDerivation ({
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -104,6 +105,32 @@ in stdenv.mkDerivation ({
     rm test/CodeGen/AArch64/wineh4.mir
   '' + ''
     patchShebangs test/BugPoint/compile-custom.ll.py
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+      test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+      test/Transforms/SCCP/preserve-analysis.ll \
+      test/Transforms/SROA/dead-inst.ll \
+      test/tools/gold/X86/new-pm.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -112,18 +139,28 @@ in stdenv.mkDerivation ({
     ln -sv $PWD/lib $out
   '';
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -149,7 +186,21 @@ in stdenv.mkDerivation ({
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -179,7 +230,8 @@ in stdenv.mkDerivation ({
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/8/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/8/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/8/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix
index c98b4a830c42..ee124b43bfce 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/clang/default.nix
@@ -30,7 +30,6 @@ let
       "-DCMAKE_CXX_FLAGS=-std=c++11"
       "-DCLANGD_BUILD_XPC=OFF"
       "-DLLVM_ENABLE_RTTI=ON"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
index 9126a614b106..7efe8486a387 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/default.nix
@@ -97,7 +97,11 @@ let
       python3 = pkgs.python3;  # don't use python-boot
     });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix
index f8c474775e48..1dd1455ed6d6 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/llvm/default.nix
@@ -57,6 +57,12 @@ in stdenv.mkDerivation (rec {
   propagatedBuildInputs = [ ncurses zlib ];
 
   patches = [
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
     # Force a test to evaluate the saved benchmark for a CPU for which LLVM has
     # an execution model. See NixOS/nixpkgs#119673.
@@ -83,11 +89,6 @@ in stdenv.mkDerivation (rec {
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -119,6 +120,32 @@ in stdenv.mkDerivation (rec {
     # Fix x86 gold test on non-x86 platforms
     # (similar fix made to others in this directory previously, FWIW)
     patch -p1 -i  ${./fix-test-on-non-x86-like-others.patch}
+  '' + ''
+    # Tweak tests to ignore namespace part of type to support
+    # gcc-12: https://gcc.gnu.org/PR103598.
+    # The change below mangles strings like:
+    #    CHECK-NEXT: Starting llvm::Function pass manager run.
+    # to:
+    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
+    for f in \
+      test/Other/new-pass-manager.ll \
+      test/Other/new-pm-defaults.ll \
+      test/Other/new-pm-lto-defaults.ll \
+      test/Other/new-pm-thinlto-defaults.ll \
+      test/Other/pass-pipeline-parsing.ll \
+      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
+      test/Transforms/Inline/clear-analyses.ll \
+      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
+      test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
+      test/Transforms/SCCP/preserve-analysis.ll \
+      test/Transforms/SROA/dead-inst.ll \
+      test/tools/gold/X86/new-pm.ll \
+      ; do
+      echo "PATCH: $f"
+      substituteInPlace $f \
+        --replace 'Starting llvm::' 'Starting {{.*}}' \
+        --replace 'Finished llvm::' 'Finished {{.*}}'
+    done
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -127,18 +154,28 @@ in stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -164,7 +201,21 @@ in stdenv.mkDerivation (rec {
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -194,7 +245,8 @@ in stdenv.mkDerivation (rec {
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/9/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/9/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix
index a775af3031b7..3873bda2b6d5 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/clang/default.nix
@@ -21,7 +21,7 @@ let
     cmakeFlags = [
       "-DCMAKE_CXX_FLAGS=-std=c++14"
       "-DCLANGD_BUILD_XPC=OFF"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+      "-DLLVM_ENABLE_RTTI=ON"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
index 5874a91e03c8..019148039d17 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
@@ -32,6 +32,8 @@ stdenv.mkDerivation {
     "-DCOMPILER_RT_BUILD_XRAY=OFF"
     "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
     "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+    "-DCOMPILER_RT_BUILD_MEMPROF=OFF"
+    "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary
   ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [
     "-DCMAKE_C_COMPILER_WORKS=ON"
     "-DCMAKE_CXX_COMPILER_WORKS=ON"
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/default.nix
index 666e9be3cd89..890270c851db 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/default.nix
@@ -93,7 +93,11 @@ let
     #   python3 = pkgs.python3;  # don't use python-boot
     # });
 
-    clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
 
     libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/default.nix
index bedfd5afee15..0ddf28909b8e 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/libcxx/default.nix
@@ -25,12 +25,6 @@ stdenv.mkDerivation rec {
     ../../libcxx-0001-musl-hacks.patch
   ];
 
-  # Prevent errors like "error: 'foo' is unavailable: introduced in macOS yy.zz"
-  postPatch = ''
-    substituteInPlace include/__config \
-      --replace "#    define _LIBCPP_USE_AVAILABILITY_APPLE" ""
-  '';
-
   preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
     patchShebangs utils/cat_files.py
   '';
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix
index daf4cfe808b6..fc7030810c5b 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/git/llvm/default.nix
@@ -51,6 +51,12 @@ in stdenv.mkDerivation (rec {
   checkInputs = [ which ];
 
   patches = [
+    # When cross-compiling we configure llvm-config-native with an approximation
+    # of the flags used for the normal LLVM build. To avoid the need for building
+    # a native libLLVM.so (which would fail) we force llvm-config to be linked
+    # statically against the necessary LLVM components always.
+    ../../llvm-config-link-static.patch
+
     ./gnu-install-dirs.patch
   ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
 
@@ -58,11 +64,6 @@ in stdenv.mkDerivation (rec {
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
-  ''
-  # Patch llvm-config to return correct library path based on --link-{shared,static}.
-  + optionalString (enableSharedLibraries) ''
-    substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
-    patch -p1 < ./outputs.patch
   '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
@@ -101,18 +102,36 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
-  cmakeFlags = with stdenv; [
-    "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
     "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
     "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_ENABLE_RTTI=ON"
     "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
     "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableSharedLibraries [
-    "-DLLVM_LINK_LLVM_DYLIB=ON"
+  ] ++ optionals stdenv.hostPlatform.isStatic [
+    # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+    "-DLLVM_ENABLE_PIC=OFF"
+    "-DLLVM_BUILD_STATIC=ON"
+    # libxml2 needs to be disabled because the LLVM build system ignores its .la
+    # file and doesn't link zlib as well.
+    # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+    "-DLLVM_ENABLE_LIBXML2=OFF"
   ] ++ optionals enableManpages [
     "-DLLVM_BUILD_DOCS=ON"
     "-DLLVM_ENABLE_SPHINX=ON"
@@ -138,7 +157,21 @@ in stdenv.mkDerivation (rec {
           "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
           "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
         ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=${lib.concatStringsSep ";" nativeToolchainFlags}"
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
     )
   ];
 
@@ -168,7 +201,8 @@ in stdenv.mkDerivation (rec {
     cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
   '';
 
-  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl);
+  doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl)
+    && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   checkTarget = "check-all";
 
diff --git a/nixpkgs/pkgs/development/compilers/llvm/git/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/git/llvm/outputs.patch
deleted file mode 100644
index 40096fa3497f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/git/llvm/outputs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 94d426b..37f7794 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
-+  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
-+  }
-+
-   /// We only use `shared library` mode in cases where the static library form
-   /// of the components provided are not available; note however that this is
-   /// skipped if we're run from within the build dir. However, once installed,
diff --git a/nixpkgs/pkgs/development/compilers/llvm/llvm-config-link-static.patch b/nixpkgs/pkgs/development/compilers/llvm/llvm-config-link-static.patch
new file mode 100644
index 000000000000..3881cc5206e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/llvm-config-link-static.patch
@@ -0,0 +1,12 @@
+diff --git llvm/tools/llvm-config/CMakeLists.txt llvm/tools/llvm-config/CMakeLists.txt
+index 16ba54c0cf2f..20b017195e84 100644
+--- llvm/tools/llvm-config/CMakeLists.txt
++++ llvm/tools/llvm-config/CMakeLists.txt
+@@ -6,6 +6,7 @@ set(BUILDVARIABLES_OBJPATH ${CMAKE_CURRENT_BINARY_DIR}/BuildVariables.inc)
+ # Add the llvm-config tool.
+ add_llvm_tool(llvm-config
+   llvm-config.cpp
++  DISABLE_LLVM_LINK_LLVM_DYLIB
+   )
+ 
+ # Compute the substitution values for various items.
diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/outputs.patch b/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/outputs.patch
index 40096fa3497f..878460e05b8a 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/outputs.patch
+++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/outputs.patch
@@ -2,23 +2,13 @@ diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.c
 index 94d426b..37f7794 100644
 --- a/tools/llvm-config/llvm-config.cpp
 +++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
+@@ -333,6 +333,11 @@ int main(int argc, char **argv) {
      ActiveIncludeOption = "-I" + ActiveIncludeDir;
    }
  
-+  /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
++  /// Nix-specific multiple-output handling: override ActiveLibDir
 +  if (!IsInDevelopmentTree) {
-+    bool WantShared = true;
-+    for (int i = 1; i < argc; ++i) {
-+      StringRef Arg = argv[i];
-+      if (Arg == "--link-shared")
-+        WantShared = true;
-+      else if (Arg == "--link-static")
-+        WantShared = false; // the last one wins
-+    }
-+
-+    if (WantShared)
-+      ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
++    ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
 +  }
 +
    /// We only use `shared library` mode in cases where the static library form
diff --git a/nixpkgs/pkgs/development/compilers/mezzo/default.nix b/nixpkgs/pkgs/development/compilers/mezzo/default.nix
index 23c75ae28bb7..4f2b081b4db2 100644
--- a/nixpkgs/pkgs/development/compilers/mezzo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix b/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix
index ec0b96bbf23a..b91e6c7480da 100644
--- a/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix
+++ b/nixpkgs/pkgs/development/compilers/mlton/from-git-source.nix
@@ -21,6 +21,9 @@ stdenv.mkDerivation {
 
   buildInputs = [mltonBootstrap gmp];
 
+  # build fails otherwise
+  enableParallelBuilding = false;
+
   preBuild = ''
     find . -type f | grep -v -e '\.tgz''$' | xargs sed -i "s@/usr/bin/env bash@$(type -p bash)@"
     sed -i "s|/tmp|$TMPDIR|" bin/regression
diff --git a/nixpkgs/pkgs/development/compilers/mosml/default.nix b/nixpkgs/pkgs/development/compilers/mosml/default.nix
index e7dc9ceae6d9..44ed1185fafc 100644
--- a/nixpkgs/pkgs/development/compilers/mosml/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mosml/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gmp, perl }:
+{ lib, stdenv, fetchFromGitHub, gmp, perl }:
 
 stdenv.mkDerivation rec {
   pname = "mosml";
@@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ];
 
-  src = fetchurl {
-    url = "https://github.com/kfl/mosml/archive/ver-${version}.tar.gz";
-    sha256 = "13x7wj94p0inn84pzpj52dch5s9lznqrj287bd3nk3dqd0v3kmgy";
+  src = fetchFromGitHub {
+    owner = "kfl";
+    repo = "mosml";
+    rev = "ver-${version}";
+    sha256 = "sha256-GK39WvM7NNhoC5f0Wjy4/5VWT+Rbh2qo+W71hWrbPso=";
   };
 
   setSourceRoot = ''export sourceRoot="$(echo */src)"'';
diff --git a/nixpkgs/pkgs/development/compilers/myrddin/default.nix b/nixpkgs/pkgs/development/compilers/myrddin/default.nix
index 3120426210bf..a7aa84a1aa8d 100644
--- a/nixpkgs/pkgs/development/compilers/myrddin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/nextpnr/default.nix b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
index 16f0a8348d1c..e20a25ac8e80 100644
--- a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
+++ b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
@@ -14,14 +14,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "nextpnr";
-  version = "2021.15.21";
+  version = "2022.01.03";
 
   srcs = [
     (fetchFromGitHub {
       owner = "YosysHQ";
       repo  = "nextpnr";
-      rev   = "d04cfd5f0f6da184f5b8a03f0ce18fbd1d98eca3";
-      hash  = "sha256-gm/+kwIZ/m10+KuCJoK45F56nKZD3tM0myHwbFKIKAs=";
+      rev   = "089ca8258e6f4dc93f8d39594c1109a8578cdc98";
+      hash  = "sha256-N8kX/+fN8Qe+qme8RFlZyYQ/3p1WBkt0ztUwjJIQCIw=";
       name  = "nextpnr";
     })
     (fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/compilers/open-watcom/v2.nix b/nixpkgs/pkgs/development/compilers/open-watcom/v2.nix
index 6cb5c6dcc105..de2dae156ee6 100644
--- a/nixpkgs/pkgs/development/compilers/open-watcom/v2.nix
+++ b/nixpkgs/pkgs/development/compilers/open-watcom/v2.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "open-watcom-v2";
-  version = "unstable-2021-12-10";
+  version = "unstable-2022-01-18";
   name = "${pname}-unwrapped-${version}";
 
   src = fetchFromGitHub {
     owner = "open-watcom";
     repo = "open-watcom-v2";
-    rev = "ca685c1b780149f7210426f0bb78dd7b67b19e6d";
-    sha256 = "1nmmj94z5hips2426rcdqdcsm8015jjj51rm9fnx81qagdj52j5d";
+    rev = "f09e0c969c45679c048180f2dc6b3dbbe69e42a0";
+    sha256 = "dEjG4L/VVufSAerKcXPUqZ7esz4m8/210ZshVz4SNAA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix b/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix
index 1d829450a1ed..009802b29234 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/darwin/8.nix
@@ -23,7 +23,7 @@ let
       zuluVersion = "8.54.0.21";
       jdkVersion = "8.0.292";
       sha256 =
-        if enableJavaFX then "1b05b2e40f707a151b063ebba821270fa930ebfc05712bc1f5a8a112395731a6"
+        if enableJavaFX then "8e901075cde2c31f531a34e8321ea4201970936abf54240a232e9389952afe84"
         else "05w89wfjlfbpqfjnv6wisxmaf13qb28b2223f9264jyx30qszw1c";
     };
   }."${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
index e977d2b00203..ff243372b4a5 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/11.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/openjdk/openjfx/15.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/15.nix
index 26c16895c5d4..3feda519b084 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/openjfx/15.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/openjdk/openjfx/17.nix b/nixpkgs/pkgs/development/compilers/openjdk/openjfx/17.nix
new file mode 100644
index 000000000000..12bac4c4d9d8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/orc/default.nix b/nixpkgs/pkgs/development/compilers/orc/default.nix
index 2d56d461627a..fa4bf686a2ac 100644
--- a/nixpkgs/pkgs/development/compilers/orc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/orc/default.nix
@@ -15,6 +15,9 @@ in stdenv.mkDerivation rec {
   postPatch = lib.optionalString stdenv.isAarch32 ''
     # https://gitlab.freedesktop.org/gstreamer/orc/-/issues/20
     sed -i '/exec_opcodes_sys/d' testsuite/meson.build
+  '' + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
+    # This benchmark times out on Hydra.nixos.org
+    sed -i '/memcpy_speed/d' testsuite/meson.build
   '';
 
   outputs = [ "out" "dev" ]
diff --git a/nixpkgs/pkgs/development/compilers/passerine/default.nix b/nixpkgs/pkgs/development/compilers/passerine/default.nix
index e9427f892e64..e5f88e586746 100644
--- a/nixpkgs/pkgs/development/compilers/passerine/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/ponyc/default.nix b/nixpkgs/pkgs/development/compilers/ponyc/default.nix
index 086d4d30127e..d0479cb595bb 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ponyc/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, pcre2, coreutils, which, openssl, libxml2, cmake, z3, substituteAll,
+{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, pcre2, coreutils, which, openssl, libxml2, cmake, z3, substituteAll, python3,
   cc ? stdenv.cc, lto ? !stdenv.isDarwin }:
 
 stdenv.mkDerivation (rec {
   pname = "ponyc";
-  version = "0.42.0";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "1s8glmzz0g5lj1fjwwy4m3n660smiq5wl9r1lg686wqh42hcgnsy";
+    sha256 = "0bzdkrrh6lvfqc61kdxvgz573dj32wwzhzwil53jvynhfcwp38ld";
 
 # Due to a bug in LLVM 9.x, ponyc has to include its own vendored patched
 # LLVM.  (The submodule is a specific tag in the LLVM source tree).
@@ -26,22 +26,23 @@ stdenv.mkDerivation (rec {
   ponygbenchmark = fetchFromGitHub {
     owner = "google";
     repo = "benchmark";
-    rev = "v1.5.2";
-    sha256 = "13rxagpzw6bal6ajlmrxlh9kgfvcixn6j734b2bvfqz7lch8n0pa";
+    rev = "v1.5.4";
+    sha256 = "1dbjdjzkpbsq3jl9ksyg8mw759vkac8qzq1557m73ldnavbhz48x";
   };
 
-  nativeBuildInputs = [ cmake makeWrapper which ];
+  nativeBuildInputs = [ cmake makeWrapper which python3 ];
   buildInputs = [ libxml2 z3 ];
 
   # Sandbox disallows network access, so disabling problematic networking tests
   patches = [
     ./disable-tests.patch
-    ./fix-libstdcpp-path.patch
     (substituteAll {
       src = ./make-safe-for-sandbox.patch;
-      googletest = fetchurl {
-        url = "https://github.com/google/googletest/archive/release-1.8.1.tar.gz";
-        sha256 = "17147961i01fl099ygxjx4asvjanwdd446nwbq9v8156h98zxwcv";
+      googletest = fetchFromGitHub {
+        owner = "google";
+        repo = "googletest";
+        rev = "release-1.10.0";
+        sha256 = "1zbmab9295scgg4z2vclgfgjchfjailjnvzc6f5x9jvlsdi3dpwz";
       };
     })
   ];
@@ -57,9 +58,7 @@ stdenv.mkDerivation (rec {
   postPatch = ''
     # Patching Vendor LLVM
     patchShebangs --host build/build_libs/gbenchmark-prefix/src/benchmark/tools/*.py
-    patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2020-09-01-is-trivially-copyable.diff
-    patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2020-01-07-01-c-exports.diff
-    patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2019-12-23-01-jit-eh-frames.diff
+    patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2020-07-28-01-c-exports.diff
     substituteInPlace packages/process/_test.pony \
         --replace '"/bin/' '"${coreutils}/bin/' \
         --replace '=/bin' "${coreutils}/bin"
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch b/nixpkgs/pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch
deleted file mode 100644
index 63b0fa699129..000000000000
--- a/nixpkgs/pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/libponyc/CMakeLists.txt b/src/libponyc/CMakeLists.txt
-index bf2c385e..11d0d619 100644
---- a/src/libponyc/CMakeLists.txt
-+++ b/src/libponyc/CMakeLists.txt
-@@ -136,7 +136,7 @@ elseif(${CMAKE_HOST_SYSTEM_NAME} MATCHES "DragonFly")
- else()
-     # add a rule to generate the standalone library if needed
-     add_custom_command(OUTPUT libponyc-standalone.a
--        COMMAND cp `find /usr/lib/ -name 'libstdc++.a' -print -quit` libstdcpp.a
-+        COMMAND cp `${CMAKE_CXX_COMPILER} --print-file-name='libstdc++.a'` libstdcpp.a
-         COMMAND echo "create libponyc-standalone.a" > standalone.mri
-         COMMAND echo "addlib ${PROJECT_SOURCE_DIR}/../../build/libs/lib/libblake2.a" >> standalone.mri
-         COMMAND echo "addlib libstdcpp.a" >> standalone.mri
-
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch b/nixpkgs/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
index 8190cc2ee02e..796bbf81f4d4 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
+++ b/nixpkgs/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
@@ -1,28 +1,28 @@
---- a/lib/CMakeLists.txt.orig	2021-07-07 13:40:20.209410160 -0400
-+++ a/lib/CMakeLists.txt	2021-07-07 13:43:11.886969662 -0400
+--- a/lib/CMakeLists.txt.orig	2021-10-01 13:04:00.867762912 -0400
++++ a/lib/CMakeLists.txt	2021-10-01 13:06:21.220023453 -0400
 @@ -15,12 +15,12 @@
  endif()
  
  ExternalProject_Add(gbenchmark
 -    URL ${PONYC_GBENCHMARK_URL}
-+	SOURCE_DIR gbenchmark-prefix/src/benchmark
++    SOURCE_DIR gbenchmark-prefix/src/benchmark
      CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DCMAKE_CXX_FLAGS=-fpic --no-warn-unused-cli
  )
  
  ExternalProject_Add(googletest
--    URL https://github.com/google/googletest/archive/release-1.8.1.tar.gz
-+	URL @googletest@
+-    URL https://github.com/google/googletest/archive/release-1.10.0.tar.gz
++    URL @googletest@
      CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_FLAGS=-fpic -Dgtest_force_shared_crt=ON --no-warn-unused-cli
  )
  
-@@ -33,75 +33,6 @@
+@@ -33,82 +33,6 @@
      COMPONENT library
  )
  
 -find_package(Git)
 -
--set(LLVM_DESIRED_HASH "c1a0a213378a458fbea1a5c77b315c7dce08fd05")
--set(PATCHES_DESIRED_HASH "9063f83d727bf042a1232420e168c1ea192bf6a2960d35e57123245b630eb923")
+-set(LLVM_DESIRED_HASH "fed41342a82f5a3a9201819a82bf7a48313e296b")
+-set(PATCHES_DESIRED_HASH "3a655193262fd9b2e87340e096efcbd96726a07fe6dd42a263f3a4fc2dc0192e")
 -
 -if(GIT_FOUND)
 -    if(EXISTS "${PROJECT_SOURCE_DIR}/../.git")
@@ -56,12 +56,19 @@
 -    file(GLOB PONY_LLVM_PATCHES "${PROJECT_SOURCE_DIR}/llvm/patches/*.diff")
 -
 -    # check to see if the patch hashes match
+-    message("Checking patches ${PONY_LLVM_PATCHES}")
 -    set(PATCHES_ACTUAL_HASH "")
 -    foreach (PATCH ${PONY_LLVM_PATCHES})
--        file(SHA256 ${PATCH} patch_file_hash)
--        string(CONCAT PATCHES_ACTUAL_HASH patch_file_hash)
+-        file(STRINGS ${PATCH} patch_file NEWLINE_CONSUME)
+-        string(REPLACE "\n" " " patch_file ${patch_file})
+-        string(SHA256 patch_file_hash ${patch_file})
+-        # message("${PATCH}: '${patch_file_hash}'")
+-        string(CONCAT PATCHES_ACTUAL_HASH ${PATCHES_ACTUAL_HASH} ${patch_file_hash})
+-        # message("concat is '${PATCHES_ACTUAL_HASH}'")
 -    endforeach()
 -    string(SHA256 PATCHES_ACTUAL_HASH ${PATCHES_ACTUAL_HASH})
+-    # message("Desired hash ${PATCHES_DESIRED_HASH}")
+-    # message("Actual hash  ${PATCHES_ACTUAL_HASH}")
 -    if(NOT PATCHES_ACTUAL_HASH EQUAL "${PATCHES_DESIRED_HASH}")
 -        message(FATAL_ERROR "Patch hash actual ${PATCHES_ACTUAL_HASH} does not match desired ${PATCHES_DESIRED_HASH}")
 -    endif()
@@ -88,6 +95,6 @@
 -    message(FATAL_ERROR "Git not found!")
 -endif()
 -
- if (NOT DEFINED LLVM_TARGETS_TO_BUILD)
-   set(LLVM_TARGETS_TO_BUILD X86)
- endif()
+ message("Building targets: ${LLVM_TARGETS_TO_BUILD}")
+ 
+ set(LLVM_ENABLE_BINDINGS OFF)
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix b/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
index 43fe247b79fb..1c8b00c13cfc 100644
--- a/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
+++ b/nixpkgs/pkgs/development/compilers/ponyc/pony-corral.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation ( rec {
   pname = "corral";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "sha256-27J1Y3+tbZK7RX+63xVV2eaX/LF525vBR3Ff9EYDEl0=";
+    sha256 = "1chw56khx5akjxkq0vwrw9ryjpyc3fzdmksh496llc513l01hpkl";
   };
 
   buildInputs = [ ponyc ];
diff --git a/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix b/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix
deleted file mode 100644
index 8e5810508971..000000000000
--- a/nixpkgs/pkgs/development/compilers/ponyc/pony-stable.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{lib, stdenv, fetchFromGitHub, ponyc }:
-
-stdenv.mkDerivation rec {
-  pname = "pony-stable";
-  version = "0.2.2";
-
-  src = fetchFromGitHub {
-    owner = "ponylang";
-    repo = "pony-stable";
-    rev = version;
-    sha256 = "0nzvsqvl315brp3yb4j5kl82xnkmib4jk416jjc7yrz4k3jgr278";
-  };
-
-  buildInputs = [ ponyc ];
-
-  installFlags = [ "prefix=${placeholder "out"}" "install" ];
-
-  meta = {
-    description = "A simple dependency manager for the Pony language";
-    homepage = "https://www.ponylang.org";
-    license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ dipinhora kamilchm patternspandemic ];
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/qbe/default.nix b/nixpkgs/pkgs/development/compilers/qbe/default.nix
index 1751da3e8f30..52397f78b8a0 100644
--- a/nixpkgs/pkgs/development/compilers/qbe/default.nix
+++ b/nixpkgs/pkgs/development/compilers/qbe/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "qbe";
-  version = "unstable-2021-11-22";
+  version = "unstable-2021-12-05";
 
   src = fetchgit {
     url = "git://c9x.me/qbe.git";
-    rev = "bf153b359e9ce3ebef9bca899eb7ed5bd9045c11";
-    sha256 = "sha256-13Mvq4VWZxlye/kncJibCnfSECx4PeHMYLuX0xMkN3A=";
+    rev = "367c8215d99054892740ad74c690b106c45ebf60";
+    sha256 = "sha256-xhTEiFR1RXMHtxmXlRof3O8monXEjstyWP3GClZmMuU=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/development/compilers/rust/1_57.nix b/nixpkgs/pkgs/development/compilers/rust/1_58.nix
index f6b9d3c72a32..c854bfdd37a4 100644
--- a/nixpkgs/pkgs/development/compilers/rust/1_57.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/rust/clippy.nix b/nixpkgs/pkgs/development/compilers/rust/clippy.nix
index 7ebdaa474ad6..a3597e9febf7 100644
--- a/nixpkgs/pkgs/development/compilers/rust/clippy.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/clippy.nix
@@ -20,10 +20,6 @@ rustPlatform.buildRustPackage {
   #   (/private/tmp/nix-build-clippy-1.36.0.drv-0/rustc-1.36.0-src/src/librustc_llvm)
   doCheck = false;
 
-  preBuild = ''
-    export CARGO_TARGET_DIR="$(pwd)/target"
-  '';
-
   preFixup = lib.optionalString stdenv.isDarwin ''
     install_name_tool -add_rpath "${rustc}/lib" $out/bin/clippy-driver
   '';
diff --git a/nixpkgs/pkgs/development/compilers/rust/rustc.nix b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
index 187127cfbfb3..1087ac059082 100644
--- a/nixpkgs/pkgs/development/compilers/rust/rustc.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
@@ -100,6 +100,9 @@ in stdenv.mkDerivation rec {
     "${setHost}.musl-root=${pkgsBuildHost.targetPackages.stdenv.cc.libc}"
   ] ++ optionals stdenv.targetPlatform.isMusl [
     "${setTarget}.musl-root=${pkgsBuildTarget.targetPackages.stdenv.cc.libc}"
+  ] ++ optionals (stdenv.isDarwin && stdenv.isx86_64) [
+    # https://github.com/rust-lang/rust/issues/92173
+    "--set rust.jemalloc"
   ];
 
   # The bootstrap.py will generated a Makefile that then executes the build.
diff --git a/nixpkgs/pkgs/development/compilers/sbcl/common.nix b/nixpkgs/pkgs/development/compilers/sbcl/common.nix
index 9cfb38109f7b..6a3b40066d99 100644
--- a/nixpkgs/pkgs/development/compilers/sbcl/common.nix
+++ b/nixpkgs/pkgs/development/compilers/sbcl/common.nix
@@ -119,7 +119,5 @@ stdenv.mkDerivation rec {
     }
   '');
 
-  meta = sbclBootstrap.meta // {
-    updateWalker = true;
-  };
+  meta = sbclBootstrap.meta;
 }
diff --git a/nixpkgs/pkgs/development/compilers/scala/2.x.nix b/nixpkgs/pkgs/development/compilers/scala/2.x.nix
index f39ab7ed68b6..bac99fd79ac8 100644
--- a/nixpkgs/pkgs/development/compilers/scala/2.x.nix
+++ b/nixpkgs/pkgs/development/compilers/scala/2.x.nix
@@ -26,8 +26,8 @@ let
     };
 
     "2.13" = {
-      version = "2.13.7";
-      sha256 = "FO8WAIeGvHs3E1soS+YkUHcB9lE5bRb9ikijWkvOqU4=";
+      version = "2.13.8";
+      sha256 = "LLMdhGnGUYOfDpyDehqwZVDQMXJnUvVJBr4bneATFM8=";
       pname = "scala_2_13";
     };
   };
diff --git a/nixpkgs/pkgs/development/compilers/swift/default.nix b/nixpkgs/pkgs/development/compilers/swift/default.nix
index b5009195ba7c..e3a9aa2b486c 100644
--- a/nixpkgs/pkgs/development/compilers/swift/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/teyjus/default.nix b/nixpkgs/pkgs/development/compilers/teyjus/default.nix
index 74ba1866b555..ac1a2f8abd53 100644
--- a/nixpkgs/pkgs/development/compilers/teyjus/default.nix
+++ b/nixpkgs/pkgs/development/compilers/teyjus/default.nix
@@ -1,16 +1,14 @@
-{ lib, stdenv, fetchurl, omake, ocaml, flex, bison }:
+{ lib, stdenv, fetchFromGitHub, omake, ocaml, flex, bison }:
 
-let
-  version = "2.1";
-in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "teyjus";
-  inherit version;
+  version = "2.1";
 
-  src = fetchurl {
-    url = "https://github.com/teyjus/teyjus/archive/v${version}.tar.gz";
-    sha256 = "0393wpg8v1vvarqy2xh4fdmrwlrl6jaj960kql7cq79mb9p3m269";
+  src = fetchFromGitHub {
+    owner = "teyjus";
+    repo = "teyjus";
+    rev = "v${version}";
+    sha256 = "sha256-nz7jZ+GdF6mZQPzBrVD9K/RtoeuVRuhfs7vej4zDkhg=";
   };
 
   patches = [ ./fix-lex-to-flex.patch ];
diff --git a/nixpkgs/pkgs/development/compilers/tinycc/default.nix b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
index b46dee899a33..9da506900bcd 100644
--- a/nixpkgs/pkgs/development/compilers/tinycc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
@@ -1,18 +1,26 @@
-{ stdenv, lib, fetchFromRepoOrCz, perl, texinfo, which }:
+{ lib
+, stdenv
+, fetchFromRepoOrCz
+, perl
+, texinfo
+, which
+}:
 
 stdenv.mkDerivation rec {
   pname = "tcc";
-  version = "unstable-2021-10-09";
+  version = "0.9.27+date=2022-01-11";
 
   src = fetchFromRepoOrCz {
     repo = "tinycc";
-    rev = "ca11849ebb88ef4ff87beda46bf5687e22949bd6";
-    sha256 = "sha256-xnUDyTYZxbxUCblACyX73boBhU073VRqSy1SWlWsvIw=";
+    rev = "4e0e9b8f210d69893b306d6b24d2dd615a22f246";
+    hash = "sha256-0BJ5wXsgDLBIvcbq+rL9UQC4NjLHCI9r6sUWF98APPg=";
   };
 
-  nativeBuildInputs = [ perl texinfo which ];
-
-  hardeningDisable = [ "fortify" ];
+  nativeBuildInputs = [
+    perl
+    texinfo
+    which
+  ];
 
   postPatch = ''
     patchShebangs texi2pod.pl
@@ -46,37 +54,39 @@ stdenv.mkDerivation rec {
     install -Dt $out/lib/pkgconfig libtcc.pc -m 444
   '';
 
+  outputs = [ "out" "info" "man" ];
+
   doCheck = true;
   checkTarget = "test";
 
   meta = with lib; {
+    homepage = "https://repo.or.cz/tinycc.git";
     description = "Small, fast, and embeddable C compiler and interpreter";
     longDescription = ''
-      TinyCC (aka TCC) is a small but hyper fast C compiler.  Unlike
-      other C compilers, it is meant to be self-sufficient: you do not
-      need an external assembler or linker because TCC does that for
-      you.
+      TinyCC (aka TCC) is a small but hyper fast C compiler.  Unlike other C
+      compilers, it is meant to be self-sufficient: you do not need an external
+      assembler or linker because TCC does that for you.
 
-      TCC compiles so fast that even for big projects Makefiles may not
-      be necessary.
+      TCC compiles so fast that even for big projects Makefiles may not be
+      necessary.
 
-      TCC not only supports ANSI C, but also most of the new ISO C99
-      standard and many GNU C extensions.
+      TCC not only supports ANSI C, but also most of the new ISO C99 standard
+      and many GNU C extensions.
 
-      TCC can also be used to make C scripts, i.e. pieces of C source
-      that you run as a Perl or Python script.  Compilation is so fast
-      that your script will be as fast as if it was an executable.
+      TCC can also be used to make C scripts, i.e. pieces of C source that you
+      run as a Perl or Python script.  Compilation is so fast that your script
+      will be as fast as if it was an executable.
 
-      TCC can also automatically generate memory and bound checks while
-      allowing all C pointers operations.  TCC can do these checks even
-      if non patched libraries are used.
+      TCC can also automatically generate memory and bound checks while allowing
+      all C pointers operations.  TCC can do these checks even if non patched
+      libraries are used.
 
-      With libtcc, you can use TCC as a backend for dynamic code
-      generation.
+      With libtcc, you can use TCC as a backend for dynamic code generation.
     '';
-    homepage = "https://repo.or.cz/tinycc.git";
     license = licenses.lgpl21Only;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.joachifm ];
+    maintainers = with maintainers; [ joachifm AndersonTorres ];
+    platforms = platforms.unix;
   };
 }
+# TODO: more multiple outputs
+# TODO: self-compilation
diff --git a/nixpkgs/pkgs/development/compilers/tvm/default.nix b/nixpkgs/pkgs/development/compilers/tvm/default.nix
index 2bb8b9d5be30..c148e522015e 100644
--- a/nixpkgs/pkgs/development/compilers/tvm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/uasm/default.nix b/nixpkgs/pkgs/development/compilers/uasm/default.nix
new file mode 100644
index 000000000000..f440208e947b
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/uasm/default.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  pname = "uasm";
+  version = "2.53";
+
+  src = fetchFromGitHub {
+    owner = "Terraspace";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Aohwrcb/KTKUFFpfmqVDPNjJh1dMYSNnBJ2eFaP20pM=";
+  };
+
+  # https://github.com/Terraspace/UASM/pull/154
+  patches = [
+    # fix `invalid operands to binary - (have 'char *' and 'uint_8 *' {aka 'unsigned char *'})`
+    (fetchpatch {
+      name = "fix_pointers_compare.patch";
+      url = "https://github.com/clouds56/UASM/commit/9cd3a400990e230571e06d4c758bd3bd35f90ab6.patch";
+      sha256 = "sha256-8mY36dn+g2QNJ1JbWt/y4p0Ha9RSABnOE3vlWANuhsA=";
+    })
+    # fix `dbgcv.c:*:*: fatal error: direct.h: No such file or directory`
+    (fetchpatch {
+      name = "fix_build_dbgcv_c_on_unix.patch";
+      url = "https://github.com/clouds56/UASM/commit/806d54cf778246c96dcbe61a4649bf0aebcb0eba.patch";
+      sha256 = "sha256-uc1LaizdYEh1Ry55Cq+6wrCa1OeBPFo74H5iBpmteAE=";
+    })
+  ];
+
+  enableParallelBuilding = true;
+
+  makefile = "gccLinux64.mak";
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dt "$out/bin" -m0755 GccUnixR/uasm
+    install -Dt "$out/share/doc/${pname}" -m0644 {Readme,History}.txt Doc/*
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.terraspace.co.uk/uasm.html";
+    description = "A free MASM-compatible assembler based on JWasm";
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ thiagokokada ];
+    license = licenses.watcom;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/unison/default.nix b/nixpkgs/pkgs/development/compilers/unison/default.nix
index 025fc8c3fa7d..d027898cf9d6 100644
--- a/nixpkgs/pkgs/development/compilers/unison/default.nix
+++ b/nixpkgs/pkgs/development/compilers/unison/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
     homepage = "https://unisonweb.org/";
     license = with licenses; [ mit bsd3 ];
     maintainers = [ maintainers.virusdave ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/vala/default.nix b/nixpkgs/pkgs/development/compilers/vala/default.nix
index f446251fd328..17ba5b14214c 100644
--- a/nixpkgs/pkgs/development/compilers/vala/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vala/default.nix
@@ -15,19 +15,7 @@ let
     # header file isn't available at all, but that patch (./gvc-compat.patch)
     # can be shared between all versions of Vala so far.
     graphvizPatch =
-      let
-        fp = { commit, sha256 }: fetchpatch {
-          url = "https://github.com/openembedded/openembedded-core/raw/${commit}/meta/recipes-devtools/vala/vala/disable-graphviz.patch";
-          inherit sha256;
-        };
-
-      in {
-
-        # NOTE: the openembedded-core project doesn't have a patch for 0.40.12
-        # We've fixed the single merge conflict in the following patch.
-        #     0.40.12: https://github.com/openembedded/openembedded-core/raw/8553c52f174af4c8c433c543f806f5ed5c1ec48c/meta/recipes-devtools/vala/vala/disable-graphviz.patch
-        "0.40" = ./disable-graphviz-0.40.12.patch;
-
+      {
         "0.48" = ./disable-graphviz-0.46.1.patch;
 
         "0.52" = ./disable-graphviz-0.46.1.patch;
@@ -98,24 +86,19 @@ let
   });
 
 in rec {
-  vala_0_40 = generic {
-    version = "0.40.25";
-    sha256 = "1pxpack8rrmywlf47v440hc6rv3vi8q9c6niwqnwikxvb2pwf3w7";
-  };
-
   vala_0_48 = generic {
-    version = "0.48.20";
-    sha256 = "sha256-RrHIF/dIUfvMOV/E+eoRlQLPh7kzPMllbhzczAvTN24=";
+    version = "0.48.22";
+    sha256 = "sha256-27NHjEvjZvCTFkrGHNOu29zz5EQE2eNkFK4VEk525os=";
   };
 
   vala_0_52 = generic {
-    version = "0.52.8";
-    sha256 = "sha256-d3t9HLVnFewyJUXQEw5/9Y2eem0b2WtuKX6eYOgRh5M=";
+    version = "0.52.10";
+    sha256 = "sha256-nCAb+BLZh04hveU/jZwU9lF0ixqBRB/1ySkSJESQEAg=";
   };
 
   vala_0_54 = generic {
-    version = "0.54.3";
-    sha256 = "7R1f5MvAzShF0N5PH/77Fa+waJLSMMfMppV4FnLo+2A=";
+    version = "0.54.6";
+    sha256 = "SdYNlqP99sQoc5dEK8bW2Vv0CqffZ47kkSjEsRum5Gk=";
   };
 
   vala = vala_0_54;
diff --git a/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.40.12.patch b/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.40.12.patch
deleted file mode 100644
index fdc1eabf513e..000000000000
--- a/nixpkgs/pkgs/development/compilers/vala/disable-graphviz-0.40.12.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-diff --git i/configure.ac w/configure.ac
-index 694ffd200..915062053 100644
---- i/configure.ac
-+++ w/configure.ac
-@@ -112,34 +112,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
- AC_SUBST(GMODULE_CFLAGS)
- AC_SUBST(GMODULE_LIBS)
- 
--PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
--AC_MSG_CHECKING([for CGRAPH])
--cgraph_tmp_LIBADD="$LIBADD"
--cgraph_tmp_CFLAGS="$CFLAGS"
--LIBADD="$LIBADD $LIBGVC_LIBS"
--CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
--AC_RUN_IFELSE(
--	[AC_LANG_SOURCE([
--		#include <gvc.h>
--
--		int main(void) {
--			#ifdef WITH_CGRAPH
--				return 0;
--			#else
--				return -1;
--			#endif
--		}
--	])], [
--		AC_MSG_RESULT([yes])
--		VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
--		have_cgraph=yes
--	], [
--		AC_MSG_RESULT([no])
--		have_cgraph=no
--	]
--)
--LIBADD="$cgraph_tmp_LIBADD"
--CFLAGS="$cgraph_tmp_CFLAGS"
-+AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
-+if test x$enable_graphviz = xyes; then
-+	PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
-+	AC_MSG_CHECKING([for CGRAPH])
-+	VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ"
-+	cgraph_tmp_LIBADD="$LIBADD"
-+	cgraph_tmp_CFLAGS="$CFLAGS"
-+	LIBADD="$LIBADD $LIBGVC_LIBS"
-+	CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
-+	AC_RUN_IFELSE(
-+		[AC_LANG_SOURCE([
-+			#include <gvc.h>
-+			int main(void) {
-+				#ifdef WITH_CGRAPH
-+					return 0;
-+				#else
-+					return -1;
-+				#endif
-+			}
-+		])], [
-+			AC_MSG_RESULT([yes])
-+			VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
-+			have_cgraph=yes
-+		], [
-+			AC_MSG_RESULT([no])
-+			have_cgraph=no
-+		]
-+	)
-+	LIBADD="$cgraph_tmp_LIBADD"
-+	CFLAGS="$cgraph_tmp_CFLAGS"
-+fi
-+AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes)
- AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
- 
- AC_PATH_PROG([XSLTPROC], [xsltproc], :)
-diff --git i/libvaladoc/Makefile.am w/libvaladoc/Makefile.am
-index f3f790e76..3c5dc4c80 100644
---- i/libvaladoc/Makefile.am
-+++ w/libvaladoc/Makefile.am
-@@ -128,10 +128,6 @@ libvaladoc_la_VALASOURCES = \
- 	content/tablerow.vala \
- 	content/taglet.vala \
- 	content/text.vala \
--	charts/chart.vala \
--	charts/chartfactory.vala \
--	charts/hierarchychart.vala \
--	charts/simplechartfactory.vala \
- 	parser/manyrule.vala \
- 	parser/oneofrule.vala \
- 	parser/optionalrule.vala \
-@@ -158,13 +154,24 @@ libvaladoc_la_VALASOURCES = \
- 	highlighter/codetoken.vala \
- 	highlighter/highlighter.vala \
- 	html/basicdoclet.vala \
--	html/htmlchartfactory.vala \
- 	html/linkhelper.vala \
- 	html/cssclassresolver.vala \
- 	html/htmlmarkupwriter.vala \
- 	html/htmlrenderer.vala \
- 	$(NULL)
- 
-+if ENABLE_GRAPHVIZ
-+libvaladoc_la_VALASOURCES += \
-+	charts/chart.vala \
-+	charts/chartfactory.vala \
-+	charts/hierarchychart.vala \
-+	charts/simplechartfactory.vala \
-+	html/htmlchartfactory.vala \
-+	$(NULL)
-+
-+LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc
-+endif
-+
- libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
- 	libvaladoc.vala.stamp \
- 	$(libvaladoc_la_VALASOURCES:.vala=.c) \
-@@ -184,11 +191,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
- 		--library valadoc \
- 		--vapi valadoc@PACKAGE_SUFFIX@.vapi \
- 		--vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \
--		--vapidir $(top_srcdir)/vapi --pkg libgvc \
- 		--vapidir $(top_srcdir)/gee --pkg gee \
- 		--vapidir $(top_srcdir)/vala --pkg vala \
- 		--vapidir $(top_srcdir)/ccode --pkg ccode \
- 		--vapidir $(top_srcdir)/codegen --pkg codegen \
-+		$(LIBGVC_PKG) \
- 		--pkg config \
- 		$(filter %.vala %.c,$^)
- 	touch $@
-@@ -217,6 +224,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
- 
- valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
- 	cp $< $@
-+if !ENABLE_GRAPHVIZ
-+	sed -i "s/libgvc //g" $@
-+endif
- 
- vapidir = $(datadir)/vala/vapi
- dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
-@@ -224,6 +234,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
- 
- valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
- 	cp $< $@
-+if !ENABLE_GRAPHVIZ
-+	sed -i "s/libgvc//g" $@
-+endif
- 
- EXTRA_DIST = \
- 	$(libvaladoc_la_VALASOURCES) \
-diff --git i/libvaladoc/html/basicdoclet.vala w/libvaladoc/html/basicdoclet.vala
-index 192e488cd..ec0960222 100644
---- i/libvaladoc/html/basicdoclet.vala
-+++ w/libvaladoc/html/basicdoclet.vala
-@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 	protected HtmlRenderer _renderer;
- 	protected Html.MarkupWriter writer;
- 	protected Html.CssClassResolver cssresolver;
-+#if HAVE_GRAPHVIZ
- 	protected Charts.Factory image_factory;
-+#else
-+	protected void* image_factory;
-+#endif
- 	protected ErrorReporter reporter;
- 	protected string package_list_link = "../index.html";
- 
-@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 		this.linker = new LinkHelper ();
- 
- 		_renderer = new HtmlRenderer (settings, this.linker, this.cssresolver);
-+#if HAVE_GRAPHVIZ
- 		this.image_factory = new SimpleChartFactory (settings, linker);
-+#endif
- 	}
- 
- 
-@@ -1026,6 +1032,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 	}
- 
- 	protected void write_image_block (Api.Node element) {
-+#if HAVE_GRAPHVIZ
- 		if (element is Class || element is Interface || element is Struct) {
- 			unowned string format = (settings.use_svg_images ? "svg" : "png");
- 			var chart = new Charts.Hierarchy (image_factory, element);
-@@ -1045,6 +1052,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 									   this.get_img_path_html (element, format)});
- 			writer.add_usemap (chart);
- 		}
-+#endif
- 	}
- 
- 	public void write_namespace_content (Namespace node, Api.Node? parent) {
-diff --git i/libvaladoc/html/htmlmarkupwriter.vala w/libvaladoc/html/htmlmarkupwriter.vala
-index dcc4dad76..cf9c860b8 100644
---- i/libvaladoc/html/htmlmarkupwriter.vala
-+++ w/libvaladoc/html/htmlmarkupwriter.vala
-@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
- 		}
- 	}
- 
-+#if HAVE_GRAPHVIZ
- 	public MarkupWriter add_usemap (Charts.Chart chart) {
- 		string? buf = (string?) chart.write_buffer ("cmapx");
- 		if (buf != null) {
- 			raw_text ("\n");
- 			raw_text ((!) buf);
- 		}
-+#else
-+	public MarkupWriter add_usemap (void* chart) {
-+#endif
- 
- 		return this;
- 	}
diff --git a/nixpkgs/pkgs/development/compilers/vyper/default.nix b/nixpkgs/pkgs/development/compilers/vyper/default.nix
index 4308710717ac..e4ad7fe5f7f9 100644
--- a/nixpkgs/pkgs/development/compilers/vyper/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vyper/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi, writeText, asttokens
 , pycryptodome, pytest-xdist, pytest-cov, recommonmark, semantic-version, sphinx
-, sphinx_rtd_theme, pytest-runner }:
+, sphinx_rtd_theme, pytest-runner, setuptools-scm }:
 
 let
   sample-contract = writeText "example.vy" ''
@@ -14,22 +14,14 @@ in
 
 buildPythonPackage rec {
   pname = "vyper";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3e50cd802696ea3f5e6ab1bf4c9a90a39c332591d416c99f3d2fa93d7d7ba394";
+    sha256 = "sha256-fXug5v3zstz19uexMWokHBVsfcl2ZCdIOIXKeLVyh/Q=";
   };
 
-  nativeBuildInputs = [ pytest-runner ];
-
-  # Replace the dynamic commit hash lookup with the hash from the tag
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'asttokens==' 'asttokens>=' \
-      --replace 'subprocess.check_output("git rev-parse HEAD".split())' "' '" \
-      --replace 'commithash.decode("utf-8").strip()' "'6e7dba7a8b5f29762d3470da4f44634b819c808d'"
-  '';
+  nativeBuildInputs = [ pytest-runner setuptools-scm ];
 
   propagatedBuildInputs = [
     asttokens
diff --git a/nixpkgs/pkgs/development/compilers/xa/xa.nix b/nixpkgs/pkgs/development/compilers/xa/xa.nix
index dbeabe97b1aa..08f31148d4c5 100644
--- a/nixpkgs/pkgs/development/compilers/xa/xa.nix
+++ b/nixpkgs/pkgs/development/compilers/xa/xa.nix
@@ -6,14 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xa";
-  version = "2.3.11";
+  version = "2.3.12";
 
   src = fetchurl {
     urls = [
       "https://www.floodgap.com/retrotech/xa/dists/${pname}-${version}.tar.gz"
       "https://www.floodgap.com/retrotech/xa/dists/unsupported/${pname}-${version}.tar.gz"
     ];
-    hash = "sha256-MvIWTJnjBSGOmSlwhW3Y4jCbXLasR1jXsq/jv+vJAS0=";
+    hash = "sha256-+P0VNgEtZ2/Gy/zdapF5PlZMibbvdH+NuPRnwXj7BwQ=";
   };
 
   checkInputs = [ perl ];
diff --git a/nixpkgs/pkgs/development/compilers/yasm/default.nix b/nixpkgs/pkgs/development/compilers/yasm/default.nix
index b770f3b7dfdb..58b8252729a7 100644
--- a/nixpkgs/pkgs/development/compilers/yasm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yasm/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl}:
+{lib, stdenv, fetchurl, buildPackages}:
 
 stdenv.mkDerivation rec {
   pname = "yasm";
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix";
   };
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
   meta = with lib; {
     homepage = "http://www.tortall.net/projects/yasm/";
     description = "Complete rewrite of the NASM assembler";
diff --git a/nixpkgs/pkgs/development/compilers/yosys/default.nix b/nixpkgs/pkgs/development/compilers/yosys/default.nix
index 9c3d9179f7ba..30b9b8393987 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/default.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/default.nix
@@ -6,13 +6,19 @@
 , fetchFromGitHub
 , flex
 , libffi
+, makeWrapper
 , pkg-config
 , protobuf
 , python3
 , readline
+, symlinkJoin
 , tcl
 , verilog
 , zlib
+, yosys
+, yosys-bluespec
+, yosys-ghdl
+, yosys-symbiflow
 }:
 
 # NOTE: as of late 2020, yosys has switched to an automation robot that
@@ -32,15 +38,47 @@
 # yosys version number helps users report better bugs upstream, and is
 # ultimately less confusing than using dates.
 
-stdenv.mkDerivation rec {
+let
+
+  # Provides a wrapper for creating a yosys with the specifed plugins preloaded
+  #
+  # Example:
+  #
+  #     my_yosys = yosys.withPlugins (with yosys.allPlugins; [
+  #        fasm
+  #        bluespec
+  #     ]);
+  withPlugins = plugins:
+    let
+      paths = lib.closePropagation plugins;
+      module_flags = with builtins; concatStringsSep " "
+        (map (n: "--add-flags -m --add-flags ${n.plugin}") plugins);
+    in lib.appendToName "with-plugins" ( symlinkJoin {
+      inherit (yosys) name;
+      paths = paths ++ [ yosys ] ;
+      buildInputs = [ makeWrapper ];
+      postBuild = ''
+        wrapProgram $out/bin/yosys \
+          --set NIX_YOSYS_PLUGIN_DIRS $out/share/yosys/plugins \
+          ${module_flags}
+      '';
+    });
+
+  allPlugins = {
+    bluespec = yosys-bluespec;
+    ghdl     = yosys-ghdl;
+  } // (yosys-symbiflow);
+
+
+in stdenv.mkDerivation rec {
   pname   = "yosys";
-  version = "0.12+36";
+  version = "0.12+54";
 
   src = fetchFromGitHub {
     owner = "YosysHQ";
     repo  = "yosys";
-    rev   = "60c3ea367c942459a95e610ed98f277ce46c0142";
-    hash  = "sha256-NcfhNUmb3IDG08XgS+NGbRLI8sn4aQkOA7RF7wucDug=";
+    rev   = "59a71503448401d2476cf0872808e0a99c3a4d81";
+    hash  = "sha256-cz4PQymaA9UW91lN+6iniFhbcPRpFNIAeC8ZkwYeg0U=";
   };
 
   enableParallelBuilding = true;
@@ -78,7 +116,7 @@ stdenv.mkDerivation rec {
     fi
 
     if ! grep -q "YOSYS_VER := $version" Makefile; then
-      echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (${version}), failing."
+      echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (allegedly ${version}), failing."
       exit 1
     fi
   '';
@@ -99,6 +137,10 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  passthru = {
+    inherit withPlugins allPlugins;
+  };
+
   meta = with lib; {
     description = "Open RTL synthesis framework and tools";
     homepage    = "http://www.clifford.at/yosys/";
diff --git a/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix b/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix
index 6e436cd0043b..77d4ad8cf9dc 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/plugins/bluespec.nix
@@ -4,13 +4,14 @@
 
 stdenv.mkDerivation {
   pname = "yosys-bluespec";
-  version = "2021.08.19";
+  version = "2021.09.08";
+  plugin = "bluespec";
 
   src = fetchFromGitHub {
     owner  = "thoughtpolice";
     repo   = "yosys-bluespec";
-    rev    = "bcea1635c97747acd3bcb5b8f1968b3f57ae62bc";
-    sha256 = "0ipx9yjngs3haksdb440wlydviszwqnxgzynpp7yic2x3ai7i8m1";
+    rev    = "f6f4127a4e96e18080fd5362b6769fa3e24c76b1";
+    sha256 = "sha256-3cNFP/k4JsgLyUQHWU10Htl2Rh0staAcA3R4piD6hDE=";
   };
 
   buildInputs = [ yosys readline zlib bluespec ];
diff --git a/nixpkgs/pkgs/development/compilers/yosys/plugins/ghdl.nix b/nixpkgs/pkgs/development/compilers/yosys/plugins/ghdl.nix
index 35f3ef2bcc88..0999f5ab34be 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/plugins/ghdl.nix
+++ b/nixpkgs/pkgs/development/compilers/yosys/plugins/ghdl.nix
@@ -5,6 +5,7 @@
 stdenv.mkDerivation {
   pname = "yosys-ghdl";
   version = "2021.01.25";
+  plugin = "ghdl";
 
   src = fetchFromGitHub {
     owner  = "ghdl";
diff --git a/nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow-pmgen.patch b/nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow-pmgen.patch
new file mode 100644
index 000000000000..8af0f86a89b4
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow-pmgen.patch
@@ -0,0 +1,15 @@
+diff --git a/yql-qlf-plugin/Makefile b/ql-qlf-plugin/Makefile
+index 2819055c9fe..0e391581012 100644
+--- a/ql-qlf-plugin/Makefile
++++ b/ql-qlf-plugin/Makefile
+@@ -55,10 +55,6 @@ VERILOG_MODULES = $(COMMON)/cells_sim.v         \
+                   $(PP3_DIR)/mult_sim.v        \
+                   $(PP3_DIR)/qlal3_sim.v       \
+
+-retrieve-pmgen:=$(shell mkdir -p pmgen && wget -nc -O pmgen/pmgen.py https://raw.githubusercontent.com/SymbiFlow/yosys/master%2Bwip/passes/pmgen/pmgen.py)
+-
+-pre-build:=$(shell python3 pmgen/pmgen.py -o pmgen/ql-dsp-pm.h -p ql_dsp ql_dsp.pmg)
+-
+ install_modules: $(VERILOG_MODULES)
+ 	$(foreach f,$^,install -D $(f) $(DATA_DIR)/quicklogic/$(f);)
+
diff --git a/nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow.nix b/nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow.nix
new file mode 100644
index 000000000000..cecc1bee9219
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/yosys/plugins/symbiflow.nix
@@ -0,0 +1,106 @@
+{ fetchFromGitHub
+, gtest
+, lib
+, python3
+, readline
+, stdenv
+, which
+, yosys
+, zlib
+, yosys-symbiflow
+}: let
+
+  src = fetchFromGitHub {
+    owner  = "SymbiFlow";
+    repo   = "yosys-symbiflow-plugins";
+    rev    = "35c6c33811a8de7c80dff6a7bcf7aa6ec9b21233";
+    hash   = "sha256-g5dX9+R+gWt8e7Bhbbg60O9qa+Vi6Ar0M1sHhYlAre8=";
+  };
+
+  version = "2022.01.06";
+
+  # Supported symbiflow plugins.
+  #
+  # The following are disabled:
+  #
+  # "ql-qlf" builds but fails to load the plugin, so is not currently supported.
+  #
+  # "UHDM" doesn't currently build, as the work to package UHDM and surelog has
+  # not (yet) been undertaken.
+  plugins = [
+    "design_introspection"
+    "fasm"
+    "integrateinv"
+    "params"
+    "ql-iob"
+    # "ql-qlf"
+    "sdc"
+    "xdc"
+    # "UHDM"
+  ];
+
+  static_gtest = gtest.dev.overrideAttrs (old: {
+    dontDisableStatic = true;
+    disableHardening = [ "pie" ];
+    cmakeFlags = old.cmakeFlags ++ ["-DBUILD_SHARED_LIBS=OFF"];
+  });
+
+in lib.genAttrs plugins (plugin: stdenv.mkDerivation (rec {
+  pname = "yosys-symbiflow-${plugin}-plugin";
+  inherit src version plugin;
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ which python3 ];
+  buildInputs = [ yosys readline zlib ] ;
+
+  # xdc has an incorrect path to a test which has yet to be patched
+  doCheck = plugin != "xdc";
+  checkInputs = [ static_gtest ];
+
+  # ql-qlf tries to fetch a yosys script from github
+  # Run the script in preBuild instead.
+  patches = lib.optional ( plugin == "ql-qlf" ) ./symbiflow-pmgen.patch;
+
+  preBuild = ''
+    mkdir -p ql-qlf-plugin/pmgen
+  ''
+  + lib.optionalString ( plugin == "ql-qlf" ) ''
+    python3 ${yosys.src}/passes/pmgen/pmgen.py -o ql-qlf-plugin/pmgen/ql-dsp-pm.h -p ql_dsp ql-qlf-plugin/ql_dsp.pmg
+  '';
+
+  # Providing a symlink avoids the need for patching the test makefile
+  postUnpack = ''
+    mkdir -p source/third_party/googletest/googletest/build/
+    ln -s ${static_gtest}/lib source/third_party/googletest/googletest/build/lib
+  '';
+
+  makeFlags = [
+    "PLUGIN_LIST=${plugin}"
+  ];
+
+  buildFlags = [
+    "PLUGINS_DIR=\${out}/share/yosys/plugins/"
+    "DATA_DIR=\${out}/share/yosys/"
+  ];
+
+  checkFlags = [
+    "PLUGINS_DIR=\${NIX_BUILD_TOP}/source/${plugin}-plugin"
+    "DATA_DIR=\${NIX_BUILD_TOP}/source/${plugin}-plugin"
+    ( "NIX_YOSYS_PLUGIN_DIRS=\${NIX_BUILD_TOP}/source/${plugin}-plugin"
+      # sdc and xdc plugins use design introspection for their tests
+      + (lib.optionalString ( plugin == "sdc" || plugin == "xdc" )
+        ":${yosys-symbiflow.design_introspection}/share/yosys/plugins/")
+    )
+  ];
+
+  installFlags = buildFlags;
+
+  meta = with lib; {
+    description = "Symbiflow ${plugin} plugin for Yosys";
+    license     = licenses.isc;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ ollieB thoughtpolice ];
+  };
+}))
+
+
diff --git a/nixpkgs/pkgs/development/compilers/zig/default.nix b/nixpkgs/pkgs/development/compilers/zig/default.nix
index d4eb57815a80..a2cd8f44ce28 100644
--- a/nixpkgs/pkgs/development/compilers/zig/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/zulu/default.nix b/nixpkgs/pkgs/development/compilers/zulu/default.nix
index dee1a4527607..662d997d8828 100644
--- a/nixpkgs/pkgs/development/compilers/zulu/default.nix
+++ b/nixpkgs/pkgs/development/compilers/zulu/default.nix
@@ -22,11 +22,11 @@
 }:
 
 let
-  version = "11.50.19";
-  openjdk = "11.0.12";
+  version = "11.52.13";
+  openjdk = "11.0.13";
 
-  sha256_linux = "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3";
-  sha256_darwin = "9bc6874932f7f88d0a48220d3200449ddf7dc5c0e82af2df2738bc13d21b0e4e";
+  sha256_linux = "77a126669b26b3a89e0117b0f28cddfcd24fcd7699b2c1d35f921487148b9a9f";
+  sha256_darwin = "a96f9f859350f977319ebb5c2a999c182ab6b99b24c60e19d97c54367868a63e";
 
   platform = if stdenv.isDarwin then "macosx" else "linux";
   hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
diff --git a/nixpkgs/pkgs/development/coq-modules/CoLoR/default.nix b/nixpkgs/pkgs/development/coq-modules/CoLoR/default.nix
index 46738343431a..24a7f125599d 100644
--- a/nixpkgs/pkgs/development/coq-modules/CoLoR/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/CoLoR/default.nix
@@ -23,7 +23,7 @@ with lib; mkCoqDerivation {
   enableParallelBuilding = false;
 
   meta = {
-    homepage = "http://color.inria.fr/";
+    homepage = "https://github.com/fblanqui/color";
     description = "CoLoR is a library of formal mathematical definitions and proofs of theorems on rewriting theory and termination whose correctness has been mechanically checked by the Coq proof assistant.";
     maintainers = with maintainers; [ jpas jwiegley ];
   };
diff --git a/nixpkgs/pkgs/development/coq-modules/ITree/default.nix b/nixpkgs/pkgs/development/coq-modules/ITree/default.nix
index 1ba8080e0b10..2f7437fd74fd 100644
--- a/nixpkgs/pkgs/development/coq-modules/ITree/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/coq-modules/LibHyps/default.nix b/nixpkgs/pkgs/development/coq-modules/LibHyps/default.nix
new file mode 100644
index 000000000000..36272ff207f5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/coq-modules/VST/default.nix b/nixpkgs/pkgs/development/coq-modules/VST/default.nix
index 1d2a1a3c05fc..80aaf506139b 100644
--- a/nixpkgs/pkgs/development/coq-modules/VST/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix b/nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix
index 929d23c81869..c6b6f79bf017 100644
--- a/nixpkgs/pkgs/development/coq-modules/addition-chains/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/coq-modules/compcert/default.nix b/nixpkgs/pkgs/development/coq-modules/compcert/default.nix
index 9757b3e43c8b..197f1a96fc4a 100644
--- a/nixpkgs/pkgs/development/coq-modules/compcert/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix
index 9adcbaaa8c75..c4055648c5a9 100644
--- a/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -6,6 +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.14.1"; };}
   ] {});
 in mkCoqDerivation {
   pname = "elpi";
@@ -13,11 +14,14 @@ in mkCoqDerivation {
   owner = "LPCIC";
   inherit version;
   defaultVersion = lib.switch coq.coq-version [
+    { 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";
   release."1.10.1".sha256     = "1zsyx26dvj7pznfd2msl2w7zbw51q1nsdw0bdvdha6dga7ijf7xk";
diff --git a/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix
index 410e585dce8e..a6e535e01d86 100644
--- a/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -5,13 +5,15 @@ with lib; mkCoqDerivation rec {
   owner = "coq-ext-lib";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.8" "8.15"; out = "0.11.6"; }
     { case = range "8.8" "8.14"; out = "0.11.4"; }
     { case = range "8.8" "8.13"; out = "0.11.3"; }
     { case = "8.7";              out = "0.9.7"; }
     { case = "8.6";              out = "0.9.5"; }
     { case = "8.5";              out = "0.9.4"; }
   ] null;
-  release."0.11.4".sha256 = "sha256:0yp8mhrhkc498nblvhq1x4j6i9aiidkjza4wzvrkp9p8rgx5g5y3";
+  release."0.11.6".sha256 = "0w6iyrdszz7zc8kaybhy3mwjain2d2f83q79xfd5di0hgdayh7q7";
+  release."0.11.4".sha256 = "0yp8mhrhkc498nblvhq1x4j6i9aiidkjza4wzvrkp9p8rgx5g5y3";
   release."0.11.3".sha256 = "1w99nzpk72lffxis97k235axss5lmzhy5z3lga2i0si95mbpil42";
   release."0.11.2".sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6";
   release."0.10.3".sha256 = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb";
diff --git a/nixpkgs/pkgs/development/coq-modules/coq-record-update/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-record-update/default.nix
index 7c9ee2dca646..a95f4f615443 100644
--- a/nixpkgs/pkgs/development/coq-modules/coq-record-update/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coq-record-update/default.nix
@@ -5,10 +5,11 @@ with lib; mkCoqDerivation rec {
   owner = "tchajed";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14";  out = "0.3.0"; }
+    { case = range "8.10" "8.15";  out = "0.3.0"; }
   ] null;
   release."0.3.0".sha256 = "1ffr21dd6hy19gxnvcd4if2450iksvglvkd6q5713fajd72hmc0z";
   releaseRev = v: "v${v}";
+  buildFlags = "NO_TEST=1";
   meta = {
     description = "Library to create Coq record update functions";
     maintainers = with maintainers; [ ineol ];
diff --git a/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix b/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix
index cbbddefffffe..3b8b23618d23 100644
--- a/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coqeal/default.nix
@@ -10,7 +10,7 @@ with lib;
 
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ]  [
-      { cases = [ (range "8.10" "8.14") (isGe "1.12.0") ]; out = "1.1.0"; }
+      { cases = [ (range "8.10" "8.15") (isGe "1.12.0") ]; out = "1.1.0"; }
       { cases = [ (isGe "8.10") (range "1.11.0" "1.12.0") ]; out = "1.0.5"; }
       { cases = [ (isGe "8.7") "1.11.0" ]; out = "1.0.4"; }
       { cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; }
diff --git a/nixpkgs/pkgs/development/coq-modules/corn/default.nix b/nixpkgs/pkgs/development/coq-modules/corn/default.nix
index ee4a39dbd5e5..d3ac8332c11b 100644
--- a/nixpkgs/pkgs/development/coq-modules/corn/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/corn/default.nix
@@ -5,7 +5,7 @@ with lib; mkCoqDerivation rec {
   inherit version;
   defaultVersion = switch coq.coq-version [
     { case = "8.6"; out = "8.8.1"; }
-    { case = (versions.range "8.7" "8.13"); out = "8.13.0"; }
+    { case = (versions.range "8.7" "8.15"); out = "8.13.0"; }
   ] null;
   release = {
     "8.8.1".sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp";
diff --git a/nixpkgs/pkgs/development/coq-modules/deriving/default.nix b/nixpkgs/pkgs/development/coq-modules/deriving/default.nix
index 5f5723870938..9d823c0bf9e6 100644
--- a/nixpkgs/pkgs/development/coq-modules/deriving/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/deriving/default.nix
@@ -9,7 +9,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.11" "8.14"; out = "0.1.0"; }
+    { case = range "8.11" "8.15"; out = "0.1.0"; }
   ] null;
 
   releaseRev = v: "v${v}";
diff --git a/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix b/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
index d8d189ed5c19..82fb6c536d38 100644
--- a/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -9,6 +9,7 @@ mkCoqDerivation {
   repo = "coq-dpdgraph";
   inherit version;
   defaultVersion = switch coq.coq-version [
+    { case = "8.15"; out = "1.0+8.15"; }
     { case = "8.14"; out = "1.0+8.14"; }
     { case = "8.13"; out = "1.0+8.13"; }
     { case = "8.12"; out = "0.6.8"; }
@@ -21,6 +22,7 @@ mkCoqDerivation {
     { case = "8.5";  out = "0.6"; }
   ] null;
 
+  release."1.0+8.15".sha256 = "sha256:1pxr0gakcz297y8hhrnssv5j07ccd58pv7rh7qv5g7855pfqrkg7";
   release."1.0+8.14".sha256 = "sha256:01pmi7jcc77431jii6x6nd4m8jg4vycachiyi1h6dx9rp3a2508s";
   release."1.0+8.13".sha256 = "sha256:0f8lj8b99n8nsq2jf5m0snblfs8yz50hmlqqq9nlw4qklq7j4z5z";
   release."0.6.9".sha256 = "11mbydpcgk7y8pqzickbzx0ig7g9k9al71i9yfrcscd2xj8fwj8z";
diff --git a/nixpkgs/pkgs/development/coq-modules/equations/default.nix b/nixpkgs/pkgs/development/coq-modules/equations/default.nix
index f563d1728744..16b358b73779 100644
--- a/nixpkgs/pkgs/development/coq-modules/equations/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/equations/default.nix
@@ -6,8 +6,9 @@ with lib; mkCoqDerivation {
   repo = "Coq-Equations";
   inherit version;
   defaultVersion = switch coq.coq-version [
-    { case = "8.14"; out = "1.3-8.14"; }
-    { case = "8.13"; out = "1.3-8.13"; }
+    { case = "8.15"; out = "1.3+8.15"; }
+    { case = "8.14"; out = "1.3+8.14"; }
+    { case = "8.13"; out = "1.3+8.13"; }
     { case = "8.12"; out = "1.2.4+coq8.12"; }
     { case = "8.11"; out = "1.2.4+coq8.11"; }
     { case = "8.10"; out = "1.2.1+coq8.10-2"; }
@@ -44,10 +45,12 @@ with lib; mkCoqDerivation {
     release."1.2.4+coq8.12".sha256    = "1n0w8is464qcq8mk2mv7amaf0khbjz5mpc9phf0rhpjm0lb22cb3";
     release."1.2.4+coq8.13".rev       = "v1.2.4-8.13";
     release."1.2.4+coq8.13".sha256    = "0i014lshsdflzw6h0qxra9d2f0q82vffxv2f29awbb9ad0p4rq4q";
-    release."1.3-8.13".rev            = "v1.3-8.13";
-    release."1.3-8.13".sha256         = "1jwjbkkkk4bwf6pz4zzz8fy5bb17aqyf4smkja59rgj9ya6nrdhg";
-    release."1.3-8.14".rev            = "v1.3-8.14";
-    release."1.3-8.14".sha256         = "19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv";
+    release."1.3+8.13".rev            = "v1.3-8.13";
+    release."1.3+8.13".sha256         = "1jwjbkkkk4bwf6pz4zzz8fy5bb17aqyf4smkja59rgj9ya6nrdhg";
+    release."1.3+8.14".rev            = "v1.3-8.14";
+    release."1.3+8.14".sha256         = "19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv";
+    release."1.3+8.15".rev            = "v1.3-8.15";
+    release."1.3+8.15".sha256         = "1vfcfpsp9zyj0sw0cwibk76nj6n0r6gwh8m1aa3lbvc0b1kbm32k";
 
   mlPlugin = true;
   preBuild = "coq_makefile -f _CoqProject -o Makefile";
diff --git a/nixpkgs/pkgs/development/coq-modules/extructures/default.nix b/nixpkgs/pkgs/development/coq-modules/extructures/default.nix
index c78c6ca03fc3..58c6caa9e6ff 100644
--- a/nixpkgs/pkgs/development/coq-modules/extructures/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/extructures/default.nix
@@ -10,12 +10,14 @@ with lib;
 
   inherit version;
   defaultVersion = with versions; switch [coq.coq-version ssreflect.version] [
+    { cases = [(isGe "8.11") (isGe "1.12.0") ]; out = "0.3.1"; }
     { cases = [(range "8.11" "8.14") (isLe "1.12.0") ]; out = "0.3.0"; }
     { cases = [(range "8.10" "8.12") (isLe "1.12.0") ]; out = "0.2.2"; }
   ] null;
 
   releaseRev = v: "v${v}";
 
+  release."0.3.1".sha256 = "sha256-KcuG/11Yq5ACem4FyVnQqHKvy3tNK7hd0ir2SJzzMN0=";
   release."0.3.0".sha256 = "sha256:14rm0726f1732ldds495qavg26gsn30w6dfdn36xb12g5kzavp38";
   release."0.2.2".sha256 = "sha256:1clzza73gccy6p6l95n6gs0adkqd3h4wgl4qg5l0qm4q140grvm7";
 
diff --git a/nixpkgs/pkgs/development/coq-modules/flocq/default.nix b/nixpkgs/pkgs/development/coq-modules/flocq/default.nix
index 1ac76b38c72c..ca82bbbed069 100644
--- a/nixpkgs/pkgs/development/coq-modules/flocq/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/flocq/default.nix
@@ -7,9 +7,10 @@ with lib; mkCoqDerivation {
   domain = "gitlab.inria.fr";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.7" "8.14"; out = "3.4.2"; }
+    { case = range "8.7" "8.15"; out = "3.4.3"; }
     { case = range "8.5" "8.8"; out = "2.6.1"; }
   ] null;
+  release."3.4.3".sha256 = "sha256-YTdWlEmFJjCcHkl47jSOgrGqdXoApJY4u618ofCaCZE=";
   release."3.4.2".sha256 = "1s37hvxyffx8ccc8mg5aba7ivfc39p216iibvd7f2cb9lniqk1pw";
   release."3.3.1".sha256 = "1mk8adhi5hrllsr0hamzk91vf2405sjr4lh5brg9201mcw11abkz";
   release."2.6.1".sha256 = "0q5a038ww5dn72yvwn5298d3ridkcngb1dik8hdyr3xh7gr5qibj";
diff --git a/nixpkgs/pkgs/development/coq-modules/fourcolor/default.nix b/nixpkgs/pkgs/development/coq-modules/fourcolor/default.nix
index 84cd739ed6ab..19d35b4c97ef 100644
--- a/nixpkgs/pkgs/development/coq-modules/fourcolor/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/fourcolor/default.nix
@@ -7,9 +7,12 @@ mkCoqDerivation {
 
   release."1.2.3".rev    = "v1.2.3";
   release."1.2.3".sha256 = "sha256-gwKfUa74fIP7j+2eQgnLD7AswjCtOFGHGaIWb4qI0n4=";
+  release."1.2.4".rev    = "v1.2.4";
+  release."1.2.4".sha256 = "sha256-iSW2O1kuunvOqTolmGGXmsYTxo2MJYCdW3BnEhp6Ksg=";
 
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
+    { cases = [ (isGe "8.11") (isGe "1.11.0") ]; out = "1.2.4"; }
     { cases = [ (isLe "8.13") (pred.inter (isGe "1.11.0") (isLt "1.13")) ]; out = "1.2.3"; }
   ] null;
 
diff --git a/nixpkgs/pkgs/development/coq-modules/gaia-hydras/default.nix b/nixpkgs/pkgs/development/coq-modules/gaia-hydras/default.nix
index 5b76cb9148f0..d4bcaa8ef81f 100644
--- a/nixpkgs/pkgs/development/coq-modules/gaia-hydras/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/coq-modules/gaia/default.nix b/nixpkgs/pkgs/development/coq-modules/gaia/default.nix
index cf52916605e9..c7c64c9d257c 100644
--- a/nixpkgs/pkgs/development/coq-modules/gaia/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/gaia/default.nix
@@ -10,7 +10,7 @@ with lib; mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
-    { cases = [ (range "8.10" "8.14") (isGe "1.12.0") ]; out = "1.13"; }
+    { cases = [ (range "8.10" "8.15") (isGe "1.12.0") ]; out = "1.13"; }
     { cases = [ (range "8.10" "8.12") "1.11.0" ]; out = "1.11"; }
   ] null;
 
diff --git a/nixpkgs/pkgs/development/coq-modules/hierarchy-builder/default.nix b/nixpkgs/pkgs/development/coq-modules/hierarchy-builder/default.nix
index e950741d81ca..1f5a616bb549 100644
--- a/nixpkgs/pkgs/development/coq-modules/hierarchy-builder/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/hierarchy-builder/default.nix
@@ -5,10 +5,12 @@ with lib; let hb = mkCoqDerivation {
   owner = "math-comp";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.15"; out = "1.2.1"; }
     { case = range "8.13" "8.14"; out = "1.2.0"; }
     { case = range "8.12" "8.13"; out = "1.1.0"; }
     { case = isEq "8.11";         out = "0.10.0"; }
   ] null;
+  release."1.2.1".sha256  = "sha256-pQYZJ34YzvdlRSGLwsrYgPdz3p/l5f+KhJjkYT08Mj0=";
   release."1.2.0".sha256  = "0sk01rvvk652d86aibc8rik2m8iz7jn6mw9hh6xkbxlsvh50719d";
   release."1.1.0".sha256  = "sha256-spno5ty4kU4WWiOfzoqbXF8lWlNSlySWcRReR3zE/4Q=";
   release."1.0.0".sha256  = "0yykygs0z6fby6vkiaiv3azy1i9yx4rqg8xdlgkwnf2284hffzpp";
diff --git a/nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix b/nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix
index faec5d3e330c..7977363d83f5 100644
--- a/nixpkgs/pkgs/development/coq-modules/hydra-battles/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/coq-modules/interval/default.nix b/nixpkgs/pkgs/development/coq-modules/interval/default.nix
index 117eafae9239..b608f3d02050 100644
--- a/nixpkgs/pkgs/development/coq-modules/interval/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/interval/default.nix
@@ -6,11 +6,12 @@ mkCoqDerivation rec {
   domain = "gitlab.inria.fr";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.8" "8.14"; out = "4.3.0"; }
+    { case = isGe "8.8"; out = "4.4.0"; }
     { case = range "8.8" "8.12"; out = "4.0.0"; }
     { case = range "8.7" "8.11"; out = "3.4.2"; }
     { case = range "8.5" "8.6";  out = "3.3.0"; }
   ] null;
+  release."4.4.0".sha256 = "sha256-0+9AatTIEsjul0RXoOw6zWGEbGDVmuy7XuyrZNBZ8Kk=";
   release."4.3.0".sha256 = "sha256-k8DLC4HYYpHeEEgXUafS8jkaECqlM+/CoYaInmUTYko=";
   release."4.2.0".sha256 = "sha256-SD5thgpirs3wmZBICjXGpoefg9AAXyExb5t8tz3iZhE=";
   release."4.1.1".sha256 = "sha256-h2NJ6sZt1C/88v7W2xyuftEDoyRt3H6kqm5g2hc1aoU=";
diff --git a/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix b/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix
index e61019b91c67..0a78191d8b72 100644
--- a/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/math-classes/default.nix
@@ -4,10 +4,10 @@ with lib; mkCoqDerivation {
 
   pname = "math-classes";
   inherit version;
-  defaultVersion = if versions.range "8.11" "8.13" coq.coq-version then "8.13.0" else
-                   if versions.range "8.6"  "8.10" coq.coq-version then "8.12.0" else null;
+  defaultVersion = if versions.range "8.6" "8.15" coq.coq-version then "8.15.0" else null;
   release."8.12.0".sha256 = "14nd6a08zncrl5yg2gzk0xf4iinwq4hxnsgm4fyv07ydbkxfb425";
   release."8.13.0".sha256 = "1ln7ziivfbxzbdvlhbvyg3v30jgblncmwcsam6gg3d1zz6r7cbby";
+  release."8.15.0".sha256 = "10w1hm537k6jx8a8vghq1yx12rsa0sjk2ipv3scgir71ln30hllw";
 
   extraBuildInputs = [ bignums ];
 
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp-abel/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp-abel/default.nix
index 2ada5ee1c91c..06cfd12b07eb 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp-abel/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp-abel/default.nix
@@ -8,7 +8,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with lib; with versions; switch [ coq.version mathcomp.version ]  [
-      { cases = [ (range "8.10" "8.14") (range "1.12.0" "1.13.0") ]; out = "1.2.0"; }
+      { cases = [ (range "8.10" "8.15") (isGe "1.12.0") ];           out = "1.2.0"; }
       { cases = [ (range "8.10" "8.14") (range "1.11.0" "1.12.0") ]; out = "1.1.2"; }
     ] null;
 
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp-analysis/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp-analysis/default.nix
index 5901fe2bb396..f842bc3b6dbe 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp-analysis/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp-analysis/default.nix
@@ -8,6 +8,7 @@ let mca = mkCoqDerivation {
   pname = "analysis";
   owner = "math-comp";
 
+  release."0.3.13".sha256 = "sha256-Yaztew79KWRC933kGFOAUIIoqukaZOdNOdw4XszR1Hg=";
   release."0.3.10".sha256 = "sha256-FBH2c8QRibq5Ycw/ieB8mZl0fDiPrYdIzZ6W/A3pIhI=";
   release."0.3.9".sha256 = "sha256-uUU9diBwUqBrNRLiDc0kz0CGkwTZCUmigPwLbpDOeg4=";
   release."0.3.6".sha256 = "0g2j7b2hca4byz62ssgg90bkbc8wwp7xkb2d3225bbvihi92b4c5";
@@ -18,6 +19,7 @@ let mca = mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ]  [
+      { cases = [ (isGe "8.13") (isGe "1.12.0") ];      out = "0.3.13"; }
       { cases = [ (range "8.11" "8.14") (isGe "1.12.0") ];      out = "0.3.10"; }
       { cases = [ (range "8.11" "8.13") "1.11.0" ];             out = "0.3.4"; }
       { cases = [ (range "8.10" "8.12") "1.11.0" ];             out = "0.3.3"; }
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp-finmap/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp-finmap/default.nix
index 6a72f73a01b8..744d5ea98514 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp-finmap/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp-finmap/default.nix
@@ -7,7 +7,7 @@ with lib; mkCoqDerivation {
   owner = "math-comp";
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ]  [
-      { cases = [ (isGe "8.10")          (range "1.11" "1.13") ]; out = "1.5.1"; }
+      { cases = [ (isGe "8.10")          (isGe "1.11") ];         out = "1.5.1"; }
       { cases = [ (range "8.7" "8.11")   "1.11.0" ];              out = "1.5.0"; }
       { cases = [ (isEq "8.11")          (range "1.8" "1.10") ];  out = "1.4.0+coq-8.11"; }
       { cases = [ (range "8.7" "8.11.0") (range "1.8" "1.10") ];  out = "1.4.0"; }
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp-word/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp-word/default.nix
index b7f613ccfcc1..67f4c4ef786d 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp-word/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp-word/default.nix
@@ -14,7 +14,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
-    { cases = [ (range "8.12" "8.14") (range "1.12" "1.13") ]; out = "1.0"; }
+    { cases = [ (range "8.12" "8.14") (isGe "1.12") ]; out = "1.0"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp.algebra ];
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp-zify/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp-zify/default.nix
index fd3f31d3fe0d..ce2bd98f3d01 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp-zify/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp-zify/default.nix
@@ -9,7 +9,7 @@ with lib; mkCoqDerivation rec {
 
   defaultVersion = with versions;
      switch [ coq.coq-version mathcomp-algebra.version ] [
-       { cases = [ (range "8.13" "8.14") (isGe "1.12") ]; out = "1.1.0+1.12+8.13"; }
+       { cases = [ (range "8.13" "8.15") (isGe "1.12") ]; out = "1.1.0+1.12+8.13"; }
      ] null;
 
   release."1.0.0+1.12+8.13".sha256 = "1j533vx6lacr89bj1bf15l1a0s7rvrx4l00wyjv99aczkfbz6h6k";
diff --git a/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix b/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
index 562d1f949250..5b41d62d775a 100644
--- a/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/mathcomp/default.nix
@@ -19,7 +19,8 @@ let
   owner = "math-comp";
   withDoc = single && (args.withDoc or false);
   defaultVersion = with versions; switch coq.coq-version [
-      { case = isGe  "8.14";        out = "1.13.0"; }
+      { case = isGe  "8.11";        out = "1.14.0"; }
+      { case = range "8.11" "8.15"; out = "1.13.0"; }
       { case = range "8.10" "8.13"; out = "1.12.0"; }
       { case = range "8.7"  "8.12"; out = "1.11.0"; }
       { case = range "8.7" "8.11";  out = "1.10.0"; }
@@ -29,6 +30,7 @@ let
       { case = range "8.5" "8.7";   out = "1.6.4";  }
     ] null;
   release = {
+    "1.14.0".sha256 = "07yamlp1c0g5nahkd2gpfhammcca74ga2s6qr7a3wm6y6j5pivk9";
     "1.13.0".sha256 = "0j4cz2y1r1aw79snkcf1pmicgzf8swbaf9ippz0vg99a572zqzri";
     "1.12.0".sha256 = "1ccfny1vwgmdl91kz5xlmhq4wz078xm4z5wpd0jy5rn890dx03wp";
     "1.11.0".sha256 = "06a71d196wd5k4wg7khwqb7j7ifr7garhwkd54s86i0j7d6nhl3c";
diff --git a/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix b/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix
index c29669625a9d..a74ee17f1c60 100644
--- a/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/multinomials/default.nix
@@ -9,7 +9,7 @@ with lib; mkCoqDerivation {
 
   inherit version;
   defaultVersion =  with versions; switch [ coq.version mathcomp.version ] [
-      { cases = [ (range "8.10" "8.14") (isGe "1.12.0") ];      out = "1.5.4"; }
+      { cases = [ (isGe "8.10") (isGe "1.12.0") ];      out = "1.5.5"; }
       { cases = [ (range "8.10" "8.12") "1.12.0" ];             out = "1.5.3"; }
       { cases = [ (range "8.7" "8.12")  "1.11.0" ];             out = "1.5.2"; }
       { cases = [ (range "8.7" "8.11")  (range "1.8" "1.10") ]; out = "1.5.0"; }
@@ -17,6 +17,7 @@ with lib; mkCoqDerivation {
       { cases = [ "8.6"                 (range "1.6" "1.7") ];  out = "1.1"; }
     ] null;
   release = {
+    "1.5.5".sha256 = "sha256-VdXA51vr7DZl/wT/15YYMywdD7Gh91dMP9t7ij47qNQ=";
     "1.5.4".sha256 = "0s4sbh4y88l125hdxahr56325hdhxxdmqmrz7vv8524llyv3fciq";
     "1.5.3".sha256 = "1462x40y2qydjd2wcg8r6qr8cx3xv4ixzh2h8vp9h7arylkja1qd";
     "1.5.2".sha256 = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s";
diff --git a/nixpkgs/pkgs/development/coq-modules/odd-order/default.nix b/nixpkgs/pkgs/development/coq-modules/odd-order/default.nix
index 912d523d3bf7..200903406336 100644
--- a/nixpkgs/pkgs/development/coq-modules/odd-order/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/odd-order/default.nix
@@ -5,11 +5,14 @@ mkCoqDerivation {
   pname = "odd-order";
   owner = "math-comp";
 
+  release."1.13.0".rev    = "mathcomp-odd-order.1.13.0";
+  release."1.13.0".sha256 = "sha256-EzNKR/JzM8T17sMhPhgZNs14e50X4dY3OwFi133IsT0=";
   release."1.12.0".rev    = "mathcomp-odd-order.1.12.0";
   release."1.12.0".sha256 = "sha256-omsfdc294CxKAHNMMeqJCcVimvyRCHgxcQ4NJOWSfNM=";
 
   inherit version;
   defaultVersion = with versions; switch mathcomp.character.version [
+    { case = (range "1.12.0" "1.14.0"); out = "1.13.0"; }
     { case = (range "1.10.0" "1.12.0"); out = "1.12.0"; }
   ] null;
 
diff --git a/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix b/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix
index d73d14c84a0c..7f65e6643c55 100644
--- a/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/paramcoq/default.nix
@@ -4,10 +4,11 @@ with lib; mkCoqDerivation {
   pname = "paramcoq";
   inherit version;
   defaultVersion = with versions; switch coq.version [
-    { case = range "8.10" "8.14"; out = "1.1.3+coq${coq.coq-version}"; }
+    { case = range "8.10" "8.15"; out = "1.1.3+coq${coq.coq-version}"; }
     { case = range "8.7"  "8.13"; out = "1.1.2+coq${coq.coq-version}"; }
   ] null;
   displayVersion = { paramcoq = "..."; };
+  release."1.1.3+coq8.15".sha256 = "0sl7ihznwz05d2x2v78w1zd4q55c1sgy06vxasbcls4v2pkw53hl";
   release."1.1.3+coq8.14".sha256 = "00zqq9dc2p5v0ib1jgizl25xkwxrs9mrlylvy0zvb96dpridjc71";
   release."1.1.3+coq8.13".sha256 = "06ndly736k4pmdn4baqa7fblp6lx7a9pxm9gvz1vzd6ic51825wp";
   release."1.1.3+coq8.12".sha256 = "sha256:10j23ws8ymqpxhapni75sxbzz0dl4n9sgasrx618i7s7b705y2rh";
diff --git a/nixpkgs/pkgs/development/coq-modules/reglang/default.nix b/nixpkgs/pkgs/development/coq-modules/reglang/default.nix
index 1908c755cd3a..847ebb7808be 100644
--- a/nixpkgs/pkgs/development/coq-modules/reglang/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/reglang/default.nix
@@ -10,7 +10,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14"; out = "1.1.2"; }
+    { case = range "8.10" "8.15"; out = "1.1.2"; }
   ] null;
 
 
diff --git a/nixpkgs/pkgs/development/coq-modules/serapi/default.nix b/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
index 383151a1cb5e..b3bff95b5eaf 100644
--- a/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
@@ -1,22 +1,9 @@
 { lib, fetchzip, mkCoqDerivation, coq, version ? null }:
 
 let
-  ocamlPackages =
-    coq.ocamlPackages.overrideScope'
-      (self: super: {
-        ppxlib = super.ppxlib.override { version = "0.15.0"; };
-        # the following does not work
-        ppx_sexp_conv = super.ppx_sexp_conv.overrideAttrs (_: {
-          src = fetchzip {
-            url = "https://github.com/janestreet/ppx_sexp_conv/archive/v0.14.1.tar.gz";
-            sha256 = "04bx5id99clrgvkg122nx03zig1m7igg75piphhyx04w33shgkz2";
-          };
-        });
-      });
-
   release = {
-    "8.14.0+0.14.0".sha256 = "sha256:1kh80yb791yl771qbqkvwhbhydfii23a7lql0jgifvllm2k8hd8d";
-    "8.14+rc1+0.14.0".sha256 = "1w7d7anvcfx8vz51mnrf1jkw6rlpzjkjlr06avf58wlhymww7pja";
+    "8.15.0+0.15.0".sha256 = "1vh99ya2dq6a8xl2jrilgs0rpj4j227qx8zvzd2v5xylx0p4bbrp";
+    "8.14.0+0.14.0".sha256 = "1kh80yb791yl771qbqkvwhbhydfii23a7lql0jgifvllm2k8hd8d";
     "8.13.0+0.13.0".sha256 = "0k69907xn4k61w4mkhwf8kh8drw9pijk9ynijsppihw98j8w38fy";
     "8.12.0+0.12.1".sha256 = "048x3sgcq4h845hi6hm4j4dsfca8zfj70dm42w68n63qcm6xf9hn";
     "8.11.0+0.11.1".sha256 = "1phmh99yqv71vlwklqgfxiq2vj99zrzxmryj2j4qvg5vav3y3y6c";
@@ -29,9 +16,8 @@ in
   inherit version release;
 
   defaultVersion =  with versions;
-    if isGe "4.12" coq.ocamlPackages.ocaml.version then null
-    else
     switch coq.version [
+      { case = isEq "8.15"; out = "8.15.0+0.15.0"; }
       { case = isEq "8.14"; out = "8.14.0+0.14.0"; }
       { case = isEq "8.13"; out = "8.13.0+0.13.0"; }
       { case = isEq "8.12"; out = "8.12.0+0.12.1"; }
@@ -42,7 +28,7 @@ in
   useDune2 = true;
 
   propagatedBuildInputs =
-    with ocamlPackages; [
+    with coq.ocamlPackages; [
       cmdliner
       findlib # run time dependency of SerAPI
       ppx_deriving
@@ -70,9 +56,6 @@ in
   let inherit (o) version; in {
   src = fetchzip {
     url =
-      if version == "8.14+rc1+0.14.0"
-      then "https://github.com/ejgallego/coq-serapi/archive/refs/tags/8.14+rc1+0.14.0.tar.gz"
-      else
         "https://github.com/ejgallego/coq-serapi/releases/download/${version}/coq-serapi-${
           if version == "8.11.0+0.11.1" then version
           else builtins.replaceStrings [ "+" ] [ "." ] version
diff --git a/nixpkgs/pkgs/development/embedded/arduino/arduino-cli/default.nix b/nixpkgs/pkgs/development/embedded/arduino/arduino-cli/default.nix
index 8fd4cf0a35ae..dc463c9fc4db 100644
--- a/nixpkgs/pkgs/development/embedded/arduino/arduino-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix b/nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix
index 6b2c6203a392..71f3c884868b 100644
--- a/nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix
+++ b/nixpkgs/pkgs/development/embedded/arduino/arduino-core/default.nix
@@ -79,33 +79,33 @@ let
 in
 stdenv.mkDerivation rec {
   pname = (if withTeensyduino then "teensyduino" else "arduino") + lib.optionalString (!withGui) "-core";
-  version = "1.8.16";
+  version = "1.8.19";
 
   src = fetchFromGitHub {
     owner = "arduino";
     repo = "Arduino";
     rev = version;
-    sha256 = "sha256-6d+y0Lgr+h0qYpCsa/ihvSMNuAdRMNQRuxZFpkWLDvg=";
+    sha256 = "sha256-I+PvfGc5F8H/NJOGRa18z7dKyKcO8I8Cg7Tj5yxkYAQ=";
   };
 
-  teensyduino_version = "155";
+  teensyduino_version = "156";
   teensyduino_src = fetchurl {
     url = "https://www.pjrc.com/teensy/td_${teensyduino_version}/TeensyduinoInstall.${teensy_architecture}";
     sha256 = {
-      linux64 = "sha256-DypCbCm4RKYgnFJRwoHyPht6dFG48YvWM4RzEDdJE6U=";
-      linux32 = "sha256-MJ4xsTAZPO8BhO/VWSjBAjBVLrKM+3PNi1fiF8dsuVQ=";
-      linuxarm = "sha256-x5JdYflLThohos9RTAWt4XrzvksB7VWfXTKqgXZ1d6Q=";
-      linuxaarch64 = "sha256-N18nvavEMhvt2jOrdI+tsXtbWIdsj1n4aMVeaaBlcT4=";
+      linux64 = "sha256-4DbhmmYrx+rCBpDrYFaC0A88Qv9UEeNlQAkFi3zAstk=";
+      linux32 = "sha256-DlRPOtDxmMPv2Qzhib7vNZdKNZCxmm9YmVNnwUKXK/E=";
+      linuxarm = "sha256-d+DbpER/4lFPcPDFeMG5f3WaUGn8pFchdIDo7Hm0XWs=";
+      linuxaarch64 = "sha256-8keQzhWq7QlAGIbfHEe3lfxpJleMMvBORuPaNrLmM6Y=";
     }.${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}");
   };
   # Used because teensyduino requires jars be a specific size
   arduino_dist_src = fetchurl {
     url = "https://downloads.arduino.cc/arduino-${version}-${teensy_architecture}.tar.xz";
     sha256 = {
-      linux64 = "sha256-VK+Skl2xjqPWYEEKt1CCLwBZRxoyRfYQ3/60Byen9po=";
-      linux32 = "sha256-fjqV4avddmWAdFqMuUNUcDguxv3SI45m5QHFiWP8EKE=";
-      linuxarm = "sha256-Br8vUN7njI7VCH+ZvUh44l8LcgW+61+Q0x2AiXxIhTM=";
-      linuxaarch64 = "sha256-bOizBUUuyINg0/EqEatBq9lECT97JXxKbesCGyCA3YQ=";
+      linux64 = "sha256-62i93B0cASC+L8oTUKA+40Uxzzf1GEeyEhC25wVFvJs=";
+      linux32 = "sha256-wSxtx3BqXMQCeWQDK8PHkWLlQqQM1Csao8bIk98FrFg=";
+      linuxarm = "sha256-lJ/R1ePq7YtDk3bvloFcn8jswrJH+L63tvH5QpTqfXs=";
+      linuxaarch64 = "sha256-gm8cDjLKNfpcaeO7fw6Kyv1TnWV/ZmH4u++nun9X6jo=";
     }.${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}");
   };
 
diff --git a/nixpkgs/pkgs/development/embedded/arduino/ino/default.nix b/nixpkgs/pkgs/development/embedded/arduino/ino/default.nix
deleted file mode 100644
index e25a7b83e9c7..000000000000
--- a/nixpkgs/pkgs/development/embedded/arduino/ino/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, fetchurl, python2Packages, picocom
-, avrdude, arduino-core }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "ino";
-  version = "0.3.6";
-
-  src = fetchurl {
-    url = "mirror://pypi/i/ino/ino-${version}.tar.gz";
-    sha256 = "0k6lzfcn55favbj0w4afrvnmwyskf7bgzg9javv2ycvskp35srwv";
-  };
-
-  # TODO: add avrgcclibc, it must be rebuild with C++ support
-  propagatedBuildInputs = with python2Packages; [
-    arduino-core
-    avrdude
-    picocom
-    configobj
-    jinja2
-    pyserial
-    six
-  ];
-
-  patchPhase = ''
-    echo "Patching Arduino distribution path"
-    sed -i 's@/usr/local/share/arduino@${arduino-core}/share/arduino@g' \
-        ino/environment.py
-    sed -i -e 's@argparse@@' -e 's@ordereddict@@' \
-        requirements.txt
-    sed -i -e 's@from ordereddict@from collections@' \
-        ino/environment.py ino/utils.py
-
-    # Patch the upload command so it uses the correct avrdude
-    substituteInPlace ino/commands/upload.py \
-      --replace "self.e['avrdude']" "'${avrdude}/bin/avrdude'" \
-      --replace "'-C', self.e['avrdude.conf']," ""
-  '';
-
-  meta = with lib; {
-    description = "Command line toolkit for working with Arduino hardware";
-    homepage = "http://inotool.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ antono ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix b/nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix
new file mode 100644
index 000000000000..fac10a28107f
--- /dev/null
+++ b/nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, udev }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "elf2uf2-rs";
+  version = "unstable-2021-12-12";
+
+  src = fetchFromGitHub {
+    owner = "JoNil";
+    repo = pname;
+    rev = "91ae98873ed01971ab1543b98266a5ad2ec09210";
+    sha256 = "sha256-DGrT+YdDLdTYy5SWcQ+DNbpifGjrF8UTXyEeE/ug564=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    udev
+  ];
+
+  cargoSha256 = "sha256-5ui1+987xICP2wUSHy4YzKskn52W51Pi4DbEh+GbSPE=";
+
+  meta = with lib; {
+    description = "Convert ELF files to UF2 for USB Flashing Bootloaders";
+    homepage = "https://github.com/JoNil/elf2uf2-rs";
+    license = with licenses; [ bsd0 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ polygon ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/embedded/fpga/apio/default.nix b/nixpkgs/pkgs/development/embedded/fpga/apio/default.nix
index 95de28113f84..1bb5f336f1eb 100644
--- a/nixpkgs/pkgs/development/embedded/fpga/apio/default.nix
+++ b/nixpkgs/pkgs/development/embedded/fpga/apio/default.nix
@@ -7,6 +7,7 @@
 , colorama
 , pyserial
 , wheel
+, scons
 , setuptools
 , tinyprog
 , pytestCheckHook
@@ -14,17 +15,20 @@
 
 buildPythonApplication rec {
   pname = "apio";
-  version = "0.7.6";
+  version = "0.8.0";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "FPGAwars";
     repo = "apio";
     rev = "v${version}";
-    sha256 = "sha256-KmqxwYKsvcTSuUSVXgegR47y9VeU/vICbYWD7z3aDRM=";
+    sha256 = "sha256-nOZI+FHdZRnkJF/No8z0mZ4Q5aHFnF7c20ajTPI00N4=";
   };
 
   postPatch = ''
+    substituteInPlace pyproject.toml --replace \
+      'scons==4.2.0' 'scons'
+
     substituteInPlace apio/managers/scons.py --replace \
       'return "tinyprog --libusb --program"' \
       'return "${tinyprog}/bin/tinyprog --libusb --program"'
@@ -49,6 +53,7 @@ buildPythonApplication rec {
     colorama
     pyserial
     wheel
+    scons
     setuptools # needs pkg_resources at runtime (technically not needed when tinyprog is also in this list because of the propagatedBuildInputs of tinyprog)
 
     tinyprog # needed for upload to TinyFPGA
diff --git a/nixpkgs/pkgs/development/embedded/gputils/default.nix b/nixpkgs/pkgs/development/embedded/gputils/default.nix
index c07949e80968..69a901ea80f7 100644
--- a/nixpkgs/pkgs/development/embedded/gputils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/embedded/rshell/default.nix b/nixpkgs/pkgs/development/embedded/rshell/default.nix
index bcda3c02dd63..a537af3692b4 100644
--- a/nixpkgs/pkgs/development/embedded/rshell/default.nix
+++ b/nixpkgs/pkgs/development/embedded/rshell/default.nix
@@ -1,15 +1,26 @@
-{ lib, buildPythonApplication, fetchPypi, pyserial, pyudev }:
+{ lib
+, buildPythonApplication
+, fetchPypi
+, pyserial
+, pyudev
+, pythonOlder
+}:
 
 buildPythonApplication rec {
   pname = "rshell";
-  version = "0.0.30";
+  version = "0.0.31";
+
+  disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d2002d40d735204037d6142a6c2d51beecc763c124faaf759cabf7acd945be95";
+    sha256 = "7942b758a9ae5c6ff46516b0317f437dfce9f0721f3a3b635ebd501c9cd38fb9";
   };
 
-  propagatedBuildInputs = [ pyserial pyudev ];
+  propagatedBuildInputs = [
+    pyserial
+    pyudev
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/dhylands/rshell";
diff --git a/nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix b/nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix
index bca4f87f9a55..9652a95ee27f 100644
--- a/nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix
+++ b/nixpkgs/pkgs/development/embedded/stm32/stm32cubemx/default.nix
@@ -9,11 +9,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "stm32cubemx";
-  version = "6.2.1";
+  version = "6.4.0";
 
   src = fetchzip {
     url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${builtins.replaceStrings ["."] [""] version}-lin.zip";
-    sha256 = "0m5h01iq0mgrr9svj4gmykfi9lsyjpqzrkvlizff26c8dqad59c5";
+    sha256 = "sha256-5qotjAyaNFtYUjHlNKwywmBJGAzS/IM9bF+dmONE4bk=";
     stripRoot = false;
   };
 
diff --git a/nixpkgs/pkgs/development/embedded/tytools/default.nix b/nixpkgs/pkgs/development/embedded/tytools/default.nix
index 027cfde2669a..23bab058c594 100644
--- a/nixpkgs/pkgs/development/embedded/tytools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/gnuradio-modules/grnet/default.nix b/nixpkgs/pkgs/development/gnuradio-modules/grnet/default.nix
index 568e63a77b8b..6e8b72a6565b 100644
--- a/nixpkgs/pkgs/development/gnuradio-modules/grnet/default.nix
+++ b/nixpkgs/pkgs/development/gnuradio-modules/grnet/default.nix
@@ -52,6 +52,7 @@ mkDerivation {
   pname = "gr-grnet";
   version = version.name;
   inherit src;
+  disabledForGRafter = "3.10";
 
   buildInputs = [
     boost
diff --git a/nixpkgs/pkgs/development/gnuradio-modules/limesdr/default.nix b/nixpkgs/pkgs/development/gnuradio-modules/limesdr/default.nix
index f26e4695a10c..48bbc68c80a3 100644
--- a/nixpkgs/pkgs/development/gnuradio-modules/limesdr/default.nix
+++ b/nixpkgs/pkgs/development/gnuradio-modules/limesdr/default.nix
@@ -20,7 +20,6 @@ let
   version = {
     "3.7" = "2.0.0";
     "3.8" = "3.0.1";
-    "3.9" = null;
   }.${gnuradio.versionAttr.major};
   src = fetchFromGitHub {
     owner = "myriadrf";
@@ -29,7 +28,6 @@ let
     sha256 = {
       "3.7" = "0ldqvfwl0gil89l9s31fjf9d7ki0dk572i8vna336igfaz348ypq";
       "3.8" = "ffs+8TU0yr6IW1xZJ/abQ1CQWGZM+zYqPRJxy3ZvM9U=";
-      "3.9" = null;
     }.${gnuradio.versionAttr.major};
   };
 in mkDerivation {
diff --git a/nixpkgs/pkgs/development/gnuradio-modules/osmosdr/default.nix b/nixpkgs/pkgs/development/gnuradio-modules/osmosdr/default.nix
index ebb34afee101..326a2b9d9bde 100644
--- a/nixpkgs/pkgs/development/gnuradio-modules/osmosdr/default.nix
+++ b/nixpkgs/pkgs/development/gnuradio-modules/osmosdr/default.nix
@@ -24,16 +24,14 @@
 let
   version = {
     "3.7" = "0.1.5";
-    "3.8" = "0.2.2";
-    "3.9" = null;
+    "3.8" = "0.2.3";
   }.${gnuradio.versionAttr.major};
   src = fetchgit {
     url = "git://git.osmocom.org/gr-osmosdr";
     rev = "v${version}";
     sha256 = {
       "3.7" = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
-      "3.8" = "HT6xlN6cJAnvF+s1g2I1uENhBJJizdADlLXeSD0rEqs=";
-      "3.9" = null;
+      "3.8" = "sha256-ZfI8MshhZOdJ1U5FlnZKXsg2Rsvb6oKg943ZVYd/IWo=";
     }.${gnuradio.versionAttr.major};
   };
 in mkDerivation {
diff --git a/nixpkgs/pkgs/development/go-modules/generic/default.nix b/nixpkgs/pkgs/development/go-modules/generic/default.nix
index 45a8f8c7ae24..5161d9c9b4ff 100644
--- a/nixpkgs/pkgs/development/go-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-modules/generic/default.nix
@@ -1,4 +1,4 @@
-{ go, cacert, git, lib, stdenv, vend }:
+{ go, cacert, git, lib, stdenv }:
 
 let
   buildGoPackage =
@@ -28,12 +28,10 @@ let
     , vendorSha256
     # Whether to delete the vendor folder supplied with the source.
     , deleteVendor ? false
-    # Whether to run the vend tool to regenerate the vendor directory.
-    # This is useful if any dependency contain C files.
-    , runVend ? false
     # Whether to fetch (go mod download) and proxy the vendor directory.
-    # This is useful if any dependency has case-insensitive conflicts
-    # which will produce platform dependant `vendorSha256` checksums.
+    # This is useful if your code depends on c code and go mod tidy does not
+    # include the needed sources to build or if any dependency has case-insensitive
+    # conflicts which will produce platform dependant `vendorSha256` checksums.
     , proxyVendor ? false
 
     # We want parallel builds by default
@@ -45,6 +43,9 @@ let
 
     , meta ? {}
 
+    # disabled
+    , runVend ? false
+
     # Not needed with buildGoModule
     , goPackagePath ? ""
 
@@ -56,7 +57,7 @@ let
 
     with builtins;
 
-    assert (runVend == true && proxyVendor == true) -> throw "can't use `runVend` and `proxyVendor` together";
+    assert runVend != false -> throw "`runVend` has been replaced by `proxyVendor`";
 
     assert goPackagePath != "" -> throw "`goPackagePath` is not needed with `buildGoModule`";
 
@@ -107,10 +108,7 @@ let
             exit 10
           fi
 
-        ${if runVend then ''
-          echo "running 'vend' to rewrite vendor folder"
-          ${vend}/bin/vend
-        '' else if proxyVendor then ''
+        ${if proxyVendor then ''
           mkdir -p "''${GOPATH}/pkg/mod/cache/download"
           go mod download
         '' else ''
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix
deleted file mode 100644
index ead08ce0231b..000000000000
--- a/nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, gconf
-, glib
-, gnome_vfs
-, gtk2
-, guile
-, guile-cairo
-, guile-lib
-, gwrap
-, libglade
-, libgnome
-, libgnomecanvas
-, libgnomeui
-, pango
-, pkg-config
-, texinfo
-}:
-
-stdenv.mkDerivation rec {
-  pname = "guile-gnome-platform";
-  version = "2.16.4";
-
-  src = fetchurl {
-    url = "mirror://gnu/guile-gnome/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-ravUjtWZPYUo/WBOCqDZatgaYdBtps3WgyNXKtbCFsM=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    texinfo
-  ];
-  buildInputs = [
-    gconf
-    glib
-    gnome_vfs
-    gtk2
-    guile
-    guile-cairo
-    gwrap
-    libglade
-    libgnome
-    libgnomecanvas
-    libgnomeui
-    pango
-  ] ++ lib.optional doCheck guile-lib;
-
-  # The test suite tries to open an X display, which fails.
-  doCheck = false;
-
-  makeFlags = [
-    "GUILE_AUTO_COMPILE=0"
-  ];
-
-  meta = with lib; {
-    homepage = "https://www.gnu.org/software/guile-gnome/";
-    description = "GNOME bindings for GNU Guile";
-    longDescription = ''
-      GNU guile-gnome brings the power of Scheme to your graphical application.
-      guile-gnome modules support the entire Gnome library stack: from Pango to
-      GnomeCanvas, GTK to GStreamer, Glade to GtkSourceView, you will find in
-      guile-gnome a comprehensive environment for developing modern
-      applications.
-    '';
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ vyp ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-json/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-json/default.nix
index 5433bbb1aa64..1ca6c21c97c8 100644
--- a/nixpkgs/pkgs/development/guile-modules/guile-json/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix
index c6fbba93de47..c4ec4904f9aa 100644
--- a/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix
+++ b/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "guile-sdl2";
-  version = "0.5.0";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "https://files.dthompson.us/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-lWTLctPUDqvN/Y95oOL7LF3czlLJFQ9d9np9dx4DHYU=";
+    hash = "sha256-h0osCURnYTUQFrKw0i7Jd+QCI8piR1NUE2lbxPv87aQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-ssh/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-ssh/default.nix
index b7e742384df6..79a1a7d9b8d2 100644
--- a/nixpkgs/pkgs/development/guile-modules/guile-ssh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix
index 72066313ecaa..ba66635be50c 100644
--- a/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix
+++ b/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
 , guile
 , pkg-config
 , texinfo
@@ -10,9 +10,11 @@ stdenv.mkDerivation rec {
   pname = "guile-xcb";
   version = "1.3";
 
-  src = fetchurl {
-    url = "http://www.markwitmer.com/dist/${pname}-${version}.tar.gz";
-    hash = "sha256-iYR6AYSTgUsURAEJTWcdHlc0f8LzEftAIsfonBteuxE=";
+  src = fetchFromGitHub {
+    owner = "mwitmer";
+    repo = pname;
+    rev = version;
+    hash = "sha256-8iaYil2wiqnu9p7Gj93GE5akta1A0zqyApRwHct5RSs=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "http://www.markwitmer.com/guile-xcb/guile-xcb.html";
+    homepage = "https://github.com/mwitmer/guile-xcb";
     description = "XCB bindings for Guile";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ vyp ];
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix
index 9e95e0bdad2a..2ea0f56634b8 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-arm.nix
@@ -96,6 +96,9 @@ self: super: {
   hls-call-hierarchy-plugin = dontCheck super.hls-call-hierarchy-plugin;
   hls-module-name-plugin = dontCheck super.hls-module-name-plugin;
   hls-brittany-plugin = dontCheck super.hls-brittany-plugin;
+  hls-qualify-imported-names-plugin = dontCheck super.hls-qualify-imported-names-plugin;
+  hls-class-plugin = dontCheck super.hls-class-plugin;
+  hls-selection-range-plugin = dontCheck super.hls-selection-range-plugin;
 
   # Similar RTS issue in test suite:
   # rts/linker/elf_reloc_aarch64.c:98: encodeAddendAarch64: Assertion `isInt64(21+12, addend)' failed.
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
index e8ca545e6cd5..b95f53758fd0 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
@@ -41,11 +41,6 @@ self: super: {
   ghcjs-base = null;
   ghcjs-prim = null;
 
-  # enable using a local hoogle with extra packagages in the database
-  # nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }"
-  # $ hoogle server
-  hoogleLocal = { packages ? [] }: self.callPackage ./hoogle.nix { inherit packages; };
-
   # Needs older QuickCheck version
   attoparsec-varword = dontCheck super.attoparsec-varword;
 
@@ -59,15 +54,21 @@ self: super: {
   # There's an open PR updating the lower bound for `network`:
   # > https://github.com/abhinav/pinch/pull/46
   # With that said version tracked for `network` right now is 3.1.1.1 so we're
-  # replacing the network pinch uses with `network_3_1_2_5` for now.
+  # replacing the network pinch uses with `network_3_1_2_7` for now.
   pinch = super.pinch.overrideScope (self : super: {
-    network = self.network_3_1_2_5;
+    network = self.network_3_1_2_7;
   });
 
   # We can remove this once fakedata version gets to 1.0.1 as the test suite
   # 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;
 
@@ -82,7 +83,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "1x2d0gfqxxfygzigm34n0spaxh8bwipxs9317f6c5lkpj916p957";
+      sha256 = "11idvicisp4wnw15lk7f9fs0kqpssngs1j8f98050f3jrqsccj0j";
       # delete android and Android directories which cause issues on
       # darwin (case insensitive directory). Since we don't need them
       # during the build process, we can delete it to prevent a hash
@@ -91,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
@@ -186,6 +193,7 @@ self: super: {
   # base bound
   digit = doJailbreak super.digit;
 
+  # hnix.patch needed until the next release is bumped
   hnix = generateOptparseApplicativeCompletion "hnix"
     (overrideCabal (drv: {
       # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
@@ -311,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;
@@ -1114,14 +1121,16 @@ self: super: {
   # https://github.com/elliottt/hsopenid/issues/15
   openid = markBroken super.openid;
 
-  # The test suite needs the packages's executables in $PATH to succeed.
-  arbtt = overrideCabal (drv: {
+  # Version constraints on test dependency tasty-golden need to be relaxed:
+  # https://github.com/nomeata/arbtt/pull/146
+  arbtt = doJailbreak (overrideCabal (drv: {
+    # The test suite needs the packages's executables in $PATH to succeed.
     preCheck = ''
       for i in $PWD/dist/build/*; do
         export PATH="$i:$PATH"
       done
     '';
-  }) super.arbtt;
+  }) super.arbtt);
 
   # https://github.com/erikd/hjsmin/issues/32
   hjsmin = dontCheck super.hjsmin;
@@ -1190,7 +1199,6 @@ self: super: {
   # The test suite depends on an impure cabal-install installation in
   # $HOME, which we don't have in our build sandbox.
   cabal-install-parsers = dontCheck super.cabal-install-parsers;
-  cabal-install-parsers_0_4_2 = dontCheck super.cabal-install-parsers_0_4_2;
 
   # 2021-08-18: Erroneously  claims that it needs a newer HStringTemplate (>= 0.8.8) than stackage.
   gitit = doJailbreak super.gitit;
@@ -1266,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;
 
@@ -1457,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
@@ -1747,6 +1744,8 @@ self: super: {
   # Too strict version bounds on ghc-events
   # https://github.com/haskell/ThreadScope/issues/118
   threadscope = doJailbreak super.threadscope;
+  # https://github.com/mpickering/hs-speedscope/issues/16
+  hs-speedscope = doJailbreak super.hs-speedscope;
 
   # Too strict version bounds on tasty
   # Can likely be removed next week (2021-04-09) when 1.1.1.1 is released.
@@ -1867,29 +1866,22 @@ self: super: {
   # 2021-05-09: Restrictive bound on hspec-golden. Dep removed in newer versions.
   tomland = assert super.tomland.version == "1.3.2.0"; doJailbreak super.tomland;
 
-  # 2021-05-09 haskell-ci pins ShellCheck 0.7.1
-  # https://github.com/haskell-CI/haskell-ci/issues/507
-  # 2021-09-05 haskell-ci needs Cabal 3.4,
-  # cabal-install-parsers uses Cabal 3.6 since 0.4.3
-  haskell-ci = super.haskell-ci.override {
-    ShellCheck = self.ShellCheck_0_7_1;
-    cabal-install-parsers = self.cabal-install-parsers_0_4_2;
-  };
+  # 2022-01-16 haskell-ci needs Cabal 3.6,
+  haskell-ci = super.haskell-ci.overrideScope (self: super: {
+    attoparsec = self.attoparsec_0_14_4;
+    Cabal = self.Cabal_3_6_2_0;
+  });
 
-  # Build haskell-ci from git repository, including some useful fixes,
-  # e. g. required for generating the workflows for the cabal2nix repository
-  haskell-ci-unstable = (overrideSrc rec {
-    version = "0.13.20211116-${builtins.substring 0 7 src.rev}";
+  # Build haskell-ci from git repository
+  haskell-ci-unstable = overrideSrc rec {
+    version = "0.14.1-${builtins.substring 0 7 src.rev}";
     src = pkgs.fetchFromGitHub {
       owner = "haskell-CI";
       repo = "haskell-ci";
-      rev = "b61df11e7f6010ce09920c231321ab1545a990b5";
-      sha256 = "0v6mqpavz5v161milq6a3x9gzap0pgksd3h4rwi2s3f9b15sczcy";
+      rev = "8311a999b8e8be3aa31f65f314def256aa2d5535";
+      sha256 = "169jaqm4xs2almmvqsk567wayxs0g6kn0l5877c03hzr3d9ykrav";
     };
-  } super.haskell-ci).overrideScope (self: super: {
-    attoparsec = self.attoparsec_0_14_3;
-    Cabal = self.Cabal_3_6_2_0;
-  });
+  } self.haskell-ci;
 
   Frames-streamly = super.Frames-streamly.override {
     relude = super.relude_1_0_0_1;
@@ -2010,7 +2002,7 @@ self: super: {
   ghcup = doJailbreak (super.ghcup.overrideScope (self: super: {
     hspec-golden-aeson = self.hspec-golden-aeson_0_9_0_0;
     optics = self.optics_0_4;
-    streamly = self.streamly_0_8_1_1;
+    streamly = doJailbreak self.streamly_0_8_1_1;
     Cabal = self.Cabal_3_6_2_0;
     libyaml-streamly = markUnbroken super.libyaml-streamly;
   }));
@@ -2032,19 +2024,6 @@ self: super: {
     assert pkgs.lib.versionOlder self.hspec.version "2.8.2";
     doJailbreak super.graphql;
 
-  # gtk2hsC2hs fails to build on certain architectures (aarch64, ppc64(le), ...)
-  # with a linker error. As a workaround, we build gtk2hs-buildtools with -O0
-  # as suggested in the GHC thread below. An alternative to this could be to use
-  # -fllvm. I haven't been able to get this to work without linker errors, though.
-  # See also:
-  # * https://gitlab.haskell.org/ghc/ghc/-/issues/17203
-  # * https://github.com/gtk2hs/gtk2hs/issues/305
-  # * https://github.com/gtk2hs/gtk2hs/issues/279
-  gtk2hs-buildtools = appendConfigureFlags
-    (pkgs.lib.optionals (with pkgs.stdenv.hostPlatform; isAarch64 || isPowerPC) [
-      "--ghc-option=-O0"
-    ]) super.gtk2hs-buildtools;
-
   # https://github.com/ajscholl/basic-cpuid/pull/1
   basic-cpuid = appendPatch (pkgs.fetchpatch {
     url = "https://github.com/ajscholl/basic-cpuid/commit/2f2bd7a7b53103fb0cf26883f094db9d7659887c.patch";
@@ -2059,13 +2038,13 @@ self: super: {
   # 2021-08-18: streamly-posix was released with hspec 2.8.2, but it works with older versions too.
   streamly-posix = doJailbreak super.streamly-posix;
 
-  # 2021-09-13: hls 1.3 needs a newer lsp than stackage-lts. (lsp >= 1.2.0.1)
+  # 2021-09-13: hls 1.6 needs a newer lsp than stackage-lts. (lsp >= 1.2.0.1)
   # (hls is nearly the only consumer, but consists of 18 packages, so we bump lsp globally.)
-  lsp = doDistribute self.lsp_1_2_0_1;
-  lsp-types = doDistribute self.lsp-types_1_3_0_1;
+  lsp = doDistribute self.lsp_1_4_0_0;
+  lsp-types = doDistribute self.lsp-types_1_4_0_1;
   # Not running the "example" test because it requires a binary from lsps test
   # suite which is not part of the output of lsp.
-  lsp-test = doDistribute (overrideCabal (old: { testTarget = "tests func-test"; }) self.lsp-test_0_14_0_1);
+  lsp-test = doDistribute (overrideCabal (old: { testTarget = "tests func-test"; }) self.lsp-test_0_14_0_2);
 
   # 2021-09-14: Tests are flaky.
   hls-splice-plugin = dontCheck super.hls-splice-plugin;
@@ -2083,11 +2062,11 @@ self: super: {
 
   # Needs network >= 3.1.2
   quic = super.quic.overrideScope (self: super: {
-    network = self.network_3_1_2_5;
+    network = self.network_3_1_2_7;
   });
 
   http3 = super.http3.overrideScope (self: super: {
-    network = self.network_3_1_2_5;
+    network = self.network_3_1_2_7;
   });
 
   # Fixes https://github.com/NixOS/nixpkgs/issues/140613
@@ -2122,7 +2101,7 @@ self: super: {
 
   # Needs brick > 0.64
   nix-tree = super.nix-tree.override {
-    brick = self.brick_0_65;
+    brick = self.brick_0_67;
   };
 
   # build newer version for `pkgs.shellcheck`
@@ -2242,6 +2221,16 @@ self: super: {
   # Invalid CPP in test suite: https://github.com/cdornan/memory-cd/issues/1
   memory-cd = dontCheck super.memory-cd;
 
+  # raaz-0.3 onwards uses backpack and it does not play nicely with
+  # parallel builds using -j
+  #
+  # See: https://gitlab.haskell.org/ghc/ghc/-/issues/17188
+  #
+  # Overwrite the build cores
+  raaz = overrideCabal (drv: {
+    enableParallelBuilding = false;
+  }) super.raaz;
+
   # https://github.com/andreymulik/sdp/issues/3
   sdp = disableLibraryProfiling super.sdp;
   sdp-binary = disableLibraryProfiling super.sdp-binary;
@@ -2254,4 +2243,17 @@ self: super: {
   sdp4unordered = disableLibraryProfiling super.sdp4unordered;
   sdp4vector = disableLibraryProfiling super.sdp4vector;
 
+  # Test suite fails to compile
+  # https://github.com/kuribas/mfsolve/issues/8
+  mfsolve = dontCheck super.mfsolve;
+
+  hie-bios = appendPatches [
+    # Accounts for a breaking change in GHC 9.0.2 via CPP
+    (pkgs.fetchpatch {
+      name = "hie-bios-ghc-9.0.2-compat.patch";
+      url = "https://github.com/haskell/hie-bios/commit/da0cb23384cc6e9b393792f8f25a3c174a4edafa.patch";
+      sha256 = "1qj67s93h6pxvdapw1sxy6izwp5y8vjaw67gw3lsnj8gs14fqq4h";
+    })
+  ] super.hie-bios;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
index 5248523e0cd1..bfc6f1f35a2f 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -256,6 +256,30 @@ self: super: ({
     ] ++ (drv.libraryFrameworkDepends or []);
   }) super.streamly_0_8_1_1;
 
+  http-client-tls = overrideCabal (drv: {
+    postPatch = ''
+      # This comment has been inserted, so the derivation hash changes, forcing
+      # a rebuild of this derivation which has succeeded to build on Hydra before,
+      # but apparently been corrupted, causing reverse dependencies to fail.
+      #
+      # This workaround can be removed upon the next darwin stdenv rebuild,
+      # presumably https://github.com/NixOS/nixpkgs/pull/152850 or the next
+      # full haskellPackages rebuild.
+    '' + drv.postPatch or "";
+  }) super.http-client-tls;
+
+  foldl = overrideCabal (drv: {
+    postPatch = ''
+      # This comment has been inserted, so the derivation hash changes, forcing
+      # a rebuild of this derivation which has succeeded to build on Hydra before,
+      # but apparently been corrupted, causing reverse dependencies to fail.
+      #
+      # This workaround can be removed upon the next darwin stdenv rebuild,
+      # presumably https://github.com/NixOS/nixpkgs/pull/152850 or the next
+      # full haskellPackages rebuild.
+    '' + drv.postPatch or "";
+  }) super.foldl;
+
 } // lib.optionalAttrs pkgs.stdenv.isAarch64 {  # aarch64-darwin
 
   # https://github.com/fpco/unliftio/issues/87
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index ec5515659309..ac0364e0c760 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -49,11 +49,6 @@ self: super: {
   # cabal-install-parsers is written for Cabal 3.6
   cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_2_0; };
 
-  # older version of cabal-install-parsers for reverse dependencies that use Cabal 3.4
-  cabal-install-parsers_0_4_2 = super.cabal-install-parsers_0_4_2.override {
-    Cabal = self.Cabal_3_4_1_0;
-  };
-
   # Jailbreak to fix the build.
   base-noprelude = doJailbreak super.base-noprelude;
   system-fileio = doJailbreak super.system-fileio;
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index 71b74f6db703..30a12b35e5b7 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -60,6 +60,7 @@ self: super: {
   lukko = doJailbreak super.lukko;
   parallel = doJailbreak super.parallel;
   primitive = doJailbreak (dontCheck super.primitive);
+  primitive-extras = doDistribute (self.primitive-extras_0_10_1_4);
   regex-posix = doJailbreak super.regex-posix;
   resolv = doJailbreak super.resolv;
   singleton-bool = doJailbreak super.singleton-bool;
@@ -71,8 +72,8 @@ self: super: {
   vector-th-unbox = doJailbreak super.vector-th-unbox;
   zlib = doJailbreak super.zlib;
   weeder = self.weeder_2_3_0;
-  generic-lens-core = self.generic-lens-core_2_2_0_0;
-  generic-lens = self.generic-lens_2_2_0_0;
+  generic-lens-core = self.generic-lens-core_2_2_1_0;
+  generic-lens = self.generic-lens_2_2_1_0;
   th-desugar = self.th-desugar_1_13;
   # 2021-11-08: Fixed in autoapply-0.4.2
   autoapply = doJailbreak self.autoapply_0_4_1_1;
@@ -83,13 +84,9 @@ self: super: {
   });
 
   # Upstream also disables test for GHC 9: https://github.com/kcsongor/generic-lens/pull/130
-  generic-lens_2_2_0_0 = dontCheck super.generic-lens_2_2_0_0;
+  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";
@@ -117,13 +114,13 @@ self: super: {
   retry = dontCheck super.retry;
 
   # Hlint needs >= 3.3.4 for ghc 9 support.
-  hlint = doDistribute super.hlint_3_3_5;
+  hlint = doDistribute super.hlint_3_3_6;
 
   # 2021-09-18: ghc-api-compat and ghc-lib-* need >= 9.0.x versions for hls and hlint
   ghc-api-compat = doDistribute super.ghc-api-compat_9_0_1;
-  ghc-lib-parser = self.ghc-lib-parser_9_0_1_20210324;
-  ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_4;
-  ghc-lib = self.ghc-lib_9_0_1_20210324;
+  ghc-lib-parser = self.ghc-lib-parser_9_0_2_20211226;
+  ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_6;
+  ghc-lib = self.ghc-lib_9_0_2_20211226;
 
   # 2021-09-18: Need semialign >= 1.2 for correct bounds
   semialign = super.semialign_1_2_0_1;
@@ -147,25 +144,16 @@ self: super: {
   # https://github.com/lspitzner/butcher/issues/7
   butcher = doJailbreak super.butcher;
   # Fixes a bug triggered on GHC 9.0.1
-  text-short = self.text-short_0_1_4;
+  text-short = self.text-short_0_1_5;
 
-  # 2021-09-18: The following plugins don‘t work yet on ghc9.
-  haskell-language-server = appendConfigureFlags [
-    "-f-tactic"
-    "-f-splice"
-    "-f-refineimports"
-    "-f-class"
+  fourmolu = doJailbreak self.fourmolu_0_4_0_0;
 
-    "-f-fourmolu"
+  # 2022-02-05: The following plugins don‘t work yet on ghc9.
+  # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
+  haskell-language-server = appendConfigureFlags [
     "-f-brittany"
     "-f-stylishhaskell"
   ] (super.haskell-language-server.override {
-    hls-tactics-plugin = null; # No upstream support, generic-lens-core fail
-    hls-splice-plugin = null; # No upstream support in hls 1.4.0, should be fixed in 1.5
-    hls-refine-imports-plugin = null; # same issue es splice-plugin
-    hls-class-plugin = null; # No upstream support
-
-    hls-fourmolu-plugin = null; # No upstream support, needs new fourmolu release
     hls-stylish-haskell-plugin = null; # No upstream support
     hls-brittany-plugin = null; # Dependencies don't build with 9.0.1
   });
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
index 3b73361d2399..49bfd64324a9 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -83,7 +83,7 @@ self: super: {
   # Jailbreaks & Version Updates
   assoc = doJailbreak super.assoc;
   async = doJailbreak super.async;
-  attoparsec = super.attoparsec_0_14_3;
+  attoparsec = super.attoparsec_0_14_4;
   base64-bytestring = doJailbreak super.base64-bytestring;
   base-compat = self.base-compat_0_12_1;
   base-compat-batteries = self.base-compat-batteries_0_12_1;
@@ -102,23 +102,24 @@ self: super: {
   genvalidity-hspec = self.genvalidity-hspec_1_0_0_0;
   ghc-byteorder = doJailbreak super.ghc-byteorder;
   ghc-exactprint = overrideCabal (drv: {
-    # HACK: ghc-exactprint 1.3.0 is not buildable for GHC < 9.2,
+    # HACK: ghc-exactprint 1.4.1 is not buildable for GHC < 9.2,
     # but hackage2nix evaluates the cabal file with GHC 8.10.*,
     # causing the build-depends to be skipped. Since the dependency
     # list hasn't changed much since 0.6.4, we can just reuse the
     # normal expression.
-    inherit (self.ghc-exactprint_1_3_0) src version;
+    inherit (self.ghc-exactprint_1_4_1) src version;
     revision = null; editedCabalFile = null;
     libraryHaskellDepends = [
       self.fail
       self.ordered-containers
+      self.data-default
     ] ++ drv.libraryHaskellDepends or [];
   }) super.ghc-exactprint;
-  ghc-lib = self.ghc-lib_9_2_1_20211101;
-  ghc-lib-parser = self.ghc-lib-parser_9_2_1_20211101;
+  ghc-lib = self.ghc-lib_9_2_1_20220109;
+  ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109;
   ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
   hackage-security = doJailbreak super.hackage-security;
-  hashable = super.hashable_1_4_0_1;
+  hashable = super.hashable_1_4_0_2;
   hashable-time = doJailbreak super.hashable-time_0_3;
   hedgehog = doJailbreak super.hedgehog;
   HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP);
@@ -127,17 +128,17 @@ self: super: {
   indexed-traversable-instances = doJailbreak super.indexed-traversable-instances;
   lifted-async = doJailbreak super.lifted-async;
   lukko = doJailbreak super.lukko;
-  network = super.network_3_1_2_5;
+  network = super.network_3_1_2_7;
   ormolu = self.ormolu_0_4_0_0;
   OneTuple = super.OneTuple_0_3_1;
   parallel = doJailbreak super.parallel;
-  path = doJailbreak super.path_0_9_1;
+  path = doJailbreak super.path_0_9_2;
   polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse);
   primitive = doJailbreak super.primitive;
   quickcheck-instances = super.quickcheck-instances_0_3_27;
   regex-posix = doJailbreak super.regex-posix;
   resolv = doJailbreak super.resolv;
-  retrie = doDistribute self.retrie_1_2_0_0;
+  retrie = doDistribute (dontCheck self.retrie_1_2_0_1);
   semialign = super.semialign_1_2_0_1;
   singleton-bool = doJailbreak super.singleton-bool;
   scientific = doJailbreak super.scientific;
@@ -188,11 +189,6 @@ self: super: {
     sha256 = "0w4y3v69nd3yafpml4gr23l94bdhbmx8xky48a59lckmz5x9fgxv";
   }) (doJailbreak super.language-haskell-extract);
 
-  haskell-src-meta = appendPatch (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/haskell-src-meta-0.8.7.patch";
-    sha256 = "013k8hpxac226j47cdzgdf9a1j91kmm0cvv7n8zwlajbj3y9bzjp";
-  }) (doJailbreak super.haskell-src-meta);
-
   # Tests depend on `parseTime` which is no longer available
   hourglass = dontCheck super.hourglass;
 
@@ -221,7 +217,7 @@ self: super: {
   semigroupoids = overrideCabal (drv: { postPatch = "sed -i -e 's,hashable >= 1.2.7.0  && < 1.4,hashable >= 1.2.7.0  \\&\\& < 1.5,' semigroupoids.cabal";}) super.semigroupoids;
 
   # Tests have a circular dependency on quickcheck-instances
-  text-short = dontCheck super.text-short_0_1_4;
+  text-short = dontCheck super.text-short_0_1_5;
 
   # Use hlint from git for GHC 9.2.1 support
   hlint = doDistribute (
@@ -233,12 +229,49 @@ self: super: {
         rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
         sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
       };
-    } (super.hlint_3_3_5.overrideScope (self: super: {
-      ghc-lib-parser = self.ghc-lib-parser_9_2_1_20211101;
+    } (super.hlint_3_3_6.overrideScope (self: super: {
+      ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109;
       ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
     }))
   );
 
   # https://github.com/sjakobi/bsb-http-chunked/issues/38
   bsb-http-chunked = dontCheck super.bsb-http-chunked;
+
+  # need bytestring >= 0.11 which is only bundled with GHC >= 9.2
+  regex-rure = doDistribute (markUnbroken super.regex-rure);
+  jacinda = doDistribute super.jacinda;
+  some = doJailbreak super.some;
+  fourmolu = super.fourmolu_0_5_0_1;
+  implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
+  lucid = doJailbreak super.lucid;
+  hashtables = doJailbreak super.hashtables;
+  primitive-extras = super.primitive-extras_0_10_1_4;
+  hiedb = doJailbreak super.hiedb;
+
+  # 2022-02-05: The following plugins don‘t work yet on ghc9.2.
+  # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
+  haskell-language-server = appendConfigureFlags [
+    "-f-alternateNumberFormat"
+    "-f-class"
+    "-f-eval"
+    "-f-haddockComments"
+    "-f-hlint"
+    "-f-retrie"
+    "-f-splice"
+    "-f-tactics"
+    "-f-brittany"
+    "-f-stylish-haskell"
+  ] (super.haskell-language-server.override {
+    hls-alternate-number-format-plugin = null;
+    hls-class-plugin = null;
+    hls-eval-plugin = null;
+    hls-haddock-comments-plugin = null;
+    hls-hlint-plugin = null;
+    hls-retrie-plugin = null;
+    hls-splice-plugin = null;
+    hls-tactics-plugin = null;
+    hls-brittany-plugin = null;
+    hls-stylish-haskell-plugin = null;
+  });
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index d2f64dbbbaa0..6d217a6d1385 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -201,6 +201,7 @@ broken-packages:
   - arrow-list
   - arrowp
   - arrowp-qq
+  - arrow-utils
   - ArrowVHDL
   - artery
   - artifact
@@ -354,6 +355,7 @@ broken-packages:
   - binary-derive
   - binary-ext
   - binary-indexed-tree
+  - binary-io
   - binary-protocol
   - binary-typed
   - BinderAnn
@@ -412,6 +414,7 @@ broken-packages:
   - bkr
   - blakesum
   - blas
+  - blatex
   - blaze-html-contrib
   - blaze-html-hexpat
   - blaze-html-truncate
@@ -455,6 +458,7 @@ broken-packages:
   - brick-dropdownmenu
   - bricks-internal
   - brillig
+  - broadcast-chan-tests
   - broccoli
   - brok
   - broker-haskell
@@ -571,6 +575,7 @@ broken-packages:
   - capnp
   - capped-list
   - capri
+  - captcha-core
   - caramia
   - carbonara
   - cardano-coin-selection
@@ -753,6 +758,7 @@ broken-packages:
   - compact-socket
   - compact-string
   - compact-string-fix
+  - comparse
   - compdata-dags
   - compdata-param
   - competition
@@ -825,8 +831,8 @@ broken-packages:
   - ContextAlgebra
   - context-free-grammar
   - context-stack
-  - contiguous
   - contiguous-checked
+  - contiguous-fft
   - continue
   - Contract
   - control-iso
@@ -981,7 +987,6 @@ broken-packages:
   - data-validation
   - data-variant
   - DataVersion
-  - dates
   - datetime
   - datetime-sb
   - dawdle
@@ -1000,6 +1005,7 @@ broken-packages:
   - dclabel
   - dclabel-eci11
   - dcpu16
+  - ddate
   - ddc-base
   - ddc-code
   - dead-code-detection
@@ -1083,6 +1089,7 @@ broken-packages:
   - DigitalOcean
   - digitalocean-kzs
   - digits
+  - dijkstra-simple
   - DimensionalHash
   - dimensional-tf
   - diophantine
@@ -1114,6 +1121,7 @@ broken-packages:
   - dmcc
   - dmenu
   - dnscache
+  - dns-patterns
   - dnsrbl
   - dnssd
   - dobutok
@@ -1128,6 +1136,7 @@ broken-packages:
   - doctest-discover-configurator
   - doctest-parallel
   - doctest-prop
+  - docusign-base
   - docusign-example
   - docvim
   - doi
@@ -1306,7 +1315,6 @@ broken-packages:
   - event-driven
   - eventful-dynamodb
   - eventful-sql-common
-  - eventlog2html
   - eventloop
   - eventstore
   - ewe
@@ -1783,6 +1791,7 @@ broken-packages:
   - graph-rewriting
   - graph-serialize
   - graphted
+  - graph-trace-dot
   - graphula-core
   - graph-utils
   - graql
@@ -1801,6 +1810,7 @@ broken-packages:
   - gross
   - GroteTrap
   - groundhog-converters
+  - groundhog-inspector
   - groundhog-mysql
   - grouped-list
   - group-theory
@@ -2027,6 +2037,7 @@ broken-packages:
   - hasql-dynamic-statements
   - hasql-generic
   - hasql-simple
+  - hasql-transaction-io
   - hastache
   - haste
   - haste-prim
@@ -2109,6 +2120,7 @@ broken-packages:
   - heredocs
   - her-lexer
   - Hermes
+  - hermes-json
   - herms
   - hetero-dict
   - heterogeneous-list-literals
@@ -2240,6 +2252,7 @@ broken-packages:
   - hobbes
   - hocilib
   - hocker
+  - hocon
   - hodatime
   - HODE
   - hoe
@@ -2369,6 +2382,7 @@ broken-packages:
   - hsns
   - hsnsq
   - hsntp
+  - hs-opentelemetry-instrumentation-persistent
   - hsoptions
   - hsoz
   - hsparql
@@ -2399,7 +2413,6 @@ broken-packages:
   - hsseccomp
   - hssh
   - hs-snowtify
-  - hs-speedscope
   - hsSqlite3
   - hssqlppp
   - HsSVN
@@ -2593,6 +2606,7 @@ broken-packages:
   - introduction
   - intro-prelude
   - invert
+  - invertible
   - invertible-syntax
   - io-capture
   - io-choice
@@ -2718,6 +2732,7 @@ broken-packages:
   - katydid
   - kawaii
   - kawhi
+  - kazura-queue
   - kdesrc-build-extra
   - kd-tree
   - keccak
@@ -2736,6 +2751,7 @@ broken-packages:
   - kmp-dfa
   - koellner-phonetic
   - koji-install
+  - koneko
   - Konf
   - kontra-config
   - kparams
@@ -2869,6 +2885,7 @@ broken-packages:
   - libsystemd-daemon
   - libtagc
   - libxls
+  - libxlsxwriter-hs
   - libxslt
   - libyaml-streamly
   - lie
@@ -2989,6 +3006,7 @@ broken-packages:
   - lye
   - lz4-frame-conduit
   - lzip
+  - lzlib
   - lzma-streams
   - lzo
   - maam
@@ -3300,6 +3318,7 @@ broken-packages:
   - nanomsg
   - nanomsg-haskell
   - nanoparsec
+  - nanopass
   - NanoProlog
   - nanovg-simple
   - nanq
@@ -3423,7 +3442,6 @@ broken-packages:
   - numbered-semigroups
   - NumberSieves
   - NumberTheory
-  - numerals
   - numerals-base
   - numeric-qq
   - numeric-ranges
@@ -3849,6 +3867,7 @@ broken-packages:
   - powerdns
   - powermate
   - powerpc
+  - powerqueue-distributed
   - powerqueue-levelmem
   - pprecord
   - PPrinter
@@ -3877,11 +3896,13 @@ broken-packages:
   - pretty-ncols
   - prettyprinter-vty
   - prim-array
+  - primecount
   - primes-type
   - prim-instances
   - PrimitiveArray-Pretty
   - primitive-atomic
   - primitive-checked
+  - primitive-containers
   - primitive-convenience
   - primitive-foreign
   - primitive-indexed
@@ -3895,6 +3916,7 @@ broken-packages:
   - prints
   - PriorityChansConverger
   - priority-queue
+  - pro-abstract
   - probable
   - process-conduit
   - processing
@@ -4006,7 +4028,6 @@ broken-packages:
   - quiver
   - quokka
   - quoridor-hs
-  - raaz
   - RabbitMQ
   - rad
   - radian
@@ -4079,6 +4100,7 @@ broken-packages:
   - refined-http-api-data
   - reflection-extras
   - reflex-basic-host
+  - reflex-dom-ace
   - reflex-dom-contrib
   - reflex-dom-helper
   - reflex-dom-helpers
@@ -4106,6 +4128,7 @@ broken-packages:
   - regex-posix-unittest
   - regexpr-symbolic
   - regexqq
+  - regex-rure
   - regex-tdfa-pipes
   - regex-tdfa-quasiquoter
   - regex-tdfa-rc
@@ -4186,6 +4209,7 @@ broken-packages:
   - riemann
   - riff
   - ring-buffer
+  - ring-buffers
   - riscv-isa
   - Ritt-Wu
   - rivers
@@ -4383,6 +4407,7 @@ broken-packages:
   - servant-streaming
   - servant-to-elm
   - servant-tracing
+  - servant-util-beam-pg
   - servant-yaml
   - servant-zeppelin
   - server-generic
@@ -4445,6 +4470,8 @@ broken-packages:
   - show-prettyprint
   - Shpadoinkle-backend-pardiff
   - Shpadoinkle-backend-snabbdom
+  - Shpadoinkle-backend-static
+  - Shpadoinkle-html
   - Shpadoinkle-isreal
   - Shpadoinkle-streaming
   - Shpadoinkle-template
@@ -4794,6 +4821,7 @@ broken-packages:
   - SybWidget
   - syb-with-class-instances-text
   - sydtest-aeson
+  - sydtest-hedgehog
   - sydtest-hedis
   - sydtest-hspec
   - sydtest-mongo
@@ -4845,6 +4873,7 @@ broken-packages:
   - tagsoup-selection
   - tai
   - tai64
+  - tailwind
   - takahashi
   - Takusen
   - takusen-oracle
@@ -5017,6 +5046,7 @@ broken-packages:
   - tkyprof
   - tmp-proc-example
   - todo
+  - todos
   - tofromxml
   - to-haskell
   - toilet
@@ -5222,6 +5252,7 @@ broken-packages:
   - urxml
   - users-mysql-haskell
   - users-persistent
+  - utc
   - utf
   - utf8-prelude
   - utf8-validator
@@ -5273,6 +5304,7 @@ broken-packages:
   - vector-space-points
   - vector-static
   - Vec-Transform
+  - velma
   - Verba
   - verbalexpressions
   - verdict
@@ -5363,8 +5395,10 @@ broken-packages:
   - wavefront-obj
   - weak-bag
   - weather-api
+  - web3-polkadot
   - webapi
   - webapp
+  - webauthn
   - WebBits
   - webby
   - webcloud
@@ -5405,6 +5439,7 @@ broken-packages:
   - windowslive
   - winerror
   - Wired
+  - wireguard-hs
   - wires
   - wiring
   - witty
@@ -5528,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/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index bca6360dca2c..2ecfb76784d5 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -82,8 +82,6 @@ default-package-overrides:
   - reflex-dom-pandoc < 1.0.0.0
   # 2021-09-07: pin to our current GHC version
   - ghc-api-compat == 8.10.7
-  # 2021-09-14: Pin hiedb to version needed by ghcide
-  - hiedb == 0.4.0.*
   # 2021-10-13: weeder 2.3.0 require GHC == 9.0.*; remove pin when GHC version changes
   - weeder < 2.3.0
   # 2021-10-10: taskwarrior 0.4 requires aeson > 2.0.1.0
@@ -130,6 +128,14 @@ default-package-overrides:
   - polysemy-resume < 0.1.0.2
   - polysemy-conc < 0.5
   - polysemy-mocks < 0.2
+  # Pinning patch because it is mainly used by the reflex-frp ecosystem which is not yet compatible with it.
+  # https://github.com/reflex-frp/reflex-dom/issues/431
+  - patch < 0.0.5.0
+  # 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.
@@ -155,16 +161,16 @@ extra-packages:
   - resolv == 0.1.1.2                   # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
   - sbv == 7.13                         # required for pkgs.petrinizer
   - crackNum < 3.0                      # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses
-  - ShellCheck == 0.7.1                 # 2021-05-09: haskell-ci 0.12.1 pins this version
-  - cabal-install-parsers == 0.4.2      # 2021-09-04: needed haskell-ci by until it upgrades to Cabal >= 3.6
   - ghc-api-compat == 8.6               # 2021-09-07: preserve for GHC 8.8.4
-  - ghc-lib == 9.0.1.*                  # 2021-11-05: Need one GHC 9.0.1 compatible version
-  - ghc-lib-parser == 9.0.1.*           # 2021-11-05: Need one GHC 9.0.1 compatible version
-  - ghc-lib-parser-ex == 9.0.*          # 2021-11-05: Need one GHC 9.0.1 compatible version
+  - ghc-lib == 9.0.*                    # 2021-11-05: Need one GHC 9.0.2 compatible version
+  - ghc-lib-parser == 9.0.*             # 2021-11-05: Need one GHC 9.0.2 compatible version
+  - ghc-lib-parser-ex == 9.0.*          # 2021-11-05: Need one GHC 9.0.2 compatible version
   - doctest == 0.18.*                   # 2021-11-19: closest to stackage version for GHC 9.*
   - brick == 0.64.*                     # 2021-12-03: matterhorn depends on brick < 0.65
-  - path == 0.9.0                       # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.1
-  - ormolu == 0.3.*                     # 2021-12-03: for HLS with GHC 9.0.1
+  - 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:
@@ -394,6 +400,8 @@ package-maintainers:
     - haskell-ci
     - diagrams
     - rel8
+    - regex-rure
+    - jacinda
     # owothia
     - irc-client
     - chatter
@@ -429,7 +437,6 @@ unsupported-platforms:
   btrfs:                                        [ x86_64-darwin, aarch64-darwin ] # depends on linux
   bustle:                                       [ x86_64-darwin, aarch64-darwin ] # uses glibc-specific ptsname_r
   charsetdetect:                                [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3
-  crackNum:                                     [ aarch64-linux ] # depends on sbv, which is not supported on aarch64-linux
   cut-the-crap:                                 [ x86_64-darwin, aarch64-darwin ]
   d3d11binding:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
   DirectSound:                                  [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
@@ -442,6 +449,7 @@ unsupported-platforms:
   FTGL:                                         [ x86_64-darwin, aarch64-darwin ]
   fuzzytime:                                    [ x86_64-darwin, aarch64-darwin ] # https://github.com/kamwitsta/fuzzytime/issues/2
   ghcjs-dom-hello:                              [ x86_64-darwin, aarch64-darwin ]
+  gi-adwaita:                                   [ x86_64-darwin, aarch64-darwin ]
   gi-dbusmenugtk3:                              [ x86_64-darwin, aarch64-darwin ]
   gi-dbusmenu:                                  [ x86_64-darwin, aarch64-darwin ]
   gi-ggit:                                      [ x86_64-darwin, aarch64-darwin ]
@@ -459,7 +467,6 @@ unsupported-platforms:
   hbro:                                         [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
   hbro-contrib:                                 [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
   hcwiid:                                       [ x86_64-darwin, aarch64-darwin ]
-  hevm:                                         [ aarch64-linux ] # depends on sbv, which is not supported on aarch64-linux
   HFuse:                                        [ x86_64-darwin, aarch64-darwin ]
   hidapi:                                       [ x86_64-darwin, aarch64-darwin ]
   hinotify-bytestring:                          [ x86_64-darwin, aarch64-darwin ]
@@ -514,7 +521,6 @@ unsupported-platforms:
   reflex-localize-dom:                          [ x86_64-darwin, aarch64-darwin, aarch64-linux ]
   rtlsdr:                                       [ x86_64-darwin, aarch64-darwin ]
   rubberband:                                   [ x86_64-darwin, aarch64-darwin ]
-  sbv:                                          [ aarch64-linux ]
   scat:                                         [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
   scrypt:                                       [ aarch64-linux, armv7l-linux ] # https://github.com/informatikr/scrypt/issues/8
   sdl2-mixer:                                   [ x86_64-darwin, aarch64-darwin ]
@@ -599,7 +605,6 @@ dont-distribute-packages:
   - dialog
   - ghcjs-dom-webkit
   - gi-webkit
-  - hs-mesos
   - hsqml
   - hsqml-datamodel
   - hsqml-demo-manic
@@ -619,3 +624,9 @@ dont-distribute-packages:
   - webkitgtk3
   - webkitgtk3-javascriptcore
   - websnap
+
+  # glade relies on system libglade which is deprecated
+  - glade
+
+  # mesos was removed from nixpkgs
+  - hs-mesos
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 1c22787d28a6..77be3013a48b 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 18.19
+# 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
@@ -154,7 +154,7 @@ default-package-overrides:
   - appar ==0.1.8
   - appendmap ==0.1.5
   - apply-refact ==0.9.3.0
-  - apportionment ==0.0.0.3
+  - apportionment ==0.0.0.4
   - approximate ==0.3.5
   - approximate-equality ==1.1.0.2
   - app-settings ==0.2.0.12
@@ -164,14 +164,14 @@ default-package-overrides:
   - arrow-extras ==0.1.0.1
   - arrows ==0.4.4.2
   - ascii ==1.0.1.6
-  - ascii-case ==1.0.0.8
-  - ascii-char ==1.0.0.12
+  - ascii-case ==1.0.0.10
+  - ascii-char ==1.0.0.14
   - asciidiagram ==1.3.3.3
-  - ascii-group ==1.0.0.8
-  - ascii-predicates ==1.0.0.6
+  - ascii-group ==1.0.0.10
+  - ascii-predicates ==1.0.0.8
   - ascii-progress ==0.3.3.0
-  - ascii-superset ==1.0.1.8
-  - ascii-th ==1.0.0.6
+  - ascii-superset ==1.0.1.10
+  - ascii-th ==1.0.0.8
   - asn1-encoding ==0.9.6
   - asn1-parse ==0.9.5
   - asn1-types ==0.3.4
@@ -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
@@ -206,8 +206,8 @@ default-package-overrides:
   - backprop ==0.2.6.4
   - backtracking ==0.1.0
   - bank-holidays-england ==0.2.0.6
-  - barbies ==2.0.3.0
-  - base16 ==0.3.0.2
+  - barbies ==2.0.3.1
+  - base16 ==0.3.1.0
   - base16-bytestring ==1.0.2.0
   - base16-lens ==0.1.3.2
   - base32 ==0.2.1.0
@@ -229,7 +229,7 @@ default-package-overrides:
   - basic-prelude ==0.7.0
   - bazel-runfiles ==0.12
   - bbdb ==0.8
-  - bcp47 ==0.2.0.4
+  - bcp47 ==0.2.0.5
   - bcp47-orphans ==0.1.0.4
   - bcrypt ==0.0.11
   - bech32 ==1.1.2
@@ -249,7 +249,7 @@ default-package-overrides:
   - binary-instances ==1.0.2
   - binary-list ==1.1.1.2
   - binary-orphans ==1.0.1
-  - binary-parser ==0.5.7
+  - binary-parser ==0.5.7.1
   - binary-parsers ==0.2.4.0
   - binary-search ==2.0.0
   - binary-shared ==0.8.3
@@ -280,6 +280,7 @@ default-package-overrides:
   - BNFC ==2.9.3
   - BNFC-meta ==0.6.1
   - board-games ==0.3
+  - bodhi ==0.1.0
   - boltzmann-samplers ==0.1.1.0
   - Boolean ==0.2.4
   - boolean-like ==0.1.1.0
@@ -295,14 +296,14 @@ default-package-overrides:
   - bower-json ==1.0.0.1
   - boxes ==0.1.5
   - brick ==0.62
-  - broadcast-chan ==0.2.1.1
+  - broadcast-chan ==0.2.1.2
   - bsb-http-chunked ==0.0.0.4
   - bson ==0.4.0.1
   - btrfs ==0.2.0.0
   - buffer-builder ==0.2.4.7
   - buffer-pipe ==0.0
-  - bugsnag-haskell ==0.0.4.2
-  - bugsnag-hs ==0.2.0.7
+  - bugsnag-haskell ==0.0.4.3
+  - bugsnag-hs ==0.2.0.8
   - bugzilla-redhat ==0.3.3
   - burrito ==1.2.0.4
   - butcher ==1.3.3.2
@@ -310,7 +311,7 @@ default-package-overrides:
   - bv ==0.5
   - bv-little ==1.1.1
   - byteable ==0.1.1
-  - byte-count-reader ==0.10.1.7
+  - byte-count-reader ==0.10.1.8
   - bytedump ==1.0
   - byte-order ==0.1.2.0
   - byteorder ==1.0.4
@@ -337,8 +338,9 @@ default-package-overrides:
   - cabal-flatpak ==0.1.0.2
   - cabal-plan ==0.7.2.0
   - cabal-rpm ==2.0.10
+  - Cabal-syntax ==3.6.0.0
   - cache ==0.1.3.0
-  - cached-json-file ==0.1.0
+  - cached-json-file ==0.1.1
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
   - call-stack ==0.3.0
@@ -362,7 +364,7 @@ default-package-overrides:
   - cborg ==0.2.6.0
   - cborg-json ==0.2.3.0
   - cdar-mBound ==0.1.0.4
-  - c-enum ==0.1.0.1
+  - c-enum ==0.1.1.0
   - cereal ==0.5.8.2
   - cereal-conduit ==0.8.0
   - cereal-text ==0.1.0.2
@@ -396,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
@@ -426,8 +428,8 @@ default-package-overrides:
   - comfort-array ==0.4.1
   - comfort-graph ==0.0.3.1
   - commonmark ==0.2.1.1
-  - commonmark-extensions ==0.2.2.1
-  - commonmark-pandoc ==0.2.1.1
+  - commonmark-extensions ==0.2.3
+  - commonmark-pandoc ==0.2.1.2
   - commutative ==0.0.2
   - comonad ==5.0.8
   - comonad-extras ==4.0.1
@@ -442,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
@@ -466,8 +468,8 @@ default-package-overrides:
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
   - constraint ==0.1.4.0
-  - constraints ==0.13.2
-  - constraints-extras ==0.3.2.0
+  - constraints ==0.13.3
+  - constraints-extras ==0.3.2.1
   - constraint-tuples ==0.1.2
   - construct ==0.3.0.2
   - contravariant ==1.5.5
@@ -478,6 +480,7 @@ default-package-overrides:
   - control-monad-omega ==0.3.2
   - convertible ==1.1.1.0
   - cookie ==0.4.5
+  - copr-api ==0.1.0
   - core-data ==0.2.1.11
   - core-program ==0.2.12.0
   - core-text ==0.3.5.0
@@ -490,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
@@ -513,7 +516,7 @@ default-package-overrides:
   - csp ==1.4.0
   - css-syntax ==0.1.0.0
   - css-text ==0.1.3.0
-  - c-struct ==0.1.0.1
+  - c-struct ==0.1.1.1
   - csv ==0.1.2
   - ctrie ==0.2
   - cubicbezier ==0.6.0.6
@@ -579,7 +582,7 @@ default-package-overrides:
   - declarative ==0.5.4
   - deepseq-generics ==0.2.0.0
   - deepseq-instances ==0.1.0.1
-  - deferred-folds ==0.9.17
+  - deferred-folds ==0.9.18.1
   - dejafu ==2.4.0.3
   - dense-linear-algebra ==0.1.0.0
   - dependent-map ==0.4.0.0
@@ -588,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
@@ -601,7 +604,7 @@ default-package-overrides:
   - dialogflow-fulfillment ==0.1.1.4
   - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
-  - Diff ==0.4.0
+  - Diff ==0.4.1
   - digest ==0.0.1.3
   - digits ==0.3.1
   - dimensional ==1.4
@@ -612,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
@@ -766,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
@@ -790,7 +793,7 @@ default-package-overrides:
   - fmt ==0.6.3.0
   - fn ==0.3.0.2
   - focus ==1.0.3
-  - focuslist ==0.1.0.2
+  - focuslist ==0.1.1.0
   - foldable1 ==0.1.0.0
   - fold-debounce ==0.2.0.9
   - fold-debounce-conduit ==0.2.0.6
@@ -809,7 +812,7 @@ default-package-overrides:
   - free ==5.1.7
   - free-categories ==0.2.0.2
   - freenect ==1.2.1
-  - freer-simple ==1.2.1.1
+  - freer-simple ==1.2.1.2
   - freetype2 ==0.2.0
   - free-vl ==0.1.4
   - friendly-time ==0.4.1
@@ -848,7 +851,7 @@ default-package-overrides:
   - GenericPretty ==1.2.2
   - generic-random ==1.4.0.0
   - generics-eot ==0.4.0.1
-  - generics-sop ==0.5.1.1
+  - generics-sop ==0.5.1.2
   - generics-sop-lens ==0.2.0.1
   - geniplate-mirror ==0.7.8
   - genvalidity ==0.11.0.2
@@ -880,7 +883,7 @@ default-package-overrides:
   - genvalidity-unordered-containers ==0.3.0.1
   - genvalidity-uuid ==0.1.0.4
   - genvalidity-vector ==0.3.0.1
-  - geojson ==4.0.2
+  - geojson ==4.0.4
   - getopt-generics ==0.13.0.4
   - ghc-byteorder ==4.11.0.0.10
   - ghc-check ==0.5.0.6
@@ -896,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
@@ -924,7 +927,7 @@ default-package-overrides:
   - gingersnap ==0.3.1.0
   - gi-pango ==1.0.24
   - githash ==0.1.6.2
-  - github-release ==1.3.8
+  - github-release ==1.3.10
   - github-rest ==1.0.3
   - github-types ==0.2.1
   - github-webhooks ==0.15.0
@@ -964,24 +967,24 @@ default-package-overrides:
   - guarded-allocation ==0.0.1
   - H ==0.9.0.1
   - hackage-db ==2.1.2
-  - hackage-security ==0.6.0.1
+  - hackage-security ==0.6.2.0
   - haddock-library ==1.10.0
   - hadoop-streaming ==0.2.0.3
   - hakyll-convert ==0.3.0.4
   - hal ==0.4.8
   - half ==0.3.1
   - hall-symbols ==0.1.0.6
-  - hamtsolo ==1.0.3
+  - hamtsolo ==1.0.4
   - HandsomeSoup ==0.4.2
   - hapistrano ==0.4.3.0
-  - happstack-server ==7.7.1.1
+  - happstack-server ==7.7.1.2
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
   - HasBigDecimal ==0.1.1
   - hasbolt ==0.1.6.1
   - hashable ==1.3.0.0
   - hashable-time ==0.2.1
-  - hashids ==1.0.2.4
+  - hashids ==1.0.2.7
   - hashing ==0.1.0.1
   - hashmap ==1.3.3
   - hashtables ==1.2.4.2
@@ -996,33 +999,33 @@ 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.7
+  - 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.6
-  - hasql-pool ==0.5.2
+  - hasql-optparse-applicative ==0.3.0.8
+  - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
-  - hasql-transaction ==1.0.1
+  - 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
   - hdaemonize ==0.5.6
   - HDBC ==2.4.0.3
   - HDBC-session ==0.1.2.0
-  - headroom ==0.4.2.0
+  - headroom ==0.4.3.0
   - heap ==1.0.4
   - heaps ==0.4
   - 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
@@ -1059,7 +1062,7 @@ default-package-overrides:
   - hlibcpuid ==0.2.0
   - hlibgit2 ==0.18.0.16
   - hlibsass ==0.1.10.1
-  - hlint ==3.2.7
+  - hlint ==3.2.8
   - hmatrix ==0.20.2
   - hmatrix-backprop ==0.1.3.0
   - hmatrix-gsl ==0.19.0.1
@@ -1069,8 +1072,8 @@ default-package-overrides:
   - hmm-lapack ==0.4
   - hmpfr ==0.4.4
   - hnock ==0.4.0
-  - hoauth2 ==1.16.0
-  - hoogle ==5.0.18.2
+  - hoauth2 ==1.16.2
+  - hoogle ==5.0.18.3
   - hOpenPGP ==2.9.7
   - hopenpgp-tools ==0.23.6
   - hopenssl ==2.2.4
@@ -1118,7 +1121,7 @@ default-package-overrides:
   - hspec-expectations ==0.8.2
   - hspec-expectations-json ==1.0.0.4
   - hspec-expectations-lifted ==0.10.0
-  - hspec-expectations-pretty-diff ==0.7.2.5
+  - hspec-expectations-pretty-diff ==0.7.2.6
   - hspec-golden ==0.1.0.3
   - hspec-golden-aeson ==0.7.0.0
   - hspec-hedgehog ==0.0.1.2
@@ -1130,11 +1133,12 @@ default-package-overrides:
   - hspec-parsec ==0
   - hspec-smallcheck ==0.5.2
   - hspec-tables ==0.0.1
+  - hspec-tmp-proc ==0.5.0.1
   - hspec-wai ==0.11.0
   - hspec-wai-json ==0.11.0
   - hs-php-session ==0.0.9.3
   - hsshellscript ==3.5.0
-  - hs-tags ==0.1.5.2
+  - hs-tags ==0.1.5.3
   - HStringTemplate ==0.8.8
   - HSvm ==0.1.1.3.25
   - HsYAML ==0.2.1.0
@@ -1164,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
@@ -1266,17 +1270,17 @@ default-package-overrides:
   - io-storage ==0.3
   - io-streams ==1.5.2.1
   - io-streams-haproxy ==1.0.1.0
-  - ip6addr ==1.0.2
+  - ip6addr ==1.0.3
   - ipa ==0.3.1.1
   - iproute ==1.7.12
-  - IPv6Addr ==2.0.3
+  - IPv6Addr ==2.0.4
   - ipynb ==0.1.0.2
   - ipython-kernel ==0.10.2.2
   - irc ==0.6.1.0
   - irc-client ==1.1.2.2
   - irc-conduit ==0.3.0.5
   - irc-ctcp ==0.1.3.1
-  - isbn ==1.1.0.2
+  - isbn ==1.1.0.3
   - islink ==0.1.0.0
   - iso3166-country-codes ==0.20140203.8
   - iso639 ==0.1.0.3
@@ -1292,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
@@ -1321,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
@@ -1335,7 +1339,7 @@ default-package-overrides:
   - lambdabot-core ==5.3.0.2
   - LambdaHack ==0.10.3.0
   - lame ==0.2.0
-  - language-avro ==0.1.3.1
+  - language-avro ==0.1.4.0
   - language-bash ==0.9.2
   - language-c ==0.9.0.1
   - language-c-quote ==0.13
@@ -1349,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
@@ -1412,7 +1416,7 @@ default-package-overrides:
   - llvm-hs-pure ==9.0.0
   - lmdb ==0.2.5
   - load-env ==0.2.1.0
-  - loc ==0.1.3.10
+  - loc ==0.1.3.16
   - locators ==0.3.0.3
   - loch-th ==0.2.2
   - lockfree-queue ==0.2.3.1
@@ -1470,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
@@ -1483,7 +1487,7 @@ default-package-overrides:
   - mersenne-random-pure64 ==0.2.2.0
   - messagepack ==0.5.4
   - metrics ==0.4.1.1
-  - mfsolve ==0.3.2.0
+  - mfsolve ==0.3.2.1
   - microlens ==0.4.12.0
   - microlens-aeson ==2.3.1
   - microlens-contra ==0.1.0.2
@@ -1512,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
@@ -1521,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
@@ -1536,7 +1538,7 @@ default-package-overrides:
   - monad-logger-logstash ==0.1.0.0
   - monad-logger-prefix ==0.1.12
   - monad-loops ==0.4.3
-  - monad-memo ==0.5.3
+  - monad-memo ==0.5.4
   - monad-metrics ==0.2.2.0
   - monad-par ==0.3.5
   - monad-parallel ==0.7.2.5
@@ -1554,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
@@ -1577,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
@@ -1588,7 +1590,7 @@ default-package-overrides:
   - mwc-random-monad ==0.7.3.1
   - mx-state-codes ==1.0.0.0
   - mysql ==0.2.1
-  - mysql-simple ==0.4.7
+  - mysql-simple ==0.4.7.1
   - n2o ==0.11.1
   - nagios-check ==0.3.2
   - names-th ==0.3.0.1
@@ -1599,7 +1601,7 @@ default-package-overrides:
   - natural-sort ==0.1.2
   - natural-transformation ==0.4
   - ndjson-conduit ==0.1.0.5
-  - neat-interpolation ==0.5.1.2
+  - neat-interpolation ==0.5.1.3
   - netcode-io ==0.0.3
   - netlib-carray ==0.1
   - netlib-comfort-array ==0.0.0.2
@@ -1615,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
@@ -1644,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
@@ -1661,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
@@ -1706,6 +1708,7 @@ default-package-overrides:
   - packdeps ==0.6.0.0
   - pager ==0.1.1.0
   - pagination ==0.2.2
+  - pagure ==0.1.0
   - pagure-cli ==0.2
   - pandoc ==2.14.0.3
   - pandoc-dhall-decoder ==0.1.0.1
@@ -1726,7 +1729,7 @@ default-package-overrides:
   - parsers ==0.12.10
   - partial-handler ==1.0.3
   - partial-isomorphisms ==0.2.2.1
-  - partial-semigroup ==0.5.1.12
+  - partial-semigroup ==0.5.1.14
   - password ==3.0.0.0
   - password-instances ==3.0.0.0
   - password-types ==1.0.0.0
@@ -1747,6 +1750,7 @@ default-package-overrides:
   - pcre-heavy ==1.0.0.2
   - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.2
+  - pdc ==0.1.1
   - pdfinfo ==1.5.4
   - peano ==0.1.0.1
   - pem ==0.2.4
@@ -1757,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.1
+  - 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.1
-  - persistent-qq ==2.12.0.1
-  - persistent-sqlite ==2.13.0.3
+  - persistent-postgresql ==2.13.4.0
+  - persistent-qq ==2.12.0.2
+  - persistent-sqlite ==2.13.1.0
   - persistent-template ==2.12.0.0
-  - persistent-test ==2.13.0.3
+  - 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
@@ -1858,7 +1862,7 @@ default-package-overrides:
   - profunctors ==5.6.2
   - projectroot ==0.2.0.1
   - project-template ==0.2.1.0
-  - prometheus ==2.2.2
+  - prometheus ==2.2.3
   - prometheus-client ==1.0.1
   - prometheus-metrics-ghc ==1.0.1.2
   - prometheus-wai-middleware ==1.0.1.0
@@ -1875,13 +1879,13 @@ default-package-overrides:
   - protolude ==0.3.0
   - proxied ==0.3.1
   - psqueues ==0.2.7.3
-  - ptr-poker ==0.1.2.3
+  - ptr-poker ==0.1.2.4
   - publicsuffix ==0.20200526
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.4
   - purescript-bridge ==0.14.0.0
   - pushbullet-types ==0.4.1.0
-  - pusher-http-haskell ==2.1.0.7
+  - pusher-http-haskell ==2.1.0.8
   - pvar ==1.0.0.0
   - PyF ==0.9.0.3
   - qchas ==1.1.0.1
@@ -1895,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
@@ -1923,7 +1927,7 @@ default-package-overrides:
   - Ranged-sets ==0.4.0
   - range-set-list ==0.1.3.1
   - rank1dynamic ==0.4.1
-  - rank2classes ==1.4.3
+  - rank2classes ==1.4.4
   - Rasterific ==0.7.5.4
   - rasterific-svg ==0.3.3.2
   - ratel ==1.0.17
@@ -1942,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
@@ -1953,7 +1957,7 @@ default-package-overrides:
   - reducers ==3.12.4
   - refact ==0.3.0.2
   - ref-fd ==0.5
-  - refined ==0.6.2
+  - refined ==0.6.3
   - reflection ==2.1.6
   - reform ==0.2.7.4
   - reform-blaze ==0.2.4.3
@@ -2009,7 +2013,7 @@ default-package-overrides:
   - rio-prettyprint ==0.1.1.0
   - roc-id ==0.1.0.0
   - rocksdb-haskell ==1.0.1
-  - rocksdb-haskell-jprupp ==2.1.3
+  - rocksdb-haskell-jprupp ==2.1.4
   - rocksdb-query ==0.4.2
   - roles ==0.2.1.0
   - rope-utf16-splay ==0.3.2.0
@@ -2058,7 +2062,7 @@ default-package-overrides:
   - sdl2-image ==2.0.0
   - sdl2-mixer ==1.1.0
   - sdl2-ttf ==2.1.2
-  - search-algorithms ==0.3.1
+  - search-algorithms ==0.3.2
   - secp256k1-haskell ==0.5.0
   - securemem ==0.1.10
   - selda ==0.5.1.0
@@ -2071,12 +2075,12 @@ default-package-overrides:
   - semialign-indexed ==1.1
   - semialign-optics ==1.1
   - semigroupoid-extras ==5
-  - semigroupoids ==5.3.6
+  - semigroupoids ==5.3.7
   - semigroups ==0.19.2
   - semirings ==0.6
   - semiring-simple ==1.0.0.1
   - semver ==0.4.0.1
-  - sendfile ==0.7.11.1
+  - sendfile ==0.7.11.4
   - sendgrid-v3 ==0.3.0.0
   - seqalign ==0.2.0.4
   - seqid ==0.6.2
@@ -2086,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
@@ -2111,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
@@ -2126,7 +2130,7 @@ default-package-overrides:
   - shake-language-c ==0.12.0
   - shake-plus ==0.3.4.0
   - shake-plus-extended ==0.4.1.0
-  - shakespeare ==2.0.25
+  - shakespeare ==2.0.25.1
   - shared-memory ==0.2.0.0
   - ShellCheck ==0.7.2
   - shell-conduit ==5.0.0
@@ -2188,10 +2192,10 @@ default-package-overrides:
   - socket ==0.8.3.0
   - socks ==0.6.1
   - some ==1.0.2
-  - sop-core ==0.5.0.1
+  - sop-core ==0.5.0.2
   - sort ==1.0.0.0
   - sorted-list ==0.2.1.0
-  - sourcemap ==0.1.6.1
+  - sourcemap ==0.1.7
   - sox ==0.2.3.1
   - soxlib ==0.0.3.1
   - spacecookie ==1.0.0.1
@@ -2245,17 +2249,17 @@ default-package-overrides:
   - store-streaming ==0.2.0.3
   - stratosphere ==0.59.1
   - Stream ==0.4.7.2
-  - streaming ==0.2.3.0
+  - 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
@@ -2264,10 +2268,10 @@ 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
+  - stripe-concepts ==1.0.3.1
   - stripe-core ==2.6.2
   - stripe-haskell ==2.6.2
   - stripe-http-client ==2.6.2
@@ -2283,7 +2287,7 @@ default-package-overrides:
   - swagger ==0.3.0
   - swagger2 ==2.6
   - sweet-egison ==0.1.1.3
-  - swish ==0.10.0.8
+  - swish ==0.10.1.0
   - syb ==0.7.2.1
   - sydtest ==0.2.0.0
   - sydtest-discover ==0.0.0.1
@@ -2320,7 +2324,7 @@ default-package-overrides:
   - tasty-discover ==4.2.2
   - tasty-expected-failure ==0.12.3
   - tasty-focus ==1.0.1
-  - tasty-golden ==2.3.4
+  - tasty-golden ==2.3.5
   - tasty-hedgehog ==1.1.0.0
   - tasty-hspec ==1.1.6
   - tasty-hunit ==0.10.0.3
@@ -2368,7 +2372,7 @@ default-package-overrides:
   - text-ldap ==0.1.1.14
   - textlocal ==0.1.0.5
   - text-manipulate ==0.3.0.0
-  - text-metrics ==0.3.1
+  - text-metrics ==0.3.2
   - text-postgresql ==0.0.3.1
   - text-printer ==0.5.0.2
   - text-regex-replace ==0.1.1.4
@@ -2389,9 +2393,9 @@ default-package-overrides:
   - these ==1.1.1.1
   - these-lens ==1.0.1.2
   - these-optics ==1.0.1.2
-  - these-skinny ==0.7.4
+  - these-skinny ==0.7.5
   - th-expand-syns ==0.4.8.0
-  - th-extras ==0.0.0.5
+  - th-extras ==0.0.0.6
   - th-lift ==0.8.2
   - th-lift-instances ==0.1.19
   - th-nowq ==0.1.0.5
@@ -2411,7 +2415,7 @@ default-package-overrides:
   - th-test-utils ==1.1.1
   - th-utilities ==0.2.4.3
   - thyme ==0.3.5.5
-  - tidal ==1.7.8
+  - tidal ==1.7.10
   - tile ==0.3.0.0
   - time-compat ==1.9.5
   - timeit ==2.0
@@ -2424,18 +2428,19 @@ default-package-overrides:
   - timerep ==2.0.1.0
   - timer-wheel ==0.3.0
   - time-units ==1.0.0
-  - timezone-olson ==0.2.0
-  - timezone-series ==0.1.9
+  - timezone-olson ==0.2.1
+  - timezone-series ==0.1.13
   - tinylog ==0.15.0
   - titlecase ==1.0.1
   - tldr ==0.9.2
-  - tls ==1.5.6
+  - tls ==1.5.7
   - tls-debug ==0.4.8
   - tls-session-manager ==0.0.4
   - tlynx ==0.5.1.1
   - tmapchan ==0.0.3
   - tmapmvar ==0.0.4
   - tmp-postgres ==1.34.1.0
+  - tmp-proc ==0.5.0.1
   - tomland ==1.3.2.0
   - tonalude ==0.1.1.1
   - topograph ==1.0.0.1
@@ -2447,21 +2452,21 @@ default-package-overrides:
   - transformers-compat ==0.6.6
   - transformers-fix ==1.0
   - traverse-with-class ==1.0.1.1
-  - tree-diff ==0.2.1
+  - tree-diff ==0.2.1.1
   - tree-fun ==0.8.1.0
   - tree-view ==0.5.1
   - trifecta ==2.1.2
   - triplesec ==0.2.2.1
   - trivial-constraint ==0.7.0.0
   - tsv2csv ==0.1.0.2
-  - ttc ==1.1.0.2
+  - ttc ==1.1.1.0
   - ttl-hashtables ==1.4.1.0
   - ttrie ==0.1.2.2
   - tuple ==0.3.0.2
   - 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
@@ -2475,7 +2480,7 @@ default-package-overrides:
   - type-level-natural-number ==2.0
   - type-level-numbers ==0.1.1.1
   - typelits-witnesses ==0.4.0.0
-  - type-map ==0.1.6.0
+  - type-map ==0.1.7.0
   - type-natural ==1.1.0.1
   - typenums ==0.1.4
   - type-of-html ==1.6.2.0
@@ -2483,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
@@ -2520,9 +2525,9 @@ default-package-overrides:
   - universe-some ==1.2.1
   - universum ==1.7.2
   - unix-bytestring ==0.3.7.6
-  - unix-compat ==0.5.3
+  - 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
@@ -2559,15 +2564,15 @@ default-package-overrides:
   - validity-vector ==0.2.0.3
   - valor ==0.1.0.0
   - vault ==0.3.1.5
-  - vcs-ignore ==0.0.1.0
+  - vcs-ignore ==0.0.2.0
   - vec ==0.4
   - vector ==0.12.3.1
   - vector-algorithms ==0.8.0.4
   - vector-binary-instances ==0.2.5.2
   - vector-buffer ==0.4.1
-  - vector-builder ==0.3.8.2
+  - 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
@@ -2576,7 +2581,7 @@ default-package-overrides:
   - vector-split ==1.0.0.2
   - vector-th-unbox ==0.2.2
   - verbosity ==0.4.0.0
-  - versions ==5.0.1
+  - versions ==5.0.2
   - vformat ==0.14.1.0
   - vformat-aeson ==0.1.0.1
   - vformat-time ==0.1.0.0
@@ -2590,13 +2595,14 @@ default-package-overrides:
   - wai-cors ==0.2.7
   - wai-enforce-https ==0.0.2.1
   - wai-eventsource ==3.0.0
-  - wai-extra ==3.1.7
-  - wai-feature-flags ==0.1.0.2
+  - wai-extra ==3.1.8
+  - wai-feature-flags ==0.1.0.3
   - wai-handler-launch ==3.0.3.1
   - wai-logger ==2.3.7
   - wai-middleware-auth ==0.2.5.1
   - wai-middleware-caching ==0.1.0.2
   - wai-middleware-clacks ==0.1.0.1
+  - wai-middleware-delegate ==0.1.2.4
   - wai-middleware-prometheus ==1.0.0.1
   - wai-middleware-static ==0.9.1
   - wai-rate-limit ==0.1.0.0
@@ -2607,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
@@ -2628,7 +2634,7 @@ default-package-overrides:
   - Win32 ==2.6.2.1
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
-  - witch ==0.3.4.1
+  - witch ==0.3.4.2
   - witherable ==0.4.2
   - within ==0.2.0.1
   - with-location ==0.1.0
@@ -2636,7 +2642,7 @@ default-package-overrides:
   - wizards ==1.0.3
   - wl-pprint-annotated ==0.1.0.1
   - wl-pprint-console ==0.1.0.2
-  - wl-pprint-text ==1.2.0.1
+  - wl-pprint-text ==1.2.0.2
   - word24 ==2.0.1
   - word8 ==0.1.3
   - wordpress-auth ==1.0.0.1
@@ -2653,10 +2659,10 @@ default-package-overrides:
   - X11 ==1.10.2
   - X11-xft ==0.3.4
   - x11-xim ==0.0.9.0
-  - x509 ==1.7.5
-  - x509-store ==1.6.7
-  - x509-system ==1.6.6
-  - x509-validation ==1.6.11
+  - x509 ==1.7.6
+  - x509-store ==1.6.9
+  - x509-system ==1.6.7
+  - x509-validation ==1.6.12
   - Xauth ==0.1
   - xdg-basedir ==0.2.2
   - xdg-userdirs ==0.1.0.2
@@ -2668,7 +2674,7 @@ default-package-overrides:
   - xml-conduit ==1.9.1.1
   - xml-conduit-writer ==0.1.1.2
   - xmlgen ==0.6.2.2
-  - xml-hamlet ==0.5.0.1
+  - xml-hamlet ==0.5.0.2
   - xml-helpers ==1.0.0
   - xml-html-qq ==0.1.0.1
   - xml-indexed-cursor ==0.1.1.0
@@ -2684,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/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 8b87784cb595..fc5ece3e0698 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -474,14 +474,12 @@ dont-distribute-packages:
  - atomic-primops-foreign
  - atp
  - attoparsec-enumerator
- - attoparsec-ip
  - attoparsec-iteratee
  - attoparsec-text-enumerator
- - attoparsec-uri
  - atuin
  - audiovisual
  - aura
- - aura_3_2_6
+ - aura_3_2_7
  - authoring
  - autonix-deps-kf5
  - avers
@@ -527,6 +525,9 @@ dont-distribute-packages:
  - base64-bytes
  - baserock-schema
  - batchd
+ - batchd-core
+ - batchd-docker
+ - batchd-libvirt
  - batching
  - battlenet-yesod
  - battleships
@@ -588,7 +589,6 @@ dont-distribute-packages:
  - bla
  - blakesum-demo
  - blastxml
- - blatex
  - blaze-builder-enumerator
  - blaze-colonnade
  - blink1
@@ -618,6 +618,8 @@ dont-distribute-packages:
  - bricks-parsec
  - bricks-rendering
  - bricks-syntax
+ - broadcast-chan-conduit
+ - broadcast-chan-pipes
  - bronyradiogermany-streaming
  - brotli-conduit
  - brotli-streams
@@ -635,7 +637,6 @@ dont-distribute-packages:
  - bv-sized-lens
  - bytehash
  - bytelog
- - bytesmith
  - bytestring-read
  - c0check
  - cabal-bounds
@@ -659,6 +660,8 @@ dont-distribute-packages:
  - canteven-http
  - cao
  - cap
+ - captcha-2captcha
+ - captcha-capmonster
  - car-pool
  - carboncopy
  - cartel
@@ -696,7 +699,6 @@ dont-distribute-packages:
  - chainweb-mining-client
  - chalkboard-viewer
  - charade
- - chart-cli
  - chart-svg
  - chart-svg-various
  - chart-unit
@@ -712,7 +714,6 @@ dont-distribute-packages:
  - chr-core
  - chr-lang
  - chromatin
- - chronos_1_1_3
  - chu2
  - chuchu
  - chunks
@@ -725,8 +726,12 @@ dont-distribute-packages:
  - claferwiki
  - clash
  - clash-ghc
+ - clash-ghc_1_6_1
  - clash-lib
+ - clash-lib-hedgehog
+ - clash-lib_1_6_1
  - clash-multisignal
+ - clash-prelude-hedgehog
  - clash-prelude-quickcheck
  - clash-shake
  - clash-systemverilog
@@ -748,6 +753,7 @@ dont-distribute-packages:
  - clckwrks-theme-clckwrks
  - clckwrks-theme-geo-bootstrap
  - cless
+ - cleveland
  - click-clack
  - clifford
  - clippings
@@ -783,6 +789,7 @@ dont-distribute-packages:
  - comic
  - commsec-keyexchange
  - comonad-random
+ - compaREST
  - compact-mutable
  - complexity
  - computational-algebra
@@ -794,6 +801,7 @@ dont-distribute-packages:
  - condor
  - conductive-hsc3
  - conductive-song
+ - conduit-aeson
  - conduit-vfs-zip
  - confcrypt
  - conferer-provider-dhall
@@ -809,7 +817,6 @@ dont-distribute-packages:
  - consumers
  - container
  - containers-accelerate
- - contiguous-fft
  - continuum
  - continuum-client
  - control
@@ -826,10 +833,13 @@ dont-distribute-packages:
  - copilot-language
  - copilot-libraries
  - copilot-theorem
+ - core-webserver-servant
+ - core-webserver-warp
  - coroutine-enumerator
  - coroutine-iteratee
  - couch-simple
  - couchdb-enumerator
+ - cpkg
  - cprng-aes-effect
  - cql-io-tinylog
  - cqrs-example
@@ -889,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
@@ -958,6 +966,8 @@ dont-distribute-packages:
  - diplomacy
  - diplomacy-server
  - dirfiles
+ - dirtree
+ - disco
  - discogs-haskell
  - discord-gateway
  - discord-hs
@@ -1021,6 +1031,7 @@ dont-distribute-packages:
  - edges
  - editable
  - effective-aspects-mzv
+ - eflint
  - egison
  - egison-pattern-src-haskell-mode
  - egison-pattern-src-th-mode
@@ -1185,6 +1196,7 @@ dont-distribute-packages:
  - funnyprint
  - funsat
  - fused-effects-squeal
+ - futhark_0_21_6
  - fwgl-glfw
  - fwgl-javascript
  - fxpak
@@ -1296,6 +1308,7 @@ dont-distribute-packages:
  - graph-rewriting-strategies
  - graph-rewriting-trs
  - graph-rewriting-ww
+ - graph-trace-viz
  - graph-visit
  - graphicsFormats
  - graphicstools
@@ -1474,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
@@ -1614,8 +1633,10 @@ dont-distribute-packages:
  - hreader-lens
  - hreq-client
  - hreq-conduit
+ - hriemann
  - hs-blake2
  - hs-brotli
+ - hs-duktape
  - hs-ffmpeg
  - hs-gen-iface
  - hs-pkpass
@@ -1649,6 +1670,7 @@ dont-distribute-packages:
  - hsfacter
  - hslogstash
  - hspec-expectations-pretty
+ - hspec-expectations-pretty-diff
  - hspec-pg-transact
  - hspec-setup
  - hspec-shouldbe
@@ -1757,6 +1779,7 @@ dont-distribute-packages:
  - indentation-trifecta
  - indexation
  - indieweb-algorithms
+ - indigo
  - infernu
  - inline-java
  - inspector-wrecker
@@ -1771,8 +1794,8 @@ dont-distribute-packages:
  - introduction-test
  - intset
  - invertible-hlist
+ - invertible-hxt
  - ion
- - ip
  - ipatch
  - ipc
  - ipld-cid
@@ -1807,6 +1830,7 @@ dont-distribute-packages:
  - ivy-web
  - iyql
  - j2hs
+ - jacinda
  - jail
  - java-bridge-extras
  - java-character
@@ -1887,6 +1911,7 @@ dont-distribute-packages:
  - knead-arithmetic
  - knit-haskell
  - knots
+ - koji-tool
  - korfu
  - ks-test
  - kurita
@@ -2075,7 +2100,6 @@ dont-distribute-packages:
  - markdown-pap
  - markdown2svg
  - markov-processes
- - markup
  - marmalade-upload
  - marquise
  - marvin
@@ -2121,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
@@ -2144,6 +2166,8 @@ dont-distribute-packages:
  - moo
  - moo-nad
  - morley
+ - morley-client
+ - morley-upgradeable
  - morloc
  - morpheus-graphql-client_0_18_0
  - morpheus-graphql_0_18_0
@@ -2157,6 +2181,7 @@ dont-distribute-packages:
  - mpretty
  - mprover
  - mps
+ - mptcpanalyzer
  - msgpack-aeson
  - msgpack-idl
  - msgpack-rpc
@@ -2291,7 +2316,7 @@ dont-distribute-packages:
  - pairing
  - panda
  - pandoc-japanese-filters
- - pandoc_2_16_2
+ - pandoc_2_17_1_1
  - papa
  - papa-base
  - papa-base-implement
@@ -2414,8 +2439,6 @@ dont-distribute-packages:
  - prednote-test
  - presto-hdbc
  - preview
- - primitive-containers
- - primitive-sort
  - primula-board
  - primula-bot
  - proc
@@ -2439,6 +2462,7 @@ dont-distribute-packages:
  - proto3-suite
  - protobuf-native
  - protocol-buffers-descriptor-fork
+ - psql
  - puffytools
  - pugs-compat
  - pugs-hsregex
@@ -2446,6 +2470,7 @@ dont-distribute-packages:
  - puppetresources
  - pure-cdb
  - pure-priority-queue-tests
+ - purescript-bridge
  - purescript-iso
  - push-notify
  - push-notify-apn
@@ -2605,7 +2630,6 @@ dont-distribute-packages:
  - ribosome-root
  - ribosome-test
  - ridley-extras
- - ring-buffers
  - rio-process-pool
  - riot
  - ripple
@@ -2679,7 +2703,6 @@ dont-distribute-packages:
  - scholdoc
  - scholdoc-citeproc
  - scholdoc-texmath
- - scientific-notation
  - scion
  - scion-browser
  - scope
@@ -2731,6 +2754,7 @@ dont-distribute-packages:
  - servant-streaming-client
  - servant-streaming-docs
  - servant-streaming-server
+ - servant-subscriber
  - servant-swagger-tags
  - servant-waargonaut
  - servant-zeppelin-client
@@ -2781,7 +2805,6 @@ dont-distribute-packages:
  - smallstring
  - smartword
  - smcdel
- - smith
  - smith-cli
  - smith-client
  - smtlib2-debug
@@ -2830,6 +2853,7 @@ dont-distribute-packages:
  - sounddelay
  - soundgen
  - source-code-server
+ - spade
  - sparkle
  - sparrow
  - sparsebit
@@ -3011,10 +3035,10 @@ dont-distribute-packages:
  - tn
  - to-string-instances
  - toboggan
- - todos
  - toktok
  - too-many-cells
  - top
+ - topaz
  - topkata
  - total-map
  - toxcore
@@ -3035,12 +3059,14 @@ dont-distribute-packages:
  - trasa-reflex
  - trasa-server
  - trasa-th
+ - traverse-code
  - treemap-html-tools
  - treersec
  - trek-app
  - trek-db
  - triangulation
  - tries
+ - trimdent
  - trimpolya
  - truelevel
  - trurl
@@ -3117,8 +3143,6 @@ dont-distribute-packages:
  - urembed
  - uri-enumerator
  - uri-enumerator-file
- - url-bytes
- - urlpath
  - usb
  - usb-enumerator
  - usb-hid
@@ -3130,7 +3154,6 @@ dont-distribute-packages:
  - uu-cco-examples
  - uu-cco-hut-parsing
  - uu-cco-uu-parsinglib
- - uuid-bytes
  - uuid-crypto
  - uvector-algorithms
  - v4l2
@@ -3178,7 +3201,6 @@ dont-distribute-packages:
  - wai-middleware-cache
  - wai-middleware-cache-redis
  - wai-middleware-consul
- - wai-middleware-content-type
  - wai-middleware-rollbar
  - wai-middleware-route
  - wai-session-tokyocabinet
@@ -3187,12 +3209,14 @@ dont-distribute-packages:
  - warped
  - wavesurfer
  - wavy
+ - web-inv-route
  - web-mongrel2
  - web-page
  - web-rep
  - web-routes-regular
  - web-routing
  - web3
+ - web3-ethereum
  - webcrank-wai
  - webdriver-w3c
  - webserver
@@ -3218,7 +3242,6 @@ dont-distribute-packages:
  - wrecker-ui
  - wright
  - writer-cps-full
- - ws
  - wss-client
  - wtk-gtk
  - wu-wei
@@ -3246,7 +3269,6 @@ dont-distribute-packages:
  - xml-push
  - xml-query-xml-conduit
  - xml-query-xml-types
- - xml-syntax
  - xml-tydom-conduit
  - xml2x
  - xmltv
@@ -3278,7 +3300,6 @@ dont-distribute-packages:
  - ycextra
  - yeamer
  - yeshql
- - yesod-articles
  - yesod-auth-ldap
  - yesod-colonnade
  - yesod-continuations
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
index 86a60fd9097a..032b2577c515 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
@@ -209,16 +209,6 @@ self: super: builtins.intersectAttrs super {
   # Help the test suite find system timezone data.
   tz = overrideCabal (drv: {
     preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo";
-    patches = [
-      # Fix tests failing with libSystem, musl etc. due to a lack of
-      # support for glibc's non-POSIX TZDIR environment variable.
-      # https://github.com/nilcons/haskell-tz/pull/29
-      (pkgs.fetchpatch {
-        name = "support-non-glibc-tzset.patch";
-        url = "https://github.com/sternenseemann/haskell-tz/commit/64928f1a50a1a276a718491ae3eeef63abcdb393.patch";
-        sha256 = "1f53w8k1vpy39hzalyykpvm946ykkarj2714w988jdp4c2c4l4cf";
-      })
-    ] ++ (drv.patches or []);
   }) super.tz;
 
   # Nix-specific workaround
@@ -605,21 +595,6 @@ self: super: builtins.intersectAttrs super {
         sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
       };
 
-      spagoWithPatches = appendPatch (
-        # Spago needs a small patch to work with versions-5.0.0:
-        # https://github.com/purescript/spago/pull/798
-        # This can probably be removed with >spago-0.20.3.
-        pkgs.fetchpatch {
-          url = "https://github.com/purescript/spago/commit/dd4bf4413d9675c1c8065d24d0ed7b345c7fa5dd.patch";
-          sha256 = "1i1r3f4n9mlkckx15bfrdy5m7gjf0zx7ycwyqra6qn34zpcbzpmf";
-        }
-      ) super.spago;
-
-      spagoWithOverrides = spagoWithPatches.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
@@ -645,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;
@@ -731,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
@@ -755,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
@@ -818,90 +794,17 @@ self: super: builtins.intersectAttrs super {
     platforms = pkgs.lib.platforms.x86;
   } super.geomancy;
 
-  hls-brittany-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-brittany-plugin;
-  hls-class-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-class-plugin;
-  hls-ormolu-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-ormolu-plugin;
-  hls-fourmolu-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-fourmolu-plugin;
-  hls-module-name-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-module-name-plugin;
-  hls-rename-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '' + (drv.preCheck or "");
-  }) super.hls-rename-plugin;
-  hls-splice-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-splice-plugin;
-  hls-floskell-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-floskell-plugin;
-  hls-pragmas-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-pragmas-plugin;
-  hls-hlint-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-hlint-plugin;
+  hlint = overrideCabal (drv: {
+    postInstall = ''
+      install -Dm644 data/hlint.1 -t "$out/share/man/man1"
+    '' + drv.postInstall or "";
+  }) super.hlint;
+
   hiedb = overrideCabal (drv: {
     preCheck = ''
       export PATH=$PWD/dist/build/hiedb:$PATH
     '';
   }) super.hiedb;
-  hls-call-hierarchy-plugin = overrideCabal (drv: {
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-call-hierarchy-plugin;
-  # Tests have file permissions expections that don‘t work with the nix store.
-  hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin;
-  hls-haddock-comments-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-haddock-comments-plugin;
-  hls-eval-plugin = overrideCabal (drv: {
-    testToolDepends = [ pkgs.git ];
-    preCheck = ''
-      export HOME=$TMPDIR/home
-    '';
-  }) super.hls-eval-plugin;
 
   taglib = overrideCabal (drv: {
     librarySystemDepends = [
@@ -966,11 +869,11 @@ self: super: builtins.intersectAttrs super {
 
   rel8 = addTestToolDepend pkgs.postgresql super.rel8;
 
-  cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nix_2_4; });
+  cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nixVersions.nix_2_4; });
 
-  hercules-ci-agent = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-agent.override { nix = pkgs.nix_2_4; });
-  hercules-ci-cnix-expr = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-expr.override { nix = pkgs.nix_2_4; });
-  hercules-ci-cnix-store = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-store.override { nix = pkgs.nix_2_4; });
+  hercules-ci-agent = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_4; });
+  hercules-ci-cnix-expr = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-expr.override { nix = pkgs.nixVersions.nix_2_4; });
+  hercules-ci-cnix-store = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-store.override { nix = pkgs.nixVersions.nix_2_4; });
 
   # Enable extra optimisations which increase build time, but also
   # later compiler performance, so we should do this for user's benefit.
@@ -1048,4 +951,53 @@ self: super: builtins.intersectAttrs super {
       "-p" "!/Can be used with http-client/"
     ] ++ drv.testFlags or [];
   }) super.http-api-data-qq;
+
+  # Additionally install documentation
+  jacinda = overrideCabal (drv: {
+    enableSeparateDocOutput = true;
+    postInstall = ''
+      ${drv.postInstall or ""}
+
+      docDir="$doc/share/doc/${drv.pname}-${drv.version}"
+
+      # man page goes to $out, it's small enough and haskellPackages has no
+      # support for a man output at the moment and $doc requires downloading
+      # a full PDF
+      install -Dm644 man/ja.1 -t "$out/share/man/man1"
+      # language guide and examples
+      install -Dm644 doc/guide.pdf -t "$docDir"
+      install -Dm644 test/examples/*.jac -t "$docDir/examples"
+    '';
+  }) super.jacinda;
+
+# haskell-language-server plugins all use the same test harness so we give them what we want in this loop.
+} // pkgs.lib.mapAttrs
+  (_: overrideCabal (drv: {
+    testToolDepends = (drv.testToolDepends or [ ]) ++ [ pkgs.git ];
+    preCheck = ''
+      export HOME=$TMPDIR/home
+    '' + (drv.preCheck or "");
+  }))
+{
+  inherit (super)
+    hls-brittany-plugin
+    hls-call-hierarchy-plugin
+    hls-class-plugin
+    hls-eval-plugin
+    hls-floskell-plugin
+    hls-fourmolu-plugin
+    hls-module-name-plugin
+    hls-ormolu-plugin
+    hls-pragmas-plugin
+    hls-rename-plugin
+    hls-selection-range-plugin
+    hls-splice-plugin;
+  # Tests have file permissions expections that don‘t work with the nix store.
+  hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin;
+
+  # Flaky tests
+  hls-hlint-plugin = dontCheck super.hls-hlint-plugin;
+  hls-alternate-number-format-plugin = dontCheck super.hls-alternate-number-format-plugin;
+  hls-qualify-imported-names-plugin = dontCheck super.hls-qualify-imported-names-plugin;
+  hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
index 6b96455ab75c..f6db635805b5 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
@@ -811,6 +811,8 @@ self: {
        pname = "Agda";
        version = "2.6.2.1";
        sha256 = "03dw7jfqr3ffik6avigm525djqh2gn5c3qwnb2h6298zkr9lch9w";
+       revision = "4";
+       editedCabalFile = "0spsj8nk28lfvsv6063d1nif5hag8yal47iwicm7yln0626xsxcd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -2787,6 +2789,8 @@ self: {
        pname = "Cabal";
        version = "3.4.1.0";
        sha256 = "1rqpq6l4b9990rmlgcyz44awps6r37ccyi6bgk7dhcsflad6prj4";
+       revision = "1";
+       editedCabalFile = "1l6jf1fkfppdxy4k6y0skddg2j3j2wq3i025ak0zljc1d2blrrj8";
        setupHaskellDepends = [ mtl parsec ];
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -2814,6 +2818,8 @@ self: {
        pname = "Cabal";
        version = "3.6.2.0";
        sha256 = "0hmw2wkypd42qyyfi6rhbsxmymbxg9rrw683yg39627vlw33v44y";
+       revision = "1";
+       editedCabalFile = "1s79dmxxzyczldakjcwg7jqxhhfw724fwbjh7s656cynxnalq85f";
        setupHaskellDepends = [ mtl parsec ];
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -2851,6 +2857,18 @@ self: {
        broken = true;
      }) {};
 
+  "Cabal-syntax" = callPackage
+    ({ mkDerivation, Cabal }:
+     mkDerivation {
+       pname = "Cabal-syntax";
+       version = "3.6.0.0";
+       sha256 = "0lcj4g55sj5iv727g7k57pscgyj0fx3smwapm1gmd5qkc3yfa9fa";
+       libraryHaskellDepends = [ Cabal ];
+       doHaddock = false;
+       description = "A library for working with .cabal files";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "CabalSearch" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, HDBC
      , HDBC-sqlite3, process, unix
@@ -4619,8 +4637,8 @@ self: {
      }:
      mkDerivation {
        pname = "Diff";
-       version = "0.4.0";
-       sha256 = "1is9y5rlqyxacnj6kbi6h9laym5shp699r0hkj5p9d6qi84sr43j";
+       version = "0.4.1";
+       sha256 = "0w166w5jksiqad7xf2ldjl2ykap0xf08byrl92qwp6r1qym4lppx";
        libraryHaskellDepends = [ array base pretty ];
        testHaskellDepends = [
          array base directory pretty process QuickCheck test-framework
@@ -4677,6 +4695,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "DigitGroup" = callPackage
+    ({ mkDerivation, base, split }:
+     mkDerivation {
+       pname = "DigitGroup";
+       version = "0.1.0.0";
+       sha256 = "1g9bxrawx2ard4pm6rs9li0kk3wj5f5ll0b2l2dwc74i23anb9lz";
+       libraryHaskellDepends = [ base split ];
+       description = "Group the digits of numbers by lots";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "DigitalOcean" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, exceptions
      , hspec, lens, mtl, text, transformers, unordered-containers
@@ -6554,8 +6583,8 @@ self: {
        pname = "FunGEn";
        version = "1.1.1";
        sha256 = "167bf5p4qcb9wj89x5i5zjjx1f7pmi6s5xbbh43ljhp1f25s9147";
-       revision = "1";
-       editedCabalFile = "0rgqkr95d2bssmnm4rrkrla7380vgr3isljs8jqglfjy660cynq3";
+       revision = "2";
+       editedCabalFile = "1dffca6qm0x5j0b2rii6r9ilsbvsg3ilsv4a05kzmpdsd94b5j16";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -7336,8 +7365,8 @@ self: {
        pname = "Glob";
        version = "0.10.2";
        sha256 = "1h3kh46qds4nqvixm4myy1kb5slg53f44hfn8aymrlr7hjn75xka";
-       revision = "2";
-       editedCabalFile = "175v5r0gzlln5y70dgxaq5xw4ilrf3xhgqr3hrzsilqnb32kfi9a";
+       revision = "3";
+       editedCabalFile = "1080rd5073g87rfm5whimb72b75105lqanybrbsfi14gmvndnbfx";
        libraryHaskellDepends = [
          base containers directory dlist filepath transformers
          transformers-compat
@@ -9718,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
@@ -10820,8 +10849,8 @@ self: {
        pname = "HsOpenSSL";
        version = "0.11.7.2";
        sha256 = "0ysdfl8ck3nzhx597fa13dqf31jq5gzwajlak6r91jajks9w0dl5";
-       revision = "1";
-       editedCabalFile = "1lccw8x48xxmw1cpd260fdr9mxqr39f4b623i78027l0m93dw38b";
+       revision = "2";
+       editedCabalFile = "1wqk9mnzxwphiza6lwg526nvr6mzbwv0l22kwbsd2r9vv1gix1rk";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
@@ -10939,8 +10968,8 @@ self: {
        pname = "HsYAML";
        version = "0.2.1.0";
        sha256 = "10qzhsg789h37q22hm9p27dx4rhbykcbxp7p3pvkws8fr7ajgxv0";
-       revision = "3";
-       editedCabalFile = "0qj6180459mx08v3m8x8nw2a8a7srw2q48dh4d9qgwd1rl499a5i";
+       revision = "4";
+       editedCabalFile = "1gzfaqnz7wjvdjh8w66rlg8c9vwawb0adh9kahl8fn70mdnp38az";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -10962,6 +10991,8 @@ self: {
        pname = "HsYAML-aeson";
        version = "0.2.0.1";
        sha256 = "139hqd07hkr8ykvrgmcshh9f3vp9dnrj6ks5nl8hgrpi990jsy5r";
+       revision = "1";
+       editedCabalFile = "0d9gih7mkm0k47351539x9vdjvjjysk1rvba88r214qsjxnh4kym";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -11205,8 +11236,8 @@ self: {
      }:
      mkDerivation {
        pname = "IPv6Addr";
-       version = "2.0.3";
-       sha256 = "1j7n9xf808nc5pvs5klvnq0a7v68rzpr8zq7vls49z2prwhwbfil";
+       version = "2.0.4";
+       sha256 = "1d20cfnxvahcnr8iq71ymyykfl6cgxzl5i6vmdl7ill2bj07xy08";
        libraryHaskellDepends = [
          aeson attoparsec base iproute network network-info random text
        ];
@@ -11775,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 = [
@@ -11845,8 +11876,8 @@ self: {
        pname = "JuicyPixels-scale-dct";
        version = "0.1.2";
        sha256 = "04rhrmjnh12hh2nz04k245avgdcwqfyjnsbpcrz8j9328j41nf7p";
-       revision = "7";
-       editedCabalFile = "12ylqc5xi7jhgdsq8dbxm4v6llbi1km78zam962052b5s81d00qw";
+       revision = "8";
+       editedCabalFile = "08ym2s8ypmqs2viz4jr9zm54cia8b54li2zqi8dq93vjnzz0kkbf";
        libraryHaskellDepends = [
          base base-compat carray fft JuicyPixels
        ];
@@ -13612,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;
@@ -14304,8 +14332,8 @@ self: {
      }:
      mkDerivation {
        pname = "NanoID";
-       version = "3.1.1";
-       sha256 = "10zjp9675nxa7nx7qhr5cxw43fy06s5ggb39idlr87b90vm8wkw8";
+       version = "3.2.0";
+       sha256 = "16h4mhr16b2fkf37vpsalnzjmg06sghb86gh1n1w3z64dvad0849";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -17743,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 = [
@@ -18335,34 +18363,6 @@ self: {
        broken = true;
      }) {};
 
-  "ShellCheck_0_7_1" = callPackage
-    ({ mkDerivation, aeson, array, base, bytestring, containers
-     , deepseq, Diff, directory, filepath, mtl, parsec, process
-     , QuickCheck, regex-tdfa
-     }:
-     mkDerivation {
-       pname = "ShellCheck";
-       version = "0.7.1";
-       sha256 = "06m4wh891nah3y0br4wh3adpsb16zawkb2ijgf1vcz61fznj6ps1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson array base bytestring containers deepseq Diff directory
-         filepath mtl parsec process QuickCheck regex-tdfa
-       ];
-       executableHaskellDepends = [
-         aeson array base bytestring containers deepseq Diff directory
-         filepath mtl parsec QuickCheck regex-tdfa
-       ];
-       testHaskellDepends = [
-         aeson array base bytestring containers deepseq Diff directory
-         filepath mtl parsec QuickCheck regex-tdfa
-       ];
-       description = "Shell script analysis tool";
-       license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "ShellCheck" = callPackage
     ({ mkDerivation, aeson, array, base, bytestring, containers
      , deepseq, Diff, directory, filepath, mtl, parsec, process
@@ -18584,6 +18584,8 @@ self: {
        libraryHaskellDepends = [ base compactable Shpadoinkle text ];
        description = "A backend for rendering Shpadoinkle as Text";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Shpadoinkle-console" = callPackage
@@ -18700,6 +18702,8 @@ self: {
        ];
        description = "A typed, template generated Html DSL, and helpers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Shpadoinkle-isreal" = callPackage
@@ -19009,6 +19013,17 @@ self: {
        broken = true;
      }) {};
 
+  "SmithNormalForm" = callPackage
+    ({ mkDerivation, base, matrix, vector }:
+     mkDerivation {
+       pname = "SmithNormalForm";
+       version = "0.1.0.0";
+       sha256 = "1lwf047v5b757fwdz4dz94rky08lg9fib38iv6g5f4wsyacx0jzj";
+       libraryHaskellDepends = [ base matrix vector ];
+       description = "A lightweight Haskell implementation of Smith normal form over the integers";
+       license = lib.licenses.mit;
+     }) {};
+
   "Smooth" = callPackage
     ({ mkDerivation, base, containers, DifferenceLogic
      , FirstOrderTheory, HUnit, Proper
@@ -21007,8 +21022,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers, vector, vulkan }:
      mkDerivation {
        pname = "VulkanMemoryAllocator";
-       version = "0.7.5";
-       sha256 = "0wcq09q5jhvigfp8vshgs3yc170g7c39jz2m6jk2j6v0nji2lp40";
+       version = "0.9";
+       sha256 = "1avq9njgqbvmqn5277q66bqq01jj6syyrnw82qy4477r5yln2wh2";
        libraryHaskellDepends = [
          base bytestring transformers vector vulkan
        ];
@@ -23322,6 +23337,8 @@ self: {
        pname = "acid-state";
        version = "0.16.0.1";
        sha256 = "0n8qp002w972lf7z9hhn5bbz2rslh8m6am07c88y755nj5xk6y88";
+       revision = "1";
+       editedCabalFile = "0jz3826gx6chsa2bipzdpqvl2risp3bm6g4nrr79wb403qrqwbf4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -23559,8 +23576,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "acme-functors";
-       version = "0.1.0.0";
-       sha256 = "0b99f1js5w5904rw20xfmg8sfv0l8fdcnp90jx4rrczcirp6h6iq";
+       version = "0.1.0.1";
+       sha256 = "0blzbrlg033vfy8v225sw0nhaacc1pb0zq9vsh1wafadfwmpi6ig";
        libraryHaskellDepends = [ base ];
        description = "The best applicative functors";
        license = lib.licenses.bsd3;
@@ -24164,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
        ];
@@ -24628,7 +24645,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "aeson_2_0_2_0" = callPackage
+  "aeson_2_0_3_0" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat
      , base-compat-batteries, base-orphans, base16-bytestring
      , bytestring, containers, data-fix, deepseq, Diff, directory, dlist
@@ -24641,25 +24658,23 @@ self: {
      }:
      mkDerivation {
        pname = "aeson";
-       version = "2.0.2.0";
-       sha256 = "0dw041ha28r55ss5hjv6gc3rc5ins4a4vw36w6hd6mdbgzfmbjnm";
-       revision = "1";
-       editedCabalFile = "0xhchqq056fmdz01w73zdq1hhwc1inl0zklp211mbxyncabz6hdv";
+       version = "2.0.3.0";
+       sha256 = "09dk0j33n262dm75vff3y3i9fm6lh06dyqswwv7a6kvnhhmhlxhr";
        libraryHaskellDepends = [
          attoparsec base base-compat-batteries bytestring containers
          data-fix deepseq dlist ghc-prim hashable indexed-traversable
-         OneTuple primitive scientific semialign strict tagged
+         OneTuple primitive QuickCheck scientific semialign strict tagged
          template-haskell text text-short th-abstraction these time
          time-compat unordered-containers uuid-types vector witherable
        ];
        testHaskellDepends = [
          attoparsec base base-compat base-orphans base16-bytestring
          bytestring containers data-fix Diff directory dlist filepath
-         generic-deriving ghc-prim hashable integer-logarithms OneTuple
-         QuickCheck quickcheck-instances scientific strict tagged tasty
-         tasty-golden tasty-hunit tasty-quickcheck template-haskell text
-         text-short these time time-compat unordered-containers uuid-types
-         vector
+         generic-deriving ghc-prim hashable indexed-traversable
+         integer-logarithms OneTuple primitive QuickCheck
+         quickcheck-instances scientific strict tagged tasty tasty-golden
+         tasty-hunit tasty-quickcheck template-haskell text text-short these
+         time time-compat unordered-containers uuid-types vector
        ];
        description = "Fast JSON parsing and encoding";
        license = lib.licenses.bsd3;
@@ -24818,8 +24833,8 @@ self: {
        pname = "aeson-compat";
        version = "0.3.10";
        sha256 = "0ia3qfdpbrzhwwg4ywpdwca0z1m85k081pcz6jh1sx8qjsvcr71w";
-       revision = "1";
-       editedCabalFile = "1k4bnmq76ihk0vlx9nhxsyyawhnbca9dxj1ivxs3k4aip40bjjq8";
+       revision = "2";
+       editedCabalFile = "0x0i17094nkmhzfh5rl758y21kpgv1fw2qicll5rx51fj6a77rr2";
        libraryHaskellDepends = [
          aeson attoparsec attoparsec-iso8601 base base-compat bytestring
          containers exceptions hashable scientific tagged text time
@@ -24945,6 +24960,8 @@ self: {
        pname = "aeson-extra";
        version = "0.5.1";
        sha256 = "13d01hppx71cm7f901n1bd0hxj69ikbp57i6ckfygc6da0mg49jc";
+       revision = "1";
+       editedCabalFile = "0minlchivdbpwlfqv7n7ss9cvd7fbpflnmbvs0bcmw1fi83k3b32";
        libraryHaskellDepends = [
          aeson attoparsec attoparsec-iso8601 base base-compat-batteries
          bytestring containers deepseq exceptions hashable parsec
@@ -25035,17 +25052,17 @@ self: {
   "aeson-gadt-th" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, containers, dependent-map
      , dependent-sum, dependent-sum-template, hspec, HUnit
-     , template-haskell, th-abstraction, th-extras, transformers
+     , template-haskell, th-abstraction, transformers
      }:
      mkDerivation {
        pname = "aeson-gadt-th";
-       version = "0.2.5.0";
-       sha256 = "17csf7w0r6v8abmj9wx3fa830fmxif0mr3pgwxd63xhlrpv1hq72";
+       version = "0.2.5.1";
+       sha256 = "15d706h09igm9ic0sgjamwngghvcqhs2pir5pqb2crlkvmhr25cb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base containers dependent-sum template-haskell th-abstraction
-         th-extras transformers
+         transformers
        ];
        executableHaskellDepends = [
          aeson base dependent-map dependent-sum dependent-sum-template
@@ -25216,6 +25233,8 @@ self: {
        pname = "aeson-optics";
        version = "1.1.1";
        sha256 = "1na5nsbp4sds8q289knzj4rgiwabbinxm0ihh66jfz0sjiia4wp7";
+       revision = "1";
+       editedCabalFile = "0wyn0l2qhlrlrf5xy1grk9mshlxsfy566ayabg9f92w7m89n0kff";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring optics-core
          optics-extra scientific text unordered-containers vector
@@ -25493,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;
@@ -25644,6 +25658,8 @@ self: {
        pname = "aeson-yaml";
        version = "1.1.0.1";
        sha256 = "06x1l0a0dvzf8n2xmqny5qpsgdsl03xlh2z9x7wdxiykl8p4xd24";
+       revision = "1";
+       editedCabalFile = "16jz8x7dbc66vcnfam52pzxcic6c40rmixc5p1y3xds2f695i1xl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -26409,8 +26425,8 @@ self: {
      }:
      mkDerivation {
        pname = "alex";
-       version = "3.2.6";
-       sha256 = "042lrkn0dbpjn5ivj6j26jzb1fwrj8c1aj18ykxja89isg0hiali";
+       version = "3.2.7.1";
+       sha256 = "1v0vm1l4xvybzwj1p6j5j58yiw5nhbnx7yxjnpyjy6wggsig3llv";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -26938,6 +26954,8 @@ self: {
        pname = "align-audio";
        version = "0.0";
        sha256 = "0sa7q5fzkc0z4vzibs5l21pvrkil0swdpbl27qn30vb6giy3yh7a";
+       revision = "1";
+       editedCabalFile = "1599vbnfalrnq0zgwmh47k62y9yq30agpjyyfwdzxzszhc0vfq6n";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -30058,8 +30076,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp";
-       version = "0.22.0";
-       sha256 = "1yr81pwmjnap5bir9nrmpwakg4rz4fwcjzbkdr8azqbp9x0hr9k2";
+       version = "0.22.1";
+       sha256 = "0z1w35ar0bswbjzgana52nh4ilxbidnfkvli29w2zr7cak9dgzg1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -31553,6 +31571,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "api-maker_0_1_0_6" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, easy-logger
+     , http-api-data, http-client, http-client-tls, http-types, lens
+     , monad-control, mtl, req, text, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "api-maker";
+       version = "0.1.0.6";
+       sha256 = "1b3mh2z1paizbjzh4i03qvs5r8v6rgqmbga81dnsc6kxi4s8bw2a";
+       libraryHaskellDepends = [
+         aeson base bytestring containers easy-logger http-api-data
+         http-client http-client-tls http-types lens monad-control mtl req
+         text transformers transformers-base
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers easy-logger http-api-data
+         http-client http-client-tls http-types lens monad-control mtl req
+         text transformers transformers-base
+       ];
+       description = "Package to make APIs";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "api-monobank" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hs-coindesk-api
      , http-client, http-client-tls, http-conduit, servant
@@ -32242,6 +32284,8 @@ self: {
        pname = "apply-refact";
        version = "0.9.3.0";
        sha256 = "1sn5g71sx8xa4ggyk49m661iip6zrzl65vb87l16l31kf79bbm7w";
+       revision = "1";
+       editedCabalFile = "0hgdjm6ydfc29d922h1cpwrch61r5qchzrw21dz80kdry53qxl5q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -32294,12 +32338,17 @@ self: {
      }) {};
 
   "apportionment" = callPackage
-    ({ mkDerivation, base, containers, utility-ht }:
+    ({ mkDerivation, base, containers, doctest-exitcode-stdio
+     , doctest-lib, QuickCheck, utility-ht
+     }:
      mkDerivation {
        pname = "apportionment";
-       version = "0.0.0.3";
-       sha256 = "062v4a1ip7zy20b03z1jajqy2ylx5fl74p7px54b1vajf6vx0wcg";
+       version = "0.0.0.4";
+       sha256 = "12b4jlh3k3da1w5lw8z83qgvn0ys85xwvdqylm5kwfi2i1i72256";
        libraryHaskellDepends = [ base containers utility-ht ];
+       testHaskellDepends = [
+         base doctest-exitcode-stdio doctest-lib QuickCheck
+       ];
        description = "Round a set of numbers while maintaining its sum";
        license = lib.licenses.bsd3;
      }) {};
@@ -32707,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 = [
@@ -32929,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
@@ -33006,8 +33055,8 @@ self: {
      }:
      mkDerivation {
        pname = "argo";
-       version = "0.2021.11.13";
-       sha256 = "0q0c9mpn2l212dmhkdg6g2v3mr18lagfv48mc68mixahslnrjv5z";
+       version = "0.2022.2.2";
+       sha256 = "133k1jqx737y8bj92w7afvs5hxh28gcv6yyf7mdwlnvq1xphy7pa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -33023,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;
@@ -33623,16 +33672,16 @@ self: {
      }:
      mkDerivation {
        pname = "arrow-utils";
-       version = "0.1.0.0";
-       sha256 = "1l8njh623a00hvfd3cczvb4ngh7c39z6f0kfhr8hr6xhbkrgwqnc";
-       revision = "1";
-       editedCabalFile = "1jdl1jmr8hbjiybrjnfr8rraqdf95l4qia3nna3nh9pvh8c69jln";
+       version = "0.1.1";
+       sha256 = "112g74g844lnqfphkxqmp8ysnvi11iii9gcn70ml1ag6m5bdr7lc";
        libraryHaskellDepends = [ base vector-sized ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2
        ];
        description = "functions for working with arrows";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "arrowapply-utils" = callPackage
@@ -33807,15 +33856,15 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "ascii_1_1_1_0" = callPackage
+  "ascii_1_1_1_2" = callPackage
     ({ mkDerivation, ascii-case, ascii-char, ascii-group
      , ascii-predicates, ascii-superset, ascii-th, base, bytestring
      , text
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.1.1.0";
-       sha256 = "11a2hwjz439damkjcx3ybbwjnvhdrhwxw78203vgydym4v1k2hrn";
+       version = "1.1.1.2";
+       sha256 = "0wyr8s678dz2f45aiaish7xagdpnzn9rdx56zd4cs0aib0w71gl6";
        libraryHaskellDepends = [
          ascii-case ascii-char ascii-group ascii-predicates ascii-superset
          ascii-th base bytestring text
@@ -33845,8 +33894,8 @@ self: {
     ({ mkDerivation, ascii-char, base, hashable }:
      mkDerivation {
        pname = "ascii-case";
-       version = "1.0.0.8";
-       sha256 = "0sfak0dg77anw532pj5fgv7z81mqbim9c5qg5hya26pjk759h2p8";
+       version = "1.0.0.10";
+       sha256 = "1vncwrngvqlzacs8084s7xvbj02zpq5irciwmv8cxh8pwjk2vhpw";
        libraryHaskellDepends = [ ascii-char base hashable ];
        testHaskellDepends = [ ascii-char base ];
        description = "ASCII letter case";
@@ -33857,8 +33906,8 @@ self: {
     ({ mkDerivation, base, hashable }:
      mkDerivation {
        pname = "ascii-char";
-       version = "1.0.0.12";
-       sha256 = "0gdw0qjxznkx35larm4jb2rx3y6cz3a2zxr72c5006iymbnyky19";
+       version = "1.0.0.14";
+       sha256 = "0mdmcxp5bd89akh6z7kdyhl679pbm58rww0mhzj6y41sj4g7j4m4";
        libraryHaskellDepends = [ base hashable ];
        testHaskellDepends = [ base ];
        description = "A Char type representing an ASCII character";
@@ -33896,8 +33945,8 @@ self: {
     ({ mkDerivation, ascii-char, base, hashable }:
      mkDerivation {
        pname = "ascii-group";
-       version = "1.0.0.8";
-       sha256 = "1scam60a3r9n1zagxf5qcpglnywlcqfq0jhp5fiy1rs4h6c81cl0";
+       version = "1.0.0.10";
+       sha256 = "0swkv40jlcix8qs62zszkbsvw0k833l6rmrx21jzxvfi41pycd5r";
        libraryHaskellDepends = [ ascii-char base hashable ];
        testHaskellDepends = [ ascii-char base ];
        description = "ASCII character groups";
@@ -33923,8 +33972,8 @@ self: {
     ({ mkDerivation, ascii-char, base }:
      mkDerivation {
        pname = "ascii-predicates";
-       version = "1.0.0.6";
-       sha256 = "19f8s5jb6yswa1a0wl4npvljs2pkyrpznxnim6563pn4gh60b945";
+       version = "1.0.0.8";
+       sha256 = "1pl1pw6z1yc2r21v70qrm1wfnbzyq8cl0z3xn0268w1qx4qlnpng";
        libraryHaskellDepends = [ ascii-char base ];
        testHaskellDepends = [ ascii-char base ];
        description = "Various categorizations of ASCII characters";
@@ -33979,8 +34028,8 @@ self: {
     ({ mkDerivation, ascii-char, base, bytestring, hashable, text }:
      mkDerivation {
        pname = "ascii-superset";
-       version = "1.0.1.8";
-       sha256 = "1pzcabr8wghwjhfqwn6jvhdc7y4a96jqk0a52j000vli6379gn1s";
+       version = "1.0.1.10";
+       sha256 = "1filq9yr5lmwmn6m5ax0hpnyxlk160qbw2ikvjk4rs6078xwjwl9";
        libraryHaskellDepends = [
          ascii-char base bytestring hashable text
        ];
@@ -34012,8 +34061,8 @@ self: {
      }:
      mkDerivation {
        pname = "ascii-th";
-       version = "1.0.0.6";
-       sha256 = "06yhb1mb67i4cxnh0zjrklykxm8p76q0m7dyslv7w1cngs8mzdm5";
+       version = "1.0.0.8";
+       sha256 = "1685msxir8di3blnaykj036b640z8jsmlzvj1vwr86wf92g9gbdz";
        libraryHaskellDepends = [
          ascii-char ascii-superset base template-haskell
        ];
@@ -35172,8 +35221,8 @@ self: {
     ({ mkDerivation, base, stm }:
      mkDerivation {
        pname = "atomic-modify";
-       version = "0.1.0.2";
-       sha256 = "0j4zhr02bmkpar80vzxxj91qyz97wi7kia79q20a1y3sqbmx2sk5";
+       version = "0.1.0.3";
+       sha256 = "1kz3sbr4sh2c405plf0d4078j47kmvw0gwsw53vyvsyxwhm9db3z";
        libraryHaskellDepends = [ base stm ];
        description = "A typeclass for mutable references that have an atomic modify operation";
        license = lib.licenses.asl20;
@@ -35536,8 +35585,8 @@ self: {
        pname = "attoparsec";
        version = "0.13.2.5";
        sha256 = "0vv88m5m7ynjrg114psp4j4s69f1a5va3bvn293vymqrma7g7q11";
-       revision = "1";
-       editedCabalFile = "180r53j8z1p6z2l63qmhqyl1h27l5j3vrhanwfmwchrj7xf1k23w";
+       revision = "2";
+       editedCabalFile = "1syz7hf2h8c8vwqniymblnyciwqh4hvflfp1h0ywg7ad8q4gqr0v";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-prim scientific text
          transformers
@@ -35555,19 +35604,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "attoparsec_0_14_3" = callPackage
+  "attoparsec_0_14_4" = callPackage
     ({ mkDerivation, array, base, bytestring, case-insensitive
-     , containers, criterion, deepseq, directory, filepath, ghc-prim
-     , http-types, parsec, QuickCheck, quickcheck-unicode, scientific
-     , tasty, tasty-quickcheck, text, transformers, unordered-containers
-     , vector
+     , containers, deepseq, directory, filepath, ghc-prim, http-types
+     , parsec, QuickCheck, quickcheck-unicode, scientific, tasty
+     , tasty-bench, tasty-quickcheck, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "attoparsec";
-       version = "0.14.3";
-       sha256 = "1j7sy24d7kf9qb99cr36zchb4gsj3gcy4yflawxqnng31lqdxjal";
+       version = "0.14.4";
+       sha256 = "0v4yjz4qi8bwhbyavqxlhsfb1iv07v10gxi64khmsmi4hvjpycrz";
        revision = "1";
-       editedCabalFile = "1i3dwcq8970d7i7via7y0384hv7xqlajjlr9dlwlx1f29bx98pdn";
+       editedCabalFile = "149ihklmwnl13mmixq6iq5gzggkgqwsqrjlg2fshqwwbvbd4nn3r";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-prim scientific text
          transformers
@@ -35577,10 +35626,11 @@ self: {
          scientific tasty tasty-quickcheck text transformers vector
        ];
        benchmarkHaskellDepends = [
-         array base bytestring case-insensitive containers criterion deepseq
-         directory filepath ghc-prim http-types parsec scientific text
+         array base bytestring case-insensitive containers deepseq directory
+         filepath ghc-prim http-types parsec scientific tasty-bench text
          transformers unordered-containers vector
        ];
+       doHaddock = false;
        description = "Fast combinator parsing for bytestrings and text";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -35701,7 +35751,6 @@ self: {
        ];
        description = "Parse IP data types with attoparsec";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-iso8601" = callPackage
@@ -35721,6 +35770,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "attoparsec-iso8601_1_0_2_1" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat-batteries, text
+     , time, time-compat
+     }:
+     mkDerivation {
+       pname = "attoparsec-iso8601";
+       version = "1.0.2.1";
+       sha256 = "1zmj6v63xjj20ja50ffbi222yg513cnnqyxl76ybb4x98z9jld0k";
+       libraryHaskellDepends = [
+         attoparsec base base-compat-batteries text time time-compat
+       ];
+       description = "Parsing of ISO 8601 dates, originally from aeson";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "attoparsec-iteratee" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, iteratee
      , transformers
@@ -35838,7 +35903,6 @@ self: {
        ];
        description = "URI parser / printer using attoparsec";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-varword" = callPackage
@@ -35896,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 = [
@@ -36046,7 +36110,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "aura_3_2_6" = callPackage
+  "aura_3_2_7" = callPackage
     ({ mkDerivation, aeson, algebraic-graphs, aur, base, bytestring
      , containers, filepath, hashable, http-client, http-client-tls
      , http-types, language-bash, megaparsec, network-uri
@@ -36056,10 +36120,10 @@ self: {
      }:
      mkDerivation {
        pname = "aura";
-       version = "3.2.6";
-       sha256 = "07sry2nf41f101ldcfcf2x5pp0w7qvlvl6m4j5bbkvxp3rmsjbx2";
+       version = "3.2.7";
+       sha256 = "07ya2vd94grh6fs7k5kq25yh95xfk5mdqcgqq84anjz0phprq5z3";
        revision = "1";
-       editedCabalFile = "1ilxbi5pvg7ayyfww2y85y2503ihzr1w06w2sgbm3pk6qcjz95jg";
+       editedCabalFile = "16z28nkj5ladbbrg2h5sc1qcl3335g3i37x02h0by8bpqbkld6xr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -36091,10 +36155,8 @@ self: {
      }:
      mkDerivation {
        pname = "authenticate";
-       version = "1.3.5";
-       sha256 = "10df40ycd4r45p58xzdh0vcsa401909fa99nkgd18fx5alqh84sz";
-       revision = "1";
-       editedCabalFile = "0lmb1m5d1l2scnm2fqxfk348m8xqbc7f7kvk7zvpsvcdcpxinafz";
+       version = "1.3.5.1";
+       sha256 = "1rhbvdgwdr68gp13p5piddfdqf3l9lmx4w7k249lc98y23780c3x";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring case-insensitive
          conduit containers html-conduit http-conduit http-types network-uri
@@ -36276,8 +36338,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec";
-       version = "0.0.0.0";
-       sha256 = "0b8iwzmyf8l80i6p84yd4xhbxipbz10dn2428kmhyzlywjci6pps";
+       version = "0.0.1.0";
+       sha256 = "0g0k1c76nfkw8l5x6isz6fkci9bjn67qdpmjksf4qdfla28v35ha";
        libraryHaskellDepends = [
          aeson base bytestring containers hashable mtl scientific text time
          unordered-containers validity validity-scientific vector
@@ -36289,14 +36351,14 @@ self: {
 
   "autodocodec-openapi3" = callPackage
     ({ mkDerivation, aeson, autodocodec, base
-     , insert-ordered-containers, openapi3, scientific, text
+     , insert-ordered-containers, lens, openapi3, scientific, text
      }:
      mkDerivation {
        pname = "autodocodec-openapi3";
-       version = "0.0.0.0";
-       sha256 = "0fj4acmzrbv94zdm6h1c8r7z312gh6cmjj4gy16ykqhks965h9v9";
+       version = "0.1.0.0";
+       sha256 = "02ccbpjy4x2kai6wysqp2hjq97k58psn3739c6j1sqhcrlqwhwy5";
        libraryHaskellDepends = [
-         aeson autodocodec base insert-ordered-containers openapi3
+         aeson autodocodec base insert-ordered-containers lens openapi3
          scientific text
        ];
        description = "Autodocodec interpreters for openapi3";
@@ -36310,8 +36372,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec-schema";
-       version = "0.0.0.0";
-       sha256 = "0r5mhzfcyl0vzxzih9ckq21nly1i3y0ch2yj49idvw4df2wl5q8p";
+       version = "0.1.0.0";
+       sha256 = "0qk1fjb47whpbnj2w776sk5mnb1m4z1dq6fmxhvjih3xsrpjq7s3";
        libraryHaskellDepends = [
          aeson autodocodec base containers mtl text unordered-containers
          validity validity-aeson validity-containers validity-text
@@ -36326,8 +36388,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec-swagger2";
-       version = "0.0.0.0";
-       sha256 = "1z7ap55y0wzrlkfa2z420flb5ipb5nmwfcgmw8ld8arp1p1dq80m";
+       version = "0.0.1.0";
+       sha256 = "1h5866568wksnj8khpn50v8c2pysri668l0y4x1pawn92cq5brn4";
        libraryHaskellDepends = [
          aeson autodocodec base insert-ordered-containers scientific
          swagger2 text
@@ -36343,8 +36405,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec-yaml";
-       version = "0.0.0.0";
-       sha256 = "19ryi7kqxazng2iy5bdf7h8r2bvdydbb1f2fbxf5gzf1algb421z";
+       version = "0.1.0.0";
+       sha256 = "1wa51mas9jxzhig651i9r21fxahk8rdwg7waxx4ilayzdfhaic4b";
        libraryHaskellDepends = [
          autodocodec autodocodec-schema base bytestring containers path
          path-io safe-coloured-text scientific text unordered-containers
@@ -36368,6 +36430,21 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "autoexporter_2_0_0_1" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath }:
+     mkDerivation {
+       pname = "autoexporter";
+       version = "2.0.0.1";
+       sha256 = "1sdpfqd8ypi1d8bkxj695midhgi9ynahknwlc72gh718ah26xc18";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base Cabal directory filepath ];
+       executableHaskellDepends = [ base Cabal directory filepath ];
+       description = "Automatically re-export modules";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "autom" = callPackage
     ({ mkDerivation, base, bytestring, colour, ghc-prim, gloss
      , JuicyPixels, random, vector
@@ -36802,7 +36879,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "avro_0_5_2_1" = callPackage
+  "avro_0_6_0_1" = callPackage
     ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
      , binary, bytestring, containers, data-binary-ieee754, deepseq
      , directory, doctest, doctest-discover, extra, fail, gauge
@@ -36814,10 +36891,8 @@ self: {
      }:
      mkDerivation {
        pname = "avro";
-       version = "0.5.2.1";
-       sha256 = "0g10nbcxz5ff7rckbzwb4sxh1qqg6ay5zwakmlxrsfj9srg8dq2d";
-       revision = "1";
-       editedCabalFile = "14kq896191zvqnsl3hgfxlwi7ajvagrbsiv5l8hxckp5glh5825j";
+       version = "0.6.0.1";
+       sha256 = "1kl7dp0vm2klvijszjhwj2x9m4bmw044s085fyq86cszqrsrrn6w";
        libraryHaskellDepends = [
          aeson array base base16-bytestring bifunctors binary bytestring
          containers data-binary-ieee754 deepseq fail HasBigDecimal hashable
@@ -37020,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 = [
@@ -38020,8 +38097,8 @@ self: {
        pname = "b-tree";
        version = "0.1.4";
        sha256 = "17hcv85020dm5h3449bfa763bcbl723h17chah4418dby2ql5lxg";
-       revision = "2";
-       editedCabalFile = "0dvmbs7dd2crv5qiziry2dlrpvsvcgj9hbpq04rbd25pzpk28hqi";
+       revision = "3";
+       editedCabalFile = "1xri692y7l1q5aa5a9ijwhxjy3gf181paqrqf2lqgmbfzci2ii58";
        libraryHaskellDepends = [
          base binary bytestring containers directory errors exceptions
          filepath lens mmap mtl pipes pipes-interleave transformers vector
@@ -38559,8 +38636,8 @@ self: {
      }:
      mkDerivation {
        pname = "barbies";
-       version = "2.0.3.0";
-       sha256 = "0br4pd4vswyqfjkp5bj6svmqxwn3pfprrwxjmqda1z62dli5ps4m";
+       version = "2.0.3.1";
+       sha256 = "0gfzb52k3py1qnr2b6gshdg7c9aj1j9y2xsdhz86n01ybv81yg51";
        libraryHaskellDepends = [ base distributive transformers ];
        testHaskellDepends = [
          base distributive QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -38933,10 +39010,8 @@ self: {
      }:
      mkDerivation {
        pname = "base16";
-       version = "0.3.0.2";
-       sha256 = "16jkb0cmi7gi6plm4ycrk6a1ahjzzlgjf937cv8hld83pg713yvz";
-       revision = "1";
-       editedCabalFile = "1w7msrq6340iadhsmbdk1lz4il2lylkv0m9szicbx0ln980xx1fd";
+       version = "0.3.1.0";
+       sha256 = "1k7gp9nxzsd9d22ma7r4wbigck3bv71jycdjgr2n72bv5yzvrrzn";
        libraryHaskellDepends = [
          base bytestring deepseq primitive text text-short
        ];
@@ -39173,8 +39248,8 @@ self: {
        pname = "base64";
        version = "0.4.2.3";
        sha256 = "1hdqswxhgjrg8akl5v99hbm02gkpagsbx4i7fxbzdys1k0bj3gxw";
-       revision = "1";
-       editedCabalFile = "10s7nw79q385f74x76rh8cy0dxfj7idzrj77ng9x32bf8h7jpa6q";
+       revision = "2";
+       editedCabalFile = "153csdlayv1zh6xrjrdbdczj6xl5xnipa5pg4l3i3dmaxiynzgcp";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-byteorder text text-short
        ];
@@ -39365,6 +39440,8 @@ self: {
        pname = "basement-cd";
        version = "0.0.12.1";
        sha256 = "18w1rzn6p3a25y075rr1lmln74mfiv9dzgf01mipwjqfsirki15b";
+       revision = "1";
+       editedCabalFile = "12z794dzdyjkc9l55yw5c7y3knplsrkz1ndhn9bi87a8vn7kwvcq";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "Foundation scrap box of array & string";
        license = lib.licenses.bsd3;
@@ -39576,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
@@ -39836,8 +39975,8 @@ self: {
      }:
      mkDerivation {
        pname = "bcp47";
-       version = "0.2.0.4";
-       sha256 = "1a3z0kg88061sffawq19girs7q640jv6yn24mailz7c89ajcawj7";
+       version = "0.2.0.5";
+       sha256 = "1drfv04v5137c726c9bpz8lh1c0blb4mfnca4dgzai91pjk026sd";
        libraryHaskellDepends = [
          aeson base containers country generic-arbitrary iso639 megaparsec
          QuickCheck text
@@ -40080,10 +40219,8 @@ self: {
      }:
      mkDerivation {
        pname = "beam-core";
-       version = "0.9.1.0";
-       sha256 = "1rw3db9qmf08wi5gcd0cbsz5cpndf8cwkbzkh74gbwwpcpa7lg39";
-       revision = "1";
-       editedCabalFile = "1skynr0yg6ig6p9wic3dkbz88qrpnirljkb429yshwbzns55gimh";
+       version = "0.9.2.1";
+       sha256 = "0js10ai2dqdv6fm99ni6ckiq1rbq1wm82s73h81hln0qf1xnk3ra";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist free ghc-prim hashable
          microlens mtl network-uri scientific tagged text time vector
@@ -40104,8 +40241,8 @@ self: {
      }:
      mkDerivation {
        pname = "beam-migrate";
-       version = "0.5.1.0";
-       sha256 = "0wvbs7lda7pxsrymm2dv2km1w3snd8mjwijagn06ylrc2pjn6sjz";
+       version = "0.5.1.2";
+       sha256 = "1h1nb5y6lzc5zclkz925kr446kc05sdj94hbvpf41lypx0b133xv";
        libraryHaskellDepends = [
          aeson base beam-core bytestring containers deepseq dependent-map
          dependent-sum free ghc-prim hashable haskell-src-exts microlens mtl
@@ -40162,8 +40299,8 @@ self: {
      }:
      mkDerivation {
        pname = "beam-postgres";
-       version = "0.5.1.0";
-       sha256 = "17npmh5agnxy12n93hrpi83al80csmvigbm3mlsvx92l4mcif2ml";
+       version = "0.5.2.1";
+       sha256 = "028aqd7r49avmwlf97612f98a5maw01l0d5vlbg0nj7kqi03ghj4";
        libraryHaskellDepends = [
          aeson attoparsec base beam-core beam-migrate bytestring
          case-insensitive conduit free hashable haskell-src-exts lifted-base
@@ -40188,8 +40325,8 @@ self: {
      }:
      mkDerivation {
        pname = "beam-sqlite";
-       version = "0.5.1.0";
-       sha256 = "1vfrma27rchq3p4h0p21m3lhz46yxyagbrb39r9jb8w20whja2gr";
+       version = "0.5.1.2";
+       sha256 = "0d5s6r54aamkr91ji3z05cn7vjmbl0xaysnx3dmalx75r5jhmhzq";
        libraryHaskellDepends = [
          aeson attoparsec base beam-core beam-migrate bytestring dlist free
          hashable monad-control mtl network-uri scientific sqlite-simple
@@ -40449,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 = [
@@ -40480,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 = [
@@ -40496,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";
@@ -40966,6 +41098,8 @@ self: {
        pname = "bidirectionalization-combined";
        version = "0.1.0.1";
        sha256 = "0bclazwhg3ra7zv19xfx5rw2z3p8h8scw5r4m281524qzrkm9j6m";
+       revision = "1";
+       editedCabalFile = "1fvqr3g7i57ybszqaa279nvrciw3yv1sj8hpjs3pa0z0cvxvvr42";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -41244,6 +41378,22 @@ self: {
        license = lib.licenses.gpl2Plus;
      }) {};
 
+  "bin_0_1_2" = callPackage
+    ({ mkDerivation, base, boring, dec, deepseq, fin, hashable
+     , QuickCheck, some
+     }:
+     mkDerivation {
+       pname = "bin";
+       version = "0.1.2";
+       sha256 = "0idm2ix4wv1ppr3fjvd8xdlbkhk6lq4rvfs9dv615lmds4gbzm72";
+       libraryHaskellDepends = [
+         base boring dec deepseq fin hashable QuickCheck some
+       ];
+       description = "Bin: binary natural numbers";
+       license = lib.licenses.gpl2Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "binary_0_8_9_0" = callPackage
     ({ mkDerivation, array, attoparsec, base, base-orphans, bytestring
      , Cabal, cereal, containers, criterion, deepseq, directory
@@ -41457,8 +41607,8 @@ self: {
        pname = "binary-instances";
        version = "1.0.2";
        sha256 = "10z29k35clq74ma2f0yrkbyf14wdax1zzgb6mn26ja4vp9f5wc14";
-       revision = "1";
-       editedCabalFile = "1k0dygivh0qrc9w9hck1qf4bmwwsni0kv16rjpidvp3nv3s45549";
+       revision = "2";
+       editedCabalFile = "1f9db18466pbnn8hxhbwqb7pf5qmbmc7szpcdhy77n825pvhjyi8";
        libraryHaskellDepends = [
          aeson base binary binary-orphans case-insensitive hashable
          scientific tagged text text-binary time-compat unordered-containers
@@ -41490,6 +41640,8 @@ self: {
        ];
        description = "Read and write values of types that implement Binary";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "binary-list" = callPackage
@@ -41568,8 +41720,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary-parser";
-       version = "0.5.7";
-       sha256 = "03w8xjy45kvakxk085234gi9mhg5vhz6394kh8bhd275qwf4g8cz";
+       version = "0.5.7.1";
+       sha256 = "1k3rc1szwahc5w2lxddnjpd4zkfi2hmcq398sixf2qx44f2kk6vp";
        libraryHaskellDepends = [ base bytestring mtl text transformers ];
        testHaskellDepends = [
          QuickCheck quickcheck-instances rerebase tasty tasty-hunit
@@ -42337,8 +42489,8 @@ self: {
     ({ mkDerivation, base, bindings-DSL }:
      mkDerivation {
        pname = "bindings-libpci";
-       version = "0.4.0.1";
-       sha256 = "01wsk8qr1wky0x5pmpw3nljrjbxyf3hd2kgd5vsmcn71gj436hl9";
+       version = "0.4.0.2";
+       sha256 = "13fyg463zpbgwl8jpx6x7g63alrlb2qlmcqqvl3vhaycgxnnxw1s";
        libraryHaskellDepends = [ base bindings-DSL ];
        description = "Low level bindings to libpci";
        license = lib.licenses.bsd3;
@@ -43136,54 +43288,47 @@ self: {
   "bisc" = callPackage
     ({ mkDerivation, base, bytestring, configurator, data-default
      , directory, exceptions, filepath, leveldb-haskell, mtl
-     , optparse-applicative, selda, selda-sqlite, text
+     , optparse-applicative, resourcet, selda, selda-sqlite, text, unix
      }:
      mkDerivation {
        pname = "bisc";
-       version = "0.4.0.0";
-       sha256 = "1x0i3yjgfnhw5nsx2fr150anf199z29g630xv58315xz6a526js0";
+       version = "0.4.1.0";
+       sha256 = "06jb8kikpdc9fz5ndy8qmqv1zmvxjg130wvsh23hhp8a01n4pxca";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base bytestring configurator data-default directory exceptions
-         filepath leveldb-haskell mtl optparse-applicative selda
-         selda-sqlite text
+         filepath leveldb-haskell mtl optparse-applicative resourcet selda
+         selda-sqlite text unix
        ];
        description = "A small tool that clears cookies (and more)";
        license = lib.licenses.gpl3Only;
      }) {};
 
   "biscuit-haskell" = callPackage
-    ({ mkDerivation, async, attoparsec, base, base16-bytestring, base64
-     , bytestring, cereal, containers, libsodium, mtl
-     , parser-combinators, primitive, protobuf, random, regex-tdfa
+    ({ mkDerivation, aeson, async, attoparsec, base, base16-bytestring
+     , base64, bytestring, cereal, containers, criterion, cryptonite
+     , memory, mtl, parser-combinators, protobuf, random, regex-tdfa
      , tasty, tasty-hunit, template-haskell, text, th-lift-instances
      , time, validation-selective
      }:
      mkDerivation {
        pname = "biscuit-haskell";
-       version = "0.1.1.0";
-       sha256 = "1sq2icbxk6wg4fpsdy0id08qz6nsi175gw0akimppl36b1bmn3sv";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.2.0.1";
+       sha256 = "1qvryksscidp5g9aax44i2q50yddkymrmrsyxc1qvd6wc2mhvqkz";
        libraryHaskellDepends = [
          async attoparsec base base16-bytestring base64 bytestring cereal
-         containers libsodium mtl parser-combinators primitive protobuf
-         random regex-tdfa template-haskell text th-lift-instances time
-         validation-selective
-       ];
-       executableHaskellDepends = [
-         async attoparsec base base16-bytestring base64 bytestring cereal
-         containers libsodium mtl parser-combinators primitive protobuf
-         random template-haskell text th-lift-instances time
+         containers cryptonite memory mtl parser-combinators protobuf random
+         regex-tdfa template-haskell text th-lift-instances time
          validation-selective
        ];
        testHaskellDepends = [
-         async attoparsec base base16-bytestring base64 bytestring cereal
-         containers libsodium mtl parser-combinators primitive protobuf
-         random tasty tasty-hunit template-haskell text th-lift-instances
-         time validation-selective
+         aeson async attoparsec base base16-bytestring base64 bytestring
+         cereal containers cryptonite mtl parser-combinators protobuf random
+         tasty tasty-hunit template-haskell text th-lift-instances time
+         validation-selective
        ];
+       benchmarkHaskellDepends = [ base criterion ];
        description = "Library support for the Biscuit security token";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -43193,18 +43338,18 @@ self: {
   "biscuit-servant" = callPackage
     ({ mkDerivation, base, biscuit-haskell, bytestring, hspec
      , http-client, mtl, servant, servant-client, servant-client-core
-     , servant-server, text, wai, warp
+     , servant-server, text, time, wai, warp
      }:
      mkDerivation {
        pname = "biscuit-servant";
-       version = "0.1.1.0";
-       sha256 = "1rkqmn037d7xc0i5w1rik4d2agb6r77fg3c6207i0pgasbb17zsv";
+       version = "0.2.0.1";
+       sha256 = "173qw2g8i8wib0qaw2z4g68yymc21gncfhbj9ahpzgf0l06byc7j";
        libraryHaskellDepends = [
          base biscuit-haskell bytestring mtl servant-server text wai
        ];
        testHaskellDepends = [
          base biscuit-haskell bytestring hspec http-client servant
-         servant-client servant-client-core servant-server text warp
+         servant-client servant-client-core servant-server text time warp
        ];
        description = "Servant support for the Biscuit security token";
        license = lib.licenses.bsd3;
@@ -43235,20 +43380,20 @@ self: {
 
   "bishbosh" = callPackage
     ({ mkDerivation, array, base, containers, data-default, deepseq
-     , directory, extra, factory, filepath, HUnit, hxt, hxt-relaxng, mtl
-     , parallel, polyparse, process, QuickCheck, random, time, toolshed
-     , unix
+     , directory, extra, factory, filepath, ghc-prim, HUnit, hxt
+     , hxt-relaxng, mtl, parallel, polyparse, process, QuickCheck
+     , random, time, toolshed, unix
      }:
      mkDerivation {
        pname = "bishbosh";
-       version = "0.1.3.1";
-       sha256 = "17xbfcmbi8fx7ddxqc6h93c729bnx0vpanydbd2w3h24i2v75aqx";
+       version = "0.1.4.0";
+       sha256 = "1gnydsskfs0ws0pa8kl4xcd2c7n3bdq6n3kf2lxnwq6s23kdj9by";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base containers data-default deepseq extra factory filepath
-         hxt mtl parallel polyparse process random time toolshed
+         ghc-prim hxt mtl parallel polyparse process random time toolshed
        ];
        executableHaskellDepends = [
          array base containers data-default deepseq directory extra factory
@@ -44341,8 +44486,8 @@ self: {
        pname = "blank-canvas";
        version = "0.7.3";
        sha256 = "1g10959ly5nv2xfhax4pamzxnxkqbniahplc5za8k5r4nq1vjrm2";
-       revision = "4";
-       editedCabalFile = "0lxslpm4s98ddh12py9810k2q872vizphfrszp8gxkkvfzflbb5b";
+       revision = "5";
+       editedCabalFile = "0ls60723f859g8rp4974jpi8a5zdcaaxkm47mcsnhzxkswn0hjmj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base-compat-batteries base64-bytestring bytestring
@@ -44475,6 +44620,7 @@ self: {
        description = "Blog in LaTeX";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "blaze" = callPackage
@@ -44508,6 +44654,8 @@ self: {
        pname = "blaze-builder";
        version = "0.4.2.2";
        sha256 = "0rxg6vjr0ji6g1nngrqpl4k1q9w66fwkhld9cqm5yfhx0a69kp1c";
+       revision = "1";
+       editedCabalFile = "026vxh94h2hwncy1mn51xzfpnhj8ijp5xc8fpq7dwc63fkrps0gh";
        libraryHaskellDepends = [ base bytestring deepseq ghc-prim text ];
        testHaskellDepends = [
          base bytestring HUnit QuickCheck test-framework
@@ -44591,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
        ];
@@ -44683,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
@@ -44935,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
@@ -44959,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 = [
@@ -45396,6 +45544,8 @@ self: {
        pname = "bmp";
        version = "1.2.6.3";
        sha256 = "1k6s5z520dadj38y7ja0m4syrg094gyq14c63i6wx2701zj3viiw";
+       revision = "1";
+       editedCabalFile = "0ghc3klxfz5v8rb3rwblrnxmxfafplxrd9gc0y975g8k1q71p44k";
        libraryHaskellDepends = [ base binary bytestring ];
        description = "Read and write uncompressed BMP image files";
        license = lib.licenses.mit;
@@ -45488,6 +45638,17 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "bodhi" = callPackage
+    ({ mkDerivation, aeson, base, http-query, text, time }:
+     mkDerivation {
+       pname = "bodhi";
+       version = "0.1.0";
+       sha256 = "0jgvfys9wigkhavl17n6pq06nxfnaw0r3bpk93phvhb0vrxdl4wl";
+       libraryHaskellDepends = [ aeson base http-query text time ];
+       description = "Fedora Bodhi REST client library";
+       license = lib.licenses.mit;
+     }) {};
+
   "bogocopy" = callPackage
     ({ mkDerivation, base, directory, filemanip, filepath
      , optparse-applicative, shelly, text, transformers, unix
@@ -46291,22 +46452,20 @@ self: {
      }) {};
 
   "bound-extras" = callPackage
-    ({ mkDerivation, base, bound, containers, deepseq, filepath
-     , hashable, pretty, tasty, tasty-golden, text-short, transformers
-     , utf8-string
+    ({ mkDerivation, adjunctions, base, bound, containers, deepseq
+     , filepath, hashable, pretty, tasty, tasty-golden, text-short
+     , transformers, utf8-string
      }:
      mkDerivation {
        pname = "bound-extras";
-       version = "0.0.1";
-       sha256 = "0f49yqz5s5h4f3m3i7kpm2fqnd42nl4dbl24lvm6z3nb8qrx6ynq";
-       revision = "3";
-       editedCabalFile = "10vv6dsfia3fdclvnhp8q76s3zgmxwzi4bvvii6g6ic8wid6asvg";
+       version = "0.0.2";
+       sha256 = "1mrsr75yd55p3rgqqjlhs0f498qgbmj12ldadj4frmkhjqf3vf9y";
        libraryHaskellDepends = [
          base bound deepseq hashable transformers
        ];
        testHaskellDepends = [
-         base bound containers filepath pretty tasty tasty-golden text-short
-         transformers utf8-string
+         adjunctions base bound containers filepath pretty tasty
+         tasty-golden text-short transformers utf8-string
        ];
        description = "ScopeH and ScopeT extras for bound";
        license = lib.licenses.bsd3;
@@ -46423,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;
@@ -46442,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;
@@ -46459,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;
@@ -46745,7 +46898,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "brick_0_65" = callPackage
+  "brick_0_67" = callPackage
     ({ mkDerivation, base, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, dlist, exceptions
      , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm
@@ -46754,8 +46907,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.65";
-       sha256 = "1yk9r5igg5p7aixlpls167z2fajq3vp0xxqcjw4cg168g20lnhbs";
+       version = "0.67";
+       sha256 = "02f8qmc3y2pyqysc9qan2l05vk3ryvlc7mgs8hdh18fp96x88669";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47005,7 +47158,7 @@ self: {
        license = lib.licenses.agpl3Only;
      }) {};
 
-  "brittany_0_14_0_0" = callPackage
+  "brittany_0_14_0_2" = callPackage
     ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs
      , containers, czipwith, data-tree-print, deepseq, directory, extra
      , filepath, ghc, ghc-boot, ghc-boot-th, ghc-exactprint, hspec
@@ -47014,8 +47167,8 @@ self: {
      }:
      mkDerivation {
        pname = "brittany";
-       version = "0.14.0.0";
-       sha256 = "10xphm9szdflwqkfbhz9pngiq0sn5jmysa015dhqc3prhz4qha2b";
+       version = "0.14.0.2";
+       sha256 = "03jnjmp4hy0g22h0jq5md60iz5y94fzhdjx849s89mvb28pdfd1n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47047,10 +47200,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan";
-       version = "0.2.1.1";
-       sha256 = "01r57v2ghfkv37cwh64zs1lrz1rd7is3pa5k7y8h16ws1ddglirg";
-       revision = "2";
-       editedCabalFile = "0zpbfdgxs3b7wx2qgvrs5y01z8lzvww2b7bmyrg5cj6p5xznllk1";
+       version = "0.2.1.2";
+       sha256 = "1zsrafz3q9l8np8wafmrbi8ilwwsgnzkc8jfjkjfgs4kq65yglqw";
        libraryHaskellDepends = [ base transformers unliftio-core ];
        benchmarkHaskellDepends = [ async base criterion deepseq stm ];
        description = "Closable, fair, single-wakeup channel type that avoids 0 reader space leaks";
@@ -47063,10 +47214,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-conduit";
-       version = "0.2.1.1";
-       sha256 = "0w0f4skprhnm1x4vzchkgjgjljzqizpb678251jgj65jsg1mnyfc";
-       revision = "1";
-       editedCabalFile = "0pk09frf24jg2id13l1nx47wwvf2z4qjqv17y7ji036iwp9xk6nw";
+       version = "0.2.1.2";
+       sha256 = "0mwd82arm50zwz559qzxi70ia9d4h5kjwdvhk09jf966hd0knnmm";
        libraryHaskellDepends = [
          base broadcast-chan conduit resourcet transformers unliftio-core
        ];
@@ -47075,6 +47224,7 @@ self: {
        ];
        description = "Conduit-based parallel streaming code for broadcast-chan";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "broadcast-chan-pipes" = callPackage
@@ -47083,16 +47233,15 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-pipes";
-       version = "0.2.1";
-       sha256 = "0yifpd97cihagflmh0xs0wcl541k89hick4h9hh8zrah72g71fqr";
-       revision = "1";
-       editedCabalFile = "0zz05sc0ny5czzyw71c1fdzlfawjwhznbr8z683bf83821ra5fcv";
+       version = "0.2.1.1";
+       sha256 = "06nghcddlcnc97p3464fsgcfvjlsnxv7i7khzws3g3myl8hrd89c";
        libraryHaskellDepends = [ base broadcast-chan pipes pipes-safe ];
        testHaskellDepends = [
          base broadcast-chan-tests containers foldl pipes pipes-safe
        ];
        description = "Pipes-based parallel streaming code for broadcast-chan";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "broadcast-chan-tests" = callPackage
@@ -47103,10 +47252,10 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-tests";
-       version = "0.2.1.1";
-       sha256 = "0qx8j9sfky5qvrxrn4is9sja4qh6jh7jahq3zkyyq3a54jkwc8d3";
-       revision = "4";
-       editedCabalFile = "04hgr1ik1z9v317x8rw6amxqrmc94g6cghzxghddszqismz44gaq";
+       version = "0.2.1.2";
+       sha256 = "08qjvhdx2pwgj5kcl5fmg5qdlzbdchxjihmqch4sgv48kcga06nv";
+       revision = "1";
+       editedCabalFile = "1x2bmnkybh627yf22ackvqh3xfhdxv88ijsl8ryg8qhr6qm51jfj";
        libraryHaskellDepends = [
          async base broadcast-chan clock containers optparse-applicative
          paramtree stm tagged tasty tasty-golden tasty-hunit tasty-travis
@@ -47117,6 +47266,8 @@ self: {
        ];
        description = "Helpers for generating tests for broadcast-chan";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "broccoli" = callPackage
@@ -47711,8 +47862,8 @@ self: {
      }:
      mkDerivation {
        pname = "bugsnag-haskell";
-       version = "0.0.4.2";
-       sha256 = "0q7my31jq0rgpj08zxylvzmml5mms9f1hiavcfy4rpqkjqv8kwir";
+       version = "0.0.4.3";
+       sha256 = "098bmbv7wgpjqp8yys0bpsf6q5m4940g2g9n50mjam7lwnxwk1gg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47735,8 +47886,8 @@ self: {
      }:
      mkDerivation {
        pname = "bugsnag-hs";
-       version = "0.2.0.7";
-       sha256 = "0wrc9lmx3r3l5hz0avr99f9fcjla5bi4b3iziv59qm93m882hmx3";
+       version = "0.2.0.8";
+       sha256 = "1qnbkp2c5fhv6b9mq3xr849if418qihy6xczzlsf7q4y0vx36kg9";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring http-client text time unordered-containers
@@ -48058,6 +48209,27 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "burrito_2_0_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec, parsec
+     , QuickCheck, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "burrito";
+       version = "2.0.1.0";
+       sha256 = "1b8c4sdk60sj20rrrhra4hx0f1y1injih4xcg4q19fgaf04chr91";
+       libraryHaskellDepends = [
+         base bytestring containers parsec template-haskell text
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec parsec QuickCheck template-haskell
+         text transformers
+       ];
+       description = "Parse and render URI templates";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "burst-detection" = callPackage
     ({ mkDerivation, base, criterion, deepseq }:
      mkDerivation {
@@ -48405,8 +48577,8 @@ self: {
      }:
      mkDerivation {
        pname = "byte-count-reader";
-       version = "0.10.1.7";
-       sha256 = "0rfrz11zhba52jv16k9ml6f4bdy5rlkslckdaq71nm4y8zw4388d";
+       version = "0.10.1.8";
+       sha256 = "1hnjn160xjvhk7mpi1l5sb5jv39660fhysrz1qg8azjgbykwpcja";
        libraryHaskellDepends = [ base extra parsec parsec-numbers text ];
        testHaskellDepends = [
          base extra hspec parsec parsec-numbers text
@@ -48557,8 +48729,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytepatch";
-       version = "0.3.0";
-       sha256 = "13hy2107nlhglafc6qk4q8f8ds2ypd1cmjw2x1ma08yznapljsy4";
+       version = "0.3.1";
+       sha256 = "0qfiai8kfrvrxv3s2p9ik3f9mxyyn2k5743agvhinfpjb6bl1pi6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -48587,8 +48759,8 @@ self: {
        pname = "bytes";
        version = "0.17.1";
        sha256 = "1qmps8vvg98wfm9xm734hwzi56bsk8r1zc6vx20rlhc79krv5s9s";
-       revision = "2";
-       editedCabalFile = "1gayyk4sgd8r48x2cgil8392wlxir0qq059m5k966jrwrqdqg2m4";
+       revision = "3";
+       editedCabalFile = "1lagk22sacal7dbygp4cgfixq7j8daybn19x0xmrh9d89xgsl7vs";
        libraryHaskellDepends = [
          base binary binary-orphans bytestring cereal containers hashable
          mtl scientific text time transformers transformers-compat
@@ -48655,7 +48827,6 @@ self: {
        ];
        description = "Nonresumable byte parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bytestring_0_11_2_0" = callPackage
@@ -48809,8 +48980,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytestring-encoding";
-       version = "0.1.1.0";
-       sha256 = "0m2w1nvj5izmb4j08c57lk89i3rnhhb0n0rz511pb6s75ijqrb71";
+       version = "0.1.2.0";
+       sha256 = "1j1gli2aa7kflirvnaqdwg212s85v4j2fak5qy79y8zsb3l62p44";
        libraryHaskellDepends = [ base bytestring text ];
        testHaskellDepends = [
          base bytestring deepseq QuickCheck tasty tasty-hunit
@@ -49281,8 +49452,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "c-enum";
-       version = "0.1.0.1";
-       sha256 = "1mg01qzmwaks9ix0269kpvjsa60fkvfc5hjn4wb47c7a6zam2rx0";
+       version = "0.1.1.0";
+       sha256 = "0ynq77s8xwl5xqkc3c99ygj3h7rkfmkf4040h1skiz8pd2l8v48i";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base template-haskell ];
        description = "To make a type corresponding to an enum of C language";
@@ -49351,8 +49522,8 @@ self: {
     ({ mkDerivation, array, base, primitive, template-haskell }:
      mkDerivation {
        pname = "c-struct";
-       version = "0.1.0.1";
-       sha256 = "0932b00zhhss86baj6cqhvn4f66l6z8dax58l4gbaif81w9281zw";
+       version = "0.1.1.1";
+       sha256 = "0aan4j0zfam28phl8vgrgncbz275haq9ls0d2yisv2r2in6c99lx";
        libraryHaskellDepends = [ array base primitive template-haskell ];
        testHaskellDepends = [ array base primitive template-haskell ];
        description = "To make a wrapper for struct of C language";
@@ -49445,6 +49616,8 @@ self: {
        pname = "c2hs";
        version = "0.28.8";
        sha256 = "0k482wv94jbpwd96a2c2lc7qz9k8072slx7l7943472nzk7k41ir";
+       revision = "1";
+       editedCabalFile = "0hbv1j9b04gm617c5xqndr4iqidabwdpcn2dcrnaacc04ylchvl2";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -49963,6 +50136,8 @@ self: {
        pname = "cabal-flatpak";
        version = "0.1.0.3";
        sha256 = "1k0fzhyvlcq1l09fnf3f3wig4g9l61wsm1dmsjd3nwsgh52xb37v";
+       revision = "1";
+       editedCabalFile = "1468f116hza0l9z4n4zqy1y65q322ypx5kh646fsfi78fimwj34a";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -50202,35 +50377,6 @@ self: {
        broken = true;
      }) {};
 
-  "cabal-install-parsers_0_4_2" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
-     , binary, binary-instances, bytestring, Cabal, containers
-     , criterion, cryptohash-sha256, deepseq, directory, filepath, lukko
-     , network-uri, parsec, pretty, tar, tasty, tasty-golden
-     , tasty-hunit, text, time, transformers, tree-diff
-     }:
-     mkDerivation {
-       pname = "cabal-install-parsers";
-       version = "0.4.2";
-       sha256 = "08ny95sryii4nzyy8b2zf15vk329y84gbvpy7302hnjxanc6awx5";
-       libraryHaskellDepends = [
-         aeson base base16-bytestring binary binary-instances bytestring
-         Cabal containers cryptohash-sha256 deepseq directory filepath lukko
-         network-uri parsec pretty tar text time transformers
-       ];
-       testHaskellDepends = [
-         ansi-terminal base base16-bytestring bytestring Cabal containers
-         directory filepath pretty tar tasty tasty-golden tasty-hunit
-         tree-diff
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring Cabal containers criterion directory filepath
-       ];
-       description = "Utilities to work with cabal-install files";
-       license = "GPL-2.0-or-later AND BSD-3-Clause";
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "cabal-install-parsers" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
      , binary, binary-instances, bytestring, Cabal, containers
@@ -50240,10 +50386,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-install-parsers";
-       version = "0.4.3";
-       sha256 = "0gpnfv80rhrws12b1klyi5fkqvn8pgnl2hxh5fbnfp8fbrwklfjq";
-       revision = "1";
-       editedCabalFile = "18ngagasjind29r0840rnsjzzki92q01yi1p0fw4i5p129mczc8n";
+       version = "0.4.4";
+       sha256 = "0yr2yqnbzsx191sp0s1p4i4a4hjgnscm2f0pl9zfdszlyhbvdnyl";
        libraryHaskellDepends = [
          aeson base base16-bytestring binary binary-instances bytestring
          Cabal containers cryptohash-sha256 deepseq directory filepath lukko
@@ -50404,6 +50548,8 @@ self: {
        pname = "cabal-plan";
        version = "0.7.2.1";
        sha256 = "0n45bakzf1r1nyvs76fmrj0cf74knqnpyb2i82baxia0falbp48r";
+       revision = "1";
+       editedCabalFile = "1pb8r65f279m9ps67mkkcbcpbprbj7pd12b9m2s64l8fgn9in422";
        configureFlags = [ "-fexe" ];
        isLibrary = true;
        isExecutable = true;
@@ -50797,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
@@ -51027,8 +51194,8 @@ self: {
      }:
      mkDerivation {
        pname = "cached-json-file";
-       version = "0.1.0";
-       sha256 = "1w1zxzcbyf4c0p5hg4j2b531r6vg95745ah3qqwiafwb4z11l7ih";
+       version = "0.1.1";
+       sha256 = "03pxi16byayjzqj1v930939bnbs2ldv4lvn0c0gyq2xfnmalbhw7";
        libraryHaskellDepends = [
          aeson base bytestring directory filepath http-query time
          xdg-basedir
@@ -51089,35 +51256,39 @@ self: {
      }) {};
 
   "cachix" = callPackage
-    ({ mkDerivation, async, base, base64-bytestring, bytestring
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
      , cachix-api, concurrent-extra, conduit, conduit-extra, containers
      , cookie, cryptonite, dhall, directory, ed25519, filepath, fsnotify
      , hercules-ci-cnix-store, here, hspec, hspec-discover, http-client
-     , http-client-tls, http-conduit, http-types, lzma-conduit
-     , megaparsec, memory, mmorph, netrc, nix, optparse-applicative
-     , process, protolude, resourcet, retry, safe-exceptions, servant
-     , servant-auth, servant-auth-client, servant-client
-     , servant-client-core, servant-conduit, stm, temporary, text, unix
-     , uri-bytestring, vector, versions
+     , http-client-tls, http-conduit, http-types, inline-c-cpp, katip
+     , lzma-conduit, megaparsec, memory, mmorph, netrc, nix
+     , optparse-applicative, pretty-terminal, process, protolude
+     , resourcet, retry, safe-exceptions, servant, servant-auth
+     , servant-auth-client, servant-client, servant-client-core
+     , servant-conduit, stm, stm-conduit, systemd, temporary, text, time
+     , unix, unordered-containers, uri-bytestring, uuid, vector
+     , versions, websockets, wuss
      }:
      mkDerivation {
        pname = "cachix";
-       version = "0.6.1";
-       sha256 = "0fgm7035ahlgl3vbk0lqf3l07wagsykmw9z0pkzqqcwh1wlv1np7";
+       version = "0.7.0";
+       sha256 = "10yyzk26hmx4xqv4zc83a5m69bj88fd6v2fs76nfbqc2kcpiis6k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base base64-bytestring bytestring cachix-api concurrent-extra
-         conduit conduit-extra containers cookie cryptonite dhall directory
-         ed25519 filepath fsnotify hercules-ci-cnix-store here http-client
-         http-client-tls http-conduit http-types lzma-conduit megaparsec
-         memory mmorph netrc optparse-applicative process protolude
-         resourcet retry safe-exceptions servant servant-auth
-         servant-auth-client servant-client servant-client-core
-         servant-conduit stm text unix uri-bytestring vector versions
+         aeson async base base64-bytestring bytestring cachix-api
+         concurrent-extra conduit conduit-extra containers cookie cryptonite
+         dhall directory ed25519 filepath fsnotify hercules-ci-cnix-store
+         here http-client http-client-tls http-conduit http-types
+         inline-c-cpp katip lzma-conduit megaparsec memory mmorph netrc
+         optparse-applicative pretty-terminal process protolude resourcet
+         retry safe-exceptions servant servant-auth servant-auth-client
+         servant-client servant-client-core servant-conduit stm stm-conduit
+         systemd temporary text time unix unordered-containers
+         uri-bytestring uuid vector versions websockets wuss
        ];
        libraryPkgconfigDepends = [ nix ];
-       executableHaskellDepends = [ base cachix-api ];
+       executableHaskellDepends = [ base cachix-api safe-exceptions ];
        executableToolDepends = [ hspec-discover ];
        testHaskellDepends = [
          base cachix-api directory here hspec protolude servant-auth-client
@@ -51129,24 +51300,24 @@ self: {
      }) {inherit (pkgs) nix;};
 
   "cachix-api" = callPackage
-    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
+    ({ mkDerivation, aeson, async, base, base16-bytestring, bytestring
      , conduit, cookie, cryptonite, deepseq, exceptions, hspec
      , hspec-discover, http-api-data, http-media, jose, lens, memory
      , nix-narinfo, protolude, resourcet, servant, servant-auth
      , servant-auth-swagger, servant-client, servant-swagger
      , servant-swagger-ui-core, string-conv, swagger2, text, time
-     , transformers
+     , transformers, unordered-containers, uuid, websockets
      }:
      mkDerivation {
        pname = "cachix-api";
-       version = "0.6.0";
-       sha256 = "0q6kl5lb05c1m62yqj0d8vimlghhrc3avl3bz5wjp70azs28jcd3";
+       version = "0.7.0";
+       sha256 = "0l9bvzpf0g3rnr417gvxq0lgbmi3pn3cr9ap2m7sbwvikal8wlxg";
        libraryHaskellDepends = [
-         aeson base base16-bytestring bytestring conduit cookie cryptonite
-         deepseq exceptions http-api-data http-media jose lens memory
-         nix-narinfo protolude resourcet servant servant-auth
+         aeson async base base16-bytestring bytestring conduit cookie
+         cryptonite deepseq exceptions http-api-data http-media jose lens
+         memory nix-narinfo protolude resourcet servant servant-auth
          servant-auth-swagger servant-client string-conv swagger2 text time
-         transformers
+         transformers unordered-containers uuid websockets
        ];
        testHaskellDepends = [
          aeson base base16-bytestring bytestring conduit cookie cryptonite
@@ -51195,8 +51366,8 @@ self: {
      }:
      mkDerivation {
        pname = "caerbannog";
-       version = "0.6.0.5";
-       sha256 = "048d46g7xnqbkb061hs3ix8rzpp1mwww9iznpgrrkvimafb0r0m0";
+       version = "1.0.0.0";
+       sha256 = "1sfk4kh7jk762dqfp4c0hq9jqmp1r0x0727vp0cp48wsp9yn4d8f";
        libraryHaskellDepends = [ base binary bytestring ];
        testHaskellDepends = [
          base binary bytestring hspec QuickCheck random
@@ -51461,8 +51632,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.31.0";
-       sha256 = "1yk0b54m243vz4kiqw70w2hc1p6zz4z0z852slgwp3455q02qy18";
+       version = "0.2.0.0";
+       sha256 = "0c3nfi2vsj9h64l9j3pf42fgjgs7sh5ks7i1ymkfvmb2d3yyff6x";
        libraryHaskellDepends = [
          aeson async base bytestring calamity-commands colour
          concurrent-extra connection containers data-default-class
@@ -51486,8 +51657,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity-commands";
-       version = "0.1.3.0";
-       sha256 = "0vhv63vapjc51hx6g9mjr5vgxlsfkss828wxcfjf5jd98qdv96dj";
+       version = "0.2.0.0";
+       sha256 = "1hzaqwgvz6vlbpk8vzq1nyx1b598s91xk0pxmclikm94f1fq98d7";
        libraryHaskellDepends = [
          base generic-lens lens megaparsec polysemy polysemy-plugin text
          text-show unordered-containers
@@ -51794,8 +51965,8 @@ self: {
      }:
      mkDerivation {
        pname = "candid";
-       version = "0.3";
-       sha256 = "0zq29zddkkwvlyz9qmxl942ml53m6jawl4m5rkb2510glbkcvr5x";
+       version = "0.3.1";
+       sha256 = "0swz07qn3829dpr850973baj1ki5pizlh90gy4xrp1d9bsvwy4sq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -52209,6 +52380,75 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "captcha-2captcha" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, captcha-core
+     , data-default, errors, extra, http-client, lens, lens-aeson, mtl
+     , o-clock, string-conversions, string-interpolate, tasty
+     , tasty-hunit, text, unliftio, wreq
+     }:
+     mkDerivation {
+       pname = "captcha-2captcha";
+       version = "0.1.0.0";
+       sha256 = "19r7977vkbyd6if9bvh9m2vv2wmhynly6qzsq7ndckn4yw4xc5wx";
+       libraryHaskellDepends = [
+         aeson base bytestring captcha-core errors extra http-client lens
+         lens-aeson mtl o-clock string-conversions string-interpolate text
+         unliftio wreq
+       ];
+       testHaskellDepends = [
+         aeson base bytestring captcha-core data-default errors extra
+         http-client lens lens-aeson mtl o-clock string-conversions
+         string-interpolate tasty tasty-hunit text unliftio wreq
+       ];
+       description = "A package for integrating a variety of captcha solving services";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "captcha-capmonster" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, bytestring, captcha-core
+     , data-default, errors, extra, http-client, lens, lens-aeson, mtl
+     , o-clock, string-conversions, string-interpolate, tasty
+     , tasty-hunit, text, unliftio, wreq
+     }:
+     mkDerivation {
+       pname = "captcha-capmonster";
+       version = "0.1.0.0";
+       sha256 = "0ps7dwbkafi92a408c0fcc15vjp8b2gf400ijbx4vz5vm0s9dzvl";
+       libraryHaskellDepends = [
+         aeson aeson-qq base bytestring captcha-core errors extra
+         http-client lens lens-aeson mtl o-clock string-interpolate text
+         unliftio wreq
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base bytestring captcha-core data-default errors
+         extra http-client lens lens-aeson mtl o-clock string-conversions
+         string-interpolate tasty tasty-hunit text unliftio wreq
+       ];
+       description = "A package for integrating a variety of captcha solving services";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "captcha-core" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cookie
+     , data-default-extra, lens, mtl, o-clock, string-conversions, text
+     , unliftio, wreq
+     }:
+     mkDerivation {
+       pname = "captcha-core";
+       version = "0.1.0.1";
+       sha256 = "1qalmxbmpyr28v9683q7yqk8xky34ksgqxr6qgn7v8y1c0a4jlqd";
+       libraryHaskellDepends = [
+         aeson base bytestring cookie data-default-extra lens mtl o-clock
+         string-conversions text unliftio wreq
+       ];
+       description = "A package for integrating a variety of captcha solving services";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "car-pool" = callPackage
     ({ mkDerivation, base, blaze-html, containers, digestive-functors
      , digestive-functors-blaze, digestive-functors-happstack
@@ -52381,6 +52621,8 @@ self: {
        pname = "carray";
        version = "0.1.6.8";
        sha256 = "04qny61gcjblqjrz761wp4bdkxk6zbm31xn6h426iybw9kanf6cg";
+       revision = "1";
+       editedCabalFile = "04c4xizl2hjrk5fqwxpv1f0rdrrdl4z5vw6kl7cgc22pywkc2hgj";
        libraryHaskellDepends = [
          array base binary bytestring ix-shapable QuickCheck syb
        ];
@@ -52814,8 +53056,8 @@ self: {
      }:
      mkDerivation {
        pname = "casr-logbook";
-       version = "0.5.4";
-       sha256 = "06r160c9cjqmiqldpdd9h4dx5g9gj6cmrajprwbcabcar6ckdsci";
+       version = "0.6.9";
+       sha256 = "0ga60asv7i5jdmvbv25s9h7b23p4f4aasmksh6swbxz5fzky7g7g";
        libraryHaskellDepends = [
          base containers digit lens lucid text time
        ];
@@ -53027,8 +53269,8 @@ self: {
        pname = "cassava";
        version = "0.5.2.0";
        sha256 = "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk";
-       revision = "6";
-       editedCabalFile = "0r3daq24ng1sbypxr1h8m33pibwvrxyzd2inwhi5pvjckn2ghpmq";
+       revision = "7";
+       editedCabalFile = "1zb16h20w4p3qqvrg4m9rhnyrbpx1ga4r6azrzy1h8vsw09vcbsz";
        configureFlags = [ "-f-bytestring--lt-0_10_4" ];
        libraryHaskellDepends = [
          array attoparsec base bytestring containers deepseq hashable Only
@@ -54361,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
@@ -54703,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
@@ -54720,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;
@@ -55168,10 +55404,8 @@ self: {
      }:
      mkDerivation {
        pname = "chell";
-       version = "0.5";
-       sha256 = "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg";
-       revision = "1";
-       editedCabalFile = "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0";
+       version = "0.5.0.1";
+       sha256 = "10zpnalrz4riyqbk2bwsdml4b23x3mrn0cg4hmssffsa50yq93gs";
        libraryHaskellDepends = [
          ansi-terminal base bytestring options patience random
          template-haskell text transformers
@@ -55184,8 +55418,8 @@ self: {
     ({ mkDerivation, base, chell, HUnit }:
      mkDerivation {
        pname = "chell-hunit";
-       version = "0.3";
-       sha256 = "18p9rhs81b43jb95dqg650h3cajsw45w7cgsavkm18h0qhrz41kb";
+       version = "0.3.0.1";
+       sha256 = "01dv6lv4bj1m0sk7v90w5jnlyvir2v969sw8hrif2h3hy9f3pc9v";
        libraryHaskellDepends = [ base chell HUnit ];
        description = "HUnit support for the Chell testing library";
        license = lib.licenses.mit;
@@ -55195,8 +55429,8 @@ self: {
     ({ mkDerivation, base, chell, QuickCheck, random }:
      mkDerivation {
        pname = "chell-quickcheck";
-       version = "0.2.5.2";
-       sha256 = "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03";
+       version = "0.2.5.3";
+       sha256 = "1bm2gva5g9y71z2kbnl4dinplvlbisnjqhlcvgf6a9ir7y4r5c0x";
        libraryHaskellDepends = [ base chell QuickCheck random ];
        description = "QuickCheck support for the Chell testing library";
        license = lib.licenses.mit;
@@ -55790,6 +56024,8 @@ self: {
        pname = "chs-cabal";
        version = "0.1.1.1";
        sha256 = "0fvf26394rpn9g4f3rp13bq8rrhzs9d95k7nbcpayzml2j9rsv3l";
+       revision = "1";
+       editedCabalFile = "13c4sc83kl6wvx39b1i09mjgsnn4l7ffcynnhsnn9v5y3nzw3j78";
        libraryHaskellDepends = [ base Cabal chs-deps ];
        description = "Cabal with c2hs dependencies";
        license = lib.licenses.bsd3;
@@ -56002,22 +56238,26 @@ self: {
 
   "cimple" = callPackage
     ({ mkDerivation, aeson, alex, ansi-wl-pprint, array, base
-     , bytestring, containers, filepath, groom, happy, hspec
-     , hspec-discover, mtl, text
+     , bytestring, containers, data-fix, filepath, groom, happy, hspec
+     , hspec-discover, monad-parallel, mtl, recursion-schemes, split
+     , text, transformers-compat
      }:
      mkDerivation {
        pname = "cimple";
-       version = "0.0.2";
-       sha256 = "0ija5g7myn50pyr4zyfya2p3vhgflfyf3pzjp8mg9i5ny9d8cqa4";
+       version = "0.0.14";
+       sha256 = "1n287ybpl4h8laklw4s0gqf7hn8w12yv3wxm1xjh7rx9fivnim2v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson ansi-wl-pprint array base bytestring containers filepath
-         groom mtl text
+         aeson ansi-wl-pprint array base bytestring containers data-fix
+         filepath groom monad-parallel mtl recursion-schemes split text
+         transformers-compat
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base bytestring groom text ];
-       testHaskellDepends = [ ansi-wl-pprint base hspec text ];
+       testHaskellDepends = [
+         ansi-wl-pprint base data-fix hspec text transformers-compat
+       ];
        testToolDepends = [ hspec-discover ];
        description = "Simple C-like programming language";
        license = lib.licenses.gpl3Only;
@@ -56417,7 +56657,7 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
-  "citeproc_0_6" = callPackage
+  "citeproc_0_6_0_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring
      , case-insensitive, containers, data-default, Diff, directory
      , file-embed, filepath, mtl, pandoc-types, pretty, safe, scientific
@@ -56426,8 +56666,8 @@ self: {
      }:
      mkDerivation {
        pname = "citeproc";
-       version = "0.6";
-       sha256 = "1dx61f8y32b5w84d2fzaxfgdj2gyr0wyqhh6jl2jf2lfn5cbhll3";
+       version = "0.6.0.1";
+       sha256 = "015ansq3a710s0hzs2157fx12bc4f1hy45l4dbi6j477sy800bqc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -56793,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 = [
@@ -56812,6 +57052,37 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "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
+     , unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "clash-ghc";
+       version = "1.6.1";
+       sha256 = "0kkwrp2ch01s75gyy3xa3lf305xi9czw0v4sgqcb4cds4qb47ih2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         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
+         unordered-containers utf8-string vector
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Clash: a functional hardware description language - GHC frontend";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clash-lib" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array
      , attoparsec, base, base16-bytestring, binary, bytestring
@@ -56829,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
@@ -56855,6 +57126,74 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "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
+     , 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, pretty-show, prettyprinter, primitive
+     , quickcheck-text, stringsearch, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, temporary, terminal-size
+     , text, time, transformers, trifecta, unordered-containers, vector
+     , vector-binary-instances, yaml
+     }:
+     mkDerivation {
+       pname = "clash-lib";
+       version = "1.6.1";
+       sha256 = "0qghvgl4x1lskmadn14kgbilfq9m2cb6n3ik513p27cvv5k8ahpj";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         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 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
+         concurrent-supply containers data-default deepseq ghc
+         ghc-typelits-knownnat haskell-src-exts lens pretty-show
+         quickcheck-text tasty tasty-hunit tasty-quickcheck template-haskell
+         text transformers unordered-containers
+       ];
+       description = "Clash: a functional hardware description language - As a library";
+       license = lib.licenses.bsd2;
+       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
@@ -56874,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
@@ -56885,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
@@ -56912,6 +57251,63 @@ self: {
        broken = true;
      }) {};
 
+  "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, th-abstraction, th-lift
+     , th-orphans, time, transformers, type-errors, uniplate, vector
+     }:
+     mkDerivation {
+       pname = "clash-prelude";
+       version = "1.6.1";
+       sha256 = "18fhkk2icwk8jm7d6ni0l2l7jgh0isdkmlzj2dpvqrwla6qf40j2";
+       libraryHaskellDepends = [
+         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 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 directory template-haskell
+       ];
+       description = "Clash: a functional hardware description language - Prelude library";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       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 {
@@ -56932,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
@@ -57006,8 +57400,8 @@ self: {
      }:
      mkDerivation {
        pname = "clashilator";
-       version = "0.1.1";
-       sha256 = "0d95h9dflclzgfph4as4bzz0442z0a9w59d97snzih9wc1cg4vbp";
+       version = "0.1.2";
+       sha256 = "1p58zn6m85zgn4f6pj6v6vqhhcazbid7gi9vg7cm52i1sx1jdbb8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57228,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
@@ -57255,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 = [
@@ -57402,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
@@ -57427,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 = [
@@ -57449,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
@@ -57535,6 +57929,30 @@ self: {
        broken = true;
      }) {};
 
+  "cleff" = callPackage
+    ({ mkDerivation, atomic-primops, base, containers, exceptions
+     , extra, hspec, lifted-base, microlens, monad-control, primitive
+     , QuickCheck, rec-smallarray, template-haskell, th-abstraction
+     , transformers-base, unliftio
+     }:
+     mkDerivation {
+       pname = "cleff";
+       version = "0.2.1.0";
+       sha256 = "1a9gvmz9s71c1m9d1f5mxnhid8096fdhmgw4j9l358gg4i6lzvrw";
+       libraryHaskellDepends = [
+         atomic-primops base containers exceptions microlens monad-control
+         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 rec-smallarray
+         template-haskell th-abstraction transformers-base unliftio
+       ];
+       description = "Fast and concise extensible effects";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "cless" = callPackage
     ({ mkDerivation, base, highlighting-kate, optparse-applicative
      , process, terminfo, wl-pprint-extras, wl-pprint-terminfo
@@ -57554,6 +57972,51 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "cleveland" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base-noprelude
+     , bimap, bytestring, constraints, containers, criterion, cryptonite
+     , data-default, directory, either, exceptions, file-embed, filepath
+     , first-class-families, fmt, gauge, hedgehog, hex-text, hspec
+     , hspec-expectations, HUnit, lens, lorentz, megaparsec, MonadRandom
+     , morley, morley-client, morley-prelude, mtl, named, o-clock
+     , optparse-applicative, safe-exceptions, servant-client
+     , servant-client-core, silently, singletons, spoon, statistics, syb
+     , tagged, tasty, tasty-ant-xml, tasty-discover, tasty-hedgehog
+     , tasty-hspec, tasty-hunit-compat, template-haskell, text, time
+     , type-spec, unordered-containers, vinyl, with-utf8
+     }:
+     mkDerivation {
+       pname = "cleveland";
+       version = "0.1.0";
+       sha256 = "0px16j08fakmxzsf6rgx9gs91g61ygxzkf7sngj06a76yzfj4hlw";
+       libraryHaskellDepends = [
+         aeson base-noprelude constraints containers criterion cryptonite
+         data-default directory either exceptions file-embed fmt hedgehog
+         hex-text hspec hspec-expectations HUnit lens lorentz MonadRandom
+         morley morley-client morley-prelude mtl named o-clock
+         optparse-applicative safe-exceptions servant-client-core singletons
+         statistics tagged tasty tasty-ant-xml tasty-hedgehog
+         tasty-hunit-compat template-haskell text time with-utf8
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty aeson-qq base-noprelude bimap bytestring
+         constraints containers data-default directory either filepath
+         first-class-families fmt hedgehog hex-text hspec hspec-expectations
+         HUnit lens lorentz megaparsec morley morley-client morley-prelude
+         mtl named o-clock servant-client silently singletons spoon syb
+         tasty tasty-hedgehog tasty-hspec tasty-hunit-compat text time
+         type-spec unordered-containers vinyl with-utf8
+       ];
+       testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base-noprelude data-default gauge megaparsec morley morley-prelude
+         with-utf8
+       ];
+       description = "Testing framework for Morley";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clevercss" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec }:
      mkDerivation {
@@ -57599,6 +58062,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "cli-arguments" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cli-arguments";
+       version = "0.6.0.0";
+       sha256 = "0vg5xmdg84bv6bab03iv9zj0i1vkp9xlfjbm1rpzjjhpihp8v5sg";
+       libraryHaskellDepends = [ base ];
+       description = "A library to process command line arguments in some more convenient way";
+       license = lib.licenses.mit;
+     }) {};
+
+  "cli-arguments-strict" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cli-arguments-strict";
+       version = "0.1.0.0";
+       sha256 = "06m6b5jcc00n4xaqz27f4f3vyb13ic8vnqf3nazhr2dnx0xjfad3";
+       libraryHaskellDepends = [ base ];
+       description = "A library to process command line arguments in some more convenient way";
+       license = lib.licenses.mit;
+     }) {};
+
   "cli-builder" = callPackage
     ({ mkDerivation, base, doctest, either, exceptions, filemanip
      , hspec, optparse-applicative, QuickCheck, transformers
@@ -57999,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 ];
@@ -59117,23 +59602,25 @@ self: {
      }) {};
 
   "cobot-io" = callPackage
-    ({ mkDerivation, array, attoparsec, base, binary, bytestring
+    ({ mkDerivation, array, attoparsec, base, binary, bytestring, cobot
      , containers, data-msgpack, deepseq, directory, hspec, http-conduit
-     , hyraxAbif, lens, linear, mtl, neat-interpolation, QuickCheck
-     , split, text, vector
+     , hyraxAbif, lens, linear, megaparsec, mtl, neat-interpolation
+     , parser-combinators, QuickCheck, split, text, vector
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.3.20";
-       sha256 = "075s6rhzyldm5c9g27ljwhs8xyxghk8cpm2742l3h69j9y7v3xnc";
+       version = "0.1.4.2";
+       sha256 = "1gh51097r6z35vbvdfg8fasv00midmdxgya0b2acm3hbrjnrdvp4";
        libraryHaskellDepends = [
-         array attoparsec base binary bytestring containers data-msgpack
-         deepseq http-conduit hyraxAbif lens linear mtl split text vector
+         array attoparsec base binary bytestring cobot containers
+         data-msgpack deepseq http-conduit hyraxAbif lens linear megaparsec
+         mtl parser-combinators split text vector
        ];
        testHaskellDepends = [
-         array attoparsec base binary bytestring containers data-msgpack
-         deepseq directory hspec http-conduit hyraxAbif lens linear mtl
-         neat-interpolation QuickCheck split text vector
+         array attoparsec base binary bytestring cobot containers
+         data-msgpack deepseq directory hspec http-conduit hyraxAbif lens
+         linear megaparsec mtl neat-interpolation parser-combinators
+         QuickCheck split text vector
        ];
        description = "Biological data file formats and IO";
        license = lib.licenses.bsd3;
@@ -60701,8 +61188,8 @@ self: {
     ({ mkDerivation, base, hspec, mtl }:
      mkDerivation {
        pname = "commandert";
-       version = "0.1.1.0";
-       sha256 = "0li8ja7j8386k5j7l6vczq3g74bnj0qrz4n4f1hkgf82sg333jxz";
+       version = "0.1.1.1";
+       sha256 = "02sdmba5ri40qx5j2bdx11h8k7b0ndik8wwzf3wki8c00y2jpmnd";
        libraryHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base hspec mtl ];
        description = "A monad for commanders";
@@ -60785,8 +61272,8 @@ self: {
      }:
      mkDerivation {
        pname = "commonmark-extensions";
-       version = "0.2.2.1";
-       sha256 = "0kj32khbs3g5j2dnzy40gv372wp1xxbggl3alqlky37ngl0xc3kb";
+       version = "0.2.3";
+       sha256 = "02zq9ma58yngabz1rw0alaq9s8lsfmxjn8m3dfjxavvq2pl3748f";
        libraryHaskellDepends = [
          base commonmark containers emojis filepath network-uri parsec text
          transformers
@@ -60805,8 +61292,8 @@ self: {
      }:
      mkDerivation {
        pname = "commonmark-pandoc";
-       version = "0.2.1.1";
-       sha256 = "15rfaz49msswb7gh5wyxpm9vckbf3wzyd2m5m2f3hggb82ydk5cp";
+       version = "0.2.1.2";
+       sha256 = "1dpi8zvjshab96w56qfqcys9h09f46lld8sc9q4xzb0y1p6lwmap";
        libraryHaskellDepends = [
          base commonmark commonmark-extensions pandoc-types text
        ];
@@ -60814,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
@@ -60867,6 +61372,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "commutative-semigroups" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "commutative-semigroups";
+       version = "0.0.1.0";
+       sha256 = "0vpg3vl84pwv7rnrmh0g6dzg0x61w919c84bry6gpmdkil55zlll";
+       libraryHaskellDepends = [ base ];
+       description = "Commutative semigroups";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "comonad" = callPackage
     ({ mkDerivation, base, containers, distributive
      , indexed-traversable, tagged, transformers, transformers-compat
@@ -60937,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
      }:
@@ -61097,12 +61650,27 @@ self: {
      }) {};
 
   "compactable" = callPackage
-    ({ mkDerivation, base, containers, transformers, vector }:
+    ({ mkDerivation, aeson, base, base-compat, bifunctors, containers
+     , contravariant, data-default-class, deepseq, genvalidity
+     , genvalidity-sydtest, hashable, keys, lens, QuickCheck
+     , semigroupoids, sydtest, sydtest-discover, these, transformers
+     , transformers-compat, unordered-containers, vector
+     , vector-instances
+     }:
      mkDerivation {
        pname = "compactable";
-       version = "0.1.2.4";
-       sha256 = "13lynjbwr78jy3j0zx6g2rk8qvyzkgw1smriqm6sslp3nn0v1g4r";
-       libraryHaskellDepends = [ base containers transformers vector ];
+       version = "0.2.0.0";
+       sha256 = "0ngcrmb9yihwn5dm6dcfkclgk31m92qa14rk99i2g6hbdmd6w747";
+       libraryHaskellDepends = [
+         aeson base base-compat bifunctors containers contravariant
+         data-default-class deepseq hashable keys lens QuickCheck
+         semigroupoids these transformers transformers-compat
+         unordered-containers vector vector-instances
+       ];
+       testHaskellDepends = [
+         base containers genvalidity genvalidity-sydtest QuickCheck sydtest
+         sydtest-discover these vector
+       ];
        description = "A typeclass for structures which can be catMaybed, filtered, and partitioned";
        license = lib.licenses.bsd3;
      }) {};
@@ -61131,15 +61699,21 @@ self: {
      }) {};
 
   "comparse" = callPackage
-    ({ mkDerivation, base, mtl, tasty, tasty-hunit, transformers }:
+    ({ mkDerivation, base, mtl, tasty, tasty-hunit, text, transformers
+     , vector
+     }:
      mkDerivation {
        pname = "comparse";
-       version = "0.1.0.0";
-       sha256 = "1y5i1k8psarnzs6j3dwhnjrzsl9yxz544xxbr0x41m494bbr38mx";
-       libraryHaskellDepends = [ base mtl transformers ];
-       testHaskellDepends = [ base mtl tasty tasty-hunit transformers ];
-       description = "An unopiniated parser combinators library";
+       version = "0.2.0.0";
+       sha256 = "1031mkq00z7zv62xhrsasa14xw1jj1hq3dpzm2y8m4cfyv2wka30";
+       libraryHaskellDepends = [ base mtl text transformers vector ];
+       testHaskellDepends = [
+         base mtl tasty tasty-hunit text transformers vector
+       ];
+       description = "A highly generic parser combinators library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "compdata" = callPackage
@@ -62431,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
@@ -62693,6 +63267,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "conduit-aeson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit
+     , conduit-extra, containers, doctest-parallel, hspec
+     , hspec-discover, QuickCheck, scientific, text
+     }:
+     mkDerivation {
+       pname = "conduit-aeson";
+       version = "0.1.0.0";
+       sha256 = "17czqy2w3wq4sd2infclvipbq8xg01s6bz87y1fwgvd28c5hym6l";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring conduit conduit-extra text
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base bytestring conduit containers
+         doctest-parallel hspec QuickCheck scientific text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Short description";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "conduit-algorithms" = callPackage
     ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
      , conduit-combinators, conduit-extra, conduit-zstd, containers
@@ -64258,10 +64854,8 @@ self: {
      }:
      mkDerivation {
        pname = "constraints";
-       version = "0.13.2";
-       sha256 = "1zfijh3jpdfrh8nwn5xv2z05jnxyf0ciqlfaja6g6ls654svrj70";
-       revision = "1";
-       editedCabalFile = "1h46cskb4ci2jigqlrd9x87n1i1d6q6w4r0in6i47ywmhjdv7xwg";
+       version = "0.13.3";
+       sha256 = "0jhdix263zxsiki0pmdpyrg7vcfxx2x9w7pjiypva3wsr9agdjzr";
        libraryHaskellDepends = [
          base binary deepseq ghc-prim hashable mtl transformers
          transformers-compat type-equality
@@ -64313,20 +64907,6 @@ self: {
     ({ mkDerivation, aeson, base, constraints, template-haskell }:
      mkDerivation {
        pname = "constraints-extras";
-       version = "0.3.2.0";
-       sha256 = "11w2w11lr3m33xyk0r6m4ghqppwcapkr4a6gsrnxgwxj0m7zz1qf";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base constraints template-haskell ];
-       executableHaskellDepends = [ aeson base constraints ];
-       description = "Utility package for constraints";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "constraints-extras_0_3_2_1" = callPackage
-    ({ mkDerivation, aeson, base, constraints, template-haskell }:
-     mkDerivation {
-       pname = "constraints-extras";
        version = "0.3.2.1";
        sha256 = "0w2wwqsgxqkn8byivrgcsi6fh1kxbivqarmdnpxyh1a1cg373xfp";
        isLibrary = true;
@@ -64335,7 +64915,6 @@ self: {
        executableHaskellDepends = [ aeson base constraints ];
        description = "Utility package for constraints";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constrictor" = callPackage
@@ -64767,8 +65346,6 @@ self: {
        ];
        description = "Unified interface for primitive arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "contiguous-checked" = callPackage
@@ -64794,6 +65371,7 @@ self: {
        description = "dft of contiguous memory structures";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "continue" = callPackage
@@ -65448,8 +66026,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.6";
-       sha256 = "0h43slh084wj7kwn2rdn0s63pqzy930h6z2vk38kn6yqic8d9s9y";
+       version = "3.7";
+       sha256 = "1s39w0vqk2pdd9b3kxvjzi6r300x4mxz6rbkpdjzccagnk08xzay";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65468,8 +66046,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.6";
-       sha256 = "18p7pijx2f7bw61bzfs5994xpkygghf7hvwpklhp72jkshjdjj1m";
+       version = "3.7";
+       sha256 = "0k30n2w6sw76fdm42vrn28jrz23w3sydkmmh3lmbd42kipp01h7b";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -65502,10 +66080,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.6";
-       sha256 = "00v8la4q15qj27wyqcbsv0h7m5k5ln98y4zkdzpng3z5gw4mpkm9";
-       revision = "2";
-       editedCabalFile = "0yrrrksyhn7xq0hrp5shlrs0mf725dwzaskd5f13v143k8yx6c7c";
+       version = "3.7";
+       sha256 = "0mf6mim94ryixdbwwdr39bvc704fwi0pdj3zkdl4csnj3gv4mr40";
        libraryHaskellDepends = [ base dlist mtl pretty ];
        testHaskellDepends = [
          base HUnit pretty QuickCheck test-framework test-framework-hunit
@@ -65523,8 +66099,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.6";
-       sha256 = "0b1cl4v5w54nx007mmnsx49hh3zxjm55ninlzkd78balnyah8nlk";
+       version = "3.7";
+       sha256 = "1p1l7ciyvwgghnshf7apjwarf9w2wsyqflib5xghq9y1dhmz0xg4";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-theorem data-reify mtl
        ];
@@ -65539,8 +66115,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.6";
-       sha256 = "0s6y1is91nbvlrb9fdp9xhaq9wx3j5pm67gjrlajiik4029a2dxd";
+       version = "3.7";
+       sha256 = "1lqi3ml5vw0qjki4rmb1kk6q6yapc24zwvmsccnlik5llnrhb7lv";
        libraryHaskellDepends = [
          array base containers copilot-language data-reify mtl parsec
        ];
@@ -65574,8 +66150,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.6";
-       sha256 = "17l8xq4zd9jfih5p21l6xkahdgrfbmpy8wxc38w88w98qmz5ix59";
+       version = "3.7";
+       sha256 = "1h587747s52gx03qspnhx5jbkrrxhg618mibbwfcxpk7w7bdayv1";
        libraryHaskellDepends = [
          ansi-terminal base bimap bv-sized containers copilot-core
          data-default directory filepath libBF mtl panic parameterized-utils
@@ -65607,6 +66183,22 @@ self: {
        broken = true;
      }) {};
 
+  "copr-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, http-query
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "copr-api";
+       version = "0.1.0";
+       sha256 = "0v28y0xnjk9hl66hsi17g5h6mrsg1a6b9p6r05r41cnd8a093vb0";
+       libraryHaskellDepends = [
+         aeson base bytestring directory http-query text
+         unordered-containers
+       ];
+       description = "Copr API client libary";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "coquina" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, deepseq
      , directory, exceptions, filepath, hspec, lens, markdown-unlit
@@ -65682,15 +66274,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "core-data_0_3_0_2" = callPackage
+  "core-data_0_3_1_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, core-text
      , hashable, prettyprinter, scientific, text, unordered-containers
      , vector
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.3.0.2";
-       sha256 = "0rfx7086ilv2rld2nnq96jkygvxxsnfs81mh4b4nmb4drdw02jl0";
+       version = "0.3.1.1";
+       sha256 = "0i11m2k1xb97f0plvp9g7l4zhp9d1njn9z7xfhcmghbvlkk82vx2";
        libraryHaskellDepends = [
          aeson base bytestring containers core-text hashable prettyprinter
          scientific text unordered-containers vector
@@ -65738,7 +66330,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "core-program_0_4_2_0" = callPackage
+  "core-program_0_4_4_0" = callPackage
     ({ mkDerivation, async, base, bytestring, chronologique, core-data
      , core-text, directory, exceptions, filepath, fsnotify, hashable
      , hourglass, mtl, prettyprinter, safe-exceptions, stm
@@ -65747,8 +66339,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.4.2.0";
-       sha256 = "1xbfshfy6h7afpnlaafyq4mj3x0q4i83sxk6720k0dd0hhszb6b0";
+       version = "0.4.4.0";
+       sha256 = "1mp694llk3b04yqv8gr7i2rwcld99xmx1m55f5fhk1vgks816kih";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-text directory
          exceptions filepath fsnotify hashable hourglass mtl prettyprinter
@@ -65763,17 +66355,17 @@ self: {
   "core-telemetry" = callPackage
     ({ mkDerivation, async, base, bytestring, chronologique, core-data
      , core-program, core-text, exceptions, http-streams, io-streams
-     , locators, mtl, random, safe-exceptions, scientific, stm
-     , template-haskell, text, unix, uuid
+     , mtl, network-info, random, safe-exceptions, scientific, stm
+     , template-haskell, text, unix
      }:
      mkDerivation {
        pname = "core-telemetry";
-       version = "0.1.7.3";
-       sha256 = "05l6s3bw1gp36wx052c5q3mvzzmfdv922851kmr6ax79m5fxdsd9";
+       version = "0.1.9.1";
+       sha256 = "11b106gs96l20zb0lyr0qw49bnm8wxfc4wcncjaip6mdvgcc8cza";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-program
-         core-text exceptions http-streams io-streams locators mtl random
-         safe-exceptions scientific stm template-haskell text unix uuid
+         core-text exceptions http-streams io-streams mtl network-info
+         random safe-exceptions scientific stm template-haskell text unix
        ];
        description = "Advanced telemetry";
        license = lib.licenses.mit;
@@ -65813,6 +66405,42 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "core-webserver-servant" = callPackage
+    ({ mkDerivation, base, core-program, core-telemetry
+     , core-webserver-warp, mtl, safe-exceptions, servant
+     , servant-server, vault, wai
+     }:
+     mkDerivation {
+       pname = "core-webserver-servant";
+       version = "0.1.0.0";
+       sha256 = "1d888qpm9g867czdhyv65302badpwg275xran5n3mapfjvk1zbqd";
+       libraryHaskellDepends = [
+         base core-program core-telemetry core-webserver-warp mtl
+         safe-exceptions servant servant-server vault wai
+       ];
+       description = "Interoperability with Servant";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "core-webserver-warp" = callPackage
+    ({ mkDerivation, async, base, bytestring, core-data, core-program
+     , core-telemetry, core-text, http-types, http2, mtl
+     , safe-exceptions, vault, wai, warp
+     }:
+     mkDerivation {
+       pname = "core-webserver-warp";
+       version = "0.1.1.0";
+       sha256 = "0yfd2037bq6vljixkhrk2v2mlywj2br16pf5dpz2vahjpk0079yj";
+       libraryHaskellDepends = [
+         async base bytestring core-data core-program core-telemetry
+         core-text http-types http2 mtl safe-exceptions vault wai warp
+       ];
+       description = "Interoperability with Wai/Warp";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "corebot-bliki" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, containers
      , directory, filepath, filestore, http-types, monads-tf, pandoc
@@ -65887,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
@@ -66292,6 +66920,7 @@ self: {
        testHaskellDepends = [ base hspec hspec-megaparsec megaparsec ];
        description = "Build tool for C";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cplex-hs" = callPackage
@@ -66412,8 +67041,8 @@ self: {
     ({ mkDerivation, base, containers, directory, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.6.8";
-       sha256 = "1v3fm2gd47q0qd59zzd11mpmvmyxh9asb1aymg3337296irvnk66";
+       version = "3.6.9";
+       sha256 = "1d6308vy4zgwpqjqlslxj50x2pbgkq698p9l05xvm3wr5ml6dyv9";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -66763,10 +67392,6 @@ self: {
        executableHaskellDepends = [ array base FloatingHex ];
        description = "Crack various integer, floating-point data formats";
        license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
-         "x86_64-linux"
-       ];
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -66785,10 +67410,6 @@ self: {
        ];
        description = "Crack various integer and floating-point data formats";
        license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
-         "x86_64-linux"
-       ];
      }) {};
 
   "crackNum_3_2" = callPackage
@@ -66806,10 +67427,6 @@ self: {
        ];
        description = "Crack various integer and floating-point data formats";
        license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
-         "x86_64-linux"
-       ];
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -67021,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;
@@ -67219,8 +67839,8 @@ self: {
        pname = "critbit";
        version = "0.2.0.0";
        sha256 = "1xdgaj73ffvj1q1kyi62bifbazmzgamfwzdbdz0c339axw5dga82";
-       revision = "1";
-       editedCabalFile = "0sfhyrdhnm3803v0yg4ch976nn19hpgwwrlmfdnxnc9agn8m1ja1";
+       revision = "2";
+       editedCabalFile = "169kc62qld60glyy375wiiir0s8riwmmy0yfn69brd2gnf4yw1dv";
        libraryHaskellDepends = [
          array base bytestring deepseq text vector
        ];
@@ -67251,8 +67871,10 @@ self: {
      }:
      mkDerivation {
        pname = "criterion";
-       version = "1.5.12.0";
-       sha256 = "0wrb48byp906f9wc9ii2mi2b2k008ycbi8ffrrj86plhp5rpvzz5";
+       version = "1.5.13.0";
+       sha256 = "19vrlldgw2kz5426j0iwsvvhxkbnrnan859vr6ryqh13nrg59a72";
+       revision = "1";
+       editedCabalFile = "1xpbvax71yrnilq4iixjfi3by2n8wz5r5nb2r4v9wn85xz0r8dwh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -68301,8 +68923,8 @@ self: {
        pname = "cryptonite-cd";
        version = "0.29.1";
        sha256 = "053zfjxwnpaiw0kkky0fdbdqqyarygqnvmlm4vziqqrlkm4nba0c";
-       revision = "1";
-       editedCabalFile = "1y97mmslygswj5aydkvlj5vvf5xzkjxxjrblp3h9mx6wr9k63iyi";
+       revision = "3";
+       editedCabalFile = "1j7ch1h7irlk8lx0zjk41f4j0fmn3x96zf5355m669dwivan3m7s";
        libraryHaskellDepends = [
          base basement-cd bytestring deepseq ghc-prim integer-gmp memory-cd
        ];
@@ -69171,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 = [
@@ -69375,8 +69997,8 @@ self: {
      }:
      mkDerivation {
        pname = "curryer-rpc";
-       version = "0.2";
-       sha256 = "0vr4b2k688imxfgkh85i9k96djklp1pp75qzi9f8fl5c46flknrg";
+       version = "0.2.1";
+       sha256 = "1ii7q63pr3zazkb76j1912yjzamj62h3ilqpszypq5s27vfs2yb4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69818,12 +70440,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "d10_1_0_0_1" = callPackage
+  "d10_1_0_0_2" = callPackage
     ({ mkDerivation, base, hedgehog, template-haskell }:
      mkDerivation {
        pname = "d10";
-       version = "1.0.0.1";
-       sha256 = "0jaql1ql1pm0s6xd0mmi0gadx7z0ms62q46rxy4ida8k4v76r7cl";
+       version = "1.0.0.2";
+       sha256 = "10jc4sa986r194py1gg90mixvb2h4d1m12zwi6y5hffmrc910qva";
+       revision = "1";
+       editedCabalFile = "1ffwq8kfg90a5gfdm41fid7n4aszzl4j2mpnr4pp95ri174awqbz";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base hedgehog template-haskell ];
        description = "Digits 0-9";
@@ -72641,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
@@ -73137,6 +73758,7 @@ self: {
        description = "Discordian Date Types for Haskell";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ddc-base" = callPackage
@@ -73508,10 +74130,8 @@ self: {
      }:
      mkDerivation {
        pname = "dear-imgui";
-       version = "1.2.2";
-       sha256 = "095mv60dvikw1pmj59kwq6p9s8yp04zd8ndbcq3fdia8w0razrxf";
-       revision = "1";
-       editedCabalFile = "002s2a3hl1scadwqvhairhh7kqvz6fzbjgw4knc9lj6qm9b70gf0";
+       version = "1.4.0";
+       sha256 = "02s649lbfil4c5hqvqrqp93sag21g45hmfw2nxbnpazj1cn1bk7w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74153,8 +74773,8 @@ self: {
      }:
      mkDerivation {
        pname = "deferred-folds";
-       version = "0.9.17";
-       sha256 = "1dn7ylqsqrc5s734xc4bsif6f53hg84i8w7zi929pikjl7xkbrch";
+       version = "0.9.18.1";
+       sha256 = "1hf14xa9fdfyk9ijxnll402x96m59giqrpj9s5rjqkd5pyi1yj6w";
        libraryHaskellDepends = [
          base bytestring containers foldl hashable primitive text
          transformers unordered-containers vector
@@ -74763,6 +75383,8 @@ self: {
        pname = "dependent-monoidal-map";
        version = "0.1.1.2";
        sha256 = "11qcrxji3lvq4blzh1qk9wkhhzjkvz3maxfv63zgby98dpmkxa2x";
+       revision = "1";
+       editedCabalFile = "0149hmhqlj69pjg325p3da1z96czbjc18vp4i4acrvzbjh060nd4";
        libraryHaskellDepends = [
          aeson base constraints constraints-extras dependent-map
          dependent-sum dependent-sum-aeson-orphans
@@ -74803,8 +75425,8 @@ self: {
        pname = "dependent-sum";
        version = "0.7.1.0";
        sha256 = "0aj63gvak0y4mgxndykqfg5w958hf7lp5blml2z647rjgy85bjw1";
-       revision = "1";
-       editedCabalFile = "0h9rr26ksrqfnfjibnrzbf6hyp1mmffgzbvjjxjs6vdqylvr4h8f";
+       revision = "2";
+       editedCabalFile = "0d7wb1ag60mcm56axcrx9pd6hgrsxmqynyplbcfl01ms2i60fhr9";
        libraryHaskellDepends = [ base constraints-extras some ];
        description = "Dependent sum type";
        license = lib.licenses.publicDomain;
@@ -75144,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
        ];
@@ -75254,17 +75876,17 @@ self: {
      }) {};
 
   "deriving-trans" = callPackage
-    ({ mkDerivation, base, lifted-base, monad-control, mtl
-     , transformers, transformers-base
+    ({ mkDerivation, base, monad-control, mtl, transformers
+     , transformers-base
      }:
      mkDerivation {
        pname = "deriving-trans";
-       version = "0.1.0.0";
-       sha256 = "1yphl0wjp67b7hc3ys6snlvzk67by070p5vfmwcv7ic688vh1dw4";
+       version = "0.3.1.0";
+       sha256 = "0x7kk9b08f9fplkycw2202qil3rh5l2x7l7whjlv30b0v5k885xz";
        libraryHaskellDepends = [
-         base lifted-base monad-control mtl transformers transformers-base
+         base monad-control mtl transformers transformers-base
        ];
-       description = "Derive transformer type classes with DerivingVia";
+       description = "Derive instances for monad transformer stacks";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -75307,6 +75929,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "derulo_2_0_0_1" = callPackage
+    ({ mkDerivation, base, HUnit }:
+     mkDerivation {
+       pname = "derulo";
+       version = "2.0.0.1";
+       sha256 = "15lq7yv69i7azz2vxbx29k9csz62pp3a01qk8sng6yrq734qw8dx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base HUnit ];
+       description = "Parse and render JSON simply";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "describe" = callPackage
     ({ mkDerivation, base, bytestring, cereal, fixed-vector, lens
      , mmorph, monad-control, mtl, profunctors, QuickCheck
@@ -75897,6 +76535,8 @@ self: {
        pname = "dhall";
        version = "1.40.2";
        sha256 = "14wh497fipvz01zc9s31gv144spg1iqfwp6x5mlk1hjk0v9qs5by";
+       revision = "2";
+       editedCabalFile = "0mxq3knz1wpvs6jcdw6p0mnwpyy7aqriy2qdyxqzmhcbw2yn3hc1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -75962,6 +76602,8 @@ self: {
        pname = "dhall-bash";
        version = "1.0.39";
        sha256 = "0by0w5dqsi0yrs9qnkpls7n5m0qwslxkcycb4s97vk8xl6nj5kk8";
+       revision = "1";
+       editedCabalFile = "1c01623qx7wxas9g8b4hliybvff0g994jbwrcx14hhb77xr6j14v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76007,6 +76649,8 @@ self: {
        pname = "dhall-csv";
        version = "1.0.1";
        sha256 = "00a08lcxf9r1ln87bzy4j83z08yl1m7xmzv1irg0xa03vskby3lx";
+       revision = "1";
+       editedCabalFile = "1bwsapkmfqcw0hgvpnw3mpsx5q36x1f5dq4dai5wypj0bly3x8k0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76039,6 +76683,8 @@ self: {
        pname = "dhall-docs";
        version = "1.0.8";
        sha256 = "1rkwvk6vd8l52nxv186fw3qdmsjvi8098yccnnbysmf41rz80fi7";
+       revision = "2";
+       editedCabalFile = "12virkq759imppdzpx75fyka8kqfw01xfwb0lm9mir86gjb34n2q";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -76135,6 +76781,8 @@ self: {
        pname = "dhall-json";
        version = "1.7.9";
        sha256 = "11rl46vn6lzcm9kznpfc43c3a2cbq2si2zba3k2x4j360kvg9fgn";
+       revision = "2";
+       editedCabalFile = "0f1jb37f5k214dzxbbhw2hij7j7srydkdp0hpkapgs5k73vjvqm4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76236,6 +76884,8 @@ self: {
        pname = "dhall-nix";
        version = "1.1.23";
        sha256 = "17ajfkhxg4kjn6w7v3ymr6nsbqplvywkcwmfzybxqvmphh4zmfjb";
+       revision = "1";
+       editedCabalFile = "1grr0r30nbhi1d52vhmhp0rx2pas0wbg7m5npsqczfgd1d9p43dz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76261,8 +76911,8 @@ self: {
        pname = "dhall-nixpkgs";
        version = "1.0.7";
        sha256 = "1s7md4b2jzgmf557clln9fc5lmdrd9xjs55dd97dv8q6krm8nabg";
-       revision = "1";
-       editedCabalFile = "0ld4z4d3gw9mxyhm5g2hgw4w68izjnwrcqd6j7yhwhrblhdmqrr4";
+       revision = "3";
+       editedCabalFile = "135j5m3dgiyvjlw67rbx1jjnnzb5v777g6a8kkplpiv92swwslfd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -76285,6 +76935,8 @@ self: {
        pname = "dhall-openapi";
        version = "1.0.3";
        sha256 = "0k7yq7g77ws7wjfzd35ydsjwaq2kc1y0rhwjwb6yvkyvljmr0ykz";
+       revision = "2";
+       editedCabalFile = "0cqvwbpn3njl3xm4jxcsb2dvfi6y1nm6inxanqxda7pgbysqrn8j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76309,8 +76961,8 @@ self: {
        pname = "dhall-recursive-adt";
        version = "0.1.0.1";
        sha256 = "09s3m86vflj5im2walab8d0wpvihsvxc5mzy55m10pfzr3gxsd11";
-       revision = "1";
-       editedCabalFile = "0phfa1y6fic6wyvm3bp56z4sj43wbf75rzggzgf763vivlnvc7xw";
+       revision = "2";
+       editedCabalFile = "14a524zh3vi06cnf5glhd1kdl4wsmzsaqgvsvxg5096kzn6cijqx";
        libraryHaskellDepends = [ base data-fix dhall recursion-schemes ];
        testHaskellDepends = [
          base dhall either hedgehog recursion-schemes tasty tasty-hedgehog
@@ -76379,6 +77031,8 @@ self: {
        pname = "dhall-toml";
        version = "1.0.1";
        sha256 = "024cillwk8rq7jlv6vh85ifypy1ddfvszf3fzmgl1r0ca9iclmbb";
+       revision = "1";
+       editedCabalFile = "1gha7d2mv02l85z78grikillywh295ankc94vg3gbzlcc0bk0czz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76435,6 +77089,8 @@ self: {
        pname = "dhall-yaml";
        version = "1.2.9";
        sha256 = "0gn9jrqihimjs8i9ksgmlkh8c64km52rmsgz2y6k3ab0igkv8dw6";
+       revision = "2";
+       editedCabalFile = "18qshgn6vfry37sfmdwi1lijqdrhbrximbwcyi5zzz1b5nb7sa0v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76676,8 +77332,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-braille";
-       version = "0.1.0.2";
-       sha256 = "1jrhc8k0n9jabhg6rz22js9k3nj3v6r6klxskiksf6ajbqbzqg69";
+       version = "0.1.1";
+       sha256 = "1h9j1hrhpzl5rqhjnwp92sv0shc9i7yhnzpbs1dxfpyn8baws7mc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76705,8 +77361,8 @@ self: {
        pname = "diagrams-builder";
        version = "0.8.0.5";
        sha256 = "0dz617kfkvjf3f2zbphkdx1scglcjj162qsfk9xj7slbapnj918m";
-       revision = "2";
-       editedCabalFile = "1jys7j2s8shwh5yr7w597qd46ip5xqvszaqgpjvnx9fxazqp6r0v";
+       revision = "4";
+       editedCabalFile = "0ni9kbzcazr0wcgzp6r19n0hd36sd29nrwj5af1sf4a1mbs4jwqf";
        configureFlags = [ "-fcairo" "-fps" "-frasterific" "-fsvg" ];
        isLibrary = true;
        isExecutable = true;
@@ -76734,10 +77390,10 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-cairo";
-       version = "1.4.1.1";
-       sha256 = "0vyd2yr55n7x71194i18lnbcshdjpnqw4qyq7vj5zx377rsz711k";
-       revision = "3";
-       editedCabalFile = "16jm9g9rfc7d1dy2kwq3n9wfgcj8l6c0d54lym1r6b0arc7yjqlb";
+       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
@@ -76757,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
@@ -76780,8 +77436,8 @@ self: {
        pname = "diagrams-contrib";
        version = "1.4.4";
        sha256 = "043jpr7lqg708lzmv6cqys7312lfdwnf8ijcnpl4jkbvcwl87c1m";
-       revision = "3";
-       editedCabalFile = "03drxpqhyv62kzsxiabhfjiayk79fpv8wrq4qapsjbv7ph2jhx2v";
+       revision = "5";
+       editedCabalFile = "0qfsfrg9igmma9k68qdlkbgnla09w9y1a55kzxk49sfvfzvkilz5";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -76862,6 +77518,8 @@ self: {
        pname = "diagrams-haddock";
        version = "0.4.1.1";
        sha256 = "1azc42pr0hb5qamgf8i0kpkvpzxqlgc9npmi21sxnsw66bnzxw7i";
+       revision = "1";
+       editedCabalFile = "0ha61hb4g1izyz7v5gynbrm9q3260kjv6x7zmqb0hqmsaqhxsqnc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76932,6 +77590,8 @@ self: {
        pname = "diagrams-lib";
        version = "1.4.5.1";
        sha256 = "1hkxp549i99s45qk8zmhjvz1xyyv3i0ffl8155bifkic6fd8y2gz";
+       revision = "2";
+       editedCabalFile = "12zif237fhf8r016225wsfkshwsxpqq0bm0h3k1ys5yjyk6m3x90";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -77002,10 +77662,10 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-pgf";
-       version = "1.4.1.1";
-       sha256 = "10glg5pqy8zw6l77wnskcawl8da0c10sqfg9dx2jydksd3xpns2f";
+       version = "1.4.2";
+       sha256 = "1x7qz8683rsfi0gpmfmhicswmmxppil779d4mhfwkp537b6l2zmh";
        revision = "1";
-       editedCabalFile = "00hs5jk49g734majid3sx2wrl9r2flcjn70gqhaiibj6q0hyw206";
+       editedCabalFile = "14vfl9rihrpvdjvlndg86w1ap12lp98049jz741giy94rfbj3knp";
        libraryHaskellDepends = [
          base bytestring bytestring-builder colour containers diagrams-core
          diagrams-lib directory filepath hashable JuicyPixels mtl
@@ -77023,10 +77683,10 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-postscript";
-       version = "1.5";
-       sha256 = "00j58mc84srjvrf21v6zjxxlbw6b8ahhn1jmbq697w8kw3cvygpa";
-       revision = "3";
-       editedCabalFile = "1aq214837jk85b2l79adm5rcrv8y929aspvix7yjq1skyrqgk7pa";
+       version = "1.5.1";
+       sha256 = "11h2s33y6p1xd1d0kp281nz8iq5rpm0wj63wrzdha874qf79wz9g";
+       revision = "1";
+       editedCabalFile = "0wdg7wmm0j9kimw2dw7b80iv2s7yz0jclw0ybzjdgaq545l05ggi";
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
          diagrams-lib hashable lens monoid-extras mtl semigroups split
@@ -77060,10 +77720,10 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-rasterific";
-       version = "1.4.2.1";
-       sha256 = "09a1jnpc4kplg1yhv5kxhi0ph22m5xyr0vmnjv2c5wlz72c72z2z";
-       revision = "2";
-       editedCabalFile = "1vd8njhanjaa86h0g8hb6khz11bv9zvg8l4pfx0dj4ypknz4hwak";
+       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
@@ -77133,10 +77793,10 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-svg";
-       version = "1.4.3";
-       sha256 = "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8";
-       revision = "4";
-       editedCabalFile = "0irjf0g1barr06fy409r0ld2hypihrhh6n80ig3487xxny6gfzs0";
+       version = "1.4.3.1";
+       sha256 = "002lgmq78c6rsvds9bgm6m4w8j6qpg260mc52hf97wj6m050l237";
+       revision = "3";
+       editedCabalFile = "03yh2nj88c91m8xq5gzcyxj55jr8sfypfgs361c90ncwn7jxz3ly";
        libraryHaskellDepends = [
          base base64-bytestring bytestring colour containers diagrams-core
          diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
@@ -77217,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
@@ -77915,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
@@ -78070,8 +78746,8 @@ self: {
      }:
      mkDerivation {
        pname = "diohsc";
-       version = "0.1.9";
-       sha256 = "1mxccj0fwj8n8zh8h997ljd4r179zyn6k63xgnhw7bgi1pjv4301";
+       version = "0.1.10";
+       sha256 = "1k6027dq5x156xw50pjjr8713ibqbycal653mfa8q59y6h8jvzjf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -78312,20 +78988,22 @@ self: {
      }) {};
 
   "directory-contents" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, text
-     , transformers, witherable
+    ({ mkDerivation, base, containers, coquina, directory, filepath
+     , here, process, text, transformers, witherable
      }:
      mkDerivation {
        pname = "directory-contents";
-       version = "0.2.0.0";
-       sha256 = "15irmkg3ll6s3dqwl4hn7mmr5kygcl11slba3mzkdhlyg567is6x";
+       version = "0.2.0.1";
+       sha256 = "12c157lxqn910x7x3jwzv70fhb01bszxp0r00107igddrd6dqffv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base containers directory filepath text transformers witherable
        ];
        executableHaskellDepends = [ base filepath text ];
-       testHaskellDepends = [ base filepath ];
+       testHaskellDepends = [
+         base coquina directory filepath here process text
+       ];
        description = "Recursively build, navigate, and operate on a tree of directory contents";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -78468,6 +79146,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A small library for working with directories";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "disassembler" = callPackage
@@ -78481,6 +79160,42 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "disco" = callPackage
+    ({ mkDerivation, algebraic-graphs, arithmoi, base, bytestring
+     , containers, directory, exact-combinatorics, exceptions, fgl
+     , filepath, haskeline, integer-logarithms, lens, megaparsec, mtl
+     , oeis, optparse-applicative, parser-combinators, polysemy
+     , polysemy-plugin, polysemy-zoo, pretty, pretty-show, process
+     , QuickCheck, simple-enumeration, split, splitmix, tasty
+     , tasty-golden, transformers, unbound-generics
+     }:
+     mkDerivation {
+       pname = "disco";
+       version = "0.1.2.0";
+       sha256 = "0c8d7ly5v6x9pf9xhs1rlnd627d6lsna0x40qrz59xcc77n78xr3";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         algebraic-graphs arithmoi base containers directory
+         exact-combinatorics exceptions fgl filepath haskeline
+         integer-logarithms lens megaparsec mtl oeis optparse-applicative
+         parser-combinators polysemy polysemy-plugin polysemy-zoo pretty
+         pretty-show QuickCheck simple-enumeration split splitmix
+         transformers unbound-generics
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath haskeline lens megaparsec mtl
+         oeis optparse-applicative transformers unbound-generics
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath process tasty tasty-golden
+       ];
+       description = "Functional programming language for teaching discrete math";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "discogs-haskell" = callPackage
     ({ mkDerivation, aeson, api-builder, base, bytestring, Cabal
      , data-default-class, free, hspec, http-client, http-client-tls
@@ -78537,20 +79252,21 @@ self: {
   "discord-haskell" = callPackage
     ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
      , containers, data-default, emoji, http-client, iso8601-time
-     , JuicyPixels, MonadRandom, mtl, req, safe-exceptions, text, time
-     , unliftio, unordered-containers, vector, websockets, wuss
+     , JuicyPixels, MonadRandom, mtl, req, safe-exceptions, scientific
+     , text, time, unliftio, unordered-containers, vector, websockets
+     , wuss
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.10.0";
-       sha256 = "1im1yjlnk8b8fcwyhlza1iggmry5r96sdibq2whcsyxqnpg24fr0";
+       version = "1.12.0";
+       sha256 = "02gxfpwrxg7i9n0wca4g0dfsndrdxasdsdbp79ixwp51pvd04cad";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async base base64-bytestring bytestring containers
          data-default emoji http-client iso8601-time JuicyPixels MonadRandom
-         mtl req safe-exceptions text time unliftio unordered-containers
-         vector websockets wuss
+         mtl req safe-exceptions scientific text time unliftio
+         unordered-containers vector websockets wuss
        ];
        executableHaskellDepends = [ base text unliftio ];
        description = "Write bots for Discord in Haskell";
@@ -78559,6 +79275,35 @@ self: {
        broken = true;
      }) {};
 
+  "discord-haskell-voice" = callPackage
+    ({ mkDerivation, aeson, async, base, binary, BoundedChan
+     , bytestring, conduit, discord-haskell, lens, mtl, network
+     , optparse-applicative, opus, process, safe-exceptions, saltine
+     , stm, stm-containers, text, time, unliftio, websockets, wuss
+     }:
+     mkDerivation {
+       pname = "discord-haskell-voice";
+       version = "2.2.1";
+       sha256 = "07vwd9l9aa87wfs8gpqdi39h0j2jvc7mdn48yzkn68canv1wf95q";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base binary BoundedChan bytestring conduit
+         discord-haskell lens mtl network opus process safe-exceptions
+         saltine text time unliftio websockets wuss
+       ];
+       executableHaskellDepends = [
+         aeson async base binary BoundedChan bytestring conduit
+         discord-haskell lens mtl network optparse-applicative opus process
+         safe-exceptions saltine stm stm-containers text time unliftio
+         websockets wuss
+       ];
+       description = "Voice support for discord-haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {opus = null;};
+
   "discord-hs" = callPackage
     ({ mkDerivation, base, discord-gateway, discord-rest, discord-types
      , hashable, mtl, url, websockets
@@ -79565,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 = [
@@ -79979,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
@@ -80779,22 +81542,23 @@ self: {
     ({ mkDerivation, base, base-compat, Cabal, code-page, containers
      , deepseq, directory, exceptions, filepath, ghc, ghc-paths, Glob
      , hspec, hspec-core, hspec-discover, HUnit, mockery, pretty
-     , process, QuickCheck, setenv, silently, stringbuilder, syb
+     , process, QuickCheck, random, setenv, silently, stringbuilder, syb
      , template-haskell, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "doctest-parallel";
-       version = "0.2";
-       sha256 = "1p8mz36c9v0cql7hrw8f9m08x9ks31vwqv283dpr1h0s9m8pib6c";
+       version = "0.2.1";
+       sha256 = "1ybk4dl4qmb83izpqizzlzgys1ylrxwv4rzv48kk1cnll5k1hz45";
        libraryHaskellDepends = [
          base base-compat Cabal code-page containers deepseq directory
-         exceptions filepath ghc ghc-paths Glob pretty process syb
+         exceptions filepath ghc ghc-paths Glob pretty process random syb
          template-haskell transformers unordered-containers
        ];
        testHaskellDepends = [
-         base base-compat code-page deepseq directory exceptions filepath
-         ghc ghc-paths hspec hspec-core hspec-discover HUnit mockery process
-         QuickCheck setenv silently stringbuilder syb transformers
+         base base-compat code-page containers deepseq directory exceptions
+         filepath ghc ghc-paths hspec hspec-core hspec-discover HUnit
+         mockery process QuickCheck setenv silently stringbuilder syb
+         transformers
        ];
        testToolDepends = [ hspec-discover ];
        doHaddock = false;
@@ -80832,6 +81596,8 @@ self: {
        ];
        description = "Low-level bindings to the DocuSign API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "docusign-base-minimal" = callPackage
@@ -81054,8 +81820,8 @@ self: {
      }:
      mkDerivation {
        pname = "domain";
-       version = "0.1.1.2";
-       sha256 = "0s4x7jhhcx94fzi8cg5bqfqn2vajdlv1yjrakfnfdqk187zbdc6r";
+       version = "0.1.1.3";
+       sha256 = "0szq40sxd3cpq5mbgq9293643a5j45mr1p03lkxwny8xxhz6hs5a";
        libraryHaskellDepends = [
          attoparsec base bytestring domain-core foldl hashable
          parser-combinators template-haskell template-haskell-compat-v0208
@@ -81095,8 +81861,8 @@ self: {
      }:
      mkDerivation {
        pname = "domain-core";
-       version = "0.1";
-       sha256 = "1qxscw4rcbnak9mp21455gzjdnjj6cqisdhq63gdibhrazfsjvd3";
+       version = "0.1.0.1";
+       sha256 = "1zfn1nhhz810j5sq1l4i74iyxwf4gq9zr1gic76y1wv4gv1k096a";
        libraryHaskellDepends = [
          base template-haskell template-haskell-compat-v0208 text th-lego
          th-lift-instances
@@ -81113,8 +81879,8 @@ self: {
      }:
      mkDerivation {
        pname = "domain-optics";
-       version = "0.1.0.1";
-       sha256 = "1ypsnwy9rv9yldyc2v5w6q2az87dmj9dyalsmg7nnymaip4jm1dm";
+       version = "0.1.0.2";
+       sha256 = "1j5165idl61gzxiknhpfqn4shji7cf2pcjlwazc2g5a86rvq0i0s";
        libraryHaskellDepends = [
          base domain-core optics-core template-haskell
          template-haskell-compat-v0208 text th-lego unordered-containers
@@ -81393,6 +82159,8 @@ self: {
        pname = "double-conversion";
        version = "2.0.2.0";
        sha256 = "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4";
+       revision = "1";
+       editedCabalFile = "01f1jwhdk639dmh8c8sw8gcxbkv24vhwic6yngls8xj2hhgpsdcf";
        libraryHaskellDepends = [ base bytestring ghc-prim text ];
        testHaskellDepends = [
          base bytestring HUnit test-framework test-framework-hunit
@@ -81402,6 +82170,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "double-conversion_2_0_4_1" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, HUnit, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "double-conversion";
+       version = "2.0.4.1";
+       sha256 = "1hrpqh8lbw0kkryqsya95mfnnnj0pj7zswxrn6kvfy4rf7z8v2d4";
+       libraryHaskellDepends = [ base bytestring ghc-prim text ];
+       testHaskellDepends = [
+         base bytestring HUnit test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       description = "Fast conversion between single and double precision floating point and text";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "double-extra" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cassava, deepseq
      , double-conversion, rawstring-qm, text
@@ -83619,8 +84405,8 @@ self: {
      }:
      mkDerivation {
        pname = "easy-logger";
-       version = "0.1.0.4";
-       sha256 = "040q410p9i9vwydnsa5n7ycy1bq0gr1p3jvmv1y52hh96bcsbdg1";
+       version = "0.1.0.7";
+       sha256 = "1s4fj1xbza3j868p46glh950qa6njsjlbpvvx837xjmx73x7qk29";
        libraryHaskellDepends = [
          array auto-update base bytestring containers template-haskell text
          unix-compat unix-time
@@ -83923,8 +84709,8 @@ self: {
        pname = "ed25519";
        version = "0.0.5.0";
        sha256 = "0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq";
-       revision = "3";
-       editedCabalFile = "1yidh86ymzwmp2b449pwim6vvfcs1qgkkncbixw1zmb7wj6v167v";
+       revision = "4";
+       editedCabalFile = "1jr8v3kw69fdchnynflq3gz1bwx4jm5jpl7c00bnflrhkdrfbndn";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
        testHaskellDepends = [
          base bytestring directory doctest filepath hlint QuickCheck
@@ -84457,6 +85243,31 @@ self: {
        broken = true;
      }) {};
 
+  "eflint" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , exploring-interpreters, fgl, filepath, gll, haskeline, hxt, mtl
+     , network, regex-applicative, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "eflint";
+       version = "3.0.0.2";
+       sha256 = "14rhc9kmsb9krf5h8a8041pirp8mnlfc6kxidmdz2d4r4pd8yd8k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers directory exploring-interpreters
+         fgl filepath gll hxt mtl network regex-applicative time
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers directory exploring-interpreters
+         fgl filepath gll haskeline hxt mtl network regex-applicative text
+         time transformers
+       ];
+       description = "Simulation interpreter for FLINT policy descriptions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "egison" = callPackage
     ({ mkDerivation, base, containers, criterion, directory, exceptions
      , filepath, Glob, hashable, haskeline, HUnit, megaparsec, mtl
@@ -84738,8 +85549,8 @@ self: {
     ({ mkDerivation, base, containers, doctest }:
      mkDerivation {
        pname = "either-list-functions";
-       version = "0.0.4.5";
-       sha256 = "1q77nq24sxig4xangcxzyg3dzm9yphj5w5l143q84am098hp0vkn";
+       version = "0.0.4.6";
+       sha256 = "1zmd728dxxifvpj7zwzb87rfmgs3wiz75d2g2lcm2sr0yafvzan4";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base doctest ];
        description = "Functions involving lists of Either";
@@ -86040,28 +86851,23 @@ self: {
      }) {};
 
   "ema" = callPackage
-    ({ mkDerivation, aeson, async, base, blaze-html, blaze-markup
-     , commonmark, commonmark-extensions, commonmark-pandoc, containers
-     , data-default, directory, filepath, filepattern, fsnotify
-     , http-types, lvar, megaparsec, monad-logger, monad-logger-extras
-     , neat-interpolation, optparse-applicative, pandoc-types, parsec
-     , parser-combinators, relude, safe-exceptions, stm, 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.2.0.0";
-       sha256 = "1pjgpy4rvpwvrdszppb51nys281aglbpjgx4yci9hklp0kbkkh9i";
+       version = "0.6.0.0";
+       sha256 = "0xha83himdaj64pm09dpvl0lrjvs6alk6mxh73d7ah1dbfsm79h1";
        libraryHaskellDepends = [
-         aeson async base blaze-html blaze-markup commonmark
-         commonmark-extensions commonmark-pandoc containers data-default
-         directory filepath filepattern fsnotify http-types lvar megaparsec
-         monad-logger monad-logger-extras neat-interpolation
-         optparse-applicative pandoc-types parsec parser-combinators relude
-         safe-exceptions stm 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;
@@ -87476,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
@@ -87488,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
@@ -87859,8 +88687,8 @@ self: {
        pname = "errors";
        version = "2.3.0";
        sha256 = "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7";
-       revision = "1";
-       editedCabalFile = "08y607nwnw12vlbmwcppv1ydw726x8p3kwwx4rgaiss906hgnzrp";
+       revision = "2";
+       editedCabalFile = "1x1bhmkx7zxwdfassc9ypl9d319p6f14rv6d3mjgvac7nxfbq245";
        libraryHaskellDepends = [
          base exceptions safe text transformers transformers-compat
        ];
@@ -88812,6 +89640,8 @@ self: {
        pname = "evdev";
        version = "2.1.0";
        sha256 = "1gzf9hpsi2dmcgsifq5z91ing9b5k56mm2hx9wbsa180pmq30lj3";
+       revision = "1";
+       editedCabalFile = "0c930gd1a9pwlr4p9r9d9nizr90g06l836rai5b83z5sa0s3p01n";
        libraryHaskellDepends = [
          base bytestring containers extra filepath-bytestring monad-loops
          rawfilepath time unix
@@ -88830,17 +89660,16 @@ self: {
 
   "evdev-streamly" = callPackage
     ({ mkDerivation, base, bytestring, containers, evdev, extra
-     , posix-paths, rawfilepath, streamly, streamly-fsnotify, unix
+     , filepath-bytestring, rawfilepath, streamly, streamly-fsnotify
+     , unix
      }:
      mkDerivation {
        pname = "evdev-streamly";
-       version = "0.0.1.0";
-       sha256 = "1bzmxkg5y7w6v5l6q5vzhr19j5vwbx4p4qxdq72f7f714ihn8nyp";
-       revision = "1";
-       editedCabalFile = "02xnb49zwr39ziq2xrwnnddzxr1ppwig441i3074g1w0ng5cf2gj";
+       version = "0.0.2.0";
+       sha256 = "0vrkg3d1171lsr71k3vrcf9vbl18mdnvpi02sxvzjp2zbv3gs7v6";
        libraryHaskellDepends = [
-         base bytestring containers evdev extra posix-paths rawfilepath
-         streamly streamly-fsnotify unix
+         base bytestring containers evdev extra filepath-bytestring
+         rawfilepath streamly streamly-fsnotify unix
        ];
        description = "Bridge for working with evdev and streamly";
        license = lib.licenses.bsd3;
@@ -89171,8 +90000,6 @@ self: {
        executableHaskellDepends = [ aeson base filepath text ];
        description = "Visualise an eventlog";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "eventloop" = callPackage
@@ -89371,6 +90198,43 @@ self: {
        broken = true;
      }) {};
 
+  "eventstore_1_4_2" = callPackage
+    ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
+     , cereal, clock, connection, containers, dns, dotnet-timespan
+     , exceptions, fast-logger, file-embed, hashable, hspec, http-client
+     , interpolate, lifted-async, lifted-base, monad-control
+     , monad-logger, mono-traversable, mtl, protobuf, random, safe
+     , safe-exceptions, semigroups, stm, stm-chans, streaming, tasty
+     , tasty-hspec, tasty-hunit, text, time, transformers-base
+     , unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "eventstore";
+       version = "1.4.2";
+       sha256 = "1g11asiwnqkzfvflcz0va28kj8b89h5890c9zsa2as9kzgb7zdmr";
+       libraryHaskellDepends = [
+         aeson array base bifunctors bytestring cereal clock connection
+         containers dns dotnet-timespan exceptions fast-logger hashable
+         http-client interpolate lifted-async lifted-base monad-control
+         monad-logger mono-traversable mtl protobuf random safe
+         safe-exceptions semigroups stm stm-chans streaming text time
+         transformers-base unordered-containers uuid vector
+       ];
+       testHaskellDepends = [
+         aeson async base bytestring cereal connection containers
+         dotnet-timespan exceptions fast-logger file-embed hashable hspec
+         lifted-async lifted-base monad-control mono-traversable protobuf
+         safe safe-exceptions semigroups stm stm-chans streaming tasty
+         tasty-hspec tasty-hunit text time transformers-base
+         unordered-containers uuid vector
+       ];
+       description = "EventStore TCP Client";
+       license = lib.licenses.bsd3;
+       platforms = [ "x86_64-darwin" "x86_64-linux" ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "every" = callPackage
     ({ mkDerivation, async, base, stm }:
      mkDerivation {
@@ -89396,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
        ];
@@ -89411,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;
      }) {};
@@ -90569,16 +91436,16 @@ self: {
 
   "exploring-interpreters" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , fgl, http-types, mtl, network, readline, scientific, text
-     , transformers
+     , exceptions, fgl, haskeline, http-types, mtl, network, scientific
+     , text, transformers
      }:
      mkDerivation {
        pname = "exploring-interpreters";
-       version = "1.0.0.0";
-       sha256 = "11anvk0m8ihl2pgf3wmlw97hc886wg2rngvw86zwyd5hzg0chi66";
+       version = "1.3.0.0";
+       sha256 = "12a2z2z5c8kaqn7mks28ppazmkfvxn9lah6argmjqsd5ahwsxazs";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers fgl http-types mtl
-         network readline scientific text transformers
+         aeson attoparsec base bytestring containers exceptions fgl
+         haskeline http-types mtl network scientific text transformers
        ];
        description = "A generic exploring interpreter for exploratory programming";
        license = lib.licenses.bsd3;
@@ -91517,36 +92384,36 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "fakedata_1_0_1" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
-     , directory, exceptions, fakedata-parser, filepath, gauge, hashable
-     , hspec, hspec-discover, QuickCheck, random, regex-tdfa
+  "fakedata_1_0_2" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , deepseq, directory, exceptions, fakedata-parser, filepath, gauge
+     , hashable, hspec, hspec-discover, QuickCheck, random, regex-tdfa
      , string-random, template-haskell, text, time, transformers
      , unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "fakedata";
-       version = "1.0.1";
-       sha256 = "08z3qhj93smpd2ksix3i7wcxqkz5533pkx9xf4xjq60qm99scmw6";
+       version = "1.0.2";
+       sha256 = "1xbp0wif3dfk4880f8lr8zj07jdqhbxalqm7bfpw6r0cv354w3l8";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         attoparsec base bytestring containers directory exceptions
+         aeson attoparsec base bytestring containers directory exceptions
          fakedata-parser filepath hashable random string-random
          template-haskell text time transformers unordered-containers vector
          yaml
        ];
        testHaskellDepends = [
-         attoparsec base bytestring containers directory exceptions
+         aeson attoparsec base bytestring containers directory exceptions
          fakedata-parser filepath hashable hspec QuickCheck random
          regex-tdfa string-random template-haskell text time transformers
          unordered-containers vector yaml
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
-         attoparsec base bytestring containers deepseq directory exceptions
-         fakedata-parser filepath gauge hashable random string-random
-         template-haskell text time transformers unordered-containers vector
-         yaml
+         aeson attoparsec base bytestring containers deepseq directory
+         exceptions fakedata-parser filepath gauge hashable random
+         string-random template-haskell text time transformers
+         unordered-containers vector yaml
        ];
        description = "Library for producing fake data";
        license = lib.licenses.bsd3;
@@ -91773,8 +92640,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.6.6.0";
-       sha256 = "0icr6aqnavxjnfpgmvvydx4nm0zxapl82n0kd3iaj1sfifgm05jh";
+       version = "0.6.7.0";
+       sha256 = "1npfmigidwnbfhfpndavrncs2vwxpjadp71ixd9agnhfsp1mc1ng";
        libraryHaskellDepends = [ arithmoi base combinat hgmp ];
        testHaskellDepends = [ arithmoi base combinat hspec QuickCheck ];
        benchmarkHaskellDepends = [
@@ -91900,15 +92767,15 @@ self: {
        maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
-  "fast-logger_3_1_0" = callPackage
+  "fast-logger_3_1_1" = callPackage
     ({ mkDerivation, array, auto-update, base, bytestring, directory
      , easy-file, filepath, hspec, hspec-discover, text, unix-compat
      , unix-time
      }:
      mkDerivation {
        pname = "fast-logger";
-       version = "3.1.0";
-       sha256 = "1qry775yd962zcx16k1syhx001hlkk15v6m6l3yylibhqh9b753y";
+       version = "3.1.1";
+       sha256 = "1rx866swvqq7lzngv4bx7qinnwmm3aa2la8caljvbfbi0xz6wps3";
        libraryHaskellDepends = [
          array auto-update base bytestring directory easy-file filepath text
          unix-compat unix-time
@@ -91963,10 +92830,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-tags";
-       version = "2.0.0";
-       sha256 = "0q2ijh1pdxzm57557vln195mmxs15wra9159vpsjvjda4gnd7bs6";
-       revision = "1";
-       editedCabalFile = "18q3hzl178a3hzxmvb79y1g9r29b6dxfq9nczwk2g3pqmi9qnbmr";
+       version = "2.0.1";
+       sha256 = "1v60jrcpbd86np5265grd61x6rla1fy85jphcnknffy4zf0sswrf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92159,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 = [
@@ -92809,6 +93672,22 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "fedora-dists_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cached-json-file, pdc
+     , text, time
+     }:
+     mkDerivation {
+       pname = "fedora-dists";
+       version = "2.0.0";
+       sha256 = "1igw3rl99g48c46qzclj15896c97qd8g02pdscjwm0zid83pbimk";
+       libraryHaskellDepends = [
+         aeson base bytestring cached-json-file pdc text time
+       ];
+       description = "Library for Fedora distribution versions";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "fedora-haskell-tools" = callPackage
     ({ mkDerivation, base, csv, directory, fedora-dists, filepath, HTTP
      , optparse-applicative, process, simple-cmd, simple-cmd-args, split
@@ -92828,6 +93707,28 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "fedora-haskell-tools_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, csv, directory, extra
+     , fedora-dists, filepath, http-conduit, http-types
+     , optparse-applicative, process, simple-cmd, simple-cmd-args, split
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "fedora-haskell-tools";
+       version = "1.0";
+       sha256 = "13nqsf4p5cm9zzdryl09hcxsya5qn3h8q8wl1sz02jswkhwlhlzb";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring csv directory extra fedora-dists filepath
+         http-conduit http-types optparse-applicative process simple-cmd
+         simple-cmd-args split time unix
+       ];
+       description = "Building and maintenance tools for Fedora Haskell";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "fedora-img-dl" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath
      , http-directory, http-types, optparse-applicative, simple-cmd
@@ -93826,8 +94727,8 @@ self: {
        pname = "file-embed-lzma";
        version = "0";
        sha256 = "0xqcgx4ysyjqrygnfabs169y4w986kwzvsaqh64h7x3wfi7z8v78";
-       revision = "7";
-       editedCabalFile = "1jm3jr70vvfv9an3nb7n5rx5ldk6i4c1dcwi3pgbf6lkx7lkp754";
+       revision = "8";
+       editedCabalFile = "19jh6iavjb9asm6j91d3d6fandm0fm16ariayx12xp6ach1alpxr";
        libraryHaskellDepends = [
          base base-compat bytestring directory filepath lzma
          template-haskell text th-lift-instances transformers
@@ -94324,6 +95225,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "fin_0_2_1" = callPackage
+    ({ mkDerivation, base, boring, dec, deepseq, hashable
+     , inspection-testing, QuickCheck, some, tagged, universe-base
+     }:
+     mkDerivation {
+       pname = "fin";
+       version = "0.2.1";
+       sha256 = "14zknp1f65i57nsx8v0np08d7y0szzblybmq7fa5ydazhqwnxlrv";
+       libraryHaskellDepends = [
+         base boring dec deepseq hashable QuickCheck some universe-base
+       ];
+       testHaskellDepends = [ base inspection-testing tagged ];
+       description = "Nat and Fin: peano naturals and finite numbers";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "fin-int" = callPackage
     ({ mkDerivation, attenuation, base, data-default-class, deepseq
      , portray, portray-diff, QuickCheck, sint
@@ -94470,8 +95388,8 @@ self: {
      }:
      mkDerivation {
        pname = "fingertree";
-       version = "0.1.4.2";
-       sha256 = "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm";
+       version = "0.1.5.0";
+       sha256 = "0wdzpli8bpgk8lrsp105zb0y5gn1r2029laclvhz264bza93q9pk";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base HUnit QuickCheck test-framework test-framework-hunit
@@ -95730,8 +96648,8 @@ self: {
      }:
      mkDerivation {
        pname = "flatparse";
-       version = "0.3.1.0";
-       sha256 = "119qqqzp3aaljxgw0fdvqi2mhpykff33rmm8b5v7y3mllz707mf3";
+       version = "0.3.2.0";
+       sha256 = "0jnf1sxd39xd2jry2p7d9sj29ym0bs4wb3yskl9sjwa6ssck4vdq";
        libraryHaskellDepends = [
          base bytestring containers integer-gmp template-haskell
        ];
@@ -96121,6 +97039,19 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "flow_2_0_0_0" = callPackage
+    ({ mkDerivation, base, HUnit }:
+     mkDerivation {
+       pname = "flow";
+       version = "2.0.0.0";
+       sha256 = "03zhamnwni9y0div9lwdmw5nl63m6ykjppxhyhl95zknc0dml1vj";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base HUnit ];
+       description = "Write more understandable Haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "flow-er" = callPackage
     ({ mkDerivation, base, doctest, flow, QuickCheck }:
      mkDerivation {
@@ -96755,14 +97686,14 @@ self: {
 
   "focuslist" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
-     , genvalidity-containers, genvalidity-hspec, hedgehog, lens
-     , mono-traversable, QuickCheck, tasty, tasty-hedgehog, tasty-hspec
-     , template-haskell
+     , genvalidity, genvalidity-containers, genvalidity-hspec, hedgehog
+     , hspec, lens, mono-traversable, QuickCheck, tasty, tasty-hedgehog
+     , tasty-hspec, template-haskell, validity
      }:
      mkDerivation {
        pname = "focuslist";
-       version = "0.1.0.2";
-       sha256 = "06s8655l7nzpmwf6z8p11g9mngb9a0kw10riii67sq8jcanpllkq";
+       version = "0.1.1.0";
+       sha256 = "0bna0akhjf8ldx6g8n5w0ni5mhx5j69n0dzpj25vbdc3y8y9crqh";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -96770,8 +97701,9 @@ self: {
          base containers lens mono-traversable QuickCheck
        ];
        testHaskellDepends = [
-         base doctest genvalidity-containers genvalidity-hspec hedgehog lens
-         QuickCheck tasty tasty-hedgehog tasty-hspec template-haskell
+         base doctest genvalidity genvalidity-containers genvalidity-hspec
+         hedgehog hspec lens QuickCheck tasty tasty-hedgehog tasty-hspec
+         template-haskell validity
        ];
        description = "Lists with a focused element";
        license = lib.licenses.bsd3;
@@ -96845,8 +97777,8 @@ self: {
        pname = "foldl";
        version = "1.4.12";
        sha256 = "0zf4yljh3s2ddxa7dhzdglmylj14kfldhkclc44g37zvjq6kcnag";
-       revision = "1";
-       editedCabalFile = "15d002khil6d4qjzm4hgfwnl502884jys9pqdm22jvdvsln84jjm";
+       revision = "2";
+       editedCabalFile = "0ggl6djyqrc56j8iy56f61jki7v3ym35ykd944z045gpjzbaq3c6";
        libraryHaskellDepends = [
          base bytestring comonad containers contravariant hashable primitive
          profunctors random semigroupoids text transformers
@@ -97218,8 +98150,8 @@ self: {
        pname = "force-layout";
        version = "0.4.0.6";
        sha256 = "17956k3mab2xhrmfy7fj5gh08h43yjlsryi5acjhnkmin5arhwpp";
-       revision = "7";
-       editedCabalFile = "07508rqcarhrw4i22sszr4mplxk8m61g0c3rm273ga89bajf9nja";
+       revision = "8";
+       editedCabalFile = "0ifp1bcvgkyma6sp889f1fr866vw884d0wgrnzqx9isfjk52csi4";
        libraryHaskellDepends = [
          base containers data-default-class lens linear
        ];
@@ -97488,19 +98420,13 @@ self: {
      }) {};
 
   "formatn" = callPackage
-    ({ mkDerivation, attoparsec, base, containers, doctest, foldl
-     , generic-lens, numhask, scientific, tdigest, text, transformers
-     }:
+    ({ mkDerivation, base, containers, QuickCheck, text }:
      mkDerivation {
        pname = "formatn";
-       version = "0.0.1";
-       sha256 = "0rw1xli4df72wxylf211jhm0v2y842rfn8nalrp04yzklvyrri84";
-       libraryHaskellDepends = [
-         attoparsec base containers foldl generic-lens numhask scientific
-         tdigest text transformers
-       ];
-       testHaskellDepends = [ base doctest numhask ];
-       description = "Number text formatting";
+       version = "0.2.0";
+       sha256 = "1hgrii092rlxhmf23ckj51rj53qkwljh3rahnm0rz4rpnrm6xxjq";
+       libraryHaskellDepends = [ base containers QuickCheck text ];
+       description = "Formatting of doubles";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -97537,6 +98463,8 @@ self: {
        pname = "formatting";
        version = "7.1.3";
        sha256 = "1vrc2i1b6lxx2aq5hysfl3gl6miq2wbhxc384axvgrkqjbibnqc0";
+       revision = "2";
+       editedCabalFile = "1i3qkhxqhvqd7mqfdc1mbizw1fin7vp4dwzayc2y0sqcbg7kkns7";
        libraryHaskellDepends = [
          base clock double-conversion ghc-prim old-locale scientific text
          time transformers
@@ -97696,8 +98624,8 @@ self: {
      }:
      mkDerivation {
        pname = "fortran-src";
-       version = "0.7.0";
-       sha256 = "1ngh156qyaha44ghisb3h8c2lxik0i6g0a46nq2fhif70r5piqw6";
+       version = "0.8.0";
+       sha256 = "1pmy9rr6xgqmcx84wk879cvnpyhchz12w8mjymxafn6fljcx96hs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -97748,8 +98676,8 @@ self: {
      }:
      mkDerivation {
        pname = "fortran-vars";
-       version = "0.1.0";
-       sha256 = "1j1k4paca1g6w38kd7fl1h4vzf6rb8ypdfilhkn2fk5llxkkw226";
+       version = "0.3.0";
+       sha256 = "0095ifc9psi2mv348qw7538rl1ld2drfq5pcsbdyxrhklm12h5ji";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -97871,6 +98799,8 @@ self: {
        pname = "foundation";
        version = "0.0.26.1";
        sha256 = "1hri3raqf6nhh6631gfm2yrkv4039gb0cqfa9cqmjp8bbqv28w5d";
+       revision = "1";
+       editedCabalFile = "0ylg660ldg20jdy61jwlvj7x606m2wjs67djijk2i9db36sgpx00";
        libraryHaskellDepends = [ base basement ghc-prim ];
        testHaskellDepends = [ base basement ];
        benchmarkHaskellDepends = [ base basement gauge ];
@@ -97964,6 +98894,40 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "fourmolu_0_5_0_1" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, array, base, bytestring
+     , Cabal, containers, Diff, directory, dlist, exceptions, filepath
+     , ghc-lib-parser, gitrev, hspec, hspec-discover, HsYAML
+     , HsYAML-aeson, mtl, optparse-applicative, path, path-io, syb
+     , temporary, text
+     }:
+     mkDerivation {
+       pname = "fourmolu";
+       version = "0.5.0.1";
+       sha256 = "1dal9nl08g4c8pjkn8nbk5rxbdlnl9bbavybv52kzry7qhlg71px";
+       revision = "1";
+       editedCabalFile = "1jkam52bff82id2bhwmwxi52d3k85pami2530qp6xci1h488gqyh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal array base bytestring Cabal containers Diff
+         directory dlist exceptions filepath ghc-lib-parser HsYAML
+         HsYAML-aeson mtl syb text
+       ];
+       executableHaskellDepends = [
+         base directory filepath ghc-lib-parser gitrev optparse-applicative
+         text
+       ];
+       testHaskellDepends = [
+         base containers directory filepath hspec path path-io temporary
+         text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A formatter for Haskell source code";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "fp-ieee" = callPackage
     ({ mkDerivation, base, doctest, hspec, hspec-core, integer-gmp
      , integer-logarithms, QuickCheck, random, tasty-bench
@@ -98262,8 +99226,8 @@ self: {
      }:
      mkDerivation {
        pname = "franz";
-       version = "0.5.1";
-       sha256 = "0y65ywk8k6by8k8wf71pfk8dsaq47sqjnw0ina09jgq66by4vgwq";
+       version = "0.5.3";
+       sha256 = "034fz3k07l5sf9hd9c56646df9d570dv7lcdwlsf68a7hrd0icqb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -98303,33 +99267,35 @@ self: {
 
   "freckle-app" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring
-     , case-insensitive, conduit, data-default, datadog, directory
-     , doctest, ekg-core, errors, exceptions, fast-logger, filepath
-     , Glob, hspec, hspec-core, hspec-expectations-lifted
-     , hspec-junit-formatter, http-client, http-conduit
-     , http-link-header, http-types, immortal, iproute, lens, lens-aeson
-     , load-env, monad-control, monad-logger, MonadRandom, mtl, network
-     , network-uri, persistent, persistent-postgresql, postgresql-simple
-     , primitive, process, resource-pool, retry, rio, template-haskell
+     , case-insensitive, conduit, containers, data-default, datadog
+     , directory, doctest, ekg-core, errors, exceptions, fast-logger
+     , filepath, Glob, hashable, hspec, hspec-core
+     , hspec-expectations-lifted, hspec-junit-formatter, http-client
+     , http-conduit, http-link-header, http-types, immortal, iproute
+     , lens, lens-aeson, load-env, monad-control, monad-logger
+     , MonadRandom, mtl, network, network-uri, persistent
+     , persistent-postgresql, postgresql-simple, primitive, process
+     , resource-pool, retry, rio, safe, semigroupoids, template-haskell
      , temporary, text, time, transformers, transformers-base, unliftio
-     , unliftio-core, unordered-containers, wai, wai-extra, yaml, yesod
-     , yesod-core
+     , unliftio-core, unordered-containers, vector, wai, wai-extra, yaml
+     , yesod, yesod-core
      }:
      mkDerivation {
        pname = "freckle-app";
-       version = "1.0.2.2";
-       sha256 = "1n7fp40v8zac1b9gmq07c6d5lnbjh64ma0ykh35v87kd3jdrf9rk";
+       version = "1.0.2.8";
+       sha256 = "072jq8bqxa7h067hplhwp8zfnx1ygfcg1yxjyj10lwxdmr3barsw";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring case-insensitive conduit
-         data-default datadog doctest ekg-core errors exceptions fast-logger
-         filepath Glob hspec hspec-core hspec-expectations-lifted
-         hspec-junit-formatter http-client http-conduit http-link-header
-         http-types immortal iproute lens load-env monad-control
-         monad-logger MonadRandom mtl network network-uri persistent
-         persistent-postgresql postgresql-simple primitive process
-         resource-pool retry rio template-haskell text time transformers
-         transformers-base unliftio unliftio-core unordered-containers wai
-         wai-extra yaml yesod yesod-core
+         containers data-default datadog doctest ekg-core errors exceptions
+         fast-logger filepath Glob hashable hspec hspec-core
+         hspec-expectations-lifted hspec-junit-formatter http-client
+         http-conduit http-link-header http-types immortal iproute lens
+         load-env monad-control monad-logger MonadRandom mtl network
+         network-uri persistent persistent-postgresql postgresql-simple
+         primitive process resource-pool retry rio safe semigroupoids
+         template-haskell text time transformers transformers-base unliftio
+         unliftio-core unordered-containers vector wai wai-extra yaml yesod
+         yesod-core
        ];
        testHaskellDepends = [
          aeson base bytestring directory hspec http-types lens lens-aeson
@@ -98664,10 +99630,8 @@ self: {
      }:
      mkDerivation {
        pname = "free-vector-spaces";
-       version = "0.1.5.0";
-       sha256 = "0rf6yhjcd2x4yj2jvyl6yc8x55a2hqhj5mxzg4f24734agh720z1";
-       revision = "4";
-       editedCabalFile = "07xkdzajkrswa69gazl0gpzayklafs883xz4xf8cawk58m5pr645";
+       version = "0.1.5.1";
+       sha256 = "14mch3p12sd44y272gg3qr6v0fp689y48fjbvhjbp62lipvxc9i4";
        libraryHaskellDepends = [
          base lens linear MemoTrie pragmatic-show vector vector-space
        ];
@@ -98829,10 +99793,8 @@ self: {
      }:
      mkDerivation {
        pname = "freer-simple";
-       version = "1.2.1.1";
-       sha256 = "0vqbri72xxk6is0kk2yxfpqxixq3h047rn153i16hhpppsp3xk17";
-       revision = "1";
-       editedCabalFile = "10c7m8v7s8pqmhyym014xnb875z41sh3sq27b7sy7j15ay0vw694";
+       version = "1.2.1.2";
+       sha256 = "11ypffdkpaxc03hlik6ymilhnk41fy7m92zzwqjma97g614vn0lw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -98845,7 +99807,7 @@ self: {
        benchmarkHaskellDepends = [
          base criterion extensible-effects free mtl
        ];
-       description = "Implementation of a friendly effect system for Haskell";
+       description = "A friendly effect system for Haskell";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -100166,8 +101128,8 @@ self: {
        pname = "functor-infix";
        version = "0.0.5";
        sha256 = "0rifm1p5zq2711vak2lyxzz2xs03saym3m3695wpf3zy38safbpn";
-       revision = "1";
-       editedCabalFile = "0nvk9hff0vd3s7q67pb4my5vfz1y954y0l8vlbbmdx9i20r1m8nf";
+       revision = "2";
+       editedCabalFile = "0ypnjnxwz4dpdhajqk8y67lrcwjgyc4lh1i3d3zjxmgr3zbym8d2";
        libraryHaskellDepends = [ base template-haskell ];
        description = "Infix operators for mapping over compositions of functors. Lots of them.";
        license = lib.licenses.mit;
@@ -100641,14 +101603,14 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
-  "futhark_0_21_1" = 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
      , directory, directory-tree, dlist, file-embed, filepath, free
-     , futhark-data, futhark-server, githash, half, happy, haskeline
-     , language-c-quote, mainland-pretty, megaparsec, mtl
-     , neat-interpolation, parallel, parser-combinators, process
+     , futhark-data, futhark-manifest, futhark-server, githash, half
+     , happy, haskeline, language-c-quote, mainland-pretty, megaparsec
+     , mtl, neat-interpolation, parallel, parser-combinators, process
      , process-extras, QuickCheck, random, regex-tdfa, srcloc, tasty
      , tasty-hunit, tasty-quickcheck, template-haskell, temporary
      , terminal-size, text, time, transformers, vector
@@ -100656,19 +101618,20 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.21.1";
-       sha256 = "0ba87d670i2hwa3hma46yx149f0f3q0blpl5v72434dzid575kx5";
+       version = "0.21.6";
+       sha256 = "1981w3yzzfhlqs5p98mdb5b3yhhck1lvcxx12j3krsa4raclf8s6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-terminal array base base16-bytestring binary blaze-html
          bmp bytestring bytestring-to-vector cmark-gfm containers
          cryptohash-md5 directory directory-tree dlist file-embed filepath
-         free futhark-data futhark-server githash half haskeline
-         language-c-quote mainland-pretty megaparsec mtl neat-interpolation
-         parallel process process-extras random regex-tdfa srcloc
-         template-haskell temporary terminal-size text time transformers
-         vector vector-binary-instances versions zip-archive zlib
+         free futhark-data futhark-manifest futhark-server githash half
+         haskeline language-c-quote mainland-pretty megaparsec mtl
+         neat-interpolation parallel process process-extras random
+         regex-tdfa srcloc template-haskell temporary terminal-size text
+         time transformers vector vector-binary-instances versions
+         zip-archive zlib
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base text ];
@@ -100728,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
@@ -102507,14 +103470,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "generic-lens_2_2_0_0" = callPackage
+  "generic-lens_2_2_1_0" = callPackage
     ({ mkDerivation, base, doctest, generic-lens-core, HUnit
      , inspection-testing, lens, profunctors, text
      }:
      mkDerivation {
        pname = "generic-lens";
-       version = "2.2.0.0";
-       sha256 = "0n61hrfciryl33w6vxd5p1yqjfxl02n717dahlvb6fxlg9339nxp";
+       version = "2.2.1.0";
+       sha256 = "17an4669igzs6pwzqxnpkx9gmxwz64p32d1zcinhh5agd56y70pa";
        libraryHaskellDepends = [
          base generic-lens-core profunctors text
        ];
@@ -102537,12 +103500,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "generic-lens-core_2_2_0_0" = callPackage
+  "generic-lens-core_2_2_1_0" = callPackage
     ({ mkDerivation, base, indexed-profunctors, text }:
      mkDerivation {
        pname = "generic-lens-core";
-       version = "2.2.0.0";
-       sha256 = "0nj6ldwfidbyid85076gy8f5sa02xnbdhn51pkyg4dfqqz4r4hg8";
+       version = "2.2.1.0";
+       sha256 = "08i4c9yb6z84iknrnl9f3f343121j7ilp0a679v81nsjm9xz3rlf";
        libraryHaskellDepends = [ base indexed-profunctors text ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
@@ -102568,8 +103531,8 @@ self: {
        pname = "generic-lens-lite";
        version = "0.1";
        sha256 = "07z00phy6h50bb4axlr57kin9l5fygi4q4j33rj5180ai2cbcpc6";
-       revision = "2";
-       editedCabalFile = "0516sqr5xplh57kdzcxx1fpsxwhmxc1bl9hxlcdif9hrjjb61rwg";
+       revision = "3";
+       editedCabalFile = "0srsqwncr5fkjcqk7ldfmd8q4y80ksbv9mvnzrw9lk2hywdagl8c";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Monomorphic field lens like with generic-lens";
@@ -102655,14 +103618,14 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "generic-optics_2_2_0_0" = callPackage
+  "generic-optics_2_2_1_0" = callPackage
     ({ mkDerivation, base, doctest, generic-lens-core, HUnit
      , inspection-testing, optics-core, text
      }:
      mkDerivation {
        pname = "generic-optics";
-       version = "2.2.0.0";
-       sha256 = "1iy7m5rs7rhk38zipwc018vcbkvlkpyr0rljkms6v0ajsvgkb783";
+       version = "2.2.1.0";
+       sha256 = "1bw7bbkrd1sfshzx7v1nbdnkxc82krw96x7vnl7myz9748m4472z";
        libraryHaskellDepends = [
          base generic-lens-core optics-core text
        ];
@@ -102681,8 +103644,8 @@ self: {
        pname = "generic-optics-lite";
        version = "0.1";
        sha256 = "0vf5sk1narj69pdhjqxjj0w3w3i5lxjxn8p98xp8dj0jws4mx9xi";
-       revision = "2";
-       editedCabalFile = "1ib6klb9ff27qw8y6icywldnq1p5z8fbkwkibsjyimbvvdk4lqki";
+       revision = "3";
+       editedCabalFile = "0f2dnsdl25s6cfdp7f97r2d9md82vn53dm5gry2pds791k1w4q53";
        libraryHaskellDepends = [ base generic-lens-lite optics-core ];
        testHaskellDepends = [ base optics-core ];
        description = "Monomorphic field opics like with generic-lens";
@@ -102912,8 +103875,8 @@ self: {
      }:
      mkDerivation {
        pname = "generics-sop";
-       version = "0.5.1.1";
-       sha256 = "1n65wjdbb9fswa43ys5k6c746c905877lw5ij33y66iabj5w7dw1";
+       version = "0.5.1.2";
+       sha256 = "098blydb7c7wg77dn658r0zb1z20vfkar1him1rqlq0da90437b3";
        libraryHaskellDepends = [
          base ghc-prim sop-core template-haskell th-abstraction
        ];
@@ -102931,8 +103894,8 @@ self: {
        pname = "generics-sop-lens";
        version = "0.2.0.1";
        sha256 = "1yl74pz6r2zf9sspzbqg6xvr6k9b5irq3c3pjrf5ih6hfrz4k1ks";
-       revision = "1";
-       editedCabalFile = "1y9v2imcrm8wyagv2d91x7zvdf358iz7460gqakhg9bgifjaylh1";
+       revision = "2";
+       editedCabalFile = "14rw0xyfhgyywyb7yghjaqnkpkx9dh0yz8y7l8phxzqgim5r8d1v";
        libraryHaskellDepends = [ base generics-sop lens ];
        description = "Lenses for types in generics-sop";
        license = lib.licenses.bsd3;
@@ -104562,10 +105525,8 @@ self: {
      }:
      mkDerivation {
        pname = "geojson";
-       version = "4.0.2";
-       sha256 = "0csbg4pdh686bxk689968bi94njx78iv1sm5g6lp915pg6cfnd66";
-       revision = "1";
-       editedCabalFile = "1ry2z0hwacbdwpxjbz1zfwc24094776xqshqdkq23r2gfgyy3m3k";
+       version = "4.0.4";
+       sha256 = "1a488bbm3hh5hz5i99xj697951c0ni0ynp5x44d7srhf08z1zgjm";
        libraryHaskellDepends = [
          aeson base containers deepseq lens scientific semigroups text
          transformers validation vector
@@ -105290,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
@@ -105363,12 +106344,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-exactprint_1_3_0" = callPackage
+  "ghc-exactprint_1_4_1" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "ghc-exactprint";
-       version = "1.3.0";
-       sha256 = "012ka8qxc340sijbn6sgwdpzdkk07kpbs6i8b71kwnpk5k5ahqdl";
+       version = "1.4.1";
+       sha256 = "0q9z43753arxbcs6mz26kz4dsz0c2i5hkxa125gl36vsipxfrq92";
+       isLibrary = true;
+       isExecutable = true;
+       description = "ExactPrint for GHC";
+       license = lib.licenses.bsd3;
+       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";
@@ -105446,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
@@ -105539,20 +106551,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_9_0_1_20210324" = callPackage
+  "ghc-lib_9_0_2_20211226" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-lib-parser
-     , ghc-prim, happy, hpc, pretty, process, time, transformers, unix
+     , ghc-prim, happy, hpc, parsec, pretty, process, rts, time
+     , transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.0.1.20210324";
-       sha256 = "1qzsm132jk84nvkyrmhmnhpccb2f07miwdcq7h11ljmd3c4c577a";
+       version = "9.0.2.20211226";
+       sha256 = "0988500fwl24nh1i2pv22332sx8hgi6b2229ff3drd9jgpp886x1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
-         exceptions filepath ghc-lib-parser ghc-prim hpc pretty process time
-         transformers unix
+         exceptions filepath ghc-lib-parser ghc-prim hpc parsec pretty
+         process rts time transformers unix
        ];
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
@@ -105560,7 +106573,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib_9_2_1_20211101" = callPackage
+  "ghc-lib_9_2_1_20220109" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-lib-parser
      , ghc-prim, happy, hpc, parsec, pretty, process, rts, time
@@ -105568,8 +106581,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.2.1.20211101";
-       sha256 = "10rzvj7m6m664szxjaf3mk1v42lb4imwkrvpqn26x7p3jd7ywph0";
+       version = "9.2.1.20220109";
+       sha256 = "0858r81w2al9h9q53z4paqkf3fvxraf3ghvb4ga4kilxiq5rp8z6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -105601,20 +106614,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_9_0_1_20210324" = callPackage
+  "ghc-lib-parser_9_0_2_20211226" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
-     , deepseq, directory, exceptions, filepath, ghc-prim, happy, hpc
+     , deepseq, directory, exceptions, filepath, ghc-prim, happy, parsec
      , pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.0.1.20210324";
-       sha256 = "1hl20lz8r9yhgh6hlakmbqp637h49mq3sdxciy4vsz3nhzy7nqqm";
+       version = "9.0.2.20211226";
+       sha256 = "0krf99pfnyfly22y5pgfsgpxfvbax9jivzjkhgg67hl0synladvz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
-         exceptions filepath ghc-prim hpc pretty process time transformers
-         unix
+         exceptions filepath ghc-prim parsec pretty process time
+         transformers unix
        ];
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
@@ -105622,15 +106635,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser_9_2_1_20211101" = callPackage
+  "ghc-lib-parser_9_2_1_20220109" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-prim, happy, parsec
      , pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.2.1.20211101";
-       sha256 = "0dxhpczlpppdsmn1cnz2minpkvlz27njzv7xcbqgfgl0bvp5wx0n";
+       version = "9.2.1.20220109";
+       sha256 = "0scm320w19lm40y2i1858h24704s9hvci37pxmlraxa0virjhcx6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -105663,14 +106676,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser-ex_9_0_0_4" = callPackage
+  "ghc-lib-parser-ex_9_0_0_6" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, extra
      , filepath, ghc-lib-parser, tasty, tasty-hunit, uniplate
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "9.0.0.4";
-       sha256 = "11j1k26h7px9fydrwi5x9d9ckivc4xdsw4gzb7xhpzdq60f8af66";
+       version = "9.0.0.6";
+       sha256 = "1lqhddx4sw2d407q12ny1ims4khjxgajlk07wvrw0wcgmx91dmc7";
        libraryHaskellDepends = [
          base bytestring containers ghc-lib-parser uniplate
        ];
@@ -106073,8 +107086,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-source-gen";
-       version = "0.4.2.0";
-       sha256 = "1cb4yb48xzpdlrbw3gp6gf6nmjgyy0i9yzh63scl872allv8jfm3";
+       version = "0.4.3.0";
+       sha256 = "1lhqsklibgiv51hs8mnrkn784rc5sxf5z8cfv8hf9jqlny50720f";
        libraryHaskellDepends = [ base ghc ];
        testHaskellDepends = [
          base ghc ghc-paths QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -106179,21 +107192,20 @@ self: {
      }) {};
 
   "ghc-tags-core" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, cpphs, criterion
-     , deepseq, directory, filepath, filepath-bytestring, ghc, lattices
-     , mtl, pipes, pipes-attoparsec, pipes-bytestring, QuickCheck
+    ({ mkDerivation, attoparsec, base, bytestring, criterion, deepseq
+     , directory, filepath, filepath-bytestring, ghc, lattices, mtl
+     , pipes, pipes-attoparsec, pipes-bytestring, QuickCheck
      , quickcheck-instances, tasty, tasty-golden, tasty-quickcheck, text
      , transformers
      }:
      mkDerivation {
        pname = "ghc-tags-core";
-       version = "0.3.0.0";
-       sha256 = "035k7akyhhn5jf2231ahplgggymc8h8k2kxia6i22v9cv976zgna";
+       version = "0.3.1.0";
+       sha256 = "052ylgf0sjwmkf1p1lzsisk9j1dgwpjgw1n81bnfhvlvarhncavq";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath-bytestring ghc mtl
          pipes pipes-attoparsec pipes-bytestring text transformers
        ];
-       libraryToolDepends = [ cpphs ];
        testHaskellDepends = [
          attoparsec base bytestring directory filepath filepath-bytestring
          lattices mtl pipes QuickCheck quickcheck-instances tasty
@@ -106217,8 +107229,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-tags-plugin";
-       version = "0.3.0.0";
-       sha256 = "1d39jnz79vlxqqg2bw3cj1djii3bkmayqs4sm2a6bs5xzsplc5w3";
+       version = "0.4.0.0";
+       sha256 = "078l3m6sl60ilqj25zd9sqjjpss348ylsbz8l7bvhf45n91gx6yn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106235,8 +107247,8 @@ self: {
     ({ mkDerivation, base, ghc, transformers }:
      mkDerivation {
        pname = "ghc-tcplugin-api";
-       version = "0.6.1.0";
-       sha256 = "1ic243jdvmm8sqzksx6hady2p7ca07as04hxvsxa3vh6b9nwwkk2";
+       version = "0.7.1.0";
+       sha256 = "02qmqmhlcfn53hs7wl92r65r6dcg01fdrwqn4capjlxs1bdsfpbr";
        libraryHaskellDepends = [ base ghc transformers ];
        description = "An API for type-checker plugins";
        license = lib.licenses.bsd3;
@@ -106309,6 +107321,8 @@ self: {
        pname = "ghc-typelits-extra";
        version = "0.4.3";
        sha256 = "06g40q0n2d10c2zksx5rrjkvm5ywi3rh41hbiwy4zs28x9idsv18";
+       revision = "1";
+       editedCabalFile = "0m6z24zmi169zifz1jg4zri0izr5z37qx33c9mphy74vd6ds3zzz";
        libraryHaskellDepends = [
          base containers ghc ghc-prim ghc-tcplugins-extra
          ghc-typelits-knownnat ghc-typelits-natnormalise integer-gmp
@@ -106350,6 +107364,8 @@ self: {
        pname = "ghc-typelits-natnormalise";
        version = "0.7.6";
        sha256 = "09d70iw58m5g6yi8k2b52f1g0pfdqm5fzhs8rd7fgrgmi70np9bx";
+       revision = "1";
+       editedCabalFile = "1b587pryjkbvgayqwm8cn7ljmcyd4jikrxxkgm6zq1v9qhi7xy22";
        libraryHaskellDepends = [
          base containers ghc ghc-tcplugins-extra integer-gmp transformers
        ];
@@ -106456,8 +107472,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghci-dap";
-       version = "0.0.16.0";
-       sha256 = "1ywlk4bf7m868vvd07vmzpv7d7xmw9haa16p13rx3kdf5rqc7wcv";
+       version = "0.0.17.0";
+       sha256 = "0w251vy5pw3c6503bfvvpr3r0s7xhs1dmp57wl52w94h6gnxf0wv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106626,46 +107642,46 @@ self: {
 
   "ghcide" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, async, base
-     , base16-bytestring, binary, bytestring, bytestring-encoding
-     , case-insensitive, containers, cryptohash-sha1, data-default
-     , deepseq, dependent-map, dependent-sum, Diff, directory, dlist
-     , exceptions, extra, filepath, fingertree, fuzzy, ghc, ghc-boot
-     , ghc-boot-th, ghc-check, ghc-exactprint, ghc-paths
-     , ghc-trace-events, ghc-typelits-knownnat, gitrev, Glob
-     , haddock-library, hashable, heapsize, hie-bios, hie-compat, hiedb
-     , hls-graph, hls-plugin-api, hp2pretty, hslogger, implicit-hie
-     , implicit-hie-cradle, lens, lsp, lsp-test, lsp-types
-     , monoid-subclasses, mtl, network-uri, opentelemetry
-     , optparse-applicative, parallel, prettyprinter
-     , prettyprinter-ansi-terminal, process, QuickCheck
-     , quickcheck-instances, record-dot-preprocessor, record-hasfield
-     , regex-tdfa, retrie, rope-utf16-splay, safe, safe-exceptions
-     , shake, shake-bench, sorted-list, sqlite-simple, stm, syb, tasty
-     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
-     , tasty-rerun, text, time, transformers, unix, unliftio
-     , unliftio-core, unordered-containers, utf8-string, vector
-     , vector-algorithms, yaml
+     , base16-bytestring, binary, bytestring, case-insensitive
+     , containers, cryptohash-sha1, data-default, deepseq, dependent-map
+     , dependent-sum, Diff, directory, dlist, exceptions, extra
+     , filepath, fingertree, focus, fuzzy, ghc, ghc-boot, ghc-boot-th
+     , ghc-check, ghc-exactprint, ghc-paths, ghc-trace-events
+     , ghc-typelits-knownnat, gitrev, Glob, haddock-library, hashable
+     , heapsize, hie-bios, hie-compat, hiedb, hls-graph, hls-plugin-api
+     , hp2pretty, hslogger, implicit-hie, implicit-hie-cradle, lens
+     , list-t, lsp, lsp-test, lsp-types, monoid-subclasses, mtl
+     , network-uri, opentelemetry, optparse-applicative, parallel
+     , prettyprinter, prettyprinter-ansi-terminal, process, QuickCheck
+     , quickcheck-instances, random, record-dot-preprocessor
+     , record-hasfield, regex-tdfa, retrie, rope-utf16-splay, safe
+     , safe-exceptions, shake, shake-bench, sorted-list, sqlite-simple
+     , stm, stm-containers, syb, tasty, tasty-expected-failure
+     , tasty-hunit, tasty-quickcheck, tasty-rerun, text, time
+     , transformers, unix, unliftio, unliftio-core, unordered-containers
+     , utf8-string, vector, vector-algorithms, yaml
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "1.5.0.1";
-       sha256 = "0z6fq9p6wikcgacnqg8brq0bkphd14h7g5absw53ya047vgp02gc";
+       version = "1.6.0.0";
+       sha256 = "0clmpgkywzrgsnmawi5l1n2hgymrkyijpqkqc38xsgxf8nsvmh8c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty array async base base16-bytestring binary
-         bytestring bytestring-encoding case-insensitive containers
-         cryptohash-sha1 data-default deepseq dependent-map dependent-sum
-         Diff directory dlist exceptions extra filepath fingertree fuzzy ghc
-         ghc-boot ghc-boot-th ghc-check ghc-exactprint ghc-paths
-         ghc-trace-events Glob haddock-library hashable heapsize hie-bios
-         hie-compat hiedb hls-graph hls-plugin-api hslogger
-         implicit-hie-cradle lens lsp lsp-types monoid-subclasses mtl
-         network-uri opentelemetry optparse-applicative parallel
-         prettyprinter prettyprinter-ansi-terminal regex-tdfa retrie
+         bytestring case-insensitive containers cryptohash-sha1 data-default
+         deepseq dependent-map dependent-sum Diff directory dlist exceptions
+         extra filepath fingertree focus fuzzy ghc ghc-boot ghc-boot-th
+         ghc-check ghc-exactprint ghc-paths ghc-trace-events Glob
+         haddock-library hashable heapsize hie-bios hie-compat hiedb
+         hls-graph hls-plugin-api hslogger implicit-hie-cradle lens list-t
+         lsp lsp-types monoid-subclasses mtl network-uri opentelemetry
+         optparse-applicative parallel prettyprinter
+         prettyprinter-ansi-terminal random regex-tdfa retrie
          rope-utf16-splay safe safe-exceptions sorted-list sqlite-simple stm
-         syb text time transformers unix unliftio unliftio-core
-         unordered-containers utf8-string vector vector-algorithms
+         stm-containers syb text time transformers unix unliftio
+         unliftio-core unordered-containers utf8-string vector
+         vector-algorithms
        ];
        executableHaskellDepends = [
          aeson base bytestring containers data-default directory extra
@@ -106676,11 +107692,12 @@ self: {
        testHaskellDepends = [
          aeson async base binary bytestring containers data-default
          directory extra filepath ghc ghc-typelits-knownnat haddock-library
-         hls-graph hls-plugin-api lens lsp lsp-test lsp-types network-uri
-         optparse-applicative process QuickCheck quickcheck-instances
-         record-dot-preprocessor record-hasfield regex-tdfa rope-utf16-splay
-         safe safe-exceptions shake tasty tasty-expected-failure tasty-hunit
-         tasty-quickcheck tasty-rerun text unordered-containers
+         hls-graph hls-plugin-api lens list-t lsp lsp-test lsp-types
+         network-uri optparse-applicative process QuickCheck
+         quickcheck-instances random record-dot-preprocessor record-hasfield
+         regex-tdfa rope-utf16-splay safe safe-exceptions shake
+         sqlite-simple stm stm-containers tasty tasty-expected-failure
+         tasty-hunit tasty-quickcheck tasty-rerun text unordered-containers
        ];
        testToolDepends = [ implicit-hie ];
        benchmarkHaskellDepends = [
@@ -107079,6 +108096,30 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "gi-adwaita" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gdk
+     , gi-gio, gi-gobject, gi-gtk, haskell-gi, haskell-gi-base
+     , haskell-gi-overloading, libadwaita, text, transformers
+     }:
+     mkDerivation {
+       pname = "gi-adwaita";
+       version = "1.0.1";
+       sha256 = "0l0n19ap2hvvl6kpwhqqr4n01xjc8rj9fl49ya2pbvxpjy97yqha";
+       setupHaskellDepends = [
+         base Cabal gi-gdk gi-gio gi-gobject gi-gtk haskell-gi
+       ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-gdk gi-gio gi-gobject gi-gtk
+         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ libadwaita ];
+       description = "Adwaita bindings";
+       license = lib.licenses.lgpl21Only;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
+     }) {inherit (pkgs) libadwaita;};
+
   "gi-atk" = callPackage
     ({ mkDerivation, atk, base, bytestring, Cabal, containers, gi-glib
      , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
@@ -109442,8 +110483,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "8.20211123";
-       sha256 = "0i9dhh601axv0b1i56yzn6jnfp160z530fp9pd557kpq4nbvg5kl";
+       version = "10.20220127";
+       sha256 = "06s80fa91cnn2r5n6d52lqqp3hpc4ksag82razs7sj19iwixan2w";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -110071,8 +111112,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.3.8";
-       sha256 = "1p8pmingim3vicmrzfs49b3xv71ihlvdd6cppbpa91vi3s2dh04v";
+       version = "1.3.10";
+       sha256 = "0snhmqrz9fr51fyydi02zi8p0sa44f0hqv1krybil0ymcaqk6796";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -110084,6 +111125,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "github-release_2_0_0_0" = callPackage
+    ({ mkDerivation, aeson, base, burrito, bytestring, http-client
+     , http-client-tls, http-types, mime-types, optparse-generic, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "github-release";
+       version = "2.0.0.0";
+       sha256 = "03bvbqpaa3xp9rnmg8a95qs9j7chng1xsk53f30520m1cfyyikgq";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base burrito bytestring http-client http-client-tls
+         http-types mime-types optparse-generic text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base burrito bytestring http-client http-client-tls
+         http-types mime-types optparse-generic text unordered-containers
+       ];
+       description = "Upload files to GitHub releases";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "github-rest" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, bytestring, http-client
      , http-client-tls, http-types, jwt, mtl, scientific, tasty
@@ -111594,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
@@ -111778,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
      }:
@@ -114169,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 = [
@@ -114574,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.0";
-       sha256 = "1gr59pxai34zhgf65vg20nrgwish3w9z6107qygnrpmfpi2axmq5";
+       version = "0.6.1.1";
+       sha256 = "1nip991jcv1pqa5zb83wdbf6pnimzp9d39az9zbvlvgkrrnkf522";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random lens lens-aeson mtl QuickCheck
@@ -114592,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;
@@ -115495,6 +116583,63 @@ self: {
        broken = true;
      }) {};
 
+  "graph-trace" = callPackage
+    ({ mkDerivation, base, bytestring, containers, ghc, ghc-boot
+     , ghc-prim, random, syb, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "graph-trace";
+       version = "0.1.0.1";
+       sha256 = "1pwlgn5w4rxrd0bx69d76li2cadfzfii79ynxvay9fp719bqgbqn";
+       libraryHaskellDepends = [
+         base bytestring containers ghc ghc-boot ghc-prim random syb
+         template-haskell transformers
+       ];
+       description = "Trace the call graph of a program";
+       license = lib.licenses.mit;
+     }) {};
+
+  "graph-trace-dot" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, bytestring
+     , containers, cryptohash-sha256, directory
+     }:
+     mkDerivation {
+       pname = "graph-trace-dot";
+       version = "0.1.1.2";
+       sha256 = "0wq6addzcigp21f5caljszzwcr8rhws49s93yr156c35nlcw98jl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base base16-bytestring bytestring containers
+         cryptohash-sha256 directory
+       ];
+       executableHaskellDepends = [
+         attoparsec base bytestring containers directory
+       ];
+       description = "Converts a graph-trace log into a DOT file for use with Graphviz";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "graph-trace-viz" = callPackage
+    ({ mkDerivation, base, bytestring, directory, file-embed
+     , graph-trace-dot, process
+     }:
+     mkDerivation {
+       pname = "graph-trace-viz";
+       version = "0.1.1.0";
+       sha256 = "1ic0866i47dx43asqm3g6b768841y56nl6r9lqv1xrxm3c38rxdi";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring directory file-embed graph-trace-dot process
+       ];
+       description = "Converts a graph-trace log into an HTML document";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "graph-utils" = callPackage
     ({ mkDerivation, base, containers, fgl, mtl, parsec, syb
      , template-haskell
@@ -115714,16 +116859,16 @@ self: {
      }:
      mkDerivation {
        pname = "graphql";
-       version = "1.0.1.0";
-       sha256 = "1kfrfmmapq5sjh0gs9g3hgr4s3780ihvzqw94h7mzngq2ikviqgh";
+       version = "1.0.2.0";
+       sha256 = "1wnamdj6d0m1qqngslwiv5s20f16v9000hn2jq7q4m3f2y2pf2kb";
        libraryHaskellDepends = [
          aeson base conduit containers exceptions hspec-expectations
          megaparsec parser-combinators scientific template-haskell text
          transformers unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base conduit exceptions hspec hspec-megaparsec megaparsec
-         QuickCheck scientific text unordered-containers
+         base conduit exceptions hspec hspec-megaparsec megaparsec
+         QuickCheck text unordered-containers
        ];
        description = "Haskell GraphQL implementation";
        license = "MPL-2.0 AND BSD-3-Clause";
@@ -116230,6 +117375,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "greskell_2_0_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, doctest, doctest-discover
+     , exceptions, greskell-core, hashable, hspec, hspec-discover
+     , semigroups, should-not-typecheck, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "greskell";
+       version = "2.0.0.0";
+       sha256 = "0havwzskc9abganrgj991r7szcagzw4vkm8qh6b7xqykdf4479xv";
+       libraryHaskellDepends = [
+         aeson base exceptions greskell-core hashable semigroups text
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring doctest doctest-discover greskell-core hspec
+         should-not-typecheck text unordered-containers
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       description = "Haskell binding for Gremlin graph query language";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "greskell-core" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, doctest
      , doctest-discover, hashable, hspec, hspec-discover, QuickCheck
@@ -116252,6 +117421,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "greskell-core_1_0_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, doctest
+     , doctest-discover, hashable, hspec, hspec-discover, QuickCheck
+     , scientific, semigroups, text, unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "greskell-core";
+       version = "1.0.0.0";
+       sha256 = "0b86rwghrbqzqk5vb9n6qsc4a12pbnwvvy20wdiv1g51dpyi440a";
+       libraryHaskellDepends = [
+         aeson base containers hashable scientific semigroups text
+         unordered-containers uuid vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring doctest doctest-discover hspec QuickCheck
+         text unordered-containers vector
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       description = "Haskell binding for Gremlin graph query language - core data types and tools";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "greskell-websocket" = callPackage
     ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
      , greskell-core, hashtables, hspec, hspec-discover, safe-exceptions
@@ -116275,6 +117467,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "greskell-websocket_1_0_0_0" = callPackage
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
+     , greskell-core, hashtables, hspec, hspec-discover, safe-exceptions
+     , stm, text, unordered-containers, uuid, vector, websockets
+     }:
+     mkDerivation {
+       pname = "greskell-websocket";
+       version = "1.0.0.0";
+       sha256 = "1nw8jz843080w6jq4j8bmqv9pz66va1yp36a0d1vkybhdhlxs5vy";
+       libraryHaskellDepends = [
+         aeson async base base64-bytestring bytestring greskell-core
+         hashtables safe-exceptions stm text unordered-containers uuid
+         vector websockets
+       ];
+       testHaskellDepends = [
+         aeson base bytestring greskell-core hspec unordered-containers uuid
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell client for Gremlin Server using WebSocket serializer";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "grid" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, test-framework
      , test-framework-quickcheck2
@@ -116511,8 +117727,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog";
-       version = "0.11.0";
-       sha256 = "1kx5jdzi7qrb399z23s5khvvllks5qyjl9y5spwssf6d6n9r6w82";
+       version = "0.12.0";
+       sha256 = "027yf5azppdnj1r0q3l6jzr3c06jh5sz06xhc4wsw0dckg16ai9g";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring containers
          monad-control mtl resourcet safe-exceptions scientific text time
@@ -116563,6 +117779,8 @@ self: {
        ];
        description = "Type-safe datatype-database mapping library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "groundhog-mysql" = callPackage
@@ -116572,8 +117790,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-mysql";
-       version = "0.11";
-       sha256 = "0xir9181c0h5f5hrg1drzd2g7cgr77zghg1i7fcwl6h9prpp6ira";
+       version = "0.12";
+       sha256 = "13s4wb5ppyymxxvb415p76rnhvqmw7s2ixbx1kr8adn1bpdlriqv";
        libraryHaskellDepends = [
          base bytestring containers groundhog monad-control monad-logger
          mysql mysql-simple resource-pool resourcet text time transformers
@@ -116591,8 +117809,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-postgresql";
-       version = "0.11";
-       sha256 = "0c8xqdsv1mi9pp1cnnbj8anf8mb3y6hjg965giw9jsmxf2b4d80x";
+       version = "0.12";
+       sha256 = "03l54srq5hlx70xvcfzp212zf2bdpil61q3kq6fhwqcrqklvwpy1";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers groundhog monad-control
          postgresql-libpq postgresql-simple resource-pool resourcet text
@@ -116609,8 +117827,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-sqlite";
-       version = "0.11.0";
-       sha256 = "03vnnja0rbk2v8qws0m37hs6imh001pj5hy00gx5xr7kwayvc13g";
+       version = "0.12.0";
+       sha256 = "07hnm4pja70algvcd3gzn6zwh2c3is4p6m2kcicpfhjiclhv8fqn";
        libraryHaskellDepends = [
          base bytestring containers direct-sqlite groundhog monad-control
          resource-pool resourcet text transformers unordered-containers
@@ -116625,8 +117843,10 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-th";
-       version = "0.11";
-       sha256 = "1rqzqwcvk9shgprgfvl54s67n3img2wnvq98mvbnmr6pfxgcy2az";
+       version = "0.12";
+       sha256 = "07s1i4s6nm91cp13dp163x32xvsylspra96nivj9f3svsbqfysxr";
+       revision = "1";
+       editedCabalFile = "1sa068wdcghyapwy6f6q2zi1i4dljv6205is34y1nvvr3xrgi75l";
        libraryHaskellDepends = [
          aeson base bytestring containers groundhog libyaml template-haskell
          text time unordered-containers yaml
@@ -119036,27 +120256,25 @@ self: {
 
   "hackage-security" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, base64-bytestring
-     , bytestring, Cabal, containers, cryptohash-sha256, directory
-     , ed25519, filepath, ghc-prim, lukko, mtl, network, network-uri
-     , parsec, pretty, QuickCheck, tar, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, temporary, time, transformers
-     , unordered-containers, vector, zlib
+     , bytestring, Cabal, Cabal-syntax, containers, cryptohash-sha256
+     , directory, ed25519, filepath, ghc-prim, lukko, mtl, network
+     , network-uri, parsec, pretty, QuickCheck, tar, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, temporary, text, time
+     , transformers, unordered-containers, vector, zlib
      }:
      mkDerivation {
        pname = "hackage-security";
-       version = "0.6.0.1";
-       sha256 = "05rgz31cmp52137j4jk0074z8lfgk8mrf2x56bzw28asmxrv8qli";
-       revision = "8";
-       editedCabalFile = "1xpzcdpfz0agbv75sadsylq6r8pq7zr0pyzbzrz0nz130yixsv5f";
+       version = "0.6.2.0";
+       sha256 = "1jqpxcpsrixpvficqw5vdfrksg568967ncmisnd3j3jw3sxja5q8";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
-         containers cryptohash-sha256 directory ed25519 filepath ghc-prim
-         lukko mtl network network-uri parsec pretty tar template-haskell
-         time transformers zlib
+         Cabal-syntax containers cryptohash-sha256 directory ed25519
+         filepath ghc-prim lukko mtl network network-uri parsec pretty tar
+         template-haskell time transformers zlib
        ];
        testHaskellDepends = [
          aeson base bytestring Cabal containers network-uri QuickCheck tar
-         tasty tasty-hunit tasty-quickcheck temporary time
+         tasty tasty-hunit tasty-quickcheck temporary text time
          unordered-containers vector zlib
        ];
        description = "Hackage security library";
@@ -119357,8 +120575,8 @@ self: {
     ({ mkDerivation, base, filepath, haddock-api }:
      mkDerivation {
        pname = "haddock";
-       version = "2.25.0";
-       sha256 = "0wjp13f7206g3j2g3lr4msf1anbhjqy9wbgfx382dnanxy80yr74";
+       version = "2.25.1";
+       sha256 = "1icwwpppi8djqjrfqcys6q8zxlpf14dna6j71qzzv4r9zdz5kr7r";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base haddock-api ];
@@ -119399,22 +120617,22 @@ self: {
   "haddock-api" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
      , directory, exceptions, filepath, ghc, ghc-boot, ghc-paths
-     , haddock-library, hspec, hspec-discover, mtl, QuickCheck
+     , haddock-library, hspec, hspec-discover, mtl, parsec, QuickCheck
      , transformers, xhtml
      }:
      mkDerivation {
        pname = "haddock-api";
-       version = "2.25.0";
-       sha256 = "1f0gbdlr2kvwagni3416q8jhhjh1b3h1cda5znlmgwdcg9bmcr17";
+       version = "2.25.1";
+       sha256 = "1zcgpzhnavkgf8pk4wr15rmcm4y6fz3jr03zg5gw9347hkxn0ry7";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory exceptions
-         filepath ghc ghc-boot ghc-paths haddock-library mtl transformers
-         xhtml
+         filepath ghc ghc-boot ghc-paths haddock-library mtl parsec
+         transformers xhtml
        ];
        testHaskellDepends = [
          array base bytestring containers deepseq directory exceptions
-         filepath ghc ghc-boot ghc-paths haddock-library hspec mtl
+         filepath ghc ghc-boot ghc-paths haddock-library hspec mtl parsec
          QuickCheck transformers xhtml
        ];
        testToolDepends = [ hspec-discover ];
@@ -120064,10 +121282,10 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll";
-       version = "4.15.1.0";
-       sha256 = "18nhpnhi63xvmb14khw1ad8rwj2lxdyhpc58gnmr9vb5zz2db6bh";
+       version = "4.15.1.1";
+       sha256 = "0b3bw275q1xbx8qs9a6gzzs3c9z3qdj7skqhpp09jkchi5kdvhvi";
        revision = "1";
-       editedCabalFile = "1kxdvh7250nvfdz5wnchyqhghhp05i06sfnjg9ar17p0wyqzv46z";
+       editedCabalFile = "020nb84lc4xl87zysy5v81f91aw494r5aa917z08vw2zsd3jdl9g";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -120387,8 +121605,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-images";
-       version = "1.1.1";
-       sha256 = "18jzj2dw7hzcwf37w4n64pnkxkypqwnnjp92kjn74w1xcg9lwj5k";
+       version = "1.2.0";
+       sha256 = "0y15saxicm3i7ix8nzhhzcr4v9kpsgm22w2sv46107iabfhwna46";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base binary bytestring hakyll JuicyPixels JuicyPixels-extra
@@ -120948,8 +122166,8 @@ self: {
      }:
      mkDerivation {
        pname = "hamtsolo";
-       version = "1.0.3";
-       sha256 = "0dbhpdfmbs6ydin2p75wqia9lcrw82gfv3kx8659gnw2ll3dmpnh";
+       version = "1.0.4";
+       sha256 = "1zgkwj2q3jpg6x6acrq2dbp0n0gps2wrrg2wx4ybpvy9vbw9qppc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -121511,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
@@ -121883,8 +123101,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-server";
-       version = "7.7.1.1";
-       sha256 = "0nc5rnvrzl9m3pinmdq234m80qkf4jszbdqnd567f7lh09yiqw9n";
+       version = "7.7.1.2";
+       sha256 = "0hd1qwgmk547vqpjvpbdgnq815j1rnniwffrcbr9igv6xzkxzdzc";
        libraryHaskellDepends = [
          base base64-bytestring blaze-html bytestring containers directory
          exceptions extensible-exceptions filepath hslogger html
@@ -122447,8 +123665,8 @@ self: {
      }:
      mkDerivation {
        pname = "has-transformers";
-       version = "0.1.0.3";
-       sha256 = "0mrz11hxm7nyxyirfz8f63w1mxf3snprrxvh2vvhmmi8p3wlay6n";
+       version = "0.1.0.4";
+       sha256 = "1wm8dwgcg1m2104lzgk3vdvng5mvh4xcn736nyarb9q6p99i0bq3";
        libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base hspec operational ];
        testToolDepends = [ hspec-discover ];
@@ -122768,7 +123986,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "hashable_1_4_0_1" = callPackage
+  "hashable_1_4_0_2" = callPackage
     ({ mkDerivation, base, base-orphans, bytestring, containers
      , deepseq, ghc-prim, HUnit, integer-gmp, QuickCheck, random
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -122776,10 +123994,8 @@ self: {
      }:
      mkDerivation {
        pname = "hashable";
-       version = "1.4.0.1";
-       sha256 = "04v61w87hvm6lg9a7p5mz177iab3rvb86pzcclcdw0w314dsxpaw";
-       revision = "1";
-       editedCabalFile = "1rcvw4fjm3v29phg0q54x8358c4qvg1y8cwy6lqzmg1kvhd9qp63";
+       version = "1.4.0.2";
+       sha256 = "003nlhi8wzlsikfwi0q6ma3b38wizvazci6dbq3lr4bd6pfnwq43";
        libraryHaskellDepends = [
          base base-orphans bytestring containers deepseq ghc-prim
          integer-gmp text
@@ -122962,13 +124178,13 @@ self: {
      }) {};
 
   "hashids" = callPackage
-    ({ mkDerivation, base, bytestring, containers, split }:
+    ({ mkDerivation, base, bytestring, containers, hedgehog, split }:
      mkDerivation {
        pname = "hashids";
-       version = "1.0.2.4";
-       sha256 = "1kzkyni9hfwpvyq9rdv62iziwiax5avzd05ghsh7dgnylv41z697";
+       version = "1.0.2.7";
+       sha256 = "1zl43g73czc4253a235vnnsv64m5rf7337q7qjgfrfb0pjyxsj55";
        libraryHaskellDepends = [ base bytestring containers split ];
-       testHaskellDepends = [ base bytestring containers split ];
+       testHaskellDepends = [ base bytestring containers hedgehog split ];
        description = "Hashids generates short, unique, non-sequential ids from numbers";
        license = lib.licenses.mit;
      }) {};
@@ -123614,8 +124830,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-ci";
-       version = "0.12.1";
-       sha256 = "0bdb3x2kk5nqm6ly2ycdpx6xw7pspgg67x73cjscqj6pxcx1wjzf";
+       version = "0.14";
+       sha256 = "1vaxbby4sfrzzr0bzw6dv3kb9f6k3i4w16xfxvm3h2jazrw56122";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -124155,29 +125371,31 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, async, base
      , base16-bytestring, binary, bytestring, containers
      , cryptohash-sha1, data-default, deepseq, directory, extra
-     , filepath, ghc, ghc-boot-th, ghc-paths, ghcide, gitrev, hashable
-     , hie-bios, hiedb, hls-brittany-plugin, hls-call-hierarchy-plugin
-     , hls-class-plugin, hls-eval-plugin, hls-explicit-imports-plugin
-     , hls-floskell-plugin, hls-fourmolu-plugin, hls-graph
-     , hls-haddock-comments-plugin, hls-hlint-plugin
-     , hls-module-name-plugin, hls-ormolu-plugin, hls-plugin-api
-     , hls-pragmas-plugin, hls-refine-imports-plugin, hls-retrie-plugin
-     , hls-splice-plugin, hls-stylish-haskell-plugin, hls-tactics-plugin
-     , hls-test-utils, hslogger, hspec-expectations, lens, lsp, lsp-test
+     , filepath, ghc, ghc-boot-th, ghc-paths, ghcide, githash, gitrev
+     , hashable, hie-bios, hiedb, hls-alternate-number-format-plugin
+     , hls-brittany-plugin, hls-call-hierarchy-plugin, hls-class-plugin
+     , hls-eval-plugin, hls-explicit-imports-plugin, hls-floskell-plugin
+     , hls-fourmolu-plugin, hls-graph, hls-haddock-comments-plugin
+     , hls-hlint-plugin, hls-module-name-plugin, hls-ormolu-plugin
+     , hls-plugin-api, hls-pragmas-plugin
+     , hls-qualify-imported-names-plugin, hls-refine-imports-plugin
+     , hls-retrie-plugin, hls-selection-range-plugin, hls-splice-plugin
+     , hls-stylish-haskell-plugin, hls-tactics-plugin, hls-test-utils
+     , hslogger, hspec-expectations, lens, lens-aeson, lsp, lsp-test
      , lsp-types, mtl, optparse-applicative, optparse-simple, process
-     , regex-tdfa, safe-exceptions, sqlite-simple, temporary, text
+     , regex-tdfa, safe-exceptions, sqlite-simple, stm, temporary, text
      , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-language-server";
-       version = "1.5.1.0";
-       sha256 = "0aixq570sbrg9nnhaxlj8lv3k1dskbz53iwp5c1ljgrlmsz786ky";
+       version = "1.6.1.1";
+       sha256 = "03z650zk7ma0gsmb7mirzarwg0535kwmwyf0h8a89s8bqfcd5mxf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson-pretty async base base16-bytestring bytestring containers
          cryptohash-sha1 data-default directory extra filepath ghc ghcide
-         gitrev hie-bios hiedb hls-graph hls-plugin-api hslogger lsp
+         githash hie-bios hiedb hls-graph hls-plugin-api hslogger lsp
          optparse-applicative optparse-simple process safe-exceptions
          sqlite-simple text unordered-containers
        ];
@@ -124185,20 +125403,24 @@ self: {
          aeson async base base16-bytestring binary bytestring containers
          cryptohash-sha1 data-default deepseq directory extra filepath ghc
          ghc-boot-th ghc-paths ghcide gitrev hashable hie-bios hiedb
-         hls-brittany-plugin hls-call-hierarchy-plugin hls-class-plugin
-         hls-eval-plugin hls-explicit-imports-plugin hls-floskell-plugin
-         hls-fourmolu-plugin hls-graph hls-haddock-comments-plugin
-         hls-hlint-plugin hls-module-name-plugin hls-ormolu-plugin
-         hls-plugin-api hls-pragmas-plugin hls-refine-imports-plugin
-         hls-retrie-plugin hls-splice-plugin hls-stylish-haskell-plugin
-         hls-tactics-plugin hslogger lens lsp mtl optparse-applicative
-         optparse-simple process regex-tdfa safe-exceptions sqlite-simple
-         temporary text transformers unordered-containers
+         hls-alternate-number-format-plugin hls-brittany-plugin
+         hls-call-hierarchy-plugin hls-class-plugin hls-eval-plugin
+         hls-explicit-imports-plugin hls-floskell-plugin hls-fourmolu-plugin
+         hls-graph hls-haddock-comments-plugin hls-hlint-plugin
+         hls-module-name-plugin hls-ormolu-plugin hls-plugin-api
+         hls-pragmas-plugin hls-qualify-imported-names-plugin
+         hls-refine-imports-plugin hls-retrie-plugin
+         hls-selection-range-plugin hls-splice-plugin
+         hls-stylish-haskell-plugin hls-tactics-plugin hslogger lens lsp mtl
+         optparse-applicative optparse-simple process regex-tdfa
+         safe-exceptions sqlite-simple stm temporary text transformers
+         unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring containers data-default directory extra
          filepath ghcide hls-plugin-api hls-test-utils hspec-expectations
-         lens lsp-test lsp-types process text unordered-containers
+         lens lens-aeson lsp-test lsp-types process text
+         unordered-containers
        ];
        testToolDepends = [ ghcide ];
        description = "LSP server for GHC";
@@ -124749,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";
@@ -124896,10 +126116,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.7";
-       sha256 = "1yy2dfb1ip1zqx3xh28g92209555abzvxrxiwcl95j27zzqxc6in";
-       revision = "1";
-       editedCabalFile = "1xf1rrbqa6fsr072xv4j4h687kk3glr9vlf16as6pdfaq7h5mz73";
+       version = "0.8.9";
+       sha256 = "0y3hnqg33pqzc66nl58va8lvwvmb0mx5q0p9r55i6cc3xwjahiyx";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -125900,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
        ];
@@ -126411,8 +127629,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.62.1";
-       sha256 = "12s8qwhxm8llz4asyapvd3mi8g9iv3yw65vyi55960cncvnha8a0";
+       version = "0.64.19";
+       sha256 = "1vbq7wq26lc1kknrfcrxlvfbadkxjrzbv6biqkvwylg3m7iwdd7d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -126459,8 +127677,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "0.62.1";
-       sha256 = "1v66d369fda1prcb8knmszi8kgp2x321pmdk8mwdd3059vcvsw84";
+       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
@@ -127322,6 +128540,33 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hasql_1_5_0_2" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring
+     , bytestring-strict-builder, contravariant, contravariant-extras
+     , dlist, gauge, hashable, hashtables, mtl, postgresql-binary
+     , postgresql-libpq, profunctors, QuickCheck, quickcheck-instances
+     , rerebase, tasty, tasty-hunit, tasty-quickcheck, text
+     , text-builder, transformers, vector
+     }:
+     mkDerivation {
+       pname = "hasql";
+       version = "1.5.0.2";
+       sha256 = "1f9faq0f2bilylc0rd64s0icrp086qb0q70w4z4vih2hs0sx6fs0";
+       libraryHaskellDepends = [
+         attoparsec base bytestring bytestring-strict-builder contravariant
+         dlist hashable hashtables mtl postgresql-binary postgresql-libpq
+         profunctors text text-builder transformers vector
+       ];
+       testHaskellDepends = [
+         contravariant-extras QuickCheck quickcheck-instances rerebase tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ gauge rerebase ];
+       description = "An efficient PostgreSQL driver with a flexible mapping API";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hasql-backend" = callPackage
     ({ mkDerivation, base, base-prelude, bytestring, either, free
      , list-t, text, transformers, vector
@@ -127467,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;
@@ -127532,8 +128777,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.3.0.6";
-       sha256 = "16k6k2qp8avnlsidyjk458lags2633789wvvwdy4xgmiqs1riqr9";
+       version = "0.3.0.8";
+       sha256 = "1yx56vi1dpymxk5c3rkk74bbghcxfp6x333xn2j4x2ls38676dvg";
        libraryHaskellDepends = [
          base-prelude hasql hasql-pool optparse-applicative
        ];
@@ -127560,8 +128805,8 @@ self: {
     ({ mkDerivation, base-prelude, hasql, hspec, resource-pool, time }:
      mkDerivation {
        pname = "hasql-pool";
-       version = "0.5.2";
-       sha256 = "0l870d58a53akwbzgrcxfmz8mqc598qh1786d5ks937q0w219wlz";
+       version = "0.5.2.2";
+       sha256 = "0sr8ifvkyd5g7ajaqd7bbqgfpnpkazv7fbq5ix07h94kdf1idqq5";
        libraryHaskellDepends = [ base-prelude hasql resource-pool time ];
        testHaskellDepends = [ base-prelude hasql hspec ];
        description = "A pool of connections for Hasql";
@@ -127671,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
@@ -127678,8 +129028,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.4.0.9";
-       sha256 = "0z3falhkyyqpzqh116xwzvjj0xb391bwahh64sasnw4vf2i0drb9";
+       version = "0.4.0.11";
+       sha256 = "1dkx0r874qzn2kb8wimr1n75vmx70jx5ddi8088dlw5cxhj2v950";
        libraryHaskellDepends = [
          base bytestring containers contravariant foldl hasql
          postgresql-syntax template-haskell template-haskell-compat-v0208
@@ -127697,8 +129047,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-transaction";
-       version = "1.0.1";
-       sha256 = "1a83x2jrv9bhjrxfgvqfwrqv5cx1f401rmvz0k44yww5p816jk9s";
+       version = "1.0.1.1";
+       sha256 = "0ajk7g9sk83sig2bkfajxpwasqrswxr0f82mxzwfy9j08z3ks235";
        libraryHaskellDepends = [
          base bytestring bytestring-tree-builder contravariant
          contravariant-extras hasql mtl transformers
@@ -127708,6 +129058,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hasql-transaction-io" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-tree-builder, hasql
+     , mtl, resourcet, safe-exceptions, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "hasql-transaction-io";
+       version = "0.1.0.0";
+       sha256 = "0cqm6c4axivxvw5r35ass9qa0bmgxnz7n8d8l12vz78nsfxp76ci";
+       libraryHaskellDepends = [
+         base bytestring bytestring-tree-builder hasql mtl resourcet
+         safe-exceptions transformers unliftio-core
+       ];
+       description = "Perform IO actions during transactions for Hasql";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hasql-url" = callPackage
     ({ mkDerivation, base, bytestring, hasql, network-uri, split, tasty
      , tasty-quickcheck
@@ -129541,21 +130909,23 @@ self: {
   "headroom" = callPackage
     ({ mkDerivation, aeson, base, doctest, either, extra, file-embed
      , generic-data, hspec, hspec-discover, http-client, http-types
-     , microlens, microlens-th, modern-uri, mtl, mustache
-     , optparse-applicative, pcre-heavy, pcre-light, QuickCheck, req
-     , rio, string-interpolate, template-haskell, time, vcs-ignore, yaml
+     , microlens, microlens-aeson, microlens-th, modern-uri, mtl
+     , mustache, optparse-applicative, pcre-heavy, pcre-light
+     , persistent, persistent-sqlite, QuickCheck, req, rio
+     , string-interpolate, template-haskell, time, vcs-ignore, yaml
      }:
      mkDerivation {
        pname = "headroom";
-       version = "0.4.2.0";
-       sha256 = "1rg1n3pa6lh1a1flk8g8r5m1s77hl0cyd0c129rw8h1w2w2kkpj0";
+       version = "0.4.3.0";
+       sha256 = "17y1v6kfh1zbyqww5a4v54xqn06ix4ba8rr5dk8nfh5qsgf211d7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base either extra file-embed generic-data http-client
-         http-types microlens microlens-th modern-uri mtl mustache
-         optparse-applicative pcre-heavy pcre-light req rio
-         string-interpolate template-haskell time vcs-ignore yaml
+         http-types microlens microlens-aeson microlens-th modern-uri mtl
+         mustache optparse-applicative pcre-heavy pcre-light persistent
+         persistent-sqlite req rio string-interpolate template-haskell time
+         vcs-ignore yaml
        ];
        executableHaskellDepends = [ base optparse-applicative rio ];
        testHaskellDepends = [
@@ -129787,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
@@ -129818,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;
@@ -129938,8 +131308,8 @@ self: {
        pname = "hedgehog";
        version = "1.0.5";
        sha256 = "1qsqs8lmxa3wmw228cwi98vvvh9hqbc9d43i1sy2c9igw9xlhfi6";
-       revision = "1";
-       editedCabalFile = "0vqjjjvnbb601f6lwm90x80wb6rxhnvi4p8g04g15bfs3kxqw44z";
+       revision = "2";
+       editedCabalFile = "1p6vixwflgz2y1fc94kqxiv8s5jvq63xhp56cqwpw2s7d7g5chx1";
        libraryHaskellDepends = [
          ansi-terminal async base bytestring concurrent-output containers
          deepseq directory erf exceptions lifted-async mmorph monad-control
@@ -129954,6 +131324,33 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
+  "hedgehog_1_1_1" = callPackage
+    ({ mkDerivation, ansi-terminal, async, barbies, base, bytestring
+     , concurrent-output, containers, deepseq, directory, erf
+     , exceptions, lifted-async, mmorph, monad-control, mtl, pretty-show
+     , primitive, random, resourcet, stm, template-haskell, text, time
+     , transformers, transformers-base, wl-pprint-annotated
+     }:
+     mkDerivation {
+       pname = "hedgehog";
+       version = "1.1.1";
+       sha256 = "1qx7bjcdgczvz5xhrqz25lray9rk3wrhzqfc5vpjnvgkzvnj3mny";
+       libraryHaskellDepends = [
+         ansi-terminal async barbies base bytestring concurrent-output
+         containers deepseq directory erf exceptions lifted-async mmorph
+         monad-control mtl pretty-show primitive random resourcet stm
+         template-haskell text time transformers transformers-base
+         wl-pprint-annotated
+       ];
+       testHaskellDepends = [
+         base containers mmorph mtl pretty-show text transformers
+       ];
+       description = "Release with confidence";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ maralorn ];
+     }) {};
+
   "hedgehog-checkers" = callPackage
     ({ mkDerivation, base, containers, either, hedgehog, semigroupoids
      , semigroups
@@ -129992,6 +131389,8 @@ self: {
        pname = "hedgehog-classes";
        version = "0.2.5.3";
        sha256 = "1qanfnvciykm5hmiqyf0icn4xn16v6zvlfal98lphhcmym26m9x1";
+       revision = "1";
+       editedCabalFile = "0nq1qj1hmyihyvbj0l6hdbrpk8fjf2kn97abiap5v8hdvcnznhjy";
        libraryHaskellDepends = [
          aeson base binary comonad containers hedgehog pretty-show primitive
          semirings silently transformers vector wl-pprint-annotated
@@ -130018,8 +131417,8 @@ self: {
     ({ mkDerivation, base, containers, fakedata, hedgehog, random }:
      mkDerivation {
        pname = "hedgehog-fakedata";
-       version = "0.0.1.4";
-       sha256 = "1pa8kf6pxsvmfy8r29xk486cdi38881blqj1lcnjya98ilb6ldx3";
+       version = "0.0.1.5";
+       sha256 = "00k26d83v0646klrg0k3cf94r4fnnx3ykxv7i8shjjgbkbzlzz78";
        libraryHaskellDepends = [ base fakedata hedgehog random ];
        testHaskellDepends = [ base containers fakedata hedgehog ];
        description = "Use 'fakedata' with 'hedgehog'";
@@ -130032,6 +131431,8 @@ self: {
        pname = "hedgehog-fn";
        version = "1.0";
        sha256 = "05drd7jsz54kgwxr5z9vifmql6xif7ma7878qddw2nss5s6wa2qp";
+       revision = "1";
+       editedCabalFile = "1rl2mf182yrlpgcm2130lsnq5jwrcpp16x6p47i27kjrpbm55g54";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130130,8 +131531,8 @@ self: {
        pname = "hedgehog-quickcheck";
        version = "0.1.1";
        sha256 = "1z2ja63wqz83qhwzh0zs98k502v8fjdpnsnhqk3srypx2nw5vdlp";
-       revision = "1";
-       editedCabalFile = "0ddmwz3ngamij2k4paf7508dnzqn4qjpgwypbpr8d6s2y95jbvfh";
+       revision = "2";
+       editedCabalFile = "1n7icqychb94j7s8msmih3h573vf17pn1sq79nkqric3wwf74rdp";
        libraryHaskellDepends = [ base hedgehog QuickCheck transformers ];
        description = "Use QuickCheck generators in Hedgehog and vice versa";
        license = lib.licenses.bsd3;
@@ -130189,23 +131590,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "hedis_0_15_0" = callPackage
+  "hedis_0_15_1" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-lexing
      , containers, deepseq, doctest, errors, exceptions, HTTP, HUnit
      , mtl, network, network-uri, resource-pool, scanner, stm
      , test-framework, test-framework-hunit, text, time, tls
-     , unordered-containers, vector
+     , unliftio-core, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.15.0";
-       sha256 = "1wcsjvya9hnvgjl9vnimi3928fx2gy0glgdc30slfwnjpijs97n0";
-       revision = "1";
-       editedCabalFile = "0njy7nh5r935xb0za9r0hligqy0nzwlfnzlfqcvb1frkzxissydp";
+       version = "0.15.1";
+       sha256 = "1a09i21qmzjcx171452bm69cj188f1jha2gwj0yi7shimcqz3l8m";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing containers deepseq errors
          exceptions HTTP mtl network network-uri resource-pool scanner stm
-         text time tls unordered-containers vector
+         text time tls unliftio-core unordered-containers vector
        ];
        testHaskellDepends = [
          async base bytestring doctest HUnit mtl stm test-framework
@@ -130538,8 +131937,8 @@ self: {
      }:
      mkDerivation {
        pname = "helic";
-       version = "0.3.1.0";
-       sha256 = "1bshhddy04w5p6546fxdvk11g6pq781dp4mf4r84qqi7avfjp0xk";
+       version = "0.3.2.0";
+       sha256 = "1q6dg44fqfpkgc3148lw9srhg0kjw41hd6cda8xb1bkijj0lajrh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130980,8 +132379,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-agent";
-       version = "0.8.4";
-       sha256 = "1w93027i5kddn1rj5dgnmvgsadfv3s6ziyga4k3mp094wx2g6syy";
+       version = "0.8.5";
+       sha256 = "1m1hak1ckch84ld2x0pg7jz6gixxanbjdhslmlygpgxaq1757hax";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131250,6 +132649,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hermes-json" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-iso8601, base
+     , bytestring, containers, deepseq, dlist, hedgehog, mtl, scientific
+     , tasty, tasty-hedgehog, text, time, time-compat, transformers
+     , unliftio, unliftio-core
+     }:
+     mkDerivation {
+       pname = "hermes-json";
+       version = "0.1.0.1";
+       sha256 = "1c9z85dlzsnnr64xyp2ksqbfjzmm7k8gk3n208wyvbvl7mmrmrqf";
+       libraryHaskellDepends = [
+         attoparsec attoparsec-iso8601 base bytestring deepseq dlist mtl
+         scientific text time time-compat transformers unliftio
+         unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers hedgehog scientific tasty
+         tasty-hedgehog text time
+       ];
+       description = "Fast JSON decoding via simdjson C++ bindings";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hermit" = callPackage
     ({ mkDerivation, alex, ansi-terminal, array, base, containers
      , data-default-class, directory, fail, filepath, ghc, ghc-paths
@@ -131621,10 +133045,6 @@ self: {
        testSystemDepends = [ secp256k1 ];
        description = "Ethereum virtual machine evaluator";
        license = lib.licenses.agpl3Only;
-       platforms = [
-         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
-         "x86_64-linux"
-       ];
      }) {inherit (pkgs) libff; inherit (pkgs) secp256k1;};
 
   "hevolisa" = callPackage
@@ -133092,18 +134512,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "hie-bios_0_8_0" = callPackage
+  "hie-bios_0_8_1" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , conduit, conduit-extra, containers, cryptohash-sha1, deepseq
      , directory, exceptions, extra, file-embed, filepath, ghc, hslogger
-     , hspec-expectations, optparse-applicative, process, tasty
-     , tasty-expected-failure, tasty-hunit, temporary, text, time
-     , transformers, unix-compat, unordered-containers, vector, yaml
+     , optparse-applicative, process, tasty, tasty-expected-failure
+     , tasty-hunit, temporary, text, time, transformers, unix-compat
+     , unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.8.0";
-       sha256 = "1apy7zdafrw96f7sbhhq62hlk4blcsi4kc4kq59wcm2yvj134rvv";
+       version = "0.8.1";
+       sha256 = "1rd0aasab8z8ilwyzngvs99wbb861hlmc8bmmnnfgd742xldxs2q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133116,7 +134536,7 @@ self: {
          base directory filepath ghc optparse-applicative
        ];
        testHaskellDepends = [
-         aeson base directory extra filepath ghc hspec-expectations tasty
+         aeson base directory extra filepath ghc tasty
          tasty-expected-failure tasty-hunit temporary text
          unordered-containers yaml
        ];
@@ -133131,8 +134551,8 @@ self: {
      }:
      mkDerivation {
        pname = "hie-compat";
-       version = "0.2.1.0";
-       sha256 = "0dl48y5ijr73dc1lrarvfz6bivxg42ll4y339saw1y5xmgw1c5w7";
+       version = "0.2.1.1";
+       sha256 = "054ll31b2j31a2yjcz7q7zxqyyszrkbaz4kzxhih4k84v9h0nhk6";
        libraryHaskellDepends = [
          array base bytestring containers directory filepath ghc ghc-boot
          transformers
@@ -133187,31 +134607,6 @@ self: {
      }:
      mkDerivation {
        pname = "hiedb";
-       version = "0.4.0.0";
-       sha256 = "1frcl9mxmn97qc97l3kw21ksapyndn6jq7yfxxrr0fvzn7jji7wv";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         algebraic-graphs ansi-terminal array base bytestring containers
-         directory extra filepath ghc hie-compat lucid mtl
-         optparse-applicative sqlite-simple terminal-size text
-       ];
-       executableHaskellDepends = [ base ghc-paths ];
-       testHaskellDepends = [
-         base directory filepath ghc ghc-paths hspec process temporary
-       ];
-       description = "Generates a references DB from .hie files";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hiedb_0_4_1_0" = callPackage
-    ({ mkDerivation, algebraic-graphs, ansi-terminal, array, base
-     , bytestring, containers, directory, extra, filepath, ghc
-     , ghc-paths, hie-compat, hspec, lucid, mtl, optparse-applicative
-     , process, sqlite-simple, temporary, terminal-size, text
-     }:
-     mkDerivation {
-       pname = "hiedb";
        version = "0.4.1.0";
        sha256 = "1389qmlga5rq8has02rn35pzag5wnfpx3w77r60mzl3b4pkpzi7i";
        isLibrary = true;
@@ -133227,7 +134622,6 @@ self: {
        ];
        description = "Generates a references DB from .hie files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hieraclus" = callPackage
@@ -134850,8 +136244,8 @@ self: {
        pname = "hkd";
        version = "0.1";
        sha256 = "1xz0i8lkh0rp55b0s7npkzqgyz9pf1bwq9b66cwbg073r9sz41wa";
-       revision = "2";
-       editedCabalFile = "19z00b29z095fp9jxp0n7k1dgm980j9i94aysqd0mm1yjvxvn1k5";
+       revision = "3";
+       editedCabalFile = "0801yrh576b5yvglv0ywzhqfqda376bc10frgdkc0phi5c7qmnj4";
        libraryHaskellDepends = [ base some ];
        testHaskellDepends = [ base some ];
        description = "\"higher-kinded data\"";
@@ -135687,10 +137081,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "3.2.7";
-       sha256 = "0z6gxndrh7blzapkdn6fq1pkbkjlmbgjbq9ydnvy2wm00fb3v73g";
-       revision = "2";
-       editedCabalFile = "0p2d3pi268jkb3hz750apjn917kr40hhamc2apgiv08chqyk82bj";
+       version = "3.2.8";
+       sha256 = "14nvq71kn1lhqx02r69f949p33rhxi466fwmxj9g0wd5191jawrs";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -135706,7 +137098,7 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "hlint_3_3_5" = callPackage
+  "hlint_3_3_6" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
      , containers, cpphs, data-default, directory, extra, file-embed
      , filepath, filepattern, ghc-lib-parser, ghc-lib-parser-ex
@@ -135715,8 +137107,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "3.3.5";
-       sha256 = "1pry95jik5bl49v1mj5g7lbax0937ra6g5wcpblypkpfwgh1h8l1";
+       version = "3.3.6";
+       sha256 = "0g4fnx0xlwny41dw01vxmfq9ibfwvpgf1cailj870k2wrbs2c9df";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -135863,19 +137255,41 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "hls-alternate-number-format-plugin" = callPackage
+    ({ mkDerivation, aeson, base, containers, filepath, ghc-boot-th
+     , ghcide, hie-compat, hls-graph, hls-plugin-api, hls-test-utils
+     , lens, lsp, mtl, QuickCheck, regex-tdfa, syb, tasty-quickcheck
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-alternate-number-format-plugin";
+       version = "1.0.1.0";
+       sha256 = "1xr4rizv1k6dx32mnny55s33cngmvy0a52sswpk17fl4zx3bd0pp";
+       libraryHaskellDepends = [
+         aeson base containers ghc-boot-th ghcide hie-compat hls-graph
+         hls-plugin-api lens lsp mtl regex-tdfa syb text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base filepath hls-test-utils lsp QuickCheck regex-tdfa
+         tasty-quickcheck text
+       ];
+       description = "Provide Alternate Number Formats plugin for Haskell Language Server";
+       license = lib.licenses.asl20;
+     }) {};
+
   "hls-brittany-plugin" = callPackage
-    ({ mkDerivation, base, brittany, czipwith, extra, filepath, ghc
+    ({ mkDerivation, base, brittany, czipwith, extra, filepath
      , ghc-boot-th, ghc-exactprint, ghcide, hls-plugin-api
      , hls-test-utils, lens, lsp-types, text, transformers
      }:
      mkDerivation {
        pname = "hls-brittany-plugin";
-       version = "1.0.1.1";
-       sha256 = "09j40rh3nn5i8h8k5hpqy1vwjjmfma8n8lf59180ravia4pfddli";
+       version = "1.0.2.0";
+       sha256 = "0vxlhggmbrfmf81qgpxmrpsflmi32hafhy21dxain1as5hrnxw8g";
        libraryHaskellDepends = [
-         base brittany czipwith extra filepath ghc ghc-boot-th
-         ghc-exactprint ghcide hls-plugin-api lens lsp-types text
-         transformers
+         base brittany czipwith extra filepath ghc-boot-th ghc-exactprint
+         ghcide hls-plugin-api lens lsp-types text transformers
        ];
        testHaskellDepends = [ base filepath hls-test-utils ];
        description = "Integration with the Brittany code formatter";
@@ -135889,8 +137303,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-call-hierarchy-plugin";
-       version = "1.0.1.1";
-       sha256 = "10faqaj4zhpl2aqlmqr8l96dij31x47vj2sfbpxhpcm5j3zxqwni";
+       version = "1.0.2.0";
+       sha256 = "0772kxdp6ww91a1b0c8lfxjlpvwr8smcf8ayvaxazw76hisxrrj5";
        libraryHaskellDepends = [
          aeson base bytestring containers extra ghc ghcide hiedb
          hls-plugin-api lens lsp sqlite-simple text unordered-containers
@@ -135910,8 +137324,10 @@ self: {
      }:
      mkDerivation {
        pname = "hls-class-plugin";
-       version = "1.0.1.2";
-       sha256 = "1ybg6dd3m8ynhkn80189nqc8ng2lfplk3xrq7cq4mdx4bgdnjbgq";
+       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
@@ -135934,8 +137350,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-eval-plugin";
-       version = "1.2.0.2";
-       sha256 = "0nrlfs40hmbjjw6r01b3fcxwh01b4ap9v2ij6jyqrgkbs19qfp49";
+       version = "1.2.1.0";
+       sha256 = "18xjq664b8aj199gd1sswa7gndwikch77v3p1c36yshfa0rviwi8";
        libraryHaskellDepends = [
          aeson base containers data-default deepseq Diff directory dlist
          extra filepath ghc ghc-boot-th ghc-paths ghcide hashable hls-graph
@@ -135977,8 +137393,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-explicit-imports-plugin";
-       version = "1.0.1.2";
-       sha256 = "12m0idqxx47ixyn6i03jzwp4z9xwnb5q0p0655ik03xhibwjja7d";
+       version = "1.0.2.0";
+       sha256 = "04v6sgzsjqk4qj586qzvfvq405z0zpc08xljxb12glmqghvi5xjg";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide hls-graph hls-plugin-api
          lsp text unordered-containers
@@ -135994,8 +137410,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-floskell-plugin";
-       version = "1.0.0.2";
-       sha256 = "0b9dil7sc334iv4kn1gbkvjg78pamlhrw12r6k2vsz57xkz1b7ls";
+       version = "1.0.1.0";
+       sha256 = "1slzv2c5lzxprh8yhfk8iabmmlhh3sx97m393nrnwrjcbpzq0vai";
        libraryHaskellDepends = [
          base floskell ghcide hls-plugin-api lsp-types text transformers
        ];
@@ -136010,8 +137426,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-fourmolu-plugin";
-       version = "1.0.1.2";
-       sha256 = "1w7rnb18fn71aqzspq7wic0nd1qwh5r2vr9j2yiwvp95p42zxf0n";
+       version = "1.0.2.0";
+       sha256 = "0n9yk539wc046i6sx68gsbrc4jfmp1nsm2nir00q4sdcf7flcvff";
        libraryHaskellDepends = [
          base filepath fourmolu ghc ghc-boot-th ghcide hls-plugin-api lens
          lsp text
@@ -136023,19 +137439,19 @@ self: {
 
   "hls-graph" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
-     , deepseq, directory, exceptions, extra, filepath, hashable
-     , js-dgtable, js-flot, js-jquery, primitive, time, transformers
-     , unordered-containers
+     , deepseq, directory, exceptions, extra, filepath, focus, hashable
+     , js-dgtable, js-flot, js-jquery, list-t, primitive, stm
+     , stm-containers, time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-graph";
-       version = "1.5.1.1";
-       sha256 = "1ak6i03ch5xm6r4ym09k9vxfq7y5xwr9c6d84cgl8288g2i0fnpz";
+       version = "1.6.0.0";
+       sha256 = "0raz4gkfhxzbmg5rf65yp5p0i3mpd0rlraz90gwbvf5l1z9jlqml";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson async base bytestring containers deepseq directory exceptions
-         extra filepath hashable js-dgtable js-flot js-jquery primitive time
-         transformers unordered-containers
+         extra filepath focus hashable js-dgtable js-flot js-jquery list-t
+         primitive stm stm-containers time transformers unordered-containers
        ];
        description = "Haskell Language Server internal graph API";
        license = lib.licenses.asl20;
@@ -136048,8 +137464,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-haddock-comments-plugin";
-       version = "1.0.0.4";
-       sha256 = "0c4s10jmp5whi7k48llqs51vp22fav5ldzyxq1cv38ai1wqma3g8";
+       version = "1.0.1.0";
+       sha256 = "1jlz6vg5ff2j2vba4yg8nymxfs7vmg5h3kzjhsj6bs2jn8kh722r";
        libraryHaskellDepends = [
          base containers ghc ghc-exactprint ghcide hls-plugin-api lsp-types
          text unordered-containers
@@ -136064,18 +137480,18 @@ self: {
      , containers, data-default, deepseq, Diff, directory, extra
      , filepath, ghc, ghc-exactprint, ghc-lib, ghc-lib-parser-ex, ghcide
      , hashable, hlint, hls-plugin-api, hls-test-utils, hslogger, lens
-     , lsp, lsp-types, regex-tdfa, temporary, text, transformers
+     , lsp, lsp-types, regex-tdfa, stm, temporary, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "hls-hlint-plugin";
-       version = "1.0.2.1";
-       sha256 = "11a6gkz4af137zdg0m4bipjy2vn8bmarjd127sdrwli3vy7jzs3s";
+       version = "1.0.3.0";
+       sha256 = "0vzgsh6x8bjgi3l6nc9kfgbczxnd7fws5bmglac5khr0z042babb";
        libraryHaskellDepends = [
          aeson apply-refact base binary bytestring containers data-default
          deepseq Diff directory extra filepath ghc ghc-exactprint ghc-lib
          ghc-lib-parser-ex ghcide hashable hlint hls-plugin-api hslogger
-         lens lsp regex-tdfa temporary text transformers
+         lens lsp regex-tdfa stm temporary text transformers
          unordered-containers
        ];
        testHaskellDepends = [
@@ -136093,8 +137509,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-module-name-plugin";
-       version = "1.0.0.3";
-       sha256 = "0nymxfwvqalmwgv3a0a5a10vk8yi6k7r3gb1yyd0iz6vkz6k10p3";
+       version = "1.0.1.0";
+       sha256 = "108p9j01d2s14akbwgwmpwb2a5r5d14vqzy6lw8n5cymgfdlza4a";
        libraryHaskellDepends = [
          aeson base directory filepath ghcide hls-plugin-api lsp text
          transformers unordered-containers
@@ -136111,8 +137527,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-ormolu-plugin";
-       version = "1.0.1.2";
-       sha256 = "1kp63ydmczvjbwzkmxzd8m4fnm8yljzxraisa85sd7pagv2djh7q";
+       version = "1.0.2.0";
+       sha256 = "1jbh16z4yzl3lx9q7pcrkfrmip6rifif3rirfn7dvyj1q7cf1fk4";
        libraryHaskellDepends = [
          base filepath ghc ghc-boot-th ghcide hls-plugin-api lens lsp ormolu
          text
@@ -136124,37 +137540,41 @@ self: {
 
   "hls-plugin-api" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default
-     , dependent-map, dependent-sum, Diff, dlist, ghc, hashable
-     , hls-graph, hslogger, lens, lsp, opentelemetry
-     , optparse-applicative, process, regex-tdfa, text, unix
+     , dependent-map, dependent-sum, Diff, dlist, extra, ghc, hashable
+     , hls-graph, hslogger, lens, lens-aeson, lsp, lsp-types
+     , opentelemetry, optparse-applicative, process, regex-tdfa, tasty
+     , tasty-hunit, tasty-rerun, text, transformers, unix
      , unordered-containers
      }:
      mkDerivation {
        pname = "hls-plugin-api";
-       version = "1.2.0.2";
-       sha256 = "0mrfkqrkgvg53za026rfk6yqyyr1irk9k6k375dylaas7qlh0f0p";
+       version = "1.3.0.0";
+       sha256 = "0dkpamqgw2icx6zns79cpzsnsr33qg0i3ix66hvcl5fhhp363g9m";
        libraryHaskellDepends = [
          aeson base containers data-default dependent-map dependent-sum Diff
-         dlist ghc hashable hls-graph hslogger lens lsp opentelemetry
-         optparse-applicative process regex-tdfa text unix
-         unordered-containers
+         dlist extra ghc hashable hls-graph hslogger lens lens-aeson lsp
+         opentelemetry optparse-applicative process regex-tdfa text
+         transformers unix unordered-containers
+       ];
+       testHaskellDepends = [
+         base lsp-types tasty tasty-hunit tasty-rerun
        ];
        description = "Haskell Language Server API for plugin communication";
        license = lib.licenses.asl20;
      }) {};
 
   "hls-pragmas-plugin" = callPackage
-    ({ mkDerivation, base, extra, filepath, fuzzy, ghcide
-     , hls-plugin-api, hls-test-utils, lens, lsp, lsp-types, text
-     , transformers, unordered-containers
+    ({ mkDerivation, base, containers, extra, filepath, fuzzy, ghc
+     , ghcide, hls-plugin-api, hls-test-utils, lens, lsp, lsp-types
+     , text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-pragmas-plugin";
-       version = "1.0.1.1";
-       sha256 = "1yy6avwff8swxrkhfcslckx6ql26w2chcv19z217s00y30z70xmq";
+       version = "1.0.2.0";
+       sha256 = "0bmifvjhcvwhivnx6s971nidjdb2ichphp70pahx72ai24ffqqx9";
        libraryHaskellDepends = [
-         base extra fuzzy ghcide hls-plugin-api lens lsp text transformers
-         unordered-containers
+         base containers extra fuzzy ghc ghcide hls-plugin-api lens lsp text
+         transformers unordered-containers
        ];
        testHaskellDepends = [
          base filepath hls-test-utils lens lsp-types text
@@ -136163,6 +137583,24 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "hls-qualify-imported-names-plugin" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, dlist, filepath
+     , ghc, ghcide, hls-graph, hls-plugin-api, hls-test-utils, lsp, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-qualify-imported-names-plugin";
+       version = "1.0.1.0";
+       sha256 = "0h456cq3qvksrkzfzpq2qsabsl3vpg4gh2mwyxc39xh4qm7ifban";
+       libraryHaskellDepends = [
+         aeson base containers deepseq dlist ghc ghcide hls-graph
+         hls-plugin-api lsp text transformers unordered-containers
+       ];
+       testHaskellDepends = [ base filepath hls-test-utils text ];
+       description = "A Haskell Language Server plugin that qualifies imported names";
+       license = lib.licenses.asl20;
+     }) {};
+
   "hls-refine-imports-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, filepath, ghc
      , ghcide, hls-explicit-imports-plugin, hls-graph, hls-plugin-api
@@ -136170,8 +137608,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-refine-imports-plugin";
-       version = "1.0.0.2";
-       sha256 = "0spxczjf85z8zvkqyqrmwjacw9f44zminm8k8ygyn6b2wh9bzyqr";
+       version = "1.0.1.0";
+       sha256 = "10q5yjpny5aah245ivazqn2h05ak428qc9arpzlg5ks2n4n293lf";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide
          hls-explicit-imports-plugin hls-graph hls-plugin-api lsp text
@@ -136184,19 +137622,16 @@ 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";
@@ -136204,23 +137639,45 @@ self: {
      }) {};
 
   "hls-retrie-plugin" = callPackage
-    ({ mkDerivation, aeson, base, containers, deepseq, directory, extra
-     , ghc, ghcide, hashable, hls-plugin-api, lsp, lsp-types, retrie
-     , safe-exceptions, text, transformers, unordered-containers
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , directory, extra, ghc, ghcide, hashable, hls-plugin-api, lsp
+     , lsp-types, retrie, safe-exceptions, stm, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "hls-retrie-plugin";
-       version = "1.0.1.4";
-       sha256 = "18ldvywi8zl08xfd1z4dhj84xhxa9kq0hdminv6d3xf470ghkrdv";
+       version = "1.0.2.0";
+       sha256 = "0w41di7rqy8xrcaavzlfhai73yw0whmnyqxhyfjwx93y1sy1l6zg";
        libraryHaskellDepends = [
-         aeson base containers deepseq directory extra ghc ghcide hashable
-         hls-plugin-api lsp lsp-types retrie safe-exceptions text
-         transformers unordered-containers
+         aeson base bytestring containers deepseq directory extra ghc ghcide
+         hashable hls-plugin-api lsp lsp-types retrie safe-exceptions stm
+         text transformers unordered-containers
        ];
        description = "Retrie integration plugin for Haskell Language Server";
        license = lib.licenses.asl20;
      }) {};
 
+  "hls-selection-range-plugin" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, extra
+     , filepath, ghcide, hls-plugin-api, hls-test-utils, lens, lsp
+     , lsp-test, mtl, semigroupoids, text, transformers
+     }:
+     mkDerivation {
+       pname = "hls-selection-range-plugin";
+       version = "1.0.0.0";
+       sha256 = "1pfgxz7nyqr8gaxxv7nc0d4rpfc4rbgdkafy1fpgcsbkqx9llkn0";
+       libraryHaskellDepends = [
+         aeson base containers extra ghcide hls-plugin-api lsp mtl
+         semigroupoids text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers filepath hls-test-utils lens lsp
+         lsp-test text
+       ];
+       description = "HLS Plugin to support smart selection range";
+       license = lib.licenses.asl20;
+     }) {};
+
   "hls-splice-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, dlist, extra, filepath
      , foldl, ghc, ghc-exactprint, ghcide, hls-plugin-api
@@ -136229,8 +137686,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-splice-plugin";
-       version = "1.0.0.6";
-       sha256 = "0cnm0kaimbcyrjgphz61fhs9wg4wscv8bj9c09pxxwz6npf2r3wz";
+       version = "1.0.1.0";
+       sha256 = "07v4rgss140vfc4xqibccimm48ys4awz7yficr0wf440p6i83qdc";
        libraryHaskellDepends = [
          aeson base containers dlist extra foldl ghc ghc-exactprint ghcide
          hls-plugin-api lens lsp retrie syb text transformers unliftio-core
@@ -136248,8 +137705,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-stylish-haskell-plugin";
-       version = "1.0.0.4";
-       sha256 = "0p6cqjslf9qnb2df6dvznyzily55mcs13f0kd0x64p8kf2chc6ic";
+       version = "1.0.1.0";
+       sha256 = "1f9g113xrb167cpdjifd2zp8ps1w2apvkghdiagc9rzw1fl0l7l4";
        libraryHaskellDepends = [
          base directory filepath ghc ghc-boot-th ghcide hls-plugin-api
          lsp-types stylish-haskell text
@@ -136271,8 +137728,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-tactics-plugin";
-       version = "1.5.0.1";
-       sha256 = "1fji3m1dczswzsrvvsg00jflsq9h4jpgclyma91rcncdrl7j4ylz";
+       version = "1.6.1.0";
+       sha256 = "15ynxlafrs0hss5qcn4aj8iip8iy631hfgqql0irqskvf3x5yxlx";
        libraryHaskellDepends = [
          aeson base containers deepseq directory extra filepath fingertree
          generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
@@ -136299,8 +137756,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-test-utils";
-       version = "1.1.0.2";
-       sha256 = "1506438g4bzc05f8km5kcjq8hv1sk56bllbcnjkx3fdqdamr3piv";
+       version = "1.2.0.0";
+       sha256 = "1y3g101n7z78f5shfqfklg5zgl8gpkic0dwvpr5072dq1vvpfdvf";
        libraryHaskellDepends = [
          aeson async base blaze-markup bytestring containers data-default
          directory extra filepath ghcide hls-graph hls-plugin-api hspec
@@ -137081,8 +138538,8 @@ self: {
      }:
      mkDerivation {
        pname = "hnix";
-       version = "0.14.0.5";
-       sha256 = "1h2m9vrgss4mg25dyfwhb93h1c60nrkw122b7hnpiff5lm1jy89f";
+       version = "0.14.0.8";
+       sha256 = "101zbbrqs3fv1kxp428r97pq59fa6g0qkj1bqnsfchv4mxizg8jc";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -137118,6 +138575,61 @@ self: {
        maintainers = with lib.maintainers; [ Anton-Latukha ];
      }) {};
 
+  "hnix_0_16_0" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, binary
+     , bytestring, comonad, containers, criterion, cryptonite, data-fix
+     , deepseq, deriving-compat, Diff, directory, exceptions, filepath
+     , free, gitrev, Glob, hashable, hashing, haskeline, hedgehog
+     , hnix-store-core, hnix-store-remote, http-client, http-client-tls
+     , http-types, lens-family, lens-family-core, lens-family-th, logict
+     , megaparsec, monad-control, monadlist, mtl, neat-interpolation
+     , optparse-applicative, parser-combinators, pretty-show
+     , prettyprinter, process, ref-tf, regex-tdfa, relude, repline
+     , scientific, semialign, serialise, some, split, syb, tasty
+     , tasty-hedgehog, tasty-hunit, tasty-th, template-haskell, text
+     , th-lift-instances, these, time, transformers, transformers-base
+     , unix-compat, unordered-containers, vector, xml
+     }:
+     mkDerivation {
+       pname = "hnix";
+       version = "0.16.0";
+       sha256 = "0qab6wxa21n0nlxdy5hnvm0554yldjz06rxgn6s9gv3bzqzakdfh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring comonad
+         containers cryptonite data-fix deepseq deriving-compat directory
+         exceptions filepath free gitrev hashable hashing hnix-store-core
+         hnix-store-remote http-client http-client-tls http-types
+         lens-family lens-family-core lens-family-th logict megaparsec
+         monad-control monadlist mtl neat-interpolation optparse-applicative
+         parser-combinators pretty-show prettyprinter process ref-tf
+         regex-tdfa relude scientific semialign serialise some split syb
+         template-haskell text th-lift-instances these time transformers
+         transformers-base unix-compat unordered-containers vector xml
+       ];
+       executableHaskellDepends = [
+         aeson base comonad containers data-fix deepseq exceptions filepath
+         free haskeline optparse-applicative pretty-show prettyprinter
+         ref-tf relude repline serialise template-haskell time
+       ];
+       testHaskellDepends = [
+         base containers data-fix Diff directory exceptions filepath Glob
+         hedgehog megaparsec neat-interpolation optparse-applicative
+         pretty-show prettyprinter process relude serialise split tasty
+         tasty-hedgehog tasty-hunit tasty-th template-haskell time
+         unix-compat
+       ];
+       benchmarkHaskellDepends = [
+         base criterion data-fix exceptions filepath optparse-applicative
+         relude serialise template-haskell time
+       ];
+       description = "Haskell implementation of the Nix language";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Anton-Latukha ];
+     }) {};
+
   "hnix-store-core" = callPackage
     ({ mkDerivation, algebraic-graphs, attoparsec, base
      , base16-bytestring, base64-bytestring, binary, bytestring, cereal
@@ -137131,8 +138643,8 @@ self: {
        pname = "hnix-store-core";
        version = "0.5.0.0";
        sha256 = "1w5qmk7qhasv2qydrhg3g5x9s2pjf5602w084lj1zbman44phzv5";
-       revision = "1";
-       editedCabalFile = "05jm5fv7fzp6gpjaw0f40fw58740k0g4cvfacq1bwcr39qnziavg";
+       revision = "2";
+       editedCabalFile = "0iy7h66fqpg3glssywn1ag7a4mcmgnqn9xfhid1jyxnzqhllf20n";
        libraryHaskellDepends = [
          algebraic-graphs attoparsec base base16-bytestring
          base64-bytestring bytestring cereal containers cryptonite directory
@@ -137304,8 +138816,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.16.0";
-       sha256 = "0s69fs131djsrdqsmb4ics90g9by1k7yy8q9qq2m3gdbdp7xln86";
+       version = "1.16.2";
+       sha256 = "0yw9fnpac1ryk0pn0ikf4g1p687mvschrnpj7szlcj6am78ldqzx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -137317,6 +138829,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hoauth2_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, exceptions
+     , hashable, http-conduit, http-types, microlens, text
+     , unordered-containers, uri-bytestring, uri-bytestring-aeson
+     }:
+     mkDerivation {
+       pname = "hoauth2";
+       version = "2.0.0";
+       sha256 = "1052ibfliwjg6p0r9y32i5j25dankp2zcy9hjm6sxag0wjgqz3wb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base binary bytestring exceptions hashable http-conduit
+         http-types microlens text unordered-containers uri-bytestring
+         uri-bytestring-aeson
+       ];
+       description = "Haskell OAuth2 authentication client";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hob" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , glib, gtk-largeTreeStore, gtk3, gtksourceview3, hspec, mtl, pango
@@ -137456,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
@@ -138212,10 +139747,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.18.2";
-       sha256 = "1xacx2f33x1a4qlv25f8rlmb4wi0cjfzrj22nlnkrd0knghik3m7";
-       revision = "1";
-       editedCabalFile = "11ig5z81h27ify5sx2dyrx4kiv61gzd96k9qi8a11hvnk2w51a9y";
+       version = "5.0.18.3";
+       sha256 = "0v6k75w0an9pqgb7a6cicnpf9rz77xd2lmxfbafc5l4f99jg83bn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -139678,8 +141211,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.14.0.0";
-       sha256 = "143ghr188d9kp0cz421pr87sdvf2nzabp76b3py716xmrz9jckq5";
+       version = "1.14.1.0";
+       sha256 = "17ixli3w1ixa7hspvcgggyslpxgprl40vjjavi81c44crj7w4m4q";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash exceptions
          extra fields-json hpqtypes lifted-base log-base monad-control mtl
@@ -140174,6 +141707,7 @@ self: {
        ];
        description = "A Riemann Client for Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hruby" = callPackage
@@ -140198,21 +141732,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) ruby;};
 
-  "hruby_0_4_0_0" = callPackage
+  "hruby_0_5_0_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
      , process, QuickCheck, ruby, scientific, stm, text
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "hruby";
-       version = "0.4.0.0";
-       sha256 = "0qd3mfc8mr5b0vmvfqnmjrba5abvwb4vn6mjlm0mhlgigmh685f9";
+       version = "0.5.0.0";
+       sha256 = "10ldq23lgp3jcxpdm9b1dryjf4sprsjlc4qs1lnjb9cmfcafrqj4";
        setupHaskellDepends = [ base Cabal process ];
        libraryHaskellDepends = [
          aeson attoparsec base bytestring scientific stm text
          unordered-containers vector
        ];
-       librarySystemDepends = [ ruby ];
+       libraryPkgconfigDepends = [ ruby ];
        testHaskellDepends = [
          aeson attoparsec base QuickCheck text vector
        ];
@@ -140472,6 +142006,7 @@ self: {
        ];
        description = "Haskell bindings for a very compact embedded ECMAScript (JavaScript) engine";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-excelx" = callPackage
@@ -140747,8 +142282,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-api";
-       version = "0.0.2.0";
-       sha256 = "1mbcqifvpx4xrlwv6bg2rgz8m6b55f40vlc23yi03893i885qn86";
+       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
@@ -140769,8 +142304,8 @@ self: {
     ({ mkDerivation, async, base, hs-opentelemetry-api, unagi-chan }:
      mkDerivation {
        pname = "hs-opentelemetry-exporter-in-memory";
-       version = "0.0.1.1";
-       sha256 = "0vfkfdr20w6a7xf0ppsj4nns5nfgs6bib8vm7fpgra1mpsvi31v7";
+       version = "0.0.1.2";
+       sha256 = "18f0wv1drlbyp1vm4za2a4l1vyi8hwd34imz6m81n4kqz3sdabf3";
        libraryHaskellDepends = [
          async base hs-opentelemetry-api unagi-chan
        ];
@@ -140788,8 +142323,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-exporter-otlp";
-       version = "0.0.1.1";
-       sha256 = "1r7f54dw183gg3vh806saqwmmf0yvh2w4a854szp9h0x5qf17hn1";
+       version = "0.0.1.3";
+       sha256 = "0ci1c6820cq2xml5fdj04a49r78ymw0s7pdlyhkg7a0ccrxi3722";
        libraryHaskellDepends = [
          base bytestring case-insensitive clock hs-opentelemetry-api
          hs-opentelemetry-otlp http-client http-conduit http-types microlens
@@ -140804,14 +142339,88 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hs-opentelemetry-instrumentation-conduit" = callPackage
+    ({ mkDerivation, base, conduit, hs-opentelemetry-api, text }:
+     mkDerivation {
+       pname = "hs-opentelemetry-instrumentation-conduit";
+       version = "0.0.1.1";
+       sha256 = "1gc93nnkdbm5drqwg20w317x3n4n7fjp61j3kdy7x7q1qd55khfn";
+       libraryHaskellDepends = [ base conduit hs-opentelemetry-api text ];
+       testHaskellDepends = [ base conduit hs-opentelemetry-api text ];
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "hs-opentelemetry-instrumentation-http-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive, conduit
+     , hs-opentelemetry-api, hs-opentelemetry-instrumentation-conduit
+     , http-client, http-client-tls, http-conduit, http-types, text
+     , unliftio
+     }:
+     mkDerivation {
+       pname = "hs-opentelemetry-instrumentation-http-client";
+       version = "0.0.2.0";
+       sha256 = "1miw1p8dzwsnmdl63jyrbw8lygb5gk1j76dix9pmpsjp2520977j";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive conduit hs-opentelemetry-api
+         hs-opentelemetry-instrumentation-conduit http-client
+         http-client-tls http-conduit http-types text unliftio
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive conduit hs-opentelemetry-api
+         hs-opentelemetry-instrumentation-conduit http-client
+         http-client-tls http-conduit http-types text unliftio
+       ];
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "hs-opentelemetry-instrumentation-persistent" = callPackage
+    ({ mkDerivation, base, hs-opentelemetry-api, mtl, persistent
+     , resourcet, text, unliftio, vault
+     }:
+     mkDerivation {
+       pname = "hs-opentelemetry-instrumentation-persistent";
+       version = "0.0.1.0";
+       sha256 = "0windpdg269g376mhza26swsvl32pfsfzqjrd9psybp9mdsw1lwq";
+       libraryHaskellDepends = [
+         base hs-opentelemetry-api mtl persistent resourcet text unliftio
+         vault
+       ];
+       testHaskellDepends = [
+         base hs-opentelemetry-api mtl persistent resourcet text unliftio
+         vault
+       ];
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hs-opentelemetry-instrumentation-postgresql-simple" = callPackage
+    ({ mkDerivation, base, bytestring, hs-opentelemetry-api, iproute
+     , network, postgresql-libpq, postgresql-simple, text, unliftio
+     }:
+     mkDerivation {
+       pname = "hs-opentelemetry-instrumentation-postgresql-simple";
+       version = "0.0.1.0";
+       sha256 = "1rz2gdaq1dwrnghbmrx58nza2g9h6z2pi5rnl6hzv6n1sm6i80rx";
+       libraryHaskellDepends = [
+         base bytestring hs-opentelemetry-api iproute network
+         postgresql-libpq postgresql-simple text unliftio
+       ];
+       testHaskellDepends = [
+         base bytestring hs-opentelemetry-api iproute network
+         postgresql-libpq postgresql-simple text unliftio
+       ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hs-opentelemetry-instrumentation-wai" = callPackage
     ({ mkDerivation, base, bytestring, hs-opentelemetry-api, http-types
      , iproute, network, text, vault, wai
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-wai";
-       version = "0.0.1.1";
-       sha256 = "1pc3m8sw7nymcx3f3ys24hby9j6g874ijxr7lnxmp8iis3l0kd3d";
+       version = "0.0.1.2";
+       sha256 = "1yxy49cacldbic67ic35ym48zd0c1cwx1cjh6l0fxn26yvjp1i68";
        libraryHaskellDepends = [
          base bytestring hs-opentelemetry-api http-types iproute network
          text vault wai
@@ -140831,8 +142440,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-yesod";
-       version = "0.0.1.1";
-       sha256 = "0wavva2amc439qa7zjf9q323dcpjg1kcbgzbhw71wljywjv9g9xg";
+       version = "0.0.1.2";
+       sha256 = "01rcd2mxm7g0c9sqw0m4z779py4d7p3zq01yw2499yhn75c9akya";
        libraryHaskellDepends = [
          base hs-opentelemetry-api hs-opentelemetry-instrumentation-wai
          microlens mtl template-haskell text unliftio wai yesod-core
@@ -140862,8 +142471,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-propagator-w3c";
-       version = "0.0.1.1";
-       sha256 = "02jxrfx7jccbd8n2w3brnz4dzhabysrrbsps77xhpma7dpfmgq5q";
+       version = "0.0.1.2";
+       sha256 = "1z4f7hsdbp6gr2ymbrvfkb0ynzy8kxfwpcyl2718qib7m2qjyysz";
        libraryHaskellDepends = [
          attoparsec base bytestring hs-opentelemetry-api http-types text
        ];
@@ -140883,8 +142492,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-sdk";
-       version = "0.0.2.0";
-       sha256 = "0kph4vqapk15c833kakvk9nl2v07sa8cwy6bj2graini386f04d5";
+       version = "0.0.3.1";
+       sha256 = "0z4j2jih8076xic39kil0w0p6vcjbpcmpbfiskx2i7ycm2cg4gs2";
        libraryHaskellDepends = [
          async base bytestring hs-opentelemetry-api
          hs-opentelemetry-exporter-otlp hs-opentelemetry-propagator-w3c
@@ -141167,8 +142776,6 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Convert an eventlog into the speedscope json format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hs-swisstable-hashtables-class" = callPackage
@@ -141190,8 +142797,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-tags";
-       version = "0.1.5.2";
-       sha256 = "0xvrar39682z4jiggf260ypxhzk2z180zlh3i3rw19cbq1xdw5hw";
+       version = "0.1.5.3";
+       sha256 = "17h1jgi7nr6p93zhsqxx6gx1yjwv0gahz84pw14gnsr79v3q9z1f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -141530,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
@@ -141540,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;
@@ -141558,8 +143165,8 @@ self: {
        pname = "hsass";
        version = "0.8.0";
        sha256 = "1bnjvj6dpmcbpkbi4g5m5hvr0w5rmd7y5zkiwbqc8n9y4l2dkd5g";
-       revision = "1";
-       editedCabalFile = "0d085g21zvawl2jv6ap5fyk70c9igbjiwknvk1mgdydxbm1kvyq5";
+       revision = "2";
+       editedCabalFile = "11xmb3mssql6ksdra03h9cqv0pdxgyj3askapbgpx6rmziw7a136";
        libraryHaskellDepends = [
          base bytestring data-default-class filepath hlibsass monad-loops
          transformers
@@ -142619,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;
@@ -143196,7 +144803,7 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) lua5_3;};
 
-  "hslua_2_0_1" = callPackage
+  "hslua_2_1_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions
      , hslua-classes, hslua-core, hslua-marshalling
      , hslua-objectorientation, hslua-packaging, mtl, tasty, tasty-hslua
@@ -143204,8 +144811,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua";
-       version = "2.0.1";
-       sha256 = "1qbxd2bsi7yybawjvisbkbqb6kl0jvlir53p37jq0ya1pqr5y9z0";
+       version = "2.1.0";
+       sha256 = "0adii64aaq20dmsxkrac8smgwa9vm1ld1rpzz3m33vyyp1yfsjka";
        libraryHaskellDepends = [
          base bytestring containers exceptions hslua-classes hslua-core
          hslua-marshalling hslua-objectorientation hslua-packaging mtl text
@@ -143241,27 +144848,26 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-aeson_2_0_0" = callPackage
+  "hslua-aeson_2_1_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hashable
-     , hslua-core, hslua-marshalling, ieee754, mtl, QuickCheck
-     , quickcheck-instances, scientific, tasty, tasty-hunit
-     , tasty-quickcheck, text, unordered-containers, vector
+     , hslua-core, hslua-marshalling, mtl, QuickCheck
+     , quickcheck-instances, scientific, tasty, tasty-quickcheck, text
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "hslua-aeson";
-       version = "2.0.0";
-       sha256 = "0djxr6f93n8dmaq4s8dfx0msx8vsg4mdszn407p48vlykxlgzpvd";
+       version = "2.1.0";
+       sha256 = "0x966djzb9blrs586407qx6lz8bh23s048jv9nbgzy99qwxm20db";
        libraryHaskellDepends = [
          aeson base bytestring containers hashable hslua-core
          hslua-marshalling mtl scientific text unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base bytestring containers hashable hslua-core
-         hslua-marshalling ieee754 mtl QuickCheck quickcheck-instances
-         scientific tasty tasty-hunit tasty-quickcheck text
-         unordered-containers vector
+         hslua-marshalling mtl QuickCheck quickcheck-instances scientific
+         tasty tasty-quickcheck text unordered-containers vector
        ];
-       description = "Allow aeson data types to be used with lua";
+       description = "Allow aeson data types to be used with Lua";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -143274,8 +144880,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-classes";
-       version = "2.0.0";
-       sha256 = "1vnck29395dc4rcyr082vxyf8pz5llz73rpvkl3sq8029pj9jwsl";
+       version = "2.1.0";
+       sha256 = "0gz30ppa7fjm555mxmwfjq767wn6z60jkw36sdmryrby1raspz4s";
        libraryHaskellDepends = [
          base bytestring containers exceptions hslua-core hslua-marshalling
          text
@@ -143296,8 +144902,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-core";
-       version = "2.0.0.2";
-       sha256 = "0hbabk6q3lfkj82v11aicnq52bibn8xnapmws8g639fnbslp66id";
+       version = "2.1.0";
+       sha256 = "1iaii879b13j8a8lgv78wja85ik2y5xlkv1mzckjl4nqn91968wq";
        libraryHaskellDepends = [
          base bytestring exceptions lua mtl text
        ];
@@ -143315,8 +144921,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-examples";
-       version = "2.0.0";
-       sha256 = "12wkhs83yrragwfrgl7xdgzs4bgm3zawrkxkh16dxn619brh7n8z";
+       version = "2.0.1";
+       sha256 = "0llh0cq1qzy4yl03vmvyipjq83apfx5f01qnbs84a2dad9nd8bm7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -143335,8 +144941,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-marshalling";
-       version = "2.0.1";
-       sha256 = "1s64cpy220wnjb2s2y8v96jn3dqids7wny3hwmb35pjyffaykrwl";
+       version = "2.1.0";
+       sha256 = "0rp2bbk3smmx223c8x781311s29c0dhk0c5z3p8z1vxr3m3lhz1c";
        libraryHaskellDepends = [
          base bytestring containers hslua-core mtl text
        ];
@@ -143365,14 +144971,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-module-doclayout_1_0_0" = 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.0";
-       sha256 = "1lzyb23bg0rjxlhz7q08r30yaqbx0h74869l212bimzq2df3fvmq";
+       version = "1.0.2";
+       sha256 = "06r1vz2xpvmwd6pghq0g38h3xzagy9043zjqx0ilnxhdx5v5fwcd";
        libraryHaskellDepends = [ base doclayout hslua text ];
        testHaskellDepends = [
          base doclayout hslua tasty tasty-hunit tasty-lua
@@ -143398,19 +145004,21 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-module-path_1_0_0" = callPackage
-    ({ mkDerivation, base, filepath, hslua, hslua-marshalling
+  "hslua-module-path_1_0_1" = callPackage
+    ({ mkDerivation, base, filepath, hslua-core, hslua-marshalling
      , hslua-packaging, tasty, tasty-hunit, tasty-lua, text
      }:
      mkDerivation {
        pname = "hslua-module-path";
-       version = "1.0.0";
-       sha256 = "1yhalkvz2pyhv6fw1a5sd1a4zcd3qarrcbhfk6z80wh1j23cabzg";
+       version = "1.0.1";
+       sha256 = "1ffqfkyk4nqvk03mrdp5bz6miq0d06d1nwdklpchs55n6s95wl6x";
+       revision = "1";
+       editedCabalFile = "110bdz2pwnvcsnq1vlm17x91mdqfif839qgji2gjzddcj9q5pbqa";
        libraryHaskellDepends = [
-         base filepath hslua hslua-marshalling hslua-packaging text
+         base filepath hslua-core hslua-marshalling hslua-packaging text
        ];
        testHaskellDepends = [
-         base filepath hslua hslua-marshalling hslua-packaging tasty
+         base filepath hslua-core hslua-marshalling hslua-packaging tasty
          tasty-hunit tasty-lua text
        ];
        description = "Lua module to work with file paths";
@@ -143436,15 +145044,17 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-module-system_1_0_0" = callPackage
+  "hslua-module-system_1_0_1" = callPackage
     ({ mkDerivation, base, directory, exceptions, hslua-core
      , hslua-marshalling, hslua-packaging, tasty, tasty-hunit, tasty-lua
      , temporary, text
      }:
      mkDerivation {
        pname = "hslua-module-system";
-       version = "1.0.0";
-       sha256 = "1qvc2200mi1pqckjhav3d488nc4bfh1qv4mgaqx35njda8an6l9q";
+       version = "1.0.1";
+       sha256 = "0mbp7yh1m167fpsvscpa1mhpdi9h2xpwghr2bxl6swg8ab4s2lzw";
+       revision = "1";
+       editedCabalFile = "14ixzwii8y1mab6z9c20w4p3q4in3zknffmarr02gmgl1ksrl2cw";
        libraryHaskellDepends = [
          base directory exceptions hslua-core hslua-marshalling
          hslua-packaging temporary text
@@ -143475,14 +145085,16 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-module-text_1_0_0" = callPackage
+  "hslua-module-text_1_0_1" = callPackage
     ({ mkDerivation, base, hslua-core, hslua-marshalling
      , hslua-packaging, tasty, tasty-hunit, tasty-lua, text
      }:
      mkDerivation {
        pname = "hslua-module-text";
-       version = "1.0.0";
-       sha256 = "0ymmca9nmxhwghyrbs08g0d0k49zby5rrvqjzxz332yh2nvi2fg1";
+       version = "1.0.1";
+       sha256 = "0p6fw5vx77999yfbc2i77x5mnlxgi7bgwhx23017q5zbvs09c739";
+       revision = "1";
+       editedCabalFile = "18zvaqzdphqisisvpffpkwkms7mh556zxxbwp2n2h1bv2s8f0x5s";
        libraryHaskellDepends = [
          base hslua-core hslua-marshalling hslua-packaging text
        ];
@@ -143495,18 +145107,20 @@ self: {
      }) {};
 
   "hslua-module-version" = callPackage
-    ({ mkDerivation, base, filepath, hslua, hslua-marshalling
+    ({ mkDerivation, base, filepath, hslua-core, hslua-marshalling
      , hslua-packaging, tasty, tasty-hunit, tasty-lua, text
      }:
      mkDerivation {
        pname = "hslua-module-version";
-       version = "1.0.0";
-       sha256 = "1kbk0iva5g4garpx0d5l1gr6zlcfi565mscqr602dr88as87nfyn";
+       version = "1.0.1";
+       sha256 = "125kpfypq5hync80f1g1w618xrfqvi5bsqks9pg2rq1d57qxk5yc";
+       revision = "1";
+       editedCabalFile = "0gl9gn1pkpa3cg0sx971q45hj23kq9czcswli9yaz0mij5wqyh57";
        libraryHaskellDepends = [
-         base filepath hslua hslua-marshalling hslua-packaging text
+         base filepath hslua-core hslua-marshalling hslua-packaging text
        ];
        testHaskellDepends = [
-         base filepath hslua hslua-marshalling hslua-packaging tasty
+         base filepath hslua-core hslua-marshalling hslua-packaging tasty
          tasty-hunit tasty-lua text
        ];
        description = "Lua module to work with version specifiers";
@@ -143523,8 +145137,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-objectorientation";
-       version = "2.0.1";
-       sha256 = "15bz27fkfqbmqrqd0vv8z4a0yjby0s8mrkijp9d54ji9f5cbjbwd";
+       version = "2.1.0";
+       sha256 = "01ghqsaknl4b8l3f6src8q7b54r5crmja62mhfwhz8a35px3rzrx";
        libraryHaskellDepends = [
          base bytestring containers exceptions hslua-core hslua-marshalling
          mtl text
@@ -143545,8 +145159,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-packaging";
-       version = "2.0.0";
-       sha256 = "0zb9cdbrsqs882r56vbxi9v6r34kqhacb4dwm85j5yhdmpdy0p7d";
+       version = "2.1.0";
+       sha256 = "0n8vhfi59q6dzcvi4fgsjp8w0slbl8l2s5l6rxgypb6vqgm759l9";
        libraryHaskellDepends = [
          base containers hslua-core hslua-marshalling
          hslua-objectorientation mtl text
@@ -144222,18 +145836,19 @@ self: {
 
   "hspec-expectations-pretty-diff" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, Diff, hscolour, hspec
-     , HUnit, nicify-lib, text
+     , HUnit, nicify-lib, text, unicode-show
      }:
      mkDerivation {
        pname = "hspec-expectations-pretty-diff";
-       version = "0.7.2.5";
-       sha256 = "0432mca3k7rpdyykw9cz402zax6h42d1vsgbi0dsy1qwhlg2aycl";
+       version = "0.7.2.6";
+       sha256 = "0wksgvdj50yc3p4bg3wmacf2w75v7p8nlq1g33z5amrwllig6m49";
        libraryHaskellDepends = [
-         ansi-terminal base Diff hscolour HUnit nicify-lib text
+         ansi-terminal base Diff hscolour HUnit nicify-lib text unicode-show
        ];
        testHaskellDepends = [ aeson base hspec HUnit text ];
        description = "Catchy combinators for HUnit";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-experimental" = callPackage
@@ -144392,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
@@ -144691,8 +146306,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-snap";
-       version = "1.0.2.0";
-       sha256 = "1rqqyrnny5wk4xql1ddavq72qcvdhblm7ga8728i42v14n6z80i4";
+       version = "1.0.3.0";
+       sha256 = "19kpxxmfampssas8xjicsxka3lyscgg8yh04vxvnyiz48rr00194";
        libraryHaskellDepends = [
          aeson base bytestring containers digestive-functors HandsomeSoup
          hspec hspec-core HUnit hxt lens mtl snap snap-core text
@@ -146186,6 +147801,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "html-presentation-text" = callPackage
+    ({ mkDerivation, base, cli-arguments, lists-flines }:
+     mkDerivation {
+       pname = "html-presentation-text";
+       version = "0.2.1.0";
+       sha256 = "16lnshmxhxwx31kb9nji68imb492bigcb11mngyi94xbs40jayrr";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base cli-arguments lists-flines ];
+       description = "Simple tool to create html presentation for text";
+       license = lib.licenses.mit;
+     }) {};
+
   "html-rules" = callPackage
     ({ mkDerivation, base, lens, mtl, tagsoup, transformers }:
      mkDerivation {
@@ -146356,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
@@ -146522,8 +148152,8 @@ self: {
        pname = "http-api-data";
        version = "0.4.3";
        sha256 = "171bw2a44pg50d3y77gw2y9vmx72laky7hnn5hw6r93pnjmlf9yz";
-       revision = "5";
-       editedCabalFile = "18gh7q1j2jiz4c6sn352j5rl4009gi238nni8ff9kqgi3c4mlrs0";
+       revision = "6";
+       editedCabalFile = "0q4rhz81r5v0z1mn7x9q0ldbfv1a2cp3dpw8s2j96halsq34l4zl";
        libraryHaskellDepends = [
          attoparsec attoparsec-iso8601 base base-compat bytestring
          containers cookie hashable http-types tagged text time-compat
@@ -146600,20 +148230,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "http-client_0_7_9" = 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.9";
-       sha256 = "1yg8sx50bs2q1si2f2783w1iy3235h8mxzif2g498ixpx6syzrmy";
+       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
@@ -146623,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;
@@ -146735,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
        ];
@@ -146803,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
@@ -146864,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
@@ -147525,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
@@ -147543,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;
@@ -147653,6 +149326,41 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "http2_3_0_3" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, async, base
+     , base16-bytestring, bytestring, case-insensitive, containers
+     , cryptonite, directory, filepath, gauge, Glob, heaps, hspec
+     , hspec-discover, http-types, mwc-random, network
+     , network-byte-order, network-run, psqueues, stm, text
+     , time-manager, typed-process, unix-time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "http2";
+       version = "3.0.3";
+       sha256 = "1kv99i3pnnx31xndlkaczrpd2j5mvzbqlfz1kaw6cwlwkdnl5bhv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array async base bytestring case-insensitive containers http-types
+         network network-byte-order psqueues stm time-manager unix-time
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty async base base16-bytestring bytestring
+         cryptonite directory filepath Glob hspec http-types network
+         network-byte-order network-run text typed-process
+         unordered-containers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         array base bytestring case-insensitive containers gauge heaps
+         mwc-random network-byte-order psqueues stm
+       ];
+       description = "HTTP/2 library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http2-client" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, deepseq
      , http2, lifted-async, lifted-base, mtl, network, stm, time, tls
@@ -148394,28 +150102,30 @@ self: {
   "hup" = callPackage
     ({ mkDerivation, base, bytestring, cmdargs, directory, filepath
      , hspec, hspec-core, hspec-wai, http-client, http-client-tls
-     , http-types, mtl, QuickCheck, shelly, simple, split, tagsoup, tar
-     , temporary, text, transformers, wai, wai-extra, zlib
+     , http-types, lifted-base, mtl, network, QuickCheck, scotty, shelly
+     , split, tagsoup, tar, temporary, text, transformers, vector, wai
+     , wai-extra, warp, zlib
      }:
      mkDerivation {
        pname = "hup";
-       version = "0.3.0.2";
-       sha256 = "05xgbdzy3jg9qpxrxrfb6mjydw80wa65gkjcpqj2ckmk0vd6hmhr";
+       version = "0.3.0.3";
+       sha256 = "0igs4w546zqpav40c3v99lfi8gix70ssx97b0dnq6fw6c02kacq9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring directory filepath http-client http-client-tls
-         http-types mtl split tar zlib
+         http-types mtl split tar text zlib
        ];
        executableHaskellDepends = [
-         base bytestring cmdargs directory mtl shelly tagsoup text
-         transformers
+         base bytestring cmdargs directory lifted-base mtl shelly tagsoup
+         text transformers
        ];
        testHaskellDepends = [
          base bytestring filepath hspec hspec-core hspec-wai http-client
-         http-types QuickCheck simple temporary transformers wai wai-extra
+         http-types mtl network QuickCheck scotty temporary text
+         transformers vector wai wai-extra warp
        ];
-       description = "Upload packages or documentation to a hackage server";
+       description = "Upload packages and/or documentation to a hackage server";
        license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -148592,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";
@@ -149365,6 +151075,31 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) rdkafka;};
 
+  "hw-kafka-client_5_0_0" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, c2hs, containers
+     , either, hspec, hspec-discover, monad-loops, rdkafka, text
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "hw-kafka-client";
+       version = "5.0.0";
+       sha256 = "1w0c80pn43xg4rrmwwq37yya96fil124sdly9djjnxm1g0brwjz6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bifunctors bytestring containers text transformers unix
+       ];
+       librarySystemDepends = [ rdkafka ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [
+         base bifunctors bytestring containers either hspec monad-loops text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Kafka bindings for Haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) rdkafka;};
+
   "hw-kafka-conduit" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, conduit
      , conduit-extra, containers, exceptions, extra, hspec
@@ -150864,6 +152599,17 @@ self: {
        broken = true;
      }) {};
 
+  "hypergeometric" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hypergeometric";
+       version = "0.1.2.0";
+       sha256 = "19vxqc9ng2vfvqxslxb950ygdqdd3cbqs4m6nqw8mbyjgld2wqd8";
+       libraryHaskellDepends = [ base ];
+       description = "Hypergeometric functions";
+       license = lib.licenses.agpl3Only;
+     }) {};
+
   "hyperion" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, clock
      , containers, deepseq, directory, exceptions, filepath
@@ -150945,6 +152691,21 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "hyperscript" = callPackage
+    ({ mkDerivation, base, megaparsec, text }:
+     mkDerivation {
+       pname = "hyperscript";
+       version = "0.1.0.1";
+       sha256 = "01rhw8i34j600x6i31z53ab4gzbdqry9src37vq51w2wk64ll7lb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base megaparsec text ];
+       executableHaskellDepends = [ base megaparsec text ];
+       testHaskellDepends = [ base megaparsec text ];
+       description = "A parser for the _hyperscript programming language";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hypertypes" = callPackage
     ({ mkDerivation, array, base, base-compat, binary, constraints
      , containers, criterion, deepseq, generic-constraints, generic-data
@@ -151114,10 +152875,8 @@ self: {
      }:
      mkDerivation {
        pname = "hzenity";
-       version = "0.4";
-       sha256 = "1zyj7wnjcmv5pmgzn6cgly2zalys5i9waik17b4n46kk38f2pv1i";
-       revision = "1";
-       editedCabalFile = "11b7zavg3d84w8iypikvp8n4yy0d084j9qvifjh9yny2m64w5xav";
+       version = "0.4.1";
+       sha256 = "1fpjbkdqbx052c4975gg7qdb97gh3dhvv7dc550f7ka5bii97d4k";
        libraryHaskellDepends = [
          base containers data-default process process-extras text time
        ];
@@ -151356,8 +153115,8 @@ self: {
      }:
      mkDerivation {
        pname = "ice40-prim";
-       version = "0.3.1.1";
-       sha256 = "1g0hfkkzgfkqsyyyhpxz7w4g2v5ay5k7d2xs2dp7m6lpzrgs5dl0";
+       version = "0.3.1.3";
+       sha256 = "02971h72z9k6rv7p3lkyrf8apkk4angk71n6dyqfkvg2phark2d1";
        libraryHaskellDepends = [
          base clash-prelude ghc-typelits-extra ghc-typelits-knownnat
          ghc-typelits-natnormalise interpolate
@@ -153287,12 +155046,16 @@ self: {
      }) {};
 
   "include-env" = callPackage
-    ({ mkDerivation, base, template-haskell }:
+    ({ mkDerivation, base, containers, template-haskell
+     , th-lift-instances
+     }:
      mkDerivation {
        pname = "include-env";
-       version = "0.4.0.0";
-       sha256 = "0swq7fzij24wmqid0zb7hz6v4q8nm3qvd741wd183lidrkisgpf0";
-       libraryHaskellDepends = [ base template-haskell ];
+       version = "0.5.0.0";
+       sha256 = "1jcq2hnak3mwxxpqp81gh8adm97czip0fb7h92k6n8sxrbvf4b1c";
+       libraryHaskellDepends = [
+         base containers template-haskell th-lift-instances
+       ];
        description = "Include the value of an environment variable at compile time";
        license = lib.licenses.bsd3;
      }) {};
@@ -153820,8 +155583,7 @@ self: {
        description = "Convenient imperative eDSL over Lorentz";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {cleveland = null;};
+     }) {};
 
   "inf-interval" = callPackage
     ({ mkDerivation, array, base, deepseq, QuickCheck, text, vector }:
@@ -154188,8 +155950,8 @@ self: {
      }:
      mkDerivation {
        pname = "inline-asm";
-       version = "0.5.0.0";
-       sha256 = "02zxgkaa4wgacgj6si4158cxgk3cdf0gkvl5avmyrivbcc18xkdi";
+       version = "0.5.0.1";
+       sha256 = "1h1g9k71cihc1g0jfprvklcwlcw9ymihlvnsa1fy2mfr759xgjzy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -154390,6 +156152,8 @@ self: {
        pname = "insert-ordered-containers";
        version = "0.2.5.1";
        sha256 = "1mnc0gby7xz8065rvkqsaqk1vqs0gv1y9qgvwsvxx3gsg9yj3a7r";
+       revision = "1";
+       editedCabalFile = "1vqsm280r2b573bfznkd9pqmm8ld9ix3z5i1nqmj42q5mv3zlzfm";
        libraryHaskellDepends = [
          aeson base deepseq hashable indexed-traversable lens optics-core
          optics-extra semigroupoids text transformers unordered-containers
@@ -155033,8 +156797,8 @@ self: {
        pname = "intern";
        version = "0.9.4";
        sha256 = "00c74apc2ap1pjxmzk1c975zzqrc94p69l7v1fvfakv87mbrg8j0";
-       revision = "1";
-       editedCabalFile = "0xkv6g1aadm5biiqvbfp8f9jsr75prs5aqbhmcskq7s475p1fglp";
+       revision = "2";
+       editedCabalFile = "1jd429wyh11py7yd95zgaqf3djwvmqznslanlp7jcbrv8ag3dyg8";
        libraryHaskellDepends = [
          array base bytestring hashable text unordered-containers
        ];
@@ -155334,15 +157098,16 @@ self: {
      }) {};
 
   "interval-algebra" = callPackage
-    ({ mkDerivation, base, containers, foldl, hspec, QuickCheck, safe
-     , time, witherable
+    ({ mkDerivation, base, binary, containers, deepseq, foldl, hspec
+     , QuickCheck, safe, time, witherable
      }:
      mkDerivation {
        pname = "interval-algebra";
-       version = "1.1.2";
-       sha256 = "0cnzlsmqg6snvggq7fh2c6hmjaijxqz8ng0lnzfyz8p3lk4p42zi";
+       version = "1.3.0";
+       sha256 = "0qb23l8jsam2j58pvmqv3gcmxri1bsb1m8nayspssnrapwis0ig6";
        libraryHaskellDepends = [
-         base containers foldl QuickCheck safe time witherable
+         base binary containers deepseq foldl QuickCheck safe time
+         witherable
        ];
        testHaskellDepends = [
          base containers hspec QuickCheck safe time witherable
@@ -155626,6 +157391,8 @@ self: {
        testHaskellDepends = [ base QuickCheck transformers ];
        description = "bidirectional arrows, bijective functions, and invariant functors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "invertible-grammar" = callPackage
@@ -155670,6 +157437,7 @@ self: {
        ];
        description = "invertible transformer instances for HXT Picklers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "invertible-syntax" = callPackage
@@ -155999,8 +157767,8 @@ self: {
      }:
      mkDerivation {
        pname = "ip";
-       version = "1.7.3";
-       sha256 = "0xcn9la0c2illw53xn8m2w2jpfi9yivzl2w54l62cj2fn7l9l5cf";
+       version = "1.7.4";
+       sha256 = "1hvqgah86z2saizhjpq2352x2ncxjsshvzj66bmij3yk6y107yfs";
        libraryHaskellDepends = [
          aeson attoparsec base bytebuild byteslice bytesmith bytestring
          deepseq hashable natural-arithmetic primitive text text-short
@@ -156018,7 +157786,6 @@ self: {
        ];
        description = "Library for IP and MAC addresses";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ip-quoter" = callPackage
@@ -156077,8 +157844,8 @@ self: {
     ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
      mkDerivation {
        pname = "ip6addr";
-       version = "1.0.2";
-       sha256 = "0bj9hr085hg8a8x4dcwvf4cf1876acylrl7bnqpmdrpq1n1rb9sp";
+       version = "1.0.3";
+       sha256 = "16dbvrsbg7l4z31faxm1pxps0plg89d4ny2mxsgwyq8r351irmwc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base cmdargs IPv6Addr text ];
@@ -156340,6 +158107,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ipynb_0_2" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , containers, directory, filepath, microlens, microlens-aeson
+     , tasty, tasty-hunit, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ipynb";
+       version = "0.2";
+       sha256 = "1iwia4sxg40m4d290gys72wabqmkqx24ywsaranwzk2wx5s3sx4s";
+       revision = "1";
+       editedCabalFile = "0fl9x5amq0g5dg57dcgc0g4ir0r1fdbx06aldsqdwzdc9zs97v6k";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring containers text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath microlens microlens-aeson
+         tasty tasty-hunit text
+       ];
+       description = "Data structure for working with Jupyter notebooks (ipynb)";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ipython-kernel" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
      , cryptonite, directory, filepath, memory, parsec, process
@@ -156740,13 +158531,13 @@ self: {
      }) {};
 
   "isbn" = callPackage
-    ({ mkDerivation, base, hspec, text }:
+    ({ mkDerivation, base, hspec, QuickCheck, text }:
      mkDerivation {
        pname = "isbn";
-       version = "1.1.0.2";
-       sha256 = "0gvygq19skhjx946nyahyvkm4j60s9fj1jcdzi9435apmjpra32j";
+       version = "1.1.0.3";
+       sha256 = "16srdvsjsiqzcm0hb3rhwry1vr170fz85g84wk6nyk1glbva4bga";
        libraryHaskellDepends = [ base text ];
-       testHaskellDepends = [ base hspec text ];
+       testHaskellDepends = [ base hspec QuickCheck text ];
        description = "ISBN Validation and Manipulation";
        license = lib.licenses.asl20;
      }) {};
@@ -156966,8 +158757,8 @@ self: {
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "isocline";
-       version = "1.0.5";
-       sha256 = "05amznscn43vscz3b9rnb2scryriq0gccjx5z5fk1wn47i3dz6vg";
+       version = "1.0.9";
+       sha256 = "0s2lwypsvzxcgcml3b3q9g0acwg6ph2q47p42i9a9kc2h2gcd44h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring text ];
@@ -157863,6 +159654,38 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "jacinda" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , criterion, deepseq, directory, filepath, happy, microlens
+     , microlens-mtl, mtl, optparse-applicative, prettyprinter
+     , recursion, regex-rure, split, tasty, tasty-hunit, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "jacinda";
+       version = "0.3.1.0";
+       sha256 = "1nn3c91fhq46ng2yh9425cpxlk5mksalx5wrv1d7z0xn5m1v1387";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base bytestring containers directory filepath microlens
+         microlens-mtl mtl prettyprinter recursion regex-rure split text
+         transformers vector
+       ];
+       libraryToolDepends = [ alex happy ];
+       executableHaskellDepends = [
+         base bytestring optparse-applicative
+       ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit ];
+       benchmarkHaskellDepends = [ base criterion deepseq ];
+       doHaddock = false;
+       description = "Functional, expression-oriented data processing language";
+       license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ sternenseemann ];
+     }) {};
+
   "jack" = callPackage
     ({ mkDerivation, array, base, bytestring, enumset, event-list
      , explicit-exception, libjack2, midi, non-negative, semigroups
@@ -158968,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
@@ -159601,6 +161424,26 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "json-feed_2_0_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, filepath, hspec
+     , mime-types, network-uri, tagsoup, text, time
+     }:
+     mkDerivation {
+       pname = "json-feed";
+       version = "2.0.0.0";
+       sha256 = "1d2xjyi5b6v5sq0g4aayirfjj4l7lskwv28w6601dxwz7yrsp234";
+       libraryHaskellDepends = [
+         aeson base bytestring mime-types network-uri tagsoup text time
+       ];
+       testHaskellDepends = [
+         aeson base bytestring filepath hspec mime-types network-uri tagsoup
+         text time
+       ];
+       description = "JSON Feed";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "json-fu" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , hashable, hspec, mtl, syb, text, time, unordered-containers
@@ -159751,7 +161594,7 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) python;};
+     }) {python = null;};
 
   "json-qq" = callPackage
     ({ mkDerivation, base, haskell-src-meta, parsec, template-haskell
@@ -159927,17 +161770,21 @@ self: {
      }) {};
 
   "json-sop" = callPackage
-    ({ mkDerivation, aeson, base, generics-sop, lens-sop, tagged, text
-     , time, transformers, unordered-containers, vector
+    ({ mkDerivation, aeson, base, generics-sop, lens-sop, tagged, tasty
+     , tasty-quickcheck, text, time, transformers, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "json-sop";
-       version = "0.2.0.5";
-       sha256 = "1sdc2ywdra75nqlc5829f0clfi91fdqyrcmik1nrxrdnxr4yzhvh";
+       version = "0.2.1";
+       sha256 = "0kzl21669wh9vdxspliflciwrkn5wamwwyg96aqrm4ybdqscpcn4";
        libraryHaskellDepends = [
          aeson base generics-sop lens-sop tagged text time transformers
          unordered-containers vector
        ];
+       testHaskellDepends = [
+         aeson base generics-sop tasty tasty-quickcheck
+       ];
        description = "Generics JSON (de)serialization using generics-sop";
        license = lib.licenses.bsd3;
      }) {};
@@ -160338,6 +162185,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "jsonpath_0_2_1_0" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
+     , file-embed, hspec, hspec-attoparsec, hspec-discover, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jsonpath";
+       version = "0.2.1.0";
+       sha256 = "1d9h6j0xzrpxc56wym9b0sdanpw1v2rcx1sdm49h6iriwwmckb10";
+       libraryHaskellDepends = [
+         aeson attoparsec base text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson aeson-casing attoparsec base bytestring file-embed hspec
+         hspec-attoparsec text unordered-containers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Library to parse and execute JSONPath";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "jsonresume" = callPackage
     ({ mkDerivation, aeson, base, bytestring, old-locale, text, time
      , unordered-containers
@@ -160362,8 +162231,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonrpc-conduit";
-       version = "0.3.7";
-       sha256 = "0i1anr471rm7wil2l62mcwkqsyd62zwcgc0rb3iblr64bjd6kl80";
+       version = "0.3.8";
+       sha256 = "196w8jmb8107shbrdhr17axl6x2sx088hdys2yfpqmrcsxc77z45";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra mtl text
          transformers unordered-containers
@@ -160929,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
@@ -161257,6 +163128,8 @@ self: {
        pname = "kansas-comet";
        version = "0.4.1";
        sha256 = "1j54rsqna8xrw1si8i74v0c9k4jjv8a2q001aa8sx4rxb7d1qbzy";
+       revision = "1";
+       editedCabalFile = "12mg3hb54x680mzyp39bdbhfpjfav531ap02gvsr4k46jvfg0i2p";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers data-default-class scotty stm text time
@@ -161443,6 +163316,8 @@ self: {
        pname = "katip";
        version = "0.8.7.0";
        sha256 = "1m74n6fyxczfgg3swkkgr6864mzji1l0dpwpxk5zd93488zrij9v";
+       revision = "1";
+       editedCabalFile = "14a0j9i7vn81qwsd343pswcamldhpyiic2nld57xw2lg50rdshfj";
        libraryHaskellDepends = [
          aeson async auto-update base bytestring containers either hostname
          microlens microlens-th monad-control mtl old-locale resourcet
@@ -161648,6 +163523,27 @@ self: {
        broken = true;
      }) {};
 
+  "katip-wai" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, clock, containers
+     , hspec, hspec-discover, http-client, http-types, katip, network
+     , stm, text, uuid, wai, warp
+     }:
+     mkDerivation {
+       pname = "katip-wai";
+       version = "0.1.1.0";
+       sha256 = "0ajwa6ya0azbffcz2cpsd2kd8fy2s2hbklyj604f27pghl7fki06";
+       libraryHaskellDepends = [
+         aeson base bytestring clock http-types katip network text uuid wai
+       ];
+       testHaskellDepends = [
+         aeson async base bytestring containers hspec http-client http-types
+         katip stm text uuid wai warp
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "WAI middleware for logging request and response info through katip";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "katt" = callPackage
     ({ mkDerivation, aeson, base, bytestring, ConfigFile, containers
      , directory, errors, filepath, lens, mtl, parsec, text, url, wreq
@@ -161798,6 +163694,8 @@ self: {
        ];
        description = "Fast concurrent queues much inspired by unagi-chan";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "kbq-gu" = callPackage
@@ -162329,8 +164227,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-core";
-       version = "0.1.3.1";
-       sha256 = "0q9zrdqfbgyi6gjm8g0nhv74rbz2r56v4hlkqp89vs93sws5pnsy";
+       version = "0.1.5.1";
+       sha256 = "09b9zjfsk03xrp34b8z7a48ym1vyhqjwpfv7hdkn3nr3pkgljkf1";
        libraryHaskellDepends = [
          adjunctions base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin distributive file-embed foldl geomancy
@@ -162368,8 +164266,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-render-basic";
-       version = "0.1.3.0";
-       sha256 = "15cp34k0kmis9wf5r8x2pfihl263fjwmwfkpi9fn7p5snn36pc28";
+       version = "0.1.5.0";
+       sha256 = "0ral2p8i7kjxhil70q2fkirbl0nq3kfrvqzk3x2ykbmx91c90ds0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          adjunctions aeson base bytestring derive-storable
@@ -162401,14 +164299,15 @@ self: {
      }) {};
 
   "keid-sound-openal" = callPackage
-    ({ mkDerivation, base, keid-core, OpenAL, opusfile, resourcet, rio
+    ({ mkDerivation, base, keid-core, openal-ffi, opusfile, resourcet
+     , rio
      }:
      mkDerivation {
        pname = "keid-sound-openal";
-       version = "0.1.1.0";
-       sha256 = "1bzx73wm8xf9nbw0771dl6fsq31lg1nxqg20sr14cglbvmpjiscb";
+       version = "0.2.0.0";
+       sha256 = "1dnpyghydxlh3158psliz76s213jlxz21lf7ps3cw22crf9c8hr5";
        libraryHaskellDepends = [
-         base keid-core OpenAL opusfile resourcet rio
+         base keid-core openal-ffi opusfile resourcet rio
        ];
        description = "OpenAL sound system for Keid engine";
        license = lib.licenses.bsd3;
@@ -162422,8 +164321,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-ui-dearimgui";
-       version = "0.1.0.1";
-       sha256 = "1b731r5q8bjpiy84kfzy30pn4wppak1m1zx2ssicdl86181wva1l";
+       version = "0.1.1.0";
+       sha256 = "10ivrkbhnd9kwrwywspaj0z2agrddjrf4cv4rxpij28xrhj5jbav";
        libraryHaskellDepends = [
          base binary bytestring dear-imgui GLFW-b keid-core resourcet rio
          rio-app unliftio vector vulkan vulkan-utils VulkanMemoryAllocator
@@ -162595,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 {
@@ -162856,6 +164771,8 @@ self: {
        pname = "ki";
        version = "0.2.0.1";
        sha256 = "1nxmgv4kxh2whdsmj659iypf8gfjrqzyxzyzghapg1fmpffjpcyr";
+       revision = "1";
+       editedCabalFile = "0prk6bq1rw52dc7ydapqklcapl1z6yqz0vnx0fl4cm600pd9salm";
        libraryHaskellDepends = [ base containers stm ];
        testHaskellDepends = [ base stm ];
        description = "A lightweight, structured-concurrency library";
@@ -162957,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;
@@ -162968,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;
@@ -163033,8 +164950,8 @@ self: {
        pname = "kleene";
        version = "0.1";
        sha256 = "00w1gywdhqyy2k3y238gfjs9h2w4pjanmi45bna5lj215n0jb0hg";
-       revision = "4";
-       editedCabalFile = "1n7bf4l3wmm3qcwswjkw1d8n39a4b7pxqizpnpkjwq6lj8qxkmd2";
+       revision = "5";
+       editedCabalFile = "0fqzr4bwiif9ifmdjxkcnky9hn5ygn8pj3gd004dc27nx6dhxzmc";
        libraryHaskellDepends = [
          attoparsec base base-compat bytestring containers lattices MemoTrie
          QuickCheck range-set-list regex-applicative semigroupoids
@@ -163315,8 +165232,8 @@ self: {
      }:
      mkDerivation {
        pname = "koji-install";
-       version = "0.4";
-       sha256 = "1qsrg57ak7zxmx6c6q83da0dzfhvdcj4ycnz4026xp25ijhl5frd";
+       version = "0.5";
+       sha256 = "0a0qykn4xp5chaqgid97ryyxb68ryn0pwf8cdn6q336l0k6d68xm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -163330,6 +165247,62 @@ self: {
        broken = true;
      }) {};
 
+  "koji-tool" = callPackage
+    ({ mkDerivation, base, directory, extra, filepath, format-numbers
+     , Glob, http-directory, koji, pretty-simple, rpm-nvr, simple-cmd
+     , simple-cmd-args, text, time, xdg-userdirs
+     }:
+     mkDerivation {
+       pname = "koji-tool";
+       version = "0.7";
+       sha256 = "1gyg76fajs7qc7mr86i0hiz5m4a0y2lqmqk67cb0glgbg53z47b7";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base directory extra filepath format-numbers Glob http-directory
+         koji pretty-simple rpm-nvr simple-cmd simple-cmd-args text time
+         xdg-userdirs
+       ];
+       testHaskellDepends = [ base simple-cmd ];
+       description = "Koji CLI tool for querying tasks and installing builds";
+       license = lib.licenses.bsd3;
+       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
@@ -163591,20 +165564,15 @@ self: {
      }) {egl = null; inherit (pkgs) glew;};
 
   "ktx-codec" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, directory
-     , filepath, shower, text, vector
+    ({ mkDerivation, base, binary, bytestring, containers, text, vector
      }:
      mkDerivation {
        pname = "ktx-codec";
-       version = "0.0.1.3";
-       sha256 = "0mm6lf8fm8zmi33s4zg8c3ar42aghdqmb3g7hv6qpcm1vc5krld4";
+       version = "0.0.1.4";
+       sha256 = "1n9vh7la5c359nczlla7jpf6qwbs6dx7n3fd9bnb4s2i6fpb5k0a";
        libraryHaskellDepends = [
          base binary bytestring containers text vector
        ];
-       testHaskellDepends = [
-         base binary bytestring containers directory filepath shower text
-         vector
-       ];
        description = "Khronos texture format";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -163971,6 +165939,19 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "lackey_2_0_0_0" = callPackage
+    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
+     mkDerivation {
+       pname = "lackey";
+       version = "2.0.0.0";
+       sha256 = "06ad35nmppblqb7400563l5qk3zna6l3kasp5ng0iacgmqzmvcrv";
+       libraryHaskellDepends = [ base servant-foreign text ];
+       testHaskellDepends = [ base hspec servant servant-foreign text ];
+       description = "Generate Ruby clients from Servant APIs";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lacroix" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -164981,8 +166962,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-avro";
-       version = "0.1.3.1";
-       sha256 = "0b54041z1sfrd7fck975i8d69agxij6jml6mxlcr41y7ywvizq0l";
+       version = "0.1.4.0";
+       sha256 = "1x7279nk306pc9db8bav6aj5g36g338mzjnhkgl21dqxh1qb43rx";
        libraryHaskellDepends = [
          avro base containers directory filepath megaparsec text vector
        ];
@@ -165042,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
@@ -165096,6 +167079,8 @@ self: {
        pname = "language-c-quote";
        version = "0.13";
        sha256 = "02axz6498sg2rf24qds39n9gysc4lm3v354h2qyhrhadlfq8sf6d";
+       revision = "1";
+       editedCabalFile = "1vl92h4z294ycg87140qk7v40r7vz43n8anpd2w1jdnwd6w4f4m3";
        libraryHaskellDepends = [
          array base bytestring containers exception-mtl
          exception-transformers filepath haskell-src-meta mainland-pretty
@@ -166399,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;
@@ -167032,8 +169015,8 @@ self: {
      }:
      mkDerivation {
        pname = "lazy-async";
-       version = "1.0.0.0";
-       sha256 = "0kk8pzwm04z4jljl38gd0n03nkxw3mxg8rg93ka0rvnibfwm8dda";
+       version = "1.0.0.1";
+       sha256 = "1nw24hfpw0wd099lxjsi1iqssbb7yw6isilkv4a68agv2q1ranvk";
        libraryHaskellDepends = [
          base exceptions lifted-async monad-control rank2classes stm
          transformers transformers-base
@@ -167974,6 +169957,8 @@ self: {
        pname = "lens";
        version = "5.1";
        sha256 = "1g9mwfs0vs0kq6affrdl07z2zkl39pd2362vn9iycpwr3bg2284j";
+       revision = "1";
+       editedCabalFile = "1gr096bpap1v2s08fz91plampxgx3ka8ylacnrp7xcwz7dhnpm1c";
        libraryHaskellDepends = [
          array assoc base base-orphans bifunctors bytestring call-stack
          comonad containers contravariant distributive exceptions filepath
@@ -168032,6 +170017,8 @@ self: {
        pname = "lens-aeson";
        version = "1.1.3";
        sha256 = "05jyn6rn0anhgfmk754gmmpcy5jv3ki213z4v243n9jvdjdlg7ms";
+       revision = "1";
+       editedCabalFile = "0l1hkkpp4blkhmbpswl6lqww6wpfm327f8knq1lskhnisbnfmj2j";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring lens scientific text
          unordered-containers vector
@@ -168500,6 +170487,8 @@ self: {
        pname = "lentil";
        version = "1.5.3.2";
        sha256 = "0knc3g5n6h0yzr0kpgmgk44kbwh200qafjdvwpca92n3s0wf76py";
+       revision = "2";
+       editedCabalFile = "0n5wklh6f33c9yzblxwbx3mx04fxdx7mmqp551z9xfy6nnwg8hrp";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -168943,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
@@ -168962,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 = [
@@ -169345,8 +171334,8 @@ self: {
      }:
      mkDerivation {
        pname = "libmdbx";
-       version = "0.2.1.0";
-       sha256 = "1v5gjp1hr4c1r5nbf4r2j3pd2kxl36b9xpphmmxqin7jfmpj5fjj";
+       version = "0.2.1.1";
+       sha256 = "0rh6zq1p6yz858m3mb5jfqydglw54gr7pvniyjvd3zprsr0pa0jf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169906,6 +171895,20 @@ self: {
        broken = true;
      }) {};
 
+  "libxlsxwriter-hs" = callPackage
+    ({ mkDerivation, base, bytestring, xlsxwriter }:
+     mkDerivation {
+       pname = "libxlsxwriter-hs";
+       version = "0.1.0";
+       sha256 = "00mmqzmmk8nmvvaqn6paq0s4kk5fbrxr1h5n4wd5fkhb4nizsj5s";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ xlsxwriter ];
+       description = "Bindings to libxlsxwriter";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {xlsxwriter = null;};
+
   "libxml" = callPackage
     ({ mkDerivation, base, bytestring, libxml2, mtl }:
      mkDerivation {
@@ -170299,8 +172302,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifx-lan";
-       version = "0.5.1.1";
-       sha256 = "1rk1ln19hlcvs3g25pq4p136zxbd1lxi4pjfflngb691mvvb7ih6";
+       version = "0.6.2";
+       sha256 = "1lshzfgx0cgjqpxlknbsqwvhkmn2jc30zgyzj7lsr3jqqr41zssn";
        libraryHaskellDepends = [
          base binary bytestring composition containers extra monad-loops mtl
          network random safe text time transformers
@@ -172122,6 +174125,18 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "list-singleton_2_0_0_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "list-singleton";
+       version = "2.0.0.0";
+       sha256 = "1mv2567as9vsnrqp23dzb7rlvcmid484rk94nrrfl8za97i1s4c0";
+       libraryHaskellDepends = [ base ];
+       description = "Easily and clearly create lists with only one element in them";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "list-t" = callPackage
     ({ mkDerivation, base, base-prelude, foldl, HTF, logict, mmorph
      , monad-control, mtl, mtl-prelude, semigroups, transformers
@@ -172504,15 +174519,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "literatex_0_2_0_0" = 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.0";
-       sha256 = "1j5x1hfh71jpywgwpbyir74h58b6lzaj7gpk2f07xlcwqmm68syz";
+       version = "0.2.0.2";
+       sha256 = "1j82z5q6dzgi7b8si0fzxa3zv8rgqdhwm82sxh3wqsb6z1jfwk37";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -173115,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 = [
@@ -173393,8 +175408,10 @@ self: {
     ({ mkDerivation, base, containers, doctest, hedgehog }:
      mkDerivation {
        pname = "loc";
-       version = "0.1.3.10";
-       sha256 = "0vl0pyimcm7jp4lgdmsqgcg9shqfrj60lz4psjkdfdcm3vkdqnkw";
+       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";
@@ -173405,8 +175422,10 @@ self: {
     ({ mkDerivation, base, containers, hedgehog, loc }:
      mkDerivation {
        pname = "loc-test";
-       version = "0.1.3.8";
-       sha256 = "0jg6p0lfd5xgrwbmlskj5f1x8l5b0b3dqh460ds2nii8isccgvcq";
+       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;
@@ -173460,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
@@ -174801,8 +176820,8 @@ self: {
      }:
      mkDerivation {
        pname = "lorentz";
-       version = "0.13.0";
-       sha256 = "1r4pni5hnf8vaxyv62jvq9dvhwalgzczhymm4w9ixfhncnr6znv4";
+       version = "0.13.2";
+       sha256 = "1kb611xj1rl8jbx3bibcqdklv8kls3xkis77vix2vdf6y6fhjhfr";
        libraryHaskellDepends = [
          aeson-pretty base-noprelude bimap bytestring constraints containers
          cryptonite data-default first-class-families fmt lens morley
@@ -174970,8 +176989,8 @@ self: {
     ({ mkDerivation, base, lua, tasty, tasty-hunit }:
      mkDerivation {
        pname = "lpeg";
-       version = "1.0.1";
-       sha256 = "0zhg7d85s6rx1dh3mndpjjy3k8b5ixyz28wl6i8zvn2mxyx40y98";
+       version = "1.0.2";
+       sha256 = "0b1khwgmvlnvan6vp46mlvhzdrhawl5s1v971bm660aq0q8jjv1k";
        libraryHaskellDepends = [ base lua ];
        testHaskellDepends = [ base lua tasty tasty-hunit ];
        description = "LPeg – Parsing Expression Grammars For Lua";
@@ -174997,8 +177016,8 @@ self: {
        pname = "lrucaching";
        version = "0.3.3";
        sha256 = "192a2zap1bmxa2y48n48rmngf18fr8k0az4a230hziv3g795yzma";
-       revision = "11";
-       editedCabalFile = "0qvpsrsr9fw0lyybaq53zskfgawka0lwpkvxaihbyp0k4alj7yjx";
+       revision = "12";
+       editedCabalFile = "0jc46492lq09yrmp0887q9smk0z6nn35nlgcarm9rndsr2a1x0ya";
        libraryHaskellDepends = [
          base base-compat deepseq hashable psqueues vector
        ];
@@ -175108,27 +177127,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "lsp_1_2_0_1" = callPackage
+  "lsp_1_4_0_0" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
-     , containers, data-default, dependent-map, exceptions, filepath
-     , hashable, hslogger, hspec, hspec-discover, lens, lsp-types, mtl
+     , containers, data-default, exceptions, filepath, hashable
+     , hslogger, hspec, hspec-discover, lens, lsp-types, mtl
      , network-uri, QuickCheck, quickcheck-instances, random
      , rope-utf16-splay, scientific, sorted-list, stm, text, time
      , transformers, unliftio-core, unordered-containers, uuid
      }:
      mkDerivation {
        pname = "lsp";
-       version = "1.2.0.1";
-       sha256 = "1bdgbxakdyhkrddj58f0al2wrx1mckp6hia7hk2wqjix20my8v49";
-       revision = "1";
-       editedCabalFile = "193y4b3l6agm83ng2c0ngvd0j9a71q237g9i5v57p502lhzfaag2";
+       version = "1.4.0.0";
+       sha256 = "18hnb4k3zwjxp3r5jrgrbakvqr2d16azp6jwmfv5lq5n8xn6mwgv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async attoparsec base bytestring containers data-default
-         dependent-map exceptions hashable hslogger lens lsp-types mtl
-         network-uri random scientific sorted-list stm text time
-         transformers unliftio-core unordered-containers uuid
+         exceptions hashable hslogger lens lsp-types mtl network-uri random
+         scientific sorted-list stm text time transformers unliftio-core
+         unordered-containers uuid
        ];
        testHaskellDepends = [
          aeson base containers filepath hspec lens network-uri QuickCheck
@@ -175168,7 +177185,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "lsp-test_0_14_0_1" = callPackage
+  "lsp-test_0_14_0_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, extra, filepath, Glob, hspec, lens, lsp
@@ -175177,8 +177194,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.14.0.1";
-       sha256 = "0fr1812dnzv9hljb77khspaz666wqr6m1gj963v0z2j6xgvw2ipy";
+       version = "0.14.0.2";
+       sha256 = "1capjilca74cqiwmrhbl1an6ih3227n3g417dfvql0lffa3j6qsf";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring conduit
          conduit-parse containers data-default Diff directory filepath Glob
@@ -175186,7 +177203,7 @@ self: {
          transformers unix unordered-containers
        ];
        testHaskellDepends = [
-         aeson async base data-default directory filepath hspec lens lsp mtl
+         aeson base data-default directory filepath hspec lens lsp mtl
          parser-combinators process text unliftio unordered-containers
        ];
        testToolDepends = [ lsp ];
@@ -175219,24 +177236,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "lsp-types_1_3_0_1" = callPackage
+  "lsp-types_1_4_0_1" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
-     , data-default, deepseq, dependent-sum, dependent-sum-template
-     , Diff, directory, dlist, filepath, hashable, hslogger, lens, mtl
-     , network-uri, rope-utf16-splay, scientific, some, template-haskell
-     , temporary, text, unordered-containers
+     , data-default, deepseq, Diff, directory, dlist, filepath, hashable
+     , hslogger, lens, mod, mtl, network-uri, rope-utf16-splay
+     , scientific, some, template-haskell, temporary, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "lsp-types";
-       version = "1.3.0.1";
-       sha256 = "05zgd99y7xnxnydisq5x24n1af2isar172p247hb5q0mp12hdd3z";
-       revision = "1";
-       editedCabalFile = "031b69fxi8m4fcwwgqb7cf4k806ikkmjqnn3wv6bn3sny1hn5gg7";
+       version = "1.4.0.1";
+       sha256 = "0dxf5nnaxs2564hgjldkclhm5gvszjxxvz6gk00jmx0gf8k6dm8z";
        libraryHaskellDepends = [
-         aeson base binary bytestring containers data-default deepseq
-         dependent-sum dependent-sum-template Diff directory dlist filepath
-         hashable hslogger lens mtl network-uri rope-utf16-splay scientific
-         some template-haskell temporary text unordered-containers
+         aeson base binary bytestring containers data-default deepseq Diff
+         directory dlist filepath hashable hslogger lens mod mtl network-uri
+         rope-utf16-splay scientific some template-haskell temporary text
+         unordered-containers
        ];
        description = "Haskell library for the Microsoft Language Server Protocol, data types";
        license = lib.licenses.mit;
@@ -175392,8 +177407,8 @@ self: {
     ({ mkDerivation, base, lua5_3, tasty, tasty-hunit }:
      mkDerivation {
        pname = "lua";
-       version = "2.0.2";
-       sha256 = "0hsbwws16p9xrpmx4j8f9hmz8lhjjz9b8ngb3y7pxi6lx08mypgw";
+       version = "2.1.0";
+       sha256 = "00fcx1by3b2bjb3sc86azr3gmy9jd1b0gilbz48pkbb7cw4p5z1c";
        configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ lua5_3 ];
@@ -175408,6 +177423,8 @@ self: {
        pname = "lua-arbitrary";
        version = "1.0.0";
        sha256 = "13kfpiyln1i3d1a47fpf00lrcj4m9dyg80zrqclx7wzy9p8ixh7l";
+       revision = "1";
+       editedCabalFile = "19cc5vn27izx5cnpq1xj915ax16czvxaarvigggwi73cgk11hbf1";
        libraryHaskellDepends = [ base lua QuickCheck ];
        description = "Arbitrary instances for Lua types";
        license = lib.licenses.mit;
@@ -175564,12 +177581,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "lucid-alpine_0_1_0_4" = callPackage
+  "lucid-alpine_0_1_0_7" = callPackage
     ({ mkDerivation, base, lucid, text }:
      mkDerivation {
        pname = "lucid-alpine";
-       version = "0.1.0.4";
-       sha256 = "1pr2fg5r43jvgh694lhqbmwl1dida9ymgw161j16dcj66jx8fjk6";
+       version = "0.1.0.7";
+       sha256 = "1p6cmjxbin7wj3b3cbg15gv43mcfqzm791swmhcwx0x41x41jygx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base lucid text ];
@@ -175647,12 +177664,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "lucid-htmx_0_1_0_3" = callPackage
+  "lucid-htmx_0_1_0_5" = callPackage
     ({ mkDerivation, base, lucid, servant, text }:
      mkDerivation {
        pname = "lucid-htmx";
-       version = "0.1.0.3";
-       sha256 = "1fgb4gika5f3bbba2as4bkg6m8nn2w25k17m45b389rwmhyg6syj";
+       version = "0.1.0.5";
+       sha256 = "1zbk1fdril0cm4cs5scrvk1fvfkds8pgkwnb5c9vxawv5v3kgpl5";
        libraryHaskellDepends = [ base lucid servant text ];
        testHaskellDepends = [ base lucid servant text ];
        description = "Use htmx in your lucid templates";
@@ -175660,6 +177677,21 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lucid-hyperscript" = callPackage
+    ({ mkDerivation, base, lucid, template-haskell, text }:
+     mkDerivation {
+       pname = "lucid-hyperscript";
+       version = "0.1.0.2";
+       sha256 = "1gf6q1ckxpswd550dgr8nr6ghd5hv0iz73scab2rgiv7fsjchcnl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base lucid template-haskell text ];
+       executableHaskellDepends = [ base lucid template-haskell text ];
+       testHaskellDepends = [ base lucid template-haskell text ];
+       description = "Use _hyperscript with lucid";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "lucid-svg" = callPackage
     ({ mkDerivation, base, blaze-builder, lucid, text, transformers }:
      mkDerivation {
@@ -175762,8 +177794,8 @@ self: {
        pname = "lukko";
        version = "0.1.1.3";
        sha256 = "07xb926kixqv5scqdl8w34z42zjzdpbq06f0ha3f3nm3rxhgn3m8";
-       revision = "1";
-       editedCabalFile = "0mmq1q82mrbayiij0p8wdnkf0j8drmq1iibg8kn4cak3nrn9pd1d";
+       revision = "2";
+       editedCabalFile = "1h4pdybiqpwljjm4p9bhn3nr2kgqxxggnl5czk5d6ch6li1w1160";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          async base bytestring filepath singleton-bool tasty
@@ -176142,8 +178174,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzlib";
-       version = "1.0.7.1";
-       sha256 = "18y6diahfvqvv3qp6ch1jbi9jwz6li4xm1y1c5pi2895h4c51ljf";
+       version = "1.0.7.2";
+       sha256 = "00hjq15jc94bf3lgzh33w7ksf3daw2l7x1qljn11lbr48a8a2zmi";
        libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
@@ -176154,6 +178186,8 @@ self: {
        ];
        description = "lzlib bindings";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lzma" = callPackage
@@ -177695,8 +179729,8 @@ self: {
      }:
      mkDerivation {
        pname = "mandrill";
-       version = "0.5.5.0";
-       sha256 = "1zq7kfs513zh7v5y4hafh5d6ly4jhmxsl3rfjavh2faw4i19fy3n";
+       version = "0.5.6.0";
+       sha256 = "1p58c83dqbpsl0a41s6xnnwbygk04gmsg51gfqprjkvzbgl2h7zq";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-html bytestring containers
          email-validate http-client http-client-tls http-types microlens-th
@@ -178233,7 +180267,6 @@ self: {
        ];
        description = "Abstraction for HTML-embedded content";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "markup-preview" = callPackage
@@ -178343,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
        ];
@@ -179174,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, 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.2.0";
-       sha256 = "18n5il56p3hr6iax2d1m0b7vximc0z4jzj0dav0rhv3yrwy8p5w2";
+       version = "0.1.4.0";
+       sha256 = "1adcg3c3lar5c0cxhbgy8whlcm28xhnvbhk5qgfnss6b35bhsajk";
        libraryHaskellDepends = [
          aeson aeson-casing base base64 bytestring containers exceptions
-         hashable http-client http-client-tls http-types 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
-         retry SHA text time unordered-containers
+         network-uri profunctors retry SHA text time unordered-containers
        ];
        description = "A matrix client library";
        license = lib.licenses.asl20;
@@ -179953,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;
@@ -180041,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 = [
@@ -180275,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.1.0";
-       sha256 = "124wa7v8vx82gd04brgv3kphyqs0p5x9hp1vlp39bkha9w1yab7w";
+       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;
@@ -180338,6 +182371,8 @@ self: {
        pname = "megaparsec";
        version = "9.2.0";
        sha256 = "1whjn3n14h2q3ja1v7zllzmj28ai7lqwfbif22c08rl00wpwmwhd";
+       revision = "1";
+       editedCabalFile = "1jv3j59fvykvplj3c653c9rk5wiwg6x0jnljhi2vknzxxmxkjj02";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -180423,8 +182458,8 @@ self: {
      }:
      mkDerivation {
        pname = "melf";
-       version = "1.0.1";
-       sha256 = "1k4174ssrj5d6qjj9fcxd8q586c96jpwzf4f19kqhv8w4mbpvfl0";
+       version = "1.0.2";
+       sha256 = "065nsazfsh8f6j2g80c2wppq5zm502ngwbn3lyzg2y42im4cdycx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -180872,6 +182907,8 @@ self: {
        pname = "memory-cd";
        version = "0.16.0.1";
        sha256 = "05dkgkms159k4mk4l1ngcnxqs2hbnzmh9zv3gks0cx7wba6qyrf1";
+       revision = "1";
+       editedCabalFile = "1kja8j32h1ff6vkn3smj88k4gzgi0il8kv47cm8hwgn0v0cjjy9f";
        libraryHaskellDepends = [
          base basement-cd bytestring deepseq ghc-prim
        ];
@@ -180882,6 +182919,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "memory-hexstring" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, memory, scale
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "memory-hexstring";
+       version = "1.0.0.0";
+       sha256 = "1sm7jj75mv8p7f33h619zm10xbzyjg1jds87cg36mrj8hfb32q48";
+       libraryHaskellDepends = [
+         aeson base bytestring memory scale template-haskell text
+       ];
+       description = "Hex-string type for Haskell Web3 library";
+       license = lib.licenses.asl20;
+     }) {};
+
   "memorypool" = callPackage
     ({ mkDerivation, base, containers, transformers, unsafe, vector }:
      mkDerivation {
@@ -181616,8 +183668,8 @@ self: {
      }:
      mkDerivation {
        pname = "mfsolve";
-       version = "0.3.2.0";
-       sha256 = "1wa2m8q49lv0a335ahgx2svkff8vaba65cqlfmmk43ww5x26f893";
+       version = "0.3.2.1";
+       sha256 = "190dszcnvy5j5bs3n0kya8a9nq0vdhrpgpndjpsxw7x70y3hc9d2";
        libraryHaskellDepends = [
          base hashable mtl mtl-compat unordered-containers
        ];
@@ -181887,15 +183939,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "microlens-aeson_2_4_0" = callPackage
+  "microlens-aeson_2_4_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
      , hashable, microlens, scientific, tasty, tasty-hunit, text
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "microlens-aeson";
-       version = "2.4.0";
-       sha256 = "103r9i4ky58y34rb82dmw20npbzzk4brn9nn4650m7mdzcgmz0zm";
+       version = "2.4.1";
+       sha256 = "0h11h1vg467aq1w6gfb0jvzvhk6xsl1i1bl7qfw5kdsnvrd3nbg9";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring deepseq hashable microlens
          scientific text unordered-containers vector
@@ -182071,8 +184123,8 @@ self: {
        pname = "microstache";
        version = "1.0.2";
        sha256 = "0pirywb9304j2ylasskwq20k6d2srk616sh41l4s37yajsjggx5i";
-       revision = "2";
-       editedCabalFile = "1hvvqn3l8y3mxvzpnh0p801zp2j0m8immbabbzn8nc6wp88rwvd4";
+       revision = "3";
+       editedCabalFile = "1bs7h4ffd1ckjjanqsshvw1z472d0lnq3bz7qmbnfmg73jji23pv";
        libraryHaskellDepends = [
          aeson base containers deepseq directory filepath parsec text
          transformers unordered-containers vector
@@ -182186,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 = [
@@ -182255,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;
@@ -183442,8 +185494,8 @@ self: {
      }:
      mkDerivation {
        pname = "mit-3qvpPyAi6mH";
-       version = "4";
-       sha256 = "14sfzb7ii0ldwkfx05r4jk4rc0nqxzi7nw81v8kgsyi0saa1ig0i";
+       version = "7";
+       sha256 = "1asr82fnqpb936kfj8fnilas76l5r5ndylvzf1van2z57sxjx9ba";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -183721,8 +185773,8 @@ self: {
        pname = "mmark";
        version = "0.0.7.4";
        sha256 = "0flsg9jsnzab74hfidrfdmjvarj3n86db4ysv007j2hlr3iynnxx";
-       revision = "1";
-       editedCabalFile = "05021pxrdgymlk51zs72mbf6lg3j0zf9f0sim1qlhviwp0dwk5nv";
+       revision = "2";
+       editedCabalFile = "06sq65cmqr5yva4spf14bkdsvw465m73hjmvxcfh7vxn0nslp2bc";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base case-insensitive containers deepseq dlist email-validate
@@ -183745,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 = [
@@ -183792,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;
@@ -184335,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
@@ -185369,8 +187374,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-memo";
-       version = "0.5.3";
-       sha256 = "1fqdqqv6gp14vf2kkac34bbn3vaxq80yjz2dgp6n89dcfdkc9y0n";
+       version = "0.5.4";
+       sha256 = "0lw5pdkk39zxckwha4wjfjg5hxlvxa5gjmw385zmanjx34wkzg2c";
        libraryHaskellDepends = [
          array base containers primitive transformers vector
        ];
@@ -186639,20 +188644,24 @@ self: {
      }) {};
 
   "monoid-statistics" = callPackage
-    ({ mkDerivation, base, math-functions, QuickCheck, tasty
-     , tasty-quickcheck, vector, vector-th-unbox
+    ({ mkDerivation, base, criterion, doctest, exceptions
+     , math-functions, mwc-random, QuickCheck, tasty
+     , tasty-expected-failure, tasty-hunit, tasty-quickcheck, vector
+     , vector-th-unbox
      }:
      mkDerivation {
        pname = "monoid-statistics";
-       version = "1.0.1.0";
-       sha256 = "1krgyvshvw28ld89hb1qpjx8jiz40a8yq2q3zglrir4vfch5cyx9";
-       revision = "1";
-       editedCabalFile = "14p36fz2yssx92imqggv5xrsnqqhhh3xj2ba96v47fm2dglgfsrv";
+       version = "1.1.0";
+       sha256 = "12q86bh057pn040wdr39wlq066mcffpgsx71jy5h8rj02qi4b78f";
        libraryHaskellDepends = [
-         base math-functions vector vector-th-unbox
+         base exceptions math-functions vector vector-th-unbox
        ];
        testHaskellDepends = [
-         base math-functions QuickCheck tasty tasty-quickcheck
+         base doctest math-functions QuickCheck tasty tasty-expected-failure
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base criterion math-functions mwc-random vector
        ];
        description = "Monoids for calculation of statistics of sample";
        license = lib.licenses.bsd3;
@@ -186664,8 +188673,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "1.1.2";
-       sha256 = "0c9amb4yw6487kbpy3gslhpzjkzz3kiwhzz9qrmv8l7cvc2m1cb3";
+       version = "1.1.3";
+       sha256 = "1nglki10rlpi872p55pa8g809q5sna7yzh3zw4rqfhq89kb15wcv";
        libraryHaskellDepends = [
          base bytestring containers primes text vector
        ];
@@ -186763,10 +188772,10 @@ self: {
      }:
      mkDerivation {
        pname = "monomer";
-       version = "1.2.0.0";
-       sha256 = "1hd65flmygy2afvnpjcj7l06ic1lycb6x5gbxhgmxxb2ilj6h6wf";
-       revision = "1";
-       editedCabalFile = "146sy318bf3bdv2xjnpxv0i8g5q04hq32grdjqs2nw2javx2qlc1";
+       version = "1.3.0.0";
+       sha256 = "19k31vppid5lyvqg4q4r07yzw9yisydhx012yn1fzlfjwc89g9bp";
+       revision = "3";
+       editedCabalFile = "1jz12ww843d0qk7gy6f8fw4l2mpynkcs9knxfc865zyhcjvimfw2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186898,8 +188907,8 @@ self: {
        pname = "months";
        version = "0.2";
        sha256 = "054dag7806850hdii7s5rxg8gx2spdp33pnx4s4ckni9ayvspija";
-       revision = "3";
-       editedCabalFile = "1j57vvb2vs0jd5jsq2dh0q5wpvxibwn43dwkg1l3ysl46k5sv58i";
+       revision = "4";
+       editedCabalFile = "1prni51r2kca7cff4jshas87bxvfmqkp9r5yhkmapphxc9w8vanb";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat deepseq hashable intervals
          QuickCheck text time-compat
@@ -187094,25 +189103,25 @@ self: {
   "morley" = callPackage
     ({ mkDerivation, aeson, aeson-casing, aeson-pretty, base-noprelude
      , base58-bytestring, binary, bytestring, constraints, containers
-     , cryptonite, data-default, elliptic-curve, first-class-families
-     , fmt, galois-field, generic-deriving, gitrev, haskeline, hex-text
-     , lens, megaparsec, memory, MonadRandom, morley-prelude, mtl, named
-     , optparse-applicative, pairing, parser-combinators, scientific
-     , semigroups, show-type, singletons, syb, template-haskell, text
-     , text-manipulate, th-lift, th-lift-instances, time, timerep
-     , uncaught-exception, unordered-containers, vector, vinyl
-     , with-utf8, wl-pprint-text
+     , crypto-sodium, cryptonite, data-default, elliptic-curve
+     , first-class-families, fmt, galois-field, generic-deriving, gitrev
+     , haskeline, hex-text, lens, megaparsec, memory, MonadRandom
+     , morley-prelude, mtl, named, optparse-applicative, pairing
+     , parser-combinators, scientific, semigroups, show-type, singletons
+     , syb, template-haskell, text, text-manipulate, th-lift
+     , th-lift-instances, time, timerep, uncaught-exception
+     , unordered-containers, vector, vinyl, with-utf8, wl-pprint-text
      }:
      mkDerivation {
        pname = "morley";
-       version = "1.16.0";
-       sha256 = "02ysr8qh0jgwz25nlwk88qxkpx3jsijd854i5dp9h19n5iibh7l8";
+       version = "1.16.2";
+       sha256 = "1b236yp37pahx3njn0cwdbnkr7yj62ckhfsicgm2crb4l6sjkyas";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-casing aeson-pretty base-noprelude base58-bytestring
-         binary bytestring constraints containers cryptonite data-default
-         elliptic-curve first-class-families fmt galois-field
+         binary bytestring constraints containers crypto-sodium cryptonite
+         data-default elliptic-curve first-class-families fmt galois-field
          generic-deriving gitrev hex-text lens megaparsec memory MonadRandom
          morley-prelude mtl named optparse-applicative pairing
          parser-combinators scientific semigroups show-type singletons syb
@@ -187130,6 +189139,50 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "morley-client" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base-noprelude, binary
+     , bytestring, co-log, co-log-core, colourista, constraints
+     , containers, data-default, exceptions, fmt, hex-text
+     , hspec-expectations, http-client, http-client-tls, http-types
+     , HUnit, lens, lorentz, megaparsec, memory, morley, morley-prelude
+     , mtl, named, optparse-applicative, process, random
+     , safe-exceptions, scientific, servant, servant-client
+     , servant-client-core, singletons, syb, tasty, tasty-ant-xml
+     , tasty-discover, tasty-hunit-compat, template-haskell, text
+     , th-reify-many, time, universum, unliftio, vector
+     }:
+     mkDerivation {
+       pname = "morley-client";
+       version = "0.1.0";
+       sha256 = "1xhmksv745dvf8axbihbdn9r9402na381czckab844whkdmnag0y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing base-noprelude binary bytestring co-log
+         co-log-core colourista constraints containers data-default fmt
+         hex-text http-client http-client-tls http-types lens lorentz
+         megaparsec memory morley morley-prelude mtl named
+         optparse-applicative process random safe-exceptions scientific
+         servant servant-client servant-client-core singletons syb
+         template-haskell text th-reify-many time universum unliftio vector
+       ];
+       executableHaskellDepends = [
+         aeson base-noprelude data-default fmt morley morley-prelude
+         optparse-applicative safe-exceptions
+       ];
+       testHaskellDepends = [
+         aeson base-noprelude bytestring co-log co-log-core containers
+         exceptions fmt hex-text hspec-expectations http-types HUnit lens
+         lorentz memory morley morley-prelude safe-exceptions
+         servant-client-core singletons syb tasty tasty-ant-xml
+         tasty-hunit-compat template-haskell time
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Client to interact with the Tezos blockchain";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "morley-prelude" = callPackage
     ({ mkDerivation, base-noprelude, int-cast, lens, universum }:
      mkDerivation {
@@ -187171,8 +189224,7 @@ self: {
        description = "Upgradeability infrastructure based on Morley";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {cleveland = null; morley-client = null;};
+     }) {};
 
   "morloc" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
@@ -188164,34 +190216,53 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "mptcp" = callPackage
+    ({ mkDerivation, base, bytestring-conversion, c2hs, containers
+     , enumset, Frames, hspec, ip, lens, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "mptcp";
+       version = "0.0.1";
+       sha256 = "0740han3qvmzvq6n6dznfkmh7n0mvk9gw4yj3sn9953gag762cc9";
+       libraryHaskellDepends = [
+         base bytestring-conversion containers enumset Frames ip lens text
+         unordered-containers
+       ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [ base hspec ip text ];
+       description = "Datastructures to describe TCP and MPTCP connections";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "mptcp-pm" = callPackage
     ({ mkDerivation, aeson, aeson-extra, aeson-pretty, base, bytestring
      , bytestring-conversion, c2hs, cereal, containers, enumset
-     , filepath, formatting, HUnit, ip, mtl, netlink
+     , filepath, formatting, HUnit, ip, lens, mptcp, mtl, netlink
      , optparse-applicative, polysemy, polysemy-log, polysemy-log-co
-     , polysemy-plugin, process, readable, temporary, text, transformers
-     , unordered-containers
+     , polysemy-plugin, pretty-simple, process, readable, temporary
+     , text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "mptcp-pm";
-       version = "0.0.4";
-       sha256 = "1i84pkifb8mqyhv4cg0gc6adss673yp25ffmlyif3zcrc3dshjyc";
+       version = "0.0.5";
+       sha256 = "12c9n7gda23lnpnsnv373rh14phidv27w5vjncrpxf8xfdiyharb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-extra aeson-pretty base bytestring
-         bytestring-conversion cereal containers enumset formatting ip mtl
-         netlink polysemy polysemy-log polysemy-log-co polysemy-plugin
-         process readable text transformers unordered-containers
+         bytestring-conversion cereal containers enumset formatting ip lens
+         mptcp mtl netlink polysemy polysemy-log polysemy-log-co
+         polysemy-plugin process readable text transformers
+         unordered-containers
        ];
        libraryToolDepends = [ c2hs ];
        executableHaskellDepends = [
          aeson aeson-extra aeson-pretty base bytestring cereal containers
-         filepath formatting ip mtl netlink optparse-applicative polysemy
-         polysemy-log polysemy-log-co polysemy-plugin process readable
-         temporary text transformers
+         filepath formatting ip lens mptcp mtl netlink optparse-applicative
+         polysemy polysemy-log polysemy-log-co polysemy-plugin pretty-simple
+         process readable temporary text transformers
        ];
-       testHaskellDepends = [ base HUnit ip text ];
+       testHaskellDepends = [ base HUnit ip mptcp text ];
        description = "A Multipath TCP path manager";
        license = lib.licenses.gpl3Only;
        platforms = [
@@ -188201,6 +190272,52 @@ self: {
        broken = true;
      }) {};
 
+  "mptcpanalyzer" = callPackage
+    ({ mkDerivation, aeson, aeson-extra, aeson-pretty, ansi-terminal
+     , base, bytestring, Cabal, cereal, Chart, Chart-cairo, containers
+     , directory, filepath, foldl, formatting, Frames, ghci-dap
+     , hashable, haskeline, haskell-dap, haskell-debug-adapter, hspec
+     , HUnit, ip, lens, mptcp, mptcp-pm, mtl, network
+     , optparse-applicative, pipes, pipes-parse, pipes-safe, polysemy
+     , polysemy-log, polysemy-log-co, polysemy-plugin, process
+     , QuickCheck, readable, template-haskell, temporary, text, time
+     , transformers, unix, utf8-string, vector, vinyl, wide-word
+     }:
+     mkDerivation {
+       pname = "mptcpanalyzer";
+       version = "0.0.2.0";
+       sha256 = "0x13kbh693h27adxwna4v4swvcma0k9r7inh156rzd4jqbv1faz3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-extra aeson-pretty ansi-terminal base bytestring Cabal
+         cereal Chart Chart-cairo containers directory filepath foldl
+         formatting Frames ghci-dap hashable haskeline haskell-dap
+         haskell-debug-adapter ip lens mptcp mptcp-pm mtl network
+         optparse-applicative pipes pipes-parse pipes-safe polysemy
+         polysemy-log polysemy-log-co polysemy-plugin process readable
+         template-haskell temporary text time transformers unix utf8-string
+         vector vinyl wide-word
+       ];
+       executableHaskellDepends = [
+         aeson aeson-extra aeson-pretty ansi-terminal base bytestring Cabal
+         cereal Chart Chart-cairo containers directory filepath foldl
+         formatting Frames ghci-dap hashable haskeline haskell-dap
+         haskell-debug-adapter ip lens mptcp mptcp-pm mtl network
+         optparse-applicative pipes pipes-parse pipes-safe polysemy
+         polysemy-log polysemy-log-co polysemy-plugin process readable
+         template-haskell temporary text time transformers unix utf8-string
+         vector vinyl wide-word
+       ];
+       testHaskellDepends = [
+         base Cabal Frames hspec HUnit ip mptcp polysemy polysemy-log
+         polysemy-log-co QuickCheck
+       ];
+       description = "A Multipath TCP analyzer";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "mpvguihs" = callPackage
     ({ mkDerivation, base, directory, filepath, gtk, mtl, process
      , template-haskell, unix
@@ -188338,8 +190455,8 @@ self: {
      }:
      mkDerivation {
        pname = "ms-tds";
-       version = "0.4.0.1";
-       sha256 = "1yjvbn6a50wvcibvi5na6x1d7864zyspqhljvr0dpcfrz3s2yc31";
+       version = "0.4.0.2";
+       sha256 = "0lkvl74ckxsdxwvrm45z5gk2ax65yfpd00j86w8iax4askz76vxc";
        libraryHaskellDepends = [
          array base binary bytestring crypto-random data-default-class mtl
          network template-haskell text time tls uuid-types x509-store
@@ -188400,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 = [
@@ -188447,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
@@ -188470,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";
@@ -188490,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";
@@ -188551,8 +190714,8 @@ self: {
      }:
      mkDerivation {
        pname = "mssql-simple";
-       version = "0.6.0.2";
-       sha256 = "1glp86kbimsjh1hlmdivp12qzvcy6c5yyx5ynvrwibwnxj5g968v";
+       version = "0.6.0.3";
+       sha256 = "0pgc5p018xc7pmn4mrmgwrh9zy3cxk2gkpqnw2lhnw7h0akhq5im";
        libraryHaskellDepends = [
          base binary bytestring hostname ms-tds mtl network template-haskell
          text time tls uuid-types
@@ -188737,8 +190900,8 @@ self: {
     ({ mkDerivation, base, mtl }:
      mkDerivation {
        pname = "mtl-uplift";
-       version = "0.1.0.0";
-       sha256 = "1y75za4xl941aadn3bmc3rsa2jklv8z0l4vkwz7x92pbxv5ym8xq";
+       version = "0.1.0.1";
+       sha256 = "01f70cwsy8qinwsmh27js8165bmqkr6ykzmwi2r3svlpxpaiiazk";
        libraryHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base mtl ];
        description = "Lift substacks of monad transformer stacks";
@@ -188840,8 +191003,8 @@ self: {
      }:
      mkDerivation {
        pname = "mu-graphql";
-       version = "0.5.0.2";
-       sha256 = "0kr8gqi34zgg8vj5x0c0mx3xjkhjr4ynparplysga7qzzj58a7f3";
+       version = "0.5.0.3";
+       sha256 = "1ahi51sslxlmv4yi6518bn3i4ks7hpc8327r6lz0l6d4q192k1nq";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -188866,19 +191029,17 @@ self: {
      , http2-client, http2-client-grpc, http2-grpc-types, mu-grpc-common
      , mu-optics, mu-protobuf, mu-rpc, mu-schema, optics-core, sop-core
      , stm, stm-chans, stm-conduit, template-haskell, text
-     , th-abstraction, tracing
+     , th-abstraction, tracing-control
      }:
      mkDerivation {
        pname = "mu-grpc-client";
-       version = "0.4.0.1";
-       sha256 = "030b8ajbplb1w5llzm8vn8jpwa7v4kw0y8zli8xagc50k19wp75v";
-       revision = "2";
-       editedCabalFile = "1zs17a684mww8ppgams79xbr019mlr27bxnnhvyhq3k5y1lwz7dh";
+       version = "0.4.0.2";
+       sha256 = "19y39ixf2d97wfm6x3sl99kwfxsd57mf2s2rqp4s80v3rs8b41iw";
        libraryHaskellDepends = [
          async avro base bytestring conduit http2 http2-client
          http2-client-grpc http2-grpc-types mu-grpc-common mu-optics
          mu-protobuf mu-rpc mu-schema optics-core sop-core stm stm-chans
-         stm-conduit template-haskell text th-abstraction tracing
+         stm-conduit template-haskell text th-abstraction tracing-control
        ];
        description = "gRPC clients from Mu definitions";
        license = lib.licenses.asl20;
@@ -189870,8 +192031,8 @@ self: {
      }:
      mkDerivation {
        pname = "multistate";
-       version = "0.8.0.3";
-       sha256 = "0sbrm28rjw4qgpn8p0974ljkgi30d4akbngjm58kf96x9zp7ln8g";
+       version = "0.8.0.4";
+       sha256 = "0y42c21ha0chqhrn40a4bikdbirsw7aqg4i866frpagz1ivr915q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -190446,6 +192607,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "mustache_2_4_0" = callPackage
+    ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring
+     , cmdargs, containers, directory, filepath, hspec, lens, mtl
+     , parsec, process, scientific, tar, template-haskell, temporary
+     , text, th-lift, unordered-containers, vector, wreq, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "mustache";
+       version = "2.4.0";
+       sha256 = "0g7bwfc1yx59lk2l12wbh67ydk4rnwam2kv6ypc85qxd0pjbcd4n";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers directory filepath mtl parsec
+         scientific template-haskell text th-lift unordered-containers
+         vector
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring cmdargs filepath text yaml
+       ];
+       testHaskellDepends = [
+         aeson base base-unicode-symbols bytestring directory filepath hspec
+         lens process tar temporary text unordered-containers wreq yaml zlib
+       ];
+       description = "A mustache template parser library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "mustache-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , optparse-applicative, parsec, pretty-show, scientific, text
@@ -191119,8 +193309,8 @@ self: {
      }:
      mkDerivation {
        pname = "mysql-simple";
-       version = "0.4.7";
-       sha256 = "1mhmszpq64h8kxr20iaj1laq46wr2gaqc8xxq1k821i7jfxfld6j";
+       version = "0.4.7.1";
+       sha256 = "011pmniplphwzkv6chcnl2vljb2w4hc0iakdwlicykvrhx86nh3v";
        libraryHaskellDepends = [
          attoparsec base base16-bytestring blaze-builder blaze-textual
          bytestring containers mysql old-locale pcre-light text time
@@ -191786,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 {
@@ -191806,8 +194018,8 @@ self: {
        pname = "nanovg";
        version = "0.8.0.0";
        sha256 = "1il4305wv7f53225jv5s04nf7gf5rw6cfxm8j3v1di2xvhdingz5";
-       revision = "1";
-       editedCabalFile = "0m69iqs8jaqh1gq1vfp92j2adf05v0isakl3ijxf7akxs5j2i3da";
+       revision = "2";
+       editedCabalFile = "1vvlmbvpafvqawfph2aicysy9nklm8rqdz2bdpkq0kg4dgi72jr2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring containers text vector ];
@@ -191925,13 +194137,13 @@ self: {
      }) {};
 
   "nat-optics" = callPackage
-    ({ mkDerivation, base, hedgehog, optics-core, text }:
+    ({ mkDerivation, base, optics-core, text }:
      mkDerivation {
        pname = "nat-optics";
-       version = "1.0.0.1";
-       sha256 = "1ba5lnb70gdaa9hwfcg2r0x76h2mxknn49rwplmbgcyxyh79x4jl";
+       version = "1.0.0.2";
+       sha256 = "12m6267dirzykj4d0rjqq5h3n2zrnp7ixavryvbgqdvrnk6y2ik4";
        libraryHaskellDepends = [ base optics-core text ];
-       testHaskellDepends = [ base hedgehog optics-core text ];
+       testHaskellDepends = [ base optics-core text ];
        description = "Refinement types for natural numbers with an optics interface";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -192286,8 +194498,8 @@ self: {
      }:
      mkDerivation {
        pname = "neat-interpolation";
-       version = "0.5.1.2";
-       sha256 = "18c48r5qwrapkjh35l5dng3ahkkn1ch47vc4nzjwh4a9va94laln";
+       version = "0.5.1.3";
+       sha256 = "01v5ccv16gw13mjxdxcxnbs6ggzmqh4vwzybzkzqzm40la163aqz";
        libraryHaskellDepends = [ base megaparsec template-haskell text ];
        testHaskellDepends = [
          QuickCheck quickcheck-instances rerebase tasty tasty-hunit
@@ -192716,7 +194928,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "net-mqtt_0_8_1_0" = callPackage
+  "net-mqtt_0_8_2_0" = callPackage
     ({ mkDerivation, async, attoparsec, attoparsec-binary, base, binary
      , bytestring, checkers, conduit, conduit-extra, connection
      , containers, deepseq, HUnit, network-conduit-tls, network-uri
@@ -192725,8 +194937,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-mqtt";
-       version = "0.8.1.0";
-       sha256 = "1cy17mv8ld3aifh1nr5sggm4x08h58vaa6q1s7nd7nhnkj1icajk";
+       version = "0.8.2.0";
+       sha256 = "0krh8imyjls1incrsz8pnn3zww0yxygy3hy15r55gbs80x5w7j13";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -192792,14 +195004,14 @@ self: {
   "net-spider" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-interval
      , doctest, doctest-discover, extended-reals, greskell
-     , greskell-websocket, hashable, hspec, monad-logger
+     , greskell-websocket, hashable, hspec, hspec-discover, monad-logger
      , regex-applicative, safe-exceptions, scientific, text, time
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "net-spider";
-       version = "0.4.3.6";
-       sha256 = "1whi7v16zqa26c8a4a36g5p8gddk69acnxar3pgybyc58y9af0i1";
+       version = "0.4.3.7";
+       sha256 = "0azbrvwg8qy3ch96pxpdna9ycigqw6jayi3n7isgyrdwsfsa2vl7";
        libraryHaskellDepends = [
          aeson base containers data-interval extended-reals greskell
          greskell-websocket hashable monad-logger regex-applicative
@@ -192809,6 +195021,7 @@ self: {
          aeson base bytestring doctest doctest-discover greskell hashable
          hspec text time vector
        ];
+       testToolDepends = [ doctest-discover hspec-discover ];
        description = "A graph database middleware to maintain a time-varying graph";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -192817,13 +195030,13 @@ self: {
 
   "net-spider-cli" = callPackage
     ({ mkDerivation, aeson, base, doctest, doctest-discover
-     , greskell-core, hashable, hspec, net-spider, optparse-applicative
-     , text
+     , greskell-core, hashable, hspec, hspec-discover, net-spider
+     , optparse-applicative, text
      }:
      mkDerivation {
        pname = "net-spider-cli";
-       version = "0.2.0.6";
-       sha256 = "0byd87p7h6vrdmg7j7ypjq2mcks8a7axi9j9qnjv283y4n56nxw1";
+       version = "0.2.0.7";
+       sha256 = "0saylldz7d0qcjh85i7gc8wisb10hmbap66ldqkkl557wv4w6kaa";
        libraryHaskellDepends = [
          aeson base greskell-core hashable net-spider optparse-applicative
          text
@@ -192831,6 +195044,7 @@ self: {
        testHaskellDepends = [
          base doctest doctest-discover hspec net-spider optparse-applicative
        ];
+       testToolDepends = [ doctest-discover hspec-discover ];
        description = "CLI option parsers for NetSpider objects";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -192857,13 +195071,14 @@ self: {
 
   "net-spider-rpl" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, conduit-parse
-     , fast-logger, greskell, hashable, hspec, ip, monad-logger, mtl
-     , net-spider, regex-applicative, safe-exceptions, text, time
+     , fast-logger, greskell, hashable, hspec, hspec-discover, ip
+     , monad-logger, mtl, net-spider, regex-applicative, safe-exceptions
+     , text, time
      }:
      mkDerivation {
        pname = "net-spider-rpl";
-       version = "0.4.1.4";
-       sha256 = "0pmmxvfg8y8xymkkxka2c7jk83as5b6d5wmi0x9cml8hsnvlcifx";
+       version = "0.4.1.5";
+       sha256 = "0v3jxw2nhj0apbsms2f5z2lvbr7wkj1r8zmrb46j2a6k4l14w3ij";
        libraryHaskellDepends = [
          aeson base conduit conduit-parse greskell hashable ip monad-logger
          mtl net-spider regex-applicative safe-exceptions text time
@@ -192872,6 +195087,7 @@ self: {
          aeson base bytestring fast-logger hspec ip monad-logger net-spider
          text
        ];
+       testToolDepends = [ hspec-discover ];
        description = "NetSpider data model and utility for RPL networks";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -192879,14 +195095,14 @@ self: {
 
   "net-spider-rpl-cli" = callPackage
     ({ mkDerivation, base, bytestring, fast-logger, fgl, greskell
-     , hashable, hspec, ip, monad-logger, net-spider, net-spider-cli
-     , net-spider-rpl, optparse-applicative, text, time, transformers
-     , unordered-containers
+     , hashable, hspec, hspec-discover, ip, monad-logger, net-spider
+     , net-spider-cli, net-spider-rpl, optparse-applicative, text, time
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "net-spider-rpl-cli";
-       version = "0.1.3.3";
-       sha256 = "1cxp61nkl0vbks9ny7gpyjjiqg3cvzbz934iia66g2iwkbnfx250";
+       version = "0.1.3.4";
+       sha256 = "118i7sjj3rs3lgan9g6da67r4f5swnmzn311pady5za6329lcpvv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -192899,6 +195115,7 @@ self: {
          base bytestring fast-logger hashable hspec ip monad-logger
          net-spider net-spider-cli net-spider-rpl optparse-applicative text
        ];
+       testToolDepends = [ hspec-discover ];
        description = "CLI executable of NetSpider.RPL.";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -193380,14 +195597,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "network_3_1_2_5" = callPackage
+  "network_3_1_2_7" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, hspec
      , hspec-discover, HUnit, QuickCheck, temporary
      }:
      mkDerivation {
        pname = "network";
-       version = "3.1.2.5";
-       sha256 = "0l8qn0m1pza4iv0x14izgpggisbk91yfipwmwpjbmcb73j7c08zj";
+       version = "3.1.2.7";
+       sha256 = "119xqsyj44ix0z79mzfpww0cd9936bki1xa7cwykvbx1y7z20xkz";
        libraryHaskellDepends = [ base bytestring deepseq directory ];
        testHaskellDepends = [
          base bytestring directory hspec HUnit QuickCheck temporary
@@ -193795,10 +196012,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "network-info";
-       version = "0.2.0.10";
-       sha256 = "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n";
-       revision = "1";
-       editedCabalFile = "07kiw56lhc56kqrnvpa11f5nnnid6by3aq00jrkcbbg7w0q71a6d";
+       version = "0.2.1";
+       sha256 = "015lm3b8n8sb16qsffjxz1jvijyy0z600ch0sm8h6a685wqqhbcv";
        libraryHaskellDepends = [ base ];
        description = "Access the local computer's basic network configuration";
        license = lib.licenses.bsd3;
@@ -195044,8 +197259,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "ngx-export-distribution";
-       version = "0.3.0.0";
-       sha256 = "0vxbrr82w8sw7fbp5nwi6ksfdlbgwqsdfzlyp72fx71dradqpbsx";
+       version = "0.3.2.0";
+       sha256 = "18lpy0zqj8s4q4ar49y4gsfcr1vkhzzrlg2fip9gs807arkjfmps";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        description = "Build custom libraries for Nginx haskell module";
        license = lib.licenses.bsd3;
@@ -195385,6 +197600,8 @@ self: {
        pname = "nix-derivation";
        version = "1.1.2";
        sha256 = "0248xbxq4889hc3qp9z0yr21f97j3lxrjjx2isxdf8ah4hpidzy7";
+       revision = "1";
+       editedCabalFile = "06fj7rqj8g3xhwm0x0cyxp7f8k8gasm4y2ccnm8zq9bhli1hw4b0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -195585,24 +197802,25 @@ self: {
   "nix-tree" = callPackage
     ({ mkDerivation, aeson, async, base, brick, bytestring, clock
      , containers, deepseq, directory, filepath, hashable, hedgehog
-     , hrfsize, relude, terminal-progress-bar, text, transformers
-     , typed-process, unordered-containers, vty
+     , hrfsize, optparse-applicative, relude, terminal-progress-bar
+     , text, transformers, typed-process, unordered-containers, vty
      }:
      mkDerivation {
        pname = "nix-tree";
-       version = "0.1.9";
-       sha256 = "1xgb7f735afq0x7y3lsdciv9mk7cf9szbazn9fksb7fxf437w27m";
+       version = "0.2.0";
+       sha256 = "1m8ahqdm9ivgc1l1mk3s9q8gviklpq6kckn7jhdzx2mbzx7gf2vj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson async base brick bytestring clock containers deepseq
-         directory filepath hashable hrfsize relude terminal-progress-bar
-         text transformers typed-process unordered-containers vty
+         directory filepath hashable hrfsize optparse-applicative relude
+         terminal-progress-bar text transformers typed-process
+         unordered-containers vty
        ];
        testHaskellDepends = [
          aeson base brick bytestring clock containers deepseq directory
-         filepath hashable hedgehog hrfsize relude text transformers
-         typed-process unordered-containers vty
+         filepath hashable hedgehog hrfsize optparse-applicative relude text
+         transformers typed-process unordered-containers vty
        ];
        description = "Interactively browse a Nix store paths dependencies";
        license = lib.licenses.bsd3;
@@ -196871,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
        ];
@@ -196887,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
@@ -196910,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
@@ -196936,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
@@ -196962,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
@@ -196983,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;
@@ -197014,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
@@ -197037,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
@@ -197341,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
@@ -197593,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;
@@ -197611,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
        ];
@@ -197715,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
@@ -197903,7 +200122,7 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "nvim-hs_2_1_0_7" = 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
@@ -197916,8 +200135,8 @@ self: {
      }:
      mkDerivation {
        pname = "nvim-hs";
-       version = "2.1.0.7";
-       sha256 = "0vbqlrjwfg5pl4f9xymdlx0k01jziqrmqf8m0vm7iiy0vnjzx19j";
+       version = "2.2.0.1";
+       sha256 = "1jj9n792cgv964rpgbbhc491wvyfyiplsg30n20x62gxclmjvir7";
        libraryHaskellDepends = [
          base bytestring cereal cereal-conduit conduit containers
          data-default deepseq foreign-store hslogger megaparsec messagepack
@@ -198087,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
@@ -198601,8 +200818,8 @@ self: {
      }:
      mkDerivation {
        pname = "odbc";
-       version = "0.2.5";
-       sha256 = "157g6ys5j5kj4cc1jp2rmcpwrax4fh7bx1zvvicmrf88qaq56v2h";
+       version = "0.2.6";
+       sha256 = "0yyyjnnlnd3zpvnh55l5gsvakrciml91jaqy5hdgnlpqfslz330r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -199443,7 +201660,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "opaleye_0_8_0_1" = 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
@@ -199453,8 +201670,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.8.0.1";
-       sha256 = "1py950js9k80manm3xj1sfls0xnw1kd609hw268wr9izd0syfva4";
+       version = "0.9.2.0";
+       sha256 = "0zvms42pmsg6ish76mvk0ksz4apxvs4iyjfvgkm7zwadq3i9v8l3";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -199544,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";
-       sha256 = "0wi2qv4594fz3z6jqdmqnxv17w1yp5ds8xwflnxawb6lpadprskp";
+       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;
@@ -199737,21 +201955,21 @@ self: {
   "openai-hs" = callPackage
     ({ mkDerivation, aeson, base, bytestring, casing, containers, cpphs
      , hspec, http-client, http-client-tls, http-types, openai-servant
-     , servant, servant-client, servant-client-core, servant-multipart
-     , text, vector
+     , servant, servant-client, servant-client-core
+     , servant-multipart-client, text, vector
      }:
      mkDerivation {
        pname = "openai-hs";
-       version = "0.2.0.0";
-       sha256 = "0pgwq1mfsmaqr7vxlii9rj8mhp2z5iwbf6pi4pj495khpnb877lc";
+       version = "0.2.2.0";
+       sha256 = "07jyz6bgz2s21j5w5avpi7hllcxw9ix3m3r1lyjb0kwa5rvvpl7d";
        libraryHaskellDepends = [
          aeson base bytestring casing cpphs http-client http-types
-         openai-servant servant servant-client servant-multipart text
+         openai-servant servant servant-client servant-multipart-client text
        ];
        testHaskellDepends = [
          aeson base bytestring casing containers cpphs hspec http-client
          http-client-tls http-types openai-servant servant servant-client
-         servant-client-core servant-multipart text vector
+         servant-client-core servant-multipart-client text vector
        ];
        description = "Unofficial OpenAI client";
        license = lib.licenses.bsd3;
@@ -199761,15 +201979,15 @@ self: {
 
   "openai-servant" = callPackage
     ({ mkDerivation, aeson, base, bytestring, casing, servant
-     , servant-multipart, text, time, vector
+     , servant-multipart-api, text, time, vector
      }:
      mkDerivation {
        pname = "openai-servant";
-       version = "0.2.0.0";
-       sha256 = "08r3jpbxqm36lsdz6zva6ps0j1xdlvqnrwhmk7141njsb4k3xxad";
+       version = "0.2.2.0";
+       sha256 = "1h9g7sak3142hlw83dlb8h5q5fkdgy6rz81syidq0cvg8hzx9bzq";
        libraryHaskellDepends = [
-         aeson base bytestring casing servant servant-multipart text time
-         vector
+         aeson base bytestring casing servant servant-multipart-api text
+         time vector
        ];
        description = "Unofficial OpenAI servant types";
        license = lib.licenses.bsd3;
@@ -199777,6 +201995,19 @@ self: {
        broken = true;
      }) {};
 
+  "openal-ffi" = callPackage
+    ({ mkDerivation, base, openal }:
+     mkDerivation {
+       pname = "openal-ffi";
+       version = "0.0.1";
+       sha256 = "14zhplwg66dpx78zyyx1wp1lqfqbwkcgjrkm94dfz25vykw71k0h";
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ openal ];
+       testHaskellDepends = [ base ];
+       description = "Low-level bindings to OpenAL";
+       license = lib.licenses.bsd3;
+     }) {inherit (pkgs) openal;};
+
   "openapi-petstore" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , case-insensitive, containers, deepseq, exceptions, hspec
@@ -199864,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
@@ -199875,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 ];
@@ -199944,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 }:
@@ -201188,8 +203419,8 @@ self: {
        pname = "optics-extra";
        version = "0.4";
        sha256 = "1ynhyw22rwvvh5yglybmb6skhpgqk4gh9w2w4dh8kb7myzcwfj1s";
-       revision = "1";
-       editedCabalFile = "0imfv8ax513jnlcjqhxvwsn6izi6rndf42qkpjaycbw23a163fj4";
+       revision = "2";
+       editedCabalFile = "16a139wxgmg4hq6wd8fygbd6qqavf4xgyqdq4c5q37ai43a38wir";
        libraryHaskellDepends = [
          array base bytestring containers hashable indexed-profunctors
          indexed-traversable-instances mtl optics-core text transformers
@@ -201262,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
@@ -201460,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
@@ -201512,6 +203760,8 @@ self: {
        pname = "optparse-generic";
        version = "1.4.7";
        sha256 = "03s6iwfr2iiypnx3wmnrb37zz7kflk40dj38v8j4ccqxkkf9h0kk";
+       revision = "2";
+       editedCabalFile = "1qypq8841xym39kmlnm0608lghh258azr6d424is96kj340bwlwz";
        libraryHaskellDepends = [
          base bytestring Only optparse-applicative system-filepath text time
          transformers transformers-compat void
@@ -201577,6 +203827,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "optstream" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "optstream";
+       version = "0.1.0.0";
+       sha256 = "0514i983r1hsck6rqhk1ggs4f5zpghx6l5d140r3k7v0nrrya6y5";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       description = "Command line option parsing library with a twice applicative interface";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "opusfile" = callPackage
     ({ mkDerivation, base, bytestring, opusfile }:
      mkDerivation {
@@ -202104,6 +204370,8 @@ self: {
        pname = "ormolu";
        version = "0.3.1.0";
        sha256 = "1517z6bi8ifzdmfclmqdiipi6zcnxagymf1sxr43sj2ipkglg2rs";
+       revision = "1";
+       editedCabalFile = "1ns76yw44hp84lrxdhl23aa2d14jjf4m6fd906672a4b4x3cr64l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -202133,6 +204401,8 @@ self: {
        pname = "ormolu";
        version = "0.4.0.0";
        sha256 = "1alibf9ya2igwwjx23pjd0fi2kdaldrkfdpyr2w211irf9agy0j9";
+       revision = "2";
+       editedCabalFile = "11r9j19xiaf1kpzr1kz41i8ldchf6ygqp0zxrkgmrzvidpvh6q62";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -202159,8 +204429,8 @@ self: {
      }:
      mkDerivation {
        pname = "orthotope";
-       version = "0.1.1.0";
-       sha256 = "0hjhy9i73r223s3p9xnbw2ac34dvnanrsdnnl6c9707ymjhy57jq";
+       version = "0.1.2.0";
+       sha256 = "11hhwq1qhdcnk5jnp5plrmx09z8bqjxxh9dw3kqyxdgk6q56irhl";
        libraryHaskellDepends = [
          base deepseq dlist pretty QuickCheck vector
        ];
@@ -202176,8 +204446,8 @@ self: {
     ({ mkDerivation, base, hmatrix, orthotope }:
      mkDerivation {
        pname = "orthotope-hmatrix";
-       version = "0.1.0.1";
-       sha256 = "0xibg10wx0adchksxfr8087lrbp0h384lddq0dmvpk9hvc5j2qhl";
+       version = "0.1.2.0";
+       sha256 = "1ly45n5ndqf52h7b8dhgkg10d9ahzvavipajzgqlgnlx7nbr8204";
        libraryHaskellDepends = [ base hmatrix orthotope ];
        description = "Some algorithms from hmatrix";
        license = lib.licenses.asl20;
@@ -202667,6 +204937,8 @@ self: {
        pname = "package-version";
        version = "0.1.0.0";
        sha256 = "1r1rw412f40ylnyhxjb04f2ch52wqqblm8979x92n8fd9jj3lr84";
+       revision = "1";
+       editedCabalFile = "165bhn0fv5ip5vcrnxv33i4a8mi7r0nhry1j3f7alh2mj0zck7xv";
        libraryHaskellDepends = [
          base deepseq prettyprinter safe-exceptions template-haskell text
        ];
@@ -202993,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
@@ -203117,6 +205410,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pagure" = callPackage
+    ({ mkDerivation, aeson, base, http-query, text }:
+     mkDerivation {
+       pname = "pagure";
+       version = "0.1.0";
+       sha256 = "1g5b0y0cv3yzdpza2750aj5zxagwdy189sqb4bvr0rrjbfgxrjv8";
+       libraryHaskellDepends = [ aeson base http-query text ];
+       description = "Pagure REST client library";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
   "pagure-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, filepath, http-conduit
      , lens, lens-aeson, optparse-applicative, simple-cmd-args, text
@@ -203199,8 +205503,8 @@ self: {
        pname = "palette";
        version = "0.3.0.2";
        sha256 = "0820n3cj4zy9s46diln2rrs4lrxbipkhdw74p2w42gc7k1nlj54i";
-       revision = "2";
-       editedCabalFile = "134w4bm1p6piyx594dx4hncf3adycqld4935bs2wbrq634w7ngxg";
+       revision = "3";
+       editedCabalFile = "1m9nd65pmnwmy74yqq283w53p483mnfvzkv1iyd6y97f0scgxs84";
        libraryHaskellDepends = [
          array base colour containers MonadRandom
        ];
@@ -203339,19 +205643,19 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_16_2" = callPackage
+  "pandoc_2_17_1_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base
      , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
      , case-insensitive, citeproc, commonmark, commonmark-extensions
      , commonmark-pandoc, connection, containers, data-default, deepseq
      , Diff, directory, doclayout, doctemplates, emojis, exceptions
-     , file-embed, filepath, Glob, haddock-library, hslua
+     , file-embed, filepath, Glob, haddock-library, hslua, hslua-aeson
      , hslua-marshalling, hslua-module-path, hslua-module-system
      , hslua-module-text, hslua-module-version, http-client
      , http-client-tls, http-types, ipynb, jira-wiki-markup, JuicyPixels
-     , lpeg, mtl, network, network-uri, pandoc-types, parsec, pretty
-     , pretty-show, process, QuickCheck, random, safe, scientific, SHA
-     , skylighting, skylighting-core, split, syb, tagsoup, tasty
+     , lpeg, mtl, network, network-uri, pandoc-lua-marshal, pandoc-types
+     , parsec, pretty, pretty-show, process, random, safe, scientific
+     , SHA, skylighting, skylighting-core, split, syb, tagsoup, tasty
      , tasty-bench, tasty-golden, tasty-hunit, tasty-lua
      , tasty-quickcheck, temporary, texmath, text, text-conversions
      , time, unicode-collation, unicode-transforms, unix, xml
@@ -203359,10 +205663,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.16.2";
-       sha256 = "0pnw4v5i20bi9j3gg0i9wlikk2fhj34x5vhh23zhj8v4p72r3wkj";
-       revision = "1";
-       editedCabalFile = "013i4hsgfdq38zsxq4c3l80hqxrqccy41h1ihyakamb8m3p3pq8q";
+       version = "2.17.1.1";
+       sha256 = "1l8spmsyg2c5j16q7a7fd5i6kcvkyipq4jrhrv2k0ca1s4lcb7k4";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -203373,20 +205675,20 @@ self: {
          commonmark commonmark-extensions commonmark-pandoc connection
          containers data-default deepseq directory doclayout doctemplates
          emojis exceptions file-embed filepath Glob haddock-library hslua
-         hslua-marshalling hslua-module-path hslua-module-system
+         hslua-aeson hslua-marshalling hslua-module-path hslua-module-system
          hslua-module-text hslua-module-version http-client http-client-tls
          http-types ipynb jira-wiki-markup JuicyPixels lpeg mtl network
-         network-uri pandoc-types parsec pretty pretty-show process random
-         safe scientific SHA skylighting skylighting-core split syb tagsoup
-         temporary texmath text text-conversions time unicode-collation
-         unicode-transforms unix xml xml-conduit yaml zip-archive zlib
+         network-uri pandoc-lua-marshal pandoc-types parsec pretty
+         pretty-show process random safe scientific SHA skylighting
+         skylighting-core split syb tagsoup temporary texmath text
+         text-conversions time unicode-collation unicode-transforms unix xml
+         xml-conduit yaml zip-archive zlib
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base bytestring containers Diff directory doctemplates exceptions
-         filepath Glob hslua mtl pandoc-types process QuickCheck tasty
-         tasty-golden tasty-hunit tasty-lua tasty-quickcheck text time xml
-         zip-archive
+         filepath Glob hslua mtl pandoc-types process tasty tasty-golden
+         tasty-hunit tasty-lua tasty-quickcheck text time xml zip-archive
        ];
        benchmarkHaskellDepends = [
          base bytestring deepseq mtl tasty-bench text
@@ -203464,8 +205766,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.12.1";
-       sha256 = "036lw5qa23bg292hgfj3ybfykbqj80fb2f8a26rnivj5pfqblm3w";
+       version = "0.3.12.2";
+       sha256 = "1d2g4aggv47gv83p4382bcy1x97z0bs4nqww37ay92n9r4jh6m4l";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -203709,8 +206011,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-lua-marshal";
-       version = "0.1.2";
-       sha256 = "13w9wp5gq0mici6faf2shpwbm7a7akh4h4gvkhki88kj4sbfvikp";
+       version = "0.1.4";
+       sha256 = "09l601d50h4ymnfcspwf1sl6hks8skvd1wpb9j3y2znyciq2pdkq";
        libraryHaskellDepends = [
          base bytestring containers exceptions hslua hslua-marshalling lua
          pandoc-types safe text
@@ -203833,8 +206135,8 @@ self: {
        license = lib.licenses.gpl2Plus;
      }) {};
 
-  "pandoc-plot_1_3_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion
+  "pandoc-plot_1_4_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , data-default, directory, filepath, gitrev, hashable, hspec
      , hspec-expectations, lifted-async, lifted-base, mtl
      , optparse-applicative, pandoc, pandoc-types, shakespeare, tagsoup
@@ -203843,14 +206145,14 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-plot";
-       version = "1.3.0";
-       sha256 = "0d33cbw0ygsdwh718q7q5gw2s6565dbrjwi3rz0qdf78q14wiayi";
+       version = "1.4.0";
+       sha256 = "07mpkd367qia6s23ywm6gk32y7xmzca92iasr35n7jl36pr2f8by";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers data-default directory filepath hashable
-         lifted-async lifted-base mtl pandoc pandoc-types shakespeare
-         tagsoup template-haskell text typed-process unix yaml
+         aeson base bytestring containers data-default directory filepath
+         hashable lifted-async lifted-base mtl pandoc pandoc-types
+         shakespeare tagsoup template-haskell text typed-process unix yaml
        ];
        executableHaskellDepends = [
          base containers directory filepath gitrev optparse-applicative
@@ -204021,8 +206323,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.4.8";
-       sha256 = "0ifhigbvx24j8xg4h90xc2lfpzlb04ndlqyvym2gbmh8rmg87bjd";
+       version = "0.5.1";
+       sha256 = "0xx3fjdkxrabwnqhz3bs3rai1q83zkkhq90z50pzam08nng34sw5";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -204031,8 +206333,8 @@ self: {
     ({ mkDerivation, ghc-prim, pandora }:
      mkDerivation {
        pname = "pandora-io";
-       version = "0.4.7";
-       sha256 = "1kdm9g651g0836q2rc8ahqa9ys72xsy8z1ssawf4d339f8id83v5";
+       version = "0.4.9";
+       sha256 = "1ni4xwmdx741r53n5dbpzrmczs75qq9v9kg6jka87q6mpl1879r1";
        libraryHaskellDepends = [ ghc-prim pandora ];
        description = "...";
        license = lib.licenses.mit;
@@ -204227,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
@@ -204241,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
@@ -205077,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
@@ -205106,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;
@@ -205662,8 +207978,8 @@ self: {
        pname = "parsers";
        version = "0.12.10";
        sha256 = "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p";
-       revision = "1";
-       editedCabalFile = "15pcq6iz3mbcwlknzxxfgd1myhyl41fs4j3m80pkif6dm5g18rv3";
+       revision = "2";
+       editedCabalFile = "0m6nnr3hif3iwvl7d0ikh04l6varkqzwkd6vqgycvvvsjgdl1gcs";
        libraryHaskellDepends = [
          attoparsec base base-orphans binary charset containers mtl parsec
          scientific semigroups text transformers unordered-containers
@@ -205781,14 +208097,15 @@ self: {
 
   "parsley-core" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, cpphs
-     , deepseq, dependent-map, dependent-sum, ghc-prim, hashable, mtl
-     , pretty-terminal, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, th-test-utils, unordered-containers
+     , deepseq, dependent-map, dependent-sum, gauge, ghc-prim, hashable
+     , mtl, pretty-terminal, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, th-test-utils
+     , unordered-containers
      }:
      mkDerivation {
        pname = "parsley-core";
-       version = "2.0.0.0";
-       sha256 = "1v46wpi80fdjpdgr6jcrhljxjrmf1gf7cxmi3y0sdlininr4273i";
+       version = "2.1.0.0";
+       sha256 = "0vr4qlgkwsh92a8fv4fj48l9625xd80mkkmihwf20zln6svcsbfs";
        libraryHaskellDepends = [
          array base bytestring containers dependent-map dependent-sum
          ghc-prim hashable mtl pretty-terminal template-haskell text
@@ -205799,6 +208116,9 @@ self: {
          base containers deepseq tasty tasty-hunit tasty-quickcheck
          template-haskell th-test-utils
        ];
+       benchmarkHaskellDepends = [
+         base containers deepseq gauge QuickCheck
+       ];
        description = "A fast parser combinator library backed by Typed Template Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -205956,8 +208276,8 @@ self: {
     ({ mkDerivation, base, doctest, hedgehog }:
      mkDerivation {
        pname = "partial-semigroup";
-       version = "0.5.1.12";
-       sha256 = "0dkbw136cgqqhgckcn7wj39gd8ng8jmbdbq99qan5l2h5090k30h";
+       version = "0.5.1.14";
+       sha256 = "11xbdv24jy54wniappiqp6j27nm3wjgrbc8zmjkbfwdgb7fzlrws";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest hedgehog ];
        description = "A partial binary associative operator";
@@ -205968,8 +208288,8 @@ self: {
     ({ mkDerivation, base, hedgehog, partial-semigroup }:
      mkDerivation {
        pname = "partial-semigroup-hedgehog";
-       version = "0.6.0.8";
-       sha256 = "0gldqqrfc87x1ff33qgan3pp62siqgal3imkf81b9rynws0saxh7";
+       version = "0.6.0.10";
+       sha256 = "1i40ndpk6dwq56fd83za46wn1fyzm46hnx06s29h4pz1ilfrk1xx";
        libraryHaskellDepends = [ base hedgehog partial-semigroup ];
        description = "Property testing for partial semigroups using Hedgehog";
        license = lib.licenses.asl20;
@@ -206307,6 +208627,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "patch_0_0_5_2" = callPackage
+    ({ mkDerivation, base, constraints-extras, containers
+     , dependent-map, dependent-sum, directory, filemanip, filepath
+     , hedgehog, hlint, HUnit, lens, monoidal-containers, semialign
+     , semigroupoids, these, transformers, witherable
+     }:
+     mkDerivation {
+       pname = "patch";
+       version = "0.0.5.2";
+       sha256 = "1l1rd5xybp0a9lvk89i64a4vr82vsha8fkcpwd6hwv2klsxbrwf6";
+       libraryHaskellDepends = [
+         base constraints-extras containers dependent-map dependent-sum lens
+         monoidal-containers semialign semigroupoids these transformers
+         witherable
+       ];
+       testHaskellDepends = [
+         base containers directory filemanip filepath hedgehog hlint HUnit
+       ];
+       description = "Data structures for describing changes to other data structures";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "patch-combinators" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -206414,7 +208757,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "path_0_9_1" = callPackage
+  "path_0_9_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions
      , filepath, genvalidity, genvalidity-hspec, genvalidity-property
      , hashable, hspec, mtl, QuickCheck, template-haskell, text
@@ -206422,8 +208765,8 @@ self: {
      }:
      mkDerivation {
        pname = "path";
-       version = "0.9.1";
-       sha256 = "0n0mp0cs2abybhpbrj1xgdcllcrxnjpw0c663aapm48irrq1fjbf";
+       version = "0.9.2";
+       sha256 = "15xxsjdxxqxnh20iqhprbdyhldk2igl5gd4ld6hhk9nqgwqdcr0f";
        libraryHaskellDepends = [
          aeson base deepseq exceptions filepath hashable template-haskell
          text
@@ -206520,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 {
@@ -207200,15 +209564,15 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "pcre2_2_0_3" = 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.3";
-       sha256 = "0fcgaf1w5y2mwki4zp4yx2a65g7aqqrpmrrjdjybwz37bp5hzihs";
+       version = "2.1.0";
+       sha256 = "0ina14prysmh6njfcpyhzhyz0r6qsixvli3fifh46biqryx2whaw";
        libraryHaskellDepends = [
          base containers microlens mtl template-haskell text
        ];
@@ -207225,6 +209589,17 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "pdc" = callPackage
+    ({ mkDerivation, aeson, base, http-query, text, time }:
+     mkDerivation {
+       pname = "pdc";
+       version = "0.1.1";
+       sha256 = "1013nvvsrajjp38kb78gzhkjgav80lrlq966nijxhqd4k6bsm7qc";
+       libraryHaskellDepends = [ aeson base http-query text time ];
+       description = "Fedora Product Definition Center service";
+       license = lib.licenses.mit;
+     }) {};
+
   "pdf-slave" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , containers, directory, exceptions, haskintex, HaTeX
@@ -208443,20 +210818,18 @@ 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
+     , unliftio, unliftio-core, unordered-containers, vault, vector
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.13.2.1";
-       sha256 = "13lp9i94f57qhifdmr1vnsrra34526f7kqa1sybcaj2jh2v3q85k";
-       revision = "1";
-       editedCabalFile = "15lx2kd8ijn91h65nhzxmd50hmmybhs6x6qfg5wnl3ylcmgi6glg";
+       version = "2.13.3.0";
+       sha256 = "059y0wyd74rb0aa32b54vj9n0g5pz9nfcbx2h3iil2qbgjvzvw9w";
        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
+         unliftio-core unordered-containers vault vector
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
@@ -208658,6 +211031,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "persistent-lens" = callPackage
+    ({ mkDerivation, base, lens, persistent }:
+     mkDerivation {
+       pname = "persistent-lens";
+       version = "1.0.0";
+       sha256 = "1pmk79m3p71sbcnzz27ji7305v4s8pbqghphl6nmkviswdy430xl";
+       libraryHaskellDepends = [ base lens persistent ];
+       description = "lens helpers for persistent";
+       license = lib.licenses.mit;
+     }) {};
+
   "persistent-map" = callPackage
     ({ mkDerivation, base, binary, containers, directory, EdisonAPI
      , EdisonCore, filepath, LRU, mtl, stm-io-hooks
@@ -208789,18 +211173,18 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mysql";
-       version = "2.13.0.2";
-       sha256 = "18ji7a7lb1mjgqvi2mv2cg4vlgjkyzg2hgp09s7c9v071p3ll732";
+       version = "2.13.1.0";
+       sha256 = "16balbklf4800pqivmvnamjhy3xvnr9939fz3qkicfs4ba68m62k";
        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
+         aeson base bytestring conduit 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;
@@ -208903,19 +211287,19 @@ self: {
      , postgresql-libpq, postgresql-simple, QuickCheck
      , quickcheck-instances, resource-pool, resourcet
      , string-conversions, text, time, transformers, unliftio
-     , unliftio-core, unordered-containers, vector
+     , unliftio-core, unordered-containers, vault, vector
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.13.2.1";
-       sha256 = "07pnr8m0nk43jaz6l293lzx4ivyqgnw94fjypazzm008b4irh7ir";
+       version = "2.13.4.0";
+       sha256 = "1hvk7fvknq27nfpyv32b7062cs4c3h2s62ssr133abq78ymcfcll";
        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
+         unliftio-core vault
        ];
        testHaskellDepends = [
          aeson base bytestring containers fast-logger hspec
@@ -208972,8 +211356,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-qq";
-       version = "2.12.0.1";
-       sha256 = "1dvniapxjaw2vmdqd5cplwxdxiy2l6z6gns8gp3ci3rn3xp0pf6p";
+       version = "2.12.0.2";
+       sha256 = "0pzlhwl4h9q358zc6d0m5zv0ii2yhf2lzw0a3v2spfc1ch4a014a";
        libraryHaskellDepends = [
          base haskell-src-meta mtl persistent template-haskell text
        ];
@@ -209091,8 +211475,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-sqlite";
-       version = "2.13.0.3";
-       sha256 = "12za89crbk74mya4qxpw5fp5fqp64vwz5s8vbjd7m8r3j3vbw338";
+       version = "2.13.1.0";
+       sha256 = "1z8650nv10f6yldn9sihk54c7mlcnkxwaj956igvs6q3x3s8aa1b";
        configureFlags = [ "-fsystemlib" ];
        isLibrary = true;
        isExecutable = true;
@@ -209158,8 +211542,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-test";
-       version = "2.13.0.3";
-       sha256 = "07q53jvhz00cf10k7a8fkvykgwcl10fgzh8k9gv1d248f336crvs";
+       version = "2.13.1.0";
+       sha256 = "1ccv9rrnjngwf8av3zyq28myd1iyb6831nnqjpllwlyrpgnmafvr";
        libraryHaskellDepends = [
          aeson base blaze-html bytestring conduit containers exceptions
          hspec hspec-expectations http-api-data HUnit monad-control
@@ -209959,8 +212343,8 @@ self: {
     ({ mkDerivation, base, subG }:
      mkDerivation {
        pname = "phonetic-languages-permutations-array";
-       version = "0.2.0.0";
-       sha256 = "0czrkhiplkblgsf6gq17m4hrwas4j4gj1hlq9zab8dcak39qkmc8";
+       version = "0.3.3.0";
+       sha256 = "0r742vhcyghq2r2wjxqi1njhkvpmq4i635ayd5zv5im5qf5xcry6";
        libraryHaskellDepends = [ base subG ];
        description = "Permutations and universal set related functions for the phonetic-languages series";
        license = lib.licenses.mit;
@@ -209972,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 = [
@@ -210045,8 +212429,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-base";
-       version = "0.4.1.0";
-       sha256 = "0jwwa1xj1k2bj9iw89lpks04q62zg6sp5ixfhlbs83zwhfz2jplb";
+       version = "0.4.5.0";
+       sha256 = "0qbb04sk2iigy07skyk434p92r3bza8glwfpxdlwi5bxy69fsrdj";
        libraryHaskellDepends = [
          base phonetic-languages-permutations-array subG
        ];
@@ -210070,7 +212454,7 @@ self: {
      }) {};
 
   "phonetic-languages-simplified-examples-array" = callPackage
-    ({ mkDerivation, base, heaps, mmsyn2-array, parallel
+    ({ mkDerivation, base, cli-arguments, heaps, mmsyn2-array, parallel
      , phonetic-languages-constraints-array
      , phonetic-languages-filters-array
      , phonetic-languages-permutations-array, phonetic-languages-plus
@@ -210083,12 +212467,12 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.15.2.1";
-       sha256 = "0ag3nnmfipngc9xf70s5dla84ynab9r9ipswrxcxyga5mx5zw1da";
+       version = "0.16.3.0";
+       sha256 = "12hqxk3fga9k6xw8wns834n12wcpmxki2cbyq03jgz22n00css0f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base heaps mmsyn2-array parallel
+         base cli-arguments heaps mmsyn2-array parallel
          phonetic-languages-constraints-array
          phonetic-languages-filters-array
          phonetic-languages-permutations-array phonetic-languages-plus
@@ -210099,7 +212483,7 @@ self: {
          ukrainian-phonetics-basic-array uniqueness-periods-vector-stats
        ];
        executableHaskellDepends = [
-         base heaps mmsyn2-array parallel
+         base cli-arguments heaps mmsyn2-array parallel
          phonetic-languages-constraints-array
          phonetic-languages-filters-array
          phonetic-languages-permutations-array phonetic-languages-plus
@@ -210120,8 +212504,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-common";
-       version = "0.4.0.0";
-       sha256 = "1pp4zisd56jzdiscf8r1022hlcgga1alh8mpzh1dmrsi98x5dnx2";
+       version = "0.4.2.0";
+       sha256 = "05ghrqxjlpgdxdcfzj5l0shwmria2c9xkkbps1j1vdsn2qlwihxy";
        libraryHaskellDepends = [
          base heaps phonetic-languages-constraints-array
          phonetic-languages-ukrainian-array
@@ -210132,8 +212516,8 @@ self: {
      }) {};
 
   "phonetic-languages-simplified-generalized-examples-array" = callPackage
-    ({ mkDerivation, base, heaps, mmsyn2-array, mmsyn3, parallel
-     , phonetic-languages-constraints-array
+    ({ mkDerivation, base, cli-arguments, heaps, mmsyn2-array, mmsyn3
+     , parallel, phonetic-languages-constraints-array
      , phonetic-languages-filters-array
      , phonetic-languages-permutations-array
      , phonetic-languages-phonetics-basics, phonetic-languages-plus
@@ -210144,10 +212528,10 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-array";
-       version = "0.13.1.0";
-       sha256 = "15fwl0zzd2k90sjyj2whpsx60wi7ahxr1f2626jvqzq8x678z7fh";
+       version = "0.15.0.0";
+       sha256 = "1rayhhyvqskxw374jrl5h92lhx0n3k3wda7vw4wkgw3kbargwm7q";
        libraryHaskellDepends = [
-         base heaps mmsyn2-array mmsyn3 parallel
+         base cli-arguments heaps mmsyn2-array mmsyn3 parallel
          phonetic-languages-constraints-array
          phonetic-languages-filters-array
          phonetic-languages-permutations-array
@@ -210167,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
        ];
@@ -210183,8 +212567,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-properties-array";
-       version = "0.8.2.0";
-       sha256 = "0mlzmsal1phg2r7mwdgxbc55ybziqys6avzkv7pw3il1vy7kyzyx";
+       version = "0.9.0.0";
+       sha256 = "17zr8j9slvimjv1vx6bzq1d86n5ap1j17yglxvviyd3xbhnp2qq2";
        libraryHaskellDepends = [
          base phonetic-languages-phonetics-basics
          phonetic-languages-rhythmicity phonetic-languages-simplified-base
@@ -210235,8 +212619,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-properties-array";
-       version = "0.12.0.0";
-       sha256 = "1m4ficmkzp3k6xsg9dby8ch8k8zlc4jvgxxr76pnhy29dkgs8yxp";
+       version = "0.12.2.0";
+       sha256 = "099l3r6c8067a5bdnszlyyzg8n862awh8mqfzx1vdk3s91hz7fj6";
        libraryHaskellDepends = [
          base phonetic-languages-rhythmicity
          phonetic-languages-simplified-base ukrainian-phonetics-basic-array
@@ -210300,8 +212684,8 @@ self: {
     ({ mkDerivation, base, mmsyn2-array, mmsyn5 }:
      mkDerivation {
        pname = "phonetic-languages-ukrainian-array";
-       version = "0.8.0.0";
-       sha256 = "12hpqlcwccv2c25fxyxq5vdnmzwqykcvmp8rj118hc3yssc2ygj8";
+       version = "0.9.2.0";
+       sha256 = "0x0llv91r0837qiajnxhln6ddf8qyc7m13rc87x8rg7f5rqpzqip";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ];
@@ -210347,8 +212731,8 @@ self: {
      }:
      mkDerivation {
        pname = "photoname";
-       version = "5.0";
-       sha256 = "0g17jbnrgl2crgd04sy9s8d1g8da7p8wxq7hgnlg9h4n40yjxbd8";
+       version = "5.1";
+       sha256 = "0ihw0pjiqwfny8nqbdglg13dch622m2agp2y328n7fqar79xx6dv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -211122,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
        ];
@@ -211807,6 +214191,8 @@ self: {
        pname = "pipes-lzma";
        version = "0.2.0.0";
        sha256 = "1b1xnjq1bvp14rl0lvzfxkckvwsihmq0j61wbmx1k0vqjy2b350m";
+       revision = "1";
+       editedCabalFile = "1i501pqamv0sjrp2ngppvy1wy6gr7xk89hzpfmvnj02ja2m49z41";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring exceptions lzma pipes ];
@@ -214194,8 +216580,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-RandomFu";
-       version = "0.4.4.0";
-       sha256 = "0mh6iiyz859446l8r54bqg8hmaig40kdapq9k4niry35nba6fdr1";
+       version = "0.4.4.1";
+       sha256 = "1zw8n16dm2l8rwrf014kb9jhp3q4a719bp8p08s4fnlksqkf88vl";
        libraryHaskellDepends = [
          base polysemy polysemy-plugin polysemy-zoo random-fu random-source
        ];
@@ -214238,8 +216624,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-chronos";
-       version = "0.2.0.1";
-       sha256 = "1i33hr807kk4cvhk0gzm1b96zjp3zbbhg3dc7585i2hj9jmf6858";
+       version = "0.2.0.2";
+       sha256 = "1siasag2fipfkff1njs5ill7g9m9wi7fc0jc9m714m9rip3w9sam";
        libraryHaskellDepends = [ base chronos polysemy polysemy-time ];
        testHaskellDepends = [
          base chronos polysemy-test polysemy-time tasty
@@ -214420,17 +216806,17 @@ self: {
      }) {};
 
   "polysemy-log" = callPackage
-    ({ mkDerivation, ansi-terminal, base, polysemy, polysemy-conc
-     , polysemy-test, polysemy-time, relude, tasty, template-haskell
-     , text, time
+    ({ mkDerivation, ansi-terminal, async, base, polysemy
+     , polysemy-conc, polysemy-test, polysemy-time, relude, tasty
+     , template-haskell, text, time
      }:
      mkDerivation {
        pname = "polysemy-log";
-       version = "0.4.0.0";
-       sha256 = "0jizgwd1vjhdn2m4d2xdhzawmdblvhk12v6blcnyxm94nab215li";
+       version = "0.4.3.0";
+       sha256 = "0n7szglzj8jkb6cpkbj0496wd5k4cy4lvih026r6bcb7m943ki71";
        libraryHaskellDepends = [
-         ansi-terminal base polysemy polysemy-conc polysemy-time relude
-         template-haskell text time
+         ansi-terminal async base polysemy polysemy-conc polysemy-time
+         relude template-haskell text time
        ];
        testHaskellDepends = [
          base polysemy polysemy-conc polysemy-test polysemy-time tasty time
@@ -214446,8 +216832,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log-co";
-       version = "0.4.0.0";
-       sha256 = "0c778m2ibs09aw9lv2a7xs3ywj0c8agnpx3vg114dh1ndbvcyhl5";
+       version = "0.4.3.0";
+       sha256 = "1qhhhlbkvx4jxanfwgnnhn0yvhi2zp7sm3ssn3nc48vm1gzmb867";
        libraryHaskellDepends = [
          base co-log co-log-core co-log-polysemy polysemy polysemy-conc
          polysemy-log polysemy-time
@@ -214467,8 +216853,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log-di";
-       version = "0.4.0.0";
-       sha256 = "0dnprxjafy2jy7mlj4h6jh456mys4af467kagdvbv8kllc66rrsc";
+       version = "0.4.3.0";
+       sha256 = "0cy1iwybb4m6n2rivmzzp4ikj8n1qhw1k4f13xiwf98s7abasa5l";
        libraryHaskellDepends = [
          base di-polysemy polysemy polysemy-conc polysemy-log polysemy-time
        ];
@@ -214765,19 +217151,15 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-test";
-       version = "0.3.1.7";
-       sha256 = "0cra8zz7xmgw1103j3a1a4sk8jvk073wnyyk51x2fxiwjpqmax1y";
+       version = "0.3.1.8";
+       sha256 = "11f8yj77kws6aybaw1jdgjj1kn4n4ip0b97cg3bsjybnjwg4hppy";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers either hedgehog path path-io polysemy relude
          string-interpolate tasty tasty-hedgehog template-haskell text
          transformers
        ];
-       testHaskellDepends = [
-         base containers either hedgehog path path-io polysemy relude
-         string-interpolate tasty tasty-hedgehog template-haskell text
-         transformers
-       ];
+       testHaskellDepends = [ base hedgehog path polysemy tasty text ];
        description = "Polysemy effects for testing";
        license = "BSD-2-Clause-Patent";
      }) {};
@@ -214788,8 +217170,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-time";
-       version = "0.2.0.1";
-       sha256 = "1scq1lvjmhh5qilbq1dl5pkywnyhdrzwgd9i27hyfwijzldac31m";
+       version = "0.2.0.2";
+       sha256 = "0d21g8lflzh30nrqvrfzw10g0nrh555j92780h47vyvk496b8bk1";
        libraryHaskellDepends = [
          aeson base polysemy relude string-interpolate template-haskell text
          time torsor
@@ -216495,8 +218877,8 @@ self: {
        pname = "postgresql-simple";
        version = "0.6.4";
        sha256 = "0rz2bklxp4pvbxb2w49h5p6pbwabn6d5d4j4mrya4fpa0d13k43d";
-       revision = "5";
-       editedCabalFile = "0vnawd7f2lwqgh1hi6s5y5wny85a12i27haz93bmjvpmdljjmsjk";
+       revision = "6";
+       editedCabalFile = "1s7f6l17qakhgmfn1l09s4g5pmawn9qa8ylbzybkm91h9y7mwlzn";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring bytestring-builder
          case-insensitive containers hashable Only postgresql-libpq
@@ -216684,8 +219066,8 @@ self: {
        pname = "postgresql-simple-url";
        version = "0.2.1.0";
        sha256 = "1jg9gvpidrfy2hqixwqsym1l1mnkafmxwq58jpbzdmrbvryga1qk";
-       revision = "4";
-       editedCabalFile = "092gkvwzdf0nmm6q6lgjb81j8vpn5d3pybavs39ya2v92mbhrpmm";
+       revision = "5";
+       editedCabalFile = "17l5iq6c4yjw3gswgav398cbih5105m05ak68kdibv6jjazkqw7p";
        libraryHaskellDepends = [
          base network-uri postgresql-simple split
        ];
@@ -217244,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.0";
-       sha256 = "0ddrgvpvss342zmnyd0svj7424k8gynd7bwb2i0r10zw1l4kai26";
+       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
@@ -217324,6 +219707,8 @@ self: {
        testHaskellDepends = [ async base hspec powerqueue stm timespan ];
        description = "A distributed worker backend for powerqueu";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "powerqueue-levelmem" = callPackage
@@ -218565,6 +220950,8 @@ self: {
        pname = "prettyprinter-graphviz";
        version = "1.1.0.0";
        sha256 = "1lqf296jr2jfg86apn729payq2rkk95pdidl7n62xx4bniax7fvm";
+       revision = "1";
+       editedCabalFile = "1q8mp6rzb9l6jm8bc902si99ns2nw3vzimqvzwhxbkxf4ljdzqwq";
        libraryHaskellDepends = [ base graphviz prettyprinter text ];
        description = "A prettyprinter backend for graphviz";
        license = lib.licenses.bsd3;
@@ -218576,6 +220963,8 @@ self: {
        pname = "prettyprinter-lucid";
        version = "0.1.0.1";
        sha256 = "0m8dbxzs22zbahpr6r1frlfqyw581wyg92vswm3gi2qqpj406djh";
+       revision = "1";
+       editedCabalFile = "02vqw79j1pj9f1z2gl08jny75lfdm29jw2g6kqg23x5sayzh1f89";
        libraryHaskellDepends = [ base lucid prettyprinter text ];
        description = "A prettyprinter backend for lucid";
        license = lib.licenses.bsd3;
@@ -218743,6 +221132,24 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "primecount" = callPackage
+    ({ mkDerivation, base, primecount, silently, tasty, tasty-bench
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "primecount";
+       version = "0.1.0.0";
+       sha256 = "16ls5fb8z0mpnggs9c1sjksgzpj558gdp9fk3wrv55z41pch53r0";
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ primecount ];
+       testHaskellDepends = [ base silently tasty tasty-hunit ];
+       benchmarkHaskellDepends = [ base tasty-bench ];
+       description = "Bindings to the primecount library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) primecount;};
+
   "primes" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -218834,8 +221241,8 @@ self: {
     ({ mkDerivation, base, primitive }:
      mkDerivation {
        pname = "primitive-checked";
-       version = "0.7.0.0";
-       sha256 = "1h4gsririgjw8p72dz2p91yq8mxr37qca8rshmxmkmmds8yv6w1s";
+       version = "0.7.2.0";
+       sha256 = "1swb10hd18w2xnxiwnscsv4fxmvrql3aw7fll5qlqi2hczbkd4lf";
        libraryHaskellDepends = [ base primitive ];
        description = "primitive functions with bounds-checking";
        license = lib.licenses.bsd3;
@@ -218867,6 +221274,7 @@ self: {
        description = "containers backed by arrays";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "primitive-convenience" = callPackage
@@ -218904,7 +221312,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "primitive-extras_0_10_1_2" = callPackage
+  "primitive-extras_0_10_1_4" = callPackage
     ({ mkDerivation, base, bytestring, cereal, deferred-folds, focus
      , foldl, list-t, primitive, primitive-unlifted, profunctors
      , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
@@ -218912,8 +221320,8 @@ self: {
      }:
      mkDerivation {
        pname = "primitive-extras";
-       version = "0.10.1.2";
-       sha256 = "0517ln7ihsqb15m0h0nw9qjh73kdwcc2nkg9n39hnmhiw4im9d1i";
+       version = "0.10.1.4";
+       sha256 = "00x8jwmkijc110idviz6i4q25dfxnjv4gcdkhsyrldrg8g1bn90f";
        libraryHaskellDepends = [
          base bytestring cereal deferred-folds focus foldl list-t primitive
          primitive-unlifted profunctors vector
@@ -219017,7 +221425,6 @@ self: {
        benchmarkHaskellDepends = [ base gauge ghc-prim primitive random ];
        description = "Sort primitive arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "primitive-stablename" = callPackage
@@ -219330,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
      }:
@@ -220342,8 +222792,8 @@ self: {
      }:
      mkDerivation {
        pname = "prometheus";
-       version = "2.2.2";
-       sha256 = "11r3ckkv4fzgc5lgfvhgkngjvikzmapahh162grzdj6j47nm3hsf";
+       version = "2.2.3";
+       sha256 = "1ggav326fpkrvg39a5rxg2ysg6mb16zzdv4yw0753fyk61v2g4pz";
        libraryHaskellDepends = [
          atomic-primops base bytestring containers http-client
          http-client-tls http-types network-uri text transformers wai warp
@@ -221106,33 +223556,6 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "protobuf_0_2_1_4" = callPackage
-    ({ mkDerivation, base, base-orphans, binary, bytestring, containers
-     , criterion, data-binary-ieee754, deepseq, hex, HUnit, mtl
-     , QuickCheck, semigroups, tagged, tasty, tasty-hunit
-     , tasty-quickcheck, text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "protobuf";
-       version = "0.2.1.4";
-       sha256 = "0qcnhj0ryaz4naqkqc7gankgwb6r7psl3njk7f6vi3l2y88ssa4v";
-       libraryHaskellDepends = [
-         base base-orphans binary bytestring data-binary-ieee754 deepseq mtl
-         semigroups text unordered-containers
-       ];
-       testHaskellDepends = [
-         base binary bytestring containers hex HUnit mtl QuickCheck tagged
-         tasty tasty-hunit tasty-quickcheck text unordered-containers
-       ];
-       benchmarkHaskellDepends = [
-         base binary bytestring containers criterion deepseq hex mtl tagged
-         text unordered-containers
-       ];
-       description = "Google Protocol Buffers via GHC.Generics";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "protobuf-native" = callPackage
     ({ mkDerivation, base, bytestring, cereal, cplusplus-th, criterion
      , hprotoc-fork, protobuf, protocol-buffers-fork, QuickCheck
@@ -221599,6 +224022,32 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "psql" = callPackage
+    ({ mkDerivation, base, bytestring, cgroup-rts-threads, concurrency
+     , containers, cryptonite, exceptions, hspec, massiv, megaparsec
+     , mtl, postgresql-libpq, semigroupoids, simpoole, sop-core
+     , template-haskell, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "psql";
+       version = "0.0.0";
+       sha256 = "15f0404yvs6bixzb0wbcp9nnn07wf0vq0dgaxr1pkch4gy8n79ij";
+       revision = "1";
+       editedCabalFile = "0pfi16q3kv0kxwamggk3jsvy5mmgc7g6qawzxwmz14n8mg61885w";
+       libraryHaskellDepends = [
+         base bytestring concurrency containers cryptonite exceptions
+         megaparsec mtl postgresql-libpq semigroupoids simpoole
+         template-haskell text vector
+       ];
+       testHaskellDepends = [
+         base bytestring cgroup-rts-threads exceptions hspec massiv mtl
+         postgresql-libpq semigroupoids sop-core unordered-containers vector
+       ];
+       description = "PostgreSQL client";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "psql-helpers" = callPackage
     ({ mkDerivation, base, postgresql-simple }:
      mkDerivation {
@@ -221662,6 +224111,77 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ptera" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
+     , enummapset-th, hspec, hspec-discover, membership, ptera-core
+     , QuickCheck, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ptera";
+       version = "0.2.0.0";
+       sha256 = "0lf9d2mcigrmn4asr6cjh5hbp1yl048v57a7az8aszhpsz4k8vkp";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base containers enummapset-th membership ptera-core
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers doctest enummapset-th hspec membership ptera-core
+         QuickCheck unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A parser generator";
+       license = "(Apache-2.0 OR MPL-2.0)";
+     }) {};
+
+  "ptera-core" = callPackage
+    ({ mkDerivation, array, base, Cabal, cabal-doctest, containers
+     , doctest, enummapset-th, hashable, hspec, hspec-discover
+     , membership, QuickCheck, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ptera-core";
+       version = "0.1.0.0";
+       sha256 = "1bpgnd68c070i1azig6r0ck843hvxjcg17yhmy3nizm1bx4nppk1";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         array base containers enummapset-th hashable membership
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         array base containers doctest enummapset-th hashable hspec
+         membership QuickCheck transformers unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A parser generator";
+       license = "(Apache-2.0 OR MPL-2.0)";
+     }) {};
+
+  "ptera-th" = callPackage
+    ({ mkDerivation, array, base, Cabal, cabal-doctest, containers
+     , doctest, enummapset-th, ghc-prim, hspec, hspec-discover
+     , membership, ptera, ptera-core, QuickCheck, template-haskell
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "ptera-th";
+       version = "0.2.0.0";
+       sha256 = "15djvwgivi2gxqhq65j3qkfh2w9z07yjh4nrg42ydv6n3ps4s9i8";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         array base containers enummapset-th ghc-prim membership ptera
+         ptera-core template-haskell unordered-containers
+       ];
+       testHaskellDepends = [
+         array base containers doctest enummapset-th ghc-prim hspec
+         membership ptera ptera-core QuickCheck template-haskell
+         unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A parser generator";
+       license = "(Apache-2.0 OR MPL-2.0)";
+     }) {};
+
   "pthread" = callPackage
     ({ mkDerivation, base, generic-deriving, hspec, hspec-discover }:
      mkDerivation {
@@ -221701,8 +224221,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptr-poker";
-       version = "0.1.2.3";
-       sha256 = "0930yrqvp9m28ypc3l4fgxbclp3a9b8r8drylws2s7jflss778bn";
+       version = "0.1.2.4";
+       sha256 = "1kqh7n92bipk5wzywb5zlrb0l4qh5lq2pqll4wsbklqg47i1y9ai";
        libraryHaskellDepends = [ base bytestring scientific text ];
        testHaskellDepends = [ hedgehog numeric-limits rerebase ];
        benchmarkHaskellDepends = [ gauge rerebase ];
@@ -222405,6 +224925,7 @@ self: {
        ];
        description = "Generate PureScript data types from Haskell data types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "purescript-bundle-fast" = callPackage
@@ -222680,8 +225201,8 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "2.1.0.7";
-       sha256 = "0dk3m4gxcifarmn8l92bqlpn1n6fdmryjazspj0nm1a6r0zc1q9p";
+       version = "2.1.0.8";
+       sha256 = "16m9yqjyhafbfiiq6nn7d525sw27v5i8ib930ik8xjhm0pq10fbg";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite hashable
          http-client http-client-tls http-types memory text time
@@ -222974,7 +225495,7 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) python;};
+     }) {python = null;};
 
   "pyfi" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, pureMD5
@@ -222992,7 +225513,7 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) python;};
+     }) {python = null;};
 
   "python-pickle" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, cereal, cmdargs
@@ -223552,15 +226073,15 @@ self: {
      }) {};
 
   "quantification" = callPackage
-    ({ mkDerivation, aeson, base, binary, containers, ghc-prim
-     , hashable, path-pieces, text, unordered-containers, vector
+    ({ mkDerivation, aeson, base, binary, containers, hashable
+     , path-pieces, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "quantification";
-       version = "0.5.2";
-       sha256 = "0ngy44xlbxhq8gzvp9fs71pchzqgy2bpqqfm3wna666c1034srxf";
+       version = "0.6.0";
+       sha256 = "1512z20qqkj50nwhmf30f6fy5pqhibn3mdb6whckxy62i9vw6s6s";
        libraryHaskellDepends = [
-         aeson base binary containers ghc-prim hashable path-pieces text
+         aeson base binary containers hashable path-pieces text
          unordered-containers vector
        ];
        description = "Rage against the quantification";
@@ -224057,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";
@@ -224105,6 +226624,8 @@ self: {
        pname = "quickcheck-instances";
        version = "0.3.27";
        sha256 = "10vb3rl1ma9x4qdych9vn8gj9kngkqs2b97f4s6s1a908ddxv4m5";
+       revision = "1";
+       editedCabalFile = "1b17ghhhrw9h625q08145pdpw72xmava73d3xb933slza5jms6nz";
        libraryHaskellDepends = [
          array base bytestring case-insensitive containers data-fix hashable
          integer-logarithms old-time OneTuple QuickCheck scientific splitmix
@@ -224353,8 +226874,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-string-random";
-       version = "0.1.4.0";
-       sha256 = "08ikiqgzhizg4acv9kba6glwa47xzpdzrpzcz95kcw7b90q9qqp9";
+       version = "0.1.4.2";
+       sha256 = "1r03w9ypvc063fhcd7sqs654gg0sz66jfll84bwg5709ws3y9bh6";
        libraryHaskellDepends = [ base QuickCheck string-random text ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-quickcheck text
@@ -225152,8 +227673,6 @@ self: {
        doHaddock = false;
        description = "Fast and type safe cryptography";
        license = "(Apache-2.0 OR BSD-3-Clause)";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rabocsv2qif" = callPackage
@@ -225557,12 +228076,33 @@ self: {
        license = lib.licenses.gpl2Plus;
      }) {};
 
+  "ral_0_2_1" = callPackage
+    ({ mkDerivation, adjunctions, base, bin, boring, criterion, deepseq
+     , distributive, fin, hashable, indexed-traversable, QuickCheck
+     , semigroupoids, vector
+     }:
+     mkDerivation {
+       pname = "ral";
+       version = "0.2.1";
+       sha256 = "1f6sks81g8zxkgnp7lc5n0aimnvbbvkazassc17z0prs56hs63si";
+       libraryHaskellDepends = [
+         adjunctions base bin boring deepseq distributive fin hashable
+         indexed-traversable QuickCheck semigroupoids
+       ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Random access lists";
+       license = lib.licenses.gpl2Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ral-lens" = callPackage
     ({ mkDerivation, base, bin, fin, lens, ral }:
      mkDerivation {
        pname = "ral-lens";
        version = "0.2";
        sha256 = "0nlw0q0b8bza98h74k0wa2vc9m5bk6g9slri1mzd6cr1pmpvna67";
+       revision = "1";
+       editedCabalFile = "0fmwfl0ci25g4lzprj9xm4jv1is4m7j8v8j0n09j4qxvlzz6y4p1";
        libraryHaskellDepends = [ base bin fin lens ral ];
        description = "Length-indexed random access lists: lens utilities";
        license = lib.licenses.gpl2Plus;
@@ -225574,6 +228114,8 @@ self: {
        pname = "ral-optics";
        version = "0.2";
        sha256 = "1s7pxkf0vw1a5k1gwyfn6wsmiaa4csbghqshdbva8c73510q0fp1";
+       revision = "1";
+       editedCabalFile = "1dbd9v0s0g06sr0cx5dma4bn6ga47ha501nm06rfs2y6dbv1jn23";
        libraryHaskellDepends = [ base bin fin optics-core ral ];
        description = "Length-indexed random access lists: optics utilities";
        license = lib.licenses.gpl2Plus;
@@ -225639,6 +228181,20 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "rampart_2_0_0_0" = callPackage
+    ({ mkDerivation, base, criterion, hspec }:
+     mkDerivation {
+       pname = "rampart";
+       version = "2.0.0.0";
+       sha256 = "1hmn6dm5x2n9mn31lwa3dg77plahqmfj0h6s2h3v5y09d7s2fjhv";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Determine how intervals relate to each other";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ramus" = callPackage
     ({ mkDerivation, base, criterion, hspec, QuickCheck, quickcheck-io
      }:
@@ -226211,10 +228767,8 @@ self: {
      }:
      mkDerivation {
        pname = "rank2classes";
-       version = "1.4.3";
-       sha256 = "03sla9gsg23ma8xxm3mndc9wrh715lsgksxc34rxkmjbp9vxlccj";
-       revision = "1";
-       editedCabalFile = "1607wkp0d9a9igyngc5hip6mcsx8lm6v70facnggz0lnv7vqm5l8";
+       version = "1.4.4";
+       sha256 = "0c220gxk7dzn2gb0g34bvjjwjw5ir5i8qa089mcpyqqaba8jzxaw";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base distributive template-haskell transformers
@@ -226544,6 +229098,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "ratel_2_0_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, filepath, hspec, http-client, http-client-tls
+     , http-types, uuid
+     }:
+     mkDerivation {
+       pname = "ratel";
+       version = "2.0.0.0";
+       sha256 = "02pkc0mkzxvv07kzwsrxp1hlgb5gypxc7phsv85k9kr6vvkh58jf";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive containers http-client
+         http-client-tls http-types uuid
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive containers filepath hspec
+         http-client http-client-tls http-types uuid
+       ];
+       description = "Notify Honeybadger about exceptions";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ratel-wai" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , http-client, ratel, wai
@@ -226559,6 +229135,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "ratel-wai_2_0_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , http-client, ratel, wai
+     }:
+     mkDerivation {
+       pname = "ratel-wai";
+       version = "2.0.0.0";
+       sha256 = "1z95ydab4q8r3lmsin3ghzqcnfliw2km7sdldzm6crvgvpj90l73";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers http-client ratel wai
+       ];
+       description = "Notify Honeybadger about exceptions via a WAI middleware";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ratelimiter" = callPackage
     ({ mkDerivation, base, containers, extra, mtl, time, timespan
      , vector
@@ -227843,8 +230435,8 @@ self: {
      }:
      mkDerivation {
        pname = "reanimate";
-       version = "1.1.4.0";
-       sha256 = "0gz651ipn5w6w7adxkvkcgi6nb1d2vs72l8glz5jdll44mchdk55";
+       version = "1.1.5.0";
+       sha256 = "0gy5s68d00szs1ljfcyisp19g3vz4i1mlbxpym0mymzc5v723wfa";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson ansi-terminal array attoparsec base base64-bytestring
@@ -227964,23 +230556,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "rebase_1_14" = callPackage
+  "rebase_1_15_0_3" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, comonad, containers
      , contravariant, deepseq, dlist, either, groups, hashable
-     , hashable-time, invariant, mtl, profunctors, scientific, selective
-     , semigroupoids, stm, text, time, transformers
-     , unordered-containers, uuid-types, vector, vector-instances, void
+     , invariant, mtl, profunctors, scientific, selective, semigroupoids
+     , stm, text, time, time-compat, transformers, unordered-containers
+     , uuid-types, vector, vector-instances, void
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.14";
-       sha256 = "1jcr5cpwdlgk96nx0ml1bam5c9qdmd848i0krcykv96p05bs1vmy";
+       version = "1.15.0.3";
+       sha256 = "1dck3800mz307jriz6mcv2dn2lwglgvlpiiy759xn56774h503zj";
        libraryHaskellDepends = [
          base bifunctors bytestring comonad containers contravariant deepseq
-         dlist either groups hashable hashable-time invariant mtl
-         profunctors scientific selective semigroupoids stm text time
-         transformers unordered-containers uuid-types vector
-         vector-instances void
+         dlist either groups hashable invariant mtl profunctors scientific
+         selective semigroupoids stm text time time-compat transformers
+         unordered-containers uuid-types vector vector-instances void
        ];
        description = "A more progressive alternative to the \"base\" package";
        license = lib.licenses.mit;
@@ -227998,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 {
@@ -228064,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 ];
@@ -228657,8 +231260,8 @@ self: {
        pname = "reducers";
        version = "3.12.4";
        sha256 = "0hsycdir52jdijnnvc77jj971fjrrc722v952wr62ivrvx2zarn0";
-       revision = "1";
-       editedCabalFile = "0i5mvhfp5b6dmmk8l93492cyjxn6n9dncmijpbp4hbqi40pr9g47";
+       revision = "2";
+       editedCabalFile = "1ji6rp0f857d0vp2kjqcck7avrjgqvqjgwnhdcxs3zbjkwpqyhfb";
        libraryHaskellDepends = [
          array base bytestring containers fingertree hashable semigroupoids
          text transformers unordered-containers
@@ -228873,18 +231476,18 @@ self: {
      }) {};
 
   "refined" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, doctest
-     , exceptions, mtl, QuickCheck, template-haskell, text, these-skinny
+    ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions
+     , hashable, mtl, QuickCheck, template-haskell, text, these-skinny
      }:
      mkDerivation {
        pname = "refined";
-       version = "0.6.2";
-       sha256 = "1xfy6sl6kl9k7vvlvwg8fb3kdpqd0fl1c9wcfwgdqb874a4xn6dz";
+       version = "0.6.3";
+       sha256 = "1fpbwzr3q9fmkdghpap0zm56bi9wj6n6k0ys5b8ci5xhz25mrd4g";
        libraryHaskellDepends = [
-         aeson base bytestring deepseq exceptions mtl QuickCheck
+         aeson base bytestring deepseq exceptions hashable mtl QuickCheck
          template-haskell text these-skinny
        ];
-       testHaskellDepends = [ base doctest QuickCheck ];
+       testHaskellDepends = [ base QuickCheck ];
        description = "Refinement types with static and runtime checking";
        license = lib.licenses.mit;
      }) {};
@@ -229093,10 +231696,10 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom";
-       version = "0.6.1.0";
-       sha256 = "190g56y16xvj508qdp3znlbbv4gb3ska38jbjpblvq8cz2d4nkdc";
+       version = "0.6.1.1";
+       sha256 = "0ykkzmzxiznd09sgmjwzmbrpnm8gr2bd57hzdl8avrr728bwj8ga";
        revision = "1";
-       editedCabalFile = "0xi2bn6d4bgbfqngl2y9gva4nxii65v3hzrik74wzdsf17wyrmv9";
+       editedCabalFile = "0g9ch18sibdz6mqkfkh1dh86hf7vp3bjr8hyq2dqk33vn1lkrlrp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -229122,6 +231725,8 @@ self: {
        ];
        description = "Basic support for using the Ace editor with Reflex";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "reflex-dom-colonnade" = callPackage
@@ -229177,8 +231782,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom-core";
-       version = "0.6.2.1";
-       sha256 = "1xqb0m1p2x8s2x98j9nlq707p92gdjby9k925l13bly3rh1kk4y4";
+       version = "0.7.0.1";
+       sha256 = "0lhi04i5wfkgblcifah6znkwi6v7294pna48527ns74f0bjc7yy3";
        libraryHaskellDepends = [
          aeson base bifunctors bimap blaze-builder bytestring
          case-insensitive constraints containers contravariant data-default
@@ -229976,8 +232581,8 @@ self: {
        pname = "regex-applicative-text";
        version = "0.1.0.1";
        sha256 = "1ng2qhk4mvpzl8fx91ig7ldv09v9aqdsvn6yl9yjapc6h0ghb4xh";
-       revision = "5";
-       editedCabalFile = "1jgmhqhlhj9zhxwikmhiq71fj1900iqiyg6r9l5y7xjk7arwscmi";
+       revision = "6";
+       editedCabalFile = "16a2d8d84gzbjbvs7pc7sz5bi7rz2s5c57gkwi0vf5lmscgjy25h";
        libraryHaskellDepends = [ base regex-applicative text ];
        description = "regex-applicative on text";
        license = lib.licenses.bsd3;
@@ -230201,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
        ];
@@ -230286,6 +232893,24 @@ self: {
        broken = true;
      }) {};
 
+  "regex-rure" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, rure, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "regex-rure";
+       version = "0.1.2.0";
+       sha256 = "1my3rmj2766bd00qg25wijgvw7ffk8fq965y2b97s5v00fjds33r";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ rure ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit ];
+       description = "Bindings to Rust's regex library";
+       license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ sternenseemann ];
+       broken = true;
+     }) {inherit (pkgs) rure;};
+
   "regex-tdfa" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, directory
      , filepath, mtl, parsec, regex-base, text, utf8-string
@@ -230294,8 +232919,8 @@ self: {
        pname = "regex-tdfa";
        version = "1.3.1.1";
        sha256 = "1msrq31k4jmn2lmrdzn87jqarqhw265ca69rfg5jpa5adrzm3gmi";
-       revision = "1";
-       editedCabalFile = "02gwf740vs0jy3l6dgw72r8c04yggshia6w16n140ncpsici8c4r";
+       revision = "3";
+       editedCabalFile = "11c7kqjf86jmm6pcxypbvlqb3iim5rcv9gxy1046iappasapampd";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec regex-base text
        ];
@@ -230744,8 +233369,8 @@ self: {
     ({ mkDerivation, base, vector }:
      mkDerivation {
        pname = "regression-simple";
-       version = "0.1";
-       sha256 = "0f74xwyrnz39cl24kazvk8rd3px2l2ycx6a5jaqlab6wiwi5xclq";
+       version = "0.1.1";
+       sha256 = "18gq05xrkkxg2zrnkx9z7n91g8lagz6j3cfw7mqik7dyc2m1w675";
        libraryHaskellDepends = [ base vector ];
        description = "Simple linear and quadratic regression";
        license = lib.licenses.bsd3;
@@ -230933,7 +233558,7 @@ self: {
        maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
-  "rel8_1_2_1_0" = callPackage
+  "rel8_1_3_0_0" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring
      , case-insensitive, comonad, containers, contravariant, hasql
      , hasql-transaction, hedgehog, mmorph, opaleye, pretty
@@ -230943,8 +233568,8 @@ self: {
      }:
      mkDerivation {
        pname = "rel8";
-       version = "1.2.1.0";
-       sha256 = "0f4rnyr90f989ww4hh8h65fhnj16ir144qsin9abc767fxnb7wis";
+       version = "1.3.0.0";
+       sha256 = "00iw5fzfx81j7phzjqzmk2bfxvg9q21sn3gw42a3xbnqk1ivrhjy";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring case-insensitive comonad
          contravariant hasql opaleye pretty product-profunctors profunctors
@@ -231630,10 +234255,8 @@ self: {
      }:
      mkDerivation {
        pname = "repa";
-       version = "3.4.1.4";
-       sha256 = "17m3wl4hvf04fxwm4fflhnv41yl9bm263hnbpxc8x6xqwifplq23";
-       revision = "9";
-       editedCabalFile = "0n287hg4lmn139dwji5xbry369a4ci0qh1birxkzzrsvyv0aq0nz";
+       version = "3.4.1.5";
+       sha256 = "0saa2r94l0x52dlj9402csah96akp5wlc0xaah9p2pb8fv3yvs11";
        libraryHaskellDepends = [
          base bytestring ghc-prim QuickCheck template-haskell vector
        ];
@@ -231645,10 +234268,8 @@ self: {
     ({ mkDerivation, base, repa, vector }:
      mkDerivation {
        pname = "repa-algorithms";
-       version = "3.4.1.3";
-       sha256 = "1bhg1vr85j9mqm9lg1577dvlgzdbkh9f48h0ll6h03jfw7knyn6y";
-       revision = "1";
-       editedCabalFile = "0lvb1sn95qca9m1b8cy0a2j9gjzqm8g5v68ykglffjskv78d0jfm";
+       version = "3.4.1.4";
+       sha256 = "0k5xmr46vnai095bsa0nsi7imzwnsmll2y4hqbsajlizcr6ilwmq";
        libraryHaskellDepends = [ base repa vector ];
        description = "Algorithms using the Repa array library";
        license = lib.licenses.bsd3;
@@ -232222,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
@@ -232232,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
@@ -232325,8 +234946,8 @@ self: {
      }:
      mkDerivation {
        pname = "reqcatcher";
-       version = "0.2.2.0";
-       sha256 = "0wiazimb8vpsdxrh012hczcxfapxyggq3p54f6lvcljmggh2ncdw";
+       version = "0.2.2.2";
+       sha256 = "12p2mb215n7f0smczr5cfxkd89blchyyp5dsl6yzfij1ykf0yr9x";
        libraryHaskellDepends = [ base http-types network text wai warp ];
        testHaskellDepends = [
          base http-client http-types HUnit lens tasty tasty-hunit wai wreq
@@ -232416,6 +235037,8 @@ self: {
        pname = "rere";
        version = "0.2";
        sha256 = "0s89flhcmwppypxz909ifmzq7vlwy35yjrbw0gkgm4ikbw6l1ylr";
+       revision = "1";
+       editedCabalFile = "1mpabhclfkn4a1b7r4vwf6n98xwrzivw8nd0g5jbplbsw5lwxv1j";
        libraryHaskellDepends = [
          base containers fin parsec QuickCheck transformers vec
        ];
@@ -232442,12 +235065,12 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "rerebase_1_14" = callPackage
+  "rerebase_1_15_0_3" = callPackage
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.14";
-       sha256 = "09d34kf28q5p3xq87yak4lkzijfhfla3dgph98iv6ym11wagdwkx";
+       version = "1.15.0.3";
+       sha256 = "0jxlssdxgh5ldgkdpmhpk8vy5fxmq95171b3jl57r9m2f7zqrcd2";
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = lib.licenses.mit;
@@ -232615,8 +235238,8 @@ self: {
        pname = "resolv";
        version = "0.1.2.0";
        sha256 = "0wa6wsh6i52q4ah2z0hgzlks325kigch4yniz0y15nw4skxbm8l1";
-       revision = "3";
-       editedCabalFile = "0af5dsdyn04i76d012xhhfkkml10bqzl6q2yivkhf8rlvh1fiii5";
+       revision = "4";
+       editedCabalFile = "1d3dsbvrwynnbdj32fswiwh90h28p31h6fsfpq5zh85rd29yp210";
        libraryHaskellDepends = [
          base base16-bytestring binary bytestring containers
        ];
@@ -232790,6 +235413,8 @@ self: {
        pname = "resourcet";
        version = "1.2.4.3";
        sha256 = "0zrvnikw1a0r2j59k12fxikyrg0ki5a7xhqhjgfl9h6dqpz54h85";
+       revision = "1";
+       editedCabalFile = "0jyk62f533papdf5ipp7nj20aw54ay7s824x1pybfii5lijcbd5d";
        libraryHaskellDepends = [
          base containers exceptions mtl primitive transformers unliftio-core
        ];
@@ -232963,22 +235588,17 @@ self: {
      }:
      mkDerivation {
        pname = "rest-rewrite";
-       version = "0.1.1";
-       sha256 = "0absln2c3ia5bj473wr6lahms9x9xj6szk9lgpb9382px038wxrn";
-       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;
@@ -233292,7 +235912,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "retrie_1_2_0_0" = callPackage
+  "retrie_1_2_0_1" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
      , data-default, deepseq, directory, exceptions, filepath, ghc
      , ghc-exactprint, ghc-paths, haskell-src-exts, HUnit, list-t, mtl
@@ -233301,8 +235921,8 @@ self: {
      }:
      mkDerivation {
        pname = "retrie";
-       version = "1.2.0.0";
-       sha256 = "0l4n1yhq388x774w2qyzsi4q1xsj121ccd60q21b5fz0hdzrxy26";
+       version = "1.2.0.1";
+       sha256 = "1n3g9wr45xz1q2mhlj1r2709rqakczrvd7x6vxh7iapz43f69c6x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -233327,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\"";
@@ -233352,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
@@ -233384,15 +236004,15 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "retry_0_9_0_0" = callPackage
+  "retry_0_9_1_0" = callPackage
     ({ mkDerivation, base, exceptions, ghc-prim, hedgehog, HUnit, mtl
      , random, stm, tasty, tasty-hedgehog, tasty-hunit, time
      , transformers
      }:
      mkDerivation {
        pname = "retry";
-       version = "0.9.0.0";
-       sha256 = "0n304r6vyx238558z62kz7nii8y58h2z4iyx54gbkxmz9dsck4ff";
+       version = "0.9.1.0";
+       sha256 = "1scrkd6bd061h8s4d7sjs21m2ydz2mxiw95gs72rliikh2k3cj7v";
        libraryHaskellDepends = [
          base exceptions ghc-prim random transformers
        ];
@@ -233486,6 +236106,17 @@ self: {
        broken = true;
      }) {};
 
+  "reverse-list" = callPackage
+    ({ mkDerivation, base, containers, contiguous, deepseq }:
+     mkDerivation {
+       pname = "reverse-list";
+       version = "0.2.0";
+       sha256 = "0r4bjrc1vksx3j61qb0g1a7nngkzvsybr0v0admls3ffqf3y4zgh";
+       libraryHaskellDepends = [ base containers contiguous deepseq ];
+       description = "reversed lists/snoc lists";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "reversi" = callPackage
     ({ mkDerivation, array, base, process }:
      mkDerivation {
@@ -234289,6 +236920,7 @@ self: {
        description = "mutable ring buffers with atomic updates in GHC Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rings" = callPackage
@@ -234503,8 +237135,8 @@ self: {
      }:
      mkDerivation {
        pname = "risc386";
-       version = "0.0.20210812";
-       sha256 = "0fxwmah8f4jhs480hrvbvchkmxgfmnsswg0d5zlbdgsiqfln42qv";
+       version = "0.0.20220128";
+       sha256 = "01bmmz6l5fq825ni1dk5d38x0p8k5fw2ingc3gzj8yzjmhfwp318";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ array base containers mtl pretty ];
@@ -234893,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
        ];
@@ -235013,18 +237645,18 @@ self: {
 
   "rocksdb-haskell-jprupp" = callPackage
     ({ mkDerivation, base, bytestring, data-default, directory, hspec
-     , QuickCheck, rocksdb, string-conversions, unliftio
+     , QuickCheck, resourcet, rocksdb, string-conversions, unliftio
      }:
      mkDerivation {
        pname = "rocksdb-haskell-jprupp";
-       version = "2.1.3";
-       sha256 = "01hn77v6qjj6dx2g3ddff5q1b3wj0yqplhmxs1c8hndbn5alk0pv";
+       version = "2.1.4";
+       sha256 = "0c647kahnglwf881hd3ksan1p7j4m65s84wyw8i4jvikm4jzgqsh";
        libraryHaskellDepends = [
-         base bytestring data-default directory unliftio
+         base bytestring data-default directory resourcet unliftio
        ];
        librarySystemDepends = [ rocksdb ];
        testHaskellDepends = [
-         base bytestring data-default directory hspec QuickCheck
+         base bytestring data-default directory hspec QuickCheck resourcet
          string-conversions unliftio
        ];
        description = "Haskell bindings for RocksDB";
@@ -235460,6 +238092,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "rope-utf16-splay_0_4_0_0" = callPackage
+    ({ mkDerivation, base, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "rope-utf16-splay";
+       version = "0.4.0.0";
+       sha256 = "1vjz5xdmy5kimh8h11shsc9ki6348ccmpy5ps8nzjarsmk6g32f1";
+       libraryHaskellDepends = [ base text ];
+       testHaskellDepends = [
+         base QuickCheck tasty tasty-hunit tasty-quickcheck text
+       ];
+       description = "Ropes optimised for updating using UTF-16 code units and row/column pairs";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "rosa" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, lens
      , namecoin-update, optparse-applicative, text, unordered-containers
@@ -235742,13 +238391,15 @@ self: {
 
   "rounded-hw" = callPackage
     ({ mkDerivation, array, base, Cabal, deepseq, doctest, fp-ieee
-     , gauge, hspec, long-double, primitive, QuickCheck, random, tagged
-     , vector
+     , hspec, long-double, primitive, QuickCheck, random, tagged
+     , tasty-bench, vector
      }:
      mkDerivation {
        pname = "rounded-hw";
-       version = "0.2.0";
-       sha256 = "01393ps7i83ncxlj9yi6jhngr26py6sdafq67mbhigrclyax6ysi";
+       version = "0.3.0";
+       sha256 = "15y6yz101mnfkc2ff4w6wnqc5r6ykipd7jh0pbg9rjm67jmyr4b5";
+       revision = "1";
+       editedCabalFile = "139hr8a1qyfkdcpxn9pwmi9c7v4q3g86bjrx654nc0q7v87q4afh";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          array base deepseq fp-ieee long-double primitive tagged vector
@@ -235758,7 +238409,7 @@ self: {
          QuickCheck random vector
        ];
        benchmarkHaskellDepends = [
-         array base deepseq fp-ieee gauge primitive vector
+         array base deepseq fp-ieee primitive tasty-bench vector
        ];
        description = "Directed rounding for built-in floating types";
        license = lib.licenses.bsd3;
@@ -237137,6 +239788,8 @@ self: {
        pname = "safe-json";
        version = "1.1.2.0";
        sha256 = "1908s40l6chnxlxnqmn95p8hvr5jbjm8hm5dnjbq7czxpw22x7s2";
+       revision = "1";
+       editedCabalFile = "0276r8ic9yl805nx681ws0x5m1kdl162dc0rshqa24z33i4a09mx";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist hashable scientific tasty
          tasty-hunit tasty-quickcheck text time unordered-containers
@@ -237789,6 +240442,19 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "salve_2_0_0_0" = callPackage
+    ({ mkDerivation, base, HUnit }:
+     mkDerivation {
+       pname = "salve";
+       version = "2.0.0.0";
+       sha256 = "0ddja5py6wjxvlc9340v0z9qh7b59vfp81hz882nfq0c0d2bdna5";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base HUnit ];
+       description = "Semantic version numbers and constraints";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "salvia" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, fclabels
      , MaybeT-transformers, monads-fd, network, old-locale, process
@@ -238584,10 +241250,6 @@ self: {
        testSystemDepends = [ z3 ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
-         "x86_64-linux"
-       ];
        hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) z3;};
 
@@ -238622,10 +241284,6 @@ self: {
        ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
-         "x86_64-linux"
-       ];
      }) {inherit (pkgs) z3;};
 
   "sbv_8_17" = callPackage
@@ -238659,10 +241317,6 @@ self: {
        ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
-         "x86_64-linux"
-       ];
        hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) z3;};
 
@@ -238804,6 +241458,29 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "scale" = callPackage
+    ({ mkDerivation, base, bitvec, bytestring, cereal, data-default
+     , generics-sop, hspec, hspec-contrib, hspec-discover
+     , hspec-expectations, memory, template-haskell, text, vector
+     }:
+     mkDerivation {
+       pname = "scale";
+       version = "1.0.0.0";
+       sha256 = "1c1khgy83402lqfqdvq5amf9pgn5a6m4m5zmqkkw6iw0wbjw7p3a";
+       libraryHaskellDepends = [
+         base bitvec bytestring cereal data-default generics-sop memory
+         template-haskell text vector
+       ];
+       testHaskellDepends = [
+         base bitvec bytestring cereal data-default generics-sop hspec
+         hspec-contrib hspec-discover hspec-expectations memory
+         template-haskell text vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "SCALE v2.0 codec for Haskell Web3 library.";
+       license = lib.licenses.asl20;
+     }) {};
+
   "scaleimage" = callPackage
     ({ mkDerivation, base, filepath, gd }:
      mkDerivation {
@@ -239202,6 +241879,29 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "scheduling" = callPackage
+    ({ mkDerivation, aeson, base, bimap, bytestring, containers, gogol
+     , gogol-sheets, lens, mime-mail, mtl, optparse-generic, random, sbv
+     , servant, text, time
+     }:
+     mkDerivation {
+       pname = "scheduling";
+       version = "0.1.0.0";
+       sha256 = "14kl43l624b9wl7igj52vxjgw42mdkx1n7f2i6ng638y2wfc0xzl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bimap bytestring containers gogol gogol-sheets lens
+         mime-mail mtl optparse-generic random sbv servant text time
+       ];
+       executableHaskellDepends = [
+         aeson base bimap bytestring containers gogol gogol-sheets lens
+         mime-mail mtl optparse-generic random sbv servant text time
+       ];
+       description = "An interview scheduler using constraint satisfaction and Google Sheets";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "schedyield" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -239499,8 +242199,8 @@ self: {
        pname = "scientific";
        version = "0.3.7.0";
        sha256 = "1aa3ngb71l2sh1x2829napnr1w285q0sn2f7z2wvi3ynng2238d3";
-       revision = "1";
-       editedCabalFile = "0wydsjgrl28wx3rv9iq6vcva50r9s8ss8g2hkp6bkrr0nggv9vfp";
+       revision = "2";
+       editedCabalFile = "01vmr4pz1j0xjcln61m7gng6bzhgri56h05x7sl6xbxjps15likn";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq hashable integer-gmp
          integer-logarithms primitive template-haskell text
@@ -239537,7 +242237,6 @@ self: {
        ];
        description = "Scientific notation intended for tokenization";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scion" = callPackage
@@ -240368,6 +243067,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) SDL2;};
 
+  "sdl2_2_5_3_1" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, exceptions, linear
+     , SDL2, StateVar, text, transformers, vector, weigh
+     }:
+     mkDerivation {
+       pname = "sdl2";
+       version = "2.5.3.1";
+       sha256 = "1lnscy9vc3h9fhh65iq60kma79q4pkb00r8lqx8i3ax2v53yl626";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring exceptions linear StateVar text transformers vector
+       ];
+       librarySystemDepends = [ SDL2 ];
+       libraryPkgconfigDepends = [ SDL2 ];
+       testHaskellDepends = [ base deepseq linear vector weigh ];
+       description = "Both high- and low-level bindings to the SDL library (version 2.0.6+).";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) SDL2;};
+
   "sdl2-cairo" = callPackage
     ({ mkDerivation, base, cairo, linear, sdl2 }:
      mkDerivation {
@@ -240637,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";
@@ -240909,13 +243632,14 @@ self: {
      }) {};
 
   "search-algorithms" = callPackage
-    ({ mkDerivation, base, containers, doctest, hspec }:
+    ({ mkDerivation, base, containers, criterion, doctest, hspec }:
      mkDerivation {
        pname = "search-algorithms";
-       version = "0.3.1";
-       sha256 = "1803pmk78l29nlgh68y7hndhlmlsabddf78hsva1bq87yhzz1rlv";
+       version = "0.3.2";
+       sha256 = "0lkpsr4vwf77slgwxc38xmhkwwxbh360gjqhblysrph7rl9w7sh7";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest hspec ];
+       benchmarkHaskellDepends = [ base criterion ];
        description = "Common graph search algorithms";
        license = lib.licenses.bsd3;
      }) {};
@@ -241680,6 +244404,8 @@ self: {
        pname = "semialign-optics";
        version = "1.2";
        sha256 = "04vh689mmnb5q77v6ifhg7xf7m2qh5x4i4804rm4biw78130xqr1";
+       revision = "1";
+       editedCabalFile = "1cvl6lprra947pdiy7x54qczsfq0383ncsxp4hvlkk9kif7w0pvm";
        libraryHaskellDepends = [ base optics-core semialign ];
        doHaddock = false;
        description = "SemialignWithIndex, i.e. izipWith and ialignWith";
@@ -241720,10 +244446,8 @@ self: {
      }:
      mkDerivation {
        pname = "semigroupoids";
-       version = "5.3.6";
-       sha256 = "0glhqc9x8i5z3bdg23xvl2lfns95msid3h3x0jksna7i6c8j869n";
-       revision = "2";
-       editedCabalFile = "0gnkd1kf1s412p7g4c1l1d1yykhl5hlvdnnn1c85c0h8pi19y4an";
+       version = "5.3.7";
+       sha256 = "169pjrm7lxjxrqj5q1iyl288bx5nj8n0pf2ri1cclxccqnvcsibd";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad containers contravariant
          distributive hashable tagged template-haskell transformers
@@ -241932,8 +244656,8 @@ self: {
     ({ mkDerivation, base, bytestring, network }:
      mkDerivation {
        pname = "sendfile";
-       version = "0.7.11.1";
-       sha256 = "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0";
+       version = "0.7.11.4";
+       sha256 = "1i2i0w18l2ysambyylv93jzy0adiiqwwnhg7zagqb7p2srybxc3k";
        libraryHaskellDepends = [ base bytestring network ];
        description = "A portable sendfile library";
        license = lib.licenses.bsd3;
@@ -242522,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";
@@ -242648,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
@@ -242698,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;
@@ -242725,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
        ];
@@ -242781,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
@@ -242845,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
@@ -242873,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
        ];
@@ -243020,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
        ];
@@ -243080,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";
@@ -243207,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
@@ -243228,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
@@ -243280,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
        ];
@@ -243403,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
@@ -243600,8 +246436,8 @@ self: {
     ({ mkDerivation, base, bytestring, http-media, servant, text }:
      mkDerivation {
        pname = "servant-fiat-content";
-       version = "1.0.0";
-       sha256 = "1108npqddwsbplxzf65hq0w3aqnyfrk8lcdffkszwx3g8s8xblg7";
+       version = "1.0.1";
+       sha256 = "1vkmwllgy9s8kd72yg8ipvqyp1w2fi3mbf98ylwjzjsvm9vbgysx";
        libraryHaskellDepends = [
          base bytestring http-media servant text
        ];
@@ -243630,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
        ];
@@ -243781,6 +246619,21 @@ self: {
        broken = true;
      }) {};
 
+  "servant-htmx" = callPackage
+    ({ mkDerivation, base, servant-server, text }:
+     mkDerivation {
+       pname = "servant-htmx";
+       version = "0.1.0.1";
+       sha256 = "1plqqaa3vhmwg37bai6xpi415fd772fx6rf0dr919mc79ms0zcfx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base servant-server text ];
+       executableHaskellDepends = [ base servant-server text ];
+       testHaskellDepends = [ base servant-server text ];
+       description = "A library for using htmx with servant";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "servant-http-streams" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring
      , case-insensitive, containers, deepseq, entropy, exceptions, hspec
@@ -243816,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
@@ -243886,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 = [
@@ -243978,8 +246866,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-lucid";
-       version = "0.9.0.3";
-       sha256 = "10g7radhkh50hpwf97syh3kpdacw096bnawni0hwwbi6rfgz38nm";
+       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";
@@ -243995,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
@@ -244083,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
@@ -244102,6 +246992,8 @@ self: {
        pname = "servant-multipart-api";
        version = "0.12.1";
        sha256 = "1gifa9g7ggs0plzffrd9a8j24dmqvgbkkdkfzyy7mpmwrjqw7mcj";
+       revision = "1";
+       editedCabalFile = "0nwk49xmzwxxlgcsqa62nwvyfqmxb0ab1ncnn96gpqyxkqbv2gxd";
        libraryHaskellDepends = [
          base bytestring servant text transformers
        ];
@@ -244119,6 +247011,8 @@ self: {
        pname = "servant-multipart-client";
        version = "0.12.1";
        sha256 = "07haaf9nq96lfv2dhqf4319vl321f53v0mypbbg3swzb6rrfkw9h";
+       revision = "1";
+       editedCabalFile = "1mzh1a37hmq4zl0annnk3xabgli2jndkvx80amhsn97111fiz7lz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -244201,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
@@ -244282,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
        ];
@@ -244667,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;
      }) {};
 
@@ -244720,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
@@ -244984,6 +247915,7 @@ self: {
        executableHaskellDepends = [ base purescript-bridge ];
        description = "When REST is not enough ...";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-swagger" = callPackage
@@ -244998,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
@@ -245037,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
@@ -245056,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
@@ -245074,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
@@ -245092,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
@@ -245156,23 +248090,23 @@ self: {
      }) {};
 
   "servant-util" = callPackage
-    ({ mkDerivation, aeson, base, containers, data-default, fmt, hspec
-     , hspec-discover, hspec-expectations, http-client, http-types
-     , insert-ordered-containers, lens, megaparsec, mtl, pretty-terminal
-     , QuickCheck, reflection, regex-posix, safe-exceptions, servant
-     , servant-client, servant-client-core, servant-server
-     , servant-swagger, servant-swagger-ui, servant-swagger-ui-core
-     , swagger2, text, text-format, time, universum, wai, wai-extra
-     , warp
+    ({ mkDerivation, aeson, base, constraints, containers, data-default
+     , fmt, hspec, hspec-discover, hspec-expectations, http-client
+     , http-types, insert-ordered-containers, lens, megaparsec, mtl
+     , pretty-terminal, QuickCheck, reflection, regex-posix
+     , safe-exceptions, servant, servant-client, servant-client-core
+     , servant-server, servant-swagger, servant-swagger-ui
+     , servant-swagger-ui-core, swagger2, text, text-format, time
+     , universum, wai, wai-extra, warp
      }:
      mkDerivation {
        pname = "servant-util";
-       version = "0.1.0.2";
-       sha256 = "1l0pwwz8y4qwnpn30w3mla3j3dmbyv99kilbb8z283iwpnbgrn2w";
+       version = "0.2";
+       sha256 = "0c4zfch99rsjfljy990q2f7icxcn0h16v37j6h8fbwbg5cwdn702";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers data-default fmt http-types
+         aeson base constraints containers data-default fmt http-types
          insert-ordered-containers lens megaparsec mtl pretty-terminal
          QuickCheck reflection regex-posix safe-exceptions servant
          servant-client servant-client-core servant-server servant-swagger
@@ -245180,7 +248114,7 @@ self: {
          text-format time universum wai
        ];
        executableHaskellDepends = [
-         aeson base containers data-default fmt http-types
+         aeson base constraints containers data-default fmt http-types
          insert-ordered-containers lens megaparsec mtl pretty-terminal
          QuickCheck reflection regex-posix safe-exceptions servant
          servant-client servant-client-core servant-server servant-swagger
@@ -245188,13 +248122,13 @@ self: {
          text-format time universum wai wai-extra warp
        ];
        testHaskellDepends = [
-         aeson base containers data-default fmt hspec hspec-expectations
-         http-client http-types insert-ordered-containers lens megaparsec
-         mtl pretty-terminal QuickCheck reflection regex-posix
-         safe-exceptions servant servant-client servant-client-core
-         servant-server servant-swagger servant-swagger-ui
-         servant-swagger-ui-core swagger2 text text-format time universum
-         wai warp
+         aeson base constraints containers data-default fmt hspec
+         hspec-expectations http-client http-types insert-ordered-containers
+         lens megaparsec mtl pretty-terminal QuickCheck reflection
+         regex-posix safe-exceptions servant servant-client
+         servant-client-core servant-server servant-swagger
+         servant-swagger-ui servant-swagger-ui-core swagger2 text
+         text-format time universum wai warp
        ];
        testToolDepends = [ hspec-discover ];
        description = "Servant servers utilities";
@@ -245209,8 +248143,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-util-beam-pg";
-       version = "0.1.0.2";
-       sha256 = "048ybnlkhp7dabki4r3k6q147cdm3w3l14c57rrf1n1vf4rwkgn2";
+       version = "0.2";
+       sha256 = "0g3vv4hyylnzflhx70dcr3k023xf04a8c07v2jf1v4bf6c21f8dh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -245229,6 +248163,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Implementation of servant-util primitives for beam-postgres";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-validate" = callPackage
@@ -245820,6 +248756,8 @@ self: {
        pname = "set-monad";
        version = "0.3.0.0";
        sha256 = "0iv1mphhhqla4bbr2lhy6zj8bp963jlcxqkib2nnl7vyw1ya1cd1";
+       revision = "1";
+       editedCabalFile = "1wlg93dx439kvwd5ndsgcyb6v4yqp3w3ql3md62far7cvajrfylc";
        libraryHaskellDepends = [ base containers deepseq ];
        description = "Set monad";
        license = lib.licenses.bsd3;
@@ -246143,8 +249081,8 @@ self: {
      }:
      mkDerivation {
        pname = "sexpresso";
-       version = "1.2.0.0";
-       sha256 = "1q1b1kzc4578drz92r666gl2l02pn4zdbbbnjcwwkklccslb3zcd";
+       version = "1.2.1.0";
+       sha256 = "18di6krrrclilp74fazwlsfcq3jym9mmya8q0x2vm2cdgbpjm8mi";
        libraryHaskellDepends = [
          base bifunctors containers megaparsec recursion-schemes text
        ];
@@ -246502,15 +249440,16 @@ self: {
   "shake-bench" = callPackage
     ({ mkDerivation, aeson, base, Chart, Chart-diagrams
      , diagrams-contrib, diagrams-core, diagrams-lib, diagrams-svg
-     , directory, extra, filepath, shake, text
+     , directory, extra, filepath, lens, lens-aeson, shake, text
      }:
      mkDerivation {
        pname = "shake-bench";
-       version = "0.1.0.2";
-       sha256 = "14p9887qa2i34pbwfg2v2zzvdsbcpzf1d0mr0y2rzjy703356xsm";
+       version = "0.1.0.3";
+       sha256 = "04pngr9a1g7dr7kb0xp9k2yrbg6vqk3lfpksz6bbyydbmypix3ay";
        libraryHaskellDepends = [
          aeson base Chart Chart-diagrams diagrams-contrib diagrams-core
-         diagrams-lib diagrams-svg directory extra filepath shake text
+         diagrams-lib diagrams-svg directory extra filepath lens lens-aeson
+         shake text
        ];
        description = "Build rules for historical benchmarking";
        license = lib.licenses.asl20;
@@ -246907,10 +249846,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.25";
-       sha256 = "1fjv3yg425d87d3dih0l3ff95g5a5yp9w85m58sjara6xqivj9s4";
-       revision = "1";
-       editedCabalFile = "0na31a7h3sq8ndrx79waywsfj5667pm0masy10gxzhzwmf6i3s1l";
+       version = "2.0.25.1";
+       sha256 = "183dvpwvlivrkgdijga3gbywqlgg3qlbsjlc2q6cv22x8mnxmjgl";
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers directory
          exceptions ghc-prim parsec process scientific template-haskell text
@@ -247460,8 +250397,8 @@ self: {
        pname = "shelly";
        version = "1.9.0";
        sha256 = "1kma77gixhyciimh19p64h1ndbcrs9qhk8fgyv71iqh5q57zvday";
-       revision = "2";
-       editedCabalFile = "0d08dlfgwi2m3wvcmcrcsn2g8lpqzkmxwxw74sysh94qb1gasr0y";
+       revision = "3";
+       editedCabalFile = "0jgd4jx16sm055riacqfvccnm3r5mz33ynxf41ckvkx42wxd98hp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -247479,6 +250416,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "shelly_1_10_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , enclosed-exceptions, exceptions, filepath, hspec, hspec-contrib
+     , HUnit, lifted-async, lifted-base, monad-control, mtl, process
+     , text, time, transformers, transformers-base, unix-compat
+     }:
+     mkDerivation {
+       pname = "shelly";
+       version = "1.10.0";
+       sha256 = "0hgzh0rrhipir8378civ5mwvkvcsd063jm2pyx8dqngdynph0h65";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bytestring containers directory enclosed-exceptions
+         exceptions filepath lifted-async lifted-base monad-control mtl
+         process text time transformers transformers-base unix-compat
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath hspec hspec-contrib HUnit
+         lifted-async mtl text transformers unix-compat
+       ];
+       description = "shell-like (systems) programming in Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "shelly-extra" = callPackage
     ({ mkDerivation, async, base, hspec, HUnit, mtl, SafeSemaphore
      , shelly, text
@@ -247595,6 +250558,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "shikensu_0_4_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath, flow
+     , Glob, tasty, tasty-hunit, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "shikensu";
+       version = "0.4.1";
+       sha256 = "0qf0rc0sxhj6x03g9mdxhnk8dk8n0jpi6061ky0cqhvivn4fd9hy";
+       libraryHaskellDepends = [
+         aeson base bytestring directory filepath flow Glob text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath flow Glob tasty
+         tasty-hunit text unordered-containers
+       ];
+       description = "Run a sequence of functions on in-memory representations of files";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "shimmer" = callPackage
     ({ mkDerivation, base, bytestring, containers, filepath, haskeline
      , text
@@ -249030,20 +252014,20 @@ self: {
      }) {};
 
   "simple-parser" = callPackage
-    ({ mkDerivation, base, bytestring, containers, errata, list-t
+    ({ mkDerivation, base, bytestring, containers, errata, exceptions
      , mmorph, mtl, nonempty-containers, scientific, tasty, tasty-hunit
      , tasty-th, text, text-builder
      }:
      mkDerivation {
        pname = "simple-parser";
-       version = "0.8.2";
-       sha256 = "15nxh0byl0893gzsakb80asam8dr4lqxqnlj372cdjgqvrzcxrap";
+       version = "0.9.1";
+       sha256 = "1xqx7rxb49mdrzk5waha1n5jzff52l22hvjs4yal7ll62i40k6ym";
        libraryHaskellDepends = [
-         base bytestring containers errata list-t mmorph mtl
+         base bytestring containers errata exceptions mmorph mtl
          nonempty-containers scientific text text-builder
        ];
        testHaskellDepends = [
-         base bytestring containers errata list-t mmorph mtl
+         base bytestring containers errata exceptions mmorph mtl
          nonempty-containers scientific tasty tasty-hunit tasty-th text
          text-builder
        ];
@@ -249595,48 +252579,50 @@ self: {
      }) {};
 
   "simplexmq" = callPackage
-    ({ mkDerivation, ansi-terminal, asn1-encoding, asn1-types, async
-     , attoparsec, base, base64-bytestring, bytestring, composition
-     , constraints, containers, cryptonite, cryptostore, direct-sqlite
-     , directory, file-embed, filepath, generic-random, hspec
-     , hspec-core, http-types, HUnit, ini, iso8601-time, memory, mtl
-     , network, network-transport, optparse-applicative, QuickCheck
-     , random, simple-logger, sqlite-simple, stm, template-haskell, text
-     , time, timeit, transformers, unliftio, unliftio-core, websockets
-     , x509
+    ({ mkDerivation, aeson, ansi-terminal, asn1-encoding, asn1-types
+     , async, attoparsec, base, base64-bytestring, bytestring
+     , composition, constraints, containers, cryptonite, cryptostore
+     , data-default, direct-sqlite, directory, filepath, generic-random
+     , hspec, hspec-core, http-types, HUnit, ini, iso8601-time, memory
+     , mtl, network, network-transport, optparse-applicative, process
+     , QuickCheck, random, simple-logger, sqlite-simple, stm
+     , template-haskell, text, time, timeit, tls, transformers, unliftio
+     , unliftio-core, websockets, x509, x509-store, x509-validation
      }:
      mkDerivation {
        pname = "simplexmq";
-       version = "0.5.0";
-       sha256 = "0wmhqmrxzgb4zvxmcsv49lzmvgqrqljivzcjfp4s04j87968x79j";
+       version = "1.0.2";
+       sha256 = "142jpsy8myjffx4c1iw21iv210wgnyikmr66bih4gm3xgbqniz9q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-terminal asn1-encoding asn1-types async attoparsec base
+         aeson ansi-terminal asn1-encoding asn1-types async attoparsec base
          base64-bytestring bytestring composition constraints containers
-         cryptonite direct-sqlite directory file-embed filepath
-         generic-random http-types iso8601-time memory mtl network
+         cryptonite cryptostore data-default direct-sqlite directory
+         filepath generic-random http-types iso8601-time memory mtl network
          network-transport QuickCheck random simple-logger sqlite-simple stm
-         template-haskell text time transformers unliftio unliftio-core
-         websockets x509
+         template-haskell text time tls transformers unliftio unliftio-core
+         websockets x509 x509-store x509-validation
        ];
        executableHaskellDepends = [
-         ansi-terminal asn1-encoding asn1-types async attoparsec base
+         aeson ansi-terminal asn1-encoding asn1-types async attoparsec base
          base64-bytestring bytestring composition constraints containers
-         cryptonite cryptostore direct-sqlite directory file-embed filepath
-         generic-random http-types ini iso8601-time memory mtl network
-         network-transport optparse-applicative QuickCheck random
-         simple-logger sqlite-simple stm template-haskell text time
-         transformers unliftio unliftio-core websockets x509
+         cryptonite cryptostore data-default direct-sqlite directory
+         filepath generic-random http-types ini iso8601-time memory mtl
+         network network-transport optparse-applicative process QuickCheck
+         random simple-logger sqlite-simple stm template-haskell text time
+         tls transformers unliftio unliftio-core websockets x509 x509-store
+         x509-validation
        ];
        testHaskellDepends = [
-         ansi-terminal asn1-encoding asn1-types async attoparsec base
+         aeson ansi-terminal asn1-encoding asn1-types async attoparsec base
          base64-bytestring bytestring composition constraints containers
-         cryptonite direct-sqlite directory file-embed filepath
-         generic-random hspec hspec-core http-types HUnit iso8601-time
-         memory mtl network network-transport QuickCheck random
+         cryptonite cryptostore data-default direct-sqlite directory
+         filepath generic-random hspec hspec-core http-types HUnit
+         iso8601-time memory mtl network network-transport QuickCheck random
          simple-logger sqlite-simple stm template-haskell text time timeit
-         transformers unliftio unliftio-core websockets x509
+         tls transformers unliftio unliftio-core websockets x509 x509-store
+         x509-validation
        ];
        description = "SimpleXMQ message broker";
        license = lib.licenses.agpl3Only;
@@ -249661,14 +252647,14 @@ self: {
 
   "simpoole" = callPackage
     ({ mkDerivation, base, concurrency, containers, exceptions, hspec
-     , time
+     , mtl, time
      }:
      mkDerivation {
        pname = "simpoole";
-       version = "0.0.1";
-       sha256 = "0wzmr1gj01vl37hwnwy03mq3ywhqxn0y25y2f0q1yky698yq87lw";
+       version = "0.4.0";
+       sha256 = "12gvmgjngbl8inf0w5nfngbpk3l2shsc4gi3hxk9m5l85ngz2y16";
        libraryHaskellDepends = [
-         base concurrency containers exceptions time
+         base concurrency containers exceptions mtl time
        ];
        testHaskellDepends = [ base concurrency hspec ];
        description = "Simple pool";
@@ -250558,14 +253544,14 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
-  "skylighting_0_12_1" = callPackage
+  "skylighting_0_12_2" = callPackage
     ({ mkDerivation, base, binary, blaze-html, bytestring, containers
      , pretty-show, skylighting-core, text
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.12.1";
-       sha256 = "0aaxw2b6lwdnabm5p7nj7xv39lscypvzyivnsjrxham5qvgsvnn8";
+       version = "0.12.2";
+       sha256 = "11qzlbzw66ryp1n3fkkhh4g0g29zajs3kf7rv3byjvy9bny5qfi6";
        configureFlags = [ "-fexecutable" ];
        isLibrary = true;
        isExecutable = true;
@@ -250611,7 +253597,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "skylighting-core_0_12_1" = callPackage
+  "skylighting-core_0_12_2" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
      , case-insensitive, colour, containers, criterion, Diff, directory
@@ -250621,8 +253607,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.12.1";
-       sha256 = "0lyiax1smgv729109h3yhbpm0l6r7rwrfmp2df2ypmh3k6s88rhf";
+       version = "0.12.2";
+       sha256 = "0zgwzk69ww8w88gaga9fnk2inf6rsqhy5hmj0i29xhd6pb78v92v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -250840,8 +253826,8 @@ self: {
      }:
      mkDerivation {
        pname = "slack-web";
-       version = "0.3.0.1";
-       sha256 = "0dx0g6syvp9j5nslv7zdrawf7ldabgdpcrxlwmcijslfr29dk12h";
+       version = "0.4.0.0";
+       sha256 = "1l6vls3c941gfvmx11l7xqj1vnngxk5las3pjdw45c93cqfzin74";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -251702,7 +254688,6 @@ self: {
        libraryHaskellDepends = [ base bytesmith primitive ];
        description = "Parse arrays of tokens";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "smith-cli" = callPackage
@@ -254273,10 +257258,8 @@ self: {
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "sop-core";
-       version = "0.5.0.1";
-       sha256 = "1c4xk4bw1ij4gpgy35iv08bhcxhv1siy55qnvp2xd6wcc3qnghys";
-       revision = "1";
-       editedCabalFile = "1d4sagrlhmvai3f4hvb9rn8aqsjbvi00z0mzv1gds9nblshk83xd";
+       version = "0.5.0.2";
+       sha256 = "0rbj56icbaqlcxx5xwvbx4n4vmyv6cfcv7s45n1fv3drahigvgw7";
        libraryHaskellDepends = [ base deepseq ];
        description = "True Sums of Products";
        license = lib.licenses.bsd3;
@@ -254459,6 +257442,8 @@ self: {
        pname = "sound-collage";
        version = "0.2.1";
        sha256 = "09g63b3k0l30z3lxmcz0zpggqqhnr7m01wh2vpm5v561rbnl8rsi";
+       revision = "1";
+       editedCabalFile = "07zs924gils8nsb5b8q6lmh4g6iln6dkj3qic8p8cpwkrazjfwsx";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -254549,8 +257534,8 @@ self: {
      }:
      mkDerivation {
        pname = "sourcemap";
-       version = "0.1.6.1";
-       sha256 = "0kz8xpcd5syg5s4qa2qq8ylaxjhabj127w42may46vv6i0q1bf8a";
+       version = "0.1.7";
+       sha256 = "09i340mhzlfi5ayy9cb0378glnygdmpdhhsgikm3zrvwf2wmwr2h";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring process text unordered-containers
          utf8-string
@@ -254734,6 +257719,49 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "spade" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring
+     , constraints, containers, Decimal, exceptions, file-embed
+     , hedgehog, hex-text, hspec, hspec-discover, hspec-hedgehog
+     , monad-loops, mtl, neat-interpolation, ordered-containers, process
+     , random, scientific, sdl2, sdl2-mixer, stm, strip-ansi-escape
+     , template-haskell, terminal, text, time, unordered-containers
+     , vector, WAVE
+     }:
+     mkDerivation {
+       pname = "spade";
+       version = "0.1.0.5";
+       sha256 = "1q0sp33r2w2gm73fr38gc2yrjllsn8lg1mqvqv3xh4sm3axaqw22";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring constraints containers Decimal
+         exceptions file-embed hedgehog hex-text hspec hspec-hedgehog
+         monad-loops mtl ordered-containers process random scientific sdl2
+         sdl2-mixer stm template-haskell terminal text time
+         unordered-containers vector WAVE
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal base bytestring constraints containers Decimal
+         exceptions file-embed hedgehog hex-text hspec hspec-hedgehog
+         monad-loops mtl ordered-containers process random scientific sdl2
+         sdl2-mixer stm template-haskell terminal text time
+         unordered-containers vector WAVE
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal base bytestring constraints containers Decimal
+         exceptions file-embed hedgehog hex-text hspec hspec-discover
+         hspec-hedgehog monad-loops mtl neat-interpolation
+         ordered-containers process random scientific sdl2 sdl2-mixer stm
+         strip-ansi-escape template-haskell terminal text time
+         unordered-containers vector WAVE
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A simple programming and debugging environment";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "spake2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, memory
      , optparse-applicative, process, protolude, QuickCheck, tasty
@@ -255171,8 +258199,8 @@ self: {
        pname = "special-values";
        version = "0.1.0.0";
        sha256 = "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w";
-       revision = "1";
-       editedCabalFile = "10pbx4px4kmg6nwb78bayi26dlzbzvji5zv9fa6f45rk19p2sdlc";
+       revision = "2";
+       editedCabalFile = "1vv5gydjd65jniifl3mnch8bzvpvdahi913gsa3kv5zijwhad699";
        libraryHaskellDepends = [
          base bytestring ieee754 scientific text
        ];
@@ -255226,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
@@ -255564,6 +258615,8 @@ self: {
        pname = "splaytree";
        version = "0.1.5";
        sha256 = "0jilqkgp1mk6sllxhigp1sidnp7amgsfdmxf23r0l69hp0w4dcm7";
+       revision = "1";
+       editedCabalFile = "05a2lwcy83jjq71zfhddg2r3888yqqj8yzwkdf01ir5xlryyr9lw";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base containers QuickCheck test-framework
@@ -256841,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;
@@ -256949,6 +260002,8 @@ self: {
        pname = "stache";
        version = "2.3.0";
        sha256 = "1gfmr9gcq9zm7ljp2nqmc41lpig11d19xsqzazr2mvm5ddsi69cr";
+       revision = "1";
+       editedCabalFile = "0akyrm2zf2aq73fqi07fnkns3waxqciyzawv0nmr8yhkdaqj6plj";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -256982,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;
@@ -257031,6 +260086,8 @@ self: {
        pname = "stack";
        version = "2.7.3";
        sha256 = "0i2v5i6bg90n6i4clcaww8m8702d3y5z8r03xdizdisjhf0zijj7";
+       revision = "2";
+       editedCabalFile = "0i1fgairidy8g8zcf9wim4cg2y2xsvknkyz7dnb1mzy02ls6kqjb";
        configureFlags = [
          "-fdisable-git-info" "-fhide-dependency-versions"
          "-fsupported-build"
@@ -257108,8 +260165,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack-all";
-       version = "0.3.1";
-       sha256 = "0jsz28p1xpzh77r3mhjh98jsz3lnzirfvh9w64rcgxpacdyajwhf";
+       version = "0.4";
+       sha256 = "0m9wiy233lw6bp6gz4h2x8bdi0lwsjl36bzx6544cdp91vllkzj1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -257152,14 +260209,14 @@ self: {
      }:
      mkDerivation {
        pname = "stack-clean-old";
-       version = "0.4.3";
-       sha256 = "1978fc1v7i6g41fa755sb2lpwbkahr76w5f5bm0iqv5hid536a60";
+       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;
      }) {};
 
@@ -258254,8 +261311,8 @@ self: {
        pname = "statestack";
        version = "0.3";
        sha256 = "1b8yd314h8a97ggjv82cy4mr0f4scb5pjvslxq7hwxxq7cw7mgns";
-       revision = "1";
-       editedCabalFile = "03kk2zab7mcr5m89mxxl0zivag2hb024ijfdi0mp794hswncwhxy";
+       revision = "2";
+       editedCabalFile = "00qpdrgxibfcdablasi5bdvdflxfgdk3hyg6461nsymwagr42ya3";
        libraryHaskellDepends = [
          base mtl transformers transformers-compat
        ];
@@ -258459,6 +261516,33 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "statistics_0_16_0_1" = callPackage
+    ({ mkDerivation, aeson, async, base, binary, data-default-class
+     , deepseq, dense-linear-algebra, erf, ieee754, math-functions
+     , monad-par, mwc-random, primitive, QuickCheck, random, tasty
+     , tasty-expected-failure, tasty-hunit, tasty-quickcheck, vector
+     , vector-algorithms, vector-binary-instances, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "statistics";
+       version = "0.16.0.1";
+       sha256 = "16ynj3bj8j70w4iq4xsrz7h140cp0jff0fv1iybsjl3lr83hdvk0";
+       libraryHaskellDepends = [
+         aeson async base binary data-default-class deepseq
+         dense-linear-algebra math-functions monad-par mwc-random primitive
+         random vector vector-algorithms vector-binary-instances
+         vector-th-unbox
+       ];
+       testHaskellDepends = [
+         aeson base binary dense-linear-algebra erf ieee754 math-functions
+         primitive QuickCheck tasty tasty-expected-failure tasty-hunit
+         tasty-quickcheck vector vector-algorithms
+       ];
+       description = "A library of statistical types, data, and functions";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "statistics-dirichlet" = callPackage
     ({ mkDerivation, base, deepseq, hmatrix-special
      , nonlinear-optimization, vector
@@ -259076,8 +262160,8 @@ self: {
      }:
      mkDerivation {
        pname = "stm-actor";
-       version = "0.2.3.1";
-       sha256 = "1gl4hladndwbjdb02hcb5mdirm9gnz23ayclh0wws8xsq23dv2b4";
+       version = "0.2.3.2";
+       sha256 = "0h81amww5caa8950nn124sn5804vdsvxz2nahwvx88hbgsgldpkg";
        libraryHaskellDepends = [
          base mtl stm stm-queue transformers unliftio-core
        ];
@@ -259312,8 +262396,8 @@ self: {
      }:
      mkDerivation {
        pname = "stm-queue";
-       version = "0.1.2.1";
-       sha256 = "0by8jga1wrzzasa442fi61nl5kv88vbl2030gidmgzrzbgf0q8yc";
+       version = "0.1.2.2";
+       sha256 = "03mchkc1bvafh4674zyv5zxbrdwb20xvzn85wq8xkbs3z2gw9mi3";
        libraryHaskellDepends = [ base stm ];
        testHaskellDepends = [ async base hspec stm ];
        benchmarkHaskellDepends = [
@@ -260012,21 +263096,6 @@ self: {
      }) {};
 
   "streaming" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, mmorph, mtl
-     , transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "streaming";
-       version = "0.2.3.0";
-       sha256 = "0qpxz9hkk31k64w98pdnz8qjgxvcznzfwc8d7pvakrnf3zp8w05l";
-       libraryHaskellDepends = [
-         base containers ghc-prim mmorph mtl transformers transformers-base
-       ];
-       description = "an elementary streaming prelude and general stream type";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "streaming_0_2_3_1" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, hspec, mmorph, mtl
      , QuickCheck, transformers, transformers-base
      }:
@@ -260040,7 +263109,6 @@ self: {
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "an elementary streaming prelude and general stream type";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "streaming-attoparsec" = callPackage
@@ -260211,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
@@ -260599,6 +263667,8 @@ self: {
        pname = "streamly";
        version = "0.8.1.1";
        sha256 = "13m415pcyyzipm5nsf9l8lcan3dn2ck666rq014y46zd66l5ahb9";
+       revision = "1";
+       editedCabalFile = "0y9pq53jd2wf7xb5i51pa6vm728sza405dx37j8rqnqxxbm5sq7y";
        libraryHaskellDepends = [
          atomic-primops base containers deepseq directory exceptions
          filepath fusion-plugin-types ghc-prim heaps lockfree-queue
@@ -260748,8 +263818,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-examples";
-       version = "0.1.0";
-       sha256 = "0ny22z33wwkg9bbziwcj77k6gb8lwj1v0y5z6mw8sw20k4ca93q3";
+       version = "0.1.1";
+       sha256 = "174283sarx0ccjzzxill9l06hi7g9jz76sxwlb4fyc03db5q027i";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -260798,14 +263868,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) lmdb;};
 
-  "streamly-lmdb_0_3_0" = callPackage
+  "streamly-lmdb_0_4_0" = callPackage
     ({ mkDerivation, async, base, bytestring, directory, lmdb
      , QuickCheck, streamly, tasty, tasty-quickcheck, temporary
      }:
      mkDerivation {
        pname = "streamly-lmdb";
-       version = "0.3.0";
-       sha256 = "1da87rbmh9sgffjy5367pzy1d80f7zlxhszi9sq87jfws4i20pk7";
+       version = "0.4.0";
+       sha256 = "10749fl4dgm89z1d6sas1ngwxkkfl385465yxnrhxcc63wz53p5d";
        libraryHaskellDepends = [ async base bytestring streamly ];
        librarySystemDepends = [ lmdb ];
        testHaskellDepends = [
@@ -260824,8 +263894,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-lz4";
-       version = "0.1.0";
-       sha256 = "0jp6px6m85rji0wpq0xfp2cv63jidvqmb1x1z33q95xfh6v73yng";
+       version = "0.1.1";
+       sha256 = "1ac7lby73pylzyg84nr155sfkcjj2p9kaj0v99va3kx4r6j4jr81";
        libraryHaskellDepends = [
          base exceptions fusion-plugin-types streamly
        ];
@@ -260859,19 +263929,19 @@ self: {
      }) {};
 
   "streamly-process" = callPackage
-    ({ mkDerivation, base, directory, exceptions, fusion-plugin, hspec
-     , process, QuickCheck, streamly, tasty-bench, unix
+    ({ mkDerivation, base, directory, exceptions, hspec, process
+     , QuickCheck, streamly, tasty-bench, unix
      }:
      mkDerivation {
        pname = "streamly-process";
-       version = "0.1.0";
-       sha256 = "066ldbphb230cc21jvsmmqlnjli6cwqpphs7vjb88q62lbl8yf6p";
+       version = "0.2.0";
+       sha256 = "0ryf0hbqdpzlips3hyrhb310ha3h8fbna4rd8lqzj67dya66rd3r";
        libraryHaskellDepends = [ base exceptions process streamly unix ];
        testHaskellDepends = [
          base directory exceptions hspec process QuickCheck streamly
        ];
        benchmarkHaskellDepends = [
-         base directory fusion-plugin process streamly tasty-bench
+         base directory process streamly tasty-bench
        ];
        description = "Use OS processes as stream transformation functions";
        license = lib.licenses.asl20;
@@ -260987,8 +264057,8 @@ self: {
        pname = "strict";
        version = "0.4.0.1";
        sha256 = "0hb24a09c3agsq7sdv8r2b2jc2f4g1blg2xvj4cfadynib0apxnz";
-       revision = "3";
-       editedCabalFile = "13yn5xvywyy3zwhyhl6dq3qrk6im6sm94q98647vgh6xs8xvlvya";
+       revision = "4";
+       editedCabalFile = "0pdzqhy7z70m8gxcr54jf04qhncl1jbvwybigb8lrnxqirs5l86n";
        libraryHaskellDepends = [
          assoc base binary bytestring deepseq ghc-prim hashable text these
          transformers
@@ -261202,8 +264272,8 @@ self: {
     ({ mkDerivation, base, bifunctors, deepseq, hashable }:
      mkDerivation {
        pname = "strict-tuple";
-       version = "0.1.4";
-       sha256 = "06fyf58kl3c5xpfdd5h7368ggbfadm5n67h3kqajrsgh3yl84hrq";
+       version = "0.1.5";
+       sha256 = "1n0rw1vvvsgznx4i21480qzzs44iw35hcdiw0d160war7nf2pyp5";
        libraryHaskellDepends = [ base bifunctors deepseq hashable ];
        testHaskellDepends = [ base ];
        description = "Strict tuples";
@@ -261498,8 +264568,8 @@ self: {
      }:
      mkDerivation {
        pname = "string-random";
-       version = "0.1.4.1";
-       sha256 = "1ggz48mzyzch3ga4682jd9y4g1j6px1anv7k8cczjlz9f4lh73nd";
+       version = "0.1.4.2";
+       sha256 = "0rqh0cwywlzg4xyb1s80mghl3kq3sngg8xjbh4g9x4p8fc6maiw9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -261708,8 +264778,8 @@ self: {
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "stripe-concepts";
-       version = "1.0.3";
-       sha256 = "1wykg9flg0qliqlz3ywkmnqhh55aa61r4mvbhsly6ib8r6knr382";
+       version = "1.0.3.1";
+       sha256 = "1mi538f8nm90mygrcv6w90bxf0d0lc4qxkbrq19j35l9r1xlm5bk";
        libraryHaskellDepends = [ base bytestring text ];
        description = "Types for the Stripe API";
        license = lib.licenses.mit;
@@ -261846,18 +264916,20 @@ self: {
      }) {};
 
   "stripe-signature" = callPackage
-    ({ mkDerivation, base, base16-bytestring, bytestring, cryptonite
-     , memory, stripe-concepts, text
+    ({ mkDerivation, base, base16-bytestring, bytestring
+     , cryptohash-sha256, stripe-concepts, text
      }:
      mkDerivation {
        pname = "stripe-signature";
-       version = "1.0.0.10";
-       sha256 = "04b5z6hnm000fii4qiczm4xpr41v55fgcj07yh35iwh4gwgc7c4h";
+       version = "1.0.0.14";
+       sha256 = "0r982h1vd06yd1kyhyqf3s982a34amlnfzwykg3cs6pscpqbg7mz";
        libraryHaskellDepends = [
-         base base16-bytestring bytestring cryptonite memory stripe-concepts
+         base base16-bytestring bytestring cryptohash-sha256 stripe-concepts
          text
        ];
-       testHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring stripe-concepts text
+       ];
        description = "Verification of Stripe webhook signatures";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -261907,8 +264979,8 @@ self: {
      }:
      mkDerivation {
        pname = "stripeapi";
-       version = "2.0.0.1";
-       sha256 = "1kqmdw0f9cppbvirizmyfcsc26iczwrn6hrhmi9y6fhhxiy4wd1z";
+       version = "2.0.1.0";
+       sha256 = "16jiqhkl6ww1rk0n3bp26p30x536akyaaww75bwz0rwzxkr8rjsh";
        libraryHaskellDepends = [
          aeson base bytestring ghc-prim http-client http-conduit http-types
          mtl scientific text time transformers unordered-containers vector
@@ -261950,21 +265022,38 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "strive_6_0_0_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
+     , http-client, http-client-tls, http-types, template-haskell, text
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "strive";
+       version = "6.0.0.1";
+       sha256 = "1vhszra49nfqx3lfyc378krxx8gf3cs2s6vb602fzlbjbm54i9mh";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default gpolyline http-client
+         http-client-tls http-types template-haskell text time transformers
+       ];
+       description = "A client for the Strava V3 API";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "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.1.0";
-       sha256 = "1jqz927n21q44i8021x8r1swppn6n6dy0z4zv0509jc7s6vf34vi";
-       revision = "1";
-       editedCabalFile = "01j3fgkhqln8nj4wh4za1l8b6fpms7fxifzi2fwlfaxnwis029vv";
+       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 ];
@@ -262082,8 +265171,8 @@ self: {
        pname = "structured";
        version = "0.1.1";
        sha256 = "1mz02ys85z79nj24ylsmgh8v2m7zv2rixf7w0iqnwc49lax52w4q";
-       revision = "1";
-       editedCabalFile = "0ijyzfr55xyp692aj9jch81lwqx3pavg4ci8hzbc230zjs5idc50";
+       revision = "2";
+       editedCabalFile = "1vsb5707b2mza2sd1xrrih4y85iaiwp05fajr359xlg1n1dfc1qf";
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
          hashable scientific tagged text time-compat transformers
@@ -262477,6 +265566,36 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "subcategories_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, foldl
+     , hashable, inspection-testing, mono-traversable, pointed
+     , primitive, QuickCheck, reflection, semialign, tasty
+     , tasty-discover, tasty-expected-failure, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, these
+     , unordered-containers, vector, vector-algorithms, vector-builder
+     }:
+     mkDerivation {
+       pname = "subcategories";
+       version = "0.2.0.0";
+       sha256 = "0qxiccv9xpl6ms8j9lfvl8jps9gr979ya441fghy1jvfza0fxd1x";
+       libraryHaskellDepends = [
+         base containers data-default foldl hashable mono-traversable
+         pointed primitive reflection semialign template-haskell text these
+         unordered-containers vector vector-algorithms vector-builder
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-default foldl hashable
+         inspection-testing mono-traversable pointed primitive QuickCheck
+         reflection semialign tasty tasty-expected-failure tasty-hunit
+         tasty-quickcheck template-haskell text these unordered-containers
+         vector vector-algorithms vector-builder
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Subcategories induced by class constraints";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "subhask" = callPackage
     ({ mkDerivation, approximate, array, base, bloomfilter, bytes
      , bytestring, cassava, containers, criterion, deepseq, erf, gamma
@@ -262680,8 +265799,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "successors";
-       version = "0.1.0.2";
-       sha256 = "0q6sfxxzc0ws1iky79iyx7sf7l3jqdwxz9ngsi11km1bp7rd8ycw";
+       version = "0.1.0.3";
+       sha256 = "15pydjb9f7ycjclv5qq0ll8iaf8vpb6241ja858vkkfpz4rsciyv";
        libraryHaskellDepends = [ base ];
        description = "An applicative functor to manage successors";
        license = lib.licenses.mit;
@@ -263418,8 +266537,8 @@ self: {
        pname = "svg-builder";
        version = "0.1.1";
        sha256 = "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g";
-       revision = "3";
-       editedCabalFile = "1zc7shja5i63rn7kd9mnq2m052qhp7nh44qy8qp93dm64v9m9pi2";
+       revision = "5";
+       editedCabalFile = "0cnv8rx410mprjvdmzz8j9lmd05wb87zk9bcpjhyymz4qhcbqpl2";
        libraryHaskellDepends = [
          base blaze-builder bytestring hashable text unordered-containers
        ];
@@ -263712,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
@@ -263723,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
@@ -263844,8 +266963,8 @@ self: {
      }:
      mkDerivation {
        pname = "swish";
-       version = "0.10.0.8";
-       sha256 = "1a7iz3d78r00mgkq370zy5fxjkb5x34c9iq3kc3gbl6hs6m6l579";
+       version = "0.10.1.0";
+       sha256 = "0xy12fmmiydaqm0cng24qd7c1py1sbb4ww66w0n5w26kwgh622cc";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -264043,7 +267162,7 @@ self: {
        license = "unknown";
      }) {};
 
-  "sydtest_0_7_0_0" = 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
@@ -264053,8 +267172,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.7.0.0";
-       sha256 = "16lgys2l3ywai85mf80r212l3m15mbd4a2zgg8wpmn98d798qjr1";
+       version = "0.8.0.0";
+       sha256 = "1b2i4w58k0mrb5lk4hjbwfmm065gmmll6jm3k6jydjjkkpf1zfap";
        libraryHaskellDepends = [
          async autodocodec autodocodec-yaml base bytestring containers Diff
          dlist envparse filepath MonadRandom mtl optparse-applicative path
@@ -264130,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
@@ -264590,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;
      }) {};
 
@@ -265468,6 +268604,8 @@ self: {
        pname = "synthesizer-llvm";
        version = "0.9";
        sha256 = "0bqncysaq164235792657yyf1ngkr7gm9vkzkbiqy6f7g7a62shd";
+       revision = "1";
+       editedCabalFile = "04z0s3hkpdcmri4w34s2ssz9wwf60z1ccc0bc3bphs1caz8i61j2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -265900,10 +269038,8 @@ self: {
      }:
      mkDerivation {
        pname = "systemd-socket-activation";
-       version = "1";
-       sha256 = "10y7g2y62v48n6zkpgpjqyf2a7fqm8d9mx24vcwk6bcxkq1bciz2";
-       revision = "1";
-       editedCabalFile = "084phqk9wb0slsmb7pj68nivhjx3w6hs0djq589j771v579vck0r";
+       version = "1.0.0.1";
+       sha256 = "1czps42qaxghg3mbr7v847j1yqgk79lbx1b5dmi5mnyg3869dq81";
        libraryHaskellDepends = [
          base containers network text transformers unix
        ];
@@ -266779,6 +269915,35 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tailwind" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, containers
+     , data-default, deriving-aeson, directory, filepath, filepattern
+     , lens, monad-logger, mtl, neat-interpolation, optparse-applicative
+     , parser-combinators, profunctors, relude, safe-exceptions
+     , temporary, text, time, unliftio, which, with-utf8
+     }:
+     mkDerivation {
+       pname = "tailwind";
+       version = "0.2.0.0";
+       sha256 = "08m4mkk3fsrzpna3747gc2ln981nd7x17p3kzzvirs7p6js513yh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base bytestring containers data-default deriving-aeson
+         directory filepath filepattern lens monad-logger mtl
+         neat-interpolation profunctors relude safe-exceptions temporary
+         text time unliftio which with-utf8
+       ];
+       executableHaskellDepends = [
+         base data-default filepath filepattern lens monad-logger
+         optparse-applicative parser-combinators relude with-utf8
+       ];
+       description = "Tailwind wrapped in Haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "tak" = callPackage
     ({ mkDerivation, base, bytestring, hashable, hslogger, HUnit
      , matrix, network, parsec, random-shuffle, safe
@@ -267322,15 +270487,15 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "taskwarrior_0_6_0_1" = callPackage
+  "taskwarrior_0_6_0_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , hspec-discover, process, QuickCheck, quickcheck-instances, random
      , text, time, uuid
      }:
      mkDerivation {
        pname = "taskwarrior";
-       version = "0.6.0.1";
-       sha256 = "0g7g03hnlij7ggrq0rlxy4gay6b8f9j1yxm71y4yb80wnrj9lgwf";
+       version = "0.6.0.2";
+       sha256 = "16m4578ybwawiza4fg8gc6ndfc8hpvdkh5bv3ghamwpqyw0aq766";
        libraryHaskellDepends = [
          aeson base bytestring containers process random text time uuid
        ];
@@ -267564,22 +270729,21 @@ self: {
 
   "tasty-golden" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, deepseq
-     , directory, filepath, mtl, optparse-applicative, process, tagged
-     , tasty, tasty-hunit, temporary, text, unix-compat
+     , directory, filepath, mtl, optparse-applicative, tagged, tasty
+     , tasty-hunit, temporary, text, typed-process
      }:
      mkDerivation {
        pname = "tasty-golden";
-       version = "2.3.4";
-       sha256 = "1nskavqgfxx1cw7q6c0cmizlwj54rnlv93yhgssaa77gv1nbvwpn";
+       version = "2.3.5";
+       sha256 = "03klnxn9rcv0l7fl4w8q6s59fzl1328j1wzwi1za4gb0l90vadwb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          async base bytestring containers deepseq directory filepath mtl
-         optparse-applicative process tagged tasty temporary text
-         unix-compat
+         optparse-applicative tagged tasty temporary text typed-process
        ];
        testHaskellDepends = [
-         base directory filepath process tasty tasty-hunit temporary
+         base directory filepath tasty tasty-hunit temporary typed-process
        ];
        description = "Golden tests support for tasty";
        license = lib.licenses.mit;
@@ -267633,8 +270797,8 @@ self: {
        pname = "tasty-hedgehog";
        version = "1.1.0.0";
        sha256 = "0cy49z8n124xh2ra2482vfy5if1n6d9lbdjma2zg1mxfj0k0zyfb";
-       revision = "1";
-       editedCabalFile = "0zn29qgsb5v4y7s4lrrhav9wqaz6pm97rcj1gl88qvvvi000jjbx";
+       revision = "3";
+       editedCabalFile = "1i7i2yws3bdmsg2hl7dh65zvh9sna3gnlv0l4m1sqqdx5dji1a3w";
        libraryHaskellDepends = [ base hedgehog tagged tasty ];
        testHaskellDepends = [
          base hedgehog tasty tasty-expected-failure
@@ -267672,8 +270836,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-hslua";
-       version = "1.0.0";
-       sha256 = "07il3h282lj7m9y7cgc2w0gbffzndibwgxqfdv5m2n4kf1c3finl";
+       version = "1.0.1";
+       sha256 = "1zmxvhmmj6f0jw19v25pkhschrvzhwfr20jqg1sxdg15aaa3gjf7";
        libraryHaskellDepends = [
          base bytestring hslua-core tasty tasty-hunit
        ];
@@ -267935,20 +271099,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "tasty-lua_1_0_0" = callPackage
+  "tasty-lua_1_0_1" = callPackage
     ({ mkDerivation, base, bytestring, directory, file-embed, filepath
-     , hslua-core, hslua-marshalling, tasty, tasty-hunit, text
+     , hslua-core, hslua-marshalling, lua-arbitrary, QuickCheck, tasty
+     , tasty-hunit, text
      }:
      mkDerivation {
        pname = "tasty-lua";
-       version = "1.0.0";
-       sha256 = "1ykl3by81ivz59zy3cqd6xsa4g8g7axwr9hajdbvmwn1b5y4h880";
+       version = "1.0.1";
+       sha256 = "0izkj9miws0w8320mfaxhj2bnwri3x338qvdz73wbzmbjwibmg23";
        libraryHaskellDepends = [
-         base bytestring file-embed hslua-core hslua-marshalling tasty text
+         base bytestring file-embed hslua-core hslua-marshalling
+         lua-arbitrary QuickCheck tasty text
        ];
        testHaskellDepends = [
-         base directory filepath hslua-core hslua-marshalling tasty
-         tasty-hunit
+         base bytestring directory filepath hslua-core hslua-marshalling
+         lua-arbitrary QuickCheck tasty tasty-hunit
        ];
        description = "Write tests in Lua, integrate into tasty";
        license = lib.licenses.mit;
@@ -268266,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
        ];
@@ -268510,8 +271676,8 @@ self: {
        pname = "tdigest";
        version = "0.2.1.1";
        sha256 = "1dvkf7cs8dcr13wza5iyq2qgvz75r33mzgfmhdihw62xzxsqb6d3";
-       revision = "1";
-       editedCabalFile = "1paw32ixw4jgq0pl9f4ag43n8gqg5gmdjib6w4wx8x6ynmk19cq0";
+       revision = "2";
+       editedCabalFile = "0hcsjdd8km8dhydg4npc6mw6yy6bhv4f21zvm8is8h0ci4057asy";
        libraryHaskellDepends = [
          base base-compat binary deepseq reducers semigroupoids transformers
          vector vector-algorithms
@@ -268868,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 = [
@@ -268889,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;
@@ -269823,6 +272994,8 @@ self: {
        pname = "termbox";
        version = "0.3.0";
        sha256 = "1vi2ssylwvc6xqnhpnvc9q9c70glbf6s63rmyblc53g4qra2wkah";
+       revision = "1";
+       editedCabalFile = "1d0sv2ycizpy0fsn0v4n2bbziyr56y2md8qnqmr0bx1rkriz67li";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -269836,6 +273009,8 @@ self: {
        pname = "termbox-banana";
        version = "0.3.0";
        sha256 = "07nn1jff33zb80vhzkw48fik5d5w7j7q982ihpsbb6gbqp5azx5s";
+       revision = "1";
+       editedCabalFile = "0k62lbwigk97shxlx5c34d2k81ndims9nc36rlcv34s0iig0lh7d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base reactive-banana termbox ];
@@ -270013,6 +273188,8 @@ self: {
        pname = "termonad";
        version = "4.2.0.0";
        sha256 = "1g9zc1ddm47b8ry78crax8ry43sj1wv3272qv5r0y5jvz9y58r6r";
+       revision = "1";
+       editedCabalFile = "1czkiwspicvv87sgq1ni71xhxdb9x2g9yxp7mrgmyf50wfrir6r5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -270479,8 +273656,8 @@ self: {
      }:
      mkDerivation {
        pname = "test-lib";
-       version = "0.3";
-       sha256 = "15b3gsy03z3hqc0d2b7hjk3l79ykkcdhb5mrz453p8s4bgd8l6av";
+       version = "0.4";
+       sha256 = "0jp0k27vvdz4lfrdi7874j7gnnn051kvqfn1k3zg1ap4m9jzyb45";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -270714,8 +273891,8 @@ self: {
      }:
      mkDerivation {
        pname = "testcontainers";
-       version = "0.3.0.1";
-       sha256 = "01qqinmjy6mvfnszq2br459xfcx9jg5ycs0dfmpqg3wxfi826kx6";
+       version = "0.3.1.0";
+       sha256 = "0gkspiz9vzaa02f6fnp6xv8xqgxnv73j50gh90z4hcbprcqgayk8";
        libraryHaskellDepends = [
          aeson aeson-optics base bytestring exceptions mtl network
          optics-core process resourcet tasty text unliftio-core
@@ -270920,6 +274097,29 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
+  "texmath_0_12_4" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, pandoc-types, parsec, process, split, syb, temporary, text
+     , utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "texmath";
+       version = "0.12.4";
+       sha256 = "1k7hh75jzgysh7b7jkvy4w07dbkvm5fcc5hkkixz6xzrp2fvnws3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers mtl pandoc-types parsec split syb text xml
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath process temporary text
+         utf8-string xml
+       ];
+       description = "Conversion between math formats";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "texrunner" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
      , HUnit, io-streams, lens, mtl, process, semigroups, temporary
@@ -270929,8 +274129,8 @@ self: {
        pname = "texrunner";
        version = "0.0.1.2";
        sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy";
-       revision = "3";
-       editedCabalFile = "1l3cpi7yx8jm3653rf3v7midf19i7khc6in75m7zz66124c6i350";
+       revision = "4";
+       editedCabalFile = "13vd48qr6hi6lnb9j41lw6g8yd5k8gpf1z5ig4qw58xg8vws6rzx";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath io-streams mtl
          process semigroups temporary
@@ -270944,28 +274144,27 @@ self: {
        broken = true;
      }) {};
 
-  "text_1_2_5_0" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, bytestring-lexing
-     , containers, deepseq, directory, filepath, ghc-prim, QuickCheck
-     , quickcheck-unicode, random, stringsearch, tasty, tasty-bench
-     , tasty-hunit, tasty-inspection-testing, tasty-quickcheck
-     , template-haskell, transformers, vector
+  "text_2_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, filepath, ghc-prim, QuickCheck, tasty
+     , tasty-bench, tasty-hunit, tasty-inspection-testing
+     , tasty-quickcheck, template-haskell, transformers
      }:
      mkDerivation {
        pname = "text";
-       version = "1.2.5.0";
-       sha256 = "0wwgsq7px8cvmqj3264132xsbj6b92j6mfgd1jlk08vdl8hmx821";
+       version = "2.0";
+       sha256 = "15pcs9wdd0jjh4k2qis1s8bny14s0x85nys9i25nwr4a6xxpi6fm";
        libraryHaskellDepends = [
          array base binary bytestring deepseq ghc-prim template-haskell
        ];
        testHaskellDepends = [
-         base bytestring deepseq directory QuickCheck quickcheck-unicode
-         random tasty tasty-hunit tasty-inspection-testing tasty-quickcheck
+         base bytestring deepseq directory ghc-prim QuickCheck tasty
+         tasty-hunit tasty-inspection-testing tasty-quickcheck
          template-haskell
        ];
        benchmarkHaskellDepends = [
-         base binary bytestring bytestring-lexing containers deepseq
-         filepath stringsearch tasty-bench transformers vector
+         base bytestring containers deepseq directory filepath tasty-bench
+         transformers
        ];
        doCheck = false;
        description = "An efficient packed Unicode text type";
@@ -271013,8 +274212,8 @@ self: {
        pname = "text-ansi";
        version = "0.1.1";
        sha256 = "1vcrsg7v8n6znh1pd9kbm20bc6dg3zijd3xjdjljadf15vfkd5f6";
-       revision = "2";
-       editedCabalFile = "03r5318sxzxykms6jjmry6mkm4zy83ajamk727jym9r9kp16dkmc";
+       revision = "3";
+       editedCabalFile = "0xv9j3fyygaixmv14i3yds63nmvfqwfnz7883by61lvhq5dl3iyv";
        libraryHaskellDepends = [ base text ];
        description = "Text styling for ANSI terminals";
        license = lib.licenses.bsd3;
@@ -271243,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
@@ -271398,6 +274620,8 @@ self: {
        pname = "text-manipulate";
        version = "0.3.0.0";
        sha256 = "0pmzp38m3r0k6ps97b1wqplxlgvvlaid09x53jl3gxng0fwq910a";
+       revision = "1";
+       editedCabalFile = "1px2b8knr4z44hp9wb9dwac1pycaic7ji4fhpma3sr6jgjjszyw4";
        libraryHaskellDepends = [ base text ];
        testHaskellDepends = [ base tasty tasty-hunit text ];
        benchmarkHaskellDepends = [ base criterion text ];
@@ -271430,8 +274654,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-metrics";
-       version = "0.3.1";
-       sha256 = "17bp1lnbkqr5ykrcd6v5sqv0fhljck7hky8zrrpw7rlkb1f3sdc2";
+       version = "0.3.2";
+       sha256 = "0vl3vnm7xhy2zwcx1m293gp64q5sxfa3vmzdaqnqmjgby6l31mxx";
        libraryHaskellDepends = [ base containers text vector ];
        testHaskellDepends = [ base hspec QuickCheck text ];
        benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
@@ -271608,8 +274832,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-replace";
-       version = "0.1";
-       sha256 = "0jzqq709r4jpbvgkix9ybi6asvhshl0ayz5a4gddrccli5k430n6";
+       version = "0.1.0.1";
+       sha256 = "1xpyh21sy1w0k3dqacysphlfi56c6n8vinfzxb5c7qjizd7v64qs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers text ];
@@ -271623,6 +274847,22 @@ self: {
        broken = true;
      }) {};
 
+  "text-rope" = callPackage
+    ({ mkDerivation, base, deepseq, random, tasty, tasty-bench
+     , tasty-quickcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "text-rope";
+       version = "0.1";
+       sha256 = "0dfn8hjnw38zh9nw7wy2jfyg0acg9jpfhngj65aczb9qxv6yj3hv";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base deepseq text vector ];
+       testHaskellDepends = [ base tasty tasty-quickcheck text ];
+       benchmarkHaskellDepends = [ base random tasty-bench text ];
+       description = "Text lines and ropes";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "text-short" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, ghc-prim
      , hashable, quickcheck-instances, tasty, tasty-hunit
@@ -271645,24 +274885,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "text-short_0_1_4" = callPackage
+  "text-short_0_1_5" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, ghc-prim
-     , hashable, quickcheck-instances, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text
+     , hashable, tasty, tasty-hunit, tasty-quickcheck, template-haskell
+     , text
      }:
      mkDerivation {
        pname = "text-short";
-       version = "0.1.4";
-       sha256 = "1p56cjm6f883ajb54y8hmrl01sqda6a36xvbmgjv3mb9gxv953v4";
-       revision = "2";
-       editedCabalFile = "08rgniynvmfla0v6xsq5347i7r0jig9bzjppnwjddzahhqa8jirc";
+       version = "0.1.5";
+       sha256 = "1nid00c1rg5c1z7l9mwk3f2izc2sps2mip2hl30q985dwb6wcpm3";
        libraryHaskellDepends = [
          base binary bytestring deepseq ghc-prim hashable template-haskell
          text
        ];
        testHaskellDepends = [
-         base binary bytestring quickcheck-instances tasty tasty-hunit
-         tasty-quickcheck template-haskell text
+         base binary bytestring tasty tasty-hunit tasty-quickcheck
+         template-haskell text
        ];
        description = "Memory-efficient representation of Unicode text strings";
        license = lib.licenses.bsd3;
@@ -271699,7 +274937,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "text-show_3_9_3" = callPackage
+  "text-show_3_9_6" = callPackage
     ({ mkDerivation, array, base, base-compat-batteries, base-orphans
      , bifunctors, bytestring, bytestring-builder, containers, criterion
      , deepseq, deriving-compat, generic-deriving, ghc-boot-th, ghc-prim
@@ -271709,8 +274947,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show";
-       version = "3.9.3";
-       sha256 = "0vn1qp1knwa2vr5v75bims0lqyi073d98axibbv2mr3cp3348xhn";
+       version = "3.9.6";
+       sha256 = "1wcnwfshsscwy96jg709m2vrprcy4hi65n7f65a45q9rr81jiriw";
        libraryHaskellDepends = [
          array base base-compat-batteries bifunctors bytestring
          bytestring-builder containers generic-deriving ghc-boot-th ghc-prim
@@ -271778,6 +275016,8 @@ self: {
        pname = "text-show-instances";
        version = "3.8.6";
        sha256 = "1jg1wsjnp6q68nsynwzw26s4akr0d9a4frd9dvnddalm2c6vdwaz";
+       revision = "1";
+       editedCabalFile = "1xikz6yviivafckm6ri0abm60z2qkgmqkc7gnjxhicfhbnnqpbbi";
        libraryHaskellDepends = [
          base base-compat-batteries bifunctors binary containers directory
          ghc-boot-th haskeline hpc old-locale old-time pretty random
@@ -272392,8 +275632,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-extras";
-       version = "0.0.0.5";
-       sha256 = "03pfwadxxnabkpy1i6jmmgk6p8w3r9cn3xz7d7jvzqsig70mnpim";
+       version = "0.0.0.6";
+       sha256 = "0jkwy2kqdqmq3qmfy76px2pm8idxgs18x1k1dzpsccq21ja27gq2";
        libraryHaskellDepends = [
          base containers syb template-haskell th-abstraction
        ];
@@ -272530,8 +275770,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-lego";
-       version = "0.2.3";
-       sha256 = "1c2q1gz04072kh2dxs22hqvcjkfq66ylixl0631wnlmvivbm2ahz";
+       version = "0.3";
+       sha256 = "0shwmh8anzrgifk0z2ypdkp7f0sz9p4azfjj1rcnz0px1wmhz9xn";
        libraryHaskellDepends = [
          base template-haskell template-haskell-compat-v0208 text
        ];
@@ -272815,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 = [
@@ -272831,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;
@@ -272994,14 +276236,12 @@ self: {
      }) {};
 
   "these-skinny" = callPackage
-    ({ mkDerivation, base, deepseq }:
+    ({ mkDerivation, base, deepseq, ghc-prim }:
      mkDerivation {
        pname = "these-skinny";
-       version = "0.7.4";
-       sha256 = "0hlxf94ir99y0yzm9pq8cvs7vbar4bpj1w1ibs96hrx2biwfbnkr";
-       revision = "2";
-       editedCabalFile = "0q1izcz4kxrnl7sh0sxamxxq02mkxww88vr6v04pwj8alyhkd4z2";
-       libraryHaskellDepends = [ base deepseq ];
+       version = "0.7.5";
+       sha256 = "1nbcfkjs7cn3gnyypxdf1gxm52gzqc3lqygdl8qrfgdk7cck6sbj";
+       libraryHaskellDepends = [ base deepseq ghc-prim ];
        description = "A fork of the 'these' package without the dependency bloat";
        license = lib.licenses.bsd3;
      }) {};
@@ -273367,8 +276607,8 @@ self: {
        pname = "threepenny-gui";
        version = "0.9.1.0";
        sha256 = "00sjkfa9qfnnwqfdw68yb8hq6nm1y5qv9896rzn5aachr7mlfpx2";
-       revision = "3";
-       editedCabalFile = "0pk2vy2lqifjdm3cw9lhl5nx7aw4ff4g8p6l8p7yc9x7h9m6va16";
+       revision = "4";
+       editedCabalFile = "020yz8zgbk76cwi0z3bf2ikfpd7mm55jp1hjqdbjjxj7k2mwpl1h";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -273508,8 +276748,8 @@ self: {
        pname = "through-text";
        version = "0.1.0.0";
        sha256 = "1kdl36n98kajaa7v7js2sy8bi09p8rrxmlfcclcfc1l92bd2aclk";
-       revision = "7";
-       editedCabalFile = "0cgh3sxd7ms5wdrrr174jf7pf6n7c66srpsmg3yk8h8msnrvw1qr";
+       revision = "8";
+       editedCabalFile = "1h55jhl5igpli19qirk0wv5gl7ihhw0glbha18xpghfz2z6fjwl3";
        libraryHaskellDepends = [ base bytestring case-insensitive text ];
        description = "Convert textual types through Text without needing O(n^2) instances";
        license = lib.licenses.bsd3;
@@ -273763,19 +277003,24 @@ self: {
      }) {};
 
   "tidal" = callPackage
-    ({ mkDerivation, base, bifunctors, bytestring, clock, colour
-     , containers, criterion, deepseq, hosc, microspec, network, parsec
-     , primitive, random, text, transformers, weigh
+    ({ mkDerivation, async, base, bifunctors, bytestring, clock, colour
+     , containers, criterion, deepseq, exceptions, hint, hosc, microspec
+     , mtl, network, parsec, primitive, random, text, transformers
+     , weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.7.8";
-       sha256 = "0l8k4f89rhmvd0ys7klgi57k0313ki1vr256mkc60xc6a6gb3g93";
+       version = "1.7.10";
+       sha256 = "0vfymixr66sj6zsadkbcx0yx722f2d3q6cic4c91cswxssfqfrhc";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bifunctors bytestring clock colour containers deepseq hosc
-         network parsec primitive random text transformers
+         base bifunctors bytestring clock colour containers deepseq
+         exceptions hosc mtl network parsec primitive random text
+         transformers
        ];
+       executableHaskellDepends = [ async base exceptions hint ];
        testHaskellDepends = [
          base containers deepseq hosc microspec parsec
        ];
@@ -274234,8 +277479,8 @@ self: {
        pname = "time-parsers";
        version = "0.1.2.1";
        sha256 = "102k6l9888kbgng045jk170qjbmdnwv2lbzlc12ncybfk2yk7wdv";
-       revision = "3";
-       editedCabalFile = "1cv9fpn8bixicwcacyv0hx81q1xw06pig07zrpnf354bqzrsf3jw";
+       revision = "4";
+       editedCabalFile = "04hc42rkk0n9xapiy5zwac4x55m5cc5a8bgnkf6lkd7sy79k1j9k";
        libraryHaskellDepends = [ base parsers template-haskell time ];
        testHaskellDepends = [
          attoparsec base bifunctors parsec parsers tasty tasty-hunit
@@ -274645,8 +277890,8 @@ self: {
        pname = "timer-wheel";
        version = "0.3.0";
        sha256 = "16v663mcsj0h17x4jriq50dps3m3f8wqcsm19kl48vrs7f4mp07s";
-       revision = "1";
-       editedCabalFile = "03wprm88wl6smfcq6dfr62l4igi8lfg6wkk65rsmyzxxkjzhc6f1";
+       revision = "2";
+       editedCabalFile = "0kfckbmcf9c8538i38r40agrc31mgk771hfnm54sgslnam1idiym";
        libraryHaskellDepends = [ atomic-primops base psqueues vector ];
        testHaskellDepends = [ base ];
        description = "A timer wheel";
@@ -274830,8 +278075,8 @@ self: {
      }:
      mkDerivation {
        pname = "timezone-olson";
-       version = "0.2.0";
-       sha256 = "0b9vh27b9nz803yhd93d5z63bs370lvn4vkdajxaak9clxlw6mwg";
+       version = "0.2.1";
+       sha256 = "10f5843sza2ikj2sg9fjhf5dhnhcidad86cdjmrj1y6zclkiqmdc";
        libraryHaskellDepends = [
          base binary bytestring extensible-exceptions time timezone-series
        ];
@@ -274845,8 +278090,8 @@ self: {
      }:
      mkDerivation {
        pname = "timezone-olson-th";
-       version = "0.1.0.10";
-       sha256 = "0lks0mgshcsq36aminfbrz524mgn5q02lwln8lli1l54d8bn4x8n";
+       version = "0.1.0.11";
+       sha256 = "0lpsmjy99l1yqz23dqb31cx08wg19bd4qzfmsqzz7hfmz0dgjqsj";
        libraryHaskellDepends = [
          base template-haskell time timezone-olson timezone-series
        ];
@@ -274860,8 +278105,10 @@ self: {
     ({ mkDerivation, base, deepseq, time }:
      mkDerivation {
        pname = "timezone-series";
-       version = "0.1.9";
-       sha256 = "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5";
+       version = "0.1.13";
+       sha256 = "18n6w7jxwlysq5mvb1sp1z57nyrsgn2ans642fy5rhmpwcavgvr8";
+       revision = "1";
+       editedCabalFile = "1ak05p8z1q2nispv1xw32j7lhfmf3sfj2ibjrxpm347s37fmxnwc";
        libraryHaskellDepends = [ base deepseq time ];
        description = "Enhanced timezone handling for Data.Time";
        license = lib.licenses.bsd3;
@@ -275381,8 +278628,8 @@ self: {
      }:
      mkDerivation {
        pname = "tls";
-       version = "1.5.6";
-       sha256 = "0mr5p1h161bdhnkfx4mvlk1hqq89z0fh7z37jgrbx4i8aa61cs96";
+       version = "1.5.7";
+       sha256 = "16pp6q0r4l23l3qi8v4yn4gjdsck8mg2jy3x7m7z5g6v9047v7mq";
        libraryHaskellDepends = [
          asn1-encoding asn1-types async base bytestring cereal cryptonite
          data-default-class hourglass memory mtl network transformers x509
@@ -275858,6 +279105,7 @@ self: {
        description = "Easy-to-use TODOs manager";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tofromxml" = callPackage
@@ -276039,25 +279287,26 @@ self: {
      }) {};
 
   "tokstyle" = callPackage
-    ({ mkDerivation, aeson, array, base, bytestring, compact
-     , containers, deepseq, filepath, groom, hspec, language-c, mtl
-     , servant, servant-server, text, wai, wai-cors, wai-extra, warp
+    ({ mkDerivation, aeson, base, bytestring, cimple, containers
+     , deepseq, filepath, groom, hspec, hspec-discover, mtl, servant
+     , servant-server, text, wai, wai-cors, wai-extra, warp
      }:
      mkDerivation {
        pname = "tokstyle";
-       version = "0.0.5";
-       sha256 = "1b5s43srz8gyg2fajchsi7gzgk6q8vp269h8q7rzznrl8kxkvl5z";
+       version = "0.0.8";
+       sha256 = "04rdvyn49a6qbmdvjfk1901kpz4r4la1fikw6cffar3ga3p9sh67";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson array base bytestring compact containers deepseq filepath
-         groom language-c mtl text
+         aeson base bytestring cimple containers deepseq filepath groom mtl
+         text
        ];
        executableHaskellDepends = [
-         base bytestring groom servant servant-server text wai wai-cors
+         base bytestring cimple servant servant-server text wai wai-cors
          wai-extra warp
        ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [ base cimple hspec text ];
+       testToolDepends = [ hspec-discover ];
        description = "TokTok C code style checker";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
@@ -276501,12 +279750,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "topaz" = callPackage
+    ({ mkDerivation, aeson, base, binary, hashable, quantification
+     , vector
+     }:
+     mkDerivation {
+       pname = "topaz";
+       version = "0.6.0";
+       sha256 = "0vi3k4bx3jf71qq3az6m8qnc5pqiscpsimqpxz32qplc3ixm9a8r";
+       libraryHaskellDepends = [
+         aeson base binary hashable quantification vector
+       ];
+       description = "Extensible records library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tophat" = callPackage
     ({ mkDerivation, base, filepath, hspec, profunctors, text }:
      mkDerivation {
        pname = "tophat";
-       version = "1.0.5.0";
-       sha256 = "1g8mwf734kc9gkvc8q67jj0bfsh1vi8qxdsr58jax64cxr6vlv95";
+       version = "1.0.5.1";
+       sha256 = "1y519agpn8ksybfakgg4n565w26mgr3kvpjk555pq5s6rb77wjdf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base profunctors text ];
@@ -276543,8 +279808,8 @@ self: {
        pname = "topograph";
        version = "1.0.0.1";
        sha256 = "1sd2gyirkdgwcll76zxw954wdsyxzajn59xa9zk55fbrsm6w24cv";
-       revision = "2";
-       editedCabalFile = "1iyjrvpv7lgfpfirb2vw0lv4fs3fhpkfkicl2p49wi8zc4dv7xz1";
+       revision = "3";
+       editedCabalFile = "144pbbmir77ql5qzf031mh2qs946c05h22iz3fm8xkzg1cgils0z";
        libraryHaskellDepends = [
          base base-compat base-orphans containers vector
        ];
@@ -277362,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;
@@ -277437,6 +280700,8 @@ self: {
        pname = "transformers-compat";
        version = "0.7.1";
        sha256 = "102hydcqn7yjskzp586fvsw39dp3fi34fkskc7ykqkf16haqc2xc";
+       revision = "1";
+       editedCabalFile = "03xi4gxwvim33xkv289g6wz9dpz43zd91s5j2ini7bhcg40gagl7";
        libraryHaskellDepends = [ base ghc-prim transformers ];
        description = "A small compatibility shim for the transformers library";
        license = lib.licenses.bsd3;
@@ -277858,6 +281123,27 @@ self: {
        broken = true;
      }) {};
 
+  "traverse-code" = callPackage
+    ({ mkDerivation, array, base, containers, ghc-prim, linear-generics
+     , primitive, tasty, tasty-hunit, template-haskell
+     }:
+     mkDerivation {
+       pname = "traverse-code";
+       version = "0.1.1.1";
+       sha256 = "0nz3zmmcvfsm6xsl6sy7c88dzdxglhjpk8h8sah2xdy58gwdgjd2";
+       libraryHaskellDepends = [
+         array base containers ghc-prim linear-generics primitive
+         template-haskell
+       ];
+       testHaskellDepends = [
+         base containers linear-generics primitive tasty tasty-hunit
+         template-haskell
+       ];
+       description = "General data structure lifting for Template Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "traverse-with-class" = callPackage
     ({ mkDerivation, base, tasty, tasty-hunit, template-haskell
      , transformers
@@ -278000,8 +281286,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-diff";
-       version = "0.2.1";
-       sha256 = "0bybi4qp7nj9117yza5qqgw2f7s6rk3i7q642jqd7sdn3bx5cnap";
+       version = "0.2.1.1";
+       sha256 = "0p1pvbqgrwkxmv4b8xmw9mx6a1xpyl6j8ivg1qs65q5nd7xaxqvp";
        libraryHaskellDepends = [
          aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
          bytestring-builder containers deepseq hashable parsec parsers
@@ -278633,6 +281919,7 @@ self: {
        ];
        description = "A utility for neat multiline string trimming";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "trimpolya" = callPackage
@@ -279097,8 +282384,8 @@ self: {
      }:
      mkDerivation {
        pname = "ttc";
-       version = "1.1.0.2";
-       sha256 = "0i1jnign6xb0i4y5rkwz2rp2lj7q3r50i4bkjghz8i2djw2sd1cw";
+       version = "1.1.1.0";
+       sha256 = "04r2kv0wr7g4ahy3iqbbnihy0mh75pghqzsl9iiz60dpgdnfgafw";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit template-haskell text
@@ -279537,10 +282824,8 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.23";
-       sha256 = "02g0a6az01lfikrinx2027zqrp8wyivldwi36s2yqk9a5qm3ap5c";
-       revision = "1";
-       editedCabalFile = "1qzkxl8zhqqcic7dv6l777152zm7vfd33zrqls89s7236c19ki53";
+       version = "1.5.24";
+       sha256 = "06n9k8cchmy090k6azl6ld8ygkljw8wrpw3cigsgz48hqchq8c2p";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -279587,16 +282872,16 @@ self: {
 
   "twain" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive, cookie
-     , either, http-types, text, time, transformers, wai, wai-extra
-     , warp
+     , either, exceptions, http-types, http2, text, time, transformers
+     , vault, wai, wai-extra
      }:
      mkDerivation {
        pname = "twain";
-       version = "1.0.0.0";
-       sha256 = "0brxvqddnhxs4q5hm9g8fzkznk3xjagivy0glfiqrx24p4k8s9yb";
+       version = "2.0.1.0";
+       sha256 = "0wal0qr3bacy7phgbvi2sif5q490jk8mhw675lpl2ch8dmmf769p";
        libraryHaskellDepends = [
-         aeson base bytestring case-insensitive cookie either http-types
-         text time transformers wai wai-extra warp
+         aeson base bytestring case-insensitive cookie either exceptions
+         http-types http2 text time transformers vault wai wai-extra
        ];
        description = "Tiny web application framework for WAI";
        license = lib.licenses.bsd3;
@@ -280755,8 +284040,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-map";
-       version = "0.1.6.0";
-       sha256 = "0zakl5bdzwng1r0x384w066zhwgwcf24s6jsm6d4zsx7xmngzmr5";
+       version = "0.1.7.0";
+       sha256 = "0612y1n2ydnb5sw411a1xnjmp03qhjl3iv9pnwdj59l17bcmqq21";
        libraryHaskellDepends = [ base containers ghc-prim vector ];
        testHaskellDepends = [
          base HUnit test-framework test-framework-hunit
@@ -281591,8 +284876,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.8.1.1";
-       sha256 = "10siihvba8c4zbwvw247zrx9z5v5sgr8vswjbbiw9gn7qdiq8ppa";
+       version = "0.8.2.2";
+       sha256 = "1lrp190lb5432bc5kxfcjx3a4pf1y6krl3x74181448x2sx7fh1g";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -281790,22 +285075,21 @@ self: {
 
   "tz" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , data-default, deepseq, HUnit, lens, QuickCheck, template-haskell
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , test-framework-th, thyme, time, timezone-olson, timezone-series
-     , tzdata, vector
+     , data-default, deepseq, HUnit, lens, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-th, template-haskell, thyme
+     , time, timezone-olson, timezone-series, tzdata, vector
      }:
      mkDerivation {
        pname = "tz";
-       version = "0.1.3.5";
-       sha256 = "1svqcpcpy5mydkmf42a78khxa053jxbvrbdh5jzprh2b7g0dpvlb";
+       version = "0.1.3.6";
+       sha256 = "1vqnfk656i6j3j1bf9lc36adziv52x1b2ccq6afp8cka1nay2mcd";
        libraryHaskellDepends = [
          base binary bytestring containers data-default deepseq
          template-haskell time tzdata vector
        ];
        testHaskellDepends = [
-         base HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2 test-framework-th time tzdata
+         base HUnit QuickCheck tasty tasty-hunit tasty-quickcheck tasty-th
+         time tzdata
        ];
        benchmarkHaskellDepends = [
          base criterion lens thyme time timezone-olson timezone-series
@@ -281818,20 +285102,18 @@ self: {
 
   "tzdata" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, HUnit
-     , test-framework, test-framework-hunit, test-framework-th, unix
-     , vector
+     , tasty, tasty-hunit, tasty-th, unix, vector
      }:
      mkDerivation {
        pname = "tzdata";
-       version = "0.2.20201021.0";
-       sha256 = "0bkd7k0q8dflp21hzf71kbqyk0jq279z7sgwlq1pdzs2ggmnrwm9";
+       version = "0.2.20211021.0";
+       sha256 = "0x1pqdlbhh8qhbbfpc01jlcamk2ihwxbs9m8kgm8abd9fk0bwa0a";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers deepseq vector
        ];
        testHaskellDepends = [
-         base bytestring HUnit test-framework test-framework-hunit
-         test-framework-th unix
+         base bytestring HUnit tasty tasty-hunit tasty-th unix
        ];
        description = "Time zone database (as files and as a module)";
        license = lib.licenses.asl20;
@@ -282913,14 +286195,21 @@ self: {
      }) {};
 
   "unicode-data" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, deepseq, hspec, hspec-discover, tasty
+     , tasty-bench
+     }:
      mkDerivation {
        pname = "unicode-data";
-       version = "0.2.0";
-       sha256 = "1vn1kzy49k314gprpi8ls91vs5xrjwwxklzgnxx0krcpjq8zy100";
+       version = "0.3.0";
+       sha256 = "0pwjjsk0gjkn73ghj10s603p84xr7h2kfg351c9grzngrcv9giq8";
+       revision = "1";
+       editedCabalFile = "1invxbc1f635rywnkcpap9s93z08mbdfi3rzi7882lssf1wy0i85";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base deepseq tasty tasty-bench ];
        description = "Access Unicode character database";
        license = lib.licenses.asl20;
      }) {};
@@ -283053,6 +286342,8 @@ self: {
        pname = "unicode-transforms";
        version = "0.4.0";
        sha256 = "0m234yhjizl28xm8y08bdhrbni666r7q2z71a8s64lynqk4lzq5k";
+       revision = "1";
+       editedCabalFile = "18k7z25byg9x05rydbcgjfvhz9qdv6yxjvxac58kxw8pfj8xlcap";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -283134,12 +286425,12 @@ self: {
      }) {};
 
   "uniform-algebras" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, numeric-prelude, test-invariant }:
      mkDerivation {
        pname = "uniform-algebras";
-       version = "0.1.0";
-       sha256 = "19grz10hagzi8x9am59i6jifm1zjf31698k8r4l7bbhyww4w6p91";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.2";
+       sha256 = "16dpdhgzyxvi80h6wl68ggwi5msag6l8jasn8nxa4jky4nki50x4";
+       libraryHaskellDepends = [ base numeric-prelude test-invariant ];
        description = "Pointless functions and a simplistic zero and monoid";
        license = lib.licenses.gpl2Only;
      }) {};
@@ -283157,25 +286448,19 @@ self: {
 
   "uniform-fileio" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, exceptions
-     , filepath, HTF, monads-tf, path, path-io, pipes, pureMD5
-     , quickcheck-text, safe, test-invariant, text, uniform-algebras
-     , uniform-error, uniform-strings, uniform-time, unix, zlib
+     , filepath, monads-tf, path, path-io, pipes, pureMD5, safe, text
+     , uniform-algebras, uniform-error, uniform-strings, uniform-time
+     , unix, zlib
      }:
      mkDerivation {
        pname = "uniform-fileio";
-       version = "0.1.0";
-       sha256 = "0rxhjn4qv2dbdycdfqblymyfj3wax586ar77zwdgkyld7v7s12ya";
+       version = "0.1.2";
+       sha256 = "0i9lq07k9v7s119rj2xv5nz5zi7jq60bndvb9v5n6gvrn2zqfm3s";
        libraryHaskellDepends = [
          base bytestring deepseq directory exceptions filepath monads-tf
          path path-io pipes pureMD5 safe text uniform-algebras uniform-error
          uniform-strings uniform-time unix zlib
        ];
-       testHaskellDepends = [
-         base bytestring deepseq directory exceptions filepath HTF monads-tf
-         path path-io pipes pureMD5 quickcheck-text safe test-invariant text
-         uniform-algebras uniform-error uniform-strings uniform-time unix
-         zlib
-       ];
        description = "Uniform file handling operations";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
@@ -283220,16 +286505,15 @@ self: {
 
   "uniform-strings" = callPackage
     ({ mkDerivation, base, bytestring, MissingH, monads-tf, network-uri
-     , pretty-show, safe, snap-core, split, text, text-icu
-     , uniform-algebras
+     , pretty-show, safe, split, text, text-icu, uniform-algebras
      }:
      mkDerivation {
        pname = "uniform-strings";
-       version = "0.1.0";
-       sha256 = "17w04fxx81gk02xl7ca64amc0hb06i77fbanhykp3qd70nd2k8ix";
+       version = "0.1.2";
+       sha256 = "05x74a4mkyrpvbi4w3i0m1lj26d7mdcszdfdz4sixm69fg8jjh33";
        libraryHaskellDepends = [
          base bytestring MissingH monads-tf network-uri pretty-show safe
-         snap-core split text text-icu uniform-algebras
+         split text text-icu uniform-algebras
        ];
        description = "Manipulate and convert strings of characters uniformly and consistently";
        license = lib.licenses.gpl2Only;
@@ -283257,8 +286541,8 @@ self: {
      }:
      mkDerivation {
        pname = "uniformBase";
-       version = "0.1.0";
-       sha256 = "1ya87jzfmzldd66rwxrccidkrpknqws5rslq9zdsjcdngn2w0sa9";
+       version = "0.1.3";
+       sha256 = "0gsms5zs28dhhn6jqdd5chb3liyp398kcyjb8z6hmyaprlc73pyl";
        libraryHaskellDepends = [
          base uniform-algebras uniform-error uniform-fileio uniform-strings
          uniform-time
@@ -283660,8 +286944,8 @@ self: {
      }:
      mkDerivation {
        pname = "units";
-       version = "2.4.1.4";
-       sha256 = "1r6innb99d6ljbbbrl2q9i4l6j4cb96mmv0k56q9l2xckwlsfz32";
+       version = "2.4.1.5";
+       sha256 = "09ssrid1an2nv6j9skb787i3hqiz5hgz020q13552w55m0smw4c9";
        libraryHaskellDepends = [
          base containers deepseq lens linear mtl multimap singletons syb
          template-haskell th-desugar units-parser vector-space
@@ -284071,10 +287355,8 @@ self: {
     ({ mkDerivation, base, unix }:
      mkDerivation {
        pname = "unix-compat";
-       version = "0.5.3";
-       sha256 = "1j75i3dj489rz60ij3nfza774mb7mw33amhdkm10dd0dxabvb4q8";
-       revision = "1";
-       editedCabalFile = "0njyblscnj44gl55rgr66fv9q9camgw9zff93hj3q2d7k49vv726";
+       version = "0.5.4";
+       sha256 = "1cd4lh2c16h7y5hzrcn5l9vir8aq2wcizwksppnagklsdsfmf942";
        libraryHaskellDepends = [ base unix ];
        description = "Portable POSIX-compatibility layer";
        license = lib.licenses.bsd3;
@@ -284304,8 +287586,8 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.20";
-       sha256 = "0mbm57h7r16qd7kpglbm50qrnfjmazd70avbrl647n4jwhlrp7my";
+       version = "0.2.21.0";
+       sha256 = "0z3g4hnwzianh8a564zfwj4rvs1ayggxm0wcwi97hc1g0ndz5hic";
        libraryHaskellDepends = [
          async base bytestring deepseq directory filepath process stm time
          transformers unix unliftio-core
@@ -285172,8 +288454,8 @@ self: {
        pname = "uri-encode";
        version = "1.5.0.7";
        sha256 = "0lj2h701af12539p957rw24bxr07mfqd5r4h52i42f43ax165767";
-       revision = "1";
-       editedCabalFile = "172mgdd8dgy8wphgl9vbvp26lrzp01prr5jshbng4rlhpyd340p1";
+       revision = "2";
+       editedCabalFile = "03pmvbi56gmg1z2wr3glncc7dbyh666bqp565inh31qzsp9zwmgj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -285331,7 +288613,6 @@ self: {
        ];
        description = "Memory efficient url type and parser";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "url-decoders" = callPackage
@@ -285373,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
@@ -285450,7 +288746,6 @@ self: {
        ];
        description = "Painfully simple URL deployment";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "urn" = callPackage
@@ -285748,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
@@ -286183,6 +289480,8 @@ self: {
        pname = "uuid";
        version = "1.3.15";
        sha256 = "0r05h16gd7fgfpq9iz43jcn9jzrgfa0gk4cv1xy0p4rli66rb1gq";
+       revision = "1";
+       editedCabalFile = "1wjcic98hvvz5xynlrk60dyfhw0nypv56sza24g2z3q62013rfrg";
        libraryHaskellDepends = [
          base binary bytestring cryptohash-md5 cryptohash-sha1 entropy
          network-info random text time uuid-types
@@ -286228,7 +289527,6 @@ self: {
        ];
        description = "UUID parsing using byteverse packages";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uuid-crypto" = callPackage
@@ -286300,8 +289598,8 @@ self: {
        pname = "uuid-types";
        version = "1.0.5";
        sha256 = "1pd7xd6inkmmwjscf7pmiwqjks9y0gi1p8ahqbapvh34gadvhs5d";
-       revision = "1";
-       editedCabalFile = "16n39hl1i1amvca70bkkl6hxs9q90n6kp14aqb380q2l2f5pdr3w";
+       revision = "2";
+       editedCabalFile = "0x3limqb67l4i0lfdaqgqbjak7mi7ydk5dhkv80791r3hyhbhiw4";
        libraryHaskellDepends = [
          base binary bytestring deepseq hashable random template-haskell
          text
@@ -287389,8 +290687,8 @@ self: {
      }:
      mkDerivation {
        pname = "vcs-ignore";
-       version = "0.0.1.0";
-       sha256 = "0zz4vwvzxgdqpi30ncp82irdwjyam23z0bdz834xxghfg70q2b5m";
+       version = "0.0.2.0";
+       sha256 = "0cyab0mj225j79fpk4386iz4llpzisxpipb0v2i773psz4saw8ar";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -287501,12 +290799,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vec_0_4_1" = callPackage
+    ({ mkDerivation, adjunctions, base, base-compat, boring, criterion
+     , deepseq, distributive, fin, hashable, indexed-traversable
+     , inspection-testing, QuickCheck, semigroupoids, tagged
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "vec";
+       version = "0.4.1";
+       sha256 = "01v5zd4lak76ymlhi3zjpsy3g01vcchwx1b7cavc4rdzpdjqw58b";
+       libraryHaskellDepends = [
+         adjunctions base boring deepseq distributive fin hashable
+         indexed-traversable QuickCheck semigroupoids transformers
+       ];
+       testHaskellDepends = [
+         base base-compat fin inspection-testing tagged
+       ];
+       benchmarkHaskellDepends = [ base criterion fin vector ];
+       description = "Vec: length-indexed (sized) list";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vec-lens" = callPackage
     ({ mkDerivation, base, fin, lens, vec }:
      mkDerivation {
        pname = "vec-lens";
        version = "0.4";
        sha256 = "1qjv8wg6b8wbldvripn84vyw5cgpcpgh2v6v1nk7pzwrn99lfb7h";
+       revision = "1";
+       editedCabalFile = "1708aj1b38cd17fmv6giidq8hdpq96imka8hfr7z1y5nq9bf8am3";
        libraryHaskellDepends = [ base fin lens vec ];
        description = "Vec: length-indexed (sized) list: lens support";
        license = lib.licenses.bsd3;
@@ -287518,6 +290841,8 @@ self: {
        pname = "vec-optics";
        version = "0.4";
        sha256 = "0vdpxkmhiqbql68rkrfaci6c6n7sbr49p08q0jj6cvbmjy3aa1lg";
+       revision = "1";
+       editedCabalFile = "0bwian3k668nbp7vnawdzzr9sv8vxhfsd3qjyfk9k112w3y2kjfs";
        libraryHaskellDepends = [ base fin optics-core vec ];
        description = "Vec: length-indexed (sized) list: optics support";
        license = lib.licenses.bsd3;
@@ -287660,8 +290985,10 @@ self: {
      }:
      mkDerivation {
        pname = "vector-builder";
-       version = "0.3.8.2";
-       sha256 = "1g1zxp6xcwcq3372a5qqs44cl09a48p21m1jsys5bsampprlmcgs";
+       version = "0.3.8.3";
+       sha256 = "0rajpk54n9anlqixxr2qn7qximhhy7qa4gg4czwmj5zl5ysj2br4";
+       revision = "1";
+       editedCabalFile = "026yz76lqi7pllcnix8jwsqa7dp775nd0ssf6pkjbqnmlgf5iblf";
        libraryHaskellDepends = [ base vector ];
        testHaskellDepends = [
          attoparsec QuickCheck quickcheck-instances rerebase tasty
@@ -287704,19 +291031,19 @@ self: {
      }) {};
 
   "vector-circular" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, hedgehog, hedgehog-classes
+    ({ mkDerivation, base, deepseq, hedgehog, hedgehog-classes
      , nonempty-vector, primitive, semigroupoids, template-haskell
      , vector
      }:
      mkDerivation {
        pname = "vector-circular";
-       version = "0.1.3";
-       sha256 = "0xz2ih8x7a5731bbirhmkl7hyarzijnwgvj8zm9wxs1nky8yjyb7";
+       version = "0.1.4";
+       sha256 = "18aijs6yn01bv3zal7l0wsck0hd54bbhckjc67cvr8wmpqdk2xxw";
        libraryHaskellDepends = [
          base deepseq nonempty-vector primitive semigroupoids
          template-haskell vector
        ];
-       testHaskellDepends = [ base doctest hedgehog hedgehog-classes ];
+       testHaskellDepends = [ base hedgehog hedgehog-classes ];
        description = "circular vectors";
        license = lib.licenses.mit;
      }) {};
@@ -287794,8 +291121,8 @@ self: {
      }:
      mkDerivation {
        pname = "vector-extras";
-       version = "0.2.3";
-       sha256 = "13iiy6jdbp4fgdxhm7jhkr1hqilgmzwmfjyjna6a64vb20vr9xyr";
+       version = "0.2.6";
+       sha256 = "08zf1h6inqziy52q2nmgkvnaccpbg389pz41yyg6h0drsg5x8r4h";
        libraryHaskellDepends = [
          base containers deferred-folds foldl hashable unordered-containers
          vector
@@ -288192,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
@@ -288382,12 +291730,27 @@ self: {
        broken = true;
      }) {};
 
+  "verset" = callPackage
+    ({ mkDerivation, base, bytestring, containers, extra, mtl, safe
+     , text, time, uuid
+     }:
+     mkDerivation {
+       pname = "verset";
+       version = "0.0.1.7";
+       sha256 = "12bbadznnp4pksy1yb7lw4zniksnaz7ipmfyji0ak6b0bqfh74s2";
+       libraryHaskellDepends = [
+         base bytestring containers extra mtl safe text time uuid
+       ];
+       description = "Small alternative prelude";
+       license = lib.licenses.mit;
+     }) {};
+
   "versioning" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, semigroupoids }:
      mkDerivation {
        pname = "versioning";
-       version = "0.3.1.0";
-       sha256 = "0m5hgl6n8znxn63pkvv7yb2nx7is4wivbzvbyh698cv5d92jb7cp";
+       version = "0.3.2.0";
+       sha256 = "0lwhcyb4g2j7wz16b7qp6vzmawlxx8k0xfvr9sdw5maljir0hykx";
        libraryHaskellDepends = [ aeson base bytestring semigroupoids ];
        testHaskellDepends = [ aeson base bytestring hspec ];
        description = "Type-safe data versioning";
@@ -288424,8 +291787,8 @@ self: {
      }:
      mkDerivation {
        pname = "versions";
-       version = "5.0.1";
-       sha256 = "0m7c0iiws3j716a5wksv9dxfcsz6dlvpw147m7ah2b8pfjwqg48c";
+       version = "5.0.2";
+       sha256 = "1955mng820n4bmk5vb8h7whlcwnnvxmwbdp7bxabyfy536bkdb77";
        libraryHaskellDepends = [
          base deepseq hashable megaparsec parser-combinators text
        ];
@@ -288438,23 +291801,23 @@ self: {
      }) {};
 
   "vessel" = callPackage
-    ({ mkDerivation, aeson, aeson-gadt-th, base, bifunctors
-     , constraints, constraints-extras, containers, dependent-map
-     , dependent-monoidal-map, dependent-sum
+    ({ mkDerivation, aeson, aeson-gadt-th, base, base-orphans
+     , bifunctors, constraints, constraints-extras, containers
+     , dependent-map, dependent-monoidal-map, dependent-sum
      , dependent-sum-aeson-orphans, dependent-sum-template, lens
      , markdown-unlit, monoidal-containers, mtl, patch, reflex
      , semialign, text, these, witherable
      }:
      mkDerivation {
        pname = "vessel";
-       version = "0.2.0.0";
-       sha256 = "04zdcl4pbqf4b9nvgp7dnv91i1mbm60lnldxijgpnmlhrrff2dd4";
+       version = "0.2.1.0";
+       sha256 = "04pvn5rs3pgi917m0rsfmjxc035ns8sd79vza72qh0skvsg81pq6";
        libraryHaskellDepends = [
-         aeson aeson-gadt-th base bifunctors constraints constraints-extras
-         containers dependent-map dependent-monoidal-map dependent-sum
-         dependent-sum-aeson-orphans dependent-sum-template lens
-         markdown-unlit monoidal-containers mtl patch reflex semialign text
-         these witherable
+         aeson aeson-gadt-th base base-orphans bifunctors constraints
+         constraints-extras containers dependent-map dependent-monoidal-map
+         dependent-sum dependent-sum-aeson-orphans dependent-sum-template
+         lens markdown-unlit monoidal-containers mtl patch reflex semialign
+         text these witherable
        ];
        libraryToolDepends = [ markdown-unlit ];
        doHaddock = false;
@@ -288832,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
@@ -289129,8 +292515,8 @@ self: {
      }:
      mkDerivation {
        pname = "vivid";
-       version = "0.5.1.0";
-       sha256 = "06skwy5k4sgmh7m20m5v3g82kvm6sxq2sxmg039s45pvkbfp1c32";
+       version = "0.5.2.0";
+       sha256 = "1p4x6q2ks259xzigj31f8bz3562k07dzj77a9bnhl934sl85hz6q";
        libraryHaskellDepends = [
          base binary bytestring cereal containers directory filepath
          hashable MonadRandom mtl network process random random-shuffle
@@ -289608,8 +292994,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan";
-       version = "3.14.2";
-       sha256 = "0zd6zki6hx0bhqvy20yhvd3597nxaasl2665s7m64bi02qjgjwsj";
+       version = "3.16.2";
+       sha256 = "1wawlq1x9nw9g5iynf8mhlv36876skpvfalfpnvdh55hfw4qznzh";
        libraryHaskellDepends = [ base bytestring transformers vector ];
        libraryPkgconfigDepends = [ vulkan ];
        testHaskellDepends = [
@@ -289641,8 +293027,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan-utils";
-       version = "0.5.4";
-       sha256 = "1mkx2h7yjmq8djgg1pi3vlx2pq4armasa1hvam955p3x09vwbisk";
+       version = "0.5.6";
+       sha256 = "1d8nnv31f35k2qn232vx8g3w06vbvik0ih98g7m7lrv0bqi74i12";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring containers dependent-map dependent-sum extra
@@ -290038,6 +293424,17 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "wai-env" = callPackage
+    ({ mkDerivation, base, data-default, vault, wai }:
+     mkDerivation {
+       pname = "wai-env";
+       version = "1.0.0.0";
+       sha256 = "03hnp38qgi2qqkzpds7ac2arvsjvpbfdkwwfcl5c6f6zjdwzq97y";
+       libraryHaskellDepends = [ base data-default vault wai ];
+       description = "WAI middleware to parameterize requests with environment";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "wai-eventsource" = callPackage
     ({ mkDerivation, wai }:
      mkDerivation {
@@ -290060,8 +293457,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-extra";
-       version = "3.1.7";
-       sha256 = "1avf7bjcsbs8l6klp5kkd0cd2dc5n0j0a2yf8813pnwfn5b7qyd4";
+       version = "3.1.8";
+       sha256 = "0ddgdr0304b3kg50vfjsg3bxlhfp3vmsb4c8i80k8adqzh54hz5l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -290086,8 +293483,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-feature-flags";
-       version = "0.1.0.2";
-       sha256 = "03w8hskgajvkhjsrj7ynxcx92qghqfd9rfxb5v4wm7wb6lag8qvh";
+       version = "0.1.0.3";
+       sha256 = "1w1n24w7wf3jxnlid437d4rva86vbhyvlrz8nq7z6bc3xi8bdlkz";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -290415,6 +293812,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "wai-logger_2_4_0" = callPackage
+    ({ mkDerivation, base, byteorder, bytestring, Cabal, cabal-doctest
+     , doctest, fast-logger, http-types, network, wai
+     }:
+     mkDerivation {
+       pname = "wai-logger";
+       version = "2.4.0";
+       sha256 = "02i9jsy5gdglqwwk5gcvax8y498lz9flrfp4v9nrv8rmrmd66zh5";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base byteorder bytestring fast-logger http-types network wai
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "A logging system for WAI";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "wai-logger-buffered" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default
      , http-types, time, wai, warp
@@ -290730,7 +294145,6 @@ self: {
        ];
        description = "Route to different middlewares based on the incoming Accept header";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-middleware-crowd" = callPackage
@@ -291033,6 +294447,8 @@ self: {
        pname = "wai-middleware-static";
        version = "0.9.1";
        sha256 = "0zf91kq5mdbdzi7rccyjrk5y4lpnwl8pb83wpcifr0gqp6a6avcy";
+       revision = "1";
+       editedCabalFile = "1r8vglmczbkz7x7dw943ah5zdf2zsnrkc1jn941axmnk9p6c959c";
        libraryHaskellDepends = [
          base bytestring containers cryptonite directory expiring-cache-map
          filepath http-types memory mime-types old-locale semigroups text
@@ -291802,15 +295218,13 @@ self: {
   "warc" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, errors, exceptions
      , filepath, free, hashable, lens, mmorph, optparse-applicative
-     , pipes, pipes-attoparsec, pipes-bytestring, pipes-zlib, text, time
+     , pipes, pipes-attoparsec, pipes-bytestring, text, time
      , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "warc";
-       version = "1.0.4";
-       sha256 = "1mxfm8kdvm0l1lnzma4n9mriz94ypckxqcz1f34fa3n1j3ckc45b";
-       revision = "6";
-       editedCabalFile = "0s563lg70ks3s6plvwi79glq6vkrh7n769fh6l6b4pvj7vp604cj";
+       version = "1.0.5";
+       sha256 = "1s01x0w37gsh4kkv1jq54i0yf7mxk6m6jr6djwql8dz8nqrny8j7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -291820,8 +295234,8 @@ self: {
        ];
        executableHaskellDepends = [
          attoparsec base bytestring errors exceptions filepath free lens
-         optparse-applicative pipes pipes-attoparsec pipes-bytestring
-         pipes-zlib text time transformers
+         optparse-applicative pipes pipes-attoparsec pipes-bytestring text
+         time transformers
        ];
        description = "A parser for the Web Archive (WARC) format";
        license = lib.licenses.bsd3;
@@ -291839,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
@@ -292330,6 +295744,7 @@ self: {
        testHaskellDepends = [ base bytestring HUnit network-uri text ];
        description = "Composable, reversible, efficient web routing using invertible invariants and bijections";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-mongrel2" = callPackage
@@ -292431,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 ];
@@ -292625,43 +296040,183 @@ self: {
      }) {};
 
   "web3" = callPackage
-    ({ mkDerivation, aeson, async, attoparsec, base, base58string
-     , basement, bitvec, bytestring, cereal, cryptonite, data-default
-     , errors, exceptions, generics-sop, hspec, hspec-contrib
-     , hspec-discover, hspec-expectations, http-client, http-client-tls
-     , http-media, http-types, machines, memory, microlens
-     , microlens-aeson, microlens-mtl, microlens-th, mtl, network
-     , OneTuple, parsec, random, relapse, servant, servant-client, split
-     , stm, tagged, tar, template-haskell, text, time, transformers
-     , unordered-containers, uuid-types, vector, vinyl, websockets
+    ({ mkDerivation, base, web3-ethereum, web3-polkadot, web3-provider
      }:
      mkDerivation {
        pname = "web3";
-       version = "0.9.1.0";
-       sha256 = "12nx9hgwx61yj44iym7na9jxf05jry3aa82j2s8l5rpw3qdv7dis";
+       version = "1.0.0.0";
+       sha256 = "0bnamwvdxl3i1p8bflnhaxxpn0bqcnf174gwplqjkxdc9pzfhiig";
        libraryHaskellDepends = [
-         aeson async attoparsec base base58string basement bitvec bytestring
-         cereal cryptonite data-default errors exceptions generics-sop hspec
-         http-client http-client-tls http-media http-types machines memory
-         microlens microlens-aeson microlens-mtl microlens-th mtl network
-         OneTuple parsec relapse servant servant-client tagged tar
-         template-haskell text transformers unordered-containers uuid-types
-         vector vinyl websockets
+         base web3-ethereum web3-polkadot web3-provider
+       ];
+       description = "Haskell Web3 library";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "web3-bignum" = callPackage
+    ({ mkDerivation, base, cereal, hspec, hspec-contrib, hspec-discover
+     , hspec-expectations, memory, memory-hexstring, scale, wide-word
+     }:
+     mkDerivation {
+       pname = "web3-bignum";
+       version = "1.0.0.0";
+       sha256 = "140qv8y6b63by81z0k5by8vqr7x0gc106a67r35qbhdfmbhv71n0";
+       libraryHaskellDepends = [
+         base cereal memory memory-hexstring scale wide-word
        ];
        testHaskellDepends = [
-         aeson async attoparsec base base58string basement bitvec bytestring
-         cereal cryptonite data-default errors exceptions generics-sop hspec
-         hspec-contrib hspec-discover hspec-expectations http-client
-         http-client-tls http-media http-types machines memory microlens
-         microlens-aeson microlens-mtl microlens-th mtl network OneTuple
-         parsec random relapse servant servant-client split stm tagged tar
-         template-haskell text time transformers unordered-containers
-         uuid-types vector vinyl websockets
+         base cereal hspec hspec-contrib hspec-discover hspec-expectations
+         memory memory-hexstring scale wide-word
        ];
        testToolDepends = [ hspec-discover ];
-       description = "Web3 API for Haskell";
-       license = lib.licenses.bsd3;
+       description = "Fixed size big integers for Haskell Web3 library";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "web3-crypto" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, cryptonite
+     , hspec, hspec-contrib, hspec-discover, hspec-expectations, memory
+     , memory-hexstring, text, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "web3-crypto";
+       version = "1.0.0.0";
+       sha256 = "16ygvnkxcalh7a0h7l1bj5gyir79gihcwzzqk31qibvd1r17mwd6";
+       libraryHaskellDepends = [
+         aeson base bytestring containers cryptonite memory memory-hexstring
+         text uuid-types vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers cryptonite hspec hspec-contrib
+         hspec-discover hspec-expectations memory memory-hexstring text
+         uuid-types vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Cryptograhical primitives for Haskell Web3 library";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "web3-ethereum" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, exceptions
+     , generics-sop, hspec, hspec-contrib, hspec-discover
+     , hspec-expectations, jsonrpc-tinyclient, machines, memory
+     , memory-hexstring, microlens, microlens-aeson, mtl, OneTuple
+     , relapse, tagged, template-haskell, text, transformers, vinyl
+     , web3-crypto, web3-solidity
+     }:
+     mkDerivation {
+       pname = "web3-ethereum";
+       version = "1.0.0.0";
+       sha256 = "1vsvxhl6w6hjiv6b61sn8f2bnj6p55b4qyvblrfpk60k7pqq774c";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default exceptions generics-sop
+         jsonrpc-tinyclient machines memory memory-hexstring microlens
+         microlens-aeson mtl OneTuple relapse tagged template-haskell text
+         transformers vinyl web3-crypto web3-solidity
+       ];
+       testHaskellDepends = [
+         aeson base bytestring data-default exceptions generics-sop hspec
+         hspec-contrib hspec-discover hspec-expectations jsonrpc-tinyclient
+         machines memory memory-hexstring microlens microlens-aeson mtl
+         OneTuple relapse tagged template-haskell text transformers vinyl
+         web3-crypto web3-solidity
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Ethereum support for Haskell Web3 library";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "web3-ipfs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client, http-media
+     , http-types, mtl, servant, servant-client, tar, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "web3-ipfs";
+       version = "1.0.0.0";
+       sha256 = "0m6rqk5vd53gl7mykwzzqblhgdqrjzjyqb5mqkagb1z0llwqxafg";
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-media http-types mtl servant
+         servant-client tar text unordered-containers
+       ];
+       description = "IPFS support for Haskell Web3 library";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "web3-polkadot" = callPackage
+    ({ mkDerivation, aeson, animalcase, base, base58-bytestring
+     , bytestring, containers, cryptonite, generics-sop, hspec
+     , hspec-contrib, hspec-discover, hspec-expectations
+     , hspec-expectations-json, jsonrpc-tinyclient, memory
+     , memory-hexstring, microlens, microlens-mtl, microlens-th, mtl
+     , parsec, scale, text, web3-bignum, web3-crypto
+     }:
+     mkDerivation {
+       pname = "web3-polkadot";
+       version = "1.0.0.0";
+       sha256 = "0sx9lj7px6m5ag4bk4imllh4bmy7kfgkfy1zb9hqjkdmjwn2i2w5";
+       libraryHaskellDepends = [
+         aeson animalcase base base58-bytestring bytestring containers
+         cryptonite generics-sop jsonrpc-tinyclient memory memory-hexstring
+         microlens microlens-mtl microlens-th mtl parsec scale text
+         web3-bignum web3-crypto
+       ];
+       testHaskellDepends = [
+         aeson animalcase base base58-bytestring bytestring containers
+         cryptonite generics-sop hspec hspec-contrib hspec-discover
+         hspec-expectations hspec-expectations-json jsonrpc-tinyclient
+         memory memory-hexstring microlens microlens-mtl microlens-th mtl
+         parsec scale text web3-bignum web3-crypto
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Polkadot support for Haskell Web3 library";
+       license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "web3-provider" = callPackage
+    ({ mkDerivation, async, base, data-default, exceptions, http-client
+     , jsonrpc-tinyclient, mtl, network, text, transformers, websockets
+     }:
+     mkDerivation {
+       pname = "web3-provider";
+       version = "1.0.0.0";
+       sha256 = "03c892xj7yxwbb4r1vpqzwgsf4fyk9389rqivpr6bwklnx9230ic";
+       libraryHaskellDepends = [
+         async base data-default exceptions http-client jsonrpc-tinyclient
+         mtl network text transformers websockets
+       ];
+       description = "Node connection provider for Haskell Web3 library";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "web3-solidity" = callPackage
+    ({ mkDerivation, aeson, base, basement, bytestring, cereal
+     , data-default, generics-sop, hspec, hspec-contrib, hspec-discover
+     , hspec-expectations, memory, memory-hexstring, microlens, OneTuple
+     , parsec, tagged, template-haskell, text, web3-crypto
+     }:
+     mkDerivation {
+       pname = "web3-solidity";
+       version = "1.0.0.0";
+       sha256 = "1n5jf9vdxps8sxcaa3k2a4m3qn5w3kphvvn7f4jy0dh0zkr7i5nm";
+       libraryHaskellDepends = [
+         aeson base basement bytestring cereal data-default generics-sop
+         memory memory-hexstring microlens OneTuple parsec tagged
+         template-haskell text web3-crypto
+       ];
+       testHaskellDepends = [
+         aeson base basement bytestring cereal data-default generics-sop
+         hspec hspec-contrib hspec-discover hspec-expectations memory
+         memory-hexstring microlens OneTuple parsec tagged template-haskell
+         text web3-crypto
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Solidity language for Haskell Web3 library";
+       license = lib.licenses.asl20;
      }) {};
 
   "webapi" = callPackage
@@ -292717,22 +296272,35 @@ self: {
      }) {};
 
   "webauthn" = callPackage
-    ({ mkDerivation, aeson, asn1-encoding, asn1-types, base
-     , base16-bytestring, base64-bytestring, bytestring, cborg, cereal
-     , containers, cryptonite, hashable, memory, serialise, text, x509
-     , x509-validation
+    ({ mkDerivation, aeson, asn1-encoding, asn1-parse, asn1-types, base
+     , base16-bytestring, base64-bytestring, binary, bytestring, cborg
+     , containers, cryptonite, directory, file-embed, filepath, hashable
+     , hourglass, hspec, hspec-expectations-json, jose, lens, memory
+     , monad-time, mtl, pem, QuickCheck, quickcheck-instances, serialise
+     , singletons, text, time, unordered-containers, uuid, validation
+     , x509, x509-store, x509-validation
      }:
      mkDerivation {
        pname = "webauthn";
-       version = "0";
-       sha256 = "1nmrxpc0q7bs4z7gnkxbm02qpp8c2rn48hxi52y1k4iqglp9mmp0";
+       version = "0.3.0.0";
+       sha256 = "0nn6nx6f0wlbfipfhs4irkqhk4bknhcy83n3wxpml9lkgvf8m1kj";
        libraryHaskellDepends = [
-         aeson asn1-encoding asn1-types base base16-bytestring
-         base64-bytestring bytestring cborg cereal containers cryptonite
-         hashable memory serialise text x509 x509-validation
+         aeson asn1-encoding asn1-parse asn1-types base base16-bytestring
+         base64-bytestring binary bytestring cborg containers cryptonite
+         file-embed hashable hourglass jose lens memory monad-time mtl
+         serialise singletons text time unordered-containers uuid validation
+         x509 x509-store x509-validation
        ];
-       description = "Web Authentication API";
-       license = lib.licenses.bsd3;
+       testHaskellDepends = [
+         aeson asn1-encoding base bytestring containers cryptonite directory
+         filepath hourglass hspec hspec-expectations-json memory mtl pem
+         QuickCheck quickcheck-instances serialise singletons text
+         unordered-containers uuid validation x509 x509-store
+       ];
+       description = "Relying party (server) implementation of the WebAuthn 2 specification";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "webby" = callPackage
@@ -293056,6 +296624,41 @@ self: {
        broken = true;
      }) {};
 
+  "webgear-core" = callPackage
+    ({ mkDerivation, arrows, base, bytestring, case-insensitive
+     , filepath, http-api-data, http-media, http-types, jose, mime-types
+     , network, safe-exceptions, tagged, template-haskell, text
+     , unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "webgear-core";
+       version = "1.0.1";
+       sha256 = "06yg14x40j7jg5gy875f2g4fplnh08678qy3naqapd8ysvw52rmb";
+       libraryHaskellDepends = [
+         arrows base bytestring case-insensitive filepath http-api-data
+         http-media http-types jose mime-types network safe-exceptions
+         tagged template-haskell text unordered-containers wai
+       ];
+       description = "Composable, type-safe library to build HTTP APIs";
+       license = lib.licenses.mpl20;
+     }) {};
+
+  "webgear-openapi" = callPackage
+    ({ mkDerivation, arrows, base, http-media, http-types
+     , insert-ordered-containers, lens, openapi3, text, webgear-core
+     }:
+     mkDerivation {
+       pname = "webgear-openapi";
+       version = "1.0.1";
+       sha256 = "0fxj5bhsqxkjizyl0wcwbs5ai05lksf3cwzz2535lb4rh90ndx3b";
+       libraryHaskellDepends = [
+         arrows base http-media http-types insert-ordered-containers lens
+         openapi3 text webgear-core
+       ];
+       description = "Composable, type-safe library to build HTTP API servers";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "webgear-server" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , bytestring-conversion, case-insensitive, http-api-data
@@ -293082,6 +296685,32 @@ self: {
        license = lib.licenses.mpl20;
      }) {};
 
+  "webgear-server_1_0_1" = callPackage
+    ({ mkDerivation, aeson, arrows, base, base64-bytestring, bytestring
+     , bytestring-conversion, http-api-data, http-media, http-types
+     , jose, monad-time, mtl, QuickCheck, quickcheck-instances, tasty
+     , tasty-hunit, tasty-quickcheck, text, unordered-containers, wai
+     , webgear-core
+     }:
+     mkDerivation {
+       pname = "webgear-server";
+       version = "1.0.1";
+       sha256 = "0v27iq4jqbxyn66pzi7sz0qapd4a0k1iifvj2ng488jl2j852xa2";
+       libraryHaskellDepends = [
+         aeson arrows base base64-bytestring bytestring
+         bytestring-conversion http-api-data http-media http-types jose
+         monad-time mtl text unordered-containers wai webgear-core
+       ];
+       testHaskellDepends = [
+         base base64-bytestring bytestring http-types QuickCheck
+         quickcheck-instances tasty tasty-hunit tasty-quickcheck text wai
+         webgear-core
+       ];
+       description = "Composable, type-safe library to build HTTP API servers";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "webidl" = callPackage
     ({ mkDerivation, base, bytestring, HSFFIG, LEXER, parsec, pretty
      , utf8-env, utf8-string
@@ -293965,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
@@ -294183,8 +297812,8 @@ self: {
        pname = "windns";
        version = "0.1.0.1";
        sha256 = "016d1cf51jqvhbzlf5kbizv4l4dymradac1420rl47q2k5faczq8";
-       revision = "3";
-       editedCabalFile = "10jidn34rmv0amhw3c24pkl64q5xl3c6l9yqwcvqdn0vkbd0bf2v";
+       revision = "4";
+       editedCabalFile = "17wzjaj16q4bm8kz2mcs02naj6v89lnbwjfgmrf81c9dw873l9px";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the <windns.h>/dnsapi.dll standard library";
@@ -294304,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
@@ -294361,8 +298010,8 @@ self: {
      }:
      mkDerivation {
        pname = "witch";
-       version = "0.3.4.1";
-       sha256 = "12nrikciqg85lnkncdibs65z0psn93n68ljy1gvdiaxcbxzydswp";
+       version = "0.3.4.2";
+       sha256 = "1qrvr8ink179xq69gwawvph942hkv798kvy303si5l1vmni6skh3";
        libraryHaskellDepends = [
          base bytestring containers template-haskell text time
        ];
@@ -294374,6 +298023,26 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
+  "witch_1_0_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HUnit
+     , template-haskell, text, time
+     }:
+     mkDerivation {
+       pname = "witch";
+       version = "1.0.0.1";
+       sha256 = "010agcfcmyjmcz6wl7wrwd6w7y60d4163vlvrp1b2h8w86z87jlm";
+       libraryHaskellDepends = [
+         base bytestring containers template-haskell text time
+       ];
+       testHaskellDepends = [
+         base bytestring containers HUnit template-haskell text time
+       ];
+       description = "Convert values from one type into another";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ maralorn ];
+     }) {};
+
   "with-index" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -294610,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
@@ -294693,10 +298364,8 @@ self: {
     ({ mkDerivation, base, base-compat, text }:
      mkDerivation {
        pname = "wl-pprint-text";
-       version = "1.2.0.1";
-       sha256 = "030ckgzz14sv2c317g4j5g68hyq9xi40cmv0apwclw6sc6xgsvly";
-       revision = "1";
-       editedCabalFile = "0yy27q99hmkf8amy0gfrh2xgwa22nb294p2fvqawjbpwxa2x1qxb";
+       version = "1.2.0.2";
+       sha256 = "0axivwh7bxmljxpfnccs66knxzrqck07byxmp2j737xbb26pf5cj";
        libraryHaskellDepends = [ base base-compat text ];
        description = "A Wadler/Leijen Pretty Printer for Text values";
        license = lib.licenses.bsd3;
@@ -295073,8 +298742,8 @@ self: {
      }:
      mkDerivation {
        pname = "wordlist";
-       version = "0.1.0.4";
-       sha256 = "0v2xnm4iqk8wh3l05vkmfblwk49q54awp2qr1cwszgxfzaz4n9zb";
+       version = "0.1.0.5";
+       sha256 = "11h52dykc23ks3wn3apnp81jm091igqy8dkgs7apk8yh141vdfak";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base optparse-applicative text ];
@@ -295850,7 +299519,6 @@ self: {
        ];
        description = "A simple CLI utility for interacting with a websocket";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ws-chans" = callPackage
@@ -295977,27 +299645,29 @@ self: {
 
   "wstunnel" = callPackage
     ({ mkDerivation, async, base, base64-bytestring, binary, bytestring
-     , classy-prelude, cmdargs, connection, hslogger, hspec, iproute
-     , mtl, network, network-conduit-tls, streaming-commons, text
-     , unordered-containers, websockets
+     , case-insensitive, classy-prelude, cmdargs, connection, hslogger
+     , hspec, iproute, mtl, network, network-conduit-tls
+     , streaming-commons, text, unordered-containers, websockets
      }:
      mkDerivation {
        pname = "wstunnel";
-       version = "0.3.1.0";
-       sha256 = "14f790bya156ffdp2rrxzibz54yd714p59h56amfnsakrn8ygghy";
+       version = "0.4.1.0";
+       sha256 = "022x4g1ya5676v7q0q3rzwn6rzlnz74f8xwwp3mnvyih025cx770";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base base64-bytestring binary bytestring classy-prelude
-         connection hslogger iproute mtl network network-conduit-tls
-         streaming-commons text unordered-containers websockets
+         async base base64-bytestring binary bytestring case-insensitive
+         classy-prelude connection hslogger iproute mtl network
+         network-conduit-tls streaming-commons text unordered-containers
+         websockets
        ];
        executableHaskellDepends = [
-         async base bytestring classy-prelude cmdargs hslogger text
+         async base bytestring case-insensitive classy-prelude cmdargs
+         hslogger text
        ];
        testHaskellDepends = [
-         async base binary bytestring classy-prelude hspec network
-         network-conduit-tls streaming-commons text
+         async base binary bytestring case-insensitive classy-prelude hspec
+         network network-conduit-tls streaming-commons text
        ];
        description = "Tunneling program over websocket protocol";
        license = lib.licenses.bsd3;
@@ -296159,6 +299829,21 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "wuss_2_0_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, connection, network, websockets
+     }:
+     mkDerivation {
+       pname = "wuss";
+       version = "2.0.0.1";
+       sha256 = "17s6wilzyzsdc174a3an12pkq20cy7x2pfrn4jmdp30f468r47fb";
+       libraryHaskellDepends = [
+         base bytestring connection network websockets
+       ];
+       description = "Secure WebSocket (WSS) clients";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "wx" = callPackage
     ({ mkDerivation, base, stm, time, wxcore }:
      mkDerivation {
@@ -296400,10 +300085,8 @@ self: {
      }:
      mkDerivation {
        pname = "x509";
-       version = "1.7.5";
-       sha256 = "1j67c35g8334jx7x32hh6awhr43dplp0qwal5gnlkmx09axzrc5i";
-       revision = "1";
-       editedCabalFile = "1z98llpggldy4yb7afcsn3r3q4vklvx2pqyrhy9fir5y2yd5l601";
+       version = "1.7.6";
+       sha256 = "114qjgx080zxbw5w9c3yy28k905bq99rwl6zgbsa0y3gawx9mmd5";
        libraryHaskellDepends = [
          asn1-encoding asn1-parse asn1-types base bytestring containers
          cryptonite hourglass memory mtl pem
@@ -296423,10 +300106,8 @@ self: {
      }:
      mkDerivation {
        pname = "x509-store";
-       version = "1.6.7";
-       sha256 = "1y8yyr1i95jkllg8k0z54k5v4vachp848clc07m33xpxidn3b1lp";
-       revision = "1";
-       editedCabalFile = "04h2h8kdzhd2fp3w4a834xc1n88b1jgrxlgcsynfn0iwpbsb41x7";
+       version = "1.6.9";
+       sha256 = "1nn8ql7vkp4qgf2msm600sr6ranpsajbhq0sc4c0l6pk1i9174n5";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base bytestring containers cryptonite
          directory filepath mtl pem x509
@@ -296442,8 +300123,8 @@ self: {
      }:
      mkDerivation {
        pname = "x509-system";
-       version = "1.6.6";
-       sha256 = "06a4m9c7vlr9nhp9gmqbb46arf0yj1dkdm4nip03hzy67spdmp20";
+       version = "1.6.7";
+       sha256 = "049bdaxrih49nkhkyl2342qnbx2f0q99z8rld648bz1kkgyizz38";
        libraryHaskellDepends = [
          base bytestring containers directory filepath mtl pem process x509
          x509-store
@@ -296459,8 +300140,8 @@ self: {
      }:
      mkDerivation {
        pname = "x509-util";
-       version = "1.6.5";
-       sha256 = "1d8s1aaymc0bim871cblv1jpy6vnkadxz4spd7wpr90vswkd2hl7";
+       version = "1.6.6";
+       sha256 = "08gygraxkblmj9s3dg9ffxabjlqcwc4vx78l7qahh4rjg4sx3glf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -296478,8 +300159,8 @@ self: {
      }:
      mkDerivation {
        pname = "x509-validation";
-       version = "1.6.11";
-       sha256 = "16yihzljql3z8w5rgdl95fv3hgk7yd86kbl9b3glllsark5j2hzr";
+       version = "1.6.12";
+       sha256 = "1j7is28ljz4yxwxz5ax3x7ykgwkr38dx46bw7vgj4arkk7hl93hd";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base bytestring containers cryptonite
          data-default-class hourglass memory mtl pem x509 x509-store
@@ -296821,6 +300502,8 @@ self: {
        pname = "xhb";
        version = "0.6.2015.8.1";
        sha256 = "1rq6g96v1fs66kdmnkvlkcxrv614ha77czclm3sfw274f7q2r2kb";
+       revision = "1";
+       editedCabalFile = "0f2vhak11kijd74il1r27h1zbcsj36yyv5x02h3kq6vdx0h0zyd9";
        libraryHaskellDepends = [
          base binary byteorder bytestring containers network parsec stm
          Xauth
@@ -297372,8 +301055,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-hamlet";
-       version = "0.5.0.1";
-       sha256 = "0jrhcjy7ww59dafg857f2g2df1fw2jmbwcs1q379ph0pc5rxj3lj";
+       version = "0.5.0.2";
+       sha256 = "109fck1626d74s00ssjffg837584wf7dxpswkil37wqqfy94mw2z";
        libraryHaskellDepends = [
          base containers parsec shakespeare template-haskell text
          xml-conduit
@@ -297548,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
@@ -297607,6 +301290,29 @@ self: {
        broken = true;
      }) {};
 
+  "xml-prettify-text" = callPackage
+    ({ mkDerivation, base, filepath, gauge, mtl, optparse-applicative
+     , protolude, tasty, tasty-golden, text, text-show, with-utf8
+     }:
+     mkDerivation {
+       pname = "xml-prettify-text";
+       version = "1.0.0.3";
+       sha256 = "1bxp9dvy3js7az1c1kbrgjhhp4ssg7mb1gxgfj2qcaggv2b97v7i";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base mtl protolude text text-show ];
+       executableHaskellDepends = [
+         base optparse-applicative protolude text with-utf8
+       ];
+       testHaskellDepends = [
+         base filepath protolude tasty tasty-golden text
+       ];
+       benchmarkHaskellDepends = [ base gauge protolude ];
+       description = "XML pretty printer";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
   "xml-push" = callPackage
     ({ mkDerivation, base, bytestring, crypto-random, handle-like
      , monad-control, monads-tf, peyotls, random, sasl, simple-pipe, stm
@@ -297700,7 +301406,6 @@ self: {
        ];
        description = "Parse XML from bytes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "xml-to-json" = callPackage
@@ -298036,8 +301741,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.40";
-       sha256 = "1mrdiblm8vilkm1w23pz6xbi16zh1b1lvql26czjzw5k79vd67sf";
+       version = "0.41";
+       sha256 = "0z9dm6drsqpd9axras11f5k3mlj8rwdj4hh8f8g9hv0c3jmyd9d7";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -299635,8 +303340,8 @@ self: {
        pname = "yampa-canvas";
        version = "0.2.3";
        sha256 = "0a1pq1psmc4490isr19z4prnqq1w3374vkfmzpw9s20s2p6k5y7r";
-       revision = "5";
-       editedCabalFile = "0v17zrnlwcf8ggp0d3879qavnxz5cdnqyw292cl3dr038agkk8gf";
+       revision = "6";
+       editedCabalFile = "01daplf24d506lvgaxc69rhkd3idcyad9igqpb630k03gswvvpcl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base blank-canvas stm time Yampa ];
@@ -299919,8 +303624,8 @@ self: {
        pname = "yasi";
        version = "0.1.2.1";
        sha256 = "0647z79wva7apkp0swj7gax780vqmhr5czxrvg88gl3bi03wcapl";
-       revision = "2";
-       editedCabalFile = "1pn72i0177k1x1frl0k8lqkw2vxnq77vhs9kgmvg4r76mw2z2vkm";
+       revision = "4";
+       editedCabalFile = "0vljbnfrcscb468mcqx62r0xcdnz73glam67v73jqq6g4vhyaimr";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
        testHaskellDepends = [
          base hedgehog tasty tasty-hedgehog tasty-hunit text
@@ -300252,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
@@ -300339,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
@@ -300354,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
@@ -300707,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
@@ -300831,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
@@ -304050,6 +307781,18 @@ self: {
        broken = true;
      }) {};
 
+  "zigzag" = callPackage
+    ({ mkDerivation, base, tasty, tasty-hunit, tasty-quickcheck }:
+     mkDerivation {
+       pname = "zigzag";
+       version = "0.0.1.0";
+       sha256 = "1gy2hv4ggxfwrxg9v3qyxpfrm1j5sixckc2j3h37ckzsh5v06mga";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
+       description = "Zigzag encoding of integers into unsigned integers";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "zim-parser" = callPackage
     ({ mkDerivation, array, base, base-compat, binary, binary-conduit
      , bytestring, conduit, conduit-extra, hspec, lzma
@@ -304079,8 +307822,8 @@ self: {
        pname = "zinza";
        version = "0.2";
        sha256 = "1sy4chm8zan0ixgvvq4vm3fzvhqykn315l333al84768nly9rjv8";
-       revision = "2";
-       editedCabalFile = "17q1as97cazj2nkwdi31kkgaa3wrxpc8phdj6f9wr4jibbm3jyp6";
+       revision = "3";
+       editedCabalFile = "04xvwbwxg18hgfy67nlcvwa5j7wknf616f83jwdxrj8q51ii3gq5";
        libraryHaskellDepends = [
          base containers parsec text transformers
        ];
@@ -304647,8 +308390,8 @@ self: {
      }:
      mkDerivation {
        pname = "zoovisitor";
-       version = "0.1.7.0";
-       sha256 = "0g9881llwb7arv4m3klc69lhzlwbdb7wrgv7418qcl2a8nmvp4cb";
+       version = "0.1.8.0";
+       sha256 = "190d6zrhfwjmwxagfr0phdvjdb2z73dmvypjavdv00dxzh68l384";
        libraryHaskellDepends = [ base Z-Data Z-IO ];
        librarySystemDepends = [ zookeeper_mt ];
        testHaskellDepends = [ async base hspec uuid Z-Data ];
diff --git a/nixpkgs/pkgs/development/haskell-modules/hoogle.nix b/nixpkgs/pkgs/development/haskell-modules/hoogle.nix
index d55f37f980d8..0b3f71995c99 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hoogle.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hoogle.nix
@@ -1,34 +1,22 @@
 # Install not only the Hoogle library and executable, but also a local Hoogle
 # database which provides "Source" links to all specified 'packages' -- or the
 # current Haskell Platform if no custom package set is provided.
-#
-# It is intended to be used in config.nix similarly to:
-#
-# { packageOverrides = pkgs: rec {
-#
-#   haskellPackages =
-#     let callPackage = pkgs.lib.callPackageWith haskellPackages;
-#     in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
-#         extension = self: super: {
-#           hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
-#             packages = with pkgs.haskellPackages; [
-#               mmorph
-#               monadControl
-#             ];
-#           };
-#         };
-#       });
-# }}
-#
-# This will build mmorph and monadControl, and have the hoogle installation
-# refer to their documentation via symlink so they are not garbage collected.
 
-{ lib, stdenv, buildPackages
-, hoogle, writeText, ghc
-, packages
+{ lib, stdenv, buildPackages, haskellPackages
+, writeText
 }:
 
+# This argument is a function which selects a list of Haskell packages from any
+# passed Haskell package set.
+#
+# Example:
+#   (hpkgs: [ hpkgs.mtl hpkgs.lens ])
+selectPackages:
+
 let
+  inherit (haskellPackages) ghc hoogle;
+  packages = selectPackages haskellPackages;
+
   wrapper = ./hoogle-local-wrapper.sh;
   isGhcjs = ghc.isGhcjs or false;
   opts = lib.optionalString;
@@ -55,7 +43,7 @@ let
 
 in
 buildPackages.stdenv.mkDerivation {
-  name = "hoogle-local-0.1";
+  name = "hoogle-with-packages";
   buildInputs = [ghc hoogle];
 
   inherit docPackages;
diff --git a/nixpkgs/pkgs/development/haskell-modules/lib.nix b/nixpkgs/pkgs/development/haskell-modules/lib/default.nix
index 5aa2d6865279..a4f4104e9768 100644
--- a/nixpkgs/pkgs/development/haskell-modules/lib.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/lib/default.nix
@@ -9,7 +9,7 @@ rec {
      between the function name and argument of another. haskell.lib.compose is
      preferred for any new code.
   */
-  compose = import ./lib/compose.nix { inherit pkgs lib; };
+  compose = import ./compose.nix { inherit pkgs lib; };
 
   /* This function takes a file like `hackage-packages.nix` and constructs
      a full package set out of that.
diff --git a/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix b/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
index 62bcf7dc84c3..e9ce4f127051 100644
--- a/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix
@@ -87,8 +87,11 @@ let
       drv = if lib.isFunction fn then fn else import fn;
       auto = builtins.intersectAttrs (lib.functionArgs drv) scope;
 
+      # Converts a returned function to a functor attribute set if necessary
+      ensureAttrs = v: if builtins.isFunction v then { __functor = _: v; } else v;
+
       # this wraps the `drv` function to add a `overrideScope` function to the result.
-      drvScope = allArgs: drv allArgs // {
+      drvScope = allArgs: ensureAttrs (drv allArgs) // {
         overrideScope = f:
           let newScope = mkScope (fix' (extends f scope.__unfix__));
           # note that we have to be careful here: `allArgs` includes the auto-arguments that
@@ -117,11 +120,6 @@ let
   defaultScope = mkScope self;
   callPackage = drv: args: callPackageWithScope defaultScope drv args;
 
-  withPackages = packages: buildPackages.callPackage ./with-packages-wrapper.nix {
-    inherit (self) ghc llvmPackages;
-    inherit packages;
-  };
-
   # Use cabal2nix to create a default.nix for the package sources found at 'src'.
   haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }:
     let
@@ -266,22 +264,53 @@ in package-set { inherit pkgs lib callPackage; } self // {
            then (modifier drv).envFunc {inherit withHoogle;}
            else modifier drv;
 
-    ghcWithPackages = selectFrom: withPackages (selectFrom self);
+    # This can be used to easily create a derivation containing GHC and the specified set of Haskell packages.
+    #
+    # Example:
+    #   $ nix-shell -p 'haskellPackages.ghcWithPackages (hpkgs: [ hpkgs.mtl hpkgs.lens ])'
+    #   $ ghci    # in the nix-shell
+    #   Prelude > import Control.Lens
+    #
+    # GHC is setup with a package database with all the specified Haskell packages.
+    #
+    # ghcWithPackages :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation
+    ghcWithPackages = self.callPackage ./with-packages-wrapper.nix {
+      haskellPackages = self;
+    };
+
 
     # Put 'hoogle' into the derivation's PATH with a database containing all
     # the package's dependencies; run 'hoogle server --local' in a shell to
     # host a search engine for the dependencies.
     #
+    # Example usage:
+    #  $ nix-shell -p 'haskellPackages.hoogleWithPackages (p: [ p.mtl p.lens ])'
+    #  [nix-shell] $ hoogle server
+    #
+    # hoogleWithPackages :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation
+    #
     # To reload the Hoogle server automatically on .cabal file changes try
     # this:
     # echo *.cabal | entr -r -- nix-shell --run 'hoogle server --local'
-    ghcWithHoogle = selectFrom:
-      let
-        packages = selectFrom self;
-        hoogle = callPackage ./hoogle.nix {
-          inherit packages;
-        };
-      in withPackages (packages ++ [ hoogle ]);
+    hoogleWithPackages = self.callPackage ./hoogle.nix {
+      haskellPackages = self;
+    };
+    hoogleLocal =
+      { packages ? [] }:
+      lib.warn "hoogleLocal is deprecated, use hoogleWithPackages instead" (
+        self.hoogleWithPackages (_: packages)
+      );
+    # This is like a combination of ghcWithPackages and hoogleWithPackages.
+    # It provides a derivation containing both GHC and Hoogle with an index of
+    # the given Haskell package database.
+    #
+    # Example:
+    #   $ nix-shell -p 'haskellPackages.ghcWithHoogle (hpkgs: [ hpkgs.conduit hpkgs.lens ])'
+    #
+    # ghcWithHoogle :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation
+    ghcWithHoogle = self.ghcWithPackages.override {
+      withHoogle = true;
+    };
 
     # Returns a derivation whose environment contains a GHC with only
     # the dependencies of packages listed in `packages`, not the
diff --git a/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix b/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix
index e5fe60a0ae5c..7c7add61679d 100644
--- a/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -1,16 +1,20 @@
-{ lib, stdenv, ghc, llvmPackages, packages, symlinkJoin, makeWrapper
+{ lib, stdenv, haskellPackages, symlinkJoin, makeWrapper
 # GHC will have LLVM available if necessary for the respective target,
 # so useLLVM only needs to be changed if -fllvm is to be used for a
 # platform that has NCG support
 , useLLVM ? false
+, withHoogle ? false
+, hoogleWithPackages
 , postBuild ? ""
 , ghcLibdir ? null # only used by ghcjs, when resolving plugins
 }:
 
-assert ghcLibdir != null -> (ghc.isGhcjs or false);
-
-# This wrapper works only with GHC 6.12 or later.
-assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs || ghc.isHaLVM;
+# This argument is a function which selects a list of Haskell packages from any
+# passed Haskell package set.
+#
+# Example:
+#   (hpkgs: [ hpkgs.mtl hpkgs.lens ])
+selectPackages:
 
 # It's probably a good idea to include the library "ghc-paths" in the
 # compiler environment, because we have a specially patched version of
@@ -34,6 +38,11 @@ assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs || ghc.isHaLVM;
 #   fi
 
 let
+  inherit (haskellPackages) llvmPackages ghc;
+
+  packages      = selectPackages haskellPackages
+                  ++ lib.optional withHoogle (hoogleWithPackages selectPackages);
+
   isGhcjs       = ghc.isGhcjs or false;
   isHaLVM       = ghc.isHaLVM or false;
   ghc761OrLater = isGhcjs || isHaLVM || lib.versionOlder "7.6.1" ghc.version;
@@ -53,6 +62,9 @@ let
                   ([ llvmPackages.llvm ]
                    ++ lib.optional stdenv.targetPlatform.isDarwin llvmPackages.clang);
 in
+
+assert ghcLibdir != null -> (ghc.isGhcjs or false);
+
 if paths == [] && !useLLVM then ghc else
 symlinkJoin {
   # this makes computing paths from the name attribute impossible;
@@ -152,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/nixpkgs/pkgs/development/idris-modules/default.nix b/nixpkgs/pkgs/development/idris-modules/default.nix
index d6fb1ac78bd6..ea8697482dab 100644
--- a/nixpkgs/pkgs/development/idris-modules/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/idris-modules/protobuf.nix b/nixpkgs/pkgs/development/idris-modules/protobuf.nix
deleted file mode 100644
index ebfc3c275082..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/interpreters/acl2/default.nix b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
index a1b59b8bf69d..51b1cfa11414 100644
--- a/nixpkgs/pkgs/development/interpreters/acl2/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/acl2/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, callPackage, fetchFromGitHub, runCommandLocal, makeWrapper, substituteAll
 , sbcl, bash, which, perl, hostname
-, openssl, glucose, minisat, abc-verifier, z3, python
+, openssl, glucose, minisat, abc-verifier, z3, python2
 , certifyBooks ? true
 } @ args:
 
@@ -48,7 +48,7 @@ in stdenv.mkDerivation rec {
     which perl hostname makeWrapper
     # Some of the books require one or more of these external tools:
     openssl.out glucose minisat abc-verifier libipasir
-    z3 (python.withPackages (ps: [ ps.z3 ]))
+    z3 (python2.withPackages (ps: [ ps.z3 ]))
   ];
 
   # NOTE: Parallel building can be memory-intensive depending on the number of
diff --git a/nixpkgs/pkgs/development/interpreters/bats/default.nix b/nixpkgs/pkgs/development/interpreters/bats/default.nix
index 1412985a247e..9cdde90c41d3 100644
--- a/nixpkgs/pkgs/development/interpreters/bats/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/bats/default.nix
@@ -1,28 +1,52 @@
-{ stdenv, lib, fetchzip, bash, makeWrapper, coreutils, gnugrep, ncurses, doCheck ? true }:
+{ resholvePackage
+, lib
+, fetchFromGitHub
+, bash
+, coreutils
+, gnugrep
+, ncurses
+, doInstallCheck ? true
+}:
 
-stdenv.mkDerivation rec {
+resholvePackage rec {
   pname = "bats";
   version = "1.5.0";
 
-  src = fetchzip {
-    url = "https://github.com/bats-core/bats-core/archive/v${version}.tar.gz";
-    hash = "sha256-MEkMi2w8G9FZhE3JvzzbqObcErQ9WFXy5mtKwQOoxbk=";
+  src = fetchFromGitHub {
+    owner = "bats-core";
+    repo = "bats-core";
+    rev = "v${version}";
+    sha256 = "sha256-MEkMi2w8G9FZhE3JvzzbqObcErQ9WFXy5mtKwQOoxbk=";
   };
 
-  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 ];
+  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/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix
index 93755e83a3d6..ca2391ebd25d 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "babashka";
-  version = "0.7.3";
+  version = "0.7.5";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-zbxFMc02hbsU2ERlUzqMBHwHYfORB7TkMINrKC52PPU=";
+    sha256 = "sha256-ap6YCRUqtIgh36eTIk5BSjUildvYhqkC48Y4dxNMU8c=";
   };
 
   executable = "bb";
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/default.nix b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
index 9fba39d70c7f..a66f0422b6db 100644
--- a/nixpkgs/pkgs/development/interpreters/clojure/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.3.1053";
+  version = "1.10.3.1082";
 
   src = fetchurl {
     # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "p91+Ylx8HQL/o3Pq4Pd1c9GAMiOXvJSw+09LGYLj5Wo=";
+    sha256 = "sha256-8hW8zgP+D72MtXYFPXx9FfkThQuCBo1Y6CU5w7xPE7c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/obb.nix b/nixpkgs/pkgs/development/interpreters/clojure/obb.nix
new file mode 100644
index 000000000000..adb7a9261739
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/clojure/obb.nix
@@ -0,0 +1,83 @@
+{ lib
+, stdenv
+, fetchurl
+, babashka
+, cacert
+, clojure
+, git
+, jdk
+, obb
+, fetchFromGitHub
+, makeWrapper
+, runCommand }:
+
+stdenv.mkDerivation rec {
+  pname = "obb";
+  version = "0.0.2";
+
+  src = fetchFromGitHub {
+    owner = "babashka";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1Gxh4IMtytQCuPS+BWOc5AgjEBxa43ebYfDsxLSPeY0=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ babashka cacert git jdk ];
+
+  configurePhase = ''
+    runHook preConfigure
+
+    mkdir -p .m2
+    substituteInPlace deps.edn --replace ':paths' ':mvn/local-repo "./.m2" :paths'
+    substituteInPlace bb.edn --replace ':paths' ':mvn/local-repo "./.m2" :paths'
+    echo deps.edn
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    export DEPS_CLJ_TOOLS_DIR=${clojure}
+    export DEPS_CLJ_TOOLS_VERSION=${clojure.version}
+    mkdir -p .gitlibs
+    mkdir -p .cpcache
+    export GITLIBS=.gitlibs
+    export CLJ_CACHE=.cpcache
+
+    bb build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    ln -s /usr/bin/osascript $out/bin/osascript
+
+    install -Dm755 "out/bin/obb" "$out/bin/obb"
+    wrapProgram $out/bin/obb --prefix PATH : $out/bin
+
+    runHook postInstall
+  '';
+
+  passthru.tests = {
+    simple = runCommand "${pname}-test" {} ''
+      [ $(${obb}/bin/obb -e '(+ 1 2)') = '3' ]
+      touch $out
+    '';
+  };
+
+  meta = with lib; {
+    description = "Ad-hoc ClojureScript scripting of Mac applications via Apple's Open Scripting Architecture";
+    homepage = "https://github.com/babashka/obb";
+    license = licenses.epl10;
+    maintainers = with maintainers; [
+      willcohen
+    ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix b/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix
index 7bd3913260d4..d8fa630c30df 100644
--- a/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix
@@ -8,7 +8,7 @@
 , unzip
 , nodePackages
 , xcbuild
-, python
+, python2
 , openssl
 , pkgs
 , fetchgit
@@ -154,7 +154,7 @@ stdenv.mkDerivation {
     nodejs
     clojure
     jre
-    python
+    python2
     openssl
     gnutar
     nodePackages."lumo-build-deps-../interpreters/clojurescript/lumo"
diff --git a/nixpkgs/pkgs/development/interpreters/cyclone/default.nix b/nixpkgs/pkgs/development/interpreters/cyclone/default.nix
index 0d2984904d85..7364cf7d4400 100644
--- a/nixpkgs/pkgs/development/interpreters/cyclone/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cyclone/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, libck, darwin }:
 
 let
-  version = "0.30.0";
+  version = "0.34.0";
   bootstrap = stdenv.mkDerivation {
     pname = "cyclone-bootstrap";
     inherit version;
@@ -10,7 +10,7 @@ let
       owner = "justinethier";
       repo = "cyclone-bootstrap";
       rev = "v${version}";
-      sha256 = "sha256-/zAcCBdJ7YQXsspdjrMca1Oj9SUUFXQKLwZPoZLhHYg=";
+      sha256 = "sha256-kJBPb0Ej32HveY/vdGpH2gyxSwq8Xq7muneFIw3Y7hM=";
     };
 
     enableParallelBuilding = true;
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     owner = "justinethier";
     repo = "cyclone";
     rev = "v${version}";
-    sha256 = "sha256-a3wiqKlIbnvIhyrI0lyVGciQiM7KSuYH5iUfGFrgOuM=";
+    sha256 = "sha256-4U/uOTbFpPTC9BmO6Wkhy4PY8UCFVt5eHSGqrOlKT/U=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/interpreters/dart/default.nix b/nixpkgs/pkgs/development/interpreters/dart/default.nix
index 452d0edc3e0a..366b7df3edd4 100644
--- a/nixpkgs/pkgs/development/interpreters/dart/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/dart/default.nix
@@ -2,7 +2,7 @@
 , lib
 , fetchurl
 , unzip
-, version ? "2.14.3"
+, version ? "2.15.1"
 , sources ? let
     base = "https://storage.googleapis.com/dart-archive/channels";
     x86_64 = "x64";
@@ -10,24 +10,24 @@
     aarch64 = "arm64";
     # Make sure that if the user overrides version parameter they're
     # also need to override sources, to avoid mistakes
-    version = "2.14.3";
+    version = "2.15.1";
   in
   {
     "${version}-x86_64-darwin" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip";
-      sha256 = "0is4gz99i06yb4jisxcz2c15jqkaz6ayhg9b8zb3s0s8yp59r2iq";
+      sha256 = "sha256-s6bkwh2m5KdRr/WxWXwItO9YaDpp/HI3xjnS2UHmN+I=";
     };
     "${version}-x86_64-linux" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip";
-      sha256 = "0wg1mnj4qrv22z510032jnwb3z39gvzlrv5wic2ci5mg7316xlya";
+      sha256 = "sha256-D0XcqlO0CQtpsne4heqaTLOkFYnJEZET4bl4rVXOM18=";
     };
     "${version}-i686-linux" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${i686}-release.zip";
-      sha256 = "0gnjk3lh63m0naaw67g9w7wys5cgx2ipzd1dznqnlvxp2vj1gj5p";
+      sha256 = "sha256-SRq5TtxS+bwCqVxa0U2Zhn8J1Wtm4Onq+3uQS+951sw=";
     };
     "${version}-aarch64-linux" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip";
-      sha256 = "1j7snnf3a0jly85njq8npqikrdhz9lkirhvik1hkpd9sv7qfbvd6";
+      sha256 = "sha256-iDbClCNDUsxT6K6koc4EQuu7dppTbOfzCVedpQIKI5U=";
     };
   }
 }:
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     homepage = "https://www.dartlang.org/";
-    maintainers = with maintainers; [ grburst thiagokokada flexagoon ];
+    maintainers = with maintainers; [ grburst flexagoon ];
     description = "Scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps";
     longDescription = ''
       Dart is a class-based, single inheritance, object-oriented language
diff --git a/nixpkgs/pkgs/development/interpreters/duktape/default.nix b/nixpkgs/pkgs/development/interpreters/duktape/default.nix
index ba533a172761..912fc691dd91 100644
--- a/nixpkgs/pkgs/development/interpreters/duktape/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/elixir/1.13.nix b/nixpkgs/pkgs/development/interpreters/elixir/1.13.nix
index 78a7458443e9..0e1ddcc19bf0 100644
--- a/nixpkgs/pkgs/development/interpreters/elixir/1.13.nix
+++ b/nixpkgs/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.1";
-  sha256 = "0z0b1w2vvw4vsnb99779c2jgn9bgslg7b1pmd9vlbv02nza9qj5p";
+  version = "1.13.3";
+  sha256 = "sha256-xOIGMpjemPi1xLiYmFpQR4FD6PzeFBxSJP4QpNnEUSE=";
   minimumOTPVersion = "22";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R22.nix b/nixpkgs/pkgs/development/interpreters/erlang/R22.nix
index 9236ea428948..968583543406 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/R22.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/R22.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "22.3.4.20";
-  sha256 = "sha256-EUErOCW16eUb/p5dLpFV7sQ3mXlCF/OgOvGAAyYEvLo=";
+  version = "22.3.4.24";
+  sha256 = "0c9713xa8sjw7nr55hysgcnbvj7gzbrpzdl94y1nqn7vw4ni8is3";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R23.nix b/nixpkgs/pkgs/development/interpreters/erlang/R23.nix
index 3d0a2b160065..a0d831d631f4 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/R23.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/R23.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "23.3.4.5";
-  sha256 = "2u/w8IPKHEZ+rZ3T7Wn9+Ggxe6JY8cHz8q/N0RjbrNU=";
+  version = "23.3.4.10";
+  sha256 = "0sfz7n748hvhmcygnvb6h31ag35p59aaa9h8gdpqsh6p4hnjh1mf";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R24.nix b/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
index b59626e70671..b86667ec1e76 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "24.1.7";
-  sha256 = "sha256-R4rZVMn9AGvOy31eA1dsz2CFMKOG/cXkbLaJtT7zBrU=";
+  version = "24.2";
+  sha256 = "10s57v2i2qqyg3gddm85n3crzrkikl4zfwgzqmxjzdynsyb4xg68";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/ivy/default.nix b/nixpkgs/pkgs/development/interpreters/ivy/default.nix
new file mode 100644
index 000000000000..1e994a7a603e
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/ivy/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "ivy";
+  version = "0.1.13";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "robpike";
+    repo = "ivy";
+    sha256 = "sha256-IiQrmmHitKUItm/ZSTQ3jGO3ls8vPPexyOtUvfq3yeU=";
+  };
+
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    homepage = "https://github.com/robpike/ivy";
+    description = "ivy, an APL-like calculator";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ smasher164 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/janet/darwin-remove-net-test.patch b/nixpkgs/pkgs/development/interpreters/janet/darwin-remove-net-test.patch
new file mode 100644
index 000000000000..b2a66d5465ea
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/janet/default.nix b/nixpkgs/pkgs/development/interpreters/janet/default.nix
index 35631174e260..a6ee3dc61fad 100644
--- a/nixpkgs/pkgs/development/interpreters/janet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/janet/jpm.nix b/nixpkgs/pkgs/development/interpreters/janet/jpm.nix
new file mode 100644
index 000000000000..708930851255
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/joker/default.nix b/nixpkgs/pkgs/development/interpreters/joker/default.nix
index 17503fc66ec1..141bda75fa88 100644
--- a/nixpkgs/pkgs/development/interpreters/joker/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/joker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "0.17.3";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "sha256-mm1vFXaQEljsU7Yg+3zDF2MBsc/ePSVF9LezeMWCyL0=";
+    sha256 = "sha256-Iia4sl8lRTpek5aZvQW/yy+TnMq5KNJH+pBnksqL/G0=";
   };
 
   vendorSha256 = "sha256-AYoespfzFLP/jIIxbw5K653wc7sSfLY8K7di8GZ64wA=";
diff --git a/nixpkgs/pkgs/development/interpreters/jruby/default.nix b/nixpkgs/pkgs/development/interpreters/jruby/default.nix
index 4c19a2da8739..468f9fac64c1 100644
--- a/nixpkgs/pkgs/development/interpreters/jruby/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/lolcode/default.nix b/nixpkgs/pkgs/development/interpreters/lolcode/default.nix
index 65653701b806..0bb95ed6ea52 100644
--- a/nixpkgs/pkgs/development/interpreters/lolcode/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lolcode/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, doxygen, cmake, readline }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, doxygen, cmake, readline }:
 
 with lib;
 stdenv.mkDerivation rec {
@@ -6,9 +6,11 @@ stdenv.mkDerivation rec {
   pname = "lolcode";
   version = "0.11.2";
 
-  src = fetchurl {
-    url = "https://github.com/justinmeza/lci/archive/v${version}.tar.gz";
-    sha256 = "1li7ikcrs7wqah7gqkirg0k61n6pm12w7pydin966x1sdn9na46b";
+  src = fetchFromGitHub {
+    owner = "justinmeza";
+    repo = "lci";
+    rev = "v${version}";
+    sha256 = "sha256-VMBW3/sw+1kI6iuOckSPU1TIeY6QORcSfFLFkRYw3Gs=";
   };
 
   nativeBuildInputs = [ pkg-config cmake doxygen ];
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.10.nix b/nixpkgs/pkgs/development/interpreters/love/0.10.nix
index ed002d99fbbe..2719008bbd9e 100644
--- a/nixpkgs/pkgs/development/interpreters/love/0.10.nix
+++ b/nixpkgs/pkgs/development/interpreters/love/0.10.nix
@@ -1,20 +1,18 @@
-{ lib, stdenv, fetchFromBitbucket, pkg-config, SDL2, libGLU, libGL, openal, luajit,
-  libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
-  libtheora, which, autoconf, automake, libtool
+{ lib, stdenv, fetchFromGitHub, pkg-config
+, SDL2, libGLU, libGL, openal, luajit
+, libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg
+, libtheora, which, autoconf, automake, libtool
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "love";
-  version = "0.10.2";
-in
+  version = "11.4";
 
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-  src = fetchFromBitbucket {
-    owner = "rude";
+  src = fetchFromGitHub {
+    owner = "love2d";
     repo = "love";
     rev = version;
-    sha256 = "19yfmlcx6w8yi4ndm5lni8lrsvnn77bxw5py0dc293nzzlaqa9ym";
+    sha256 = "sha256-C/Ifd0KjmaM5Y2fxBiDNz1GQoT4GeH/vyUCiira57U4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -32,7 +30,7 @@ stdenv.mkDerivation {
   NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
 
   meta = {
-    homepage = "http://love2d.org";
+    homepage = "https://love2d.org";
     description = "A Lua-based 2D game engine/scripting language";
     license = lib.licenses.zlib;
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.7.nix b/nixpkgs/pkgs/development/interpreters/love/0.7.nix
deleted file mode 100644
index 6d8b996f1835..000000000000
--- a/nixpkgs/pkgs/development/interpreters/love/0.7.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config
-, SDL, libGLU, libGL, openal, lua
-, libdevil, freetype, physfs
-, libmodplug, mpg123, libvorbis, libogg
-, libmng
-}:
-
-stdenv.mkDerivation rec {
-  pname = "love";
-  version = "0.7.2";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/rude/love/downloads/love-${version}-linux-src.tar.gz";
-    sha256 = "0s7jywkvydlshlgy11ilzngrnybmq5xlgzp2v2dhlffwrfqdqym5";
-  };
-
-  # see discussion on arch linux user repository (https://aur.archlinux.org/packages/love07/?setlang=cs#comment-684696)
-  patches = [ ./0.7-gl-prototypes.patch ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    SDL libGLU libGL openal lua
-    libdevil freetype physfs libmodplug mpg123 libvorbis libogg libmng
-  ];
-
-  preConfigure = ''
-    luaoptions="${"''"} lua luajit "
-    for i in lua luajit-; do
-      for j in 5 5.0 5.1 5.2 5.3 5.4; do
-        luaoptions="$luaoptions $i$j "
-      done
-    done
-    luaso="$(echo "${lua}/lib/"lib*.so.*)"
-    luaso="''${luaso##*/lib}"
-    luaso="''${luaso%%.so*}"
-    luaoptions="$luaoptions $luaso"
-    sed -e "s/${"''"} lua lua.*;/$luaoptions;/" -i configure
-
-    luaincdir="$(echo "${lua}/include"/*/ )"
-    test -d "$luaincdir" && {
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$luaincdir"
-    } || true
-  '';
-
-  NIX_CFLAGS_COMPILE = ''
-    -I${SDL.dev}/include/SDL
-    -I${freetype.dev}include/freetype2
-  '';
-
-  meta = {
-    homepage = "http://love2d.org";
-    description = "A Lua-based 2D game engine/scripting language";
-    license = lib.licenses.zlib;
-
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.raskin ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.8.nix b/nixpkgs/pkgs/development/interpreters/love/0.8.nix
deleted file mode 100644
index 8bad501170db..000000000000
--- a/nixpkgs/pkgs/development/interpreters/love/0.8.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config
-, SDL, libGLU, libGL, openal, lua
-, libdevil, freetype, physfs
-, libmodplug, mpg123, libvorbis, libogg
-}:
-
-stdenv.mkDerivation rec {
-  pname = "love";
-  version = "0.8.0";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/rude/love/downloads/${pname}-${version}-linux-src.tar.gz";
-    sha256 = "1k4fcsa8zzi04ja179bmj24hvqcbm3icfvrvrzyz2gw9qwfclrwi";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    SDL libGLU libGL openal lua
-    libdevil freetype physfs libmodplug mpg123 libvorbis libogg
-  ];
-
-  preConfigure = ''
-    luaoptions="${"''"} lua luajit "
-    for i in lua luajit-; do
-      for j in 5 5.0 5.1 5.2 5.3 5.4; do
-        luaoptions="$luaoptions $i$j "
-      done
-    done
-    luaso="$(echo "${lua}/lib/"lib*.so.*)"
-    luaso="''${luaso##*/lib}"
-    luaso="''${luaso%%.so*}"
-    luaoptions="$luaoptions $luaso"
-    sed -e "s/${"''"} lua lua.*;/$luaoptions;/" -i configure
-
-    luaincdir="$(echo "${lua}/include"/*/ )"
-    test -d "$luaincdir" && {
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$luaincdir"
-    } || true
-  '';
-
-  NIX_CFLAGS_COMPILE = toString [
-    "-I${SDL.dev}/include/SDL"
-    "-I${freetype.dev}include/freetype2"
-    "-DGL_GLEXT_PROTOTYPES" # https://community.khronos.org/t/glgenbuffers-was-not-declared-in-this-scope/59283/2
-  ];
-
-  meta = {
-    homepage = "http://love2d.org";
-    description = "A Lua-based 2D game engine/scripting language";
-    license = lib.licenses.zlib;
-
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.raskin ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/love/0.9.nix b/nixpkgs/pkgs/development/interpreters/love/0.9.nix
deleted file mode 100644
index 512aade7f953..000000000000
--- a/nixpkgs/pkgs/development/interpreters/love/0.9.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config
-, SDL2, libGLU, libGL, openal, luajit
-, libdevil, freetype, physfs
-, libmodplug, mpg123, libvorbis, libogg
-}:
-
-stdenv.mkDerivation rec {
-  pname = "love";
-  version = "0.9.1";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/rude/love/downloads/love-${version}-linux-src.tar.gz";
-    sha256 = "1pikd0bzb44r4bf0jbgn78whz1yswpq1n5jc8nf87v42pm30kp84";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    SDL2 libGLU libGL openal luajit
-    libdevil freetype physfs libmodplug mpg123 libvorbis libogg
-  ];
-
-  configureFlags = [
-    "--with-lua=luajit"
-  ];
-
-  NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3
-
-  meta = {
-    homepage = "http://love2d.org";
-    description = "A Lua-based 2D game engine/scripting language";
-    license = lib.licenses.zlib;
-
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.raskin ];
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/love/11.1.nix b/nixpkgs/pkgs/development/interpreters/love/11.nix
index bf76547a07a7..83095ac0924e 100644
--- a/nixpkgs/pkgs/development/interpreters/love/11.1.nix
+++ b/nixpkgs/pkgs/development/interpreters/love/11.nix
@@ -1,20 +1,18 @@
-{ lib, stdenv, fetchFromBitbucket, pkg-config, SDL2, libGLU, libGL, openal, luajit,
-  libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
-  libtheora, which, autoconf, automake, libtool
+{ lib, stdenv, fetchFromGitHub, pkg-config
+, SDL2, libGLU, libGL, openal, luajit
+, libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg
+, libtheora, which, autoconf, automake, libtool
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "love";
-  version = "11.3";
-in
+  version = "11.4";
 
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-  src = fetchFromBitbucket {
-    owner = "rude";
+  src = fetchFromGitHub {
+    owner = "love2d";
     repo = "love";
     rev = version;
-    sha256 = "18gfp65ngb8k8g7hgbw2bhrwk2i7m56m21d39pk4484q9z8p4vm7";
+    sha256 = "0kpdp6v8m8j0r7ppyy067shr0lfgrlh0dwb7ccws76d389vizwhb";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -32,7 +30,7 @@ stdenv.mkDerivation {
   NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
 
   meta = {
-    homepage = "http://love2d.org";
+    homepage = "https://love2d.org";
     description = "A Lua-based 2D game engine/scripting language";
     license = lib.licenses.zlib;
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/development/interpreters/luajit/default.nix b/nixpkgs/pkgs/development/interpreters/luajit/default.nix
index 87de82eb2630..4e2931aa7688 100644
--- a/nixpkgs/pkgs/development/interpreters/luajit/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/luajit/default.nix
@@ -113,6 +113,6 @@ stdenv.mkDerivation rec {
     homepage = "http://luajit.org";
     license = licenses.mit;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ thoughtpolice smironov vcunat andir lblasc ];
+    maintainers = with maintainers; [ thoughtpolice smironov vcunat lblasc ];
   } // extraMeta;
 }
diff --git a/nixpkgs/pkgs/development/interpreters/lunatic/default.nix b/nixpkgs/pkgs/development/interpreters/lunatic/default.nix
index cf4339c69ac4..425060e240d4 100644
--- a/nixpkgs/pkgs/development/interpreters/lunatic/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lunatic/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lunatic";
-  version = "0.7.0";
+  version = "0.7.5";
 
   src = fetchFromGitHub {
     owner = "lunatic-solutions";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+4014p+4QJ7nytFHHszAOYQHXLYXqR+Cip+vHxsH9l8=";
+    sha256 = "sha256-HqDrGoyYzdx8OTanlRd95L1wAtFeew7Xs2rZ7nK2Zus=";
   };
 
-  cargoSha256 = "sha256-RnaAiumTP4cW2eHUbnwyPdgJQLK65gqDI/NP2SOrO4E=";
+  cargoSha256 = "sha256-t3EwVYrKx7dvUcSp0B1iUAklg7WdQDld/T0O1HgHw54=";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/nixpkgs/pkgs/development/interpreters/micropython/default.nix b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
index 7591e997beb2..3c85b67a942d 100644
--- a/nixpkgs/pkgs/development/interpreters/micropython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "micropython";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchFromGitHub {
     owner  = "micropython";
     repo   = "micropython";
     rev    = "v${version}";
-    sha256 = "0aqij36iykmfdsv5dqrifvghmjx7qid8hmbxcpx3xpk3nizh7w84";
+    sha256 = "sha256-roskIDyY3ehasOm8Yn4braLNZtaeuItb9ZOUgF4CXww=";
     fetchSubmodules = true;
   };
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   skippedTests = ""
-    + lib.optionalString (stdenv.isDarwin) " -e uasyncio_basic -e uasyncio_wait_task"
+    + lib.optionalString (stdenv.isDarwin) " -e uasyncio_basic -e uasyncio_heaplock -e uasyncio_wait_task"
     + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) " -e ffi_callback"
     + lib.optionalString (stdenv.isLinux && stdenv.isAarch64) " -e float_parse"
   ;
diff --git a/nixpkgs/pkgs/development/interpreters/nextflow/default.nix b/nixpkgs/pkgs/development/interpreters/nextflow/default.nix
new file mode 100644
index 000000000000..c182214ccbb0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/php/7.4.nix b/nixpkgs/pkgs/development/interpreters/php/7.4.nix
index 1cc63d7b58a4..4bd00811b5fb 100644
--- a/nixpkgs/pkgs/development/interpreters/php/7.4.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/7.4.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "7.4.26";
-    sha256 = "0k803j5wf4jv72px0zqz2z2hxyk2w3jr6xyczy568dx4z2l8i2yn";
+    version = "7.4.28";
+    sha256 = "sha256-IIUIaoY0RLDjlUfeGklp/RxAoMGI61j6spOLZJsMS1g=";
   });
 
 in
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.0.nix b/nixpkgs/pkgs/development/interpreters/php/8.0.nix
index 8cf7d4ebc8df..1f1fa1dfbc45 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.0.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.0.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.0.13";
-    sha256 = "0djqh650clz4fy1zifazf0jq383znksydx23f1s48prrlixrshf2";
+    version = "8.0.16";
+    sha256 = "sha256-9J+Bge4pRjoNI6DGWWnpLVj+6KxWTfkXz/WOSNZeGEk=";
   });
 
 in
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.1.nix b/nixpkgs/pkgs/development/interpreters/php/8.1.nix
index 736d6c808cde..8d87a5e7a225 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.1.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.1.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.1.1";
-    sha256 = "sha256-j4vJytbNEk7cER99sKEJdF4vY4dwoQGzwiopU/eptA4=";
+    version = "8.1.3";
+    sha256 = "sha256-NUxOLFBgRuyoEtH8JSaISi9UtePSDvDt6RmmnrIy0L4=";
   });
 
 in
diff --git a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix b/nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix
deleted file mode 100644
index 3fb909b0bb0d..000000000000
--- a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib, fetchurl, python2Packages }:
-
-python2Packages.buildPythonPackage rec {
-  pname = "pyrex";
-  version = "0.9.5.1.1";
-
-  src = fetchurl {
-    url = "https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
-    sha256 = "0lxxvn4mjfb83swcbqb5908q4iy53w4ip5i0f9angm2va1jyhd3z";
-  };
-
-  doCheck = false;
-
-  meta = {
-    homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/";
-    description = "A language for writing Python extension modules";
-    license = lib.licenses.asl20;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix b/nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix
deleted file mode 100644
index e9d8d3097093..000000000000
--- a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib, fetchurl, python2Packages }:
-
-python2Packages.buildPythonPackage rec {
-  pname = "pyrex";
-  version = "0.9.6.4";
-
-  src = fetchurl {
-    url = "https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
-    sha256 = "18pd9f8al3l6i27cc0ddhgg7hxf28lnfs75x4a8jzscydxgiq5a8";
-  };
-
-  doCheck = false;
-
-  meta = {
-    homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/";
-    description = "A language for writing Python extension modules";
-    license = lib.licenses.asl20;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
index e4a974a255b8..1bcbd2bb4b5e 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
+++ b/nixpkgs/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
@@ -193,7 +192,8 @@ in with passthru; stdenv.mkDerivation {
   prePatch = optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
     substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
-  '' + optionalString (stdenv.isDarwin && x11Support) ''
+  '' + optionalString (pythonOlder "3.9" && stdenv.isDarwin && x11Support) ''
+    # Broken on >= 3.9; replaced with ./3.9/darwin-tcl-tk.patch
     substituteInPlace setup.py --replace /Library/Frameworks /no-such-path
   '';
 
@@ -276,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/nixpkgs/pkgs/development/interpreters/python/default.nix b/nixpkgs/pkgs/development/interpreters/python/default.nix
index 4a910472b151..33eb8489299b 100644
--- a/nixpkgs/pkgs/development/interpreters/python/default.nix
+++ b/nixpkgs/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 = "0";
-      suffix = "";
-    };
-    sha256 = "00mhn6kj4qkvkkv6hh2klnnjr0yk0c9hspp7njc7n6m1lvkzi6as";
     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;
   };
@@ -219,6 +221,7 @@ in {
     sqlite = null;
     configd = null;
     tzdata = null;
+    libffi = pkgs.libffiBoot; # without test suite
     stripConfig = true;
     stripIdlelib = true;
     stripTests = true;
@@ -273,29 +276,29 @@ in {
     sha256 = "sha256-LtAqyecQhZxBvILer7CGGXkruaJ+6qFnbHQe3t0hTdc=";
   };
 
-  pypy27_prebuilt = callPackage ./pypy/prebuilt.nix {
+  pypy27_prebuilt = callPackage ./pypy/prebuilt_2_7.nix {
     # Not included at top-level
     self = pythonInterpreters.pypy27_prebuilt;
     sourceVersion = {
       major = "7";
       minor = "3";
-      patch = "3";
+      patch = "6";
     };
-    sha256 = "1cfpdyvbvzwc0ynjr7248jhwgcpl7073wlp7w3g2v4fnrh1bc4pl"; # linux64
+    sha256 = "sha256-ghJ/Q/rmznXUfWxFOfjB6jcunC2/pA+ui1g1HVInk6Q="; # linux64
     pythonVersion = "2.7";
     inherit passthruFun;
   };
 
-  pypy36_prebuilt = callPackage ./pypy/prebuilt.nix {
+  pypy38_prebuilt = callPackage ./pypy/prebuilt.nix {
     # Not included at top-level
-    self = pythonInterpreters.pypy36_prebuilt;
+    self = pythonInterpreters.pypy38_prebuilt;
     sourceVersion = {
       major = "7";
       minor = "3";
-      patch = "3";
+      patch = "7";
     };
-    sha256 = "02lys9bjky9bqg6ggv8djirbd3zzcsq7755v4yvwm0k4a7fmzf2g"; # linux64
-    pythonVersion = "3.6";
+    sha256 = "sha256-Xe43x8PLixYAKPveOlkBxoBD36VFoWeUUCuJfUvEDX4="; # linux64
+    pythonVersion = "3.8";
     inherit passthruFun;
   };
 
diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix
index 460af1cc67b4..69de6e94e378 100644
--- a/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix
@@ -6,8 +6,9 @@
 , which
 # Dependencies
 , bzip2
+, sqlite
 , zlib
-, openssl_1_0_2
+, openssl
 , expat
 , ncurses6
 , tcl-8_5
@@ -27,12 +28,12 @@ with lib;
 
 let
   isPy3k = majorVersion == "3";
-  passthru = passthruFun {
+  passthru = passthruFun rec {
     inherit self sourceVersion pythonVersion packageOverrides;
     implementation = "pypy";
     libPrefix = "pypy${pythonVersion}";
     executable = "pypy${if isPy3k then "3" else ""}";
-    sitePackages = "site-packages";
+    sitePackages = "lib/${libPrefix}/site-packages";
     hasDistutilsCxxPatch = false;
 
     # Not possible to cross-compile with.
@@ -49,8 +50,9 @@ let
 
   deps = [
     bzip2
+    sqlite
     zlib
-    openssl_1_0_2
+    openssl
     expat
     ncurses6
     tcl-8_5
@@ -68,10 +70,9 @@ in with passthru; stdenv.mkDerivation {
   buildInputs = [ which ];
 
   installPhase = ''
-    mkdir -p $out/lib
+    mkdir -p $out
     echo "Moving files to $out"
-    mv -t $out bin include lib-python lib_pypy site-packages
-    mv lib/libffi.so.6* $out/lib/
+    mv -t $out bin include lib
 
     mv $out/bin/libpypy*-c.so $out/lib/
 
@@ -84,8 +85,9 @@ in with passthru; stdenv.mkDerivation {
              $out/bin/pypy*
 
     pushd $out
-    find {lib,lib_pypy*} -name "*.so" -exec patchelf --remove-needed libncursesw.so.6 --replace-needed libtinfow.so.6 libncursesw.so.6 {} \;
-    find {lib,lib_pypy*} -name "*.so" -exec patchelf --set-rpath ${lib.makeLibraryPath deps}:$out/lib {} \;
+
+    find ./lib -name "*.so" -exec patchelf --remove-needed libncursesw.so.6 --replace-needed libtinfow.so.6 libncursesw.so.6 {} \;
+    find ./lib -name "*.so" -exec patchelf --set-rpath ${lib.makeLibraryPath deps}:$out/lib {} \;
 
     echo "Removing bytecode"
     find . -name "__pycache__" -type d -depth -exec rm -rf {} \;
diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix
new file mode 100644
index 000000000000..460af1cc67b4
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix
@@ -0,0 +1,132 @@
+{ lib
+, stdenv
+, fetchurl
+, python-setup-hook
+, self
+, which
+# Dependencies
+, bzip2
+, zlib
+, openssl_1_0_2
+, expat
+, ncurses6
+, tcl-8_5
+, tk-8_5
+# For the Python package set
+, packageOverrides ? (self: super: {})
+, sourceVersion
+, pythonVersion
+, sha256
+, passthruFun
+}:
+
+# This version of PyPy is primarily added to speed-up translation of
+# our PyPy source build when developing that expression.
+
+with lib;
+
+let
+  isPy3k = majorVersion == "3";
+  passthru = passthruFun {
+    inherit self sourceVersion pythonVersion packageOverrides;
+    implementation = "pypy";
+    libPrefix = "pypy${pythonVersion}";
+    executable = "pypy${if isPy3k then "3" else ""}";
+    sitePackages = "site-packages";
+    hasDistutilsCxxPatch = false;
+
+    # Not possible to cross-compile with.
+    pythonOnBuildForBuild = throw "${pname} does not support cross compilation";
+    pythonOnBuildForHost = self;
+    pythonOnBuildForTarget = throw "${pname} does not support cross compilation";
+    pythonOnHostForHost = throw "${pname} does not support cross compilation";
+    pythonOnTargetForTarget = throw "${pname} does not support cross compilation";
+  };
+  pname = "${passthru.executable}_prebuilt";
+  version = with sourceVersion; "${major}.${minor}.${patch}";
+
+  majorVersion = substring 0 1 pythonVersion;
+
+  deps = [
+    bzip2
+    zlib
+    openssl_1_0_2
+    expat
+    ncurses6
+    tcl-8_5
+    tk-8_5
+  ];
+
+in with passthru; stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://downloads.python.org/pypy/pypy${pythonVersion}-v${version}-linux64.tar.bz2";
+    inherit sha256;
+  };
+
+  buildInputs = [ which ];
+
+  installPhase = ''
+    mkdir -p $out/lib
+    echo "Moving files to $out"
+    mv -t $out bin include lib-python lib_pypy site-packages
+    mv lib/libffi.so.6* $out/lib/
+
+    mv $out/bin/libpypy*-c.so $out/lib/
+
+    rm $out/bin/*.debug
+
+    echo "Patching binaries"
+    interpreter=$(patchelf --print-interpreter $(readlink -f $(which patchelf)))
+    patchelf --set-interpreter $interpreter \
+             --set-rpath $out/lib \
+             $out/bin/pypy*
+
+    pushd $out
+    find {lib,lib_pypy*} -name "*.so" -exec patchelf --remove-needed libncursesw.so.6 --replace-needed libtinfow.so.6 libncursesw.so.6 {} \;
+    find {lib,lib_pypy*} -name "*.so" -exec patchelf --set-rpath ${lib.makeLibraryPath deps}:$out/lib {} \;
+
+    echo "Removing bytecode"
+    find . -name "__pycache__" -type d -depth -exec rm -rf {} \;
+    popd
+
+    # Include a sitecustomize.py file
+    cp ${../sitecustomize.py} $out/${sitePackages}/sitecustomize.py
+
+  '';
+
+  doInstallCheck = true;
+
+  # Check whether importing of (extension) modules functions
+  installCheckPhase = let
+    modules = [
+      "ssl"
+      "sys"
+      "curses"
+    ] ++ optionals (!isPy3k) [
+      "Tkinter"
+    ] ++ optionals isPy3k [
+      "tkinter"
+    ];
+    imports = concatMapStringsSep "; " (x: "import ${x}") modules;
+  in ''
+    echo "Testing whether we can import modules"
+    $out/bin/${executable} -c '${imports}'
+  '';
+
+  setupHook = python-setup-hook sitePackages;
+
+  donPatchElf = true;
+  dontStrip = true;
+
+  inherit passthru;
+
+  meta = with lib; {
+    homepage = "http://pypy.org/";
+    description = "Fast, compliant alternative implementation of the Python language (${pythonVersion})";
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 3a6a14133ea3..5f55ed5ecaf1 100755
--- a/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -242,7 +242,9 @@ DEFAULT_SETUPTOOLS_EXTENSION = 'tar.gz'
 
 FORMATS = {
     'setuptools'        :   DEFAULT_SETUPTOOLS_EXTENSION,
-    'wheel'             :   'whl'
+    'wheel'             :   'whl',
+    'pyproject'         :   'tar.gz',
+    'flit'              :   'tar.gz'
 }
 
 def _determine_fetcher(text):
@@ -281,12 +283,8 @@ def _determine_extension(text, fetcher):
         if extension is None:
             if src_format is None:
                 src_format = 'setuptools'
-            elif src_format == 'flit':
-                raise ValueError("Don't know how to update a Flit package.")
             elif src_format == 'other':
                 raise ValueError("Don't know how to update a format='other' package.")
-            elif src_format == 'pyproject':
-                raise ValueError("Don't know how to update a pyproject package.")
             extension = FORMATS[src_format]
 
     elif fetcher == 'fetchurl':
@@ -342,19 +340,35 @@ def _update_package(path, target):
         raise ValueError("no file available for {}.".format(pname))
 
     text = _replace_value('version', new_version, text)
+    # hashes from pypi are 16-bit encoded sha256's, normalize it to sri to avoid merge conflicts
+    # sri hashes have been the default format since nix 2.4+
+    try:
+        sri_hash = subprocess.check_output(["nix", "hash", "to-sri", "--type", "sha256", new_sha256]).decode('utf-8').strip()
+    except subprocess.CalledProcessError:
+        # nix<2.4 compat
+        sri_hash = subprocess.check_output(["nix", "to-sri", "--type", "sha256", new_sha256]).decode('utf-8').strip()
+
 
     # fetchers can specify a sha256, or a sri hash
     try:
-        text = _replace_value('sha256', new_sha256, text)
+        text = _replace_value('sha256', sri_hash, text)
     except ValueError:
-        # hashes from pypi are 16-bit encoded sha256's, need translate to an sri hash if used with "hash"
-        sri_hash = subprocess.check_output(["nix", "hash", "to-sri", "--type", "sha256", new_sha256]).decode('utf-8').strip()
         text = _replace_value('hash', sri_hash, text)
 
     if fetcher == 'fetchFromGitHub':
-        text = _replace_value('rev', f"{prefix}${{version}}", text)
-        # incase there's no prefix, just rewrite without interpolation
-        text = text.replace('"${version}";', 'version;')
+        # in the case of fetchFromGitHub, it's common to see `rev = version;`
+        # in which no string value is meant to be substituted.
+        # Verify that the attribute is set to a variable
+        regex = '(rev\s+=\s+([_a-zA-Z][_a-zA-Z0-9\.]*);)'
+        regex = re.compile(regex)
+        value = regex.findall(text)
+        n = len(value)
+
+        if n == 0:
+            # value is set to a string, e.g. `rev = "v${version}";`
+            text = _replace_value('rev', f"{prefix}${{version}}", text)
+            # incase there's no prefix, just rewrite without interpolation
+            text = text.replace('"${version}";', 'version;')
 
     with open(path, 'w') as f:
         f.write(text)
diff --git a/nixpkgs/pkgs/development/interpreters/quickjs/default.nix b/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
index 4bc0ec528a01..cc5487183db3 100644
--- a/nixpkgs/pkgs/development/interpreters/quickjs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/racket/default.nix b/nixpkgs/pkgs/development/interpreters/racket/default.nix
index 73ce0c1bc81b..bd96562d9e5d 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch b/nixpkgs/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch
new file mode 100644
index 000000000000..c34457ceb950
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/racket/minimal.nix b/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
index c7defc8bfa6b..e56945ed651d 100644
--- a/nixpkgs/pkgs/development/interpreters/racket/minimal.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/rakudo/default.nix b/nixpkgs/pkgs/development/interpreters/rakudo/default.nix
index 254228ea55bb..9de6c1b12398 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix b/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
index cbc283ce25f2..41462e67a4c9 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix b/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix
index 8a64430d24a0..57cdef94c02d 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix b/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
index d151c6765bf3..7a809875111f 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
+++ b/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zef";
-  version = "0.13.4";
+  version = "0.13.7";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
     rev = "v${version}";
-    sha256 = "sha256-zTgXMICuLn612bmL5e6GP5aBQ4uOcSLfce0PCRYGob0=";
+    sha256 = "sha256-FEQwe9MkP+tFZgXiR3hrNS+Jyavj85oYql3uOLP3nwc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/interpreters/regina/default.upstream b/nixpkgs/pkgs/development/interpreters/regina/default.upstream
deleted file mode 100644
index 481d9848f830..000000000000
--- a/nixpkgs/pkgs/development/interpreters/regina/default.upstream
+++ /dev/null
@@ -1,5 +0,0 @@
-url https://sourceforge.net/projects/regina-rexx/files/regina-rexx/
-SF_version_dir
-SF_version_tarball
-SF_redirect
-minimize_overwrite
diff --git a/nixpkgs/pkgs/development/interpreters/renpy/default.nix b/nixpkgs/pkgs/development/interpreters/renpy/default.nix
deleted file mode 100644
index b0c10c8a6520..000000000000
--- a/nixpkgs/pkgs/development/interpreters/renpy/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib, stdenv, fetchurl, python2Packages, pkg-config, SDL2
-, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
-, glib
-}:
-
-with python2Packages;
-
-stdenv.mkDerivation rec {
-  pname = "renpy";
-  version = "7.3.5";
-
-  meta = with lib; {
-    description = "Ren'Py Visual Novel Engine";
-    homepage = "https://renpy.org/";
-    license = licenses.mit;
-    platforms = platforms.linux;
-  };
-
-  src = fetchurl {
-    url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
-    sha256 = "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4";
-  };
-
-  patches = [
-    ./launcherenv.patch
-  ];
-
-  postPatch = ''
-    substituteInPlace launcher/game/choose_directory.rpy --replace /usr/bin/python ${python.interpreter}
-  '';
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    python cython wrapPython tkinter
-    SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib
-  ];
-
-  pythonPath = [ pygame_sdl2 tkinter ];
-
-  RENPY_DEPS_INSTALL = lib.concatStringsSep "::" (map (path: path) [
-    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib
-  ]);
-
-  buildPhase = ''
-    python module/setup.py build
-  '';
-
-  installPhase = ''
-    mkdir -p $out/share/renpy
-    cp -vr * $out/share/renpy
-    rm -rf $out/share/renpy/module
-
-    python module/setup.py install --prefix=$out --install-lib=$out/share/renpy/module
-
-    makeWrapper ${python}/bin/python $out/bin/renpy \
-      --set PYTHONPATH $PYTHONPATH \
-      --set RENPY_BASE $out/share/renpy \
-      --add-flags "-O $out/share/renpy/renpy.py"
-  '';
-
-  NIX_CFLAGS_COMPILE = "-I${pygame_sdl2}/include/${python.libPrefix}";
-}
diff --git a/nixpkgs/pkgs/development/interpreters/renpy/launcherenv.patch b/nixpkgs/pkgs/development/interpreters/renpy/launcherenv.patch
deleted file mode 100644
index 85a6c6439b9c..000000000000
--- a/nixpkgs/pkgs/development/interpreters/renpy/launcherenv.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-# The launcher game starts projects in a separate python process
-# with the -E flag, which prevents the nix set PYTHONPATH envvar
-# from taking effect, preventing the loading of pygame_sdl2
---- a/launcher/game/project.rpy
-+++ b/launcher/game/project.rpy
-@@ -239,7 +239,7 @@
-                 raise Exception("Python interpreter not found: %r", executables)
- 
-             # Put together the basic command line.
--            cmd = [ executable, "-EO", sys.argv[0] ]
-+            cmd = [ executable, "-O", sys.argv[0] ]
- 
-             cmd.append(self.path)
-             cmd.extend(args)
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
index 9c1a3481173d..33462c3cd973 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
@@ -16,12 +16,6 @@ let
   # Contains the ruby version heuristics
   rubyVersion = import ./ruby-version.nix { inherit lib; };
 
-  # Needed during postInstall
-  buildRuby =
-    if stdenv.hostPlatform == stdenv.buildPlatform
-    then "$out/bin/ruby"
-    else "${buildPackages.ruby}/bin/ruby";
-
   generic = { version, sha256 }: let
     ver = version;
     tag = ver.gitTag;
@@ -30,16 +24,6 @@ let
     atLeast25 = lib.versionAtLeast ver.majMin "2.5";
     atLeast27 = lib.versionAtLeast ver.majMin "2.7";
     atLeast30 = lib.versionAtLeast ver.majMin "3.0";
-    baseruby = self.override {
-      useRailsExpress = false;
-      docSupport = false;
-      rubygemsSupport = false;
-    };
-    with-packages = import ../../ruby-modules/with-packages {
-      inherit lib stdenv makeWrapper buildRubyGem buildEnv;
-      gemConfig = defaultGemConfig;
-      ruby = self;
-    };
     self = lib.makeOverridable (
       { stdenv, buildPackages, lib
       , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
@@ -67,6 +51,12 @@ let
       , buildEnv, bundler, bundix
       , libiconv, libobjc, libunwind, Foundation
       , makeWrapper, buildRubyGem, defaultGemConfig
+      , baseRuby ? buildPackages.ruby.override {
+          useRailsExpress = false;
+          docSupport = false;
+          rubygemsSupport = false;
+        }
+      , useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform || useRailsExpress
       }:
       stdenv.mkDerivation rec {
         pname = "ruby";
@@ -89,7 +79,7 @@ let
 
         nativeBuildInputs = [ autoreconfHook bison ]
           ++ (op docSupport groff)
-          ++ op (stdenv.buildPlatform != stdenv.hostPlatform) buildPackages.ruby;
+          ++ op useBaseRuby baseRuby;
         buildInputs = [ autoconf ]
           ++ (op fiddleSupport libffi)
           ++ (ops cursesSupport [ ncurses readline ])
@@ -114,7 +104,7 @@ let
             inherit patchSet useRailsExpress ops fetchpatch;
             patchLevel = ver.patchLevel;
           }).${ver.majMinTiny}
-          ++ [ ./do-not-regenerate-revision.h.patch ]
+          ++ op (lib.versionOlder ver.majMin "3.1") ./do-not-regenerate-revision.h.patch
           ++ op (atLeast30 && useRailsExpress) ./do-not-update-gems-baseruby.patch
           # Ruby prior to 3.0 has a bug the installer (tools/rbinstall.rb) but
           # the resulting error was swallowed. Newer rubygems no longer swallows
@@ -150,24 +140,24 @@ let
           sed -i ext/io/console/io-console.gemspec -e '/s\.date/d'
         '';
 
-        configureFlags = ["--enable-shared" "--enable-pthread" "--with-soname=ruby-${version}"]
-          ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
-          ++ op (!jitSupport) "--disable-jit-support"
-          ++ op (!docSupport) "--disable-install-doc"
-          ++ op (jemallocSupport) "--with-jemalloc"
-          ++ ops stdenv.isDarwin [
-            # on darwin, we have /usr/include/tk.h -- so the configure script detects
-            # that tk is installed
-            "--with-out-ext=tk"
-            # on yosemite, "generating encdb.h" will hang for a very long time without this flag
-            "--with-setjmp-type=setjmp"
-          ]
-          ++ op (stdenv.hostPlatform != stdenv.buildPlatform)
-             "--with-baseruby=${buildRuby}";
+        configureFlags = [
+          (lib.enableFeature (!stdenv.hostPlatform.isStatic) "shared")
+          (lib.enableFeature true "pthread")
+          (lib.withFeatureAs true "soname" "ruby-${version}")
+          (lib.withFeatureAs useBaseRuby "baseruby" "${baseRuby}/bin/ruby")
+          (lib.enableFeature jitSupport "jit-support")
+          (lib.enableFeature docSupport "install-doc")
+          (lib.withFeature jemallocSupport "jemalloc")
+          (lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri")
+        ] ++ ops stdenv.isDarwin [
+          # on darwin, we have /usr/include/tk.h -- so the configure script detects
+          # that tk is installed
+          "--with-out-ext=tk"
+          # on yosemite, "generating encdb.h" will hang for a very long time without this flag
+          "--with-setjmp-type=setjmp"
+        ];
 
         preConfigure = opString docSupport ''
-          configureFlagsArray+=("--with-ridir=$devdoc/share/ri")
-
           # rdoc creates XDG_DATA_DIR (defaulting to $HOME/.local/share) even if
           # it's not going to be used.
           export HOME=$TMPDIR
@@ -188,6 +178,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
           ${
@@ -225,13 +217,15 @@ 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
-        '' + opString useRailsExpress ''
+        '' + opString useBaseRuby ''
           # Prevent the baseruby from being included in the closure.
-          sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
-          sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+          ${removeReferencesTo}/bin/remove-references-to \
+            -t ${baseRuby} \
+            $rbConfig $out/lib/libruby*
         '';
 
-        disallowedRequisites = op (!jitSupport) stdenv.cc.cc;
+        disallowedRequisites = op (!jitSupport) stdenv.cc.cc
+          ++ op useBaseRuby baseRuby;
 
         meta = with lib; {
           description = "The Ruby language";
@@ -244,7 +238,6 @@ let
         passthru = rec {
           version = ver;
           rubyEngine = "ruby";
-          baseRuby = baseruby;
           libPath = "lib/${rubyEngine}/${ver.libDir}";
           gemPath = "lib/${rubyEngine}/gems/${ver.libDir}";
           devEnv = import ./dev.nix {
@@ -252,13 +245,19 @@ let
             ruby = self;
           };
 
-          inherit (with-packages) withPackages gems;
+          inherit (import ../../ruby-modules/with-packages {
+            inherit lib stdenv makeWrapper buildRubyGem buildEnv;
+            gemConfig = defaultGemConfig;
+            ruby = self;
+          }) withPackages gems;
 
           # deprecated 2016-09-21
           majorVersion = ver.major;
           minorVersion = ver.minor;
           teenyVersion = ver.tiny;
           patchLevel = ver.patchLevel;
+        } // lib.optionalAttrs useBaseRuby {
+          inherit baseRuby;
         };
       }
     ) args; in self;
@@ -343,4 +342,12 @@ in {
       git = "1q19w5i1jkfxn7qq6f9v9ngax9h52gxwijk7hp312dx6amwrkaim";
     };
   };
+
+  ruby_3_1 = generic {
+    version = rubyVersion "3" "1" "0" "";
+    sha256 = {
+      src = "sha256-UKBQTG7ctNYc5rjP292qlXBxlfqw7Ne16SZUsqlBKFQ=";
+      git = "sha256-TcsoWY+zVZeue1/ypV1L0WERp1UVK35WtVtYPYiJh4c=";
+    };
+  };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix b/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
index 112e37d378a8..b964a0c7bf47 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
@@ -85,4 +85,6 @@
     "${patchSet}/patches/ruby/3.0/head/railsexpress/01-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/3.0/head/railsexpress/02-malloc-trim.patch"
   ];
+  "3.1.0" = ops useRailsExpress [ # no patches yet (2021-12-25)
+  ];
 }
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/68.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/68.nix
deleted file mode 100644
index a71805f50563..000000000000
--- a/nixpkgs/pkgs/development/interpreters/spidermonkey/68.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, autoconf213, pkg-config, perl, python2, python3, zip, buildPackages
-, which, readline, zlib, icu, cargo, rustc, llvmPackages }:
-
-with lib;
-
-let
-  python3Env = buildPackages.python3.withPackages (p: [p.six]);
-in stdenv.mkDerivation rec {
-  pname = "spidermonkey";
-  version = "68.12.0";
-
-  src = fetchurl {
-    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha256 = "1k17pi4zh9hrvkzbw4rzzw879a15hpvwriylp75wl22rl7r2nsdf";
-  };
-
-  patches = [
-    # Backport a change from Firefox 75 that fixes finding the
-    # location of clang and libclang.
-    (fetchpatch {
-      url = "https://hg.mozilla.org/mozilla-central/raw-rev/ccd1356fc8f1d0bfa9d896e88d3cc924425623da";
-      sha256 = "005g3mfmal9nw32khrgyiv3221z7pazfhhm2qvgc8d48i2yzj3j0";
-    })
-  ];
-
-  outputs = [ "out" "dev" ];
-  setOutputFlags = false; # Configure script only understands --includedir
-
-  nativeBuildInputs = [
-    autoconf213
-    pkg-config
-    perl
-    which
-    python2
-    zip
-    cargo
-    rustc
-    llvmPackages.llvm
-  ];
-
-  buildInputs = [
-    readline
-    zlib
-    icu
-  ];
-
-  preConfigure = ''
-    export CXXFLAGS="-fpermissive"
-    export LIBXUL_DIST=$out
-    export PYTHON3="${python3Env.interpreter}"
-
-    # We can't build in js/src/, so create a build dir
-    mkdir obj
-    cd obj/
-    configureScript=../js/src/configure
-  '';
-
-  configureFlags = [
-    # Reccommended by gjs upstream
-    "--disable-jemalloc"
-    "--enable-unaligned-private-values"
-    "--with-intl-api"
-    "--enable-posix-nspr-emulation"
-    "--with-system-zlib"
-    "--with-system-icu"
-
-    "--enable-shared-js"
-    "--enable-readline"
-    # Fedora and Arch disable optimize, but it doesn't seme to be necessary
-    # It turns on -O3 which some gcc version had a problem with:
-    # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e
-    "--enable-optimize"
-    "--enable-release"
-  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    # Spidermonkey seems to use different host/build terminology for cross
-    # compilation here.
-    "--host=${stdenv.buildPlatform.config}"
-    "--target=${stdenv.hostPlatform.config}"
-  ];
-
-  # mkDerivation by default appends --build/--host to configureFlags when cross compiling
-  # These defaults are bogus for Spidermonkey - avoid passing them by providing an empty list
-  configurePlatforms = [];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  # Remove unnecessary static lib
-  preFixup = ''
-    moveToOutput bin/js60-config "$dev"
-    rm $out/lib/libjs_static.ajs
-    ln -s $out/bin/js60 $out/bin/js
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Mozilla's JavaScript engine written in C/C++";
-    homepage = "https://developer.mozilla.org/en/SpiderMonkey";
-    license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
-    maintainers = [ maintainers.abbradar ];
-    badPlatforms = [ "riscv32-linux" "riscv64-linux" ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix
index b4ed171eb78c..4f525c8f0a5b 100644
--- a/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix
+++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix
@@ -35,6 +35,15 @@ stdenv.mkDerivation rec {
       url = "https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d.patch";
       sha256 = "02b7zwm6vxmk61aj79a6m32s1k5sr0hwm3q1j4v6np9jfyd10g1j";
     })
+
+    # Remove this when updating to 79 - The patches are already applied upstream
+    # https://bugzilla.mozilla.org/show_bug.cgi?id=1318905
+
+    # Combination of 3 changesets, modified to apply on 78:
+    # - https://hg.mozilla.org/mozilla-central/rev/06d7e1b6b7e7
+    # - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c
+    # - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33
+    ./add-riscv64-support.patch
   ];
 
   outputs = [ "out" "dev" ];
@@ -98,6 +107,10 @@ stdenv.mkDerivation rec {
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
+  # cc-rs insists on using -mabi=lp64 (soft-float) for riscv64,
+  # while we have a double-float toolchain
+  NIX_CFLAGS_COMPILE = lib.optionalString (with stdenv.hostPlatform; isRiscV && is64bit) "-mabi=lp64d";
+
   # Remove unnecessary static lib
   preFixup = ''
     moveToOutput bin/js78-config "$dev"
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/91.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/91.nix
index 57e62e319d11..6be61a1210b6 100644
--- a/nixpkgs/pkgs/development/interpreters/spidermonkey/91.nix
+++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/91.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "spidermonkey";
-  version = "91.4.0";
+  version = "91.6.0";
 
   src = fetchurl {
     url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha256 = "09xkzk27krzyj1qx8cjjn2zpnws1cncka75828kk7ychnjfq48p7";
+    sha512 = "3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/add-riscv64-support.patch b/nixpkgs/pkgs/development/interpreters/spidermonkey/add-riscv64-support.patch
new file mode 100644
index 000000000000..9d5d7c5507dc
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/add-riscv64-support.patch
@@ -0,0 +1,123 @@
+# HG changeset patch
+# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+# Date 1592464269 0
+#      Thu Jun 18 07:11:09 2020 +0000
+# Node ID 5de7d747a962df5f8aefc016a62d7270ac18879e
+# Parent  e4b11f027efc1f8c2710ae3f52487a8f10a8fb39
+Bug 1318905 - build: Add riscv64 as target architecture to mozbuild r=glandium
+
+Adds the basic definitions for riscv64 to mozbuild, allowing to build Spidermonkey.
+
+Differential Revision: https://phabricator.services.mozilla.com/D78623
+
+diff -r e4b11f027efc -r 5de7d747a962 build/moz.configure/init.configure
+--- a/build/moz.configure/init.configure	Sun May 31 17:11:57 2020 +0000
++++ b/build/moz.configure/init.configure	Thu Jun 18 07:11:09 2020 +0000
+@@ -741,6 +741,9 @@
+     elif cpu.startswith('aarch64'):
+         canonical_cpu = 'aarch64'
+         endianness = 'little'
++    elif cpu in ('riscv64', 'riscv64gc'):
++        canonical_cpu = 'riscv64'
++        endianness = 'little'
+     elif cpu == 'sh4':
+         canonical_cpu = 'sh4'
+         endianness = 'little'
+diff -r e4b11f027efc -r 5de7d747a962 python/mozbuild/mozbuild/configure/constants.py
+--- a/python/mozbuild/mozbuild/configure/constants.py	Sun May 31 17:11:57 2020 +0000
++++ b/python/mozbuild/mozbuild/configure/constants.py	Thu Jun 18 07:11:09 2020 +0000
+@@ -49,6 +49,7 @@
+     'mips64': 64,
+     'ppc': 32,
+     'ppc64': 64,
++    'riscv64': 64,
+     's390': 32,
+     's390x': 64,
+     'sh4': 32,
+@@ -87,6 +88,7 @@
+     ('sparc', '__sparc__'),
+     ('mips64', '__mips64'),
+     ('mips32', '__mips__'),
++    ('riscv64', '__riscv && __riscv_xlen == 64'),
+     ('sh4', '__sh__'),
+ ))
+ 
+diff -r e4b11f027efc -r 5de7d747a962 python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py	Sun May 31 17:11:57 2020 +0000
++++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py	Thu Jun 18 07:11:09 2020 +0000
+@@ -1208,6 +1208,10 @@
+         'mips-unknown-linux-gnu': big_endian + {
+             '__mips__': 1,
+         },
++        'riscv64-unknown-linux-gnu': little_endian + {
++            '__riscv': 1,
++            '__riscv_xlen': 64,
++        },
+         'sh4-unknown-linux-gnu': little_endian + {
+             '__sh__': 1,
+         },
+# HG changeset patch
+# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+# Date 1592464269 0
+#      Thu Jun 18 07:11:09 2020 +0000
+# Node ID e3d924797cb2d508ff938414168e98ccf66f07fe
+# Parent  5de7d747a962df5f8aefc016a62d7270ac18879e
+Bug 1318905 - js:jit: Enable AtomicOperations-feeling-lucky.h on riscv64 r=lth
+
+This allows the build on riscv64 to use the atomic operations provided by GCC.
+
+Differential Revision: https://phabricator.services.mozilla.com/D78624
+
+diff -r 5de7d747a962 -r e3d924797cb2 js/src/jit/AtomicOperations.h
+--- a/js/src/jit/AtomicOperations.h	Thu Jun 18 07:11:09 2020 +0000
++++ b/js/src/jit/AtomicOperations.h	Thu Jun 18 07:11:09 2020 +0000
+@@ -391,7 +391,7 @@
+ #elif defined(__ppc__) || defined(__PPC__) || defined(__sparc__) ||     \
+     defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
+     defined(__PPC64LE__) || defined(__alpha__) || defined(__hppa__) ||  \
+-    defined(__sh__) || defined(__s390__) || defined(__s390x__)
++    defined(__sh__) || defined(__s390__) || defined(__s390x__) || defined(__riscv)
+ #  include "jit/shared/AtomicOperations-feeling-lucky.h"
+ #else
+ #  error "No AtomicOperations support provided for this platform"
+diff -r 5de7d747a962 -r e3d924797cb2 js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
+--- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h	Thu Jun 18 07:11:09 2020 +0000
++++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h	Thu Jun 18 07:11:09 2020 +0000
+@@ -63,6 +63,11 @@
+ #  define HAS_64BIT_LOCKFREE
+ #endif
+ 
++#if defined(__riscv) && __riscv_xlen == 64
++#  define HAS_64BIT_ATOMICS
++#  define HAS_64BIT_LOCKFREE
++#endif
++
+ #ifdef __sparc__
+ #  ifdef __LP64__
+ #    define HAS_64BIT_ATOMICS
+# HG changeset patch
+# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+# Date 1592464269 0
+#      Thu Jun 18 07:11:09 2020 +0000
+# Node ID 3f652d12b8bc0bd213020d488ecb4d3710bb11fa
+# Parent  e3d924797cb2d508ff938414168e98ccf66f07fe
+Bug 1318905 - mfbt:tests: Define RETURN_INSTR for riscv64 in TestPoisonArea r=glandium
+
+Define RETURN_INSTR for riscv64 in TestPoisonArea, i.e. the riscv64 assembly
+opcodes for "ret ; ret".
+
+Differential Revision: https://phabricator.services.mozilla.com/D78625
+
+diff -r e3d924797cb2 -r 3f652d12b8bc mfbt/tests/TestPoisonArea.cpp
+--- a/mfbt/tests/TestPoisonArea.cpp	Thu Jun 18 07:11:09 2020 +0000
++++ b/mfbt/tests/TestPoisonArea.cpp	Thu Jun 18 07:11:09 2020 +0000
+@@ -132,6 +132,9 @@
+ #elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
+ #  define RETURN_INSTR 0x4E800020 /* blr */
+ 
++#elif defined __riscv
++#  define RETURN_INSTR 0x80828082 /* ret; ret */
++
+ #elif defined __sparc || defined __sparcv9
+ #  define RETURN_INSTR 0x81c3e008 /* retl */
+ 
diff --git a/nixpkgs/pkgs/development/interpreters/supercollider/default.nix b/nixpkgs/pkgs/development/interpreters/supercollider/default.nix
index 49cf6e095d1f..2a0ef3b0957c 100644
--- a/nixpkgs/pkgs/development/interpreters/supercollider/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/supercollider/default.nix
@@ -9,11 +9,11 @@ let
 in
 mkDerivation rec {
   pname = "supercollider";
-  version = "3.12.1";
+  version = "3.12.2";
 
   src = fetchurl {
     url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2";
-    sha256 = "sha256-neYId2hJRAMx4+ZFm+5TzYuUbMRfa9icyqm2UYac/Cs=";
+    sha256 = "sha256-1QYorCgSwBK+SVAm4k7HZirr1j+znPmVicFmJdvO3g4=";
   };
 
   hardeningDisable = [ "stackprotector" ];
diff --git a/nixpkgs/pkgs/development/interpreters/trealla/default.nix b/nixpkgs/pkgs/development/interpreters/trealla/default.nix
index 6c6268011a73..d6dc01348a1d 100644
--- a/nixpkgs/pkgs/development/interpreters/trealla/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/trealla/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "trealla";
-  version = "1.12.0";
+  version = "1.20.31";
 
   src = fetchFromGitHub {
     owner = "infradig";
     repo = "trealla";
     rev = "v${version}";
-    sha256 = "sha256-5gMf62WSGf46Bg8CaI9weSMRjrdGiuxtaDV9FrS2xO8=";
+    sha256 = "sha256-Yol+bbxC5cCtCIZxP5Sa8R3ev1LAopc/oQa6Zd1nS8A=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
index 675a7cdd6bc0..816b854b99eb 100644
--- a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix
@@ -1,4 +1,4 @@
-{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang, stdenv, darwin }:
+{ rustPlatform, fetchFromGitHub, lib, python3, cmake, llvmPackages, clang, stdenv, darwin }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "1wlig9gls7s1k1swxwhl82vfga30bady8286livxc4y2zp0vb18w";
 
-  nativeBuildInputs = [ python cmake clang ];
+  nativeBuildInputs = [ python3 cmake clang ];
   buildInputs = [ llvmPackages.libclang ] ++
    lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
   LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
diff --git a/nixpkgs/pkgs/development/interpreters/yex-lang/default.nix b/nixpkgs/pkgs/development/interpreters/yex-lang/default.nix
new file mode 100644
index 000000000000..738b73d8e4c8
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/yex-lang/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "yex-lang";
+  version = "unstable-2021-12-25";
+
+  src = fetchFromGitHub {
+    owner = "nonamescm";
+    repo = "yex-lang";
+    rev = "a97def1431b73b8693700f530ec023f1776eaf83";
+    hash = "sha256-CEzJtlEVMvMnRyUKdko1UDTluv8Fc88tfOpKGIFMnRw=";
+  };
+
+  cargoSha256 = "sha256-mHMenqcdt9Yjm/6H1Ywf637Sv8ddq6a4Eu2/A/jX9gQ=";
+
+  meta = with lib; {
+    homepage = "https://github.com/nonamesc/yex-lang";
+    description = "A cool functional scripting language written in rust";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+    broken = stdenv.isAarch64 && stdenv.isLinux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/CGAL/default.nix b/nixpkgs/pkgs/development/libraries/CGAL/default.nix
index 630ff8a6964f..2f2a0905d542 100644
--- a/nixpkgs/pkgs/development/libraries/CGAL/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/LAStools/default.nix b/nixpkgs/pkgs/development/libraries/LAStools/default.nix
index f9f3b09ba0ac..d38fa0609d86 100644
--- a/nixpkgs/pkgs/development/libraries/LAStools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/LAStools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "LAStools";
-  version = "201003"; # LAStools makes release-ish commits with a message containing their version number as YYMMDD; these align with their website changelog
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "LAStools";
     repo = "LAStools";
-    rev = "635b76b42cc4912762da31b92f875df5310e1714";
-    sha256 = "0682ca3bp51lmfp46vsjnd1bqpn05g95pf4kclvjv1y8qivkxsaq";
+    rev = "v${version}";
+    sha256 = "19y49j5af3z3fsiknq9kg9yjcsr73ywng8dfy837y97q4shc9g00";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix b/nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix
index b080153826ad..4f63dfe8059c 100644
--- a/nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix
+++ b/nixpkgs/pkgs/development/libraries/LASzip/LASzip2.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, cmake }:
+{ lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   version = "2.2.0";
   pname = "LASzip";
 
-  src = fetchurl {
-    url = "https://github.com/LASzip/LASzip/archive/v${version}.tar.gz";
-    sha256 = "b8e8cc295f764b9d402bc587f3aac67c83ed8b39f1cb686b07c168579c61fbb2";
+  src = fetchFromGitHub {
+    owner = "LASzip";
+    repo = "LASzip";
+    rev = "v${version}";
+    sha256 = "sha256-TXzse4oLjNX5R2xDR721iV+gW/rP5z3Zciv4OgxfeqA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch b/nixpkgs/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch
new file mode 100644
index 000000000000..1be600bedb35
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch
@@ -0,0 +1,43 @@
+From a31d1f1683ef2e9c063c3fa1db79d111cca99414 Mon Sep 17 00:00:00 2001
+From: David Redondo <kde@david-redondo.de>
+Date: Fri, 10 Dec 2021 16:22:34 +0100
+Subject: [PATCH] Fix build against wayland 1.20
+
+Fixes #5088
+
+(cherry picked from commit e2ade2bfc46d915cd306c63c830b81d800b2575f)
+---
+ src/video/wayland/SDL_waylanddyn.h | 2 ++
+ src/video/wayland/SDL_waylandsym.h | 4 ++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/video/wayland/SDL_waylanddyn.h b/src/video/wayland/SDL_waylanddyn.h
+index 485a9c19f..37070e946 100644
+--- a/src/video/wayland/SDL_waylanddyn.h
++++ b/src/video/wayland/SDL_waylanddyn.h
+@@ -81,6 +81,8 @@ void SDL_WAYLAND_UnloadSymbols(void);
+ #define wl_proxy_add_listener (*WAYLAND_wl_proxy_add_listener)
+ #define wl_proxy_marshal_constructor (*WAYLAND_wl_proxy_marshal_constructor)
+ #define wl_proxy_marshal_constructor_versioned (*WAYLAND_wl_proxy_marshal_constructor_versioned)
++#define wl_proxy_marshal_flags (*WAYLAND_wl_proxy_marshal_flags)
++#define wl_proxy_marshal_array_flags (*WAYLAND_wl_proxy_marshal_array_flags)
+
+ #define wl_seat_interface (*WAYLAND_wl_seat_interface)
+ #define wl_surface_interface (*WAYLAND_wl_surface_interface)
+diff --git a/src/video/wayland/SDL_waylandsym.h b/src/video/wayland/SDL_waylandsym.h
+index c4c189d3c..789f49e27 100644
+--- a/src/video/wayland/SDL_waylandsym.h
++++ b/src/video/wayland/SDL_waylandsym.h
+@@ -71,6 +71,10 @@ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor, (struct wl_prox
+ SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_10)
+ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor_versioned, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, ...))
+
++SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_20)
++SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interfac, uint32_t version, uint32_t flags, ...))
++SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_array_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version,  uint32_t flags, union wl_argument *args))
++
+ SDL_WAYLAND_INTERFACE(wl_seat_interface)
+ SDL_WAYLAND_INTERFACE(wl_surface_interface)
+ SDL_WAYLAND_INTERFACE(wl_shm_pool_interface)
+--
+2.33.1
diff --git a/nixpkgs/pkgs/development/libraries/SDL2/default.nix b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
index d02dac1f562f..95022211d2f7 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
@@ -35,7 +35,11 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
   outputBin = "dev"; # sdl-config
 
-  patches = [ ./find-headers.patch ];
+  patches = [
+    ./find-headers.patch
+    # To fix the build with wayland 1.20.0:
+    ./Fix-build-against-wayland-1.20.patch
+  ];
 
   # Fix with mesa 19.2: https://bugzilla.libsdl.org/show_bug.cgi?id=4797
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/SDL2_ttf/2.0.15.nix b/nixpkgs/pkgs/development/libraries/SDL2_ttf/2.0.15.nix
new file mode 100644
index 000000000000..a5057c0fbec8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/SDL2_ttf/default.nix b/nixpkgs/pkgs/development/libraries/SDL2_ttf/default.nix
index a5057c0fbec8..6975dfff24ae 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2_ttf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "SDL2_ttf";
-  version = "2.0.15";
+  version = "2.0.18";
 
   src = fetchurl {
     url = "https://www.libsdl.org/projects/SDL_ttf/release/${pname}-${version}.tar.gz";
-    sha256 = "0cyd48dipc0m399qy8s03lci8b0bpiy8xlkvrm2ia7wcv0dfpv59";
+    sha256 = "sha256-cjTriINRTgGed0fHA+SndFdbGNQ1wipKKdBoy3aKIlE=";
   };
 
   configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
@@ -17,9 +17,9 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin darwin.libobjc;
 
   meta = with lib; {
-    description = "SDL TrueType library";
+    description = "Support for TrueType (.ttf) font files with Simple Directmedia Layer";
     platforms = platforms.unix;
     license = licenses.zlib;
-    homepage = "https://www.libsdl.org/projects/SDL_ttf/";
+    homepage = "https://github.com/libsdl-org/SDL_ttf";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/abseil-cpp/default.nix b/nixpkgs/pkgs/development/libraries/abseil-cpp/202103.nix
index 2ade512de310..d2a1f389324c 100644
--- a/nixpkgs/pkgs/development/libraries/abseil-cpp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/abseil-cpp/202111.nix b/nixpkgs/pkgs/development/libraries/abseil-cpp/202111.nix
new file mode 100644
index 000000000000..d40ca0bd4ab2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/accountsservice/default.nix b/nixpkgs/pkgs/development/libraries/accountsservice/default.nix
index 41c9da042047..bd6f2545b3b0 100644
--- a/nixpkgs/pkgs/development/libraries/accountsservice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/accountsservice/default.nix
@@ -41,12 +41,14 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     polkit
+    systemd
   ];
 
   mesonFlags = [
     "-Dadmin_group=wheel"
     "-Dlocalstatedir=/var"
     "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
+    "-Dsystemd=true"
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/ace/default.nix b/nixpkgs/pkgs/development/libraries/ace/default.nix
index df390ec1668d..9616c13cc40c 100644
--- a/nixpkgs/pkgs/development/libraries/ace/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/aften/default.nix b/nixpkgs/pkgs/development/libraries/aften/default.nix
index 488c5b6e729a..11ed0f1b28b7 100644
--- a/nixpkgs/pkgs/development/libraries/aften/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/amdvlk/default.nix b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
index 6c9650cacca9..16fb32cf011f 100644
--- a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
@@ -22,13 +22,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2021.Q4.2";
+  version = "2022.Q1.1";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "DpylZjIqWmCnUI0lEvd/HQcY+lr8asMurt1K9MI3qQw=";
+    sha256 = "jdAFIC2JYPqCADx/73KM6E3rLFWF4SlEdY9lCK1NOhU=";
   };
 
   buildInputs = [
@@ -87,11 +87,11 @@ in stdenv.mkDerivation rec {
     #!nix-shell -i bash -p coreutils curl gnused jq common-updater-scripts
 
     function setHash() {
-      sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's,sha256 = "[^.'"'"']*",sha256 = "'"$1"'",'
+      sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's,sha256 = "[^'"'"'"]*",sha256 = "'"$1"'",'
     }
 
     version="$(curl -sL "https://api.github.com/repos/GPUOpen-Drivers/AMDVLK/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
-    sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's/version = "[^.'"'"']*"/version = "'"$version"'"/'
+    sed -i "pkgs/development/libraries/amdvlk/default.nix" -e 's/version = "[^'"'"'"]*"/version = "'"$version"'"/'
 
     setHash "$(nix-instantiate --eval -A lib.fakeSha256 | xargs echo)"
     hash="$(nix to-base64 $(nix-build -A amdvlk 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true))"
diff --git a/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix b/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
index b188754607d5..9776e85b4350 100644
--- a/nixpkgs/pkgs/development/libraries/apache-activemq/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/apr-util/default.nix b/nixpkgs/pkgs/development/libraries/apr-util/default.nix
index bd00a612d4ee..57bf47f3abf1 100644
--- a/nixpkgs/pkgs/development/libraries/apr-util/default.nix
+++ b/nixpkgs/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
@@ -63,7 +72,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://apr.apache.org/";
+    homepage = "https://apr.apache.org/";
     description = "A companion library to APR, the Apache Portable Runtime";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/aqbanking/default.nix b/nixpkgs/pkgs/development/libraries/aqbanking/default.nix
index 1e11661b0098..2db69f8028c4 100644
--- a/nixpkgs/pkgs/development/libraries/aqbanking/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aqbanking/default.nix
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "An interface to banking tasks, file formats and country information";
-    homepage = "https://www.aquamaniac.de/";
+    homepage = "https://www.aquamaniac.de/rdm/";
     hydraPlatforms = [];
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/nixpkgs/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/nixpkgs/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index 64b7aefe8b92..527db0e2c1e6 100644
--- a/nixpkgs/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/nixpkgs/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -61,8 +61,8 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "OS abstraction functions used by aqbanking and related tools";
-    homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=01&showall=1";
-    license = licenses.lgpl21;
+    homepage = "https://www.aquamaniac.de/rdm/projects/gwenhywfar";
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/libraries/arb/default.nix b/nixpkgs/pkgs/development/libraries/arb/default.nix
index e47dcd8e0ba2..dc160c37ad23 100644
--- a/nixpkgs/pkgs/development/libraries/arb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/argtable/default.nix b/nixpkgs/pkgs/development/libraries/argtable/default.nix
index f22f81c87709..9752b9600397 100644
--- a/nixpkgs/pkgs/development/libraries/argtable/default.nix
+++ b/nixpkgs/pkgs/development/libraries/argtable/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://argtable.org";
+    homepage = "https://github.com/argtable/argtable3";
     description = "A single-file, ANSI C command-line parsing library";
     longDescription = ''
       Argtable is an open source ANSI C library that parses GNU-style
diff --git a/nixpkgs/pkgs/development/libraries/armadillo/default.nix b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
index 850d48ca345d..14400f8ebf95 100644
--- a/nixpkgs/pkgs/development/libraries/armadillo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/arrayfire/default.nix b/nixpkgs/pkgs/development/libraries/arrayfire/default.nix
index a66db4800177..bc0da2ddea20 100644
--- a/nixpkgs/pkgs/development/libraries/arrayfire/default.nix
+++ b/nixpkgs/pkgs/development/libraries/arrayfire/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkg-config
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , opencl-clhpp, ocl-icd, fftw, fftwFloat
 , blas, lapack, boost, mesa, libGLU, libGL
 , freeimage, python3, clfft, clblas
@@ -8,11 +8,14 @@
 
 stdenv.mkDerivation rec {
   pname = "arrayfire";
-  version = "3.6.4";
+  version = "3.7.3";
 
-  src = fetchurl {
-    url = "http://arrayfire.com/arrayfire_source/arrayfire-full-${version}.tar.bz2";
-    sha256 = "1fin7a9rliyqic3z83agkpb8zlq663q6gdxsnm156cs8s7f7rc9h";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0gcbg6b6gs38xhks5pp0vkcqs89zl7rh9982jqlzsd0h724qddw0";
+    fetchSubmodules = true;
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix b/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
index 5138a9654522..274a35c6ccfb 100644
--- a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/nixpkgs/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"
@@ -199,21 +207,12 @@ stdenv.mkDerivation rec {
         "S3RegionResolutionTest.PublicBucket"
         "S3RegionResolutionTest.RestrictedBucket"
         "TestMinioServer.Connect"
-        "TestS3FS.GetFileInfoRoot"
-        "TestS3FS.OpenOutputStreamBackgroundWrites"
-        "TestS3FS.OpenOutputStreamDestructorBackgroundWrites"
-        "TestS3FS.OpenOutputStreamDestructorSyncWrite"
-        "TestS3FS.OpenOutputStreamDestructorSyncWrites"
-        "TestS3FS.OpenOutputStreamMetadata"
-        "TestS3FS.OpenOutputStreamSyncWrites"
+        "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 [
@@ -221,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/nixpkgs/pkgs/development/libraries/assimp/default.nix b/nixpkgs/pkgs/development/libraries/assimp/default.nix
index a98242f9c7c5..804c97ffd747 100644
--- a/nixpkgs/pkgs/development/libraries/assimp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/assimp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "assimp";
@@ -12,6 +12,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-GNSfaP8O5IsjGwtC3DFaV4OiMMUXIcmHmz+5TCT/HP8=";
   };
 
+  patches = [
+    # Fix include directory with split outputs
+    # https://github.com/assimp/assimp/pull/4337
+    (fetchpatch {
+      url = "https://github.com/assimp/assimp/commit/5dcaf445c3da079cf43890a0688428a7e1de0b30.patch";
+      sha256 = "sha256-KwqTAoDPkhFq469+VaUuGoqfymu2bWLG9W3BvFvyU5I=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost zlib ];
 
diff --git a/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix b/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix
index 8265cd0ba7c1..cb34f24ced8d 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libkeyfinder";
-  version = "2.2.5";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "libkeyfinder";
     rev = "v${version}";
-    sha256 = "sha256-4jbnsKMGJKUIRfRPymGGgqPgwPyLInc6rLvCXnOcQ5g=";
+    sha256 = "sha256-7w/Wc9ncLinbnM2q3yv5DBtFoJFAM2e9xAUTsqvE9mg=";
   };
 
   # needed for finding libkeyfinder.so to link it into keyfinder-tests executable
diff --git a/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix b/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix
index a630d0420b49..a29fda0ec2b2 100644
--- a/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch
new file mode 100644
index 000000000000..e13dda549705
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch
@@ -0,0 +1,24 @@
+From abdfbb94df98fe88be4dd92ca587500126558411 Mon Sep 17 00:00:00 2001
+From: Victor Gaydov <victor@enise.org>
+Date: Sun, 26 Jul 2020 11:54:52 +0300
+Subject: [PATCH] Remove deprecated scons call
+
+---
+ SConstruct | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 407025d8..04afa91f 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -49,7 +49,6 @@ env = Environment(ENV=os.environ, tools=[
+ # performance tuning
+ env.Decider('MD5-timestamp')
+ env.SetOption('implicit_cache', 1)
+-env.SourceCode('.', None)
+ 
+ # provide absolute path to force single sconsign file
+ # per-directory sconsign files seems to be buggy with generated sources
+-- 
+2.34.1
+
diff --git a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch
new file mode 100644
index 000000000000..097f1b3ff479
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch
@@ -0,0 +1,31 @@
+From 15b37bb12a362c7889ac431eca4a47d6b2bdb97c Mon Sep 17 00:00:00 2001
+From: Victor Gaydov <victor@enise.org>
+Date: Sat, 5 Dec 2020 18:38:36 +0300
+Subject: [PATCH] Fix compatibility with new SCons
+
+---
+ site_scons/site_tools/roc/config.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/site_scons/site_tools/roc/config.py b/site_scons/site_tools/roc/config.py
+index b42b3adb..03b76be7 100644
+--- a/site_scons/site_tools/roc/config.py
++++ b/site_scons/site_tools/roc/config.py
+@@ -13,7 +13,13 @@ def _run_prog(context, src, suffix):
+     # RunProg may incorrectly use cached results from a previous run saved for
+     # different file contents but the same invocation number. To prevent this, we
+     # monkey patch its global counter with a hashsum of the file contents.
+-    SCons.SConf._ac_build_counter = int(hashlib.md5(src.encode()).hexdigest(), 16)
++    # The workaround is needed only for older versions of SCons, where
++    # _ac_build_counter was an integer.
++    try:
++        if type(SCons.SConf._ac_build_counter) is int:
++            SCons.SConf._ac_build_counter = int(hashlib.md5(src.encode()).hexdigest(), 16)
++    except:
++        pass
+     return context.RunProg(src, suffix)
+ 
+ def CheckLibWithHeaderExt(context, libs, headers, language, expr='1', run=True):
+-- 
+2.34.1
+
diff --git a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix
new file mode 100644
index 000000000000..98c088ed5495
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix
@@ -0,0 +1,72 @@
+{ stdenv,
+  lib,
+  fetchFromGitHub,
+  scons,
+  ragel,
+  gengetopt,
+  pkg-config,
+  libuv,
+  openfecSupport ? true,
+  openfec,
+  libunwindSupport ? true,
+  libunwind,
+  pulseaudioSupport ? true,
+  libpulseaudio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "roc-toolkit";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "roc-streaming";
+    repo = "roc-toolkit";
+    rev = "v${version}";
+    sha256 = "sha256:1pld340zfch4p3qaf5anrspq7vmxrgf9ddsdsq92pk49axaaz19w";
+  };
+
+  nativeBuildInputs = [
+    scons
+    ragel
+    gengetopt
+    pkg-config
+  ];
+
+  buildInputs = [
+    libuv
+    libunwind
+    openfec
+    libpulseaudio
+  ];
+
+  sconsFlags =
+    [ "--build=${stdenv.buildPlatform.config}"
+      "--host=${stdenv.hostPlatform.config}"
+      "--prefix=${placeholder "out"}"
+      "--disable-sox"
+      "--disable-doc"
+      "--disable-tests" ] ++
+    lib.optional (!libunwindSupport) "--disable-libunwind" ++
+    lib.optional (!pulseaudioSupport) "--disable-pulseaudio" ++
+    (if (!openfecSupport)
+       then ["--disable-openfec"]
+       else [ "--with-libraries=${openfec}/lib"
+              "--with-openfec-includes=${openfec.dev}/include" ]);
+
+  prePatch = lib.optionalString stdenv.isAarch64
+    "sed -i 's/c++98/c++11/g' SConstruct";
+
+  # TODO: Remove these patches in the next version.
+  patches = [
+    ./0001-Remove-deprecated-scons-call.patch
+    ./0002-Fix-compatibility-with-new-SCons.patch
+  ];
+
+  meta = with lib; {
+    description = "Roc is a toolkit for real-time audio streaming over the network";
+    homepage = "https://github.com/roc-streaming/roc-toolkit";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ bgamari ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix b/nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix
index 2ba981ae46ed..0780d2978805 100644
--- a/nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix
@@ -15,43 +15,31 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.0";
   pname = "rtmidi";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "thestk";
     repo = "rtmidi";
     rev = version;
-    sha256 = "1g31p6a96djlbk9jh5r4pjly3x76lhccva9hrw6xzdma8dsjzgyq";
+    sha256 = "1r1sqmdi499zfh6z6kjkab6d4a7kz3il5kkcdfz9saa6ry992211";
   };
 
   patches = [
-    # PR #230, fix CMake problems
+    # Remove when https://github.com/thestk/rtmidi/pull/278 merged
     (fetchpatch {
-      name = "RtMidi-Fix-JACK_HAS_PORT_RENAME-define.patch";
-      url = "https://github.com/thestk/rtmidi/pull/230/commits/768a30a61b60240b66cc2d43bc27a544ff9f1622.patch";
-      sha256 = "1sym4f7nb2qyyxfhi1l0xsm2hfh6gddn81y36qvfq4mcs33vvid0";
+      name = "0001-rtmidi-Use-posix-sched_yield-instead-of-pthread_yield.patch";
+      url = "https://github.com/thestk/rtmidi/pull/278/commits/cfe34c02112c256235b62b45895fc2c401fd874d.patch";
+      sha256 = "0yzq7zbdkl5r4i0r6vy2kq986cqdxz2cpzb7s977mvh09kdikrw1";
     })
+    # Remove when https://github.com/thestk/rtmidi/pull/277 merged
     (fetchpatch {
-      name = "RtMidi-Add-prefix-define-for-pkgconfig.patch";
-      url = "https://github.com/thestk/rtmidi/pull/230/commits/7a32e23e3f6cb43c0d2d58443ce205d438e76f44.patch";
-      sha256 = "06im8mb05wah6bnkadw2gpkhmilxb8p84pxqr50b205cchpq304w";
+      name = "0002-rtmidi-include-TargetConditionals.h-on-Apple-platforms.patch";
+      url = "https://github.com/thestk/rtmidi/pull/277/commits/9d863beb28f03ec53f3e4c22cc0d3c34a1e1789b.patch";
+      sha256 = "1hlrg23c1ycnwdvxpic8wvypiril04rlph0g820qn1naf92imfjg";
     })
-    (fetchpatch {
-      name = "RtMidi-Adjust-public-header-installs-to-match-autotools.patch";
-      url = "https://github.com/thestk/rtmidi/pull/230/commits/892fe5492f0e787484fa4a37027b08c265ce001f.patch";
-      sha256 = "0ca9m42xa3gmycimzvzvl67wa266xq9pfp1b4v555rh2fp52kbcj";
-    })
-
-    # https://github.com/thestk/rtmidi/pull/277
-    ./macos_include_targetconditionals.patch
   ];
 
-  postPatch = ''
-    substituteInPlace rtmidi.pc.in \
-      --replace 'Requires:' 'Requires.private:'
-  '';
-
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = lib.optional alsaSupport alsa-lib
diff --git a/nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix b/nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
index 01b3caa24ea2..65ce6580dcec 100644
--- a/nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
@@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ libsndfile ];
 
   enableParallelBuilding = true;
+  makeFlags = [
+    "AR:=$(AR)"
+    "RANLIB:=$(RANLIB)"
+  ] ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-o test";
 
   meta = with lib; {
     description = "Audio processing plugin system for plugins that extract descriptive information from audio data";
diff --git a/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
index afecd561b727..3a1118c0d81b 100644
--- a/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "zita-alsa-pcmi";
-  version = "0.3.2";
+  version = "0.4.0";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s";
+    sha256 = "sha256-vYyfNg37VB+2DkinE7rx4i1BssdMGaD+ny005y9Q8cU=";
   };
 
   buildInputs = [ alsa-lib ];
diff --git a/nixpkgs/pkgs/development/libraries/avro-c++/default.nix b/nixpkgs/pkgs/development/libraries/avro-c++/default.nix
index 7ff60b965953..743740fddb0d 100644
--- a/nixpkgs/pkgs/development/libraries/avro-c++/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/avro-c/default.nix b/nixpkgs/pkgs/development/libraries/avro-c/default.nix
index ee43daf2d044..76d5839402cf 100644
--- a/nixpkgs/pkgs/development/libraries/avro-c/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix b/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
index e7a09a19ece5..4af6d9b0ac42 100644
--- a/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-c-common/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.6.17";
+  version = "0.6.18";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+FzTEpotxco4+9gLVUL+rkCWoMjRCorKQ47JINHsnNA=";
+    sha256 = "sha256-5Y+cfiVtZGmExPuE3s5m8hnd0HrPwSiKptj0DM1mtUY=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
     "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
+  ] ++ lib.optionals stdenv.hostPlatform.isRiscV [
+    "-DCMAKE_C_FLAGS=-fasynchronous-unwind-tables"
   ];
 
   # aws-c-common misuses cmake modules, so we need
diff --git a/nixpkgs/pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch b/nixpkgs/pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch
new file mode 100644
index 000000000000..ed08abfb48f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/aws-crt-cpp/0001-build-Make-includedir-properly-overrideable.patch
@@ -0,0 +1,58 @@
+From 6be95cf45c4b5beae8b364468cef42d5c5880836 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Sun, 9 Jan 2022 01:57:18 +0100
+Subject: [PATCH] build: Make includedir properly overrideable
+
+This is required by some package managers like Nix.
+---
+ CMakeLists.txt | 20 ++++++++++++--------
+ 1 file changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ad50174..e0be58c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,6 +54,10 @@ elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+     set(CMAKE_INSTALL_LIBDIR "lib")
+ endif()
+ 
++if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
++    set(CMAKE_INSTALL_INCLUDEDIR "include")
++endif()
++
+ if (${CMAKE_INSTALL_LIBDIR} STREQUAL "lib64")
+     set(FIND_LIBRARY_USE_LIB64_PATHS true)
+ endif()
+@@ -302,7 +306,7 @@ endif ()
+ 
+ target_include_directories(${PROJECT_NAME} PUBLIC
+         $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+-        $<INSTALL_INTERFACE:include>)
++        $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+ 
+ aws_use_package(aws-c-http)
+ aws_use_package(aws-c-mqtt)
+@@ -316,13 +320,13 @@ aws_use_package(aws-c-s3)
+ 
+ target_link_libraries(${PROJECT_NAME} ${DEP_AWS_LIBS})
+ 
+-install(FILES ${AWS_CRT_HEADERS} DESTINATION "include/aws/crt" COMPONENT Development)
+-install(FILES ${AWS_CRT_AUTH_HEADERS} DESTINATION "include/aws/crt/auth" COMPONENT Development)
+-install(FILES ${AWS_CRT_CRYPTO_HEADERS} DESTINATION "include/aws/crt/crypto" COMPONENT Development)
+-install(FILES ${AWS_CRT_IO_HEADERS} DESTINATION "include/aws/crt/io" COMPONENT Development)
+-install(FILES ${AWS_CRT_IOT_HEADERS} DESTINATION "include/aws/iot" COMPONENT Development)
+-install(FILES ${AWS_CRT_MQTT_HEADERS} DESTINATION "include/aws/crt/mqtt" COMPONENT Development)
+-install(FILES ${AWS_CRT_HTTP_HEADERS} DESTINATION "include/aws/crt/http" COMPONENT Development)
++install(FILES ${AWS_CRT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt" COMPONENT Development)
++install(FILES ${AWS_CRT_AUTH_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/auth" COMPONENT Development)
++install(FILES ${AWS_CRT_CRYPTO_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/crypto" COMPONENT Development)
++install(FILES ${AWS_CRT_IO_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/io" COMPONENT Development)
++install(FILES ${AWS_CRT_IOT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/iot" COMPONENT Development)
++install(FILES ${AWS_CRT_MQTT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/mqtt" COMPONENT Development)
++install(FILES ${AWS_CRT_HTTP_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/crt/http" COMPONENT Development)
+ 
+ install(
+         TARGETS ${PROJECT_NAME}
+-- 
+2.34.1
+
diff --git a/nixpkgs/pkgs/development/libraries/aws-crt-cpp/default.nix b/nixpkgs/pkgs/development/libraries/aws-crt-cpp/default.nix
index 5d4a44ccf159..9f70be5eb8d0 100644
--- a/nixpkgs/pkgs/development/libraries/aws-crt-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-crt-cpp/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   pname = "aws-crt-cpp";
   version = "0.17.8";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-crt-cpp";
@@ -25,6 +27,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-eHABIg3v5ycpQzacW/8C74PT6yDOXGmJqDa9P1hN7Mo=";
   };
 
+  patches = [
+    # Correct include path for split outputs.
+    # https://github.com/awslabs/aws-crt-cpp/pull/325
+    ./0001-build-Make-includedir-properly-overrideable.patch
+  ];
+
   postPatch = ''
     substituteInPlace CMakeLists.txt --replace '-Werror' ""
   '';
@@ -53,6 +61,11 @@ stdenv.mkDerivation rec {
     "-DBUILD_SHARED_LIBS=ON"
   ];
 
+  postInstall = ''
+    # Prevent dependency cycle.
+    moveToOutput lib/aws-crt-cpp/cmake "$dev"
+  '';
+
   meta = with lib; {
     description = "C++ wrapper around the aws-c-* libraries";
     homepage = "https://github.com/awslabs/aws-crt-cpp";
diff --git a/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix b/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 25570b7d03a0..769cc2d3bd29 100644
--- a/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, curl, openssl, s2n-tls, zlib
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, curl, openssl, s2n-tls, zlib
 , aws-crt-cpp
 , aws-c-cal, aws-c-common, aws-c-event-stream, aws-c-io, aws-checksums
 , CoreAudio, AudioToolbox
@@ -18,13 +18,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "aws-sdk-cpp";
-  version = "1.9.121";
+  version = "1.9.150";
 
   src = fetchFromGitHub {
-    owner = "awslabs";
+    owner = "aws";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "sha256-VQpWauk0tdJ1QU0HmtdTwQdKbiAuTTXXsUo2cqpqmdU=";
+    sha256 = "sha256-fgLdXWQKHaCwulrw9KV3vpQ71DjnQAL4heIRW7Rk7UY=";
   };
 
   postPatch = ''
@@ -82,6 +82,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./cmake-dirs.patch
+
+    # fix cmake config
+    (fetchpatch {
+      url = "https://github.com/aws/aws-sdk-cpp/commit/b102aaf5693c4165c84b616ab9ffb9edfb705239.diff";
+      sha256 = "sha256-38QBo3MEFpyHPb8jZEURRPkoeu4DqWhVeErJayiHKF0=";
+    })
   ];
 
   # Builds in 2+h with 2 cores, and ~10m with a big-parallel builder.
@@ -89,7 +95,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A C++ interface for Amazon Web Services";
-    homepage = "https://github.com/awslabs/aws-sdk-cpp";
+    homepage = "https://github.com/aws/aws-sdk-cpp";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ eelco orivej ];
diff --git a/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix b/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
index 2d8ddb27ad4a..c4abb634ca86 100644
--- a/nixpkgs/pkgs/development/libraries/bctoolbox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/belcard/default.nix b/nixpkgs/pkgs/development/libraries/belcard/default.nix
index dbc85992ba4e..12253427424b 100644
--- a/nixpkgs/pkgs/development/libraries/belcard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/belr/default.nix b/nixpkgs/pkgs/development/libraries/belr/default.nix
index 90e27a6a9dc1..c841b6d3e482 100644
--- a/nixpkgs/pkgs/development/libraries/belr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/blitz/default.nix b/nixpkgs/pkgs/development/libraries/blitz/default.nix
index c4a983d879ce..2b5e5a4addca 100644
--- a/nixpkgs/pkgs/development/libraries/blitz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/blitz/default.nix
@@ -4,7 +4,7 @@
 , pkg-config
 , gfortran
 , texinfo
-, python
+, python2
 , boost
   # Select SIMD alignment width (in bytes) for vectorization.
 , simdWidth ? 1
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nq84vwvvbq7m0my6h835ijfw53bxdp42qjc6kjhk436888qy9rh";
   };
 
-  nativeBuildInputs = [ pkg-config python texinfo ];
+  nativeBuildInputs = [ pkg-config python2 texinfo ];
   buildInputs = [ gfortran texinfo boost ];
 
   configureFlags =
diff --git a/nixpkgs/pkgs/development/libraries/boca/default.nix b/nixpkgs/pkgs/development/libraries/boca/default.nix
index ffbc99f79f7d..2c86bf981b70 100644
--- a/nixpkgs/pkgs/development/libraries/boca/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix b/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix
index 2c467e90634f..d5057a614843 100644
--- a/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl
 , autoreconfHook
-, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v8.0.6/doc/README.macros#L195
+, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v8.0.6/doc/README.macros (LARGE_CONFIG)
+, nixVersions
 }:
 
 stdenv.mkDerivation rec {
@@ -18,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;
 
@@ -36,6 +33,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.tests = nixVersions;
+
   meta = {
     description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
 
diff --git a/nixpkgs/pkgs/development/libraries/boost/generic.nix b/nixpkgs/pkgs/development/libraries/boost/generic.nix
index 6358df1a555c..490693035707 100644
--- a/nixpkgs/pkgs/development/libraries/boost/generic.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/botan/2.0.upstream b/nixpkgs/pkgs/development/libraries/botan/2.0.upstream
deleted file mode 100644
index 74eb1a2ca83f..000000000000
--- a/nixpkgs/pkgs/development/libraries/botan/2.0.upstream
+++ /dev/null
@@ -1,10 +0,0 @@
-url https://botan.randombit.net/
-version_link 'Botan-[0-9]+([.][0-9]+)*[.](tgz|tbz|tbz2|tar[.]bz2)$'
-ensure_version
-attribute_name botan2
-do_overwrite(){
-  ensure_hash
-  set_var_value sha256 $CURRENT_HASH
-  set_var_value baseVersion ${CURRENT_VERSION%.*}
-  set_var_value revision ${CURRENT_VERSION##*.}
-}
diff --git a/nixpkgs/pkgs/development/libraries/botan/default.upstream b/nixpkgs/pkgs/development/libraries/botan/default.upstream
deleted file mode 100644
index 43f6a3b268ee..000000000000
--- a/nixpkgs/pkgs/development/libraries/botan/default.upstream
+++ /dev/null
@@ -1,9 +0,0 @@
-url http://botan.randombit.net/download.html
-version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$'
-ensure_version
-do_overwrite(){
-  ensure_hash
-  set_var_value sha256 $CURRENT_HASH
-  set_var_value baseVersion ${CURRENT_VERSION%.*}
-  set_var_value revision ${CURRENT_VERSION##*.}
-}
diff --git a/nixpkgs/pkgs/development/libraries/box2d/default.nix b/nixpkgs/pkgs/development/libraries/box2d/default.nix
index 80287f4f3140..84e2dbc05644 100644
--- a/nixpkgs/pkgs/development/libraries/box2d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/box2d/default.nix
@@ -12,8 +12,6 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Z2J17YMzQNZqABIa5eyJDT7BWfXveymzs+DWsrklPIs=";
   };
 
-  sourceRoot = "source/Box2D";
-
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ libGLU libGL freeglut libX11 xorgproto libXi ];
 
@@ -24,6 +22,7 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = ''
+    cd Box2D
     substituteInPlace Box2D/Common/b2Settings.h \
       --replace 'b2_maxPolygonVertices	8' 'b2_maxPolygonVertices	15'
   '';
diff --git a/nixpkgs/pkgs/development/libraries/bzrtp/default.nix b/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
index 1144f4afaf54..29b665fec628 100644
--- a/nixpkgs/pkgs/development/libraries/bzrtp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/c-ares/default.nix b/nixpkgs/pkgs/development/libraries/c-ares/default.nix
index 4f571b7f1dd9..b133f9867d32 100644
--- a/nixpkgs/pkgs/development/libraries/c-ares/default.nix
+++ b/nixpkgs/pkgs/development/libraries/c-ares/default.nix
@@ -8,11 +8,11 @@
 let self =
 stdenv.mkDerivation rec {
   pname = "c-ares";
-  version = "1.17.2";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
-    sha256 = "sha256-SAPIRM4gzlEO8OuD+OpB+iTsqunSgMRoxYLSuyWzkT0=";
+    sha256 = "sha256-Gn1SqKhKn7/7G+kTPA9uFyF9kepab6Yfa0cpzaeOu88=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/c-blosc/default.nix b/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
index 6f59c96d2bc6..b03f3be904cb 100644
--- a/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/c-blosc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "c-blosc";
-  version = "1.21.0";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "Blosc";
     repo = "c-blosc";
     rev = "v${version}";
-    sha256 = "sha256-B8SFOc1oGgU5AGAbkqe5oz045H08TnymNAbzz2oOKoo=";
+    sha256 = "sha256-6SKEyciwDOxcbO8chvmxrLCxLkc93zxo6eH0c/lRyT8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/catch2/default.nix b/nixpkgs/pkgs/development/libraries/catch2/default.nix
index 5adcc2d1dd9e..71a99ad6b696 100644
--- a/nixpkgs/pkgs/development/libraries/catch2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/celt/generic.nix b/nixpkgs/pkgs/development/libraries/celt/generic.nix
index d4fe5e83658b..3b47b1d5e72b 100644
--- a/nixpkgs/pkgs/development/libraries/celt/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/celt/generic.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Ultra-low delay audio codec";
-    homepage    = "http://www.celt-codec.org/";
+    homepage    = "https://gitlab.xiph.org/xiph/celt"; # http://www.celt-codec.org/ is gone
     license     = licenses.bsd2;
     maintainers = with maintainers; [ codyopel raskin ];
     platforms   = platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/chromaprint/default.nix b/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
index 599ef02eec09..5b8cc369ee31 100644
--- a/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/chromaprint/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, cmake, boost, ffmpeg, darwin, zlib }:
+{ lib, stdenv, fetchurl, cmake, boost, ffmpeg_4, darwin, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "chromaprint";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0sknmyl5254rc55bvkhfwpl4dfvz45xglk1rq8zq5crmwq058fjp";
+    sha256 = "sha256-oarY+juLGLeNN1Wzdn+v+au2ckLgG0eOyaZOGQ8zXhw=";
   };
 
   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/nixpkgs/pkgs/development/libraries/cimg/default.nix b/nixpkgs/pkgs/development/libraries/cimg/default.nix
index 09a407fc3bc3..47e9ffa925ab 100644
--- a/nixpkgs/pkgs/development/libraries/cimg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cimg/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "2.9.9";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "dtschump";
     repo = "CImg";
     rev = "v.${version}";
-    hash = "sha256-DWyqVN7v+j2XCArv4jmrD45XKWMNhd2DddJHH3gQWQY=";
+    hash = "sha256-dC4VuWTz0uyFxLjBQ+2ggndHaCErcoI7tJMfkqbWmeg=";
   };
 
   outputs = [ "out" "doc" ];
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
 
     install -dm 755 $out/include/CImg/plugins $doc/share/doc/cimg/examples
     install -m 644 CImg.h $out/include/
-    cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
     cp -dr --no-preserve=ownership plugins/* $out/include/CImg/plugins/
+    cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
     cp README.txt $doc/share/doc/cimg/
 
     runHook postInstall
diff --git a/nixpkgs/pkgs/development/libraries/codec2/default.nix b/nixpkgs/pkgs/development/libraries/codec2/default.nix
index bf8a6897f27d..7d271e16f240 100644
--- a/nixpkgs/pkgs/development/libraries/codec2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/codec2/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Speech codec designed for communications quality speech at low data rates";
-    homepage = "http://www.rowetel.com/blog/?page_id=452";
+    homepage = "https://www.rowetel.com/codec2.html";
     license = licenses.lgpl21Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ markuskowa ];
diff --git a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
index 3f5b7b3db91d..a3de08a838bc 100644
--- a/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cpp-utilities/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.11.3";
+  version = "5.13.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-a/fuzZ8crmyO87QzIKuYPk0LC3EvvHZrWO17LtWu77I=";
+    sha256 = "sha256-R22nWkI778LpCK3a5C6tvuIsEXU49wPya1fFQxdpocg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/crc32c/default.nix b/nixpkgs/pkgs/development/libraries/crc32c/default.nix
index 4a8afcfc2b3e..bfd7bee94b65 100644
--- a/nixpkgs/pkgs/development/libraries/crc32c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/crc32c/default.nix
@@ -68,6 +68,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/google/crc32c";
     description = "CRC32C implementation with support for CPU-specific acceleration instructions";
     license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ andir cpcloud ];
+    maintainers = with maintainers; [ cpcloud ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/crypto++/default.nix b/nixpkgs/pkgs/development/libraries/crypto++/default.nix
index bedf75e75ca4..a31a4472e1c4 100644
--- a/nixpkgs/pkgs/development/libraries/crypto++/default.nix
+++ b/nixpkgs/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,36 +25,45 @@ 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;
 
   # always built for checks but install static lib only when necessary
-  preInstall = lib.optionalString (!enableStatic) "rm libcryptopp.a";
+  preInstall = lib.optionalString (!enableStatic) "rm -f libcryptopp.a";
 
   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/nixpkgs/pkgs/development/libraries/cxxopts/default.nix b/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
index 855a9eef8ea0..9d3ea6f32de3 100644
--- a/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
@@ -1,21 +1,29 @@
-{ cmake, fetchFromGitHub, icu, lib, pkg-config, stdenv, enableUnicodeHelp ? true }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, icu
+, pkg-config
+, enableUnicodeHelp ? true
+}:
 
 stdenv.mkDerivation rec {
   name = "cxxopts";
-  version = "unstable-2020-12-14";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jarro2783";
     repo = name;
-    rev = "2d8e17c4f88efce80e274cb03eeb902e055a91d3";
-    sha256 = "0pwrac81zfqjs17g3hx8r3ds2xf04npb6mz111qjy4bx17314ib7";
+    rev = "v${version}";
+    sha256 = "08x7j168l1xwj0r3rv89cgghmfhsx98lpq35r3vkh504m1pd55a6";
   };
 
+  # CMake does not set CMAKE_LIBRARY_ARCHITECTURE variable in Nix, which breaks architecture-independent library path generation
+  patches = [ ./fix-install-path.patch ];
+
   buildInputs = lib.optional enableUnicodeHelp [ icu.dev ];
   cmakeFlags = [ "-DCXXOPTS_BUILD_EXAMPLES=OFF" ]
-    ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE"
-    # Due to -Wsuggest-override, remove when cxxopts is updated
-    ++ lib.optional stdenv.isDarwin "-DCXXOPTS_ENABLE_WARNINGS=OFF";
+    ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE";
   nativeBuildInputs = [ cmake ] ++ lib.optional enableUnicodeHelp [ pkg-config ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch b/nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch
new file mode 100644
index 000000000000..d91e3fb6dc18
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/cxxopts/fix-install-path.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/cxxopts.cmake b/cmake/cxxopts.cmake
+index 46e87ba..0ead543 100644
+--- a/cmake/cxxopts.cmake
++++ b/cmake/cxxopts.cmake
+@@ -87,7 +87,12 @@ endfunction()
+ 
+ # Helper function to ecapsulate install logic
+ function(cxxopts_install_logic)
+-    string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    if(CMAKE_LIBRARY_ARCHITECTURE)
++        string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    else()
++        # On some systems (e.g. NixOS), `CMAKE_LIBRARY_ARCHITECTURE` can be empty
++        set(CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
++    endif()
+     set(CXXOPTS_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR_ARCHIND}/cmake/cxxopts" CACHE STRING "Installation directory for cmake files, relative to ${CMAKE_INSTALL_PREFIX}.")
+     set(version_config "${PROJECT_BINARY_DIR}/cxxopts-config-version.cmake")
+     set(project_config "${PROJECT_BINARY_DIR}/cxxopts-config.cmake")
diff --git a/nixpkgs/pkgs/development/libraries/db/generic.nix b/nixpkgs/pkgs/development/libraries/db/generic.nix
index a564db369fba..a2b9314ca9ce 100644
--- a/nixpkgs/pkgs/development/libraries/db/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/db/generic.nix
@@ -11,10 +11,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "db-${version}";
+  pname = "db";
+  inherit version;
 
   src = fetchurl {
-    url = "https://download.oracle.com/berkeley-db/${name}.tar.gz";
+    url = "https://download.oracle.com/berkeley-db/${pname}-${version}.tar.gz";
     sha256 = sha256;
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/dbus-cplusplus/default.nix b/nixpkgs/pkgs/development/libraries/dbus-cplusplus/default.nix
index 731c038527ce..005f1ac0302c 100644
--- a/nixpkgs/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   patches = [
     (fetchurl {
       name = "gcc-4.7.patch";
-      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/"
-          + "dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/"
+          + "dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch";
       sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g";
     })
     (fetchurl {
diff --git a/nixpkgs/pkgs/development/libraries/dlib/default.nix b/nixpkgs/pkgs/development/libraries/dlib/default.nix
index aadd61370b1f..ea6d45e5dffc 100644
--- a/nixpkgs/pkgs/development/libraries/dlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dlib/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dlib";
-  version = "19.22";
+  version = "19.23";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "sha256-cEbw01w4KgSG3JTvTE/qruo7i4/L++m02HW+0VNmSSQ=";
+    sha256 = "sha256-88vusoLEkjh3WRh/PxPtsVIFk85serRq2VxVcEus3IE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/double-conversion/default.nix b/nixpkgs/pkgs/development/libraries/double-conversion/default.nix
index 2bdcc3c8a997..9efdcd0c4f07 100644
--- a/nixpkgs/pkgs/development/libraries/double-conversion/default.nix
+++ b/nixpkgs/pkgs/development/libraries/double-conversion/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "double-conversion";
-  version = "3.1.5";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "double-conversion";
     rev = "v${version}";
-    sha256 = "0csy4pjw1p8rp6g5qxi2h0ychhhp1fldv7gb761627fs2mclw9gv";
+    sha256 = "sha256-Vvzjg+UOgegkH8x2vtNU1TS01k5O4ilRJjD7F+BmVmU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/dqlite/default.nix b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
index eb14a44e4fa5..748e1e756cb3 100644
--- a/nixpkgs/pkgs/development/libraries/dqlite/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/duckdb/default.nix b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
index f1e4f56a5950..7d12d9fabf2f 100644
--- a/nixpkgs/pkgs/development/libraries/duckdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/duckdb/version.patch b/nixpkgs/pkgs/development/libraries/duckdb/version.patch
new file mode 100644
index 000000000000..1f5491eac23c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/dyncall/default.nix b/nixpkgs/pkgs/development/libraries/dyncall/default.nix
index f92f2f0affe4..3197e3abed9e 100644
--- a/nixpkgs/pkgs/development/libraries/dyncall/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dyncall/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "dyncall";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "https://www.dyncall.org/r${version}/dyncall-${version}.tar.gz";
-    # https://www.dyncall.org/r1.2/SHA256
-    sha256 = "sha256-6IFUwCQ0IVYHBPXHKUr73snpka+gYB1a3/UELqgYCNc=";
+    # https://www.dyncall.org/r1.3/SHA256
+    sha256 = "sha256-q/Ys/DHr1/IWWNqhNwp3gcxRQxYrwIaDhKwH3vnj05A=";
   };
 
   # XXX: broken tests, failures masked, lets avoid crashing a bunch for now :)
diff --git a/nixpkgs/pkgs/development/libraries/easyloggingpp/default.nix b/nixpkgs/pkgs/development/libraries/easyloggingpp/default.nix
index ad582d933059..03c4ea0ee8f1 100644
--- a/nixpkgs/pkgs/development/libraries/easyloggingpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/easyloggingpp/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   pname = "easyloggingpp";
   version = "9.97.0";
   src = fetchFromGitHub {
-    owner = "muflihun";
+    owner = "amrayn";
     repo = "easyloggingpp";
     rev = "v${version}";
     sha256 = "sha256-sFWmZMnucMuvpwDzuowni21KiD3bx0lH1Ts+yhusOYs=";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     description = "C++ logging library";
-    homepage = "https://muflihun.github.io/easyloggingpp/";
+    homepage = "https://github.com/amrayn/easyloggingpp";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [acowley];
     platforms = lib.platforms.all;
diff --git a/nixpkgs/pkgs/development/libraries/eccodes/default.nix b/nixpkgs/pkgs/development/libraries/eccodes/default.nix
index dc0648366a9f..5182c59567da 100644
--- a/nixpkgs/pkgs/development/libraries/eccodes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/eigen/default.upstream b/nixpkgs/pkgs/development/libraries/eigen/default.upstream
deleted file mode 100644
index c0c05efc466c..000000000000
--- a/nixpkgs/pkgs/development/libraries/eigen/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url http://eigen.tuxfamily.org/
-ensure_choice
-version '.*/([-0-9.]+)[.]tar[.].*' '\1'
-do_overwrite() { do_overwrite_just_version; }
diff --git a/nixpkgs/pkgs/development/libraries/elfio/default.nix b/nixpkgs/pkgs/development/libraries/elfio/default.nix
index 98e9ee3f59ed..5bf4f3a33308 100644
--- a/nixpkgs/pkgs/development/libraries/elfio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/elpa/default.nix b/nixpkgs/pkgs/development/libraries/elpa/default.nix
index 3bb59ce9ca6a..76152996a1d0 100644
--- a/nixpkgs/pkgs/development/libraries/elpa/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/embree/default.nix b/nixpkgs/pkgs/development/libraries/embree/default.nix
index 3495386ce104..6417f4b05a1c 100644
--- a/nixpkgs/pkgs/development/libraries/embree/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/enchant/2.x.nix b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
index 0d1374018b6c..e70a8210df87 100644
--- a/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
+++ b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "enchant";
-  version = "2.3.1";
+  version = "2.3.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-e0sa/PLNi/ppHe6mGIQE0zfyMXS7w5ucKt0r80Bzbpw=";
+    sha256 = "sha256-zpukf9TTQDG9aURVmKaYpmEWArKw6R1wXpGm9QmerW4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/exiv2/default.nix b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
index 5ef3bfa2ac40..d970f376d099 100644
--- a/nixpkgs/pkgs/development/libraries/exiv2/default.nix
+++ b/nixpkgs/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,15 @@ 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
   '';
 
+  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/nixpkgs/pkgs/development/libraries/expat/default.nix b/nixpkgs/pkgs/development/libraries/expat/default.nix
index 3bfc215aea7b..322c6ecebbf6 100644
--- a/nixpkgs/pkgs/development/libraries/expat/default.nix
+++ b/nixpkgs/pkgs/development/libraries/expat/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "expat";
-  version = "2.4.1";
+  version = "2.4.4";
 
   src = fetchurl {
     url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-zwMtDbqbkoY2VI4ysyei1msaq2PE9KE90TLC0dLy+2o=";
+    sha256 = "sha256-tdJdbjczUcLtGbVitHMtAdJYmsjI6eeWLY3xIHzDEbg=";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/nixpkgs/pkgs/development/libraries/faad2/default.nix b/nixpkgs/pkgs/development/libraries/faad2/default.nix
index 0afef1c9fd82..396acbc1bdf2 100644
--- a/nixpkgs/pkgs/development/libraries/faad2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/farstream/default.nix b/nixpkgs/pkgs/development/libraries/farstream/default.nix
index e26ebef0c518..98c660dc798d 100644
--- a/nixpkgs/pkgs/development/libraries/farstream/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/fcft/default.nix b/nixpkgs/pkgs/development/libraries/fcft/default.nix
index de20caf22fbc..31e9e2fbbbd7 100644
--- a/nixpkgs/pkgs/development/libraries/fcft/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fcft/default.nix
@@ -20,14 +20,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "fcft";
-  version = "2.5.1";
+  version = "3.0.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fcft";
     rev = version;
-    sha256 = "0dn0ic2ddi5qz6nqscsn7nlih67ad8vpclppbqwas6xavdfq6va2";
+    sha256 = "0jxy92ny8b7s7yvz1mr8zpf7l2zsn506fi9f98pvh9k25jprg0cx";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/fcgi/default.nix b/nixpkgs/pkgs/development/libraries/fcgi/default.nix
index 1ec666a920c3..434d445ceb48 100644
--- a/nixpkgs/pkgs/development/libraries/fcgi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fcgi/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A language independent, scalable, open extension to CG";
-    homepage = "http://www.fastcgi.com/";
+    homepage = "https://fastcgi-archives.github.io/"; # Formerly http://www.fastcgi.com/
     license = "FastCGI see LICENSE.TERMS";
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix b/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix
index ca2f3b0e381d..134d9031e97e 100644
--- a/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fflas-ffpack/default.nix
@@ -6,13 +6,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "fflas-ffpack";
-  version = "2.4.3";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = pname;
-    rev = version;
-    sha256 = "1ynbjd72qrwp0b4kpn0p5d7gddpvj8dlb5fwdxajr5pvkvi3if74";
+    rev = "v${version}";
+    sha256 = "sha256-Eztc2jUyKRVUiZkYEh+IFHkDuPIy+Gx3ZW/MsuOVaMc=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
index 77bd473485b0..9d9a1a126cb2 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm
+{ lib, stdenv, buildPackages, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm
 /*
  *  Licensing options (yes some are listed twice, filters and such are not listed)
  */
@@ -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
@@ -107,7 +107,7 @@
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
 #, opencv ? null # Video filtering
 , openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering
-#, openh264 ? null # H.264/AVC encoder
+, openh264 ? null # H.264/AVC encoder
 , openjpeg ? null # JPEG 2000 de/encoder
 , opensslExtlib ? false, openssl ? null
 , libpulseaudio ? null # Pulseaudio input support
@@ -132,6 +132,7 @@
 , xavs ? null # AVS encoder
 , xvidcore ? null # Xvid encoder, native encoder exists
 , zeromq4 ? null # Message passing
+, zimg ? null
 , zlib ? null
 , vulkan-loader ? null
 , glslang ? null
@@ -163,7 +164,7 @@
  *
  * Not packaged:
  *   aacplus avisynth cdio-paranoia crystalhd libavc1394 libiec61883
- *   libnut libquvi nvenc opencl openh264 oss shine twolame
+ *   libnut libquvi nvenc opencl oss shine twolame
  *   utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
  *
  * Need fixes to support Darwin:
@@ -224,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;
@@ -259,7 +259,7 @@ stdenv.mkDerivation rec {
 
   configurePlatforms = [];
   configureFlags = [
-    "--target_os=${stdenv.hostPlatform.parsed.kernel.name}"
+    "--target_os=${if stdenv.hostPlatform.isMinGW then "mingw64" else stdenv.hostPlatform.parsed.kernel.name}" #mingw32 and mingw64 doesn't have a difference here, it is internally rewritten as mingw32
     "--arch=${stdenv.hostPlatform.parsed.cpu.name}"
     /*
      *  Licensing flags
@@ -281,7 +281,7 @@ stdenv.mkDerivation rec {
     (enableFeature hardcodedTablesBuild "hardcoded-tables")
     (enableFeature safeBitstreamReaderBuild "safe-bitstream-reader")
     (if multithreadBuild then (
-       if isCygwin then
+       if stdenv.hostPlatform.isWindows then
          "--disable-pthreads --enable-w32threads"
        else # Use POSIX threads by default
          "--enable-pthreads --disable-w32threads")
@@ -303,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")
@@ -374,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")
@@ -381,7 +381,7 @@ stdenv.mkDerivation rec {
     (enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb")
     #(enableFeature (opencv != null) "libopencv")
     (enableFeature openglExtlib "opengl")
-    #(enableFeature (openh264 != null) "openh264")
+    (enableFeature (openh264 != null) "libopenh264")
     (enableFeature (openjpeg != null) "libopenjpeg")
     (enableFeature (opensslExtlib && gplLicensing) "openssl")
     (enableFeature (libpulseaudio != null) "libpulse")
@@ -403,6 +403,7 @@ stdenv.mkDerivation rec {
     (enableFeature (xavs != null && gplLicensing) "libxavs")
     (enableFeature (xvidcore != null && gplLicensing) "libxvid")
     (enableFeature (zeromq4 != null) "libzmq")
+    (enableFeature (zimg != null) "libzimg")
     (enableFeature (zlib != null) "zlib")
     (enableFeature (isLinux && vulkan-loader != null) "vulkan")
     (enableFeature (isLinux && vulkan-loader != null && glslang != null) "libglslang")
@@ -418,6 +419,7 @@ stdenv.mkDerivation rec {
   ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "--cross-prefix=${stdenv.cc.targetPrefix}"
     "--enable-cross-compile"
+    "--host-cc=${buildPackages.stdenv.cc}/bin/cc"
   ] ++ optionals stdenv.cc.isClang [
     "--cc=clang"
     "--cxx=clang++"
@@ -429,9 +431,9 @@ 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 zlib
+    zeromq4 zimg zlib openh264
   ] ++ optionals openglExtlib [ libGL libGLU ]
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
@@ -451,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/nixpkgs/pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch b/nixpkgs/pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch
new file mode 100644
index 000000000000..ac016069357d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch
@@ -0,0 +1,27 @@
+From a66b58d61caaae452785a2d69f5de9259ab27138 Mon Sep 17 00:00:00 2001
+From: James Almer <jamrial@gmail.com>
+Date: Sun, 16 Jan 2022 00:32:52 -0300
+Subject: [PATCH] fate/ffmpeg: add missing samples dependency to fate-shortest
+
+Signed-off-by: James Almer <jamrial@gmail.com>
+(cherry picked from commit b1ef5882e35d1a95e9c4838d0933084773055345)
+---
+ tests/fate/ffmpeg.mak | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak
+index 0b00bb5b23..b80467d02e 100644
+--- a/tests/fate/ffmpeg.mak
++++ b/tests/fate/ffmpeg.mak
+@@ -86,7 +86,7 @@ fate-unknown_layout-ac3: CMD = md5 -auto_conversion_filters \
+   -guess_layout_max 0 -f s32le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \
+   -f ac3 -flags +bitexact -c ac3_fixed
+ 
+-FATE_FFMPEG-$(call ALLYES, FILE_PROTOCOL LAVFI_INDEV RAWVIDEO_DEMUXER      \
++FATE_SAMPLES_FFMPEG-$(call ALLYES, FILE_PROTOCOL LAVFI_INDEV RAWVIDEO_DEMUXER \
+                            SINE_FILTER PCM_S16LE_DECODER RAWVIDEO_DECODER  \
+                            ARESAMPLE_FILTER AMIX_FILTER MPEG4_ENCODER      \
+                            AC3_FIXED_ENCODER FRAMECRC_MUXER PIPE_PROTOCOL) \
+-- 
+2.33.1
+
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/5.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/5.nix
new file mode 100644
index 000000000000..7b79ddff77eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/5.nix
@@ -0,0 +1,14 @@
+{ callPackage
+# Darwin frameworks
+, Cocoa, CoreMedia, VideoToolbox
+, ...
+}@args:
+
+callPackage ./generic.nix (rec {
+  version = "5.0";
+  branch = version;
+  sha256 = "1ndy6a2bhl6nvz9grmcaakh4xi0vss455466s47l6qy7na6hn4y0";
+  darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
+
+  patches = [ ./0001-fate-ffmpeg-add-missing-samples-dependency-to-fate-s.patch ];
+} // args)
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
index 876910da6d25..e3b0534d2af9 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildPackages, fetchurl, pkg-config, addOpenGLRunpath, perl, texinfo, yasm
 , alsa-lib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
 , libssh, libtheora, libva, libdrm, libvorbis, libvpx, xz, libpulseaudio, soxr
-, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
+, x264, x265, xvidcore, zimg, zlib, libopus, speex, nv-codec-headers, dav1d
 , srt ? null
 , openglSupport ? false, libGLU ? null, libGL ? null
 , libmfxSupport ? false, intel-media-sdk ? null
@@ -54,6 +54,8 @@ let
 
   ifMinVer = minVer: flag: if reqMin minVer then flag else null;
 
+  ifVerOlder = maxVer: flag: if (lib.versionOlder branch maxVer) then flag else null;
+
   # Version specific fix
   verFix = withoutFix: fixVer: withFix: if reqMatch fixVer then withFix else withoutFix;
 
@@ -121,7 +123,7 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" "--enable-avdevice")
       "--enable-avfilter"
       (ifMinVer "0.6" "--enable-avformat")
-      (ifMinVer "1.0" "--enable-avresample")
+      (ifMinVer "1.0" (ifVerOlder "5.0" "--enable-avresample"))
       (ifMinVer "1.1" "--enable-avutil")
       "--enable-postproc"
       (ifMinVer "0.9" "--enable-swresample")
@@ -152,6 +154,7 @@ stdenv.mkDerivation rec {
       (ifMinVer "1.2" "--enable-libsoxr")
       "--enable-libx264"
       "--enable-libxvid"
+      "--enable-libzimg"
       "--enable-zlib"
       (ifMinVer "2.8" "--enable-libopus")
       "--enable-libspeex"
@@ -174,7 +177,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
-    libvorbis xz soxr x264 x265 xvidcore zlib libopus speex srt nv-codec-headers
+    libvorbis xz soxr x264 x265 xvidcore zimg zlib libopus speex srt nv-codec-headers
   ] ++ optionals openglSupport [ libGL libGLU ]
     ++ optional libmfxSupport intel-media-sdk
     ++ optional libaomSupport libaom
diff --git a/nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix b/nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix
index dfdbf8eb2f80..9bfee290871f 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpegthumbnailer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ffms/default.nix b/nixpkgs/pkgs/development/libraries/ffms/default.nix
index 283942df63f9..6e7a58f5597e 100644
--- a/nixpkgs/pkgs/development/libraries/ffms/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/fftw/default.nix b/nixpkgs/pkgs/development/libraries/fftw/default.nix
index 37a7f1ce8fe4..4f3d685c1fa4 100644
--- a/nixpkgs/pkgs/development/libraries/fftw/default.nix
+++ b/nixpkgs/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,27 +11,23 @@
 , 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
-  version = "3.3.9";
-  withDoc = stdenv.cc.isGNU;
-in
-
-stdenv.mkDerivation {
-  name = "fftw-${precision}-${version}";
+stdenv.mkDerivation rec {
+  pname = "fftw-${precision}";
+  version = "3.3.10";
 
   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-vyx85AsEroEa9xTetRJRDMLBe5q51t3PSf5Eh+6nrz0=";
+    sha256 = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
   };
 
   outputs = [ "out" "dev" "man" ]
diff --git a/nixpkgs/pkgs/development/libraries/flann/default.nix b/nixpkgs/pkgs/development/libraries/flann/default.nix
index 283c815b199b..c294aec893a5 100644
--- a/nixpkgs/pkgs/development/libraries/flann/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flann/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   buildInputs = lib.optionals enablePython [ python3 ];
 
   meta = {
-    homepage = "http://people.cs.ubc.ca/~mariusm/flann/";
+    homepage = "https://github.com/flann-lib/flann";
     license = lib.licenses.bsd3;
     description = "Fast approximate nearest neighbor searches in high dimensional spaces";
     maintainers = with lib.maintainers; [viric];
diff --git a/nixpkgs/pkgs/development/libraries/flatpak/default.nix b/nixpkgs/pkgs/development/libraries/flatpak/default.nix
index 40e07c590742..c97f1effd67c 100644
--- a/nixpkgs/pkgs/development/libraries/flatpak/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flatpak/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
 , autoreconfHook
 , docbook_xml_dtd_45
 , docbook-xsl-nons
@@ -54,14 +53,14 @@
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
-  version = "1.12.2";
+  version = "1.12.4";
 
   # 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 = "df1eb464f9142c11627f99f04f6a5c02c868bbb145489b8902cb6c105e774b75"; # Taken from https://github.com/flatpak/flatpak/releases/
+    sha256 = "792e6265f7f6d71b2a087028472a048287bed2587e43d2eec2c31d360c16211c"; # Taken from https://github.com/flatpak/flatpak/releases/
   };
 
   patches = [
@@ -78,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.
@@ -97,13 +96,6 @@ stdenv.mkDerivation rec {
 
     # But we want the GDK_PIXBUF_MODULE_FILE from the wrapper affect the icon validator.
     ./validate-icon-pixbuf.patch
-
-    # Tests don't respect the FLATPAK_BINARY override that was added, this is a workaround.
-    # https://github.com/flatpak/flatpak/pull/4496 (Can be removed once included).
-    (fetchpatch {
-      url = "https://github.com/flatpak/flatpak/commit/96dbe28cfa96e80b23fa1d8072eb36edad41279c.patch";
-      sha256 = "1jczk06ymfs98h3nsg245g0jwxvml7wg2x6pb7mrfpsdmrpz2czd";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/flint/default.nix b/nixpkgs/pkgs/development/libraries/flint/default.nix
index 858144b150aa..6873508eb7dc 100644
--- a/nixpkgs/pkgs/development/libraries/flint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/flint/default.nix
@@ -51,6 +51,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     homepage = "https://www.flintlib.org/";
     downloadPage = "https://www.flintlib.org/downloads.html";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/folks/default.nix b/nixpkgs/pkgs/development/libraries/folks/default.nix
index 45d3f128c01c..965016e1c740 100644
--- a/nixpkgs/pkgs/development/libraries/folks/default.nix
+++ b/nixpkgs/pkgs/development/libraries/folks/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -36,24 +35,15 @@
 
 stdenv.mkDerivation rec {
   pname = "folks";
-  version = "0.15.3";
+  version = "0.15.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Idc3+vCT9L4GVHPucMogiFuaLDaFlB26JMIjn9PFRKU=";
+    sha256 = "5xCZr8noj61OdXrhNLw/1j4SuQGtYrDtVTavt5Ekr18=";
   };
 
-  patches = [
-    # Fix build with evolution-data-server ≥ 3.41
-    # https://gitlab.gnome.org/GNOME/folks/-/merge_requests/52
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/folks/-/commit/62d588b0c609de17df5b4d1ebfbc67c456267efc.patch";
-      sha256 = "TDL/5kvVwHnvDMuKDdPLQmpmE1FTZhY+7HG8NxKqt5w=";
-    })
-  ];
-
   nativeBuildInputs = [
     gettext
     gobject-introspection
diff --git a/nixpkgs/pkgs/development/libraries/folly/default.nix b/nixpkgs/pkgs/development/libraries/folly/default.nix
index 85c80532b511..f6dfa9695281 100644
--- a/nixpkgs/pkgs/development/libraries/folly/default.nix
+++ b/nixpkgs/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.14.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "sha256-+di8Dzt5NRbqIydBR4sB6bUbQrZZ8URUosdP2JGQMec=";
+    sha256 = "sha256-tJuHzEi4nrj5jb6tmJeG21ggl4F+wvQyssEPNp/t6Ww=";
   };
 
   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/nixpkgs/pkgs/development/libraries/fontconfig/default.nix b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
index 22875e51842a..64e6f9a24767 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, fetchpatch
 , substituteAll
 , fetchurl
 , pkg-config
@@ -21,6 +22,14 @@ stdenv.mkDerivation rec {
     sha256 = "0g004r0bkkqz00mpm3svnnxn7d83158q0yb9ggxryizxfg5m5w55";
   };
 
+  patches = [
+    # Fix font style detection
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/92fbf14b0d7c4737ffe1e8326b7ab8ffae5548c3.patch";
+      sha256 = "1wmyax2151hg3m11q61mv25k45zk2w3xapb4p1r6wzk91zjlsgyr";
+    })
+  ];
+
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/fplll/default.nix b/nixpkgs/pkgs/development/libraries/fplll/default.nix
index 3a82b566a50f..7d4ff382d8c1 100644
--- a/nixpkgs/pkgs/development/libraries/fplll/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fplll/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
+, pkg-config
 , gettext
 , autoreconfHook
 , gmp
@@ -9,16 +9,17 @@
 
 stdenv.mkDerivation rec {
   pname = "fplll";
-  version = "5.3.2";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "fplll";
     repo = "fplll";
     rev = version;
-    sha256 = "00iyz218ywspizjiimrjdcqvdqmrsb2367zyy3vkmypnf9i9l680";
+    sha256 = "sha256-6Zde8/bPOQQ16DqhqrQuGXDrf5HQEn5lwxauvyBr4XQ=";
   };
 
   nativeBuildInputs = [
+    pkg-config
     gettext
     autoreconfHook
   ];
diff --git a/nixpkgs/pkgs/development/libraries/freenect/default.nix b/nixpkgs/pkgs/development/libraries/freenect/default.nix
index 0e96a346f418..59b161384045 100644
--- a/nixpkgs/pkgs/development/libraries/freenect/default.nix
+++ b/nixpkgs/pkgs/development/libraries/freenect/default.nix
@@ -18,6 +18,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
 
+  # see https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=libfreenect&id=0d17db49ba64bcb9e3a4eed61cf55c9a5ceb97f1
+  patchPhase = lib.concatMapStrings (x: ''
+    substituteInPlace ${x} --replace "{GLUT_LIBRARY}" "{GLUT_LIBRARIES}"
+  '') [ "examples/CMakeLists.txt" "wrappers/cpp/CMakeLists.txt" ];
+
   meta = {
     description = "Drivers and libraries for the Xbox Kinect device on Windows, Linux, and macOS";
     homepage = "http://openkinect.org";
diff --git a/nixpkgs/pkgs/development/libraries/freetds/default.nix b/nixpkgs/pkgs/development/libraries/freetds/default.nix
index ed455c534b2a..e5797d332ae2 100644
--- a/nixpkgs/pkgs/development/libraries/freetds/default.nix
+++ b/nixpkgs/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.8";
 
   src = fetchurl {
     url    = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-26AufwZh/0LcKJ/EHXzefgMIn9Mm8I7ijIcqyf9KHIQ=";
+    sha256 = "sha256-18p+ZaJgwCvjUchel4aaOjIr5jeVPKRNNhW1WljSezM=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/freetype/default.nix b/nixpkgs/pkgs/development/libraries/freetype/default.nix
index 6c66561f29f2..5dfd56370022 100644
--- a/nixpkgs/pkgs/development/libraries/freetype/default.nix
+++ b/nixpkgs/pkgs/development/libraries/freetype/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetype";
-  version = "2.11.0";
+  version = "2.11.1";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-i+45vTloxIBLcGFKCjrVlyma0OgkvIqtXOiq9IBnvec=";
+    sha256 = "sha256-MzOufP2ohCnJenrmO30BqzmAdsO2cYLpYOVoQFDyxcg=";
   };
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
diff --git a/nixpkgs/pkgs/development/libraries/fribidi/default.nix b/nixpkgs/pkgs/development/libraries/fribidi/default.nix
index 27f3b825d10a..3549368fecbc 100644
--- a/nixpkgs/pkgs/development/libraries/fribidi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fribidi/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fribidi";
-  version = "1.0.10";
+  version = "1.0.11";
 
   outputs = [ "out" "devdoc" ];
 
   # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
   src = fetchurl {
     url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "009wcpgk4jj5x52skjkfs6xar6x38mcngs75rb59nj9ig1y6h73z";
+    sha256 = "sha256-MPk+nGPuYn0aLO3PWaw01FvzAkCYL5nkTG4BVGa05z0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/funambol/default.nix b/nixpkgs/pkgs/development/libraries/funambol/default.nix
index e5ad34a56bb6..3e7bf0d21a2b 100644
--- a/nixpkgs/pkgs/development/libraries/funambol/default.nix
+++ b/nixpkgs/pkgs/development/libraries/funambol/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "SyncML client sdk by Funambol project";
-    homepage = "http://www.funambol.com";
+    homepage = "https://www.funambol.com";
     license = licenses.agpl3;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix b/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
index 0bb9e58fe355..fc356d6f0034 100644
--- a/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gbenchmark/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gbenchmark";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "benchmark";
     rev = "v${version}";
-    sha256 = "sha256-EAJk3JhLdkuGKRMtspTLejck8doWPd7Z0Lv/Mvf3KFY=";
+    sha256 = "sha256-yUiFxi80FWBmTZgqmqTMf9oqcBeg3o4I4vKd4djyRWY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/gdal/2.4.nix b/nixpkgs/pkgs/development/libraries/gdal/2.4.nix
index 234d986b21fa..0e57160f1947 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/2.4.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/2.4.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, libjpeg, libtiff, zlib
-, postgresql, libmysqlclient, libgeotiff, python2Packages, proj, geos, openssl
+, postgresql, libmysqlclient, libgeotiff, python3Packages, proj, geos, openssl
 , libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
 , libiconv, libxml2
 , netcdfSupport ? true, netcdf, hdf5, curl
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libjpeg libtiff libgeotiff libpng proj openssl sqlite
     libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
-  ++ (with python2Packages; [ python numpy wrapPython ])
+  ++ (with python3Packages; [ python numpy wrapPython ])
   ++ lib.optional stdenv.isDarwin libiconv
   ++ lib.optionals netcdfSupport [ netcdf hdf5 curl ];
 
diff --git a/nixpkgs/pkgs/development/libraries/gdal/default.nix b/nixpkgs/pkgs/development/libraries/gdal/default.nix
index 62735dfa9b0c..3e5ae303dd77 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/default.nix
@@ -7,13 +7,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "gdal";
-  version = "3.3.2";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "gdal";
     rev = "v${version}";
-    sha256 = "sha256-fla3EMDmuW0+vmmU0sgtLsGfO7dDApLQ2EoKJeR/1IM=";
+    sha256 = "11rjdaxmsp9n3r9xhmgd7ksy8bh5fazwsxdj0xvl4hsy6bcn4n97";
   };
 
   sourceRoot = "source/gdal";
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     expat
     libxml2
     postgresql
-  ] ++ (with pythonPackages; [ python numpy wrapPython ])
+  ] ++ (with pythonPackages; [ python setuptools numpy wrapPython ])
     ++ lib.optional stdenv.isDarwin libiconv
     ++ lib.optionals netcdfSupport [ netcdf hdf5 curl ];
 
@@ -62,7 +62,11 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  CXXFLAGS = "-fpermissive";
+  CXXFLAGS = lib.concatStringsSep " " [
+    "-fpermissive"
+    # poppler uses std::optional
+    "-std=c++17"
+  ];
 
   # - Unset CC and CXX as they confuse libtool.
   # - teach gdal that libdf is the legacy name for libhdf
diff --git a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix
index bc4c14beb458..dd498bb9aeac 100644
--- a/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix
+++ b/nixpkgs/pkgs/development/libraries/gdk-pixbuf/xlib.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gdk-pixbuf-xlib";
-  version = "2020-06-11-unstable";
+  version = "2.40.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
     domain = "gitlab.gnome.org";
     owner = "Archive";
     repo = "gdk-pixbuf-xlib";
-    rev = "3116b8ae55501cf48d16970aa2b50a5530e15223";
-    sha256 = "15wisf2xld3cr7lprnic8fvwpcmww4rydwc1bn2zilyi52vzl2zd";
+    rev = version;
+    hash = "sha256-b4EUaYzg2NlBMU90dGQivOvkv9KKSzES/ymPqzrelu8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/gettext/default.nix b/nixpkgs/pkgs/development/libraries/gettext/default.nix
index c9ee5866f597..7b23b58c1922 100644
--- a/nixpkgs/pkgs/development/libraries/gettext/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gettext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, libiconv, xz }:
+{ stdenv, lib, fetchurl, fetchpatch, libiconv, xz }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -20,7 +20,11 @@ stdenv.mkDerivation rec {
   };
   patches = [
     ./absolute-paths.diff
-  ];
+  ] ++ lib.optional stdenv.hostPlatform.isWindows (fetchpatch {
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/gettext_formatstring-ruby.patch?h=mingw-w64-gettext&id=e8b577ee3d399518d005e33613f23363a7df07ee";
+    name = "gettext_formatstring-ruby.patch";
+    sha256 = "sha256-6SxZObOMkQDxuKJuJY+mQ/VuJJxSeGbf97J8ZZddCV0=";
+  });
 
   outputs = [ "out" "man" "doc" "info" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/giblib/default.nix b/nixpkgs/pkgs/development/libraries/giblib/default.nix
deleted file mode 100644
index ca4a3c98e0a6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/git2/default.nix b/nixpkgs/pkgs/development/libraries/git2/default.nix
deleted file mode 100644
index 35ef9fba1051..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/givaro/default.nix b/nixpkgs/pkgs/development/libraries/givaro/default.nix
index 29674118dfee..83f7854a73b0 100644
--- a/nixpkgs/pkgs/development/libraries/givaro/default.nix
+++ b/nixpkgs/pkgs/development/libraries/givaro/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, automake, autoconf, libtool, autoreconfHook, gmpxx }:
 stdenv.mkDerivation rec {
   pname = "givaro";
-  version = "4.1.1";
+  version = "4.2.0";
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11wz57q6ijsvfs5r82masxgr319as92syi78lnl9lgdblpc6xigk";
+    sha256 = "sha256-KR0WJc0CSvaBnPRott4hQJhWNBb/Wi6MIhcTExtVobQ=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/gjs/default.nix b/nixpkgs/pkgs/development/libraries/gjs/default.nix
index 29eb1b948247..07c97ea6e0d6 100644
--- a/nixpkgs/pkgs/development/libraries/gjs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/glew/default.nix b/nixpkgs/pkgs/development/libraries/glew/default.nix
index ae32bbe95223..7e281892a1fd 100644
--- a/nixpkgs/pkgs/development/libraries/glew/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glew/default.nix
@@ -1,9 +1,8 @@
-{ lib, stdenv, fetchurl, libGLU, xlibsWrapper, libXmu, libXi
+{ lib, stdenv, fetchurl, fetchpatch, cmake, libGLU, xlibsWrapper, libXmu, libXi
 , OpenGL
+, enableEGL ? false
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "glew";
   version = "2.2.0";
@@ -13,48 +12,46 @@ stdenv.mkDerivation rec {
     sha256 = "1qak8f7g1iswgswrgkzc7idk7jmqgwrs58fhg2ai007v7j4q5z6l";
   };
 
-  outputs = [ "bin" "out" "dev" "doc" ];
-
-  buildInputs = optionals (!stdenv.isDarwin) [ xlibsWrapper libXmu libXi ];
-  propagatedBuildInputs = if stdenv.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h
+  outputs = [ "bin" "out" "dev" ];
 
-  patchPhase = ''
-    sed -i 's|lib64|lib|' config/Makefile.linux
-    substituteInPlace config/Makefile.darwin --replace /usr/local "$out"
-    ${optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-      sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile
-    ''}
-  '';
+  patches = [
+    # https://github.com/nigels-com/glew/pull/342
+    (fetchpatch {
+      url = "https://github.com/nigels-com/glew/commit/966e53fa153175864e151ec8a8e11f688c3e752d.diff";
+      sha256 = "sha256-xsSwdAbdWZA4KVoQhaLlkYvO711i3QlHGtv6v1Omkhw=";
+    })
+  ];
 
-  buildFlags = [ "all" ];
-  installFlags = [ "install.all" ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = lib.optionals (!stdenv.isDarwin) [ xlibsWrapper libXmu libXi ];
+  propagatedBuildInputs = if stdenv.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h
 
-  preInstall = ''
-    makeFlagsArray+=(GLEW_DEST=$out BINDIR=$bin/bin INCDIR=$dev/include/GL)
-  '';
+  cmakeDir = "cmake";
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ] ++ lib.optional enableEGL "-DGLEW_EGL=ON";
 
   postInstall = ''
-    mkdir -pv $out/share/doc/glew
-    mkdir -p $out/lib/pkgconfig
-    cp glew*.pc $out/lib/pkgconfig
-    cp -r README.md LICENSE.txt doc $out/share/doc/glew
-    rm $out/lib/*.a
+    moveToOutput lib/cmake "''${!outputDev}"
+    moveToOutput lib/pkgconfig "''${!outputDev}"
+
+    cat >> "''${!outputDev}"/lib/cmake/glew/glew-config.cmake <<EOF
+    # nixpkg's workaround for a cmake bug
+    # https://discourse.cmake.org/t/the-findglew-cmake-module-does-not-set-glew-libraries-in-some-cases/989/3
+    set(GLEW_VERSION "$version")
+    set(GLEW_LIBRARIES GLEW::glew\''${_glew_target_postfix})
+    get_target_property(GLEW_INCLUDE_DIRS GLEW::glew\''${_glew_target_postfix} INTERFACE_INCLUDE_DIRECTORIES)
+    EOF
   '';
 
-  makeFlags = [
-    "SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}"
-    "CC=${stdenv.cc.targetPrefix}cc"
-    "LD=${stdenv.cc.targetPrefix}cc"
-    "AR=${stdenv.cc.targetPrefix}ar"
-  ];
-
-  enableParallelBuilding = true;
-
   meta = with lib; {
-    description = "An OpenGL extension loading library for C(++)";
+    description = "An OpenGL extension loading library for C/C++";
     homepage = "http://glew.sourceforge.net/";
-    license = licenses.free; # different files under different licenses
-      #["BSD" "GLX" "SGI-B" "GPL2"]
-    platforms = platforms.mesaPlatforms;
+    license = with licenses; [ /* modified bsd */ free mit gpl2Only ]; # For full details, see https://github.com/nigels-com/glew#copyright-and-licensing
+    platforms = with platforms;
+      if enableEGL then
+        subtractLists darwin mesaPlatforms
+      else
+        mesaPlatforms;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/glib-networking/default.nix b/nixpkgs/pkgs/development/libraries/glib-networking/default.nix
index d5bc952597d4..1a693e0e0452 100644
--- a/nixpkgs/pkgs/development/libraries/glib-networking/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glib-networking/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-networking";
-  version = "2.70.0";
+  version = "2.70.1";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0dbg1na239mbavn4hknkax5sns9q2dbdnqw9wcpmhv58mzkhid36";
+    sha256 = "Kha/wtJxzNMmbj+0YryKQQPALoG7szmqktb7BgWS17w=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/glib/default.nix b/nixpkgs/pkgs/development/libraries/glib/default.nix
index d41bfd2f413b..30f43c00a05d 100644
--- a/nixpkgs/pkgs/development/libraries/glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glib/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.70.1";
+  version = "2.70.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "+be85/UXU6H0OFO7ysqL8J4V6ZQmjinP16dvZWNiY8A=";
+    sha256 = "BVFFnIXNPaPVjdyQFv0ovlr1A/XhYVpxultRKslFgG8=";
   };
 
   patches = optionals stdenv.isDarwin [
@@ -93,6 +93,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libelf setupHook pcre
+  ] ++ optionals (!stdenv.hostPlatform.isWindows) [
     bash gnum4 # install glib-gettextize and m4 macros for other apps to use
   ] ++ optionals stdenv.isLinux [
     libselinux
@@ -143,6 +144,9 @@ stdenv.mkDerivation rec {
     patchShebangs glib/gen-unicode-tables.pl
     patchShebangs tests/gen-casefold-txt.py
     patchShebangs tests/gen-casemap-txt.py
+  '' + lib.optionalString stdenv.hostPlatform.isWindows ''
+    substituteInPlace gio/win32/meson.build \
+      --replace "libintl, " ""
   '';
 
   DETERMINISTIC_BUILD = 1;
@@ -191,10 +195,17 @@ stdenv.mkDerivation rec {
 
   passthru = rec {
     gioModuleDir = "lib/gio/modules";
-    makeSchemaPath = dir: name: "${dir}/share/gsettings-schemas/${name}/glib-2.0/schemas";
+
+    makeSchemaDataDirPath = dir: name: "${dir}/share/gsettings-schemas/${name}";
+    makeSchemaPath = dir: name: "${makeSchemaDataDirPath dir name}/glib-2.0/schemas";
     getSchemaPath = pkg: makeSchemaPath pkg pkg.name;
+    getSchemaDataDirPath = pkg: makeSchemaDataDirPath pkg pkg.name;
+
     inherit flattenInclude;
-    updateScript = gnome.updateScript { packageName = "glib"; };
+    updateScript = gnome.updateScript {
+      packageName = "glib";
+      versionPolicy = "odd-unstable";
+    };
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/glibc/2.33-master.patch.gz b/nixpkgs/pkgs/development/libraries/glibc/2.33-master.patch.gz
index 50f74b15822e..49ffd4a7441c 100644
--- a/nixpkgs/pkgs/development/libraries/glibc/2.33-master.patch.gz
+++ b/nixpkgs/pkgs/development/libraries/glibc/2.33-master.patch.gz
Binary files differdiff --git a/nixpkgs/pkgs/development/libraries/glibc/common.nix b/nixpkgs/pkgs/development/libraries/glibc/common.nix
index 6fa46d6d6c10..9a84a5f8167a 100644
--- a/nixpkgs/pkgs/development/libraries/glibc/common.nix
+++ b/nixpkgs/pkgs/development/libraries/glibc/common.nix
@@ -44,7 +44,7 @@
 
 let
   version = "2.33";
-  patchSuffix = "-59";
+  patchSuffix = "-108";
   sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
 in
 
@@ -63,7 +63,7 @@ stdenv.mkDerivation ({
     [
       /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
           $ git fetch --all -p && git checkout origin/release/2.33/master && git describe
-          glibc-2.33-59-gf9592d65f2
+          glibc-2.33-108-g3e2a15c666
           $ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
 
          To compare the archive contents zdiff can be used.
diff --git a/nixpkgs/pkgs/development/libraries/globalarrays/default.nix b/nixpkgs/pkgs/development/libraries/globalarrays/default.nix
index a2e983ece83d..0a8b372a52fc 100644
--- a/nixpkgs/pkgs/development/libraries/globalarrays/default.nix
+++ b/nixpkgs/pkgs/development/libraries/globalarrays/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "globalarrays";
-  version = "5.8";
+  version = "5.8.1";
 
   src = fetchFromGitHub {
     owner = "GlobalArrays";
     repo = "ga";
     rev = "v${version}";
-    sha256 = "0bky91ncz6vy0011ps9prsnq9f4a5s5xwr23kkmi39xzg0417mnd";
+    sha256 = "sha256-IyHdeIUHu/T4lb/etGGnNB2guIspual8/v9eS807Qco=";
   };
 
   nativeBuildInputs = [ autoreconfHook gfortran ];
diff --git a/nixpkgs/pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch b/nixpkgs/pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch
new file mode 100644
index 000000000000..13b9bc5f58cd
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gmp/5.1.3-CVE-2021-43618.patch
@@ -0,0 +1,20 @@
+Based on https://gmplib.org/repo/gmp-6.2/raw-rev/561a9c25298e,
+adapted for 5.x by ris
+
+diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
+--- a/mpz/inp_raw.c	Tue Dec 22 23:49:51 2020 +0100
++++ b/mpz/inp_raw.c	Thu Oct 21 19:06:49 2021 +0200
+@@ -81,8 +81,11 @@
+ 
+   abs_csize = ABS (csize);
+ 
++  if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
++    return 0; /* Bit size overflows */
++
+   /* round up to a multiple of limbs */
+-  abs_xsize = (abs_csize*8 + GMP_NUMB_BITS-1) / GMP_NUMB_BITS;
++  abs_xsize = ((mp_bitcnt_t)abs_csize*8 + GMP_NUMB_BITS-1) / GMP_NUMB_BITS;
+ 
+   if (abs_xsize != 0)
+     {
+
diff --git a/nixpkgs/pkgs/development/libraries/gmp/5.1.x.nix b/nixpkgs/pkgs/development/libraries/gmp/5.1.x.nix
index aa3704eb0b58..c83a4785ebea 100644
--- a/nixpkgs/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gmp/5.1.x.nix
@@ -22,7 +22,11 @@ let self = stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ m4 ];
 
-  patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
+  patches = [
+    ./5.1.3-CVE-2021-43618.patch
+  ] ++ lib.optionals stdenv.isDarwin [
+    ./need-size-t.patch
+  ];
 
   configureFlags = [
     "--with-pic"
diff --git a/nixpkgs/pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch b/nixpkgs/pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch
new file mode 100644
index 000000000000..eec8206dba05
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gmp/6.2.1-CVE-2021-43618.patch
@@ -0,0 +1,19 @@
+https://gmplib.org/repo/gmp-6.2/raw-rev/561a9c25298e
+
+diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
+--- a/mpz/inp_raw.c	Tue Dec 22 23:49:51 2020 +0100
++++ b/mpz/inp_raw.c	Thu Oct 21 19:06:49 2021 +0200
+@@ -88,8 +88,11 @@
+ 
+   abs_csize = ABS (csize);
+ 
++  if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
++    return 0; /* Bit size overflows */
++
+   /* round up to a multiple of limbs */
+-  abs_xsize = BITS_TO_LIMBS (abs_csize*8);
++  abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
+ 
+   if (abs_xsize != 0)
+     {
+
diff --git a/nixpkgs/pkgs/development/libraries/gmp/6.x.nix b/nixpkgs/pkgs/development/libraries/gmp/6.x.nix
index 59bc98aa559f..9093073cecff 100644
--- a/nixpkgs/pkgs/development/libraries/gmp/6.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gmp/6.x.nix
@@ -20,6 +20,8 @@ let self = stdenv.mkDerivation rec {
     sha256 = "0z2ddfiwgi0xbf65z4fg4hqqzlhv0cc6hdcswf3c6n21xdmk5sga";
   };
 
+  patches = [ ./6.2.1-CVE-2021-43618.patch ];
+
   #outputs TODO: split $cxx due to libstdc++ dependency
   # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
   # - see #5855 for related discussion
diff --git a/nixpkgs/pkgs/development/libraries/gnome-sharp/default.nix b/nixpkgs/pkgs/development/libraries/gnome-sharp/default.nix
deleted file mode 100644
index 4aa510f36068..000000000000
--- a/nixpkgs/pkgs/development/libraries/gnome-sharp/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, pkg-config
-, gtk2
-, mono
-, gtk-sharp-2_0
-, gnome2
-, autoconf
-, automake
-, libtool
-, which
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-sharp";
-  version = "2.24.4";
-
-  src = fetchFromGitHub {
-    owner = "mono";
-    repo = "gnome-sharp";
-    rev = version;
-    sha256 = "15jsm6n0sih0nf3w8vmvik97q7l3imz4vkdzmp9k7bssiz4glj1z";
-  };
-
-  nativeBuildInputs = [ pkg-config autoconf automake libtool which ];
-  buildInputs = [ gtk2 mono gtk-sharp-2_0 ]
-  ++ (with gnome2; [ libart_lgpl gnome_vfs libgnome libgnomecanvas libgnomeui ]);
-
-  patches = [ ./fix-mono-path.patch ];
-
-  preConfigure = ''
-    ./bootstrap-${lib.versions.majorMinor version}
-  '';
-
-  dontStrip = true;
-
-  meta = with lib; {
-    homepage = "https://www.mono-project.com/docs/gui/gtksharp/";
-    description = "A .NET language binding for assorted GNOME libraries";
-    license = licenses.lgpl21;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ vbgl ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gnome-sharp/fix-mono-path.patch b/nixpkgs/pkgs/development/libraries/gnome-sharp/fix-mono-path.patch
deleted file mode 100644
index 706f119c8baa..000000000000
--- a/nixpkgs/pkgs/development/libraries/gnome-sharp/fix-mono-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/sample/gconf/Makefile.am b/sample/gconf/Makefile.am
-index a0ee802..8260694 100644
---- a/sample/gconf/Makefile.am
-+++ b/sample/gconf/Makefile.am
-@@ -22,7 +22,7 @@ sample.exe: $(SCHEMA) $(srcdir)/sample.glade $(FILES) $(ASSEMBLIES)
-	$(CSC) /out:sample.exe $(FILES) $(REFERENCES) $(RESOURCES)
- 
- Settings.cs: $(SCHEMA)
--	MONO_PATH=$(top_builddir)/gconf/GConf/gconf-sharp.dll:${MONO_PATH} $(RUNTIME) $(GCONFDIR)/tools/gconfsharp-schemagen.exe Sample $(SCHEMA) > Settings.cs
-+	MONO_PATH=$(top_builddir)/gconf/GConf/:${MONO_PATH} $(RUNTIME) $(GCONFDIR)/tools/gconfsharp-schemagen.exe Sample $(SCHEMA) > Settings.cs
- 
- CLEANFILES = sample.exe Settings.cs
-
diff --git a/nixpkgs/pkgs/development/libraries/gnutls/default.nix b/nixpkgs/pkgs/development/libraries/gnutls/default.nix
index f56052953033..627e5f46f728 100644
--- a/nixpkgs/pkgs/development/libraries/gnutls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gnutls/default.nix
@@ -1,5 +1,5 @@
 { config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkg-config, lzip
-, perl, gmp, autoconf, automake, libidn, libiconv
+, perl, gmp, autoconf, automake, libidn2, libiconv
 , unbound, dns-root-data, gettext, util-linux
 , cxxBindings ? !stdenv.hostPlatform.isStatic # tries to link libstdc++.so
 , guileBindings ? config.gnutls.guile or false, guile
@@ -21,11 +21,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnutls";
-  version = "3.7.2";
+  version = "3.7.3";
 
   src = fetchurl {
     url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
-    sha256 = "646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752";
+    sha256 = "16n4yvw3792gcdxkikjmhddr6cbs4wlk027zfxlhmchsqcxw8ngw";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ lzo lzip libtasn1 libidn zlib gmp libunistring unbound gettext libiconv ]
+  buildInputs = [ lzo lzip libtasn1 libidn2 zlib gmp libunistring unbound gettext libiconv ]
     ++ lib.optional (withP11-kit) p11-kit
     ++ lib.optional (isDarwin && withSecurity) Security
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
diff --git a/nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix b/nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix
index 25b7770101d1..667d50ca4d8b 100644
--- a/nixpkgs/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/goffice/default.nix b/nixpkgs/pkgs/development/libraries/goffice/default.nix
index 85c9b77c6bdc..0617eaa1a260 100644
--- a/nixpkgs/pkgs/development/libraries/goffice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.50";
+  version = "0.10.51";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "LFw93HsIs0UkCMgbEhxfASpzSYHXXkRN68yxxY5cv9w=";
+    sha256 = "LoQQiE1qUa4AyUIJKKv6c/elUsGqIiNx308txazDzSM=";
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
diff --git a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
index 35a4d9362680..f3c16c8ac321 100644
--- a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, python3, runCommand, makeWrapper, stress-ng }:
+{ lib, stdenv, fetchFromGitHub, python3, runCommand, makeWrapper, stress-ng }:
 
 lib.fix (self: stdenv.mkDerivation rec {
   pname = "graphene-hardened-malloc";
   version = "8";
 
-  src = fetchurl {
-    url = "https://github.com/GrapheneOS/hardened_malloc/archive/${version}.tar.gz";
-    sha256 = "0lipyd2pb1bmghkyv9zmg25jwcglj7m281f01zlh3ghz3xlfh0ym";
+  src = fetchFromGitHub {
+    owner = "GrapheneOS";
+    repo = "hardened_malloc";
+    rev = version;
+    sha256 = "sha256-+5kJb3hhuFTto7zsIymIXl3tpKUOm3v1DCY4EkAOCgo=";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/grib-api/default.nix b/nixpkgs/pkgs/development/libraries/grib-api/default.nix
deleted file mode 100644
index 1f7097dc4a3f..000000000000
--- a/nixpkgs/pkgs/development/libraries/grib-api/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ fetchurl, fetchpatch, lib, stdenv,
-  cmake, netcdf, gfortran, libpng, openjpeg,
-  enablePython ? false, pythonPackages ? null }:
-
-stdenv.mkDerivation rec {
-  pname = "grib-api";
-  version = "1.28.0";
-
-  src = fetchurl {
-    url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
-    sha256 = "0qbj12ap7yy2rl1pq629chnss2jl73wxdj1lwzv0xp87r6z5qdfl";
-  };
-
-  patches = [
-    (fetchpatch {
-      url = "https://salsa.debian.org/science-team/grib-api/raw/debian/1.28.0-2/debian/patches/openjpeg2.patch";
-      sha256 = "05faxh51vlidiazxq1ssd3k4cjivk1adyn30k94mxqa1xnb2r2pc";
-    })
-  ];
-
-  preConfigure = ''
-    # Fix "no member named 'inmem_' in 'jas_image_t'"
-    substituteInPlace "src/grib_jasper_encoding.c" --replace "image.inmem_    = 1;" ""
-  '';
-
-  nativeBuildInputs = [ cmake gfortran ];
-  buildInputs = [ netcdf
-                  libpng
-                  openjpeg
-                ] ++ lib.optionals enablePython [
-                  pythonPackages.python
-                ];
-
-  propagatedBuildInputs = lib.optionals enablePython [
-                  pythonPackages.numpy
-                ];
-
-  cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
-                 "-DENABLE_PNG=ON"
-                 "-DENABLE_FORTRAN=ON"
-                 "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/${openjpeg.incDir}"
-               ];
-
-  doCheck = true;
-
-  # Only do tests that don't require downloading 120MB of testdata
-  # We fix the darwin checkPhase, which searches for libgrib_api.dylib
-  # in /nix/store by setting DYLD_LIBRARY_PATH
-  checkPhase = lib.optionalString (stdenv.isDarwin) ''
-    substituteInPlace "tests/include.sh" --replace "set -ea" "set -ea; export DYLD_LIBRARY_PATH=$(pwd)/lib"
-  '' + ''
-    ctest -R "t_definitions|t_calendar|t_unit_tests" -VV
-  '';
-
-
-  meta = with lib; {
-    homepage = "https://software.ecmwf.int/wiki/display/GRIB/Home";
-    license = licenses.asl20;
-    platforms = with platforms; linux ++ darwin;
-    description = "ECMWF Library for the GRIB file format -- DEPRECATED";
-    longDescription = ''
-      The ECMWF GRIB API is an application program interface accessible from C,
-      FORTRAN and Python programs developed for encoding and decoding WMO FM-92
-      GRIB edition 1 and edition 2 messages.
-
-      Please note: GRIB-API support is being discontinued at the end of 2018.
-      After which there will be no further releases. Please upgrade to ecCodes
-    '';
-    maintainers = with maintainers; [ knedlsepp ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
index ed8f8edd656f..db968f4730f8 100644
--- a/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     # * chromaprint (gst-plugins-bad)
     (substituteAll {
       src = ./chromaprint-gst-plugins.patch;
-      load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
+      load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
         gstreamer
         gst-plugins-base
         gst-plugins-bad
diff --git a/nixpkgs/pkgs/development/libraries/gsl/default.nix b/nixpkgs/pkgs/development/libraries/gsl/default.nix
index 9cc27ef48984..0d14630bda3b 100644
--- a/nixpkgs/pkgs/development/libraries/gsl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gsl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gsl";
-  version = "2.7";
+  version = "2.7.1";
 
   src = fetchurl {
     url = "mirror://gnu/gsl/${pname}-${version}.tar.gz";
-    sha256 = "sha256-77vzeF2g5TA4vnkHUAYotGYVLbw8FzqH3hteui4jYCs=";
+    sha256 = "sha256-3LD71DBIgyt1f/mUJpGo3XACbV2g/4VgHlJof23us0s=";
   };
 
   preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
index 8c6a8b056781..0e17e13e5818 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , gettext
@@ -9,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
@@ -28,7 +29,7 @@
 , sratom
 , libbs2b
 , libmodplug
-, mpeg2dec
+, libmpeg2
 , libmicrodns
 , openjpeg
 , libopus
@@ -40,6 +41,7 @@
 , fdk_aac
 , flite
 , gsm
+, json-glib
 , libaom
 , libdc1394
 , libde265
@@ -47,7 +49,7 @@
 , libdvdnav
 , libdvdread
 , libgudev
-, libofa
+, qrencode
 , libsndfile
 , libusb1
 , neon
@@ -89,32 +91,20 @@
 , CoreVideo
 , Foundation
 , MediaToolbox
+, enableGplPlugins ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.18.2";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca";
+    sha256 = "sha256-AVuNTZo5Xr9ETUCHaGeiA03TMEs61IvDoN0MHucdwR0=";
   };
 
-  patches = [
-    # Use pkgconfig to inject the includedirs
-    ./fix_pkgconfig_includedir.patch
-    # Fix “error: cannot initialize a parameter of type 'unsigned long *' with an rvalue of type 'typename std::remove_reference<decltype(*(&opencv_dilate_erode_type))>::type *' (aka 'volatile unsigned long *')” on Darwin.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/640a65bf966df065d41a511e2d76d1f26a2e770c.patch";
-      sha256 = "E5pig+qEfR58Jticr6ydFxZOhM3ZJ8zgrf5K4BdiB/Y=";
-      includes = [
-        "ext/opencv/gstcvdilateerode.cpp"
-      ];
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -122,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
@@ -133,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
@@ -154,9 +145,9 @@ stdenv.mkDerivation rec {
     libde265
     libdvdnav
     libdvdread
+    qrencode
     libsndfile
     libusb1
-    mjpegtools
     neon
     openal
     opencv4
@@ -175,7 +166,6 @@ stdenv.mkDerivation rec {
     libGLU
     libgme
     openssl
-    x265
     libxml2
     libintl
     srt
@@ -184,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
@@ -202,7 +197,6 @@ stdenv.mkDerivation rec {
     libdrm
     libgudev
     libnice
-    libofa
     sbc
     spandsp
 
@@ -238,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
@@ -264,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`
@@ -274,7 +272,6 @@ stdenv.mkDerivation rec {
     "-Ddirectfb=disabled"
     "-Dflite=disabled"
     "-Dkms=disabled" # renders to libdrm output
-    "-Dofa=disabled"
     "-Dlv2=disabled"
     "-Dsbc=disabled"
     "-Dspandsp=disabled"
@@ -295,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;
@@ -320,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/nixpkgs/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
deleted file mode 100644
index c687fffc9c08..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
index 1edadf0a51bc..82d90845677c 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/base/default.nix
@@ -41,19 +41,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.18.4";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "08w3ivbc6n4vdds2ap6q7l8zdk9if8417nznyqidf0adm0lk5r99";
+    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/nixpkgs/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
deleted file mode 100644
index 04486a4647f9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
index 9cc1675de3ae..fa1188347731 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/core/default.nix
@@ -21,26 +21,22 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.18.4";
+  version = "1.20.0";
 
   outputs = [
+    "bin"
     "out"
     "dev"
     # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs, see:
     # - https://github.com/NixOS/nixpkgs/pull/98767
     # - https://github.com/NixOS/nixpkgs/issues/98769#issuecomment-702296551
   ];
-  outputBin = "dev";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1igv9l4hm21kp1jmlwlagzs7ly1vaxv1sbda29q8247372dwkvls";
+    sha256 = "sha256-7fS///hVkdT/97Ibue1/D+q8EjrEpO/ynnPLzkVPnbc=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -94,14 +90,14 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    for prog in "$dev/bin/"*; do
+    for prog in "$bin/bin/"*; do
         # We can't use --suffix here due to quoting so we craft the export command by hand
         wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
     done
   '';
 
   preFixup = ''
-    moveToOutput "share/bash-completion" "$dev"
+    moveToOutput "share/bash-completion" "$bin"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
deleted file mode 100644
index db1684269350..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/gstreamer/devtools/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/devtools/default.nix
index 12cb6dac6f31..aa92410e0e48 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/devtools/default.nix
+++ b/nixpkgs/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.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kvcabcfzm7wqih3lzgrg9xjbn4xpx43d1m2zkkvab4i8161kggz";
+    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/nixpkgs/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch
deleted file mode 100644
index ff19c7cbf6f8..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
index 840b0f252857..4630ce6d0ce4 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-editing-services";
-  version = "1.18.4";
+  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 = "010xg960qsh5dwmf0y9l1q13h0cymmrgapzla2zsw66ylxqbi1s6";
+    sha256 = "sha256-+Detz0Bz0ZpZCJhOh5zQOfQZLKNo5x056MzYpWuf7t8=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
deleted file mode 100644
index 1e12f3bbfbea..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix
index bc1656c191a4..3b686e4c7f59 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/nixpkgs/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.4";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1c1rpq709cy8maaykyn1n0kckj9c6fl3mhvixkk6xmdwkcx0xrdn";
+    sha256 = "sha256-LRGcFauMnnn4zTxr9YL/egULKMyuUqtIZeGhRkmRZZw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
index 009a1555f770..0d9f22d7d65f 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/nixpkgs/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.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "15n3x3vhshqa3icw93g4vqmqd46122anzqvfxwn6q8famlxlcjil";
+    sha256 = "sha256-Xu5e2NUIKjG1AESOQVNcci7jDNX4Ik8ymCu6ui7t7xc=";
   };
 
   outputs = [ "out" "dev" ];
@@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    gstreamer
     gst-plugins-base
     libav
   ];
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index d66376b64996..80190200c26c 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/nixpkgs/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.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "153c78klvzlmi86d0gmdf7w9crv11rkd4y82b14a0wdr83gbhsx4";
+    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/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch b/nixpkgs/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch
deleted file mode 100644
index d31fe19fb0fe..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix
index 049e8a99f095..05133271f846 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/nixpkgs/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.4";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0g6i4db1883q3j0l2gdv46fcqwiiaw63n6mhvsfcms1i1p7g1391";
+    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/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 19e65c5a75eb..c8b6230cd595 100644
--- a/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-vaapi";
-  version = "1.18.4";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1sia4l88z7kkxm2z9j20l43rqkrnsa47xccski10s5gkhsprinwj";
+    sha256 = "sha256-95pHNG39XlheBj53B45fxJiwbe6JW/y/R9iGP8rJ6jI=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/libraries/gthree/default.nix b/nixpkgs/pkgs/development/libraries/gthree/default.nix
index a59541edb257..fa4cb404b0aa 100644
--- a/nixpkgs/pkgs/development/libraries/gthree/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gthree/default.nix
@@ -69,5 +69,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gthree.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/gtk-sharp/2.0.nix b/nixpkgs/pkgs/development/libraries/gtk-sharp/2.0.nix
index f35f5e0552c4..b083ca02cf2c 100644
--- a/nixpkgs/pkgs/development/libraries/gtk-sharp/2.0.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk-sharp/2.0.nix
@@ -6,14 +6,6 @@
 , glib
 , pango
 , gtk2
-, GConf ? null
-, libglade ? null
-, libgtkhtml ? null
-, gtkhtml ? null
-, libgnomecanvas ? null
-, libgnomeui ? null
-, libgnomeprint ? null
-, libgnomeprintui ? null
 , libxml2
 , monoDLLFixer
 , autoconf
@@ -54,8 +46,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config autoconf automake libtool which ];
 
   buildInputs = [
-    mono glib pango gtk2 GConf libglade libgnomecanvas
-    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
+    mono glib pango gtk2
+    libxml2
   ];
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix b/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix
index 6b996244a9f3..8b594a00a7e5 100644
--- a/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk-sharp/3.0.nix
@@ -6,14 +6,6 @@
 , glib
 , pango
 , gtk3
-, GConf ? null
-, libglade ? null
-, libgtkhtml ? null
-, gtkhtml ? null
-, libgnomecanvas ? null
-, libgnomeui ? null
-, libgnomeprint ? null
-, libgnomeprintui ? null
 , libxml2
 , monoDLLFixer
 }:
@@ -30,8 +22,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    mono glib pango gtk3 GConf libglade libgnomecanvas
-    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
+    mono glib pango gtk3
+    libxml2
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
index 82bcad0b9856..bb1451594475 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
@@ -44,6 +44,7 @@
 , cups
 , AppKit
 , Cocoa
+, QuartzCore
 , broadwaySupport ? true
 }:
 
@@ -59,7 +60,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.30";
+  version = "3.24.31";
 
   outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc";
   outputBin = "dev";
@@ -71,7 +72,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "sha256-unW//zIK0fTPvukrqBPsM2MizDxmDUBqrQFLBwh6O6k=";
+    sha256 = "sha256-Qjw+f9tMRZ7oieNf1Ncf0mI1YlQcEEGxHAflrR/xC/k=";
   };
 
   patches = [
@@ -83,6 +84,12 @@ stdenv.mkDerivation rec {
     # e.g. https://gitlab.gnome.org/GNOME/gtk/blob/3.24.4/gtk/gtk-launch.c#L31-33
     # https://gitlab.gnome.org/GNOME/gtk/merge_requests/536
     ./patches/3.0-darwin-x11.patch
+
+    # 3.24.31 does not declare QuartzCore dependency properly and fails to link
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/0ac61443694b477c41fc246cb387ef86aba441de.patch";
+      sha256 = "sha256-KaMeIdV/gfM4xzN9lIkY99E7bzAfTM6VETk5DEunB2w=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -104,7 +111,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libxkbcommon
-    libepoxy
+    (libepoxy.override { inherit x11Support; })
     isocodes
   ] ++ lib.optionals stdenv.isDarwin [
     AppKit
@@ -133,6 +140,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     # explicitly propagated, always needed
     Cocoa
+    QuartzCore
   ] ++ lib.optionals waylandSupport [
     libGL
     wayland
diff --git a/nixpkgs/pkgs/development/libraries/gtk/4.x.nix b/nixpkgs/pkgs/development/libraries/gtk/4.x.nix
index d763c99882e0..6da3fc769ea6 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtk/4.x.nix
@@ -23,6 +23,9 @@
 , xorg
 , libepoxy
 , libxkbcommon
+, libpng
+, libtiff
+, libjpeg
 , libxml2
 , gnome
 , gsettings-desktop-schemas
@@ -59,7 +62,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk4";
-  version = "4.4.1";
+  version = "4.6.1";
 
   outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
   outputBin = "dev";
@@ -71,7 +74,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
-    sha256 = "D6ramD3GsLxAnLNMFxPB8yZ+Z8CT+GseOxfbYQCj3fQ=";
+    sha256 = "2FUI0hy7zWPVaKeGKvXs1juXjX1XmcvkBMkdI4nQ7F8=";
   };
 
   nativeBuildInputs = [
@@ -89,7 +92,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libxkbcommon
-    libepoxy
+    libpng
+    libtiff
+    libjpeg
+    (libepoxy.override { inherit x11Support; })
     isocodes
   ] ++ lib.optionals vulkanSupport [
     vulkan-headers
@@ -130,6 +136,8 @@ stdenv.mkDerivation rec {
     glib
     graphene
     pango
+  ] ++ lib.optionals waylandSupport [
+    wayland
   ] ++ lib.optionals vulkanSupport [
     vulkan-loader
   ] ++ [
diff --git a/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix b/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix
index c1bac87a6c08..1960a04e95f4 100644
--- a/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/gupnp/default.nix b/nixpkgs/pkgs/development/libraries/gupnp/default.nix
index 1a77e50eb540..afb6c0d037cb 100644
--- a/nixpkgs/pkgs/development/libraries/gupnp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gupnp/default.nix
@@ -20,14 +20,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gupnp";
-  version = "1.4.0";
+  version = "1.4.3";
 
   outputs = [ "out" "dev" ]
     ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-WQ/7ArhNoqGuxo/VNLxArxs33T9iI/nRV3/EirSL428=";
+    sha256 = "sha256-FO2nd5NNot90PQckiZM72YETMre1v0Fia4Ay77KLM7o=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
index 06cc41c6b58a..1e36f1e7f0f7 100644
--- a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix
@@ -24,7 +24,7 @@
 }:
 
 let
-  version = "3.0.0";
+  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-yRRr4RcnbwoZ1Hn3+zbbocKFyBSLYx/exaAHNGsPINA=";
+    sha256 = "sha256-iNYp/hyJTaaF6e09YpUL7ktBhq2wRN9zKiEH59WLbYU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/hidapi/default.nix b/nixpkgs/pkgs/development/libraries/hidapi/default.nix
index 6a3665809b4a..ffe534ede4af 100644
--- a/nixpkgs/pkgs/development/libraries/hidapi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hidapi/default.nix
@@ -1,32 +1,39 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, udev, libusb1
-, darwin }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libusb1
+, udev
+, Cocoa
+, IOKit
+}:
 
 stdenv.mkDerivation rec {
   pname = "hidapi";
-  version = "0.10.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "libusb";
     repo = "hidapi";
     rev = "${pname}-${version}";
-    sha256 = "1nr4z4b10vpbh3ss525r7spz4i43zim2ba5qzfl15dgdxshxxivb";
+    sha256 = "sha256-zSAhnvnDI3+q8VwZ8fIx/YmvwTpL87PBJ2C1mTmD7Ko=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ ]
-    ++ lib.optionals stdenv.isLinux [ libusb1 udev ];
+  buildInputs = lib.optionals stdenv.isLinux [ libusb1 udev ];
 
   enableParallelBuilding = true;
 
-  propagatedBuildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ IOKit Cocoa ]);
+  propagatedBuildInputs = lib.optionals stdenv.isDarwin [ Cocoa IOKit ];
 
   meta = with lib; {
     description = "Library for communicating with USB and Bluetooth HID devices";
     homepage = "https://github.com/libusb/hidapi";
     maintainers = with maintainers; [ prusnak ];
-    # Actually, you can chose between GPLv3, BSD or HIDAPI license (more liberal)
-    license = licenses.bsd3;
+    # You can choose between GPLv3, BSD or HIDAPI license (even more liberal)
+    license = with licenses; [ bsd3 /* or */ gpl3Only ] ;
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/highfive/default.nix b/nixpkgs/pkgs/development/libraries/highfive/default.nix
index 015147d70bc3..1a8ea5c1ae56 100644
--- a/nixpkgs/pkgs/development/libraries/highfive/default.nix
+++ b/nixpkgs/pkgs/development/libraries/highfive/default.nix
@@ -12,13 +12,13 @@ assert mpiSupport -> mpi != null;
 
 stdenv.mkDerivation rec {
   pname = "highfive";
-  version = "2.2";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "BlueBrain";
     repo = "HighFive";
-    rev = "4c70d818ed18231563fe49ff197d1c41054be592";
-    sha256 = "02xy3c2ix3nw8109aw75ixj651knzc5rjqwqrxximm4hzwx09frk";
+    rev = "v${version}";
+    sha256 = "qaIThJGdoLgs82h+W4BKQEu1yy1bB8bZFiuxI7IxInw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/hunspell/default.nix b/nixpkgs/pkgs/development/libraries/hunspell/default.nix
index fe4fc1e6d338..44f49adbd3a6 100644
--- a/nixpkgs/pkgs/development/libraries/hunspell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/hunspell/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, fetchpatch, ncurses, readline, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, readline, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   version = "1.7.0";
   pname = "hunspell";
 
-  src = fetchurl {
-    url = "https://github.com/hunspell/hunspell/archive/v${version}.tar.gz";
-    sha256 = "12mwwqz6qkx7q1lg9vpjiiwh4fk4c8xs6g6g0xa2ia0hp5pbh9xv";
+  src = fetchFromGitHub {
+    owner = "hunspell";
+    repo = "hunspell";
+    rev = "v${version}";
+    sha256 = "sha256-YSJztik0QTZFNR8k8Xu1hakyE16NziDavYVkEUCbtGM=";
   };
 
   outputs = [ "bin" "dev" "out" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/idnkit/default.nix b/nixpkgs/pkgs/development/libraries/idnkit/default.nix
index 472a23a2b74e..37354f8be489 100644
--- a/nixpkgs/pkgs/development/libraries/idnkit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/idnkit/default.nix
@@ -12,9 +12,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ libiconv ];
 
   meta = with lib; {
-    homepage = "https://www.nic.ad.jp/ja/idn/idnkit";
+    homepage = "https://jprs.co.jp/idn/index-e.html";
     description = "Provides functionalities about i18n domain name processing";
-    license = "idnkit-2 license";
+    license = {
+      fullName = "Open Source Code License version 1.1";
+      url = "https://jprs.co.jp/idn/idnkit2-OSCL.txt";
+    };
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/igraph/default.nix b/nixpkgs/pkgs/development/libraries/igraph/default.nix
index 159943d8db4b..06aad781bc73 100644
--- a/nixpkgs/pkgs/development/libraries/igraph/default.nix
+++ b/nixpkgs/pkgs/development/libraries/igraph/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "igraph";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "igraph";
     repo = pname;
     rev = version;
-    sha256 = "sha256-R5v1nbfYyIOzdw7LmkGQE4yVxpTVs6YF62jkfFrA1z8=";
+    sha256 = "sha256-nMM4ZQLIth9QHlLu+sXE4AXoDlq1UP20+YuBi+Op+go=";
   };
 
   # Normally, igraph wants us to call bootstrap.sh, which will call
diff --git a/nixpkgs/pkgs/development/libraries/imath/default.nix b/nixpkgs/pkgs/development/libraries/imath/default.nix
index 15bd5907af9e..b0a98f7b2638 100644
--- a/nixpkgs/pkgs/development/libraries/imath/default.nix
+++ b/nixpkgs/pkgs/development/libraries/imath/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imath";
-  version = "3.1.3";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "AcademySoftwareFoundation";
     repo = "imath";
     rev = "v${version}";
-    sha256 = "sha256-LoyV1Wtugva6MTpREstP2rYMrHW2xR0qfEAIV1Fo1Ns=";
+    sha256 = "sha256-FZXIIzAxhd0QlJAV0q7spEa1pNFXutI0WFZbT3izN4M=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/imgui/default.nix b/nixpkgs/pkgs/development/libraries/imgui/default.nix
index 038c5a036200..62f750db62c9 100644
--- a/nixpkgs/pkgs/development/libraries/imgui/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/iml/default.nix b/nixpkgs/pkgs/development/libraries/iml/default.nix
index 474605fe7696..884cebab2e30 100644
--- a/nixpkgs/pkgs/development/libraries/iml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/iml/default.nix
@@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.unix;
     homepage = "https://cs.uwaterloo.ca/~astorjoh/iml.html";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/imlib2/default.nix b/nixpkgs/pkgs/development/libraries/imlib2/default.nix
index b61f4e442bf2..1447a327e0df 100644
--- a/nixpkgs/pkgs/development/libraries/imlib2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
index 644975ca66c1..8581ab729a63 100644
--- a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "22.0.1";
+  version = "22.0.2";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "gmmlib";
     rev = "intel-gmmlib-${version}";
-    sha256 = "1s46vwcs26hdlsa8h51gq4fyi9i8k5hrcx5ffbv9g7v3x706nplf";
+    sha256 = "001kkm1l4s9i7ikaqpf78l5h0a5dy1m9w5r5g0yrlqpi54h6ph28";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
index d76a58fc633d..08ce42354985 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "22.1.0";
+  version = "22.1.1";
 
   outputs = [ "out" "dev" ];
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "media-driver";
     rev = "intel-media-${version}";
-    sha256 = "0giba5274kzpjb5rp3d9bbnvcz7fp8ybi4s3hha2idxk0l5yamf1";
+    sha256 = "1gv89k48s03hwvlcg484li0dznqg93z82xv9lpv3gkncvwfvh9c8";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
index 870276c17232..d383a3093f21 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "21.4.3";
+  version = "22.1.0";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-Z6wIwgcKa+EaqSmbD//pYzGjDezASNWGnLCROiRvACo=";
+    sha256 = "sha256-iISG947MUWVVAxykFwB5UK5Z4uQnEWJ6AFr/ZlHx4Nw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/iso-codes/default.nix b/nixpkgs/pkgs/development/libraries/iso-codes/default.nix
index 75ace8097c9b..1b4396bfee07 100644
--- a/nixpkgs/pkgs/development/libraries/iso-codes/default.nix
+++ b/nixpkgs/pkgs/development/libraries/iso-codes/default.nix
@@ -1,12 +1,12 @@
-{lib, stdenv, fetchurl, gettext, python3}:
+{ lib, stdenv, fetchurl, gettext, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "iso-codes";
-  version = "4.6.0";
+  version = "4.9.0";
 
   src = fetchurl {
-    url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/${pname}-${version}/${pname}-${pname}-${version}.tar.bz2";
-    sha256 = "sha256-Ivd5538QpTFXP2r6ca/g12IZ0ZW1nduu0z4kiSb9Mxs=";
+    url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v${version}/${pname}-v${version}.tar.gz";
+    sha256 = "02lq602ghws423w04jsyjr92p0nmrfp59n1m5hbbi1c6fhxryghc";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/jabcode/default.nix b/nixpkgs/pkgs/development/libraries/jabcode/default.nix
index 314a0cdf7eff..489b44a4e5c4 100644
--- a/nixpkgs/pkgs/development/libraries/jabcode/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jabcode/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     maintainers = [ maintainers.xaverdh ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/jabcode.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix
index 9d34aaf6c8e9..104320a8d89f 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/bcel/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-bcel/";
+    homepage    = "https://commons.apache.org/proper/commons-bcel/";
     description = "Gives users a convenient way to analyze, create, and manipulate (binary) Java class files";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix
index 08b6a99a55da..22a9fae358d2 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/bsf/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Interface to scripting languages, including JSR-223";
-    homepage = "http://commons.apache.org/proper/commons-bsf/";
+    homepage = "https://commons.apache.org/proper/commons-bsf/";
     license = lib.licenses.asl20;
     platforms = lib.platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix
index 3bbedde2e954..c685eb691c5f 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/compress/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-compress";
+    homepage    = "https://commons.apache.org/proper/commons-compress";
     description = "Allows manipulation of ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE and Z files";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix
index 868f2da4e537..73b5d0d140a2 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/fileupload/default.nix
@@ -1,21 +1,21 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.1";
+  version = "1.4";
   pname = "commons-fileupload";
 
   src = fetchurl {
     url    = "mirror://apache/commons/fileupload/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "1jy7w2j2ay56mpq4ij3331cf9zgpkm832ydr63svb35j0ymnky72";
+    sha256 = "1avfv4gljp7flra767yzas54vfb6az9s1nhxfjv48jj2x0llxxkx";
   };
   installPhase = ''
     tar xf ${src}
     mkdir -p $out/share/java
-    cp lib/*.jar $out/share/java/
+    cp commons-fileupload-*-bin/*.jar $out/share/java/
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-fileupload";
+    homepage    = "https://commons.apache.org/proper/commons-fileupload";
     description = "Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix
index ba8b59162c5c..d8b32607a9e5 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/io/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-io";
+    homepage    = "https://commons.apache.org/proper/commons-io";
     description = "A library of utilities to assist with developing IO functionality";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix
index 974f7bf9a1cc..07e94148817e 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/lang/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage    = "http://commons.apache.org/proper/commons-lang";
+    homepage    = "https://commons.apache.org/proper/commons-lang";
     description = "Provides additional methods to manipulate standard Java library classes";
     maintainers = with lib.maintainers; [ copumpkin ];
     license     = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix b/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix
index 5b6c8b36b349..f98c8bd72e0c 100644
--- a/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/commons/logging/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Wrapper around a variety of logging API implementations";
-    homepage = "http://commons.apache.org/proper/commons-logging";
+    homepage = "https://commons.apache.org/proper/commons-logging";
     license = lib.licenses.asl20;
     platforms = lib.platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix b/nixpkgs/pkgs/development/libraries/java/gwt-dragdrop/default.nix
deleted file mode 100644
index a7270bbfa2ba..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix b/nixpkgs/pkgs/development/libraries/java/gwt-widgets/default.nix
deleted file mode 100644
index ebba8548016e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/java/lombok/default.nix b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
index af75be537579..4eee98157d50 100644
--- a/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
+++ b/nixpkgs/pkgs/development/libraries/java/lombok/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lombok";
-  version = "1.18.20";
+  version = "1.18.22";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/lombok-${version}.jar";
-    sha256 = "sha256-zpR75sL751n7vo7ztCtoJfgUyYyIU/EBPy2WMM7fdLA=";
+    sha256 = "sha256-7O8VgUEdeoLMBCgWZ+4LrF18ClqudM/DhDA5bJHDGDE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/jcal/default.nix b/nixpkgs/pkgs/development/libraries/jcal/default.nix
index 2b57bd4064b7..4ce62ec67bc4 100644
--- a/nixpkgs/pkgs/development/libraries/jcal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix b/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix
index 11f6141872db..c65a3af9c42a 100644
--- a/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/jitterentropy/default.nix
@@ -1,37 +1,31 @@
 { lib, stdenv, fetchFromGitHub }:
+
 stdenv.mkDerivation rec {
   pname = "jitterentropy";
-  version = "2.2.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "smuellerDD";
     repo = "jitterentropy-library";
     rev = "v${version}";
-    sha256 = "0n2l1fxr7bynnarpwdjifb2fvlsq8w5wmfh31yk5nrc756cjlgyw";
+    hash = "sha256-go7eGwBoZ58LkgKL7t8oZSc1cFlE6fPOT/ML3Aa8+CM=";
   };
-  patches = [
-    # Can be removed when upgrading beyond 2.2.0
-    ./reproducible-manpages.patch
-  ];
 
-  enableParallelBuilding = true;
+  outputs = [ "out" "dev" ];
 
-  preInstall = ''
-    mkdir -p $out/include
-    substituteInPlace Makefile \
-      --replace "install -m 0755 -s" \
-                'install -m 0755 -s --strip-program $(STRIP)'
-  '';
+  enableParallelBuilding = true;
+  hardeningDisable = [ "fortify" ]; # avoid warnings
 
   installFlags = [
-    "PREFIX=$(out)"
+    "PREFIX=${placeholder "out"}"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Provides a noise source using the CPU execution timing jitter";
     homepage = "https://github.com/smuellerDD/jitterentropy-library";
-    license = with lib.licenses; [ gpl2 bsd3 ];
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ johnazoidberg ];
+    changelog = "https://github.com/smuellerDD/jitterentropy-library/raw/v${version}/CHANGES.md";
+    license = with licenses; [ bsd3 /* OR */ gpl2Only ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ johnazoidberg c0bw3b ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch b/nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch
deleted file mode 100644
index 68de5a8ae781..000000000000
--- a/nixpkgs/pkgs/development/libraries/jitterentropy/reproducible-manpages.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 4ff069b..3b8714a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -58,7 +58,7 @@ cppcheck:
- install:
- 	install -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man3
- 	install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/
--	gzip -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3
-+	gzip -n -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3
- 	install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR)
- 	install -m 0755 -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/
- 	install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR)
diff --git a/nixpkgs/pkgs/development/libraries/judy/cross.patch b/nixpkgs/pkgs/development/libraries/judy/cross.patch
new file mode 100644
index 000000000000..a4e53c08a6d6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/judy/cross.patch
@@ -0,0 +1,22 @@
+--- a/src/Judy1/Makefile.am
++++ b/src/Judy1/Makefile.am
+@@ -18,7 +18,7 @@
+ libinline_la_CFLAGS = $(AM_CFLAGS) -DJUDYGETINLINE
+ 
+ Judy1Tables.c: Judy1TablesGen.c
+-	$(CC) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o Judy1TablesGen Judy1TablesGen.c; ./Judy1TablesGen
++	$(CC_FOR_BUILD) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o Judy1TablesGen Judy1TablesGen.c; ./Judy1TablesGen
+ 
+ Judy1ByCount.c:../JudyCommon/JudyByCount.c
+ 	cp -f ../JudyCommon/JudyByCount.c      		Judy1ByCount.c   
+--- a/src/JudyL/Makefile.am
++++ b/src/JudyL/Makefile.am
+@@ -18,7 +18,7 @@
+ libinline_la_CFLAGS = $(AM_CFLAGS) -DJUDYGETINLINE
+ 
+ JudyLTables.c: JudyLTablesGen.c
+-	$(CC) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o JudyLTablesGen JudyLTablesGen.c; ./JudyLTablesGen 
++	$(CC_FOR_BUILD) $(INCLUDES) $(AM_CFLAGS) @CFLAGS@ -o JudyLTablesGen JudyLTablesGen.c; ./JudyLTablesGen 
+ 
+ JudyLByCount.c:   ../JudyCommon/JudyByCount.c
+ 	cp -f ../JudyCommon/JudyByCount.c      		JudyLByCount.c   
diff --git a/nixpkgs/pkgs/development/libraries/judy/default.nix b/nixpkgs/pkgs/development/libraries/judy/default.nix
index bec72ac80206..da8e89f93565 100644
--- a/nixpkgs/pkgs/development/libraries/judy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/judy/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl, pkgsBuildBuild, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "judy";
@@ -9,11 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1sv3990vsx8hrza1mvq3bhvv9m6ff08y4yz7swn6znszz24l0w6j";
   };
 
-  # gcc 4.8 optimisations break judy.
-  # https://sourceforge.net/p/judy/mailman/message/31995144/
-  preConfigure = lib.optionalString stdenv.cc.isGNU ''
-    configureFlagsArray+=("CFLAGS=-fno-strict-aliasing -fno-aggressive-loop-optimizations")
-  '';
+  nativeBuildInputs = [ autoreconfHook ];
+  depsBuildBuild = [ pkgsBuildBuild.stdenv.cc ];
+  patches = [ ./cross.patch ];
 
   # Disable parallel builds as manpages lack some dependencies:
   #    ../tool/jhton ext/JudyHS_funcs_3.htm | grep -v '^[   ]*$' | sed -e 's/\.C//' > man/man3/JudyHS_funcs
diff --git a/nixpkgs/pkgs/development/libraries/kdb/default.nix b/nixpkgs/pkgs/development/libraries/kdb/default.nix
index 03eabc6447b4..e3d340955405 100644
--- a/nixpkgs/pkgs/development/libraries/kdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kdb/default.nix
@@ -1,7 +1,15 @@
-{
-  mkDerivation, lib, fetchurl,
-  extra-cmake-modules,
-  qtbase, qttranslations, kcoreaddons, python2, sqlite, postgresql, libmysqlclient
+{ mkDerivation
+, lib
+, fetchurl
+, fetchpatch
+, extra-cmake-modules
+, qtbase
+, qttranslations
+, kcoreaddons
+, python2
+, sqlite
+, postgresql
+, libmysqlclient
 }:
 
 mkDerivation rec {
@@ -13,6 +21,19 @@ mkDerivation rec {
     sha256 = "0s909x34a56n3xwhqz27irl2gbzidax0685w2kf34f0liny872cg";
   };
 
+  patches = [
+    # fix build with newer QT versions
+    (fetchpatch {
+      url = "https://github.com/KDE/kdb/commit/b36d74f13a1421437a725fb74502c993c359392a.patch";
+      sha256 = "sha256-ENMZTUZ3yCKUhHPMUcDe1cMY2GLBz0G3ZvMRyj8Hfrw=";
+    })
+    # fix build with newer posgresql versions
+    (fetchpatch {
+      url = "https://github.com/KDE/kdb/commit/40cdaea4d7824cc1b0d26e6ad2dcb61fa2077911.patch";
+      sha256 = "sha256-cZpX6L/NZX3vztnh0s2+v4J7kBcKgUdecY53LRp8CwM=";
+    })
+  ];
+
   nativeBuildInputs = [ extra-cmake-modules ];
 
   buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql libmysqlclient ];
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
index 804fffc8fdcb..b035b3664a2a 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
@@ -1,8 +1,8 @@
-diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
+diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake
 index c1d056b..d9e19f0 100644
---- a/kde-modules/KDEInstallDirs.cmake
-+++ b/kde-modules/KDEInstallDirs.cmake
-@@ -242,35 +242,6 @@
+--- a/kde-modules/KDEInstallDirsCommon.cmake
++++ b/kde-modules/KDEInstallDirsCommon.cmake
+@@ -15,35 +15,6 @@
  # GNUInstallDirs code deals with re-configuring, but that is dealt with
  # by the _define_* macros in this module).
  set(_LIBDIR_DEFAULT "lib")
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index 4135f6bfd7aa..ac077b73d6a6 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
index 7f6c19667e15..50204bc0ec0e 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.87/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.90/ -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch
deleted file mode 100644
index a3e4014df509..000000000000
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0001-kinit-libpath.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 715c5f461b4992dac066601202a673bc551a5e33 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Sun, 16 Feb 2020 14:23:31 -0600
-Subject: [PATCH 1/4] kinit-libpath
-
----
- src/kdeinit/kinit.cpp | 22 +++++++++-------------
- 1 file changed, 9 insertions(+), 13 deletions(-)
-
-diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp
-index 8fff17a..0801b75 100644
---- a/src/kdeinit/kinit.cpp
-+++ b/src/kdeinit/kinit.cpp
-@@ -622,19 +622,15 @@ static pid_t launch(int argc, const char *_name, const char *args,
- 
-         if (!libpath.isEmpty()) {
-             if (libpath_relative) {
--                // NB: Because Qt makes the actual dlopen() call, the
--                //     RUNPATH of kdeinit is *not* respected - see
--                //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945
--                //     - so we try hacking it in ourselves
--                QString install_lib_dir = QFile::decodeName(
--                        CMAKE_INSTALL_PREFIX "/" KDE_INSTALL_LIBDIR "/");
--                QString orig_libpath = libpath;
--                libpath = install_lib_dir + libpath;
--                l.setFileName(libpath);
--                if (!l.load()) {
--                    libpath = orig_libpath;
--                    l.setFileName(libpath);
--                    l.load();
-+                // Try to load the library relative to the active profiles.
-+                QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
-+                // Reverse the profile list.
-+                std::reverse(profiles.begin(), profiles.end());
-+                for (const QByteArray &profile: profiles) {
-+                    if (!profile.isEmpty()) {
-+                        l.setFileName(QFile::decodeName(profile) + QStringLiteral("/lib/") + libpath);
-+                        if (l.load()) break;
-+                    }
-                 }
-             } else {
-                 l.load();
--- 
-2.23.1
-
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch
index 3728c3c58b83..f9c019c2ae2a 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/0002-start_kdeinit-path.patch
@@ -11,7 +11,7 @@ diff --git a/src/start_kdeinit/start_kdeinit_wrapper.c b/src/start_kdeinit/start
 index 891f50c..ef664ad 100644
 --- a/src/start_kdeinit/start_kdeinit_wrapper.c
 +++ b/src/start_kdeinit/start_kdeinit_wrapper.c
-@@ -23,7 +23,7 @@
+@@ -11,7 +11,7 @@
  #include <string.h>
  #include <unistd.h>
  
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix
index 2a3a3dd5d1f0..dcd84f1f35a1 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kinit/default.nix
@@ -14,7 +14,6 @@ mkDerivation {
     kconfig kcrash ki18n kio kservice kwindowsystem
   ];
   patches = [
-    ./0001-kinit-libpath.patch
     ./0002-start_kdeinit-path.patch
     ./0003-kdeinit-extra-libs.patch
     ./0004-start_kdeinit-environ-hard-limit.patch
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch b/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch
index dbcdac463c9c..4b1c0aadf76d 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/kpackage/0001-Allow-external-paths-default.patch
@@ -11,10 +11,10 @@ diff --git a/src/kpackage/package.cpp b/src/kpackage/package.cpp
 index 36f5600..881f176 100644
 --- a/src/kpackage/package.cpp
 +++ b/src/kpackage/package.cpp
-@@ -858,7 +858,7 @@ PackagePrivate::PackagePrivate()
+@@ -866,7 +866,7 @@ PackagePrivate::PackagePrivate()
+ PackagePrivate::PackagePrivate()
      : QSharedData()
      , fallbackPackage(nullptr)
-     , metadata(nullptr)
 -    , externalPaths(false)
 +    , externalPaths(true)
      , valid(false)
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/sonnet.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/sonnet.nix
index 8647c8e0712c..2eff7bad2402 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/sonnet.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/sonnet.nix
@@ -1,18 +1,10 @@
 { mkDerivation
-, fetchpatch
 , extra-cmake-modules
 , aspell, qtbase, qttools
 }:
 
 mkDerivation {
   name = "sonnet";
-  patches = [
-    # Pull upstream path to fix determinism.
-    (fetchpatch {
-      url = "https://invent.kde.org/frameworks/sonnet/-/commit/a01fc66b8affb01221d1fdf84146a78c172d4c6b.patch";
-      sha256 = "1jzd65rmgvfpcxrsnsmdz8ac1ldqs9rjfryy8fryy0ibzbhc1050";
-    })
-  ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ aspell qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
index 03f261c19b02..1ffc5df68c36 100644
--- a/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/nixpkgs/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/attica-5.87.0.tar.xz";
-      sha256 = "0wjfrlmwg03js544xjlpznxxqv14cj40fpzbfnlj24kjgd1ai8dq";
-      name = "attica-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/baloo-5.87.0.tar.xz";
-      sha256 = "0h55hn6klsq19l44qzc95l1r7hx2zr9hr4ysxd8kvcxc02imaswb";
-      name = "baloo-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/bluez-qt-5.87.0.tar.xz";
-      sha256 = "1shk3riddgdb0i6f0603hbhww13z1b566rdaplxsbgk8cyhl5acz";
-      name = "bluez-qt-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/breeze-icons-5.87.0.tar.xz";
-      sha256 = "19f7n4r6b0b1l8hc79xbj8gc18xf488bk4i0wdbw22x9vwl4h58h";
-      name = "breeze-icons-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/extra-cmake-modules-5.87.0.tar.xz";
-      sha256 = "1axwz0p3ggjpcxpqqlyng3fa2pxmjxgybncgkp8i81i7iq6sf72l";
-      name = "extra-cmake-modules-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/frameworkintegration-5.87.0.tar.xz";
-      sha256 = "1bbgxqgy28abrk2cgzj7k2m18xmkl9kw58dal03pzlmh77br00lb";
-      name = "frameworkintegration-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kactivities-5.87.0.tar.xz";
-      sha256 = "1ynngg9x70dwcnn4ncf7h63hj5p187d4mk1aqriax0iz21mfjmp9";
-      name = "kactivities-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kactivities-stats-5.87.0.tar.xz";
-      sha256 = "1n7jzbfwgwclnrnssxm180fis74qp3v9nximhc0l8fmb8ac1f106";
-      name = "kactivities-stats-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kapidox-5.87.0.tar.xz";
-      sha256 = "0iyla9i4ln6w9wkm4dand53ir6gzsm4180diwi9p2q5mfrk0rvja";
-      name = "kapidox-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/karchive-5.87.0.tar.xz";
-      sha256 = "0d8wqrynwmqazlf5v7qas9akrvcwr4lrqg3dcbnq61mmc252wgqh";
-      name = "karchive-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kauth-5.87.0.tar.xz";
-      sha256 = "1gbq487v2nn0zyis6xdvsn0mz7yy131vafq76jdi7b6nyh5c1lgi";
-      name = "kauth-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kbookmarks-5.87.0.tar.xz";
-      sha256 = "0klws0psdq9vx09p38ckki7aqbdkcns1smk8ckj79krpsjv8q9nx";
-      name = "kbookmarks-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcalendarcore-5.87.0.tar.xz";
-      sha256 = "0ig2w0dxrf9ih9hqk5rvqqmyhg658m1hs4807zl66llplkr58q0n";
-      name = "kcalendarcore-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcmutils-5.87.0.tar.xz";
-      sha256 = "09pcif2gmkbhwqb8cxfs89nw81wdpdsd4a2n7xdm1xz6lpwwmk1h";
-      name = "kcmutils-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcodecs-5.87.0.tar.xz";
-      sha256 = "1fb8agbkwxnxb0hlzz0ya460z3ihn9qz2zvjdxvk21rjhmp1alh7";
-      name = "kcodecs-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcompletion-5.87.0.tar.xz";
-      sha256 = "15c9sgdgw6cf5y2jjgjlsxn0p0pxvrmhzcyq05d9fqhy185ng03p";
-      name = "kcompletion-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kconfig-5.87.0.tar.xz";
-      sha256 = "1l8px5qpf5qfma24filim1swblgbdvnf25pc38qc6s79inkganrl";
-      name = "kconfig-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kconfigwidgets-5.87.0.tar.xz";
-      sha256 = "18m3nqlp87am2w8my4y933ck9k3cs5q62nkhbp8ngaavw8cfbd84";
-      name = "kconfigwidgets-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcontacts-5.87.0.tar.xz";
-      sha256 = "02zyirvds572rxbdc47ncs71a66z5hql0vpj8lx1zpr0nnvpvlcv";
-      name = "kcontacts-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcoreaddons-5.87.0.tar.xz";
-      sha256 = "19pdpz7jjknccaqc2i6zfmclmrk60clzanvx72ryvh7yb0xyk7yj";
-      name = "kcoreaddons-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kcrash-5.87.0.tar.xz";
-      sha256 = "1l48dn5vqn4lns57v61p1a8r3pklx4xclsa3890pjf6iviqxf22r";
-      name = "kcrash-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdav-5.87.0.tar.xz";
-      sha256 = "0sb1g0wdpql5gw52nxhzkk1wa9md2k25lwyf902g3pf7ahdgdk5z";
-      name = "kdav-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdbusaddons-5.87.0.tar.xz";
-      sha256 = "14xmrvak95aqc98a6k6ldg1w4g7syx2xng3vgvwj9wzpzr3shp6p";
-      name = "kdbusaddons-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdeclarative-5.87.0.tar.xz";
-      sha256 = "0zx4alsqk3vqfgyi6x7v2mcar92j3swmg0ms0b9mjl95bvpgi4k7";
-      name = "kdeclarative-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kded-5.87.0.tar.xz";
-      sha256 = "18dw1dd2lmwsh04yan1q72c5lzcgzm9kig1rqag3rg81h7pclsr5";
-      name = "kded-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kdelibs4support-5.87.0.tar.xz";
-      sha256 = "17kw76fd97rhdyna3dc7hsajvd8bv9l71qx0xaqn65pvzbndf2jf";
-      name = "kdelibs4support-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kdesignerplugin-5.87.0.tar.xz";
-      sha256 = "12rckqvg6w5cycvmxbrkvxi7ysfk6bqk3yi1ik4ryqh4x5dz2am9";
-      name = "kdesignerplugin-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdesu-5.87.0.tar.xz";
-      sha256 = "05bb3hcb00j1f047q6ngbb8arrp4s03da880sky0slvvicm4ynkr";
-      name = "kdesu-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kdewebkit-5.87.0.tar.xz";
-      sha256 = "1a578sa6nfp2vycrrhc37idwg47nrrfhv6dp8rfb2gj4vf67bzcv";
-      name = "kdewebkit-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdnssd-5.87.0.tar.xz";
-      sha256 = "1rs8i75qm1vazy8cnvcv3sha6faf27bav491z8brcs8fiab96dnw";
-      name = "kdnssd-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kdoctools-5.87.0.tar.xz";
-      sha256 = "0md5wiv5mv4q63g9ads8d0xg8qxlh91dqgyg66n8abcg56qq83ps";
-      name = "kdoctools-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kemoticons-5.87.0.tar.xz";
-      sha256 = "0iah6ws0x9xnm900rii2k82gf155cbwlnxbz2rxbybp1dmbjbz5y";
-      name = "kemoticons-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kfilemetadata-5.87.0.tar.xz";
-      sha256 = "1nh4gzprc588q8zfz94j76x3vvf77cnsc30xrs07316726mksw2i";
-      name = "kfilemetadata-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kglobalaccel-5.87.0.tar.xz";
-      sha256 = "1wk6mxq6ylkvalcwbrkmc0whvkbllkfwnsf4hxz86cnixqb7ybjh";
-      name = "kglobalaccel-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kguiaddons-5.87.0.tar.xz";
-      sha256 = "1k88x22f8db90x28fryg6cp239sfs0zrjk18l72v09bg3zc7y1lh";
-      name = "kguiaddons-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kholidays-5.87.0.tar.xz";
-      sha256 = "1ca51vkmwwrl1fvs2fw16nvpmag2licywwmwjiaapkk8hv6v1gzm";
-      name = "kholidays-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/khtml-5.87.0.tar.xz";
-      sha256 = "1jxpznzw4r8ikx0g5n1fg0qrkllph5cwih4lcvwjn6cqx2ypgn6f";
-      name = "khtml-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/ki18n-5.87.0.tar.xz";
-      sha256 = "0395khchbhp7x4fgb2fwxlpx0mhdvbkgd0v7kwgmm0n4bkn7jphi";
-      name = "ki18n-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kiconthemes-5.87.0.tar.xz";
-      sha256 = "04chb3y3d6hxwy9f1xdifvl2mbcd8xbh7fv6x5m5vnb1cviwc6j7";
-      name = "kiconthemes-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kidletime-5.87.0.tar.xz";
-      sha256 = "1m0p602i9c4dmkll3g8flmzq23ywv20rxnvzc1c8bf5kqn6321qp";
-      name = "kidletime-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kimageformats-5.87.0.tar.xz";
-      sha256 = "0c4qq5j6hzz90kh7mmirafglr9l5wck3r67ij436gpmq69ignvmg";
-      name = "kimageformats-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kinit-5.87.0.tar.xz";
-      sha256 = "0435syvhisagbq82qcbims5adq88ivv793gvb3kx03hxhyyx81xs";
-      name = "kinit-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kio-5.87.0.tar.xz";
-      sha256 = "0sxwrqvfkqm679v99lx50vd2p4bx10pdzrjhxg0njfwww2fxa7mr";
-      name = "kio-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kirigami2-5.87.0.tar.xz";
-      sha256 = "1wvj0nnb1dd1k12arlmlx99gjhk7v2jpw5sgyjka6kkps31nr1zi";
-      name = "kirigami2-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kitemmodels-5.87.0.tar.xz";
-      sha256 = "1qx78pfbnwsq8nn6fa8qjjc0zn4nwh4dqs0ifb9iaam33cl3kw92";
-      name = "kitemmodels-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kitemviews-5.87.0.tar.xz";
-      sha256 = "1nrg92nyc39fl1n7k38pa4k8dahwl76wadv0v0ixyh1zx0x4clbg";
-      name = "kitemviews-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kjobwidgets-5.87.0.tar.xz";
-      sha256 = "0s0g4dygc6c9p5w7vdk7bninizsdhj5xan351x15b4k0ddgq8sz5";
-      name = "kjobwidgets-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kjs-5.87.0.tar.xz";
-      sha256 = "1ihwhjgk3k2nmyfg2brdjriymm2qi5dgmh47phmb9b2gvzqx6yg8";
-      name = "kjs-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kjsembed-5.87.0.tar.xz";
-      sha256 = "0j8b637k8vx2qhl3zf6744ywykv6hnfcs2xgsq0i8w5ji0a2jigv";
-      name = "kjsembed-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kmediaplayer-5.87.0.tar.xz";
-      sha256 = "0mrmb7q4wmj8v9ipb9vh4c8scl1mr0frz3yvpc96dyimvb87pp08";
-      name = "kmediaplayer-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/knewstuff-5.87.0.tar.xz";
-      sha256 = "0xnilr3r3l36g3j7a2nf2kqmill22ibrr6qfniqcywmcqpnq7x4q";
-      name = "knewstuff-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/knotifications-5.87.0.tar.xz";
-      sha256 = "03zraci1lnzz3d5i97i2m2h4z8xp4fmm28aizk3xipqkgy3q61c3";
-      name = "knotifications-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/knotifyconfig-5.87.0.tar.xz";
-      sha256 = "0jd5yzjg625ixm3fbmpafvg6wc69cvppqr0z0y0wzkbzbd930ggh";
-      name = "knotifyconfig-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kpackage-5.87.0.tar.xz";
-      sha256 = "1dmhj1byxmk407mcz62ydrzzjab6c4da22blkm4f5das79blkdsy";
-      name = "kpackage-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kparts-5.87.0.tar.xz";
-      sha256 = "0jmjyvrskhvnp0w1d9l9k5azwf1ppda97qp2801179x77bgdfbgi";
-      name = "kparts-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kpeople-5.87.0.tar.xz";
-      sha256 = "002qnfxyrzv9jr1z86ih7v7bprbpfx311s646rbmjc6c9wqa5a1a";
-      name = "kpeople-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kplotting-5.87.0.tar.xz";
-      sha256 = "1np6rqrxldnhz82ak291kr87zqccmp9a3v4gvxl0xsm2qnpzxlxz";
-      name = "kplotting-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kpty-5.87.0.tar.xz";
-      sha256 = "1qd2lj53m0gbpmfilwrcz5v2m735daqlxj2qv1j5m28b3bjwz2li";
-      name = "kpty-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kquickcharts-5.87.0.tar.xz";
-      sha256 = "1dx4ilwih9pfimfn5l3fgjf0z1k75p6sb7y03akgnl4i9w2aycv8";
-      name = "kquickcharts-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kross-5.87.0.tar.xz";
-      sha256 = "1nnyl67b43064y5gvj7ccvzz5481vbaycjhxxzgf4iaj0qm2vpfh";
-      name = "kross-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/krunner-5.87.0.tar.xz";
-      sha256 = "0ygqfaif9xp30ahrld85xzsgmfmy51560hl8ym8shggwar20kb1s";
-      name = "krunner-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kservice-5.87.0.tar.xz";
-      sha256 = "0a3fcqhwbzqwy9wy1787p8hr1s1jfmz3y1dk2spiifwk9l668mxn";
-      name = "kservice-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/ktexteditor-5.87.0.tar.xz";
-      sha256 = "13dnwf2zvp3k6xb0ry5a11gaf2j7x2swhq8d689w4gf3awpma7rg";
-      name = "ktexteditor-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/ktextwidgets-5.87.0.tar.xz";
-      sha256 = "04gmqw8wjf6r8lpsjcsg0925a6b6hnckzy5i9ykvian1kq2d79fr";
-      name = "ktextwidgets-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kunitconversion-5.87.0.tar.xz";
-      sha256 = "1b5yvs0inr0kj7i4j5yavlxz6n8h3d2wbgw39r2harzxd4xjzz4h";
-      name = "kunitconversion-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwallet-5.87.0.tar.xz";
-      sha256 = "1a2qiwhf6hwh6qs9x84hz1ryaaqqm8bpg9v29kjy6cq9krn3mwar";
-      name = "kwallet-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwayland-5.87.0.tar.xz";
-      sha256 = "03lrlprvc3bj43f0l0dirg93l7amzlcx4ajaqh9h54g030qanfmc";
-      name = "kwayland-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwidgetsaddons-5.87.0.tar.xz";
-      sha256 = "00gv9lxiah6yg8lxjd0md0zyvhi7zc9s6fg14jfh0cb1i0zrn49b";
-      name = "kwidgetsaddons-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kwindowsystem-5.87.0.tar.xz";
-      sha256 = "0rxmpawp5g46xp5irk1gcdq6n2y9r9vlx1dm5gpqhcfh7gr64ja2";
-      name = "kwindowsystem-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/kxmlgui-5.87.0.tar.xz";
-      sha256 = "1wnss0rjspgih3m2a3faflamf7n681k8sf8pzrcsrvvrzq95n65i";
-      name = "kxmlgui-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/portingAids/kxmlrpcclient-5.87.0.tar.xz";
-      sha256 = "03l5zs4l52f3w01hsk00r8hmnccyy3iw2vhiclvpp6dksmb8yad7";
-      name = "kxmlrpcclient-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/modemmanager-qt-5.87.0.tar.xz";
-      sha256 = "1ag98r2hhd93gki3dvlz48sgqc2805b0p0w4m0az0czvxnclg0rk";
-      name = "modemmanager-qt-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/networkmanager-qt-5.87.0.tar.xz";
-      sha256 = "0a4sxcm88mfry1sjc4r0qx5aqmbb61ghmd912wqk19nx18qgkm5y";
-      name = "networkmanager-qt-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/oxygen-icons5-5.87.0.tar.xz";
-      sha256 = "0mpxv2m6nkl1cp3p0xgpm916k2ykvkyk0x0ka4azs8iyy0anc36m";
-      name = "oxygen-icons5-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/plasma-framework-5.87.0.tar.xz";
-      sha256 = "1y7w4b7jb8rnkfan97yln5w9w68skrmif4wqqba4f9mj6y2dcajb";
-      name = "plasma-framework-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/prison-5.87.0.tar.xz";
-      sha256 = "0vb8ny4za37v4nmcy9qw8zz5zcr46clci9lg22s84f26l4vlcs87";
-      name = "prison-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/purpose-5.87.0.tar.xz";
-      sha256 = "0ddpm2hm3x1p25hkjzff4vs906n5bkkk4j3myh0gvyqn8accdhsd";
-      name = "purpose-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/qqc2-desktop-style-5.87.0.tar.xz";
-      sha256 = "02i4rg5gf7i63lm4f0afm9n3lgzvklpbg43d0zcsdwzph386baq7";
-      name = "qqc2-desktop-style-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/solid-5.87.0.tar.xz";
-      sha256 = "0zmcc4ryp4j93999f0fgwvchs4gycbynsz0wghrhdqkfhsjvhqra";
-      name = "solid-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/sonnet-5.87.0.tar.xz";
-      sha256 = "1cc9j9ks33s6amr01a7ywnqiqvm498vlmqqva40ddvkfq1azxmhs";
-      name = "sonnet-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/syndication-5.87.0.tar.xz";
-      sha256 = "1xbs83smgqzk01r7nds6p74v9n1pa0zhlafbbxlj2m226p1zf8bs";
-      name = "syndication-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/syntax-highlighting-5.87.0.tar.xz";
-      sha256 = "148wm3qdjkwzvcm51x3cppsxl4rylbjyjp1pfh6545fhikm5nqi6";
-      name = "syntax-highlighting-5.87.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.87.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.87/threadweaver-5.87.0.tar.xz";
-      sha256 = "1gqpzv2ijw66fpvaqv66xsglh19lv0k4j9i505xmmkzlyddbhkch";
-      name = "threadweaver-5.87.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/nixpkgs/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch b/nixpkgs/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch
deleted file mode 100644
index 0f33815b6e91..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch b/nixpkgs/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch
deleted file mode 100644
index f8718606a7f8..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/kerberos/krb5.nix b/nixpkgs/pkgs/development/libraries/kerberos/krb5.nix
index ebec5936b541..c632c2fdac9e 100644
--- a/nixpkgs/pkgs/development/libraries/kerberos/krb5.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/keybinder/default.nix b/nixpkgs/pkgs/development/libraries/keybinder/default.nix
index fb481c19d05f..95eb0ce4de0a 100644
--- a/nixpkgs/pkgs/development/libraries/keybinder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/keybinder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoconf, automake, libtool, pkg-config, gnome
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, gnome
 , gtk-doc, gtk2, python2Packages, lua, gobject-introspection
 }:
 
@@ -8,10 +8,11 @@ in stdenv.mkDerivation rec {
   pname = "keybinder";
   version = "0.3.0";
 
-  src = fetchurl {
-    name = "${pname}-${version}.tar.gz";
-    url = "https://github.com/engla/keybinder/archive/v${version}.tar.gz";
-    sha256 = "0kkplz5snycik5xknwq1s8rnmls3qsp32z09mdpmaacydcw7g3cf";
+  src = fetchFromGitHub {
+    owner = "engla";
+    repo = "keybinder";
+    rev = "v${version}";
+    sha256 = "sha256-q/+hqhvXIknT+/5oENcWSr1OuF00kaZlXFUP1fdCMlk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
index 1d4afb973fbb..732efda1df46 100644
--- a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "khronos-ocl-icd-loader-${version}";
-  version = "2021.06.30";
+  version = "2022.01.04";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCL-ICD-Loader";
     rev = "v${version}";
-    sha256 = "sha256-1bSeGI8IufKtdcyxVHX4DVxkPKfJrUBVzzIGe8rQ/AA=";
+    sha256 = "sha256-T2tBoN0yv41W+UksFABVjsetdkXlnEFUINfxumGgC04=";
   };
 
   patches = lib.optional withTracing ./tracing.patch;
diff --git a/nixpkgs/pkgs/development/libraries/ldutils/default.nix b/nixpkgs/pkgs/development/libraries/ldutils/default.nix
index 5f09c08d4d1e..0268aa8ce62d 100644
--- a/nixpkgs/pkgs/development/libraries/ldutils/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ldutils/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "ldutils";
-  version = "1.03";
+  version = "1.10";
 
   src = fetchFromGitLab {
     owner = "ldutils-projects";
     repo = pname;
     rev = "v_${version}";
-    sha256 = "0pi05py71hh5vlhl0kjh9wxmd7yixw10s0kr2wb4l4c0abqxr82j";
+    sha256 = "sha256-fP+tZY+ayaeuxPvywO/639sNE+IwrxaEJ245q9HTOCU=";
   };
 
   buildInputs = [
@@ -26,6 +26,8 @@ mkDerivation rec {
     qmake
   ];
 
+  qmakeFlags = [ "ldutils.pro" ];
+
   LDUTILS_LIB=placeholder "out";
   LDUTILS_INCLUDE=placeholder "out";
 
diff --git a/nixpkgs/pkgs/development/libraries/leatherman/default.nix b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
index 24bec8ec350f..874c567ed42e 100644
--- a/nixpkgs/pkgs/development/libraries/leatherman/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.6";
+  version = "1.12.7";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-k5Lt/NCSlBaTGhpR4T3Q4Ih+RR1xKROxz+RNYor7zaQ=";
+    sha256 = "sha256-a79/seKO6Efn6g4RWdqsP83pL5AIBAp1InjnMdOs3Qk=";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/nixpkgs/pkgs/development/libraries/lensfun/default.nix b/nixpkgs/pkgs/development/libraries/lensfun/default.nix
index 23675c9f9f89..a889e5358a50 100644
--- a/nixpkgs/pkgs/development/libraries/lensfun/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lensfun/default.nix
@@ -25,9 +25,9 @@ stdenv.mkDerivation {
   };
 
   # replace database with a more recent snapshot
-  postUnpack = ''
-    rm -R source/data/db
-    cp -R ${lensfunDatabase}/data/db source/data
+  prePatch = ''
+    rm -R ./data/db
+    cp -R ${lensfunDatabase}/data/db ./data
   '';
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/lib3ds/default.nix b/nixpkgs/pkgs/development/libraries/lib3ds/default.nix
index 6e926dfb421c..78ee4172b57a 100644
--- a/nixpkgs/pkgs/development/libraries/lib3ds/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lib3ds/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "lib3ds-1.3.0";
+  pname = "lib3ds";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "http://lib3ds.googlecode.com/files/${name}.zip";
+    url = "http://lib3ds.googlecode.com/files/lib3ds-${version}.zip";
     sha256 = "1qr9arfdkjf7q11xhvxwzmhxqz3nhcjkyb8zzfjpz9jm54q0rc7m";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libLAS/default.nix b/nixpkgs/pkgs/development/libraries/libLAS/default.nix
index 7d762fc80775..5d0f2ff56846 100644
--- a/nixpkgs/pkgs/development/libraries/libLAS/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libLAS/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip2, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  name = "libLAS-1.8.1";
+  pname = "libLAS";
+  version = "1.8.1";
 
   src = fetchurl {
-    url = "https://download.osgeo.org/liblas/${name}.tar.bz2";
+    url = "https://download.osgeo.org/liblas/libLAS-${version}.tar.bz2";
     sha256 = "0xjfxb3ydvr2258ji3spzyf81g9caap19ql2pk91wiivqsc4mnws";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libadwaita/default.nix b/nixpkgs/pkgs/development/libraries/libadwaita/default.nix
index 6324a134ed88..856ec30bccb2 100644
--- a/nixpkgs/pkgs/development/libraries/libadwaita/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libadwaita/default.nix
@@ -5,7 +5,7 @@
 , gi-docgen
 , gtk-doc
 , libxml2
-, meson_0_60
+, meson
 , ninja
 , pkg-config
 , sassc
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.0.0.alpha.4";
+  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-3aVeBaKSl6SaPQLodsyJHwnNOlXlWfIaLnbbl3+mlDA=";
+    hash = "sha256-D7Qq8yAWkr/G5I4k8G1+viJkEJSrCBAg31Q+g3U9FcQ=";
   };
 
   nativeBuildInputs = [
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     gi-docgen
     gtk-doc
     libxml2 # for xmllint
-    meson_0_60
+    meson
     ninja
     pkg-config
     sassc
@@ -53,6 +53,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     fribidi
     gobject-introspection
+  ];
+
+  propagatedBuildInputs = [
     gtk4
   ];
 
@@ -73,7 +76,7 @@ stdenv.mkDerivation rec {
       # AdwSettings needs to be initialized from “org.gnome.desktop.interface” GSettings schema when portal is not used for color scheme.
       # It will not actually be used since the “color-scheme” key will only have been introduced in GNOME 42, falling back to detecting theme name.
       # See adw_settings_constructed function in https://gitlab.gnome.org/GNOME/libadwaita/commit/60ec69f0a5d49cad8a6d79e4ecefd06dc6e3db12
-      "XDG_DATA_DIRS=${glib.getSchemaPath gsettings-desktop-schemas}/../.."
+      "XDG_DATA_DIRS=${glib.getSchemaDataDirPath gsettings-desktop-schemas}"
 
       # Tests need a cache directory
       "HOME=$TMPDIR"
@@ -92,7 +95,7 @@ stdenv.mkDerivation rec {
     description = "Library to help with developing UI for mobile devices using GTK/GNOME";
     homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = teams.gnome.members ++ (with maintainers; [ dotlambda ]);
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libamqpcpp/default.nix b/nixpkgs/pkgs/development/libraries/libamqpcpp/default.nix
index 8e9a34716f2a..2a1ea4f606d7 100644
--- a/nixpkgs/pkgs/development/libraries/libamqpcpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libamqpcpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libamqpcpp";
-  version = "4.3.15";
+  version = "4.3.16";
 
   src = fetchFromGitHub {
     owner = "CopernicaMarketingSoftware";
     repo = "AMQP-CPP";
     rev = "v${version}";
-    sha256 = "sha256-S2/ecWC78Q4ihVLtDQ6DD8/qX1cDslnTjqd5IkKCjc4=";
+    sha256 = "sha256-aBLNdw9LhHFwnIt70vIYlX1/j2IUTmpm5Ub+ZImF8FI=";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/development/libraries/libbaseencode/default.nix b/nixpkgs/pkgs/development/libraries/libbaseencode/default.nix
index c40f9bafb476..b72f5ca1dbfb 100644
--- a/nixpkgs/pkgs/development/libraries/libbaseencode/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libbaseencode/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libbaseencode";
-  version = "1.0.11";
+  version = "1.0.12";
 
   src = fetchFromGitHub {
     owner = "paolostivanin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f52yh052z8k90d1ag6nk01p1gf4i1zxp1daw8mashs8avqr2m7g";
+    sha256 = "sha256-TKmM2BPzas9qbWI8n63lfR8OvsSj+BKC12NXpfe9aow=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libcamera/default.nix b/nixpkgs/pkgs/development/libraries/libcamera/default.nix
index 187e2cf908e2..37acf1fc8f03 100644
--- a/nixpkgs/pkgs/development/libraries/libcamera/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcamera/default.nix
@@ -4,9 +4,11 @@
 , meson
 , ninja
 , pkg-config
+, makeFontsConf
 , boost
 , gnutls
 , openssl
+, libdrm
 , libevent
 , lttng-ust
 , gst_all_1
@@ -15,16 +17,17 @@
 , doxygen
 , python3
 , python3Packages
+, systemd # for libudev
 }:
 
 stdenv.mkDerivation {
   pname = "libcamera";
-  version = "unstable-2021-09-24";
+  version = "unstable-2022-01-03";
 
   src = fetchgit {
     url = "https://git.libcamera.org/libcamera/libcamera.git";
-    rev = "40f5fddca7f774944a53f58eeaebc4db79c373d8";
-    sha256 = "0jklgdv5ma4nszxibms5lkf5d2ips7ncynwa1flglrhl5bl4wkzz";
+    rev = "1db1e31e664c1f613dc964d8519fe75d67b154b6";
+    hash = "sha256-pXYPIU9xDWA870Gp1Jgizi5xnUHRvTqEq/ofFXdVZdg=";
   };
 
   postPatch = ''
@@ -44,6 +47,10 @@ stdenv.mkDerivation {
 
     # cam integration
     libevent
+    libdrm
+
+    # hotplugging
+    systemd
 
     # lttng tracing
     lttng-ust
@@ -65,11 +72,18 @@ stdenv.mkDerivation {
     openssl
   ];
 
-  mesonFlags = [ "-Dv4l2=true" "-Dqcam=disabled" ];
+  mesonFlags = [
+    "-Dv4l2=true"
+    "-Dqcam=disabled"
+    "-Dlc-compliance=disabled" # tries unconditionally to download gtest when enabled
+    ];
 
   # Fixes error on a deprecated declaration
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
+  # Silence fontconfig warnings about missing config
+  FONTCONFIG_FILE = makeFontsConf { fontDirectories = []; };
+
   meta = with lib; {
     description = "An open source camera stack and framework for Linux, Android, and ChromeOS";
     homepage = "https://libcamera.org";
diff --git a/nixpkgs/pkgs/development/libraries/libcangjie/default.nix b/nixpkgs/pkgs/development/libraries/libcangjie/default.nix
index c6bbbcdb61ab..73277d30de3c 100644
--- a/nixpkgs/pkgs/development/libraries/libcangjie/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcangjie/default.nix
@@ -5,9 +5,10 @@ stdenv.mkDerivation rec {
   version = "1.4_rev_${rev}";
   rev = "a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d";
 
+  # fetchFromGitLab isn't working for some reason
   src = fetchurl {
-    url = "https://github.com/Cangjians/libcangjie/archive/${rev}.tar.gz";
-    sha256 = "0i5svvcx099fc9hh5dvr3gpb1041v6vn5fnylxy82zjy239114lg";
+    url = "https://gitlab.freedesktop.org/cangjie/libcangjie/-/archive/a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d/libcangjie-a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d.tar.gz";
+    sha256 = "sha256-j5IQ0hBefoF8p966YrfZgYCw7ht5twJhYi4l0NneukQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
       libcangjie is a library implementing the Cangjie input method.
     '';
-    homepage = "http://cangjians.github.io/projects/libcangjie/";
+    homepage = "https://gitlab.freedesktop.org/cangjie/libcangjie";
     license = lib.licenses.lgpl3Plus;
 
     maintainers = [ lib.maintainers.linquize ];
diff --git a/nixpkgs/pkgs/development/libraries/libcdaudio/default.nix b/nixpkgs/pkgs/development/libraries/libcdaudio/default.nix
index e5f6324e261c..dccad33dda93 100644
--- a/nixpkgs/pkgs/development/libraries/libcdaudio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcdaudio/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "libcdaudio-0.99.12p2";
+stdenv.mkDerivation rec {
+  pname = "libcdaudio";
+  version = "0.99.12p2";
+
   src = fetchurl {
-    url = "mirror://sourceforge/libcdaudio/libcdaudio-0.99.12p2.tar.gz";
+    url = "mirror://sourceforge/libcdaudio/libcdaudio-${version}.tar.gz";
     sha256 = "1fsy6dlzxrx177qc877qhajm9l4g28mvh06h2l15rxy4bapzknjz" ;
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libcdio-paranoia/default.nix b/nixpkgs/pkgs/development/libraries/libcdio-paranoia/default.nix
index 905d39dbd8ea..999c04504898 100644
--- a/nixpkgs/pkgs/development/libraries/libcdio-paranoia/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcdio-paranoia/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libcdio, pkg-config,
   libiconv, IOKit, DiskArbitration}:
 
-stdenv.mkDerivation {
-  name = "libcdio-paranoia-0.94+2";
+stdenv.mkDerivation rec {
+  pname = "libcdio-paranoia";
+  version = "0.94+2";
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "libcdio-paranoia";
-    rev = "release-10.2+0.94+2";
+    rev = "release-10.2+${version}";
     sha256 = "1wjgmmaca4baw7k5c3vdap9hnjc49ciagi5kvpvync3aqfmdvkha";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libcdio/default.nix b/nixpkgs/pkgs/development/libraries/libcdio/default.nix
index 71a953b83904..546573c62306 100644
--- a/nixpkgs/pkgs/development/libraries/libcdio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcdio/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, libcddb, pkg-config, ncurses, help2man, libiconv, Carbon, IOKit }:
 
 stdenv.mkDerivation rec {
-  name = "libcdio-2.1.0";
+  pname = "libcdio";
+  version = "2.1.0";
 
   src = fetchurl {
-    url = "mirror://gnu/libcdio/${name}.tar.bz2";
+    url = "mirror://gnu/libcdio/libcdio-${version}.tar.bz2";
     sha256 = "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libcec/default.nix b/nixpkgs/pkgs/development/libraries/libcec/default.nix
index b0de95923477..e03416a221c1 100644
--- a/nixpkgs/pkgs/development/libraries/libcec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcec/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, udev, libcec_platform, libraspberrypi ? null }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, udev, libcec_platform, libraspberrypi ? null }:
 
 stdenv.mkDerivation rec {
   pname = "libcec";
   version = "6.0.2";
 
-  src = fetchurl {
-    url = "https://github.com/Pulse-Eight/libcec/archive/libcec-${version}.tar.gz";
-    sha256 = "0xrkrcgfgr5r8r0854bw3i9jbq4jmf8nzc5vrrx2sxzvlkbrc1h9";
+  src = fetchFromGitHub {
+    owner = "Pulse-Eight";
+    repo = "libcec";
+    rev = "libcec-${version}";
+    sha256 = "sha256-OWqCn7Z0KG8sLlfMWd0btJIFJs79ET3Y1AV/y/Kj2TU=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libcec/platform.nix b/nixpkgs/pkgs/development/libraries/libcec/platform.nix
index 45c34b53cd77..cba1d0ba4c59 100644
--- a/nixpkgs/pkgs/development/libraries/libcec/platform.nix
+++ b/nixpkgs/pkgs/development/libraries/libcec/platform.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchurl, cmake }:
+{ lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "p8-platform";
   version = "2.1.0.1";
 
-  src = fetchurl {
-    url = "https://github.com/Pulse-Eight/platform/archive/p8-platform-${version}.tar.gz";
-    sha256 = "18381y54f7d18ckpzf9cfxbz1ws6imprbbm9pvhcg5c86ln8skq6";
+  src = fetchFromGitHub {
+    owner = "Pulse-Eight";
+    repo = "platform";
+    rev = "p8-platform-${version}";
+    sha256 = "sha256-zAI/AOLJAunv+cCQ6bOXrgkW+wl5frj3ktzx2cDeCCk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libcef/default.nix b/nixpkgs/pkgs/development/libraries/libcef/default.nix
index 85163daad0a1..7dfafe6bd06d 100644
--- a/nixpkgs/pkgs/development/libraries/libcef/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libcef/update.sh b/nixpkgs/pkgs/development/libraries/libcef/update.sh
new file mode 100755
index 000000000000..545f7c702052
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libcello/default.nix b/nixpkgs/pkgs/development/libraries/libcello/default.nix
index 100077bcc706..b2f3fc5fae5b 100644
--- a/nixpkgs/pkgs/development/libraries/libcello/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcello/default.nix
@@ -5,14 +5,14 @@ stdenv.mkDerivation rec {
   version = "2.1.0";
 
   src = fetchurl {
-    url = "http://libcello.org/static/libCello-${version}.tar.gz";
+    url = "https://libcello.org/static/libCello-${version}.tar.gz";
     sha256 = "0a1b2x5ni07vd9ridnl7zv7h2s32070wsphjy94qr066b99gdb29";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = {
-    homepage = "http://libcello.org/";
+    homepage = "https://libcello.org/";
     description = "Higher level programming in C";
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.MostAwesomeDude ];
diff --git a/nixpkgs/pkgs/development/libraries/libchop/default.nix b/nixpkgs/pkgs/development/libraries/libchop/default.nix
index f02ac04621fc..22cf5068f393 100644
--- a/nixpkgs/pkgs/development/libraries/libchop/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libchop/default.nix
@@ -4,10 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libchop-0.5.2";
+  pname = "libchop";
+  version = "0.5.2";
 
   src = fetchurl {
-    url = "mirror://savannah/libchop/${name}.tar.gz";
+    url = "mirror://savannah/libchop/libchop-${version}.tar.gz";
     sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libcommuni/default.nix b/nixpkgs/pkgs/development/libraries/libcommuni/default.nix
index 3e2c0daf0b46..dd5472849fd9 100644
--- a/nixpkgs/pkgs/development/libraries/libcommuni/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libcotp/default.nix b/nixpkgs/pkgs/development/libraries/libcotp/default.nix
index 986890102dc6..bd555bdbc364 100644
--- a/nixpkgs/pkgs/development/libraries/libcotp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcotp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcotp";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "paolostivanin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qq4shwiz1if9vys052dnsbm4dfw1ynlj6nsb0v4zjly3ndspfsk";
+    sha256 = "sha256-PN0kd0CP2zrkuPTdaS3TdsdEl+Gy6CecrDSh0Bd7mRk=";
   };
 
   buildInputs = [ libbaseencode libgcrypt ];
diff --git a/nixpkgs/pkgs/development/libraries/libcrafter/default.nix b/nixpkgs/pkgs/development/libraries/libcrafter/default.nix
index 37ac9bf7f171..22543972c1e6 100644
--- a/nixpkgs/pkgs/development/libraries/libcrafter/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcrafter/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, fetchzip, autoconf, automake, libtool, libpcap }:
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, libpcap }:
 
 stdenv.mkDerivation rec {
   pname = "libcrafter";
   version = "1.0";
 
-  src = fetchzip {
-    url = "https://github.com/pellegre/libcrafter/archive/version-${version}.zip";
-    sha256 = "1d2vgxawdwk2zg3scxclxdby1rhghmivly8azdjja89kw7gls9xl";
+  src = fetchFromGitHub {
+    owner = "pellegre";
+    repo = "libcrafter";
+    rev = "version-${version}";
+    sha256 = "sha256-tCdN3+EzISVl+wp5umOFD+bgV+uUdabH+2LyxlV/W7Q=";
   };
 
   preConfigure = "cd libcrafter";
diff --git a/nixpkgs/pkgs/development/libraries/libcryptui/default.nix b/nixpkgs/pkgs/development/libraries/libcryptui/default.nix
index e816846842f1..89b7dfa66444 100644
--- a/nixpkgs/pkgs/development/libraries/libcryptui/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcryptui/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, intltool, glib, gnome, gtk3, gnupg22, gpgme, dbus-glib, libgnome-keyring }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, intltool, glib, gnome, gtk3, gnupg, gpgme, dbus-glib, libgnome-keyring }:
 
 stdenv.mkDerivation rec {
   pname = "libcryptui";
@@ -10,11 +10,13 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./fix-gnupg-2.2.patch # based on https://gitlab.gnome.org/GNOME/libcryptui/-/commit/b05e301d1b264a5d8f07cb96e5edc243d99bff79.patch
+    # based on https://gitlab.gnome.org/GNOME/libcryptui/-/commit/b05e301d1b264a5d8f07cb96e5edc243d99bff79.patch
+    # https://gitlab.gnome.org/GNOME/libcryptui/-/merge_requests/1
+    ./fix-latest-gnupg.patch
   ];
 
   nativeBuildInputs = [ pkg-config intltool autoreconfHook ];
-  buildInputs = [ glib gtk3 gnupg22 gpgme dbus-glib libgnome-keyring ];
+  buildInputs = [ glib gtk3 gnupg gpgme dbus-glib libgnome-keyring ];
   propagatedBuildInputs = [ dbus-glib ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch b/nixpkgs/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch
index 50d5e0c82c1c..e12b584d16eb 100644
--- a/nixpkgs/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch
+++ b/nixpkgs/pkgs/development/libraries/libcryptui/fix-latest-gnupg.patch
@@ -17,7 +17,7 @@ index 4486e7b2..be5b28b4 100644
  
  if test	"$DO_CHECK" = "yes"; then
 -	accepted_versions="1.2 1.4 2.0"
-+	accepted_versions="1.2 1.4 2.0 2.2"
++	accepted_versions="1.2 1.4 2.0 2.2 2.3"
  	AC_PATH_PROGS(GNUPG, [gpg gpg2], no)
  	AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.])
  	ok="no"
diff --git a/nixpkgs/pkgs/development/libraries/libcyaml/default.nix b/nixpkgs/pkgs/development/libraries/libcyaml/default.nix
index 4b8d85b5b55b..dede81b0a1c3 100644
--- a/nixpkgs/pkgs/development/libraries/libcyaml/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix b/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix
index 6a86d4941bff..79e063826f8b 100644
--- a/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdbi-drivers/default.nix
@@ -6,10 +6,11 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  name = "libdbi-drivers-0.9.0";
+  pname = "libdbi-drivers";
+  version = "0.9.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdbi-drivers/${name}.tar.gz";
+    url = "mirror://sourceforge/libdbi-drivers/libdbi-drivers-${version}.tar.gz";
     sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix b/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix
index 8e9fe4de88ae..0b5531d70c54 100644
--- a/nixpkgs/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix b/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
index 5db8e7524b59..8d506efef89d 100644
--- a/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdeltachat/default.nix
@@ -6,6 +6,7 @@
 , perl
 , pkg-config
 , rustPlatform
+, sqlcipher
 , sqlite
 , fixDarwinDylibNames
 , CoreFoundation
@@ -15,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.70.0";
+  version = "1.75.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-702XhFWvFG+g++3X97sy6C5DMNWogv1Xbr8QPR8QyLo=";
+    hash = "sha256-3oYQwV1Srnq8VfS+M+BwIznXRxQFXr78SwXO3Xu08ws=";
   };
 
   patches = [
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-MiSGJMXe8vouv4XEHXq274FHEvBMtd7IX6DyNJIWYeU=";
+    hash = "sha256-jti1aY8a9YB8x6fz7UqTY4uDj6gkMnG1hTN/Mgc+mHs=";
   };
 
   nativeBuildInputs = [
@@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     openssl
+    sqlcipher
     sqlite
   ] ++ lib.optionals stdenv.isDarwin [
     CoreFoundation
diff --git a/nixpkgs/pkgs/development/libraries/libdnet/default.nix b/nixpkgs/pkgs/development/libraries/libdnet/default.nix
index 43d9d2077fe3..6455bf03b5ae 100644
--- a/nixpkgs/pkgs/development/libraries/libdnet/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdnet/default.nix
@@ -1,12 +1,13 @@
 {lib, stdenv, fetchurl, automake, autoconf, libtool}:
 
-stdenv.mkDerivation {
-  name = "libdnet-1.12";
+stdenv.mkDerivation rec {
+  pname = "libdnet";
+  version = "1.12";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-1.12.tgz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-${version}.tgz";
     sha256 = "09mhbr8x66ykhf5581a5zjpplpjxibqzgkkpx689kybwg0wk1cw3";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libdv/default.nix b/nixpkgs/pkgs/development/libraries/libdv/default.nix
index ff3c7f6f8631..55191fff8999 100644
--- a/nixpkgs/pkgs/development/libraries/libdv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdv/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, popt }:
 
 stdenv.mkDerivation rec {
-  name = "libdv-1.0.0";
+  pname = "libdv";
+  version = "1.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdv/${name}.tar.gz";
+    url = "mirror://sourceforge/libdv/libdv-${version}.tar.gz";
     sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libdvdnav/4.2.1.nix b/nixpkgs/pkgs/development/libraries/libdvdnav/4.2.1.nix
index 1f832de5bb3b..0285ff22fe2f 100644
--- a/nixpkgs/pkgs/development/libraries/libdvdnav/4.2.1.nix
+++ b/nixpkgs/pkgs/development/libraries/libdvdnav/4.2.1.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, libdvdread}:
 
-stdenv.mkDerivation {
-  name = "libdvdnav-4.2.1";
+stdenv.mkDerivation rec {
+  pname = "libdvdnav";
+  version = "4.2.1";
 
   src = fetchurl {
-    url = "http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz";
+    url = "http://dvdnav.mplayerhq.hu/releases/libdvdnav-${version}.tar.xz";
     sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libdvdread/4.9.9.nix b/nixpkgs/pkgs/development/libraries/libdvdread/4.9.9.nix
index 7049e1dd9935..87ab724796c7 100644
--- a/nixpkgs/pkgs/development/libraries/libdvdread/4.9.9.nix
+++ b/nixpkgs/pkgs/development/libraries/libdvdread/4.9.9.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, libdvdcss}:
 
-stdenv.mkDerivation {
-  name = "libdvdread-4.9.9";
+stdenv.mkDerivation rec {
+  pname = "libdvdread";
+  version = "4.9.9";
 
   src = fetchurl {
-    url = "http://dvdnav.mplayerhq.hu/releases/libdvdread-4.9.9.tar.xz";
+    url = "http://dvdnav.mplayerhq.hu/releases/libdvdread-${version}.tar.xz";
     sha256 = "d91275471ef69d488b05cf15c60e1cd65e17648bfc692b405787419f47ca424a";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libdwg/default.nix b/nixpkgs/pkgs/development/libraries/libdwg/default.nix
index 5a0347e59542..37eeb73f91cd 100644
--- a/nixpkgs/pkgs/development/libraries/libdwg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdwg/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, indent}:
 
-stdenv.mkDerivation {
-  name = "libdwg-0.6";
+stdenv.mkDerivation rec {
+  pname = "libdwg";
+  version = "0.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdwg/libdwg-0.6.tar.bz2";
+    url = "mirror://sourceforge/libdwg/libdwg-${version}.tar.bz2";
     sha256 = "0l8ks1x70mkna1q7mzy1fxplinz141bd24qhrm1zkdil74mcsryc";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libedit/default.nix b/nixpkgs/pkgs/development/libraries/libedit/default.nix
index 35efdc781d46..0e65ca8a6ff4 100644
--- a/nixpkgs/pkgs/development/libraries/libedit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libedit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libedit";
-  version = "20210714-3.1";
+  version = "20210910-3.1";
 
   src = fetchurl {
     url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz";
-    sha256 = "sha256-MCO0mK1ZP9d0WuOyCrrVRt5Qa2e4+7VXljfKaauC28k=";
+    sha256 = "sha256-Z5KmqZIFB2LtzKKP8zGM233jfcz3vDDbWfzXAX7tE8U=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/libee/default.nix b/nixpkgs/pkgs/development/libraries/libee/default.nix
index 7172df01e223..ae0529718259 100644
--- a/nixpkgs/pkgs/development/libraries/libee/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libee/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, pkg-config, libestr }:
-stdenv.mkDerivation {
-  name = "libee-0.4.1";
+stdenv.mkDerivation rec {
+  pname = "libee";
+  version = "0.4.1";
 
   src = fetchurl {
-    url = "http://www.libee.org/download/files/download/libee-0.4.1.tar.gz";
+    url = "http://www.libee.org/download/files/download/libee-${version}.tar.gz";
     sha256 = "09xhgzmsq0g3jsyj24vy67bhzk2fv971w5ixdkhfwgar70cw1nn0";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libepoxy/default.nix b/nixpkgs/pkgs/development/libraries/libepoxy/default.nix
index 4141de4fc00d..c54c3c86d232 100644
--- a/nixpkgs/pkgs/development/libraries/libepoxy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libepoxy/default.nix
@@ -10,13 +10,14 @@
 , libX11
 , Carbon
 , OpenGL
+, x11Support ? !stdenv.isDarwin
 }:
 
 let
   inherit (lib) getLib optional optionalString;
 
 in
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   pname = "libepoxy";
   version = "1.5.9";
 
@@ -40,7 +41,7 @@ stdenv.mkDerivation (rec {
 
   nativeBuildInputs = [ meson ninja pkg-config utilmacros python3 ];
 
-  buildInputs = [
+  buildInputs = lib.optionals x11Support [
     libGL
     libX11
   ] ++ lib.optionals stdenv.isDarwin [
@@ -50,10 +51,16 @@ stdenv.mkDerivation (rec {
 
   mesonFlags = [
     "-Dtests=${if doCheck then "true" else "false"}"
-  ]
-  ++ optional stdenv.isDarwin "-Dglx=yes";
+    "-Dglx=${if x11Support then "yes" else "no"}"
+  ];
+
+  NIX_CFLAGS_COMPILE = lib.optionalString x11Support ''-DLIBGL_PATH="${getLib libGL}/lib"'';
 
-  NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
+  # cgl_epoxy_api fails in darwin sandbox and on Hydra (because it's headless?)
+  preCheck = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace ../test/meson.build \
+      --replace "[ 'cgl_epoxy_api', [ 'cgl_epoxy_api.c' ] ]," ""
+  '';
 
   # tests are running from version 1.5.9
   doCheck = true;
@@ -65,10 +72,4 @@ stdenv.mkDerivation (rec {
     maintainers = with maintainers; [ goibhniu erictapen ];
     platforms = platforms.unix;
   };
-} // lib.optionalAttrs stdenv.isDarwin {
-  # cgl_epoxy_api fails in darwin sandbox and on Hydra (because it's headless?)
-  preCheck = ''
-    substituteInPlace ../test/meson.build \
-      --replace "[ 'cgl_epoxy_api', [ 'cgl_epoxy_api.c' ] ]," ""
-  '';
-})
+}
diff --git a/nixpkgs/pkgs/development/libraries/libesmtp/default.nix b/nixpkgs/pkgs/development/libraries/libesmtp/default.nix
index 542cff712c82..3193f383d610 100644
--- a/nixpkgs/pkgs/development/libraries/libesmtp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libesmtp/default.nix
@@ -1,18 +1,29 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, openssl }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "libESMTP";
-  version = "1.0.6";
+  version = "1.1.0";
 
-  src = fetchurl {
-    url = "http://brianstafford.info/libesmtp/libesmtp-1.0.6.tar.bz2";
-    sha256 = "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh";
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [ openssl ];
+
+  src = fetchFromGitHub {
+    owner = "libesmtp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1bhh8hlsl9597x0bnfl563k2c09b61qnkb9mfyqcmzlq63m1zw5y";
   };
 
   meta = with lib; {
-    homepage = "http://brianstafford.info/libesmtp/index.html";
     description = "A Library for Posting Electronic Mail";
-    license = licenses.lgpl21;
+    longDescription = ''
+      libESMTP is an SMTP client library which manages submission of electronic mail
+      via a preconfigured Mail Transport Agent (MTA) such as Exim or Postfix.
+      It implements many SMTP extensions including TLS for security
+      and PIPELINING for high performance.
+    '';
+    homepage = "https://libesmtp.github.io/";
+    license = licenses.lgpl21Plus;
   };
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/libevdev/default.nix b/nixpkgs/pkgs/development/libraries/libevdev/default.nix
index 33b3f0b32e1d..cca5abef4fc7 100644
--- a/nixpkgs/pkgs/development/libraries/libevdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libevdev/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libevdev";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Y/TqFImFihCQgOC0C9Q+TgkDoeEuqIjVgduMSVdHwtA=";
+    sha256 = "sha256-L3KeNIBpV5H5SC6DiL1yNAK4nw6vEYBXu96jzs7psjc=";
   };
 
   nativeBuildInputs = [ python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/libextractor/default.nix b/nixpkgs/pkgs/development/libraries/libextractor/default.nix
index cef1fbc512ae..7251e5b645be 100644
--- a/nixpkgs/pkgs/development/libraries/libextractor/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libextractor/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     (substituteAll {
       src = ./gst-hardcode-plugins.patch;
       load_gst_plugins = lib.concatMapStrings
-        (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'')
+        (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'')
         (gstPlugins gst_all_1);
     })
   ];
diff --git a/nixpkgs/pkgs/development/libraries/libf2c/default.nix b/nixpkgs/pkgs/development/libraries/libf2c/default.nix
index 5a5d8b93057a..a2cb4d2bd246 100644
--- a/nixpkgs/pkgs/development/libraries/libf2c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libf2c/default.nix
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  # Makefile is missing depepdencies on generated headers:
+  #   main.c:4:10: fatal error: signal1.h: No such file or directory
+  enableParallelBuilding = false;
+
   meta = {
     description = "F2c converts Fortran 77 source code to C";
     homepage = "http://www.netlib.org/f2c/";
diff --git a/nixpkgs/pkgs/development/libraries/libfabric/default.nix b/nixpkgs/pkgs/development/libraries/libfabric/default.nix
index c1c6ef7032ae..38c88fe70f3c 100644
--- a/nixpkgs/pkgs/development/libraries/libfabric/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfabric/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfabric";
-  version = "1.13.2";
+  version = "1.14.0";
 
   enableParallelBuilding = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "ofiwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ydMZP83keUGDYDw9i/SCa4U1KEgfuqkFklwRKbfLoK8=";
+    sha256 = "sha256-MmvJV3Pne+bJtC91rdpNMZovoqMgm3gHFJwGH3tchgI=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/libffi/default.nix b/nixpkgs/pkgs/development/libraries/libffi/default.nix
index 4332f43c5afb..6a22d585fbc8 100644
--- a/nixpkgs/pkgs/development/libraries/libffi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libffi/default.nix
@@ -1,6 +1,8 @@
 { lib, stdenv, fetchurl, fetchpatch
 , autoreconfHook
 
+, doCheck ? true # test suite depends on dejagnu which cannot be used during bootstrapping
+, dejagnu
 }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
@@ -39,6 +41,10 @@ stdenv.mkDerivation rec {
 
   dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; # Don't run the native `strip' when cross-compiling.
 
+  inherit doCheck;
+
+  checkInputs = [ dejagnu ];
+
   meta = with lib; {
     description = "A foreign function call interface library";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/libraries/libfido2/default.nix b/nixpkgs/pkgs/development/libraries/libfido2/default.nix
index 62a72175b8ee..13bbd246c64a 100644
--- a/nixpkgs/pkgs/development/libraries/libfido2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfido2/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.8.0";
+  version = "1.9.0";
 
   # releases on https://developers.yubico.com/libfido2/Releases/ are signed
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm";
+    sha256 = "sha256-ujnjrzc20t/IrT0ctuO+fszAlYhhCjsHyGXQ7T5YwtI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
index 95e00cdd7329..b02b856442bf 100644
--- a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libfprint-tod/default.nix b/nixpkgs/pkgs/development/libraries/libfprint-tod/default.nix
index 8d7df57896d4..bffafc5e44f4 100644
--- a/nixpkgs/pkgs/development/libraries/libfprint-tod/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfprint-tod/default.nix
@@ -19,7 +19,9 @@ in  {
     sha256 = "0cj7iy5799pchyzqqncpkhibkq012g3bdpn18pfb19nm43svhn4j";
   };
 
-  mesonFlags = mesonFlags ++ [
+  mesonFlags = [
+    # Include virtual drivers for fprintd tests
+    "-Ddrivers=all"
     "-Dudev_hwdb_dir=${placeholder "out"}/lib/udev/hwdb.d"
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libfprint/default.nix b/nixpkgs/pkgs/development/libraries/libfprint/default.nix
index 42e308f41a9e..809635c1774a 100644
--- a/nixpkgs/pkgs/development/libraries/libfprint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfprint/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfprint";
-  version = "1.92.1";
+  version = "1.94.2";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "libfprint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dpwzmwl9jjpaz44znvy3v8s9sln0c71b756rs1knk0zx8sa1qbc";
+    sha256 = "sha256-FQwjJOgANSmJu9ev1K2oovNGovsbxnWMxNveTmH5fHg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libfyaml/default.nix b/nixpkgs/pkgs/development/libraries/libfyaml/default.nix
index e1e30657a352..9384a7c97603 100644
--- a/nixpkgs/pkgs/development/libraries/libfyaml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfyaml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libfyaml";
-  version = "0.7.3";
+  version = "0.7.12";
 
   src = fetchFromGitHub {
     owner = "pantoniou";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-RxaeDtsdPtcTYJ7qMVmBCm1TsMI7YsXCz2w/Bq2RmaA=";
+    sha256 = "sha256-gmVjiwf8PsDYRt8jmXNrd+hJSL099hbLjq8Z0c1u2HE=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libgbinder/default.nix b/nixpkgs/pkgs/development/libraries/libgbinder/default.nix
index 38b0c6c8def0..f2ecf94053b0 100644
--- a/nixpkgs/pkgs/development/libraries/libgbinder/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix b/nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix
index 897222116e89..b30aa89b1485 100644
--- a/nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix
+++ b/nixpkgs/pkgs/development/libraries/libgcrypt/1.5.nix
@@ -3,10 +3,11 @@
 assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "libgcrypt-1.5.6";
+  pname = "libgcrypt";
+  version = "1.5.6";
 
   src = fetchurl {
-    url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
+    url = "mirror://gnupg/libgcrypt/libgcrypt-${version}.tar.bz2";
     sha256 = "0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix b/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
index 08e79a16e1ac..9195019b0559 100644
--- a/nixpkgs/pkgs/development/libraries/libgcrypt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libgda/default.nix b/nixpkgs/pkgs/development/libraries/libgda/default.nix
index 63acabb320e4..a9993b7255a9 100644
--- a/nixpkgs/pkgs/development/libraries/libgda/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgda/default.nix
@@ -11,8 +11,6 @@
 , gobject-introspection
 , vala
 , libgee
-, overrideCC
-, gcc6
 , fetchpatch
 , autoreconfHook
 , gtk-doc
@@ -27,7 +25,7 @@
 assert mysqlSupport -> libmysqlclient != null;
 assert postgresSupport -> postgresql != null;
 
-(if stdenv.isAarch64 then overrideCC stdenv gcc6 else stdenv).mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "libgda";
   version = "5.2.10";
 
diff --git a/nixpkgs/pkgs/development/libraries/libgit2/default.nix b/nixpkgs/pkgs/development/libraries/libgit2/default.nix
new file mode 100644
index 000000000000..dc12e643cb75
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libgksu/default.nix b/nixpkgs/pkgs/development/libraries/libgksu/default.nix
deleted file mode 100644
index b00e7b324518..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, gtk2, gnome2, gnome,
-  libstartup_notification, libgtop, perlPackages,
-  autoreconfHook, intltool, docbook_xsl, xauth
-}:
-
-stdenv.mkDerivation rec {
-  version = "2.0.12";
-  pname = "libgksu";
-
-  src = fetchurl {
-    url = "http://people.debian.org/~kov/gksu/${pname}-${version}.tar.gz";
-    sha256 = "1brz9j3nf7l2gd3a5grbp0s3nksmlrp6rxmgp5s6gjvxcb1wzy92";
-  };
-
-  nativeBuildInputs = [
-    pkg-config autoreconfHook intltool docbook_xsl wrapGAppsHook
-  ];
-
-  buildInputs = [
-    gtk2 gnome2.GConf libstartup_notification
-    gnome.libgnome-keyring libgtop gnome2.libglade
-  ] ++ (with perlPackages; [ perl XMLParser ]);
-
-  enableParallelBuilding = true;
-
-  hardeningDisable = [ "format" ];
-
-  patches = [
-        # Patches from the gentoo ebuild
-
-        # Fix compilation on bsdc
-        ./libgksu-2.0.0-fbsd.patch
-
-        # Fix wrong usage of LDFLAGS, gentoo bug #226837
-        ./libgksu-2.0.7-libs.patch
-
-        # Use po/LINGUAS
-        ./libgksu-2.0.7-polinguas.patch
-
-        # Don't forkpty; gentoo bug #298289
-        ./libgksu-2.0.12-revert-forkpty.patch
-
-        # Make this gmake-3.82 compliant, gentoo bug #333961
-        ./libgksu-2.0.12-fix-make-3.82.patch
-
-        # Do not build test programs that are never executed; also fixes gentoo bug #367397 (underlinking issues).
-        ./libgksu-2.0.12-notests.patch
-
-        # Fix automake-1.11.2 compatibility, gentoo bug #397411
-        ./libgksu-2.0.12-automake-1.11.2.patch
-  ];
-
-  postPatch = ''
-    # gentoo bug #467026
-    sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac
-
-    # Fix some binary paths
-    sed -i -e 's|/usr/bin/xauth|${xauth}/bin/xauth|g' libgksu/gksu-run-helper.c libgksu/libgksu.c
-    sed -i -e 's|/usr/bin/sudo|/run/wrappers/bin/sudo|g' libgksu/libgksu.c
-    sed -i -e 's|/bin/su\([^d]\)|/run/wrappers/bin/su\1|g' libgksu/libgksu.c
-
-    touch NEWS README
-  '';
-
-  preConfigure = ''
-    intltoolize --force --copy --automake
-  '';
-
-  configureFlags = [
-    "--disable-gtk-doc"
-  ];
-
-  meta = {
-    description = "A library for integration of su into applications";
-    longDescription = ''
-      This library comes from the gksu program. It provides a simple API
-      to use su and sudo in programs that need to execute tasks as other
-      user.  It provides X authentication facilities for running
-      programs in an X session.
-    '';
-    homepage = "https://www.nongnu.org/gksu/";
-    license = lib.licenses.lgpl2;
-    maintainers = [ lib.maintainers.romildo ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch b/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch
deleted file mode 100644
index 5c007be5b4b4..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.0-fbsd.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/libgksu.c libgksu-2.0.0/libgksu/libgksu.c
---- libgksu-2.0.0.orig/libgksu/libgksu.c	2006-09-14 22:35:51.000000000 -0400
-+++ libgksu-2.0.0/libgksu/libgksu.c	2006-12-12 11:28:01.000000000 -0500
-@@ -23,7 +23,12 @@
- #include <unistd.h>
- #include <string.h>
- #include <fcntl.h>
-+#ifdef __FreeBSD__
-+#include <libutil.h>
-+#include <termios.h>
-+#else
- #include <pty.h>
-+#endif
- #include <pwd.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/Makefile.am libgksu-2.0.0/libgksu/Makefile.am
---- libgksu-2.0.0.orig/libgksu/Makefile.am	2006-09-14 22:35:52.000000000 -0400
-+++ libgksu-2.0.0/libgksu/Makefile.am	2006-12-12 11:28:01.000000000 -0500
-@@ -30,6 +30,6 @@ gksu_run_helper_SOURCES = gksu-run-helpe
- noinst_PROGRAMS = test-gksu
- test_gksu_SOURCES = test-gksu.c
- test_gksu_LDADD = libgksu2.la
--test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
- 
- EXTRA_DIST = libgksu.ver
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksu/Makefile.in libgksu-2.0.0/libgksu/Makefile.in
---- libgksu-2.0.0.orig/libgksu/Makefile.in	2006-09-23 15:37:44.000000000 -0400
-+++ libgksu-2.0.0/libgksu/Makefile.in	2006-12-12 11:30:09.000000000 -0500
-@@ -283,7 +283,7 @@ gksu_run_helper_LDFLAGS = `pkg-config --
- gksu_run_helper_SOURCES = gksu-run-helper.c
- test_gksu_SOURCES = test-gksu.c
- test_gksu_LDADD = libgksu2.la
--test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
- EXTRA_DIST = libgksu.ver
- all: all-am
- 
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksuui/Makefile.am libgksu-2.0.0/libgksuui/Makefile.am
---- libgksu-2.0.0.orig/libgksuui/Makefile.am	2006-09-14 22:35:31.000000000 -0400
-+++ libgksu-2.0.0/libgksuui/Makefile.am	2006-12-12 11:28:01.000000000 -0500
-@@ -12,4 +12,4 @@ includedir = ${prefix}/include/$(PACKAGE
- noinst_PROGRAMS = test-gksuui
- test_gksuui_SOURCES = test-gksuui.c
- test_gksuui_LDADD = libgksuui1.0.la
--test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
-diff --exclude-from=/home/dang/.diffrc -up -ruN libgksu-2.0.0.orig/libgksuui/Makefile.in libgksu-2.0.0/libgksuui/Makefile.in
---- libgksu-2.0.0.orig/libgksuui/Makefile.in	2006-09-23 15:37:44.000000000 -0400
-+++ libgksu-2.0.0/libgksuui/Makefile.in	2006-12-12 11:30:22.000000000 -0500
-@@ -250,7 +250,7 @@ libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-c
- noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
- test_gksuui_SOURCES = test-gksuui.c
- test_gksuui_LDADD = libgksuui1.0.la
--test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
-+test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
- all: all-am
- 
- .SUFFIXES:
diff --git a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch b/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch
deleted file mode 100644
index 0f22166fb8b7..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-automake-1.11.2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Due to the following change, pkglib_PROGRAMS is invalid:
-    http://git.savannah.gnu.org/cgit/automake.git/commit/?id=9ca632642b006ac6b0fc4ce0ae5b34023faa8cbf
-
-https://savannah.nongnu.org/bugs/index.php?35241
-https://bugs.gentoo.org/show_bug.cgi?id=397411
-
----
- libgksu/Makefile.am |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libgksu/Makefile.am b/libgksu/Makefile.am
-index 49362f9..3cb1090 100644
---- a/libgksu/Makefile.am
-+++ b/libgksu/Makefile.am
-@@ -22,8 +22,8 @@ includedir = ${prefix}/include/${PACKAGE}
- pkgconfigdir = ${libdir}/pkgconfig
- pkgconfig_DATA = libgksu2.pc
- 
--pkglibdir = ${libdir}/${PACKAGE}
--pkglib_PROGRAMS = gksu-run-helper
-+gksulibdir = ${libdir}/${PACKAGE}
-+gksulib_PROGRAMS = gksu-run-helper
- gksu_run_helper_LDADD = ${GLIB_LIBS} 
- gksu_run_helper_SOURCES = gksu-run-helper.c
- 
diff --git a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch b/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch
deleted file mode 100644
index dd52b8247fa4..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-fix-make-3.82.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- libgksu/Makefile.am-orig	2010-08-22 16:11:19.872577459 -0500
-+++ libgksu/Makefile.am	2010-08-22 16:11:55.289599110 -0500
-@@ -17,11 +17,11 @@
- 
- if GCONF_SCHEMAS_INSTALL
- install-data-local:
--        if test -z "$(DESTDIR)" ; then \
--          for p in $(schemas_DATA) ; do \
--            GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p ; \
--          done \
--        fi
-+	if test -z "$(DESTDIR)" ; then \
-+		for p in $(schemas_DATA) ; do \
-+			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p ; \
-+		done \
-+	fi
- else
- install-data-local:
- endif
diff --git a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch b/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch
deleted file mode 100644
index 3787ef6bfc13..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-notests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: libgksu-2.0.12/libgksu/Makefile.am
-===================================================================
---- libgksu-2.0.12.orig/libgksu/Makefile.am
-+++ libgksu-2.0.12/libgksu/Makefile.am
-@@ -27,7 +27,7 @@ pkglib_PROGRAMS = gksu-run-helper
- gksu_run_helper_LDFLAGS = `pkg-config --libs glib-2.0`
- gksu_run_helper_SOURCES = gksu-run-helper.c
- 
--noinst_PROGRAMS = test-gksu
-+EXTRA_PROGRAMS = test-gksu
- test_gksu_SOURCES = test-gksu.c
- test_gksu_LDADD = libgksu2.la
- test_gksu_LDFLAGS = `pkg-config --libs glib-2.0`
-Index: libgksu-2.0.12/libgksuui/Makefile.am
-===================================================================
---- libgksu-2.0.12.orig/libgksuui/Makefile.am
-+++ libgksu-2.0.12/libgksuui/Makefile.am
-@@ -9,7 +9,7 @@ libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-c
- noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
- includedir = ${prefix}/include/$(PACKAGE)
- 
--noinst_PROGRAMS = test-gksuui
-+EXTRA_PROGRAMS = test-gksuui
- test_gksuui_SOURCES = test-gksuui.c
- test_gksuui_LDADD = libgksuui1.0.la
- test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0`
diff --git a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch b/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch
deleted file mode 100644
index 2c3a8cc786bb..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.12-revert-forkpty.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN libgksu-2.0.12.orig/libgksu/libgksu.c libgksu-2.0.12/libgksu/libgksu.c
---- libgksu-2.0.12.orig/libgksu/libgksu.c	2009-06-29 13:48:24.000000000 -0400
-+++ libgksu-2.0.12/libgksu/libgksu.c	2010-01-12 07:32:10.450657456 -0500
-@@ -1,7 +1,6 @@
- /*
-  * Gksu -- a library providing access to su functionality
-  * Copyright (C) 2004-2009 Gustavo Noronha Silva
-- * Portions Copyright (C) 2009 VMware, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -56,9 +55,6 @@
- static void
- gksu_context_launch_complete (GksuContext *context);
- 
--static void
--read_line (int fd, gchar *buffer, int n);
--
- GType
- gksu_error_get_type (void)
- {
-@@ -2009,8 +2005,6 @@ gksu_su_fuller (GksuContext *context,
-       for (i = 0 ; cmd[i] != NULL ; i++)
- 	g_free (cmd[i]);
-       g_free(cmd);
--
--      _exit(1);
-     }
-   else if (pid == -1)
-     {
-@@ -2125,10 +2119,10 @@ gksu_su_fuller (GksuContext *context,
- 	  /* drop the \n echoed on password entry if su did request
- 	     a password */
- 	  if (password_needed)
--	    read_line (fdpty, buf, 255);
-+	    read (fdpty, buf, 255);
- 	  if (context->debug)
- 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
--	  read_line (fdpty, buf, 255);
-+	  read (fdpty, buf, 255);
- 	  if (context->debug)
- 	    fprintf (stderr, "DEBUG (run:post-after-pass) buf: -%s-\n", buf);
- 	}
-@@ -2142,9 +2136,7 @@ gksu_su_fuller (GksuContext *context,
- 	{
- 	  int retval = 0;
- 
--	  /* Red Hat's su shows the full path to su in its error messages. */
--	  if (!strncmp (buf, "su:", 3) ||
--	      !strncmp (buf, "/bin/su:", 7))
-+	  if (!strncmp (buf, "su", 2))
- 	    {
- 	      gchar **strings;
- 
-@@ -2155,11 +2147,7 @@ gksu_su_fuller (GksuContext *context,
- 		}
- 
- 	      strings = g_strsplit (buf, ":", 2);
--
--	      /* Red Hat and Fedora use 'incorrect password'. */
--	      if (strings[1] &&
--	          (g_str_has_prefix(strings[1], " Authentication failure") ||
--	           g_str_has_prefix(strings[1], " incorrect password")))
-+	      if (strings[1] && !strncmp (strings[1], " Authentication failure", 23))
- 		{
- 		  if (used_gnome_keyring)
- 		    g_set_error (error, gksu_quark,
-@@ -2473,12 +2461,6 @@ gksu_sudo_fuller (GksuContext *context,
- {
-   char **cmd;
-   char buffer[256] = {0};
--  char *child_stderr = NULL;
--  /* This command is used to gain a token */
--  char *const verifycmd[] =
--    {
--      "/usr/bin/sudo", "-p", "GNOME_SUDO_PASS", "-v", NULL
--    };
-   int argcount = 8;
-   int i, j;
- 
-@@ -2489,8 +2471,9 @@ gksu_sudo_fuller (GksuContext *context,
- 
-   pid_t pid;
-   int status;
--  FILE *fdfile = NULL;
--  int fdpty = -1;
-+  FILE *infile, *outfile;
-+  int parent_pipe[2];	/* For talking to the parent */
-+  int child_pipe[2];	/* For talking to the child */
- 
-   context->sudo_mode = TRUE;
- 
-@@ -2565,10 +2548,6 @@ gksu_sudo_fuller (GksuContext *context,
-   cmd[argcount] = g_strdup("-S");
-   argcount++;
- 
--  /* Make sudo noninteractive (we should already have a token) */
--  cmd[argcount] = g_strdup("-n");
--  argcount++;
--
-   /* Make sudo use next arg as prompt */
-   cmd[argcount] = g_strdup("-p");
-   argcount++;
-@@ -2647,21 +2626,26 @@ gksu_sudo_fuller (GksuContext *context,
- 	fprintf (stderr, "cmd[%d]: %s\n", i, cmd[i]);
-     }
- 
--  pid = forkpty(&fdpty, NULL, NULL, NULL);
--  if (pid == 0)
-+  if ((pipe(parent_pipe)) == -1)
-     {
--      // Child
--      setsid();   // make us session leader
--
--      execv(verifycmd[0], verifycmd);
-+      g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		   _("Error creating pipe: %s"),
-+		   strerror(errno));
-+      sudo_reset_xauth (context, xauth, xauth_env);
-+      return FALSE;
-+    }
- 
--      g_set_error (error, gksu_quark, GKSU_ERROR_EXEC,
--		   _("Failed to exec new process: %s"),
-+  if ((pipe(child_pipe)) == -1)
-+    {
-+      g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		   _("Error creating pipe: %s"),
- 		   strerror(errno));
-       sudo_reset_xauth (context, xauth, xauth_env);
-       return FALSE;
-     }
--  else if (pid == -1)
-+
-+  pid = fork();
-+  if (pid == -1)
-     {
-       g_set_error (error, gksu_quark, GKSU_ERROR_FORK,
- 		   _("Failed to fork new process: %s"),
-@@ -2669,26 +2653,56 @@ gksu_sudo_fuller (GksuContext *context,
-       sudo_reset_xauth (context, xauth, xauth_env);
-       return FALSE;
-     }
-+  else if (pid == 0)
-+    {
-+      // Child
-+      setsid();   // make us session leader
-+      close(child_pipe[1]);
-+      dup2(child_pipe[0], STDIN_FILENO);
-+      dup2(parent_pipe[1], STDERR_FILENO);
- 
-+      execv(cmd[0], cmd);
-+
-+      g_set_error (error, gksu_quark, GKSU_ERROR_EXEC,
-+		   _("Failed to exec new process: %s"),
-+		   strerror(errno));
-+      sudo_reset_xauth (context, xauth, xauth_env);
-+      return FALSE;
-+    }
-   else
-     {
-       gint counter = 0;
-       gchar *cmdline = NULL;
--      struct termios tio;
- 
-       // Parent
--      fdfile = fdopen(fdpty, "w+");
-+      close(parent_pipe[1]);
- 
--      /* make sure we notice that ECHO is turned off, if it gets
--         turned off */
--      tcgetattr (fdpty, &tio);
--      for (counter = 0; (tio.c_lflag & ECHO) && counter < 15; counter++)
--      {
--        usleep (1000);
--        tcgetattr (fdpty, &tio);
--      }
-+      infile = fdopen(parent_pipe[0], "r");
-+      if (!infile)
-+	{
-+	  g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		       _("Error opening pipe: %s"),
-+		       strerror(errno));
-+	  sudo_reset_xauth (context, xauth, xauth_env);
-+	  return FALSE;
-+	}
- 
--      fcntl (fdpty, F_SETFL, O_NONBLOCK);
-+      outfile = fdopen(child_pipe[1], "w");
-+      if (!outfile)
-+	{
-+	  g_set_error (error, gksu_quark, GKSU_ERROR_PIPE,
-+		       _("Error opening pipe: %s"),
-+		       strerror(errno));
-+	  sudo_reset_xauth (context, xauth, xauth_env);
-+	  return FALSE;
-+	}
-+
-+      /*
-+	we are expecting to receive a GNOME_SUDO_PASS
-+	if we don't there are two possibilities: an error
-+	or a password is not needed
-+      */
-+      fcntl (parent_pipe[0], F_SETFL, O_NONBLOCK);
- 
-       { /* no matter if we can read, since we're using
- 	   O_NONBLOCK; this is just to avoid the prompt
-@@ -2697,11 +2711,11 @@ gksu_sudo_fuller (GksuContext *context,
- 	struct timeval tv;
- 
- 	FD_ZERO(&rfds);
--	FD_SET(fdpty, &rfds);
-+	FD_SET(parent_pipe[0], &rfds);
- 	tv.tv_sec = 1;
- 	tv.tv_usec = 0;
- 
--	select (fdpty + 1, &rfds, NULL, NULL, &tv);
-+	select (parent_pipe[0] + 1, &rfds, NULL, NULL, &tv);
-       }
- 
-       /* Try hard to find the prompt; it may happen that we're
-@@ -2713,7 +2727,7 @@ gksu_sudo_fuller (GksuContext *context,
- 	  if (strncmp (buffer, "GNOME_SUDO_PASS", 15) == 0)
- 	    break;
- 
--	  read_line (fdpty, buffer, 256);
-+	  read_line (parent_pipe[0], buffer, 256);
- 
- 	  if (context->debug)
- 	    fprintf (stderr, "buffer: -%s-\n", buffer);
-@@ -2747,17 +2761,18 @@ gksu_sudo_fuller (GksuContext *context,
- 
- 	  usleep (1000);
- 
--	  write (fdpty, password, strlen(password) + 1);
--	  write (fdpty, "\n", 1);
-+	  fprintf (outfile, "%s\n", password);
-+	  fclose (outfile);
- 
- 	  nullify_password (password);
- 
--	  fcntl(fdpty, F_SETFL, fcntl(fdpty, F_GETFL) & ~O_NONBLOCK);
-+	  /* turn NONBLOCK off */
-+	  fcntl(parent_pipe[0], F_SETFL, fcntl(parent_pipe[0], F_GETFL) & ~O_NONBLOCK);
- 	  /* ignore the first newline that comes right after sudo receives
- 	     the password */
--	  fgets (buffer, 255, fdfile);
--	  /* this is the status we are interested in */
--	  fgets (buffer, 255, fdfile);
-+	  fgets (buffer, 255, infile);
-+	  /* this is the status we are interessted in */
-+	  fgets (buffer, 255, infile);
- 	}
-       else
- 	{
-@@ -2766,7 +2781,7 @@ gksu_sudo_fuller (GksuContext *context,
- 	    fprintf (stderr, "No password prompt found; we'll assume we don't need a password.\n");
- 
-           /* turn NONBLOCK off, also if have no prompt */
--          fcntl(fdpty, F_SETFL, fcntl(fdpty, F_GETFL) & ~O_NONBLOCK);
-+          fcntl(parent_pipe[0], F_SETFL, fcntl(parent_pipe[0], F_GETFL) & ~O_NONBLOCK);
- 
- 	  should_display = gconf_client_get_bool (context->gconf_client,
- 						  BASE_PATH "display-no-pass-info", NULL);
-@@ -2785,9 +2800,14 @@ gksu_sudo_fuller (GksuContext *context,
- 	  fprintf (stderr, "%s", buffer);
- 	}
- 
--      if (g_str_has_prefix (buffer, "Sorry, try again."))
-+      if (!strcmp (buffer, "Sorry, try again.\n"))
- 	g_set_error (error, gksu_quark, GKSU_ERROR_WRONGPASS,
- 		     _("Wrong password."));
-+      else if (!strncmp (buffer, "Sorry, user ", 12))
-+	g_set_error (error, gksu_quark, GKSU_ERROR_NOT_ALLOWED,
-+		     _("The underlying authorization mechanism (sudo) "
-+		       "does not allow you to run this program. Contact "
-+		       "the system administrator."));
-       else
- 	{
- 	  gchar *haystack = buffer;
-@@ -2805,10 +2825,6 @@ gksu_sudo_fuller (GksuContext *context,
- 	    }
- 	}
- 
--      /* If we have an error, let's just stop sudo right there. */
--      if (error)
--        close(fdpty);
--
-       cmdline = g_strdup("sudo");
-       /* wait for the child process to end or become something other
- 	 than sudo */
-@@ -2825,23 +2841,17 @@ gksu_sudo_fuller (GksuContext *context,
-       if (context->sn_context)
- 	gksu_context_launch_complete (context);
- 
-+      while (read (parent_pipe[0], buffer, 255) > 0)
-+	{
-+	  fprintf (stderr, "%s", buffer);
-+	  bzero(buffer, 256);
-+	}
-+
-       /* if the process is still active waitpid() on it */
-       if (pid_exited != pid)
- 	waitpid(pid, &status, 0);
-       sudo_reset_xauth (context, xauth, xauth_env);
- 
--      /*
--       * Did token acquisition succeed? If so, spawn sudo in
--       * non-interactive mode. It should either succeed or die
--       * immediately if you're not allowed to run the command.
--       */
--      if (WEXITSTATUS(status) == 0)
--        {
--          g_spawn_sync(NULL, cmd, NULL, 0, NULL, NULL,
--                       NULL, &child_stderr, &status,
--                       error);
--        }
--
-       if (exit_status)
-       {
-       	if (WIFEXITED(status)) {
-@@ -2853,13 +2863,6 @@ gksu_sudo_fuller (GksuContext *context,
- 
-       if (WEXITSTATUS(status))
- 	{
--          if (g_str_has_prefix(child_stderr, "Sorry, user "))
--            {
--              g_set_error (error, gksu_quark, GKSU_ERROR_NOT_ALLOWED,
--                           _("The underlying authorization mechanism (sudo) "
--                             "does not allow you to run this program. Contact "
--                             "the system administrator."));
--            }
- 	  if(cmdline)
- 	    {
- 	      /* sudo already exec()ed something else, don't report
-@@ -2868,7 +2871,6 @@ gksu_sudo_fuller (GksuContext *context,
- 	      if (!g_str_has_suffix (cmdline, "sudo"))
- 		{
- 		  g_free (cmdline);
--		  g_free (child_stderr);
- 		  return FALSE;
- 		}
- 	      g_free (cmdline);
-@@ -2881,11 +2883,11 @@ gksu_sudo_fuller (GksuContext *context,
- 	}
-     }
- 
--  fprintf(stderr, child_stderr);
--  g_free(child_stderr);
--
-   /* if error is set we have found an error condition */
--  return (error == NULL);
-+  if (error)
-+    return FALSE;
-+
-+  return TRUE;
- }
- 
- /**
diff --git a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch b/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch
deleted file mode 100644
index b9fb77f27147..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-libs.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-# https://savannah.nongnu.org/bugs/?25362
-# https://bugs.gentoo.org/show_bug.cgi?id=226837
-diff -Nura a/configure.ac b/configure.ac
---- a/configure.ac	2009-01-19 22:15:30.000000000 +0100
-+++ b/configure.ac	2009-01-19 22:18:10.000000000 +0100
-@@ -43,6 +43,9 @@
- PKG_CHECK_MODULES(LIBGKSU, [gtk+-2.0 >= 2.4.0, gconf-2.0, libstartup-notification-1.0, gnome-keyring-1, libgtop-2.0])
- PKG_CHECK_MODULES(GKSU_PROPERTIES, [gtk+-2.0 >= 2.4.0, gconf-2.0, libglade-2.0])
- 
-+PKG_CHECK_MODULES(GLIB, [glib-2.0 gthread-2.0])
-+PKG_CHECK_MODULES(GTK, [gtk+-2.0 gconf-2.0])
-+
- # Checks for library functions.
- ALL_LINGUAS="ca cs da de es eu fr hu it ko lt pl pt_BR ro ru sk sv nb nl zh_CN"
- 
-diff -Nura a/gksu-properties/Makefile.am b/gksu-properties/Makefile.am
---- a/gksu-properties/Makefile.am	2009-01-19 22:15:59.000000000 +0100
-+++ b/gksu-properties/Makefile.am	2009-01-19 22:19:13.000000000 +0100
-@@ -3,7 +3,7 @@
- AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -DDATA_DIR=\"$(datadir)\" -DPREFIX=\"$(prefix)\"
- 
- bin_PROGRAMS = gksu-properties
--gksu_properties_LDFLAGS = ${GKSU_PROPERTIES_LIBS}
-+gksu_properties_LDADD = ${GKSU_PROPERTIES_LIBS}
- gksu_properties_SOURCES = gksu-properties.c
- 
- gladedir = ${prefix}/share/${PACKAGE}
-diff -Nura a/libgksu/Makefile.am b/libgksu/Makefile.am
---- a/libgksu/Makefile.am	2009-01-19 22:15:59.000000000 +0100
-+++ b/libgksu/Makefile.am	2009-01-19 22:18:25.000000000 +0100
-@@ -8,8 +8,8 @@
- # major -> breaks backward compatibility (changes to existing ABI)
- # minor -> keeps compatibility (additions to the API)
- # micro -> no change to the API/ABI
--libgksu2_la_LIBADD = ../libgksuui/libgksuui1.0.la
--libgksu2_la_LDFLAGS = -version-info 0:2:0 -Wl,-O1 -lutil ${LIBGKSU_LIBS}
-+libgksu2_la_LIBADD = ../libgksuui/libgksuui1.0.la -lutil ${LIBGKSU_LIBS}
-+libgksu2_la_LDFLAGS = -version-info 0:2:0 -Wl,-O1
- if USE_VERSION_SCRIPT
- libgksu2_la_LDFLAGS += -Wl,--version-script=libgksu.ver
- endif
-@@ -24,12 +24,11 @@
- 
- pkglibdir = ${libdir}/${PACKAGE}
- pkglib_PROGRAMS = gksu-run-helper
--gksu_run_helper_LDFLAGS = `pkg-config --libs glib-2.0`
-+gksu_run_helper_LDADD = ${GLIB_LIBS} 
- gksu_run_helper_SOURCES = gksu-run-helper.c
- 
- noinst_PROGRAMS = test-gksu
- test_gksu_SOURCES = test-gksu.c
--test_gksu_LDADD = libgksu2.la
--test_gksu_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
-+test_gksu_LDADD = libgksu2.la ${GLIB_LIBS}
- 
- EXTRA_DIST = libgksu.ver
-diff -Nura a/libgksuui/Makefile.am b/libgksuui/Makefile.am
---- a/libgksuui/Makefile.am	2009-01-19 22:15:59.000000000 +0100
-+++ b/libgksuui/Makefile.am	2009-01-19 22:18:54.000000000 +0100
-@@ -4,12 +4,13 @@
- 
- noinst_LTLIBRARIES = libgksuui1.0.la
- libgksuui1_0_la_SOURCES = gksuui-dialog.c
--libgksuui1_0_la_LDFLAGS = -Wl,-O1 `pkg-config --libs gtk+-2.0 gconf-2.0`
-+libgksuui1_0_la_LDFLAGS = -Wl,-O1
-+libgksuui1_0_la_LIBADD = ${GTK_LIBS}
- 
- noinst_HEADERS = defines.h gksuui.h gksuui-dialog.h
- includedir = ${prefix}/include/$(PACKAGE)
- 
- noinst_PROGRAMS = test-gksuui
- test_gksuui_SOURCES = test-gksuui.c
--test_gksuui_LDADD = libgksuui1.0.la
--test_gksuui_LDFLAGS = `pkg-config --libs glib-2.0 gthread-2.0`
-+test_gksuui_LDADD = libgksuui1.0.la ${GLIB_LIBS}
-+
diff --git a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch b/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch
deleted file mode 100644
index e423af16b44c..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgksu/libgksu-2.0.7-polinguas.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-# https://savannah.nongnu.org/bugs/?25360
-diff -Nura a/configure.ac b/configure.ac
---- a/configure.ac	2009-01-19 21:50:57.000000000 +0100
-+++ b/configure.ac	2009-01-19 21:53:21.000000000 +0100
-@@ -50,7 +50,7 @@
- GETTEXT_PACKAGE=AC_PACKAGE_NAME
- AC_SUBST(GETTEXT_PACKAGE)
- 
--IT_PROG_INTLTOOL
-+IT_PROG_INTLTOOL([0.35.5])
- AM_GLIB_GNU_GETTEXT
- 
- ##################################################
-diff -Nura a/po/LINGUAS b/po/LINGUAS
---- a/po/LINGUAS	1970-01-01 01:00:00.000000000 +0100
-+++ b/po/LINGUAS	2009-01-19 21:54:24.000000000 +0100
-@@ -0,0 +1,23 @@
-+# please keep this list sorted alphabetically
-+# http://live.gnome.org/GnomeGoals/PoLinguas
-+#
-+ca
-+cs
-+da
-+de
-+es
-+eu
-+fr
-+hu
-+it
-+ko
-+lt
-+pl
-+pt_BR
-+ro
-+ru
-+sk
-+sv
-+nb
-+nl
-+zh_CN
diff --git a/nixpkgs/pkgs/development/libraries/libglvnd/default.nix b/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
index b4d8657359f1..769140ff54a3 100644
--- a/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libglvnd/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libglvnd";
-  version = "1.3.4";
+  version = "1.4.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "glvnd";
     repo = "libglvnd";
     rev = "v${version}";
-    sha256 = "0phvgg2h3pcz3x39gaymwb37bnw1s26clq9wsj0zx398zmp3dwpk";
+    sha256 = "06y7m486kgg566krbhb0gvmpzy6ayd98psnrmmkrnw8p513lg8k3";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config python3 addOpenGLRunpath ];
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
     '';
     inherit (src.meta) homepage;
     # https://gitlab.freedesktop.org/glvnd/libglvnd#libglvnd:
+    changelog = "https://gitlab.freedesktop.org/glvnd/libglvnd/-/tags/v${version}";
     license = with licenses; [ mit bsd1 bsd3 gpl3Only asl20 ];
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ primeos ];
diff --git a/nixpkgs/pkgs/development/libraries/libgphoto2/default.nix b/nixpkgs/pkgs/development/libraries/libgphoto2/default.nix
index 63015fdf6cb3..6da4c9a53a5b 100644
--- a/nixpkgs/pkgs/development/libraries/libgphoto2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libgpod/default.nix b/nixpkgs/pkgs/development/libraries/libgpod/default.nix
index 49dcec3ee781..e56e512931a0 100644
--- a/nixpkgs/pkgs/development/libraries/libgpod/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgpod/default.nix
@@ -6,10 +6,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "libgpod-0.8.3";
+  pname = "libgpod";
+  version = "0.8.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
+    url = "mirror://sourceforge/gtkpod/libgpod-${version}.tar.bz2";
     sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libgroove/default.nix b/nixpkgs/pkgs/development/libraries/libgroove/default.nix
deleted file mode 100644
index f14524df0dc5..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgroove/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ffmpeg_3, SDL2, chromaprint, libebur128 }:
-
-stdenv.mkDerivation rec {
-  version = "4.3.0";
-  pname = "libgroove";
-
-  src = fetchFromGitHub {
-    owner = "andrewrk";
-    repo = "libgroove";
-    rev = version;
-    sha256 = "1la9d9kig50mc74bxvhx6hzqv0nrci9aqdm4k2j4q0s1nlfgxipd";
-  };
-
-  patches = [
-    ./no-warnings-as-errors.patch
-    (fetchpatch {
-      name = "update-for-ffmpeg-3.0.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-update-for-ffmpeg-3.0.patch?h=libgroove&id=a9f3bd2a5afd3227733414a5d54c7a2aa0a1249e";
-      sha256 = "0800drk9df1kwbv80f2ffv77xk888249fk0d961rp2a305hvyrk0";
-    })
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ ffmpeg_3 SDL2 chromaprint libebur128 ];
-
-  meta = with lib; {
-    description = "Streaming audio processing library";
-    homepage = "https://github.com/andrewrk/libgroove";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ andrewrk ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch b/nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch
deleted file mode 100644
index 86a8a935769c..000000000000
--- a/nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a1e8541..6bc9c30 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -135,8 +135,8 @@ configure_file (
-   "${PROJECT_BINARY_DIR}/config.h"
-   )
- 
--set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
--set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -g")
-+set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
-+set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -g")
- set(EXAMPLE_INCLUDES "${PROJECT_SOURCE_DIR}")
- 
- add_library(groove SHARED ${LIBGROOVE_SOURCES} ${LIBGROOVE_HEADERS})
diff --git a/nixpkgs/pkgs/development/libraries/libgsf/default.nix b/nixpkgs/pkgs/development/libraries/libgsf/default.nix
index 1ccc5d778967..1850da7e6468 100644
--- a/nixpkgs/pkgs/development/libraries/libgsf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgsf/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgsf";
-  version = "1.14.47";
+  version = "1.14.48";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i";
+    sha256 = "/4bX8dRt0Ovvt72DCnSkHbZDYrmHv4hT//arTBEyuDc=";
   };
 
   nativeBuildInputs = [ pkg-config intltool libintl ];
diff --git a/nixpkgs/pkgs/development/libraries/libgtop/default.nix b/nixpkgs/pkgs/development/libraries/libgtop/default.nix
index 98b0dc89fee8..517655080988 100644
--- a/nixpkgs/pkgs/development/libraries/libgtop/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgtop/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   pname = "libgtop";
   version = "2.40.0";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq";
diff --git a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix b/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
index 1ad302e439f8..49e76a94b001 100644
--- a/nixpkgs/pkgs/development/libraries/libguestfs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libhandy/default.nix b/nixpkgs/pkgs/development/libraries/libhandy/default.nix
index 0744ae30f344..63c494999a93 100644
--- a/nixpkgs/pkgs/development/libraries/libhandy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libhandy/default.nix
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
         # HdySettings needs to be initialized from “org.gnome.desktop.interface” GSettings schema when portal is not used for color scheme.
         # It will not actually be used since the “color-scheme” key will only have been introduced in GNOME 42, falling back to detecting theme name.
         # See hdy_settings_constructed function in https://gitlab.gnome.org/GNOME/libhandy/-/commit/bb68249b005c445947bfb2bee66c91d0fe9c41a4
-        "${glib.getSchemaPath gsettings-desktop-schemas}/../.."
+        (glib.getSchemaDataDirPath gsettings-desktop-schemas)
 
         # Some tests require icons
         "${hicolor-icon-theme}/share"
diff --git a/nixpkgs/pkgs/development/libraries/libhttpseverywhere/default.nix b/nixpkgs/pkgs/development/libraries/libhttpseverywhere/default.nix
index 975ad2258131..80bc73e9a043 100644
--- a/nixpkgs/pkgs/development/libraries/libhttpseverywhere/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libhttpseverywhere/default.nix
@@ -15,12 +15,17 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ vala gobject-introspection meson ninja pkg-config ];
   buildInputs = [ glib libgee json-glib libsoup libarchive ];
 
-  # Fixes build with vala >=0.42
   patches = [
+    # Fixes build with vala >=0.42
     (fetchpatch {
       url = "https://gitlab.gnome.org/GNOME/libhttpseverywhere/commit/6da08ef1ade9ea267cecf14dd5cb2c3e6e5e50cb.patch";
       sha256 = "1nwjlh8iqgjayccwdh0fbpq2g1h8bg1k1g9i324f2bhhvyhmpq8f";
     })
+    # fix build with meson 0.60
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libhttpseverywhere/-/commit/4c38b2ca25802c464f3204a62815201d8cf549fd.patch";
+      sha256 = "sha256-1+fmR0bpvJ9ISN2Hr+BTIQz+Bf6VfY1RdVZ/OohUlWU=";
+    })
   ];
 
   mesonFlags = [ "-Denable_valadoc=true" ];
diff --git a/nixpkgs/pkgs/development/libraries/libhwy/default.nix b/nixpkgs/pkgs/development/libraries/libhwy/default.nix
new file mode 100644
index 000000000000..7656e063822d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libhwy/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, cmake, ninja, gtest, fetchpatch, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "libhwy";
+  version = "0.15.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "highway";
+    rev = version;
+    sha256 = "sha256-v2HyyHtBydr7QiI83DW1yRv2kWjUOGxFT6mmdrN9XPo=";
+  };
+
+  patches = [
+    # Remove on next release
+    # https://github.com/google/highway/issues/460
+    (fetchpatch {
+      name = "hwy-add-missing-includes.patch";
+      url = "https://github.com/google/highway/commit/8ccab40c2f931aca6004d175eec342cc60f6baec.patch";
+      sha256 = "sha256-wlp5gIvK2+OlKtsZwxq/pXTbESkUtimHXaYDjcBzmQ0=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ninja ];
+
+  checkInputs = [ gtest ];
+
+  # Required for case-insensitive filesystems ("BUILD" exists)
+  dontUseCmakeBuildDir = true;
+
+  cmakeFlags = [
+    "-GNinja"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optional doCheck "-DHWY_SYSTEM_GTEST:BOOL=ON";
+
+  # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
+  doCheck = !stdenv.hostPlatform.isDarwin;
+
+  meta = with lib; {
+    description = "Performance-portable, length-agnostic SIMD with runtime dispatch";
+    homepage = "https://github.com/google/highway";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libical/default.nix b/nixpkgs/pkgs/development/libraries/libical/default.nix
index 909ee73e69a6..f4a1959a512c 100644
--- a/nixpkgs/pkgs/development/libraries/libical/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libimagequant/default.nix b/nixpkgs/pkgs/development/libraries/libimagequant/default.nix
index 348f610bf183..5f4d50075895 100644
--- a/nixpkgs/pkgs/development/libraries/libimagequant/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libimagequant/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libimagequant";
-  version = "2.15.1";
+  version = "2.17.0";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ElMwLeUdrJeJJ9YoieCF/CUNcNMwj5WcjXmMW/nMyAw=";
+    sha256 = "sha256-ZoBCZsoUO66X4sDbMO89g4IX5+jqGMLGR7aC2UwD2tE=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/libime/default.nix b/nixpkgs/pkgs/development/libraries/libime/default.nix
index b8efaf8017d2..7584e29b6914 100644
--- a/nixpkgs/pkgs/development/libraries/libime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libime/default.nix
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libime";
-  version = "1.0.10";
+  version = "1.0.11";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "libime";
     rev = version;
-    sha256 = "sha256-dHlya2vC3ugslP0K2oIHadcZQTmzt+tzNMkLy8V5M1Q=";
+    sha256 = "sha256-0yo0D9Yxn7tx1HtEaQvWCDwpWxnRVa1rIGK/mC4G8CI=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libindicator/default.nix b/nixpkgs/pkgs/development/libraries/libindicator/default.nix
index 139672f6d805..d06657b0081d 100644
--- a/nixpkgs/pkgs/development/libraries/libindicator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libinput/default.nix b/nixpkgs/pkgs/development/libraries/libinput/default.nix
index 54843486e137..89bdc15ff62c 100644
--- a/nixpkgs/pkgs/development/libraries/libinput/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libite/default.nix b/nixpkgs/pkgs/development/libraries/libite/default.nix
index 3c1d1e890207..067eba793f7f 100644
--- a/nixpkgs/pkgs/development/libraries/libite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libite";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "libite";
     rev = "v${version}";
-    sha256 = "sha256-EV1YVOxd92z2hBZIqe6jzYV06YfNTAbZntZQdH05lBI=";
+    sha256 = "sha256-G9X0ZMyasS9praogWnLDU1LeTvK4fYPgJ89o2y3AIJI=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libjcat/default.nix b/nixpkgs/pkgs/development/libraries/libjcat/default.nix
index f027fbe3cb8b..f40898d11815 100644
--- a/nixpkgs/pkgs/development/libraries/libjcat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
index 3d7df2bba9cb..92aaf6201b93 100644
--- a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -16,13 +16,13 @@ assert !(enableJpeg7 && enableJpeg8);  # pick only one or none, not both
 stdenv.mkDerivation rec {
 
   pname = "libjpeg-turbo";
-  version = "2.1.0";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "libjpeg-turbo";
     repo = "libjpeg-turbo";
     rev = version;
-    sha256 = "sha256-Ma3Q/zMJPjsQmoaYJtVbHJOx65AfGLWJYi2iRFm3l5s=";
+    sha256 = "sha256-mlHueKAU/uNUdV9s4jWKAE+XVJdpEFhw2hxGvqRwAGc=";
   };
 
   # This is needed by freeimage
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg/default.nix
index 028bf5cac337..6a6009c98e96 100644
--- a/nixpkgs/pkgs/development/libraries/libjpeg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libjxl/default.nix b/nixpkgs/pkgs/development/libraries/libjxl/default.nix
index b406654caba1..081ddaf4988a 100644
--- a/nixpkgs/pkgs/development/libraries/libjxl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libjxl/default.nix
@@ -1,4 +1,5 @@
 { stdenv, lib, fetchFromGitHub
+, fetchpatch
 , asciidoc
 , brotli
 , cmake
@@ -7,6 +8,7 @@
 , giflib
 , gperftools
 , gtest
+, libhwy
 , libjpeg
 , libpng
 , libwebp
@@ -18,23 +20,34 @@
 
 stdenv.mkDerivation rec {
   pname = "libjxl";
-  version = "0.5";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "libjxl";
     repo = "libjxl";
     rev = "v${version}";
-    sha256 = "0grljgmy6cfhm8zni9d1mdn01qzc49k1pl75vhr7qcd3sp4r8lxm";
+    sha256 = "sha256-fTK5hyU9PZ6nigMsfzVugwviihgAXfEcLF+l+n5h+54=";
     # There are various submodules in `third_party/`.
     fetchSubmodules = true;
   };
 
-  # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
-  # unless we disable highway's tests
-  postPatch = lib.optional stdenv.isDarwin ''
-    substituteInPlace third_party/highway/CMakeLists.txt \
-      --replace 'if(BUILD_TESTING)' 'if(false)'
-  '';
+  patches = [
+    # present in master, remove after 0.7?
+    (fetchpatch {
+      name = "fix-link-lld-macho.patch";
+      url = "https://github.com/libjxl/libjxl/commit/88fe3fff3dc70c72405f57c69feffd9823930034.patch";
+      sha256 = "1419fyiq4srpj72cynwyvqy8ldi7vn9asvkp5fsbmiqkyhb15jpk";
+    })
+
+    # "robust statistics" have been removed in upstream mainline as they are
+    # conidered to cause "interoperability problems". sure enough the tests
+    # fail with precision issues on aarch64.
+    (fetchpatch {
+      name = "remove-robust-and-descriptive-statistics.patch";
+      url = "https://github.com/libjxl/libjxl/commit/204f87a5e4d684544b13900109abf040dc0b402b.patch";
+      sha256 = "sha256-DoAaYWLmQ+R9GZbHMTYGe0gBL9ZesgtB+2WhmbARna8=";
+    })
+  ];
 
   nativeBuildInputs = [
     asciidoc # for docs
@@ -66,6 +79,7 @@ stdenv.mkDerivation rec {
     brotli
     giflib
     gperftools # provides `libtcmalloc`
+    libhwy
     libjpeg
     libpng
     libwebp
@@ -81,6 +95,9 @@ stdenv.mkDerivation rec {
     # using the vendorered ones is easier.
     "-DJPEGXL_FORCE_SYSTEM_BROTLI=ON"
 
+    # Use our version of highway, though it is still statically linked in
+    "-DJPEGXL_FORCE_SYSTEM_HWY=ON"
+
     # TODO: Update this package to enable this (overridably via an option):
     # Viewer tools for evaluation.
     # "-DJPEGXL_ENABLE_VIEWERS=ON"
@@ -92,13 +109,17 @@ stdenv.mkDerivation rec {
     # "-DJPEGXL_ENABLE_PLUGINS=ON"
   ];
 
+  LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic";
+
   doCheck = true;
 
   # The test driver runs a test `LibraryCLinkageTest` which without
   # LD_LIBRARY_PATH setting errors with:
   #     /build/source/build/tools/tests/libjxl_test: error while loading shared libraries: libjxl.so.0
   # The required file is in the build directory (`$PWD`).
-  preCheck = ''
+  preCheck = if stdenv.isDarwin then ''
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD
+  '' else ''
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
   '';
 
@@ -108,6 +129,5 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ nh2 ];
     platforms = platforms.all;
-    broken = stdenv.hostPlatform.isAarch64; # `internal compiler error`, see https://github.com/NixOS/nixpkgs/pull/103160#issuecomment-866388610
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libksba/default.nix b/nixpkgs/pkgs/development/libraries/libksba/default.nix
index 63c0ed63bae4..e6fb5162b7a6 100644
--- a/nixpkgs/pkgs/development/libraries/libksba/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libksba/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libksba";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/libksba-${version}.tar.bz2";
-    sha256 = "sha256-sPTGXk5EfZojSfa4wOd6KL6VMeRUi6AsVF0fRtx7+SE=";
+    sha256 = "sha256-2taD5vLZFdiAqkvtXOqaEVaQuJNbeKG74BZpGJMHpIs=";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/nixpkgs/pkgs/development/libraries/libliftoff/default.nix b/nixpkgs/pkgs/development/libraries/libliftoff/default.nix
index 759549dbb289..88588a9fee75 100644
--- a/nixpkgs/pkgs/development/libraries/libliftoff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/liblogging/default.nix b/nixpkgs/pkgs/development/libraries/liblogging/default.nix
index 4a28bf677412..df27688e1052 100644
--- a/nixpkgs/pkgs/development/libraries/liblogging/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblogging/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "liblogging-1.0.6";
+  pname = "liblogging";
+  version = "1.0.6";
 
   src = fetchurl {
-    url = "http://download.rsyslog.com/liblogging/${name}.tar.gz";
+    url = "http://download.rsyslog.com/liblogging/liblogging-${version}.tar.gz";
     sha256 = "14xz00mq07qmcgprlj5b2r21ljgpa4sbwmpr6jm2wrf8wms6331k";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/liblognorm/default.nix b/nixpkgs/pkgs/development/libraries/liblognorm/default.nix
index 293f72d67b2b..af4190f96833 100644
--- a/nixpkgs/pkgs/development/libraries/liblognorm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liblognorm/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libestr, json_c, pcre, fastJson }:
 
 stdenv.mkDerivation rec {
-  name = "liblognorm-2.0.6";
+  pname = "liblognorm";
+  version = "2.0.6";
 
   src = fetchurl {
-    url = "http://www.liblognorm.com/files/download/${name}.tar.gz";
+    url = "http://www.liblognorm.com/files/download/liblognorm-${version}.tar.gz";
     sha256 = "1wpn15c617r7lfm1z9d5aggmmi339s6yn4pdz698j0r2bkl5gw6g";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libmbim/default.nix b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
index 83950e982583..5a57dfb578de 100644
--- a/nixpkgs/pkgs/development/libraries/libmbim/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.26.0";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "1kqkx139z62w391bz6lwmcjg7v12jxlcm7hj88222xrcn8k0j7qy";
+    sha256 = "sha256-EMd79bXrjJK6gOm1GZI62biYNivI4ZKOK8mhfuumSa8=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/libmd/default.nix b/nixpkgs/pkgs/development/libraries/libmd/default.nix
index 7093376aa7e5..a429cb219d58 100644
--- a/nixpkgs/pkgs/development/libraries/libmd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmd";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0jmga8y94h857ilra3qjaiax3wd5pd6mx1h120zhl9fcjmzhj0js";
+    sha256 = "sha256-9RySEELjS+3e3tS3VVdlZVnPWx8kSAM7TB7sEcB+Uw8=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/libmikmod/default.nix b/nixpkgs/pkgs/development/libraries/libmikmod/default.nix
index 02ccf0c66fb5..c7a00e7372dd 100644
--- a/nixpkgs/pkgs/development/libraries/libmikmod/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmikmod/default.nix
@@ -4,9 +4,11 @@ let
   inherit (lib) optional optionalString;
 
 in stdenv.mkDerivation rec {
-  name = "libmikmod-3.3.11.1";
+  pname = "libmikmod";
+  version = "3.3.11.1";
+
   src = fetchurl {
-    url = "mirror://sourceforge/mikmod/${name}.tar.gz";
+    url = "mirror://sourceforge/mikmod/libmikmod-${version}.tar.gz";
     sha256 = "06bdnhb0l81srdzg6gn2v2ydhhaazza7rshrcj3q8dpqr3gn97dd";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libmms/default.nix b/nixpkgs/pkgs/development/libraries/libmms/default.nix
index 83add1d42a5d..0d099e77b6e3 100644
--- a/nixpkgs/pkgs/development/libraries/libmms/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmms/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, glib, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "libmms-0.6.4";
+  pname = "libmms";
+  version = "0.6.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libmms/${name}.tar.gz";
+    url = "mirror://sourceforge/libmms/libmms-${version}.tar.gz";
     sha256 = "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libmodbus/default.nix b/nixpkgs/pkgs/development/libraries/libmodbus/default.nix
index b311c4f04181..d5a5647837dd 100644
--- a/nixpkgs/pkgs/development/libraries/libmodbus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmodbus/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmodbus-3.1.6";
+  pname = "libmodbus";
+  version = "3.1.7";
 
   src = fetchurl {
-    url = "http://libmodbus.org/releases/${name}.tar.gz";
-    sha256 = "05kwz0n5gn9m33cflzv87lz3zp502yp8fpfzbx70knvfl6agmnfp";
+    url = "http://libmodbus.org/releases/libmodbus-${version}.tar.gz";
+    sha256 = "sha256-ff6VhDHQVwsnHhpbMpt2pljonGFM8RnrWq23Jch/j70=";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/libmodulemd/default.nix b/nixpkgs/pkgs/development/libraries/libmodulemd/default.nix
index 79f590af5ffd..8f59975a5967 100644
--- a/nixpkgs/pkgs/development/libraries/libmodulemd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmodulemd/default.nix
@@ -56,7 +56,6 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Ddeveloper_build=false"
     "-Dgobject_overrides_dir_py3=${placeholder "py"}/${python3.sitePackages}/gi/overrides"
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index 40d814814caa..5303dbed6ca8 100644
--- a/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysqlconnectorcpp";
-  version = "8.0.23";
+  version = "8.0.28";
 
   src = fetchurl {
     url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
-    sha256 = "sha256-mvBklaaggP7WLacJePHLDGbwWO3V6p7ak0WmS/jsaI8=";
+    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/nixpkgs/pkgs/development/libraries/libnatpmp/default.nix b/nixpkgs/pkgs/development/libraries/libnatpmp/default.nix
index 36c1c0dc098c..9672d1cceca7 100644
--- a/nixpkgs/pkgs/development/libraries/libnatpmp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnatpmp/default.nix
@@ -10,13 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1";
   };
 
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "gcc" "${stdenv.cc.targetPrefix}cc" \
-      --replace "ar" "${stdenv.cc.targetPrefix}ar"
-  '';
-
-  makeFlags = [ "INSTALLPREFIX=$(out)" ];
+  makeFlags = [
+    "INSTALLPREFIX=$(out)"
+    "CC:=$(CC)"
+  ];
 
   postFixup = ''
     chmod +x $out/lib/*
diff --git a/nixpkgs/pkgs/development/libraries/libnats-c/default.nix b/nixpkgs/pkgs/development/libraries/libnats-c/default.nix
index 3d1e2b7ac4a3..7913515df66c 100644
--- a/nixpkgs/pkgs/development/libraries/libnats-c/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libndp/default.nix b/nixpkgs/pkgs/development/libraries/libndp/default.nix
index 42f6ecc64892..6109c48b036e 100644
--- a/nixpkgs/pkgs/development/libraries/libndp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libndp/default.nix
@@ -1,13 +1,16 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libndp-1.8";
+  pname = "libndp";
+  version = "1.8";
 
   src = fetchurl {
-    url = "http://libndp.org/files/${name}.tar.gz";
+    url = "http://libndp.org/files/libndp-${version}.tar.gz";
     sha256 = "sha256-iP+2buLrUn8Ub1wC9cy8OLqX0rDVfrRr+6SIghqwwCs=";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = with lib; {
     homepage = "http://libndp.org/";
     description = "Library for Neighbor Discovery Protocol";
diff --git a/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix b/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix
index a070d2e3af2e..b22722d3439e 100644
--- a/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnfnetlink/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libnfnetlink-1.0.1";
+  pname = "libnfnetlink";
+  version = "1.0.1";
 
   src = fetchurl {
-    url = "https://www.netfilter.org/projects/libnfnetlink/files/${name}.tar.bz2";
+    url = "https://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-${version}.tar.bz2";
     sha256 = "06mm2x4b01k3m7wnrxblk9j0mybyr4pfz28ml7944xhjx6fy2w7j";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libnice/default.nix b/nixpkgs/pkgs/development/libraries/libnice/default.nix
index 87f2d7327125..42fb795d38ed 100644
--- a/nixpkgs/pkgs/development/libraries/libnice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnice/default.nix
@@ -13,6 +13,7 @@
 , gupnp-igd
 , gst_all_1
 , gnutls
+, graphviz
 }:
 
 stdenv.mkDerivation rec {
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
     gtk-doc
     docbook_xsl
     docbook_xml_dtd_412
+    graphviz
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libnxml/default.nix b/nixpkgs/pkgs/development/libraries/libnxml/default.nix
index 846170011437..6a0c52c9e99a 100644
--- a/nixpkgs/pkgs/development/libraries/libnxml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnxml/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, curl}:
 
-stdenv.mkDerivation {
-  name = "libnxml-0.18.3";
+stdenv.mkDerivation rec {
+  pname = "libnxml";
+  version = "0.18.3";
 
   src = fetchurl {
-    url = "https://www.autistici.org/bakunin/libnxml/libnxml-0.18.3.tar.gz";
+    url = "https://www.autistici.org/bakunin/libnxml/libnxml-${version}.tar.gz";
     sha256 = "0ix5b9bxd7r517vhgcxwdviq4m0g0pq46s5g3h04gcqnpbin150g";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/liboil/default.nix b/nixpkgs/pkgs/development/libraries/liboil/default.nix
index 8d9299758159..62fa4f10aa41 100644
--- a/nixpkgs/pkgs/development/libraries/liboil/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liboil/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "liboil-0.3.17";
+  pname = "liboil";
+  version = "0.3.17";
 
   src = fetchurl {
-    url = "${meta.homepage}/download/${name}.tar.gz";
+    url = "${meta.homepage}/download/liboil-${version}.tar.gz";
     sha256 = "0sgwic99hxlb1av8cm0albzh8myb7r3lpcwxfm606l0bkc3h4pqh";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/liboop/default.nix b/nixpkgs/pkgs/development/libraries/liboop/default.nix
index 5d849ebe1caf..7a5d38db0d36 100644
--- a/nixpkgs/pkgs/development/libraries/liboop/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liboop/default.nix
@@ -1,7 +1,8 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "liboop-1.0";
+  pname = "liboop";
+  version = "1.0";
 
   src = fetchurl {
     url = "http://download.ofb.net/liboop/liboop.tar.gz";
diff --git a/nixpkgs/pkgs/development/libraries/libosmium/default.nix b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
index 917a64f40e94..01cdc96e39cd 100644
--- a/nixpkgs/pkgs/development/libraries/libosmium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmium";
-  version = "2.17.2";
+  version = "2.18.0";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "libosmium";
     rev = "v${version}";
-    sha256 = "sha256-+WeEK7rWoUPAiAsgd5qT2bwDf+5IlP4uuyh7+i2L/HU=";
+    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/nixpkgs/pkgs/development/libraries/libotr/default.nix b/nixpkgs/pkgs/development/libraries/libotr/default.nix
index 7c2a2b9a6b9a..53699ab7eacd 100644
--- a/nixpkgs/pkgs/development/libraries/libotr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libotr/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libgcrypt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libotr-4.1.1";
+  pname = "libotr";
+  version = "4.1.1";
 
   src = fetchurl {
-    url = "https://otr.cypherpunks.ca/${name}.tar.gz";
+    url = "https://otr.cypherpunks.ca/libotr-${version}.tar.gz";
     sha256 = "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libpinyin/default.nix b/nixpkgs/pkgs/development/libraries/libpinyin/default.nix
index 2d802cf28d76..4f6b2ed00506 100644
--- a/nixpkgs/pkgs/development/libraries/libpinyin/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpinyin/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub
+{ lib
+, stdenv
+, fetchurl
+, fetchFromGitHub
 , autoreconfHook
 , glib
 , db
@@ -7,32 +10,37 @@
 
 let
   modelData = fetchurl {
-    url    = "mirror://sourceforge/libpinyin/models/model17.text.tar.gz";
-    sha256 = "1kb2nswpsqlk2qm5jr7vqcp97f2dx7nvpk24lxjs1g12n252f5z0";
+    url = "mirror://sourceforge/libpinyin/models/model19.text.tar.gz";
+    sha256 = "02zml6m8sj5q97ibpvaj9s9yz3gfj0jnjrfhkn02qv4nwm72lhjn";
   };
 in
 stdenv.mkDerivation rec {
   pname = "libpinyin";
-  version = "2.3.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
-    owner  = "libpinyin";
-    repo   = "libpinyin";
-    rev    = version;
-    sha256 = "14fkpp16s5k0pbw5wwd24pqr0qbdjgbl90n9aqwx72m03n7an40l";
+    owner = "libpinyin";
+    repo = "libpinyin";
+    rev = version;
+    sha256 = "0izisma5g9a7mxfxs177pi1d7v9dklm0ar4z404nf2s8x4wcg3ib";
   };
 
   postUnpack = ''
     tar -xzf ${modelData} -C $sourceRoot/data
   '';
 
-  nativeBuildInputs = [ autoreconfHook glib db pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    glib
+    db
+    pkg-config
+  ];
 
   meta = with lib; {
     description = "Library for intelligent sentence-based Chinese pinyin input method";
-    homepage    = "https://sourceforge.net/projects/libpinyin";
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ ericsagnes ];
-    platforms   = platforms.linux;
+    homepage = "https://sourceforge.net/projects/libpinyin";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ linsui ericsagnes ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libpipeline/default.nix b/nixpkgs/pkgs/development/libraries/libpipeline/default.nix
index b5310c3cb8ca..9e2c83427762 100644
--- a/nixpkgs/pkgs/development/libraries/libpipeline/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpipeline/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libpipeline-1.5.3";
+  pname = "libpipeline";
+  version = "1.5.4";
 
   src = fetchurl {
-    url = "mirror://savannah/libpipeline/${name}.tar.gz";
-    sha256 = "1c5dl017xil2ssb6a5vg927bnsbc9vymfgi9ahvqbb8gypx0igsx";
+    url = "mirror://savannah/libpipeline/libpipeline-${version}.tar.gz";
+    sha256 = "sha256-23hb3boKN+8UtO+Cri0YuIJOaYPfuZEDGTheKN8/Gpw=";
   };
 
   patches = lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ];
diff --git a/nixpkgs/pkgs/development/libraries/libplacebo/default.nix b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
index 5ce953be0701..94492132b9bf 100644
--- a/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
@@ -12,18 +12,19 @@
 , libepoxy
 , libGL
 , xorg
+, libunwind
 }:
 
 stdenv.mkDerivation rec {
   pname = "libplacebo";
-  version = "4.157.0";
+  version = "4.192.1";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08kqsd29h8wm0vz7698wh2mdgpwv6anqc5n7d1spnnamwyfwc64h";
+    sha256 = "13z2f0vwf9fgfzqgkqzvqwa8c8nkymrg5hv7xslfx53dacjfidhy";
   };
 
   nativeBuildInputs = [
@@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
     libepoxy
     libGL
     xorg.libX11
+    libunwind
   ];
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/libplctag/default.nix b/nixpkgs/pkgs/development/libraries/libplctag/default.nix
index 334fc61fc3d6..2af3b3f3bcf7 100644
--- a/nixpkgs/pkgs/development/libraries/libplctag/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libplctag/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libplctag";
-  version = "2.4.8";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "libplctag";
     repo = "libplctag";
     rev = "v${version}";
-    sha256 = "sha256-GVYG+ioqGo0k6ClrJu2mijtuBBFc9l6dNexNDNyh5+8=";
+    sha256 = "sha256-Xzdljx08aXwD6pE1f/3YBAjvrSzvs2fcXmmLH04GFyg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/libpng/12.nix b/nixpkgs/pkgs/development/libraries/libpng/12.nix
index bf3d5168d6c6..a76a1ada6c87 100644
--- a/nixpkgs/pkgs/development/libraries/libpng/12.nix
+++ b/nixpkgs/pkgs/development/libraries/libpng/12.nix
@@ -3,10 +3,11 @@
 assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.59";
+  pname = "libpng";
+  version = "1.2.59";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libpng/${name}.tar.xz";
+    url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
     sha256 = "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libportal/default.nix b/nixpkgs/pkgs/development/libraries/libportal/default.nix
index 97c5303eabe7..b261c0395e6d 100644
--- a/nixpkgs/pkgs/development/libraries/libportal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libportal/default.nix
@@ -4,42 +4,66 @@
 , meson
 , ninja
 , pkg-config
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_45
+, gobject-introspection
+, vala
+, gi-docgen
 , glib
+, gtk3
+, gtk4
+, libsForQt5
+, variant ? null
 }:
 
+assert variant == null || variant == "gtk3" || variant == "gtk4" || variant == "qt5";
+
 stdenv.mkDerivation rec {
-  pname = "libportal";
-  version = "0.4";
+  pname = "libportal" + lib.optionalString (variant != null) "-${variant}";
+  version = "0.5";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchFromGitHub {
     owner = "flatpak";
-    repo = pname;
+    repo = "libportal";
     rev = version;
-    sha256 = "fuYZWGkdazq6H0rThqpF6KIcvwgc17o+CiISb1LjBso=";
+    sha256 = "oPPO2f6NNeok0SGh4jELkkOP6VUxXZiwPM/n6CUHm0Q=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    gtk-doc
-    docbook-xsl-nons
-    docbook_xml_dtd_45
+    gi-docgen
+  ] ++ lib.optionals (variant != "qt5") [
+    gobject-introspection
+    vala
   ];
 
   propagatedBuildInputs = [
     glib
+  ] ++ lib.optionals (variant == "gtk3") [
+    gtk3
+  ] ++ lib.optionals (variant == "gtk4") [
+    gtk4
+  ] ++ lib.optionals (variant == "qt5") [
+    libsForQt5.qtbase
+  ];
+
+  mesonFlags = [
+    "-Dbackends=${lib.optionalString (variant != null) variant}"
+    "-Dvapi=${if variant != "qt5" then "true" else "false"}"
+    "-Dintrospection=${if variant != "qt5" then "true" else "false"}"
   ];
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   meta = with lib; {
     description = "Flatpak portal library";
     homepage = "https://github.com/flatpak/libportal";
-    license = licenses.lgpl2Plus;
+    license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
index e95adbd62942..d7eba4c87396 100644
--- a/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "7.6.0";
+  version = "7.7.0";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "sha256-shcGJebjXJ3ORvcdINJFLiuW7ySqe6HyPUQioeUG/wM=";
+    sha256 = "sha256-O30czHwEDXz5xY4o3MWhmEK06OKTKMQCy0M6qwSEpy8=";
   };
 
   nativeBuildInputs = [ gnused python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/libproxy/default.nix b/nixpkgs/pkgs/development/libraries/libproxy/default.nix
index c5d6bc4612f3..f6bf1e81668d 100644
--- a/nixpkgs/pkgs/development/libraries/libproxy/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libproxy/default.nix
@@ -5,8 +5,8 @@
 , zlib
 , dbus
 , networkmanager
-, enableJavaScript ? stdenv.isDarwin || lib.meta.availableOn stdenv.hostPlatform spidermonkey_68
-, spidermonkey_68
+, enableJavaScript ? stdenv.isDarwin || lib.meta.availableOn stdenv.hostPlatform spidermonkey_78
+, spidermonkey_78
 , pcre
 , gsettings-desktop-schemas
 , glib
@@ -17,9 +17,7 @@
 , JavaScriptCore
 }:
 
-let
-  jsRuntime = if stdenv.hostPlatform.isDarwin then JavaScriptCore else spidermonkey_68;
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "libproxy";
   version = "0.4.17";
 
@@ -43,7 +41,7 @@ in stdenv.mkDerivation rec {
     python3
     zlib
   ] ++ lib.optionals enableJavaScript [
-    jsRuntime
+    (if stdenv.hostPlatform.isDarwin then JavaScriptCore else spidermonkey_78)
   ] ++ (if stdenv.hostPlatform.isDarwin then [
     SystemConfiguration
     CoreFoundation
diff --git a/nixpkgs/pkgs/development/libraries/libpseudo/default.nix b/nixpkgs/pkgs/development/libraries/libpseudo/default.nix
index f06381505739..58931a816188 100644
--- a/nixpkgs/pkgs/development/libraries/libpseudo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libpseudo/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, pkg-config, glib, ncurses}:
 stdenv.mkDerivation rec {
-  name = "libpseudo-1.2.0";
+  pname = "libpseudo";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libpseudo/${name}.tar.gz";
+    url = "mirror://sourceforge/libpseudo/libpseudo-${version}.tar.gz";
     sha256 = "0d3pw0m3frycr3x5kzqcaj4r2qh43iv6b0fpd6l4yk0aa4a9560n";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libptytty/default.nix b/nixpkgs/pkgs/development/libraries/libptytty/default.nix
new file mode 100644
index 000000000000..63f50de287c6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libptytty/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, lib
+, fetchurl
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libptytty";
+  version = "2.0";
+
+  src = fetchurl {
+    url = "http://dist.schmorp.de/libptytty/${pname}-${version}.tar.gz";
+    sha256 = "1xrikmrsdkxhdy9ggc0ci6kg5b1hn3bz44ag1mk5k1zjmlxfscw0";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "OS independent and secure pty/tty and utmp/wtmp/lastlog";
+    homepage = "http://dist.schmorp.de/libptytty";
+    maintainers = with maintainers; [ rnhmjoj ];
+    platforms = platforms.unix;
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
index 0f7757007005..bb70ffcd32a5 100644
--- a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/librdf/raptor.nix b/nixpkgs/pkgs/development/libraries/librdf/raptor.nix
index ef755b821550..1dde9402f902 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/raptor.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/raptor.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxml2, curl }:
 
 stdenv.mkDerivation rec {
-  name = "raptor-1.4.21";
+  pname = "raptor";
+  version = "1.4.21";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/raptor-${version}.tar.gz";
     sha256 = "db3172d6f3c432623ed87d7d609161973d2f7098e3d2233d0702fbcc22cfd8ca";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix b/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix
index 0dd5b87377f3..fd0f6d2ce6d1 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/rasqal.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, librdf_raptor2, gmp, pkg-config, pcre, libxml2, perl }:
 
 stdenv.mkDerivation rec {
-  name = "rasqal-0.9.33";
+  pname = "rasqal";
+  version = "0.9.33";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/rasqal-${version}.tar.gz";
     sha256 = "0z6rrwn4jsagvarg8d5zf0j352kjgi33py39jqd29gbhcnncj939";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/librdf/redland.nix b/nixpkgs/pkgs/development/libraries/librdf/redland.nix
index 5ac2c711104b..252a5037f77c 100644
--- a/nixpkgs/pkgs/development/libraries/librdf/redland.nix
+++ b/nixpkgs/pkgs/development/libraries/librdf/redland.nix
@@ -7,10 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "redland-1.0.17";
+  pname = "redland";
+  version = "1.0.17";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/redland-${version}.tar.gz";
     sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libre/default.nix b/nixpkgs/pkgs/development/libraries/libre/default.nix
index 7c91950a4c4e..36f1a288f1a5 100644
--- a/nixpkgs/pkgs/development/libraries/libre/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libre/default.nix
@@ -1,24 +1,22 @@
-{lib, stdenv, fetchurl, zlib, openssl}:
+{ lib, stdenv, fetchFromGitHub, zlib, openssl }:
 stdenv.mkDerivation rec {
-  version = "0.6.1";
+  version = "2.0.1";
   pname = "libre";
-  src = fetchurl {
-    url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
-    sha256 = "0hzyc0hdlw795nyx6ik7h2ihs8wapbj32x8c40xq0484ciwzqnyd";
+  src = fetchFromGitHub {
+    owner = "baresip";
+    repo = "re";
+    rev = "v${version}";
+    sha256 = "sha256-/1J9cs0W96CtnHAoX/jg3FLGD9coa0eOEgf8uMQHuUk=";
   };
   buildInputs = [ zlib openssl ];
   makeFlags = [ "USE_ZLIB=1" "USE_OPENSSL=1" "PREFIX=$(out)" ]
-  ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
-  ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
+    ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
+    ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
   ;
   meta = {
     description = "A library for real-time communications with async IO support and a complete SIP stack";
-    homepage = "http://www.creytiv.com/re.html";
-    platforms = with lib.platforms; linux;
-    maintainers = with lib.maintainers; [raskin];
+    homepage = "https://github.com/baresip/re";
+    maintainers = with lib.maintainers; [ elohmeier raskin ];
     license = lib.licenses.bsd3;
-    downloadPage = "http://www.creytiv.com/pub/";
-    updateWalker = true;
-    downloadURLRegexp = "/re-.*[.]tar[.].*";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libredwg/default.nix b/nixpkgs/pkgs/development/libraries/libredwg/default.nix
index e5123fa61af3..53aab4431088 100644
--- a/nixpkgs/pkgs/development/libraries/libredwg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libredwg/default.nix
@@ -6,13 +6,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libredwg";
-  version = "0.12";
+  version = "0.12.4";
 
   src = fetchFromGitHub {
     owner = "LibreDWG";
     repo = pname;
     rev = version;
-    sha256 = "0ayhp3ym30hzp5f6dz7mmp9hpxf6a48nx3kq5crcmzycm5fllbn7";
+    sha256 = "sha256-CZZ5/uCls2tY3PKmD+hBBvp7d7KX8nZuCPf03sa4iXc=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/librem/default.nix b/nixpkgs/pkgs/development/libraries/librem/default.nix
index 349384b4674c..23c1f2cc3457 100644
--- a/nixpkgs/pkgs/development/libraries/librem/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librem/default.nix
@@ -1,12 +1,14 @@
-{lib, stdenv, fetchurl, zlib, openssl, libre}:
+{ lib, stdenv, fetchFromGitHub, zlib, openssl, libre }:
 stdenv.mkDerivation rec {
-  version = "0.6.0";
+  version = "1.0.0";
   pname = "librem";
-  src=fetchurl {
-    url = "http://www.creytiv.com/pub/rem-${version}.tar.gz";
-    sha256 = "0b17wma5w9acizk02isk5k83vv47vf1cf9zkmsc1ail677d20xj1";
+  src = fetchFromGitHub {
+    owner = "baresip";
+    repo = "rem";
+    rev = "v${version}";
+    sha256 = "sha256-6Xe9zT0qLLGe1+QCQ9NALoDTaRhHpaTLbCbA+kV7hOA=";
   };
-  buildInputs = [zlib openssl libre];
+  buildInputs = [ zlib openssl libre ];
   makeFlags = [
     "LIBRE_MK=${libre}/share/re/re.mk"
     "LIBRE_INC=${libre}/include/re"
@@ -16,13 +18,9 @@ stdenv.mkDerivation rec {
   ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
   ;
   meta = {
-    description = " A library for real-time audio and video processing";
-    homepage = "http://www.creytiv.com/rem.html";
-    platforms = with lib.platforms; linux;
-    maintainers = with lib.maintainers; [raskin];
+    description = "A library for real-time audio and video processing";
+    homepage = "https://github.com/baresip/rem";
+    maintainers = with lib.maintainers; [ elohmeier raskin ];
     license = lib.licenses.bsd3;
-    downloadPage = "http://www.creytiv.com/pub/";
-    updateWalker = true;
-    downloadURLRegexp = "/rem-.*[.]tar[.].*";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/librep/default.nix b/nixpkgs/pkgs/development/libraries/librep/default.nix
index cd007c5fe57a..3a17d0279dcf 100644
--- a/nixpkgs/pkgs/development/libraries/librep/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librep/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/librep.x86_64-darwin
   };
 }
 # TODO: investigate fetchFromGithub
diff --git a/nixpkgs/pkgs/development/libraries/libressl/default.nix b/nixpkgs/pkgs/development/libraries/libressl/default.nix
index 0d01eeb81f1a..7a2718c01539 100644
--- a/nixpkgs/pkgs/development/libraries/libressl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libressl/default.nix
@@ -91,7 +91,7 @@ in {
     sha256 = "112bjfrwwqlk0lak7fmfhcls18ydf62cp7gxghf4gklpfl1zyckw";
   };
   libressl_3_4 = generic {
-    version = "3.4.1";
-    sha256 = "0766yxb599lx7qmlmsddiw9wgminz9mc311mav5q23l0rbkflz0h";
+    version = "3.4.2";
+    sha256 = "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84=";
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/librest/default.nix b/nixpkgs/pkgs/development/libraries/librest/default.nix
index 0c885f0764b5..ce2df9cc9a8a 100644
--- a/nixpkgs/pkgs/development/libraries/librest/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libroxml/default.nix b/nixpkgs/pkgs/development/libraries/libroxml/default.nix
index 39c8eab5a65b..71d78a8b8e59 100644
--- a/nixpkgs/pkgs/development/libraries/libroxml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libroxml/default.nix
@@ -1,11 +1,14 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "libroxml-2.3.0";
+stdenv.mkDerivation rec {
+  pname = "libroxml";
+  version = "2.3.0";
+
   src = fetchurl {
-    url = "http://download.libroxml.net/pool/v2.x/libroxml-2.3.0.tar.gz";
+    url = "http://download.libroxml.net/pool/v2.x/libroxml-${version}.tar.gz";
     sha256  = "0y0vc9n4rfbimjp28nx4kdfzz08j5xymh5xjy84l9fhfac5z5a0x";
   };
+
   meta = with lib; {
     homepage = "https://www.libroxml.net/";
     description = "This library is minimum, easy-to-use, C implementation for xml file parsing";
diff --git a/nixpkgs/pkgs/development/libraries/librsvg/default.nix b/nixpkgs/pkgs/development/libraries/librsvg/default.nix
index 25f8209dd3d1..1de6090b146c 100644
--- a/nixpkgs/pkgs/development/libraries/librsvg/default.nix
+++ b/nixpkgs/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.3";
+  version = "2.52.5";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Nuf1vIjXhgjqf2wF5K/krMFga5rxPChF1DhQc9CCuKQ=";
+    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/nixpkgs/pkgs/development/libraries/librtlsdr/default.nix b/nixpkgs/pkgs/development/libraries/librtlsdr/default.nix
index 61f4045b785f..c09575924a0a 100644
--- a/nixpkgs/pkgs/development/libraries/librtlsdr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librtlsdr/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config cmake ];
 
-  buildInputs = [ libusb1 ];
+  propagatedBuildInputs = [ libusb1 ];
 
   meta = with lib; {
     description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
diff --git a/nixpkgs/pkgs/development/libraries/libscrypt/default.nix b/nixpkgs/pkgs/development/libraries/libscrypt/default.nix
index 1bd22b2f7901..68ef1afd2eef 100644
--- a/nixpkgs/pkgs/development/libraries/libscrypt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libseccomp/default.nix b/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
index 0a76e59e5b7c..d0e8bd163ddd 100644
--- a/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libseccomp/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, getopt, util-linux, gperf }:
+{ lib, stdenv, fetchurl, getopt, util-linux, gperf, nix-update-script }:
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "sha256-F6ZS37SR2Wvok5YOm3kZFJNu4WwTt3ejyvVi/kjLh98=";
+    sha256 = "sha256-WQZchzM2RyXpchukjDqZu8Uq+SHa9I30seAS+8exCnY=";
   };
 
   outputs = [ "out" "lib" "dev" "man" "pythonsrc" ];
@@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
     tar -zcf $pythonsrc --mtime="@$SOURCE_DATE_EPOCH" --sort=name --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "High level library for the Linux Kernel seccomp filter";
     homepage = "https://github.com/seccomp/libseccomp";
diff --git a/nixpkgs/pkgs/development/libraries/libserdes/default.nix b/nixpkgs/pkgs/development/libraries/libserdes/default.nix
index 7b48f150c9a1..8b61669d1c6d 100644
--- a/nixpkgs/pkgs/development/libraries/libserdes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libshout/default.nix b/nixpkgs/pkgs/development/libraries/libshout/default.nix
index 5b284e4408c6..e231fb0ed6ee 100644
--- a/nixpkgs/pkgs/development/libraries/libshout/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libshout/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       bad data from getting to the icecast server.
     '';
 
-    homepage = "http://www.icecast.org";
+    homepage = "https://www.icecast.org";
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ jcumming ];
     platforms = with lib.platforms; unix;
diff --git a/nixpkgs/pkgs/development/libraries/libshumate/default.nix b/nixpkgs/pkgs/development/libraries/libshumate/default.nix
index e987e5a892c4..7443ec4c502d 100644
--- a/nixpkgs/pkgs/development/libraries/libshumate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libshumate/default.nix
@@ -13,12 +13,12 @@
 , libsoup
 , gtk4
 , xvfb-run
-, unstableGitUpdater
+, gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "libshumate";
-  version = "unstable-2021-10-06";
+  version = "1.0.0.alpha.1";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "libshumate";
-    rev = "7a0a03f299881e8faaac7d904cc47b74795ae5dd";
-    sha256 = "df8ZHn/wmkzaYH0L3E6ULUtqxqU71EqL0jSgKhWqlT8=";
+    rev = version;
+    sha256 = "4kCXFUJRglh1aIBk03MNUV8jfx0mJzIFCUDM4g9tzlg=";
   };
 
   nativeBuildInputs = [
@@ -68,11 +68,14 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput share/doc/libshumate-0.0 "$devdoc"
+    moveToOutput share/doc/libshumate-1.0 "$devdoc"
   '';
 
-  passthru.updateScript = unstableGitUpdater {
-    url = meta.homepage;
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libsigcxx/1.2.nix b/nixpkgs/pkgs/development/libraries/libsigcxx/1.2.nix
index a417e0bcc1d7..8464ba36af32 100644
--- a/nixpkgs/pkgs/development/libraries/libsigcxx/1.2.nix
+++ b/nixpkgs/pkgs/development/libraries/libsigcxx/1.2.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, m4}:
 
 stdenv.mkDerivation rec {
-  name = "libsigc++-1.2.7";
+  pname = "libsigc++";
+  version = "1.2.7";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libsigc++/1.2/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libsigc++/1.2/libsigc++-${version}.tar.bz2";
     sha256 = "099224v5y0y1ggqrfc8vga8afr3nb93iicn7cj8xxgsrwa83s5nr";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libsigsegv/default.nix b/nixpkgs/pkgs/development/libraries/libsigsegv/default.nix
index 4189ba9c6fae..bc36a12eea82 100644
--- a/nixpkgs/pkgs/development/libraries/libsigsegv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsigsegv/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libsigsegv-2.13";
+  pname = "libsigsegv";
+  version = "2.13";
 
   src = fetchurl {
-    url = "mirror://gnu/libsigsegv/${name}.tar.gz";
+    url = "mirror://gnu/libsigsegv/libsigsegv-${version}.tar.gz";
     sha256 = "sha256-vnjuQXawX3x1/wMpjYSHTbkPS2ydVQPw2hIms6PEgRk=";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libsoup/3.x.nix b/nixpkgs/pkgs/development/libraries/libsoup/3.x.nix
index 5f8c0ec1b488..454a1cdf40a2 100644
--- a/nixpkgs/pkgs/development/libraries/libsoup/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/libsoup/3.x.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "3.0.2";
+  version = "3.0.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-mO9T7ZtIFewFIyFVNxr4A6mSj0ZSrMaF/wIIa+FqP/U=";
+    sha256 = "sha256-W9OLXgkfcH/X+j7Xw3qsyj+OFsZXh/HMF9w40dzeVns=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libsoup/default.nix b/nixpkgs/pkgs/development/libraries/libsoup/default.nix
index 95926f54f947..83fb0c4a0292 100644
--- a/nixpkgs/pkgs/development/libraries/libsoup/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsoup/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "2.74.1";
+  version = "2.74.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-3CejuPowvI/5ULWnWVh1fSJC4+UeTi2cTmI+9195O/g=";
+    sha256 = "sha256-8KQnZW5f4Z4d9xwQfojfobLmc8JcVHt4I7YBi0DQEVk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libspf2/default.nix b/nixpkgs/pkgs/development/libraries/libspf2/default.nix
index 6ec8f24b7132..c48c71e14485 100644
--- a/nixpkgs/pkgs/development/libraries/libspf2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libspng/default.nix b/nixpkgs/pkgs/development/libraries/libspng/default.nix
index 99a243733cf8..9a07cbf1aa1a 100644
--- a/nixpkgs/pkgs/development/libraries/libspng/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libstemmer/default.nix b/nixpkgs/pkgs/development/libraries/libstemmer/default.nix
index 2f6b2835c4e3..835d13d51b4f 100644
--- a/nixpkgs/pkgs/development/libraries/libstemmer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libstemmer/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation {
-  name = "libstemmer-2017-03-02";
+  pname = "libstemmer";
+  version = "unstable-2017-03-02";
 
   src = fetchFromGitHub {
     owner = "zvelo";
diff --git a/nixpkgs/pkgs/development/libraries/libsurvive/default.nix b/nixpkgs/pkgs/development/libraries/libsurvive/default.nix
index 08be9c1a35d2..5685cfdbb4d4 100644
--- a/nixpkgs/pkgs/development/libraries/libsurvive/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsurvive/default.nix
@@ -3,30 +3,30 @@
 , cmake
 , pkg-config
 , freeglut
-, liblapack
+, lapack
 , libusb1
-, openblas
+, blas
 , zlib
 }:
 
 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 ];
 
   buildInputs = [
     freeglut
-    liblapack
+    lapack
     libusb1
-    openblas
+    blas
     zlib
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/libtasn1/default.nix b/nixpkgs/pkgs/development/libraries/libtasn1/default.nix
index 4d7b57c1f08c..d7eb36b97a79 100644
--- a/nixpkgs/pkgs/development/libraries/libtasn1/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-4.17.0";
+  pname = "libtasn1";
+  version = "4.18.0";
 
   src = fetchurl {
-    url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "sha256-7OdVHOp5IrjhDX68cLwiSNH91zNRZGotao1oqUIcRaU=";
+    url = "mirror://gnu/libtasn1/libtasn1-${version}.tar.gz";
+    sha256 = "sha256-Q2XBVJU1Y9ZMZ6AktgfR7nXG23bg0PZXCeqAozTNGJg=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libthai/default.nix b/nixpkgs/pkgs/development/libraries/libthai/default.nix
index 97745813ef26..7755fffc7a97 100644
--- a/nixpkgs/pkgs/development/libraries/libthai/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libthai/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libthai";
-  version = "0.1.28";
+  version = "0.1.29";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/tlwg/libthai/releases/download/v${version}/libthai-${version}.tar.xz";
-    sha256 = "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z";
+    sha256 = "sha256-/IDMfctQ4RMCtBfOvSTy0wqLmHKS534AMme5EA0PS80=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/development/libraries/libthreadar/default.nix b/nixpkgs/pkgs/development/libraries/libthreadar/default.nix
index bff42af3acaa..5a88d4ba2056 100644
--- a/nixpkgs/pkgs/development/libraries/libthreadar/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libthreadar/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ izorkin ];
     license = licenses.lgpl3;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/libthreadar.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libtiff/default.nix b/nixpkgs/pkgs/development/libraries/libtiff/default.nix
index 2fe6159556f6..5f34a80d253a 100644
--- a/nixpkgs/pkgs/development/libraries/libtiff/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtiff/default.nix
@@ -8,11 +8,6 @@
 , libjpeg
 , xz
 , zlib
-
-, Cocoa
-, GLUT
-, libGL
-, libGLU
 }:
 
 #FIXME: fix aarch64-darwin build and get rid of ./aarch64-darwin.nix
@@ -52,8 +47,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libjpeg xz zlib ]; #TODO: opengl support (bogus configure detection)
 
-  buildInputs = [ libdeflate ] # TODO: move all propagatedBuildInputs to buildInputs.
-    ++ lib.optionals (stdenv.isDarwin) [ Cocoa GLUT libGL libGLU ];
+  buildInputs = [ libdeflate ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/libtiger/default.nix b/nixpkgs/pkgs/development/libraries/libtiger/default.nix
index 094ff565b3c5..60dee56e6a2a 100644
--- a/nixpkgs/pkgs/development/libraries/libtiger/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtiger/default.nix
@@ -1,10 +1,11 @@
 { stdenv, lib, fetchurl, libkate, pango, cairo, pkg-config, darwin }:
 
 stdenv.mkDerivation rec {
-  name = "libtiger-0.3.4";
+  pname = "libtiger";
+  version = "0.3.4";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libtiger/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libtiger/libtiger-${version}.tar.gz";
     sha256 = "0rj1bmr9kngrgbxrjbn4f4f9pww0wmf6viflinq7ava7zdav4hkk";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libtins/default.nix b/nixpkgs/pkgs/development/libraries/libtins/default.nix
index d1a99fb88ab4..b7e02a62fa99 100644
--- a/nixpkgs/pkgs/development/libraries/libtins/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix b/nixpkgs/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix
index 52a88e2194d6..470b9137f6e1 100644
--- a/nixpkgs/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix
+++ b/nixpkgs/pkgs/development/libraries/libtorrent-rasterbar/1.1.nix
@@ -46,5 +46,6 @@ in stdenv.mkDerivation {
     license = licenses.bsd3;
     maintainers = [ ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/libtorrent-rasterbar-1_1_x.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix b/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix
index 77119e2830fe..c2348aa31129 100644
--- a/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix
+++ b/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix
@@ -2,7 +2,8 @@
 , libvpx, check, libconfig, pkg-config }:
 
 stdenv.mkDerivation {
-  name = "tox-core-new-20160727";
+  pname = "tox-core-new";
+  version = "unstable-2016-07-27";
 
   src = fetchFromGitHub {
     owner  = "irungentoo";
diff --git a/nixpkgs/pkgs/development/libraries/libudfread/default.nix b/nixpkgs/pkgs/development/libraries/libudfread/default.nix
new file mode 100644
index 000000000000..d4f9a0d06b46
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libudfread/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, fetchurl, autoreconfHook, }:
+
+stdenv.mkDerivation rec {
+  pname = "libudfread";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url =
+      "https://code.videolan.org/videolan/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1idsfxff1x264n8jd7077qrd61rycsd09fwmc4ar7l4qmhk6gw9b";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    description = "UDF reader";
+    homepage = "https://code.videolan.org/videolan/libudfread";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ chkno ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libunibreak/default.nix b/nixpkgs/pkgs/development/libraries/libunibreak/default.nix
index 9e6cec471d4d..7dee1d6b1eca 100644
--- a/nixpkgs/pkgs/development/libraries/libunibreak/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libunibreak/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libunibreak";
-  version = "4.3";
+  version = "5.0";
 
   src = let
       rev_version = lib.replaceStrings ["."] ["_"] version;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "adah1972";
     repo = pname;
     rev = "libunibreak_${rev_version}";
-    sha256 = "19g3ixs1ycisfdnzd8v7j5r49h0x0hshchk9qwlz4i0mjv825plx";
+    sha256 = "sha256-ju+DNCzwD+y/ebLVBU96iNpE1Wt7/K0qLcZHzWGzrWQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/libraries/liburcu/default.nix b/nixpkgs/pkgs/development/libraries/liburcu/default.nix
index b00b4cf9ac85..e2dc63609c41 100644
--- a/nixpkgs/pkgs/development/libraries/liburcu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/liburing/default.nix b/nixpkgs/pkgs/development/libraries/liburing/default.nix
index 97a0ebda18da..678fd0b3f734 100644
--- a/nixpkgs/pkgs/development/libraries/liburing/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liburing/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "liburing";
-  version = "2.1";
+  version = "2.1"; # remove patch when updating
 
   src = fetchgit {
     url    = "http://git.kernel.dk/${pname}";
@@ -43,6 +43,15 @@ stdenv.mkDerivation rec {
     cp ./examples/ucontext-cp $bin/bin/io_uring-ucontext-cp
   '';
 
+  # fix for compilation on 32-bit ARM, merged by upstream but not released; remove when
+  # upstream releases an update
+  patches = lib.optional stdenv.isAarch32 [
+    (fetchpatch {
+      url = "https://github.com/axboe/liburing/commit/e75a6cfa085fc9b5dbf5140fc1efb5a07b6b829e.diff";
+      sha256 = "sha256-qQEQXYm5mkws2klLxwuuoPSPRkpP1s6tuylAAEp7+9E=";
+    })
+  ];
+
   meta = with lib; {
     description = "Userspace library for the Linux io_uring API";
     homepage    = "https://git.kernel.dk/cgit/liburing/";
diff --git a/nixpkgs/pkgs/development/libraries/libusbgx/default.nix b/nixpkgs/pkgs/development/libraries/libusbgx/default.nix
new file mode 100644
index 000000000000..676870aee504
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libusbgx/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchFromGitHub, cmake, bash-completion, pkg-config, libconfig, autoreconfHook }:
+stdenv.mkDerivation {
+  pname = "libusbgx";
+  version = "unstable-2021-10-31";
+  src = fetchFromGitHub {
+    owner = "linux-usb-gadgets";
+    repo = "libusbgx";
+    rev = "060784424609d5a4e3bce8355f788c93f09802a5";
+    sha256 = "172qh8gva17jr18ldhf9zi960w2bqzmp030w6apxq57c9nv6d8k7";
+  };
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ libconfig ];
+  meta = {
+    description = "C library encapsulating the kernel USB gadget-configfs userspace API functionality";
+    license = with lib.licenses; [
+      lgpl21Plus # library
+      gpl2Plus # examples
+    ];
+    maintainers = with lib.maintainers; [ lheckemann ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libuv/default.nix b/nixpkgs/pkgs/development/libraries/libuv/default.nix
index a3de139fb440..1d9354d48e1a 100644
--- a/nixpkgs/pkgs/development/libraries/libuv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.42.0";
+  version = "1.43.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0f6mfbg750q26fa85nhmw2m0gyp8jcp1kyx9zn6lgi8bha5b7kny";
+    sha256 = "sha256-AsXJb2AGNx+SARPmY8uRFRLfX5vqTPNjwL8njSw/e7o=";
   };
 
   postPatch = let
diff --git a/nixpkgs/pkgs/development/libraries/libviper/default.nix b/nixpkgs/pkgs/development/libraries/libviper/default.nix
index 993e260b7bd3..4caa26aadc6a 100644
--- a/nixpkgs/pkgs/development/libraries/libviper/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libviper/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, pkg-config, glib, ncurses, gpm}:
 stdenv.mkDerivation rec {
-  name = "libviper-1.4.6";
+  pname = "libviper";
+  version = "1.4.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libviper/${name}.tar.gz";
+    url = "mirror://sourceforge/libviper/libviper-${version}.tar.gz";
     sha256 = "1jvm7wdgw6ixyhl0pcfr9lnr9g6sg6whyrs9ihjiz0agvqrgvxwc";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libvirt/default.nix b/nixpkgs/pkgs/development/libraries/libvirt/default.nix
index 4606b1dc60db..03d0e17cb4c3 100644
--- a/nixpkgs/pkgs/development/libraries/libvirt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvirt/default.nix
@@ -72,14 +72,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libvirt";
-  version = "7.9.0";
+  version = "7.10.0";
 
   src =
     if buildFromTarball then
       fetchurl
         {
           url = "https://libvirt.org/sources/${pname}-${version}.tar.xz";
-          sha256 = "sha256-gpzytfV0J5xA8ERuEWiBXT82uJcQVgJjyiznAlb3Low=";
+          sha256 = "sha256-yzGAFK8JcyeSjG49cpIuO+AqPmQBJHsqpS2auOC0gPk=";
         }
     else
       fetchFromGitLab
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
           owner = pname;
           repo = pname;
           rev = "v${version}";
-          sha256 = "sha256-Ua6+EKLES3385fqhH2+qwnwE+X/nmWqIBxCXXE3SVhs=";
+          sha256 = "sha256-bB8LsjZFeJbMmmC0YRPyMag2MBhwagUFC7aB1KhZEkA=";
           fetchSubmodules = true;
         };
 
@@ -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/nixpkgs/pkgs/development/libraries/libvncserver/default.nix b/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
index b9890f6a806b..b9da7135f92e 100644
--- a/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvncserver/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   pname = "libvncserver";
   version = "0.9.13";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "LibVNC";
     repo = "libvncserver";
@@ -23,11 +25,24 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-gQT/M2u4nWQ0MfO2gWAqY0ZJc7V9eGczGzcsxKmG4H8=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libjpeg openssl libgcrypt libpng ]
-    ++ lib.optional stdenv.isLinux systemd
-    ++ lib.optional stdenv.isDarwin Carbon;
-  propagatedBuildInputs = [ zlib ];
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libjpeg
+    openssl
+    libgcrypt
+    libpng
+  ] ++ lib.optionals stdenv.isLinux [
+    systemd
+  ] ++ lib.optional stdenv.isDarwin [
+    Carbon
+  ];
+
+  propagatedBuildInputs = [
+    zlib
+  ];
 
   meta = with lib; {
     description = "VNC server library";
diff --git a/nixpkgs/pkgs/development/libraries/libwacom/default.nix b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
index 9ebb2c855cba..2f9afff56d87 100644
--- a/nixpkgs/pkgs/development/libraries/libwacom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwacom/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "1.12";
+  version = "1.99.1";
 
   outputs = [ "out" "dev" ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-pCO0lB0liveIEZIxY3IJcqlmWy4rYhSBtRPssfzHEow=";
+    sha256 = "sha256-WGW/4m+BTe6dEigUcuUIZjoTeamInW6zrtrlaqKM6Js=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libwpd/0.8.nix b/nixpkgs/pkgs/development/libraries/libwpd/0.8.nix
index df21f2640966..7657cd489527 100644
--- a/nixpkgs/pkgs/development/libraries/libwpd/0.8.nix
+++ b/nixpkgs/pkgs/development/libraries/libwpd/0.8.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, glib, libgsf, libxml2, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.8.14";
+  pname = "libwpd";
+  version = "0.8.14";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libwpd/${name}.tar.gz";
+    url = "mirror://sourceforge/libwpd/libwpd-${version}.tar.gz";
     sha256 = "1syli6i5ma10cwzpa61a18pyjmianjwsf6pvmvzsh5md6yk4yx01";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libwpd/default.nix b/nixpkgs/pkgs/development/libraries/libwpd/default.nix
index 8afe549cb68f..1f54c2c2fb1a 100644
--- a/nixpkgs/pkgs/development/libraries/libwpd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwpd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib, pkg-config, glib, libgsf, libxml2, librevenge }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.10.0";
+  pname = "libwpd";
+  version = "0.10.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libwpd/${name}.tar.xz";
+    url = "mirror://sourceforge/libwpd/libwpd-${version}.tar.xz";
     sha256 = "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libwpe/fdo.nix b/nixpkgs/pkgs/development/libraries/libwpe/fdo.nix
index e68c60ebbdbf..a711fab63143 100644
--- a/nixpkgs/pkgs/development/libraries/libwpe/fdo.nix
+++ b/nixpkgs/pkgs/development/libraries/libwpe/fdo.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wpebackend-fdo";
-  version = "1.10.0";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-uJ39NQCk3scREyzXv/clmeZ9VqQZ0ABzDhS7mVR1Ccw=";
+    sha256 = "sha256-YjnJwVUjQQeY1mMV3mtJFxKrMACboYDz4N0HbZsAdKw=";
   };
 
   depsBuildBuild = [
diff --git a/nixpkgs/pkgs/development/libraries/libxc/default.nix b/nixpkgs/pkgs/development/libraries/libxc/default.nix
index 5ed5ef1fc373..f28420229ab9 100644
--- a/nixpkgs/pkgs/development/libraries/libxc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libxc";
-  version = "5.1.7";
+  version = "5.2.2";
 
   src = fetchFromGitLab {
     owner = "libxc";
     repo = "libxc";
     rev = version;
-    sha256 = "0s01q5sh50544s7q2q7kahcqydlyzk1lx3kg1zwl76y90942bjd1";
+    sha256 = "113sk7hxjpfbz3nrgjsc7bi6zrlwb3qq5s6h0zh37hz9bd1brq54";
   };
 
   nativeBuildInputs = [ perl cmake gfortran ];
diff --git a/nixpkgs/pkgs/development/libraries/libxdg-basedir/default.nix b/nixpkgs/pkgs/development/libraries/libxdg-basedir/default.nix
index 58a58f2726bd..77047e9099d2 100644
--- a/nixpkgs/pkgs/development/libraries/libxdg-basedir/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxdg-basedir/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, fetchpatch}:
 
 stdenv.mkDerivation rec {
-  name = "libxdg-basedir-1.2.0";
+  pname = "libxdg-basedir";
+  version = "1.2.0";
+
   src = fetchurl {
-    url = "https://nevill.ch/libxdg-basedir/downloads/${name}.tar.gz";
+    url = "https://nevill.ch/libxdg-basedir/downloads/libxdg-basedir-${version}.tar.gz";
     sha256 = "2757a949618742d80ac59ee2f0d946adc6e71576406cdf798e6ced507708cdf4";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix b/nixpkgs/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
index 9f374c22c1e6..539fca7456ba 100644
--- a/nixpkgs/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
+++ b/nixpkgs/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, bison, flex, xkeyboard_config, libxcb, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "libxkbcommon-0.7.2";
+  pname = "libxkbcommon";
+  version = "0.7.2";
 
   src = fetchurl {
-    url = "http://xkbcommon.org/download/${name}.tar.xz";
+    url = "http://xkbcommon.org/download/libxkbcommon-${version}.tar.xz";
     sha256 = "1n5rv5n210kjnkyrvbh04gfwaa7zrmzy1393p8nyqfw66lkxr918";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/libxls/default.nix b/nixpkgs/pkgs/development/libraries/libxls/default.nix
index 3b9c2768f45e..43c96027d08b 100644
--- a/nixpkgs/pkgs/development/libraries/libxls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxls/default.nix
@@ -1,21 +1,31 @@
-{ lib, stdenv, fetchurl, unzip }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, autoconf-archive }:
 
 stdenv.mkDerivation rec {
   pname = "libxls";
   version = "1.6.2";
 
-  src = fetchurl {
-    url = "https://github.com/libxls/libxls/releases/download/v${version}/libxls-${version}.tar.gz";
-    sha256 = "sha256-XazDTZS/IRWSbIDG+2nk570u1kA9Uc/0kEGpQXL143E=";
+  src = fetchFromGitHub {
+    owner = "libxls";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-vjmYByk+IDBon8xGR1+oNaEQTiJK+IVpDXsG1IyVNoY=";
   };
 
-  nativeBuildInputs = [ unzip ];
+  patches = [
+    # Fix cross-compilation
+    (fetchpatch {
+      url = "https://github.com/libxls/libxls/commit/007e63c1f5e19bc73292f267c85d7dd14e9ecb38.patch";
+      sha256 = "sha256-PjPHuXth4Yaq9nVfk5MYJMRo5B0R6YA1KEqgwfjF3PM=";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook autoconf-archive ];
 
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Extract Cell Data From Excel xls files";
-    homepage = "https://sourceforge.net/projects/libxls/";
+    homepage = "https://github.com/libxls/libxls";
     license = licenses.bsd2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/nixpkgs/pkgs/development/libraries/libxslt/default.nix b/nixpkgs/pkgs/development/libraries/libxslt/default.nix
index eb23e16d653a..3993b3f73e1f 100644
--- a/nixpkgs/pkgs/development/libraries/libxslt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxslt/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl
 , pkg-config
-, libxml2, findXMLCatalogs, gettext, python3, libgcrypt
+, libxml2, findXMLCatalogs, gettext, python, libgcrypt
 , cryptoSupport ? false
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libxml2.dev ]
     ++ lib.optional stdenv.isDarwin gettext
-    ++ lib.optionals pythonSupport [ libxml2.py python3 ]
+    ++ lib.optionals pythonSupport [ libxml2.py python ]
     ++ lib.optionals cryptoSupport [ libgcrypt ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ] ++ lib.optional pythonSupport "--with-python=${python3}"
+  ] ++ lib.optional pythonSupport "--with-python=${python}"
     ++ lib.optional (!cryptoSupport) "--without-crypto";
 
   postFixup = ''
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   '' + lib.optionalString pythonSupport ''
     mkdir -p $py/nix-support
     echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
-    moveToOutput ${python3.libPrefix} "$py"
+    moveToOutput ${python.libPrefix} "$py"
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/libyaml-cpp/0.3.0.nix b/nixpkgs/pkgs/development/libraries/libyaml-cpp/0.3.0.nix
index a465b047a116..e379c3472679 100644
--- a/nixpkgs/pkgs/development/libraries/libyaml-cpp/0.3.0.nix
+++ b/nixpkgs/pkgs/development/libraries/libyaml-cpp/0.3.0.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     description = "A YAML parser and emitter for C++";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix b/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
index 28156e3e205f..9b30ce19b1d8 100644
--- a/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     description = "A YAML parser and emitter for C++";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libyang/default.nix b/nixpkgs/pkgs/development/libraries/libyang/default.nix
new file mode 100644
index 000000000000..6a07371261ae
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libyang/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+
+# build time
+, cmake
+, pkg-config
+
+# run time
+, pcre2
+
+# update script
+, genericUpdater
+, common-updater-scripts
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libyang";
+  version = "2.0.112";
+
+  src = fetchFromGitHub {
+    owner = "CESNET";
+    repo = "libyang";
+    rev = "v${version}";
+    sha256 = "sha256-f8x0tC3XcQ9fnUE987GYw8qEo/B+J759vpCImqG3QWs=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    pcre2
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_BUILD_TYPE:String=Release"
+  ];
+
+  passthru.updateScript = genericUpdater {
+    inherit pname version;
+    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
+    rev-prefix = "v";
+  };
+
+  meta = with lib; {
+    description = "YANG data modelling language parser and toolkit";
+    longDescription = ''
+      libyang is a YANG data modelling language parser and toolkit written (and
+      providing API) in C. The library is used e.g. in libnetconf2, Netopeer2,
+      sysrepo or FRRouting projects.
+    '';
+    homepage = "https://github.com/CESNET/libyang";
+    license = with licenses; [ bsd3 ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ woffs ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libzim/default.nix b/nixpkgs/pkgs/development/libraries/libzim/default.nix
index 9aea86d5e5ec..5191da60ce26 100644
--- a/nixpkgs/pkgs/development/libraries/libzim/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libzim/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libzim";
-  version = "7.0.0";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "openzim";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OQVGopAInAI7KCEVr3BxaKD6np2QcFCaDjgNWjT202U=";
+    sha256 = "sha256-H4YUAbH4X6oJIZyhI23LemngtOtKNrHHl3KSU1ilAmo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libzmf/default.nix b/nixpkgs/pkgs/development/libraries/libzmf/default.nix
index 7965c934df3e..378a7202f371 100644
--- a/nixpkgs/pkgs/development/libraries/libzmf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libzmf/default.nix
@@ -20,6 +20,5 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.unix;
     homepage = "https://wiki.documentfoundation.org/DLP/Libraries/libzmf";
     downloadPage = "http://dev-www.libreoffice.org/src/libzmf/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/linbox/default.nix b/nixpkgs/pkgs/development/libraries/linbox/default.nix
index 821edd333692..0f650e7474ff 100644
--- a/nixpkgs/pkgs/development/libraries/linbox/default.nix
+++ b/nixpkgs/pkgs/development/libraries/linbox/default.nix
@@ -14,13 +14,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "linbox";
-  version = "1.6.3"; # TODO: Check postPatch script on update
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10j6dspbsq7d2l4q3y0c1l1xwmaqqba2fxg59q5bhgk9h5d7q571";
+    sha256 = "sha256-mW84a98KPLqcHMjX3LIYTmVe0ngUdz6RJLpoDaAqKU8=";
   };
 
   nativeBuildInputs = [
@@ -35,20 +35,6 @@ stdenv.mkDerivation rec {
     fflas-ffpack
   ];
 
-  patches = [
-    # Remove inappropriate `const &` qualifiers on data members that can be
-    # modified via member functions.
-    # See also: https://github.com/linbox-team/linbox/pull/256
-    ./patches/linbox-pr256-part2.patch # TODO: Remove on 1.7.0 update
-  ];
-
-  postPatch = ''
-    # Remove @LINBOXSAGE_LIBS@ that is actually undefined.
-    # See also: https://github.com/linbox-team/linbox/pull/249
-    # TODO: Remove on 1.7.0 update
-    find . -type f -exec sed -e 's/@LINBOXSAGE_LIBS@//' -i {} \;
-  '';
-
   configureFlags = [
     "--with-blas-libs=-lblas"
     "--disable-optimization"
diff --git a/nixpkgs/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch b/nixpkgs/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch
deleted file mode 100644
index ec8571a7d710..000000000000
--- a/nixpkgs/pkgs/development/libraries/linbox/patches/linbox-pr256-part2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/linbox/algorithms/det-rational.h
-+++ b/linbox/algorithms/det-rational.h
-@@ -79,8 +79,8 @@
- 	struct MyRationalModularDet {
- 		const Blackbox &A;
- 		const MyMethod &M;
--		const Integer &mul;//multiplicative prec;
--		const Integer &div;
-+		Integer mul;//multiplicative prec;
-+		Integer div;
- 
- 		MyRationalModularDet(const Blackbox& b, const MyMethod& n,
- 				     const Integer & p1, const Integer & p2) :
diff --git a/nixpkgs/pkgs/development/libraries/liquidfun/default.nix b/nixpkgs/pkgs/development/libraries/liquidfun/default.nix
index 29531a299966..d3e3187bf757 100644
--- a/nixpkgs/pkgs/development/libraries/liquidfun/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/lirc/default.nix b/nixpkgs/pkgs/development/libraries/lirc/default.nix
index 6ba5517c028f..d5f84455f836 100644
--- a/nixpkgs/pkgs/development/libraries/lirc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lirc/default.nix
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
       Makefile.in
     sed -i 's,PYTHONPATH=,PYTHONPATH=$(PYTHONPATH):,' \
       doc/Makefile.in
+
+    # Pull fix for new pyyaml pending upstream inclusion
+    #   https://sourceforge.net/p/lirc/git/merge-requests/39/
+    substituteInPlace python-pkg/lirc/database.py --replace 'yaml.load(' 'yaml.safe_load('
   '';
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/libraries/live555/default.nix b/nixpkgs/pkgs/development/libraries/live555/default.nix
index 081fa2f175bb..2e5ec92cf4c4 100644
--- a/nixpkgs/pkgs/development/libraries/live555/default.nix
+++ b/nixpkgs/pkgs/development/libraries/live555/default.nix
@@ -1,23 +1,38 @@
-{ stdenv, fetchurl, lib, darwin }:
+{ lib
+, stdenv
+, fetchurl
+, darwin
+, openssl
+
+# major and only downstream dependency
+, vlc
+}:
 
-# Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 stdenv.mkDerivation rec {
   pname = "live555";
-  version = "2019.11.22";
+  version = "2022.01.21";
 
-  src = fetchurl { # the upstream doesn't provide a stable URL
+  src = fetchurl {
     urls = [
-      "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
+      "http://www.live555.com/liveMedia/public/live.${version}.tar.gz"
       "https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
+      "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
     ];
-    sha256 = "144y2wsfpaclkj7srx85f3y3parzn7vbjmzc2afc62wdsb9gn46d";
+    sha256 = "sha256-diV5wULbOrqMRDCyI9NjVaR6JUbYl9KWHUlvA/jjqQ4=";
   };
 
+  nativeBuildInputs = lib.optional stdenv.isDarwin darwin.cctools;
+
+  buildInputs = [ openssl ];
+
   postPatch = ''
-    sed 's,/bin/rm,rm,g' -i genMakefiles
-    sed \
+    substituteInPlace config.macosx-catalina \
+      --replace '/usr/lib/libssl.46.dylib' "${openssl.out}/lib/libssl.dylib" \
+      --replace '/usr/lib/libcrypto.44.dylib' "${openssl.out}/lib/libcrypto.dylib"
+    sed -i -e 's|/bin/rm|rm|g' genMakefiles
+    sed -i \
       -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
-      -i config.linux
+      config.linux
   '' + lib.optionalString (stdenv ? glibc) ''
     substituteInPlace liveMedia/include/Locale.hh \
       --replace '<xlocale.h>' '<locale.h>'
@@ -27,7 +42,7 @@ stdenv.mkDerivation rec {
     runHook preConfigure
 
     ./genMakefiles ${{
-      x86_64-darwin = "macosx";
+      x86_64-darwin = "macosx-catalina";
       i686-linux = "linux";
       x86_64-linux = "linux-64bit";
       aarch64-linux = "linux-64bit";
@@ -48,15 +63,18 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  nativeBuildInputs = lib.optional stdenv.isDarwin darwin.cctools;
-
   enableParallelBuilding = true;
 
+  passthru.tests = {
+    inherit vlc;
+  };
+
   meta = with lib; {
-    description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
     homepage = "http://www.live555.com/liveMedia/";
+    description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
     changelog = "http://www.live555.com/liveMedia/public/changelog.txt";
     license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
     broken = stdenv.hostPlatform.isAarch64;
   };
diff --git a/nixpkgs/pkgs/development/libraries/log4cplus/default.nix b/nixpkgs/pkgs/development/libraries/log4cplus/default.nix
index 99728a3854de..160cdabed708 100644
--- a/nixpkgs/pkgs/development/libraries/log4cplus/default.nix
+++ b/nixpkgs/pkgs/development/libraries/log4cplus/default.nix
@@ -1,13 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-let
-  name = "log4cplus-2.0.7";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "log4cplus";
+  version = "2.0.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
+    url = "mirror://sourceforge/log4cplus/log4cplus-${version}.tar.bz2";
     sha256 = "sha256-j626/uK6TlWKD3iEJhPJ+yOcd12D8jNA0JEITA4bEqs=";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/loudmouth/default.nix b/nixpkgs/pkgs/development/libraries/loudmouth/default.nix
index a8d9b23cc84c..fb5409a7e727 100644
--- a/nixpkgs/pkgs/development/libraries/loudmouth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/loudmouth/default.nix
@@ -22,8 +22,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight C library for the Jabber protocol";
     platforms = platforms.all;
     downloadPage = "http://mcabber.com/files/loudmouth/";
-    downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$";
-    updateWalker = true;
     license = licenses.lgpl21;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/lzlib/default.nix b/nixpkgs/pkgs/development/libraries/lzlib/default.nix
index 9c5311d742a9..d0064947c929 100644
--- a/nixpkgs/pkgs/development/libraries/lzlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lzlib/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchurl, texinfo }:
+{ lib, stdenv, fetchurl, texinfo, lzip }:
 
 stdenv.mkDerivation rec {
   pname = "lzlib";
-  version = "1.12";
+  version = "1.13";
   outputs = [ "out" "info" ];
 
-  nativeBuildInputs = [ texinfo ];
+  nativeBuildInputs = [ texinfo lzip ];
 
   src = fetchurl {
-    url = "mirror://savannah/lzip/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-jl2EJC61LPHcyY5YvZuo7xrvpQFDGr3QJzoiv0zjN7E=";
+    url = "mirror://savannah/lzip/${pname}/${pname}-${version}.tar.lz";
+    sha256 = "sha256-3ea9WzJTXxeyjJrCS2ZgfgJQUGrBQypBEso8c/XWYsM=";
   };
 
-  makeFlags = [ "AR:=$(AR)" "CC:=$(CC)" ];
+  makeFlags = [ "CC:=$(CC)" ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/mapbox-gl-qml/default.nix b/nixpkgs/pkgs/development/libraries/mapbox-gl-qml/default.nix
index 87e765766227..49a7f26220dd 100644
--- a/nixpkgs/pkgs/development/libraries/mapbox-gl-qml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mapbox-gl-qml/default.nix
@@ -11,13 +11,13 @@
 
 mkDerivation rec {
   pname = "mapbox-gl-qml";
-  version = "1.7.6";
+  version = "1.7.7.1";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "mapbox-gl-qml";
     rev = version;
-    sha256 = "sha256-E6Pkr8khzDbhmJxzK943+H6cDREgwAqMnJQ3hQWU7fw=";
+    hash = "sha256-lmL9nawMY8rNNBV4zNF4N1gn9XZzIZ9Cw2ZRs9bjBaI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/mauikit-filebrowsing/default.nix b/nixpkgs/pkgs/development/libraries/mauikit-filebrowsing/default.nix
index 326f4b67ee29..90053b16fc8c 100644
--- a/nixpkgs/pkgs/development/libraries/mauikit-filebrowsing/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mauikit/default.nix b/nixpkgs/pkgs/development/libraries/mauikit/default.nix
index 88436dd5e638..22e3748fe48b 100644
--- a/nixpkgs/pkgs/development/libraries/mauikit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mbedtls/default.nix b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
index 9210f18ed962..8bba8f0efe0e 100644
--- a/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix
@@ -15,13 +15,13 @@ stdenv.mkDerivation rec {
   # versions. See
   #  * https://github.com/NixOS/nixpkgs/pull/119838#issuecomment-822100428
   #  * https://github.com/NixOS/nixpkgs/commit/0ee02a9d42b5fe1825b0f7cee7a9986bb4ba975d
-  version = "2.26.0"; # nixpkgs-update: no auto update
+  version = "2.28.0"; # nixpkgs-update: no auto update
 
   src = fetchFromGitHub {
     owner = "ARMmbed";
     repo = "mbedtls";
     rev = "${pname}-${version}";
-    sha256 = "0scwpmrgvg6q7rvqkc352d2fqlsx0aylcbyibcp1f1rsn8iiif2m";
+    sha256 = "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=";
   };
 
   nativeBuildInputs = [ cmake ninja perl python3 ];
diff --git a/nixpkgs/pkgs/development/libraries/mdds/default.nix b/nixpkgs/pkgs/development/libraries/mdds/default.nix
index 4ddd3b40d364..8ca137e66119 100644
--- a/nixpkgs/pkgs/development/libraries/mdds/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mdds/default.upstream b/nixpkgs/pkgs/development/libraries/mdds/default.upstream
deleted file mode 100644
index 96c5bc35d169..000000000000
--- a/nixpkgs/pkgs/development/libraries/mdds/default.upstream
+++ /dev/null
@@ -1,10 +0,0 @@
-url https://gitlab.com/mdds/mdds
-version_link 'mdds-.*[.]tar[.][a-z0-9]+$'
-version '.*-([0-9.]+)[.]tar[.].*' '\1'
-
-do_overwrite(){
-  ensure_hash
-  ensure_version
-  set_var_value version $CURRENT_VERSION
-  set_var_value sha256 $CURRENT_HASH
-}
diff --git a/nixpkgs/pkgs/development/libraries/menu-cache/default.nix b/nixpkgs/pkgs/development/libraries/menu-cache/default.nix
index b2f06b9e627b..66fadee0b31f 100644
--- a/nixpkgs/pkgs/development/libraries/menu-cache/default.nix
+++ b/nixpkgs/pkgs/development/libraries/menu-cache/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, glib, pkg-config, libfm-extra }:
 
-let name = "menu-cache-1.1.0";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "menu-cache";
+  version = "1.1.0";
+
   src = fetchurl {
-    url = "mirror://sourceforge/lxde/${name}.tar.xz";
+    url = "mirror://sourceforge/lxde/menu-cache-${version}.tar.xz";
     sha256 = "1iry4zlpppww8qai2cw4zid4081hh7fz8nzsp5lqyffbkm2yn0pd";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix
index 69f43d31da71..b91e140345de 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix
@@ -33,7 +33,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.3.4";
+  version = "21.3.5";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -47,7 +47,7 @@ self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
     ];
-    sha256 = "0zd6skf9qcwlk1k1ljgwijwlyz5si3pgi0h97gd6kkivm7a4y43p";
+    sha256 = "0k2ary16ixsrp65m2n5djpr51nbwdgzpv81pfrnqbvk44jfjlfyr";
   };
 
   # TODO:
diff --git a/nixpkgs/pkgs/development/libraries/minizip/default.nix b/nixpkgs/pkgs/development/libraries/minizip/default.nix
index bb62a9b3b2ba..1fb737ed7a75 100644
--- a/nixpkgs/pkgs/development/libraries/minizip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mlt/default.nix b/nixpkgs/pkgs/development/libraries/mlt/default.nix
index a4f0289cd58e..b73289ca82ff 100644
--- a/nixpkgs/pkgs/development/libraries/mlt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mlt/default.nix
@@ -1,5 +1,5 @@
 { 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
 , jack2, ladspa-sdk, swig, which, ncurses
@@ -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;
diff --git a/nixpkgs/pkgs/development/libraries/mm-common/default.nix b/nixpkgs/pkgs/development/libraries/mm-common/default.nix
index 44f78daec72d..e1eaa1d924b7 100644
--- a/nixpkgs/pkgs/development/libraries/mm-common/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mpich/default.nix b/nixpkgs/pkgs/development/libraries/mpich/default.nix
index 7fe1dc33134b..570a123f8609 100644
--- a/nixpkgs/pkgs/development/libraries/mpich/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mpich/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, perl, gfortran
-, openssh, hwloc
+, openssh, hwloc, python3
 # either libfabric or ucx work for ch4backend on linux. On darwin, neither of
 # these libraries currently build so this argument is ignored on Darwin.
 , ch4backend
@@ -11,11 +11,11 @@ assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric");
 
 stdenv.mkDerivation  rec {
   pname = "mpich";
-  version = "3.4.3";
+  version = "4.0";
 
   src = fetchurl {
     url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
-    sha256 = "1msg5i2mcmjix5pvpa84dwmlqpqm3206frl1060k342i62gxhm41";
+    sha256 = "0r7zzcj8b9dbf5lp2d81wcvffi38c1zchkgzyxckk51adv4ijx6z";
   };
 
   configureFlags = [
@@ -26,7 +26,7 @@ stdenv.mkDerivation  rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ gfortran ];
+  nativeBuildInputs = [ gfortran python3 ];
   buildInputs = [ perl openssh hwloc ]
     ++ lib.optional (!stdenv.isDarwin) ch4backend;
 
diff --git a/nixpkgs/pkgs/development/libraries/mpir/default.nix b/nixpkgs/pkgs/development/libraries/mpir/default.nix
index b8ee4fb4e765..b7d31066de1a 100644
--- a/nixpkgs/pkgs/development/libraries/mpir/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mpir/default.nix
@@ -21,6 +21,5 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.unix;
     downloadPage = "https://mpir.org/downloads.html";
     homepage = "https://mpir.org/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/mysocketw/default.nix b/nixpkgs/pkgs/development/libraries/mysocketw/default.nix
index 7997fc18d111..62bd7cea1a1a 100644
--- a/nixpkgs/pkgs/development/libraries/mysocketw/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mysocketw/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchurl, openssl }:
+{ lib, stdenv, fetchFromGitHub, openssl, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "mysocketw";
-  version = "031026";
-  src = fetchurl {
-    url = "https://www.digitalfanatics.org/cal/socketw/files/SocketW${version}.tar.gz";
-    sha256 = "0crinikhdl7xihzmc3k3k41pgxy16d5ci8m9sza1lbibns7pdwj4";
-  };
+  version = "3.10.27";
 
-  patches = [ ./gcc.patch ];
+  src = fetchFromGitHub {
+    owner = "RigsOfRods";
+    repo = "socketw";
+    rev = version;
+    sha256 = "0xqcgwb1lyc2d8834sq5adbmggyn6vvb26jw20862sxa15j0qfd4";
+  };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ openssl ];
 
   postPatch = lib.optionalString stdenv.isDarwin ''
@@ -17,8 +19,6 @@ stdenv.mkDerivation rec {
         --replace -Wl,-soname, -Wl,-install_name,$out/lib/
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "CXX=${stdenv.cc.targetPrefix}c++" ];
-
   meta = {
     description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
     license = lib.licenses.lgpl21Plus;
diff --git a/nixpkgs/pkgs/development/libraries/mythes/default.nix b/nixpkgs/pkgs/development/libraries/mythes/default.nix
index b678baf98819..2c4312d6498d 100644
--- a/nixpkgs/pkgs/development/libraries/mythes/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mythes/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, hunspell, ncurses, pkg-config, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mythes-1.2.4";
+  pname = "mythes";
+  version = "1.2.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/hunspell/${name}.tar.gz";
+    url = "mirror://sourceforge/hunspell/mythes-${version}.tar.gz";
     sha256 = "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/nanoflann/default.nix b/nixpkgs/pkgs/development/libraries/nanoflann/default.nix
index 0dbbd461dc21..477ff27078bf 100644
--- a/nixpkgs/pkgs/development/libraries/nanoflann/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ncnn/cmakelists.patch b/nixpkgs/pkgs/development/libraries/ncnn/cmakelists.patch
new file mode 100644
index 000000000000..23499a1b9922
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ncnn/cmakelists.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 98611276..989350bb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -260,6 +260,8 @@ if(NCNN_VULKAN)
+                 include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
+             endif()
+             include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
++            include("${GLSLANG_TARGET_DIR}/SPIRV-Tools/SPIRV-ToolsTarget.cmake")
++            include("${GLSLANG_TARGET_DIR}/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake")
+             include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
+ 
+             if (NOT TARGET glslang OR NOT TARGET SPIRV)
diff --git a/nixpkgs/pkgs/development/libraries/ncnn/default.nix b/nixpkgs/pkgs/development/libraries/ncnn/default.nix
new file mode 100644
index 000000000000..d53e0d9b42ea
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ncnn/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, vulkan-headers
+, vulkan-loader
+, glslang
+, opencv
+, protobuf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ncnn";
+  version = "20211208";
+
+  src = fetchFromGitHub {
+    owner = "Tencent";
+    repo = pname;
+    rev = version;
+    sha256 = "1c9axrnafksnks7v5fmi6nzs0qim9n6j5kh5d0vfl3b4r22irhqr";
+  };
+
+  patches = [
+    ./cmakelists.patch
+    ./gpu-include.patch
+  ];
+
+  cmakeFlags = [
+    "-DNCNN_CMAKE_VERBOSE=1" # Only for debugging the build
+    "-DNCNN_SHARED_LIB=1"
+    "-DNCNN_ENABLE_LTO=1"
+    "-DNCNN_VULKAN=1"
+    "-DNCNN_BUILD_EXAMPLES=0"
+    "-DNCNN_BUILD_TOOLS=0"
+    "-DNCNN_SYSTEM_GLSLANG=1"
+    "-DNCNN_PYTHON=0" # Should be an attribute
+
+    "-DGLSLANG_TARGET_DIR=${glslang}/lib/cmake"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ vulkan-headers vulkan-loader glslang opencv protobuf ];
+
+  meta = with lib; {
+    description = "ncnn is a high-performance neural network inference framework optimized for the mobile platform";
+    homepage = "https://github.com/Tencent/ncnn";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ tilcreator ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ncnn/gpu-include.patch b/nixpkgs/pkgs/development/libraries/ncnn/gpu-include.patch
new file mode 100644
index 000000000000..8f751c769947
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ncnn/gpu-include.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gpu.cpp b/src/gpu.cpp
+index 51cd7f95..bf7ed828 100644
+--- a/src/gpu.cpp
++++ b/src/gpu.cpp
+@@ -21,7 +21,7 @@
+ #include <vulkan/vulkan.h>
+ 
+ #include "glslang/SPIRV/GlslangToSpv.h"
+-#include "glslang/glslang/Public/ShaderLang.h"
++#include "glslang/Public/ShaderLang.h"
+ 
+ #include "command.h"
+ #include "layer.h"
diff --git a/nixpkgs/pkgs/development/libraries/nco/default.nix b/nixpkgs/pkgs/development/libraries/nco/default.nix
index f6ca87a5e96a..9d90e399ca77 100644
--- a/nixpkgs/pkgs/development/libraries/nco/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ncurses/default.nix b/nixpkgs/pkgs/development/libraries/ncurses/default.nix
index b7ca4df88857..efab246bb1f0 100644
--- a/nixpkgs/pkgs/development/libraries/ncurses/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ncurses/default.nix
@@ -1,20 +1,18 @@
-{ lib, stdenv, fetchurl, pkg-config
-
+{ lib
+, stdenv
+, fetchurl
+, buildPackages
+, pkg-config
 , abiVersion ? "6"
-, mouseSupport ? false
-, unicode ? true
 , enableStatic ? stdenv.hostPlatform.isStatic
-, enableShared ? !enableStatic
 , withCxx ? !stdenv.hostPlatform.useAndroidPrebuilt
-
-, gpm
-
-, buildPackages
+, mouseSupport ? false, gpm
+, unicodeSupport ? true
 }:
 
 stdenv.mkDerivation rec {
   # Note the revision needs to be adjusted.
-  version = "6.2";
+  version = "6.3";
   name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
 
   # We cannot use fetchFromGitHub (which calls fetchzip)
@@ -24,20 +22,21 @@ stdenv.mkDerivation rec {
     rev = "v${version}";
   in fetchurl {
     url = "https://github.com/mirror/ncurses/archive/${rev}.tar.gz";
-    sha256 = "15r2456g0mlq2q7gh2z52vl6zv6y0z8sdchrs80kg4idqd8sm8fd";
+    sha256 = "1mawdjhzl2na2j0dylwc37f5w95rhgyvlwnfhww5rz2r7fgkvayv";
   };
 
   outputs = [ "out" "dev" "man" ];
   setOutputFlags = false; # some aren't supported
 
   configureFlags = [
-    (lib.withFeature enableShared "shared")
+    (lib.withFeature (!enableStatic) "shared")
     "--without-debug"
     "--enable-pc-files"
     "--enable-symlinks"
     "--with-manpage-format=normal"
     "--disable-stripping"
-  ] ++ lib.optional unicode "--enable-widec"
+    "--with-versioned-syms"
+  ] ++ lib.optional unicodeSupport "--enable-widec"
     ++ lib.optional (!withCxx) "--without-cxx"
     ++ lib.optional (abiVersion == "5") "--with-abi-version=5"
     ++ lib.optional stdenv.hostPlatform.isNetBSD "--enable-rpath"
@@ -49,12 +48,16 @@ stdenv.mkDerivation rec {
   # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
   CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED";
 
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  depsBuildBuild = [
+    buildPackages.stdenv.cc
+  ];
+
   nativeBuildInputs = [
     pkg-config
   ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     buildPackages.ncurses
   ];
+
   buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm;
 
   preConfigure = ''
@@ -147,31 +150,26 @@ stdenv.mkDerivation rec {
     rm "$out"/lib/*.a
   '';
 
-  meta = {
+  meta = with lib; {
+    homepage = "https://www.gnu.org/software/ncurses/";
     description = "Free software emulation of curses in SVR4 and more";
-
     longDescription = ''
-      The Ncurses (new curses) library is a free software emulation of
-      curses in System V Release 4.0, and more.  It uses Terminfo
-      format, supports pads and color and multiple highlights and
-      forms characters and function-key mapping, and has all the other
-      SYSV-curses enhancements over BSD Curses.
-
-      The ncurses code was developed under GNU/Linux.  It has been in
-      use for some time with OpenBSD as the system curses library, and
-      on FreeBSD and NetBSD as an external package.  It should port
-      easily to any ANSI/POSIX-conforming UNIX.  It has even been
-      ported to OS/2 Warp!
+      The Ncurses (new curses) library is a free software emulation of curses in
+      System V Release 4.0, and more. It uses Terminfo format, supports pads and
+      color and multiple highlights and forms characters and function-key
+      mapping, and has all the other SYSV-curses enhancements over BSD Curses.
+
+      The ncurses code was developed under GNU/Linux. It has been in use for
+      some time with OpenBSD as the system curses library, and on FreeBSD and
+      NetBSD as an external package. It should port easily to any
+      ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp!
     '';
-
-    homepage = "https://www.gnu.org/software/ncurses/";
-
-    license = lib.licenses.mit;
-    platforms = lib.platforms.all;
+    license = licenses.mit;
+    platforms = platforms.all;
   };
 
   passthru = {
     ldflags = "-lncurses";
-    inherit unicode abiVersion;
+    inherit unicodeSupport abiVersion;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ndpi/default.nix b/nixpkgs/pkgs/development/libraries/ndpi/default.nix
index a45884f72dc6..2e8a997299f1 100644
--- a/nixpkgs/pkgs/development/libraries/ndpi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/neardal/default.nix b/nixpkgs/pkgs/development/libraries/neardal/default.nix
index 43f63d91a618..bbcefa0a4433 100644
--- a/nixpkgs/pkgs/development/libraries/neardal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/neardal/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, glib, readline, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "neardal-0.7-post-git-20150930";
+  pname = "neardal";
+  version = "unstable-0.7-post-git-2015-09-30";
 
   src = fetchFromGitHub {
     owner = "connectivity";
diff --git a/nixpkgs/pkgs/development/libraries/neon/0.29.nix b/nixpkgs/pkgs/development/libraries/neon/0.29.nix
deleted file mode 100644
index e0437fb7cea1..000000000000
--- a/nixpkgs/pkgs/development/libraries/neon/0.29.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, stdenv, fetchurl, libxml2, pkg-config, perl
-, compressionSupport ? true, zlib ? null
-, sslSupport ? true, openssl ? null
-, static ? false
-, shared ? true
-}:
-
-assert compressionSupport -> zlib != null;
-assert sslSupport -> openssl != null;
-assert static || shared;
-
-let
-   inherit (lib) optionals;
-in
-
-stdenv.mkDerivation rec {
-  version = "0.29.6";
-  pname = "neon";
-
-  src = fetchurl {
-    url = "http://www.webdav.org/neon/${pname}-${version}.tar.gz";
-    sha256 = "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w";
-  };
-
-  patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [libxml2 openssl]
-    ++ lib.optional compressionSupport zlib;
-
-  configureFlags = [
-    (lib.enableFeature shared "shared")
-    (lib.enableFeature static "static")
-    (lib.withFeature compressionSupport "zlib")
-    (lib.withFeature sslSupport "ssl")
-  ];
-
-  passthru = {inherit compressionSupport sslSupport;};
-
-  checkInputs = [ perl ];
-  doCheck = false; # fails, needs the net
-
-  meta = with lib; {
-    description = "An HTTP and WebDAV client library";
-    homepage = "http://www.webdav.org/neon/";
-    platforms = platforms.unix;
-    license = licenses.lgpl2;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch b/nixpkgs/pkgs/development/libraries/neon/darwin-fix-configure.patch
index 87222a9c0ce0..87222a9c0ce0 100644
--- a/nixpkgs/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch
+++ b/nixpkgs/pkgs/development/libraries/neon/darwin-fix-configure.patch
diff --git a/nixpkgs/pkgs/development/libraries/neon/default.nix b/nixpkgs/pkgs/development/libraries/neon/default.nix
index 739c5e07d206..a39ece28aae9 100644
--- a/nixpkgs/pkgs/development/libraries/neon/default.nix
+++ b/nixpkgs/pkgs/development/libraries/neon/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "0y46dbhiblcvg8k41bdydr3fivghwk73z040ki5825d24ynf67ng";
   };
 
-  patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
+  patches = optionals stdenv.isDarwin [ ./darwin-fix-configure.patch ];
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [libxml2 openssl]
diff --git a/nixpkgs/pkgs/development/libraries/nghttp3/default.nix b/nixpkgs/pkgs/development/libraries/nghttp3/default.nix
index 85a66f940658..fc2416c2cfb0 100644
--- a/nixpkgs/pkgs/development/libraries/nghttp3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nghttp3/default.nix
@@ -1,20 +1,21 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config
-, cunit, file
+, cunit, file, ncurses
 }:
 
 stdenv.mkDerivation rec {
   pname = "nghttp3";
-  version = "unstable-2021-11-10";
+  version = "unstable-2021-12-22";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
-    rev = "270e75447ed9e2a05b78ba89d0699d076230ea60";
-    sha256 = "01cla03cv8nd2rf5p77h0xzvn9f8sfwn8pp3r2jshvqp9ipa8065";
+    rev = "8d8184acf850b06b53157bba39022bc7b7b5f1cd";
+    sha256 = "sha256-pV1xdQa5RBz17jDINC2uN1Q+jpa2edDwqTqf8D5VU3E=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config cunit file ];
+  nativeBuildInputs = [ autoreconfHook pkg-config file ];
+  checkInputs = [ cunit ncurses ];
 
   preConfigure = ''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -23,12 +24,13 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   doCheck = true;
+  enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://github.com/ngtcp2/nghttp3";
     description = "nghttp3 is an implementation of HTTP/3 mapping over QUIC and QPACK in C.";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ izorkin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/ngtcp2/default.nix b/nixpkgs/pkgs/development/libraries/ngtcp2/default.nix
index 0d4002ca10d7..650516d360cf 100644
--- a/nixpkgs/pkgs/development/libraries/ngtcp2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ngtcp2/default.nix
@@ -1,22 +1,24 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config
-, cunit, file
-, jemalloc, libev, nghttp3, quictls
+, cunit, file, ncurses
+, libev, nghttp3, quictls
+, withJemalloc ? false, jemalloc
 }:
 
 stdenv.mkDerivation rec {
   pname = "ngtcp2";
-  version = "unstable-2021-11-10";
+  version = "unstable-2021-12-19";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
-    rev = "7039808c044152c14b44046468bd16249b4d7048";
-    sha256 = "1cjsky24f6fazw9b1r6w9cgp09vi8wp99sv76gg2b1r8ic3hgq23";
+    rev = "20c710a8789ec910455ae4e588c72e9e39f8cec9";
+    sha256 = "sha256-uBmD26EYT8zxmHD5FuHCbEuTdWxer/3uhRp8PhUT87M=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config cunit file ];
-  buildInputs = [ jemalloc libev nghttp3 quictls ];
+  nativeBuildInputs = [ autoreconfHook pkg-config file ];
+  buildInputs = [ libev nghttp3 quictls ] ++ lib.optional withJemalloc jemalloc;
+  checkInputs = [ cunit ncurses ];
 
   preConfigure = ''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -25,12 +27,13 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   doCheck = true;
+  enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://github.com/ngtcp2/ngtcp2";
     description = "ngtcp2 project is an effort to implement QUIC protocol which is now being discussed in IETF QUICWG for its standardization.";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ izorkin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/notcurses/default.nix b/nixpkgs/pkgs/development/libraries/notcurses/default.nix
index 07ef398e6f8a..f4a9b67e94d6 100644
--- a/nixpkgs/pkgs/development/libraries/notcurses/default.nix
+++ b/nixpkgs/pkgs/development/libraries/notcurses/default.nix
@@ -1,51 +1,63 @@
-{ stdenv
+{ lib
+, stdenv
+, fetchFromGitHub
 , cmake
-, pkg-config
-, pandoc
+, libdeflate
 , libunistring
 , ncurses
+, pandoc
+, pkg-config
 , zlib
-, ffmpeg
-, fetchFromGitHub
-, lib
-, multimediaSupport ? true
+, multimediaSupport ? true, ffmpeg
+, qrcodegenSupport ? true, qrcodegen
 }:
 
 stdenv.mkDerivation rec {
   pname = "notcurses";
-  version = "2.4.9";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "dankamongmen";
     repo = "notcurses";
     rev = "v${version}";
-    sha256 = "sha256-J7yTNMvmcm69B+yF0PYLXFG8kkcnffWyUx3kEFU0ToI=";
+    sha256 = "sha256-DGAE3XomAoRhAkKUCxmr8R0dhNXeusSgETzmsbV1RhQ=";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cmake pkg-config pandoc ];
-
-  buildInputs = [ libunistring ncurses zlib ]
-    ++ lib.optional multimediaSupport ffmpeg;
-
-  cmakeFlags = [ "-DUSE_QRCODEGEN=OFF" ]
+  nativeBuildInputs = [
+    cmake
+    pandoc
+    pkg-config
+  ];
+
+  buildInputs = [
+    libdeflate
+    libunistring
+    ncurses
+    zlib
+  ]
+  ++ lib.optional qrcodegenSupport qrcodegen
+  ++ lib.optional multimediaSupport ffmpeg;
+
+  cmakeFlags =
+    lib.optional (qrcodegenSupport) "-DUSE_QRCODEGEN=ON"
     ++ lib.optional (!multimediaSupport) "-DUSE_MULTIMEDIA=none";
 
   meta = with lib; {
-    description = "blingful TUIs and character graphics";
+    homepage = "https://github.com/dankamongmen/notcurses";
+    description = "Blingful TUIs and character graphics";
     longDescription = ''
-      A library facilitating complex TUIs on modern terminal emulators,
-      supporting vivid colors, multimedia, and Unicode to the maximum degree
-      possible. Things can be done with Notcurses that simply can't be done
-      with NCURSES.
+      Notcurses is a library facilitating complex TUIs on modern terminal
+      emulators, supporting vivid colors, multimedia, and Unicode to the maximum
+      degree possible. Things can be done with Notcurses that simply can't be
+      done with NCURSES.
 
       It is not a source-compatible X/Open Curses implementation, nor a
       replacement for NCURSES on existing systems.
     '';
-    homepage = "https://github.com/dankamongmen/notcurses";
     license = licenses.asl20;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ jb55 ];
+    maintainers = with maintainers; [ jb55 AndersonTorres ];
+    inherit (ncurses.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/npth/default.nix b/nixpkgs/pkgs/development/libraries/npth/default.nix
index a5ac9ce99127..208924bfd7b5 100644
--- a/nixpkgs/pkgs/development/libraries/npth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/npth/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-1.6";
+  pname = "npth";
+  version = "1.6";
 
   src = fetchurl {
-    url = "mirror://gnupg/npth/${name}.tar.bz2";
+    url = "mirror://gnupg/npth/npth-${version}.tar.bz2";
     sha256 = "1lg2lkdd3z1s3rpyf88786l243adrzyk9p4q8z9n41ygmpcsp4qk";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/nspr/default.nix b/nixpkgs/pkgs/development/libraries/nspr/default.nix
index 8048ef2a5e70..1a8eb93ce3d4 100644
--- a/nixpkgs/pkgs/development/libraries/nspr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nspr/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nspr";
-  version = "4.32";
+  version = "4.33";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "0v3zds1id71j5a5si42a658fjz8nv2f6zp6w4gqrqmdr6ksz8sxv";
+    sha256 = "1mwklrsx05ga30crr9xi6nl4d49d5mzx2x533bxw4l0fpqay6gmj";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/nss/default.nix b/nixpkgs/pkgs/development/libraries/nss/default.nix
index 4a69ad54c4e4..e92b3dec07be 100644
--- a/nixpkgs/pkgs/development/libraries/nss/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nss/default.nix
@@ -27,7 +27,7 @@ let
   #       It will rebuild itself using the version of this package (NSS) and if
   #       an update is required do the required changes to the expression.
   #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
-  version = "3.73";
+  version = "3.74";
 
 in
 stdenv.mkDerivation rec {
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "1rfqjq02rfv0ycdmvic51pi093rg33zb8kpqkvddf44vv9l3lvan";
+    sha256 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/nixpkgs/pkgs/development/libraries/nsync/default.nix b/nixpkgs/pkgs/development/libraries/nsync/default.nix
new file mode 100644
index 000000000000..a00893c15732
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/nsync/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nsync";
+  version = "1.24.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-jQJtlBDR6efBe1tFOUOZ6awaMTT33qM/GbvbwiWTZxw=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    homepage = "https://github.com/google/nsync";
+    description = "C library that exports various synchronization primitives";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ puffnfresh ];
+    # On macOS we get an error for some reason:
+    # > mkdir: cannot create directory 'build': File exists
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ntrack/default.nix b/nixpkgs/pkgs/development/libraries/ntrack/default.nix
index eef6bbdd580f..a10434d90b41 100644
--- a/nixpkgs/pkgs/development/libraries/ntrack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ntrack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, qt4, pkg-config, libnl, python }:
+{ lib, stdenv, fetchurl, qt4, pkg-config, libnl, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "ntrack";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libnl qt4 ];
 
-  nativeBuildInputs = [ pkg-config python ];
+  nativeBuildInputs = [ pkg-config python3 ];
 
   # error: ISO C does not support '__FUNCTION__' predefined identifier [-Werror=pedantic]
   NIX_CFLAGS_COMPILE = "-Wno-error";
diff --git a/nixpkgs/pkgs/development/libraries/nuspell/default.nix b/nixpkgs/pkgs/development/libraries/nuspell/default.nix
index b7f438e9d072..a9e0bb4ea68f 100644
--- a/nixpkgs/pkgs/development/libraries/nuspell/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nuspell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "5.0.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "039ryhwfbbrrhavzyr999kngj10nk9n81i6qigxj6igfl4fzjy87";
+    sha256 = "sha256-ogA7ycqdMUTN/KHV2oZzytnhZ7XVuhx+ArXZqLlmwjk=";
   };
 
   nativeBuildInputs = [ cmake pkg-config pandoc ];
diff --git a/nixpkgs/pkgs/development/libraries/nv-codec-headers/11_x.nix b/nixpkgs/pkgs/development/libraries/nv-codec-headers/11_x.nix
index a4bdd600282d..284905cd4aa3 100644
--- a/nixpkgs/pkgs/development/libraries/nv-codec-headers/11_x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/nvidia-vaapi-driver/default.nix b/nixpkgs/pkgs/development/libraries/nvidia-vaapi-driver/default.nix
new file mode 100644
index 000000000000..1ba000a8103b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix b/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix
index 616792787818..cd65630879ef 100644
--- a/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix
@@ -8,11 +8,12 @@
 , withNvidiaCg ? false, nvidia_cg_toolkit
 , withSamples ? false }:
 
-stdenv.mkDerivation {
-  name = "ogre-1.10.11";
+stdenv.mkDerivation rec {
+  pname = "ogre";
+  version = "1.10.11";
 
   src = fetchurl {
-     url = "https://bitbucket.org/sinbad/ogre/get/v1-10-11.tar.gz";
+     url = "https://bitbucket.org/sinbad/ogre/get/v${lib.replaceStrings ["."] ["-"] version}.tar.gz";
      sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/olm/default.nix b/nixpkgs/pkgs/development/libraries/olm/default.nix
index e5c2d66827bf..baae8ae81b72 100644
--- a/nixpkgs/pkgs/development/libraries/olm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/olm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.2.8";
+  version = "3.2.9";
 
   src = fetchFromGitLab {
     domain = "gitlab.matrix.org";
     owner = "matrix-org";
     repo = pname;
     rev = version;
-    sha256 = "1jfhydfcnqpksb2bhi960v3h10prf4v5gx42mm2rp6p0jfbqcy50";
+    sha256 = "1vcxxnhsskvnkmk5ial31mvbhs1jwriw8ngyhfslbd30fr9ylw08";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/opae/default.nix b/nixpkgs/pkgs/development/libraries/opae/default.nix
index cba7e7b285d9..4e9e4d79dd2f 100644
--- a/nixpkgs/pkgs/development/libraries/opae/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opae/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake
 , libuuid, json_c
-, doxygen, perl, python2, python2Packages
+, doxygen, perl, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -23,10 +23,11 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = [
     "-Wno-error=format-truncation"
     "-Wno-error=address-of-packed-member"
+    "-Wno-array-bounds"
   ];
 
-  nativeBuildInputs = [ cmake doxygen perl python2Packages.sphinx ];
-  buildInputs = [ libuuid json_c python2 ];
+  nativeBuildInputs = [ cmake doxygen perl python3.pkgs.sphinx ];
+  buildInputs = [ libuuid json_c python3 ];
 
   # Set the Epoch to 1980; otherwise the Python wheel/zip code
   # gets very angry
diff --git a/nixpkgs/pkgs/development/libraries/openal-soft/default.nix b/nixpkgs/pkgs/development/libraries/openal-soft/default.nix
index d28f7b25792e..d2cdebdf3553 100644
--- a/nixpkgs/pkgs/development/libraries/openal-soft/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/openbabel/2.nix b/nixpkgs/pkgs/development/libraries/openbabel/2.nix
index 4f2f31d614c3..3e989561470c 100644
--- a/nixpkgs/pkgs/development/libraries/openbabel/2.nix
+++ b/nixpkgs/pkgs/development/libraries/openbabel/2.nix
@@ -1,4 +1,4 @@
-{stdenv, lib, fetchFromGitHub, fetchpatch, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkg-config }:
+{stdenv, lib, fetchFromGitHub, fetchpatch, cmake, zlib, libxml2, eigen, python3, cairo, pcre, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "openbabel";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ zlib libxml2 eigen python cairo pcre ];
+  buildInputs = [ zlib libxml2 eigen python3 cairo pcre ];
 
   nativeBuildInputs = [ cmake pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/libraries/opencl-headers/default.nix b/nixpkgs/pkgs/development/libraries/opencl-headers/default.nix
index 661fd734d886..879a916d3ea6 100644
--- a/nixpkgs/pkgs/development/libraries/opencl-headers/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/opencv/4.x.nix b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
index 10459d959b29..0c6f9fb90c0c 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
@@ -275,7 +275,12 @@ stdenv.mkDerivation {
   propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy
     ++ lib.optionals enableCuda [ cudatoolkit nvidia-optical-flow-sdk ];
 
-  nativeBuildInputs = [ cmake pkg-config unzip ];
+  nativeBuildInputs = [ cmake pkg-config unzip ]
+  ++ lib.optionals enablePython [
+    pythonPackages.pip
+    pythonPackages.wheel
+    pythonPackages.setuptools
+  ];
 
   NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
@@ -333,6 +338,21 @@ stdenv.mkDerivation {
   postInstall = ''
     sed -i "s|{exec_prefix}/$out|{exec_prefix}|;s|{prefix}/$out|{prefix}|" \
       "$out/lib/pkgconfig/opencv4.pc"
+  ''
+  # install python distribution information, so other packages can `import opencv`
+  + lib.optionalString enablePython ''
+    pushd $NIX_BUILD_TOP/$sourceRoot/modules/python/package
+    python -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .
+
+    pushd dist
+    python -m pip install ./*.whl --no-index --no-warn-script-location --prefix="$out" --no-cache
+
+    # the cv2/__init__.py just tries to check provide "nice user feedback" if the installation is bad
+    # however, this also causes infinite recursion when used by other packages
+    rm -r $out/${pythonPackages.python.sitePackages}/cv2
+
+    popd
+    popd
   '';
 
   passthru = lib.optionalAttrs enablePython { pythonPath = [ ]; };
diff --git a/nixpkgs/pkgs/development/libraries/opencv/default.nix b/nixpkgs/pkgs/development/libraries/opencv/default.nix
index ed2f700dc82e..34dcd240838e 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencv/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, unzip
 , zlib
-, enablePython ? false, pythonPackages
+, enablePython ? false, python2Packages
 , enableGtk2 ? false, gtk2
 , enableJPEG ? true, libjpeg
 , enablePNG ? true, libpng
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
        [ zlib ]
-    ++ lib.optional enablePython pythonPackages.python
+    ++ lib.optional enablePython python2Packages.python
     ++ lib.optional enableGtk2 gtk2
     ++ lib.optional enableJPEG libjpeg
     ++ lib.optional enablePNG libpng
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals stdenv.isDarwin [ Cocoa QTKit ]
     ;
 
-  propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
+  propagatedBuildInputs = lib.optional enablePython python2Packages.numpy;
 
   nativeBuildInputs = [ cmake pkg-config unzip ];
 
diff --git a/nixpkgs/pkgs/development/libraries/opendbx/default.nix b/nixpkgs/pkgs/development/libraries/opendbx/default.nix
index a9eb209edda8..9a7877a9938a 100644
--- a/nixpkgs/pkgs/development/libraries/opendbx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opendbx/default.nix
@@ -3,10 +3,11 @@
 let inherit (lib) getDev; in
 
 stdenv.mkDerivation rec {
-  name = "opendbx-1.4.6";
+  pname = "opendbx";
+  version = "1.4.6";
 
   src = fetchurl {
-    url = "https://linuxnetworks.de/opendbx/download/${name}.tar.gz";
+    url = "https://linuxnetworks.de/opendbx/download/opendbx-${version}.tar.gz";
     sha256 = "0z29h6zx5f3gghkh1a0060w6wr572ci1rl2a3480znf728wa0ii2";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/opendht/default.nix b/nixpkgs/pkgs/development/libraries/opendht/default.nix
index d785146ecb07..fa9fc1f87eeb 100644
--- a/nixpkgs/pkgs/development/libraries/opendht/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/openexr/3.nix b/nixpkgs/pkgs/development/libraries/openexr/3.nix
index 24af4e429a02..3cfe173875c0 100644
--- a/nixpkgs/pkgs/development/libraries/openexr/3.nix
+++ b/nixpkgs/pkgs/development/libraries/openexr/3.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , zlib
 , cmake
 , imath
@@ -19,9 +20,26 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Bi6yTcZBWTsWWMm3A7FVYblvSXKLSkHmhGvpNYGiOzE=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-45942.patch";
+      url = "https://github.com/AcademySoftwareFoundation/openexr/commit/11cad77da87c4fa2aab7d58dd5339e254db7937e.patch";
+      sha256 = "1qa8662ga5i0lyfi9mkj9s9bygdg7h1i6ahki28c664kxrlsakch";
+    })
+  ];
+
+  # tests are determined to use /var/tmp on unix
+  postPatch = ''
+    cat <(find . -name tmpDir.h) <(echo src/test/OpenEXRCoreTest/main.cpp) | while read -r f ; do
+      substituteInPlace $f --replace '/var/tmp' "$TMPDIR"
+    done
+  '';
+
   nativeBuildInputs = [ cmake ];
   propagatedBuildInputs = [ imath zlib ];
 
+  doCheck = true;
+
   meta = with lib; {
     description = "A high dynamic-range (HDR) image file format";
     homepage = "https://www.openexr.com/";
diff --git a/nixpkgs/pkgs/development/libraries/openexr/default.nix b/nixpkgs/pkgs/development/libraries/openexr/default.nix
index d60b7b7fc436..31ca48552755 100644
--- a/nixpkgs/pkgs/development/libraries/openexr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openexr/default.nix
@@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/AcademySoftwareFoundation/openexr/commit/2f19a01923885fda75ec9d19332de080ec7102bd.patch";
       sha256 = "1yxmrdzq1x1911wdzwnzr29jmg2r4wd4yx3vhjn0y5dpny0ri5y5";
     })
+    (fetchpatch {
+      name = "CVE-2021-45942.patch";
+      url = "https://github.com/AcademySoftwareFoundation/openexr/commit/11cad77da87c4fa2aab7d58dd5339e254db7937e.patch";
+      stripLen = 4;
+      extraPrefix = "OpenEXR/IlmImf/";
+      sha256 = "1wa2jn6sa0n3phaqvklnlbgk1bz60y756ad4jk4d757pzpnannsy";
+    })
   ];
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/openfec/default.nix b/nixpkgs/pkgs/development/libraries/openfec/default.nix
new file mode 100644
index 000000000000..2a0588a71ebd
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openfec/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchzip, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "openfec";
+  version = "1.4.2";
+
+  src = fetchzip {
+    url = "http://openfec.org/files/openfec_v1_4_2.tgz";
+    sha256 = "sha256:0c2lg8afr7lqpzrsi0g44a6h6s7nq4vz7yc9vm2k57ph2y6r86la";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = [ "-DDEBUG:STRING=OFF" ];
+
+  installPhase =
+    let so = stdenv.hostPlatform.extensions.sharedLibrary;
+    in ''
+      # This is pretty horrible but sadly there is not installation procedure
+      # provided.
+      mkdir -p $dev/include
+      cp -R ../src/* $dev/include
+      find $dev/include -type f -a ! -iname '*.h' -delete
+
+      install -D -m755 -t $out/lib ../bin/Release/libopenfec${so}
+      ln -s libopenfec${so} $out/lib/libopenfec${so}.1
+    '';
+
+  meta = with lib; {
+    description = "Application-level Forward Erasure Correction codes";
+    homepage = "https://github.com/roc-streaming/openfec";
+    license = licenses.cecill-c;
+    maintainers = with maintainers; [ bgamari ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/openh264/default.nix b/nixpkgs/pkgs/development/libraries/openh264/default.nix
index 3858cb4dc2d5..93fc495d3854 100644
--- a/nixpkgs/pkgs/development/libraries/openh264/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openh264/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, nasm }:
+{ lib, stdenv, fetchFromGitHub, nasm, windows }:
 
 stdenv.mkDerivation rec {
   pname = "openh264";
@@ -13,10 +13,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ nasm ];
 
+  buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads;
+
   makeFlags = [
     "PREFIX=${placeholder "out"}"
     "ARCH=${stdenv.hostPlatform.linuxArch}"
-  ];
+  ] ++ lib.optional stdenv.hostPlatform.isWindows "OS=mingw_nt";
+
+  enableParallelBuilding = true;
+
+  hardeningDisable = lib.optional stdenv.hostPlatform.isWindows "stackprotector";
 
   meta = with lib; {
     description = "A codec library which supports H.264 encoding and decoding";
diff --git a/nixpkgs/pkgs/development/libraries/openslp/default.nix b/nixpkgs/pkgs/development/libraries/openslp/default.nix
index 4fa03c5e7c1b..1eec70be6aca 100644
--- a/nixpkgs/pkgs/development/libraries/openslp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openslp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch }:
 
-stdenv.mkDerivation {
-  name = "openslp-2.0.0";
+stdenv.mkDerivation rec {
+  pname = "openslp";
+  version = "2.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openslp/2.0.0/2.0.0/openslp-2.0.0.tar.gz";
+    url = "mirror://sourceforge/openslp/${version}/${version}/openslp-${version}.tar.gz";
     sha256 = "16splwmqp0400w56297fkipaq9vlbhv7hapap8z09gp5m2i3fhwj";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/openssl/default.nix b/nixpkgs/pkgs/development/libraries/openssl/default.nix
index 30721129073b..390227cfe95c 100644
--- a/nixpkgs/pkgs/development/libraries/openssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openssl/default.nix
@@ -9,18 +9,11 @@
 , withPerl ? stdenv.hostPlatform == stdenv.buildPlatform
 }:
 
-assert (
-  lib.assertMsg (!withPerl -> stdenv.hostPlatform != stdenv.buildPlatform)
-  "withPerl should not be disabled unless cross compiling"
-);
-
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
 # cgit) that are needed here should be included directly in Nixpkgs as
 # files.
 
-with lib;
-
 let
   common = { version, sha256, patches ? [], withDocs ? false, extraMeta ? {} }:
    stdenv.mkDerivation rec {
@@ -36,7 +29,7 @@ let
 
     postPatch = ''
       patchShebangs Configure
-    '' + optionalString (versionOlder version "1.1.0") ''
+    '' + lib.optionalString (lib.versionOlder version "1.1.0") ''
       patchShebangs test/*
       for a in test/t* ; do
         substituteInPlace "$a" \
@@ -44,15 +37,15 @@ let
       done
     ''
     # config is a configure script which is not installed.
-    + optionalString (versionAtLeast version "1.1.1") ''
+    + lib.optionalString (lib.versionAtLeast version "1.1.1") ''
       substituteInPlace config --replace '/usr/bin/env' '${buildPackages.coreutils}/bin/env'
-    '' + optionalString (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) ''
+    '' + lib.optionalString (lib.versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) ''
       substituteInPlace crypto/async/arch/async_posix.h \
         --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \
                   '!defined(__ANDROID__) && !defined(__OpenBSD__) && 0'
     '';
 
-    outputs = [ "bin" "dev" "out" "man" ] ++ optional withDocs "doc";
+    outputs = [ "bin" "dev" "out" "man" ] ++ lib.optional withDocs "doc";
     setOutputFlags = false;
     separateDebugInfo =
       !stdenv.hostPlatform.isDarwin &&
@@ -86,7 +79,7 @@ let
         else if stdenv.hostPlatform.isBSD
           then "./Configure BSD-generic${toString stdenv.hostPlatform.parsed.cpu.bits}"
         else if stdenv.hostPlatform.isMinGW
-          then "./Configure mingw${optionalString
+          then "./Configure mingw${lib.optionalString
                                      (stdenv.hostPlatform.parsed.cpu.bits != 32)
                                      (toString stdenv.hostPlatform.parsed.cpu.bits)}"
         else if stdenv.hostPlatform.isLinux
@@ -108,12 +101,12 @@ let
       "-DUSE_CRYPTODEV_DIGESTS"
     ] ++ lib.optional enableSSL2 "enable-ssl2"
       ++ lib.optional enableSSL3 "enable-ssl3"
-      ++ lib.optional (versionAtLeast version "3.0.0") "enable-ktls"
-      ++ lib.optional (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isAarch64) "no-afalgeng"
+      ++ lib.optional (lib.versionAtLeast version "3.0.0") "enable-ktls"
+      ++ lib.optional (lib.versionAtLeast version "1.1.0" && stdenv.hostPlatform.isAarch64) "no-afalgeng"
       # OpenSSL needs a specific `no-shared` configure flag.
       # See https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options
       # for a comprehensive list of configuration options.
-      ++ lib.optional (versionAtLeast version "1.1.0" && static) "no-shared";
+      ++ lib.optional (lib.versionAtLeast version "1.1.0" && static) "no-shared";
 
     makeFlags = [
       "MANDIR=$(man)/share/man"
@@ -192,16 +185,16 @@ in {
     extraMeta.knownVulnerabilities = [ "Support for OpenSSL 1.0.2 ended with 2019." ];
   };
 
-  openssl_1_1 = common {
-    version = "1.1.1l";
-    sha256 = "sha256-C3o+XlnDSCf+DDp0t+yLrvMCuY+oAIjX+RU6oW+na9E=";
+  openssl_1_1 = common rec {
+    version = "1.1.1m";
+    sha256 = "sha256-+JGZvosjykX8fLnx2NPuZzEjGChq0DD1MWrKZGLbbJY=";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
       (if stdenv.hostPlatform.isDarwin
        then ./use-etc-ssl-certs-darwin.patch
        else ./use-etc-ssl-certs.patch)
-    ] ++ lib.optionals (stdenv.isDarwin) [
+    ] ++ lib.optionals (stdenv.isDarwin && (builtins.substring 5 5 version) < "m") [
       ./1.1/macos-yosemite-compat.patch
     ];
     withDocs = true;
diff --git a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix b/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
index f55f9e83aec4..514cbcea4a12 100644
--- a/nixpkgs/pkgs/development/libraries/openxr-loader/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/osip/default.upstream b/nixpkgs/pkgs/development/libraries/osip/default.upstream
deleted file mode 100644
index ba0ed2a9b299..000000000000
--- a/nixpkgs/pkgs/development/libraries/osip/default.upstream
+++ /dev/null
@@ -1,3 +0,0 @@
-url http://ftp.u-tx.net/gnu/osip/
-attribute_name libosip
-minimize_overwrite
diff --git a/nixpkgs/pkgs/development/libraries/p11-kit/default.nix b/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
index 34a3788d7860..df6e364d2e9a 100644
--- a/nixpkgs/pkgs/development/libraries/p11-kit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/pango/default.nix b/nixpkgs/pkgs/development/libraries/pango/default.nix
index c298ca8c17da..964a3640871f 100644
--- a/nixpkgs/pkgs/development/libraries/pango/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pango/default.nix
@@ -24,14 +24,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.48.10";
+  version = "1.50.3";
 
   outputs = [ "bin" "out" "dev" ]
     ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "IeH1eYvN/adeq8QoBRSwiWq1b2VtTn5mAwuaJTXs3Jg=";
+    sha256 = "St0F7fUcH7N1oczedJiRQSDiPLKA3XOVsa60QfGDikw=";
   };
 
   strictDeps = !withIntrospection;
diff --git a/nixpkgs/pkgs/development/libraries/pangomm/2.48.nix b/nixpkgs/pkgs/development/libraries/pangomm/2.48.nix
index f3fa6acec736..cdc644ec9cd9 100644
--- a/nixpkgs/pkgs/development/libraries/pangomm/2.48.nix
+++ b/nixpkgs/pkgs/development/libraries/pangomm/2.48.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pangomm";
-  version= "2.48.2";
+  version= "2.50.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-4ddVIsU/RieZh1zSR/m0nJHO1LGr5oOHrDWycTktTqU=";
+    sha256 = "sha256-onqnfgF7mvzp51HYW9HPiQq7s6WL9Z0PrJF+74LbO1s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/pangomm/default.nix b/nixpkgs/pkgs/development/libraries/pangomm/default.nix
index f13dce99c135..1fc5cea01de5 100644
--- a/nixpkgs/pkgs/development/libraries/pangomm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pangomm/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pangomm";
-  version= "2.46.1";
+  version= "2.46.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-yIUBP+YaTFEX/aOVdw1QdWNBHGPkn0o6ztTJ7+NNmXU=";
+    sha256 = "sha256-V0QqtNwEOHe/44OZFXMastaT/GY0pxYUQi+1MMnqpvQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/pangoxsl/default.nix b/nixpkgs/pkgs/development/libraries/pangoxsl/default.nix
deleted file mode 100644
index 7d314a930f25..000000000000
--- a/nixpkgs/pkgs/development/libraries/pangoxsl/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{lib, stdenv, fetchurl, pkg-config, glib, pango}:
-
-stdenv.mkDerivation {
-  name = "pangoxsl-1.6.0.3";
-  src = fetchurl {
-    url = "mirror://sourceforge/pangopdf/pangoxsl-1.6.0.3.tar.gz";
-    sha256 = "1wcd553nf4nwkrfrh765cyzwj9bsg7zpkndg2hjs8mhwgx04lm8n";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    glib
-    pango
-  ];
-
-  meta = with lib; {
-    description = "Implements several of the inline properties defined by XSL that are not currently implemented by Pango";
-    homepage = "https://sourceforge.net/projects/pangopdf";
-    platforms = platforms.unix;
-    license = licenses.lgpl2;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/pcmsolver/default.nix b/nixpkgs/pkgs/development/libraries/pcmsolver/default.nix
index 8cd4b318cc5a..dd94a4a088cb 100644
--- a/nixpkgs/pkgs/development/libraries/pcmsolver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pcmsolver/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, perl, gfortran, python
+{ lib, stdenv, fetchFromGitHub, cmake, perl, gfortran, python2
 , boost, eigen, zlib
 } :
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     cmake
     gfortran
     perl
-    python
+    python2
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/pcre/default.nix b/nixpkgs/pkgs/development/libraries/pcre/default.nix
index f7094e04a9d6..5fc8d496ba91 100644
--- a/nixpkgs/pkgs/development/libraries/pcre/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pcre/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
   pname = "pcre"
     + lib.optionalString (variant == "cpp") "-cpp"
     + lib.optionalString (variant != "cpp" && variant != null) variant;
-  version = "8.44";
+  version = "8.45";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/pcre/pcre/${version}/pcre-${version}.tar.bz2";
-    sha256 = "0v9nk51wh55pcbnf2jr36yarz8ayajn6d7ywiq2wagivn9c8c40r";
+    sha256 = "sha256-Ta5v3NK7C7bDe1+Xwzwr6VTadDmFNpzdrDVG4yGL/7g=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/pcre2/default.nix b/nixpkgs/pkgs/development/libraries/pcre2/default.nix
index 724a1b1247a2..8393cb8c5910 100644
--- a/nixpkgs/pkgs/development/libraries/pcre2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/phash/default.nix b/nixpkgs/pkgs/development/libraries/phash/default.nix
index 8d3f3e987023..4596c5aaf4f6 100644
--- a/nixpkgs/pkgs/development/libraries/phash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/phash/default.nix
@@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     homepage = "http://www.phash.org";
     downloadPage = "https://github.com/clearscene/pHash";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/physics/apfel/default.nix b/nixpkgs/pkgs/development/libraries/physics/apfel/default.nix
index 9697133a70ee..90e6bdaaf37c 100644
--- a/nixpkgs/pkgs/development/libraries/physics/apfel/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/apfel/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "apfel";
-  version = "3.0.5";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "scarrazza";
     repo = "apfel";
     rev = version;
-    sha256 = "sha256-szEtSC/NouYlHSjVoX9Hoh7yQ0W82rVccYEF1L2tXoU=";
+    sha256 = "sha256-fRdJ+C92tEC75iUwP9Tmm/EswrlA52eUo5fBjfieH9o=";
   };
 
   buildInputs = [ gfortran lhapdf python3 zlib ];
diff --git a/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix b/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix
index 65fb04b707ab..5c3bc936e8c1 100644
--- a/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/fastjet/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchurl
-, python
+, python ? null
 , withPython ? false
 }:
 
diff --git a/nixpkgs/pkgs/development/libraries/pico-sdk/default.nix b/nixpkgs/pkgs/development/libraries/pico-sdk/default.nix
index 3db4ff336ffb..eb98c2f9ef6b 100644
--- a/nixpkgs/pkgs/development/libraries/pico-sdk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch b/nixpkgs/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
index 84238bf6e5aa..230f1b30394a 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
+++ b/nixpkgs/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
@@ -1,19 +1,19 @@
 diff --git a/meson_options.txt b/meson_options.txt
-index 71c2e35e9..a0f380c04 100644
+index 961ae2a76..692b84dfd 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -176,6 +176,9 @@ option('udev',
+@@ -179,6 +179,9 @@ option('udev',
  option('udevrulesdir',
         type : 'string',
         description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
 +option('pipewire_pulse_prefix',
 +       type : 'string',
 +       description: 'Install directory for the pipewire-pulse daemon')
- option('systemd-user-unit-dir',
+ option('systemd-system-unit-dir',
         type : 'string',
-        description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
+        description : 'Directory for system systemd units (defaults to /usr/lib/systemd/system)')
 diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
-index 5bd134537..5a3ca9ed5 100644
+index d17f3794f..34afe4f1a 100644
 --- a/src/daemon/systemd/user/meson.build
 +++ b/src/daemon/systemd/user/meson.build
 @@ -9,7 +9,7 @@ install_data(
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch b/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
index ea968e28ea89..b4c9f8ed2aab 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
+++ b/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
@@ -1,8 +1,28 @@
+diff --git a/src/daemon/minimal.conf.in b/src/daemon/minimal.conf.in
+index 6464839a0..05546201f 100644
+--- a/src/daemon/minimal.conf.in
++++ b/src/daemon/minimal.conf.in
+@@ -110,7 +110,7 @@ context.modules = [
+             # access.allowed to list an array of paths of allowed
+             # apps.
+             #access.allowed = [
+-            #    @session_manager_path@
++            #    <session_manager_path>
+             #]
+ 
+             # An array of rejected paths.
+@@ -298,5 +298,5 @@ context.exec = [
+     # It can be interesting to start another daemon here that listens
+     # on another address with the -a option (eg. -a tcp:4713).
+     #
+-    #@pulse_comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
++    #@pulse_comment@{ path = "<pipewire_path>" args = "-c pipewire-pulse.conf" }
+ ]
 diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
-index 648e13069..50f767f0c 100644
+index a948a1b9b..4ece43c6f 100644
 --- a/src/daemon/pipewire.conf.in
 +++ b/src/daemon/pipewire.conf.in
-@@ -131,7 +131,7 @@ context.modules = [
+@@ -132,7 +132,7 @@ context.modules = [
              # access.allowed to list an array of paths of allowed
              # apps.
              #access.allowed = [
@@ -11,7 +31,7 @@ index 648e13069..50f767f0c 100644
              #]
  
              # An array of rejected paths.
-@@ -235,12 +235,12 @@ context.exec = [
+@@ -246,12 +246,12 @@ context.exec = [
      # but it is better to start it as a systemd service.
      # Run the session manager with -h for options.
      #
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/default.nix b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
index af5f238c9df7..79682d7ace81 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
@@ -2,6 +2,7 @@
 , lib
 , buildPackages
 , fetchFromGitLab
+, fetchpatch
 , removeReferencesTo
 , python3
 , meson
@@ -26,7 +27,6 @@
 , ncurses
 , readline81 # meson can't find <7 as those versions don't have a .pc file
 , lilv
-, openssl
 , makeFontsConf
 , callPackage
 , nixosTests
@@ -54,19 +54,22 @@
 , libpulseaudio
 , zeroconfSupport ? true
 , avahi
+, raopSupport ? true
+, openssl
+, rocSupport ? true
+, roc-toolkit
+, x11Support ? true
+, libcanberra
+, xorg
 }:
 
 let
-  fontsConf = makeFontsConf {
-    fontDirectories = [ ];
-  };
-
-  mesonEnable = b: if b then "enabled" else "disabled";
+  mesonEnableFeature = b: if b then "enabled" else "disabled";
   mesonList = l: "[" + lib.concatStringsSep "," l + "]";
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.42";
+    version = "0.3.45";
 
     outputs = [
       "out"
@@ -84,7 +87,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-Iyd5snOt+iCT7W0+FlfvhMUZo/gF+zr9JX4HIGVdHto=";
+      sha256 = "sha256-OnQd98qfOekAsVXLbciZLNPrM84KBX6fOx/f8y2BYI0=";
     };
 
     patches = [
@@ -121,7 +124,6 @@ let
       libsndfile
       lilv
       ncurses
-      openssl
       readline81
       udev
       vulkan-headers
@@ -134,7 +136,10 @@ let
     ++ lib.optional ffmpegSupport ffmpeg
     ++ lib.optionals bluezSupport [ bluez libfreeaptx ldacbt sbc fdk_aac ]
     ++ lib.optional pulseTunnelSupport libpulseaudio
-    ++ lib.optional zeroconfSupport avahi;
+    ++ lib.optional zeroconfSupport avahi
+    ++ lib.optional raopSupport openssl
+    ++ lib.optional rocSupport roc-toolkit
+    ++ lib.optionals x11Support [ libcanberra xorg.libxcb ];
 
     # Valgrind binary is required for running one optional test.
     checkInputs = lib.optional withValgrind valgrind;
@@ -146,32 +151,34 @@ let
       "-Dinstalled_test_prefix=${placeholder "installedTests"}"
       "-Dpipewire_pulse_prefix=${placeholder "pulse"}"
       "-Dlibjack-path=${placeholder "jack"}/lib"
-      "-Dlibcamera=${mesonEnable libcameraSupport}"
-      "-Droc=disabled"
-      "-Dlibpulse=${mesonEnable pulseTunnelSupport}"
-      "-Davahi=${mesonEnable zeroconfSupport}"
-      "-Dgstreamer=${mesonEnable gstreamerSupport}"
-      "-Dffmpeg=${mesonEnable ffmpegSupport}"
-      "-Dbluez5=${mesonEnable bluezSupport}"
-      "-Dbluez5-backend-hsp-native=${mesonEnable nativeHspSupport}"
-      "-Dbluez5-backend-hfp-native=${mesonEnable nativeHfpSupport}"
-      "-Dbluez5-backend-ofono=${mesonEnable ofonoSupport}"
-      "-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
+      "-Dlibcamera=${mesonEnableFeature libcameraSupport}"
+      "-Droc=${mesonEnableFeature rocSupport}"
+      "-Dlibpulse=${mesonEnableFeature pulseTunnelSupport}"
+      "-Davahi=${mesonEnableFeature zeroconfSupport}"
+      "-Dgstreamer=${mesonEnableFeature gstreamerSupport}"
+      "-Dsystemd-system-service=enabled"
+      "-Dffmpeg=${mesonEnableFeature ffmpegSupport}"
+      "-Dbluez5=${mesonEnableFeature bluezSupport}"
+      "-Dbluez5-backend-hsp-native=${mesonEnableFeature nativeHspSupport}"
+      "-Dbluez5-backend-hfp-native=${mesonEnableFeature nativeHfpSupport}"
+      "-Dbluez5-backend-ofono=${mesonEnableFeature ofonoSupport}"
+      "-Dbluez5-backend-hsphfpd=${mesonEnableFeature hsphfpdSupport}"
       "-Dsysconfdir=/etc"
       "-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
+      "-Draop=${mesonEnableFeature raopSupport}"
       "-Dsession-managers="
       "-Dvulkan=enabled"
+      "-Dx11=${mesonEnableFeature x11Support}"
     ];
 
-    FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
+    # Fontconfig error: Cannot load default config file
+    FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
 
     doCheck = true;
 
     postUnpack = ''
-      patchShebangs source/doc/strip-static.sh
       patchShebangs source/doc/input-filter.sh
       patchShebangs source/doc/input-filter-h.sh
-      patchShebangs source/spa/tests/gen-cpp-test.py
     '';
 
     postInstall = ''
@@ -191,6 +198,8 @@ let
       moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
       moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
       moveToOutput "bin/pipewire-pulse" "$pulse"
+
+      moveToOutput "bin/pw-jack" "$jack"
     '';
 
     passthru = {
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/media-session.nix b/nixpkgs/pkgs/development/libraries/pipewire/media-session.nix
index 47cb3b415956..19940d8d7477 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/media-session.nix
+++ b/nixpkgs/pkgs/development/libraries/pipewire/media-session.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitLab
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -30,6 +31,19 @@ let
       sha256 = "sha256-e537gTkiNYMz2YJrOff/MXYWVDgHZDkqkSn8Qh+7Wr4=";
     };
 
+    patches = [
+      # Fix `ERROR: Tried to access unknown option "session-managers".`
+      (fetchpatch {
+        url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/dfa740175c83e1cd0d815ad423f90872de566437.diff";
+        sha256 = "01rfwq8ipm8wyv98rxal1s5zrkf0pn9hgrngiq2wdbwj6vjdnr1h";
+      })
+      # Fix attempt to put system service units into pkgs.systemd.
+      (fetchpatch {
+        url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/2ff6b0baec7325dde229013b9d37c93f8bc7edee.diff";
+        sha256 = "18gg7ca04ihl4ylnw78wdyrbvg66m8w43gg0wp258x4nv95gpps2";
+      })
+    ];
+
     nativeBuildInputs = [
       doxygen
       graphviz
@@ -48,6 +62,7 @@ let
 
     mesonFlags = [
       "-Ddocs=enabled"
+      "-Dsystemd-system-service=enabled"
       # We generate these empty files from the nixos module, don't bother installing them
       "-Dwith-module-sets=[]"
     ];
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/wireplumber.nix b/nixpkgs/pkgs/development/libraries/pipewire/wireplumber.nix
new file mode 100644
index 000000000000..9ab197278d0a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -0,0 +1,83 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, fetchpatch
+, nix-update-script
+, # base build deps
+  meson
+, pkg-config
+, ninja
+, # docs build deps
+  python3
+, doxygen
+, graphviz
+, # GI build deps
+  gobject-introspection
+, # runtime deps
+  glib
+, systemd
+, lua5_4
+, pipewire
+, # options
+  enableDocs ? true
+, enableGI ? stdenv.hostPlatform == stdenv.buildPlatform
+}:
+let
+  mesonEnableFeature = b: if b then "enabled" else "disabled";
+in
+stdenv.mkDerivation rec {
+  pname = "wireplumber";
+  version = "0.4.8";
+
+  outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "pipewire";
+    repo = "wireplumber";
+    rev = version;
+    sha256 = "sha256-xwfggrjKHh5mZdvH6dKqQo6o1ltxuYdjoGYaWl31C/Y=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    pkg-config
+    ninja
+  ] ++ lib.optionals enableDocs [
+    graphviz
+  ] ++ lib.optionals enableGI [
+    gobject-introspection
+  ] ++ lib.optionals (enableDocs || enableGI) [
+    doxygen
+    (python3.withPackages (ps: with ps;
+    lib.optionals enableDocs [ sphinx sphinx_rtd_theme breathe ] ++
+      lib.optionals enableGI [ lxml ]
+    ))
+  ];
+
+  buildInputs = [
+    glib
+    systemd
+    lua5_4
+    pipewire
+  ];
+
+  mesonFlags = [
+    "-Dsystem-lua=true"
+    "-Delogind=disabled"
+    "-Ddoc=${mesonEnableFeature enableDocs}"
+    "-Dintrospection=${mesonEnableFeature enableGI}"
+  ];
+
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
+  meta = with lib; {
+    description = "A modular session / policy manager for PipeWire";
+    homepage = "https://pipewire.org";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ k900 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/pkcs11helper/default.nix b/nixpkgs/pkgs/development/libraries/pkcs11helper/default.nix
index 4148ca4fc47d..4de361a59842 100644
--- a/nixpkgs/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
index cbac71de200e..fe148368b499 100644
--- a/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
+++ b/nixpkgs/pkgs/development/libraries/plasma-wayland-protocols/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "plasma-wayland-protocols";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-OLBDHZMagzk3cKu4KUIGk2tjuJzu4/DGPw8Ibz0rG6k=";
+    sha256 = "sha256-zMn8INehMO2/sjPDOxMldArAGyZAqjelxUTtv7oYqDM=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/development/libraries/pocketsphinx/default.nix b/nixpkgs/pkgs/development/libraries/pocketsphinx/default.nix
index 18d5d0bcfa22..fadc14240831 100644
--- a/nixpkgs/pkgs/development/libraries/pocketsphinx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pocketsphinx/default.nix
@@ -7,10 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pocketsphinx-5prealpha";
+  pname = "pocketsphinx";
+  version = "5prealpha";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
+    url = "mirror://sourceforge/cmusphinx/pocketsphinx-${version}.tar.gz";
     sha256 = "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/poco/default.nix b/nixpkgs/pkgs/development/libraries/poco/default.nix
index 57e8fb1a5a75..15a1f8d62bf7 100644
--- a/nixpkgs/pkgs/development/libraries/poco/default.nix
+++ b/nixpkgs/pkgs/development/libraries/poco/default.nix
@@ -3,19 +3,19 @@
 stdenv.mkDerivation rec {
   pname = "poco";
 
-  version = "1.10.1";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "https://pocoproject.org/releases/${pname}-${version}/${pname}-${version}-all.tar.gz";
-    sha256 = "1jilzh0h6ik5lr167nax7q6nrpzxl99p11pkl202ig06pgh32nbz";
+    sha256 = "sha256-MczOYCAEcnAAO/tbDafirUMohMI9PNUJyG9HzzpeXSo=";
   };
 
   patches = [
-    # Use GNUInstallDirs (https://github.com/pocoproject/poco/pull/3105)
+    # Use GNUInstallDirs (https://github.com/pocoproject/poco/pull/3503)
     (fetchpatch {
       name = "use-gnuinstalldirs.patch";
-      url = "https://github.com/pocoproject/poco/commit/9e8f84dff4575f01be02e0b07364efd1561ce66c.patch";
-      sha256 = "1bj4i93gxr7pwx33bfyhg20ad4ak1rbxkrlpsgzk7rm6mh0mld26";
+      url = "https://github.com/pocoproject/poco/commit/16a2a74f6c28c6e6baca2ba26b4964b51d8a1b74.patch";
+      sha256 = "sha256-mkemG8UemJEUQxae1trKakhnJFJW0AufDYFAbmnINbY=";
       # Files not included in release tarball
       excludes = [
         "Encodings/Compiler/CMakeLists.txt"
diff --git a/nixpkgs/pkgs/development/libraries/polkit/default.nix b/nixpkgs/pkgs/development/libraries/polkit/default.nix
index ae3cea330807..3a3199cbd7a9 100644
--- a/nixpkgs/pkgs/development/libraries/polkit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/polkit/default.nix
@@ -25,6 +25,8 @@
 , elogind
 # needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222)
 , withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform)
+# cross build fails on polkit-1-scan (https://github.com/NixOS/nixpkgs/pull/152704)
+, withGtkDoc ? (stdenv.buildPlatform == stdenv.hostPlatform)
 # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
 # Not yet investigated; it may be due to the "Make netgroup support optional"
 # patch not updating the tests correctly yet, or doing something wrong,
@@ -124,7 +126,7 @@ stdenv.mkDerivation rec {
     "-Dos_type=redhat" # only affects PAM includes
     "-Dintrospection=${lib.boolToString withIntrospection}"
     "-Dtests=${lib.boolToString doCheck}"
-    "-Dgtk_doc=${lib.boolToString true}"
+    "-Dgtk_doc=${lib.boolToString withGtkDoc}"
     "-Dman=true"
   ] ++ lib.optionals stdenv.isLinux [
     "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}"
diff --git a/nixpkgs/pkgs/development/libraries/poppler/default.nix b/nixpkgs/pkgs/development/libraries/poppler/default.nix
index 08ca1456ea8f..6fa07bcaf806 100644
--- a/nixpkgs/pkgs/development/libraries/poppler/default.nix
+++ b/nixpkgs/pkgs/development/libraries/poppler/default.nix
@@ -34,13 +34,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "poppler-${suffix}";
-  version = "21.06.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
+  version = "22.01.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    sha256 = "sha256-hrCeWgLeQAgaORbvhxHFEo6vSx/FnV+H0Oxm8E9ZXbQ=";
+    sha256 = "sha256-fTSTBWtbhkE+XGk8LK4CxcBs2OYY0UwsMeLIS2eyMT4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/portmidi/default.nix b/nixpkgs/pkgs/development/libraries/portmidi/default.nix
index 2b8f006a7558..43699291d362 100644
--- a/nixpkgs/pkgs/development/libraries/portmidi/default.nix
+++ b/nixpkgs/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.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/portmedia/portmedia-code-r${version}.zip";
-    sha256 = "1g7i8hgarihycadbgy2f7lifiy5cbc0mcrcazmwnmbbh1bqx6dyp";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "zOmzJ2MLGhGXiN0XjcmnnUrk/uqxP9IaZbqCG5XchC4=";
   };
 
-  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/nixpkgs/pkgs/development/libraries/portmidi/missing-header.diff b/nixpkgs/pkgs/development/libraries/portmidi/missing-header.diff
new file mode 100644
index 000000000000..1fa1f147014e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/portmidi/remove-darwin-variables.diff b/nixpkgs/pkgs/development/libraries/portmidi/remove-darwin-variables.diff
deleted file mode 100644
index 15ed874f172f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/precice/default.nix b/nixpkgs/pkgs/development/libraries/precice/default.nix
index 134eb6602142..ba35a55d9207 100644
--- a/nixpkgs/pkgs/development/libraries/precice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/precice/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "preCICE stands for Precise Code Interaction Coupling Environment";
     license = with lib.licenses; [ gpl3 ];
-    homepage = "https://www.precice.org/";
+    homepage = "https://precice.org/";
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ Scriptkiddi ];
   };
diff --git a/nixpkgs/pkgs/development/libraries/proj/default.nix b/nixpkgs/pkgs/development/libraries/proj/default.nix
index 6ecc3606b96d..376cb36edd61 100644
--- a/nixpkgs/pkgs/development/libraries/proj/default.nix
+++ b/nixpkgs/pkgs/development/libraries/proj/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , pkg-config
 , sqlite
@@ -12,23 +11,15 @@
 
 stdenv.mkDerivation rec {
   pname = "proj";
-  version = "8.2.0";
+  version = "8.2.1";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "PROJ";
     rev = version;
-    sha256 = "sha256-YXZ3txBWW5vUcdYLISJPxdFGCQpKi1vvJlX8rntujg8=";
+    hash = "sha256-tnaIqYKgYHY1Tg33jsKYn9QL8YUobgXKbQsodoCXNys=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "Make-CApi-test-cross-platform.patch";
-      url = "https://github.com/OSGeo/PROJ/commit/ac113a8898cded7f5359f1edd3abc17a78eee9b4.patch";
-      sha256 = "0gz2xa5nxzck5c0yr7cspv3kw4cz3fxb2yic76w7qfvxidi7z1s1";
-    })
-  ];
-
   outputs = [ "out" "dev"];
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.16.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.16.nix
index df8d53b9f1c3..fdbbed733d85 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/3.16.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/protobuf/3.18.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.18.nix
index 63fc9b218d30..0d5d2c652cba 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/3.18.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/protobuf/3.19.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.19.nix
index 727bf511d581..7e2be4bec04c 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/3.19.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/protolock/default.nix b/nixpkgs/pkgs/development/libraries/protolock/default.nix
index 7d423ac03470..e364b9077940 100644
--- a/nixpkgs/pkgs/development/libraries/protolock/default.nix
+++ b/nixpkgs/pkgs/development/libraries/protolock/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-cKrG8f8cabuGDN1gmBYleXcBqeJksdREiEy63UK/6J0=";
   };
 
-  vendorSha256 = "sha256-3kRGLZgYcbUQb6S+NrleMNNX0dXrE9Yer3vvqxiP4So=";
+  vendorSha256 = "sha256-2XbBiiiPvZCnlKUzGDLFnxA34N/LmHoPbvRKZckmhx4=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/libraries/protozero/default.nix b/nixpkgs/pkgs/development/libraries/protozero/default.nix
index 6bff5998b56d..1e35ab700a08 100644
--- a/nixpkgs/pkgs/development/libraries/protozero/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/ptex/default.nix b/nixpkgs/pkgs/development/libraries/ptex/default.nix
index d0bdb95fecc2..561c9cf93c2c 100644
--- a/nixpkgs/pkgs/development/libraries/ptex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ptex/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, zlib, python, cmake, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, zlib, python2, cmake, pkg-config }:
 
 stdenv.mkDerivation rec
 {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec
   outputs = [ "bin" "dev" "out" "lib" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib python pkg-config ];
+  buildInputs = [ zlib python2 pkg-config ];
 
   # Can be removed in the next release
   # https://github.com/wdas/ptex/pull/42
diff --git a/nixpkgs/pkgs/development/libraries/pth/default.nix b/nixpkgs/pkgs/development/libraries/pth/default.nix
index 16235176d038..c75b0d1db2d8 100644
--- a/nixpkgs/pkgs/development/libraries/pth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pth/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pth-2.0.7";
+  pname = "pth";
+  version = "2.0.7";
 
   src = fetchurl {
-    url = "mirror://gnu/pth/${name}.tar.gz";
+    url = "mirror://gnu/pth/pth-${version}.tar.gz";
     sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/pugixml/default.nix b/nixpkgs/pkgs/development/libraries/pugixml/default.nix
index 57335fa3d970..6a8baae5c9a2 100644
--- a/nixpkgs/pkgs/development/libraries/pugixml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pugixml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pugixml";
-  version = "1.11.4";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "zeux";
     repo = "pugixml";
     rev = "v${version}";
-    sha256 = "sha256-pXadPs2Dlht3BMNYDVxWZqnVv0umDgYVcqH5YVxr+uA=";
+    sha256 = "sha256-FLemG9T17n6l7vgb01OmO22BK59jv5uozVHeUnILEEQ=";
   };
 
   outputs = if shared then [ "out" "dev" ] else [ "out" ];
diff --git a/nixpkgs/pkgs/development/libraries/qcoro/default.nix b/nixpkgs/pkgs/development/libraries/qcoro/default.nix
index 62608e390f8b..d5d3fd8ba1bb 100644
--- a/nixpkgs/pkgs/development/libraries/qcoro/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qcoro/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "qcoro";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "danvratil";
     repo = "qcoro";
     rev = "v${version}";
-    sha256 = "09543hpy590dndmlxmcm8c58m97blhaii4wbjr655qxdanhhxgzi";
+    sha256 = "sha256-RVpyL+BklX8Wyk9Xj9UyuvNK5Vev8ZsrOSMxX1HtcHU=";
   };
 
   outputs = [ "out" "dev" ];
@@ -34,5 +34,6 @@ mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ smitop ];
     platforms = platforms.linux;
+    badPlatforms = platforms.aarch64;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix b/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
index b8115331be77..cc8ddf43c021 100644
--- a/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qgnomeplatform/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "qgnomeplatform";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = "QGnomePlatform";
     rev = version;
-    sha256 = "sha256-950VEcxhJeBPSQToC8KpBx/KSneARN6Y8X7CAuFyRjo=";
+    sha256 = "sha256-DaIBtWmce+58OOhqFG5802c3EprBAtDXhjiSPIImoOM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/qpdf/default.nix b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
index 637335b86291..c87252648203 100644
--- a/nixpkgs/pkgs/development/libraries/qpdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qpdf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qpdf";
-  version = "10.3.2";
+  version = "10.6.2";
 
   src = fetchFromGitHub {
     owner = "qpdf";
     repo = "qpdf";
     rev = "release-qpdf-${version}";
-    sha256 = "sha256-fhn6hE/MLYiaOxZYfaVcj17V+h8Yvn18QTewS0rPIXE=";
+    hash = "sha256-+8bH7fKJ5uZRxKX/4nMkoZGFTxm2uJEXkb1wq5FrLWs=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix b/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix
index 0ad42c1fc4d7..cd19705f1e93 100644
--- a/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qrcodegen/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
 stdenv.mkDerivation rec {
   pname = "qrcodegen";
   version = "1.7.0";
@@ -10,25 +14,28 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-WH6O3YE/+NNznzl52TXZYL+6O25GmKSnaFqDDhRl4As=";
   };
 
-  preBuild = "cd c";
+  preBuild = ''
+    cd c/
+  '';
+
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/lib $out/include/qrcodegen
     cp libqrcodegen.a $out/lib
     cp qrcodegen.h $out/include/qrcodegen/
-  '';
 
-  meta = with lib;
-    {
-      description = "qrcode generator library in multiple languages";
-
-      longDescription = ''
-        This project aims to be the best, clearest library for generating QR Codes. My primary goals are flexible options and absolute correctness. Secondary goals are compact implementation size and good documentation comments.
-      '';
-
-      homepage = "https://github.com/nayuki/QR-Code-generator";
+    runHook postInstall
+  '';
 
-      license = licenses.mit;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ mcbeth ];
-    };
+  meta = with lib; {
+    homepage = "https://www.nayuki.io/page/qr-code-generator-library";
+    description = "High-quality QR Code generator library in many languages";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mcbeth AndersonTorres ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
+  };
 }
+# TODO: build the other languages
+# TODO: multiple outputs
diff --git a/nixpkgs/pkgs/development/libraries/qscintilla-qt4/default.nix b/nixpkgs/pkgs/development/libraries/qscintilla-qt4/default.nix
new file mode 100644
index 000000000000..23daedd217e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qscintilla-qt4/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, lib
+, fetchurl
+, unzip
+, qt4
+, qmake4Hook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qscintilla-qt4";
+  version = "2.11.6";
+
+  src = fetchurl {
+    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla-${version}.tar.gz";
+    sha256 = "5zRgV9tH0vs4RGf6/M/LE6oHQTc8XVk7xytVsvDdIKc=";
+  };
+
+  sourceRoot = "QScintilla-${version}/Qt4Qt5";
+
+  buildInputs = [ qt4 ];
+
+  nativeBuildInputs = [ unzip qmake4Hook ];
+
+  patches = [
+    ./fix-qt4-build.patch
+  ];
+
+  # Make sure that libqscintilla2.so is available in $out/lib since it is expected
+  # by some packages such as sqlitebrowser
+  postFixup = ''
+    ln -s $out/lib/libqscintilla2_qt4.so $out/lib/libqscintilla2.so
+  '';
+
+  dontWrapQtApps = true;
+
+  postPatch = ''
+    substituteInPlace qscintilla.pro \
+      --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
+      --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
+      --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
+      --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]/mkspecs' $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]'         $out/share
+  '';
+
+  meta = with lib; {
+    description = "A Qt port of the Scintilla text editing library";
+    longDescription = ''
+      QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
+      control.
+
+      As well as features found in standard text editing components,
+      QScintilla includes features especially useful when editing and
+      debugging source code. These include support for syntax styling,
+      error indicators, code completion and call tips. The selection
+      margin can contain markers like those used in debuggers to
+      indicate breakpoints and the current line. Styling choices are
+      more open than with many editors, allowing the use of
+      proportional fonts, bold and italics, multiple foreground and
+      background colours and multiple fonts.
+    '';
+    homepage = "https://www.riverbankcomputing.com/software/qscintilla/intro";
+    license = with licenses; [ gpl3 ]; # and commercial
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/qscintilla/fix-qt4-build.patch b/nixpkgs/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch
index 520a55b1ea21..520a55b1ea21 100644
--- a/nixpkgs/pkgs/development/libraries/qscintilla/fix-qt4-build.patch
+++ b/nixpkgs/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch
diff --git a/nixpkgs/pkgs/development/libraries/qscintilla/default.nix b/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
index fc2ef6c09a63..88c44ece32cd 100644
--- a/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qscintilla/default.nix
@@ -1,49 +1,46 @@
-{ stdenv, lib, fetchurl, unzip
-, qt4 ? null, qmake4Hook ? null
-, withQt5 ? false, qtbase ? null, qtmacextras ? null, qmake ? null
+{ stdenv
+, lib
+, fetchurl
+, unzip
+, qtbase
+, qtmacextras
+, qmake
 , fixDarwinDylibNames
 }:
 
-let
-  pname = "qscintilla-qt${if withQt5 then "5" else "4"}";
-  version = "2.11.6";
-
-in stdenv.mkDerivation rec {
-  inherit pname version;
+stdenv.mkDerivation rec {
+  pname = "qscintilla-qt5";
+  version = "2.13.1";
 
   src = fetchurl {
-    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla-${version}.tar.gz";
-    sha256 = "5zRgV9tH0vs4RGf6/M/LE6oHQTc8XVk7xytVsvDdIKc=";
+    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_src-${version}.tar.gz";
+    sha256 = "gA49IHGpa8zNdYE0avDS/ij8MM1oUwy4MCaF0BOv1Uo=";
   };
 
-  sourceRoot = "QScintilla-${version}/Qt4Qt5";
-
-  buildInputs = [ (if withQt5 then qtbase else qt4) ];
+  sourceRoot = "QScintilla_src-${version}/src";
 
-  propagatedBuildInputs = lib.optional (withQt5 && stdenv.isDarwin) qtmacextras;
+  buildInputs = [ qtbase ];
 
-  nativeBuildInputs = [ unzip ]
-    ++ (if withQt5 then [ qmake ] else [ qmake4Hook ])
-    ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  propagatedBuildInputs = lib.optionals stdenv.isDarwin [ qtmacextras ];
 
-  patches = lib.optional (!withQt5) ./fix-qt4-build.patch;
+  nativeBuildInputs = [ unzip qmake ]
+    ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
 
   # Make sure that libqscintilla2.so is available in $out/lib since it is expected
   # by some packages such as sqlitebrowser
   postFixup = ''
-    ln -s $out/lib/libqscintilla2_qt?.so $out/lib/libqscintilla2.so
+    ln -s $out/lib/libqscintilla2_qt5.so $out/lib/libqscintilla2.so
   '';
 
   dontWrapQtApps = true;
 
-  postPatch = ''
+  preConfigure = ''
     substituteInPlace qscintilla.pro \
       --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
       --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
       --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
       --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
-      --replace '$$[QT_INSTALL_DATA]/mkspecs' $out/mkspecs \
-      --replace '$$[QT_INSTALL_DATA]'         $out/share${lib.optionalString (! withQt5) "/qt"}
+      --replace '$$[QT_INSTALL_DATA]'         $out/share
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
index c40062046658..d89547261880 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -108,6 +108,11 @@ let
         url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch";
         sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0";
       })
+      (fetchpatch {
+        name = "qtwebkit-darwin-handle.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
+        sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
+      })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
 
@@ -117,22 +122,22 @@ let
     qttools = [ ./qttools.patch ];
   };
 
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
   addPackages = self: with self;
     let
+      qtModule =
+        import ../qtModule.nix
+        {
+          inherit perl;
+          inherit lib;
+          # Use a variant of mkDerivation that does not include wrapQtApplications
+          # to avoid cyclic dependencies between Qt modules.
+          mkDerivation =
+            import ../mkDerivation.nix
+            { inherit lib; inherit debug; wrapQtAppsHook = null; }
+            stdenv.mkDerivation;
+        }
+        { inherit self srcs patches; };
+
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
@@ -148,7 +153,7 @@ let
         inherit (srcs.qtbase) src version;
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
+        withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
         inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
@@ -228,6 +233,4 @@ let
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = lib.makeScope newScope addPackages;
-
-in self
+in lib.makeScope newScope addPackages
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
index ddd9d76df4ea..65ce74dac021 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -108,6 +108,11 @@ let
         url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch";
         sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0";
       })
+      (fetchpatch {
+        name = "qtwebkit-darwin-handle.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
+        sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
+      })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
     ] ++ lib.optionals stdenv.isDarwin [
@@ -118,22 +123,22 @@ let
     qtwayland = [ ./qtwayland-libdrm-build.patch ];
   };
 
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
   addPackages = self: with self;
     let
+      qtModule =
+        import ../qtModule.nix
+        {
+          inherit perl;
+          inherit lib;
+          # Use a variant of mkDerivation that does not include wrapQtApplications
+          # to avoid cyclic dependencies between Qt modules.
+          mkDerivation =
+            import ../mkDerivation.nix
+            { inherit lib; inherit debug; wrapQtAppsHook = null; }
+            stdenv.mkDerivation;
+        }
+        { inherit self srcs patches; };
+
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
@@ -149,7 +154,7 @@ let
         inherit (srcs.qtbase) src version;
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
+        withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
         inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
@@ -228,6 +233,4 @@ let
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = lib.makeScope newScope addPackages;
-
-in self
+in lib.makeScope newScope addPackages
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
index 7c4845fd84a6..5943a80a701e 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -71,6 +71,11 @@ let
         url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch";
         sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0";
       })
+      (fetchpatch {
+        name = "qtwebkit-darwin-handle.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
+        sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
+      })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
     ] ++ lib.optionals stdenv.isDarwin [
@@ -80,22 +85,22 @@ let
     qttools = [ ./qttools.patch ];
   };
 
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
   addPackages = self: with self;
     let
+      qtModule =
+        import ../qtModule.nix
+        {
+          inherit perl;
+          inherit lib;
+          # Use a variant of mkDerivation that does not include wrapQtApplications
+          # to avoid cyclic dependencies between Qt modules.
+          mkDerivation =
+            import ../mkDerivation.nix
+            { inherit lib; inherit debug; wrapQtAppsHook = null; }
+            stdenv.mkDerivation;
+        }
+        { inherit self srcs patches; };
+
       callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
@@ -111,7 +116,7 @@ let
         inherit (srcs.qtbase) src version;
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
+        withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit developerBuild decryptSslTraffic;
         inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
@@ -192,6 +197,4 @@ let
       } ../hooks/wrap-qt-apps-hook.sh;
     };
 
-   self = lib.makeScope newScope addPackages;
-
-in self
+in lib.makeScope newScope addPackages
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix
index 21b4f55a3d5d..7cba1ae63f96 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/srcs.nix
@@ -38,7 +38,7 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
 
   qtwebengine =
     let
-      branchName = "5.15.7";
+      branchName = "5.15.8";
       rev = "v${branchName}-lts";
     in
     {
@@ -46,7 +46,7 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
 
       src = fetchgit {
         url = "https://github.com/qt/qtwebengine.git";
-        sha256 = "fssBN/CDgXAuiNj14MPeIDI15ZDRBGuF7wxSXns9exU=";
+        sha256 = "04xhg5qpnxm8hzgkanml45za64c9i5pbxhki2l2wcq4b4y7f3hyr";
         inherit rev branchName;
         fetchSubmodules = true;
         leaveDotGit = true;
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 68945625f5b4..01d0c5932828 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index dc9f5ccb9eb2..bebfbdda8d8b 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/qtModule.nix b/nixpkgs/pkgs/development/libraries/qt-5/qtModule.nix
index 12a9a85c7b79..3323e3fb4cc8 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/qtModule.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/qtModule.nix
@@ -68,7 +68,7 @@ mkDerivation (args // {
   '';
 
   meta = {
-    homepage = "http://www.qt.io";
+    homepage = "https://www.qt.io";
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
     maintainers = with maintainers; [ qknight ttuegel periklis bkchr ];
diff --git a/nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix
index 0164f8884a27..ad1f73cc9e88 100644
--- a/nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl, qt4 }:
 
-stdenv.mkDerivation {
-  name = "qtscriptgenerator-0.1.0";
+stdenv.mkDerivation rec {
+  pname = "qtscriptgenerator";
+  version = "0.1.0";
+
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-0.1.0.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-${version}.tar.gz";
     sha256 = "0h8zjh38n2wfz7jld0jz6a09y66dbsd2jhm4f2024qfgcmxcabj6";
   };
   buildInputs = [ qt4 ];
diff --git a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 909903c2c34c..5a747fd91063 100644
--- a/nixpkgs/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/quickder/default.nix b/nixpkgs/pkgs/development/libraries/quickder/default.nix
index 28933f96fa1c..80eb64a577c1 100644
--- a/nixpkgs/pkgs/development/libraries/quickder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/quickder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages, hexio
+{ lib, stdenv, fetchFromGitHub, python3Packages, hexio
 , cmake, bash, arpa2cm, git, asn2quickder }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = with python2Packages; [
+  buildInputs = with python3Packages; [
     arpa2cm
     asn1ate
     hexio
diff --git a/nixpkgs/pkgs/development/libraries/quictls/default.nix b/nixpkgs/pkgs/development/libraries/quictls/default.nix
index a91015e1b8a7..3d5741ccba55 100644
--- a/nixpkgs/pkgs/development/libraries/quictls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/quictls/default.nix
@@ -16,13 +16,13 @@ assert (
 
 stdenv.mkDerivation rec {
   pname = "quictls";
-  version = "3.0.0+quick_unstable-2021-11.02";
+  version = "3.0.1+quick_unstable-2021-12.14";
 
   src = fetchFromGitHub {
     owner = "quictls";
     repo = "openssl";
-    rev = "62d4de00abfa82fc01efa2eba1982a86c4864f39";
-    sha256 = "11mi4bkkyy4qd2wml6p7xcsbps0mabk3bp537rp7n43qnhwyg1g3";
+    rev = "ab8b87bdb436b11bf2a10a2a57a897722224f828";
+    sha256 = "sha256-835oZgoM1CTS+JLxPO3oGSTnhLmJXGT1cFaJhCJK++8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/qwt/6.nix b/nixpkgs/pkgs/development/libraries/qwt/6.nix
index 1f2518fc7380..a9fa29ba4d4f 100644
--- a/nixpkgs/pkgs/development/libraries/qwt/6.nix
+++ b/nixpkgs/pkgs/development/libraries/qwt/6.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, qtbase, qtsvg, qttools, qmake }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.6";
+  pname = "qwt";
+  version = "6.1.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
     sha256 = "sha256-mUYNMcEV7kEXsBddiF9HwsWQ14QgbwmBXcBY++Xt4fY=";
   };
 
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
     sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
   '';
 
-  qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
+  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
 
   dontWrapQtApps = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix b/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix
index 61903af93fac..021fa0ba57d4 100644
--- a/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix
+++ b/nixpkgs/pkgs/development/libraries/qwt/6_qt4.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, qt4, qmake4Hook, AGL }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.5";
+  pname = "qwt";
+  version = "6.1.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
     sha256 = "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0";
   };
 
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
       install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
     '';
 
-  qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
+  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
 
   meta = with lib; {
     description = "Qt widgets for technical applications";
diff --git a/nixpkgs/pkgs/development/libraries/rabbitmq-java-client/default.nix b/nixpkgs/pkgs/development/libraries/rabbitmq-java-client/default.nix
index e5657bcb3c30..7cd3a086cdb8 100644
--- a/nixpkgs/pkgs/development/libraries/rabbitmq-java-client/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rabbitmq-java-client/default.nix
@@ -1,15 +1,16 @@
-{ fetchurl, lib, stdenv, ant, jdk, jre, python, makeWrapper }:
+{ fetchurl, lib, stdenv, ant, jdk, jre, python2, makeWrapper }:
 
-stdenv.mkDerivation {
-  name = "rabbitmq-java-client-3.3.4";
+stdenv.mkDerivation rec {
+  pname = "rabbitmq-java-client";
+  version = "3.3.4";
 
   src = fetchurl {
-    url = "https://www.rabbitmq.com/releases/rabbitmq-java-client/v3.3.4/rabbitmq-java-client-3.3.4.tar.gz";
+    url = "https://www.rabbitmq.com/releases/rabbitmq-java-client/v${version}/rabbitmq-java-client-${version}.tar.gz";
     sha256 = "03kspkgzzjsbq6f8yl2zj5m30qwgxv3l58hrbf6gcgxb5rpfk6sh";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ant jdk python ];
+  buildInputs = [ ant jdk python2 ];
 
   buildPhase = "ant dist";
 
diff --git a/nixpkgs/pkgs/development/libraries/re2/default.nix b/nixpkgs/pkgs/development/libraries/re2/default.nix
index a70ad0f69e03..22d803c17be6 100644
--- a/nixpkgs/pkgs/development/libraries/re2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/re2/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, nix-update-script }:
 
 stdenv.mkDerivation rec {
   pname = "re2";
-  version = "2021-09-01";
+  version = "2021-11-01";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "re2";
     rev = version;
-    sha256 = "1fyhypw345xz8zdh53gz6j1fwgrx0gszk1d349ja37dpxh4jp2jh";
+    sha256 = "sha256-q8u7xNp6n17F6twPoVkix8iCKPWUN+qg6rhSR4Dv+bI=";
   };
 
   patches = [
@@ -39,6 +39,12 @@ stdenv.mkDerivation rec {
   doInstallCheck = true;
   installCheckTarget = "testinstall";
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = {
     homepage = "https://github.com/google/re2";
     description = "An efficient, principled regular expression library";
diff --git a/nixpkgs/pkgs/development/libraries/readline/5.x.nix b/nixpkgs/pkgs/development/libraries/readline/5.x.nix
deleted file mode 100644
index b2eab66387f5..000000000000
--- a/nixpkgs/pkgs/development/libraries/readline/5.x.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation {
-  name = "readline-5.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/readline/readline-5.2.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/nixpkgs/pkgs/development/libraries/readline/6.2.nix b/nixpkgs/pkgs/development/libraries/readline/6.2.nix
deleted file mode 100644
index 98db664dd8fc..000000000000
--- a/nixpkgs/pkgs/development/libraries/readline/6.2.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ fetchurl, lib, stdenv, ncurses
-}:
-
-stdenv.mkDerivation (rec {
-  name = "readline-6.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/readline/${name}.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/${name}-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/nixpkgs/pkgs/development/libraries/readline/6.3.nix b/nixpkgs/pkgs/development/libraries/readline/6.3.nix
index 2f63c4a3043c..88ad884bd489 100644
--- a/nixpkgs/pkgs/development/libraries/readline/6.3.nix
+++ b/nixpkgs/pkgs/development/libraries/readline/6.3.nix
@@ -1,7 +1,8 @@
 { fetchurl, lib, stdenv, ncurses }:
 
 stdenv.mkDerivation {
-  name = "readline-6.3p08";
+  pname = "readline";
+  version = "6.3p08";
 
   src = fetchurl {
     url = "mirror://gnu/readline/readline-6.3.tar.gz";
diff --git a/nixpkgs/pkgs/development/libraries/readline/clang.patch b/nixpkgs/pkgs/development/libraries/readline/clang.patch
deleted file mode 100644
index 42bb0be09c39..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/readline/no-arch_only.patch b/nixpkgs/pkgs/development/libraries/readline/no-arch_only.patch
deleted file mode 100644
index b23eab5d9d73..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/readline/readline-6.2-patches.nix b/nixpkgs/pkgs/development/libraries/readline/readline-6.2-patches.nix
deleted file mode 100644
index 9fdcb3743b72..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/readline/shobj-darwin.patch b/nixpkgs/pkgs/development/libraries/readline/shobj-darwin.patch
deleted file mode 100644
index a9199ca3e89a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/resolv_wrapper/default.nix b/nixpkgs/pkgs/development/libraries/resolv_wrapper/default.nix
index 69ec01747484..c6669edbc164 100644
--- a/nixpkgs/pkgs/development/libraries/resolv_wrapper/default.nix
+++ b/nixpkgs/pkgs/development/libraries/resolv_wrapper/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, cmake, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "resolv_wrapper-1.1.7";
+  pname = "resolv_wrapper";
+  version = "1.1.7";
 
   src = fetchurl {
-    url = "mirror://samba/cwrap/${name}.tar.gz";
+    url = "mirror://samba/cwrap/resolv_wrapper-${version}.tar.gz";
     sha256 = "sha256-Rgrn/V5TSFvn3ZmlXFki8csWNrnoghmB1JrRZQfIoHQ=";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/retro-gtk/default.nix b/nixpkgs/pkgs/development/libraries/retro-gtk/default.nix
index e1385f7a3ef0..113143311edf 100644
--- a/nixpkgs/pkgs/development/libraries/retro-gtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/retro-gtk/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , cmake
 , meson
 , ninja
@@ -27,6 +28,11 @@ stdenv.mkDerivation rec {
   patches = [
     # https://gitlab.gnome.org/GNOME/retro-gtk/-/merge_requests/150
     ./gio-unix.patch
+    # fix build with meson 0.60 (https://gitlab.gnome.org/GNOME/retro-gtk/-/merge_requests/167)
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/retro-gtk/-/commit/8016c10e7216394bc66281f2d9be740140b6fad6.patch";
+      sha256 = "sha256-HcQnqadK5sJM5mMqi4KERkJM3H+MUl8AJAorpFDsJ68=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/rinutils/default.nix b/nixpkgs/pkgs/development/libraries/rinutils/default.nix
index 35e48140fdd3..212019bb0e16 100644
--- a/nixpkgs/pkgs/development/libraries/rinutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/rlog/default.nix b/nixpkgs/pkgs/development/libraries/rlog/default.nix
index 88a96209993b..c8661f173e67 100644
--- a/nixpkgs/pkgs/development/libraries/rlog/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rlog/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "rlog-1.4";
+stdenv.mkDerivation rec {
+  pname = "rlog";
+  version = "1.4";
 
   src = fetchurl {
-    url = "http://rlog.googlecode.com/files/rlog-1.4.tar.gz";
+    url = "http://rlog.googlecode.com/files/rlog-${version}.tar.gz";
     sha256 = "0y9zg0pd7vmnskwac1qdyzl282z7kb01nmn57lsg2mjdxgnywf59";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
index 9364fdf75d5b..3f50c0665fa8 100644
--- a/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocksdb/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "6.27.3";
+  version = "6.29.3";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s3vBW/vN6lUvOp3vlx/Wo2ZrzobZ2s8MHujFouSU2NM=";
+    sha256 = "sha256-O0nIPRKj0ZOEjynh7h9kM6V965hQKs+4GgIbN+Os0I4=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix b/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix
index 13a326581117..e2ed679d2128 100644
--- a/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/rure/Cargo.lock b/nixpkgs/pkgs/development/libraries/rure/Cargo.lock
new file mode 100644
index 000000000000..ce760ae23315
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rure/Cargo.lock
@@ -0,0 +1,49 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eef78b64d87775463c549fbd80e19249ef436ea3bf1de2a1eb7e717ec7fab1e9"
+
+[[package]]
+name = "memchr"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+
+[[package]]
+name = "regex"
+version = "1.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+
+[[package]]
+name = "rure"
+version = "0.2.1"
+dependencies = [
+ "libc",
+ "regex",
+]
diff --git a/nixpkgs/pkgs/development/libraries/rure/default.nix b/nixpkgs/pkgs/development/libraries/rure/default.nix
new file mode 100644
index 000000000000..aef8b9c8f3e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rure/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchCrate
+}:
+
+let
+  pin = lib.importJSON ./pin.json;
+in
+
+rustPlatform.buildRustPackage {
+  inherit (pin) pname version;
+
+  src = fetchCrate pin;
+
+  # upstream doesn't ship a Cargo.lock, is generated by the update script
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
+
+  cargoLock.lockFile = ./Cargo.lock;
+
+  outputs = [ "out" "dev" ];
+
+  # Headers are not handled by cargo nor buildRustPackage
+  postInstall = ''
+    install -Dm644 include/rure.h -t "$dev/include"
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = {
+    description = "A C API for Rust's regular expression library";
+    homepage = "https://crates.io/crates/rure";
+    license = [
+      lib.licenses.mit
+      lib.licenses.asl20
+    ];
+    maintainers = [ lib.maintainers.sternenseemann ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rure/pin.json b/nixpkgs/pkgs/development/libraries/rure/pin.json
new file mode 100644
index 000000000000..234631d07c6e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rure/pin.json
@@ -0,0 +1,5 @@
+{
+  "pname": "rure",
+  "version": "0.2.1",
+  "sha256": "18sd1dfagf2338mp32kfjbqpc3n0agm61p044jl7yhy299ws21r8"
+}
diff --git a/nixpkgs/pkgs/development/libraries/rure/update.sh b/nixpkgs/pkgs/development/libraries/rure/update.sh
new file mode 100755
index 000000000000..6e85d7cf03a7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rure/update.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -p nix jq curl cargo rsync
+#! nix-shell -i bash
+
+set -eu
+
+cd "$(dirname "$0")"
+
+crate=rure
+
+echo "Getting latest version from crates.io API" >&2
+
+curlOpts=(
+  -H "Accept: application/json"
+  -H "User-Agent: $crate update script (https://github.com/nixos/nixpkgs/)"
+)
+
+version="$(curl "${curlOpts[@]}" "https://crates.io/api/v1/crates/$crate" \
+  | jq -r .crate.max_stable_version)"
+
+echo "Prefetching latest tarball from crates.io" >&2
+
+url="https://crates.io/api/v1/crates/$crate/$version/download"
+prefetch="$(nix-prefetch-url --print-path --type sha256 --unpack "$url")"
+
+cat > pin.json <<EOF
+{
+  "pname": "$crate",
+  "version": "$version",
+  "sha256": "$(printf '%s' "$prefetch" | head -n1)"
+}
+EOF
+
+echo "Generating updated Cargo.lock" >&2
+
+tmp="$(mktemp -d)"
+
+cleanup() {
+  echo "Removing $tmp" >&2
+  rm -rf "$tmp"
+}
+
+trap cleanup EXIT
+
+rsync -a --chmod=ugo=rwX "$(printf '%s' "$prefetch" | tail -n1)/" "$tmp"
+
+pushd "$tmp"
+cargo update
+popd
+
+cp "$tmp/Cargo.lock" ./Cargo.lock
diff --git a/nixpkgs/pkgs/development/libraries/s2n-tls/default.nix b/nixpkgs/pkgs/development/libraries/s2n-tls/default.nix
index 35a37fbddb86..395e5d0c75d6 100644
--- a/nixpkgs/pkgs/development/libraries/s2n-tls/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/safefile/default.nix b/nixpkgs/pkgs/development/libraries/safefile/default.nix
index 2865ab06319f..1f49afbacff2 100644
--- a/nixpkgs/pkgs/development/libraries/safefile/default.nix
+++ b/nixpkgs/pkgs/development/libraries/safefile/default.nix
@@ -8,20 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "1y0gikds2nr8jk8smhrl617njk23ymmpxyjb2j1xbj0k82xspv78";
   };
 
-  passthru = {
-    updateScript = ''
-      #!${runtimeShell}
-      cd ${toString ./.}
-      ${toString path}/pkgs/build-support/upstream-updater/update-walker.sh default.nix
-    '';
-  };
-
-  meta = {
+  meta = with lib; {
     description = "File open routines to safely open a file when in the presence of an attack";
-    license = lib.licenses.asl20 ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.all;
     homepage = "https://research.cs.wisc.edu/mist/safefile/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/astronomy/indilib/default.nix b/nixpkgs/pkgs/development/libraries/science/astronomy/indilib/default.nix
index 2ac1ba9536f6..60f5e51ae957 100644
--- a/nixpkgs/pkgs/development/libraries/science/astronomy/indilib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/astronomy/indilib/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "indilib";
-  version = "1.9.3";
+  version = "1.9.4";
 
   src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi";
     rev = "v${version}";
-    sha256 = "sha256-Ik62kbOetA2vSMpnwrSiNRNJqOgmqlCB2+KNhpBo9TA=";
+    sha256 = "sha256-U3Q0WUEDRn0zfBIdHXFp5Zcaf+M6HrSFnpeu5aAkjks=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/nixpkgs/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
index 191751993c3a..a214d28347de 100644
--- a/nixpkgs/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "stellarsolver";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "rlancaste";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eC45V0aqFSUVJrxhaEXFzgzaXkHVwA5Yj8YyGvii0QI=";
+    sha256 = "sha256-PiRXNiemJ+UjVhmd2KPcTKJoDW9K9QBf62nkP1LlOfw=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -25,6 +25,6 @@ mkDerivation rec {
     description = "Astrometric plate solving library";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hjones2199 ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix b/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix
index 52822baca631..8a9df7601d28 100644
--- a/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "htslib";
-  version = "1.13";
+  version = "1.14";
 
   src = fetchurl {
     url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-8kB9+fl/C7awdlZXnkGhylEARkBntrIb+WKi6ksO/WU=";
+    sha256 = "sha256-7SIbj1L0gS+BDuvgzFbNg1WlydIcYtFCrAWtDaFHk18=";
   };
 
   # perl is only used during the check phase.
diff --git a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix b/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
index 3d4d4c21e5a1..663d61494c76 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix b/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
index f5a4fac1a908..13fc0b679970 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix b/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix
index e80607ab9556..2690d544c2c8 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/fenics/default.nix
@@ -26,10 +26,20 @@
 , zlib
 , blas
 , lapack
+, nixosTests
 }:
 let
   version = "2019.1.0";
 
+  # TODO: test with newer pytest
+  pytest = pythonPackages.callPackage
+    ../../../../python2-modules/pytest {
+      # hypothesis tests require pytest that causes dependency cycle
+      hypothesis = pythonPackages.hypothesis.override {
+        doCheck = false;
+      };
+    };
+
   dijitso = pythonPackages.buildPythonPackage {
     pname = "dijitso";
     inherit version;
@@ -251,6 +261,7 @@ let
       pythonPackages.pybind11
     ];
     doCheck = false; # Tries to orte_ess_init and call ssh to localhost
+    passthru.tests = { inherit (nixosTests) fenics; };
     meta = {
       description = "Python bindings for the DOLFIN FEM compiler";
       homepage = "https://fenicsproject.org/";
diff --git a/nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix b/nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix
index 88560e0cd983..d7a0dcfe06a7 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/itpp/default.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ andrew-d ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/itpp.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/lcalc/default.nix b/nixpkgs/pkgs/development/libraries/science/math/lcalc/default.nix
index 3f0cf45062f1..b1896917658c 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/lcalc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/lcalc/default.nix
@@ -1,94 +1,38 @@
 { lib, stdenv
-, fetchurl
-, fetchpatch
+, autoreconfHook
+, gengetopt
+, pkg-config
+, fetchFromGitLab
 , pari
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.23";
+  version = "2.0.5";
   pname = "lcalc";
 
-  src = fetchurl {
-    # original at http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/L-${version}.tar.gz, no longer available
-    # "newer" version at google code https://code.google.com/archive/p/l-calc/source/default/source
-    url = "mirror://sageupstream/lcalc/lcalc-${version}.tar.bz2";
-    sha256 = "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43";
+  src = fetchFromGitLab {
+    owner = "sagemath";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-RxWZ7T0I9zV7jUVnL6jV/PxEoU32KY7Q1UsOL5Lonuc=";
   };
 
-  preConfigure = "cd src";
+  nativeBuildInputs = [
+    autoreconfHook
+    gengetopt
+    pkg-config
+  ];
 
   buildInputs = [
     pari
   ];
 
-  patches = [
-    # Port to newer pari
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/pari-2.7.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "1x3aslldm8njjm7p9g9s9w2c91kphnci2vpkxkrcxfihw3ayss6c";
-    })
-
-    # Uncomment the definition of lcalc_to_double(const long double& x).
-    # (Necessary for GCC >= 4.6.0, cf. https://trac.sagemath.org/ticket/10892)
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/Lcommon.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0g4ybvsrcv48rmlh1xjnkms19jp25k58azv6ds1f2cm34hxs8fdx";
-    })
-
-    # Include also <time.h> in Lcommandline_numbertheory.h (at least required
-    # on Cygwin, cf. https://trac.sagemath.org/ticket/9845)
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/time.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "1brf04n11kkc43ylagf8dm32j5r2g9zv51dp5wag1mpm4p04l7cl";
-    })
-
-    # Fix for gcc >4.6
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0i2yvxm5fx4z0v6m4srgh8rj98kijmlvyirlxf1ky0bp2si6bpka";
-    })
-
-    # gcc 5.1
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vlh";
-    })
-
-    # based on gentoos makefile patch -- fix paths, adhere to flags
-    ./makefile.patch
-
-    # (fetchpatch {
-    #   name = "default-double.patch";
-    #   url = "https://github.com/dimpase/lcalc/pull/1/commits/0500c67b6aa1f492715591669f6647c8f7a3ea59.patch";
-    #   sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vla";
-    # })
-
-    (fetchpatch {
-      name = "c++11.patch";
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/3607b97df5a8c231191115b0cb5c62426b339e71/trunk/lcalc-c++11.patch";
-      sha256 = "1ccrl61lv2vvx8ggldq54m5d0n1iy6mym7qz0i8nj6yj0dshnpk3";
-    })
-  ] ++ lib.optional stdenv.isDarwin
-  (fetchpatch {
-    url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/clang.patch";
-    sha256 = "0bb7656z6cp6i4p2qj745cmq0lhh52v2akl9whi760dynfdxbl18";
-  });
-
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace src/Makefile --replace g++ c++
-  '';
-
-  installFlags = [
-    "DESTDIR=$(out)"
-  ];
-
-  makeFlags = [
-    "PARI_DEFINE=-DINCLUDE_PARI"
-    "PARI_PREFIX=${pari}"
+  configureFlags = [
+    "--with-pari"
   ];
 
   meta = with lib; {
-    homepage = "http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/L.html";
+    homepage = "https://gitlab.com/sagemath/lcalc";
     description = "A program for calculating with L-functions";
     license = with licenses; [ gpl2 ];
     maintainers = teams.sage.members;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch b/nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch
deleted file mode 100644
index 5c22cf0b84e8..000000000000
--- a/nixpkgs/pkgs/development/libraries/science/math/lcalc/makefile.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-diff --git a/src/Makefile b/src/Makefile
-index 84e4e88..56ca676 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -58,7 +58,7 @@ ifeq ($(G5),TRUE)
-    #MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m64
- endif
- 
--CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
-+CCFLAGS = $(CXXFLAGS) $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS)
- #CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG)  $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
- #CCFLAGS =  -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
- 
-@@ -68,12 +68,12 @@ CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MA
- 
- ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
-     #location of pari.h.
--    LOCATION_PARI_H = /usr/local/include/pari #usual location
-+    LOCATION_PARI_H = $(PARI_PREFIX)/include/pari #usual location
- 
-     #location of libpari.a or of libpari.so
-     #depending on whether static or dynamic libraries are being used.
-     #On mac os x it's the former, on linux I think usually the latter.
--    LOCATION_PARI_LIBRARY = /usr/local/lib #usual location
-+    LOCATION_PARI_LIBRARY = $(PARI_PREFIX)/lib #usual location
- else
-     #supplied as a dummy so as to avoid more ifeq's below
-     LOCATION_PARI_H = .
-@@ -89,24 +89,24 @@ INCLUDEFILES= -I../include
- 
- ifeq ($(OS_NAME),Darwin)
-     LDFLAGS2 =
--    DYN_OPTION=dynamiclib
-+    DYN_OPTION=-dynamiclib
- else
--    LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I found
-+    LDFLAGS1 = #not sure why pari calls these when linking but on the web I found
-     #'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration.
-     #You need to use this flag if you are linking a shared library that will be dlopened'
-     #see notes below
-     #ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
--       LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY)
-+       LDFLAGS2 = $(LDFLAGS)
-     #else
-     #    LDFLAGS2 = $(LDFLAGS1)
-     #endif
--    DYN_OPTION=shared
-+    DYN_OPTION=$(LDFLAGS) -shared -Wl,-soname,libLfunction.so
- endif
- 
- ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
--    LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
-+    MYLDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
- else
--    LDFLAGS = $(LDFLAGS2)
-+    MYLDFLAGS = $(LDFLAGS2)
- endif
- 
- 
-@@ -129,7 +129,8 @@ endif
- #become clear which libraries the computer can find.
- 
- 
--INSTALL_DIR= /usr/local
-+INSTALL_DIR= $(DESTDIR)
-+LIB_DIR ?=lib
- 
- #object files for the libLfunction library
- OBJ_L = Lglobals.o Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o
-@@ -141,9 +142,8 @@ OBJECTS = $(OBJ3)
- 
- all:
- #	make print_vars
--	make libLfunction.so
--	make lcalc
--	make examples
-+	${MAKE} libLfunction.so
-+	${MAKE} lcalc
- #	make find_L
- #	make test
- 
-@@ -151,7 +151,7 @@ print_vars:
- 	@echo OS_NAME = $(OS_NAME)
- 
- lcalc: $(OBJECTS)
--	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc $(GMP_FLAGS)
-+	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(MYLDFLAGS) -o lcalc $(GMP_FLAGS)
- 
- examples:
- 	$(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction.so -o example_programs/example $(GMP_FLAGS)
-@@ -262,15 +262,18 @@ Lcommandline.o: ../include/Lcommandline_values_zeros.h
- 
- 
- libLfunction.so: $(OBJ_L)
--	g++ -$(DYN_OPTION)  -o libLfunction.so $(OBJ_L)
-+	g++ $(DYN_OPTION) -o libLfunction.so $(OBJ_L)
- 
- clean:
- 	rm -f *.o lcalc libLfunction.so example_programs/example
- 
- install:
--	cp -f lcalc $(INSTALL_DIR)/bin/.
--	cp -f libLfunction.so $(INSTALL_DIR)/lib/.
--	cp -rf ../include $(INSTALL_DIR)/include/Lfunction
-+	install -d $(INSTALL_DIR)/bin
-+	install -d $(INSTALL_DIR)/$(LIB_DIR)
-+	install -d $(INSTALL_DIR)/include/Lfunction
-+	install lcalc $(INSTALL_DIR)/bin
-+	install libLfunction.so $(INSTALL_DIR)/$(LIB_DIR)
-+	install -m 644 -t $(INSTALL_DIR)/include/Lfunction ../include/*.h
- 
- 
- SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libhomfly/default.nix b/nixpkgs/pkgs/development/libraries/science/math/libhomfly/default.nix
index b756109aa8fc..d0f09290c3c7 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/libhomfly/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
index f81a02303a60..f2a50cb2d3d4 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , gfortran
 , cmake
 , shared ? true
@@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ewYUM+M7jDO5LLnB4joiKkqgXjEDmWbFZbgad8x98gc=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-4048.patch";
+      url = "https://github.com/Reference-LAPACK/lapack/commit/0631b6beaed60ba118b0b027c0f8d35397bf5df0.patch";
+      sha256 = "1bqjw3f6ak9iz97y7ckn0rrfcgrzbn9prgfasl489qpxgzp2kjh8";
+    })
+  ];
+
   nativeBuildInputs = [ gfortran cmake ];
 
   # Configure stage fails on aarch64-darwin otherwise, due to either clang 11 or gfortran 10.
diff --git a/nixpkgs/pkgs/development/libraries/science/math/metis/default.nix b/nixpkgs/pkgs/development/libraries/science/math/metis/default.nix
index da79f6d62499..41deec25d454 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/metis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
index 0fc00efcff0a..d61b6ee3acb0 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
@@ -129,7 +129,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.18";
+  version = "0.3.19";
 
   outputs = [ "out" "dev" ];
 
@@ -137,7 +137,7 @@ stdenv.mkDerivation rec {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "sha256-b5i52rjsH65qAIlYGXQrzVxChi8/fwbD4eJTrxVq7Z8=";
+    sha256 = "sha256-EqA6oFM2theuvvuDOWeOx0Bv6AEFffmpWHJBzp23br0=";
   };
 
   inherit blas64;
@@ -208,15 +208,21 @@ EOF
     done
 
     # Setup symlinks for blas / lapack
+  '' + lib.optionalString enableShared ''
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt}
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt}
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt}
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt}
-  '' + lib.optionalString stdenv.hostPlatform.isLinux ''
+  '' + lib.optionalString (stdenv.hostPlatform.isLinux && enableShared) ''
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt}.3
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt}.3
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt}.3
     ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt}.3
+  '' + lib.optionalString enableStatic ''
+    ln -s $out/lib/libopenblas.a $out/lib/libblas.a
+    ln -s $out/lib/libopenblas.a $out/lib/libcblas.a
+    ln -s $out/lib/libopenblas.a $out/lib/liblapack.a
+    ln -s $out/lib/libopenblas.a $out/lib/liblapacke.a
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
index 84c01d80d0a6..21c7d45a9099 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix b/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
index e9ca9b849462..4a4208e1cbe4 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/nixpkgs/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;
@@ -74,6 +74,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/nixpkgs/pkgs/development/libraries/science/math/primecount/default.nix b/nixpkgs/pkgs/development/libraries/science/math/primecount/default.nix
index 7985b9d6dbd6..e1390ce6416e 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/primecount/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/primecount/default.nix
@@ -15,6 +15,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-/Cb/HkD4UQ9gXsRpvRiEuQBoRd0THxNHsBaAAa+CqQo=";
   };
 
+  cmakeFlags = [
+    "-DBUILD_STATIC_LIBS=OFF"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DBUILD_TESTS=ON"
+    "-DBUILD_PRIMECOUNT=ON"
+    "-DBUILD_LIBPRIMESIEVE=ON"
+  ];
+
   meta = with lib; {
     description = "Fast prime counting function implementations";
     homepage = "https://github.com/kimwalisch/primecount";
diff --git a/nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix b/nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix
index 2367b373b1c5..0cf263218a3b 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/primesieve/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
index 3b1fb98a42ea..9a7374f4f49c 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix b/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix
index 10ea82f93d26..a945e99ec9cb 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix
@@ -4,13 +4,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "scs";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "cvxgrp";
     repo = "scs";
     rev = version;
-    sha256 = "sha256-Lly28KDDZ5hJyiMOhiX/3VaKs0iPcSqizOurZevhfCo=";
+    sha256 = "sha256-yoh25DmvY7fohAvABCiSLkvr7TskGd0ED2K3rIa/IeM=";
   };
 
   # Actually link and add libgfortran to the rpath
diff --git a/nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
index 151a0eef8916..4c0059184ee3 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
+++ b/nixpkgs/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.1.4";
 
   outputs = [ "out" "dev" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    sha256 = "sha256-Bf3+w/kQtFpeUGp2zWVqja535EbaUw7DbhCw54B6A8k=";
+    sha256 = "sha256-pjb4Q9b+5hcI0ZYoez46V/ve4+1GJORu2ZGweceaWDY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/science/math/trilinos/default.nix b/nixpkgs/pkgs/development/libraries/science/math/trilinos/default.nix
new file mode 100644
index 000000000000..19d2119622e9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix b/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix
index 8f3e1aba350e..38d5d91e0837 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "http://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/";
+    homepage = "https://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/";
     description = "Polynomial arithmetic over Z/nZ";
     license = with licenses; [ gpl3 ];
     maintainers = teams.sage.members;
diff --git a/nixpkgs/pkgs/development/libraries/seasocks/default.nix b/nixpkgs/pkgs/development/libraries/seasocks/default.nix
index 8c5b4e87d9bb..fd53db0dcf91 100644
--- a/nixpkgs/pkgs/development/libraries/seasocks/default.nix
+++ b/nixpkgs/pkgs/development/libraries/seasocks/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python, zlib }:
+{ lib, stdenv, fetchFromGitHub, cmake, python3, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "seasocks";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib python ];
+  buildInputs = [ zlib python3 ];
 
   meta = with lib; {
     homepage = "https://github.com/mattgodbolt/seasocks";
diff --git a/nixpkgs/pkgs/development/libraries/sentry-native/default.nix b/nixpkgs/pkgs/development/libraries/sentry-native/default.nix
index ba4c8fcd0efd..1c29b85bebe7 100644
--- a/nixpkgs/pkgs/development/libraries/sentry-native/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sentry-native/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentry-native";
-  version = "0.4.13";
+  version = "0.4.15";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-native";
     rev = version;
-    sha256 = "sha256-btgv/GwwQhT/DtWhjM/g081UYLT7E76ZhqXZdMiIWsk=";
+    sha256 = "sha256-XHJa4erDxSFiy0u8S9ODQlMNDb1wrz+d1PzWeq5BZLY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/shapelib/default.nix b/nixpkgs/pkgs/development/libraries/shapelib/default.nix
index abb27a132c23..1604578a10c9 100644
--- a/nixpkgs/pkgs/development/libraries/shapelib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/shapelib/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "shapelib-1.5.0";
+  pname = "shapelib";
+  version = "1.5.0";
 
   src = fetchurl {
-    url = "https://download.osgeo.org/shapelib/${name}.tar.gz";
+    url = "https://download.osgeo.org/shapelib/shapelib-${version}.tar.gz";
     sha256 = "1qfsgb8b3yiqwvr6h9m81g6k9fjhfys70c22p7kzkbick20a9h0z";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/shhmsg/default.nix b/nixpkgs/pkgs/development/libraries/shhmsg/default.nix
index 704df3dc5eff..901ee48adece 100644
--- a/nixpkgs/pkgs/development/libraries/shhmsg/default.nix
+++ b/nixpkgs/pkgs/development/libraries/shhmsg/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "shhmsg-1.4.2";
+  pname = "shhmsg";
+  version = "1.4.2";
 
   src = fetchurl {
-    url = "https://shh.thathost.com/pub-unix/files/${name}.tar.gz";
+    url = "https://shh.thathost.com/pub-unix/files/shhmsg-${version}.tar.gz";
     sha256 = "0ax02fzqpaxr7d30l5xbndy1s5vgg1ag643c7zwiw2wj1czrxil8";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/simgear/default.nix b/nixpkgs/pkgs/development/libraries/simgear/default.nix
index 3ce41e3193c5..c24c336c7289 100644
--- a/nixpkgs/pkgs/development/libraries/simgear/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/smarty3/default.nix b/nixpkgs/pkgs/development/libraries/smarty3/default.nix
index c3c4f8610c70..3bf22261f219 100644
--- a/nixpkgs/pkgs/development/libraries/smarty3/default.nix
+++ b/nixpkgs/pkgs/development/libraries/smarty3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smarty3";
-  version = "3.1.39";
+  version = "3.1.44";
 
   src = fetchFromGitHub {
     owner = "smarty-php";
     repo = "smarty";
     rev = "v${version}";
-    sha256 = "0n5hmnw66gxqikp6frgfd9ywsvr2azyg5nl7ix89digqlzcljkbg";
+    sha256 = "sha256-9a9OC18jyFpmFXffYOYHZ0j01j4NCF5zwrSYr1fZwqo=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/smooth/default.nix b/nixpkgs/pkgs/development/libraries/smooth/default.nix
index 8e55c8f4128a..cc71bca442a0 100644
--- a/nixpkgs/pkgs/development/libraries/smooth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/smooth/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smooth";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "smooth";
     rev = "v${version}";
-    sha256 = "sha256-4092Od/wCWe4br80Ry6mr8GpUIUeeF6sk3unELdfQJU=";
+    sha256 = "sha256-30qVXK54SDL2+ZPbTINZix4Ax1iOMg2WLeEDyAr77Og=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/smpeg/default.nix b/nixpkgs/pkgs/development/libraries/smpeg/default.nix
index 83b4b2193c03..b671f47bf8cc 100644
--- a/nixpkgs/pkgs/development/libraries/smpeg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/snack/default.nix b/nixpkgs/pkgs/development/libraries/snack/default.nix
index 8c97d0224c66..1c876cf36360 100644
--- a/nixpkgs/pkgs/development/libraries/snack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/snack/default.nix
@@ -1,6 +1,6 @@
-# alsa-lib vorbis-tools python can be made optional
+# alsa-lib vorbis-tools python2 can be made optional
 
-{ lib, stdenv, fetchurl, python, tcl, tk, vorbis-tools, pkg-config, xlibsWrapper }:
+{ lib, stdenv, fetchurl, python2, tcl, tk, vorbis-tools, pkg-config, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "snack";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   postUnpack = ''sourceRoot="$sourceRoot/unix"'';
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ python tcl tk vorbis-tools xlibsWrapper ];
+  buildInputs = [ python2 tcl tk vorbis-tools xlibsWrapper ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/soci/default.nix b/nixpkgs/pkgs/development/libraries/soci/default.nix
index 5b8f93d7bc7b..b17fbe16655b 100644
--- a/nixpkgs/pkgs/development/libraries/soci/default.nix
+++ b/nixpkgs/pkgs/development/libraries/soci/default.nix
@@ -1,5 +1,6 @@
 { cmake
 , fetchFromGitHub
+, fetchpatch
 , sqlite
 , postgresql
 , boost
@@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-NE0ApbX8HG2VAQ9cg9+kX3kJQ4PR1XvWL9BlT8NphmE=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-backend-search-path.patch";
+      url = "https://github.com/SOCI/soci/commit/56c93afc467bdba8ffbe68739eea76059ea62f7a.patch";
+      sha256 = "sha256-nC/39pn3Cv5e65GgIfF3l64/AbCsfZHPUPIWETZFZAY=";
+    })
+  ];
+
   # Do not build static libraries
   cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/sofia-sip/default.nix b/nixpkgs/pkgs/development/libraries/sofia-sip/default.nix
index bbee609eb267..6bb11139502f 100644
--- a/nixpkgs/pkgs/development/libraries/sofia-sip/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sofia-sip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sofia-sip";
-  version = "1.13.6";
+  version = "1.13.7";
 
   src = fetchFromGitHub {
     owner = "freeswitch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0b1gq499ksgsi16f5nf3dzbj6s8knwkiak5j810jzdfm7vkm0vvm";
+    sha256 = "sha256-gBejwt5YAkCKQh0vzN00J4y1ifcdc4TglA+SqEevaGQ=";
   };
 
   buildInputs = [ glib openssl ] ++ lib.optional stdenv.isDarwin SystemConfiguration;
diff --git a/nixpkgs/pkgs/development/libraries/sope/default.nix b/nixpkgs/pkgs/development/libraries/sope/default.nix
index 415a2b1e1fbb..39b2d7fd8fd5 100644
--- a/nixpkgs/pkgs/development/libraries/sope/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sope/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 gnustep.stdenv.mkDerivation rec {
   pname = "sope";
-  version = "5.4.0";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOPE-${version}";
-    sha256 = "sha256-jOF429Gaf1Qo3bx9mUogBQ0u/tBUxnX7VZxJjxF24Rg=";
+    sha256 = "sha256-w78YO5EQWtEiySOm9NpPbaMChbJppNBoZNOBs9fibbM=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/development/libraries/spandsp/default.nix b/nixpkgs/pkgs/development/libraries/spandsp/default.nix
index 406603e66225..f2bc63d4f6d6 100644
--- a/nixpkgs/pkgs/development/libraries/spandsp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spandsp/default.nix
@@ -29,6 +29,5 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [raskin];
     license = lib.licenses.gpl2;
     downloadPage = "http://www.soft-switch.org/downloads/spandsp/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/sparsehash/default.nix b/nixpkgs/pkgs/development/libraries/sparsehash/default.nix
index 41b765bcb07d..35208d021b83 100644
--- a/nixpkgs/pkgs/development/libraries/sparsehash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sparsehash/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "sparsehash-2.0.4";
+  pname = "sparsehash";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "sparsehash";
     repo = "sparsehash";
-    rev = name;
+    rev = "sparsehash-${version}";
     sha256 = "1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/speechd/default.nix b/nixpkgs/pkgs/development/libraries/speechd/default.nix
index 80034a5a9cf0..270894c3e554 100644
--- a/nixpkgs/pkgs/development/libraries/speechd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/speechd/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , substituteAll
 , pkg-config
 , fetchurl
-, fetchpatch
 , python3Packages
 , gettext
 , itstool
@@ -18,33 +18,20 @@
 , withAlsa ? false, alsa-lib
 , withOss ? false
 , withFlite ? true, flite
-# , withFestival ? false, festival-freebsoft-utils
 , withEspeak ? true, espeak, sonic, pcaudiolib
+, mbrola
 , withPico ? true, svox
-# , withIvona ? false, libdumbtts
 }:
 
 let
-  inherit (lib) optional optionals;
   inherit (python3Packages) python pyxdg wrapPython;
-
-  # speechd hard-codes espeak, even when built without support for it.
-  selectedDefaultModule =
-    if withEspeak then
-      "espeak-ng"
-    else if withPico then
-      "pico"
-    else if withFlite then
-      "flite"
-    else
-      throw "You need to enable at least one output module.";
 in stdenv.mkDerivation rec {
   pname = "speech-dispatcher";
-  version = "0.10.2";
+  version = "0.11.1";
 
   src = fetchurl {
     url = "https://github.com/brailcom/speechd/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-sGMZ8gHhXlbGKWZTr1vPwwDLNI6XLVF9+LBurHfq4tw=";
+    sha256 = "sha256-0doS7T2shPE3mbai7Dm6LTyiGoST9E3BhVvQupbC3cY=";
   };
 
   patches = [
@@ -52,12 +39,11 @@ in stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       utillinux = util-linux;
     })
-
-    # Fix build with Glib 2.68
-    # https://github.com/brailcom/speechd/pull/462
-    (fetchpatch {
-      url = "https://github.com/brailcom/speechd/commit/a2faab416e42cbdf3d73f98578a89eb7a235e25a.patch";
-      sha256 = "8Q7tUdKKBBtgXZZnj59OcJOkrCNeBR9gkBjhKlpW0hQ=";
+  ] ++ lib.optionals espeak.mbrolaSupport [
+    # Replace FHS paths.
+    (substituteAll {
+      src = ./fix-mbrola-paths.patch;
+      inherit espeak mbrola;
     })
   ];
 
@@ -79,36 +65,39 @@ in stdenv.mkDerivation rec {
     libpulseaudio
     alsa-lib
     python
-  ] ++ optionals withEspeak [
+  ] ++ lib.optionals withEspeak [
     espeak
     sonic
     pcaudiolib
-  ] ++ optional withFlite flite
-    ++ optional withPico svox
-    # TODO: add flint/festival support with festival-freebsoft-utils package
-    # ++ optional withFestival festival-freebsoft-utils
-    # TODO: add Ivona support with libdumbtts package
-    # ++ optional withIvona libdumbtts
-  ;
+  ] ++ lib.optional withFlite [
+    flite
+  ] ++ lib.optional withPico [
+    svox
+  ];
 
-  pythonPath = [ pyxdg ];
+  pythonPath = [
+    pyxdg
+  ];
 
   configureFlags = [
     # Audio method falls back from left to right.
     "--with-default-audio-method=\"libao,pulse,alsa,oss\""
     "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
-  ] ++ optional withPulse "--with-pulse"
-    ++ optional withAlsa "--with-alsa"
-    ++ optional withLibao "--with-libao"
-    ++ optional withOss "--with-oss"
-    ++ optional withEspeak "--with-espeak-ng"
-    ++ optional withPico "--with-pico"
-    # ++ optional withFestival "--with-flint"
-    # ++ optional withIvona "--with-ivona"
-  ;
+  ] ++ lib.optional withPulse [
+  "--with-pulse"
+  ] ++ lib.optional withAlsa [
+    "--with-alsa"
+  ] ++ lib.optional withLibao [
+    "--with-libao"
+  ] ++ lib.optional withOss [
+    "--with-oss"
+  ] ++ lib.optional withEspeak [
+    "--with-espeak-ng"
+  ] ++ lib.optional withPico [
+    "--with-pico"
+  ];
 
   postPatch = ''
-    substituteInPlace config/speechd.conf --replace "DefaultModule espeak" "DefaultModule ${selectedDefaultModule}"
     substituteInPlace src/modules/pico.c --replace "/usr/share/pico/lang" "${svox}/share/pico/lang"
   '';
 
@@ -122,7 +111,10 @@ in stdenv.mkDerivation rec {
     description = "Common interface to speech synthesis";
     homepage = "https://devel.freebsoft.org/speechd";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ berce ];
+    maintainers = with maintainers; [
+      berce
+      jtojnar
+    ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/speechd/fix-mbrola-paths.patch b/nixpkgs/pkgs/development/libraries/speechd/fix-mbrola-paths.patch
new file mode 100644
index 000000000000..ea16bea9bac5
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/speechd/fix-mbrola-paths.patch
@@ -0,0 +1,21 @@
+diff --git a/src/modules/espeak.c b/src/modules/espeak.c
+index 94a01197..9bb34475 100644
+--- a/src/modules/espeak.c
++++ b/src/modules/espeak.c
+@@ -898,13 +898,13 @@ static SPDVoice **espeak_list_synthesis_voices()
+ 				path = g_strdup_printf("%s/mbrola/%s", espeak_data, voicename);
+ 				if (access(path, O_RDONLY) != 0) {
+ 					g_free(path);
+-					path = g_strdup_printf("/usr/share/mbrola/%s", voicename);
++					path = g_strdup_printf("@mbrola@/share/mbrola/%s", voicename);
+ 					if (access(path, O_RDONLY) != 0) {
+ 						g_free(path);
+-						path = g_strdup_printf("/usr/share/mbrola/%s/%s", voicename, voicename);
++						path = g_strdup_printf("@mbrola@/share/mbrola/%s/%s", voicename, voicename);
+ 						if (access(path, O_RDONLY) != 0) {
+ 							g_free(path);
+-							path = g_strdup_printf("/usr/share/mbrola/voices/%s", voicename);
++							path = g_strdup_printf("@mbrola@/share/mbrola/voices/%s", voicename);
+ 							if (access(path, O_RDONLY) != 0) {
+ 								g_free(path);
+ 								espeak_mbrola[j] = NULL;
diff --git a/nixpkgs/pkgs/development/libraries/speex/default.nix b/nixpkgs/pkgs/development/libraries/speex/default.nix
index 9633f435fb8e..a7d4aa970742 100644
--- a/nixpkgs/pkgs/development/libraries/speex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/speex/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, autoreconfHook, pkg-config, fftw, speexdsp }:
 
 stdenv.mkDerivation rec {
-  name = "speex-1.2.0";
+  pname = "speex";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz";
+    url = "http://downloads.us.xiph.org/releases/speex/speex-${version}.tar.gz";
     sha256 = "150047wnllz4r94whb9r73l5qf0z5z3rlhy98bawfbblmkq8mbpa";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix b/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix
index a7d59cd8bf6f..43a70c50fed4 100644
--- a/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sphinxbase/default.nix
@@ -8,10 +8,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "sphinxbase-5prealpha";
+  pname = "sphinxbase";
+  version = "5prealpha";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
+    url = "mirror://sourceforge/cmusphinx/sphinxbase-${version}.tar.gz";
     sha256 = "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp";
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/spice-gtk/default.nix b/nixpkgs/pkgs/development/libraries/spice-gtk/default.nix
index 13bfae944e02..16cf654914d1 100644
--- a/nixpkgs/pkgs/development/libraries/spice-gtk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/spice-protocol/default.nix b/nixpkgs/pkgs/development/libraries/spice-protocol/default.nix
index 12eb03b6d63f..d7800859d057 100644
--- a/nixpkgs/pkgs/development/libraries/spice-protocol/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/spice/default.nix b/nixpkgs/pkgs/development/libraries/spice/default.nix
index ee0f6be16984..4f639cf29f74 100644
--- a/nixpkgs/pkgs/development/libraries/spice/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix b/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix
index 9a25acd3f9ea..d9516538163b 100644
--- a/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spirv-headers/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-headers";
-  version = "unstable-2021-08-11";
+  version = "1.2.198.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
-    rev = "e71feddb3f17c5586ff7f4cfb5ed1258b800574b";
-    sha256 = "sha256-9m0EBcgdya+KCNJHC3x+YV2sXoSNToTcgDkpeKzId6U=";
+    rev = "sdk-${version}";
+    sha256 = "sha256-cdEiRSCoX0New8ecUh7UTDz/is2v29zhf6Il2N1j3mw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix b/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
index cbac792e44e6..353347215663 100644
--- a/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, openssl, tcl, installShellFiles, buildPackages, readline, ncurses, zlib }:
+{ stdenv, lib, fetchFromGitHub, openssl, tcl, installShellFiles, buildPackages, readline, ncurses, zlib, sqlite }:
 
 stdenv.mkDerivation rec {
   pname = "sqlcipher";
@@ -21,9 +21,8 @@ stdenv.mkDerivation rec {
   ];
 
   CFLAGS = [
-    "-DSQLITE_ENABLE_COLUMN_METADATA=1"
-    "-DSQLITE_SECURE_DELETE=1"
-    "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1"
+    # We want feature parity with sqlite
+    sqlite.NIX_CFLAGS_COMPILE
     "-DSQLITE_HAS_CODEC"
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/default.nix b/nixpkgs/pkgs/development/libraries/sqlite/default.nix
index de433ba5008d..6704d894f5a2 100644
--- a/nixpkgs/pkgs/development/libraries/sqlite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlite/default.nix
@@ -11,12 +11,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite";
-  version = "3.37.0";
+  version = "3.37.2";
 
+  # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
-    url = "https://sqlite.org/2021/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "sha256-cxpGUdTUs2/H0h21hrLeTdAK8x/VT7WppLf0kgV0efc=";
+    url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz";
+    sha256 = "sha256-QImo2bRnU3s/JG8he4TNduALHRqXH+WsoeMOIw5Gstg=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/nixpkgs/pkgs/development/libraries/sqlite/tools.nix b/nixpkgs/pkgs/development/libraries/sqlite/tools.nix
index 7309e1de0b68..d8d3735fe3d8 100644
--- a/nixpkgs/pkgs/development/libraries/sqlite/tools.nix
+++ b/nixpkgs/pkgs/development/libraries/sqlite/tools.nix
@@ -4,11 +4,12 @@ let
   archiveVersion = import ./archive-version.nix lib;
   mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.37.0";
+    version = "3.37.2";
 
+    # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
-      url = "https://sqlite.org/2021/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "sha256-cJd/s5Qhh9RidBOv3pqUkvoCuVSFCBK1OXS2ox7Oj68=";
+      url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
+      sha256 = "sha256-SGdwtNX4i1uw26VA3W7hdjBn11Od/uGKfGb+m7A9Ftk=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/development/libraries/srt/default.nix b/nixpkgs/pkgs/development/libraries/srt/default.nix
index 49c761231015..c74780148a1b 100644
--- a/nixpkgs/pkgs/development/libraries/srt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/stfl/default.nix b/nixpkgs/pkgs/development/libraries/stfl/default.nix
index 48c5edd13bf3..1ed1a05004b6 100644
--- a/nixpkgs/pkgs/development/libraries/stfl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/stfl/default.nix
@@ -11,13 +11,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses libiconv ];
 
-  buildPhase = ''
+  preBuild = ''
     sed -i s/gcc/cc/g Makefile
     sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h
-  '' + (lib.optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     sed -i s/-soname/-install_name/ Makefile
-  '') + ''
-    make
   '';
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/swiften/build-fix.patch b/nixpkgs/pkgs/development/libraries/swiften/build-fix.patch
index 01814cadfbd4..d0ce099973c2 100644
--- a/nixpkgs/pkgs/development/libraries/swiften/build-fix.patch
+++ b/nixpkgs/pkgs/development/libraries/swiften/build-fix.patch
@@ -30,3 +30,13 @@ diff -wbBur swift-4.0.2/Swiften/Network/PlatformNATTraversalWorker.cpp swift-4.0
      if (natPMPSupported) {
          return natPMPInterface;
      }
+--- a/Swift/Controllers/ShowProfileController.h
++++ b/Swift/Controllers/ShowProfileController.h
+@@ -12,6 +12,7 @@
+ 
+ #pragma once
+ 
++#include <map>
+ #include <Swiften/Elements/ErrorPayload.h>
+ #include <Swiften/Elements/VCard.h>
+ #include <Swiften/JID/JID.h>
diff --git a/nixpkgs/pkgs/development/libraries/swiften/default.nix b/nixpkgs/pkgs/development/libraries/swiften/default.nix
index 980d034682f5..ef30c5916eab 100644
--- a/nixpkgs/pkgs/development/libraries/swiften/default.nix
+++ b/nixpkgs/pkgs/development/libraries/swiften/default.nix
@@ -1,18 +1,57 @@
-{ lib, stdenv, python, fetchurl, openssl, boost, sconsPackages }:
+{ stdenv
+, lib
+, python2
+, libidn
+, lua
+, miniupnpc
+, expat
+, zlib
+, fetchurl
+, fetchpatch
+, openssl
+, boost
+, sconsPackages
+}:
+
 stdenv.mkDerivation rec {
   pname = "swiften";
   version = "4.0.2";
 
-  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
-  buildInputs           = [ python ];
-  propagatedBuildInputs = [ openssl boost ];
-
   src = fetchurl {
-    url    = "https://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
+    url = "https://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
     sha256 = "0w0aiszjd58ynxpacwcgf052zpmbpcym4dhci64vbfgch6wryz0w";
   };
 
-  patches = [ ./scons.patch ./build-fix.patch ];
+  patches = [
+    ./scons.patch
+    ./build-fix.patch
+
+    # Fix build with latest boost
+    # https://swift.im/git/swift/commit/Swiften/Base/Platform.h?id=3666cbbe30e4d4e25401a5902ae359bc2c24248b
+    (fetchpatch {
+      name = "3666cbbe30e4d4e25401a5902ae359bc2c24248b.patch";
+      url = "https://swift.im/git/swift/patch/Swiften/Base/Platform.h?id=3666cbbe30e4d4e25401a5902ae359bc2c24248b";
+      sha256 = "Wh8Nnfm0/EppSJ7aH2vTNObHtodE5tM19kV1oDfm70w=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    sconsPackages.scons_3_1_2
+  ];
+
+  buildInputs = [
+    python2
+    libidn
+    lua
+    miniupnpc
+    expat
+    zlib
+  ];
+
+  propagatedBuildInputs = [
+    openssl
+    boost
+  ];
 
   sconsFlags = [
     "openssl=${openssl.dev}"
@@ -24,18 +63,25 @@ stdenv.mkDerivation rec {
     "debug=0"
     "swiften_dll=1"
   ];
-  preInstall = ''
-    installTargets="$out"
-    installFlags+=" SWIFTEN_INSTALLDIR=$out"
+
+  postPatch = ''
+    # Ensure bundled dependencies cannot be used.
+    rm -rf 3rdParty
   '';
 
+  installTargets = "${placeholder "out"}";
+
+  installFlags = [
+    "SWIFTEN_INSTALLDIR=${placeholder "out"}"
+  ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "An XMPP library for C++, used by the Swift client";
-    homepage    = "http://swift.im/swiften.html";
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
+    homepage = "http://swift.im/swiften.html";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
     maintainers = [ maintainers.twey ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/symengine/default.nix b/nixpkgs/pkgs/development/libraries/symengine/default.nix
index 92ecf3e494e1..cbe5e13a7007 100644
--- a/nixpkgs/pkgs/development/libraries/symengine/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/tbb/default.nix b/nixpkgs/pkgs/development/libraries/tbb/default.nix
index 7aef5ba74768..7913f05354d4 100644
--- a/nixpkgs/pkgs/development/libraries/tbb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tbb/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
 
   postInstall = let
     pcTemplate = fetchurl {
-      url = "https://github.com/oneapi-src/oneTBB/raw/master/integration/pkg-config/tbb.pc.in";
+      url = "https://github.com/oneapi-src/oneTBB/raw/478de5b1887c928e52f029d706af6ea640a877be/integration/pkg-config/tbb.pc.in";
       sha256 = "2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI=";
     };
   in ''
diff --git a/nixpkgs/pkgs/development/libraries/tdb/default.nix b/nixpkgs/pkgs/development/libraries/tdb/default.nix
index febf1b97eb68..f040022cc91b 100644
--- a/nixpkgs/pkgs/development/libraries/tdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/tdlib/default.nix b/nixpkgs/pkgs/development/libraries/tdlib/default.nix
index 79895a63a34c..4dedc13db2a8 100644
--- a/nixpkgs/pkgs/development/libraries/tdlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/thrift/0.10.nix b/nixpkgs/pkgs/development/libraries/thrift/0.10.nix
index 001de25e9963..3cfe56e3f7a9 100644
--- a/nixpkgs/pkgs/development/libraries/thrift/0.10.nix
+++ b/nixpkgs/pkgs/development/libraries/thrift/0.10.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library for scalable cross-language services";
-    homepage = "http://thrift.apache.org/";
+    homepage = "https://thrift.apache.org/";
     license = licenses.asl20;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/development/libraries/thrift/default.nix b/nixpkgs/pkgs/development/libraries/thrift/default.nix
index dbd21949ecfe..c5795df55c01 100644
--- a/nixpkgs/pkgs/development/libraries/thrift/default.nix
+++ b/nixpkgs/pkgs/development/libraries/thrift/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library for scalable cross-language services";
-    homepage = "http://thrift.apache.org/";
+    homepage = "https://thrift.apache.org/";
     license = licenses.asl20;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/development/libraries/tiledb/default.nix b/nixpkgs/pkgs/development/libraries/tiledb/default.nix
index 6bc0d3ef7534..19ebadd895f1 100644
--- a/nixpkgs/pkgs/development/libraries/tiledb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tiledb/default.nix
@@ -13,7 +13,7 @@
 , libpqxx
 , clang-tools
 , catch2
-, python
+, python3
 , gtest
 , doxygen
 , fixDarwinDylibNames
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     clang-tools
     cmake
-    python
+    python3
     doxygen
   ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
diff --git a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
index e3c74bd2fe45..10307c35f0c5 100644
--- a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
@@ -127,7 +127,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
-      versionPolicy = "none";
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/tracker/default.nix b/nixpkgs/pkgs/development/libraries/tracker/default.nix
index 7dbe0d410f75..68a29919f0aa 100644
--- a/nixpkgs/pkgs/development/libraries/tracker/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tracker/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , gettext
 , meson
 , ninja
@@ -44,6 +45,13 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit asciidoc;
     })
+
+    # Filter out hidden (wrapped) subcommands
+    # https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/481
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/tracker/-/commit/8c28c24e447f13da8cf804cd7a00f9b909c5d3f9.patch";
+      sha256 = "EYo1nOtEr4semaPC5wk6A7bliRXu8qsBHaltd0DEI6Y=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -61,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
@@ -77,7 +86,6 @@ stdenv.mkDerivation rec {
 
   checkInputs = with python3.pkgs; [
     pygobject3
-    tappy
   ];
 
   mesonFlags = [
@@ -124,7 +132,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
-      versionPolicy = "none";
     };
   };
 
diff --git a/nixpkgs/pkgs/development/libraries/ucx/default.nix b/nixpkgs/pkgs/development/libraries/ucx/default.nix
index 06c0ada16feb..76118edfcb3b 100644
--- a/nixpkgs/pkgs/development/libraries/ucx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ucx/default.nix
@@ -13,13 +13,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ucx";
-  version = "1.11.2";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "openucx";
     repo = "ucx";
     rev = "v${version}";
-    sha256 = "0a4rbgr3hn3h42krb7lasfidhqcavacbpp1pv66l4lvfc0gkwi2i";
+    sha256 = "0jwza9ivfnhkfwg4c58pxalkga5scz803k631xw4hcliy62gk53w";
   };
 
   nativeBuildInputs = [ autoreconfHook doxygen ];
diff --git a/nixpkgs/pkgs/development/libraries/umockdev/default.nix b/nixpkgs/pkgs/development/libraries/umockdev/default.nix
index 25773027941d..b00177960d3b 100644
--- a/nixpkgs/pkgs/development/libraries/umockdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/umockdev/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "umockdev";
-  version = "0.17.1";
+  version = "0.17.6";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-lq8lVQlSZpFGDL7nGV8pPe+AClK8PjzWoPmhfWvHpJs=";
+    sha256 = "sha256-X60zN3orHU8lOfRVCfbHTdrleKxB7ILCIGvXSZLdoSk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/unicorn/default.nix b/nixpkgs/pkgs/development/libraries/unicorn/default.nix
index ce1f91eee867..30ceba76163e 100644
--- a/nixpkgs/pkgs/development/libraries/unicorn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unicorn/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Lightweight multi-platform CPU emulator library";
-    homepage = "http://www.unicorn-engine.org";
+    homepage = "https://www.unicorn-engine.org";
     license = licenses.gpl2Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice luc65r ];
diff --git a/nixpkgs/pkgs/development/libraries/uriparser/default.nix b/nixpkgs/pkgs/development/libraries/uriparser/default.nix
index db36e31ae874..28eea0525176 100644
--- a/nixpkgs/pkgs/development/libraries/uriparser/default.nix
+++ b/nixpkgs/pkgs/development/libraries/uriparser/default.nix
@@ -2,22 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "uriparser";
-  version = "0.9.5";
+  version = "0.9.6";
 
   # Release tarball differs from source tarball
   src = fetchurl {
     url = "https://github.com/uriparser/uriparser/releases/download/${pname}-${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0v30qr5hl3xybl9nzwaw46kblwn94w5xpri22wanrrpjlzmn306x";
+    sha256 = "9ce4c3f151e78579f23937b44abecb428126863ad02e594e115e882353de905b";
   };
 
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
     "-DURIPARSER_BUILD_DOCS=OFF"
-  ];
+  ] ++ lib.optional (!doCheck) "-DURIPARSER_BUILD_TESTS=OFF";
 
   checkInputs = [ gtest ];
-  doCheck = stdenv.targetPlatform.system == stdenv.hostPlatform.system;
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
   meta = with lib; {
     homepage = "https://uriparser.github.io/";
diff --git a/nixpkgs/pkgs/development/libraries/v8/5_x.nix b/nixpkgs/pkgs/development/libraries/v8/5_x.nix
deleted file mode 100644
index 441a5559b527..000000000000
--- a/nixpkgs/pkgs/development/libraries/v8/5_x.nix
+++ /dev/null
@@ -1,199 +0,0 @@
-{ stdenv, lib, fetchgit, fetchFromGitHub, gyp, readline, python, which, icu
-, patchelf, coreutils, xcbuild
-, doCheck ? false
-, static ? false
-}:
-
-assert readline != null;
-
-let
-  arch = if stdenv.isx86_64 then "x64"
-            else if stdenv.isi686 then "ia32"
-            else if stdenv.isAarch64 then "arm64"
-            else if stdenv.isAarch32 then "arm"
-            else throw "Unknown architecture for v8";
-  git_url = "https://chromium.googlesource.com";
-  clangFlag = if stdenv.isDarwin then "1" else "0";
-  sharedFlag = if static then "static_library" else "shared_library";
-
-  deps = {
-    build = fetchgit {
-      url = "${git_url}/chromium/src/build.git";
-      rev = "2c67d4d74b6b3673228fab191918500a582ef3b0";
-      sha256 = "0jc7hci5yh792pw0ahjfxrk5xzllnlrv9llmwlgcgn2x8x6bn34q";
-    };
-    "tools/gyp" = fetchgit {
-      url = "${git_url}/external/gyp.git";
-      rev = "e7079f0e0e14108ab0dba58728ff219637458563";
-      sha256 = "0yd1ds13z0r9d2sb67f9i1gjn1zgzwyfv96qqqp6pn5pcfbialg6";
-    };
-    "third_party/icu" = fetchgit {
-      url = "${git_url}/chromium/deps/icu.git";
-      rev = "b5ecbb29a26532f72ef482569b223d5a51fd50bf";
-      sha256 = "0ld47wdnk8grcba221z67l3pnphv9zwifk4y44f5b946w3iwmpns";
-    };
-    buildtools = fetchgit {
-      url = "${git_url}/chromium/buildtools.git";
-      rev = "60f7f9a8b421ebf9a46041dfa2ff11c0fe59c582";
-      sha256 = "0i10bw7yhslklqwcx5krs3k05sicb73cpwd0mkaz96yxsvmkvjq0";
-    };
-    "base/trace_event/common" = fetchgit {
-      url = "${git_url}/chromium/src/base/trace_event/common.git";
-      rev = "315bf1e2d45be7d53346c31cfcc37424a32c30c8";
-      sha256 = "1pp2ygvp20j6g4868hrmiw0j704kdvsi9d9wx2gbk7w79rc36695";
-    };
-    "platform/inspector_protocol" = fetchgit {
-      url = "${git_url}/chromium/src/third_party/WebKit/Source/platform/inspector_protocol.git";
-      rev = "f49542089820a34a9a6e33264e09b73779407512";
-      sha256 = "1lwpass3p4rpp2kjmxxxpkqyv4lznxhf4i0yy7mmrd7jkpc7kn8k";
-    };
-    "tools/mb" = fetchgit {
-      url = "${git_url}/chromium/src/tools/mb.git";
-      rev = "0c4dc43c454f26936ddf3074ab8e9a41e3dc03a3";
-      sha256 = "0f96qphbmwn1pprv0a6xf68p01s1jzx2sz6pmadqbrs1dgh1xwnk";
-    };
-    "tools/swarming_client" = fetchgit {
-      url = "${git_url}/external/swarming.client.git";
-      rev = "7f63a272f7d9785ce41b6d10bb3106c49a968e57";
-      sha256 = "1pmb8bq4qifjf2dzz8c4jdwhlvwgrl9ycjaalcyh1sbh4lx3yvv2";
-    };
-    "testing/gtest" = fetchgit {
-      url = "${git_url}/external/github.com/google/googletest.git";
-      rev = "6f8a66431cb592dad629028a50b3dd418a408c87";
-      sha256 = "0bdba2lr6pg15bla9600zg0r0vm4lnrx0wqz84p376wfdxra24vw";
-    };
-    "testing/gmock" = fetchgit {
-      url = "${git_url}/external/googlemock.git";
-      rev = "0421b6f358139f02e102c9c332ce19a33faf75be";
-      sha256 = "1xiky4v98maxs8fg1avcd56y0alv3hw8qyrlpd899zgzbq2k10pp";
-    };
-    "test/benchmarks/data" = fetchgit {
-      url = "${git_url}/v8/deps/third_party/benchmarks.git";
-      rev = "05d7188267b4560491ff9155c5ee13e207ecd65f";
-      sha256 = "0ad2ay14bn67d61ks4dmzadfnhkj9bw28r4yjdjjyzck7qbnzchl";
-    };
-    "test/mozilla/data" = fetchgit {
-      url = "${git_url}/v8/deps/third_party/mozilla-tests.git";
-      rev = "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be";
-      sha256 = "0rfdan76yfawqxbwwb35aa57b723j3z9fx5a2w16nls02yk2kqyn";
-    };
-    "test/simdjs/data" = fetchgit {
-      url = "${git_url}/external/github.com/tc39/ecmascript_simd.git";
-      rev = "baf493985cb9ea7cdbd0d68704860a8156de9556";
-      sha256 = "178r0k40a58c1187gfzqz2i6as34l8cliy1g1x870wyy0qcvlq2q";
-    };
-    "test/test262/data" = fetchgit {
-      url = "${git_url}/external/github.com/tc39/test262.git";
-      rev = "88bc7fe7586f161201c5f14f55c9c489f82b1b67";
-      sha256 = "0gc7fmaqrgwb6rl02jnrm3synpwzzg0dfqy3zm386r1qcisl93xs";
-    };
-    "test/test262/harness" = fetchgit {
-      url = "${git_url}/external/github.com/test262-utils/test262-harness-py.git";
-      rev = "cbd968f54f7a95c6556d53ba852292a4c49d11d8";
-      sha256 = "094c3600a4wh1m3fvvlivn290kik1pzzvwabq77lk8bh4jkkv7ki";
-    };
-    "tools/clang" = fetchgit {
-      url = "${git_url}/chromium/src/tools/clang.git";
-      rev = "496622ab4aaa5be7e5a9b80617013cb02f45dc87";
-      sha256 = "1gkhk2bzpxwzkirzcqfixxpprbr8mn6rk00krm25daarm3smydmf";
-    };
-  };
-
-in
-
-stdenv.mkDerivation rec {
-  pname = "v8";
-  version = "5.4.232";
-
-  inherit doCheck;
-
-  src = fetchFromGitHub {
-    owner = "v8";
-    repo = "v8";
-    rev = version;
-    sha256 = "1nqxbkz75m8xrjih0sj3f3iqvif4192vxdaxzy8r787rihjwg9nx";
-  };
-
-  postUnpack = ''
-    ${lib.concatStringsSep "\n" (
-      lib.mapAttrsToList (n: v: ''
-        mkdir -p $sourceRoot/${n}
-        cp -r ${v}/* $sourceRoot/${n}
-      '') deps)}
-  '';
-
-  # Patch based off of:
-  # https://github.com/cowboyd/libv8/tree/v5.1.281.67.0/patches
-  patches = lib.optional (!doCheck) ./libv8-5.4.232.patch;
-
-  postPatch = ''
-    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' gypfiles/gyp_v8
-    sed -i 's,/bin/echo,${coreutils}/bin/echo,' gypfiles/standalone.gypi
-    sed -i '/CR_CLANG_REVISION/ d' gypfiles/standalone.gypi
-    sed -i 's/-Wno-format-pedantic//g' gypfiles/standalone.gypi
-  '';
-
-  configurePhase = ''
-    PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
-    PYTHONPATH="$(toPythonPath ${gyp}):$PYTHONPATH" \
-      gypfiles/gyp_v8 \
-        -f make \
-        --generator-output="out" \
-        -Dflock_index=0 \
-        -Dclang=${clangFlag} \
-        -Dv8_enable_i18n_support=1 \
-        -Duse_system_icu=1 \
-        -Dcomponent=${sharedFlag} \
-        -Dconsole=readline \
-        -Dv8_target_arch=${arch} \
-        -Dv8_use_external_startup_data=0
-  '';
-
-  nativeBuildInputs = [ which ];
-  buildInputs = [ readline python icu ]
-    ++ lib.optional stdenv.isDarwin xcbuild
-    ++ lib.optional stdenv.isLinux patchelf;
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow -Wno-error=unused-function -Wno-error=attributes"
-    + lib.optionalString stdenv.cc.isClang " -Wno-error=unused-lambda-capture";
-
-  buildFlags = [
-    "LINK=c++"
-    "-C out"
-    "builddir=$(CURDIR)/Release"
-    "BUILDTYPE=Release"
-  ];
-
-  enableParallelBuilding = true;
-
-  dontUpdateAutotoolsGnuConfigScripts = if stdenv.isAarch64 then true else null;
-
-  # the `libv8_libplatform` target is _only_ built as a static library,
-  # and is expected to be statically linked in when needed.
-  # see the following link for further commentary:
-  # https://github.com/cowboyd/therubyracer/issues/391
-  installPhase = ''
-    install -vD out/Release/d8 "$out/bin/d8"
-    install -vD out/Release/mksnapshot "$out/bin/mksnapshot"
-    ${if static then ""
-    else if stdenv.isDarwin then ''
-    install -vD out/Release/libv8.dylib "$out/lib/libv8.dylib"
-    install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8
-    install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
-    '' else ''
-    install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so"
-    ''}
-    mkdir -p "$out/include"
-    cp -vr include/*.h "$out/include"
-    cp -vr include/libplatform "$out/include"
-    mkdir -p "$out/lib"
-    cp -v  out/Release/*.a "$out/lib"
-  '';
-
-  meta = with lib; {
-    description = "Google's open source JavaScript engine";
-    maintainers = with maintainers; [ cstrahan proglodyte ];
-    platforms = platforms.linux ++ platforms.darwin;
-    license = licenses.bsd3;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/v8/8_x.nix b/nixpkgs/pkgs/development/libraries/v8/8_x.nix
new file mode 100644
index 000000000000..5d95a0716eff
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/v8/8_x.nix
@@ -0,0 +1,169 @@
+{ stdenv, lib, fetchgit, fetchFromGitHub
+, gn, ninja, python3, glib, pkg-config, icu
+, xcbuild, darwin
+, fetchpatch
+}:
+
+# Use update.sh to update all checksums.
+
+let
+  version = "8.8.278.14";
+  v8Src = fetchgit {
+    url = "https://chromium.googlesource.com/v8/v8";
+    rev = version;
+    sha256 = "0w6zldyas9w6p394876ssn3pnr5rjzjy1a5dcsmdkfj51m4rlg8m";
+  };
+
+  git_url = "https://chromium.googlesource.com";
+
+  # This data is from the DEPS file in the root of a V8 checkout.
+  deps = {
+    "base/trace_event/common" = fetchgit {
+      url    = "${git_url}/chromium/src/base/trace_event/common.git";
+      rev    = "eb94f1c7aa96207f469008f29989a43feb2718f8";
+      sha256 = "14gym38ncc9cysknv3jrql7jvcpjxf2d1dh4m8jgqb967jyzy5cj";
+    };
+    "build" = fetchgit {
+      url    = "${git_url}/chromium/src/build.git";
+      rev    = "2101eff1ac4bfd25f2dfa71ad632a600a38c1ed9";
+      sha256 = "0i3xcwzi4pkv4xpgjkbmcpj5h6mji80zqskkx0jx3sx0ji63fylz";
+    };
+    "third_party/googletest/src" = fetchgit {
+      url    = "${git_url}/external/github.com/google/googletest.git";
+      rev    = "4fe018038f87675c083d0cfb6a6b57c274fb1753";
+      sha256 = "1ilm9dmnm2v4y6l1wyfsajsbqv56j29ldfbpd0ykg4q90gpxz201";
+    };
+    "third_party/icu" = fetchgit {
+      url    = "${git_url}/chromium/deps/icu.git";
+      rev    = "c2a4cae149aae7fd30c4cbe3cf1b30df03b386f1";
+      sha256 = "0lgzxf7hmfsgqazs74v5li9ifg8r0jx5m3gxh1mnw33vpwp7qqf4";
+    };
+    "third_party/zlib" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/zlib.git";
+      rev    = "e84c9a3fd75fdc39055b7ae27d6ec508e50bd39e";
+      sha256 = "03z30djnb3srhd0nvlxvx58sjqm2bvxk7j3vp4fk6h7a0sa2bdpi";
+    };
+    "third_party/jinja2" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/jinja2.git";
+      rev    = "a82a4944a7f2496639f34a89c9923be5908b80aa";
+      sha256 = "02mkjwkrzhrg16zx97z792l0faz7gc8vga8w10r5y94p98jymnyz";
+    };
+    "third_party/markupsafe" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/markupsafe.git";
+      rev    = "0944e71f4b2cb9a871bcbe353f95e889b64a611a";
+      sha256 = "052ij8i7nkqchbvzv6ykj929hvfxjbzq7az2l01r0l2gfazhvdb9";
+    };
+  };
+
+  # See `gn_version` in DEPS.
+  gnSrc = fetchgit {
+    url = "https://gn.googlesource.com/gn";
+    rev = "53d92014bf94c3893886470a1c7c1289f8818db0";
+    sha256 = "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9";
+  };
+
+  myGn = gn.overrideAttrs (oldAttrs: {
+    version = "for-v8";
+    src = gnSrc;
+  });
+
+in
+
+stdenv.mkDerivation rec {
+  pname = "v8";
+  inherit version;
+
+  doCheck = true;
+
+  patches = [
+    ./darwin.patch
+  ];
+
+  src = v8Src;
+
+  postUnpack = ''
+    ${lib.concatStringsSep "\n" (
+      lib.mapAttrsToList (n: v: ''
+        mkdir -p $sourceRoot/${n}
+        cp -r ${v}/* $sourceRoot/${n}
+      '') deps)}
+    chmod u+w -R .
+  '';
+
+  postPatch = ''
+    ${lib.optionalString stdenv.isAarch64 ''
+      substituteInPlace build/toolchain/linux/BUILD.gn \
+        --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
+    ''}
+    ${lib.optionalString stdenv.isDarwin ''
+      substituteInPlace build/config/compiler/compiler.gni \
+        --replace 'strip_absolute_paths_from_debug_symbols = true' \
+                  'strip_absolute_paths_from_debug_symbols = false'
+      substituteInPlace build/config/compiler/BUILD.gn \
+        --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
+                  'false'
+    ''}
+    echo 'checkout_google_benchmark = false' > build/config/gclient_args.gni
+  '';
+
+  gnFlags = [
+    "use_custom_libcxx=false"
+    "is_clang=${lib.boolToString stdenv.cc.isClang}"
+    "use_sysroot=false"
+    # "use_system_icu=true"
+    "clang_use_chrome_plugins=false"
+    "is_component_build=false"
+    "v8_use_external_startup_data=false"
+    "v8_monolithic=true"
+    "is_debug=true"
+    "is_official_build=false"
+    "treat_warnings_as_errors=false"
+    "v8_enable_i18n_support=true"
+    "use_gold=false"
+    # ''custom_toolchain="//build/toolchain/linux/unbundle:default"''
+    ''host_toolchain="//build/toolchain/linux/unbundle:default"''
+    ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
+  ] ++ lib.optional stdenv.cc.isClang ''clang_base_path="${stdenv.cc}"'';
+
+  NIX_CFLAGS_COMPILE = "-O2";
+  FORCE_MAC_SDK_MIN = stdenv.targetPlatform.sdkVer or "10.12";
+
+  nativeBuildInputs = [
+    myGn
+    ninja
+    pkg-config
+    python3
+  ] ++ lib.optionals stdenv.isDarwin [
+    xcbuild
+    darwin.DarwinTools
+    python3.pkgs.setuptools
+  ];
+  buildInputs = [ glib icu ];
+
+  ninjaFlags = [ ":d8" "v8_monolith" ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -D d8 $out/bin/d8
+    install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a
+    install -D -m644 icudtl.dat $out/share/v8/icudtl.dat
+    cp -r ../../include $out
+
+    mkdir -p $out/lib/pkgconfig
+    cat > $out/lib/pkgconfig/v8.pc << EOF
+    Name: v8
+    Description: V8 JavaScript Engine
+    Version: ${version}
+    Libs: -L$out/lib -lv8 -pthread
+    Cflags: -I$out/include
+    EOF
+  '';
+
+  meta = with lib; {
+    description = "Google's open source JavaScript engine";
+    maintainers = with maintainers; [ cstrahan proglodyte matthewbauer ];
+    platforms = platforms.unix;
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/v8/default.nix b/nixpkgs/pkgs/development/libraries/v8/default.nix
index 7c463aa01228..1d2911c1313f 100644
--- a/nixpkgs/pkgs/development/libraries/v8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/v8/default.nix
@@ -1,75 +1,85 @@
 { stdenv, lib, fetchgit, fetchFromGitHub
-, gn, ninja, python, pythonPackages, glib, pkg-config, icu
+, gn, ninja, python3, glib, pkg-config, icu
 , xcbuild, darwin
 , fetchpatch
 }:
 
+# Use update.sh to update all checksums.
+
 let
+  version = "9.7.106.18";
+  v8Src = fetchgit {
+    url = "https://chromium.googlesource.com/v8/v8";
+    rev = version;
+    sha256 = "0cb3w733w1xn6zq9dsr43nx6llcg9hrmb2dkxairarj9c0igpzyh";
+  };
+
   git_url = "https://chromium.googlesource.com";
 
-  # This data is from the DEPS file in the root of a V8 checkout
+  # This data is from the DEPS file in the root of a V8 checkout.
   deps = {
     "base/trace_event/common" = fetchgit {
       url    = "${git_url}/chromium/src/base/trace_event/common.git";
-      rev    = "dab187b372fc17e51f5b9fad8201813d0aed5129";
-      sha256 = "0dmpj9hj4xv3xb0fl1kb9hm4bhpbs2s5csx3z8cgjd5vwvhdzig4";
+      rev    = "7f36dbc19d31e2aad895c60261ca8f726442bfbb";
+      sha256 = "01b2fhbxznqbakxv42ivrzg6w8l7i9yrd9nf72d6p5xx9dm993j4";
     };
-    build = fetchgit {
+    "build" = fetchgit {
       url    = "${git_url}/chromium/src/build.git";
-      rev    = "26e9d485d01d6e0eb9dadd21df767a63494c8fea";
-      sha256 = "1jjvsgj0cs97d26i3ba531ic1f9gqan8x7z4aya8yl8jx02l342q";
+      rev    = "cf325916d58a194a935c26a56fcf6b525d1e2bf4";
+      sha256 = "1ix4h1cpx9bvgln8590xh7lllhsd9w1hd5k9l1gx5yxxrmywd3s4";
     };
     "third_party/googletest/src" = fetchgit {
       url    = "${git_url}/external/github.com/google/googletest.git";
-      rev    = "e3f0319d89f4cbf32993de595d984183b1a9fc57";
-      sha256 = "18xz71l2xjrqsc0q317whgw4xi1i5db24zcj7v04f5g6r1hyf1a5";
+      rev    = "16f637fbf4ffc3f7a01fa4eceb7906634565242f";
+      sha256 = "11012k3c3mxzdwcw2iparr9lrckafpyhqzclsj26hmfbgbdi0rrh";
     };
     "third_party/icu" = fetchgit {
       url    = "${git_url}/chromium/deps/icu.git";
-      rev    = "f2223961702f00a8833874b0560d615a2cc42738";
-      sha256 = "0z5p53kbrjfkjn0i12dpk55cp8976j2zk7a4wk88423s2c5w87zl";
+      rev    = "eedbaf76e49d28465d9119b10c30b82906e606ff";
+      sha256 = "0mppvx7wf9zlqjsfaa1cf06brh1fjb6nmiib0lhbb9hd55mqjdjj";
+    };
+    "third_party/zlib" = fetchgit {
+      url    = "${git_url}/chromium/src/third_party/zlib.git";
+      rev    = "6da1d53b97c89b07e47714d88cab61f1ce003c68";
+      sha256 = "0v7ylmbwfwv6w6wp29qdf77kjjnfr2xzin08n0v1yvbhs01h5ppy";
     };
     "third_party/jinja2" = fetchgit {
       url    = "${git_url}/chromium/src/third_party/jinja2.git";
-      rev    = "b41863e42637544c2941b574c7877d3e1f663e25";
-      sha256 = "1qgilclkav67m6cl2xq2kmzkswrkrb2axc2z8mw58fnch4j1jf1r";
+      rev    = "ee69aa00ee8536f61db6a451f3858745cf587de6";
+      sha256 = "1fsnd5h0gisfp8bdsfd81kk5v4mkqf8z368c7qlm1qcwc4ri4x7a";
     };
     "third_party/markupsafe" = fetchgit {
       url    = "${git_url}/chromium/src/third_party/markupsafe.git";
-      rev    = "8f45f5cfa0009d2a70589bcda0349b8cb2b72783";
-      sha256 = "168ppjmicfdh4i1l0l25s86mdbrz9fgxmiq1rx33x79mph41scfz";
-    };
-    "third_party/zlib" = fetchgit {
-      url    = "${git_url}/chromium/src/third_party/zlib.git";
-      rev    = "156be8c52f80cde343088b4a69a80579101b6e67";
-      sha256 = "0hxbkkzmlv714fjq2jlp5dd2jc339xyh6gkjx1sz3srwv33mlk92";
+      rev    = "1b882ef6372b58bfd55a3285f37ed801be9137cd";
+      sha256 = "1jnjidbh03lhfaawimkjxbprmsgz4snr0jl06630dyd41zkdw5kr";
     };
   };
 
+  # See `gn_version` in DEPS.
+  gnSrc = fetchgit {
+    url = "https://gn.googlesource.com/gn";
+    rev = "8926696a4186279489cc2b8d768533e61bba73d7";
+    sha256 = "1084lnyb0a1khbgjvak05fcx6jy973wqvsf77n0alxjys18sg2yk";
+  };
+
+  myGn = gn.overrideAttrs (oldAttrs: {
+    version = "for-v8";
+    src = gnSrc;
+  });
+
 in
 
 stdenv.mkDerivation rec {
   pname = "v8";
-  version = "8.4.255";
+  inherit version;
 
   doCheck = true;
 
   patches = [
-    # Remove unrecognized clang debug flags
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/saiarcot895/chromium-ubuntu-build/663dbfc492fd2f8ba28d9af40fb3b1327e6aa56e/debian/patches/revert-Xclang-instcombine-lower-dbg-declare.patch";
-      sha256 = "07qp4bjgbwbdrzqslvl2bgbzr3v97b9isbp0539x3lc8cy3h02g1";
-    })
     ./darwin.patch
-    ./gcc_arm.patch  # Fix building zlib with gcc on aarch64, from https://gist.github.com/Adenilson/d973b6fd96c7709d33ddf08cf1dcb149
   ];
 
-  src = fetchFromGitHub {
-    owner = "v8";
-    repo = "v8";
-    rev = version;
-    sha256 = "07ymw4kqbz7kv311gpk5bs5q90wj73n2q7jkyfhqk4hvhs1q5bw7";
-  };
+  src = v8Src;
 
   postUnpack = ''
     ${lib.concatStringsSep "\n" (
@@ -80,16 +90,20 @@ stdenv.mkDerivation rec {
     chmod u+w -R .
   '';
 
-  postPatch = lib.optionalString stdenv.isAarch64 ''
-    substituteInPlace build/toolchain/linux/BUILD.gn \
-      --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace build/config/compiler/compiler.gni \
-      --replace 'strip_absolute_paths_from_debug_symbols = true' \
-                'strip_absolute_paths_from_debug_symbols = false'
-    substituteInPlace build/config/compiler/BUILD.gn \
-      --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
-                'false'
+  postPatch = ''
+    ${lib.optionalString stdenv.isAarch64 ''
+      substituteInPlace build/toolchain/linux/BUILD.gn \
+        --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
+    ''}
+    ${lib.optionalString stdenv.isDarwin ''
+      substituteInPlace build/config/compiler/compiler.gni \
+        --replace 'strip_absolute_paths_from_debug_symbols = true' \
+                  'strip_absolute_paths_from_debug_symbols = false'
+      substituteInPlace build/config/compiler/BUILD.gn \
+        --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
+                  'false'
+    ''}
+    touch build/config/gclient_args.gni
   '';
 
   gnFlags = [
@@ -106,7 +120,6 @@ stdenv.mkDerivation rec {
     "treat_warnings_as_errors=false"
     "v8_enable_i18n_support=true"
     "use_gold=false"
-    "init_stack_vars=false"
     # ''custom_toolchain="//build/toolchain/linux/unbundle:default"''
     ''host_toolchain="//build/toolchain/linux/unbundle:default"''
     ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
@@ -116,14 +129,14 @@ stdenv.mkDerivation rec {
   FORCE_MAC_SDK_MIN = stdenv.targetPlatform.sdkVer or "10.12";
 
   nativeBuildInputs = [
-    gn
+    myGn
     ninja
     pkg-config
-    python
+    python3
   ] ++ lib.optionals stdenv.isDarwin [
     xcbuild
     darwin.DarwinTools
-    pythonPackages.setuptools
+    python3.pkgs.setuptools
   ];
   buildInputs = [ glib icu ];
 
@@ -133,7 +146,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -D d8 $out/bin/d8
-    install -D obj/libv8_monolith.a $out/lib/libv8.a
+    install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a
+    install -D -m644 icudtl.dat $out/share/v8/icudtl.dat
     cp -r ../../include $out
 
     mkdir -p $out/lib/pkgconfig
diff --git a/nixpkgs/pkgs/development/libraries/v8/gcc_arm.patch b/nixpkgs/pkgs/development/libraries/v8/gcc_arm.patch
deleted file mode 100644
index 09579561fd8d..000000000000
--- a/nixpkgs/pkgs/development/libraries/v8/gcc_arm.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/third_party/zlib/contrib/optimizations/insert_string.h b/third_party/zlib/contrib/optimizations/insert_string.h
-index 1826601..d123305 100644
---- a/third_party/zlib/contrib/optimizations/insert_string.h
-+++ b/third_party/zlib/contrib/optimizations/insert_string.h
-@@ -26,15 +26,23 @@
-   #define _cpu_crc32_u32 _mm_crc32_u32
- 
- #elif defined(CRC32_ARMV8_CRC32)
--  #if defined(__clang__)
-+  #if defined(__GNUC__) || defined(__clang__)
-     #undef TARGET_CPU_WITH_CRC
--    #define __crc32cw __builtin_arm_crc32cw
-+    #if defined(__clang__)
-+      #define __crc32cw __builtin_arm_crc32cw
-+    #elif defined(__GNUC__)
-+      #define __crc32cw __builtin_aarch64_crc32cw
-+    #endif
-   #endif
- 
-   #define _cpu_crc32_u32 __crc32cw
- 
-   #if defined(__aarch64__)
--    #define TARGET_CPU_WITH_CRC __attribute__((target("crc")))
-+    #if defined(__clang__)
-+      #define TARGET_CPU_WITH_CRC __attribute__((target("crc")))
-+    #elif defined(__GNUC__)
-+      #define TARGET_CPU_WITH_CRC __attribute__((target("+crc")))
-+    #endif
-   #else  // !defined(__aarch64__)
-     #define TARGET_CPU_WITH_CRC __attribute__((target("armv8-a,crc")))
-   #endif  // defined(__aarch64__)
diff --git a/nixpkgs/pkgs/development/libraries/v8/libv8-5.4.232.patch b/nixpkgs/pkgs/development/libraries/v8/libv8-5.4.232.patch
deleted file mode 100644
index 16c227cfe38d..000000000000
--- a/nixpkgs/pkgs/development/libraries/v8/libv8-5.4.232.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From c9f42d1314c6026efcfcc01824f4e2fdfd05ebcf Mon Sep 17 00:00:00 2001
-From: Ben Sklaroff <bsklaroff@gmail.com>
-Date: Sat, 23 Jul 2016 18:16:55 -0400
-Subject: [PATCH] libv8-5.4.232
-
----
- Makefile                 |  5 +----
- gypfiles/all.gyp         | 32 --------------------------------
- gypfiles/standalone.gypi |  5 ++++-
- 3 files changed, 5 insertions(+), 37 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 5ea5c58..d1b2d73 100644
---- a/Makefile
-+++ b/Makefile
-@@ -261,11 +261,8 @@ GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
- 	   gypfiles/shim_headers.gypi gypfiles/features.gypi \
-            gypfiles/standalone.gypi \
- 	   gypfiles/toolchain.gypi gypfiles/all.gyp gypfiles/mac/asan.gyp \
--	   test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
--	   test/unittests/unittests.gyp src/v8.gyp \
--	   tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
- 	   buildtools/third_party/libc++abi/libc++abi.gyp \
--	   buildtools/third_party/libc++/libc++.gyp samples/samples.gyp \
-+	   buildtools/third_party/libc++/libc++.gyp \
- 	   src/third_party/vtune/v8vtune.gyp src/d8.gyp
- 
- # If vtunejit=on, the v8vtune.gyp will be appended.
-diff --git a/gypfiles/all.gyp b/gypfiles/all.gyp
-index ff1bea4..96820a0 100644
---- a/gypfiles/all.gyp
-+++ b/gypfiles/all.gyp
-@@ -16,38 +16,6 @@
-             '../tools/parser-shell.gyp:parser-shell',
-           ],
-         }],
--        # These items don't compile for Android on Mac.
--        ['host_os!="mac" or OS!="android"', {
--          'dependencies': [
--            '../samples/samples.gyp:*',
--            '../test/cctest/cctest.gyp:*',
--            '../test/fuzzer/fuzzer.gyp:*',
--            '../test/unittests/unittests.gyp:*',
--            ],
--        }],
--        ['test_isolation_mode != "noop"', {
--          'dependencies': [
--            '../test/bot_default.gyp:*',
--            '../test/benchmarks/benchmarks.gyp:*',
--            '../test/default.gyp:*',
--            '../test/ignition.gyp:*',
--            '../test/intl/intl.gyp:*',
--            '../test/message/message.gyp:*',
--            '../test/mjsunit/mjsunit.gyp:*',
--            '../test/mozilla/mozilla.gyp:*',
--            '../test/optimize_for_size.gyp:*',
--            '../test/perf.gyp:*',
--            '../test/preparser/preparser.gyp:*',
--            '../test/simdjs/simdjs.gyp:*',
--            '../test/test262/test262.gyp:*',
--            '../test/webkit/webkit.gyp:*',
--            '../tools/check-static-initializers.gyp:*',
--            '../tools/gcmole/run_gcmole.gyp:*',
--            '../tools/jsfunfuzz/jsfunfuzz.gyp:*',
--            '../tools/run-deopt-fuzzer.gyp:*',
--            '../tools/run-valgrind.gyp:*',
--          ],
--        }],
-       ]
-     }
-   ]
-diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
-index 89f06a0..a43976d 100644
---- a/gypfiles/standalone.gypi
-+++ b/gypfiles/standalone.gypi
-@@ -506,6 +506,9 @@
-       }],  # fastbuild!=0
-     ],
-     'target_conditions': [
-+      ['_type=="static_library"', {
-+        'standalone_static_library': 1,
-+      }],
-       ['v8_code == 0', {
-         'defines!': [
-           'DEBUG',
-@@ -770,7 +773,7 @@
-           [ 'visibility=="hidden" and v8_enable_backtrace==0', {
-             'cflags': [ '-fvisibility=hidden' ],
-           }],
--          [ 'component=="shared_library"', {
-+          [ 'component=="shared_library" or component=="static_library" and (v8_target_arch=="x64" or v8_target_arch=="arm64" or v8_target_arch=="arm")', {
-             'cflags': [ '-fPIC', ],
-           }],
-           [ 'clang==0 and coverage==1', {
--- 
-2.9.0
-
diff --git a/nixpkgs/pkgs/development/libraries/v8/update.sh b/nixpkgs/pkgs/development/libraries/v8/update.sh
index f046bb8e6885..c3fbab6faf19 100755
--- a/nixpkgs/pkgs/development/libraries/v8/update.sh
+++ b/nixpkgs/pkgs/development/libraries/v8/update.sh
@@ -1,29 +1,45 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash -p curl -p nix-prefetch-git
+#! nix-shell -i bash -p curl -p nix-prefetch-git -p jq
 VERSION_OVERVIEW=https://omahaproxy.appspot.com/all?os=linux
-TARGET_CHANNEL=beta
-FILE_PATH=6_x.nix
+TARGET_CHANNEL=stable
 
 set -eo pipefail
 
-v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }")
+if [ -n "$1" ]; then
+  v8_version="$1"
+  shift
+else
+  v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }")
+fi
+
+if [ -n "$1" ]; then
+  file_path="$1"
+else
+  file_path=default.nix
+fi
 
 echo "Using V8 version --> $v8_version"
-sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${FILE_PATH}
 
-sha256=$(nix-prefetch-git --no-deepClone https://github.com/v8/v8.git "refs/tags/${v8_version}" \
-    | sed -ne '/sha256/ { s#.*: "\(.*\)".*#\1#; p }')
-sed -e "/repo = \"v8\"/ { n;n; s#\".*\"#\"${sha256}\"# }" -i ${FILE_PATH}
+prefetched=$(nix-prefetch-git --no-deepClone https://chromium.googlesource.com/v8/v8 "refs/tags/${v8_version}")
+
+path=$(echo "$prefetched" | jq -r .path)
+sha256=$(echo "$prefetched" | jq -r .sha256)
+sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${file_path}
+sed -e "/v8Src = fetchgit/ { n; n; n; s/\".*\"/\"${sha256}\"/  }" -i ${file_path}
+
+deps="$path/DEPS"
 
-deps="$(mktemp)"
+echo "$deps"
 
-curl -s -o "$deps" "https://raw.githubusercontent.com/v8/v8/${v8_version}/DEPS"
-echo $deps
+echo "Processing gn"
+gn_rev=$(sed -ne "s/.*'gn_version': 'git_revision:\([^']*\).*/\1/p" < "$deps")
+gn_sha256=$(nix-prefetch-git --no-deepClone https://gn.googlesource.com/gn "$gn_rev" 2>/dev/null | jq -r .sha256)
+sed -e "/gnSrc = fetchgit/ { n; n; s/\".*\"/\"${gn_rev}\"/; n; s/\".*\"/\"${gn_sha256}\"/  }" -i ${file_path}
 
-sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read dep; do
+sed -ne '/" = fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${file_path} | while read dep; do
     echo "Processing dependency --> $dep"
     escaped_dep=$(echo "$dep" | sed -e 's#/#\\/#g')
-    dep_rev=$(sed -ne "/\"v8\/${escaped_dep}\":/ { n; s#.*+ \"##; s#\".*##;  p }" "$deps")
+    dep_rev=$(sed -ne "/'${escaped_dep}':/ { n; s#.*+ '##; s#'.*##;  p }" "$deps")
 
     if [ "$dep_rev" = "" ]; then
         echo "Failed to resolve dependency $dep, not listed in DEPS file"
@@ -31,8 +47,8 @@ sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read d
         exit 2
     fi
 
-    repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }"  ${FILE_PATH})
-    sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | sed -ne '/sha256/ { s#.*: "\(.*\)".*#\1#; p }')
+    repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }"  ${file_path})
+    sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | jq -r .sha256)
 
     if [ "$sha256" = "" ]; then
         echo "Failed to get sha256 via nix-prefetch-git $repo_url $dep_rev"
@@ -40,8 +56,7 @@ sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read d
         exit 2
     fi
 
-    sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/  }" -i ${FILE_PATH}
+    sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/  }" -i ${file_path}
 done
 
-rm -f "$deps"
 echo done.
diff --git a/nixpkgs/pkgs/development/libraries/vigra/default.nix b/nixpkgs/pkgs/development/libraries/vigra/default.nix
index d6d43e6a1fb3..a4371e7d1a54 100644
--- a/nixpkgs/pkgs/development/libraries/vigra/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vigra/default.nix
@@ -12,12 +12,11 @@
 , libpng
 , libtiff
 , openexr
-, python2Packages
+, python3
 }:
 
 let
-  inherit (python2Packages) python numpy;
-  # Might want to use `python2.withPackages(ps: [ps.numpy]);` here...
+  python = python3.withPackages (py: with py; [ numpy ]);
 in
 stdenv.mkDerivation rec {
   pname = "vigra";
@@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
     libjpeg
     libpng
     libtiff
-    numpy
     openexr
     python
   ];
diff --git a/nixpkgs/pkgs/development/libraries/volk/default.nix b/nixpkgs/pkgs/development/libraries/volk/default.nix
index 40ae88bf71bb..c795d783894e 100644
--- a/nixpkgs/pkgs/development/libraries/volk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix b/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix
index 3d9bf719adca..4010ee684590 100644
--- a/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vulkan-headers/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "vulkan-headers";
-  version = "1.2.189.1";
+  version = "1.2.198.0";
 
   nativeBuildInputs = [ cmake ];
 
@@ -9,13 +9,13 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Headers";
     rev = "sdk-${version}";
-    sha256 = "1qggc7dv9jr83xr9w2h375wl3pz3rfgrk9hnrjmylkg9gz4p9q03";
+    sha256 = "sha256-SvC0AX1wIZWLzws3ZS8Wi8fbNUw1+An/PRlFIfNj24Y=";
   };
 
   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/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
index ce3853687721..077f881e722d 100644
--- a/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,25 +1,25 @@
 { 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";
-  version = "1.2.189.1";
+  version = "1.2.198.0";
 
   src = (assert version == vulkan-headers.version;
     fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "Vulkan-Loader";
       rev = "sdk-${version}";
-      sha256 = "1745fdzi0n5qj2s41q6z1y52cq8pwswvh1a32d3n7kl6bhksagp6";
+      sha256 = "sha256-k3eCdZqCjFxpKa0pZ0K4XcORxdSOlr1dFa7C3Qzi04Y=";
     });
 
   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/nixpkgs/pkgs/development/libraries/wayland/default.nix b/nixpkgs/pkgs/development/libraries/wayland/default.nix
index 1d6bf0f7aa48..ee897d64142c 100644
--- a/nixpkgs/pkgs/development/libraries/wayland/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wayland/default.nix
@@ -30,19 +30,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wayland";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s";
+    sha256 = "09c7rpbwavjg4y16mrfa57gk5ix6rnzpvlnv1wp7fnbh9hak985q";
   };
 
   patches = [
-    # Picked from upstream 'main' branch for Darwin support.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/wayland/wayland/-/commit/f452e41264387dee4fd737cbf1af58b34b53941b.patch";
-      sha256 = "00mk32a01vgn31sm3wk4p8mfwvqv3xv02rxvdj1ygnzgb1ac62r7";
-    })
     (substituteAll {
       src = ./0001-add-placeholder-for-nm.patch;
       nm = "${stdenv.cc.targetPrefix}nm";
@@ -51,6 +46,10 @@ stdenv.mkDerivation rec {
 
   postPatch = lib.optionalString withDocumentation ''
     patchShebangs doc/doxygen/gen-doxygen.py
+  '' + lib.optionalString stdenv.hostPlatform.isStatic ''
+    # delete line containing os-wrappers-test, disables
+    # the building of os-wrappers-test
+    sed -i '/os-wrappers-test/d' tests/meson.build
   '';
 
   outputs = [ "out" "bin" "dev" ] ++ lib.optionals withDocumentation [ "doc" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix b/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
index 73fef21eccb7..61696d232f79 100644
--- a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/waylandpp/default.nix b/nixpkgs/pkgs/development/libraries/waylandpp/default.nix
index 0aa77b771e48..49e0e01872f5 100644
--- a/nixpkgs/pkgs/development/libraries/waylandpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/waylandpp/default.nix
@@ -16,13 +16,13 @@ assert docSupport -> doxygen != null;
 with lib;
 stdenv.mkDerivation rec {
   pname = "waylandpp";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchFromGitHub {
     owner = "NilsBrause";
     repo = pname;
     rev = version;
-    sha256 = "1kxiqab48p0n97pwg8c2zx56wqq32m3rcq7qd2pjj33ipcanb3qq";
+    sha256 = "sha256-c7sayJjQaqJWso2enESBx6OUW9vxxsfuHFolYDIYlXw=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
index d8b7bbc6d65b..b5a16df21add 100644
--- a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix
@@ -64,7 +64,7 @@ assert enableGeoLocation -> geoclue2 != null;
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.34.3";
+  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-DS83qjLiGjbk3Vpc565c4nQ1wp1oA7liuMkMsMxJxS0=";
+    sha256 = "sha256-a8j9A0qtBDKiRZzk/H7iWtZaSSTGGL+Nk7UrDBqEwfY=";
   };
 
   patches = lib.optionals stdenv.isLinux [
diff --git a/nixpkgs/pkgs/development/libraries/webrtc-audio-processing/0.3.nix b/nixpkgs/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
new file mode 100644
index 000000000000..1ce3c2d9fa8b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/webrtc-audio-processing/default.nix b/nixpkgs/pkgs/development/libraries/webrtc-audio-processing/default.nix
index 1ce3c2d9fa8b..5a53564603d8 100644
--- a/nixpkgs/pkgs/development/libraries/webrtc-audio-processing/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/websocket++/default.nix b/nixpkgs/pkgs/development/libraries/websocket++/default.nix
index 5c9271f2a85a..6991d3c8843a 100644
--- a/nixpkgs/pkgs/development/libraries/websocket++/default.nix
+++ b/nixpkgs/pkgs/development/libraries/websocket++/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "C++/Boost Asio based websocket client/server library";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/wlroots/default.nix b/nixpkgs/pkgs/development/libraries/wlroots/0.14.nix
index cf188756ffde..398a09ff2aa7 100644
--- a/nixpkgs/pkgs/development/libraries/wlroots/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/wlroots/0.12.nix b/nixpkgs/pkgs/development/libraries/wlroots/0.15.nix
index c21205beabc3..ed3effaa5405 100644
--- a/nixpkgs/pkgs/development/libraries/wlroots/0.12.nix
+++ b/nixpkgs/pkgs/development/libraries/wlroots/0.15.nix
@@ -1,36 +1,42 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland
-, libGL, wayland-protocols, libinput, libxkbcommon, pixman
+{ lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, wayland-scanner
+, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
-, libpng, ffmpeg
+, libpng, ffmpeg_4, xcbutilrenderutil, seatd, vulkan-loader, glslang
+, nixosTests
+
+, enableXWayland ? true, xwayland ? null
 }:
 
-# Fixed version derivation.
-# nixpkgs-update: no auto update
 stdenv.mkDerivation rec {
   pname = "wlroots";
-  version = "0.12.0";
+  version = "0.15.1";
 
-  src = fetchFromGitHub {
-    owner = "swaywm";
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "wlroots";
     repo = "wlroots";
     rev = version;
-    sha256 = "01j38lmgs2c6fq68v8b75pkilia2wsgzgp46ivfbi9hhx47kgcfn";
+    sha256 = "sha256-MFR38UuB/wW7J9ODDUOfgTzKLse0SSMIRYTpEaEdRwM=";
   };
 
   # $out for the library and $examples for the example programs (in examples):
   outputs = [ "out" "examples" ];
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland ];
+  depsBuildBuild = [ pkg-config ];
+
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner glslang ];
 
   buildInputs = [
     libGL wayland wayland-protocols libinput libxkbcommon pixman
     xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
-    libpng ffmpeg
-  ];
+    libpng ffmpeg_4 xcbutilrenderutil seatd vulkan-loader
+  ]
+    ++ lib.optional enableXWayland xwayland
+  ;
 
-  mesonFlags = [ "-Dlogind-provider=systemd" "-Dlibseat=disabled" ];
-
-  CFLAGS = "-Wno-error=deprecated-declarations";
+  mesonFlags =
+    lib.optional (!enableXWayland) "-Dxwayland=disabled"
+  ;
 
   postFixup = ''
     # Install ALL example programs to $examples:
@@ -44,6 +50,9 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  # Test via TinyWL (the "minimum viable product" Wayland compositor based on wlroots):
+  passthru.tests.tinywl = nixosTests.tinywl;
+
   meta = with lib; {
     description = "A modular Wayland compositor library";
     longDescription = ''
@@ -51,7 +60,7 @@ stdenv.mkDerivation rec {
       compositor; or about 50,000 lines of code you were going to write anyway.
     '';
     inherit (src.meta) homepage;
-    changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}";
+    changelog = "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags/${version}";
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ primeos synthetica ];
diff --git a/nixpkgs/pkgs/development/libraries/wolfssl/default.nix b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
index 619f41eb33f2..4cfd2548b538 100644
--- a/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wolfssl/default.nix
@@ -2,19 +2,26 @@
 , stdenv
 , fetchFromGitHub
 , autoreconfHook
+, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "sha256-PkuYXDL04LbUiY+O/4EilZn2+hTbwbRXPDE3B5d/4pQ=";
+    sha256 = "sha256-/noS5cn8lllWoGyZ9QyjRmdiR6LXzfT4lYGEt+0+Bdw=";
   };
 
+  postPatch = ''
+    patchShebangs ./scripts
+    # ocsp tests require network access
+    sed -i -e '/ocsp\.test/d' -e '/ocsp-stapling\.test/d' scripts/include.am
+  '';
+
   # Almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed
   configureFlags = [
     "--enable-all"
@@ -36,6 +43,9 @@ stdenv.mkDerivation rec {
     autoreconfHook
   ];
 
+  doCheck = true;
+  checkInputs = [ openssl ];
+
   postInstall = ''
      # fix recursive cycle:
      # wolfssl-config points to dev, dev propagates bin
diff --git a/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix b/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
index 9f9f330443c6..ed7095144189 100644
--- a/nixpkgs/pkgs/development/libraries/wxsqlite3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/wxwidgets/0001-fix-assertion-using-hide-in-destroy.patch b/nixpkgs/pkgs/development/libraries/wxwidgets/0001-fix-assertion-using-hide-in-destroy.patch
new file mode 100644
index 000000000000..ca9eb8bf612a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/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/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
index 8029477708df..bc8fc6f5b047 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/2.8/default.nix
+++ b/nixpkgs/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; [ AndersonTorres ];
+    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/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix
index 5674f076beca..46ef04dcb7a1 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/2.9/default.nix
@@ -1,84 +1,127 @@
-{ 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
+, darwin
 }:
 
 assert withMesa -> libGLU != null && libGL != null;
-
-with lib;
-
+let
+  inherit (darwin.stubs) setfile;
+  inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime;
+in
 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
+    ../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; [ AndersonTorres ];
+    platforms = platforms.darwin ++ platforms.linux;
     badPlatforms = [ "x86_64-darwin" ];
   };
+
+  passthru = {
+    inherit compat24 compat26 unicode;
+    gtk = gtk2;
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
index 30e807cde057..0469ccbd0dfb 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -1,20 +1,33 @@
-{ 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
+, darwin
 }:
 
-with lib;
-
-assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK30: You cannot enable withWebKit when using withGtk2.";
+assert withGtk2 -> (!withWebKit);
 
+let
+  inherit (darwin.stubs) setfile;
+  inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
+  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 +36,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
+    ../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; [ AndersonTorres ];
+    platforms = platforms.linux ++ platforms.darwin;
     badPlatforms = [ "x86_64-darwin" ];
   };
+
+  passthru = {
+    inherit gtk;
+    inherit compat24 compat26 unicode;
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/mac.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/mac.nix
index 17c2ee9efaef..e1f732929cec 100644
--- a/nixpkgs/pkgs/development/libraries/wxwidgets/3.0/mac.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/x264/default.nix b/nixpkgs/pkgs/development/libraries/x264/default.nix
index 2c9f476313ec..dc2b1c40c6cb 100644
--- a/nixpkgs/pkgs/development/libraries/x264/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/x265/default.nix b/nixpkgs/pkgs/development/libraries/x265/default.nix
index 495bbc4aaabb..20c56f4d9037 100644
--- a/nixpkgs/pkgs/development/libraries/x265/default.nix
+++ b/nixpkgs/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    = "http://x265.org";
-    license     = licenses.gpl2;
+    description = "Library for encoding H.265/HEVC video streams";
+    homepage    = "https://www.x265.org/";
+    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/nixpkgs/pkgs/development/libraries/xalanc/default.nix b/nixpkgs/pkgs/development/libraries/xalanc/default.nix
index 3451979402b2..b750b26996d5 100644
--- a/nixpkgs/pkgs/development/libraries/xalanc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xalanc/default.nix
@@ -1,38 +1,20 @@
-{ lib, stdenv, fetchurl, xercesc, getopt }:
+{ lib, stdenv, fetchFromGitHub, xercesc, getopt, cmake }:
 
-let
-  platform = if stdenv.isLinux then "linux" else
-             if stdenv.isDarwin then "macosx" else
-             throw "Unsupported platform";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "xalan-c";
-  version = "1.11";
+  version = "1.12.0";
 
-  src = fetchurl {
-    url = "mirror://apache/xalan/xalan-c/sources/xalan_c-${version}-src.tar.gz";
-    sha256 = "0a3a2b15vpacnqgpp6fiy1pwyc8q6ywzvyb5445f6wixfdspypjg";
+  src = fetchFromGitHub {
+    owner = "apache";
+    repo = "xalan-c";
+    rev = "Xalan-C_1_12_0";
+    sha256 = "sha256:0q1204qk97i9h14vxxq7phcfpyiin0i1zzk74ixvg4wqy87b62s8";
   };
 
-  configurePhase = ''
-    export XALANCROOT=`pwd`/c
-    cd `pwd`/c
-    mkdir -p $out
-    ./runConfigure -p ${platform} -c cc -x c++ -P$out
-  '';
-
-  buildInputs = [ xercesc getopt ];
-
-  # Parallel build fails as:
-  #   c++ ... -c ... ExecutionContext.cpp
-  #   ProblemListenerBase.hpp:28:10: fatal error: LocalMsgIndex.hpp: No such file or directory
-  # The build failure happens due to missing intra-project dependencies
-  # against generated headers. Future 1.12 version dropped
-  # autotools-based build system. Let's disable parallel builds until
-  # next release.
-  enableParallelBuilding = false;
+  buildInputs = [ xercesc getopt cmake ];
 
   meta = {
-    homepage = "http://xalan.apache.org/";
+    homepage = "https://xalan.apache.org/";
     description = "A XSLT processor for transforming XML documents";
     license = lib.licenses.asl20;
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
diff --git a/nixpkgs/pkgs/development/libraries/xapian/default.nix b/nixpkgs/pkgs/development/libraries/xapian/default.nix
index e2d049cd7b3c..4d23752b2420 100644
--- a/nixpkgs/pkgs/development/libraries/xapian/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/xbase/default.nix b/nixpkgs/pkgs/development/libraries/xbase/default.nix
index dd5cd21d405f..d87bcac9829f 100644
--- a/nixpkgs/pkgs/development/libraries/xbase/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xbase/default.nix
@@ -13,15 +13,15 @@ stdenv.mkDerivation rec {
   patches = [
     ./xbase-fixes.patch
     (fetchurl {
-      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-db/xbase/files/xbase-3.1.2-gcc47.patch?revision=1.1";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc47.patch?id=0b9005ad4b5b743707922877e5157ba6ecdf224f";
       sha256 = "1kpcrkkcqdwl609yd0qxlvp743icz3vni13993sz6fkgn5lah8yl";
     })
     (fetchurl {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc6.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc6.patch?id=0b9005ad4b5b743707922877e5157ba6ecdf224f";
       sha256 = "1994pqiip5njkcmm5czb1bg6zdldkx1mpandgmvzqrja0iacf953";
     })
     (fetchurl {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc7.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/xbase/files/xbase-3.1.2-gcc7.patch?id=0b9005ad4b5b743707922877e5157ba6ecdf224f";
       sha256 = "1304gn9dbdv8xf61crkg0fc8cal0h4qkyhlbqa8y618w134cxh1q";
     })
   ];
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix
index 4f842e5de186..a8450b414e54 100644
--- a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-wlr/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-wlr";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:13fbzh8bjnhk4xs8j9bpc01q3hy27zpbf0gkk1fnh3hm5pnyfyiv";
+    sha256 = "sha256-weePlNcLmZ3R0IDQ95p0wQvsKTYp+sVlTENJtF8Z78Y=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland-protocols makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/xed/default.nix b/nixpkgs/pkgs/development/libraries/xed/default.nix
index 395b399d8fe2..d8994581913f 100644
--- a/nixpkgs/pkgs/development/libraries/xed/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xed/default.nix
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Intel X86 Encoder Decoder (Intel XED)";
     homepage    = "https://intelxed.github.io/";
-    license     = licenses.apsl20;
+    license     = licenses.asl20;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ arturcygan ];
   };
diff --git a/nixpkgs/pkgs/development/libraries/xgboost/default.nix b/nixpkgs/pkgs/development/libraries/xgboost/default.nix
index d9e204506239..b9f35d407b39 100644
--- a/nixpkgs/pkgs/development/libraries/xgboost/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xgboost/default.nix
@@ -16,14 +16,14 @@ assert ncclSupport -> cudaSupport;
 
 stdenv.mkDerivation rec {
   pname = "xgboost";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "dmlc";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-xrRKpZ6NSBtEL2CBN7KggDwIvQKIPD8EBlA0oCJv8mw=";
+    sha256 = "sha256-h7zcHCOxe1h7HRB6idtjf4HUBEoHC4V2pqbN9hpe00g=";
   };
 
   nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp;
diff --git a/nixpkgs/pkgs/development/libraries/xine-lib/default.nix b/nixpkgs/pkgs/development/libraries/xine-lib/default.nix
index 70fdf24dd9f4..aab4542ac383 100644
--- a/nixpkgs/pkgs/development/libraries/xine-lib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix b/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix
index 925f9553fdfc..6be958d7d24d 100644
--- a/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ xalanc xercesc openssl ];
 
   meta = {
-    homepage = "http://santuario.apache.org/";
+    homepage = "https://santuario.apache.org/";
     description = "C++ Implementation of W3C security standards for XML";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/xmlsec/default.nix b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
index 1f63b2cfc871..5f2557514804 100644
--- a/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xmlsec/default.nix
@@ -73,7 +73,6 @@ stdenv.mkDerivation rec {
     description = "XML Security Library in C based on libxml2";
     license = lib.licenses.mit;
     platforms = with lib.platforms; linux ++ darwin;
-    updateWalker = true;
   };
 }
 )
diff --git a/nixpkgs/pkgs/development/libraries/xxHash/default.nix b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
index fbeadc2b353a..f4fa06112814 100644
--- a/nixpkgs/pkgs/development/libraries/xxHash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xxHash";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "Cyan4973";
     repo = "xxHash";
     rev = "v${version}";
-    sha256 = "0hpbzdd6kfki5f61g103vp7pfczqkdj0js63avl0ss552jfb8h96";
+    sha256 = "sha256-2WoYCO6QRHWrbGP2mK04/sLNTyQLOuL3urVktilAwMA=";
   };
 
   # Upstream Makefile does not anticipate that user may not want to
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(dev)" "EXEC_PREFIX=$(out)" ];
 
+  # pkgs/build-support/setup-hooks/compress-man-pages.sh hook fails
+  # to compress symlinked manpages. Avoid compressing manpages until
+  # it's fixed.
+  dontGzipMan = true;
+
   meta = with lib; {
     description = "Extremely fast hash algorithm";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/libraries/zeitgeist/default.nix b/nixpkgs/pkgs/development/libraries/zeitgeist/default.nix
index de1953622e93..d5e058ef726e 100644
--- a/nixpkgs/pkgs/development/libraries/zeitgeist/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/zlib/default.nix b/nixpkgs/pkgs/development/libraries/zlib/default.nix
index 8d7cb3a48c88..48603000c903 100644
--- a/nixpkgs/pkgs/development/libraries/zlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/zxing-cpp/default.nix b/nixpkgs/pkgs/development/libraries/zxing-cpp/default.nix
index aa7db78c4c32..514ebe9975ad 100644
--- a/nixpkgs/pkgs/development/libraries/zxing-cpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/zxing-cpp/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zxing-cpp";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "nu-book";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-N2FTzsjxm3EE5Wqz7xt+FS4zQ60Ow4WbdX6Eo08ktek=";
+    hash = "sha256-M565VNKhSmYFmCMEI9UFuHWNZWeHrf9qzZkMAw9LUr4=";
   };
 
   nativeBuildInputs = [
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBUILD_EXAMPLES=OFF"
+    "-DBUILD_BLACKBOX_TESTS=OFF"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/lisp-modules/asdf/2.26.nix b/nixpkgs/pkgs/development/lisp-modules/asdf/2.26.nix
index 05851777a7fe..dbf81bb76a5f 100644
--- a/nixpkgs/pkgs/development/lisp-modules/asdf/2.26.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/asdf/2.26.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-tuUuIlZcS+a0izXeJl3Ckp+/PYAWkZ0+Cw7blwkh9+M=";
   };
 
-  buildInputs = [
+  strictDeps = true;
+  nativeBuildInputs = [
     texinfo
     texLive
     perl
diff --git a/nixpkgs/pkgs/development/lisp-modules/asdf/3.1.nix b/nixpkgs/pkgs/development/lisp-modules/asdf/3.1.nix
index 11cee90bf1fe..cda5d46131a0 100644
--- a/nixpkgs/pkgs/development/lisp-modules/asdf/3.1.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/asdf/3.1.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-+P+FLM1mr2KRdj7bfhWq4ync86bJS/uE0Jm/E/e4HL0=";
   };
 
-  buildInputs = [
+  strictDeps = true;
+  nativeBuildInputs = [
     texinfo
     texLive
     perl
diff --git a/nixpkgs/pkgs/development/lisp-modules/asdf/default.nix b/nixpkgs/pkgs/development/lisp-modules/asdf/default.nix
index d1b45cb32c33..78d49a917898 100644
--- a/nixpkgs/pkgs/development/lisp-modules/asdf/default.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/asdf/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-/k7cmN0ymZUgpP4K+IWfhq85TkzfPjTR4QdUgV9n1x4=";
   };
 
-  buildInputs = [
+  strictDeps = true;
+  nativeBuildInputs = [
     texinfo
     texLive
     perl
diff --git a/nixpkgs/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh b/nixpkgs/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh
index f8bae8997272..7959d1146f7c 100755
--- a/nixpkgs/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh
+++ b/nixpkgs/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh
@@ -51,7 +51,7 @@ url="${ql_src##* }"
 [ "$ql_src_type" = github ] && {
   ql_src_type=git
   url="https://github.com/$url";
-  version="$("$(dirname "$0")/../../../build-support/upstream-updater/urls-from-page.sh" "$url/releases/" | grep /tag/ | head -n 1 | xargs -l1 basename)"
+  version="$("$(dirname "$0")/urls-from-page.sh" "$url/releases/" | grep /tag/ | head -n 1 | xargs -l1 basename)"
   rev="refs/tags/$version";
 }
 
@@ -62,7 +62,7 @@ url="${ql_src##* }"
     ) && {
     url="${url/git:/https:}"
     url="${url%.git}"
-    [ -z "$rev" ] && rev=$("$(dirname "$0")/../../../build-support/upstream-updater/urls-from-page.sh" "$url/commits" | grep /commit/ | head -n 1 | xargs basename)
+    [ -z "$rev" ] && rev=$("$(dirname "$0")/urls-from-page.sh" "$url/commits" | grep /commit/ | head -n 1 | xargs basename)
     hash=$("$(dirname "$0")/../../../build-support/fetchgit/nix-prefetch-git" "$url" "$rev" | grep . | tail -n 1)
     [ -z "$version" ] && version="git-$(date +%Y%m%d)";
   }
@@ -131,7 +131,7 @@ url="${ql_src##* }"
 
 [ "$ql_src_type" = froydware-http ] && {
   dirurl="http://method-combination.net/lisp/files/";
-  url="$("$(dirname "$0")/../../../build-support/upstream-updater/urls-from-page.sh" "$dirurl" |
+  url="$("$(dirname "$0")/urls-from-page.sh" "$dirurl" |
     grep "/${url}_" | grep -v "[.]asc\$" | tail -n 1)"
   ql_src_type=http
 }
diff --git a/nixpkgs/pkgs/build-support/upstream-updater/urls-from-page.sh b/nixpkgs/pkgs/development/lisp-modules/from-quicklisp/urls-from-page.sh
index db39286ccb02..26724d122a77 100755
--- a/nixpkgs/pkgs/build-support/upstream-updater/urls-from-page.sh
+++ b/nixpkgs/pkgs/development/lisp-modules/from-quicklisp/urls-from-page.sh
@@ -6,7 +6,7 @@ path="${url#$protocol://}"
 server="${path%%/*}"
 basepath="${path%/*}"
 relpath="${path#$server}"
- 
+
 echo "URL: $url" >&2
 
 curl -A 'text/html; text/xhtml; text/xml; */*' -L -k "$url" | sed -re 's/^/-/;s/[^a-zA-Z][hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mustache.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mustache.nix
new file mode 100644
index 000000000000..1e22ad9dad08
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mustache.nix
@@ -0,0 +1,26 @@
+/* Generated file. */
+args @ { fetchurl, ... }:
+rec {
+  baseName = "cl-mustache";
+  version = "20200325-git";
+
+  description = "Mustache Template Renderer";
+
+  deps = [ args."uiop" ];
+
+  src = fetchurl {
+    url = "http://beta.quicklisp.org/archive/cl-mustache/2020-03-25/cl-mustache-20200325-git.tgz";
+    sha256 = "1x1rsmgqc39imx4ay3b35dzvzccaqjayz90qv2cylqbbq9sg9arr";
+  };
+
+  packageName = "cl-mustache";
+
+  asdFilesToKeep = ["cl-mustache.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM cl-mustache DESCRIPTION Mustache Template Renderer SHA256
+    1x1rsmgqc39imx4ay3b35dzvzccaqjayz90qv2cylqbbq9sg9arr URL
+    http://beta.quicklisp.org/archive/cl-mustache/2020-03-25/cl-mustache-20200325-git.tgz
+    MD5 52381d17458d88d6a8b760f351bf517d NAME cl-mustache FILENAME cl-mustache
+    DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES (uiop) VERSION 20200325-git
+    SIBLINGS (cl-mustache-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/float-features.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/float-features.nix
new file mode 100644
index 000000000000..62001bc69e33
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/float-features.nix
@@ -0,0 +1,30 @@
+/* Generated file. */
+args @ { fetchurl, ... }:
+rec {
+  baseName = "float-features";
+  version = "20210228-git";
+
+  description = "A portability library for IEEE float features not covered by the CL standard.";
+
+  deps = [ args."documentation-utils" args."trivial-indent" ];
+
+  src = fetchurl {
+    url = "http://beta.quicklisp.org/archive/float-features/2021-02-28/float-features-20210228-git.tgz";
+    sha256 = "1giy9qm9bgdfp1mm4d36fcj544kfq68qckmijlrhwbvkpk18hgrd";
+  };
+
+  packageName = "float-features";
+
+  asdFilesToKeep = ["float-features.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM float-features DESCRIPTION
+    A portability library for IEEE float features not covered by the CL standard.
+    SHA256 1giy9qm9bgdfp1mm4d36fcj544kfq68qckmijlrhwbvkpk18hgrd URL
+    http://beta.quicklisp.org/archive/float-features/2021-02-28/float-features-20210228-git.tgz
+    MD5 77223b9c85dca49d0f599e51ba95953a NAME float-features FILENAME
+    float-features DEPS
+    ((NAME documentation-utils FILENAME documentation-utils)
+     (NAME trivial-indent FILENAME trivial-indent))
+    DEPENDENCIES (documentation-utils trivial-indent) VERSION 20210228-git
+    SIBLINGS (float-features-tests) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-binary.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-binary.nix
new file mode 100644
index 000000000000..ae18bc99ef2e
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-binary.nix
@@ -0,0 +1,37 @@
+/* Generated file. */
+args @ { fetchurl, ... }:
+rec {
+  baseName = "lisp-binary";
+  version = "20210411-git";
+
+  description = "Declare binary formats as structs and then read and write them.";
+
+  deps = [ args."alexandria" args."babel" args."cffi" args."closer-mop" args."flexi-streams" args."iterate" args."moptilities" args."quasiquote-2_dot_0" args."trivial-features" args."trivial-gray-streams" ];
+
+  src = fetchurl {
+    url = "http://beta.quicklisp.org/archive/lisp-binary/2021-04-11/lisp-binary-20210411-git.tgz";
+    sha256 = "1sbapl8qla4xb8wcix9yxpijkbk1bpybhay7ncb3z2im7r2kzsnb";
+  };
+
+  packageName = "lisp-binary";
+
+  asdFilesToKeep = ["lisp-binary.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM lisp-binary DESCRIPTION
+    Declare binary formats as structs and then read and write them. SHA256
+    1sbapl8qla4xb8wcix9yxpijkbk1bpybhay7ncb3z2im7r2kzsnb URL
+    http://beta.quicklisp.org/archive/lisp-binary/2021-04-11/lisp-binary-20210411-git.tgz
+    MD5 29d85f01a1cb17742164bacae940d29c NAME lisp-binary FILENAME lisp-binary
+    DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi) (NAME closer-mop FILENAME closer-mop)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME iterate FILENAME iterate) (NAME moptilities FILENAME moptilities)
+     (NAME quasiquote-2.0 FILENAME quasiquote-2_dot_0)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES
+    (alexandria babel cffi closer-mop flexi-streams iterate moptilities
+     quasiquote-2.0 trivial-features trivial-gray-streams)
+    VERSION 20210411-git SIBLINGS (lisp-binary-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quasiquote-2_dot_0.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quasiquote-2_dot_0.nix
new file mode 100644
index 000000000000..146d5cf06d1a
--- /dev/null
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quasiquote-2_dot_0.nix
@@ -0,0 +1,31 @@
+/* Generated file. */
+args @ { fetchurl, ... }:
+rec {
+  baseName = "quasiquote-2_dot_0";
+  version = "20150505-git";
+
+  parasites = [ "quasiquote-2.0-tests" ];
+
+  description = "Writing macros that write macros. Effortless.";
+
+  deps = [ args."fiveam" args."iterate" ];
+
+  src = fetchurl {
+    url = "http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz";
+    sha256 = "0bgcqk7wp7qblw7avsawkg24zjiq9vgsbfa0yhk64avhxwjw6974";
+  };
+
+  packageName = "quasiquote-2.0";
+
+  asdFilesToKeep = ["quasiquote-2.0.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM quasiquote-2.0 DESCRIPTION
+    Writing macros that write macros. Effortless. SHA256
+    0bgcqk7wp7qblw7avsawkg24zjiq9vgsbfa0yhk64avhxwjw6974 URL
+    http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz
+    MD5 7c557e0c10cf7608afa5a20e4a83c778 NAME quasiquote-2.0 FILENAME
+    quasiquote-2_dot_0 DEPS
+    ((NAME fiveam FILENAME fiveam) (NAME iterate FILENAME iterate))
+    DEPENDENCIES (fiveam iterate) VERSION 20150505-git SIBLINGS NIL PARASITES
+    (quasiquote-2.0-tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
index 3d67721f7f35..4eb9be0b972e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
@@ -60,6 +60,7 @@ cl-l10n
 cl-libuv
 cl-locale
 cl-markup
+cl-mustache
 cl-mysql
 cl-paths-ttf
 cl-pattern
@@ -136,6 +137,7 @@ fast-io
 file-attributes
 fiveam
 flexi-streams
+float-features
 form-fiddle
 fset
 generic-cl
@@ -161,6 +163,7 @@ lfarm-client
 lfarm-server
 lfarm-ssl
 lift
+lisp-binary
 lisp-namespace
 lla
 local-time
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
index 1040c2e51e27..60338d0ea091 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
@@ -345,6 +345,16 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "quasiquote-2_dot_0" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."quasiquote-2_dot_0" or (x: {}))
+       (import ./quicklisp-to-nix-output/quasiquote-2_dot_0.nix {
+         inherit fetchurl;
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
+           "iterate" = quicklisp-to-nix-packages."iterate";
+       }));
+
+
   "lfarm-common" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."lfarm-common" or (x: {}))
@@ -2836,6 +2846,24 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "lisp-binary" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."lisp-binary" or (x: {}))
+       (import ./quicklisp-to-nix-output/lisp-binary.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "iterate" = quicklisp-to-nix-packages."iterate";
+           "moptilities" = quicklisp-to-nix-packages."moptilities";
+           "quasiquote-2_dot_0" = quicklisp-to-nix-packages."quasiquote-2_dot_0";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+       }));
+
+
   "lift" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."lift" or (x: {}))
@@ -3257,6 +3285,16 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "float-features" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."float-features" or (x: {}))
+       (import ./quicklisp-to-nix-output/float-features.nix {
+         inherit fetchurl;
+           "documentation-utils" = quicklisp-to-nix-packages."documentation-utils";
+           "trivial-indent" = quicklisp-to-nix-packages."trivial-indent";
+       }));
+
+
   "flexi-streams" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."flexi-streams" or (x: {}))
@@ -4312,6 +4350,15 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "cl-mustache" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cl-mustache" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-mustache.nix {
+         inherit fetchurl;
+           "uiop" = quicklisp-to-nix-packages."uiop";
+       }));
+
+
   "cl-markup" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."cl-markup" or (x: {}))
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
index 3824a04826f1..4a82b6cafa6f 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
@@ -44,7 +44,7 @@
 (wrap :ql-dist short-description)
 
 (defun escape-filename (s)
-  (format 
+  (format
    nil "~a~{~a~}"
    (if (scan "^[a-zA-Z_]" s) "" "_")
    (loop
@@ -260,9 +260,10 @@ This function stores results for memoization purposes in files within
 (defun print-usage-and-quit ()
   "Does what it says on the tin."
   (format *error-output* "Usage:
-    ~A [--help] [--cacheSystemInfoDir <path>] <work-dir>
+    ~A [--help] [--cacheSystemInfoDir <path>] [--cacheFaslDir <path>] <work-dir>
 Arguments:
     --cacheSystemInfoDir Store computed system info in the given directory
+    --cacheFaslDir Store intermediate fast load files in the given directory
     --help Print usage and exit
     <work-dir> Path to directory with quicklisp-to-nix-systems.txt
 " (uiop:argv0))
diff --git a/nixpkgs/pkgs/development/misc/google-clasp/README.md b/nixpkgs/pkgs/development/misc/google-clasp/README.md
deleted file mode 100644
index 9adf2255380e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/default.nix b/nixpkgs/pkgs/development/misc/google-clasp/default.nix
deleted file mode 100644
index 12598e9fd86c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/dotf.patch b/nixpkgs/pkgs/development/misc/google-clasp/dotf.patch
deleted file mode 100644
index 0d59cae6125c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/generate.sh b/nixpkgs/pkgs/development/misc/google-clasp/generate.sh
deleted file mode 100755
index 4e04231e2b89..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/node-packages.json b/nixpkgs/pkgs/development/misc/google-clasp/node-packages.json
deleted file mode 100644
index b868571d0516..000000000000
--- a/nixpkgs/pkgs/development/misc/google-clasp/node-packages.json
+++ /dev/null
@@ -1,3 +0,0 @@
-[
-  {"@google/clasp": "2.2.1"}
-]
diff --git a/nixpkgs/pkgs/development/misc/google-clasp/node-packages.nix b/nixpkgs/pkgs/development/misc/google-clasp/node-packages.nix
deleted file mode 100644
index c8a611ff160f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix b/nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix
index 48954114a4a1..c03b1fb88121 100644
--- a/nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix
+++ b/nixpkgs/pkgs/development/misc/haskell/hasura/pool.nix
@@ -17,7 +17,7 @@ mkDerivation {
     vector
   ];
   testHaskellDepends = [ base hspec ];
-  homepage = "http://github.com/bos/pool";
+  homepage = "https://github.com/bos/pool";
   description = "A high-performance striped resource pooling implementation";
   license = lib.licenses.bsd3;
   maintainers = with lib.maintainers; [ lassulus ];
diff --git a/nixpkgs/pkgs/development/misc/resholve/oildev.nix b/nixpkgs/pkgs/development/misc/resholve/oildev.nix
index 635aca9aa57a..7f51342fbde9 100644
--- a/nixpkgs/pkgs/development/misc/resholve/oildev.nix
+++ b/nixpkgs/pkgs/development/misc/resholve/oildev.nix
@@ -79,8 +79,8 @@ rec {
     patchSrc = fetchFromGitHub {
       owner = "abathur";
       repo = "nix-py-dev-oil";
-      rev = "v0.8.12.1";
-      hash = "sha256-7JVnosdcvmVFN3h6SIeeqcJFcyFkai//fFuzi7ThNMY=";
+      rev = "v0.8.12.2";
+      hash = "sha256-+dVxzPKMGNKFE+7Ggzx9iWjjvwW2Ow3UqmjjUud9Mqo=";
     };
     patches = [
       "${patchSrc}/0001-add_setup_py.patch"
@@ -88,6 +88,7 @@ rec {
       "${patchSrc}/0004-disable-internal-py-yajl-for-nix-built.patch"
       "${patchSrc}/0006-disable_failing_libc_tests.patch"
       "${patchSrc}/0007-namespace_via_init.patch"
+      "${patchSrc}/0009-avoid_nix_arch64_darwin_toolchain_bug.patch"
     ];
 
     buildInputs = [ readline cmark py-yajl ];
diff --git a/nixpkgs/pkgs/development/misc/resholve/resholve.nix b/nixpkgs/pkgs/development/misc/resholve/resholve.nix
index fbddc4d72dd2..f364b73158e9 100644
--- a/nixpkgs/pkgs/development/misc/resholve/resholve.nix
+++ b/nixpkgs/pkgs/development/misc/resholve/resholve.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , callPackage
 , python27Packages
 , installShellFiles
@@ -17,7 +18,18 @@ python27Packages.buildPythonApplication {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  propagatedBuildInputs = [ oildev python27Packages.configargparse ];
+  propagatedBuildInputs = [
+    oildev
+    /*
+    Disable configargparse's tests on aarch64-darwin.
+    Several of py27 scandir's tests fail on aarch64-darwin. Chain:
+    configargparse -> pytest-check-hook -> pytest -> pathlib2 -> scandir
+    TODO: drop if https://github.com/NixOS/nixpkgs/issues/156807 resolves?
+    */
+    (python27Packages.configargparse.overridePythonAttrs (old: {
+      doCheck = stdenv.hostPlatform.system != "aarch64-darwin";
+    }))
+  ];
 
   patchPhase = ''
     for file in resholve; do
diff --git a/nixpkgs/pkgs/development/misc/resholve/source.nix b/nixpkgs/pkgs/development/misc/resholve/source.nix
index 046f9ffe24f8..f2d431d37ef8 100644
--- a/nixpkgs/pkgs/development/misc/resholve/source.nix
+++ b/nixpkgs/pkgs/development/misc/resholve/source.nix
@@ -3,7 +3,7 @@
 }:
 
 rec {
-  version = "0.6.8";
+  version = "0.6.9";
   rSrc =
     # local build -> `make ci`; `make clean` to restore
     # return to remote source
@@ -14,6 +14,6 @@ rec {
         owner = "abathur";
         repo = "resholve";
         rev = "v${version}";
-        hash = "sha256-1bb22GcOIzmQ31ULZuNNCJ8Vcz4Y0+qAhsJ9PhbqnDM=";
+        hash = "sha256-y9O5w4wA/kR8zoPay9pGs3vwxNqq3JEeZmX0wBJq4UQ=";
       };
 }
diff --git a/nixpkgs/pkgs/development/mobile/abootimg/default.nix b/nixpkgs/pkgs/development/mobile/abootimg/default.nix
index 3c7a2840e49e..85181cdf459f 100644
--- a/nixpkgs/pkgs/development/mobile/abootimg/default.nix
+++ b/nixpkgs/pkgs/development/mobile/abootimg/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "1qgx9fxwhylgnixzkz2mzv2707f65qq7rar2rsqak536vhig1z9a";
   };
 
-  nativeBuildInputs = [ makeWrapper util-linux ];
+  strictDeps = true;
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ util-linux ];
 
   postPatch = ''
     cat <<EOF > version.h
diff --git a/nixpkgs/pkgs/development/nim-packages/build-nim-package/default.nix b/nixpkgs/pkgs/development/nim-packages/build-nim-package/default.nix
index acf67b9f8977..d32a9543cf20 100644
--- a/nixpkgs/pkgs/development/nim-packages/build-nim-package/default.nix
+++ b/nixpkgs/pkgs/development/nim-packages/build-nim-package/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation (attrs // {
 
   configurePhase = if isNull configurePhase then ''
     runHook preConfigure
-    find $NIX_BUILD_TOP -name .attrs.json
+    export NIX_NIM_BUILD_INPUTS=''${pkgsHostTarget[@]} $NIX_NIM_BUILD_INPUTS
     nim_builder --phase:configure
     runHook postConfigure
   '' else
@@ -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/nixpkgs/pkgs/development/nim-packages/bumpy/default.nix b/nixpkgs/pkgs/development/nim-packages/bumpy/default.nix
index 9579d87d9d5d..909894352319 100644
--- a/nixpkgs/pkgs/development/nim-packages/bumpy/default.nix
+++ b/nixpkgs/pkgs/development/nim-packages/bumpy/default.nix
@@ -1,7 +1,24 @@
-{ fetchNimble }:
+{ lib, buildNimPackage, fetchFromGitHub, vmath }:
 
-fetchNimble {
+buildNimPackage rec {
   pname = "bumpy";
   version = "1.0.3";
-  hash = "sha256-mDmDlhOGoYYjKgF5j808oT2NqRlfcOdLSDE3WtdJFQ0=";
+
+  src = fetchFromGitHub {
+    owner = "treeform";
+    repo = pname;
+    rev = version;
+    hash = "sha256-mDmDlhOGoYYjKgF5j808oT2NqRlfcOdLSDE3WtdJFQ0=";
+  };
+
+  propagatedBuildInputs = [ vmath ];
+
+  doCheck = true;
+
+  meta = with lib;
+    src.meta // {
+      description = "2d collision library";
+      license = [ licenses.mit ];
+      maintainers = [ maintainers.ehmry ];
+    };
 }
diff --git a/nixpkgs/pkgs/development/nim-packages/flatty/default.nix b/nixpkgs/pkgs/development/nim-packages/flatty/default.nix
index 88f3426e512a..5e542d22e4a5 100644
--- a/nixpkgs/pkgs/development/nim-packages/flatty/default.nix
+++ b/nixpkgs/pkgs/development/nim-packages/flatty/default.nix
@@ -1,7 +1,22 @@
-{ fetchNimble }:
+{ lib, buildNimPackage, fetchFromGitHub }:
 
-fetchNimble {
+buildNimPackage rec {
   pname = "flatty";
   version = "0.2.3";
-  hash = "sha256-1tPLtnlGtE4SF5/ti/2svvYHpEy/0Za5N4YAOHFOyjA=";
+
+  src = fetchFromGitHub {
+    owner = "treeform";
+    repo = pname;
+    rev = version;
+    hash = "sha256-1tPLtnlGtE4SF5/ti/2svvYHpEy/0Za5N4YAOHFOyjA=";
+  };
+
+  doCheck = true;
+
+  meta = with lib;
+    src.meta // {
+      description = "Tools and serializer for plain flat binary files";
+      license = [ licenses.mit ];
+      maintainers = [ maintainers.ehmry ];
+    };
 }
diff --git a/nixpkgs/pkgs/development/nim-packages/jsonschema/default.nix b/nixpkgs/pkgs/development/nim-packages/jsonschema/default.nix
index 8dc195b8b822..e19af7fbb865 100644
--- a/nixpkgs/pkgs/development/nim-packages/jsonschema/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/nim-packages/jsony/default.nix b/nixpkgs/pkgs/development/nim-packages/jsony/default.nix
new file mode 100644
index 000000000000..9a4808e3636f
--- /dev/null
+++ b/nixpkgs/pkgs/development/nim-packages/jsony/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildNimPackage, fetchFromGitHub }:
+
+buildNimPackage rec {
+  pname = "jsony";
+  version = "1.1.3";
+
+  src = fetchFromGitHub {
+    owner = "treeform";
+    repo = pname;
+    rev = version;
+    hash = "sha256-jtUCoqwCmE536Kpv/vZxGgqiHyReZf1WOiBdUzmMhM4=";
+  };
+
+  doCheck = true;
+
+  meta = with lib;
+    src.meta // {
+      description = "A loose, direct to object json parser with hooks";
+      license = [ licenses.mit ];
+      maintainers = [ maintainers.erdnaxe ];
+    };
+}
diff --git a/nixpkgs/pkgs/development/nim-packages/karax/default.nix b/nixpkgs/pkgs/development/nim-packages/karax/default.nix
index 35a5c78ee56a..8e8f11b228a4 100644
--- a/nixpkgs/pkgs/development/nim-packages/karax/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/nim-packages/nim_builder/nim_builder.nim b/nixpkgs/pkgs/development/nim-packages/nim_builder/nim_builder.nim
index 90dcb46588b7..0cb68e63f137 100644
--- a/nixpkgs/pkgs/development/nim-packages/nim_builder/nim_builder.nim
+++ b/nixpkgs/pkgs/development/nim-packages/nim_builder/nim_builder.nim
@@ -97,7 +97,7 @@ proc configurePhase*() =
   for def in getEnv("nimDefines").split:
     if def != "":
       switch("define", def)
-  for input in getEnv("buildInputs").split:
+  for input in getEnv("NIX_NIM_BUILD_INPUTS").split:
     if input != "":
       for nimbleFile in walkFiles(input / "*.nimble"):
         let inputSrc = normalizedPath(
diff --git a/nixpkgs/pkgs/development/nim-packages/pixie/default.nix b/nixpkgs/pkgs/development/nim-packages/pixie/default.nix
index 2262ccf23721..1366e55a1e36 100644
--- a/nixpkgs/pkgs/development/nim-packages/pixie/default.nix
+++ b/nixpkgs/pkgs/development/nim-packages/pixie/default.nix
@@ -1,7 +1,25 @@
-{ fetchNimble }:
+{ lib, buildNimPackage, fetchFromGitHub, bumpy, chroma, flatty, nimsimd, vmath
+, zippy }:
 
-fetchNimble {
+buildNimPackage rec {
   pname = "pixie";
-  version = "1.1.3";
-  hash = "sha256-xKIejVxOd19mblL1ZwpJH91dgKQS5g8U08EL8lGGelA=";
+  version = "3.1.2";
+
+  src = fetchFromGitHub {
+    owner = "treeform";
+    repo = pname;
+    rev = version;
+    hash = "sha256-rF72ybfsipBHgQmH0e6DBn1e7WWY6dGn9yp1qvLIS3A=";
+  };
+
+  propagatedBuildInputs = [ bumpy chroma flatty nimsimd vmath zippy ];
+
+  doCheck = true;
+
+  meta = with lib;
+    src.meta // {
+      description = "Full-featured 2d graphics library for Nim";
+      license = [ licenses.mit ];
+      maintainers = [ maintainers.ehmry ];
+    };
 }
diff --git a/nixpkgs/pkgs/development/nim-packages/redpool/default.nix b/nixpkgs/pkgs/development/nim-packages/redpool/default.nix
index 6c4c8a8e193c..76b222739cae 100644
--- a/nixpkgs/pkgs/development/nim-packages/redpool/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/nim-packages/typography/default.nix b/nixpkgs/pkgs/development/nim-packages/typography/default.nix
deleted file mode 100644
index 59037cbd9dd3..000000000000
--- a/nixpkgs/pkgs/development/nim-packages/typography/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ fetchNimble }:
-
-fetchNimble {
-  pname = "typography";
-  version = "0.7.9";
-  hash = "sha256-IYjw3PCp5XzVed2fGGCt9Hb60cxFeF0BUZ7L5PedTLU=";
-}
diff --git a/nixpkgs/pkgs/development/nim-packages/vmath/default.nix b/nixpkgs/pkgs/development/nim-packages/vmath/default.nix
index 9ca48c43d7f4..bb6e1c266ea5 100644
--- a/nixpkgs/pkgs/development/nim-packages/vmath/default.nix
+++ b/nixpkgs/pkgs/development/nim-packages/vmath/default.nix
@@ -1,7 +1,22 @@
-{ fetchNimble }:
+{ lib, buildNimPackage, fetchFromGitHub }:
 
-fetchNimble {
+buildNimPackage rec {
   pname = "vmath";
-  version = "1.0.3";
-  hash = "sha256-zzSKXjuTZ46HTFUs0N47mxEKTKIdS3dwr+60sQYSdn0=";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "treeform";
+    repo = pname;
+    rev = version;
+    hash = "sha256-/v0lQIOMogTxFRtbssziW4W6VhMDepM6Si8igLgcx30=";
+  };
+
+  doCheck = true;
+
+  meta = with lib;
+    src.meta // {
+      description = "Math vector library for graphical things";
+      license = [ licenses.mit ];
+      maintainers = [ maintainers.ehmry ];
+    };
 }
diff --git a/nixpkgs/pkgs/development/nim-packages/zippy/default.nix b/nixpkgs/pkgs/development/nim-packages/zippy/default.nix
index 84008325bec8..ba27b0858f59 100644
--- a/nixpkgs/pkgs/development/nim-packages/zippy/default.nix
+++ b/nixpkgs/pkgs/development/nim-packages/zippy/default.nix
@@ -1,7 +1,24 @@
-{ fetchNimble }:
+{ lib, buildNimPackage, fetchFromGitHub, unzip }:
 
-fetchNimble {
+buildNimPackage rec {
   pname = "zippy";
   version = "0.7.3";
-  hash = "sha256-w64ENRyP3mNTtESSt7CDDxUkjYSfziNVVedkO4HIuJ8=";
+
+  nativeBuildInputs = [ unzip ];
+
+  src = fetchFromGitHub {
+    owner = "guzba";
+    repo = pname;
+    rev = version;
+    hash = "sha256-w64ENRyP3mNTtESSt7CDDxUkjYSfziNVVedkO4HIuJ8=";
+  };
+
+  doCheck = true;
+
+  meta = with lib;
+    src.meta // {
+      description = "Pure Nim implementation of deflate, zlib, gzip and zip";
+      license = [ licenses.mit ];
+      maintainers = [ maintainers.ehmry ];
+    };
 }
diff --git a/nixpkgs/pkgs/development/node-packages/default.nix b/nixpkgs/pkgs/development/node-packages/default.nix
index 9c71aeb6cee8..4fd07245e16a 100644
--- a/nixpkgs/pkgs/development/node-packages/default.nix
+++ b/nixpkgs/pkgs/development/node-packages/default.nix
@@ -1,9 +1,9 @@
-{ pkgs, nodejs, stdenv, applyPatches, fetchFromGitHub, fetchpatch, fetchurl }:
+{ pkgs, nodejs, stdenv, applyPatches, fetchFromGitHub, fetchpatch, fetchurl, nixosTests }:
 
 let
   inherit (pkgs) lib;
-  since = (version: pkgs.lib.versionAtLeast nodejs.version version);
-  before = (version: pkgs.lib.versionOlder nodejs.version version);
+  since = version: pkgs.lib.versionAtLeast nodejs.version version;
+  before = version: pkgs.lib.versionOlder nodejs.version version;
   super = import ./composition.nix {
     inherit pkgs nodejs;
     inherit (stdenv.hostPlatform) system;
@@ -47,7 +47,7 @@ let
       '';
     };
 
-    carbon-now-cli = super.carbon-now-cli.override ({
+    carbon-now-cli = super.carbon-now-cli.override {
       nativeBuildInputs = [ pkgs.makeWrapper ];
       prePatch = ''
         export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
@@ -56,7 +56,7 @@ let
         wrapProgram $out/bin/carbon-now \
           --set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
       '';
-    });
+    };
 
     castnow = super.castnow.override {
       nativeBuildInputs = [ pkgs.makeWrapper ];
@@ -71,7 +71,7 @@ let
       meta.broken = true; # use the top-level package instead
     };
 
-    fast-cli = super.fast-cli.override ({
+    fast-cli = super.fast-cli.override {
       nativeBuildInputs = [ pkgs.makeWrapper ];
       prePatch = ''
         export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
@@ -80,7 +80,7 @@ let
         wrapProgram $out/bin/fast \
           --set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
       '';
-    });
+    };
 
     hyperspace-cli = super."@hyperspace/cli".override {
       nativeBuildInputs = with pkgs; [
@@ -208,6 +208,19 @@ let
       '';
     };
 
+    manta = super.manta.override {
+      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")
+
+        node ./lib/create_client.js
+        for cmd in $completion_cmds; do
+          installShellCompletion --cmd $cmd --bash <(./bin/$cmd --completion)
+        done
+      '';
+    };
+
     markdownlint-cli = super.markdownlint-cli.override {
       meta.mainProgram = "markdownlint";
     };
@@ -222,6 +235,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";
@@ -323,7 +345,7 @@ let
 
       src = fetchurl {
         url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
-        sha512 = "sha512-pzgc95msPLcCHqOli7Hnabu/GRfSGSUWl5s2P6N13T/rgMB+NNeKbxCmzQiZT2yLOeLEPivV6YrW1oeQIwJxcg==";
+        sha512 = "sha512-xLmVyO/L6C4ZdHzHqiJVq3ZfDWSym29x75JcwJx746ps61UcNEg4ozSwN9ud7UjXLntdXe1xDLNOUO1lc7LN5g==";
       };
       postInstall = with pkgs; ''
         wrapProgram "$out/bin/prisma" \
@@ -369,6 +391,25 @@ let
       meta.broken = since "10";
     };
 
+    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 : "$nodePath"
+        wrapProgram "$out/bin/tailwindcss" \
+          --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 ];
       postInstall = ''
@@ -389,7 +430,7 @@ let
       nativeBuildInputs = [ pkgs.makeWrapper ];
       postInstall = ''
         wrapProgram "$out/bin/typescript-language-server" \
-          --prefix PATH : ${pkgs.lib.makeBinPath [ self.typescript ]}
+          --suffix PATH : ${pkgs.lib.makeBinPath [ self.typescript ]}
       '';
     };
 
@@ -398,6 +439,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; [
@@ -449,6 +494,16 @@ let
       buildInputs = [ self.node-pre-gyp ];
       postInstall = ''
         echo /var/lib/thelounge > $out/lib/node_modules/thelounge/.thelounge_home
+        patch -d $out/lib/node_modules/thelounge -p1 < ${./thelounge-packages-path.patch}
+      '';
+      passthru.tests = { inherit (nixosTests) thelounge; };
+      meta = super.thelounge.meta // { maintainers = with lib.maintainers; [ winter ]; };
+    };
+
+    triton = super.triton.override {
+      nativeBuildInputs = [ pkgs.installShellFiles ];
+      postInstall = ''
+        installShellCompletion --cmd triton --bash <($out/bin/triton completion)
       '';
     };
 
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages.json b/nixpkgs/pkgs/development/node-packages/node-packages.json
index bd7197185af8..dba80f28422a 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages.json
+++ b/nixpkgs/pkgs/development/node-packages/node-packages.json
@@ -1,17 +1,24 @@
 [
   "@angular/cli"
+, "@antfu/ni"
 , "@antora/cli"
 , "@antora/site-generator-default"
 , "@astrojs/language-server"
 , "@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"
@@ -20,6 +27,7 @@
 , "@webassemblyjs/wast-refmt"
 , "alex"
 , "alloy"
+, "antennas"
 , "asar"
 , "audiosprite"
 , "autoprefixer"
@@ -156,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"
@@ -198,6 +206,7 @@
 , "mocha"
 , "multi-file-swagger"
 , "musescore-downloader"
+, "near-cli"
 , "neovim"
 , "nijs"
 , "node-gyp"
@@ -225,6 +234,7 @@
 , "poor-mans-t-sql-formatter-cli"
 , "postcss"
 , "postcss-cli"
+, "prebuild-install"
 , "prettier"
 , "prettier-plugin-toml"
 , "prisma"
@@ -265,6 +275,7 @@
 , "stackdriver-statsd-backend"
 , "stf"
 , "stylelint"
+, "surge"
 , "svelte-check"
 , "svelte-language-server"
 , "svgo"
@@ -289,6 +300,45 @@
 , "textlint-rule-unexpanded-acronym"
 , "textlint-rule-write-good"
 , "thelounge"
+, "thelounge-plugin-closepms"
+, "thelounge-plugin-giphy"
+, "thelounge-plugin-shortcuts"
+, "thelounge-theme-abyss"
+, "thelounge-theme-amoled"
+, "thelounge-theme-amoled-sourcecodepro"
+, "thelounge-theme-bdefault"
+, "thelounge-theme-bmorning"
+, "thelounge-theme-chord"
+, "thelounge-theme-classic"
+, "thelounge-theme-common"
+, "thelounge-theme-crypto"
+, "thelounge-theme-discordapp"
+, "thelounge-theme-dracula"
+, "thelounge-theme-dracula-official"
+, "thelounge-theme-flat-blue"
+, "thelounge-theme-flat-dark"
+, "thelounge-theme-gruvbox"
+, "thelounge-theme-hexified"
+, "thelounge-theme-ion"
+, "thelounge-theme-light"
+, "thelounge-theme-midnight"
+, "thelounge-theme-mininapse"
+, "thelounge-theme-monokai-console"
+, "thelounge-theme-mortified"
+, "thelounge-theme-neuron-fork"
+, "thelounge-theme-new-morning"
+, "thelounge-theme-new-morning-compact"
+, "thelounge-theme-nologo"
+, "thelounge-theme-nord"
+, "thelounge-theme-onedark"
+, "thelounge-theme-purplenight"
+, "thelounge-theme-scoutlink"
+, "thelounge-theme-seraphimrp"
+, "thelounge-theme-solarized"
+, "thelounge-theme-solarized-fork-monospace"
+, "thelounge-theme-zenburn"
+, "thelounge-theme-zenburn-monospace"
+, "thelounge-theme-zenburn-sourcecodepro"
 , "three"
 , "tiddlywiki"
 , "titanium"
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages.nix b/nixpkgs/pkgs/development/node-packages/node-packages.nix
index 59d6d063130f..17004d2de714 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-packages.nix
@@ -22,13 +22,31 @@ let
         sha512 = "t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==";
       };
     };
-    "@alexbosworth/fiat-1.0.0" = {
+    "@alexbosworth/caporal-1.4.0" = {
+      name = "_at_alexbosworth_slash_caporal";
+      packageName = "@alexbosworth/caporal";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@alexbosworth/caporal/-/caporal-1.4.0.tgz";
+        sha512 = "n/Oq0C+5XkoruoG0DTs5KwSA5rPF7hd4cwoc9atKHE2MP2yDoMCc1mPSaU8VhrsscymXo0cLCySOXn5v96FWxw==";
+      };
+    };
+    "@alexbosworth/cli-table3-0.6.1" = {
+      name = "_at_alexbosworth_slash_cli-table3";
+      packageName = "@alexbosworth/cli-table3";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@alexbosworth/cli-table3/-/cli-table3-0.6.1.tgz";
+        sha512 = "K7EO1cd89xNdwctQaR2bY9aQFDArSIrYGSWSDCnqG7RKIZ1J+XASkKVylW9NCIeVcguD6Qemxai8ZFCWg9lLFg==";
+      };
+    };
+    "@alexbosworth/fiat-1.0.1" = {
       name = "_at_alexbosworth_slash_fiat";
       packageName = "@alexbosworth/fiat";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@alexbosworth/fiat/-/fiat-1.0.0.tgz";
-        sha512 = "GN8uppujBmlSI38NTj1pG8gX1bstwn9exELArqeKvFoLuzuK1nizKjY7Re+1zbt0tXa5BZ6H3JVl7JRlxL8OuQ==";
+        url = "https://registry.npmjs.org/@alexbosworth/fiat/-/fiat-1.0.1.tgz";
+        sha512 = "7rHvIQLvfBYatq+oAy4dvi6Vf00gNVnvdhqR5a7gpav7qEPDpwOFY1pW5T9tKr32KZd4rcCwqVZgygEewnaP2A==";
       };
     };
     "@alexbosworth/html2unicode-1.1.5" = {
@@ -49,6 +67,15 @@ let
         sha512 = "9ls0Zn0qXTmUdt1p9LA1P9Kor9wF1pXtfUTjipCpoYYQ4fEUsuCgQbiymk4oJccpsZ9dAG3vZ1Zt51WabjJTUw==";
       };
     };
+    "@alexbosworth/prettyjson-1.2.1" = {
+      name = "_at_alexbosworth_slash_prettyjson";
+      packageName = "@alexbosworth/prettyjson";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@alexbosworth/prettyjson/-/prettyjson-1.2.1.tgz";
+        sha512 = "b7AoM21tb21f+ZAZfKswhQ5u+ZjjYt6Mywlp1nbXrKEmER/iIco10S4Ply9dSAon4alpHTcP1ixT/kZb7422/Q==";
+      };
+    };
     "@alexbosworth/saxophone-0.6.2" = {
       name = "_at_alexbosworth_slash_saxophone";
       packageName = "@alexbosworth/saxophone";
@@ -58,184 +85,229 @@ let
         sha512 = "o/xdK8b4P0t/xpCARgWXAeaiWeh9jeua6bP1jrcbfN39+Z4zC4x2jg4NysHNhz6spRG8dJFH3kJIUoIbs0Ckww==";
       };
     };
-    "@angular-devkit/architect-0.1301.2" = {
+    "@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.2";
+      version = "0.1302.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.2.tgz";
-        sha512 = "v8e6OF80Ezo5MTHtFcq1AZJH+Wq+hN9pMZ1iLGkODIfKIW9zx6aPhx0JY0b7sZkfNVL8ay8JA8f339eBMnOE9A==";
+        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.1" = {
+    "@angular-devkit/core-13.2.3" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.1.1";
+      version = "13.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.1.tgz";
-        sha512 = "tpOOzdrbrXG+BiJ/iKUX5VU5vBXN/n+H1EMThTwjgT11mqw2uvMj4sSRPvHUrrfxbLE9deuCDQEzmci71enn2w==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.3.tgz";
+        sha512 = "/47RA8qmWzeS60xSdaprIn1MiSv0Iw83t0M9/ENH7irFS5vMAq62NCcwiWXH59pZmvvLbF+7xy/RgYUZLr4nHQ==";
       };
     };
-    "@angular-devkit/core-13.1.2" = {
+    "@angular-devkit/core-13.2.4" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.1.2";
+      version = "13.2.4";
       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.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.1" = {
+    "@angular-devkit/schematics-13.2.3" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.1.1";
+      version = "13.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.1.tgz";
-        sha512 = "uDE0vzjx7MyiJOul91MYMVpRPnAW5/o+pHcINx85wR6t4/RDQSH3UdBCCFxxwv1W9YZSR4kMiwi/sUYqPqbQMw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.3.tgz";
+        sha512 = "+dyC4iKV0huvpjiuz4uyjLNK3FsCIp/Ghv5lXvhG6yok/dCAubsJItJOxi6G16aVCzG/E9zbsDfm9fNMyVOkgQ==";
       };
     };
-    "@angular-devkit/schematics-13.1.2" = {
+    "@angular-devkit/schematics-13.2.4" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.1.2";
+      version = "13.2.4";
       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.4.tgz";
+        sha512 = "VMhYa4cDu5yE31OvHncAd15Rmlchih/Sr6sxFsIwkg4xzRNIIZCtwqxVXgf0TiTN9zrvlvzK7nhPqTGNqqYb2A==";
       };
     };
-    "@angular-devkit/schematics-cli-13.1.1" = {
+    "@angular-devkit/schematics-cli-13.2.3" = {
       name = "_at_angular-devkit_slash_schematics-cli";
       packageName = "@angular-devkit/schematics-cli";
-      version = "13.1.1";
+      version = "13.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.1.1.tgz";
-        sha512 = "i3hkJ/k0gZMmxIAq0yq0V7mW1kSRJcyND6NN6fmeOEd0UMCwtNhn1sbVdxbdUiKD5vcpNTi5prRmqDITF894bA==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.2.3.tgz";
+        sha512 = "huCAno7u2K3Td3oiB41ax5AtoMyij6NmJsUxhpYQkZxnNsio9CKeSJnOuzml8SAILExc7sHFNW5A+9BeLluE4A==";
       };
     };
-    "@antora/asciidoc-loader-2.3.4" = {
+    "@antora/asciidoc-loader-3.0.1" = {
       name = "_at_antora_slash_asciidoc-loader";
       packageName = "@antora/asciidoc-loader";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-2.3.4.tgz";
-        sha512 = "IQ0d/hnOCGZXzTYUwKAw2BlyRMI4Kg/zu7XejQ6ERIncjuUUv/+PhlzVxoJNT0r9uasJFHDlZ7l3X53Hn+MUuQ==";
+        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-3.0.1.tgz";
+        sha512 = "tWMCLn2TFdEi4OcC8rQrMUW+NTRBmXW6MV5Z0wM/A0I9f8aMyhWHeOi8Bym/l/VumOfup24fjRtgv3XRNCHHlA==";
       };
     };
-    "@antora/content-aggregator-2.3.4" = {
+    "@antora/content-aggregator-3.0.1" = {
       name = "_at_antora_slash_content-aggregator";
       packageName = "@antora/content-aggregator";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-2.3.4.tgz";
-        sha512 = "ZwlGm/t90PUnGVo+pir71O+wC+gyXnVuhoAed+9bBLjsiGI7EGUzwUEXSZqHRSihPx5XLFj6pZinoCGX+uabcw==";
+        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-3.0.1.tgz";
+        sha512 = "SVF8ewmuezlWk9Xx0A+8WAvGmbx32wzuBQCcUSSk1d4dMjTjVD3C9QEgEWVrchKs18IZObSQ6hP7l1lQPSg/Fw==";
       };
     };
-    "@antora/content-classifier-2.3.4" = {
+    "@antora/content-classifier-3.0.1" = {
       name = "_at_antora_slash_content-classifier";
       packageName = "@antora/content-classifier";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-2.3.4.tgz";
-        sha512 = "DR4I6dLSZEFOS3T0F/hYwLf3AGY2Rb3e9j8V8ygEFzdP8OySAAZWyTjjJPF4pJZqjWtqD7s7S1f5/cCI83977Q==";
+        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-3.0.1.tgz";
+        sha512 = "Ns7b71Y5ML8zbOEu5mVU6Neg9ETu4jILPKh30loQRAddLe9MPM05lnGv1asfc0r10H/Gw8aXtvPQV/0w0yrFgw==";
       };
     };
-    "@antora/document-converter-2.3.4" = {
+    "@antora/document-converter-3.0.1" = {
       name = "_at_antora_slash_document-converter";
       packageName = "@antora/document-converter";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-2.3.4.tgz";
-        sha512 = "Fo2SKdX3BlNrvfQEBOi2II+YmYzdEqKQ5+lO2pzxJuNBfqN0kJJYYk30jFPR27h6QuU43U/XZgufyDt+FjfdZg==";
+        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-3.0.1.tgz";
+        sha512 = "mVc5vH6MlCfoSLsJPN0+OfWp6XEakAYWfsHDXYXgufTSkHk01l0WzFxkBxp5pbsqW0ZitA38w7tsd0M4JyY//g==";
       };
     };
-    "@antora/expand-path-helper-1.0.0" = {
+    "@antora/expand-path-helper-2.0.0" = {
       name = "_at_antora_slash_expand-path-helper";
       packageName = "@antora/expand-path-helper";
-      version = "1.0.0";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@antora/expand-path-helper/-/expand-path-helper-2.0.0.tgz";
+        sha512 = "CSMBGC+tI21VS2kGW3PV7T2kQTM5eT3f2GTPVLttwaNYbNxDve08en/huzszHJfxo11CcEs26Ostr0F2c1QqeA==";
+      };
+    };
+    "@antora/file-publisher-3.0.1" = {
+      name = "_at_antora_slash_file-publisher";
+      packageName = "@antora/file-publisher";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@antora/file-publisher/-/file-publisher-3.0.1.tgz";
+        sha512 = "mHrFDSSBwQvWKeGDSCD7VotGq149dgc+n6e0u0auKbYr6KNcbCHpVEN/Qlv36JHW4AwBMQQs/hZxBfq/S5nzgw==";
+      };
+    };
+    "@antora/logger-3.0.1" = {
+      name = "_at_antora_slash_logger";
+      packageName = "@antora/logger";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/expand-path-helper/-/expand-path-helper-1.0.0.tgz";
-        sha512 = "hg3y6M3OvRTb7jtLAnwwloYDxafbyKYttcf16kGCXvP7Wqosh7c+Ag+ltaZ7VSebpzpphO/umb/BXdpU7rxapw==";
+        url = "https://registry.npmjs.org/@antora/logger/-/logger-3.0.1.tgz";
+        sha512 = "JZqpUnzAvO7gFJ83u4pob+i2WHtMPAAactIlLGhjQD9kyObw5C1ubmldE4qeop0389c18x+2/eYlFHF9/d602w==";
       };
     };
-    "@antora/navigation-builder-2.3.4" = {
+    "@antora/navigation-builder-3.0.1" = {
       name = "_at_antora_slash_navigation-builder";
       packageName = "@antora/navigation-builder";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-2.3.4.tgz";
-        sha512 = "55I7p9tNTernQ/YR1+mp6RRXMV5EcU8q20Tdodt3mazdm3ObTe9E9XVAvUDFmDzRA27D0eb06jVRwLoth1gHYA==";
+        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-3.0.1.tgz";
+        sha512 = "o9DBSXWLifGb5CsKHB1ZDP5GgS412eY6XD16RP4nK0uGoW2NQjcDMYzt1m6IgD/XWVXMIbwfJa1JunlCM02upQ==";
       };
     };
-    "@antora/page-composer-2.3.4" = {
+    "@antora/page-composer-3.0.1" = {
       name = "_at_antora_slash_page-composer";
       packageName = "@antora/page-composer";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-2.3.4.tgz";
-        sha512 = "xY0O9X87DzcoP6k/5Jx55ysy0iQIhgav3q1JbOQK/FoYQYHbiQgmVWOjJdqh5nZw57ih3yE20JROPuYqOYuUZA==";
+        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-3.0.1.tgz";
+        sha512 = "a0ShNaAKlB4Fpsw7xeoE0/+kYah07p+VQXmZpjDhsu4CaHv4D2ufVgBSTjvK2zzXJwa+dwUNyrLpupE+usa3bw==";
       };
     };
-    "@antora/playbook-builder-2.3.4" = {
+    "@antora/playbook-builder-3.0.1" = {
       name = "_at_antora_slash_playbook-builder";
       packageName = "@antora/playbook-builder";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-2.3.4.tgz";
-        sha512 = "iPjBndcoZhWqpN608WOkXKUUD94b3JX38igebshiT5/NRINJbeEclpdEX/gPv8D1Z1JcrSVGURZQO1uML76dkg==";
+        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-3.0.1.tgz";
+        sha512 = "+L5aCHPf9AJ4BGYlWio2WmpoLZz9Ju6lkT+Ept8R0GjkdhIte01czQ9dXAXcSNNFtC9C82as3WqNJWHPfO+icw==";
       };
     };
-    "@antora/redirect-producer-2.3.4" = {
+    "@antora/redirect-producer-3.0.1" = {
       name = "_at_antora_slash_redirect-producer";
       packageName = "@antora/redirect-producer";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-2.3.4.tgz";
-        sha512 = "148amiLc+1Pod6kluAOBke8OATFWFUW3LZdTPFVfqX1lJolCp5ciOnGciy52sIIysSyVkQUjotEUhqGO9Af1EQ==";
+        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-3.0.1.tgz";
+        sha512 = "NA5J4nzX1EUQyA3R79fYidG1XieEqZnDegaMDuQC9T7eBSA4B7AMKtPPnvWs2botzi+cK+Y0Eazg/ynOiWW+LA==";
       };
     };
-    "@antora/site-mapper-2.3.4" = {
+    "@antora/site-generator-3.0.1" = {
+      name = "_at_antora_slash_site-generator";
+      packageName = "@antora/site-generator";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@antora/site-generator/-/site-generator-3.0.1.tgz";
+        sha512 = "/fCgSYrW+Wh7rd6vB8YPQWPMgkwF17rYOmHWuU+xYcjQOwB1UQgTNuD2vXXgaQNEBkzAOTGhWQW4pWU2Mp4qZA==";
+      };
+    };
+    "@antora/site-mapper-3.0.1" = {
       name = "_at_antora_slash_site-mapper";
       packageName = "@antora/site-mapper";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-2.3.4.tgz";
-        sha512 = "GVghn6ausIWZlUfbEEdDD4YB7M1mWJAUMokyha9sE5w0gyYoWwukKWQiwCwk/JhvnwXunMLhEUm6y2nrHEmlLw==";
+        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-3.0.1.tgz";
+        sha512 = "XtBj5vHDiKBZ6P4z6RGWSFpRa/HYcTafZpG46ykI2xWtq18Q8PyFHx5VMQXeClQVy8WbwBIa/ITKAP7MCLLRww==";
       };
     };
-    "@antora/site-publisher-2.3.4" = {
+    "@antora/site-publisher-3.0.1" = {
       name = "_at_antora_slash_site-publisher";
       packageName = "@antora/site-publisher";
-      version = "2.3.4";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-2.3.4.tgz";
-        sha512 = "7xI/5OdjKq5tkdGzE0ABkl/QpIcgtnof+rnIWZweQKeQtA3LWutvEHtdIeXLQt0oNZmE/kf45FwC2XCg9/ptDg==";
+        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-3.0.1.tgz";
+        sha512 = "oxG7+58J5oYmKTpHW98B61yf82kjltAxr5TQSe8LcZrI/jHFqFpNKwieDHKoTUVdes4xge0hHc3+IJatHWIoeQ==";
       };
     };
-    "@antora/ui-loader-2.3.4" = {
+    "@antora/ui-loader-3.0.1" = {
       name = "_at_antora_slash_ui-loader";
       packageName = "@antora/ui-loader";
-      version = "2.3.4";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-3.0.1.tgz";
+        sha512 = "grtqiB3DiO8mJLWP3/Pu0c7Zu6rF2nkaNBX5NXFoyy7KZ+FJke20WVjuPDzyu7l6mOpjz3kHDXS8xskQ8pvu7g==";
+      };
+    };
+    "@antora/user-require-helper-2.0.0" = {
+      name = "_at_antora_slash_user-require-helper";
+      packageName = "@antora/user-require-helper";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-2.3.4.tgz";
-        sha512 = "eorTmZW7zc6ZHgGLt3Vrq7mzPuobPeJnyfli50/m/DIQ91slkqjPKUYGcq4paPEz6IWoa7LT2ZwtwA5KzMyTPg==";
+        url = "https://registry.npmjs.org/@antora/user-require-helper/-/user-require-helper-2.0.0.tgz";
+        sha512 = "5fMfBZfw4zLoFdDAPMQX6Frik90uvfD8rXOA4UpXPOUikkX4uT1Rk6m0/4oi8oS3fcjiIl0k/7Nc+eTxW5TcQQ==";
       };
     };
     "@apidevtools/json-schema-ref-parser-9.0.9" = {
@@ -292,6 +364,753 @@ let
         sha512 = "vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==";
       };
     };
+    "@asciidoctor/core-2.2.6" = {
+      name = "_at_asciidoctor_slash_core";
+      packageName = "@asciidoctor/core";
+      version = "2.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@asciidoctor/core/-/core-2.2.6.tgz";
+        sha512 = "TmB2K5UfpDpSbCNBBntXzKHcAk2EA3/P68jmWvmJvglVUdkO9V6kTAuXVe12+h6C4GK0ndwuCrHHtEVcL5t6pQ==";
+      };
+    };
+    "@aws-crypto/crc32-2.0.0" = {
+      name = "_at_aws-crypto_slash_crc32";
+      packageName = "@aws-crypto/crc32";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz";
+        sha512 = "TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==";
+      };
+    };
+    "@aws-crypto/ie11-detection-2.0.0" = {
+      name = "_at_aws-crypto_slash_ie11-detection";
+      packageName = "@aws-crypto/ie11-detection";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz";
+        sha512 = "pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==";
+      };
+    };
+    "@aws-crypto/sha256-browser-2.0.0" = {
+      name = "_at_aws-crypto_slash_sha256-browser";
+      packageName = "@aws-crypto/sha256-browser";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz";
+        sha512 = "rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==";
+      };
+    };
+    "@aws-crypto/sha256-js-2.0.0" = {
+      name = "_at_aws-crypto_slash_sha256-js";
+      packageName = "@aws-crypto/sha256-js";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz";
+        sha512 = "VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==";
+      };
+    };
+    "@aws-crypto/supports-web-crypto-2.0.0" = {
+      name = "_at_aws-crypto_slash_supports-web-crypto";
+      packageName = "@aws-crypto/supports-web-crypto";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz";
+        sha512 = "Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==";
+      };
+    };
+    "@aws-crypto/util-2.0.1" = {
+      name = "_at_aws-crypto_slash_util";
+      packageName = "@aws-crypto/util";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz";
+        sha512 = "JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==";
+      };
+    };
+    "@aws-sdk/abort-controller-3.52.0" = {
+      name = "_at_aws-sdk_slash_abort-controller";
+      packageName = "@aws-sdk/abort-controller";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_chunked-blob-reader";
+      packageName = "@aws-sdk/chunked-blob-reader";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_chunked-blob-reader-native";
+      packageName = "@aws-sdk/chunked-blob-reader-native";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_client-s3";
+      packageName = "@aws-sdk/client-s3";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_client-sso";
+      packageName = "@aws-sdk/client-sso";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.52.0.tgz";
+        sha512 = "IvtZlZopWlWg6xnKSXAodWQaPcRySNBJLj68K6HJ8OVvBCgcXr53nNREArgPi0+KDzLsXqAZTRxvU5do/99PrA==";
+      };
+    };
+    "@aws-sdk/client-sts-3.52.0" = {
+      name = "_at_aws-sdk_slash_client-sts";
+      packageName = "@aws-sdk/client-sts";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.52.0.tgz";
+        sha512 = "tPLHYY9RdWehBQlyrwOaw4B31PqW1HmNNKJ3+Hc6KnEaiOwMAwQd8L7BFbSVG8ajQBDAEBUTDAkSaZ8jTYdfQQ==";
+      };
+    };
+    "@aws-sdk/config-resolver-3.52.0" = {
+      name = "_at_aws-sdk_slash_config-resolver";
+      packageName = "@aws-sdk/config-resolver";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-env";
+      packageName = "@aws-sdk/credential-provider-env";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-imds";
+      packageName = "@aws-sdk/credential-provider-imds";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-ini";
+      packageName = "@aws-sdk/credential-provider-ini";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-node";
+      packageName = "@aws-sdk/credential-provider-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-process";
+      packageName = "@aws-sdk/credential-provider-process";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-sso";
+      packageName = "@aws-sdk/credential-provider-sso";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-web-identity";
+      packageName = "@aws-sdk/credential-provider-web-identity";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_eventstream-marshaller";
+      packageName = "@aws-sdk/eventstream-marshaller";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_eventstream-serde-browser";
+      packageName = "@aws-sdk/eventstream-serde-browser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_eventstream-serde-config-resolver";
+      packageName = "@aws-sdk/eventstream-serde-config-resolver";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_eventstream-serde-node";
+      packageName = "@aws-sdk/eventstream-serde-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_eventstream-serde-universal";
+      packageName = "@aws-sdk/eventstream-serde-universal";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_fetch-http-handler";
+      packageName = "@aws-sdk/fetch-http-handler";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_hash-blob-browser";
+      packageName = "@aws-sdk/hash-blob-browser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_hash-node";
+      packageName = "@aws-sdk/hash-node";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.52.0.tgz";
+        sha512 = "pN2dSSyyy0emFFtK6jgmzYXcJHITbfdPqR7UTQ1fj1wFvbURPN19C1f4uYbVDjuiUQX01hLclJDLnPy1BIzTGQ==";
+      };
+    };
+    "@aws-sdk/hash-stream-node-3.52.0" = {
+      name = "_at_aws-sdk_slash_hash-stream-node";
+      packageName = "@aws-sdk/hash-stream-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_invalid-dependency";
+      packageName = "@aws-sdk/invalid-dependency";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_is-array-buffer";
+      packageName = "@aws-sdk/is-array-buffer";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.52.0.tgz";
+        sha512 = "5Pe9QKrOeSZb9Z8gtlx9CDMfxH8EiNdClBfXBbc6CiUM7y6l7UintYHkm133zM5XTqtMRYY1jaD8svVAoRPApA==";
+      };
+    };
+    "@aws-sdk/md5-js-3.52.0" = {
+      name = "_at_aws-sdk_slash_md5-js";
+      packageName = "@aws-sdk/md5-js";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-apply-body-checksum";
+      packageName = "@aws-sdk/middleware-apply-body-checksum";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
+      packageName = "@aws-sdk/middleware-bucket-endpoint";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-content-length";
+      packageName = "@aws-sdk/middleware-content-length";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-expect-continue";
+      packageName = "@aws-sdk/middleware-expect-continue";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-header-default";
+      packageName = "@aws-sdk/middleware-header-default";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-host-header";
+      packageName = "@aws-sdk/middleware-host-header";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-location-constraint";
+      packageName = "@aws-sdk/middleware-location-constraint";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-logger";
+      packageName = "@aws-sdk/middleware-logger";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-retry";
+      packageName = "@aws-sdk/middleware-retry";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-sdk-s3";
+      packageName = "@aws-sdk/middleware-sdk-s3";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-sdk-sts";
+      packageName = "@aws-sdk/middleware-sdk-sts";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-serde";
+      packageName = "@aws-sdk/middleware-serde";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.52.0.tgz";
+        sha512 = "4ZooINTdOI4+T6pEiu8xte5EEhOqbE/wqOwBzvOASk3JKElZ93u6xKP2u7UKVD6asBBYK2mDrYSy1PsU4fNl4A==";
+      };
+    };
+    "@aws-sdk/middleware-signing-3.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-signing";
+      packageName = "@aws-sdk/middleware-signing";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.52.0.tgz";
+        sha512 = "7FUqmZQ5DzaDJYCJ3YmOHRFEyFeohtsDQ1akWD2qekcjp16ftBtk05Fi9am5/L7pO8svVzobji/wg00Tlq183A==";
+      };
+    };
+    "@aws-sdk/middleware-ssec-3.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-ssec";
+      packageName = "@aws-sdk/middleware-ssec";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.52.0.tgz";
+        sha512 = "lEswW+Hf5tvkPs6aNRbPF5/Iizh62lq4NK6bZjvQF6kqyUoIGhOehQOZMmTm6jw0058KVhrzNIKipBpi7LuF6w==";
+      };
+    };
+    "@aws-sdk/middleware-stack-3.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-stack";
+      packageName = "@aws-sdk/middleware-stack";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_middleware-user-agent";
+      packageName = "@aws-sdk/middleware-user-agent";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_node-config-provider";
+      packageName = "@aws-sdk/node-config-provider";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_node-http-handler";
+      packageName = "@aws-sdk/node-http-handler";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_property-provider";
+      packageName = "@aws-sdk/property-provider";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.52.0.tgz";
+        sha512 = "Ooam7CvGefHKhMwQ413MiEtDTFw70xbCduJCF7Bg1F0WKrf700M/Yte+q3E0ljlXWJ28rwJNgwW3ptZaSXMGPg==";
+      };
+    };
+    "@aws-sdk/protocol-http-3.52.0" = {
+      name = "_at_aws-sdk_slash_protocol-http";
+      packageName = "@aws-sdk/protocol-http";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.52.0.tgz";
+        sha512 = "L6ITU9NG0L6nyYfzhSLa0EsgDlyL1vHNz+Om9o7TayUUF7O0f3UiZToWf2hdETQ04Os8625aZt0VH92ZnYyeEw==";
+      };
+    };
+    "@aws-sdk/querystring-builder-3.52.0" = {
+      name = "_at_aws-sdk_slash_querystring-builder";
+      packageName = "@aws-sdk/querystring-builder";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.52.0.tgz";
+        sha512 = "RfNXqKeR6mdg2n2LO5Vs2Bz+f47/KN5k36HWk04bSwIbhnBtslXBp0F1KgSPkeP56KEgmmUWldRD7g8BvDkgAw==";
+      };
+    };
+    "@aws-sdk/querystring-parser-3.52.0" = {
+      name = "_at_aws-sdk_slash_querystring-parser";
+      packageName = "@aws-sdk/querystring-parser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_s3-request-presigner";
+      packageName = "@aws-sdk/s3-request-presigner";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_service-error-classification";
+      packageName = "@aws-sdk/service-error-classification";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_shared-ini-file-loader";
+      packageName = "@aws-sdk/shared-ini-file-loader";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_signature-v4";
+      packageName = "@aws-sdk/signature-v4";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.52.0.tgz";
+        sha512 = "lSlDASXGLup5v12kclzT2ZLoUnnVLknSRcMXrTVjnX7spmHMbs6s7LOcN0RXZzFIACs7vW+930KUzhBxt8UiFQ==";
+      };
+    };
+    "@aws-sdk/smithy-client-3.52.0" = {
+      name = "_at_aws-sdk_slash_smithy-client";
+      packageName = "@aws-sdk/smithy-client";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.52.0.tgz";
+        sha512 = "GuOJuoA1kky/v2p7byOZGq7YOiu2Ov8DA3d58gM6L/q7XavBjnzwNB/BYU7SPU3Ly6S7qGxBJFeadufic4bCYg==";
+      };
+    };
+    "@aws-sdk/types-3.52.0" = {
+      name = "_at_aws-sdk_slash_types";
+      packageName = "@aws-sdk/types";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_url-parser";
+      packageName = "@aws-sdk/url-parser";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.52.0.tgz";
+        sha512 = "/9OJwol/384jsISiAs5JX7fkgd9mv7hJsHFCVXnByim5qTZu1V9fMcJYJ1L3iRmfCRy0w75UDJljIx2RZnwAYw==";
+      };
+    };
+    "@aws-sdk/util-arn-parser-3.52.0" = {
+      name = "_at_aws-sdk_slash_util-arn-parser";
+      packageName = "@aws-sdk/util-arn-parser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-base64-browser";
+      packageName = "@aws-sdk/util-base64-browser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-base64-node";
+      packageName = "@aws-sdk/util-base64-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-body-length-browser";
+      packageName = "@aws-sdk/util-body-length-browser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-body-length-node";
+      packageName = "@aws-sdk/util-body-length-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-buffer-from";
+      packageName = "@aws-sdk/util-buffer-from";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-config-provider";
+      packageName = "@aws-sdk/util-config-provider";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-create-request";
+      packageName = "@aws-sdk/util-create-request";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-credentials";
+      packageName = "@aws-sdk/util-credentials";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-defaults-mode-browser";
+      packageName = "@aws-sdk/util-defaults-mode-browser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-defaults-mode-node";
+      packageName = "@aws-sdk/util-defaults-mode-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-format-url";
+      packageName = "@aws-sdk/util-format-url";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-hex-encoding";
+      packageName = "@aws-sdk/util-hex-encoding";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-locate-window";
+      packageName = "@aws-sdk/util-locate-window";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-uri-escape";
+      packageName = "@aws-sdk/util-uri-escape";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-user-agent-browser";
+      packageName = "@aws-sdk/util-user-agent-browser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-user-agent-node";
+      packageName = "@aws-sdk/util-user-agent-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-utf8-browser";
+      packageName = "@aws-sdk/util-utf8-browser";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-utf8-node";
+      packageName = "@aws-sdk/util-utf8-node";
+      version = "3.52.0";
+      src = fetchurl {
+        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.52.0" = {
+      name = "_at_aws-sdk_slash_util-waiter";
+      packageName = "@aws-sdk/util-waiter";
+      version = "3.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.52.0.tgz";
+        sha512 = "8Gx0NunIg1RFpnKSA3nwzDl5j8mJ42kWjy5sHgd4wfUyiXRSvTl69sV6O8qhleI9OMDV0iS4xHZBCLK11HdIoA==";
+      };
+    };
+    "@aws-sdk/xml-builder-3.52.0" = {
+      name = "_at_aws-sdk_slash_xml-builder";
+      packageName = "@aws-sdk/xml-builder";
+      version = "3.52.0";
+      src = fetchurl {
+        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" = {
       name = "_at_azu_slash_format-text";
       packageName = "@azu/format-text";
@@ -310,13 +1129,13 @@ let
         sha1 = "e70187f8a862e191b1bce6c0268f13acd3a56b20";
       };
     };
-    "@babel/cli-7.16.0" = {
+    "@babel/cli-7.17.3" = {
       name = "_at_babel_slash_cli";
       packageName = "@babel/cli";
-      version = "7.16.0";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.16.0.tgz";
-        sha512 = "WLrM42vKX/4atIoQB+eb0ovUof53UUvecb4qGjU2PDDWRiZr50ZpiV8NpcLo7iSxeGYrRG0Mqembsa+UrTAV6Q==";
+        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.3.tgz";
+        sha512 = "1+WRlh1IqLocOp122CLx4if345RSHMspwIZNJTlqG/GA46HVZC6p49N1kolfdd2/GOdr+tu4nScbAR3ACJ2ZiA==";
       };
     };
     "@babel/code-frame-7.10.4" = {
@@ -337,40 +1156,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/compat-data-7.16.4" = {
+    "@babel/compat-data-7.17.0" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.16.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz";
-        sha512 = "1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==";
-      };
-    };
-    "@babel/core-7.10.5" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.10.5";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz";
-        sha512 = "O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==";
+        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.5" = {
+    "@babel/core-7.17.5" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.16.5";
+      version = "7.17.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz";
-        sha512 = "wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz";
+        sha512 = "/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==";
       };
     };
     "@babel/core-7.9.0" = {
@@ -382,193 +1192,184 @@ let
         sha512 = "kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==";
       };
     };
-    "@babel/generator-7.16.5" = {
+    "@babel/generator-7.17.3" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.16.5";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz";
-        sha512 = "kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==";
+        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.0" = {
+    "@babel/helper-annotate-as-pure-7.16.7" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz";
-        sha512 = "ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
+        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.5" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.7" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz";
-        sha512 = "3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
+        sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
       };
     };
-    "@babel/helper-compilation-targets-7.16.3" = {
+    "@babel/helper-compilation-targets-7.16.7" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.16.3";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz";
-        sha512 = "vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz";
+        sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.16.5" = {
+    "@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.5";
+      version = "7.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz";
-        sha512 = "NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==";
+        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.0" = {
+    "@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.0";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz";
-        sha512 = "3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==";
+        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.0" = {
+    "@babel/helper-define-polyfill-provider-0.3.1" = {
       name = "_at_babel_slash_helper-define-polyfill-provider";
       packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz";
-        sha512 = "7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==";
+        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz";
+        sha512 = "J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==";
       };
     };
-    "@babel/helper-environment-visitor-7.16.5" = {
+    "@babel/helper-environment-visitor-7.16.7" = {
       name = "_at_babel_slash_helper-environment-visitor";
       packageName = "@babel/helper-environment-visitor";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz";
-        sha512 = "ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==";
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.16.0" = {
+    "@babel/helper-explode-assignable-expression-7.16.7" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz";
-        sha512 = "Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
+        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
       };
     };
-    "@babel/helper-function-name-7.16.0" = {
+    "@babel/helper-function-name-7.16.7" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz";
-        sha512 = "BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
       };
     };
-    "@babel/helper-get-function-arity-7.16.0" = {
+    "@babel/helper-get-function-arity-7.16.7" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz";
-        sha512 = "ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
       };
     };
-    "@babel/helper-hoist-variables-7.16.0" = {
+    "@babel/helper-hoist-variables-7.16.7" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz";
-        sha512 = "1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.16.5" = {
+    "@babel/helper-member-expression-to-functions-7.16.7" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz";
-        sha512 = "7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz";
+        sha512 = "VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==";
       };
     };
-    "@babel/helper-module-imports-7.16.0" = {
+    "@babel/helper-module-imports-7.16.7" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz";
-        sha512 = "kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
       };
     };
-    "@babel/helper-module-transforms-7.16.5" = {
+    "@babel/helper-module-transforms-7.16.7" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz";
-        sha512 = "CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz";
+        sha512 = "gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.16.0" = {
+    "@babel/helper-optimise-call-expression-7.16.7" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz";
-        sha512 = "SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
+        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
       };
     };
-    "@babel/helper-plugin-utils-7.10.4" = {
+    "@babel/helper-plugin-utils-7.16.7" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.10.4";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
-        sha512 = "O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz";
+        sha512 = "Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==";
       };
     };
-    "@babel/helper-plugin-utils-7.16.5" = {
-      name = "_at_babel_slash_helper-plugin-utils";
-      packageName = "@babel/helper-plugin-utils";
-      version = "7.16.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz";
-        sha512 = "59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==";
-      };
-    };
-    "@babel/helper-remap-async-to-generator-7.16.5" = {
+    "@babel/helper-remap-async-to-generator-7.16.8" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz";
-        sha512 = "X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
+        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
       };
     };
-    "@babel/helper-replace-supers-7.16.5" = {
+    "@babel/helper-replace-supers-7.16.7" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz";
-        sha512 = "ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz";
+        sha512 = "y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==";
       };
     };
-    "@babel/helper-simple-access-7.16.0" = {
+    "@babel/helper-simple-access-7.16.7" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz";
-        sha512 = "o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz";
+        sha512 = "ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==";
       };
     };
     "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
@@ -580,67 +1381,67 @@ let
         sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
       };
     };
-    "@babel/helper-split-export-declaration-7.16.0" = {
+    "@babel/helper-split-export-declaration-7.16.7" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz";
-        sha512 = "0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
       };
     };
-    "@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/helper-validator-option-7.14.5" = {
+    "@babel/helper-validator-option-7.16.7" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.14.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
-        sha512 = "OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
       };
     };
-    "@babel/helper-wrap-function-7.16.5" = {
+    "@babel/helper-wrap-function-7.16.8" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz";
-        sha512 = "2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
+        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.16.5" = {
+    "@babel/helpers-7.17.2" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.16.5";
+      version = "7.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz";
-        sha512 = "TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz";
+        sha512 = "0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==";
       };
     };
-    "@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==";
       };
     };
-    "@babel/node-7.16.5" = {
+    "@babel/node-7.16.8" = {
       name = "_at_babel_slash_node";
       packageName = "@babel/node";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/node/-/node-7.16.5.tgz";
-        sha512 = "NUzl2ILzKE7lu5yj4pFLeOmREwOq6//8bFBB3m7XXz73INCSI1rjQJbUYLwZrpZWlt6RY536nDJFqo2MnY43nA==";
+        url = "https://registry.npmjs.org/@babel/node/-/node-7.16.8.tgz";
+        sha512 = "V2dopEtPUL4LD+e8UtMIZB6BbsmMsS/7E1ZAvWNINzBfi7Cf3X9MLCpzHVZT4HeeF1lQl72IRtqqVt2RUImwyA==";
       };
     };
     "@babel/parser-7.16.2" = {
@@ -652,31 +1453,31 @@ let
         sha512 = "RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==";
       };
     };
-    "@babel/parser-7.16.6" = {
+    "@babel/parser-7.17.3" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.16.6";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz";
-        sha512 = "Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==";
+        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.2" = {
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
       name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
       packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.16.2";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz";
-        sha512 = "h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz";
+        sha512 = "anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==";
       };
     };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0" = {
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7" = {
       name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
       packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz";
-        sha512 = "4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz";
+        sha512 = "di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==";
       };
     };
     "@babel/plugin-external-helpers-7.8.3" = {
@@ -688,157 +1489,148 @@ let
         sha512 = "mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.16.5" = {
+    "@babel/plugin-proposal-async-generator-functions-7.16.8" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz";
-        sha512 = "C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz";
+        sha512 = "71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.16.5" = {
+    "@babel/plugin-proposal-class-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz";
-        sha512 = "pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz";
+        sha512 = "IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==";
       };
     };
-    "@babel/plugin-proposal-class-static-block-7.16.5" = {
+    "@babel/plugin-proposal-class-static-block-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-class-static-block";
       packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz";
-        sha512 = "EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz";
+        sha512 = "dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.16.5" = {
+    "@babel/plugin-proposal-dynamic-import-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz";
-        sha512 = "P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
+        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
       };
     };
-    "@babel/plugin-proposal-export-default-from-7.16.5" = {
+    "@babel/plugin-proposal-export-default-from-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-export-default-from";
       packageName = "@babel/plugin-proposal-export-default-from";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.16.5.tgz";
-        sha512 = "pU4aCS+AzGjDD/6LnwSmeelmtqfMSjzQxs7+/AS673bYsshK1XZm9eth6OkgivVscQM8XdkVYhrb6tPFVTBVHA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.16.7.tgz";
+        sha512 = "+cENpW1rgIjExn+o5c8Jw/4BuH4eGKKYvkMB8/0ZxFQ9mC0t4z09VsPIwNg6waF69QYC81zxGeAsREGuqQoKeg==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.16.5" = {
+    "@babel/plugin-proposal-export-namespace-from-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz";
-        sha512 = "i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz";
+        sha512 = "ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.16.5" = {
+    "@babel/plugin-proposal-json-strings-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz";
-        sha512 = "QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz";
+        sha512 = "lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.16.5" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz";
-        sha512 = "xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz";
+        sha512 = "K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.16.5" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz";
-        sha512 = "YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz";
+        sha512 = "aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.16.5" = {
+    "@babel/plugin-proposal-numeric-separator-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz";
-        sha512 = "DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
+        sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.10.4" = {
+    "@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.10.4";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz";
-        sha512 = "6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==";
+        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-object-rest-spread-7.16.5" = {
-      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
-      packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.16.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz";
-        sha512 = "UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==";
-      };
-    };
-    "@babel/plugin-proposal-optional-catch-binding-7.16.5" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz";
-        sha512 = "ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
+        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.16.5" = {
+    "@babel/plugin-proposal-optional-chaining-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz";
-        sha512 = "kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz";
+        sha512 = "eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.16.5" = {
+    "@babel/plugin-proposal-private-methods-7.16.11" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.16.5";
+      version = "7.16.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz";
-        sha512 = "+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz";
+        sha512 = "F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==";
       };
     };
-    "@babel/plugin-proposal-private-property-in-object-7.16.5" = {
+    "@babel/plugin-proposal-private-property-in-object-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-private-property-in-object";
       packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz";
-        sha512 = "+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz";
+        sha512 = "rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.16.5" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz";
-        sha512 = "s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz";
+        sha512 = "QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -886,13 +1678,13 @@ let
         sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
       };
     };
-    "@babel/plugin-syntax-export-default-from-7.16.5" = {
+    "@babel/plugin-syntax-export-default-from-7.16.7" = {
       name = "_at_babel_slash_plugin-syntax-export-default-from";
       packageName = "@babel/plugin-syntax-export-default-from";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.16.5.tgz";
-        sha512 = "tvY55nhq4mSG9WbM7IZcLIhdc5jzIZu0PQKJHtZ16+dF7oBxKbqV/Z0e9ta2zaLMvUjH+3rJv1hbZ0+lpXzuFQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.16.7.tgz";
+        sha512 = "4C3E4NsrLOgftKaTYTULhHsuQrGv3FHrBzOMDiS7UYKIpgGBkAdawg4h+EI8zPeK9M0fiIIh72hIwsI24K7MbA==";
       };
     };
     "@babel/plugin-syntax-export-namespace-from-7.8.3" = {
@@ -904,13 +1696,13 @@ let
         sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
       };
     };
-    "@babel/plugin-syntax-flow-7.16.5" = {
+    "@babel/plugin-syntax-flow-7.16.7" = {
       name = "_at_babel_slash_plugin-syntax-flow";
       packageName = "@babel/plugin-syntax-flow";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.5.tgz";
-        sha512 = "Nrx+7EAJx1BieBQseZa2pavVH2Rp7hADK2xn7coYqVbWRu9C2OFizYcsKo6TrrqJkJl+qF/+Qqzrk/+XDu4GnA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz";
+        sha512 = "UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==";
       };
     };
     "@babel/plugin-syntax-import-meta-7.10.4" = {
@@ -931,22 +1723,13 @@ let
         sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
       };
     };
-    "@babel/plugin-syntax-jsx-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-jsx";
-      packageName = "@babel/plugin-syntax-jsx";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz";
-        sha512 = "KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==";
-      };
-    };
-    "@babel/plugin-syntax-jsx-7.16.5" = {
+    "@babel/plugin-syntax-jsx-7.16.7" = {
       name = "_at_babel_slash_plugin-syntax-jsx";
       packageName = "@babel/plugin-syntax-jsx";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.5.tgz";
-        sha512 = "42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz";
+        sha512 = "Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==";
       };
     };
     "@babel/plugin-syntax-logical-assignment-operators-7.10.4" = {
@@ -1021,382 +1804,382 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.16.5" = {
+    "@babel/plugin-syntax-typescript-7.16.7" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.5.tgz";
-        sha512 = "/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz";
+        sha512 = "YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.16.5" = {
+    "@babel/plugin-transform-arrow-functions-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz";
-        sha512 = "8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz";
+        sha512 = "9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.16.5" = {
+    "@babel/plugin-transform-async-to-generator-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz";
-        sha512 = "TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz";
+        sha512 = "MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.16.5" = {
+    "@babel/plugin-transform-block-scoped-functions-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz";
-        sha512 = "BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
+        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.16.5" = {
+    "@babel/plugin-transform-block-scoping-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz";
-        sha512 = "JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz";
+        sha512 = "ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==";
       };
     };
-    "@babel/plugin-transform-classes-7.16.5" = {
+    "@babel/plugin-transform-classes-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz";
-        sha512 = "DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz";
+        sha512 = "WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.16.5" = {
+    "@babel/plugin-transform-computed-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz";
-        sha512 = "n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz";
+        sha512 = "gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.16.5" = {
+    "@babel/plugin-transform-destructuring-7.17.3" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.16.5";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz";
-        sha512 = "GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==";
+        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.5" = {
+    "@babel/plugin-transform-dotall-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz";
-        sha512 = "iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
+        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.16.5" = {
+    "@babel/plugin-transform-duplicate-keys-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz";
-        sha512 = "81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz";
+        sha512 = "03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.16.5" = {
+    "@babel/plugin-transform-exponentiation-operator-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz";
-        sha512 = "12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
+        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
       };
     };
-    "@babel/plugin-transform-flow-strip-types-7.16.5" = {
+    "@babel/plugin-transform-flow-strip-types-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-flow-strip-types";
       packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.5.tgz";
-        sha512 = "skE02E/MptkZdBS4HwoRhjWXqeKQj0BWKEAPfPC+8R4/f6bjQqQ9Nftv/+HkxWwnVxh/E2NV9TNfzLN5H/oiBw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz";
+        sha512 = "mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==";
       };
     };
-    "@babel/plugin-transform-for-of-7.16.5" = {
+    "@babel/plugin-transform-for-of-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz";
-        sha512 = "+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz";
+        sha512 = "/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==";
       };
     };
-    "@babel/plugin-transform-function-name-7.16.5" = {
+    "@babel/plugin-transform-function-name-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz";
-        sha512 = "Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
+        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
       };
     };
-    "@babel/plugin-transform-literals-7.16.5" = {
+    "@babel/plugin-transform-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz";
-        sha512 = "B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz";
+        sha512 = "6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.16.5" = {
+    "@babel/plugin-transform-member-expression-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz";
-        sha512 = "d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
+        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.16.5" = {
+    "@babel/plugin-transform-modules-amd-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz";
-        sha512 = "oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz";
+        sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.16.5" = {
+    "@babel/plugin-transform-modules-commonjs-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz";
-        sha512 = "ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz";
+        sha512 = "oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.16.5" = {
+    "@babel/plugin-transform-modules-systemjs-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz";
-        sha512 = "53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz";
+        sha512 = "DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.16.5" = {
+    "@babel/plugin-transform-modules-umd-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz";
-        sha512 = "qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz";
+        sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.16.5" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz";
-        sha512 = "/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
+        sha512 = "j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==";
       };
     };
-    "@babel/plugin-transform-new-target-7.16.5" = {
+    "@babel/plugin-transform-new-target-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz";
-        sha512 = "ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz";
+        sha512 = "xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==";
       };
     };
-    "@babel/plugin-transform-object-super-7.16.5" = {
+    "@babel/plugin-transform-object-super-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz";
-        sha512 = "tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
+        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
       };
     };
-    "@babel/plugin-transform-parameters-7.16.5" = {
+    "@babel/plugin-transform-parameters-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz";
-        sha512 = "B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz";
+        sha512 = "AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.16.5" = {
+    "@babel/plugin-transform-property-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz";
-        sha512 = "+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
+        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
       };
     };
-    "@babel/plugin-transform-react-display-name-7.16.5" = {
+    "@babel/plugin-transform-react-display-name-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-react-display-name";
       packageName = "@babel/plugin-transform-react-display-name";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.5.tgz";
-        sha512 = "dHYCOnzSsXFz8UcdNQIHGvg94qPL/teF7CCiCEMRxmA1G2p5Mq4JnKVowCDxYfiQ9D7RstaAp9kwaSI+sXbnhw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz";
+        sha512 = "qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.16.5" = {
+    "@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.5";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.5.tgz";
-        sha512 = "+arLIz1d7kmwX0fKxTxbnoeG85ONSnLpvdODa4P3pc1sS7CV1hfmtYWufkW/oYsPnkDrEeQFxhUWcFnrXW7jQQ==";
+        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.5" = {
+    "@babel/plugin-transform-react-jsx-development-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-react-jsx-development";
       packageName = "@babel/plugin-transform-react-jsx-development";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.5.tgz";
-        sha512 = "uQSLacMZSGLCxOw20dzo1dmLlKkd+DsayoV54q3MHXhbqgPzoiGerZQgNPl/Ro8/OcXV2ugfnkx+rxdS0sN5Uw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz";
+        sha512 = "RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==";
       };
     };
-    "@babel/plugin-transform-react-pure-annotations-7.16.5" = {
+    "@babel/plugin-transform-react-pure-annotations-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-react-pure-annotations";
       packageName = "@babel/plugin-transform-react-pure-annotations";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.5.tgz";
-        sha512 = "0nYU30hCxnCVCbRjSy9ahlhWZ2Sn6khbY4FqR91W+2RbSqkWEbVu2gXh45EqNy4Bq7sRU+H4i0/6YKwOSzh16A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz";
+        sha512 = "hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.16.5" = {
+    "@babel/plugin-transform-regenerator-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz";
-        sha512 = "2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
+        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.16.5" = {
+    "@babel/plugin-transform-reserved-words-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz";
-        sha512 = "aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz";
+        sha512 = "KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==";
       };
     };
-    "@babel/plugin-transform-runtime-7.16.5" = {
+    "@babel/plugin-transform-runtime-7.17.0" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.16.5";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz";
-        sha512 = "gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==";
+        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.5" = {
+    "@babel/plugin-transform-shorthand-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz";
-        sha512 = "ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
+        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
       };
     };
-    "@babel/plugin-transform-spread-7.16.5" = {
+    "@babel/plugin-transform-spread-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz";
-        sha512 = "5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz";
+        sha512 = "+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.16.5" = {
+    "@babel/plugin-transform-sticky-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz";
-        sha512 = "usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
+        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.16.5" = {
+    "@babel/plugin-transform-template-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz";
-        sha512 = "gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz";
+        sha512 = "VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.16.5" = {
+    "@babel/plugin-transform-typeof-symbol-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz";
-        sha512 = "ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz";
+        sha512 = "p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==";
       };
     };
-    "@babel/plugin-transform-typescript-7.16.1" = {
+    "@babel/plugin-transform-typescript-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.16.1";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz";
-        sha512 = "NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz";
+        sha512 = "bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.16.5" = {
+    "@babel/plugin-transform-unicode-escapes-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz";
-        sha512 = "shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
+        sha512 = "TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.16.5" = {
+    "@babel/plugin-transform-unicode-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz";
-        sha512 = "GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
+        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
       };
     };
-    "@babel/preset-env-7.16.5" = {
+    "@babel/preset-env-7.16.11" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.16.5";
+      version = "7.16.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz";
-        sha512 = "MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz";
+        sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
       };
     };
-    "@babel/preset-flow-7.16.5" = {
+    "@babel/preset-flow-7.16.7" = {
       name = "_at_babel_slash_preset-flow";
       packageName = "@babel/preset-flow";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.5.tgz";
-        sha512 = "rmC6Nznp4V55N4Zfec87jwd14TdREqwKVJFM/6Z2wTwoeZQr56czjaPRCezqzqc8TsHF7aLP1oczjadIQ058gw==";
+        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz";
+        sha512 = "6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==";
       };
     };
     "@babel/preset-modules-0.1.5" = {
@@ -1408,13 +2191,13 @@ let
         sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
       };
     };
-    "@babel/preset-react-7.16.5" = {
+    "@babel/preset-react-7.16.7" = {
       name = "_at_babel_slash_preset-react";
       packageName = "@babel/preset-react";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.5.tgz";
-        sha512 = "3kzUOQeaxY/2vhPDS7CX/KGEGu/1bOYGvdRDJ2U5yjEz5o5jmIeTPLoiQBPGjfhPascLuW5OlMiPzwOOuB6txg==";
+        url = "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz";
+        sha512 = "fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==";
       };
     };
     "@babel/preset-stage-0-7.8.3" = {
@@ -1435,22 +2218,22 @@ let
         sha512 = "dStnEQgejNYIHFNACdDCigK4BF7wgW6Zahv9Dc2un7rGjbeVtZhBfR3sy0I7ZJOhBexkFxVdMZ5hqmll7BFShw==";
       };
     };
-    "@babel/preset-typescript-7.16.5" = {
+    "@babel/preset-typescript-7.16.7" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.5.tgz";
-        sha512 = "lmAWRoJ9iOSvs3DqOndQpj8XqXkzaiQs50VG/zESiI9D3eoZhGriU675xNCr0UwvsuXrhMAGvyk1w+EVWF3u8Q==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz";
+        sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
       };
     };
-    "@babel/register-7.16.5" = {
+    "@babel/register-7.17.0" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
-      version = "7.16.5";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.16.5.tgz";
-        sha512 = "NpluD+cToBiZiDsG3y9rtIcqDyivsahpaM9csfyfiq1qQWduSmihUZ+ruIqqSDGjZKZMJfgAElo9x2YWlOQuRw==";
+        url = "https://registry.npmjs.org/@babel/register/-/register-7.17.0.tgz";
+        sha512 = "UNZsMAZ7uKoGHo1HlEXfteEOYssf64n/PNLHGqOKq/bgYcu/4LrQWAHJwSCb3BRZK8Hi5gkJdRcwrGTO2wtRCg==";
       };
     };
     "@babel/runtime-7.13.9" = {
@@ -1462,13 +2245,13 @@ let
         sha512 = "aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==";
       };
     };
-    "@babel/runtime-7.16.5" = {
+    "@babel/runtime-7.17.2" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.16.5";
+      version = "7.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz";
-        sha512 = "TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz";
+        sha512 = "hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==";
       };
     };
     "@babel/runtime-7.9.0" = {
@@ -1480,40 +2263,31 @@ let
         sha512 = "cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==";
       };
     };
-    "@babel/runtime-corejs3-7.16.5" = {
+    "@babel/runtime-corejs3-7.17.2" = {
       name = "_at_babel_slash_runtime-corejs3";
       packageName = "@babel/runtime-corejs3";
-      version = "7.16.5";
+      version = "7.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.5.tgz";
-        sha512 = "F1pMwvTiUNSAM8mc45kccMQxj31x3y3P+tA/X8hKNWp3/hUsxdGxZ3D3H8JIkxtfA8qGkaBTKvcmvStaYseAFw==";
+        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.2.tgz";
+        sha512 = "NcKtr2epxfIrNM4VOmPKO46TvDMCBhgi2CrSHaEarrz+Plk2K5r9QemmOFTGpZaoKnWoGH5MO+CzeRsih/Fcgg==";
       };
     };
-    "@babel/standalone-7.16.6" = {
-      name = "_at_babel_slash_standalone";
-      packageName = "@babel/standalone";
-      version = "7.16.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/standalone/-/standalone-7.16.6.tgz";
-        sha512 = "wjildVe951w1IPEPN4G76j+y5JFZfJN9gdyP8o9zd61qbiVEecAgORKskK1D/7VrJZrZS+nxDbhj2akEFU2RJw==";
-      };
-    };
-    "@babel/template-7.16.0" = {
+    "@babel/template-7.16.7" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz";
-        sha512 = "MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.16.5" = {
+    "@babel/traverse-7.17.3" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.16.5";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz";
-        sha512 = "FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
+        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
       };
     };
     "@babel/types-7.16.0" = {
@@ -1525,6 +2299,15 @@ let
         sha512 = "PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==";
       };
     };
+    "@babel/types-7.17.0" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz";
+        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
+      };
+    };
     "@blueprintjs/colors-4.0.0-beta.3" = {
       name = "_at_blueprintjs_slash_colors";
       packageName = "@blueprintjs/colors";
@@ -1534,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" = {
@@ -1606,40 +2389,40 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@cdktf/hcl2cdk-0.8.3" = {
+    "@cdktf/hcl2cdk-0.9.1" = {
       name = "_at_cdktf_slash_hcl2cdk";
       packageName = "@cdktf/hcl2cdk";
-      version = "0.8.3";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.8.3.tgz";
-        sha512 = "Rm0h1OjgbUoefC34JlW+73GnD8OUOLKn/mDe0AH8/0XWl6WBPRYw/kjBND7xv09WvABmfzd7SBrKU2VHrv0xiQ==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.9.1.tgz";
+        sha512 = "0AOiSGa8qd0lcGwwayrl3N/mAeTFkNrKndILCDMuh9gLFfXLTxVEq2oqp5LbO5YX2i/cFMCjZ/vscXXQuCVjCQ==";
       };
     };
-    "@cdktf/hcl2json-0.8.3" = {
+    "@cdktf/hcl2json-0.9.1" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.8.3";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.8.3.tgz";
-        sha512 = "0jvkpZy65cWpzQl6yZ69pQffFXX21eKDbF94q6JeMAXtFiWDJLWyOFuKQ/dapnPPM7+BYC8osXKFO9hvo3ko7g==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.9.1.tgz";
+        sha512 = "pM6cLkPl4hMTj9XhjKz7MEowUHnzq8hY8uk8ro32OQsZVZpsl9CDG83ox0VwgI1YSvXU7GyzP4iPOPn63U7PgQ==";
       };
     };
-    "@cdktf/provider-generator-0.8.3" = {
+    "@cdktf/provider-generator-0.9.1" = {
       name = "_at_cdktf_slash_provider-generator";
       packageName = "@cdktf/provider-generator";
-      version = "0.8.3";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.8.3.tgz";
-        sha512 = "oh0O3EA0u2xmhSlL1JkJpA8K9mENKuRB1y1ChSnkoP5OS2GK0YebPQcrUTcvixW3tNi8ciYalC4JsY5oCKpFDQ==";
+        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.9.1.tgz";
+        sha512 = "BF4Z7eiSFHKx0NrIiB2fHCq0G8Mx2q8bLbij9KBxAD80BwX1lNKEzut6JUhe6qOrC0yOkAV4PWElbK9g66pJgg==";
       };
     };
-    "@chemzqm/neovim-5.4.0" = {
+    "@chemzqm/neovim-5.7.4" = {
       name = "_at_chemzqm_slash_neovim";
       packageName = "@chemzqm/neovim";
-      version = "5.4.0";
+      version = "5.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.4.0.tgz";
-        sha512 = "BjOAR5sliE2kp3EGZsyUmrYwTMRrxvXe6WBQTxL0m5uRIvfxShRaWyKOGbqoe0+sHCfgT67QsMevUAjB1Ovskw==";
+        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.7.4.tgz";
+        sha512 = "ajh2G+EhzqAHkAMsXsiNUG2cpGROO3RiAJbFQ0Px1cf9zE2YqWVZ8h7dFd7aj/zit+la9uTA1OPQkn4FZrHrjw==";
       };
     };
     "@cnakazawa/watch-1.0.4" = {
@@ -1651,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";
@@ -1660,139 +2452,148 @@ let
         sha512 = "sR9Go0U6puXoXyW9UgIiIQhRcJ8jVOvGl4BptUiXAtheMs72WcakZ1udh6J0ZOivr3o8jAM+MTCHLP8FZMbVpQ==";
       };
     };
-    "@commitlint/ensure-15.0.0" = {
+    "@commitlint/config-validator-16.2.1" = {
+      name = "_at_commitlint_slash_config-validator";
+      packageName = "@commitlint/config-validator";
+      version = "16.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-16.2.1.tgz";
+        sha512 = "hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==";
+      };
+    };
+    "@commitlint/ensure-16.2.1" = {
       name = "_at_commitlint_slash_ensure";
       packageName = "@commitlint/ensure";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/ensure/-/ensure-15.0.0.tgz";
-        sha512 = "7DV4iNIald3vycwaWBNGk5FbonaNzOlU8nBe5m5AgU2dIeNKuXwLm+zzJzG27j0Ho56rgz//3F6RIvmsoxY9ZA==";
+        url = "https://registry.npmjs.org/@commitlint/ensure/-/ensure-16.2.1.tgz";
+        sha512 = "/h+lBTgf1r5fhbDNHOViLuej38i3rZqTQnBTk+xEg+ehOwQDXUuissQ5GsYXXqI5uGy+261ew++sT4EA3uBJ+A==";
       };
     };
-    "@commitlint/execute-rule-15.0.0" = {
+    "@commitlint/execute-rule-16.2.1" = {
       name = "_at_commitlint_slash_execute-rule";
       packageName = "@commitlint/execute-rule";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-15.0.0.tgz";
-        sha512 = "pyE4ApxjbWhb1TXz5vRiGwI2ssdMMgZbaaheZq1/7WC0xRnqnIhE1yUC1D2q20qPtvkZPstTYvMiRVtF+DvjUg==";
+        url = "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-16.2.1.tgz";
+        sha512 = "oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==";
       };
     };
-    "@commitlint/format-15.0.0" = {
+    "@commitlint/format-16.2.1" = {
       name = "_at_commitlint_slash_format";
       packageName = "@commitlint/format";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/format/-/format-15.0.0.tgz";
-        sha512 = "bPhAfqwRhPk92WiuY0ktEJNpRRHSCd+Eg1MdhGyL9Bl3U25E5zvuInA+dNctnzZiOBSH/37ZaD0eOKCpQE6acg==";
+        url = "https://registry.npmjs.org/@commitlint/format/-/format-16.2.1.tgz";
+        sha512 = "Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q==";
       };
     };
-    "@commitlint/is-ignored-15.0.0" = {
+    "@commitlint/is-ignored-16.2.1" = {
       name = "_at_commitlint_slash_is-ignored";
       packageName = "@commitlint/is-ignored";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-15.0.0.tgz";
-        sha512 = "edtnkf2QZ/7e/YCJDgn1WDw9wfF1WfOitW5YEoSOb4SxjJEb/oE87kxNPZ2j8mnDMuunspcMfGHeg6fRlwaEWg==";
+        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.2.1.tgz";
+        sha512 = "exl8HRzTIfb1YvDJp2b2HU5z1BT+9tmgxR2XF0YEzkMiCIuEKh+XLeocPr1VcvAKXv3Cmv5X/OfNRp+i+/HIhQ==";
       };
     };
-    "@commitlint/lint-15.0.0" = {
+    "@commitlint/lint-16.2.1" = {
       name = "_at_commitlint_slash_lint";
       packageName = "@commitlint/lint";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-15.0.0.tgz";
-        sha512 = "hUi2+Im/2dJ5FBvWnodypTkg+5haCgsDzB0fyMApWLUA1IucYUAqRCQCW5em1Mhk9Crw1pd5YzFNikhIclkqCw==";
+        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-16.2.1.tgz";
+        sha512 = "fNINQ3X2ZqsCkNB3Z0Z8ElmhewqrS3gy2wgBTx97BkcjOWiyPAGwDJ752hwrsUnWAVBRztgw826n37xPzxsOgg==";
       };
     };
-    "@commitlint/load-15.0.0" = {
+    "@commitlint/load-16.2.1" = {
       name = "_at_commitlint_slash_load";
       packageName = "@commitlint/load";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/load/-/load-15.0.0.tgz";
-        sha512 = "Ak1YPeOhvxmY3ioe0o6m1yLGvUAYb4BdfGgShU8jiTCmU3Mnmms0Xh/kfQz8AybhezCC3AmVTyBLaBZxOHR8kg==";
+        url = "https://registry.npmjs.org/@commitlint/load/-/load-16.2.1.tgz";
+        sha512 = "oSpz0jTyVI/A1AIImxJINTLDOMB8YF7lWGm+Jg5wVWM0r7ucpuhyViVvpSRTgvL0z09oIxlctyFGWUQQpI42uw==";
       };
     };
-    "@commitlint/message-15.0.0" = {
+    "@commitlint/message-16.2.1" = {
       name = "_at_commitlint_slash_message";
       packageName = "@commitlint/message";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/message/-/message-15.0.0.tgz";
-        sha512 = "L8euabzboKavPuDJsdIYAY2wx97LbiGEYsckMo6NmV8pOun50c8hQx6ouXFSAx4pp+mX9yUGmMiVqfrk2LKDJQ==";
+        url = "https://registry.npmjs.org/@commitlint/message/-/message-16.2.1.tgz";
+        sha512 = "2eWX/47rftViYg7a3axYDdrgwKv32mxbycBJT6OQY/MJM7SUfYNYYvbMFOQFaA4xIVZt7t2Alyqslbl6blVwWw==";
       };
     };
-    "@commitlint/parse-15.0.0" = {
+    "@commitlint/parse-16.2.1" = {
       name = "_at_commitlint_slash_parse";
       packageName = "@commitlint/parse";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/parse/-/parse-15.0.0.tgz";
-        sha512 = "7fweM67tZfBNS7zw1KTuuT5K2u9nGytUJqFqT/1Ln3Na9cBCsoAqR47mfsNOTlRCgGwakm4xiQ7BpS2gN0OGuw==";
+        url = "https://registry.npmjs.org/@commitlint/parse/-/parse-16.2.1.tgz";
+        sha512 = "2NP2dDQNL378VZYioLrgGVZhWdnJO4nAxQl5LXwYb08nEcN+cgxHN1dJV8OLJ5uxlGJtDeR8UZZ1mnQ1gSAD/g==";
       };
     };
-    "@commitlint/read-15.0.0" = {
+    "@commitlint/read-16.2.1" = {
       name = "_at_commitlint_slash_read";
       packageName = "@commitlint/read";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/read/-/read-15.0.0.tgz";
-        sha512 = "5yI1o2HKZFVe7RTjL7IhuhHMKar/MDNY34vEHqqz9gMI7BK/rdP8uVb4Di1efl2V0UPnwID0nPKWESjQ8Ti0gw==";
+        url = "https://registry.npmjs.org/@commitlint/read/-/read-16.2.1.tgz";
+        sha512 = "tViXGuaxLTrw2r7PiYMQOFA2fueZxnnt0lkOWqKyxT+n2XdEMGYcI9ID5ndJKXnfPGPppD0w/IItKsIXlZ+alw==";
       };
     };
-    "@commitlint/resolve-extends-15.0.0" = {
+    "@commitlint/resolve-extends-16.2.1" = {
       name = "_at_commitlint_slash_resolve-extends";
       packageName = "@commitlint/resolve-extends";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-15.0.0.tgz";
-        sha512 = "7apfRJjgJsKja7lHsPfEFixKjA/fk/UeD3owkOw1174yYu4u8xBDLSeU3IinGPdMuF9m245eX8wo7vLUy+EBSg==";
+        url = "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-16.2.1.tgz";
+        sha512 = "NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==";
       };
     };
-    "@commitlint/rules-15.0.0" = {
+    "@commitlint/rules-16.2.1" = {
       name = "_at_commitlint_slash_rules";
       packageName = "@commitlint/rules";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/rules/-/rules-15.0.0.tgz";
-        sha512 = "SqXfp6QUlwBS+0IZm4FEA/NmmAwcFQIkG3B05BtemOVWXQdZ8j1vV6hDwvA9oMPCmUSrrGpHOtZK7HaHhng2yA==";
+        url = "https://registry.npmjs.org/@commitlint/rules/-/rules-16.2.1.tgz";
+        sha512 = "ZFezJXQaBBso+BOTre/+1dGCuCzlWVaeLiVRGypI53qVgPMzQqZhkCcrxBFeqB87qeyzr4A4EoG++IvITwwpIw==";
       };
     };
-    "@commitlint/to-lines-15.0.0" = {
+    "@commitlint/to-lines-16.2.1" = {
       name = "_at_commitlint_slash_to-lines";
       packageName = "@commitlint/to-lines";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-15.0.0.tgz";
-        sha512 = "mY3MNA9ujPqVpiJjTYG9MDsYCobue5PJFO0MfcIzS1mCVvngH8ZFTPAh1fT5t+t1h876boS88+9WgqjRvbYItw==";
+        url = "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-16.2.1.tgz";
+        sha512 = "9/VjpYj5j1QeY3eiog1zQWY6axsdWAc0AonUUfyZ7B0MVcRI0R56YsHAfzF6uK/g/WwPZaoe4Lb1QCyDVnpVaQ==";
       };
     };
-    "@commitlint/top-level-15.0.0" = {
+    "@commitlint/top-level-16.2.1" = {
       name = "_at_commitlint_slash_top-level";
       packageName = "@commitlint/top-level";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/top-level/-/top-level-15.0.0.tgz";
-        sha512 = "7Gz3t7xcuuUw1d1Nou6YLaztzp2Em+qZ6YdCzrqYc+aquca3Vt0O696nuiBDU/oE+tls4Hx2CNpAbWhTgEwB5A==";
+        url = "https://registry.npmjs.org/@commitlint/top-level/-/top-level-16.2.1.tgz";
+        sha512 = "lS6GSieHW9y6ePL73ied71Z9bOKyK+Ib9hTkRsB8oZFAyQZcyRwq2w6nIa6Fngir1QW51oKzzaXfJL94qwImyw==";
       };
     };
-    "@commitlint/types-15.0.0" = {
+    "@commitlint/types-16.2.1" = {
       name = "_at_commitlint_slash_types";
       packageName = "@commitlint/types";
-      version = "15.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/types/-/types-15.0.0.tgz";
-        sha512 = "OMSLX+QJnyNoTwws54ULv9sOvuw9GdVezln76oyUd4YbMMJyaav62aSXDuCdWyL2sm9hTkSzyEi52PNaIj/vqw==";
+        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" = {
@@ -1804,49 +2605,58 @@ let
         sha512 = "do5jDoX9oCR/dGHE4POVQ3PYDCmQ2Fow4CA72UL4WoE8zUImA/0lChczjfl+ucNjE4sXFWUnzoO6j4WzrUvLnw==";
       };
     };
-    "@cspell/cspell-bundled-dicts-5.13.3" = {
+    "@cspell/cspell-bundled-dicts-5.18.5" = {
       name = "_at_cspell_slash_cspell-bundled-dicts";
       packageName = "@cspell/cspell-bundled-dicts";
-      version = "5.13.3";
+      version = "5.18.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.18.5.tgz";
+        sha512 = "jFvwF8bb8HUYqMUPQiGZUHAf8zfriZRagzoCW8w4NLLJB1IZNGlQvQCQskQG9cYtOmKAYHCbOwm8SjA9FKwQow==";
+      };
+    };
+    "@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-bundled-dicts/-/cspell-bundled-dicts-5.13.3.tgz";
-        sha512 = "IfjMBNA0M9QsZQW68rGNfWGawAAw5gkjDstuvsEuJfFoOHBT6NB8T5asGmMPJcRdfLvLSaVSG5IYnYWxL0wu/A==";
+        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.13.3" = {
+    "@cspell/cspell-types-5.18.5" = {
       name = "_at_cspell_slash_cspell-types";
       packageName = "@cspell/cspell-types";
-      version = "5.13.3";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.13.3.tgz";
-        sha512 = "T70PvJQ5GV8BW7U2Q5mnrIB5poPnF7bNk7Cp95piYUcv/jlrPdWanDvdp+2gJLM+h0GUDRXscoX3Air4BmAwng==";
+        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" = {
@@ -1858,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" = {
@@ -1885,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" = {
@@ -1930,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" = {
@@ -1948,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" = {
@@ -1966,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-1.1.9" = {
+    "@cspell/dict-html-3.0.0" = {
       name = "_at_cspell_slash_dict-html";
       packageName = "@cspell/dict-html";
-      version = "1.1.9";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-1.1.9.tgz";
-        sha512 = "vvnYia0tyIS5Fdoz+gEQm77MGZZE66kOJjuNpIYyRHCXFAhWdYz3SmkRm6YKJSWSvuO+WBJYTKDvkOxSh3Fx/w==";
+        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" = {
@@ -2083,76 +2902,103 @@ 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.5.tgz";
-        sha512 = "WkyGYtNmUsOHsWixck7AxNvveDgVPqw0H51hzIY+/5u3c94wZUweIj0vfFOGIfOBq8e1ZxpjumKBxVDGXTmQkw==";
+        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-2.0.6.tgz";
+        sha512 = "54ICgMRiGwavorg8UJC38Fwx8tW8WKj8pimJmFUd0F/ImQ8wmeg4VrmyMach5MZVUaw1qUe2aP5uSyqA15Q0mg==";
       };
     };
-    "@cspell/dict-ruby-1.0.15" = {
+    "@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-r/-/dict-r-1.0.2.tgz";
+        sha512 = "Rp3d4sgD6izW9TW5yVI3D//3HTl9oOGBuzTvXRdoHksVPRvzIu2liVhj8MnQ3XIRe5Kc6IhLBAm6izuV2BpGwQ==";
+      };
+    };
+    "@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.11" = {
+    "@cspell/dict-software-terms-2.1.1" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
-      version = "2.0.11";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.0.11.tgz";
-        sha512 = "ix5k4m9Y5ZcozgE8QdEhiMIksreGozBETsCo5tGKAs4xDDkS4G07lOMFbek6m5poJ5qk5My0A/iz1j9f3L3aOg==";
+        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.2.tgz";
+        sha512 = "/MB0RS0Gn01s4pgmjy0FvsLfr3RRMrRphEuvTRserNcM8XVtoIVAtrjig/Gg0DPwDrN8Clm0L1j7iQay6S8D0g==";
+      };
+    };
+    "@cspotcode/source-map-consumer-0.8.0" = {
+      name = "_at_cspotcode_slash_source-map-consumer";
+      packageName = "@cspotcode/source-map-consumer";
+      version = "0.8.0";
       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/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz";
+        sha512 = "41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==";
+      };
+    };
+    "@cspotcode/source-map-support-0.7.0" = {
+      name = "_at_cspotcode_slash_source-map-support";
+      packageName = "@cspotcode/source-map-support";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz";
+        sha512 = "X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==";
       };
     };
     "@cycle/dom-18.3.0" = {
@@ -2209,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" = {
@@ -2263,166 +3109,166 @@ let
         sha512 = "ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==";
       };
     };
-    "@electron-forge/async-ora-6.0.0-beta.61" = {
+    "@electron-forge/async-ora-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_async-ora";
       packageName = "@electron-forge/async-ora";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.61.tgz";
-        sha512 = "K+9fwnLbcV7TmgDxZO0PMdh1Cs1dWPFmVRfLRPBTS1NFsbiJqVwMVNZiL7fXV8ruWQDi7VXC8I42poLIVhcg0A==";
+        url = "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.63.tgz";
+        sha512 = "e1BbeUV20yWZWeRJ3LDLcloPPgHwTXV1wAJXpAdDbmTmcRyAGx9iVx2Qyh6t878c7zX36XXlqfCIOvODsgiuOQ==";
       };
     };
-    "@electron-forge/core-6.0.0-beta.61" = {
+    "@electron-forge/core-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_core";
       packageName = "@electron-forge/core";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.61.tgz";
-        sha512 = "MdthpIbTmjbzq7DdYDKWSyT+bApmP4uvIEdC9b8FafInxZWvBGWupod3OuoZs49uZE8w9dpYwDc1g4B3jDcAHw==";
+        url = "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.63.tgz";
+        sha512 = "NuiWRXUfpv6/PwP8AgPxcmRPiWvQMfllTHz163wmBWz8UBclzhu7Brpu6dwmszAJG68erW15ym+cUlpvGDEltg==";
       };
     };
-    "@electron-forge/installer-base-6.0.0-beta.61" = {
+    "@electron-forge/installer-base-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-base";
       packageName = "@electron-forge/installer-base";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.61.tgz";
-        sha512 = "8Mx/c3xtJm4uWv6y8SBd0SW0NodWFr1SHGJXURY8TmLQKvy+9YCDXhJlIF5etUHXgWeZeAidY3Ly/EksJrmm4g==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.63.tgz";
+        sha512 = "y4SKJZaxE8lnfwicWuAiUZBpBY6UB/mE/dA+w6uigKEffZzRPbrbBUIuknII6wEaFnnScmCrQaBRjxy+zsEihQ==";
       };
     };
-    "@electron-forge/installer-darwin-6.0.0-beta.61" = {
+    "@electron-forge/installer-darwin-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-darwin";
       packageName = "@electron-forge/installer-darwin";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.61.tgz";
-        sha512 = "96BO9FwhB1LUrHQVEtl+Lz7Fs6tJYW/lUlYYfXzMhCD2xmYOaZ91uDdbqSRdZ1F9iOYAb5xVSV6RuHvf3F84GQ==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.63.tgz";
+        sha512 = "LQE6UKPP7tJ+Ki3tPzYUIBRAAzEpalqkz8zYUh+2pS/nk9w2BgQeOJ84NzWUfoeLWZnsWtjp8kox8xTS8/BsSQ==";
       };
     };
-    "@electron-forge/installer-deb-6.0.0-beta.61" = {
+    "@electron-forge/installer-deb-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-deb";
       packageName = "@electron-forge/installer-deb";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.61.tgz";
-        sha512 = "jA8H9RiIK9whif5pq3phzIncW6+FLOcPoipi75oh+LOp6Dvw39jWnfqH6mwleBH2SUhPmUy/XeFhre4LBissBQ==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.63.tgz";
+        sha512 = "gvjCXdGXBxC/O8QuwNHKsLIlfOwVc9y/e5pURcuFRvPf7Ibw7e53w3pfR2pquWHNzAccrw8P5WBEuPSeDPBlLw==";
       };
     };
-    "@electron-forge/installer-dmg-6.0.0-beta.61" = {
+    "@electron-forge/installer-dmg-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-dmg";
       packageName = "@electron-forge/installer-dmg";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.61.tgz";
-        sha512 = "G6C96vaaRqZLG6JLkzcFd31OBSnOX80alIh5jmOpK3jZYMSWpvhDknhYmJfGktdGhH4MGBfhEcADdMnC8aDthw==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.63.tgz";
+        sha512 = "o+Zd2CmpoMQOk9SfuUPIoQ4GONVNHdlmI4mMIJ22OrLQnZJYAdsQUFO87jtxmJuippTpEbnqaKc9yl6mLh89TQ==";
       };
     };
-    "@electron-forge/installer-exe-6.0.0-beta.61" = {
+    "@electron-forge/installer-exe-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-exe";
       packageName = "@electron-forge/installer-exe";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.61.tgz";
-        sha512 = "feq/RCjEbQ6I0Xi06plMCbQ0lOhCP/G+La5RIkfyrzYUFMrSTA4tMbBirwI7w9Akxojdqfdfo8gldAIvvVMsjg==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.63.tgz";
+        sha512 = "HhogUMTTgOXTEMQE+A20USamuAcnClSSWzlInzVQ2cGT5AdZio6zqNJ/et7zPx7Jz71gmJ/cfhNstzc/ew1IAA==";
       };
     };
-    "@electron-forge/installer-linux-6.0.0-beta.61" = {
+    "@electron-forge/installer-linux-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-linux";
       packageName = "@electron-forge/installer-linux";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.61.tgz";
-        sha512 = "5nVQINdd+h6JWNQCLYe7Sh/15gD08lO2frOcjuWuG/w7/GhvkNot7eo9ff6vceKtIOi+OgJMgJIm2XnOF92u/w==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.63.tgz";
+        sha512 = "yC2wYQ3uXGnvWEG4AdjSmas5qaXXtXIoxO6/cXJrywMT9ujWlp2GB1i+I5xrFCusgbjdvdzJ3JhLRmIAKpW6ZA==";
       };
     };
-    "@electron-forge/installer-rpm-6.0.0-beta.61" = {
+    "@electron-forge/installer-rpm-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-rpm";
       packageName = "@electron-forge/installer-rpm";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.61.tgz";
-        sha512 = "VARwf5fi8n4Y/UC51Vr2yM85FwDt/6Ynx4Xf80n3i0liIrdXuYgiuoaQ2ukrQ0osMpXZku0pKOvIo/McSI33TA==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.63.tgz";
+        sha512 = "4p+zDInl6sMnx1jdIcRSXgRAGFSwtcBPBStAlVuxPMefM8ElBPhskUyHrk33TqMZUdzbr+vYA+pQGj/6jlET4A==";
       };
     };
-    "@electron-forge/installer-zip-6.0.0-beta.61" = {
+    "@electron-forge/installer-zip-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_installer-zip";
       packageName = "@electron-forge/installer-zip";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.61.tgz";
-        sha512 = "T4YNzbPsmlHKiLpy+P5sEtrKd6bYbOdCEjXAZllNKsmU8jMjL3b3Z4rvpxWoyE4o2EMCZkf1rteFe0JEqkMzeQ==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.63.tgz";
+        sha512 = "ZORm3jVvswvKSv+iuufTVXwIM/OOtBSQPeAay8hVubf6MudWBdntWv1Xg/BAUAcdRbAH/EIbMv83LZvmt7cufw==";
       };
     };
-    "@electron-forge/maker-base-6.0.0-beta.61" = {
+    "@electron-forge/maker-base-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_maker-base";
       packageName = "@electron-forge/maker-base";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.61.tgz";
-        sha512 = "Q4FC11hNr/556lVNAT9TPY6whjSXCQqJb6IS0hNCdvlIX13mrb755fhsOSIdao9DKS2huYDZBN7ZkwcOcziJHQ==";
+        url = "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.63.tgz";
+        sha512 = "0Fh6OOjS/1sXIGReKgU5NCMf8ZUyaCUSjd190oUNaX8OSxGDbHrbWO3CgIbsAOsxRnxzhYY1UtPo6VkexjCQBA==";
       };
     };
-    "@electron-forge/plugin-base-6.0.0-beta.61" = {
+    "@electron-forge/plugin-base-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_plugin-base";
       packageName = "@electron-forge/plugin-base";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.61.tgz";
-        sha512 = "XVnV4teAx3e08Fg0bdPWUbGZTYQBOtXiD8i80NaKfo+tk3EkxEAVxYdQfHPZ0QV+0nZ1S/RZi/Lf6nKCnIbAGg==";
+        url = "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.63.tgz";
+        sha512 = "K9nyGRI9NY2kax7aS/1eWxGrOSwNO3JnmbfvFQf5I0Yl/HKClrfGJq4o3q4N9lf55arPRJBROP8+rHJ115VCrA==";
       };
     };
-    "@electron-forge/publisher-base-6.0.0-beta.61" = {
+    "@electron-forge/publisher-base-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_publisher-base";
       packageName = "@electron-forge/publisher-base";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.61.tgz";
-        sha512 = "qgZeWYKPfwLZEAa2KIE/PFTllxu9xWHigxyauy5RriM6wr1Df6FB7Zreq78j3aQOpi+mPZNx7+SUPPyImWMaqQ==";
+        url = "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.63.tgz";
+        sha512 = "ag+/e6eqM6k1jxUhXg8618IbUa1IsF8OcbZtjcLSZSp/ZEGLAlZ3IpfIrk5C9cRUdibhDJyT6oFLfbG7KUhpRg==";
       };
     };
-    "@electron-forge/shared-types-6.0.0-beta.61" = {
+    "@electron-forge/shared-types-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_shared-types";
       packageName = "@electron-forge/shared-types";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.61.tgz";
-        sha512 = "VsFGVY5hXqEmhb36fg1CK57bPnYDZ/kYB9iZBNoXJVOHua9lW6HJaTXKXEsFfmCJi5U9hHLhfPtcIlNHPbG3/A==";
+        url = "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.63.tgz";
+        sha512 = "ayw8IBtHKZ1oIN3y3t3Jm80TTvstvKrPASCXMEJ/fh4gHah8pUmDFZEvyAsGgy/XFHqsjlpTmD2hdOtQqCRpMQ==";
       };
     };
-    "@electron-forge/template-base-6.0.0-beta.61" = {
+    "@electron-forge/template-base-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_template-base";
       packageName = "@electron-forge/template-base";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.61.tgz";
-        sha512 = "tt5tDD3Hb1oO2JJVMCn6pEWzVgFDq/Gok0Vjfk7v40l7dq6QUmDN1jAlxqXucPWlxkLC7U7oxiz+cNZRGbzqfQ==";
+        url = "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.63.tgz";
+        sha512 = "u1rPlrc8bqajkiKe2tmGROL9/o0xx8OzMBHsT7i2+oAFPicSZoyrELCxx9htCeLgUf0iR0K0EzLsFjdyRjTBkg==";
       };
     };
-    "@electron-forge/template-typescript-6.0.0-beta.61" = {
+    "@electron-forge/template-typescript-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_template-typescript";
       packageName = "@electron-forge/template-typescript";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.61.tgz";
-        sha512 = "oV+8TSHSjIGU7laO/6YSVGkod/zzxHjS3GFc3NqJ10K6417uQ2Xcxrs4rDJvKtQfuJ58n3tql0o5Rg5Hp7BYnA==";
+        url = "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.63.tgz";
+        sha512 = "npFOyak+F+p086GoSifCWwhBxRSJqzzvEwztnONpbjp7BasvtWUyOVpXyyzvt7GaawjRg5Gx/NUgVi5Oi9BIfg==";
       };
     };
-    "@electron-forge/template-typescript-webpack-6.0.0-beta.61" = {
+    "@electron-forge/template-typescript-webpack-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_template-typescript-webpack";
       packageName = "@electron-forge/template-typescript-webpack";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.61.tgz";
-        sha512 = "HWsVSfrJbkUx4tqOYu7iygDCaioLMtDezlxDGPsX78Gdm2Npk1BqaZHpAZDQrUqM9qqfi4YMxkV+md7eVfFYhQ==";
+        url = "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.63.tgz";
+        sha512 = "8S3GW2MRmYF6BsgozCm0CPqAuqaK48MZvJJ3v3XbO1tWPtz4vvw21XxQeOqRMpECdNbqnRBtil4QxVditEx3Kw==";
       };
     };
-    "@electron-forge/template-webpack-6.0.0-beta.61" = {
+    "@electron-forge/template-webpack-6.0.0-beta.63" = {
       name = "_at_electron-forge_slash_template-webpack";
       packageName = "@electron-forge/template-webpack";
-      version = "6.0.0-beta.61";
+      version = "6.0.0-beta.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.61.tgz";
-        sha512 = "epOCIlbDb2oklpTrVEBWVfZETfJkkCwAtvO8JI2v/DXdGG4K+b1118ZhRKzg4tArTuyD7EqO2oRkUny37tRdqQ==";
+        url = "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.63.tgz";
+        sha512 = "CE5zjnyfmHlapwQSJ54kUeTNsvhx/7HAjvfMXpE689LxlFnr0VhiTxuc5kwEetPcxsXhei7IBy/PdJ41v4dswA==";
       };
     };
     "@electron/get-1.13.1" = {
@@ -2434,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" = {
@@ -2524,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" = {
@@ -2560,49 +3406,49 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-6.0.13" = {
+    "@expo/config-6.0.18" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "6.0.13";
+      version = "6.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.13.tgz";
-        sha512 = "smVwkWQQrLaWO3/sIhT/7qX3qN29fvNB6kw5bGNzUQTJQ/gbjnwcZ522ME1QrcBQM6/uVWZ6Nu6+JTANk7h/Yg==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.18.tgz";
+        sha512 = "60z0YICI9eJWlvajl/Wgq8+lKm0jfkZOMdATDQtWz6GvWshUxd+A8EYhtgjJ9eWMGqOYkwrCpRNLHz5TZtCKWA==";
       };
     };
-    "@expo/config-plugins-4.0.13" = {
+    "@expo/config-plugins-4.0.18" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "4.0.13";
+      version = "4.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.0.13.tgz";
-        sha512 = "yFcqqllAKz472UUdMRtcmfz8cHBT5VJ044cDY2E5JvaO/DQ9lfe4j/0soVUv7aeiHIWOheywJeefNfqpCo0glQ==";
+        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.100" = {
+    "@expo/dev-server-0.1.105" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.100";
+      version = "0.1.105";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.100.tgz";
-        sha512 = "ypu1Qka1AjR+jPDVoNrNW5o+w412vhTezlM80mvzcmswGOVYshp32+qTGJKtuwdGIir0bgbjHbZ/Sp8T/9Ps7Q==";
+        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.136" = {
+    "@expo/dev-tools-0.13.145" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.136";
+      version = "0.13.145";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.136.tgz";
-        sha512 = "3L486Jf9D0ErVF+ypUjx74BdyXo4r5iyOtLjvskVkCLxMtuFtjqqyVste3/zBKqHgF/A2ZWo8XfU8v+5SNa00g==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.145.tgz";
+        sha512 = "GtqnA9rmmSqCrv893MWbzbAoDZnYaSXe4kKQ57tCWYeSTOKav74ofvZlUZalosPuPjE9yuMA47rH9XJY0YgC1g==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -2632,13 +3478,13 @@ let
         sha512 = "ZxtBodAZGxdLtgKzmsC+8ViUxt1mhFW642Clu2OuG3f6PAyAFsU/SqEGag9wKFaD3x3Wt8VhL+3y5fMJmUFgPw==";
       };
     };
-    "@expo/metro-config-0.3.6" = {
+    "@expo/metro-config-0.3.11" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.3.6";
+      version = "0.3.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.3.6.tgz";
-        sha512 = "GK7esyK2Cn/v5xoksD6x+45eE/PE7YUO9vuaLIwd8QHX7FyWWe3KAC6Mi/sCqNN+GP6E+TL8tgPFaVAr7R/WTw==";
+        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" = {
@@ -2650,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.13" = {
+    "@expo/prebuild-config-3.0.18" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "3.0.13";
+      version = "3.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-3.0.13.tgz";
-        sha512 = "g85sgDFITEWKIKNUcab9AGPdnPSp8Msb49bhp03ckvM4gjgN7Ir/u4qN6DPm28JMRwf00aSfoMSZf8JTpSirCw==";
+        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" = {
@@ -2686,13 +3532,13 @@ let
         sha512 = "uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==";
       };
     };
-    "@expo/schemer-1.3.32" = {
+    "@expo/schemer-1.3.33" = {
       name = "_at_expo_slash_schemer";
       packageName = "@expo/schemer";
-      version = "1.3.32";
+      version = "1.3.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.3.32.tgz";
-        sha512 = "cmyIL8glJPLNf1MFMJ5LLSdCC3f3jjItinClZ5Ne0qB5gqjRj2f8JwNZBpYKJ06xKULWtaJrWzw0jIgFmVzchQ==";
+        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.3.33.tgz";
+        sha512 = "qjbArE6hl+ZKms4Znlv7mXMbCkm8T5BMn3eBzKnHJRCogNti/LOR0t8Nf9aY3QqaUqX1k6/JspLmLWhM/bGYYw==";
       };
     };
     "@expo/sdk-runtime-versions-1.0.0" = {
@@ -2713,13 +3559,13 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.16.13" = {
+    "@expo/webpack-config-0.16.18" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.16.13";
+      version = "0.16.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.13.tgz";
-        sha512 = "VLJzDKaeX27hfMk+ydTO3m+xyBuVEACMYM/wJv4Wo6KgxvJqmYO9d4YzVgU5nW3tnn+eN4+Q02JweyCD+DxjbQ==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.18.tgz";
+        sha512 = "zANXNW68EzQ5Q8FyEmfZz1z7050yOaqJOpByWOLJ3NE1TRzflyzjt55OXsggPxBz2wpmikq/NjlZuF92e18UGw==";
       };
     };
     "@expo/xcpretty-4.1.0" = {
@@ -2776,22 +3622,22 @@ let
         sha512 = "iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==";
       };
     };
-    "@fluentui/react-7.180.2" = {
+    "@fluentui/react-7.183.1" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "7.180.2";
+      version = "7.183.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.180.2.tgz";
-        sha512 = "dx6euh+JxENUfmfnbA/w3liUD0IMvqZ0MfjkX76ALBI+UDaig2bJqxgaIwZjeX2Z3WOer/ZjpHx2Q+w5PoOJ8g==";
+        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" = {
@@ -2812,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" = {
@@ -2884,13 +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.19.0.tgz";
+        sha512 = "aNgaS7zI6MkE4hrhmxrGiyFZHPvb0BW1djk0D5RoKDwPb8GTuYBfu8w/3twTvaf+HiM7NchvPtdFRbiETIaadw==";
+      };
+    };
+    "@grammyjs/types-2.6.0" = {
+      name = "_at_grammyjs_slash_types";
+      packageName = "@grammyjs/types";
+      version = "2.6.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/@grammyjs/types/-/types-2.6.0.tgz";
+        sha512 = "eWckBf25l6xwSS2YO6Ioyf2BDEO7tyNZhgRLl5PzsdvqlHQR+XYTdKwhevsqLG4Y+zmF6hEXnuNTYu+HF8W8Sg==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -2938,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" = {
@@ -2965,13 +3820,13 @@ let
         sha512 = "6kUJZiNpYKVhum9E5wfl5PyLLupEDYdH7c8l6oMrk6c7EPEVs6iSUyB7yQoWrtJccJLULBW2CRQ5IHp5JYK0mA==";
       };
     };
-    "@graphql-tools/import-6.6.3" = {
+    "@graphql-tools/import-6.6.5" = {
       name = "_at_graphql-tools_slash_import";
       packageName = "@graphql-tools/import";
-      version = "6.6.3";
+      version = "6.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.3.tgz";
-        sha512 = "k/QkWCZ5rPVgFw1eE4GXPXltw9/mEiJj6F6bJvFKJr1C6im8Y60pl0Pv+SByGZQGuukXE0uR16Mv4OFGSMQIaQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.5.tgz";
+        sha512 = "w0/cYuhrr2apn+iGoTToCqt65x2NN2iHQyqRNk/Zw1NJ+e8/C3eKVw0jmW4pYQvSocuPxL4UCSI56SdKO7m3+Q==";
       };
     };
     "@graphql-tools/json-file-loader-6.2.6" = {
@@ -3001,13 +3856,13 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/load-7.5.0" = {
+    "@graphql-tools/load-7.5.1" = {
       name = "_at_graphql-tools_slash_load";
       packageName = "@graphql-tools/load";
-      version = "7.5.0";
+      version = "7.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.0.tgz";
-        sha512 = "f0k12xZzxfV4BxWyvt/f8opqICXvz4WzDrVVG4udHFgUJIjhGeE67SRTWFAK/jlIp4QgaDux7L1DXQkJnmx64w==";
+        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.1.tgz";
+        sha512 = "j9XcLYZPZdl/TzzqA83qveJmwcCxgGizt5L1+C1/Z68brTEmQHLdQCOR3Ma3ewESJt6DU05kSTu2raKaunkjRg==";
       };
     };
     "@graphql-tools/merge-6.2.17" = {
@@ -3019,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" = {
@@ -3055,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" = {
@@ -3091,13 +3946,13 @@ let
         sha512 = "gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==";
       };
     };
-    "@graphql-tools/utils-8.5.5" = {
+    "@graphql-tools/utils-8.6.1" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "8.5.5";
+      version = "8.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.5.5.tgz";
-        sha512 = "y7zRXWIUI73X+9/rf/0KzrNFMlpRKFfzLiwdbIeWwgLs+NV9vfUOoVkX8luXX6LwQxhSypHATMiwZGM2ro/wJA==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.1.tgz";
+        sha512 = "uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==";
       };
     };
     "@graphql-tools/wrap-7.0.8" = {
@@ -3109,13 +3964,13 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
-    "@graphql-tools/wrap-8.3.2" = {
+    "@graphql-tools/wrap-8.4.0" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
-      version = "8.3.2";
+      version = "8.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.3.2.tgz";
-        sha512 = "7DcOBFB+Dd84x9dxSm7qS4iJONMyfLnCJb8A19vGPffpu4SMJ3sFcgwibKFu5l6mMUiigKgXna2RRgWI+02bKQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.0.tgz";
+        sha512 = "fPB3+UnxLIPWDfMvAfBQnGmm8rrejeQjmCy7h9avWHBbkEELcvtrSWnKAvoKowe+WR9PVDM15XQ/PQvcddV0kQ==";
       };
     };
     "@grpc/grpc-js-1.4.4" = {
@@ -3127,13 +3982,40 @@ let
         sha512 = "a6222b7Dl6fIlMgzVl7e+NiRoLiZFbpcwvBH2Oli56Bn7W4/3Ld+86hK4ffPn5rx2DlDidmIcvIJiOQXyhv9gA==";
       };
     };
-    "@grpc/grpc-js-1.4.5" = {
+    "@grpc/grpc-js-1.5.1" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.4.5";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.4.5.tgz";
-        sha512 = "A6cOzSu7dqXZ7rzvh/9JZf+Jg/MOpLEMP0IdT8pT8hrWJZ6TB4ydN/MRuqOtAugInJe/VQ9F8BPricUpYZSaZA==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.1.tgz";
+        sha512 = "ItOqQ4ff7JrR9W6KDQm+LdsVjuZtV7Qq64Oy3Hjx8ZPBDDwBx7rD8hOL0Vnde0RbnsqLG86WOgF+tQDzf/nSzQ==";
+      };
+    };
+    "@grpc/grpc-js-1.5.3" = {
+      name = "_at_grpc_slash_grpc-js";
+      packageName = "@grpc/grpc-js";
+      version = "1.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz";
+        sha512 = "q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==";
+      };
+    };
+    "@grpc/grpc-js-1.5.4" = {
+      name = "_at_grpc_slash_grpc-js";
+      packageName = "@grpc/grpc-js";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.4.tgz";
+        sha512 = "+nJTOsqpFAXnfFrMZ7Too4XXZ/J9O+8jYvSoaunupoC7I7b9H4iex1BRsbTdOmiowfPGJrWit7jUPmbENSUSpw==";
+      };
+    };
+    "@grpc/grpc-js-1.5.5" = {
+      name = "_at_grpc_slash_grpc-js";
+      packageName = "@grpc/grpc-js";
+      version = "1.5.5";
+      src = fetchurl {
+        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" = {
@@ -3145,13 +4027,13 @@ let
         sha512 = "cdMaPZ8AiFz6ua6PUbP+LKbhwJbFXnrQ/mlnKGUyzDUZ3wp7vPLksnmLCBX6SHgSmjX7CbNVNLFYD5GmmjO4GQ==";
       };
     };
-    "@grpc/proto-loader-0.6.7" = {
+    "@grpc/proto-loader-0.6.9" = {
       name = "_at_grpc_slash_proto-loader";
       packageName = "@grpc/proto-loader";
-      version = "0.6.7";
+      version = "0.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.7.tgz";
-        sha512 = "QzTPIyJxU0u+r2qGe8VMl3j/W2ryhEvBv7hc42OjYfthSj370fUrb7na65rG6w3YLZS/fb8p89iTBobfWGDgdw==";
+        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.9.tgz";
+        sha512 = "UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==";
       };
     };
     "@gulp-sourcemaps/identity-map-1.0.2" = {
@@ -3181,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";
@@ -3217,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";
@@ -3253,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" = {
@@ -3271,22 +4108,13 @@ let
         sha512 = "FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==";
       };
     };
-    "@humanwhocodes/config-array-0.6.0" = {
-      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" = {
+    "@humanwhocodes/config-array-0.9.3" = {
       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" = {
@@ -3523,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";
@@ -3550,58 +4396,76 @@ let
         sha512 = "fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==";
       };
     };
-    "@joplin/fork-htmlparser2-4.1.38" = {
+    "@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";
-      version = "4.1.38";
+      version = "4.1.39";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.38.tgz";
-        sha512 = "DAv/fkv+tR0HFu6g8hNn2b/g2ZOBxGU8wuj2WScc598VOQXVKFfOAqZ+phZ1apTxpk1X0Z/HwmyTyzuS76QgYA==";
+        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.39.tgz";
+        sha512 = "CFHPa5Xcnn4oU3Y1/J4VYfqP7xwm0O0/0McKEwbZxpjUipIO7+yQ4VQ8sBHkj+DScN136YHLZcM3JLlUo/cqNg==";
       };
     };
-    "@joplin/fork-sax-1.2.42" = {
+    "@joplin/fork-sax-1.2.43" = {
       name = "_at_joplin_slash_fork-sax";
       packageName = "@joplin/fork-sax";
-      version = "1.2.42";
+      version = "1.2.43";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.43.tgz";
+        sha512 = "BHtTnVVFoDRKyFgdBh/nXjiprU5FUhs+CrCYaY0U39WNJJ8rtY0ENEXaOogUPPXcaPP7Qy1/r/RSoNklJvodOA==";
+      };
+    };
+    "@joplin/htmlpack-2.6.1" = {
+      name = "_at_joplin_slash_htmlpack";
+      packageName = "@joplin/htmlpack";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.42.tgz";
-        sha512 = "mHeN2V/kbxKLpTn5xCsiVTYaGPTk3amw0uAPedxB9oqb1BhTennzvlhWvM7HdnQER+infrqb+giRlYakiNjcBw==";
+        url = "https://registry.npmjs.org/@joplin/htmlpack/-/htmlpack-2.6.1.tgz";
+        sha512 = "MII/ViUh+ZtvJHb2H4duaMRaGfeWRqLADt2490ONKb4Wji2H6A9lNzEtTvYg84+kG+xpBk7kJNrxKX4n1rR6ag==";
       };
     };
-    "@joplin/lib-2.6.2" = {
+    "@joplin/lib-2.6.3" = {
       name = "_at_joplin_slash_lib";
       packageName = "@joplin/lib";
-      version = "2.6.2";
+      version = "2.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.6.2.tgz";
-        sha512 = "mb/JK30T5BCUtDq+xwoURCJw8EXvhyqvqwE+G4EVBwxnxyQ/scMBfVMVOhR4RM2Wokrf0rPqeYGQFYFAiYEZvQ==";
+        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.6.3.tgz";
+        sha512 = "81azmfGSCEdwGbTbEXmEHD6wj+JF6WUDaBGD+7uc/82Xk4eh4CpdWqA5ThiQ5uT2hTrkyIaMnBw92n+vHWLK8A==";
       };
     };
-    "@joplin/renderer-2.6.2" = {
+    "@joplin/renderer-2.6.3" = {
       name = "_at_joplin_slash_renderer";
       packageName = "@joplin/renderer";
-      version = "2.6.2";
+      version = "2.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.6.2.tgz";
-        sha512 = "3Dv6s8hb4hj9UZwa6BJotZijz/EQtEQftqcP5S8xHkL+YNRH+bkCOSof8s1p98nH3l/6Z9GTv99APoA1fp5sDA==";
+        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.6.3.tgz";
+        sha512 = "OpYA72QFJjaFB7gcVtelMRYazSkmnxB+0uMmbK9qld83EDsUb0h/94+rQPxqrISu3pt07tNTtHPAoAMVqbL7EA==";
       };
     };
-    "@joplin/turndown-4.0.60" = {
+    "@joplin/turndown-4.0.61" = {
       name = "_at_joplin_slash_turndown";
       packageName = "@joplin/turndown";
-      version = "4.0.60";
+      version = "4.0.61";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.60.tgz";
-        sha512 = "o7HCjVnai5kFIrRPfjIgixZrgNCGL9qYBK4p0v3S5b6gMz2Xt6NPkvlz09bTv7Ix3uJFJsRr4A6G6gVKZKt0ow==";
+        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.61.tgz";
+        sha512 = "sxAwwlKISZYyPwyaw1feLcuTGBFmulLtMEY8fvLk8Q6tgJbRqyIaV55dDHX3zYnn55hrC1RLFSJui0y6C2fhzQ==";
       };
     };
-    "@joplin/turndown-plugin-gfm-1.0.42" = {
+    "@joplin/turndown-plugin-gfm-1.0.43" = {
       name = "_at_joplin_slash_turndown-plugin-gfm";
       packageName = "@joplin/turndown-plugin-gfm";
-      version = "1.0.42";
+      version = "1.0.43";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.42.tgz";
-        sha512 = "8vYIdyKuQAkG8ANyHwOwxabQAj1IqTjs8MK9z8qXFpUyy/3b7sKd/oOALL+cnOnc63YcLWLz1JB9jGYAmkUKhg==";
+        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.43.tgz";
+        sha512 = "d0Qji9JT8vyCjPMfWCPgOCOA9naJlY9Yihumi2n3+FEnVJuu55gTpJzUNzA0TY5f1EDTbHtQYiFM56vkisjwgw==";
       };
     };
     "@josephg/resolvable-1.0.1" = {
@@ -3613,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";
@@ -3622,22 +4513,22 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/check-node-1.49.0" = {
+    "@jsii/check-node-1.54.0" = {
       name = "_at_jsii_slash_check-node";
       packageName = "@jsii/check-node";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.49.0.tgz";
-        sha512 = "NRlfVfsczS503K0Y476YkfqLr1yjtgGpj5xcPahS4qaPHJoxMdeiiPuvtybKif37+CKUj/BGsZc8yRXp5bzI1w==";
+        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.54.0.tgz";
+        sha512 = "pogNR1vgiXgBK2DQF+RsCnJQ9QPe+y7lyoRlsTtUplIFB6ryWnSsmCyzkInSVoKAKCo5CHkuDy190MbYL4Ns4Q==";
       };
     };
-    "@jsii/spec-1.49.0" = {
+    "@jsii/spec-1.54.0" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.49.0.tgz";
-        sha512 = "uf3wr4c/bCl52VDLQGOGQQynAvyEvwCJ2jcN83nmHhovUkxmhVlqaKt8pumOyjfB5N5SoLW5tiY7ClMQ/q8UoQ==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.54.0.tgz";
+        sha512 = "IOspxWPC26+Re6DNJvaxCEkG1BYByiGSPlRxQpIpts+Hx2EZgAvuG+8rQoryNt7JqaAKpcJ6W3OdRmSw3x5Yrg==";
       };
     };
     "@kwsites/file-exists-1.1.1" = {
@@ -3658,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";
@@ -4378,148 +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";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.0.11.tgz";
-        sha512 = "rmQPBLe3/DuJy0Bcr1KNuSiIcgV67R2AeLxagKMQTI0R8F9lLC894wJRYhA5ytV0CIi7dzxILqdFeuVbqrkoCA==";
-      };
-    };
-    "@mdx-js/util-2.0.0-next.8" = {
-      name = "_at_mdx-js_slash_util";
-      packageName = "@mdx-js/util";
-      version = "2.0.0-next.8";
+      version = "4.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@mdx-js/util/-/util-2.0.0-next.8.tgz";
-        sha512 = "T0BcXmNzEunFkuxrO8BFw44htvTPuAoKbLvTG41otyZBDV1Rs+JMddcUuaP5vXpTWtgD3grhcrPEwyx88RUumQ==";
+        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" = {
@@ -4540,13 +5539,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.240" = {
+    "@microsoft/load-themed-styles-1.10.247" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.240";
+      version = "1.10.247";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.240.tgz";
-        sha512 = "Db8ycvx1Kf+GWFbGMOVHB7YLOx5TANxDf7t4Qnre+iuf1O0X+YhB4vsGrNFcOL8OJXIa9P+ZaEC1GFL1bp8+4g==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.247.tgz";
+        sha512 = "vKbuG3Mcbc4kkNAcIE13aIv5KoI2g+tHFFIZnFhtUilpYHc0VsMd4Fw7Jz81A8AB7L3wWu3OZB2CNiRnr1a3ew==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -4567,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" = {
@@ -4585,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" = {
@@ -4603,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" = {
@@ -4621,58 +5620,58 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@node-red/editor-api-2.1.4" = {
+    "@node-red/editor-api-2.2.2" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
-      version = "2.1.4";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-2.1.4.tgz";
-        sha512 = "FQn/lAIEa/1oJqkq8cPWMQ/RMiLkZDOFoYw6gM3WjAKwpX7AN/FuZi8R6qUfcn0cylwQzYzx43ggUq2/3f81xQ==";
+        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.4" = {
+    "@node-red/editor-client-2.2.2" = {
       name = "_at_node-red_slash_editor-client";
       packageName = "@node-red/editor-client";
-      version = "2.1.4";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-2.1.4.tgz";
-        sha512 = "Q9HUZDnEw6VbQBs14yW01uV4KbIgqxqriFkwfEzfbi5dNag2sqQSrf6XSfg7OuqIf3iC10Wbm5/0Y67rMtV9gA==";
+        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-2.2.2.tgz";
+        sha512 = "DivbfvVfoh4sRKHmOGucE9kV8MWwGczbxsJfaEVedCtVt9ZDX40N61+FzPVlf2FGDi8q21cIRV7klV1GWhDFxw==";
       };
     };
-    "@node-red/nodes-2.1.4" = {
+    "@node-red/nodes-2.2.2" = {
       name = "_at_node-red_slash_nodes";
       packageName = "@node-red/nodes";
-      version = "2.1.4";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-2.1.4.tgz";
-        sha512 = "di57I/0BUMfpRL9vLBomOp1QIyStDwvb+TXUd54b8FEopfAn5h3E7avL6te7yZSUuKVipqUd54CHJepRubRxBQ==";
+        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-2.2.2.tgz";
+        sha512 = "RJ8yR90e/tF0KIiS7ZDe8+q0Zk9uJQZDNUcheEeJKWXfIf3WcMo+5KhQ5HJfy8UedmPXzNLRX75FuTXwcd+NKA==";
       };
     };
-    "@node-red/registry-2.1.4" = {
+    "@node-red/registry-2.2.2" = {
       name = "_at_node-red_slash_registry";
       packageName = "@node-red/registry";
-      version = "2.1.4";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/registry/-/registry-2.1.4.tgz";
-        sha512 = "OinEVN4js8ewEf4q89FJxoCdGELXIjuZo+3AtlXDqZD8uJOnKnB48avXhrWuMFjYCJhQN8PUqulHj6Ru596lPA==";
+        url = "https://registry.npmjs.org/@node-red/registry/-/registry-2.2.2.tgz";
+        sha512 = "zszKLaR2XpBE4wG4o8cwe+dtOvqlG/Cl0iRXg1wpJ9zC96WIPRq+UqAkVkZm6uRuNhW5ZjKk8f77Wh1+v6QBAw==";
       };
     };
-    "@node-red/runtime-2.1.4" = {
+    "@node-red/runtime-2.2.2" = {
       name = "_at_node-red_slash_runtime";
       packageName = "@node-red/runtime";
-      version = "2.1.4";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-2.1.4.tgz";
-        sha512 = "fU6lvgmpcnxQPc0CEyvgvDtGmNsgS5k6zJ9No+9jPCAkUAO069pFrecCddo9j/sN+8FRw4ikwqvKI0uAgTFx1Q==";
+        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-2.2.2.tgz";
+        sha512 = "PW+HGDmY7Q5nXx+zPVpbFaFpn59EyPLb2QYYL1T5MarCQpUfIaL44NMhSG//n0+vkGZBLi9T6ltapWgEYW4x9g==";
       };
     };
-    "@node-red/util-2.1.4" = {
+    "@node-red/util-2.2.2" = {
       name = "_at_node-red_slash_util";
       packageName = "@node-red/util";
-      version = "2.1.4";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/util/-/util-2.1.4.tgz";
-        sha512 = "OdlMz2Q2ivfw1NoW2qi4ymB+WMRe3ICGkPkPhc1dlp1NSsuXXXNdi9jXglYo/cTF8v/QLihnXZf2ppCm4iiqRQ==";
+        url = "https://registry.npmjs.org/@node-red/util/-/util-2.2.2.tgz";
+        sha512 = "tUGLGj3fTgOjWwhp9uK6M+LUb3rxIrU61DbA0fVpANCEeqk5UNJpje4vOag9dWmJS7hn/ONcDK7dslHLyOQUIQ==";
       };
     };
     "@nodelib/fs.scandir-2.1.5" = {
@@ -4711,13 +5710,13 @@ let
         sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     };
-    "@npmcli/arborist-4.1.1" = {
+    "@npmcli/arborist-4.3.1" = {
       name = "_at_npmcli_slash_arborist";
       packageName = "@npmcli/arborist";
-      version = "4.1.1";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.1.1.tgz";
-        sha512 = "sASzHngGWt8l6ic1VP0Qf3+ral/RL8L+MculTp2w8NYjjkDiurByOT39KiYmLwpeJ2GQoDR/rdhEwnII8wZQ9g==";
+        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz";
+        sha512 = "yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==";
       };
     };
     "@npmcli/ci-detect-1.4.0" = {
@@ -4729,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" = {
@@ -4747,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";
@@ -4756,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" = {
@@ -4846,13 +5854,13 @@ let
         sha512 = "5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==";
       };
     };
-    "@oclif/command-1.8.15" = {
+    "@oclif/command-1.8.16" = {
       name = "_at_oclif_slash_command";
       packageName = "@oclif/command";
-      version = "1.8.15";
+      version = "1.8.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.15.tgz";
-        sha512 = "lMRsr38sm4XBDBt2u88nvGyk3YxMjQenfX1HM140ZckTVqwuvFVZLP4HZ0rSAK9FdJzfryO/tH5hovdiC6bgsw==";
+        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.16.tgz";
+        sha512 = "rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w==";
       };
     };
     "@oclif/config-1.17.0" = {
@@ -4873,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";
@@ -5062,13 +6079,13 @@ let
         sha512 = "Eu7kfJxU8vmHqWGNszWpg+GVp2tnAfax3XQV5CkYPEE69C+KvInJXW9WajgSeW+cxYe0UVdouzCtcreGNuJo7A==";
       };
     };
-    "@octokit/request-5.6.2" = {
+    "@octokit/request-5.6.3" = {
       name = "_at_octokit_slash_request";
       packageName = "@octokit/request";
-      version = "5.6.2";
+      version = "5.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz";
-        sha512 = "je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==";
+        url = "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz";
+        sha512 = "bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==";
       };
     };
     "@octokit/request-error-2.1.0" = {
@@ -5125,346 +6142,346 @@ let
         sha512 = "PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==";
       };
     };
-    "@opentelemetry/api-1.0.3" = {
+    "@opentelemetry/api-1.1.0" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
-      version = "1.0.3";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.3.tgz";
-        sha512 = "puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ==";
+        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.2" = {
+    "@ot-builder/bin-composite-types-1.3.3" = {
       name = "_at_ot-builder_slash_bin-composite-types";
       packageName = "@ot-builder/bin-composite-types";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.3.2.tgz";
-        sha512 = "mtNln6Ve4bg3DxfOFFqAaNc/2DZmUSu8hZf9tM0pYoE5mOfeNfMQZEnD8Mo3WJ74bSi1SaJdXGoI00/7jPowCg==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.3.3.tgz";
+        sha512 = "E0l5ixtUowsGzGDP++wMQz64rm8IVCvcIz5NKHtOhs1RIzWT58O5EybSxGBvVBstP2jprMsiGCxjZJ9rhHmrqg==";
       };
     };
-    "@ot-builder/bin-util-1.3.2" = {
+    "@ot-builder/bin-util-1.3.3" = {
       name = "_at_ot-builder_slash_bin-util";
       packageName = "@ot-builder/bin-util";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.3.2.tgz";
-        sha512 = "v+36AFrFJVQlqPF+vcZzYExCeeryPpjP2hGCGLAf+ADKLtw1sMS39+UHxmNwx5wmlfnhHtg6WTIVOV5l9grpkA==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.3.3.tgz";
+        sha512 = "76pe9Wz431PyOek445P+j/CwcRJaIZqItLL+oe/HAsWNLeAudh/GF1NdK6jKrjJsGa1sGbJUWuGfklpvY9IoBA==";
       };
     };
-    "@ot-builder/cli-help-shower-1.3.2" = {
+    "@ot-builder/cli-help-shower-1.3.3" = {
       name = "_at_ot-builder_slash_cli-help-shower";
       packageName = "@ot-builder/cli-help-shower";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.3.2.tgz";
-        sha512 = "zkaFrbS6+8GGIsx0YiXUl4vrhd4dV8ADmscc372F0fg8Wnu3k6LJClEFBYSzJAAJxxfDuuPBBDmxrHJafLg0sg==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.3.3.tgz";
+        sha512 = "Judhkaz9m8dsjz/xESy3WJY7xmcnjD40A51Mg8H+EcA+Zyl2PsRguGjeYK5GP0YZpCDq73cPvt9IqXbU74HDKA==";
       };
     };
-    "@ot-builder/cli-proc-1.3.2" = {
+    "@ot-builder/cli-proc-1.3.3" = {
       name = "_at_ot-builder_slash_cli-proc";
       packageName = "@ot-builder/cli-proc";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.3.2.tgz";
-        sha512 = "qNvhZINthCthkuzfeTmp9bHP7jesbvovcfy7f0lu6Rd7ODdU/ia/qNs58cGWcW6skN7f21Ba6TnAFzyGsll1Fg==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.3.3.tgz";
+        sha512 = "Afd6KU7iarOt8OJYJGWMU9tR2Hm4TCcvRHTq2kJns7rn7leJnJFvteRPLZwBFGIc0qlkeJ/w7uF0YBnnlSLWqw==";
       };
     };
-    "@ot-builder/cli-shared-1.3.2" = {
+    "@ot-builder/cli-shared-1.3.3" = {
       name = "_at_ot-builder_slash_cli-shared";
       packageName = "@ot-builder/cli-shared";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.3.2.tgz";
-        sha512 = "QqOGIOHJQ73MHdzSE7FM5Ip4wE8QwILfiJViB5++74qU7m8wqF3u7TsPbUxlnoYsyMv4xkHI2Bd20VHcboJ+sA==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.3.3.tgz";
+        sha512 = "9isYiHmyRNDBhU+Zg55DcHFn/9uzD8O46r3+6BPO8X8YWXp6cOpEKzhgf3yfzCcJxplGrOKoUTR2PWj3TIaO1A==";
       };
     };
-    "@ot-builder/common-impl-1.3.2" = {
+    "@ot-builder/common-impl-1.3.3" = {
       name = "_at_ot-builder_slash_common-impl";
       packageName = "@ot-builder/common-impl";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.3.2.tgz";
-        sha512 = "GMJfo9am2LqVMbYloPxdatAfuphbjahpLDPRU0qcpw495SInTeYCqysuiJ5iP+PwOOua18Lay9wrPFOVbnp77g==";
+        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.3.3.tgz";
+        sha512 = "+ijxOzqDER1qC1uC9JwIo5xyoHPB4vdY1YMvqZD+6JLO7AkiUjqqJlihnp1Xq7s0+WpySru45P+2S+ZI6J4X8g==";
       };
     };
-    "@ot-builder/errors-1.3.2" = {
+    "@ot-builder/errors-1.3.3" = {
       name = "_at_ot-builder_slash_errors";
       packageName = "@ot-builder/errors";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.3.2.tgz";
-        sha512 = "QoQ9ksBaQxt/KyW7NRvaPPOQRKRYmLAdfKNT0GCL8eHViOxQNhFZR9OcdVQEgetxpi2HFOd7L4Mw9Jg+sugLXw==";
+        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.3.3.tgz";
+        sha512 = "i+i1/NFGysYbDeFSwikmbq/HLfpgJ7vXTviJMnZn1/JIYXscfrw01lqYpCnAmKrUXSbYqOc6pKWycS0IIzYEsA==";
       };
     };
-    "@ot-builder/io-bin-cff-1.3.2" = {
+    "@ot-builder/io-bin-cff-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-cff";
       packageName = "@ot-builder/io-bin-cff";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.3.2.tgz";
-        sha512 = "JNt/2zvTxHRQJSWJ23I8zufkyjOEaKkGt4x0JkdyvVBK7TGMu2z29ZArNCCceBr+DFAMfB0M826glHrE9DNwFQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.3.3.tgz";
+        sha512 = "qcqWuo2WtR+MCFsTS1a0ieLH8+0KUaqpkXbhVha5y1eeKRIYsPaLS5Uj5IAApuLX6F6eZgaKiZkR7CqeBMwIGw==";
       };
     };
-    "@ot-builder/io-bin-encoding-1.3.2" = {
+    "@ot-builder/io-bin-encoding-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-encoding";
       packageName = "@ot-builder/io-bin-encoding";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.3.2.tgz";
-        sha512 = "MLHhwtD8onUkYnC0I3Wxyk5te0qYnWVrmTsnANUEiCyUMcwNGLvJnX0273Gczq41IfsL6C7KFd3AlwXHCyepkw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.3.3.tgz";
+        sha512 = "fE+RI5fc1FqXr8q96Ne6x12UStz2m/RjS0PbKO9X5/lxg0JaTKHdtJ65M6RX1kxLUO783P1NlibLliiuXWTg4A==";
       };
     };
-    "@ot-builder/io-bin-ext-private-1.3.2" = {
+    "@ot-builder/io-bin-ext-private-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-ext-private";
       packageName = "@ot-builder/io-bin-ext-private";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.3.2.tgz";
-        sha512 = "BXpOFvKMAq3dbEin+9GrU7rHjdkDX2/CEXpdfGVVAsI91pcNlF0Kd200rUv7B1HoyIP5GQAhkn3/gfZCtbVKYg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.3.3.tgz";
+        sha512 = "CyLwG038inIozQtn4bWclc13EWynWALO4LGPcgLMRmD1UsS4LbMRuoGJ02p70+uxsKLaHgA2RjC63g02IbIjmw==";
       };
     };
-    "@ot-builder/io-bin-font-1.3.2" = {
+    "@ot-builder/io-bin-font-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-font";
       packageName = "@ot-builder/io-bin-font";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.3.2.tgz";
-        sha512 = "b/f3ckpBoY7OMWs0Lnp1N5mnmsOg3pc27Q9LE85tlJvx8k19NDVWOHGxr2TRiSRYgzHm5m4mCi9q8Vd9QRU/Rw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.3.3.tgz";
+        sha512 = "b3aHYfGAwJShZe9mmZAJXFXpklZspUBjf69FuujkbA5teQl7w6GdwXOiwhavtsNwHuNC2We7Oh9wp1vnLSceXA==";
       };
     };
-    "@ot-builder/io-bin-glyph-store-1.3.2" = {
+    "@ot-builder/io-bin-glyph-store-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-glyph-store";
       packageName = "@ot-builder/io-bin-glyph-store";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.3.2.tgz";
-        sha512 = "PPZZIwWm3njbDJMojxgwJerQFEL/eAfM1It8Wrgo/04d87jMECWhV+YML/8YEu67TuZiRhKhP27jnPENX1WavQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.3.3.tgz";
+        sha512 = "yJPth9RyOLvyO/wGm+axfBSOPUqkgiVUeOSMSpLHM+ujhrZXW0OW9Xbxij+9QLsZrxI9mpEWkdWygWWBUceD/Q==";
       };
     };
-    "@ot-builder/io-bin-layout-1.3.2" = {
+    "@ot-builder/io-bin-layout-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-layout";
       packageName = "@ot-builder/io-bin-layout";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.3.2.tgz";
-        sha512 = "o1M9y2R2KbL9X6DmOx6zeBG126mwDyhxoDYFPXMEaa3x1an7zAavkOd4gZxBFgWPqeVFXScGFTge9WX7DYSDnw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.3.3.tgz";
+        sha512 = "8fnXYL73O7GsvrQNqDtzbzChGVbyzH6J1a04I+M0H+BUW6u0XY0FJkUtfF68xzju4eyrkOZc/ElDbXouADKWug==";
       };
     };
-    "@ot-builder/io-bin-metadata-1.3.2" = {
+    "@ot-builder/io-bin-metadata-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-metadata";
       packageName = "@ot-builder/io-bin-metadata";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.3.2.tgz";
-        sha512 = "odT8UNrlVJrtWKwNbSTrs2exddXfNLP4Ee24eoXKYsRXgbfXI97FbqOMPzGRVnXEeFI0iXQ3ZMdaJHow4yLljg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.3.3.tgz";
+        sha512 = "onYKN6OrUBclDaZiyhXZhTcSf+KfvqW9lwsEaKyYTh0ZOZ/ButSvwxNtrMjzekGFzK0izIQft3oWhXkUyapnzg==";
       };
     };
-    "@ot-builder/io-bin-metric-1.3.2" = {
+    "@ot-builder/io-bin-metric-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-metric";
       packageName = "@ot-builder/io-bin-metric";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.3.2.tgz";
-        sha512 = "sstjrdY6Qi16idjlnwALy6bXy8QuOSIcOE5hiQeEJ3NJWgLvPcc7LIPXvwEPhv5IeyZ+ClLFn9n5cFAq3gfUdw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.3.3.tgz";
+        sha512 = "fngm7u0BSyet87WijLs/TOXF4y/NkadxZK8NWvyRiEC6hU/d20Tfen6eqit+UB3RBBicbZdCjeJvUqTzq2BRhA==";
       };
     };
-    "@ot-builder/io-bin-name-1.3.2" = {
+    "@ot-builder/io-bin-name-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-name";
       packageName = "@ot-builder/io-bin-name";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.3.2.tgz";
-        sha512 = "JxRB5fg78m7M4GS6uuriu1dPIeLHPqzwKJFmBZH9FStULBUtU5dc5/HaIJJg4ozIukRHyXIwnmsGZO1XsHq3VA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.3.3.tgz";
+        sha512 = "hWuqZyIdUjfxiVTZ9pa4KZe1srH+88lXkoIGupfz1cibMIM98sgwNkcjT0tjFiyH18SBMQBIxhwmfMRWBj4kKw==";
       };
     };
-    "@ot-builder/io-bin-sfnt-1.3.2" = {
+    "@ot-builder/io-bin-sfnt-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-sfnt";
       packageName = "@ot-builder/io-bin-sfnt";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.3.2.tgz";
-        sha512 = "6wKIR+gABvsJOL94IehuwUbVMDcSokoAv1mXI6IFVhKmdd/ev2PM7KWP3SGSJXV8Kr1QTDFORthLH4D8YFLIYA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.3.3.tgz";
+        sha512 = "CkXXxwwvxgxHZwYx0Tv7cxcvT8yXCF8MusSV51n9On2h/YB3m/uCevna7/E6Jf5MpzHkyICiWYwe6tV+fv5xXA==";
       };
     };
-    "@ot-builder/io-bin-ttf-1.3.2" = {
+    "@ot-builder/io-bin-ttf-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-ttf";
       packageName = "@ot-builder/io-bin-ttf";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.3.2.tgz";
-        sha512 = "ILIs2vFdV9O14SoMMWkXikLgsSqt5sUP9EBJqdHCTv0iVaXT6SFjAWCH8EFMEMKvvaKn4Iarimty9Z+kO7DZDQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.3.3.tgz";
+        sha512 = "8stTcg6ulB5N/I3wXsM2Tq71Xnf13JehvXruwNfroYiNLtiWc8NRGlo/PDRB5xbLURv8QeyP0SxUy0ZV9VGXhQ==";
       };
     };
-    "@ot-builder/io-bin-vtt-private-1.3.2" = {
+    "@ot-builder/io-bin-vtt-private-1.3.3" = {
       name = "_at_ot-builder_slash_io-bin-vtt-private";
       packageName = "@ot-builder/io-bin-vtt-private";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.3.2.tgz";
-        sha512 = "tHUcaCoCFXexp1AHGVW5uXO1NIKhqKMJEcx6Rp0s82CaVUSaORp362MYUPVcGoLylbQfBsR1c1CpLwrmzB8VoQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.3.3.tgz";
+        sha512 = "hPAibMtIX1WynkNDME+pWph/lU166XXJPrEkKLZ5kEl9XPbAzk+JS6TKnX38AEqGx5lWlc5Fx26slYyqksR48g==";
       };
     };
-    "@ot-builder/ot-1.3.2" = {
+    "@ot-builder/ot-1.3.3" = {
       name = "_at_ot-builder_slash_ot";
       packageName = "@ot-builder/ot";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.3.2.tgz";
-        sha512 = "+AqSS8xW+OxlsMT5NFztGNfVCzl/dWazJYTk1JHcMK0xajJnTIrORr/rPvdbKR4iNzGbEi8R++MnGhhllBAO+w==";
+        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.3.3.tgz";
+        sha512 = "e0apRiFxboGKw24eg8uTp0NxkI3KPtNIoztOmJWQTaSXMS78QbzWDAXX8yy94qnL6mu+aN7u1H8f67zNtMH1DA==";
       };
     };
-    "@ot-builder/ot-encoding-1.3.2" = {
+    "@ot-builder/ot-encoding-1.3.3" = {
       name = "_at_ot-builder_slash_ot-encoding";
       packageName = "@ot-builder/ot-encoding";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.3.2.tgz";
-        sha512 = "x7AiuYe6r0uyvuw52/dWvfG6fj47v+nnQrvswOr2lOniZMhhRPRbek5y7dWCuabmRFdxmZKClK3PEgmNbVWJQQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.3.3.tgz";
+        sha512 = "syxPDRoAezIQA/Z/DDPSF2AQ3N9vWaypTvbUPmdLEqriOZFDAx4fR455B8gqZKIeg3FFAjXLMCtaDR1sftp74g==";
       };
     };
-    "@ot-builder/ot-ext-private-1.3.2" = {
+    "@ot-builder/ot-ext-private-1.3.3" = {
       name = "_at_ot-builder_slash_ot-ext-private";
       packageName = "@ot-builder/ot-ext-private";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.3.2.tgz";
-        sha512 = "IbZNrhXBw5AgbVoUahkDxxpuBDhpstadKdfVS8IcAZHhVyyqOD4+gkAQDfIxqNOMaCXi73dLAcQwNofF63/08w==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.3.3.tgz";
+        sha512 = "s5Se3iuiRyznjdO4Qlm1yimNI8NkPl/RRkbc8tC4hoq45KO78CCjU3tKllioTs5DGHtP2kpinseNbyL1zofykA==";
       };
     };
-    "@ot-builder/ot-glyphs-1.3.2" = {
+    "@ot-builder/ot-glyphs-1.3.3" = {
       name = "_at_ot-builder_slash_ot-glyphs";
       packageName = "@ot-builder/ot-glyphs";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.3.2.tgz";
-        sha512 = "lmt3fSv4bR9xnQKVHz+B9VNnFwVCIlSXyecEhEJqCzQ5UFt3dBHgh8l29n6Yg7FL84m/wB+0vxLdLmGeRvZYeQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.3.3.tgz";
+        sha512 = "vqPrWqlfugwsnutphMz2od5VJRvsdnGjBU48rye4tKxRDkOQ+jv9XnrMiEhms0wfBR3G/z0LjNsQAayWIggpDA==";
       };
     };
-    "@ot-builder/ot-layout-1.3.2" = {
+    "@ot-builder/ot-layout-1.3.3" = {
       name = "_at_ot-builder_slash_ot-layout";
       packageName = "@ot-builder/ot-layout";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.3.2.tgz";
-        sha512 = "tSdTZtExUmNRiksf6HTzHi8q3i+BazW0O9NANvK5OLroEDcHXn/2DKq4e9DNsuEjDrGLZR4vvAQ9Dx4bhvYSHg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.3.3.tgz";
+        sha512 = "h0JqUVYvSh77xoGI+PHaXnXOlYKrQCu7EXXDC8uUr2xrnQR4+LJzvt+NPpFwtlG1upc/muCFpDxp6ooQ8crErw==";
       };
     };
-    "@ot-builder/ot-metadata-1.3.2" = {
+    "@ot-builder/ot-metadata-1.3.3" = {
       name = "_at_ot-builder_slash_ot-metadata";
       packageName = "@ot-builder/ot-metadata";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.3.2.tgz";
-        sha512 = "JIX3zX9t3B81OTSZC39Irt9Oia8U4kMRPs4qAusGeGkxyRgVsDcHrnQjxECj/b/RPJbtVzGUxK7o+rEkUaw7Qg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.3.3.tgz";
+        sha512 = "t/D9+MHsSd21laRKtC+M48mCKVODVjcMW8VIZLwA5Vsg9xtAkSSYU/ZXZjmUwahnaJRLAJCovD7B7WkIc8NX7A==";
       };
     };
-    "@ot-builder/ot-name-1.3.2" = {
+    "@ot-builder/ot-name-1.3.3" = {
       name = "_at_ot-builder_slash_ot-name";
       packageName = "@ot-builder/ot-name";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.3.2.tgz";
-        sha512 = "ecqgZx589wI2YejSUMdxssoguq9CTw4Lymb3cyhdoxXxDP7Y55l2ycOU7HXAfbzwSEWYEh4wDO/y+NL0iV5d2A==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.3.3.tgz";
+        sha512 = "g+flff2TZNeN6U4cq9T/JtOTi82NoTjVQrtxsdDTgL7UbfbpyBxloutnFVTdslEUAH2NgSJAeKLdUIuH7LwVjw==";
       };
     };
-    "@ot-builder/ot-sfnt-1.3.2" = {
+    "@ot-builder/ot-sfnt-1.3.3" = {
       name = "_at_ot-builder_slash_ot-sfnt";
       packageName = "@ot-builder/ot-sfnt";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.3.2.tgz";
-        sha512 = "nXZzF4nRGH60J1rVW9ljAlLJavYH0Bp+6L3r0gQvmtLspO3w2s7dYSM1fSfkH2wCG6FqAf8C7TIUgqOS5QyzBQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.3.3.tgz";
+        sha512 = "reA2LMD5BI/1dsenrgfSmydY18jvu5Lq4p3DmQc/uMaEc5ReW4Vlu0AUoRPoqdhtE00pzwcyc9nuOBXivFl4qg==";
       };
     };
-    "@ot-builder/ot-standard-glyph-namer-1.3.2" = {
+    "@ot-builder/ot-standard-glyph-namer-1.3.3" = {
       name = "_at_ot-builder_slash_ot-standard-glyph-namer";
       packageName = "@ot-builder/ot-standard-glyph-namer";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.3.2.tgz";
-        sha512 = "A3Kg35P7pThuEz6eFSAtNbZEvHMferWcs4O4jWUetBqaV6ZbOZ504hVOPVJT7WaT2iS7X4sd0BKNRJLXCwqCbA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.3.3.tgz";
+        sha512 = "6Ku8YiCVQxT2OwNBnWSrEJO76OtV8LtUCNS+1tdrDJpTzWeZqys0ypnXBLka/aBKUZUkJeXWflaxUNo1r4Tx+A==";
       };
     };
-    "@ot-builder/ot-vtt-private-1.3.2" = {
+    "@ot-builder/ot-vtt-private-1.3.3" = {
       name = "_at_ot-builder_slash_ot-vtt-private";
       packageName = "@ot-builder/ot-vtt-private";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.3.2.tgz";
-        sha512 = "ny7u9ZalS6I3tzr8EKDVHLBe8gcBb02GruqFCzhx20115F7Gtk165PqqJTKH5yi2nAh2e92WallUOE7ouB11TQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.3.3.tgz";
+        sha512 = "T1sdeXE83/IdRz7eRa182bAVYANmnoGiLlO3y/6e0sJSxgMzwr9eSjbf441edvjEMJPbCmBr6gqiJoQMzcIiCg==";
       };
     };
-    "@ot-builder/prelude-1.3.2" = {
+    "@ot-builder/prelude-1.3.3" = {
       name = "_at_ot-builder_slash_prelude";
       packageName = "@ot-builder/prelude";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.3.2.tgz";
-        sha512 = "zDr5gEaBC47gaBsIvz46M52pIUDzPmH4nEwKYmtOQDklR+6A37/2SUOeKMBB1FCPCutyWgSWdwdiUm5wSi77lQ==";
+        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.3.3.tgz";
+        sha512 = "GJSZOF13jqvVV4+LREhSo7ZRmikYVGPZl+Z1D4jHUFF7nDqX53KbGMt/tl3rhNMhub0/NTdV8tzdd2LTb/AJDQ==";
       };
     };
-    "@ot-builder/primitive-1.3.2" = {
+    "@ot-builder/primitive-1.3.3" = {
       name = "_at_ot-builder_slash_primitive";
       packageName = "@ot-builder/primitive";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.3.2.tgz";
-        sha512 = "hoIWTUac1//Uglj78S2w24mMB0wgMoyOZV1h0tpIaisnN2A/rhId6lOLUskn3em8j9+VcvRyIxmIvoVhDKi6mQ==";
+        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.3.3.tgz";
+        sha512 = "aEwB2TlorsArhqVQKL9cDyYiszl0wdvhFFgNHp3bmxw7D1w86pFdjAfUO7IyIF7k5JBPswHAzMfmotXcA51lUw==";
       };
     };
-    "@ot-builder/rectify-1.3.2" = {
+    "@ot-builder/rectify-1.3.3" = {
       name = "_at_ot-builder_slash_rectify";
       packageName = "@ot-builder/rectify";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.3.2.tgz";
-        sha512 = "3wZy4fMSHELSaAyi/1ONQ6OLMozLvQjmyPxTkSIPlq6JbUQEOEhwTF+DgqDh6kZixaXeP/Dd/4azhDL0hbsocQ==";
+        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.3.3.tgz";
+        sha512 = "Ij9dpqhw0lOos2Z9mr7Z4Li+zQQ1xN9LSUIgfqtHFGVDnC66udYyHahOLMhjhODJVPtA25otADrM4LT/T4jGXQ==";
       };
     };
-    "@ot-builder/stat-glyphs-1.3.2" = {
+    "@ot-builder/stat-glyphs-1.3.3" = {
       name = "_at_ot-builder_slash_stat-glyphs";
       packageName = "@ot-builder/stat-glyphs";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.3.2.tgz";
-        sha512 = "2F3qwwAzYZcwjmRVUOC9KS7mTB0R+76ZtGoYS28kBz/WHVOduvsxr8xiUwYM/0PAZttWA1eB/CwFjZ2WhQEDAg==";
+        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.3.3.tgz";
+        sha512 = "8vHTL/fhorFp1l2jFSGNT9R9tu0Rr8yQH/vslaOIvY8bBgJDQCqKExmF4lxiGMWMr05mKZhNrwV2vYMHWUP2mA==";
       };
     };
-    "@ot-builder/trace-1.3.2" = {
+    "@ot-builder/trace-1.3.3" = {
       name = "_at_ot-builder_slash_trace";
       packageName = "@ot-builder/trace";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.3.2.tgz";
-        sha512 = "TGjyWSo64Cv0pwZtiLba65qz3BZrS2fshQTnBPWa42CWVoC9wpvF+rMQarvdksJH5UZGkgXRXfdT6rXumo9D7Q==";
+        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.3.3.tgz";
+        sha512 = "d4KsjCUgY4tlpfSY74Q2l/k1Fl82ROlt+IQhzl8weSeb/KVGVALltzEIyEmT3Kb5Yh3Clej9nlzzwKWX74dgZw==";
       };
     };
-    "@ot-builder/var-store-1.3.2" = {
+    "@ot-builder/var-store-1.3.3" = {
       name = "_at_ot-builder_slash_var-store";
       packageName = "@ot-builder/var-store";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.3.2.tgz";
-        sha512 = "RbCBl+7xCYFgR1bvvDmD7rMU/8J5oESiHWGtx0y1KfykHP4AGElH0ZcocXE/fx8s4Q/s6oXlulojKEWt0r7GfA==";
+        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.3.3.tgz";
+        sha512 = "5LKBIWxB0Oe4QUeRHA3mGaHqlrgA9byeOQNMQxjGDF0fRVDyG40VW1g4xlUQYWzTitM2ML3dP0HlEoVvsTgwwg==";
       };
     };
-    "@ot-builder/variance-1.3.2" = {
+    "@ot-builder/variance-1.3.3" = {
       name = "_at_ot-builder_slash_variance";
       packageName = "@ot-builder/variance";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.3.2.tgz";
-        sha512 = "DEC1r6TZTuhhmzz+j5/rEULkOIgtH1NWVVoo7jff4BPK879hHY56hU5mhcnkvTX9BZ02rHQcYu3ka7ddZ80ZJQ==";
+        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.3.3.tgz";
+        sha512 = "kCd+aqpuF/Go+yHRc0WJ3GP9p1069WQBdG9b5GomQJhYfccGmNOl2P1BUtISAu467DVngc9bBx5ZJbDWn1luXg==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -5548,49 +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/debug-3.5.0" = {
-      name = "_at_prisma_slash_debug";
-      packageName = "@prisma/debug";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/debug/-/debug-3.5.0.tgz";
-        sha512 = "JWBmzqxtbq6rJfMyIIQVL/QSAIsiCOp20ArTl5zUHtSYH/MrNmuQ69YAn9RuUQBOTIAQaVTIMII2xpN5kB5RRg==";
-      };
-    };
-    "@prisma/engines-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727" = {
+    "@prisma/engines-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727.tgz";
-        sha512 = "dRClHS7DsTVchDKzeG72OaEyeDskCv91pnZ72Fftn0mp4BkUvX2LvWup65hCNzwwQm5IDd6A88APldKDnMiEMA==";
-      };
-    };
-    "@prisma/get-platform-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727" = {
-      name = "_at_prisma_slash_get-platform";
-      packageName = "@prisma/get-platform";
-      version = "3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727";
+      version = "3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727.tgz";
-        sha512 = "zvlddqvNU5rXnjTeT+0DOyMwH9E8NwV1a1F3tYN6lNWAjpWx26nGDGkIOO5Nid5mIjz+SDz5VM2NEZ+HXgDuMQ==";
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009.tgz";
+        sha512 = "qM+uJbkelB21bnK44gYE049YTHIjHysOuj0mj5U2gDGyNLfmiazlggzFPCgEjgme4U5YB2tYs6Z5Hq08Kl8pjA==";
       };
     };
-    "@prisma/prisma-fmt-wasm-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727" = {
+    "@prisma/prisma-fmt-wasm-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009" = {
       name = "_at_prisma_slash_prisma-fmt-wasm";
       packageName = "@prisma/prisma-fmt-wasm";
-      version = "3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727";
+      version = "3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727.tgz";
-        sha512 = "Nt4A2SZ4MASAliZ9OaXCYG1xr80lEcJABliUAi/tvzCU8r5W3V4Tp5XDqchxuN/w71XY/s+OaWce7PHnoMGpkA==";
+        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" = {
@@ -5683,13 +6682,31 @@ let
         sha1 = "a777360b5b39a1a2e5106f8e858f2fd2d060c570";
       };
     };
-    "@putdotio/api-client-8.19.0" = {
+    "@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.19.0";
+      version = "8.27.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.19.0.tgz";
-        sha512 = "qzA6w/N4Yj9Mmpn3JFqg07U65VWvjbHPVRA0bBJ/AoZgnhRjOeHWfq/FC/piSQeFaHgdpkvOrun8PMH3W+nkWQ==";
+        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" = {
@@ -5746,13 +6763,13 @@ let
         sha512 = "y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.73" = {
+    "@redocly/openapi-core-1.0.0-beta.82" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.73";
+      version = "1.0.0-beta.82";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.73.tgz";
-        sha512 = "1wmKGJp+lvhNFDEfTzjB6QlyEPNyozSiDb4sfr+R97pcGa+6YdSmgItPl5P/21Y0fBZYku9Uo1n0rhFVdr20EQ==";
+        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" = {
@@ -5764,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";
@@ -5791,13 +6826,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-13.1.2" = {
+    "@schematics/angular-13.2.4" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "13.1.2";
+      version = "13.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.1.2.tgz";
-        sha512 = "OMbuOsnzUFjIGeo99NYwIPwjX6udJAiT5Sj5K7QZZYj66HuAqNBMV57J8GPA56edx5mOHZZApWMjXLlOxRXbJA==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.4.tgz";
+        sha512 = "pAVuPmFklWVpNJkARs4aGYM5Mo4iez0eW0dDY+ugxZlt1KOLJQDmMK2Go60iEAQLlOw2pKO/jcmTttOP8PN0UQ==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -5809,49 +6844,22 @@ let
         sha512 = "ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==";
       };
     };
-    "@serverless/cli-1.5.3" = {
-      name = "_at_serverless_slash_cli";
-      packageName = "@serverless/cli";
-      version = "1.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/cli/-/cli-1.5.3.tgz";
-        sha512 = "ZJ0Y7CsYoE/i45XkIMl/XBZO4KIlt0XH1qwxxNE2/84bZlih5cgRV6MZ+rKt7GlrD0iDAgQGyGv5dpyt+SGhKw==";
-      };
-    };
-    "@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.1" = {
-      name = "_at_serverless_slash_components";
-      packageName = "@serverless/components";
-      version = "3.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/components/-/components-3.18.1.tgz";
-        sha512 = "36XSYHjPkSEiSwWkl/xwWgYXa32Fk1CAbHvtWGheCtKV4+I3Yxzhe7FbgR84O0FeGQ/qM3QI8i5vtPUxeDeB9g==";
-      };
-    };
-    "@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.1" = {
+    "@serverless/dashboard-plugin-6.1.0" = {
       name = "_at_serverless_slash_dashboard-plugin";
       packageName = "@serverless/dashboard-plugin";
-      version = "5.5.1";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.5.1.tgz";
-        sha512 = "gXn17AOyY3fxSq2nIFNnU4tZorplh2yVb0zI9A+rTeHlQ3HgIJa7xs/rR2hLEcW4vT26zX8dqwdJOAml/9kZyw==";
+        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.1.0.tgz";
+        sha512 = "rbIWKRoqTIMl0ZOt6f0VIaEj+6slV18iEkW7tIBOKq6eQTkX2tHvBgVXrTh3ZKFNnMePGn4rtfbwB5G9oZ0Wig==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -5863,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.3" = {
-      name = "_at_serverless_slash_platform-client-china";
-      packageName = "@serverless/platform-client-china";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.3.3.tgz";
-        sha512 = "qlw6HA/ooo0h5o4ihLDGKUQKY5xnSpS/0mvv/ZQvmk3atQnDCfuRYUM+3UEPcST1iTObxw3GoKdCUO2oOqb2Lg==";
-      };
-    };
-    "@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.1" = {
+    "@serverless/utils-6.0.2" = {
       name = "_at_serverless_slash_utils";
       packageName = "@serverless/utils";
-      version = "5.20.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.1.tgz";
-        sha512 = "X2CD685Q4NHuX4Si3SVZU4iaMDgD4+d78sd+nTyxV+lwFHG9FFUSJftwclYzoqZshw6QoYd/mMnUotWnlsiLWA==";
-      };
-    };
-    "@serverless/utils-china-1.1.4" = {
-      name = "_at_serverless_slash_utils-china";
-      packageName = "@serverless/utils-china";
-      version = "1.1.4";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils-china/-/utils-china-1.1.4.tgz";
-        sha512 = "8s73M1k+mST7Z/Rp8wgmZh50tjpwX+fqsbYYRuFGgyuWTvgqAlUflDOWAeQuDx4pEndWEqjbG09ZrZNqlHuZqQ==";
+        url = "https://registry.npmjs.org/@serverless/utils/-/utils-6.0.2.tgz";
+        sha512 = "4vNv6nt4/w8wX79DN7OujR/Ih1wlJ9ZJnY28BtF69ehFwlGqnxlF2CXVGo3W7Xh4maK3hWnoc+L4akQX6nH+3g==";
       };
     };
     "@sideway/address-4.1.3" = {
@@ -5998,13 +6961,22 @@ let
         sha512 = "/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==";
       };
     };
-    "@sindresorhus/is-4.2.0" = {
+    "@sindresorhus/is-3.1.2" = {
       name = "_at_sindresorhus_slash_is";
       packageName = "@sindresorhus/is";
-      version = "4.2.0";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz";
-        sha512 = "VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==";
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz";
+        sha512 = "JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==";
+      };
+    };
+    "@sindresorhus/is-4.4.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-4.4.0.tgz";
+        sha512 = "QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==";
       };
     };
     "@sindresorhus/jimp-0.3.0" = {
@@ -6016,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";
@@ -6025,13 +7015,22 @@ let
         sha512 = "CWr7a3rTVrN5Vs8GYReRAvTourbXHOqB1zglcskj05ICH4GZL5BOAza2ARai+qc3Nz0nY08Bozi1x0014KOqlg==";
       };
     };
-    "@squoosh/lib-0.4.0" = {
+    "@socket.io/base64-arraybuffer-1.0.2" = {
+      name = "_at_socket.io_slash_base64-arraybuffer";
+      packageName = "@socket.io/base64-arraybuffer";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz";
+        sha512 = "dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==";
+      };
+    };
+    "@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" = {
@@ -6169,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";
@@ -6313,15 +7303,6 @@ let
         sha512 = "ItqpVEYLDYQkEk0ixeD4wElqkgkDErAGGDN/QK4cmIvtBeVd/GSIQFS1pwC1/Abmd4dTK3j/9z/dov1gVFZB1Q==";
       };
     };
-    "@textlint/types-1.5.5" = {
-      name = "_at_textlint_slash_types";
-      packageName = "@textlint/types";
-      version = "1.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/types/-/types-1.5.5.tgz";
-        sha512 = "80P6fcqgsG9bP6JgR6W/E/oIx+71pplaicYCvvB4vMIeGk0OnWls4Q21kCpDYmq/C/ABtZ/Gy/Ov/8ExQPeQ7A==";
-      };
-    };
     "@textlint/types-12.1.0" = {
       name = "_at_textlint_slash_types";
       packageName = "@textlint/types";
@@ -6412,13 +7393,49 @@ let
         sha512 = "7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==";
       };
     };
-    "@turist/fetch-7.1.7" = {
+    "@tsconfig/node10-1.0.8" = {
+      name = "_at_tsconfig_slash_node10";
+      packageName = "@tsconfig/node10";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz";
+        sha512 = "6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==";
+      };
+    };
+    "@tsconfig/node12-1.0.9" = {
+      name = "_at_tsconfig_slash_node12";
+      packageName = "@tsconfig/node12";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz";
+        sha512 = "/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==";
+      };
+    };
+    "@tsconfig/node14-1.0.1" = {
+      name = "_at_tsconfig_slash_node14";
+      packageName = "@tsconfig/node14";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz";
+        sha512 = "509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==";
+      };
+    };
+    "@tsconfig/node16-1.0.2" = {
+      name = "_at_tsconfig_slash_node16";
+      packageName = "@tsconfig/node16";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz";
+        sha512 = "eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==";
+      };
+    };
+    "@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" = {
@@ -6448,15 +7465,6 @@ let
         sha512 = "veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==";
       };
     };
-    "@types/archiver-5.3.0" = {
-      name = "_at_types_slash_archiver";
-      packageName = "@types/archiver";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.0.tgz";
-        sha512 = "qJ79qsmq7O/k9FYwsF6O1xVA1PeLV+9Bh3TYkVCu3VzMR6vN9JQkgEOh/rrQ0R+F4Ta+R3thHGewxQtFglwVfg==";
-      };
-    };
     "@types/atob-2.1.2" = {
       name = "_at_types_slash_atob";
       packageName = "@types/atob";
@@ -6475,22 +7483,22 @@ let
         sha512 = "pkPtJUUY+Vwv6B1inAz55rQvivClHJxc9aVEPPmaq2cbyeMLCiDpbKpcKyX4LAwpNGi+SHBv0tHv6+0gXv0P2A==";
       };
     };
-    "@types/babel__core-7.1.17" = {
+    "@types/babel__core-7.1.18" = {
       name = "_at_types_slash_babel__core";
       packageName = "@types/babel__core";
-      version = "7.1.17";
+      version = "7.1.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.17.tgz";
-        sha512 = "6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==";
+        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz";
+        sha512 = "S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==";
       };
     };
-    "@types/babel__generator-7.6.3" = {
+    "@types/babel__generator-7.6.4" = {
       name = "_at_types_slash_babel__generator";
       packageName = "@types/babel__generator";
-      version = "7.6.3";
+      version = "7.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz";
-        sha512 = "/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==";
+        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz";
+        sha512 = "tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==";
       };
     };
     "@types/babel__template-7.4.1" = {
@@ -6556,6 +7564,15 @@ let
         sha512 = "ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==";
       };
     };
+    "@types/bonjour-3.5.10" = {
+      name = "_at_types_slash_bonjour";
+      packageName = "@types/bonjour";
+      version = "3.5.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz";
+        sha512 = "p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==";
+      };
+    };
     "@types/cacheable-request-6.0.2" = {
       name = "_at_types_slash_cacheable-request";
       packageName = "@types/cacheable-request";
@@ -6637,6 +7654,15 @@ let
         sha512 = "cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==";
       };
     };
+    "@types/connect-history-api-fallback-1.3.5" = {
+      name = "_at_types_slash_connect-history-api-fallback";
+      packageName = "@types/connect-history-api-fallback";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz";
+        sha512 = "h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==";
+      };
+    };
     "@types/content-disposition-0.5.4" = {
       name = "_at_types_slash_content-disposition";
       packageName = "@types/content-disposition";
@@ -6709,13 +7735,13 @@ let
         sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
       };
     };
-    "@types/diff-3.5.4" = {
+    "@types/diff-3.5.5" = {
       name = "_at_types_slash_diff";
       packageName = "@types/diff";
-      version = "3.5.4";
+      version = "3.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/diff/-/diff-3.5.4.tgz";
-        sha512 = "/eg1PwPsu0YWSRDM0SIUSOEA70LNPRsO+wt+jzYEN3n5fRbHKsaqYfbWDfcL4Wscez/9ar9U4UypDzBU8n/evg==";
+        url = "https://registry.npmjs.org/@types/diff/-/diff-3.5.5.tgz";
+        sha512 = "aqcrAbqT/0+ULJJ73bwKWsiFkBh3ZnAelj9u+iI5/cr4Nz3yXGf3w4glx5am6uvvgBbKinK1PAqSJs7fSKD6ig==";
       };
     };
     "@types/dom4-2.0.2" = {
@@ -6727,31 +7753,31 @@ let
         sha512 = "Rt4IC1T7xkCWa0OG1oSsPa0iqnxlDeQqKXZAHrQGLb7wFGncWm85MaxKUjAGejOrUynOgWlFi4c6S6IyJwoK4g==";
       };
     };
-    "@types/duplexify-3.6.0" = {
+    "@types/duplexify-3.6.1" = {
       name = "_at_types_slash_duplexify";
       packageName = "@types/duplexify";
-      version = "3.6.0";
+      version = "3.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz";
-        sha512 = "5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==";
+        url = "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.1.tgz";
+        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.8" = {
+    "@types/emoji-mart-3.0.9" = {
       name = "_at_types_slash_emoji-mart";
       packageName = "@types/emoji-mart";
-      version = "3.0.8";
+      version = "3.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/emoji-mart/-/emoji-mart-3.0.8.tgz";
-        sha512 = "jmNew3D9XAVchIpyXHEZjR3Sa0uP8qD5TILk9U6Ev/Fcp43V6K1UFZ07KWtVVLjzyCMXaFB9UD3/3Y/2vVdGmQ==";
+        url = "https://registry.npmjs.org/@types/emoji-mart/-/emoji-mart-3.0.9.tgz";
+        sha512 = "qdBo/2Y8MXaJ/2spKjDZocuq79GpnOhkwMHnK2GnVFa8WYFgfA+ei6sil3aeWQPCreOKIx9ogPpR5+7MaOqYAA==";
       };
     };
     "@types/engine.io-3.1.7" = {
@@ -6772,31 +7798,22 @@ let
         sha512 = "VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==";
       };
     };
-    "@types/eslint-8.2.1" = {
+    "@types/eslint-8.4.1" = {
       name = "_at_types_slash_eslint";
       packageName = "@types/eslint";
-      version = "8.2.1";
+      version = "8.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.1.tgz";
-        sha512 = "UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==";
+        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz";
+        sha512 = "GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==";
       };
     };
-    "@types/eslint-scope-3.7.2" = {
+    "@types/eslint-scope-3.7.3" = {
       name = "_at_types_slash_eslint-scope";
       packageName = "@types/eslint-scope";
-      version = "3.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.2.tgz";
-        sha512 = "TzgYCWoPiTeRg6RQYgtuW7iODtVoKu3RVL72k3WohqhjfaOLK5Mg2T4Tg1o2bSfu0vPkoI48wdQFv5b/Xe04wQ==";
-      };
-    };
-    "@types/eslint-visitor-keys-1.0.0" = {
-      name = "_at_types_slash_eslint-visitor-keys";
-      packageName = "@types/eslint-visitor-keys";
-      version = "1.0.0";
+      version = "3.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
-        sha512 = "OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==";
+        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz";
+        sha512 = "PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==";
       };
     };
     "@types/estree-0.0.50" = {
@@ -6808,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";
@@ -6844,13 +7870,13 @@ let
         sha512 = "wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ==";
       };
     };
-    "@types/express-serve-static-core-4.17.26" = {
+    "@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.26";
+      version = "4.17.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.26.tgz";
-        sha512 = "zeu3tpouA043RHxW0gzRxwCHchMgftE8GArRsvYT0ByDMbn19olQHx5jLue0LxWY6iYtXb7rXmuVtSkhy9YZvQ==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz";
+        sha512 = "P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==";
       };
     };
     "@types/fancy-log-1.3.0" = {
@@ -6961,13 +7987,13 @@ let
         sha512 = "SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==";
       };
     };
-    "@types/http-errors-1.8.1" = {
+    "@types/http-errors-1.8.2" = {
       name = "_at_types_slash_http-errors";
       packageName = "@types/http-errors";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.1.tgz";
-        sha512 = "e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q==";
+        url = "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.2.tgz";
+        sha512 = "EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==";
       };
     };
     "@types/http-proxy-1.17.8" = {
@@ -6988,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";
@@ -6997,13 +8032,13 @@ let
         sha512 = "a3xgqnFTuNJDm1fjsTjHocYJ40Cz3t8utYpi5GNaxzrJC2HSD08ym+whIL7fNqiqBCdM9bcqD1H/tORWAFXoZw==";
       };
     };
-    "@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" = {
@@ -7033,22 +8068,22 @@ let
         sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
       };
     };
-    "@types/jquery-3.5.10" = {
+    "@types/jquery-3.5.13" = {
       name = "_at_types_slash_jquery";
       packageName = "@types/jquery";
-      version = "3.5.10";
+      version = "3.5.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.10.tgz";
-        sha512 = "w2qT5DFikh5TXrW/aOaCvCP8g2MMAfPXo3oeHR9v7dRuAZhu38PUWEkYrL4e9VRTcgZE4yER21AHndgpq2QPTQ==";
+        url = "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.13.tgz";
+        sha512 = "ZxJrup8nz/ZxcU0vantG+TPdboMhB24jad2uSap50zE7Q9rUeYlCF25kFMSmHR33qoeOgqcdHEp3roaookC0Sg==";
       };
     };
-    "@types/js-levenshtein-1.1.0" = {
+    "@types/js-levenshtein-1.1.1" = {
       name = "_at_types_slash_js-levenshtein";
       packageName = "@types/js-levenshtein";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.0.tgz";
-        sha512 = "14t0v1ICYRtRVcHASzes0v/O+TIeASb8aD55cWF1PidtInhFWSXcmhzhHqGjUWf9SUq1w70cvd1cWKUULubAfQ==";
+        url = "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.1.tgz";
+        sha512 = "qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g==";
       };
     };
     "@types/js-yaml-3.12.5" = {
@@ -7087,15 +8122,6 @@ let
         sha512 = "k4ih8ayQ65e26vhCxeMTKtZ808DzC0RFQ4unBvPEy9bcFhS4aPm3oXgWWZNmZ4u+H2WzHQDCNrRC5iNX+afiZw==";
       };
     };
-    "@types/json-patch-0.0.30" = {
-      name = "_at_types_slash_json-patch";
-      packageName = "@types/json-patch";
-      version = "0.0.30";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-patch/-/json-patch-0.0.30.tgz";
-        sha512 = "MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==";
-      };
-    };
     "@types/json-schema-7.0.9" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
@@ -7150,6 +8176,15 @@ let
         sha512 = "B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==";
       };
     };
+    "@types/linkify-it-3.0.2" = {
+      name = "_at_types_slash_linkify-it";
+      packageName = "@types/linkify-it";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz";
+        sha512 = "HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==";
+      };
+    };
     "@types/lodash-4.14.161" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
@@ -7186,6 +8221,15 @@ let
         sha512 = "h0MqA7rtP88vuMepODf1oomJLeuRAZfOiYdeGS3NYO4TMQs237TkA+bNehy7V5nfyCjPRuKrb0fnWMjncHak0g==";
       };
     };
+    "@types/markdown-it-12.2.3" = {
+      name = "_at_types_slash_markdown-it";
+      packageName = "@types/markdown-it";
+      version = "12.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz";
+        sha512 = "GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==";
+      };
+    };
     "@types/material-design-lite-1.1.16" = {
       name = "_at_types_slash_material-design-lite";
       packageName = "@types/material-design-lite";
@@ -7204,6 +8248,15 @@ let
         sha512 = "W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==";
       };
     };
+    "@types/mdurl-1.0.2" = {
+      name = "_at_types_slash_mdurl";
+      packageName = "@types/mdurl";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz";
+        sha512 = "eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==";
+      };
+    };
     "@types/mime-1.3.2" = {
       name = "_at_types_slash_mime";
       packageName = "@types/mime";
@@ -7339,13 +8392,22 @@ let
         sha512 = "F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==";
       };
     };
-    "@types/node-12.20.37" = {
+    "@types/node-11.11.6" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.37";
+      version = "11.11.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.37.tgz";
-        sha512 = "i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA==";
+        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" = {
@@ -7375,13 +8437,13 @@ let
         sha512 = "USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==";
       };
     };
-    "@types/node-14.18.0" = {
+    "@types/node-14.18.12" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.18.0";
+      version = "14.18.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.18.0.tgz";
-        sha512 = "0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz";
+        sha512 = "q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==";
       };
     };
     "@types/node-15.14.9" = {
@@ -7393,49 +8455,94 @@ let
         sha512 = "qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==";
       };
     };
-    "@types/node-16.11.11" = {
+    "@types/node-16.11.25" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.11";
+      version = "16.11.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz";
-        sha512 = "KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.25.tgz";
+        sha512 = "NrTwfD7L1RTc2qrHQD4RTTy4p0CO2LatKBEKEds3CaVuhoM/+DJzmWZl5f+ikR8cm8F5mfJxK+9rQq07gRiSjQ==";
       };
     };
-    "@types/node-16.11.12" = {
+    "@types/node-16.11.7" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.12";
+      version = "16.11.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz";
-        sha512 = "+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.7.tgz";
+        sha512 = "QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==";
       };
     };
-    "@types/node-16.11.14" = {
+    "@types/node-17.0.10" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.14";
+      version = "17.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.14.tgz";
-        sha512 = "mK6BKLpL0bG6v2CxHbm0ed6RcZrAtTHBTd/ZpnlVPVa3HkumsqLE4BC4u6TQ8D7pnrRbOU0am6epuALs+Ncnzw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz";
+        sha512 = "S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==";
       };
     };
-    "@types/node-16.11.7" = {
+    "@types/node-17.0.14" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.7";
+      version = "17.0.14";
       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-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.0" = {
+    "@types/node-17.0.17" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.0";
+      version = "17.0.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz";
-        sha512 = "eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==";
+        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";
+      version = "17.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz";
+        sha512 = "YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==";
       };
     };
     "@types/node-6.14.13" = {
@@ -7465,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" = {
@@ -7546,13 +8653,13 @@ let
         sha512 = "rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==";
       };
     };
-    "@types/pug-2.0.5" = {
+    "@types/pug-2.0.6" = {
       name = "_at_types_slash_pug";
       packageName = "@types/pug";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/pug/-/pug-2.0.5.tgz";
-        sha512 = "LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==";
+        url = "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz";
+        sha512 = "SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==";
       };
     };
     "@types/q-1.5.5" = {
@@ -7600,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" = {
@@ -7627,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" = {
@@ -7654,13 +8761,13 @@ let
         sha512 = "GWP9AZW7foLd4YQxyFZDBepl0lPsWLMEXDZUjQ/c1gqVPDPECrRZyEzuhJdnPWioFCq3Tv0qoGpMD6U+ygd4ZA==";
       };
     };
-    "@types/request-promise-native-1.0.18" = {
-      name = "_at_types_slash_request-promise-native";
-      packageName = "@types/request-promise-native";
-      version = "1.0.18";
+    "@types/request-2.48.8" = {
+      name = "_at_types_slash_request";
+      packageName = "@types/request";
+      version = "2.48.8";
       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==";
+        url = "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz";
+        sha512 = "whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==";
       };
     };
     "@types/resolve-0.0.8" = {
@@ -7717,6 +8824,15 @@ let
         sha512 = "Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==";
       };
     };
+    "@types/serve-index-1.9.1" = {
+      name = "_at_types_slash_serve-index";
+      packageName = "@types/serve-index";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz";
+        sha512 = "d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==";
+      };
+    };
     "@types/serve-static-1.13.10" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
@@ -7753,6 +8869,15 @@ let
         sha512 = "m4LnxkljsI9fMsjwpW5QhRpMixo2BeeLpFmg0AE+sS4H1pzAd/cs/ftTiL60FLZgfFa8PFRPx5KsHu8O0bADKQ==";
       };
     };
+    "@types/sockjs-0.3.33" = {
+      name = "_at_types_slash_sockjs";
+      packageName = "@types/sockjs";
+      version = "0.3.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz";
+        sha512 = "f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==";
+      };
+    };
     "@types/source-list-map-0.1.2" = {
       name = "_at_types_slash_source-list-map";
       packageName = "@types/source-list-map";
@@ -7771,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";
@@ -7861,13 +8995,13 @@ let
         sha512 = "awrJu8yML4E/xTwr2EMatC+HBnHGoDxc2+ImA9QyeUELI1S7dOCIZcyjki1rkwoA8P2D2NVgLAJLjnclkdLtAw==";
       };
     };
-    "@types/url-parse-1.4.5" = {
+    "@types/url-parse-1.4.8" = {
       name = "_at_types_slash_url-parse";
       packageName = "@types/url-parse";
-      version = "1.4.5";
+      version = "1.4.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.5.tgz";
-        sha512 = "8Wje3itJpk/FX+QItca9vjNLjGx5jlEYBw/CpMi03Fphk2DSVeZDUqWTE81BeCI5Bl6Z+zmA1O9L/8e3ZUSeLg==";
+        url = "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.8.tgz";
+        sha512 = "zqqcGKyNWgTLFBxmaexGUKQyWqeG7HjXj20EuQJSJWwXe54BjX0ihIo5cJB9yAQzH8dNugJ9GvkBYMjPXs/PJw==";
       };
     };
     "@types/vfile-3.0.2" = {
@@ -7897,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" = {
@@ -7933,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" = {
@@ -7960,22 +9094,22 @@ let
         sha512 = "cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==";
       };
     };
-    "@types/ws-8.2.1" = {
+    "@types/ws-8.2.2" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "8.2.1";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.1.tgz";
-        sha512 = "SqQ+LhVZaJi7c7sYVkjWALDigi/Wy7h7Iu72gkQp8Y8OWw/DddEVBrTSKu86pQftV2+Gm8lYM61hadPKqyaIeg==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz";
+        sha512 = "NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==";
       };
     };
-    "@types/ws-8.2.2" = {
+    "@types/ws-8.2.3" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "8.2.2";
+      version = "8.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz";
-        sha512 = "NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.3.tgz";
+        sha512 = "ahRJZquUYCdOZf/rCsWg88S0/+cb9wazUBHv6HZEe3XdYaBe2zr/slM8J28X07Hn88Pnm4ezo7N8/ofnOgrPVQ==";
       };
     };
     "@types/yargs-15.0.14" = {
@@ -7987,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";
@@ -8023,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";
@@ -8041,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";
@@ -8068,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";
@@ -8086,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";
@@ -8104,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";
@@ -8194,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" = {
@@ -8212,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.26" = {
+    "@vue/compiler-core-3.2.31" = {
       name = "_at_vue_slash_compiler-core";
       packageName = "@vue/compiler-core";
-      version = "3.2.26";
+      version = "3.2.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.26.tgz";
-        sha512 = "N5XNBobZbaASdzY9Lga2D9Lul5vdCIOXvUMd6ThcN8zgqQhPKfCV+wfAJNNJKQkSHudnYRO2gEB+lp0iN3g2Tw==";
+        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.26" = {
+    "@vue/compiler-dom-3.2.31" = {
       name = "_at_vue_slash_compiler-dom";
       packageName = "@vue/compiler-dom";
-      version = "3.2.26";
+      version = "3.2.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.26.tgz";
-        sha512 = "smBfaOW6mQDxcT3p9TKT6mE22vjxjJL50GFVJiI0chXYGU/xzC05QRGrW3HHVuJrmLTLx5zBhsZ2dIATERbarg==";
+        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz";
+        sha512 = "60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==";
       };
     };
-    "@vue/shared-3.2.26" = {
+    "@vue/shared-3.2.31" = {
       name = "_at_vue_slash_shared";
       packageName = "@vue/shared";
-      version = "3.2.26";
+      version = "3.2.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.2.26.tgz";
-        sha512 = "vPV6Cq+NIWbH5pZu+V+2QHE9y1qfuTq49uNWw4f7FDEeZaDU2H2cx5jcUZOAKW7qTrUS4k6qZPbMy1x4N96nbA==";
+        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz";
+        sha512 = "ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==";
       };
     };
     "@webassemblyjs/ast-1.11.1" = {
@@ -8815,31 +9913,40 @@ 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" = {
+      name = "_at_webtorrent_slash_http-node";
+      packageName = "@webtorrent/http-node";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webtorrent/http-node/-/http-node-1.3.0.tgz";
+        sha512 = "GWZQKroPES4z91Ijx6zsOsb7+USOxjy66s8AoTWg0HiBBdfnbtf9aeh3Uav0MgYn4BL8Q7tVSUpd0gGpngKGEQ==";
       };
     };
     "@wry/equality-0.1.11" = {
@@ -8860,6 +9967,15 @@ let
         sha512 = "V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==";
       };
     };
+    "@xmldom/xmldom-0.8.1" = {
+      name = "_at_xmldom_slash_xmldom";
+      packageName = "@xmldom/xmldom";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.1.tgz";
+        sha512 = "4wOae+5N2RZ+CZXd9ZKwkaDi55IxrSTOjHpxTvQQ4fomtOJmqVxbmICA9jE1jvnqNhpfgz8cnfFagG86wV/xLQ==";
+      };
+    };
     "@xmpp/base64-0.12.1" = {
       name = "_at_xmpp_slash_base64";
       packageName = "@xmpp/base64";
@@ -9103,13 +10219,13 @@ let
         sha512 = "3SIr/jmyHDMkCzOtcH03YG9qTAJeE7auPg/V7e9tJrhiW329hNMhg8+VAO72Tp1AOi5bMhma09ACRS2Y9bMOKA==";
       };
     };
-    "@xstate/fsm-1.6.2" = {
+    "@xstate/fsm-1.6.4" = {
       name = "_at_xstate_slash_fsm";
       packageName = "@xstate/fsm";
-      version = "1.6.2";
+      version = "1.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xstate/fsm/-/fsm-1.6.2.tgz";
-        sha512 = "vOfiFVQu9mQceA8oJ3PcA4vwhtyo/j/mbVDVIlHDOh3iuiTqMnp805zZ3QsouRdO2Ie3B7n3jMw8BntI74fZxg==";
+        url = "https://registry.npmjs.org/@xstate/fsm/-/fsm-1.6.4.tgz";
+        sha512 = "JvoozDB1ndz+byxXsQYW150gAJQIAKZt8MfU2a4dqGhhxfvHBKNj5e1rqb+adVCLtB+F/McyUBe4jRauFhTCTQ==";
       };
     };
     "@xtuc/ieee754-1.2.0" = {
@@ -9247,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";
@@ -9292,6 +10399,15 @@ let
         sha512 = "TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==";
       };
     };
+    "abstract-logging-1.0.0" = {
+      name = "abstract-logging";
+      packageName = "abstract-logging";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abstract-logging/-/abstract-logging-1.0.0.tgz";
+        sha1 = "8b7deafd310559bc28f77724dd1bb30177278c1b";
+      };
+    };
     "abstract-logging-2.0.1" = {
       name = "abstract-logging";
       packageName = "abstract-logging";
@@ -9310,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" = {
@@ -9391,13 +10507,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-1.0.9" = {
@@ -9553,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" = {
@@ -9571,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" = {
@@ -9661,13 +10777,13 @@ let
         sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
       };
     };
-    "agentkeepalive-4.1.4" = {
+    "agentkeepalive-4.2.0" = {
       name = "agentkeepalive";
       packageName = "agentkeepalive";
-      version = "4.1.4";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz";
-        sha512 = "+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==";
+        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz";
+        sha512 = "0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==";
       };
     };
     "aggregate-error-3.1.0" = {
@@ -9769,22 +10885,22 @@ let
         sha512 = "LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==";
       };
     };
-    "ajv-8.6.3" = {
+    "ajv-8.10.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "8.6.3";
+      version = "8.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz";
-        sha512 = "SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz";
+        sha512 = "bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==";
       };
     };
-    "ajv-8.8.2" = {
+    "ajv-8.9.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "8.8.2";
+      version = "8.9.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.9.0.tgz";
+        sha512 = "qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==";
       };
     };
     "ajv-errors-1.0.1" = {
@@ -9976,15 +11092,6 @@ let
         sha512 = "SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==";
       };
     };
-    "ansi-colors-3.2.3" = {
-      name = "ansi-colors";
-      packageName = "ansi-colors";
-      version = "3.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz";
-        sha512 = "LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==";
-      };
-    };
     "ansi-colors-3.2.4" = {
       name = "ansi-colors";
       packageName = "ansi-colors";
@@ -10228,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";
@@ -10696,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";
@@ -10759,6 +11884,15 @@ let
         sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
       };
     };
+    "args-5.0.1" = {
+      name = "args";
+      packageName = "args";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/args/-/args-5.0.1.tgz";
+        sha512 = "1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==";
+      };
+    };
     "argsarray-0.0.1" = {
       name = "argsarray";
       packageName = "argsarray";
@@ -11290,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";
@@ -11299,13 +12442,13 @@ let
         sha512 = "PNxzXIPPOtWq8T7bgzBtk9cI2lgS4SJZthUHEiQ1aoIc3lNzGfUvIvo9LiAnq26TACo9t1/4qP6KTGAUbzX9Xg==";
       };
     };
-    "asciidoctor.js-1.5.9" = {
-      name = "asciidoctor.js";
-      packageName = "asciidoctor.js";
-      version = "1.5.9";
+    "asciidoctor-opal-runtime-0.3.3" = {
+      name = "asciidoctor-opal-runtime";
+      packageName = "asciidoctor-opal-runtime";
+      version = "0.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asciidoctor.js/-/asciidoctor.js-1.5.9.tgz";
-        sha512 = "k5JgwyV82TsiCpnYbDPReuHhzf/vRUt6NaZ+OGywkDDGeGG/CPfvN2Gd1MJ0iIZKDyuk4iJHOdY/2x1KBrWMzA==";
+        url = "https://registry.npmjs.org/asciidoctor-opal-runtime/-/asciidoctor-opal-runtime-0.3.3.tgz";
+        sha512 = "/CEVNiOia8E5BMO9FLooo+Kv18K4+4JBFRJp8vUy/N5dMRAg+fRNV4HA+o6aoSC79jVU/aT5XvUpxSxSsTS8FQ==";
       };
     };
     "ascli-0.3.0" = {
@@ -11443,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";
@@ -11596,13 +12730,22 @@ let
         sha512 = "H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==";
       };
     };
-    "async-append-only-log-3.1.1" = {
+    "async-3.2.3" = {
+      name = "async";
+      packageName = "async";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
+      };
+    };
+    "async-append-only-log-3.1.4" = {
       name = "async-append-only-log";
       packageName = "async-append-only-log";
-      version = "3.1.1";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-append-only-log/-/async-append-only-log-3.1.1.tgz";
-        sha512 = "lYRaqf2GHt5ojw/jyGZqiHUSG3MJ3sZTUOPTsDUSVsuZhdJkIBL6jSowM437dqFnWtj7VXqYXZxl7E9SiVv+WA==";
+        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" = {
@@ -11668,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" = {
@@ -11749,6 +12892,15 @@ let
         sha512 = "+NoBU9in09GHOWgRv+HhF3kDxqgJ6KowRA7xwHZKxajnh+ybBJhp24i2nOyulZtpdn+4eyrfLvTD6VoRk7TWyQ==";
       };
     };
+    "asyncjs-util-1.2.8" = {
+      name = "asyncjs-util";
+      packageName = "asyncjs-util";
+      version = "1.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asyncjs-util/-/asyncjs-util-1.2.8.tgz";
+        sha512 = "wUcEKoAxBWWNE1wXkoIvIyM1vVDfvItYXANYTgwemeRL8FgV6z70XdLGLBMty0WiQSub0fBuKIyF+Hz3DCahOg==";
+      };
+    };
     "asynckit-0.4.0" = {
       name = "asynckit";
       packageName = "asynckit";
@@ -11875,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";
@@ -11929,13 +13072,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.1046.0" = {
+    "aws-sdk-2.1077.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1046.0";
+      version = "2.1077.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1046.0.tgz";
-        sha512 = "ocwHclMXdIA+NWocUyvp9Ild3/zy2vr5mHp3mTyodf0WU5lzBE8PocCVLSWhMAXLxyia83xv2y5f5AzAcetbqA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1077.0.tgz";
+        sha512 = "orJvJROs8hJaQRfHsX7Zl5PxEgrD/uTXyqXz9Yu9Io5VVxzvnOty9oHmvEMSlgTIf1qd01gnev/vpvP1HgzKtw==";
       };
     };
     "aws-sdk-2.920.0" = {
@@ -12001,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" = {
@@ -12037,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" = {
@@ -12325,40 +13468,40 @@ let
         sha1 = "1bc6f15b87f7ab1085d42b330b717657a2156500";
       };
     };
-    "babel-plugin-polyfill-corejs2-0.3.0" = {
+    "babel-plugin-polyfill-corejs2-0.3.1" = {
       name = "babel-plugin-polyfill-corejs2";
       packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz";
-        sha512 = "wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz";
+        sha512 = "v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==";
       };
     };
-    "babel-plugin-polyfill-corejs3-0.4.0" = {
+    "babel-plugin-polyfill-corejs3-0.5.2" = {
       name = "babel-plugin-polyfill-corejs3";
       packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.4.0";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz";
-        sha512 = "YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==";
+        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.0" = {
+    "babel-plugin-polyfill-regenerator-0.3.1" = {
       name = "babel-plugin-polyfill-regenerator";
       packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz";
-        sha512 = "dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
+        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" = {
@@ -12766,24 +13909,6 @@ let
         sha1 = "73926771923b5a19747ad666aa5cd4bf9c6e9ce8";
       };
     };
-    "base64-arraybuffer-1.0.1" = {
-      name = "base64-arraybuffer";
-      packageName = "base64-arraybuffer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz";
-        sha512 = "vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==";
-      };
-    };
-    "base64-js-0.0.2" = {
-      name = "base64-js";
-      packageName = "base64-js";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz";
-        sha1 = "024f0f72afa25b75f9c0ee73cd4f55ec1bed9784";
-      };
-    };
     "base64-js-0.0.8" = {
       name = "base64-js";
       packageName = "base64-js";
@@ -13036,15 +14161,6 @@ let
         sha1 = "3143448e82b0fadc745633ecc2a5f8fa87932f19";
       };
     };
-    "bencode-1.0.0" = {
-      name = "bencode";
-      packageName = "bencode";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bencode/-/bencode-1.0.0.tgz";
-        sha512 = "N+VOSP5MkoX+xgnp6Y056iCY5TmCZg9rgPNPQe0bIiXchxYFP4vs/Tf0dTdQ+qQhP7HM2gvfFq+sUVjQsGy5Zw==";
-      };
-    };
     "bencode-2.0.2" = {
       name = "bencode";
       packageName = "bencode";
@@ -13099,31 +14215,13 @@ let
         sha512 = "kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==";
       };
     };
-    "better-opn-3.0.1" = {
+    "better-opn-3.0.2" = {
       name = "better-opn";
       packageName = "better-opn";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/better-opn/-/better-opn-3.0.1.tgz";
-        sha512 = "u7pU4QnwLQ+wCDLHdvtWbI/41pSRayJ+UHyAqpb5sr42FGnqzBlEyWdCklfaSzXqbmnXDBzCvWcaZmL3qp0xGA==";
-      };
-    };
-    "better-queue-3.8.10" = {
-      name = "better-queue";
-      packageName = "better-queue";
-      version = "3.8.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz";
-        sha512 = "e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA==";
-      };
-    };
-    "better-queue-memory-1.0.4" = {
-      name = "better-queue-memory";
-      packageName = "better-queue-memory";
-      version = "1.0.4";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/better-queue-memory/-/better-queue-memory-1.0.4.tgz";
-        sha512 = "SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA==";
+        url = "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz";
+        sha512 = "aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==";
       };
     };
     "bevent-0.1.5" = {
@@ -13252,13 +14350,13 @@ let
         sha1 = "dd3a862b2fedf66fee8471320069428d0d84427a";
       };
     };
-    "bin-links-2.3.0" = {
+    "bin-links-3.0.0" = {
       name = "bin-links";
       packageName = "bin-links";
-      version = "2.3.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bin-links/-/bin-links-2.3.0.tgz";
-        sha512 = "JzrOLHLwX2zMqKdyYZjkDgQGT+kHDkIhv2/IK2lJ00qLxV4TmFoHi8drDBb6H5Zrz1YfgHkai4e2MGPqnoUhqA==";
+        url = "https://registry.npmjs.org/bin-links/-/bin-links-3.0.0.tgz";
+        sha512 = "fC7kPWcEkAWBgCKxmAMqZldlIeHsXwQy9JXzrppAVQiukGiDKxmYesJcBKWu6UMwx/5GOfo10wtK/4zy+Xt/mg==";
       };
     };
     "bin-version-3.1.0" = {
@@ -13360,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" = {
@@ -13396,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";
@@ -13423,13 +14539,13 @@ let
         sha512 = "O1htyufFTYy3EO0JkHg2CLykdXEtV2ssqw47Gq9A0WByp662xpJnMEB9m43LZjsSDjIAOozWRExlFQk2hlV1XQ==";
       };
     };
-    "bipf-1.5.4" = {
+    "bipf-1.5.5" = {
       name = "bipf";
       packageName = "bipf";
-      version = "1.5.4";
+      version = "1.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bipf/-/bipf-1.5.4.tgz";
-        sha512 = "/bQfGxhC9D0plJPFamZBL5d4q41d/lh1g+uFglrO5TA09ka/BE3oDE2YAZSPYzqdeq4LyM6uKJaGPhd6athgYg==";
+        url = "https://registry.npmjs.org/bipf/-/bipf-1.5.5.tgz";
+        sha512 = "sGJPBMy5GUBXhmc50TX+LdBXpU6oTR/lkxwbU98GzA2XdmcDK2rmPxcH6NWMtbRO5sv9LhBDrmCxR89HPZsRuQ==";
       };
     };
     "bit-field-1.5.3" = {
@@ -13522,15 +14638,6 @@ let
         sha1 = "8b40f8cee6bea87f2b34fd2ae0bd367a8b1247a6";
       };
     };
-    "bittorrent-dht-7.10.0" = {
-      name = "bittorrent-dht";
-      packageName = "bittorrent-dht";
-      version = "7.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.10.0.tgz";
-        sha512 = "fvb6M58Ceiv/S94nu6zeaiMoJvUYOeIqRbgaClm+kJTzCAqJPtAR/31pXNYB5iEReOoKqQB5zY33gY0W6ZRWQQ==";
-      };
-    };
     "bittorrent-lsd-1.1.1" = {
       name = "bittorrent-lsd";
       packageName = "bittorrent-lsd";
@@ -13549,13 +14656,13 @@ let
         sha512 = "Xzk1FJFHmsc9H8IKFtDUkfAZIT1HW8r6UqajfZBBxWmpA1v7FsPO8xPFtnFzCqcXlPN3yi8dDmlqZCemyB7P8w==";
       };
     };
-    "bittorrent-protocol-3.4.3" = {
+    "bittorrent-protocol-3.5.1" = {
       name = "bittorrent-protocol";
       packageName = "bittorrent-protocol";
-      version = "3.4.3";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.4.3.tgz";
-        sha512 = "FNQMWrVptQlOxT5+s4M8QO6yWv67WwquUwpg+0dMcPj2UjwGt+XP3U/jVPg16PxxOBz0N371L+Qe7H2LdALC9Q==";
+        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.5.1.tgz";
+        sha512 = "euVSavQL0jBqRcbsNs5zUP9Ygm+OW5vCDDaatC6vrONtXp+eVe4sO1wA58Gig3IYOdRSBKl53auniWEAJ9quxg==";
       };
     };
     "bittorrent-tracker-7.7.0" = {
@@ -13594,24 +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.0.4" = {
-      name = "bl";
-      packageName = "bl";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bl/-/bl-4.0.4.tgz";
-        sha512 = "7tdr4EpSd7jJ6tuQ21vu2ke8w7pNEstzj1O8wwq6sNNzO3UDi5MA8Gny/gquCj7r2C6fHudg8tKRGyjRgmvNxQ==";
-      };
-    };
     "bl-4.1.0" = {
       name = "bl";
       packageName = "bl";
@@ -13684,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" = {
@@ -13810,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";
@@ -13963,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";
@@ -13972,13 +15061,13 @@ let
         sha512 = "zEvNSymgMeMMeFwWmwpklFoN/OJA3YO/pVgFTBV3TVq5ulfS0+mVKEGfeInEQESoaSVK1dsVPGr2RLD22uH/aQ==";
       };
     };
-    "bolt03-1.2.12" = {
+    "bolt03-1.2.13" = {
       name = "bolt03";
       packageName = "bolt03";
-      version = "1.2.12";
+      version = "1.2.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bolt03/-/bolt03-1.2.12.tgz";
-        sha512 = "kGtY3c2gdtsYhLCgcAmNvuGlDWlXJ2ysjuFIF39uQTXUykvI8icAnIzAxlZirhtqmRA3uRq4LB6M3BXbGShFrw==";
+        url = "https://registry.npmjs.org/bolt03/-/bolt03-1.2.13.tgz";
+        sha512 = "7KfDXG9JsWwMWZxYSYkP9Ga9vC3JQHvEcIZio4m/edNPAvgSiUCadNPaEjUI9gGeGaRa1RatYg33arBKr4Y3+A==";
       };
     };
     "bolt07-1.7.4" = {
@@ -13990,6 +15079,15 @@ let
         sha512 = "y82Na9vEBY+rqjJhjYMFAch70nWvbL5OiEPFqNf7cGTtQfG7g/Vui2KnemrX1mxEw2SgccF+Rn1NSRm9HFtu3w==";
       };
     };
+    "bolt07-1.8.0" = {
+      name = "bolt07";
+      packageName = "bolt07";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bolt07/-/bolt07-1.8.0.tgz";
+        sha512 = "UJq+p94UK9QsU3P1npJyWF3r8TuJd6kv6P4m656VQK/m5ifw0bWCkYF0ngcHbFGq3j8u3gP8/tkGtB8WwPPRbQ==";
+      };
+    };
     "bolt09-0.2.0" = {
       name = "bolt09";
       packageName = "bolt09";
@@ -13999,6 +15097,24 @@ let
         sha512 = "s6QWo7qqu6fKGLISGMSG+vFxIRzeUT3KQHDiHpvhflyI3TQD6zdaMu4fEpP7PoyMFJt2Ve26SBvvRP3MM7V0bw==";
       };
     };
+    "bolt09-0.2.1" = {
+      name = "bolt09";
+      packageName = "bolt09";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bolt09/-/bolt09-0.2.1.tgz";
+        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";
@@ -14017,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" = {
@@ -14062,13 +15178,13 @@ let
         sha512 = "SiHJE2jEXjAL3TewN99wDl5Ehpm5DKA75oIyiY+2EMWWMPhIuZlQ/AvDzsLktNkwhylmAVLwiW+nuBPIU7kcoQ==";
       };
     };
-    "bops-0.0.7" = {
-      name = "bops";
-      packageName = "bops";
-      version = "0.0.7";
+    "borsh-0.6.0" = {
+      name = "borsh";
+      packageName = "borsh";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bops/-/bops-0.0.7.tgz";
-        sha1 = "b4a0a5a839a406454af0fe05a8b91a7a766a54e2";
+        url = "https://registry.npmjs.org/borsh/-/borsh-0.6.0.tgz";
+        sha512 = "sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q==";
       };
     };
     "bottleneck-2.19.5" = {
@@ -14125,6 +15241,15 @@ let
         sha1 = "0c1817c48063a88d96cc3d516c55e57fff5d9ecb";
       };
     };
+    "bowser-2.11.0" = {
+      name = "bowser";
+      packageName = "bowser";
+      version = "2.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz";
+        sha512 = "AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==";
+      };
+    };
     "boxen-0.6.0" = {
       name = "boxen";
       packageName = "boxen";
@@ -14233,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";
@@ -14485,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";
@@ -14503,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" = {
@@ -14909,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";
@@ -14945,13 +16061,13 @@ let
         sha1 = "69fdf13ad9d91222baee109945faadc431534f86";
       };
     };
-    "bufferutil-4.0.5" = {
+    "bufferutil-4.0.6" = {
       name = "bufferutil";
       packageName = "bufferutil";
-      version = "4.0.5";
+      version = "4.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz";
-        sha512 = "HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==";
+        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz";
+        sha512 = "jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==";
       };
     };
     "bufferview-1.0.1" = {
@@ -15098,6 +16214,15 @@ let
         sha512 = "y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==";
       };
     };
+    "busboy-1.4.0" = {
+      name = "busboy";
+      packageName = "busboy";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/busboy/-/busboy-1.4.0.tgz";
+        sha512 = "TytIELfX6IPn1OClqcBz0NFE6+JT9e3iW0ZpgnEl7ffsfDxvRZGHfPaSHGbrI443nSV3GutCDWuqLB6yHY92Ew==";
+      };
+    };
     "bval-0.1.6" = {
       name = "bval";
       packageName = "bval";
@@ -15215,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";
@@ -15224,15 +16358,6 @@ let
         sha512 = "i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==";
       };
     };
-    "cacache-11.3.3" = {
-      name = "cacache";
-      packageName = "cacache";
-      version = "11.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz";
-        sha512 = "p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==";
-      };
-    };
     "cacache-12.0.4" = {
       name = "cacache";
       packageName = "cacache";
@@ -15269,6 +16394,15 @@ let
         sha512 = "2lJdWbgHFFxcSth9s2wpId3CR3v1YC63KjP4T9WhpW7LWlY7Hiiei3QwwqzkWqlJTfR8lSy9F5kRQECeyj+yQA==";
       };
     };
+    "cache-content-type-1.0.1" = {
+      name = "cache-content-type";
+      packageName = "cache-content-type";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz";
+        sha512 = "IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==";
+      };
+    };
     "cache-directory-2.0.0" = {
       name = "cache-directory";
       packageName = "cache-directory";
@@ -15296,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";
@@ -15323,13 +16466,13 @@ let
         sha512 = "pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==";
       };
     };
-    "cached-path-relative-1.0.2" = {
+    "cached-path-relative-1.1.0" = {
       name = "cached-path-relative";
       packageName = "cached-path-relative";
-      version = "1.0.2";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz";
-        sha512 = "5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==";
+        url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz";
+        sha512 = "WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==";
       };
     };
     "cachedir-2.3.0" = {
@@ -15386,6 +16529,15 @@ let
         sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
       };
     };
+    "caller-callsite-4.1.0" = {
+      name = "caller-callsite";
+      packageName = "caller-callsite";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caller-callsite/-/caller-callsite-4.1.0.tgz";
+        sha512 = "99nnnGlJexTc41xwQTr+mWl15OI5PPczUJzM4YRE7QjkefMKCXGa5gfQjCOuVrD+1TjI/fevIDHg2nz3iYN5Ig==";
+      };
+    };
     "caller-path-0.1.0" = {
       name = "caller-path";
       packageName = "caller-path";
@@ -15404,6 +16556,15 @@ let
         sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
       };
     };
+    "caller-path-3.0.1" = {
+      name = "caller-path";
+      packageName = "caller-path";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caller-path/-/caller-path-3.0.1.tgz";
+        sha512 = "fhmztL4wURO/BzwJUJ4aVRdnKEFskPBbrJ8fNgl7XdUiD1ygzzlt+nhPgUBSRq2ciEVubo6x+W8vJQzm55QLLQ==";
+      };
+    };
     "callsite-1.0.0" = {
       name = "callsite";
       packageName = "callsite";
@@ -15503,6 +16664,15 @@ let
         sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
       };
     };
+    "camelcase-5.0.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz";
+        sha512 = "faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==";
+      };
+    };
     "camelcase-5.3.1" = {
       name = "camelcase";
       packageName = "camelcase";
@@ -15521,13 +16691,13 @@ let
         sha512 = "c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==";
       };
     };
-    "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==";
       };
     };
     "camelcase-css-2.0.1" = {
@@ -15566,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" = {
@@ -15593,22 +16763,22 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001287" = {
+    "caniuse-lite-1.0.30001312" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001287";
+      version = "1.0.30001312";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001287.tgz";
-        sha512 = "4udbs9bc0hfNrcje++AxBuc6PfLNHwh3PO9kbwnfCQWyqtlzg3py0YgFu8jyRTTo85VAz4U+VLxSlID09vNtWA==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz";
+        sha512 = "Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==";
       };
     };
-    "canvas-2.8.0" = {
+    "canvas-2.9.0" = {
       name = "canvas";
       packageName = "canvas";
-      version = "2.8.0";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/canvas/-/canvas-2.8.0.tgz";
-        sha512 = "gLTi17X8WY9Cf5GZ2Yns8T5lfBOcGgFehDFb+JQwDqdOoBOcECS9ZWMEAqMSVcMYwXD659J8NyzjRY/2aE+C2Q==";
+        url = "https://registry.npmjs.org/canvas/-/canvas-2.9.0.tgz";
+        sha512 = "0l93g7uxp7rMyr7H+XRQ28A3ud0dKIUTIEkUe1Dxh4rjUYN7B93+SjC3r1PDKA18xcQN87OFGgUnyw7LSgNLSQ==";
       };
     };
     "canvg-3.0.7" = {
@@ -15620,13 +16790,13 @@ let
         sha512 = "4sq6iL5Q4VOXS3PL1BapiXIZItpxYyANVzsAKpTPS5oq4u3SKbGfUcbZh2gdLCQ3jWpG/y5wRkMlBBAJhXeiZA==";
       };
     };
-    "caporal-1.4.0" = {
-      name = "caporal";
-      packageName = "caporal";
-      version = "1.4.0";
+    "capability-0.2.5" = {
+      name = "capability";
+      packageName = "capability";
+      version = "0.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caporal/-/caporal-1.4.0.tgz";
-        sha512 = "3pWfIwKVdIbB/gWmpLloO6iGAXTRi9mcTinPOwvHfzH3BYjOhLgq2XRG3hKtp+F6vBcBXxMgCobUzBAx1d8T4A==";
+        url = "https://registry.npmjs.org/capability/-/capability-0.2.5.tgz";
+        sha1 = "51ad87353f1936ffd77f2f21c74633a4dea88801";
       };
     };
     "capture-exit-2.0.0" = {
@@ -15728,15 +16898,6 @@ let
         sha512 = "Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==";
       };
     };
-    "cbor-8.0.2" = {
-      name = "cbor";
-      packageName = "cbor";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cbor/-/cbor-8.0.2.tgz";
-        sha512 = "H5WTjQYgyHQI0VrCmbyQBOPy1353MjmUi/r3DbPib4U13vuyqm7es9Mfpe8G58bN/mCdRlJWkiCrPl1uM1wAlg==";
-      };
-    };
     "cbor-8.1.0" = {
       name = "cbor";
       packageName = "cbor";
@@ -15764,31 +16925,31 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-1.3.2" = {
+    "cdk8s-1.5.22" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.3.2";
+      version = "1.5.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.3.2.tgz";
-        sha512 = "ZAYcx5EplKocUWhB50cYqs6C21+27ogXZiqY68J521Lt0cGgCm95Z0Ul3vErmcxaRPGto66odmgZ9FkGBAW8bA==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.22.tgz";
+        sha512 = "MVvvrRQPhQYK6EJ2RiyGZvGNihuqf//K03ga7R+otyTl8jDwEEoaOOfIXeemhXXqLixfqKOSUO1VJIALAt6/iQ==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.62" = {
+    "cdk8s-plus-22-1.0.0-beta.123" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.62";
+      version = "1.0.0-beta.123";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.62.tgz";
-        sha512 = "VlRod4cmslhNOUt34d1gysY5qlK2lbhXI5PI4wXbvKDDEUvi5MGPGXCREtvDcgzDZk+EqdJ6QTnjYWnqLzcAng==";
+        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.3" = {
+    "cdktf-0.9.1" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.8.3";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.8.3.tgz";
-        sha512 = "XW1bmmZ71OslgcCpmippWJOzdL1prJ1rTVADk4AKN+cw0s8udJ/FDJJVdfwH0ZMvFtU82ha+epOIHO8GJjSPHA==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.9.1.tgz";
+        sha512 = "GOt29nXb2eM7DoqnErp98m1j4crPcplhK+kjb5ACF2hHXSgK4VWNNIxoYLDZBB/FtPJRXDLWwuI7mugBi0vncQ==";
       };
     };
     "center-align-0.1.3" = {
@@ -15809,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" = {
@@ -16088,13 +17249,13 @@ let
         sha512 = "+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==";
       };
     };
-    "chart.js-3.6.2" = {
+    "chart.js-3.7.1" = {
       name = "chart.js";
       packageName = "chart.js";
-      version = "3.6.2";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chart.js/-/chart.js-3.6.2.tgz";
-        sha512 = "Xz7f/fgtVltfQYWq0zL1Xbv7N2inpG+B54p3D5FSvpCdy3sM+oZhbqa42eNuYXltaVvajgX5UpKCU2GeeJIgxg==";
+        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" = {
@@ -16196,6 +17357,15 @@ let
         sha512 = "g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==";
       };
     };
+    "cheerio-1.0.0-rc.3" = {
+      name = "cheerio";
+      packageName = "cheerio";
+      version = "1.0.0-rc.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz";
+        sha512 = "0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==";
+      };
+    };
     "cheerio-select-1.5.0" = {
       name = "cheerio-select";
       packageName = "cheerio-select";
@@ -16277,15 +17447,6 @@ let
         sha512 = "c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==";
       };
     };
-    "chokidar-3.3.0" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz";
-        sha512 = "dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==";
-      };
-    };
     "chokidar-3.5.1" = {
       name = "chokidar";
       packageName = "chokidar";
@@ -16295,13 +17456,13 @@ let
         sha512 = "9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==";
       };
     };
-    "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==";
       };
     };
     "chownr-0.0.2" = {
@@ -16331,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" = {
@@ -16484,15 +17645,6 @@ let
         sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
       };
     };
-    "circular-append-file-1.0.1" = {
-      name = "circular-append-file";
-      packageName = "circular-append-file";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/circular-append-file/-/circular-append-file-1.0.1.tgz";
-        sha512 = "BUDFvrBTCdeVhg9E05PX4XgMegk6xWB69uGwyuATEg7PMfa9lGU1mzFSK0xWNW2O0i9CAQHN0oIdXI/kI2hPkg==";
-      };
-    };
     "circular-dependency-plugin-5.2.2" = {
       name = "circular-dependency-plugin";
       packageName = "circular-dependency-plugin";
@@ -16601,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" = {
@@ -16691,15 +17843,6 @@ let
         sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
       };
     };
-    "cli-color-0.1.7" = {
-      name = "cli-color";
-      packageName = "cli-color";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz";
-        sha1 = "adc3200fa471cc211b0da7f566b71e98b9d67347";
-      };
-    };
     "cli-color-1.4.0" = {
       name = "cli-color";
       packageName = "cli-color";
@@ -16763,13 +17906,13 @@ let
         sha1 = "7e673ee0dd39a611a486476e53f3c6b3941cb582";
       };
     };
-    "cli-progress-3.9.1" = {
+    "cli-progress-3.10.0" = {
       name = "cli-progress";
       packageName = "cli-progress";
-      version = "3.9.1";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.1.tgz";
-        sha512 = "AXxiCe2a0Lm0VN+9L0jzmfQSkcZm5EYspfqXKaSIQKqIk+0hnkZ3/v1E9B39mkD6vYhKih3c/RPsJBSwq9O99Q==";
+        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.10.0.tgz";
+        sha512 = "kLORQrhYCAtUPLZxqsAt2YJGOvRdt34+O6jl5cQGb7iF3dM55FQZlTR+rQyIK9JUcO9bBMwZsTlND+3dmFU2Cw==";
       };
     };
     "cli-progress-footer-2.3.0" = {
@@ -16808,13 +17951,13 @@ let
         sha512 = "x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==";
       };
     };
-    "cli-sprintf-format-1.1.0" = {
+    "cli-sprintf-format-1.1.1" = {
       name = "cli-sprintf-format";
       packageName = "cli-sprintf-format";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-sprintf-format/-/cli-sprintf-format-1.1.0.tgz";
-        sha512 = "t3LcCdPvrypZovStadWdRS4a186gsq9aoHJYTIer55VY20YdVjGVHDV4uPWcWCXTw1tPjfwlRGE7zKMWJ663Sw==";
+        url = "https://registry.npmjs.org/cli-sprintf-format/-/cli-sprintf-format-1.1.1.tgz";
+        sha512 = "BbEjY9BEdA6wagVwTqPvmAwGB24U93rQPBFZUT8lNCDxXzre5LFHQUTJc70czjgUomVg8u8R5kW8oY9DYRFNeg==";
       };
     };
     "cli-table-0.3.11" = {
@@ -16835,13 +17978,13 @@ let
         sha512 = "7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==";
       };
     };
-    "cli-table3-0.6.0" = {
+    "cli-table3-0.6.1" = {
       name = "cli-table3";
       packageName = "cli-table3";
-      version = "0.6.0";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz";
-        sha512 = "gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==";
+        url = "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz";
+        sha512 = "w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==";
       };
     };
     "cli-tableau-2.0.1" = {
@@ -17231,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";
@@ -17402,13 +18536,13 @@ let
         sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
       };
     };
-    "codemaker-1.49.0" = {
+    "codemaker-1.54.0" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.49.0.tgz";
-        sha512 = "WtHwTvbR1uORGHNnl2D3kcPk52u21x4oQNsLC5n7r6vCXdRE7RAsy0hUi1ovt+9NQ4jvM9BfeMUdZp9o8h4oog==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.54.0.tgz";
+        sha512 = "83iPWGyIa089xWAomeTOmBVqgTa0p3k5KGav4kIVZzTLXqh5JiPCjpJr89kuts4O9vLSuvkCBCl8n0MVYP6nlQ==";
       };
     };
     "codepage-1.4.0" = {
@@ -17546,6 +18680,15 @@ let
         sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
       };
     };
+    "colord-2.9.2" = {
+      name = "colord";
+      packageName = "colord";
+      version = "2.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz";
+        sha512 = "Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==";
+      };
+    };
     "colorette-1.4.0" = {
       name = "colorette";
       packageName = "colorette";
@@ -17564,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";
@@ -17600,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";
@@ -17645,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";
@@ -17735,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";
@@ -17843,6 +18968,15 @@ let
         sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
       };
     };
+    "commander-3.0.2" = {
+      name = "commander";
+      packageName = "commander";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz";
+        sha512 = "Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==";
+      };
+    };
     "commander-4.1.1" = {
       name = "commander";
       packageName = "commander";
@@ -17861,13 +18995,13 @@ let
         sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
       };
     };
-    "commander-6.1.0" = {
+    "commander-6.0.0" = {
       name = "commander";
       packageName = "commander";
-      version = "6.1.0";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-6.1.0.tgz";
-        sha512 = "wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA==";
+        url = "https://registry.npmjs.org/commander/-/commander-6.0.0.tgz";
+        sha512 = "s7EA+hDtTYNhuXkTlhqew4txMZVdszBmKWSPEMxGr8ru8JXR7bLUFIAtPhcSuFdJQ0ILMxnJi8GkQL0yvDy/YA==";
       };
     };
     "commander-6.2.1" = {
@@ -17897,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" = {
@@ -17924,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" = {
@@ -18050,6 +19184,15 @@ let
         sha512 = "W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==";
       };
     };
+    "compare-versions-4.1.3" = {
+      name = "compare-versions";
+      packageName = "compare-versions";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.3.tgz";
+        sha512 = "WQfnbDcrYnGr55UwbxKiQKASnTtNnaAWVi8jZyy8NTpVAXWACSne8lMD1iaIo9AiU6mnuLvSVshCzewVuWxHUg==";
+      };
+    };
     "component-bind-1.0.0" = {
       name = "component-bind";
       packageName = "component-bind";
@@ -18365,13 +19508,13 @@ let
         sha1 = "b269b2bb82ddb1ac3db5099c0fb582aba99fb37a";
       };
     };
-    "connections-1.4.2" = {
-      name = "connections";
-      packageName = "connections";
-      version = "1.4.2";
+    "connect-redis-4.0.3" = {
+      name = "connect-redis";
+      packageName = "connect-redis";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/connections/-/connections-1.4.2.tgz";
-        sha1 = "7890482bf5c71af6c5ca192be3136aed74428aad";
+        url = "https://registry.npmjs.org/connect-redis/-/connect-redis-4.0.3.tgz";
+        sha512 = "Php0P0ShNfilW6f2d/2v7Q0VAiFeBYsg0bIgu8ST3x26CcQ1JtzV6vxPLUwK0uiq10hQSMR+HzSNhWbcvx6nLg==";
       };
     };
     "console-browserify-1.1.0" = {
@@ -18437,22 +19580,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-10.0.12" = {
+    "constructs-10.0.68" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.0.12";
+      version = "10.0.68";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.12.tgz";
-        sha512 = "wVQcQgwwK7b//7yI54/3hundmXAw7RBpuy5f6yIBFNceJr8feTK6Cs2I2f3+gp3/ikszzTouLup9AzxioEEXPQ==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.68.tgz";
+        sha512 = "UoHYvlQDEXpSKHDJ5n5e2kcJwojswF0ASvuSyQDesziZN0QjSZBViylRknK1AJuWCelC9sad/ghk4E4a+D8axw==";
       };
     };
-    "constructs-3.3.166" = {
+    "constructs-3.3.223" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.166";
+      version = "3.3.223";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.166.tgz";
-        sha512 = "vhFswEqFb5BRkeYbWPd66A+BtvSSSdRI/1TYNwetC2reJul+ztI40vK9l2CNx1Vi/EOAQp1qjjjTEg+29irtYA==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.223.tgz";
+        sha512 = "WCCR/my4MohLT/OQWioU+0fOzXnMZMD5PHsxT4tnB3iKluGVJynDFCuQ7uNAfLs3rwSx09BIeJHc5B7ZUTVbbQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -18537,24 +19680,6 @@ let
         sha1 = "0e790b3abfef90f6ecb77ae8585db9099caf7578";
       };
     };
-    "contentful-management-7.47.0" = {
-      name = "contentful-management";
-      packageName = "contentful-management";
-      version = "7.47.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/contentful-management/-/contentful-management-7.47.0.tgz";
-        sha512 = "DruvWHDD/og1Qpu0T5kCmRlm6XSJYFDPNNJOlgo3DeUVLEvp/76nAhEjsW2sPV2KBANgD4wVytP4p6/vO3/LxA==";
-      };
-    };
-    "contentful-sdk-core-6.10.4" = {
-      name = "contentful-sdk-core";
-      packageName = "contentful-sdk-core";
-      version = "6.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-6.10.4.tgz";
-        sha512 = "vnivU13pKqFzs/eEugqOaDkKce6ZljBkpp6l25MsG8LA1HPCQNBnIkqP5VUbwk/ub7tkHteV9HtoTnmpdvB+Zg==";
-      };
-    };
     "continuable-1.1.8" = {
       name = "continuable";
       packageName = "continuable";
@@ -18618,13 +19743,13 @@ let
         sha512 = "jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==";
       };
     };
-    "conventional-changelog-3.1.24" = {
+    "conventional-changelog-3.1.25" = {
       name = "conventional-changelog";
       packageName = "conventional-changelog";
-      version = "3.1.24";
+      version = "3.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz";
-        sha512 = "ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==";
+        url = "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz";
+        sha512 = "ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==";
       };
     };
     "conventional-changelog-angular-5.0.13" = {
@@ -18654,13 +19779,13 @@ let
         sha512 = "z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==";
       };
     };
-    "conventional-changelog-conventionalcommits-4.6.1" = {
+    "conventional-changelog-conventionalcommits-4.6.3" = {
       name = "conventional-changelog-conventionalcommits";
       packageName = "conventional-changelog-conventionalcommits";
-      version = "4.6.1";
+      version = "4.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz";
-        sha512 = "lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==";
+        url = "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz";
+        sha512 = "LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==";
       };
     };
     "conventional-changelog-core-4.2.4" = {
@@ -18726,13 +19851,13 @@ let
         sha512 = "GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==";
       };
     };
-    "conventional-changelog-writer-5.0.0" = {
+    "conventional-changelog-writer-5.0.1" = {
       name = "conventional-changelog-writer";
       packageName = "conventional-changelog-writer";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz";
-        sha512 = "HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==";
+        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz";
+        sha512 = "5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==";
       };
     };
     "conventional-commits-filter-2.0.7" = {
@@ -18744,13 +19869,13 @@ let
         sha512 = "ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==";
       };
     };
-    "conventional-commits-parser-3.2.3" = {
+    "conventional-commits-parser-3.2.4" = {
       name = "conventional-commits-parser";
       packageName = "conventional-commits-parser";
-      version = "3.2.3";
+      version = "3.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz";
-        sha512 = "YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==";
+        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz";
+        sha512 = "nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==";
       };
     };
     "conventional-recommended-bump-6.1.0" = {
@@ -18807,13 +19932,13 @@ let
         sha1 = "7e3e48bbe6d997b1417ddca2868204b4d3d85715";
       };
     };
-    "convict-6.0.1" = {
+    "convict-6.2.1" = {
       name = "convict";
       packageName = "convict";
-      version = "6.0.1";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-6.0.1.tgz";
-        sha512 = "M4YNNq5NV4/VS8JhvBSHAokwvQRL4evEuU0VFe1GNPiqnj9TAkLXpf39ImCCVZlsp3CFp04bc/kRSWPGsJGJWg==";
+        url = "https://registry.npmjs.org/convict/-/convict-6.2.1.tgz";
+        sha512 = "Mn4AJiYkR3TAZH1Xm/RU7gFS/0kM5TBSAQDry8y40Aez0ASY+3boUhv+3QE5XbOXiXM2JjdhkKve3IsBvWCibQ==";
       };
     };
     "cookie-0.0.4" = {
@@ -18861,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";
@@ -18924,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" = {
@@ -18969,13 +20103,13 @@ let
         sha512 = "zCazfdYAh3q/O4VzZFiadWGpDA2zTs6FC6D7YTHD6H1J40pzo0H4z22h1NYMCl4ArQP4CK8y/KWqPrJ4rVkZ5A==";
       };
     };
-    "cordova-app-hello-world-5.0.0" = {
+    "cordova-app-hello-world-6.0.0" = {
       name = "cordova-app-hello-world";
       packageName = "cordova-app-hello-world";
-      version = "5.0.0";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-app-hello-world/-/cordova-app-hello-world-5.0.0.tgz";
-        sha512 = "5My01wsYoeYwS0f/t5Ck52xPm0+2zYJ0SlvxG9vUsndDGtgiP6t/G8upPgWcyDRRz7Rs/50yZuOntmHqmJxccQ==";
+        url = "https://registry.npmjs.org/cordova-app-hello-world/-/cordova-app-hello-world-6.0.0.tgz";
+        sha512 = "wPZsm+fzNUwdiTRODT+fQuPV410RNmd3Buiw63vT8BPxjC+cn6Bu8emrgwrDM4pbmU5sa5Unwu3xPcbQGQ3G3g==";
       };
     };
     "cordova-common-4.0.2" = {
@@ -18987,13 +20121,13 @@ let
         sha512 = "od7aNShyuBajzPY83mUEO8tERwwWdFklXETHiXP5Ft87CWeo/tSuwNPFztyTy8XYc74yXdogXKPTJeUHuVzB8Q==";
       };
     };
-    "cordova-create-3.0.0" = {
+    "cordova-create-4.0.0" = {
       name = "cordova-create";
       packageName = "cordova-create";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-create/-/cordova-create-3.0.0.tgz";
-        sha512 = "WxZRTnt5RHxSAB9urnHFUtVBcIe1YjR4sfwHLsxakNoKkFhcie3HrV5QmNBgRQ5DkxmanRN3VSx4OrPVsNmAaQ==";
+        url = "https://registry.npmjs.org/cordova-create/-/cordova-create-4.0.0.tgz";
+        sha512 = "t/4zaDZ4ZsFpC7j6x7s9hR9OeEo8nD2m7rSrzV2PUEfA4BPQujkmk0AIC+5iBvjfR7+ReHOHKsY/NfB1LnMQxQ==";
       };
     };
     "cordova-fetch-3.0.1" = {
@@ -19005,13 +20139,13 @@ let
         sha512 = "bxXk6H3FtGXpCtlO+XyXM4pa72azQomdurNeHbZai9eYBzA5vjyPnsgxsYcylLUc1wQFeR+XWQVfgJitx6ghEw==";
       };
     };
-    "cordova-lib-10.1.0" = {
+    "cordova-lib-11.0.0" = {
       name = "cordova-lib";
       packageName = "cordova-lib";
-      version = "10.1.0";
+      version = "11.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-lib/-/cordova-lib-10.1.0.tgz";
-        sha512 = "JY/r/5RKRjgrjJ1a8z0x/NEU33/97mTFB76PCCcvQOySnmZ0rygRBYmwl2+XwFuUR0LP+fnbieePv6LiPc9UkA==";
+        url = "https://registry.npmjs.org/cordova-lib/-/cordova-lib-11.0.0.tgz";
+        sha512 = "3XSCIAlS060/hzxWKDrF+sMfv3PVU8bglCaL31HMCyj3YrZn1CZhqrRRrW5lwRxtz7Sh4XCxv97rNxF38uj9hg==";
       };
     };
     "cordova-serve-4.0.0" = {
@@ -19032,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.0" = {
+    "core-js-3.21.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.20.0";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.20.0.tgz";
-        sha512 = "KjbKU7UEfg4YPpskMtMXPhUKn7m/1OdTHTVjy09ScR2LVaoUXe8Jh0UdvN2EKUR6iKTJph52SJP95mAB0MnVLQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz";
+        sha512 = "FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==";
       };
     };
-    "core-js-compat-3.20.0" = {
+    "core-js-compat-3.21.1" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.20.0";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.0.tgz";
-        sha512 = "relrah5h+sslXssTTOkvqcC/6RURifB0W5yhYBdBkaPYa5/2KBMiog3XiD+s3TwEHWxInWVv4Jx2/Lw0vng+IQ==";
+        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.0" = {
+    "core-js-pure-3.21.1" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.20.0";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.0.tgz";
-        sha512 = "qsrbIwWSEEYOM7z616jAVgwhuDDtPLwZSpUsU3vyUkHYqKTf/uwOJBZg2V7lMurYWkpVlaVOxBrfX0Q3ppvjfg==";
+        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" = {
@@ -19131,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";
@@ -19185,6 +20310,15 @@ let
         sha512 = "H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==";
       };
     };
+    "cosmiconfig-typescript-loader-1.0.5" = {
+      name = "cosmiconfig-typescript-loader";
+      packageName = "cosmiconfig-typescript-loader";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.5.tgz";
+        sha512 = "FL/YR1nb8hyN0bAcP3MBaIoZravfZtVsN/RuPnoo6UVjqIrDxSNIpXHCGgJe0ZWy5yImpyD6jq5wCJ5f1nUv8g==";
+      };
+    };
     "couch-login-0.1.20" = {
       name = "couch-login";
       packageName = "couch-login";
@@ -19266,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" = {
@@ -19311,13 +20445,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-gatsby-2.4.0" = {
+    "create-gatsby-2.7.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "2.4.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.4.0.tgz";
-        sha512 = "tBGS/Fv4KPNIe8bJE58OyZlIjdvTzwm830RkNQspI+f4V69u0d+API6KGk1UFaGG63n5/d+1Efu/inzp9TMylQ==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.7.0.tgz";
+        sha512 = "Le7r71ycNiPLq6RrOKXeONsotC57viwuajFuVfhAzXAgUmJSraHSeHT8S4Ydoa3nML1SyJiZaPB4CLC+Ju3gPQ==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -19374,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" = {
@@ -19401,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";
@@ -19437,6 +20571,15 @@ let
         sha512 = "1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==";
       };
     };
+    "cross-fetch-3.1.5" = {
+      name = "cross-fetch";
+      packageName = "cross-fetch";
+      version = "3.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz";
+        sha512 = "lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==";
+      };
+    };
     "cross-spawn-4.0.2" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
@@ -19491,13 +20634,13 @@ let
         sha512 = "mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==";
       };
     };
-    "cross-undici-fetch-0.1.4" = {
+    "cross-undici-fetch-0.1.24" = {
       name = "cross-undici-fetch";
       packageName = "cross-undici-fetch";
-      version = "0.1.4";
+      version = "0.1.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.1.4.tgz";
-        sha512 = "jIcyxjQ6mEvUS3y2yhIVktOR7wlGZuyjFAK8woo7pMb+BR1f2ylfTxsN01UPwhqT8gtYPmZ2rPdyoInr1Cdrrw==";
+        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" = {
@@ -19572,49 +20715,49 @@ let
         sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
       };
     };
-    "cspell-gitignore-5.13.3" = {
+    "cspell-gitignore-5.18.5" = {
       name = "cspell-gitignore";
       packageName = "cspell-gitignore";
-      version = "5.13.3";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.13.3.tgz";
-        sha512 = "/x8C9v0WINmyD6rgyX3OByN7lVgk1EIt0AGfYZXcVgx6iCpvBNyz8It1l3kaCEw5OPWyHvCEGeL8cy53y2dZxQ==";
+        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.18.5.tgz";
+        sha512 = "YKYFYMswkia0Uc5CMOapLwo8OKRfP+QbqyODTJ7IJACT7KCOSEj7A3B250LR2mWyvThyIUB+2c7+6ePdFCnh2g==";
       };
     };
-    "cspell-glob-5.13.3" = {
+    "cspell-glob-5.18.5" = {
       name = "cspell-glob";
       packageName = "cspell-glob";
-      version = "5.13.3";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.13.3.tgz";
-        sha512 = "9g1/AJs7ws1tLDXFJwcePhmab3wxrWbxEZVfmJIHhawp9rWc+cU6BZFdxJJ52EHClKa+DuKJxYsyohE1ctD9rA==";
+        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.18.5.tgz";
+        sha512 = "Tr/wMHpJ5zvD4qV4d5is1WJ6OQZSQSjiWoLCQ8pslpltGJhjYXPh3W9A8n4Ghr4AUUJNLKEQyCX+Z1kcA3hgOQ==";
       };
     };
-    "cspell-io-5.13.3" = {
+    "cspell-io-5.18.5" = {
       name = "cspell-io";
       packageName = "cspell-io";
-      version = "5.13.3";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.13.3.tgz";
-        sha512 = "4OwpSprgaUc8yZGWHUBiy5Uv528gmk7wMai6c2ZQOd8HEOkIoxWIjCVnOEYHsXBflhcrvSPxirwcsLOcGU2bkQ==";
+        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.18.5.tgz";
+        sha512 = "Ar2shXmKtLP935Linv+162xY6SNqIrwLI3rBRXs0/KnD/YdcLJQB0iBgFqvfvg7TcPg+EZOf9Oc6EvTLg2eprg==";
       };
     };
-    "cspell-lib-5.13.3" = {
+    "cspell-lib-5.18.5" = {
       name = "cspell-lib";
       packageName = "cspell-lib";
-      version = "5.13.3";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.13.3.tgz";
-        sha512 = "X4GkrxhMkNTH+H+irHHL2GluwQHhR3G0/5+bF/KOYtZ4Ypi2iVYkzcxB3xPmaeM82+NHyoNu/TU5I1jspt4GSg==";
+        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.18.5.tgz";
+        sha512 = "yrUk3MbRXy/YGNIcLfURDnw4fRiXcbHo9K5B6IhwYfHKc3VM6QgvEQ0ce44uzZ+AEZzWuQ++GbhUih+bSJ87DQ==";
       };
     };
-    "cspell-trie-lib-5.13.3" = {
+    "cspell-trie-lib-5.18.5" = {
       name = "cspell-trie-lib";
       packageName = "cspell-trie-lib";
-      version = "5.13.3";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.13.3.tgz";
-        sha512 = "CbydOTo7u/XxBn2tyWwIkl/KQ8ikLT4TSBM2M/3e7pZMtbAKGlV2L8P0M77mHbz5HrlL+pqrU/Ywk7TwoXmKNQ==";
+        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.18.5.tgz";
+        sha512 = "FifImmkcArPYiE8fLXcbB/yS15QyWwvHw/gpCPEkcuJMJH2gxC+HOE909JnBsyPyjCaX5gHWiIf7ePjdXlWsDg==";
       };
     };
     "csrf-3.1.0" = {
@@ -19680,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";
@@ -19752,13 +20904,13 @@ let
         sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
       };
     };
-    "css-select-4.2.0" = {
+    "css-select-4.2.1" = {
       name = "css-select";
       packageName = "css-select";
-      version = "4.2.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-4.2.0.tgz";
-        sha512 = "6YVG6hsH9yIb/si3Th/is8Pex7qnVHO6t7q7U6TIUnkQASGbS8tnUDBftnPynLNnuUl/r2+PTd0ekiiq7R0zJw==";
+        url = "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz";
+        sha512 = "/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==";
       };
     };
     "css-select-base-adapter-0.1.1" = {
@@ -20049,22 +21201,13 @@ let
         sha1 = "d1cfd8743c2f849a0abb2fd544db56695d19a490";
       };
     };
-    "csv-parse-5.0.3" = {
+    "csv-parse-5.0.4" = {
       name = "csv-parse";
       packageName = "csv-parse";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-5.0.3.tgz";
-        sha512 = "86R0WU4aEEF/1fPZKxP3NmDAYC4Ce1t9iFgKPZogG5Lvk4m9WZQkCEsDANktG29jppejwclTtEOzubN2ieCJqw==";
-      };
-    };
-    "csv-parser-1.12.1" = {
-      name = "csv-parser";
-      packageName = "csv-parser";
-      version = "1.12.1";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csv-parser/-/csv-parser-1.12.1.tgz";
-        sha512 = "r45M92nLnGP246ot0Yo5RvbiiMF5Bw/OTIdWJ3OQ4Vbv4hpOeoXVIPxdSmUw+fPJlQOseY+iigJyLSfPMIrddQ==";
+        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-5.0.4.tgz";
+        sha512 = "5AIdl8l6n3iYQYxan5djB5eKDa+vBnhfWZtRpJTcrETWfVLYN0WSj3L9RwvgYt+psoO77juUr8TG8qpfGZifVQ==";
       };
     };
     "csv-stream-0.2.0" = {
@@ -20076,15 +21219,6 @@ let
         sha512 = "K9kh9wWGsJrvdaDSb3TdSgwVHCky8fRW7/USBq906xsk2+IGA3X+j/BbN9c5xcedhIIlWKQtk1xtVdhNyfIDrA==";
       };
     };
-    "csv-streamify-3.0.4" = {
-      name = "csv-streamify";
-      packageName = "csv-streamify";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csv-streamify/-/csv-streamify-3.0.4.tgz";
-        sha1 = "4cb614c57e3f299cca17b63fdcb4ad167777f47a";
-      };
-    };
     "csv-stringify-0.0.8" = {
       name = "csv-stringify";
       packageName = "csv-stringify";
@@ -20229,13 +21363,13 @@ let
         sha512 = "4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==";
       };
     };
-    "d3-7.2.1" = {
+    "d3-7.3.0" = {
       name = "d3";
       packageName = "d3";
-      version = "7.2.1";
+      version = "7.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3/-/d3-7.2.1.tgz";
-        sha512 = "E/5sP0aeK6YPXI/+4QlefvBFgmcyR2jYftId0PrYWv4Y/gW3c3thp1XG4rQzF0eUwV9tR1x05X5eWuJ6rQXvew==";
+        url = "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz";
+        sha512 = "MDRLJCMK232OJQRqGljQ/gCxtB8k3/sLKFjftMjzPB3nKVUODpdW9Rb3vcq7U8Ka5YKoZkAmp++Ur6I+6iNWIw==";
       };
     };
     "d3-array-1.2.4" = {
@@ -20607,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" = {
@@ -20850,13 +21984,13 @@ let
         sha512 = "PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==";
       };
     };
-    "d3-shape-3.0.1" = {
+    "d3-shape-3.1.0" = {
       name = "d3-shape";
       packageName = "d3-shape";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3-shape/-/d3-shape-3.0.1.tgz";
-        sha512 = "HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw==";
+        url = "https://registry.npmjs.org/d3-shape/-/d3-shape-3.1.0.tgz";
+        sha512 = "tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==";
       };
     };
     "d3-time-1.1.0" = {
@@ -21084,31 +22218,22 @@ let
         sha512 = "gCfU2FBg41Qg7RgqYBRD3bjYWAaJFO6UvKfCU9SA1LBy6vZ3EoTZH5doCYdTTQmVEsAxMef18W0lnvr1Z7rx0g==";
       };
     };
-    "dat-doctor-2.1.2" = {
-      name = "dat-doctor";
-      packageName = "dat-doctor";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dat-doctor/-/dat-doctor-2.1.2.tgz";
-        sha512 = "h7JaXbgHDuTOA/HWxw77rEHSFE3zFp5BgORFOO0puTj9+Jr6ll8RuotLJQxx02EwUPPpSpE77juJ75Z9rvPXaA==";
-      };
-    };
-    "dat-encoding-5.0.1" = {
+    "dat-encoding-5.0.2" = {
       name = "dat-encoding";
       packageName = "dat-encoding";
-      version = "5.0.1";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-encoding/-/dat-encoding-5.0.1.tgz";
-        sha512 = "PET9PlGt6ejgqU07hbPLx3tP2siDMMFumUe+xwmm4+5W+0cOlpzreCPoMVUBzxWeR4sPdxL+AS53odQTBtzEqA==";
+        url = "https://registry.npmjs.org/dat-encoding/-/dat-encoding-5.0.2.tgz";
+        sha512 = "XgP3jZOanmnAeBgmbnPW2h/eLM9afGsuDF5di/PSQRhS09E+zRQmw0bLzmVFPIcHSbOwp384odXr6WdOhp7hBQ==";
       };
     };
-    "dat-ignore-2.1.2" = {
+    "dat-ignore-2.1.3" = {
       name = "dat-ignore";
       packageName = "dat-ignore";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-ignore/-/dat-ignore-2.1.2.tgz";
-        sha512 = "27xyi8MzFCJ6qlB8AMGAjI/ec1q9AKT18Qe+8E8AxrG3Axpf4GHa+rWXBE9vTA5T1Mi4cPnhboiGLhiR4r0JAA==";
+        url = "https://registry.npmjs.org/dat-ignore/-/dat-ignore-2.1.3.tgz";
+        sha512 = "0Yi+FA6YH90CzD3XbSHdtf7t96c87NCUPjtjbSs0jW/I3EsXJ3ZNtIs+H/zyKtvscBYWUhOoxB4VNWpcm1Jh4Q==";
       };
     };
     "dat-json-1.0.3" = {
@@ -21120,67 +22245,58 @@ let
         sha512 = "fppyz6O5htUleUClWXgJVyKVzRYCLiPwYKuBbpCcjXekBzuxU32Zyk4LwWs0yz9enV2GoXdCdtEvI2ffjzRhWw==";
       };
     };
-    "dat-link-resolve-2.3.0" = {
+    "dat-link-resolve-2.3.1" = {
       name = "dat-link-resolve";
       packageName = "dat-link-resolve";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-link-resolve/-/dat-link-resolve-2.3.0.tgz";
-        sha512 = "k1wfcpUB65NQiSVg7vAyHhQlNawAwWvUmDghfCRDOEm68lvRZKyO+bf4mANRJfOV4Ah6GzGSKSKBKSHhYOyBiQ==";
+        url = "https://registry.npmjs.org/dat-link-resolve/-/dat-link-resolve-2.3.1.tgz";
+        sha512 = "56Ri+n6C3dmYQPf+jptsf/MYjDsLIwEnXhGCO7OBmqktCqpMuUuJuKFxavAVAVLglEAIcn3NXrh6Y/5o+3VRGA==";
       };
     };
-    "dat-log-1.2.0" = {
+    "dat-log-2.0.1" = {
       name = "dat-log";
       packageName = "dat-log";
-      version = "1.2.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-log/-/dat-log-1.2.0.tgz";
-        sha512 = "oK6R74WV8TdhGR9VCLym7D/vlN8lXND5AyhJhrjtm1WNDrg/6Clx1Tk7k3Dt8quy2AmmGO7vbIk7iwFtzTAJfA==";
+        url = "https://registry.npmjs.org/dat-log/-/dat-log-2.0.1.tgz";
+        sha512 = "3h5MKua+mFwAtCXge8Dgmew1Gnui6CIZaVOAyI3saal8gOFTzD2JRiJtkuE42PNm31uvb39tEUfBYyc3bYHoCg==";
       };
     };
-    "dat-node-3.5.15" = {
+    "dat-node-4.0.1" = {
       name = "dat-node";
       packageName = "dat-node";
-      version = "3.5.15";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-node/-/dat-node-3.5.15.tgz";
-        sha512 = "hL7JlZr17x25t+RHJN5saBEOn/fZFt6d8FyS2p+XxnVIQug9bGjnbAXdWbRVO9UJLfnZyKfB23wjvHND1015+g==";
+        url = "https://registry.npmjs.org/dat-node/-/dat-node-4.0.1.tgz";
+        sha512 = "X+fSrV1IjqdUSitzo9Ltg4OrjdtF26c1Rbq70d40Hh11niKiyCAuKz9OjM4SSD0E3u2wS2rtrN2CEXfrHx/M+w==";
       };
     };
-    "dat-registry-4.0.1" = {
+    "dat-registry-4.0.2" = {
       name = "dat-registry";
       packageName = "dat-registry";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-registry/-/dat-registry-4.0.1.tgz";
-        sha512 = "UjUZHdgVWL2YPQQzqbYoQaBZ+gbPvaaQcOaexfjR+kbON2av/H26zC4iUOrKWmbkqJZqAVt3Cj+GpNQie/GlUQ==";
+        url = "https://registry.npmjs.org/dat-registry/-/dat-registry-4.0.2.tgz";
+        sha512 = "ZRw5y6gI3PskCHtq8BbN/TncgBYDiGnp/giNUInlA+Rs/8OJS5H+zzt2isQeLS4OF7NkQofbczALol8YphkkXg==";
       };
     };
-    "dat-secret-storage-4.0.1" = {
+    "dat-secret-storage-4.0.2" = {
       name = "dat-secret-storage";
       packageName = "dat-secret-storage";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-secret-storage/-/dat-secret-storage-4.0.1.tgz";
-        sha512 = "BUhemnKpXUhKNl/1DuUwfFUyjzomlNF940uHPsOa3okmYu9z6mrp/EGQsLO3lO0YQomDUqS0G0DmHTse9vTU1A==";
+        url = "https://registry.npmjs.org/dat-secret-storage/-/dat-secret-storage-4.0.2.tgz";
+        sha512 = "JW2aw63f3c0CxIyucpxxs9O59x8ogYwGL6igM1Kf0oU0X7QUfl9j8pcCExABmO/fx+247DvRzDz7I432lAugaw==";
       };
     };
-    "dat-storage-1.1.1" = {
+    "dat-storage-1.1.2" = {
       name = "dat-storage";
       packageName = "dat-storage";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dat-storage/-/dat-storage-1.1.1.tgz";
-        sha512 = "PjKjUatJN4ztBDI5nR94VuofyrVKOm6W3/DgqFO6U4ixdX351Jkuj+GiGScEmMOqn8vJgTmlUPTxJaBf38Fmkw==";
-      };
-    };
-    "dat-swarm-defaults-1.0.2" = {
-      name = "dat-swarm-defaults";
-      packageName = "dat-swarm-defaults";
-      version = "1.0.2";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dat-swarm-defaults/-/dat-swarm-defaults-1.0.2.tgz";
-        sha512 = "gz9RuhUxq3coYBrelzuFXCNyC579aO3Bm1Wlwa12/9tJr1NP0AAGxpHJYA1HZvt8X7ZdrtMzpFyNvs2Y9PFG6w==";
+        url = "https://registry.npmjs.org/dat-storage/-/dat-storage-1.1.2.tgz";
+        sha512 = "LUzeuDXNT1zPHGMcdjrOd7lpuI3BJ14qzR3C4oMuWYW7apDh9xmAMhxBN4z2uvhAE/Lq7ZHCcgtufU3L91qCJg==";
       };
     };
     "data-uri-to-buffer-3.0.1" = {
@@ -21192,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";
@@ -21228,6 +22353,15 @@ let
         sha512 = "YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==";
       };
     };
+    "datauri-4.1.0" = {
+      name = "datauri";
+      packageName = "datauri";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/datauri/-/datauri-4.1.0.tgz";
+        sha512 = "y17kh32+I82G+ED9MNWFkZiP/Cq/vO1hN9+tSZsT9C9qn3NrvcBnh7crSepg0AQPge1hXx2Ca44s1FRdv0gFWA==";
+      };
+    };
     "date-fns-1.30.1" = {
       name = "date-fns";
       packageName = "date-fns";
@@ -21237,13 +22371,13 @@ let
         sha512 = "hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==";
       };
     };
-    "date-fns-2.27.0" = {
+    "date-fns-2.28.0" = {
       name = "date-fns";
       packageName = "date-fns";
-      version = "2.27.0";
+      version = "2.28.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.27.0.tgz";
-        sha512 = "sj+J0Mo2p2X1e306MHq282WS4/A8Pz/95GIFcsPNMPMZVI3EUrAdSv90al1k+p74WGLCruMXk23bfEDZa71X9Q==";
+        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz";
+        sha512 = "8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==";
       };
     };
     "date-format-1.2.0" = {
@@ -21273,6 +22407,15 @@ let
         sha512 = "eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==";
       };
     };
+    "date-format-4.0.3" = {
+      name = "date-format";
+      packageName = "date-format";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz";
+        sha512 = "7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==";
+      };
+    };
     "date-now-0.1.4" = {
       name = "date-now";
       packageName = "date-now";
@@ -21462,15 +22605,6 @@ let
         sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
       };
     };
-    "debug-3.2.6" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
-        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
-      };
-    };
     "debug-3.2.7" = {
       name = "debug";
       packageName = "debug";
@@ -21741,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";
@@ -21768,6 +22911,15 @@ let
         sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d";
       };
     };
+    "deep-equal-1.0.1" = {
+      name = "deep-equal";
+      packageName = "deep-equal";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
+        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
+      };
+    };
     "deep-equal-1.1.1" = {
       name = "deep-equal";
       packageName = "deep-equal";
@@ -22065,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" = {
@@ -22335,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";
@@ -22380,13 +23541,13 @@ let
         sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
-    "detect-newline-1.0.3" = {
-      name = "detect-newline";
-      packageName = "detect-newline";
-      version = "1.0.3";
+    "detect-libc-2.0.1" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-newline/-/detect-newline-1.0.3.tgz";
-        sha1 = "e97b1003877d70c09af1af35bfadff168de4920d";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz";
+        sha512 = "463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==";
       };
     };
     "detect-newline-2.1.0" = {
@@ -22416,15 +23577,6 @@ let
         sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
       };
     };
-    "detect-port-1.3.0" = {
-      name = "detect-port";
-      packageName = "detect-port";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz";
-        sha512 = "E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==";
-      };
-    };
     "detect-port-alt-1.1.6" = {
       name = "detect-port-alt";
       packageName = "detect-port-alt";
@@ -22461,15 +23613,6 @@ let
         sha1 = "a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0";
       };
     };
-    "devtools-protocol-0.0.869402" = {
-      name = "devtools-protocol";
-      packageName = "devtools-protocol";
-      version = "0.0.869402";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.869402.tgz";
-        sha512 = "VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA==";
-      };
-    };
     "devtools-protocol-0.0.901419" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
@@ -22479,13 +23622,13 @@ let
         sha512 = "4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==";
       };
     };
-    "devtools-protocol-0.0.937139" = {
+    "devtools-protocol-0.0.960912" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.937139";
+      version = "0.0.960912";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.937139.tgz";
-        sha512 = "daj+rzR3QSxsPRy5vjjthn58axO8c11j58uY0lG5vvlJk/EiOdCWOptGdkXDjtuRHr78emKq0udHCXM4trhoDQ==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.960912.tgz";
+        sha512 = "I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg==";
       };
     };
     "dezalgo-1.0.3" = {
@@ -22533,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";
@@ -22560,15 +23694,6 @@ let
         sha512 = "MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==";
       };
     };
-    "dictionary-en-gb-2.3.0" = {
-      name = "dictionary-en-gb";
-      packageName = "dictionary-en-gb";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dictionary-en-gb/-/dictionary-en-gb-2.3.0.tgz";
-        sha512 = "P/J2VQp/hDsMTfJhmIYPUBxZqezWuDaUzSgb6oW7JLpUV2So9jCXbR5TaUYXwfO50ZXPYEzQqQHPQK3pKcs7Rg==";
-      };
-    };
     "didyoumean-1.2.2" = {
       name = "didyoumean";
       packageName = "didyoumean";
@@ -22587,15 +23712,6 @@ let
         sha1 = "7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf";
       };
     };
-    "diff-2.2.3" = {
-      name = "diff";
-      packageName = "diff";
-      version = "2.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz";
-        sha1 = "60eafd0d28ee906e4e8ff0a52c1229521033bf99";
-      };
-    };
     "diff-3.5.0" = {
       name = "diff";
       packageName = "diff";
@@ -22641,22 +23757,13 @@ let
         sha512 = "IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==";
       };
     };
-    "diff-sequences-25.2.6" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "25.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz";
-        sha512 = "Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==";
-      };
-    };
-    "diff2html-3.4.13" = {
+    "diff2html-3.4.16" = {
       name = "diff2html";
       packageName = "diff2html";
-      version = "3.4.13";
+      version = "3.4.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.13.tgz";
-        sha512 = "IQb+P3aDVjjctcpRF089E9Uxjb6JInu/1SDklLaw2KapdwXKl3xd87mieweR2h6hNvdyAlylMHRrwK8M4oV1Sw==";
+        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.16.tgz";
+        sha512 = "KfkvEoZTJertjoGPYFLn8n0yRdvzJcHvFJpJwbIxUlHU9x6qqhRZEM+TlgtU09jdLqRZAQyWFoxPiP6HeT2IYA==";
       };
     };
     "diff3-0.0.3" = {
@@ -22776,24 +23883,6 @@ let
         sha512 = "cK6rH1PuGjSjpmEQbnpuTxq1Yv8B89SotyKUFcr4RhnsiZnfBfDOev7DD7v5vhtEyyj51NuMWFoRJzgy/m08Uw==";
       };
     };
-    "discovery-channel-5.5.1" = {
-      name = "discovery-channel";
-      packageName = "discovery-channel";
-      version = "5.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.5.1.tgz";
-        sha512 = "EEmZQFE0PiOsJj7G3KVCwFGbYs4QchUvzA91iHtZ6HfkIqfBEDSTGLygJrUlY1Tr77WDV+qZVrZuNghHxSL/vw==";
-      };
-    };
-    "discovery-swarm-5.1.4" = {
-      name = "discovery-swarm";
-      packageName = "discovery-swarm";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/discovery-swarm/-/discovery-swarm-5.1.4.tgz";
-        sha512 = "vkg0bv+FUwSuPxBWzdNPQVNmXQlIbvz1Ygi+A1XefNUhEzfmM+RNndjtjlDgxD/ZUhFir9PX7Hw9iIDVujsOoA==";
-      };
-    };
     "diskusage-1.1.3" = {
       name = "diskusage";
       packageName = "diskusage";
@@ -22839,15 +23928,6 @@ let
         sha512 = "bvjUS5Cylrm1uJJop/dFhEpnYtz2NQFOO0/z6vk0ORtx0AqKvUwPToc4reJk+TnHV9GBxbtZXj7ad5dJT/Dqkg==";
       };
     };
-    "dns-discovery-6.2.3" = {
-      name = "dns-discovery";
-      packageName = "dns-discovery";
-      version = "6.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-discovery/-/dns-discovery-6.2.3.tgz";
-        sha512 = "ZULG1R5J9QHZfaXo5XFGVG22LIcnZorbEa7f83FYgCGDaQrVfyVmty3Z89OvBLpCPetwW+LzjCcT60ekhbQ+9g==";
-      };
-    };
     "dns-equal-1.0.0" = {
       name = "dns-equal";
       packageName = "dns-equal";
@@ -22875,31 +23955,13 @@ let
         sha512 = "BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==";
       };
     };
-    "dns-packet-4.2.0" = {
-      name = "dns-packet";
-      packageName = "dns-packet";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz";
-        sha512 = "bn1AKpfkFbm0MIioOMHZ5qJzl2uypdBwI4nYNsqvhjsegBhcKJUlCrMPWLx6JEezRjxZmxhtIz/FkBEur2l8Cw==";
-      };
-    };
-    "dns-packet-5.3.0" = {
+    "dns-packet-5.3.1" = {
       name = "dns-packet";
       packageName = "dns-packet";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.0.tgz";
-        sha512 = "Nce7YLu6YCgWRvOmDBsJMo9M5/jV3lEZ5vUWnWXYmwURvPylHvq7nkDWhNmk1ZQoZZOP7oQh/S0lSxbisKOfHg==";
-      };
-    };
-    "dns-socket-3.0.0" = {
-      name = "dns-socket";
-      packageName = "dns-socket";
-      version = "3.0.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-3.0.0.tgz";
-        sha512 = "M0WkByoJ/mTm+HtwBQLsRJPe5uGIC/lYVOp+s6ZzhbZ5iq4GxjFyxYPQhB85dgCLvVb43aJQXHDC9aUgyKGc/Q==";
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.1.tgz";
+        sha512 = "spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==";
       };
     };
     "dns-txt-2.0.2" = {
@@ -22920,31 +23982,31 @@ let
         sha512 = "2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==";
       };
     };
-    "dockerfile-ast-0.4.1" = {
+    "dockerfile-ast-0.4.2" = {
       name = "dockerfile-ast";
       packageName = "dockerfile-ast";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.4.1.tgz";
-        sha512 = "qM5/m+Ez4GOM3ILkG13+cPxwgIcuA/z3LmEPZf4VJ82f7T1DuVbz7ctw4IzWdbiecuXcs+C4fFVbo5priGnIIQ==";
+        url = "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.4.2.tgz";
+        sha512 = "k770mVWaCm3KbyOSPFizP6WB2ucZjfAv8aun4UsKl+IivowK7ItwBixNbziBjN05yNpvCL1/IxBdZiSz6KQIvA==";
       };
     };
-    "dockerfile-language-service-0.7.4" = {
+    "dockerfile-language-service-0.8.1" = {
       name = "dockerfile-language-service";
       packageName = "dockerfile-language-service";
-      version = "0.7.4";
+      version = "0.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-language-service/-/dockerfile-language-service-0.7.4.tgz";
-        sha512 = "SxKqTMQshN6xr20qTeurUydI432+ZUrkfhMurknjPvhdTc5oheH+WeN1cqKKQrILlcVq7agbFlXH51sdempuGQ==";
+        url = "https://registry.npmjs.org/dockerfile-language-service/-/dockerfile-language-service-0.8.1.tgz";
+        sha512 = "bqrZ2FzG45w2Mzmak3oC5ecIl/edStygSFQ0i/8WGabb5k/w6zWwqDaHVgT8dkfogm+swHMQUu4WGTvVu1qLCA==";
       };
     };
-    "dockerfile-utils-0.9.3" = {
+    "dockerfile-utils-0.9.4" = {
       name = "dockerfile-utils";
       packageName = "dockerfile-utils";
-      version = "0.9.3";
+      version = "0.9.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-utils/-/dockerfile-utils-0.9.3.tgz";
-        sha512 = "tMPdbywzglQh7JieKL1vn7HyJoYwk8J8AyfyLaqkLJ5tRA/TSrOVK6R40C3bwEceYg875crMo8yHSkz09Fc6VA==";
+        url = "https://registry.npmjs.org/dockerfile-utils/-/dockerfile-utils-0.9.4.tgz";
+        sha512 = "lqmCxVhaUyCUIz9dhzYVrHZLJG5hzdcwd29JcA/0o7xIx2VwvIctUE6SpK8ugLTNuwMx/oKU2YVLaRIX/CmQPg==";
       };
     };
     "doctoc-2.1.0" = {
@@ -23199,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.4.tgz";
-        sha512 = "6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ==";
+        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.6.tgz";
+        sha512 = "OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg==";
       };
     };
     "domutils-1.4.3" = {
@@ -23289,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";
@@ -23343,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";
@@ -23352,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";
@@ -23442,13 +24522,13 @@ let
         sha1 = "212f078a722bfd2ecc267ea86ab6dddc1081fd48";
       };
     };
-    "dreamopt-0.6.0" = {
+    "dreamopt-0.8.0" = {
       name = "dreamopt";
       packageName = "dreamopt";
-      version = "0.6.0";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz";
-        sha1 = "d813ccdac8d39d8ad526775514a13dda664d6b4b";
+        url = "https://registry.npmjs.org/dreamopt/-/dreamopt-0.8.0.tgz";
+        sha1 = "5bcc80be7097e45fc489c342405ab68140a8c1d9";
       };
     };
     "dset-3.1.1" = {
@@ -23577,6 +24657,15 @@ let
         sha512 = "iRDI1QeCQIhMCZk48DRDMVgQSSBDmbzzNhnxIo+pwx3swkfjMh6vh0nWLq1NdvGHLKH6wIrAM3vQWeTj6qeoug==";
       };
     };
+    "eastasianwidth-0.2.0" = {
+      name = "eastasianwidth";
+      packageName = "eastasianwidth";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz";
+        sha512 = "I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==";
+      };
+    };
     "easy-extender-2.3.4" = {
       name = "easy-extender";
       packageName = "easy-extender";
@@ -23631,6 +24720,15 @@ let
         sha512 = "5qPa0GVZJI1FAMS+4GZBWXS/bzY7/p2ehuGuHPqvsRWe2yXDc4Bgvf89BMJz87pqcW7+ogGQkLZfwflMr/RPgQ==";
       };
     };
+    "ecpair-2.0.1" = {
+      name = "ecpair";
+      packageName = "ecpair";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecpair/-/ecpair-2.0.1.tgz";
+        sha512 = "iT3wztQMeE/nDTlfnAg8dAFUfBS7Tq2BXzq3ae6L+pWgFU0fQ3l0woTzdTBrJV3OxBjxbzjq8EQhAbEmJNWFSw==";
+      };
+    };
     "ecstatic-4.1.4" = {
       name = "ecstatic";
       packageName = "ecstatic";
@@ -23712,13 +24810,13 @@ let
         sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     };
-    "electron-13.6.3" = {
+    "electron-13.6.9" = {
       name = "electron";
       packageName = "electron";
-      version = "13.6.3";
+      version = "13.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron/-/electron-13.6.3.tgz";
-        sha512 = "kevgR6/RuEhchJQbgCKhHle9HvJhi2dOJlicFZJqbbqa9BVpZARqqFDlwTSatYxmUPUJwu09FvyMwJG2DMQIng==";
+        url = "https://registry.npmjs.org/electron/-/electron-13.6.9.tgz";
+        sha512 = "Es/sBy85NIuqsO9MW41PUCpwIkeinlTQ7g0ainfnmRAM2rmog3GBxVCaoV5dzEjwTF7TKG1Yr/E7Z3qHmlfWAg==";
       };
     };
     "electron-notarize-1.1.1" = {
@@ -23748,22 +24846,22 @@ let
         sha512 = "JrrLcBP15KGrPj0cZ/ALKGmaQ4gJkn3mocf0E3bRKdR3kxKWYcDRpCvdhksYDXw/r3I6tMEcZ7XzyApWFXdVpw==";
       };
     };
-    "electron-rebuild-3.2.5" = {
+    "electron-rebuild-3.2.7" = {
       name = "electron-rebuild";
       packageName = "electron-rebuild";
-      version = "3.2.5";
+      version = "3.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.5.tgz";
-        sha512 = "U9dKi10V9w/BdIVB8a8dTKYLK3Q1d2WZ+Yo5qfM3XX/O4jI7KpnwgvWgGoVv0jTWPC2NlebF00ffWS/8NfUAtA==";
+        url = "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.7.tgz";
+        sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
       };
     };
-    "electron-to-chromium-1.4.21" = {
+    "electron-to-chromium-1.4.71" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.21";
+      version = "1.4.71";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.21.tgz";
-        sha512 = "T04U2ciApGbm+dESFEBbewi2Xt0Dgyww8M4n4sOt9lnmFuYbaHEDWCROkx4jvAZDUWWry9YOdnAs+7468q80Qg==";
+        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" = {
@@ -23818,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";
       };
     };
@@ -23831,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" = {
@@ -23966,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";
@@ -24110,31 +25199,22 @@ let
         sha512 = "21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==";
       };
     };
-    "engine.io-4.1.1" = {
-      name = "engine.io";
-      packageName = "engine.io";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz";
-        sha512 = "t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==";
-      };
-    };
-    "engine.io-5.1.1" = {
+    "engine.io-4.1.2" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "5.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz";
-        sha512 = "aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.1.2.tgz";
+        sha512 = "t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ==";
       };
     };
-    "engine.io-6.1.0" = {
+    "engine.io-6.1.2" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "6.1.0";
+      version = "6.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-6.1.0.tgz";
-        sha512 = "ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz";
+        sha512 = "v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==";
       };
     };
     "engine.io-client-1.3.1" = {
@@ -24209,13 +25289,13 @@ let
         sha512 = "xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==";
       };
     };
-    "engine.io-parser-5.0.2" = {
+    "engine.io-parser-5.0.3" = {
       name = "engine.io-parser";
       packageName = "engine.io-parser";
-      version = "5.0.2";
+      version = "5.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz";
-        sha512 = "wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==";
+        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz";
+        sha512 = "BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==";
       };
     };
     "enhanced-resolve-2.3.0" = {
@@ -24236,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" = {
@@ -24344,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";
@@ -24434,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";
@@ -24506,15 +25586,6 @@ let
         sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
       };
     };
-    "es5-ext-0.8.2" = {
-      name = "es5-ext";
-      packageName = "es5-ext";
-      version = "0.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz";
-        sha1 = "aba8d9e1943a895ac96837a62a39b3f55ecd94ab";
-      };
-    };
     "es6-error-4.1.1" = {
       name = "es6-error";
       packageName = "es6-error";
@@ -24587,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";
@@ -24839,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" = {
@@ -24857,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" = {
@@ -24920,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" = {
@@ -24974,13 +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.2.0.tgz";
+        sha512 = "IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==";
+      };
+    };
+    "eslint-visitor-keys-3.3.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "3.3.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.3.0.tgz";
+        sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
       };
     };
     "esmangle-1.0.1" = {
@@ -25046,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.2.0" = {
+    "espree-9.3.1" = {
       name = "espree";
       packageName = "espree";
-      version = "9.2.0";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz";
-        sha512 = "oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==";
+        url = "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz";
+        sha512 = "bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==";
       };
     };
     "esprima-1.1.1" = {
@@ -25163,13 +26234,13 @@ let
         sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
       };
     };
-    "essentials-1.1.1" = {
+    "essentials-1.2.0" = {
       name = "essentials";
       packageName = "essentials";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/essentials/-/essentials-1.1.1.tgz";
-        sha512 = "SmaxoAdVu86XkZQM/u6TYSu96ZlFGwhvSk1l9zAkznFuQkMb9mRDS2iq/XWDow7R8OwBwdYH8nLyDKznMD+GWw==";
+        url = "https://registry.npmjs.org/essentials/-/essentials-1.2.0.tgz";
+        sha512 = "kP/j7Iw7KeNE8b/o7+tr9uX2s1wegElGOoGZ2Xm35qBr4BbbEcH3/bxR2nfH9l9JANCq9AUrvKw+gRuHtZp0HQ==";
       };
     };
     "esshorten-1.1.1" = {
@@ -25307,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" = {
@@ -25352,13 +26423,13 @@ let
         sha512 = "HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g==";
       };
     };
-    "event-loop-stats-1.3.0" = {
+    "event-loop-stats-1.4.1" = {
       name = "event-loop-stats";
       packageName = "event-loop-stats";
-      version = "1.3.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/event-loop-stats/-/event-loop-stats-1.3.0.tgz";
-        sha512 = "CRto3Zyg3YE3AaBM/hPc7mJrbSOhy32P1wqIsZpp4rPHrj5qQavLUJKf+8fFq13ahC24T+RcX3f3fK13ElYZNw==";
+        url = "https://registry.npmjs.org/event-loop-stats/-/event-loop-stats-1.4.1.tgz";
+        sha512 = "Wzohoz1JrQOBjt/shh5Z3/8Ti6SVoGl5nyX952Vcp5N56QVOtjPuJsQa+dEhsDJHu4QAFz45ePXRFq01skb9xA==";
       };
     };
     "event-pubsub-4.3.0" = {
@@ -25586,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";
@@ -25640,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";
@@ -25712,22 +26765,22 @@ let
         sha512 = "0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==";
       };
     };
-    "exegesis-2.5.7" = {
+    "exegesis-4.1.0" = {
       name = "exegesis";
       packageName = "exegesis";
-      version = "2.5.7";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/exegesis/-/exegesis-2.5.7.tgz";
-        sha512 = "Y0gEY3hgoLa80aMUm8rhhlIW3/KWo4uqN5hKJqok2GLh3maZjRLRC+p0gj33Jw3upAOKOXeRgScT5rtRoMyxwQ==";
+        url = "https://registry.npmjs.org/exegesis/-/exegesis-4.1.0.tgz";
+        sha512 = "iqc55n+hmv8d1KYNMjq7bCcp4u74oRY6MBcj6Vsux7Wd4mRvlgahKqrBTyLIWwscNjEF3qvPmeJ0RPTj8ORMNg==";
       };
     };
-    "exegesis-express-2.0.1" = {
+    "exegesis-express-4.0.0" = {
       name = "exegesis-express";
       packageName = "exegesis-express";
-      version = "2.0.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/exegesis-express/-/exegesis-express-2.0.1.tgz";
-        sha512 = "8ORl1YRygYGPdR+zcClMqzaU+JQuvdNIw/s0RNwYluxNecEHkDEcXFmO6A5T79p7e48KI8iXJYt6KIn4Z9z4bg==";
+        url = "https://registry.npmjs.org/exegesis-express/-/exegesis-express-4.0.0.tgz";
+        sha512 = "V2hqwTtYRj0bj43K4MCtm0caD97YWkqOUHFMRCBW5L1x9IjyqOEc7Xa4oQjjiFbeFOSQzzwPV+BzXsQjSz08fw==";
       };
     };
     "exif-parser-0.1.12" = {
@@ -25829,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.108" = {
+    "expo-pwa-0.0.113" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.108";
+      version = "0.0.113";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.108.tgz";
-        sha512 = "+DIFOpzx5oPOYbm7PqCCZVyVZQGJ78r9Ra1rCri2QiYSyH+tS8Yzns1885SdcSh0xLMW7I0ZhKrFs/RB++u7fg==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.113.tgz";
+        sha512 = "uKmNgSMrZs/dUy1yIqXBFELmjuVtvSJzNoscTMN1ehdBa8QJqz/d3QGdu/IVlYNWxqCvAaqHXY/x6WseA3X3dg==";
       };
     };
     "express-2.5.11" = {
@@ -25892,6 +26945,24 @@ let
         sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
       };
     };
+    "express-4.17.2" = {
+      name = "express";
+      packageName = "express";
+      version = "4.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.17.2.tgz";
+        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";
@@ -25901,15 +26972,6 @@ let
         sha512 = "rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w==";
       };
     };
-    "express-graphql-0.12.0" = {
-      name = "express-graphql";
-      packageName = "express-graphql";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/express-graphql/-/express-graphql-0.12.0.tgz";
-        sha512 = "DwYaJQy0amdy3pgNtiTDuGGM2BLdj+YO2SgbKoLliCfuHv3VVTt7vNG/ZqK2hRYjtYHE2t2KB705EU94mE64zg==";
-      };
-    };
     "express-handlebars-3.1.0" = {
       name = "express-handlebars";
       packageName = "express-handlebars";
@@ -25928,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";
@@ -25955,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";
@@ -26306,15 +27404,6 @@ let
         sha512 = "t8HYqkuE3YEqNcyWlAfh55479aTxO+GpYwvQvJppYqyBfSmRdNIhzY2m09FKN/MENTzq4wH6heHOIvsPyMAwvQ==";
       };
     };
-    "fast-copy-2.1.1" = {
-      name = "fast-copy";
-      packageName = "fast-copy";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.1.tgz";
-        sha512 = "Qod3DdRgFZ8GUIM6ygeoZYpQ0QLW9cf/FS9KhhjlYggcSZXWAemAw8BOCO5LuYCrR3Uj3qXDVTUzOUwG8C7beQ==";
-      };
-    };
     "fast-csv-4.3.6" = {
       name = "fast-csv";
       packageName = "fast-csv";
@@ -26360,13 +27449,22 @@ let
         sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
       };
     };
-    "fast-fifo-1.0.0" = {
+    "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";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.0.0.tgz";
-        sha512 = "4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ==";
+        url = "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz";
+        sha512 = "Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==";
       };
     };
     "fast-glob-2.2.7" = {
@@ -26378,13 +27476,13 @@ let
         sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
       };
     };
-    "fast-glob-3.2.7" = {
+    "fast-glob-3.2.11" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.7";
+      version = "3.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
-        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz";
+        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
       };
     };
     "fast-json-parse-1.0.3" = {
@@ -26468,13 +27566,13 @@ let
         sha1 = "a45aff345196006d406ca6cdcd05f69051ef35b8";
       };
     };
-    "fast-redact-3.0.2" = {
+    "fast-redact-3.1.0" = {
       name = "fast-redact";
       packageName = "fast-redact";
-      version = "3.0.2";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-3.0.2.tgz";
-        sha512 = "YN+CYfCVRVMUZOUPeinHNKgytM1wPI/C/UCLEi56EsY2dwwvI00kIJHJoI7pMVqGoMew8SMZ2SSfHKHULHXDsg==";
+        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.0.tgz";
+        sha512 = "dir8LOnvialLxiXDPESMDHGp82CHi6ZEYTVkcvdn5d7psdv9ZkkButXrOeXST4aqreIRR+N7CYlsrwFuorurVg==";
       };
     };
     "fast-safe-stringify-1.2.3" = {
@@ -26513,6 +27611,15 @@ let
         sha1 = "f4af3ea9f34d8a271cf58ad2b3759f431f0b318d";
       };
     };
+    "fast-xml-parser-3.19.0" = {
+      name = "fast-xml-parser";
+      packageName = "fast-xml-parser";
+      version = "3.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz";
+        sha512 = "4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==";
+      };
+    };
     "fastest-levenshtein-1.0.12" = {
       name = "fastest-levenshtein";
       packageName = "fastest-levenshtein";
@@ -26522,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";
@@ -26585,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" = {
@@ -26666,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";
@@ -26837,6 +27944,24 @@ let
         sha512 = "uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==";
       };
     };
+    "file-type-12.3.1" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "12.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-12.3.1.tgz";
+        sha512 = "FXxY5h6vSYMjrRal4YqbtfuoKD/oE0AMjJ7E5Hm+BdaQECcFVD03B41RAWYJ7wyuLr/wRnCtFo7y37l+nh+TAA==";
+      };
+    };
+    "file-type-14.7.1" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "14.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-14.7.1.tgz";
+        sha512 = "sXAMgFk67fQLcetXustxfKX+PZgHIUFn96Xld9uH8aXPdX3xOp0/jg9OdouVTvQrf7mrn+wAa4jN/y9fUOOiRA==";
+      };
+    };
     "file-type-16.2.0" = {
       name = "file-type";
       packageName = "file-type";
@@ -26954,6 +28079,15 @@ let
         sha512 = "ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==";
       };
     };
+    "filenamify-4.1.0" = {
+      name = "filenamify";
+      packageName = "filenamify";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filenamify/-/filenamify-4.1.0.tgz";
+        sha512 = "KQV/uJDI9VQgN7sHH1Zbk6+42cD6mnQ2HONzkXUfPJ+K2FC8GZ1dpewbbHw0Sz8Tf5k3EVdHVayM4DoAwWlmtg==";
+      };
+    };
     "filenamify-4.2.0" = {
       name = "filenamify";
       packageName = "filenamify";
@@ -26981,15 +28115,6 @@ let
         sha512 = "7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==";
       };
     };
-    "filesize-4.2.1" = {
-      name = "filesize";
-      packageName = "filesize";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz";
-        sha512 = "bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==";
-      };
-    };
     "filesize-6.1.0" = {
       name = "filesize";
       packageName = "filesize";
@@ -27008,13 +28133,13 @@ let
         sha512 = "mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==";
       };
     };
-    "filesize-8.0.6" = {
+    "filesize-8.0.7" = {
       name = "filesize";
       packageName = "filesize";
-      version = "8.0.6";
+      version = "8.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-8.0.6.tgz";
-        sha512 = "sHvRqTiwdmcuzqet7iVwsbwF6UrV3wIgDf2SHNdY1Hgl8PC45HZg/0xtdw6U2izIV4lccnrY9ftl6wZFNdjYMg==";
+        url = "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz";
+        sha512 = "pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==";
       };
     };
     "filestream-5.0.0" = {
@@ -27305,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" = {
@@ -27332,15 +28457,6 @@ let
         sha512 = "lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==";
       };
     };
-    "flat-4.1.1" = {
-      name = "flat";
-      packageName = "flat";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz";
-        sha512 = "FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==";
-      };
-    };
     "flat-5.0.2" = {
       name = "flat";
       packageName = "flat";
@@ -27413,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" = {
@@ -27449,13 +28565,13 @@ let
         sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
       };
     };
-    "flow-parser-0.168.0" = {
+    "flow-parser-0.172.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.168.0";
+      version = "0.172.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.168.0.tgz";
-        sha512 = "YMlc+6vvyDPqWKOpzmyifJXBbwlNdqznuy8YBHxX1/90F8d+NnhsxMe1u/ok5LNvNJVJ2TVMkWudu0BUKOSawA==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.172.0.tgz";
+        sha512 = "WWqgvuJgD9Y1n2su9D73m0g5kQ4XVl8Dwk6DeW5V6bjt4XMtVLzSHg35s3iiZOvShY+7w7l8FzlK81PGXRcIYQ==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -27602,13 +28718,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.14.6" = {
+    "follow-redirects-1.14.9" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.6";
+      version = "1.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz";
-        sha512 = "fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
+        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
       };
     };
     "follow-redirects-1.5.10" = {
@@ -27818,13 +28934,22 @@ let
         sha1 = "d6170107e9efdc4ed30c9dc39016df942b5cb58b";
       };
     };
-    "formdata-node-4.3.1" = {
+    "formdata-node-4.3.2" = {
       name = "formdata-node";
       packageName = "formdata-node";
-      version = "4.3.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.1.tgz";
-        sha512 = "8xKSa9et4zb+yziWsD/bI+EYjdg1z2p9EpKr+o+Yk12F/wP66bmDdvjj2ZXd2K/MJlR3HBzWnuV7f82jzHRqCA==";
+        url = "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz";
+        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" = {
@@ -27881,22 +29006,22 @@ let
         sha512 = "wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==";
       };
     };
-    "fp-ts-2.11.5" = {
+    "fp-ts-2.11.8" = {
       name = "fp-ts";
       packageName = "fp-ts";
-      version = "2.11.5";
+      version = "2.11.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.11.5.tgz";
-        sha512 = "OqlwJq1BdpB83BZXTqI+dNcA6uYk6qk4u9Cgnt64Y+XS7dwdbp/mobx8S2KXf2AXH+scNmA/UVK3SEFHR3vHZA==";
+        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.11.8.tgz";
+        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" = {
@@ -28025,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";
@@ -28277,15 +29393,6 @@ let
         sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
       };
     };
-    "fsevents-2.1.3" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz";
-        sha512 = "Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==";
-      };
-    };
     "fsevents-2.3.2" = {
       name = "fsevents";
       packageName = "fsevents";
@@ -28367,13 +29474,22 @@ let
         sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
       };
     };
-    "fuse.js-6.4.6" = {
+    "fuse.js-6.5.3" = {
       name = "fuse.js";
       packageName = "fuse.js";
-      version = "6.4.6";
+      version = "6.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fuse.js/-/fuse.js-6.4.6.tgz";
-        sha512 = "/gYxR/0VpXmWSfZOIPS3rWwU8SHgsRTwWuXhyb2O6s7aRuVtHtxCkR33bNYu3wyLyNx/Wpv0vU7FZy8Vj53VNw==";
+        url = "https://registry.npmjs.org/fuse.js/-/fuse.js-6.5.3.tgz";
+        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" = {
@@ -28412,31 +29528,22 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-3.4.0" = {
+    "gatsby-core-utils-3.7.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.4.0.tgz";
-        sha512 = "dYQpyo1BLGJzxQOXgGs1Fbj7jzGj5cKAIPYz2hz2l4Aus6skwjjaUlOjZlrWIahNHoLkx3mH0f5y6E8205T/aQ==";
-      };
-    };
-    "gatsby-recipes-1.4.0" = {
-      name = "gatsby-recipes";
-      packageName = "gatsby-recipes";
-      version = "1.4.0";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-1.4.0.tgz";
-        sha512 = "4KJIKe4nInKBX8uYieC1Jt1+VJz4RadGJeMJPx0JckF8/UbXETwLTOhQQZ8bqDBQaanXqDfATdp4D/a1O9C2DA==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.7.0.tgz";
+        sha512 = "CboIzpEFbaD4+WrozKl3fMpxUetcaDq0aWPfrfzAtc8l0JMlD3GS2Q/uW7HpcvTAlSGv2ZomTzd2ySLV/AgpTQ==";
       };
     };
-    "gatsby-telemetry-3.4.0" = {
+    "gatsby-telemetry-3.7.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "3.4.0";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.4.0.tgz";
-        sha512 = "c5N7x4GkOyg5WUQN0DPeCHkjPvZ3c1yVs43dDPN5MZAqYiyTqzBJ9BXCMb7dBtFDVQB25b+Z96FUTQXfitrWww==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.7.0.tgz";
+        sha512 = "jhtUGZynyHM3r9a7po/rKffj5AjacmU0rqqarsee9dxlDqsamqRtyFPTjn7JubRrc958M6qzNW+z/Zi0hoeFHg==";
       };
     };
     "gauge-1.2.7" = {
@@ -28466,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" = {
@@ -28538,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";
@@ -28862,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" = {
@@ -28889,15 +29987,6 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "git-apply-delta-0.0.7" = {
-      name = "git-apply-delta";
-      packageName = "git-apply-delta";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/git-apply-delta/-/git-apply-delta-0.0.7.tgz";
-        sha1 = "fb76ae144540d79440b52b31de03e63c993c7219";
-      };
-    };
     "git-clone-0.1.0" = {
       name = "git-clone";
       packageName = "git-clone";
@@ -28907,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" = {
@@ -28952,13 +30041,13 @@ let
         sha512 = "GAhWltNB3/sf/48MwE7MbObDM2tDls9YIvVlUmga3gyqSMZG3wHEMhGSQB6genvmnbbHMxCkpVVl5YP6qGQn3w==";
       };
     };
-    "git-raw-commits-2.0.10" = {
+    "git-raw-commits-2.0.11" = {
       name = "git-raw-commits";
       packageName = "git-raw-commits";
-      version = "2.0.10";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz";
-        sha512 = "sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==";
+        url = "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz";
+        sha512 = "VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==";
       };
     };
     "git-remote-origin-url-2.0.0" = {
@@ -29267,6 +30356,15 @@ let
         sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
       };
     };
+    "glob-stream-7.0.0" = {
+      name = "glob-stream";
+      packageName = "glob-stream";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-stream/-/glob-stream-7.0.0.tgz";
+        sha512 = "evR4kvr6s0Yo5t4CD4H171n4T8XcnPFznvsbeN8K9FPzc0Q0wYqcOWyGtck2qcvJSLXKnU6DnDyfmbDDabYvRQ==";
+      };
+    };
     "glob-to-regexp-0.3.0" = {
       name = "glob-to-regexp";
       packageName = "glob-to-regexp";
@@ -29354,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";
       };
     };
@@ -29439,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" = {
@@ -29466,15 +30564,6 @@ let
         sha512 = "ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==";
       };
     };
-    "globalyzer-0.1.4" = {
-      name = "globalyzer";
-      packageName = "globalyzer";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz";
-        sha512 = "LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==";
-      };
-    };
     "globby-10.0.2" = {
       name = "globby";
       packageName = "globby";
@@ -29493,22 +30582,40 @@ let
         sha512 = "iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==";
       };
     };
-    "globby-11.0.4" = {
+    "globby-11.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.4";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz";
-        sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
-    "globby-12.0.2" = {
+    "globby-12.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "12.0.2";
+      version = "12.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-12.1.0.tgz";
+        sha512 = "YULDaNwsoUZkRy9TWSY/M7Obh0abamTKoKzTfOI3uU+hfpX2FZqOq8LFDxsjYheF1RH7ITdArgbQnsNBFgcdBA==";
+      };
+    };
+    "globby-12.2.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "12.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz";
+        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-12.0.2.tgz";
-        sha512 = "lAsmb/5Lww4r7MM9nCCliDZVIKbZTavrsunAsHLr9oHthrZP1qi7/gAnHOsUs9bLvEt2vKVJhHmxuL7QbDuPdQ==";
+        url = "https://registry.npmjs.org/globby/-/globby-13.1.1.tgz";
+        sha512 = "XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==";
       };
     };
     "globby-4.1.0" = {
@@ -29565,15 +30672,6 @@ let
         sha1 = "2f4494ac8919e3767c5cbb691e9f463324285d43";
       };
     };
-    "globrex-0.1.2" = {
-      name = "globrex";
-      packageName = "globrex";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz";
-        sha512 = "uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==";
-      };
-    };
     "globule-1.3.3" = {
       name = "globule";
       packageName = "globule";
@@ -29610,6 +30708,15 @@ let
         sha512 = "VZ0VPPIuiSO5/ZZr/UqFP3X3Yv04/TZxIe+SO+Ceqy43ulthPZcnrWsB8hYW2gqZzOPJeVJaYaX9FmL70kYITw==";
       };
     };
+    "goldengate-11.0.1" = {
+      name = "goldengate";
+      packageName = "goldengate";
+      version = "11.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/goldengate/-/goldengate-11.0.1.tgz";
+        sha512 = "4mu4FxLNkcyMfzH1cnarJ+0I5nkzuRO5AKZ0fcJ92vnBWC1M+MuYNozWV5jpqwHnpRLYgxOGDJnY0TcmQlmFHg==";
+      };
+    };
     "gonzales-pe-4.3.0" = {
       name = "gonzales-pe";
       packageName = "gonzales-pe";
@@ -29619,22 +30726,13 @@ let
         sha512 = "otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==";
       };
     };
-    "google-auth-library-6.1.6" = {
-      name = "google-auth-library";
-      packageName = "google-auth-library";
-      version = "6.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.1.6.tgz";
-        sha512 = "Q+ZjUEvLQj/lrVHF/IQwRo6p3s8Nc44Zk/DALsN+ac3T4HY/g/3rrufkgtl+nZ1TW7DNAw5cTChdVp4apUXVgQ==";
-      };
-    };
-    "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" = {
@@ -29646,22 +30744,40 @@ 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.2" = {
+    "google-p12-pem-3.1.3" = {
       name = "google-p12-pem";
       packageName = "google-p12-pem";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz";
-        sha512 = "tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==";
+        url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.3.tgz";
+        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" = {
@@ -29700,6 +30816,15 @@ let
         sha512 = "aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==";
       };
     };
+    "got-11.5.2" = {
+      name = "got";
+      packageName = "got";
+      version = "11.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-11.5.2.tgz";
+        sha512 = "yUhpEDLeuGiGJjRSzEq3kvt4zJtAcjKmhIiwNp/eUs75tRlXfWcHo5tcBaMQtnjHWC7nQYT5HkY/l0QOQTkVww==";
+      };
+    };
     "got-11.8.2" = {
       name = "got";
       packageName = "got";
@@ -29799,13 +30924,13 @@ let
         sha512 = "J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==";
       };
     };
-    "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==";
       };
     };
     "graceful-readlink-1.0.1" = {
@@ -29817,6 +30942,24 @@ let
         sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
       };
     };
+    "grammy-1.7.0" = {
+      name = "grammy";
+      packageName = "grammy";
+      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/grant/-/grant-4.7.0.tgz";
+        sha512 = "QGPjCYDrBnb/OIiTRxbK3TnNOE6Ycgfc/GcgPzI4vyNIr+b7yisEexYp7VM74zj6bxr+mDTzfGONRLzzsVPJIA==";
+      };
+    };
     "grapheme-breaker-0.3.2" = {
       name = "grapheme-breaker";
       packageName = "grapheme-breaker";
@@ -29844,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" = {
@@ -29916,15 +31059,6 @@ let
         sha512 = "5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==";
       };
     };
-    "graphql-compose-7.25.1" = {
-      name = "graphql-compose";
-      packageName = "graphql-compose";
-      version = "7.25.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-compose/-/graphql-compose-7.25.1.tgz";
-        sha512 = "TPXTe1BoQkMjp/MH93yA0SQo8PiXxJAv6Eo6K/+kpJELM9l2jZnd5PCduweuXFcKv+nH973wn/VYzYKDMQ9YoQ==";
-      };
-    };
     "graphql-config-3.0.3" = {
       name = "graphql-config";
       packageName = "graphql-config";
@@ -29943,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";
@@ -30060,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" = {
@@ -30141,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" = {
@@ -30267,13 +31410,13 @@ let
         sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f";
       };
     };
-    "gulp-vinyl-zip-2.2.1" = {
+    "gulp-vinyl-zip-2.5.0" = {
       name = "gulp-vinyl-zip";
       packageName = "gulp-vinyl-zip";
-      version = "2.2.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-2.2.1.tgz";
-        sha512 = "9lwCZUkrENzP649hVQB2r+8GgeGtVrqA2fEeVDX6aYr6+yJjdczWu0r1C6WvbZdzhXcA61MtR5MEyjR9a3D7cw==";
+        url = "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-2.5.0.tgz";
+        sha512 = "KPi5/2SUmkXXDvKU4L2U1dkPOP03SbhONTOgNZlL23l9Yopt+euJ1bBXwWrSMbsyh3JLW/TYuC8CI4c4Kq4qrw==";
       };
     };
     "gulplog-1.0.0" = {
@@ -30501,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";
@@ -30987,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";
@@ -31041,15 +32184,6 @@ let
         sha1 = "b86ce808598e8a9d1892c571f3cedd86fc9f0653";
       };
     };
-    "hicat-0.8.0" = {
-      name = "hicat";
-      packageName = "hicat";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hicat/-/hicat-0.8.0.tgz";
-        sha512 = "om8L9O5XwqeSdwl5NtHgrzK3wcF4fT9T4gb/NktoH8EyoZipas/tvUZLV48xT7fQfMYr9qvb0WEutqdf0LWSqA==";
-      };
-    };
     "highlight.js-10.7.2" = {
       name = "highlight.js";
       packageName = "highlight.js";
@@ -31059,22 +32193,13 @@ let
         sha512 = "oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==";
       };
     };
-    "highlight.js-10.7.3" = {
+    "highlight.js-11.4.0" = {
       name = "highlight.js";
       packageName = "highlight.js";
-      version = "10.7.3";
+      version = "11.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz";
-        sha512 = "tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==";
-      };
-    };
-    "highlight.js-11.3.1" = {
-      name = "highlight.js";
-      packageName = "highlight.js";
-      version = "11.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-11.3.1.tgz";
-        sha512 = "PUhCRnPjLtiLHZAQ5A/Dt5F8cWZeMyj9KRsACsWT+OD6OP0x6dp5OmT5jdx0JgEyPxPZZIPQpRN2TciUT7occw==";
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-11.4.0.tgz";
+        sha512 = "nawlpCBCSASs7EdvZOYOYVkJpGmAOKMYZgZtUqSRqodZE0GRVcFKwo1RcpeOemqh9hyttTdd5wDBwHkuSyUfnA==";
       };
     };
     "highlight.js-8.2.0" = {
@@ -31239,13 +32364,13 @@ let
         sha512 = "aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==";
       };
     };
-    "hosted-git-info-4.0.2" = {
+    "hosted-git-info-4.1.0" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz";
-        sha512 = "c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz";
+        sha512 = "kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==";
       };
     };
     "hot-formula-parser-4.0.0" = {
@@ -31410,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";
@@ -31428,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" = {
@@ -31536,6 +32652,15 @@ let
         sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
       };
     };
+    "http-assert-1.5.0" = {
+      name = "http-assert";
+      packageName = "http-assert";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz";
+        sha512 = "uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==";
+      };
+    };
     "http-auth-2.0.7" = {
       name = "http-auth";
       packageName = "http-auth";
@@ -31617,15 +32742,6 @@ let
         sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
       };
     };
-    "http-errors-1.8.0" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz";
-        sha512 = "4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==";
-      };
-    };
     "http-errors-1.8.1" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -31653,16 +32769,6 @@ let
         sha1 = "29691b6fc58f4f7e81a3605dca82682b068e4430";
       };
     };
-    "http-node-git://github.com/webtorrent/http-node#webtorrent" = {
-      name = "http-node";
-      packageName = "http-node";
-      version = "1.2.0";
-      src = fetchgit {
-        url = "git://github.com/webtorrent/http-node";
-        rev = "342ef8624495343ffd050bd0808b3750cf0e3974";
-        sha256 = "d7408d01b05fcbd5bb4fb44fd3d7d71463bafd5124d7e69c6f3e97cef8c65368";
-      };
-    };
     "http-parser-js-0.4.13" = {
       name = "http-parser-js";
       packageName = "http-parser-js";
@@ -31726,13 +32832,13 @@ let
         sha512 = "yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==";
       };
     };
-    "http-proxy-middleware-2.0.1" = {
+    "http-proxy-middleware-2.0.3" = {
       name = "http-proxy-middleware";
       packageName = "http-proxy-middleware";
-      version = "2.0.1";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz";
-        sha512 = "cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==";
+        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" = {
@@ -31897,6 +33003,15 @@ let
         sha1 = "c46e3159a293f6b896da29316d8b6fe8bb79bbed";
       };
     };
+    "humanize-number-0.0.2" = {
+      name = "humanize-number";
+      packageName = "humanize-number";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-number/-/humanize-number-0.0.2.tgz";
+        sha1 = "11c0af6a471643633588588048f1799541489c18";
+      };
+    };
     "humanize-string-1.0.2" = {
       name = "humanize-string";
       packageName = "humanize-string";
@@ -32050,22 +33165,22 @@ let
         sha512 = "2iw4baOLmYEs8hWzGUmdgqLHIvjjhiM125kKhQv1aFaiwqDMLtZJ8JsxyeaRZZmMSaC9TuXwjUmU/rrPPgIoVA==";
       };
     };
-    "hyperdrive-http-4.4.0" = {
+    "hyperdrive-http-4.4.1" = {
       name = "hyperdrive-http";
       packageName = "hyperdrive-http";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hyperdrive-http/-/hyperdrive-http-4.4.0.tgz";
-        sha512 = "utyYm6uIJ0AqSVLHVgk2VdEjy77f2X8YxAqnfLO/TqVfQDc44nI131mS4/mpmigYk24qwyelvg7y9CEPXfbVnA==";
+        url = "https://registry.npmjs.org/hyperdrive-http/-/hyperdrive-http-4.4.1.tgz";
+        sha512 = "DKsJkj9bFDf37Sb2wDMWXo9ZvrxUwXTdZd+BLszyyCK5dg92rxOILBlD9ki0o338I6oG35YGduhynA5JYDPg/w==";
       };
     };
-    "hyperdrive-network-speed-2.1.0" = {
+    "hyperdrive-network-speed-2.1.1" = {
       name = "hyperdrive-network-speed";
       packageName = "hyperdrive-network-speed";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hyperdrive-network-speed/-/hyperdrive-network-speed-2.1.0.tgz";
-        sha512 = "JolPS374h6oS1rmz1iebFfeDDvA2nAtiHbx9VJJGMgSDSx4Q77eeY09hDgZwY7KatSKUGWnnSyydSgVUb3+8Lw==";
+        url = "https://registry.npmjs.org/hyperdrive-network-speed/-/hyperdrive-network-speed-2.1.1.tgz";
+        sha512 = "ZBuTNJWpuHy6sKleheo+Co5SN1IY6GWYxiU7QPxe+Wcjt6KoMvMwbuXj9beXofqn3NG41Kh7e6Oi+wk8evxo7w==";
       };
     };
     "hyperdrive-schemas-2.0.0" = {
@@ -32140,13 +33255,13 @@ let
         sha512 = "FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==";
       };
     };
-    "i18next-21.5.4" = {
+    "i18next-21.6.11" = {
       name = "i18next";
       packageName = "i18next";
-      version = "21.5.4";
+      version = "21.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/i18next/-/i18next-21.5.4.tgz";
-        sha512 = "ukwRJpLhYg4EUfCOtbaKjlwF71qyel1XMXQN78OkQMcaQG68UzlYgLC6g2fhoTNBvoH2tJkaaqzDumhC9skAhA==";
+        url = "https://registry.npmjs.org/i18next/-/i18next-21.6.11.tgz";
+        sha512 = "tJ2+o0lVO+fhi8bPkCpBAeY1SgkqmQm5NzgPWCQssBrywJw98/o+Kombhty5nxQOpHtvMmsxcOopczUiH6bJxQ==";
       };
     };
     "iconv-lite-0.4.19" = {
@@ -32275,13 +33390,13 @@ let
         sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
       };
     };
-    "ignore-5.1.9" = {
+    "ignore-5.2.0" = {
       name = "ignore";
       packageName = "ignore";
-      version = "5.1.9";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz";
-        sha512 = "2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==";
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
+        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
       };
     };
     "ignore-by-default-1.0.1" = {
@@ -32338,6 +33453,15 @@ let
         sha512 = "JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==";
       };
     };
+    "image-size-1.0.1" = {
+      name = "image-size";
+      packageName = "image-size";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/image-size/-/image-size-1.0.1.tgz";
+        sha512 = "VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==";
+      };
+    };
     "image-type-3.1.0" = {
       name = "image-type";
       packageName = "image-type";
@@ -32446,15 +33570,6 @@ let
         sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
       };
     };
-    "import-cwd-3.0.0" = {
-      name = "import-cwd";
-      packageName = "import-cwd";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz";
-        sha512 = "4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==";
-      };
-    };
     "import-fresh-2.0.0" = {
       name = "import-fresh";
       packageName = "import-fresh";
@@ -32500,13 +33615,13 @@ let
         sha1 = "97b38fd444114eec16824a935f8da575b57aa1ce";
       };
     };
-    "import-jsx-4.0.0" = {
+    "import-jsx-4.0.1" = {
       name = "import-jsx";
       packageName = "import-jsx";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/import-jsx/-/import-jsx-4.0.0.tgz";
-        sha512 = "CnjJ2BZFJzbFDmYG5S47xPQjMlSbZLyLJuG4znzL4TdPtJBxHtFP1xVmR+EYX4synFSldiY3B6m00XkPM3zVnA==";
+        url = "https://registry.npmjs.org/import-jsx/-/import-jsx-4.0.1.tgz";
+        sha512 = "2Cj4nWRuAmvokFRU6UNo3xgzXKh+4nq/LBtD6mTp3V9c9nYV7O+dRvPChPOM34Qcj1+Ijz3oK6HqkixG0GP9Rg==";
       };
     };
     "import-lazy-2.1.0" = {
@@ -32527,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";
@@ -32545,13 +33651,13 @@ let
         sha512 = "b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==";
       };
     };
-    "import-local-3.0.3" = {
+    "import-local-3.1.0" = {
       name = "import-local";
       packageName = "import-local";
-      version = "3.0.3";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz";
-        sha512 = "bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==";
+        url = "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz";
+        sha512 = "ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==";
       };
     };
     "import-meta-resolve-1.1.1" = {
@@ -32671,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" = {
@@ -32761,15 +33867,6 @@ let
         sha512 = "7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==";
       };
     };
-    "init-package-json-1.10.3" = {
-      name = "init-package-json";
-      packageName = "init-package-json";
-      version = "1.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz";
-        sha512 = "zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==";
-      };
-    };
     "init-package-json-2.0.5" = {
       name = "init-package-json";
       packageName = "init-package-json";
@@ -32806,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" = {
@@ -32833,15 +33930,6 @@ let
         sha1 = "f9393471c18a79d1724f863fa38b586370ade2a5";
       };
     };
-    "inline-style-parser-0.1.1" = {
-      name = "inline-style-parser";
-      packageName = "inline-style-parser";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz";
-        sha512 = "7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==";
-      };
-    };
     "innertext-1.0.3" = {
       name = "innertext";
       packageName = "innertext";
@@ -32914,15 +34002,6 @@ let
         sha512 = "E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==";
       };
     };
-    "inquirer-6.3.1" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "6.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz";
-        sha512 = "MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==";
-      };
-    };
     "inquirer-6.5.2" = {
       name = "inquirer";
       packageName = "inquirer";
@@ -32968,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";
@@ -32995,6 +34083,15 @@ let
         sha512 = "YOncxSN6Omh+1Oqxt+OJAvJVMDKw7l6IEG0wT2cTMGxjsTcroOGW4IR926QDzxg/uZHcFZ2cZbckDWdZhc2pZw==";
       };
     };
+    "insight-0.11.1" = {
+      name = "insight";
+      packageName = "insight";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/insight/-/insight-0.11.1.tgz";
+        sha512 = "TBcZ0qC9dgdmcxL93OoqkY/RZXJtIi0i07phX/QyYk2ysmJtZex59dgTj4Doq50N9CG9dLRe/RIudc/5CCoFNw==";
+      };
+    };
     "inspect-custom-symbol-1.1.1" = {
       name = "inspect-custom-symbol";
       packageName = "inspect-custom-symbol";
@@ -33067,13 +34164,13 @@ let
         sha512 = "MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==";
       };
     };
-    "install-artifact-from-github-1.2.0" = {
+    "install-artifact-from-github-1.3.0" = {
       name = "install-artifact-from-github";
       packageName = "install-artifact-from-github";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz";
-        sha512 = "3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA==";
+        url = "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.3.0.tgz";
+        sha512 = "iT8v1GwOAX0pPXifF/5ihnMhHOCo3OeK7z3TQa4CtSNCIg8k0UxqBEk9jRwz8OP68hHXvJ2gxRa89KYHtBkqGA==";
       };
     };
     "int53-1.0.0" = {
@@ -33193,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";
@@ -33283,6 +34371,24 @@ let
         sha512 = "d1PX0ivZUw5u5kqIZ4bEajzTmKMe6EHXry4ZypsKT6SuvG4bTmn3sdCz867EhuMNZY2/Yj3/R1LXqCVTtsDPmA==";
       };
     };
+    "invoices-2.0.3" = {
+      name = "invoices";
+      packageName = "invoices";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invoices/-/invoices-2.0.3.tgz";
+        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";
@@ -33346,6 +34452,15 @@ let
         sha512 = "JdHz4tSMx1IeFj8yEcQU0i58qiSkOlmZXkZ8+HJ0ROV5KcgLRDO9F703oJ1GeZCvqggrcCbmagD/V7hghY62wA==";
       };
     };
+    "ipaddr.js-0.1.3" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.3.tgz";
+        sha1 = "27a9ca37f148d2102b0ef191ccbf2c51a8f025c6";
+      };
+    };
     "ipaddr.js-1.4.0" = {
       name = "ipaddr.js";
       packageName = "ipaddr.js";
@@ -33400,6 +34515,24 @@ let
         sha512 = "A7AoNxAGzViARQv4sVchmTzRiWiQZMCuQVnCOhrggEgAMsc8Vr345U5/JMN5I45gqL4LVfjtruWokp5YiU23Iw==";
       };
     };
+    "irc-framework-4.4.0" = {
+      name = "irc-framework";
+      packageName = "irc-framework";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/irc-framework/-/irc-framework-4.4.0.tgz";
+        sha512 = "81ZjeFg0J+OdwGO4S90f8/GpwNwIcP9KaCt0lvRqt1GueT7cKPX2v1yiRML3cJXofkz/MsVZqJCnAEThYYaTUQ==";
+      };
+    };
+    "irc-framework-4.9.0" = {
+      name = "irc-framework";
+      packageName = "irc-framework";
+      version = "4.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/irc-framework/-/irc-framework-4.9.0.tgz";
+        sha512 = "cUYMnnKwcNpXtEw/CXnEwUtglmaWZbfu0E/0iI7bENC3bASPNfcvcyTsFQcdknpnoFLyh5kXpQCjPBWKTbOQAQ==";
+      };
+    };
     "irc-replies-2.0.1" = {
       name = "irc-replies";
       packageName = "irc-replies";
@@ -33427,15 +34560,6 @@ let
         sha1 = "2ca9b033651111855412f16be5d77c62a458a766";
       };
     };
-    "irregular-plurals-2.0.0" = {
-      name = "irregular-plurals";
-      packageName = "irregular-plurals";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz";
-        sha512 = "Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==";
-      };
-    };
     "irregular-plurals-3.3.0" = {
       name = "irregular-plurals";
       packageName = "irregular-plurals";
@@ -33706,13 +34830,13 @@ let
         sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
       };
     };
-    "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-data-descriptor-0.1.4" = {
@@ -33823,6 +34947,15 @@ let
         sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
       };
     };
+    "is-domain-0.0.1" = {
+      name = "is-domain";
+      packageName = "is-domain";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-domain/-/is-domain-0.0.1.tgz";
+        sha1 = "7ffb288d5cced6b07c4f2df91c9be9153511348e";
+      };
+    };
     "is-dotfile-1.0.3" = {
       name = "is-dotfile";
       packageName = "is-dotfile";
@@ -34183,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";
@@ -34471,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";
@@ -34534,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";
@@ -35065,15 +36225,6 @@ let
         sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
       };
     };
-    "isnumber-1.0.0" = {
-      name = "isnumber";
-      packageName = "isnumber";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isnumber/-/isnumber-1.0.0.tgz";
-        sha1 = "0e3f9759b581d99dd85086f0ec2a74909cfadd01";
-      };
-    };
     "isobject-2.1.0" = {
       name = "isobject";
       packageName = "isobject";
@@ -35119,13 +36270,13 @@ let
         sha512 = "qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==";
       };
     };
-    "isomorphic-git-0.78.5" = {
+    "isomorphic-git-1.10.5" = {
       name = "isomorphic-git";
       packageName = "isomorphic-git";
-      version = "0.78.5";
+      version = "1.10.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-0.78.5.tgz";
-        sha512 = "LrF5t9x7RdFeg84NsYpZo9qF1MZeb56LpBm6Jv47qMjnWMv0Il/3wPTA8I/lUYywgVbvF/e7xypHauj5auKW3w==";
+        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.10.5.tgz";
+        sha512 = "hcD5SkH36iv2ooM9VCY3kPOYtCgxjw52LmqB6sj5oWlDu/IbI3mYtPdok2lmR5dzmCoaUT7pCXz847AWW7Mv3w==";
       };
     };
     "isomorphic-textencoder-1.0.1" = {
@@ -35290,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" = {
@@ -35308,22 +36459,13 @@ let
         sha1 = "7a549bbd9ffe1585b0cd0a191e203055bee574b4";
       };
     };
-    "jest-diff-25.5.0" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "25.5.0";
+    "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-diff/-/jest-diff-25.5.0.tgz";
-        sha512 = "z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==";
-      };
-    };
-    "jest-get-type-25.2.6" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "25.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz";
-        sha512 = "DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==";
+        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz";
+        sha512 = "Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==";
       };
     };
     "jest-haste-map-25.5.1" = {
@@ -35335,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";
@@ -35362,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";
@@ -35380,13 +36549,13 @@ let
         sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
       };
     };
-    "jest-worker-27.4.5" = {
+    "jest-worker-27.5.1" = {
       name = "jest-worker";
       packageName = "jest-worker";
-      version = "27.4.5";
+      version = "27.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz";
-        sha512 = "f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==";
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz";
+        sha512 = "7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==";
       };
     };
     "jimp-compact-0.16.1" = {
@@ -35398,13 +36567,13 @@ let
         sha512 = "dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==";
       };
     };
-    "jitdb-4.0.0" = {
+    "jitdb-4.0.1" = {
       name = "jitdb";
       packageName = "jitdb";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jitdb/-/jitdb-4.0.0.tgz";
-        sha512 = "+jpM3dpRHHicXsph8XcuQer8droFbzcKS1lhiB4chxUtNjw+dOcuwX2jvPIj0ufFqcukyKHg45trA0HaoUCkUA==";
+        url = "https://registry.npmjs.org/jitdb/-/jitdb-4.0.1.tgz";
+        sha512 = "teg0Zk1KhdCkv2t7ULptqej7cfdOfNtodXGBpQmY71x8U/aty3AubYrL6DutwYCiKYB7q6ITI8M/ywAJxT3kOQ==";
       };
     };
     "jju-1.4.0" = {
@@ -35425,6 +36594,15 @@ let
         sha1 = "a3f222a9aae9f966f5d27c796510e28091764217";
       };
     };
+    "jmespath-0.16.0" = {
+      name = "jmespath";
+      packageName = "jmespath";
+      version = "0.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz";
+        sha512 = "9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==";
+      };
+    };
     "jmp-2.0.0" = {
       name = "jmp";
       packageName = "jmp";
@@ -35443,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" = {
@@ -35470,6 +36648,15 @@ let
         sha1 = "10535a126d24cbd65f7ffcdf15ef2e631076b505";
       };
     };
+    "joycon-3.1.1" = {
+      name = "joycon";
+      packageName = "joycon";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz";
+        sha512 = "34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==";
+      };
+    };
     "jp-kernel-2.0.0" = {
       name = "jp-kernel";
       packageName = "jp-kernel";
@@ -35525,22 +36712,31 @@ 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.30.1" = {
+    "jquery.terminal-2.31.1" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.30.1";
+      version = "2.31.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.30.1.tgz";
-        sha512 = "kZ7mQTKhT/b5js9PYP2uVjyya11wqe2lpEyGgxqQJovmt91Rw0IxGK4iDdvQ1SVPKPbRnJp+OavNR7Uno3fJIg==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.31.1.tgz";
+        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" = {
@@ -35606,6 +36802,24 @@ let
         sha512 = "pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==";
       };
     };
+    "js-sdsl-2.1.4" = {
+      name = "js-sdsl";
+      packageName = "js-sdsl";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-sdsl/-/js-sdsl-2.1.4.tgz";
+        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";
@@ -35651,15 +36865,6 @@ let
         sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
       };
     };
-    "js-yaml-3.13.1" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "3.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
-        sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
-      };
-    };
     "js-yaml-3.14.0" = {
       name = "js-yaml";
       packageName = "js-yaml";
@@ -35759,13 +36964,13 @@ let
         sha512 = "SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==";
       };
     };
-    "jsdoc-3.6.7" = {
+    "jsdoc-3.6.10" = {
       name = "jsdoc";
       packageName = "jsdoc";
-      version = "3.6.7";
+      version = "3.6.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz";
-        sha512 = "sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==";
+        url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz";
+        sha512 = "IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==";
       };
     };
     "jsdom-11.12.0" = {
@@ -35804,13 +37009,13 @@ let
         sha512 = "u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==";
       };
     };
-    "jsdom-18.1.1" = {
+    "jsdom-19.0.0" = {
       name = "jsdom";
       packageName = "jsdom";
-      version = "18.1.1";
+      version = "19.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsdom/-/jsdom-18.1.1.tgz";
-        sha512 = "NmJQbjQ/gpS/1at/ce3nCx89HbXL/f5OcenBe8wU1Eik0ROhyUc3LtmG3567dEHAGXkN8rmILW/qtCOPxPHQJw==";
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz";
+        sha512 = "RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==";
       };
     };
     "jsdom-7.2.2" = {
@@ -35849,49 +37054,49 @@ let
         sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
       };
     };
-    "jsii-1.49.0" = {
+    "jsii-1.54.0" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.49.0.tgz";
-        sha512 = "0/nn32SoCVgvuDSvVD8UuEwMJZbKbROuYtYQJRNN3n/O9g1jA/cj1eM95rRlu4THdWChTw0FDQxLfcuK+oEwpQ==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.54.0.tgz";
+        sha512 = "XuqGpmGIxFcX2GvX3zjcHBzBeZ7+tJ7hr5tu/7qV6wQ/thXuZFdAoj2znSgBkpGOt6mjtRuqv01HIRl25Nys5g==";
       };
     };
-    "jsii-pacmak-1.49.0" = {
+    "jsii-pacmak-1.54.0" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.49.0.tgz";
-        sha512 = "tU5N3wFAl0MrjR29JBzN96kAmm2swrMW3nK8YRdVOZDgNzhyuh0+d6tFfrS5/b6/LTV2sM+wVH6uH6w0FYWxOw==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.54.0.tgz";
+        sha512 = "1uvHzdrUiTL7Z6QLaoY5F4iK+JbVh8BL4dJrZRikd+ntVWW8sh0CIxAAtlwYgAMER8HihZ1AZUzngdZ/zO2AFw==";
       };
     };
-    "jsii-reflect-1.49.0" = {
+    "jsii-reflect-1.54.0" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.49.0.tgz";
-        sha512 = "aTpvvkSuinx2xtuxEz69LchQAN7eTK79s6M9512c8Ajvg0+brolHR83mzINKp/i3DWrUAZ+fb3su+PuSmqvEuQ==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.54.0.tgz";
+        sha512 = "wB4hxHTAN4LEBVg/Y5sr3Sbh3Xe2+jrYIftnhT+2mmhMexHj3U0RhjPW/MFXxRTbiSgDad1fbw5VkJYDWnpGXw==";
       };
     };
-    "jsii-rosetta-1.49.0" = {
+    "jsii-rosetta-1.54.0" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.49.0.tgz";
-        sha512 = "rXj3z0qssulanbqSegJIYhHZmJqwjBed4nJYIsxiUstDCM8vQ5QoewSAO4c7+EZV68EklHh3UCKBkBa5QmQ/hw==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.54.0.tgz";
+        sha512 = "fxgx9L5eWzyMC1IEkDitxgcraHUuZbQQVQztJtZHw/QlZ9n0DUjfbKrefJQ2HpobtI9ZV2fDEYjuwZDBAVBdsA==";
       };
     };
-    "jsii-srcmak-0.1.426" = {
+    "jsii-srcmak-0.1.482" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.426";
+      version = "0.1.482";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.426.tgz";
-        sha512 = "qiKIpps0TXLmSNjSS7P4Y8znoKhd+6sI+K/8HGWrzLvmv7XD0IhZYIKvzwGV1McA/JOhhMq05LtECS49309PHQ==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.482.tgz";
+        sha512 = "Dr7eCmWXtYSPMODMxJxbzf6m5+iFH9WcKtmwWDFwcUke5bxTndovEKkK/GKHKD1sNZcF6FHX2Nak5Lib0bPUTw==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -35975,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" = {
@@ -35993,13 +37198,13 @@ let
         sha512 = "tFH40YQ+lG7mgYYM1kGZOhQngO4SbOEHZJlA4W+NtetWZ20EUU3BPU+30uWRKumuAJoSo5eqrsXD2h72ioS8ew==";
       };
     };
-    "json-ptr-2.2.0" = {
+    "json-ptr-3.1.0" = {
       name = "json-ptr";
       packageName = "json-ptr";
-      version = "2.2.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-ptr/-/json-ptr-2.2.0.tgz";
-        sha512 = "w9f6/zhz4kykltXMG7MLJWMajxiPj0q+uzQPR1cggNAE/sXoq/C5vjUb/7QNcC3rJsVIIKy37ALTXy1O+3c8QQ==";
+        url = "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.0.tgz";
+        sha512 = "KMsG905wFbHHTnvd66MHCNo0E43UPalKt2zQUbBtWrDYKk/3vE/4u8lfWDdIyPEoMXxOFJO1lsBs6xPBXKxeVw==";
       };
     };
     "json-refs-2.1.7" = {
@@ -36182,13 +37387,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.2.81" = {
+    "json2jsii-0.2.142" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.2.81";
+      version = "0.2.142";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.81.tgz";
-        sha512 = "0gdbZdLZM8IPb9bva40Iba9GT8944x61CZivTDBygOlrYImR+wVZ4CzQtKwH8Od6BcM5kGSDjoLGNkT20Uhu2w==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.142.tgz";
+        sha512 = "voi+j4VtuhgI7aKq9WbGv8g4OiQd33JyCDyGHc+M/v+pp8mvzXja9sWvBa4F3zKRazwSERXvP1yS61CTztW8Xg==";
       };
     };
     "json3-3.2.6" = {
@@ -36227,15 +37432,6 @@ let
         sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
       };
     };
-    "json5-2.1.3" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz";
-        sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==";
-      };
-    };
     "json5-2.2.0" = {
       name = "json5";
       packageName = "json5";
@@ -36254,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" = {
@@ -36668,24 +37864,6 @@ let
         sha1 = "58cccb244f563326ba893bf5c06a35f644846daa";
       };
     };
-    "k-bucket-3.3.1" = {
-      name = "k-bucket";
-      packageName = "k-bucket";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/k-bucket/-/k-bucket-3.3.1.tgz";
-        sha512 = "kgwWqYT79rAahn4maIVTP8dIe+m1KulufWW+f1bB9DlZrRFiGpZ4iJOg2HUp4xJYBWONP3+rOPIWF/RXABU6mw==";
-      };
-    };
-    "k-bucket-4.0.1" = {
-      name = "k-bucket";
-      packageName = "k-bucket";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz";
-        sha512 = "YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==";
-      };
-    };
     "k-bucket-5.1.0" = {
       name = "k-bucket";
       packageName = "k-bucket";
@@ -36704,15 +37882,6 @@ let
         sha1 = "641f99b2825be34b6e7984f22b7962dc1a906c23";
       };
     };
-    "k-rpc-4.3.1" = {
-      name = "k-rpc";
-      packageName = "k-rpc";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/k-rpc/-/k-rpc-4.3.1.tgz";
-        sha512 = "mgAJZeFYbpP0xzJzmS0TQTYoFI0sjy3GnKFhg8wyboL+KvWg2WLaA2Oy9PthLPx2Rxz4WeBMk4y3MSOrDJ95FA==";
-      };
-    };
     "k-rpc-5.1.0" = {
       name = "k-rpc";
       packageName = "k-rpc";
@@ -36758,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";
@@ -36857,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" = {
@@ -36884,13 +38044,13 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.0.4" = {
+    "keyv-4.1.1" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.0.4";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz";
-        sha512 = "vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz";
+        sha512 = "tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==";
       };
     };
     "khroma-1.4.1" = {
@@ -36965,13 +38125,13 @@ let
         sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
       };
     };
-    "klaw-3.0.0" = {
+    "klaw-4.0.1" = {
       name = "klaw";
       packageName = "klaw";
-      version = "3.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz";
-        sha512 = "0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==";
+        url = "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz";
+        sha512 = "pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==";
       };
     };
     "klaw-sync-6.0.0" = {
@@ -37028,22 +38188,31 @@ let
         sha512 = "sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==";
       };
     };
-    "known-css-properties-0.23.0" = {
+    "known-css-properties-0.24.0" = {
       name = "known-css-properties";
       packageName = "known-css-properties";
-      version = "0.23.0";
+      version = "0.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.23.0.tgz";
-        sha512 = "h9ivI88e1lFNmTT4HovBN33Ysn0OIJG7IPG2mkpx2uniQXFWqo35QdiX7w0TovlUFXfW8aPFblP5/q0jlOr2sA==";
+        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz";
+        sha512 = "RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==";
       };
     };
-    "known-css-properties-0.5.0" = {
-      name = "known-css-properties";
-      packageName = "known-css-properties";
-      version = "0.5.0";
+    "koa-2.13.4" = {
+      name = "koa";
+      packageName = "koa";
+      version = "2.13.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.5.0.tgz";
-        sha512 = "LOS0CoS8zcZnB1EjLw4LLqDXw8nvt3AGH5dXLQP3D9O1nLLA+9GC5GnPl5mmF+JiQAtSX4VyZC7KvEtcA4kUtA==";
+        url = "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz";
+        sha512 = "43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g==";
+      };
+    };
+    "koa-compose-3.2.1" = {
+      name = "koa-compose";
+      packageName = "koa-compose";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz";
+        sha1 = "a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7";
       };
     };
     "koa-compose-4.2.0" = {
@@ -37055,13 +38224,58 @@ let
         sha512 = "/Io2dpt3uU/wWkn2pkRBj3vudzsi6hMssGkREZCxLIczAIvLWy5Jw9PW7ctTxvcfXKCisbgsMLsgE1BvSZB6Kw==";
       };
     };
-    "kuler-1.0.1" = {
-      name = "kuler";
-      packageName = "kuler";
-      version = "1.0.1";
+    "koa-convert-2.0.0" = {
+      name = "koa-convert";
+      packageName = "koa-convert";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz";
-        sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==";
+        url = "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz";
+        sha512 = "asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==";
+      };
+    };
+    "koa-logger-3.2.1" = {
+      name = "koa-logger";
+      packageName = "koa-logger";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-logger/-/koa-logger-3.2.1.tgz";
+        sha512 = "MjlznhLLKy9+kG8nAXKJLM0/ClsQp/Or2vI3a5rbSQmgl8IJBQO0KI5FA70BvW+hqjtxjp49SpH2E7okS6NmHg==";
+      };
+    };
+    "koa-request-1.0.0" = {
+      name = "koa-request";
+      packageName = "koa-request";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-request/-/koa-request-1.0.0.tgz";
+        sha1 = "19343352479d2cb965d7aff0a802b1a06d408e16";
+      };
+    };
+    "koa-router-7.4.0" = {
+      name = "koa-router";
+      packageName = "koa-router";
+      version = "7.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-router/-/koa-router-7.4.0.tgz";
+        sha512 = "IWhaDXeAnfDBEpWS6hkGdZ1ablgr6Q6pGdXCyK38RbzuH4LkUOpPqPw+3f8l8aTDrQmBQ7xJc0bs2yV4dzcO+g==";
+      };
+    };
+    "koa-send-4.1.3" = {
+      name = "koa-send";
+      packageName = "koa-send";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-send/-/koa-send-4.1.3.tgz";
+        sha512 = "3UetMBdaXSiw24qM2Mx5mKmxLKw5ZTPRjACjfhK6Haca55RKm9hr/uHDrkrxhSl5/S1CKI/RivZVIopiatZuTA==";
+      };
+    };
+    "koa-static-4.0.3" = {
+      name = "koa-static";
+      packageName = "koa-static";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-static/-/koa-static-4.0.3.tgz";
+        sha512 = "JGmxTuPWy4bH7bt6gD/OMWkhprawvRmzJSr8TWKmTL4N7+IMv3s0SedeQi5S4ilxM9Bo6ptkCyXj/7wf+VS5tg==";
       };
     };
     "kuler-2.0.0" = {
@@ -37172,13 +38386,22 @@ let
         sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
       };
     };
-    "launch-editor-2.2.1" = {
+    "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";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz";
-        sha512 = "On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==";
+        url = "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz";
+        sha512 = "3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==";
       };
     };
     "layered-graph-1.1.3" = {
@@ -37289,6 +38512,24 @@ let
         sha1 = "544ff7032b7b83c68f0701328d9297aa694340f9";
       };
     };
+    "ldapjs-2.0.0-pre.2" = {
+      name = "ldapjs";
+      packageName = "ldapjs";
+      version = "2.0.0-pre.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldapjs/-/ldapjs-2.0.0-pre.2.tgz";
+        sha512 = "KZnKiFXu5eEU4jKWoz29yUWh6fS8pIBuxFq9njji8LfHu3T4i05j6lsnGyDLayhJDw+rtKpEgmS3/As7CXg7WQ==";
+      };
+    };
+    "ldapjs-2.1.1" = {
+      name = "ldapjs";
+      packageName = "ldapjs";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldapjs/-/ldapjs-2.1.1.tgz";
+        sha512 = "XzF2BEGeM/nenYDAJvkDMYovZ07fIGalrYD+suprSqUWPCWpoa+a4vWl5g8o/En85m6NHWBpirDFNClWLAd77w==";
+      };
+    };
     "ldapjs-2.3.1" = {
       name = "ldapjs";
       packageName = "ldapjs";
@@ -37325,15 +38566,6 @@ let
         sha512 = "XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==";
       };
     };
-    "length-prefixed-message-3.0.4" = {
-      name = "length-prefixed-message";
-      packageName = "length-prefixed-message";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/length-prefixed-message/-/length-prefixed-message-3.0.4.tgz";
-        sha512 = "Tqyx4nggb9nkLD6p4hyIz7UiVNg5u3OnCP2h0hS/HXpheH88rsoNEgNB8xTnpPMw6zWXGZ7Cpg1zhWPlsJ0/TQ==";
-      };
-    };
     "level-5.0.1" = {
       name = "level";
       packageName = "level";
@@ -37640,40 +38872,76 @@ let
         sha512 = "BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==";
       };
     };
-    "lightning-4.13.3" = {
+    "lightning-4.14.3" = {
       name = "lightning";
       packageName = "lightning";
-      version = "4.13.3";
+      version = "4.14.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-4.13.3.tgz";
-        sha512 = "7behHnEw4PPAZ2BOXr+B80mtPFRnxZESBKkV0fgpniM6siidItxDiZEfyRXB1/5KDON7A/m6qgCkdyljQU/CCA==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-4.14.3.tgz";
+        sha512 = "5i0XgY+PSaGmMQTuVdtnzDg0LiTp1krfH4seefFLJNFb6Hunxic00D/roybGgd9hlbqeGmGYXZ+YQpATKQtblA==";
       };
     };
-    "lightning-4.14.3" = {
+    "lightning-5.3.3" = {
       name = "lightning";
       packageName = "lightning";
-      version = "4.14.3";
+      version = "5.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-4.14.3.tgz";
-        sha512 = "5i0XgY+PSaGmMQTuVdtnzDg0LiTp1krfH4seefFLJNFb6Hunxic00D/roybGgd9hlbqeGmGYXZ+YQpATKQtblA==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.3.3.tgz";
+        sha512 = "/piN0cPoXe3wfKJxIwlclOEC3es0VhqFFKpPw5Z1AahpDs1UA/0+czaDiwUrwWPYnlM/6gh92Tu4iXDYNWipng==";
       };
     };
-    "lightning-5.1.1" = {
+    "lightning-5.3.4" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.1.1";
+      version = "5.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-5.1.1.tgz";
-        sha512 = "KsLcijLhonCRwa9HiAyluIeH3Iju2W0w365/Nd5f6I157zHhnRIZAyCc2QgzklhN1yiDl2CbBJ7AGgM1RUOm7w==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.3.4.tgz";
+        sha512 = "zUHlFFSS+KJhndoZkjkXPWpvlXAgYGWS2SxzXpiiwnXZKCNmT+IkQFQmp2oIpbF7K93oqlpxgafZMZDeReX5pQ==";
       };
     };
-    "lightning-5.2.1" = {
+    "lightning-5.6.1" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.2.1";
+      version = "5.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.6.1.tgz";
+        sha512 = "wUS82S4bhwlR8lwuQNiMX4T+LQ/mL2zNyXOiL7dzZBRpCr/65dyXBTsl3SZPwcm4miyvO4jJJ4jhgLgKRk35aQ==";
+      };
+    };
+    "lightning-5.6.2" = {
+      name = "lightning";
+      packageName = "lightning";
+      version = "5.6.2";
+      src = fetchurl {
+        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.2.1.tgz";
-        sha512 = "Mt9J8OvPC0A1xeNhT6mqWiBefer6hEVosLPiqBXJ1BsNPhGYAIEEuWCWT3Yy0biPm6FUotAdfb1IO6B4NILBhg==";
+        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" = {
@@ -37730,6 +38998,15 @@ let
         sha512 = "7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==";
       };
     };
+    "lines-and-columns-2.0.3" = {
+      name = "lines-and-columns";
+      packageName = "lines-and-columns";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz";
+        sha512 = "cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==";
+      };
+    };
     "linewise-0.0.3" = {
       name = "linewise";
       packageName = "linewise";
@@ -37739,13 +39016,13 @@ let
         sha1 = "bf967ba0dd31faaf09ab5bdb3676ad7f2aa18493";
       };
     };
-    "link-check-5.0.1" = {
+    "link-check-5.0.2" = {
       name = "link-check";
       packageName = "link-check";
-      version = "5.0.1";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/link-check/-/link-check-5.0.1.tgz";
-        sha512 = "SAPnWm0XYp6cke1ho9DieUJGeSaQ6v7LVvK6dSO52zDuEGDryvlPlw0XjB7LKyHFzXRsgg9DSGu3j88U/NoFQg==";
+        url = "https://registry.npmjs.org/link-check/-/link-check-5.0.2.tgz";
+        sha512 = "F7k7HzOFY3lh11o3nQTCfi3HTrUMbn/0LQ5aBU7vgronoh8HWGZfRC4Jh0ghuQDbtTGNO4u4is6AoqK0hsYDJg==";
       };
     };
     "linkify-it-2.2.0" = {
@@ -37757,6 +39034,15 @@ let
         sha512 = "GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==";
       };
     };
+    "linkify-it-3.0.2" = {
+      name = "linkify-it";
+      packageName = "linkify-it";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz";
+        sha512 = "gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==";
+      };
+    };
     "linkify-it-3.0.3" = {
       name = "linkify-it";
       packageName = "linkify-it";
@@ -37829,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" = {
@@ -37856,49 +39142,103 @@ let
         sha512 = "20ZIPPyGI4odh/Jxq6Lawtc+Zx7MkPuxnn34TuhZpM6ppwVbSGJSuJPctLrhZvWdaYYeboz3BITiqI/o4KvChQ==";
       };
     };
-    "ln-service-53.1.2" = {
+    "ln-service-53.5.0" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "53.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.5.0.tgz";
+        sha512 = "W6x/uM0K1hHEMadW4YvXcucUc2hjIm+jMIxs0ujNaeRH6uVFEtlfPmEwnYV9EzU3Ns+NOp/juuN/fvF0DqeXhQ==";
+      };
+    };
+    "ln-service-53.5.1" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.1.2";
+      version = "53.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.1.2.tgz";
-        sha512 = "suXjhDhulSS5pruRaFQdY3FLf6VMrnDqo1f+RcCFNQN7nvA1mFIT2L6bSrnduRGMFofhlOwUWB5DuLBQgTal5w==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.5.1.tgz";
+        sha512 = "EXLhYeu1qvhk+yzuH6qBZyGvqBPWT71FnmsbOxKjWofW6SGQBbJuNru6Ub2NIMhJnXqD7qvMvswZ54ho/oPvGQ==";
       };
     };
-    "ln-service-53.2.0" = {
+    "ln-service-53.7.2" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.2.0";
+      version = "53.7.2";
       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.7.2.tgz";
+        sha512 = "JrCr7yYX0m3Dus2ucsDmJJ7aVvyUtl+wUEIn1HdC8HpuwjZFARaeTG7Nm3qJk1jTaV14JrqyRPzvZ5/InwtPvg==";
       };
     };
-    "ln-sync-3.0.1" = {
+    "ln-service-53.7.3" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "53.7.3";
+      src = fetchurl {
+        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.0.1";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.0.1.tgz";
-        sha512 = "rCH59pxjqsWrcwse8hL9FdWGMj7L3tGMTzxussOnbM2oEfj9LsvRPxrcj7+mEMhuJ+/OZ8V31jIUwCGwUTMz6w==";
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.10.0.tgz";
+        sha512 = "iRYFVwHF6gyBKO8/WJfR+6jlsjPSsevFz/cbOQbOwBzMVaCmXIyWw95SGHEJLcZR2jNadEfP3k10oYa+hWou3A==";
       };
     };
-    "ln-sync-3.3.0" = {
+    "ln-sync-3.10.1" = {
       name = "ln-sync";
       packageName = "ln-sync";
-      version = "3.3.0";
+      version = "3.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.3.0.tgz";
-        sha512 = "FXfoGbvYkR+VyMtRMn6RsW6dujt+jI5cUqXJ36sWdnn5XS60sCEeATWvn48vi60BzqgDFMCX7aDHG5v4s7IRbw==";
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.10.1.tgz";
+        sha512 = "mib9y2c36Gz6oQ7sUzAmLV3a8wt52Rm1zKo7ldxBN49Tnh0gGQXbM69jOhLsy7DbB2TCjUJEh1d8OGMsbGuBqg==";
       };
     };
-    "ln-telegram-3.4.2" = {
+    "ln-sync-3.7.0" = {
+      name = "ln-sync";
+      packageName = "ln-sync";
+      version = "3.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.7.0.tgz";
+        sha512 = "1aTlSSLiIULG4AOhOLdMd/VQYhUBEvTdA+8Bp2xe1YolOralVW/x/50fzIxzkKolCwXQ6elecUuH4nw1z0tqkg==";
+      };
+    };
+    "ln-telegram-3.17.3" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.4.2";
+      version = "3.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.4.2.tgz";
-        sha512 = "yb3x+kFmjkEykBtUWX+zE6uhkWTDm7wEq0QkLL2tqx5y51a6KAehClX6qjnuKeFjXRzeN0D8tUI2B9RV2NjAAA==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.17.3.tgz";
+        sha512 = "zGapeGsiRaK308l1gSyz0Cq9xU/S4jf0leFwxI5jwlAjgNGYzRpakk3f8mJETw6uxw+Cgn1kdl4dcnCC8SjyUg==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -38126,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" = {
@@ -38180,6 +39511,15 @@ let
         sha1 = "d22c9ac660288f3843e16ba7d2b5d06cca27d777";
       };
     };
+    "lodash-4.17.15" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
+        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
+      };
+    };
     "lodash-4.17.20" = {
       name = "lodash";
       packageName = "lodash";
@@ -38621,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";
@@ -38684,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";
@@ -38774,15 +40114,6 @@ let
         sha1 = "78b41eafe1405fa966459ea4193fd502d084524b";
       };
     };
-    "lodash.forown-4.4.0" = {
-      name = "lodash.forown";
-      packageName = "lodash.forown";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.forown/-/lodash.forown-4.4.0.tgz";
-        sha1 = "85115cf04f73ef966eced52511d3893cc46683af";
-      };
-    };
     "lodash.get-4.4.2" = {
       name = "lodash.get";
       packageName = "lodash.get";
@@ -39323,13 +40654,13 @@ let
         sha512 = "U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==";
       };
     };
-    "log-node-8.0.2" = {
+    "log-node-8.0.3" = {
       name = "log-node";
       packageName = "log-node";
-      version = "8.0.2";
+      version = "8.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log-node/-/log-node-8.0.2.tgz";
-        sha512 = "H+3t002yGqZRJhVW3A/EksIB7i1M84cwcWzBPsnAmQWOA2ePAV2fXJpNPBnw6VEdhzPcedIxQwT5jhBVTlYQww==";
+        url = "https://registry.npmjs.org/log-node/-/log-node-8.0.3.tgz";
+        sha512 = "1UBwzgYiCIDFs8A0rM2QdBFo8Wd8UQ0HrSTu/MNI+/2zN3NoHRj2fhplurAyuxTYUXu3Oohugq1jAn5s05u1MQ==";
       };
     };
     "log-symbols-1.0.2" = {
@@ -39350,15 +40681,6 @@ let
         sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==";
       };
     };
-    "log-symbols-3.0.0" = {
-      name = "log-symbols";
-      packageName = "log-symbols";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz";
-        sha512 = "dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==";
-      };
-    };
     "log-symbols-4.0.0" = {
       name = "log-symbols";
       packageName = "log-symbols";
@@ -39440,13 +40762,22 @@ let
         sha512 = "Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==";
       };
     };
-    "logform-2.3.0" = {
+    "log4js-6.4.1" = {
+      name = "log4js";
+      packageName = "log4js";
+      version = "6.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log4js/-/log4js-6.4.1.tgz";
+        sha512 = "iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==";
+      };
+    };
+    "logform-2.4.0" = {
       name = "logform";
       packageName = "logform";
-      version = "2.3.0";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz";
-        sha512 = "graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz";
+        sha512 = "CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==";
       };
     };
     "logidrom-0.3.1" = {
@@ -39503,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";
@@ -39530,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";
@@ -39638,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";
@@ -39782,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";
@@ -39855,22 +41204,22 @@ let
         sha512 = "zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==";
       };
     };
-    "luxon-2.1.1" = {
+    "luxon-2.3.0" = {
       name = "luxon";
       packageName = "luxon";
-      version = "2.1.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/luxon/-/luxon-2.1.1.tgz";
-        sha512 = "6VQVNw7+kQu3hL1ZH5GyOhnk8uZm21xS7XJ/6vDZaFNcb62dpFDKcH8TI5NkoZOdMRxr7af7aYGrJlE/Wv0i1w==";
+        url = "https://registry.npmjs.org/luxon/-/luxon-2.3.0.tgz";
+        sha512 = "gv6jZCV+gGIrVKhO90yrsn8qXPKD8HYZJtrUDSfEbow8Tkw84T9OnCyJhWvnJIaIF/tBuiAjZuQHUt1LddX2mg==";
       };
     };
-    "lzma-native-8.0.1" = {
+    "lzma-native-8.0.6" = {
       name = "lzma-native";
       packageName = "lzma-native";
-      version = "8.0.1";
+      version = "8.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.1.tgz";
-        sha512 = "Ryr9X3yDVZhRYOxR8QhUBCNe6GdEfy9BvFDIFtUvEkocvSvnrYt9lRm6FR1z0eQn0QSMenrgrDIJRMgUf9zsKQ==";
+        url = "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.6.tgz";
+        sha512 = "09xfg67mkL2Lz20PrrDeNYZxzeW7ADtpYFbwSQh9U8+76RIzx5QsJBMy8qikv3hbUPfpy6hqwxt6FcGK81g9AA==";
       };
     };
     "macaroon-3.0.4" = {
@@ -40035,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";
@@ -40215,31 +41573,13 @@ let
         sha512 = "YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==";
       };
     };
-    "markdown-it-11.0.1" = {
+    "markdown-it-12.3.2" = {
       name = "markdown-it";
       packageName = "markdown-it";
-      version = "11.0.1";
+      version = "12.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-11.0.1.tgz";
-        sha512 = "aU1TzmBKcWNNYvH9pjq6u92BML+Hz3h5S/QpfTFwiQF852pLT+9qHsrhM9JYipkOXZxGn+sGH8oyJE9FD9WezQ==";
-      };
-    };
-    "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.0" = {
-      name = "markdown-it";
-      packageName = "markdown-it";
-      version = "12.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.0.tgz";
-        sha512 = "T345UZZ6ejQWTjG6PSEHplzNy5m4kF6zvUpHVDv8Snl/pEU0OxIK0jGg8YLVNwJvT8E0YJC7/2UvssJDk/wQCQ==";
+        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz";
+        sha512 = "TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==";
       };
     };
     "markdown-it-8.4.2" = {
@@ -40269,6 +41609,15 @@ let
         sha512 = "/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==";
       };
     };
+    "markdown-it-anchor-8.4.1" = {
+      name = "markdown-it-anchor";
+      packageName = "markdown-it-anchor";
+      version = "8.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.4.1.tgz";
+        sha512 = "sLODeRetZ/61KkKLJElaU3NuU2z7MhXf12Ml1WJMSdwpngeofneCRF+JBbat8HiSqhniOMuTemXMrsI7hA6XyA==";
+      };
+    };
     "markdown-it-deflist-2.1.0" = {
       name = "markdown-it-deflist";
       packageName = "markdown-it-deflist";
@@ -40332,13 +41681,13 @@ let
         sha512 = "HyxjAu6BRsdt6Xcv6TKVQnkz/E70TdGXEFHRYBGLncRE9lBFwDNLVtFojKxjJWgJ+5XxUwLaHXy+2sGBbDn+4A==";
       };
     };
-    "markdown-it-multimd-table-4.1.1" = {
+    "markdown-it-multimd-table-4.1.3" = {
       name = "markdown-it-multimd-table";
       packageName = "markdown-it-multimd-table";
-      version = "4.1.1";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.1.1.tgz";
-        sha512 = "FIgU3m6sw60XTouDdBd4ASZAc7Ba5ER5YkZOfGw+7PS/VsSzFFLYKCrGIwxTt6LscoXK6/TbMIu/4kJfykbgBg==";
+        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" = {
@@ -40377,13 +41726,13 @@ let
         sha512 = "UB/IbzjWazwTlNAX0pvWNlJS8NKsOQ4syrXZQ/C72j+jirrsjVRT627lCaylrKJFBQWfRsPmIVQie8x38DEhAQ==";
       };
     };
-    "markdown-link-extractor-1.3.0" = {
+    "markdown-link-extractor-1.3.1" = {
       name = "markdown-link-extractor";
       packageName = "markdown-link-extractor";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-1.3.0.tgz";
-        sha512 = "1qXoYqhsU5qgWtUF9HQlBF82jRrakENh+7nmPUxoMJw13kf92jzb72EchrSsw5vdqbDLJurkpNL50xLFRhjmbw==";
+        url = "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-1.3.1.tgz";
+        sha512 = "IosNBtHXplzEq2n9WoSi83LNLCWgLnb+8Xq379Ct5xrLLzmqPUtc+A1oqo6Sd32YfKus9uLedFNSwFK1sCzoNQ==";
       };
     };
     "markdown-serve-0.3.3" = {
@@ -40404,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";
@@ -40431,31 +41771,31 @@ let
         sha512 = "y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==";
       };
     };
-    "markdownlint-0.24.0" = {
+    "markdownlint-0.25.1" = {
       name = "markdownlint";
       packageName = "markdownlint";
-      version = "0.24.0";
+      version = "0.25.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdownlint/-/markdownlint-0.24.0.tgz";
-        sha512 = "OJIGsGFV/rC9irI5E1FMy6v9hdACSwaa+EN3224Y5KG8zj2EYzdHOw0pOJovIYmjNfEZ9BtxUY4P7uYHTSNnbQ==";
+        url = "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz";
+        sha512 = "AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==";
       };
     };
-    "markdownlint-cli2-formatter-default-0.0.2" = {
+    "markdownlint-cli2-formatter-default-0.0.3" = {
       name = "markdownlint-cli2-formatter-default";
       packageName = "markdownlint-cli2-formatter-default";
-      version = "0.0.2";
+      version = "0.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.2.tgz";
-        sha512 = "jIz1X3SIC8sX4NDFqQFUXL+JEtfnDoN4i+xocEu+etcxGX455pHb6sx86f/yVk4mKJ2o7aNe2ydSx9an22BfBg==";
+        url = "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.3.tgz";
+        sha512 = "QEAJitT5eqX1SNboOD+SO/LNBpu4P4je8JlR02ug2cLQAqmIhh8IJnSK7AcaHBHhNADqdGydnPpQOpsNcEEqCw==";
       };
     };
-    "markdownlint-rule-helpers-0.15.0" = {
+    "markdownlint-rule-helpers-0.16.0" = {
       name = "markdownlint-rule-helpers";
       packageName = "markdownlint-rule-helpers";
-      version = "0.15.0";
+      version = "0.16.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==";
+        url = "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.16.0.tgz";
+        sha512 = "oEacRUVeTJ5D5hW1UYd2qExYI0oELdYK72k1TKGvIeYJIbqQWAz476NAc7LNixSySUhcNl++d02DvX0ccDk9/w==";
       };
     };
     "marked-0.3.19" = {
@@ -40467,22 +41807,22 @@ let
         sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
       };
     };
-    "marked-0.7.0" = {
+    "marked-2.1.3" = {
       name = "marked";
       packageName = "marked";
-      version = "0.7.0";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz";
-        sha512 = "c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==";
+        url = "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz";
+        sha512 = "/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==";
       };
     };
-    "marked-2.1.3" = {
+    "marked-4.0.12" = {
       name = "marked";
       packageName = "marked";
-      version = "2.1.3";
+      version = "4.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz";
-        sha512 = "/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==";
+        url = "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz";
+        sha512 = "hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==";
       };
     };
     "marked-terminal-3.3.0" = {
@@ -40494,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" = {
@@ -40557,15 +41897,6 @@ let
         sha1 = "c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e";
       };
     };
-    "matcher-2.1.0" = {
-      name = "matcher";
-      packageName = "matcher";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz";
-        sha512 = "o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==";
-      };
-    };
     "matcher-3.0.0" = {
       name = "matcher";
       packageName = "matcher";
@@ -40692,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";
@@ -40809,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" = {
@@ -40827,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" = {
@@ -40845,13 +42167,13 @@ let
         sha512 = "j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==";
       };
     };
-    "mdast-util-gfm-table-1.0.1" = {
+    "mdast-util-gfm-table-1.0.3" = {
       name = "mdast-util-gfm-table";
       packageName = "mdast-util-gfm-table";
-      version = "1.0.1";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.1.tgz";
-        sha512 = "NByKuaSg5+M6r9DZBPXFUmhMHGFf9u+WE76EeStN01ghi8hpnydiWBXr+qj0XCRWI7SAMNtEjGvip6zci9axQA==";
+        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" = {
@@ -40863,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" = {
@@ -40890,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" = {
@@ -40908,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" = {
@@ -40926,22 +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";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.2.6.tgz";
-        sha512 = "doJZmTEGagHypWvJ8ltinmwUsT9ZaNgNIQW6Gl7jNdsI1QZkTHTimYW561Niy2s8AEPAqEgV0dIh2UOVlSXUJA==";
-      };
-    };
-    "mdast-util-to-nlcst-3.2.3" = {
-      name = "mdast-util-to-nlcst";
-      packageName = "mdast-util-to-nlcst";
-      version = "3.2.3";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz";
-        sha512 = "hPIsgEg7zCvdU6/qvjcR6lCmJeRuIEpZGY5xBV+pqzuMOvQajyyF8b6f24f8k3Rw8u40GwkI3aAxUXr3bB2xag==";
+        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" = {
@@ -41142,22 +42455,22 @@ let
         sha512 = "yiAivd4xFOH/WXlUi6v/nKopBh1QLzwjFi36NK88cGt/PRXI8WeBASqY+YSjIVWvQTx3hR8zHKDBMV6hWmglNA==";
       };
     };
-    "mem-fs-editor-9.3.0" = {
+    "mem-fs-editor-9.4.0" = {
       name = "mem-fs-editor";
       packageName = "mem-fs-editor";
-      version = "9.3.0";
+      version = "9.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.3.0.tgz";
-        sha512 = "QKFbPwGCh1ypmc2H8BUYpbapwT/x2AOCYZQogzSui4rUNes7WVMagQXsirPIfp18EarX0SSY9Fpg426nSjew4Q==";
+        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.4.0.tgz";
+        sha512 = "HSSOLSVRrsDdui9I6i96dDtG+oAez/4EB2g4cjSrNhgNQ3M+L57/+22NuPdORSoxvOHjIg/xeOE+C0wwF91D2g==";
       };
     };
-    "memfs-3.4.0" = {
+    "memfs-3.4.1" = {
       name = "memfs";
       packageName = "memfs";
-      version = "3.4.0";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/memfs/-/memfs-3.4.0.tgz";
-        sha512 = "o/RfP0J1d03YwsAxyHxAYs2kyJp55AFkMazlFAZFR2I2IXkxiUTXRabJ6RmNNCQ83LAD2jy52Khj0m3OffpNdA==";
+        url = "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz";
+        sha512 = "1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==";
       };
     };
     "memoize-one-5.2.1" = {
@@ -41250,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" = {
@@ -41268,15 +42581,6 @@ let
         sha1 = "86d7090b30ce455d63fbae12dda51a47ddcaf9b2";
       };
     };
-    "menu-string-1.3.0" = {
-      name = "menu-string";
-      packageName = "menu-string";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/menu-string/-/menu-string-1.3.0.tgz";
-        sha512 = "ctDyraFPyJDXi6RWgWZ8SyDk2bAsFaBpobprCl7xbcfQamjtfuaN8+lcWUt8ARYfQKb1f8mcPVhQ+Q2ObeD/3A==";
-      };
-    };
     "meow-10.1.2" = {
       name = "meow";
       packageName = "meow";
@@ -41295,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";
@@ -41349,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";
@@ -41430,13 +42716,13 @@ let
         sha512 = "TIurLf/ustQNMXi5foClGTcEsRvH6DCvxeAKu68OrwHMOSM/M1pgPXb7qe52Svk1ClvmZuAVpLtP5FWKzPr/sw==";
       };
     };
-    "mermaid-8.13.6" = {
+    "mermaid-8.14.0" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "8.13.6";
+      version = "8.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.13.6.tgz";
-        sha512 = "mz8MHq0IyEM7vLyl3fEOWgqMNYrowTS1s8Tx2EC1BGlT0KHpy4BFFgcKlLdor2vxSMSlXq1sAZS+aykFC6uUBA==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.14.0.tgz";
+        sha512 = "ITSHjwVaby1Li738sxhF48sLTxcNyUAoWfoqyztL1f7J6JOLpHOuQPNLBb6lxGPUA0u7xP9IRULgvod0dKu35A==";
       };
     };
     "meros-1.1.4" = {
@@ -41457,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" = {
@@ -41601,13 +42887,13 @@ let
         sha512 = "oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==";
       };
     };
-    "micromark-extension-gfm-2.0.0" = {
+    "micromark-extension-gfm-2.0.1" = {
       name = "micromark-extension-gfm";
       packageName = "micromark-extension-gfm";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.0.tgz";
-        sha512 = "yYPlZ48Ss8fRFSmlQP/QXt3/M6tEvawEVFO+jDPnFA3mGeVgzIyaeHgrIV/9AMFAjQhctKA47Bk8xBhcuaL74Q==";
+        url = "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz";
+        sha512 = "p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==";
       };
     };
     "micromark-extension-gfm-autolink-literal-0.5.7" = {
@@ -41718,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" = {
@@ -41772,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" = {
@@ -41862,13 +43148,13 @@ let
         sha512 = "DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==";
       };
     };
-    "micromark-util-encode-1.0.0" = {
+    "micromark-util-encode-1.0.1" = {
       name = "micromark-util-encode";
       packageName = "micromark-util-encode";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.0.tgz";
-        sha512 = "cJpFVM768h6zkd8qJ1LNRrITfY4gwFt+tziPcIf71Ui8yFzY9wG3snZQqiWVq93PG4Sw6YOtcNiKJfVIs9qfGg==";
+        url = "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz";
+        sha512 = "U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==";
       };
     };
     "micromark-util-events-to-acorn-1.0.4" = {
@@ -42051,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";
@@ -42087,6 +43364,33 @@ let
         sha512 = "BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==";
       };
     };
+    "mime-db-1.40.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.40.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
+        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";
+      version = "1.44.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
+        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+      };
+    };
     "mime-db-1.50.0" = {
       name = "mime-db";
       packageName = "mime-db";
@@ -42114,6 +43418,33 @@ let
         sha512 = "lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==";
       };
     };
+    "mime-types-2.1.24" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
+        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";
+      version = "2.1.27";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
+        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
+      };
+    };
     "mime-types-2.1.33" = {
       name = "mime-types";
       packageName = "mime-types";
@@ -42132,6 +43463,15 @@ let
         sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
       };
     };
+    "mimer-2.0.2" = {
+      name = "mimer";
+      packageName = "mimer";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimer/-/mimer-2.0.2.tgz";
+        sha512 = "izxvjsB7Ur5HrTbPu6VKTrzxSMBFBqyZQc6dWlZNQ4/wAvf886fD4lrjtFd8IQ8/WmZKdxKjUtqFFNaj3hQ52g==";
+      };
+    };
     "mimic-fn-1.2.0" = {
       name = "mimic-fn";
       packageName = "mimic-fn";
@@ -42213,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";
@@ -42267,13 +43616,31 @@ let
         sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
-    "minimatch-all-1.1.0" = {
-      name = "minimatch-all";
-      packageName = "minimatch-all";
-      version = "1.1.0";
+    "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-all/-/minimatch-all-1.1.0.tgz";
-        sha1 = "40c496a27a2e128d19bf758e76bb01a0c7145787";
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.0.0.tgz";
+        sha512 = "EU+GCVjXD00yOUf1TwAHVP7v3fBD3A8RkkPYsWWKGWesxM/572sL53wJQnHxquHlRhYUV36wHkqrN8cdikKc2g==";
       };
     };
     "minimist-0.0.10" = {
@@ -42303,6 +43670,15 @@ let
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
+    "minimist-1.2.3" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.3.tgz";
+        sha512 = "+bMdgqjMN/Z77a6NlY/I3U5LlRDbnmaAk6lDveAPKwSpcPM4tKAuYsvYF8xjhOPXhOYGe/73vVLVez5PW+jqhw==";
+      };
+    };
     "minimist-1.2.5" = {
       name = "minimist";
       packageName = "minimist";
@@ -42519,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";
@@ -42582,31 +43967,31 @@ let
         sha512 = "sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==";
       };
     };
-    "mobx-6.3.9" = {
+    "mobx-6.4.1" = {
       name = "mobx";
       packageName = "mobx";
-      version = "6.3.9";
+      version = "6.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx/-/mobx-6.3.9.tgz";
-        sha512 = "u9vhETRPgx6s+MD2NhGaOQJMJa/qszflwFxKryCXotERWY77ocdrRQUp7Jwt1urjefUXNj3fQbTnKrCV+kBaXw==";
+        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.2" = {
+    "mobx-react-lite-3.3.0" = {
       name = "mobx-react-lite";
       packageName = "mobx-react-lite";
-      version = "3.2.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.2.2.tgz";
-        sha512 = "FxJJMqmHcnQYOVVs2DdjNHioGlFsXF5/9VHztS9NAfIT3DYrxNZzVi119Zr/OmlWKkWNkAsssSNzPkqautfL4A==";
+        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.3.0.tgz";
+        sha512 = "U/kMSFtV/bNVgY01FuiGWpRkaQVHozBq5CEBZltFvPt4FcV111hEWkgwqVg9GPPZSEuEdV438PEz8mk8mKpYlA==";
       };
     };
     "mocha-2.5.3" = {
@@ -42618,15 +44003,6 @@ let
         sha1 = "161be5bdeb496771eb9b35745050b622b5aefc58";
       };
     };
-    "mocha-7.2.0" = {
-      name = "mocha";
-      packageName = "mocha";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz";
-        sha512 = "O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==";
-      };
-    };
     "mocha-8.4.0" = {
       name = "mocha";
       packageName = "mocha";
@@ -42636,13 +44012,13 @@ let
         sha512 = "hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==";
       };
     };
-    "mocha-9.1.3" = {
+    "mocha-9.2.1" = {
       name = "mocha";
       packageName = "mocha";
-      version = "9.1.3";
+      version = "9.2.1";
       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.1.tgz";
+        sha512 = "T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==";
       };
     };
     "mock-require-3.0.3" = {
@@ -42744,6 +44120,15 @@ let
         sha512 = "3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==";
       };
     };
+    "moniker-0.1.2" = {
+      name = "moniker";
+      packageName = "moniker";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moniker/-/moniker-0.1.2.tgz";
+        sha1 = "872dfba575dcea8fa04a5135b13d5f24beccc97e";
+      };
+    };
     "monotonic-timestamp-0.0.9" = {
       name = "monotonic-timestamp";
       packageName = "monotonic-timestamp";
@@ -42852,13 +44237,13 @@ let
         sha512 = "NOeCoW6AYc3hLi30npe7uzbD9b4FQZKH40YKABUCCvaKKL5agj6YzvHoNx8jQpDMNPgIa5bvSZQbQpWBAVD0Kw==";
       };
     };
-    "mqtt-4.2.8" = {
+    "mqtt-4.3.5" = {
       name = "mqtt";
       packageName = "mqtt";
-      version = "4.2.8";
+      version = "4.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.2.8.tgz";
-        sha512 = "DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==";
+        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.5.tgz";
+        sha512 = "l29WGHAc0EayK1cjb6moozc+rlgK6YRCPbP3zB1CrJw84Bjk4kG9EJCXojdn4r29lA80SCqxRKq1QJ87+Xevng==";
       };
     };
     "mqtt-packet-6.10.0" = {
@@ -42870,6 +44255,15 @@ let
         sha512 = "ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==";
       };
     };
+    "mri-1.1.4" = {
+      name = "mri";
+      packageName = "mri";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz";
+        sha512 = "6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==";
+      };
+    };
     "mri-1.2.0" = {
       name = "mri";
       packageName = "mri";
@@ -42969,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";
@@ -42987,13 +44372,13 @@ let
         sha512 = "2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==";
       };
     };
-    "multi-progress-2.0.0" = {
+    "multi-progress-4.0.0" = {
       name = "multi-progress";
       packageName = "multi-progress";
-      version = "2.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multi-progress/-/multi-progress-2.0.0.tgz";
-        sha1 = "29ccb42cf24874b1c6384f03127ce5dff7b22f2c";
+        url = "https://registry.npmjs.org/multi-progress/-/multi-progress-4.0.0.tgz";
+        sha512 = "9zcjyOou3FFCKPXsmkbC3ethv51SFPoA4dJD6TscIp2pUmy26kBDZW6h9XofPELrzseSkuD7r0V+emGEeo39Pg==";
       };
     };
     "multi-random-access-2.1.1" = {
@@ -43095,13 +44480,13 @@ let
         sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
       };
     };
-    "multiparty-4.2.2" = {
+    "multiparty-4.2.3" = {
       name = "multiparty";
       packageName = "multiparty";
-      version = "4.2.2";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multiparty/-/multiparty-4.2.2.tgz";
-        sha512 = "NtZLjlvsjcoGrzojtwQwn/Tm90aWJ6XXtPppYF4WmOk/6ncdwMMKggFY2NlRRN9yiCEIVxpOfPWahVEG2HAG8Q==";
+        url = "https://registry.npmjs.org/multiparty/-/multiparty-4.2.3.tgz";
+        sha512 = "Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==";
       };
     };
     "multipipe-0.1.2" = {
@@ -43113,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" = {
@@ -43131,22 +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";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multiserver-scopes/-/multiserver-scopes-1.0.0.tgz";
-        sha512 = "D3q4IujGRUIKETfR5s0kRtvXTjAMhyl7rtLEMXtvkg0lJPJyS5KYsAULFFy+dYv/+RC642aR1zo/RKNp6sdtQg==";
-      };
-    };
-    "multistream-2.1.1" = {
-      name = "multistream";
-      packageName = "multistream";
-      version = "2.1.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz";
-        sha512 = "xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==";
+        url = "https://registry.npmjs.org/multiserver-scopes/-/multiserver-scopes-2.0.0.tgz";
+        sha512 = "XWv9J617i3mWtZIZQNTpYI9iq4goUpsKy3GdUEDls23z1VaMzuRp2rL3S3IKrheVdgmrf0zHbErcXokGxqQfzw==";
       };
     };
     "multistream-4.1.0" = {
@@ -43275,13 +44651,13 @@ let
         sha512 = "pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==";
       };
     };
-    "muxrpc-6.5.3" = {
+    "muxrpc-6.7.0" = {
       name = "muxrpc";
       packageName = "muxrpc";
-      version = "6.5.3";
+      version = "6.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.5.3.tgz";
-        sha512 = "Q8NfvPB27T6KlAtEsy0g5Sz+HlfrMZMLcrhlb5nTfY4FMMsQAIM63FZvgInKqV6ENkSWuTOdqH4aUZosUXJCLA==";
+        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.7.0.tgz";
+        sha512 = "1jdziESUd2ajBUJ/tvLRdm9TJQiN+JuN0NHtvubposhVUi8T5PF6ODfit6lg30l4iDxK4/z52wvbnHbsfvzT/w==";
       };
     };
     "muxrpc-usage-2.1.0" = {
@@ -43473,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.1.30" = {
+    "nanoid-3.3.1" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.1.30";
+      version = "3.3.1";
       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.3.1.tgz";
+        sha512 = "n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==";
       };
     };
     "nanoiterator-1.2.1" = {
@@ -43626,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" = {
@@ -43707,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";
@@ -43716,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";
@@ -43752,24 +45155,6 @@ let
         sha512 = "VarbsDsRN5C5pCdOskjJ7bOPvyjYeVduftgs1dYXqoFXwKFBPJq3VrmFRpbwjoW03Z80DSiiDbaPGX7ix+OFyA==";
       };
     };
-    "neat-spinner-1.0.0" = {
-      name = "neat-spinner";
-      packageName = "neat-spinner";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/neat-spinner/-/neat-spinner-1.0.0.tgz";
-        sha512 = "+T6UtYItDTE1L30g/nLRjP55dFlvldrzCRsn4CrcNHIbhg5JUe0hnOx1DHFViysUC7I1cevBQVjdGJ9ZftY9DA==";
-      };
-    };
-    "neat-tasks-1.1.1" = {
-      name = "neat-tasks";
-      packageName = "neat-tasks";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/neat-tasks/-/neat-tasks-1.1.1.tgz";
-        sha512 = "U8HkIv90/lrdNlHVp63PoF3FeuQUvJ6toMX6InqRqpBmQq9iukZRAnq/yCE4Ii6WHZRYa6DEiTH/EGFTZ0rIGg==";
-      };
-    };
     "nedb-1.8.0" = {
       name = "nedb";
       packageName = "nedb";
@@ -43833,13 +45218,13 @@ let
         sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
       };
     };
-    "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==";
       };
     };
     "negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access" = {
@@ -44158,13 +45543,22 @@ 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.8.0.tgz";
+        sha512 = "tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==";
+      };
+    };
+    "node-abort-controller-3.0.1" = {
+      name = "node-abort-controller";
+      packageName = "node-abort-controller";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.5.0.tgz";
-        sha512 = "LtHvNIBgOy5mO8mPEUtkCW/YCRWYEKshIvqhe1GHHyXEHEB5mgICyYnAcl4qan3uFeRROErKGzatFHPf6kDxWw==";
+        url = "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.0.1.tgz";
+        sha512 = "/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==";
       };
     };
     "node-addon-api-1.7.2" = {
@@ -44203,13 +45597,13 @@ let
         sha512 = "mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==";
       };
     };
-    "node-addon-api-4.2.0" = {
+    "node-addon-api-4.3.0" = {
       name = "node-addon-api";
       packageName = "node-addon-api";
-      version = "4.2.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.2.0.tgz";
-        sha512 = "eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q==";
+        url = "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz";
+        sha512 = "73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==";
       };
     };
     "node-api-version-0.1.4" = {
@@ -44221,13 +45615,13 @@ let
         sha512 = "KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==";
       };
     };
-    "node-appc-1.1.2" = {
+    "node-appc-1.1.3" = {
       name = "node-appc";
       packageName = "node-appc";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-appc/-/node-appc-1.1.2.tgz";
-        sha512 = "TBf8vh0NTD9DxG3oXQ1j/DCiREqDUI2khzJScZyq9w5AiYb+682WSjhl1f9Z1BJEjwWY7GFHQIpxxFVJ53OMfw==";
+        url = "https://registry.npmjs.org/node-appc/-/node-appc-1.1.3.tgz";
+        sha512 = "6+c04W1cvCaWG3XVi9oJsXSjR8wWG+UyQCDR/wVGeAx6ES5mC1uQnouCy1kycZ+Lc40Ba3x49ou6cKsrsMFhsA==";
       };
     };
     "node-bindgen-loader-1.0.1" = {
@@ -44320,15 +45714,6 @@ let
         sha512 = "5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==";
       };
     };
-    "node-eta-0.9.0" = {
-      name = "node-eta";
-      packageName = "node-eta";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-eta/-/node-eta-0.9.0.tgz";
-        sha1 = "9fb0b099bcd2a021940e603c64254dc003d9a7a8";
-      };
-    };
     "node-fetch-1.6.3" = {
       name = "node-fetch";
       packageName = "node-fetch";
@@ -44365,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.6" = {
+    "node-fetch-3.2.0" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "2.6.6";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz";
-        sha512 = "Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==";
+        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" = {
@@ -44419,6 +45804,24 @@ let
         sha512 = "sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==";
       };
     };
+    "node-forge-0.9.1" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz";
+        sha512 = "G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==";
+      };
+    };
+    "node-forge-1.2.1" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz";
+        sha512 = "Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==";
+      };
+    };
     "node-gyp-3.8.0" = {
       name = "node-gyp";
       packageName = "node-gyp";
@@ -44455,15 +45858,6 @@ let
         sha512 = "olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==";
       };
     };
-    "node-gyp-build-3.9.0" = {
-      name = "node-gyp-build";
-      packageName = "node-gyp-build";
-      version = "3.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz";
-        sha512 = "zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==";
-      };
-    };
     "node-gyp-build-4.1.1" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
@@ -44482,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";
@@ -44527,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";
@@ -44545,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";
@@ -44608,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" = {
@@ -44626,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" = {
@@ -44644,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";
@@ -44653,6 +46074,15 @@ let
         sha1 = "2d6ba8e7eff9bf5b338564f91f7ac5d5cdddc55b";
       };
     };
+    "node-ssdp-3.3.0" = {
+      name = "node-ssdp";
+      packageName = "node-ssdp";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-ssdp/-/node-ssdp-3.3.0.tgz";
+        sha512 = "hFBkfUJytKC2x64jljojAbktG8aOL0C1YuNjCK54ZGBBg2382J3oTuK17T+aFgmy47noKHE5arLnYppo0JjcLw==";
+      };
+    };
     "node-static-0.7.11" = {
       name = "node-static";
       packageName = "node-static";
@@ -44707,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";
@@ -44797,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";
@@ -44878,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";
@@ -45130,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";
@@ -45166,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";
@@ -45202,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";
@@ -45292,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" = {
@@ -45310,15 +46803,6 @@ let
         sha1 = "cb8f34c53213d895723fcbab907e9422adbcafb1";
       };
     };
-    "nspell-2.1.5" = {
-      name = "nspell";
-      packageName = "nspell";
-      version = "2.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nspell/-/nspell-2.1.5.tgz";
-        sha512 = "PSStyugKMiD9mHmqI/CR5xXrSIGejUXPlo88FBRq5Og1kO5QwQ5Ilu8D8O5I/SHpoS+mibpw6uKA8rd3vXd2Sg==";
-      };
-    };
     "nssocket-0.6.0" = {
       name = "nssocket";
       packageName = "nssocket";
@@ -45346,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" = {
@@ -45382,6 +46866,15 @@ let
         sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
       };
     };
+    "number-allocator-1.0.9" = {
+      name = "number-allocator";
+      packageName = "number-allocator";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.9.tgz";
+        sha512 = "sIIF0dZKMs3roPUD7rLreH8H3x47QKV9dHZ+PeSnH24gL0CxKxz/823woGZC0hLBSb2Ar/rOOeHiNbnPBum/Mw==";
+      };
+    };
     "number-is-nan-1.0.1" = {
       name = "number-is-nan";
       packageName = "number-is-nan";
@@ -45445,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";
@@ -45505,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";
       };
     };
@@ -45617,13 +47119,13 @@ let
         sha512 = "gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==";
       };
     };
-    "object-inspect-1.11.1" = {
+    "object-inspect-1.12.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.11.1";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz";
-        sha512 = "If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz";
+        sha512 = "Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==";
       };
     };
     "object-inspect-1.4.1" = {
@@ -45662,15 +47164,6 @@ let
         sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
       };
     };
-    "object-path-0.11.5" = {
-      name = "object-path";
-      packageName = "object-path";
-      version = "0.11.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz";
-        sha512 = "jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==";
-      };
-    };
     "object-path-0.11.8" = {
       name = "object-path";
       packageName = "object-path";
@@ -45680,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" = {
@@ -45716,15 +47209,6 @@ let
         sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
       };
     };
-    "object.assign-4.1.0" = {
-      name = "object.assign";
-      packageName = "object.assign";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
-        sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==";
-      };
-    };
     "object.assign-4.1.2" = {
       name = "object.assign";
       packageName = "object.assign";
@@ -45824,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" = {
@@ -45878,13 +47362,13 @@ let
         sha512 = "rH3U4eLHsV+OgkOS29ULiC9JLspwMCyCIH/+BglLPXDxQs13IK8AGD+nVmkGXqGN5JefZu85YhfIi05CsOKWPw==";
       };
     };
-    "office-ui-fabric-react-7.180.2" = {
+    "office-ui-fabric-react-7.183.1" = {
       name = "office-ui-fabric-react";
       packageName = "office-ui-fabric-react";
-      version = "7.180.2";
+      version = "7.183.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.180.2.tgz";
-        sha512 = "84cpy9ZlIgI4tH9EL2ueHsywe+NA0sWuutWbd2pFx/QsWPZlXuNDCvJrqCprD+icJje365WCxwsYp8xyll63Tg==";
+        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" = {
@@ -46004,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";
@@ -46067,22 +47542,13 @@ let
         sha512 = "fvaSZRzprpwLFge/mcwE0CItfniNisVNamDdMK1FQUjh4ArQZ8ZWSkDaJbZc3XaANKZHq0xIa8NJpZ2HSe3oXA==";
       };
     };
-    "oo-ascii-tree-1.49.0" = {
+    "oo-ascii-tree-1.54.0" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.49.0";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.49.0.tgz";
-        sha512 = "Y84LTdUO7/ptZRgJqzmxgvuSDlRh23p/mag4T4NTN3TVuBlfg9pvu80Hqo5NEC2Z3GFpUTI5FgIEwiSgqWlevA==";
-      };
-    };
-    "opal-runtime-1.0.11" = {
-      name = "opal-runtime";
-      packageName = "opal-runtime";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/opal-runtime/-/opal-runtime-1.0.11.tgz";
-        sha512 = "L+6pnRvXPlDtbamBRnJAnB9mEMXmsIQ/b+0r/2xJ5/n/nxheEkLo+Pm5QNQ08LEbEN9TI6/kedhIspqRRu6tXA==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.54.0.tgz";
+        sha512 = "EAk5I5GHidk2lvqwcfR1bl/EeK1Pns8BMzzFKle6clapov3LX54l3k70VGHQDLsHo42dy9UJe23mJPVpg9iTcg==";
       };
     };
     "open-0.0.2" = {
@@ -46139,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";
@@ -46265,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" = {
@@ -46355,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" = {
@@ -46409,13 +47866,13 @@ let
         sha512 = "Ub48OogGPjNsr0G/wnJ/SyAQzt/tfcXZTWVZdjKFpXCQV1Ca+upFdSPPkBlGG3lb9EQGOKZJ2tzYNH6ZyKMkDQ==";
       };
     };
-    "opentracing-0.14.5" = {
+    "opentracing-0.14.7" = {
       name = "opentracing";
       packageName = "opentracing";
-      version = "0.14.5";
+      version = "0.14.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/opentracing/-/opentracing-0.14.5.tgz";
-        sha512 = "XLKtEfHxqrWyF1fzxznsv78w3csW41ucHnjiKnfzZLD5FN8UBDZZL1i4q0FR29zjxXhm+2Hop+5Vr/b8tKIvEg==";
+        url = "https://registry.npmjs.org/opentracing/-/opentracing-0.14.7.tgz";
+        sha512 = "vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==";
       };
     };
     "openurl-1.1.1" = {
@@ -46517,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";
@@ -46643,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" = {
@@ -46778,22 +48226,22 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "ot-builder-1.3.2" = {
+    "ot-builder-1.3.3" = {
       name = "ot-builder";
       packageName = "ot-builder";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.3.2.tgz";
-        sha512 = "sWAQ6ZRqzsvlxa81clJ9xMuPHhDVKqDtsGjgZvR4vo+BFlK232PZaFML5seQ0dIZaw/IBP2t2nmyn6s4dauPkQ==";
+        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.3.3.tgz";
+        sha512 = "MRagUwE9VN5++ptJXPd5RqK6YbDUe6i+I7RWRpsgo2aD2ZbvktfoJ1FJGzLbaRucsWw4X3d6xKf8xIQ5SnjMJA==";
       };
     };
-    "otb-ttc-bundle-1.3.2" = {
+    "otb-ttc-bundle-1.3.3" = {
       name = "otb-ttc-bundle";
       packageName = "otb-ttc-bundle";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.3.2.tgz";
-        sha512 = "0Ibk+w278i7wjPntVZItgvjTZ5X596OYcSUayo8XndrN94l/M8+GOpH9tJTSCyI/0WKj8DhwI+NA8LZsh42K9w==";
+        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.3.3.tgz";
+        sha512 = "Aezn4zk5RFET7R7KONsKRvspOBpdJvVqTg6t2NZ6/sIpCeiwSIe3nUtOpn+PGvM11zMq7x3ulhWFrWdNRO9A/g==";
       };
     };
     "ow-0.21.0" = {
@@ -46823,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";
@@ -46994,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";
@@ -47066,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";
@@ -47075,13 +48550,13 @@ let
         sha512 = "RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==";
       };
     };
-    "p-memoize-4.0.3" = {
+    "p-memoize-4.0.4" = {
       name = "p-memoize";
       packageName = "p-memoize";
-      version = "4.0.3";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-memoize/-/p-memoize-4.0.3.tgz";
-        sha512 = "lX9GfP1NT5jheKsmvc1071L74/Vw7vul+uZEnst7LNuMtbKlWYwKItqcLSAVUyJnrfQAqFFCJQ5bt0whrDsWQA==";
+        url = "https://registry.npmjs.org/p-memoize/-/p-memoize-4.0.4.tgz";
+        sha512 = "ijdh0DP4Mk6J4FXlOM6vPPoCjPytcEseW8p/k5SDTSSfGV3E9bpt9Yzfifvzp6iohIieoLTkXRb32OWV0fB2Lw==";
       };
     };
     "p-pipe-3.1.0" = {
@@ -47165,13 +48640,13 @@ let
         sha512 = "MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==";
       };
     };
-    "p-throttle-4.1.1" = {
-      name = "p-throttle";
-      packageName = "p-throttle";
-      version = "4.1.1";
+    "p-some-5.0.0" = {
+      name = "p-some";
+      packageName = "p-some";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-throttle/-/p-throttle-4.1.1.tgz";
-        sha512 = "TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g==";
+        url = "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz";
+        sha512 = "Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==";
       };
     };
     "p-timeout-1.2.1" = {
@@ -47345,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";
@@ -47372,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" = {
@@ -47390,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.2.tgz";
-        sha512 = "Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==";
+        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-13.0.2.tgz";
+        sha512 = "3LyfvDk2BSJNFQZIcDqnLNa7IsYb6KwX3H9uZPwaHJFIX6Gv5N9QHU+s7mEs/RbN4/ta6KUT39LAi2l6EkBi5A==";
       };
     };
     "pad-0.0.5" = {
@@ -47417,13 +48910,22 @@ let
         sha1 = "ad1f22ce1bf0fdc0d6ddd908af17f351a404b8ac";
       };
     };
-    "paid-services-3.2.0" = {
+    "paid-services-3.11.0" = {
       name = "paid-services";
       packageName = "paid-services";
-      version = "3.2.0";
+      version = "3.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.11.0.tgz";
+        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.2.0.tgz";
-        sha512 = "kktETjyuk7ptb1OLdT6pv5eNCzQclfig+Ys+9SSEYvJWklI3QXnoxI1Wpo8FWlAm9tu6SFlr3EcnsncAcu7pZw==";
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.11.4.tgz";
+        sha512 = "f31e2RMh6LiLs+P+k1r/ZsN9SDTD4U3KmEtk2IMMAsUADjb9U9KkFA9fHmMBmVZyjsLDVa4CDKWY93OiNJ1n1A==";
       };
     };
     "pako-0.2.9" = {
@@ -47624,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" = {
@@ -47687,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";
@@ -47714,6 +49207,15 @@ let
         sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
       };
     };
+    "parse-json-6.0.2" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-6.0.2.tgz";
+        sha512 = "SA5aMiaIjXkAiBrW/yPgLgQAQg42f7K3ACO+2l/zOvtQBwX58DMUsFJXelW2fx3yMBmWOVkR6j1MGsdSbCA4UA==";
+      };
+    };
     "parse-latin-4.3.0" = {
       name = "parse-latin";
       packageName = "parse-latin";
@@ -47849,6 +49351,15 @@ let
         sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94";
       };
     };
+    "parse5-3.0.3" = {
+      name = "parse5";
+      packageName = "parse5";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz";
+        sha512 = "rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==";
+      };
+    };
     "parse5-4.0.0" = {
       name = "parse5";
       packageName = "parse5";
@@ -47903,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";
@@ -48020,22 +49540,13 @@ 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.0" = {
+    "passport-0.5.2" = {
       name = "passport";
       packageName = "passport";
-      version = "0.5.0";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/passport/-/passport-0.5.0.tgz";
-        sha512 = "ln+ue5YaNDS+fes6O5PCzXKSseY5u8MYhX9H5Co4s+HfYI5oqvnHKoOORLYDUPh+8tHvrxugF2GFcUA1Q1Gqfg==";
+        url = "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz";
+        sha512 = "w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==";
       };
     };
     "passport-http-bearer-1.0.1" = {
@@ -48092,6 +49603,15 @@ let
         sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
       };
     };
+    "passthrough-counter-1.0.0" = {
+      name = "passthrough-counter";
+      packageName = "passthrough-counter";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passthrough-counter/-/passthrough-counter-1.0.0.tgz";
+        sha1 = "1967d9e66da572b5c023c787db112a387ab166fa";
+      };
+    };
     "passwd-user-3.0.0" = {
       name = "passwd-user";
       packageName = "passwd-user";
@@ -48119,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" = {
@@ -48371,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" = {
@@ -48425,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" = {
@@ -48488,13 +50008,13 @@ let
         sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
       };
     };
-    "perfect-scrollbar-1.5.3" = {
+    "perfect-scrollbar-1.5.5" = {
       name = "perfect-scrollbar";
       packageName = "perfect-scrollbar";
-      version = "1.5.3";
+      version = "1.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.3.tgz";
-        sha512 = "+Lo6t61lSuCY9ghpqh1NFMXOu8fNwlYGqPoUMOZ3HTFIL4g7+L7zD7hQCLW5yjkOZ6LGTw1m9+MfEew7cngtAQ==";
+        url = "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz";
+        sha512 = "dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==";
       };
     };
     "performance-now-0.2.0" = {
@@ -48542,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" = {
@@ -48569,13 +50089,13 @@ let
         sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==";
       };
     };
-    "pgpass-1.0.4" = {
+    "pgpass-1.0.5" = {
       name = "pgpass";
       packageName = "pgpass";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz";
-        sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==";
+        url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz";
+        sha512 = "FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==";
       };
     };
     "phin-2.9.3" = {
@@ -48614,22 +50134,13 @@ let
         sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
       };
     };
-    "picomatch-2.2.3" = {
+    "picomatch-2.3.1" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz";
-        sha512 = "KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==";
-      };
-    };
-    "picomatch-2.3.0" = {
-      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==";
       };
     };
     "picture-tuber-1.0.2" = {
@@ -48641,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" = {
@@ -48668,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";
@@ -48749,13 +50269,13 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
-    "pino-7.4.0" = {
+    "pino-7.6.5" = {
       name = "pino";
       packageName = "pino";
-      version = "7.4.0";
+      version = "7.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-7.4.0.tgz";
-        sha512 = "qEHLtKcmYcid6s2qjlGTxaLe9Lq1IiGmd74IZb9Obi/FRTaA+ymb8FD/cmOIL4vt6ug/EtmhGwxZbiGhI+7cuQ==";
+        url = "https://registry.npmjs.org/pino/-/pino-7.6.5.tgz";
+        sha512 = "38tAwlJ7HevMENHD5FZE+yxSlAH5Wg3FoOjbB3MX2j3/kgpOEkmDHhTVKkecR57qxD5doHo2yi9nac94gqqbiQ==";
       };
     };
     "pino-abstract-transport-0.5.0" = {
@@ -48767,6 +50287,15 @@ let
         sha512 = "+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==";
       };
     };
+    "pino-pretty-7.3.0" = {
+      name = "pino-pretty";
+      packageName = "pino-pretty";
+      version = "7.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pino-pretty/-/pino-pretty-7.3.0.tgz";
+        sha512 = "HAhShJ2z2QzxXhYAn6XfwYpF13o1PQbjzSNA9q+30FAvhjOmeACit9lprhV/mCOw/8YFWSyyNk0YCq2EDYGYpw==";
+      };
+    };
     "pino-std-serializers-4.0.0" = {
       name = "pino-std-serializers";
       packageName = "pino-std-serializers";
@@ -48794,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" = {
@@ -48830,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";
@@ -48866,13 +50386,13 @@ let
         sha512 = "NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==";
       };
     };
-    "pkg-fetch-3.2.5" = {
+    "pkg-fetch-3.2.6" = {
       name = "pkg-fetch";
       packageName = "pkg-fetch";
-      version = "3.2.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.5.tgz";
-        sha512 = "jPtyX2VTbG+9yaeGsJEBT+3qVN8qfxxfn7n2lmcx1FDSPsr8jwXDRf6BeCNBV+M5aEQmmtpMeKs7ZILQ9YlSPA==";
+        url = "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.6.tgz";
+        sha512 = "Q8fx6SIT022g0cdSE4Axv/xpfHeltspo2gg1KsWRinLQZOTRRAtOOaEFghA1F3jJ8FVsh8hGrL/Pb6Ea5XHIFw==";
       };
     };
     "pkg-up-2.0.0" = {
@@ -48920,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";
@@ -49001,15 +50530,6 @@ let
         sha1 = "7482452c1a0f508e3e344eaec312c91c29dc655a";
       };
     };
-    "plur-3.1.1" = {
-      name = "plur";
-      packageName = "plur";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz";
-        sha512 = "t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==";
-      };
-    };
     "plur-4.0.0" = {
       name = "plur";
       packageName = "plur";
@@ -49163,13 +50683,13 @@ let
         sha512 = "2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==";
       };
     };
-    "polished-4.1.3" = {
+    "polished-4.1.4" = {
       name = "polished";
       packageName = "polished";
-      version = "4.1.3";
+      version = "4.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz";
-        sha512 = "ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==";
+        url = "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz";
+        sha512 = "Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==";
       };
     };
     "polyraf-1.1.0" = {
@@ -49236,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";
@@ -49281,22 +50792,13 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.3.11" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "8.3.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz";
-        sha512 = "hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==";
-      };
-    };
-    "postcss-8.4.5" = {
+    "postcss-8.4.6" = {
       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==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -49371,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";
@@ -49389,22 +50882,13 @@ let
         sha512 = "HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==";
       };
     };
-    "postcss-js-3.0.3" = {
+    "postcss-js-4.0.0" = {
       name = "postcss-js";
       packageName = "postcss-js";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz";
-        sha512 = "gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==";
-      };
-    };
-    "postcss-less-1.1.5" = {
-      name = "postcss-less";
-      packageName = "postcss-less";
-      version = "1.1.5";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.5.tgz";
-        sha512 = "QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==";
+        url = "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz";
+        sha512 = "77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==";
       };
     };
     "postcss-less-3.1.4" = {
@@ -49425,13 +50909,13 @@ let
         sha512 = "/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==";
       };
     };
-    "postcss-load-config-3.1.0" = {
+    "postcss-load-config-3.1.3" = {
       name = "postcss-load-config";
       packageName = "postcss-load-config";
-      version = "3.1.0";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz";
-        sha512 = "ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==";
+        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" = {
@@ -49713,22 +51197,13 @@ 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.4" = {
+    "postcss-reporter-7.0.5" = {
       name = "postcss-reporter";
       packageName = "postcss-reporter";
-      version = "7.0.4";
+      version = "7.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.4.tgz";
-        sha512 = "jY/fnpGSin7kwJeunXbY35STp5O3VIxSFdjee5JkoPQ+FfGH5JW3N+Xe9oAPcL9UkjWjkK+JC72o8XH4XXKdhw==";
+        url = "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz";
+        sha512 = "glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==";
       };
     };
     "postcss-resolve-nested-selector-0.1.1" = {
@@ -49740,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";
@@ -49767,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";
@@ -49785,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";
@@ -49821,13 +51269,13 @@ let
         sha512 = "36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==";
       };
     };
-    "postcss-selector-parser-6.0.7" = {
+    "postcss-selector-parser-6.0.9" = {
       name = "postcss-selector-parser";
       packageName = "postcss-selector-parser";
-      version = "6.0.7";
+      version = "6.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz";
-        sha512 = "U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA==";
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz";
+        sha512 = "UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==";
       };
     };
     "postcss-svgo-4.0.3" = {
@@ -50235,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";
@@ -50334,15 +51791,6 @@ let
         sha512 = "7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==";
       };
     };
-    "prettier-2.5.0" = {
-      name = "prettier";
-      packageName = "prettier";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz";
-        sha512 = "FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==";
-      };
-    };
     "prettier-2.5.1" = {
       name = "prettier";
       packageName = "prettier";
@@ -50361,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";
@@ -50379,22 +51818,13 @@ let
         sha512 = "2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA==";
       };
     };
-    "prettier-plugin-svelte-2.5.1" = {
+    "prettier-plugin-svelte-2.6.0" = {
       name = "prettier-plugin-svelte";
       packageName = "prettier-plugin-svelte";
-      version = "2.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.5.1.tgz";
-        sha512 = "IhZUcqr7Bg4LY15d87t9lDr7EyC0IPehkzH5ya5igG8zYwf3UYaYDFnVW2mckREaZyLREcH9YOouesmt4f5Ozg==";
-      };
-    };
-    "prettier-stylelint-0.4.2" = {
-      name = "prettier-stylelint";
-      packageName = "prettier-stylelint";
-      version = "0.4.2";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettier-stylelint/-/prettier-stylelint-0.4.2.tgz";
-        sha512 = "CmatjDsW8xKMtWg/Tc6/W02wC59p50kkItrXmkgbhR4b2EKMU5Pm55x1WuCahkkZeZoNVReWRxA8VL/s69mkBg==";
+        url = "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.6.0.tgz";
+        sha512 = "NPSRf6Y5rufRlBleok/pqg4+1FyGsL0zYhkYP6hnueeL1J/uCm3OfOZPsLX4zqD9VAdcXfyEL2PYqGv8ZoOSfA==";
       };
     };
     "prettier-tslint-0.4.2" = {
@@ -50406,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";
@@ -50451,22 +51872,22 @@ let
         sha512 = "zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==";
       };
     };
-    "pretty-format-25.5.0" = {
+    "pretty-format-26.6.2" = {
       name = "pretty-format";
       packageName = "pretty-format";
-      version = "25.5.0";
+      version = "26.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz";
-        sha512 = "kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==";
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz";
+        sha512 = "7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==";
       };
     };
-    "pretty-format-26.6.2" = {
+    "pretty-format-27.5.1" = {
       name = "pretty-format";
       packageName = "pretty-format";
-      version = "26.6.2";
+      version = "27.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz";
-        sha512 = "7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==";
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz";
+        sha512 = "Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==";
       };
     };
     "pretty-hash-1.0.1" = {
@@ -50496,22 +51917,13 @@ let
         sha512 = "973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==";
       };
     };
-    "prettyjson-1.2.1" = {
+    "prettyjson-1.2.5" = {
       name = "prettyjson";
       packageName = "prettyjson";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz";
-        sha1 = "fcffab41d19cab4dfae5e575e64246619b12d289";
-      };
-    };
-    "prettyoutput-1.2.0" = {
-      name = "prettyoutput";
-      packageName = "prettyoutput";
-      version = "1.2.0";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettyoutput/-/prettyoutput-1.2.0.tgz";
-        sha512 = "G2gJwLzLcYS+2m6bTAe+CcDpwak9YpcvpScI0tE4WYb2O3lEZD/YywkMNpGqsSx5wttGvh2UXaKROTKKCyM2dw==";
+        url = "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.5.tgz";
+        sha512 = "rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==";
       };
     };
     "prfun-2.1.5" = {
@@ -50532,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" = {
@@ -50550,13 +51962,13 @@ let
         sha512 = "dG2w7WtovUa4SiYTdWn9H8Bd4JNdei2djtkP/Bk9fXq81j5Q15ZPHYSwhUVvBRbp5zMkGtu0Yk62HuMcly0pRw==";
       };
     };
-    "prismjs-1.25.0" = {
+    "prismjs-1.27.0" = {
       name = "prismjs";
       packageName = "prismjs";
-      version = "1.25.0";
+      version = "1.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz";
-        sha512 = "WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==";
+        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz";
+        sha512 = "t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==";
       };
     };
     "private-0.1.8" = {
@@ -50586,13 +51998,13 @@ let
         sha512 = "99PZ5+RU4gqiTfK5ZDMDkZtn6eL4WlKfFyVJV7lFQvH3iGmQ85DqMTOdxorERO26LHkevR2qsxnHp0x/2UDJPA==";
       };
     };
-    "probing-2.0.1" = {
+    "probing-2.0.3" = {
       name = "probing";
       packageName = "probing";
-      version = "2.0.1";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/probing/-/probing-2.0.1.tgz";
-        sha512 = "kkoAQ/oqf7FKvdyZlJF28Be5DeNnaGhCC7JWhWG16yJ9xV2RtTFLVKPQ0SgtXKSB90soghCLUYG4ToogAw4yXA==";
+        url = "https://registry.npmjs.org/probing/-/probing-2.0.3.tgz";
+        sha512 = "6PuKCNitH3pjTjHndVtSkb300EQCiYPKJCxfDHlu9uwEcjDc7Fipee8U9fTm5W8frVCB7Vo4V4dlwGL9WVL2OQ==";
       };
     };
     "proc-log-1.0.0" = {
@@ -50604,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";
@@ -50622,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";
@@ -50667,6 +52079,15 @@ let
         sha512 = "fMyMQbKCxX51YxR7YGCzPjLsU3yDzXFkP4oi1/Mt5Ixnk7GO/7uUTj8mrCHUwuvozWzI+V7QSJR9cZYnwNOZPg==";
       };
     };
+    "process-warning-1.0.0" = {
+      name = "process-warning";
+      packageName = "process-warning";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz";
+        sha512 = "du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==";
+      };
+    };
     "progbar-1.2.1" = {
       name = "progbar";
       packageName = "progbar";
@@ -50739,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 = "13.1.0";
+      version = "12.0.0";
       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-12.0.0.tgz";
+        sha512 = "JbzzHnw0VDwCvoqf8y1WDtq4wSBAbthMB1pcVI/0lzdqHGJI3KBJDXle70XK+c7Iv93Gihqo0a5LlOn+g8+DrQ==";
+      };
+    };
+    "prom-client-14.0.1" = {
+      name = "prom-client";
+      packageName = "prom-client";
+      version = "14.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prom-client/-/prom-client-14.0.1.tgz";
+        sha512 = "HxTArb6fkOntQHoRGvv4qd/BkorjliiuO2uSWC2KC17MUTKYttWdDoXX/vxOhQdkoECEM9BBH0pj2l8G8kev6w==";
       };
     };
     "promiscuous-0.6.0" = {
@@ -50910,13 +52340,13 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
-    "prompt-1.2.0" = {
+    "prompt-1.2.2" = {
       name = "prompt";
       packageName = "prompt";
-      version = "1.2.0";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prompt/-/prompt-1.2.0.tgz";
-        sha512 = "iGerYRpRUg5ZyC+FJ/25G5PUKuWAGRjW1uOlhX7Pi3O5YygdK6R+KEaBjRbHSkU5vfS5PZCltSPZdDtUYwRCZA==";
+        url = "https://registry.npmjs.org/prompt/-/prompt-1.2.2.tgz";
+        sha512 = "XNXhNv3PUHJDcDkISpCwSJxtw9Bor4FZnlMUDW64N/KCPdxhfVlpD5+YUXI/Z8a9QWmOhs9KSiVtR8nzPS0BYA==";
       };
     };
     "promptly-2.2.0" = {
@@ -50955,13 +52385,13 @@ let
         sha1 = "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee";
       };
     };
-    "prop-types-15.7.2" = {
+    "prop-types-15.8.1" = {
       name = "prop-types";
       packageName = "prop-types";
-      version = "15.7.2";
+      version = "15.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz";
-        sha512 = "8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==";
+        url = "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz";
+        sha512 = "oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==";
       };
     };
     "proper-lockfile-2.0.1" = {
@@ -51009,13 +52439,13 @@ let
         sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
-    "proto3-json-serializer-0.1.6" = {
+    "proto3-json-serializer-0.1.8" = {
       name = "proto3-json-serializer";
       packageName = "proto3-json-serializer";
-      version = "0.1.6";
+      version = "0.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.6.tgz";
-        sha512 = "tGbV6m6Kad8NqxMh5hw87euPS0YoZSAOIfvR01zYkQV8Gpx1V/8yU/0gCKCvfCkhAJsjvzzhnnsdQxA1w7PSog==";
+        url = "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.8.tgz";
+        sha512 = "ACilkB6s1U1gWnl5jtICpnDai4VCxmI9GFxuEaYdxtDG2oVI3sVFIUsvUZcQbJgtPM6p+zqKbjTKQZp6Y4FpQw==";
       };
     };
     "protobufjs-3.8.2" = {
@@ -51144,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";
@@ -51189,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";
@@ -52107,40 +53546,22 @@ let
         sha512 = "2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w==";
       };
     };
-    "puppeteer-13.0.0" = {
-      name = "puppeteer";
-      packageName = "puppeteer";
-      version = "13.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.0.0.tgz";
-        sha512 = "kZfGAieIVSo4bFqYuvY2KvhgP9txzmPbbnpZIzLlfdt8nEu9evXEwsbBt1BHocVQM4fJmCiS+FRyw7c8aWadNg==";
-      };
-    };
-    "puppeteer-9.1.1" = {
+    "puppeteer-13.3.2" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "9.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-9.1.1.tgz";
-        sha512 = "W+nOulP2tYd/ZG99WuZC/I5ljjQQ7EUw/jQGcIb9eu8mDlZxNY2SgcJXTLG9h5gRvqA3uJOe4hZXYsd3EqioMw==";
-      };
-    };
-    "purescript-0.14.4" = {
-      name = "purescript";
-      packageName = "purescript";
-      version = "0.14.4";
+      version = "13.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/purescript/-/purescript-0.14.4.tgz";
-        sha512 = "9Lq2qvyVkQoKUBSNOEBKIJjtD5sDwThurSt3SRdtSseaA03p1Fk7VxbUr9HV/gHLVZPIkOhPtjvZGUNs5U2PDA==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.3.2.tgz";
+        sha512 = "TIt8/R0eaUwY1c0/O0sCJpSglvGEWVoWFfGZ2dNtxX3eHuBo1ln9abaWfxTjZfsrkYATLSs8oqEdRZpMNnCsvg==";
       };
     };
-    "purescript-installer-0.2.5" = {
-      name = "purescript-installer";
-      packageName = "purescript-installer";
-      version = "0.2.5";
+    "purest-3.1.0" = {
+      name = "purest";
+      packageName = "purest";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.2.5.tgz";
-        sha512 = "fQAWWP5a7scuchXecjpU4r4KEgSPuS6bBnaP01k9f71qqD28HaJ2m4PXHFkhkR4oATAxTPIGCtmTwtVoiBOHog==";
+        url = "https://registry.npmjs.org/purest/-/purest-3.1.0.tgz";
+        sha512 = "9slCC5je2UNERS/YNcrs1/7K5Bh7Uvl6OY1S+XZ6iDNMCwk8Fio6VBdrklo7eMzt5M/Wt2fQlwXRjn4puBccRQ==";
       };
     };
     "purgecss-2.3.0" = {
@@ -52188,13 +53609,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.196" = {
+    "pyright-1.1.223" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.196";
+      version = "1.1.223";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.196.tgz";
-        sha512 = "63LF3JNElRU9wkCLgJLk8NMi4tJ/aB97itckp19zb4g8wXmlc90nyvA5bUk19ey10R4yAmlp8ol8Tz/mxAUmGQ==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.223.tgz";
+        sha512 = "EGLKMQRmSkKNe/eDy6MEkqq5lF91C5MCMYxvmCgKGUjZHIa+HByJIiRY2cOTm7g2CAv0eE7Ift701VxLM5Q0iQ==";
       };
     };
     "q-0.9.7" = {
@@ -52332,13 +53753,13 @@ let
         sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607";
       };
     };
-    "qs-6.10.2" = {
+    "qs-6.10.3" = {
       name = "qs";
       packageName = "qs";
-      version = "6.10.2";
+      version = "6.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.10.2.tgz";
-        sha512 = "mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz";
+        sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
       };
     };
     "qs-6.2.3" = {
@@ -52350,22 +53771,22 @@ let
         sha1 = "1cfcb25c10a9b2b483053ff39f5dfc9233908cfe";
       };
     };
-    "qs-6.3.2" = {
+    "qs-6.3.3" = {
       name = "qs";
       packageName = "qs";
-      version = "6.3.2";
+      version = "6.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz";
-        sha1 = "e75bd5f6e268122a2a0e0bda630b2550c166502c";
+        url = "https://registry.npmjs.org/qs/-/qs-6.3.3.tgz";
+        sha512 = "f8CQ/sKJBr9vfNJBdGiPzTSPUufuWyvOFkCYJKN9voqPWuBuhdlSZM78dOHKigtZ0BwuktYGrRFW2DXXc/f2Fg==";
       };
     };
-    "qs-6.4.0" = {
+    "qs-6.4.1" = {
       name = "qs";
       packageName = "qs";
-      version = "6.4.0";
+      version = "6.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
-        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
+        url = "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz";
+        sha512 = "LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==";
       };
     };
     "qs-6.5.1" = {
@@ -52386,6 +53807,15 @@ let
         sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
       };
     };
+    "qs-6.5.3" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz";
+        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
+      };
+    };
     "qs-6.7.0" = {
       name = "qs";
       packageName = "qs";
@@ -52404,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";
@@ -52440,13 +53879,13 @@ let
         sha512 = "XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==";
       };
     };
-    "query-string-7.0.1" = {
+    "query-string-7.1.1" = {
       name = "query-string";
       packageName = "query-string";
-      version = "7.0.1";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-7.0.1.tgz";
-        sha512 = "uIw3iRvHnk9to1blJCG3BTc+Ro56CBowJXKmNNAm3RulvPBzWLRqKSiiDk+IplJhsydwtuNMHi8UGQFcCLVfkA==";
+        url = "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz";
+        sha512 = "MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==";
       };
     };
     "querystring-0.2.0" = {
@@ -52647,22 +54086,13 @@ let
         sha512 = "GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==";
       };
     };
-    "ramda-0.26.1" = {
+    "ramda-0.27.2" = {
       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.1" = {
-      name = "ramda";
-      packageName = "ramda";
-      version = "0.27.1";
+      version = "0.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz";
-        sha512 = "PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==";
+        url = "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz";
+        sha512 = "SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==";
       };
     };
     "randexp-0.4.6" = {
@@ -52701,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" = {
@@ -52737,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" = {
@@ -52773,13 +54203,13 @@ let
         sha1 = "f7d97d92dee6665ec5f6da08c7f963cad4b2ac99";
       };
     };
-    "random-words-1.1.1" = {
+    "random-words-1.1.2" = {
       name = "random-words";
       packageName = "random-words";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/random-words/-/random-words-1.1.1.tgz";
-        sha512 = "Rdk5EoQePyt9Tz3RjeMELi2BSaCI+jDiOkBr4U+3fyBRiiW3qqEuaegGAUMOZ4yGWlQscFQGqQpdic3mAbNkrw==";
+        url = "https://registry.npmjs.org/random-words/-/random-words-1.1.2.tgz";
+        sha512 = "GwgC+Yu+D5/044grf2QqaYk3ZrQip7yfgvkj/6bJ3H3B3KrE7qoNPbWaYd06hrigqAkrPzNVEpRlnBaNx4bDuA==";
       };
     };
     "randomatic-3.1.1" = {
@@ -52845,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";
@@ -52917,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";
@@ -52998,13 +54428,13 @@ let
         sha512 = "wuygyq8TXUlSdVXv2kigXxQNOgdb9m7LbIjwfTNGSpaY1riLd5e+VeQjlQMyUtrk0oiyhi1AqIVynworl3qxHA==";
       };
     };
-    "re2-1.17.1" = {
+    "re2-1.17.3" = {
       name = "re2";
       packageName = "re2";
-      version = "1.17.1";
+      version = "1.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/re2/-/re2-1.17.1.tgz";
-        sha512 = "TrhxVzakyO/WJsErkc01zjlEiDLCuuRuddbVi2I8YasIbh6MEJfkRoajBRj+ggm00gnGI2EMemE9GrlKrgUZ8Q==";
+        url = "https://registry.npmjs.org/re2/-/re2-1.17.3.tgz";
+        sha512 = "Dp5iWVR8W3C7Nm9DziMY4BleMPRb/pe6kvfbzLv80dVYaXRc9jRnwwNqU0oE/taRm0qYR1+Qrtzk9rPjS9ecaQ==";
       };
     };
     "reachdown-1.1.0" = {
@@ -53043,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" = {
@@ -53241,6 +54671,15 @@ let
         sha512 = "wg3LWkUpG21lhv+cZvNy+p0+vtclZw+9nP2vO6T9PKT50EN1cUq37Dq6FzcM38h/c2domE0gsUhb6jHXtGogAA==";
       };
     };
+    "read-1.0.5" = {
+      name = "read";
+      packageName = "read";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read/-/read-1.0.5.tgz";
+        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+      };
+    };
     "read-1.0.7" = {
       name = "read";
       packageName = "read";
@@ -53547,6 +54986,15 @@ let
         sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
       };
     };
+    "readable-web-to-node-stream-2.0.0" = {
+      name = "readable-web-to-node-stream";
+      packageName = "readable-web-to-node-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-2.0.0.tgz";
+        sha512 = "+oZJurc4hXpaaqsN68GoZGQAQIA3qr09Or4fqEsargABnbe5Aau8hFn6ISVleT3cpY/0n/8drn7huyyEvTbghA==";
+      };
+    };
     "readable-web-to-node-stream-3.0.2" = {
       name = "readable-web-to-node-stream";
       packageName = "readable-web-to-node-stream";
@@ -53583,15 +55031,6 @@ let
         sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
       };
     };
-    "readdirp-3.2.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz";
-        sha512 = "crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==";
-      };
-    };
     "readdirp-3.5.0" = {
       name = "readdirp";
       packageName = "readdirp";
@@ -53691,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";
@@ -53727,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" = {
@@ -53808,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";
@@ -53835,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";
@@ -53844,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" = {
@@ -53925,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" = {
@@ -53997,13 +55454,13 @@ let
         sha512 = "1CJygtdvsfNFwiyjaMLBWtg2tfEqx/jSZ8S6TV+GlNL8kiH8rb4cm5Pb7A/C2BpyM/fA8ZJEudlCwi/jvAY+Ow==";
       };
     };
-    "regexp.prototype.flags-1.3.1" = {
+    "regexp.prototype.flags-1.4.1" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.3.1";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz";
-        sha512 = "JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz";
+        sha512 = "pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==";
       };
     };
     "regexpp-1.1.0" = {
@@ -54033,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" = {
@@ -54096,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" = {
@@ -54132,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" = {
@@ -54150,13 +55607,13 @@ let
         sha512 = "OnGX5RE8WyEs/Snz+Bs8DM9uGdrNUXMhCC7CW3S1cIZVOC90VdewdE+71kpG6LOzS0xwgZyItwrhjGv+oQgwkQ==";
       };
     };
-    "rehype-retext-3.0.1" = {
+    "rehype-retext-3.0.2" = {
       name = "rehype-retext";
       packageName = "rehype-retext";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rehype-retext/-/rehype-retext-3.0.1.tgz";
-        sha512 = "ICGZwAkBQhOpKyHBUdiONhvIjd8Pliym6vJ25SCjKeua3UdWANNL9HqgNHToewwQhh8nmbGUZ4j4Cu0RihoBHQ==";
+        url = "https://registry.npmjs.org/rehype-retext/-/rehype-retext-3.0.2.tgz";
+        sha512 = "9Q2JyXBBnXQfwVhrp4/YPGY2GMC2uiSgW0V3WANT3md1lJD5M2V+jlvvQVTu6tFhA1Ap4a2v0zZDZffkND0tAw==";
       };
     };
     "rehype-sort-attribute-values-2.0.1" = {
@@ -54231,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";
@@ -54312,15 +55760,6 @@ let
         sha1 = "592a347bdd3d5881f4f080c98b5b152fb1407a92";
       };
     };
-    "remark-lint-6.0.6" = {
-      name = "remark-lint";
-      packageName = "remark-lint";
-      version = "6.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint/-/remark-lint-6.0.6.tgz";
-        sha512 = "JBY6zz5fYQFN724Vq6VeiHwhyjVIlrww/dE1+hWGcDyUuz7YNCqwZKwBdQGDvslICkzHw/wEExNEb8D4PNiLlA==";
-      };
-    };
     "remark-lint-8.0.0" = {
       name = "remark-lint";
       packageName = "remark-lint";
@@ -54330,15 +55769,6 @@ let
         sha512 = "ESI8qJQ/TIRjABDnqoFsTiZntu+FRifZ5fJ77yX63eIDijl/arvmDvT+tAf75/Nm5BFL4R2JFUtkHRGVjzYUsg==";
       };
     };
-    "remark-lint-blockquote-indentation-1.0.4" = {
-      name = "remark-lint-blockquote-indentation";
-      packageName = "remark-lint-blockquote-indentation";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.4.tgz";
-        sha512 = "ExcDP7lufshEBNkVddSHa+Bz/97PtFstIniQ8ZF2TahHPmpx92z3mkI/nXL2Qt5d3B09eTVvh4Pvhgp6x2470g==";
-      };
-    };
     "remark-lint-blockquote-indentation-2.0.1" = {
       name = "remark-lint-blockquote-indentation";
       packageName = "remark-lint-blockquote-indentation";
@@ -54366,15 +55796,6 @@ let
         sha512 = "+T4+hoY85qZE2drD2rCe14vF7fAgD3Kv2fkFd1HRvv3M5Riy148w/4YeoBI5U5BpybGTVUeEUYLCeJ8zbJLjkw==";
       };
     };
-    "remark-lint-code-block-style-1.0.4" = {
-      name = "remark-lint-code-block-style";
-      packageName = "remark-lint-code-block-style";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.4.tgz";
-        sha512 = "Wq5F94nkaWTx8W/9C/ydG+DhVWLirBrWb0xnoMQ0cHnizAd3BWw8g0x5L7yglMYSUSVLWY0jfMHgOe9UW3JfTw==";
-      };
-    };
     "remark-lint-code-block-style-2.0.1" = {
       name = "remark-lint-code-block-style";
       packageName = "remark-lint-code-block-style";
@@ -54384,15 +55805,6 @@ let
         sha512 = "eRhmnColmSxJhO61GHZkvO67SpHDshVxs2j3+Zoc5Y1a4zQT2133ZAij04XKaBFfsVLjhbY/+YOWxgvtjx2nmA==";
       };
     };
-    "remark-lint-definition-case-1.0.5" = {
-      name = "remark-lint-definition-case";
-      packageName = "remark-lint-definition-case";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-definition-case/-/remark-lint-definition-case-1.0.5.tgz";
-        sha512 = "iirq74fKhJZsFw7x4FJuLVRkXclntutG1YKajfLaE3Gm14YlJWBEoabNTk+ENR4QXoB9rTdEqn3Cc3ImO8qciQ==";
-      };
-    };
     "remark-lint-definition-case-2.0.1" = {
       name = "remark-lint-definition-case";
       packageName = "remark-lint-definition-case";
@@ -54402,15 +55814,6 @@ let
         sha512 = "M+XlThtQwEJLQnQb5Gi6xZdkw92rGp7m2ux58WMw/Qlcg02WgHR/O0OcHPe5VO5hMJrtI+cGG5T0svsCgRZd3w==";
       };
     };
-    "remark-lint-definition-spacing-1.0.5" = {
-      name = "remark-lint-definition-spacing";
-      packageName = "remark-lint-definition-spacing";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.5.tgz";
-        sha512 = "ss8OQmK4c/1amEAJpDjkFiByLyXpsYFNzmk6rEZQkxZZd+DVHI0oF+CzSeMVHu48rF2qHOkKhVghqrCM0vleAA==";
-      };
-    };
     "remark-lint-definition-spacing-2.0.1" = {
       name = "remark-lint-definition-spacing";
       packageName = "remark-lint-definition-spacing";
@@ -54429,15 +55832,6 @@ let
         sha512 = "0zHUJimo0fNAqQPzwt6ii9pRYCxBU0wqilVlily1RxRyTqhy0ANgTQOERMaf+lkTEN1ADEeoyh9gE7VWzqI+WA==";
       };
     };
-    "remark-lint-emphasis-marker-1.0.4" = {
-      name = "remark-lint-emphasis-marker";
-      packageName = "remark-lint-emphasis-marker";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.4.tgz";
-        sha512 = "TdYISSw7Ib6EJDApDj9zcZNDCJEaEoQIrYS3+QH2TQxoDx96B0t1bbErRM5L/hx1UWPBpeFLKpgIWL163eMmYA==";
-      };
-    };
     "remark-lint-emphasis-marker-2.0.1" = {
       name = "remark-lint-emphasis-marker";
       packageName = "remark-lint-emphasis-marker";
@@ -54447,24 +55841,6 @@ let
         sha512 = "7mpbAUrSnHiWRyGkbXRL5kfSKY9Cs8cdob7Fw+Z02/pufXMF4yRWaegJ5NTUu1RE+SKlF44wtWWjvcIoyY6/aw==";
       };
     };
-    "remark-lint-fenced-code-flag-1.0.4" = {
-      name = "remark-lint-fenced-code-flag";
-      packageName = "remark-lint-fenced-code-flag";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.4.tgz";
-        sha512 = "bkQvlEYco6ZzdzvGPrY7DBsqSq/2mZEmdhpn0KdMEZ9kcKJP4unQdVQys04SKnf9QISqQ446VnQj5Q4E3HMSkQ==";
-      };
-    };
-    "remark-lint-fenced-code-marker-1.0.4" = {
-      name = "remark-lint-fenced-code-marker";
-      packageName = "remark-lint-fenced-code-marker";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.4.tgz";
-        sha512 = "aJF4ISIEvK3NX+C2rN93QoS/32SSiytQKRSeGa+HwsAn3sTwqmy2IoAwbFeZIZA2vqKcVB4h1b9yKamSlfX30Q==";
-      };
-    };
     "remark-lint-fenced-code-marker-2.0.1" = {
       name = "remark-lint-fenced-code-marker";
       packageName = "remark-lint-fenced-code-marker";
@@ -54483,15 +55859,6 @@ let
         sha512 = "oVQdf5vEomwHkfQ7R/mgmsWW2H/t9kSvnrxtVoNOHr+qnOEafKKDn+AFhioN2kqtjCZBAjSSrePs6xGKmXKDTw==";
       };
     };
-    "remark-lint-final-definition-1.0.4" = {
-      name = "remark-lint-final-definition";
-      packageName = "remark-lint-final-definition";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-1.0.4.tgz";
-        sha512 = "y9aDZPhqWcI7AtrJtL69HE6MoWMqDqLQUyWMadzAYUYb9/m4ciLdygJ4cWVpEN3n4mkBepHIsWzASaKHHBDJOQ==";
-      };
-    };
     "remark-lint-final-newline-1.0.5" = {
       name = "remark-lint-final-newline";
       packageName = "remark-lint-final-newline";
@@ -54501,15 +55868,6 @@ let
         sha512 = "rfLlW8+Fz2dqnaEgU4JwLA55CQF1T4mfSs/GwkkeUCGPenvEYwSkCN2KO2Gr1dy8qPoOdTFE1rSufLjmeTW5HA==";
       };
     };
-    "remark-lint-hard-break-spaces-1.0.5" = {
-      name = "remark-lint-hard-break-spaces";
-      packageName = "remark-lint-hard-break-spaces";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.5.tgz";
-        sha512 = "Rss7ujNtxipO/hasWYc0QdiO8D5VyliSwj3zAZ8GeDn0ix2KH+pY4/AJC7i9IGcVVbUGvvXLpJB3Pp1VeY7oKw==";
-      };
-    };
     "remark-lint-hard-break-spaces-2.0.1" = {
       name = "remark-lint-hard-break-spaces";
       packageName = "remark-lint-hard-break-spaces";
@@ -54519,24 +55877,6 @@ let
         sha512 = "Qfn/BMQFamHhtbfLrL8Co/dbYJFLRL4PGVXZ5wumkUO5f9FkZC2RsV+MD9lisvGTkJK0ZEJrVVeaPbUIFM0OAw==";
       };
     };
-    "remark-lint-heading-increment-1.0.4" = {
-      name = "remark-lint-heading-increment";
-      packageName = "remark-lint-heading-increment";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.4.tgz";
-        sha512 = "3PJj32G7W1OUyRVSZiZbSOxyFAsw/mNssIosS9G8+6Lq2yeTSMDoCJy0+LC+s00nORFcbzeMedMK5U/eLbDe4w==";
-      };
-    };
-    "remark-lint-heading-style-1.0.4" = {
-      name = "remark-lint-heading-style";
-      packageName = "remark-lint-heading-style";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-1.0.4.tgz";
-        sha512 = "ASssbw0vj9urTMxDJGpOn4K7d9MgPQPJGaCD+7v7je42krofvqC4CxpYvO/fOAkRZcttE91VfFHxkaPjiBtQLw==";
-      };
-    };
     "remark-lint-heading-style-2.0.1" = {
       name = "remark-lint-heading-style";
       packageName = "remark-lint-heading-style";
@@ -54546,15 +55886,6 @@ let
         sha512 = "IrFLNs0M5Vbn9qg51AYhGUfzgLAcDOjh2hFGMz3mx664dV6zLcNZOPSdJBBJq3JQR4gKpoXcNwN1+FFaIATj+A==";
       };
     };
-    "remark-lint-link-title-style-1.0.5" = {
-      name = "remark-lint-link-title-style";
-      packageName = "remark-lint-link-title-style";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.5.tgz";
-        sha512 = "Nu0cKj220q/PmUzELhYRUR2uxXabWuFJq9sApkgsc59uh+NKDtCEdpxkx7Zwvn6kUEwpuQVimeRfdesiKxX52g==";
-      };
-    };
     "remark-lint-link-title-style-2.0.1" = {
       name = "remark-lint-link-title-style";
       packageName = "remark-lint-link-title-style";
@@ -54573,15 +55904,6 @@ let
         sha512 = "X2rleWP8XReC4LXKF7Qi5vYiPJkA4Grx5zxsjHofFrVRz6j0PYOCuz7vsO+ZzMunFMfom6FODnscSWz4zouDVw==";
       };
     };
-    "remark-lint-list-item-content-indent-1.0.4" = {
-      name = "remark-lint-list-item-content-indent";
-      packageName = "remark-lint-list-item-content-indent";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.4.tgz";
-        sha512 = "zfEeAayZjEKkPr07fnhkGLENxOhnm0WZJTj6UBIXhtGu7rX23WNKSZaiou8iUoHxcO6ySCvIUJAEmq/XN1FxkQ==";
-      };
-    };
     "remark-lint-list-item-content-indent-2.0.1" = {
       name = "remark-lint-list-item-content-indent";
       packageName = "remark-lint-list-item-content-indent";
@@ -54591,15 +55913,6 @@ let
         sha512 = "OzUMqavxyptAdG7vWvBSMc9mLW9ZlTjbW4XGayzczd3KIr6Uwp3NEFXKx6MLtYIM/vwBqMrPQUrObOC7A2uBpQ==";
       };
     };
-    "remark-lint-list-item-indent-1.0.5" = {
-      name = "remark-lint-list-item-indent";
-      packageName = "remark-lint-list-item-indent";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.5.tgz";
-        sha512 = "DjRgxjqaVMrnlQFJypizTPtLa9gSM5ad0LVIFDSstV2UVXSgpBi2+bSsFJEXb4Fkjo/d2JAgt27UhzhcoF2lnw==";
-      };
-    };
     "remark-lint-list-item-indent-2.0.1" = {
       name = "remark-lint-list-item-indent";
       packageName = "remark-lint-list-item-indent";
@@ -54609,15 +55922,6 @@ let
         sha512 = "4IKbA9GA14Q9PzKSQI6KEHU/UGO36CSQEjaDIhmb9UOhyhuzz4vWhnSIsxyI73n9nl9GGRAMNUSGzr4pQUFwTA==";
       };
     };
-    "remark-lint-list-item-spacing-1.1.4" = {
-      name = "remark-lint-list-item-spacing";
-      packageName = "remark-lint-list-item-spacing";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.4.tgz";
-        sha512 = "zZELzTPYCoOCnOWh/nYTfQWnGXWg4/I5KpwrjBqe7WYwoMtvLVU9mqjRj2jHEbmirEXas54NZnYnkCoIBMS4bw==";
-      };
-    };
     "remark-lint-match-punctuation-0.2.1" = {
       name = "remark-lint-match-punctuation";
       packageName = "remark-lint-match-punctuation";
@@ -54627,33 +55931,6 @@ let
         sha512 = "XgarnmpBHMsCNRnhTNLf/8dDe5/gXdA/mQnBDPG/XZFNMebS6GFnWQpuL3cyzLmuWD62I1A5ouZczRZcrWYrTQ==";
       };
     };
-    "remark-lint-maximum-heading-length-1.0.4" = {
-      name = "remark-lint-maximum-heading-length";
-      packageName = "remark-lint-maximum-heading-length";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.4.tgz";
-        sha512 = "dhDBnUFXMuHoW8LSV/VICJAJO+wWumnvuu3ND7MJquCYrsjX2vcRmJXL5cusJSY4yqPosKlOowIkzdV5B6/SDQ==";
-      };
-    };
-    "remark-lint-maximum-line-length-1.2.2" = {
-      name = "remark-lint-maximum-line-length";
-      packageName = "remark-lint-maximum-line-length";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.2.tgz";
-        sha512 = "ItAdjK+tUhqggqFvtAJ8iJ0MbBgShLl0HDgpG3In0QSYp/dmofO77DjvRjCJQo1pQYS8/LwlBii9cqg/3MwFfA==";
-      };
-    };
-    "remark-lint-no-auto-link-without-protocol-1.0.4" = {
-      name = "remark-lint-no-auto-link-without-protocol";
-      packageName = "remark-lint-no-auto-link-without-protocol";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.4.tgz";
-        sha512 = "dhDHQLeaI79p7SRoKfxJ9c8J5otQsGua7ILeNbs2Onzn46/tp9ir6zjq3Lfh4VJJr4OVign2e8u+MzXsS7Uu/A==";
-      };
-    };
     "remark-lint-no-auto-link-without-protocol-2.0.1" = {
       name = "remark-lint-no-auto-link-without-protocol";
       packageName = "remark-lint-no-auto-link-without-protocol";
@@ -54663,15 +55940,6 @@ let
         sha512 = "TFcXxzucsfBb/5uMqGF1rQA+WJJqm1ZlYQXyvJEXigEZ8EAxsxZGPb/gOQARHl/y0vymAuYxMTaChavPKaBqpQ==";
       };
     };
-    "remark-lint-no-blockquote-without-marker-2.0.4" = {
-      name = "remark-lint-no-blockquote-without-marker";
-      packageName = "remark-lint-no-blockquote-without-marker";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.4.tgz";
-        sha512 = "a5LFGj7It2z7aBRGaAcztk4D2pax2b7dK9iOarIWv/JBus/PSjZJxzZCma2aAAOQhv3wbNTwqQwuQC0UJHMbPg==";
-      };
-    };
     "remark-lint-no-blockquote-without-marker-4.0.0" = {
       name = "remark-lint-no-blockquote-without-marker";
       packageName = "remark-lint-no-blockquote-without-marker";
@@ -54681,33 +55949,6 @@ let
         sha512 = "Y59fMqdygRVFLk1gpx2Qhhaw5IKOR9T38Wf7pjR07bEFBGUNfcoNVIFMd1TCJfCPQxUyJzzSqfZz/KT7KdUuiQ==";
       };
     };
-    "remark-lint-no-consecutive-blank-lines-1.0.4" = {
-      name = "remark-lint-no-consecutive-blank-lines";
-      packageName = "remark-lint-no-consecutive-blank-lines";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.4.tgz";
-        sha512 = "33rYrp+3OQ2UjG2/xhctruCvkP2iKLuHJhoUOAUV3BGwqJjAB+xNOl+0DdvDo0fxh5dyZuNesBuos3xr2yVR+w==";
-      };
-    };
-    "remark-lint-no-duplicate-headings-1.0.5" = {
-      name = "remark-lint-no-duplicate-headings";
-      packageName = "remark-lint-no-duplicate-headings";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.5.tgz";
-        sha512 = "4GKPxhKpN797V/6Jg1K4Zwqq+PhsjC633+wQMrZcTvOJfY+Rq1i7sNJ9lJVZnsDAlZJI56VqZCKnPJmS2br87g==";
-      };
-    };
-    "remark-lint-no-emphasis-as-heading-1.0.4" = {
-      name = "remark-lint-no-emphasis-as-heading";
-      packageName = "remark-lint-no-emphasis-as-heading";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.4.tgz";
-        sha512 = "gnsInLxTkc59eVD3/qelFagD/NcrMPKXT1sy7i4e8D2jqQyrIHHl0p3TfiyNNt8qIjKMKhlIii4k4kVk/3Mczg==";
-      };
-    };
     "remark-lint-no-emphasis-as-heading-2.0.1" = {
       name = "remark-lint-no-emphasis-as-heading";
       packageName = "remark-lint-no-emphasis-as-heading";
@@ -54789,15 +56030,6 @@ let
         sha512 = "b8ImhLv2AnRDxtYUODplzsl/7IwQ+lqRmD1bwbZgSerEP9MLaULW3SjH37EyA6z+8rCDjvEyppKKU6zec0TCjg==";
       };
     };
-    "remark-lint-no-heading-punctuation-1.0.4" = {
-      name = "remark-lint-no-heading-punctuation";
-      packageName = "remark-lint-no-heading-punctuation";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.4.tgz";
-        sha512 = "++/HXg/qtVssJjzq2ZgEreoxaazw9KkYrAbTDImKV7Fypo+7bZFELUvFicq0/i9qwAwt1tvhkKtLYt1W/sr1JQ==";
-      };
-    };
     "remark-lint-no-heading-punctuation-2.0.1" = {
       name = "remark-lint-no-heading-punctuation";
       packageName = "remark-lint-no-heading-punctuation";
@@ -54807,15 +56039,6 @@ let
         sha512 = "lY/eF6GbMeGu4cSuxfGHyvaQQBIq/6T/o+HvAR5UfxSTxmxZFwbZneAI2lbeR1zPcqOU87NsZ5ZZzWVwdLpPBw==";
       };
     };
-    "remark-lint-no-inline-padding-1.0.5" = {
-      name = "remark-lint-no-inline-padding";
-      packageName = "remark-lint-no-inline-padding";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.5.tgz";
-        sha512 = "AjS34hBRasYiIAKZJ7/9U42LouRHok2WVTRdQPcVtRBswStNOuot59S+FRsatqlk1wvMmjytqxUKQfVTSeu9ag==";
-      };
-    };
     "remark-lint-no-inline-padding-3.0.0" = {
       name = "remark-lint-no-inline-padding";
       packageName = "remark-lint-no-inline-padding";
@@ -54825,24 +56048,6 @@ let
         sha512 = "3s9uW3Yux9RFC0xV81MQX3bsYs+UY7nPnRuMxeIxgcVwxQ4E/mTJd9QjXUwBhU9kdPtJ5AalngdmOW2Tgar8Cg==";
       };
     };
-    "remark-lint-no-literal-urls-1.0.4" = {
-      name = "remark-lint-no-literal-urls";
-      packageName = "remark-lint-no-literal-urls";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.4.tgz";
-        sha512 = "sHjbzaSG4z6jMu1L0Qx1b7VvIQHy0bR4xZ6t9auJ5AoB5ua8hb/970s77irH1+46TF1ezhE7i+QDjmhcQi09xg==";
-      };
-    };
-    "remark-lint-no-multiple-toplevel-headings-1.0.5" = {
-      name = "remark-lint-no-multiple-toplevel-headings";
-      packageName = "remark-lint-no-multiple-toplevel-headings";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.5.tgz";
-        sha512 = "RZ1YPxRO7Bo8mT+A36cZ7nx2QHFAKk+oE6j87YrZYpAKr2oF6snKS8nIGhVku4PSI/9cW1G12MZz1cAA5rcjFw==";
-      };
-    };
     "remark-lint-no-multiple-toplevel-headings-2.0.1" = {
       name = "remark-lint-no-multiple-toplevel-headings";
       packageName = "remark-lint-no-multiple-toplevel-headings";
@@ -54861,15 +56066,6 @@ let
         sha512 = "JJduCs4FimdBcR1AB576SqIYOjt+7t8OjTnnlZMvjnw7lzkuL0+nNNHyNXVPaK6jxaLjEUhrH2/smU6vZFUT7g==";
       };
     };
-    "remark-lint-no-shell-dollars-1.0.4" = {
-      name = "remark-lint-no-shell-dollars";
-      packageName = "remark-lint-no-shell-dollars";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.4.tgz";
-        sha512 = "YXFj8FUVTKkVvoAbFY3zv1Ol7Kj1i+qdze3pXSgRG61y1LpfL8/HpnvFrseMbBmNw6o4WpjTo7GoArngJ1sCeg==";
-      };
-    };
     "remark-lint-no-shell-dollars-2.0.2" = {
       name = "remark-lint-no-shell-dollars";
       packageName = "remark-lint-no-shell-dollars";
@@ -54879,33 +56075,6 @@ let
         sha512 = "zhkHZOuyaD3r/TUUkkVqW0OxsR9fnSrAnHIF63nfJoAAUezPOu8D1NBsni6rX8H2DqGbPYkoeWrNsTwiKP0yow==";
       };
     };
-    "remark-lint-no-shortcut-reference-image-1.0.4" = {
-      name = "remark-lint-no-shortcut-reference-image";
-      packageName = "remark-lint-no-shortcut-reference-image";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.4.tgz";
-        sha512 = "5/9QoesnOHIDwMHU9x+AGPBiFoMe9ZBKIR8nC17C6ZdksgwUIpjBJ3VX5POFlt5E6OhAZaeXqUCq9G2USccEdA==";
-      };
-    };
-    "remark-lint-no-shortcut-reference-link-1.0.5" = {
-      name = "remark-lint-no-shortcut-reference-link";
-      packageName = "remark-lint-no-shortcut-reference-link";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.5.tgz";
-        sha512 = "qDVL7/0ptOTd/nyd9u/4MYFWQtYQU8povdUB45UgTXy5Rrf1WsC+4DfzAEZkX3tOSTExdAIf1WOKqdC5xRcfvA==";
-      };
-    };
-    "remark-lint-no-table-indentation-1.0.5" = {
-      name = "remark-lint-no-table-indentation";
-      packageName = "remark-lint-no-table-indentation";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.5.tgz";
-        sha512 = "eE1GL+IzU3vtHdYCKHCZEIhCwiwCM7UH+pMDIMpGfH2LB3cB/Nrfbiz9xadGkARKqxxDMsJSBZDw4A/01IU+kA==";
-      };
-    };
     "remark-lint-no-table-indentation-3.0.0" = {
       name = "remark-lint-no-table-indentation";
       packageName = "remark-lint-no-table-indentation";
@@ -54951,15 +56120,6 @@ let
         sha512 = "+BMc0BOjc364SvKYLkspmxDch8OaKPbnUGgQBvK0Bmlwy42baR4C9zhwAWBxm0SBy5Z4AyM4G4jKpLXPH40Oxg==";
       };
     };
-    "remark-lint-ordered-list-marker-style-1.0.4" = {
-      name = "remark-lint-ordered-list-marker-style";
-      packageName = "remark-lint-ordered-list-marker-style";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.4.tgz";
-        sha512 = "c6AIqeePzm3nfkPCbTdwBS3/AQICgwE76+ryOc7tsSq4ulyK/Nt8Syvi/oiHYuonBddZoGtFTNCn0jqen9qscA==";
-      };
-    };
     "remark-lint-ordered-list-marker-style-2.0.1" = {
       name = "remark-lint-ordered-list-marker-style";
       packageName = "remark-lint-ordered-list-marker-style";
@@ -54969,15 +56129,6 @@ let
         sha512 = "Cnpw1Dn9CHn+wBjlyf4qhPciiJroFOEGmyfX008sQ8uGoPZsoBVIJx76usnHklojSONbpjEDcJCjnOvfAcWW1A==";
       };
     };
-    "remark-lint-ordered-list-marker-value-1.0.5" = {
-      name = "remark-lint-ordered-list-marker-value";
-      packageName = "remark-lint-ordered-list-marker-value";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.5.tgz";
-        sha512 = "eKepbNNfu9rEuG8WvV0sc7B+KiPMgq5Nc9baAxL9Hi6mhpj347YFWXxJUNttSINS13YTpnHxPvXmF9SzhjFKNQ==";
-      };
-    };
     "remark-lint-ordered-list-marker-value-2.0.1" = {
       name = "remark-lint-ordered-list-marker-value";
       packageName = "remark-lint-ordered-list-marker-value";
@@ -54987,15 +56138,6 @@ let
         sha512 = "blt9rS7OKxZ2NW8tqojELeyNEwPhhTJGVa+YpUkdEH+KnrdcD7Nzhnj6zfLWOx6jFNZk3jpq5nvLFAPteHaNKg==";
       };
     };
-    "remark-lint-rule-style-1.0.4" = {
-      name = "remark-lint-rule-style";
-      packageName = "remark-lint-rule-style";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-1.0.4.tgz";
-        sha512 = "omr5P6CCvo2zixCzK9uiGZpwzOE+4rc+95kWH95k2iA6Rp8Qohp8RK4unSRKLtFYGUhSbiQPgWaQXHDxMkWczg==";
-      };
-    };
     "remark-lint-rule-style-2.0.1" = {
       name = "remark-lint-rule-style";
       packageName = "remark-lint-rule-style";
@@ -55005,15 +56147,6 @@ let
         sha512 = "hz4Ff9UdlYmtO6Czz99WJavCjqCer7Cav4VopXt+yVIikObw96G5bAuLYcVS7hvMUGqC9ZuM02/Y/iq9n8pkAg==";
       };
     };
-    "remark-lint-strong-marker-1.0.4" = {
-      name = "remark-lint-strong-marker";
-      packageName = "remark-lint-strong-marker";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.4.tgz";
-        sha512 = "X9f6yhZ85cdP0cmCgkqlbxllpeQ60pS9Qqk9Jb9SZo6f95esaHptQ5bExb1ZVXzhSHz2Xz86tUhXtzG3zGFD4g==";
-      };
-    };
     "remark-lint-strong-marker-2.0.1" = {
       name = "remark-lint-strong-marker";
       packageName = "remark-lint-strong-marker";
@@ -55023,15 +56156,6 @@ let
         sha512 = "8X2IsW1jZ5FmW9PLfQjkL0OVy/J3xdXLcZrG1GTeQKQ91BrPFyEZqUM2oM6Y4S6LGtxWer+neZkPZNroZoRPBQ==";
       };
     };
-    "remark-lint-table-cell-padding-1.0.5" = {
-      name = "remark-lint-table-cell-padding";
-      packageName = "remark-lint-table-cell-padding";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.5.tgz";
-        sha512 = "N/WpcymrGBSPbLiv2OQTvdzNn6H9ctdyEA+P/odn4G9FqyrLmeTMkGJuGtinU569hLG/RtHqZIDeFVDiYi8Wzw==";
-      };
-    };
     "remark-lint-table-cell-padding-3.0.0" = {
       name = "remark-lint-table-cell-padding";
       packageName = "remark-lint-table-cell-padding";
@@ -55041,15 +56165,6 @@ let
         sha512 = "sEKrbyFZPZpxI39R8/r+CwUrin9YtyRwVn0SQkNQEZWZcIpylK+bvoKIldvLIXQPob+ZxklL0GPVRzotQMwuWQ==";
       };
     };
-    "remark-lint-table-pipe-alignment-1.0.4" = {
-      name = "remark-lint-table-pipe-alignment";
-      packageName = "remark-lint-table-pipe-alignment";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.4.tgz";
-        sha512 = "pmELEOXeUjMQedyVvOtZcTCnTu6FxZ4gfBskMx6iJhOFEEKTFOmviqlKLpndPBxFNZB86AiE0C00/NvAaut8dw==";
-      };
-    };
     "remark-lint-table-pipe-alignment-2.0.1" = {
       name = "remark-lint-table-pipe-alignment";
       packageName = "remark-lint-table-pipe-alignment";
@@ -55059,15 +56174,6 @@ let
         sha512 = "O89U7bp0ja6uQkT2uQrNB76GaPvFabrHiUGhqEUnld21yEdyj7rgS57kn84lZNSuuvN1Oor6bDyCwWQGzzpoOQ==";
       };
     };
-    "remark-lint-table-pipes-1.0.4" = {
-      name = "remark-lint-table-pipes";
-      packageName = "remark-lint-table-pipes";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.4.tgz";
-        sha512 = "0fdnoiiSLIPd/76gNvQY4pg27d8HkMmmv5gCGfD+Z/Si9DdpbJdq93U0kX+Botb3+/4VEDIlcU7Cp5HXppMTWA==";
-      };
-    };
     "remark-lint-table-pipes-3.0.0" = {
       name = "remark-lint-table-pipes";
       packageName = "remark-lint-table-pipes";
@@ -55077,15 +56183,6 @@ let
         sha512 = "QPokSazEdl0Y8ayUV9UB0Ggn3Jos/RAQwIo0z1KDGnJlGDiF80Jc6iU9RgDNUOjlpQffSLIfSVxH5VVYF/K3uQ==";
       };
     };
-    "remark-lint-unordered-list-marker-style-1.0.4" = {
-      name = "remark-lint-unordered-list-marker-style";
-      packageName = "remark-lint-unordered-list-marker-style";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.4.tgz";
-        sha512 = "lcuG1J74VGTT4gl8oH33HpkHrqorxjxMlJnBupLFrVowqvJ2hAq8yPJdGZ7P46uZOYw+Xz+Qv08bF8A73PNWxQ==";
-      };
-    };
     "remark-lint-unordered-list-marker-style-2.0.1" = {
       name = "remark-lint-unordered-list-marker-style";
       packageName = "remark-lint-unordered-list-marker-style";
@@ -55113,24 +56210,6 @@ let
         sha512 = "y3cj3wDwpXTE1boMco/nsquHj2noK0mtnXwBC8FJ/CtU06y66jOBWX1kLknluBl06pYbxtx1ypAOHKvjgT4vsA==";
       };
     };
-    "remark-mdxjs-2.0.0-next.8" = {
-      name = "remark-mdxjs";
-      packageName = "remark-mdxjs";
-      version = "2.0.0-next.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-mdxjs/-/remark-mdxjs-2.0.0-next.8.tgz";
-        sha512 = "Z/+0eWc7pBEABwg3a5ptL+vCTWHYMFnYzpLoJxTm2muBSk8XyB/CL+tEJ6SV3Q/fScHX2dtG4JRcGSpbZFLazQ==";
-      };
-    };
-    "remark-message-control-4.2.0" = {
-      name = "remark-message-control";
-      packageName = "remark-message-control";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz";
-        sha512 = "WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==";
-      };
-    };
     "remark-message-control-6.0.0" = {
       name = "remark-message-control";
       packageName = "remark-message-control";
@@ -55158,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";
@@ -55176,15 +56246,6 @@ let
         sha512 = "b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==";
       };
     };
-    "remark-parse-6.0.3" = {
-      name = "remark-parse";
-      packageName = "remark-parse";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz";
-        sha512 = "QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==";
-      };
-    };
     "remark-parse-8.0.3" = {
       name = "remark-parse";
       packageName = "remark-parse";
@@ -55203,24 +56264,6 @@ let
         sha512 = "geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==";
       };
     };
-    "remark-preset-lint-markdown-style-guide-2.1.4" = {
-      name = "remark-preset-lint-markdown-style-guide";
-      packageName = "remark-preset-lint-markdown-style-guide";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.4.tgz";
-        sha512 = "CGEN3DRtJEp+BvfgZ+VKxuq0Ij8Uw2DXfrbhK2xn4/XxatcHRPN8tnagXbMe1LHaQJGN8Gl1+UyLjsfIk6hyGQ==";
-      };
-    };
-    "remark-retext-3.1.3" = {
-      name = "remark-retext";
-      packageName = "remark-retext";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-retext/-/remark-retext-3.1.3.tgz";
-        sha512 = "UujXAm28u4lnUvtOZQFYfRIhxX+auKI9PuA2QpQVTT7gYk1OgX6o0OUrSo1KOa6GNrFX+OODOtS5PWIHPxM7qw==";
-      };
-    };
     "remark-retext-4.0.0" = {
       name = "remark-retext";
       packageName = "remark-retext";
@@ -55239,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";
@@ -55383,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";
@@ -55419,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";
@@ -55482,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";
@@ -55500,13 +56543,22 @@ let
         sha512 = "fimzjIVw506FBZLspTAXHdpvgvQebyjpNyLRd0e6drPPRq7gcrROeGWRyF81wLqFg5ijPgnOQbmfck5wdTqpSA==";
       };
     };
-    "request-light-0.5.5" = {
+    "request-light-0.5.7" = {
       name = "request-light";
       packageName = "request-light";
-      version = "0.5.5";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-light/-/request-light-0.5.7.tgz";
+        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-light/-/request-light-0.5.5.tgz";
-        sha512 = "AvjfJuhyT6dYfhtIBF+IpTPQco+Td1QJ6PsIJ5xui110vQ5p9HxHk+m1XJqXazLQT6CxxSx9eNv6R/+fu4bZig==";
+        url = "https://registry.npmjs.org/request-oauth/-/request-oauth-0.0.3.tgz";
+        sha512 = "q7WdJlpIcPaIDac0FZSy/yH37FO3UkUuPDIsiLALiLjuC6vzvuKIU14YIC3Lm0wtQRXS9GqvSo/fCYj8n75xSw==";
       };
     };
     "request-progress-2.0.1" = {
@@ -55680,13 +56732,13 @@ let
         sha512 = "LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==";
       };
     };
-    "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-1.7.1" = {
@@ -55806,6 +56858,15 @@ let
         sha1 = "686f70b188bd7d675f5bbc4282ccda060abb9d27";
       };
     };
+    "resolve-path-1.4.0" = {
+      name = "resolve-path";
+      packageName = "resolve-path";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz";
+        sha1 = "c4bda9f5efb2fce65247873ab36bb4d834fe16f7";
+      };
+    };
     "resolve-protobuf-schema-2.1.0" = {
       name = "resolve-protobuf-schema";
       packageName = "resolve-protobuf-schema";
@@ -55959,15 +57020,6 @@ let
         sha512 = "M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==";
       };
     };
-    "retext-6.0.2" = {
-      name = "retext";
-      packageName = "retext";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retext/-/retext-6.0.2.tgz";
-        sha512 = "CxpBywVxRjzikCRrC6Z87KzqzuSbCDLLqpQSzjzE0xlzPaZemZiywCHEzX7eSWRdXY5006rYgD7Zm4BCyzFxvg==";
-      };
-    };
     "retext-english-3.0.4" = {
       name = "retext-english";
       packageName = "retext-english";
@@ -56004,15 +57056,6 @@ let
         sha512 = "HmwH06qUlmCNQZZBY7Kkljbqc9isGTVwpm5WedpkfklB2dy+suyUUF1X0Zn3VbcaUlh7DfYrzpaJAtvOkML/eA==";
       };
     };
-    "retext-latin-2.0.4" = {
-      name = "retext-latin";
-      packageName = "retext-latin";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retext-latin/-/retext-latin-2.0.4.tgz";
-        sha512 = "fOoSSoQgDZ+l/uS81oxI3alBghDUPja0JEl0TpQxI6MN+dhM6fLFumPJwMZ4PJTyL5FFAgjlsdv8IX+6IRuwMw==";
-      };
-    };
     "retext-profanities-6.1.0" = {
       name = "retext-profanities";
       packageName = "retext-profanities";
@@ -56031,24 +57074,6 @@ let
         sha512 = "TeqYTbm3n8YLeswe+OVEB/s7TjJEvWMNzoypoXRSRY4mcEMdnBv2uRbkYBBv2+UWTJ3uXD2y94oEu9syeD1NQQ==";
       };
     };
-    "retext-spell-2.4.1" = {
-      name = "retext-spell";
-      packageName = "retext-spell";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retext-spell/-/retext-spell-2.4.1.tgz";
-        sha512 = "l2C37Sz+JMLgUJHqqNA2bV3Qqh7V6zWT3fCi8MtsZn2PoanDh57Tz2NW/DJpoEIsK9mV7o2EMvQmIMt5cgcgAg==";
-      };
-    };
-    "retext-stringify-2.0.4" = {
-      name = "retext-stringify";
-      packageName = "retext-stringify";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retext-stringify/-/retext-stringify-2.0.4.tgz";
-        sha512 = "xOtx5mFJBoT3j7PBtiY2I+mEGERNniofWktI1cKXvjMEJPOuqve0dghLHO1+gz/gScLn4zqspDGv4kk2wS5kSA==";
-      };
-    };
     "rethinkdb-2.4.2" = {
       name = "rethinkdb";
       packageName = "rethinkdb";
@@ -56679,13 +57704,13 @@ let
         sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
       };
     };
-    "rxjs-7.4.0" = {
+    "rxjs-7.5.4" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "7.4.0";
+      version = "7.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz";
-        sha512 = "7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz";
+        sha512 = "h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==";
       };
     };
     "s3-stream-upload-2.0.2" = {
@@ -56715,13 +57740,13 @@ let
         sha1 = "182a991208fc1ab5214443eb250fc8f53b4bc9ea";
       };
     };
-    "sade-1.7.4" = {
+    "sade-1.8.1" = {
       name = "sade";
       packageName = "sade";
-      version = "1.7.4";
+      version = "1.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz";
-        sha512 = "y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==";
+        url = "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz";
+        sha512 = "xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==";
       };
     };
     "safe-buffer-5.0.1" = {
@@ -56751,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";
@@ -56760,15 +57794,6 @@ let
         sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
-    "safe-compare-1.1.4" = {
-      name = "safe-compare";
-      packageName = "safe-compare";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-compare/-/safe-compare-1.1.4.tgz";
-        sha512 = "b9wZ986HHCo/HbKrRpBJb2kqXMK9CEWIE1egeEvZsYn69ay3kdfl9nG3RyOcR+jInTDf7a86WQ1d4VJX7goSSQ==";
-      };
-    };
     "safe-json-stringify-1.2.0" = {
       name = "safe-json-stringify";
       packageName = "safe-json-stringify";
@@ -56787,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";
@@ -56886,13 +57902,13 @@ let
         sha1 = "478be1429500fcfaa780be88b3343ced7d2a9182";
       };
     };
-    "sass-1.45.0" = {
+    "sass-1.49.8" = {
       name = "sass";
       packageName = "sass";
-      version = "1.45.0";
+      version = "1.49.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.45.0.tgz";
-        sha512 = "ONy5bjppoohtNkFJRqdz1gscXamMzN3wQy1YH9qO2FiNpgjLhpz/IPRGg0PpCjyz/pWfCOaNEaiEGCcjOFAjqw==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz";
+        sha512 = "NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==";
       };
     };
     "sax-0.5.8" = {
@@ -57048,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";
@@ -57066,6 +58073,15 @@ let
         sha512 = "UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==";
       };
     };
+    "secp256k1-4.0.3" = {
+      name = "secp256k1";
+      packageName = "secp256k1";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz";
+        sha512 = "NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==";
+      };
+    };
     "secret-handshake-1.1.20" = {
       name = "secret-handshake";
       packageName = "secret-handshake";
@@ -57093,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";
@@ -57102,6 +58127,15 @@ let
         sha1 = "f1a0329b308b221fae37b9974f3d578d0ca999e3";
       };
     };
+    "secure-json-parse-2.4.0" = {
+      name = "secure-json-parse";
+      packageName = "secure-json-parse";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz";
+        sha512 = "Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==";
+      };
+    };
     "secure-keys-1.0.0" = {
       name = "secure-keys";
       packageName = "secure-keys";
@@ -57120,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";
@@ -57129,13 +58172,22 @@ let
         sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
       };
     };
-    "selfsigned-1.10.11" = {
+    "selfsigned-1.10.14" = {
       name = "selfsigned";
       packageName = "selfsigned";
-      version = "1.10.11";
+      version = "1.10.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz";
+        sha512 = "lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==";
+      };
+    };
+    "selfsigned-2.0.0" = {
+      name = "selfsigned";
+      packageName = "selfsigned";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz";
-        sha512 = "aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==";
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz";
+        sha512 = "cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==";
       };
     };
     "semaphore-async-await-1.5.1" = {
@@ -57444,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";
@@ -57840,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";
@@ -57858,13 +58910,13 @@ let
         sha1 = "decbcf874b0d1e5fb72e14b164a9683048e9acb3";
       };
     };
-    "shelljs-0.8.4" = {
+    "shelljs-0.8.5" = {
       name = "shelljs";
       packageName = "shelljs";
-      version = "0.8.4";
+      version = "0.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz";
-        sha512 = "7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==";
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz";
+        sha512 = "TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==";
       };
     };
     "shellsubstitute-1.2.0" = {
@@ -57939,6 +58991,15 @@ let
         sha1 = "9bfc8f74fa39205c53d38c34d717303e277124f1";
       };
     };
+    "should-proxy-1.0.4" = {
+      name = "should-proxy";
+      packageName = "should-proxy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/should-proxy/-/should-proxy-1.0.4.tgz";
+        sha1 = "c805a501abf69539600634809e62fbf238ba35e4";
+      };
+    };
     "should-type-1.4.0" = {
       name = "should-type";
       packageName = "should-type";
@@ -58020,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" = {
@@ -58065,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" = {
@@ -58164,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" = {
@@ -58254,15 +59315,6 @@ let
         sha1 = "c2f83f273a3e1a16edb0995661da0ed5ef033364";
       };
     };
-    "single-trailing-newline-1.0.0" = {
-      name = "single-trailing-newline";
-      packageName = "single-trailing-newline";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz";
-        sha1 = "81f0ad2ad645181945c80952a5c1414992ee9664";
-      };
-    };
     "siphash24-1.3.0" = {
       name = "siphash24";
       packageName = "siphash24";
@@ -58452,13 +59504,13 @@ let
         sha512 = "tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==";
       };
     };
-    "slugify-1.6.4" = {
+    "slugify-1.6.5" = {
       name = "slugify";
       packageName = "slugify";
-      version = "1.6.4";
+      version = "1.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/slugify/-/slugify-1.6.4.tgz";
-        sha512 = "Pcz296CK0uGnTf4iNQId79Uv6/5G16t0g0x3OsxWS8qVSOW+JXNnNHKVcuDiMgEGTWyK6zjlWXo2dvzV/FLf9Q==";
+        url = "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz";
+        sha512 = "8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==";
       };
     };
     "smart-buffer-4.2.0" = {
@@ -58551,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";
@@ -58641,22 +59684,13 @@ 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.0" = {
+    "socket.io-4.4.1" = {
       name = "socket.io";
       packageName = "socket.io";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.4.0.tgz";
-        sha512 = "bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz";
+        sha512 = "s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==";
       };
     };
     "socket.io-adapter-0.2.0" = {
@@ -58821,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" = {
@@ -58848,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";
@@ -58875,6 +59918,15 @@ let
         sha512 = "FbZ/X/2Xq3DAMhuRA4bnN0jy1QxaPTVPLFvyv6CEj0QDKSTdWp9yRxo1JhqXmWKhPQeJyUMajHJB2UjT43pFcw==";
       };
     };
+    "socksjs-0.5.0" = {
+      name = "socksjs";
+      packageName = "socksjs";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socksjs/-/socksjs-0.5.0.tgz";
+        sha1 = "77b005e32d1bfc96e560fedd5d7eedcf120f87e3";
+      };
+    };
     "sodium-browserify-1.3.0" = {
       name = "sodium-browserify";
       packageName = "sodium-browserify";
@@ -58911,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" = {
@@ -58947,22 +59999,31 @@ 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.1" = {
+    "sonic-boom-2.4.2" = {
       name = "sonic-boom";
       packageName = "sonic-boom";
-      version = "2.4.1";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.4.2.tgz";
+        sha512 = "zlOmAKFLJzTI+MbvmkWhnOOJ++NYo0Iy7F93ARNPmvZvpWG2l8Ff3uwM3CkpHqRw8v3pcRROScM5E+vbeTeOKw==";
+      };
+    };
+    "sonic-boom-2.6.0" = {
+      name = "sonic-boom";
+      packageName = "sonic-boom";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.4.1.tgz";
-        sha512 = "WgtVLfGl347/zS1oTuLaOAvVD5zijgjphAJHgbbnBJGgexnr+C1ULSj0j7ftoGxpuxR4PaV635NkwFemG8m/5w==";
+        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.6.0.tgz";
+        sha512 = "6xYZFRmDEtxGqfOKcDQ4cPLrNa0SPEDI+wlzDAHowXE6YV42NeXqg9mP2KkiM8JVu3lHfZ2iQKYlGOz+kTpphg==";
       };
     };
     "sorcery-0.10.0" = {
@@ -58974,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" = {
@@ -59127,22 +60188,13 @@ let
         sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
       };
     };
-    "source-map-js-0.6.2" = {
+    "source-map-js-1.0.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.1" = {
-      name = "source-map-js";
-      packageName = "source-map-js";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz";
-        sha512 = "4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==";
+        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz";
+        sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
       };
     };
     "source-map-resolve-0.5.3" = {
@@ -59235,15 +60287,6 @@ let
         sha512 = "ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==";
       };
     };
-    "spago-0.20.3" = {
-      name = "spago";
-      packageName = "spago";
-      version = "0.20.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spago/-/spago-0.20.3.tgz";
-        sha512 = "R4CWLP5IbaWoNIpS1QAUuDK2LKlKYqT5gBKVZL7ILilvCwdwS72u3NbGZbvx7VCRRZz4lG7zXUkqKNow7zh6wQ==";
-      };
-    };
     "spark-md5-1.0.1" = {
       name = "spark-md5";
       packageName = "spark-md5";
@@ -59406,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";
@@ -59487,6 +60521,15 @@ let
         sha1 = "67097c601d697ce1368f418f06cd201cf0521a57";
       };
     };
+    "split-0.3.1" = {
+      name = "split";
+      packageName = "split";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split/-/split-0.3.1.tgz";
+        sha1 = "cebcf142bf61bbb64b141628e6db482a2914654c";
+      };
+    };
     "split-0.3.3" = {
       name = "split";
       packageName = "split";
@@ -59523,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";
@@ -59631,6 +60683,15 @@ let
         sha512 = "2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ==";
       };
     };
+    "sqlite3-4.1.0" = {
+      name = "sqlite3";
+      packageName = "sqlite3";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
+        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
+      };
+    };
     "sqlite3-4.2.0" = {
       name = "sqlite3";
       packageName = "sqlite3";
@@ -59775,13 +60836,13 @@ let
         sha512 = "pJAFizB6OcuJLX4RJJuU9HWyPwM2CqLi/vs08lhVIR3TGxacxpavvK5LzbxT+Y3iWkBchOTKS5hHCigA5aaung==";
       };
     };
-    "ssb-db2-2.8.3" = {
+    "ssb-db2-2.8.9" = {
       name = "ssb-db2";
       packageName = "ssb-db2";
-      version = "2.8.3";
+      version = "2.8.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.8.3.tgz";
-        sha512 = "45qxUO4ULsQKf79IUma0fuMIatyQac83pmmMZPQHHbiPr001hlgUnZvVzgNgGq7eZE5J6451/TBrBKzO5jjILg==";
+        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" = {
@@ -60018,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" = {
@@ -60036,13 +61097,13 @@ let
         sha512 = "Z4jBj917W+dKAiDglwxCpWm8vINOMtkpHQIgk50NQTb5jHqHI5Rcyiy7EO0uRcWwRWqXi1ZwOTEFVyLyyuittA==";
       };
     };
-    "ssb-uri2-1.5.2" = {
+    "ssb-uri2-1.7.0" = {
       name = "ssb-uri2";
       packageName = "ssb-uri2";
-      version = "1.5.2";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-uri2/-/ssb-uri2-1.5.2.tgz";
-        sha512 = "jlsN7w6/toFjcRZLDkCC3nq6+rKeS7NhUxZ+xGS1ASltenkudcZvdgczRb+L11ObFND4VCohkO21lVSAJV8hCQ==";
+        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" = {
@@ -60063,13 +61124,13 @@ let
         sha512 = "B1UMy/+sZLbVo0KvdiAvOeSCalYWSaFXxxEmuZ0K0wRqIkn/KU7vdXeaXxp+bRmTTnABdu+k/O7qRJtdiD6e0w==";
       };
     };
-    "ssb-validate2-rsjs-node-1.0.3" = {
+    "ssb-validate2-rsjs-node-1.0.4" = {
       name = "ssb-validate2-rsjs-node";
       packageName = "ssb-validate2-rsjs-node";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-validate2-rsjs-node/-/ssb-validate2-rsjs-node-1.0.3.tgz";
-        sha512 = "jqMfr/EzgVkz53XCA/4cN+8sGrW4n8VPrDT5yjx4XcRxqiSHQYA0hp3M7N1XvLo1Zy+Eu51jGDLYXzlbql64Xw==";
+        url = "https://registry.npmjs.org/ssb-validate2-rsjs-node/-/ssb-validate2-rsjs-node-1.0.4.tgz";
+        sha512 = "UWdqf1nu7DgDDYB8ZndELiD/RkAIm8//odirkv1yynSxGOgwiGrFiQG+5I/OVdpfnb3pZ712QWX9sv0t+hUFYg==";
       };
     };
     "ssb-ws-6.2.3" = {
@@ -60081,13 +61142,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.151" = {
+    "sscaff-1.2.208" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.151";
+      version = "1.2.208";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.151.tgz";
-        sha512 = "6UfOVW4ElZDCutLaPUULDA/RdtV5zs2qsmSVkg47mE0WrGXmaG/vC/4k668/s+MbpGjCCW+dytbmNkcduREEJw==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.208.tgz";
+        sha512 = "zZbWds7b7zh2x+TATQ4SM1Grqw9INsf4jB0pZ9CWtgGAFLM4aWGhSGscUMLqigCu2+MxCIAIwG2CRDOTVD4G+w==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -60117,6 +61178,15 @@ let
         sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
       };
     };
+    "sshpk-1.17.0" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz";
+        sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
+      };
+    };
     "sshpk-1.7.1" = {
       name = "sshpk";
       packageName = "sshpk";
@@ -60234,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" = {
@@ -60261,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" = {
@@ -60324,15 +61394,6 @@ let
         sha1 = "ec7b4750ff03ab24a64dd9b357a78316bead78aa";
       };
     };
-    "stats-lite-2.2.0" = {
-      name = "stats-lite";
-      packageName = "stats-lite";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stats-lite/-/stats-lite-2.2.0.tgz";
-        sha512 = "/Kz55rgUIv2KP2MKphwYT/NCuSfAlbbMRv2ZWw7wyXayu230zdtzhxxuXXcvsc6EmmhS8bSJl3uS1wmMHFumbA==";
-      };
-    };
     "statuses-1.3.1" = {
       name = "statuses";
       packageName = "statuses";
@@ -60432,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";
@@ -60459,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" = {
@@ -60567,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" = {
@@ -60720,6 +61790,15 @@ let
         sha512 = "OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==";
       };
     };
+    "streamroller-3.0.2" = {
+      name = "streamroller";
+      packageName = "streamroller";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/streamroller/-/streamroller-3.0.2.tgz";
+        sha512 = "ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==";
+      };
+    };
     "streamsearch-0.1.2" = {
       name = "streamsearch";
       packageName = "streamsearch";
@@ -60729,13 +61808,22 @@ let
         sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
       };
     };
-    "streamx-2.12.0" = {
+    "streamsearch-1.1.0" = {
+      name = "streamsearch";
+      packageName = "streamsearch";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz";
+        sha512 = "Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==";
+      };
+    };
+    "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" = {
@@ -60918,13 +62006,13 @@ let
         sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     };
-    "string-width-5.0.1" = {
+    "string-width-5.1.0" = {
       name = "string-width";
       packageName = "string-width";
-      version = "5.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-5.0.1.tgz";
-        sha512 = "5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==";
+        url = "https://registry.npmjs.org/string-width/-/string-width-5.1.0.tgz";
+        sha512 = "7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==";
       };
     };
     "string.prototype.repeat-0.2.0" = {
@@ -61179,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";
@@ -61341,6 +62438,15 @@ let
         sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
       };
     };
+    "strip-json-comments-4.0.0" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-4.0.0.tgz";
+        sha512 = "LzWcbfMbAsEDTRmhjWIioe8GcDRl0fa35YMXFoJKDdiD/quGFmjJjdgPjFJJNwCMaLyQqFIDqCdHD2V4HfLgYA==";
+      };
+    };
     "strip-outer-1.0.1" = {
       name = "strip-outer";
       packageName = "strip-outer";
@@ -61377,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" = {
@@ -61413,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";
@@ -61422,15 +62537,6 @@ let
         sha1 = "7958c793e47e32e07d2b5cafe5c0bf8e12e77902";
       };
     };
-    "style-to-object-0.3.0" = {
-      name = "style-to-object";
-      packageName = "style-to-object";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz";
-        sha512 = "CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==";
-      };
-    };
     "styled-components-5.3.3" = {
       name = "styled-components";
       packageName = "styled-components";
@@ -61458,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";
@@ -61494,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";
@@ -61620,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";
@@ -61755,15 +62834,6 @@ let
         sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     };
-    "supports-color-6.0.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz";
-        sha512 = "on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==";
-      };
-    };
     "supports-color-6.1.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -61818,40 +62888,58 @@ let
         sha512 = "6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==";
       };
     };
-    "svelte-3.38.3" = {
-      name = "svelte";
-      packageName = "svelte";
-      version = "3.38.3";
+    "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/svelte/-/svelte-3.38.3.tgz";
-        sha512 = "N7bBZJH0iF24wsalFZF+fVYMUOigaAUQMIcEKHO3jstK/iL8VmP9xE+P0/a76+FkNcWt+TDv2Gx1taUoUscrvw==";
+        url = "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
+        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
       };
     };
-    "svelte-preprocess-4.10.0" = {
-      name = "svelte-preprocess";
-      packageName = "svelte-preprocess";
-      version = "4.10.0";
+    "surge-fstream-ignore-1.0.6" = {
+      name = "surge-fstream-ignore";
+      packageName = "surge-fstream-ignore";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/surge-fstream-ignore/-/surge-fstream-ignore-1.0.6.tgz";
+        sha512 = "hNN52cz2fYCAzhlHmWPn4aE3bFbpBt01AkWFLljrtSzFvxlipLAeLuLtQ3t4f0RKoUkjzXWCAFK13WoET2iM1A==";
+      };
+    };
+    "surge-ignore-0.2.0" = {
+      name = "surge-ignore";
+      packageName = "surge-ignore";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.0.tgz";
-        sha512 = "uZgGyC4SwkFoby2ceiMgGYs4qHYGz2fT06cAsHO8FHdDbvj1dKQyQ/fD9OB0KLymVv0fmzuJo/On7Kv7AeVhWA==";
+        url = "https://registry.npmjs.org/surge-ignore/-/surge-ignore-0.2.0.tgz";
+        sha1 = "5a7f8a20a71188cf9e75a2cfe8eb182de90daf3b";
       };
     };
-    "svelte-preprocess-4.9.8" = {
+    "svelte-3.46.4" = {
+      name = "svelte";
+      packageName = "svelte";
+      version = "3.46.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svelte/-/svelte-3.46.4.tgz";
+        sha512 = "qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==";
+      };
+    };
+    "svelte-preprocess-4.10.3" = {
       name = "svelte-preprocess";
       packageName = "svelte-preprocess";
-      version = "4.9.8";
+      version = "4.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.9.8.tgz";
-        sha512 = "EQS/oRZzMtYdAprppZxY3HcysKh11w54MgA63ybtL+TAZ4hVqYOnhw41JVJjWN9dhPnNjjLzvbZ2tMhTsla1Og==";
+        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.3.tgz";
+        sha512 = "ttw17lJfb/dx2ZJT9sesaXT5l7mPQ9Apx1H496Kli3Hkk7orIRGpOw6rCPkRNzr6ueVPqb4vzodS5x7sBFhKHw==";
       };
     };
-    "svelte2tsx-0.4.11" = {
+    "svelte2tsx-0.5.5" = {
       name = "svelte2tsx";
       packageName = "svelte2tsx";
-      version = "0.4.11";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.4.11.tgz";
-        sha512 = "y1mqNrxv3TzDHstM0qlHrbKwfWk+G/uB28yRH4JYMjJ7N3XZrfrLad+/+P6ITTawbUfLqfs/WlxJDKzl7F2CPw==";
+        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.5.5.tgz";
+        sha512 = "5n8jP721bM3vXPk36AM9diZg2aasLvsfP/Zt9CQVrcqcnzexOYVeS8kpGk+3mofOPvPvXnOCLdff62usI/KOMw==";
       };
     };
     "sver-compat-1.5.0" = {
@@ -62133,22 +63221,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-4.34.23" = {
+    "systeminformation-5.11.4" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "4.34.23";
+      version = "5.11.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.34.23.tgz";
-        sha512 = "33+lQwlLxXoxy0o9WLOgw8OjbXeS3Jv+pSl+nxKc2AOClBI28HsdRPpH0u9Xa9OVjHLT9vonnOMw1ug7YXI0dA==";
-      };
-    };
-    "systeminformation-5.9.17" = {
-      name = "systeminformation";
-      packageName = "systeminformation";
-      version = "5.9.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.9.17.tgz";
-        sha512 = "hbJtPsG63PCst4PLXFq8hycbkeR5oGDquRowfLK0gNX7nJ1qx3tCbsWu83OL4GP1dkcLMKsVooLUn5x2K1Epgg==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.4.tgz";
+        sha512 = "rh7bjpjP5whUaTknim5CiGdAiKZcgWhmbmxjzBRXDWqUc/k67bz2OP+03DdcX6/SN/CDSAi/NeUwM5o2gjHJoA==";
       };
     };
     "sywac-1.3.0" = {
@@ -62178,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";
@@ -62196,22 +63266,13 @@ let
         sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==";
       };
     };
-    "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==";
-      };
-    };
-    "table-6.7.5" = {
-      name = "table";
-      packageName = "table";
-      version = "6.7.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-6.7.5.tgz";
-        sha512 = "LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==";
+        url = "https://registry.npmjs.org/table/-/table-6.8.0.tgz";
+        sha512 = "s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==";
       };
     };
     "table-layout-0.4.5" = {
@@ -62241,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";
@@ -62332,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" = {
@@ -62449,6 +63501,15 @@ let
         sha512 = "ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==";
       };
     };
+    "tarr-1.1.0" = {
+      name = "tarr";
+      packageName = "tarr";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tarr/-/tarr-1.1.0.tgz";
+        sha512 = "tENbQ43IQckay71stp1p1lljRhoEZpZk10FzEZKW2tJcMcnLwV3CfZdxBAERlH6nwnFvnHMS9eJOJl6IzSsG0g==";
+      };
+    };
     "taskkill-3.1.0" = {
       name = "taskkill";
       packageName = "taskkill";
@@ -62467,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";
@@ -62512,15 +63564,6 @@ let
         sha512 = "6u5UyW2KpMS/hwC4DKLGlicK/rVSYCahPFgF14ioP6BzwcDwQlciHCB/oWguvxLJaYGrvY6crzLHfjupFTBPXw==";
       };
     };
-    "telegraf-4.5.2" = {
-      name = "telegraf";
-      packageName = "telegraf";
-      version = "4.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/telegraf/-/telegraf-4.5.2.tgz";
-        sha512 = "OG68wQqYQQq2ldzAMv6JJUkh9XU+4mWRgHinMeJ8FoRA5ZZuA4WauqRFi8aY/OQiwJM2gTT2XWCfopN2dZWDNw==";
-      };
-    };
     "temp-0.6.0" = {
       name = "temp";
       packageName = "temp";
@@ -62575,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";
@@ -62647,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";
@@ -62773,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" = {
@@ -62800,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";
@@ -62845,13 +63879,13 @@ let
         sha1 = "be68d47a5146b16dd116278c9aeb7bd35631ccda";
       };
     };
-    "textlint-rule-helper-2.2.0" = {
+    "textlint-rule-helper-2.2.1" = {
       name = "textlint-rule-helper";
       packageName = "textlint-rule-helper";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.2.0.tgz";
-        sha512 = "9S5CsgQuQwPjM2wvr4JGdpkLf+pR9gOjedSQFa/Dkrbh+D9MXt1LIR4Jvx1RujKtt2nq42prmEX2q3xOxyUcIQ==";
+        url = "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.2.1.tgz";
+        sha512 = "pdX3uNbFzQTgINamaBpEHRT/MgROHev5wCnQnUTXRLT5DaRjls0Rmpi5d1MPZG6HT5NKVL++Q2J0FUbh5shi3Q==";
       };
     };
     "textlint-util-to-string-2.1.1" = {
@@ -62881,6 +63915,33 @@ let
         sha512 = "eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==";
       };
     };
+    "thelounge-3.3.0" = {
+      name = "thelounge";
+      packageName = "thelounge";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thelounge/-/thelounge-3.3.0.tgz";
+        sha512 = "F7qYCmAkb/HPFxZfyKi/gEm24ZzjgUzJb+zI5I5u8b5PNJrfi9RwFb3cmE4pvF2Ft0QejR5O4khuX6DEFFxYDw==";
+      };
+    };
+    "thelounge-4.2.0" = {
+      name = "thelounge";
+      packageName = "thelounge";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thelounge/-/thelounge-4.2.0.tgz";
+        sha512 = "5hijX1V/4CrgrkqCqtwP32LSbLPSF/10nneI+2doPHKx7AdCgR52HqWZo0AQEPv4fvOqEOMLJ0c9pL6t/jUDwg==";
+      };
+    };
+    "thelounge-4.3.0" = {
+      name = "thelounge";
+      packageName = "thelounge";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thelounge/-/thelounge-4.3.0.tgz";
+        sha512 = "dkVdH21q9vipV7UU10qQQprPuP8rG+IDJSHUtmOC0WDYvwYTiUC9IYLIpkyWdgfwFYegDTnnR4duHNZynqOXTA==";
+      };
+    };
     "then-fs-2.0.0" = {
       name = "then-fs";
       packageName = "then-fs";
@@ -62890,6 +63951,15 @@ let
         sha1 = "72f792dd9d31705a91ae19ebfcf8b3f968c81da2";
       };
     };
+    "thenby-1.3.4" = {
+      name = "thenby";
+      packageName = "thenby";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz";
+        sha512 = "89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==";
+      };
+    };
     "thenify-3.3.1" = {
       name = "thenify";
       packageName = "thenify";
@@ -62926,13 +63996,13 @@ let
         sha1 = "4ca2fffc02a51290d2744b9e3f557693ca6b627a";
       };
     };
-    "thread-stream-0.13.0" = {
+    "thread-stream-0.13.1" = {
       name = "thread-stream";
       packageName = "thread-stream";
-      version = "0.13.0";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/thread-stream/-/thread-stream-0.13.0.tgz";
-        sha512 = "kTMZeX4Dzlb1zZ00/01aerGaTw2i8NE4sWF0TvF1uXewRhCiUjCvatQkvxIvFqauWG2ADFS2Wpd3qBeYL9i3dg==";
+        url = "https://registry.npmjs.org/thread-stream/-/thread-stream-0.13.1.tgz";
+        sha512 = "+KNCqNxOSwYfXLtCIRDKQq29x9jvqnOFjYCPdB38sf4pT3QanPSNc8vRqMj+Q3z4tYIctb5opNZrMK/GwmgsAQ==";
       };
     };
     "thriftrw-3.12.0" = {
@@ -63034,15 +64104,6 @@ let
         sha1 = "f41a1c31df5e129e4314446f66eca05cd6a30480";
       };
     };
-    "through2-2.0.1" = {
-      name = "through2";
-      packageName = "through2";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz";
-        sha1 = "384e75314d49f32de12eebb8136b8eb6b5d59da9";
-      };
-    };
     "through2-2.0.5" = {
       name = "through2";
       packageName = "through2";
@@ -63277,6 +64338,15 @@ let
         sha512 = "FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==";
       };
     };
+    "tiny-secp256k1-2.2.0" = {
+      name = "tiny-secp256k1";
+      packageName = "tiny-secp256k1";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-2.2.0.tgz";
+        sha512 = "2hPuUGCroLrxh6xxwoe+1RgPpOOK1w2uTnhgiHBpvoutBR+krNuT4hOXQyOaaYnZgoXBB6hBYkuAJHxyeBOPzQ==";
+      };
+    };
     "tinycolor-0.0.1" = {
       name = "tinycolor";
       packageName = "tinycolor";
@@ -63331,6 +64401,24 @@ let
         sha512 = "W/YVH/QczLUxVjnQhFC61Iq232NWu3TqDdO0S/MtXVz4xybejBov4ud+CIwN9aYqjOecEqIy0PscGkwpG9ZyTw==";
       };
     };
+    "tlds-1.203.1" = {
+      name = "tlds";
+      packageName = "tlds";
+      version = "1.203.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tlds/-/tlds-1.203.1.tgz";
+        sha512 = "7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw==";
+      };
+    };
+    "tlds-1.208.0" = {
+      name = "tlds";
+      packageName = "tlds";
+      version = "1.208.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tlds/-/tlds-1.208.0.tgz";
+        sha512 = "6kbY7GJpRQXwBddSOAbVUZXjObbCGFXliWWN+kOSEoRWIOyRWLB6zdeKC/Tguwwenl/KsUx016XR50EdHYsxZw==";
+      };
+    };
     "tlds-1.216.0" = {
       name = "tlds";
       packageName = "tlds";
@@ -63538,15 +64626,6 @@ let
         sha1 = "fc92adaba072647bc0b67d6b03664aa195093af6";
       };
     };
-    "to-utf8-0.0.1" = {
-      name = "to-utf8";
-      packageName = "to-utf8";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz";
-        sha1 = "d17aea72ff2fba39b9e43601be7b3ff72e089852";
-      };
-    };
     "to-vfile-1.0.0" = {
       name = "to-vfile";
       packageName = "to-vfile";
@@ -63574,13 +64653,13 @@ let
         sha512 = "BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==";
       };
     };
-    "to-vfile-7.2.2" = {
+    "to-vfile-7.2.3" = {
       name = "to-vfile";
       packageName = "to-vfile";
-      version = "7.2.2";
+      version = "7.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/to-vfile/-/to-vfile-7.2.2.tgz";
-        sha512 = "7WL+coet3qyaYb5vrVrfLtOUHgNv9E1D5SIsyVKmHKcgZefy77WMQRk7FByqGKNInoHOlY6xkTGymo29AwjUKg==";
+        url = "https://registry.npmjs.org/to-vfile/-/to-vfile-7.2.3.tgz";
+        sha512 = "QO0A9aE6Z/YkmQadJ0syxpmNXtcQiu0qAtCKYKD5cS3EfgfFTAXfgLX6AOaBrSfWSek5nfsMf3gBZ9KGVFcLuw==";
       };
     };
     "toidentifier-1.0.0" = {
@@ -63646,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";
@@ -63754,15 +64824,6 @@ let
         sha1 = "42d88dd116618bcf00d6106dd5446f3427902ff1";
       };
     };
-    "totalist-2.0.0" = {
-      name = "totalist";
-      packageName = "totalist";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/totalist/-/totalist-2.0.0.tgz";
-        sha512 = "+Y17F0YzxfACxTyjfhnJQEe7afPA0GSpYlFkl2VFMxYP7jshQf9gXV7cH47EfToBumFThfKBvfAcoUn6fdNeRQ==";
-      };
-    };
     "touch-3.1.0" = {
       name = "touch";
       packageName = "touch";
@@ -64069,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";
@@ -64168,6 +65238,15 @@ let
         sha512 = "WHXLtFDcIRwoqaiu0elAoZ/AmI+SwwDafnPKjgJmdwJ2gRVO0jMKBt88rV2liT/c6MTsXyuWbGFiHe9MRddWJw==";
       };
     };
+    "ts-node-10.5.0" = {
+      name = "ts-node";
+      packageName = "ts-node";
+      version = "10.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-10.5.0.tgz";
+        sha512 = "6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw==";
+      };
+    };
     "ts-node-8.9.1" = {
       name = "ts-node";
       packageName = "ts-node";
@@ -64195,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";
@@ -64249,15 +65337,6 @@ let
         sha512 = "wAH28hcEKwna96/UacuWaVspVLkg4x1aDM9JlzqaQTOFczCktkVAb5fmXChgandR1EraDPs2w8P+ozM+oafwxg==";
       };
     };
-    "tslib-2.0.3" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz";
-        sha512 = "uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==";
-      };
-    };
     "tslib-2.1.0" = {
       name = "tslib";
       packageName = "tslib";
@@ -64429,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";
@@ -64528,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" = {
@@ -64681,13 +65769,49 @@ let
         sha512 = "yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==";
       };
     };
-    "type-fest-2.8.0" = {
+    "type-fest-2.10.0" = {
       name = "type-fest";
       packageName = "type-fest";
-      version = "2.8.0";
+      version = "2.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-2.10.0.tgz";
+        sha512 = "u2yreDMllFI3VCpWt0rKrGs/E2LO0YHBwiiOIj+ilQh9+ALMaa4lNBSdoDvuHN3cbKcYk9L1BXP49x9RT+o/SA==";
+      };
+    };
+    "type-fest-2.11.1" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "2.11.1";
+      src = fetchurl {
+        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" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "2.9.0";
       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.9.0.tgz";
+        sha512 = "uC0hJKi7eAGXUJ/YKk53RhnKxMwzHWgzf4t92oz8Qez28EBgVTfpDTB59y9hMYLzc/Wl85cD7Tv1hLZZoEJtrg==";
       };
     };
     "type-is-1.6.18" = {
@@ -64762,13 +65886,13 @@ let
         sha512 = "7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==";
       };
     };
-    "typegram-3.6.2" = {
+    "typegram-3.8.0" = {
       name = "typegram";
       packageName = "typegram";
-      version = "3.6.2";
+      version = "3.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typegram/-/typegram-3.6.2.tgz";
-        sha512 = "q222XE5vFtzhY8q+x+yl4oNhVqjDSAixwvnpmzze61i+u/eaKIrimT3xz/oJrCUmSvaROH1GNZS3jqDDDNp94A==";
+        url = "https://registry.npmjs.org/typegram/-/typegram-3.8.0.tgz";
+        sha512 = "MdlbWu0HfmgFJf4+xj6eqGYuanV2LJxBYTzLrD0kTV+woQ5dxDD2k8UVVjYnbBGkAagAyxzQevPiFZRWLFHSBw==";
       };
     };
     "typescript-2.9.2" = {
@@ -64816,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";
@@ -64834,22 +65949,13 @@ let
         sha512 = "uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==";
       };
     };
-    "typescript-4.3.5" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz";
-        sha512 = "DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==";
-      };
-    };
-    "typescript-4.5.4" = {
+    "typescript-4.5.5" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.5.4";
+      version = "4.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz";
-        sha512 = "VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
+        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
       };
     };
     "typescript-eslint-parser-16.0.1" = {
@@ -64906,6 +66012,42 @@ 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";
+      version = "0.7.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz";
+        sha512 = "8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==";
+      };
+    };
+    "ua-parser-js-0.7.21" = {
+      name = "ua-parser-js";
+      packageName = "ua-parser-js";
+      version = "0.7.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz";
+        sha512 = "+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==";
+      };
+    };
     "ua-parser-js-0.7.30" = {
       name = "ua-parser-js";
       packageName = "ua-parser-js";
@@ -64951,22 +66093,13 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uglify-js-3.14.4" = {
+    "uglify-js-3.15.1" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.14.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.4.tgz";
-        sha512 = "AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA==";
-      };
-    };
-    "uglify-js-3.14.5" = {
-      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" = {
@@ -65077,6 +66210,15 @@ let
         sha512 = "mliiCSrsE29aNBI7O9W5gGv6WmA9kBR8PtTt6Apaxns076IRdYrrtFhXHEWMj5CSum3U7cv7/pi4xmi4XsIOqg==";
       };
     };
+    "uint8array-tools-0.0.6" = {
+      name = "uint8array-tools";
+      packageName = "uint8array-tools";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uint8array-tools/-/uint8array-tools-0.0.6.tgz";
+        sha512 = "aIvEHNRX1AlOYAr6qSUjQBn4mCduxx6MtC967aRDTb2UUBPj0Ix2ZFQDcmXUUO/UxRPHcw1f5a5nVbCSKDSOqA==";
+      };
+    };
     "ultron-1.0.2" = {
       name = "ultron";
       packageName = "ultron";
@@ -65284,13 +66426,13 @@ let
         sha1 = "5e4bda308e4a8a2ae584f9b9a4359a499825cc50";
       };
     };
-    "undici-4.12.0" = {
+    "undici-4.14.1" = {
       name = "undici";
       packageName = "undici";
-      version = "4.12.0";
+      version = "4.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-4.12.0.tgz";
-        sha512 = "sJ4CyO3ZPaoxWpLQTJpH/gWD+tCIra2OJ9UPvrX1siyJkgh8NOAybRejJ/g2xHyOdAuoSE0lPRJwRl8AZSXYJQ==";
+        url = "https://registry.npmjs.org/undici/-/undici-4.14.1.tgz";
+        sha512 = "WJ+g+XqiZcATcBaUeluCajqy4pEDcQfK1vy+Fo+bC4/mqXI9IIQD/XWHLS70fkGUT6P52Drm7IFslO651OdLPQ==";
       };
     };
     "unherit-1.1.3" = {
@@ -65473,13 +66615,13 @@ let
         sha512 = "ZlMm62ejrf+tJHdyOjQfljszngQjRor95q2XZMGk6rpJUYi7ZIHY/EXEhOcj9PZkMKKdLIM+dqL4s0ceyk9wbA==";
       };
     };
-    "unified-engine-9.0.4" = {
+    "unified-engine-9.0.5" = {
       name = "unified-engine";
       packageName = "unified-engine";
-      version = "9.0.4";
+      version = "9.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-9.0.4.tgz";
-        sha512 = "NFI+jC3DWZ23eBsWkOW2havz47DPG/DSyJEvBH+qA5cQHF6zlgiJYev7ksb/naOypZZ+cfhaCxCRo2BqrysYEw==";
+        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-9.0.5.tgz";
+        sha512 = "frQ6lUNlkTwVC0JELJqSSITpE7MLrLJqAWmDrUFj5Do6A4/3n6eX5Jyg8fhe4Dbwwh38spqUJd39FtRFG34QWg==";
       };
     };
     "unified-lint-rule-1.0.6" = {
@@ -65491,15 +66633,6 @@ let
         sha512 = "YPK15YBFwnsVorDFG/u0cVVQN5G2a3V8zv5/N6KN3TCG+ajKtaALcy7u14DCSrJI+gZeyYquFL9cioJXOGXSvg==";
       };
     };
-    "unified-message-control-1.0.4" = {
-      name = "unified-message-control";
-      packageName = "unified-message-control";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz";
-        sha512 = "e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==";
-      };
-    };
     "unified-message-control-3.0.3" = {
       name = "unified-message-control";
       packageName = "unified-message-control";
@@ -65626,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";
@@ -65788,15 +66912,6 @@ let
         sha512 = "xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==";
       };
     };
-    "unist-util-remove-2.1.0" = {
-      name = "unist-util-remove";
-      packageName = "unist-util-remove";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz";
-        sha512 = "J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==";
-      };
-    };
     "unist-util-remove-position-1.1.4" = {
       name = "unist-util-remove-position";
       packageName = "unist-util-remove-position";
@@ -65941,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" = {
@@ -66031,15 +67146,6 @@ let
         sha1 = "c546e8f88e317a0cf2644c97ecb57dba66d250ef";
       };
     };
-    "unordered-set-1.1.0" = {
-      name = "unordered-set";
-      packageName = "unordered-set";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unordered-set/-/unordered-set-1.1.0.tgz";
-        sha1 = "2ba7ef316edd0b9590cc547c74f76a2f164fecca";
-      };
-    };
     "unordered-set-2.0.1" = {
       name = "unordered-set";
       packageName = "unordered-set";
@@ -66130,6 +67236,15 @@ let
         sha512 = "KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==";
       };
     };
+    "unxhr-1.0.1" = {
+      name = "unxhr";
+      packageName = "unxhr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz";
+        sha512 = "MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==";
+      };
+    };
     "unyield-0.0.1" = {
       name = "unyield";
       packageName = "unyield";
@@ -66319,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" = {
@@ -66418,13 +67533,22 @@ let
         sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
       };
     };
-    "url-parse-1.5.3" = {
+    "url-parse-1.5.9" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.5.3";
+      version = "1.5.9";
+      src = fetchurl {
+        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" = {
+      name = "url-parse-as-address";
+      packageName = "url-parse-as-address";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz";
-        sha512 = "IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==";
+        url = "https://registry.npmjs.org/url-parse-as-address/-/url-parse-as-address-1.0.0.tgz";
+        sha1 = "fb80901883f338b3cbed3538f5faa26adaf7f2e7";
       };
     };
     "url-parse-lax-1.0.0" = {
@@ -66463,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" = {
@@ -66581,13 +67705,13 @@ let
         sha1 = "8bb871a4741e085c70487ca7acdbd7d6d36029eb";
       };
     };
-    "utf-8-validate-5.0.7" = {
+    "utf-8-validate-5.0.8" = {
       name = "utf-8-validate";
       packageName = "utf-8-validate";
-      version = "5.0.7";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz";
-        sha512 = "vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==";
+        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz";
+        sha512 = "k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA==";
       };
     };
     "utf7-1.0.2" = {
@@ -66779,15 +67903,6 @@ let
         sha1 = "ae43eb7745f5fe63dcc2f277cb4164ad27087f30";
       };
     };
-    "utp-native-1.7.3" = {
-      name = "utp-native";
-      packageName = "utp-native";
-      version = "1.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utp-native/-/utp-native-1.7.3.tgz";
-        sha512 = "vRAKaS8WcYNgzbxyH2LdheqgL4sQLis8LXl7r/mN+O4mpWlUpoCsTtietxepLrft2q0TFA2gaIvSWN1iRkzW/w==";
-      };
-    };
     "utp-native-2.5.3" = {
       name = "utp-native";
       packageName = "utp-native";
@@ -66806,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";
@@ -66833,6 +67939,15 @@ let
         sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
       };
     };
+    "uuid-3.3.3" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz";
+        sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==";
+      };
+    };
     "uuid-3.4.0" = {
       name = "uuid";
       packageName = "uuid";
@@ -66860,6 +67975,15 @@ let
         sha512 = "CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==";
       };
     };
+    "uuid-8.3.0" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "8.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz";
+        sha512 = "fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==";
+      };
+    };
     "uuid-8.3.2" = {
       name = "uuid";
       packageName = "uuid";
@@ -66869,13 +67993,13 @@ let
         sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
       };
     };
-    "uvu-0.5.2" = {
+    "uvu-0.5.3" = {
       name = "uvu";
       packageName = "uvu";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uvu/-/uvu-0.5.2.tgz";
-        sha512 = "m2hLe7I2eROhh+tm3WE5cTo/Cv3WQA7Oc9f7JB6uWv+/zVKvfAm53bMyOoGOSZeQ7Ov2Fu9pLhFr7p07bnT20w==";
+        url = "https://registry.npmjs.org/uvu/-/uvu-0.5.3.tgz";
+        sha512 = "brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==";
       };
     };
     "v8-compile-cache-2.3.0" = {
@@ -66887,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";
@@ -66977,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";
@@ -67031,24 +68173,6 @@ let
         sha1 = "d2bd5c66db76c13879d96e6a306edc989df978da";
       };
     };
-    "varint-0.0.3" = {
-      name = "varint";
-      packageName = "varint";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/varint/-/varint-0.0.3.tgz";
-        sha1 = "b821de9b04b38b3cd22f72c18d94a9fb72ab3518";
-      };
-    };
-    "varint-3.0.1" = {
-      name = "varint";
-      packageName = "varint";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/varint/-/varint-3.0.1.tgz";
-        sha1 = "9d3f53e036c0ab12000a74bc2d24cbf093a581d9";
-      };
-    };
     "varint-4.0.1" = {
       name = "varint";
       packageName = "varint";
@@ -67355,13 +68479,13 @@ let
         sha512 = "JGBhm5Bf6fiGTUSB5Qr5ckw/KU9FJcSV5xIe/y4IobM/i/KNwI1i1fP45LzP4F4yZc0DMTwJod2UvFHGk9plKA==";
       };
     };
-    "vega-typings-0.22.1" = {
+    "vega-typings-0.22.2" = {
       name = "vega-typings";
       packageName = "vega-typings";
-      version = "0.22.1";
+      version = "0.22.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vega-typings/-/vega-typings-0.22.1.tgz";
-        sha512 = "88cIrjmoTxo/0nWTf+GuitkFhirHWVWCfymADiCUXt6s9arpQ6XPP5xjrN5KDc0LZd9xr7p4FIiEgADghgLTgw==";
+        url = "https://registry.npmjs.org/vega-typings/-/vega-typings-0.22.2.tgz";
+        sha512 = "op4bNiyS150V7gnuIdjwFYB1belYB8qnapqLQQ+ZBJQ+r7a+IbvXphEUf8AkBlOoGPN1ITNdhlIsq9WWiuxu8Q==";
       };
     };
     "vega-util-1.17.0" = {
@@ -67418,13 +68542,13 @@ let
         sha512 = "/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==";
       };
     };
-    "verda-1.4.3" = {
+    "verda-1.5.0" = {
       name = "verda";
       packageName = "verda";
-      version = "1.4.3";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/verda/-/verda-1.4.3.tgz";
-        sha512 = "zj/pnwAFnHabaQLadBWCu6QqxbZ28IPb5XiKPoIBaP9g6kOpqsimkEjFUa8E/ixFiV9NSK60VEz5JnG0IpMWLw==";
+        url = "https://registry.npmjs.org/verda/-/verda-1.5.0.tgz";
+        sha512 = "TjZ0q140lfBcKp4QzODbOeZS2rJVRhKl+5AxMEuJ//4uMXQzoLQbZic4fkR011d3GWfKk+m7/3IsviWg2vn9sQ==";
       };
     };
     "verror-1.1.0" = {
@@ -67517,13 +68641,13 @@ let
         sha512 = "O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==";
       };
     };
-    "vfile-5.2.0" = {
+    "vfile-5.3.0" = {
       name = "vfile";
       packageName = "vfile";
-      version = "5.2.0";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile/-/vfile-5.2.0.tgz";
-        sha512 = "ftCpb6pU8Jrzcqku8zE6N3Gi4/RkDhRwEXSWudzZzA2eEOn/cBpsfk9aulCUR+j1raRSAykYQap9u6j6rhUaCA==";
+        url = "https://registry.npmjs.org/vfile/-/vfile-5.3.0.tgz";
+        sha512 = "Tj44nY/48OQvarrE4FAjUfrv7GZOYzPbl5OD65HxVKwLJKMPU7zmfV8cCgCnzKWnSfYG2f3pxu+ALqs7j22xQQ==";
       };
     };
     "vfile-find-down-1.0.0" = {
@@ -67607,13 +68731,13 @@ let
         sha512 = "DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==";
       };
     };
-    "vfile-message-3.0.2" = {
+    "vfile-message-3.1.0" = {
       name = "vfile-message";
       packageName = "vfile-message";
-      version = "3.0.2";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-3.0.2.tgz";
-        sha512 = "UUjZYIOg9lDRwwiBAuezLIsu9KlXntdxwG+nXnjuQAHvBpcX3x0eN8h+I7TkY5nkCXj+cWVp4ZqebtGBvok8ww==";
+        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.0.tgz";
+        sha512 = "4QJbBk+DkPEhBXq3f260xSaWtjE4gPKOfulzfMFF8ZNwaPZieWsg3iVlcmF04+eebzpcpeXOOFMfrYzJHVYg+g==";
       };
     };
     "vfile-reporter-1.5.0" = {
@@ -67832,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" = {
@@ -67904,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" = {
@@ -67994,15 +69118,6 @@ let
         sha512 = "PgaToZVXJ44nFWEBuSINdDgVV6EnpC3MnXBsysR3O5TKcAfywbYeRGRy+Y4dVR7YeUgDvtb+JkJoSkaYC0mxXQ==";
       };
     };
-    "vscode-json-languageserver-1.3.4" = {
-      name = "vscode-json-languageserver";
-      packageName = "vscode-json-languageserver";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageserver/-/vscode-json-languageserver-1.3.4.tgz";
-        sha512 = "+ghebnslXk6fVDySBrT0BVqozLDdmKY/qxgkDD4JtOQcU2vXc3e7jh7YyMxvuvE93E9OLvBqUrvajttj8xf3BA==";
-      };
-    };
     "vscode-json-languageservice-3.11.0" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
@@ -68012,31 +69127,22 @@ let
         sha512 = "QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA==";
       };
     };
-    "vscode-json-languageservice-4.1.0" = {
-      name = "vscode-json-languageservice";
-      packageName = "vscode-json-languageservice";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.0.tgz";
-        sha512 = "QW2SFk4kln5lTPQajGNuXWtmr2z9hVA6Sfi4qPFEW2vjt2XaUAp38/1OrcUQYiJXOyXntbWN2jZJaGxg+hDUxw==";
-      };
-    };
-    "vscode-json-languageservice-4.1.10" = {
+    "vscode-json-languageservice-4.1.8" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
-      version = "4.1.10";
+      version = "4.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.10.tgz";
-        sha512 = "IHliMEEYSY0tJjJt0ECb8ESx/nRXpoy9kN42WVQXgaqGyizFAf3jibSiezDQTrrY7f3kywXggCU+kkJEM+OLZQ==";
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz";
+        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" = {
@@ -68111,13 +69217,13 @@ let
         sha512 = "gxUyTBAjmwGkiHW/UaRScre2s4i98P8M7gnc3VB4DrVQUm3vQ0idi2cN9nbkfcjATx+uEt8C22j+MLN/8UzsJA==";
       };
     };
-    "vscode-jsonrpc-8.0.0-next.4" = {
+    "vscode-jsonrpc-8.0.0-next.6" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "8.0.0-next.4";
+      version = "8.0.0-next.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.4.tgz";
-        sha512 = "i+wvza5Wd0YV/t9qhnS8I+dJdhJ1fHIhRW4f262rXXM9Mgts5VZhYrRZufGcai4y99RlbZvwaZhplQ6diRXkaA==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.6.tgz";
+        sha512 = "6Ld3RYjygn5Ih7CkAtcAwiDQC+rakj2O+PnASfNyYv3sLmm44eJpEKzuPUN30Iy2UB09AZg8T6LBKWTJTEJDVw==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -68219,13 +69325,13 @@ let
         sha512 = "/65lxR/CuLJoOdzTjOTYUPWS7k5qzaWese4PObnWc6jwLryUrSa7DslYfaRXigh5/xr1nlaUZCcJwkpgM0wFvw==";
       };
     };
-    "vscode-languageserver-8.0.0-next.5" = {
+    "vscode-languageserver-8.0.0-next.8" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "8.0.0-next.5";
+      version = "8.0.0-next.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.5.tgz";
-        sha512 = "3E2W0eWtGKb6QAJqspOnD0thrBRRo8IGUMV5jpDNMcMKvmtkcxMwsBh0VxdvuWaZ51PiNyR4L+B+GUvkYsyFEg==";
+        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" = {
@@ -68264,13 +69370,13 @@ let
         sha512 = "atmkGT/W6tF0cx4SaWFYtFs2UeSeC28RPiap9myv2YZTaTCFvTBEPNWrU5QRKfkyM0tbgtGo6T3UCQ8tkDpjzA==";
       };
     };
-    "vscode-languageserver-protocol-3.17.0-next.11" = {
+    "vscode-languageserver-protocol-3.17.0-next.14" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.17.0-next.11";
+      version = "3.17.0-next.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.11.tgz";
-        sha512 = "9FqHT7XvM6tWFsnLvRfuQA7Zh7wZZYAwA9dK85lYthA8M1aXpXEP9drXVvO/Fe03MUeJpKVf2e4/NvDaFUnttg==";
+        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" = {
@@ -68318,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" = {
@@ -68390,13 +69496,13 @@ let
         sha512 = "VQcXnhKYxUW6OiRMhG++SzmZYMJwusXknJGd+FfdOnS1yHAo734OHyR0e2eEHDlv0/oWc8RZPgx/VKSKyondVg==";
       };
     };
-    "vscode-languageserver-types-3.17.0-next.5" = {
+    "vscode-languageserver-types-3.17.0-next.7" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
-      version = "3.17.0-next.5";
+      version = "3.17.0-next.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.5.tgz";
-        sha512 = "Zcfaw8BznhlJWB09LDR0dscXyxn9+liREqJnPF4pigeUCHwKxYapYqizwuCpMHQ/oLYiAvKwU+f28hPleYu7pA==";
+        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" = {
@@ -68489,13 +69595,13 @@ let
         sha512 = "8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==";
       };
     };
-    "vscode-uri-3.0.2" = {
+    "vscode-uri-3.0.3" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.2.tgz";
-        sha512 = "jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==";
+        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz";
+        sha512 = "EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==";
       };
     };
     "vstream-0.1.0" = {
@@ -68552,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";
@@ -68687,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";
@@ -68741,22 +69829,22 @@ 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.0" = {
+    "wawoff2-2.0.1" = {
       name = "wawoff2";
       packageName = "wawoff2";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wawoff2/-/wawoff2-2.0.0.tgz";
-        sha512 = "5gjFj+fyQO9cMrg5vYaVM7+T37xSHpqUWM/S6UCEiBx8wRmfpvuhYjPM3toB2UujpmWQt1hSPKRo/jIRE/j9Eg==";
+        url = "https://registry.npmjs.org/wawoff2/-/wawoff2-2.0.1.tgz";
+        sha512 = "r0CEmvpH63r4T15ebFqeOjGqU4+EgTx4I510NtK35EMciSdcTxCw3Byy3JnBonz7iyIFZ0AbVo0bbFpEVuhCYA==";
       };
     };
     "wbuf-1.7.3" = {
@@ -68804,6 +69892,24 @@ let
         sha512 = "bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==";
       };
     };
+    "web-push-3.4.1" = {
+      name = "web-push";
+      packageName = "web-push";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/web-push/-/web-push-3.4.1.tgz";
+        sha512 = "wtx18llPtWWW+x8hv+Gxvz+2VjO+vZuyihInsjySNpNGNVswH1Bb2KkbbCtE96yi52VUmbFMdidxM8kJAPaSWQ==";
+      };
+    };
+    "web-push-3.4.4" = {
+      name = "web-push";
+      packageName = "web-push";
+      version = "3.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/web-push/-/web-push-3.4.4.tgz";
+        sha512 = "tB0F+ccobsfw5jTWBinWJKyd/YdCdRbKj+CFSnsJeEgFYysOULvWFYyeCxn9KuQvG/3UF1t3cTAcJzBec5LCWA==";
+      };
+    };
     "web-push-3.4.5" = {
       name = "web-push";
       packageName = "web-push";
@@ -68849,13 +69955,13 @@ let
         sha512 = "8G0xBj05hqZybCqBtW7RPZ/hWEtP3DiLTauQzGJZuZYfVRgw7qj7iaZ+8djNqJ4VPrdOO+pS2dR1JsTbsLxdYg==";
       };
     };
-    "web3-utils-1.6.1" = {
+    "web3-utils-1.7.0" = {
       name = "web3-utils";
       packageName = "web3-utils";
-      version = "1.6.1";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.6.1.tgz";
-        sha512 = "RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w==";
+        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz";
+        sha512 = "O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==";
       };
     };
     "webassemblyjs-1.11.1" = {
@@ -68957,13 +70063,22 @@ let
         sha512 = "6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==";
       };
     };
-    "webpack-5.65.0" = {
+    "webpack-5.66.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.65.0";
+      version = "5.66.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz";
-        sha512 = "Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz";
+        sha512 = "NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==";
+      };
+    };
+    "webpack-5.69.1" = {
+      name = "webpack";
+      packageName = "webpack";
+      version = "5.69.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.69.1.tgz";
+        sha512 = "+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -68984,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" = {
@@ -69011,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" = {
@@ -69101,13 +70216,13 @@ let
         sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
       };
     };
-    "webpack-sources-3.2.2" = {
+    "webpack-sources-3.2.3" = {
       name = "webpack-sources";
       packageName = "webpack-sources";
-      version = "3.2.2";
+      version = "3.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz";
-        sha512 = "cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==";
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz";
+        sha512 = "/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==";
       };
     };
     "webpack-stream-6.1.0" = {
@@ -69164,13 +70279,13 @@ let
         sha512 = "7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==";
       };
     };
-    "webtorrent-1.5.8" = {
+    "webtorrent-1.8.2" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.5.8";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.5.8.tgz";
-        sha512 = "ltYdloqDamay36XN8FZ+O2fqRQNDt+JGhRbOt1gCBeC+fFhke3WxEVs3/A2UtKjhwN8OEp3Go7tWU9R0S+29Lw==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.2.tgz";
+        sha512 = "rQfrYF/2pq81c8whgTEQtqMlp0HosA4yB7R4EUq+6Q0087bO2GbDxiBKTIZuBcMUgK+2jq/+TgTdXnZ9cBabcw==";
       };
     };
     "whatwg-encoding-1.0.5" = {
@@ -69371,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" = {
@@ -69497,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";
@@ -69641,31 +70747,40 @@ let
         sha512 = "TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==";
       };
     };
-    "winston-3.2.1" = {
+    "winston-3.3.3" = {
       name = "winston";
       packageName = "winston";
-      version = "3.2.1";
+      version = "3.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz";
-        sha512 = "zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz";
+        sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
       };
     };
-    "winston-3.3.3" = {
+    "winston-3.5.1" = {
       name = "winston";
       packageName = "winston";
-      version = "3.3.3";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz";
-        sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.5.1.tgz";
+        sha512 = "tbRtVy+vsSSCLcZq/8nXZaOie/S2tPXPFt4be/Q3vI/WtYwm7rrwidxVw2GRa38FIXcJ1kUM6MOZ9Jmnk3F3UA==";
+      };
+    };
+    "winston-3.6.0" = {
+      name = "winston";
+      packageName = "winston";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
+        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
       };
     };
-    "winston-transport-4.4.1" = {
+    "winston-transport-4.5.0" = {
       name = "winston-transport";
       packageName = "winston-transport";
-      version = "4.4.1";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.1.tgz";
-        sha512 = "ciZRlU4CSjHqHe8RQG1iPxKMRVwv6ZJ0RC7DxStKWd0KjpAhPDy5gVYSCpIUq+5CUsP+IyNOTZy1X0tO2QZqjg==";
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz";
+        sha512 = "YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==";
       };
     };
     "with-5.1.1" = {
@@ -69767,13 +70882,13 @@ let
         sha512 = "toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==";
       };
     };
-    "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-2.1.0" = {
@@ -69911,6 +71026,15 @@ let
         sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     };
+    "write-file-atomic-4.0.1" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz";
+        sha512 = "nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==";
+      };
+    };
     "write-good-1.0.8" = {
       name = "write-good";
       packageName = "write-good";
@@ -70037,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" = {
@@ -70064,13 +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.5.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "8.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz";
+        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
+      };
+    };
+    "wtfnode-0.8.4" = {
+      name = "wtfnode";
+      packageName = "wtfnode";
+      version = "0.8.4";
+      src = fetchurl {
+        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" = {
@@ -70163,13 +71305,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.2.20" = {
+    "xdl-59.2.29" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.2.20";
+      version = "59.2.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.20.tgz";
-        sha512 = "wP9zY0/yRoOvSMlaoIhpZXQKrtNNjDDFop4TT/Mvrjy5dqQHY6+eB5w0Jla74W+wHSBzcRPBxtRpqwcAl3Q6TA==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.29.tgz";
+        sha512 = "qwLdMdv7AR3Tz9rud/Dro2TQFlhZHLN9GIN4+TKKcz9M9mkeoqZAFbDEt+7MyDUKQ644iBpSvShjMdyRA7M+aQ==";
       };
     };
     "xenvar-0.5.1" = {
@@ -70424,15 +71566,6 @@ let
         sha512 = "yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==";
       };
     };
-    "xmldom-0.3.0" = {
-      name = "xmldom";
-      packageName = "xmldom";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.3.0.tgz";
-        sha512 = "z9s6k3wxE+aZHgXYxSTpGDo7BYOUfJsIRyoZiX6HTjwpwfS2wpQBQKa2fD+ShLyPkqDYo5ud7KitmLZ2Cd6r0g==";
-      };
-    };
     "xmldom-0.5.0" = {
       name = "xmldom";
       packageName = "xmldom";
@@ -70442,24 +71575,6 @@ let
         sha512 = "Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==";
       };
     };
-    "xmldom-0.6.0" = {
-      name = "xmldom";
-      packageName = "xmldom";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.6.0.tgz";
-        sha512 = "iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==";
-      };
-    };
-    "xmlhttprequest-1.8.0" = {
-      name = "xmlhttprequest";
-      packageName = "xmlhttprequest";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz";
-        sha1 = "67fe075c5c24fef39f9d65f5f7b7fe75171968fc";
-      };
-    };
     "xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" = {
       name = "xmlhttprequest";
       packageName = "xmlhttprequest";
@@ -70587,15 +71702,6 @@ let
         sha512 = "qmoqrRksmzqSKvgqzN0055UFWY7OKx1/9JWeRswwEVX9fCG5jcYRxa/A2DHcmZX6VJvjzHRQ2STeeVcQkrmLSw==";
       };
     };
-    "xstate-4.26.1" = {
-      name = "xstate";
-      packageName = "xstate";
-      version = "4.26.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xstate/-/xstate-4.26.1.tgz";
-        sha512 = "JLofAEnN26l/1vbODgsDa+Phqa61PwDlxWu8+2pK+YbXf+y9pQSDLRvcYH2H1kkeUBA5fGp+xFL/zfE8jNMw4g==";
-      };
-    };
     "xstream-11.14.0" = {
       name = "xstream";
       packageName = "xstream";
@@ -70686,22 +71792,13 @@ let
         sha512 = "r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==";
       };
     };
-    "yaml-2.0.0-8" = {
+    "yaml-2.0.0-10" = {
       name = "yaml";
       packageName = "yaml";
-      version = "2.0.0-8";
+      version = "2.0.0-10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yaml/-/yaml-2.0.0-8.tgz";
-        sha512 = "QaYgJZMfWD6fKN/EYMk6w1oLWPCr1xj9QaPSZW5qkDb3y8nGCXhy2Ono+AF4F+CSL/vGcqswcAT0BaS//pgD2A==";
-      };
-    };
-    "yaml-2.0.0-9" = {
-      name = "yaml";
-      packageName = "yaml";
-      version = "2.0.0-9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml/-/yaml-2.0.0-9.tgz";
-        sha512 = "Bf2KowHjyVkIIiGMt7+fbhmlvKOaE8DWuD07bnL4+FQ9sPmEl/5IzGpBpoxPqOaHuyasBjJhyXDcISpJWfhCGw==";
+        url = "https://registry.npmjs.org/yaml/-/yaml-2.0.0-10.tgz";
+        sha512 = "FHV8s5ODFFQXX/enJEU2EkanNl1UDBUz8oa4k5Qo/sR+Iq7VmhCDkRMb0/mjJCNeAWQ31W8WV6PYStDE4d9EIw==";
       };
     };
     "yaml-ast-parser-0.0.43" = {
@@ -70713,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";
@@ -70749,24 +71837,6 @@ let
         sha1 = "87cfa5a9613f48e26005420d6a8ee0da6fe8daec";
       };
     };
-    "yaml-language-server-0.20.0" = {
-      name = "yaml-language-server";
-      packageName = "yaml-language-server";
-      version = "0.20.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.20.0.tgz";
-        sha512 = "JV5jqB/1p2g4WCW1Gi6Kd3RQQSepdvTQBIDLSSoVzi7Q7kH+6tFkFJlMCBs0qmxLPkaU062d3IxdTWDK/MvvEA==";
-      };
-    };
-    "yaml-language-server-parser-0.1.2" = {
-      name = "yaml-language-server-parser";
-      packageName = "yaml-language-server-parser";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml-language-server-parser/-/yaml-language-server-parser-0.1.2.tgz";
-        sha512 = "GQ2eRE5GcKBK8XVKBIcMyOfC8WMZmEs6gogtVc6knLKE6pG+e5L/lOMfBxZzAt2lqye5itMggQ9+6stXAVhMsw==";
-      };
-    };
     "yamljs-0.3.0" = {
       name = "yamljs";
       packageName = "yamljs";
@@ -70857,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";
@@ -70884,13 +71945,13 @@ let
         sha512 = "XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==";
       };
     };
-    "yargs-17.3.0" = {
+    "yargs-17.3.1" = {
       name = "yargs";
       packageName = "yargs";
-      version = "17.3.0";
+      version = "17.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.3.0.tgz";
-        sha512 = "GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz";
+        sha512 = "WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==";
       };
     };
     "yargs-3.10.0" = {
@@ -71064,15 +72125,6 @@ let
         sha1 = "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077";
       };
     };
-    "yargs-unparser-1.6.0" = {
-      name = "yargs-unparser";
-      packageName = "yargs-unparser";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz";
-        sha512 = "W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==";
-      };
-    };
     "yargs-unparser-2.0.0" = {
       name = "yargs-unparser";
       packageName = "yargs-unparser";
@@ -71082,6 +72134,15 @@ let
         sha512 = "7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==";
       };
     };
+    "yarn-1.19.1" = {
+      name = "yarn";
+      packageName = "yarn";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.19.1.tgz";
+        sha512 = "gBnfbL9rYY05Gt0cjJhs/siqQXHYlZalTjK3nXn2QO20xbkIFPob+LlH44ML47GcR4VU9/2dYck1BWFM0Javxw==";
+      };
+    };
     "yarn-1.22.10" = {
       name = "yarn";
       packageName = "yarn";
@@ -71100,6 +72161,15 @@ let
         sha512 = "H0p241BXaH0UN9IeH//RT82tl5PfNraVpSpEoW+ET7lmopNC61eZ+A+IDvU8FM6Go5vx162SncDL8J1ZjRBriQ==";
       };
     };
+    "yarn-1.22.4" = {
+      name = "yarn";
+      packageName = "yarn";
+      version = "1.22.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.22.4.tgz";
+        sha512 = "oYM7hi/lIWm9bCoDMEWgffW8aiNZXCWeZ1/tGy0DWrN6vmzjCXIKu2Y21o8DYVBUtiktwKcNoxyGl/2iKLUNGA==";
+      };
+    };
     "yarn-or-npm-3.0.1" = {
       name = "yarn-or-npm";
       packageName = "yarn-or-npm";
@@ -71154,22 +72224,22 @@ let
         sha512 = "9Ni+uXWeFix9+1t7s1q40zZdbcpdi/OwgD4N4cVaqI+bppPciOOXQ/RSggannwZu8m8zrSWELn6/93G7308jgg==";
       };
     };
-    "yeoman-environment-3.8.1" = {
+    "yeoman-environment-3.9.1" = {
       name = "yeoman-environment";
       packageName = "yeoman-environment";
-      version = "3.8.1";
+      version = "3.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.8.1.tgz";
-        sha512 = "UM42p60GcJOwPfL63yBwBiiZiZ4p7taEjR5B+XdEu+sf73T+510gxiAqYuTCDOVTYBqhywVpZoWEnR+HtshiBA==";
+        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.9.1.tgz";
+        sha512 = "IdRnbQt/DSOSnao0oD9c+or1X2UrL+fx9eC0O7Lq/MGZV68nhv9k77MqG+hEAySPSlyCpocVlhfQwV62hczk5Q==";
       };
     };
-    "yeoman-generator-5.4.2" = {
+    "yeoman-generator-5.6.1" = {
       name = "yeoman-generator";
       packageName = "yeoman-generator";
-      version = "5.4.2";
+      version = "5.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.4.2.tgz";
-        sha512 = "xgS3A4r5VoEYq3vPdk1fWPVZ30y5NHlT2hn0OEyhKG79xojCtPkPkfWcKQamgvC9QLhaotVGvambBxwxwBeDTg==";
+        url = "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.6.1.tgz";
+        sha512 = "XllgFvmDEwoPMq2rKtL4/N52WlINJW6a3I3XtlCrMb3/dqO5dW0nPNgR0L3IIUIdf9y1EHb1ZFMs2Qp3ZEEFxg==";
       };
     };
     "yesno-0.3.1" = {
@@ -71181,6 +72251,15 @@ let
         sha512 = "7RbCXegyu6DykWPWU0YEtW8gFJH8KBL2d5l2fqB0XpkH0Y9rk59YSSWpzEv7yNJBGAouPc67h3kkq0CZkpBdFw==";
       };
     };
+    "ylru-1.2.1" = {
+      name = "ylru";
+      packageName = "ylru";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz";
+        sha512 = "faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==";
+      };
+    };
     "yn-3.1.1" = {
       name = "yn";
       packageName = "yn";
@@ -71199,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";
@@ -71349,38 +72437,38 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "13.1.2";
+    version = "13.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.1.2.tgz";
-      sha512 = "jEsQWzHgODFpppWGb49jfqlN8YYhphsKY3MPHlrjmd05qWgKItUGSgA46hSoDqjaJKVUN9koUnJBFCc9utERYA==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.2.4.tgz";
+      sha512 = "Llk0RzrpzCsAIgX4wk8QIB7xZInyLT07r6gF9dc9b0latHsJyRpeZXdPcFmT2wny0cin+1Y9q6HsBe4Srs19SA==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1301.2"
-      sources."@angular-devkit/core-13.1.2"
-      sources."@angular-devkit/schematics-13.1.2"
-      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.2"
+      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.1.4"
+      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"
@@ -71422,13 +72510,13 @@ 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.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
@@ -71444,12 +72532,12 @@ in
       sources."ini-2.0.0"
       (sources."inquirer-8.2.0" // {
         dependencies = [
-          sources."rxjs-7.4.0"
-          sources."tslib-2.1.0"
+          sources."rxjs-7.5.4"
+          sources."tslib-2.3.1"
         ];
       })
       sources."ip-1.1.5"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
@@ -71467,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"
@@ -71479,7 +72567,7 @@ in
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-gyp-8.4.1"
       sources."nopt-5.0.0"
       sources."npm-bundled-1.1.2"
@@ -71488,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"
@@ -71505,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"
@@ -71515,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"
@@ -71526,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"
@@ -71554,32 +72650,97 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@antfu/ni" = nodeEnv.buildNodePackage {
+    name = "_at_antfu_slash_ni";
+    packageName = "@antfu/ni";
+    version = "0.13.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.13.1.tgz";
+      sha512 = "n9frAWnm14iweBtISggohUVuU0bmE0i2wUgGWS1qUqqCNV9lUwYnhxU04OymrMeWpVTtKpk3MR6E+iQIi1i12w==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Use the right package manager";
+      homepage = "https://github.com/antfu/ni#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@antora/cli" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_cli";
     packageName = "@antora/cli";
-    version = "2.3.4";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/cli/-/cli-2.3.4.tgz";
-      sha512 = "KItaWFEf/X4LLY2XCidjD00oUp4Ay7y9Hu26+T8dPqV+qnMwOL+MGHhYXsJz+4JaeNJu1Ofwc4onmShpwHQruA==";
+      url = "https://registry.npmjs.org/@antora/cli/-/cli-3.0.1.tgz";
+      sha512 = "6qIPh31Z9VznWMHTi2/40Yx3OcHTGcXf9FaPcWsK4TVjLZtGlfqWccwb4P9ZzQPr+CaFDQFPTB8xwnP7c9GxNw==";
     };
     dependencies = [
-      sources."@antora/playbook-builder-2.3.4"
+      sources."@antora/expand-path-helper-2.0.0"
+      sources."@antora/logger-3.0.1"
+      sources."@antora/playbook-builder-3.0.1"
+      sources."@antora/user-require-helper-2.0.0"
       sources."@iarna/toml-2.2.5"
-      sources."argparse-1.0.10"
-      sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.2.2"
-      sources."commander-6.1.0"
-      sources."convict-6.0.1"
-      sources."decamelize-1.2.0"
-      sources."esprima-4.0.1"
-      sources."js-yaml-3.14.1"
-      sources."json5-2.1.3"
+      sources."ansi-styles-3.2.1"
+      sources."argparse-2.0.1"
+      sources."args-5.0.1"
+      sources."atomic-sleep-1.0.0"
+      sources."camelcase-5.0.0"
+      (sources."camelcase-keys-7.0.2" // {
+        dependencies = [
+          sources."camelcase-6.3.0"
+        ];
+      })
+      sources."chalk-2.4.2"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."colorette-2.0.16"
+      sources."commander-8.3.0"
+      sources."convict-6.2.1"
+      sources."dateformat-4.6.3"
+      sources."duplexify-4.1.2"
+      sources."end-of-stream-1.4.4"
+      sources."escape-string-regexp-1.0.5"
+      sources."fast-redact-3.1.0"
+      sources."fast-safe-stringify-2.1.1"
+      sources."has-flag-3.0.0"
+      sources."inherits-2.0.4"
+      sources."joycon-3.1.1"
+      sources."js-yaml-4.1.0"
+      sources."json5-2.2.0"
+      sources."leven-2.1.0"
       sources."lodash.clonedeep-4.5.0"
       sources."map-obj-4.3.0"
       sources."minimist-1.2.5"
-      sources."quick-lru-4.0.1"
-      sources."sprintf-js-1.0.3"
-      sources."yargs-parser-18.1.3"
+      sources."mri-1.1.4"
+      sources."on-exit-leak-free-0.2.0"
+      sources."once-1.4.0"
+      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."process-warning-1.0.0"
+      sources."pump-3.0.0"
+      sources."quick-format-unescaped-4.0.4"
+      sources."quick-lru-5.1.1"
+      sources."readable-stream-3.6.0"
+      sources."real-require-0.1.0"
+      sources."rfdc-1.3.0"
+      sources."safe-buffer-5.2.1"
+      sources."safe-stable-stringify-2.3.1"
+      sources."secure-json-parse-2.4.0"
+      sources."sonic-boom-2.4.2"
+      sources."split2-4.1.0"
+      sources."stream-shift-1.0.1"
+      sources."string_decoder-1.3.0"
+      sources."strip-json-comments-3.1.1"
+      sources."supports-color-5.5.0"
+      sources."thread-stream-0.13.1"
+      sources."type-fest-1.4.0"
+      sources."util-deprecate-1.0.2"
+      sources."wrappy-1.0.2"
+      sources."yargs-parser-20.2.9"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71594,164 +72755,111 @@ in
   "@antora/site-generator-default" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_site-generator-default";
     packageName = "@antora/site-generator-default";
-    version = "2.3.4";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-2.3.4.tgz";
-      sha512 = "uRiFJ/nG5bxjDmFOur27ae7A1J7r+OFVocEwx+vVLRvVYfNHxYP0fI2uUrmJTci8xJ92NLH9VLHpfsHypsoq9Q==";
+      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-3.0.1.tgz";
+      sha512 = "ZuN2LQfgMgW7f+VwlNUC/6fr7MGgCMWnFTy3hA8naQcJpnjKQ2Suv0BO2RvTqkBPX/SzNlnowyHfkJkEUITr4A==";
     };
     dependencies = [
-      sources."@antora/asciidoc-loader-2.3.4"
-      sources."@antora/content-aggregator-2.3.4"
-      sources."@antora/content-classifier-2.3.4"
-      sources."@antora/document-converter-2.3.4"
-      sources."@antora/expand-path-helper-1.0.0"
-      sources."@antora/navigation-builder-2.3.4"
-      sources."@antora/page-composer-2.3.4"
-      sources."@antora/playbook-builder-2.3.4"
-      sources."@antora/redirect-producer-2.3.4"
-      sources."@antora/site-mapper-2.3.4"
-      sources."@antora/site-publisher-2.3.4"
-      sources."@antora/ui-loader-2.3.4"
+      sources."@antora/asciidoc-loader-3.0.1"
+      sources."@antora/content-aggregator-3.0.1"
+      sources."@antora/content-classifier-3.0.1"
+      sources."@antora/document-converter-3.0.1"
+      sources."@antora/expand-path-helper-2.0.0"
+      sources."@antora/file-publisher-3.0.1"
+      sources."@antora/logger-3.0.1"
+      sources."@antora/navigation-builder-3.0.1"
+      sources."@antora/page-composer-3.0.1"
+      sources."@antora/playbook-builder-3.0.1"
+      sources."@antora/redirect-producer-3.0.1"
+      sources."@antora/site-generator-3.0.1"
+      sources."@antora/site-mapper-3.0.1"
+      sources."@antora/site-publisher-3.0.1"
+      sources."@antora/ui-loader-3.0.1"
+      sources."@antora/user-require-helper-2.0.0"
+      sources."@asciidoctor/core-2.2.6"
       sources."@iarna/toml-2.2.5"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
+      sources."ansi-styles-3.2.1"
       sources."append-buffer-1.0.2"
-      sources."argparse-1.0.10"
-      sources."asciidoctor.js-1.5.9"
-      sources."async-lock-1.3.0"
-      sources."balanced-match-1.0.2"
-      sources."base64-js-0.0.2"
-      sources."bl-4.0.4"
-      sources."bops-0.0.7"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      (sources."buffer-5.7.1" // {
+      sources."argparse-2.0.1"
+      (sources."args-5.0.1" // {
         dependencies = [
-          sources."base64-js-1.5.1"
+          sources."camelcase-5.0.0"
         ];
       })
+      sources."asciidoctor-opal-runtime-0.3.3"
+      sources."async-lock-1.3.1"
+      sources."atomic-sleep-1.0.0"
+      sources."balanced-match-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."buffer-crc32-0.2.13"
       sources."buffer-equal-1.0.0"
       sources."cache-directory-2.0.0"
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-          sources."pump-3.0.0"
-        ];
-      })
       sources."call-bind-1.0.2"
-      sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.2.2"
+      sources."camelcase-6.3.0"
+      sources."camelcase-keys-7.0.2"
+      sources."chalk-2.4.2"
       sources."clean-git-ref-2.0.1"
       sources."clone-2.1.2"
       sources."clone-buffer-1.0.0"
-      (sources."clone-response-1.0.2" // {
-        dependencies = [
-          sources."mimic-response-1.0.1"
-        ];
-      })
       sources."clone-stats-1.0.0"
       (sources."cloneable-readable-1.1.3" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."colorette-2.0.16"
       sources."concat-map-0.0.1"
-      (sources."convert-source-map-1.8.0" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."convict-6.0.1"
+      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."decamelize-1.2.0"
+      sources."crc-32-1.2.1"
+      sources."dateformat-4.6.3"
       sources."decompress-response-4.2.1"
-      sources."defer-to-connect-1.1.3"
       sources."define-properties-1.1.3"
       sources."diff3-0.0.3"
-      sources."duplexer3-0.1.4"
-      (sources."duplexify-3.7.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."duplexify-4.1.2"
       sources."end-of-stream-1.4.4"
-      sources."escape-string-regexp-2.0.0"
-      sources."esprima-4.0.1"
+      sources."escape-string-regexp-1.0.5"
       sources."exit-on-epipe-1.0.1"
       sources."extend-3.0.2"
+      sources."fast-redact-3.1.0"
+      sources."fast-safe-stringify-2.1.1"
       sources."fd-slicer-1.1.0"
       sources."fill-range-7.0.1"
       (sources."flush-write-stream-1.1.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."fs-extra-8.1.0"
-      (sources."fs-mkdirp-stream-1.0.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-          sources."through2-2.0.5"
         ];
       })
+      sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
-      (sources."get-stream-4.1.0" // {
-        dependencies = [
-          sources."pump-3.0.0"
-        ];
-      })
-      sources."git-apply-delta-0.0.7"
-      sources."glob-6.0.4"
-      sources."glob-parent-3.1.0"
-      (sources."glob-stream-6.1.0" // {
+      sources."glob-7.1.3"
+      sources."glob-parent-6.0.2"
+      (sources."glob-stream-7.0.0" // {
         dependencies = [
           sources."glob-7.2.0"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."globalyzer-0.1.4"
-      sources."globrex-0.1.2"
-      (sources."got-9.6.0" // {
-        dependencies = [
-          sources."decompress-response-3.3.0"
-          sources."mimic-response-1.0.1"
-        ];
-      })
-      sources."graceful-fs-4.2.8"
-      (sources."gulp-vinyl-zip-2.2.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-          sources."through2-2.0.5"
         ];
       })
+      sources."graceful-fs-4.2.9"
+      sources."gulp-vinyl-zip-2.5.0"
       sources."handlebars-4.7.7"
       sources."has-1.0.3"
+      sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
-      sources."http-cache-semantics-4.1.0"
-      sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."hpagent-0.1.2"
+      sources."ignore-5.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-absolute-1.0.0"
       sources."is-buffer-1.1.6"
       sources."is-extglob-2.1.1"
-      sources."is-glob-3.1.0"
+      sources."is-glob-4.0.3"
       sources."is-negated-glob-1.0.0"
       sources."is-number-7.0.0"
       sources."is-relative-1.0.0"
@@ -71760,146 +72868,133 @@ in
       sources."is-valid-glob-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
-      sources."isomorphic-git-0.78.5"
-      sources."js-yaml-3.14.1"
-      sources."json-buffer-3.0.0"
+      (sources."isomorphic-git-1.10.5" // {
+        dependencies = [
+          sources."simple-get-3.1.1"
+        ];
+      })
+      sources."joycon-3.1.1"
+      sources."js-yaml-4.1.0"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.1.3"
-      sources."jsonfile-4.0.0"
-      sources."keyv-3.1.0"
+      sources."json5-2.2.0"
       (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."lead-1.0.0"
+      sources."leven-2.1.0"
       sources."lodash.clonedeep-4.5.0"
-      sources."lowercase-keys-1.0.1"
       sources."map-obj-4.3.0"
-      sources."marky-1.2.2"
-      sources."matcher-2.1.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."minimatch-all-1.1.0"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimisted-2.0.1"
-      sources."multi-progress-2.0.0"
+      sources."mri-1.1.4"
+      sources."multi-progress-4.0.0"
       sources."neo-async-2.6.2"
       sources."normalize-path-2.1.1"
-      sources."normalize-url-4.5.1"
       sources."now-and-later-2.0.1"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
+      sources."on-exit-leak-free-0.2.0"
       sources."once-1.4.0"
-      sources."opal-runtime-1.0.11"
       (sources."ordered-read-streams-1.0.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
-      sources."p-cancelable-1.1.0"
       sources."pako-1.0.11"
       sources."path-dirname-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."pend-1.2.0"
-      sources."picomatch-2.2.3"
+      sources."picomatch-2.3.1"
       sources."pify-4.0.1"
-      sources."prepend-http-2.0.0"
-      sources."printj-1.1.2"
+      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.3.1"
       sources."process-nextick-args-2.0.1"
-      sources."progress-1.1.8"
-      sources."pump-2.0.1"
-      sources."pumpify-1.5.1"
+      sources."process-warning-1.0.0"
+      sources."progress-2.0.3"
+      sources."pump-3.0.0"
+      sources."pumpify-2.0.1"
       sources."queue-4.5.1"
-      sources."quick-lru-4.0.1"
+      sources."quick-format-unescaped-4.0.4"
+      sources."quick-lru-5.1.1"
       sources."readable-stream-3.6.0"
+      sources."real-require-0.1.0"
       sources."remove-bom-buffer-3.0.0"
-      (sources."remove-bom-stream-1.2.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."through2-2.0.5"
-        ];
-      })
+      sources."remove-bom-stream-1.2.0"
       sources."remove-trailing-separator-1.1.0"
       sources."replace-ext-1.0.1"
       sources."require-from-string-2.0.2"
       sources."resolve-options-1.1.0"
-      sources."responselike-1.0.2"
-      sources."safe-buffer-5.2.1"
+      sources."rfdc-1.3.0"
+      sources."safe-buffer-5.1.2"
+      sources."safe-stable-stringify-2.3.1"
+      sources."secure-json-parse-2.4.0"
       sources."sha.js-2.4.11"
+      sources."should-proxy-1.0.4"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      (sources."simple-get-4.0.1" // {
+        dependencies = [
+          sources."decompress-response-6.0.0"
+          sources."mimic-response-3.1.0"
+        ];
+      })
+      sources."sonic-boom-2.4.2"
       sources."source-map-0.6.1"
-      sources."sprintf-js-1.0.3"
+      sources."split2-4.1.0"
       sources."stream-shift-1.0.1"
-      sources."string_decoder-1.3.0"
+      sources."string_decoder-1.1.1"
+      sources."strip-json-comments-3.1.1"
+      sources."supports-color-5.5.0"
+      sources."thread-stream-0.13.1"
       sources."through-2.3.8"
-      sources."through2-4.0.2"
-      (sources."through2-filter-3.0.0" // {
+      (sources."through2-2.0.5" // {
         dependencies = [
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-          sources."through2-2.0.5"
         ];
       })
+      sources."through2-filter-3.0.0"
       sources."to-absolute-glob-2.0.2"
-      sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      (sources."to-through-2.0.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-          sources."through2-2.0.5"
-        ];
-      })
-      sources."to-utf8-0.0.1"
-      sources."uglify-js-3.14.5"
+      sources."to-through-2.0.0"
+      sources."type-fest-1.4.0"
+      sources."uglify-js-3.15.1"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
-      sources."universalify-0.1.2"
-      sources."url-parse-lax-3.0.0"
+      sources."unxhr-1.0.1"
       sources."util-deprecate-1.0.2"
       sources."value-or-function-3.0.0"
-      sources."varint-0.0.3"
       sources."vinyl-2.2.1"
       (sources."vinyl-fs-3.0.3" // {
         dependencies = [
+          sources."duplexify-3.7.1"
+          sources."glob-parent-3.1.0"
+          sources."glob-stream-6.1.0"
+          sources."is-glob-3.1.0"
+          sources."pump-2.0.1"
+          sources."pumpify-1.5.1"
           sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-          sources."through2-2.0.5"
         ];
       })
       sources."vinyl-sourcemap-1.1.0"
       sources."wordwrap-1.0.0"
       sources."wrappy-1.0.2"
       sources."xdg-basedir-3.0.0"
-      sources."xmlhttprequest-1.8.0"
       sources."xtend-4.0.2"
-      sources."yargs-parser-18.1.3"
+      sources."yargs-parser-20.2.9"
       sources."yauzl-2.10.0"
       sources."yazl-2.5.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "The default site generator pipeline for producing and publishing static documentation sites with Antora.";
+      description = "An alias for the @antora/site-generator package.";
       homepage = "https://antora.org";
       license = "MPL-2.0";
     };
@@ -71910,13 +73005,13 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "0.8.4";
+    version = "0.8.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.8.4.tgz";
-      sha512 = "708BHd8clydMkrsUrh05vPL13RSoU6Cjuu6QExps1co7PDo218EgDBku+JS8g/pnDqDfQwC2Rmo/6GwZ/hfXpA==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.8.8.tgz";
+      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"
@@ -71928,8 +73023,8 @@ 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."fast-glob-3.2.7"
+      sources."emmet-2.3.6"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-5.1.2"
@@ -71940,18 +73035,18 @@ 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.0"
+      sources."picomatch-2.3.1"
       sources."queue-microtask-1.2.3"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       sources."source-map-0.7.3"
       sources."to-regex-range-5.0.1"
       sources."ts-morph-12.2.0"
-      sources."typescript-4.5.4"
-      sources."vscode-css-languageservice-5.1.9"
+      sources."typescript-4.5.5"
+      sources."vscode-css-languageservice-5.1.13"
       (sources."vscode-emmet-helper-2.1.2" // {
         dependencies = [
           sources."vscode-uri-2.1.2"
@@ -71966,10 +73061,10 @@ 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.2"
+      sources."vscode-uri-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71982,29 +73077,41 @@ 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."acorn-8.6.0"
+      sources."accepts-1.3.8"
+      sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
         ];
       })
       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"
@@ -72013,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 = [
@@ -72020,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."graceful-fs-4.2.8"
+      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"
@@ -72061,12 +73206,20 @@ 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."node-fetch-2.6.6" // {
+      sources."negotiator-0.6.3"
+      (sources."node-fetch-2.6.7" // {
         dependencies = [
           sources."tr46-0.0.3"
           sources."webidl-conversions-3.0.1"
@@ -72075,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"
@@ -72104,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"
@@ -72117,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;
@@ -72135,15 +73319,15 @@ in
   "@commitlint/cli" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_cli";
     packageName = "@commitlint/cli";
-    version = "15.0.0";
+    version = "16.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-15.0.0.tgz";
-      sha512 = "Y5xmDCweytqzo4N4lOI2YRiuX35xTjcs8n5hUceBH8eyK0YbwtgWX50BJOH2XbkwEmII9blNhlBog6AdQsqicg==";
+      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-16.2.1.tgz";
+      sha512 = "zfKf+B9osuiDbxGMJ7bWFv7XFCW8wlQYPtCffNp7Ukdb7mdrep5R9e03vPUZysnwp8NX6hg05kPEvnD/wRIGWw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -72153,19 +73337,20 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@commitlint/ensure-15.0.0"
-      sources."@commitlint/execute-rule-15.0.0"
-      sources."@commitlint/format-15.0.0"
-      sources."@commitlint/is-ignored-15.0.0"
-      sources."@commitlint/lint-15.0.0"
-      sources."@commitlint/load-15.0.0"
-      sources."@commitlint/message-15.0.0"
-      sources."@commitlint/parse-15.0.0"
-      sources."@commitlint/read-15.0.0"
-      sources."@commitlint/resolve-extends-15.0.0"
-      sources."@commitlint/rules-15.0.0"
-      sources."@commitlint/to-lines-15.0.0"
-      (sources."@commitlint/top-level-15.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"
@@ -72173,18 +73358,26 @@ in
           sources."p-locate-5.0.0"
         ];
       })
-      sources."@commitlint/types-15.0.0"
-      sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
+      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"
+      sources."@tsconfig/node12-1.0.9"
+      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"
+      sources."acorn-8.7.0"
+      sources."acorn-walk-8.2.0"
+      sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."arg-4.1.3"
       sources."array-ify-1.0.0"
       sources."arrify-1.0.1"
-      sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
@@ -72194,8 +73387,9 @@ in
       sources."color-name-1.1.4"
       sources."compare-func-2.0.0"
       sources."conventional-changelog-angular-5.0.13"
-      sources."conventional-commits-parser-3.2.3"
+      sources."conventional-commits-parser-3.2.4"
       sources."cosmiconfig-7.0.1"
+      sources."cosmiconfig-typescript-loader-1.0.5"
       sources."create-require-1.1.1"
       sources."cross-spawn-7.0.3"
       sources."dargs-7.0.0"
@@ -72212,18 +73406,20 @@ in
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."execa-5.1.1"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."find-up-4.1.0"
       sources."fs-extra-10.0.0"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
       sources."get-stream-6.0.1"
-      sources."git-raw-commits-2.0.10"
+      sources."git-raw-commits-2.0.11"
       sources."global-dirs-0.1.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."human-signals-2.1.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
@@ -72234,7 +73430,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-obj-2.0.0"
       sources."is-plain-obj-1.1.0"
@@ -72243,13 +73439,13 @@ in
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
+      sources."json-schema-traverse-0.4.1"
       sources."jsonfile-6.1.0"
       sources."jsonparse-1.3.1"
       sources."kind-of-6.0.3"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."lodash.get-4.4.2"
       sources."lru-cache-6.0.0"
       sources."make-error-1.3.6"
       sources."map-obj-4.3.0"
@@ -72270,6 +73466,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
+      sources."punycode-2.1.1"
       sources."q-1.5.1"
       sources."quick-lru-4.0.1"
       (sources."read-pkg-5.2.0" // {
@@ -72288,16 +73485,14 @@ in
       sources."readable-stream-3.6.0"
       sources."redent-3.0.0"
       sources."require-directory-2.1.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-5.0.0"
       sources."resolve-global-1.0.0"
       sources."safe-buffer-5.2.1"
       sources."semver-7.3.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.21"
+      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"
@@ -72309,23 +73504,25 @@ in
       sources."strip-final-newline-2.0.0"
       sources."strip-indent-3.0.0"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."text-extensions-1.9.0"
       sources."through-2.3.8"
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
-      sources."ts-node-9.1.1"
-      sources."tslib-2.3.1"
+      sources."ts-node-10.5.0"
       sources."type-fest-0.18.1"
-      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"
+      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"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yaml-1.10.2"
-      (sources."yargs-17.3.0" // {
+      (sources."yargs-17.3.1" // {
         dependencies = [
           sources."yargs-parser-21.0.0"
         ];
@@ -72347,15 +73544,15 @@ in
   "@commitlint/config-conventional" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_config-conventional";
     packageName = "@commitlint/config-conventional";
-    version = "15.0.0";
+    version = "16.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-15.0.0.tgz";
-      sha512 = "eZBRL8Lk3hMNHp1wUMYj0qrZQEsST1ai7KHR8J1IDD9aHgT7L2giciibuQ+Og7vxVhR5WtYDvh9xirXFVPaSkQ==";
+      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.2.1.tgz";
+      sha512 = "cP9gArx7gnaj4IqmtCIcHdRjTYdRUi6lmGE+lOzGGjGe45qGOS8nyQQNvkNy2Ey2VqoSWuXXkD8zCUh6EHf1Ww==";
     };
     dependencies = [
       sources."array-ify-1.0.0"
       sources."compare-func-2.0.0"
-      sources."conventional-changelog-conventionalcommits-4.6.1"
+      sources."conventional-changelog-conventionalcommits-4.6.3"
       sources."dot-prop-5.3.0"
       sources."is-obj-2.0.0"
       sources."lodash-4.17.21"
@@ -72371,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";
@@ -72380,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"
@@ -72389,10 +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.0"
+      sources."@types/node-17.0.18"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
-      sources."ansi-colors-3.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"
@@ -72401,13 +73893,11 @@ in
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."anymatch-3.1.2"
-      sources."argparse-1.0.10"
       sources."arpeecee-2.2.0"
       sources."array-lru-1.1.1"
       sources."atomic-batcher-1.0.2"
       sources."await-lock-2.1.0"
       sources."b4a-1.3.1"
-      sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."binary-extensions-2.2.0"
       (sources."bitfield-rle-2.2.1" // {
@@ -72418,9 +73908,7 @@ in
       sources."blake2b-2.1.4"
       sources."blake2b-universal-1.0.1"
       sources."blake2b-wasm-2.4.0"
-      sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browser-stdout-1.3.1"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -72437,28 +73925,16 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      sources."bytes-3.1.1"
-      sources."call-bind-1.0.2"
+      sources."bytes-3.1.2"
       sources."call-me-maybe-1.0.1"
-      sources."camelcase-5.3.1"
       sources."chacha20-universal-1.0.4"
       sources."chalk-1.1.3"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."cliclopts-1.1.1"
-      (sources."cliui-5.0.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."ansi-styles-3.2.1"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-          sources."wrap-ansi-5.1.0"
-        ];
-      })
       sources."clone-2.1.2"
       sources."codecs-2.2.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."concat-map-0.0.1"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       (sources."concat-stream-2.0.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -72470,68 +73946,46 @@ in
       sources."cross-spawn-async-2.2.5"
       sources."crypto-random-string-1.0.0"
       sources."custom-error-class-1.0.0"
-      sources."dat-encoding-5.0.1"
+      sources."dat-encoding-5.0.2"
       sources."debug-2.6.9"
-      sources."decamelize-1.2.0"
       sources."deferred-leveldown-5.3.0"
-      sources."define-properties-1.1.3"
       sources."defined-0.0.0"
       sources."derive-key-1.0.1"
       sources."derived-key-storage-2.1.0"
       sources."dht-rpc-4.9.6"
-      sources."diff-3.5.0"
       (sources."diff-file-tree-2.5.1" // {
         dependencies = [
           sources."pump-1.0.3"
         ];
       })
-      sources."dns-packet-5.3.0"
+      sources."dns-packet-5.3.1"
       sources."duplexify-3.7.1"
-      sources."emoji-regex-7.0.3"
+      sources."emoji-regex-8.0.0"
       sources."encoding-down-6.3.0"
       sources."end-of-stream-1.4.4"
       sources."errno-0.1.8"
-      (sources."es-abstract-1.19.1" // {
-        dependencies = [
-          sources."object.assign-4.1.2"
-        ];
-      })
-      sources."es-to-primitive-1.2.1"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
-      sources."esprima-4.0.1"
+      sources."events-3.3.0"
       sources."execa-0.4.0"
       sources."fast-bitfield-1.2.2"
-      sources."fast-fifo-1.0.0"
+      sources."fast-fifo-1.1.0"
       sources."fd-lock-1.2.0"
       sources."filesystem-constants-1.0.0"
       sources."fill-range-7.0.1"
-      sources."find-up-3.0.0"
-      sources."flat-4.1.1"
       sources."flat-tree-1.9.0"
       sources."freemap-1.0.1"
-      sources."fs.realpath-1.0.0"
       sources."fsctl-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
-      sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.1"
-      sources."get-symbol-description-1.0.0"
-      sources."glob-7.1.3"
       sources."glob-parent-5.1.2"
-      sources."growl-1.10.5"
       sources."guard-timeout-2.0.0"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      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."hashlru-2.3.0"
-      sources."he-1.2.0"
       (sources."hmac-blake2b-2.0.0" // {
         dependencies = [
           sources."nanoassert-1.1.0"
@@ -72575,35 +74029,20 @@ in
       sources."identify-filetype-1.0.0"
       sources."ieee754-1.2.1"
       sources."immediate-3.3.0"
-      sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."inspect-custom-symbol-1.1.1"
-      sources."internal-slot-1.0.3"
       sources."ipv4-peers-2.0.0"
-      sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
-      sources."is-boolean-object-1.1.2"
-      sources."is-buffer-2.0.5"
-      sources."is-callable-1.2.4"
-      sources."is-core-module-2.8.0"
-      sources."is-date-object-1.0.5"
+      sources."is-core-module-2.8.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
-      sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.6"
       sources."is-options-1.0.2"
       sources."is-property-1.0.2"
-      sources."is-regex-1.1.4"
-      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-weakref-1.0.2"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."js-yaml-3.13.1"
       sources."k-bucket-5.1.0"
       sources."last-one-wins-1.0.4"
       sources."level-6.0.1"
@@ -72625,36 +74064,15 @@ in
         ];
       })
       sources."levelup-4.4.0"
-      sources."locate-path-3.0.0"
-      sources."lodash-4.17.21"
-      (sources."log-symbols-3.0.0" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."supports-color-5.5.0"
-        ];
-      })
       sources."lru-cache-4.1.5"
       sources."ltgt-2.2.1"
       sources."mem-0.1.1"
       sources."memory-pager-1.5.0"
       sources."merkle-tree-stream-4.0.0"
       sources."mime-1.6.0"
-      sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
       sources."mkdirp-classic-0.5.3"
-      (sources."mocha-7.2.0" // {
-        dependencies = [
-          sources."chokidar-3.3.0"
-          sources."debug-3.2.6"
-          sources."fsevents-2.1.3"
-          sources."mkdirp-0.5.5"
-          sources."ms-2.1.1"
-          sources."readdirp-3.2.0"
-          sources."supports-color-6.0.0"
-        ];
-      })
       sources."moment-2.29.1"
       sources."mountable-hypertrie-2.8.0"
       sources."ms-2.0.0"
@@ -72666,7 +74084,6 @@ in
       sources."nanoresource-1.3.0"
       sources."nanoresource-promise-1.2.2"
       sources."napi-macros-2.0.0"
-      sources."node-environment-flags-1.0.6"
       sources."node-gyp-build-4.3.0"
       (sources."noise-peer-2.1.1" // {
         dependencies = [
@@ -72677,20 +74094,11 @@ in
       sources."normalize-path-3.0.0"
       sources."npm-run-path-1.0.0"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.11.1"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.1.3"
       sources."once-1.4.0"
       sources."p-debounce-2.1.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-3.0.0"
-      sources."p-try-2.2.0"
-      sources."path-exists-3.0.0"
-      sources."path-is-absolute-1.0.1"
       sources."path-key-1.0.0"
       sources."path-parse-1.0.7"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pretty-bytes-4.0.2"
       sources."pretty-hash-1.0.1"
@@ -72711,57 +74119,48 @@ 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-words-1.1.1"
+      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."require-directory-2.1.1"
-      sources."require-main-filename-2.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."safe-buffer-5.1.2"
       sources."secretstream-stream-2.0.0"
-      sources."semver-5.7.1"
-      sources."set-blocking-2.0.0"
       sources."sha256-universal-1.2.1"
       sources."sha256-wasm-2.2.2"
       sources."sha512-universal-1.2.1"
       sources."sha512-wasm-2.3.3"
       sources."shuffled-priority-queue-2.1.0"
-      sources."side-channel-1.0.4"
       sources."signed-varint-2.0.1"
       sources."simple-handshake-3.0.0"
       sources."simple-hypercore-protocol-2.1.2"
       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."sprintf-js-1.0.3"
       sources."stream-collector-1.0.1"
       sources."stream-equal-1.1.1"
       sources."stream-shift-1.0.1"
-      sources."streamx-2.12.0"
-      (sources."string-width-2.1.1" // {
+      sources."streamx-2.12.2"
+      (sources."string-width-4.2.3" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."strip-ansi-4.0.0"
+          sources."ansi-regex-5.0.1"
+          sources."strip-ansi-6.0.1"
         ];
       })
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-eof-1.0.0"
-      sources."strip-json-comments-2.0.1"
       (sources."subcommand-2.1.1" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -72774,6 +74173,7 @@ in
         ];
       })
       sources."supports-color-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."temp-dir-1.0.0"
       sources."tempy-0.1.0"
       sources."textextensions-5.14.0"
@@ -72789,7 +74189,6 @@ in
       sources."to-regex-range-5.0.1"
       sources."typedarray-0.0.6"
       sources."uint64be-2.0.2"
-      sources."unbox-primitive-1.0.1"
       sources."unique-string-1.0.0"
       (sources."unixify-1.0.0" // {
         dependencies = [
@@ -72806,20 +74205,12 @@ in
         ];
       })
       sources."varint-5.0.0"
-      sources."vm2-3.9.5"
+      sources."vm2-3.9.8"
       sources."which-1.3.1"
-      sources."which-boxed-primitive-1.0.2"
-      sources."which-module-2.0.0"
-      sources."wide-align-1.1.3"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
           sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."emoji-regex-8.0.0"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
           sources."strip-ansi-6.0.1"
         ];
       })
@@ -72828,17 +74219,7 @@ in
       sources."xsalsa20-1.2.0"
       sources."xsalsa20-universal-1.0.0"
       sources."xtend-4.0.2"
-      sources."y18n-4.0.3"
       sources."yallist-2.1.2"
-      (sources."yargs-13.3.2" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
-      sources."yargs-parser-13.1.2"
-      sources."yargs-unparser-1.6.0"
       sources."yesno-0.3.1"
     ];
     buildInputs = globalBuildInputs;
@@ -72860,37 +74241,40 @@ in
       sha512 = "7EpRhhrJqICbMGjLkdthQYLLGMXNCsrsq8/xxYX1cdRiNwoGb84yjL1WFBrnQtaM8rXShOvhf4lrM2W0K9m4lQ==";
     };
     dependencies = [
-      sources."@babel/parser-7.16.6"
-      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"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/glob-7.2.0"
+      sources."@types/linkify-it-3.0.2"
+      sources."@types/markdown-it-12.2.3"
+      sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.0"
+      sources."@types/node-17.0.18"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -72909,7 +74293,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."argparse-1.0.10"
+      sources."argparse-2.0.1"
       sources."argsarray-0.0.1"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
@@ -73036,7 +74420,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."end-of-stream-1.4.4"
-      sources."entities-2.0.3"
+      sources."entities-2.1.0"
       sources."es3ify-0.2.2"
       sources."escape-string-regexp-2.0.0"
       (sources."escodegen-1.14.3" // {
@@ -73099,7 +74483,7 @@ in
         ];
       })
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
@@ -73111,7 +74495,7 @@ in
       })
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."for-in-1.0.2"
       sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
@@ -73166,7 +74550,7 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       (sources."handlebars-4.7.7" // {
         dependencies = [
           sources."source-map-0.6.1"
@@ -73193,10 +74577,10 @@ in
       sources."http-signature-1.2.0"
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.9"
+      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"
@@ -73222,7 +74606,7 @@ in
       sources."ip-regex-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -73241,12 +74625,13 @@ in
       sources."isstream-0.1.2"
       (sources."js-yaml-3.14.1" // {
         dependencies = [
+          sources."argparse-1.0.10"
           sources."esprima-4.0.1"
         ];
       })
       sources."js2xmlparser-4.0.2"
       sources."jsbn-0.1.1"
-      (sources."jsdoc-3.6.7" // {
+      (sources."jsdoc-3.6.10" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."strip-json-comments-3.1.1"
@@ -73272,11 +74657,11 @@ in
       sources."jws-3.2.2"
       sources."keytar-4.13.0"
       sources."kind-of-6.0.3"
-      sources."klaw-3.0.0"
+      sources."klaw-4.0.1"
       sources."lcid-2.0.0"
       sources."levn-0.3.0"
       sources."lie-3.0.4"
-      sources."linkify-it-2.2.0"
+      sources."linkify-it-3.0.3"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.21"
       sources."lodash.includes-4.3.0"
@@ -73290,9 +74675,9 @@ in
       sources."map-age-cleaner-0.1.3"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
-      sources."markdown-it-10.0.0"
-      sources."markdown-it-anchor-5.3.0"
-      sources."marked-2.1.3"
+      sources."markdown-it-12.3.2"
+      sources."markdown-it-anchor-8.4.1"
+      sources."marked-4.0.12"
       sources."md5.js-1.3.5"
       sources."mdurl-1.0.1"
       (sources."mem-4.3.0" // {
@@ -73307,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"
@@ -73338,7 +74723,7 @@ in
       sources."neo-async-2.6.2"
       sources."nice-try-1.0.5"
       sources."node-abi-2.30.1"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."node-pre-gyp-0.11.0"
       sources."noop-fn-1.0.0"
       sources."noop-logger-0.1.1"
@@ -73388,7 +74773,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pluralize-7.0.0"
       sources."posix-character-classes-0.1.1"
@@ -73512,7 +74897,7 @@ in
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."randombytes-2.1.0"
       sources."rc-1.2.8"
@@ -73535,7 +74920,7 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requizzle-0.2.3"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
@@ -73563,16 +74948,16 @@ in
       sources."sha.js-2.4.11"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      (sources."shelljs-0.8.4" // {
+      (sources."shelljs-0.8.5" // {
         dependencies = [
           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.4"
+      sources."slugify-1.6.5"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -73619,7 +75004,7 @@ in
       })
       sources."sprintf-js-1.0.3"
       sources."sqlite3-4.2.0"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."static-eval-2.0.2"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -73645,6 +75030,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."taffydb-2.6.2"
       sources."tar-4.4.19"
       (sources."tar-fs-1.16.3" // {
@@ -73689,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" // {
@@ -73733,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"
@@ -73786,7 +75172,7 @@ in
       sources."@octokit/plugin-rest-endpoint-methods-5.13.0"
       sources."@octokit/plugin-retry-3.0.9"
       sources."@octokit/plugin-throttling-3.5.2"
-      sources."@octokit/request-5.6.2"
+      sources."@octokit/request-5.6.3"
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
       sources."@octokit/types-6.34.0"
@@ -73817,7 +75203,7 @@ in
       sources."deprecation-2.3.1"
       sources."esprima-4.0.1"
       sources."fs-extra-9.1.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."ieee754-1.2.1"
       sources."inherits-2.0.4"
@@ -73825,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"
@@ -73834,7 +75220,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."ms-2.1.2"
       sources."netrc-0.1.4"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."node-version-1.2.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
@@ -73845,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"
@@ -73876,25 +75262,25 @@ in
   "@nestjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_nestjs_slash_cli";
     packageName = "@nestjs/cli";
-    version = "8.1.6";
+    version = "8.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.1.6.tgz";
-      sha512 = "SFz/DNjsxNamBEi00ml6+Qx7DmnljI+lYqNzk/+1WZWCfONmvGxQrUaXcUHulkwMXZF/wpD93rgbbnT1CXirqQ==";
+      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.1.tgz";
+      sha512 = "GnwpORSIkGl6N6yWPONq1wwZ8+zltr3vF1M/2qzupDnXOAvSSCh1otDQRAmeOf3uIIeCiCsJEEx79kRnT7Zdrw==";
     };
     dependencies = [
-      sources."@angular-devkit/core-13.1.1"
-      sources."@angular-devkit/schematics-13.1.1"
-      (sources."@angular-devkit/schematics-cli-13.1.1" // {
+      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.4.0"
-          sources."tslib-2.1.0"
+          sources."rxjs-7.5.4"
+          sources."tslib-2.3.1"
         ];
       })
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -73904,19 +75290,18 @@ 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.2.1"
-      sources."@types/eslint-scope-3.7.2"
+      sources."@types/eslint-8.4.1"
+      sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.50"
       sources."@types/json-schema-7.0.9"
       sources."@types/json5-0.0.29"
-      sources."@types/node-17.0.0"
+      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"
@@ -73935,9 +75320,9 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.6.0"
+      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"
@@ -73952,18 +75337,18 @@ 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.30001287"
+      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"
-      sources."cli-table3-0.6.0"
+      sources."cli-table3-0.6.1"
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
@@ -73975,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.21"
+      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"
         ];
@@ -74016,7 +75401,7 @@ in
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."human-signals-1.1.1"
@@ -74033,7 +75418,7 @@ in
       sources."interpret-1.4.0"
       sources."is-arrayish-0.2.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"
@@ -74042,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.5" // {
+      (sources."jest-worker-27.5.1" // {
         dependencies = [
           sources."supports-color-8.1.1"
         ];
@@ -74065,20 +75450,19 @@ in
       sources."lru-cache-6.0.0"
       sources."macos-release-2.5.0"
       sources."magic-string-0.25.7"
-      sources."memfs-3.4.0"
+      sources."memfs-3.4.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."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."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       (sources."ora-5.4.1" // {
@@ -74095,7 +75479,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pluralize-8.0.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
@@ -74104,7 +75488,7 @@ in
       sources."readdirp-3.6.0"
       sources."rechoir-0.6.2"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-4.0.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
@@ -74122,8 +75506,8 @@ in
       sources."serialize-javascript-6.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."shelljs-0.8.4"
-      sources."signal-exit-3.0.6"
+      sources."shelljs-0.8.5"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.7.3"
       (sources."source-map-support-0.5.21" // {
         dependencies = [
@@ -74137,6 +75521,7 @@ in
       sources."strip-bom-3.0.0"
       sources."strip-final-newline-2.0.0"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-4.0.0"
       sources."tapable-1.1.3"
       (sources."terser-5.10.0" // {
@@ -74144,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"
@@ -74164,13 +75549,13 @@ in
       })
       sources."tslib-1.14.1"
       sources."type-fest-0.21.3"
-      sources."typescript-4.3.5"
+      sources."typescript-4.5.5"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."watchpack-2.3.1"
       sources."wcwidth-1.0.1"
-      (sources."webpack-5.65.0" // {
+      (sources."webpack-5.66.0" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."json-schema-traverse-0.4.1"
@@ -74179,7 +75564,7 @@ in
         ];
       })
       sources."webpack-node-externals-3.0.0"
-      sources."webpack-sources-3.2.2"
+      sources."webpack-sources-3.2.3"
       sources."which-2.0.2"
       sources."windows-release-4.0.0"
       sources."wrappy-1.0.2"
@@ -74205,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"
@@ -74234,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"
@@ -74253,13 +75638,52 @@ 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";
-    version = "0.0.5";
+    version = "0.0.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@tailwindcss/language-server/-/language-server-0.0.5.tgz";
-      sha512 = "BOmC7U+FsN2Tuvet6LNSMn/0Up1Vz9f5TaXB3VttlpSdjfJJxiZJisJK7xgag/jlTHQ4dWr3VqASMkYSoJUcOw==";
+      url = "https://registry.npmjs.org/@tailwindcss/language-server/-/language-server-0.0.7.tgz";
+      sha512 = "4N/MwW91BjMr1BHF3ywXlYOaoYsFWV77hO+xXMEGxBxBNdOJRawvS5fHxUSmfNMXyqR7l2F5PlzKiFZ7QJgXDg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -74270,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"
@@ -74288,60 +76057,85 @@ in
       sources."@apollographql/apollo-tools-0.5.2"
       sources."@apollographql/graphql-playground-html-1.6.27"
       sources."@apollographql/graphql-upload-8-fork-8.1.3"
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      sources."@babel/core-7.16.5"
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.5"
-      sources."@babel/helper-compilation-targets-7.16.3"
-      sources."@babel/helper-create-class-features-plugin-7.16.5"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-      sources."@babel/helper-define-polyfill-provider-0.3.0"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-explode-assignable-expression-7.16.0"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-member-expression-to-functions-7.16.5"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-optimise-call-expression-7.16.0"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-remap-async-to-generator-7.16.5"
-      sources."@babel/helper-replace-supers-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      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" // {
+        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"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-member-expression-to-functions-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.16.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.16.5"
-      sources."@babel/plugin-proposal-class-properties-7.16.5"
-      sources."@babel/plugin-proposal-class-static-block-7.16.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.16.5"
-      sources."@babel/plugin-proposal-json-strings-7.16.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.5"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.5"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.5"
-      sources."@babel/plugin-proposal-private-methods-7.16.5"
-      sources."@babel/plugin-proposal-private-property-in-object-7.16.5"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.16.5"
+      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/helper-wrap-function-7.16.8"
+      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"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-class-static-block-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      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.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"
+      sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.16.5"
+      sources."@babel/plugin-syntax-flow-7.16.7"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
@@ -74351,69 +76145,68 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.16.5"
-      sources."@babel/plugin-transform-arrow-functions-7.16.5"
-      sources."@babel/plugin-transform-async-to-generator-7.16.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.5"
-      sources."@babel/plugin-transform-block-scoping-7.16.5"
-      sources."@babel/plugin-transform-classes-7.16.5"
-      sources."@babel/plugin-transform-computed-properties-7.16.5"
-      sources."@babel/plugin-transform-destructuring-7.16.5"
-      sources."@babel/plugin-transform-dotall-regex-7.16.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.16.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.5"
-      sources."@babel/plugin-transform-flow-strip-types-7.16.5"
-      sources."@babel/plugin-transform-for-of-7.16.5"
-      sources."@babel/plugin-transform-function-name-7.16.5"
-      sources."@babel/plugin-transform-literals-7.16.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.5"
-      sources."@babel/plugin-transform-modules-amd-7.16.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.5"
-      sources."@babel/plugin-transform-modules-umd-7.16.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.5"
-      sources."@babel/plugin-transform-new-target-7.16.5"
-      sources."@babel/plugin-transform-object-super-7.16.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-property-literals-7.16.5"
-      sources."@babel/plugin-transform-regenerator-7.16.5"
-      sources."@babel/plugin-transform-reserved-words-7.16.5"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.5"
-      sources."@babel/plugin-transform-spread-7.16.5"
-      sources."@babel/plugin-transform-sticky-regex-7.16.5"
-      sources."@babel/plugin-transform-template-literals-7.16.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.16.5"
-      sources."@babel/plugin-transform-typescript-7.16.1"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.5"
-      sources."@babel/plugin-transform-unicode-regex-7.16.5"
-      sources."@babel/preset-env-7.16.5"
-      sources."@babel/preset-flow-7.16.5"
+      sources."@babel/plugin-syntax-typescript-7.16.7"
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      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.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"
+      sources."@babel/plugin-transform-flow-strip-types-7.16.7"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      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-regenerator-7.16.7"
+      sources."@babel/plugin-transform-reserved-words-7.16.7"
+      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"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      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" // {
+        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.5"
-      (sources."@babel/register-7.16.5" // {
+      sources."@babel/preset-typescript-7.16.7"
+      (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.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
-      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/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      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"
@@ -74425,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"
@@ -74432,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.26"
+      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.1"
-      sources."@types/inquirer-6.5.0"
+      sources."@types/http-errors-1.8.2"
+      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"
@@ -74452,93 +76246,89 @@ 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.0"
+      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.26" // {
+      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.26"
-      sources."@vue/shared-3.2.26"
-      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" // {
-        dependencies = [
-          sources."lru-cache-6.0.0"
-        ];
-      })
-      (sources."apollo-server-core-2.25.3" // {
+      (sources."apollo-link-1.2.14" // {
         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.0"
-      sources."babel-plugin-polyfill-corejs3-0.4.0"
-      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      (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"
       (sources."base-0.11.2" // {
@@ -74547,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"
@@ -74577,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 = [
@@ -74586,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.30001287"
-      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 = [
@@ -74612,45 +76392,43 @@ 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."content-disposition-0.5.3" // {
+      (sources."config-chain-1.1.13" // {
         dependencies = [
-          sources."safe-buffer-5.1.2"
+          sources."ini-1.3.8"
         ];
       })
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       (sources."convert-source-map-1.8.0" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.20.0" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.20.0"
-      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 = [
@@ -74658,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"
@@ -74696,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"
@@ -74712,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.21"
+      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"
@@ -74733,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"
@@ -74753,43 +76528,36 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."expand-tilde-2.0.2"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
-          sources."body-parser-1.19.0"
-          sources."bytes-3.1.0"
           sources."debug-2.6.9"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
-          sources."qs-6.7.0"
-          sources."raw-body-2.4.0"
-          sources."safe-buffer-5.1.2"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
         ];
       })
       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"
@@ -74797,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.168.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"
@@ -74829,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.8"
-      sources."graphql-14.7.0"
+      sources."graceful-fs-4.2.9"
+      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"
@@ -74877,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"
@@ -74918,7 +76685,7 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -74927,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.2.1"
+      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 = [
@@ -75032,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.6"
+      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"
@@ -75072,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 = [
@@ -75087,7 +76840,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object-path-0.11.8"
       sources."object-visit-1.0.1"
@@ -75096,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.0"
-      (sources."pid-from-port-1.1.3" // {
+      sources."picomatch-2.3.1"
+      (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"
@@ -75150,58 +76904,45 @@ in
       })
       sources."posix-character-classes-0.1.1"
       sources."prepend-http-2.0.0"
-      sources."prismjs-1.25.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.2"
+      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.20.0"
+      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"
@@ -75209,29 +76950,33 @@ 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."send-0.17.1" // {
+      (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" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          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.2"
+      (sources."set-value-2.0.1" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
         ];
       })
-      sources."serve-static-1.14.1"
-      sources."set-value-2.0.1"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
       sources."shallow-clone-3.0.1"
@@ -75241,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"
@@ -75259,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" // {
@@ -75273,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.16.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -75318,33 +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"
@@ -75352,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"
@@ -75374,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"
@@ -75399,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 = [
@@ -75411,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"
@@ -75419,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.7"
-          sources."fill-range-7.0.1"
-          sources."glob-parent-5.1.2"
-          sources."globby-11.0.4"
-          sources."ignore-5.1.9"
-          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 = {
@@ -75612,13 +77327,13 @@ in
       sha512 = "7SWOLN+1eZ5e9gohQPVdA8XQstGIYei/70T5kmLP6vC41zy8BBYNt35OgLZmbpg3iOQ1vWT17ZMhVikSJySSRg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/template-7.16.0"
-      sources."@babel/types-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/generator-7.17.3"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/template-7.16.7"
+      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"
@@ -75692,15 +77407,15 @@ in
       sha512 = "yTKA5M514WOTpZZkK6pusBbtvVbNTavKS3nI4Z9ceH7RdNGII9S8p8mrcA38S8T0QGxp+EK3l/61XLBj0LTdhQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       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"
@@ -75709,12 +77424,12 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/ms-0.7.31"
       sources."@types/nlcst-1.0.0"
-      sources."@types/node-16.11.14"
+      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"
       sources."@types/unist-2.0.6"
-      sources."acorn-8.6.0"
+      sources."acorn-8.7.0"
       sources."acorn-jsx-5.3.2"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
@@ -75746,8 +77461,8 @@ in
           sources."pump-3.0.0"
         ];
       })
-      sources."camelcase-6.2.1"
-      sources."camelcase-keys-7.0.1"
+      sources."camelcase-6.3.0"
+      sources."camelcase-keys-7.0.2"
       sources."ccount-2.0.1"
       sources."chalk-2.4.2"
       sources."character-entities-2.0.1"
@@ -75788,6 +77503,7 @@ in
       sources."dot-prop-5.3.0"
       sources."duplexer-0.1.2"
       sources."duplexer3-0.1.4"
+      sources."eastasianwidth-0.2.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -75818,7 +77534,7 @@ in
         ];
       })
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -75839,9 +77555,9 @@ in
       sources."hast-util-to-string-2.0.0"
       sources."hast-util-whitespace-2.0.0"
       sources."hastscript-7.0.2"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."import-lazy-2.1.0"
       sources."import-meta-resolve-1.1.1"
       sources."imurmurhash-0.1.4"
@@ -75854,7 +77570,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-decimal-2.0.1"
       sources."is-empty-1.2.0"
       sources."is-fullwidth-code-point-3.0.0"
@@ -75909,22 +77625,22 @@ 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.1"
-      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"
       sources."micromark-3.0.10"
       sources."micromark-core-commonmark-1.0.6"
       sources."micromark-extension-frontmatter-1.0.0"
-      sources."micromark-extension-gfm-2.0.0"
+      sources."micromark-extension-gfm-2.0.1"
       sources."micromark-extension-gfm-autolink-literal-1.0.3"
       sources."micromark-extension-gfm-footnote-1.0.3"
       sources."micromark-extension-gfm-strikethrough-1.0.4"
@@ -75932,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"
@@ -75948,8 +77664,12 @@ in
       sources."micromark-util-combine-extensions-1.0.0"
       sources."micromark-util-decode-numeric-character-reference-1.0.0"
       sources."micromark-util-decode-string-1.0.2"
-      sources."micromark-util-encode-1.0.0"
-      sources."micromark-util-events-to-acorn-1.0.4"
+      sources."micromark-util-encode-1.0.1"
+      (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"
@@ -75959,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"
@@ -76013,8 +77733,8 @@ 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-retext-3.0.1"
+      sources."rehype-parse-8.0.4"
+      sources."rehype-retext-3.0.2"
       sources."remark-frontmatter-4.0.1"
       sources."remark-gfm-3.0.1"
       sources."remark-mdx-2.0.0-rc.1"
@@ -76025,7 +77745,7 @@ in
       sources."retext-english-4.1.0"
       sources."retext-equality-6.3.0"
       sources."retext-profanities-7.1.0"
-      sources."sade-1.7.4"
+      sources."sade-1.8.1"
       sources."safe-buffer-5.2.1"
       sources."semver-7.3.5"
       (sources."semver-diff-3.1.1" // {
@@ -76033,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" // {
@@ -76069,8 +77789,7 @@ in
         ];
       })
       sources."to-readable-stream-1.0.0"
-      sources."to-vfile-7.2.2"
-      sources."totalist-2.0.0"
+      sources."to-vfile-7.2.3"
       sources."trim-newlines-4.0.2"
       sources."trough-2.0.2"
       sources."type-fest-1.4.0"
@@ -76083,9 +77802,11 @@ in
         ];
       })
       sources."unified-diff-4.0.1"
-      (sources."unified-engine-9.0.4" // {
+      (sources."unified-engine-9.0.5" // {
         dependencies = [
           sources."is-plain-obj-4.0.0"
+          sources."lines-and-columns-2.0.3"
+          sources."parse-json-6.0.2"
         ];
       })
       (sources."unified-message-control-4.0.0" // {
@@ -76120,18 +77841,17 @@ in
       })
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
-      sources."uvu-0.5.2"
+      sources."uvu-0.5.3"
       sources."validate-npm-package-license-3.0.4"
-      sources."vfile-5.2.0"
+      sources."vfile-5.3.0"
       sources."vfile-find-up-6.0.0"
       sources."vfile-location-4.0.1"
-      sources."vfile-message-3.0.2"
+      sources."vfile-message-3.1.0"
       (sources."vfile-reporter-7.0.3" // {
         dependencies = [
           sources."ansi-regex-6.0.1"
           sources."emoji-regex-9.2.2"
-          sources."is-fullwidth-code-point-4.0.0"
-          sources."string-width-5.0.1"
+          sources."string-width-5.1.0"
           sources."strip-ansi-7.0.1"
           sources."supports-color-9.2.1"
         ];
@@ -76169,49 +77889,50 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.17.1";
+    version = "1.17.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.17.1.tgz";
-      sha512 = "fLYUFiga1hybXkV5p1hhRqWO2LhGPPqdxREr1GtXz3SpsdfYDBQCTcXd79RG3RciFurmmKqClpfM5AemiWQDuA==";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.17.3.tgz";
+      sha512 = "6Avt9pRA194Z/yN4hb7/6ZRhMtWLydsje2uP82b1VVFSBWwDlkswLTDFD0ngSEHlBSNR+bFnyOAGh+mpHQNYOQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.5" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      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"
         ];
       })
-      (sources."@babel/generator-7.16.5" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."@babel/helper-compilation-targets-7.16.3"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/helper-compilation-targets-7.16.7"
+      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"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      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/helper-validator-option-7.16.7"
+      sources."@babel/helpers-7.17.2"
+      sources."@babel/highlight-7.16.10"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/template-7.16.7"
+      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.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.30001287"
+      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"
@@ -76221,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.21"
+      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"
@@ -76241,14 +77962,14 @@ in
         ];
       })
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
       sources."homedir-polyfill-1.0.3"
       sources."ini-1.3.8"
       sources."is-3.3.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-windows-1.0.2"
       sources."isexe-2.0.0"
       (sources."jake-10.8.2" // {
@@ -76263,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 = [
@@ -76279,13 +78000,14 @@ in
       sources."path-parse-1.0.7"
       sources."picocolors-1.0.0"
       sources."pkginfo-0.4.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."safe-buffer-5.1.2"
       sources."sax-0.5.8"
       sources."semver-6.3.0"
       sources."source-map-0.7.3"
       sources."strip-ansi-0.1.1"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."to-fast-properties-2.0.0"
       sources."underscore-1.6.0"
       sources."universalify-0.1.2"
@@ -76293,7 +78015,6 @@ in
       sources."which-1.3.1"
       sources."xml2js-0.2.8"
       sources."xml2tss-0.0.5"
-      sources."xmldom-0.6.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -76305,6 +78026,197 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  antennas = nodeEnv.buildNodePackage {
+    name = "antennas";
+    packageName = "antennas";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/antennas/-/antennas-4.1.0.tgz";
+      sha512 = "lqPoPSftBQyiIPFL2GNxvbHZrHTIL+iw9xhqwemUxB3ftcQRfpuWPE95MC1NSSFJ+dEAqtAkwh8tdNidK95yyQ==";
+    };
+    dependencies = [
+      sources."accepts-1.3.8"
+      sources."ajv-6.12.6"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-3.2.1"
+      sources."any-promise-1.3.0"
+      sources."argparse-1.0.10"
+      sources."asn1-0.2.6"
+      sources."assert-plus-1.0.0"
+      sources."async-2.6.3"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bluebird-3.7.2"
+      sources."bytes-3.1.2"
+      sources."cache-content-type-1.0.1"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.2"
+      sources."cliui-7.0.4"
+      sources."co-4.6.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.8"
+      sources."content-disposition-0.5.4"
+      sources."content-type-1.0.4"
+      sources."cookies-0.8.0"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-4.3.3"
+      sources."deep-equal-1.0.1"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-2.0.0"
+      sources."destroy-1.1.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."ee-first-1.1.1"
+      sources."emoji-regex-8.0.0"
+      sources."encodeurl-1.0.2"
+      sources."escalade-3.1.1"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-4.0.1"
+      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."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."fresh-0.5.2"
+      sources."get-caller-file-2.0.5"
+      sources."getpass-0.1.7"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.5"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
+      sources."http-assert-1.5.0"
+      (sources."http-errors-1.8.1" // {
+        dependencies = [
+          sources."depd-1.1.2"
+        ];
+      })
+      sources."http-signature-1.2.0"
+      sources."humanize-number-0.0.2"
+      sources."inherits-2.0.4"
+      sources."ip-1.1.5"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-generator-function-1.0.10"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-0.0.1"
+      sources."isstream-0.1.2"
+      sources."js-yaml-3.14.1"
+      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."jsprim-1.4.2"
+      sources."keygrip-1.1.0"
+      sources."koa-2.13.4"
+      sources."koa-compose-4.2.0"
+      sources."koa-convert-2.0.0"
+      sources."koa-logger-3.2.1"
+      sources."koa-request-1.0.0"
+      (sources."koa-router-7.4.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."koa-compose-3.2.1"
+        ];
+      })
+      (sources."koa-send-4.1.3" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
+      (sources."koa-static-4.0.3" // {
+        dependencies = [
+          sources."debug-3.2.7"
+        ];
+      })
+      sources."lodash-4.17.21"
+      sources."media-typer-0.3.0"
+      sources."methods-1.1.2"
+      sources."mime-db-1.51.0"
+      sources."mime-types-2.1.34"
+      sources."ms-2.1.2"
+      sources."mz-2.7.0"
+      sources."negotiator-0.6.3"
+      (sources."node-ssdp-3.3.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+        ];
+      })
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."on-finished-2.3.0"
+      sources."only-0.0.2"
+      sources."parseurl-1.3.3"
+      sources."passthrough-counter-1.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-to-regexp-1.8.0"
+      sources."performance-now-2.1.0"
+      sources."psl-1.8.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.5.3"
+      sources."request-2.88.2"
+      sources."request-promise-core-1.1.4"
+      sources."request-promise-native-1.0.9"
+      sources."require-directory-2.1.1"
+      (sources."resolve-path-1.4.0" // {
+        dependencies = [
+          sources."depd-1.1.2"
+          sources."http-errors-1.6.3"
+          sources."inherits-2.0.3"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."setprototypeof-1.2.0"
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.17.0"
+      sources."statuses-1.5.0"
+      sources."stealthy-require-1.1.1"
+      sources."string-width-4.2.3"
+      sources."strip-ansi-6.0.1"
+      sources."supports-color-5.5.0"
+      sources."thenify-3.3.1"
+      sources."thenify-all-1.6.0"
+      sources."toidentifier-1.0.1"
+      sources."tough-cookie-2.5.0"
+      sources."tsscmp-1.0.6"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-is-1.6.18"
+      sources."uri-js-4.4.1"
+      sources."urijs-1.19.8"
+      sources."uuid-3.4.0"
+      sources."vary-1.1.2"
+      sources."verror-1.10.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."y18n-5.0.8"
+      sources."yargs-17.3.1"
+      sources."yargs-parser-21.0.0"
+      sources."ylru-1.2.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "HDHomeRun emulator for Plex DVR to connect to Tvheadend.";
+      homepage = "https://github.com/thejf/antennas#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   asar = nodeEnv.buildNodePackage {
     name = "asar";
     packageName = "asar";
@@ -76316,7 +78228,7 @@ in
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.0"
+      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"
@@ -76326,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"
@@ -76361,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"
@@ -76394,18 +78306,18 @@ in
   autoprefixer = nodeEnv.buildNodePackage {
     name = "autoprefixer";
     packageName = "autoprefixer";
-    version = "10.4.0";
+    version = "10.4.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.0.tgz";
-      sha512 = "7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==";
+      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz";
+      sha512 = "9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==";
     };
     dependencies = [
-      sources."browserslist-4.19.1"
-      sources."caniuse-lite-1.0.30001287"
-      sources."electron-to-chromium-1.4.21"
+      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"
@@ -76430,14 +78342,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-17.0.0"
+      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.1046.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -76454,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"
@@ -76469,7 +78381,7 @@ in
       sources."commander-8.3.0"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.3"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-what-5.1.0"
       sources."data-uri-to-buffer-3.0.1"
       sources."debug-4.3.3"
@@ -76511,7 +78423,7 @@ in
       sources."get-stream-5.2.0"
       sources."get-uri-3.0.2"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."htmlparser2-6.1.0"
       sources."http-errors-1.8.1"
@@ -76528,7 +78440,7 @@ in
       sources."is-interactive-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."isarray-1.0.0"
-      sources."jmespath-0.15.0"
+      sources."jmespath-0.16.0"
       sources."jsonfile-4.0.0"
       sources."levn-0.3.0"
       sources."locate-path-5.0.0"
@@ -76536,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"
@@ -76572,23 +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.4.0" // {
-        dependencies = [
-          sources."tslib-2.1.0"
-        ];
-      })
+      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"
@@ -76647,9 +78555,9 @@ in
       sha512 = "Jc5aV6fjaAnx5Rmgk26lSUAreSU4UAFrRdedTYK1x2yXB5348X5bHN7J0xUf70AUw5ujloYVkZPCw4mwuVXllg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -76665,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"
@@ -76741,7 +78649,7 @@ in
       sources."eslint-rule-docs-1.1.231"
       sources."execa-1.0.0"
       sources."extend-3.0.2"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
@@ -76754,16 +78662,16 @@ in
       sources."glob-7.2.0"
       sources."glob-option-error-1.0.0"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."indent-string-4.0.0"
       sources."indexed-filter-1.0.3"
       sources."inflight-1.0.6"
@@ -76774,7 +78682,7 @@ in
       sources."is-alphanumerical-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-decimal-1.0.4"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -76824,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"
@@ -76857,7 +78765,7 @@ in
       sources."path-key-2.0.1"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-5.0.0"
       sources."plur-4.0.0"
       sources."pluralize-8.0.0"
@@ -76940,7 +78848,7 @@ in
       sources."remark-parse-9.0.0"
       sources."remark-stringify-9.0.1"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."reusify-1.0.4"
@@ -76951,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"
@@ -76969,6 +78877,7 @@ in
       sources."strip-indent-3.0.0"
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."temp-dir-2.0.0"
       (sources."tempy-1.0.1" // {
         dependencies = [
@@ -77058,18 +78967,36 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "11.15.0";
+    version = "11.53.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.15.0.tgz";
-      sha512 = "M9z7lob87YaxDc42JLHLUyaw1+mDg4Hykk31HfZSTJ0hL8rUqxjYg5d5BHep43Ue0ZwkYgTWahBgORfLj8QR8Q==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.53.7.tgz";
+      sha512 = "ZvKd1pri9FOVt59imBWNLoY8GfP4Mld1Ci9SHFZF6VesRnkxYDvmnj+bNfCw9KDj/7EvkwlDM4PluN6YoDc67w==";
     };
     dependencies = [
-      sources."@alexbosworth/fiat-1.0.0"
+      (sources."@alexbosworth/caporal-1.4.0" // {
+        dependencies = [
+          sources."colorette-1.4.0"
+        ];
+      })
+      sources."@alexbosworth/cli-table3-0.6.1"
+      sources."@alexbosworth/fiat-1.0.1"
       sources."@alexbosworth/html2unicode-1.1.5"
       sources."@alexbosworth/node-fetch-2.6.2"
-      sources."@alexbosworth/saxophone-0.6.2"
-      sources."@grpc/grpc-js-1.4.4"
-      sources."@grpc/proto-loader-0.6.6"
+      (sources."@alexbosworth/prettyjson-1.2.1" // {
+        dependencies = [
+          sources."colors-1.1.2"
+        ];
+      })
+      (sources."@alexbosworth/saxophone-0.6.2" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
+        ];
+      })
+      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"
@@ -77089,51 +79016,40 @@ in
       sources."@types/caseless-0.12.2"
       sources."@types/connect-3.4.35"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.26"
+      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.0"
+      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.0"
+      sources."@types/ws-8.2.2"
       sources."abort-controller-3.0.0"
-      sources."accepts-1.3.7"
-      sources."ajv-8.8.2"
-      sources."ansi-0.3.1"
-      (sources."ansi-align-3.0.1" // {
+      sources."accepts-1.3.8"
+      (sources."agent-base-6.0.2" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
+          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"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-5.0.1"
       sources."ansi-styles-2.2.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."are-we-there-yet-1.1.7"
       sources."array-flatten-1.1.1"
       sources."asciichart-1.5.25"
       sources."astral-regex-2.0.0"
-      sources."async-3.2.2"
-      sources."asyncjs-util-1.2.7"
+      sources."async-3.2.3"
+      sources."asyncjs-util-1.2.8"
       sources."asynckit-0.4.0"
       sources."base-x-3.0.9"
       sources."base64-js-1.5.1"
-      (sources."basic-auth-2.0.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."basic-auth-2.0.1"
       sources."bech32-2.0.0"
       sources."bessel-1.0.2"
       sources."bindings-1.5.0"
@@ -77141,6 +79057,8 @@ in
       (sources."bip32-2.0.6" // {
         dependencies = [
           sources."@types/node-10.12.18"
+          sources."bn.js-4.12.0"
+          sources."tiny-secp256k1-1.1.6"
         ];
       })
       sources."bip65-1.0.3"
@@ -77148,26 +79066,22 @@ in
       sources."bip68-1.0.4"
       sources."bitcoin-ops-1.4.1"
       sources."bitcoinjs-lib-6.0.1"
-      sources."bl-4.1.0"
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.2.0"
-      sources."body-parser-1.19.0"
-      sources."bolt01-1.2.3"
-      (sources."bolt03-1.2.12" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
-          sources."bitcoinjs-lib-6.0.0"
+          sources."readable-stream-3.6.0"
         ];
       })
-      sources."bolt07-1.7.4"
-      sources."bolt09-0.2.0"
+      sources."bluebird-3.7.2"
+      sources."bn.js-5.2.0"
+      sources."body-parser-1.19.1"
+      sources."bolt01-1.2.3"
+      sources."bolt03-1.2.13"
+      sources."bolt07-1.8.0"
+      sources."bolt09-0.2.1"
       (sources."boxen-5.1.2" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
           sources."supports-color-7.2.0"
           sources."type-fest-0.20.2"
         ];
@@ -77176,23 +79090,16 @@ in
       sources."bs58-4.0.1"
       sources."bs58check-2.1.2"
       sources."buffer-5.7.1"
-      sources."buffer-alloc-1.2.0"
-      sources."buffer-alloc-unsafe-1.1.0"
-      sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.0"
+      sources."bytes-3.1.1"
+      sources."cacheable-lookup-6.0.4"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-6.2.1"
-      (sources."caporal-1.4.0" // {
-        dependencies = [
-          sources."colorette-1.4.0"
-        ];
-      })
+      sources."camelcase-6.3.0"
       sources."cbor-8.1.0"
       (sources."chalk-1.1.3" // {
         dependencies = [
@@ -77206,16 +79113,8 @@ in
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-1.0.2"
       sources."cli-spinners-2.6.1"
-      sources."cli-table3-0.5.1"
       sources."cli-width-2.2.1"
-      (sources."cliui-7.0.4" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
@@ -77225,21 +79124,15 @@ in
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commander-6.2.1"
-      (sources."concat-stream-1.6.2" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.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.1.2"
+          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"
@@ -77247,7 +79140,7 @@ in
       sources."create-hmac-1.1.7"
       sources."crypto-js-4.1.1"
       sources."crypto-random-string-2.0.0"
-      sources."csv-parse-5.0.3"
+      sources."csv-parse-5.0.4"
       sources."cycle-1.0.3"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
@@ -77261,7 +79154,7 @@ in
       sources."destroy-1.0.4"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."ecpair-1.0.1"
+      sources."ecpair-2.0.1"
       sources."ee-first-1.1.1"
       (sources."elliptic-6.5.4" // {
         dependencies = [
@@ -77278,9 +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."safe-buffer-5.1.2"
+          sources."safe-buffer-5.2.1"
         ];
       })
       sources."extend-3.0.2"
@@ -77298,14 +79191,20 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-stream-4.1.0"
       sources."global-dirs-3.0.0"
-      (sources."goldengate-10.4.2" // {
+      (sources."goldengate-11.0.1" // {
         dependencies = [
-          sources."bitcoinjs-lib-6.0.0"
-          sources."ln-service-52.16.0"
+          sources."invoices-2.0.3"
+          sources."ln-service-53.7.2"
         ];
       })
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
+      (sources."grammy-1.7.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
       (sources."has-ansi-2.0.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -77314,16 +79213,17 @@ in
       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."hash-base-3.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+        ];
+      })
       sources."hash.js-1.1.7"
       sources."hmac-drbg-1.0.1"
       sources."hot-formula-parser-4.0.0"
       sources."http-cache-semantics-4.1.0"
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."http-errors-1.8.1"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."import-lazy-4.0.0"
@@ -77333,35 +79233,29 @@ in
       (sources."inquirer-8.2.0" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
-          sources."ansi-regex-5.0.1"
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."cli-width-3.0.0"
           sources."external-editor-3.1.0"
           sources."figures-3.2.0"
-          sources."is-fullwidth-code-point-3.0.0"
           sources."mute-stream-0.0.8"
           sources."onetime-5.1.2"
           sources."restore-cursor-3.1.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
           sources."supports-color-7.2.0"
           sources."tmp-0.0.33"
+          sources."type-fest-0.21.3"
         ];
       })
-      (sources."invoices-2.0.2" // {
-        dependencies = [
-          sources."bitcoinjs-lib-6.0.0"
-        ];
-      })
+      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"
       sources."is-ci-2.0.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-installed-globally-0.4.0"
       sources."is-interactive-1.0.0"
       sources."is-npm-5.0.0"
@@ -77376,7 +79270,6 @@ in
       sources."is-unicode-supported-0.1.0"
       sources."is-yarn-global-0.3.0"
       sources."isarray-1.0.0"
-      sources."isnumber-1.0.0"
       sources."isstream-0.1.2"
       sources."json-buffer-3.0.0"
       sources."json-schema-traverse-1.0.0"
@@ -77386,74 +79279,155 @@ in
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
       sources."latest-version-5.1.0"
-      (sources."lightning-4.14.3" // {
+      (sources."lightning-5.6.1" // {
         dependencies = [
-          sources."@types/node-16.11.7"
-          sources."bitcoinjs-lib-6.0.0"
-          (sources."invoices-2.0.1" // {
+          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-5.2.0" // {
-                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."ln-accounting-5.0.5" // {
         dependencies = [
+          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"
+          (sources."bolt07-1.7.4" // {
+            dependencies = [
+              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 = [
+                  (sources."bitcoinjs-lib-5.2.0" // {
+                    dependencies = [
+                      sources."bech32-1.1.4"
+                    ];
+                  })
+                ];
+              })
+            ];
+          })
           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.2.0" // {
+      (sources."ln-service-53.9.1" // {
         dependencies = [
-          sources."@grpc/proto-loader-0.6.7"
-          sources."@types/node-16.11.12"
-          sources."@types/ws-8.2.2"
-          sources."lightning-5.2.1"
-          sources."type-fest-2.8.0"
-          sources."ws-8.3.0"
+          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.3.0" // {
+      (sources."ln-sync-3.10.1" // {
         dependencies = [
-          sources."@grpc/proto-loader-0.6.7"
-          sources."@types/node-16.11.12"
-          sources."@types/ws-8.2.2"
-          sources."lightning-5.2.1"
-          sources."type-fest-2.8.0"
+          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.4.2" // {
+      (sources."ln-telegram-3.17.3" // {
         dependencies = [
-          sources."@types/node-16.11.7"
-          sources."ansi-regex-5.0.1"
+          sources."@grpc/grpc-js-1.5.3"
+          sources."@types/node-17.0.16"
           sources."bech32-1.1.4"
-          sources."bitcoinjs-lib-6.0.0"
-          sources."cbor-8.0.2"
-          (sources."invoices-2.0.1" // {
+          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-5.2.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."bech32-1.1.4"
+                  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."is-fullwidth-code-point-3.0.0"
-          (sources."lightning-4.13.3" // {
-            dependencies = [
-              sources."bitcoinjs-lib-5.2.0"
-            ];
-          })
-          sources."ln-service-52.16.0"
-          sources."ln-sync-3.0.1"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-          sources."table-6.7.3"
+          sources."psbt-1.1.10"
+          sources."tiny-secp256k1-1.1.6"
+          sources."type-fest-2.10.0"
+          sources."ws-8.5.0"
         ];
       })
       sources."lodash-4.17.21"
@@ -77475,7 +79449,7 @@ in
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
-      sources."luxon-2.1.1"
+      sources."luxon-2.3.0"
       sources."macaroon-3.0.4"
       (sources."make-dir-3.1.0" // {
         dependencies = [
@@ -77497,7 +79471,6 @@ in
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
-      sources."module-alias-2.2.2"
       sources."moment-2.29.1"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -77507,9 +79480,9 @@ 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.6"
+      sources."node-fetch-2.6.7"
       sources."node-gyp-build-4.3.0"
       sources."nofilter-3.1.0"
       sources."normalize-url-4.5.1"
@@ -77522,71 +79495,55 @@ in
       sources."onetime-1.1.0"
       (sources."ora-5.4.1" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."cli-cursor-3.1.0"
           sources."onetime-5.1.2"
           sources."restore-cursor-3.1.0"
-          sources."strip-ansi-6.0.1"
           sources."supports-color-7.2.0"
         ];
       })
       sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-1.1.0"
-      sources."p-timeout-4.1.0"
       (sources."package-json-6.5.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."paid-services-3.2.0" // {
-        dependencies = [
-          sources."@grpc/proto-loader-0.6.7"
-          sources."@types/node-16.11.11"
-          sources."@types/ws-8.2.1"
-          sources."lightning-5.1.1"
-          sources."ln-service-53.1.2"
-          sources."type-fest-2.8.0"
-          sources."ws-8.3.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."prettyjson-1.2.1"
-      (sources."probing-2.0.1" // {
+      (sources."probing-2.0.3" // {
         dependencies = [
-          sources."ln-service-52.16.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."psbt-2.0.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."pushdata-bitcoin-1.0.1"
       sources."qrcode-terminal-0.12.0"
-      sources."qs-6.7.0"
+      sources."qs-6.9.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."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
         ];
       })
-      sources."readable-stream-3.6.0"
+      sources."readable-stream-2.3.7"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."require-directory-2.1.1"
@@ -77596,52 +79553,49 @@ in
       sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
       sources."rx-4.1.0"
-      sources."rxjs-7.4.0"
-      sources."safe-buffer-5.2.1"
-      sources."safe-compare-1.1.4"
+      sources."rxjs-7.5.4"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."sandwich-stream-2.0.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."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.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."is-fullwidth-code-point-3.0.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."stats-lite-2.2.0"
       sources."statuses-1.5.0"
-      sources."string-width-2.1.1"
-      sources."string_decoder-1.3.0"
-      sources."strip-ansi-4.0.0"
+      sources."string-width-4.2.3"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."table-6.7.5" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."table-6.8.0"
       (sources."tabtab-2.2.2" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -77651,33 +79605,23 @@ in
           sources."strip-ansi-3.0.1"
         ];
       })
-      (sources."telegraf-4.5.2" // {
-        dependencies = [
-          sources."debug-4.3.3"
-          sources."ms-2.1.2"
-        ];
-      })
       sources."through-2.3.8"
       sources."tiny-emitter-2.1.0"
-      (sources."tiny-secp256k1-1.1.6" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
+      sources."tiny-secp256k1-2.2.0"
       sources."tmp-0.0.29"
       sources."to-readable-stream-1.0.0"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."truncate-utf8-bytes-1.0.2"
-      sources."tslib-2.1.0"
+      sources."tslib-2.3.1"
       sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
-      sources."type-fest-0.21.3"
+      sources."type-fest-2.11.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."typeforce-1.18.0"
-      sources."typegram-3.6.2"
+      sources."uint8array-tools-0.0.6"
       sources."unique-string-2.0.0"
       sources."unpipe-1.0.0"
       (sources."update-notifier-5.1.0" // {
@@ -77698,14 +79642,7 @@ in
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
-      (sources."widest-line-3.1.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."widest-line-3.1.0"
       sources."wif-2.0.6"
       sources."window-size-1.1.1"
       (sources."winston-2.4.5" // {
@@ -77716,27 +79653,16 @@ in
       })
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
           sources."ansi-styles-4.3.0"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
         ];
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-8.2.3"
+      sources."ws-8.4.2"
       sources."xdg-basedir-4.0.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      (sources."yargs-16.2.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."yargs-16.2.0"
       sources."yargs-parser-20.2.9"
     ];
     buildInputs = globalBuildInputs;
@@ -77830,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"
@@ -77842,7 +79768,7 @@ in
       sources."prelude-ls-1.1.2"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."request-2.88.2"
       sources."request-promise-core-1.1.4"
       sources."request-promise-native-1.0.9"
@@ -77850,7 +79776,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."source-map-0.6.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stealthy-require-1.1.1"
       sources."symbol-tree-3.2.4"
       sources."tough-cookie-2.5.0"
@@ -77860,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"
@@ -77992,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"
@@ -78032,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"
@@ -78101,7 +80027,7 @@ in
       sources."find-up-1.1.2"
       (sources."fs-extra-0.26.7" // {
         dependencies = [
-          sources."graceful-fs-4.2.8"
+          sources."graceful-fs-4.2.9"
         ];
       })
       sources."fs.realpath-1.0.0"
@@ -78116,23 +80042,23 @@ in
       sources."inherits-2.0.4"
       sources."intersect-1.0.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-finite-1.1.0"
       sources."is-plain-obj-1.1.0"
       sources."is-utf8-0.2.1"
       (sources."jsonfile-2.4.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.8"
+          sources."graceful-fs-4.2.9"
         ];
       })
       (sources."klaw-1.3.1" // {
         dependencies = [
-          sources."graceful-fs-4.2.8"
+          sources."graceful-fs-4.2.9"
         ];
       })
       (sources."load-json-file-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.8"
+          sources."graceful-fs-4.2.9"
         ];
       })
       sources."lodash-4.2.1"
@@ -78140,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"
@@ -78155,7 +80081,7 @@ in
       sources."path-parse-1.0.7"
       (sources."path-type-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.8"
+          sources."graceful-fs-4.2.9"
         ];
       })
       sources."pify-2.3.0"
@@ -78167,14 +80093,14 @@ in
       sources."read-pkg-up-1.0.1"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       (sources."rimraf-2.7.1" // {
         dependencies = [
           sources."glob-7.2.0"
         ];
       })
       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"
@@ -78184,6 +80110,7 @@ in
       sources."sprintf-js-1.0.3"
       sources."strip-bom-2.0.0"
       sources."strip-indent-1.0.1"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."temp-0.8.3" // {
         dependencies = [
           sources."rimraf-2.2.8"
@@ -78249,7 +80176,7 @@ in
       sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
-      sources."cached-path-relative-1.0.2"
+      sources."cached-path-relative-1.1.0"
       sources."call-bind-1.0.2"
       sources."cipher-base-1.0.4"
       sources."combine-source-map-0.8.0"
@@ -78321,7 +80248,7 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-date-object-1.0.5"
       sources."is-generator-function-1.0.10"
       sources."is-negative-zero-2.0.2"
@@ -78344,12 +80271,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-classic-0.5.3"
       sources."module-deps-6.2.3"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."once-1.4.0"
@@ -78381,7 +80308,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -78407,6 +80334,7 @@ in
       sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.3.0"
       sources."subarg-1.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."syntax-error-1.4.0"
       sources."through-2.3.8"
       sources."through2-2.0.5"
@@ -78448,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"
@@ -78470,10 +80398,10 @@ 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.2"
+      sources."chokidar-3.5.3"
       (sources."cliui-7.0.4" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
@@ -78493,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"
@@ -78525,13 +80453,13 @@ in
         ];
       })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."fresh-0.5.2"
       sources."fs-extra-3.0.1"
       sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-ansi-2.0.0"
       sources."has-binary2-1.0.3"
       sources."has-cors-1.1.0"
@@ -78569,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"
@@ -78584,11 +80512,11 @@ in
       sources."parseuri-0.0.6"
       sources."parseurl-1.3.3"
       sources."path-exists-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       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"
@@ -78697,18 +80625,18 @@ in
       sha512 = "lGrnNrAGb+SjksV92nG2zvm0Mxt7q9bTMNIqQXGTf/AsdrxQDjV097izcRnrBoy41fRS1//J7TuNCH/oAsOteg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/types-7.16.0"
+      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.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"
@@ -78720,7 +80648,7 @@ in
       sources."asn1-0.2.6"
       sources."assert-never-1.2.1"
       sources."assert-plus-1.0.0"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
@@ -78744,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"
         ];
@@ -78756,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"
@@ -78764,7 +80692,7 @@ in
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."charenc-0.0.2"
-      sources."chart.js-3.6.2"
+      sources."chart.js-3.7.1"
       sources."cipher-base-1.0.4"
       sources."cliui-6.0.0"
       sources."color-convert-1.9.3"
@@ -78779,7 +80707,11 @@ in
       })
       sources."concat-map-0.0.1"
       sources."constantinople-4.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.1"
       sources."cookie-parser-1.4.6"
@@ -78836,19 +80768,12 @@ in
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
-      sources."event-loop-stats-1.3.0"
-      (sources."express-4.17.1" // {
+      sources."event-loop-stats-1.4.1"
+      (sources."express-4.17.3" // {
         dependencies = [
-          sources."body-parser-1.19.0"
-          sources."bytes-3.1.0"
-          sources."cookie-0.4.0"
+          sources."cookie-0.4.2"
           sources."debug-2.6.9"
-          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."express-async-handler-1.2.0"
@@ -78870,7 +80795,7 @@ in
         ];
       })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
@@ -78894,7 +80819,7 @@ in
       })
       sources."hash.js-1.1.7"
       sources."hmac-drbg-1.0.1"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-errors-1.8.1"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
@@ -78904,7 +80829,7 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-expression-4.0.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
@@ -78934,7 +80859,7 @@ in
       sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.3.0"
-      (sources."markdown-it-12.3.0" // {
+      (sources."markdown-it-12.3.2" // {
         dependencies = [
           sources."argparse-2.0.1"
           sources."entities-2.1.0"
@@ -78955,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"
@@ -78971,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"
@@ -79012,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"
@@ -79039,12 +80964,12 @@ in
       sources."redis-parser-3.0.0"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
         ];
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."rimraf-2.4.5"
       sources."ripemd160-2.0.2"
       sources."rndm-1.2.0"
@@ -79052,17 +80977,14 @@ in
       sources."safe-json-stringify-1.2.0"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          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-favicon-2.5.0" // {
@@ -79071,7 +80993,7 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.1"
+      sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
@@ -79081,7 +81003,7 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."standard-error-1.1.0"
       sources."statuses-1.5.0"
       sources."string-width-4.2.3"
@@ -79093,6 +81015,7 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-indent-3.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tiny-secp256k1-1.1.6"
       sources."to-fast-properties-2.0.0"
       sources."toidentifier-1.0.1"
@@ -79167,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.0"
+      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"
@@ -79229,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" // {
@@ -79262,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"
@@ -79290,7 +81214,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
       sources."got-1.2.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -79309,7 +81233,7 @@ in
       sources."ip-set-1.0.2"
       sources."ipaddr.js-2.0.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-finite-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -79351,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"
@@ -79421,12 +81345,12 @@ in
       })
       sources."punycode-2.1.1"
       sources."qap-3.3.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."query-string-1.0.1"
       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"
@@ -79454,7 +81378,7 @@ in
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."request-2.88.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."rimraf-2.7.1"
       sources."router-0.6.2"
       sources."run-parallel-1.2.0"
@@ -79465,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"
@@ -79497,7 +81421,7 @@ in
       sources."spdx-license-ids-3.0.11"
       sources."speedometer-0.1.4"
       sources."srt2vtt-1.3.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stream-transcoder-0.0.5"
       sources."string2compact-1.3.2"
       sources."string_decoder-0.10.31"
@@ -79506,6 +81430,7 @@ in
       sources."strip-indent-1.0.1"
       sources."strip-json-comments-0.1.3"
       sources."supports-color-1.3.1"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."thirty-two-1.0.2"
       sources."through-2.3.8"
       sources."thunky-0.1.0"
@@ -79633,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"
@@ -79780,7 +81705,7 @@ in
       sources."global-dirs-0.1.1"
       sources."globby-8.0.2"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
         dependencies = [
@@ -79815,7 +81740,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
       sources."is-ci-1.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -79901,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" // {
@@ -79984,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"
@@ -79995,7 +81920,7 @@ in
       sources."registry-url-3.1.0"
       sources."repeat-element-1.1.4"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
@@ -80016,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" // {
@@ -80091,6 +82016,7 @@ in
       sources."strip-indent-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-1.2.0"
       sources."temp-dir-1.0.0"
       sources."tempy-0.2.1"
@@ -80171,30 +82097,34 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.52";
+    version = "1.0.104";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.52.tgz";
-      sha512 = "FNSI8peew5FAsgZQ2cxE4asAazudoNVoEGCFNbZ3VyCXz+77wxl6BrslHf6LeHKYEnP8Qfk3NjqZuR2178u2Bw==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.104.tgz";
+      sha512 = "/JiR7ynoMTH8G3efHuzvdpWI2VX+3W2XRRWOILoSLquV97o4g2P9QD1ElpgLRysOarcxHHfb3hvbYSUAI6OYug==";
     };
     dependencies = [
-      sources."@jsii/check-node-1.49.0"
-      sources."@jsii/spec-1.49.0"
-      sources."@types/node-12.20.37"
-      sources."@xmldom/xmldom-0.7.5"
-      sources."ajv-8.8.2"
+      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.2.1"
+      sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.3.2"
-      sources."cdk8s-plus-22-1.0.0-beta.62"
+      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.49.0" // {
+      (sources."codemaker-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -80203,8 +82133,8 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-3.3.166"
-      sources."date-format-3.0.0"
+      sources."constructs-3.3.223"
+      sources."date-format-4.0.3"
       sources."debug-4.3.3"
       sources."decamelize-5.0.1"
       sources."deep-equal-2.0.5"
@@ -80220,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-2.0.2"
+      sources."flatted-3.2.5"
       sources."foreach-2.0.5"
       (sources."fs-extra-8.1.0" // {
         dependencies = [
@@ -80233,7 +82166,8 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
-      sources."graceful-fs-4.2.8"
+      sources."glob-parent-5.1.2"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-flag-4.0.0"
@@ -80245,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"
@@ -80259,64 +82196,70 @@ in
       sources."is-weakref-1.0.2"
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
-      (sources."jsii-1.49.0" // {
+      (sources."jsii-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.49.0" // {
+      (sources."jsii-pacmak-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.49.0" // {
+      (sources."jsii-reflect-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.49.0" // {
+      (sources."jsii-rosetta-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.426" // {
+      (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.81"
+      sources."json2jsii-0.2.142"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
-      sources."log4js-6.3.0"
+      sources."log4js-6.4.1"
       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"
       sources."no-case-3.0.4"
-      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.assign-4.1.2"
-      sources."oo-ascii-tree-1.49.0"
+      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."regexp.prototype.flags-1.3.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 = [
@@ -80326,12 +82269,12 @@ 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.151"
-      (sources."streamroller-2.2.4" // {
+      sources."sscaff-1.2.208"
+      (sources."streamroller-3.0.2" // {
         dependencies = [
-          sources."date-format-2.1.0"
+          sources."fs-extra-10.0.0"
         ];
       })
       sources."string-width-4.2.3"
@@ -80340,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"
@@ -80349,12 +82293,12 @@ in
       sources."which-collection-1.0.1"
       sources."which-module-2.0.0"
       sources."which-typed-array-1.1.7"
-      sources."workerpool-6.1.5"
+      sources."workerpool-6.2.0"
       sources."wrap-ansi-7.0.0"
       sources."xmlbuilder-15.1.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yaml-2.0.0-9"
+      sources."yaml-2.0.0-10"
       (sources."yargs-15.4.1" // {
         dependencies = [
           sources."camelcase-5.3.1"
@@ -80379,23 +82323,23 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.8.3";
+    version = "0.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.8.3.tgz";
-      sha512 = "T1cFortUf0IZKKXIxlNZLAdJ+7+OGi1cD0aN+X8gx8wD4V171f+d/bP2wALGZOstABd6gTzvBZbzEjK7BZgWFg==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.9.1.tgz";
+      sha512 = "Qa542vXUXn8tzqGkcAvLWGSpFbhOXalOystXu8sSZn82eCpCTo2CxEpoHOFeUgNkymUOFwWawl5+CIMYr7V1+Q==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/template-7.16.0"
-      sources."@babel/types-7.16.0"
-      sources."@cdktf/hcl2cdk-0.8.3"
-      sources."@cdktf/hcl2json-0.8.3"
-      sources."@cdktf/provider-generator-0.8.3"
-      (sources."@jsii/check-node-1.49.0" // {
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/generator-7.17.3"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/template-7.16.7"
+      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"
@@ -80405,10 +82349,13 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jsii/spec-1.49.0"
-      sources."@types/node-17.0.0"
-      sources."@types/node-fetch-2.5.12"
-      sources."@xmldom/xmldom-0.7.5"
+      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"
@@ -80416,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.2.1"
+      sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdktf-0.8.3"
+      sources."cdktf-0.9.1"
       sources."chalk-2.4.2"
       sources."cliui-6.0.0"
       sources."clone-2.1.2"
@@ -80430,12 +82378,11 @@ 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.12"
-      sources."date-format-3.0.0"
+      sources."constructs-10.0.68"
+      sources."date-format-4.0.3"
       sources."debug-4.3.3"
       sources."decamelize-1.2.0"
       sources."deep-equal-2.0.5"
@@ -80451,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-2.0.2"
+      sources."flatted-3.2.5"
       sources."foreach-2.0.5"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
@@ -80461,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."graceful-fs-4.2.8"
-      sources."graphology-0.20.0"
-      sources."graphology-types-0.19.5"
+      sources."glob-7.2.0"
+      sources."glob-parent-5.1.2"
+      sources."graceful-fs-4.2.9"
+      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"
@@ -80478,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"
@@ -80495,14 +82449,17 @@ in
       sources."isarray-2.0.5"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      (sources."jsii-1.49.0" // {
+      (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"
@@ -80510,11 +82467,11 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-pacmak-1.49.0" // {
+      (sources."jsii-pacmak-1.54.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
-          sources."codemaker-1.49.0"
+          sources."codemaker-1.54.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."decamelize-5.0.1"
@@ -80528,14 +82485,17 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-reflect-1.49.0" // {
+      (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"
@@ -80543,7 +82503,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-rosetta-1.49.0" // {
+      (sources."jsii-rosetta-1.54.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -80558,7 +82518,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.426" // {
+      (sources."jsii-srcmak-0.1.482" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -80569,35 +82529,41 @@ in
       sources."jsonfile-4.0.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
-      sources."log4js-6.3.0"
+      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"
-      sources."node-fetch-2.6.6"
-      sources."object-inspect-1.11.1"
+      sources."node-fetch-2.6.7"
+      sources."object-inspect-1.12.0"
       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.49.0"
+      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."regexp.prototype.flags-1.3.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 = [
@@ -80606,12 +82572,14 @@ 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-2.2.4" // {
+      (sources."streamroller-3.0.2" // {
         dependencies = [
-          sources."date-format-2.1.0"
+          sources."fs-extra-10.0.0"
+          sources."jsonfile-6.1.0"
+          sources."universalify-2.0.0"
         ];
       })
       sources."string-width-4.2.3"
@@ -80621,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"
@@ -80631,7 +82600,7 @@ in
       sources."which-collection-1.0.1"
       sources."which-module-2.0.0"
       sources."which-typed-array-1.1.7"
-      sources."workerpool-6.1.5"
+      sources."workerpool-6.2.0"
       (sources."wrap-ansi-6.2.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -80643,7 +82612,7 @@ in
       sources."xmlbuilder-15.1.1"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
-      (sources."yargs-17.3.0" // {
+      (sources."yargs-17.3.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -80674,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"
@@ -80685,8 +82654,8 @@ in
       sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."chokidar-3.5.2"
-      sources."clean-css-5.2.2"
+      sources."chokidar-3.5.3"
+      sources."clean-css-5.2.4"
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."fill-range-7.0.1"
@@ -80700,11 +82669,11 @@ 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"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."readdirp-3.6.0"
       sources."source-map-0.6.1"
       sources."to-regex-range-5.0.1"
@@ -80729,16 +82698,16 @@ in
       sha512 = "DbwDqv+O4AIbUqLmT3w7J/Fo8uT9bNmy7oRzykTUEIcrEL0DozGNOjxjiwwcKSLLf1fXKmjdLolui+OB3j1vYg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."ansi-styles-3.2.1"
       sources."arch-2.2.0"
       sources."arrify-1.0.1"
-      sources."camelcase-6.2.1"
-      sources."camelcase-keys-7.0.1"
+      sources."camelcase-6.3.0"
+      sources."camelcase-keys-7.0.2"
       sources."chalk-2.4.2"
       sources."clipboardy-3.0.0"
       sources."color-convert-1.9.3"
@@ -80761,11 +82730,11 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."human-signals-2.1.0"
       sources."indent-string-5.0.0"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-docker-2.2.1"
       sources."is-plain-obj-1.1.0"
       sources."is-stream-2.0.1"
@@ -80798,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"
@@ -80833,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"
@@ -80840,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"
@@ -80859,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.0"
+      sources."prompt-1.2.2"
       sources."punycode-2.1.1"
       sources."query-string-6.14.1"
       sources."read-1.0.7"
@@ -80877,7 +82847,6 @@ in
       (sources."winston-2.4.5" // {
         dependencies = [
           sources."async-1.0.0"
-          sources."colors-1.0.3"
         ];
       })
     ];
@@ -80894,10 +82863,10 @@ in
   coc-clangd = nodeEnv.buildNodePackage {
     name = "coc-clangd";
     packageName = "coc-clangd";
-    version = "0.17.0";
+    version = "0.20.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.17.0.tgz";
-      sha512 = "TTuzPUw9R1UqszC9uPmijXmCtMhTI5QVc0L8rqKDnIhhaqy99XyOK7zTr4Uw7qmAs4dZSTHonzjbAEkR4zcqFg==";
+      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.20.1.tgz";
+      sha512 = "0c5ZTX97cOJPSbYaIvUo2fGn0sSB3ZIYdhfhnXAX51c86aUgYqVE0Us3VVfFAnLmVvoufu8uW4fmtZXTAWahBw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -80930,10 +82899,10 @@ in
   coc-css = nodeEnv.buildNodePackage {
     name = "coc-css";
     packageName = "coc-css";
-    version = "1.2.6";
+    version = "1.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-css/-/coc-css-1.2.6.tgz";
-      sha512 = "eVzucf/n0T9Sap+9HbKeW6XhMle1Q/2aURaE9BVTNHFW9eqFlKq72l/38NzrUYbdCpQh8foDsoKAqbFsAnBFYw==";
+      url = "https://registry.npmjs.org/coc-css/-/coc-css-1.3.0.tgz";
+      sha512 = "adpUCwj1sFK+6RFXVDUYZe3oC+I1dre4XoWVZY7H05Fn7r7sa5QbpQ/F+kIce2sveQbsVoLTR7mfr18wH7Ru+w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -80988,10 +82957,10 @@ in
   coc-eslint = nodeEnv.buildNodePackage {
     name = "coc-eslint";
     packageName = "coc-eslint";
-    version = "1.4.5";
+    version = "1.5.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-eslint/-/coc-eslint-1.4.5.tgz";
-      sha512 = "+xt0bn1nG348Q2tERiL44a/20a+NeDJLtwh7Gnn5VjOQ64OYUGrbAbQphskdVZyLE5qRDTvyiLArN+IxDsmpQQ==";
+      url = "https://registry.npmjs.org/coc-eslint/-/coc-eslint-1.5.6.tgz";
+      sha512 = "FXi6gZE0NpiPeFoc3BW4BBv33KA2Vl8JFltWb2i9TXS3zXWXfIilRFh7iQiFclIAYaQxO/i6qbaSqatd6+BksA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81006,10 +82975,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.20.2";
+    version = "0.22.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.20.2.tgz";
-      sha512 = "T/LC5zNmFVDnimzILdZhbK3XvMG+rokGdUIifmNdlGJN3q1SiDyIMJKVAVg9ugWItaz03u+SZkYdxXrMIUzwzA==";
+      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"
@@ -81022,7 +82991,6 @@ in
       sources."clean-stack-2.2.0"
       sources."concat-map-0.0.1"
       sources."cross-spawn-7.0.3"
-      sources."define-lazy-prop-2.0.0"
       sources."dir-glob-2.2.2"
       sources."end-of-stream-1.4.4"
       sources."execa-2.1.0"
@@ -81034,15 +83002,13 @@ in
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-docker-2.2.1"
       sources."is-path-inside-3.0.3"
       sources."is-stream-2.0.1"
-      sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       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"
@@ -81053,7 +83019,6 @@ in
       sources."npm-run-path-3.1.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."open-8.4.0"
       sources."os-homedir-1.0.2"
       sources."p-finally-2.0.1"
       sources."p-map-4.0.0"
@@ -81068,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"
@@ -81092,10 +83057,10 @@ in
   coc-git = nodeEnv.buildNodePackage {
     name = "coc-git";
     packageName = "coc-git";
-    version = "2.4.3";
+    version = "2.4.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.4.3.tgz";
-      sha512 = "JJq0jIXe4UyOI51JkyqQYPoAVXkTYWUuYBpWI/FMEDC/RVF8myL42GmqAZN3ikGhO/ErA/r4KmVhhb1UrfQqIQ==";
+      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.4.7.tgz";
+      sha512 = "rtt2W7g8oTfg1ZAIu+Y3gDqI305j68edgJJjWpdTSQHZXq2i9T0keaWHZAIdgV819wxTcBoaghCLNjDf1rPHJA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81110,18 +83075,18 @@ in
   coc-go = nodeEnv.buildNodePackage {
     name = "coc-go";
     packageName = "coc-go";
-    version = "1.0.0";
+    version = "1.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-go/-/coc-go-1.0.0.tgz";
-      sha512 = "KWKf5vius3IZrdPPmnMqiPayeWa9ve/x7N2JHHgwgGY+3WtXSuyfWa4LSL2ZIdiZsSrCDHEhGaAtN7naP8MxiA==";
+      url = "https://registry.npmjs.org/coc-go/-/coc-go-1.1.0.tgz";
+      sha512 = "TWVSA2l2vTFSb+F1FJAPSLOntDALjqpvyNL9vWIwKeRKRCWdUI9klQcYTMlCRCPKbthzuD4xUq6bW3wvuoZUBg==";
     };
     dependencies = [
       sources."isexe-2.0.0"
-      sources."node-fetch-2.6.6"
+      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-uri-3.0.2"
+      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"
       sources."which-2.0.2"
@@ -81138,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 = {
@@ -81155,17 +83120,17 @@ in
   coc-html = nodeEnv.buildNodePackage {
     name = "coc-html";
     packageName = "coc-html";
-    version = "1.4.1";
+    version = "1.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-html/-/coc-html-1.4.1.tgz";
-      sha512 = "7SHQYzpRKPrpaLcTm1UUk1zu9VvFEJKFqxwDIuqv/CL0cBTtEvlsfpVh9DOaMHlZPu8U8Lgyf04bHV/sFS1zJw==";
+      url = "https://registry.npmjs.org/coc-html/-/coc-html-1.6.1.tgz";
+      sha512 = "HtFYiBx2ZIFairTsfDwLsMUTGwlH498VzAipWZeCOIGf7ZXetEbv0t+wr7IAy2KMIwhlmzoMsi5aHSlUupxGHA==";
     };
     dependencies = [
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "Html extension for coc";
+      description = "Html extension for coc.nvim";
       homepage = "https://github.com/neoclide/coc-html#readme";
       license = "MIT";
     };
@@ -81193,10 +83158,10 @@ in
   coc-java = nodeEnv.buildNodePackage {
     name = "coc-java";
     packageName = "coc-java";
-    version = "1.5.4";
+    version = "1.5.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-java/-/coc-java-1.5.4.tgz";
-      sha512 = "6/dloBU+OuRHO/YxX/vWYEFykCQSyN+ASTiwIw0O/l5CyDh9E967sLtodN9uH/MAyExOYfl5i65zI20CMZ6zDQ==";
+      url = "https://registry.npmjs.org/coc-java/-/coc-java-1.5.5.tgz";
+      sha512 = "vJ0W7q6w+ZulC+/oxq7Shbu2MswPLg9jZSCYqi+rxq9LLSPPJ6GHsPQgQxfFX4C5yvY3GQjl8mWUT60JHbgd+g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81229,35 +83194,11 @@ in
   coc-json = nodeEnv.buildNodePackage {
     name = "coc-json";
     packageName = "coc-json";
-    version = "1.3.6";
+    version = "1.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-json/-/coc-json-1.3.6.tgz";
-      sha512 = "iUKVNmYMZEBpniRRy7iXzcYqDCfamRMU4OOb1b9M9Zi68xbwsu1JVl0ARw5FVCv40ELszK+w/6jKlpS97kTU8w==";
+      url = "https://registry.npmjs.org/coc-json/-/coc-json-1.4.1.tgz";
+      sha512 = "yLHeA46XFmglKiGJSiRgCcEIGMFD6iYIN/xSSXHJiUoW8kMHkoIdXxMjzE1zCaogH8uVa26mrfNYw90UyhSD4w==";
     };
-    dependencies = [
-      sources."agent-base-4.3.0"
-      sources."debug-3.1.0"
-      sources."es6-promise-4.2.8"
-      sources."es6-promisify-5.0.0"
-      sources."http-proxy-agent-2.1.0"
-      sources."https-proxy-agent-2.2.4"
-      sources."jsonc-parser-3.0.0"
-      sources."ms-2.0.0"
-      sources."request-light-0.4.0"
-      sources."vscode-json-languageserver-1.3.4"
-      (sources."vscode-json-languageservice-4.1.10" // {
-        dependencies = [
-          sources."vscode-nls-5.0.0"
-        ];
-      })
-      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-4.1.2"
-      sources."vscode-uri-3.0.2"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Json extension for coc.nvim";
@@ -81288,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 = {
@@ -81306,13 +83247,13 @@ in
   coc-metals = nodeEnv.buildNodePackage {
     name = "coc-metals";
     packageName = "coc-metals";
-    version = "1.0.11";
+    version = "1.0.12";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-metals/-/coc-metals-1.0.11.tgz";
-      sha512 = "6AT89AXRnCUpWukcMOOy8Y4MJ0eO+h61dRtSyK9zXL1Qc7V2Mj42EI/LYohEFXRPPR6EeyaIiYxip7NPkgRvSg==";
+      url = "https://registry.npmjs.org/coc-metals/-/coc-metals-1.0.12.tgz";
+      sha512 = "mRjStj+wjmqp9Lb3cDYegz+cavykWNYQf1ecdwrF2HEtbKVIcc+k62NS5wM6QVB5Y6FD2OxjPNWcoQmIFM1cfQ==";
     };
     dependencies = [
-      sources."@chemzqm/neovim-5.4.0"
+      sources."@chemzqm/neovim-5.7.4"
       sources."@tootallnate/once-1.1.2"
       sources."agent-base-6.0.2"
       sources."arch-2.2.0"
@@ -81326,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"
@@ -81341,7 +83282,7 @@ in
           sources."which-1.3.1"
         ];
       })
-      sources."date-format-3.0.0"
+      sources."date-format-4.0.3"
       sources."debounce-1.2.1"
       sources."debug-4.3.3"
       sources."deep-extend-0.6.0"
@@ -81354,10 +83295,10 @@ in
       sources."execa-1.0.0"
       sources."fast-diff-1.2.0"
       sources."fb-watchman-2.0.1"
-      sources."flatted-2.0.2"
-      sources."follow-redirects-1.14.6"
-      sources."fp-ts-2.11.5"
-      sources."fs-extra-8.1.0"
+      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"
       sources."fs.realpath-1.0.0"
       (sources."fstream-1.0.12" // {
@@ -81371,7 +83312,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
@@ -81402,7 +83343,7 @@ in
       sources."isexe-2.0.0"
       sources."isuri-2.0.3"
       sources."jsonc-parser-2.3.1"
-      sources."jsonfile-4.0.0"
+      sources."jsonfile-6.1.0"
       sources."listenercount-1.0.1"
       (sources."locate-java-home-1.1.2" // {
         dependencies = [
@@ -81410,10 +83351,10 @@ in
         ];
       })
       sources."lodash-4.17.21"
-      sources."log4js-6.3.0"
+      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"
@@ -81429,10 +83370,10 @@ in
       })
       sources."ncp-2.0.0"
       sources."nice-try-1.0.5"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."node-int64-0.4.0"
       sources."npm-run-path-2.0.2"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."once-1.4.0"
@@ -81459,12 +83400,8 @@ 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."streamroller-2.2.4" // {
-        dependencies = [
-          sources."date-format-2.1.0"
-        ];
-      })
+      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"
       (sources."string_decoder-1.1.1" // {
@@ -81479,7 +83416,7 @@ in
       sources."traverse-0.3.9"
       sources."tslib-2.3.1"
       sources."unbox-primitive-1.0.1"
-      sources."universalify-0.1.2"
+      sources."universalify-2.0.0"
       sources."unzipper-0.10.11"
       sources."util-deprecate-1.0.2"
       sources."uuid-7.0.3"
@@ -81489,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"
@@ -81511,10 +83448,10 @@ in
   coc-pairs = nodeEnv.buildNodePackage {
     name = "coc-pairs";
     packageName = "coc-pairs";
-    version = "1.3.0";
+    version = "1.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.3.0.tgz";
-      sha512 = "elI1hdsA5VNBKoEAo6gkNpYu3Ze5rxZIhhIfE+mPnFoT/KsaWlcidyv2HBHBOawiudMsuWhNYbWfn6hoR2abUg==";
+      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.3.2.tgz";
+      sha512 = "dinOWxcKvSghIEyRHy0vfjIUturfX1HiRHZ+vyInHXP3lXFq1SQF3B9RzwHj1eXjfmqKMDVsgwjAftAx8j8Rbw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81529,979 +83466,18 @@ in
   coc-prettier = nodeEnv.buildNodePackage {
     name = "coc-prettier";
     packageName = "coc-prettier";
-    version = "1.1.24";
+    version = "9.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.24.tgz";
-      sha512 = "nVsvnTFI02RBEs+O7geMsVdhoDQDW/b7GQN9GJRiLbyPS7LTArKf1G6dkX6gQgLBR5lOYQWiuw54iIyMgqc29Q==";
+      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.15.7"
-      (sources."@babel/highlight-7.16.0" // {
-        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.30001287"
-      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.0"
-      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.21"
-      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.8"
-      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.0"
-      (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.20.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."svg-tags-1.0.0"
-      (sources."table-6.7.5" // {
-        dependencies = [
-          sources."ajv-8.8.2"
-          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;
@@ -82511,13 +83487,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.194";
+    version = "1.1.220";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.194.tgz";
-      sha512 = "+OOz8r1rNCC5YL61NIQaDrDeFHOuHQ61NhqvIp9bcALigrexK0WjIWY+SI+1t+GoEiM8e0zpWRxwdyueZKLpGA==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.220.tgz";
+      sha512 = "M0GVuo8jgQxI/YqkExByeAkjwEvu8uqGicYD4zRctxU/THd1CQUvIWWFDKB1a7co8sCntZlMnhqqxAF4CLyYQw==";
     };
     dependencies = [
-      sources."pyright-1.1.196"
+      sources."pyright-1.1.223"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -82558,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;
@@ -82591,10 +83567,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.57.0";
+    version = "0.60.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.57.0.tgz";
-      sha512 = "mZsgreUpluLmDokJ3jfCrTbpQcZIUdlfyPMF4sD0o5FB+ufEz/IL3QRGcHIfKj9enyY1ZBo932z8RW/UxTswVg==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.60.0.tgz";
+      sha512 = "GbRP3O/ZmnjiAnPDtqoQ+jJIzgCwinENp8lxlQdSPkXjW2vwgd4DTkYLU2p3/0BMoHn9zNCzM5iBO+OLei5upA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -82627,10 +83603,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "2.4.6";
+    version = "2.4.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.6.tgz";
-      sha512 = "lWtv+2+WEdkiCfplZtUzPy9TFkmrk0ajjpgil1KersbmiBeoylLuqgiVVY6u3gmiofr/5AG1DD20Qj8Vg6M0jg==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.8.tgz";
+      sha512 = "Ku7Hf2MYJwYGuGMz6Qt9k46NQd+9+VcF0MeKuVTpIPtVIaKqRtKg6alDL+less7r6U2twIKWQTdYeqRCZBLnag==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -82644,10 +83620,10 @@ in
   coc-solargraph = nodeEnv.buildNodePackage {
     name = "coc-solargraph";
     packageName = "coc-solargraph";
-    version = "1.2.2";
+    version = "1.2.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-solargraph/-/coc-solargraph-1.2.2.tgz";
-      sha512 = "KwL3QM6RXsungMkjF0wXsJ6CZuP5h/Lll54Hs49OTJskbQaJTh98DCaCWiIKqBXIuAfxaESEQNihLT2MyefL+Q==";
+      url = "https://registry.npmjs.org/coc-solargraph/-/coc-solargraph-1.2.3.tgz";
+      sha512 = "271smxh06nFDBJ/xfVYmrW8IosGWQzApBzYt244mbbBlMhcJBV5W9CvT2SuhrU9bp8ZM6jw9BWYgD/ex8311Lw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -82667,31 +83643,35 @@ in
       sha512 = "+GYR6KTvHQnqu0j1kXT30hRZMuCwG/G52wG/19LSPE+p9Q0i8XFH6582T0btTu39xz2TPsDOGjT1VgyRw2urug==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      sources."@babel/core-7.16.5"
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-compilation-targets-7.16.3"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.16.5"
-      (sources."@babel/highlight-7.16.0" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      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"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      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/helper-validator-option-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.6"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/template-7.16.7"
+      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"
@@ -82702,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.8.2"
+      sources."ajv-8.10.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -82721,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.30001287"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -82762,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.21"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -82772,14 +83752,14 @@ in
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastest-levenshtein-1.0.12"
       sources."fastq-1.13.0"
       sources."file-entry-cache-6.0.1"
       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"
@@ -82789,16 +83769,16 @@ in
       sources."global-modules-2.0.0"
       sources."global-prefix-3.0.0"
       sources."globals-11.12.0"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."globjoin-0.1.4"
       sources."gonzales-pe-4.3.0"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."html-tags-3.1.0"
       sources."htmlparser2-3.10.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
           sources."resolve-from-4.0.0"
@@ -82814,7 +83794,7 @@ in
       sources."is-alphanumerical-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-decimal-1.0.4"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -82850,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 = [
@@ -82858,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"
@@ -82880,7 +83860,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       (sources."postcss-7.0.39" // {
         dependencies = [
           sources."picocolors-0.2.1"
@@ -82894,7 +83874,7 @@ in
       sources."postcss-safe-parser-4.0.2"
       sources."postcss-sass-0.4.4"
       sources."postcss-scss-2.1.1"
-      sources."postcss-selector-parser-6.0.7"
+      sources."postcss-selector-parser-6.0.9"
       sources."postcss-syntax-0.36.2"
       sources."postcss-value-parser-4.2.0"
       sources."punycode-2.1.1"
@@ -82920,14 +83900,14 @@ in
       sources."remark-stringify-9.0.1"
       sources."repeat-string-1.6.1"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-5.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       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 = [
@@ -82954,8 +83934,9 @@ in
       sources."stylelint-13.13.1"
       sources."sugarss-2.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."svg-tags-1.0.0"
-      sources."table-6.7.5"
+      sources."table-6.8.0"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."trim-newlines-3.0.1"
@@ -82979,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"
@@ -83002,10 +83983,10 @@ in
   coc-tabnine = nodeEnv.buildNodePackage {
     name = "coc-tabnine";
     packageName = "coc-tabnine";
-    version = "1.3.4";
+    version = "1.3.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tabnine/-/coc-tabnine-1.3.4.tgz";
-      sha512 = "ICnIh+XR8egHeJCfuVpiXQHvHfcRJcHWRHIxTHLAOYG000tK/qZGzyVF7gz55sxgwyFOpo3EBgimdrAn9e/gvg==";
+      url = "https://registry.npmjs.org/coc-tabnine/-/coc-tabnine-1.3.6.tgz";
+      sha512 = "6yKBny54MoGpm2bWwx2SX8O8cYjFgcQtfxg8klZoh1Nhxjamo2eNALjyvtOc/N9o7Mh+w/hn4nApXiwoJZqy0g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -83043,9 +84024,9 @@ in
       sha512 = "5Zxv2Adtb6Mlpv2YdKErhf8ntxiBl1UyrbEqo7gR9nFIAfi3o0Ue6TJTpZfOhQViFQxLjJAS65IQVRaNlbhkxw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."balanced-match-1.0.2"
@@ -83066,19 +84047,20 @@ in
       sources."has-flag-3.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.8.0"
+      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"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."semver-5.7.1"
       sources."sprintf-js-1.0.3"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tslib-1.14.1"
       sources."tslint-5.20.1"
       sources."tsutils-2.29.0"
@@ -83108,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"
@@ -83131,13 +84113,13 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.8.6";
+    version = "1.9.12";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.8.6.tgz";
-      sha512 = "RTet29nZNYrOWEuquBOAv3yFtWyHPE7xGbsHjRdNbTP6g9PF+2nV2TnDO+c/T5HAk/1J0lKKZBu6hZTnEJ2f4w==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.9.12.tgz";
+      sha512 = "6eLxc/n1kfGPZz6hQNr4rT2b8CYHOsYSdrylJ3bxhdjA9sUmzF5Rjutjyz/4WKY7saVu30wmvfjdtPZDTyQUFw==";
     };
     dependencies = [
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -83177,8 +84159,8 @@ in
     };
     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."chalk-2.4.2"
           sources."escape-string-regexp-1.0.5"
@@ -83258,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"
@@ -83275,7 +84257,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-expression-4.0.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -83291,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"
@@ -83311,7 +84293,7 @@ in
       sources."punycode-2.1.1"
       sources."regexpp-3.2.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-4.0.0"
       sources."rimraf-3.0.2"
       sources."semver-7.3.5"
@@ -83329,9 +84311,10 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
-      (sources."table-6.7.5" // {
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.8.2"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -83347,7 +84330,7 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       sources."vls-0.7.6"
@@ -83393,10 +84376,10 @@ in
   coc-vimtex = nodeEnv.buildNodePackage {
     name = "coc-vimtex";
     packageName = "coc-vimtex";
-    version = "1.0.4";
+    version = "1.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.0.4.tgz";
-      sha512 = "gE04Ruk/7Of+jhVlWUT3M5xW5LEN24335rpSPHu7u1uzasuv9SsNehXbZpkj1SEYM4K7+5bw8NC+EFshuZm6Vw==";
+      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.1.1.tgz";
+      sha512 = "mSnoYlb0J41LG6uTgGlLOj/jM4wEYKv1IhP0p7LUo+eZSzdlWuuP2r+zmNbd+MeN/k5ftcgahVSLaUv5QVtpsA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -83411,10 +84394,10 @@ in
   coc-wxml = nodeEnv.buildNodePackage {
     name = "coc-wxml";
     packageName = "coc-wxml";
-    version = "1.0.8";
+    version = "1.0.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-wxml/-/coc-wxml-1.0.8.tgz";
-      sha512 = "MN8UM7KsaBXy56dQe16ei18BZXzvQu5ReDeHUvAgfNc+8K6tnTp9fSwpG1gxe9JaukL5zYbkkl1qsQjsFBUx9w==";
+      url = "https://registry.npmjs.org/coc-wxml/-/coc-wxml-1.0.9.tgz";
+      sha512 = "ExbBjO4/7sbwHVawtK/sDzFwmUTwW9rHgm51sJxqQim+Zjn3vw1x0pNObonVb+r/kX9peLCyE6/nmT2ybfeBPg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -83428,48 +84411,13 @@ in
   coc-yaml = nodeEnv.buildNodePackage {
     name = "coc-yaml";
     packageName = "coc-yaml";
-    version = "1.4.2";
+    version = "1.7.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.4.2.tgz";
-      sha512 = "cfocwN+TczdspN03m7t+eJMyaAsKCSzfgJJDM2CWPvrreKIMMahWqce/krTtENqDHDu51miuWo+o6/6FEKSf4g==";
+      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.7.4.tgz";
+      sha512 = "fmn+qsWUwVTIxoAv0gH4rNZJKXmUZoaOpxomMzJJrQo0PN31cMXZzD55IV0eudk5VLos4ARUBhtsdcxBUfQ15w==";
     };
     dependencies = [
-      sources."agent-base-4.3.0"
-      sources."argparse-2.0.1"
-      sources."balanced-match-1.0.2"
-      sources."brace-expansion-1.1.11"
-      sources."concat-map-0.0.1"
-      sources."debug-3.1.0"
-      sources."es6-promise-4.2.8"
-      sources."es6-promisify-5.0.0"
-      sources."http-proxy-agent-2.1.0"
-      sources."https-proxy-agent-2.2.4"
-      sources."js-yaml-4.1.0"
-      sources."jsonc-parser-3.0.0"
-      sources."minimatch-3.0.4"
-      sources."ms-2.0.0"
       sources."prettier-2.0.5"
-      (sources."request-light-0.2.5" // {
-        dependencies = [
-          sources."vscode-nls-4.1.2"
-        ];
-      })
-      sources."vscode-json-languageservice-4.1.0"
-      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.2"
-      (sources."yaml-language-server-0.20.0" // {
-        dependencies = [
-          sources."jsonc-parser-2.3.1"
-          sources."vscode-nls-4.1.2"
-          sources."vscode-uri-2.1.2"
-        ];
-      })
-      sources."yaml-language-server-parser-0.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -83483,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 = {
@@ -83507,7 +84455,7 @@ in
       sha512 = "uPhR9IKtN1z6gt9mpRH5OAdYjJQgQq7CCQpm5VmCpLe2QdGDzi4xfB3ybXGaBRX+UN4whtz3pZvgZssJvBwcqQ==";
     };
     dependencies = [
-      sources."@xstate/fsm-1.6.2"
+      sources."@xstate/fsm-1.6.4"
       sources."ansi-styles-3.2.1"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -83566,7 +84514,7 @@ in
       sources."git-clone-0.1.0"
       sources."glob-7.2.0"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
@@ -83591,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"
@@ -83615,7 +84563,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
       sources."pump-3.0.0"
-      sources."ramda-0.27.1"
+      sources."ramda-0.27.2"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -83631,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 = [
@@ -83710,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.6"
+      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"
@@ -83719,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"
@@ -83737,10 +84685,10 @@ in
   concurrently = nodeEnv.buildNodePackage {
     name = "concurrently";
     packageName = "concurrently";
-    version = "6.4.0";
+    version = "7.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/concurrently/-/concurrently-6.4.0.tgz";
-      sha512 = "HZ3D0RTQMH3oS4gvtYj1P+NBc6PzE2McEra6yEFcQKrUQ9HvtTGU4Dbne083F034p+LRb7kWU0tPRNvSGs1UCQ==";
+      url = "https://registry.npmjs.org/concurrently/-/concurrently-7.0.0.tgz";
+      sha512 = "WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw==";
     };
     dependencies = [
       sources."ansi-regex-5.0.1"
@@ -83753,7 +84701,7 @@ in
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."date-fns-2.27.0"
+      sources."date-fns-2.28.0"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."get-caller-file-2.0.5"
@@ -83786,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."async-3.2.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.6"
+      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.0"
+      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"
@@ -83828,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.3"
-      sources."winston-transport-4.4.1"
+      sources."winston-3.5.1"
+      sources."winston-transport-4.5.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -83844,15 +84792,15 @@ in
   conventional-changelog-cli = nodeEnv.buildNodePackage {
     name = "conventional-changelog-cli";
     packageName = "conventional-changelog-cli";
-    version = "2.1.1";
+    version = "2.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.1.1.tgz";
-      sha512 = "xMGQdKJ+4XFDDgfX5aK7UNFduvJMbvF5BB+g0OdVhA3rYdYyhctrIE2Al+WYdZeKTdg9YzMWF2iFPT8MupIwng==";
+      url = "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.2.2.tgz";
+      sha512 = "8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."@hutson/parse-repository-url-3.0.2"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
@@ -83875,11 +84823,11 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."compare-func-2.0.0"
-      sources."conventional-changelog-3.1.24"
+      sources."conventional-changelog-3.1.25"
       sources."conventional-changelog-angular-5.0.13"
       sources."conventional-changelog-atom-2.0.8"
       sources."conventional-changelog-codemirror-2.0.8"
-      sources."conventional-changelog-conventionalcommits-4.6.1"
+      sources."conventional-changelog-conventionalcommits-4.6.3"
       sources."conventional-changelog-core-4.2.4"
       sources."conventional-changelog-ember-2.0.9"
       sources."conventional-changelog-eslint-3.0.9"
@@ -83887,9 +84835,9 @@ in
       sources."conventional-changelog-jquery-3.0.11"
       sources."conventional-changelog-jshint-2.0.9"
       sources."conventional-changelog-preset-loader-2.3.4"
-      sources."conventional-changelog-writer-5.0.0"
+      sources."conventional-changelog-writer-5.0.1"
       sources."conventional-commits-filter-2.0.7"
-      sources."conventional-commits-parser-3.2.3"
+      sources."conventional-commits-parser-3.2.4"
       sources."core-util-is-1.0.3"
       sources."dargs-7.0.0"
       sources."dateformat-3.0.3"
@@ -83915,21 +84863,21 @@ in
           sources."through2-2.0.5"
         ];
       })
-      sources."git-raw-commits-2.0.10"
+      sources."git-raw-commits-2.0.11"
       sources."git-remote-origin-url-2.0.0"
       sources."git-semver-tags-4.1.1"
       sources."gitconfiglocal-1.0.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."handlebars-4.7.7"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-obj-2.0.0"
       sources."is-plain-obj-1.1.0"
@@ -84012,7 +84960,7 @@ in
       sources."readable-stream-3.6.0"
       sources."redent-3.0.0"
       sources."require-directory-2.1.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."safe-buffer-5.2.1"
       sources."semver-6.3.0"
       sources."source-map-0.6.1"
@@ -84028,6 +84976,7 @@ in
       sources."strip-bom-3.0.0"
       sources."strip-indent-3.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."temp-dir-2.0.0"
       sources."tempfile-3.0.0"
       sources."text-extensions-1.9.0"
@@ -84035,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"
@@ -84060,18 +85009,18 @@ in
   cordova = nodeEnv.buildNodePackage {
     name = "cordova";
     packageName = "cordova";
-    version = "10.0.0";
+    version = "11.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cordova/-/cordova-10.0.0.tgz";
-      sha512 = "00wMcj3X9ILhKtvRG2iEwO2qly4B+vgXFhH4WhVepWg2UVbD1opl1q9jSZ+j2AaI/vsBWW8e6M2M5FAHasnuWw==";
+      url = "https://registry.npmjs.org/cordova/-/cordova-11.0.0.tgz";
+      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"
@@ -84082,11 +85031,17 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.1.4"
+      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.10.0"
+          sources."json-schema-traverse-1.0.0"
+        ];
+      })
       sources."ansi-0.3.1"
       (sources."ansi-align-3.0.1" // {
         dependencies = [
@@ -84109,24 +85064,26 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
+      sources."atomically-1.7.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."big-integer-1.6.51"
-      (sources."body-parser-1.19.0" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
           sources."debug-2.6.9"
           sources."iconv-lite-0.4.24"
           sources."ms-2.0.0"
-          sources."qs-6.7.0"
+          sources."qs-6.9.7"
         ];
       })
-      (sources."boxen-4.2.0" // {
+      (sources."boxen-5.1.2" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
+          sources."chalk-4.1.2"
           sources."is-fullwidth-code-point-3.0.0"
           sources."string-width-4.2.3"
           sources."strip-ansi-6.0.1"
@@ -84140,11 +85097,12 @@ in
       sources."cacache-15.3.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
+          sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
         ];
       })
       sources."callsites-3.1.0"
-      sources."camelcase-5.3.1"
+      sources."camelcase-6.3.0"
       sources."caseless-0.12.0"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
@@ -84167,31 +85125,37 @@ in
         ];
       })
       sources."concat-map-0.0.1"
-      (sources."conf-1.4.0" // {
+      (sources."conf-10.1.1" // {
         dependencies = [
-          sources."dot-prop-4.2.1"
-          sources."env-paths-1.0.0"
-          sources."is-obj-1.0.1"
-          sources."make-dir-1.3.0"
-          sources."pify-3.0.0"
-          sources."write-file-atomic-2.4.3"
+          sources."ajv-8.10.0"
+          sources."dot-prop-6.0.1"
+          sources."json-schema-traverse-1.0.0"
         ];
       })
       sources."configstore-5.0.1"
       sources."console-control-strings-1.1.0"
-      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.2"
       sources."cookie-signature-1.0.6"
-      sources."cordova-app-hello-world-5.0.0"
-      sources."cordova-common-4.0.2"
-      sources."cordova-create-3.0.0"
+      sources."cordova-app-hello-world-6.0.0"
+      (sources."cordova-common-4.0.2" // {
+        dependencies = [
+          sources."fs-extra-9.1.0"
+        ];
+      })
+      sources."cordova-create-4.0.0"
       (sources."cordova-fetch-3.0.1" // {
         dependencies = [
+          sources."fs-extra-9.1.0"
           sources."pify-5.0.0"
         ];
       })
-      (sources."cordova-lib-10.1.0" // {
+      (sources."cordova-lib-11.0.0" // {
         dependencies = [
           sources."pify-5.0.0"
         ];
@@ -84202,6 +85166,11 @@ in
       sources."crypto-random-string-2.0.0"
       sources."currently-unhandled-0.4.1"
       sources."dashdash-1.14.1"
+      (sources."debounce-fn-4.0.0" // {
+        dependencies = [
+          sources."mimic-fn-3.1.0"
+        ];
+      })
       sources."debug-4.3.3"
       sources."decompress-response-3.3.0"
       sources."dedent-0.7.0"
@@ -84236,12 +85205,13 @@ in
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
-      sources."execa-4.1.0"
-      (sources."express-4.17.1" // {
+      sources."execa-5.1.1"
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.7.0"
+          sources."qs-6.9.7"
+          sources."safe-buffer-5.2.1"
         ];
       })
       sources."extend-3.0.2"
@@ -84253,7 +85223,7 @@ in
       })
       sources."extsprintf-1.4.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-parse-1.0.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
@@ -84265,48 +85235,44 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."find-up-2.1.0"
+      sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      sources."fs-extra-9.1.0"
+      sources."fs-extra-10.0.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
-      sources."get-stream-5.2.0"
+      sources."get-stream-6.0.1"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."global-dirs-2.1.0"
-      sources."globby-11.0.4"
+      sources."global-dirs-3.0.0"
+      sources."globby-11.1.0"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."http-errors-1.8.1"
       sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
       sources."https-proxy-agent-5.0.0"
-      sources."human-signals-1.1.1"
+      sources."human-signals-2.1.0"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.6.3"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."ignore-walk-3.0.4"
       sources."import-fresh-3.3.0"
       sources."import-lazy-2.1.0"
@@ -84315,14 +85281,8 @@ in
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.7"
-      (sources."init-package-json-1.10.3" // {
-        dependencies = [
-          sources."hosted-git-info-2.8.9"
-          sources."npm-package-arg-6.1.1"
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."ini-2.0.0"
+      sources."init-package-json-2.0.5"
       (sources."inquirer-6.5.2" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -84346,29 +85306,25 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."insight-0.10.3" // {
+      (sources."insight-0.11.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."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
-          sources."tough-cookie-3.0.1"
+          sources."chalk-4.1.2"
+          sources."tough-cookie-4.0.0"
+          sources."universalify-0.1.2"
+          sources."uuid-8.3.2"
         ];
       })
       sources."ip-1.1.5"
-      sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.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-1.0.0"
       sources."is-glob-4.0.3"
-      sources."is-installed-globally-0.3.2"
+      sources."is-installed-globally-0.4.0"
       sources."is-lambda-1.0.1"
-      sources."is-npm-4.0.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"
@@ -84385,6 +85341,7 @@ in
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
+      sources."json-schema-typed-7.0.3"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
       sources."jsonparse-1.3.1"
@@ -84395,7 +85352,7 @@ in
       })
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
-      sources."locate-path-2.0.0"
+      sources."locate-path-3.0.0"
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
       sources."loud-rejection-2.2.0"
@@ -84420,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"
@@ -84433,20 +85390,10 @@ in
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."negotiator-0.6.2"
-      sources."nice-try-1.0.5"
-      (sources."node-gyp-7.1.2" // {
-        dependencies = [
-          sources."nopt-5.0.0"
-        ];
-      })
-      sources."nopt-4.0.3"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."hosted-git-info-2.8.9"
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."negotiator-0.6.3"
+      sources."node-gyp-7.1.2"
+      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"
@@ -84466,18 +85413,12 @@ in
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-7.4.2"
-      sources."os-homedir-1.0.2"
-      sources."os-name-3.1.0"
+      sources."os-name-4.0.1"
       sources."os-tmpdir-1.0.2"
-      sources."osenv-0.1.5"
       sources."p-cancelable-1.1.0"
       sources."p-finally-1.0.0"
-      (sources."p-limit-1.3.0" // {
-        dependencies = [
-          sources."p-try-1.0.0"
-        ];
-      })
-      sources."p-locate-2.0.0"
+      sources."p-limit-2.3.0"
+      sources."p-locate-3.0.0"
       sources."p-map-4.0.0"
       sources."p-try-2.2.0"
       (sources."package-json-6.5.0" // {
@@ -84496,9 +85437,9 @@ in
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-4.0.1"
-      sources."pkg-up-2.0.0"
+      sources."pkg-up-3.1.0"
       sources."plist-3.0.4"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
@@ -84511,25 +85452,30 @@ in
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.0" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
           sources."iconv-lite-0.4.24"
         ];
       })
-      sources."rc-1.2.8"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
       sources."read-1.0.7"
       sources."read-chunk-3.2.0"
-      sources."read-package-json-2.1.2"
+      sources."read-package-json-4.1.1"
       sources."read-package-json-fast-2.0.3"
       sources."readable-stream-2.3.7"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."request-2.88.2"
-      sources."resolve-1.20.0"
+      sources."require-from-string-2.0.2"
+      sources."resolve-1.22.0"
       sources."resolve-from-4.0.0"
       sources."responselike-1.0.2"
       (sources."restore-cursor-2.0.0" // {
@@ -84553,31 +85499,31 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.1"
+      sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.1.1"
+      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"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."ssri-8.0.1"
       sources."statuses-1.5.0"
       sources."string-width-1.0.2"
@@ -84585,23 +85531,22 @@ in
       sources."stringify-package-1.0.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-4.0.0"
-      sources."strip-eof-1.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."systeminformation-4.34.23"
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      sources."systeminformation-5.11.4"
       sources."tar-6.1.11"
-      sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-2.5.0"
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-fest-0.8.1"
+      sources."type-fest-0.20.2"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
       sources."underscore-1.13.2"
@@ -84610,7 +85555,11 @@ in
       sources."unique-string-2.0.0"
       sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
-      sources."update-notifier-4.1.3"
+      (sources."update-notifier-5.1.0" // {
+        dependencies = [
+          sources."chalk-4.1.2"
+        ];
+      })
       sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
@@ -84635,21 +85584,22 @@ in
           sources."strip-ansi-6.0.1"
         ];
       })
-      (sources."windows-release-3.3.3" // {
+      (sources."windows-release-4.0.0" // {
         dependencies = [
-          sources."cross-spawn-6.0.5"
-          sources."execa-1.0.0"
-          sources."get-stream-4.1.0"
-          sources."is-stream-1.1.0"
-          sources."npm-run-path-2.0.2"
-          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."execa-4.1.0"
+          sources."get-stream-5.2.0"
+          sources."human-signals-1.1.1"
         ];
       })
       sources."with-open-file-0.1.7"
+      (sources."wrap-ansi-7.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.1"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.3"
+          sources."strip-ansi-6.0.1"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
@@ -84659,7 +85609,6 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Cordova command line interface tool";
-      homepage = "https://github.com/apache/cordova-cli#readme";
       license = "Apache-2.0";
     };
     production = true;
@@ -84675,15 +85624,15 @@ in
       sha512 = "HCpNdBkQy3rw+uARLuIf0YurqsMXYzBa9ihhSAuxYJcNIrqrSq3BstPfr0cQN38AdMrQiO9Dp4hYy7GtGJsLPg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.0"
+      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"
@@ -84800,7 +85749,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globby-9.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -84823,7 +85772,7 @@ in
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -84853,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"
@@ -84933,7 +85882,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.4"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
       sources."safe-regex-1.1.0"
@@ -84999,6 +85948,7 @@ in
       })
       sources."strip-indent-3.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."to-object-path-0.3.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
@@ -85054,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.0"
+      sources."@types/node-17.0.18"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -85098,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"
@@ -85143,14 +86093,14 @@ in
       sources."mute-stream-0.0.7"
       sources."next-tick-1.0.0"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."onetime-2.0.1"
       sources."os-tmpdir-1.0.2"
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."quicktask-1.1.0"
       sources."raf-3.3.2"
       sources."readable-stream-2.3.7"
@@ -85164,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"
@@ -85232,7 +86182,7 @@ in
       sources."fstream-1.0.12"
       sources."fstream-ignore-1.0.5"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."hyperquest-2.1.3"
       sources."inflight-1.0.6"
@@ -85242,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"
@@ -85300,10 +86250,10 @@ in
   create-react-native-app = nodeEnv.buildNodePackage {
     name = "create-react-native-app";
     packageName = "create-react-native-app";
-    version = "3.7.2";
+    version = "3.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-react-native-app/-/create-react-native-app-3.7.2.tgz";
-      sha512 = "/gEvim7UjCFTFdRtSckc5Xhh+ZHSAGDKkN2mERbyLxeja4pzTmYxW/85xfYFSSLDtQmjZmwlnRKColULO1I6ZQ==";
+      url = "https://registry.npmjs.org/create-react-native-app/-/create-react-native-app-3.8.0.tgz";
+      sha512 = "IAdWaSnaOof44HvsLInWVpzSdaaBchn54HtXICRBPXIA18NllLC4G+pckKKC+ONF2/TOlsS99CYhcL7k7PYL6w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85318,15 +86268,15 @@ in
   cspell = nodeEnv.buildNodePackage {
     name = "cspell";
     packageName = "cspell";
-    version = "5.13.3";
+    version = "5.18.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cspell/-/cspell-5.13.3.tgz";
-      sha512 = "14RzCLHadT2BFcTEhEJUiwW4m8vVNnBXGBPnnEYkFiF2MyJEtfyOoqqVxqDHOvwVmc0zKIiAU0ZrG98spWuNnA==";
+      url = "https://registry.npmjs.org/cspell/-/cspell-5.18.5.tgz";
+      sha512 = "rfk7sSZO304olxBXUFfec3YZL0gIyvjggwicGEgsweuh0Efdeq0zMmUV2sMckSOH9TVJdxW/DxTqjG+DLz8w+A==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -85336,45 +86286,48 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@cspell/cspell-bundled-dicts-5.13.3"
-      sources."@cspell/cspell-types-5.13.3"
-      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-1.1.9"
-      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.11"
-      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"
@@ -85387,35 +86340,36 @@ 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.13.3"
-      sources."cspell-glob-5.13.3"
-      sources."cspell-io-5.13.3"
-      sources."cspell-lib-5.13.3"
-      sources."cspell-trie-lib-5.13.3"
+      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"
       sources."get-stdin-8.0.0"
       sources."glob-7.2.0"
       sources."global-dirs-0.1.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."has-own-prop-2.0.0"
       (sources."import-fresh-3.3.0" // {
@@ -85437,9 +86391,14 @@ in
       sources."jsonfile-6.1.0"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-6.0.0"
-      sources."make-dir-3.1.0"
+      sources."lru-cache-6.0.0"
+      (sources."make-dir-3.1.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
       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"
@@ -85448,23 +86407,24 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."repeat-string-1.6.1"
       sources."resolve-from-5.0.0"
       sources."resolve-global-1.0.0"
       sources."rimraf-3.0.2"
-      sources."semver-6.3.0"
-      sources."signal-exit-3.0.6"
+      sources."semver-7.3.5"
+      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"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-2.0.0"
       sources."universalify-2.0.0"
-      sources."vscode-uri-3.0.2"
+      sources."vscode-uri-3.0.3"
       sources."wrappy-1.0.2"
       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"
     ];
@@ -85503,12 +86463,25 @@ in
   dat = nodeEnv.buildNodePackage {
     name = "dat";
     packageName = "dat";
-    version = "13.13.1";
+    version = "14.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/dat/-/dat-13.13.1.tgz";
-      sha512 = "I6r+8jeGKdZ5ztkxXQUu+2DmzoCkRB4KS0bPfu85u2RoK5xz0ypt3h/WP7GjRBBvhOOM7/LdYKUcOob6RKMtRQ==";
+      url = "https://registry.npmjs.org/dat/-/dat-14.0.3.tgz";
+      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"
+        ];
+      })
+      sources."@hyperswarm/discovery-2.0.1"
+      (sources."@hyperswarm/hypersign-2.1.1" // {
+        dependencies = [
+          sources."sodium-native-3.3.0"
+        ];
+      })
+      sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.3"
       sources."abstract-random-access-1.1.2"
       sources."ajv-6.12.6"
@@ -85522,7 +86495,6 @@ in
       (sources."append-tree-2.4.4" // {
         dependencies = [
           sources."process-nextick-args-1.0.7"
-          sources."varint-5.0.2"
         ];
       })
       sources."arr-diff-4.0.0"
@@ -85547,20 +86519,19 @@ in
         ];
       })
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bencode-1.0.0"
       (sources."bitfield-rle-2.2.1" // {
         dependencies = [
           sources."varint-4.0.1"
         ];
       })
-      (sources."bittorrent-dht-7.10.0" // {
+      (sources."blake2b-2.1.4" // {
         dependencies = [
-          sources."debug-3.2.7"
+          sources."nanoassert-2.0.0"
         ];
       })
-      (sources."blake2b-2.1.4" // {
+      (sources."blake2b-universal-1.0.1" // {
         dependencies = [
-          sources."nanoassert-2.0.0"
+          sources."sodium-native-3.3.0"
         ];
       })
       (sources."blake2b-wasm-2.4.0" // {
@@ -85578,22 +86549,17 @@ in
       })
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
-      sources."buffer-equals-1.0.4"
       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"
       sources."capture-stack-trace-1.0.1"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
-      sources."chrome-dgram-3.0.6"
-      sources."chrome-dns-1.0.1"
-      sources."chrome-net-3.3.4"
       sources."ci-info-1.6.0"
-      sources."circular-append-file-1.0.1"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -85612,20 +86578,18 @@ in
         ];
       })
       sources."cli-boxes-1.0.0"
-      sources."cli-spinners-1.3.1"
       sources."cli-truncate-1.1.0"
       sources."cliclopts-1.1.1"
       sources."codecs-1.2.1"
       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"
       sources."concat-stream-1.6.2"
       sources."configstore-3.1.5"
-      sources."connections-1.4.2"
       sources."content-types-0.1.0"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.3"
@@ -85637,21 +86601,19 @@ in
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
       sources."dat-dns-3.2.1"
-      sources."dat-doctor-2.1.2"
-      sources."dat-encoding-5.0.1"
-      sources."dat-ignore-2.1.2"
+      sources."dat-encoding-5.0.2"
+      sources."dat-ignore-2.1.3"
       sources."dat-json-1.0.3"
-      sources."dat-link-resolve-2.3.0"
-      (sources."dat-log-1.2.0" // {
+      sources."dat-link-resolve-2.3.1"
+      (sources."dat-log-2.0.1" // {
         dependencies = [
           sources."neat-log-2.4.0"
         ];
       })
-      sources."dat-node-3.5.15"
-      sources."dat-registry-4.0.1"
-      sources."dat-secret-storage-4.0.1"
-      sources."dat-storage-1.1.1"
-      sources."dat-swarm-defaults-1.0.2"
+      sources."dat-node-4.0.1"
+      sources."dat-registry-4.0.2"
+      sources."dat-secret-storage-4.0.2"
+      sources."dat-storage-1.1.2"
       (sources."debug-4.3.3" // {
         dependencies = [
           sources."ms-2.1.2"
@@ -85662,29 +86624,15 @@ in
       sources."deep-extend-0.6.0"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      sources."diffy-2.1.0"
-      sources."directory-index-html-2.1.0"
-      (sources."discovery-channel-5.5.1" // {
+      (sources."dht-rpc-4.9.6" // {
         dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."thunky-0.1.0"
-        ];
-      })
-      (sources."discovery-swarm-5.1.4" // {
-        dependencies = [
-          sources."utp-native-1.7.3"
-        ];
-      })
-      (sources."dns-discovery-6.2.3" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."lru-2.0.1"
-          sources."ms-2.0.0"
+          sources."codecs-2.2.0"
+          sources."sodium-native-3.3.0"
         ];
       })
-      sources."dns-packet-4.2.0"
-      sources."dns-socket-3.0.0"
+      sources."diffy-2.1.0"
+      sources."directory-index-html-2.1.0"
+      sources."dns-packet-5.3.1"
       sources."dom-walk-0.1.2"
       sources."dot-prop-4.2.1"
       sources."duplexer3-0.1.4"
@@ -85692,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 = [
@@ -85710,7 +86659,6 @@ in
           })
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
         ];
       })
       sources."extend-3.0.2"
@@ -85730,13 +86678,8 @@ in
       sources."fast-bitfield-1.2.2"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
-      (sources."fd-lock-1.2.0" // {
-        dependencies = [
-          sources."node-gyp-build-4.3.0"
-        ];
-      })
+      sources."fd-lock-1.2.0"
       sources."fd-read-stream-1.1.0"
-      sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -85756,7 +86699,8 @@ in
       sources."global-4.4.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
+      sources."guard-timeout-2.0.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -85768,34 +86712,32 @@ in
           sources."kind-of-4.0.0"
         ];
       })
+      sources."hashlru-2.3.0"
       sources."http-methods-0.1.0"
       sources."http-signature-1.2.0"
       (sources."hypercore-7.7.1" // {
         dependencies = [
           sources."codecs-2.2.0"
-          sources."unordered-set-2.0.1"
         ];
       })
       sources."hypercore-crypto-1.0.0"
-      (sources."hypercore-protocol-6.12.0" // {
-        dependencies = [
-          sources."varint-5.0.2"
-        ];
-      })
+      sources."hypercore-protocol-6.12.0"
       sources."hyperdrive-9.16.0"
-      sources."hyperdrive-http-4.4.0"
-      (sources."hyperdrive-network-speed-2.1.0" // {
+      sources."hyperdrive-http-4.4.1"
+      (sources."hyperdrive-network-speed-2.1.1" // {
         dependencies = [
           sources."debug-3.2.7"
+          sources."ms-2.1.3"
         ];
       })
+      sources."hyperswarm-2.15.3"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."inspect-custom-symbol-1.1.1"
-      sources."ip-1.1.5"
+      sources."ipv4-peers-2.0.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
       sources."is-ci-1.2.1"
@@ -85831,31 +86773,18 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.2"
-      sources."k-bucket-3.3.1"
-      (sources."k-rpc-4.3.1" // {
-        dependencies = [
-          sources."k-bucket-4.0.1"
-        ];
-      })
-      (sources."k-rpc-socket-1.11.1" // {
-        dependencies = [
-          sources."bencode-2.0.2"
-        ];
-      })
+      sources."k-bucket-5.1.0"
       sources."keypress-0.2.1"
       sources."kind-of-6.0.3"
       sources."last-one-wins-1.0.4"
       sources."latest-version-3.1.0"
-      sources."length-prefixed-message-3.0.4"
       sources."lodash.throttle-4.1.1"
       sources."lowercase-keys-1.0.1"
-      sources."lru-3.1.0"
       sources."lru-cache-4.1.5"
       sources."make-dir-1.3.0"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."memory-pager-1.5.0"
-      sources."menu-string-1.3.0"
       sources."merkle-tree-stream-3.0.3"
       sources."micromatch-3.1.10"
       sources."mime-2.6.0"
@@ -85863,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" // {
@@ -85872,14 +86801,9 @@ in
         ];
       })
       sources."mkdirp-classic-0.5.3"
-      sources."ms-2.1.3"
+      sources."ms-2.0.0"
       sources."multi-random-access-2.1.1"
-      (sources."multicast-dns-7.2.4" // {
-        dependencies = [
-          sources."dns-packet-5.3.0"
-        ];
-      })
-      sources."multistream-2.1.1"
+      sources."multicast-dns-7.2.4"
       sources."mute-stream-0.0.8"
       sources."mutexify-1.4.0"
       sources."nan-2.15.0"
@@ -85887,16 +86811,14 @@ in
       sources."nanobus-4.5.0"
       sources."nanoguard-1.3.0"
       sources."nanomatch-1.2.13"
+      sources."nanoresource-1.3.0"
       sources."nanoscheduler-1.0.3"
       sources."nanotiming-7.3.1"
       sources."napi-macros-2.0.0"
       sources."neat-input-1.11.1"
       sources."neat-log-3.1.0"
-      sources."neat-spinner-1.0.0"
-      sources."neat-tasks-1.1.1"
       sources."nets-3.2.0"
-      sources."network-address-1.1.2"
-      sources."node-gyp-build-3.9.0"
+      sources."node-gyp-build-4.3.0"
       sources."normalize-path-2.1.1"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
@@ -85933,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.0"
+      sources."prompt-1.2.2"
       (sources."protocol-buffers-encodings-1.1.1" // {
         dependencies = [
           sources."varint-5.0.0"
@@ -85943,11 +86865,11 @@ in
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       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"
@@ -85957,6 +86879,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
+      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"
@@ -85970,8 +86893,6 @@ in
       sources."ret-0.1.15"
       sources."revalidator-0.1.8"
       sources."rimraf-2.7.1"
-      sources."run-series-1.1.9"
-      sources."rusha-0.8.14"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -85984,15 +86905,11 @@ in
       })
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
-      (sources."signed-varint-2.0.1" // {
-        dependencies = [
-          sources."varint-5.0.2"
-        ];
-      })
+      sources."shuffled-priority-queue-2.1.0"
+      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-sha1-2.1.2"
+      sources."simple-get-3.1.1"
       (sources."siphash24-1.3.0" // {
         dependencies = [
           sources."nanoassert-2.0.0"
@@ -86016,7 +86933,6 @@ in
           })
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
@@ -86030,11 +86946,7 @@ in
         ];
       })
       sources."sodium-javascript-0.5.6"
-      (sources."sodium-native-2.4.9" // {
-        dependencies = [
-          sources."node-gyp-build-4.3.0"
-        ];
-      })
+      sources."sodium-native-2.4.9"
       sources."sodium-universal-2.0.0"
       sources."sorted-array-functions-1.3.0"
       sources."sorted-indexof-1.0.0"
@@ -86044,7 +86956,7 @@ in
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.1.0"
       sources."split-string-3.1.0"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -86068,7 +86980,6 @@ in
       (sources."stream-parser-0.3.1" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."ms-2.0.0"
         ];
       })
       sources."stream-shift-1.0.1"
@@ -86086,9 +86997,9 @@ in
       sources."term-size-1.2.0"
       sources."throttle-1.0.3"
       sources."thunky-1.1.0"
+      sources."time-ordered-set-1.0.2"
       sources."timed-out-4.0.1"
       sources."timeout-refresh-1.0.3"
-      sources."to-buffer-1.1.1"
       (sources."to-object-path-0.3.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
@@ -86099,7 +87010,6 @@ in
       (sources."toiletdb-1.4.1" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."ms-2.0.0"
         ];
       })
       sources."tough-cookie-2.5.0"
@@ -86118,7 +87028,7 @@ in
       sources."unique-string-1.0.0"
       sources."unixify-1.0.0"
       sources."unordered-array-remove-1.0.2"
-      sources."unordered-set-1.1.0"
+      sources."unordered-set-2.0.1"
       (sources."unset-value-1.0.0" // {
         dependencies = [
           (sources."has-value-0.3.1" // {
@@ -86139,13 +87049,11 @@ in
       sources."util-deprecate-1.0.2"
       (sources."utp-native-2.5.3" // {
         dependencies = [
-          sources."node-gyp-build-4.3.0"
           sources."readable-stream-3.6.0"
-          sources."unordered-set-2.0.1"
         ];
       })
       sources."uuid-3.4.0"
-      sources."varint-3.0.1"
+      sources."varint-5.0.2"
       (sources."verror-1.10.0" // {
         dependencies = [
           sources."core-util-is-1.0.2"
@@ -86156,13 +87064,13 @@ in
       (sources."winston-2.4.5" // {
         dependencies = [
           sources."async-1.0.0"
-          sources."colors-1.0.3"
         ];
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
       sources."xhr-2.6.0"
+      sources."xor-distance-2.0.0"
       sources."xsalsa20-1.2.0"
       sources."xtend-4.0.2"
       sources."yallist-2.1.2"
@@ -86201,69 +87109,66 @@ in
     version = "1.26.0";
     src = ../../applications/networking/instant-messengers/deltachat-desktop;
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.5" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."@babel/generator-7.16.5" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      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"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.5"
-      sources."@babel/helper-compilation-targets-7.16.3"
-      sources."@babel/helper-create-class-features-plugin-7.16.5"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-      sources."@babel/helper-define-polyfill-provider-0.3.0"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-explode-assignable-expression-7.16.0"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-member-expression-to-functions-7.16.5"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-optimise-call-expression-7.16.0"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-remap-async-to-generator-7.16.5"
-      sources."@babel/helper-replace-supers-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
+      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.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"
+      sources."@babel/helper-function-name-7.16.7"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-member-expression-to-functions-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.16.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.16.5"
-      sources."@babel/plugin-proposal-class-properties-7.16.5"
-      sources."@babel/plugin-proposal-class-static-block-7.16.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.16.5"
-      sources."@babel/plugin-proposal-json-strings-7.16.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.5"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.5"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.5"
-      sources."@babel/plugin-proposal-private-methods-7.16.5"
-      sources."@babel/plugin-proposal-private-property-in-object-7.16.5"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.16.5"
+      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/helper-wrap-function-7.16.8"
+      sources."@babel/helpers-7.17.2"
+      sources."@babel/highlight-7.16.10"
+      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"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-class-static-block-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      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.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"
+      sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.16.5"
+      sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
@@ -86272,55 +87177,58 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.16.5"
-      sources."@babel/plugin-transform-async-to-generator-7.16.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.5"
-      sources."@babel/plugin-transform-block-scoping-7.16.5"
-      sources."@babel/plugin-transform-classes-7.16.5"
-      sources."@babel/plugin-transform-computed-properties-7.16.5"
-      sources."@babel/plugin-transform-destructuring-7.16.5"
-      sources."@babel/plugin-transform-dotall-regex-7.16.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.16.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.5"
-      sources."@babel/plugin-transform-for-of-7.16.5"
-      sources."@babel/plugin-transform-function-name-7.16.5"
-      sources."@babel/plugin-transform-literals-7.16.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.5"
-      sources."@babel/plugin-transform-modules-amd-7.16.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.5"
-      sources."@babel/plugin-transform-modules-umd-7.16.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.5"
-      sources."@babel/plugin-transform-new-target-7.16.5"
-      sources."@babel/plugin-transform-object-super-7.16.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-property-literals-7.16.5"
-      sources."@babel/plugin-transform-react-display-name-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-development-7.16.5"
-      sources."@babel/plugin-transform-react-pure-annotations-7.16.5"
-      sources."@babel/plugin-transform-regenerator-7.16.5"
-      sources."@babel/plugin-transform-reserved-words-7.16.5"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.5"
-      sources."@babel/plugin-transform-spread-7.16.5"
-      sources."@babel/plugin-transform-sticky-regex-7.16.5"
-      sources."@babel/plugin-transform-template-literals-7.16.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.16.5"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.5"
-      sources."@babel/plugin-transform-unicode-regex-7.16.5"
-      sources."@babel/preset-env-7.16.5"
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      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.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"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      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-display-name-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-shorthand-properties-7.16.7"
+      sources."@babel/plugin-transform-spread-7.16.7"
+      sources."@babel/plugin-transform-sticky-regex-7.16.7"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      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-modules-0.1.5"
-      sources."@babel/preset-react-7.16.5"
-      sources."@babel/runtime-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/preset-react-7.16.7"
+      sources."@babel/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      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"
@@ -86338,20 +87246,20 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/debounce-1.2.1"
       sources."@types/dom4-2.0.2"
-      sources."@types/emoji-mart-3.0.8"
+      sources."@types/emoji-mart-3.0.9"
       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.0"
-      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.5"
+      sources."@types/url-parse-1.4.8"
       sources."ansi-styles-3.2.1"
       (sources."anymatch-2.0.0" // {
         dependencies = [
@@ -86372,9 +87280,9 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."babel-plugin-dynamic-import-node-2.3.3"
-      sources."babel-plugin-polyfill-corejs2-0.3.0"
-      sources."babel-plugin-polyfill-corejs3-0.4.0"
-      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      sources."babel-plugin-polyfill-corejs2-0.3.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
+      sources."babel-plugin-polyfill-regenerator-0.3.1"
       (sources."base-0.11.2" // {
         dependencies = [
           sources."define-property-1.0.0"
@@ -86382,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"
@@ -86399,7 +87307,7 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001287"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
       (sources."class-utils-0.3.6" // {
@@ -86440,7 +87348,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.20.0" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -86465,8 +87373,8 @@ in
       sources."dom4-2.1.6"
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
-      sources."electron-13.6.3"
-      sources."electron-to-chromium-1.4.21"
+      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"
@@ -86518,7 +87426,7 @@ in
       })
       sources."fd-slicer-1.1.0"
       sources."file-uri-to-path-1.0.0"
-      sources."filesize-8.0.6"
+      sources."filesize-8.0.7"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -86558,7 +87466,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."grid-index-1.1.0"
       sources."gud-1.0.0"
       sources."has-1.0.3"
@@ -86580,7 +87488,7 @@ in
       sources."is-arguments-1.1.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -86645,9 +87553,9 @@ in
       sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."napi-macros-2.0.0"
-      sources."node-fetch-2.6.6"
+      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"
@@ -86682,7 +87590,7 @@ in
       sources."pbf-3.2.1"
       sources."pend-1.2.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-3.0.0"
       sources."popper.js-1.16.1"
       sources."posix-character-classes-0.1.1"
@@ -86690,7 +87598,7 @@ in
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
-      sources."prop-types-15.7.2"
+      sources."prop-types-15.8.1"
       sources."proto-list-1.2.4"
       sources."protocol-buffers-schema-3.6.0"
       sources."pump-3.0.0"
@@ -86719,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.3.1"
-      sources."regexpu-core-4.8.0"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.7.0" // {
+      sources."regexp.prototype.flags-1.4.1"
+      sources."regexpu-core-5.0.1"
+      sources."regjsgen-0.6.0"
+      (sources."regjsparser-0.8.4" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -86736,7 +87644,7 @@ in
       sources."repeat-string-1.6.1"
       sources."requires-port-1.0.0"
       sources."resize-observer-polyfill-1.5.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-protobuf-schema-2.1.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
@@ -86746,12 +87654,12 @@ in
       sources."rw-0.1.4"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
-      (sources."sass-1.45.0" // {
+      (sources."sass-1.49.8" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
           sources."braces-3.0.2"
-          sources."chokidar-3.5.2"
+          sources."chokidar-3.5.3"
           sources."fill-range-7.0.1"
           sources."fsevents-2.3.2"
           sources."glob-parent-5.1.2"
@@ -86808,14 +87716,14 @@ in
         ];
       })
       sources."source-map-0.6.1"
-      sources."source-map-js-1.0.1"
+      sources."source-map-js-1.0.2"
       sources."source-map-resolve-0.5.3"
       sources."source-map-support-0.5.21"
       sources."source-map-url-0.4.1"
       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"
@@ -86839,6 +87747,7 @@ in
       sources."sumchecker-3.0.1"
       sources."supercluster-7.1.4"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."temp-dir-1.0.0"
       sources."tempy-0.3.0"
       sources."tinyqueue-2.0.3"
@@ -86858,7 +87767,7 @@ in
       sources."type-fest-0.3.1"
       sources."typed-styles-0.0.7"
       sources."typedarray-0.0.6"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
       sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -86878,7 +87787,7 @@ in
       })
       sources."upath-1.2.0"
       sources."urix-0.1.0"
-      sources."url-parse-1.5.3"
+      sources."url-parse-1.5.9"
       sources."url-parse-lax-3.0.0"
       sources."use-3.1.1"
       sources."use-debounce-3.4.3"
@@ -86944,16 +87853,16 @@ in
       sources."crypto-random-string-2.0.0"
       sources."del-6.0.0"
       sources."dir-glob-3.0.1"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
-      sources."ignore-5.1.9"
+      sources."globby-11.1.0"
+      sources."graceful-fs-4.2.9"
+      sources."ignore-5.2.0"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -86967,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"
@@ -86976,7 +87885,7 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."queue-microtask-1.2.3"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
@@ -86992,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"
@@ -87010,23 +87919,23 @@ in
   dockerfile-language-server-nodejs = nodeEnv.buildNodePackage {
     name = "dockerfile-language-server-nodejs";
     packageName = "dockerfile-language-server-nodejs";
-    version = "0.7.3";
+    version = "0.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/dockerfile-language-server-nodejs/-/dockerfile-language-server-nodejs-0.7.3.tgz";
-      sha512 = "+fY8JCuoL3T698EZKd78SF1RrGBGYZVRzRDLrWHaum3qx5gW8uMDX41rtaehX7/ZNH/WSuwyFtWh3/JWmjEAKw==";
+      url = "https://registry.npmjs.org/dockerfile-language-server-nodejs/-/dockerfile-language-server-nodejs-0.8.0.tgz";
+      sha512 = "7oxOu3PWDzsTkLbUIm1O61rgdNiM9j9tAt+T0R5m0TFG0NYypYBM77pfzAYmQFpHGHAstCtOaEYzEnp0IkRCnQ==";
     };
     dependencies = [
-      sources."dockerfile-ast-0.4.1"
-      sources."dockerfile-language-service-0.7.4"
-      sources."dockerfile-utils-0.9.3"
-      sources."vscode-jsonrpc-8.0.0-next.4"
-      sources."vscode-languageserver-8.0.0-next.5"
-      (sources."vscode-languageserver-protocol-3.17.0-next.11" // {
+      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.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.5"
+          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;
@@ -87042,15 +87951,15 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.79.0";
+    version = "6.80.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.79.0.tgz";
-      sha512 = "uX/B6wY8rKDo+ZxPok19FheN9QNrdG3BcIEGOZr03TtzENf7bdjnkzrvTdfjp5lRKJMX9CIpGXBkZ6tQM9fVEg==";
+      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.0"
+      sources."@types/node-14.18.12"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
@@ -87065,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"
@@ -87128,7 +88037,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."psl-1.8.0"
       sources."punycode-1.3.2"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."querystring-0.2.0"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
@@ -87148,7 +88057,7 @@ in
       sources."socks5-http-client-1.0.4"
       sources."socks5-https-client-1.2.1"
       sources."sprintf-js-1.1.2"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -87188,30 +88097,30 @@ in
   "@electron-forge/cli" = nodeEnv.buildNodePackage {
     name = "_at_electron-forge_slash_cli";
     packageName = "@electron-forge/cli";
-    version = "6.0.0-beta.61";
+    version = "6.0.0-beta.63";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.61.tgz";
-      sha512 = "0OMNfSl71UhjkhYx67yH9vGklfvqdKe0iiMw+R+/tvgArapUQ0AquNaALFY0xP2inVRnbpcwH2WsR0LaZQkJtg==";
+      url = "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.63.tgz";
+      sha512 = "I2B/hX16IDbuc2ip6JjAxrTF8XSQfuoIkb/EoqzEluPrdCx6VTzEahOQlUH+CvPohpwD/LDsH4Usd9/krKlkfg==";
     };
     dependencies = [
-      sources."@electron-forge/async-ora-6.0.0-beta.61"
-      sources."@electron-forge/core-6.0.0-beta.61"
-      sources."@electron-forge/installer-base-6.0.0-beta.61"
-      sources."@electron-forge/installer-darwin-6.0.0-beta.61"
-      sources."@electron-forge/installer-deb-6.0.0-beta.61"
-      sources."@electron-forge/installer-dmg-6.0.0-beta.61"
-      sources."@electron-forge/installer-exe-6.0.0-beta.61"
-      sources."@electron-forge/installer-linux-6.0.0-beta.61"
-      sources."@electron-forge/installer-rpm-6.0.0-beta.61"
-      sources."@electron-forge/installer-zip-6.0.0-beta.61"
-      sources."@electron-forge/maker-base-6.0.0-beta.61"
-      sources."@electron-forge/plugin-base-6.0.0-beta.61"
-      sources."@electron-forge/publisher-base-6.0.0-beta.61"
-      sources."@electron-forge/shared-types-6.0.0-beta.61"
-      sources."@electron-forge/template-base-6.0.0-beta.61"
-      sources."@electron-forge/template-typescript-6.0.0-beta.61"
-      sources."@electron-forge/template-typescript-webpack-6.0.0-beta.61"
-      sources."@electron-forge/template-webpack-6.0.0-beta.61"
+      sources."@electron-forge/async-ora-6.0.0-beta.63"
+      sources."@electron-forge/core-6.0.0-beta.63"
+      sources."@electron-forge/installer-base-6.0.0-beta.63"
+      sources."@electron-forge/installer-darwin-6.0.0-beta.63"
+      sources."@electron-forge/installer-deb-6.0.0-beta.63"
+      sources."@electron-forge/installer-dmg-6.0.0-beta.63"
+      sources."@electron-forge/installer-exe-6.0.0-beta.63"
+      sources."@electron-forge/installer-linux-6.0.0-beta.63"
+      sources."@electron-forge/installer-rpm-6.0.0-beta.63"
+      sources."@electron-forge/installer-zip-6.0.0-beta.63"
+      sources."@electron-forge/maker-base-6.0.0-beta.63"
+      sources."@electron-forge/plugin-base-6.0.0-beta.63"
+      sources."@electron-forge/publisher-base-6.0.0-beta.63"
+      sources."@electron-forge/shared-types-6.0.0-beta.63"
+      sources."@electron-forge/template-base-6.0.0-beta.63"
+      sources."@electron-forge/template-typescript-6.0.0-beta.63"
+      sources."@electron-forge/template-typescript-webpack-6.0.0-beta.63"
+      sources."@electron-forge/template-webpack-6.0.0-beta.63"
       (sources."@electron/get-1.13.1" // {
         dependencies = [
           sources."@sindresorhus/is-0.14.0"
@@ -87238,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.2.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"
@@ -87253,12 +88162,12 @@ 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.0"
+      sources."@types/node-17.0.18"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.2"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.1.4"
+      sources."agentkeepalive-4.2.0"
       sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       (sources."ansi-escapes-4.3.2" // {
@@ -87269,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"
@@ -87288,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"
@@ -87300,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"
@@ -87318,7 +88224,6 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
-      sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commander-4.1.1"
       sources."compare-version-0.1.2"
@@ -87332,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"
@@ -87375,7 +88278,7 @@ in
           sources."fs-extra-9.1.0"
         ];
       })
-      sources."electron-rebuild-3.2.5"
+      sources."electron-rebuild-3.2.7"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."encoding-0.1.13"
@@ -87407,7 +88310,7 @@ in
       sources."extract-zip-2.0.1"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.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"
@@ -87445,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" // {
@@ -87453,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"
@@ -87468,7 +88370,7 @@ in
       sources."global-tunnel-ng-2.7.1"
       sources."globalthis-1.0.2"
       sources."got-11.8.3"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -87493,10 +88395,9 @@ in
       sources."inquirer-8.2.0"
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      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"
@@ -87505,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"
@@ -87520,43 +88420,30 @@ in
       sources."jsonfile-6.1.0"
       sources."jsprim-1.4.2"
       sources."junk-3.1.0"
-      sources."keyv-4.0.4"
+      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.1"
+      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"
@@ -87568,12 +88455,12 @@ in
       sources."mkdirp-1.0.4"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
-      sources."negotiator-0.6.2"
+      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.6"
+      sources."node-fetch-2.6.7"
       sources."node-gyp-8.4.1"
       sources."node-gyp-build-4.3.0"
       sources."nopt-5.0.0"
@@ -87593,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"
@@ -87627,10 +88513,8 @@ in
       sources."path-type-2.0.0"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.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"
@@ -87643,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"
@@ -87653,7 +88537,7 @@ in
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-5.1.1"
       sources."rcedit-3.0.1"
@@ -87664,15 +88548,9 @@ 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.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-alpn-1.2.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-package-1.0.1"
@@ -87684,7 +88562,7 @@ in
       sources."roarr-2.15.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.4.0"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -87693,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"
@@ -87703,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"
@@ -87713,18 +88591,18 @@ in
       sources."spdx-license-ids-3.0.11"
       sources."speedometer-0.1.4"
       sources."sprintf-js-1.1.2"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."ssri-8.0.1"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       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"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-6.1.11"
       sources."throttleit-0.0.2"
       sources."through-2.3.8"
@@ -87739,9 +88617,8 @@ 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.1.0"
+      sources."tslib-2.3.1"
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -87771,7 +88648,7 @@ in
       sources."xtend-2.1.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      (sources."yargs-17.3.0" // {
+      (sources."yargs-17.3.1" // {
         dependencies = [
           sources."yargs-parser-21.0.0"
         ];
@@ -87827,43 +88704,47 @@ in
       sha512 = "ceJSyC2s1VCIqyzGkHeJkWBq/85QXaHM+0rZ1lRRtmcK9CsfRDyLSIZ7KJDZhPdIRUXBgBkdcOAW3AIu/yO/ew==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.5" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      (sources."@babel/helper-compilation-targets-7.16.3" // {
+      sources."@babel/generator-7.17.3"
+      sources."@babel/helper-annotate-as-pure-7.16.7"
+      (sources."@babel/helper-compilation-targets-7.16.7" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-syntax-jsx-7.16.5"
+      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"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      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/helper-validator-option-7.16.7"
+      sources."@babel/helpers-7.17.2"
+      sources."@babel/highlight-7.16.10"
+      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.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
+      sources."@babel/plugin-transform-parameters-7.16.7"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
+      sources."@babel/template-7.16.7"
+      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"
@@ -87882,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."caller-callsite-2.0.0"
-      sources."caller-path-2.0.0"
-      sources."callsites-2.0.0"
+      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.30001287"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -87917,7 +88798,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.21"
+      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"
@@ -87940,7 +88821,7 @@ in
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."hosted-git-info-2.8.9"
-      sources."import-jsx-4.0.0"
+      sources."import-jsx-4.0.1"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -87954,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"
@@ -87967,7 +88848,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-obj-2.0.0"
@@ -88002,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"
@@ -88038,12 +88919,12 @@ in
         ];
       })
       sources."pkg-up-3.1.0"
-      sources."prop-types-15.7.2"
+      sources."prop-types-15.8.1"
       sources."pump-3.0.0"
       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" // {
@@ -88061,7 +88942,7 @@ in
         ];
       })
       sources."redent-3.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-3.0.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
@@ -88071,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 = [
@@ -88095,6 +88976,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-indent-3.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."to-fast-properties-2.0.0"
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.12.0"
@@ -88111,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"
@@ -88149,9 +89031,9 @@ in
     version = "1.7.5";
     src = ../../applications/video/epgstation;
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -88161,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.180.2"
-      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"
@@ -88176,11 +89058,11 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."@microsoft/load-themed-styles-1.10.240"
+      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"
@@ -88195,7 +89077,7 @@ in
       sources."@types/connect-3.4.35"
       sources."@types/engine.io-3.1.7"
       sources."@types/express-4.17.8"
-      sources."@types/express-serve-static-core-4.17.26"
+      sources."@types/express-serve-static-core-4.17.28"
       sources."@types/fancy-log-1.3.0"
       sources."@types/glob-7.2.0"
       sources."@types/hls.js-0.13.1"
@@ -88254,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"
@@ -88691,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"
@@ -88710,7 +89592,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fancy-log-1.3.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-1.1.4"
       sources."fastq-1.13.0"
@@ -88803,7 +89685,7 @@ in
       sources."globby-10.0.2"
       sources."glogg-1.0.2"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."gulp-4.0.2"
       (sources."gulp-clean-css-4.3.0" // {
         dependencies = [
@@ -88888,7 +89770,7 @@ in
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."iferr-0.1.5"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."ignore-walk-3.0.4"
       sources."immutable-4.0.0"
       sources."imurmurhash-0.1.4"
@@ -88908,7 +89790,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-dir-1.0.0"
@@ -89045,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 = [
@@ -89136,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"
@@ -89205,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.180.2"
+      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"
@@ -89320,11 +90202,11 @@ 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.4"
-      sources."picomatch-2.3.0"
+      sources."pgpass-1.0.5"
+      sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -89346,7 +90228,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promise-inflight-1.0.1"
       sources."promise-queue-2.2.5"
-      sources."prop-types-15.7.2"
+      sources."prop-types-15.8.1"
       sources."proxy-addr-2.0.7"
       sources."prr-1.0.1"
       sources."psl-1.8.0"
@@ -89409,12 +90291,12 @@ in
       sources."replace-homedir-1.0.0"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
         ];
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -89432,11 +90314,11 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (sources."sass-1.45.0" // {
+      (sources."sass-1.49.8" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
-          sources."chokidar-3.5.2"
+          sources."chokidar-3.5.3"
           sources."fsevents-2.3.2"
           sources."is-binary-path-2.1.0"
           sources."readdirp-3.6.0"
@@ -89464,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 = [
@@ -89526,7 +90408,7 @@ in
       })
       sources."source-list-map-2.0.1"
       sources."source-map-0.6.1"
-      sources."source-map-js-1.0.1"
+      sources."source-map-js-1.0.2"
       sources."source-map-resolve-0.5.3"
       sources."source-map-support-0.5.21"
       sources."source-map-url-0.4.1"
@@ -89536,11 +90418,11 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
       sources."split-string-3.1.0"
-      sources."split2-3.2.2"
+      sources."split2-4.1.0"
       sources."sprintf-js-1.0.3"
       sources."sqlite3-5.0.0"
       sources."sqlstring-2.3.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       (sources."ssri-8.0.1" // {
         dependencies = [
           sources."minipass-3.1.6"
@@ -89607,6 +90489,7 @@ in
       sources."strip-bom-string-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."sver-compat-1.5.0"
       sources."swagger-schema-official-2.0.0-bab6bed"
       sources."swagger-ui-dist-3.34.0"
@@ -89709,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"
@@ -89747,7 +90630,7 @@ in
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
-          sources."chokidar-3.5.2"
+          sources."chokidar-3.5.3"
           sources."fsevents-2.3.2"
           sources."is-binary-path-2.1.0"
           sources."readdirp-3.6.0"
@@ -89808,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"
@@ -89854,19 +90737,22 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "8.4.1";
+    version = "8.9.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-8.4.1.tgz";
-      sha512 = "TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-8.9.0.tgz";
+      sha512 = "PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==";
     };
     dependencies = [
-      sources."@eslint/eslintrc-1.0.5"
-      sources."@humanwhocodes/config-array-0.9.2"
+      (sources."@eslint/eslintrc-1.1.0" // {
+        dependencies = [
+          sources."ignore-4.0.6"
+        ];
+      })
+      sources."@humanwhocodes/config-array-0.9.3"
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."acorn-8.6.0"
+      sources."acorn-8.7.0"
       sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
-      sources."ansi-colors-4.1.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."argparse-2.0.1"
@@ -89881,16 +90767,15 @@ in
       sources."debug-4.3.3"
       sources."deep-is-0.1.4"
       sources."doctrine-3.0.0"
-      sources."enquirer-2.3.6"
       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.1.0"
-      sources."espree-9.2.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"
@@ -89900,14 +90785,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."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-4.0.6"
+      sources."ignore-5.2.0"
       sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
@@ -89920,8 +90805,7 @@ in
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.4.1"
       sources."lodash.merge-4.6.2"
-      sources."lru-cache-6.0.0"
-      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"
@@ -89930,12 +90814,10 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."prelude-ls-1.2.1"
-      sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-3.2.0"
       sources."resolve-from-4.0.0"
       sources."rimraf-3.0.2"
-      sources."semver-7.3.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."strip-ansi-6.0.1"
@@ -89949,7 +90831,6 @@ in
       sources."which-2.0.2"
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
-      sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -89971,8 +90852,8 @@ in
     };
     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."chalk-2.4.2"
           sources."escape-string-regexp-1.0.5"
@@ -90044,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"
@@ -90068,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"
@@ -90099,9 +90980,9 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-8.1.1"
-      (sources."table-6.7.5" // {
+      (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.8.2"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -90145,10 +91026,10 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "5.0.1";
+    version = "5.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.0.1.tgz";
-      sha512 = "jGGiwb8QUgs7k5d8B2XXoi5hRUtt2D729FR28KkMjAAbnN6egk/G3tWxumKHelz3CO4Kov++qToTbOExkR9u7Q==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.2.0.tgz";
+      sha512 = "0zyZwv7mBmeeEMZ7ur5xHt/klu1CNiuMuTbsrbDOvQPqDxyLOKlQtvsJOn9VHCUt8sAlyN21Jmu7KI6lH7fSgQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.10.4"
@@ -90158,46 +91039,46 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helpers-7.16.5"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      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.17.2"
+      (sources."@babel/highlight-7.16.10" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.16.6"
+      sources."@babel/parser-7.17.3"
       sources."@babel/runtime-7.9.0"
-      (sources."@babel/template-7.16.0" // {
+      (sources."@babel/template-7.16.7" // {
         dependencies = [
-          sources."@babel/code-frame-7.16.0"
+          sources."@babel/code-frame-7.16.7"
         ];
       })
-      (sources."@babel/traverse-7.16.5" // {
+      (sources."@babel/traverse-7.17.3" // {
         dependencies = [
-          sources."@babel/code-frame-7.16.0"
+          sources."@babel/code-frame-7.16.7"
         ];
       })
-      sources."@babel/types-7.16.0"
+      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.13"
-      (sources."@expo/config-plugins-4.0.13" // {
+      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.100"
-      sources."@expo/dev-tools-0.13.136"
+      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"
@@ -90213,32 +91094,26 @@ in
         ];
       })
       sources."@expo/json-file-8.2.34"
-      sources."@expo/metro-config-0.3.6"
+      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.13"
+      sources."@expo/prebuild-config-3.0.18"
       sources."@expo/rudder-sdk-node-1.1.1"
-      (sources."@expo/schemer-1.3.32" // {
-        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.13" // {
+      (sources."@expo/webpack-config-0.16.18" // {
         dependencies = [
           sources."is-wsl-2.2.0"
         ];
@@ -90248,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" // {
@@ -90295,20 +91159,19 @@ in
       sources."@sideway/address-4.1.3"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
-      sources."@sindresorhus/is-4.2.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"
       sources."@types/http-cache-semantics-4.0.1"
-      sources."@types/istanbul-lib-coverage-2.0.3"
+      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/json-schema-7.0.9"
       sources."@types/keyv-3.1.3"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.0"
+      sources."@types/node-17.0.18"
       sources."@types/q-1.5.5"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.1"
@@ -90353,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.1.4"
       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"
@@ -90384,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"
@@ -90397,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"
@@ -90409,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"
@@ -90417,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"
         ];
@@ -90436,8 +91294,7 @@ 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.1"
+      sources."better-opn-3.0.2"
       sources."big-integer-1.6.51"
       sources."big.js-5.2.2"
       sources."binary-extensions-2.2.0"
@@ -90482,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"
         ];
@@ -90514,10 +91371,9 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001287"
-      sources."caseless-0.12.0"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -90528,7 +91384,7 @@ in
         ];
       })
       sources."charenc-0.0.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."chownr-2.0.0"
       sources."chrome-trace-event-1.0.3"
       sources."cipher-base-1.0.4"
@@ -90568,7 +91424,7 @@ in
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-2.6.1"
-      sources."cli-table3-0.6.0"
+      sources."cli-table3-0.6.1"
       (sources."cliui-5.0.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -90587,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"
@@ -90617,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"
@@ -90632,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" // {
@@ -90667,13 +91524,16 @@ 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"
         ];
       })
-      (sources."css-select-4.2.0" // {
+      (sources."css-select-4.2.1" // {
         dependencies = [
           sources."domhandler-4.3.0"
         ];
@@ -90701,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"
@@ -90727,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"
@@ -90772,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.21"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -90783,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 = [
@@ -90796,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"
@@ -90848,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.108" // {
+      (sources."expo-pwa-0.0.113" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -90877,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"
@@ -90889,9 +91738,8 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      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"
       sources."faye-websocket-0.10.0"
@@ -90899,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"
         ];
       })
@@ -90915,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.6"
+      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" // {
@@ -90941,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"
@@ -90961,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"
@@ -90977,15 +91819,14 @@ 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"
       sources."global-prefix-3.0.0"
       sources."globals-11.12.0"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."got-11.8.3"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."graphql-0.13.2"
       (sources."graphql-tools-3.0.0" // {
         dependencies = [
@@ -90994,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 = [
@@ -91032,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"
         ];
       })
@@ -91054,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"
@@ -91066,18 +91906,14 @@ 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.1.9"
-      sources."ignore-walk-3.0.4"
-      sources."image-size-1.0.0"
+      sources."ignore-5.2.0"
+      sources."image-size-1.0.1"
       sources."immer-8.0.1"
       (sources."import-fresh-2.0.0" // {
         dependencies = [
@@ -91107,7 +91943,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -91123,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"
@@ -91167,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"
@@ -91175,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 = [
@@ -91184,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" // {
@@ -91192,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.4"
+      sources."keyv-4.1.1"
       sources."killable-1.0.1"
       sources."kind-of-6.0.3"
       sources."kleur-3.0.3"
@@ -91252,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"
@@ -91284,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 = [
@@ -91302,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"
@@ -91357,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"
@@ -91367,55 +92177,26 @@ in
         ];
       })
       sources."nocache-2.1.0"
-      sources."node-fetch-2.6.6"
+      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.0.2"
-          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.0.2"
-          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 = [
@@ -91430,7 +92211,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      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"
@@ -91503,16 +92284,6 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."pacote-11.3.5" // {
-        dependencies = [
-          sources."hosted-git-info-4.0.2"
-          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" // {
@@ -91546,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.0"
+      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"
@@ -91689,7 +92459,7 @@ in
         ];
       })
       sources."postcss-safe-parser-4.0.2"
-      sources."postcss-selector-parser-6.0.7"
+      sources."postcss-selector-parser-6.0.9"
       (sources."postcss-svgo-4.0.3" // {
         dependencies = [
           sources."postcss-value-parser-3.3.1"
@@ -91712,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"
@@ -91741,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"
@@ -91789,13 +92552,16 @@ 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.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."relateurl-0.2.7"
@@ -91811,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.2"
-          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"
@@ -91826,7 +92586,7 @@ in
         ];
       })
       sources."requires-port-1.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-alpn-1.2.1"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
@@ -91856,9 +92616,15 @@ 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.11"
+      sources."selfsigned-1.10.14"
       sources."semver-7.3.2"
       (sources."send-0.17.2" // {
         dependencies = [
@@ -91896,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"
@@ -91909,8 +92675,7 @@ in
       })
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
-      sources."slugify-1.6.4"
-      sources."smart-buffer-4.2.0"
+      sources."slugify-1.6.5"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -91952,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"
@@ -91968,14 +92731,12 @@ in
       sources."split-1.0.1"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
       (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"
@@ -92014,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"
         ];
       })
@@ -92041,6 +92805,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
+      sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."svgo-1.3.2" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -92082,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" // {
@@ -92103,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"
@@ -92118,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"
@@ -92127,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"
@@ -92166,7 +92930,7 @@ in
       })
       sources."url-join-4.0.0"
       sources."url-loader-4.1.1"
-      sources."url-parse-1.5.3"
+      sources."url-parse-1.5.9"
       (sources."url-parse-lax-3.0.0" // {
         dependencies = [
           sources."prepend-http-2.0.0"
@@ -92187,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" // {
@@ -92219,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"
@@ -92241,58 +93003,55 @@ 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.2" // {
+            dependencies = [
+              sources."debug-2.6.9"
+            ];
+          })
           sources."braces-2.3.2"
+          sources."bytes-3.1.2"
           sources."chokidar-2.1.8"
-          sources."content-disposition-0.5.3"
-          sources."cookie-0.4.0"
+          sources."content-disposition-0.5.4"
+          sources."cookie-0.4.2"
           sources."del-4.1.1"
-          (sources."express-4.17.1" // {
+          (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"
           sources."globby-6.1.0"
-          sources."http-errors-1.7.3"
           sources."is-absolute-url-3.0.3"
           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."mime-1.6.0"
           sources."ms-2.0.0"
           sources."normalize-path-2.1.1"
           sources."p-map-2.1.0"
           sources."p-retry-3.0.1"
           sources."pify-2.3.0"
+          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"
           sources."schema-utils-1.0.0"
           sources."semver-6.3.0"
-          (sources."send-0.17.1" // {
-            dependencies = [
-              (sources."debug-2.6.9" // {
-                dependencies = [
-                  sources."ms-2.0.0"
-                ];
-              })
-              sources."ms-2.1.1"
-            ];
-          })
-          sources."serve-static-1.14.1"
-          sources."setprototypeof-1.1.1"
           sources."strip-ansi-3.0.1"
           sources."supports-color-6.1.0"
           sources."to-regex-range-2.1.1"
-          sources."toidentifier-1.0.0"
           sources."ws-6.2.2"
         ];
       })
@@ -92319,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"
@@ -92339,11 +93097,12 @@ in
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.2.20" // {
+      (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"
@@ -92396,43 +93155,47 @@ in
   fast-cli = nodeEnv.buildNodePackage {
     name = "fast-cli";
     packageName = "fast-cli";
-    version = "3.0.1";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fast-cli/-/fast-cli-3.0.1.tgz";
-      sha512 = "QT3uBdxjHiXEz8iSAUJezETjKgTEP0PicHk36ga2veZHmIpqU5k+M0z1bmZ5G+EJHCN84o4w++fngJIgcj1Nqw==";
+      url = "https://registry.npmjs.org/fast-cli/-/fast-cli-3.2.0.tgz";
+      sha512 = "sA4bbCHFe8DqtRjlIVD5Hga+tDpYOgoOOG+NKyLFYJfLrxlmU28RmSjr+pC15q0xU67g7Ut3jDskasmjeLgRsg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      sources."@babel/core-7.16.5"
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-compilation-targets-7.16.3"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-syntax-jsx-7.16.5"
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      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"
+      sources."@babel/helper-function-name-7.16.7"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      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/helper-validator-option-7.16.7"
+      sources."@babel/helpers-7.17.2"
+      sources."@babel/highlight-7.16.10"
+      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.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
+      sources."@babel/plugin-transform-parameters-7.16.7"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
+      sources."@babel/template-7.16.7"
+      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.0"
+      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"
@@ -92451,15 +93214,15 @@ 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-2.0.0"
-      sources."caller-path-2.0.0"
-      sources."callsites-2.0.0"
+      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.30001287"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -92474,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" // {
@@ -92482,8 +93246,8 @@ in
         ];
       })
       sources."delay-5.0.0"
-      sources."devtools-protocol-0.0.869402"
-      sources."electron-to-chromium-1.4.21"
+      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"
@@ -92503,10 +93267,10 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."https-proxy-agent-5.0.0"
       sources."ieee754-1.2.1"
-      sources."import-jsx-4.0.0"
+      sources."import-jsx-4.0.1"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -92523,7 +93287,7 @@ in
       sources."ink-spinner-4.0.3"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
       sources."js-tokens-4.0.0"
@@ -92545,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.6"
-      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"
@@ -92572,14 +93336,16 @@ in
       sources."picocolors-1.0.0"
       sources."pkg-dir-4.2.0"
       sources."progress-2.0.3"
-      sources."prop-types-15.7.2"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-9.1.1"
+      (sources."puppeteer-13.3.2" // {
+        dependencies = [
+          sources."ws-8.5.0"
+        ];
+      })
       sources."quick-lru-4.0.1"
-      sources."react-16.14.0"
-      sources."react-devtools-core-4.22.1"
-      sources."react-is-16.13.1"
+      sources."react-17.0.2"
+      sources."react-devtools-core-4.23.0"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
@@ -92596,7 +93362,7 @@ in
       })
       sources."readable-stream-3.6.0"
       sources."redent-3.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-3.0.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
@@ -92604,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"
@@ -92631,6 +93397,7 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-indent-3.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-fs-2.1.1"
       sources."tar-stream-2.2.0"
       sources."through-2.3.8"
@@ -92652,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"
@@ -92672,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" // {
@@ -92693,11 +93460,12 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/command-1.8.15"
-      sources."@oclif/config-1.18.2"
+      sources."@oclif/command-1.8.16"
+      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"
         ];
       })
@@ -92732,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"
@@ -92762,7 +93529,7 @@ in
           sources."lowercase-keys-1.0.0"
         ];
       })
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       sources."cardinal-2.1.1"
       sources."caseless-0.12.0"
       (sources."chalk-4.1.2" // {
@@ -92803,11 +93570,7 @@ in
       sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."core-util-is-1.0.3"
-      (sources."cross-fetch-3.1.4" // {
-        dependencies = [
-          sources."node-fetch-2.6.1"
-        ];
-      })
+      sources."cross-fetch-3.1.5"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -92831,18 +93594,17 @@ 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"
       sources."extract-stack-1.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       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"
@@ -92857,9 +93619,9 @@ in
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."got-8.3.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -92883,7 +93645,7 @@ in
       sources."hyperlinker-1.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
@@ -92942,12 +93704,13 @@ in
         ];
       })
       sources."nice-try-1.0.5"
-      sources."node-fetch-2.6.6"
+      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"
@@ -92961,7 +93724,7 @@ in
       sources."path-key-2.0.1"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-3.0.0"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
@@ -92969,7 +93732,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
       (sources."readable-stream-2.3.7" // {
@@ -92986,24 +93749,20 @@ in
       sources."reusify-1.0.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      (sources."rxjs-7.4.0" // {
-        dependencies = [
-          sources."tslib-2.1.0"
-        ];
-      })
+      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.16.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" // {
@@ -93064,10 +93823,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "9.23.3";
+    version = "10.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-9.23.3.tgz";
-      sha512 = "J1S/T96rL3vKObDtTuBkop9JtW3vYnfwyU83NopiuOy9oPBRxFkitgzk034qGrpGyZvDA6Do6ZHI50taB3hrEg==";
+      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" // {
@@ -93075,21 +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" // {
-        dependencies = [
-          sources."google-auth-library-7.11.0"
-        ];
-      })
-      sources."@grpc/grpc-js-1.4.5"
-      sources."@grpc/proto-loader-0.6.7"
+      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"
         ];
@@ -93099,8 +93855,8 @@ in
           sources."mkdirp-1.0.4"
         ];
       })
-      sources."@opentelemetry/api-1.0.3"
-      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"
@@ -93114,23 +93870,27 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
-      sources."@types/archiver-5.3.0"
-      sources."@types/duplexify-3.6.0"
-      sources."@types/glob-7.2.0"
+      sources."@types/duplexify-3.6.1"
       sources."@types/json-schema-7.0.9"
       sources."@types/long-4.0.1"
-      sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.0"
-      sources."JSONStream-1.3.5"
+      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.1.4"
+      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.10.0"
+          sources."json-schema-traverse-1.0.0"
+        ];
+      })
       sources."ansi-align-3.0.1"
-      sources."ansi-escapes-3.2.0"
+      sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."ansicolors-0.3.2"
@@ -93144,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"
@@ -93152,7 +93912,7 @@ in
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
       sources."ast-types-0.13.4"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
@@ -93172,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"
@@ -93181,8 +93941,7 @@ in
       (sources."boxen-4.2.0" // {
         dependencies = [
           sources."chalk-3.0.0"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
+          sources."type-fest-0.8.1"
         ];
       })
       sources."brace-expansion-1.1.11"
@@ -93192,11 +93951,10 @@ 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"
-          sources."tar-6.1.11"
         ];
       })
       (sources."cacheable-request-6.1.0" // {
@@ -93210,15 +93968,9 @@ in
       sources."cardinal-2.1.1"
       sources."caseless-0.12.0"
       sources."chainsaw-0.1.0"
-      (sources."chalk-2.4.2" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-        ];
-      })
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."chownr-2.0.0"
       sources."ci-info-2.0.0"
       sources."cjson-0.3.3"
@@ -93229,10 +93981,10 @@ in
           sources."ansi-regex-2.1.1"
         ];
       })
-      sources."cli-cursor-2.1.0"
+      sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.6.1"
       sources."cli-table-0.3.11"
-      sources."cli-width-2.2.1"
+      sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
@@ -93270,17 +94022,13 @@ in
         ];
       })
       sources."console-control-strings-1.1.0"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
+      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 = [
@@ -93296,7 +94044,7 @@ in
         ];
       })
       sources."crypto-random-string-2.0.0"
-      sources."csv-streamify-3.0.4"
+      sources."csv-parse-5.0.4"
       sources."d-1.0.1"
       sources."dashdash-1.14.1"
       sources."data-uri-to-buffer-3.0.1"
@@ -93307,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"
@@ -93353,33 +94101,25 @@ in
       sources."event-emitter-0.3.5"
       sources."event-target-shim-5.0.1"
       sources."events-listener-1.1.0"
-      (sources."exegesis-2.5.7" // {
+      (sources."exegesis-4.1.0" // {
         dependencies = [
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
           sources."semver-7.3.5"
         ];
       })
-      sources."exegesis-express-2.0.1"
+      sources."exegesis-express-4.0.0"
       sources."exit-code-1.0.2"
       sources."exit-on-epipe-1.0.1"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
-          sources."body-parser-1.19.0"
-          sources."bytes-3.1.0"
           sources."debug-2.6.9"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
           sources."ms-2.0.0"
-          sources."qs-6.7.0"
-          sources."raw-body-2.4.0"
-          sources."safe-buffer-5.1.2"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
         ];
       })
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."extend-3.0.2"
@@ -93395,7 +94135,7 @@ in
         ];
       })
       sources."fecha-4.2.1"
-      sources."figures-2.0.0"
+      sources."figures-3.2.0"
       sources."file-uri-to-path-2.0.0"
       sources."filesize-6.4.0"
       sources."fill-range-7.0.1"
@@ -93438,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"
@@ -93454,16 +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-6.1.6"
-      (sources."google-gax-2.28.1" // {
-        dependencies = [
-          sources."google-auth-library-7.11.0"
-        ];
-      })
-      sources."google-p12-pem-3.1.2"
+      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.8"
-      sources."gtoken-5.3.1"
+      sources."graceful-fs-4.2.9"
+      sources."gtoken-5.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-ansi-2.0.0" // {
@@ -93471,7 +94207,7 @@ in
           sources."ansi-regex-2.1.1"
         ];
       })
-      sources."has-flag-3.0.0"
+      sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
       sources."home-dir-1.0.0"
@@ -93490,23 +94226,8 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
-      (sources."inquirer-6.3.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-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."install-artifact-from-github-1.2.0"
+      sources."inquirer-8.2.0"
+      sources."install-artifact-from-github-1.3.0"
       sources."ip-1.1.5"
       sources."ip-regex-4.3.0"
       sources."ipaddr.js-1.9.1"
@@ -93517,6 +94238,7 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-installed-globally-0.3.2"
+      sources."is-interactive-1.0.0"
       sources."is-lambda-1.0.1"
       sources."is-npm-4.0.0"
       sources."is-number-7.0.0"
@@ -93526,6 +94248,7 @@ in
       sources."is-stream-2.0.1"
       sources."is-stream-ended-0.1.4"
       sources."is-typedarray-1.0.0"
+      sources."is-unicode-supported-0.1.0"
       sources."is-url-1.2.4"
       sources."is-wsl-1.1.0"
       sources."is-yarn-global-0.3.0"
@@ -93544,12 +94267,11 @@ in
       sources."json-bigint-1.0.0"
       sources."json-buffer-3.0.0"
       sources."json-parse-helpfulerror-1.0.3"
-      sources."json-ptr-2.2.0"
+      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"
       sources."jsonfile-4.0.0"
-      sources."jsonparse-1.3.1"
       (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
           sources."jwa-1.4.1"
@@ -93593,12 +94315,8 @@ in
       sources."lodash.snakecase-4.1.1"
       sources."lodash.union-4.6.0"
       sources."lodash.values-2.4.1"
-      sources."log-symbols-2.2.0"
-      (sources."logform-2.3.0" // {
-        dependencies = [
-          sources."colors-1.4.0"
-        ];
-      })
+      sources."log-symbols-4.1.0"
+      sources."logform-2.4.0"
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -93613,8 +94331,18 @@ in
           sources."socks-proxy-agent-6.1.1"
         ];
       })
-      sources."marked-0.7.0"
-      sources."marked-terminal-3.3.0"
+      sources."marked-4.0.12"
+      (sources."marked-terminal-3.3.0" // {
+        dependencies = [
+          sources."ansi-escapes-3.2.0"
+          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."media-typer-0.3.0"
       (sources."memoizee-0.4.15" // {
         dependencies = [
@@ -93626,9 +94354,9 @@ in
       sources."mime-2.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."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -93646,32 +94374,30 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."mute-stream-0.0.7"
+      sources."mute-stream-0.0.8"
       sources."nan-2.15.0"
       (sources."nash-3.0.0" // {
         dependencies = [
           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"
       sources."node-emoji-1.11.0"
-      sources."node-fetch-2.6.6"
-      sources."node-forge-0.10.0"
+      sources."node-fetch-2.6.7"
+      sources."node-forge-1.2.1"
       (sources."node-gyp-8.4.1" // {
         dependencies = [
-          sources."mkdirp-1.0.4"
           sources."semver-7.3.5"
-          sources."tar-6.1.11"
           sources."which-2.0.2"
         ];
       })
       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"
@@ -93679,16 +94405,11 @@ in
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."one-time-1.0.0"
-      sources."onetime-2.0.1"
+      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-3.4.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-1.1.0"
       sources."p-defer-3.0.0"
@@ -93705,7 +94426,7 @@ in
       sources."path-key-2.0.1"
       sources."path-to-regexp-0.1.7"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       (sources."portfinder-1.0.28" // {
         dependencies = [
           sources."async-2.6.3"
@@ -93714,13 +94435,17 @@ 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."proto3-json-serializer-0.1.6"
+      (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"
       (sources."proxy-agent-5.0.0" // {
@@ -93734,11 +94459,11 @@ 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.1"
+      sources."re2-1.17.3"
       sources."readable-stream-3.6.0"
       sources."readdir-glob-1.1.1"
       sources."readdirp-3.6.0"
@@ -93747,14 +94472,15 @@ in
       sources."registry-url-5.1.0"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
           sources."uuid-3.4.0"
         ];
       })
       sources."require-directory-2.1.1"
+      sources."require-from-string-2.0.2"
       sources."responselike-1.0.2"
-      sources."restore-cursor-2.0.0"
-      sources."retry-0.12.0"
+      sources."restore-cursor-3.1.0"
+      sources."retry-0.13.1"
       sources."retry-request-4.2.2"
       sources."rimraf-3.0.2"
       (sources."router-1.3.6" // {
@@ -93766,13 +94492,9 @@ in
       })
       sources."rsvp-4.8.5"
       sources."run-async-2.4.1"
-      (sources."rxjs-6.6.7" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
+      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" // {
@@ -93780,37 +94502,36 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."http-errors-1.7.3"
           sources."mime-1.6.0"
-          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."set-blocking-2.0.0"
       sources."setimmediate-1.0.5"
       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"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."ssri-8.0.1"
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
+      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 = [
@@ -93828,7 +94549,6 @@ in
           sources."ansi-styles-2.2.1"
           sources."chalk-1.1.3"
           sources."fs-extra-8.1.0"
-          sources."has-flag-4.0.0"
           sources."isarray-0.0.1"
           sources."path-to-regexp-1.8.0"
           sources."strip-ansi-3.0.1"
@@ -93842,19 +94562,20 @@ in
           })
         ];
       })
-      sources."supports-color-5.5.0"
+      sources."supports-color-7.2.0"
       (sources."supports-hyperlinks-1.0.1" // {
         dependencies = [
           sources."has-flag-2.0.0"
+          (sources."supports-color-5.5.0" // {
+            dependencies = [
+              sources."has-flag-3.0.0"
+            ];
+          })
         ];
       })
-      (sources."tar-4.4.19" // {
+      (sources."tar-6.1.11" // {
         dependencies = [
-          sources."chownr-1.1.4"
-          sources."fs-minipass-1.2.7"
-          sources."minipass-2.9.0"
-          sources."minizlib-1.3.3"
-          sources."yallist-3.1.1"
+          sources."mkdirp-1.0.4"
         ];
       })
       sources."tar-stream-2.2.0"
@@ -93866,13 +94587,6 @@ in
       sources."term-size-2.2.1"
       sources."text-hex-1.0.0"
       sources."through-2.3.8"
-      (sources."through2-2.0.1" // {
-        dependencies = [
-          sources."process-nextick-args-1.0.7"
-          sources."readable-stream-2.0.6"
-          sources."string_decoder-0.10.31"
-        ];
-      })
       sources."timers-ext-0.1.7"
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
@@ -93893,17 +94607,13 @@ in
       })
       sources."type-1.2.0"
       sources."type-check-0.3.2"
-      sources."type-fest-0.8.1"
+      sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
       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" // {
@@ -93916,15 +94626,12 @@ in
       (sources."update-notifier-5.1.0" // {
         dependencies = [
           sources."boxen-5.1.2"
-          sources."camelcase-6.2.1"
-          sources."chalk-4.1.2"
+          sources."camelcase-6.3.0"
           sources."global-dirs-3.0.0"
-          sources."has-flag-4.0.0"
           sources."ini-2.0.0"
           sources."is-installed-globally-0.4.0"
           sources."is-npm-5.0.0"
           sources."semver-7.3.5"
-          sources."supports-color-7.2.0"
           sources."type-fest-0.20.2"
         ];
       })
@@ -93941,23 +94648,22 @@ 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.3.3"
-      sources."winston-transport-4.4.1"
+      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."xtend-4.0.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yaml-1.10.2"
@@ -94002,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"
@@ -94027,15 +94733,15 @@ 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.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -94056,8 +94762,8 @@ in
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       sources."buffer-5.7.1"
-      sources."camelcase-6.2.1"
-      (sources."camelcase-keys-7.0.1" // {
+      sources."camelcase-6.3.0"
+      (sources."camelcase-keys-7.0.2" // {
         dependencies = [
           sources."type-fest-1.4.0"
         ];
@@ -94081,6 +94787,7 @@ in
         ];
       })
       sources."defaults-1.0.3"
+      sources."eastasianwidth-0.2.0"
       sources."emoji-regex-9.2.2"
       sources."error-ex-1.3.2"
       sources."esc-exit-3.0.0"
@@ -94095,11 +94802,12 @@ 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"
       sources."has-flag-4.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
@@ -94121,7 +94829,7 @@ in
         ];
       })
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-4.0.0"
       sources."is-interactive-1.0.0"
       sources."is-plain-obj-1.1.0"
@@ -94189,13 +94897,13 @@ in
       sources."redent-4.0.0"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.4.0"
+      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"
@@ -94205,7 +94913,7 @@ in
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
-      sources."string-width-5.0.1"
+      sources."string-width-5.1.0"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-7.0.1"
       sources."strip-final-newline-2.0.0"
@@ -94215,7 +94923,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."trim-newlines-4.0.2"
-      sources."tslib-2.1.0"
+      sources."tslib-2.3.1"
       sources."type-fest-0.21.3"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
@@ -94247,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.0"
+      sources."@types/node-17.0.19"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -94302,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"
         ];
@@ -94325,7 +95033,7 @@ in
       sources."fs-extra-9.1.0"
       sources."get-caller-file-2.0.5"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-4.0.0"
@@ -94369,7 +95077,7 @@ in
       sources."mute-stream-0.0.8"
       sources."nedb-1.8.0"
       sources."node-addon-api-2.0.2"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."node-gyp-build-4.3.0"
       (sources."number-to-bn-1.7.0" // {
         dependencies = [
@@ -94388,7 +95096,7 @@ in
       sources."performance-now-2.1.0"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."querystring-0.2.1"
       sources."randombytes-2.1.0"
       sources."readable-stream-3.6.0"
@@ -94410,13 +95118,13 @@ in
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."scrypt-js-3.0.1"
-      sources."secp256k1-4.0.2"
+      sources."secp256k1-4.0.3"
       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.16.1"
+      sources."sshpk-1.17.0"
       sources."stealthy-require-1.1.1"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
@@ -94439,7 +95147,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      sources."web3-utils-1.6.1"
+      sources."web3-utils-1.7.0"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-module-2.0.0"
@@ -94479,12 +95187,14 @@ in
   forever = nodeEnv.buildNodePackage {
     name = "forever";
     packageName = "forever";
-    version = "4.0.1";
+    version = "4.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/forever/-/forever-4.0.1.tgz";
-      sha512 = "NRY5hvmjqfsWXpdGZONsfQg0GpzTHOP3xWTnOc1U3bY92m6TJr2mWDsXzv+3bMk2LftSne72keaMcX891JL2pQ==";
+      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"
@@ -94545,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"
@@ -94567,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"
@@ -94600,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 = [
@@ -94608,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"
@@ -94625,7 +95349,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-symbols-1.0.2"
@@ -94644,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"
@@ -94668,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"
@@ -94680,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" // {
@@ -94724,13 +95456,14 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      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"
       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"
@@ -94739,14 +95472,19 @@ in
       sources."pify-3.0.0"
       sources."pkginfo-0.3.1"
       sources."posix-character-classes-0.1.1"
-      (sources."prettyjson-1.2.1" // {
+      (sources."prettyjson-1.2.5" // {
         dependencies = [
           sources."colors-1.4.0"
           sources."minimist-1.2.5"
         ];
       })
       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" // {
@@ -94756,7 +95494,7 @@ in
       })
       sources."readdirp-2.2.1"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.4"
       sources."repeat-string-1.6.1"
@@ -94767,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"
@@ -94775,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"
@@ -94838,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 = [
@@ -94846,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 = [
@@ -94876,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"
@@ -94951,147 +95699,90 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "4.4.0";
+    version = "4.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.4.0.tgz";
-      sha512 = "Q3WcITyJeGn6kg5xbEcwkLApwEsvesdJZSk9SkblWu/ykMKE1T1q3BFrPKRdyMZMCq08IVR/jdjpAn8pjn/3WA==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.7.0.tgz";
+      sha512 = "y5L+h7dtFjiKeBiiNtNw0HsgcMcTMokpfXHbXfIV7khCS1dxN9xtYx6lKvsxLX3ytxs3OsWTxeqfNhEB87wrNw==";
     };
     dependencies = [
-      (sources."@ardatan/aggregate-error-0.0.6" // {
-        dependencies = [
-          sources."tslib-2.0.3"
-        ];
-      })
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.5" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      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.5" // {
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      (sources."@babel/helper-compilation-targets-7.16.3" // {
+      (sources."@babel/helper-compilation-targets-7.16.7" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.16.5"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      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/helper-validator-option-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.6"
-      sources."@babel/plugin-proposal-object-rest-spread-7.10.4"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.5"
-      sources."@babel/plugin-syntax-jsx-7.16.5"
-      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-7.16.5"
-      sources."@babel/runtime-7.16.5"
-      sources."@babel/standalone-7.16.6"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
-      sources."@graphql-tools/schema-7.1.5"
-      sources."@graphql-tools/utils-7.10.0"
-      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."@jest/types-25.5.0" // {
-        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."@mdx-js/util-2.0.0-next.8"
-      (sources."@sideway/address-4.1.3" // {
-        dependencies = [
-          sources."@hapi/hoek-9.2.1"
-        ];
-      })
+      sources."@babel/parser-7.17.3"
+      sources."@babel/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      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.2.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/istanbul-lib-coverage-2.0.3"
-      sources."@types/istanbul-lib-report-3.0.0"
-      sources."@types/istanbul-reports-1.1.2"
-      sources."@types/json-patch-0.0.30"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.0"
-      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/unist-2.0.6"
-      sources."@types/yargs-15.0.14"
-      sources."@types/yargs-parser-20.2.1"
       sources."@types/yoga-layout-1.9.2"
-      sources."accepts-1.3.7"
-      sources."address-1.1.2"
       sources."ansi-align-3.0.1"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           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."anymatch-3.1.2"
       sources."arch-2.2.0"
-      sources."array-flatten-1.1.1"
       sources."async-retry-ng-2.0.1"
       sources."asynckit-0.4.0"
-      sources."axios-0.21.4"
-      sources."bail-1.0.5"
       sources."balanced-match-1.0.2"
       sources."better-opn-2.1.1"
-      sources."better-queue-3.8.10"
-      sources."better-queue-memory-1.0.4"
-      sources."binary-extensions-2.2.0"
-      (sources."body-parser-1.19.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."qs-6.7.0"
-        ];
-      })
       sources."boolbase-1.0.0"
       sources."boxen-5.1.2"
       sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."browserslist-4.19.1"
-      sources."bytes-3.1.0"
+      sources."browserslist-4.19.3"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.2" // {
         dependencies = [
@@ -95099,10 +95790,8 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."camel-case-4.1.2"
-      sources."camelcase-6.2.1"
-      sources."caniuse-lite-1.0.30001287"
-      sources."ccount-1.1.0"
+      sources."camelcase-6.3.0"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -95112,12 +95801,7 @@ in
           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."chardet-0.7.0"
-      sources."chokidar-3.5.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-3.1.0"
@@ -95132,47 +95816,26 @@ 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"
         ];
       })
       sources."clone-response-1.0.2"
-      sources."collapse-white-space-1.0.6"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
       sources."common-tags-1.8.2"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."content-type-1.0.4"
-      (sources."contentful-management-7.47.0" // {
-        dependencies = [
-          sources."type-fest-2.8.0"
-        ];
-      })
-      sources."contentful-sdk-core-6.10.4"
       sources."convert-hrtime-3.0.0"
-      (sources."convert-source-map-1.8.0" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."cookie-0.4.0"
-      sources."cookie-signature-1.0.6"
-      sources."cors-2.8.5"
-      sources."create-gatsby-2.4.0"
+      sources."convert-source-map-1.8.0"
+      sources."create-gatsby-2.7.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
       sources."crypto-random-string-2.0.0"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-what-5.1.0"
       sources."debug-4.3.3"
       sources."decamelize-1.2.0"
@@ -95185,36 +95848,21 @@ in
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-2.0.1"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
-      sources."detect-newline-1.0.3"
-      (sources."detect-port-1.3.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."diff-sequences-25.2.6"
       sources."dom-converter-0.2.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
       sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
-      sources."dotenv-8.6.0"
       sources."duplexer3-0.1.4"
-      sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.21"
+      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"
       sources."entities-2.2.0"
       sources."envinfo-7.8.1"
       sources."escalade-3.1.1"
       sources."escape-goat-2.1.1"
-      sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      sources."etag-1.8.1"
       (sources."execa-5.1.1" // {
         dependencies = [
           sources."cross-spawn-7.0.3"
@@ -95227,61 +95875,23 @@ in
           sources."which-2.0.2"
         ];
       })
-      (sources."express-4.17.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."qs-6.7.0"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      (sources."express-graphql-0.12.0" // {
-        dependencies = [
-          sources."bytes-3.1.1"
-          sources."http-errors-1.8.0"
-          (sources."raw-body-2.4.2" // {
-            dependencies = [
-              sources."http-errors-1.8.1"
-            ];
-          })
-          sources."setprototypeof-1.2.0"
-          sources."toidentifier-1.0.1"
-        ];
-      })
-      sources."extend-3.0.2"
       (sources."external-editor-3.1.0" // {
         dependencies = [
           sources."tmp-0.0.33"
         ];
       })
-      sources."fast-copy-2.1.1"
+      sources."fastq-1.13.0"
       sources."figures-3.2.0"
       sources."file-type-16.5.3"
-      sources."fill-range-7.0.1"
       sources."filter-obj-1.1.0"
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.6"
       sources."form-data-3.0.1"
-      sources."forwarded-0.2.0"
-      sources."fresh-0.5.2"
       sources."fs-exists-cached-1.0.0"
       sources."fs-extra-10.0.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-3.4.0"
-      (sources."gatsby-recipes-1.4.0" // {
-        dependencies = [
-          sources."strip-ansi-6.0.1"
-        ];
-      })
-      (sources."gatsby-telemetry-3.4.0" // {
+      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"
@@ -95297,33 +95907,20 @@ in
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
-      sources."get-stdin-4.0.1"
       sources."get-stream-4.1.0"
       sources."git-up-4.0.5"
       sources."glob-7.2.0"
-      sources."glob-parent-5.1.2"
       sources."global-dirs-3.0.0"
       sources."globals-11.12.0"
       sources."got-11.8.3"
-      sources."graceful-fs-4.2.8"
-      sources."graphql-15.8.0"
-      sources."graphql-compose-7.25.1"
-      sources."graphql-subscriptions-1.2.1"
-      sources."graphql-type-json-0.3.2"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
       sources."has-yarn-2.1.0"
-      sources."hicat-0.8.0"
-      sources."highlight.js-10.7.3"
       sources."hosted-git-info-3.0.8"
       sources."htmlparser2-6.1.0"
       sources."http-cache-semantics-4.1.0"
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
       sources."http2-wrapper-1.0.3"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
@@ -95333,82 +95930,36 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inline-style-parser-0.1.1"
-      (sources."inquirer-7.3.3" // {
-        dependencies = [
-          sources."strip-ansi-6.0.1"
-        ];
-      })
-      sources."ipaddr.js-1.9.1"
-      sources."is-alphabetical-1.0.4"
-      sources."is-alphanumeric-1.0.0"
-      sources."is-alphanumerical-1.0.4"
-      sources."is-binary-path-2.1.0"
-      sources."is-buffer-2.0.5"
+      sources."inquirer-7.3.3"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
-      sources."is-decimal-1.0.4"
       sources."is-docker-2.2.1"
-      sources."is-extglob-2.1.1"
+      sources."is-extglob-1.0.0"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-glob-4.0.3"
-      sources."is-hexadecimal-1.0.4"
+      sources."is-glob-2.0.1"
       sources."is-installed-globally-0.4.0"
-      (sources."is-invalid-path-0.1.0" // {
-        dependencies = [
-          sources."is-extglob-1.0.0"
-          sources."is-glob-2.0.1"
-        ];
-      })
+      sources."is-invalid-path-0.1.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-plain-obj-2.1.0"
       sources."is-ssh-1.3.3"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
-      sources."is-url-1.2.4"
       sources."is-valid-path-0.1.1"
-      sources."is-whitespace-character-1.0.4"
-      sources."is-word-character-1.0.4"
       sources."is-wsl-2.2.0"
       sources."is-yarn-global-0.3.0"
       sources."isexe-2.0.0"
-      sources."iterall-1.3.0"
-      (sources."jest-diff-25.5.0" // {
-        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."jest-get-type-25.2.6"
-      (sources."joi-17.5.0" // {
-        dependencies = [
-          sources."@hapi/hoek-9.2.1"
-          sources."@hapi/topo-5.1.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.4"
+      sources."keyv-4.1.1"
       sources."kleur-3.0.3"
       sources."latest-version-5.1.0"
       sources."locate-path-5.0.0"
       sources."lock-1.1.0"
       sources."lodash-4.17.21"
-      sources."lodash.isplainobject-4.0.6"
-      sources."lodash.isstring-4.0.1"
-      sources."longest-streak-2.0.4"
-      sources."loose-envify-1.4.0"
-      sources."lower-case-2.0.2"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       (sources."make-dir-3.1.0" // {
@@ -95416,51 +95967,33 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."markdown-escapes-1.0.4"
-      sources."markdown-table-2.0.0"
-      sources."mdast-util-compact-2.0.1"
       sources."meant-1.0.3"
-      sources."media-typer-0.3.0"
-      sources."merge-descriptors-1.0.1"
       sources."merge-stream-2.0.0"
-      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."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."mitt-1.2.0"
-      sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
-      sources."no-case-3.0.4"
-      sources."node-eta-0.9.0"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."node-object-hash-2.3.10"
-      sources."node-releases-2.0.1"
-      sources."normalize-path-3.0.0"
+      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"
-      sources."object-assign-4.1.1"
-      sources."object-inspect-1.11.1"
-      sources."object-path-0.11.5"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-7.4.2"
-      sources."opentracing-0.14.5"
+      sources."opentracing-0.14.7"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-2.1.1"
       sources."p-finally-1.0.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
-      sources."p-throttle-4.1.1"
       sources."p-try-2.2.0"
       (sources."package-json-6.5.0" // {
         dependencies = [
@@ -95484,97 +96017,54 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."parse-entities-2.0.0"
       sources."parse-path-4.0.3"
       sources."parse-url-6.0.0"
-      sources."parseurl-1.3.3"
-      sources."pascal-case-3.1.2"
       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."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
-      sources."pkg-dir-4.2.0"
       sources."prepend-http-2.0.0"
-      sources."prettier-2.5.1"
       sources."pretty-error-2.1.2"
-      (sources."pretty-format-25.5.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
       sources."progress-2.0.3"
       sources."prompts-2.4.2"
-      sources."prop-types-15.7.2"
       sources."proper-lockfile-4.1.2"
       sources."protocols-1.4.8"
-      sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
       sources."pupa-2.1.1"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."query-string-6.14.1"
       sources."quick-lru-5.1.1"
-      sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
         ];
       })
-      sources."react-is-16.13.1"
       sources."read-1.0.7"
       sources."readable-stream-3.6.0"
       sources."readable-web-to-node-stream-3.0.2"
-      sources."readdirp-3.6.0"
       sources."redux-4.1.2"
       sources."regenerator-runtime-0.13.9"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
-      sources."remark-mdx-2.0.0-next.7"
-      (sources."remark-mdxjs-2.0.0-next.8" // {
-        dependencies = [
-          sources."@babel/core-7.10.5"
-          sources."@babel/helper-plugin-utils-7.10.4"
-          sources."@babel/plugin-syntax-jsx-7.10.4"
-          sources."semver-5.7.1"
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."remark-parse-6.0.3" // {
-        dependencies = [
-          sources."parse-entities-1.2.2"
-        ];
-      })
-      sources."remark-stringify-8.1.1"
       (sources."renderkid-2.0.7" // {
         dependencies = [
-          sources."ansi-regex-2.1.1"
           sources."strip-ansi-3.0.1"
         ];
       })
-      sources."repeat-string-1.6.1"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.20.0"
       sources."resolve-alpn-1.2.1"
       sources."resolve-cwd-3.0.0"
       sources."resolve-from-5.0.0"
       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" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      sources."safe-buffer-5.2.1"
+      sources."rxjs-6.6.7"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       (sources."semver-diff-3.1.1" // {
@@ -95582,101 +96072,49 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.1" // {
-        dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."ms-2.1.1"
-        ];
-      })
-      sources."serve-static-1.14.1"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.1.1"
       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."single-trailing-newline-1.0.0"
+      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."state-toggle-1.0.3"
-      sources."statuses-1.5.0"
       sources."strict-uri-encode-2.0.0"
-      (sources."string-width-4.2.3" // {
+      sources."string-width-4.2.3"
+      (sources."string_decoder-1.3.0" // {
         dependencies = [
-          sources."strip-ansi-6.0.1"
+          sources."safe-buffer-5.2.1"
         ];
       })
-      sources."string_decoder-1.3.0"
-      sources."stringify-entities-3.1.0"
-      (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-indent-3.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."strtok3-6.2.4"
-      sources."style-to-object-0.3.0"
+      sources."strtok3-6.3.0"
       sources."supports-color-5.5.0"
       sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
       sources."to-fast-properties-2.0.0"
       sources."to-readable-stream-1.0.0"
-      sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
       sources."token-types-4.1.1"
       sources."tr46-0.0.3"
-      sources."trim-0.0.1"
-      sources."trim-trailing-lines-1.1.4"
-      sources."trough-1.0.5"
-      sources."tslib-2.2.0"
+      sources."tslib-1.14.1"
       sources."type-fest-0.20.2"
-      sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
-      sources."unherit-1.1.3"
-      sources."unified-8.4.2"
       sources."unique-string-2.0.0"
-      sources."unist-util-is-3.0.0"
-      (sources."unist-util-remove-2.1.0" // {
-        dependencies = [
-          sources."unist-util-is-4.1.0"
-        ];
-      })
-      (sources."unist-util-remove-position-1.1.4" // {
-        dependencies = [
-          sources."unist-util-visit-1.4.1"
-        ];
-      })
-      sources."unist-util-stringify-position-2.0.3"
-      (sources."unist-util-visit-2.0.3" // {
-        dependencies = [
-          sources."unist-util-is-4.1.0"
-          sources."unist-util-visit-parents-3.1.1"
-        ];
-      })
-      sources."unist-util-visit-parents-2.1.2"
       sources."universalify-2.0.0"
-      sources."unpipe-1.0.0"
       sources."update-notifier-5.1.0"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
       sources."utila-0.4.0"
-      sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
-      sources."value-or-promise-1.0.6"
-      sources."vary-1.1.2"
-      sources."vfile-4.2.1"
-      sources."vfile-location-2.0.6"
-      sources."vfile-message-2.0.4"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
@@ -95687,15 +96125,11 @@ 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"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.6"
       sources."xdg-basedir-4.0.0"
-      sources."xstate-4.26.1"
-      sources."xtend-4.0.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
       sources."yargs-15.4.1"
@@ -95707,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"
         ];
       })
     ];
@@ -95724,15 +96160,15 @@ in
   generator-code = nodeEnv.buildNodePackage {
     name = "generator-code";
     packageName = "generator-code";
-    version = "1.6.5";
+    version = "1.6.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.5.tgz";
-      sha512 = "iNIWQw9R2XxY2epw0NZjFvy3lzhhe1K5UipEn11PmYFQqMhbQdL6SQsM9KFdwSBiVbzOJ1BWrzk/r9Zcp+RyMw==";
+      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.7.tgz";
+      sha512 = "T6i3kosKqbzgVP99cFpGyovKpNHpTmxPIZjfbNMlyCinj1oIclZ3qcHnI7jttJbXb/XHfNPqDLKQEHL+jCHTZQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -95750,7 +96186,7 @@ in
       sources."@octokit/plugin-paginate-rest-2.17.0"
       sources."@octokit/plugin-request-log-1.0.4"
       sources."@octokit/plugin-rest-endpoint-methods-5.13.0"
-      sources."@octokit/request-5.6.2"
+      sources."@octokit/request-5.6.3"
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
       sources."@octokit/types-6.34.0"
@@ -95791,8 +96227,9 @@ in
       sources."inherits-2.0.4"
       sources."interpret-1.4.0"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-2.0.0"
+      sources."is-plain-obj-2.1.0"
       sources."is-plain-object-5.0.0"
       sources."is-stream-2.0.1"
       sources."isexe-2.0.0"
@@ -95804,10 +96241,10 @@ 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.6"
+      sources."node-fetch-2.6.7"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -95834,15 +96271,16 @@ in
       })
       sources."read-pkg-up-7.0.1"
       sources."rechoir-0.6.2"
-      sources."request-light-0.5.5"
-      sources."resolve-1.20.0"
+      sources."request-light-0.5.7"
+      sources."resolve-1.22.0"
       sources."run-async-2.4.1"
       sources."sanitize-filename-1.6.3"
       sources."semver-7.3.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."shelljs-0.8.4"
-      sources."signal-exit-3.0.6"
+      sources."shelljs-0.8.5"
+      sources."signal-exit-3.0.7"
+      sources."sort-keys-4.2.0"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -95856,6 +96294,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-final-newline-2.0.0"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."taketalk-1.0.0"
       sources."text-table-0.2.0"
       sources."tr46-0.0.3"
@@ -95875,7 +96314,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."yallist-4.0.0"
-      sources."yeoman-generator-5.4.2"
+      sources."yeoman-generator-5.6.1"
       (sources."yosay-2.0.2" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -95918,7 +96357,7 @@ in
       sources."has-flag-3.0.0"
       sources."iterall-1.3.0"
       sources."minimist-1.2.5"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."supports-color-5.5.0"
       sources."tr46-0.0.3"
       sources."webidl-conversions-3.0.1"
@@ -96016,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.3"
+      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"
@@ -96087,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 = [
@@ -96109,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"
@@ -96138,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;
@@ -96172,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.2.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.0"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -96232,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.4"
+      sources."keyv-4.1.1"
       sources."li-1.3.0"
       (sources."log-symbols-5.1.0" // {
         dependencies = [
@@ -96246,14 +96689,18 @@ in
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."normalize-url-6.1.0"
-      sources."object-inspect-1.11.1"
+      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.2"
-      sources."query-string-7.0.1"
+      sources."qs-6.10.3"
+      sources."query-string-7.1.1"
       sources."quick-lru-5.1.1"
       sources."readable-stream-3.6.0"
       sources."resolve-alpn-1.2.1"
@@ -96261,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"
@@ -96286,15 +96733,15 @@ 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.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -96309,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.8.2"
+      sources."ajv-8.10.0"
       sources."ajv-formats-2.1.1"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-4.3.2"
@@ -96323,12 +96772,12 @@ in
       sources."bl-4.1.0"
       (sources."boxen-5.1.2" // {
         dependencies = [
-          sources."camelcase-6.2.1"
+          sources."camelcase-6.3.0"
           sources."type-fest-0.20.2"
         ];
       })
       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"
@@ -96371,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"
@@ -96400,7 +96849,7 @@ in
         ];
       })
       sources."function-bind-1.1.1"
-      sources."fuse.js-6.4.6"
+      sources."fuse.js-6.5.3"
       sources."get-stream-6.0.1"
       sources."get-uri-3.0.2"
       sources."global-dirs-3.0.0"
@@ -96409,12 +96858,12 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-errors-1.8.1"
       sources."http-proxy-agent-4.0.1"
@@ -96437,7 +96886,7 @@ in
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-installed-globally-0.4.0"
       sources."is-interactive-1.0.0"
@@ -96491,7 +96940,7 @@ in
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."netmask-2.0.2"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."normalize-package-data-3.0.3"
       sources."normalize-url-4.5.1"
       sources."npm-run-path-4.0.1"
@@ -96533,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"
@@ -96560,11 +97009,11 @@ in
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.4.0"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -96576,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"
@@ -96593,13 +97042,14 @@ in
       sources."strip-indent-3.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."trim-newlines-3.0.1"
-      sources."tslib-2.1.0"
+      sources."tslib-2.3.1"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
@@ -96611,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"
@@ -96651,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"
@@ -96687,11 +97137,10 @@ in
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."cli-progress-3.9.1"
+      sources."cli-progress-3.10.0"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colors-1.4.0"
       sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.3"
@@ -96723,7 +97172,7 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-stream-2.3.1"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -96750,11 +97199,11 @@ 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"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -96770,7 +97219,7 @@ in
           sources."kleur-3.0.3"
         ];
       })
-      sources."query-string-7.0.1"
+      sources."query-string-7.1.1"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -96812,7 +97261,7 @@ in
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
       sources."y18n-5.0.8"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
       sources."yauzl-2.10.0"
     ];
@@ -96836,9 +97285,9 @@ in
     };
     dependencies = [
       sources."@ardatan/aggregate-error-0.0.6"
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -96879,9 +97328,9 @@ in
           sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/import-6.6.3" // {
+      (sources."@graphql-tools/import-6.6.5" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.5.5"
+          sources."@graphql-tools/utils-8.6.1"
           sources."tslib-2.3.1"
         ];
       })
@@ -96908,8 +97357,8 @@ in
       })
       (sources."@graphql-tools/schema-8.3.1" // {
         dependencies = [
-          sources."@graphql-tools/merge-8.2.1"
-          sources."@graphql-tools/utils-8.5.5"
+          sources."@graphql-tools/merge-8.2.2"
+          sources."@graphql-tools/utils-8.6.1"
           sources."tslib-2.3.1"
         ];
       })
@@ -96940,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.0"
+      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"
@@ -97053,7 +97502,7 @@ in
       sources."extract-files-9.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.1.1"
       sources."fastq-1.13.0"
@@ -97083,11 +97532,12 @@ in
           sources."p-cancelable-1.1.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."graphql-15.3.0"
       (sources."graphql-config-3.0.3" // {
         dependencies = [
           sources."cosmiconfig-6.0.0"
+          sources."minimatch-3.0.4"
         ];
       })
       sources."graphql-subscriptions-1.2.1"
@@ -97105,7 +97555,7 @@ in
       sources."http2-client-1.3.5"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
           sources."resolve-from-4.0.0"
@@ -97211,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"
@@ -97235,13 +97685,13 @@ in
       sources."oas-linter-3.2.2"
       (sources."oas-resolver-2.5.6" // {
         dependencies = [
-          sources."yargs-17.3.0"
+          sources."yargs-17.3.1"
         ];
       })
       sources."oas-schema-walker-1.1.5"
       sources."oas-validator-5.0.8"
       sources."oauth-sign-0.9.0"
-      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.assign-4.1.2"
@@ -97287,17 +97737,17 @@ in
       sources."path-key-2.0.1"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pluralize-8.0.0"
       sources."prepend-http-2.0.0"
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
       sources."reftools-1.1.9"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."remove-trailing-separator-1.1.0"
@@ -97327,11 +97777,11 @@ 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"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."string-env-interpolation-1.0.1"
       (sources."string-width-4.2.3" // {
         dependencies = [
@@ -97348,7 +97798,7 @@ in
       sources."supports-color-7.2.0"
       (sources."swagger2openapi-7.0.8" // {
         dependencies = [
-          sources."yargs-17.3.0"
+          sources."yargs-17.3.1"
         ];
       })
       sources."symbol-observable-1.2.0"
@@ -97414,9 +97864,9 @@ in
       sha512 = "97Chda90OBIHCpH6iQHNYc9qTTADN0LOFbiMcRws3V5SottC/0yTDIQDgBzncZYVCkttyjAnT6YmVuNId7ymQA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -97430,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.3"
+      sources."@graphql-tools/import-6.6.5"
       sources."@graphql-tools/json-file-loader-7.3.3"
-      sources."@graphql-tools/load-7.5.0"
-      sources."@graphql-tools/merge-8.2.1"
+      sources."@graphql-tools/load-7.5.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.3.0"
+          sources."ws-8.5.0"
         ];
       })
-      sources."@graphql-tools/utils-8.5.5"
-      sources."@graphql-tools/wrap-8.3.2"
+      sources."@graphql-tools/utils-8.6.1"
+      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"
@@ -97480,12 +97930,12 @@ in
       })
       sources."@oclif/screen-1.0.4"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.0"
+      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"
@@ -97511,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 = [
@@ -97542,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.4"
+      sources."cross-undici-fetch-0.1.24"
       sources."cwise-compiler-1.1.3"
       sources."dataloader-2.0.0"
       sources."debug-4.3.3"
@@ -97583,7 +98024,7 @@ in
       })
       sources."extract-files-11.0.0"
       sources."extract-stack-1.0.0"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       (sources."finalhandler-1.1.1" // {
@@ -97593,15 +98034,20 @@ in
         ];
       })
       sources."form-data-encoder-1.7.1"
-      sources."formdata-node-4.3.1"
+      (sources."formdata-node-4.3.2" // {
+        dependencies = [
+          sources."web-streams-polyfill-4.0.0-beta.1"
+        ];
+      })
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-extra-8.1.0"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
+      sources."globby-11.1.0"
+      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"
@@ -97611,13 +98057,13 @@ 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"
       sources."iconv-lite-0.4.19"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
           sources."resolve-from-4.0.0"
@@ -97665,12 +98111,12 @@ 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"
       sources."node-domexception-1.0.0"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."normalize-path-2.1.1"
       sources."nullthrows-1.1.1"
       sources."omggif-1.0.10"
@@ -97684,7 +98130,7 @@ in
       sources."path-key-2.0.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pngjs-5.0.0"
       sources."proxy-addr-2.0.7"
       sources."qs-6.5.1"
@@ -97750,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.0"
+      sources."undici-4.14.1"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
       sources."unixify-1.0.0"
@@ -97760,7 +98206,7 @@ in
       sources."value-or-promise-1.0.11"
       sources."vary-1.1.2"
       sources."vscode-languageserver-types-3.16.0"
-      sources."web-streams-polyfill-4.0.0-beta.1"
+      sources."web-streams-polyfill-3.2.0"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-fetch-3.6.2"
       sources."whatwg-url-5.0.0"
@@ -97814,7 +98260,7 @@ in
       sources."ini-1.3.8"
       sources."interpret-1.1.0"
       sources."is-absolute-1.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -97841,10 +98287,11 @@ in
       sources."path-parse-1.0.7"
       sources."path-root-0.1.1"
       sources."path-root-regex-0.1.2"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."rechoir-0.7.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-dir-1.0.1"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."unc-path-regex-0.1.2"
       sources."v8flags-3.2.0"
@@ -97881,19 +98328,19 @@ in
   meshcommander = nodeEnv.buildNodePackage {
     name = "meshcommander";
     packageName = "meshcommander";
-    version = "0.9.1-a";
+    version = "0.9.2-b";
     src = fetchurl {
-      url = "https://registry.npmjs.org/meshcommander/-/meshcommander-0.9.1-a.tgz";
-      sha512 = "y6T69luPREY/22vvm0MKauIN85BXoSy1zSEAmZc0lKkqc37JY12M16kGm5wF55uXs8LAlreOVY+4lrfrPnQtxw==";
+      url = "https://registry.npmjs.org/meshcommander/-/meshcommander-0.9.2-b.tgz";
+      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.0"
-      sources."bytes-3.1.0"
-      sources."content-disposition-0.5.3"
+      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.0"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."debug-2.6.9"
       sources."depd-1.1.2"
@@ -97902,14 +98349,14 @@ in
       sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.17.1"
+      sources."express-4.17.3"
       sources."express-ws-2.0.0"
       sources."finalhandler-1.1.2"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      sources."http-errors-1.7.2"
+      sources."http-errors-1.8.1"
       sources."iconv-lite-0.4.24"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ipaddr.js-1.9.1"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -97919,26 +98366,26 @@ 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.7.0"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
-      sources."safe-buffer-5.1.2"
+      sources."raw-body-2.4.3"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.1"
+      sources."serve-static-1.14.2"
+      sources."setprototypeof-1.2.0"
       sources."statuses-1.5.0"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."type-is-1.6.18"
       sources."ultron-1.0.2"
       sources."unpipe-1.0.0"
@@ -98003,28 +98450,26 @@ in
   gtop = nodeEnv.buildNodePackage {
     name = "gtop";
     packageName = "gtop";
-    version = "1.1.2";
+    version = "1.1.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gtop/-/gtop-1.1.2.tgz";
-      sha512 = "IebcEL7sb+QBmXfAlsljGjAyMNDCa5Dt9Xx7HQvQUI1XuwSFZzivvMzS0dWIFL2TKKuF77ticbBi+Imip4vx2g==";
+      url = "https://registry.npmjs.org/gtop/-/gtop-1.1.3.tgz";
+      sha512 = "LkZYdWebxn7qeQApnDN7Q50rwCg4raayL4DIQNPdhIyNKwwm3rbKHeX4+K4cV0SKBen7jVkY4s1c7aIdxGsF8A==";
     };
     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.0"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
+      sources."cli-table3-0.6.1"
       sources."colors-1.4.0"
       sources."core-util-is-1.0.3"
       sources."drawille-blessed-contrib-1.0.0"
@@ -98046,19 +98491,16 @@ 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"
       sources."memorystream-0.3.1"
       sources."node-emoji-1.11.0"
       sources."nopt-2.1.2"
-      sources."object-assign-4.1.1"
       sources."optimist-0.3.7"
       sources."picture-tuber-1.0.2"
       sources."png-js-0.1.1"
@@ -98080,9 +98522,9 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.9.17"
+      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"
@@ -98246,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"
@@ -98295,7 +98737,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."gulp-cli-2.3.0"
       sources."gulplog-1.0.0"
       sources."has-1.0.3"
@@ -98318,7 +98760,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -98359,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"
@@ -98432,7 +98874,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -98508,6 +98950,7 @@ in
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."sver-compat-1.5.0"
       sources."through2-2.0.5"
       sources."through2-filter-3.0.0"
@@ -98656,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"
@@ -98696,7 +99139,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."gulplog-1.0.0"
       sources."has-1.0.3"
       sources."has-symbols-1.0.2"
@@ -98720,7 +99163,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -98837,7 +99280,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -98895,6 +99338,7 @@ in
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."sver-compat-1.5.0"
       sources."time-stamp-1.1.0"
       (sources."to-object-path-0.3.0" // {
@@ -98976,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;
@@ -98992,14 +99436,14 @@ in
   htmlhint = nodeEnv.buildNodePackage {
     name = "htmlhint";
     packageName = "htmlhint";
-    version = "1.0.0";
+    version = "1.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/htmlhint/-/htmlhint-1.0.0.tgz";
-      sha512 = "Z+8hVuoHHRoWRUMWE7ehtNVJbED/sbmIFN/azvNnBMliF9vgdTISdATUnPvA1Y5B6FV4tDPFCMrJ5+gvKIZ2rQ==";
+      url = "https://registry.npmjs.org/htmlhint/-/htmlhint-1.1.2.tgz";
+      sha512 = "3rUS4ROXjyRidMiThTXhwtAotmGvOOof3uUk1X0YWjJF63qOP0sorogfgvo+XFcp5Q6IWhiFcZqd3giCrKHg+g==";
     };
     dependencies = [
       sources."ansi-styles-4.3.0"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chalk-4.1.2"
@@ -99017,8 +99461,8 @@ 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."node-fetch-2.6.6"
+      sources."minimatch-3.1.2"
+      sources."node-fetch-2.6.7"
       sources."once-1.4.0"
       sources."parse-glob-3.0.4"
       sources."path-is-absolute-1.0.1"
@@ -99043,23 +99487,27 @@ in
   http-server = nodeEnv.buildNodePackage {
     name = "http-server";
     packageName = "http-server";
-    version = "14.0.0";
+    version = "14.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/http-server/-/http-server-14.0.0.tgz";
-      sha512 = "XTePIXAo5x72bI8SlKFSqsg7UuSHwsOa4+RJIe56YeMUvfTvGDy7TxFkTEhfIRmM/Dnf6x29ut541ythSBZdkQ==";
+      url = "https://registry.npmjs.org/http-server/-/http-server-14.1.0.tgz";
+      sha512 = "5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg==";
     };
     dependencies = [
+      sources."ansi-styles-4.3.0"
       sources."async-2.6.3"
       sources."basic-auth-2.0.1"
       sources."call-bind-1.0.2"
-      sources."colors-1.4.0"
+      sources."chalk-4.1.2"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."corser-2.0.1"
       sources."debug-3.2.7"
       sources."eventemitter3-4.0.7"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
+      sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
       sources."he-1.2.0"
       sources."html-encoding-sniffer-3.0.0"
@@ -99070,15 +99518,16 @@ in
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.3"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."opener-1.5.2"
       sources."portfinder-1.0.28"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."requires-port-1.0.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."secure-compare-3.0.1"
       sources."side-channel-1.0.4"
+      sources."supports-color-7.2.0"
       sources."union-0.5.0"
       sources."url-join-4.0.1"
       sources."whatwg-encoding-2.0.0"
@@ -99111,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"
@@ -99230,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"
@@ -99264,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.0"
+      sources."@types/node-14.18.12"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -99275,7 +99725,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1046.0"
+      sources."aws-sdk-2.1077.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -99339,7 +99789,7 @@ in
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
       sources."isstream-0.1.2"
-      sources."jmespath-0.15.0"
+      sources."jmespath-0.16.0"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
       sources."json-schema-0.4.0"
@@ -99392,14 +99842,14 @@ in
       sources."optionator-0.8.3"
       sources."performance-now-2.1.0"
       sources."prelude-ls-1.1.2"
-      (sources."prompt-1.2.0" // {
+      (sources."prompt-1.2.2" // {
         dependencies = [
           sources."async-0.9.2"
         ];
       })
       sources."psl-1.8.0"
       sources."punycode-1.3.2"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."querystring-0.2.0"
       sources."read-1.0.7"
       sources."readable-stream-3.6.0"
@@ -99416,7 +99866,7 @@ in
       sources."socks5-http-client-1.0.4"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       sources."static-eval-2.0.2"
       sources."string-width-4.2.3"
@@ -99572,7 +100022,7 @@ in
           sources."object-assign-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-ansi-2.0.0"
@@ -99648,7 +100098,7 @@ in
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."rc-1.2.8"
       (sources."read-all-stream-3.1.0" // {
         dependencies = [
@@ -99672,7 +100122,7 @@ in
       sources."slide-1.1.6"
       sources."source-map-0.5.7"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stream-shift-1.0.1"
       sources."string-length-1.0.1"
       sources."string_decoder-0.10.31"
@@ -99739,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 = [
@@ -99789,7 +100239,7 @@ in
       sources."async-limiter-1.0.1"
       sources."chrome-remote-interface-0.27.2"
       sources."commander-2.11.0"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."semver-5.7.1"
       sources."source-map-0.7.3"
       sources."tr46-0.0.3"
@@ -99817,7 +100267,7 @@ in
     };
     dependencies = [
       sources."@jcubic/lily-0.3.0"
-      sources."@types/jquery-3.5.10"
+      sources."@types/jquery-3.5.13"
       sources."@types/sizzle-2.3.3"
       sources."ansidec-0.3.4"
       sources."arch-2.2.0"
@@ -99836,7 +100286,7 @@ in
       sources."fsevents-2.3.2"
       sources."get-stream-4.1.0"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."historic-readline-1.0.8"
       sources."iconv-lite-0.6.3"
       sources."inflight-1.0.6"
@@ -99846,11 +100296,11 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.6.0"
-      sources."jquery.terminal-2.30.1"
+      sources."jquery.terminal-2.31.1"
       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"
@@ -99858,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.25.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"
@@ -99885,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"
@@ -99915,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"
@@ -99957,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 = [
@@ -99981,7 +100425,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
@@ -99992,12 +100436,12 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       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"
@@ -100013,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 = [
@@ -100024,43 +100467,50 @@ 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.0"
+      sources."picomatch-2.3.1"
       sources."proto-list-1.2.4"
       sources."protobufjs-6.10.2"
       sources."pseudomap-1.0.2"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      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"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stack-chain-1.3.7"
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."universalify-2.0.0"
       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"
         ];
@@ -100082,10 +100532,10 @@ 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.2"
+      sources."vscode-uri-3.0.3"
       sources."wrappy-1.0.2"
       sources."yallist-2.1.2"
     ];
@@ -100133,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 = [
@@ -100207,7 +100657,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-uri-3.0.2"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
@@ -100273,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"
@@ -100287,7 +100737,7 @@ in
           sources."path-key-2.0.1"
         ];
       })
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-7.4.2"
@@ -100308,8 +100758,8 @@ in
       sources."proxy-agent-4.0.1"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."qs-6.10.2"
-      sources."raw-body-2.4.2"
+      sources."qs-6.10.3"
+      sources."raw-body-2.4.3"
       sources."readable-stream-3.6.0"
       sources."restore-cursor-2.0.0"
       sources."rimraf-3.0.2"
@@ -100324,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"
@@ -100334,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"
@@ -100394,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"
     ];
@@ -100408,91 +100858,72 @@ 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."@ot-builder/bin-composite-types-1.3.2"
-      sources."@ot-builder/bin-util-1.3.2"
-      (sources."@ot-builder/cli-help-shower-1.3.2" // {
-        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-proc-1.3.2"
-      sources."@ot-builder/cli-shared-1.3.2"
-      sources."@ot-builder/common-impl-1.3.2"
-      sources."@ot-builder/errors-1.3.2"
-      sources."@ot-builder/io-bin-cff-1.3.2"
-      sources."@ot-builder/io-bin-encoding-1.3.2"
-      sources."@ot-builder/io-bin-ext-private-1.3.2"
-      sources."@ot-builder/io-bin-font-1.3.2"
-      sources."@ot-builder/io-bin-glyph-store-1.3.2"
-      sources."@ot-builder/io-bin-layout-1.3.2"
-      sources."@ot-builder/io-bin-metadata-1.3.2"
-      sources."@ot-builder/io-bin-metric-1.3.2"
-      sources."@ot-builder/io-bin-name-1.3.2"
-      sources."@ot-builder/io-bin-sfnt-1.3.2"
-      sources."@ot-builder/io-bin-ttf-1.3.2"
-      sources."@ot-builder/io-bin-vtt-private-1.3.2"
-      sources."@ot-builder/ot-1.3.2"
-      sources."@ot-builder/ot-encoding-1.3.2"
-      sources."@ot-builder/ot-ext-private-1.3.2"
-      sources."@ot-builder/ot-glyphs-1.3.2"
-      sources."@ot-builder/ot-layout-1.3.2"
-      sources."@ot-builder/ot-metadata-1.3.2"
-      sources."@ot-builder/ot-name-1.3.2"
-      sources."@ot-builder/ot-sfnt-1.3.2"
-      sources."@ot-builder/ot-standard-glyph-namer-1.3.2"
-      sources."@ot-builder/ot-vtt-private-1.3.2"
-      sources."@ot-builder/prelude-1.3.2"
-      sources."@ot-builder/primitive-1.3.2"
-      sources."@ot-builder/rectify-1.3.2"
-      sources."@ot-builder/stat-glyphs-1.3.2"
-      sources."@ot-builder/trace-1.3.2"
-      sources."@ot-builder/var-store-1.3.2"
-      sources."@ot-builder/variance-1.3.2"
-      sources."@unicode/unicode-13.0.0-1.2.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"
+      sources."@ot-builder/cli-proc-1.3.3"
+      sources."@ot-builder/cli-shared-1.3.3"
+      sources."@ot-builder/common-impl-1.3.3"
+      sources."@ot-builder/errors-1.3.3"
+      sources."@ot-builder/io-bin-cff-1.3.3"
+      sources."@ot-builder/io-bin-encoding-1.3.3"
+      sources."@ot-builder/io-bin-ext-private-1.3.3"
+      sources."@ot-builder/io-bin-font-1.3.3"
+      sources."@ot-builder/io-bin-glyph-store-1.3.3"
+      sources."@ot-builder/io-bin-layout-1.3.3"
+      sources."@ot-builder/io-bin-metadata-1.3.3"
+      sources."@ot-builder/io-bin-metric-1.3.3"
+      sources."@ot-builder/io-bin-name-1.3.3"
+      sources."@ot-builder/io-bin-sfnt-1.3.3"
+      sources."@ot-builder/io-bin-ttf-1.3.3"
+      sources."@ot-builder/io-bin-vtt-private-1.3.3"
+      sources."@ot-builder/ot-1.3.3"
+      sources."@ot-builder/ot-encoding-1.3.3"
+      sources."@ot-builder/ot-ext-private-1.3.3"
+      sources."@ot-builder/ot-glyphs-1.3.3"
+      sources."@ot-builder/ot-layout-1.3.3"
+      sources."@ot-builder/ot-metadata-1.3.3"
+      sources."@ot-builder/ot-name-1.3.3"
+      sources."@ot-builder/ot-sfnt-1.3.3"
+      sources."@ot-builder/ot-standard-glyph-namer-1.3.3"
+      sources."@ot-builder/ot-vtt-private-1.3.3"
+      sources."@ot-builder/prelude-1.3.3"
+      sources."@ot-builder/primitive-1.3.3"
+      sources."@ot-builder/rectify-1.3.3"
+      sources."@ot-builder/stat-glyphs-1.3.3"
+      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-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 = [
@@ -100521,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.8"
-      sources."has-flag-3.0.0"
+      sources."graceful-fs-4.2.9"
+      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.2"
-      sources."otb-ttc-bundle-1.3.2"
+      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"
@@ -100559,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 = [
@@ -100567,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"
@@ -100588,30 +101000,17 @@ in
       sources."typo-geom-0.12.1"
       sources."unicoderegexp-0.4.1"
       sources."universalify-2.0.0"
-      (sources."verda-1.4.3" // {
+      (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.0"
+          sources."yargs-17.3.1"
           sources."yargs-parser-21.0.0"
         ];
       })
-      sources."wawoff2-2.0.0"
+      sources."wawoff2-2.0.1"
       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"
@@ -100645,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;
@@ -100674,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"
@@ -100698,14 +101097,15 @@ 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"
       sources."object-assign-4.1.1"
       sources."object-hash-1.3.1"
       sources."once-1.4.0"
-      sources."opentracing-0.14.5"
+      sources."opentracing-0.14.7"
       sources."path-is-absolute-1.0.1"
       sources."pathval-1.1.1"
       sources."process-0.10.1"
@@ -100747,30 +101147,146 @@ in
   joplin = nodeEnv.buildNodePackage {
     name = "joplin";
     packageName = "joplin";
-    version = "2.6.1";
+    version = "2.6.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/joplin/-/joplin-2.6.1.tgz";
-      sha512 = "fnpQ169874h4kg9yYrqAt/kuJuNEKngNQk1FjIFoIZaQJ6iLV6vnqFSl/ncF/dNK6OJahcngtAcFBHHyYxTF1A==";
+      url = "https://registry.npmjs.org/joplin/-/joplin-2.6.2.tgz";
+      sha512 = "61T3dXujHOPIlSwH6VkWRdMIVr36AkuZd9djuvsNSTOJl7s2C5xeztz47evpIXQCoGRd5ziFivTkAY2euydulw==";
     };
     dependencies = [
+      (sources."@aws-crypto/crc32-2.0.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@aws-crypto/ie11-detection-2.0.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@aws-crypto/sha256-browser-2.0.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@aws-crypto/sha256-js-2.0.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@aws-crypto/supports-web-crypto-2.0.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@aws-crypto/util-2.0.1" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      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.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.38"
-      sources."@joplin/fork-sax-1.2.42"
-      sources."@joplin/lib-2.6.2"
-      (sources."@joplin/renderer-2.6.2" // {
+      sources."@joplin/fork-htmlparser2-4.1.39"
+      sources."@joplin/fork-sax-1.2.43"
+      (sources."@joplin/htmlpack-2.6.1" // {
+        dependencies = [
+          sources."fs-extra-10.0.0"
+        ];
+      })
+      sources."@joplin/lib-2.6.3"
+      (sources."@joplin/renderer-2.6.3" // {
         dependencies = [
           sources."fs-extra-8.1.0"
           sources."jsonfile-4.0.0"
+          sources."universalify-0.1.2"
           sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
         ];
       })
-      (sources."@joplin/turndown-4.0.60" // {
+      (sources."@joplin/turndown-4.0.61" // {
         dependencies = [
           sources."css-2.2.4"
         ];
       })
-      sources."@joplin/turndown-plugin-gfm-1.0.42"
+      sources."@joplin/turndown-plugin-gfm-1.0.43"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
       sources."acorn-7.4.1"
@@ -100806,7 +101322,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1046.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -100829,6 +101345,7 @@ in
         ];
       })
       sources."block-stream-0.0.9"
+      sources."bowser-2.11.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
@@ -100839,9 +101356,9 @@ in
       sources."caseless-0.12.0"
       sources."chalk-4.1.2"
       sources."charenc-0.0.2"
-      sources."chokidar-3.5.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"
@@ -100857,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 = [
@@ -100872,7 +101387,7 @@ in
         ];
       })
       sources."cwise-compiler-1.1.3"
-      sources."d3-7.2.1"
+      sources."d3-7.3.0"
       sources."d3-array-3.1.1"
       sources."d3-axis-3.0.0"
       sources."d3-brush-3.0.0"
@@ -100903,7 +101418,7 @@ in
       sources."d3-scale-4.0.2"
       sources."d3-scale-chromatic-3.0.0"
       sources."d3-selection-3.0.0"
-      sources."d3-shape-3.0.1"
+      sources."d3-shape-3.1.0"
       sources."d3-time-3.0.0"
       sources."d3-time-format-4.1.0"
       sources."d3-timer-3.0.1"
@@ -100947,9 +101462,10 @@ in
       })
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
+      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"
@@ -100957,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 = [
@@ -100967,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"
@@ -101003,12 +101519,12 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
+      sources."fast-xml-parser-3.19.0"
       sources."fault-1.0.4"
       sources."file-type-10.11.0"
-      sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
       sources."find-up-2.1.0"
-      sources."follow-redirects-1.14.6"
+      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"
@@ -101019,6 +101535,7 @@ in
       (sources."fs-extra-5.0.0" // {
         dependencies = [
           sources."jsonfile-4.0.0"
+          sources."universalify-0.1.2"
         ];
       })
       sources."fs-minipass-1.2.7"
@@ -101036,7 +101553,7 @@ in
       sources."github-from-package-0.0.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."graphlib-2.1.8"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
@@ -101045,7 +101562,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
-      sources."highlight.js-11.3.1"
+      sources."highlight.js-11.4.0"
       sources."html-encoding-sniffer-1.0.2"
       sources."html-entities-1.4.0"
       sources."html-minifier-3.5.21"
@@ -101057,8 +101574,10 @@ in
       (sources."image-data-uri-2.0.1" // {
         dependencies = [
           sources."fs-extra-0.26.7"
+          sources."jsonfile-2.4.0"
         ];
       })
+      sources."image-size-1.0.0"
       sources."image-type-3.1.0"
       sources."immer-7.0.15"
       sources."inflight-1.0.6"
@@ -101117,7 +101636,7 @@ in
       sources."isexe-2.0.0"
       sources."isobject-2.1.0"
       sources."isstream-0.1.2"
-      sources."jmespath-0.15.0"
+      sources."jmespath-0.16.0"
       sources."jpeg-js-0.4.3"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
@@ -101126,14 +101645,14 @@ in
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonfile-2.4.0"
+      sources."jsonfile-6.1.0"
       sources."jsprim-1.4.2"
       (sources."katex-0.13.24" // {
         dependencies = [
           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"
@@ -101170,26 +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.1" // {
-        dependencies = [
-          sources."argparse-1.0.10"
-          sources."entities-2.0.3"
-          sources."linkify-it-3.0.3"
-          sources."markdown-it-11.0.1"
-          sources."sprintf-js-1.0.3"
-        ];
-      })
+      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.6"
+      sources."mermaid-8.14.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."mimer-2.0.2"
+      sources."mimic-response-3.1.0"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
         dependencies = [
@@ -101202,9 +101714,9 @@ in
       sources."moment-2.29.1"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.3"
-      sources."multiparty-4.2.2"
+      sources."multiparty-4.2.3"
       sources."mustache-4.2.0"
-      sources."nanoid-3.1.30"
+      sources."nanoid-3.3.1"
       sources."napi-build-utils-1.0.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
@@ -101215,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"
@@ -101240,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"
         ];
       })
@@ -101274,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.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"
@@ -101290,10 +101798,11 @@ in
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.1.2"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."query-string-4.3.4"
       sources."querystring-0.2.0"
       sources."querystringify-2.2.0"
+      sources."queue-6.0.2"
       sources."random-bytes-1.0.0"
       sources."rc-1.2.8"
       sources."re-reselect-4.0.0"
@@ -101340,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 = [
@@ -101362,8 +101880,12 @@ 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."sshpk-1.16.1"
+      (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"
       sources."strict-uri-encode-1.1.0"
@@ -101428,6 +101950,7 @@ in
       sources."tough-cookie-3.0.1"
       sources."tr46-1.0.1"
       sources."tree-kit-0.7.4"
+      sources."tslib-2.3.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -101442,7 +101965,7 @@ in
       sources."uid-safe-2.1.5"
       sources."unc-path-regex-0.1.2"
       sources."uniq-1.0.1"
-      sources."universalify-0.1.2"
+      sources."universalify-2.0.0"
       sources."unorm-1.6.0"
       sources."unpack-string-0.0.2"
       sources."upper-case-1.1.3"
@@ -101453,7 +101976,7 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-parse-1.5.3"
+      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"
@@ -101476,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"
@@ -101516,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"
@@ -101561,30 +102084,31 @@ in
   jsdoc = nodeEnv.buildNodePackage {
     name = "jsdoc";
     packageName = "jsdoc";
-    version = "3.6.7";
+    version = "3.6.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz";
-      sha512 = "sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==";
+      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz";
+      sha512 = "IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==";
     };
     dependencies = [
-      sources."@babel/parser-7.16.6"
-      sources."argparse-1.0.10"
+      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"
+      sources."argparse-2.0.1"
       sources."bluebird-3.7.2"
       sources."catharsis-0.9.0"
-      sources."entities-2.0.3"
+      sources."entities-2.1.0"
       sources."escape-string-regexp-2.0.0"
-      sources."graceful-fs-4.2.8"
       sources."js2xmlparser-4.0.2"
-      sources."klaw-3.0.0"
-      sources."linkify-it-2.2.0"
+      sources."klaw-4.0.1"
+      sources."linkify-it-3.0.3"
       sources."lodash-4.17.21"
-      sources."markdown-it-10.0.0"
-      sources."markdown-it-anchor-5.3.0"
-      sources."marked-2.1.3"
+      sources."markdown-it-12.3.2"
+      sources."markdown-it-anchor-8.4.1"
+      sources."marked-4.0.12"
       sources."mdurl-1.0.1"
       sources."mkdirp-1.0.4"
       sources."requizzle-0.2.3"
-      sources."sprintf-js-1.0.3"
       sources."strip-json-comments-3.1.1"
       sources."taffydb-2.6.2"
       sources."uc.micro-1.0.6"
@@ -101604,10 +102128,10 @@ in
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.13.1";
+    version = "2.13.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.1.tgz";
-      sha512 = "vymzfR3OysF5P774x6zYv0bD4EpH6NWRxpq54wO9mA9RuY49yb1teKSICkLx2Ryx+mfzlVVNNbTBtsRtg78t7g==";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.4.tgz";
+      sha512 = "HO3bosL84b2qWqI0q+kpT/OpRJwo0R4ivgmxaO848+bo10rc50SkPnrtwSFXttW0ym4np8jbJvLwk5NziB7jIw==";
     };
     dependencies = [
       sources."balanced-match-1.0.2"
@@ -101635,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"
@@ -101674,23 +102197,44 @@ in
   json-diff = nodeEnv.buildNodePackage {
     name = "json-diff";
     packageName = "json-diff";
-    version = "0.5.4";
+    version = "0.7.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/json-diff/-/json-diff-0.5.4.tgz";
-      sha512 = "q5Xmx9QXNOzOzIlMoYtLrLiu4Jl/Ce2bn0CNcv54PhyH89CI4GWlGVDye8ei2Ijt9R3U+vsWPsXpLUNob8bs8Q==";
+      url = "https://registry.npmjs.org/json-diff/-/json-diff-0.7.1.tgz";
+      sha512 = "/LxjcgeDIZwFB1HHTShKAYs2NaxAgwUQjXKvrFLDvw3KqvbffFmy5ZeeamxoSLgQG89tRs9+CFKiR3lJAPPhDw==";
     };
     dependencies = [
-      sources."cli-color-0.1.7"
+      sources."cli-color-2.0.1"
+      sources."d-1.0.1"
       sources."difflib-0.2.4"
-      sources."dreamopt-0.6.0"
-      sources."es5-ext-0.8.2"
+      sources."dreamopt-0.8.0"
+      sources."es5-ext-0.10.53"
+      sources."es6-iterator-2.0.3"
+      sources."es6-symbol-3.1.3"
+      sources."es6-weak-map-2.0.3"
+      sources."event-emitter-0.3.5"
+      (sources."ext-1.6.0" // {
+        dependencies = [
+          sources."type-2.6.0"
+        ];
+      })
       sources."heap-0.2.7"
+      sources."is-promise-2.2.2"
+      sources."lru-queue-0.1.0"
+      (sources."memoizee-0.4.15" // {
+        dependencies = [
+          sources."next-tick-1.1.0"
+        ];
+      })
+      sources."next-tick-1.0.0"
+      sources."timers-ext-0.1.7"
+      sources."type-1.2.0"
       sources."wordwrap-1.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "JSON diff";
       homepage = "https://github.com/andreyvit/json-diff";
+      license = "MIT";
     };
     production = true;
     bypassCache = true;
@@ -101734,11 +102278,11 @@ in
       sources."mime-types-2.1.34"
       sources."ms-2.1.3"
       sources."native-promise-only-0.8.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."path-loader-1.0.10"
       sources."process-nextick-args-2.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."readable-stream-2.3.7"
       sources."safe-buffer-5.1.2"
       sources."side-channel-1.0.4"
@@ -101770,22 +102314,22 @@ 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"
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       sources."chalk-4.1.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -101801,9 +102345,13 @@ in
       })
       sources."configstore-5.0.1"
       sources."connect-pause-0.1.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.2"
       sources."cookie-signature-1.0.6"
       sources."cors-2.8.5"
       sources."crypto-random-string-2.0.0"
@@ -101824,16 +102372,9 @@ in
       sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         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."express-urlrewrite-1.4.0" // {
@@ -101848,7 +102389,7 @@ in
       sources."get-stream-4.1.0"
       sources."global-dirs-3.0.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -101903,8 +102444,8 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nanoid-3.1.30"
-      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"
@@ -101925,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"
@@ -101946,18 +102487,15 @@ in
           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."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"
@@ -101982,7 +102520,7 @@ in
       sources."xdg-basedir-4.0.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -102030,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"
@@ -102059,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"
@@ -102110,9 +102648,13 @@ in
         ];
       })
       sources."connect-pause-0.1.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.2"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.3"
@@ -102143,16 +102685,9 @@ in
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         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"
@@ -102186,7 +102721,7 @@ in
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."got-5.7.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -102223,7 +102758,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -102310,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"
@@ -102369,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"
@@ -102377,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"
@@ -102444,12 +102979,12 @@ in
       sources."repeating-2.0.1"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
         ];
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
@@ -102457,15 +102992,12 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.1"
       sources."semver-diff-2.1.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."server-destroy-1.0.1"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
@@ -102508,7 +103040,7 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
       sources."split-string-3.1.0"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -102534,6 +103066,7 @@ in
       sources."strip-bom-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."timed-out-3.1.3"
       sources."to-object-path-0.3.0"
       sources."to-regex-3.0.2"
@@ -102613,11 +103146,12 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/command-1.8.15"
-      sources."@oclif/config-1.18.2"
+      sources."@oclif/command-1.8.16"
+      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"
         ];
       })
@@ -102625,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.19.0" // {
+      (sources."@putdotio/api-client-8.27.3" // {
         dependencies = [
           sources."axios-0.21.4"
         ];
@@ -102656,7 +103191,7 @@ in
       sources."chardet-0.7.0"
       sources."clean-stack-3.0.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-progress-3.9.1"
+      sources."cli-progress-3.10.0"
       (sources."cli-ux-5.6.7" // {
         dependencies = [
           sources."supports-color-8.1.1"
@@ -102665,7 +103200,6 @@ in
       sources."cli-width-3.0.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       (sources."conf-6.2.4" // {
         dependencies = [
@@ -102700,7 +103234,7 @@ in
       sources."external-editor-3.1.0"
       sources."extract-stack-2.0.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       (sources."figures-3.2.0" // {
@@ -102710,20 +103244,20 @@ in
       })
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
+      sources."globby-11.1.0"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.2"
       sources."hyperlinker-1.0.0"
       sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."inquirer-7.3.3"
@@ -102736,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"
@@ -102761,7 +103295,7 @@ in
       sources."next-tick-1.0.0"
       sources."nice-try-1.0.5"
       sources."node-downloader-helper-1.0.19"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-treeify-1.1.33"
       sources."onetime-5.1.2"
       sources."os-tmpdir-1.0.2"
@@ -102776,10 +103310,10 @@ in
       sources."path-exists-3.0.0"
       sources."path-key-2.0.1"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pkg-up-3.1.0"
       sources."punycode-2.1.1"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."queue-microtask-1.2.3"
       sources."redeyed-2.1.1"
       sources."restore-cursor-3.1.0"
@@ -102796,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"
@@ -102807,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"
@@ -102833,10 +103367,10 @@ in
   katex = nodeEnv.buildNodePackage {
     name = "katex";
     packageName = "katex";
-    version = "0.15.1";
+    version = "0.15.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/katex/-/katex-0.15.1.tgz";
-      sha512 = "KIk+gizli0gl1XaJlCYS8/donGMbzXYTka6BbH3AgvDJTOwyDY4hJ+YmzJ1F0y/3XzX5B9ED8AqB2Hmn2AZ0uA==";
+      url = "https://registry.npmjs.org/katex/-/katex-0.15.2.tgz";
+      sha512 = "FfZ/f6f8bQdLmJ3McXDNTkKenQkoXkItpW0I9bsG2wgb+8JAY5bwpXFtI8ZVrg5hc1wo1X/UIhdkVMpok46tEQ==";
     };
     dependencies = [
       sources."commander-8.3.0"
@@ -102854,29 +103388,29 @@ in
   karma = nodeEnv.buildNodePackage {
     name = "karma";
     packageName = "karma";
-    version = "6.3.9";
+    version = "6.3.16";
     src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-6.3.9.tgz";
-      sha512 = "E/MqdLM9uVIhfuyVnrhlGBu4miafBdXEAEqCmwdEMh3n17C7UWC/8Kvm3AYKr91gc7scutekZ0xv6rxRaUCtnw==";
+      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.0"
-      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."base64-arraybuffer-1.0.1"
       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."chokidar-3.5.2"
+      sources."bytes-3.1.2"
+      sources."chokidar-3.5.3"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -102885,10 +103419,10 @@ 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-3.0.0"
+      sources."date-format-4.0.3"
       sources."debug-2.6.9"
       sources."depd-1.1.2"
       sources."di-0.0.1"
@@ -102896,13 +103430,13 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-6.1.0" // {
+      (sources."engine.io-6.1.2" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."engine.io-parser-5.0.2"
+      sources."engine.io-parser-5.0.3"
       sources."ent-2.2.0"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -102910,15 +103444,15 @@ in
       sources."extend-3.0.2"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."flatted-2.0.2"
-      sources."follow-redirects-1.14.6"
-      sources."fs-extra-8.1.0"
+      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"
       sources."get-caller-file-2.0.5"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."http-errors-1.8.1"
       sources."http-proxy-1.18.1"
       sources."iconv-lite-0.4.24"
@@ -102930,9 +103464,9 @@ in
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."isbinaryfile-4.0.8"
-      sources."jsonfile-4.0.0"
+      sources."jsonfile-6.1.0"
       sources."lodash-4.17.21"
-      (sources."log4js-6.3.0" // {
+      (sources."log4js-6.4.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -102942,20 +103476,22 @@ 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"
       sources."once-1.4.0"
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
-      sources."picomatch-2.3.0"
+      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"
@@ -102963,7 +103499,7 @@ in
       sources."rimraf-3.0.2"
       sources."safer-buffer-2.1.2"
       sources."setprototypeof-1.2.0"
-      (sources."socket.io-4.4.0" // {
+      (sources."socket.io-4.4.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -102978,9 +103514,8 @@ in
       })
       sources."source-map-0.6.1"
       sources."statuses-1.5.0"
-      (sources."streamroller-2.2.4" // {
+      (sources."streamroller-3.0.2" // {
         dependencies = [
-          sources."date-format-2.1.0"
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
@@ -102992,7 +103527,7 @@ in
       sources."toidentifier-1.0.1"
       sources."type-is-1.6.18"
       sources."ua-parser-js-0.7.31"
-      sources."universalify-0.1.2"
+      sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
@@ -103023,42 +103558,46 @@ in
       sha512 = "ffn0F9o3Yy6E9UFAS/vzOpsYxbVwk/pbSWrS3YPIZs+PtUv6zmwrkZ+71xSSb6tHBkJw5k93vOdkbo4cViFdFA==";
     };
     dependencies = [
-      sources."@babel/cli-7.16.0"
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.5" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/cli-7.17.3"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      (sources."@babel/helper-compilation-targets-7.16.3" // {
+      sources."@babel/generator-7.17.3"
+      sources."@babel/helper-annotate-as-pure-7.16.7"
+      (sources."@babel/helper-compilation-targets-7.16.7" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/node-7.16.5"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-syntax-jsx-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-7.16.5"
-      sources."@babel/register-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      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"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      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/helper-validator-option-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.17.3"
+      sources."@babel/plugin-syntax-jsx-7.16.7"
+      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.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"
@@ -103088,8 +103627,8 @@ in
       sources."@xmpp/websocket-0.12.1"
       sources."@xmpp/xml-0.12.1"
       sources."abab-2.0.5"
-      sources."accepts-1.3.7"
-      sources."acorn-8.6.0"
+      sources."accepts-1.3.8"
+      sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -103110,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.0" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -103119,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.0"
+      sources."bytes-3.1.2"
       sources."bytesish-0.4.4"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001287"
+      sources."caniuse-lite-1.0.30001312"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chardet-1.4.0"
@@ -103137,12 +103676,16 @@ in
       sources."commander-4.1.1"
       sources."commondir-1.0.1"
       sources."concat-map-0.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."convert-source-map-1.8.0"
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.0"
+      sources."core-js-3.21.1"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
@@ -103175,7 +103718,7 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.21"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."enquirer-2.3.6"
@@ -103194,10 +103737,11 @@ in
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."events-3.3.0"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
+          sources."safe-buffer-5.2.1"
         ];
       })
       sources."express-validator-6.14.0"
@@ -103223,7 +103767,7 @@ in
       sources."get-symbol-description-1.0.0"
       sources."glob-7.2.0"
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-flag-3.0.0"
@@ -103236,11 +103780,7 @@ in
       })
       sources."homedir-polyfill-1.0.3"
       sources."html-encoding-sniffer-2.0.1"
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."http-errors-1.8.1"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
@@ -103278,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"
@@ -103299,17 +103839,17 @@ 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.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.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."object.getownpropertydescriptors-2.1.3"
@@ -103328,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.7.0"
+      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.0"
+      sources."raw-body-2.4.3"
       sources."readable-stream-3.6.0"
       sources."regenerator-runtime-0.13.9"
       sources."require-directory-2.1.1"
@@ -103351,18 +103891,18 @@ in
       sources."saslmechanisms-0.1.1"
       sources."saxes-5.0.1"
       sources."semver-5.7.1"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.1"
+      sources."serve-static-1.14.2"
+      sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
       sources."shallow-clone-3.0.1"
       sources."side-channel-1.0.4"
@@ -103389,7 +103929,7 @@ in
       sources."supports-color-5.5.0"
       sources."symbol-tree-3.2.4"
       sources."to-fast-properties-2.0.0"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-0.0.3"
       sources."type-check-0.3.2"
@@ -103420,7 +103960,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-1.3.4"
-      sources."ws-8.3.0"
+      sources."ws-8.5.0"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -103470,7 +104010,7 @@ in
       sources."glob-7.2.0"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-symbols-1.0.2"
       sources."inflight-1.0.6"
@@ -103489,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"
@@ -103654,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"
@@ -103698,7 +104238,7 @@ in
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       (sources."request-2.88.0" // {
@@ -103720,9 +104260,9 @@ 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.16.1"
+      sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       sources."string-width-1.0.2"
       sources."string_decoder-0.10.31"
@@ -103904,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"
@@ -103941,7 +104481,7 @@ in
       sources."prompt-1.0.0"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       (sources."request-2.88.0" // {
@@ -103960,9 +104500,9 @@ 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.16.1"
+      sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       sources."string-width-1.0.2"
       sources."string_decoder-0.10.31"
@@ -104045,9 +104585,9 @@ in
       sha512 = "DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -104057,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"
@@ -104157,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"
@@ -104177,7 +104717,7 @@ in
       sources."@octokit/plugin-paginate-rest-2.17.0"
       sources."@octokit/plugin-request-log-1.0.4"
       sources."@octokit/plugin-rest-endpoint-methods-5.13.0"
-      (sources."@octokit/request-5.6.2" // {
+      (sources."@octokit/request-5.6.3" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
@@ -104194,7 +104734,7 @@ in
       sources."abbrev-1.1.1"
       sources."add-stream-1.0.0"
       sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.1.4"
+      sources."agentkeepalive-4.2.0"
       sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       (sources."ansi-escapes-4.3.2" // {
@@ -104202,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" // {
@@ -104245,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 = [
@@ -104275,13 +104810,13 @@ in
         ];
       })
       sources."conventional-changelog-preset-loader-2.3.4"
-      (sources."conventional-changelog-writer-5.0.0" // {
+      (sources."conventional-changelog-writer-5.0.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."conventional-commits-filter-2.0.7"
-      sources."conventional-commits-parser-3.2.3"
+      sources."conventional-commits-parser-3.2.4"
       sources."conventional-recommended-bump-6.1.0"
       sources."core-util-is-1.0.2"
       sources."cosmiconfig-7.0.1"
@@ -104331,7 +104866,7 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       sources."figures-3.2.0"
@@ -104346,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"
@@ -104365,7 +104902,7 @@ in
       sources."get-stream-6.0.1"
       sources."get-symbol-description-1.0.0"
       sources."getpass-0.1.7"
-      sources."git-raw-commits-2.0.10"
+      sources."git-raw-commits-2.0.11"
       (sources."git-remote-origin-url-2.0.0" // {
         dependencies = [
           sources."pify-2.3.0"
@@ -104381,8 +104918,8 @@ in
       sources."gitconfiglocal-1.0.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
+      sources."globby-11.1.0"
+      sources."graceful-fs-4.2.9"
       sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -104393,7 +104930,7 @@ in
       sources."has-symbols-1.0.2"
       sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
@@ -104401,14 +104938,14 @@ in
       sources."human-signals-2.1.0"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.6.3"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."ignore-walk-3.0.4"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
           sources."resolve-from-4.0.0"
         ];
       })
-      sources."import-local-3.0.3"
+      sources."import-local-3.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."infer-owner-1.0.4"
@@ -104421,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"
@@ -104434,7 +104966,7 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-callable-1.2.4"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-date-object-1.0.5"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -104522,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 = [
@@ -104543,9 +105075,9 @@ in
       sources."ms-2.1.2"
       sources."multimatch-5.0.0"
       sources."mute-stream-0.0.8"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
-      (sources."node-fetch-2.6.6" // {
+      (sources."node-fetch-2.6.7" // {
         dependencies = [
           sources."tr46-0.0.3"
           sources."webidl-conversions-3.0.1"
@@ -104590,7 +105122,7 @@ in
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."object.getownpropertydescriptors-2.1.3"
@@ -104615,7 +105147,7 @@ in
       sources."parse-json-5.2.0"
       (sources."parse-path-4.0.3" // {
         dependencies = [
-          sources."qs-6.10.2"
+          sources."qs-6.10.3"
         ];
       })
       sources."parse-url-6.0.0"
@@ -104625,7 +105157,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pkg-dir-4.2.0"
       sources."process-nextick-args-2.0.1"
@@ -104637,7 +105169,7 @@ in
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."query-string-6.14.1"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-4.0.1"
@@ -104670,7 +105202,7 @@ in
       sources."redent-3.0.0"
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-cwd-3.0.0"
       sources."resolve-from-5.0.0"
       sources."restore-cursor-3.1.0"
@@ -104688,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"
@@ -104703,24 +105235,20 @@ in
       sources."split-1.0.1"
       sources."split-on-first-1.1.0"
       sources."split2-3.2.2"
-      sources."sshpk-1.16.1"
+      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"
       sources."strong-log-transformer-2.1.0"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-6.1.11"
       sources."temp-dir-1.0.0"
       (sources."temp-write-4.0.0" // {
@@ -104743,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"
@@ -104766,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" // {
@@ -104815,10 +105338,10 @@ 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.8"
+      sources."graceful-fs-4.2.9"
       sources."iconv-lite-0.4.24"
       sources."image-size-0.5.5"
       sources."is-what-3.14.1"
@@ -104878,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"
@@ -104993,7 +105516,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -105039,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" // {
@@ -105209,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"
@@ -105241,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"
@@ -105274,9 +105797,13 @@ in
       sources."component-bind-1.0.0"
       sources."component-emitter-1.3.0"
       sources."component-inherit-0.0.3"
-      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.2"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.3"
@@ -105296,7 +105823,6 @@ in
       sources."encodeurl-1.0.2"
       (sources."engine.io-3.5.0" // {
         dependencies = [
-          sources."cookie-0.4.1"
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
@@ -105312,16 +105838,9 @@ in
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         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"
@@ -105351,7 +105870,7 @@ in
       sources."github-slugger-1.4.0"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-binary2-1.0.3" // {
@@ -105456,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" // {
@@ -105498,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"
@@ -105506,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 = [
@@ -105566,7 +106085,7 @@ in
       sources."repeat-string-1.6.1"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
         ];
       })
       sources."resolve-url-0.2.1"
@@ -105574,15 +106093,12 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (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."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -105641,7 +106157,7 @@ in
       sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -105738,59 +106254,60 @@ in
     version = "1.10.1";
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      sources."@babel/core-7.16.5"
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.5"
-      sources."@babel/helper-compilation-targets-7.16.3"
-      sources."@babel/helper-create-class-features-plugin-7.16.5"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-      sources."@babel/helper-define-polyfill-provider-0.3.0"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-explode-assignable-expression-7.16.0"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-member-expression-to-functions-7.16.5"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-optimise-call-expression-7.16.0"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-remap-async-to-generator-7.16.5"
-      sources."@babel/helper-replace-supers-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      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.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"
+      sources."@babel/helper-function-name-7.16.7"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-member-expression-to-functions-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.16.5"
-      sources."@babel/helpers-7.16.5"
-      (sources."@babel/highlight-7.16.0" // {
+      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/helper-wrap-function-7.16.8"
+      sources."@babel/helpers-7.17.2"
+      (sources."@babel/highlight-7.16.10" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.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-external-helpers-7.8.3"
-      sources."@babel/plugin-proposal-async-generator-functions-7.16.5"
-      sources."@babel/plugin-proposal-class-properties-7.16.5"
-      sources."@babel/plugin-proposal-class-static-block-7.16.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.16.5"
-      sources."@babel/plugin-proposal-json-strings-7.16.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.5"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.5"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.5"
-      sources."@babel/plugin-proposal-private-methods-7.16.5"
-      sources."@babel/plugin-proposal-private-property-in-object-7.16.5"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.16.5"
+      sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-class-static-block-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      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.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"
+      sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-bigint-7.8.3"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
@@ -105807,46 +106324,46 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.16.5"
-      sources."@babel/plugin-transform-async-to-generator-7.16.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.5"
-      sources."@babel/plugin-transform-block-scoping-7.16.5"
-      sources."@babel/plugin-transform-classes-7.16.5"
-      sources."@babel/plugin-transform-computed-properties-7.16.5"
-      sources."@babel/plugin-transform-destructuring-7.16.5"
-      sources."@babel/plugin-transform-dotall-regex-7.16.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.16.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.5"
-      sources."@babel/plugin-transform-for-of-7.16.5"
-      sources."@babel/plugin-transform-function-name-7.16.5"
-      sources."@babel/plugin-transform-literals-7.16.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.5"
-      sources."@babel/plugin-transform-modules-amd-7.16.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.5"
-      sources."@babel/plugin-transform-modules-umd-7.16.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.5"
-      sources."@babel/plugin-transform-new-target-7.16.5"
-      sources."@babel/plugin-transform-object-super-7.16.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-property-literals-7.16.5"
-      sources."@babel/plugin-transform-regenerator-7.16.5"
-      sources."@babel/plugin-transform-reserved-words-7.16.5"
-      sources."@babel/plugin-transform-runtime-7.16.5"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.5"
-      sources."@babel/plugin-transform-spread-7.16.5"
-      sources."@babel/plugin-transform-sticky-regex-7.16.5"
-      sources."@babel/plugin-transform-template-literals-7.16.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.16.5"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.5"
-      sources."@babel/plugin-transform-unicode-regex-7.16.5"
-      sources."@babel/preset-env-7.16.5"
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      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.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"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      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-regenerator-7.16.7"
+      sources."@babel/plugin-transform-reserved-words-7.16.7"
+      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"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      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-modules-0.1.5"
       sources."@babel/preset-stage-2-7.8.3"
-      sources."@babel/runtime-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      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"
@@ -105857,17 +106374,20 @@ in
         ];
       })
       sources."@jest/types-25.5.0"
-      sources."@types/babel__core-7.1.17"
-      sources."@types/babel__generator-7.6.3"
+      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.3"
+      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.0"
+      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"
@@ -105924,7 +106444,7 @@ in
       })
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       sources."async-each-1.0.3"
       sources."async-retry-1.3.3"
       sources."asynckit-0.4.0"
@@ -105956,9 +106476,9 @@ in
       sources."babel-plugin-minify-replace-0.5.0"
       sources."babel-plugin-minify-simplify-0.5.1"
       sources."babel-plugin-minify-type-constructors-0.4.3"
-      sources."babel-plugin-polyfill-corejs2-0.3.0"
-      sources."babel-plugin-polyfill-corejs3-0.4.0"
-      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      sources."babel-plugin-polyfill-corejs2-0.3.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"
       sources."babel-plugin-transform-inline-consecutive-adds-0.4.3"
@@ -106024,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"
@@ -106037,10 +106557,10 @@ in
         ];
       })
       sources."cache-base-1.0.1"
-      sources."cached-path-relative-1.0.2"
+      sources."cached-path-relative-1.1.0"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001287"
+      sources."caniuse-lite-1.0.30001312"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -106052,7 +106572,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."chokidar-3.5.2" // {
+      (sources."chokidar-3.5.3" // {
         dependencies = [
           sources."braces-3.0.2"
           sources."fill-range-7.0.1"
@@ -106111,7 +106631,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.20.0" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -106163,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.21"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -106283,7 +106803,7 @@ in
       })
       sources."globals-11.12.0"
       sources."google-closure-compiler-js-20170910.0.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       (sources."gunzip-maybe-1.4.2" // {
         dependencies = [
           sources."browserify-zlib-0.1.4"
@@ -106338,7 +106858,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-buffer-1.1.6"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-deflate-1.0.0"
       sources."is-descriptor-1.0.2"
@@ -106429,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" // {
@@ -106451,7 +106971,7 @@ in
       sources."ncp-2.0.0"
       sources."neo-async-2.6.2"
       sources."nice-try-1.0.5"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."node-int64-0.4.0"
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
@@ -106465,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"
@@ -106517,11 +107037,11 @@ in
       sources."peek-stream-1.1.3"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       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"
@@ -106544,7 +107064,7 @@ in
         ];
       })
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."randombytes-2.1.0"
@@ -106559,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"
         ];
@@ -106577,7 +107097,7 @@ in
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -106629,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" // {
@@ -106678,7 +107198,7 @@ in
       sources."spdx-license-ids-3.0.11"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."ssri-6.0.2"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -106717,6 +107237,7 @@ in
       sources."strip-eof-1.0.0"
       sources."subarg-1.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."syntax-error-1.4.0"
       sources."tapable-1.1.3"
       (sources."tar-stream-2.2.0" // {
@@ -106898,9 +107419,9 @@ in
     };
     dependencies = [
       sources."@types/commander-2.12.2"
-      sources."@types/diff-3.5.4"
+      sources."@types/diff-3.5.5"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-17.0.0"
+      sources."@types/node-17.0.19"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
@@ -106933,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"
@@ -106985,7 +107506,7 @@ in
       sources."fuzzyset.js-0.0.1"
       sources."getpass-0.1.7"
       sources."glob-6.0.4"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hogan.js-2.0.0"
       (sources."http-signature-1.3.6" // {
         dependencies = [
@@ -107019,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"
@@ -107085,12 +107606,13 @@ in
           sources."verror-1.1.0"
         ];
       })
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       (sources."sshpk-agent-1.8.1" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
+          sources."sshpk-1.16.1"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -107141,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"
@@ -107192,44 +107712,44 @@ in
   markdownlint-cli2 = nodeEnv.buildNodePackage {
     name = "markdownlint-cli2";
     packageName = "markdownlint-cli2";
-    version = "0.3.2";
+    version = "0.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.3.2.tgz";
-      sha512 = "Wj4iQy2J49m9CVkWkLTdFxMTPDqD3AyL3NbLQgz/nUnTu8LnDguFCbQtFhdzQPvncHVjrKT2vYqg7DifzVP4tA==";
+      url = "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.4.0.tgz";
+      sha512 = "EcwP5tAbyzzL3ACI0L16LqbNctmh8wNX56T+aVvIxWyTAkwbYNx2V7IheRkXS3mE7R/pnaApZ/RSXcXuzRVPjg==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."argparse-2.0.1"
-      sources."array-union-2.1.0"
+      sources."array-union-3.0.1"
       sources."braces-3.0.2"
       sources."dir-glob-3.0.1"
       sources."entities-2.1.0"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."ignore-5.1.9"
+      sources."globby-12.1.0"
+      sources."ignore-5.2.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."linkify-it-3.0.3"
-      sources."markdown-it-12.2.0"
-      sources."markdownlint-0.24.0"
-      sources."markdownlint-cli2-formatter-default-0.0.2"
-      sources."markdownlint-rule-helpers-0.15.0"
+      sources."markdown-it-12.3.2"
+      sources."markdownlint-0.25.1"
+      sources."markdownlint-cli2-formatter-default-0.0.3"
+      sources."markdownlint-rule-helpers-0.16.0"
       sources."mdurl-1.0.1"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."queue-microtask-1.2.3"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
-      sources."slash-3.0.0"
-      sources."strip-json-comments-3.1.1"
+      sources."slash-4.0.0"
+      sources."strip-json-comments-4.0.0"
       sources."to-regex-range-5.0.1"
       sources."uc.micro-1.0.6"
       sources."yaml-1.10.2"
@@ -107247,14 +107767,14 @@ in
   markdown-link-check = nodeEnv.buildNodePackage {
     name = "markdown-link-check";
     packageName = "markdown-link-check";
-    version = "3.9.0";
+    version = "3.9.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.9.0.tgz";
-      sha512 = "Vo5vOc7jL1yproWT8AVxazr8rsd0HTJb00W1Qj4qV/Iff8A8Zww709/aNi0FypnOeJNoN523z2fQF1M0Z02BPA==";
+      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"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       sources."chalk-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -107265,10 +107785,10 @@ in
       sources."is-absolute-url-3.0.3"
       sources."is-relative-url-3.0.0"
       sources."isemail-3.2.0"
-      sources."link-check-5.0.1"
+      sources."link-check-5.0.2"
       sources."lodash-4.17.21"
-      sources."markdown-link-extractor-1.3.0"
-      sources."marked-2.1.3"
+      sources."markdown-link-extractor-1.3.1"
+      sources."marked-4.0.12"
       sources."ms-2.1.3"
       sources."needle-3.0.0"
       sources."progress-2.0.3"
@@ -107293,7 +107813,7 @@ in
     version = "0.0.1";
     src = ../../misc/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"
@@ -107349,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"
@@ -107405,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"
@@ -107505,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"
@@ -107528,7 +108048,7 @@ in
       sources."glob-7.2.0"
       sources."globals-9.18.0"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."gulp-eslint-3.0.1"
       (sources."gulp-util-3.0.8" // {
         dependencies = [
@@ -107552,7 +108072,7 @@ in
       sources."inherits-2.0.4"
       sources."inquirer-0.12.0"
       sources."interpret-1.4.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-my-ip-valid-1.0.0"
       sources."is-my-json-valid-2.20.6"
@@ -107593,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"
@@ -107622,7 +108142,7 @@ in
       sources."progress-1.1.8"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."readable-stream-2.3.7"
       sources."readline-1.3.0"
       sources."readline2-1.0.1"
@@ -107630,7 +108150,7 @@ in
       sources."replace-ext-0.0.1"
       sources."request-2.88.0"
       sources."require-uncached-1.0.3"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-1.0.1"
       sources."restore-cursor-1.0.1"
       sources."rimraf-2.6.3"
@@ -107644,13 +108164,14 @@ in
       sources."slice-ansi-0.0.4"
       sources."sparkles-1.0.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-3.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."table-3.8.3" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -107760,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.5";
+    version = "8.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.13.5.tgz";
-      sha512 = "QcFi12GO+wOjzQdqLhhPkbRBKx6QhB4azNCA/DH/NROUdAp0iUyOk5W+1xr10ERcANxajWlguO8MwxzTqXzaTw==";
+      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.0"
+      sources."@types/node-17.0.19"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -107781,9 +108302,10 @@ 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."d3-7.2.1"
+      sources."cross-fetch-3.1.5"
+      sources."d3-7.3.0"
       sources."d3-array-3.1.1"
       sources."d3-axis-3.0.0"
       sources."d3-brush-3.0.0"
@@ -107813,7 +108335,7 @@ in
       sources."d3-scale-4.0.2"
       sources."d3-scale-chromatic-3.0.0"
       sources."d3-selection-3.0.0"
-      sources."d3-shape-3.0.1"
+      sources."d3-shape-3.1.0"
       sources."d3-time-3.0.0"
       sources."d3-time-format-4.1.0"
       sources."d3-timer-3.0.1"
@@ -107857,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.937139"
-      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"
@@ -107880,12 +108402,12 @@ in
       sources."khroma-1.4.1"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."mermaid-8.13.6"
-      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"
@@ -107897,7 +108419,7 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-13.0.0"
+      sources."puppeteer-13.3.2"
       sources."readable-stream-3.6.0"
       sources."rimraf-3.0.2"
       sources."robust-predicates-3.0.1"
@@ -107916,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;
@@ -107932,10 +108454,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "9.1.3";
+    version = "9.2.1";
     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.1.tgz";
+      sha512 = "T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==";
     };
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
@@ -107949,18 +108471,18 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       (sources."chalk-4.1.2" // {
         dependencies = [
           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"
         ];
@@ -107976,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"
@@ -107996,14 +108518,14 @@ 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"
       sources."p-locate-5.0.0"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."randombytes-2.1.0"
       sources."readdirp-3.6.0"
       sources."require-directory-2.1.1"
@@ -108015,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"
@@ -108077,11 +108599,11 @@ in
       sources."mime-types-2.1.34"
       sources."ms-2.1.3"
       sources."native-promise-only-0.8.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."path-loader-1.0.10"
       sources."process-nextick-args-2.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."readable-stream-2.3.7"
       sources."safe-buffer-5.1.2"
       sources."side-channel-1.0.4"
@@ -108144,7 +108666,7 @@ in
       sources."log-symbols-4.1.0"
       sources."mimic-fn-2.1.0"
       sources."mute-stream-0.0.8"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."onetime-5.1.2"
       sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
@@ -108154,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"
@@ -108180,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";
@@ -108189,14 +109077,14 @@ in
       sha512 = "H46Jl2bh/LAFJsitv2MiIK3oCxvQnEK9t3efNMUUkKzsTYlLIikVxGWVk/vJnHzvxoHYBIRB/KHwPAOm+9UStg==";
     };
     dependencies = [
-      sources."@dabh/diagnostics-2.0.2"
-      sources."@msgpack/msgpack-2.7.1"
-      sources."async-3.2.2"
+      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"
@@ -108205,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.0"
+      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"
@@ -108220,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.1"
+      sources."winston-transport-4.5.0"
       sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -108264,17 +109152,17 @@ 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"
       sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.1.4"
+      sources."agentkeepalive-4.2.0"
       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"
@@ -108292,9 +109180,9 @@ 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.8"
+      sources."graceful-fs-4.2.9"
       sources."has-unicode-2.0.1"
       sources."http-cache-semantics-4.1.0"
       sources."http-proxy-agent-4.0.1"
@@ -108312,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"
@@ -108322,9 +109210,9 @@ in
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
-      sources."negotiator-0.6.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"
@@ -108337,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"
@@ -108392,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"
@@ -108412,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.0"
+      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.0"
+      sources."bytes-3.1.2"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
       sources."caseless-0.12.0"
@@ -108427,9 +109315,9 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."content-disposition-0.5.3"
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cryptiles-2.0.5"
@@ -108454,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.1"
+      sources."express-4.17.3"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."finalhandler-1.1.2"
@@ -108475,7 +109363,7 @@ in
         ];
       })
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-1.0.5"
       sources."har-validator-4.2.1"
       sources."has-1.0.3"
@@ -108484,17 +109372,17 @@ in
       sources."headless-0.1.7"
       sources."hoek-2.16.3"
       sources."hosted-git-info-2.8.9"
-      sources."http-errors-1.7.2"
+      sources."http-errors-1.8.1"
       sources."http-signature-1.1.1"
       sources."iconv-lite-0.4.24"
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."invert-kv-1.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-typedarray-1.0.0"
@@ -108524,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"
@@ -108565,28 +109453,32 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
       sources."punycode-1.4.1"
-      sources."qs-6.7.0"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
-      sources."readable-stream-2.3.7"
+      (sources."readable-stream-2.3.7" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       (sources."request-2.81.0" // {
         dependencies = [
-          sources."qs-6.4.0"
+          sources."qs-6.4.1"
         ];
       })
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."rimraf-2.2.8"
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-4.3.6"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
       (sources."serve-favicon-2.5.0" // {
@@ -108595,29 +109487,34 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.1"
+      sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.1.1"
-      sources."signal-exit-3.0.6"
+      sources."setprototypeof-1.2.0"
+      sources."signal-exit-3.0.7"
       sources."sntp-1.0.9"
       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."sshpk-1.16.1" // {
+      (sources."sshpk-1.17.0" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
       })
       sources."statuses-1.5.0"
       sources."string-width-1.0.2"
-      sources."string_decoder-1.1.1"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."stringstream-0.0.6"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
       sources."strip-indent-1.0.1"
       sources."strip-json-comments-2.0.1"
       sources."strong-data-uri-1.0.6"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-2.2.2"
       (sources."tar-pack-3.4.1" // {
         dependencies = [
@@ -108625,7 +109522,7 @@ in
           sources."rimraf-2.7.1"
         ];
       })
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-2.3.4"
       sources."trim-newlines-1.0.0"
       sources."truncate-2.1.0"
@@ -108717,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"
@@ -108745,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"
@@ -108773,45 +109670,42 @@ in
   node-red = nodeEnv.buildNodePackage {
     name = "node-red";
     packageName = "node-red";
-    version = "2.1.4";
+    version = "2.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-2.1.4.tgz";
-      sha512 = "ScpFFE0G+NlxFWrHnMcIkaF8gW+6jwK7n5qRGId66fCTICYnBGkOxXBvV3Q45H+4iQUro5aIRj737Gu7shjsJw==";
+      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.5"
+      sources."@babel/runtime-7.17.2"
       sources."@mapbox/node-pre-gyp-1.0.8"
-      sources."@node-red/editor-api-2.1.4"
-      sources."@node-red/editor-client-2.1.4"
-      (sources."@node-red/nodes-2.1.4" // {
+      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.1"
-          sources."http-errors-1.8.1"
+          sources."bytes-3.1.2"
+          sources."cookie-0.4.2"
           sources."iconv-lite-0.6.3"
-          sources."inherits-2.0.4"
           sources."media-typer-1.1.0"
-          (sources."raw-body-2.4.2" // {
+          (sources."raw-body-2.4.3" // {
             dependencies = [
               sources."iconv-lite-0.4.24"
             ];
           })
-          sources."setprototypeof-1.2.0"
-          sources."toidentifier-1.0.1"
         ];
       })
-      sources."@node-red/registry-2.1.4"
-      sources."@node-red/runtime-2.1.4"
-      sources."@node-red/util-2.1.4"
-      sources."@sindresorhus/is-4.2.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.0"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
-      sources."acorn-8.6.0"
+      sources."accepts-1.3.8"
+      sources."acorn-8.7.0"
       sources."acorn-walk-8.2.0"
       (sources."agent-base-6.0.2" // {
         dependencies = [
@@ -108819,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"
@@ -108835,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" // {
@@ -108847,18 +109741,17 @@ in
       sources."bcryptjs-2.4.3"
       (sources."bl-4.1.0" // {
         dependencies = [
-          sources."inherits-2.0.4"
           sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
         ];
       })
-      sources."body-parser-1.19.0"
+      sources."body-parser-1.19.1"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."busboy-0.2.14"
-      sources."bytes-3.1.0"
+      sources."bytes-3.1.1"
       sources."cacheable-lookup-5.0.4"
       sources."cacheable-request-7.0.2"
       sources."cheerio-1.0.0-rc.10"
@@ -108881,11 +109774,7 @@ in
         ];
       })
       sources."console-control-strings-1.1.0"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       sources."cookie-0.4.1"
       sources."cookie-parser-1.4.6"
@@ -108893,7 +109782,7 @@ in
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."cronosjs-1.7.1"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-what-5.1.0"
       sources."debug-2.6.9"
       (sources."decompress-response-6.0.0" // {
@@ -108928,12 +109817,7 @@ in
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      (sources."express-4.17.1" // {
-        dependencies = [
-          sources."cookie-0.4.0"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."express-4.17.2"
       (sources."express-session-1.17.2" // {
         dependencies = [
           sources."depd-2.0.0"
@@ -108941,7 +109825,7 @@ in
       })
       sources."fast-deep-equal-3.1.3"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."form-data-4.0.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
@@ -108957,7 +109841,7 @@ in
       sources."get-stream-5.2.0"
       sources."glob-7.2.0"
       sources."got-11.8.3"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-unicode-2.0.1"
       sources."hash-sum-2.0.0"
       (sources."help-me-3.0.0" // {
@@ -108969,7 +109853,7 @@ in
       sources."hpagent-0.1.2"
       sources."htmlparser2-6.1.0"
       sources."http-cache-semantics-4.1.0"
-      sources."http-errors-1.7.2"
+      sources."http-errors-1.8.1"
       sources."http2-wrapper-1.0.3"
       (sources."https-proxy-agent-5.0.0" // {
         dependencies = [
@@ -108977,26 +109861,27 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."i18next-21.5.4"
+      sources."i18next-21.6.11"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ipaddr.js-1.9.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-utf8-0.2.1"
       sources."isarray-0.0.1"
+      sources."js-sdsl-2.1.4"
       sources."js-yaml-3.14.1"
       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.4"
+      sources."keyv-4.1.1"
       sources."leven-2.1.0"
       sources."lodash.clonedeep-4.5.0"
       sources."lowercase-keys-2.0.0"
@@ -109007,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"
@@ -109015,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 = [
@@ -109034,13 +109919,15 @@ in
       sources."mkdirp-0.5.5"
       sources."moment-2.29.1"
       sources."moment-timezone-0.5.34"
-      (sources."mqtt-4.2.8" // {
+      (sources."mqtt-4.3.5" // {
         dependencies = [
           sources."concat-stream-2.0.0"
           sources."debug-4.3.3"
+          sources."lru-cache-6.0.0"
           sources."ms-2.1.2"
           sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
+          sources."yallist-4.0.0"
         ];
       })
       (sources."mqtt-packet-6.10.0" // {
@@ -109050,17 +109937,23 @@ 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.6"
-      sources."node-red-admin-2.2.1"
+      sources."node-fetch-2.6.7"
+      sources."node-red-admin-2.2.3"
       sources."nopt-5.0.0"
       sources."normalize-url-6.1.0"
       sources."npmlog-5.0.1"
       sources."nth-check-2.0.1"
+      (sources."number-allocator-1.0.9" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."oauth2orize-1.11.1"
       sources."object-assign-4.1.1"
       sources."on-finished-2.3.0"
@@ -109070,7 +109963,7 @@ in
       sources."parse5-6.0.1"
       sources."parse5-htmlparser2-tree-adapter-6.0.1"
       sources."parseurl-1.3.3"
-      sources."passport-0.5.0"
+      sources."passport-0.5.2"
       sources."passport-http-bearer-1.0.1"
       sources."passport-oauth2-client-password-0.1.2"
       sources."passport-strategy-1.0.0"
@@ -109083,11 +109976,11 @@ in
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.7.0"
+      sources."qs-6.9.6"
       sources."quick-lru-5.1.1"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
+      sources."raw-body-2.4.2"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       sources."regenerator-runtime-0.13.9"
@@ -109096,6 +109989,7 @@ in
       sources."resolve-alpn-1.2.1"
       sources."responselike-2.0.0"
       sources."retry-0.6.1"
+      sources."rfdc-1.3.0"
       sources."rimraf-3.0.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -109106,16 +110000,16 @@ in
           sources."yallist-4.0.0"
         ];
       })
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           sources."mime-1.6.0"
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.1"
+      sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.1.1"
-      sources."signal-exit-3.0.6"
+      sources."setprototypeof-1.2.0"
+      sources."signal-exit-3.0.7"
       (sources."split2-3.2.2" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -109135,13 +110029,13 @@ in
           sources."yallist-4.0.0"
         ];
       })
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-0.0.3"
       sources."tslib-2.3.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.14.4"
+      sources."uglify-js-3.15.1"
       sources."uid-safe-2.1.5"
       sources."uid2-0.0.4"
       sources."universalify-0.1.2"
@@ -109155,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"
@@ -109225,7 +110119,7 @@ in
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -109235,7 +110129,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -109249,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"
@@ -109295,28 +110189,28 @@ in
       sources."proto-list-1.2.4"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
       sources."request-2.88.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."retry-0.10.1"
       sources."rimraf-2.2.8"
       sources."safe-buffer-5.2.1"
       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"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."ssri-5.3.0"
       sources."string-width-1.0.2"
       (sources."string_decoder-1.1.1" // {
@@ -109325,6 +110219,7 @@ in
         ];
       })
       sources."strip-ansi-3.0.1"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."tar-6.1.11" // {
         dependencies = [
           sources."mkdirp-1.0.4"
@@ -109393,14 +110288,14 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       sources."clone-response-1.0.2"
@@ -109424,7 +110319,7 @@ in
       sources."glob-parent-5.1.2"
       sources."global-dirs-3.0.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-3.0.0"
       sources."has-yarn-2.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -109455,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"
@@ -109468,7 +110363,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."prepend-http-2.0.0"
       sources."pstree.remy-1.1.8"
       sources."pump-3.0.0"
@@ -109488,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"
@@ -109532,9 +110427,9 @@ in
       sha512 = "WWGZtfNkE6MEkI7LE8NtG7poTqzTHj/tssBzcPnBAdMVPXkXDtX2wk0ptrj8YZ3u4TFmGSqioSohdud86aJxSg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -109559,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.0"
+      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"
@@ -109575,7 +110470,7 @@ in
       sources."balanced-match-1.0.2"
       (sources."boxen-5.1.2" // {
         dependencies = [
-          sources."camelcase-6.2.1"
+          sources."camelcase-6.3.0"
           sources."type-fest-0.20.2"
           sources."wrap-ansi-7.0.0"
         ];
@@ -109646,7 +110541,7 @@ in
       sources."escape-string-regexp-4.0.0"
       sources."execa-5.1.1"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       (sources."figures-3.2.0" // {
         dependencies = [
@@ -109662,14 +110557,14 @@ in
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."global-dirs-2.1.0"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       (sources."got-10.7.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
           sources."type-fest-0.10.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -109683,11 +110578,11 @@ in
       sources."http-cache-semantics-4.1.0"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."ignore-walk-3.0.4"
       sources."import-fresh-3.3.0"
       sources."import-lazy-2.1.0"
-      (sources."import-local-3.0.3" // {
+      (sources."import-local-3.1.0" // {
         dependencies = [
           sources."pkg-dir-4.2.0"
         ];
@@ -109731,7 +110626,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.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"
@@ -109762,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.4"
+      sources."keyv-4.1.1"
       sources."kind-of-6.0.3"
       sources."latest-version-5.1.0"
       sources."lines-and-columns-1.2.4"
@@ -109835,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"
@@ -109846,7 +110741,7 @@ in
       })
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
-          sources."hosted-git-info-4.0.2"
+          sources."hosted-git-info-4.1.0"
         ];
       })
       sources."normalize-url-6.1.0"
@@ -109869,7 +110764,7 @@ in
       sources."os-tmpdir-1.0.2"
       (sources."ow-0.21.0" // {
         dependencies = [
-          sources."@sindresorhus/is-4.2.0"
+          sources."@sindresorhus/is-4.4.0"
           sources."type-fest-0.20.2"
         ];
       })
@@ -109884,7 +110779,7 @@ in
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-map-4.0.0"
-      (sources."p-memoize-4.0.3" // {
+      (sources."p-memoize-4.0.4" // {
         dependencies = [
           sources."mimic-fn-3.1.0"
         ];
@@ -109925,7 +110820,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       (sources."pkg-dir-5.0.0" // {
         dependencies = [
           sources."find-up-5.0.0"
@@ -109960,7 +110855,7 @@ in
       sources."redent-3.0.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       (sources."resolve-cwd-3.0.0" // {
         dependencies = [
           sources."resolve-from-5.0.0"
@@ -109984,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"
@@ -109999,6 +110894,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-3.0.0"
       sources."terminal-link-2.1.1"
       sources."through-2.3.8"
@@ -110052,10 +110948,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "8.3.0";
+    version = "8.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-8.3.0.tgz";
-      sha512 = "ug4xToae4Dh3yZh8Fp6MOnAPSS3fqCTANpJx1fXP2C4LTUzoZf7rEantHQR/ANPVYDBe5qQT4tGVsoPqqiYZMw==";
+      url = "https://registry.npmjs.org/npm/-/npm-8.5.1.tgz";
+      sha512 = "zHrOHAatEPJ59o2JIPlhgc9LX9mb8xFrqu4kiiul4w1IGMTtKn2lqRiGIRKU0or69NSLXNmqbCP9bNJIr/wB6Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -110070,18 +110966,22 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "12.0.5";
+    version = "12.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.0.5.tgz";
-      sha512 = "ns1liBBogwjmOVZY/PYgeIoarItwdOSBxccJDZKKkxsMkXges/Bp5CAnQIvYwlsz6fByQJFvqXSOqwIUBY6gpQ==";
+      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"
@@ -110092,18 +110992,18 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.1.4"
+      sources."agentkeepalive-4.2.0"
       sources."aggregate-error-3.1.0"
       sources."ansi-align-3.0.1"
       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"
@@ -110114,7 +111014,7 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       sources."chalk-4.1.2"
       sources."chownr-2.0.0"
       sources."ci-info-2.0.0"
@@ -110127,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"
@@ -110147,7 +111047,7 @@ in
       sources."env-paths-2.2.1"
       sources."err-code-2.0.3"
       sources."escape-goat-2.1.1"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-memoize-2.5.2"
       sources."fastq-1.13.0"
       sources."figgy-pudding-3.5.2"
@@ -110156,30 +111056,42 @@ 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 = [
           sources."ini-2.0.0"
         ];
       })
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      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"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.6.3"
-      sources."ignore-5.1.9"
-      sources."ignore-walk-4.0.1"
+      sources."ignore-5.2.0"
+      (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"
@@ -110189,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"
@@ -110234,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"
@@ -110246,18 +111159,26 @@ in
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
-      sources."negotiator-0.6.2"
+      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"
@@ -110269,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.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"
@@ -110285,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"
@@ -110306,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"
@@ -110332,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"
@@ -110341,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;
@@ -110385,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"
@@ -110436,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"
@@ -110458,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"
@@ -110476,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"
@@ -110485,7 +111414,7 @@ in
       sources."proto-list-1.2.4"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."readable-stream-3.6.0"
       sources."request-2.88.2"
       sources."retry-0.6.0"
@@ -110494,9 +111423,9 @@ 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.16.1"
+      sources."sshpk-1.17.0"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
@@ -110588,11 +111517,11 @@ in
       sources."performance-now-2.1.0"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."request-2.88.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -110630,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"
@@ -110661,80 +111590,80 @@ in
       sha512 = "hpku8mW67U6PXQIenW6NBbphBOMb8XzW6B9r093DUhYj5GN2FUB/CXCiz5hKoPYUsusZ35BpProH8AUF9bh5IQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.5" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      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.5" // {
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.5"
-      (sources."@babel/helper-compilation-targets-7.16.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" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.16.5"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-      (sources."@babel/helper-define-polyfill-provider-0.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.5"
-      sources."@babel/helper-explode-assignable-expression-7.16.0"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-member-expression-to-functions-7.16.5"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-optimise-call-expression-7.16.0"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-remap-async-to-generator-7.16.5"
-      sources."@babel/helper-replace-supers-7.16.5"
-      sources."@babel/helper-simple-access-7.16.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"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-member-expression-to-functions-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.16.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.16.5"
-      sources."@babel/plugin-proposal-class-properties-7.16.5"
-      sources."@babel/plugin-proposal-class-static-block-7.16.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.16.5"
-      sources."@babel/plugin-proposal-json-strings-7.16.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.5"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.5"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.5"
-      sources."@babel/plugin-proposal-private-methods-7.16.5"
-      sources."@babel/plugin-proposal-private-property-in-object-7.16.5"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.16.5"
+      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/helper-wrap-function-7.16.8"
+      sources."@babel/helpers-7.17.2"
+      sources."@babel/highlight-7.16.10"
+      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"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-class-static-block-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      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.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"
+      sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.16.5"
+      sources."@babel/plugin-syntax-flow-7.16.7"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.16.5"
+      sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
@@ -110743,51 +111672,54 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.16.5"
-      sources."@babel/plugin-transform-async-to-generator-7.16.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.5"
-      sources."@babel/plugin-transform-block-scoping-7.16.5"
-      sources."@babel/plugin-transform-classes-7.16.5"
-      sources."@babel/plugin-transform-computed-properties-7.16.5"
-      sources."@babel/plugin-transform-destructuring-7.16.5"
-      sources."@babel/plugin-transform-dotall-regex-7.16.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.16.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.5"
-      sources."@babel/plugin-transform-flow-strip-types-7.16.5"
-      sources."@babel/plugin-transform-for-of-7.16.5"
-      sources."@babel/plugin-transform-function-name-7.16.5"
-      sources."@babel/plugin-transform-literals-7.16.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.5"
-      sources."@babel/plugin-transform-modules-amd-7.16.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.5"
-      sources."@babel/plugin-transform-modules-umd-7.16.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.5"
-      sources."@babel/plugin-transform-new-target-7.16.5"
-      sources."@babel/plugin-transform-object-super-7.16.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-property-literals-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-7.16.5"
-      sources."@babel/plugin-transform-regenerator-7.16.5"
-      sources."@babel/plugin-transform-reserved-words-7.16.5"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.5"
-      sources."@babel/plugin-transform-spread-7.16.5"
-      sources."@babel/plugin-transform-sticky-regex-7.16.5"
-      sources."@babel/plugin-transform-template-literals-7.16.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.16.5"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.5"
-      sources."@babel/plugin-transform-unicode-regex-7.16.5"
-      (sources."@babel/preset-env-7.16.5" // {
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      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.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"
+      sources."@babel/plugin-transform-flow-strip-types-7.16.7"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      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.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"
+      sources."@babel/plugin-transform-spread-7.16.7"
+      sources."@babel/plugin-transform-sticky-regex-7.16.7"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      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" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/runtime-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      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"
@@ -110841,13 +111773,13 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
-      (sources."babel-plugin-polyfill-corejs2-0.3.0" // {
+      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.4.0"
-      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
+      sources."babel-plugin-polyfill-regenerator-0.3.1"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
           sources."regenerator-runtime-0.11.1"
@@ -110891,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"
@@ -110908,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.30001287"
+      sources."caniuse-lite-1.0.30001312"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -110934,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.0" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -111045,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.21"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -111057,7 +111989,7 @@ in
       sources."error-ex-1.3.2"
       (sources."es-abstract-1.19.1" // {
         dependencies = [
-          sources."object-inspect-1.11.1"
+          sources."object-inspect-1.12.0"
         ];
       })
       sources."es-to-primitive-1.2.1"
@@ -111117,7 +112049,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."grapheme-breaker-0.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -111189,7 +112121,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -111286,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 = [
@@ -111312,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"
@@ -111413,7 +112345,7 @@ in
       sources."postcss-ordered-values-4.1.2"
       sources."postcss-reduce-initial-4.0.3"
       sources."postcss-reduce-transforms-4.0.2"
-      sources."postcss-selector-parser-6.0.7"
+      sources."postcss-selector-parser-6.0.9"
       sources."postcss-svgo-4.0.3"
       sources."postcss-unique-selectors-4.0.1"
       sources."postcss-value-parser-3.3.1"
@@ -111445,7 +112377,7 @@ in
         ];
       })
       sources."q-1.5.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."quote-stream-1.0.2"
@@ -111459,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" // {
@@ -111468,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"
         ];
@@ -111482,7 +112414,7 @@ in
       sources."request-2.88.2"
       sources."request-promise-core-1.1.4"
       sources."request-promise-native-1.0.9"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -111518,10 +112450,10 @@ in
       sources."shebang-regex-1.0.0"
       (sources."side-channel-1.0.4" // {
         dependencies = [
-          sources."object-inspect-1.11.1"
+          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"
@@ -111552,7 +112484,7 @@ in
       })
       sources."sprintf-js-1.0.3"
       sources."srcset-3.0.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stable-0.1.8"
       (sources."static-eval-2.1.0" // {
         dependencies = [
@@ -111576,6 +112508,7 @@ in
         ];
       })
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."svgo-1.3.2"
       sources."symbol-tree-3.2.4"
       sources."terser-3.17.0"
@@ -111690,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"
@@ -111714,16 +112647,16 @@ in
       sources."bintrees-1.0.1"
       sources."bl-1.2.3"
       sources."bluebird-3.7.2"
-      (sources."body-parser-1.19.0" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
           sources."content-type-1.0.4"
         ];
       })
       sources."brace-expansion-1.1.11"
       sources."bunyan-1.8.15"
       sources."bunyan-syslog-udp-0.2.0"
-      sources."busboy-0.3.1"
+      sources."busboy-1.4.0"
       sources."bytes-3.0.0"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
@@ -111738,9 +112671,13 @@ in
       sources."compression-1.7.4"
       sources."concat-map-0.0.1"
       sources."connect-busboy-0.0.2"
-      sources."content-disposition-0.5.3"
+      (sources."content-disposition-0.5.4" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
       sources."content-type-git+https://github.com/wikimedia/content-type.git#master"
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-js-2.6.12"
       sources."core-util-is-1.0.2"
@@ -111751,7 +112688,6 @@ in
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
-      sources."dicer-0.3.0"
       sources."dnscache-1.0.2"
       sources."dom-storage-2.1.0"
       sources."domino-2.1.6"
@@ -111765,9 +112701,10 @@ in
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."content-type-1.0.4"
+          sources."safe-buffer-5.2.1"
         ];
       })
       sources."express-handlebars-3.1.0"
@@ -111791,7 +112728,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -111801,11 +112738,11 @@ in
       sources."hat-0.0.3"
       sources."heapdump-0.3.15"
       sources."hot-shots-6.8.7"
-      sources."http-errors-1.7.2"
+      sources."http-errors-1.8.1"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ipaddr.js-1.9.1"
       sources."is-arguments-1.1.1"
       sources."is-fullwidth-code-point-2.0.0"
@@ -111834,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"
@@ -111868,17 +112805,17 @@ in
       sources."prr-1.0.1"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.7.0"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.0" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
         ];
       })
       sources."readable-stream-2.3.7"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
         ];
       })
       sources."require-directory-2.1.1"
@@ -111892,9 +112829,9 @@ in
       sources."safe-json-stringify-1.2.0"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
       (sources."serve-favicon-2.5.0" // {
@@ -111903,7 +112840,7 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.1"
+      sources."serve-static-1.14.2"
       (sources."service-runner-2.9.0" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -111911,23 +112848,23 @@ in
         ];
       })
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.1.1"
+      sources."setprototypeof-1.2.0"
       sources."simplediff-0.1.1"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
-      sources."streamsearch-0.1.2"
+      sources."streamsearch-1.1.0"
       sources."string-width-3.1.0"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-5.2.0"
       sources."tdigest-0.1.1"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-2.5.0"
       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"
@@ -111993,7 +112930,7 @@ in
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-3.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -112005,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"
@@ -112013,7 +112950,7 @@ in
       sources."os-tmpdir-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."rimraf-2.7.1"
       sources."semver-5.7.1"
       sources."shebang-command-1.2.0"
@@ -112121,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"
@@ -112137,7 +113075,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-stdin-4.0.1"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
@@ -112170,7 +113108,7 @@ in
       sources."ipaddr.js-2.0.1"
       sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-date-object-1.0.5"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
@@ -112195,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"
@@ -112254,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"
@@ -112264,9 +113202,9 @@ in
       sources."read-pkg-up-1.0.1"
       sources."readable-stream-2.3.7"
       sources."redent-1.0.0"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."repeating-2.0.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."restore-cursor-2.0.0"
       sources."reverse-http-1.3.0"
       sources."rimraf-2.7.1"
@@ -112279,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" // {
@@ -112305,6 +113243,7 @@ in
       sources."strip-indent-1.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-1.0.1"
       sources."thirty-two-1.0.2"
       sources."through-2.3.8"
@@ -112359,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"
@@ -112398,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"
@@ -112408,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"
@@ -112427,14 +113366,18 @@ in
       (sources."connect-multiparty-2.2.0" // {
         dependencies = [
           sources."http-errors-1.7.3"
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
           sources."setprototypeof-1.1.1"
           sources."toidentifier-1.0.0"
         ];
       })
-      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.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."crc-3.8.0"
@@ -112452,7 +113395,6 @@ in
       sources."end-of-stream-1.4.4"
       (sources."engine.io-3.5.0" // {
         dependencies = [
-          sources."cookie-0.4.1"
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
@@ -112465,17 +113407,10 @@ in
       sources."engine.io-parser-2.2.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."express-4.17.1" // {
+      sources."events-3.3.0"
+      (sources."express-4.17.3" // {
         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."serve-static-1.14.1"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
+          sources."safe-buffer-5.2.1"
         ];
       })
       sources."extend-3.0.2"
@@ -112496,7 +113431,7 @@ in
       sources."get-browser-rtc-1.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-binary2-1.0.3" // {
@@ -112557,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"
@@ -112567,12 +113502,12 @@ in
         ];
       })
       sources."ms-2.0.0"
-      (sources."multiparty-4.2.2" // {
+      (sources."multiparty-4.2.3" // {
         dependencies = [
           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"
@@ -112605,22 +113540,22 @@ 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"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
         ];
       })
       sources."rimraf-2.7.1"
@@ -112629,23 +113564,15 @@ in
       sources."rusha-0.8.14"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          sources."http-errors-1.7.3"
-          sources."ms-2.1.1"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
-        ];
-      })
-      (sources."serve-static-1.14.2" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           sources."ms-2.1.3"
-          sources."send-0.17.2"
         ];
       })
+      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"
@@ -112682,7 +113609,7 @@ in
         ];
       })
       sources."speedometer-0.1.4"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
       (sources."string2compact-1.3.2" // {
         dependencies = [
@@ -112744,13 +113671,13 @@ in
   pkg = nodeEnv.buildNodePackage {
     name = "pkg";
     packageName = "pkg";
-    version = "5.5.1";
+    version = "5.5.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pkg/-/pkg-5.5.1.tgz";
-      sha512 = "3IiUgwYRQBfXcmdBakjqttRrhpruZ1h/UCobtra2IN4S29eJhgxr39Dd8EZxUikgSLUH3v/eUWO3ZInSmlSXpw==";
+      url = "https://registry.npmjs.org/pkg/-/pkg-5.5.2.tgz";
+      sha512 = "pD0UB2ud01C6pVv2wpGsTYJrXI/bnvGRYvMLd44wFzA1p+A2jrlTGFPAYa7YEYzmitXhx23PqalaG1eUEnSwcA==";
     };
     dependencies = [
-      sources."@babel/helper-validator-identifier-7.15.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/parser-7.16.2"
       sources."@babel/types-7.16.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -112794,7 +113721,7 @@ in
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
       sources."expand-template-2.0.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
@@ -112813,18 +113740,18 @@ in
       sources."get-caller-file-2.0.5"
       sources."github-from-package-0.0.0"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
+      sources."globby-11.1.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."https-proxy-agent-5.0.0"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."into-stream-6.0.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"
@@ -112850,7 +113777,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -112859,8 +113786,8 @@ in
       sources."p-is-promise-3.0.0"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
-      sources."pkg-fetch-3.2.5"
+      sources."picomatch-2.3.1"
+      sources."pkg-fetch-3.2.6"
       sources."prebuild-install-6.1.4"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
@@ -112870,15 +113797,15 @@ in
       sources."rc-1.2.8"
       sources."readable-stream-2.3.7"
       sources."require-directory-2.1.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       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"
@@ -112887,6 +113814,7 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-fs-2.1.1"
       (sources."tar-stream-2.2.0" // {
         dependencies = [
@@ -112925,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" // {
@@ -112963,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"
@@ -112975,7 +113905,7 @@ in
         ];
       })
       sources."ast-types-0.13.4"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       (sources."async-listener-0.6.10" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -112989,10 +113919,10 @@ 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.2"
+      sources."chokidar-3.5.3"
       sources."cli-tableau-2.0.1"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -113000,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"
@@ -113021,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.6"
+      sources."follow-redirects-1.14.9"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -113032,7 +113962,7 @@ in
       sources."git-sha1-0.1.2"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."http-errors-1.8.1"
@@ -113044,7 +113974,7 @@ in
       sources."ini-1.3.8"
       sources."ip-1.1.5"
       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-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -113057,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" // {
@@ -113083,23 +114011,27 @@ in
       sources."pako-0.2.9"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
-      sources."picomatch-2.3.0"
-      sources."pidusage-2.0.21"
+      sources."picomatch-2.3.1"
+      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"
       sources."require-in-the-middle-5.1.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."run-series-1.1.9"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -113112,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"
@@ -113122,7 +114054,8 @@ in
       sources."statuses-1.5.0"
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
-      sources."systeminformation-5.9.17"
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      sources."systeminformation-5.11.4"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tslib-2.3.1"
@@ -113137,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"
@@ -113158,10 +114091,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "6.24.1";
+    version = "6.31.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.24.1.tgz";
-      sha512 = "gvXXhgSfdq27ASRSd9121GtRXqnZ5RMeaj/HDlsRjV5XTBWCMJZvLIdz6SiSeDQas/+6w9PNz73vFR0l9j+XYA==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.31.0.tgz";
+      sha512 = "YUCyLI2J2wQsHWgcRYR8wUrTWsE0E8GX46XKtdXcUiE0GJJYi5saRy2Y8BMfLtlDHshHLs2U/KO1e5gsftJTFA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -113185,7 +114118,7 @@ in
       sources."commander-2.11.0"
       sources."file-or-stdin-1.0.2"
       sources."get-stdin-5.0.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."inspect-with-kind-1.0.5"
       sources."kind-of-6.0.3"
       sources."poor-mans-t-sql-formatter-1.6.10"
@@ -113204,15 +114137,15 @@ 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.1.30"
+      sources."nanoid-3.3.1"
       sources."picocolors-1.0.0"
-      sources."source-map-js-1.0.1"
+      sources."source-map-js-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -113242,7 +114175,7 @@ in
       sources."array-union-3.0.1"
       sources."binary-extensions-2.2.0"
       sources."braces-3.0.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"
@@ -113250,7 +114183,7 @@ in
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."fs-extra-10.0.0"
@@ -113258,11 +114191,9 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-stdin-9.0.0"
       sources."glob-parent-5.1.2"
-      sources."globby-12.0.2"
-      sources."graceful-fs-4.2.8"
-      sources."ignore-5.1.9"
-      sources."import-cwd-3.0.0"
-      sources."import-from-3.0.0"
+      sources."globby-12.2.0"
+      sources."graceful-fs-4.2.9"
+      sources."ignore-5.2.0"
       sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -113270,37 +114201,32 @@ in
       sources."is-number-7.0.0"
       sources."jsonfile-6.1.0"
       sources."lilconfig-2.0.4"
-      sources."lodash.difference-4.5.0"
-      sources."lodash.forown-4.4.0"
-      sources."lodash.get-4.4.2"
-      sources."lodash.groupby-4.6.0"
-      sources."lodash.sortby-4.7.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."normalize-path-3.0.0"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-2.3.0"
-      sources."postcss-load-config-3.1.0"
-      sources."postcss-reporter-7.0.4"
+      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"
       sources."read-cache-1.0.0"
       sources."readdirp-3.6.0"
       sources."require-directory-2.1.1"
-      sources."resolve-from-5.0.0"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       sources."slash-4.0.0"
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
+      sources."thenby-1.3.4"
       sources."to-regex-range-5.0.1"
       sources."universalify-2.0.0"
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.8"
       sources."yaml-1.10.2"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -113313,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";
@@ -113358,13 +114368,13 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "3.6.0";
+    version = "3.9.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-3.6.0.tgz";
-      sha512 = "6SqgHS/5Rq6HtHjsWsTxlj+ySamGyCLBUQfotc2lStOjPv52IQuDVpp58GieNqc9VnfuFyHUvTZw7aQB+G2fvQ==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-3.9.2.tgz";
+      sha512 = "i9eK6cexV74OgeWaH3+e6S07kvC9jEZTl6BqtBH398nlCU0tck7mE9dicY6YQd+euvMjjCtY89q4NgmaPnUsSg==";
     };
     dependencies = [
-      sources."@prisma/engines-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727"
+      sources."@prisma/engines-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -113379,25 +114389,35 @@ in
   "@prisma/language-server" = nodeEnv.buildNodePackage {
     name = "_at_prisma_slash_language-server";
     packageName = "@prisma/language-server";
-    version = "3.6.0";
+    version = "3.9.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.6.0.tgz";
-      sha512 = "3WUlWYGEcavLaueLpl6vsGsgfHn2TMB4885tIsQ/qPulwdY9ZgL+qzrve+wnSoBwgFi3gSWnGZB6VYOhLaOTdQ==";
+      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.9.2.tgz";
+      sha512 = "lAe5mPD18PPpVlVmHQqj2ky11N9n6nGI32vuu2RbLHK4mRgkA/sLn8kBg81zs3WIdBLzCX+dYSpM8UFviZrlgA==";
     };
     dependencies = [
-      sources."@prisma/debug-3.5.0"
-      sources."@prisma/get-platform-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727"
-      sources."@prisma/prisma-fmt-wasm-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727"
-      sources."@types/debug-4.1.7"
-      sources."@types/js-levenshtein-1.1.0"
-      sources."@types/ms-0.7.31"
+      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."ms-2.1.3"
+      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;
@@ -113435,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"
@@ -113510,7 +114530,7 @@ in
       sources."buffer-from-1.1.2"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
-      sources."cached-path-relative-1.0.2"
+      sources."cached-path-relative-1.1.0"
       sources."cipher-base-1.0.4"
       sources."colors-1.4.0"
       sources."combine-source-map-0.8.0"
@@ -113563,7 +114583,7 @@ in
           sources."glob-7.1.7"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       (sources."hash-base-3.1.0" // {
         dependencies = [
@@ -113584,7 +114604,7 @@ in
         ];
       })
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."json-stable-stringify-0.0.1"
@@ -113602,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"
@@ -113655,7 +114675,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."rimraf-2.7.1"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
@@ -113679,6 +114699,7 @@ in
       sources."stream-splicer-2.0.1"
       sources."string_decoder-1.3.0"
       sources."subarg-1.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."syntax-error-1.4.0"
       (sources."temp-0.9.4" // {
         dependencies = [
@@ -113723,189 +114744,22 @@ in
   purescript-language-server = nodeEnv.buildNodePackage {
     name = "purescript-language-server";
     packageName = "purescript-language-server";
-    version = "0.16.1";
+    version = "0.16.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.16.1.tgz";
-      sha512 = "TX18OnuIZYDySoYxENH7dTQmjwewyoSt8x4chQcLd/zZjgYyiJCr7rDs7LP7Z8bse3iyvQte+HS1OoEIQnauqw==";
+      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.16.5.tgz";
+      sha512 = "M9Ktn2/hVjWMN9vK+q8i8i4r0gnnhT0u+GpKPsrdjPjJFcTqKaH49TQNwf07eD8Sd+xlcuU3PSu5CRgXwH3gag==";
     };
     dependencies = [
-      sources."ajv-6.12.6"
-      sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-4.1.0"
-      sources."ansi-styles-3.2.1"
-      sources."aproba-1.2.0"
-      sources."arch-2.2.0"
-      sources."asn1-0.2.6"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
-      sources."balanced-match-1.0.2"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."bluebird-3.7.2"
-      sources."brace-expansion-1.1.11"
-      sources."buffer-from-1.1.2"
-      sources."byline-5.0.0"
-      sources."cacache-11.3.3"
-      sources."caseless-0.12.0"
-      sources."chalk-2.4.2"
-      sources."chownr-1.1.4"
-      sources."cli-cursor-2.1.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."combined-stream-1.0.8"
-      sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
-      sources."copy-concurrently-1.0.5"
-      sources."core-util-is-1.0.3"
-      sources."cross-spawn-7.0.3"
-      sources."cyclist-1.0.1"
-      sources."dashdash-1.14.1"
-      sources."delayed-stream-1.0.0"
-      sources."duplexify-3.7.1"
-      sources."ecc-jsbn-0.1.2"
-      sources."emoji-regex-7.0.3"
-      sources."end-of-stream-1.4.4"
-      sources."env-paths-2.2.1"
-      sources."escape-string-regexp-1.0.5"
-      sources."execa-2.1.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."figgy-pudding-3.5.2"
-      sources."filesize-4.2.1"
-      sources."flush-write-stream-1.1.1"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."from2-2.3.0"
-      sources."fs-minipass-1.2.7"
-      sources."fs-write-stream-atomic-1.0.10"
-      sources."fs.realpath-1.0.0"
-      sources."get-stream-5.2.0"
-      sources."getpass-0.1.7"
-      sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
-      sources."has-flag-3.0.0"
-      sources."http-signature-1.2.0"
-      sources."iferr-0.1.5"
-      sources."imurmurhash-0.1.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."is-plain-obj-2.1.0"
-      sources."is-stream-2.0.1"
-      sources."is-typedarray-1.0.0"
-      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.2"
-      sources."log-symbols-3.0.0"
-      sources."log-update-3.4.0"
-      sources."lru-cache-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."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."minipass-2.9.0"
-      sources."minizlib-1.3.3"
-      sources."mississippi-3.0.0"
-      sources."mkdirp-0.5.5"
-      sources."move-concurrently-1.0.1"
-      sources."ms-2.1.3"
-      sources."npm-run-path-3.1.0"
-      sources."oauth-sign-0.9.0"
-      sources."once-1.4.0"
-      sources."onetime-5.1.2"
-      sources."p-finally-2.0.1"
-      sources."parallel-transform-1.2.0"
-      sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
-      sources."performance-now-2.1.0"
-      sources."process-nextick-args-2.0.1"
-      sources."promise-inflight-1.0.1"
-      sources."psl-1.8.0"
-      sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
-      sources."punycode-2.1.1"
-      sources."purescript-0.14.4"
-      (sources."purescript-installer-0.2.5" // {
-        dependencies = [
-          sources."which-1.3.1"
-        ];
-      })
-      sources."qs-6.5.2"
-      sources."readable-stream-2.3.7"
-      sources."request-2.88.2"
-      (sources."restore-cursor-2.0.0" // {
-        dependencies = [
-          sources."mimic-fn-1.2.0"
-          sources."onetime-2.0.1"
-        ];
-      })
-      sources."rimraf-2.7.1"
-      sources."run-queue-1.0.3"
-      sources."safe-buffer-5.1.2"
-      sources."safer-buffer-2.1.2"
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
       sources."shell-quote-1.7.3"
-      sources."signal-exit-3.0.6"
-      sources."spago-0.20.3"
-      sources."sshpk-1.16.1"
-      sources."ssri-6.0.2"
-      sources."stream-each-1.2.3"
-      sources."stream-shift-1.0.1"
-      sources."string-width-3.1.0"
-      sources."string_decoder-1.1.1"
-      sources."strip-ansi-5.2.0"
-      sources."strip-final-newline-2.0.0"
-      sources."supports-color-5.5.0"
-      (sources."tar-4.4.19" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."through2-2.0.5"
-      sources."tough-cookie-2.5.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."typedarray-0.0.6"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
-      sources."uri-js-4.4.1"
-      sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."core-util-is-1.0.2"
-        ];
-      })
-      sources."vscode-jsonrpc-8.0.0-next.4"
-      sources."vscode-languageserver-8.0.0-next.5"
-      sources."vscode-languageserver-protocol-3.17.0-next.11"
-      sources."vscode-languageserver-textdocument-1.0.3"
-      sources."vscode-languageserver-types-3.17.0-next.5"
+      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"
-      sources."wrap-ansi-5.1.0"
-      sources."wrappy-1.0.2"
-      sources."xtend-4.0.2"
-      sources."y18n-4.0.3"
-      sources."yallist-3.1.1"
-      sources."zen-observable-0.8.15"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -113956,18 +114810,17 @@ in
   pxder = nodeEnv.buildNodePackage {
     name = "pxder";
     packageName = "pxder";
-    version = "2.12.5";
+    version = "2.12.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pxder/-/pxder-2.12.5.tgz";
-      sha512 = "ttaD66WscLYQ4qIc/UbOvYvDfKYqbAzIzwFoFYyzLqQ0BhhZsVaIJhgl9oBo5NzMV4Cqu7dhxJP9noxqS9eqgw==";
+      url = "https://registry.npmjs.org/pxder/-/pxder-2.12.7.tgz";
+      sha512 = "IBCWzhShbZt+nUf5ylCIeFMef/C8Mngxs9gA3u256xmEWljClCBnVghVTxDzDWEOadbBKIMXL05I/28FqOuifg==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."agent-base-6.0.2"
       sources."appdata-path-1.0.0"
-      sources."at-least-node-1.0.0"
-      sources."axios-0.21.4"
+      sources."axios-0.24.0"
       sources."blueimp-md5-2.19.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -113979,20 +114832,21 @@ in
       sources."clone-response-1.0.2"
       sources."colors-1.4.0"
       sources."commander-5.1.0"
-      sources."compare-versions-3.6.0"
+      sources."compare-versions-4.1.3"
       sources."debug-4.3.3"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
+      sources."define-lazy-prop-2.0.0"
       sources."duplexer3-0.1.4"
       sources."end-of-stream-1.4.4"
-      sources."follow-redirects-1.14.6"
-      sources."fs-extra-9.1.0"
+      sources."follow-redirects-1.14.9"
+      sources."fs-extra-10.0.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-symbols-1.0.2"
       sources."http-cache-semantics-4.1.0"
@@ -114013,17 +114867,22 @@ in
       sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
+      sources."node-abort-controller-3.0.1"
       sources."normalize-url-4.5.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."once-1.4.0"
-      sources."open-7.4.2"
+      sources."open-8.4.0"
       sources."p-cancelable-1.1.0"
       sources."package-json-6.5.0"
-      sources."pixiv-api-client-0.25.0"
+      (sources."pixiv-api-client-0.25.0" // {
+        dependencies = [
+          sources."axios-0.21.4"
+        ];
+      })
       sources."prepend-http-2.0.0"
       sources."prompts-2.4.2"
       sources."pump-3.0.0"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."rc-1.2.8"
       sources."readline-sync-1.4.10"
       sources."register-protocol-win32-1.1.0"
@@ -114034,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"
@@ -114056,10 +114915,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.196";
+    version = "1.1.223";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.196.tgz";
-      sha512 = "63LF3JNElRU9wkCLgJLk8NMi4tJ/aB97itckp19zb4g8wXmlc90nyvA5bUk19ey10R4yAmlp8ol8Tz/mxAUmGQ==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.223.tgz";
+      sha512 = "EGLKMQRmSkKNe/eDy6MEkqq5lF91C5MCMYxvmCgKGUjZHIa+HByJIiRY2cOTm7g2CAv0eE7Ift701VxLM5Q0iQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -114139,7 +114998,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."invert-kv-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-stream-1.1.0"
       sources."is-url-1.2.4"
@@ -114168,11 +115027,11 @@ 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"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
       sources."object-inspect-1.4.1"
@@ -114206,7 +115065,7 @@ in
       sources."reduce-flatten-1.0.1"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.1"
@@ -114214,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 = [
@@ -114228,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" // {
@@ -114240,6 +115099,7 @@ in
       sources."strip-ansi-4.0.0"
       sources."strip-eof-1.0.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."table-layout-0.4.5"
       (sources."test-value-2.1.0" // {
         dependencies = [
@@ -114263,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"
@@ -114360,12 +115220,12 @@ 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"
       sources."ncp-0.4.2"
-      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.assign-4.1.2"
@@ -114374,7 +115234,7 @@ in
       sources."pkginfo-0.4.1"
       sources."prompt-0.2.14"
       sources."read-1.0.7"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."revalidator-0.1.8"
       sources."rimraf-2.7.1"
       sources."semver-5.7.1"
@@ -114415,76 +115275,77 @@ in
       sha512 = "JQACM+3GgF1vkUH6E6w1k0Qut6IbcfXjU37shGUWM9tIs3F9e/33saXK4G/uSl1kc8qjI+RekAQs/qyjMlUKlg==";
     };
     dependencies = [
-      sources."@babel/cli-7.16.0"
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.5" // {
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/cli-7.17.3"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.5"
-      (sources."@babel/helper-compilation-targets-7.16.3" // {
+      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" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.16.5"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-      (sources."@babel/helper-define-polyfill-provider-0.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.5"
-      sources."@babel/helper-explode-assignable-expression-7.16.0"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-member-expression-to-functions-7.16.5"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-optimise-call-expression-7.16.0"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-remap-async-to-generator-7.16.5"
-      sources."@babel/helper-replace-supers-7.16.5"
-      sources."@babel/helper-simple-access-7.16.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"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-member-expression-to-functions-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.16.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.16.5"
-      sources."@babel/plugin-proposal-class-properties-7.16.5"
-      sources."@babel/plugin-proposal-class-static-block-7.16.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.5"
-      sources."@babel/plugin-proposal-export-default-from-7.16.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.16.5"
-      sources."@babel/plugin-proposal-json-strings-7.16.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.5"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.5"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.5"
-      sources."@babel/plugin-proposal-private-methods-7.16.5"
-      sources."@babel/plugin-proposal-private-property-in-object-7.16.5"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.16.5"
+      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/helper-wrap-function-7.16.8"
+      sources."@babel/helpers-7.17.2"
+      sources."@babel/highlight-7.16.10"
+      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"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-class-static-block-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-default-from-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      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.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"
+      sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-default-from-7.16.5"
+      sources."@babel/plugin-syntax-export-default-from-7.16.7"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.16.5"
+      sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
@@ -114493,66 +115354,69 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.16.5"
-      sources."@babel/plugin-transform-async-to-generator-7.16.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.5"
-      sources."@babel/plugin-transform-block-scoping-7.16.5"
-      sources."@babel/plugin-transform-classes-7.16.5"
-      sources."@babel/plugin-transform-computed-properties-7.16.5"
-      sources."@babel/plugin-transform-destructuring-7.16.5"
-      sources."@babel/plugin-transform-dotall-regex-7.16.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.16.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.5"
-      sources."@babel/plugin-transform-for-of-7.16.5"
-      sources."@babel/plugin-transform-function-name-7.16.5"
-      sources."@babel/plugin-transform-literals-7.16.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.5"
-      sources."@babel/plugin-transform-modules-amd-7.16.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.5"
-      sources."@babel/plugin-transform-modules-umd-7.16.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.5"
-      sources."@babel/plugin-transform-new-target-7.16.5"
-      sources."@babel/plugin-transform-object-super-7.16.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-property-literals-7.16.5"
-      sources."@babel/plugin-transform-react-display-name-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-7.16.5"
-      sources."@babel/plugin-transform-react-jsx-development-7.16.5"
-      sources."@babel/plugin-transform-react-pure-annotations-7.16.5"
-      sources."@babel/plugin-transform-regenerator-7.16.5"
-      sources."@babel/plugin-transform-reserved-words-7.16.5"
-      (sources."@babel/plugin-transform-runtime-7.16.5" // {
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      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.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"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      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-display-name-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.17.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/plugin-transform-shorthand-properties-7.16.5"
-      sources."@babel/plugin-transform-spread-7.16.5"
-      sources."@babel/plugin-transform-sticky-regex-7.16.5"
-      sources."@babel/plugin-transform-template-literals-7.16.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.16.5"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.5"
-      sources."@babel/plugin-transform-unicode-regex-7.16.5"
-      (sources."@babel/preset-env-7.16.5" // {
+      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"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      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" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-react-7.16.5"
+      sources."@babel/preset-react-7.16.7"
       sources."@babel/preset-stage-0-7.8.3"
-      sources."@babel/register-7.16.5"
-      sources."@babel/runtime-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/register-7.17.0"
+      sources."@babel/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      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.0"
+      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"
@@ -114576,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"
@@ -114645,13 +115509,13 @@ in
       })
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-macros-2.8.0"
-      (sources."babel-plugin-polyfill-corejs2-0.3.0" // {
+      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.4.0"
-      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      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"
       (sources."babel-runtime-6.26.0" // {
@@ -114678,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.0" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
@@ -114710,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"
@@ -114744,13 +115608,13 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001287"
+      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"
       sources."chardet-0.7.0"
       sources."check-types-8.0.3"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."chownr-1.1.4"
       sources."chrome-trace-event-1.0.3"
       sources."cipher-base-1.0.4"
@@ -114823,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.0" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -114972,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.21"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -115043,14 +115907,13 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
-          sources."content-disposition-0.5.3"
-          sources."cookie-0.4.0"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
           sources."path-to-regexp-0.1.7"
           sources."range-parser-1.2.1"
+          sources."safe-buffer-5.2.1"
         ];
       })
       sources."ext-list-2.2.2"
@@ -115107,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.6"
+      sources."follow-redirects-1.14.9"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
@@ -115142,7 +116005,7 @@ in
           sources."pify-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."gud-1.0.0"
       sources."gunzip-maybe-1.4.2"
       sources."gzip-size-5.1.1"
@@ -115209,11 +116072,7 @@ in
       })
       sources."http-cache-semantics-3.8.1"
       sources."http-deceiver-1.2.7"
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."http-errors-1.8.1"
       sources."http-parser-js-0.5.5"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-0.19.1"
@@ -115273,7 +116132,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-deflate-1.0.0"
@@ -115382,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 = [
@@ -115404,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"
@@ -115417,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" // {
@@ -115447,7 +116306,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      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"
@@ -115500,11 +116359,11 @@ in
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      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"
       (sources."portfinder-1.0.28" // {
         dependencies = [
@@ -115638,7 +116497,7 @@ in
           sources."postcss-value-parser-3.3.1"
         ];
       })
-      sources."postcss-selector-parser-6.0.7"
+      sources."postcss-selector-parser-6.0.9"
       (sources."postcss-svgo-4.0.3" // {
         dependencies = [
           sources."postcss-value-parser-3.3.1"
@@ -115652,7 +116511,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
-      sources."prop-types-15.7.2"
+      sources."prop-types-15.8.1"
       sources."proto-list-1.2.4"
       sources."proxy-addr-2.0.7"
       sources."prr-1.0.1"
@@ -115666,7 +116525,7 @@ in
       sources."pumpify-1.5.1"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.7.0"
+      sources."qs-6.9.7"
       sources."query-string-5.1.1"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
@@ -115675,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.0" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
         ];
       })
       sources."raw-loader-3.1.0"
@@ -115691,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.3.1"
-      sources."regexpu-core-4.8.0"
+      sources."regexp.prototype.flags-1.4.1"
+      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"
         ];
@@ -115710,7 +116569,7 @@ in
       (sources."renderkid-2.0.7" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
-          sources."css-select-4.2.0"
+          sources."css-select-4.2.1"
           sources."css-what-5.1.0"
           sources."dom-serializer-1.3.2"
           sources."domelementtype-2.2.0"
@@ -115724,7 +116583,7 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
       sources."requires-port-1.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -115754,9 +116613,9 @@ in
         ];
       })
       sources."select-hose-2.0.0"
-      sources."selfsigned-1.10.11"
+      sources."selfsigned-1.10.14"
       sources."semver-5.7.1"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -115764,7 +116623,7 @@ in
             ];
           })
           sources."mime-1.6.0"
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
           sources."range-parser-1.2.1"
         ];
       })
@@ -115781,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" // {
@@ -115792,7 +116652,7 @@ in
           sources."setprototypeof-1.1.0"
         ];
       })
-      sources."serve-static-1.14.1"
+      sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -115800,14 +116660,14 @@ in
         ];
       })
       sources."setimmediate-1.0.5"
-      sources."setprototypeof-1.1.1"
+      sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
       sources."shallow-clone-3.0.1"
       sources."shebang-command-1.2.0"
       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"
@@ -115943,6 +116803,7 @@ in
         ];
       })
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."svgo-1.3.2"
       sources."swimmer-1.4.0"
       sources."tapable-1.1.3"
@@ -115986,7 +116847,7 @@ in
       })
       sources."to-regex-3.0.2"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."toposort-1.0.7"
       sources."trim-repeated-1.0.0"
       sources."tryer-1.0.1"
@@ -116037,7 +116898,7 @@ in
         ];
       })
       sources."url-loader-2.3.0"
-      sources."url-parse-1.5.3"
+      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"
@@ -116198,7 +117059,7 @@ in
       sources."esprima-3.1.3"
       sources."esprima-fb-13001.1001.0-dev-harmony-fb"
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -116207,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"
@@ -116232,16 +117093,16 @@ in
   readability-cli = nodeEnv.buildNodePackage {
     name = "readability-cli";
     packageName = "readability-cli";
-    version = "2.3.4";
+    version = "2.3.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.3.4.tgz";
-      sha512 = "88OPL2Gj8qWx/GWS0dgxJkArT/kcnfFMgW+duBBSGXbvdWG6CEIUY4602e41OVLtDAmT3xo4cdj3PhmQxgAa6g==";
+      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.3.5.tgz";
+      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.6.0"
+      sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -116269,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"
@@ -116285,7 +117146,7 @@ in
       sources."iconv-lite-0.6.3"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-potential-custom-element-name-1.0.1"
-      sources."jsdom-18.1.1"
+      sources."jsdom-19.0.0"
       sources."levn-0.3.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
@@ -116315,11 +117176,11 @@ in
       sources."whatwg-url-10.0.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
-      sources."ws-8.3.0"
+      sources."ws-8.5.0"
       sources."xml-name-validator-4.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -116335,42 +117196,42 @@ 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.0"
-      (sources."@babel/generator-7.16.5" // {
+      sources."@babel/code-frame-7.16.7"
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/runtime-7.16.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/helper-annotate-as-pure-7.16.7"
+      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"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      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.17.3"
+      sources."@babel/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      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.73"
+      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.0"
+      sources."@types/node-14.18.12"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -116385,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"
@@ -116415,7 +117276,7 @@ in
       sources."call-me-maybe-1.0.1"
       sources."camelize-1.0.0"
       sources."chalk-2.4.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."cipher-base-1.0.4"
       sources."classnames-2.3.1"
       sources."cliui-7.0.4"
@@ -116446,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"
@@ -116497,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 = [
@@ -116513,15 +117374,15 @@ 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.9"
-      sources."mobx-react-7.2.1"
-      sources."mobx-react-lite-3.2.2"
+      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.6"
+      sources."node-fetch-2.6.7"
       sources."node-fetch-h2-2.3.0"
       sources."node-libs-browser-2.2.1"
       sources."node-readfiles-0.2.0"
@@ -116532,21 +117393,21 @@ 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"
       sources."path-browserify-0.0.1"
       sources."pbkdf2-3.1.2"
-      sources."perfect-scrollbar-1.5.3"
-      sources."picomatch-2.3.0"
+      sources."perfect-scrollbar-1.5.5"
+      sources."picomatch-2.3.1"
       sources."pluralize-8.0.0"
-      sources."polished-4.1.3"
+      sources."polished-4.1.4"
       sources."postcss-value-parser-4.2.0"
-      sources."prismjs-1.25.0"
+      sources."prismjs-1.27.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
-      sources."prop-types-15.7.2"
+      sources."prop-types-15.8.1"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -116570,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"
         ];
@@ -116600,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"
@@ -116609,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"
@@ -116642,7 +117504,7 @@ in
       sources."y18n-5.0.8"
       sources."yaml-1.10.2"
       sources."yaml-ast-parser-0.0.43"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -116693,7 +117555,7 @@ in
       sources."figures-3.2.0"
       sources."find-up-2.1.0"
       sources."function-bind-1.1.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."hosted-git-info-2.8.9"
@@ -116701,7 +117563,7 @@ in
       sources."ink-2.7.1"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
       sources."js-tokens-4.0.0"
@@ -116748,7 +117610,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-3.0.0"
       sources."pify-3.0.0"
-      sources."prop-types-15.7.2"
+      sources."prop-types-15.8.1"
       sources."quick-lru-1.1.0"
       sources."react-16.14.0"
       sources."react-is-16.13.1"
@@ -116756,11 +117618,11 @@ in
       sources."read-pkg-3.0.0"
       sources."read-pkg-up-3.0.0"
       sources."redent-2.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       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"
@@ -116778,6 +117640,7 @@ in
       sources."strip-bom-3.0.0"
       sources."strip-indent-2.0.0"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."trim-newlines-2.0.0"
       sources."type-fest-0.21.3"
       sources."validate-npm-package-license-3.0.4"
@@ -116816,15 +117679,15 @@ in
   reveal-md = nodeEnv.buildNodePackage {
     name = "reveal-md";
     packageName = "reveal-md";
-    version = "5.3.1";
+    version = "5.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/reveal-md/-/reveal-md-5.3.1.tgz";
-      sha512 = "nh2hjnCwshHNbARfbgdIJq1JHiDuYZDqFGKP7Y/t1/nEb6z2k8XakfUq7Yf+Ew5DC6enBxjYxosUjwZpdg/mpw==";
+      url = "https://registry.npmjs.org/reveal-md/-/reveal-md-5.3.2.tgz";
+      sha512 = "ruZIisn3dd01wf8yUzUtt32uYUpxKMB5nE1np3o5W4nba5aabGGoB2gznriuL3IeRaHnBGp1jaVFKkJ+FSIQBg==";
     };
     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"
@@ -116835,7 +117698,7 @@ in
       sources."async-limiter-1.0.1"
       sources."balanced-match-1.0.2"
       sources."binary-extensions-2.2.0"
-      (sources."body-parser-1.19.0" // {
+      (sources."body-parser-1.19.1" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -116846,16 +117709,16 @@ in
       sources."braces-3.0.2"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.0"
+      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."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       sources."chalk-4.1.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       sources."clone-response-1.0.2"
@@ -116865,9 +117728,9 @@ in
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
       sources."configstore-5.0.1"
-      sources."content-disposition-0.5.3"
+      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.3"
       sources."crypto-random-string-2.0.0"
@@ -116890,7 +117753,7 @@ in
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.2" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -116920,12 +117783,12 @@ in
       sources."glob-parent-5.1.2"
       sources."global-dirs-3.0.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
       sources."highlight.js-10.7.2"
       sources."http-cache-semantics-4.1.0"
-      sources."http-errors-1.7.2"
+      sources."http-errors-1.8.1"
       (sources."https-proxy-agent-2.2.4" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -116935,7 +117798,7 @@ in
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ini-2.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-binary-path-2.1.0"
@@ -116959,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"
@@ -116975,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"
@@ -116997,7 +117860,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."pend-1.2.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
@@ -117011,22 +117874,26 @@ in
           sources."ws-6.2.2"
         ];
       })
-      sources."qs-6.7.0"
+      sources."qs-6.9.6"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
+      sources."raw-body-2.4.2"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
         ];
       })
-      sources."readable-stream-2.3.7"
+      (sources."readable-stream-2.3.7" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."readdirp-3.6.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."responselike-1.0.2"
       sources."reveal.js-4.2.1"
       sources."rimraf-2.7.1"
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       (sources."semver-diff-3.1.1" // {
@@ -117034,14 +117901,14 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
       (sources."serve-favicon-2.5.0" // {
@@ -117050,19 +117917,23 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.1"
-      sources."signal-exit-3.0.6"
+      sources."serve-static-1.14.2"
+      sources."setprototypeof-1.2.0"
+      sources."signal-exit-3.0.7"
       sources."sprintf-js-1.0.3"
       sources."statuses-1.5.0"
       sources."string-width-4.2.3"
-      sources."string_decoder-1.1.1"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."try-require-1.2.1"
       sources."type-fest-0.20.2"
       sources."type-is-1.6.18"
@@ -117080,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"
@@ -117113,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"
@@ -117131,10 +118002,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.61.1";
+    version = "2.67.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.61.1.tgz";
-      sha512 = "BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA==";
+      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"
@@ -117156,10 +118027,13 @@ in
     src = ../../misc/vscode-extensions/rust-analyzer/build-deps;
     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"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
           sources."escape-string-regexp-1.0.5"
         ];
       })
@@ -117168,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"
@@ -117180,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"
@@ -117196,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"
@@ -117204,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"
@@ -117226,25 +118100,22 @@ in
       sources."buffers-0.1.1"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       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"
@@ -117252,9 +118123,9 @@ in
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-what-5.1.0"
-      sources."d3-7.2.1"
+      sources."d3-7.3.0"
       sources."d3-array-3.1.1"
       sources."d3-axis-3.0.0"
       sources."d3-brush-3.0.0"
@@ -117270,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"
@@ -117294,7 +118165,7 @@ in
       sources."d3-scale-4.0.2"
       sources."d3-scale-chromatic-3.0.0"
       sources."d3-selection-3.0.0"
-      sources."d3-shape-3.0.1"
+      sources."d3-shape-3.1.0"
       sources."d3-time-3.0.0"
       sources."d3-time-format-4.1.0"
       sources."d3-timer-3.0.1"
@@ -117302,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"
@@ -117365,7 +118236,7 @@ in
       sources."esutils-2.0.3"
       sources."expand-template-2.0.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
@@ -117375,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"
@@ -117400,22 +118271,22 @@ 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."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
+      sources."globals-13.12.1"
+      sources."globby-11.1.0"
+      sources."graceful-fs-4.2.9"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."htmlparser2-6.1.0"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.6.3"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
@@ -117435,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"
@@ -117457,44 +118328,37 @@ 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.3" // {
+      (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-fetch-2.6.6"
+      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"
       sources."nth-check-2.0.1"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."once-1.4.0"
       sources."optionator-0.9.1"
       sources."os-homedir-1.0.2"
@@ -117515,15 +118379,15 @@ in
       sources."path-key-3.1.1"
       sources."path-type-4.0.0"
       sources."pend-1.2.0"
-      sources."picomatch-2.3.0"
-      sources."prebuild-install-6.1.4"
+      sources."picomatch-2.3.1"
+      sources."prebuild-install-7.0.1"
       sources."prelude-ls-1.2.1"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."queue-microtask-1.2.3"
       sources."randombytes-2.1.0"
       (sources."rc-1.2.8" // {
@@ -117558,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" // {
@@ -117579,9 +118437,9 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
-      (sources."table-6.7.5" // {
+      (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.8.2"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -117607,7 +118465,7 @@ in
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
       sources."typed-rest-client-1.8.6"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."typescript-formatter-7.2.2"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.2"
@@ -117618,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"
@@ -117634,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"
@@ -117672,13 +118527,13 @@ in
     dependencies = [
       sources."find-up-5.0.0"
       sources."locate-path-6.0.0"
-      sources."nanoid-3.1.30"
+      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."source-map-js-1.0.1"
+      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"
     ];
@@ -117737,7 +118592,7 @@ in
           sources."commander-1.3.2"
         ];
       })
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."formidable-1.0.11"
       sources."fresh-0.2.0"
       sources."function-bind-1.1.1"
@@ -117758,10 +118613,10 @@ in
       sources."node-uuid-1.4.1"
       sources."node-wsfederation-0.1.1"
       sources."oauth-https://github.com/ciaranj/node-oauth/tarball/master"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       (sources."openid-2.0.10" // {
         dependencies = [
-          sources."qs-6.10.2"
+          sources."qs-6.10.3"
         ];
       })
       sources."pause-0.0.1"
@@ -117791,16 +118646,16 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.45.0";
+    version = "1.49.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.45.0.tgz";
-      sha512 = "ONy5bjppoohtNkFJRqdz1gscXamMzN3wQy1YH9qO2FiNpgjLhpz/IPRGg0PpCjyz/pWfCOaNEaiEGCcjOFAjqw==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz";
+      sha512 = "NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
       sources."binary-extensions-2.2.0"
       sources."braces-3.0.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."fill-range-7.0.1"
       sources."fsevents-2.3.2"
       sources."glob-parent-5.1.2"
@@ -117810,9 +118665,9 @@ in
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."normalize-path-3.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."readdirp-3.6.0"
-      sources."source-map-js-1.0.1"
+      sources."source-map-js-1.0.2"
       sources."to-regex-range-5.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -117857,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"
@@ -117872,7 +118727,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."bytes-3.0.0"
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       (sources."chalk-2.4.1" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -117918,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"
@@ -117943,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"
@@ -117971,127 +118826,47 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "2.69.1";
+    version = "3.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-2.69.1.tgz";
-      sha512 = "pHHr8l6BDDzHIcFqdXDNGIrEbtcm4Lf0dlE3nuHVvmADET+rdl5aOWem9JaHA75cyICybm8oj8FhhtJIt5Uotw==";
+      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.5.3" // {
-        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.1" // {
-        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.1"
-          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.1"
+      sources."@serverless/dashboard-plugin-6.1.0"
       sources."@serverless/event-mocks-1.1.1"
-      (sources."@serverless/platform-client-4.3.0" // {
-        dependencies = [
-          sources."js-yaml-3.14.1"
-          sources."jwt-decode-2.2.0"
-        ];
-      })
-      (sources."@serverless/platform-client-china-2.3.3" // {
+      (sources."@serverless/platform-client-4.3.1" // {
         dependencies = [
-          sources."dotenv-8.6.0"
           sources."js-yaml-3.14.1"
         ];
       })
-      sources."@serverless/template-1.1.4"
-      (sources."@serverless/utils-5.20.1" // {
+      (sources."@serverless/utils-6.0.2" // {
         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.4"
-      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.0"
-      sources."@types/request-2.48.7"
-      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"
@@ -118099,34 +118874,16 @@ in
       })
       (sources."archiver-5.3.0" // {
         dependencies = [
-          sources."async-3.2.2"
-          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.1046.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -118134,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"
@@ -118175,70 +118908,62 @@ 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.2.1"
-      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"
         ];
       })
       sources."chardet-0.7.0"
       sources."child-process-ext-2.1.1"
-      sources."chokidar-3.5.2"
-      sources."chownr-1.1.4"
+      sources."chokidar-3.5.3"
+      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-sprintf-format-1.1.0" // {
+      sources."cli-spinners-2.6.1"
+      (sources."cli-sprintf-format-1.1.1" // {
         dependencies = [
-          sources."cli-color-1.4.0"
+          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"
@@ -118249,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" // {
@@ -118261,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" // {
@@ -118283,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"
@@ -118324,139 +119039,84 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."esniff-1.1.0"
       sources."esprima-4.0.1"
-      sources."essentials-1.1.1"
+      sources."essentials-1.2.0"
       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.7"
-      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-glob-3.2.11"
       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.6"
+      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.6"
-      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.0.4"
-      (sources."got-11.8.3" // {
-        dependencies = [
-          sources."@sindresorhus/is-4.2.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.4"
-          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."graceful-fs-4.2.8"
+      sources."globby-11.1.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.1.9"
+      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.15.0"
+      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 = [
@@ -118464,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"
@@ -118499,20 +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.2" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."has-flag-4.0.0"
-          sources."supports-color-8.1.1"
-        ];
-      })
-      (sources."logform-2.3.0" // {
-        dependencies = [
-          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" // {
@@ -118520,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"
@@ -118534,261 +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.6"
-      sources."noop-logger-0.1.1"
+      sources."node-fetch-2.6.7"
       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.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.2"
+      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.16.1"
-      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" // {
@@ -118797,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.1"
-      (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 = {
@@ -118859,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"
@@ -118875,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.0"
-      sources."bytes-3.1.0"
+      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"
@@ -118885,9 +119359,9 @@ in
       sources."component-bind-1.0.0"
       sources."component-emitter-1.1.2"
       sources."component-inherit-0.0.3"
-      sources."content-disposition-0.5.3"
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."dashdash-1.14.1"
@@ -118923,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.1"
+      sources."express-4.17.3"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
@@ -118946,11 +119420,7 @@ in
           sources."entities-1.0.0"
         ];
       })
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."http-errors-1.8.1"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       sources."indexof-0.0.1"
@@ -118981,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"
@@ -118996,25 +119466,25 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.7.0"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
+      sources."raw-body-2.4.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
         ];
       })
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.1"
+      sources."serve-static-1.14.2"
+      sources."setprototypeof-1.2.0"
       sources."slate-irc-0.7.3"
       (sources."slate-irc-parser-0.0.2" // {
         dependencies = [
@@ -119044,14 +119514,14 @@ in
         ];
       })
       sources."split-1.0.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
       sources."stream-combiner-0.2.2"
       sources."string_decoder-0.10.31"
       sources."through-2.3.8"
       sources."tinycolor-0.0.1"
       sources."to-array-0.1.3"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -119175,7 +119645,7 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."get-value-2.0.6"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."graceful-readlink-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -119379,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"
@@ -119420,7 +119890,7 @@ in
             dependencies = [
               sources."assert-plus-1.0.0"
               sources."dashdash-1.14.1"
-              sources."sshpk-1.16.1"
+              sources."sshpk-1.17.0"
             ];
           })
           sources."json-schema-0.2.2"
@@ -119480,15 +119950,14 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.794.0";
+    version = "1.855.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.794.0.tgz";
-      sha512 = "o2SVajU3FKSn2n56NsCRDroENk4r0GVKX1+++Zle2hPKILNaLZVwtcPAN1NqTFl9WBFAAzcbYzq8ltLopdcADg==";
+      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;
@@ -119498,29 +119967,29 @@ in
   "socket.io" = nodeEnv.buildNodePackage {
     name = "socket.io";
     packageName = "socket.io";
-    version = "4.4.0";
+    version = "4.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-4.4.0.tgz";
-      sha512 = "bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==";
+      url = "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz";
+      sha512 = "s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==";
     };
     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.0"
-      sources."accepts-1.3.7"
-      sources."base64-arraybuffer-1.0.1"
+      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.0"
-      sources."engine.io-parser-5.0.2"
+      sources."engine.io-6.1.2"
+      sources."engine.io-parser-5.0.3"
       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"
@@ -119546,9 +120015,9 @@ in
       sha512 = "CIlLQsG8ffQ2B+2A/s3rXiaTXDWlEKBMya64ajzDcpDZ8bpB5dOyznWQJB+lyUn6/lJ8P+5xe4jKO60S6yLoMw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -119568,8 +120037,8 @@ in
       sources."base64-js-1.5.1"
       sources."bl-5.0.0"
       sources."buffer-6.0.3"
-      sources."camelcase-6.2.1"
-      sources."camelcase-keys-7.0.1"
+      sources."camelcase-6.3.0"
+      sources."camelcase-keys-7.0.2"
       sources."chalk-4.1.2"
       sources."cli-cursor-4.0.0"
       sources."cli-spinners-2.6.1"
@@ -119586,6 +120055,7 @@ in
       })
       sources."defaults-1.0.3"
       sources."draftlog-1.0.13"
+      sources."eastasianwidth-0.2.0"
       sources."emoji-regex-9.2.2"
       sources."error-ex-1.3.2"
       sources."es6-promise-4.2.8"
@@ -119596,14 +120066,14 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."http-proxy-agent-2.1.0"
       sources."https-proxy-agent-3.0.1"
       sources."ieee754-1.2.1"
       sources."indent-string-5.0.0"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-4.0.0"
       sources."is-interactive-2.0.0"
       sources."is-plain-obj-1.1.0"
@@ -119628,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"
@@ -119643,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"
@@ -119663,7 +120137,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."string-width-5.0.1"
+      sources."string-width-5.1.0"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-7.0.1"
       sources."strip-indent-4.0.0"
@@ -119745,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.1" // {
+      (sources."async-append-only-log-3.1.4" // {
         dependencies = [
           sources."push-stream-11.0.1"
         ];
@@ -119775,7 +120249,7 @@ in
       sources."binary-search-1.3.6"
       sources."binary-search-bounds-2.0.5"
       sources."bindings-1.5.0"
-      sources."bipf-1.5.4"
+      sources."bipf-1.5.5"
       sources."blake2s-1.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-1.8.5"
@@ -119888,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"
@@ -119957,7 +120432,7 @@ in
       sources."glob-parent-2.0.0"
       sources."globby-4.1.0"
       sources."gossip-query-2.0.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-bigints-1.0.1"
@@ -120008,7 +120483,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-canonical-base64-1.1.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -120055,7 +120530,7 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-2.1.0"
-      (sources."jitdb-4.0.0" // {
+      (sources."jitdb-4.0.1" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."push-stream-11.0.1"
@@ -120108,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 = [
@@ -120123,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.3"
+      sources."muxrpc-6.7.0"
       sources."muxrpc-usage-2.1.0"
       sources."muxrpc-validation-3.0.2"
       sources."muxrpcli-3.1.2"
@@ -120151,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"
@@ -120169,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" // {
@@ -120198,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"
@@ -120289,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"
         ];
@@ -120301,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 = [
@@ -120367,7 +120842,7 @@ in
       })
       sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."relative-url-1.0.2"
       (sources."remark-3.2.3" // {
         dependencies = [
@@ -120380,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"
@@ -120438,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 = [
@@ -120469,7 +120944,7 @@ in
         ];
       })
       sources."ssb-db-19.2.0"
-      (sources."ssb-db2-2.8.3" // {
+      (sources."ssb-db2-2.8.9" // {
         dependencies = [
           sources."abstract-leveldown-6.2.3"
           (sources."flumecodec-0.0.1" // {
@@ -120523,16 +120998,16 @@ 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.5.2"
+      sources."ssb-uri2-1.7.0"
       (sources."ssb-validate-4.1.4" // {
         dependencies = [
           sources."ssb-keys-8.2.0"
         ];
       })
       sources."ssb-validate2-0.1.2"
-      sources."ssb-validate2-rsjs-node-1.0.3"
+      sources."ssb-validate2-rsjs-node-1.0.4"
       sources."ssb-ws-6.2.3"
       sources."stack-0.1.0"
       (sources."static-extend-0.1.2" // {
@@ -120567,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"
@@ -120618,7 +121094,7 @@ in
       })
       sources."untildify-2.1.0"
       sources."urix-0.1.0"
-      sources."url-parse-1.5.3"
+      sources."url-parse-1.5.9"
       sources."use-3.1.1"
       sources."user-home-2.0.0"
       sources."utf8-byte-length-1.0.4"
@@ -120637,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"
     ];
@@ -120689,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 = [
@@ -120737,7 +121213,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1046.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -120765,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"
@@ -120781,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"
@@ -120814,7 +121290,11 @@ in
       })
       sources."config-1.31.0"
       sources."constantinople-3.1.2"
-      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."convert-to-ecmascript-compatible-varname-0.1.5"
       sources."cookie-0.4.0"
@@ -120877,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"
         ];
@@ -120903,18 +121383,12 @@ in
           sources."cross-spawn-6.0.5"
         ];
       })
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
-          sources."body-parser-1.19.0"
-          sources."bytes-3.1.0"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
+          sources."cookie-0.4.2"
           sources."proxy-addr-2.0.7"
-          sources."qs-6.7.0"
-          sources."raw-body-2.4.0"
-          sources."serve-static-1.14.1"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
+          sources."qs-6.9.7"
+          sources."safe-buffer-5.2.1"
         ];
       })
       (sources."express-validator-2.21.0" // {
@@ -120932,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.6"
+      sources."follow-redirects-1.14.9"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."formidable-1.2.6"
@@ -120956,7 +121430,7 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."graphlib-2.1.8"
       sources."har-schema-2.0.0"
       sources."har-validator-2.0.6"
@@ -120997,7 +121471,7 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       (sources."is-expression-3.0.0" // {
         dependencies = [
           sources."acorn-4.0.13"
@@ -121015,7 +121489,7 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
-      sources."jmespath-0.15.0"
+      sources."jmespath-0.16.0"
       sources."jpeg-turbo-0.4.0"
       sources."js-base64-2.6.4"
       sources."js-stringify-1.0.2"
@@ -121105,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"
@@ -121119,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"
@@ -121130,13 +121604,13 @@ in
       sources."oauth-sign-0.8.2"
       sources."object-assign-4.1.1"
       sources."object-hash-0.3.0"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       (sources."openid-2.0.10" // {
         dependencies = [
-          sources."qs-6.10.2"
+          sources."qs-6.10.3"
         ];
       })
       sources."options-0.0.6"
@@ -121204,12 +121678,12 @@ in
       sources."pump-3.0.0"
       sources."punycode-1.4.1"
       sources."q-1.1.2"
-      sources."qs-6.3.2"
+      sources."qs-6.3.3"
       sources."querystring-0.2.0"
       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 = [
@@ -121234,7 +121708,7 @@ in
           sources."http-signature-1.2.0"
           sources."oauth-sign-0.9.0"
           sources."punycode-2.1.1"
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
           sources."tough-cookie-2.5.0"
           sources."tunnel-agent-0.6.0"
         ];
@@ -121243,7 +121717,7 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."ret-0.2.2"
       sources."rethinkdb-2.4.2"
       sources."retry-0.9.0"
@@ -121260,31 +121734,20 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
       sources."semver-5.7.1"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          sources."http-errors-1.7.3"
-          sources."ms-2.1.1"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
-        ];
-      })
+      sources."send-0.17.2"
       (sources."serve-favicon-2.5.0" // {
         dependencies = [
           sources."ms-2.1.1"
           sources."safe-buffer-5.1.1"
         ];
       })
-      (sources."serve-static-1.14.2" // {
-        dependencies = [
-          sources."send-0.17.2"
-        ];
-      })
+      sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       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" // {
@@ -121315,7 +121778,7 @@ in
       sources."spdx-license-ids-3.0.11"
       sources."split-1.0.1"
       sources."sprintf-js-1.0.3"
-      (sources."sshpk-1.16.1" // {
+      (sources."sshpk-1.17.0" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -121349,12 +121812,13 @@ in
         dependencies = [
           sources."debug-3.2.7"
           sources."form-data-2.5.1"
-          sources."qs-6.10.2"
+          sources."qs-6.10.3"
           sources."readable-stream-2.3.7"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."supports-color-2.0.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."swagger-express-mw-0.7.0"
       sources."swagger-methods-1.0.8"
       (sources."swagger-node-runner-0.7.3" // {
@@ -121362,7 +121826,7 @@ in
           sources."esprima-4.0.1"
           sources."js-yaml-3.14.1"
           sources."lodash-3.10.1"
-          sources."qs-6.10.2"
+          sources."qs-6.10.3"
         ];
       })
       sources."swagger-schema-official-2.0.0-bab6bed"
@@ -121527,22 +121991,22 @@ in
   stylelint = nodeEnv.buildNodePackage {
     name = "stylelint";
     packageName = "stylelint";
-    version = "14.1.0";
+    version = "14.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.1.0.tgz";
-      sha512 = "IedkssuNVA11+v++2PIV2OHOU5A3SfRcXVi56vZVSsMhGrgtwmmit69jeM+08/Tun5DTBe7BuH1Zp1mMLmtKLA==";
+      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.5.1.tgz";
+      sha512 = "8Hf4HtnhxlWlf7iXF9zFfhSc3X0teRnVzl6PqPs2JEFx+dy/mhMhghZfiTDW4QG0ihDw9+WP7GZw5Nzx7cQF5A==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
-      sources."ajv-8.8.2"
+      sources."ajv-8.10.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -121562,8 +122026,10 @@ in
       sources."clone-regexp-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
+      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"
@@ -121578,14 +122044,14 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."execall-2.0.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastest-levenshtein-1.0.12"
       sources."fastq-1.13.0"
       sources."file-entry-cache-6.0.1"
       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"
@@ -121593,14 +122059,14 @@ in
       sources."glob-parent-5.1.2"
       sources."global-modules-2.0.0"
       sources."global-prefix-3.0.0"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."globjoin-0.1.4"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-4.0.2"
+      sources."hosted-git-info-4.1.0"
       sources."html-tags-3.1.0"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
           sources."resolve-from-4.0.0"
@@ -121613,7 +122079,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
-      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"
@@ -121621,13 +122087,12 @@ 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"
       sources."json-schema-traverse-1.0.0"
       sources."kind-of-6.0.3"
-      sources."known-css-properties-0.23.0"
+      sources."known-css-properties-0.24.0"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-5.0.0"
       sources."lodash.truncate-4.4.2"
@@ -121638,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.1.30"
+      sources."nanoid-3.3.1"
       sources."normalize-package-data-3.0.3"
       sources."normalize-path-3.0.0"
       sources."normalize-selector-0.2.0"
@@ -121656,12 +122121,12 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
-      sources."postcss-8.4.5"
+      sources."picomatch-2.3.1"
+      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"
-      sources."postcss-selector-parser-6.0.7"
+      sources."postcss-selector-parser-6.0.9"
       sources."postcss-value-parser-4.2.0"
       sources."punycode-2.1.1"
       sources."queue-microtask-1.2.3"
@@ -121681,13 +122146,13 @@ in
       })
       sources."redent-3.0.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-5.0.0"
       sources."reusify-1.0.4"
       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 = [
@@ -121696,7 +122161,7 @@ in
           sources."color-name-1.1.4"
         ];
       })
-      sources."source-map-js-1.0.1"
+      sources."source-map-js-1.0.2"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -121707,19 +122172,25 @@ in
       sources."strip-indent-3.0.0"
       sources."style-search-0.1.0"
       sources."supports-color-5.5.0"
+      (sources."supports-hyperlinks-2.2.0" // {
+        dependencies = [
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."svg-tags-1.0.0"
-      sources."table-6.7.5"
+      sources."table-6.8.0"
       sources."to-regex-range-5.0.1"
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.18.1"
-      sources."typedarray-to-buffer-3.1.5"
       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-3.0.3"
+      sources."write-file-atomic-4.0.1"
       sources."yallist-4.0.0"
       sources."yaml-1.10.2"
       sources."yargs-parser-20.2.9"
@@ -121734,22 +122205,158 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  surge = nodeEnv.buildNodePackage {
+    name = "surge";
+    packageName = "surge";
+    version = "0.23.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/surge/-/surge-0.23.1.tgz";
+      sha512 = "w92meVuKxqO1up0JpSe2iVSiVTv7E7t1qDA9fZhCSZx/+6Q85I3Y2LCoZIcWLpMm9BM0iB843NAWAwdScTR4Uw==";
+    };
+    dependencies = [
+      sources."ajv-6.12.6"
+      sources."ansi-escapes-3.2.0"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."asn1-0.2.6"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."balanced-match-1.0.2"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."block-stream-0.0.9"
+      sources."brace-expansion-1.1.11"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.2"
+      sources."chardet-0.7.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-table3-0.5.1"
+      sources."cli-width-2.2.1"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."colors-1.4.0"
+      sources."combined-stream-1.0.8"
+      sources."concat-map-0.0.1"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."escape-string-regexp-1.0.5"
+      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-json-stable-stringify-2.1.0"
+      sources."figures-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."fs.realpath-1.0.0"
+      sources."fstream-1.0.12"
+      sources."getpass-0.1.7"
+      sources."glob-7.2.0"
+      sources."graceful-fs-4.2.9"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.5"
+      sources."has-flag-3.0.0"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      (sources."inquirer-6.5.2" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."is-domain-0.0.1"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      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."jsprim-1.4.2"
+      sources."lodash-4.17.21"
+      sources."mime-db-1.51.0"
+      sources."mime-types-2.1.34"
+      sources."mimic-fn-1.2.0"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.3"
+      (sources."mkdirp-0.5.5" // {
+        dependencies = [
+          sources."minimist-1.2.5"
+        ];
+      })
+      sources."moniker-0.1.2"
+      sources."mute-stream-0.0.7"
+      sources."netrc-0.1.4"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."os-tmpdir-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."performance-now-2.1.0"
+      sources."progress-1.1.8"
+      sources."psl-1.8.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.5.3"
+      sources."read-1.0.5"
+      sources."request-2.88.2"
+      sources."restore-cursor-2.0.0"
+      sources."rimraf-2.7.1"
+      sources."run-async-2.4.1"
+      sources."rxjs-6.6.7"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."signal-exit-3.0.7"
+      sources."split-0.3.1"
+      sources."sshpk-1.17.0"
+      sources."string-width-2.1.1"
+      sources."strip-ansi-4.0.0"
+      sources."supports-color-5.5.0"
+      sources."surge-fstream-ignore-1.0.6"
+      sources."surge-ignore-0.2.0"
+      sources."tarr-1.1.0"
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."tough-cookie-2.5.0"
+      sources."tslib-1.14.1"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uri-js-4.4.1"
+      sources."url-parse-as-address-1.0.0"
+      sources."uuid-3.4.0"
+      sources."verror-1.10.0"
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "CDN for front-end developers";
+      homepage = "https://github.com/sintaxi/surge#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   svelte-check = nodeEnv.buildNodePackage {
     name = "svelte-check";
     packageName = "svelte-check";
-    version = "2.2.10";
+    version = "2.4.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.2.10.tgz";
-      sha512 = "UVLd/N7hUIG2v6dytofsw8MxYn2iS2hpNSglsGz9Z9b8ZfbJ5jayl4Mm1SXhNwiFs5aklG90zSBJtd7NTK8dTg==";
+      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.0"
-      sources."@types/pug-2.0.5"
+      sources."@types/node-17.0.19"
+      sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
-      sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."balanced-match-1.0.2"
       sources."binary-extensions-2.2.0"
@@ -121757,22 +122364,18 @@ in
       sources."braces-3.0.2"
       sources."buffer-crc32-0.2.13"
       sources."callsites-3.1.0"
-      sources."chalk-4.1.2"
-      sources."chokidar-3.5.2"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
+      sources."chokidar-3.5.3"
       sources."concat-map-0.0.1"
       sources."detect-indent-6.1.0"
       sources."es6-promise-3.3.1"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
-      sources."has-flag-4.0.0"
+      sources."graceful-fs-4.2.9"
       sources."import-fresh-3.3.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -121784,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"
@@ -121792,23 +122395,23 @@ in
       sources."once-1.4.0"
       sources."parent-module-1.0.1"
       sources."path-is-absolute-1.0.1"
-      sources."picomatch-2.3.0"
+      sources."picocolors-1.0.0"
+      sources."picomatch-2.3.1"
       sources."queue-microtask-1.2.3"
       sources."readdirp-3.6.0"
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-2.7.1"
       sources."run-parallel-1.2.0"
-      sources."sade-1.7.4"
+      sources."sade-1.8.1"
       sources."sander-0.5.1"
       sources."sorcery-0.10.0"
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
       sources."strip-indent-3.0.0"
-      sources."supports-color-7.2.0"
-      sources."svelte-preprocess-4.10.0"
+      sources."svelte-preprocess-4.10.3"
       sources."to-regex-range-5.0.1"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -121824,20 +122427,20 @@ in
   svelte-language-server = nodeEnv.buildNodePackage {
     name = "svelte-language-server";
     packageName = "svelte-language-server";
-    version = "0.14.15";
+    version = "0.14.22";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.15.tgz";
-      sha512 = "3FK3YzCT8fE+bL+o1VvJ61bgohpex2k3tnfgyP4fxruDPUv2qWAtdoJeS1JKqe6Y44SD6m/V7qN/HYmGmIMntQ==";
+      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.0"
-      sources."@types/pug-2.0.5"
+      sources."@types/node-17.0.19"
+      sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
       sources."balanced-match-1.0.2"
@@ -121845,21 +122448,21 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-crc32-0.2.13"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       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.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-binary-path-2.1.0"
@@ -121873,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"
@@ -121881,9 +122484,9 @@ in
       sources."once-1.4.0"
       sources."pascal-case-3.1.2"
       sources."path-is-absolute-1.0.1"
-      sources."picomatch-2.3.0"
-      sources."prettier-2.5.0"
-      sources."prettier-plugin-svelte-2.5.1"
+      sources."picomatch-2.3.1"
+      sources."prettier-2.5.1"
+      sources."prettier-plugin-svelte-2.6.0"
       sources."queue-microtask-1.2.3"
       sources."readdirp-3.6.0"
       sources."reusify-1.0.4"
@@ -121894,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.38.3"
-      sources."svelte-preprocess-4.9.8"
-      sources."svelte2tsx-0.4.11"
+      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.4"
-      sources."vscode-css-languageservice-5.1.9"
+      sources."typescript-4.5.5"
+      sources."vscode-css-languageservice-5.1.13"
       (sources."vscode-emmet-helper-2.6.4" // {
         dependencies = [
           sources."vscode-uri-2.1.2"
@@ -121908,16 +122511,21 @@ in
       })
       sources."vscode-html-languageservice-4.1.1"
       sources."vscode-jsonrpc-6.1.0-next.2"
-      sources."vscode-languageserver-7.1.0-next.4"
-      (sources."vscode-languageserver-protocol-3.17.0-next.5" // {
+      (sources."vscode-languageserver-7.1.0-next.4" // {
         dependencies = [
+          sources."vscode-languageserver-protocol-3.17.0-next.5"
           sources."vscode-languageserver-types-3.17.0-next.1"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      (sources."vscode-languageserver-protocol-3.16.0" // {
+        dependencies = [
+          sources."vscode-jsonrpc-6.0.0"
+        ];
+      })
+      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.2"
+      sources."vscode-uri-3.0.3"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -121942,7 +122550,7 @@ in
       sources."@trysound/sax-0.2.0"
       sources."boolbase-1.0.0"
       sources."commander-7.2.0"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-tree-1.1.3"
       sources."css-what-5.1.0"
       sources."csso-4.2.0"
@@ -122175,7 +122783,7 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       (sources."graphlib-2.1.8" // {
         dependencies = [
           sources."lodash-4.17.21"
@@ -122302,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"
@@ -122355,7 +122963,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."on-finished-2.3.0"
@@ -122373,7 +122981,7 @@ in
         dependencies = [
           sources."debug-3.2.7"
           sources."ms-2.1.3"
-          sources."qs-6.10.2"
+          sources."qs-6.10.3"
           sources."superagent-3.8.3"
         ];
       })
@@ -122439,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 = [
@@ -122551,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 = [
@@ -122611,15 +123219,15 @@ in
   tailwindcss = nodeEnv.buildNodePackage {
     name = "tailwindcss";
     packageName = "tailwindcss";
-    version = "3.0.6";
+    version = "3.0.23";
     src = fetchurl {
-      url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.6.tgz";
-      sha512 = "+CA2f09rbHFDsdQ1iDvsOGbF1tZFmyPoRhUeaF9/5FRT5GYObtp+UjTSCdmeDcu6T90bx4WAaOkddYFPBkjbAA==";
+      url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz";
+      sha512 = "+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -122639,21 +123247,18 @@ in
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."arg-5.0.1"
-      sources."balanced-match-1.0.2"
       sources."binary-extensions-2.2.0"
-      sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-css-2.0.1"
       sources."chalk-4.1.2"
-      (sources."chokidar-3.5.2" // {
+      (sources."chokidar-3.5.3" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."concat-map-0.0.1"
       sources."cosmiconfig-7.0.1"
       sources."cssesc-3.0.0"
       sources."defined-1.0.0"
@@ -122662,32 +123267,22 @@ in
       sources."dlv-1.1.3"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
-      (sources."fast-glob-3.2.7" // {
+      (sources."fast-glob-3.2.11" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
       })
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
-      sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."glob-7.2.0"
       sources."glob-parent-6.0.2"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."import-cwd-3.0.0"
       sources."import-fresh-3.3.0"
-      (sources."import-from-3.0.0" // {
-        dependencies = [
-          sources."resolve-from-5.0.0"
-        ];
-      })
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
       sources."is-arrayish-0.2.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-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -122697,39 +123292,34 @@ in
       sources."lines-and-columns-1.2.4"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      sources."nanoid-3.1.30"
+      sources."nanoid-3.3.1"
       sources."normalize-path-3.0.0"
       sources."object-hash-2.2.0"
-      sources."once-1.4.0"
       sources."parent-module-1.0.1"
       sources."parse-json-5.2.0"
-      sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
-      sources."postcss-8.4.5"
-      sources."postcss-js-3.0.3"
-      sources."postcss-load-config-3.1.0"
+      sources."picomatch-2.3.1"
+      sources."postcss-8.4.6"
+      sources."postcss-js-4.0.0"
+      sources."postcss-load-config-3.1.3"
       sources."postcss-nested-5.0.6"
-      sources."postcss-selector-parser-6.0.7"
+      sources."postcss-selector-parser-6.0.9"
       sources."postcss-value-parser-4.2.0"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-5.1.1"
       sources."readdirp-3.6.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
-      sources."rimraf-3.0.2"
       sources."run-parallel-1.2.0"
-      sources."source-map-js-1.0.1"
+      sources."source-map-js-1.0.2"
       sources."supports-color-7.2.0"
-      sources."tmp-0.2.1"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."util-deprecate-1.0.2"
-      sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
       sources."yaml-1.10.2"
     ];
@@ -122813,7 +123403,7 @@ in
       sources."module-alias-2.2.2"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."oauth-sign-0.9.0"
       sources."p-limit-2.3.0"
       sources."p-locate-3.0.0"
@@ -122823,7 +123413,7 @@ in
       sources."prism-media-0.0.4"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."ramda-0.25.0"
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
@@ -122835,7 +123425,7 @@ in
       sources."simple-markdown-0.4.4"
       sources."snekfetch-3.6.4"
       sources."sprintf-js-1.0.3"
-      (sources."sshpk-1.16.1" // {
+      (sources."sshpk-1.17.0" // {
         dependencies = [
           sources."tweetnacl-0.14.5"
         ];
@@ -122847,7 +123437,7 @@ in
       sources."tr46-0.0.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-1.0.3"
-      sources."typegram-3.6.2"
+      sources."typegram-3.8.0"
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
@@ -122878,7 +123468,7 @@ in
       sha1 = "bd2b3b1e3b88ad3c7471bdc8a5244255564b69e1";
     };
     dependencies = [
-      sources."node-addon-api-4.2.0"
+      sources."node-addon-api-4.3.0"
       sources."node-gyp-build-4.3.0"
       sources."q-1.5.1"
       sources."usb-1.9.2"
@@ -122913,12 +123503,12 @@ in
       sources."errno-0.1.8"
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."inflight-1.0.6"
       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"
@@ -122998,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.8.2"
+      sources."ajv-8.10.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."argparse-1.0.10"
@@ -123046,7 +123636,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-stdin-5.0.1"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-symbols-1.0.2"
@@ -123059,7 +123649,7 @@ in
       sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-date-object-1.0.5"
       sources."is-decimal-1.0.4"
       sources."is-file-1.0.0"
@@ -123108,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"
@@ -123146,14 +123736,14 @@ in
           sources."strip-bom-3.0.0"
         ];
       })
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."remark-footnotes-3.0.0"
       sources."remark-frontmatter-3.0.0"
       sources."remark-gfm-1.0.0"
       sources."remark-parse-9.0.0"
       sources."repeat-string-1.6.1"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."rimraf-2.6.3"
       sources."semver-5.7.1"
       (sources."slice-ansi-4.0.0" // {
@@ -123180,7 +123770,8 @@ in
       sources."strip-bom-2.0.0"
       sources."structured-source-3.0.2"
       sources."supports-color-2.0.0"
-      (sources."table-6.7.5" // {
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      (sources."table-6.8.0" // {
         dependencies = [
           sources."is-fullwidth-code-point-3.0.0"
           sources."string-width-4.2.3"
@@ -123255,7 +123846,7 @@ in
       sources."has-symbols-1.0.2"
       sources."match-index-1.0.3"
       sources."object-keys-1.1.1"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -123276,13 +123867,11 @@ in
       sha512 = "z/Xo1WHxAn7eueUbRLXoMNew+R3dzGENPG/yiCt/KT2WgAfRuQ7GeF855kLcnCCqdTnl6W7sYq8TKy+/DLpiqQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@textlint/ast-node-types-4.4.3"
-      sources."@textlint/types-1.5.5"
       sources."@types/hast-2.3.4"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
@@ -123388,7 +123977,7 @@ in
         ];
       })
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -123406,7 +123995,7 @@ in
       sources."hastscript-6.0.0"
       sources."hosted-git-info-2.8.9"
       sources."http-cache-semantics-4.1.0"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
@@ -123419,7 +124008,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-decimal-1.0.4"
       sources."is-empty-1.2.0"
       sources."is-fullwidth-code-point-3.0.0"
@@ -123472,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"
@@ -123535,7 +124124,7 @@ in
       sources."remark-retext-4.0.0"
       sources."remark-stringify-8.1.1"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-5.0.0"
       sources."responselike-1.0.2"
       sources."retext-english-3.0.4"
@@ -123548,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" // {
@@ -123582,14 +124171,9 @@ in
       sources."strip-json-comments-2.0.1"
       sources."structured-source-3.0.2"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."term-size-2.2.1"
-      (sources."textlint-rule-helper-2.2.0" // {
-        dependencies = [
-          sources."unist-util-is-3.0.0"
-          sources."unist-util-visit-1.4.1"
-          sources."unist-util-visit-parents-2.1.2"
-        ];
-      })
+      sources."textlint-rule-helper-2.2.1"
       sources."through-2.3.8"
       (sources."through2-2.0.0" // {
         dependencies = [
@@ -123823,7 +124407,7 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.4.3"
-      sources."@textlint/types-1.5.5"
+      sources."@types/unist-2.0.6"
       sources."boundary-1.0.1"
       sources."buffer-from-1.1.2"
       sources."concat-stream-2.0.0"
@@ -123835,11 +124419,11 @@ in
       sources."sentence-splitter-3.2.2"
       sources."string_decoder-1.3.0"
       sources."structured-source-3.0.2"
-      sources."textlint-rule-helper-2.2.0"
+      sources."textlint-rule-helper-2.2.1"
       sources."typedarray-0.0.6"
-      sources."unist-util-is-3.0.0"
-      sources."unist-util-visit-1.4.1"
-      sources."unist-util-visit-parents-2.1.2"
+      sources."unist-util-is-4.1.0"
+      sources."unist-util-visit-2.0.3"
+      sources."unist-util-visit-parents-3.1.1"
       sources."util-deprecate-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -123888,7 +124472,7 @@ in
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-weakref-1.0.2"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."side-channel-1.0.4"
@@ -123916,16 +124500,15 @@ in
       sha512 = "UW7nWrqBUHfz/sRLTFo40BNjwXOiXSHg00TJuYY4GVDQtsWRLyAsOnXSBqClP4i6wl7ejMBeYmB5mfllYAYMgA==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.4.3"
-      sources."@textlint/types-1.5.5"
+      sources."@types/unist-2.0.6"
       sources."boundary-1.0.1"
       sources."lodash-4.17.21"
       sources."split-lines-2.1.0"
       sources."structured-source-3.0.2"
-      sources."textlint-rule-helper-2.2.0"
-      sources."unist-util-is-3.0.0"
-      sources."unist-util-visit-1.4.1"
-      sources."unist-util-visit-parents-2.1.2"
+      sources."textlint-rule-helper-2.2.1"
+      sources."unist-util-is-4.1.0"
+      sources."unist-util-visit-2.0.3"
+      sources."unist-util-visit-parents-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -123946,16 +124529,15 @@ in
       sha512 = "VW+ea4ByLPddSUqoFkVVJF8zWnO8kqKwvC681wGFAjI4CYz9WhjEQH1ikhoEHXnd5AFXNArcjyoa8hoihrXy0w==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.4.3"
-      sources."@textlint/types-1.5.5"
+      sources."@types/unist-2.0.6"
       sources."boundary-1.0.1"
       sources."lodash-4.17.21"
       sources."strip-json-comments-3.1.1"
       sources."structured-source-3.0.2"
-      sources."textlint-rule-helper-2.2.0"
-      sources."unist-util-is-3.0.0"
-      sources."unist-util-visit-1.4.1"
-      sources."unist-util-visit-parents-2.1.2"
+      sources."textlint-rule-helper-2.2.1"
+      sources."unist-util-is-4.1.0"
+      sources."unist-util-visit-2.0.3"
+      sources."unist-util-visit-parents-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -124001,7 +124583,7 @@ in
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-weakref-1.0.2"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."side-channel-1.0.4"
@@ -124029,8 +124611,7 @@ in
       sha512 = "yvOJavJD+PgyUzvsoLDDzDtgCVBva/HNhEvsFnYVugrWz0qy2hr+/4B4wkzjro4wfPbwz20GQe5h13N4DeUEeA==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.4.3"
-      sources."@textlint/types-1.5.5"
+      sources."@types/unist-2.0.6"
       sources."adverb-where-0.2.5"
       sources."boundary-1.0.1"
       sources."commander-2.20.3"
@@ -124038,11 +124619,11 @@ in
       sources."no-cliches-0.3.4"
       sources."passive-voice-0.1.0"
       sources."structured-source-3.0.2"
-      sources."textlint-rule-helper-2.2.0"
+      sources."textlint-rule-helper-2.2.1"
       sources."too-wordy-0.3.4"
-      sources."unist-util-is-3.0.0"
-      sources."unist-util-visit-1.4.1"
-      sources."unist-util-visit-parents-2.1.2"
+      sources."unist-util-is-4.1.0"
+      sources."unist-util-visit-2.0.3"
+      sources."unist-util-visit-parents-3.1.1"
       sources."weasel-words-0.1.1"
       sources."write-good-1.0.8"
     ];
@@ -124065,7 +124646,7 @@ in
       sha512 = "dkVdH21q9vipV7UU10qQQprPuP8rG+IDJSHUtmOC0WDYvwYTiUC9IYLIpkyWdgfwFYegDTnnR4duHNZynqOXTA==";
     };
     dependencies = [
-      sources."@sindresorhus/is-4.2.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"
@@ -124074,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.0"
+      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"
@@ -124140,10 +124725,10 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.0"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-what-5.1.0"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
@@ -124171,9 +124756,9 @@ in
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-4.1.1" // {
+      (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"
         ];
@@ -124212,7 +124797,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
       sources."got-11.8.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."grapheme-splitter-1.0.4"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -124282,7 +124867,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.0.4"
+      sources."keyv-4.1.1"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.3.1"
       sources."linkify-it-3.0.3"
@@ -124294,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 = [
@@ -124315,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" // {
@@ -124340,7 +124929,7 @@ in
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."on-finished-2.3.0"
@@ -124379,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"
@@ -124403,7 +124992,7 @@ in
       sources."registry-url-5.1.0"
       (sources."request-2.88.2" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
           sources."uuid-3.4.0"
         ];
       })
@@ -124423,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 = [
@@ -124438,9 +125027,9 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."sqlite3-5.0.2"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
       (sources."stream-browserify-3.0.0" // {
         dependencies = [
@@ -124459,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 = [
@@ -124521,13 +125110,2484 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  thelounge-plugin-closepms = nodeEnv.buildNodePackage {
+    name = "thelounge-plugin-closepms";
+    packageName = "thelounge-plugin-closepms";
+    version = "1.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-plugin-closepms/-/thelounge-plugin-closepms-1.0.2.tgz";
+      sha512 = "o24rZwvzeMbbvuara2bGaX6eHw925aQw1BZhl7VHtY6xlWrJ9Sy7P29/Q2GQNIP4Otzcf09TX29zTBbRjKbrSA==";
+    };
+    dependencies = [
+      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/component-emitter-1.2.11"
+      sources."@types/cookie-0.4.1"
+      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.19"
+      sources."@types/responselike-1.0.0"
+      sources."abbrev-1.1.1"
+      sources."abstract-logging-2.0.1"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
+      (sources."agent-base-6.0.2" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."ajv-6.12.6"
+      sources."ansi-regex-2.1.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."string_decoder-1.1.1"
+        ];
+      })
+      sources."array-flatten-1.1.1"
+      sources."asn1-0.2.6"
+      sources."asn1.js-5.4.1"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."available-typed-arrays-1.0.5"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."backoff-2.5.0"
+      sources."balanced-match-1.0.2"
+      sources."base64-arraybuffer-0.1.4"
+      sources."base64-js-1.5.1"
+      sources."base64id-2.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bcryptjs-2.4.3"
+      sources."block-stream-0.0.9"
+      sources."bn.js-4.12.0"
+      sources."body-parser-1.19.0"
+      sources."boolbase-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-6.0.3"
+      sources."buffer-equal-constant-time-1.0.1"
+      sources."busboy-0.3.1"
+      sources."bytes-3.1.0"
+      sources."cacheable-lookup-5.0.4"
+      sources."cacheable-request-7.0.2"
+      sources."call-bind-1.0.2"
+      sources."caseless-0.12.0"
+      sources."chalk-4.1.2"
+      sources."cheerio-1.0.0-rc.10"
+      sources."cheerio-select-1.5.0"
+      sources."chownr-1.1.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."combined-stream-1.0.8"
+      sources."commander-7.2.0"
+      sources."component-emitter-1.3.0"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."content-disposition-0.5.3"
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      sources."core-js-3.21.1"
+      sources."core-util-is-1.0.2"
+      sources."cors-2.8.5"
+      sources."css-select-4.2.1"
+      sources."css-what-5.1.0"
+      sources."dashdash-1.14.1"
+      sources."debug-2.6.9"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
+      sources."deep-extend-0.6.0"
+      sources."defer-to-connect-2.0.1"
+      sources."define-properties-1.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."detect-libc-1.0.3"
+      sources."dicer-0.3.0"
+      sources."dom-serializer-1.3.2"
+      sources."domelementtype-2.2.0"
+      sources."domhandler-4.3.0"
+      sources."domutils-2.8.0"
+      sources."duplexer3-0.1.4"
+      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."end-of-stream-1.4.4"
+      (sources."engine.io-4.1.2" // {
+        dependencies = [
+          sources."cookie-0.4.2"
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."engine.io-parser-4.0.3"
+      sources."entities-2.2.0"
+      sources."es-abstract-1.19.1"
+      sources."es-to-primitive-1.2.1"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."etag-1.8.1"
+      sources."eventemitter3-4.0.7"
+      sources."express-4.17.1"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.4.1"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-text-encoding-1.0.3"
+      sources."file-type-16.2.0"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-4.2.0"
+      sources."finalhandler-1.1.2"
+      sources."foreach-2.0.5"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."forwarded-0.2.0"
+      sources."fresh-0.5.2"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."fstream-1.0.12"
+      sources."function-bind-1.1.1"
+      sources."gauge-2.7.4"
+      sources."get-intrinsic-1.1.1"
+      sources."get-stream-5.2.0"
+      sources."get-symbol-description-1.0.0"
+      sources."getpass-0.1.7"
+      sources."glob-7.2.0"
+      sources."got-11.8.2"
+      sources."graceful-fs-4.2.9"
+      sources."grapheme-splitter-1.0.4"
+      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-4.0.0"
+      sources."has-symbols-1.0.2"
+      sources."has-tostringtag-1.0.0"
+      sources."has-unicode-2.0.1"
+      sources."htmlparser2-6.1.0"
+      sources."http-cache-semantics-4.1.0"
+      sources."http-errors-1.7.2"
+      sources."http-signature-1.2.0"
+      sources."http2-wrapper-1.0.3"
+      sources."http_ece-1.1.0"
+      (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."ieee754-1.2.1"
+      sources."ignore-walk-3.0.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.8"
+      sources."internal-slot-1.0.3"
+      sources."ip-1.1.5"
+      sources."ipaddr.js-1.9.1"
+      (sources."irc-framework-4.11.0" // {
+        dependencies = [
+          sources."iconv-lite-0.6.3"
+        ];
+      })
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-generator-function-1.0.10"
+      sources."is-negative-zero-2.0.2"
+      sources."is-number-object-1.0.6"
+      sources."is-regex-1.1.4"
+      sources."is-shared-array-buffer-1.0.1"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.8"
+      sources."is-typedarray-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."is-weakref-1.0.2"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isomorphic-textencoder-1.0.1"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-buffer-3.0.1"
+      sources."json-schema-0.4.0"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      (sources."jsprim-1.4.2" // {
+        dependencies = [
+          sources."extsprintf-1.3.0"
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."jwa-2.0.0"
+      sources."jws-4.0.0"
+      sources."keyv-4.1.1"
+      sources."ldap-filter-0.3.3"
+      sources."ldapjs-2.3.1"
+      sources."linkify-it-3.0.3"
+      sources."lodash-4.17.21"
+      sources."lowercase-keys-2.0.0"
+      sources."lru-cache-6.0.0"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."middleware-handler-0.2.0"
+      sources."mime-1.6.0"
+      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.1.2"
+      sources."minimist-1.2.5"
+      (sources."minipass-2.9.0" // {
+        dependencies = [
+          sources."yallist-3.1.1"
+        ];
+      })
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.5"
+      sources."ms-2.0.0"
+      sources."mute-stream-0.0.8"
+      (sources."needle-2.9.1" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."negotiator-0.6.3"
+      sources."node-addon-api-3.2.1"
+      sources."node-forge-0.10.0"
+      (sources."node-gyp-3.8.0" // {
+        dependencies = [
+          sources."nopt-3.0.6"
+          sources."semver-5.3.0"
+          sources."tar-2.2.2"
+        ];
+      })
+      (sources."node-pre-gyp-0.11.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."nopt-4.0.3"
+      sources."normalize-url-6.1.0"
+      sources."npm-bundled-1.1.2"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.8"
+      sources."npmlog-4.1.2"
+      sources."nth-check-2.0.1"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."object-inspect-1.12.0"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
+      sources."on-finished-2.3.0"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-cancelable-2.1.1"
+      sources."p-finally-1.0.0"
+      sources."p-try-2.2.0"
+      (sources."package-json-6.5.0" // {
+        dependencies = [
+          sources."@sindresorhus/is-0.14.0"
+          sources."@szmarczak/http-timer-1.1.2"
+          (sources."cacheable-request-6.1.0" // {
+            dependencies = [
+              sources."get-stream-5.2.0"
+              sources."lowercase-keys-2.0.0"
+            ];
+          })
+          sources."decompress-response-3.3.0"
+          sources."defer-to-connect-1.1.3"
+          sources."get-stream-4.1.0"
+          sources."got-9.6.0"
+          sources."json-buffer-3.0.0"
+          sources."keyv-3.1.0"
+          sources."lowercase-keys-1.0.1"
+          sources."normalize-url-4.5.1"
+          sources."p-cancelable-1.1.0"
+          sources."responselike-1.0.2"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."parse5-6.0.1"
+      sources."parse5-htmlparser2-tree-adapter-6.0.1"
+      sources."parseurl-1.3.3"
+      sources."path-is-absolute-1.0.1"
+      sources."path-to-regexp-0.1.7"
+      sources."peek-readable-4.1.0"
+      sources."performance-now-2.1.0"
+      sources."pify-4.0.1"
+      sources."precond-0.2.3"
+      sources."prepend-http-2.0.0"
+      sources."process-nextick-args-2.0.1"
+      sources."proxy-addr-2.0.7"
+      sources."psl-1.8.0"
+      sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.7.0"
+      sources."quick-lru-5.1.1"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.0"
+      sources."rc-1.2.8"
+      sources."read-1.0.7"
+      sources."read-chunk-3.2.0"
+      sources."readable-stream-3.6.0"
+      sources."readable-web-to-node-stream-3.0.2"
+      sources."regenerator-runtime-0.13.9"
+      sources."registry-auth-token-4.2.1"
+      sources."registry-url-5.1.0"
+      (sources."request-2.88.2" // {
+        dependencies = [
+          sources."qs-6.5.3"
+          sources."uuid-3.4.0"
+        ];
+      })
+      sources."resolve-alpn-1.2.1"
+      sources."responselike-2.0.0"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-7.3.5"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
+      sources."setprototypeof-1.1.1"
+      sources."side-channel-1.0.4"
+      sources."signal-exit-3.0.7"
+      sources."smart-buffer-4.2.0"
+      (sources."socket.io-3.1.2" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."socket.io-adapter-2.1.0"
+      (sources."socket.io-parser-4.0.4" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."socks-2.6.2"
+      sources."sqlite3-5.0.2"
+      sources."sshpk-1.17.0"
+      sources."statuses-1.5.0"
+      (sources."stream-browserify-3.0.0" // {
+        dependencies = [
+          sources."inherits-2.0.4"
+        ];
+      })
+      sources."streamsearch-0.1.2"
+      sources."string-width-1.0.2"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
+      (sources."string_decoder-1.3.0" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."strip-outer-1.0.1"
+      sources."strtok3-6.3.0"
+      sources."supports-color-7.2.0"
+      (sources."tar-4.4.19" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+          sources."yallist-3.1.1"
+        ];
+      })
+      sources."thelounge-4.3.0"
+      sources."tlds-1.216.0"
+      sources."to-readable-stream-1.0.0"
+      sources."toidentifier-1.0.0"
+      (sources."token-types-2.1.1" // {
+        dependencies = [
+          sources."@tokenizer/token-0.1.1"
+        ];
+      })
+      sources."tough-cookie-2.5.0"
+      sources."trim-repeated-1.0.0"
+      sources."tslib-2.3.1"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-is-1.6.18"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."ua-parser-js-0.7.30"
+      sources."uc.micro-1.0.6"
+      sources."unbox-primitive-1.0.1"
+      sources."unpipe-1.0.0"
+      sources."uri-js-4.4.1"
+      sources."url-parse-lax-3.0.0"
+      sources."urlsafe-base64-1.0.0"
+      sources."util-0.12.4"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.1"
+      sources."uuid-8.3.2"
+      sources."vary-1.1.2"
+      (sources."vasync-2.2.1" // {
+        dependencies = [
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."verror-1.10.1"
+      sources."web-push-3.4.5"
+      sources."which-1.3.1"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-typed-array-1.1.7"
+      sources."wide-align-1.1.5"
+      sources."with-open-file-0.1.7"
+      sources."wrappy-1.0.2"
+      sources."ws-7.4.6"
+      sources."yallist-4.0.0"
+      sources."yarn-1.22.10"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The Lounge plugin to close all PMs on a network";
+      homepage = "https://github.com/alyx/thelounge-plugin-closepms#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-plugin-giphy = nodeEnv.buildNodePackage {
+    name = "thelounge-plugin-giphy";
+    packageName = "thelounge-plugin-giphy";
+    version = "1.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-plugin-giphy/-/thelounge-plugin-giphy-1.0.2.tgz";
+      sha512 = "X4z5CHFrQwltRfsPlUPZfLHW7PK8LS5eb7aq8Hx0IxP9AIIwgQeqKhSH0myJ5o3e6KYzrN7IY+/ZiUWxt+nqOQ==";
+    };
+    dependencies = [
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."abbrev-1.1.1"
+      sources."abstract-logging-1.0.0"
+      (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"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-3.2.1"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        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."array-flatten-1.1.1"
+      sources."arraybuffer.slice-0.0.7"
+      sources."asn1-0.2.6"
+      sources."asn1.js-5.4.1"
+      sources."assert-plus-1.0.0"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."axios-0.19.2"
+      sources."backo2-1.0.2"
+      sources."backoff-2.5.0"
+      sources."balanced-match-1.0.2"
+      sources."base64-arraybuffer-0.1.4"
+      sources."base64id-2.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bcryptjs-2.4.3"
+      sources."better-assert-1.0.2"
+      sources."blob-0.0.5"
+      sources."bn.js-4.12.0"
+      (sources."body-parser-1.19.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."qs-6.7.0"
+        ];
+      })
+      sources."boolbase-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-equal-constant-time-1.0.1"
+      sources."busboy-0.3.1"
+      sources."bytes-3.1.0"
+      (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."callsite-1.0.0"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.2"
+      sources."cheerio-0.22.0"
+      sources."chownr-1.1.4"
+      sources."clone-response-1.0.2"
+      sources."code-point-at-1.1.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.8"
+      sources."commander-3.0.2"
+      sources."component-bind-1.0.0"
+      sources."component-emitter-1.2.1"
+      sources."component-inherit-0.0.3"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      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"
+      sources."dashdash-1.14.1"
+      sources."debug-3.1.0"
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.6.0"
+      sources."defer-to-connect-1.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."detect-libc-1.0.3"
+      sources."dicer-0.3.0"
+      sources."dom-serializer-0.1.1"
+      sources."domelementtype-1.3.1"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.5.1"
+      sources."duplexer3-0.1.4"
+      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."end-of-stream-1.4.4"
+      (sources."engine.io-3.4.2" // {
+        dependencies = [
+          sources."cookie-0.3.1"
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."engine.io-client-3.4.4" // {
+        dependencies = [
+          sources."component-emitter-1.3.0"
+          sources."parseqs-0.0.6"
+          sources."parseuri-0.0.6"
+          sources."ws-6.1.4"
+        ];
+      })
+      sources."engine.io-parser-2.2.1"
+      sources."entities-1.1.2"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."etag-1.8.1"
+      sources."eventemitter3-2.0.3"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."qs-6.7.0"
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."extend-3.0.2"
+      sources."extsprintf-1.4.1"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-text-encoding-1.0.3"
+      sources."file-type-12.3.1"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-4.1.0"
+      (sources."finalhandler-1.1.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."follow-redirects-1.5.10"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."forwarded-0.2.0"
+      sources."fresh-0.5.2"
+      sources."fs-extra-8.1.0"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."gauge-2.7.4"
+      sources."get-intrinsic-1.1.1"
+      sources."get-stream-4.1.0"
+      sources."getpass-0.1.7"
+      sources."glob-7.2.0"
+      sources."got-9.6.0"
+      sources."graceful-fs-4.2.9"
+      sources."grapheme-splitter-1.0.4"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.5"
+      sources."has-1.0.3"
+      sources."has-binary2-1.0.3"
+      sources."has-cors-1.1.0"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.2"
+      sources."has-unicode-2.0.1"
+      sources."htmlparser2-3.10.1"
+      sources."http-cache-semantics-4.1.0"
+      (sources."http-errors-1.7.2" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."http-signature-1.2.0"
+      sources."http_ece-1.1.0"
+      sources."https-proxy-agent-3.0.1"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-walk-3.0.4"
+      sources."indexof-0.0.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."ipaddr.js-1.9.1"
+      sources."irc-framework-4.4.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."isarray-2.0.1"
+      sources."isomorphic-textencoder-1.0.1"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-buffer-3.0.0"
+      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" // {
+        dependencies = [
+          sources."extsprintf-1.3.0"
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."jwa-1.4.1"
+      sources."jws-3.2.2"
+      sources."keyv-3.1.0"
+      sources."ldap-filter-0.3.3"
+      sources."ldapjs-2.0.0-pre.2"
+      sources."linkify-it-2.2.0"
+      sources."lodash-4.17.15"
+      sources."lodash.assignin-4.2.0"
+      sources."lodash.bind-4.2.1"
+      sources."lodash.defaults-4.2.0"
+      sources."lodash.filter-4.6.0"
+      sources."lodash.flatten-4.4.0"
+      sources."lodash.foreach-4.5.0"
+      sources."lodash.map-4.6.0"
+      sources."lodash.merge-4.6.2"
+      sources."lodash.pick-4.4.0"
+      sources."lodash.reduce-4.6.0"
+      sources."lodash.reject-4.6.0"
+      sources."lodash.some-4.6.0"
+      sources."lowercase-keys-1.0.1"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."middleware-handler-0.2.0"
+      sources."mime-1.6.0"
+      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.1.2"
+      sources."minimist-1.2.5"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.5"
+      sources."ms-2.0.0"
+      sources."mute-stream-0.0.8"
+      sources."nan-2.15.0"
+      (sources."needle-2.9.1" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."negotiator-0.6.3"
+      (sources."node-pre-gyp-0.11.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."nopt-4.0.3"
+      sources."normalize-url-4.5.1"
+      sources."npm-bundled-1.1.2"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.8"
+      sources."npmlog-4.1.2"
+      sources."nth-check-1.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."object-component-0.0.3"
+      sources."object-inspect-1.12.0"
+      sources."on-finished-2.3.0"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-cancelable-1.1.0"
+      sources."p-finally-1.0.0"
+      sources."p-try-2.2.0"
+      sources."package-json-6.5.0"
+      sources."parseqs-0.0.5"
+      sources."parseuri-0.0.5"
+      sources."parseurl-1.3.3"
+      sources."path-is-absolute-1.0.1"
+      sources."path-to-regexp-0.1.7"
+      sources."performance-now-2.1.0"
+      sources."pify-4.0.1"
+      sources."precond-0.2.3"
+      sources."prepend-http-2.0.0"
+      sources."process-nextick-args-2.0.1"
+      sources."proxy-addr-2.0.7"
+      sources."psl-1.8.0"
+      sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.10.3"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.0"
+      sources."rc-1.2.8"
+      sources."read-1.0.7"
+      sources."read-chunk-3.2.0"
+      sources."readable-stream-3.6.0"
+      sources."regenerator-runtime-0.13.9"
+      sources."registry-auth-token-4.2.1"
+      sources."registry-url-5.1.0"
+      (sources."request-2.88.2" // {
+        dependencies = [
+          sources."qs-6.5.3"
+        ];
+      })
+      sources."responselike-1.0.2"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-6.3.0"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
+      sources."setprototypeof-1.1.1"
+      sources."side-channel-1.0.4"
+      sources."signal-exit-3.0.7"
+      (sources."socket.io-2.3.0" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."socket.io-adapter-1.1.2"
+      (sources."socket.io-client-2.3.0" // {
+        dependencies = [
+          sources."base64-arraybuffer-0.1.5"
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+          (sources."socket.io-parser-3.3.2" // {
+            dependencies = [
+              sources."component-emitter-1.3.0"
+              sources."debug-3.1.0"
+              sources."ms-2.0.0"
+            ];
+          })
+        ];
+      })
+      (sources."socket.io-parser-3.4.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."socksjs-0.5.0" // {
+        dependencies = [
+          sources."ipaddr.js-0.1.3"
+        ];
+      })
+      sources."sqlite3-4.1.0"
+      sources."sshpk-1.17.0"
+      sources."statuses-1.5.0"
+      sources."streamsearch-0.1.2"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."strip-outer-1.0.1"
+      sources."supports-color-5.5.0"
+      sources."tar-4.4.19"
+      sources."thelounge-3.3.0"
+      sources."tlds-1.203.1"
+      sources."to-array-0.1.4"
+      sources."to-readable-stream-1.0.0"
+      sources."toidentifier-1.0.0"
+      sources."tough-cookie-2.5.0"
+      sources."trim-repeated-1.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-is-1.6.18"
+      sources."ua-parser-js-0.7.20"
+      sources."uc.micro-1.0.6"
+      sources."universalify-0.1.2"
+      sources."unpipe-1.0.0"
+      sources."uri-js-4.4.1"
+      sources."url-parse-lax-3.0.0"
+      sources."urlsafe-base64-1.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.1"
+      sources."uuid-3.3.3"
+      sources."vary-1.1.2"
+      (sources."vasync-2.2.1" // {
+        dependencies = [
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."verror-1.10.1"
+      sources."web-push-3.4.1"
+      sources."wide-align-1.1.5"
+      sources."with-open-file-0.1.7"
+      sources."wrappy-1.0.2"
+      sources."ws-7.5.7"
+      sources."xmlhttprequest-ssl-1.5.5"
+      sources."yallist-3.1.1"
+      sources."yarn-1.19.1"
+      sources."yeast-0.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simple plugin for the irc client thelounge that allows you to quickly look up giphy-gifs";
+      homepage = "https://minidigger.github.io/thelounge-plugin-giphy";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-plugin-shortcuts = nodeEnv.buildNodePackage {
+    name = "thelounge-plugin-shortcuts";
+    packageName = "thelounge-plugin-shortcuts";
+    version = "1.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-plugin-shortcuts/-/thelounge-plugin-shortcuts-1.1.1.tgz";
+      sha512 = "ca9+lsfl3rrdrWJkGsRupsoqVElAyMk/g5KyUPZLrsEcj00pYq4g8Iyfw7iscslYlS0eHnwjK6sJwk9vd15LkA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simple plugin for the irc client thelounge that allows you to register shortcuts/aliases for commands";
+      homepage = "https://minidigger.github.io/thelounge-plugin-shortcuts";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-abyss = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-abyss";
+    packageName = "thelounge-theme-abyss";
+    version = "2.0.2";
+    src = fetchurl {
+      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/rj45man/thelounge-theme-abyss";
+      license = "GPL-3";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-amoled = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-amoled";
+    packageName = "thelounge-theme-amoled";
+    version = "1.0.17";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-amoled/-/thelounge-theme-amoled-1.0.17.tgz";
+      sha512 = "s6+OyYbwIhYJG5VVAmUyDR3WvN4bqW2POPK33aeXpvoX9uW1gr2YDcD2ZGuCdo6H7Wteie6JHIRGRroFWok6SA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Black theme suitable for AMOLED displays";
+      homepage = "https://github.com/realies/thelounge-theme-amoled";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-amoled-sourcecodepro = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-amoled-sourcecodepro";
+    packageName = "thelounge-theme-amoled-sourcecodepro";
+    version = "1.0.16";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-amoled-sourcecodepro/-/thelounge-theme-amoled-sourcecodepro-1.0.16.tgz";
+      sha512 = "zDP2OS8NXym/qSOm36+7dhwxab7mLiZp+7FLVFChhWzrVQY9BzNIg5QeuZfQ8zKwcPgEZp4U4aWcGHe+G2iQ3g==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Black theme suitable for AMOLED displays - with Source Code Pro";
+      homepage = "https://github.com/gryffyn/thelounge-theme-amoled";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-bdefault = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-bdefault";
+    packageName = "thelounge-theme-bdefault";
+    version = "1.0.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-bdefault/-/thelounge-theme-bdefault-1.0.6.tgz";
+      sha512 = "Z71KJpp1Td9auRiRz9uCSk+d7bU/7MvPfxejslUQiiWlFjO5ufSR7O/PXis+MqDZAucgd1x3z0rWvcd+Nl/cDw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A bdefault theme";
+      homepage = "https://github.com/lemos1235/thelounge-theme-bdefault";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-bmorning = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-bmorning";
+    packageName = "thelounge-theme-bmorning";
+    version = "1.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-bmorning/-/thelounge-theme-bmorning-1.0.2.tgz";
+      sha512 = "OMBpJ/KntSWAd2gv1VQaVzdOOFTwplYA8xPisibv5tJf+DqyHbynD1sg3jcMoDuwGkzSrzHvquKypIDbMIAGrQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A bmorning theme";
+      homepage = "https://github.com/lemos1235/thelounge-theme-bmorning";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-chord = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-chord";
+    packageName = "thelounge-theme-chord";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-chord/-/thelounge-theme-chord-1.0.1.tgz";
+      sha512 = "Y9nr1ZIUAGFyDBRCXmJcZ93pEWdjzfvyFvg+4X0hPC/+mn1QmE5nfx060ExCNRY4uKl1T0muWV89X4B2FAVoHg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Darkly elegant theme for The Lounge";
+      homepage = "https://github.com/easymac/thelounge-theme-chord";
+      license = "GPL-3.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-classic = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-classic";
+    packageName = "thelounge-theme-classic";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-classic/-/thelounge-theme-classic-1.0.0.tgz";
+      sha512 = "EA3zOFRxn65GEfSMHnjpViW9w3xRRBGJMyFGN83FtlHB1iWOl9J0MRI0t4ATlgb7m1rYdfFStbTEErMPXSj+NA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Classic theme for The Lounge, to get a v2 look with The Lounge v3";
+      homepage = "https://github.com/thelounge/thelounge-theme-classic";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-common = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-common";
+    packageName = "thelounge-theme-common";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-common/-/thelounge-theme-common-1.0.0.tgz";
+      sha512 = "bfZzLpKp0RqC6hzpmSVOIrQMJiMPZPq+1MP2WatE17j1cayMqljYGGH/9yBd+pt3NYb7+KZtzfS8tKUxd6g9LQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A common theme";
+      homepage = "https://github.com/lemos1235/thelounge-theme-common";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-crypto = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-crypto";
+    packageName = "thelounge-theme-crypto";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-crypto/-/thelounge-theme-crypto-1.0.0.tgz";
+      sha512 = "cAiMnibVftOzvhqkSHR/5WceQ7OKKD75YGZq6u/1ebP2QPMO6tJJklzynPxAKlReoThUayJX/4FvPTp/bG1MPw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Retro & high-contrast theme for The Lounge";
+      homepage = "https://github.com/thelounge/thelounge-theme-crypto#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-discordapp = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-discordapp";
+    packageName = "thelounge-theme-discordapp";
+    version = "1.1.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-discordapp/-/thelounge-theme-discordapp-1.1.2.tgz";
+      sha512 = "1ldF19pKboDbeDdxRYrbHrr+lBTtHa4f2X9ygCzD0QoLAoIz46mghH7ZeGgmiqAj1vD/iqkY5KFKRdRX6cpS/A==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A discordapp like theme for thelounge";
+      homepage = "https://github.com/Minion3665/thelounge-theme-discordapp";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-dracula = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-dracula";
+    packageName = "thelounge-theme-dracula";
+    version = "1.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-dracula/-/thelounge-theme-dracula-1.1.1.tgz";
+      sha512 = "CSh4ffPinIm4IluS7gLRjSa6VgLvBRBQ/RXbh6n8g0aGeQ7H6m4v1QeOfYiCHBBd/ipAAxseW5WvTN3qJiwwoA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Dracula theme for thelounge";
+      homepage = "https://github.com/SpaceLenore/thelounge-theme-dracula";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-dracula-official = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-dracula-official";
+    packageName = "thelounge-theme-dracula-official";
+    version = "1.0.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-dracula-official/-/thelounge-theme-dracula-official-1.0.3.tgz";
+      sha512 = "Dar4BLNVkmiKXZeZZ3IukVm3QHYAeYMn7tj0+6VBuASl4q18h9b5QExiVLM2kEsIoS47LkgqeMsrUQW0FDKKZA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<a href=\"https://yarn.pm/thelounge-theme-dracula-official\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/thelounge-theme-dracula-official.svg?style=flat-square\"></a> <a href=\"https://npm-stat.com/charts.html?package=thelounge-theme-dracula-offi";
+      homepage = "https://draculatheme.com/thelounge";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-flat-blue = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-flat-blue";
+    packageName = "thelounge-theme-flat-blue";
+    version = "1.5.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-flat-blue/-/thelounge-theme-flat-blue-1.5.6.tgz";
+      sha512 = "0ABfoUOO5IIBAKaxxTvIq9a632LmUUJeEG8uuzep/QOJBKNLj7slWN40XjhnDVpR5TFuEaBcDL332I5Ilw8RgQ==";
+    };
+    dependencies = [
+      sources."@sindresorhus/is-3.1.2"
+      sources."@szmarczak/http-timer-4.0.6"
+      sources."@tokenizer/token-0.3.0"
+      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.19"
+      sources."@types/responselike-1.0.0"
+      sources."abbrev-1.1.1"
+      sources."abstract-logging-2.0.1"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
+      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."ansi-regex-2.1.1"
+      sources."ansi-styles-4.3.0"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        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."array-flatten-1.1.1"
+      sources."arraybuffer.slice-0.0.7"
+      sources."asn1-0.2.6"
+      sources."asn1.js-5.4.1"
+      sources."assert-plus-1.0.0"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."backo2-1.0.2"
+      sources."backoff-2.5.0"
+      sources."balanced-match-1.0.2"
+      sources."base64-arraybuffer-0.1.4"
+      sources."base64id-2.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bcryptjs-2.4.3"
+      sources."better-assert-1.0.2"
+      sources."blob-0.0.5"
+      sources."block-stream-0.0.9"
+      sources."bn.js-4.12.0"
+      sources."body-parser-1.19.0"
+      sources."boolbase-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-equal-constant-time-1.0.1"
+      sources."busboy-0.3.1"
+      sources."bytes-3.1.0"
+      sources."cacheable-lookup-5.0.4"
+      sources."cacheable-request-7.0.2"
+      sources."callsite-1.0.0"
+      sources."caseless-0.12.0"
+      sources."chalk-4.1.0"
+      sources."cheerio-1.0.0-rc.3"
+      sources."chownr-1.1.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."combined-stream-1.0.8"
+      sources."commander-6.0.0"
+      sources."component-bind-1.0.0"
+      sources."component-emitter-1.2.1"
+      sources."component-inherit-0.0.3"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      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"
+      sources."dashdash-1.14.1"
+      sources."debug-2.6.9"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
+      sources."deep-extend-0.6.0"
+      sources."defer-to-connect-2.0.1"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."detect-libc-1.0.3"
+      sources."dicer-0.3.0"
+      sources."dom-serializer-0.1.1"
+      sources."domelementtype-1.3.1"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.5.1"
+      sources."duplexer3-0.1.4"
+      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."end-of-stream-1.4.4"
+      (sources."engine.io-3.4.2" // {
+        dependencies = [
+          sources."cookie-0.3.1"
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."engine.io-client-3.4.4" // {
+        dependencies = [
+          sources."component-emitter-1.3.0"
+          sources."debug-3.1.0"
+          sources."parseqs-0.0.6"
+          sources."parseuri-0.0.6"
+          sources."ws-6.1.4"
+        ];
+      })
+      sources."engine.io-parser-2.2.1"
+      sources."entities-1.1.2"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."etag-1.8.1"
+      sources."eventemitter3-4.0.7"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."extend-3.0.2"
+      sources."extsprintf-1.4.1"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-text-encoding-1.0.3"
+      sources."file-type-14.7.1"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-4.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."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."fstream-1.0.12"
+      sources."gauge-2.7.4"
+      sources."get-stream-5.2.0"
+      sources."getpass-0.1.7"
+      sources."glob-7.2.0"
+      sources."got-11.5.2"
+      sources."graceful-fs-4.2.9"
+      sources."grapheme-splitter-1.0.4"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.5"
+      sources."has-binary2-1.0.3"
+      sources."has-cors-1.1.0"
+      sources."has-flag-4.0.0"
+      sources."has-unicode-2.0.1"
+      sources."htmlparser2-3.10.1"
+      sources."http-cache-semantics-4.1.0"
+      (sources."http-errors-1.7.2" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."http-signature-1.2.0"
+      sources."http2-wrapper-1.0.3"
+      sources."http_ece-1.1.0"
+      (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."ieee754-1.2.1"
+      sources."ignore-walk-3.0.4"
+      sources."indexof-0.0.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."ipaddr.js-1.9.1"
+      (sources."irc-framework-4.9.0" // {
+        dependencies = [
+          sources."iconv-lite-0.6.3"
+        ];
+      })
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."isarray-2.0.1"
+      sources."isexe-2.0.0"
+      sources."isomorphic-textencoder-1.0.1"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-buffer-3.0.1"
+      sources."json-schema-0.4.0"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      (sources."jsprim-1.4.2" // {
+        dependencies = [
+          sources."extsprintf-1.3.0"
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."jwa-2.0.0"
+      sources."jws-4.0.0"
+      sources."keyv-4.1.1"
+      sources."ldap-filter-0.3.3"
+      sources."ldapjs-2.1.1"
+      sources."linkify-it-3.0.2"
+      sources."lodash-4.17.20"
+      sources."lowercase-keys-2.0.0"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."middleware-handler-0.2.0"
+      sources."mime-1.6.0"
+      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.1.2"
+      sources."minimist-1.2.5"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.5"
+      sources."ms-2.0.0"
+      sources."mute-stream-0.0.8"
+      (sources."needle-2.9.1" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."negotiator-0.6.3"
+      sources."node-addon-api-2.0.0"
+      sources."node-forge-0.9.1"
+      (sources."node-gyp-3.8.0" // {
+        dependencies = [
+          sources."nopt-3.0.6"
+          sources."semver-5.3.0"
+          sources."tar-2.2.2"
+        ];
+      })
+      (sources."node-pre-gyp-0.11.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."nopt-4.0.3"
+      sources."normalize-url-6.1.0"
+      sources."npm-bundled-1.1.2"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.8"
+      sources."npmlog-4.1.2"
+      sources."nth-check-1.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."object-component-0.0.3"
+      sources."on-finished-2.3.0"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-cancelable-2.1.1"
+      sources."p-finally-1.0.0"
+      sources."p-try-2.2.0"
+      (sources."package-json-6.5.0" // {
+        dependencies = [
+          sources."@sindresorhus/is-0.14.0"
+          sources."@szmarczak/http-timer-1.1.2"
+          (sources."cacheable-request-6.1.0" // {
+            dependencies = [
+              sources."get-stream-5.2.0"
+              sources."lowercase-keys-2.0.0"
+            ];
+          })
+          sources."decompress-response-3.3.0"
+          sources."defer-to-connect-1.1.3"
+          sources."get-stream-4.1.0"
+          sources."got-9.6.0"
+          sources."json-buffer-3.0.0"
+          sources."keyv-3.1.0"
+          sources."lowercase-keys-1.0.1"
+          sources."normalize-url-4.5.1"
+          sources."p-cancelable-1.1.0"
+          sources."responselike-1.0.2"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."parse5-3.0.3"
+      sources."parseqs-0.0.5"
+      sources."parseuri-0.0.5"
+      sources."parseurl-1.3.3"
+      sources."path-is-absolute-1.0.1"
+      sources."path-to-regexp-0.1.7"
+      sources."peek-readable-4.1.0"
+      sources."performance-now-2.1.0"
+      sources."pify-4.0.1"
+      sources."precond-0.2.3"
+      sources."prepend-http-2.0.0"
+      sources."process-nextick-args-2.0.1"
+      sources."proxy-addr-2.0.7"
+      sources."psl-1.8.0"
+      sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.7.0"
+      sources."quick-lru-5.1.1"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.0"
+      sources."rc-1.2.8"
+      sources."read-1.0.7"
+      sources."read-chunk-3.2.0"
+      sources."readable-stream-3.6.0"
+      sources."readable-web-to-node-stream-2.0.0"
+      sources."regenerator-runtime-0.13.9"
+      sources."registry-auth-token-4.2.1"
+      sources."registry-url-5.1.0"
+      (sources."request-2.88.2" // {
+        dependencies = [
+          sources."qs-6.5.3"
+          sources."uuid-3.4.0"
+        ];
+      })
+      sources."resolve-alpn-1.2.1"
+      sources."responselike-2.0.0"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-7.3.2"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
+      sources."setprototypeof-1.1.1"
+      sources."signal-exit-3.0.7"
+      (sources."socket.io-2.3.0" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."socket.io-adapter-1.1.2"
+      (sources."socket.io-client-2.3.0" // {
+        dependencies = [
+          sources."base64-arraybuffer-0.1.5"
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+          (sources."socket.io-parser-3.3.2" // {
+            dependencies = [
+              sources."component-emitter-1.3.0"
+              sources."debug-3.1.0"
+              sources."ms-2.0.0"
+            ];
+          })
+        ];
+      })
+      (sources."socket.io-parser-3.4.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."socksjs-0.5.0" // {
+        dependencies = [
+          sources."ipaddr.js-0.1.3"
+        ];
+      })
+      sources."sqlite3-5.0.0"
+      sources."sshpk-1.17.0"
+      sources."statuses-1.5.0"
+      sources."streamsearch-0.1.2"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."strip-outer-1.0.1"
+      sources."strtok3-6.3.0"
+      sources."supports-color-7.2.0"
+      sources."tar-4.4.19"
+      sources."thelounge-4.2.0"
+      sources."tlds-1.208.0"
+      sources."to-array-0.1.4"
+      sources."to-readable-stream-1.0.0"
+      sources."toidentifier-1.0.0"
+      (sources."token-types-2.1.1" // {
+        dependencies = [
+          sources."@tokenizer/token-0.1.1"
+        ];
+      })
+      sources."tough-cookie-2.5.0"
+      sources."trim-repeated-1.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-is-1.6.18"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."ua-parser-js-0.7.21"
+      sources."uc.micro-1.0.6"
+      sources."unpipe-1.0.0"
+      sources."uri-js-4.4.1"
+      sources."url-parse-lax-3.0.0"
+      sources."urlsafe-base64-1.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.1"
+      sources."uuid-8.3.0"
+      sources."vary-1.1.2"
+      (sources."vasync-2.2.1" // {
+        dependencies = [
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."verror-1.10.1"
+      sources."web-push-3.4.4"
+      sources."which-1.3.1"
+      sources."wide-align-1.1.5"
+      sources."with-open-file-0.1.7"
+      sources."wrappy-1.0.2"
+      sources."ws-7.5.7"
+      sources."xmlhttprequest-ssl-1.5.5"
+      sources."yallist-3.1.1"
+      sources."yarn-1.22.4"
+      sources."yeast-0.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple flat theme with blue colours";
+      homepage = "https://github.com/aab12345/thelounge-theme-flat-blue/";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-flat-dark = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-flat-dark";
+    packageName = "thelounge-theme-flat-dark";
+    version = "1.5.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-flat-dark/-/thelounge-theme-flat-dark-1.5.6.tgz";
+      sha512 = "y7bZF5REdsjqDj1g5HTNrqKBEoMwQnuglTQDj8Q3hwHt0LqrHPVyaSVz4YxQwi77xPkcOCBdgPfzlo8jY3qGqQ==";
+    };
+    dependencies = [
+      sources."@sindresorhus/is-3.1.2"
+      sources."@szmarczak/http-timer-4.0.6"
+      sources."@tokenizer/token-0.3.0"
+      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.19"
+      sources."@types/responselike-1.0.0"
+      sources."abbrev-1.1.1"
+      sources."abstract-logging-2.0.1"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
+      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."ansi-regex-2.1.1"
+      sources."ansi-styles-4.3.0"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        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."array-flatten-1.1.1"
+      sources."arraybuffer.slice-0.0.7"
+      sources."asn1-0.2.6"
+      sources."asn1.js-5.4.1"
+      sources."assert-plus-1.0.0"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."backo2-1.0.2"
+      sources."backoff-2.5.0"
+      sources."balanced-match-1.0.2"
+      sources."base64-arraybuffer-0.1.4"
+      sources."base64id-2.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bcryptjs-2.4.3"
+      sources."better-assert-1.0.2"
+      sources."blob-0.0.5"
+      sources."block-stream-0.0.9"
+      sources."bn.js-4.12.0"
+      sources."body-parser-1.19.0"
+      sources."boolbase-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-equal-constant-time-1.0.1"
+      sources."busboy-0.3.1"
+      sources."bytes-3.1.0"
+      sources."cacheable-lookup-5.0.4"
+      sources."cacheable-request-7.0.2"
+      sources."callsite-1.0.0"
+      sources."caseless-0.12.0"
+      sources."chalk-4.1.0"
+      sources."cheerio-1.0.0-rc.3"
+      sources."chownr-1.1.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."combined-stream-1.0.8"
+      sources."commander-6.0.0"
+      sources."component-bind-1.0.0"
+      sources."component-emitter-1.2.1"
+      sources."component-inherit-0.0.3"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      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"
+      sources."dashdash-1.14.1"
+      sources."debug-2.6.9"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
+      sources."deep-extend-0.6.0"
+      sources."defer-to-connect-2.0.1"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."detect-libc-1.0.3"
+      sources."dicer-0.3.0"
+      sources."dom-serializer-0.1.1"
+      sources."domelementtype-1.3.1"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.5.1"
+      sources."duplexer3-0.1.4"
+      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."end-of-stream-1.4.4"
+      (sources."engine.io-3.4.2" // {
+        dependencies = [
+          sources."cookie-0.3.1"
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."engine.io-client-3.4.4" // {
+        dependencies = [
+          sources."component-emitter-1.3.0"
+          sources."debug-3.1.0"
+          sources."parseqs-0.0.6"
+          sources."parseuri-0.0.6"
+          sources."ws-6.1.4"
+        ];
+      })
+      sources."engine.io-parser-2.2.1"
+      sources."entities-1.1.2"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."etag-1.8.1"
+      sources."eventemitter3-4.0.7"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."extend-3.0.2"
+      sources."extsprintf-1.4.1"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-text-encoding-1.0.3"
+      sources."file-type-14.7.1"
+      sources."filename-reserved-regex-2.0.0"
+      sources."filenamify-4.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."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."fstream-1.0.12"
+      sources."gauge-2.7.4"
+      sources."get-stream-5.2.0"
+      sources."getpass-0.1.7"
+      sources."glob-7.2.0"
+      sources."got-11.5.2"
+      sources."graceful-fs-4.2.9"
+      sources."grapheme-splitter-1.0.4"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.5"
+      sources."has-binary2-1.0.3"
+      sources."has-cors-1.1.0"
+      sources."has-flag-4.0.0"
+      sources."has-unicode-2.0.1"
+      sources."htmlparser2-3.10.1"
+      sources."http-cache-semantics-4.1.0"
+      (sources."http-errors-1.7.2" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."http-signature-1.2.0"
+      sources."http2-wrapper-1.0.3"
+      sources."http_ece-1.1.0"
+      (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."ieee754-1.2.1"
+      sources."ignore-walk-3.0.4"
+      sources."indexof-0.0.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."ipaddr.js-1.9.1"
+      (sources."irc-framework-4.9.0" // {
+        dependencies = [
+          sources."iconv-lite-0.6.3"
+        ];
+      })
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."isarray-2.0.1"
+      sources."isexe-2.0.0"
+      sources."isomorphic-textencoder-1.0.1"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-buffer-3.0.1"
+      sources."json-schema-0.4.0"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      (sources."jsprim-1.4.2" // {
+        dependencies = [
+          sources."extsprintf-1.3.0"
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."jwa-2.0.0"
+      sources."jws-4.0.0"
+      sources."keyv-4.1.1"
+      sources."ldap-filter-0.3.3"
+      sources."ldapjs-2.1.1"
+      sources."linkify-it-3.0.2"
+      sources."lodash-4.17.20"
+      sources."lowercase-keys-2.0.0"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."middleware-handler-0.2.0"
+      sources."mime-1.6.0"
+      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.1.2"
+      sources."minimist-1.2.5"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.5"
+      sources."ms-2.0.0"
+      sources."mute-stream-0.0.8"
+      (sources."needle-2.9.1" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."negotiator-0.6.3"
+      sources."node-addon-api-2.0.0"
+      sources."node-forge-0.9.1"
+      (sources."node-gyp-3.8.0" // {
+        dependencies = [
+          sources."nopt-3.0.6"
+          sources."semver-5.3.0"
+          sources."tar-2.2.2"
+        ];
+      })
+      (sources."node-pre-gyp-0.11.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."nopt-4.0.3"
+      sources."normalize-url-6.1.0"
+      sources."npm-bundled-1.1.2"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.8"
+      sources."npmlog-4.1.2"
+      sources."nth-check-1.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."object-component-0.0.3"
+      sources."on-finished-2.3.0"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-cancelable-2.1.1"
+      sources."p-finally-1.0.0"
+      sources."p-try-2.2.0"
+      (sources."package-json-6.5.0" // {
+        dependencies = [
+          sources."@sindresorhus/is-0.14.0"
+          sources."@szmarczak/http-timer-1.1.2"
+          (sources."cacheable-request-6.1.0" // {
+            dependencies = [
+              sources."get-stream-5.2.0"
+              sources."lowercase-keys-2.0.0"
+            ];
+          })
+          sources."decompress-response-3.3.0"
+          sources."defer-to-connect-1.1.3"
+          sources."get-stream-4.1.0"
+          sources."got-9.6.0"
+          sources."json-buffer-3.0.0"
+          sources."keyv-3.1.0"
+          sources."lowercase-keys-1.0.1"
+          sources."normalize-url-4.5.1"
+          sources."p-cancelable-1.1.0"
+          sources."responselike-1.0.2"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."parse5-3.0.3"
+      sources."parseqs-0.0.5"
+      sources."parseuri-0.0.5"
+      sources."parseurl-1.3.3"
+      sources."path-is-absolute-1.0.1"
+      sources."path-to-regexp-0.1.7"
+      sources."peek-readable-4.1.0"
+      sources."performance-now-2.1.0"
+      sources."pify-4.0.1"
+      sources."precond-0.2.3"
+      sources."prepend-http-2.0.0"
+      sources."process-nextick-args-2.0.1"
+      sources."proxy-addr-2.0.7"
+      sources."psl-1.8.0"
+      sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.7.0"
+      sources."quick-lru-5.1.1"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.0"
+      sources."rc-1.2.8"
+      sources."read-1.0.7"
+      sources."read-chunk-3.2.0"
+      sources."readable-stream-3.6.0"
+      sources."readable-web-to-node-stream-2.0.0"
+      sources."regenerator-runtime-0.13.9"
+      sources."registry-auth-token-4.2.1"
+      sources."registry-url-5.1.0"
+      (sources."request-2.88.2" // {
+        dependencies = [
+          sources."qs-6.5.3"
+          sources."uuid-3.4.0"
+        ];
+      })
+      sources."resolve-alpn-1.2.1"
+      sources."responselike-2.0.0"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-7.3.2"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
+      sources."setprototypeof-1.1.1"
+      sources."signal-exit-3.0.7"
+      (sources."socket.io-2.3.0" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."socket.io-adapter-1.1.2"
+      (sources."socket.io-client-2.3.0" // {
+        dependencies = [
+          sources."base64-arraybuffer-0.1.5"
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+          (sources."socket.io-parser-3.3.2" // {
+            dependencies = [
+              sources."component-emitter-1.3.0"
+              sources."debug-3.1.0"
+              sources."ms-2.0.0"
+            ];
+          })
+        ];
+      })
+      (sources."socket.io-parser-3.4.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.3"
+        ];
+      })
+      (sources."socksjs-0.5.0" // {
+        dependencies = [
+          sources."ipaddr.js-0.1.3"
+        ];
+      })
+      sources."sqlite3-5.0.0"
+      sources."sshpk-1.17.0"
+      sources."statuses-1.5.0"
+      sources."streamsearch-0.1.2"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."strip-outer-1.0.1"
+      sources."strtok3-6.3.0"
+      sources."supports-color-7.2.0"
+      sources."tar-4.4.19"
+      sources."thelounge-4.2.0"
+      sources."tlds-1.208.0"
+      sources."to-array-0.1.4"
+      sources."to-readable-stream-1.0.0"
+      sources."toidentifier-1.0.0"
+      (sources."token-types-2.1.1" // {
+        dependencies = [
+          sources."@tokenizer/token-0.1.1"
+        ];
+      })
+      sources."tough-cookie-2.5.0"
+      sources."trim-repeated-1.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-is-1.6.18"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."ua-parser-js-0.7.21"
+      sources."uc.micro-1.0.6"
+      sources."unpipe-1.0.0"
+      sources."uri-js-4.4.1"
+      sources."url-parse-lax-3.0.0"
+      sources."urlsafe-base64-1.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.1"
+      sources."uuid-8.3.0"
+      sources."vary-1.1.2"
+      (sources."vasync-2.2.1" // {
+        dependencies = [
+          sources."verror-1.10.0"
+        ];
+      })
+      sources."verror-1.10.1"
+      sources."web-push-3.4.4"
+      sources."which-1.3.1"
+      sources."wide-align-1.1.5"
+      sources."with-open-file-0.1.7"
+      sources."wrappy-1.0.2"
+      sources."ws-7.5.7"
+      sources."xmlhttprequest-ssl-1.5.5"
+      sources."yallist-3.1.1"
+      sources."yarn-1.22.4"
+      sources."yeast-0.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple flat theme with dark colours";
+      homepage = "https://github.com/aab12345/thelounge-theme-flat-dark/";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-gruvbox = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-gruvbox";
+    packageName = "thelounge-theme-gruvbox";
+    version = "1.0.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-gruvbox/-/thelounge-theme-gruvbox-1.0.5.tgz";
+      sha512 = "Mq1S+oiNz3UmzeG7fhNJUihMps6T+i8x0+7vQ8UTZ00D6TYJ45ftFS3qcSHw/eR/Xu/A99nH3MXwdSwaeGrYQg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "gruvbox monospace";
+      homepage = "https://github.com/TheSpiritof69/thelounge-theme-gruvbox";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-hexified = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-hexified";
+    packageName = "thelounge-theme-hexified";
+    version = "1.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-hexified/-/thelounge-theme-hexified-1.4.0.tgz";
+      sha512 = "PhzTGemjTvscBxGSK7HrsqthfN16o56St5Hk02I0tLNjroKQZgxQWLd/iO4i1N5XaDaq3KyK4/n0qYe68b+TXA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Somtething like Solarized";
+      homepage = "https://github.com/pattems/thelounge-theme-hexified";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-ion = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-ion";
+    packageName = "thelounge-theme-ion";
+    version = "1.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-ion/-/thelounge-theme-ion-1.1.1.tgz";
+      sha512 = "Nd4ZBc99aOI4AO2dyt2TvBuBMyaAUMIvcpJrEkOZ2Rf8rA0q3DtsnYgNo2TzbQDDK2HqkKDYUuzHITV5A6FytA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Colourful Material Design theme for The Lounge";
+      homepage = "https://github.com/jake-walker/thelounge-theme-ion#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-light = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-light";
+    packageName = "thelounge-theme-light";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-light/-/thelounge-theme-light-1.0.1.tgz";
+      sha512 = "ORkXau52boISKlHpQT62HE+aruiOVJ69W9WjcpePvwf6NP6ymiYkFi5VLp/mM4UvBUdf324dys0jPhszkLQnEA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple theme for The Lounge with custom highlights";
+      homepage = "https://github.com/bews/lounge-light#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-midnight = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-midnight";
+    packageName = "thelounge-theme-midnight";
+    version = "1.1.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-midnight/-/thelounge-theme-midnight-1.1.3.tgz";
+      sha512 = "g57O8pLOUtXubRuYCurwP3eKHLvh3KoBvD30rZnXB7d+fwaSApKe9wzPSiOiCeNfMlwbV/1Zwbdg4+AWU25kHw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Midnight theme for the lounge with bubble layout on mobile devices";
+      homepage = "https://github.com/ronilaukkarinen/thelounge-theme-midnight";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-mininapse = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-mininapse";
+    packageName = "thelounge-theme-mininapse";
+    version = "2.0.23";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-mininapse/-/thelounge-theme-mininapse-2.0.23.tgz";
+      sha512 = "lzmTV4/1CADcvnD977nH2pqzM8n/UFRwSNVql4f589rkSRgygS70yDzYGwFa6lwnOYwt46TO6PoycD6UHazHMQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A dark, minimal theme for thelounge";
+      homepage = "https://minidigger.github.io/thelounge-theme-mininapse";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-monokai-console = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-monokai-console";
+    packageName = "thelounge-theme-monokai-console";
+    version = "0.6.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-monokai-console/-/thelounge-theme-monokai-console-0.6.5.tgz";
+      sha512 = "OoJk0nAclmi7oljwYltVdTuxbSJQWqRZLpzjabfSZC3KqWL9qFGb2H09R5xFw6GC+TYlt7QyaJ1gjRZIna4IlA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Monokai Colors with Classic Console Neue font";
+      homepage = "https://github.com/deejayy/thelounge-theme-monokai-console";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-mortified = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-mortified";
+    packageName = "thelounge-theme-mortified";
+    version = "0.1.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-mortified/-/thelounge-theme-mortified-0.1.6.tgz";
+      sha512 = "5k7vJEyt1PstHo9rZi4flP9B4e1uC83KrneAi6uyI9R70uYCJtsqu36SD1V1NTpRdMGjAHcpK6ydbMai5fKN9A==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A dark theme.";
+      homepage = "https://github.com/mortie/thelounge-theme-mortified";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-neuron-fork = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-neuron-fork";
+    packageName = "thelounge-theme-neuron-fork";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-neuron-fork/-/thelounge-theme-neuron-fork-1.1.0.tgz";
+      sha1 = "2434cf23e20e62435e0d948ef33a1a8e4fc7dff7";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A dark theme for The Lounge";
+      homepage = "https://github.com/tilde-team/lounge-neuron";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-new-morning = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-new-morning";
+    packageName = "thelounge-theme-new-morning";
+    version = "1.0.13";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-new-morning/-/thelounge-theme-new-morning-1.0.13.tgz";
+      sha512 = "FTkPBm8eorl6ie5oftn1lZiAYeWK7RZ3vdrKrXOL2XJTUcB8crlOSpWfYfB7LUP3um5oUClgeO5Ojv8qiyBaPw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Dark, modern looking theme with conversational message layout.";
+      homepage = "https://github.com/jbeitins/thelounge-theme-new-morning#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-new-morning-compact = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-new-morning-compact";
+    packageName = "thelounge-theme-new-morning-compact";
+    version = "1.0.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-new-morning-compact/-/thelounge-theme-new-morning-compact-1.0.6.tgz";
+      sha512 = "Eu9Uw1fopBbIts7JahXXwmlTvg8Ax7+Y/6Jz5NTeg3nLG/S/8/GfJ7QDRSWLvtWrRm0LaZkeeXSQqaUhWWacWQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Compact version of New Morning theme.";
+      homepage = "https://github.com/jbeitins/thelounge-theme-new-morning-compact#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-nologo = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-nologo";
+    packageName = "thelounge-theme-nologo";
+    version = "1.0.11";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-nologo/-/thelounge-theme-nologo-1.0.11.tgz";
+      sha512 = "tIQDC8o7Rb98to8zhs3cNKd3bTBFbJTjICoLqPD3+AdTvqcUSoP4GZOBt3dqa+5/KFlqHc8sEcj80WMmgZIgsA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A no-logo theme for The Lounge";
+      homepage = "https://github.com/gmetrixr/thelounge-theme-nologo#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-nord = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-nord";
+    packageName = "thelounge-theme-nord";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-nord/-/thelounge-theme-nord-1.1.0.tgz";
+      sha512 = "stsRQBBoRLJrGa3NmP4M0SKDkyqmbRF1Kb3yo55oGBuaaYA7gmjnfNN4KrqXnN6ojTTQ3xLf/TGKhLGbmbrcJQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Nordify your lounge.";
+      homepage = "https://github.com/SeraphimRP/thelounge-theme-nord";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-onedark = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-onedark";
+    packageName = "thelounge-theme-onedark";
+    version = "0.2.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-onedark/-/thelounge-theme-onedark-0.2.2.tgz";
+      sha512 = "nQKGXPGCPCrdwJSWGk5SE7ukjmx8EOeQmaqJgbWJKAJEwF9+HCVkpm3UM0cnt8r0Q8Mgzf7xDoaplpuPFlg2qQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "One Dark theme for The Lounge";
+      homepage = "https://github.com/RockyTV/lounge-onedark#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-purplenight = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-purplenight";
+    packageName = "thelounge-theme-purplenight";
+    version = "0.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-purplenight/-/thelounge-theme-purplenight-0.1.0.tgz";
+      sha512 = "aHZJfEVqtW8m5hTDkS8QIscqUE0pk9N6oJWqIq/OKwg91dhRq0rJUuhy4kL35Q+outY7T2sKJBj9w+5oh4+1xA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A lovely dark purple theme for The Lounge";
+      homepage = "https://github.com/AelitaStyles/thelounge-theme-purplenight";
+      license = "BSD-2-Clause";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-scoutlink = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-scoutlink";
+    packageName = "thelounge-theme-scoutlink";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-scoutlink/-/thelounge-theme-scoutlink-1.0.1.tgz";
+      sha1 = "781b91e9944a9cca680a67f77db33b3e703eee19";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A theme for The Lounge";
+      homepage = "https://www.scoutlink.net";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-seraphimrp = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-seraphimrp";
+    packageName = "thelounge-theme-seraphimrp";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-seraphimrp/-/thelounge-theme-seraphimrp-1.1.0.tgz";
+      sha512 = "CaI0gxnxN1y6hYxIJ3u+GKXQJk4tyVTNQTABoWTl+Vz9gLu1s0czbVMf2nVyLztiS+rjbaOuhOis5ONYKHgV9g==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A personal theme, derived from thelounge-theme-nord.";
+      homepage = "https://github.com/SeraphimRP/thelounge-theme-seraphimrp";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-solarized = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-solarized";
+    packageName = "thelounge-theme-solarized";
+    version = "1.1.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-solarized/-/thelounge-theme-solarized-1.1.9.tgz";
+      sha512 = "M4tIM5X0NeeE0bbOCuPAWQTC3m1WXcsXII8Kx3nIyGsOaN6WyVVQofWs8cNEPsNEJLMXJm32D3yLsCaGln2mMg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple theme with Solarized colours";
+      homepage = "https://github.com/thelounge/thelounge-theme-solarized";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-solarized-fork-monospace = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-solarized-fork-monospace";
+    packageName = "thelounge-theme-solarized-fork-monospace";
+    version = "1.0.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-solarized-fork-monospace/-/thelounge-theme-solarized-fork-monospace-1.0.9.tgz";
+      sha512 = "mPIjN+D7VL66EPFvaJeq1m3hBNAC5iRS4QkMpJEKPfNUltogkUKDSqsndsRatKp0Yh736TUxCthilwmOtDck7Q==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple theme with Solarized colors";
+      homepage = "https://github.com/benharri-forks/thelounge-theme-solarized";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-zenburn = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-zenburn";
+    packageName = "thelounge-theme-zenburn";
+    version = "1.0.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-zenburn/-/thelounge-theme-zenburn-1.0.5.tgz";
+      sha512 = "yJBJNrEcI6HR6S+9c7kD0w/v1cgrlQJNfZv1lLTyvtOW9qzdcGjgOibSsYzWR4PA0LMkR7yWNXWDyPfgxEkIXw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Dark & low-contrast theme for The Lounge, based on the Vim's Zenburn color scheme";
+      homepage = "https://github.com/thelounge/thelounge-theme-zenburn#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-zenburn-monospace = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-zenburn-monospace";
+    packageName = "thelounge-theme-zenburn-monospace";
+    version = "1.0.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-zenburn-monospace/-/thelounge-theme-zenburn-monospace-1.0.5.tgz";
+      sha512 = "yVpTBQ3+70QpR7MU2WbQCklKqaGJM2PQI78zI0O3aEKklS1w/t43qET2+6Uq6PEDmuxFxrw4mrhrpat8h8dx4g==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Dark & low-contrast theme for The Lounge, based on the Vim's Zenburn color scheme";
+      homepage = "https://github.com/benharri-forks/thelounge-theme-zenburn#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  thelounge-theme-zenburn-sourcecodepro = nodeEnv.buildNodePackage {
+    name = "thelounge-theme-zenburn-sourcecodepro";
+    packageName = "thelounge-theme-zenburn-sourcecodepro";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/thelounge-theme-zenburn-sourcecodepro/-/thelounge-theme-zenburn-sourcecodepro-1.0.1.tgz";
+      sha512 = "JMWCDFaCvIBJytMeTP1cvQyygVehajO8ZAUWwBWvpU5TpXEhuQ62WpzQ+YVsm7hzmvngDvpaZOYXVMGfQsHGMQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Dark & low-contrast theme for The Lounge, based on the Vim's Zenburn color scheme";
+      homepage = "https://github.com/brian-jarvis/thelounge-theme-zenburn#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.135.0";
+    version = "0.137.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.135.0.tgz";
-      sha512 = "kuEpuuxRzLv0MDsXai9huCxOSQPZ4vje6y0gn80SRmQvgz6/+rI0NAvCRAw56zYaWKMGMfqKWsxF9Qa2Z9xymQ==";
+      url = "https://registry.npmjs.org/three/-/three-0.137.5.tgz";
+      sha512 = "rTyr+HDFxjnN8+N/guZjDgfVxgHptZQpf6xfL/Mo7a5JYIFwK6tAq3bzxYYB4Ae0RosDZlDuP+X5aXDXz+XnHQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -124560,10 +127620,10 @@ in
   titanium = nodeEnv.buildNodePackage {
     name = "titanium";
     packageName = "titanium";
-    version = "5.4.0";
+    version = "5.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/titanium/-/titanium-5.4.0.tgz";
-      sha512 = "IPKfQkfSv9QjTSVDpsBK1rW9Zc3fsGa+wIvBmwX/vdBW44ymjSxrvbZ+6MFwYOELmzWkn7K+nETDHFBk8V9zOQ==";
+      url = "https://registry.npmjs.org/titanium/-/titanium-5.4.1.tgz";
+      sha512 = "RTyb9ptSBfyHmTVyqvQ84ugOsozFo7dsUe3+qBtBFTu6Y9/xx+iP1ebNQEi5tMAIq4PsZ3EoNKf8cHLRdwSvlA==";
     };
     dependencies = [
       sources."@octokit/auth-token-2.5.0"
@@ -124574,14 +127634,15 @@ in
       sources."@octokit/plugin-paginate-rest-2.17.0"
       sources."@octokit/plugin-request-log-1.0.4"
       sources."@octokit/plugin-rest-endpoint-methods-5.13.0"
-      sources."@octokit/request-5.6.2"
+      sources."@octokit/request-5.6.3"
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
       sources."@octokit/types-6.34.0"
+      sources."@xmldom/xmldom-0.8.1"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."aws-sign2-0.7.0"
@@ -124614,11 +127675,11 @@ in
       })
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
-      sources."fs-extra-9.0.1"
+      sources."fs-extra-9.1.0"
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-signature-1.2.0"
@@ -124632,21 +127693,17 @@ in
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      (sources."jsonfile-6.1.0" // {
-        dependencies = [
-          sources."universalify-2.0.0"
-        ];
-      })
+      sources."jsonfile-6.1.0"
       sources."jsprim-1.4.2"
       sources."keypress-0.2.1"
       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.2"
-      sources."node-fetch-2.6.6"
+      sources."node-appc-1.1.3"
+      sources."node-fetch-2.6.7"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -124654,7 +127711,7 @@ in
       sources."performance-now-2.1.0"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       (sources."request-2.88.2" // {
         dependencies = [
           sources."uuid-3.4.0"
@@ -124665,7 +127722,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       sources."sprintf-0.1.5"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       sources."temp-0.9.4"
       sources."tough-cookie-2.5.0"
@@ -124673,7 +127730,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."universal-user-agent-6.0.0"
-      sources."universalify-1.0.0"
+      sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."uuid-8.3.2"
       sources."verror-1.10.0"
@@ -124686,7 +127743,6 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."xmldom-0.3.0"
       sources."yallist-4.0.0"
       sources."yauzl-2.10.0"
     ];
@@ -124775,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"
@@ -124837,7 +127893,7 @@ in
           sources."verror-1.1.0"
         ];
       })
-      (sources."sshpk-1.16.1" // {
+      (sources."sshpk-1.17.0" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -124905,10 +127961,10 @@ in
   tsun = nodeEnv.buildNodePackage {
     name = "tsun";
     packageName = "tsun";
-    version = "0.5.0";
+    version = "0.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/tsun/-/tsun-0.5.0.tgz";
-      sha512 = "N8E1X543CWEjg0/A70ZnA/kfAfAY/uogILsIuWBhHGxzv9kaJaj7/JCSwDiBH86CPEy37chSgW86KxVeYKsswQ==";
+      url = "https://registry.npmjs.org/tsun/-/tsun-0.5.1.tgz";
+      sha512 = "AK60MDwV2lbafn6bt6sV8dw8UjnWh3yo6bUp9rEGRm4ExbyaZQxN3fnsl3VAtug3/DYXw2Gxp6NQpIpev63koA==";
     };
     dependencies = [
       sources."@types/node-6.14.13"
@@ -124920,14 +127976,14 @@ in
       sources."chalk-1.1.3"
       sources."colors-1.4.0"
       sources."concat-map-0.0.1"
-      sources."diff-2.2.3"
+      sources."diff-3.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.0"
       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"
@@ -124954,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"
@@ -124975,10 +128031,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "4.5.4";
+    version = "4.5.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz";
-      sha512 = "VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
+      sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -124993,10 +128049,10 @@ in
   typescript-language-server = nodeEnv.buildNodePackage {
     name = "typescript-language-server";
     packageName = "typescript-language-server";
-    version = "0.8.1";
+    version = "0.9.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.8.1.tgz";
-      sha512 = "n2KwWC8fNKzEyTz+H2HXbVCCoqaEvzgVeR6ERL6DYQe2Rdynj+s/YkyuStVzV2MqW9j+v4xV2xFik+kTOYpkGg==";
+      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"
@@ -125008,12 +128064,12 @@ 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"
       sources."dir-glob-3.0.1"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
@@ -125021,9 +128077,9 @@ in
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
-      sources."ignore-5.1.9"
+      sources."globby-11.1.0"
+      sources."graceful-fs-4.2.9"
+      sources."ignore-5.2.0"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -125039,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"
@@ -125049,7 +128105,7 @@ in
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pkg-up-3.1.0"
       sources."queue-microtask-1.2.3"
       sources."reusify-1.0.4"
@@ -125066,9 +128122,9 @@ 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.2"
+      sources."vscode-uri-3.0.3"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
       sources."yallist-4.0.0"
@@ -125085,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 = {
@@ -125121,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.0"
+      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 = [
@@ -125145,21 +128207,16 @@ in
         ];
       })
       sources."array-flatten-1.1.1"
-      sources."async-3.2.2"
+      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"
@@ -125167,11 +128224,10 @@ 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"
-      sources."content-disposition-0.5.3"
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       sources."cookie-0.4.1"
       sources."cookie-parser-1.4.6"
@@ -125179,50 +128235,43 @@ 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.13"
+      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.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
-          sources."body-parser-1.19.0"
-          sources."bytes-3.1.0"
-          sources."cookie-0.4.0"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
-          sources."qs-6.7.0"
-          sources."raw-body-2.4.0"
-          sources."serve-static-1.14.1"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
+          sources."cookie-0.4.2"
         ];
       })
       (sources."express-session-1.17.2" // {
         dependencies = [
           sources."depd-2.0.0"
-          sources."safe-buffer-5.2.1"
         ];
       })
       sources."fecha-4.2.1"
@@ -125232,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 = [
@@ -125244,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"
@@ -125256,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.0" // {
+      (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"
@@ -125285,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.1.2"
-      sources."safe-stable-stringify-1.1.1"
+      sources."safe-buffer-5.2.1"
+      sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
       (sources."semver-7.3.5" // {
         dependencies = [
@@ -125339,25 +128387,17 @@ in
           sources."yallist-4.0.0"
         ];
       })
-      (sources."send-0.17.1" // {
-        dependencies = [
-          sources."http-errors-1.7.3"
-          sources."ms-2.1.1"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
-        ];
-      })
-      (sources."serve-static-1.14.2" // {
+      (sources."send-0.17.2" // {
         dependencies = [
           sources."ms-2.1.3"
-          sources."send-0.17.2"
         ];
       })
+      sources."serve-static-1.14.2"
       sources."setprototypeof-1.2.0"
       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"
@@ -125373,11 +128413,7 @@ in
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
       sources."string-width-4.2.3"
-      (sources."string_decoder-1.3.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
+      sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
       (sources."temp-0.9.4" // {
@@ -125387,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.3"
-      sources."winston-transport-4.4.1"
+      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 = {
@@ -125420,148 +128455,108 @@ in
   unified-language-server = nodeEnv.buildNodePackage {
     name = "unified-language-server";
     packageName = "unified-language-server";
-    version = "0.3.0";
+    version = "2.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-0.3.0.tgz";
-      sha512 = "N+ENrder8z9zJQF9UM7K3/1LcfVW60omqeyaQsu6GN1BGdCgPm8gdHssn7WRD7vx+ABKc82IE1+pJyHOPkwe+w==";
+      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-2.1.0.tgz";
+      sha512 = "OJA4rcB3hVvJ4tOYN9YW9EcmRyjTJTzZfbDfSTLy/86CFE8P/LoNEv5GeNR+cdy1+wrJj74jc9yuesB735ml8g==";
     };
     dependencies = [
-      sources."@types/node-17.0.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
+      sources."@types/concat-stream-1.6.1"
+      sources."@types/debug-4.1.7"
+      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.19"
+      sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
-      sources."@types/vfile-3.0.2"
-      sources."@types/vfile-message-2.0.0"
-      sources."array-iterate-1.1.4"
-      sources."bail-1.0.5"
-      sources."character-entities-1.2.4"
-      sources."character-entities-legacy-1.1.4"
-      sources."character-reference-invalid-1.1.4"
-      sources."co-3.1.0"
-      sources."collapse-white-space-1.0.6"
-      sources."dictionary-en-gb-2.3.0"
-      sources."extend-3.0.2"
+      sources."ansi-regex-6.0.1"
+      sources."ansi-styles-3.2.1"
+      sources."argparse-2.0.1"
+      sources."balanced-match-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.1.2"
+      sources."builtins-4.0.0"
+      sources."chalk-2.4.2"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-2.0.0"
+      sources."debug-4.3.3"
+      sources."eastasianwidth-0.2.0"
+      sources."emoji-regex-9.2.2"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."fault-2.0.1"
+      sources."figgy-pudding-3.5.2"
+      sources."find-up-3.0.0"
+      sources."format-0.2.2"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.2.0"
+      sources."has-flag-3.0.0"
+      sources."ignore-5.2.0"
+      sources."import-meta-resolve-1.1.1"
+      sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."irregular-plurals-2.0.0"
-      sources."is-alphabetical-1.0.4"
-      sources."is-alphanumerical-1.0.4"
+      sources."ini-1.3.8"
+      sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-decimal-1.0.4"
-      sources."is-hexadecimal-1.0.4"
-      sources."is-plain-obj-1.1.0"
-      sources."is-whitespace-character-1.0.4"
-      sources."is-word-character-1.0.4"
-      sources."lodash.includes-4.3.0"
-      sources."markdown-escapes-1.0.4"
-      sources."mdast-comment-marker-1.1.2"
-      sources."mdast-util-heading-style-1.0.6"
-      sources."mdast-util-to-nlcst-3.2.3"
-      sources."mdast-util-to-string-1.1.0"
-      sources."nlcst-is-literal-1.2.2"
-      sources."nlcst-to-string-2.0.4"
-      sources."nspell-2.1.5"
-      sources."parse-english-4.2.0"
-      sources."parse-entities-1.2.2"
-      sources."parse-latin-4.3.0"
-      sources."plur-3.1.1"
-      sources."quotation-1.1.3"
-      sources."remark-lint-6.0.6"
-      sources."remark-lint-blockquote-indentation-1.0.4"
-      sources."remark-lint-code-block-style-1.0.4"
-      sources."remark-lint-definition-case-1.0.5"
-      sources."remark-lint-definition-spacing-1.0.5"
-      sources."remark-lint-emphasis-marker-1.0.4"
-      sources."remark-lint-fenced-code-flag-1.0.4"
-      sources."remark-lint-fenced-code-marker-1.0.4"
-      sources."remark-lint-file-extension-1.0.5"
-      sources."remark-lint-final-definition-1.0.4"
-      sources."remark-lint-hard-break-spaces-1.0.5"
-      sources."remark-lint-heading-increment-1.0.4"
-      sources."remark-lint-heading-style-1.0.4"
-      sources."remark-lint-link-title-style-1.0.5"
-      sources."remark-lint-list-item-content-indent-1.0.4"
-      sources."remark-lint-list-item-indent-1.0.5"
-      sources."remark-lint-list-item-spacing-1.1.4"
-      sources."remark-lint-maximum-heading-length-1.0.4"
-      sources."remark-lint-maximum-line-length-1.2.2"
-      sources."remark-lint-no-auto-link-without-protocol-1.0.4"
-      sources."remark-lint-no-blockquote-without-marker-2.0.4"
-      sources."remark-lint-no-consecutive-blank-lines-1.0.4"
-      sources."remark-lint-no-duplicate-headings-1.0.5"
-      sources."remark-lint-no-emphasis-as-heading-1.0.4"
-      sources."remark-lint-no-file-name-articles-1.0.5"
-      sources."remark-lint-no-file-name-consecutive-dashes-1.0.5"
-      sources."remark-lint-no-file-name-irregular-characters-1.0.5"
-      sources."remark-lint-no-file-name-mixed-case-1.0.5"
-      sources."remark-lint-no-file-name-outer-dashes-1.0.6"
-      sources."remark-lint-no-heading-punctuation-1.0.4"
-      sources."remark-lint-no-inline-padding-1.0.5"
-      sources."remark-lint-no-literal-urls-1.0.4"
-      sources."remark-lint-no-multiple-toplevel-headings-1.0.5"
-      sources."remark-lint-no-shell-dollars-1.0.4"
-      sources."remark-lint-no-shortcut-reference-image-1.0.4"
-      sources."remark-lint-no-shortcut-reference-link-1.0.5"
-      sources."remark-lint-no-table-indentation-1.0.5"
-      sources."remark-lint-ordered-list-marker-style-1.0.4"
-      sources."remark-lint-ordered-list-marker-value-1.0.5"
-      sources."remark-lint-rule-style-1.0.4"
-      sources."remark-lint-strong-marker-1.0.4"
-      sources."remark-lint-table-cell-padding-1.0.5"
-      sources."remark-lint-table-pipe-alignment-1.0.4"
-      sources."remark-lint-table-pipes-1.0.4"
-      sources."remark-lint-unordered-list-marker-style-1.0.4"
-      sources."remark-message-control-4.2.0"
-      sources."remark-parse-6.0.3"
-      sources."remark-preset-lint-markdown-style-guide-2.1.4"
-      sources."remark-retext-3.1.3"
-      sources."repeat-string-1.6.1"
-      sources."replace-ext-1.0.0"
-      sources."retext-6.0.2"
-      sources."retext-english-3.0.4"
-      sources."retext-latin-2.0.4"
-      sources."retext-spell-2.4.1"
-      sources."retext-stringify-2.0.4"
-      sources."sliced-1.0.1"
-      sources."state-toggle-1.0.3"
-      sources."trim-0.0.1"
-      sources."trim-trailing-lines-1.1.4"
-      sources."trough-1.0.5"
-      sources."unherit-1.1.3"
-      sources."unified-7.1.0"
-      sources."unified-lint-rule-1.0.6"
-      sources."unified-message-control-1.0.4"
-      sources."unist-util-generated-1.1.6"
-      sources."unist-util-is-3.0.0"
-      sources."unist-util-modify-children-2.0.0"
-      sources."unist-util-position-3.1.0"
-      sources."unist-util-remove-position-1.1.4"
-      sources."unist-util-stringify-position-2.0.3"
-      sources."unist-util-visit-1.4.1"
-      sources."unist-util-visit-children-1.1.4"
-      sources."unist-util-visit-parents-2.1.2"
-      (sources."vfile-3.0.1" // {
-        dependencies = [
-          sources."unist-util-stringify-position-1.1.2"
-          sources."vfile-message-1.1.1"
-        ];
-      })
-      sources."vfile-location-2.0.6"
-      (sources."vfile-message-3.0.2" // {
+      sources."is-empty-1.2.0"
+      sources."is-plain-obj-4.0.0"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-4.1.0"
+      sources."json-parse-even-better-errors-2.3.1"
+      sources."libnpmconfig-1.2.1"
+      sources."lines-and-columns-2.0.3"
+      sources."load-plugin-4.0.1"
+      sources."locate-path-3.0.0"
+      sources."lru-cache-6.0.0"
+      sources."minimatch-3.1.2"
+      sources."ms-2.1.2"
+      sources."once-1.4.0"
+      sources."p-limit-2.3.0"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
+      sources."parse-json-6.0.2"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."readable-stream-3.6.0"
+      sources."safe-buffer-5.2.1"
+      sources."semver-7.3.5"
+      sources."string-width-5.1.0"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-7.0.1"
+      sources."supports-color-5.5.0"
+      sources."to-vfile-7.2.3"
+      sources."trough-2.1.0"
+      sources."typedarray-0.0.6"
+      sources."unified-engine-9.0.5"
+      sources."unist-util-inspect-7.0.0"
+      sources."unist-util-stringify-position-3.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."vfile-5.3.0"
+      sources."vfile-message-3.1.0"
+      (sources."vfile-reporter-7.0.3" // {
         dependencies = [
-          sources."unist-util-stringify-position-3.0.0"
+          sources."supports-color-9.2.1"
         ];
       })
-      sources."vscode-jsonrpc-4.0.0"
-      sources."vscode-languageserver-5.2.1"
-      sources."vscode-languageserver-protocol-3.14.1"
-      sources."vscode-languageserver-types-3.14.0"
-      sources."vscode-uri-1.0.8"
-      sources."wrapped-1.0.1"
-      sources."x-is-string-0.1.0"
-      sources."xtend-4.0.2"
+      sources."vfile-sort-3.0.0"
+      sources."vfile-statistics-2.0.0"
+      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.4"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."wrappy-1.0.2"
+      sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "A language server for spoken languages using retext";
-      homepage = "https://github.com/aecepoglu/retext-language-server";
+      description = "Language server for unified";
+      homepage = "https://github.com/unifiedjs/unified-language-server#readme";
       license = "MIT";
     };
     production = true;
@@ -125587,7 +128582,7 @@ in
       sources."are-we-there-yet-2.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."canvas-2.8.0"
+      sources."canvas-2.9.0"
       sources."chownr-2.0.0"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
@@ -125634,7 +128629,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."internmap-1.0.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."lru-cache-6.0.0"
       (sources."make-dir-3.1.0" // {
@@ -125643,13 +128638,13 @@ 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"
       sources."ms-2.1.2"
       sources."nan-2.15.0"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."nopt-5.0.0"
       sources."npmlog-5.0.1"
       sources."object-assign-4.1.1"
@@ -125658,19 +128653,20 @@ in
       sources."path-parse-1.0.7"
       sources."readable-stream-3.6.0"
       sources."require-directory-2.1.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."rimraf-3.0.2"
       sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
       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"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-6.1.11"
       sources."topojson-client-3.1.0"
       sources."tr46-0.0.3"
@@ -125699,7 +128695,7 @@ in
       sources."vega-statistics-1.7.10"
       sources."vega-time-2.0.4"
       sources."vega-transforms-4.9.4"
-      sources."vega-typings-0.22.1"
+      sources."vega-typings-0.22.2"
       sources."vega-util-1.17.0"
       sources."vega-view-5.10.1"
       sources."vega-view-transforms-4.5.8"
@@ -125712,7 +128708,7 @@ in
       sources."wrappy-1.0.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -125775,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.0"
-      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"
@@ -125822,7 +128818,7 @@ in
       sources."get-stream-4.1.0"
       sources."global-dirs-2.1.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -125858,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"
@@ -125918,8 +128914,8 @@ in
     };
     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."chalk-2.4.2"
           sources."escape-string-regexp-1.0.5"
@@ -125999,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"
@@ -126016,7 +129012,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-expression-4.0.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -126032,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"
@@ -126052,7 +129048,7 @@ in
       sources."punycode-2.1.1"
       sources."regexpp-3.2.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-4.0.0"
       sources."rimraf-3.0.2"
       sources."semver-7.3.5"
@@ -126070,9 +129066,10 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
-      (sources."table-6.7.5" // {
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.8.2"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -126088,7 +129085,7 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       (sources."vue-eslint-parser-7.11.0" // {
@@ -126197,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"
         ];
@@ -126205,10 +129202,10 @@ 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.2"
+      sources."vscode-uri-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -126255,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"
@@ -126273,29 +129270,31 @@ in
   vscode-langservers-extracted = nodeEnv.buildNodePackage {
     name = "vscode-langservers-extracted";
     packageName = "vscode-langservers-extracted";
-    version = "3.0.2";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-3.0.2.tgz";
-      sha512 = "m5TP1YlERfMAhB8Ci8X06vOlPBeDrGruCOZ3c/mOnN9UlM7jztF1FC06xX0ftCYZd1JR5gD0EC3A/23ZUnC52A==";
+      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.0.0.tgz";
+      sha512 = "DTFhpzUhP3M5WA62WT/SVSxtq47R5rbIEznA7svxWD19/+D1iGBrrzAa8LrDCkLUMxyG3gbya99LczV4F9m6Yg==";
     };
     dependencies = [
+      sources."core-js-3.21.1"
       sources."jsonc-parser-3.0.0"
-      sources."request-light-0.5.5"
-      sources."typescript-4.5.4"
-      sources."vscode-css-languageservice-5.1.9"
+      sources."regenerator-runtime-0.13.9"
+      sources."request-light-0.5.7"
+      sources."typescript-4.5.5"
+      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.4"
-      sources."vscode-languageserver-8.0.0-next.5"
-      (sources."vscode-languageserver-protocol-3.17.0-next.11" // {
+      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.5"
+          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.2"
+      sources."vscode-uri-3.0.3"
       sources."yarn-1.22.17"
     ];
     buildInputs = globalBuildInputs;
@@ -126315,13 +129314,13 @@ in
     src = ../../misc/vscode-extensions/vscode-lldb/build-deps;
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.6"
-      sources."@types/eslint-8.2.1"
-      sources."@types/eslint-scope-3.7.2"
-      sources."@types/estree-0.0.50"
+      sources."@types/eslint-8.4.1"
+      sources."@types/eslint-scope-3.7.3"
+      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"
@@ -126339,12 +129338,12 @@ 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.6.0"
+      sources."acorn-8.7.0"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
@@ -126361,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.2.1"
-      sources."caniuse-lite-1.0.30001287"
+      sources."camelcase-6.3.0"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -126392,7 +129391,7 @@ in
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-what-5.1.0"
       (sources."debug-4.3.1" // {
         dependencies = [
@@ -126406,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.21"
+      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"
@@ -126441,7 +129440,7 @@ in
       sources."glob-7.1.6"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
@@ -126449,12 +129448,12 @@ in
       sources."he-1.2.0"
       sources."htmlparser2-6.1.0"
       sources."human-signals-2.1.0"
-      sources."import-local-3.0.3"
+      sources."import-local-3.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."interpret-2.2.0"
       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-2.0.0"
       sources."is-glob-4.0.3"
@@ -126465,7 +129464,7 @@ in
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."jest-worker-27.4.5"
+      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"
@@ -126508,11 +129507,11 @@ 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"
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."os-homedir-1.0.2"
@@ -126530,7 +129529,7 @@ in
       sources."path-parse-1.0.7"
       sources."pend-1.2.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       (sources."pkg-dir-4.2.0" // {
         dependencies = [
           sources."find-up-4.1.0"
@@ -126542,14 +129541,14 @@ in
       sources."process-nextick-args-2.0.1"
       sources."prr-1.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.10.2"
+      sources."qs-6.10.3"
       sources."randombytes-2.1.0"
       sources."read-1.0.7"
       sources."readable-stream-1.0.34"
       sources."readdirp-3.5.0"
       sources."rechoir-0.7.1"
       sources."require-directory-2.1.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-cwd-3.0.0"
       sources."resolve-from-5.0.0"
       sources."safe-buffer-5.2.1"
@@ -126560,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"
@@ -126571,6 +129570,7 @@ in
       sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-8.1.1"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tapable-2.2.1"
       (sources."terser-5.10.0" // {
         dependencies = [
@@ -126578,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"
         ];
@@ -126595,7 +129595,7 @@ in
       sources."tslib-2.3.1"
       sources."tunnel-0.0.6"
       sources."typed-rest-client-1.8.6"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.2"
       sources."uri-js-4.4.1"
@@ -126615,14 +129615,14 @@ in
       sources."vscode-debugadapter-testsupport-1.51.0"
       sources."vscode-debugprotocol-1.51.0"
       sources."watchpack-2.3.1"
-      sources."webpack-5.65.0"
-      (sources."webpack-cli-4.9.1" // {
+      sources."webpack-5.69.1"
+      (sources."webpack-cli-4.9.2" // {
         dependencies = [
           sources."commander-7.2.0"
         ];
       })
       sources."webpack-merge-5.8.0"
-      sources."webpack-sources-3.2.2"
+      sources."webpack-sources-3.2.3"
       sources."which-2.0.2"
       sources."wide-align-1.1.3"
       sources."wildcard-2.0.0"
@@ -126669,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"
@@ -126693,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"
@@ -126707,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"
@@ -126722,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"
@@ -126757,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"
@@ -126768,18 +129768,12 @@ in
       sources."git-clone-0.1.0"
       sources."glob-7.2.0"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.8"
-      sources."gray-matter-2.1.1"
+      sources."graceful-fs-4.2.9"
+      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"
@@ -126789,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"
@@ -126800,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"
@@ -126809,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"
@@ -126818,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"
@@ -126849,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"
@@ -126859,14 +129861,13 @@ in
       sources."proto-list-1.2.4"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."read-metadata-1.0.0"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           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"
@@ -126874,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.16.1"
-      sources."stat-mode-0.2.2"
+      sources."sshpk-1.17.0"
+      sources."stat-mode-1.0.0"
       (sources."string-width-2.1.1" // {
         dependencies = [
           sources."strip-ansi-4.0.0"
@@ -126896,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"
@@ -126907,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"
@@ -126931,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"
@@ -126958,9 +129963,9 @@ in
       sha512 = "/dd2bJLxOmX8Ie0EPTlmU+F8cxAekn/1m8K9OAFoijm4fc8SdHznFUUEKuz2RMMhsaL5+rccj8xLFAJELYNbaA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/highlight-7.16.0"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
       sources."@emmetio/extract-abbreviation-0.1.6"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -126976,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.0"
+      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"
@@ -127278,7 +130283,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."gridsome-helper-json-1.0.3"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -127333,7 +130338,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-decimal-1.0.4"
       sources."is-descriptor-1.0.2"
@@ -127420,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" // {
@@ -127495,7 +130500,7 @@ in
       sources."path-key-2.0.1"
       sources."path-parse-1.0.7"
       sources."path-type-3.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-3.0.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -127583,7 +130588,7 @@ in
           sources."resolve-from-1.0.1"
         ];
       })
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-5.0.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
@@ -127610,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" // {
@@ -127722,6 +130727,7 @@ in
       })
       sources."stylus-supremacy-2.15.0"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-0.2.3"
       (sources."table-5.4.6" // {
         dependencies = [
@@ -127817,7 +130823,7 @@ in
           sources."vfile-message-2.0.4"
         ];
       })
-      sources."vfile-message-3.0.2"
+      sources."vfile-message-3.1.0"
       (sources."vfile-reporter-6.0.2" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
@@ -127840,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"
@@ -127901,13 +130907,13 @@ in
       sha512 = "slGcIXCA/j5d2uzQ7flA4/veF0P0eE+Om/Bw7uEO2LC9a3mVNdB+2bSR1CILMjvgyFy9Q9D6eseomQgp7UW5Dg==";
     };
     dependencies = [
-      sources."@babel/runtime-corejs3-7.16.5"
+      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"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
-      sources."acorn-8.6.0"
+      sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -127926,7 +130932,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."browser-process-hrtime-1.0.0"
       sources."btoa-1.2.1"
-      sources."canvas-2.8.0"
+      sources."canvas-2.9.0"
       sources."canvg-3.0.7"
       sources."chownr-2.0.0"
       sources."cliui-7.0.4"
@@ -127936,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.0"
+      sources."core-js-pure-3.21.1"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -127976,7 +130982,7 @@ in
       sources."gauge-3.0.2"
       sources."get-caller-file-2.0.5"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-unicode-2.0.1"
       sources."html-encoding-sniffer-2.0.1"
       sources."http-proxy-agent-4.0.1"
@@ -128007,14 +131013,14 @@ 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"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."nan-2.15.0"
-      sources."node-fetch-2.6.6"
+      sources."node-fetch-2.6.7"
       sources."nopt-5.0.0"
       sources."npmlog-5.0.1"
       sources."nwsapi-2.2.0"
@@ -128040,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"
@@ -128064,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"
@@ -128073,12 +131079,12 @@ 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"
       sources."yallist-4.0.0"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -128094,15 +131100,15 @@ 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.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      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"
@@ -128117,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.2.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.0"
+      sources."@types/node-17.0.19"
       sources."@types/yauzl-2.9.2"
-      sources."acorn-8.6.0"
+      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"
@@ -128196,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"
@@ -128219,11 +131217,11 @@ 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"
-      sources."css-select-4.2.0"
+      sources."css-select-4.2.1"
       sources."css-what-5.1.0"
       sources."dashdash-1.14.1"
       sources."debounce-1.2.0"
@@ -128252,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"
@@ -128260,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"
@@ -128294,8 +131289,7 @@ in
       })
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fast-redact-3.0.2"
-      sources."fastify-warning-0.2.0"
+      sources."fast-redact-3.1.0"
       sources."fd-slicer-1.1.0"
       sources."file-entry-cache-6.0.1"
       (sources."firefox-profile-4.2.2" // {
@@ -128305,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"
@@ -128332,13 +131326,13 @@ 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"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."graceful-readlink-1.0.1"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
@@ -128352,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"
@@ -128441,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"
@@ -128463,7 +131457,7 @@ in
       })
       sources."mz-2.7.0"
       sources."nan-2.15.0"
-      sources."nanoid-3.1.30"
+      sources."nanoid-3.3.1"
       sources."natural-compare-1.4.0"
       sources."ncp-2.0.0"
       sources."node-forge-0.10.0"
@@ -128500,19 +131494,19 @@ 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"
       sources."pupa-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."queue-6.0.2"
       sources."quick-format-unescaped-4.0.4"
       (sources."rc-1.2.8" // {
@@ -128524,7 +131518,7 @@ in
       sources."readable-stream-3.6.0"
       sources."real-require-0.1.0"
       sources."regenerator-runtime-0.13.9"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."regexpp-3.2.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
@@ -128565,31 +131559,26 @@ 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."sonic-boom-2.4.1"
+      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"
       sources."split2-4.1.0"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       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"
@@ -128599,7 +131588,7 @@ in
       sources."text-table-0.2.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
-      sources."thread-stream-0.13.0"
+      sources."thread-stream-0.13.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
       sources."to-readable-stream-1.0.0"
@@ -128634,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"
@@ -128648,12 +131632,16 @@ 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 = [
-          sources."async-3.2.2"
+          sources."async-3.2.3"
         ];
       })
     ];
@@ -128670,17 +131658,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.65.0";
+    version = "5.69.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz";
-      sha512 = "Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.69.1.tgz";
+      sha512 = "+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A==";
     };
     dependencies = [
-      sources."@types/eslint-8.2.1"
-      sources."@types/eslint-scope-3.7.2"
-      sources."@types/estree-0.0.50"
+      sources."@types/eslint-8.4.1"
+      sources."@types/eslint-scope-3.7.3"
+      sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.0"
+      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"
@@ -128698,17 +131686,17 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.6.0"
+      sources."acorn-8.7.0"
       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.30001287"
+      sources."caniuse-lite-1.0.30001312"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.21"
-      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"
@@ -128722,9 +131710,9 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
-      sources."jest-worker-27.4.5"
+      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"
@@ -128732,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"
@@ -128748,10 +131736,10 @@ 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.2"
+      sources."webpack-sources-3.2.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -128766,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"
@@ -128788,9 +131776,9 @@ in
       sources."get-stream-6.0.1"
       sources."has-1.0.3"
       sources."human-signals-2.1.0"
-      sources."import-local-3.0.3"
+      sources."import-local-3.1.0"
       sources."interpret-2.2.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-plain-object-2.0.4"
       sources."is-stream-2.0.1"
       sources."isexe-2.0.0"
@@ -128809,14 +131797,15 @@ in
       sources."path-parse-1.0.7"
       sources."pkg-dir-4.2.0"
       sources."rechoir-0.7.1"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-cwd-3.0.0"
       sources."resolve-from-5.0.0"
       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"
       sources."which-2.0.2"
       sources."wildcard-2.0.0"
@@ -128834,22 +131823,35 @@ in
   webpack-dev-server = nodeEnv.buildNodePackage {
     name = "webpack-dev-server";
     packageName = "webpack-dev-server";
-    version = "4.6.0";
+    version = "4.7.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.6.0.tgz";
-      sha512 = "oojcBIKvx3Ya7qs1/AVWHDgmP1Xml8rGsEBnSobxU/UJSX1xP1GPM3MwsAnDzvqcVmVki8tV7lbcsjEjk0PtYg==";
+      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"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
+      sources."@types/body-parser-1.19.2"
+      sources."@types/bonjour-3.5.10"
+      sources."@types/connect-3.4.35"
+      sources."@types/connect-history-api-fallback-1.3.5"
+      sources."@types/express-4.17.13"
+      sources."@types/express-serve-static-core-4.17.28"
       sources."@types/http-proxy-1.17.8"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.0"
+      sources."@types/mime-1.3.2"
+      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."accepts-1.3.7"
+      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.3"
+      sources."accepts-1.3.8"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.8.2"
+      sources."ajv-8.10.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-5.1.0"
       sources."ansi-html-community-0.0.8"
@@ -128861,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.0" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
         ];
       })
       sources."bonjour-3.5.0"
@@ -128872,7 +131874,7 @@ in
       sources."buffer-indexof-1.1.1"
       sources."bytes-3.0.0"
       sources."call-bind-1.0.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."clean-stack-2.2.0"
       sources."colorette-2.0.16"
       sources."compressible-2.0.18"
@@ -128883,13 +131885,9 @@ in
       })
       sources."concat-map-0.0.1"
       sources."connect-history-api-fallback-1.6.0"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
@@ -128912,19 +131910,18 @@ in
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.7"
       sources."execa-5.1.1"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."array-flatten-1.1.1"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."faye-websocket-0.11.4"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-monkey-1.0.3"
@@ -128935,8 +131932,8 @@ in
       sources."get-stream-6.0.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
-      sources."graceful-fs-4.2.8"
+      sources."globby-11.1.0"
+      sources."graceful-fs-4.2.9"
       sources."handle-thing-2.0.1"
       sources."has-1.0.3"
       sources."has-symbols-1.0.2"
@@ -128949,17 +131946,13 @@ in
       })
       sources."html-entities-2.3.2"
       sources."http-deceiver-1.2.7"
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      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.1"
+      sources."http-proxy-middleware-2.0.3"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -128983,7 +131976,7 @@ in
       sources."json-schema-traverse-1.0.0"
       sources."lodash-4.17.21"
       sources."media-typer-0.3.0"
-      sources."memfs-3.4.0"
+      sources."memfs-3.4.1"
       sources."merge-descriptors-1.0.1"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
@@ -128994,14 +131987,14 @@ 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."node-forge-0.10.0"
+      sources."negotiator-0.6.3"
+      sources."node-forge-1.2.1"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."object-is-1.1.5"
@@ -129019,7 +132012,7 @@ in
       sources."path-key-3.1.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       (sources."portfinder-1.0.28" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -129033,18 +132026,17 @@ in
         ];
       })
       sources."punycode-2.1.1"
-      sources."qs-6.7.0"
-      sources."querystring-0.2.0"
+      sources."qs-6.9.7"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.0" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.0"
+          sources."bytes-3.1.2"
         ];
       })
       sources."readable-stream-3.6.0"
       sources."readdirp-3.6.0"
-      sources."regexp.prototype.flags-1.3.1"
+      sources."regexp.prototype.flags-1.4.1"
       sources."require-from-string-2.0.2"
       sources."requires-port-1.0.0"
       sources."retry-0.13.1"
@@ -129055,10 +132047,10 @@ in
       sources."safer-buffer-2.1.2"
       sources."schema-utils-4.0.0"
       sources."select-hose-2.0.0"
-      sources."selfsigned-1.10.11"
-      (sources."send-0.17.1" // {
+      sources."selfsigned-2.0.0"
+      (sources."send-0.17.2" // {
         dependencies = [
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
       (sources."serve-index-1.9.1" // {
@@ -129068,11 +132060,11 @@ in
           sources."setprototypeof-1.1.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."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" // {
@@ -129097,26 +132089,21 @@ in
       sources."strip-final-newline-2.0.0"
       sources."thunky-1.1.0"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."type-is-1.6.18"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       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.3.0"
+      sources."ws-8.5.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -129131,24 +132118,24 @@ in
   copy-webpack-plugin = nodeEnv.buildNodePackage {
     name = "copy-webpack-plugin";
     packageName = "copy-webpack-plugin";
-    version = "10.2.0";
+    version = "10.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.0.tgz";
-      sha512 = "my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og==";
+      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.8.2"
+      sources."ajv-8.10.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-5.1.0"
       sources."array-union-3.0.1"
       sources."braces-3.0.2"
       sources."dir-glob-3.0.1"
       sources."fast-deep-equal-3.1.3"
-      (sources."fast-glob-3.2.7" // {
+      (sources."fast-glob-3.2.11" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -129156,8 +132143,8 @@ in
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-6.0.2"
-      sources."globby-12.0.2"
-      sources."ignore-5.1.9"
+      sources."globby-12.2.0"
+      sources."ignore-5.2.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -129166,7 +132153,7 @@ in
       sources."micromatch-4.0.4"
       sources."normalize-path-3.0.0"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."punycode-2.1.1"
       sources."queue-microtask-1.2.3"
       sources."randombytes-2.1.0"
@@ -129193,10 +132180,10 @@ in
   webtorrent-cli = nodeEnv.buildNodePackage {
     name = "webtorrent-cli";
     packageName = "webtorrent-cli";
-    version = "4.0.0";
+    version = "4.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-4.0.0.tgz";
-      sha512 = "WFs8PWeUO3ck41NVy/fBNiWcmtyrvIanwdZguh2V8Gn27VZSfzcuazFWsbW+t5oNTFk9ToMwD5+PhV7ImzS07Q==";
+      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"
@@ -129211,11 +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.0"
+      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"
@@ -129235,7 +132224,7 @@ in
         ];
       })
       sources."bittorrent-peerid-1.3.4"
-      (sources."bittorrent-protocol-3.4.3" // {
+      (sources."bittorrent-protocol-3.5.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -129247,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"
@@ -129261,7 +132250,7 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
-      sources."bufferutil-4.0.5"
+      sources."bufferutil-4.0.6"
       sources."cache-chunk-store-3.2.2"
       (sources."castv2-0.1.10" // {
         dependencies = [
@@ -129306,9 +132295,13 @@ in
           sources."mime-1.6.0"
         ];
       })
-      sources."dns-packet-5.3.0"
+      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"
@@ -129316,7 +132309,8 @@ in
       sources."err-code-3.0.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
-      sources."fast-fifo-1.0.0"
+      sources."events-3.3.0"
+      sources."fast-fifo-1.1.0"
       sources."filestream-5.0.0"
       sources."freelist-1.0.3"
       (sources."fs-chunk-store-2.0.4" // {
@@ -129331,7 +132325,6 @@ in
       sources."glob-7.2.0"
       sources."has-flag-4.0.0"
       sources."he-1.2.0"
-      sources."http-node-git://github.com/webtorrent/http-node#webtorrent"
       sources."http-parser-js-0.4.13"
       sources."ieee754-1.2.1"
       sources."immediate-chunk-store-2.2.0"
@@ -129357,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"
@@ -129373,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"
@@ -129403,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"
@@ -129421,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"
@@ -129445,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"
@@ -129460,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"
@@ -129500,29 +132493,29 @@ in
         ];
       })
       sources."ut_pex-3.0.2"
-      sources."utf-8-validate-5.0.7"
+      sources."utf-8-validate-5.0.8"
       sources."util-deprecate-1.0.2"
       sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.5.8" // {
+      (sources."webtorrent-1.8.2" // {
         dependencies = [
           sources."debug-4.3.3"
           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."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"
       sources."y18n-5.0.8"
-      sources."yargs-17.3.0"
+      sources."yargs-17.3.1"
       sources."yargs-parser-21.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -129583,23 +132576,23 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "1.2.2";
+    version = "1.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.2.2.tgz";
-      sha512 = "wjMlqjhg6hNMT8EgYYkfUaM0aXwjWSQDmPO18doWLxIXG7LGBuzb+Vm/MjLrP9LPblSEhE2WWHQFfGW+Odb7vw==";
+      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"
-      sources."request-light-0.5.5"
-      sources."vscode-json-languageservice-4.1.10"
+      sources."request-light-0.5.7"
+      sources."vscode-json-languageservice-4.1.8"
       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.2"
-      sources."yaml-2.0.0-8"
+      sources."vscode-uri-3.0.3"
+      sources."yaml-2.0.0-10"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -129635,16 +132628,16 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-caller-file-2.0.5"
       sources."glob-7.2.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."ignore-walk-3.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       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"
@@ -129698,19 +132691,19 @@ in
       sha512 = "0V5CpR62BY1EOevIxXq5BL84YJeIunEzRsFlqb00tc7D77I51/0bvgdGRZhEwhNI2rFxKZ1i77eoisT56gfMTQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.16.5"
-      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.1.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"
         ];
@@ -129723,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"
@@ -129752,7 +132750,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      (sources."agentkeepalive-4.1.4" // {
+      (sources."agentkeepalive-4.2.0" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -129787,9 +132785,9 @@ in
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
-      (sources."bin-links-2.3.0" // {
+      (sources."bin-links-3.0.0" // {
         dependencies = [
-          sources."write-file-atomic-3.0.3"
+          sources."write-file-atomic-4.0.1"
         ];
       })
       sources."bin-version-3.1.0"
@@ -129800,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"
@@ -129859,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.0"
+      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"
@@ -129911,7 +132909,7 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       sources."figures-2.0.0"
@@ -129944,14 +132942,14 @@ in
       sources."global-dirs-0.1.1"
       sources."global-tunnel-ng-2.7.1"
       sources."globalthis-1.0.2"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       (sources."got-8.3.2" // {
         dependencies = [
           sources."get-stream-3.0.0"
           sources."p-cancelable-0.4.1"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."grouped-queue-2.0.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -129985,7 +132983,7 @@ in
       sources."humanize-string-1.0.2"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."ignore-walk-4.0.1"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
@@ -130005,7 +133003,7 @@ in
       sources."ip-regex-2.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-ci-1.2.1"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-docker-1.1.0"
       sources."is-extglob-2.1.1"
       sources."is-finite-1.1.0"
@@ -130076,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"
@@ -130102,7 +133100,7 @@ in
       })
       sources."mem-5.1.1"
       sources."mem-fs-2.2.1"
-      sources."mem-fs-editor-9.3.0"
+      sources."mem-fs-editor-9.4.0"
       (sources."meow-3.7.0" // {
         dependencies = [
           sources."find-up-1.1.2"
@@ -130117,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"
@@ -130136,16 +133134,16 @@ in
       sources."ms-2.0.0"
       sources."multimatch-5.0.0"
       sources."mute-stream-0.0.7"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."nice-try-1.0.5"
       (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"
@@ -130177,7 +133175,7 @@ in
       sources."npm-normalize-package-bin-1.0.1"
       (sources."npm-package-arg-8.1.5" // {
         dependencies = [
-          sources."hosted-git-info-4.0.2"
+          sources."hosted-git-info-4.1.0"
           sources."semver-7.3.5"
         ];
       })
@@ -130187,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"
@@ -130244,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"
         ];
@@ -130261,7 +133269,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-3.0.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -130298,7 +133306,7 @@ in
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
@@ -130346,7 +133354,7 @@ in
           sources."tough-cookie-2.5.0"
         ];
       })
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."retry-0.12.0"
@@ -130374,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"
@@ -130396,7 +133404,7 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
       sources."sprintf-js-1.1.2"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."ssri-8.0.1"
       sources."strict-uri-encode-1.1.0"
       (sources."string-length-2.0.0" // {
@@ -130436,6 +133444,7 @@ in
         ];
       })
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."tabtab-1.3.2" // {
         dependencies = [
           sources."ansi-escapes-1.4.0"
@@ -130485,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-3.1.5"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-1.0.0"
@@ -130549,7 +133561,7 @@ in
         ];
       })
       sources."yeoman-doctor-5.0.0"
-      (sources."yeoman-environment-3.8.1" // {
+      (sources."yeoman-environment-3.9.1" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-regex-5.0.1"
@@ -130589,14 +133601,14 @@ in
           sources."path-key-3.1.1"
           sources."readable-stream-3.6.0"
           sources."restore-cursor-3.1.0"
-          sources."rxjs-7.4.0"
+          sources."rxjs-7.5.4"
           sources."semver-7.3.5"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
           sources."string-width-4.2.3"
           sources."strip-ansi-6.0.1"
           sources."supports-color-7.2.0"
-          sources."tslib-2.1.0"
+          sources."tslib-2.3.1"
           sources."type-fest-0.21.3"
           sources."which-2.0.2"
         ];
@@ -130628,10 +133640,10 @@ in
   zx = nodeEnv.buildNodePackage {
     name = "zx";
     packageName = "zx";
-    version = "4.2.0";
+    version = "5.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/zx/-/zx-4.2.0.tgz";
-      sha512 = "/4f7FaJecA9I655KXKXIHO3CFNYjAz2uSmTz6v2eNlKdrQKyz4VyF3RjqFuP6nQG+Hd3+NjOvrVNBkv8Ne9d4Q==";
+      url = "https://registry.npmjs.org/zx/-/zx-5.1.0.tgz";
+      sha512 = "J62b/7sFwqt4zbmPbeKJGwZlvW2X3ynyfWHZPr+xLAGF80h4aY4SgXaadMjljpvIbWGOwRmK38vwEdi5XgUpcQ==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -130639,31 +133651,24 @@ 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.14"
-      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.7"
+      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.0.2"
-      sources."graceful-fs-4.2.8"
-      sources."has-flag-4.0.0"
-      sources."ignore-5.1.9"
+      sources."globby-13.1.1"
+      sources."graceful-fs-4.2.9"
+      sources."ignore-5.2.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -130672,13 +133677,12 @@ 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.6"
+      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.0"
+      sources."picomatch-2.3.1"
       sources."ps-tree-1.2.0"
       sources."queue-microtask-1.2.3"
       sources."reusify-1.0.4"
@@ -130686,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/nixpkgs/pkgs/development/node-packages/package-tests/tailwindcss.nix b/nixpkgs/pkgs/development/node-packages/package-tests/tailwindcss.nix
new file mode 100644
index 000000000000..1f986d8bb096
--- /dev/null
+++ b/nixpkgs/pkgs/development/node-packages/package-tests/tailwindcss.nix
@@ -0,0 +1,47 @@
+{ 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
+
+    # 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/nixpkgs/pkgs/development/node-packages/thelounge-packages-path.patch b/nixpkgs/pkgs/development/node-packages/thelounge-packages-path.patch
new file mode 100644
index 000000000000..c0a9ad80be2f
--- /dev/null
+++ b/nixpkgs/pkgs/development/node-packages/thelounge-packages-path.patch
@@ -0,0 +1,15 @@
+diff --git a/src/helper.js b/src/helper.js
+index 27352b53..7078e4c5 100644
+--- a/src/helper.js
++++ b/src/helper.js
+@@ -110,6 +110,10 @@ function setHome(newPath) {
+ 	userLogsPath = path.join(homePath, "logs");
+ 	clientCertificatesPath = path.join(homePath, "certificates");
+ 
++	if (process.env.THELOUNGE_PACKAGES !== undefined) {
++		packagesPath = process.env.THELOUNGE_PACKAGES;
++	}
++
+ 	// Reload config from new home location
+ 	if (fs.existsSync(configPath)) {
+ 		const userConfig = require(configPath);
diff --git a/nixpkgs/pkgs/development/ocaml-modules/apron/default.nix b/nixpkgs/pkgs/development/ocaml-modules/apron/default.nix
index 959a7203dfa9..c9edfd62e06d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/apron/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/arp/default.nix b/nixpkgs/pkgs/development/ocaml-modules/arp/default.nix
index d900f2b772e9..e1daca1bc38d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/arp/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/arp/default.nix
@@ -8,11 +8,11 @@
 
 buildDunePackage rec {
   pname = "arp";
-  version = "2.3.2";
+  version = "3.0.0";
 
   src = fetchurl {
     url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "1s09ibj9v6pp2ckn96wxmn3mjifcj97asls5xc4zg75pflk0grgz";
+    sha256 = "1x3l8v96ywc3wrcwbf0j04b8agap4fif0fz6ki2ndzx57yqcjszn";
   };
 
   minimumOCamlVersion = "4.06";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/astring/default.nix b/nixpkgs/pkgs/development/ocaml-modules/astring/default.nix
index ba8cd98327fa..8ecac1c124d6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/astring/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/bap/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bap/default.nix
index c1cb7de2d188..f8e07fd1265c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix b/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
index d2edb69e1b94..69e8289df2cd 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/benchmark/default.nix b/nixpkgs/pkgs/development/ocaml-modules/benchmark/default.nix
index 07432dd7c6e7..3397821319e3 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/benchmark/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/bigarray-compat/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bigarray-compat/default.nix
index 487249ce5ae5..fd690cfdd5b3 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bigarray-compat/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bigarray-compat/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
 
   useDune2 = true;
 
+  minimalOCamlVersion = "4.02";
+
   src = fetchFromGitHub {
     owner = "mirage";
     repo = pname;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bls12-381/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/default.nix
index e7426cf10e9d..0568f8990320 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bls12-381/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/default.nix
@@ -1,21 +1,26 @@
-{ lib, buildDunePackage, bls12-381-gen, ff-sig, zarith, ctypes, alcotest }:
+{ lib, buildDunePackage, fetchFromGitLab, ff-sig, zarith }:
 
 buildDunePackage rec {
   pname = "bls12-381";
+  version = "1.1.0";
 
-  inherit (bls12-381-gen) version src useDune2 doCheck;
+  src = fetchFromGitLab {
+    owner = "dannywillems";
+    repo = "ocaml-bls12-381";
+    rev = "22247018c0651ea62ae898c8ffcc388cc73f758f";
+    sha256 = "ku6Rc+/lwFDoHTZTxgkhiF+kLkagi7944ntcu9vXWgI=";
+  };
+
+  useDune2 = true;
 
   minimalOCamlVersion = "4.08";
+
   propagatedBuildInputs = [
     ff-sig
     zarith
-    ctypes
-    bls12-381-gen
   ];
 
-  checkInputs = [
-    alcotest
-  ];
+  doCheck = true;
 
   meta = {
     homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bls12-381/gen.nix b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/gen.nix
index d7daba263c65..7949fe20438a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bls12-381/gen.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/gen.nix
@@ -2,14 +2,15 @@
 
 buildDunePackage rec {
   pname = "bls12-381-gen";
-  version = "0.4.2";
+  version = "0.4.4";
 
   src = fetchFromGitLab {
-      owner = "dannywillems";
-      repo = "ocaml-bls12-381";
-      rev = version;
-      sha256 = "0jxc8qrdn74brmzjns1xycv3cb257kx5pa3ripgl9ci4njkv87n2";
+    owner = "dannywillems";
+    repo = "ocaml-bls12-381";
+    rev = "${version}-legacy";
+    sha256 = "qocIfQdv9rniOUykRulu2zWsqkzT0OrsGczgVKALRuk=";
   };
+
   useDune2 = true;
 
   minimalOCamlVersion = "4.08";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bls12-381/legacy.nix b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/legacy.nix
new file mode 100644
index 000000000000..c72157c677e7
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/legacy.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildDunePackage
+, fetchFromGitLab
+, bls12-381-gen
+, ctypes
+, ff-pbt
+, ff-sig
+, tezos-rust-libs
+, zarith
+, alcotest
+}:
+
+buildDunePackage rec {
+  pname = "bls12-381-legacy";
+
+  inherit (bls12-381-gen) version src useDune2 doCheck;
+
+  minimalOCamlVersion = "4.08";
+
+  propagatedBuildInputs = [
+    bls12-381-gen
+    ctypes
+    ff-pbt
+    ff-sig
+    tezos-rust-libs
+    zarith
+  ];
+
+  checkInputs = [
+    alcotest
+  ];
+
+  meta = {
+    homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
+    description = "UNIX version of BLS12-381 primitives, not implementating the virtual package bls12-381";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bls12-381/unix.nix b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/unix.nix
index 4da1a489e2c8..3ac3bb5d99f2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bls12-381/unix.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/bls12-381/unix.nix
@@ -1,45 +1,31 @@
 { lib
 , buildDunePackage
-, rustc
-, cargo
-, dune-configurator
 , bls12-381
-, bls12-381-gen
-, ff-pbt
-, ff-sig
+, hex
+, integers
 , zarith
-, ctypes
-, tezos-rust-libs
 , alcotest
+, bisect_ppx
+, ff-pbt
 }:
 
 buildDunePackage {
   pname = "bls12-381-unix";
 
-  inherit (bls12-381-gen) version src useDune2 doCheck;
-
-  checkInputs = [
-    alcotest
-    ff-pbt
-  ];
-
-  buildInputs = [
-    rustc
-    cargo
-    dune-configurator
-  ];
+  inherit (bls12-381) version src useDune2 doCheck;
 
   propagatedBuildInputs = [
-    ff-sig
-    zarith
-    ctypes
-    bls12-381-gen
     bls12-381
-    tezos-rust-libs
+    hex
+    integers
+    zarith
   ];
 
-  # This is a hack to work around the hack used in the dune files
-  OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
+  checkInputs = [
+    alcotest
+    bisect_ppx
+    ff-pbt
+  ];
 
   meta = {
     description = "UNIX version of BLS12-381 primitives implementing the virtual package bls12-381";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/bos/default.nix b/nixpkgs/pkgs/development/ocaml-modules/bos/default.nix
index 62438526d703..17a0185829e9 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/bos/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
index 2835852d6708..987c325ee00e 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
@@ -14,13 +14,13 @@
 
 buildDunePackage rec {
   pname = "ca-certs-nss";
-  version = "3.71.0.1";
+  version = "3.74";
 
   minimumOCamlVersion = "4.08";
 
   src = fetchurl {
-    url = "https://github.com/mirage/ca-certs-nss/releases/download/v${version}/ca-certs-nss-v${version}.tbz";
-    sha256 = "b83749d983781631745079dccb7345d9ee1b52c1844ce865e97a25349289a124";
+    url = "https://github.com/mirage/ca-certs-nss/releases/download/v${version}/ca-certs-nss-${version}.tbz";
+    sha256 = "c95f5b2e36a0564e6f65421e0e197d7cfe600d19eb492f8f27c4841cbe68b231";
   };
 
   useDune2 = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ca-certs/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ca-certs/default.nix
index acf869dbd275..ce8993b465eb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ca-certs/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ca-certs/default.nix
@@ -18,7 +18,8 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ bos fpath rresult ptime mirage-crypto x509 astring logs ];
 
-  doCheck = true;
+  # Assumes nss-cacert < 3.74 https://github.com/mirage/ca-certs/issues/21
+  doCheck = false;
   checkInputs = [
     cacert    # for /etc/ssl/certs/ca-bundle.crt
     alcotest
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cairo2/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cairo2/default.nix
index 0a9922f67885..1801a0679b56 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cairo2/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cairo2/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator, pkg-config, cairo }:
+{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator, pkg-config, cairo
+, ApplicationServices }:
 
 buildDunePackage rec {
   pname = "cairo2";
@@ -13,7 +14,7 @@ buildDunePackage rec {
   useDune2 = true;
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ cairo dune-configurator ];
+  buildInputs = [ cairo dune-configurator ] ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
   doCheck = !(stdenv.isDarwin
   # https://github.com/Chris00/ocaml-cairo/issues/19
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix b/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
index 8ed562a27e69..b44fd7db6b31 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
index f496ce91c826..42c27f15a5b1 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
@@ -1,17 +1,18 @@
 { lib, stdenv, fetchFromGitHub, which, ocaml, findlib }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if !lib.versionAtLeast ocaml.version "4.10"
 then throw "camlpdf is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  version = "2.4";
-  name = "ocaml${ocaml.version}-camlpdf-${version}";
+  version = "2.5";
+  pname = "ocaml${ocaml.version}-camlpdf";
+
   src = fetchFromGitHub {
     owner = "johnwhitington";
     repo = "camlpdf";
     rev = "v${version}";
-    sha256 = "09kzrgmlxb567315p3fy59ba0kv7xhp548n9i3l4wf9n06p0ww9m";
+    sha256 = "sha256:1qmsa0xgi960y7r20mvf8hxiiml7l1908s4dm7nq262f19w51gsl";
   };
 
   buildInputs = [ which ocaml findlib ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
index 2a0fae4a1dbb..632430fe4f7f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -4,16 +4,15 @@ if !lib.versionAtLeast ocaml.version "4.10"
 then throw "cpdf is not available for OCaml ${ocaml.version}"
 else
 
-let version = "2.4"; in
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-cpdf-${version}";
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-cpdf";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner = "johnwhitington";
     repo = "cpdf-source";
     rev = "v${version}";
-    sha256 = "1a8lmfc76dr8x6pxgm4aypbys02pfma9yh4z3l1qxp2q1909na5l";
+    sha256 = "sha256:1qmx229nij7g6qmiacmyy4mcgx3k9509p4slahivshqm79d6wiwl";
   };
 
   buildInputs = [ ocaml findlib ncurses ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/crowbar/default.nix b/nixpkgs/pkgs/development/ocaml-modules/crowbar/default.nix
index e114e7d8433a..3557c22bc144 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/crowbar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/crowbar/pprint.patch b/nixpkgs/pkgs/development/ocaml-modules/crowbar/pprint.patch
new file mode 100644
index 000000000000..77fc073b77fa
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/dbf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dbf/default.nix
new file mode 100644
index 000000000000..d2dad611bf46
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/dbf/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildDunePackage, fetchFromGitHub, ppx_cstruct, rresult, cstruct-unix
+, core_kernel }:
+
+buildDunePackage rec {
+  pname = "dbf";
+  version = "0.1.1";
+
+  minimalOCamlVersion = "4.08";
+
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "pveber";
+    repo = "dbf";
+    rev = "${version}";
+    sha256 = "sha256-h1K5YDLbXGEJi/quKXvSR0gZ+WkBzut7AsVFv+Bm8/g=";
+  };
+
+  buildInputs = [ ppx_cstruct ];
+  propagatedBuildInputs = [ rresult cstruct-unix core_kernel ];
+
+  meta = with lib; {
+    description = "DBF format parsing";
+    homepage = "https://github.com/pveber/dbf";
+    license = licenses.isc;
+    maintainers = [ maintainers.deltadelta ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix b/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix
index e2501c60f5a1..2ddaec5c7c1d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/digestif/default.nix
@@ -5,13 +5,13 @@
 
 buildDunePackage rec {
   pname = "digestif";
-  version = "1.0.0";
+  version = "1.1.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/digestif/releases/download/v${version}/digestif-v${version}.tbz";
-    sha256 = "11188ya6ksb0p0zvs6saz3qxv4a8pyy8m3sq35f3qfxrxhghqi99";
+    sha256 = "01gwkbrznci4xdcbww4ysgsciz2qs0r8jsmhp0siwbcgcrf1jjv5";
   };
 
   propagatedBuildInputs = [ bigarray-compat eqaf stdlib-shims ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/dum/default.nix b/nixpkgs/pkgs/development/ocaml-modules/dum/default.nix
index d8aa1f371f3b..7bdaf2dfad90 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/dum/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/elina/default.nix b/nixpkgs/pkgs/development/ocaml-modules/elina/default.nix
index 4eff6c2957de..2ddef0f40529 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/elina/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix b/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
index 4412f568508c..0770f3a48d48 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/nixpkgs/pkgs/development/ocaml-modules/erm_xmpp/default.nix
index 9eaad7575ec3..3447d590ea23 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/erm_xmpp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ethernet/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ethernet/default.nix
index bc4f4a475447..59c581e128ae 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ethernet/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ethernet/default.nix
@@ -5,16 +5,16 @@
 
 buildDunePackage rec {
   pname = "ethernet";
-  version = "2.2.0";
+  version = "3.0.0";
 
-  minimumOCamlVersion = "4.06";
+  minimumOCamlVersion = "4.08";
 
   # necessary due to cstruct
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "0qzisqibx2gd8rh330n642mk5wz229199rnlrs7x8cr5pnymif7z";
+    sha256 = "0a898vp9dw42majsvzzvs8pc6x4ns01wlwhwbacixliv6vv78ng9";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/ocaml-modules/expat/default.nix b/nixpkgs/pkgs/development/ocaml-modules/expat/default.nix
index 1812473e78bf..e951acaa71a5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/expat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/farfadet/default.nix b/nixpkgs/pkgs/development/ocaml-modules/farfadet/default.nix
index 77eef7f29a98..79b742da575d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/farfadet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/fix/default.nix b/nixpkgs/pkgs/development/ocaml-modules/fix/default.nix
index ffd0b5003ce4..e960167c869d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/fix/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/fix/default.nix
@@ -2,14 +2,14 @@
 
 buildDunePackage rec {
   pname = "fix";
-  version = "20201120";
+  version = "20211231";
 
   src = fetchFromGitLab {
     domain = "gitlab.inria.fr";
     owner = "fpottier";
     repo = "fix";
     rev = "${version}";
-    sha256 = "sha256-RO+JCG6R2i5uZfwTYEnQBCVq963fjv5lA2wA/8KrgMg=";
+    sha256 = "sha256-T/tbiC95yzPb60AiEcvMRU47D8xUZNN5C4X33Y1VB9E=";
   };
 
   minimumOCamlVersion = "4.03";
@@ -18,7 +18,7 @@ buildDunePackage rec {
   meta = with lib; {
     homepage = "https://gitlab.inria.fr/fpottier/fix/";
     description = "A simple OCaml module for computing the least solution of a system of monotone equations";
-    license = licenses.cecill-c;
+    license = licenses.lgpl2Only;
     maintainers = with maintainers; [ vbgl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix b/nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix
index e68f6a28cb47..bc74a5b58a08 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/frontc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/functory/default.nix b/nixpkgs/pkgs/development/ocaml-modules/functory/default.nix
index 2f11001874f1..959963c4752a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/functory/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/gtktop/default.nix b/nixpkgs/pkgs/development/ocaml-modules/gtktop/default.nix
deleted file mode 100644
index e1afefc6a79f..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/gtktop/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, lib, fetchurl, ocaml, camlp4, findlib, lablgtk-extras }:
-
-let pname = "gtktop-2.0"; in
-
-if lib.versionAtLeast ocaml.version "4.06"
-then throw "${pname} is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation {
-  name = "ocaml-${pname}";
-
-  src = fetchurl {
-    url = "http://zoggy.github.io/gtktop/${pname}.tar.gz";
-    sha256 = "0cpmnavvham9mwxknm6df90g9qxabcvn2kfwlf9mncqa0z3rknz6";
-  };
-
-  buildInputs = [ ocaml camlp4 findlib ];
-  propagatedBuildInputs = [ lablgtk-extras ];
-
-  createFindlibDestdir = true;
-
-  meta = {
-    homepage = "http://zoggy.github.io/gtktop/";
-    description = "A small OCaml library to ease the creation of graphical toplevels";
-    license = lib.licenses.lgpl3;
-    maintainers = with lib.maintainers; [ vbgl ];
-    platforms = ocaml.meta.platforms or [];
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/hacl-star/raw.nix b/nixpkgs/pkgs/development/ocaml-modules/hacl-star/raw.nix
index aa787c9a91a0..c7852338253c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/hacl-star/raw.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/hacl-star/raw.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-hacl-star-raw";
-  version = "0.3.2";
+  version = "0.4.5";
 
   src = fetchzip {
     url = "https://github.com/project-everest/hacl-star/releases/download/ocaml-v${version}/hacl-star.${version}.tar.gz";
-    sha256 = "1wp27vf0g43ggs7cv85hpa62jjvzkwzzg5rfznbwac6j6yr17zc7";
+    sha256 = "1330vgbf5krlkvifby96kyk13xhmihajk2w5hgf2761jrljmnnrs";
     stripRoot = false;
   };
 
   sourceRoot = "./source/raw";
 
-  minimalOCamlVersion = "4.05";
+  minimalOCamlVersion = "4.08";
 
   postPatch = ''
     patchShebangs ./
diff --git a/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix
index fbc21108bd02..94cee795b93c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/httpaf/default.nix
@@ -4,7 +4,7 @@
 
 buildDunePackage rec {
   pname = "httpaf";
-  version = "0.6.6";
+  version = "0.7.1";
 
   useDune2 = true;
 
@@ -12,17 +12,9 @@ buildDunePackage rec {
     owner = "inhabitedtype";
     repo = pname;
     rev = version;
-    sha256 = "065ikryv8zw9cbk6ddcjcind88ckk0inz9m3sqj9nwyfw4v4scm6";
+    sha256 = "0zk78af3qyvf6w66mg8sxygr6ndayzqw5s3zfxibvn121xwni26z";
   };
 
-  patches = [
-    # Fix tests with angstrom ≥ 0.14
-    (fetchpatch {
-      url = "https://github.com/inhabitedtype/httpaf/commit/fc0de5f2f1bd8df953ae4d4c9a61032392436c84.patch";
-      sha256 = "1a8ca76ifbgyaq1bqfyq18mmxinjjparzkrr7ljbj0y1z1rl748z";
-    })
-  ];
-
   checkInputs = [ alcotest ];
   propagatedBuildInputs = [ angstrom faraday ];
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/index/default.nix b/nixpkgs/pkgs/development/ocaml-modules/index/default.nix
index 8e503f5ddd25..34b2ee668ea8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/index/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/index/default.nix
@@ -1,19 +1,19 @@
 { lib, fetchurl, buildDunePackage
 , repr, ppx_repr, fmt, logs, mtime, stdlib-shims
 , cmdliner, progress, semaphore-compat, optint
-, alcotest, crowbar, re
+, alcotest, crowbar, re, lru
 }:
 
 buildDunePackage rec {
   pname = "index";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "https://github.com/mirage/index/releases/download/${version}/index-${version}.tbz";
-    sha256 = "13xd858c50fs651p1y8x70323ff0gzbf6zgc0a25f6xh3rsmkn4c";
+    sha256 = "1q1lv960dk1br8nz8gkibdywl2wv64ywib7b9jn33f6mpb81qc9f";
   };
 
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
   useDune2 = true;
 
   buildInputs = [
@@ -29,6 +29,7 @@ buildDunePackage rec {
     repr
     semaphore-compat
     optint
+    lru
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/ocaml-modules/inotify/default.nix b/nixpkgs/pkgs/development/ocaml-modules/inotify/default.nix
index 8910b720a847..e8289d929637 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/inotify/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix
index fe13377b3c2b..447024f6e120 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/default.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage
 , astring, digestif, fmt, jsonm, logs, ocaml_lwt, ocamlgraph, uri
-, repr, ppx_irmin, bheap
+, repr, ppx_irmin, bheap, uutf
 }:
 
 buildDunePackage {
@@ -9,7 +9,7 @@ buildDunePackage {
   inherit (ppx_irmin) src version;
 
   useDune2 = true;
-  minimumOCamlVersion = "4.07";
+  minimumOCamlVersion = "4.08";
 
   propagatedBuildInputs = [
     astring
@@ -23,6 +23,7 @@ buildDunePackage {
     repr
     bheap
     ppx_irmin
+    uutf
   ];
 
   # circular dependency on irmin-mem
diff --git a/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix b/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix
index 8d57e18dc814..2eecc3a1e5e6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/irmin/ppx.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "ppx_irmin";
-  version = "2.7.2";
+  version = "2.9.1";
 
   src = fetchurl {
     url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
-    sha256 = "29c68c5001a727aaa7a6842d6204ffa3e24b3544fa4f6af2234cdbfa032f7fdf";
+    sha256 = "10r7j4z4gx3dp48lavjhpb1cam27n6ch751amslb0drphy53l00n";
   };
 
   minimumOCamlVersion = "4.08";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/janestreet/default.nix b/nixpkgs/pkgs/development/ocaml-modules/janestreet/default.nix
index 679ef4a58e48..ee906a722501 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/janestreet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix
index 78a081619b27..c228242fda9e 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/jsonm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
index 373e5ded952a..d97f2f5bffd2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
index 232621ad83ba..f64b6571970b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, libglade, gtksourceview, camlp4 }:
+{ stdenv, lib, fetchurl, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, gtksourceview, camlp4 }:
 
 if lib.versionAtLeast ocaml.version "4.04"
 then throw "lablgtk-2.14 is not available for OCaml ${ocaml.version}" else
@@ -17,7 +17,7 @@ stdenv.mkDerivation (rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ ocaml findlib gtk2 libgnomecanvas libglade gtksourceview camlp4 ];
+  buildInputs = [ ocaml findlib gtk2 libgnomecanvas gtksourceview camlp4 ];
 
   configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
   buildFlags = [ "world" ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix
index 09487ac9dad7..a442ae35aa52 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, libglade, gtksourceview }:
+{ lib, stdenv, fetchurl, fetchFromGitHub, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, gtksourceview }:
 
 let param =
   let check = lib.versionAtLeast ocaml.version; in
   if check "4.06" then rec {
-    version = "2.18.10";
+    version = "2.18.12";
     src = fetchFromGitHub {
       owner = "garrigue";
       repo = "lablgtk";
       rev = version;
-      sha256 = "0w8cdfcv2wc19sd3qzj3qq77qc6rbnbynsz02gzbl15kgrvgrfxi";
+      sha256 = "sha256:0asib87c42apwf1ln8541x6i3mvyajqbarifvz11in0mqn5k7g7h";
     };
   } else if check "3.12" then {
     version = "2.18.5";
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   inherit (param) version src;
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ ocaml findlib gtk2 libgnomecanvas libglade gtksourceview ];
+  buildInputs = [ ocaml findlib gtk2 libgnomecanvas gtksourceview ];
 
   configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
   buildFlags = [ "world" ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix
index b14f5b736b45..81fb51d1f1e2 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix
@@ -1,18 +1,25 @@
-{ lib, fetchurl, pkg-config, buildDunePackage, dune-configurator, gtk3, cairo2 }:
+{ lib, fetchFromGitHub, fetchpatch, pkg-config, buildDunePackage, dune-configurator, gtk3, cairo2 }:
 
 buildDunePackage rec {
-  version = "3.1.1";
+  version = "3.1.2";
   pname = "lablgtk3";
 
   useDune2 = true;
 
-  minimumOCamlVersion = "4.05";
+  minimalOCamlVersion = "4.05";
 
-  src = fetchurl {
-    url = "https://github.com/garrigue/lablgtk/releases/download/${version}/lablgtk3-${version}.tbz";
-    sha256 = "1ygc1yh99gh44h958yffw1vxdlfpn799d4x1s36c2jfbi8f0dir2";
+  src = fetchFromGitHub {
+    owner = "garrigue";
+    repo = "lablgtk";
+    rev = version;
+    sha256 = "sha256:0b17w9qb1f02h3313cm62mrqlhwxficppzm72n7sf8mmwrylxbm7";
   };
 
+  patches = [ (fetchpatch {
+    name = "dune-project.patch";
+    url = "https://raw.githubusercontent.com/ocaml/opam-repository/10a48cb9fab88f67f6cb70280e0fec035c32d41c/packages/lablgtk3/lablgtk3.3.1.2/files/dune-project.patch";
+    sha256 = "03jf5hclqdq7iq84djaqcnfnnnd7z3hb48rr8n1gyxzjyx86b3fh";
+  }) ];
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ gtk3 cairo2 ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix b/nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix
index bef06975ac55..971668ce0e11 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
index 3357b99cebfc..264d95f39f67 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/llvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, python, cmake, libllvm, ocaml, findlib, ctypes }:
+{ stdenv, lib, python2, cmake, libllvm, ocaml, findlib, ctypes }:
 
 let version = lib.getVersion libllvm; in
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   inherit (libllvm) src;
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ python ocaml findlib ctypes ];
+  buildInputs = [ python2 ocaml findlib ctypes ];
   propagatedBuildInputs = [ libllvm ];
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lustre-v6/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lustre-v6/default.nix
index 34feaf85c3f3..4eeb01e9f3b4 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lustre-v6/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lustre-v6/default.nix
@@ -20,7 +20,7 @@ buildDunePackage rec {
   ];
 
   meta = with lib; {
-    homepage = "http://www-verimag.imag.fr/lustre-v6.html";
+    homepage = "https://www-verimag.imag.fr/lustre-v6.html";
     description = "Lustre V6 compiler";
     license = lib.licenses.cecill21;
     maintainers = [ lib.maintainers.delta ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/luv/default.nix b/nixpkgs/pkgs/development/ocaml-modules/luv/default.nix
index fec487aeac20..4b11e8df9856 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/luv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix
index 2df17844d1a0..1ba21af864bb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lwt/ppx.nix
@@ -1,4 +1,4 @@
-{ fetchzip, buildDunePackage, lwt, ppxlib }:
+{ fetchFromGitHub, buildDunePackage, lwt, ppxlib }:
 
 buildDunePackage {
   pname = "lwt_ppx";
@@ -8,16 +8,18 @@ buildDunePackage {
 
   minimumOCamlVersion = "4.04";
 
-  src = fetchzip {
-    # `lwt_ppx` has a different release cycle than Lwt, but it's included in
-    # one of its release bundles.
-    # Because there could exist an Lwt release _without_ a `lwt_ppx` release,
-    # this `src` field doesn't inherit from the Lwt derivation.
-    #
-    # This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
-    # as new Lwt releases may contain broken `lwt_ppx` code.
-    url = "https://github.com/ocsigen/lwt/archive/5.4.0.tar.gz";
-    sha256 = "1ay1zgadnw19r9hl2awfjr22n37l7rzxd9v73pjbahavwm2ay65d";
+  # `lwt_ppx` has a different release cycle than Lwt, but it's included in
+  # one of its release bundles.
+  # Because there could exist an Lwt release _without_ a `lwt_ppx` release,
+  # this `src` field doesn't inherit from the Lwt derivation.
+  #
+  # This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
+  # as new Lwt releases may contain broken `lwt_ppx` code.
+  src = fetchFromGitHub {
+    owner = "ocsigen";
+    repo = "lwt";
+    rev = "5.4.0";
+    sha256 = "sha256-rRivROVbQbXkHWen1n8+9AwrRJaOK0Fhyilw29T7was=";
   };
 
   propagatedBuildInputs = [ lwt ppxlib ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt_react/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt_react/default.nix
index 5513935133e8..f6f2bc0f4ef3 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt_react/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
index e5132d64d4d5..cd9cb2370d39 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
@@ -5,12 +5,12 @@
 
 buildDunePackage rec {
   pname = "mdx";
-  version = "1.11.1";
+  version = "2.1.0";
   useDune2 = true;
 
   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/nixpkgs/pkgs/development/ocaml-modules/mirage-nat/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mirage-nat/default.nix
index b04c0bb4a7c9..9d4bbc88c2c5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mirage-nat/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mirage-nat/default.nix
@@ -1,5 +1,5 @@
 { lib, buildDunePackage, fetchurl
-, ipaddr, cstruct, lwt, rresult, logs, lru
+, ipaddr, cstruct, lwt, logs, lru
 , tcpip, ethernet, stdlib-shims
 , alcotest, mirage-clock-unix
 , ppxlib, ppx_deriving
@@ -7,16 +7,16 @@
 
 buildDunePackage rec {
   pname = "mirage-nat";
-  version = "2.2.3";
+  version = "2.2.5";
 
-  minimumOCamlVersion = "4.06";
+  minimumOCamlVersion = "4.08";
 
   # due to cstruct
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "0cy95j184hi8fm1h6z6x1brjfrmbq3zjy2mqz99m8ys9vwkb63ma";
+    sha256 = "01xp0z4mywhawz7rxizi9ph342mqqwyfa5hqgvs8lhqzcym5d104";
   };
 
   buildInputs = [
@@ -27,7 +27,6 @@ buildDunePackage rec {
     ipaddr
     cstruct
     lwt
-    rresult
     logs
     lru
     tcpip
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index a0026e3a8ca8..4e27c8ff3bb7 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
index 9fa302947e92..3e4438f6da58 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix b/nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix
index 055e6db3a645..fdd24094c17b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/notty/default.nix b/nixpkgs/pkgs/development/ocaml-modules/notty/default.nix
index 8e1c5f38cb5d..94342bb31282 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/notty/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/num/default.nix b/nixpkgs/pkgs/development/ocaml-modules/num/default.nix
index e2c7b439c69e..b1293a2ab553 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/num/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
index 63056481199f..581890178eae 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
@@ -17,11 +17,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ocaml ];
 
-  createFindlibDestdir = true;
-
-  buildPhase = "make all opt CPPFLAGS=-Wno-error";
-
-  installPhase = "make install-opt";
+  buildFlags = [ "all" "opt" "CPPFLAGS=-Wno-error" ];
+  installTargets = "install-opt";
+  preInstall = ''
+    # Fix 'dllmllibvirt.so' install failure into non-existent directory.
+    mkdir -p $OCAMLFIND_DESTDIR/stublibs
+  '';
 
   meta = with lib; {
     description = "OCaml bindings for libvirt";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 5c3ca95bb0d8..d6e8f83968aa 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
index be217812834f..7635f3a686cd 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 96a66874c759..67ec458a122d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -37,7 +37,7 @@ buildDunePackage rec {
     ocaml_pcre xml-light
   ];
 
-  configureFlags = [ "--root $(out)" "--prefix /" ];
+  configureFlags = [ "--root $(out)" "--prefix /" "--temproot ''" ];
 
   dontAddPrefix = true;
   dontAddStaticConfigureFlags = true;
@@ -47,6 +47,10 @@ buildDunePackage rec {
     make -C src confs
   '';
 
+  postInstall = ''
+    make install.files
+  '';
+
   postFixup =
   ''
   rm -rf $out/var/run
diff --git a/nixpkgs/pkgs/development/ocaml-modules/paf/cohttp.nix b/nixpkgs/pkgs/development/ocaml-modules/paf/cohttp.nix
index 3ea55b8e71bb..b1a6321032cc 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/paf/cohttp.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/paf/cohttp.nix
@@ -13,6 +13,7 @@
 , tcpip
 , uri
 , lwt
+, astring
 }:
 
 buildDunePackage {
@@ -33,7 +34,7 @@ buildDunePackage {
     ipaddr
   ];
 
-  doCheck = true;
+  doCheck = false;  # tests fail
   checkInputs = [
     alcotest-lwt
     fmt
@@ -43,6 +44,7 @@ buildDunePackage {
     tcpip
     uri
     lwt
+    astring
   ];
 
   meta = paf.meta // {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/paf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/paf/default.nix
index 30277de4e512..05d0edcebd49 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/paf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/paf/default.nix
@@ -25,11 +25,11 @@
 
 buildDunePackage rec {
   pname = "paf";
-  version = "0.0.6";
+  version = "0.0.8";
 
   src = fetchurl {
     url = "https://github.com/dinosaure/paf-le-chien/releases/download/${version}/paf-${version}.tbz";
-    sha256 = "21adbe0f7f9c0242354fa996468d01bf21d5cbcbdd978c911df8e2e299e8f9ae";
+    sha256 = "CyIIV11G7oUPPHuhov52LP4Ih4pY6bcUApD23/9q39k=";
   };
 
   useDune2 = true;
@@ -46,15 +46,15 @@ buildDunePackage rec {
     faraday
     tls
     cstruct
+    tcpip
   ];
 
-  doCheck = true;
+  doCheck = false;
   checkInputs = [
     lwt
     logs
     fmt
     mirage-crypto-rng
-    tcpip
     mirage-time-unix
     ptime
     uri
diff --git a/nixpkgs/pkgs/development/ocaml-modules/parmap/default.nix b/nixpkgs/pkgs/development/ocaml-modules/parmap/default.nix
index d79999087dd8..521c1c406714 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/parmap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix b/nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix
index 1a23a4d3e131..1cb348a41656 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -11,7 +11,7 @@
 , lacaml
 , menhir
 , menhirLib
-, printbox
+, printbox-text
 }:
 
 buildDunePackage rec {
@@ -25,6 +25,11 @@ buildDunePackage rec {
     sha256 = "sha256:0knfh2s0jfnsc0vsq5yw5xla7m7i98xd0qv512dyh3jhkh7m00l9";
   };
 
+  # Ensure compatibility with printbox ≥ 0.6
+  preConfigure = ''
+    substituteInPlace lib/dune --replace printbox printbox-text
+  '';
+
   minimalOCamlVersion = "4.08";
 
   checkInputs = [ alcotest bppsuite ];
@@ -37,7 +42,7 @@ buildDunePackage rec {
     lacaml
     menhirLib
     ppx_deriving
-    printbox
+    printbox-text
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
index 7203f3702850..590c001c4195 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
@@ -16,10 +16,14 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  installPhase = "DESTDIR=$out make install";
+  installPhase = ''
+    runHook preInstall
+    DESTDIR=$out make install
+    runHook postInstall
+  '';
 
   meta = with lib; {
-    homepage = "http://piqi.org";
+    homepage = "https://piqi.org";
     description = "Universal schema language and a collection of tools built around it. These are the ocaml bindings";
     license = licenses.asl20;
     maintainers = [ maintainers.maurer ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/piqi/default.nix b/nixpkgs/pkgs/development/ocaml-modules/piqi/default.nix
index d7bc4b55b452..faeb804d8aa8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/piqi/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/piqi/default.nix
@@ -19,18 +19,12 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  buildPhase = ''
-    make
-    make -C piqilib piqilib.cma
-  '';
+  postBuild = "make -C piqilib piqilib.cma";
 
-  installPhase = ''
-    make install;
-    make ocaml-install;
-  '';
+  installTargets = [ "install" "ocaml-install" ];
 
   meta = with lib; {
-    homepage = "http://piqi.org";
+    homepage = "https://piqi.org";
     description = "Universal schema language and a collection of tools built around it";
     license = licenses.asl20;
     maintainers = [ maintainers.maurer ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix b/nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix
index 0cdde114709c..e0c5c269767b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/pprint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ppx_import/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_import/default.nix
index 6588d6db7f45..192e7258c4c5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_import/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_import/default.nix
@@ -1,27 +1,42 @@
-{ lib, fetchurl, buildDunePackage
-, ppx_tools_versioned
-, ocaml-migrate-parsetree
+{ lib
+, fetchurl
+, buildDunePackage
+, ounit
+, ppx_deriving
+, ppx_sexp_conv
+, ppxlib
 }:
 
+lib.throwIfNot (lib.versionAtLeast ppxlib.version "0.24.0")
+  "ppx_import is not available with ppxlib-${ppxlib.version}"
+
 buildDunePackage rec {
   pname = "ppx_import";
-  version = "1.8.0";
+  version = "1.9.1";
 
   useDune2 = true;
 
-  minimumOCamlVersion = "4.04";
+  minimalOCamlVersion = "4.05";
 
   src = fetchurl {
-    url = "https://github.com/ocaml-ppx/ppx_import/releases/download/v${version}/ppx_import-${version}.tbz";
-    sha256 = "0zqcj70yyp4ik4jc6jz3qs2xhb94vxc6yq9ij0d5cyak28klc3gv";
+    url = "https://github.com/ocaml-ppx/ppx_import/releases/download/${version}/ppx_import-${version}.tbz";
+    sha256 = "1li1f9b1i0yhjy655k74hgzhd05palz726zjbhwcy3iqxvi9id6i";
   };
 
   propagatedBuildInputs = [
-    ppx_tools_versioned ocaml-migrate-parsetree
+    ppxlib
+  ];
+
+  checkInputs = [
+    ounit
+    ppx_deriving
+    ppx_sexp_conv
   ];
 
+  doCheck = true;
+
   meta = {
-    description = "A syntax extension that allows to pull in types or signatures from other compiled interface files";
+    description = "A syntax extension for importing declarations from interface files";
     license = lib.licenses.mit;
     homepage = "https://github.com/ocaml-ppx/ppx_import";
   };
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix
deleted file mode 100644
index 4e135c1b115e..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, lib, buildDunePackage, fetchurl, ocaml, ocaml-migrate-parsetree }:
-
-buildDunePackage (rec {
-  pname = "ppxfind";
-  version = "1.4";
-  src = fetchurl {
-    url = "https://github.com/diml/ppxfind/releases/download/${version}/ppxfind-${version}.tbz";
-    sha256 = "0wa9vcrc26kirc2cqqs6kmarbi8gqy3dgdfiv9y7nzsgy1liqacq";
-  };
-
-  minimumOCamlVersion = "4.03";
-  useDune2 = true;
-
-  buildInputs = [ ocaml-migrate-parsetree ];
-
-  # Don't run the native `strip' when cross-compiling.
-  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
-
-  meta = {
-    homepage = "https://github.com/diml/ppxfind";
-    description = "ocamlfind ppx tool";
-    license = lib.licenses.bsd3;
-    maintainers = [ lib.maintainers.vbgl ];
-  };
-} // (
-if lib.versions.majorMinor ocaml.version == "4.04" then {
-  dontStrip = true;
-} else {}
-))
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
index faae96764bc5..c5b2dd762ced 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -2,7 +2,7 @@
 , version ?
   if lib.versionAtLeast ocaml.version "4.07"
   then if lib.versionAtLeast ocaml.version "4.08"
-  then "0.23.0" else "0.15.0" else "0.13.0"
+  then "0.24.0" else "0.15.0" else "0.13.0"
 , ocaml-compiler-libs, ocaml-migrate-parsetree, ppx_derivers, stdio
 , stdlib-shims, ocaml-migrate-parsetree-2
 }:
@@ -42,6 +42,10 @@ let param = {
     sha256 = "0jg5v4pssbl66hn5davpin1i57a0r3r54l96vpz5y99xk5w70xi1";
     min_version = "4.07";
   };
+  "0.24.0" = {
+    sha256 = "sha256-wuG7cUZiVP2PdM+nZloip7lGGiWn6Wpkh2YoF/Fuc9o=";
+    min_version = "4.07";
+  };
 }."${version}"; in
 
 if param ? max_version && lib.versionAtLeast ocaml.version param.max_version
diff --git a/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix b/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix
index 04361de72221..b42df087a9a6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/printbox/default.nix
@@ -1,21 +1,21 @@
-{ lib, fetchFromGitHub, buildDunePackage, ocaml, uucp, uutf, mdx }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml, mdx }:
 
 buildDunePackage rec {
   pname = "printbox";
-  version = "0.5";
+  version = "0.6";
 
   useDune2 = true;
 
-  minimumOCamlVersion = "4.03";
+  minimalOCamlVersion = "4.03";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = pname;
-    rev = version;
-    sha256 = "099yxpp7d9bms6dwzp9im7dv1qb801hg5rx6awpx3rpfl4cvqfn2";
+    rev = "v${version}";
+    sha256 = "sha256:0vqp8j1vp8h8par699nnh31hnikzh6pqn07lqyxw65axqy3sc9dp";
   };
 
-  checkInputs = [ uucp uutf mdx.bin ];
+  checkInputs = [ mdx.bin ];
 
   # mdx is not available for OCaml < 4.07
   doCheck = lib.versionAtLeast ocaml.version "4.07";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/printbox/text.nix b/nixpkgs/pkgs/development/ocaml-modules/printbox/text.nix
new file mode 100644
index 000000000000..cc0aa5691de7
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/printbox/text.nix
@@ -0,0 +1,14 @@
+{ buildDunePackage, printbox, uucp, uutf, mdx }:
+
+buildDunePackage {
+  pname = "printbox-text";
+  inherit (printbox) src version useDune2 doCheck;
+
+  propagatedBuildInputs = [ printbox uucp uutf ];
+
+  checkInputs = [ mdx.bin ];
+
+  meta = printbox.meta // {
+    description = "Text renderer for printbox, using unicode edges";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/process/default.nix b/nixpkgs/pkgs/development/ocaml-modules/process/default.nix
index aecf03987ab1..89faf40c3be5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/process/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/progress/default.nix b/nixpkgs/pkgs/development/ocaml-modules/progress/default.nix
index a3c0a5add3d2..4c00ff98465a 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/progress/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/progress/default.nix
@@ -1,23 +1,20 @@
-{ lib, buildDunePackage, fetchurl
-, mtime, terminal_size, alcotest, astring, fmt
+{ lib, buildDunePackage
+, fmt, logs, mtime, optint, terminal, vector
+, alcotest, astring
 }:
 
 buildDunePackage rec {
   pname = "progress";
-  version = "0.1.1";
 
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
   useDune2 = true;
 
-  src = fetchurl {
-    url = "https://github.com/CraigFe/progress/releases/download/${version}/progress-${version}.tbz";
-    sha256 = "90c6bec19d014a4c6b0b67006f08bdfcf36981d2176769bebe0ccd75d6785a32";
-  };
+  inherit (terminal) version src;
 
-  propagatedBuildInputs = [ mtime terminal_size ];
+  propagatedBuildInputs = [ fmt logs mtime optint terminal vector ];
 
   doCheck = true;
-  checkInputs = [ alcotest astring fmt ];
+  checkInputs = [ alcotest astring ];
 
   meta = with lib; {
     description = "Progress bar library for OCaml";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix
index d99ec7ed3208..7015c6058b4f 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ptime/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/pycaml/default.nix b/nixpkgs/pkgs/development/ocaml-modules/pycaml/default.nix
index bee8a6106ea1..c19b40eb9afe 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/pycaml/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/pycaml/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, ncurses, python, ocaml_make }:
+{ lib, stdenv, fetchurl, ocaml, findlib, ncurses, python2, ocaml_make }:
 
 # This is the original pycaml version with patches from debian.
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   sourceRoot = "pycaml";
   patches = [ "../debian/patches/*.patch" ];
 
-  buildInputs = [ ncurses ocaml findlib python ocaml_make ];
+  buildInputs = [ ncurses ocaml findlib python2 ocaml_make ];
   createFindlibDestdir = true;
 
   # the Makefile is not shipped with an install target, hence we do it ourselves.
diff --git a/nixpkgs/pkgs/development/ocaml-modules/repr/default.nix b/nixpkgs/pkgs/development/ocaml-modules/repr/default.nix
index 282d24d9b73b..168da21a04eb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/repr/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/repr/default.nix
@@ -1,12 +1,12 @@
-{ lib, buildDunePackage, fetchurl, base64, either, fmt, jsonm, uutf }:
+{ lib, buildDunePackage, fetchurl, base64, either, fmt, jsonm, uutf, optint }:
 
 buildDunePackage rec {
   pname = "repr";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "https://github.com/mirage/${pname}/releases/download/${version}/${pname}-fuzz-${version}.tbz";
-    sha256 = "1kpwgncyxcrq90dn7ilja7c5i88whc3fz4fmq1lwr0ar95d7d48p";
+    sha256 = "1y9qnbaxcyxz7bzkkq5lwjrv715mvp2vphzcrd8vbvjhp7df3l1f";
   };
 
   minimumOCamlVersion = "4.08";
@@ -18,6 +18,7 @@ buildDunePackage rec {
     fmt
     jsonm
     uutf
+    optint
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/repr/ppx.nix b/nixpkgs/pkgs/development/ocaml-modules/repr/ppx.nix
index 561015254d75..b495f6bb7729 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/repr/ppx.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/repr/ppx.nix
@@ -11,7 +11,7 @@ buildDunePackage {
     repr
   ];
 
-  doCheck = true;
+  doCheck = false; # tests fail with ppxlib >= 0.23.0
   checkInputs = [
     alcotest
     hex
diff --git a/nixpkgs/pkgs/development/ocaml-modules/rope/default.nix b/nixpkgs/pkgs/development/ocaml-modules/rope/default.nix
index f29219e30c24..9410ab21ea34 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/rope/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix b/nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix
index 04631cc3b4bc..1198ca957f01 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/rresult/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/sosa/default.nix b/nixpkgs/pkgs/development/ocaml-modules/sosa/default.nix
index f244ad550bf1..1605a15bea8e 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/sosa/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/stdcompat/default.nix b/nixpkgs/pkgs/development/ocaml-modules/stdcompat/default.nix
index df5c1a58b17b..0f3b5377fc51 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/stdcompat/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/stdcompat/default.nix
@@ -4,14 +4,16 @@
 
 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 ];
+  # build fails otherwise
+  enableParallelBuilding = false;
 
   configureFlags = "--libdir=$(OCAMLFIND_DESTDIR)";
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix b/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix
index 635e9aea1171..ad12cb42d5e9 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tcpip/default.nix
@@ -6,20 +6,20 @@
 , lwt, lwt-dllist, logs, duration, randomconv, ethernet
 , alcotest, mirage-flow, mirage-vnetif, pcap-format
 , mirage-clock-unix, arp, ipaddr-cstruct, mirage-random-test
-, lru
+, lru, metrics
 , withFreestanding ? false
 , ocaml-freestanding
 }:
 
 buildDunePackage rec {
   pname = "tcpip";
-  version = "6.2.0";
+  version = "7.0.1";
 
   useDune2 = true;
 
   src = fetchurl {
-    url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "d0f6e643ce04da808d5f977c5ab2422cdb4f67e7abdc46dd6776ceada7151e1b";
+    url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
+    sha256 = "0gqj2s9sk3a7f4yavx423a569fvxsrgm0wg58biiv16v37xjaymp";
   };
 
   nativeBuildInputs = [
@@ -51,18 +51,19 @@ buildDunePackage rec {
     randomconv
     ethernet
     lru
+    metrics
+    arp
   ] ++ lib.optionals withFreestanding [
     ocaml-freestanding
   ];
 
-  doCheck = true;
+  doCheck = false;
   checkInputs = [
     alcotest
     mirage-flow
     mirage-vnetif
     pcap-format
     mirage-clock-unix
-    arp
     ipaddr-cstruct
   ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/terminal/default.nix b/nixpkgs/pkgs/development/ocaml-modules/terminal/default.nix
new file mode 100644
index 000000000000..1fcdc1a5cba9
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/terminal/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildDunePackage, fetchurl, ocaml
+, stdlib-shims, uutf, uucp
+, alcotest, fmt
+}:
+
+buildDunePackage rec {
+  pname = "terminal";
+  version = "0.2.1";
+
+  minimalOCamlVersion = "4.03";
+  useDune2 = true;
+
+  src = fetchurl {
+    url = "https://github.com/CraigFe/progress/releases/download/${version}/terminal-${version}.tbz";
+    sha256 = "sha256:0vjqkvmpyi8kvmb4vrx3f0994rph8i9pvlrz1dyi126vlb2zbrvs";
+  };
+
+  propagatedBuildInputs = [ stdlib-shims uutf uucp ];
+
+  doCheck = lib.versionAtLeast ocaml.version "4.05";
+  checkInputs = [ alcotest fmt ];
+
+  meta = with lib; {
+    description = "Basic utilities for interacting with terminals";
+    homepage = "https://github.com/CraigFe/progress";
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix
new file mode 100644
index 000000000000..589d6465b206
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, tezos-client-011-PtHangz2
+, tezos-protocol-011-PtHangz2
+, tezos-protocol-011-PtHangz2-parameters
+, tezos-protocol-environment
+, tezos-shell-services
+, tezos-stdlib-unix
+, tezos-test-helpers
+}:
+
+buildDunePackage {
+  pname = "tezos-011-PtHangz2-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  propagatedBuildInputs = [
+    tezos-base
+    tezos-client-011-PtHangz2
+    tezos-protocol-011-PtHangz2
+    tezos-protocol-011-PtHangz2-parameters
+    tezos-protocol-environment
+    tezos-shell-services
+    tezos-stdlib-unix
+    tezos-test-helpers
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol testing framework";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/base-test-helpers.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/base-test-helpers.nix
new file mode 100644
index 000000000000..d9a8307bd305
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/base-test-helpers.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildDunePackage
+, alcotest
+, alcotest-lwt
+, tezos-base
+, tezos-event-logging-test-helpers
+, tezos-stdlib
+, tezos-test-helpers
+}:
+
+buildDunePackage {
+  pname = "tezos-base-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_base/test_helpers";
+
+  propagatedBuildInputs = [
+    alcotest
+    alcotest-lwt
+    tezos-base
+    tezos-event-logging-test-helpers
+  ];
+
+  checkInputs = [
+    tezos-test-helpers
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: base test helpers";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix
new file mode 100644
index 000000000000..ec564f70f3bd
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-mockup-registration
+, tezos-proxy
+, tezos-signer-backends
+, tezos-protocol-011-PtHangz2-parameters
+, tezos-protocol-plugin-011-PtHangz2
+, alcotest-lwt
+, cacert
+, ppx_inline_test
+, qcheck-alcotest
+, tezos-base-test-helpers
+, tezos-test-helpers
+}:
+
+buildDunePackage {
+  pname = "tezos-client-011-PtHangz2";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  propagatedBuildInputs = [
+    tezos-mockup-registration
+    tezos-proxy
+    tezos-signer-backends
+    tezos-protocol-011-PtHangz2-parameters
+    tezos-protocol-plugin-011-PtHangz2
+    ppx_inline_test
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    cacert
+    qcheck-alcotest
+    tezos-base-test-helpers
+    tezos-test-helpers
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol specific library for `tezos-client`";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
index f0f9c2be7706..e2b9a8e8d79b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
@@ -3,25 +3,18 @@
 , tezos-stdlib
 , tezos-protocol-010-PtGRANAD
 , tezos-protocol-updater
-, tezos-protocol-compiler
 }:
 
 buildDunePackage {
   pname = "tezos-embedded-protocol-010-PtGRANAD";
   inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol";
-
-  preBuild = tezos-protocol-010-PtGRANAD.preBuild;
+  src = "${tezos-stdlib.base_src}/src";
 
   propagatedBuildInputs = [
     tezos-protocol-010-PtGRANAD
     tezos-protocol-updater
   ];
 
-  buildInputs = [
-    tezos-protocol-compiler
-  ];
-
   doCheck = true;
 
   meta = tezos-stdlib.meta // {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix
new file mode 100644
index 000000000000..abe4aed67eb7
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-demo-noops
+, tezos-protocol-updater
+}:
+
+buildDunePackage {
+  pname = "tezos-embedded-protocol-demo-noops";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  propagatedBuildInputs = [
+    tezos-protocol-demo-noops
+    tezos-protocol-updater
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: demo_noops (economic-protocol definition, embedded in `tezos-node`)";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix
new file mode 100644
index 000000000000..0407277bde99
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildDunePackage
+, alcotest
+, tezos-event-logging
+, tezos-stdlib
+, tezos-test-helpers
+}:
+
+buildDunePackage {
+  pname = "tezos-event-logging-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_event_logging/test_helpers/";
+
+  propagatedBuildInputs = [
+    alcotest
+    tezos-event-logging
+    tezos-test-helpers
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: test helpers for the event logging library";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
index 89c15b0f6345..fd209741b3f6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
@@ -3,26 +3,22 @@
 , ocaml
 , tezos-stdlib
 , lwt
-, alcotest
 , alcotest-lwt
 , tezos-test-helpers
 }:
 
-if lib.versionAtLeast ocaml.version "4.12" then
-  throw "tezos-lwt-result-stdlib-${tezos-stdlib.version} is not available for OCaml > 4.10"
-else
-
 buildDunePackage {
   pname = "tezos-lwt-result-stdlib";
   inherit (tezos-stdlib) version useDune2;
   src = "${tezos-stdlib.base_src}/src/lib_lwt_result_stdlib";
 
+  minimalOCamlVersion = "4.12";
+
   propagatedBuildInputs = [
     lwt
   ];
 
   checkInputs = [
-    alcotest
     alcotest-lwt
     tezos-test-helpers
   ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix
index cec1f1ef7b6e..bdaabfda1b7d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/p2p.nix
@@ -1,11 +1,14 @@
 { lib
 , buildDunePackage
-, tezos-stdlib
-, tezos-p2p-services
-, tezos-test-services
 , alcotest-lwt
 , astring
+, lwt
+, lwt-canceler
 , lwt-watcher
+, ringo
+, tezos-base-test-helpers
+, tezos-p2p-services
+, tezos-stdlib
 }:
 
 buildDunePackage {
@@ -14,17 +17,20 @@ buildDunePackage {
   src = "${tezos-stdlib.base_src}/src/lib_p2p";
 
   propagatedBuildInputs = [
-    tezos-p2p-services
+    lwt
+    lwt-canceler
     lwt-watcher
+    ringo
+    tezos-p2p-services
   ];
 
   checkInputs = [
-    astring
     alcotest-lwt
-    tezos-test-services
+    astring
+    tezos-base-test-helpers
   ];
 
-  doCheck = true;
+  doCheck = false; # some tests fail
 
   meta = tezos-stdlib.meta // {
     description = "Tezos: library for a pool of P2P connections";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
index 80809cafbab2..2321245220f6 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
@@ -7,13 +7,7 @@
 buildDunePackage {
   pname = "tezos-protocol-010-PtGRANAD";
   inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol";
-
-  preBuild = ''
-    rm dune
-    cp -f ${tezos-protocol-compiler.src}/dune_protocol dune
-    sed -i.back -e s/-nostdlib//g dune.inc
-  '';
+  src = "${tezos-stdlib.base_src}/src";
 
   buildInputs = [
     tezos-protocol-compiler
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix
new file mode 100644
index 000000000000..26b05e56f85c
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-011-PtHangz2
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-011-PtHangz2-parameters";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  propagatedBuildInputs = [
+    tezos-protocol-011-PtHangz2
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: parameters";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix
new file mode 100644
index 000000000000..2dec60851770
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-011-PtHangz2";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-alpha.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-alpha.nix
new file mode 100644
index 000000000000..df31eeeefb8e
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-alpha.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-alpha";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  propagatedBuildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
index 6178fb6c0811..ac72c518e827 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
@@ -2,14 +2,14 @@
 , buildDunePackage
 , ocaml
 , tezos-stdlib
+, tezos-version
 , tezos-protocol-environment
 , ocp-ocamlres
-, re
 , pprint
 }:
 
-if lib.versionAtLeast ocaml.version "4.12" then
-  throw "tezos-protocol-compiler-${tezos-stdlib.version} is not available for OCaml > 4.10"
+if lib.versionAtLeast ocaml.version "4.13" then
+  throw "tezos-protocol-compiler-${tezos-stdlib.version} is not available for OCaml > 4.12"
 else
 
 buildDunePackage {
@@ -17,12 +17,12 @@ buildDunePackage {
   inherit (tezos-stdlib) version useDune2;
   src = "${tezos-stdlib.base_src}/src/lib_protocol_compiler";
 
-  minimalOCamlVersion = "4.10";
+  minimalOCamlVersion = "4.12";
 
   propagatedBuildInputs = [
+    tezos-version
     tezos-protocol-environment
     ocp-ocamlres
-    re
     pprint
   ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
new file mode 100644
index 000000000000..02958401ff8f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-demo-noops";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/";
+
+  propagatedBuildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: demo_noops economic-protocol definition";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
index 3008de624319..dfd3fd14fe30 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
@@ -11,6 +11,8 @@ buildDunePackage {
   inherit (tezos-stdlib) version useDune2;
   src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
+  minimalOCamlVersion = "4.12";
+
   postPatch = ''
     ls ./sigs/v0
     cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v1/z.mli
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
index f7b61b22b235..c55578b5605c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
@@ -3,6 +3,7 @@
 , tezos-stdlib
 , tezos-crypto
 , tezos-protocol-environment-packer
+, bls12-381-legacy
 }:
 
 buildDunePackage {
@@ -13,6 +14,7 @@ buildDunePackage {
   propagatedBuildInputs = [
     tezos-crypto
     tezos-protocol-environment-packer
+    bls12-381-legacy
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
index 292e4ce41ee6..f3e8bc42c54c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
@@ -1,6 +1,8 @@
 { lib
 , ocaml
 , buildDunePackage
+, bls12-381
+, bls12-381-legacy
 , tezos-stdlib
 , tezos-base
 , tezos-sapling
@@ -18,6 +20,8 @@ buildDunePackage {
   src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
   propagatedBuildInputs = [
+    bls12-381
+    bls12-381-legacy
     tezos-sapling
     tezos-base
     tezos-context
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
index 2ce231577426..8e80b3c65d31 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
@@ -1,9 +1,8 @@
 { lib
 , buildDunePackage
 , tezos-stdlib
-, tezos-embedded-protocol-010-PtGRANAD
 , tezos-protocol-010-PtGRANAD
-, tezos-shell
+, tezos-protocol-environment
 }:
 
 buildDunePackage {
@@ -12,9 +11,8 @@ buildDunePackage {
   src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_plugin";
 
   buildInputs = [
-    tezos-embedded-protocol-010-PtGRANAD
     tezos-protocol-010-PtGRANAD
-    tezos-shell
+    tezos-protocol-environment
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix
new file mode 100644
index 000000000000..79333e046178
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-011-PtHangz2
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-plugin-011-PtHangz2";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  buildInputs = [
+    tezos-protocol-011-PtHangz2
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol plugin";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix
new file mode 100644
index 000000000000..588a420a8901
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-alpha
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-plugin-alpha";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src";
+
+  propagatedBuildInputs = [
+    tezos-protocol-alpha
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol plugin";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/proxy.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/proxy.nix
index 4e46027de0db..91ed6ab2340d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/proxy.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/proxy.nix
@@ -5,9 +5,9 @@
 , tezos-context
 , ringo-lwt
 , alcotest-lwt
-, crowbar
-, tezos-test-services
-, tezos-test-helpers
+, qcheck-alcotest
+, tezos-base-test-helpers
+, tezos-shell-services-test-helpers
 }:
 
 buildDunePackage {
@@ -23,9 +23,9 @@ buildDunePackage {
 
   checkInputs = [
     alcotest-lwt
-    crowbar
-    tezos-test-services
-    tezos-test-helpers
+    qcheck-alcotest
+    tezos-base-test-helpers
+    tezos-shell-services-test-helpers
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix
index 2326f8ec91d5..35e426feb292 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/requester.nix
@@ -2,9 +2,11 @@
 , buildDunePackage
 , tezos-stdlib
 , tezos-base
-, tezos-test-services
 , lwt-watcher
 , alcotest-lwt
+, qcheck-alcotest
+, tezos-base-test-helpers
+, tezos-test-helpers
 }:
 
 buildDunePackage {
@@ -19,7 +21,9 @@ buildDunePackage {
 
   checkInputs = [
     alcotest-lwt
-    tezos-test-services
+    qcheck-alcotest
+    tezos-base-test-helpers
+    tezos-test-helpers
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix
index a51973ed7241..59e61d49af0c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/sapling.nix
@@ -4,7 +4,7 @@
 , tezos-stdlib
 , tezos-crypto
 , tezos-rust-libs
-, tezos-test-services
+, tezos-base-test-helpers
 , alcotest-lwt
 }:
 
@@ -20,7 +20,7 @@ buildDunePackage {
 
   checkInputs = [
     alcotest-lwt
-    tezos-test-services
+    tezos-base-test-helpers
   ];
 
   # requires the "zcash-params" files
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix
new file mode 100644
index 000000000000..077e44852edd
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-test-helpers
+, tezos-base
+, tezos-shell-services
+, qcheck-core
+, qcheck-alcotest
+}:
+
+buildDunePackage {
+  pname = "tezos-shell-services-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_shell_services/test_helpers/";
+
+  propagatedBuildInputs = [
+    tezos-base
+    tezos-shell-services
+    tezos-test-helpers
+    qcheck-core
+  ];
+
+  checkInputs = [
+    qcheck-alcotest
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: shell_services test helpers";
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix
index d15993e0a919..34354b1821f8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell-services.nix
@@ -4,6 +4,7 @@
 , tezos-workers
 , tezos-p2p-services
 , tezos-version
+, alcotest-lwt
 }:
 
 buildDunePackage {
@@ -19,6 +20,10 @@ buildDunePackage {
 
   doCheck = true;
 
+  checkInputs = [
+    alcotest-lwt
+  ];
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
   };
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/shell.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell.nix
index 268db42fcdb9..cdf5ea663955 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/shell.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/shell.nix
@@ -5,13 +5,13 @@
 , tezos-requester
 , tezos-validation
 , tezos-store
-, tezos-workers
-, tezos-test-services
-# , tezos-embedded-protocol-demo-noops
-, tezos-test-helpers
-# , tezos-protocol-plugin-alpha
+, lwt-canceler
 , alcotest-lwt
-, crowbar
+, qcheck-alcotest
+, tezos-base-test-helpers
+, tezos-embedded-protocol-demo-noops
+, tezos-protocol-plugin-alpha
+, tezos-test-helpers
 }:
 
 buildDunePackage {
@@ -20,24 +20,23 @@ buildDunePackage {
   src = "${tezos-stdlib.base_src}/src/lib_shell";
 
   propagatedBuildInputs = [
+    lwt-canceler
     tezos-p2p
     tezos-requester
-    tezos-validation
     tezos-store
-    tezos-workers
+    tezos-validation
   ];
 
   checkInputs = [
     alcotest-lwt
-    crowbar
+    qcheck-alcotest
+    tezos-base-test-helpers
+    tezos-embedded-protocol-demo-noops
+    tezos-protocol-plugin-alpha
     tezos-test-helpers
-    tezos-test-services
-    # tezos-embedded-protocol-demo-noops
-    # tezos-protocol-plugin-alpha
   ];
 
-  # A lot of extra deps with wide dependency cones needed
-  doCheck = false;
+  doCheck = true;
 
   meta = tezos-stdlib.meta // {
     description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix
index 07ec63785bea..31dfd43b6153 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/stdlib.nix
@@ -16,17 +16,17 @@
 
 buildDunePackage rec {
   pname = "tezos-stdlib";
-  version = "10.2";
+  version = "11.0";
   base_src = fetchFromGitLab {
     owner = "tezos";
     repo = "tezos";
     rev = "v${version}";
-    sha256 = "1sqwbdclsvzz0781r0830ncy1j048h12jp3hsdy7hz4dpqp80jsq";
+    sha256 = "uUYd1DxH2bdCQlevQt3oGxvg0ai5EiCD2mti5SiueU8=";
   };
 
   src = "${base_src}/src/lib_stdlib";
 
-  minimalOCamlVersion = "4.10.0";
+  minimalOCamlVersion = "4.08";
 
   useDune2 = true;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/test-helpers.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/test-helpers.nix
index 68a0d841ccf5..6b3c42b85bac 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/test-helpers.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/tezos/test-helpers.nix
@@ -4,10 +4,7 @@
 , qcheck-alcotest
 , alcotest
 , alcotest-lwt
-, hashcons
-, pyml
 , uri
-, tezos-test-services
 , tezos-stdlib
 }:
 
@@ -20,8 +17,6 @@ buildDunePackage rec {
     qcheck-alcotest
     alcotest
     alcotest-lwt
-    hashcons
-    pyml
     uri
   ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix b/nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix
deleted file mode 100644
index 0da38d896ead..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/tezos/test-services.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib
-, fetchFromGitLab
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-test-services";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_test_services";
-
-  propagatedBuildInputs = [
-    tezos-base
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: Alcotest-based test services";
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix b/nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix
index 97052115da6b..9e1369a8567b 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/topkg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/torch/default.nix b/nixpkgs/pkgs/development/ocaml-modules/torch/default.nix
index 1cf84dd4938e..7a0c6bdadeff 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/torch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix b/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
index cc77a731f020..4ec160a92230 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, camlp4 }:
+{ stdenv, lib, fetchFromGitHub, ocaml, findlib, camlp4 }:
 
 if !lib.versionAtLeast ocaml.version "4.00"
   || lib.versionAtLeast ocaml.version "4.03"
@@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
   pname = "ocaml-type_conv";
   version = "109.60.01";
 
-  src = fetchurl {
-    url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
-    sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx";
+  src = fetchFromGitHub {
+    owner = "janestreet";
+    repo = "type_conv";
+    rev = version;
+    sha256 = "sha256-8Oz/fPL3+RghyxQp5u6seSEdf0BgfP6XNcsMYty0rNs=";
   };
 
   buildInputs = [ ocaml findlib camlp4 ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
index c71bfa00e7ef..e90ca2d16a64 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildOcaml}:
+{ lib, fetchFromGitHub, buildOcaml}:
 
 buildOcaml rec {
   minimumSupportedOcamlVersion = "4.02";
@@ -6,9 +6,11 @@ buildOcaml rec {
   pname = "type_conv";
   version = "113.00.02";
 
-  src = fetchurl {
-    url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
-    sha256 = "1718yl2q8zandrs4xqffkfmssfld1iz62dzcqdm925735c1x01fk";
+  src = fetchFromGitHub {
+    owner = "janestreet";
+    repo = "type_conv";
+    rev = version;
+    sha256 = "sha256-HzH0hnceCQ2kDRATjl+tfKk3XSBDsGnPzVUGYpDQUmU=";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix
index b71442a6a8b3..073e6865fcdd 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/uunf/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation {
 
   propagatedBuildInputs = [ uchar ];
 
+  prePatch = lib.optionalString stdenv.isAarch64 "ulimit -s 16384";
+
   inherit (topkg) buildPhase installPhase;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/ocaml-modules/vector/default.nix b/nixpkgs/pkgs/development/ocaml-modules/vector/default.nix
new file mode 100644
index 000000000000..c5f4336bb833
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/vector/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildDunePackage, fetchurl }:
+
+buildDunePackage rec {
+  pname = "vector";
+  version = "1.0.0";
+
+  useDune2 = true;
+
+  src = fetchurl {
+    url = "https://github.com/backtracking/vector/releases/download/${version}/vector-${version}.tbz";
+    sha256 = "sha256:0hb6prpada4c5z07sxf5ayj5xbahsnwall15vaqdwdyfjgbd24pj";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "Resizable arrays for OCaml";
+    license = lib.licenses.lgpl2Only;
+    homepage = "https://github.com/backtracking/vector";
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/wasm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/wasm/default.nix
index 4befff2721b9..bf7fcb66fe5c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/wasm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/webbrowser/default.nix b/nixpkgs/pkgs/development/ocaml-modules/webbrowser/default.nix
index ebc5472ce53b..6a21a1e1f751 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/webbrowser/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/webbrowser/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-webbrowser-${version}";
+  pname = "ocaml${ocaml.version}-webbrowser";
   version = "0.6.1";
   src = fetchurl {
     url = "https://erratique.ch/software/webbrowser/releases/webbrowser-${version}.tbz";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/xml-light/default.nix b/nixpkgs/pkgs/development/ocaml-modules/xml-light/default.nix
index 248b3f124074..683d2ec214f1 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/xml-light/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix b/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix
index 01b384fe0ba5..43fc5b245c8d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/z3/default.nix
@@ -1,9 +1,18 @@
-{ stdenv, ocaml, findlib, zarith, z3 }:
+{ stdenv, lib, ocaml, findlib, zarith, z3 }:
 
-let z3-with-ocaml = z3.override {
+if !lib.versionAtLeast ocaml.version "4.07"
+then throw "z3 is not available for OCaml ${ocaml.version}"
+else
+
+let z3-with-ocaml = (z3.override {
   ocamlBindings = true;
   inherit ocaml findlib zarith;
-}; in
+}).overrideAttrs (o: {
+  patches = (o.patches or []) ++ [
+    # Fix build; see: https://github.com/Z3Prover/z3/issues/5776
+    ./ocamlfind.patch
+  ];
+}); in
 
 stdenv.mkDerivation {
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/z3/ocamlfind.patch b/nixpkgs/pkgs/development/ocaml-modules/z3/ocamlfind.patch
new file mode 100644
index 000000000000..d84907cf7938
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/z3/ocamlfind.patch
@@ -0,0 +1,13 @@
+diff --git a/scripts/mk_util.py b/scripts/mk_util.py
+index 042e6af46..1e105b002 100644
+--- a/scripts/mk_util.py
++++ b/scripts/mk_util.py
+@@ -1995,7 +1995,7 @@ class MLComponent(Component):
+ 
+             LIBZ3 = LIBZ3 + ' ' + ' '.join(map(lambda x: '-cclib ' + x, LDFLAGS.split()))
+ 
+-            stubs_install_path = '$$(%s printconf path)/stublibs' % OCAMLFIND
++            stubs_install_path = '$$(%s printconf destdir)/stublibs' % OCAMLFIND
+             if not STATIC_LIB:
+                 loadpath = '-ccopt -L' + stubs_install_path
+                 dllpath = '-dllpath ' + stubs_install_path
diff --git a/nixpkgs/pkgs/development/octave-modules/miscellaneous/default.nix b/nixpkgs/pkgs/development/octave-modules/miscellaneous/default.nix
index 74c3879aa9ef..db2f45a5ac3d 100644
--- a/nixpkgs/pkgs/development/octave-modules/miscellaneous/default.nix
+++ b/nixpkgs/pkgs/development/octave-modules/miscellaneous/default.nix
@@ -2,7 +2,6 @@
 , lib
 , fetchurl
 # Build-time dependencies
-, mlterm
 , ncurses # >= 5
 , units
 }:
@@ -17,7 +16,6 @@ buildOctavePackage rec {
   };
 
   buildInputs = [
-    mlterm
     ncurses
   ];
 
diff --git a/nixpkgs/pkgs/development/octave-modules/symbolic/default.nix b/nixpkgs/pkgs/development/octave-modules/symbolic/default.nix
index e40d27e7c385..513826539929 100644
--- a/nixpkgs/pkgs/development/octave-modules/symbolic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/perl-modules/generic/default.nix b/nixpkgs/pkgs/development/perl-modules/generic/default.nix
index 9beacd65a646..6de9685715d7 100644
--- a/nixpkgs/pkgs/development/perl-modules/generic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/composer/default.nix b/nixpkgs/pkgs/development/php-packages/composer/default.nix
index 9247f984d433..a3920691a8d2 100644
--- a/nixpkgs/pkgs/development/php-packages/composer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/ds/default.nix b/nixpkgs/pkgs/development/php-packages/ds/default.nix
new file mode 100644
index 000000000000..c6417fd5513a
--- /dev/null
+++ b/nixpkgs/pkgs/development/php-packages/ds/default.nix
@@ -0,0 +1,19 @@
+{ buildPecl, lib, pcre2, php }:
+
+buildPecl {
+  pname = "ds";
+
+  version = "1.4.0";
+  sha256 = "1vwk5d27zd746767l8cvbcdr8r70v74vw0im38mlw1g85mc31fd9";
+
+  buildInputs = [ pcre2 ];
+
+  internalDeps = lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ];
+
+  meta = with lib; {
+    description = "An extension providing efficient data structures for PHP";
+    license = licenses.mit;
+    homepage = "https://github.com/php-ds/ext-ds";
+    maintainers = teams.php.members;
+  };
+}
diff --git a/nixpkgs/pkgs/development/php-packages/igbinary/default.nix b/nixpkgs/pkgs/development/php-packages/igbinary/default.nix
index 886f75ecc9f3..15d3d1b70862 100644
--- a/nixpkgs/pkgs/development/php-packages/igbinary/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/imagick/default.nix b/nixpkgs/pkgs/development/php-packages/imagick/default.nix
index 280ad28f8f60..5150833945b0 100644
--- a/nixpkgs/pkgs/development/php-packages/imagick/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/maxminddb/default.nix b/nixpkgs/pkgs/development/php-packages/maxminddb/default.nix
index 852a86a7b178..141d3126836b 100644
--- a/nixpkgs/pkgs/development/php-packages/maxminddb/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/maxminddb/default.nix
@@ -13,8 +13,11 @@ buildPecl {
     sha256 = "sha256-Dw1+pYJmZ3U2+rgSOEkx4a6HB8FebSr7YZodOjSipjI=";
   };
 
+  prePatch = ''
+    cd ext
+  '';
+
   buildInputs = [ libmaxminddb ];
-  sourceRoot = "source/ext";
 
   meta = with lib; {
     description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader";
diff --git a/nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix b/nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix
index ab7e6e71fea5..8f47a211e78d 100644
--- a/nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "pdo_sqlsrv";
 
-  version = "5.9.0";
-  sha256 = "0n4cnkldvyp1lrpj18ky2ii2dcaa51dsmh8cspixm7w76dxl3khg";
+  version = "5.10.0";
+  sha256 = "sha256-BEa7i/8egvz9mT69dl0dxWcVo+dURT9Dzo6f6EdlESo=";
 
   internalDeps = [ php.extensions.pdo ];
 
diff --git a/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix b/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix
index 8e3329ae0b11..bf1c806dfc38 100644
--- a/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/phpstan/default.nix b/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
index 55d3570dfb73..b00da4972f67 100644
--- a/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/protobuf/default.nix b/nixpkgs/pkgs/development/php-packages/protobuf/default.nix
index 2d4a1af9af6c..b24a8f025e50 100644
--- a/nixpkgs/pkgs/development/php-packages/protobuf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/psysh/default.nix b/nixpkgs/pkgs/development/php-packages/psysh/default.nix
index b3ca5edebf9c..a9a5a007d94d 100644
--- a/nixpkgs/pkgs/development/php-packages/psysh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/rdkafka/default.nix b/nixpkgs/pkgs/development/php-packages/rdkafka/default.nix
index 6ac94b8eb025..c7c8e8d059c4 100644
--- a/nixpkgs/pkgs/development/php-packages/rdkafka/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/rdkafka/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "rdkafka";
 
-  version = "5.0.2";
-  sha256 = "sha256-slCwtt8ySE5Zk2tnaYO6E0N20VZS8CVSsr8EgqssvOk=";
+  version = "6.0.0";
+  sha256 = "sha256-24kHOvonhXvMnnMfe3/fDYHGkyD8vnuC4NaVBwP9TY4=";
 
   buildInputs = [ rdkafka pcre2 ];
 
diff --git a/nixpkgs/pkgs/development/php-packages/redis/default.nix b/nixpkgs/pkgs/development/php-packages/redis/default.nix
index 025c2a38ab0f..f893a4ed7979 100644
--- a/nixpkgs/pkgs/development/php-packages/redis/default.nix
+++ b/nixpkgs/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.6";
+  sha256 = "sha256-/ilewmolIE5sB+jXFEIQ92e9cAiFhxnaIwQJ6z9vLgk=";
 
   internalDeps = with php.extensions; [
     session
diff --git a/nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix b/nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix
index 37ff1cb187ee..b70b6c3f3d9e 100644
--- a/nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "sqlsrv";
 
-  version = "5.9.0";
-  sha256 = "1css440b4qrbblmcswd5wdr2v1rjxlj2iicbmvjq9fg81028w40a";
+  version = "5.10.0";
+  sha256 = "sha256-drPwg6Go8QNYHCG6OkbWyiV76uZyjNFYpkpGq1miJrQ=";
 
   buildInputs = [
     unixODBC
diff --git a/nixpkgs/pkgs/development/php-packages/swoole/default.nix b/nixpkgs/pkgs/development/php-packages/swoole/default.nix
index d017bc86f1ab..99b2b53f7ee7 100644
--- a/nixpkgs/pkgs/development/php-packages/swoole/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/php-packages/xdebug/default.nix b/nixpkgs/pkgs/development/php-packages/xdebug/default.nix
index a7a710b3193e..ba582dbb757b 100644
--- a/nixpkgs/pkgs/development/php-packages/xdebug/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/xdebug/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "xdebug";
 
-  version = "3.1.2";
-  sha256 = "sha256-CD9r4RAN95zL3wSdr8OTC6s18OuA+bGawa2E+md5zPM=";
+  version = "3.1.3";
+  sha256 = "sha256-N9CmcBlV9bNAbGwye3cCvXwhRi5lbztMziSgUlgBPU4=";
 
   doCheck = true;
   checkTarget = "test";
diff --git a/nixpkgs/pkgs/development/pure-modules/audio/default.nix b/nixpkgs/pkgs/development/pure-modules/audio/default.nix
index 34d405d6a396..5a19ef0a72d5 100644
--- a/nixpkgs/pkgs/development/pure-modules/audio/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/audio/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, portaudio, fftw, libsndfile, libsamplerate }:
 
 stdenv.mkDerivation rec {
-  baseName = "audio";
+  pname = "pure-audio";
   version = "0.6";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-audio-${version}.tar.gz";
     sha256 = "c1f2a5da73983efb5a54f86d57ba93713ebed20ff0c72de9b3467f10f2904ee0";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/avahi/default.nix b/nixpkgs/pkgs/development/pure-modules/avahi/default.nix
index 7b8cc1b00ac3..d2f35ffca766 100644
--- a/nixpkgs/pkgs/development/pure-modules/avahi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/avahi/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, avahi }:
 
 stdenv.mkDerivation rec {
-  baseName = "avahi";
+  pname = "pure-avahi";
   version = "0.3";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-avahi-${version}.tar.gz";
     sha256 = "5fac8a6e3a54e45648ceb207ee0061b22eac8c4e668b8d53f13eb338b09c9160";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/csv/default.nix b/nixpkgs/pkgs/development/pure-modules/csv/default.nix
index f51739f03395..767ac0432ee0 100644
--- a/nixpkgs/pkgs/development/pure-modules/csv/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/csv/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure }:
 
 stdenv.mkDerivation rec {
-  baseName = "csv";
+  pname = "pure-csv";
   version = "1.6";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-csv-${version}.tar.gz";
     sha256 = "fe7c4edebe8208c54d5792a9eefaeb28c4a58b9094d161a6dda8126f0823ab3c";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/doc/default.nix b/nixpkgs/pkgs/development/pure-modules/doc/default.nix
index aa678cb21a4f..2940c58b21b6 100644
--- a/nixpkgs/pkgs/development/pure-modules/doc/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/doc/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure }:
 
 stdenv.mkDerivation rec {
-  baseName = "doc";
+  pname = "pure-doc";
   version = "0.7";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-doc-${version}.tar.gz";
     sha256 = "cfa880573941f37868269bcc443a09fecd2a141a78556383d2213f6c9f45ddd9";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix b/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix
index 04ea1dde589b..63b91f9a4f2c 100644
--- a/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, fcgi }:
 
 stdenv.mkDerivation rec {
-  baseName = "fastcgi";
+  pname = "pure-fastcgi";
   version = "0.6";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-fastcgi-${version}.tar.gz";
     sha256 = "aa5789cc1e17521c01f349ee82ce2a00500e025b3f8494f89a7ebe165b5aabc7";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/faust/default.nix b/nixpkgs/pkgs/development/pure-modules/faust/default.nix
index 4a3b12ea7fae..eef81e59cbf6 100644
--- a/nixpkgs/pkgs/development/pure-modules/faust/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/faust/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, faust, libtool }:
 
 stdenv.mkDerivation rec {
-  baseName = "faust";
+  pname = "pure-faust";
   version = "0.11";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-faust-${version}.tar.gz";
     sha256 = "51278a3b0807c4770163dc2ce423507dcf0ffec9cd1c1fbc08426d07294f6ae0";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/ffi/default.nix b/nixpkgs/pkgs/development/pure-modules/ffi/default.nix
index 3b076a4f38c2..fd119b309ba0 100644
--- a/nixpkgs/pkgs/development/pure-modules/ffi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/ffi/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, libffi }:
 
 stdenv.mkDerivation rec {
-  baseName = "ffi";
+  pname = "pure-ffi";
   version = "0.14";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-ffi-${version}.tar.gz";
     sha256 = "0331f48efaae40af21b23cf286fd7eac0ea0a249d08fd97bf23246929c0ea71a";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/gen/default.nix b/nixpkgs/pkgs/development/pure-modules/gen/default.nix
index 278c782da327..9698f0659a2b 100644
--- a/nixpkgs/pkgs/development/pure-modules/gen/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gen/default.nix
@@ -2,12 +2,11 @@
   pkg-config, pure, haskellPackages }:
 
 stdenv.mkDerivation rec {
-  baseName = "gen";
+  pname = "pure-gen";
   version = "0.20";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gen-${version}.tar.gz";
     sha256 = "cfadd99a378b296325937d2492347611cc1e1d9f24594f91f3c2293eca01a4a8";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/gl/default.nix b/nixpkgs/pkgs/development/pure-modules/gl/default.nix
index 952d583bfd88..479835d95794 100644
--- a/nixpkgs/pkgs/development/pure-modules/gl/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gl/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, freeglut, libGLU, libGL, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
-  baseName = "gl";
+  pname = "pure-gl";
   version = "0.9";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gl-${version}.tar.gz";
     sha256 = "edd594222f89ae372067eda6679a37488986b9739b5b79b4a25ac48255d31bba";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/glpk/default.nix b/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
index 7b8c46ef47f4..112d1ef23594 100644
--- a/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
@@ -2,12 +2,11 @@
   pkg-config, pure, glpk, gmp, libtool, libmysqlclient, libiodbc }:
 
 stdenv.mkDerivation rec {
-  baseName = "glpk";
+  pname = "pure-glpk";
   version = "0.5";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-glpk-${version}.tar.gz";
     sha256 = "5d6dc11706985dda02d96d481ea5f164c9e95ee446432fc4fc3d0db61a076346";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/gplot/default.nix b/nixpkgs/pkgs/development/pure-modules/gplot/default.nix
index ddae95c43f06..54fca97a9cd2 100644
--- a/nixpkgs/pkgs/development/pure-modules/gplot/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gplot/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, gnuplot }:
 
 stdenv.mkDerivation rec {
-  baseName = "gplot";
+  pname = "pure-gplot";
   version = "0.1";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gplot-${version}.tar.gz";
     sha256 = "841ded98e4d1cdfaf78f95481e5995d0440bfda2d5df533d6741a6e7058a882c";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/gsl/default.nix b/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
index 204aeb6bb741..7ba60a9ea6c4 100644
--- a/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pure, pkg-config, gsl }:
 
 stdenv.mkDerivation rec {
-  baseName = "gsl";
+  pname = "pure-gsl";
   version = "0.12";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gsl-${version}.tar.gz";
     sha256 = "06bdd873d5417d90ca35093056a060b77365123ed24c3ac583cd3922d4c78a75";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/gtk/default.nix b/nixpkgs/pkgs/development/pure-modules/gtk/default.nix
index 8cc3781e825e..adbd824abb69 100644
--- a/nixpkgs/pkgs/development/pure-modules/gtk/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/gtk/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, pure-ffi, gtk2 }:
 
 stdenv.mkDerivation rec {
-  baseName = "gtk";
+  pname = "pure-gtk";
   version = "0.13";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gtk-${version}.tar.gz";
     sha256 = "e659ff1bc5809ce35b810f8ac3fb7e8cadaaef13996537d8632e2f86ed76d203";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/liblo/default.nix b/nixpkgs/pkgs/development/pure-modules/liblo/default.nix
index 40502bbc140a..d19c7b511cf1 100644
--- a/nixpkgs/pkgs/development/pure-modules/liblo/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/liblo/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, liblo }:
 
 stdenv.mkDerivation rec {
-  baseName = "liblo";
+  pname = "pure-liblo";
   version = "0.9";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-liblo-${version}.tar.gz";
     sha256 = "c2ba4d6f94489acf8a8fac73982ae03d5ad4113146eb1f7d6558a956c57cb8ee";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/lilv/default.nix b/nixpkgs/pkgs/development/pure-modules/lilv/default.nix
index 577170118bb1..bcadeba5acff 100644
--- a/nixpkgs/pkgs/development/pure-modules/lilv/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/lilv/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, lilv, lv2, serd, sord, sratom }:
 
 stdenv.mkDerivation rec {
-  baseName = "lilv";
+  pname = "pure-lilv";
   version = "0.4";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-lilv-${version}.tar.gz";
     sha256 = "af20982fe43e8dce62d50bf7a78e461ab36c308325b123cddbababf0d3beaf9f";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/lv2/default.nix b/nixpkgs/pkgs/development/pure-modules/lv2/default.nix
index 800c39684318..742db4eac413 100644
--- a/nixpkgs/pkgs/development/pure-modules/lv2/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/lv2/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, lv2 }:
 
 stdenv.mkDerivation rec {
-  baseName = "lv2";
+  pname = "pure-lv2";
   version = "0.2";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-lv2-${version}.tar.gz";
     sha256 = "721cacd831781d8309e7ecabb0ee7c01da17e75c5642a5627cf158bfb36093e1";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/midi/default.nix b/nixpkgs/pkgs/development/pure-modules/midi/default.nix
index bbca0b080892..f1a463414af1 100644
--- a/nixpkgs/pkgs/development/pure-modules/midi/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/midi/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, portmidi }:
 
 stdenv.mkDerivation rec {
-  baseName = "midi";
+  pname = "pure-midi";
   version = "0.6";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-midi-${version}.tar.gz";
     sha256 = "817ae9fa5f443a8c478a6770f36091e3cf99f3515c74e00d09ca958dead1e7eb";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix b/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix
index 8afb74027d73..3a2ef117b5b7 100644
--- a/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure }:
 
 stdenv.mkDerivation rec {
-  baseName = "mpfr";
+  pname = "pure-mpfr";
   version = "0.5";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-mpfr-${version}.tar.gz";
     sha256 = "39d2255c2c0c2d60ce727be178b5e5a06f7c92eb365976c49c4a34b1edc576e7";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/octave/default.nix b/nixpkgs/pkgs/development/pure-modules/octave/default.nix
index 591555f39c8e..ffb622567e5a 100644
--- a/nixpkgs/pkgs/development/pure-modules/octave/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/octave/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, octave }:
 
 stdenv.mkDerivation rec {
-  baseName = "octave";
+  pname = "pure-octave";
   version = "0.9";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-octave-${version}.tar.gz";
     sha256 = "0l1mvmi3rpabzjcrk6p04rdn922mvdm9x67zby3dha5iiccc47q0";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/odbc/default.nix b/nixpkgs/pkgs/development/pure-modules/odbc/default.nix
index 272c88a697cd..e826eae2eb55 100644
--- a/nixpkgs/pkgs/development/pure-modules/odbc/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/odbc/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, libiodbc }:
 
 stdenv.mkDerivation rec {
-  baseName = "odbc";
+  pname = "pure-odbc";
   version = "0.10";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-odbc-${version}.tar.gz";
     sha256 = "1907e9ebca11cc68762cf7046084b31e9e2bf056df85c40ccbcbe9f02221ff8d";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix b/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
index bbf22e9c6fbe..bf9bd988ddbc 100644
--- a/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, pandoc, gawk, getopt }:
 
 stdenv.mkDerivation rec {
-  baseName = "pandoc";
+  pname = "pure-pandoc";
   version = "0.1";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-pandoc-${version}.tar.gz";
     sha256 = "0f23a17549048ca3a8f4936ea9e931feb05997390b486850936b746996350cda";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/rational/default.nix b/nixpkgs/pkgs/development/pure-modules/rational/default.nix
index 99cefc9682a9..2dfed3422507 100644
--- a/nixpkgs/pkgs/development/pure-modules/rational/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/rational/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure }:
 
 stdenv.mkDerivation rec {
-  baseName = "rational";
+  pname = "pure-rational";
   version = "0.1";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-rational-${version}.tar.gz";
     sha256 = "62cb4079a0dadd232a859e577e97e50e9718ccfcc5983c4d9c4c32cac7a9bafa";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/readline/default.nix b/nixpkgs/pkgs/development/pure-modules/readline/default.nix
index f3015e275355..283d75323bef 100644
--- a/nixpkgs/pkgs/development/pure-modules/readline/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/readline/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, readline }:
 
 stdenv.mkDerivation rec {
-  baseName = "readline";
+  pname = "pure-readline";
   version = "0.3";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-readline-${version}.tar.gz";
     sha256 = "db8e6663b1c085466c09662fe86d952b6f4ffdafeecffe805c681ab91c910886";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/sockets/default.nix b/nixpkgs/pkgs/development/pure-modules/sockets/default.nix
index 5e1a01bc624e..f50d3f3efbf7 100644
--- a/nixpkgs/pkgs/development/pure-modules/sockets/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/sockets/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure }:
 
 stdenv.mkDerivation rec {
-  baseName = "sockets";
+  pname = "pure-sockets";
   version = "0.7";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-sockets-${version}.tar.gz";
     sha256 = "4f2769618ae5818cf6005bb08bcf02fe359a2e31998d12dc0c72f0494e9c0420";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/sql3/default.nix b/nixpkgs/pkgs/development/pure-modules/sql3/default.nix
index 009b367c6915..8db3fa58085d 100644
--- a/nixpkgs/pkgs/development/pure-modules/sql3/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/sql3/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, sqlite }:
 
 stdenv.mkDerivation rec {
-  baseName = "sql3";
+  pname = "pure-sql3";
   version = "0.5";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-sql3-${version}.tar.gz";
     sha256 = "b9f79dd443c8ffc5cede51e2af617f24726f5c0409aab4948c9847e6adb53c37";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/stldict/default.nix b/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
index 46b711d9fa63..145617bc83ec 100644
--- a/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure }:
 
 stdenv.mkDerivation rec {
-  baseName = "stldict";
+  pname = "pure-stldict";
   version = "0.8";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-stldict-${version}.tar.gz";
     sha256 = "5b894ae6dc574c7022258e2732bea649c82c959ec4d0be13fb5a3e8ba8488f28";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/stllib/default.nix b/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
index 009543ee71cb..dabdb73fd7ce 100644
--- a/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
@@ -1,9 +1,8 @@
 { lib, stdenv, fetchurl, pkg-config, pure }:
 
 stdenv.mkDerivation rec {
-  baseName = "stllib";
+  pname = "pure-stllib";
   version = "0.6";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
     url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-stllib-${version}.tar.gz";
diff --git a/nixpkgs/pkgs/development/pure-modules/tk/default.nix b/nixpkgs/pkgs/development/pure-modules/tk/default.nix
index 4a2c86783c1a..35da57f47cda 100644
--- a/nixpkgs/pkgs/development/pure-modules/tk/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/tk/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, tcl, tk, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
-  baseName = "tk";
+  pname = "pure-tk";
   version = "0.5";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-tk-${version}.tar.gz";
     sha256 = "3b6e97e2d723d5a05bf25f4ac62068ac17a1fd81db03e1986366097bf071a516";
   };
 
diff --git a/nixpkgs/pkgs/development/pure-modules/xml/default.nix b/nixpkgs/pkgs/development/pure-modules/xml/default.nix
index e9d35c4d1fb5..92f4b62966e0 100644
--- a/nixpkgs/pkgs/development/pure-modules/xml/default.nix
+++ b/nixpkgs/pkgs/development/pure-modules/xml/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, pure, libxml2, libxslt }:
 
 stdenv.mkDerivation rec {
-  baseName = "xml";
+  pname = "pure-xml";
   version = "0.7";
-  name = "pure-${baseName}-${version}";
 
   src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-xml-${version}.tar.gz";
     sha256 = "e862dec060917a285bc3befc90f4eb70b6cc33136fb524ad3aa173714a35b0f7";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/APScheduler/default.nix b/nixpkgs/pkgs/development/python-modules/APScheduler/default.nix
index e0ebf564163f..52d4ecdc3b71 100644
--- a/nixpkgs/pkgs/development/python-modules/APScheduler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/APScheduler/default.nix
@@ -2,55 +2,51 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
-, setuptools-scm
-, pytestCheckHook
+, gevent
 , pytest-asyncio
 , pytest-tornado
-, sqlalchemy
+, pytestCheckHook
+, pythonOlder
+, pytz
+, setuptools
+, setuptools-scm
+, six
 , tornado
 , twisted
-, mock
-, gevent
-, six
-, pytz
 , tzlocal
-, funcsigs
-, setuptools
-, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "APScheduler";
+  pname = "apscheduler";
   version = "3.8.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "5cf344ebcfbdaa48ae178c029c055cec7bc7a4a47c21e315e4d1f08bd35f2355";
+    pname = "APScheduler";
+    inherit version;
+    hash = "sha256-XPNE68+9qkiuF4wCnAVc7HvHpKR8IeMV5NHwi9NfI1U=";
   };
 
   buildInputs = [
     setuptools-scm
   ];
 
+  propagatedBuildInputs = [
+    pytz
+    setuptools
+    six
+    tzlocal
+  ];
+
   checkInputs = [
+    gevent
     pytest-asyncio
     pytest-tornado
     pytestCheckHook
-    sqlalchemy
     tornado
     twisted
-    mock
-    gevent
-  ];
-
-  propagatedBuildInputs = [
-    six
-    pytz
-    tzlocal
-    funcsigs
-    setuptools
   ];
 
   postPatch = ''
@@ -60,15 +56,21 @@ buildPythonPackage rec {
 
   disabledTests = [
     "test_broken_pool"
+    # gevent tests have issue on newer Python releases
+    "test_add_live_job"
+    "test_add_pending_job"
+    "test_shutdown"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_submit_job"
     "test_max_instances"
   ];
 
-  pythonImportsCheck = [ "apscheduler" ];
+  pythonImportsCheck = [
+    "apscheduler"
+  ];
 
   meta = with lib; {
-    description = "A Python library that lets you schedule your Python code to be executed";
+    description = "Library that lets you schedule your Python code to be executed";
     homepage = "https://github.com/agronholm/apscheduler";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/GitPython/default.nix b/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
index 7ae407908961..dc909f5bcee8 100644
--- a/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/GitPython/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "gitpython";
-  version = "3.1.24";
+  version = "3.1.25";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "gitpython-developers";
     repo = "GitPython";
     rev = version;
-    sha256 = "sha256-KfR14EqXsDgIZUerk/hHDB0Z7IuqncbTNd/yNwrV9I0=";
+    sha256 = "sha256-ienc7zvLe6t8rkMtC6wVIewUqQBFdFbLc8iPT6aPVrE=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/Markups/default.nix b/nixpkgs/pkgs/development/python-modules/Markups/default.nix
deleted file mode 100644
index 1fa304f57a8a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/Pygments/default.nix b/nixpkgs/pkgs/development/python-modules/Pygments/default.nix
index bb17af144cbe..af125e1f40ef 100644
--- a/nixpkgs/pkgs/development/python-modules/Pygments/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/absl-py/default.nix b/nixpkgs/pkgs/development/python-modules/absl-py/default.nix
index 30a0e68dea0c..bda6c950d598 100644
--- a/nixpkgs/pkgs/development/python-modules/absl-py/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 9e32e903e82f..a93137f136b8 100644
--- a/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.18.0";
+  version = "3.19.6";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "593f3719580b31b3dffab0817414a3aa548ed609659ad216ceb8cf31cc51ec9b";
+    sha256 = "sha256-Y9g0A9pVjEVcITyaQsyAew6rraTPwZuevSsDD46c0DM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/adal/default.nix b/nixpkgs/pkgs/development/python-modules/adal/default.nix
index d3826013c8ee..45c256b6647b 100644
--- a/nixpkgs/pkgs/development/python-modules/adal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adal/default.nix
@@ -1,19 +1,47 @@
-{ lib, buildPythonPackage, fetchPypi
-, requests, pyjwt, python-dateutil }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpretty
+, pyjwt
+, pytestCheckHook
+, python-dateutil
+, requests
+}:
 
 buildPythonPackage rec {
   pname = "adal";
   version = "1.2.7";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d74f45b81317454d96e982fd1c50e6fb5c99ac2223728aea8764433a39f566f1";
+  src = fetchFromGitHub {
+    owner = "AzureAD";
+    repo = "azure-activedirectory-library-for-python";
+    rev = version;
+    hash = "sha256-HE8/P0aohoZNeMdcQVKdz6M31FMrjsd7oVytiaD0idI=";
   };
 
-  propagatedBuildInputs =  [ requests pyjwt python-dateutil ];
+  propagatedBuildInputs = [
+    pyjwt
+    python-dateutil
+    requests
+  ];
+
+  checkInputs = [
+    httpretty
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # AssertionError: 'Mex [23 chars]tp error:...
+    "test_failed_request"
+  ];
+
+  pythonImportsCheck = [
+    "adal"
+  ];
 
   meta = with lib; {
-    description = "Library to make it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources";
+    description = "Python module to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources";
     homepage = "https://github.com/AzureAD/azure-activedirectory-library-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/adax-local/default.nix b/nixpkgs/pkgs/development/python-modules/adax-local/default.nix
new file mode 100644
index 000000000000..315395522b8b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/adax-local/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, aiohttp
+, bleak
+, buildPythonPackage
+, fetchFromGitHub
+, async-timeout
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "adax-local";
+  version = "0.1.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "Danielhiversen";
+    repo = "pyAdaxLocal";
+    rev = version;
+    hash = "sha256-pzhaBRCn02asT0ZLt1EmnaX2g5wr/CoiItWJ/ZYe0Ok=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    bleak
+    async-timeout
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "adax_local"
+  ];
+
+  meta = with lib; {
+    description = "Module for local access to Adax";
+    homepage = "https://github.com/Danielhiversen/pyAdaxLocal";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/adb-shell/default.nix b/nixpkgs/pkgs/development/python-modules/adb-shell/default.nix
index bc71e3721288..907cf155ea10 100644
--- a/nixpkgs/pkgs/development/python-modules/adb-shell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adb-shell/default.nix
@@ -7,6 +7,7 @@
 , libusb1
 , mock
 , pyasn1
+, pythonAtLeast
 , pycryptodome
 , pytestCheckHook
 , rsa
@@ -15,15 +16,15 @@
 buildPythonPackage rec {
   pname = "adb-shell";
   version = "0.4.2";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
-  # pypi does not contain tests, using github sources instead
   src = fetchFromGitHub {
     owner = "JeffLIrion";
     repo = "adb_shell";
     rev = "v${version}";
-    sha256 = "sha256-8tclSjmLlTAIeq6t7YPGtJwvSwtlzQ7sRAQatcQRzeY=";
+    hash = "sha256-8tclSjmLlTAIeq6t7YPGtJwvSwtlzQ7sRAQatcQRzeY=";
   };
 
   propagatedBuildInputs = [
@@ -40,7 +41,16 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "adb_shell" ];
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    # Tests are failing with Python 3.10
+    # https://github.com/JeffLIrion/adb_shell/issues/198
+    "TestAdbDeviceAsync"
+    "TestTcpTransportAsync"
+  ];
+
+  pythonImportsCheck = [
+    "adb_shell"
+  ];
 
   meta = with lib; {
     description = "Python implementation of ADB with shell and FileSync functionality";
diff --git a/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix b/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
index dfa576e657c9..134132f9931e 100644
--- a/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "adguardhome";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -20,9 +20,18 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-${pname}";
     rev = "v${version}";
-    sha256 = "sha256-f8uZF4DXbfiL1nL82shjGNpo6lXSUomRgO1YnNT/GDw=";
+    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/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix b/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix
index 9685f5c9969d..fd4fb79a5999 100644
--- a/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "adjusttext";
-  version = "0.7.3";
+  version = "0.7.3.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Phlya";
     repo = pname;
     rev = version;
-    sha256 = "02apaznnnmwmrn342f22dj5dldn56gdl9v5qix07ah6kgp9503yw";
+    sha256 = "1a6hizx1cnplj0irn8idgda2lacsb61dw464cwx798pjr1gd401n";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/advantage-air/default.nix b/nixpkgs/pkgs/development/python-modules/advantage-air/default.nix
index 5ce9d196c4c1..d8a8cf579733 100644
--- a/nixpkgs/pkgs/development/python-modules/advantage-air/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/advantage-air/default.nix
@@ -1,21 +1,33 @@
-{ aiohttp, buildPythonPackage, fetchPypi, lib, pythonOlder }:
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
 
 buildPythonPackage rec {
-  pname = "advantage_air";
-  version = "0.2.5";
+  pname = "advantage-air";
+  version = "0.3.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit version pname;
-    sha256 = "sha256-38csg1Cvpz4dkRCwlNc8+af7aJ5xDrZO1D8cCaBlePA=";
+    pname = "advantage_air";
+    inherit version;
+    hash = "sha256-C+cB6oHmbr9mHZKnbls42yenQy3+L8huLk9wKazIWfU=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   # No tests
   doCheck = false;
-  pythonImportsCheck = [ "advantage_air" ];
+
+  pythonImportsCheck = [
+    "advantage_air"
+  ];
 
   meta = with lib; {
     description = "API helper for Advantage Air's MyAir and e-zone API";
diff --git a/nixpkgs/pkgs/development/python-modules/aenum/default.nix b/nixpkgs/pkgs/development/python-modules/aenum/default.nix
index c63b3b4ffdf8..a360959a9a73 100644
--- a/nixpkgs/pkgs/development/python-modules/aenum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aenum/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "3.1.5";
+  version = "3.1.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LrrYWQtqAYPA2Yk1I7RY7c6YeuRTMznFrBhc+sMtrxo=";
+    sha256 = "8dbe15f446eb8264b788dfeca163fb0a043d408d212152397dc11377b851e4ae";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/afdko/default.nix b/nixpkgs/pkgs/development/python-modules/afdko/default.nix
index d0de050c86f9..66f12ffd54b0 100644
--- a/nixpkgs/pkgs/development/python-modules/afdko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/afdko/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder
+{ lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder
 , fonttools, defcon, lxml, fs, unicodedata2, zopfli, brotlipy, fontpens
 , brotli, fontmath, mutatormath, booleanoperations
 , ufoprocessor, ufonormalizer, psautohint, tqdm
@@ -37,8 +37,15 @@ buildPythonPackage rec {
   patches = [
     # Don't try to install cmake and ninja using pip
     ./no-pypi-build-tools.patch
+
     # Use antlr4 runtime from nixpkgs and link it dynamically
     ./use-dynamic-system-antlr4-runtime.patch
+
+    # Fix compatibility with latest fonttools.
+    (fetchpatch {
+      url = "https://github.com/adobe-type-tools/afdko/commit/120752c50a562e4f6c12ff4be1e3bd96ed664e82.patch";
+      sha256 = "RDGIpNAuCmK+zqZOeOK7ddCjr9BuqPpcnbnxdtoE48M=";
+    })
   ];
 
   # setup.py will always (re-)execute cmake in buildPhase
@@ -80,7 +87,7 @@ buildPythonPackage rec {
     "test_filename_without_dir"
     "test_overwrite"
     "test_options"
-  ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [
+  ] ++ lib.optionals (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isRiscV) [
     # aarch64-only (?) failure, unknown reason so far
     # https://github.com/adobe-type-tools/afdko/issues/1425
     "test_spec"
diff --git a/nixpkgs/pkgs/development/python-modules/afsapi/default.nix b/nixpkgs/pkgs/development/python-modules/afsapi/default.nix
index 8ad6fa98ff6e..4bc3532f5b57 100644
--- a/nixpkgs/pkgs/development/python-modules/afsapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/afsapi/default.nix
@@ -6,22 +6,29 @@
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "afsapi";
-  version = "0.0.4";
+  version = "0.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = "zhelev";
+    owner = "wlcrs";
     repo = "python-afsapi";
     rev = version;
-    sha256 = "aevxhHuRedDs0JxeMlYSKHDQwcIs7miRm4FCtssdE0w=";
+    hash = "sha256-C4rxlkylWGsDsnMPuecrC2ELj1PvP6EelZ/kzTn4Brk=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     lxml
@@ -42,7 +49,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python implementation of the Frontier Silicon API";
-    homepage = "https://github.com/zhelev/python-afsapi";
+    homepage = "https://github.com/wlcrs/python-afsapi";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index ca74671ab81a..94c47ab62a0e 100644
--- a/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -7,20 +7,25 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.1.10913";
+  version = "9.1.11752";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-S+ntSC9KySj2njkxEkr7p2TDsBqY0Gf+zzwomnGwSEk=";
+    hash = "sha256-UbcPxYEyuX8W0uZXeCu00yBshdcPBAQKzZqhAYXTf+8=";
   };
 
-  propagatedBuildInputs = [ pyvex ];
+  propagatedBuildInputs = [
+    pyvex
+  ];
 
   # Tests depend on angr (possibly a circular dependency)
   doCheck = false;
+
   #pythonImportsCheck = [ "ailment" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix
index f347ed5cd1bf..f00a75961b9c 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
index b42ba55bfa74..f3076160f9c6 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
index 3cc46ae3afb9..3ba2b430801e 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
index 792f91bc7f11..c790188ea269 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix b/nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix
index 2b40028721a7..586cc6b74a82 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix b/nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix
index 6b6d295f8b86..b33e2e35ee1c 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aioapns/default.nix b/nixpkgs/pkgs/development/python-modules/aioapns/default.nix
index 47e8de0f8d26..0a9b8fffae74 100644
--- a/nixpkgs/pkgs/development/python-modules/aioapns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioapns/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "aioapns";
-  version = "2.0.2";
+  version = "2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ea58ce685aa6d0ffbdc3be4a6999c7268b9c765f806d3e4da7677c098fb72cbc";
+    sha256 = "2ce526910bc2514a84b8105abe80508526ceafc0097c89f86bbbc501f8666c99";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioaseko/default.nix b/nixpkgs/pkgs/development/python-modules/aioaseko/default.nix
new file mode 100644
index 000000000000..1c31dac5f596
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aioaseko/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aioaseko";
+  version = "0.0.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "milanmeu";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-nJRVNBYfBcLYnBsTpQZYMHYWh0+hQObVKJ7sOXFwDjc=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "aioaseko"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with the Aseko Pool Live API";
+    homepage = "https://github.com/milanmeu/aioaseko";
+    license = with licenses; [ lgpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioazuredevops/default.nix b/nixpkgs/pkgs/development/python-modules/aioazuredevops/default.nix
index 3568e98a59ec..4c8cd7a45dc8 100644
--- a/nixpkgs/pkgs/development/python-modules/aioazuredevops/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix b/nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix
index 9fbbbac43ef8..ef39f451d59d 100644
--- a/nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix b/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
index 795b50d81166..c88f84859391 100644
--- a/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioconsole/default.nix
@@ -16,14 +16,16 @@
 # wrapped to be able to find aioconsole and any other packages.
 buildPythonPackage rec {
   pname = "aioconsole";
-  version = "0.3.3";
-  disabled = pythonOlder "3.6";
+  version = "0.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "vxgmichel";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hjdhj1y9xhq1i36r7g2lccsicbvgm7lzkyrxygs16dw11ah46mx";
+    sha256 = "sha256-OCsao4oerHGpzsoqPP3EXJVs6NZeLNsoaC83k7oX688=";
   };
 
   checkInputs = [
@@ -36,7 +38,13 @@ buildPythonPackage rec {
       --replace "--cov aioconsole --count 2" ""
   '';
 
-  pythonImportsCheck = [ "aioconsole" ];
+  disabledTests = [
+    "test_interact_syntax_error"
+  ];
+
+  pythonImportsCheck = [
+    "aioconsole"
+  ];
 
   meta = with lib; {
     description = "Asynchronous console and interfaces for asyncio";
diff --git a/nixpkgs/pkgs/development/python-modules/aiocurrencylayer/default.nix b/nixpkgs/pkgs/development/python-modules/aiocurrencylayer/default.nix
index 777c8905c7d5..0eb84fdba662 100644
--- a/nixpkgs/pkgs/development/python-modules/aiocurrencylayer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiocurrencylayer/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiocurrencylayer";
-  version = "1.0.2";
+  version = "1.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = pname;
     rev = version;
-    sha256 = "EVqnrMatOk2I6hiCkiT5FOWvMY9LEK8LlSHqi0x9kuQ=";
+    sha256 = "sha256-t2Pcoakk25vtUYajIZVITsrEUSdwwiA3fbdswy3n9P8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix b/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix
index 268654ea9baa..4e2b0c5897fc 100644
--- a/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix
@@ -3,6 +3,7 @@
 , dnspython
 , fetchFromGitHub
 , ifaddr
+, netifaces
 , pyroute2
 , pytest-asyncio
 , pytestCheckHook
@@ -11,18 +12,21 @@
 
 buildPythonPackage rec {
   pname = "aiodiscover";
-  version = "1.4.5";
+  version = "1.4.7";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QfeAEFB5WikuriBTcfFIgnJw5H4vEcGIVX47fyDb1Dk=";
+    sha256 = "sha256-NtiShZpPFl+elYNPLaKAg6uV8pDJv0pyR+NTUiFoMm0=";
   };
 
   propagatedBuildInputs = [
     dnspython
+    netifaces
     pyroute2
     ifaddr
   ];
@@ -43,7 +47,9 @@ buildPythonPackage rec {
     "test_async_discover_hosts"
   ];
 
-  pythonImportsCheck = ["aiodiscover"];
+  pythonImportsCheck = [
+    "aiodiscover"
+  ];
 
   meta = with lib; {
     description = "Python module to discover hosts via ARP and PTR lookup";
diff --git a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
index 5023b0325233..06389d50677b 100644
--- a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "10.6.0";
+  version = "10.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1z9pybis8yi938i3cgzma4w452ik9vggyyhs3y542zpk4183d7xw";
+    sha256 = "sha256-zvilMBx9H2VDmu13IiAiCqXEGkbpAJpGnt4Ea7FlGVI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioftp/default.nix b/nixpkgs/pkgs/development/python-modules/aioftp/default.nix
index e9988249e270..fab3a32a6a0e 100644
--- a/nixpkgs/pkgs/development/python-modules/aioftp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioftp/default.nix
@@ -3,7 +3,6 @@
 , buildPythonPackage
 , fetchPypi
 , pytest-asyncio
-, pytest-cov
 , pytestCheckHook
 , pythonOlder
 , siosocks
@@ -29,7 +28,6 @@ buildPythonPackage rec {
   checkInputs = [
     async-timeout
     pytest-asyncio
-    pytest-cov
     pytestCheckHook
     trustme
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiogithubapi/default.nix b/nixpkgs/pkgs/development/python-modules/aiogithubapi/default.nix
index 9249df059bf0..747aa3f4d471 100644
--- a/nixpkgs/pkgs/development/python-modules/aiogithubapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiogithubapi/default.nix
@@ -12,7 +12,8 @@
 
 buildPythonPackage rec {
   pname = "aiogithubapi";
-  version = "21.11.0";
+  version = "22.2.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
@@ -20,16 +21,9 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sxWgLd+oQv9qNOpyAYXsBcqGbo/ugNXzGF5nbdcNLFw=";
+    sha256 = "sha256-oeUcyClTmOYF6vdhwiOp2L7x27DXEbujdtRV4NwGcYo=";
   };
 
-  postPatch = ''
-    # Upstream is releasing with the help of a CI to PyPI, GitHub releases
-    # are not in their focus
-    substituteInPlace setup.py \
-      --replace 'version="main",' 'version="${version}",'
-  '';
-
   propagatedBuildInputs = [
     aiohttp
     async-timeout
@@ -42,7 +36,16 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "aiogithubapi" ];
+  postPatch = ''
+    # Upstream is releasing with the help of a CI to PyPI, GitHub releases
+    # are not in their focus
+    substituteInPlace setup.py \
+      --replace 'version="main",' 'version="${version}",'
+  '';
+
+  pythonImportsCheck = [
+    "aiogithubapi"
+  ];
 
   meta = with lib; {
     description = "Python client for the GitHub API";
diff --git a/nixpkgs/pkgs/development/python-modules/aioharmony/default.nix b/nixpkgs/pkgs/development/python-modules/aioharmony/default.nix
index fea1956e3311..6e77c5589ec0 100644
--- a/nixpkgs/pkgs/development/python-modules/aioharmony/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioharmony/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "aioharmony";
-  version = "0.2.8";
+  version = "0.2.9";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0adf08955810a227db489556dc3ca808e4f825a00183f613797856114c2a2a47";
+    sha256 = "sha256-T30pLzPWD+5pb0ShkpNdiBFO45RdiMYgCOSg8rx+t+Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix b/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
index 1caf183fef80..a2c3d182be1c 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "0.6.4";
+  version = "0.6.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Jc2k";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+W1nsJsiVL4hjtNUyKOsQNyX0Bki/C1FvmoD2OCwqeM=";
+    sha256 = "1rrdzzb2gcl3lc8l5vb99hy2lmdj5723fds2q78n4sf83y93czw7";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-apispec/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-apispec/default.nix
new file mode 100644
index 000000000000..ffd8e698c58e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiohttp-apispec/unstable.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-apispec/unstable.nix
deleted file mode 100644
index 73a28de7b40d..000000000000
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-apispec/unstable.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, aiohttp, webargs, fetchFromGitHub, callPackage
-}:
-
-let
-  apispec3 = callPackage ../apispec/3.nix {};
-  jinja2 = callPackage ../jinja2/2.nix {};
-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/nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix
index 1867567178e4..be33becb26c2 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix
new file mode 100644
index 000000000000..3cd0fe098426
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pytest-aiohttp
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiohttp-retry";
+  version = "2.5.6";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "inyutin";
+    repo = "aiohttp_retry";
+    rev = "v${version}";
+    hash = "sha256-jyt4YPn3gSgR1YfHYLs+5VCsjAk9Ij+2m5Kzy51CnLk=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aiohttp_retry"
+  ];
+
+  meta = with lib; {
+    description = "Retry client for aiohttp";
+    homepage = "https://github.com/inyutin/aiohttp_retry";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
index e782eed49b7f..2a6e8b2c1b86 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
@@ -7,7 +7,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "aiohttp_socks";
-    sha256 = "sha256-IhXKxIke8/oUt9YA7TQ+0PCmcMI7EOQUKqhis9sgNBo=";
+    sha256 = "2215cac4891ef3fa14b7d600ed343ed0f0a670c23b10e4142aa862b3db20341a";
   };
 
   propagatedBuildInputs = [ aiohttp attrs python-socks ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-wsgi/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-wsgi/default.nix
index 1e4763453209..1f01a7b57e5a 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-wsgi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiohue/default.nix b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
index 1f479311af05..ece6d6140b3b 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
@@ -3,15 +3,19 @@
 , fetchPypi
 , aiohttp
 , asyncio-throttle
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "3.0.11";
+  version = "4.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-McC5DX3Cti9eGpPniywNY2DvbAqHSFwhek85TJN/zn0=";
+    hash = "sha256-bcSCYNJt9xYBMmuZYM6s+PWV0TAUFOn3ibHE0KRX+iw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohwenergy/default.nix b/nixpkgs/pkgs/development/python-modules/aiohwenergy/default.nix
index b9b2801f750d..3e7c4c7b85a5 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohwenergy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohwenergy/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aiohwenergy";
-  version = "0.4.0";
+  version = "0.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "DCSBL";
     repo = pname;
     rev = version;
-    sha256 = "Rs7kD+jN/z0j4KmkitquB+cm2UcYG87YHczZR0A4axI=";
+    sha256 = "sha256-WfkwIxyDzLNzhWNWST/V3iN9Bhu2oXDwGiA5UXCq5ho=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix b/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix
index 813eb00b1fb6..cae0b10ea690 100644
--- a/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioitertools/default.nix
@@ -1,29 +1,55 @@
 { 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;
     sha256 = "8b02facfbc9b0f1867739949a223f3d3267ed8663691cc95abd94e2c1d8c2b46";
   };
 
-  propagatedBuildInputs = [ typing-extensions ];
-  checkInputs = [ coverage toml ];
+  patches = lib.optionals (pythonAtLeast "3.10") [
+    (fetchpatch {
+      # Fix TypeError: wait() got an unexpected keyword argument 'loop'
+      # See https://github.com/omnilib/aioitertools/issues/84
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/packages/python-aioitertools/trunk/python310.patch";
+      sha256 = "sha256-F10sduGaLBcxEoP83N/lGpZIlzkM2JTnQnhHKFwc7P0=";
+    })
+  ];
+
+  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/nixpkgs/pkgs/development/python-modules/aiolookin/default.nix b/nixpkgs/pkgs/development/python-modules/aiolookin/default.nix
index 0af203d8fb7b..2de513e6fbcb 100644
--- a/nixpkgs/pkgs/development/python-modules/aiolookin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiolookin/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiolookin";
-  version = "0.0.4";
+  version = "0.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "ANMalko";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Kqys76c/9Mw3ETgF0N4rA9mz5DELwTMjAK38PPN8Ahs=";
+    sha256 = "sha256-l3A1fOydAUQ4arR7Zl/PDYksp53C/56fVVcz35q1hjY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix b/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix
index 6d1116bfefa8..02d7f565c3c1 100644
--- a/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aionanoleaf/default.nix b/nixpkgs/pkgs/development/python-modules/aionanoleaf/default.nix
index 61b958d84486..40686bf7d113 100644
--- a/nixpkgs/pkgs/development/python-modules/aionanoleaf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiooncue/default.nix b/nixpkgs/pkgs/development/python-modules/aiooncue/default.nix
new file mode 100644
index 000000000000..3e9cc46b16b0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiooncue/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiooncue";
+  version = "0.3.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    rev = version;
+    hash = "sha256-rzgSvgVfpz2AVwqnat+TO+QhA3KcXV/a1HDNAP1fNPM=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module doesn't have tests
+  doCheck = false;
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"pytest-runner",' ""
+  '';
+
+  pythonImportsCheck = [
+    "aiooncue"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with the Kohler Oncue API";
+    homepage = "https://github.com/bdraco/aiooncue";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiopvpc/default.nix b/nixpkgs/pkgs/development/python-modules/aiopvpc/default.nix
index ae069ae18266..54e237898447 100644
--- a/nixpkgs/pkgs/development/python-modules/aiopvpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiopvpc/default.nix
@@ -33,10 +33,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    backports-zoneinfo
     holidays
     tzdata
     async-timeout
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    backports-zoneinfo
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiopyarr/default.nix b/nixpkgs/pkgs/development/python-modules/aiopyarr/default.nix
new file mode 100644
index 000000000000..54eab469629f
--- /dev/null
+++ b/nixpkgs/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.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "tkdrob";
+    repo = pname;
+    rev = version;
+    hash = "sha256-SEF47hz5XbATuuuO5t5H40+kT7RWSBjP0BfYd38pNSw=";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/aioredis/default.nix b/nixpkgs/pkgs/development/python-modules/aioredis/default.nix
index 807b112772cf..5ea482278944 100644
--- a/nixpkgs/pkgs/development/python-modules/aioredis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix b/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix
index 2a3a2e60be79..a23b1eca77ca 100644
--- a/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioresponses/default.nix
@@ -11,12 +11,14 @@
 
 buildPythonPackage rec {
   pname = "aioresponses";
-  version = "0.7.2";
+  version = "0.7.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-guSV0Ri3SJaqW01H4X7/teLMeD5RCuOVzq3l6Hyr6Jo=";
+    sha256 = "sha256-LGTtVxDujLTpWMVpGE2tEvTJzVk5E1yzj4jGqCYczrM=";
   };
 
   nativeBuildInputs = [
@@ -39,7 +41,9 @@ buildPythonPackage rec {
     "test_pass_through_with_origin_params"
   ];
 
-  pythonImportsCheck = [ "aioresponses" ];
+  pythonImportsCheck = [
+    "aioresponses"
+  ];
 
   meta = {
     description = "A helper to mock/fake web requests in python aiohttp package";
diff --git a/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix b/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
index 9f2c665f6754..7c3def1ec554 100644
--- a/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "aioridwell";
-  version = "2021.10.0";
+  version = "2021.12.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-h89gfdZvk7H22xAczaPMscTYZu0YeFxvFfL6/Oz2cJw=";
+    sha256 = "sha256-QFUXWleHRMBgaRsMNt2xFb3XcbCNI2kKQHKCBrUuG6Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
index ddcd11d4eebd..bc6954900ae2 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
@@ -4,21 +4,21 @@
 , pythonOlder
 , pygments
 , pytestCheckHook
-, pytest-cov
 , uvloop
 }:
 
 buildPythonPackage rec {
   pname = "aiorun";
-  version = "2021.8.1";
+  version = "2021.10.1";
   format = "flit";
+
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "cjrh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-aehYPZ1+GEO+bNSsE5vVgjtVo4MRMH+vNurk+bJ1/Io=";
+    hash = "sha256-9e1vUWDBv3BYWuKR/rZUvaIxFFetzBQaygXKnl4PDd8=";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +27,6 @@ buildPythonPackage rec {
 
   checkInputs = [
     pytestCheckHook
-    pytest-cov
     uvloop
   ];
 
@@ -36,7 +35,9 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
   '';
 
-  pythonImportsCheck = [ "aiorun" ];
+  pythonImportsCheck = [
+    "aiorun"
+  ];
 
   meta = with lib; {
     description = "Boilerplate for asyncio applications";
diff --git a/nixpkgs/pkgs/development/python-modules/aiosenseme/default.nix b/nixpkgs/pkgs/development/python-modules/aiosenseme/default.nix
new file mode 100644
index 000000000000..ff90bed8e5a5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix b/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix
index f3bb26c2780e..f2bd2f0d36de 100644
--- a/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioshelly";
-  version = "1.0.5";
+  version = "1.0.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-AaEnVMup/sGR3ENtN6NF/CzG05P4Er5LI8mG5LNVzAo=";
+    hash = "sha256-XGmhLc64efQ1eIgCYN1Wkp4sPXvYXlR7/9WF5cWZyys=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiosignal/default.nix b/nixpkgs/pkgs/development/python-modules/aiosignal/default.nix
index acf106ab3c6d..1fd619a846aa 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosignal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix b/nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix
index c19e39bcd48f..254f1bfa4fe3 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiosteamist/default.nix b/nixpkgs/pkgs/development/python-modules/aiosteamist/default.nix
new file mode 100644
index 000000000000..aa7edc001de3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix b/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix
index f4d1541a1398..d42f242438b3 100644
--- a/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioswitcher/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "aioswitcher";
-  version = "2.0.6";
+  version = "2.0.8";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "TomerFi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zgfgM3orhm2ZPp3Cf803adNzPeMOdRGX+sN6rhK1OT4=";
+    sha256 = "sha256-4+XGSaHZNYjId0bTOwCkYpb1K/pM8WtN5/NI+GVaI7M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
index 8d31fccc5647..1294f8dade69 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "29";
+  version = "31";
 
   disabled = pythonOlder "3.7";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-A2+jLxKpha7HV1m3uzy00o8tsjwx0Uuwn5x3DO9daTI=";
+    sha256 = "sha256-8Hm7sUkIW4rVLCL5+vHfhAvmc8+IKDXaSLtYJTf14XY=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +33,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    "--asyncio-mode=auto"
+  ];
+
   pythonImportsCheck = [ "aiounifi" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix b/nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix
new file mode 100644
index 000000000000..db9fbba25b71
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, websockets
+}:
+
+buildPythonPackage rec {
+  pname = "aiowebostv";
+  version = "0.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-UKDcIo0jhI84WDcSK3fciRqzKjHwbZXkqHjdo7Xt4iE=";
+  };
+
+  propagatedBuildInputs = [
+    websockets
+  ];
+
+  # Module doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "aiowebostv"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with LG webOS based TV devices";
+    homepage = "https://github.com/home-assistant-libs/aiowebostv";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aladdin-connect/default.nix b/nixpkgs/pkgs/development/python-modules/aladdin-connect/default.nix
index d25cdadc89a6..ca6c6cca9632 100644
--- a/nixpkgs/pkgs/development/python-modules/aladdin-connect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aladdin-connect/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "aladdin-connect";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "shoejosh";
     repo = pname;
     rev = version;
-    sha256 = "0nimd1nw1haxn8s2207fcrmpjyfp6nx97n560l6hzqyqqmf2d1d1";
+    sha256 = "sha256-kLvMpSGa5WyDOH3ejAJyFGsB9IiMXp+nvVxM/ZkxyFw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/algebraic-data-types/default.nix b/nixpkgs/pkgs/development/python-modules/algebraic-data-types/default.nix
index 8a46d405799b..7c4f9a4f6082 100644
--- a/nixpkgs/pkgs/development/python-modules/algebraic-data-types/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/algebraic-data-types/default.nix
@@ -1,28 +1,45 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, hypothesis, mypy }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, hypothesis
+, mypy
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "algebraic-data-types";
-  version = "0.1.1";
+  version = "0.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jspahrsummers";
     repo = "adt";
     rev = "v" + version;
-    sha256 = "1py94jsgh6wch59n9dxnwvk74psbpa1679zfmripa1qfc2218kqi";
+    hash = "sha256-RHLI5rmFxklzG9dyYgYfSS/srCjcxNpzNcK/RPNJBPE=";
   };
 
-  disabled = pythonOlder "3.6";
-
   checkInputs = [
+    pytestCheckHook
     hypothesis
     mypy
   ];
 
+  disabledTestPaths = [
+    # AttributeError: module 'mypy.types' has no attribute 'TypeVarDef'
+    "tests/test_mypy_plugin.py"
+  ];
+
+  pythonImportsCheck = [
+    "adt"
+  ];
+
   meta = with lib; {
     description = "Algebraic data types for Python";
     homepage = "https://github.com/jspahrsummers/adt";
     license = licenses.mit;
     maintainers = with maintainers; [ uri-canva ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/alot/default.nix b/nixpkgs/pkgs/development/python-modules/alot/default.nix
deleted file mode 100644
index 562ec0d2c4dc..000000000000
--- a/nixpkgs/pkgs/development/python-modules/alot/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ lib, buildPythonPackage, python, fetchFromGitHub, isPy3k, pytestCheckHook
-, notmuch2, urwid, urwidtrees, twisted, python_magic, configobj, mock, file, gpgme
-, service-identity, gnupg, sphinx, gawk, procps, future , withManpage ? false
-}:
-
-buildPythonPackage rec {
-  pname = "alot";
-  version = "0.10";
-  outputs = [ "out" ] ++ lib.optional withManpage "man";
-
-  disabled = !isPy3k;
-
-  src = fetchFromGitHub {
-    owner = "pazz";
-    repo = "alot";
-    rev = version;
-    sha256 = "sha256-1reAq8X9VwaaZDY5UfvcFzHDKd71J88CqJgH3+ANjis=";
-  };
-
-  postPatch = ''
-    substituteInPlace alot/settings/manager.py --replace /usr/share "$out/share"
-  '';
-
-  nativeBuildInputs = lib.optional withManpage sphinx;
-
-  propagatedBuildInputs = [
-    notmuch2
-    urwid
-    urwidtrees
-    twisted
-    python_magic
-    configobj
-    service-identity
-    file
-    gpgme
-  ];
-
-  postBuild = lib.optionalString withManpage "make -C docs man";
-
-  checkInputs = [ gawk future mock gnupg procps pytestCheckHook ];
-  # some twisted tests need internet access
-  disabledTests = [
-    "test_env_set"
-    "test_no_spawn_no_stdin_attached"
-  ];
-
-  postInstall = let
-    completionPython = python.withPackages (ps: [ ps.configobj ]);
-  in lib.optionalString withManpage ''
-    mkdir -p $out/man
-    cp -r docs/build/man $out/man
-  ''
-  + ''
-    mkdir -p $out/share/{applications,alot}
-    cp -r extra/themes $out/share/alot
-
-    substituteInPlace extra/completion/alot-completion.zsh \
-      --replace "python3" "${completionPython.interpreter}"
-    install -D extra/completion/alot-completion.zsh $out/share/zsh/site-functions/_alot
-
-    sed "s,/usr/bin,$out/bin,g" extra/alot.desktop > $out/share/applications/alot.desktop
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/pazz/alot";
-    description = "Terminal MUA using notmuch mail";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ edibopp ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/altair/default.nix b/nixpkgs/pkgs/development/python-modules/altair/default.nix
index 6e686d9fc907..e4bec8fafa4b 100644
--- a/nixpkgs/pkgs/development/python-modules/altair/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/amaranth-boards/default.nix b/nixpkgs/pkgs/development/python-modules/amaranth-boards/default.nix
new file mode 100644
index 000000000000..1b152e70d7b0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/amaranth-boards/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, amaranth
+, setuptools
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "amaranth-boards";
+  version = "unstable-2021-12-17";
+  # python setup.py --version
+  realVersion = "0.1.dev202+g${lib.substring 0 7 src.rev}";
+
+  src = fetchFromGitHub {
+    owner = "amaranth-lang";
+    repo = "amaranth-boards";
+    rev = "8e2615765e255144403431ca95c5cdf6c78eb638";
+    sha256 = "3EOG8SO5xBNevshXMRrxKWoJUbeaVi8ckbkmqd6Tw70=";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+  propagatedBuildInputs = [ setuptools amaranth ];
+
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
+  '';
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Board definitions for Amaranth HDL";
+    homepage = "https://github.com/amaranth-lang/amaranth-boards";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ emily thoughtpolice ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/amaranth-soc/default.nix b/nixpkgs/pkgs/development/python-modules/amaranth-soc/default.nix
new file mode 100644
index 000000000000..e90137ba22b7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/amaranth-soc/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, amaranth
+, setuptools
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "amaranth-soc";
+  version = "unstable-2021-12-10";
+  # python setup.py --version
+  realVersion = "0.1.dev49+g${lib.substring 0 7 src.rev}";
+
+  src = fetchFromGitHub {
+    owner = "amaranth-lang";
+    repo = "amaranth-soc";
+    rev = "217d4ea76ad3b3bbf146980d168bc7b3b9d95a18";
+    sha256 = "dMip82L7faUn16RDeG3NgMv0nougpwTwDWLX0doD2YA=";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+  propagatedBuildInputs = [ setuptools amaranth ];
+
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
+  '';
+
+  meta = with lib; {
+    description = "System on Chip toolkit for Amaranth HDL";
+    homepage = "https://github.com/amaranth-lang/amaranth-soc";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ emily thoughtpolice ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nmigen/default.nix b/nixpkgs/pkgs/development/python-modules/amaranth/default.nix
index 0228e7b3185c..99fe555e3f3d 100644
--- a/nixpkgs/pkgs/development/python-modules/nmigen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amaranth/default.nix
@@ -18,17 +18,17 @@
 }:
 
 buildPythonPackage rec {
-  pname = "nmigen";
-  version = "unstable-2021-02-09";
+  pname = "amaranth";
+  version = "0.3";
   # python setup.py --version
-  realVersion = "0.3.dev243+g${lib.substring 0 7 src.rev}";
+  realVersion = "0.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = "nmigen";
-    repo = "nmigen";
-    rev = "f7c2b9419f9de450be76a0e9cf681931295df65f";
-    sha256 = "0cjs9wgmxa76xqmjhsw4fsb2mhgvd85jgs2mrjxqp6fwp8rlgnl1";
+    owner = "amaranth-lang";
+    repo = "amaranth";
+    rev = "39a83f4d995d16364cc9b99da646ff8db6394166";
+    sha256 = "P9AG3t30eGeeCN5+t7mjhRoOWIGZVzWQji9eYXphjA0=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}";
@@ -59,12 +59,12 @@ buildPythonPackage rec {
       --replace "pyvcd~=0.2.2" "pyvcd"
   '';
 
-  pythonImportsCheck = [ "nmigen" ];
+  pythonImportsCheck = [ "amaranth" ];
 
   meta = with lib; {
-    description = "A refreshed Python toolbox for building complex digital hardware";
-    homepage = "https://nmigen.info/nmigen";
+    description = "A modern hardware definition language and toolchain based on Python";
+    homepage = "https://amaranth-lang.org/docs/amaranth";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ emily ];
+    maintainers = with maintainers; [ emily thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/amcrest/default.nix b/nixpkgs/pkgs/development/python-modules/amcrest/default.nix
index d050a7563a74..697b9bba00fa 100644
--- a/nixpkgs/pkgs/development/python-modules/amcrest/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/amqp/default.nix b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
index 6156472896ad..c23c1d012da4 100644
--- a/nixpkgs/pkgs/development/python-modules/amqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
@@ -1,24 +1,46 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, case, vine }:
+{ lib
+, buildPythonPackage
+, case
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, vine
+}:
 
 buildPythonPackage rec {
   pname = "amqp";
-  version = "5.0.6";
+  version = "5.0.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03e16e94f2b34c31f8bf1206d8ddd3ccaa4c315f7f6a1879b7b1210d229568c2";
+    hash = "sha256-Hl9wdCTlRAeMoZbnKuahSIfOdOAr0Sa+VLfAPJcb7xg=";
   };
 
-  propagatedBuildInputs = [ vine ];
+  propagatedBuildInputs = [
+    vine
+  ];
+
+  checkInputs = [
+    case
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytestCheckHook case ];
   disabledTests = [
-    "test_rmq.py" # requires network access
+    # Requires network access
+    "test_rmq.py"
+  ];
+
+  pythonImportsCheck = [
+    "amqp"
   ];
 
   meta = with lib; {
     homepage = "https://github.com/celery/py-amqp";
     description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project";
-    license = licenses.lgpl21;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/amqtt/default.nix b/nixpkgs/pkgs/development/python-modules/amqtt/default.nix
index d61140081ef1..7458ca11e99d 100644
--- a/nixpkgs/pkgs/development/python-modules/amqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amqtt/default.nix
@@ -2,9 +2,11 @@
 , buildPythonPackage
 , docopt
 , fetchFromGitHub
+, fetchpatch
 , hypothesis
 , passlib
 , poetry-core
+, pytest-logdog
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -15,23 +17,21 @@
 
 buildPythonPackage rec {
   pname = "amqtt";
-  version = "0.10.0";
+  version = "unstable-2022-01-11";
   format = "pyproject";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Yakifo";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-27LmNR1KC8w3zRJ7YBlBolQ4Q70ScTPqypMCpU6fO+I=";
+    rev = "8961b8fff57007a5d9907b98bc555f0519974ce9";
+    hash = "sha256-3uwz4RSoa6KRC8mlVfeIMLPH6F2kOJjQjjXCrnVX0Jo=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'websockets = "^9.0"' 'websockets = "^10.0"'
-  '';
-
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     docopt
@@ -43,22 +43,30 @@ buildPythonPackage rec {
 
   checkInputs = [
     hypothesis
+    pytest-logdog
     pytest-asyncio
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'PyYAML = "^5.4.0"' 'PyYAML = "*"'
+  '';
+
   disabledTestPaths = [
     # Test are not ported from hbmqtt yet
     "tests/test_cli.py"
     "tests/test_client.py"
   ];
 
-  disabledTests = [
-    # Requires network access
-    "test_connect_tcp"
-  ];
+  preCheck = ''
+    # Some tests need amqtt
+    export PATH=$out/bin:$PATH
+  '';
 
-  pythonImportsCheck = [ "amqtt" ];
+  pythonImportsCheck = [
+    "amqtt"
+  ];
 
   meta = with lib; {
     description = "Python MQTT client and broker implementation";
diff --git a/nixpkgs/pkgs/development/python-modules/androidtv/default.nix b/nixpkgs/pkgs/development/python-modules/androidtv/default.nix
index e49f4ba53fe5..d09daa273b81 100644
--- a/nixpkgs/pkgs/development/python-modules/androidtv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/androidtv/default.nix
@@ -3,37 +3,48 @@
 , aiofiles
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
 , mock
 , pure-python-adb
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "androidtv";
-  version = "0.0.60";
+  version = "0.0.64";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # pypi does not contain tests, using github sources instead
   src = fetchFromGitHub {
     owner = "JeffLIrion";
     repo = "python-androidtv";
     rev = "v${version}";
-    sha256 = "sha256-GWCiRxZ6pHrcVkOKNGxSK8lUD0RohtED8czXIWUoVaM=";
+    hash = "sha256-CJJ+mWAX9XG1/E2PljUZ8oz/la3hYXF1tMfuKt0Zvjw=";
   };
 
-  propagatedBuildInputs = [ adb-shell pure-python-adb ]
-    ++ lib.optionals (isPy3k) [ aiofiles ];
+  propagatedBuildInputs = [
+    adb-shell
+    aiofiles
+    pure-python-adb
+  ];
 
   checkInputs = [
     mock
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "androidtv" ];
+  disabledTests = [
+    # Requires git but fails anyway
+    "test_no_underscores"
+  ];
+
+  pythonImportsCheck = [
+    "androidtv"
+  ];
 
   meta = with lib; {
-    description =
-      "Communicate with an Android TV or Fire TV device via ADB over a network";
+    description = "Communicate with an Android TV or Fire TV device via ADB over a network";
     homepage = "https://github.com/JeffLIrion/python-androidtv/";
     license = licenses.mit;
     maintainers = with maintainers; [ jamiemagee ];
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index 4468dfabecd0..93a4b22f5dd1 100644
--- a/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -22,6 +22,7 @@
 , pycparser
 , pythonOlder
 , pyvex
+, sympy
 , sqlalchemy
 , rpyc
 , sortedcontainers
@@ -45,18 +46,18 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.1.10913";
+  version = "9.1.11752";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AZlqSalTOQh3QR959ZuanFuTZVKi9valKJ3snsquC/A=";
+    hash = "sha256-4DUM1c3M/naJFqN/gdrX/NnJrY3ElUEOQ34cwcpSC+s=";
   };
 
-  setupPyBuildFlags = lib.optionals stdenv.isLinux [ "--plat-name" "linux" ];
-
   propagatedBuildInputs = [
     ailment
     archinfo
@@ -75,20 +76,24 @@ buildPythonPackage rec {
     progressbar2
     protobuf
     psutil
-    sqlalchemy
     pycparser
     pyvex
-    sqlalchemy
     rpyc
     sortedcontainers
+    sqlalchemy
+    sympy
     unicorn'
   ];
 
+  setupPyBuildFlags = lib.optionals stdenv.isLinux [
+    "--plat-name"
+    "linux"
+  ];
+
   # Tests have additional requirements, e.g., pypcode and angr binaries
   # cle is executing the tests with the angr binaries
   doCheck = false;
 
-  # See http://angr.io/api-doc/
   pythonImportsCheck = [
     "angr"
     "claripy"
diff --git a/nixpkgs/pkgs/development/python-modules/angrcli/default.nix b/nixpkgs/pkgs/development/python-modules/angrcli/default.nix
index bad2bb01bf8a..25781fbcd3a1 100644
--- a/nixpkgs/pkgs/development/python-modules/angrcli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angrcli/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fmagin";
     repo = "angr-cli";
     rev = "v${version}";
-    sha256 = "sha256-a5ajUBQwt3xUNkeSOeGOAFf47wd4UVk+LcuAHGqbq4s=";
+    hash = "sha256-a5ajUBQwt3xUNkeSOeGOAFf47wd4UVk+LcuAHGqbq4s=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/angrop/default.nix b/nixpkgs/pkgs/development/python-modules/angrop/default.nix
index 7989a06b60ef..21eeeb2369df 100644
--- a/nixpkgs/pkgs/development/python-modules/angrop/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angrop/default.nix
@@ -9,14 +9,16 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.1.10913";
+  version = "9.1.11752";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8M3d8lG7jDNgICjzjFRi9Wl2I7aYI5b5IvjEhixsk9k=";
+    hash = "sha256-nZGAuWp07VMpOvqw38FGSiUhaFjJOfCzOaam4Ex7qbY=";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +30,10 @@ buildPythonPackage rec {
   # Tests have additional requirements, e.g., angr binaries
   # cle is executing the tests with the angr binaries already and is a requirement of angr
   doCheck = false;
-  pythonImportsCheck = [ "angrop" ];
+
+  pythonImportsCheck = [
+    "angrop"
+  ];
 
   meta = with lib; {
     description = "ROP gadget finder and chain builder";
diff --git a/nixpkgs/pkgs/development/python-modules/annexremote/default.nix b/nixpkgs/pkgs/development/python-modules/annexremote/default.nix
index 9ea365079451..c9ed6bd90ede 100644
--- a/nixpkgs/pkgs/development/python-modules/annexremote/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/annexremote/default.nix
@@ -2,33 +2,41 @@
 , isPy3k
 , buildPythonPackage
 , fetchFromGitHub
-, future
-, mock
+, pytestCheckHook
 , nose
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "annexremote";
   version = "1.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # use fetchFromGitHub instead of fetchPypi because the test suite of
-  # the package is not included into the PyPI tarball
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "Lykos153";
     repo = "AnnexRemote";
+    rev = "v${version}";
     sha256 = "08myswj1vqkl4s1glykq6xn76a070nv5mxj0z8ibl6axz89bvypi";
   };
 
-  propagatedBuildInputs = [ future ];
+  checkInputs = [
+    nose
+  ];
+
+  checkPhase = ''
+    nosetests -v -e "^TestExport_MissingName" -e "^TestRemoveexportdirectory"
+  '';
 
-  checkInputs = [ nose ] ++ lib.optional (!isPy3k) mock;
-  checkPhase = "nosetests -v";
+  pythonImportsCheck = [
+    "annexremote"
+  ];
 
   meta = with lib; {
     description = "Helper module to easily develop git-annex remotes";
     homepage = "https://github.com/Lykos153/AnnexRemote";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ montag451 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/anonip/default.nix b/nixpkgs/pkgs/development/python-modules/anonip/default.nix
index 0663fddd6fb0..96115aaee439 100644
--- a/nixpkgs/pkgs/development/python-modules/anonip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ansible-kernel/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-kernel/default.nix
index 670b6330eaa5..5901e8f56abb 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible-kernel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix
index 2fac5e8a021e..0523b775dab3 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible-lint/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "ansible-lint";
-  version = "5.3.1";
+  version = "5.3.2";
   disabled = isPy27;
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fXvHS5uQxZgr5cJ0wq/LpbgHPsiMznk/q0Y/5kGKJfY=";
+    sha256 = "sha256-m6iG20xE5ZNgvI1mjwvq5hk8Ch/LuedhJwAMo6ztfCg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
index f4ec1c184627..92d377d0886c 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
@@ -1,30 +1,40 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, psutil
-, pexpect
-, python-daemon
-, pyyaml
-, six
 , stdenv
 , ansible
+, buildPythonPackage
+, fetchPypi
 , mock
 , openssh
+, pexpect
+, psutil
 , pytest-mock
 , pytest-timeout
 , pytest-xdist
 , pytestCheckHook
+, python-daemon
+, pyyaml
+, six
 }:
 
 buildPythonPackage rec {
   pname = "ansible-runner";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7684612f7543c5f07f3e8135667eeb22a9dbd98f625cc69901ba9924329ef24f";
+    hash = "sha256-doRhL3VDxfB/PoE1Zn7rIqnb2Y9iXMaZAbqZJDKe8k8=";
   };
 
+  propagatedBuildInputs = [
+    ansible
+    psutil
+    pexpect
+    python-daemon
+    pyyaml
+    six
+  ];
+
   checkInputs = [
     ansible # required to place ansible CLI onto the PATH in tests
     pytestCheckHook
@@ -35,44 +45,45 @@ buildPythonPackage rec {
     openssh
   ];
 
-  propagatedBuildInputs = [
-    ansible
-    psutil
-    pexpect
-    python-daemon
-    pyyaml
-    six
-  ];
-
   preCheck = ''
     export HOME=$(mktemp -d)
+    export PATH="$PATH:$out/bin";
   '';
 
   disabledTests = [
-    "test_callback_plugin_task_args_leak" # requires internet
+    # Requires network access
+    "test_callback_plugin_task_args_leak"
     "test_env_accuracy"
-    "test_large_stdout_blob" # times out on slower hardware
-  ]
+    # Times out on slower hardware
+    "test_large_stdout_blob"
+    # Failed: DID NOT RAISE <class 'RuntimeError'>
+    "test_validate_pattern"
+  ] ++ lib.optional stdenv.isDarwin [
     # test_process_isolation_settings is currently broken on Darwin Catalina
     # https://github.com/ansible/ansible-runner/issues/413
-  ++ lib.optional stdenv.isDarwin "process_isolation_settings";
+    "process_isolation_settings"
+  ];
 
   disabledTestPaths = [
-    # these tests unset PATH and then run executables like `bash` (see https://github.com/ansible/ansible-runner/pull/918)
+    # These tests unset PATH and then run executables like `bash` (see https://github.com/ansible/ansible-runner/pull/918)
     "test/integration/test_runner.py"
     "test/unit/test_runner.py"
   ]
   ++ lib.optionals stdenv.isDarwin [
-    # integration tests on Darwin are not regularly passing in ansible-runner's own CI
+    # Integration tests on Darwin are not regularly passing in ansible-runner's own CI
     "test/integration"
-    # these tests write to `/tmp` which is not writable on Darwin
+    # These tests write to `/tmp` which is not writable on Darwin
     "test/unit/config/test__base.py"
   ];
 
+  pythonImportsCheck = [
+    "ansible_runner"
+  ];
+
   meta = with lib; {
     description = "Helps when interfacing with Ansible";
     homepage = "https://github.com/ansible/ansible-runner";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/core.nix b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
index a580719fcfe2..6b54bd275ba6 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/core.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
@@ -23,17 +23,17 @@
 
 let
   ansible-collections = callPackage ./collections.nix {
-    version = "5.0.1";
-    sha256 = "sha256:0xn3lpinmflkxwak7zb36wjs9w2y1k5s295apn3v77xnpc2cfz5l";
+    version = "5.2.0";
+    sha256 = "sha256:1jwraha3s15s692d47kgcr7jy1ngbg6ipmkb0ak7fjnb57r4im66";
   };
 in
 buildPythonPackage rec {
   pname = "ansible-core";
-  version = "2.12.1";
+  version = "2.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pFCHByYr4Ru03ZigBvGxSBeHmgVea2xGrZ/KiJT7MHM=";
+    sha256 = "sha256:1hz7j8gsgxbfjdf9562cbyxia3c4crdv50fm0p0wp4js79rf2ydw";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
diff --git a/nixpkgs/pkgs/development/python-modules/ansimarkup/default.nix b/nixpkgs/pkgs/development/python-modules/ansimarkup/default.nix
new file mode 100644
index 000000000000..b74c7e321799
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ansimarkup/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, colorama
+}:
+
+buildPythonPackage rec {
+  pname = "ansimarkup";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "gvalkov";
+    repo = "python-ansimarkup";
+    rev = "v${version}";
+    sha256 = "sha256-HGeVapv2Z5GtPwSp3+dvUwAH0bFqu+Bmk5E6SRr7NO4=";
+  };
+
+  propagatedBuildInputs = [ colorama ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "ansimarkup" ];
+
+  meta = with lib; {
+    description = "An XML-like markup for producing colored terminal text.";
+    homepage = "https://github.com/gvalkov/python-ansimarkup";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/anyjson/default.nix b/nixpkgs/pkgs/development/python-modules/anyjson/default.nix
deleted file mode 100644
index 1d0d02988f83..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix b/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix
index c666d89b2bfa..4ac03a8820fb 100644
--- a/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apache-airflow/default.nix
@@ -13,12 +13,13 @@
 , colorlog
 , croniter
 , cryptography
+, dataclasses
 , dill
 , flask
-, flask-appbuilder
-, flask-caching
 , flask_login
 , flask_wtf
+, flask-appbuilder
+, flask-caching
 , GitPython
 , graphviz
 , gunicorn
@@ -47,6 +48,7 @@
 , python-nvd3
 , python-slugify
 , python3-openid
+, pythonOlder
 , pyyaml
 , rich
 , setproctitle
@@ -63,14 +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.
@@ -107,6 +108,8 @@ buildPythonPackage rec {
   inherit version;
   src = airflow-src;
 
+  disabled = pythonOlder "3.6";
+
   propagatedBuildInputs = [
     alembic
     argcomplete
@@ -130,7 +133,6 @@ buildPythonPackage rec {
     httpx
     iso8601
     importlib-resources
-    importlib-metadata
     inflection
     itsdangerous
     jinja2
@@ -163,6 +165,10 @@ buildPythonPackage rec {
     termcolor
     unicodecsv
     werkzeug
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-metadata
   ];
 
   buildInputs = [
@@ -178,24 +184,22 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "importlib_resources~=1.4" "importlib_resources" \
-      --replace "importlib_metadata~=1.7" "importlib_metadata" \
-      --replace "tenacity~=6.2.0" "tenacity" \
-      --replace "pyjwt<2" "pyjwt" \
-      --replace "flask>=1.1.0, <2.0" "flask" \
-      --replace "flask-login>=0.3, <0.5" "flask-login" \
-      --replace "flask-wtf>=0.14.3, <0.15" "flask-wtf" \
-      --replace "jinja2>=2.10.1, <2.12.0" "jinja2" \
       --replace "attrs>=20.0, <21.0" "attrs" \
       --replace "cattrs~=1.1, <1.7.0" "cattrs" \
-      --replace "markupsafe>=1.1.1, <2.0" "markupsafe" \
+      --replace "colorlog>=4.0.2, <6.0" "colorlog" \
+      --replace "croniter>=0.3.17, <1.1" "croniter" \
       --replace "docutils<0.17" "docutils" \
-      --replace "sqlalchemy>=1.3.18, <1.4" "sqlalchemy" \
-      --replace "sqlalchemy_jsonfield~=1.0" "sqlalchemy-jsonfield" \
-      --replace "werkzeug~=1.0, >=1.0.1" "werkzeug" \
+      --replace "flask-login>=0.3, <0.5" "flask-login" \
+      --replace "flask-wtf>=0.14.3, <0.15" "flask-wtf" \
+      --replace "flask>=1.1.0, <2.0" "flask" \
+      --replace "importlib_resources~=1.4" "importlib_resources" \
       --replace "itsdangerous>=1.1.0, <2.0" "itsdangerous" \
+      --replace "markupsafe>=1.1.1, <2.0" "markupsafe" \
+      --replace "pyjwt<2" "pyjwt" \
       --replace "python-slugify>=3.0.0,<5.0" "python-slugify" \
-      --replace "colorlog>=4.0.2, <6.0" "colorlog"
+      --replace "sqlalchemy_jsonfield~=1.0" "sqlalchemy-jsonfield" \
+      --replace "tenacity~=6.2.0" "tenacity" \
+      --replace "werkzeug~=1.0, >=1.0.1" "werkzeug"
 
     substituteInPlace tests/core/test_core.py \
       --replace "/bin/bash" "${stdenv.shell}"
@@ -205,19 +209,21 @@ buildPythonPackage rec {
       --replace "/tmp/sqlite_default.db" "$TMPDIR/sqlite_default.db"
   '';
 
-  # allow for gunicorn processes to have access to python packages
-  makeWrapperArgs = [ "--prefix PYTHONPATH : $PYTHONPATH" ];
+  # allow for gunicorn processes to have access to Python packages
+  makeWrapperArgs = [
+    "--prefix PYTHONPATH : $PYTHONPATH"
+  ];
 
   preCheck = ''
-   export HOME=$(mktemp -d)
-   export AIRFLOW_HOME=$HOME
-   export AIRFLOW__CORE__UNIT_TEST_MODE=True
-   export AIRFLOW_DB="$HOME/airflow.db"
-   export PATH=$PATH:$out/bin
-
-   airflow version
-   airflow db init
-   airflow db reset -y
+    export HOME=$(mktemp -d)
+    export AIRFLOW_HOME=$HOME
+    export AIRFLOW__CORE__UNIT_TEST_MODE=True
+    export AIRFLOW_DB="$HOME/airflow.db"
+    export PATH=$PATH:$out/bin
+
+    airflow version
+    airflow db init
+    airflow db reset -y
   '';
 
   pytestFlagsArray = [
@@ -225,7 +231,7 @@ buildPythonPackage rec {
   ];
 
   disabledTests = lib.optionals stdenv.isDarwin [
-    "bash_operator_kill"  # psutil.AccessDenied
+    "bash_operator_kill" # psutil.AccessDenied
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix b/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
new file mode 100644
index 000000000000..2eeebaaea7f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
@@ -0,0 +1,154 @@
+{ buildPythonPackage
+, cloudpickle
+, crcmod
+, cython
+, dill
+, fastavro
+, fetchFromGitHub
+, freezegun
+, grpcio
+, grpcio-tools
+, hdfs
+, httplib2
+, lib
+, mock
+, mypy-protobuf
+, numpy
+, oauth2client
+, orjson
+, pandas
+, parameterized
+, proto-plus
+, protobuf
+, psycopg2
+, pyarrow
+, pydot
+, pyhamcrest
+, pymongo
+, pytest-timeout
+, pytest-xdist
+, pytestCheckHook
+, python
+, pythonAtLeast
+, python-dateutil
+, pytz
+, pyyaml
+, requests
+, requests-mock
+, setuptools
+, sqlalchemy
+, tenacity
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "apache-beam";
+  version = "2.35.0";
+  disabled = pythonAtLeast "3.10";
+
+  src = fetchFromGitHub {
+    owner = "apache";
+    repo = "beam";
+    rev = "v${version}";
+    sha256 = "0qxkas33d8i6yj133plnadbfm74ak7arn7ldpziyiwdav3hj68sy";
+  };
+
+  patches = [
+    ./relax-deps.patch
+    # Fixes https://issues.apache.org/jira/browse/BEAM-9324
+    ./fix-cython.patch
+  ];
+
+  # See https://github.com/NixOS/nixpkgs/issues/156957.
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "typing-extensions>=3.7.0,<4" "typing-extensions" \
+      --replace "pyarrow>=0.15.1,<7.0.0" "pyarrow"
+  '';
+
+  sourceRoot = "source/sdks/python";
+
+  nativeBuildInputs = [
+    cython
+    grpcio-tools
+    mypy-protobuf
+  ];
+
+  propagatedBuildInputs = [
+    cloudpickle
+    crcmod
+    cython
+    dill
+    fastavro
+    grpcio
+    hdfs
+    httplib2
+    numpy
+    oauth2client
+    orjson
+    proto-plus
+    protobuf
+    pyarrow
+    pydot
+    pymongo
+    python-dateutil
+    pytz
+    requests
+    setuptools
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [
+    "apache_beam"
+  ];
+
+  checkInputs = [
+    freezegun
+    mock
+    pandas
+    parameterized
+    psycopg2
+    pyhamcrest
+    pytest-timeout
+    pytest-xdist
+    pytestCheckHook
+    pyyaml
+    requests-mock
+    sqlalchemy
+    tenacity
+  ];
+
+  # Make sure we're running the tests for the actually installed
+  # package, so that cython's .so files are available.
+  preCheck = "cd $out/lib/${python.libPrefix}/site-packages";
+
+  disabledTestPaths = [
+    # These tests depend on the availability of specific servers backends.
+    "apache_beam/runners/portability/flink_runner_test.py"
+    "apache_beam/runners/portability/samza_runner_test.py"
+    "apache_beam/runners/portability/spark_runner_test.py"
+  ];
+
+  disabledTests = [
+    # The reasons of failures for these tests are unclear.
+    # They reproduce in Docker with Ubuntu 22.04
+    # (= they're not `nixpkgs`-specific) but given the upstream uses
+    # quite elaborate testing infra with containers and multiple
+    # different runners - I don't expect them to help debugging these
+    # when running via our (= custom from their PoV) testing infra.
+    "testBuildListUnpack"
+    "testBuildTupleUnpack"
+    "testBuildTupleUnpackWithCall"
+    "test_convert_bare_types"
+    "test_incomparable_default"
+    "test_pardo_type_inference"
+    "test_with_main_session"
+  ];
+
+  meta = with lib; {
+    description = "Unified model for defining both batch and streaming data-parallel processing pipelines";
+    homepage = "https://beam.apache.org/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/apache-beam/fix-cython.patch b/nixpkgs/pkgs/development/python-modules/apache-beam/fix-cython.patch
new file mode 100644
index 000000000000..f73d75b4b84a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/apache-beam/fix-cython.patch
@@ -0,0 +1,41 @@
+diff --git a/apache_beam/runners/worker/operations.py b/apache_beam/runners/worker/operations.py
+index 3464c5750c..5921c72b90 100644
+--- a/apache_beam/runners/worker/operations.py
++++ b/apache_beam/runners/worker/operations.py
+@@ -69,18 +69,6 @@ if TYPE_CHECKING:
+   from apache_beam.runners.worker.statesampler import StateSampler
+   from apache_beam.transforms.userstate import TimerSpec
+ 
+-# Allow some "pure mode" declarations.
+-try:
+-  import cython
+-except ImportError:
+-
+-  class FakeCython(object):
+-    @staticmethod
+-    def cast(type, value):
+-      return value
+-
+-  globals()['cython'] = FakeCython()
+-
+ _globally_windowed_value = GlobalWindows.windowed_value(None)
+ _global_window_type = type(_globally_windowed_value.windows[0])
+ 
+@@ -149,7 +137,7 @@ class ConsumerSet(Receiver):
+     # type: (WindowedValue) -> None
+     self.update_counters_start(windowed_value)
+     for consumer in self.consumers:
+-      cython.cast(Operation, consumer).process(windowed_value)
++      consumer.process(windowed_value)
+     self.update_counters_finish()
+ 
+   def try_split(self, fraction_of_remainder):
+@@ -345,7 +333,7 @@ class Operation(object):
+ 
+   def output(self, windowed_value, output_index=0):
+     # type: (WindowedValue, int) -> None
+-    cython.cast(Receiver, self.receivers[output_index]).receive(windowed_value)
++    self.receivers[output_index].receive(windowed_value)
+ 
+   def add_receiver(self, operation, output_index=0):
+     # type: (Operation, int) -> None
diff --git a/nixpkgs/pkgs/development/python-modules/apache-beam/relax-deps.patch b/nixpkgs/pkgs/development/python-modules/apache-beam/relax-deps.patch
new file mode 100644
index 000000000000..67bd38f5e7cc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/apache-beam/relax-deps.patch
@@ -0,0 +1,20 @@
+diff --git a/setup.py b/setup.py
+index 9429459622..2727b3becb 100644
+--- a/setup.py
++++ b/setup.py
+@@ -136,12 +136,12 @@ REQUIRED_PACKAGES = [
+     # version of dill. It is best to use the same version of dill on client and
+     # server, therefore list of allowed versions is very narrow.
+     # See: https://github.com/uqfoundation/dill/issues/341.
+-    'dill>=0.3.1.1,<0.3.2',
++    'dill>=0.3.1.1',
+     'fastavro>=0.21.4,<2',
+     'grpcio>=1.29.0,<2',
+     'hdfs>=2.1.0,<3.0.0',
+-    'httplib2>=0.8,<0.20.0',
+-    'numpy>=1.14.3,<1.21.0',
++    'httplib2>=0.8',
++    'numpy>=1.14.3',
+     'pymongo>=3.8.0,<4.0.0',
+     'oauth2client>=2.0.1,<5',
+     'protobuf>=3.12.2,<4',
diff --git a/nixpkgs/pkgs/development/python-modules/apipkg/default.nix b/nixpkgs/pkgs/development/python-modules/apipkg/default.nix
index 5e7ae3860a93..241ddfaa11ab 100644
--- a/nixpkgs/pkgs/development/python-modules/apipkg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/apispec/3.nix b/nixpkgs/pkgs/development/python-modules/apispec/3.nix
deleted file mode 100644
index e60a440df3f4..000000000000
--- a/nixpkgs/pkgs/development/python-modules/apispec/3.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/nixpkgs/pkgs/development/python-modules/apprise/default.nix b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
index 18b829249198..11990e7d3996 100644
--- a/nixpkgs/pkgs/development/python-modules/apprise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
@@ -1,39 +1,75 @@
-{ lib, buildPythonPackage, fetchPypi, installShellFiles
-, Babel, requests, requests_oauthlib, six, click, markdown, pyyaml, cryptography
-, pytest-runner, coverage, flake8, mock, pytestCheckHook, pytest-cov, tox, gntp, sleekxmpp
+{ lib
+, Babel
+, buildPythonPackage
+, click
+, cryptography
+, fetchPypi
+, gntp
+, installShellFiles
+, markdown
+, mock
+, paho-mqtt
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, requests_oauthlib
+, six
+, slixmpp
 }:
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "0.9.6";
+  version = "0.9.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Fe0GIIGXydKP2DzWnnJ7SCgIeaTGEa/Wta6l0N7zl/g=";
+    hash = "sha256-BOMeSvwmGiZvA95+e2bceCGXRwowU5+zJAl7Sn4wKqM=";
   };
 
-  nativeBuildInputs = [ Babel installShellFiles ];
+  nativeBuildInputs = [
+    Babel
+    installShellFiles
+  ];
 
   propagatedBuildInputs = [
-    cryptography requests requests_oauthlib six click markdown pyyaml
+    click
+    cryptography
+    markdown
+    pyyaml
+    requests
+    requests_oauthlib
+    six
   ];
 
   checkInputs = [
-    pytest-runner coverage flake8 mock pytestCheckHook pytest-cov tox gntp sleekxmpp
+    gntp
+    mock
+    paho-mqtt
+    pytestCheckHook
+    slixmpp
   ];
 
-  disabledTests = [ "test_apprise_cli_nux_env"  ];
+  disabledTests = [
+    "test_apprise_cli_nux_env"
+    "test_plugin_mqtt_general"
+  ];
 
   postInstall = ''
     installManPage packaging/man/apprise.1
   '';
 
-  pythonImportsCheck = [ "apprise" ];
+  pythonImportsCheck = [
+    "apprise"
+  ];
 
   meta = with lib; {
+    description = "Push Notifications that work with just about every platform";
     homepage = "https://github.com/caronc/apprise";
-    description = "Push Notifications that work with just about every platform!";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
index 35e6c90f216d..b74533e0d44b 100644
--- a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
new file mode 100644
index 000000000000..9fc959126b37
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, appdirs
+, tabulate
+, msgpack
+, orjson
+, semver
+, packageurl-python
+, pythonOlder
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "appthreat-vulnerability-db";
+  version = "2.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "AppThreat";
+    repo = "vulnerability-db";
+    rev = "v${version}";
+    sha256 = "sha256-fqpBnxcRBBXsjJepxDuoDbT3hk5rXAvky11sIvQS9XI=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    appdirs
+    tabulate
+    msgpack
+    orjson
+    semver
+    packageurl-python
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --cov-append --cov-report term --cov vdb" ""
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  disabledTests = [
+    # Tests require network access
+    "test_bulk_search"
+    "test_download_recent"
+  ];
+
+  pythonImportsCheck = [
+    "vdb"
+  ];
+
+  meta = with lib; {
+    description = "Vulnerability database and package search for sources such as OSV, NVD, GitHub and npm";
+    homepage = "https://github.com/appthreat/vulnerability-db";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/apptools/default.nix b/nixpkgs/pkgs/development/python-modules/apptools/default.nix
index 4ee3add12b13..1b67f4921e26 100644
--- a/nixpkgs/pkgs/development/python-modules/apptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apptools/default.nix
@@ -1,12 +1,24 @@
-{ lib, fetchPypi, buildPythonPackage
-, fetchpatch, configobj, six, traitsui
-, pytestCheckHook, tables, pandas
-, pythonOlder, importlib-resources
+{ lib
+, buildPythonPackage
+, configobj
+, fetchpatch
+, fetchPypi
+, importlib-resources
+, pandas
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
+, tables
+, traits
+, traitsui
 }:
 
 buildPythonPackage rec {
   pname = "apptools";
   version = "5.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -24,7 +36,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     configobj
-    six
+    traits
     traitsui
   ] ++ lib.optionals (pythonOlder "3.9") [
     importlib-resources
@@ -40,10 +52,22 @@ buildPythonPackage rec {
     export HOME=$TMP
   '';
 
+  disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/enthought/apptools/issues/303
+    "apptools/io/h5/tests/test_dict_node.py"
+    "apptools/io/h5/tests/test_file.py"
+    "apptools/io/h5/tests/test_table_node.py"
+  ];
+
+
+  pythonImportsCheck = [
+    "apptools"
+  ];
+
   meta = with lib; {
-    description = "Set of packages that Enthought has found useful in creating a number of applications.";
+    description = "Set of packages that Enthought has found useful in creating a number of applications";
     homepage = "https://github.com/enthought/apptools";
-    maintainers = with maintainers; [ knedlsepp ];
     license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ knedlsepp ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/apsw/default.nix b/nixpkgs/pkgs/development/python-modules/apsw/default.nix
index 034e3e0df256..46ae3fc34e56 100644
--- a/nixpkgs/pkgs/development/python-modules/apsw/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/apycula/default.nix b/nixpkgs/pkgs/development/python-modules/apycula/default.nix
index 53851ded566d..d8a369d6da04 100644
--- a/nixpkgs/pkgs/development/python-modules/apycula/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apycula/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "apycula";
-  version = "0.0.1a12";
+  version = "0.2a2";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version;
     pname = "Apycula";
-    hash = "sha256-TFb1C1GaMAK+ckEeXDxSyO2Cgx5dmq62daoSnAiAFmI=";
+    hash = "sha256-pcVoYGBhp9jyuWBJ/Rpi8cjwDgPjhJ1PrPblj5DQTpk=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index ce7bfb1668f1..add8e72d8e7e 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -3,17 +3,21 @@
 , fetchFromGitHub
 , pytestCheckHook
 , nose
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.1.10913";
+  version = "9.1.11752";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VLFbjKX7WXWoJCS9hYwtEikGC48gRg7E24D9Un+/gdc=";
+    hash = "sha256-D1YssHa14q2jxn4HtOYZlTdwGPkiiMhWuOh08fj87ic=";
   };
 
   checkInputs = [
@@ -21,7 +25,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "archinfo" ];
+  pythonImportsCheck = [
+    "archinfo"
+  ];
 
   meta = with lib; {
     description = "Classes with architecture-specific information";
diff --git a/nixpkgs/pkgs/development/python-modules/aresponses/default.nix b/nixpkgs/pkgs/development/python-modules/aresponses/default.nix
index f2a7f0f8f26b..697b8ebbf080 100644
--- a/nixpkgs/pkgs/development/python-modules/aresponses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aresponses/default.nix
@@ -2,24 +2,24 @@
 , aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
+, pythonOlder
 , pytest
 , pytest-asyncio
-, pytest-cov
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "aresponses";
-  version = "2.1.4";
+  version = "2.1.5";
+  format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CircleUp";
     repo = pname;
     rev = version;
-    sha256 = "sha256-crMiMZ2IDuYDFt8Bixg3NRhlUa2tqmfzd7ZeHM+2Iu4=";
+    sha256 = "sha256-9ZzIrj87TwxQi0YMlTHFPAp0V1oxfuL0+RMGXxUxFoE=";
   };
 
   propagatedBuildInputs = [
@@ -34,19 +34,20 @@ buildPythonPackage rec {
   checkInputs = [
     aiohttp
     pytest-asyncio
-    pytest-cov
     pytestCheckHook
   ];
 
-  # Disable tests which requires network access
   disabledTests = [
+    # Disable tests which requires network access
     "test_foo"
     "test_passthrough"
   ];
 
   __darwinAllowLocalNetworking = true;
 
-  pythonImportsCheck = [ "aresponses" ];
+  pythonImportsCheck = [
+    "aresponses"
+  ];
 
   meta = with lib; {
     description = "Asyncio testing server";
@@ -55,3 +56,4 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ makefu ];
   };
 }
+
diff --git a/nixpkgs/pkgs/development/python-modules/argcomplete/default.nix b/nixpkgs/pkgs/development/python-modules/argcomplete/default.nix
index cf2f92557206..0aa3e8c1b948 100644
--- a/nixpkgs/pkgs/development/python-modules/argcomplete/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix b/nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
new file mode 100644
index 000000000000..3f1f3f86666c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix b/nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix
index a40fb806845e..839429bc948b 100644
--- a/nixpkgs/pkgs/development/python-modules/argon2_cffi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/arviz/default.nix b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
index 5aa10201917d..22d545f04f50 100644
--- a/nixpkgs/pkgs/development/python-modules/arviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
@@ -9,11 +9,14 @@
 , numpy
 , pandas
 , pytest
+, cloudpickle
 , scipy
 , setuptools
-, tensorflow-probability
+, typing-extensions
+# , tensorflow-probability (incompatible version)
 , xarray
-#, h5py (used by disabled tests)
+, zarr
+, h5py
 #, pymc3 (broken)
 #, pyro-ppl (broken)
 #, pystan (not packaged)
@@ -45,28 +48,36 @@ buildPythonPackage rec {
     scipy
   ];
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "typing_extensions>=3.7.4.3,<4" "typing_extensions>=3.7.4.3"
+  '';
+
   checkInputs = [
     bokeh
     emcee
     numba
     pytest
-    tensorflow-probability
-    #h5py (used by disabled tests)
-    #pymc3 (broken)
-    #pyro-ppl (broken)
+    cloudpickle
+    zarr
+    #tensorflow-probability (used by disabled tests)
+    h5py
+    #pymc3 (broken, used by disabled tests)
+    #pyro-ppl (broken, used by disabled tests)
     #pystan (not packaged)
-    #numpyro (not packaged)
+    #numpyro (not packaged, used by disabled tests)
   ];
 
   # check requires pymc3 and pyro-ppl, which are currently broken, and pystan
-  # and numpyro, which are not yet packaged, some checks also need to make
+  # and numpyro, which are not yet packaged, and an incompatible (old) version
+  # of tensorflow-probability. some checks also need to make
   # directories and do not have permission to do so. So we can only check part
   # of the package
   # Additionally, there are some failures with the plots test, which revolve
   # around attempting to output .mp4 files through an interface that only wants
   # to output .html files.
   # The following test have been disabled as a result: data_cmdstanpy,
-  # data_numpyro, data_pyro, data_pystan, and plots.
+  # data_numpyro, data_pyro, data_pystan, data_tfp, data_pymc3 and plots.
   checkPhase = ''
     cd arviz/tests/
     export HOME=$TMPDIR
@@ -76,11 +87,13 @@ buildPythonPackage rec {
       base_tests/test_plot_utils.py \
       base_tests/test_rcparams.py \
       base_tests/test_stats.py \
+      base_tests/test_stats_numba.py \
       base_tests/test_stats_utils.py \
       base_tests/test_utils.py \
+      base_tests/test_utils_numba.py \
+      base_tests/test_data_zarr.py \
       external_tests/test_data_cmdstan.py \
-      external_tests/test_data_emcee.py \
-      external_tests/test_data_tfp.py
+      external_tests/test_data_emcee.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/asdf/default.nix b/nixpkgs/pkgs/development/python-modules/asdf/default.nix
index 363d8900163a..1a9ba2dd0963 100644
--- a/nixpkgs/pkgs/development/python-modules/asdf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/asgineer/default.nix b/nixpkgs/pkgs/development/python-modules/asgineer/default.nix
new file mode 100644
index 000000000000..3a1861bbd182
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/asgineer/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "asgineer";
+  version = "0.8.1";
+
+  # PyPI tarball doesn't include tests directory
+  src = fetchFromGitHub {
+    owner = "almarklein";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0hd1i9pc8m7sc8bkn31q4ygkmnl5vklrcziq9zkdiqaqm8clyhcx";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+    requests
+  ];
+
+  meta = with lib; {
+    description = "A really thin ASGI web framework";
+    license = licenses.bsd2;
+    homepage = "https://asgineer.readthedocs.io";
+    maintainers = [ maintainers.matthiasbeyer ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/aspell-python/default.nix b/nixpkgs/pkgs/development/python-modules/aspell-python/default.nix
index 1d6c7b45d15b..7c5c113dbd80 100644
--- a/nixpkgs/pkgs/development/python-modules/aspell-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aspell-python/default.nix
@@ -1,29 +1,57 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, aspell, aspellDicts, python }:
+{ lib
+, aspell
+, aspellDicts
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, pytestCheckHook
+, pythonAtLeast
+}:
 
 buildPythonPackage rec {
   pname = "aspell-python";
   version = "1.15";
+  format = "setuptools";
+
   disabled = isPy27;
 
   src = fetchPypi {
-    inherit version;
     pname = "aspell-python-py3";
+    inherit version;
     extension = "tar.bz2";
-    sha256 = "13dk3jrvqmfvf2w9b8afj37d8bh32kcx295lyn3z7r8qch792hi0";
+    hash = "sha256-IEKRDmQY5fOH9bQk0dkUAy7UzpBOoZW4cNtVvLMcs40=";
   };
 
-  buildInputs = [ aspell ];
+  buildInputs = [
+    aspell
+  ];
 
-  checkPhase = ''
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
     export ASPELL_CONF="dict-dir ${aspellDicts.en}/lib/aspell"
     export HOME=$(mktemp -d)
-    ${python.interpreter} test/unittests.py
   '';
 
-  pythonImportsCheck = [ "aspell" ];
+  pytestFlagsArray = [
+    "test/unittests.py"
+  ];
+
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/WojciechMula/aspell-python/issues/22
+    "test_add"
+    "test_get"
+    "test_saveall"
+  ];
+
+  pythonImportsCheck = [
+    "aspell"
+  ];
 
   meta = with lib; {
-    description = "Python wrapper for aspell (C extension and python version)";
+    description = "Python wrapper for aspell (C extension and Python version)";
     homepage = "https://github.com/WojciechMula/aspell-python";
     license = licenses.bsd3;
     maintainers = with maintainers; [ SuperSandro2000 ];
diff --git a/nixpkgs/pkgs/development/python-modules/asterisk-mbox/default.nix b/nixpkgs/pkgs/development/python-modules/asterisk-mbox/default.nix
new file mode 100644
index 000000000000..0da70911a17c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/asteval/default.nix b/nixpkgs/pkgs/development/python-modules/asteval/default.nix
index dd772e007cc1..4bcfa7d8e671 100644
--- a/nixpkgs/pkgs/development/python-modules/asteval/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asteval/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "asteval";
-  version = "0.9.25";
+  version = "0.9.26";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "newville";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Jy+4NifItCGI1Jj25VakwoJcrpZw0Ng4cArf2M31WGs=";
+    sha256 = "0l2iv51yclqn52w3yvyz3brpbca076ivv70h4gd6bkhwjbax1i2b";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/astroid/default.nix b/nixpkgs/pkgs/development/python-modules/astroid/default.nix
index 101f84b4fcea..ab62a565ce67 100644
--- a/nixpkgs/pkgs/development/python-modules/astroid/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix b/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
index bd9dca338fcd..8e5a2fda3301 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, findutils
 , pytestCheckHook
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -14,9 +16,18 @@ buildPythonPackage rec {
     sha256 = "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   patches = [ ./permissions.patch ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [ findutils pytestCheckHook ];
+
+  # avoid import mismatch errors, as conftest.py is copied to build dir
+  pytestFlagsArray = [
+    "extension_helpers"
+  ];
 
   pythonImportsCheck = [
     "extension_helpers"
diff --git a/nixpkgs/pkgs/development/python-modules/astropy/default.nix b/nixpkgs/pkgs/development/python-modules/astropy/default.nix
index 889c69d5313b..78f02e2870ce 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/astroquery/default.nix b/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
index f7764149a663..8853b1e9e08d 100644
--- a/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
index 3f09521e34f2..1c818d2724ea 100644
--- a/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -14,14 +14,16 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.23.1";
-  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-m8oTqGbsJ99ImtnSlL4LX1qR0bUhGtVPPWmjsZfV6sE=";
+    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/nixpkgs/pkgs/development/python-modules/async_generator/default.nix b/nixpkgs/pkgs/development/python-modules/async_generator/default.nix
index dfbd0dbb9968..fb7dec6d6ed4 100644
--- a/nixpkgs/pkgs/development/python-modules/async_generator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/async_timeout/default.nix b/nixpkgs/pkgs/development/python-modules/async_timeout/default.nix
index ae8bacc94415..2a67ed1d6710 100644
--- a/nixpkgs/pkgs/development/python-modules/async_timeout/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix b/nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix
index 324e4ec823a3..a01e9389f431 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncio-dgram/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/asyncio_mqtt/default.nix b/nixpkgs/pkgs/development/python-modules/asyncio_mqtt/default.nix
index fd8a52f5a6ae..c0ae1cea95f7 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncio_mqtt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix b/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
index 7ae4cb1b7898..7d28810380f0 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncpg/default.nix
@@ -1,14 +1,21 @@
-{ lib, isPy3k, fetchPypi, buildPythonPackage
-, uvloop, postgresql }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, uvloop
+, postgresql
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "asyncpg";
   version = "0.25.0";
-  disabled = !isPy3k;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "63f8e6a69733b285497c2855464a34de657f2cccd25aeaeeb5071872e9382540";
+    hash = "sha256-Y/jmppczsoVJfChVRko03mV/LMzSWurutQcYcuk4JUA=";
   };
 
   checkInputs = [
@@ -16,15 +23,17 @@ buildPythonPackage rec {
     postgresql
   ];
 
-  pythonImportsCheck = [ "asyncpg" ];
+  pythonImportsCheck = [
+    "asyncpg"
+  ];
 
   meta = with lib; {
+    description = "Asyncio PosgtreSQL driver";
     homepage = "https://github.com/MagicStack/asyncpg";
-    description = "An asyncio PosgtreSQL driver";
     longDescription = ''
       Asyncpg is a database interface library designed specifically for
       PostgreSQL and Python/asyncio. asyncpg is an efficient, clean
-      implementation of PostgreSQL server binary protocol for use with Python’s
+      implementation of PostgreSQL server binary protocol for use with Python's
       asyncio framework.
     '';
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
index 7cdfbb66b26b..2db70c162d26 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
@@ -1,31 +1,32 @@
 { lib
+, bcrypt
 , buildPythonPackage
-, fetchPypi
-, pythonOlder
 , cryptography
-, bcrypt
-, gssapi
+, fetchPypi
 , fido2
+, gssapi
 , libnacl
 , libsodium
 , nettle
-, python-pkcs11
-, pyopenssl
-, openssl
 , openssh
+, openssl
+, pyopenssl
 , pytestCheckHook
+, python-pkcs11
+, pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "2.8.1";
+  version = "2.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0648eba58d72653755f28e26c9bd83147d9652c1f2f5e87fbf5a87d7f8fbf83a";
+    sha256 = "sha256-PMM32AZhlGVFW/GH6KkeP1dUI3GBhOI4+a6MQcTzOvE=";
   };
 
   propagatedBuildInputs = [
@@ -36,8 +37,9 @@ buildPythonPackage rec {
     libnacl
     libsodium
     nettle
-    python-pkcs11
     pyopenssl
+    python-pkcs11
+    typing-extensions
   ];
 
   checkInputs = [
@@ -66,6 +68,8 @@ buildPythonPackage rec {
     "TestSKAuthCTAP2"
     # Requires network access
     "test_connect_timeout_exceeded"
+    # Fails in the sandbox
+    "test_forward_remote"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix b/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
index 031c696f020f..ee261946a1ec 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "asyncstdlib";
-  version = "3.10.2";
+  version = "3.10.3";
   disabled = pythonOlder "3.7";
   format = "flit";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "maxfischer2781";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vjOhfEsAldTjROFUer1SgEX1KxnNM/WwtLsCB9ZV1WM=";
+    sha256 = "sha256-Q547XKsn4/U7XbDhZADF4qPpFxAGPmv9bAXSQZnNUIo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix b/nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix
index 4bb201b251e9..a607fe965827 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/asysocks/default.nix b/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
index 16e71a62ff4b..4ad71306789e 100644
--- a/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
@@ -1,20 +1,32 @@
 { lib
+, asn1crypto
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "asysocks";
-  version = "0.1.2";
+  version = "0.1.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hi9hzih265qlh7x32r5pbaqm9wkhm52yrdiksnd4gl5nrdgwcwv";
+    sha256 = "sha256-I9X8+ucadYJsPteHvZsbw7GJ7DdliWG86DyemUVeNUw=";
   };
 
+  propagatedBuildInputs = [
+    asn1crypto
+  ];
+
   # Upstream hasn't release the tests yet
   doCheck = false;
-  pythonImportsCheck = [ "asysocks" ];
+
+  pythonImportsCheck = [
+    "asysocks"
+  ];
 
   meta = with lib; {
     description = "Python Socks4/5 client and server library";
diff --git a/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix b/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
index 31d615f5314b..399926c5e05f 100755
--- a/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
+++ b/nixpkgs/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.8.0";
+  version = "3.19.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "atlassian-api";
     repo = pname;
     rev = version;
-    sha256 = "sha256-J0/CtfBtOdWReKQS/VvOL/3r+j4zJfnv/ICIXepKUvc=";
+    sha256 = "sha256-SJsqk8TM+5UztN1ZDyYrOjNIWDLhm5XtLxPflIGPxKQ=";
   };
 
+  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/nixpkgs/pkgs/development/python-modules/atpublic/default.nix b/nixpkgs/pkgs/development/python-modules/atpublic/default.nix
index 8bf81556770a..16f0f0ddffd9 100644
--- a/nixpkgs/pkgs/development/python-modules/atpublic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/attrdict/default.nix b/nixpkgs/pkgs/development/python-modules/attrdict/default.nix
index cb87b9027f04..3a9834ec8657 100644
--- a/nixpkgs/pkgs/development/python-modules/attrdict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/attrdict/default.nix
@@ -1,19 +1,56 @@
-{ lib, buildPythonPackage, fetchPypi, coverage, nose, six }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, coverage
+, pythonOlder
+, nose
+, pytestCheckHook
+, six
+}:
 
 buildPythonPackage rec {
   pname = "attrdict";
   version = "2.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "35c90698b55c683946091177177a9e9c0713a0860f0e049febd72649ccd77b70";
+    hash = "sha256-NckGmLVcaDlGCRF3F3qenAcToIYPDgSf69cmSczXe3A=";
   };
 
-  propagatedBuildInputs = [ coverage nose six ];
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    coverage
+    nose
+  ];
+
+  postPatch = ''
+    substituteInPlace attrdict/merge.py \
+      --replace "from collections" "from collections.abc"
+    substituteInPlace attrdict/mapping.py \
+      --replace "from collections" "from collections.abc"
+    substituteInPlace attrdict/default.py \
+      --replace "from collections" "from collections.abc"
+    substituteInPlace attrdict/mixins.py \
+      --replace "from collections" "from collections.abc"
+  '';
+
+  # Tests are not shipped and source is not tagged
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "attrdict"
+  ];
 
   meta = with lib; {
     description = "A dict with attribute-style access";
     homepage = "https://github.com/bcj/AttrDict";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/attrs/default.nix b/nixpkgs/pkgs/development/python-modules/attrs/default.nix
index 08730e3d689e..4b10f4203e8b 100644
--- a/nixpkgs/pkgs/development/python-modules/attrs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/attrs/default.nix
@@ -6,14 +6,17 @@
 
 buildPythonPackage rec {
   pname = "attrs";
-  version = "21.2.0";
+  version = "21.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb";
+    hash = "sha256-YmuoI0IR25joad92IwoTfExAoS1yRFxF1fW3FvB24v0=";
   };
 
-  outputs = [ "out" "testout" ];
+  outputs = [
+    "out"
+    "testout"
+  ];
 
   postInstall = ''
     # Install tests as the tests output.
@@ -21,7 +24,9 @@ buildPythonPackage rec {
     cp -R tests $testout/tests
   '';
 
-  pythonImportsCheck = [ "attr" ];
+  pythonImportsCheck = [
+    "attr"
+  ];
 
   # pytest depends on attrs, so we can't do this out-of-the-box.
   # Instead, we do this as a passthru.tests test.
@@ -35,5 +40,6 @@ buildPythonPackage rec {
     description = "Python attributes without boilerplate";
     homepage = "https://github.com/hynek/attrs";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/augmax/default.nix b/nixpkgs/pkgs/development/python-modules/augmax/default.nix
new file mode 100644
index 000000000000..cda3ff5fbcd2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aurorapy/default.nix b/nixpkgs/pkgs/development/python-modules/aurorapy/default.nix
new file mode 100644
index 000000000000..17abcf0e9c47
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aurorapy/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitLab
+, future
+, pyserial
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aurorapy";
+  version = "0.2.6";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitLab {
+    owner = "energievalsabbia";
+    repo = pname;
+    rev = version;
+    hash = "sha256-DMlzzLe94dbeHjESmLc045v7vQ//IEsngAv7TeVznHE=";
+  };
+
+  propagatedBuildInputs = [
+    future
+    pyserial
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aurorapy"
+  ];
+
+  meta = with lib; {
+    description = "Implementation of the communication protocol for Power-One Aurora inverters";
+    homepage = "https://gitlab.com/energievalsabbia/aurorapy";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/autarco/default.nix b/nixpkgs/pkgs/development/python-modules/autarco/default.nix
new file mode 100644
index 000000000000..7ff630376c06
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix b/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
index 224b8bec4015..94a0044d3ac4 100644
--- a/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/autopage/default.nix b/nixpkgs/pkgs/development/python-modules/autopage/default.nix
index 9a2ca722a62b..0bb5c09f4104 100644
--- a/nixpkgs/pkgs/development/python-modules/autopage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix b/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
index f99407030cdd..f74a6af84757 100644
--- a/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
@@ -1,14 +1,15 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "21.11.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-qxN5AdLlzadG0/raeAyJ/37PLgYLndl1JQSVkgdLv/4=";
+    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/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
index b127ad2410e5..c5565500a321 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.10.0";
+  version = "1.12.0";
 
   # No tests available in PyPI tarball
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "v${version}";
-    sha256 = "0nrqxgl24c6lknxhmmf7vkhvdy54dhnr9qcm1r1gwxzdsymq2l54";
+    sha256 = "sha256-3Of3E32+Txe2844pl0sWxj46EgaTG2aEfbAELlxIT/E=";
   };
 
   # Package is not compatible with Python 3.5
diff --git a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
index 4ca5df17109f..ca01e35a3c55 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
index a304fae19df1..7a9722be28ce 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "aws-xray-sdk";
-  version = "2.8.0";
+  version = "2.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "90c2fcc982a770e86d009a4c3d2b5c3e372da91cb8284d982bae458e2c0bb268";
+    sha256 = "b0cd972db218d4d8f7b53ad806fc6184626b924c4997ae58fc9f2a8cd1281568";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/awscrt/default.nix b/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
index e3125343dffa..6bc4c63aefb5 100644
--- a/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
+++ b/nixpkgs/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.12.6";
+  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 = "65d71b4cd78165bea962dfbda361b47b9b5a6198d8074046b8667da9653d0752";
-  };
-
   meta = with lib; {
     homepage = "https://github.com/awslabs/aws-crt-python";
     description = "Python bindings for the AWS Common Runtime";
diff --git a/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix b/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix
index 68b44ea5a5d5..70161d3fd6a0 100644
--- a/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix
@@ -1,22 +1,29 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "AWSIoTPythonSDK";
-  version = "1.4.9";
+  version = "1.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-iot-device-sdk-python";
     rev = "v${version}";
-    sha256 = "0mbppz1lnia4br5vjz1l4z4vw47y3bzcfpckzhs9lxhj4vq6d001";
+    sha256 = "0bmvwv471mvlwj2rfz08j9qvzsp4vyjz67cbzkvsy6kmihx3wfqh";
   };
 
-  # Project has no tests
+  # Module has no tests
   doCheck = false;
-  pythonImportsCheck = [ "AWSIoTPythonSDK" ];
+
+  pythonImportsCheck = [
+    "AWSIoTPythonSDK"
+  ];
 
   meta = with lib; {
     description = "Python SDK for connecting to AWS IoT";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix b/nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix
index e43e37720217..f3f395b6f78e 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-applicationinsights/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix b/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
index 9202919ae6dd..9a39aa70c64f 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-batch/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "azure-batch";
-  version = "11.0.0";
+  version = "12.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "ce5fdb0ec962eddfe85cd82205e9177cb0bbdb445265746e38b3bbbf1f16dc73";
+    sha256 = "sha256-GpseF4mEp79JWvZ7zOUfDbHkqKlXr7KeM1VKFKlnTes=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-core/default.nix b/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
index b4dc461ea88c..9a128d813489 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
@@ -15,14 +15,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.20.1";
+  version = "1.21.1";
   pname = "azure-core";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "21d06311c9c373e394ed9f9db035306773334a0181932e265889eca34d778d17";
+    sha256 = "88d2db5cf9a135a7287dc45fdde6b96f9ca62c9567512a3bb3e20e322ce7deb2";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix b/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
index 95910a66e82e..de3ddb803aa5 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "azure-eventhub";
-  version = "5.6.1";
+  version = "5.7.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-ssjTesjPFITaB5Uy061podqL14ojeCIVm3LWsF3kY40=";
+    sha256 = "6ac364e5f1c5b376604c3b5a25ad0be5e3a5f96368f590e05b47e6745f1006ee";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
index 2b2327d9f0ec..7b088728b275 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.1.0";
+  version = "3.0.0";
   pname = "azure-mgmt-apimanagement";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "58296bd45e876df33f93f3a41c866c36476f5f3bd46818e8891308794f041c94";
+    sha256 = "9262f54ed387eb083d8dae66d32a8df35647319b902bd498cdc376f50a12d154";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
index 2685d8803b89..d71539efc232 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-applicationinsights";
-  version = "1.0.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "c287a2c7def4de19f92c0c31ba02867fac6f5b8df71b5dbdab19288bb455fc5b";
+    sha256 = "68deed8ee884dd0b9631804e8b9c65fcd94e8e01c7218beae96a9fe557d7a0d7";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index a89e803220d7..3038f8720e70 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "23.1.0";
+  version = "26.0.0";
   pname = "azure-mgmt-compute";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "49dbb0f51006d557cbd0b22999cb9ecf3eabc2be46d96efcc6d651c6b33754b3";
+    sha256 = "sha256-nGot8UIeL0DNuw5+v7XmLjrNiJMfpsk1z2K2Tdo4Q+s=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
index aa942d3a732b..ce17bc60de50 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-consumption";
-  version = "8.0.0";
+  version = "9.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "b4cc167648634f864394066d5621afc137c1be795ee76f7539125f9538a2bf37";
+    sha256 = "76f9566390721226add96c9d3020ab986d3e5fd81e3143c098f57262c6ce4a51";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
index ddd05fa6a0fe..8afcde620194 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "8.2.0";
+  version = "9.0.0";
   pname = "azure-mgmt-containerregistry";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f2bcdbcf0b9fdc2df0df9eccb77cb489091d3c670ed53cba77e5ffd734e9539b";
+    sha256 = "9f6c5894d32ba696527ecf0ff155bb43c325dff6a11a6de60cd22ea3f5fb180d";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
index cb1d15179b2d..bfd0b6196954 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-datafactory";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "d2a3cfe844bd9e51499b81bba7510e2c8df4fc3a40a7059e6224ed043d65a786";
+    sha256 = "bc2560b4de1528292883b53a337b89f04a5ceab7c3500b6bc388e3a77ff093cc";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix
index 2023eb0ab567..e61cd221db9b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-eventgrid";
-  version = "10.0.0";
+  version = "10.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "582e314ca05a9be0cd391c64689e6a5332d5bbad76c2ea751b727cfe99a2a3d2";
+    sha256 = "4da3bf142d31bc25d80ee26641b95b7f52eb1baf4f326b9954e9f0613944ef3c";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
index 404caf4ebf5b..005f5ca8f0c0 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
@@ -1,26 +1,36 @@
 { lib, buildPythonPackage, fetchPypi, isPy27
 , azure-common
+, azure-mgmt-core
 , msrest
 , msrestazure
 }:
 
 buildPythonPackage rec {
-  version = "0.4.0";
+  version = "1.0.0";
   pname = "azure-mgmt-imagebuilder";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c9291bf16b40b043637e5e4f15650f71418ac237393e62219cab478a7951733";
+    sha256 = "634e398de9a23e712aa27a4a59f9ea5d5091d1dfcfed5ac977230918872c4430";
     extension = "zip";
   };
 
-  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+  propagatedBuildInputs = [
+    azure-common
+    azure-mgmt-core
+    msrest
+    msrestazure
+  ];
 
   # no tests included
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.common" "azure.mgmt.imagebuilder" ];
+  pythonImportsCheck = [
+    "azure.common"
+    "azure.mgmt.core"
+    "azure.mgmt.imagebuilder"
+  ];
 
   meta = with lib; {
     description = "Microsoft Azure Image Builder Client Library for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
index 029a10251823..ea5fbd1c1020 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothub/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-iothub";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "2724f48cadb1be7ee96fc26c7bfa178f82cea5d325e785e91d9f26965fa8e46f";
+    sha256 = "sha256-nsAeVhs5N8bpwYenmRwJmqF/IAqz/ulSoYIeOU5l0eM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
index 39f09b28241c..dfd8581af1aa 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
index dbe22478d7bd..edf8057e503c 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.1.0";
+  version = "6.0.1";
   pname = "azure-mgmt-netapp";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "306088088ee10e86c4cf24cc82a9ca619db5cdfc0da3fa207d00ec7f77f06e8e";
+    sha256 = "6ce683587be1638d8d77620b7af118060b8b7dfc4fd23d46a623a66edcb388e1";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
index bf9d9bab576b..7b7704401c17 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-notificationhubs";
-  version = "7.0.0";
+  version = "8.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "92ffed71a2999ff5db41afd66c6ba5cfef9d467f732c7bb45b7c41db371c6e4a";
+    sha256 = "4dd924f4704993e3ebf1d42e2be1cbe0b0d908e695857fa08c4369ae11d0eb36";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 0d3a4bfb2b33..5baf84c1c394 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 5166c8ead8e4..37a30147aa5f 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,14 +8,14 @@
 
 
 buildPythonPackage rec {
-  version = "20.0.0";
+  version = "20.1.0";
   pname = "azure-mgmt-resource";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "622dca4484be64f9f5ce335d327dffabf3e71e14e8a3f4a1051dc85a5c3ebbca";
+    sha256 = "4fbb2158320e0bdd367882642f266a6dfb3b4b8610792b3afbbca39089f212d7";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
index 64dcf44345ef..71257c46c4f2 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-subscription";
-  version = "2.0.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "70ec6e3395549c434bfd981f8f76cb8b6863339bad9b31924c1510af661dbf45";
+    sha256 = "157bd9123a5814473a9cd131832ea614c478548722ec01f47b35d778dc307d55";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
index 1c9cb2e94570..cd19e88e9bd0 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "5.0.0";
+  version = "6.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0b10542600cd268d6369681c3367373a925eedcda5414eacbd3fbc9a0bdf1f24";
+    sha256 = "c26635089276515b0488fcf014aab50a0446f54800c6e0e5583cc493ac8d738f";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
index bf474c031438..b4e37c33fef9 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "azure-servicebus";
-  version = "7.4.0";
+  version = "7.5.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-nlt4wNHI613tK7JB85fBW2LE/FOa8+2aLeT6wzP1PQ4=";
+    sha256 = "e97a069c6a73fce3042a5ef0d438cc564152cfbcc2e7db6f7a19fbd51bb3555b";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix b/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix
index 283a31466620..64e7a8f63d32 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-servicefabric/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "azure-servicefabric";
-  version = "8.0.0.0";
+  version = "8.2.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "f414cc114e28a358a7f39772205f3f15d7fc1aa30a08d106b0b80623f4303f1d";
+    sha256 = "f49c8759447970817b9b2d3d4b97439765dcf75ba01b6066ce96b605052fbb23";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
index 4be6c43ba9ab..b24417b325ab 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "azure-synapse-artifacts";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "3f782c9b590b8ae43678c6e003df8ca8cca675832039d270b0b7437ff01557fd";
+    sha256 = "79eb973280ea89c0e6e2872d8f3f175b172b7438c2e2b9b4e655ae206be705fa";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/backports-entry-points-selectable/default.nix b/nixpkgs/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
index abf6774ddef2..84618e8da1d8 100644
--- a/nixpkgs/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "backports-entry-points-selectable";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     pname = "backports.entry_points_selectable";
     inherit version;
-    sha256 = "988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a";
+    sha256 = "914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/bandit/default.nix b/nixpkgs/pkgs/development/python-modules/bandit/default.nix
index 03a4c80856d8..4a2a2803d3aa 100644
--- a/nixpkgs/pkgs/development/python-modules/bandit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bandit/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "bandit";
-  version = "1.7.1";
+  version = "1.7.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a81b00b5436e6880fa8ad6799bc830e02032047713cbb143a12939ac67eb756c";
+    sha256 = "sha256-bRGt6gIUpDgTiHv+caN3tamVXkyCbI/9NBtJTjqyUmA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/base58check/default.nix b/nixpkgs/pkgs/development/python-modules/base58check/default.nix
new file mode 100644
index 000000000000..e81eca6e137d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/base58check/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "base58check";
+  version = "1.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "joeblackwaslike";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Tig6beLRDsXC//x4+t/z2BGaJQWzcP0J+QEKx3D0rhs=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "base58check"
+  ];
+
+  meta = with lib; {
+    description = "Implementation of the Base58Check encoding scheme";
+    homepage = "https://github.com/joeblackwaslike/base58check";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/basemap/default.nix b/nixpkgs/pkgs/development/python-modules/basemap/default.nix
index c3d29d932442..30ca58fed319 100644
--- a/nixpkgs/pkgs/development/python-modules/basemap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix b/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix
index 336c6b2e5134..a20d0c696cd6 100644
--- a/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix
@@ -1,12 +1,12 @@
 { lib
 , buildPythonPackage
-, isPy27
+, pythonOlder
 , fetchFromGitHub
 , pytestCheckHook
-, unittest2
 , future
 , numpy
 , pillow
+, fetchpatch
 , scipy
 , scikit-learn
 , scikitimage
@@ -16,27 +16,53 @@
 buildPythonPackage rec {
   pname = "batchgenerators";
   version = "0.21";
+  format = "setuptools";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "MIC-DKFZ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "16bk4r0q3m2c9fawpmj4l7kz0x3fyv1spb92grf44gmyricq3jdb";
-
+    hash = "sha256-q8mBWcy+PkJcfiKtq8P2bnTw56FE1suVS0zUgUEmc5k=";
   };
 
   propagatedBuildInputs = [
-    future numpy pillow scipy scikit-learn scikitimage threadpoolctl
+    future
+    numpy
+    pillow
+    scipy
+    scikit-learn
+    scikitimage
+    threadpoolctl
+  ];
+
+  checkInputs = [
+    pytestCheckHook
   ];
 
-  checkInputs = [ pytestCheckHook unittest2 ];
+  patches = [
+    # Remove deprecated unittest2, https://github.com/MIC-DKFZ/batchgenerators/pull/78
+    (fetchpatch {
+      name = "remove-unittest2.patch";
+      url = "https://github.com/MIC-DKFZ/batchgenerators/commit/87a9437057df8a7550aa3b3eaf840871cc0d5cef.patch";
+      sha256 = "sha256-vozBK7g2dLxx9din/R2vU28Mm+LoGAO/BmQlt/ShmEo=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"unittest2",' ""
+  '';
+
+  pythonImportsCheck = [
+    "batchgenerators"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "2D and 3D image data augmentation for deep learning";
     homepage = "https://github.com/MIC-DKFZ/batchgenerators";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ bcdarwin ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bcdarwin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bbox/default.nix b/nixpkgs/pkgs/development/python-modules/bbox/default.nix
new file mode 100644
index 000000000000..a07551197b84
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bbox/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pyquaternion
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "bbox";
+  version = "0.9.2";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-ucR7mg9eubEefjC7ratEgrb9h++a26z8KV38n3N2kcw=";
+  };
+
+  propagatedBuildInputs = [ pyquaternion numpy ];
+
+  pythonImportsCheck = [ "bbox" ];
+
+  meta = with lib; {
+    description = "Python library for 2D/3D bounding boxes";
+    homepage = "https://github.com/varunagrawal/bbox";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix b/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
index e889fff9688a..42203a43da46 100644
--- a/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/beancount/default.nix b/nixpkgs/pkgs/development/python-modules/beancount/default.nix
index 31f8a24d8b76..d4ced793f830 100644
--- a/nixpkgs/pkgs/development/python-modules/beancount/default.nix
+++ b/nixpkgs/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.
@@ -48,7 +48,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "http://furius.ca/beancount/";
+    homepage = "https://github.com/beancount/beancount";
     description = "Double-entry bookkeeping computer language";
     longDescription = ''
         A double-entry bookkeeping computer language that lets you define
diff --git a/nixpkgs/pkgs/development/python-modules/beartype/default.nix b/nixpkgs/pkgs/development/python-modules/beartype/default.nix
new file mode 100644
index 000000000000..d77a4db3e331
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/beartype/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
+
+
+buildPythonPackage rec {
+  pname = "beartype";
+  version = "0.9.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "YjYw3CQ7DaWoTw+kFOaqryYT5WetGav+aoHBfqWrYvE=";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix b/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix
index d69b2d6ce4ca..2c24578f4581 100644
--- a/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix
@@ -1,33 +1,49 @@
 { lib
-, buildPythonPackage, fetchFromGitHub
-, future, pyparsing
-, glibcLocales, nose, unittest2
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, pyparsing
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "bibtexparser";
-  version = "1.1.0";
+  version = "1.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # PyPI tarball does not ship tests
   src = fetchFromGitHub {
     owner = "sciunto-org";
     repo = "python-${pname}";
     rev = "v${version}";
-    sha256 = "1yj3hqnmkjh0sjjhmlm4097mmz98kna8rn0dd9g8zaw9g1a35h8c";
+    hash = "sha256-M9fDI28Yq0uUHPx51wiuRPmRTLkjVqj7ixapbSftnJc=";
   };
 
-  propagatedBuildInputs = [ future pyparsing ];
+  propagatedBuildInputs = [
+    future
+    pyparsing
+  ];
 
-  checkInputs = [ nose unittest2 glibcLocales ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    LC_ALL="en_US.UTF-8" nosetests
+  postPatch = ''
+    # https://github.com/sciunto-org/python-bibtexparser/pull/259
+    substituteInPlace bibtexparser/tests/test_crossref_resolving.py \
+      --replace "import unittest2 as unittest" "import unittest"
   '';
 
-  meta = {
-    description = "Bibtex parser for python 2.7 and 3.3 and newer";
+  pythonImportsCheck = [
+    "bibtexparser"
+  ];
+
+  meta = with lib; {
+    description = "Bibtex parser for Python";
     homepage = "https://github.com/sciunto-org/python-bibtexparser";
-    license = with lib.licenses; [ gpl3 bsd3 ];
-    maintainers = with lib.maintainers; [ fridh ];
+    license = with licenses; [ lgpl3Only /* or */ bsd3 ];
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/billiard/default.nix b/nixpkgs/pkgs/development/python-modules/billiard/default.nix
index 79aca1e4a99f..f02bef97ba34 100644
--- a/nixpkgs/pkgs/development/python-modules/billiard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/billiard/default.nix
@@ -1,16 +1,18 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPyPy
 , pytestCheckHook
 , case
 , psutil
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "billiard";
   version = "3.6.4.0";
-  disabled = isPyPy;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -23,9 +25,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "billiard"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/celery/billiard";
     description = "Python multiprocessing fork with improvements and bugfixes";
+    homepage = "https://github.com/celery/billiard";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
index 004b7d4e3e09..8f754b213e81 100644
--- a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.8.7";
+  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-nLZdaV341mULXIngkEqiLQeg4G2NDFGNg/AUozgJe74=";
+    hash = "sha256-Ufx9Tl0PmV3AEig3UvejJBVxhewzPN6IRsji5MzVxG8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bip_utils/default.nix b/nixpkgs/pkgs/development/python-modules/bip_utils/default.nix
index 3d3c85eea3b4..a4430b655ce1 100644
--- a/nixpkgs/pkgs/development/python-modules/bip_utils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/bitarray/default.nix b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
index 43cc2dbd5bce..743c749a1f1b 100644
--- a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.3.4";
+  version = "2.3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f19c62425576d3d1821ed711b94d1a4e5ede8f05ca121e99b6d978ed49c7a765";
+    sha256 = "sha256-O/21ne0VyWHm49W38WcVXNoFO+JHXqgBdGHfC02CC30=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bitcoin-utils-fork-minimal/default.nix b/nixpkgs/pkgs/development/python-modules/bitcoin-utils-fork-minimal/default.nix
new file mode 100644
index 000000000000..820fa883676a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bitcoin-utils-fork-minimal/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, base58
+, buildPythonPackage
+, ecdsa
+, fetchPypi
+, sympy
+}:
+
+buildPythonPackage rec {
+  pname = "bitcoin-utils-fork-minimal";
+  version = "0.4.11.4";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-n3tEQkl6KBAno4LY67lZme3TIvsm35VA2yyfWYuIE1c=";
+  };
+
+  propagatedBuildInputs = [
+    base58
+    ecdsa
+    sympy
+  ];
+
+  preConfigure = ''
+    substituteInPlace setup.py \
+      --replace "sympy==1.3" "sympy>=1.3" \
+      --replace "base58==2.1.0" "base58>=2.1.0" \
+      --replace "ecdsa==0.13.3" "ecdsa>=0.13.3"
+  '';
+
+  # Project doesn't ship tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "bitcoinutils"
+  ];
+
+  meta = with lib; {
+    description = "Bitcoin utility functions";
+    homepage = "https://github.com/doersf/python-bitcoin-utils";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bitcoinrpc/default.nix b/nixpkgs/pkgs/development/python-modules/bitcoinrpc/default.nix
new file mode 100644
index 000000000000..200f3edf038a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bitcoinrpc/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, orjson
+, httpx
+, typing-extensions
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "bitcoinrpc";
+  version = "0.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bibajz";
+    repo = "bitcoin-python-async-rpc";
+    rev = "v${version}";
+    hash = "sha256-uxkSz99X9ior7l825PaXGIC5XJzO/Opv0vTyY1ixvxU=";
+  };
+
+  propagatedBuildInputs = [
+    orjson
+    httpx
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "bitcoinrpc"
+  ];
+
+  meta = with lib; {
+    description = "Bitcoin JSON-RPC client";
+    homepage = "https://github.com/bibajz/bitcoin-python-async-rpc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bleak/default.nix b/nixpkgs/pkgs/development/python-modules/bleak/default.nix
index d159811efbcc..7db587ed58be 100644
--- a/nixpkgs/pkgs/development/python-modules/bleak/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bleak/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "bleak";
-  version = "0.13.0";
+  version = "0.14.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vnwk36qfws9amqrdaynf63dcj2gzxm0ns1l75hrczmd5j2ic1zb";
+    sha256 = "1fkq8q54s9apqiamdd8vgrhk5p02w5w281q93dfnrd37xv7ysk6h";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/blis/default.nix b/nixpkgs/pkgs/development/python-modules/blis/default.nix
index 6f0370f044c6..e8e9962f9b4f 100644
--- a/nixpkgs/pkgs/development/python-modules/blis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/blist/default.nix b/nixpkgs/pkgs/development/python-modules/blist/default.nix
deleted file mode 100644
index af129f4aa5dc..000000000000
--- a/nixpkgs/pkgs/development/python-modules/blist/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchpatch
-, fetchPypi
-, isPyPy
-}:
-
-buildPythonPackage rec {
-  pname = "blist";
-  version = "1.3.6";
-  disabled = isPyPy;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1hqz9pqbwx0czvq9bjdqjqh5bwfksva1is0anfazig81n18c84is";
-  };
-
-
-  patches = [
-    # Fix compatibility for Python 3.7 https://github.com/DanielStutzbach/blist/pull/78
-    (fetchpatch {
-      url = "https://github.com/DanielStutzbach/blist/commit/2dc1ec28ed68611fcec9ac1c68070c782d6b4b4e.patch";
-      sha256 = "0ma0z6ga80w3wzh3sidwd8ckfbgx4j1y7cc29q6j9ddrvxpf276y";
-    })
-
-    # Fixes compatibility for Python 3.9 https://github.com/DanielStutzbach/blist/pull/91
-    (fetchpatch {
-      url = "https://github.com/DanielStutzbach/blist/pull/91/commits/e63514f805e42dc6a5708e629e4153d91bc90bff.patch";
-      sha256 = "1prx8znk7008v4ky7q2lx0pi6hzqd4kxgfdwbsr4zylwbrdqvsga";
-    })
-  ];
-
-  meta = with lib; {
-    homepage = "http://stutzbachenterprises.com/blist/";
-    description = "A list-like type with better asymptotic performance and similar performance on small lists";
-    license = licenses.bsd0;
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/block-io/default.nix b/nixpkgs/pkgs/development/python-modules/block-io/default.nix
index f634bf17ecc0..64ffc5ff4b3e 100644
--- a/nixpkgs/pkgs/development/python-modules/block-io/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/block-io/default.nix
@@ -1,8 +1,20 @@
-{ lib, fetchPypi, buildPythonPackage, base58, ecdsa, pycryptodome, requests, six, setuptools }:
+{ lib
+, fetchPypi
+, bitcoin-utils-fork-minimal
+, buildPythonPackage
+, base58
+, pycryptodome
+, requests
+, setuptools
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "block-io";
   version = "2.0.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
@@ -11,24 +23,24 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     base58
-    ecdsa
+    bitcoin-utils-fork-minimal
     pycryptodome
     requests
-    six
     setuptools
   ];
 
   preConfigure = ''
     substituteInPlace setup.py \
-      --replace "ecdsa==0.15" "ecdsa>=0.15" \
-      --replace "base58==1.0.3" "base58>=1.0.3"
+      --replace "base58==2.1.0" "base58>=2.1.0"
   '';
 
   # Tests needs a BlockIO API key to run properly
   # https://github.com/BlockIo/block_io-python/blob/79006bc8974544b70a2d8e9f19c759941d32648e/test.py#L18
   doCheck = false;
 
-  pythonImportsCheck = [ "block_io" ];
+  pythonImportsCheck = [
+    "block_io"
+  ];
 
   meta = with lib; {
     description = "Integrate Bitcoin, Dogecoin and Litecoin in your Python applications using block.io";
diff --git a/nixpkgs/pkgs/development/python-modules/blocksat-cli/default.nix b/nixpkgs/pkgs/development/python-modules/blocksat-cli/default.nix
index 6c943d5ae57c..4c5b96bce538 100644
--- a/nixpkgs/pkgs/development/python-modules/blocksat-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blocksat-cli/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "blocksat-cli";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "96ec5e548dcdb71ada75727d76b34006fe5f6818bd89cf982e15616d41889603";
+    sha256 = "sha256-hz5BGE+gqOrPiXvmeOTOecm2RUrTvM/xxvV3cnO2QSc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bme280spi/default.nix b/nixpkgs/pkgs/development/python-modules/bme280spi/default.nix
new file mode 100644
index 000000000000..a7a1e0fb920e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/boltons/default.nix b/nixpkgs/pkgs/development/python-modules/boltons/default.nix
index 0986a5dc7c43..f884e164d639 100644
--- a/nixpkgs/pkgs/development/python-modules/boltons/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boltons/default.nix
@@ -3,40 +3,53 @@
 , fetchFromGitHub
 , fetchpatch
 , pytestCheckHook
+, pythonAtLeast
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "boltons";
   version = "20.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # No tests in PyPi Tarball
   src = fetchFromGitHub {
     owner = "mahmoud";
     repo = "boltons";
     rev = version;
-    sha256 = "0vw0h0z81gfxgjfijqiza92ic0siv9xy65mklgj5d0dzr1k9waw8";
+    hash = "sha256-iCueZsi/gVbko7MW43vaUQMWRVI/YhmdfN29gD6AgG8=";
   };
 
-  patches = [
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  patches = lib.optionals (pythonAtLeast "3.10") [
+    # pprint has no attribute _safe_repr, https://github.com/mahmoud/boltons/issues/294
     (fetchpatch {
-      url = "https://github.com/mahmoud/boltons/commit/754afddf141ea26956c88c7e13fe5e7ca7942654.patch";
-      sha256 = "14kcq8pl4pmgcnlnmj1sh1yrksgym0kn0kgz2648g192svqkbpz8";
+      name = "fix-pprint-attribute.patch";
+      url = "https://github.com/mahmoud/boltons/commit/270e974975984f662f998c8f6eb0ebebd964de82.patch";
+      sha256 = "sha256-pZLfr6SRCw2aLwZeYaX7bzfJeZC4cFUILEmnVsKR6zc=";
     })
   ];
 
-  checkInputs = [ pytestCheckHook ];
   disabledTests = [
-    # This test is broken without this PR, which has not yet been merged
+    # This test is broken without this PR. Merged but not released
     # https://github.com/mahmoud/boltons/pull/283
-    "test_frozendict_ior"
+    "test_frozendict"
+  ];
+
+  pythonImportsCheck = [
+    "boltons"
   ];
 
   meta = with lib; {
     homepage = "https://github.com/mahmoud/boltons";
-    description = "220+ constructs, recipes, and snippets extending (and relying on nothing but) the Python standard library";
+    description = "Constructs, recipes, and snippets extending the Python standard library";
     longDescription = ''
-      Boltons is a set of over 220 BSD-licensed, pure-Python utilities
-      in the same spirit as — and yet conspicuously missing from — the
+      Boltons is a set of over 200 BSD-licensed, pure-Python utilities
+      in the same spirit as - and yet conspicuously missing from - the
       standard library, including:
 
       - Atomic file saving, bolted on with fileutils
diff --git a/nixpkgs/pkgs/development/python-modules/bond-api/default.nix b/nixpkgs/pkgs/development/python-modules/bond-api/default.nix
index b230491de8c5..a685c01fbc0f 100644
--- a/nixpkgs/pkgs/development/python-modules/bond-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bond-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "bond-api";
-  version = "0.1.15";
+  version = "0.1.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "prystupa";
     repo = "bond-api";
     rev = "v${version}";
-    sha256 = "sha256-Uoz5knqRAtQkD7u/4oylXC60dR2ZU3AuMJNhmvB8fP4=";
+    sha256 = "1nqf090b14nd7an2n776mb37yskddfnihmas2fy56pxclwvwqr9n";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix b/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
index f428dc788bf9..109487b88b94 100644
--- a/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
index 27610d7cd9b5..29a5dd569aed 100644
--- a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "boschshcpy";
-  version = "0.2.28";
+  version = "0.2.29";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CnfJiYUM8A4QZ6VMtekO8nD5tQ2VL9vMeK6OWYcgwmU=";
+    sha256 = "sha256-x+TXHG7xJWd5t6pKQ/6X48lOuIQWUnEwsySFRh5GJnE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boto3/default.nix b/nixpkgs/pkgs/development/python-modules/boto3/default.nix
index bf26eca41b64..c6fdc8c9981c 100644
--- a/nixpkgs/pkgs/development/python-modules/boto3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boto3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.20.13"; # 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 = "bbf53a077d6a0575ddec8026f0475ca6ee6f41b227914bf315bf3e049a3d653a";
+    sha256 = "42dd9fcb9e033ab19c9dfaeaba745ef9d2db6efe4e9f1e1f547b3e3e0b1f4a82";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/nixpkgs/pkgs/development/python-modules/botocore/default.nix b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
index b34dbfbac98c..6d5c11665c2c 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.23.14"; # 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 = "sha256-6NUsvy5zxiaM8sIH9H48+z7eCYP5PotZZ0tUYo5+8fE=";
+    sha256 = "5be6ba6c5ea71c256da8a5023bf9c278847c4b90fdb40f2c4c3bdb21ca11ff28";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boxx/default.nix b/nixpkgs/pkgs/development/python-modules/boxx/default.nix
new file mode 100644
index 000000000000..a3f0db80fafe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/boxx/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+, xvfb-run
+, matplotlib
+, scikitimage
+, numpy
+, pandas
+, imageio
+, snakeviz
+, fn
+, pyopengl
+, seaborn
+, pytorch
+, torchvision
+}:
+
+buildPythonPackage rec {
+  pname = "boxx";
+  version = "0.9.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-Mc6R6ruUVhFs2D0CTJsAiM9aGOusS973hRS5r2kQsy4=";
+  };
+
+  propagatedBuildInputs = [
+    matplotlib
+    scikitimage
+    numpy
+    pandas
+    imageio
+    snakeviz
+    fn
+    pyopengl
+    seaborn
+  ];
+
+  pythonImportsCheck = [ "boxx" ];
+  checkInputs = [
+    xvfb-run
+    pytorch
+    torchvision
+  ];
+
+  checkPhase = ''
+    xvfb-run ${python.interpreter} -m unittest
+  '';
+
+  meta = with lib; {
+    description = "Tool-box for efficient build and debug in Python. Especially for Scientific Computing and Computer Vision.";
+    homepage = "https://github.com/DIYer22/boxx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bpycv/bpycv-test.py b/nixpkgs/pkgs/development/python-modules/bpycv/bpycv-test.py
new file mode 100644
index 000000000000..94e1bb122c77
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bpycv/bpycv-test.py
@@ -0,0 +1,76 @@
+# based on https://github.com/DIYer22/bpycv/blob/c576e01622d87eb3534f73bf1a5686bd2463de97/example/ycb_demo.py
+import bpy
+import bpycv
+
+import os
+import glob
+import random
+
+example_data_dir = os.environ['BPY_EXAMPLE_DATA']
+
+models = sorted(glob.glob(os.path.join(example_data_dir, "model", "*", "*.obj")))
+cat_id_to_model_path = dict(enumerate(sorted(models), 1))
+
+distractors = sorted(glob.glob(os.path.join(example_data_dir, "distractor", "*.obj")))
+
+bpycv.clear_all()
+bpy.context.scene.frame_set(1)
+bpy.context.scene.render.engine = "CYCLES"
+bpy.context.scene.cycles.samples = 32
+bpy.context.scene.render.resolution_y = 1024
+bpy.context.scene.render.resolution_x = 1024
+
+# A transparency stage for holding rigid body
+stage = bpycv.add_stage(transparency=True)
+
+bpycv.set_cam_pose(cam_radius=1, cam_deg=45)
+
+hdri_dir = os.path.join(example_data_dir, "background_and_light")
+hdri_manager = bpycv.HdriManager(
+    hdri_dir=hdri_dir, download=False
+)  # if download is True, will auto download .hdr file from HDRI Haven
+hdri_path = hdri_manager.sample()
+bpycv.load_hdri_world(hdri_path, random_rotate_z=True)
+
+# load 5 objects
+for index in range(5):
+    cat_id = random.choice(list(cat_id_to_model_path))
+    model_path = cat_id_to_model_path[cat_id]
+    obj = bpycv.load_obj(model_path)
+    obj.location = (
+        random.uniform(-0.2, 0.2),
+        random.uniform(-0.2, 0.2),
+        random.uniform(0.1, 0.3),
+    )
+    obj.rotation_euler = [random.uniform(-3.1415, 3.1415) for _ in range(3)]
+    # set each instance a unique inst_id, which is used to generate instance annotation.
+    obj["inst_id"] = cat_id * 1000 + index
+    with bpycv.activate_obj(obj):
+        bpy.ops.rigidbody.object_add()
+
+# load 6 distractors
+for index in range(6):
+    distractor_path = random.choice(distractors)
+    target_size = random.uniform(0.1, 0.3)
+    distractor = bpycv.load_distractor(distractor_path, target_size=target_size)
+    distractor.location = (
+        random.uniform(-0.2, 0.2),
+        random.uniform(-0.2, 0.2),
+        random.uniform(0.1, 0.3),
+    )
+    distractor.rotation_euler = [random.uniform(-3.1415, 3.1415) for _ in range(3)]
+    with bpycv.activate_obj(distractor):
+        bpy.ops.rigidbody.object_add()
+
+# run pyhsic engine for 20 frames
+for i in range(20):
+    bpy.context.scene.frame_set(bpy.context.scene.frame_current + 1)
+
+# render image, instance annoatation and depth in one line code
+result = bpycv.render_data()
+
+dataset_dir = "./dataset"
+result.save(dataset_dir=dataset_dir, fname="0", save_blend=True)
+print(f'Save to "{dataset_dir}"')
+print(f'Open "{dataset_dir}/vis/" to see visualize result.')
+
diff --git a/nixpkgs/pkgs/development/python-modules/bpycv/default.nix b/nixpkgs/pkgs/development/python-modules/bpycv/default.nix
new file mode 100644
index 000000000000..7a88a4078f0b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bpycv/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchFromGitHub
+, fetchurl
+, writeText
+, blender
+, minexr
+, beautifulsoup4
+, zcs
+, requests
+, opencv3
+, boxx
+}:
+
+buildPythonPackage rec {
+  pname = "bpycv";
+  version = "0.2.43";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-6LXhKuNkX3yKeZARLXmOVNAUQhJghtzKhnszJ1G/a8U=";
+  };
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    minexr
+    zcs
+    requests
+    opencv3
+    boxx
+  ];
+
+  postPatch = ''
+    sed -i 's/opencv-python//g' requirements.txt
+  '';
+
+  # pythonImportsCheck = [ "bpycv" ]; # this import depends on bpy that is only available inside blender
+  checkInputs = [ blender ];
+  checkPhase = let
+    bpycv_example_data = fetchFromGitHub {
+      owner = "DIYer22";
+      repo = "bpycv_example_data";
+      sha256 = "sha256-dGb6KvbXTGTu5f4AqhA+i4AwTqBoR5SdXk0vsMEcD3Q=";
+      rev = "6ce0e65c107d572011394da16ffdf851e988dbb4";
+    };
+  in ''
+    TEMPDIR=$(mktemp -d)
+    pushd $TEMPDIR
+      cp -r ${bpycv_example_data} example_data
+      chmod +w -R example_data
+      BPY_EXAMPLE_DATA=${bpycv_example_data} blender -b -P ${./bpycv-test.py}
+    popd
+  '';
+
+  meta = with lib; {
+    description = "Computer vision utils for Blender";
+    homepage = "https://github.com/DIYer22/bpycv";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/braintree/default.nix b/nixpkgs/pkgs/development/python-modules/braintree/default.nix
index 8cf820edbfec..c88f6712f796 100644
--- a/nixpkgs/pkgs/development/python-modules/braintree/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/breathe/default.nix b/nixpkgs/pkgs/development/python-modules/breathe/default.nix
index 7770996f423d..976a8b60dfb3 100644
--- a/nixpkgs/pkgs/development/python-modules/breathe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/breathe/default.nix
@@ -1,24 +1,44 @@
-{ lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k, isPy27 }:
+{ lib
+, buildPythonPackage
+, docutils
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, sphinx
+}:
 
 buildPythonPackage rec {
-  version = "4.31.0";
   pname = "breathe";
-  disabled = isPy27;
+  version = "4.33.1";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "925eeff96c6640cd857e4ddeae6f75464a1d5e2e08ee56dccce4043583ae2050";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "michaeljones";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-S4wxlxluRjwlRGCa5Os/J3EpdekI/CEPMWw6j/wlZbw=";
   };
 
-  propagatedBuildInputs = [ docutils six sphinx ];
+  propagatedBuildInputs = [
+    docutils
+    sphinx
+  ];
 
-  doCheck = !isPy3k;
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  meta = {
-    homepage = "https://github.com/michaeljones/breathe";
-    license = lib.licenses.bsd3;
+  pythonImportsCheck = [
+    "breathe"
+  ];
+
+  meta = with lib; {
     description = "Sphinx Doxygen renderer";
+    homepage = "https://github.com/michaeljones/breathe";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
     inherit (sphinx.meta) platforms;
   };
 }
-
diff --git a/nixpkgs/pkgs/development/python-modules/brotli/default.nix b/nixpkgs/pkgs/development/python-modules/brotli/default.nix
index 0556c5b4e2a2..d4cff163a0b1 100644
--- a/nixpkgs/pkgs/development/python-modules/brotli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/bsblan/default.nix b/nixpkgs/pkgs/development/python-modules/bsblan/default.nix
index f670bebc8ed3..6db952347752 100644
--- a/nixpkgs/pkgs/development/python-modules/bsblan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bsblan/default.nix
@@ -8,6 +8,7 @@
 , pytest-asyncio
 , pytest-cov
 , pytest-mock
+, pythonOlder
 , aiohttp
 , attrs
 , cattrs
@@ -16,13 +17,16 @@
 
 buildPythonPackage rec {
   pname = "bsblan";
-  version = "0.4.1";
+  version = "0.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "liudger";
     repo = "python-bsblan";
     rev = "v.${version}";
-    sha256 = "0vyg9vsrs34jahlav83qp2djv81p3ks31qz4qh46zdij2nx7l1fv";
+    sha256 = "1j41y2njnalcsp1vjqwl508yp3ki82lv8108ijz52hprhrq4fffb";
   };
 
   propagatedBuildInputs = [
@@ -42,7 +46,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "bsblan" ];
+  pythonImportsCheck = [
+    "bsblan"
+  ];
 
   meta = with lib; {
     description = "Python client for BSB-Lan";
diff --git a/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix b/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
index f157f291f7fb..ace2e2166d7e 100644
--- a/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/build/default.nix b/nixpkgs/pkgs/development/python-modules/build/default.nix
index ba8d15909f21..f1f7f0e81bd2 100644
--- a/nixpkgs/pkgs/development/python-modules/build/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/build/default.nix
@@ -54,6 +54,8 @@ buildPythonPackage rec {
   pytestFlagsArray = [
     "-n"
     "$NIX_BUILD_CORES"
+    "-W"
+    "ignore::DeprecationWarning"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/cachelib/default.nix b/nixpkgs/pkgs/development/python-modules/cachelib/default.nix
index 0838558e116a..9c0620c8740d 100644
--- a/nixpkgs/pkgs/development/python-modules/cachelib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cachetools/default.nix b/nixpkgs/pkgs/development/python-modules/cachetools/default.nix
index 1bff572b6032..f38eb328e3d9 100644
--- a/nixpkgs/pkgs/development/python-modules/cachetools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix b/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix
index 8e26517ba218..cc4e19d6beb7 100644
--- a/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix
@@ -12,16 +12,67 @@
 , cairo
 , cffi
 , numpy
-, withXcffib ? false, xcffib
+, withXcffib ? false
+, xcffib
 , python
 , glib
 , gdk-pixbuf
-}@args:
+}:
+
+buildPythonPackage rec {
+  pname = "cairocffi";
+  version = "1.3.0";
 
-import ./generic.nix ({
-  version = "1.2.0";
-  sha256 = "sha256-mpebUAxkyBef7ChvM36P5kTsovLNBYYM4LYtJfIuoUA=";
-  dlopen_patch = ./dlopen-paths.patch;
   disabled = pythonOlder "3.5";
-  inherit withXcffib;
-} // args)
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-EIo6fLCeIDvdhQHZuq2R14bSBFYb1x6TZOizSJfEe5E=";
+  };
+
+  LC_ALL = "en_US.UTF-8";
+
+  # checkPhase require at least one 'normal' font and one 'monospace',
+  # otherwise glyph tests fails
+  FONTCONFIG_FILE = makeFontsConf {
+    fontDirectories = [ freefont_ttf ];
+  };
+
+  propagatedBuildInputs = [ cairo cffi ] ++ lib.optional withXcffib xcffib;
+  propagatedNativeBuildInputs = [ cffi ];
+
+  # pytestCheckHook does not work
+  checkInputs = [ numpy pytest glibcLocales ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pytest-runner" "" \
+      --replace "pytest-cov" "" \
+      --replace "pytest-flake8" "" \
+      --replace "pytest-isort" "" \
+      --replace "--flake8 --isort" ""
+  '';
+
+  checkPhase = ''
+    py.test $out/${python.sitePackages}
+  '';
+
+  patches = [
+    # OSError: dlopen() failed to load a library: gdk-pixbuf-2.0 / gdk-pixbuf-2.0-0
+    (substituteAll {
+      src = ./dlopen-paths.patch;
+      ext = stdenv.hostPlatform.extensions.sharedLibrary;
+      cairo = cairo.out;
+      glib = glib.out;
+      gdk_pixbuf = gdk-pixbuf.out;
+    })
+    ./fix_test_scaled_font.patch
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/SimonSapin/cairocffi";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+    description = "cffi-based cairo bindings for Python";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cairocffi/generic.nix b/nixpkgs/pkgs/development/python-modules/cairocffi/generic.nix
deleted file mode 100644
index 004cf8ae7841..000000000000
--- a/nixpkgs/pkgs/development/python-modules/cairocffi/generic.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ version
-, sha256
-, dlopen_patch
-, disabled ? false
-, ...
-}@args:
-
-with args;
-
-buildPythonPackage rec {
-  pname = "cairocffi";
-  inherit version disabled;
-
-  src = fetchPypi {
-    inherit pname version sha256;
-  };
-
-  LC_ALL = "en_US.UTF-8";
-
-  # checkPhase require at least one 'normal' font and one 'monospace',
-  # otherwise glyph tests fails
-  FONTCONFIG_FILE = makeFontsConf {
-    fontDirectories = [ freefont_ttf ];
-  };
-
-  propagatedBuildInputs = [ cairo cffi ] ++ lib.optional withXcffib xcffib;
-  propagatedNativeBuildInputs = [ cffi ];
-
-  # pytestCheckHook does not work
-  checkInputs = [ numpy pytest glibcLocales ];
-
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "pytest-runner" "" \
-      --replace "pytest-cov" "" \
-      --replace "pytest-flake8" "" \
-      --replace "pytest-isort" "" \
-      --replace "--flake8 --isort" ""
-  '';
-
-  checkPhase = ''
-    py.test $out/${python.sitePackages}
-  '';
-
-  patches = [
-    # OSError: dlopen() failed to load a library: gdk-pixbuf-2.0 / gdk-pixbuf-2.0-0
-    (substituteAll {
-      src = dlopen_patch;
-      ext = stdenv.hostPlatform.extensions.sharedLibrary;
-      cairo = cairo.out;
-      glib = glib.out;
-      gdk_pixbuf = gdk-pixbuf.out;
-    })
-    ./fix_test_scaled_font.patch
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/SimonSapin/cairocffi";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [];
-    description = "cffi-based cairo bindings for Python";
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/can/default.nix b/nixpkgs/pkgs/development/python-modules/can/default.nix
index 188ab9cb5622..a68d73e1242c 100644
--- a/nixpkgs/pkgs/development/python-modules/can/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/can/default.nix
@@ -1,39 +1,75 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, future
+, hypothesis
+, parameterized
+, msgpack
+, pyserial
+, pytest-timeout
+, pytestCheckHook
 , pythonOlder
-, aenum
+, typing-extensions
 , wrapt
-, typing ? null
-, pyserial
-, nose
-, mock
-, hypothesis
-, future
-, pytest
- }:
+}:
 
 buildPythonPackage rec {
   pname = "python-can";
-  version = "3.3.4";
+  version = "unstable-2022-01-11";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "2d3c223b7adc4dd46ce258d4a33b7e0dbb6c339e002faa40ee4a69d5fdce9449";
+  src = fetchFromGitHub {
+    owner = "hardbyte";
+    repo = pname;
+    rev = "2e24af08326ecd69fba9f02fed7b9c26f233c92b";
+    hash = "sha256-ZP5qtbjDtBZ2uT9DOSvSnfHyTlirr0oCEXhiLO1ydz0=";
   };
 
-  propagatedBuildInputs = [ wrapt pyserial aenum ] ++ lib.optional (pythonOlder "3.5") typing;
-  checkInputs = [ nose mock pytest hypothesis future ];
+  propagatedBuildInputs = [
+    msgpack
+    pyserial
+    typing-extensions
+    wrapt
+  ];
 
-  # Add the scripts to PATH
-  checkPhase = ''
-    PATH=$out/bin:$PATH pytest -c /dev/null
+  checkInputs = [
+    future
+    hypothesis
+    parameterized
+    pytest-timeout
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace tox.ini \
+      --replace " --cov=can --cov-config=tox.ini --cov-report=xml --cov-report=term" ""
+  '';
+
+  disabledTestPaths = [
+    # We don't support all interfaces
+    "test/test_interface_canalystii.py"
+  ];
+
+  disabledTests = [
+    # Tests require access socket
+    "BasicTestUdpMulticastBusIPv4"
+    "BasicTestUdpMulticastBusIPv6"
+  ];
+
+  preCheck = ''
+    export PATH="$PATH:$out/bin";
   '';
 
+  pythonImportsCheck = [
+    "can"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/hardbyte/python-can";
     description = "CAN support for Python";
-    license = licenses.lgpl3;
-    maintainers = with maintainers; [ sorki ];
+    homepage = "python-can.readthedocs.io";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ fab sorki ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix b/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
index d36f6805cc3f..d131e4001c94 100644
--- a/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "canmatrix";
-  version = "0.9.3";
+  version = "0.9.5";
 
   # uses fetchFromGitHub as PyPi release misses test/ dir
   src = fetchFromGitHub {
     owner = "ebroecker";
     repo = pname;
     rev = version;
-    sha256 = "sha256-9FupG1VmROgsxYhsafQYPPqG0xEOAYYK8QDOIBNzE0Y=";
+    sha256 = "0x8x8kbg4gyzi0ia9657xygp0mqfii76b67fsx76d31bqsdvlda5";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/canopen/default.nix b/nixpkgs/pkgs/development/python-modules/canopen/default.nix
index 51a6d0d11c0f..ccb3626e2f48 100644
--- a/nixpkgs/pkgs/development/python-modules/canopen/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/capstone/default.nix b/nixpkgs/pkgs/development/python-modules/capstone/default.nix
index f10f34c381d4..c99c392841eb 100644
--- a/nixpkgs/pkgs/development/python-modules/capstone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/capstone/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
   version = lib.getVersion capstone;
 
   src = capstone.src;
-  sourceRoot = "${capstone.name}/bindings/python";
+  sourceRoot = "source/bindings/python";
 
   postPatch = ''
     ln -s ${capstone}/lib/libcapstone${stdenv.targetPlatform.extensions.sharedLibrary} prebuilt/
diff --git a/nixpkgs/pkgs/development/python-modules/carrot/default.nix b/nixpkgs/pkgs/development/python-modules/carrot/default.nix
deleted file mode 100644
index a772535ad82b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cart/default.nix b/nixpkgs/pkgs/development/python-modules/cart/default.nix
index ecba8f9cc394..c4d4e8892018 100644
--- a/nixpkgs/pkgs/development/python-modules/cart/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cart/default.nix
@@ -4,7 +4,6 @@
 , fetchFromGitHub
 , pythonOlder
 , pytestCheckHook
-, unittest2
 }:
 
 buildPythonPackage rec {
@@ -27,7 +26,6 @@ buildPythonPackage rec {
 
   checkInputs = [
     pytestCheckHook
-    unittest2
   ];
 
   pytestFlagsArray = [
diff --git a/nixpkgs/pkgs/development/python-modules/cartopy/default.nix b/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
index d55c1e9b0c53..d233cf031647 100644
--- a/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix b/nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix
index 53ee89c5f941..beb6dc351420 100644
--- a/nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/casbin/default.nix b/nixpkgs/pkgs/development/python-modules/casbin/default.nix
index 815bc8ae36cb..12ea06a5c4f7 100644
--- a/nixpkgs/pkgs/development/python-modules/casbin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/case/default.nix b/nixpkgs/pkgs/development/python-modules/case/default.nix
index 3f95d9e22afc..36efc1aab3bc 100644
--- a/nixpkgs/pkgs/development/python-modules/case/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/case/default.nix
@@ -1,20 +1,40 @@
-{ lib, buildPythonPackage, fetchPypi
-, six, nose, unittest2, mock }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, pythonOlder
+, pytestCheckHook
+, six
+}:
 
 buildPythonPackage rec {
   pname = "case";
   version = "1.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "48432b01d91913451c3512c5b90e31b0f348f1074b166a3431085eb70d784fb1";
   };
 
-  propagatedBuildInputs = [ six nose unittest2 mock ];
+  propagatedBuildInputs = [
+    nose
+    six
+  ];
+
+  # No real unittests, only coverage
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "case"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/celery/case";
-    description = "unittests utilities";
+    description = "Utilities for unittests handling";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/catalogue/default.nix b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
index a62dcbd249a5..7105e360561e 100644
--- a/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
@@ -2,13 +2,16 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , typing-extensions
+, zipp
 }:
 
 buildPythonPackage rec {
   pname = "catalogue";
   version = "2.0.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -19,16 +22,27 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
     typing-extensions
+    zipp
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/explosion/catalogue/issues/27
+    "test_entry_points"
+  ];
 
-  pythonImportsCheck = [ "catalogue" ];
+  pythonImportsCheck = [
+    "catalogue"
+  ];
 
   meta = with lib; {
     description = "Tiny library for adding function or object registries";
     homepage = "https://github.com/explosion/catalogue";
     changelog = "https://github.com/explosion/catalogue/releases/tag/v${version}";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
index 45379910a610..e3d694d28e3b 100644
--- a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
@@ -11,23 +11,22 @@
 , pythonOlder
 , pyyaml
 , tomlkit
+, typing-extensions
 , ujson
 }:
 
 buildPythonPackage rec {
   pname = "cattrs";
-  version = "1.8.0";
+  version = "1.10.0";
   format = "pyproject";
 
-  # https://cattrs.readthedocs.io/en/latest/history.html#id33:
-  # "Python 2, 3.5 and 3.6 support removal. If you need it, use a version below 1.1.0."
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
-    owner = "Tinche";
+    owner = "python-attrs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CKAsvRKS8kmLcyPA753mh6d3S04ObzO7xLPpmlmxrxI=";
+    hash = "sha256-VbfQMMDO03eeUHAACxoX6a3DKmzoF9EfLuTpvaY6bWs=";
   };
 
   nativeBuildInputs = [
@@ -36,6 +35,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     attrs
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    typing-extensions
   ];
 
   checkInputs = [
@@ -50,10 +51,10 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5  --benchmark-group-by=fullname" ""
     substituteInPlace pyproject.toml \
-      --replace 'orjson = "^3.5.2"' ""
+      --replace "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5  --benchmark-group-by=fullname" "" \
+      --replace 'orjson = "^3.5.2"' "" \
+      --replace "[tool.poetry.group.dev.dependencies]" "[tool.poetry.dev-dependencies]"
     substituteInPlace tests/test_preconf.py \
       --replace "from orjson import dumps as orjson_dumps" "" \
       --replace "from orjson import loads as orjson_loads" ""
@@ -76,11 +77,13 @@ buildPythonPackage rec {
     "test_orjson"
   ];
 
-  pythonImportsCheck = [ "cattr" ];
+  pythonImportsCheck = [
+    "cattr"
+  ];
 
   meta = with lib; {
     description = "Python custom class converters for attrs";
-    homepage = "https://github.com/Tinche/cattrs";
+    homepage = "https://github.com/python-attrs/cattrs";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/cchardet/default.nix b/nixpkgs/pkgs/development/python-modules/cchardet/default.nix
index b93ea9c3bd78..e1c27d9e4fb1 100644
--- a/nixpkgs/pkgs/development/python-modules/cchardet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cdcs/default.nix b/nixpkgs/pkgs/development/python-modules/cdcs/default.nix
index 9dd8a272395b..ec11019cc9a7 100644
--- a/nixpkgs/pkgs/development/python-modules/cdcs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/celery/default.nix b/nixpkgs/pkgs/development/python-modules/celery/default.nix
index cdd646fed147..eabb3521416e 100644
--- a/nixpkgs/pkgs/development/python-modules/celery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/celery/default.nix
@@ -7,6 +7,7 @@
 , click-didyoumean
 , click-plugins
 , click-repl
+, dnspython
 , fetchPypi
 , kombu
 , moto
@@ -22,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "5.2.1";
+  version = "5.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b41a590b49caf8e6498a57db628e580d5f8dc6febda0f42de5d783aed5b7f808";
+    hash = "sha256-4s1BZnrZfU9qL0Zy0cam662hlMYZJTBYtfI3BKqtqoI=";
   };
 
   propagatedBuildInputs = [
@@ -46,6 +47,7 @@ buildPythonPackage rec {
   checkInputs = [
     boto3
     case
+    dnspython
     moto
     pymongo
     pytest-celery
@@ -54,6 +56,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace requirements/default.txt \
+      --replace "setuptools>=59.1.1,<59.7.0" "setuptools"
+  '';
+
   disabledTestPaths = [
     # test_eventlet touches network
     "t/unit/concurrency/test_eventlet.py"
@@ -75,6 +82,6 @@ buildPythonPackage rec {
     description = "Distributed task queue";
     homepage = "https://github.com/celery/celery/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/censys/default.nix b/nixpkgs/pkgs/development/python-modules/censys/default.nix
index 38653306eefb..4a00155a4ec6 100644
--- a/nixpkgs/pkgs/development/python-modules/censys/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/censys/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "2.0.9";
+  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-qh3Z8Gza8J3OEM94GguJ+oEdVle01Gx1m/7+LCOErKY=";
+    sha256 = "0qxqd5ip98d6q1d48vcprpr38sa47ky3cr6lprd01nzibdmf2r2d";
   };
 
   nativeBuildInputs = [
@@ -35,7 +35,6 @@ buildPythonPackage rec {
     backoff
     requests
     rich
-  ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
@@ -50,7 +49,7 @@ buildPythonPackage rec {
     substituteInPlace pyproject.toml \
       --replace 'backoff = "^1.11.1"' 'backoff = "*"' \
       --replace 'requests = ">=2.26.0"' 'requests = "*"' \
-      --replace 'rich = "^10.6.0"' 'rich = "*"'
+      --replace 'rich = "^10.16.2"' 'rich = "*"'
     substituteInPlace pytest.ini \
       --replace "--cov" ""
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/cepa/default.nix b/nixpkgs/pkgs/development/python-modules/cepa/default.nix
new file mode 100644
index 000000000000..f198d8b058dd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cepa/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchPypi, python, mock }:
+
+buildPythonPackage rec {
+  pname = "cepa";
+  version = "1.8.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "HcbwsyTTei7SyidGSOzo/SyWodL0QPWMDKF6/Ute3no=";
+  };
+
+  postPatch = ''
+    rm test/unit/installation.py
+    sed -i "/test.unit.installation/d" test/settings.cfg
+    # https://github.com/torproject/stem/issues/56
+    sed -i '/MOCK_VERSION/d' run_tests.py
+  '';
+
+  checkInputs = [ mock ];
+
+  checkPhase = ''
+    touch .gitignore
+    ${python.interpreter} run_tests.py -u
+  '';
+
+  meta = with lib; {
+    description = "Controller library that allows applications to interact with Tor";
+    homepage = "https://github.com/onionshare/cepa";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ lourkeur ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cffsubr/default.nix b/nixpkgs/pkgs/development/python-modules/cffsubr/default.nix
new file mode 100644
index 000000000000..0c7e6849b3f1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cffsubr/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, pytestCheckHook
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "cffsubr";
+  version = "0.2.9.post1";
+
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "azFBLc9JyPqEZkvahn4u3cVbb+b6aW/yU8TxOp/y/Fw=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    fonttools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "cffsubr" ];
+
+  meta = with lib; {
+    description = "Standalone CFF subroutinizer based on AFDKO tx";
+    homepage = "https://github.com/adobe-type-tools/cffsubr";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cfn-flip/default.nix b/nixpkgs/pkgs/development/python-modules/cfn-flip/default.nix
index bf3eab19d4fa..105775a4547e 100644
--- a/nixpkgs/pkgs/development/python-modules/cfn-flip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cfn-flip/default.nix
@@ -1,25 +1,25 @@
-{ buildPythonPackage
-, fetchFromGitHub
-, lib
-
-# pythonPackages
+{ lib
+, buildPythonPackage
 , click
-, pytest
-, pytest-cov
-, pytest-runner
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
 , pyyaml
 , six
 }:
 
 buildPythonPackage rec {
   pname = "cfn-flip";
-  version = "1.2.2";
+  version = "1.3.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-cfn-template-flip";
     rev = version;
-    sha256 = "05fk725a1i3zl3idik2hxl3w6k1ln0j33j3jdq1gvy1sfyc79ifm";
+    hash = "sha256-1cV0mHc6+P0CbnLIMSSwNEzDB+1QzNjioH/EoIo40xU=";
   };
 
   propagatedBuildInputs = [
@@ -29,27 +29,27 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
-    pytest-cov
-    pytest-runner
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    py.test \
-      --cov=cfn_clean \
-      --cov=cfn_flip \
-      --cov=cfn_tools \
-      --cov-report term-missing \
-      --cov-report html
+  postPatch = ''
+    sed -i "/--cov/d" tox.ini
   '';
 
+  disabledTests = [
+    # TypeError: load() missing 1 required positional argument: 'Loader'
+    "test_flip_to_yaml_with_longhand_functions"
+    "test_yaml_no_ordered_dict"
+  ];
+
+  pythonImportsCheck = [
+    "cfn_flip"
+  ];
+
   meta = with lib; {
     description = "Tool for converting AWS CloudFormation templates between JSON and YAML formats";
     homepage = "https://github.com/awslabs/aws-cfn-template-flip";
     license = licenses.asl20;
-    maintainers = with maintainers; [
-      kamadorueda
-      psyanticy
-    ];
+    maintainers = with maintainers; [ kamadorueda psyanticy ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
index 4a409cb41e03..354f90f12b6b 100644
--- a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/nixpkgs/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.2";
+  version = "0.56.4";
 
   src = fetchFromGitHub {
     owner = "aws-cloudformation";
     repo = "cfn-python-lint";
     rev = "v${version}";
-    sha256 = "0wpsj719r0p122qmi3nznzqnxqb0nx53isg9fma75894pvq2v5wc";
+    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/nixpkgs/pkgs/development/python-modules/cftime/default.nix b/nixpkgs/pkgs/development/python-modules/cftime/default.nix
index aeebc762701f..3991dc6bf685 100644
--- a/nixpkgs/pkgs/development/python-modules/cftime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cftime/default.nix
@@ -1,27 +1,24 @@
-{ buildPythonPackage
-, fetchPypi
-, pytestCheckHook
-, coveralls
-, pytest-cov
+{ lib
+, buildPythonPackage
 , cython
+, fetchPypi
 , numpy
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "cftime";
-  version = "1.5.1.1";
+  version = "1.5.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6dc4d76ec7fe5a2d3c00dbe6604c757f1319613b75ef157554ef3648bf102a50";
+    sha256 = "375d37d9ab8bf501c048e44efce2276296e3d67bb276e891e0e93b0a8bbb988a";
   };
 
-  checkInputs = [
-    pytestCheckHook
-    coveralls
-    pytest-cov
-  ];
-
   nativeBuildInputs = [
     cython
     numpy
@@ -31,11 +28,22 @@ buildPythonPackage rec {
     numpy
   ];
 
-  # ERROR test/test_cftime.py - ModuleNotFoundError: No module named 'cftime._cft...
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '';
+
+  pythonImportsCheck = [
+    "cftime"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Time-handling functionality from netcdf4-python";
+    homepage = "https://github.com/Unidata/cftime";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/chainer/default.nix b/nixpkgs/pkgs/development/python-modules/chainer/default.nix
index 1ccce2caeeb9..b7dbfca70e8a 100644
--- a/nixpkgs/pkgs/development/python-modules/chainer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chainer/default.nix
@@ -5,7 +5,7 @@
 
 buildPythonPackage rec {
   pname = "chainer";
-  version = "7.8.0";
+  version = "7.8.1";
   disabled = !isPy3k; # python2.7 abandoned upstream
 
   # no tests in Pypi tarball
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     owner = "chainer";
     repo = "chainer";
     rev = "v${version}";
-    sha256 = "1zfj3pk54gzxd4nid0qjx4kw1wdngwscvn4hk4cijxvwqi4a5zxj";
+    sha256 = "1n07zjzc4g92m1sbgxvnansl0z00y4jnhma2mw06vnahs7s9nrf6";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/chalice/default.nix b/nixpkgs/pkgs/development/python-modules/chalice/default.nix
index 43767cb1a319..762846ab34c2 100644
--- a/nixpkgs/pkgs/development/python-modules/chalice/default.nix
+++ b/nixpkgs/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 = [
@@ -61,7 +61,8 @@ buildPythonPackage rec {
   postPatch = ''
     sed -i setup.py -e "/pip>=/c\'pip',"
     substituteInPlace setup.py \
-      --replace 'typing==3.6.4' 'typing'
+      --replace "typing==3.6.4" "typing" \
+      --replace "attrs>=19.3.0,<21.3.0" "attrs"
   '';
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix b/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix
index 7f7f54b73d91..ba7dd1db3b9a 100644
--- a/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix
@@ -2,17 +2,21 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "charset-normalizer";
-  version = "2.0.8";
+  version = "2.0.10";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "Ousret";
     repo = "charset_normalizer";
     rev = version;
-    sha256 = "sha256-+acnzdDcujnMa0FYlWaAX7Ga9APMRlvBLKoogIyY8YM=";
+    hash = "sha256-QsUqrC2oycvyCbOzGmHahgNi40YZ0sujb3Cj8EnsGS8=";
   };
 
   checkInputs = [
@@ -24,7 +28,9 @@ buildPythonPackage rec {
       --replace " --cov=charset_normalizer --cov-report=term-missing" ""
   '';
 
-  pythonImportsCheck = [ "charset_normalizer" ];
+  pythonImportsCheck = [
+    "charset_normalizer"
+  ];
 
   meta = with lib; {
     description = "Python module for encoding and language detection";
diff --git a/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix b/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
index 0e80ee1a41e4..28e777e8fdd2 100644
--- a/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "chart-studio";
-  version = "5.4.0";
+  version = "5.5.0";
 
   # chart-studio was split from plotly
   src = fetchFromGitHub {
     owner = "plotly";
     repo = "plotly.py";
     rev = "v${version}";
-    sha256 = "1ay9dlblxkx3pxqmizj2am9gf60j1pl6ir23yj7chg8dbafdbv8p";
+    sha256 = "04hsh1z2ngfslmvi8fdzfccssg6i0ziksil84j129f049m96wd51";
   };
 
   sourceRoot = "source/packages/python/chart-studio";
diff --git a/nixpkgs/pkgs/development/python-modules/cheroot/default.nix b/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
index 6e9256ffacfe..436669d92092 100644
--- a/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix b/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
index 0c6f83ea71db..01bbfe8841b7 100644
--- a/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
@@ -1,73 +1,99 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, isPy3k
-, setuptools-scm
-, cheroot, portend, more-itertools, zc_lockfile, routes
+{ lib
+, stdenv
+, buildPythonPackage
+, cheroot
+, fetchPypi
 , jaraco_collections
-, objgraph, pytest, pytest-cov, pathpy, requests-toolbelt, pytest-services
-, fetchpatch
+, more-itertools
+, objgraph
+, pathpy
+, portend
+, pytest-forked
+, pytest-services
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
+, requests-toolbelt
+, routes
+, setuptools-scm
+, simplejson
+, zc_lockfile
 }:
 
 buildPythonPackage rec {
   pname = "cherrypy";
-  version = "18.6.0";
+  version = "18.6.1";
+  format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "CherryPy";
     inherit version;
-    sha256 = "16f410izp2c4qhn4n3l5l3qirmkf43h2amjqms8hkl0shgfqwq2n";
+    hash = "sha256-8z6HKG57PjCeBOciXY5JOC2dd3PmCSJB1/YTiTxWNJU=";
   };
 
-  patches = [
-    # 1/3 Fix compatibility with pytest 6. Will be part of the next release after 18.6
-    (fetchpatch {
-      url = "https://github.com/cherrypy/cherrypy/pull/1897/commits/59c0e19d7df8680e36afc96756dce72435121448.patch";
-      sha256 = "1jachbvp505gndccdhny0c3grzdrmvmbzq4kw55jx93ay94ni6p0";
-    })
-    # 2/3 Fix compatibility with pytest 6. Will be part of the next release after 18.6
-    (fetchpatch {
-      url = "https://github.com/cherrypy/cherrypy/pull/1897/commits/4a6287b73539adcb7b0ae72d69644a1ced1f7eaa.patch";
-      sha256 = "0nz40qmgxknkbjsdzfzcqfxdsmsxx3v104fb0h04yvs76mqvw3i4";
-    })
-    # 3/3 Fix compatibility with pytest 6. Will be part of the next release after 18.6
-    (fetchpatch {
-      url = "https://github.com/cherrypy/cherrypy/commit/3bae7f06868553b006915f05ff14d86163f59a7d.patch";
-      sha256 = "1z0bv23ybyw87rf1i8alsdi3gc2bzmdj9d0kjsghdkvi3zdp4n8q";
-    })
+  nativeBuildInputs = [
+    setuptools-scm
   ];
 
-  nativeBuildInputs = [ setuptools-scm ];
-
   propagatedBuildInputs = [
     # required
-    cheroot portend more-itertools zc_lockfile
+    cheroot
+    portend
+    more-itertools
+    zc_lockfile
     jaraco_collections
     # optional
     routes
+    simplejson
   ];
 
   checkInputs = [
-    objgraph pytest pytest-cov pathpy requests-toolbelt pytest-services
+    objgraph
+    pathpy
+    pytest-forked
+    pytest-services
+    pytestCheckHook
+    requests-toolbelt
   ];
 
-  # Keyboard interrupt ends test suite run
-  # daemonize and autoreload tests have issue with sockets within sandbox
-  # Disable doctest plugin because times out
-  checkPhase = ''
-    substituteInPlace pytest.ini --replace "--doctest-modules" ""
-    pytest \
-      -k 'not KeyboardInterrupt and not daemonize and not Autoreload' \
-      --deselect=cherrypy/test/test_static.py::StaticTest::test_null_bytes \
-      --deselect=cherrypy/test/test_tools.py::ToolTests::testCombinedTools \
-      ${lib.optionalString stdenv.isDarwin
-        "--deselect=cherrypy/test/test_bus.py::BusMethodTests::test_block --deselect=cherrypy/test/test_config_server.py"}
+  preCheck = ''
+    # Disable doctest plugin because times out
+    substituteInPlace pytest.ini \
+      --replace "--doctest-modules" "-vvv"
+    sed -i "/--cov/d" pytest.ini
   '';
 
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
+  disabledTests = [
+    # Keyboard interrupt ends test suite run
+    "KeyboardInterrupt"
+    # daemonize and autoreload tests have issue with sockets within sandbox
+    "daemonize"
+    "Autoreload"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_block"
+  ];
+
+  disabledTestPaths = lib.optionals stdenv.isDarwin [
+    "cherrypy/test/test_config_server.py"
+  ];
+
   __darwinAllowLocalNetworking = true;
 
+  pythonImportsCheck = [
+    "cherrypy"
+  ];
+
   meta = with lib; {
+    description = "Object-oriented HTTP framework";
     homepage = "https://www.cherrypy.org";
-    description = "A pythonic, object-oriented HTTP framework";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix b/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
index f2c309593610..59a2170e6e83 100644
--- a/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "chiabip158";
-  version = "1.0";
+  version = "1.1";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dG6A4n30uPswQWY/Wmi75HK4ZMCDNr9Lt05FRWEPYV8=";
+    hash = "sha256-2iQeiQl/CLq2zwo/mUKBwIwV5wlNYUdUfENGNxeDMU8=";
   };
 
   nativeBuildInputs = [ cmake setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/chiapos/default.nix b/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
index 42bf21dd5216..6024c8a5ef6c 100644
--- a/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
@@ -2,6 +2,7 @@
 , substituteAll
 , buildPythonPackage
 , fetchPypi
+, catch2
 , cmake
 , cxxopts
 , ghc_filesystem
@@ -14,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "chiapos";
-  version = "1.0.6";
+  version = "1.0.9";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Zh5AULPgbG0oYPcBZMp/vm94MPyfdtYn4P5V+1LeMqA=";
+    sha256 = "sha256-emEHIR74RiIDK04etO/6G7tjzTufOVl4rLRWbEsQit0=";
   };
 
   patches = [
@@ -27,6 +28,7 @@ buildPythonPackage rec {
     (substituteAll {
       src = ./dont_fetch_dependencies.patch;
       inherit cxxopts ghc_filesystem;
+      catch2_src = catch2.src;
       pybind11_src = pybind11.src;
     })
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch b/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
index 85b7560f5d0d..05bd212e9a6c 100644
--- a/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
+++ b/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
@@ -1,5 +1,5 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b757b70..fcce055 100644
+index 5d7862b..c2d06a1 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -21,23 +21,20 @@ include(${CMAKE_INSTALL_PREFIX}/share/cmake/pybind11/pybind11Config.cmake)
@@ -29,3 +29,13 @@ index b757b70..fcce055 100644
  )
  FetchContent_MakeAvailable(gulrak)
  
+@@ -150,8 +147,7 @@ ENDIF()
+ 
+ FetchContent_Declare(
+   Catch2
+-  GIT_REPOSITORY https://github.com/catchorg/Catch2.git
+-  GIT_TAG        v2.13.7
++  SOURCE_DIR     @catch2_src@
+ )
+ FetchContent_MakeAvailable(Catch2)
+ 
diff --git a/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix b/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
index 012a4055a01c..1525c5ac9058 100644
--- a/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "chiavdf";
-  version = "1.0.3";
+  version = "1.0.5";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XbmK7ZJnUy3Zg9XWt0t/Qb2k5qIlu4vIbxdDFYFjFPI=";
+    hash = "sha256-2pC6sFRwgAwIEanZXe99848XMxK/lyLGxiA+UA+q3H0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/chirpstack-api/default.nix b/nixpkgs/pkgs/development/python-modules/chirpstack-api/default.nix
index a019dd651999..c939022a29bb 100644
--- a/nixpkgs/pkgs/development/python-modules/chirpstack-api/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/chispa/default.nix b/nixpkgs/pkgs/development/python-modules/chispa/default.nix
new file mode 100644
index 000000000000..3410789c21cc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/circuit-webhook/default.nix b/nixpkgs/pkgs/development/python-modules/circuit-webhook/default.nix
new file mode 100644
index 000000000000..895c6803142e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/circuit-webhook/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "circuit-webhook";
+  version = "1.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-NhePKBfzdkw7iVHmVrOxf8ZcQrb1Sq2xMIfu4P9+Ppw=";
+  };
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "circuit_webhook"
+  ];
+
+  meta = with lib; {
+    description = "Module for Unify Circuit API webhooks";
+    homepage = "https://github.com/braam/unify/tree/master/circuit-webhook-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
index 5c8306c27fe9..4aa20a237110 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
@@ -15,7 +15,6 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "protobuf~=3.13.0" "protobuf" \
       --replace "google-api-core[grpc] >= 1.14.0, < 2.0.0dev" "google-api-core[grpc] >= 1.14.0, < 3.0.0dev"
   '';
 
@@ -29,4 +28,10 @@ buildPythonPackage rec {
     freezegun
     pytestCheckHook
   ];
+
+  disabledTests = [
+    # unittest.mock.InvalidSpecError: Cannot autospec attr 'QuantumEngineServiceClient'
+    "test_get_engine_sampler_explicit_project_id"
+    "test_get_engine_sampler"
+  ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix
index f2fd48d54176..f33ce69fc550 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix
@@ -13,6 +13,7 @@
 , pyjwt
 , pyquil
 , python-dateutil
+, pythonOlder
 , qcs-api-client
 , retrying
 , rfc3339
@@ -26,6 +27,8 @@ buildPythonPackage rec {
   pname = "cirq-rigetti";
   inherit (cirq-core) version src meta;
 
+  disabled = pythonOlder "3.7";
+
   sourceRoot = "source/${pname}";
 
   postPatch = ''
@@ -36,9 +39,14 @@ buildPythonPackage rec {
       --replace "httpcore~=0.11.1" "httpcore" \
       --replace "httpx~=0.15.5" "httpx" \
       --replace "idna~=2.10" "idna" \
-      --replace "requests~=2.18" "requests" \
       --replace "pyjwt~=1.7.1" "pyjwt" \
-      --replace "qcs-api-client~=0.8.0" "qcs-api-client"
+      --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
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix b/nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix
new file mode 100644
index 000000000000..8831999e9923
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchFromGitHub, passlib, dnspython, loguru, toml
+, ipaddr, poetry, poetry-core, black, Fabric, pytest, sphinx }:
+
+buildPythonPackage rec {
+  pname = "ciscoconfparse";
+  version = "1.6.21";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "mpenning";
+    repo = pname;
+    rev = version;
+    sha256 = "1d6nzhmdg7zlg1h3lm4v7j4hsb2aqd475r5q5vcqxfdxszc92w21";
+  };
+
+  patchPhase = ''
+    patchShebangs tests
+  '';
+
+  propagatedBuildInputs =
+    [ passlib dnspython loguru toml ipaddr poetry black Fabric sphinx ];
+
+  checkInputs = [ pytest ];
+
+  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/nixpkgs/pkgs/development/python-modules/cjson/default.nix b/nixpkgs/pkgs/development/python-modules/cjson/default.nix
deleted file mode 100644
index d34534e3eb80..000000000000
--- a/nixpkgs/pkgs/development/python-modules/cjson/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, isPyPy }:
-
-buildPythonPackage rec {
-  pname = "python-cjson";
-  version = "1.2.2";
-  disabled = isPy3k || isPyPy;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3006c2c218297be3448dc793218e0b15d20fe9839775521bfc294fc6aa24972b";
-  };
-
-  meta = with lib; {
-    description = "A very fast JSON encoder/decoder for Python";
-    homepage = "https://ag-projects.com/";
-    license = licenses.lgpl2;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix b/nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix
index e15a062a8939..409164cf830e 100644
--- a/nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ckcc-protocol/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "ckcc-protocol";
-  version = "1.1.0";
+  version = "1.2.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b660225ac06fc06ad17b33ece428126eef785388450e14313f72d25d4082c5ab";
+    sha256 = "65f0313f9915b36068f6dfcab08e04671621e6227650443bc12e81997081ae7f";
   };
 
   propagatedBuildInputs = [ click ecdsa hidapi pyaes ];
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index d96d684e3e18..10f5762f0c48 100644
--- a/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,21 +13,18 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.1.10913";
+  version = "9.1.11752";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-66dc0y4mu5S5PtTx2fRkBdpNlH53ZpTiKyM3s0OUamw=";
+    sha256 = "sha256-Z50oKwS0MZVBEUeXfj9cgtPYXFAYf4i7QkgJiXdWrxo=";
   };
 
-  # Use upstream z3 implementation
-  postPatch = ''
-    substituteInPlace setup.py --replace "z3-solver>=4.8.5.0" ""
-  '';
-
   propagatedBuildInputs = [
     cachetools
     decorator
@@ -41,7 +38,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "claripy" ];
+  postPatch = ''
+    # Use upstream z3 implementation
+    substituteInPlace setup.py \
+      --replace "z3-solver>=4.8.5.0" ""
+  '';
+
+  pythonImportsCheck = [
+    "claripy"
+  ];
 
   meta = with lib; {
     description = "Python abstraction layer for constraint solvers";
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index 212267b00752..e1b1b3b0bf4e 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.1.10913";
+  version = "9.1.11752";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -29,13 +29,15 @@ in
 buildPythonPackage rec {
   pname = "cle";
   inherit version;
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-z8hBOqeI7T6Rov00OySDBdzUQ6jeBRseE7sz8VfIJmk=";
+    hash = "sha256-pnbFnv/te7U2jB6gNRvE9DQssBkFsara1g6Gtqf+WVo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix b/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix
index a9e3daa8372b..15f0249fd801 100644
--- a/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cli-helpers/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "cli_helpers";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "733f65d8c921e0cffa8f7ae4c8735bd7ecdffec383c5246f647ddd0fddb33448";
+    sha256 = "sha256-DMwc/Noaxk3H7YPXATBVzxnll50p5Wwh87aS3gFVWq4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-completion/default.nix b/nixpkgs/pkgs/development/python-modules/click-completion/default.nix
index 19fdac37615a..dcfcab597b90 100644
--- a/nixpkgs/pkgs/development/python-modules/click-completion/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/click-configfile/default.nix b/nixpkgs/pkgs/development/python-modules/click-configfile/default.nix
index 0d87aa890d2a..62e0ed2d3b60 100644
--- a/nixpkgs/pkgs/development/python-modules/click-configfile/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix b/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
index 68d69023e25d..4806f965f092 100644
--- a/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "clickhouse-cli";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fDvUdL6LzgCv6LDmB0R0M7v6BbnbL68p9pHMebP58h8=";
+    sha256 = "sha256-pa3vkIyNblS1LOwBReTqg8JAR2Ii32a2QIHWjau0uZE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cliff/default.nix b/nixpkgs/pkgs/development/python-modules/cliff/default.nix
index ce229665c659..39c5a497c8d8 100644
--- a/nixpkgs/pkgs/development/python-modules/cliff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/clint/default.nix b/nixpkgs/pkgs/development/python-modules/clint/default.nix
index 66e2d5f52f38..45733c4ae7f1 100644
--- a/nixpkgs/pkgs/development/python-modules/clint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/clize/default.nix b/nixpkgs/pkgs/development/python-modules/clize/default.nix
index 4f9a562543b9..75c4513d1e3a 100644
--- a/nixpkgs/pkgs/development/python-modules/clize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clize/default.nix
@@ -7,7 +7,6 @@
 , attrs
 , od
 , docutils
-, repeated_test
 , pygments
 , unittest2
 , pytestCheckHook
@@ -22,11 +21,13 @@ buildPythonPackage rec {
     sha256 = "3177a028e4169d8865c79af82bdd441b24311d4bd9c0ae8803641882d340a51d";
   };
 
+  # repeated_test no longer exists in nixpkgs
+  # also see: https://github.com/epsy/clize/issues/74
+  doCheck = false;
   checkInputs = [
     pytestCheckHook
     python-dateutil
     pygments
-    repeated_test
     unittest2
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix b/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
index a21faa492dfe..39e3fe9d84cb 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix b/nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix
index f525b6e7f1df..0e0debe93291 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudpickle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix b/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
index 23c911f8e4a6..20d822d8ee77 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
@@ -17,7 +17,8 @@
 
 buildPythonPackage rec {
   pname = "cloudsplaining";
-  version = "0.4.9";
+  version = "0.5.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "salesforce";
     repo = pname;
     rev = version;
-    sha256 = "sha256-87ZUYHN64gnbF2g9BjPFNbwMaGFxAy3Yb8UdT3BUqC0=";
+    hash = "sha256-HdZHRK/Q544z9ySbjNIjqiXzel0UTsnb9tuXawbkwZg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cmarkgfm/default.nix b/nixpkgs/pkgs/development/python-modules/cmarkgfm/default.nix
index 1085f4030c1e..c0863a5b3945 100644
--- a/nixpkgs/pkgs/development/python-modules/cmarkgfm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cmarkgfm/default.nix
@@ -3,24 +3,36 @@
 , cffi
 , fetchPypi
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "cmarkgfm";
-  version = "0.6.0";
+  version = "0.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ec2bf8d5799c4b5bbfbae30a4a1dfcb06512f2e17e9ee60ba7e1d390318582fc";
+    sha256 = "sha256-plwVL52ov4JxTxnCh/4JaO6Of4mejZRQPXPQ/lcinBk=";
   };
 
-  propagatedNativeBuildInputs = [ cffi ];
+  propagatedNativeBuildInputs = [
+    cffi
+  ];
 
-  propagatedBuildInputs = [ cffi ];
+  propagatedBuildInputs = [
+    cffi
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "cmarkgfm" ];
+  pythonImportsCheck = [
+    "cmarkgfm"
+  ];
 
   meta = with lib; {
     description = "Minimal bindings to GitHub's fork of cmark";
diff --git a/nixpkgs/pkgs/development/python-modules/cmd2/default.nix b/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
index 8339af8094c4..5f262438fe95 100644
--- a/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "2.3.2";
+  version = "2.3.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cad18787a26147dad4b161d75c5ab7de16ffe91fef1cfad8e6f18b712746e800";
+    sha256 = "750d7eb04d55c3bc2a413e191bc177856f388102de47d11f2210a35266543640";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/co2signal/default.nix b/nixpkgs/pkgs/development/python-modules/co2signal/default.nix
new file mode 100644
index 000000000000..2c7aeb4ceaeb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/co2signal/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "co2signal";
+  version = "0.4.2";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "CO2Signal";
+    hash = "sha256-8YdYbknLICRrZloGUZuscv5e1LIDZBcCPKZs6EMaNuo=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+  # Modules has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "CO2Signal" ];
+
+  meta = with lib; {
+    description = "A package to access the CO2 Signal API ";
+    homepage = "https://github.com/danielsjf/CO2Signal";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ plabadens ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cocotb-bus/default.nix b/nixpkgs/pkgs/development/python-modules/cocotb-bus/default.nix
index a0c4767fe7de..02b9d7184906 100644
--- a/nixpkgs/pkgs/development/python-modules/cocotb-bus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cocotb-bus/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "cocotb-bus";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3afe3abe73464269247263e44f39d59c1258f227298be4118377a8e8c09d7dc1";
+    sha256 = "a197aa4b0e0ad28469c8877b41b3fb2ec0206da9f491b9276d1578ce6dd8aa8d";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cocotb/default.nix b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
index 90616dc1f8ab..d24d3bc79822 100644
--- a/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
@@ -5,14 +5,14 @@
 , setuptools
 , setuptools-scm
 , cocotb-bus
-, pytest
+, pytestCheckHook
 , swig
 , verilog
 }:
 
 buildPythonPackage rec {
   pname = "cocotb";
-  version = "1.6.0";
+  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 = "a695544ab314e6d795b72ece9e67b51c6668c569b21303158e00452db43c5756";
+    sha256 = "sha256-SY+1727DbWMg6CnmHw8k/VP0dwBRYszn+YyyvZXgvUs=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
@@ -42,11 +42,10 @@ buildPythonPackage rec {
     substituteInPlace setup.py --replace "'cocotb-bus<1.0'" ""
   '';
 
-  checkInputs = [ cocotb-bus pytest swig verilog ];
+  checkInputs = [ cocotb-bus pytestCheckHook swig verilog ];
 
   checkPhase = ''
     export PATH=$out/bin:$PATH
-    make test
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/cogapp/default.nix b/nixpkgs/pkgs/development/python-modules/cogapp/default.nix
index facbc3206894..92dbe23cd916 100644
--- a/nixpkgs/pkgs/development/python-modules/cogapp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cogapp/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A code generator for executing Python snippets in source files";
-    homepage = "http://nedbatchelder.com/code/cog";
+    homepage = "https://nedbatchelder.com/code/cog";
     license = licenses.mit;
     maintainers = with maintainers; [ lovek323 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/commentjson/default.nix b/nixpkgs/pkgs/development/python-modules/commentjson/default.nix
index 2aefb51d481e..c1d3b8916d91 100644
--- a/nixpkgs/pkgs/development/python-modules/commentjson/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/commoncode/default.nix b/nixpkgs/pkgs/development/python-modules/commoncode/default.nix
index 142245221312..7a2416728c8e 100644
--- a/nixpkgs/pkgs/development/python-modules/commoncode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/commoncode/default.nix
@@ -8,6 +8,7 @@
 , intbitset
 , pytest-xdist
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , requests
 , saneyaml
@@ -19,6 +20,7 @@
 buildPythonPackage rec {
   pname = "commoncode";
   version = "30.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -49,12 +51,18 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-xdist
   ];
+
   disabledTests = lib.optionals stdenv.isDarwin [
     # expected result is tailored towards the quirks of upstream's
     # CI environment on darwin
     "test_searchable_paths"
   ];
 
+  disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/nexB/commoncode/issues/36
+    "src/commoncode/fetch.py"
+  ];
+
   pythonImportsCheck = [
     "commoncode"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/compreffor/default.nix b/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
new file mode 100644
index 000000000000..942773902583
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, fonttools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "compreffor";
+  version = "0.5.1.post1";
+
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "Zqia+yP4Dp5VNGeMwv+j04aNm9oVmZ2juehbfEzDfOQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    fonttools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # Tests cannot seem to open the cpython module.
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "compreffor"
+  ];
+
+  meta = with lib; {
+    description = "CFF table subroutinizer for FontTools";
+    homepage = "https://github.com/googlefonts/compreffor";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix b/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
index 5880cdf961e7..d75df29421d3 100644
--- a/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/configargparse/default.nix b/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
index 1bb036b97df5..7c1594e9e805 100644
--- a/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/configparser/default.nix b/nixpkgs/pkgs/development/python-modules/configparser/default.nix
index 5f227fa4f9ef..9467003e9dd9 100644
--- a/nixpkgs/pkgs/development/python-modules/configparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/configparser/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "configparser";
-  version = "5.1.0";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "202b9679a809b703720afa2eacaad4c6c2d63196070e5d9edc953c0489dfd536";
+    sha256 = "1b35798fdf1713f1c3139016cfcbc461f09edbf099d1fb658d4b7479fcaa3daa";
   };
 
   # No tests available
diff --git a/nixpkgs/pkgs/development/python-modules/configshell/default.nix b/nixpkgs/pkgs/development/python-modules/configshell/default.nix
index 9f67aacf2d4e..2cd66636b016 100644
--- a/nixpkgs/pkgs/development/python-modules/configshell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
index d9e7ee937284..0143ffd1aa30 100644
--- a/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro ? null, futures ? null, enum34 ? null }:
 
 buildPythonPackage rec {
-  version = "1.7.0";
+  version = "1.8.2";
   pname = "confluent-kafka";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "80e01b4791513c27eded8517af847530dfdf04c43d99ff132ed9c3085933b75b";
+    sha256 = "b79e836c3554bc51c6837a8a0152f7521c9bf31342f5b8e21eba6b28044fa585";
   };
 
   buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ enum34 avro futures ]) ;
diff --git a/nixpkgs/pkgs/development/python-modules/confuse/default.nix b/nixpkgs/pkgs/development/python-modules/confuse/default.nix
index 2b350be00460..e28621f26a99 100644
--- a/nixpkgs/pkgs/development/python-modules/confuse/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/connexion/default.nix b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
index ed6f2da5142f..a077b828264c 100644
--- a/nixpkgs/pkgs/development/python-modules/connexion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
@@ -7,7 +7,6 @@
 , clickclick
 , decorator
 , fetchFromGitHub
-, fetchpatch
 , flask
 , inflection
 , jsonschema
@@ -23,14 +22,16 @@
 
 buildPythonPackage rec {
   pname = "connexion";
-  version = "2.9.0";
+  version = "2.11.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "zalando";
     repo = pname;
     rev = version;
-    sha256 = "13smcg2w24zr2sv1968g9p9m6f18nqx688c96qdlmldnszgzf5ik";
+    sha256 = "sha256-kFNKRWl/Q8vxIELQURfzCRbVs2JYUwbKro/zKlzNcHU=";
   };
 
   propagatedBuildInputs = [
@@ -55,16 +56,20 @@ buildPythonPackage rec {
     testfixtures
   ];
 
-  patches = [
-    # No minor release for later versions, https://github.com/zalando/connexion/pull/1402
-    (fetchpatch {
-      name = "allow-later-flask-and-werkzeug-releases.patch";
-      url = "https://github.com/zalando/connexion/commit/4a225d554d915fca17829652b7cb8fe119e14b37.patch";
-      sha256 = "0dys6ymvicpqa3p8269m4yv6nfp58prq3fk1gcx1z61h9kv84g1k";
-    })
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "PyYAML>=5.1,<6" "PyYAML>=5.1" \
+      --replace "jsonschema>=2.5.1,<4" "jsonschema>=2.5.1"
+  '';
+
+  disabledTests = [
+    # We have a later PyYAML release
+    "test_swagger_yaml"
   ];
 
-  pythonImportsCheck = [ "connexion" ];
+  pythonImportsCheck = [
+    "connexion"
+  ];
 
   meta = with lib; {
     description = "Swagger/OpenAPI First framework on top of Flask";
diff --git a/nixpkgs/pkgs/development/python-modules/consonance/default.nix b/nixpkgs/pkgs/development/python-modules/consonance/default.nix
index 7722226ef3f1..a31930bd0c4b 100644
--- a/nixpkgs/pkgs/development/python-modules/consonance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/consonance/default.nix
@@ -1,29 +1,51 @@
-{ buildPythonPackage, lib, fetchFromGitHub, dissononce, python-axolotl-curve25519
-, transitions, protobuf, nose
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, dissononce
+, python-axolotl-curve25519
+, transitions
+, protobuf
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "consonance";
-  version = "0.1.3";
+  version = "0.1.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tgalal";
     repo = "consonance";
     rev = version;
-    sha256 = "1ifs0fq6i41rdna1kszv5sf87qbqx1mn98ffyx4xhw4i9r2grrjv";
+    hash = "sha256-BhgxLxjKZ4dSL7DqkaoS+wBPCd1SYZomRKrtDLdGmYQ=";
   };
 
-  checkInputs = [ nose ];
-  checkPhase = ''
-    # skipping online test as it requires network with uplink
-    nosetests tests/test_handshakes_offline.py
-  '';
+  propagatedBuildInputs = [
+    dissononce
+    python-axolotl-curve25519
+    transitions
+    protobuf
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests/test_handshakes_offline.py"
+  ];
 
-  propagatedBuildInputs = [ dissononce python-axolotl-curve25519 transitions protobuf ];
+  pythonImportsCheck = [
+    "consonance"
+  ];
 
   meta = with lib; {
-    homepage = "https://pypi.org/project/consonance/";
-    license = licenses.gpl3;
     description = "WhatsApp's handshake implementation using Noise Protocol";
+    homepage = "https://github.com/tgalal/consonance";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/construct/default.nix b/nixpkgs/pkgs/development/python-modules/construct/default.nix
index b2783fa09346..8ae44476eff4 100644
--- a/nixpkgs/pkgs/development/python-modules/construct/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/construct/default.nix
@@ -22,11 +22,9 @@ buildPythonPackage rec {
     lz4
   ];
 
-  checkInputs = [ pytestCheckHook pytest-benchmark numpy arrow ruamel-yaml cloudpickle ];
+  checkInputs = [ pytestCheckHook numpy arrow ruamel-yaml cloudpickle ];
 
-  disabledTests = lib.optionals stdenv.isDarwin [ "test_multiprocessing" ];
-
-  pytestFlagsArray = [ "--benchmark-disable" ];
+  disabledTests = [ "test_benchmarks" ] ++ lib.optionals stdenv.isDarwin [ "test_multiprocessing" ];
 
   meta = with lib; {
     description = "Powerful declarative parser (and builder) for binary data";
diff --git a/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix b/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix
index 1387e786e7b7..6aea2570cb87 100644
--- a/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/contextlib2/default.nix
@@ -1,23 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, unittest2
+, python
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "contextlib2";
   version = "21.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869";
+    hash = "sha256-qx4r/h0B2Wjht+jZAjvFHvNQm7ohe7cwzuOCfh7oKGk=";
   };
 
-  checkInputs = [ unittest2 ];
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m unittest discover
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    "contextlib2"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Backports and enhancements for the contextlib module";
     homepage = "https://contextlib2.readthedocs.org/";
-    license = lib.licenses.psfl;
+    license = licenses.psfl;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/coqpit/default.nix b/nixpkgs/pkgs/development/python-modules/coqpit/default.nix
index c36e353e3bf2..e19255c4479d 100644
--- a/nixpkgs/pkgs/development/python-modules/coqpit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cornice/default.nix b/nixpkgs/pkgs/development/python-modules/cornice/default.nix
index 793db7d5e4e4..9062ad22fd83 100644
--- a/nixpkgs/pkgs/development/python-modules/cornice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cornice/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cornice";
-  version = "6.0.0";
+  version = "6.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "532485ed53cae81ef476aaf4cc7c2e0208749ad1959119c46efefdeea5546eba";
+    sha256 = "6edf6f206ff1c3d108d7a7b9ae640a2f4737cfc04f0914ccc4eefe511d3a8985";
   };
 
   propagatedBuildInputs = [ pyramid simplejson six venusian ];
diff --git a/nixpkgs/pkgs/development/python-modules/cot/default.nix b/nixpkgs/pkgs/development/python-modules/cot/default.nix
index 607057b73f21..20ccfd6e0a90 100644
--- a/nixpkgs/pkgs/development/python-modules/cot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cot/default.nix
@@ -1,27 +1,57 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder, isPy3k
-, colorlog, pyvmomi, requests, verboselogs
-, psutil, pyopenssl, setuptools
-, mock, pytest-mock, pytestCheckHook, qemu
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, colorlog
+, pyvmomi
+, requests
+, verboselogs
+, pyopenssl
+, setuptools
+, mock
+, pytest-mock
+, pytestCheckHook
+, qemu
 }:
 
 buildPythonPackage rec {
   pname = "cot";
   version = "2.2.1";
-  disabled = !isPy3k;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4b3553415f90daac656f89d3e82e79b3d751793239bb173a683b4cc0ceb2635";
+    hash = "sha256-9LNVNBX5DarGVvidPoLnmz11F5Mjm7FzpoO0zAzrJjU=";
   };
 
-  propagatedBuildInputs = [ colorlog pyvmomi requests verboselogs pyopenssl setuptools ]
-  ++ lib.optional (pythonOlder "3.3") psutil;
+  propagatedBuildInputs = [
+    colorlog
+    pyvmomi
+    requests
+    verboselogs
+    pyopenssl
+    setuptools
+  ];
 
-  checkInputs = [ mock pytestCheckHook pytest-mock qemu ];
+  checkInputs = [
+    mock
+    pytestCheckHook
+    pytest-mock
+    qemu
+  ];
+
+  prePatch = ''
+    # argparse is part of the standardlib
+    substituteInPlace setup.py \
+      --replace "'argparse'," ""
+  '';
 
-  # Many tests require network access and/or ovftool (https://code.vmware.com/web/tool/ovf)
-  # try enabling these tests with ovftool once/if it is added to nixpkgs
   disabledTests = [
+    # Many tests require network access and/or ovftool (https://code.vmware.com/web/tool/ovf)
+    # try enabling these tests with ovftool once/if it is added to nixpkgs
     "HelperGenericTest"
     "TestCOTAddDisk"
     "TestCOTAddFile"
@@ -34,14 +64,15 @@ buildPythonPackage rec {
     "TestQCOW2"
     "TestRAW"
     "TestVMDKConversion"
+    # CLI test fails with AssertionError
+    "test_help"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_serial_fixup_invalid_host"
   ];
 
-  # argparse is part of the standardlib
-  prePatch = ''
-    substituteInPlace setup.py --replace "'argparse'," ""
-  '';
+  pythonImportsCheck = [
+    "COT"
+  ];
 
   meta = with lib; {
     description = "Common OVF Tool";
diff --git a/nixpkgs/pkgs/development/python-modules/coverage/default.nix b/nixpkgs/pkgs/development/python-modules/coverage/default.nix
index 5a7fe9a534e6..f1930b88fb8c 100644
--- a/nixpkgs/pkgs/development/python-modules/coverage/default.nix
+++ b/nixpkgs/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
@@ -19,7 +22,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Code coverage measurement for python";
-    homepage = "http://nedbatchelder.com/code/coverage/";
+    homepage = "https://coverage.readthedocs.io/";
     license = lib.licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cozy/default.nix b/nixpkgs/pkgs/development/python-modules/cozy/default.nix
deleted file mode 100644
index f7e0af082667..000000000000
--- a/nixpkgs/pkgs/development/python-modules/cozy/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ buildPythonPackage
-, isPy3k
-, fetchFromGitHub
-, lib
-, z3
-, ply
-, igraph
-, oset
-, ordered-set
-, dictionaries
-, setuptools
-}:
-
-buildPythonPackage {
-  pname = "cozy";
-  version = "2.0a1";
-  disabled = !isPy3k;
-
-  propagatedBuildInputs = [
-    setuptools
-    z3
-    ply
-    igraph
-    oset
-    ordered-set
-    dictionaries
-  ];
-
-  src = fetchFromGitHub {
-    owner = "CozySynthesizer";
-    repo = "cozy";
-    rev = "f553e9b";
-    sha256 = "1jhr5gzihj8dkg0yc5dmi081v2isxharl0ph7v2grqj0bwqzl40j";
-  };
-
-  # - yoink the Z3 dependency name, because our Z3 package doesn't provide it.
-  # - remove "dictionaries" version bound
-  # - patch igraph package name
-  postPatch = ''
-    sed -i -e '/z3-solver/d' \
-           -e 's/^dictionaries.*$/dictionaries/' \
-           -e 's/python-igraph/igraph/' \
-            requirements.txt
-  '';
-
-  # Tests are not correctly set up in the source tree.
-  doCheck = false;
-  pythonImportsCheck = [ "cozy" ];
-
-  # There is some first-time-run codegen that we will force to happen.
-  postInstall = ''
-    $out/bin/cozy --help
-  '';
-
-
-  meta = with lib; {
-    description = "The collection synthesizer";
-    homepage = "https://cozy.uwplse.org/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ MostAwesomeDude ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/croniter/default.nix b/nixpkgs/pkgs/development/python-modules/croniter/default.nix
index 3628609259c1..1b122f9b5e41 100644
--- a/nixpkgs/pkgs/development/python-modules/croniter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/croniter/default.nix
@@ -4,22 +4,21 @@
 , python-dateutil
 , pytestCheckHook
 , pytz
-, natsort
 , tzlocal
 }:
 
 buildPythonPackage rec {
   pname = "croniter";
-  version = "1.0.15";
+  version = "1.3.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06c2smrjskd9di8lcpymcxmygncxr14932qjhslc37yyaafzq3d7";
+    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/nixpkgs/pkgs/development/python-modules/crownstone-uart/default.nix b/nixpkgs/pkgs/development/python-modules/crownstone-uart/default.nix
index b8ed7721f064..12aa1590742a 100644
--- a/nixpkgs/pkgs/development/python-modules/crownstone-uart/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cryptography/default.nix b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
index d21e6d060fe1..b4a79137d59b 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
@@ -21,18 +21,18 @@
 
 buildPythonPackage rec {
   pname = "cryptography";
-  version = "3.4.8"; # Also update the hash in vectors.nix
+  version = "36.0.0"; # Also update the hash in vectors.nix
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "072awar70cwfd2hnx0pvp1dkc7gw45mbm3wcyddvxz5frva5xk4l";
+    sha256 = "0zshc1jaavykdnic5ns8zax6gqganys6gp5f35bqcfggnkn6kxsj";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "${pname}-${version}/${cargoRoot}";
     name = "${pname}-${version}";
-    sha256 = "01h511h6l4qvjxbaw662m1l84pb4wrhwxmnb3qj6ik13mx2m477m";
+    sha256 = "1nbw4cfshyc125jwdivg9gxy52qcd1iz31lypl95ij9bn1dyx933";
   };
 
   cargoRoot = "src/rust";
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
index 7602582f8306..577c2c870910 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
@@ -7,7 +7,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wl0ynh3lzhc6q59g8mybvijmnp195x7fjxlb3h3sgcraw14312c";
+    sha256 = "19gs051jbsixxwhlfs4xdxpzg8w1vypzpz3w56bp9x01qwzfbdy6";
   };
 
   # No tests included
diff --git a/nixpkgs/pkgs/development/python-modules/css-parser/default.nix b/nixpkgs/pkgs/development/python-modules/css-parser/default.nix
index 7791c2b9a237..c4d3b101c87d 100644
--- a/nixpkgs/pkgs/development/python-modules/css-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/css-parser/default.nix
@@ -1,18 +1,26 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
 
 buildPythonPackage rec {
   pname = "css-parser";
-  version = "1.0.6";
+  version = "1.0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ed448a8a5622edb1d30d616bbc4bd3d30f11be922343d7a92d7e418e324af2e";
+    sha256 = "25e096c63262dd249010ce36dab4cacd9595783ee09b5ed699ef12ab864ebbd1";
   };
 
   # Test suite not included in tarball yet
   # See https://github.com/ebook-utils/css-parser/pull/2
   doCheck = false;
 
+  pythonImportsCheck = [
+    "css_parser"
+  ];
+
   meta = with lib; {
     description = "A CSS Cascading Style Sheets library for Python";
     homepage = "https://github.com/ebook-utils/css-parser";
diff --git a/nixpkgs/pkgs/development/python-modules/cssutils/default.nix b/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
index 9d1aec862508..6c1c5de2c56a 100644
--- a/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
+, pythonAtLeast
 , pythonOlder
+, fetchpatch
 , fetchPypi
 , setuptools-scm
 , toml
@@ -22,6 +24,14 @@ buildPythonPackage rec {
     sha256 = "sha256-stOxYEfKroLlxZADaTW6+htiHPRcLziIWvS+SDjw/QA=";
   };
 
+  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-scm
     toml
diff --git a/nixpkgs/pkgs/development/python-modules/csvw/default.nix b/nixpkgs/pkgs/development/python-modules/csvw/default.nix
index 67342d9eccc8..7ae79f4ec59f 100644
--- a/nixpkgs/pkgs/development/python-modules/csvw/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cupy/default.nix b/nixpkgs/pkgs/development/python-modules/cupy/default.nix
index 6336fc0bdc01..250d337a07f6 100644
--- a/nixpkgs/pkgs/development/python-modules/cupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cupy/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "cupy";
-  version = "9.6.0";
+  version = "10.1.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "22469ea1ad51ffbb4af2b139ed0820ac5d0b78f1265b2a095ed5e5d5299aab91";
+    sha256 = "ad28e7311b2023391f2278b7649828decdd9d9599848e18845eb4ab1b2d01936";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cwcwidth/default.nix b/nixpkgs/pkgs/development/python-modules/cwcwidth/default.nix
index ede96fc3b41d..c3778415e570 100644
--- a/nixpkgs/pkgs/development/python-modules/cwcwidth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix b/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix
index 514b53b873a9..90e2608069c4 100644
--- a/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cx_Freeze";
-  version = "6.8.3";
+  version = "6.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05e7a2b099d4eb36e74116311b693dcc3103763aee92ef32079be0b6d4832fa0";
+    sha256 = "673aa3199af2ef87fc03a43a30e5d78b27ced2cedde925da89c55b5657da267b";
   };
 
   disabled = pythonOlder "3.5";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A set of scripts and modules for freezing Python scripts into executables";
-    homepage = "http://cx-freeze.sourceforge.net/";
+    homepage = "https://marcelotduarte.github.io/cx_Freeze/";
     license = licenses.psfl;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index 75f9c29607da..26546c3f7cb0 100644
--- a/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -2,6 +2,8 @@
 , buildPythonPackage
 , fetchFromGitHub
 , importlib-metadata
+, jsonschema
+, lxml
 , packageurl-python
 , poetry-core
 , pytestCheckHook
@@ -11,12 +13,11 @@
 , toml
 , types-setuptools
 , types-toml
-, tox
 }:
 
 buildPythonPackage rec {
   pname = "cyclonedx-python-lib";
-  version = "0.12.3";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "CycloneDX";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1404wcwjglq025n8ncsrl2h64g1sly83cs9sc6jpiw1g5ay4a1vi";
+    hash = "sha256-/1kWvhTUS0JT0RwodiivJSUiWIDwQyXxdjF/KUlCNds=";
   };
 
   nativeBuildInputs = [
@@ -43,16 +44,11 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    jsonschema
+    lxml
     pytestCheckHook
-    tox
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'setuptools = "^50.3.2"' 'setuptools = "*"' \
-      --replace 'importlib-metadata = "^4.8.1"' 'importlib-metadata = "*"'
-  '';
-
   pythonImportsCheck = [
     "cyclonedx"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/dacite/default.nix b/nixpkgs/pkgs/development/python-modules/dacite/default.nix
index 67b1722be51f..ba74695fb5ea 100644
--- a/nixpkgs/pkgs/development/python-modules/dacite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dacite/default.nix
@@ -2,12 +2,15 @@
 , fetchFromGitHub
 , buildPythonPackage
 , pythonOlder
+, pythonAtLeast
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "dacite";
   version = "1.6.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -21,7 +24,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "dacite" ];
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/konradhalas/dacite/issues/167
+    "test_from_dict_with_union_and_wrong_data"
+  ];
+
+  pythonImportsCheck = [
+    "dacite"
+  ];
 
   meta = with lib; {
     description = "Python helper to create data classes from dictionaries";
diff --git a/nixpkgs/pkgs/development/python-modules/dash/default.nix b/nixpkgs/pkgs/development/python-modules/dash/default.nix
index 3fd9d2a41d58..004d42a81df3 100644
--- a/nixpkgs/pkgs/development/python-modules/dash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash/default.nix
@@ -10,17 +10,21 @@
 , pytest-mock
 , mock
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.0.0";
+  version = "2.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "plotly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0RvA5qkwQJGyy81D5kW+IR6LbaD/KBwMy6kYxTETubg=";
+    sha256 = "sha256-Ul3j1BJd3lKzGCEhPFYxZG0CcAqAZqmOEDi8vGPFItw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix b/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix
index 60df07076827..31be98f45912 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-ml/default.nix
@@ -17,13 +17,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2021.11.30";
+  version = "2022.1.22";
   pname = "dask-ml";
   disabled = pythonOlder "3.6"; # >= 3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f73306b5ee56e9b41b133697062d0028d30b1ece883ac6b56532fea5bd3e94a";
+    sha256 = "21a128e9f4f10e3b39cf82b36266eae28b17d16f2f6aa351bd73eb361e49326a";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dask/default.nix b/nixpkgs/pkgs/development/python-modules/dask/default.nix
index 39d01559d460..0358083c3a57 100644
--- a/nixpkgs/pkgs/development/python-modules/dask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2021.10.0";
+  version = "2022.01.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -32,19 +32,10 @@ buildPythonPackage rec {
     owner = "dask";
     repo = pname;
     rev = version;
-    sha256 = "07ysrs46x5w8rc2df0j06rsw58ahcysd6lwjk5riqpjlpwdfmg7p";
+    sha256 = "sha256-HlVvnhEDzefzv9xchlXl9d4KCumoAqoYUWmIiCXLJyM=
+";
   };
 
-  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
@@ -82,7 +73,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
diff --git a/nixpkgs/pkgs/development/python-modules/databases/default.nix b/nixpkgs/pkgs/development/python-modules/databases/default.nix
index 2facff6c840b..518d2066853a 100644
--- a/nixpkgs/pkgs/development/python-modules/databases/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix b/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix
index bb8bda922872..25fd92871012 100644
--- a/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/databricks-cli/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-cli";
-  version = "0.16.2";
+  version = "0.16.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3e9a65a19a589b795ebbd9b3b16a8e470d612d57d6216ae44a9c7a735e4080e6";
+    sha256 = "sha256-GBiQaBg7YY31bJft0W8Iq7WXhX98wPgPFHdNwuZ7WQY=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix b/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix
index 7df195b3aacb..f77b279eb64f 100644
--- a/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/databricks-connect/default.nix
@@ -1,12 +1,22 @@
-{ lib, jdk8, buildPythonPackage, fetchPypi, six, py4j }:
+{ lib
+, jdk8
+, buildPythonPackage
+, fetchPypi
+, six
+, py4j
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "9.1.5";
+  version = "9.1.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "26b88b1d8fdacf5226cf9c1924fae974c955ccbfe2fdcd08574327007bdcbdd9";
+    sha256 = "sha256-/I0yMrh2OinvSeMX8C10Y64FuD/nr3dOKIN3Pkb3Zrs=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/development/python-modules/datadog/default.nix b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
index a24f726e346d..c15e673fa3ed 100644
--- a/nixpkgs/pkgs/development/python-modules/datadog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "datadog";
-  version = "0.42.0";
+  version = "0.43.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-em+sF6fQnxiDq5pFzk/3oWqhpes8xMbN2sf4xT59Hps=";
+    sha256 = "1f2123083d9e1add6f238c62714b76ac2fc134d7d1c435cd82b976487b191b96";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/datafusion/Cargo.lock.patch b/nixpkgs/pkgs/development/python-modules/datafusion/Cargo.lock.patch
new file mode 100644
index 000000000000..e4e5eca8af4c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/datafusion/Cargo.lock.patch
@@ -0,0 +1,78 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index fa84a54c..3d790e1c 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -57,9 +57,9 @@ checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd"
+ 
+ [[package]]
+ name = "arrow"
+-version = "6.0.0"
++version = "6.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "337e668497751234149fd607f5cb41a6ae7b286b6329589126fe67f0ac55d637"
++checksum = "216c6846a292bdd93c2b93c1baab58c32ff50e2ab5e8d50db333ab518535dd8b"
+ dependencies = [
+  "bitflags",
+  "chrono",
+@@ -212,9 +212,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "comfy-table"
+-version = "4.1.1"
++version = "5.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "11e95a3e867422fd8d04049041f5671f94d53c32a9dcd82e2be268714942f3f3"
++checksum = "c42350b81f044f576ff88ac750419f914abb46a03831bb1747134344ee7a4e64"
+ dependencies = [
+  "strum",
+  "strum_macros",
+@@ -279,7 +279,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "datafusion"
+-version = "5.1.0"
++version = "6.0.0"
+ dependencies = [
+  "ahash",
+  "arrow",
+@@ -310,7 +310,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "datafusion-python"
+-version = "0.3.0"
++version = "0.4.0"
+ dependencies = [
+  "datafusion",
+  "pyo3",
+@@ -877,9 +877,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "parquet"
+-version = "6.0.0"
++version = "6.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d263b9b59ba260518de9e57bd65931c3f765fea0fabacfe84f40d6fde38e841a"
++checksum = "788d9953f4cfbe9db1beff7bebd54299d105e34680d78b82b1ddc85d432cac9d"
+ dependencies = [
+  "arrow",
+  "base64",
+@@ -1228,15 +1228,15 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+ 
+ [[package]]
+ name = "strum"
+-version = "0.21.0"
++version = "0.22.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
++checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
+ 
+ [[package]]
+ name = "strum_macros"
+-version = "0.21.1"
++version = "0.22.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
++checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb"
+ dependencies = [
+  "heck",
+  "proc-macro2",
diff --git a/nixpkgs/pkgs/development/python-modules/datafusion/default.nix b/nixpkgs/pkgs/development/python-modules/datafusion/default.nix
new file mode 100644
index 000000000000..4b36df22d183
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/datafusion/default.nix
@@ -0,0 +1,90 @@
+{ lib
+, stdenv
+, fetchurl
+, buildPythonPackage
+, fetchPypi
+, fetchFromGitHub
+, rustPlatform
+, maturin
+, pytestCheckHook
+, libiconv
+, numpy
+, pandas
+, pyarrow
+, pytest
+}:
+let
+  # le sigh, the perils of unrelated versions of software living in the same
+  # repo: there's no obvious way to map the top level source repo
+  # (arrow-datafusion) version to the version of contained repo
+  # (arrow-datafusion/python)
+  #
+  # A commit hash will do in a pinch, and ultimately the sha256 has the final
+  # say of what the content is when building
+  cargoLock = fetchurl {
+    url = "https://raw.githubusercontent.com/apache/arrow-datafusion/6.0.0/python/Cargo.lock";
+    sha256 = "sha256-xiv3drEU5jOGsEIh0U01ZQ1NBKobxO2ctp4mxy9iigw=";
+  };
+
+  postUnpack = ''
+    cp "${cargoLock}" $sourceRoot/Cargo.lock
+    chmod u+w $sourceRoot/Cargo.lock
+  '';
+in
+buildPythonPackage rec {
+  pname = "datafusion";
+  version = "0.4.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-+YqogteKfNhtI2QbVXv/5CIWm3PcOH653dwONm5ZcL8=";
+  };
+
+  inherit postUnpack;
+
+  # TODO: remove the patch hacking and postUnpack hooks after
+  # https://github.com/apache/arrow-datafusion/pull/1508 is merged
+  #
+  # the lock file isn't up to date as of 6.0.0 so we need to patch the source
+  # lockfile and the vendored cargo deps lockfile
+  patches = [ ./Cargo.lock.patch ];
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src pname version postUnpack;
+    sha256 = "sha256-JGyDxpfBXzduJaMF1sbmRm7KJajHYdVSj+WbiSETiY0=";
+    patches = [ ./Cargo.lock.patch ];
+  };
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
+  propagatedBuildInputs = [
+    numpy
+    pandas
+    pyarrow
+  ];
+
+  checkInputs = [ pytest ];
+  pythonImportsCheck = [ "datafusion" ];
+
+  checkPhase = ''
+    runHook preCheck
+    pytest --pyargs "${pname}"
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Extensible query execution framework";
+    longDescription = ''
+      DataFusion is an extensible query execution framework, written in Rust,
+      that uses Apache Arrow as its in-memory format.
+    '';
+    homepage = "https://arrow.apache.org/datafusion/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dataset/default.nix b/nixpkgs/pkgs/development/python-modules/dataset/default.nix
new file mode 100644
index 000000000000..38de0218dec0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dataset/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sqlalchemy
+, alembic
+, banal
+}:
+
+buildPythonPackage rec {
+  pname = "dataset";
+  version = "1.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-TDZ6fAqFxOdI79o07uMAw/zD8HbHXDKQt0mnoFM1yEc=";
+  };
+
+  propagatedBuildInputs = [
+    sqlalchemy alembic banal
+  ];
+
+  # checks attempt to import nonexistent module 'test.test' and fail
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "dataset"
+  ];
+
+  meta = with lib; {
+    description = "Toolkit for Python-based database access";
+    homepage = "https://dataset.readthedocs.io";
+    license = licenses.mit;
+    maintainers = [ maintainers.xfnw ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/datasets/default.nix b/nixpkgs/pkgs/development/python-modules/datasets/default.nix
index b4b60da17f9f..ab5e929818c6 100644
--- a/nixpkgs/pkgs/development/python-modules/datasets/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/datasette/default.nix b/nixpkgs/pkgs/development/python-modules/datasette/default.nix
index 7908b3c6b496..481f4c58b3ff 100644
--- a/nixpkgs/pkgs/development/python-modules/datasette/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/datashader/default.nix b/nixpkgs/pkgs/development/python-modules/datashader/default.nix
index 587f73d81ed8..d4515b064833 100644
--- a/nixpkgs/pkgs/development/python-modules/datashader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datashader/default.nix
@@ -25,19 +25,13 @@
 buildPythonPackage rec {
   pname = "datashader";
   version = "0.13.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-6JscHm1QjDmXOLLa83qhAvY/xwvlPM6duQ1lSxnCVV8=";
   };
 
-  # the complete extra is for usage with conda, which we
-  # don't care about
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "dask[complete]" "dask"
-  '';
-
   propagatedBuildInputs = [
     dask
     bokeh
@@ -56,13 +50,21 @@ buildPythonPackage rec {
 
   checkInputs = [
     pytestCheckHook
-    pytest-xdist # not needed
+    pytest-xdist
     nbsmoke
     fastparquet
     nbconvert
     netcdf4
   ];
 
+  # The complete extra is for usage with conda, which we
+  # don't care about
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "dask[complete]" "dask" \
+      --replace "xarray >=0.9.6" "xarray"
+  '';
+
   preCheck = ''
     export HOME=$TMPDIR
   '';
@@ -73,10 +75,10 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # not compatible with current version of bokeh
+    # Not compatible with current version of bokeh
     # see: https://github.com/holoviz/datashader/issues/1031
     "test_interactive_image_update"
-    # latest dask broken array marshalling
+    # Latest dask broken array marshalling
     # see: https://github.com/holoviz/datashader/issues/1032
     "test_raster_quadmesh_autorange_reversed"
   ];
@@ -86,10 +88,14 @@ buildPythonPackage rec {
     "datashader/tests/test_datatypes.py"
   ];
 
+  pythonImportsCheck = [
+    "datashader"
+  ];
+
   meta = with lib;{
     description = "Data visualization toolchain based on aggregating into a grid";
     homepage = "https://datashader.org";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dbus/default.nix b/nixpkgs/pkgs/development/python-modules/dbus/default.nix
index 23fcf511187e..0685ca6fcca5 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus/default.nix
@@ -23,6 +23,10 @@ buildPythonPackage rec {
     MACOSX_DEPLOYMENT_TARGET=10.16
   '' else null;
 
+  configureFlags = [
+    "PYTHON=${python.pythonForBuild.interpreter}"
+  ];
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ dbus dbus-glib ]
     # My guess why it's sometimes trying to -lncurses.
diff --git a/nixpkgs/pkgs/development/python-modules/dbutils/default.nix b/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
index bbfa60f03b69..8994e1d28cd2 100644
--- a/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/deap/default.nix b/nixpkgs/pkgs/development/python-modules/deap/default.nix
index f260727b87a6..5efad065011d 100644
--- a/nixpkgs/pkgs/development/python-modules/deap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/debian/default.nix b/nixpkgs/pkgs/development/python-modules/debian/default.nix
index 569e2b29631e..98f0e234e3ae 100644
--- a/nixpkgs/pkgs/development/python-modules/debian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debian/default.nix
@@ -1,20 +1,22 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , chardet
-, six
 }:
 
 buildPythonPackage rec {
   pname = "python-debian";
-  version = "0.1.42";
+  version = "0.1.43";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a794f4c4ee2318ae7260c2e32dac252b833bdaf6686efc2a1afbc6ecf3f0931f";
+    sha256 = "abc702511c4e268da49c22fd97c83de355c559f3271e0798a6b67964be3d8248";
   };
 
-  propagatedBuildInputs = [ chardet six ];
+  propagatedBuildInputs = [ chardet ];
 
   # No tests in archive
   doCheck = false;
@@ -23,7 +25,9 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Debian package related modules";
+    homepage = "https://salsa.debian.org/python-debian-team/python-debian";
+    changelog = "https://salsa.debian.org/python-debian-team/python-debian/-/blob/master/debian/changelog";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/debtcollector/default.nix b/nixpkgs/pkgs/development/python-modules/debtcollector/default.nix
index df3d78394605..1915b64aca80 100644
--- a/nixpkgs/pkgs/development/python-modules/debtcollector/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/debugpy/default.nix b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
index bf2ed3628675..dc58d8f7b039 100644
--- a/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
@@ -13,11 +13,13 @@
 , pytestCheckHook
 , requests
 , isPy3k
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
   pname = "debugpy";
   version = "1.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Microsoft";
@@ -67,6 +69,7 @@ buildPythonPackage rec {
   )'';
 
   doCheck = isPy3k;
+
   checkInputs = [
     django
     flask
@@ -79,9 +82,25 @@ buildPythonPackage rec {
   ];
 
   # Override default arguments in pytest.ini
-  pytestFlagsArray = [ "--timeout=0" "-n=$NIX_BUILD_CORES" ];
+  pytestFlagsArray = [
+    "--timeout=0"
+    "-n=$NIX_BUILD_CORES"
+  ];
 
-  pythonImportsCheck = [ "debugpy" ];
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    "test_flask_breakpoint_multiproc"
+    "test_subprocess[program-launch-None]"
+    "test_systemexit[0-zero-uncaught-raised-launch(integratedTerminal)-module]"
+    "test_systemexit[0-zero-uncaught--attach_pid-program]"
+    "test_success_exitcodes[-break_on_system_exit_zero-0-attach_listen(cli)-module]"
+    "test_success_exitcodes[--0-attach_connect(api)-program]"
+    "test_run[code-attach_connect(api)]"
+    "test_subprocess[program-launch-None]"
+  ];
+
+  pythonImportsCheck = [
+    "debugpy"
+  ];
 
   meta = with lib; {
     description = "An implementation of the Debug Adapter Protocol for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/decli/default.nix b/nixpkgs/pkgs/development/python-modules/decli/default.nix
new file mode 100644
index 000000000000..1e0fd21320dc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/decli/default.nix
@@ -0,0 +1,23 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "decli";
+  version = "0.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-8s3lUDSnXIGcYwx2VahExhLyWYxCwhKZFgRl32rUY60=";
+  };
+
+  pythonImportsCheck = [ "decli" ];
+
+  meta = with lib; {
+    description = "Minimal, easy to use, declarative command line interface tool";
+    homepage = "https://github.com/Woile/decli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/decopatch/default.nix b/nixpkgs/pkgs/development/python-modules/decopatch/default.nix
index 7fa3c6465db4..92c2c27de2f6 100644
--- a/nixpkgs/pkgs/development/python-modules/decopatch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/decorator/default.nix b/nixpkgs/pkgs/development/python-modules/decorator/default.nix
index 0c1889963157..e26c1a108188 100644
--- a/nixpkgs/pkgs/development/python-modules/decorator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/deemix/default.nix b/nixpkgs/pkgs/development/python-modules/deemix/default.nix
index cf54f6facf82..c12bdac5fd0b 100644
--- a/nixpkgs/pkgs/development/python-modules/deemix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deemix/default.nix
@@ -12,12 +12,14 @@
 
 buildPythonPackage rec {
   pname = "deemix";
-  version = "3.6.4";
+  version = "3.6.6";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "268617b3ff9346ae51a063cbdb820c1f591cbadc1cf2fafd201dc671e721c1dd";
+    sha256 = "sha256-xEahzA1PIrGPfnnOcuXQLVQpSVOUFk6/0v9ViLgWCwk=";
   };
 
   propagatedBuildInputs = [
@@ -31,18 +33,14 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [
-    "spotipy"
-    "click"
-    "Cryptodome"
-    "mutagen"
-    "requests"
     "deezer"
   ];
 
   meta = with lib; {
-    homepage = "https://git.freezer.life/RemixDev/deemix-py";
     description = "Deezer downloader built from the ashes of Deezloader Remix";
+    homepage = "https://git.freezerapp.xyz/RemixDev/deemix-py";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ natto1784 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/deep-translator/default.nix b/nixpkgs/pkgs/development/python-modules/deep-translator/default.nix
index ae7bf52e1fe7..0f67b2ae3529 100644
--- a/nixpkgs/pkgs/development/python-modules/deep-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deep-translator/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deep-translator";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-B/SnLSaCRVhQvSU2hmdKPswM2N73nHAzQfVNBMgCofI=";
+    sha256 = "sha256-k4RhUZN/aC9D1NKkmCGZGZNU9In577RobBnDagMYHbo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/deezer-py/default.nix b/nixpkgs/pkgs/development/python-modules/deezer-py/default.nix
index 648f0e3f0fc7..a05c7335214e 100644
--- a/nixpkgs/pkgs/development/python-modules/deezer-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deezer-py/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "deezer-py";
-  version = "1.3.2";
+  version = "1.3.6";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-G4GREc+PWvaphnOuzBePraj4pHgmhhKqsyVHKOPwGik=";
+    sha256 = "a3ef151f7971d69769e7393f71373eaf896bccd22167213872ae46e04e14a2d7";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix b/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
index cb3afb644252..0f01ebab4a55 100644
--- a/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "deezer-python";
-  version = "4.2.1";
+  version = "5.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "browniebroke";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gl0l7x9zqfkz3l4jfz8rb956lqj3vx1aghric36izwzl6wyj6h5";
+    sha256 = "sha256-jaF5vQx8/qP9pGLfilx86v1GxHbjxaRghjjI5Me0pU0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/demjson/default.nix b/nixpkgs/pkgs/development/python-modules/demjson/default.nix
deleted file mode 100644
index 25e2692af3ba..000000000000
--- a/nixpkgs/pkgs/development/python-modules/demjson/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, python, buildPythonPackage, fetchPypi, isPy3k }:
-
-buildPythonPackage rec {
-  pname = "demjson";
-  version = "2.2.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ygbddpnvp5lby6mr5kz60la3hkvwwzv3wwb3z0w9ngxl0w21pii";
-  };
-
-  checkPhase = lib.optionalString isPy3k ''
-    ${python.interpreter} -m lib2to3 -w test/test_demjson.py
-  '' + ''
-    ${python.interpreter} test/test_demjson.py
-  '';
-
-  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 ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/dendropy/default.nix b/nixpkgs/pkgs/development/python-modules/dendropy/default.nix
index be1b705dc02b..08c794682713 100644
--- a/nixpkgs/pkgs/development/python-modules/dendropy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/denonavr/default.nix b/nixpkgs/pkgs/development/python-modules/denonavr/default.nix
index 94d3f73950f5..9922522138b6 100644
--- a/nixpkgs/pkgs/development/python-modules/denonavr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/denonavr/default.nix
@@ -15,14 +15,16 @@
 
 buildPythonPackage rec {
   pname = "denonavr";
-  version = "0.10.9";
+  version = "0.10.10";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "scarface-4711";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Y0sFRKnKZAdP95EyE3h1g92AJeT0Xkshjjwfv/vnfW8=";
+    sha256 = "sha256-ZL04JJZStOr6egoki85qCQrXoSTTO43RlLVbNBVz3QA=";
   };
 
   propagatedBuildInputs = [
@@ -40,7 +42,9 @@ buildPythonPackage rec {
     pytest-timeout
   ];
 
-  pythonImportsCheck = [ "denonavr" ];
+  pythonImportsCheck = [
+    "denonavr"
+  ];
 
   meta = with lib; {
     description = "Automation Library for Denon AVR receivers";
diff --git a/nixpkgs/pkgs/development/python-modules/deprecation/default.nix b/nixpkgs/pkgs/development/python-modules/deprecation/default.nix
index fb5698062f77..d77554c79ab8 100644
--- a/nixpkgs/pkgs/development/python-modules/deprecation/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deprecation/default.nix
@@ -1,4 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi, python, packaging, unittest2 }:
+{ lib, buildPythonPackage, fetchPypi
+, fetchpatch
+, packaging
+, python
+, pythonAtLeast
+, pythonOlder
+, unittest2
+}:
 
 buildPythonPackage rec {
   pname = "deprecation";
@@ -9,9 +16,22 @@ buildPythonPackage rec {
     sha256 = "1zqqjlgmhgkpzg9ss5ki8wamxl83xn51fs6gn2a8cxsx9vkbvcvj";
   };
 
+  patches = lib.optionals (pythonAtLeast "3.10") [
+    # fixes for python 3.10 test suite
+    (fetchpatch {
+      url = "https://github.com/briancurtin/deprecation/pull/57/commits/e13e23068cb8d653a02a434a159e8b0b7226ffd6.patch";
+      sha256 = "sha256-/5zr2V1s5ULUZnbLXsgyHxZH4m7/a27QYuqQt2Savc8=";
+      includes = [ "tests/test_deprecation.py" ];
+    })
+  ];
+
   propagatedBuildInputs = [ packaging ];
 
-  checkInputs = [ unittest2 ];
+  # avoiding mass rebuilds for python3.9, but no longer
+  # needed with patch
+  checkInputs = lib.optional (pythonOlder "3.10") [
+    unittest2
+  ];
 
   checkPhase = ''
     ${python.interpreter} -m unittest discover
diff --git a/nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix b/nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix
index b71ce7c6c271..badbd3afbdb6 100644
--- a/nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix b/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
index 5abe989e98d5..4fbc0f06fc43 100644
--- a/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , httpx
 , protobuf
 , pytest-asyncio
@@ -14,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "devolo-plc-api";
-  version = "0.7.0";
+  version = "0.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "2Fake";
     repo = "devolo_plc_api";
     rev = "v${version}";
-    sha256 = "sha256-qzjH52bKQ/oSFd580V92uE2/Z2g+2nLh/JXOXYqVfSY=";
+    sha256 = "sha256-XR/daDrnfbLBrUTTMFYtndr6+RxPwnF4qbXAdXsXKHk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -38,7 +39,6 @@ buildPythonPackage rec {
     zeroconf
   ];
 
-
   checkInputs = [
     pytest-asyncio
     pytest-httpx
@@ -46,6 +46,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+
+
   pythonImportsCheck = [
     "devolo_plc_api"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/devtools/default.nix b/nixpkgs/pkgs/development/python-modules/devtools/default.nix
index 98f446315d91..5d4f0871bf78 100644
--- a/nixpkgs/pkgs/development/python-modules/devtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devtools/default.nix
@@ -37,6 +37,8 @@ buildPythonPackage rec {
   disabledTests = [
     # Test for Windows32
     "test_print_subprocess"
+    # sensitive to timing
+    "test_multiple_not_verbose"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/diagrams/default.nix b/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
index e015a6522d6e..84d98d091356 100644
--- a/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "diagrams";
-  version = "0.20.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 = "1lcqsy3bvlnlnakjysp8qjhy26bhkp1izi5dvzq2fpsffgxk4si4";
+    sha256 = "sha256-YoXV5ikkBCSVyGmzEqp+7JLy82d7z9sbwS+U/EN3BFk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/diceware/default.nix b/nixpkgs/pkgs/development/python-modules/diceware/default.nix
index d519aa76c8b1..5655e18bae10 100644
--- a/nixpkgs/pkgs/development/python-modules/diceware/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dict2xml/default.nix b/nixpkgs/pkgs/development/python-modules/dict2xml/default.nix
index 457e9d3e530b..a51ec5303cd2 100644
--- a/nixpkgs/pkgs/development/python-modules/dict2xml/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dictdiffer/default.nix b/nixpkgs/pkgs/development/python-modules/dictdiffer/default.nix
new file mode 100644
index 000000000000..5e043e55f853
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dictdiffer/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "dictdiffer";
+  version = "0.9.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "inveniosoftware";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-lQyPs3lQWtsvNPuvvwJUTDzrFaOX5uwGuRHe3yWUheU=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner>=2.7'," ""
+    substituteInPlace pytest.ini \
+      --replace ' --isort --pydocstyle --pycodestyle --doctest-glob="*.rst" --doctest-modules --cov=dictdiffer --cov-report=term-missing' ""
+  '';
+
+  pythonImportsCheck = [
+    "dictdiffer"
+  ];
+
+  meta = with lib; {
+    description = "Module to diff and patch dictionaries";
+    homepage = "https://github.com/inveniosoftware/dictdiffer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/diff-cover/default.nix b/nixpkgs/pkgs/development/python-modules/diff-cover/default.nix
index 7a9e1205979a..5414f7522dbe 100644
--- a/nixpkgs/pkgs/development/python-modules/diff-cover/default.nix
+++ b/nixpkgs/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.4.0";
+  version = "6.4.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "diff_cover";
     inherit version;
-    sha256 = "sha256-4iQ9/QcXh/lW8HE6wFZWc6Y57xhAEWu2TQnIUZJNAMs=";
+    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/nixpkgs/pkgs/development/python-modules/diofant/default.nix b/nixpkgs/pkgs/development/python-modules/diofant/default.nix
index 5a2e6e60b830..89cf7d910127 100644
--- a/nixpkgs/pkgs/development/python-modules/diofant/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diofant/default.nix
@@ -12,13 +12,14 @@
 
 buildPythonPackage rec {
   pname = "diofant";
-  version = "0.12.0";
+  version = "0.13.0";
   disabled = pythonOlder "3.9";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "Diofant";
-    sha256 = "sha256-G0CTSoDSduiWxlrk5XjnX5ldNZ9f7yxaJeUPO3ezJgo=";
+    sha256 = "bac9e086a7156b20f18e3291d6db34e305338039a3c782c585302d377b74dd3c";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/discogs-client/default.nix b/nixpkgs/pkgs/development/python-modules/discogs-client/default.nix
index e47922f9577a..f4940cf7c615 100644
--- a/nixpkgs/pkgs/development/python-modules/discogs-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/discogs-client/default.nix
@@ -5,18 +5,21 @@
 , oauthlib
 , python-dateutil
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "discogs-client";
-  version = "2.3.12";
+  version = "2.3.13";
+  format = "setuptools";
 
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "joalla";
     repo = "discogs_client";
     rev = "v${version}";
-    sha256 = "0y553x8rkgmqqg980n62pwdxbp75xalkhlb6k5g0cms42ggy5fsc";
+    sha256 = "sha256-TOja0pCJv8TAI0ns8M/tamZ5Pp8k5sSKDnvN4SeKtW8=";
   };
 
   propagatedBuildInputs = [
@@ -29,7 +32,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "discogs_client" ];
+  pythonImportsCheck = [
+    "discogs_client"
+  ];
 
   meta = with lib; {
     description = "Unofficial Python API client for Discogs";
diff --git a/nixpkgs/pkgs/development/python-modules/discovery30303/default.nix b/nixpkgs/pkgs/development/python-modules/discovery30303/default.nix
new file mode 100644
index 000000000000..49de32439d12
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/diskcache/default.nix b/nixpkgs/pkgs/development/python-modules/diskcache/default.nix
index 457ab077a0ce..26cb0e438f01 100644
--- a/nixpkgs/pkgs/development/python-modules/diskcache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diskcache/default.nix
@@ -1,50 +1,62 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, pytestCheckHook
-, pytest-cov
-, pytest-xdist
 , pytest-django
-, mock
+, pytest-xdist
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "diskcache";
-  version = "5.2.1";
+  version = "5.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "grantjenks";
     repo = "python-diskcache";
     rev = "v${version}";
-    sha256 = "sha256-dWtEyyWpg0rxEwyhBdPyApzgS9o60HVGbtY76ELHvX8=";
+    hash = "sha256-c/k8mx/T4RkseDobJ2gtcuom0A6Ewyw4aP2Bk9pxV+o=";
   };
 
   checkInputs = [
-    pytestCheckHook
-    pytest-cov
-    pytest-xdist
     pytest-django
-    mock
+    pytest-xdist
+    pytestCheckHook
   ];
 
-  # Darwin sandbox causes most tests to fail.
+  postPatch = ''
+    sed -i "/--cov/d" tox.ini
+  '';
+
+  # Darwin sandbox causes most tests to fail
   doCheck = !stdenv.isDarwin;
-  pythonImportsCheck = [ "diskcache" ];
 
   disabledTests = [
-    # very time sensitive, can fail on over subscribed machines
+    # Very time sensitive, can fail on over subscribed machines
     "test_incr_update_keyerror"
+    # AssertionError: 'default' is not None
+    "test_decr_version"
+    "test_incr_version"
+    "test_get_or_set"
+    "test_get_many"
   ];
 
   pytestFlagsArray = [
     "-n $NIX_BUILD_CORES"
   ];
 
+  pythonImportsCheck = [
+    "diskcache"
+  ];
+
   meta = with lib; {
     description = "Disk and file backed persistent cache";
     homepage = "http://www.grantjenks.com/docs/diskcache/";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/distlib/default.nix b/nixpkgs/pkgs/development/python-modules/distlib/default.nix
index 1c565b3f158b..ec4e8ecdc6f5 100644
--- a/nixpkgs/pkgs/development/python-modules/distlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/distributed/default.nix b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
index 6dfb531a78b6..08e38f2a1498 100644
--- a/nixpkgs/pkgs/development/python-modules/distributed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2021.11.2";
+  version = "2021.12.0";
   disabled = pythonOlder "3.6";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f86a01a2e1e678865d2e42300c47552b5012cd81a2d354e47827a1fd074cc302";
+    sha256 = "c6119a2cf1fb2d8ac60337915bb9a790af6530afcb5d7a809a3308323b874714";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix b/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix
index ee2d8e2f21e8..b10b8ec93136 100644
--- a/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dj-email-url/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.2";
+  version = "1.0.5";
   pname = "dj-email-url";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "838fd4ded9deba53ae757debef431e25fa7fca31d3948b3c4808ccdc84fab2b7";
+    sha256 = "sha256-7zb4oyTsV8875cen70TtaQDKAghiSpGKszrcHPZCezk=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
index 143e76cf0d87..a68cfd6d9cdf 100644
--- a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "django-allauth";
-  version = "0.40.0";
+  version = "0.47.0";
 
   # no tests on PyPI
   src = fetchFromGitHub {
     owner = "pennersr";
     repo = pname;
     rev = version;
-    sha256 = "10id4k01p1hg5agb8cmllg8mv4kc7ryl75br10idwxabqqp4vla1";
+    sha256 = "sha256-wKrsute6TCl331UrxNEBf/zTtGnyGHsOZQwdiicbg2o=";
   };
 
   propagatedBuildInputs = [ requests requests_oauthlib django python3-openid ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix b/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix
index 06dd78989fe0..86134f9d1789 100644
--- a/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "django-anymail";
-  version = "8.4";
+  version = "8.5";
 
   src = fetchFromGitHub {
     owner = "anymail";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08ac24hrafkk1jg3milfjky3qni1cz5qggp1rgzq9r7ina4akjma";
+    sha256 = "1p2c7hf9baxr8khk8h7y8d38imw4zm920dgd9nbda18vlh7gpbcf";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix b/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
index ab329cd37aba..ffd4796f2a57 100644
--- a/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix b/nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix
index 240598cf1841..9a399ed6ed94 100644
--- a/nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-cleanup/default.nix
@@ -3,10 +3,10 @@
 
 buildPythonPackage rec {
   pname = "django-cleanup";
-  version = "5.2.0";
+  version = "6.0.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "909d10ff574f5ce1a40fa63bd5c94c9ed866fd7ae770994c46cdf66c3db3e846";
+    sha256 = "922e06ef8839c92bd3ab37a84db6058b8764f3fe44dbb4487bbca941d288280a";
   };
 
   checkInputs = [ django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix b/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix
index 68451cc8d8db..f67ea344be92 100644
--- a/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "django-debug-toolbar";
-  version = "3.2.2";
+  version = "3.2.4";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = pname;
     rev = version;
-    sha256 = "1dgb3s449nasbnqd5xfikxrfhwwilwlgrw9nv4bfkapvkzpdszjk";
+    sha256 = "1008yzxxs1cp1wc0xcc9xskc3f7naxc4srv1sikiank1bc3479ha";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
index 541f0434ec00..c4b023886935 100644
--- a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
@@ -1,59 +1,54 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, django
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, django
 , factory_boy
-, glibcLocales
 , mock
 , pygments
-, pytest
-, pytest-cov
 , pytest-django
-, python-dateutil
+, pytestCheckHook
 , shortuuid
-, six
-, tox
-, typing ? null
 , vobject
 , werkzeug
 }:
 
 buildPythonPackage rec {
   pname = "django-extensions";
-  version = "3.1.3";
+  version = "3.1.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "03mhikhh49z8bxajbjf1j790b9c9vl4zf4f86iwz7g0zrd7jqlvm";
+    sha256 = "sha256-NAMa78KhAuoJfp0Cb0Codz84sRfRQ1JhSLNYRI4GBPM=";
   };
 
-  LC_ALL = "en_US.UTF-8";
-  __darwinAllowLocalNetworking = true;
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=django_extensions --cov-report html --cov-report term" ""
+  '';
 
-  propagatedBuildInputs = [ six ]
-    ++ lib.optional (pythonOlder "3.5") typing;
+  propagatedBuildInputs = [
+    django
+  ];
+
+  __darwinAllowLocalNetworking = true;
 
   checkInputs = [
-    django
     factory_boy
-    glibcLocales
     mock
     pygments # not explicitly declared in setup.py, but some tests require it
-    pytest
-    pytest-cov
     pytest-django
-    python-dateutil
+    pytestCheckHook
     shortuuid
-    tox
     vobject
     werkzeug
   ];
 
-  # remove tests that need network access
-  checkPhase = ''
-    rm tests/management/commands/test_pipchecker.py
-    DJANGO_SETTINGS_MODULE=tests.testapp.settings \
-      pytest django_extensions tests
-  '';
+  disabledTestPaths = [
+    # requires network access
+    "tests/management/commands/test_pipchecker.py"
+  ];
 
   meta = with lib; {
     description = "A collection of custom extensions for the Django Framework";
diff --git a/nixpkgs/pkgs/development/python-modules/django-maintenance-mode/default.nix b/nixpkgs/pkgs/development/python-modules/django-maintenance-mode/default.nix
index b4d90da08808..86bcc85eb0ae 100644
--- a/nixpkgs/pkgs/development/python-modules/django-maintenance-mode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-maintenance-mode/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "django-maintenance-mode";
-  version = "0.14.0";
+  version = "0.16.2";
 
   src = fetchFromGitHub {
     owner = "fabiocaccamo";
     repo = pname;
     rev = version;
-    sha256 = "1k06fhqd8wyrkp795x5j2r328l2phqgg1m1qm7fh4l2qrha43aw6";
+    sha256 = "0krcq04pf4g50q88l7q1wc53jgkhjmvif3acghfqq8c3s2y7mbz7";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
index e7cb4814cb48..eca67211671c 100644
--- a/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
@@ -1,22 +1,58 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, django, requests, oauthlib
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# propagates
+, django
+, jwcrypto
+, requests
+, oauthlib
+
+# tests
+, djangorestframework
+, pytest-django
+, pytest-xdist
+, pytest-mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "django-oauth-toolkit";
-  version = "1.2.0";
+  version = "1.7.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = pname;
     rev = version;
-    sha256 = "1zbksxrcxlqnapmlvx4rgvpqc4plgnq0xnf45cjwzwi1626zs8g6";
+    sha256 = "0rp7pjif54yvdxfxn0pnf8ha3fjxspnx1ijyr1f8npwk2x5vnvhb";
   };
 
-  propagatedBuildInputs = [ django requests oauthlib ];
+  postPatch = ''
+    sed -i '/cov/d' tox.ini
+  '';
+
+  propagatedBuildInputs = [
+    django
+    jwcrypto
+    oauthlib
+    requests
+  ];
+
+  DJANGO_SETTINGS_MODULE = "tests.settings";
+
+  checkInputs = [
+    djangorestframework
+    pytest-django
+    pytest-xdist
+    pytest-mock
+    pytestCheckHook
+  ];
 
-  # django.core.exceptions.ImproperlyConfigured: Requested setting OAUTH2_PROVIDER, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
-  doCheck = false;
+  disabledTests = [
+    # Failed to get a valid response from authentication server. Status code: 404, Reason: Not Found.
+    "test_response_when_auth_server_response_return_404"
+  ];
 
   meta = with lib; {
     description = "OAuth2 goodies for the Djangonauts";
diff --git a/nixpkgs/pkgs/development/python-modules/django-redis/default.nix b/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
index b088876b3e4a..1ad52e22d0ff 100644
--- a/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
@@ -19,7 +19,7 @@
 
 let
   pname = "django-redis";
-  version = "5.1.0";
+  version = "5.2.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -30,7 +30,7 @@ buildPythonPackage {
     owner = "jazzband";
     repo = "django-redis";
     rev = version;
-    sha256 = "sha256-S94qH2W5e65yzGfPxpwBUKhvvVS0Uc/zSyo66bnvzf4=";
+    sha256 = "sha256-e8wCgfxBT+WKFY4H83CTMirTpQym3QAoeWnXbRCDO90=";
   };
 
   postPatch = ''
@@ -53,6 +53,11 @@ buildPythonPackage {
 
   preCheck = ''
     ${pkgs.redis}/bin/redis-server &
+    REDIS_PID=$!
+  '';
+
+  postCheck = ''
+    kill $REDIS_PID
   '';
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix b/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix
index 7f7cfd2b4bcb..9fa31b871e7e 100644
--- a/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "django-taggit";
-  version = "1.5.1";
+  version = "2.1.0";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e5bb62891f458d55332e36a32e19c08d20142c43f74bc5656c803f8af25c084a";
+    sha256 = "a9f41e4ad58efe4b28d86f274728ee87eb98eeae90c9eb4b4efad39e5068184e";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-timezone-field/default.nix b/nixpkgs/pkgs/development/python-modules/django-timezone-field/default.nix
index 0bbdac356cd0..5d43afc77949 100644
--- a/nixpkgs/pkgs/development/python-modules/django-timezone-field/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/django-widget-tweaks/default.nix b/nixpkgs/pkgs/development/python-modules/django-widget-tweaks/default.nix
index 853e12327d32..63e575b63454 100644
--- a/nixpkgs/pkgs/development/python-modules/django-widget-tweaks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/django/2.nix b/nixpkgs/pkgs/development/python-modules/django/2.nix
index c1e5139d3015..c4df27beaaa2 100644
--- a/nixpkgs/pkgs/development/python-modules/django/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.24";
+  version = "2.2.27";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dvx3x85lggm91x7mpvaf9nmpxyz7r97pbpnmr2k1qfy0c7gyf9k";
+    sha256 = "sha256-HuNwRrC/K2HoOzoB0GcyNRbsO28rF81JsTJt1LqdyRM=";
   };
 
   patches = lib.optional withGdal
diff --git a/nixpkgs/pkgs/development/python-modules/django/3.nix b/nixpkgs/pkgs/development/python-modules/django/3.nix
index 9b8aa8cba8f4..3ed7024c3499 100644
--- a/nixpkgs/pkgs/development/python-modules/django/3.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/3.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "3.2.9";
+  version = "3.2.12";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "51284300f1522ffcdb07ccbdf676a307c6678659e1284f0618e5a774127a6a08";
+    sha256 = "sha256-l3Lmk1cD5Z6ZOWCDLWamFM8CM6HFEjvGIk7MataeQeI=";
   };
 
   patches = lib.optional withGdal
diff --git a/nixpkgs/pkgs/development/python-modules/django/4.nix b/nixpkgs/pkgs/development/python-modules/django/4.nix
new file mode 100644
index 000000000000..eb24edb4bff1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/django/django_4_set_geos_gdal_lib.patch b/nixpkgs/pkgs/development/python-modules/django/django_4_set_geos_gdal_lib.patch
new file mode 100644
index 000000000000..da73a93e8f22
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/django_classytags/default.nix b/nixpkgs/pkgs/development/python-modules/django_classytags/default.nix
index 2ef8639c17e6..d7d2e8789ae7 100644
--- a/nixpkgs/pkgs/development/python-modules/django_classytags/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_classytags/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "django-classy-tags";
-  version = "2.0.0";
+  version = "3.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d59d98bdf96a764dcf7a2929a86439d023b283a9152492811c7e44fc47555bc9";
+    sha256 = "sha256-0iK0VQKsmeVQpWZmeDnvrvlUucc2amST8UOGKqvqyHg=";
   };
 
   propagatedBuildInputs = [ django six ];
diff --git a/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix b/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
index 9685e55bb1c3..c7bda13dd9ab 100644
--- a/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_guardian/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, django_environ, mock, django
+, django-environ, mock, django
 , pytest, pytest-runner, pytest-django
 }:
 buildPythonPackage rec {
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "c58a68ae76922d33e6bdc0e69af1892097838de56e93e78a8361090bcd9f89a0";
   };
 
-  checkInputs = [ pytest pytest-runner pytest-django django_environ mock ];
+  checkInputs = [ pytest pytest-runner pytest-django django-environ mock ];
   propagatedBuildInputs = [ django ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix b/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
index 97836b247a33..1bf4d6b4dab5 100644
--- a/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_reversion/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "4.0.1";
+  version = "4.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6991f16e5d3a972912db3d56e3a714d10b07becd566ab87f85f2e9b671981339";
+    sha256 = "sha256-XTO6lE2/GccDDJ5w43MSSK40Nozyr+3hDg0I+/ieb4w=";
   };
 
   # tests assume the availability of a mysql/postgresql database
diff --git a/nixpkgs/pkgs/development/python-modules/djangoql/default.nix b/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
index facfc2fafcdb..f0550a296aa9 100644
--- a/nixpkgs/pkgs/development/python-modules/djangoql/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix b/nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix
new file mode 100644
index 000000000000..14ceebf0a19b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dm-haiku/default.nix
@@ -0,0 +1,61 @@
+{ buildPythonPackage
+, chex
+, cloudpickle
+, dill
+, dm-tree
+, fetchFromGitHub
+, jaxlib
+, jmp
+, lib
+, pytestCheckHook
+, tabulate
+, tensorflow
+}:
+
+buildPythonPackage rec {
+  pname = "dm-haiku";
+  version = "0.0.5";
+
+  src = fetchFromGitHub {
+    owner = "deepmind";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1mdqjcka0m1div63ngba8w8z94id4c1h8xqmnq1xpmgkc79224wa";
+  };
+
+  propagatedBuildInputs = [
+    jmp
+    tabulate
+  ];
+
+  checkInputs = [
+    chex
+    cloudpickle
+    dm-tree
+    jaxlib
+    pytestCheckHook
+    tensorflow
+  ];
+
+  pythonImportsCheck = [
+    "haiku"
+  ];
+
+  disabledTestPaths = [
+    # These tests require `bsuite` which isn't packaged in `nixpkgs`.
+    "examples/impala_lite_test.py"
+    "examples/impala/actor_test.py"
+    "examples/impala/learner_test.py"
+    # This test breaks on multiple cases with TF-related errors,
+    # likely that's the reason the upstream uses TF-nightly for tests?
+    # `nixpkgs` doesn't have the corresponding TF version packaged.
+    "haiku/_src/integration/jax2tf_test.py"
+  ];
+
+  meta = with lib; {
+    description = "Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet.";
+    homepage = "https://github.com/deepmind/dm-haiku";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dm-sonnet/default.nix b/nixpkgs/pkgs/development/python-modules/dm-sonnet/default.nix
index f465ac200d42..3820fdd1e36c 100644
--- a/nixpkgs/pkgs/development/python-modules/dm-sonnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dm-sonnet/default.nix
@@ -86,5 +86,6 @@ in buildPythonPackage {
     license = licenses.asl20;
     maintainers = with maintainers; [ timokau ];
     platforms = platforms.linux;
+    broken = true; # depends on older TensorFlow version than is currently packaged
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dnslib/default.nix b/nixpkgs/pkgs/development/python-modules/dnslib/default.nix
index 7e0402999f03..0f4ec03f5ff3 100644
--- a/nixpkgs/pkgs/development/python-modules/dnslib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dnslib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "dnslib";
-  version = "0.9.16";
+  version = "0.9.19";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d66b43d563d60c469117c8cb615843e7d05bf8fb2e6cb00a637281d26b7ec7d";
+    sha256 = "a6e36ca96c289e2cb4ac6aa05c037cbef318401ba8ff04a8676892ca79749c77";
   };
 
   checkPhase = "VERSIONS=${python.interpreter} ./run_tests.sh";
diff --git a/nixpkgs/pkgs/development/python-modules/dnspython/default.nix b/nixpkgs/pkgs/development/python-modules/dnspython/default.nix
index 56e69aac0443..40b3d7a36dec 100644
--- a/nixpkgs/pkgs/development/python-modules/dnspython/default.nix
+++ b/nixpkgs/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 = "http://www.dnspython.org";
+    homepage = "https://www.dnspython.org";
     license = with licenses; [ isc ];
+    maintainers = with maintainers; [ gador ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/doc8/default.nix b/nixpkgs/pkgs/development/python-modules/doc8/default.nix
index dbfb857614e1..61c4ca6890a1 100644
--- a/nixpkgs/pkgs/development/python-modules/doc8/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix b/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix
index 5b89c6bdb912..66e5d5d54686 100644
--- a/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "dogpile-cache";
-  version = "1.1.4";
+  version = "1.1.5";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "dogpile.cache";
     inherit version;
-    sha256 = "ea09bebf24bb7c028caf98963785fe9ad0bd397305849a3303bc5380d468d813";
+    sha256 = "0f01bdc329329a8289af9705ff40fadb1f82a28c336f3174e12142b70d31c756";
   };
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/doit/default.nix b/nixpkgs/pkgs/development/python-modules/doit/default.nix
index 4ceb8e71f648..c7c66fceaa7c 100644
--- a/nixpkgs/pkgs/development/python-modules/doit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/doit/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "doit";
-  version = "0.33.1";
+  version = "0.34.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "37c3b35c2151647b968b2af24481112b2f813c30f695366db0639d529190a143";
+    sha256 = "sha256-OIER+Kals7RGIM7rKH0FhZJ8hdDW0/h5DTT7tFwM9sM=";
   };
 
   propagatedBuildInputs = [ cloudpickle ]
diff --git a/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix b/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix
index e0c25c77e53c..9d99709c9166 100644
--- a/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "downloader-cli";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "deepjyoti30";
     repo = pname;
     rev = version;
-    sha256 = "0gbbjxb9vf5g890cls3mwzl8lmcn6jkpgm5cbrif740mn2b4q228";
+    sha256 = "0hjwy3qa6al6p35pv01sdl3szh7asf6vlmhwjbkpppn4zi239k0y";
   };
 
   propagatedBuildInputs = [ urllib3 ];
diff --git a/nixpkgs/pkgs/development/python-modules/dpath/default.nix b/nixpkgs/pkgs/development/python-modules/dpath/default.nix
index c9f3d5be6d49..b6f0176dd737 100644
--- a/nixpkgs/pkgs/development/python-modules/dpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dpath/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "dpath";
-  version = "2.0.5";
+  version = "2.0.6";
 
   disabled = isPy27; # uses python3 imports
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kk7wl15r305496q13ka4r6n2r13j99rrrpy2b4575j704dk4x7g";
+    sha256 = "sha256-Wh3a5SIz+8jvgbFfuFBzqBEmu0NpjT86G2qvVhpGzcA=";
   };
 
   # use pytest as nosetests hangs
diff --git a/nixpkgs/pkgs/development/python-modules/dragonfly/default.nix b/nixpkgs/pkgs/development/python-modules/dragonfly/default.nix
index fb3feaae63ee..82e1a645c853 100644
--- a/nixpkgs/pkgs/development/python-modules/dragonfly/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/drf-jwt/default.nix b/nixpkgs/pkgs/development/python-modules/drf-jwt/default.nix
index 2cf125c8df35..1b2292b46b7a 100644
--- a/nixpkgs/pkgs/development/python-modules/drf-jwt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/drf-jwt/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "drf-jwt";
-  version = "1.19.1";
+  version = "1.19.2";
 
   src = fetchFromGitHub {
     owner = "Styria-Digital";
     repo = "django-rest-framework-jwt";
     rev = version;
-    sha256 = "sha256-++8rFXVsA5WMTt+aC4di3Rpa0BAW285/qM087i9uQ0g=";
+    hash = "sha256-bbkk78uYTG+JTzY3AyOmEVtVSgout/TETfr5N5fUto4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/drms/default.nix b/nixpkgs/pkgs/development/python-modules/drms/default.nix
index 1bc5d380b08e..a081a7445c4a 100644
--- a/nixpkgs/pkgs/development/python-modules/drms/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dropbox/default.nix b/nixpkgs/pkgs/development/python-modules/dropbox/default.nix
index e43f7d7f2d1d..8f53ff4ebbf7 100644
--- a/nixpkgs/pkgs/development/python-modules/dropbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dropbox/default.nix
@@ -1,32 +1,51 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, requests, urllib3, mock, setuptools, stone }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, urllib3
+, mock
+, setuptools
+, stone
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "dropbox";
-  version = "11.25.0";
+  version = "11.27.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "dropbox";
     repo = "dropbox-sdk-python";
     rev = "v${version}";
-    sha256 = "1ln6m6wiym5608i26abs8a5nm4mnn7s3czhnpg9nyjyndnr7k0xj";
+    sha256 = "sha256-atIrrK4BgTfu0UaHTqJ66AxEeSJLanrmYx8myrOCOfo=";
   };
 
+  propagatedBuildInputs = [
+    requests
+    urllib3
+    mock
+    setuptools
+    stone
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace "'pytest-runner == 5.2.0'," ""
   '';
 
-  propagatedBuildInputs = [ requests urllib3 mock setuptools stone ];
-
   # Set DROPBOX_TOKEN environment variable to a valid token.
   doCheck = false;
 
-  pythonImportsCheck = [ "dropbox" ];
+  pythonImportsCheck = [
+    "dropbox"
+  ];
 
   meta = with lib; {
-    description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
-    homepage = "https://www.dropbox.com/developers/core/docs";
+    description = "Python library for Dropbox's HTTP-based Core and Datastore APIs";
+    homepage = "https://github.com/dropbox/dropbox-sdk-python";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/dsinternals/default.nix b/nixpkgs/pkgs/development/python-modules/dsinternals/default.nix
new file mode 100644
index 000000000000..53d5e5acc9ff
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix b/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
index b666e4c210f5..e8a94fb5e859 100644
--- a/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/duckdb/default.nix b/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
index 6e47e4eb389a..787a54f26769 100644
--- a/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
@@ -1,10 +1,10 @@
 { lib
 , buildPythonPackage
 , duckdb
+, mypy
 , numpy
 , pandas
 , pybind11
-, mypy
 , setuptools-scm
 , pytestCheckHook
 }:
diff --git a/nixpkgs/pkgs/development/python-modules/dufte/default.nix b/nixpkgs/pkgs/development/python-modules/dufte/default.nix
index b9a96cbc8298..92081e08067c 100644
--- a/nixpkgs/pkgs/development/python-modules/dufte/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dufte/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "dufte";
-  version = "0.2.27";
+  version = "0.2.29";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "nschloe";
     repo = pname;
-    rev = version;
-    sha256 = "1i68h224hx9clxj3l0rd2yigsi6fqsr3x10vj5hf3j6s69iah7r3";
+    rev = "v${version}";
+    hash = "sha256:0ccsmpj160xj6w503a948aw8icj55mw9414xnmijmmjvlwhm0p48";
   };
   format = "pyproject";
 
@@ -28,6 +28,13 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    mkdir -p $HOME/.config/matplotlib
+    echo "backend: ps" > $HOME/.config/matplotlib/matplotlibrc
+    ln -s $HOME/.config/matplotlib $HOME/.matplotlib
+  '';
+
   checkInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/dulwich/default.nix b/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
index a0c7706c2ff1..ad0a853af226 100644
--- a/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dulwich/default.nix
@@ -12,15 +12,19 @@
 , mock
 , pkgs
 , urllib3
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "0.20.26";
+  version = "0.20.32";
   pname = "dulwich";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-OKpQ+FnI6lMHGgScPx1cxU99xgpBNqGrYxdWp59lgrU=";
+    hash = "sha256-3FSYsHK9wSwe/+9LYgLNKkVCuxxtu03c/IxtU+CLSIw=";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -43,7 +47,9 @@ buildPythonPackage rec {
 
   doCheck = !stdenv.isDarwin;
 
-  pythonImportsCheck = [ "dulwich" ];
+  pythonImportsCheck = [
+    "dulwich"
+  ];
 
   meta = with lib; {
     description = "Simple Python implementation of the Git file formats and protocols";
diff --git a/nixpkgs/pkgs/development/python-modules/dwdwfsapi/default.nix b/nixpkgs/pkgs/development/python-modules/dwdwfsapi/default.nix
index 1a68e7474af0..b6bb2927cc0c 100644
--- a/nixpkgs/pkgs/development/python-modules/dwdwfsapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dwdwfsapi/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "dwdwfsapi";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JOIg6rLrU8v39z1I6smIPEeiUPdSdJcD2avUsTQq+bU=";
+    sha256 = "8541eb93a6323bec6a2281aa06667e72b02c8e5fac40f899c402089b1c774472";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix b/nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix
new file mode 100644
index 000000000000..dafbcfc2f5cd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix b/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix
index e896e79908b6..275d9aa6ef2c 100644
--- a/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/easy-thumbnails/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "easy-thumbnails";
-  version = "2.8";
+  version = "2.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd2249d936671847fc54a2d6c8c87bcca8f803001967dd03bab6b8bcb7590825";
+    sha256 = "1a283fe8a3569c3feab4605e8279929d75c85c1151b2fd627f95b1863b5fc6c2";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/eebrightbox/default.nix b/nixpkgs/pkgs/development/python-modules/eebrightbox/default.nix
deleted file mode 100644
index d8050b9bf5e3..000000000000
--- a/nixpkgs/pkgs/development/python-modules/eebrightbox/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pbr
-, calmjs-parse
-, certifi
-, chardet
-, idna
-, ply
-, requests
-, urllib3
-, httpretty
-, pytestCheckHook
-}:
-
-buildPythonPackage rec {
-  pname = "eebrightbox";
-  version = "0.0.6";
-
-  src = fetchFromGitHub {
-    owner = "krygal";
-    repo = "eebrightbox";
-    rev = version;
-    sha256 = "1kms240g01871qbvyc5rzf86yxsrlnfvp323jh4k35fpf45z44rr";
-  };
-
-  postPatch = ''
-    substituteInPlace requirements.txt --replace "==" ">="
-  '';
-
-  nativeBuildInputs = [
-    pbr
-  ];
-
-  PBR_VERSION = version;
-
-  propagatedBuildInputs = [
-    calmjs-parse
-    certifi
-    chardet
-    idna
-    ply
-    requests
-    urllib3
-  ];
-
-  checkInputs = [
-    httpretty
-    pytestCheckHook
-  ];
-
-  meta = with lib; {
-    description = "Connector for EE BrightBox routers";
-    homepage = "https://github.com/krygal/eebrightbox";
-    license = licenses.mit;
-    maintainers = with maintainers; [ dotlambda ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/einops/default.nix b/nixpkgs/pkgs/development/python-modules/einops/default.nix
index a2de3a70971d..18b8d671c98a 100644
--- a/nixpkgs/pkgs/development/python-modules/einops/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/einops/default.nix
@@ -44,6 +44,11 @@ buildPythonPackage rec {
 
   checkPhase = ''
     export HOME=$TMPDIR
+
+    # Prevent hangs on PyTorch-related tests, see
+    # https://discuss.pytorch.org/t/pytorch-cpu-hangs-on-nn-linear/17748/4
+    export OMP_NUM_THREADS=1
+
     nosetests -v -w tests
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/eiswarnung/default.nix b/nixpkgs/pkgs/development/python-modules/eiswarnung/default.nix
new file mode 100644
index 000000000000..87ff2a4287ac
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
index 81bc807a1347..73a3882927c2 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/nixpkgs/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.1";
+  version = "7.16.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c024ee2e7e2509c842c4e3c5e2b99a92ceecfde06d6dac2d32a19bf566c3e175";
+    sha256 = "8adf8bc351ed55df7296be1009d38a1c999c0abc7d8700fa88533f1ad6087c5e";
   };
 
   # Check is disabled because running them destroy the content of the local cluster!
diff --git a/nixpkgs/pkgs/development/python-modules/elegy/default.nix b/nixpkgs/pkgs/development/python-modules/elegy/default.nix
new file mode 100644
index 000000000000..5b0cb293c0a3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/elegy/default.nix
@@ -0,0 +1,78 @@
+{ buildPythonPackage
+, cloudpickle
+, deepdish
+, deepmerge
+, dm-haiku
+, fetchFromGitHub
+, jaxlib
+, lib
+, poetry
+, pytestCheckHook
+, pytorch
+, pyyaml
+, sh
+, tables
+, tabulate
+, tensorboardx
+, tensorflow
+, toolz
+, treex
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "elegy";
+  version = "0.8.4";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "poets-ai";
+    repo = pname;
+    rev = version;
+    sha256 = "11w8lgl31b52w2qri8j8cgzd30sn8i3769g8nkkshvgkjgca9r4g";
+  };
+
+  nativeBuildInputs = [
+    poetry
+  ];
+
+  buildInputs = [ jaxlib ];
+
+  propagatedBuildInputs = [
+    cloudpickle
+    deepdish
+    deepmerge
+    dm-haiku
+    pyyaml
+    tables
+    tabulate
+    tensorboardx
+    toolz
+    treex
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [
+    "elegy"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytorch
+    sh
+    tensorflow
+  ];
+
+  disabledTests = [
+    # Fails with `Could not find compiler for platform Host: NOT_FOUND: could not find registered compiler for platform Host -- check target linkage`.
+    # Runs fine in docker with Ubuntu 22.04. I suspect the issue is the sandboxing in `nixpkgs` but not sure.
+    "test_saved_model_poly"
+  ];
+
+  meta = with lib; {
+    description = "Neural Networks framework based on Jax inspired by Keras and Haiku";
+    homepage = "https://github.com/poets-ai/elegy";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/elgato/default.nix b/nixpkgs/pkgs/development/python-modules/elgato/default.nix
index d0c072901c35..2a6c10da35e7 100644
--- a/nixpkgs/pkgs/development/python-modules/elgato/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elgato/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "elgato";
-  version = "2.2.0";
+  version = "3.0.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-elgato";
     rev = "v${version}";
-    sha256 = "sha256-xsIglJSnvtd3NKqwoRAonPRN+C9KWyar0mrYcC3hPpw=";
+    sha256 = "sha256-lGHRwDxxgi1QJvK3WrvwghoAZk5J1mdwD4+Is0n7Jgs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/emoji/default.nix b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
index 1497b412d741..76579e4dd89f 100644
--- a/nixpkgs/pkgs/development/python-modules/emoji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "carpedm20";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1g927w9l3j5mycg6pqa4vjk2lyy35sppfp8pbzb6mvca500001rk";
+    sha256 = "sha256-0QOtsHGhqbjaEDpSbUXdE8+u6xzWbrTexx+BAeYwKa8=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/empty-files/default.nix b/nixpkgs/pkgs/development/python-modules/empty-files/default.nix
new file mode 100644
index 000000000000..b6c31519efcd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/emv/default.nix b/nixpkgs/pkgs/development/python-modules/emv/default.nix
index d688e1e22e66..a4834a84656b 100644
--- a/nixpkgs/pkgs/development/python-modules/emv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emv/default.nix
@@ -39,7 +39,9 @@ buildPythonPackage rec {
       --replace '"enum-compat==0.0.3",' "" \
       --replace '"argparse==1.4.0",' "" \
       --replace "click==7.1.2" "click" \
-      --replace "pyscard==2.0.0" "pyscard"
+      --replace "pyscard==2.0.0" "pyscard" \
+      --replace "pycountry==20.7.3" "pycountry" \
+      --replace "terminaltables==3.1.0" "terminaltables"
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/enaml/default.nix b/nixpkgs/pkgs/development/python-modules/enaml/default.nix
index 8257af2e45fe..9e6a910b2ba9 100644
--- a/nixpkgs/pkgs/development/python-modules/enaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enaml/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "enaml";
-  version = "0.13.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "nucleic";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8ZahvFDYW7xUTSTZP1UXnQBCg9RVUywoO7EbqtTQPJI=";
+    sha256 = "sha256-QfI7cwl2c5HOlFNNdG+oOv48X9jJZnZNU/kWgutWe6k=";
   };
 
   # qt bindings cannot be found during tests
diff --git a/nixpkgs/pkgs/development/python-modules/enamlx/default.nix b/nixpkgs/pkgs/development/python-modules/enamlx/default.nix
index 21cc4512386f..46d5ee725c75 100644
--- a/nixpkgs/pkgs/development/python-modules/enamlx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enamlx/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "enamlx";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "frmdstryr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fwfh5h1l68zwkjayf71dmxrhjbscsh87p4mskzkwwaj5cxsva90";
+    sha256 = "10sn7wd4fjz8nkzprd8wa5da5dg8w91r0rngqaipwnpq1dz54b5s";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/enlighten/default.nix b/nixpkgs/pkgs/development/python-modules/enlighten/default.nix
index 8f58720bd264..b6d31ddaf947 100644
--- a/nixpkgs/pkgs/development/python-modules/enlighten/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/enrich/default.nix b/nixpkgs/pkgs/development/python-modules/enrich/default.nix
index 2b81577af22d..fbd22a42b555 100644
--- a/nixpkgs/pkgs/development/python-modules/enrich/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enrich/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "enrich";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Dpn/V9h/e13vDKeZF+iPuTUaoNUuIo7ji/982FgxX+Q=";
+    sha256 = "0a2ab0d2931dff8947012602d1234d2a3ee002d9a355b5d70be6bf5466008893";
   };
 
   buildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/entrypoint2/default.nix b/nixpkgs/pkgs/development/python-modules/entrypoint2/default.nix
index d1325f6f0e10..73ede85fb886 100644
--- a/nixpkgs/pkgs/development/python-modules/entrypoint2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/entrypoint2/default.nix
@@ -1,31 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi, EasyProcess, pathpy, pytest }:
+{ lib, buildPythonPackage, fetchPypi, EasyProcess, pathpy, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "entrypoint2";
-  version = "0.2.4";
+  version = "1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4770c3afcf3865c606a6e5f7cfcc5c59212f555fcee9b2540270399149c1dde3";
+    sha256 = "sha256-Z+kG9q2VjYP0i07ewo192CZw6SYZiPa0prY6vJ+zvlY=";
   };
 
-  propagatedBuildInputs = [ ];
-
   pythonImportsCheck = [ "entrypoint2" ];
 
-  # argparse is part of the standardlib
-  prePatch = ''
-    substituteInPlace setup.py --replace "argparse" ""
-  '';
-
-  checkInputs = [ EasyProcess pathpy pytest ];
-
-  # 0.2.1 has incompatible pycache files included
-  # https://github.com/ponty/entrypoint2/issues/8
-  checkPhase = ''
-    rm -rf tests/__pycache__
-    pytest tests
-  '';
+  checkInputs = [ EasyProcess pathpy pytestCheckHook ];
 
   meta = with lib; {
     description = "Easy to use command-line interface for python modules";
diff --git a/nixpkgs/pkgs/development/python-modules/enturclient/default.nix b/nixpkgs/pkgs/development/python-modules/enturclient/default.nix
index 07363a379b1f..b114c794ae3f 100644
--- a/nixpkgs/pkgs/development/python-modules/enturclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enturclient/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "enturclient";
-  version = "0.2.2";
+  version = "0.2.3";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "hfurubotten";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kl44ch8p31pr70yv6na2m0w40frackdwzph9rpb05sc83va701i";
+    sha256 = "1w0791f4p3yyncc1izx3q97fyaky2ling14qr0yn0acrmq9yh5cc";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/env-canada/default.nix b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
index f755d545598c..32b3098ffc73 100644
--- a/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.5.18";
+  version = "0.5.20";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "v${version}";
-    sha256 = "1w2fclpmcb41k2a3226jk62hdclc8b18kxih2ads90r4yxgpxc8p";
+    sha256 = "sha256-gYl5+rtOzci3nhgP74VM37tNk9pPWgcNBfcSSG1fSJs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/environs/default.nix b/nixpkgs/pkgs/development/python-modules/environs/default.nix
index 04bb5dda00ea..4a8987b16346 100644
--- a/nixpkgs/pkgs/development/python-modules/environs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/environs/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "environs";
-  version = "9.3.5";
+  version = "9.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "sloria";
     repo = pname;
     rev = version;
-    sha256 = "sha256-4jyqdA/xoIEsfouIneGs3A9++sNG2kRUhDzteN0Td6w=";
+    sha256 = "sha256-hucApIn7ul7+MC2W811VTxZNO8Pqb6HDXz9VRcEdmIc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/envisage/default.nix b/nixpkgs/pkgs/development/python-modules/envisage/default.nix
index b8513fd1d9ae..f40ab66baabd 100644
--- a/nixpkgs/pkgs/development/python-modules/envisage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/envisage/default.nix
@@ -1,19 +1,21 @@
 { lib
-, fetchPypi
-, isPy27
-, buildPythonPackage
-, traits
 , apptools
-, pytestCheckHook
+, buildPythonPackage
+, fetchPypi
 , ipython
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
 , setuptools
+, traits
 }:
 
 buildPythonPackage rec {
   pname = "envisage";
   version = "6.0.1";
+  format = "setuptools";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
@@ -22,7 +24,11 @@ buildPythonPackage rec {
 
   # for the optional dependency ipykernel, only versions < 6 are
   # supported, so it's not included in the tests, and not propagated
-  propagatedBuildInputs = [ traits apptools setuptools ];
+  propagatedBuildInputs = [
+    traits
+    apptools
+    setuptools
+  ];
 
   preCheck = ''
     export HOME=$PWD/HOME
@@ -33,10 +39,20 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/enthought/envisage/issues/455
+    "envisage/tests/test_egg_basket_plugin_manager.py"
+    "envisage/tests/test_egg_plugin_manager.py"
+  ];
+
+  pythonImportsCheck = [
+    "envisage"
+  ];
+
   meta = with lib; {
-    description = "Framework for building applications whose functionalities can be extended by adding 'plug-ins'";
+    description = "Framework for building applications whose functionalities can be extended by adding plug-ins";
     homepage = "https://github.com/enthought/envisage";
-    maintainers = with lib.maintainers; [ knedlsepp ];
     license = licenses.bsdOriginal;
+    maintainers = with lib.maintainers; [ knedlsepp ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/envoy-reader/default.nix b/nixpkgs/pkgs/development/python-modules/envoy-reader/default.nix
index a327c3f457d2..497d46f2d840 100644
--- a/nixpkgs/pkgs/development/python-modules/envoy-reader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/envoy-reader/default.nix
@@ -1,30 +1,37 @@
 { lib
+, beautifulsoup4
 , buildPythonPackage
 , envoy-utils
 , fetchFromGitHub
 , fetchpatch
 , httpx
+, pyjwt
 , pytest-asyncio
-, pytest-raises
 , pytestCheckHook
+, pytest-raises
+, pythonOlder
 , respx
 }:
 
 buildPythonPackage rec {
   pname = "envoy-reader";
-  version = "0.20.0";
+  version = "0.21.3";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "jesserizzo";
     repo = "envoy_reader";
     rev = version;
-    sha256 = "sha256-nPB1Fvb1qwLHeFkXP2jXixD2ZGA09MtS1qXRhYGt0fM=";
+    sha256 = "sha256-aIpZ4ln4L57HwK8H0FqsyNnXosnAp3ingrJI6/MPS90=";
   };
 
   propagatedBuildInputs = [
+    beautifulsoup4
     envoy-utils
     httpx
+    pyjwt
   ];
 
   checkInputs = [
@@ -36,18 +43,10 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "pytest-runner>=5.2" ""
+      --replace "pytest-runner>=5.2" "" \
+      --replace "pyjwt==2.1.0" "pyjwt>=2.1.0"
   '';
 
-  patches = [
-    # Support for later httpx, https://github.com/jesserizzo/envoy_reader/pull/82
-    (fetchpatch {
-      name = "support-later-httpx.patch";
-      url = "https://github.com/jesserizzo/envoy_reader/commit/6019a89419fe9c830ba839be7d39ec54725268b0.patch";
-      sha256 = "17vsrx13rskvh8swvjisb2dk6x1jdbjcm8ikkpidia35pa24h272";
-    })
-  ];
-
   pythonImportsCheck = [
     "envoy_reader"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/ephem/default.nix b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
index 1e5db008dea9..a5a87f908d4f 100644
--- a/nixpkgs/pkgs/development/python-modules/ephem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ephem";
-  version = "4.1.1";
+  version = "4.1.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-26ngXHjOkQrnWgY1GlWSR5GRqNxXCsDNbRinfpgTiHM=";
+    sha256 = "sha256-f6GGhZgbpSjt1QQFKp1SEqCapb8VwRpzTtxqhuiotWo=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix b/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
index 66ff1ddc10ed..c98a0fc51529 100644
--- a/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/eth-utils/default.nix b/nixpkgs/pkgs/development/python-modules/eth-utils/default.nix
index 172647f0da70..9b26fb7024c0 100644
--- a/nixpkgs/pkgs/development/python-modules/eth-utils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ev3dev2/default.nix b/nixpkgs/pkgs/development/python-modules/ev3dev2/default.nix
index f6233db68dbc..5afbb7da655f 100644
--- a/nixpkgs/pkgs/development/python-modules/ev3dev2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/eventlet/default.nix b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
index 038b66a8efed..7c8f520647ee 100644
--- a/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 , dnspython
 , greenlet
@@ -10,22 +10,35 @@
 , nose
 , pyopenssl
 , iana-etc
+, pytestCheckHook
 , libredirect
 }:
 
 buildPythonPackage rec {
   pname = "eventlet";
   version = "0.33.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "80144f489c1bb273a51b6f96ff9785a382d2866b9bab1f5bd748385019f4141f";
+  src = fetchFromGitHub {
+    owner = "eventlet";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-kE/eYBbaTt1mPGoUIMhonvFBlQOdAfPU5GvCvPaRHvs=";
   };
 
-  propagatedBuildInputs = [ dnspython greenlet pyopenssl six ]
-    ++ lib.optional (pythonOlder "3.5") monotonic;
+  propagatedBuildInputs = [
+    dnspython
+    greenlet
+    pyopenssl
+    six
+  ] ++ lib.optional (pythonOlder "3.5") [
+    monotonic
+  ];
 
-  checkInputs = [ nose ];
+  checkInputs = [
+    pytestCheckHook
+    nose
+  ];
 
   doCheck = !stdenv.isDarwin;
 
@@ -37,23 +50,48 @@ buildPythonPackage rec {
     export EVENTLET_IMPORT_VERSION_ONLY=0
   '';
 
-  checkPhase = ''
-    runHook preCheck
+  disabledTests = [
+    # Tests requires network access
+    "test_017_ssl_zeroreturnerror"
+    "test_getaddrinfo"
+    "test_hosts_no_network"
+    "test_leakage_from_tracebacks"
+    "test_patcher_existing_locks_locked"
+  ];
 
-    # test_fork-after_monkey_patch fails on aarch64 on hydra only
-    #   AssertionError: Expected single line "pass" in stdout
-    nosetests --exclude test_getaddrinfo --exclude test_hosts_no_network --exclude test_fork_after_monkey_patch
-
-    runHook postCheck
-  '';
+  disabledTestPaths = [
+    # Tests are out-dated
+    "tests/stdlib/test_asynchat.py"
+    "tests/stdlib/test_asyncore.py"
+    "tests/stdlib/test_ftplib.py"
+    "tests/stdlib/test_httplib.py"
+    "tests/stdlib/test_httpservers.py"
+    "tests/stdlib/test_os.py"
+    "tests/stdlib/test_queue.py"
+    "tests/stdlib/test_select.py"
+    "tests/stdlib/test_SimpleHTTPServer.py"
+    "tests/stdlib/test_socket_ssl.py"
+    "tests/stdlib/test_socket.py"
+    "tests/stdlib/test_socketserver.py"
+    "tests/stdlib/test_ssl.py"
+    "tests/stdlib/test_subprocess.py"
+    "tests/stdlib/test_thread__boundedsem.py"
+    "tests/stdlib/test_thread.py"
+    "tests/stdlib/test_threading_local.py"
+    "tests/stdlib/test_threading.py"
+    "tests/stdlib/test_timeout.py"
+    "tests/stdlib/test_urllib.py"
+    "tests/stdlib/test_urllib2_localnet.py"
+    "tests/stdlib/test_urllib2.py"
+  ];
 
   # unfortunately, it needs /etc/protocol to be present to not fail
   # pythonImportsCheck = [ "eventlet" ];
 
   meta = with lib; {
-    homepage = "https://github.com/eventlet/eventlet/";
     description = "A concurrent networking library for Python";
-    maintainers = with maintainers; [ SuperSandro2000 ];
+    homepage = "https://github.com/eventlet/eventlet/";
     license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix b/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
index 6ab7495fcb30..3550f1e17361 100644
--- a/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
@@ -1,5 +1,4 @@
 { lib
-, backports-datetime-fromisoformat
 , backports-zoneinfo
 , buildPythonPackage
 , cached-property
@@ -27,16 +26,16 @@
 
 buildPythonPackage rec {
   pname = "exchangelib";
-  version = "4.6.2";
+  version = "4.7.2";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ecederstrand";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vax4xqjav6nr3kfkz390ism3cs69dxnbx6sc0f9ci4mn3rxjwdy";
+    sha256 = "sha256-fdYc+fJEePgCzAkUWz7pmL/CI/O9zm5G9xh1f4bhrH4=";
   };
 
   propagatedBuildInputs = [
@@ -55,8 +54,6 @@ buildPythonPackage rec {
     tzlocal
   ] ++ lib.optionals (pythonOlder "3.9") [
     backports-zoneinfo
-  ] ++ lib.optionals (pythonOlder "3.7") [
-    backports-datetime-fromisoformat
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/faker/default.nix b/nixpkgs/pkgs/development/python-modules/faker/default.nix
index f363b6bb6f66..048edf64d38f 100644
--- a/nixpkgs/pkgs/development/python-modules/faker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faker/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "faker";
-  version = "9.3.1";
+  version = "11.3.0";
 
   src = fetchPypi {
     pname = "Faker";
     inherit version;
-    hash = "sha256-zdnpry+6XJbuLsSshBm7pFjia1iiuYwfZGfuZglr7lI=";
+    hash = "sha256-rb5WfmTaahCX/qyraZAA4a0W4Xplkqjwrh7gt/vxmIc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
index eff55de1d90e..3127ac0dcdbf 100644
--- a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
@@ -3,6 +3,7 @@
 , async_generator
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , hypothesis
 , lupa
 , pytest-asyncio
@@ -17,15 +18,28 @@
 buildPythonPackage rec {
   pname = "fakeredis";
   version = "1.7.0";
-  format = "setuptools";
 
-  disabled = pythonOlder "3.5";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   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
@@ -42,15 +56,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  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/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix b/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix
index ebef907f91f5..01857660a749 100644
--- a/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "faraday-plugins";
-  version = "1.5.9";
+  version = "1.6.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "infobyte";
     repo = "faraday_plugins";
     rev = "v${version}";
-    sha256 = "sha256-rU7BF1lXLgJYLed5FVKXroivxKpmmNE5woGCpAcKAwg=";
+    sha256 = "sha256-mvYbX8puqcT9kl1Abi785ptmmg9CxKZVTO6gPpk4sKU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
index f0f10a88c7dd..ec14e956c3fd 100644
--- a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.70.1";
+  version = "0.73.0";
   format = "flit";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "tiangolo";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iwjxcAe8h38PPTTDGCxIJSB7zCS0FA0gOcKUjPpk3yg=";
+    sha256 = "0v3w9b8107b3g2rgy5y58f0p64inhwl1j9cybp627myypwpqx4b7";
   };
 
   propagatedBuildInputs = [
@@ -64,6 +64,8 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # Disabled tests require orjson which requires rust nightly
     "tests/test_default_response_class.py"
+    # Don't test docs and examples
+    "docs_src"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/fastavro/default.nix b/nixpkgs/pkgs/development/python-modules/fastavro/default.nix
index 0bc1246eb326..935eefa5182f 100644
--- a/nixpkgs/pkgs/development/python-modules/fastavro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastavro/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "fastavro";
-  version = "1.4.4";
+  version = "1.4.9";
 
   disabled = pythonOlder "3.6";
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1sf8nqifwp0cggk59s22ygj3rm1nysa8b91xl8bpv2knqyjy1q32";
+    sha256 = "0af6d67s6mi9ylqla8nga6cj4y0y4gp3l2q68br2mrdyivkml0g0";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fastjsonschema/default.nix b/nixpkgs/pkgs/development/python-modules/fastjsonschema/default.nix
index 6a6cc6ea8046..415f226b783c 100644
--- a/nixpkgs/pkgs/development/python-modules/fastjsonschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastjsonschema/default.nix
@@ -1,14 +1,15 @@
 { lib
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitHub
-  # Check inputs
+, fetchpatch
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "fastjsonschema";
-  version = "2.15.1";
+  version = "2.15.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.3";
 
@@ -17,11 +18,25 @@ buildPythonPackage rec {
     repo = "python-fastjsonschema";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-ltxFJ3V5/bckusspQ5o0F4reMoB4KpYWPHF8ZNXGqVQ=";
+    hash = "sha256-zrdQVFfLZxZRr9qvss4CI3LJK97xl+bY+AcPzcweYeU=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   dontUseSetuptoolsCheck = true;
+
+  patches = [
+    # Can be removed with the next release, https://github.com/horejsek/python-fastjsonschema/pull/134
+    (fetchpatch {
+      name = "fix-exception-name.patch";
+      url = "https://github.com/horejsek/python-fastjsonschema/commit/f639dcba0299926d688e1d8d08a6a91bfe70ce8b.patch";
+      sha256 = "sha256-yPV5ZNeyAobLrYf5QHanPsEomBPJ/7ZN2148R8NO4/U=";
+    })
+  ];
+
+
   disabledTests = [
     "benchmark"
     # these tests require network access
@@ -29,10 +44,12 @@ buildPythonPackage rec {
     "definitions"
   ];
 
-  pythonImportsCheck = [ "fastjsonschema" ];
+  pythonImportsCheck = [
+    "fastjsonschema"
+  ];
 
   meta = with lib; {
-    description = "Fast JSON schema validator for Python.";
+    description = "JSON schema validator for Python";
     homepage = "https://horejsek.github.io/python-fastjsonschema/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ drewrisinger ];
diff --git a/nixpkgs/pkgs/development/python-modules/fastnumbers/default.nix b/nixpkgs/pkgs/development/python-modules/fastnumbers/default.nix
index 12c3175424d3..779949b38fd7 100644
--- a/nixpkgs/pkgs/development/python-modules/fastnumbers/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix b/nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix
index c1e988ca769a..53f2c15401ec 100644
--- a/nixpkgs/pkgs/development/python-modules/feedgenerator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/feedparser/default.nix b/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
index 56059e6dfef7..39f13999d5c0 100644
--- a/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
@@ -3,11 +3,14 @@
 , fetchPypi
 , pythonOlder
 , sgmllib3k
+, python
 }:
 
 buildPythonPackage rec {
   pname = "feedparser";
   version = "6.0.8";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
@@ -15,13 +18,20 @@ buildPythonPackage rec {
     sha256 = "sha256-XOBBCgWrJIyMfPyjoOoiA5aO6f9EhgZzea9IJ6WflmE=";
   };
 
-  propagatedBuildInputs = [ sgmllib3k ];
+  propagatedBuildInputs = [
+    sgmllib3k
+  ];
 
   checkPhase = ''
-    python -Wd tests/runtests.py
+    # Tests are failing
+    # AssertionError: unexpected '~' char in declaration
+    rm tests/wellformed/sanitize/xml_declaration_unexpected_character.xml
+    ${python.interpreter} -Wd tests/runtests.py
   '';
 
-  pythonImportsCheck = [ "feedparser" ];
+  pythonImportsCheck = [
+    "feedparser"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/kurtmckee/feedparser";
diff --git a/nixpkgs/pkgs/development/python-modules/ffcv/default.nix b/nixpkgs/pkgs/development/python-modules/ffcv/default.nix
new file mode 100644
index 000000000000..2aee132e294f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/file-read-backwards/default.nix b/nixpkgs/pkgs/development/python-modules/file-read-backwards/default.nix
new file mode 100644
index 000000000000..80150a60de91
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/file-read-backwards/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi, mock }:
+
+buildPythonPackage rec {
+  pname = "file-read-backwards";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    pname = "file_read_backwards";
+    inherit version;
+    sha256 = "fd50d9089b412147ea3c6027e2ad905f977002db2918cf315d64eed23d6d6eb8";
+  };
+
+  checkInputs = [ mock ];
+  pythonImportsCheck = [ "file_read_backwards" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/RobinNil/file_read_backwards";
+    description = "Memory efficient way of reading files line-by-line from the end of file";
+    license = licenses.mit;
+    maintainers = with maintainers; [ j0hax ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/filebrowser_safe/default.nix b/nixpkgs/pkgs/development/python-modules/filebrowser_safe/default.nix
index d571f76f9227..28798dd838e3 100644
--- a/nixpkgs/pkgs/development/python-modules/filebrowser_safe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/filebrowser_safe/default.nix
@@ -2,18 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , django
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "1.1.0";
-  pname = "filebrowser_safe";
+  pname = "filebrowser-safe";
+  version = "1.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "14b6e0af9697f1d0f08508cc88bc8459273cd6453636cebe8504dccc80e926e4";
+    pname = "filebrowser_safe";
+    inherit version;
+    sha256 = "499c5dbd9e112dfc436cae7713b2fb664a59015021f6c9d131e3b7980aeb5c94";
   };
 
-  buildInputs = [ django ];
+  buildInputs = [
+    django
+  ];
 
   # There is no test embedded
   doCheck = false;
@@ -24,15 +31,10 @@ buildPythonPackage rec {
       filebrowser_safe was created to provide a snapshot of the
       FileBrowser asset manager for Django, to be referenced as a
       dependency for the Mezzanine CMS for Django.
-
-      At the time of filebrowser_safe's creation, FileBrowser was
-      incorrectly packaged on PyPI, and had also dropped compatibility
-      with Django 1.1 - filebrowser_safe was therefore created to
-      address these specific issues.
     '';
     homepage = "https://github.com/stephenmcd/filebrowser-safe";
     downloadPage = "https://pypi.python.org/pypi/filebrowser_safe/";
-    license = licenses.free;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ prikhi ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/filelock/default.nix b/nixpkgs/pkgs/development/python-modules/filelock/default.nix
index d5ccc117beff..8eaed65ca73c 100644
--- a/nixpkgs/pkgs/development/python-modules/filelock/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/filetype/default.nix b/nixpkgs/pkgs/development/python-modules/filetype/default.nix
index f89b4e690914..3c777d828b48 100644
--- a/nixpkgs/pkgs/development/python-modules/filetype/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/filetype/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "filetype";
-  version = "1.0.9";
+  version = "1.0.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7124e1bc6a97ffc7c6bead5b8fb2e129baf312a9e60db5772bc27c741799d475";
+    sha256 = "sha256-MjoTUAcxtsZaJTvDkwu86aVt+6cekLYP/ZaKtp2a6Tc=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/findimports/default.nix b/nixpkgs/pkgs/development/python-modules/findimports/default.nix
new file mode 100644
index 000000000000..44f1a29a8f2f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/fiona/default.nix b/nixpkgs/pkgs/development/python-modules/fiona/default.nix
index 0c1a3bd2c651..f8fc454e05ee 100644
--- a/nixpkgs/pkgs/development/python-modules/fiona/default.nix
+++ b/nixpkgs/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";
diff --git a/nixpkgs/pkgs/development/python-modules/fixtures/default.nix b/nixpkgs/pkgs/development/python-modules/fixtures/default.nix
index e802dbaa2691..3e9f9943327d 100644
--- a/nixpkgs/pkgs/development/python-modules/fixtures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fixtures/default.nix
@@ -7,6 +7,7 @@
 , testtools
 , mock
 , python
+, six
 }:
 
 buildPythonPackage rec {
@@ -33,6 +34,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     testtools
+    six # not in install_requires, but used in fixture.py
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flake8-bugbear/default.nix b/nixpkgs/pkgs/development/python-modules/flake8-bugbear/default.nix
new file mode 100644
index 000000000000..083abcaf6b8c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flake8-docstrings/default.nix b/nixpkgs/pkgs/development/python-modules/flake8-docstrings/default.nix
new file mode 100644
index 000000000000..a02d900a7f07
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flake8-docstrings/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flake8
+, pydocstyle
+}:
+
+buildPythonPackage rec {
+  pname = "flake8-docstrings";
+  version = "1.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9fe7c6a306064af8e62a055c2f61e9eb1da55f84bb39caef2b84ce53708ac34b";
+  };
+
+  propagatedBuildInputs = [ flake8 pydocstyle ];
+
+  pythonImportsCheck = [ "flake8_docstrings" ];
+
+  meta = with lib; {
+    description = "Extension for flake8 which uses pydocstyle to check docstrings";
+    homepage = "https://gitlab.com/pycqa/flake8-docstrings";
+    license = licenses.mit;
+    maintainers = with maintainers; [ smaret ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flake8-length/default.nix b/nixpkgs/pkgs/development/python-modules/flake8-length/default.nix
index 34e226bd4635..6f82b8dd50be 100644
--- a/nixpkgs/pkgs/development/python-modules/flake8-length/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flake8-length/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "flake8-length";
-  version = "0.2.2";
+  version = "0.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3536fee1d2a19c01f56ebb909c4d81f686f8181091a9bc3ddf3a5621c464760a";
+    sha256 = "6e3c068005b0b3b5c8345923fe3e9a107c980baa1354dd19d820018f87409427";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flashtext/default.nix b/nixpkgs/pkgs/development/python-modules/flashtext/default.nix
index 52b54f4dceac..b0623bd18d59 100644
--- a/nixpkgs/pkgs/development/python-modules/flashtext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flashtext/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "http://github.com/vi3k6i5/flashtext";
+    homepage = "https://github.com/vi3k6i5/flashtext";
     description = "Python package to replace keywords in sentences or extract keywords from sentences";
     maintainers = with maintainers; [ aanderse ];
     license = with licenses; [ mit ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix b/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
index bfdf0e46ea58..7187e8790529 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
@@ -26,13 +26,13 @@
 
 buildPythonPackage rec {
   pname = "flask-admin";
-  version = "1.5.8";
+  version = "1.6.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "Flask-Admin";
     inherit version;
-    sha256 = "sha256-6wah8xuYiB3uU6VcZPrr0ZkNaqw4gmNksoDfCyZ5/3Q=";
+    sha256 = "1209qhm51d4z66mbw55cmkzqvr465shnws2m2l2zzpxhnxwzqks2";
   };
 
   propagatedBuildInputs = [
@@ -69,6 +69,7 @@ buildPythonPackage rec {
     "flask_admin/tests/pymongo/test_basic.py"
     "flask_admin/tests/sqla/test_basic.py"
     "flask_admin/tests/sqla/test_form_rules.py"
+    "flask_admin/tests/sqla/test_inlineform.py"
     "flask_admin/tests/sqla/test_postgres.py"
     "flask_admin/tests/sqla/test_translation.py"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix b/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix
index afb81cc103bc..0129c9877230 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , apispec
 , colorama
 , click
@@ -17,6 +18,7 @@
 , marshmallow-enum
 , marshmallow-sqlalchemy
 , python-dateutil
+, pythonOlder
 , prison
 , pyjwt
 , pyyaml
@@ -25,18 +27,34 @@
 
 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
   #           https://github.com/dpgaspar/Flask-AppBuilder/pull/1610
   # The patch from the PR doesn't apply cleanly so I edited it manually.
-  patches = [ ./upgrade-to-flask_jwt_extended-4.patch ];
+  patches = [
+    ./upgrade-to-flask_jwt_extended-4.patch
+    (fetchpatch {
+      # https://github.com/dpgaspar/Flask-AppBuilder/pull/1734
+      name = "flask-appbuilder-wtf3.patch";
+      url = "https://github.com/dpgaspar/Flask-AppBuilder/commit/bccb3d719cd3ceb872fe74a9ab304d74664fbf43.patch";
+      sha256 = "1rsci0ynb7y6k53j164faggjr2g6l5v78w7953qbxcy8f55sb2fv";
+      excludes = [
+        "requirements.txt"
+        "setup.py"
+        "examples/employees/app/views.py"
+      ];
+    })
+  ];
 
   propagatedBuildInputs = [
     apispec
@@ -68,7 +86,8 @@ buildPythonPackage rec {
       --replace "Flask-Login>=0.3, <0.5" "Flask-Login >=0.3, <0.6" \
       --replace "Flask-Babel>=1, <2" "Flask-Babel >=1, <3" \
       --replace "Flask-WTF>=0.14.2, <0.15.0" "Flask-WTF" \
-      --replace "marshmallow-sqlalchemy>=0.22.0, <0.24.0" "marshmallow-sqlalchemy" \
+      --replace "WTForms<3.0.0" "WTForms" \
+      --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" \
@@ -78,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/nixpkgs/pkgs/development/python-modules/flask-gravatar/default.nix b/nixpkgs/pkgs/development/python-modules/flask-gravatar/default.nix
new file mode 100644
index 000000000000..c0bbf7d01467
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-gravatar/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, pytestCheckHook
+, pygments
+}:
+
+buildPythonPackage rec {
+  pname = "flask-gravatar";
+  version = "0.5.0";
+
+  src = fetchPypi {
+    pname = "Flask-Gravatar";
+    inherit version;
+    sha256 = "YGZfMcLGEokdto/4Aek+06CIHGyOw0arxk0qmSP1YuE=";
+  };
+
+  postPatch = ''
+    sed -i setup.py \
+     -e "s|tests_require=tests_require,||g" \
+     -e "s|extras_require=extras_require,||g" \
+     -e "s|setup_requires=setup_requires,||g"
+    # pep8 is deprecated and cov not needed
+    substituteInPlace pytest.ini \
+     --replace "--pep8" "" \
+     --replace "--cov=flask_gravatar --cov-report=term-missing" ""
+  '';
+
+  propagatedBuildInputs = [
+    flask
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pygments
+  ];
+
+  pythonImportsCheck = [ "flask_gravatar" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zzzsochi/Flask-Gravatar";
+    description = "Small and simple integration of gravatar into flask";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask-login/default.nix b/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
index 9d54849e92d9..3c7058c1212d 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
@@ -1,27 +1,51 @@
-{ lib, buildPythonPackage, fetchPypi, pythonAtLeast
-, flask, blinker, nose, mock, semantic-version }:
+{ lib
+, blinker
+, buildPythonPackage
+, fetchPypi
+, flask
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
+, semantic-version
+, werkzeug
+}:
 
 buildPythonPackage rec {
-  pname = "Flask-Login";
+  pname = "flask-login";
   version = "0.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "Flask-Login";
+    inherit version;
     sha256 = "6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b";
   };
 
-  checkInputs = [ nose mock semantic-version ];
-  propagatedBuildInputs = [ flask blinker ];
+  propagatedBuildInputs = [
+    flask
+    werkzeug
+  ];
+
+  checkInputs = [
+    blinker
+    pytestCheckHook
+    semantic-version
+  ];
 
-  checkPhase = "nosetests -d";
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    "test_hashable"
+  ];
 
-  doCheck = pythonAtLeast "3.3";
+  pythonImportsCheck = [
+    "flask_login"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/maxcountryman/flask-login";
     description = "User session management for Flask";
+    homepage = "https://github.com/maxcountryman/flask-login";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
index d23306be62bd..d73ad8d35c0d 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flask-paginate";
-  version = "2021.12.28";
+  version = "2022.1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c722a25067d722483e24cde16ed987a822292ca758a213299e445694d2b5b587";
+    sha256 = "a32996ec07ca004c45b768b0d50829728ab8f3986c0650ef538e42852c7aeba2";
   };
 
   propagatedBuildInputs = [ flask ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-paranoid/default.nix b/nixpkgs/pkgs/development/python-modules/flask-paranoid/default.nix
new file mode 100644
index 000000000000..787b34a93b37
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-paranoid/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "flask-paranoid";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "miguelgrinberg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0WWc/ktAOuTk4A75xI1jCj/aef2+1TjLKBA9+PRfJO0=";
+  };
+
+  postPatch = ''
+    # tests have a typo in one of the assertions
+    substituteInPlace tests/test_paranoid.py --replace "01-Jan-1970" "01 Jan 1970"
+  '';
+
+  propagatedBuildInputs = [
+    flask
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "flask_paranoid" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/miguelgrinberg/flask-paranoid/";
+    description = "Simple user session protection";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix b/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
new file mode 100644
index 000000000000..ddf5aa05c493
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, blinker
+, setuptools
+, itsdangerous
+, flask_principal
+, passlib
+, email_validator
+, flask_wtf
+, flask_login
+, pytestCheckHook
+, flask_mail
+, sqlalchemy
+, flask_sqlalchemy
+, flask-mongoengine
+, peewee
+, pony
+, zxcvbn
+, mongoengine
+, cryptography
+, pyqrcode
+, phonenumbers
+, bleach
+, mongomock
+}:
+
+buildPythonPackage rec {
+  pname = "flask-security-too";
+  version = "4.1.2";
+
+  src = fetchPypi {
+    pname = "Flask-Security-Too";
+    inherit version;
+    sha256 = "16ws5n08vm7wsa2f7lrkxvc7jl3ah1xfylhhyzb4vvqmlk7x9hw8";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    flask_login
+    flask_principal
+    flask_wtf
+    email_validator
+    itsdangerous
+    passlib
+    blinker
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    flask_mail
+    sqlalchemy
+    flask_sqlalchemy
+    flask-mongoengine
+    peewee
+    pony
+    zxcvbn
+    mongoengine
+    cryptography
+    pyqrcode
+    phonenumbers
+    bleach
+    mongomock
+  ];
+
+  pythonImportsCheck = [ "flask_security" ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/Flask-Security-Too/";
+    description = "Simple security for Flask apps (fork)";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask/default.nix b/nixpkgs/pkgs/development/python-modules/flask/default.nix
index 2fe71c2d6db9..cf1079166b08 100644
--- a/nixpkgs/pkgs/development/python-modules/flask/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flatten-dict/default.nix b/nixpkgs/pkgs/development/python-modules/flatten-dict/default.nix
new file mode 100644
index 000000000000..e7bda9378b19
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flatten-dict/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "flatten-dict";
+  version = "0.4.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ianlini";
+    repo = pname;
+    rev = version;
+    hash = "sha256-uHenKoD4eLm9sMREVuV0BB/oUgh4NMiuj+IWd0hlxNQ=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "flatten_dict"
+  ];
+
+  meta = with lib; {
+    description = "Module for flattening and unflattening dict-like objects";
+    homepage = "https://github.com/ianlini/flatten-dict";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flax/default.nix b/nixpkgs/pkgs/development/python-modules/flax/default.nix
new file mode 100644
index 000000000000..3ac8166bbbdd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flax/default.nix
@@ -0,0 +1,63 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, jaxlib
+, keras
+, lib
+, matplotlib
+, msgpack
+, numpy
+, optax
+, pytestCheckHook
+, tensorflow
+}:
+
+buildPythonPackage rec {
+  pname = "flax";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0rvdaxyf68qmm5d77gbizpcibyz2ic2pb2x7rgf7p8qwijyc39ws";
+  };
+
+  buildInputs = [ jaxlib ];
+
+  propagatedBuildInputs = [
+    matplotlib
+    msgpack
+    numpy
+    optax
+  ];
+
+  pythonImportsCheck = [
+    "flax"
+  ];
+
+  checkInputs = [
+    keras
+    pytestCheckHook
+    tensorflow
+  ];
+
+  disabledTestPaths = [
+    # Docs test, needs extra deps + we're not interested in it.
+    "docs/_ext/codediff_test.py"
+
+    # The tests in `examples` are not designed to be executed from a single test
+    # session and thus either have the modules that conflict with each other or
+    # wrong import paths, depending on how they're invoked. Many tests also have
+    # dependencies that are not packaged in `nixpkgs` (`clu`, `jgraph`,
+    # `tensorflow_datasets`, `vocabulary`) so the benefits of trying to run them
+    # would be limited anyway.
+    "examples/*"
+  ];
+
+  meta = with lib; {
+    description = "Neural network library for JAX";
+    homepage = "https://github.com/google/flax";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flexmock/default.nix b/nixpkgs/pkgs/development/python-modules/flexmock/default.nix
index ae52c31b5775..434f9409dbb3 100644
--- a/nixpkgs/pkgs/development/python-modules/flexmock/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flit-core/default.nix b/nixpkgs/pkgs/development/python-modules/flit-core/default.nix
index 7cb9ed2c6c45..35bba06f1f36 100644
--- a/nixpkgs/pkgs/development/python-modules/flit-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flit-core/default.nix
@@ -2,12 +2,11 @@
 , buildPythonPackage
 , callPackage
 , flit
-, toml
 }:
 
 buildPythonPackage rec {
   pname = "flit-core";
-  version = "3.2.0";
+  version = "3.6.0";
   format = "pyproject";
 
   outputs = [
@@ -21,10 +20,6 @@ buildPythonPackage rec {
     cd flit_core
   '';
 
-  propagatedBuildInputs = [
-    toml
-  ];
-
   postInstall = ''
     mkdir $testsout
     cp -R ../tests $testsout/tests
diff --git a/nixpkgs/pkgs/development/python-modules/flit/default.nix b/nixpkgs/pkgs/development/python-modules/flit/default.nix
index 0a6d1ba3158a..830ed2702b89 100644
--- a/nixpkgs/pkgs/development/python-modules/flit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flit/default.nix
@@ -3,13 +3,12 @@
 , fetchFromGitHub
 , docutils
 , requests
-, requests_download
-, zipfile36
-, pythonOlder
 , pytest
 , testpath
 , responses
 , flit-core
+, tomli
+, tomli-w
 }:
 
 # Flit is actually an application to build universal wheels.
@@ -19,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "flit";
-  version = "3.2.0";
+  version = "3.6.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "takluyver";
     repo = "flit";
     rev = version;
-    sha256 = "sha256-zN+/oAyXBo6Ho7n/xhOQ2mjtPGKA1anCvl3sVf7t+Do=";
+    sha256 = "sha256-D3q/1g6njrrmizooGmzNd9g2nKs00dMGj9jrrv3Y6HQ=";
   };
 
   nativeBuildInputs = [
@@ -36,10 +35,9 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     docutils
     requests
-    requests_download
     flit-core
-  ] ++ lib.optionals (pythonOlder "3.6") [
-    zipfile36
+    tomli
+    tomli-w
   ];
 
   checkInputs = [ pytest testpath responses ];
diff --git a/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix b/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
index 885c688225ca..7045841245d3 100644
--- a/nixpkgs/pkgs/development/python-modules/flowlogs_reader/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix b/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix
index 70b97a083d8f..a670b4a9ba16 100644
--- a/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flufl/lock.nix b/nixpkgs/pkgs/development/python-modules/flufl/lock.nix
index c0f3ec60cf35..c2cc5723e4df 100644
--- a/nixpkgs/pkgs/development/python-modules/flufl/lock.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/flux-led/default.nix b/nixpkgs/pkgs/development/python-modules/flux-led/default.nix
index 08bf77f703be..873b26a29f9d 100644
--- a/nixpkgs/pkgs/development/python-modules/flux-led/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flux-led/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "flux-led";
-  version = "0.27.28";
+  version = "0.28.26";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "flux_led";
     rev = version;
-    sha256 = "sha256-lm560jTafxMVNH4tXx7xov1bQMEYp3FFzJEK5K+ung0=";
+    sha256 = "sha256-t8SE+TU9OW/iQHVLbEdTgX4azXendKSgJQ4/QpDSkL8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/folium/default.nix b/nixpkgs/pkgs/development/python-modules/folium/default.nix
index ff8c097d6ff3..48b98a8e1018 100644
--- a/nixpkgs/pkgs/development/python-modules/folium/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/fontparts/default.nix b/nixpkgs/pkgs/development/python-modules/fontparts/default.nix
index 9b9cc129c63b..7c04c54d424c 100644
--- a/nixpkgs/pkgs/development/python-modules/fontparts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fontparts/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "fontParts";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "794ada47e19ba41ef39b59719be312b127672bcb56bb7208dd3234d2bb3e8218";
+    sha256 = "a3a3926e977f82ae19e6823760b59f2338085973da1eaad5badaf969f261a737";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
index ec3acfc775d0..50f5e87a29f4 100644
--- a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.26.2";
+  version = "4.29.0";
 
   # Bump to 3.7 when https://github.com/fonttools/fonttools/pull/2417 is merged
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner  = pname;
     repo   = pname;
     rev    = version;
-    sha256 = "1zp9idjkn4bn1a4pn8x64vi8j1ijdsd4qvgf1f70dfwqvw6ak1i6";
+    sha256 = "LnkpTEpZbbRAyqGPJXdfpHjh4t7n6LkjZGLhirVNl7E=";
   };
 
   # all dependencies are optional, but
diff --git a/nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix b/nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix
index 3f776c970659..6a77f57acf92 100644
--- a/nixpkgs/pkgs/development/python-modules/forecast-solar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/formbox/default.nix b/nixpkgs/pkgs/development/python-modules/formbox/default.nix
index d099b7454544..d5b85d4e5bd1 100644
--- a/nixpkgs/pkgs/development/python-modules/formbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/formbox/default.nix
@@ -2,15 +2,15 @@
 
 buildPythonPackage rec {
   pname = "formbox";
-  version = "0.1.0";
+  version = "0.4.1";
   format = "flit";
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromSourcehut {
     owner = "~cnx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6OzmYqUC3mmrAMeMExI4rdVGUoWrxRuBfjKFYbHUlgE=";
+    sha256 = "sha256-zOvXmSeBiwc0Z5mRMwMsHLU3A/iP7rpjXm0T0I2gUTk=";
   };
 
   propagatedBuildInputs = [ bleach markdown ];
diff --git a/nixpkgs/pkgs/development/python-modules/fountains/default.nix b/nixpkgs/pkgs/development/python-modules/fountains/default.nix
index ee9a22c58f2e..b869d583fc8d 100644
--- a/nixpkgs/pkgs/development/python-modules/fountains/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fountains/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bea8EXw3b0CibhEREdY4FZouiiXP4y+UbbDXed7Ltwo=";
+    sha256 = "6de6bc117c376f40a26e111111d638159a2e8a25cfe32f946db0d779decbb70a";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fpylll/default.nix b/nixpkgs/pkgs/development/python-modules/fpylll/default.nix
index da246966c932..1bff69e460e5 100644
--- a/nixpkgs/pkgs/development/python-modules/fpylll/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fpylll/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , buildPythonPackage
 , pkgconfig
 , gmp
@@ -15,29 +14,15 @@
 
 buildPythonPackage rec {
   pname = "fpylll";
-  version = "0.5.1dev";
+  version = "0.5.6";
 
   src = fetchFromGitHub {
     owner = "fplll";
     repo = "fpylll";
     rev = version;
-    sha256 = "15vdfgx448mr1nf054h7lr2j3dd35fsfhikqzrh9zsng8n12hxa5";
+    sha256 = "sha256-Bxcc0941+pl2Uzam48qe+PFlcBWsJ0rDYZxrxIYQpEA=";
   };
 
-  patches = [
-    # two patches to fix the testsuite on aarch64 (https://github.com/fplll/fpylll/issues/162)
-    (fetchpatch {
-      url = "https://github.com/fplll/fpylll/commit/d5809a8fdb86b2693b1fa94e655bbbe4ad80e286.patch";
-      name = "less-precision-in-tests.patch";
-      sha256 = "0vkvi25nwwvk5r4a4xmkbf060di4hjq32bys75l2hsaysxmk93nz";
-    })
-    (fetchpatch {
-      url = "https://github.com/fplll/fpylll/commit/b5b146a010d50da219a313adc4b6f7deddcc146b.patch";
-      name = "dont-hardcode-precision.patch";
-      sha256 = "1rsbwh90i1j5p2rp6jd5n25v1jzw1n8728fzz1lhb91zmk0hlxc9";
-    })
-  ];
-
   buildInputs = [
     gmp
     pari
diff --git a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
index 0797d39c3125..092b00f6b02e 100644
--- a/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fritzconnection/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "1.7.2";
+  version = "1.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "kbr";
     repo = pname;
     rev = version;
-    sha256 = "sha256-TT0mc3ID+R5Dhm0xSMpyg68wZR70xJfRfgPkHkvLstA=";
+    sha256 = "sha256-wapZ4lCG0tfE+LbFVeIxVlbMJN/sSwIeYK5GLCqoWLs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/frozendict/default.nix b/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
index 02579d97d287..d7e12cc061d5 100644
--- a/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
@@ -8,21 +8,16 @@
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "2.1.0";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0189168749ddea8601afd648146c502533f93ae33840eb76cd71f694742623cd";
+    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/nixpkgs/pkgs/development/python-modules/ftputil/default.nix b/nixpkgs/pkgs/development/python-modules/ftputil/default.nix
index 501b95f81f14..e9e445f11c3d 100644
--- a/nixpkgs/pkgs/development/python-modules/ftputil/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ftputil/default.nix
@@ -1,32 +1,45 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, pythonOlder, pytest, freezegun }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, freezegun
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
-  version = "5.0.2";
   pname = "ftputil";
+  version = "5.0.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afa2ba402235e8c6583c1d2630269628344134c9246b961ff14f182047f3e633";
+    hash = "sha256-m4buZ8GYDOHYmxN1K8SLlJP+4GNJy0doKFlOduCPhIg=";
   };
 
-  checkInputs = [ pytest freezegun ];
+  checkInputs = [
+    freezegun
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_public_servers"
+    "test_real_ftp"
+    "test_set_parser"
+    "test_upload"
+  ];
 
-  checkPhase = ''
-    touch Makefile
-    # Disable tests that require network access or access /home or assume execution before year 2020
-    py.test test \
-      -k "not test_public_servers and not test_real_ftp \
-          and not test_set_parser and not test_repr \
-          and not test_conditional_upload and not test_conditional_download_with_older_target \
-  ''
-  # need until https://ftputil.sschwarzer.net/trac/ticket/140#ticket is fixed
-  + lib.optionalString stdenv.isDarwin "and not test_error_message_reuse"
-  + ''"'';
+  pythonImportsCheck = [
+    "ftputil"
+  ];
 
   meta = with lib; {
     description = "High-level FTP client library (virtual file system and more)";
     homepage = "http://ftputil.sschwarzer.net/";
-    license = licenses.bsd2; # "Modified BSD license, says pypi"
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/funcsigs/default.nix b/nixpkgs/pkgs/development/python-modules/funcsigs/default.nix
index 8a7335accda4..115d358cb786 100644
--- a/nixpkgs/pkgs/development/python-modules/funcsigs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/furo/default.nix b/nixpkgs/pkgs/development/python-modules/furo/default.nix
index 956c7da93580..dd517a2f547e 100644
--- a/nixpkgs/pkgs/development/python-modules/furo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/furo/default.nix
@@ -8,13 +8,15 @@
 
 buildPythonPackage rec {
   pname = "furo";
-  version = "2021.10.9";
-  format = "flit";
+  version = "2022.2.14.1";
+  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-18uBJgNGNyEjMjUOyEkMuVcy02UGsCQxiljO4ufeD9o=";
   };
 
   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/nixpkgs/pkgs/development/python-modules/gamble/default.nix b/nixpkgs/pkgs/development/python-modules/gamble/default.nix
new file mode 100644
index 000000000000..0df84510efd4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gamble/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "gamble";
+  version = "0.10";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lb5x076blnnz2hj7k92pyq0drbjwsls6pmnabpvyvs4ddhz5w9w";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "gamble"
+  ];
+
+  meta = with lib; {
+    description = "Collection of gambling classes/tools";
+    homepage = "https://github.com/jpetrucciani/gamble";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jpetrucciani ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gaphas/default.nix b/nixpkgs/pkgs/development/python-modules/gaphas/default.nix
index a6351aeeadd7..c3541bcc30a0 100644
--- a/nixpkgs/pkgs/development/python-modules/gaphas/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/garages-amsterdam/default.nix b/nixpkgs/pkgs/development/python-modules/garages-amsterdam/default.nix
index 08a687d70601..01ff36e63795 100644
--- a/nixpkgs/pkgs/development/python-modules/garages-amsterdam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/garages-amsterdam/default.nix
@@ -2,21 +2,32 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, poetry-core
 , aiohttp
 }:
 
 buildPythonPackage rec {
   pname = "garages-amsterdam";
-  version = "2.1.1";
+  version = "3.2.1";
+  format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "garages_amsterdam";
-    rev = version;
-    sha256 = "1m0bc3bzb83apprk412s7k5r2g6p5br2hrak2a976lh9ifk1d8hj";
+    rev = "v${version}";
+    sha256 = "16f2742r9p3mrg2nz8lnkgsxabbjga2qnp9vzq59026q6mmfwkm9";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
   ];
@@ -28,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/nixpkgs/pkgs/development/python-modules/garminconnect-aio/default.nix b/nixpkgs/pkgs/development/python-modules/garminconnect-aio/default.nix
index bb754118e077..abdd1f9f2f26 100644
--- a/nixpkgs/pkgs/development/python-modules/garminconnect-aio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/garminconnect-ha/default.nix b/nixpkgs/pkgs/development/python-modules/garminconnect/default.nix
index c88af9b230e1..62a85ea8bc36 100644
--- a/nixpkgs/pkgs/development/python-modules/garminconnect-ha/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gast/default.nix b/nixpkgs/pkgs/development/python-modules/gast/default.nix
index f374378d9865..110363b38322 100644
--- a/nixpkgs/pkgs/development/python-modules/gast/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix b/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix
index c6e0dc18356b..66d05f2a355b 100644
--- a/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gcsfs/default.nix
@@ -23,10 +23,10 @@ buildPythonPackage rec {
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = "dask";
+    owner = "fsspec";
     repo = pname;
     rev = version;
-    sha256 = "sha256-BME40kyxZHx9+XrMCqWYp8+q6tjeYwAw/zISMNpQxDU=";
+    sha256 = "sha256-cpV+HKE39Yct1yu5xW9HZftx2Wy9ydFL2YLvPD3YM2M=";
   };
 
   propagatedBuildInputs = [
@@ -58,7 +58,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Convenient Filesystem interface over GCS";
-    homepage = "https://github.com/dask/gcsfs";
+    homepage = "https://github.com/fsspec/gcsfs";
     license = licenses.bsd3;
     maintainers = with maintainers; [ nbren12 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/gdown/default.nix b/nixpkgs/pkgs/development/python-modules/gdown/default.nix
index 195a7e822d76..180624ea8168 100644
--- a/nixpkgs/pkgs/development/python-modules/gdown/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gdown/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonApplication rec {
   pname = "gdown";
-  version = "4.2.0";
+  version = "4.3.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bd871c125242a9d3691aa74f360b6b5268a58c13991bb2405fdb3ec3028307dc";
+    sha256 = "sha256-KswYue892Mlpa8wnPf9bt8MEJGtjGaMjlDt0TXGoEdE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gdtoolkit/default.nix b/nixpkgs/pkgs/development/python-modules/gdtoolkit/default.nix
new file mode 100644
index 000000000000..5323e12e4c55
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gehomesdk/default.nix b/nixpkgs/pkgs/development/python-modules/gehomesdk/default.nix
index 855b671d2b64..b74ef29e5438 100644
--- a/nixpkgs/pkgs/development/python-modules/gehomesdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gehomesdk/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "gehomesdk";
-  version = "0.4.22";
+  version = "0.4.23";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3HErbW9/YD8Jd6zr5O2hjoLZ9x5P/vzZLjqPmSm09EM=";
+    sha256 = "sha256-y8L0krMSAOFP97j5QQGiJJMhzRidhMgoHGsMYMyUdd8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/genanki/default.nix b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
index 7b37be48f100..3989cf6f72c6 100644
--- a/nixpkgs/pkgs/development/python-modules/genanki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "genanki";
-  version = "0.12.0";
+  version = "0.13.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f787ac440ff37a3ef3389030e992e3527f000f7a69498f797033ccfad07ebe62";
+    sha256 = "bfacdcadd7903ed6afce6168e1977e473b431677b358f8fd42e80b48cedd19ab";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/geniushub-client/default.nix b/nixpkgs/pkgs/development/python-modules/geniushub-client/default.nix
new file mode 100644
index 000000000000..019c1e1a21bc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
index d32eea8cedbc..15ba87400e33 100644
--- a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "GeoAlchemy2";
-  version = "0.10.0";
+  version = "0.10.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d97f85a4ff84341c12b1d7a6fee5ab5e5e942271279684310bb2f507b6ee5c53";
+    sha256 = "3db833746e11bc802b754751ec94eaab81009a9ad8fe647d461fe76d1a47a3fd";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/geometric/default.nix b/nixpkgs/pkgs/development/python-modules/geometric/default.nix
new file mode 100644
index 000000000000..89f1e73ed9af
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/geometric/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage, lib, fetchFromGitHub
+, networkx, numpy, scipy, six
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "geometric";
+  version = "0.9.7.2";
+
+  src = fetchFromGitHub {
+    owner = "leeping";
+    repo = "geomeTRIC";
+    rev = version;
+    hash = "sha256-QFpfY6tWqcda6AJT17YBEuwu/4DYPbIMJU1c9/gHjaA=";
+  };
+
+  propagatedBuildInputs = [
+    networkx
+    numpy
+    scipy
+    six
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "Geometry optimization code for molecular structures";
+    homepage = "https://github.com/leeping/geomeTRIC";
+    license = [ licenses.bsd3 ];
+    maintainers = [ maintainers.markuskowa ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/georss-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-client/default.nix
index 2e5fc5da9e83..09365ff58586 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/georss-generic-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-generic-client/default.nix
index 4f2e317c52ef..4345505f310c 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-generic-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
index e87c766c0caf..ae923138d295 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
index dc253dafe1e2..512db4d8deee 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix
index 089a72ef8112..344c74b057f4 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix
index 954e4a6237fb..fb4b0e753ab4 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix
index 5428dfcbc53a..fc19ea105c69 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/georss-wa-dfes-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-wa-dfes-client/default.nix
index ec6a5cd5f2e3..74c1a9994987 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-wa-dfes-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/getmac/default.nix b/nixpkgs/pkgs/development/python-modules/getmac/default.nix
index 483539bc221f..79f85ad95674 100644
--- a/nixpkgs/pkgs/development/python-modules/getmac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/getmac/default.nix
@@ -8,13 +8,14 @@
 
 buildPythonPackage rec {
   pname = "getmac";
-  version = "0.8.2";
+  version = "0.8.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "GhostofGoes";
     repo = pname;
     rev = version;
-    sha256 = "08d4iv5bjl1s4i9qhzf3pzjgj1rgbwi0x26qypf3ycgdj0a6gvh2";
+    sha256 = "sha256-X4uuYisyobCxhoywaSXBZjVxrPAbBiZrWUJAi2/P5mw=";
   };
 
   checkInputs = [
@@ -33,7 +34,9 @@ buildPythonPackage rec {
     "test_uuid_lanscan_iface"
   ];
 
-  pythonImportsCheck = [ "getmac" ];
+  pythonImportsCheck = [
+    "getmac"
+  ];
 
   meta = with lib; {
     description = "Python package to get the MAC address of network interfaces and hosts on the local network";
diff --git a/nixpkgs/pkgs/development/python-modules/gevent-socketio/default.nix b/nixpkgs/pkgs/development/python-modules/gevent-socketio/default.nix
index 4a25e0d7e148..338398714494 100644
--- a/nixpkgs/pkgs/development/python-modules/gevent-socketio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix b/nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix
index 5e93fb32b9e7..66709d8fafa5 100644
--- a/nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gevent/default.nix b/nixpkgs/pkgs/development/python-modules/gevent/default.nix
index 3fe9e648ce32..e2b1e11278b7 100644
--- a/nixpkgs/pkgs/development/python-modules/gevent/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/geventhttpclient/default.nix b/nixpkgs/pkgs/development/python-modules/geventhttpclient/default.nix
index 7e30b8e83f49..4a349106ac3f 100644
--- a/nixpkgs/pkgs/development/python-modules/geventhttpclient/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gigalixir/default.nix b/nixpkgs/pkgs/development/python-modules/gigalixir/default.nix
index e7d19091605d..e1ca84e21861 100644
--- a/nixpkgs/pkgs/development/python-modules/gigalixir/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gigalixir/default.nix
@@ -1,9 +1,9 @@
-{ buildPythonApplication
+{ lib
+, buildPythonApplication
 , click
 , fetchPypi
 , git
 , httpretty
-, lib
 , qrcode
 , pygments
 , pyopenssl
@@ -11,40 +11,53 @@
 , requests
 , rollbar
 , stripe
+, pythonOlder
 , sure
 }:
 
 buildPythonApplication rec {
   pname = "gigalixir";
-  version = "1.2.4";
+  version = "1.2.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "894b7e5bef30abc2c003e6df47f7758de5649b6f593e33926fcd398cc88d9ce2";
+    hash = "sha256-P70xsI/zwsoSgK1XCPzJSI5NQ58M431kmgo5gHXbaNw=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "'pytest-runner'," ""
-  '';
-
   propagatedBuildInputs = [
     click
-    requests
-    stripe
-    rollbar
     pygments
-    qrcode
     pyopenssl
+    qrcode
+    requests
+    rollbar
+    stripe
   ];
 
   checkInputs = [
+    git
     httpretty
-    sure
     pytestCheckHook
-    git
+    sure
   ];
 
-  pythonImportsCheck = [ "gigalixir" ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," "" \
+      --replace "cryptography==" "cryptography>="
+  '';
+
+  disabledTests = [
+    # Test requires network access
+    "test_rollback_without_version"
+  ];
+
+  pythonImportsCheck = [
+    "gigalixir"
+  ];
 
   meta = with lib; {
     description = "Gigalixir Command-Line Interface";
diff --git a/nixpkgs/pkgs/development/python-modules/gipc/default.nix b/nixpkgs/pkgs/development/python-modules/gipc/default.nix
index a059495d00fe..2bab62fbcb10 100644
--- a/nixpkgs/pkgs/development/python-modules/gipc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/git-revise/default.nix b/nixpkgs/pkgs/development/python-modules/git-revise/default.nix
index a6dd3ecb7c80..b4a771a4c3be 100644
--- a/nixpkgs/pkgs/development/python-modules/git-revise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/git-revise/default.nix
@@ -2,25 +2,26 @@
 , buildPythonPackage
 , pythonOlder
 , git
+, gnupg
 , fetchFromGitHub
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "git-revise";
-  version = "0.6.0";
+  version = "0.7.0";
 
   # Missing tests on PyPI
   src = fetchFromGitHub {
     owner = "mystor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03v791yhips9cxz9hr07rhsgxfhwyqq17rzi7ayjhwvy65s4hzs9";
+    sha256 = "sha256-xV1Z9O5FO4Q/XEpNwnX31tbv8CrXY+wF1Ltpfq+ITRg=";
   };
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
-  checkInputs = [ git pytestCheckHook ];
+  checkInputs = [ git gnupg pytestCheckHook ];
 
   meta = with lib; {
     description = "Efficiently update, split, and rearrange git commits";
diff --git a/nixpkgs/pkgs/development/python-modules/glances-api/default.nix b/nixpkgs/pkgs/development/python-modules/glances-api/default.nix
index e9d68685a3f1..2c52db8ab5ff 100644
--- a/nixpkgs/pkgs/development/python-modules/glances-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glances-api/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "glances-api";
-  version = "0.3.2";
+  version = "0.3.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-glances-api";
     rev = version;
-    sha256 = "sha256-zVK63SI8ZeVrY2iEEkgp8pq6RDheKeApb9/RWgZCKGI=";
+    sha256 = "sha256-mV67mppzx3lka04bxQ5CdufknZTTqWqGJzqPaHb4C2o=";
   };
 
   nativeBuildInputs = [
@@ -37,11 +37,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'httpx = ">=0.20,<1"' 'httpx = ">=0.19,<1"'
-  '';
-
   pythonImportsCheck = [
     "glances_api"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/glasgow/default.nix b/nixpkgs/pkgs/development/python-modules/glasgow/default.nix
index 398ee8eedf13..a8f658ac83a9 100644
--- a/nixpkgs/pkgs/development/python-modules/glasgow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glasgow/default.nix
@@ -5,7 +5,7 @@
 , setuptools-scm
 , pythonOlder
 , sdcc
-, nmigen
+, amaranth
 , fx2
 , libusb1
 , aiohttp
@@ -19,23 +19,23 @@
 
 buildPythonPackage rec {
   pname = "glasgow";
-  version = "unstable-2021-03-02";
+  version = "unstable-2021-12-12";
   disabled = pythonOlder "3.7";
   # python software/setup.py --version
-  realVersion = "0.1.dev1660+g${lib.substring 0 7 src.rev}";
+  realVersion = "0.1.dev1679+g${lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "GlasgowEmbedded";
     repo = "glasgow";
-    rev = "41c48bbcee284d024e4249a81419fbbae674cf40";
-    sha256 = "1fg8ps228930d70bczwmcwnrd1gvm02a58mxbpn8pyakwbwwa6hq";
+    rev = "e640a778c446b7e9812727e73c560d12aeb41d7c";
+    sha256 = "EsQ9ZjalKDQ54JOonra4yPDI56cF5n86y/Rd798cZsU=";
   };
 
   nativeBuildInputs = [ setuptools-scm sdcc ];
 
   propagatedBuildInputs = [
     setuptools
-    nmigen
+    amaranth
     fx2
     libusb1
     aiohttp
@@ -72,6 +72,6 @@ buildPythonPackage rec {
     description = "Software for Glasgow, a digital interface multitool";
     homepage = "https://github.com/GlasgowEmbedded/Glasgow";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ emily ];
+    maintainers = with maintainers; [ emily thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/glcontext/default.nix b/nixpkgs/pkgs/development/python-modules/glcontext/default.nix
index 32fdae1b3f2c..b091d2583b6b 100644
--- a/nixpkgs/pkgs/development/python-modules/glcontext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glcontext/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "glcontext";
-  version = "2.3.3";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "moderngl";
     repo = pname;
     rev = version;
-    sha256 = "16kwrfjijn9bnb48rk17wapmhxq6g9s59zczh65imyncb9k82wkc";
+    sha256 = "1m2zkl696vqmgrd5k1c5kl0krk6qgjgsz88qhahwva0l40bswvhp";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix b/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix
index 8a774e660751..52fdf6745c9f 100644
--- a/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "glean_parser";
-  version = "4.3.1";
+  version = "5.0.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-wZSro1pX/50TlSfFMh71JlmXlJlONVutTDFL06tkw+s=";
+    sha256 = "sha256-MJ827VXy8e2CRyq4sY4d0B7etxBgRk4/hZybYOOLh9Q=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/glean-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/glean-sdk/default.nix
index e729d927cdae..f2c2f92c9f0d 100644
--- a/nixpkgs/pkgs/development/python-modules/glean-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glean-sdk/default.nix
@@ -12,23 +12,17 @@
 
 buildPythonPackage rec {
   pname = "glean-sdk";
-  version = "42.2.0";
+  version = "44.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-X2p6KQnEB6ZHdCHGFVEoEMiI+0R2vfGqel+jFKTcx74=";
+    sha256 = "sha256-gzLsBwq3wrFde5cEb5+oFLW4KrwoiZpr22JbJhNr1yk=";
   };
 
-  patches = [
-    # Fix the environment for spawned process
-    # https://github.com/mozilla/glean/pull/1542
-    ./fix-spawned-process-environment.patch
-  ];
-
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "sha256-/+rKGPYTLovgjTGL2F/pWzlUy1tY207yuJz3Xdhm1hg=";
+    sha256 = "sha256-lWFv8eiA3QHp5bhcg4qon/dvKUbFbtH1Q2oXGkk0Me0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/glean-sdk/fix-spawned-process-environment.patch b/nixpkgs/pkgs/development/python-modules/glean-sdk/fix-spawned-process-environment.patch
deleted file mode 100644
index f9a7b2723eba..000000000000
--- a/nixpkgs/pkgs/development/python-modules/glean-sdk/fix-spawned-process-environment.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/glean-core/python/glean/_process_dispatcher.py b/glean-core/python/glean/_process_dispatcher.py
-index 33a8b12796..a39b54a917 100644
---- a/glean-core/python/glean/_process_dispatcher.py
-+++ b/glean-core/python/glean/_process_dispatcher.py
-@@ -120,8 +120,14 @@ def dispatch(cls, func, args) -> Union[_SyncWorkWrapper, subprocess.Popen]:
-                     Path(".coveragerc").absolute()
-                 )
- 
-+            # Explicitly pass the contents of `sys.path` as `PYTHONPATH` to the
-+            # subprocess so that there aren't any module search path
-+            # differences.
-+            python_path = ":".join(sys.path)[1:]
-+
-             p = subprocess.Popen(
--                [sys.executable, _process_dispatcher_helper.__file__, payload]
-+                [sys.executable, _process_dispatcher_helper.__file__, payload],
-+                env={"PYTHONPATH": python_path},
-             )
- 
-             cls._last_process = p
diff --git a/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix
index d251ec75ff59..98339c851cd4 100644
--- a/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/glom/default.nix b/nixpkgs/pkgs/development/python-modules/glom/default.nix
index d30a0c7eb1cb..5f8ab55e9088 100644
--- a/nixpkgs/pkgs/development/python-modules/glom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glom/default.nix
@@ -4,24 +4,47 @@
 , boltons
 , attrs
 , face
-, pytest
+, pytestCheckHook
 , pyyaml
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "glom";
-  version = "20.11.0";
+  version = "22.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54051072bccc9cdb3ebbd8af0559195137a61d308f04bff19678e4b61350eb12";
+    hash = "sha256-FRDGWHqPnGSiRmQbcAM8vF696Z8CrSRWk2eAOOghrrU=";
   };
 
-  propagatedBuildInputs = [ boltons attrs face ];
+  propagatedBuildInputs = [
+    boltons
+    attrs
+    face
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pyyaml
+  ];
+
+  preCheck = ''
+    # test_cli.py checks the output of running "glom"
+    export PATH=$out/bin:$PATH
+  '';
+
+  disabledTests = [
+    # Test is outdated (was made for PyYAML 3.x)
+    "test_main_yaml_target"
+  ];
 
-  checkInputs = [ pytest pyyaml ];
-  # test_cli.py checks the output of running "glom"
-  checkPhase = "PATH=$out/bin:$PATH pytest glom/test";
+  pythonImportsCheck = [
+    "glom"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/mahmoud/glom";
diff --git a/nixpkgs/pkgs/development/python-modules/gmpy2/default.nix b/nixpkgs/pkgs/development/python-modules/gmpy2/default.nix
index c4b0dbf200b3..27f6d8538d8b 100644
--- a/nixpkgs/pkgs/development/python-modules/gmpy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gmpy2/default.nix
@@ -9,7 +9,7 @@
 
 let
   pname = "gmpy2";
-  version = "2.1.0b5";
+  version = "2.1.2";
 in
 
 buildPythonPackage {
@@ -21,11 +21,13 @@ buildPythonPackage {
     owner = "aleaxit";
     repo = "gmpy";
     rev = "gmpy2-${version}";
-    sha256 = "1mqzyp7qwqqyk6jbicgx22svdy2106xwhmhfvdf0vpnmwswcxclb";
+    sha256 = "sha256-ARCttNzRA+Ji2j2NYaSCDXgvoEg01T9BnYadyqON2o0=";
   };
 
   buildInputs = [ gmp mpfr libmpc ];
 
+  pythonImportsCheck = [ "gmpy2" ];
+
   meta = with lib; {
     description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x";
     homepage = "https://github.com/aleaxit/gmpy/";
diff --git a/nixpkgs/pkgs/development/python-modules/goodwe/default.nix b/nixpkgs/pkgs/development/python-modules/goodwe/default.nix
index 567ffef56e69..27c70c78a66e 100644
--- a/nixpkgs/pkgs/development/python-modules/goodwe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/goodwe/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "goodwe";
-  version = "0.2.9";
+  version = "0.2.16";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "marcelblijleven";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l895nyq2g7isvim2fx4ivdh3xzhyc10yzqvqnlg3fr56l5srfch";
+    sha256 = "sha256-qW1wD6QVLqGhEnpGqNjZ50jb/3HHooohfHz+p4/ZH74=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix b/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
index 9d548b685efd..468b2476de9b 100644
--- a/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "2.2.2";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "97349cc18c2bb2415f64f1353a80273a289a61294ce3eb2f7ce682d251bdd997";
+    sha256 = "sha256-8zhjpnCWUXA7ixi2cJNRSDjHnysE0CqlASAwefJLgBg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
index 185c7579e4f7..772f45411d39 100644
--- a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.31.0";
+  version = "2.35.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f64a5eee6fa03ab51806dccf48e342fda83fea60c290518c6a2dfdbf2de9efd";
+    sha256 = "038b12979ea86ef0e33962bd33f955c337bc28f0471522bd27a801d52bfb4ae2";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
index b51a5569a595..c7fcb1a48ed1 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
index d901bb78cddb..6cb405d3c146 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "2.5.2";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c759ae99979d9f94ed0bdfe4937f41c81634f934ec11d25eb089430781eafec";
+    sha256 = "bcd3b2913c2eb83e356a457ad6e89a2a9505b2e9cb7be37055d6ce1f0fef20cf";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index 903db740c09f..35c082e05632 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.4.1";
+  version = "3.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fdc8cb68a3ee54780f673f06b3cce83a5bb5d600db7ad363c85e38bf45afb59c";
+    sha256 = "sha256-1syubhGCY8sYgV2mdneAV/8YOdplf5YZNEeZ0RAJC6E=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus pytz ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 5daa88ed9492..1d5d1b9a6890 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "2.30.1";
+  version = "2.34.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e3b5e3dcc475d5a601d84872ac0b63e059540be2251b1c4165c51106d572855";
+    sha256 = "sha256-K3XhnlPIWSRBIBgMcqGqmehJFW48BBMHGkv7rgt0xTA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index 747fdd07b041..6ef36c17796d 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
index 7eb9808c7a2d..c99d5d0a8bff 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix
index 0351bd51e2ee..84937102ac32 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-core/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-core";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "476d1f71ab78089e0638e0aaf34bfdc99bab4fce8f4170ba6321a5243d13c5c7";
+    sha256 = "sha256-fRm/iGi0ENC99aA0aKPz8tsjPA7oagI/TswreksV9zY=";
   };
 
   propagatedBuildInputs = [ google-api-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
index 0e0d5982c6e2..bf9e8552aec1 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datacatalog";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "136fb153740d4154d8c9ef306284f7f899399de45eef2c9027ca3e56249c4e2d";
+    sha256 = "sha256-9oixM+4HxHn0G3j8Hpg1iB5gM+7xyD5GBbWpEzzjdrE=";
   };
 
   propagatedBuildInputs = [ libcst google-api-core grpc-google-iam-v1 proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index 7f26b2df28ca..3badd796121e 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e012d76aa32b918c71392c11e1c727328c1570364f8d8e0676e52bc64c57a7af";
+    sha256 = "c3b60ea9059070e6d0d5c3bd3a705b5c7216a54e6a586149f9caa9158d099c3f";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
index 8773b09e59a9..d2e3abef82d1 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.4.0";
+  version = "3.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0b249fa87deb57f5c7107a7d5d303673590a6524a7f113fc95f87493f3328606";
+    sha256 = "20abce8d8d3939db243cbc0da62a73ff1a4e3b3b341f7ced0cfeb5e2c4a66621";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus pytz ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
index c8edb677c64b..06c4d9e23696 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
index 8f64e9950e0e..1efbcf02de42 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-kms/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-kms";
-  version = "2.10.1";
+  version = "2.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6a1cedc549ee0886d8603f519cc8631de3112be6f84c0bbbaedab4ee3f9b58fc";
+    sha256 = "sha256-8JOa8HzYGJq1lrPXCWRvspXpopEK+qf5av7kmKbFIrQ=";
   };
 
   propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
index 816e56364b16..b817c50ad5a5 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e0d71b72e2639af0424308a71f871c3fbf7ea86bdcbac1d91910fe2e1b419944";
+    sha256 = "90af7858911f52350191575bb729305114c3c80d1f585d0f6cea39ab1ab3e409";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
index 21add76d0ad7..dc60abddb6df 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-logging";
-  version = "2.7.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a4ad2832be3b86c8f0fb57b2d382a1f67218137c6f6051372647ac5147d6421";
+    sha256 = "sha256-RS42Hh3Lwo8iCMCAXBp8usAwdkVWcD2XZW0FIYuTNwg=";
   };
 
   postPatch = ''
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     rm tests/system/test_system.py tests/unit/test__gapic.py
   '';
 
-  pythonImortsCheck = [
+  pythonImportsCheck = [
     "google.cloud.logging"
     "google.cloud.logging_v2"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix
index ceacab720aee..aa49340f24a3 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-redis";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c5aaf6dbdf8bb1425bd42ef482a6c0ecc4b4d1718d49267d510799015c6ff1d2";
+    sha256 = "ad81fed19af6af68426e76891e4acc8a021a8bc475e2ce4be51bf28a610a9713";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
index 404a51529934..e982aefae5a9 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-securitycenter";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7321a88191d61ca0cc720b7ad07d9693e07726728492739930562bcd33ec1494";
+    sha256 = "c77a765415d5e5465a3d74fefee9ce8f9a914ff228f1b10dda70841400ce1320";
   };
 
   propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
index b08f8fb31ff9..d78766907191 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f1390c3776fcfce71e1ef024d9ccde52c16d1cd728bc587c24065d6e4d21933";
+    sha256 = "sha256-Y+MA7Nlx3+8eaBptI6eZgSPGc4MvxSrA9YA+K+VSblw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
index f9aa3e43553f..5f2737912e2c 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "2.11.1";
+  version = "2.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a15400d2fab2ec161c9b647730e8ba92feb9cbe6a1c0c7734ec8e8941290dbd";
+    sha256 = "acbf9948ce3870c72b45089356985de9df3cd881830d1127a10cb80ada9786c7";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
index 9d97437b8151..f77c718ed8b9 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-storage";
-  version = "1.43.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f3b4f4be5c8a1b5727a8f7136c94d3bacdd4b7bf11f9553f51ae4c1d876529d3";
+    sha256 = "0a5e7ab1a38d2c24be8e566e50b8b0daa8af8fd49d4ab312b1fda5c147429893";
   };
 
   propagatedBuildInputs = [
@@ -40,6 +40,7 @@ buildPythonPackage rec {
     "download"
     "get"
     "post"
+    "upload"
     "test_build_api_url"
     "test_ctor_mtls"
     "test_hmac_key_crud"
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix
index e055d462b1f3..c1b58c0e1c26 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.7.1";
+  version = "2.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2fd2222901a7d8ba65f28f9019cb41f5d4c952d012f020bdde105527a3f5ae43";
+    sha256 = "sha256-h/lmrrT8fu1YLDYF6s856EAB8+k7CMFfIMGZPDxC7Ys=";
   };
 
   propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix
index 24775464a120..d4551b4954a5 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-testutils/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-testutils";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c60ea86b28998935875b5aea0b89b0a3aac5e433e0039236f633c5d0ff5f8b8";
+    sha256 = "sha256-X85NRgGZt7+OpL4poOyS+UWec4fuABiTxEYyFpkUpqs=";
   };
 
   propagatedBuildInputs = [ click google-auth six ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index 06c1eeb857f9..c2ab6afafaa4 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "2.9.0";
+  version = "2.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e8e272ab54be00285c8f9451081d833980c9fc2a1eff828448dfe315dfa61250";
+    sha256 = "sha256-j2MSeQLw7udQrEqj9LtMqvaGSgTLiItdpN8dUTedYdI=";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-nest-sdm/default.nix b/nixpkgs/pkgs/development/python-modules/google-nest-sdm/default.nix
index 93fa676f6f82..ac40e446530d 100644
--- a/nixpkgs/pkgs/development/python-modules/google-nest-sdm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-nest-sdm/default.nix
@@ -1,19 +1,22 @@
 { lib
 , aiohttp
+, asynctest
 , buildPythonPackage
+, coreutils
 , fetchFromGitHub
 , google-auth
 , google-auth-oauthlib
 , google-cloud-pubsub
-, pythonOlder
-, requests_oauthlib
 , pytest-aiohttp
+, pytest-asyncio
 , pytestCheckHook
+, pythonOlder
+, requests_oauthlib
 }:
 
 buildPythonPackage rec {
   pname = "google-nest-sdm";
-  version = "1.2.1";
+  version = "1.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +25,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "python-google-nest-sdm";
     rev = version;
-    sha256 = "sha256-gg5JAkTUuch6HcRLl1Xm/LAoC32EcayG1w3Fk7GrZD8=";
+    sha256 = "sha256-c/Btc2CiYGb9ZGzNYDd1xJoGID6amTyv/Emdh1M6e/U=";
   };
 
   propagatedBuildInputs = [
@@ -34,7 +37,10 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    asynctest
+    coreutils
     pytest-aiohttp
+    pytest-asyncio
     pytestCheckHook
   ];
 
@@ -42,8 +48,13 @@ buildPythonPackage rec {
     "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/nixpkgs/pkgs/development/python-modules/google-re2/default.nix b/nixpkgs/pkgs/development/python-modules/google-re2/default.nix
index f61599d827cd..b04459bfa141 100644
--- a/nixpkgs/pkgs/development/python-modules/google-re2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-re2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "google-re2";
-  version = "0.2.20211101";
+  version = "0.2.20220201";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "305dc0f749c1abad51f8dc59b49b98a58dc06b976727f6b711c87c01944046d9";
+    sha256 = "sha256-H8eMC1dM+9ukuRIN4uWWs7oRuQ0tpGaCwaCl0tp+lE8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix b/nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix
index 0b10fbab29b5..5d5d2fda18a6 100644
--- a/nixpkgs/pkgs/development/python-modules/google-resumable-media/default.nix
+++ b/nixpkgs/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.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "725b989e0dd387ef2703d1cc8e86217474217f4549593c477fd94f4024a0f911";
+    sha256 = "sha256-se37mIZ8n6Jap68S1kaGZbg8UytzSe/6uAWgJ+qLvuU=";
   };
 
   propagatedBuildInputs = [ google-auth google-crc32c requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix b/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix
index 3a7c0510ad01..55380e3081a7 100644
--- a/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "googleapis-common-protos";
-  version = "1.53.0";
+  version = "1.54.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a88ee8903aa0a81f6c3cec2d5cf62d3c8aa67c06439b0496b49048fb1854ebf4";
+    sha256 = "sha256-pAMdbsbCsbbcPgvn4Qob1y+wsYsH75vntR8sEATOJDc=";
   };
 
   propagatedBuildInputs = [ grpc protobuf ];
diff --git a/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix b/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix
index 58b50f5f84f8..f00a694dfcf4 100644
--- a/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/googlemaps/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "googlemaps";
-  version = "4.5.3";
+  version = "4.6.0";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "googlemaps";
     repo = "google-maps-services-python";
     rev = "v${version}";
-    sha256 = "1yfsfspvjngrb1lwaq04ahm94j9y2dwzdf4dsg3yl1c8w0vgf9yw";
+    sha256 = "sha256-pzCM1uZupqJgoogwacuuy1P8I9LF65w7ZS6vY10VgeU=";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
index ddc638b55cb3..f6fc6db7f387 100644
--- a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "gphoto2";
-  version = "2.3.0";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a208264ed252a39b29a0b0f7ccc4c4ffb941398715aec84c3a547281a43c4eb8";
+    sha256 = "3b1b52ec3004ad6a6927a015b0572878a0a56314caaf1e62b07550e7a2e09465";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/gpxpy/default.nix b/nixpkgs/pkgs/development/python-modules/gpxpy/default.nix
index 4cd03103d850..86e4a87a8681 100644
--- a/nixpkgs/pkgs/development/python-modules/gpxpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpxpy/default.nix
@@ -1,15 +1,15 @@
-{ lib, fetchFromGitHub, buildPythonPackage, python, lxml, isPy3k }:
+{ lib, fetchFromGitHub, buildPythonPackage, python, lxml, pythonOlder }:
 
 buildPythonPackage rec {
   pname = "gpxpy";
-  version = "1.4.2";
-  disabled = !isPy3k;
+  version = "1.5.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tkrajina";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1r5gb660nrkrdbw5m5h1n5k10npcfv9bxqv92z55ds8r7rw2saz6";
+    sha256 = "sha256-Fkl2dte1WkPi2hBOdT23BMfNflR0j4GeNH86d46WNQk=";
   };
 
   propagatedBuildInputs = [ lxml ];
diff --git a/nixpkgs/pkgs/development/python-modules/gql/default.nix b/nixpkgs/pkgs/development/python-modules/gql/default.nix
new file mode 100644
index 000000000000..3df5f4c8458d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gql/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, aiofiles
+, aiohttp
+, botocore
+, buildPythonPackage
+, fetchFromGitHub
+, graphql-core
+, mock
+, parse
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-toolbelt
+, urllib3
+, vcrpy
+, websockets
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "gql";
+  version = "3.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "graphql-python";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-c2OVBOIwQlwyqET8Q22O65VtWduVzQjYOhkE8GpD6LQ=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    botocore
+    graphql-core
+    requests
+    requests-toolbelt
+    urllib3
+    websockets
+    yarl
+  ];
+
+  checkInputs = [
+    aiofiles
+    mock
+    parse
+    pytest-asyncio
+    pytestCheckHook
+    vcrpy
+  ];
+
+  disabledTests = [
+    # Tests requires network access
+    "test_execute_result_error"
+    "test_http_transport"
+  ];
+
+  disabledTestPaths = [
+    # Exclude linter tests
+    "gql-checker/tests/test_flake8_linter.py"
+    "gql-checker/tests/test_pylama_linter.py"
+  ];
+
+  pythonImportsCheck = [
+    "gql"
+  ];
+
+  meta = with lib; {
+    description = "GraphQL client in Python";
+    homepage = "https://github.com/graphql-python/gql";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix b/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix
index b7424c44f6de..e81d815e8c20 100644
--- a/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gradient-utils/default.nix
@@ -7,6 +7,7 @@
 , poetry-core
 , prometheus-client
 , pytestCheckHook
+, pythonOlder
 , requests
 }:
 
@@ -15,6 +16,8 @@ buildPythonPackage rec {
   version = "0.5.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchFromGitHub {
     owner = "Paperspace";
     repo = pname;
@@ -22,15 +25,9 @@ buildPythonPackage rec {
     sha256 = "19plkgwwfs6298vjplgsvhirixi3jbngq5y07x9c0fjxk39fa2dk";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'numpy = "1.18.5"' 'numpy = "^1.18.5"' \
-      --replace 'hyperopt = "0.1.2"' 'hyperopt = ">=0.1.2"' \
-      --replace 'wheel = "^0.35.1"' 'wheel = "*"' \
-      --replace 'prometheus-client = ">=0.8,<0.10"' 'prometheus-client = "*"'
-  '';
-
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     hyperopt
@@ -44,15 +41,24 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'wheel = "^0.35.1"' 'wheel = "*"' \
+      --replace 'prometheus-client = ">=0.8,<0.10"' 'prometheus-client = "*"'
+  '';
+
   preCheck = ''
     export HOSTNAME=myhost-experimentId
   '';
 
-  disabledTests = [
-    "test_add_metrics_pushes_metrics" # requires a working prometheus push gateway
+  disabledTestPaths = [
+    # Requires a working Prometheus push gateway
+    "tests/integration/test_metrics.py"
   ];
 
-  pythonImportsCheck = [ "gradient_utils" ];
+  pythonImportsCheck = [
+    "gradient_utils"
+  ];
 
   meta = with lib; {
     description = "Python utils and helpers library for Gradient";
diff --git a/nixpkgs/pkgs/development/python-modules/gradient/default.nix b/nixpkgs/pkgs/development/python-modules/gradient/default.nix
index 735dc03b6df7..8daa95c53b86 100644
--- a/nixpkgs/pkgs/development/python-modules/gradient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gradient/default.nix
@@ -9,6 +9,7 @@
 , fetchPypi
 , gradient_statsd
 , gradient-utils
+, gql
 , halo
 , marshmallow
 , progressbar2
@@ -22,17 +23,19 @@
 
 buildPythonPackage rec {
   pname = "gradient";
-  version = "1.8.13";
+  version = "1.10.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fa4a0553c28839e364d3aac27ec7292d26c1df27b8c54701d57eb7eda0b14f2";
+    hash = "sha256-wLdxU+PSREmTlX51scazmTC+U/mE95sSpfaUgHb8/Oc=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'attrs<=' 'attrs>=' \
       --replace 'colorama==' 'colorama>=' \
+      --replace 'gql[requests]==3.0.0a6' 'gql' \
       --replace 'PyYAML==' 'PyYAML>=' \
       --replace 'marshmallow<' 'marshmallow>=' \
       --replace 'websocket-client==' 'websocket-client>='
@@ -45,6 +48,7 @@ buildPythonPackage rec {
     click-didyoumean
     click-help-colors
     colorama
+    gql
     gradient_statsd
     gradient-utils
     halo
@@ -58,17 +62,20 @@ buildPythonPackage rec {
     websocket-client
   ];
 
-  # tries to use /homeless-shelter to mimic container usage, etc
+  # Tries to use /homeless-shelter to mimic container usage, etc
   doCheck = false;
 
+  # marshmallow.exceptions.StringNotCollectionError: "only" should be a collection of strings.
+  # Support for marshmallow > 3
+  # pythonImportsCheck = [
+  #   "gradient"
+  # ];
+
   meta = with lib; {
     description = "The command line interface for Gradient";
     homepage = "https://github.com/Paperspace/gradient-cli";
     license = licenses.isc;
     platforms = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
-    # There is no support for click > 8
-    # https://github.com/Paperspace/gradient-cli/issues/368
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/grandalf/default.nix b/nixpkgs/pkgs/development/python-modules/grandalf/default.nix
index 6056d215d227..c4e7eb4d7446 100644
--- a/nixpkgs/pkgs/development/python-modules/grandalf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grandalf/default.nix
@@ -3,20 +3,22 @@
 , fetchFromGitHub
 , pyparsing
 , future
-, pytest
-, pytest-runner
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "grandalf";
-  version = "0.6";
+  version = "0.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # fetch from github to acquire tests
   src = fetchFromGitHub {
     owner = "bdcht";
-    repo = "grandalf";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1f1l288sqna0bca7dwwvyw7wzg9b2613g6vc0g0vfngm7k75b2jg";
+    hash = "sha256-j2SvpQvDMfwoj2PAQSxzEIyIzzJ61Eb9wgetKyni6A4=";
   };
 
   propagatedBuildInputs = [
@@ -24,18 +26,22 @@ buildPythonPackage rec {
     future
   ];
 
-  checkInputs = [ pytest pytest-runner ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  patches = [ ./no-setup-requires-pytestrunner.patch ];
+  patches = [
+    ./no-setup-requires-pytestrunner.patch
+  ];
 
-  checkPhase = ''
-    pytest tests
-  '';
+  pythonImportsCheck = [
+    "grandalf"
+  ];
 
   meta = with lib; {
-    description = "A python package made for experimentations with graphs and drawing algorithms";
+    description = "Module for experimentations with graphs and drawing algorithms";
     homepage = "https://github.com/bdcht/grandalf";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ cmcdragonkai ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix b/nixpkgs/pkgs/development/python-modules/graph-tool/default.nix
index c8725dfd1167..c8725dfd1167 100644
--- a/nixpkgs/pkgs/development/python-modules/graph-tool/2.x.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/graph-tool/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/grapheme/default.nix b/nixpkgs/pkgs/development/python-modules/grapheme/default.nix
new file mode 100644
index 000000000000..965b1a1d2197
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/grapheme/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "grapheme";
+  version = "0.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jiwc3w05c8kh22s3zk7a8km8na3plqc5zimb2qcyxxy3grbkhj4";
+  };
+
+  # Tests are no available on PyPI
+  # https://github.com/alvinlindstam/grapheme/issues/18
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "grapheme"
+  ];
+
+  meta = with lib; {
+    description = "Python package for grapheme aware string handling";
+    homepage = "https://github.com/alvinlindstam/grapheme";
+    license = licenses.mit;
+    maintainers = with maintainers; [ creator54 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/graphene/default.nix b/nixpkgs/pkgs/development/python-modules/graphene/default.nix
index 7a28bc08cda4..e975bff8fee4 100644
--- a/nixpkgs/pkgs/development/python-modules/graphene/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/graphql-core/default.nix b/nixpkgs/pkgs/development/python-modules/graphql-core/default.nix
index 8906af53ce19..75583cdbfe39 100644
--- a/nixpkgs/pkgs/development/python-modules/graphql-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphql-core/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "graphql-core";
-  version = "3.1.6";
+  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 = "1ip0yrqmnqncgpwvba18x020gkwr7csiw4zdy6mrdnvwf5qyam4x";
+    sha256 = "sha256-71Z+5nVvg+aozJAKmBGJg5Gqq1OIVH7Xv33Q82IHhXg=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix b/nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix
index 8ef95b460ae2..33b4c437dde2 100644
--- a/nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.1.1";
   pname = "grappelli_safe";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "84c03ec5373341d980a76480d992389e286fbc50048e91bc2e5c876d02873cc5";
+    sha256 = "ee34b3e2a3711498b1f8da3d9daa8a1239efdf255a212181742b6a5890fac039";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/greeclimate/default.nix b/nixpkgs/pkgs/development/python-modules/greeclimate/default.nix
index 5f72411e9e89..6fbefe827b45 100644
--- a/nixpkgs/pkgs/development/python-modules/greeclimate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/greeclimate/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "greeclimate";
-  version = "1.0.1";
+  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-O9SaEveZntb7VWL5k1WjTDK9fXhTWFIsVh5v7NKASnQ=";
+    hash = "sha256-z8X/AZx5Vam7nqYTjhhyXz7E23Crf5vLlNhWXLGSMcs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/green/default.nix b/nixpkgs/pkgs/development/python-modules/green/default.nix
index e4a3401109b4..ccff2f21e1f9 100644
--- a/nixpkgs/pkgs/development/python-modules/green/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/green/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "green";
-  version = "3.3.0";
+  version = "3.4.1";
   format = "setuptools";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a4d86f2dfa4ccbc86f24bcb9c9ab8bf34219c876c24e9f0603aab4dfe73bb575";
+    sha256 = "5dda2d2a277012227011f8f21523d70a550ebe5d47cc890fa16b9fcd9a91da53";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/groestlcoin_hash/default.nix b/nixpkgs/pkgs/development/python-modules/groestlcoin_hash/default.nix
new file mode 100644
index 000000000000..859573d1ca53
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/groestlcoin_hash/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "groestlcoin_hash";
+  version = "1.0.3";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "31a8f6fa4c19db5258c3c73c071b71702102c815ba862b6015d9e4b75ece231e";
+  };
+
+  pythonImportsCheck = [
+    "groestlcoin_hash"
+  ];
+
+  meta = with lib; {
+    description = "Bindings for groestl key derivation function library used in Groestlcoin";
+    homepage = "https://pypi.org/project/groestlcoin_hash/";
+    maintainers = with maintainers; [ gruve-p ];
+    license = licenses.unfree;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/growattserver/default.nix b/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
index 18d6cd4dabb1..6347d9f55b8e 100644
--- a/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gruut/default.nix b/nixpkgs/pkgs/development/python-modules/gruut/default.nix
index 4718d8244d0c..f1e490a65cb2 100644
--- a/nixpkgs/pkgs/development/python-modules/gruut/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gssapi/default.nix b/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
index 330172f56cee..d500c6453213 100644
--- a/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gst-python/default.nix b/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
index a391d993cf0c..c02e3b593b82 100644
--- a/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gvm-tools/default.nix b/nixpkgs/pkgs/development/python-modules/gvm-tools/default.nix
index 17fb02fd10d9..8de737eeeddc 100644
--- a/nixpkgs/pkgs/development/python-modules/gvm-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gvm-tools/default.nix
@@ -4,6 +4,7 @@
 , poetry-core
 , pytestCheckHook
 , python-gvm
+, pythonAtLeast
 , pythonOlder
 }:
 
@@ -36,6 +37,8 @@ buildPythonPackage rec {
   disabledTests = [
     # Don't test sending
     "SendTargetTestCase"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
+    "HelpFormattingParserTestCase"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/gym/default.nix b/nixpkgs/pkgs/development/python-modules/gym/default.nix
index 5bcfb64a184d..1616343f8b43 100644
--- a/nixpkgs/pkgs/development/python-modules/gym/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/h2/default.nix b/nixpkgs/pkgs/development/python-modules/h2/default.nix
index fcd283621493..a73d9960f693 100644
--- a/nixpkgs/pkgs/development/python-modules/h2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/h5py/default.nix b/nixpkgs/pkgs/development/python-modules/h5py/default.nix
index 701b8f78f83b..36b1322a88b3 100644
--- a/nixpkgs/pkgs/development/python-modules/h5py/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ha-av/default.nix b/nixpkgs/pkgs/development/python-modules/ha-av/default.nix
index af5f5f31ab61..78735b67d44d 100644
--- a/nixpkgs/pkgs/development/python-modules/ha-av/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/habanero/default.nix b/nixpkgs/pkgs/development/python-modules/habanero/default.nix
index e24f2fc09691..9dc3193957f6 100644
--- a/nixpkgs/pkgs/development/python-modules/habanero/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
index 287e12afe78e..656b89ab7b53 100644
--- a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
@@ -1,7 +1,11 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, aiohttp
+, pydevccu
+, pytest-aiohttp
+, pytestCheckHook
+, python-slugify
 , pythonOlder
 , voluptuous
 , websocket-client
@@ -10,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "0.9.1";
+  version = "0.35.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -19,15 +23,22 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sxYa0SCsX1NZlCRMIpwyU1KPEteVH5HGLx1dFsbiu/E=";
+    sha256 = "sha256-VgtdnKj+TlAsFr1un6eMlYfumap4mwE8H4kkKAUrxfo=";
   };
 
   propagatedBuildInputs = [
     aiohttp
+    python-slugify
     voluptuous
   ];
 
-  # Module has no tests
+  checkInputs = [
+    pydevccu
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  # Starting with 0.30 the tests are broken, check with the next major release
   doCheck = false;
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/halohome/default.nix b/nixpkgs/pkgs/development/python-modules/halohome/default.nix
index b87b59a46ec0..7d8dbe2efbb8 100644
--- a/nixpkgs/pkgs/development/python-modules/halohome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/halohome/default.nix
@@ -9,7 +9,8 @@
 
 buildPythonPackage rec {
   pname = "halohome";
-  version = "0.4.0";
+  version = "0.5.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
@@ -17,7 +18,7 @@ buildPythonPackage rec {
     owner = "nayaverdier";
     repo = pname;
     rev = version;
-    sha256 = "W7cqBJmoBUT0VvXeNKxUK0FfAuprjfvFv6rgyL2gqYQ=";
+    sha256 = "sha256-xnUOObqVg1E7mTDKHZMoC95KI9ZIn0YpkQjoASa5Dds=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hangups/default.nix b/nixpkgs/pkgs/development/python-modules/hangups/default.nix
index 1832803388fc..3b5e0a218b78 100644
--- a/nixpkgs/pkgs/development/python-modules/hangups/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hangups/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hangups";
-  version = "0.4.15";
+  version = "0.4.17";
 
   disabled = pythonOlder "3.6";
 
@@ -26,13 +26,12 @@ buildPythonPackage rec {
     owner = "tdryer";
     repo = "hangups";
     rev = "v${version}";
-    sha256 = "sha256-47OvfFK92AtX6KiYnvro2B17RfQWyzgsgvOfl5T3Kag=";
+    hash = "sha256-8kNWcRAip9LkmazDUVeDjGWhy/TWzT01c959LA5hb1Q=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "protobuf>=3.1.0,<3.17" "protobuf" \
-      --replace "async-timeout>=2,<4" "async-timeout" \
+      --replace "protobuf>=3.1.0,<3.20" "protobuf" \
       --replace "MechanicalSoup>=0.6.0,<0.13" "MechanicalSoup"
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/hap-python/default.nix b/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
index c58e50bee868..63a2e941f0fa 100644
--- a/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "hap-python";
-  version = "4.3.0";
+  version = "4.4.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "ikalchev";
     repo = "HAP-python";
     rev = "v${version}";
-    sha256 = "sha256-G4KL6iMeVn/tmvFtFL8vyqHGNfqk6j8iG4tDK9VpCyM=";
+    sha256 = "sha256-dSiI2W4U4FYwMRBInpxb/wkQLKxPzLHIkLPNgiZEhUA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
index 48788537a660..2e3be091cef6 100644
--- a/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.50.0";
+  version = "0.52.0";
 
   src = fetchFromGitHub {
     owner = "nabucasa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0E8eiHzqbxHbtAd97MbvFMRDWTu25E9x/44oNGC4mUM=";
+    sha256 = "sha256-mTbNuER26BPQIjcmlpkdFNeBcNF1vTldaNpoEla0XbM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/hdlparse/default.nix b/nixpkgs/pkgs/development/python-modules/hdlparse/default.nix
deleted file mode 100644
index 4257f9b2e9a2..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/heatzypy/default.nix b/nixpkgs/pkgs/development/python-modules/heatzypy/default.nix
index a0647d2dd77d..578a359778a6 100644
--- a/nixpkgs/pkgs/development/python-modules/heatzypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/heatzypy/default.nix
@@ -1,4 +1,5 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchFromGitHub
 , requests
@@ -8,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "heatzypy";
-  version = "1.4.2";
+  version = "2.0.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,10 +18,11 @@ buildPythonPackage rec {
     owner = "Cyr-ius";
     repo = pname;
     rev = version;
-    sha256 = "nENuH2u9RtWq86TW/sDFFeYS8GTWGj7qfcFS8AHFRGk=";
+    sha256 = "sha256-i5tGV9nJrLRqZwJZ3y5c65MHykz34bnr3yz+OdaQEoM=";
   };
 
   propagatedBuildInputs = [
+    aiohttp
     requests
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix b/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
index ba9511a078d5..450eee102372 100644
--- a/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/hiredis/default.nix b/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
index 00ce786b005d..eea5e5bf8043 100644
--- a/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hiredis/default.nix
@@ -1,25 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, redis
+, pythonOlder
+
+# tested using
 , python
 }:
 
 buildPythonPackage rec {
   pname = "hiredis";
   version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a";
   };
-  propagatedBuildInputs = [ redis ];
+
+  pythonImportsCheck = [ "hiredis" ];
 
   checkPhase = ''
     mv hiredis _hiredis
     ${python.interpreter} test.py
   '';
-  pythonImportsCheck = [ "hiredis" ];
 
   meta = with lib; {
     description = "Wraps protocol parsing code in hiredis, speeds up parsing of multi bulk replies";
diff --git a/nixpkgs/pkgs/development/python-modules/holidays/default.nix b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
index 10d333301641..ecefce19aede 100644
--- a/nixpkgs/pkgs/development/python-modules/holidays/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.11.3.1";
+  version = "0.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SFWv4Ov0KO+8+EhHeCi4ifhRW+f08VriZoKRk2nZJ3Q=";
+    sha256 = "d99f2b6ddc5bfab7b7f8bbed457a82104f8980122a04b982bfc0e4f8820a1d46";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
index 89d86ee4eb43..18a5f0cd82aa 100644
--- a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/homematicip/default.nix b/nixpkgs/pkgs/development/python-modules/homematicip/default.nix
index fb10dc516831..71752fede539 100644
--- a/nixpkgs/pkgs/development/python-modules/homematicip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/homematicip/default.nix
@@ -5,8 +5,8 @@
 , async-timeout
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , pytest-aiohttp
 , pytest-asyncio
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "homematicip";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,18 +26,9 @@ buildPythonPackage rec {
     owner = "coreGreenberet";
     repo = "homematicip-rest-api";
     rev = version;
-    sha256 = "008snxx9ijpi1zr1pi1v4a6g74j821hyw0khs9lmi08v2mcabm36";
+    sha256 = "sha256-j2ansly05auevlcDY5TFz6PZR/pNIGIbtkJuU8L5b0o=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Drop loop kwarg from async_timeout.timeout
-      # https://github.com/coreGreenberet/homematicip-rest-api/pull/424
-      url = "https://github.com/coreGreenberet/homematicip-rest-api/commit/90efb335667e3d462b7f9ef113d2e0b8bb4e96b4.patch";
-      sha256 = "0f2bbs0666mf6sc7p4n8fwh29yjilkq36qf5pn0waf6iqdzxqwih";
-    })
-  ];
-
   propagatedBuildInputs = [
     aenum
     aiohttp
@@ -54,11 +45,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace homematicip/aio/connection.py \
-      --replace ", loop=self._loop" ""
-  '';
-
   disabledTests = [
     # Assert issues with datetime
     "test_contact_interface_device"
@@ -82,6 +68,11 @@ buildPythonPackage rec {
     "test_home_unknown_types"
     # Requires network access
     "test_websocket"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
+    "test_connection_lost"
+    "test_user_disconnect_and_reconnect"
+    "test_ws_message"
+    "test_ws_no_pong"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/html-sanitizer/default.nix b/nixpkgs/pkgs/development/python-modules/html-sanitizer/default.nix
index 546f1acad094..111d7e00d1b2 100644
--- a/nixpkgs/pkgs/development/python-modules/html-sanitizer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/html-sanitizer/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "html-sanitizer";
-  version = "1.9.1";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "matthiask";
     repo = pname;
     rev = version;
-    sha256 = "0nnv34924r0yn01rwlk749j5ijy7yxyj302s1i57yjrkqr3zlvas";
+    sha256 = "sha256-1JSdi1PFM+N+UuEPfgWkOZw8S2PZ4ntadU0wnVJNnjw=";
   };
 
   propagatedBuildInputs = [
@@ -26,9 +26,17 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "html_sanitizer/tests.py" ];
+  pytestFlagsArray = [
+    "html_sanitizer/tests.py"
+  ];
+
+  disabledTests = [
+    "test_billion_laughs"
+  ];
 
-  pythonImportsCheck = [ "html_sanitizer" ];
+  pythonImportsCheck = [
+    "html_sanitizer"
+  ];
 
   meta = with lib; {
     description = "Allowlist-based and very opinionated HTML sanitizer";
diff --git a/nixpkgs/pkgs/development/python-modules/html5lib/default.nix b/nixpkgs/pkgs/development/python-modules/html5lib/default.nix
index 1172b0195132..58da63d02edd 100644
--- a/nixpkgs/pkgs/development/python-modules/html5lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/html5lib/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , six
 , webencodings
 , mock
 , pytest-expect
-, pytestCheckHook_5
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -17,15 +18,26 @@ buildPythonPackage rec {
     sha256 = "b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f";
   };
 
+  patches = [
+    # Fix compatibility with pytest 6.
+    # Will be included in the next release after 1.1.
+    (fetchpatch {
+      url = "https://github.com/html5lib/html5lib-python/commit/2c19b9899ab3a3e8bd0ca35e5d78544334204169.patch";
+      sha256 = "sha256-VGCeB6o2QO/skeCZs8XLPfgEYVOSRL8cCpG7ajbZWEs=";
+    })
+  ];
+
   propagatedBuildInputs = [
     six
     webencodings
   ];
 
+  # latest release not compatible with pytest 6
+  doCheck = false;
   checkInputs = [
     mock
     pytest-expect
-    pytestCheckHook_5
+    pytestCheckHook
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/httpagentparser/default.nix b/nixpkgs/pkgs/development/python-modules/httpagentparser/default.nix
new file mode 100644
index 000000000000..44c521ff3304
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/httpagentparser/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "httpagentparser";
+  version = "1.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a190dfdc5e63b2f1c87729424b19cbc49263d6a1fb585a16ac1c9d9ce127a4bf";
+  };
+
+  # PyPi version does not include test directory
+  doCheck = false;
+
+  pythonImportsCheck = [ "httpagentparser" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/shon/httpagentparser";
+    description = "Extracts OS Browser etc information from http user agent string";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/httpbin/default.nix b/nixpkgs/pkgs/development/python-modules/httpbin/default.nix
index ace9a7041e3f..8359fcf0a096 100644
--- a/nixpkgs/pkgs/development/python-modules/httpbin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/httpcore/default.nix b/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
index 99eb08a35a9d..79d979b10a97 100644
--- a/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/httplib2/default.nix b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
index 3f48af86e581..9a8a8853780a 100644
--- a/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
@@ -48,7 +48,11 @@ buildPythonPackage rec {
     sed -i "/--cov/d" setup.cfg
   '';
 
-  disabledTests = lib.optionals (stdenv.isDarwin) [
+  disabledTests = [
+    # ValueError: Unable to load PEM file.
+    # https://github.com/httplib2/httplib2/issues/192#issuecomment-993165140
+    "test_client_cert_password_verified"
+  ] ++ lib.optionals (stdenv.isDarwin) [
     # fails with HTTP 408 Request Timeout, instead of expected 200 OK
     "test_timeout_subsequent"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix
index b3ac17cf7f07..40ef250401bf 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx-ntlm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
index fac9ecba6ce9..e45e6a85487a 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "httpx-socks";
-  version = "0.7.2";
+  version = "0.7.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wigmkhn4ymfr12z9vhdaimjcma9llicwrr29q0cc8xmy23f3445";
+    sha256 = "11wnhx9nfsg5lsnlgh33zngyhc2klichpfrkwajbbyq95fdqj8ri";
   };
 
   propagatedBuildInputs = [
@@ -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/nixpkgs/pkgs/development/python-modules/httpx/default.nix b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
index 543308a3fdc1..d479cc1f13ce 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/huey/default.nix b/nixpkgs/pkgs/development/python-modules/huey/default.nix
index 28a801de71a6..38c25fa1b0c8 100644
--- a/nixpkgs/pkgs/development/python-modules/huey/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/humanfriendly/default.nix b/nixpkgs/pkgs/development/python-modules/humanfriendly/default.nix
index b88fc9633799..77f0c75e0103 100644
--- a/nixpkgs/pkgs/development/python-modules/humanfriendly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/humanfriendly/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "humanfriendly";
-  version = "9.2";
+  version = "10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f7dba53ac7935fd0b4a2fc9a29e316ddd9ea135fb3052d3d0279d10c18ff9c48";
+    sha256 = "6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc";
   };
 
   propagatedBuildInputs = lib.optional (pythonOlder "3.3") monotonic;
diff --git a/nixpkgs/pkgs/development/python-modules/hwi/default.nix b/nixpkgs/pkgs/development/python-modules/hwi/default.nix
index d4d091c36f8b..332521d07040 100644
--- a/nixpkgs/pkgs/development/python-modules/hwi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hwi/default.nix
@@ -8,11 +8,15 @@
 , mnemonic
 , pyaes
 , typing-extensions
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "hwi";
   version = "2.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bitcoin-core";
@@ -34,18 +38,22 @@ buildPythonPackage rec {
   # make compatible with libusb1 2.x
   postPatch = ''
     substituteInPlace setup.py \
-      --replace 'libusb1>=1.7,<2.0' 'libusb1>=1.7'
+      --replace 'libusb1>=1.7,<2.0' 'libusb1>=1.7' \
+      --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
   doCheck = false;
 
-  pythonImportsCheck = [ "hwilib" ];
+  pythonImportsCheck = [
+    "hwilib"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Bitcoin Hardware Wallet Interface";
     homepage = "https://github.com/bitcoin-core/hwi";
-    license = with lib.licenses; [ mit ];
-    maintainers = with lib.maintainers; [ prusnak ];
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ prusnak ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/hydra/default.nix b/nixpkgs/pkgs/development/python-modules/hydra/default.nix
index 5fb15be0a3f9..645df973fa6a 100644
--- a/nixpkgs/pkgs/development/python-modules/hydra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hydra/default.nix
@@ -1,9 +1,18 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, pytestCheckHook
-, importlib-resources, omegaconf, jre_headless, antlr4-python3-runtime }:
+{ lib
+, antlr4-python3-runtime
+, buildPythonPackage
+, fetchFromGitHub
+, importlib-resources
+, jre_headless
+, omegaconf
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "hydra";
   version = "1.1.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -14,17 +23,35 @@ buildPythonPackage rec {
     sha256 = "sha256:1svzysrjg47gb6lxx66fzd8wbhpbbsppprpbqssf5aqvhxgay3qk";
   };
 
-  nativeBuildInputs = [ jre_headless ];
-  checkInputs = [ pytestCheckHook ];
-  propagatedBuildInputs = [ omegaconf antlr4-python3-runtime ]
-    ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ];
+  nativeBuildInputs = [
+    jre_headless
+  ];
+
+  propagatedBuildInputs = [
+    antlr4-python3-runtime
+    omegaconf
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # test environment setup broken under Nix for a few tests:
+  # Test environment setup broken under Nix for a few tests:
   disabledTests = [
     "test_bash_completion_with_dot_in_path"
     "test_install_uninstall"
+    "test_config_search_path"
+  ];
+
+  disabledTestPaths = [
+    "tests/test_hydra.py"
+  ];
+
+  pythonImportsCheck = [
+    "hydra"
   ];
-  disabledTestPaths = [ "tests/test_hydra.py" ];
 
   meta = with lib; {
     description = "A framework for configuring complex applications";
diff --git a/nixpkgs/pkgs/development/python-modules/hypercorn/default.nix b/nixpkgs/pkgs/development/python-modules/hypercorn/default.nix
index 5f3842835364..dc165f2b2cc4 100644
--- a/nixpkgs/pkgs/development/python-modules/hypercorn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/hyperion-py/default.nix b/nixpkgs/pkgs/development/python-modules/hyperion-py/default.nix
index c282be29c655..719efb92d1da 100644
--- a/nixpkgs/pkgs/development/python-modules/hyperion-py/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix b/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
index 4cf8acf70872..89aac153172d 100644
--- a/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
+++ b/nixpkgs/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.27.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 = "05kfz041vrd9fy8gl8ch05g806jj4j6l1cnwhqgygagn9z3aq1jx";
+    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/nixpkgs/pkgs/development/python-modules/hypothesmith/default.nix b/nixpkgs/pkgs/development/python-modules/hypothesmith/default.nix
index 776ff77fce2f..3ce0f068fec9 100644
--- a/nixpkgs/pkgs/development/python-modules/hypothesmith/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/i-pi/default.nix b/nixpkgs/pkgs/development/python-modules/i-pi/default.nix
index 5f031197978a..340e3618be1a 100644
--- a/nixpkgs/pkgs/development/python-modules/i-pi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/i-pi/default.nix
@@ -3,7 +3,7 @@
 } :
 
 buildPythonPackage rec {
-  name = "i-pi";
+  pname = "i-pi";
   version = "2.4.0";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/python-modules/i2csense/default.nix b/nixpkgs/pkgs/development/python-modules/i2csense/default.nix
new file mode 100644
index 000000000000..475e77c21841
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
index 1627159e6fbd..61b944b48836 100644
--- a/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
@@ -1,10 +1,24 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy27, pythonAtLeast
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, atpublic
+, cached-property
+, clickhouse-driver
+, click
+, dask
 , graphviz
+, importlib-metadata
 , multipledispatch
 , numpy
 , pandas
+, parsy
+, poetry-core
 , pyarrow
 , pytest
+, pytest-mock
+, pytest-xdist
 , pytz
 , regex
 , requests
@@ -12,54 +26,135 @@
 , tables
 , toolz
 }:
+let
+  # ignore tests for which dependencies are not available
+  backends = [
+    "csv"
+    "dask"
+    "hdf5"
+    "pandas"
+    "parquet"
+    "sqlite"
+  ];
+
+  backendsString = lib.concatStringsSep " " backends;
+
+  ibisTestingData = fetchFromGitHub {
+    owner = "ibis-project";
+    repo = "testing-data";
+    rev = "743201a35c6b968cf55b054f9d28949ea15d1f0a";
+    sha256 = "sha256-xuSE6wHP3aF8lnEE2SuFbTRBu49ecRmc1F3HPcszptI=";
+  };
+in
 
 buildPythonPackage rec {
   pname = "ibis-framework";
-  version = "1.3.0";
-  disabled = isPy27 || pythonAtLeast "3.8";
+  version = "2.1.1";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1my94a11jzg1hv6ln8wxklbqrg6z5l2l77vr89aq0829yyxacmv7";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    repo = "ibis";
+    owner = "ibis-project";
+    rev = version;
+    sha256 = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200=";
   };
 
-  patches = [
-    # fix tests for pandas 1.1
-    (fetchpatch {
-      url = "https://github.com/ibis-project/ibis/commit/53ef3cefc4ae90d61f3612310cb36da2bcd11305.diff";
-      sha256 = "1i5yjmqridjqpggiinsjaz5spcxca5bd48vy7a0mj4mm1b5flw2m";
-    })
-  ];
+  nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
+    atpublic
+    cached-property
+    clickhouse-driver
+    dask
+    graphviz
     multipledispatch
     numpy
     pandas
+    parsy
+    pyarrow
     pytz
     regex
-    toolz
-    sqlalchemy
     requests
-    graphviz
+    sqlalchemy
     tables
-    pyarrow
+    toolz
+  ] ++ lib.optionals (pythonOlder "3.8" && lib.versionOlder version "3.0.0") [
+    importlib-metadata
   ];
 
   checkInputs = [
+    pytestCheckHook
+    click
     pytest
+    pytest-mock
+    pytest-xdist
   ];
 
-  # ignore tests which require test dataset, or frameworks not available
-  checkPhase = ''
-    pytest ibis \
-      --ignore=ibis/tests/all \
-      --ignore=ibis/{sql,spark}
+  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"
+    "test_join_with_window_function"
+    "test_where_long"
+    "test_quantile_groupby"
+    "test_summary_numeric"
+    "test_summary_numeric_group_by"
+    "test_summary_non_numeric"
+    "test_searched_case_column"
+    "test_simple_case_column"
+    "test_summary_non_numeric_group_by"
+  ];
+
+  pytestFlagsArray = [
+    "--numprocesses $NIX_BUILD_CORES"
+    "ibis/tests"
+    "ibis/backends/tests"
+    "ibis/backends/{${lib.concatStringsSep "," backends}}/tests"
+  ];
+
+  preCheck = ''
+    set -euo pipefail
+
+    export IBIS_TEST_DATA_DIRECTORY
+    IBIS_TEST_DATA_DIRECTORY="$(mktemp -d)"
+
+    # copy the test data to a writable directory
+    cp -r ${ibisTestingData}/* "$IBIS_TEST_DATA_DIRECTORY"
+
+    find "$IBIS_TEST_DATA_DIRECTORY" -type d -exec chmod u+rwx {} +
+    find "$IBIS_TEST_DATA_DIRECTORY" -type f -exec chmod u+rw {} +
+
+    # load data
+    for backend in ${backendsString}; do
+      python ci/datamgr.py "$backend" &
+    done
+
+    wait
+  '' + lib.optionalString (lib.versionOlder version "3.0.0") ''
+    export PYTEST_BACKENDS="${backendsString}"
+  '';
+
+  pythonImportsCheck = [
+    "ibis"
+  ] ++ (map (backend: "ibis.backends.${backend}") backends);
+
   meta = with lib; {
     description = "Productivity-centric Python Big Data Framework";
     homepage = "https://github.com/ibis-project/ibis";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc cpcloud ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index 1f8b4063dd79..64ecd3c496bb 100644
--- a/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.13.2";
+  version = "3.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c615b3a6e9d9dc1c69d8f38742b156e12408521fa180a66558bbb7b850bbbc2";
+    sha256 = "695c4125436f4f8354a67bc85af9ac306b66911c75d19ade25072dd436b55c4e";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix b/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
index a0c12758069b..e8ecdfff32ba 100644
--- a/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
@@ -10,19 +10,30 @@
 , python-dateutil
 , websocket-client
 , ibm-cloud-sdk-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ibm-watson";
-  version = "5.3.0";
+  version = "5.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "watson-developer-cloud";
     repo = "python-sdk";
     rev = "v${version}";
-    sha256 = "0g63h7rf0710bxcsr115857bvz69sl2g5d13k5a7qi7hjh33bxrk";
+    sha256 = "1x6r8j0xyi81jb0q4pzr6l7aglykrwqz8nw45clv79v33i2sgdcs";
   };
 
+  propagatedBuildInputs = [
+    requests
+    python-dateutil
+    websocket-client
+    ibm-cloud-sdk-core
+  ];
+
   checkInputs = [
     responses
     pytestCheckHook
@@ -31,18 +42,15 @@ buildPythonPackage rec {
     tox
   ];
 
-  propagatedBuildInputs = [
-    requests
-    python-dateutil
-    websocket-client
-    ibm-cloud-sdk-core
-  ];
-
   postPatch = ''
     substituteInPlace setup.py \
       --replace websocket-client==1.1.0 websocket-client>=1.1.0
   '';
 
+  pythonImportsCheck = [
+    "ibm_watson"
+  ];
+
   meta = with lib; {
     description = "Client library to use the IBM Watson Services";
     homepage = "https://github.com/watson-developer-cloud/python-sdk";
diff --git a/nixpkgs/pkgs/development/python-modules/icecream/default.nix b/nixpkgs/pkgs/development/python-modules/icecream/default.nix
index 28fed3bcb788..81fd7c8a693a 100644
--- a/nixpkgs/pkgs/development/python-modules/icecream/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/icmplib/default.nix b/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
index 82033321f882..aae5785fccfb 100644
--- a/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ics/default.nix b/nixpkgs/pkgs/development/python-modules/ics/default.nix
index ed87f3678b15..34a36642976d 100644
--- a/nixpkgs/pkgs/development/python-modules/ics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ics/default.nix
@@ -40,6 +40,8 @@ buildPythonPackage rec {
   disabledTests = [
     # Failure seems to be related to arrow > 1.0
     "test_event"
+    # Broke with TatSu 5.7:
+    "test_many_lines"
   ];
 
   pythonImportsCheck = [ "ics" ];
diff --git a/nixpkgs/pkgs/development/python-modules/idasen/default.nix b/nixpkgs/pkgs/development/python-modules/idasen/default.nix
index 9031b7022d8e..b0e9b7d57065 100644
--- a/nixpkgs/pkgs/development/python-modules/idasen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/idasen/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "idasen";
-  version = "0.8.1";
+  version = "0.8.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "newAM";
     repo = "idasen";
     rev = "v${version}";
-    sha256 = "122bhbc3zqqm4x1x7a7mydvxxjrdssnqyxyqg0lbgxgn5rm8wbdd";
+    sha256 = "sha256-s8CnYMUVl2VbGbVxICSaKH5DxTA+NP/zPX1z7vfMqi4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/identify/default.nix b/nixpkgs/pkgs/development/python-modules/identify/default.nix
index 194dce3f88df..949ae27273c6 100644
--- a/nixpkgs/pkgs/development/python-modules/identify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.4.1";
+  version = "2.4.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+kfIpmJ6Gnb33MZ7NZrE8oVSBbZLuRfIvfCbstxJFX0=";
+    sha256 = "sha256-a12a4PvACkB+zpJts6syDqMPafjhZp1UWnob9UiKMbM=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ignite/default.nix b/nixpkgs/pkgs/development/python-modules/ignite/default.nix
index c027eba98742..897b5975c90c 100644
--- a/nixpkgs/pkgs/development/python-modules/ignite/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/igraph/default.nix b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
index f5b21d58866a..f7409dc08236 100644
--- a/nixpkgs/pkgs/development/python-modules/igraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "igraph";
-  version = "0.9.8";
+  version = "0.9.9";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "igraph";
     repo = "python-igraph";
     rev = version;
-    sha256 = "sha256-RtvT5/LZ/xP68yBB7DDKJGeNCiX4HyPTCuk+Ijd2nFs=";
+    hash = "sha256-jHK8whCg+WitRSL5LmkqfdqiAdi9vZPicygzKThnW2U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix b/nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix
index 2c535ea79b57..4fe56c616146 100644
--- a/nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ihatemoney/default.nix
@@ -39,25 +39,9 @@
 , psycopg2 # optional, for postgresql support
 , flask_testing
 , pytestCheckHook
+, fetchpatch
 }:
 
-# ihatemoney is not really a library. It will only ever be imported
-# by the interpreter of uwsgi. So overrides for its depencies are fine.
-let
-  # sqlalchemy-continuum requires sqlalchemy < 1.4
-  pinned_sqlalchemy = sqlalchemy.overridePythonAttrs (
-    old: rec {
-      pname = "SQLAlchemy";
-      version = "1.3.24";
-
-      src = fetchPypi {
-        inherit pname version;
-        sha256 = "06bmxzssc66cblk1hamskyv5q3xf1nh1py3vi6dka4lkpxy7gfzb";
-      };
-    }
-  );
-in
-
 buildPythonPackage rec {
   pname = "ihatemoney";
   version = "5.1.1";
@@ -81,16 +65,7 @@ buildPythonPackage rec {
     flask-babel
     flask-cors
     flask_mail
-    (
-      flask_migrate.override {
-        flask_sqlalchemy = flask_sqlalchemy.override {
-          sqlalchemy = pinned_sqlalchemy;
-        };
-        alembic = alembic.override {
-          sqlalchemy = pinned_sqlalchemy;
-        };
-      }
-    )
+    flask_migrate
     flask-restful
     flask-talisman
     flask_wtf
@@ -103,40 +78,27 @@ buildPythonPackage rec {
     pytz
     requests
     six
-    (
-      (
-        sqlalchemy-continuum.override {
-          sqlalchemy = pinned_sqlalchemy;
-          sqlalchemy-utils = sqlalchemy-utils.override {
-            sqlalchemy = pinned_sqlalchemy;
-          };
-          sqlalchemy-i18n = sqlalchemy-i18n.override {
-            sqlalchemy = pinned_sqlalchemy;
-            sqlalchemy-utils = sqlalchemy-utils.override {
-              sqlalchemy = pinned_sqlalchemy;
-            };
-          };
-          flask_sqlalchemy = flask_sqlalchemy.override {
-            sqlalchemy = pinned_sqlalchemy;
-          };
-        }
-      ).overridePythonAttrs (
-        old: {
-          doCheck = false;
-        }
-      )
-    )
+    sqlalchemy-continuum
     werkzeug
     wtforms
     psycopg2
     debts
   ];
 
-  # upstream performed the update without needing to patch the code
-  # the original patch does not apply, sadly
-  # https://github.com/spiral-project/ihatemoney/pull/912
+  patches = [
+    # fix build with wtforms 3. remove with next release
+    (fetchpatch {
+      url = "https://github.com/spiral-project/ihatemoney/commit/40ce32d9fa58a60d26a4d0df547b8deb709c330d.patch";
+      sha256 = "sha256-2ewOu21qhq/AOZaE9qrF5J6HH0h6ohFgjDb+BYjJnuQ=";
+      excludes = [ "setup.cfg" ];
+    })
+  ];
+
   postPatch = ''
-    substituteInPlace setup.cfg --replace "Flask-WTF>=0.14.3,<1" "Flask-WTF>=0.14.3,<2"
+    substituteInPlace setup.cfg \
+      --replace "Flask-WTF>=0.14.3,<1" "Flask-WTF>=0.14.3,<2" \
+      --replace "SQLAlchemy>=1.3.0,<1.4" "SQLAlchemy>=1.3.0,<1.5" \
+      --replace "WTForms>=2.3.1,<2.4" "WTForms"
   '';
 
   checkInputs = [
@@ -144,6 +106,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportChecks = [ "ihatemoney" ];
+
   disabledTests = [
     "test_notifications"  # requires running service.
     "test_invite"         # requires running service.
diff --git a/nixpkgs/pkgs/development/python-modules/ilua/default.nix b/nixpkgs/pkgs/development/python-modules/ilua/default.nix
new file mode 100644
index 000000000000..5b5c129c2749
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ilua/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jupyter_console
+, jupyter_core
+, pygments
+, termcolor
+, txzmq
+}:
+
+buildPythonPackage rec {
+  pname = "ilua";
+  version = "0.2.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-YxV6xC7GS5NXyMPRZN9YIJxamgP2etwrZUAZjk5PjtU=";
+  };
+
+  propagatedBuildInputs = [
+    jupyter_console
+    jupyter_core
+    pygments
+    termcolor
+    txzmq
+  ];
+
+  # No tests found
+  doCheck = false;
+
+  pythonImportsCheck = [ "ilua" ];
+
+  meta = with lib; {
+    description = "Portable Lua kernel for Jupyter";
+    homepage = "https://github.com/guysv/ilua";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix b/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
index a249b2dbfe19..6998ff330afc 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/imageio/default.nix b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
index f27c9fded9b2..98495932fdaf 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , isPy27
 , fetchPypi
+, fetchpatch
 , imageio-ffmpeg
 , numpy
 , pillow
@@ -12,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.12.0";
+  version = "2.14.1";
   disabled = isPy27;
 
   src = fetchPypi {
-    sha256 = "c416dd68328ace8536ff333cbb8927954036be56e201fed416e53e8f95e08a6c";
+    sha256 = "sha256-cJwY+ACYHkKGq+S9hrbJtbtuKFtrkztboJYu+OeZQFg=";
     inherit pname version;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix b/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
index 3437dd902bcd..59de3b3f3ff0 100644
--- a/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.50.2";
+  version = "0.51.0";
 
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    hash = "sha256-ki38Kr+eDEIQPRuoQePR7dCRDSgq2ZLXws1pq2gtQrI=";
+    hash = "sha256-ZJen+hpNpeZjScD7aqdaW796KRlJ8K1JBXPOagpceXk=";
   };
 
   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/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix b/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix
index bb29504d63e6..b1e5e9197522 100644
--- a/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "imbalanced-learn";
-  version = "0.8.1";
+  version = "0.9.0";
   disabled = isPy27; # scikit-learn>=0.21 doesn't work on python2
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eaf576b1ba3523a0facf3aaa483ca17e326301e53e7678c54d73b7e0250edd43";
+    sha256 = "836a4c137cc3c10310d4f6cd5ec34600ff488d7f8c243a997c3f9b551c91d0b2";
   };
 
   propagatedBuildInputs = [ scikit-learn ];
diff --git a/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix b/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
index ee11e1280c15..58e3db524a82 100644
--- a/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
@@ -1,4 +1,21 @@
-{ lib, pillow, fetchPypi, buildPythonPackage, isPy27, pikepdf }:
+{ lib
+, buildPythonPackage
+, isPy27
+, fetchPypi
+, fetchpatch
+, pikepdf
+, pillow
+, stdenv
+, exiftool
+, ghostscript
+, imagemagick
+, mupdf
+, netpbm
+, numpy
+, poppler_utils
+, pytestCheckHook
+, scipy
+}:
 
 buildPythonPackage rec {
   pname = "img2pdf";
@@ -10,19 +27,49 @@ buildPythonPackage rec {
     sha256 = "sha256-jlHFBD76lddRSBtRYHGgBvh8KkBZlhqaxD7COJFd4J8=";
   };
 
+  patches = [
+    # Disable tests broken by Pillow 9.0.0
+    # https://gitlab.mister-muffin.de/josch/img2pdf/issues/130#issuecomment-586
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/img2pdf/-/raw/f77fefc81e7c4b235c47ae6777d222d391c59536/debian/patches/pillow9";
+      sha256 = "sha256-8giZCuv5PzSbrBQqslNqiLOhgxbg3LsdBVwt+DWnvh4=";
+    })
+  ];
+
   propagatedBuildInputs = [
     pikepdf
     pillow
   ];
 
-  # no tests exectuted
-  doCheck = false;
+  # https://gitlab.mister-muffin.de/josch/img2pdf/issues/128
+  doCheck = !stdenv.isAarch64;
+
+  checkInputs = [
+    exiftool
+    ghostscript
+    imagemagick
+    mupdf
+    netpbm
+    numpy
+    poppler_utils
+    pytestCheckHook
+    scipy
+  ];
+
+  preCheck = ''
+    export img2pdfprog="$out/bin/img2pdf"
+  '';
+
+  disabledTests = [
+    "test_tiff_rgb"
+  ];
+
+  pythonImportsCheck = [ "img2pdf" ];
 
   meta = with lib; {
     description = "Convert images to PDF via direct JPEG inclusion";
     homepage = "https://gitlab.mister-muffin.de/josch/img2pdf";
     license = licenses.lgpl2;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.veprbl ];
+    maintainers = with maintainers; [ veprbl dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/iminuit/default.nix b/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
index 3faf61d169be..1b99cd05f03b 100644
--- a/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "iminuit";
-  version = "2.8.4";
+  version = "2.9.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4b09189f3094896cfc68596adc95b7f1d92772e1de1424e5dc4dd81def56e8b0";
+    sha256 = "656410ceffead79a52d3d727fdcd2bac78d7774239bef0efc3b7a86bae000ff3";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/python-modules/importlab/default.nix b/nixpkgs/pkgs/development/python-modules/importlab/default.nix
new file mode 100644
index 000000000000..2ea3f01d2ccb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/importlab/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, networkx
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "importlab";
+  version = "0.7";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "importlab";
+    rev = "676d17cd41ac68de6ebb48fb71780ad6110c4ae3";
+    sha256 = "sha256-O8y1c65NQ+19BnGnUnWrA0jYUqF+726CFAcWzHFOiHE=";
+  };
+
+  propagatedBuildInputs = [ networkx ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTestPaths = [ "tests/test_parsepy.py" ];
+
+  pythonImportsCheck = [ "importlab" ];
+
+  meta = with lib; {
+    description = "A library that automatically infers dependencies for Python files";
+    homepage = "https://github.com/google/importlab";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sei40kr ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix b/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix
index e13f73616775..13b26e337ac2 100644
--- a/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -10,15 +10,15 @@
 
 buildPythonPackage rec {
   pname = "importlib-metadata";
-  version = "4.8.2";
+  version = "4.10.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "importlib_metadata";
     inherit version;
-    sha256 = "sha256-db3sFMOX9ShyTBv9lwnWYLM6TS53OHozWPILhIu15fs=";
+    hash = "sha256-lR8NiltyYOnbXkHUKShbX0UekoR58Z2AgYh4Un026V4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/inflect/default.nix b/nixpkgs/pkgs/development/python-modules/inflect/default.nix
index ca454d432317..a6c549b61f1b 100644
--- a/nixpkgs/pkgs/development/python-modules/inflect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/inflect/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "inflect";
-  version = "5.3.0";
+  version = "5.4.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "41a23f6788962e9775e40e2ecfb1d6455d02de315022afeedd3c5dc070019d73";
+    sha256 = "sha256-tY1YxOc//KmyXgdcHE/Jyt7LtcmdfNnzze3ac+zoPBw=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
index 9e3c7be8f4a1..9eb9bd48d47e 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.24.0";
+  version = "1.25.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "v${version}";
-    sha256 = "0w0pw87fnxms88f3dadyhxdgms4rzvcww18h6l87wnqc6wxa6paw";
+    sha256 = "0anziqlczzc9qmz1mrk8yapn0pc18wz2pknyghyj5qpym3w2azas";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
index 8ecd46e3b96b..ec81f631ac30 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , python-dateutil
-, fetchFromGitHub
+, fetchPypi
 , fetchpatch
 , mock
 , msgpack
@@ -16,13 +16,11 @@
 
 buildPythonPackage rec {
   pname = "influxdb";
-  version = "5.3.0";
+  version = "5.3.1";
 
-  src = fetchFromGitHub {
-    owner = "influxdata";
-    repo = "influxdb-python";
-    rev = "v${version}";
-    sha256 = "1jfkf53jcf8lcq98qc0bw5d1d0yp3558mh8l2dqc9jlsm0smigjs";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ymjv322mv6y424fmpd70f87152w55mbwwj6i7p3sjzf0ixmxy26";
   };
 
   propagatedBuildInputs = [
@@ -41,14 +39,6 @@ buildPythonPackage rec {
     pandas
   ];
 
-  patches = [
-    (fetchpatch {
-      # Relaxes msgpack pinning
-      url = "https://github.com/influxdata/influxdb-python/commit/cc41e290f690c4eb67f75c98fa9f027bdb6eb16b.patch";
-      sha256 = "1fb9qrq1kp24pixjwvzhdy67z3h0wnj92aj0jw0a25fd0rdxdvg4";
-    })
-  ];
-
   disabledTests = [
     # Tests cause FutureWarning due to use of 'record' instead of 'records' in pandas.
     #   https://github.com/influxdata/influxdb-python/pull/845
diff --git a/nixpkgs/pkgs/development/python-modules/inquirer/default.nix b/nixpkgs/pkgs/development/python-modules/inquirer/default.nix
index 84e381f0b8c8..dd2db106acea 100644
--- a/nixpkgs/pkgs/development/python-modules/inquirer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/installer/default.nix b/nixpkgs/pkgs/development/python-modules/installer/default.nix
new file mode 100644
index 000000000000..a19f27a0a753
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/installer/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+, flit-core
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "installer";
+  version = "0.3.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "pradyunsg";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-AxAQgDhRFkb0HB7ttDb+pHuHzwnNDX6UOm9rswzIwmI=";
+  };
+
+  nativeBuildInputs = [ flit-core ];
+
+  checkInputs = [
+    pytestCheckHook
+    mock
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/pradyunsg/installer";
+    description = "A low-level library for installing a Python package from a wheel distribution.";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud fridh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix b/nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix
new file mode 100644
index 000000000000..5418b237d1b7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pydantic
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "intellifire4py";
+  version = "0.9.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jeeftor";
+    repo = pname;
+    rev = version;
+    hash = "sha256-oI4iGnfitou8/Jhe7K4rnSPnmddfO+6FLZzqgNmaPV8=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    pydantic
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Test file is missing
+    "test_json_files"
+  ];
+
+  pythonImportsCheck = [
+    "intellifire4py"
+  ];
+
+  meta = with lib; {
+    description = "Module to read Intellifire fireplace status data";
+    homepage = "https://github.com/jeeftor/intellifire4py";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/intensity-normalization/default.nix b/nixpkgs/pkgs/development/python-modules/intensity-normalization/default.nix
index 806153288216..48260398f490 100644
--- a/nixpkgs/pkgs/development/python-modules/intensity-normalization/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/intensity-normalization/default.nix
@@ -15,25 +15,16 @@
 
 buildPythonPackage rec {
   pname = "intensity-normalization";
-  version = "2.1.1";
+  version = "2.1.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-aGuGdUqaUgoD95PLFch+lF9o7eeKwK0bNWTF1beslIY=";
+    sha256 = "e7b46039311bcbba40224d85eb07eefe1488bd8a6faa893a180e15e65c48b7f5";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg --replace "pytest-runner" ""
-  '';
-
-  checkInputs = [ pytestCheckHook ];
-  pythonImportsCheck = [
-    "intensity_normalization"
-    "intensity_normalization.normalize"
-    "intensity_normalization.plot"
-    "intensity_normalization.util"
-  ];
   propagatedBuildInputs = [
     matplotlib
     nibabel
@@ -45,6 +36,22 @@ buildPythonPackage rec {
     statsmodels
   ];
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pytest-runner" ""
+  '';
+
+  pythonImportsCheck = [
+    "intensity_normalization"
+    "intensity_normalization.normalize"
+    "intensity_normalization.plot"
+    "intensity_normalization.util"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/jcreinhold/intensity-normalization";
     description = "MRI intensity normalization tools";
diff --git a/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix b/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
index b87892906072..d197ba9691bf 100644
--- a/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "internetarchive";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ebd11ecd038c71e75a3aef8d87750b46480169ecaefb23074c4ae48440bf2836";
+    sha256 = "fa89dc4be3e0a0aee24810a4a754e24adfd07edf710c645b4f642422c6078b8d";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix b/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix
index b29ee9179287..41ef6faa7c37 100644
--- a/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipaddr/default.nix
@@ -1,23 +1,22 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, isPy3k
-}:
+{ lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
   pname = "ipaddr";
   version = "2.2.0";
-  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "1ml8r8z3f0mnn381qs1snbffa920i9ycp6mm2am1d3aqczkdz4j0";
   };
 
+  checkPhase = ''
+    python ipaddr_test.py
+  '';
+
   meta = with lib; {
-    description = "Google's IP address manipulation library";
+    description = "IP address manipulation library";
     homepage = "https://github.com/google/ipaddr-py";
     license = licenses.asl20;
+    maintainers = [ maintainers.astro ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix b/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix
new file mode 100644
index 000000000000..1b8b7f002ae3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut
+, ipfs, packaging, tomli }:
+
+buildPythonPackage rec {
+  pname = "ipwhl";
+  version = "1.0.0";
+  format = "flit";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = "ipwhl-utils";
+    rev = version;
+    sha256 = "sha256-KstwdmHpn4ypBNpX56NeStqdzy5RElMTW1oR2hCtJ7c=";
+  };
+
+  buildInputs = [ ipfs ];
+  propagatedBuildInputs = [ packaging tomli ];
+  doCheck = false; # there's no test
+  pythonImportsCheck = [ "ipwhl" ];
+
+  meta = with lib; {
+    description = "Utilities for the InterPlanetary Wheels";
+    homepage = "https://git.sr.ht/~cnx/ipwhl-utils";
+    license = licenses.agpl3Plus;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
index f18750af1ffb..0827e611679e 100644
--- a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.5.1";
+  version = "6.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dd27172bccbbcfef952991e49372e4c6fd1c14eed0df05ebd5b4335cb27a81a2";
+    sha256 = "d82b904fdc2fd8c7b1fbe0fa481c68a11b4cd4c8ef07e6517da1f10cc3114d24";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ipympl/default.nix b/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
index f04b876f0487..3644442f7ada 100644
--- a/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ipympl";
-  version = "0.8.4";
+  version = "0.8.7";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "2f955c1c04d8e6df883d57866450657040bfc568edeabcace801cbdbaf4d0295";
+    sha256 = "11c3d01f0555f855c51a960964e3ab4dff38e6ccd1a4695205fe250341a9eb99";
   };
 
 
diff --git a/nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix b/nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix
index 4c64fca34b76..51b76fc532bb 100644
--- a/nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ipython/7.16.nix b/nixpkgs/pkgs/development/python-modules/ipython/7.16.nix
deleted file mode 100644
index 1f62cc9bc18d..000000000000
--- a/nixpkgs/pkgs/development/python-modules/ipython/7.16.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
-# Build dependencies
-, glibcLocales
-# Test dependencies
-, nose
-, pygments
-# Runtime dependencies
-, jedi
-, decorator
-, pickleshare
-, traitlets
-, prompt-toolkit
-, pexpect
-, appnope
-, backcall
-}:
-
-buildPythonPackage rec {
-  pname = "ipython";
-  version = "7.16.1";
-  disabled = pythonOlder "3.6";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9f4fcb31d3b2c533333893b9172264e4821c1ac91839500f31bd43f2c59b3ccf";
-  };
-
-  prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace setup.py --replace "'gnureadline'" " "
-  '';
-
-  buildInputs = [ glibcLocales ];
-
-  checkInputs = [ nose pygments ];
-
-  propagatedBuildInputs = [
-    jedi
-    decorator
-    pickleshare
-    traitlets
-    prompt-toolkit
-    pygments
-    pexpect
-    backcall
-  ] ++ lib.optionals stdenv.isDarwin [appnope];
-
-  LC_ALL="en_US.UTF-8";
-
-  doCheck = false; # Circular dependency with ipykernel
-
-  checkPhase = ''
-    nosetests
-  '';
-
-  pythonImportsCheck = [
-    "IPython"
-  ];
-
-  meta = with lib; {
-    description = "IPython: Productive Interactive Computing";
-    homepage = "http://ipython.org/";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ bjornfor fridh ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/ipython/default.nix b/nixpkgs/pkgs/development/python-modules/ipython/default.nix
index 2065dc2349fd..cee9868cfacb 100644
--- a/nixpkgs/pkgs/development/python-modules/ipython/default.nix
+++ b/nixpkgs/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.29.0";
-  disabled = pythonOlder "3.7";
+  version = "8.0.1";
+  format = "pyproject";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f69d7423a5a1972f6347ff233e38bbf4df6a150ef20fbb00c635442ac3060aa";
+    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/nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix b/nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix
index 61fd8d269bab..567c033e243f 100644
--- a/nixpkgs/pkgs/development/python-modules/ipyvuetify/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/irc/default.nix b/nixpkgs/pkgs/development/python-modules/irc/default.nix
index 423ec4ecf292..15747d3f70d1 100644
--- a/nixpkgs/pkgs/development/python-modules/irc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/irc/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "irc";
-  version = "19.0.1";
+  version = "20.0.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "99fd5d1fa1d054dee4fbb81e0d5193dc1e8200db751d5da9a97850a62162b9ab";
+    sha256 = "59acb8d69d61a0cbd290e77e6ff10a8c7f2201fb8c7b7d5a195b5883d0c40b0a";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/irctokens/default.nix b/nixpkgs/pkgs/development/python-modules/irctokens/default.nix
index 037a5f0520fd..3cd86abb0b2e 100644
--- a/nixpkgs/pkgs/development/python-modules/irctokens/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/iso4217/default.nix b/nixpkgs/pkgs/development/python-modules/iso4217/default.nix
index b1438f29a017..12cf40a6764e 100644
--- a/nixpkgs/pkgs/development/python-modules/iso4217/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/iso8601/default.nix b/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
index 3a255ac047e5..a5eb03dc8eb6 100644
--- a/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
@@ -1,25 +1,37 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, hypothesis
 , pytestCheckHook
+, pytz
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "iso8601";
-  version = "0.1.16";
+  version = "1.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-NlMvd8yABZTo8WZB7a5/G695MvBdjlCFRblfxTxtyFs=";
+    sha256 = "sha256-J/UDIg5oRdnblU+yErlbA2LYt+bBsjJqhwYcPek1lLE=";
   };
 
   checkInputs = [
+    hypothesis
     pytestCheckHook
+    pytz
   ];
 
-  pytestFlagsArray = [ "iso8601" ];
+  pytestFlagsArray = [
+    "iso8601"
+  ];
 
-  pythonImportsCheck = [ "iso8601" ];
+  pythonImportsCheck = [
+    "iso8601"
+  ];
 
   meta = with lib; {
     description = "Simple module to parse ISO 8601 dates";
diff --git a/nixpkgs/pkgs/development/python-modules/isort/default.nix b/nixpkgs/pkgs/development/python-modules/isort/default.nix
index b55fb9156814..d21f79b6ba9b 100644
--- a/nixpkgs/pkgs/development/python-modules/isort/default.nix
+++ b/nixpkgs/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 = [
@@ -52,6 +52,7 @@ buildPythonPackage rec {
 
   disabledTests = [
     "test_run" # doesn't like paths in /build
+    "test_fuzz_show_unified_diff" # flakey
     "test_pyi_formatting_issue_942"
     "test_requirements_finder"
     "test_pipfile_finder"
diff --git a/nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix b/nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix
index c67259eee0f6..ade063a625ae 100644
--- a/nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/itanium_demangler/default.nix
@@ -1,30 +1,36 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, lib
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "itanium_demangler";
+  pname = "itanium-demangler";
   version = "1.0"; # pulled from pypi version
 
   src = fetchFromGitHub {
     owner = "whitequark";
-    repo = "python-${pname}";
+    repo = "python-itanium_demangler";
     rev = "29c77860be48e6dafe3496e4d9d0963ce414e366";
-    sha256 = "0qm95l6542nk63986w9lgzkxg824l31714i584s02rh9xwfg1xfx";
+    hash = "sha256-3fXwHO8JZgE0QSWScMKgRKDX5380cYPSMNMKUgwtqWI=";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest tests/test.py
-  '';
+  pytestFlagsArray = [
+    "tests/test.py"
+  ];
+
+  pythonImportsCheck = [
+    " itanium_demangler "
+  ];
 
   meta = with lib; {
-    description = "A pure Python parser for the Itanium C++ ABI symbol mangling language";
+    description = "Python parser for the Itanium C++ ABI symbol mangling language";
     homepage = "https://github.com/whitequark/python-itanium_demangler";
     license = licenses.bsd0;
-    maintainers = [ maintainers.pamplemousse ];
+    maintainers = with maintainers; [ pamplemousse ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/itemdb/default.nix b/nixpkgs/pkgs/development/python-modules/itemdb/default.nix
new file mode 100644
index 000000000000..f9afc4c5cb36
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/itemdb/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "itemdb";
+  version = "1.1.1";
+
+  # PyPI tarball doesn't include tests directory
+  src = fetchFromGitHub {
+    owner = "almarklein";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ksad5j91nlbsn0a11clf994qz7r9ijand5hxnjhgd66i9hl3y78";
+  };
+
+  meta = with lib; {
+    description = "Easy transactional database for Python dicts, backed by SQLite";
+    license = licenses.bsd2;
+    homepage = "https://itemdb.readthedocs.io";
+    maintainers = [ maintainers.matthiasbeyer ];
+  };
+}
+
+
diff --git a/nixpkgs/pkgs/development/python-modules/janus/default.nix b/nixpkgs/pkgs/development/python-modules/janus/default.nix
index c8a9efdb54f8..f4c52db722cd 100644
--- a/nixpkgs/pkgs/development/python-modules/janus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix
index 46f2bfdff3fc..d45d354b38e7 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco_collections/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jaraco_functools/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco_functools/default.nix
index 1316c2b4e729..73aa7708cf25 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco_functools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jax/default.nix b/nixpkgs/pkgs/development/python-modules/jax/default.nix
index 574341f216ab..c91b6e485226 100644
--- a/nixpkgs/pkgs/development/python-modules/jax/default.nix
+++ b/nixpkgs/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.26";
+  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 = "155hhwgq6axdrj4x4hw72322qv1wc068n4cv4z2vf5jpl05fg93g";
+    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/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
index f597eeacfced..3504c6bf3204 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
@@ -13,22 +13,35 @@
 #   * 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
-# Options:
+{ absl-py
+, addOpenGLRunpath
+, autoPatchelfHook
+, buildPythonPackage
+, config
+, cudatoolkit_11
+, cudnn
+, fetchurl
+, flatbuffers
+, isPy39
+, lib
+, scipy
+, stdenv
+  # Options:
 , cudaSupport ? config.cudaSupport or false
 }:
 
+# Note that these values are tied to the specific version of the GPU wheel that
+# we fetch. When updating, try to go for the latest possible versions that are
+# still compatible with the cudatoolkit and cudnn versions available in nixpkgs.
 assert cudaSupport -> lib.versionAtLeast cudatoolkit_11.version "11.1";
+assert cudaSupport -> lib.versionAtLeast cudnn.version "8.0.5";
 
 let
   device = if cudaSupport then "gpu" else "cpu";
 in
 buildPythonPackage rec {
   pname = "jaxlib";
-  version = "0.1.71";
+  version = "0.3.0";
   format = "wheel";
 
   # At the time of writing (8/19/21), there are releases for 3.7-3.9. Supporting
@@ -36,14 +49,23 @@ buildPythonPackage rec {
   # version.
   disabled = !isPy39;
 
+  # Find new releases at https://storage.googleapis.com/jax-releases.
   src = {
     cpu = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/nocuda/jaxlib-${version}-cp39-none-manylinux2010_x86_64.whl";
-      sha256 = "sha256:0rqhs6qabydizlv5d3rb20dbv6612rr7dqfniy9r6h4kazdinsn6";
+      sha256 = "151p4vqli8x0iqgrzrr8piqk7d76a2xq2krf23jlb142iam5bw01";
     };
     gpu = fetchurl {
-      url = "https://storage.googleapis.com/jax-releases/cuda111/jaxlib-${version}+cuda111-cp39-none-manylinux2010_x86_64.whl";
-      sha256 = "sha256:065kyzjsk9m84d138p99iymdiiicm1qz8a3iwxz8rspl43rwrw89";
+      # Note that there's also a release targeting cuDNN 8.2, but unfortunately
+      # we don't yet have that packaged at the time of writing (02/03/2022).
+      # 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 = "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";
+      # sha256 = "000mnm2masm3sx3haddcmgw43j4gxa3m4fcm14p9nb8dnncjkgpb";
     };
   }.${device};
 
@@ -71,19 +93,20 @@ buildPythonPackage rec {
       rpath=$(patchelf --print-rpath $file)
       # For some reason `makeLibraryPath` on `cudatoolkit_11` maps to
       # <cudatoolkit_11.lib>/lib which is different from <cudatoolkit_11>/lib.
-      patchelf --set-rpath "$rpath:${cudatoolkit_11}/lib:${lib.makeLibraryPath [ cudatoolkit_11.lib ]}" $file
+      patchelf --set-rpath "$rpath:${cudatoolkit_11}/lib:${lib.makeLibraryPath [ cudatoolkit_11.lib cudnn ]}" $file
     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/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
index bfb7f494ce1a..664e109719ad 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jc/default.nix b/nixpkgs/pkgs/development/python-modules/jc/default.nix
index 1a4ce8f7498a..ba70918cde1f 100644
--- a/nixpkgs/pkgs/development/python-modules/jc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.17.5";
+  version = "1.18.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "004773a1wsip1gnqvas78k0snv7yq83qv1spir891sz4mmg7fyin";
+    sha256 = "sha256-OMFW2xR6X/6H8ouHAe5qX8ltuwkNG9esjdosac+MiNw=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix b/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix
index c498a69d0a62..f2e9b66b7b3c 100644
--- a/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jdatetime/default.nix
@@ -1,19 +1,34 @@
-{ lib, buildPythonPackage, fetchPypi, six }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "jdatetime";
-  version = "3.7.0";
+  version = "4.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f06876c926b8cf88b2f0f68d6cda2b0ff86002385877c9867970e1d017ef82a8";
+    sha256 = "sha256-01uuou0hPk6Hu4QMYWNwAVQL0h6ORFS9EjUrBlkewI4=";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [
+    six
+  ];
+
+  pythonImportsCheck = [
+    "jdatetime"
+  ];
 
   meta = with lib; {
-    description = "Jalali datetime binding for python";
-    homepage = "https://pypi.python.org/pypi/jdatetime";
+    description = "Jalali datetime binding";
+    homepage = "https://github.com/slashmili/python-jalali";
     license = licenses.psfl;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix b/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix
index 90e4634b46c9..4603b8708c4e 100644
--- a/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "jedi-language-server";
-  version = "0.34.11";
+  version = "0.35.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pappasam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gxpq93mfyzhjz5yvjwv2jjda1djpf20x38893ngswsm7lrh62x5";
+    sha256 = "sha256-+bhvWWiG0cA36oc2PFvgRTIvqnjIt5BUN82DY0tvuPo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jedi/default.nix b/nixpkgs/pkgs/development/python-modules/jedi/default.nix
index ad94a3a3f7bc..d9884ab3d9f5 100644
--- a/nixpkgs/pkgs/development/python-modules/jedi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jedi/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "jedi";
-  version = "0.18.0";
+  version = "0.18.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "davidhalter";
     repo = "jedi";
     rev = "v${version}";
-    sha256 = "0d8zdj56hyxbsvvrid6r3nprm0ygxaad6zpsbhbj6k7p3dcx7acw";
+    sha256 = "sha256-wWNPNi16WtefvB7GcQBnWMbHVlVzxSFs4TKRqEasuR0=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix b/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix
index 546e56f702f6..a275b97310d9 100644
--- a/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jellyfish/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "jellyfish";
-  version = "0.8.9";
+  version = "0.9.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "90d25e8f5971ebbcf56f216ff5bb65d6466572b78908c88c47ab588d4ea436c2";
+    sha256 = "40c9a2ffd8bd3016f7611d424120442f627f56d518a106847dc93f0ead6ad79a";
   };
 
   checkInputs = [ pytest unicodecsv ];
diff --git a/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix b/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 5613b904f63d..bc5432cb6e3f 100644
--- a/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -9,14 +9,17 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42ea423f44beafee0e985009124968e300447f6e3be4180e83568cf21520d1b1";
+    sha256 = "sha256-gpsot4LW1IBfYt8eb72WJqMzWEAMt4gqWOD1KhTQjds=";
   };
 
   postPatch = ''
+    # relax version constraint, https://storyboard.openstack.org/#!/story/2009723
+    substituteInPlace requirements.txt --replace 'PyYAML>=3.10.0,<6' 'PyYAML>=3.10.0'
+
     export HOME=$TMPDIR
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/jira/default.nix b/nixpkgs/pkgs/development/python-modules/jira/default.nix
index c7d8207aa3d9..b22f5ccd73a4 100644
--- a/nixpkgs/pkgs/development/python-modules/jira/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jmp/default.nix b/nixpkgs/pkgs/development/python-modules/jmp/default.nix
index dc096b93ae46..09c41a7ededd 100644
--- a/nixpkgs/pkgs/development/python-modules/jmp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jmp/default.nix
@@ -19,10 +19,9 @@ buildPythonPackage rec {
     sha256 = "0hh4cmp93wjyidj48gh07vhx2kjvpwd23xvy79bsjn5qaaf6q4cm";
   };
 
-  # Wheel requires only `numpy`, but the import needs both `jax` and `jaxlib`.
+  # Wheel requires only `numpy`, but the import needs `jax`.
   propagatedBuildInputs = [
     jax
-    jaxlib
   ];
 
   pythonImportsCheck = [
@@ -30,6 +29,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    jaxlib
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/johnnycanencrypt/default.nix b/nixpkgs/pkgs/development/python-modules/johnnycanencrypt/default.nix
index 2f7921374e75..9f247c2d7569 100644
--- a/nixpkgs/pkgs/development/python-modules/johnnycanencrypt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/josepy/default.nix b/nixpkgs/pkgs/development/python-modules/josepy/default.nix
index c091480f63c6..036b60e9eca2 100644
--- a/nixpkgs/pkgs/development/python-modules/josepy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jpylyzer/default.nix b/nixpkgs/pkgs/development/python-modules/jpylyzer/default.nix
index 442267b52ea0..92c78895eb62 100644
--- a/nixpkgs/pkgs/development/python-modules/jpylyzer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jq/default.nix b/nixpkgs/pkgs/development/python-modules/jq/default.nix
index 3833bf9850f8..ed80bc9f81f7 100644
--- a/nixpkgs/pkgs/development/python-modules/jq/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jsmin/default.nix b/nixpkgs/pkgs/development/python-modules/jsmin/default.nix
index f11fccb086bc..58759393bbed 100644
--- a/nixpkgs/pkgs/development/python-modules/jsmin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsmin/default.nix
@@ -1,17 +1,38 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "jsmin";
-  version = "2.2.2";
+  version = "3.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fsmqbjvpxvff0984x7c0y8xmf49ax9mncz48b9xjx8wrnr9kpxn";
+    sha256 = "c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc";
   };
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "jsmin/test.py"
+  ];
+
+  pythonImportsCheck = [
+    "jsmin"
+  ];
+
   meta = with lib; {
     description = "JavaScript minifier";
     homepage = "https://github.com/tikitu/jsmin/";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix b/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
index 5f2c5ac7fdde..a9faf437f80f 100644
--- a/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "json-schema-for-humans";
-  version = "0.39.3";
+  version = "0.40";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "coveooss";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rg50AE30R1OErtOKppnkhg8MTuhEY6gdBgc7ipEkONA=";
+    hash = "sha256-H0jvOnrWE4/xxRYNehshHBRNc/qLX1+sCV7O1ACCdew=";
   };
 
   nativeBuildInputs = [
@@ -54,6 +54,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    # https://github.com/coveooss/json-schema-for-humans/issues/127
+    substituteInPlace pyproject.toml \
+      --replace 'PyYAML = "^5.4.1"' 'PyYAML = "*"'
+  '';
+
   disabledTests = [
     # Tests require network access
     "test_references_url"
diff --git a/nixpkgs/pkgs/development/python-modules/json-tricks/default.nix b/nixpkgs/pkgs/development/python-modules/json-tricks/default.nix
new file mode 100644
index 000000000000..9995e537c541
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/json-tricks/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, pytestCheckHook
+, numpy
+, pandas
+, pytz
+}:
+
+buildPythonPackage rec {
+  pname = "json-tricks";
+  version = "3.15.5";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "mverleg";
+    repo = "pyjson_tricks";
+    rev = "v${version}";
+    sha256 = "wdpqCqMO0EzKyqE4ishL3CTsSw3sZPGvJ0HEktKFgZU=";
+  };
+
+  checkInputs = [ numpy pandas pytz pytestCheckHook ];
+
+  pythonImportsCheck = [ "json_tricks" ];
+
+  meta = with lib; {
+    description = "Extra features for Python JSON handling";
+    homepage = "https://github.com/mverleg/pyjson_tricks";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/jsonlines/default.nix b/nixpkgs/pkgs/development/python-modules/jsonlines/default.nix
index d16fa89a97c4..4892d72aae91 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonlines/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix b/nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
index 0ad388db3292..f049e2a09d3d 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix b/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
index b78165fc4f32..dd2a47f1bcb6 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix
index f6ea3fc610f1..f3fd7747ff86 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "jupyter-packaging";
-  version = "0.10.2";
+  version = "0.11.1";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "jupyter_packaging";
     inherit version;
-    sha256 = "sha256-iEX0ht1IwWYM+tGOUJHRwDVA6y6fvzzs8h7LIrabh3A=";
+    sha256 = "6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec";
   };
 
   propagatedBuildInputs = [ deprecation packaging tomlkit ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index c3971c687505..b1389889b59a 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jupyter-server-mathjax/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-server-mathjax/default.nix
index 9aff01cd9d38..47f5f8e58407 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-server-mathjax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-server-mathjax/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "MathJax resources as a Jupyter Server Extension";
-    homepage = "http://jupyter.org";
+    homepage = "https://jupyter.org";
     license = licenses.bsd3;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
index a90fa0eb9a13..66344e408a8f 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix
index 46c76ebfe20e..9d2907072e62 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jupyterlab-pygments/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-pygments/default.nix
index f3ea20842aa5..3d6b9fa93350 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-pygments/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-pygments/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Jupyterlab syntax coloring theme for pygments";
-    homepage = "https://github.com/jupyterlab/jupyterlab-pygments/";
+    homepage = "https://github.com/jupyterlab/jupyterlab_pygments";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
index c4589ce1b933..26794fbc77b5 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-widgets";
-  version = "1.0.0";
+  version = "2.0.0b1";
 
   src = fetchPypi {
     pname = "jupyterlab_widgets";
     inherit version;
-    sha256 = "0y7vhhas3qndiypcpcfnhrj9n92v2w4hdc86nn620s9h9nl2j6jw";
+    sha256 = "1xinfk3bhqmfp9ygfpi8b87h4ky8dv3sdr96035psx1jjgyyw8bi";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
index 76b160eb97c3..21158ebb5393 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
@@ -10,29 +10,41 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "3.2.5";
-  disabled = pythonOlder "3.5";
+  version = "3.2.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "31b28f473b0f5826d2020583973c385526f0559b5b26efac6b8035ac1562874a";
+    sha256 = "sha256-Zd3DTl2hp2RgbjjE9wz51KwcBRgoE88Kst/qMSxwESQ=";
   };
 
-  nativeBuildInputs = [ jupyter-packaging ];
+  nativeBuildInputs = [
+    jupyter-packaging
+  ];
 
-  propagatedBuildInputs = [ jupyterlab_server notebook nbclassic ];
+  propagatedBuildInputs = [
+    jupyterlab_server
+    notebook
+    nbclassic
+  ];
 
   makeWrapperArgs = [
-    "--set" "JUPYTERLAB_DIR" "$out/share/jupyter/lab"
+    "--set"
+    "JUPYTERLAB_DIR"
+    "$out/share/jupyter/lab"
   ];
 
   # Depends on npm
   doCheck = false;
 
-  pythonImportsCheck = [ "jupyterlab" ];
+  pythonImportsCheck = [
+    "jupyterlab"
+  ];
 
   meta = with lib; {
-    description = "Jupyter lab environment notebook server extension.";
+    description = "Jupyter lab environment notebook server extension";
     license = with licenses; [ bsd3 ];
     homepage = "https://jupyter.org/";
     maintainers = with maintainers; [ zimbatm costrouc ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
index 7216421a86c7..ed0fe4bca2d7 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab_server";
-  version = "2.10.2";
+  version = "2.10.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf1ec9e49d4e26f14d70055cc293b3f8ec8410f95a4d5b4bd55c442d9b8b266c";
+    sha256 = "3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a";
   };
 
   postPatch = ''
@@ -35,25 +35,10 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-tornasync
     ruamel-yaml
-    strict-rfc3339
   ];
 
   pytestFlagsArray = [ "--pyargs" "jupyterlab_server" ];
 
-  disabledTests = [
-    # AttributeError: 'SpecPath' object has no attribute 'paths'
-    "test_get_listing"
-    "test_get_settings"
-    "test_get_federated"
-    "test_listing"
-    "test_patch"
-    "test_patch_unicode"
-    "test_get_theme"
-    "test_delete"
-    "test_get_non_existant"
-    "test_get"
-  ];
-
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
index 777f82a3e5ad..6e0668de1470 100644
--- a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/kaldi-active-grammar/default.nix b/nixpkgs/pkgs/development/python-modules/kaldi-active-grammar/default.nix
index f7d4738ebcab..d5a906dd733b 100644
--- a/nixpkgs/pkgs/development/python-modules/kaldi-active-grammar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/kaptan/default.nix b/nixpkgs/pkgs/development/python-modules/kaptan/default.nix
index c5f00393839e..309ecda49ccc 100644
--- a/nixpkgs/pkgs/development/python-modules/kaptan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kaptan/default.nix
@@ -16,6 +16,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     sed -i "s/==.*//g" requirements/test.txt
+
+    substituteInPlace requirements/base.txt --replace 'PyYAML>=3.13,<6' 'PyYAML>=3.13'
   '';
 
   propagatedBuildInputs = [ pyyaml ];
diff --git a/nixpkgs/pkgs/development/python-modules/keyring/default.nix b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
index 68043f268ba5..71e9be548e5b 100644
--- a/nixpkgs/pkgs/development/python-modules/keyring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "keyring";
-  version = "23.4.0";
-  disabled = pythonOlder "3.6";
+  version = "23.5.0";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-iPIGAkKV48b7FrsKYPtLt+wRhWKdxacp8SqnwjbQE4c=";
+    hash = "sha256-kBJQjhQagL0cC2d41cYQ3Z+MRk11rGd0JIUAUD+XL7k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/kombu/default.nix b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
index 319461b98344..bb39b29c0d51 100644
--- a/nixpkgs/pkgs/development/python-modules/kombu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
@@ -1,27 +1,28 @@
 { lib
-, buildPythonPackage
-, pythonOlder
-, fetchPypi
 , amqp
-, vine
-, cached-property
-, importlib-metadata
 , azure-servicebus
+, buildPythonPackage
+, cached-property
 , case
+, fetchPypi
+, importlib-metadata
 , Pyro4
 , pytestCheckHook
+, pythonOlder
 , pytz
+, vine
 }:
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "5.2.2";
+  version = "5.2.3";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f5d0763fb916808f617b886697b2be28e6bc35026f08e679697fc814b48a608";
+    hash = "sha256-gakMHel+CNPbN9vxY+qvZnRF4QaMmL/YnwUaQOn2270=";
   };
 
   propagatedBuildInputs = [
@@ -40,9 +41,14 @@ buildPythonPackage rec {
     pytz
   ];
 
+  pythonImportsCheck = [
+    "kombu"
+  ];
+
   meta = with lib; {
     description = "Messaging library for Python";
-    homepage    = "https://github.com/celery/kombu";
-    license     = licenses.bsd3;
+    homepage = "https://github.com/celery/kombu";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/labelbox/default.nix b/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
index ba7579d10670..c89782d4027e 100644
--- a/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/labmath/default.nix b/nixpkgs/pkgs/development/python-modules/labmath/default.nix
index 24018fd7420e..5eaeeba9a06d 100644
--- a/nixpkgs/pkgs/development/python-modules/labmath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/labmath/default.nix
@@ -2,17 +2,14 @@
 
 buildPythonPackage rec {
   pname = "labmath";
-  version = "1.2.0";
+  version = "2.2.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/fZ61tJ6PVZsubr3OXlbg/VxyyKimz36uPV+r33kgD0=";
+    sha256 = "sha256-dzJ4szPxnck0Cgc5IEp5FBmHvIyAC0rqKRVrkt20ntQ=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "labmath/DESCRIPTION.rst" "PKG-INFO"
-  '';
-
   pythonImportsCheck = [ "labmath" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix b/nixpkgs/pkgs/development/python-modules/lark/default.nix
index c1c67fd4c1ea..6c29a662524c 100644
--- a/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix b/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix
index a9f2923bd073..a5fabd195db2 100644
--- a/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "launchpadlib";
-  version = "1.10.15.1";
+  version = "1.10.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4891f5b0c9bafbbb78aa06eeba1635629663c6aa80f621bcd1fc1057c8dd14b5";
+    sha256 = "0df4b13936f988afd0ee485f40fa6922eab783b48c38ca0108cb73c8788fca80";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix b/nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix
index 09232cbc6242..0619a62fa32d 100644
--- a/nixpkgs/pkgs/development/python-modules/lazy-object-proxy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/lektor/default.nix b/nixpkgs/pkgs/development/python-modules/lektor/default.nix
index a094bf6b37e6..f88e14d0a3e7 100644
--- a/nixpkgs/pkgs/development/python-modules/lektor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
index cc4a029b7b55..64a9a3b5e996 100644
--- a/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.16.0";
+  version = "0.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "v${version}";
-    sha256 = "agshUVkkqogj4FbonFd/rrGisMOomS62NND66YKZvjg=";
+    sha256 = "1a14cw2314jb5lrm979zipzk3av4630lxdr4jzj2wl5qh3yw4w52";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/libagent/default.nix b/nixpkgs/pkgs/development/python-modules/libagent/default.nix
index a485bf3a604b..2deb4f18d123 100644
--- a/nixpkgs/pkgs/development/python-modules/libagent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libagent/default.nix
@@ -1,22 +1,22 @@
-{ lib, fetchFromGitHub, buildPythonPackage, ed25519, ecdsa , semver, mnemonic,
-  unidecode, mock, pytest , backports-shutil-which, configargparse,
-  python-daemon, pymsgbox }:
+{ lib, fetchFromGitHub, buildPythonPackage, ed25519, ecdsa , semver, mnemonic
+, unidecode, mock, pytest , backports-shutil-which, configargparse
+, python-daemon, pymsgbox, pynacl }:
 
 # XXX: when changing this package, please test the package onlykey-agent.
 
 buildPythonPackage rec {
   pname = "libagent";
-  version = "0.14.1";
+  version = "0.14.4";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = "trezor-agent";
     rev = "v${version}";
-    sha256 = "16y1y9ahcv3wj7f0v4mfiwzkmn2hz1iv7y13cgr57sxa3ymyqx6c";
+    sha256 = "1ksv494xpga27ifrjyn1bkqaya5h769lqb9rx1ng0n4kvmnrqr3l";
   };
 
   propagatedBuildInputs = [ unidecode backports-shutil-which configargparse
-    python-daemon pymsgbox ecdsa ed25519 mnemonic semver ];
+    python-daemon pymsgbox ecdsa ed25519 mnemonic semver pynacl ];
 
   checkInputs = [ mock pytest ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix b/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
index 13f61c6aa949..aafe92e73089 100644
--- a/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "libarchive-c";
-  version = "3.2";
+  version = "4.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Changaco";
     repo = "python-${pname}";
     rev = version;
-    sha256 = "1kj3y9vnsc9m2hvnvgk5inawxfknz5drj3q51hqgcbq8p4dm8vli";
+    sha256 = "1ar7lj1lpisklq2q07d95yhlbfq25g9g61hcj8whj17mq8vrvml1";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/librosa/default.nix b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
index cb8f4c023bc2..c23b9df7cd78 100644
--- a/nixpkgs/pkgs/development/python-modules/librosa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "librosa";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c53d05e768ae4a3e553ae21c2e5015293e5efbfd5c12d497f1104cb519cca6b3";
+    sha256 = "sha256-zSFnXTuYWPjRs7FDKzYONoFFvtN4B+HxOwcRqozTkP0=";
   };
 
   propagatedBuildInputs = [ joblib matplotlib six scikit-learn decorator audioread resampy soundfile pooch ];
diff --git a/nixpkgs/pkgs/development/python-modules/libtmux/default.nix b/nixpkgs/pkgs/development/python-modules/libtmux/default.nix
index 5b251f842bff..7a7e116aa221 100644
--- a/nixpkgs/pkgs/development/python-modules/libtmux/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/libusb1/default.nix b/nixpkgs/pkgs/development/python-modules/libusb1/default.nix
index f1b474b960f6..da84d890eced 100644
--- a/nixpkgs/pkgs/development/python-modules/libusb1/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/libvirt/default.nix b/nixpkgs/pkgs/development/python-modules/libvirt/default.nix
index c2c0469aa819..a8e21a698f7f 100644
--- a/nixpkgs/pkgs/development/python-modules/libvirt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libvirt/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "7.9.0";
+  version = "7.10.0";
 
   src = assert version == libvirt.version; fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt-python";
     rev = "v${version}";
-    sha256 = "sha256-cfCyQ3KTv0lYTZMriUhm6psBAcJJIcmR/M9V/lrLmVE=";
+    sha256 = "sha256-I1FNjNwWRyDAUSq2Co9EnjAbzKQtS0Rx8vHgPsFzSYw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix b/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
index 7e241be4aafe..015417151b7a 100644
--- a/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "lightgbm";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5b9f31759ab4e94d9409deb03104c55b0a40058a6ccea804022046d926bc4904";
+    sha256 = "5d25d16e77c844c297ece2044df57651139bc3c8ad8c4108916374267ac68b64";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lightwave/default.nix b/nixpkgs/pkgs/development/python-modules/lightwave/default.nix
new file mode 100644
index 000000000000..ba937f7700d9
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/lightwave2/default.nix b/nixpkgs/pkgs/development/python-modules/lightwave2/default.nix
index 61bb86b8f769..f840a2186cfb 100644
--- a/nixpkgs/pkgs/development/python-modules/lightwave2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lightwave2/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "lightwave2";
-  version = "0.8.0";
+  version = "0.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f18ee4aba0431236a4c48a032de6714cfb56ff1e97c86d48cfe619eb961b21a";
+    sha256 = "sha256-UULOQawsY2N0xxYlgIZKs8Xyl0XDqC6fSSKvo8ZBEcY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/limiter/default.nix b/nixpkgs/pkgs/development/python-modules/limiter/default.nix
index 21217f34673f..f550651c104d 100644
--- a/nixpkgs/pkgs/development/python-modules/limiter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limiter/default.nix
@@ -2,32 +2,30 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, strenum
 , token-bucket
 }:
 
 buildPythonPackage rec {
   pname = "limiter";
-  version = "0.1.2";
+  version = "0.3.1";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "alexdelorenzo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0cdqw08qw3cid1yjknlh4hqfl46xh4madkjrl7sxk2c1pbwils8r";
+    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/nixpkgs/pkgs/development/python-modules/limits/default.nix b/nixpkgs/pkgs/development/python-modules/limits/default.nix
index fc6982440d63..9a19dda15789 100644
--- a/nixpkgs/pkgs/development/python-modules/limits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limits/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "limits";
-  version = "1.5.1";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0c3319f032c4bfad68438ed1325c0fac86dac64582c7c25cddc87a0b658fa20";
+    sha256 = "da6346f0dcf85f17f0f1cc709c3408a3058cf6fee68313c288127c287237b411";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
index ba45ffbdeac4..0467790c2976 100644
--- a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
@@ -1,27 +1,62 @@
 { lib
 , buildPythonPackage
+, chardet
+, cryptography
+, feedparser
 , fetchPypi
-, isPy27
-, git
+, mock
+, pysocks
+, pytestCheckHook
+, python-dateutil
+, python-gnupg
+, pythonOlder
+, pytz
 }:
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2021.11.20";
-  disabled = isPy27; # abandoned upstream
+  version = "2022.2.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da9c33497a09b4ed0cff6ed44954bbde6cb317edb68d56c73ef235128a802c11";
+    hash = "sha256-Jc11hS+WrRnjgYOUpc+GdkRoNV/DUJhQK6rI2lUkEIA=";
   };
 
+  propagatedBuildInputs = [
+    chardet
+    cryptography
+    feedparser
+    mock
+    pysocks
+    python-dateutil
+    python-gnupg
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    pytz
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   postPatch = ''
-    sed -i 's/version=version/version="${version}"/' setup.py
+    substituteInPlace setup.py \
+      --replace "version=version" 'version="${version}"'
   '';
-  buildInputs = [ git ];
 
-  # cannot be imported
-  doCheck = false;
+  checkPhase = ''
+    runHook preCheck
+    export PATH="$PATH:$out/bin";
+    supybot-test test -v --no-network
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    # Uses the same names as Supybot
+    "supybot"
+  ];
 
   meta = with lib; {
     description = "A modified version of Supybot, an IRC bot";
@@ -29,5 +64,4 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ goibhniu ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
index c37183e22ec0..ddf73ee56b86 100644
--- a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "liquidctl";
-  version = "1.7.2";
+  version = "1.8.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fPSvxdr329SxAe4N7lTa7hddFp1WVUplkhYD1oDQXAI=";
+    sha256 = "0cl1xg3rqpn4yjflwcz667pwfjnbq0g41pkg2nak7x9mxqnbdk70";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix b/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
index e3b9e3bb7c8a..637a4deb3abb 100644
--- a/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix b/nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix
index 42cf477ca160..2004f962098b 100644
--- a/nixpkgs/pkgs/development/python-modules/locationsharinglib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/logfury/default.nix b/nixpkgs/pkgs/development/python-modules/logfury/default.nix
index 64766c232cdb..d25278a4e57c 100644
--- a/nixpkgs/pkgs/development/python-modules/logfury/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/logfury/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, funcsigs
 , setuptools-scm
 , pytestCheckHook
 , pythonOlder
@@ -11,22 +10,19 @@
 buildPythonPackage rec {
   pname = "logfury";
   version = "1.0.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-EwpdrOq5rVNJJCUt33BIKqLJZmKzo4JafTCYHQO3aiY=";
+    hash = "sha256-EwpdrOq5rVNJJCUt33BIKqLJZmKzo4JafTCYHQO3aiY=";
   };
 
   nativeBuildInputs = [
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [
-    funcsigs
-  ];
-
   checkInputs = [
     pytestCheckHook
     testfixtures
diff --git a/nixpkgs/pkgs/development/python-modules/loguru/default.nix b/nixpkgs/pkgs/development/python-modules/loguru/default.nix
index 3134d956af78..1a7982026bcd 100644
--- a/nixpkgs/pkgs/development/python-modules/loguru/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/loguru/default.nix
@@ -1,42 +1,55 @@
 { lib
 , stdenv
+, aiocontextvars
 , buildPythonPackage
-, fetchPypi
-, fetchpatch
-, isPy27
 , colorama
+, fetchpatch
+, fetchPypi
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "loguru";
-  version = "0.5.3";
+  version = "0.6.0";
+  format = "setuptools";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b28e72ac7a98be3d28ad28570299a393dfcd32e5e3f6a353dec94675767b6319";
+    sha256 = "sha256-BmvQZ1jQpRPpg2/ZxrWnW/s/02hB9LmWvGC1R6MJ1Bw=";
   };
 
-  patches = [
-    # Fixes tests with pytest>=6.2.2. Will be part of the next release after 0.5.3
-    (fetchpatch {
-      url = "https://github.com/Delgan/loguru/commit/31cf758ee9d22dbfa125f38153782fe20ac9dce5.patch";
-      sha256 = "1lzbs8akg1s7s6xjl3samf4c4bpssqvwg5fn3mwlm4ysr7jd5y67";
-    })
-    # fix tests with Python 3.9
-    (fetchpatch {
-      url = "https://github.com/Delgan/loguru/commit/19f518c5f1f355703ffc4ee62f0e1e397605863e.patch";
-      sha256 = "0yn6smik58wdffr4svqsy2n212fwdlcfcwpgqhl9hq2zlivmsdc6";
-    })
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [
+    aiocontextvars
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    colorama
   ];
 
-  checkInputs = [ pytestCheckHook colorama ];
+  disabledTestPaths = lib.optionals stdenv.isDarwin [
+    "tests/test_multiprocessing.py"
+  ];
 
-  disabledTestPaths = lib.optionals stdenv.isDarwin [ "tests/test_multiprocessing.py" ];
-  disabledTests = [ "test_time_rotation_reopening" "test_file_buffering" ]
-    ++ lib.optionals stdenv.isDarwin [ "test_rotation_and_retention" "test_rotation_and_retention_timed_file" "test_renaming" "test_await_complete_inheritance" ];
+  disabledTests = [
+    "test_time_rotation_reopening"
+    "test_file_buffering"
+    # Tests are failing with Python 3.10
+    "test_exception_others"
+    ""
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_rotation_and_retention"
+    "test_rotation_and_retention_timed_file"
+    "test_renaming"
+    "test_await_complete_inheritance"
+  ];
+
+  pythonImportsCheck = [
+    "loguru"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/Delgan/loguru";
diff --git a/nixpkgs/pkgs/development/python-modules/loo-py/default.nix b/nixpkgs/pkgs/development/python-modules/loo-py/default.nix
index 16060c1c030e..d16b06a284ab 100644
--- a/nixpkgs/pkgs/development/python-modules/loo-py/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix b/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
index 36b6efa724e2..83ff792a62a3 100644
--- a/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.15.1";
+  version = "1.15.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    sha256 = "sha256-j8Vzr83pvl/AnXfA+nl5uRXf+y6ndKmQHM3bl306wFM=";
+    sha256 = "sha256-JmLQ3Hj9WnL/XfMxDiVAizGFASWMwF36ohp8asErUMM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/luddite/default.nix b/nixpkgs/pkgs/development/python-modules/luddite/default.nix
index 7e8a1c5dfedd..46a5f2952902 100644
--- a/nixpkgs/pkgs/development/python-modules/luddite/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix b/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix
index c8ca8254b363..e14db125fba5 100644
--- a/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/luftdaten/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "luftdaten";
-  version = "0.7.1";
+  version = "0.7.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-luftdaten";
     rev = version;
-    sha256 = "sha256-76Y5TJet0WtzYXuK8Og0rmpsUIlXK7b37oesh+MliU8=";
+    sha256 = "sha256-tYaY/F4mdO5k+Oj+RkNFWP8xqh1xuDyoAKBFzAhamkA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lupupy/default.nix b/nixpkgs/pkgs/development/python-modules/lupupy/default.nix
index 23ec7c33c205..8daee818d9dd 100644
--- a/nixpkgs/pkgs/development/python-modules/lupupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lupupy/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "lupupy";
-  version = "0.1.1";
+  version = "0.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bWBiM+u5wl9fWqL8k+R2IaYXSNnc4IxgWgUzyJVxkKk=";
+    sha256 = "sha256-UclKPuWcIa1nNFKqPIEnqlnJh0aXP50k2nMbHhT1aFs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/luxtronik/default.nix b/nixpkgs/pkgs/development/python-modules/luxtronik/default.nix
index 9aab07b01665..7df8532a4e2a 100644
--- a/nixpkgs/pkgs/development/python-modules/luxtronik/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/luxtronik/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "luxtronik";
-  version = "0.3.9";
+  version = "0.3.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Bouni";
     repo = "python-luxtronik";
     rev = version;
-    sha256 = "mScdTQ82tV5fyy1S0YDDOz1UC4VB0OmSXD5gHp53WsE=";
+    sha256 = "sha256-JPY1HbNZanEsUpQ5W2kAwEFvwNGQI2hoogTZUGIg3YY=";
   };
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/lxml/default.nix b/nixpkgs/pkgs/development/python-modules/lxml/default.nix
index 60deaa5af127..2c549b6830a1 100644
--- a/nixpkgs/pkgs/development/python-modules/lxml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lxml/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.6.4-5";
+  version = "4.7.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "lxml-${version}";
-    sha256 = "159cc48nl40qsx8pc8sasgny5xc0s3y0xrq3w3aw53s3ijncsgfl";
+    sha256 = "0xji4kcw1fl3nqg04q6zlympkx2kv2s1r1p18763dshgpisqgiq4";
   };
 
   # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs
diff --git a/nixpkgs/pkgs/development/python-modules/lz4/default.nix b/nixpkgs/pkgs/development/python-modules/lz4/default.nix
index cc84fa75c699..9e2cc9b31e15 100644
--- a/nixpkgs/pkgs/development/python-modules/lz4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lz4/default.nix
@@ -1,41 +1,68 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, future
-, isPy3k
+, pythonOlder
+
+# native inputs
 , pkgconfig
-, psutil
-, pytest
-, pytest-cov
-, pytest-runner
 , setuptools-scm
+
+# tests
+, psutil
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "python-lz4";
-  version = "3.1.10";
+  version = "3.1.12";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
 
-  # get full repository inorder to run tests
+  # get full repository in order to run tests
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "0a4gic8xh3simkk5k8302rxwf765pr6y63k3js79mkl983vpxcim";
+    rev = "v${version}";
+    sha256 = "sha256-fqt9aJGqZpfbiYtU8cmm7UQaixZwbTKFBwRfR1B/qic=";
   };
 
-  nativeBuildInputs = [ setuptools-scm pkgconfig pytest-runner ];
-  checkInputs = [ pytest pytest-cov psutil ];
-  propagatedBuildInputs = lib.optionals (!isPy3k) [ future ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  postPatch = ''
+    sed -i '/pytest-cov/d' setup.py
+  '';
+
+  nativeBuildInputs = [
+    setuptools-scm
+    pkgconfig
+  ];
+
+  pythonImportsCheck = [
+    "lz4"
+    "lz4.block"
+    "lz4.frame"
+    "lz4.stream"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    psutil
+  ];
+
+  # leave build directory, so the installed library gets imported
+  preCheck = ''
+    pushd tests
+  '';
 
-  # give a hint to setuptools-scm on package version
-  preBuild = ''
-    export SETUPTOOLS_SCM_PRETEND_VERSION="v${version}"
+  postCheck = ''
+    popd
   '';
 
-  meta = {
-     description = "LZ4 Bindings for Python";
-     homepage = "https://github.com/python-lz4/python-lz4";
-     license = lib.licenses.bsd3;
-     maintainers = with lib.maintainers; [ costrouc ];
+  meta = with lib; {
+    description = "LZ4 Bindings for Python";
+    homepage = "https://github.com/python-lz4/python-lz4";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mailchecker/default.nix b/nixpkgs/pkgs/development/python-modules/mailchecker/default.nix
new file mode 100644
index 000000000000..23146a4f5a7c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mailchecker/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "mailchecker";
+  version = "4.1.12";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-AqpT2Mqo5bjmKsu6WzVw/+AUOaSwlDfmXO0ufB6uc8A=";
+  };
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "MailChecker"
+  ];
+
+  meta = with lib; {
+    description = "Module for temporary (disposable/throwaway) email detection";
+    homepage = "https://github.com/FGRibreau/mailchecker";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/makefun/default.nix b/nixpkgs/pkgs/development/python-modules/makefun/default.nix
index aeb13abd0dfe..1d4ae635800c 100644
--- a/nixpkgs/pkgs/development/python-modules/makefun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/makefun/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "makefun";
-  version = "1.12.1";
+  version = "1.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4d0e90ca3fdbdeb6a4a0891e2da7d4b8e80386e19e6db91ce29b8aa5c876ecfe";
+    sha256 = "985bb8b670ffbbb95d2a8aa996d318e6e9a3f26fc6f3ef2da93ebdf8f9c616bf";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/manimpango/default.nix b/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
index 0b84726d5a5f..b717b4491173 100644
--- a/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "manimpango";
-  version = "0.4.0.post0";
+  version = "0.4.0.post2";
 
   src = fetchFromGitHub {
     owner = "ManimCommunity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1avlh6wk6a2mq6fl2idqk2z5bncglyla8p9m7az0430k9vdv4qks";
+    sha256 = "sha256-BMRlEdvJJOUbsvKEoZx2qJqHSbL475dhBthUpnsXkn4=";
   };
 
   postPatch = ''
@@ -30,8 +30,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/ManimCommunity/ManimPango";
-    license = licenses.gpl3Plus;
+    license = licenses.mit;
     description = "Binding for Pango";
-    maintainers = [ maintainers.angustrau ];
+    maintainers = [ maintainers.emilytrau ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix b/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
index f056c104e759..c1a0f58789bd 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "markdown-it-py";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ahg+aAVpAh07PZ1mfrne0EP9K2J4tb8eLp5XXFpWp00=";
+    sha256 = "0qrsl4ajhi2263i5q1kivp2s3n7naq3byfbsv11rni18skw3i2a6";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/markdown/default.nix b/nixpkgs/pkgs/development/python-modules/markdown/default.nix
index 83a4f224f2fb..2c91e46d13d1 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/markdown/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "markdown";
-  version = "3.3.5";
+  version = "3.3.6";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "Markdown";
     inherit version;
-    sha256 = "sha256-JulUa/vN5fzQcr2PYSycG24md8uKrb32UgZnT0bd4Gk=";
+    sha256 = "sha256-dt+K4yKU7Dnc+JNAOCiC36Epdfh/RcPtHs2x6M78cAY=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
diff --git a/nixpkgs/pkgs/development/python-modules/markups/default.nix b/nixpkgs/pkgs/development/python-modules/markups/default.nix
new file mode 100644
index 000000000000..2a0db14d96e7
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/marshmallow-dataclass/default.nix b/nixpkgs/pkgs/development/python-modules/marshmallow-dataclass/default.nix
index 145005fd5e39..4b36ee9b74ef 100644
--- a/nixpkgs/pkgs/development/python-modules/marshmallow-dataclass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/marshmallow-dataclass/default.nix
@@ -4,6 +4,7 @@
 , marshmallow
 , marshmallow-enum
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , typeguard
 , typing-inspect
@@ -34,7 +35,20 @@ buildPythonPackage rec {
     typeguard
   ];
 
-  pythonImportsCheck = [ "marshmallow_dataclass" ];
+  pytestFlagsArray = [
+    # DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12.
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    # TypeError: UserId is not a dataclass and cannot be turned into one.
+    "test_newtype"
+  ];
+
+  pythonImportsCheck = [
+    "marshmallow_dataclass"
+  ];
 
   meta = with lib; {
     description = "Automatic generation of marshmallow schemas from dataclasses";
diff --git a/nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
index 1aeaa04e1721..9887f42bd8f3 100644
--- a/nixpkgs/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mat2/default.nix b/nixpkgs/pkgs/development/python-modules/mat2/default.nix
index 0d54656c1586..97b52855f6ba 100644
--- a/nixpkgs/pkgs/development/python-modules/mat2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mat2/default.nix
@@ -7,7 +7,7 @@
 , bubblewrap
 , exiftool
 , ffmpeg
-, mime-types
+, mailcap
 , wrapGAppsHook
 , gdk-pixbuf
 , gobject-introspection
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "mat2";
-  version = "0.12.2";
+  version = "0.12.3";
 
   disabled = pythonOlder "3.5";
 
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "jvoisin";
     repo = "mat2";
     rev = version;
-    sha256 = "sha256-KaHdBmTeBlCRaVkG3WsfDtFo45s/X69x7VGDYY7W5O8=";
+    hash = "sha256-TW+FwlZ+J1tanPL5WuwXtZJmtYB9LaimeIaPlN/jzqo=";
   };
 
   patches = [
@@ -40,8 +40,6 @@ buildPythonPackage rec {
       bwrap = "${bubblewrap}/bin/bwrap";
       exiftool = "${exiftool}/bin/exiftool";
       ffmpeg = "${ffmpeg}/bin/ffmpeg";
-      # remove once faf0f8a8a4134edbeec0a73de7f938453444186d is in master
-      mimetypes = "${mime-types}/etc/mime.types";
     } // lib.optionalAttrs dolphinIntegration {
       kdialog = "${plasma5Packages.kdialog}/bin/kdialog";
     }))
@@ -49,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 = ''
@@ -78,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/nixpkgs/pkgs/development/python-modules/mat2/fix_poppler.patch b/nixpkgs/pkgs/development/python-modules/mat2/fix_poppler.patch
new file mode 100644
index 000000000000..02bdbb6345dc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mat2/paths.patch b/nixpkgs/pkgs/development/python-modules/mat2/paths.patch
index 7e828d3f5339..50b0c9aaa789 100644
--- a/nixpkgs/pkgs/development/python-modules/mat2/paths.patch
+++ b/nixpkgs/pkgs/development/python-modules/mat2/paths.patch
@@ -1,5 +1,5 @@
 diff --git a/dolphin/mat2.desktop b/dolphin/mat2.desktop
-index d365bc5..56313e2 100644
+index 41c8de4..11df258 100644
 --- a/dolphin/mat2.desktop
 +++ b/dolphin/mat2.desktop
 @@ -8,6 +8,6 @@ Type=Service
@@ -7,11 +7,11 @@ index d365bc5..56313e2 100644
  Name[de]=Metadaten löschen
  Name[es]=Limpiar metadatos
 -Icon=/usr/share/icons/hicolor/scalable/apps/mat2.svg
--Exec=kdialog --yesno  "$( mat2 -s %U )" --title "Clean Metadata?" && mat2 %U
--Exec[de]=kdialog --yesno  "$( mat2 -s %U )" --title "Metadaten löschen?" && mat2 %U
+-Exec=kdialog --yesno  "$( mat2 -s %F )" --title "Clean Metadata?" && mat2 %U
+-Exec[de]=kdialog --yesno  "$( mat2 -s %F )" --title "Metadaten löschen?" && mat2 %U
 +Icon=@mat2svg@
-+Exec=@kdialog@ --yesno  "$( mat2 -s %U )" --title "Clean Metadata?" && mat2 %U
-+Exec[de]=@kdialog@ --yesno  "$( mat2 -s %U )" --title "Metadaten löschen?" && mat2 %U
++Exec=@kdialog@ --yesno  "$( @mat2@ -s %F )" --title "Clean Metadata?" && @mat2@ %U
++Exec[de]=@kdialog@ --yesno  "$( @mat2@ -s %F )" --title "Metadaten löschen?" && @mat2@ %U
 diff --git a/libmat2/bubblewrap.py b/libmat2/bubblewrap.py
 index 970d5dd..5d3c0b7 100644
 --- a/libmat2/bubblewrap.py
@@ -76,20 +76,8 @@ index eb65b2a..51a0fa1 100644
 -
 -    raise RuntimeError("Unable to find exiftool")
 +    return '@exiftool@'
-diff --git a/libmat2/parser_factory.py b/libmat2/parser_factory.py
-index 9965432..bd45179 100644
---- a/libmat2/parser_factory.py
-+++ b/libmat2/parser_factory.py
-@@ -8,6 +8,7 @@ from . import abstract, UNSUPPORTED_EXTENSIONS
- 
- T = TypeVar('T', bound='abstract.AbstractParser')
- 
-+mimetypes.init(['@mimetypes@'])
- mimetypes.add_type('application/epub+zip', '.epub')
- mimetypes.add_type('application/x-dtbncx+xml', '.ncx')  # EPUB Navigation Control XML File
- 
 diff --git a/libmat2/video.py b/libmat2/video.py
-index b4a3232..3dd7ee5 100644
+index ae9e463..2acc65c 100644
 --- a/libmat2/video.py
 +++ b/libmat2/video.py
 @@ -1,6 +1,4 @@
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib-inline/default.nix b/nixpkgs/pkgs/development/python-modules/matplotlib-inline/default.nix
index 9ee23b87ee81..d863239430dc 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib-inline/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib-inline/default.nix
@@ -1,5 +1,4 @@
 { lib, buildPythonPackage, fetchPypi
-, matplotlib
 , traitlets
 
 # tests
@@ -16,7 +15,6 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    matplotlib # not documented, but required
     traitlets
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/matrix-common/default.nix b/nixpkgs/pkgs/development/python-modules/matrix-common/default.nix
new file mode 100644
index 000000000000..44d37b988a7d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/matrix-common/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchPypi
+, attrs
+}:
+
+buildPythonPackage rec {
+  pname = "matrix_common";
+  version = "1.0.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-ZmiKRoJ8hv1USuJBDzV2U1uIFt2lRxmT+iAOqOShJK4=";
+  };
+
+  propagatedBuildInputs = [ attrs ];
+  pythonImportsCheck = [ "matrix_common" ];
+
+  meta = with lib; {
+    description = "Common utilities for Synapse, Sydent and Sygnal";
+    homepage = "https://github.com/matrix-org/matrix-python-common";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ sumnerevans ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix b/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
index 69721aeb8280..665167e290ea 100644
--- a/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mattermostdriver/default.nix b/nixpkgs/pkgs/development/python-modules/mattermostdriver/default.nix
index 6a0be0696063..2564670c8b99 100644
--- a/nixpkgs/pkgs/development/python-modules/mattermostdriver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mattermostdriver/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "mattermostdriver";
-  version = "7.3.1";
+  version = "7.3.2";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf629c4b8f825bd7196208aa93995ac5077bd60939ba67cca314a7f13c1dbcea";
+    sha256 = "2e4d7b4a17d3013e279c6f993746ea18cd60b45d8fa3be24f47bc2de22b9b3b4";
   };
 
   propagatedBuildInputs = [ websockets requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/mautrix/default.nix b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
index 1be685e013b4..683b3c099e05 100644
--- a/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.14.0";
+  version = "0.14.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5ad04e87bcf31eb3479fdd3cabd5082b257013e5c00f6b369539a2b584afadaf";
+    sha256 = "sha256-mO0bKUepIjb50UKEOvFIaepHAskehkBajevsTRST8e4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mayavi/default.nix b/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
index 6f13e63b9341..7ffbbf888f34 100644
--- a/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
@@ -1,16 +1,27 @@
-{ lib, buildPythonPackage, pythonOlder, fetchPypi, wrapQtAppsHook
-, pyface, pygments, numpy, vtk, traitsui, envisage, apptools, pyqt5
+{ lib
+, apptools
+, buildPythonPackage
+, envisage
+, fetchPypi
+, numpy
+, pyface
+, pygments
+, pyqt5
+, pythonOlder
+, traitsui
+, vtk
+, wrapQtAppsHook
 }:
 
 buildPythonPackage rec {
   pname = "mayavi";
   version = "4.7.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "tar.gz";
     sha256 = "ec50e7ec6afb0f9224ad1863d104a0d1ded6c8deb13e720652007aaca2303332";
   };
 
@@ -24,14 +35,27 @@ buildPythonPackage rec {
       --replace "build.build.run(self)" "build.build.run(self); return"
   '';
 
-  nativeBuildInputs = [ wrapQtAppsHook ];
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
 
   propagatedBuildInputs = [
-    pyface pygments numpy vtk traitsui envisage apptools pyqt5
+    apptools
+    envisage
+    numpy
+    pyface
+    pygments
+    pyqt5
+    traitsui
+    vtk
   ];
 
-  doCheck = false; # Needs X server
-  pythonImportsCheck = [ "mayavi" ];
+  # Needs X server
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "mayavi"
+  ];
 
   preFixup = ''
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
@@ -40,7 +64,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "3D visualization of scientific data in Python";
     homepage = "https://github.com/enthought/mayavi";
-    maintainers = with maintainers; [ knedlsepp ];
     license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ knedlsepp ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
index f5c6c276867f..5045964ffde7 100644
--- a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "7.0.0";
+  version = "8.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Dinnerbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/EoVM3wEiA2suJHxMu2zZktQhO6T9grWcvWuzmUe6V0=";
+    sha256 = "sha256-19VO5L5abVGm5zEMt88o67ArLjBCnGO2DxfAD+u1hF4=";
   };
 
   nativeBuildInputs = [
@@ -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/nixpkgs/pkgs/development/python-modules/md-toc/default.nix b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
index 58670c49a90b..a37e82a62d34 100644
--- a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "md-toc";
-  version = "8.1.0";
+  version = "8.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "frnmst";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FTvHPV/QIpKRF7wcZ6yuik4GzPrwyg4Oxc5/cdCs6Qo=";
+    sha256 = "sha256-Dlqia+B7WJZlFGlIhgUWdND1qhSS/FOPoFH+uim6i8I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix b/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix
index 7b4686dcac40..5d7b53f77a44 100644
--- a/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "md2gemini";
-  version = "1.8.1";
+  version = "1.9.0";
 
   propagatedBuildInputs = [ mistune_2_0 cjkwrap wcwidth ];
   checkInputs = [ pytestCheckHook ];
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mfa0f0m762168fbsxjr1cx9yhj82dr8z1d28jl6hj9bkqnvvwiy";
+    sha256 = "sha256-d1zuK+NqoPS36ihh8qx9gOET94tApY+SGStsc/bITnU=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
index 02aafd3302a9..1ab425ade551 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat";
-  version = "0.7.11";
+  version = "0.7.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-EhMoGSCtlEcm1+1aHn9DhBnLQvolhq62SMF/AdaY1/E=";
+    sha256 = "sha256-9ssDe7Wjuwuq2j7xwRyLqKouqeIt6NCUbEXjPdu2VZ8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
index ad717e9d0c8f..1b452850161b 100644
--- a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/memcached/default.nix b/nixpkgs/pkgs/development/python-modules/memcached/default.nix
index 02f4bc3aa44b..e7a41d7b238d 100644
--- a/nixpkgs/pkgs/development/python-modules/memcached/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/memcached/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python API for communicating with the memcached distributed memory object cache daemon";
-    homepage = "http://www.tummy.com/Community/software/python-memcached/";
+    homepage = "https://github.com/linsomniac/python-memcached";
     license = licenses.psfl;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/meross-iot/default.nix b/nixpkgs/pkgs/development/python-modules/meross-iot/default.nix
index 5c2bbe9222b7..064d8a8d203b 100644
--- a/nixpkgs/pkgs/development/python-modules/meross-iot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meross-iot/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "meross-iot";
-  version = "0.4.3.0";
+  version = "0.4.4.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "albertogeniola";
     repo = "MerossIot";
     rev = version;
-    sha256 = "sha256-PZ1+Bjw7k6EFZEuPhbkGrdQzdLGiM4U0ecAAN8SxWU4=";
+    sha256 = "sha256-bazAhCsxr8UNV51UnaGbP7kTC6mcDNM7N78f0jy26ew=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/meshio/default.nix b/nixpkgs/pkgs/development/python-modules/meshio/default.nix
index e9b74d02b070..54f8431ba279 100644
--- a/nixpkgs/pkgs/development/python-modules/meshio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
index 0d1e17afc386..0af337bc13ff 100644
--- a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "1.2.51";
+  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-CMoa7FQnGTWS14WmWvuryO2bKMWC05PBIDBlEWRjNRA=";
+    sha256 = "sha256-DFRnyWBQ3/g5NwZH5hoVYJfj3gN/UP57JvNSnNaqws4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/metakernel/default.nix b/nixpkgs/pkgs/development/python-modules/metakernel/default.nix
index b07f68401e25..f94ddb12ac5d 100644
--- a/nixpkgs/pkgs/development/python-modules/metakernel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/metakernel/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "metakernel";
-  version = "0.28.1";
+  version = "0.28.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3b57eb7b3b332614dcba1fa53c8cc1253dbccf962b111517ea16cbecce9a11d5";
+    sha256 = "8811a4497444495639ef000902f4c6e8a7e2c57da1d47a8a24bcc9083548b389";
   };
 
   propagatedBuildInputs = [ ipykernel ];
diff --git a/nixpkgs/pkgs/development/python-modules/metar/default.nix b/nixpkgs/pkgs/development/python-modules/metar/default.nix
index e832c7cf56fe..4a7bf9edc5ae 100644
--- a/nixpkgs/pkgs/development/python-modules/metar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/metar/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "metar";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "python-metar";
     repo = "python-metar";
     rev = "v${version}";
-    sha256 = "019vfq9191cdvvq1afdcdgdgbzpj7wq6pz9li8ggim71azjnv5nn";
+    sha256 = "sha256-pl2NWRfFCYyM2qvBt4Ic3wgbGkYZvAO6pX2Set8zYW8=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix b/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
index c157cd2a6be8..2c78575d3704 100644
--- a/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/micloud/default.nix b/nixpkgs/pkgs/development/python-modules/micloud/default.nix
index 8fdc7910fe83..07db8906c5d3 100644
--- a/nixpkgs/pkgs/development/python-modules/micloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/micloud/default.nix
@@ -2,23 +2,25 @@
 , buildPythonPackage
 , fetchFromGitHub
 , click
+, pycryptodome
 , requests
 , tzlocal
 }:
 
 buildPythonPackage rec {
   pname = "micloud";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "Squachen";
     repo = "micloud";
     rev = "v_${version}";
-    sha256 = "01z1qfln6f7pnxb4ssmyygyamnfgh36fzgn85s8axdwy8wrch20x";
+    sha256 = "sha256-1qtOsEH+G5ASsRyVCa4U0WQ/9kDRn1WpPNkvuvWFovQ=";
   };
 
   propagatedBuildInputs = [
     click
+    pycryptodome
     requests
     tzlocal
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/mill-local/default.nix b/nixpkgs/pkgs/development/python-modules/mill-local/default.nix
index 9d00bb71c8bc..003fbc974f1d 100644
--- a/nixpkgs/pkgs/development/python-modules/mill-local/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mill-local/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "mill-local";
-  version = "0.1.0";
+  version = "0.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pyMillLocal";
     rev = version;
-    sha256 = "0q0frwj9yxdmqi5axl7gxirfflgn8xh1932c6lhp9my2v1d0gdrk";
+    sha256 = "sha256-OKaR0hpNVBlaZrEmEmHxqRG1i03XP2Z4c7c35YIqe+I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/minexr/default.nix b/nixpkgs/pkgs/development/python-modules/minexr/default.nix
new file mode 100644
index 000000000000..0417fe7594fd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/minexr/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, numpy
+, pillow
+}:
+
+buildPythonPackage rec {
+  pname = "minexr";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "cheind";
+    repo = "py-minexr";
+    rev = "v${version}";
+    sha256 = "sha256-Om67ttAHxu7C3IwPB+JHYi78E9qBi1E6layMVg4+S3M=";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+
+  pythonImportsCheck = [ "minexr" ];
+  checkInputs = [ pytestCheckHook pillow ];
+
+  meta = with lib; {
+    description = "Minimal, standalone OpenEXR reader for single-part, uncompressed scan line files.";
+    homepage = "https://github.com/cheind/py-minexr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/miniaudio/default.nix b/nixpkgs/pkgs/development/python-modules/miniaudio/default.nix
index 0f3372a6048c..f0e5db4f0ecd 100644
--- a/nixpkgs/pkgs/development/python-modules/miniaudio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/miniaudio/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "miniaudio";
-  version = "1.45";
+  version = "1.46";
 
   disabled = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "irmen";
     repo = "pyminiaudio";
     rev = "v${version}";
-    sha256 = "1yx4n4zax103fmjzdiqzw37zibsh68b2p2l5qvgcnx2zrrjd31yl";
+    sha256 = "16llwmbbd9445rwhl4v66kf5zd7yl3a94zm9xyllq6ij7vnhg5jb";
   };
 
   propagatedNativeBuildInputs = [ cffi ];
diff --git a/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix b/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix
index d1e0616cfb68..f242ac69c25e 100644
--- a/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix
@@ -4,15 +4,19 @@
 , buildPythonPackage
 , fetchPypi
 , oscrypto
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "minikerberos";
-  version = "0.2.14";
+  version = "0.2.17";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MND7r4Gkx9RnEMgEl62QXFYr1NEloihQ2HeU9hyhsx8=";
+    sha256 = "sha256-yoPUTwpsk8wimN9DXFFz6ZJi1tI0uAVcfAi5BiwsfJM=";
   };
 
   propagatedBuildInputs = [
@@ -24,7 +28,9 @@ buildPythonPackage rec {
   # no tests are published: https://github.com/skelsec/minikerberos/pull/5
   doCheck = false;
 
-  pythonImportsCheck = [ "minikerberos" ];
+  pythonImportsCheck = [
+    "minikerberos"
+  ];
 
   meta = with lib; {
     description = "Kerberos manipulation library in Python";
diff --git a/nixpkgs/pkgs/development/python-modules/mistletoe/default.nix b/nixpkgs/pkgs/development/python-modules/mistletoe/default.nix
index 0de5077ebee8..814a93e9c544 100644
--- a/nixpkgs/pkgs/development/python-modules/mistletoe/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mistune/common.nix b/nixpkgs/pkgs/development/python-modules/mistune/common.nix
index 7aba4ade4141..9610b735c79b 100644
--- a/nixpkgs/pkgs/development/python-modules/mistune/common.nix
+++ b/nixpkgs/pkgs/development/python-modules/mistune/common.nix
@@ -1,7 +1,7 @@
-{ lib, buildPythonPackage, fetchPypi, nose, version, sha256 }:
+{ lib, buildPythonPackage, fetchPypi, nose, version, sha256, format ? "setuptools" }:
 
 buildPythonPackage rec {
-  inherit version;
+  inherit version format;
   pname = "mistune";
 
   src = fetchPypi {
diff --git a/nixpkgs/pkgs/development/python-modules/mistune/default.nix b/nixpkgs/pkgs/development/python-modules/mistune/default.nix
index c7e7d6d54c73..bb9d25d558e2 100644
--- a/nixpkgs/pkgs/development/python-modules/mistune/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mistune/default.nix
@@ -4,8 +4,9 @@ self: rec {
     sha256 = "59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e";
   };
   mistune_2_0 = self.callPackage ./common.nix {
-    version = "2.0.0rc1";
-    sha256 = "1nd7iav1ixh9hlj4hxn6lmpava88d86ys8rqm30wgvr7gjlxnas5";
+    version = "2.0.2";
+    sha256 = "sha256-b8iMPLSduosWaHtBcl5mHPhXhMEuiXSim50zbdWWw6E=";
+    format = "pyproject";
   };
   mistune = mistune_0_8;
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mitogen/default.nix b/nixpkgs/pkgs/development/python-modules/mitogen/default.nix
index 789d68c7f93e..d99bdec4b0da 100644
--- a/nixpkgs/pkgs/development/python-modules/mitogen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitogen/default.nix
@@ -1,23 +1,29 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "mitogen";
-  version = "0.3.0";
+  version = "0.3.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mitogen-hq";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SotxlsJDIeFd4BN9C7afyyybET5ST2yaoWVEyT/lr48=";
+    sha256 = "sha256-ACd1z9h9RLu6Kho59L2YkXkLtBEywYbO+drUvoZaVlg=";
   };
 
   # Tests require network access and Docker support
   doCheck = false;
 
-  pythonImportsCheck = [ "mitogen" ];
+  pythonImportsCheck = [
+    "mitogen"
+  ];
 
   meta = with lib; {
     description = "Python Library for writing distributed self-replicating programs";
diff --git a/nixpkgs/pkgs/development/python-modules/mizani/default.nix b/nixpkgs/pkgs/development/python-modules/mizani/default.nix
index f7bf273f1a27..9136f1b8e594 100644
--- a/nixpkgs/pkgs/development/python-modules/mizani/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mizani/default.nix
@@ -1,15 +1,20 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, lib
 , matplotlib
 , palettable
 , pandas
 , pytestCheckHook
+, pythonOlder
+, scipy
 }:
 
 buildPythonPackage rec {
   pname = "mizani";
   version = "0.7.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "has2k1";
@@ -18,15 +23,25 @@ buildPythonPackage rec {
     sha256 = "04r53dp5jbklv8l9ncgc5wiq0gx25y73h65gmmbbfkxwgsl3w78l";
   };
 
-  postPatch = ''
-    substituteInPlace pytest.ini --replace " --cov=mizani --cov-report=xml" ""
-  '';
+  propagatedBuildInputs = [
+    matplotlib
+    palettable
+    pandas
+    scipy
+  ];
 
-  propagatedBuildInputs = [ matplotlib palettable pandas ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --cov=mizani --cov-report=xml" ""
+  '';
 
-  pythonImportsCheck = [ "mizani" ];
+  pythonImportsCheck = [
+    "mizani"
+  ];
 
   meta = with lib; {
     description = "Scales for Python";
diff --git a/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs/default.nix
index f7774cc7127e..7d4f1cc66c6e 100644
--- a/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs/default.nix
@@ -1,22 +1,47 @@
-{ lib
-, python3
+{
+  # eval time deps
+  lib
+, buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
+, pythonOlder
+  # runtime deps
+, click
+, ghp-import
+, importlib-metadata
+, jinja2
+, markdown
+, mergedeep
+, packaging
+, pyyaml
+, pyyaml-env-tag
+, watchdog
+  # testing deps
+, Babel
+, mock
+, pytestCheckHook
 }:
 
-with python3.pkgs;
-
-buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "mkdocs";
-  version = "1.2.1";
+  version = "1.2.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-JF3Zz1ObxeKsIF0pa8duJxqjLgMvmWsWMApHT43Z+EY=";
+    sha256 = "sha256-LBw2ftGyeNvARQ8xiYUho8BiQh+aIEqROP51gKvNxEo=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/mkdocs/mkdocs/commit/c93fc91e4dc0ef33e2ea418aaa32b0584a8d354a.patch";
+      sha256 = "sha256-7uLIuQOt6KU/+iS9cwhXkWPAHzZkQdMyNBxSMut5WK4=";
+      excludes = [ "tox.ini" ];
+    })
+  ];
+
   propagatedBuildInputs = [
     click
     jinja2
@@ -33,20 +58,18 @@ buildPythonApplication rec {
   checkInputs = [
     Babel
     mock
-    pytestCheckHook
   ];
 
-  postPatch = ''
-    # Remove test due to missing requirement
-    rm mkdocs/tests/theme_tests.py
-  '';
 
-  pytestFlagsArray = [ "mkdocs/tests/*.py" ];
+  checkPhase = ''
+    set -euo pipefail
 
-  disabledTests = [
-    # Don't start a test server
-    "testing_server"
-  ];
+    runHook preCheck
+
+    python -m unittest discover -v -p '*tests.py' mkdocs --top-level-directory .
+
+    runHook postCheck
+  '';
 
   pythonImportsCheck = [ "mkdocs" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/mlflow/default.nix b/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
index 255c9039ae97..658470ec72b8 100644
--- a/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib, buildPythonPackage, fetchPypi, isPy27, fetchpatch
 , alembic
 , click
 , cloudpickle
@@ -20,16 +20,18 @@
 , sqlalchemy
 , gorilla
 , gunicorn
+, prometheus-flask-exporter
+, importlib-metadata
 }:
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "1.21.0";
+  version = "1.22.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5524a371f19c66a18e7ebe9b1085a77f63a6ae514271e487428f28187d79fc8f";
+    sha256 = "f680390715e436ae38cf7056ec91030fc9eb67cc631226f28ff9504fbe395add";
   };
 
   # run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config
@@ -58,6 +60,17 @@ buildPythonPackage rec {
     sqlalchemy
     gorilla
     gunicorn
+    prometheus-flask-exporter
+    importlib-metadata
+  ];
+
+  patches = [
+    # Relex alembic version, https://github.com/mlflow/mlflow/pull/5245
+    (fetchpatch {
+      name = "relax-alembic-version.patch";
+      url = "https://github.com/mlflow/mlflow/commit/945eb4b67f315c0b2c4018b1df006fde910f115f.patch";
+      sha256 = "sha256-jETVEPzlNe0PvFZVOi1SwgJELfx/KCeq6REL3vl+YT0=";
+    })
   ];
 
   meta = with lib; {
@@ -65,7 +78,5 @@ buildPythonPackage rec {
     description = "Open source platform for the machine learning lifecycle";
     license = licenses.asl20;
     maintainers = with maintainers; [ tbenst ];
-    # missing prometheus-flask-exporter, not packaged in nixpkgs
-    broken = true; # 2020-08-15
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mlxtend/default.nix b/nixpkgs/pkgs/development/python-modules/mlxtend/default.nix
index 4692dc61c229..05fc6b4bb59a 100644
--- a/nixpkgs/pkgs/development/python-modules/mlxtend/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mocket/default.nix b/nixpkgs/pkgs/development/python-modules/mocket/default.nix
index 9d6c64da2153..1a0b7ee907bc 100644
--- a/nixpkgs/pkgs/development/python-modules/mocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mocket/default.nix
@@ -19,12 +19,12 @@
 
 buildPythonPackage rec {
   pname = "mocket";
-  version = "3.10.2";
+  version = "3.10.4";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bb/Uf9xWKRNr27SHzTzI14a0At9Ua5xxBr7XN2d6qfQ=";
+    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/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix b/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
index e06d5aa3780b..6888356ec431 100644
--- a/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "moderngl_window";
-  version = "2.1.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "moderngl";
     repo = pname;
     rev = version;
-    sha256 = "1p03j91pk2bwycd13p0qi8kns1sf357180hd2mkaip8mfaf33x3q";
+    sha256 = "12a5nl01c9b1ww7sj7i02xa7zmlrgg8jvi8cz004hw98kjcs9li8";
   };
 
   propagatedBuildInputs = [ numpy moderngl pyglet pillow pyrr glcontext ];
diff --git a/nixpkgs/pkgs/development/python-modules/mongomock/default.nix b/nixpkgs/pkgs/development/python-modules/mongomock/default.nix
new file mode 100644
index 000000000000..85e574f0b6d5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mongomock/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pbr
+, sentinels
+, six
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "mongomock";
+  version = "4.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-sYMsN0jUdETBiGc3PlzqdUwub2RKDPv9Zn8Xj2i97Pw=";
+  };
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    sentinels
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "mongomock" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/mongomock/mongomock";
+    description = "Fake pymongo stub for testing simple MongoDB-dependent code";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/monty/default.nix b/nixpkgs/pkgs/development/python-modules/monty/default.nix
index 36d798e5504d..16205286c003 100644
--- a/nixpkgs/pkgs/development/python-modules/monty/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/monty/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "2021.12.1";
+  version = "2022.1.12.1";
   disabled = pythonOlder "3.5"; # uses type annotations
 
   src = fetchFromGitHub {
     owner = "materialsvirtuallab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zcbdh7pqv4dq3fan0zh912w9bvmf2p0zj1fhp0ayhdsc50cwldh";
+    sha256 = "11bp3zkmqffc6rqw93qfk8d905mzc10nqbjmvj2bay8h197q0dg2";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/moonraker-api/default.nix b/nixpkgs/pkgs/development/python-modules/moonraker-api/default.nix
index 2888ff1e06d1..9f6ca7e91a78 100644
--- a/nixpkgs/pkgs/development/python-modules/moonraker-api/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/motionblinds/default.nix b/nixpkgs/pkgs/development/python-modules/motionblinds/default.nix
index a8fb0ae58dd4..f6f176dcd572 100644
--- a/nixpkgs/pkgs/development/python-modules/motionblinds/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/motionblinds/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "motionblinds";
-  version = "0.5.8.2";
+  version = "0.5.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     rev = version;
-    sha256 = "6aSwUuH5IpfcuVGXWVmb0DHglsUtGh/ATOe6iih6fXk=";
+    sha256 = "sha256-7o8mov8uV5ZrEYvX1qPSMT2T8Jb/1eV2MytU+1SEYfY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/moto/default.nix b/nixpkgs/pkgs/development/python-modules/moto/default.nix
index 4d9156349e4a..a998e7b74b41 100644
--- a/nixpkgs/pkgs/development/python-modules/moto/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mpd2/default.nix b/nixpkgs/pkgs/development/python-modules/mpd2/default.nix
index 8d17d8b3b0cf..282d4a71c962 100644
--- a/nixpkgs/pkgs/development/python-modules/mpd2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
index 6e8fd896d913..aa5a74c2cfe8 100644
--- a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
index a673d96893fa..f81395f0245b 100644
--- a/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "msal-extensions";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qbq5qn46053aclpwyzac5zs2xgqirn4hwrf1plrg0m8bnhxy8sm";
+    sha256 = "d9029af70f2cbdc5ad7ecfed61cb432ebe900484843ccf72825445dbfe62d311";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/msal/default.nix b/nixpkgs/pkgs/development/python-modules/msal/default.nix
index aca7def34a17..95b5bbf7ce96 100644
--- a/nixpkgs/pkgs/development/python-modules/msal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/msoffcrypto-tool/default.nix b/nixpkgs/pkgs/development/python-modules/msoffcrypto-tool/default.nix
index 4f3dbc60d18a..a1d834929055 100644
--- a/nixpkgs/pkgs/development/python-modules/msoffcrypto-tool/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msoffcrypto-tool/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "msoffcrypto-tool";
-  version = "4.12.0";
+  version = "5.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "nolze";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EBEwldh2Ct/4oxnAF1hWeW/uRrVsCYEi0cJaZubofFk=";
+    sha256 = "sha256-A5A578JZrxRXX6ewkFzittGTOebeNb99fuKsEm5QGoI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/multiset/default.nix b/nixpkgs/pkgs/development/python-modules/multiset/default.nix
index fa2fa87d0e89..e511ab100459 100644
--- a/nixpkgs/pkgs/development/python-modules/multiset/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mutmut/default.nix b/nixpkgs/pkgs/development/python-modules/mutmut/default.nix
new file mode 100644
index 000000000000..ae0f06213a87
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mutmut/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchFromGitHub
+, buildPythonApplication
+, click
+, glob2
+, parso
+, pony
+, junit-xml
+, pythonOlder
+, testVersion
+}:
+
+let self = buildPythonApplication rec {
+  pname = "mutmut";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "boxed";
+    rev = version;
+    hash = "sha256-G+OL/9km2iUeZ1QCpU73CIWVWMexcs3r9RdCnAsESnY=";
+  };
+
+  postPatch = ''
+    substituteInPlace requirements.txt --replace 'junit-xml==1.8' 'junit-xml==1.9'
+  '';
+
+  disabled = pythonOlder "3.7";
+
+  doCheck = false;
+
+  propagatedBuildInputs = [ click glob2 parso pony junit-xml ];
+
+  passthru.tests.version = testVersion { package = self; };
+
+  meta = with lib; {
+    description = "mutation testing system for Python, with a strong focus on ease of use";
+    homepage = "https://github.com/boxed/mutmut";
+    changelog = "https://github.com/boxed/mutmut/blob/${version}/HISTORY.rst";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ synthetica ];
+  };
+};
+in self
diff --git a/nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix b/nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix
index 2ea41e61541b..b8399bebef46 100644
--- a/nixpkgs/pkgs/development/python-modules/mwparserfromhell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index 0a8252234569..4bb371456373 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index b26086f00ae0..bddccabf067f 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,13 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.20.17";
+  version = "1.21.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7Zw8NxOEXDRmLChxHQXVU/HzR8z6HuLxX8bB3pZuCqc=";
+    hash = "sha256-3P3dThYXpmtZ/cn+NCDS9RNtu6N48Vb78ZqmCdkTK50=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
index fdcfed839c78..f1c7d83a6bae 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-protobuf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mypy/default.nix b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
index 149aefb9a57f..5c5e985641ff 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "0.930";
+  version = "0.931";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python";
     repo = "mypy";
     rev = "v${version}";
-    sha256 = "sha256-0yo6f9hRYFfwdfukOGNNTgPCIFO2MZdfMvzbci7FWRs=";
+    sha256 = "1v83flrdxh8grcp40qw04q4hzjflih9xwib64078vsxv2w36f817";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix b/nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix
index 6b6e889b5d5d..fab05cd4acde 100644
--- a/nixpkgs/pkgs/development/python-modules/nagiosplugin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nameparser/default.nix b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
index 0d7b53f03cbe..63e795f98c85 100644
--- a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "nameparser";
-  version = "1.0.6";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0av5kraczczp0hvwpkdaw7kl2hk9k4dyll08rg180n52a2dm0pra";
+    sha256 = "sha256-zoM27XRk+nubh0X0i5xi3qa+2TG5lxXKlHk2BUSZIUM=";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/napalm/default.nix b/nixpkgs/pkgs/development/python-modules/napalm/default.nix
new file mode 100644
index 000000000000..2266283cc53b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix b/nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix
new file mode 100644
index 000000000000..774fdd2299cc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/asyncio-nats-client/default.nix b/nixpkgs/pkgs/development/python-modules/nats-py/default.nix
index 46dbcdbacd5e..f87eb269da7a 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncio-nats-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/natsort/default.nix b/nixpkgs/pkgs/development/python-modules/natsort/default.nix
index 3c9d625db70f..3b3682b335e9 100644
--- a/nixpkgs/pkgs/development/python-modules/natsort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/natsort/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "natsort";
-  version = "7.2.0";
+  version = "8.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e7054b4e1f47365f141602a742685165a552291b643a214652d0dd9d6cea58d1";
+    hash = "sha256-x8Hz8nw3Vxmk38qzU5Cf458mwgMqBiqMgMyETqrKBEU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nbclassic/default.nix b/nixpkgs/pkgs/development/python-modules/nbclassic/default.nix
index 0e6630281c0d..2c062d3ff99e 100644
--- a/nixpkgs/pkgs/development/python-modules/nbclassic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nbclient/default.nix b/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
index c10b442bac92..c5e3facc0622 100644
--- a/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
index 400d59272ee1..ab91f22acc44 100644
--- a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix b/nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix
index a7c5425963aa..7d1d827cc20f 100644
--- a/nixpkgs/pkgs/development/python-modules/nbsmoke/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix b/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
index 1b0a95f3d76f..38234c1486e1 100644
--- a/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbsphinx/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbsphinx";
-  version = "0.8.7";
+  version = "0.8.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff91b5b14ceb1a9d44193b5fc3dd3617e7b8ab59c788f7710049ce5faff2750c";
+    sha256 = "b5090c824b330b36c2715065a1a179ad36526bff208485a9865453d1ddfc34ec";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ncclient/default.nix b/nixpkgs/pkgs/development/python-modules/ncclient/default.nix
index 010e2a5bae3f..2cb040ed8a38 100644
--- a/nixpkgs/pkgs/development/python-modules/ncclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ncclient/default.nix
@@ -21,7 +21,6 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     paramiko
     lxml
-    selectors2
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nengo/default.nix b/nixpkgs/pkgs/development/python-modules/nengo/default.nix
index 566540a4c972..c422278c830c 100644
--- a/nixpkgs/pkgs/development/python-modules/nengo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nengo/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "nengo";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "nengo";
     repo = "nengo";
     rev = "v${version}";
-    sha256 = "1wkayimf2jqkbr6piikh5zd6yw8gf2qv4v4bfrprs4laa6wzh2qh";
+    sha256 = "12lz8lzirxvwnpa74k9k48c64gs6gi092928rh97siya3i6gjs6i";
   };
 
   propagatedBuildInputs = [ numpy ]
diff --git a/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix b/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix
index 33c37d5e9807..384b6db360b9 100644
--- a/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nest-asyncio/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5.1";
+  version = "1.5.4";
   pname = "nest_asyncio";
   disabled = !(pythonAtLeast "3.5");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa";
+    sha256 = "f969f6013a16fadb4adcf09d11a68a4f617c6049d7af7ac2c676110169a63abd";
   };
 
   # tests not packaged with source dist as of 1.3.2/1.3.2, and
diff --git a/nixpkgs/pkgs/development/python-modules/net2grid/default.nix b/nixpkgs/pkgs/development/python-modules/net2grid/default.nix
new file mode 100644
index 000000000000..05b5321a69cf
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/netdata/default.nix b/nixpkgs/pkgs/development/python-modules/netdata/default.nix
index c54719b696b1..e3071ea437d3 100644
--- a/nixpkgs/pkgs/development/python-modules/netdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netdata/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "netdata";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-netdata";
     rev = version;
-    sha256 = "sha256-4+cTIqytHrCPG7lUZv1IhL7Bk5GlTEveQTtuCkFIepo=";
+    sha256 = "sha256-D0W+zOpD2+iynhHMZh4obUSJJKmP3DnzA7blNWi6eHk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/netio/default.nix b/nixpkgs/pkgs/development/python-modules/netio/default.nix
new file mode 100644
index 000000000000..dbc988191846
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/netmiko/default.nix b/nixpkgs/pkgs/development/python-modules/netmiko/default.nix
new file mode 100644
index 000000000000..0934439f7473
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/newversion/default.nix b/nixpkgs/pkgs/development/python-modules/newversion/default.nix
new file mode 100644
index 000000000000..f340dc3a1b32
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nexia/default.nix b/nixpkgs/pkgs/development/python-modules/nexia/default.nix
index 5bb8b15f6834..79c48e57f2b0 100644
--- a/nixpkgs/pkgs/development/python-modules/nexia/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nexia/default.nix
@@ -9,14 +9,16 @@
 
 buildPythonPackage rec {
   pname = "nexia";
-  version = "0.9.12";
+  version = "0.9.13";
+  format = "setuptools";
+
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YZHAWRTYquUm3Ymi/3mSQqxYZuoxsH5Q/LZOPDftEzU=";
+    sha256 = "sha256-0VG8tSwbVTIIsQYAEwzQfXLTDy4df/nS/rbHjYo7xf0=";
   };
 
   propagatedBuildInputs = [
@@ -29,10 +31,13 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace setup.py --replace '"pytest-runner",' ""
+    substituteInPlace setup.py \
+      --replace '"pytest-runner",' ""
   '';
 
-  pythonImportsCheck = [ "nexia" ];
+  pythonImportsCheck = [
+    "nexia"
+  ];
 
   meta = with lib; {
     description = "Python module for Nexia thermostats";
diff --git a/nixpkgs/pkgs/development/python-modules/nibabel/default.nix b/nixpkgs/pkgs/development/python-modules/nibabel/default.nix
index 91195abce1cd..60f5fcde63fe 100644
--- a/nixpkgs/pkgs/development/python-modules/nibabel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix b/nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix
index 9d916cc9324d..60c9f271011c 100644
--- a/nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nidaqmx/default.nix
@@ -7,6 +7,7 @@
 , pykka
 , enum34
 , pythonOlder
+, pythonAtLeast
 }:
 
 # Note we currently do not patch the path to the drivers
@@ -17,6 +18,9 @@ buildPythonPackage rec {
   pname = "nidaqmx";
   version = src.rev;
 
+  # 3.10 is not supported, upstream inactive
+  disabled = pythonAtLeast "3.10";
+
   src = fetchFromGitHub {
     owner = "ni";
     repo = "nidaqmx-python";
diff --git a/nixpkgs/pkgs/development/python-modules/nkdfu/default.nix b/nixpkgs/pkgs/development/python-modules/nkdfu/default.nix
new file mode 100644
index 000000000000..fa094404b8b1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/nkdfu/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, fire, tqdm, intelhex, libusb1 }:
+
+buildPythonPackage rec {
+  pname = "nkdfu";
+  version = "0.1";
+  format = "flit";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-Y8GonfCBi3BNMhZ99SN6/SDSa0+dbfPIMPoVzALwH5A=";
+  };
+
+  propagatedBuildInputs = [
+    fire
+    tqdm
+    intelhex
+    libusb1
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "nkdfu" ];
+
+  meta = with lib; {
+    description = "Python tool for Nitrokeys' firmware update";
+    homepage = "https://github.com/Nitrokey/nkdfu";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ frogamic ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nltk/default.nix b/nixpkgs/pkgs/development/python-modules/nltk/default.nix
index 27e17daa372a..9beeb4cb0a69 100644
--- a/nixpkgs/pkgs/development/python-modules/nltk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nmapthon2/default.nix b/nixpkgs/pkgs/development/python-modules/nmapthon2/default.nix
index 2567e70b0d67..a19dd946b8fd 100644
--- a/nixpkgs/pkgs/development/python-modules/nmapthon2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nmapthon2/default.nix
@@ -1,25 +1,32 @@
 { lib
 , appdirs
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "nmapthon2";
-  version = "0.1.2";
+  version = "0.1.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-6mGMB8nW6CqTPxgc1fveh6fJo/t+jpUS6rJ2VR2gU/g=";
+  src = fetchFromGitHub {
+    owner = "cblopez";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-4Na75TdKDywUomJF4tDWUWwCCtcOSxBUMOF7+FDhbpY=";
   };
 
-  # Tests are not part of the PyPI source and source is not tagged
-  # https://github.com/cblopez/nmapthon2/issues/3
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests/scanner_tests.py"
+  ];
 
   pythonImportsCheck = [
     "nmapthon2"
diff --git a/nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix b/nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix
deleted file mode 100644
index 209d1f090779..000000000000
--- a/nixpkgs/pkgs/development/python-modules/nmigen-boards/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, nmigen
-, setuptools
-, setuptools-scm
-}:
-
-buildPythonPackage rec {
-  pname = "nmigen-boards";
-  version = "unstable-2021-02-09";
-  # python setup.py --version
-  realVersion = "0.1.dev173+g${lib.substring 0 7 src.rev}";
-
-  src = fetchFromGitHub {
-    owner = "nmigen";
-    repo = "nmigen-boards";
-    rev = "a35d870a994c2919116b2c06166dc127febb1512";
-    sha256 = "1flbcyb2xz174dgqv2964qra80xj2vbzbqwjb27shvxm6knj9ikf";
-  };
-
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ setuptools nmigen ];
-
-  preBuild = ''
-    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
-  '';
-
-  # no tests
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Board and connector definitions for nMigen";
-    homepage = "https://github.com/nmigen/nmigen-boards";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ emily ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/nmigen-soc/default.nix b/nixpkgs/pkgs/development/python-modules/nmigen-soc/default.nix
deleted file mode 100644
index 22422adad92a..000000000000
--- a/nixpkgs/pkgs/development/python-modules/nmigen-soc/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, nmigen
-, setuptools
-, setuptools-scm
-}:
-
-buildPythonPackage rec {
-  pname = "nmigen-soc";
-  version = "unstable-2021-02-09";
-  # python setup.py --version
-  realVersion = "0.1.dev43+g${lib.substring 0 7 src.rev}";
-
-  src = fetchFromGitHub {
-    owner = "nmigen";
-    repo = "nmigen-soc";
-    rev = "ecfad4d9abacf903a525f0a252c38844eda0d2dd";
-    sha256 = "0afmnfs1ms7p1r4c1nc0sfvlcq36zjwaim7775v5i2vajcn3020c";
-  };
-
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ setuptools nmigen ];
-
-  preBuild = ''
-    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
-  '';
-
-  meta = with lib; {
-    description = "System on Chip toolkit for nMigen";
-    homepage = "https://github.com/nmigen/nmigen-soc";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ emily ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/nose/default.nix b/nixpkgs/pkgs/development/python-modules/nose/default.nix
index 456bbfd9aedd..451c71897da9 100644
--- a/nixpkgs/pkgs/development/python-modules/nose/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nose2/default.nix b/nixpkgs/pkgs/development/python-modules/nose2/default.nix
index 004991e1ce9d..15850119c840 100644
--- a/nixpkgs/pkgs/development/python-modules/nose2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 1cb5f1b75708..7a1902cb2114 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/numba/default.nix b/nixpkgs/pkgs/development/python-modules/numba/default.nix
index c45419c5c88c..8bead014e34a 100644
--- a/nixpkgs/pkgs/development/python-modules/numba/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/numexpr/default.nix b/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
index 31b529c83dab..ffc422e9b421 100644
--- a/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/numpy/default.nix b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
index 945828fbc19f..2fbe1a7a694c 100644
--- a/nixpkgs/pkgs/development/python-modules/numpy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nunavut/default.nix b/nixpkgs/pkgs/development/python-modules/nunavut/default.nix
index 8c4c8e1fbc5f..f4cc9d3140e4 100644
--- a/nixpkgs/pkgs/development/python-modules/nunavut/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix b/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
index f8b434a7a129..d4d9cf1811e0 100644
--- a/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix b/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
index 5c4cbc78adb7..01e6ca29b5d9 100644
--- a/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oauthlib/default.nix
@@ -1,31 +1,40 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, mock
-, pytest
-, cryptography
+
+# propagates
 , blinker
+, cryptography
 , pyjwt
+
+# test
+, mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "oauthlib";
-  version = "unstable-2020-05-08";
+  version = "3.1.1";
+  format = "setuptools";
 
   # master supports pyjwt==1.7.1
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "46647402896db5f0d979eba9594623e889739060";
-    sha256 = "1wrdjdvlfcd74lckcgascnasrffg8sip0z673si4ag5kv4afiz3l";
+    rev = "v${version}";
+    hash = "sha256:1bgxpzh11i0x7h9py3a29cz5z714b3p498b62znnn5ciy0cr80sv";
   };
 
-  checkInputs = [ mock pytest ];
-  propagatedBuildInputs = [ cryptography blinker pyjwt ];
+  propagatedBuildInputs = [
+    blinker
+    cryptography
+    pyjwt
+  ];
 
-  checkPhase = ''
-    py.test tests/
-  '';
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/idan/oauthlib";
diff --git a/nixpkgs/pkgs/development/python-modules/objax/default.nix b/nixpkgs/pkgs/development/python-modules/objax/default.nix
index fb48f9141e2a..da0a70aafb4c 100644
--- a/nixpkgs/pkgs/development/python-modules/objax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/objax/default.nix
@@ -7,28 +7,33 @@
 , parameterized
 , pillow
 , scipy
-, tensorflow-tensorboard_2 ? null
+, tensorflow-tensorboard
 }:
 
 buildPythonPackage rec {
   pname = "objax";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "objax";
     rev = "v${version}";
-    sha256 = "09gm61ghn5mi92q5mhx22mcv6aa6z78jsrnfar1hd3nwwyn9dq42";
+    sha256 = "sha256-/6tZxVDe/3C53Re14odU9VA3mKvSj9X3/xt6bHFLHwQ=";
   };
 
+  # Avoid propagating the dependency on `jaxlib`, see
+  # https://github.com/NixOS/nixpkgs/issues/156767
+  buildInputs = [
+    jaxlib
+  ];
+
   propagatedBuildInputs = [
     jax
-    jaxlib
     numpy
     parameterized
     pillow
     scipy
-    tensorflow-tensorboard_2
+    tensorflow-tensorboard
   ];
 
   pythonImportsCheck = [
@@ -40,7 +45,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/google/objax";
     license = licenses.asl20;
     maintainers = with maintainers; [ ndl ];
-    # Darwin doesn't have `tensorflow-tensorboard_2` which is required by wheel deps.
-    platforms = [ "aarch64-linux" "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/oci/default.nix b/nixpkgs/pkgs/development/python-modules/oci/default.nix
index 793e23d71135..8da783dbdb27 100644
--- a/nixpkgs/pkgs/development/python-modules/oci/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oci/default.nix
@@ -1,45 +1,58 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
 , certifi
+, circuitbreaker
 , configparser
 , cryptography
+, fetchFromGitHub
 , pyopenssl
 , python-dateutil
+, pythonOlder
 , pytz
 }:
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.36.0";
+  version = "2.56.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "v${version}";
-    hash = "sha256-scG/ZhWeiCgXp7iD6arWIN8KZecSjKLsCW4oXeJvx6M=";
+    hash = "sha256-olrWv4c2DoZ7ddm58Wpb5jZntw8WEKJ6IzAND11tdjk=";
   };
 
+  propagatedBuildInputs = [
+    certifi
+    circuitbreaker
+    configparser
+    cryptography
+    pyopenssl
+    python-dateutil
+    pytz
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "configparser==4.0.2" "configparser" \
-      --replace "cryptography==3.2.1" "cryptography" \
+      --replace "configparser==4.0.2 ; python_version < '3'" "configparser" \
+      --replace "cryptography>=3.2.1,<=3.4.7" "cryptography" \
       --replace "pyOpenSSL>=17.5.0,<=19.1.0" "pyOpenSSL"
   '';
 
-  propagatedBuildInputs = [
-    certifi configparser cryptography pyopenssl python-dateutil pytz
-  ];
-
   # Tests fail: https://github.com/oracle/oci-python-sdk/issues/164
   doCheck = false;
 
-  pythonImportsCheck = [ "oci" ];
+  pythonImportsCheck = [
+    "oci"
+  ];
 
   meta = with lib; {
     description = "Oracle Cloud Infrastructure Python SDK";
-    homepage = "https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/index.html";
+    homepage = "https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/";
+    license = with licenses; [ asl20 /* or */ upl ];
     maintainers = with maintainers; [ ilian ];
-    license = with licenses; [ asl20 upl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
index a6c9b150ead7..ed672b7d01c5 100644
--- a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "13.2.0";
+  version = "13.4.0";
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    sha256 = "sha256-mVPKcxTKoRgttwJdsY7r0kF7W1+G45iCc+mFctDipSM=";
+    sha256 = "sha256-LgHhF+vztXPCn71d87OMn0umLvps7We6vyjdRJZw+3E=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/od/default.nix b/nixpkgs/pkgs/development/python-modules/od/default.nix
index aa275cb27a69..de64e2f8fdc8 100644
--- a/nixpkgs/pkgs/development/python-modules/od/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/od/default.nix
@@ -1,16 +1,18 @@
-{ lib, buildPythonPackage, fetchPypi, unittest2, repeated_test }:
+{ lib, buildPythonPackage, fetchPypi, unittest2 }:
 
 buildPythonPackage rec {
   pname = "od";
-  version = "1.0";
+  version = "2.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1az30snc3w6s4k1pi7mspcv8y0kp3ihf3ly44z517nszmz9lrjfi";
+    sha256 = "sha256-uGkj2Z8mLg51IV+FOqwZl1hT7zVyjmD1CcY/VbH4tKk=";
   };
 
+  # repeated_test no longer exists in nixpkgs
+  # also see: https://github.com/epsy/od/issues/1
+  doCheck = false;
   checkInputs = [
-    repeated_test
     unittest2
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/olefile/default.nix b/nixpkgs/pkgs/development/python-modules/olefile/default.nix
index d2c39e54ef48..ff0dc7c1c93a 100644
--- a/nixpkgs/pkgs/development/python-modules/olefile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/olefile/default.nix
@@ -1,7 +1,13 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
+
 buildPythonPackage rec {
   pname = "olefile";
   version = "0.46";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -9,10 +15,20 @@ buildPythonPackage rec {
     sha256 = "133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964";
   };
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "olefile"
+  ];
+
   meta = with lib; {
     description = "Python package to parse, read and write Microsoft OLE2 files";
     homepage = "https://www.decalage.info/python/olefileio";
-    # BSD like + reference to Pillow
-    license = "http://olefile.readthedocs.io/en/latest/License.html";
+    # BSD2 + reference to Pillow
+    # http://olefile.readthedocs.io/en/latest/License.html
+    license = with licenses; [ bsd2 /* and */ hpnd ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/oletools/default.nix b/nixpkgs/pkgs/development/python-modules/oletools/default.nix
index 54c5c6c165b2..76019730eb70 100644
--- a/nixpkgs/pkgs/development/python-modules/oletools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/omnikinverter/default.nix b/nixpkgs/pkgs/development/python-modules/omnikinverter/default.nix
index 6f347d9672a0..a992f14616a3 100644
--- a/nixpkgs/pkgs/development/python-modules/omnikinverter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/online-judge-api-client/default.nix b/nixpkgs/pkgs/development/python-modules/online-judge-api-client/default.nix
new file mode 100644
index 000000000000..81ca9bfaf42c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/online-judge-api-client/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, appdirs
+, beautifulsoup4
+, buildPythonPackage
+, colorlog
+, fetchFromGitHub
+, git
+, jsonschema
+, lxml
+, markdown
+, python
+, requests
+, substituteAll
+, toml
+}:
+
+let
+  # NOTE This is needed to download & run another Python program internally in
+  #      order to generate test cases for library-checker problems.
+  pythonEnv = python.withPackages (ps: with ps; [ colorlog jinja2 markdown toml ]);
+in buildPythonPackage rec {
+  pname = "online-judge-api-client";
+  version = "10.10.0";
+
+  src = fetchFromGitHub {
+    owner = "online-judge-tools";
+    repo = "api-client";
+    rev = "v${version}";
+    sha256 = "0lmryqi0bv82v9k9kf1rzzq9zr83smpmy8ivzw4fk31hvpczp4fn";
+  };
+
+  patches = [ ./fix-paths.patch ];
+  postPatch = ''
+    substituteInPlace onlinejudge/service/library_checker.py \
+      --subst-var-by git               ${git} \
+      --subst-var-by pythonInterpreter ${pythonEnv.interpreter}
+  '';
+
+  propagatedBuildInputs = [
+    appdirs
+    beautifulsoup4
+    colorlog
+    jsonschema
+    lxml
+    requests
+    toml
+  ];
+
+  # Requires internet access
+  doCheck = false;
+
+  pythonImportsCheck = [ "onlinejudge" "onlinejudge_api" ];
+
+  meta = with lib; {
+    description = "API client to develop tools for competitive programming";
+    homepage = "https://github.com/online-judge-tools/api-client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sei40kr ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/online-judge-api-client/fix-paths.patch b/nixpkgs/pkgs/development/python-modules/online-judge-api-client/fix-paths.patch
new file mode 100644
index 000000000000..5ec1f9b95c2e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/online-judge-api-client/fix-paths.patch
@@ -0,0 +1,39 @@
+diff --git a/onlinejudge/service/library_checker.py b/onlinejudge/service/library_checker.py
+index b63c7b7..e062490 100644
+--- a/onlinejudge/service/library_checker.py
++++ b/onlinejudge/service/library_checker.py
+@@ -51,7 +51,7 @@ class LibraryCheckerService(onlinejudge.type.Service):
+             return
+ 
+         try:
+-            subprocess.check_call(['git', '--version'], stdout=sys.stderr, stderr=sys.stderr)
++            subprocess.check_call(['@git@/bin/git', '--version'], stdout=sys.stderr, stderr=sys.stderr)
+         except FileNotFoundError:
+             logger.error('git command not found')
+             raise
+@@ -60,12 +60,12 @@ class LibraryCheckerService(onlinejudge.type.Service):
+         if not path.exists():
+             # init the problem repository
+             url = 'https://github.com/yosupo06/library-checker-problems'
+-            logger.info('$ git clone %s %s', url, path)
+-            subprocess.check_call(['git', 'clone', url, str(path)], stdout=sys.stderr, stderr=sys.stderr)
++            logger.info('$ @git@/bin/git clone %s %s', url, path)
++            subprocess.check_call(['@git@/bin/git', 'clone', url, str(path)], stdout=sys.stderr, stderr=sys.stderr)
+         else:
+             # sync the problem repository
+-            logger.info('$ git -C %s pull', str(path))
+-            subprocess.check_call(['git', '-C', str(path), 'pull'], stdout=sys.stderr, stderr=sys.stderr)
++            logger.info('$ @git@/bin/git -C %s pull', str(path))
++            subprocess.check_call(['@git@/bin/git', '-C', str(path), 'pull'], stdout=sys.stderr, stderr=sys.stderr)
+ 
+         cls.is_repository_updated = True
+ 
+@@ -100,7 +100,7 @@ class LibraryCheckerProblem(onlinejudge.type.Problem):
+             logger.warning("generate.py may not work on Windows")
+ 
+         problem_spec = str(self._get_problem_directory_path() / 'info.toml')
+-        command = [sys.executable, str(path / 'generate.py'), problem_spec]
++        command = ['@pythonInterpreter@', str(path / 'generate.py'), problem_spec]
+         if compile_checker:
+             command.append('--compile-checker')
+         logger.info('$ %s', ' '.join(command))
diff --git a/nixpkgs/pkgs/development/python-modules/online-judge-tools/default.nix b/nixpkgs/pkgs/development/python-modules/online-judge-tools/default.nix
new file mode 100644
index 000000000000..34e1882d60e9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/online-judge-tools/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, colorama
+, fetchFromGitHub
+, online-judge-api-client
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "online-judge-tools";
+  version = "11.5.1";
+
+  src = fetchFromGitHub {
+    owner = "online-judge-tools";
+    repo = "oj";
+    rev = "v${version}";
+    sha256 = "0zkzmmjgjb6lyrzq1ip54cpnp7al9a7mcyjyi5vx58bvnx3q0c6m";
+  };
+
+  propagatedBuildInputs = [ colorama online-judge-api-client requests ];
+
+  # Requires internet access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tools for various online judges. Download sample cases, generate additional test cases, test your code, and submit it.";
+    homepage = "https://github.com/online-judge-tools/oj";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sei40kr ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/onnx/default.nix b/nixpkgs/pkgs/development/python-modules/onnx/default.nix
index 6a682f448104..d32b82365dc7 100644
--- a/nixpkgs/pkgs/development/python-modules/onnx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/onnx/default.nix
@@ -67,7 +67,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Open Neural Network Exchange";
-    homepage = "http://onnx.ai";
+    homepage = "https://onnx.ai";
     license = licenses.asl20;
     maintainers = with maintainers; [ acairncross ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/onvif-zeep-async/default.nix b/nixpkgs/pkgs/development/python-modules/onvif-zeep-async/default.nix
new file mode 100644
index 000000000000..5e9a86acc6bd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oocsi/default.nix b/nixpkgs/pkgs/development/python-modules/oocsi/default.nix
index 2f0ae510d018..c558ebcc1a6e 100644
--- a/nixpkgs/pkgs/development/python-modules/oocsi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oocsi/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "oocsi";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "020xfjvcgicj81zl3z9wnb2f9bha75bjw512b0cc38w66bniinjq";
+    sha256 = "sha256-AgDBsPoi0aQ6uglc7Zl4gxVmeyDCysoef5vZpxgwE/Q=";
   };
 
   # Tests are not shipped
diff --git a/nixpkgs/pkgs/development/python-modules/openai/default.nix b/nixpkgs/pkgs/development/python-modules/openai/default.nix
index 542112126b10..3c557eabb9dc 100644
--- a/nixpkgs/pkgs/development/python-modules/openai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "0.11.5";
+  version = "0.14.0";
 
   disabled = pythonOlder "3.7.1";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "v${version}";
-    sha256 = "sha256-6eL3/vDWyIOVjRQo4OO3OgyUG3t8dKPtxzMMTxPCglM=";
+    sha256 = "sha256-AFfbMeYxdZaIABhf4XpszhLvFuMJebhl07sv9kuiknA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
index 8e39c899684c..0d48ab04a1db 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
@@ -66,6 +66,8 @@ buildPythonPackage rec {
   disabledTests = [
     # TypeError: Unexpected keyword arguments passed to pytest.raises: message
     "test_string_format_invalid_value"
+    # Needs a fix for new PyYAML
+    "test_django_rest_framework_apiview"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix
index 18e357c1f2d2..8251c2cd0175 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/openevsewifi/default.nix b/nixpkgs/pkgs/development/python-modules/openevsewifi/default.nix
new file mode 100644
index 000000000000..b42e9c86bbe1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
index 2e44c3756e32..616d69d389b8 100644
--- a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
+++ b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
@@ -21,8 +21,6 @@ buildPythonApplication (common // rec {
 
   disabled = !isPy3k;
 
-  sourceRoot = "source/daemon";
-
   outputs = [ "out" "man" ];
 
   nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
@@ -37,6 +35,10 @@ buildPythonApplication (common // rec {
     setproctitle
   ];
 
+  prePatch = ''
+    cd daemon
+  '';
+
   postPatch = ''
     substituteInPlace openrazer_daemon/daemon.py --replace "plugdev" "openrazer"
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix b/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
index 6832266b87ad..a813c1bf95eb 100644
--- a/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix b/nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix
new file mode 100644
index 000000000000..797a524e0172
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix b/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix
index 9bb807784ca7..976088baad76 100644
--- a/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "openstacksdk";
-  version = "0.60.0";
+  version = "0.61.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aa6efead2ac116482f29aecc2c14ba3b4c76a6f8dede93bf296a2b65492ef420";
+    sha256 = "3eed308871230f0c53a8f58b6c5a358b184080c6b2c6bc69ab088eea057aa127";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix b/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix
index 2ded1dfc1961..6e4eabeb68ab 100644
--- a/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opt-einsum/default.nix
@@ -1,24 +1,38 @@
-{ buildPythonPackage, fetchPypi, lib, numpy, pytest_4 }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   version = "3.3.0";
-  pname = "opt_einsum";
+  pname = "opt-einsum";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit version pname;
-    sha256 = "0jb5lia0q742d1713jk33vlj41y61sf52j6pgk7pvhxvfxglgxjr";
+    pname = "opt_einsum";
+    inherit version;
+    hash = "sha256-WfZHX3e7w33PfNdIUZwOxgci6R5jyhFOaIIcDFSkZUk=";
   };
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
-  checkInputs = [ pytest_4 ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest
-  '';
+  pythonImportsCheck = [
+    "opt_einsum"
+  ];
 
   meta = with lib; {
-    description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
+    description = "Optimizing NumPy's einsum function with order optimization and GPU support";
     homepage = "https://github.com/dgasmith/opt_einsum";
     license = licenses.mit;
     maintainers = with maintainers; [ teh ];
diff --git a/nixpkgs/pkgs/development/python-modules/optax/default.nix b/nixpkgs/pkgs/development/python-modules/optax/default.nix
new file mode 100644
index 000000000000..6a3b6a9d3e67
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/optax/default.nix
@@ -0,0 +1,56 @@
+{ absl-py
+, buildPythonPackage
+, chex
+, dm-haiku
+, fetchFromGitHub
+, jaxlib
+, lib
+, numpy
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "optax";
+  # As of 2022-01-06, the latest stable version (0.1.0) has broken tests that are fixed
+  # in https://github.com/deepmind/optax/commit/d6633365d84eb6f2c0df0c52b630481a349ce562
+  version = "unstable-2022-01-05";
+
+  src = fetchFromGitHub {
+    owner = "deepmind";
+    repo = pname;
+    rev = "5ec5541b3486224b22e950480ff639ceaf5098f7";
+    sha256 = "1q8cxc42a5xais2ll1l238cnn3l7w28savhgiz0lg01ilz2ysbli";
+  };
+
+  buildInputs = [ jaxlib ];
+
+  propagatedBuildInputs = [
+    absl-py
+    chex
+    numpy
+  ];
+
+  checkInputs = [
+    dm-haiku
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "optax"
+  ];
+
+  disabledTestPaths = [
+    # Requires `flax` which depends on `optax` creating circular dependency.
+    "optax/_src/equivalence_test.py"
+    # Require `tensorflow_datasets` which isn't packaged in `nixpkgs`.
+    "examples/datasets_test.py"
+    "examples/lookahead_mnist_test.py"
+  ];
+
+  meta = with lib; {
+    description = "Optax is a gradient processing and optimization library for JAX.";
+    homepage = "https://github.com/deepmind/optax";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/orjson/default.nix b/nixpkgs/pkgs/development/python-modules/orjson/default.nix
index 4a579d8766bf..d639f6567293 100644
--- a/nixpkgs/pkgs/development/python-modules/orjson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orjson/default.nix
@@ -15,20 +15,20 @@
 
 buildPythonPackage rec {
   pname = "orjson";
-  version = "3.6.4";
+  version = "3.6.7";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ijl";
     repo = pname;
     rev = version;
-    sha256 = "0xpna70s5v7d4lwsb6ijc0f2rm6p7jqmac9yayx9qb1dasbki6zd";
+    sha256 = "1a55f1ipii7hg42bvsii053xczbgwwv8w6wgdb14qyirm5c9szd3";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "0m4f8lc0zwxh4lmxkpxvdd2lc2g3lkq0ymllqbyr31sbxvwnxk56";
+    sha256 = "1piy0b1gh56n8srzhyd1n971a6pqpgmwhr4v9a81wg0xkbva8gdk";
   };
 
   format = "pyproject";
diff --git a/nixpkgs/pkgs/development/python-modules/orm/default.nix b/nixpkgs/pkgs/development/python-modules/orm/default.nix
index f2dd196be942..a1d738890b30 100644
--- a/nixpkgs/pkgs/development/python-modules/orm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orm/default.nix
@@ -1,43 +1,52 @@
 { lib
+, aiomysql
+, aiosqlite
+, asyncpg
 , buildPythonPackage
-, fetchFromGitHub
 , databases
+, fetchFromGitHub
+, pythonOlder
 , typesystem
-, aiosqlite
-, pytestCheckHook
-, pytest-cov
-, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "orm";
-  version = "0.1.5";
+  version = "0.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = "orm";
     rev = version;
-    sha256 = "1g70cr0559iyqfzidwh6n2qq6d4dcnrr4sg0jkn1s4qzka828mj7";
+    hash = "sha256-nlKEWdqttFnjBnXutlxTy9oILqFzKHKKPJpTtCUbJ5k=";
   };
 
   propagatedBuildInputs = [
+    aiomysql
+    aiosqlite
+    asyncpg
     databases
     typesystem
   ];
 
-  checkInputs = [
-    aiosqlite
-    pytestCheckHook
-    pytest-cov
-    typing-extensions
-  ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "typesystem==0.3.1" "typesystem"
+  '';
 
-  pythonImportsCheck = [ "orm" ];
+  # Tests require databases
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "orm"
+  ];
 
   meta = with lib; {
     description = "An async ORM";
     homepage = "https://github.com/encode/orm";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ormar/default.nix b/nixpkgs/pkgs/development/python-modules/ormar/default.nix
index fee9af147154..d5b9b7cf88e8 100644
--- a/nixpkgs/pkgs/development/python-modules/ormar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/osc-lib/default.nix b/nixpkgs/pkgs/development/python-modules/osc-lib/default.nix
index 560c8869b00f..95c5e5d6a328 100644
--- a/nixpkgs/pkgs/development/python-modules/osc-lib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix b/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
index cc89f3124806..b4d1c8fb88af 100644
--- a/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , asn1crypto
 , fetchPypi
@@ -35,6 +36,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "oscrypto" ];
 
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "Encryption library for Python";
     homepage = "https://github.com/wbond/oscrypto";
diff --git a/nixpkgs/pkgs/development/python-modules/oslo-config/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-config/default.nix
index 125481d1e026..f7e09692945a 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-config/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oslo-log/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-log/default.nix
index dd2d69a0c23d..a2e6eac8e389 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-log/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oslo-serialization/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-serialization/default.nix
index e6b8d0d0c422..e59258dda782 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-serialization/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix
index 4f1a4d9df2d4..aeea9b742a93 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix
@@ -23,12 +23,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-utils";
-  version = "4.11.0";
+  version = "4.12.2";
 
   src = fetchPypi {
     pname = "oslo.utils";
     inherit version;
-    sha256 = "1wl3r4jayzjgzf36iwn05xcjfh227s97qymjxji9hz4ibhy3v83f";
+    sha256 = "sha256-Qf0sT/bS6No4qttaW/JCWKhlDg4KaYprI51IuOQXfDs=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/osqp/default.nix b/nixpkgs/pkgs/development/python-modules/osqp/default.nix
index 1db266e116d4..865bd45c61b3 100644
--- a/nixpkgs/pkgs/development/python-modules/osqp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ovoenergy/default.nix b/nixpkgs/pkgs/development/python-modules/ovoenergy/default.nix
index 42615fa664dd..1e60872b2c1b 100644
--- a/nixpkgs/pkgs/development/python-modules/ovoenergy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/oyaml/default.nix b/nixpkgs/pkgs/development/python-modules/oyaml/default.nix
index 9ea527e06f19..e2519c0b9720 100644
--- a/nixpkgs/pkgs/development/python-modules/oyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oyaml/default.nix
@@ -1,21 +1,25 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, lib
 
-# pythonPackages
-, pytest
+  # pythonPackages
+, pytestCheckHook
+, pythonOlder
 , pyyaml
 }:
 
 buildPythonPackage rec {
   pname = "oyaml";
-  version = "1.0";
+  version = "unstable-2021-12-03";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "wimglenn";
     repo = "oyaml";
-    rev = "v${version}";
-    sha256 = "0qkj8g87drvjqiqqmz36gyqiczdfcfv8zk96kkifzk4f9dl5f02j";
+    rev = "d0195070d26bd982f1e4e604bded5510dd035cd7";
+    hash = "sha256-1rSEhiULlAweLDqUFX+JBFxe3iW9kNlRA2zjcG8MYSg=";
   };
 
   propagatedBuildInputs = [
@@ -23,19 +27,17 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    pytest test_oyaml.py
-  '';
+  pythonImportsCheck = [
+    "oyaml"
+  ];
 
-  meta = {
-    description = "Ordered YAML: drop-in replacement for PyYAML which preserves dict ordering";
+  meta = with lib; {
+    description = "Drop-in replacement for PyYAML which preserves dict ordering";
     homepage = "https://github.com/wimglenn/oyaml";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [
-      kamadorueda
-    ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/p1monitor/default.nix b/nixpkgs/pkgs/development/python-modules/p1monitor/default.nix
index d1530c797198..7a8bc9fd050b 100644
--- a/nixpkgs/pkgs/development/python-modules/p1monitor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pa-ringbuffer/default.nix b/nixpkgs/pkgs/development/python-modules/pa-ringbuffer/default.nix
index 466d3937a1fb..066c4a47ae4e 100644
--- a/nixpkgs/pkgs/development/python-modules/pa-ringbuffer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pa-ringbuffer/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pa-ringbuffer";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "spatialaudio";
     repo = "python-pa-ringbuffer";
     rev = version;
-    sha256 = "0afpydy1l20hd1xncjppjhqa2c8dj5h9nlv4z8m55cs9hc9h1mxv";
+    sha256 = "1d4k6z13mc1f88m6wbhfx8hillb7q78n33ws5bmyblsdkv1gx607";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix b/nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix
index 564a08b4eb79..5236cc7bbf8e 100644
--- a/nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/packaging/default.nix b/nixpkgs/pkgs/development/python-modules/packaging/default.nix
index d76b5b1723ef..648a548e521b 100644
--- a/nixpkgs/pkgs/development/python-modules/packaging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/packaging/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "packaging";
-  version = "20.9";
+  version = "21.3";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WzJ6wTINyGPcpy9FFOzAhvMRhnRLhKIwN0zB/Xdv6uU=";
+    sha256 = "sha256-3UfEKSfYmrkR5gZRiQfMLTofOLvQJjhZcGQ/nFuOz+s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pamqp/default.nix b/nixpkgs/pkgs/development/python-modules/pamqp/default.nix
index 6df8b5491c9a..1785a8593102 100644
--- a/nixpkgs/pkgs/development/python-modules/pamqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pamqp/default.nix
@@ -9,12 +9,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.0.1";
+  version = "3.1.0";
   pname = "pamqp";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a9b49bde3f554ec49b47ebdb789133979985f24d5f4698935ed589a2d4392a4";
+    sha256 = "e4f0886d72c6166637a5513626148bf5a7e818073a558980e9aaed8b4ccf30da";
   };
 
   buildInputs = [ mock nose pep8 pylint mccabe ];
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/default.nix b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
index 880a5afdce63..536f883f29a2 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/panflute/default.nix b/nixpkgs/pkgs/development/python-modules/panflute/default.nix
index 4e161d4bfa3c..d94dc48b6d03 100644
--- a/nixpkgs/pkgs/development/python-modules/panflute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/panflute/default.nix
@@ -4,29 +4,23 @@
 , pyyaml
 , buildPythonPackage
 , isPy3k
-, fetchpatch
 }:
 
 buildPythonPackage rec{
-  version = "2.1.0";
+  version = "2.1.3";
   pname = "panflute";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8a3d5dd2a10c3aa6fa8167713fedb47400f0e8ae6ea8346fd4b599842bb1882d";
+    sha256 = "y5QkT+dmiTuy8XLruCfsPe12G4//qE5MhLZ4ufip/5U=";
   };
-  patches = [
-    # Upstream has relaxed the version constaints for the click dependency
-    # but there hasn't been a release since then
-    (fetchpatch {
-      url = "https://github.com/sergiocorreia/panflute/commit/dee6c716a73072a968d67f8638a61de44025d8de.patch";
-      sha256 = "sha256-Kj/NTcXsSkevpfr8OwoIQi0p6ChXDM6YgYDPNHJtJZo=";
-    })
-  ];
 
-  propagatedBuildInputs = [ click pyyaml ];
+  propagatedBuildInputs = [
+    click
+    pyyaml
+  ];
 
   meta = with lib; {
     description = "A Pythonic alternative to John MacFarlane's pandocfilters, with extra helper functions";
diff --git a/nixpkgs/pkgs/development/python-modules/papermill/default.nix b/nixpkgs/pkgs/development/python-modules/papermill/default.nix
index 83e4a9f6f731..5c30e14db74b 100644
--- a/nixpkgs/pkgs/development/python-modules/papermill/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/papermill/default.nix
@@ -25,11 +25,11 @@
 
 buildPythonPackage rec {
   pname = "papermill";
-  version = "2.3.3";
+  version = "2.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "349aecd526c15c39f73a08df836467e2fead877c474d82c7df349f27ad272525";
+    sha256 = "be12d2728989c0ae17b42fcb05b623500004e94b34f56bd153355ccebb84a59a";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/papis/default.nix b/nixpkgs/pkgs/development/python-modules/papis/default.nix
index 1805172f4d7d..d117c8eb8db6 100644
--- a/nixpkgs/pkgs/development/python-modules/papis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/papis/default.nix
@@ -1,66 +1,121 @@
-{ lib, buildPythonPackage, fetchFromGitHub, xdg-utils
-, requests, filetype, pyparsing, configparser, arxiv2bib
-, pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
-, click, python-slugify, habanero, isbnlib, typing-extensions
-, prompt-toolkit, pygments, stevedore, tqdm, lxml
-, python-doi, isPy3k, pytest-cov
-#, optional, dependencies
-, whoosh, pytest
+{ lib
 , stdenv
+, arxiv2bib
+, beautifulsoup4
+, bibtexparser
+, buildPythonPackage
+, chardet
+, click
+, colorama
+, configparser
+, fetchFromGitHub
+, filetype
+, habanero
+, isbnlib
+, lxml
+, prompt-toolkit
+, pygments
+, pyparsing
+, pytestCheckHook
+, python-doi
+, python-slugify
+, pythonAtLeast
+, pythonOlder
+, pyyaml
+, requests
+, stevedore
+, tqdm
+, typing-extensions
+, whoosh
+, xdg-utils
 }:
 
 buildPythonPackage rec {
   pname = "papis";
   version = "0.11.1";
-  disabled = !isPy3k;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # Missing tests on Pypi
   src = fetchFromGitHub {
     owner = "papis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bbkjyw1fsvvp0380l404h2lys8ib4xqga5s6401k1y1hld28nl6";
+    hash = "sha256-hlokGoXBhxkAMbqohztZEWlPBSSAUIAGuHtrF7iXcy0=";
   };
 
   propagatedBuildInputs = [
-    requests filetype pyparsing configparser arxiv2bib
-    pyyaml chardet beautifulsoup4 colorama bibtexparser
-    click python-slugify habanero isbnlib
-    prompt-toolkit pygments typing-extensions
-    stevedore tqdm lxml
+    arxiv2bib
+    beautifulsoup4
+    bibtexparser
+    chardet
+    click
+    colorama
+    configparser
+    filetype
+    habanero
+    isbnlib
+    lxml
+    prompt-toolkit
+    pygments
+    pyparsing
     python-doi
-    # optional dependencies
+    python-slugify
+    pyyaml
+    requests
+    stevedore
+    tqdm
+    typing-extensions
     whoosh
   ];
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "lxml<=4.3.5" "lxml~=4.3" \
-      --replace "isbnlib>=3.9.1,<3.10" "isbnlib~=3.9" \
-      --replace "python-slugify>=1.2.6,<4" "python-slugify"
+      --replace "isbnlib>=3.9.1,<3.10" "isbnlib>=3.9"
+    substituteInPlace setup.cfg \
+      --replace "--cov=papis" ""
   '';
 
-  doCheck = !stdenv.isDarwin;
+  # Tests are failing on Python > 3.9
+  doCheck = !stdenv.isDarwin && !(pythonAtLeast "3.10");
 
   checkInputs = ([
-    pytest pytest-cov
+    pytestCheckHook
   ]) ++ [
     xdg-utils
   ];
 
-  # most of the downloader tests and 4 other tests require a network connection
-  # test_export_yaml and test_citations check for the exact output produced by pyyaml 3.x and
-  # fail with 5.x
-  checkPhase = ''
-    HOME=$(mktemp -d) pytest papis tests --ignore tests/downloaders \
-      -k "not test_get_data and not test_doi_to_data and not test_general and not get_document_url \
-      and not test_validate_arxivid and not test_downloader_getter and not match"
+  preCheck = ''
+    export HOME=$(mktemp -d);
   '';
 
-  meta = {
+  pytestFlagsArray = [
+    "papis tests"
+  ];
+
+  disabledTestPaths = [
+    "tests/downloaders"
+  ];
+
+  disabledTests = [
+    "get_document_url"
+    "match"
+    "test_doi_to_data"
+    "test_downloader_getter"
+    "test_general"
+    "test_get_data"
+    "test_validate_arxivid"
+    "test_yaml"
+  ];
+
+  pythonImportsCheck = [
+    "papis"
+  ];
+
+  meta = with lib; {
     description = "Powerful command-line document and bibliography manager";
-    homepage = "https://papis.readthedocs.io/en/latest/";
-    license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ nico202 teto ];
+    homepage = "https://papis.readthedocs.io/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ nico202 teto ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/paramiko/default.nix b/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
index 86cdb73b2607..d7be0348d54a 100644
--- a/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
@@ -1,48 +1,65 @@
-{ pkgs
+{ lib
+, bcrypt
 , buildPythonPackage
-, fetchPypi
 , cryptography
-, bcrypt
+, fetchPypi
 , invoke
-, pynacl
+, mock
 , pyasn1
-, pytestCheckHook
+, pynacl
 , pytest-relaxed
-, mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.8.0";
+  version = "2.9.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e673b10ee0f1c80d46182d3af7751d033d9b573dd7054d2d0aa46be186c3c1d2";
+    sha256 = "944a9e5dbdd413ab6c7951ea46b0ab40713235a9c4c5ca81cfe45c6f14fa677b";
   };
 
-  propagatedBuildInputs = [ bcrypt cryptography pynacl pyasn1 ];
+  propagatedBuildInputs = [
+    bcrypt
+    cryptography
+    pyasn1
+    pynacl
+  ];
+
+  checkInputs = [
+    invoke
+    mock
+    pytest-relaxed
+    pytestCheckHook
+  ];
 
   # with python 3.9.6+, the deprecation warnings will fail the test suite
   # see: https://github.com/pyinvoke/invoke/issues/829
   doCheck = false;
-  checkInputs = [ invoke pytestCheckHook pytest-relaxed mock ];
 
   disabledTestPaths = [
     "tests/test_sftp.py"
     "tests/test_config.py"
   ];
 
+  pythonImportsCheck = [
+    "paramiko"
+  ];
+
   __darwinAllowLocalNetworking = true;
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     homepage = "https://github.com/paramiko/paramiko/";
     description = "Native Python SSHv2 protocol library";
     license = licenses.lgpl21Plus;
     longDescription = ''
-      This is a library for making SSH2 connections (client or server).
-      Emphasis is on using SSH2 as an alternative to SSL for making secure
-      connections between python scripts. All major ciphers and hash methods
-      are supported. SFTP client and server mode are both supported too.
+      Library for making SSH2 connections (client or server). Emphasis is
+      on using SSH2 as an alternative to SSL for making secure connections
+      between python scripts. All major ciphers and hash methods are
+      supported. SFTP client and server mode are both supported too.
     '';
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/parfive/default.nix b/nixpkgs/pkgs/development/python-modules/parfive/default.nix
index 822ae2113b2a..5bb1b0443934 100644
--- a/nixpkgs/pkgs/development/python-modules/parfive/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parfive/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "parfive";
-  version = "1.5.0";
+  version = "1.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f36128e8a93f3494ce3de8af883eeba4bd651ab228682810a46ec4b7897a84b3";
+    sha256 = "c411fd7269a49d1c72a964e97de474ec082115777b363aeed98a6595f90b8676";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/parso/default.nix b/nixpkgs/pkgs/development/python-modules/parso/default.nix
index a68f535d29db..16313ab16ee8 100644
--- a/nixpkgs/pkgs/development/python-modules/parso/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parso/default.nix
@@ -2,31 +2,28 @@
 , buildPythonPackage
 , fetchPypi
 , fetchpatch
+, pythonAtLeast
 , pythonOlder
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "parso";
-  version = "0.8.1";
+  version = "0.8.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e";
+    sha256 = "sha256-jAe+KQu1nwNYiRWSHinopQACrK8s3F+g4BFPkXCfr6A=";
   };
 
-  patches = [
-    # Fix the flaky test due to slow moving time on Apple Silicon chips.
-    # Remove when https://github.com/davidhalter/parso/pull/177 is in the next release.
-    (fetchpatch {
-      url = "https://github.com/davidhalter/parso/pull/177/commits/2799a7a3c2cf87fdc2d0c19a0890acea425091ce.patch";
-      sha256 = "sha256-A5EQly1wR/7lo+L8Pp0UPSUIhC0WcblXEWQNvRMlZYA=";
-    })
-  ];
-
   checkInputs = [ pytestCheckHook ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    # python changed exception message format in 3.10, 3.10 not yet supported
+    "test_python_exception_matches"
+  ];
+
   meta = with lib; {
     description = "A Python Parser";
     homepage = "https://parso.readthedocs.io/en/latest/";
diff --git a/nixpkgs/pkgs/development/python-modules/parsy/default.nix b/nixpkgs/pkgs/development/python-modules/parsy/default.nix
index 53743052f4e4..9083953009ad 100644
--- a/nixpkgs/pkgs/development/python-modules/parsy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parsy/default.nix
@@ -1,26 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, pytest }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "parsy";
   version = "1.4.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7c411373e520e97431f0b390db9d2cfc5089bc1d33f4f1584d2cdc9e6368f302";
-  };
+  disabled = pythonOlder "3.5";
 
-  checkInputs = [ pytest ];
+  src = fetchFromGitHub {
+    repo = "parsy";
+    owner = "python-parsy";
+    rev = "v${version}";
+    sha256 = "sha256-FislrLb+u4T5m/eEER7kazZHJKEwPHe+Vg/YDJp4PyM=";
+  };
 
-  checkPhase = ''
-    py.test test/
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  disabled = pythonOlder "3.4";
+  pythonImportsCheck = [
+    "parsy"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/python-parsy/parsy";
     description = "Easy-to-use parser combinators, for parsing in pure Python";
     license = [ licenses.mit ];
-    maintainers = with maintainers; [ edibopp ];
+    maintainers = with maintainers; [ milibopp ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/patrowl4py/default.nix b/nixpkgs/pkgs/development/python-modules/patrowl4py/default.nix
index 3dc1fc038bc7..22de8feb0e74 100644
--- a/nixpkgs/pkgs/development/python-modules/patrowl4py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/patrowl4py/default.nix
@@ -21,13 +21,13 @@
 
 buildPythonPackage rec {
   pname = "patrowl4py";
-  version = "1.1.7";
+  version = "1.1.9";
 
   src = fetchFromGitHub {
     owner = "Patrowl";
     repo = "Patrowl4py";
     rev = version;
-    sha256 = "19r9ym31bcaxcrv35gnfx5k8mn5lyascqzdr312rzc7ikbhcj73s";
+    sha256 = "sha256-ZGvntLbXIWmL0WoT+kQoNT6gDPgsSKwHQQjYlarvnKo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix b/nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix
new file mode 100644
index 000000000000..aa99d5f23f7b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, git
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pdm-pep517";
+  version = "0.10.2";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "83bb71a7588df69ea0d77dc6524741c3a1af54ad5f421341428de648bfc03a29";
+  };
+
+  preCheck = ''
+    HOME=$TMPDIR
+
+    git config --global user.name nobody
+    git config --global user.email nobody@example.com
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+    git
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/pdm-project/pdm-pep517";
+    description = "Yet another PEP 517 backend.";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pebble/default.nix b/nixpkgs/pkgs/development/python-modules/pebble/default.nix
index daf4a0458670..c96955d860c7 100644
--- a/nixpkgs/pkgs/development/python-modules/pebble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pebble/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pebble";
-  version = "4.6.0";
+  version = "4.6.3";
   disabled = isPy27;
 
   src = fetchPypi {
     pname = "Pebble";
     inherit version;
-    sha256 = "0a595f7mrf89xlck9b2x83bqybc9zd9jxkl0sa5cf19vax18rg8h";
+    sha256 = "694e1105db888f3576b8f00662f90b057cf3780e6f8b7f57955a568008d0f497";
   };
 
   doCheck = !stdenv.isDarwin;
diff --git a/nixpkgs/pkgs/development/python-modules/pecan/default.nix b/nixpkgs/pkgs/development/python-modules/pecan/default.nix
index a488f15fbed8..0931cc2b28d8 100644
--- a/nixpkgs/pkgs/development/python-modules/pecan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pecan/default.nix
@@ -1,46 +1,36 @@
 { lib
 , fetchPypi
-, fetchpatch
 , buildPythonPackage
-, isPy27
-# Python deps
 , logutils
 , Mako
-, six
 , webtest
-# Test Inputs
+, pythonOlder
 , pytestCheckHook
 , genshi
 , gunicorn
 , jinja2
-, Kajiki
-, mock
+, six
 , sqlalchemy
 , virtualenv
 }:
 
 buildPythonPackage rec {
   pname = "pecan";
-  version = "1.4.0";
+  version = "1.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4b2acd6802a04b59e306d0a6ccf37701d24376f4dc044bbbafba3afdf9d3389a";
+    sha256 = "sha256-LL0O7btXR8BM3xjEquTxxunZUPOvcK8lRLB09+16BIA=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "Support-SQLAlchemy-1.4x.patch";
-      url = "https://github.com/pecan/pecan/commit/a520bd544c0b02a02dbf692b8d6e2f7a503ee6d4.patch";
-      sha256 = "sha256-QCHRjwnpy8ndCvcuyE5Y65BybKYthJXDySUtmpJD8gY=";
-    })
-  ];
-
   propagatedBuildInputs = [
     logutils
     Mako
-    six
     webtest
+    six
   ];
 
   checkInputs = [
@@ -48,19 +38,23 @@ buildPythonPackage rec {
     genshi
     gunicorn
     jinja2
-    mock
     sqlalchemy
     virtualenv
-  ] ++ lib.optionals isPy27 [ Kajiki ];
+  ];
 
   pytestFlagsArray = [
-    "--pyargs pecan "
+    "--pyargs pecan"
+  ];
+
+  pythonImportsCheck = [
+    "pecan"
   ];
 
   meta = with lib; {
-    description = "WSGI object-dispatching web framework, designed to be lean and fast";
-    homepage = "https://www.pecanpy.org/";
     changelog = "https://pecan.readthedocs.io/en/latest/changes.html";
+    description = "WSGI object-dispatching web framework";
+    homepage = "https://www.pecanpy.org/";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ applePrincess ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pelican/default.nix b/nixpkgs/pkgs/development/python-modules/pelican/default.nix
index e39993194a8c..436192e18b8d 100644
--- a/nixpkgs/pkgs/development/python-modules/pelican/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pep257/default.nix b/nixpkgs/pkgs/development/python-modules/pep257/default.nix
index c168e087fc5c..d6205fc6e72e 100644
--- a/nixpkgs/pkgs/development/python-modules/pep257/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pep517/default.nix b/nixpkgs/pkgs/development/python-modules/pep517/default.nix
index 90dc50461990..ad58cdb72d4d 100644
--- a/nixpkgs/pkgs/development/python-modules/pep517/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/perfplot/default.nix b/nixpkgs/pkgs/development/python-modules/perfplot/default.nix
index af653ed0c8da..ca8f867e6e30 100644
--- a/nixpkgs/pkgs/development/python-modules/perfplot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index 438360260822..ba6fd3cb7f8e 100644
--- a/nixpkgs/pkgs/development/python-modules/pex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pex/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.56";
+  version = "2.1.66";
   format = "flit";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8dfb7ef551cc9d3d03a6e2dc1b1ba6183cd94f3cde7431836f017d60cc992d53";
+    sha256 = "sha256-FYDudoCgxk2wkjPVXTnzHzCQRwtHmgJS+2mwoKbj3Ms=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
index f61a0c593275..57c9f77f1fed 100644
--- a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.23.0";
+  version = "1.24.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pBPgAUE0KBOiykfot7BUn/M4zKAryBkHa21w8S11XHk=";
+    sha256 = "sha256-BsawsGjQfONm97ztrfdqC12mph+GMCyMr/aQt/xd/ts=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/phonemizer/default.nix b/nixpkgs/pkgs/development/python-modules/phonemizer/default.nix
index 54a816643818..29f7266b6910 100644
--- a/nixpkgs/pkgs/development/python-modules/phonemizer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
index 5a8cb430ae6f..9faad1e96de2 100644
--- a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.40";
+  version = "8.12.43";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00f2955a456b458f9b6ab0d24329049c3e7358c44dfc1979fe4908ced40f1eb8";
+    sha256 = "sha256-HIJwouJX1sZUWKQig/gtPsp/e52SVFSmlm4vBN914c8=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix b/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
index dec86d166112..3c45c602ae53 100644
--- a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pi1wire/default.nix b/nixpkgs/pkgs/development/python-modules/pi1wire/default.nix
new file mode 100644
index 000000000000..993c715999b2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pijuice/default.nix b/nixpkgs/pkgs/development/python-modules/pijuice/default.nix
new file mode 100644
index 000000000000..59f898f7906f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pijuice/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, smbus-cffi
+, urwid
+}:
+
+buildPythonPackage rec {
+  pname = "pijuice";
+  version = "1.7";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "PiSupply";
+    repo = "PiJuice";
+    # 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 = [
+    # The pijuice_cli.cli file doesn't have a shebang as the first line of the
+    # script. Without it, the pythonWrapPrograms hook will not wrap the program.
+    # Add a python shebang here so that the the hook is triggered.
+    ./patch-shebang.diff
+  ];
+
+  PIJUICE_BUILD_BASE = 1;
+  PIJUICE_VERSION = version;
+
+  preBuild = ''
+    cd Software/Source
+  '';
+
+  propagatedBuildInputs = [ smbus-cffi urwid ];
+
+  # Remove the following files from the package:
+  #
+  # pijuice_cli - A precompiled ELF binary that is a setuid wrapper for calling
+  #               pijuice_cli.py
+  #
+  # pijuiceboot - a precompiled ELF binary for flashing firmware. Not needed for
+  #               the python library.
+  #
+  # pijuice_sys.py - A program that acts as a system daemon for monitoring the
+  #                  pijuice.
+  preFixup = ''
+    rm $out/bin/pijuice_cli
+    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";
+    homepage = "https://github.com/PiSupply/PiJuice";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ hexagonal-sun ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pijuice/patch-shebang.diff b/nixpkgs/pkgs/development/python-modules/pijuice/patch-shebang.diff
new file mode 100644
index 000000000000..eb899c9a5bde
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pijuice/patch-shebang.diff
@@ -0,0 +1,9 @@
+diff --git a/Software/Source/src/pijuice_cli.py b/Software/Source/src/pijuice_cli.py
+index c366fee..37af383 100644
+--- a/Software/Source/src/pijuice_cli.py
++++ b/Software/Source/src/pijuice_cli.py
+@@ -1,3 +1,4 @@
++#!/usr/bin/python3
+ # This python script to be executed as user pijuice by the setuid program pijuice_cli 
+ # Python 3 only
+ #
diff --git a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
index 6f0f733c4723..bef67237a89c 100644
--- a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "4.3.0";
+  version = "5.0.1";
   disabled = ! isPy3k;
 
   src = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-9dSJ6+rZd49rFSQExYnFBGQGZ8MnFM+z/0Iz/nYkW4E=";
+    hash = "sha256-PlfVvCEutWaNQyhP4j44viAmjvBzUlZUvUbYQPcNL24=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pikepdf/paths.patch b/nixpkgs/pkgs/development/python-modules/pikepdf/paths.patch
index 17349f7ac209..7db73bb1a6dd 100644
--- a/nixpkgs/pkgs/development/python-modules/pikepdf/paths.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pillow/default.nix b/nixpkgs/pkgs/development/python-modules/pillow/default.nix
index e0f29d366e10..57b085a54051 100644
--- a/nixpkgs/pkgs/development/python-modules/pillow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pillow/default.nix
@@ -5,13 +5,13 @@
 
 import ./generic.nix (rec {
   pname = "Pillow";
-  version = "8.4.0";
+  version = "9.0.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed";
+    sha256 = "0gjry0yqryd2678sm47jhdnbghzxn5wk8pgyaqwr4qi7x5ijjvpf";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix b/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
index 9d54eef4d706..307e99c04d80 100644
--- a/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pip-tools/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "6.4.0";
+  version = "6.5.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "65553a15b1ba34be5e43889345062e38fb9b219ffa23b084ca0d4c4039b6f53b";
+    sha256 = "sha256-gPViqmmfx2pCRTlpfgvvQeSQoFDlemohRoUxmBqdQZ4=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pip/default.nix b/nixpkgs/pkgs/development/python-modules/pip/default.nix
index fc447bfb98a0..2ddba8f363e3 100644
--- a/nixpkgs/pkgs/development/python-modules/pip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pip/default.nix
@@ -7,18 +7,21 @@
 , virtualenv
 , pretend
 , pytest
+
+# coupled downsteam dependencies
+, pip-tools
 }:
 
 buildPythonPackage rec {
   pname = "pip";
-  version = "21.1.3";
+  version = "21.3.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zfMz9p4I6Kmw849xuvnmGWHmWtajDntFW1jjDilKkgk=";
+    sha256 = "sha256-A8oePI5VOKGJTY6ZuUhcOhRkz2I2FSdfsS2xIgktCVQ=";
     name = "${pname}-${version}-source";
   };
 
@@ -32,6 +35,8 @@ buildPythonPackage rec {
   # Pip wants pytest, but tests are not distributed
   doCheck = false;
 
+  passthru.tests = { inherit pip-tools; };
+
   meta = {
     description = "The PyPA recommended tool for installing Python packages";
     license = with lib.licenses; [ mit ];
diff --git a/nixpkgs/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix b/nixpkgs/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix
new file mode 100644
index 000000000000..6f359d3bc9a7
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pipx/default.nix b/nixpkgs/pkgs/development/python-modules/pipx/default.nix
index 2f80806c431a..3f461b15a3f2 100644
--- a/nixpkgs/pkgs/development/python-modules/pipx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pipx/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pipx";
-  version = "0.17.0";
+  version = "1.0.0";
 
   disabled = pythonOlder "3.6";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pipxproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vR/tKV+ZB0nZaxEcB83dwoSI7kBC1rA+6fo30rizroM=";
+    sha256 = "1sgfrlhci2m83k436dfwfmqjpb8hij6yypm03pm3n8drmr2aaa4s";
   };
 
   propagatedBuildInputs = [
@@ -68,6 +68,6 @@ buildPythonPackage rec {
       "Install and Run Python Applications in Isolated Environments";
     homepage = "https://github.com/pipxproject/pipx";
     license = licenses.mit;
-    maintainers = with maintainers; [ yevhenshymotiuk ];
+    maintainers = with maintainers; [ yshym ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pivy/default.nix b/nixpkgs/pkgs/development/python-modules/pivy/default.nix
index 7645fdaec8aa..092bcbfcfd9d 100644
--- a/nixpkgs/pkgs/development/python-modules/pivy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pixelmatch/default.nix b/nixpkgs/pkgs/development/python-modules/pixelmatch/default.nix
index d7473a05bcca..836c3cd38ab2 100644
--- a/nixpkgs/pkgs/development/python-modules/pixelmatch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pixelmatch/default.nix
@@ -1,15 +1,26 @@
-{ lib, buildPythonPackage, fetchgit, poetry-core, pytestCheckHook, pytest-benchmark, pytest-mypy, pillow }:
+{ lib
+, buildPythonPackage
+, fetchgit
+, pillow
+, poetry-core
+, pytest-benchmark
+, pytest-mypy
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pixelmatch";
-  version = "0.2.2";
+  version = "0.2.3";
   format = "pyproject";
 
-  # test fixtures are stored in LFS
+  disabled = pythonOlder "3.6";
+
+  # Test fixtures are stored in LFS
   src = fetchgit {
     url = "https://github.com/whtsky/pixelmatch-py";
     rev = "v${version}";
-    sha256 = "1dsix507dxqik9wvgzscvf2pifbg7gx74krrsalqbfcmm7d1i7xl";
+    hash = "sha256-/zRQhwz+HjT0Hs4CunsqHxHWEtoIH9qMBowRb0Pps6Y=";
     fetchLFS = true;
   };
 
@@ -18,19 +29,24 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytestCheckHook
+    pillow
     pytest-benchmark
     pytest-mypy
-    pillow
+    pytestCheckHook
   ];
 
   pytestFlagsArray = [
-    "--mypy"
+    # Incompatible types in assignment
+    #"--mypy"
     "--benchmark-disable"
   ];
 
+  pythonImportsCheck = [
+    "pixelmatch"
+  ];
+
   meta = with lib; {
-    description = "A pixel-level image comparison library.";
+    description = "Pixel-level image comparison library";
     homepage = "https://github.com/whtsky/pixelmatch-py";
     license = licenses.isc;
     maintainers = with maintainers; [ petabyteboy ];
diff --git a/nixpkgs/pkgs/development/python-modules/pkuseg/default.nix b/nixpkgs/pkgs/development/python-modules/pkuseg/default.nix
index d59fe56203aa..474d66dafc63 100644
--- a/nixpkgs/pkgs/development/python-modules/pkuseg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pkuseg/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , isPy3k
+, pythonAtLeast
 , cython
 , numpy
 }:
@@ -10,7 +11,7 @@ buildPythonPackage rec {
   pname = "pkuseg";
   version = "0.0.25";
 
-  disabled = !isPy3k;
+  disabled = !isPy3k || pythonAtLeast "3.9";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
index 31a62c109646..387853ad28c5 100644
--- a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "8.8.0";
+  version = "8.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8689b5c4d69e93026aea252314fb3133359fa70df5819ad6995c4e44a2f84858";
+    sha256 = "8930949bd43e3126289f50e927d1acacf53c57ec3227c764e0c1feb72bbb61a3";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix b/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
index 062295a4eada..f2e865991487 100644
--- a/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
@@ -11,14 +11,16 @@
 
 buildPythonPackage rec {
   pname = "platformdirs";
-  version = "2.4.0";
-  disabled = pythonOlder "3.6";
+  version = "2.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ox1CVq2M2eddZtpuZx0IfvuOm6RPsAs27WkMdZSeh0E=";
+    sha256 = "sha256-Ce1dwE2g/7o91NPkmlM0uv0eMB7WzFCExV/8ZCAn22Y=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -33,7 +35,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
- pythonImportsCheck = [ "platformdirs" ];
+  pythonImportsCheck = [
+    "platformdirs"
+  ];
 
   meta = with lib; {
     description = "Python module for determining appropriate platform-specific directories";
diff --git a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
index 8c0bd2d07e80..ef702b93adb1 100644
--- a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.8.0";
+  version = "4.9.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = version;
-    sha256 = "sha256-e+nZi84mF9Z/gbFyhmE9TlntkTyrfoNr3U/fwH55fjw=";
+    sha256 = "sha256-93qMSOnCl18dRZQB8v2Cxv21vsdFzHefQ7zttQAuPKk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plotly/default.nix b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
index c4811044ae2b..fbe869b07032 100644
--- a/nixpkgs/pkgs/development/python-modules/plotly/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/plugwise/default.nix b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
index 28a67f1da82e..cc2601e4a227 100644
--- a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.15.3";
+  version = "0.16.6";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = "v${version}";
-    sha256 = "sha256-HaH0LcH6L3R9vLT0vlM1absMTbfqgEeVi/aP2FqdnQY=";
+    sha256 = "sha256-hAYbYsLpiiJYdg9Rx5BjqNA9JTtKGu3DE0SpwOxlTWw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/plumbum/default.nix b/nixpkgs/pkgs/development/python-modules/plumbum/default.nix
index e571f276f28f..ae3c4941f684 100644
--- a/nixpkgs/pkgs/development/python-modules/plumbum/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/poetry/default.nix b/nixpkgs/pkgs/development/python-modules/poetry/default.nix
index 1957982bd8fe..5efbe56ac5bd 100644
--- a/nixpkgs/pkgs/development/python-modules/poetry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/poetry/default.nix
@@ -1,20 +1,28 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy27, pythonOlder, fetchpatch
+{ lib
+, buildPythonPackage
 , cachecontrol
 , cachy
 , cleo
 , clikit
+, crashtest
+, dataclasses
+, entrypoints
+, fetchFromGitHub
+, fetchpatch
 , html5lib
 , httpretty
 , importlib-metadata
 , intreehooks
 , keyring
 , lockfile
+, packaging
 , pexpect
 , pkginfo
 , poetry-core
-, pytestCheckHook
-, pytest-cov
 , pytest-mock
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
 , requests
 , requests-toolbelt
 , shellingham
@@ -26,7 +34,8 @@ buildPythonPackage rec {
   pname = "poetry";
   version = "1.1.12";
   format = "pyproject";
-  disabled = isPy27;
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-poetry";
@@ -37,21 +46,27 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-     --replace 'importlib-metadata = {version = "^1.6.0", python = "<3.8"}' \
+      --replace 'importlib-metadata = {version = "^1.6.0", python = "<3.8"}' \
        'importlib-metadata = {version = ">=1.6", python = "<3.8"}' \
-     --replace 'version = "^21.2.0"' 'version = ">=21.2"'
+      --replace 'version = "^21.2.0"' 'version = ">=21.2"' \
+      --replace 'packaging = "^20.4"' 'packaging = "*"'
   '';
 
-  nativeBuildInputs = [ intreehooks ];
+  nativeBuildInputs = [
+    intreehooks
+  ];
 
   propagatedBuildInputs = [
     cachecontrol
     cachy
     cleo
     clikit
+    crashtest
+    entrypoints
     html5lib
     keyring
     lockfile
+    packaging
     pexpect
     pkginfo
     poetry-core
@@ -60,7 +75,11 @@ buildPythonPackage rec {
     shellingham
     tomlkit
     virtualenv
-  ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
 
   postInstall = ''
     mkdir -p "$out/share/bash-completion/completions"
@@ -71,8 +90,16 @@ buildPythonPackage rec {
     "$out/bin/poetry" completions fish > "$out/share/fish/vendor_completions.d/poetry.fish"
   '';
 
-  checkInputs = [ pytestCheckHook httpretty pytest-mock pytest-cov ];
-  preCheck = "export HOME=$TMPDIR";
+  checkInputs = [
+    pytestCheckHook
+    httpretty
+    pytest-mock
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
   disabledTests = [
     # touches network
     "git"
@@ -87,11 +114,14 @@ buildPythonPackage rec {
     "lock"
     # fs permission errors
     "test_builder_should_execute_build_scripts"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
+    # RuntimeError: 'auto_spec' might be a typo; use unsafe=True if this is intended
+    "test_info_setup_complex_pep517_error"
   ];
 
   patches = [
     # The following patch addresses a minor incompatibility with
-    # pytest-mock.  This is addressed upstream in
+    # pytest-mock. This is addressed upstream in
     # https://github.com/python-poetry/poetry/pull/3457
     (fetchpatch {
       url = "https://github.com/python-poetry/poetry/commit/8ddceb7c52b3b1f35412479707fa790e5d60e691.diff";
@@ -99,8 +129,10 @@ buildPythonPackage rec {
     })
   ];
 
-  # allow for package to use pep420's native namespaces
-  pythonNamespaces = [ "poetry" ];
+  # Allow for package to use pep420's native namespaces
+  pythonNamespaces = [
+    "poetry"
+  ];
 
   meta = with lib; {
     homepage = "https://python-poetry.org/";
diff --git a/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix b/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
index 86bbd847aa28..969f1207a5b5 100644
--- a/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "policy-sentry";
-  version = "0.11.19";
+  version = "0.12.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "salesforce";
     repo = "policy_sentry";
     rev = version;
-    sha256 = "sha256-zYX2MMFIgts5brFb/hsgLHZbY5mncqnCmk7nGdxj/BM=";
+    sha256 = "sha256-6yG60vUsvLpIiZ3i1D3NZOL9bINaF5ydrDvewqpEmpA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix b/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
index ca66c777f5b0..27a53eee4281 100644
--- a/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "policyuniverse";
-  version = "1.4.0.20210819";
+  version = "1.4.0.20220110";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-RBRUR9Rzw3/yd2ZnteEBigDApJPBagpIk5lSGzeGqL4=";
+    sha256 = "sha256-EWuAhVTX6nXvyXtMuQQIVUbbRZNO8xUXXLR1XHpEid4=";
   };
 
   # Tests are not shipped and there are no GitHub tags
diff --git a/nixpkgs/pkgs/development/python-modules/pontos/default.nix b/nixpkgs/pkgs/development/python-modules/pontos/default.nix
index 955b384ed727..6acd81854681 100644
--- a/nixpkgs/pkgs/development/python-modules/pontos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pontos/default.nix
@@ -7,12 +7,13 @@
 , colorful
 , tomlkit
 , git
+, packaging
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "21.11.0";
+  version = "22.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uP4M1ShhKsvqnUixc3JUJVpNQOwYn8Gm2uWVcXhFKLg=";
+    hash = "sha256-9QnimA9y5mVgJA9LkDVC+eNyp6Ltvw+fErtoSVL/1iw=";
   };
 
   nativeBuildInputs = [
@@ -31,6 +32,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     colorful
     tomlkit
+    packaging
     requests
   ];
 
@@ -39,6 +41,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'packaging = "^20.3"' 'packaging = "*"'
+  '';
+
   disabledTests = [
     # Signing fails
     "test_find_no_signing_key"
@@ -48,7 +55,9 @@ buildPythonPackage rec {
     "test_missing_cmd"
   ];
 
-  pythonImportsCheck = [ "pontos" ];
+  pythonImportsCheck = [
+    "pontos"
+  ];
 
   meta = with lib; {
     description = "Collection of Python utilities, tools, classes and functions";
diff --git a/nixpkgs/pkgs/development/python-modules/pony/default.nix b/nixpkgs/pkgs/development/python-modules/pony/default.nix
index 03330c4cfec7..4cea071d2772 100644
--- a/nixpkgs/pkgs/development/python-modules/pony/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pony/default.nix
@@ -1,25 +1,42 @@
-{ lib, python, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pony";
-  version = "0.7.14";
+  version = "0.7.16";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "2f01e84e79ea7a14040225cb6c079bb266e7ba147346356c266490b18c77ce82";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ponyorm";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-yATIsX2nKsW5DBwg9/LznQqf+XPY3q46WZut18Sr0v0=";
   };
 
-  doCheck = true;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Tests are outdated
+    "test_exception_msg"
+    "test_method"
+  ];
 
-  # stripping the tests
-  postInstall = ''
-    rm -rf $out/${python.sitePackages}/pony/orm/tests
-  '';
+  pythonImportsCheck = [
+    "pony"
+  ];
 
   meta = with lib; {
-    description = "Pony is a Python ORM with beautiful query syntax";
+    description = "Library for advanced object-relational mapping";
     homepage = "https://ponyorm.org/";
-    maintainers = with maintainers; [ d-goldin xvapx ];
     license = licenses.asl20;
+    maintainers = with maintainers; [ d-goldin xvapx ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix b/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
index abe7ce698208..357ca815407f 100644
--- a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/portend/default.nix b/nixpkgs/pkgs/development/python-modules/portend/default.nix
index 52e46cec75a0..a3cb25624f7a 100644
--- a/nixpkgs/pkgs/development/python-modules/portend/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/portpicker/default.nix b/nixpkgs/pkgs/development/python-modules/portpicker/default.nix
index 90ed4b34b707..fd7bf7bc09c3 100644
--- a/nixpkgs/pkgs/development/python-modules/portpicker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pot/default.nix b/nixpkgs/pkgs/development/python-modules/pot/default.nix
index 431c2e40487f..8bc7ecb7f355 100644
--- a/nixpkgs/pkgs/development/python-modules/pot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pot/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "pot";
-  version = "0.7.0";
+  version = "0.8.1.0";
 
   src = fetchPypi {
     pname = "POT";
     inherit version;
-    sha256 = "01mdsiv8rlgqzvm3bds9aj49khnn33i523c2cqqrl10zg742pb6l";
+    sha256 = "ff2974418fbf35b18072555c2a9e7e4f6876eddfb6791179ddb8f0f6d6032505";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ppscore/default.nix b/nixpkgs/pkgs/development/python-modules/ppscore/default.nix
index 43dd1f249ed8..57d8048f0d6d 100644
--- a/nixpkgs/pkgs/development/python-modules/ppscore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ppscore/default.nix
@@ -1,33 +1,41 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy27
 , pandas
-, scikit-learn
 , pytestCheckHook
+, pythonOlder
+, scikit-learn
 }:
 
 buildPythonPackage rec {
   pname = "ppscore";
-  version = "1.1.1";
-  disabled = isPy27;
+  version = "unstable-2021-11-25";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "8080labs";
     repo = pname;
-    rev = version;
-    sha256 = "11y6axhj0nlagf7ax6gas1g06krrmddb1jlmf0mmrmyi7z0vldk2";
+    rev = "c9268c16b6305c5c38e2fe2fd84f43d97ec1aaca";
+    hash = "sha256-qiogjUgcLFauAMpVf2CKNC27c9xR9q7nY69n8/go1ms=";
   };
 
-  checkInputs = [ pytestCheckHook ];
-
   propagatedBuildInputs = [
     pandas
     scikit-learn
   ];
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ppscore"
+  ];
+
   meta = with lib; {
-    description = "A Python implementation of the Predictive Power Score (PPS)";
+    description = "Python implementation of the Predictive Power Score (PPS)";
     homepage = "https://github.com/8080labs/ppscore/";
     license = licenses.mit;
     maintainers = with maintainers; [ evax ];
diff --git a/nixpkgs/pkgs/development/python-modules/prance/default.nix b/nixpkgs/pkgs/development/python-modules/prance/default.nix
index cbc931d5c59e..26cfada4296e 100644
--- a/nixpkgs/pkgs/development/python-modules/prance/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix b/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix
index 807e81df1a39..f6e0459139a0 100644
--- a/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix
@@ -1,21 +1,31 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "precis-i18n";
-  version = "1.0.3";
+  version = "1.0.4";
+  format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "byllyfish";
     repo = "precis_i18n";
     rev = "v${version}";
-    hash = "sha256-pBmllX1RVdFnZsDSW7Hh5uVqK2d++kcp1NQLN/phXdU=";
+    hash = "sha256-90yNusUyz8qJi7WWYIFhHzrpvu1TqxfpT+lv2CVhSR8=";
   };
 
-  meta = {
+  pythonImportsCheck = [
+    "precis_i18n"
+  ];
+
+  meta = with lib; {
     homepage = "https://github.com/byllyfish/precis_i18n";
     description = "Internationalized usernames and passwords";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/prettytable/default.nix b/nixpkgs/pkgs/development/python-modules/prettytable/default.nix
index 85aaa1e656d8..f914a0f3df44 100644
--- a/nixpkgs/pkgs/development/python-modules/prettytable/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/primecountpy/default.nix b/nixpkgs/pkgs/development/python-modules/primecountpy/default.nix
new file mode 100644
index 000000000000..c2ad9ca512b0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/primecountpy/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, primecount
+, cython
+, cysignals
+}:
+
+buildPythonPackage rec {
+  pname = "primecountpy";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "78fe7cc32115f0669a45d7c90faaf39f7ce3939e39e2e7e5f14c17fe4bff0676";
+  };
+
+  buildInputs = [ primecount ];
+
+  propagatedBuildInputs = [ cython cysignals ];
+
+  # depends on pytest-cython for "pytest --doctest-cython"
+  doCheck = false;
+
+  pythonImportsCheck = [ "primecountpy" ];
+
+  meta = with lib; {
+    description = "Cython interface for C++ primecount library";
+    homepage = "https://github.com/dimpase/primecountpy/";
+    maintainers = teams.sage.members;
+    license = licenses.gpl3Only;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/privacyidea-ldap-proxy/default.nix b/nixpkgs/pkgs/development/python-modules/privacyidea-ldap-proxy/default.nix
index aa44e1396a00..455f4a6e2294 100644
--- a/nixpkgs/pkgs/development/python-modules/privacyidea-ldap-proxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/privacyidea-ldap-proxy/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "privacyidea-ldap-proxy";
-  version = "0.6.2";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "privacyidea";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-U2lg4zDQKn9FQ7O0zSLaijIkXKVjg8wi2ItueF4ACDU=";
+    sha256 = "1i2kgxqd38xvb42qj0a4a35w4vk0fyp3n7w48kqmvrxc77p6r6i8";
   };
 
   propagatedBuildInputs = [ twisted ldaptor configobj ];
diff --git a/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix b/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
index 766b7090f90f..3f4f49d4299e 100644
--- a/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
index ae67d3d556dc..e38560be2eb6 100644
--- a/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "prompt-toolkit";
-  version = "3.0.22";
+  version = "3.0.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "prompt_toolkit";
     inherit version;
-    sha256 = "sha256-RJ8zPdEgvQH10paozhRSEUujpx+ucojS8K4skYdk+nI=";
+    sha256 = "1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/protego/default.nix b/nixpkgs/pkgs/development/python-modules/protego/default.nix
index ad7e4aa4af6e..a881292ada2d 100644
--- a/nixpkgs/pkgs/development/python-modules/protego/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/proton-client/default.nix b/nixpkgs/pkgs/development/python-modules/proton-client/default.nix
index c5560b3ef97c..0f84f324dcf9 100644
--- a/nixpkgs/pkgs/development/python-modules/proton-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proton-client/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "proton-client";
-  version = "0.7.0";
+  version = "0.7.1";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ProtonMail";
     repo = "proton-python-client";
     rev = version;
-    sha256 = "sha256-98tEL3DUYtx27JcI6pPFS2iDJXS8K3yyvCU9UVrg1EM=";
+    sha256 = "sha256-mhPq9O/LCu3+E1jKlaJmrI8dxbA9BIwlc34qGwoxi5g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix b/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
index 3a5a7695c8e6..6680b19908e9 100644
--- a/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "protonvpn-nm-lib";
-  version = "3.5.0";
+  version = "3.7.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = pname;
     rev = version;
-    sha256 = "sha256-E75toza++l5UFdOLGgolH8pL5xvoUkLE7u+8L5RDFbI=";
+    sha256 = "sha256-RZ10p/Lg9GQj0CohW2v+THch5EaD236rEHETGjNStdY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pscript/default.nix b/nixpkgs/pkgs/development/python-modules/pscript/default.nix
new file mode 100644
index 000000000000..fae2c8a42818
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pscript/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, nodejs
+}:
+
+buildPythonPackage rec {
+  pname = "pscript";
+  version = "0.7.6";
+
+  # PyPI tarball doesn't include tests directory
+  src = fetchFromGitHub {
+    owner = "flexxui";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "169px5n4jjnpdn9y86f28qwd95bwf1q1rz0a1h3lb5nn5c6ym8c4";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+    nodejs
+  ];
+
+  preCheck = ''
+    # do not execute legacy tests
+    rm -rf pscript_legacy
+  '';
+
+  meta = with lib; {
+    description = "Python to JavaScript compiler";
+    license = licenses.bsd2;
+    homepage = "https://pscript.readthedocs.io";
+    maintainers = [ maintainers.matthiasbeyer ];
+  };
+}
+
+
+
diff --git a/nixpkgs/pkgs/development/python-modules/psutil/default.nix b/nixpkgs/pkgs/development/python-modules/psutil/default.nix
index ba17c5eca737..581e83ddf1a2 100644
--- a/nixpkgs/pkgs/development/python-modules/psutil/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix b/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
index 34660a84cd60..bdf2b65cb507 100644
--- a/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/psygnal/default.nix b/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
index 6ac20798e0c0..94cfaaa78c5c 100644
--- a/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pubnub/default.nix b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
index 40a4bf497f46..c36554122de1 100644
--- a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
@@ -8,18 +8,21 @@
 , pytest-vcr
 , pytest-asyncio
 , requests
-, six
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "5.5.0";
+  version = "6.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python";
     rev = "v${version}";
-    sha256 = "133sis24jd40yq4sgp8lmg2kac5wiiccisjpkhm50rb9wdbpn6kh";
+    hash = "sha256-TXxnFKDq1eWShimtNKaUMEQrs1nRQ8NqAQSI8Hutcp8=";
   };
 
   propagatedBuildInputs = [
@@ -27,22 +30,24 @@ buildPythonPackage rec {
     cbor2
     pycryptodomex
     requests
-    six
   ];
 
   checkInputs = [
     pytest-asyncio
-    pytestCheckHook
     pytest-vcr
+    pytestCheckHook
   ];
 
-  # Some tests don't pass with recent releases of twisted
   disabledTestPaths = [
+    # Tests require network access
     "tests/integrational"
-    "tests/manual/asyncio"
+    "tests/manual"
+    "tests/functional/push"
   ];
 
-  pythonImportsCheck = [ "pubnub" ];
+  pythonImportsCheck = [
+    "pubnub"
+  ];
 
   meta = with lib; {
     description = "Python-based APIs for PubNub";
diff --git a/nixpkgs/pkgs/development/python-modules/pudb/default.nix b/nixpkgs/pkgs/development/python-modules/pudb/default.nix
index 81e1627324ad..0ae60b381c64 100644
--- a/nixpkgs/pkgs/development/python-modules/pudb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pudb/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2021.2.2";
+  version = "2022.1";
   format = "setuptools";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82a524ab4b89d2c701b089071ccc6afa9c8a838504e3d68eb33faa8a8abbe4cb";
+    sha256 = "e827a4b489dcad561189535db6677becbf32164b2b44df00786eb2d5e00c587e";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pulsectl/default.nix b/nixpkgs/pkgs/development/python-modules/pulsectl/default.nix
index 6e35cb573586..584ef5538a0f 100644
--- a/nixpkgs/pkgs/development/python-modules/pulsectl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/puremagic/default.nix b/nixpkgs/pkgs/development/python-modules/puremagic/default.nix
index 25c79a83c437..e5d91f38fa2f 100644
--- a/nixpkgs/pkgs/development/python-modules/puremagic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pvo/default.nix b/nixpkgs/pkgs/development/python-modules/pvo/default.nix
index 55802290c15a..0b107f155060 100644
--- a/nixpkgs/pkgs/development/python-modules/pvo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pvo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pvo";
-  version = "0.2.0";
+  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-liV5Ae3Bz6MZT3KQ/1aNt6P4Wsg4SOfAMQKI0Qpxvao=";
+    sha256 = "sha256-2/O81MnFYbdOrzLiTSoX7IW+3ZGyyE/tIqgKr/sEaHI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-nightscout/default.nix b/nixpkgs/pkgs/development/python-modules/py-nightscout/default.nix
index e633e6ce81bf..b98fa7b13397 100644
--- a/nixpkgs/pkgs/development/python-modules/py-nightscout/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-nightscout/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "py-nightscout";
-  version = "1.3.2";
+  version = "1.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "marciogranzotto";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06i8vc7ykk5112y66cjixbrks46mdx3r0ygkmyah6gfgq1ddc39j";
+    sha256 = "0kslmm3wrxhm307nqmjmq8i8vy1x6mjaqlgba0hgvisj6b4hx65k";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-synologydsm-api/default.nix b/nixpkgs/pkgs/development/python-modules/py-synologydsm-api/default.nix
index e363cd412d66..3d2e1b05e101 100644
--- a/nixpkgs/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/py-tes/default.nix b/nixpkgs/pkgs/development/python-modules/py-tes/default.nix
new file mode 100644
index 000000000000..633dc6fa5f4a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/py-tes/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, attrs
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, python-dateutil
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "py-tes";
+  version = "0.4.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ohsu-comp-bio";
+    repo = pname;
+    rev = version;
+    hash = "sha256-HZeyCQHiqfdquWQD5axS73JDjDMUieONwm5VyA+vTFk=";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    future
+    python-dateutil
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pythonImportsCheck = [
+    "tes"
+  ];
+
+  meta = with lib; {
+    description = "Python SDK for the GA4GH Task Execution API";
+    homepage = "https://github.com/ohsu-comp-bio/py-tes";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index 4c1723edd8ef..391afabf931f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -1,15 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, requests }:
+{ lib, buildPythonPackage, fetchPypi, aiohttp, requests }:
 
 buildPythonPackage rec {
   pname = "pyTelegramBotAPI";
-  version = "4.2.0";
+  version = "4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05f85dacbcf0bdf2459698bab4325f3a699d1c04bc61581627d76d075c3d5488";
+    sha256 = "sha256-5vIjVqvr/+Cok9z3L+CaDIve2tb0mMVaMMPdMs5Ijmo=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [ aiohttp requests ];
 
   meta = with lib; {
     homepage = "https://github.com/eternnoir/pyTelegramBotAPI";
diff --git a/nixpkgs/pkgs/development/python-modules/py_scrypt/default.nix b/nixpkgs/pkgs/development/python-modules/py_scrypt/default.nix
index db26b16e272e..01fae999cf4d 100644
--- a/nixpkgs/pkgs/development/python-modules/py_scrypt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py_scrypt/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "scrypt";
-  version = "0.8.18";
+  version = "0.8.19";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bcf04257af12e6d52974d177a7b08e314b66f350a73f9b6f7b232d69a6a1e041";
+    sha256 = "ad143035ae0cf5e97c4b399f4e4686adf442c5f0f06f9f198a0cc6c091335fb7";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyamg/default.nix b/nixpkgs/pkgs/development/python-modules/pyamg/default.nix
index 6ca3166fb19e..bf46734df514 100644
--- a/nixpkgs/pkgs/development/python-modules/pyamg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyamg/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyamg";
-  version = "4.1.0";
+  version = "4.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b4cacfcfd13379762a4551ac059a2e52a093b476ca1ad44b9202e736490a8863";
+    sha256 = "48d9be622049d8363cda84125c45d18b89e0ab7d99be5a93c0246f375ebad344";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyarrow/default.nix b/nixpkgs/pkgs/development/python-modules/pyarrow/default.nix
index c47cdaa02b70..cfe63a34d85a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyarrow/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyasn/default.nix b/nixpkgs/pkgs/development/python-modules/pyasn/default.nix
new file mode 100644
index 000000000000..b180226ec46c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyatag/default.nix b/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
index d2ed7d6ff34a..a06d2a05fb40 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyathena/default.nix b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
index a16e77308602..c24bcefec167 100644
--- a/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
@@ -5,23 +5,22 @@
 , botocore
 , pandas
 , tenacity
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyathena";
-  version = "2.3.2";
+  version = "2.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "PyAthena";
     inherit version;
-    sha256 = "20a473c52e76a211c427d2f711af0a04804a70fc036ab884780e42e0dc2025f7";
+    sha256 = "9d42b4e2cdbd8c48f8157692b50681b08569aa3cac3a9694e671ec9aa40f969b";
   };
 
-  # Nearly all tests depend on a working AWS Athena instance,
-  # therefore deactivating them.
-  # https://github.com/laughingman7743/PyAthena/#testing
-  doCheck = false;
-
   propagatedBuildInputs = [
     boto3
     botocore
@@ -29,6 +28,15 @@ buildPythonPackage rec {
     tenacity
   ];
 
+  # Nearly all tests depend on a working AWS Athena instance,
+  # therefore deactivating them.
+  # https://github.com/laughingman7743/PyAthena/#testing
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyathena"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/laughingman7743/PyAthena/";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
index c039ff16b80e..5cd314b6cb99 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "6.2.0";
+  version = "6.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "jabesq";
     repo = "pyatmo";
     rev = "v${version}";
-    sha256 = "sha256-VBc2avJiIFQW1LYXQEvIZ/wZKMFJsCF9DDrxwL8dDnk=";
+    sha256 = "sha256-VXkQByaNA02fwBO2yuf7w1ZF/oJwd/h21de1EQlCu2U=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
index 6a883bbff33f..85c526334caa 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
@@ -14,13 +14,14 @@
 , pytest-timeout
 , pytestCheckHook
 , pythonOlder
+, requests
 , srptools
 , zeroconf
 }:
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.9.6";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,9 +30,18 @@ buildPythonPackage rec {
     owner = "postlund";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0navm7a0k1679kj7nbkbyl7s2q0wq0xmcnizmnvp0arkd5xqmqv1";
+    sha256 = "sha256-aYNBFtsnSg3PORq72U0PXPFCTVj2+8D2TS3nMau55t4=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest-runner" ""
+    # Remove all version pinning
+
+    substituteInPlace base_versions.txt \
+      --replace "protobuf==3.19.1,<4" "protobuf>=3.19.0,<4"
+  '';
+
   propagatedBuildInputs = [
     aiohttp
     bitarray
@@ -40,6 +50,7 @@ buildPythonPackage rec {
     miniaudio
     netifaces
     protobuf
+    requests
     srptools
     zeroconf
   ];
@@ -52,13 +63,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pytest-runner" ""
-    # Remove all version pinning
-    sed -i -e "s/==[0-9.]*//" requirements/requirements.txt
-  '';
-
   disabledTestPaths = [
     # Test doesn't work in the sandbox
     "tests/protocols/companion/test_companion_auth.py"
diff --git a/nixpkgs/pkgs/development/python-modules/pyaussiebb/default.nix b/nixpkgs/pkgs/development/python-modules/pyaussiebb/default.nix
new file mode 100644
index 000000000000..63edd6e60f8a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyaussiebb/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, loguru
+, poetry-core
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pyaussiebb";
+  version = "0.0.11";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "yaleman";
+    repo = "aussiebb";
+    rev = "v${version}";
+    hash = "sha256-aL+n2ut7n6UUyymMEHoFMhRvK9iFRRunYE9ZirKFXhc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    requests
+    loguru
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'requests = "^2.27.1"' 'requests = "*"'
+  '';
+
+  # Tests require credentials and requests-testing
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "aussiebb"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with the Aussie Broadband APIs";
+    homepage = "https://github.com/yaleman/aussiebb";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
index d33d9ffc575d..46c1307826ef 100644
--- a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
@@ -8,18 +8,18 @@
 , python
 , catch
 , numpy
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.8.1";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Gk4ZN/g6SRWFm0ALCvyald/9zq3wBd48mGdqdGCeGYI=";
+    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/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
index 7bf5296eb362..dff1374087a5 100644
--- a/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pybotvac";
-  version = "0.0.22";
+  version = "0.0.23";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-hl8UmoVUbbHCSpCWdUTxoIlop5di+rUmGUQI9UWq3ik=";
+    sha256 = "54b4fe565c10000c54d5644d081e2de1f850daefbac39cea74cea649b47bfb12";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycallgraph/default.nix b/nixpkgs/pkgs/development/python-modules/pycallgraph/default.nix
deleted file mode 100644
index af9f18aad2c6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix b/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
new file mode 100644
index 000000000000..5918c1feb751
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpx
+, pydantic
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pycfmodel";
+  version = "0.16.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Skyscanner";
+    repo = pname;
+    rev = version;
+    hash = "sha256-hOe6BH8aSGJ7YeraiCsJ10mbeGbFGaR3Bt5fh6M8iWI=";
+  };
+
+  propagatedBuildInputs = [
+    pydantic
+  ];
+
+  checkInputs = [
+    httpx
+    pytestCheckHook
+  ];
+
+  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"
+  ];
+
+  pythonImportsCheck = [
+    "pycfmodel"
+  ];
+
+  meta = with lib; {
+    description = "Model for Cloud Formation scripts";
+    homepage = "https://github.com/Skyscanner/pycfmodel";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix b/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
index f9a4b24ffcd6..f5921d0dfd20 100644
--- a/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pycm/default.nix b/nixpkgs/pkgs/development/python-modules/pycm/default.nix
index 9e3b711718c3..90bd83f85d29 100644
--- a/nixpkgs/pkgs/development/python-modules/pycm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycm/default.nix
@@ -1,28 +1,55 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, matplotlib, numpy, pytestCheckHook, seaborn }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, matplotlib
+, numpy
+, pytestCheckHook
+, pythonOlder
+, seaborn
+}:
 
 buildPythonPackage rec {
   pname = "pycm";
-  version = "3.3";
+  version = "3.4";
+  format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
-    owner  = "sepandhaghighi";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "0i3qpb20mnc22qny1ar3yvxb1dac7njwi8bvi5sy5kywz10c5dkw";
+    owner = "sepandhaghighi";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0agis9jh6kjf7k1vf1fiyf5h3lb9p0w9k710wwpsby292ydazr4f";
   };
 
-  # remove a trivial dependency on the author's `art` Python ASCII art library
+  propagatedBuildInputs = [
+    matplotlib
+    numpy
+    seaborn
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   postPatch = ''
+    # Remove a trivial dependency on the author's `art` Python ASCII art library
     rm pycm/__main__.py
-    rm Otherfiles/notebook_check.py  # also depends on python3Packages.notebook
-    substituteInPlace setup.py --replace '=get_requires()' '=[]'
+    # Also depends on python3Packages.notebook
+    rm Otherfiles/notebook_check.py
+    substituteInPlace setup.py \
+      --replace '=get_requires()' '=[]'
   '';
 
-  checkInputs = [ pytestCheckHook ];
-  disabledTests = [ "pycm.pycm_compare.Compare" ];  # output formatting error
-  propagatedBuildInputs = [ matplotlib numpy seaborn ];
+  disabledTests = [
+    # Output formatting error
+    "pycm.pycm_compare.Compare"
+    "plot_test"
+  ];
+
+  pythonImportsCheck = [
+    "pycm"
+  ];
 
   meta = with lib; {
     description = "Multiclass confusion matrix library";
diff --git a/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix b/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix
index fa75d02c6101..13757c9f0088 100644
--- a/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycocotools/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pycocotools";
-  version = "2.0.3";
+  version = "2.0.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-OCkCSTABN3EVZSGkuNtLOu9ZBVbPo6jdP6sCfTmyFeE=";
+    sha256 = "2ab586aa389b9657b6d73c2b9a827a3681f8d00f36490c2e8ab05902e3fd9e93";
   };
 
   propagatedBuildInputs = [
@@ -32,6 +32,6 @@ buildPythonPackage rec {
     description = "Official APIs for the MS-COCO dataset";
     homepage = "https://github.com/cocodataset/cocoapi/tree/master/PythonAPI";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ hexa piegames ];
+    maintainers = with maintainers; [ piegames ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pycognito/default.nix b/nixpkgs/pkgs/development/python-modules/pycognito/default.nix
index 797da43352df..375453231b9b 100644
--- a/nixpkgs/pkgs/development/python-modules/pycognito/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycognito/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pycognito";
-  version = "2021.03.1";
+  version = "2022.01.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "pvizeli";
     repo = pname;
     rev = version;
-    sha256 = "sha256-V3R6i1/FZrjcfRqJhczjURr/+x++iCvZ3aCK9wdEL1A=";
+    sha256 = "sha256-mmlw3irMC0SFjfEinXHyoPNfTvCcO02zGyqQLj9STSY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycoin/default.nix b/nixpkgs/pkgs/development/python-modules/pycoin/default.nix
index eb57096b9813..fc930d0e1197 100644
--- a/nixpkgs/pkgs/development/python-modules/pycoin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pycountry/default.nix b/nixpkgs/pkgs/development/python-modules/pycountry/default.nix
index 868504e39949..560c5a708122 100644
--- a/nixpkgs/pkgs/development/python-modules/pycountry/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pycritty/default.nix b/nixpkgs/pkgs/development/python-modules/pycritty/default.nix
index 3e5f24290257..e02a69933f69 100644
--- a/nixpkgs/pkgs/development/python-modules/pycritty/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix b/nixpkgs/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
new file mode 100644
index 000000000000..6e7f71cee306
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pycryptodome-test-vectors";
+  version = "1.0.7";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-GfzFM3S4yk0V2zTaQ+rkljyHdvC0ETUNSccZImqoLIU=";
+    extension = "zip";
+  };
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pycryptodome_test_vectors"
+  ];
+
+  meta = with lib; {
+    description = "Test vectors for PyCryptodome cryptographic library";
+    homepage = "https://www.pycryptodome.org/";
+    license = with licenses; [ bsd2 /* and */ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix b/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
index 19b2447acb11..44e7ed0ad4aa 100644
--- a/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,17 +1,29 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pycryptodome-test-vectors
+}:
 
 buildPythonPackage rec {
-  version = "3.11.0";
   pname = "pycryptodome";
+  version = "3.12.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "428096bbf7a77e207f418dfd4d7c284df8ade81d2dc80f010e92753a3e406ad0";
+    hash = "sha256-Esc0OuxaOz31xHJlKBsSthHybsk2e2EpGZ1n2lS3aME=";
+    extension = "zip";
   };
 
+  pythonImportsCheck = [
+    "Crypto"
+  ];
+
   meta = with lib; {
-    homepage = "https://www.pycryptodome.org/";
     description = "Python Cryptography Toolkit";
+    homepage = "https://www.pycryptodome.org/";
+    license = with licenses; [ bsd2 /* and */ asl20 ];
+    maintainers = with maintainers; [ fab ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix b/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix
index eab3a6b0bbd5..c9f622d6c699 100644
--- a/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -1,23 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pycryptodome-test-vectors
 }:
 
 buildPythonPackage rec {
   pname = "pycryptodomex";
-  version = "3.11.0";
+  version = "3.12.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0398366656bb55ebdb1d1d493a7175fc48ade449283086db254ac44c7d318d6d";
+    hash = "sha256-ki6drAFm5GF+XHmA0s/2kSputctcE+fs4iJDhlC9f2Y=";
+    extension = "zip";
   };
 
-  pythonImportsCheck = [ "Cryptodome" ];
+  pythonImportsCheck = [
+    "Cryptodome"
+  ];
 
   meta = with lib; {
     description = "A self-contained cryptographic library for Python";
     homepage = "https://www.pycryptodome.org";
-    license = licenses.bsd2;
+    license = with licenses; [ bsd2 /* and */ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix b/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix
index 67f8da66be78..adbb0d21a8c3 100644
--- a/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pydaikin";
-  version = "2.6.0";
+  version = "2.7.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromBitbucket {
     owner = "mustang51";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Fk6zMWgvhKp+7BMDGw89Akb4fgK6+xi+AyvEY3pdTQQ=";
+    sha256 = "sha256-k6NAQvt79Qo7sAXQwOjq4Coz2iTZAUImasc/oMSpmmg=";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  # while they have tests, they do not run them in their CI and they fail as of 2.6.0
+  # while they have tests, they do not run them in their CI and they fail as of 2.7.0
   # AttributeError: 'DaikinBRP069' object has no attribute 'last_hour_cool_energy_consumption'
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/pydal/default.nix b/nixpkgs/pkgs/development/python-modules/pydal/default.nix
index 6f2f887967e4..f1aacb1c312f 100644
--- a/nixpkgs/pkgs/development/python-modules/pydal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydal/default.nix
@@ -1,16 +1,17 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
 , python
-, lib
 }:
 
 buildPythonPackage rec {
   pname = "pydal";
-  version = "20210626.3";
+  version = "20220213.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "043s52b7srqwwmj7rh783arqryilmv3m8dmmg9bn5sjgfi004jn4";
+    sha256 = "sha256-7DBLcHSEkoT8wV6824TGWRLi9vK2t+r1RwwWmRBYD9I=";
   };
 
   postPatch = ''
@@ -33,10 +34,10 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  meta = {
-    description = "A pure Python Database Abstraction Layer";
+  meta = with lib; {
+    description = "Python Database Abstraction Layer";
     homepage = "https://github.com/web2py/pydal";
-    license = with lib.licenses; [ bsd3 ] ;
-    maintainers = with lib.maintainers; [ wamserma ];
+    license = with licenses; [ bsd3 ] ;
+    maintainers = with maintainers; [ wamserma ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic/default.nix b/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
index 69a080c1d716..8ac9eeca2a83 100644
--- a/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
@@ -1,5 +1,7 @@
 { lib
 , buildPythonPackage
+, cython
+, devtools
 , email_validator
 , fetchFromGitHub
 , pytest-mock
@@ -7,26 +9,29 @@
 , python-dotenv
 , pythonOlder
 , typing-extensions
-, ujson
 }:
 
 buildPythonPackage rec {
   pname = "pydantic";
-  version = "1.8.2";
+  version = "1.9.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "samuelcolvin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06162dss6mvi7wiy2lzxwvzajwxgy8b2fyym7qipaj7zibcqalq2";
+    sha256 = "sha256-C4WP8tiMRFmkDkQRrvP3yOSM2zN8pHJmX9cdANIckpM=";
   };
 
+  nativeBuildInputs = [
+    cython
+  ];
+
   propagatedBuildInputs = [
+    devtools
     email_validator
     python-dotenv
     typing-extensions
-    ujson
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydash/default.nix b/nixpkgs/pkgs/development/python-modules/pydash/default.nix
index 7d75896397f3..5b0ffade5885 100644
--- a/nixpkgs/pkgs/development/python-modules/pydash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydash/default.nix
@@ -1,23 +1,46 @@
-{ lib, buildPythonPackage, fetchFromGitHub, mock, pytestCheckHook, invoke }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, invoke
+, mock
+, pytestCheckHook
+, pythonOlder
+, sphinx_rtd_theme
+}:
 
 buildPythonPackage rec {
   pname = "pydash";
-  version = "4.9.3";
+  version = "5.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "dgilland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BAyiSnILvujUOFOAkiXSgyozs2Q809pYihHwa+6BHcQ=";
+    hash = "sha256-BAyiSnILvujUOFOAkiXSgyozs2Q809pYihHwa+6BHcQ=";
   };
 
-  patches = [ ./0001-Only-build-unit-tests.patch ];
+  checkInputs = [
+    invoke
+    mock
+    sphinx_rtd_theme
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+    sed -i "/--no-cov/d" setup.cfg
+  '';
 
-  checkInputs = [ mock pytestCheckHook invoke ];
+  pythonImportsCheck = [
+    "pydash"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/dgilland/pydash";
-    description = "The kitchen sink of Python utility libraries for doing \"stuff\" in a functional way. Based on the Lo-Dash Javascript library.";
+    description = "Python utility libraries for doing stuff in a functional way";
+    homepage = "https://pydash.readthedocs.io";
     license = licenses.mit;
     maintainers = with maintainers; [ ma27 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix b/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
index 44c33a2d2e2e..fe418be71adb 100644
--- a/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
@@ -10,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "85";
+  version = "86";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Kane610";
     repo = "deconz";
     rev = "v${version}";
-    sha256 = "sha256-6GTMG3BfHcfLMoyabFbhsJFVDHmEICuzf32603+jyZ4=";
+    sha256 = "sha256-NqNXbF5rGMCbugzZY+AQPPHYmQx/RrSwqtnoF1shSSU=";
   };
 
   propagatedBuildInputs = [
@@ -30,7 +32,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pydeconz" ];
+  pythonImportsCheck = [
+    "pydeconz"
+  ];
 
   meta = with lib; {
     description = "Python library wrapping the Deconz REST API";
diff --git a/nixpkgs/pkgs/development/python-modules/pydelijn/default.nix b/nixpkgs/pkgs/development/python-modules/pydelijn/default.nix
index f8a5d2ed4ae9..151a0c5a9669 100644
--- a/nixpkgs/pkgs/development/python-modules/pydelijn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydelijn/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pydelijn";
-  version = "0.6.1";
+  version = "1.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lwd2f043hy7gf1ly9zpaq1yg947bqw2af8vhwssf48zpisfgc81";
+    sha256 = "c5b6565c50d4f97d28baca9faf487281c2a5db635060b69f659e27c28a1a6e93";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydevccu/default.nix b/nixpkgs/pkgs/development/python-modules/pydevccu/default.nix
new file mode 100644
index 000000000000..212a245b328c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydevccu/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pydevccu";
+  version = "0.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "danielperna84";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-rbxYTpB6ieZBYbbE1AKVEc/lapWlOUMOrSHCkuwkzLg=";
+  };
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pydevccu"
+  ];
+
+  meta = with lib; {
+    description = "HomeMatic CCU XML-RPC Server with fake devices";
+    homepage = "https://github.com/danielperna84/pydevccu";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pydmd/default.nix b/nixpkgs/pkgs/development/python-modules/pydmd/default.nix
index dd166b78f862..f80f90034784 100644
--- a/nixpkgs/pkgs/development/python-modules/pydmd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydmd/default.nix
@@ -1,18 +1,21 @@
 { lib
 , stdenv
-, python
-, fetchFromGitHub
 , buildPythonPackage
+, fetchFromGitHub
 , future
+, matplotlib
 , numpy
+, pytestCheckHook
+, pythonOlder
 , scipy
-, matplotlib
-, nose
 }:
 
 buildPythonPackage rec {
   pname = "pydmd";
   version = "0.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "mathLab";
@@ -21,19 +24,31 @@ buildPythonPackage rec {
     sha256 = "1qwa3dyrrm20x0pzr7rklcw7433fd822n4m8bbbdd7z83xh6xm8g";
   };
 
-  propagatedBuildInputs = [ future numpy scipy matplotlib ];
-  checkInputs = [ nose ];
+  propagatedBuildInputs = [
+    future
+    matplotlib
+    numpy
+    scipy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Those tests take over 1.5 h on hydra. Also, an error and two failures
+    "tests/test_spdmd.py"
+  ];
 
-  checkPhase = ''
-    ${python.interpreter} test.py
-  '';
-  pythonImportsCheck = [ "pydmd" ];
+  pythonImportsCheck = [
+    "pydmd"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Python Dynamic Mode Decomposition";
     homepage = "https://mathlab.github.io/PyDMD/";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ yl3dy ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ yl3dy ];
     broken = stdenv.hostPlatform.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pydot/default.nix b/nixpkgs/pkgs/development/python-modules/pydot/default.nix
index 00e36ec37312..8dccfbc2610d 100644
--- a/nixpkgs/pkgs/development/python-modules/pydot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pydrive2/default.nix b/nixpkgs/pkgs/development/python-modules/pydrive2/default.nix
new file mode 100644
index 000000000000..2491bc5ff9a7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydrive2/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-api-python-client
+, oauth2client
+, pyopenssl
+, pyyaml
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "pydrive2";
+  version = "1.10.0";
+
+  src = fetchPypi {
+    pname = "PyDrive2";
+    inherit version;
+    sha256 = "sha256-970ZtP8e9sC5IvtqxVwNlHJKtTc4euSh3nl3hNd0Y6s=";
+  };
+
+  propagatedBuildInputs = [
+    google-api-python-client
+    oauth2client
+    pyopenssl
+    pyyaml
+    six
+  ];
+
+  doCheck = false;
+
+  pythonImportsCheck = [ "pydrive2" ];
+
+  meta = {
+    description = "Google Drive API Python wrapper library. Maintained fork of PyDrive.";
+    homepage = "https://github.com/iterative/PyDrive2";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ sei40kr ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pydub/default.nix b/nixpkgs/pkgs/development/python-modules/pydub/default.nix
index 6b67814a2220..3adf54281b77 100644
--- a/nixpkgs/pkgs/development/python-modules/pydub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydub/default.nix
@@ -1,8 +1,18 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, scipy, ffmpeg-full }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+
+# tests
+, ffmpeg-full
+, python
+}:
 
 buildPythonPackage rec {
   pname = "pydub";
   version = "0.25.1";
+  format = "setuptools";
+
   # pypi version doesn't include required data files for tests
   src = fetchFromGitHub {
     owner = "jiaaro";
@@ -11,23 +21,24 @@ buildPythonPackage rec {
     sha256 = "0xskllq66wqndjfmvp58k26cv3w480sqsil6ifwp4gghir7hqc8m";
   };
 
+  pythonImportsCheck = [
+    "pydub"
+    "pydub.audio_segment"
+    "pydub.playback"
+  ];
 
-  # disable a test that fails on aarch64 due to rounding errors
-  postPatch = lib.optionalString stdenv.isAarch64 ''
-    substituteInPlace test/test.py \
-      --replace "test_overlay_with_gain_change" "notest_overlay_with_gain_change"
-  '';
-
-  checkInputs = [ scipy ffmpeg-full ];
+  checkInputs = [
+    ffmpeg-full
+  ];
 
   checkPhase = ''
-    python test/test.py
+    ${python.interpreter} test/test.py
   '';
 
   meta = with lib; {
-    description = "Manipulate audio with a simple and easy high level interface.";
-    homepage    = "http://pydub.com/";
-    license     = licenses.mit;
-    platforms   = platforms.all;
+    description = "Manipulate audio with a simple and easy high level interface";
+    homepage = "http://pydub.com";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pydy/default.nix b/nixpkgs/pkgs/development/python-modules/pydy/default.nix
index 82556ac1a710..9bfa5aa3d7c3 100644
--- a/nixpkgs/pkgs/development/python-modules/pydy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydy/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pydy";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b487a62b55a8c8664009b09bf789254b2c942cd704a380bedb1057418c94fa2";
+    sha256 = "sha256-e/Ssfd5llioA7ccLULlRdHR113IbR4AJ4/HmzQuU7vI=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyeapi/default.nix b/nixpkgs/pkgs/development/python-modules/pyeapi/default.nix
new file mode 100644
index 000000000000..101f41c5ca01
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyeapi/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchFromGitHub, netaddr, pytestCheckHook, coverage
+, mock }:
+
+buildPythonPackage rec {
+  pname = "pyeapi";
+  version = "0.8.4";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "arista-eosplus";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13chya6wix5jb82k67gr44bjx35gcdwz80nsvpv0gvzs6shn4d7b";
+  };
+
+  propagatedBuildInputs = [ netaddr ];
+
+  checkInputs = [ coverage mock ];
+  checkPhase = ''
+    make unittest
+  '';
+
+  meta = with lib; {
+    description = "Client for Arista eAPI";
+    homepage = "https://github.com/arista-eosplus/pyeapi";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.astro ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyebus/default.nix b/nixpkgs/pkgs/development/python-modules/pyebus/default.nix
index d4c8658673a0..5506c1fbf36e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyebus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyebus/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyebus";
-  version = "1.2.4";
+  version = "1.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "i+p40s9SXey1lfXWW+PiXsA1kUF4o6Rk7QLmQ2ljN6g=";
+    sha256 = "sha256-6ooOSJAIi8vYmCjDHnbMGQJfPqPmzA5thDSg+iM7T+8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyeconet/default.nix b/nixpkgs/pkgs/development/python-modules/pyeconet/default.nix
index bf878fd5acbc..581238c90ac6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyeconet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyeight/default.nix b/nixpkgs/pkgs/development/python-modules/pyeight/default.nix
index dc390120f600..f84612716975 100644
--- a/nixpkgs/pkgs/development/python-modules/pyeight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyeight/default.nix
@@ -3,19 +3,21 @@
 , async-timeout
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyeight";
-  version = "0.1.9";
-  disabled = !isPy3k;
+  version = "0.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mezz64";
     repo = "pyEight";
     rev = version;
-    sha256 = "1ybhs09wyzzaryghd6ijxhajp3677x63c4qzqsgln1mmxhj8wm5k";
+    sha256 = "sha256-ERilZWroFaBCYjTfU7W0vegJaGibmJYVcgt0z84TPEI=";
   };
 
   propagatedBuildInputs = [
@@ -23,9 +25,12 @@ buildPythonPackage rec {
     async-timeout
   ];
 
-  # Project has no tests
+  # Module has no tests
   doCheck = false;
-  pythonImportsCheck = [ "pyeight" ];
+
+  pythonImportsCheck = [
+    "pyeight"
+  ];
 
   meta = with lib; {
     description = "Python library to interface with the Eight Sleep API";
diff --git a/nixpkgs/pkgs/development/python-modules/pyenvisalink/default.nix b/nixpkgs/pkgs/development/python-modules/pyenvisalink/default.nix
index cfef4ee879aa..2bcbc753a9ae 100644
--- a/nixpkgs/pkgs/development/python-modules/pyenvisalink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyenvisalink/default.nix
@@ -9,12 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyenvisalink";
-  version = "4.2";
-  disabled = pythonOlder "3.5";
+  version = "4.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "64f128212ba0257ae8e47612891a2dae7de2c155c81326257582d565f53778ad";
+    sha256 = "sha256-YUYiCid+XAlfytkyz4Td5CG1zBOrsLx4/nuRubRE14w=";
   };
 
   propagatedBuildInputs = [
@@ -25,7 +27,10 @@ buildPythonPackage rec {
 
   # Tests require an Envisalink device
   doCheck = false;
-  pythonImportsCheck = [ "pyenvisalink" ];
+
+  pythonImportsCheck = [
+    "pyenvisalink"
+  ];
 
   meta = with lib; {
     description = "Python interface for Envisalink 2DS/3 Alarm API";
diff --git a/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix b/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
index b59aa56c48e9..7f51f435ada9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyexcel-io/default.nix b/nixpkgs/pkgs/development/python-modules/pyexcel-io/default.nix
index 4223ce02caea..840a74f252ef 100644
--- a/nixpkgs/pkgs/development/python-modules/pyexcel-io/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyexcel-io/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pyexcel-io";
-  version = "0.6.5";
+  version = "0.6.6";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "608d8e80da38070d3bb970d132bc47a55dcfd63b4dc03997d93646c5b2ad185b";
+    sha256 = "sha256-9ghL8a+l+/TGHPffRDcPpROCGvGIsC4+GbXvtm2Klp8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyexcel/default.nix b/nixpkgs/pkgs/development/python-modules/pyexcel/default.nix
index c6bc3cf0777f..83b5254d3984 100644
--- a/nixpkgs/pkgs/development/python-modules/pyexcel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix b/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
index f7d564e7e54d..e6a2d5c02260 100644
--- a/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyezviz";
-  version = "0.2.0.5";
+  version = "0.2.0.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "baqs";
     repo = "pyEzviz";
     rev = version;
-    sha256 = "sha256-a+u8zS69qLHABPSvWEzhM/gdzlLh2RJLTDJjaX4DtpI=";
+    sha256 = "sha256-3GRyM6OK0EpQ7wepTzqg+XANx9D0OVBTnw98i3b1V/8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyface/default.nix b/nixpkgs/pkgs/development/python-modules/pyface/default.nix
index 3a29fd79f779..aafd60c0dbae 100644
--- a/nixpkgs/pkgs/development/python-modules/pyface/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyface/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pyface";
-  version = "7.3.0";
+  version = "7.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7031ec4cfff034affc822e47ff5e6c1a0272e576d79465cdbbe25f721740322";
+    sha256 = "sha256-r8Awj9dOYPWxh1Ar2JK/nhuY8hAGFO4+6yr9yq7Pb6s=";
   };
 
   propagatedBuildInputs = [ importlib-metadata importlib-resources six traits ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix b/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
index eb5eb993ef48..29803793fd6f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix b/nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix
index 1ef1d2df474d..c130accd40c0 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfakewebcam/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyfcm/default.nix b/nixpkgs/pkgs/development/python-modules/pyfcm/default.nix
index 8fdb051a4846..77ddabe2057e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfcm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyfftw/default.nix b/nixpkgs/pkgs/development/python-modules/pyfftw/default.nix
index 96e807f8eba3..651ad1c439e3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfftw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfftw/default.nix
@@ -2,12 +2,12 @@
 , fftw, fftwFloat, fftwLongDouble, numpy, scipy, cython, dask }:
 
 buildPythonPackage rec {
-  version = "0.12.0";
+  version = "0.13.0";
   pname = "pyFFTW";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0";
+    sha256 = "da85102405c0bd95d57eb19e99b01a0729d8406cb204c3900894b873784253da";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix b/nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix
index 99506de1026a..a481e9a97a89 100644
--- a/nixpkgs/pkgs/development/python-modules/pyflunearyou/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix b/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
index 0bfda48269e1..714159ff9944 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
@@ -9,17 +9,21 @@
 
 buildPythonPackage rec {
   pname = "pyfritzhome";
-  version = "0.6.2";
+  version = "0.6.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "hthiery";
     repo = "python-fritzhome";
     rev = version;
-    sha256 = "1hwxq9w5qmiky8gpp623nabmydr3yv6hvgzk24fdbmkglfp6ja1v";
+    sha256 = "sha256-JCaB3E8KCfncwnTKIb0shB2qYpsKwBkrPZdC5lAJ1KQ=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
   checkInputs = [
     mock
@@ -30,7 +34,9 @@ buildPythonPackage rec {
     nosetests
   '';
 
-  pythonImportsCheck = [ "pyfritzhome" ];
+  pythonImportsCheck = [
+    "pyfritzhome"
+  ];
 
   meta = with lib; {
     description = "Python Library to access AVM FRITZ!Box homeautomation";
diff --git a/nixpkgs/pkgs/development/python-modules/pygal/default.nix b/nixpkgs/pkgs/development/python-modules/pygal/default.nix
index eb6734649b5d..ae7277202bbc 100644
--- a/nixpkgs/pkgs/development/python-modules/pygal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygal/default.nix
@@ -15,22 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pygal";
-  version = "2.4.0";
+  version = "3.0.0";
 
   doCheck = !isPyPy; # one check fails with pypy
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9204f05380b02a8a32f9bf99d310b51aa2a932cba5b369f7a4dc3705f0a4ce83";
+    sha256 = "sha256-KSP5XS5RWTCqWplyGdzO+/PZK36vX8HJ/ruVsJk1/bI=";
   };
-  patches = [
-    # Fixes compatibility with latest pytest. October 12, 2020.
-    # Should be included in the next release after 2.4.0
-    (fetchpatch {
-      url = "https://github.com/Kozea/pygal/commit/19e5399be18a054b3b293f4a8a2777d2df4f9c18.patch";
-      sha256 = "1j0hpcvd2mhi449wmlr0ml9gw4cakqk3av1j79bi2qy86dyrss2l";
-    })
-  ];
 
   buildInputs = [
     flask
diff --git a/nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix b/nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix
index 58f65b6d0f41..f56591efdadf 100644
--- a/nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pygame/default.nix b/nixpkgs/pkgs/development/python-modules/pygame/default.nix
index 60a1fece63ac..68e5a90d0cfd 100644
--- a/nixpkgs/pkgs/development/python-modules/pygame/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pygeos/default.nix b/nixpkgs/pkgs/development/python-modules/pygeos/default.nix
new file mode 100644
index 000000000000..57970ad2f348
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pygeos/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+, geos
+, pytestCheckHook
+, cython
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "pygeos";
+  version = "0.12.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-PEFULvZ8ZgFfRDrj5uaDUDqKIh+cJPsjgPauQq7RYAo=";
+  };
+
+  nativeBuildInputs = [
+    geos # for geos-config
+    cython
+  ];
+
+  propagatedBuildInputs = [ numpy ];
+
+  # The cythonized extensions are required to exist in the pygeos/ directory
+  # for the package to function. Therefore override of buildPhase was
+  # necessary.
+  buildPhase = ''
+    ${python.interpreter} setup.py build_ext --inplace
+    ${python.interpreter} setup.py bdist_wheel
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pygeos" ];
+
+  meta = with lib; {
+    description = "Wraps GEOS geometry functions in numpy ufuncs.";
+    homepage = "https://github.com/pygeos/pygeos";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ nialov ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/pygit2/default.nix b/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
index ab4ca1efdc15..b8b405a8ecf0 100644
--- a/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pygit2";
-  version = "1.7.1";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d7faa29558436decc2e78110f38d6677eb366b683ba5cdc2803d47195711165d";
+    sha256 = "sha256-bixc/1qh5D9DEDSAdhFS9cXWvvQPXB9QyHWKbonmbLY=";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
@@ -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/nixpkgs/pkgs/development/python-modules/pygls/default.nix b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
index 1ce36111ff78..4c557b2676cd 100644
--- a/nixpkgs/pkgs/development/python-modules/pygls/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
@@ -29,6 +29,12 @@ buildPythonPackage rec {
     pydantic
     typeguard
   ];
+  # We don't know why an early version of pydantic is required, see:
+  # https://github.com/openlawlibrary/pygls/issues/221
+  preBuild = ''
+    substituteInPlace setup.cfg \
+      --replace "pydantic>=1.7,<1.9" "pydantic"
+  '';
 
   checkInputs = [
     mock
diff --git a/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix b/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix
index bac70be9987f..3780122f19f7 100644
--- a/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "pygraphviz";
-  version = "1.7";
+  version = "1.9";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304";
+    hash = "sha256-+hj3xs6ig0Gk5GbtDPBWgrCmgoiv6N18lCZ4L3wa4Bw=";
     extension = "zip";
   };
 
@@ -36,9 +36,13 @@ buildPythonPackage rec {
   checkInputs = [ pytest ];
 
   checkPhase = ''
+    runHook preCheck
     pytest --pyargs pygraphviz
+    runHook postCheck
   '';
 
+  pythonImportsCheck = [ "pygraphviz" ];
+
   meta = with lib; {
     description = "Python interface to Graphviz graph drawing package";
     homepage = "https://github.com/pygraphviz/pygraphviz";
diff --git a/nixpkgs/pkgs/development/python-modules/pyhamcrest/default.nix b/nixpkgs/pkgs/development/python-modules/pyhamcrest/default.nix
index fd6ba2f2df98..a4c04ce79ee6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhamcrest/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyhiveapi/default.nix b/nixpkgs/pkgs/development/python-modules/pyhiveapi/default.nix
index f62d8bd1305f..0218b77e116d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhiveapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhiveapi/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyhiveapi";
-  version = "0.4.3";
+  version = "0.5.1";
 
   format = "pyproject";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Pyhass";
     repo = "Pyhiveapi";
     rev = "v${version}";
-    sha256 = "sha256-SCMASYBOdq9nko5RSQ5BEbRLjOB4FlgwOKwdDggiOv8=";
+    hash = "sha256-/M1OjApc0l0EzNI4hs4KO6woCOmTPveTFCyj5MjM5EE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyhocon/default.nix b/nixpkgs/pkgs/development/python-modules/pyhocon/default.nix
index f69a21115f27..aa967b76954a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhocon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix b/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
index 636ea1658fff..e30063e826d9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhomematic/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.76";
+  version = "0.1.77";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ea2496c920451ded4561e3758c8f77157fc00c40d1f75d8163e399fd3e0d795a";
+    sha256 = "00d95c21b95a17bc07586f69c976fb343a103adc0954d7b2d56c7160665625cb";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyhumps/default.nix b/nixpkgs/pkgs/development/python-modules/pyhumps/default.nix
new file mode 100644
index 000000000000..51d5b8bce5ec
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
index 04dbd8142ff6..0dc1c5be49c2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/nixpkgs/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.13";
+  version = "1.0.16";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-KVwAF+yoU26ktNRKWQ+nrhS1i90xQxAhRAr4VJ+xtl0=";
+    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/nixpkgs/pkgs/development/python-modules/pyisy/default.nix b/nixpkgs/pkgs/development/python-modules/pyisy/default.nix
index 48274e6b4e82..b671dbde59ef 100644
--- a/nixpkgs/pkgs/development/python-modules/pyisy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyisy/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pyisy";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "automicus";
     repo = "PyISY";
     rev = "v${version}";
-    sha256 = "1mj9na64nq0ls8d9x3304ai7lixaglpr646p3m2a4s5qlmm4il3m";
+    hash = "sha256-ad3hVs0B3uBHj/LVWwAXAkUMbjHPtyaeKueRPcmIMFg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix b/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
index 4617869988f6..8212d097aa80 100644
--- a/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pyjwt";
-  version = "2.1.0";
+  version = "2.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "PyJWT";
     inherit version;
-    sha256 = "sha256-+6ROeJi7yhYKKytQH0koJPyDgkhdOm8Rul0MGTfOYTA=";
+    sha256 = "sha256-uIi01W8G9tzXdyEMM05pxze+dHVdPl6e4/5n3Big7kE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pykeyatome/default.nix b/nixpkgs/pkgs/development/python-modules/pykeyatome/default.nix
index b27ee6b2ecec..f4ea169b01e4 100644
--- a/nixpkgs/pkgs/development/python-modules/pykeyatome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykeyatome/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pykeyatome";
-  version = "1.3.0";
+  version = "1.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "jugla";
     repo = "pyKeyAtome";
     rev = "V${version}";
-    sha256 = "1brcfgqj0bana6yii4083kppz822fgk9xf4mg141b0zfvx2gyjw9";
+    sha256 = "sha256-Gv418i2JLoovwagkZpv8PIJPW3I/0pRmXR/PJOJ2NBc=";
   };
 
   propagatedBuildInputs = [
@@ -52,7 +52,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python module to get data from Atome Key";
-    homepage = "hhttps://github.com/jugla/pyKeyAtome";
+    homepage = "https://github.com/jugla/pyKeyAtome";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix b/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix
index 6c91b0c95dc0..41efa9a54d24 100644
--- a/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pykrakenapi";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "dominiktraxl";
     repo = "pykrakenapi";
     rev = "v${version}";
-    sha256 = "0yvhgk5wyklwqd67hfajnd7ims79h4h89pp65xb3x5mcmdcfz4ss";
+    hash = "sha256-i2r6t+JcL6INI8Y26gvVvNjv6XxMj4G+pF9Xf/hsx1A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylast/default.nix b/nixpkgs/pkgs/development/python-modules/pylast/default.nix
index 098cdd33bfca..257cb72b3ec1 100644
--- a/nixpkgs/pkgs/development/python-modules/pylast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylast/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pylast";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2m6+pQYBmvVxlBw1yLSAKr3kZ5WS1S0TZ1ZQ3ER+bCk=";
+    sha256 = "sha256-YoALculx2trEDD1vU4xhiCGdb1OFPdxI1p2fwlZZAY8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylaunches/default.nix b/nixpkgs/pkgs/development/python-modules/pylaunches/default.nix
index d6ad5480ddd3..8f2ed7083580 100644
--- a/nixpkgs/pkgs/development/python-modules/pylaunches/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylaunches/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pylaunches";
-  version = "1.2.0";
+  version = "1.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "0mczxkwczyh9kva4xzpmnawy0hjha1fdrwj6igip9w5z1q48zs49";
+    sha256 = "1b41j384lqg3gc7dsmdzp7anrsymqgc1895lc5j8g43x2mfgbjnh";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix b/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix
index cadb4bb83839..51e3dfdab28f 100644
--- a/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pylgnetcast";
-  version = "0.3.5";
+  version = "0.3.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Drafteed";
     repo = "python-lgnetcast";
     rev = "v${version}";
-    sha256 = "11g7ya4ppqxjiv3fkz9mi6h1afw9icy6xyn4jzm63kjvxqhrwnw4";
+    sha256 = "0pmz52k2sfxj5x2wcwdjks2lqh1gb5zfrjgc6xij8jal4l9xd2dz";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix b/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix
index c001594d625a..d4dd2d6781be 100644
--- a/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix
@@ -3,15 +3,19 @@
 , fetchPypi
 , libftdi1
 , libusb1
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pylibftdi";
-  version = "0.19.0";
+  version = "0.20.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bb0ec74df292ef884aa37bf1e98fb9df4d338718e1559eebda363317a792123e";
+    sha256 = "f4a87fc4af2c9c7d42badd4192ca9b529f32c9d96fdc8daea7e29c509226df5f";
   };
 
   propagatedBuildInputs = [
@@ -25,11 +29,13 @@ buildPythonPackage rec {
       --replace "self._load_library('libftdi')" "cdll.LoadLibrary('${libftdi1.out}/lib/libftdi1.so')"
   '';
 
-  pythonImportsCheck = [ "pylibftdi" ];
+  pythonImportsCheck = [
+    "pylibftdi"
+  ];
 
   meta = with lib; {
-    homepage = "https://bitbucket.org/codedstructure/pylibftdi/src/default/";
-    description = "Minimal pythonic wrapper to Intra2net's libftdi driver for FTDI's USB devices";
+    homepage = "https://pylibftdi.readthedocs.io/";
+    description = "Wrapper to Intra2net's libftdi driver for FTDI's USB devices";
     license = licenses.mit;
     maintainers = with maintainers; [ matthuszagh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pylint-django/default.nix b/nixpkgs/pkgs/development/python-modules/pylint-django/default.nix
index c93c8d4207fe..291ef8fba62e 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint-django/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
index be6d71aed5d3..eec564c126b0 100644
--- a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2021.11.0";
+  version = "2021.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "natekspencer";
     repo = pname;
     rev = version;
-    sha256 = "sha256-HdIxi6RfdXBYEYFEcv/f9wAqKZg/MsEZd6mDYwE45to=";
+    sha256 = "sha256-hz+MQTxobf7IkOJTpwbDDd3i13FFtxFn2kmCwPV3pu4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylsp-mypy/default.nix b/nixpkgs/pkgs/development/python-modules/pylsp-mypy/default.nix
index e1d7ddff298d..a4725c4781c6 100644
--- a/nixpkgs/pkgs/development/python-modules/pylsp-mypy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix b/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix
index c9cc9246746f..e7fd9630626c 100644
--- a/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pylutron-caseta";
-  version = "0.13.0";
+  version = "0.13.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gurumitts";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pVBFlGguVN6b3YY2lFF8KG83tBuotLmWLq/dKjRKAUQ=";
+    sha256 = "sha256-NLVxEor+Z+AVF+0/ugPM4bpeKba6yd43uTLYhtTNhqM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylxd/default.nix b/nixpkgs/pkgs/development/python-modules/pylxd/default.nix
index 64232f760faf..5e8016ddaee4 100644
--- a/nixpkgs/pkgs/development/python-modules/pylxd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix b/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
index 5354efacb4dc..be13f77490ad 100644
--- a/nixpkgs/pkgs/development/python-modules/pymatgen/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pymavlink/default.nix b/nixpkgs/pkgs/development/python-modules/pymavlink/default.nix
index 8e7439a80d48..6f846481b039 100644
--- a/nixpkgs/pkgs/development/python-modules/pymavlink/default.nix
+++ b/nixpkgs/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 = "08ppwlsnrvzkpi4fn14d4d4grzx2bmsd0m9369q3f9hw48fgf645";
+    sha256 = "sha256-QdYlmlDZzVH8tErGdgAz6FjT/L7jexduvrffKVEqMfY=";
   };
 
   propagatedBuildInputs = [ future lxml ];
diff --git a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix b/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
index f6fdd60a3872..fdc7e1f67873 100644
--- a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
@@ -8,12 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pymazda";
-  version = "0.3.0";
+  version = "0.3.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-D0odz4GkKvjuafhEGlHtRnO8lk4rV9y3imaHl7jXqJw=";
+    sha256 = "d51619cfbd90f4bb4e8fbfe1bccd58d4f5ece9bdb78d8f33fed1776d749d5fa9";
   };
 
   propagatedBuildInputs = [
@@ -23,7 +25,10 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "pymazda" ];
+
+  pythonImportsCheck = [
+    "pymazda"
+  ];
 
   meta = with lib; {
     description = "Python client for interacting with the MyMazda API";
diff --git a/nixpkgs/pkgs/development/python-modules/pymc3/default.nix b/nixpkgs/pkgs/development/python-modules/pymc3/default.nix
index 095f3baf97ae..5cf2615ed031 100644
--- a/nixpkgs/pkgs/development/python-modules/pymc3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymc3/default.nix
@@ -68,5 +68,8 @@ buildPythonPackage rec {
     homepage = "https://github.com/pymc-devs/pymc3";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ ilya-kolpakov ];
+    # several dependencies are not declared and in the end it requires theano-pymc3
+    # instead of Theano. The former is currently not packaged.
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix
new file mode 100644
index 000000000000..94a73fd82112
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pytestCheckHook
+, markdown
+, pyyaml
+, pygments
+}:
+
+let
+  extensions = [
+    "arithmatex"
+    "b64"
+    "betterem"
+    "caret"
+    "critic"
+    "details"
+    "emoji"
+    "escapeall"
+    "extra"
+    "highlight"
+    "inlinehilite"
+    "keys"
+    "magiclink"
+    "mark"
+    "pathconverter"
+    "progressbar"
+    "saneheaders"
+    "smartsymbols"
+    "snippets"
+    "striphtml"
+    "superfences"
+    "tabbed"
+    "tasklist"
+    "tilde"
+  ];
+in
+buildPythonPackage rec {
+  pname = "pymdown-extensions";
+  version = "9.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "facelessuser";
+    repo = "pymdown-extensions";
+    rev = version;
+    sha256 = "sha256-II8Po8144h3wPFrzMbOB/qiCm2HseYrcZkyIZFGT+ek=";
+  };
+
+  patches = [
+    # this patch is needed to allow tests to pass for later versions of the
+    # markdown dependency
+    #
+    # it can be removed after the next pymdown-extensions release
+    (fetchpatch {
+      url = "https://github.com/facelessuser/pymdown-extensions/commit/8ee5b5caec8f9373e025f50064585fb9d9b71f86.patch";
+      sha256 = "sha256-jTHNcsV0zL0EkSTSj8zCGXXtpUaLnNPldmL+krZj3Gk=";
+    })
+  ];
+
+  propagatedBuildInputs = [ markdown pygments ];
+
+  checkInputs = [
+    pytestCheckHook
+    pyyaml
+  ];
+
+  pythonImportsCheck = map (ext: "pymdownx.${ext}") extensions;
+
+  meta = with lib; {
+    description = "Extensions for Python Markdown";
+    homepage = "https://facelessuser.github.io/pymdown-extensions/";
+    license = with licenses; [ mit bsd2 ];
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pymelcloud/default.nix b/nixpkgs/pkgs/development/python-modules/pymelcloud/default.nix
index d747af697bcc..ed06b347b694 100644
--- a/nixpkgs/pkgs/development/python-modules/pymelcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymelcloud/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pymelcloud";
-  version = "2.5.6";
+  version = "2.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "vilppuvuorinen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QXOL3MftNibo1wUjz/KTQLNDk7pWL9VH/wd7LpEJOmE=";
+    sha256 = "1q6ny58cn9qy86blxbk6l2iklab7y11b734l7yb1bp35dmy27w26";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymongo/default.nix b/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
index 6b627ca672ff..bae4f7c25fb8 100644
--- a/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pymongo";
-  version = "3.12.1";
+  version = "3.12.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "704879b6a54c45ad76cea7c6789c1ae7185050acea7afd15b58318fa1932ed45";
+    sha256 = "64ea5e97fca1a37f83df9f3460bf63640bc0d725e12f3471e6acbf3a6040dd37";
   };
 
   # Tests call a running mongodb instance
diff --git a/nixpkgs/pkgs/development/python-modules/pymsteams/default.nix b/nixpkgs/pkgs/development/python-modules/pymsteams/default.nix
index 7eca666a9cca..0f452607518b 100644
--- a/nixpkgs/pkgs/development/python-modules/pymsteams/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymsteams/default.nix
@@ -1,25 +1,34 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "pymsteams";
-  version = "0.1.16";
+  version = "0.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "rveachkc";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dRfzMCsU+jRdnqzIBLn1mPWr+UDq1HFfXXqe1dVhGDo=";
+    sha256 = "03lna3p8qkmsmaz2nzl76dnz6rci08wsybvr151zl8wwpjdj1sam";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
   # Tests require network access
   doCheck = false;
-  pythonImportsCheck = [ "pymsteams" ];
+
+  pythonImportsCheck = [
+    "pymsteams"
+  ];
 
   meta = with lib; {
     description = "Python module to interact with Microsoft Teams";
diff --git a/nixpkgs/pkgs/development/python-modules/pymunk/default.nix b/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
index c98fb6dddcf8..f1cc51ec0aab 100644
--- a/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
index 0b147c971b02..42c369dbf7e7 100644
--- a/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "pymupdf";
-  version = "1.18.17";
+  version = "1.19.4";
 
   src = fetchPypi {
     pname = "PyMuPDF";
     inherit version;
-    sha256 = "fa39ee5e91eae77818e07b6bb7e0cb0b402ad88e39a74b08626ce1c2150c5414";
+    sha256 = "125783986da87fe1a5372d621e90fa49e454454af0b3d0f894858c146c712f81";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pymysensors/default.nix b/nixpkgs/pkgs/development/python-modules/pymysensors/default.nix
index 9506e1504836..d071743d748d 100644
--- a/nixpkgs/pkgs/development/python-modules/pymysensors/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pynacl/default.nix b/nixpkgs/pkgs/development/python-modules/pynacl/default.nix
index 91a197e7cf66..f34956d7280f 100644
--- a/nixpkgs/pkgs/development/python-modules/pynacl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
index b59d292d97cb..d3b39457438c 100644
--- a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "5.1.0";
+  version = "5.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7f351d70b9f4da95ea2d7e50299640e4c46c83b7b24bea5daf110acd2e5aef2b";
+    sha256 = "sha256-x6nFV7UjZLwJJX7dADeO68dSWLvaoP4FD8ziNWFJ+Qo=";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix b/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix
index eeb6ad017984..14c74cc8669c 100644
--- a/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynetbox/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pynetbox";
-  version = "6.4.1";
+  version = "6.6.1";
 
   src = fetchFromGitHub {
     owner = "netbox-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08k2zxfz23gzbk49r3hmh6r3m5rgx1gk7w83qxi1v4gbm4wr0v9m";
+    sha256 = "sha256-8oqbnCAMq29QIp9ETbMa3Ve8tTuJzQ0D8KlOYnLdUgQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix b/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix
index 3afa8fcf8651..fa2b369aa2ba 100644
--- a/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix
@@ -48,11 +48,12 @@ buildPythonPackage rec {
     "TestMoveSCPCLI"
     "TestQRGetServiceClass"
     "TestQRMoveServiceClass"
+    "TestState"
+    "TestStorageServiceClass"
     "TestStoreSCP"
     "TestStoreSCPCLI"
     "TestStoreSCU"
     "TestStoreSCUCLI"
-    "TestState"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/pynetgear/default.nix b/nixpkgs/pkgs/development/python-modules/pynetgear/default.nix
new file mode 100644
index 000000000000..e1d87cdcae33
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pynina/default.nix b/nixpkgs/pkgs/development/python-modules/pynina/default.nix
index b9e026886c86..5eaf015e9bb4 100644
--- a/nixpkgs/pkgs/development/python-modules/pynina/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynina/default.nix
@@ -1,22 +1,21 @@
 { lib
 , aiohttp
 , buildPythonPackage
-, fetchFromGitLab
+, fetchPypi
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pynina";
-  version = "unstable-2021-11-11";
+  version = "0.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitLab {
-    owner = "DeerMaximum";
-    repo = pname;
-    rev = "0ac42b28d48af7bcd9c83f5d425b5b23c4c19f02";
-    sha256 = "FSrFCs/4tfYcSPz9cgR+LFsRbWIHE1X+ZUl8BWSEaWQ=";
+  src = fetchPypi {
+    pname = "PyNINA";
+    inherit version;
+    sha256 = "1q382b70ydzzbqb9sa5y5w7039rp6q0wyffarrsdw916kbc4zyqd";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix b/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
index 4173987a7f6a..f15cfef63c6e 100644
--- a/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pynuki/default.nix b/nixpkgs/pkgs/development/python-modules/pynuki/default.nix
index 9c3dc394cc04..58c7f1df15b7 100644
--- a/nixpkgs/pkgs/development/python-modules/pynuki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynuki/default.nix
@@ -3,27 +3,40 @@
 , fetchFromGitHub
 , poetry-core
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pynuki";
-  version = "1.4.1";
+  version = "1.5.2";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "pschmitt";
     repo = pname;
     rev = version;
-    sha256 = "1nymlrf0j430851plp355697p55asfxjmavdh2zr96b16d41dnn4";
+    sha256 = "sha256-Uqw1Xa0pBQmQsFEBv/l1gtsPy+owYcTZITOYUmMvT5Y=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'requests = ">=2.27,<3"' 'requests = "*"'
+  '';
+
   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/nixpkgs/pkgs/development/python-modules/pynut2/default.nix b/nixpkgs/pkgs/development/python-modules/pynut2/default.nix
new file mode 100644
index 000000000000..11313dcadc69
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pynut2/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pynut2";
+  version = "2.1.2";
+
+  src = fetchFromGitHub {
+    owner = "mezz64";
+    repo = "python-nut2";
+    rev = version;
+    sha256 = "1lg7n1frndfgw73s0ssl1h7kc6zxm7fpiwlc6v6d60kxzaj1dphx";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  pythonImportsCheck = [ "pynut2.nut2" ];
+
+  # tests are unmaintained and broken
+  doCheck = false;
+
+  meta = with lib; {
+    description = "API overhaul of PyNUT, a Python library to allow communication with NUT (Network UPS Tools) servers.";
+    homepage = "https://github.com/mezz64/python-nut2";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = [ maintainers.luker ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix b/nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix
index 323d2c092f8d..a61f38ebc8c2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyomo/default.nix b/nixpkgs/pkgs/development/python-modules/pyomo/default.nix
index 99f002b9317b..e8d89e9ef2d2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyomo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyomo/default.nix
@@ -1,26 +1,28 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , isPy27
 , pyutilib
 , appdirs
 , ply
 , six
 , nose
+, glpk
 }:
 
 buildPythonPackage rec {
   pname = "pyomo";
-  version = "5.6.1";
+  version = "5.7.3";
   disabled = isPy27; # unable to import pyutilib.th
 
-  src = fetchPypi {
-    pname = "Pyomo";
-    inherit version;
-    sha256 = "449be9a4c9b3caee7c89dbe5f0e4e5ad0eaeef8be110a860641cd249986e362c";
+  src = fetchFromGitHub {
+    repo = "pyomo";
+    owner = "pyomo";
+    rev = version;
+    sha256 = "sha256-p0/DdCwyXdzXElzjWewKs0Oi7BMXC+BxgYikdZL0t68=";
   };
 
-  checkInputs = [ nose ];
+  checkInputs = [ nose glpk ];
   propagatedBuildInputs = [
     pyutilib
     appdirs
@@ -30,7 +32,10 @@ buildPythonPackage rec {
 
   checkPhase = ''
     rm pyomo/bilevel/tests/test_blp.py \
-       pyomo/version/tests/test_installer.py
+       pyomo/version/tests/test_installer.py \
+       pyomo/common/tests/test_download.py \
+       pyomo/core/tests/examples/test_pyomo.py
+    export HOME=$TMPDIR
     nosetests
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
index d657efd707f8..934d5fb81143 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
index b2d62e3730d1..72d6ae332583 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pyopengl";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchPypi {
     pname = "PyOpenGL";
     inherit version;
-    sha256 = "0bdf5ed600df30c8830455702338902528717c0af85ac5914f1dc5aa0bfa6eee";
+    sha256 = "4107ba0d0390da5766a08c242cf0cf3404c377ed293c5f6d701e457c57ba3424";
   };
 
   propagatedBuildInputs = [ pillow ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
index 688731033a98..16bfddc8340a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
new file mode 100644
index 000000000000..00380f341fcb
--- /dev/null
+++ b/nixpkgs/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.5";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "iMicknl";
+    repo = "python-overkiz-api";
+    rev = "v${version}";
+    hash = "sha256-KxZYluXa15RojAyNe5hA8Yf/Q9/mVl+b0TrDGRE6iuM=";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/pyowm/default.nix b/nixpkgs/pkgs/development/python-modules/pyowm/default.nix
index 3cfb70e7b875..b5b8a100ba2f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyowm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyownet/default.nix b/nixpkgs/pkgs/development/python-modules/pyownet/default.nix
new file mode 100644
index 000000000000..2bdc18e1e244
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyparsing/default.nix b/nixpkgs/pkgs/development/python-modules/pyparsing/default.nix
index 5ecfdfb88839..27047cf6eabc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyparsing/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pypck/default.nix b/nixpkgs/pkgs/development/python-modules/pypck/default.nix
index 797657a28c5c..724be70163ab 100644
--- a/nixpkgs/pkgs/development/python-modules/pypck/default.nix
+++ b/nixpkgs/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.11";
+  version = "0.7.14";
+  format = "setuptools";
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "alengwenus";
     repo = pname;
     rev = version;
-    sha256 = "1jj0y487qcxrprx4x2rs6r7rqsf5m9khk0xhigbvnbyvh8rsd2jr";
+    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/nixpkgs/pkgs/development/python-modules/pyphen/default.nix b/nixpkgs/pkgs/development/python-modules/pyphen/default.nix
index 74581ba7e33c..7bb46b115e00 100644
--- a/nixpkgs/pkgs/development/python-modules/pyphen/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pypinyin/default.nix b/nixpkgs/pkgs/development/python-modules/pypinyin/default.nix
index 4cac927341de..210e6129199b 100644
--- a/nixpkgs/pkgs/development/python-modules/pypinyin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pypoint/default.nix b/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
index 9980d2384f9a..bd4a121d35be 100644
--- a/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pypoint";
-  version = "2.2.1";
+  version = "2.3.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fredrike";
     repo = "pypoint";
     rev = "v${version}";
-    sha256 = "sha256-Or7A/Br6BgiCF6OHRtN5TAt++Tu1RLS9mYRgD7Aljts=";
+    hash = "sha256-609Zme9IUl8eHNxzrYsRAg7bgZho/OklGM7oI+imyZQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix b/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix
index 77ca912db6c9..9b19c4c8a261 100644
--- a/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pypugjs";
-  version = "5.9.9";
+  version = "5.9.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s0a239940z6rsssa13yz6pfkjk4300j35hs7qysyz45f3ixq19j";
+    sha256 = "082dae87d44e184030b66da9ea9bd1a0209f86c089d8f2bd61064b97a7511a28";
   };
 
   propagatedBuildInputs = [ six chardet ];
diff --git a/nixpkgs/pkgs/development/python-modules/pypytools/default.nix b/nixpkgs/pkgs/development/python-modules/pypytools/default.nix
new file mode 100644
index 000000000000..e88891172deb
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyqt-builder/default.nix b/nixpkgs/pkgs/development/python-modules/pyqt-builder/default.nix
index 08eb002ec31f..fd88e0fe4fe2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqt-builder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqt-builder/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyqt-builder";
-  version = "1.10.1";
+  version = "1.12.2";
 
   src = fetchPypi {
     pname = "PyQt-builder";
     inherit version;
-    sha256 = "05vyckg4pq95s3b23drhd24sjwzic1k36nwckxz5jc83mixhqywn";
+    sha256 = "f62bb688d70e0afd88c413a8d994bda824e6cebd12b612902d1945c5a67edcd7";
   };
 
   propagatedBuildInputs = [ packaging sip ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix b/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
index 3b98b5738825..c604e61a2c37 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
@@ -7,29 +7,17 @@
 , lndir
 , dbus-python
 , sip
+, pyqt5_sip
 , pyqt-builder
 , libsForQt5
 , withConnectivity ? false
 , withMultimedia ? false
 , withWebKit ? false
 , withWebSockets ? false
+, 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";
@@ -59,6 +47,7 @@ in buildPythonPackage rec {
     ++ lib.optional withMultimedia qtmultimedia
     ++ lib.optional withWebKit qtwebkit
     ++ lib.optional withWebSockets qtwebsockets
+    ++ lib.optional withLocation qtlocation
   ;
 
   buildInputs = with libsForQt5; [
@@ -71,6 +60,7 @@ in buildPythonPackage rec {
     ++ lib.optional withConnectivity qtconnectivity
     ++ lib.optional withWebKit qtwebkit
     ++ lib.optional withWebSockets qtwebsockets
+    ++ lib.optional withLocation qtlocation
   ;
 
   propagatedBuildInputs = [
@@ -85,7 +75,7 @@ in buildPythonPackage rec {
   ];
 
   passthru = {
-    inherit sip;
+    inherit sip pyqt5_sip;
     multimediaEnabled = withMultimedia;
     webKitEnabled = withWebKit;
     WebSocketsEnabled = withWebSockets;
@@ -107,6 +97,7 @@ in buildPythonPackage rec {
     ++ lib.optional withWebKit "PyQt5.QtWebKit"
     ++ lib.optional withMultimedia "PyQt5.QtMultimedia"
     ++ lib.optional withConnectivity "PyQt5.QtConnectivity"
+    ++ lib.optional withLocation "PyQt5.QtPositioning"
   ;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt/sip.nix b/nixpkgs/pkgs/development/python-modules/pyqt/sip.nix
new file mode 100644
index 000000000000..aa29d9ad9d34
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyquaternion/default.nix b/nixpkgs/pkgs/development/python-modules/pyquaternion/default.nix
new file mode 100644
index 000000000000..48c8d991175f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyquaternion/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "pyquaternion";
+  version = "0.9.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-sfYa8hnLL+lmtft5oZISTy5jo/end6w8rfKVexqBvqg=";
+  };
+
+  # The VERSION.txt file is required for setup.py
+  # See: https://github.com/KieranWynn/pyquaternion/blob/master/setup.py#L14-L15
+  postPatch = ''
+    echo "${version}" > VERSION.txt
+  '';
+
+  propagatedBuildInputs = [ numpy ];
+
+  checkInputs = [ nose ];
+  pythonImportsCheck = [ "pyquaternion" ];
+
+  meta = with lib; {
+    description = "Library for representing and using quaternions.";
+    homepage = "http://kieranwynn.github.io/pyquaternion/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyquil/default.nix b/nixpkgs/pkgs/development/python-modules/pyquil/default.nix
index f984bcc2dea6..c1aa5d56040b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyquil/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyqvrpro/default.nix b/nixpkgs/pkgs/development/python-modules/pyqvrpro/default.nix
new file mode 100644
index 000000000000..0e12b339c07c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyqvrpro/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-vcr
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, untangle
+}:
+
+buildPythonPackage rec {
+  pname = "pyqvrpro";
+  version = "0.52";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "oblogic7";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-lOd2AqnrkexNqT/usmJts5NW7vJtV8CRsliYgkhgRaU=";
+  };
+
+  propagatedBuildInputs = [
+    pyyaml
+    requests
+    untangle
+  ];
+
+  checkInputs = [
+    pytest-vcr
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pyqvrpro"
+  ];
+
+  meta = with lib; {
+    description = "Module for interfacing with QVR Pro API";
+    homepage = "https://github.com/oblogic7/pyqvrpro";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyradios/default.nix b/nixpkgs/pkgs/development/python-modules/pyradios/default.nix
index f95988063dd2..06d5f9724833 100644
--- a/nixpkgs/pkgs/development/python-modules/pyradios/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyradios/default.nix
@@ -1,11 +1,21 @@
-{ lib, buildPythonPackage, fetchPypi, appdirs, requests }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, appdirs
+, requests
+, pythonOlder
+}:
+
 buildPythonPackage rec {
   pname = "pyradios";
-  version = "0.0.22";
+  version = "1.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bgfb8vz7jybswss16pdzns0qpqfrwa9f2g8qrh1r4mig4xh2dmi";
+    sha256 = "0fd3b234c635d9e628bdadb9dc3a820405631b54977402719a641d2e1cc3f7b6";
   };
 
   propagatedBuildInputs = [
@@ -13,6 +23,7 @@ buildPythonPackage rec {
     requests
   ];
 
+  # Tests and pythonImportsCheck require network access
   doCheck = false;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix b/nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix
index 6b63ac8f9fe2..7e1fb8876cb0 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyrmvtransport/default.nix b/nixpkgs/pkgs/development/python-modules/pyrmvtransport/default.nix
index b8104ef23707..e76152e218d4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrmvtransport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrmvtransport/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pythonOlder
 , flit
 , async-timeout
@@ -41,6 +42,15 @@ buildPythonPackage rec {
     pytest-httpx
   ];
 
+  patches = [
+    # Can be removed with next release, https://github.com/cgtobi/PyRMVtransport/pull/55
+    (fetchpatch {
+      name = "update-tests.patch";
+      url = "https://github.com/cgtobi/PyRMVtransport/commit/fe93b3d9d625f9ccf8eb7b0c39e0ff41c72d2e77.patch";
+      sha256 = "sha256-t+GP5VG1S86vVSsisl85ZHBtOqxIi7QS83DA+HgRet4=";
+    })
+  ];
+
   pythonImportsCheck = [
     "RMVtransport"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyro4/default.nix b/nixpkgs/pkgs/development/python-modules/pyro4/default.nix
index 867e42485975..96b0e08a56d9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyro4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyro4/default.nix
@@ -10,14 +10,16 @@
 }:
 
 buildPythonPackage rec {
-  pname = "Pyro4";
-  version = "4.81";
+  pname = "pyro4";
+  version = "4.82";
+  format = "setuptools";
 
   disabled = isPy27;
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f";
+    pname = "Pyro4";
+    inherit version;
+    hash = "sha256-UR9bCATpLdd9wzrfnJR3h+P56cWpaxIWLwVXp8TOIfs=";
   };
 
   propagatedBuildInputs = [
@@ -30,13 +32,18 @@ buildPythonPackage rec {
     msgpack
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   # add testsupport.py to PATH
   preCheck = "PYTHONPATH=tests/PyroTests:$PYTHONPATH";
 
-  # ignore network related tests, which fail in sandbox
-  pytestFlagsArray = [ "--ignore=tests/PyroTests/test_naming.py" ];
+
+  pytestFlagsArray = [
+    # ignore network related tests, which fail in sandbox
+    "--ignore=tests/PyroTests/test_naming.py"
+  ];
 
   disabledTests = [
     "StartNSfunc"
@@ -47,6 +54,10 @@ buildPythonPackage rec {
   # otherwise the tests hang the build
   __darwinAllowLocalNetworking = true;
 
+  pythonImportsCheck = [
+    "Pyro4"
+  ];
+
   meta = with lib; {
     description = "Distributed object middleware for Python (RPC)";
     homepage = "https://github.com/irmen/Pyro4";
diff --git a/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix b/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix
index 6710d3d286e6..dc453e86c702 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix
@@ -1,31 +1,32 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
+, fetchPypi
 , pyaes
 , pysocks
 , async-lru
+, tgcrypto
 , pytestCheckHook
 , pytest-asyncio
 }:
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "1.2.0";
+  version = "1.4.3";
 
   disabled = pythonOlder "3.6";
 
-  src = fetchFromGitHub {
-    owner = "pyrogram";
-    repo = "pyrogram";
-    rev = "v${version}";
-    sha256 = "0clbnhk1icr4vl29693r6r28f5by5n6pjxjqih21g3yd64q55q3q";
+  src = fetchPypi {
+    pname = "Pyrogram";
+    inherit version;
+    hash = "sha256-5twH9ZfwtP6gi50K8nqXOmCPSFkHO5Hitd7XaDP0EQg=";
   };
 
   propagatedBuildInputs = [
     pyaes
     pysocks
     async-lru
+    tgcrypto
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysatochip/default.nix b/nixpkgs/pkgs/development/python-modules/pysatochip/default.nix
index 81c0d8bda204..8c1401c2a7cc 100644
--- a/nixpkgs/pkgs/development/python-modules/pysatochip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pysdl2/default.nix b/nixpkgs/pkgs/development/python-modules/pysdl2/default.nix
index 10515ed7a6e9..1f1d97f19fa5 100644
--- a/nixpkgs/pkgs/development/python-modules/pysdl2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysdl2/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "PySDL2";
-  version = "0.9.9";
+  version = "0.9.11";
   # The tests use OpenGL using find_library, which would have to be
   # patched; also they seem to actually open X windows and test stuff
   # like "screensaver disabling", which would have to be cleverly
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "45879ae588038d7cf7cb0289ae47af60722b394d0efa527bf4327103dc4dc918";
+    sha256 = "93e51057d39fd583b80001d42b21d5a3f71e30d489d85924d944b2c7350e2da6";
   };
 
   # Deliberately not in propagated build inputs; users can decide
diff --git a/nixpkgs/pkgs/development/python-modules/pyshp/default.nix b/nixpkgs/pkgs/development/python-modules/pyshp/default.nix
index 3cb56247b553..fab58a72251f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyshp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyshp/default.nix
@@ -2,12 +2,12 @@
 , setuptools }:
 
 buildPythonPackage rec {
-  version = "2.1.3";
+  version = "2.2.0";
   pname = "pyshp";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e32b4a6832a3b97986df442df63b4c4a7dcc846b326c903189530a5cc6df0260";
+    sha256 = "sha256-Dtogm9YvM0VwHE9nmbY4wRTOtn/uKClc3bThyvBT6UQ=";
   };
 
   buildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/pysiaalarm/default.nix b/nixpkgs/pkgs/development/python-modules/pysiaalarm/default.nix
index 2345529b1185..c06e1ed32ac8 100644
--- a/nixpkgs/pkgs/development/python-modules/pysiaalarm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pysimplegui/default.nix b/nixpkgs/pkgs/development/python-modules/pysimplegui/default.nix
index 9542ffe1b3bb..d645a068d291 100644
--- a/nixpkgs/pkgs/development/python-modules/pysimplegui/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysimplegui/default.nix
@@ -2,26 +2,34 @@
 , buildPythonPackage
 , fetchPypi
 , tkinter
+, pythonOlder
 }:
+
 buildPythonPackage rec {
-  pname = "PySimpleGUI";
-  version = "4.55.1";
+  pname = "pysimplegui";
+  version = "4.57.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-nUDAoMK0w9Luk1hU5I1yT1CK5oEj9LrIByYS3Z5wfew=";
+    pname = "PySimpleGUI";
+    inherit version;
+    sha256 = "sha256-+Dcrv+esnthI74AFLK47sS2qI4sPvihuQlL54Zo32RM=";
   };
 
-  pythonImportsCheck = [ "PySimpleGUI" ];
-
   propagatedBuildInputs = [
     tkinter
   ];
 
+  pythonImportsCheck = [
+    "PySimpleGUI"
+  ];
+
   meta = with lib; {
-    description = "Python GUIs for Humans.";
+    description = "Python GUIs for Humans";
     homepage = "https://github.com/PySimpleGUI/PySimpleGUI";
-    license = licenses.gpl3;
+    license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ lucasew ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyskyqremote/default.nix b/nixpkgs/pkgs/development/python-modules/pyskyqremote/default.nix
index 85fc18463690..a971751c9ea5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyskyqremote/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pysma/default.nix b/nixpkgs/pkgs/development/python-modules/pysma/default.nix
index cf2325633fba..81fc1d5709e9 100644
--- a/nixpkgs/pkgs/development/python-modules/pysma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysma/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pysma";
-  version = "0.6.9";
+  version = "0.6.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2ZU3UjDNo+fpnYK4WlYSu7XqkbpcK7Xz5cUKDABhwdk=";
+    sha256 = "990abf6dba3f52b98970fc95aaf484e521faa9ff28c9c19f5a6dca3fddf5840c";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysml/default.nix b/nixpkgs/pkgs/development/python-modules/pysml/default.nix
index 1f08eb14180c..f7c1e4857c42 100644
--- a/nixpkgs/pkgs/development/python-modules/pysml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysml/default.nix
@@ -3,20 +3,26 @@
 , bitstring
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pyserial-asyncio
 }:
 
 buildPythonPackage rec {
   pname = "pysml";
-  version = "0.0.5";
+  version = "0.0.7";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "mtdcr";
     repo = pname;
     rev = version;
-    sha256 = "05zgrk49b2y5jflxnjww2kqg1flynl3j4ifm0jr28nk0li5wg2bs";
+    sha256 = "sha256-h8rQOKZozioZ7HmPETC5wBJyz7rMH1Q2wL6lF8G3zQU=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     async-timeout
     bitstring
diff --git a/nixpkgs/pkgs/development/python-modules/pysnooper/default.nix b/nixpkgs/pkgs/development/python-modules/pysnooper/default.nix
index b92ba38c9d09..f5675aae8ed8 100644
--- a/nixpkgs/pkgs/development/python-modules/pysnooper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysnooper/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.1.0";
   pname = "pysnooper";
 
   src = fetchPypi {
     inherit version;
     pname = "PySnooper";
-    sha256 = "4804aed962f36db85fefdc33edbd109b96a13153e6ffed82d1e6023b4f483b64";
+    sha256 = "0fa932ad396d2bac089d4b1f94f0ce49cde4140ee64ddd24a4065fadea10fcc9";
   };
 
   # test dependency python-toolbox fails with py27
diff --git a/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix b/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix
index 8ba191317ea0..561ec037c0a2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python SPNEGO authentication library";
-    homepage = "Python SPNEGO authentication library";
+    homepage = "https://github.com/jborean93/pyspnego";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pysptk/default.nix b/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
index 478595c1bfc5..a6129ea20c94 100644
--- a/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "pysptk";
-  version = "0.1.18";
+  version = "0.1.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34c5ccc40c9e177cfd764daa9f7635c4c1e648e14ce78ba975537dae5a14c4e4";
+    sha256 = "29e8e6a76243f3be728d23450982bd9f916530634079252a490ba7182bef30ca";
   };
 
   PYSPTK_BUILD_VERSION = 0;
diff --git a/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix b/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
index a51f15f5eeb7..96037d512838 100644
--- a/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.13.0";
+  version = "0.13.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = version;
-    sha256 = "sha256-dx3OMzWJohOYCg7TnrqL4FLZoC+Q1dyJyUAdreDyfl0=";
+    sha256 = "0pdmssd5dr364p3lrkxqryjc0rbaw6xp724zwqf3i87qs6ljs928";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
index af3c2c9b6514..e4417139bfa3 100644
--- a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
@@ -9,6 +9,7 @@
 , pytestCheckHook
 , python-box
 , python-dateutil
+, pythonOlder
 , requests
 , requests-pkcs12
 , responses
@@ -19,13 +20,16 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.4.2";
+  version = "1.4.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tenable";
     repo = "pyTenable";
     rev = version;
-    sha256 = "sha256-qljoJ+nYFVS5VHr/M4mITtO9Czuyb4HLzVjhprhyJIs=";
+    hash = "sha256-p9d3wZkOMhNQWJN6tCNUlW15A3irU8QN/nm7PLGTE/M=";
   };
 
   propagatedBuildInputs = [
@@ -59,7 +63,9 @@ buildPythonPackage rec {
     "test_uploads_docker_push_cs_tag_typeerror"
   ];
 
-  pythonImportsCheck = [ "tenable" ];
+  pythonImportsCheck = [
+    "tenable"
+  ];
 
   meta = with lib; {
     description = "Python library for the Tenable.io and TenableSC API";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix
index 7936d6e4ac2d..1b06dad829d9 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-annotate/default.nix
@@ -6,8 +6,9 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.4";
   pname = "pytest-annotate";
+  version = "1.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -22,19 +23,17 @@ buildPythonPackage rec {
     pyannotate
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pytest>=3.2.0,<4.0.0" "pytest"
-  '';
-
-  # no testing in a testing module...
+  # Module has no tests
   doCheck = false;
 
+  pythonImportsCheck = [
+    "pytest_annotate"
+  ];
+
   meta = with lib; {
-    broken = true; # unmaintained and incompatible with pytest>=6.0
-    homepage = "https://github.com/kensho-technologies/pytest-annotate";
     description = "Generate PyAnnotate annotations from your pytest tests";
+    homepage = "https://github.com/kensho-technologies/pytest-annotate";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-arraydiff/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-arraydiff/default.nix
index bfbec757b1d7..95e22510d8a0 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-arraydiff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix
index 9e09724624c2..6401e1ce2c9b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix
@@ -1,29 +1,52 @@
-{ lib, buildPythonPackage, fetchPypi, pytest, isPy3k, isPy35, async_generator }:
+{ 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 = !isPy3k;
+  disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7496c5977ce88c34379df64a66459fe395cd05543f0a2f837016e7144391fcfb";
+  src = fetchFromGitHub {
+    owner = "pytest-dev";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-4wDXvO6pDK0dQLnyfJTTa+GXf9Qtsi6ywYDUIdhkgGo=";
   };
 
-  buildInputs = [ pytest ]
-    ++ lib.optionals isPy35 [ async_generator ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    pytest
+  ];
 
-  # No tests in archive
-  doCheck = false;
+  checkInputs = [
+    flaky
+    hypothesis
+    pytestCheckHook
+  ];
 
-  # LICENSE file is not distributed. https://github.com/pytest-dev/pytest-asyncio/issues/92
-  postPatch = ''
-    substituteInPlace setup.cfg --replace "license_file = LICENSE" ""
-  '';
+  pythonImportsCheck = [
+    "pytest_asyncio"
+  ];
 
   meta = with lib; {
     description = "library for testing asyncio code with pytest";
-    license = licenses.asl20;
     homepage = "https://github.com/pytest-dev/pytest-asyncio";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix
index b087cd6f4598..6ca95bca4c0b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
index b84b42e351db..b9def8d834af 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
@@ -1,32 +1,47 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytest
+, pathlib
 , py-cpuinfo
+, pytest
 , pythonOlder
-, pathlib
 , statistics
 }:
 
 buildPythonPackage rec {
   pname = "pytest-benchmark";
-  version = "3.2.2";
+  version = "3.4.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ionelmc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hslzzinpwc1zqhbpllqh3sllmiyk69pcycl7ahr0rz3micgwczj";
+    sha256 = "sha256-qc/8Epax5bPUZvhq42xSj6NUq0T4gbO5dDDS6omWBOU=";
   };
 
-  buildInputs = [ pytest ];
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    py-cpuinfo
+  ] ++ lib.optionals (pythonOlder "3.4") [
+    pathlib
+    statistics
+  ];
+
+  # Circular dependency
+  doCheck = false;
 
-  propagatedBuildInputs = [ py-cpuinfo ] ++ lib.optionals (pythonOlder "3.4") [ pathlib statistics ];
+  pythonImportsCheck = [
+    "pytest_benchmark"
+  ];
 
-  meta = {
-    description = "Py.test fixture for benchmarking code";
+  meta = with lib; {
+    description = "Pytest fixture for benchmarking code";
     homepage = "https://github.com/ionelmc/pytest-benchmark";
-    license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ costrouc ];
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix
index 47f5bbb1fd0b..766e07543879 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-cases";
-  version = "3.6.5";
+  version = "3.6.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JZfQI6dgYFHWUbCMuHD78eBi9svoV5zkX887V9xFLNw=";
+    sha256 = "sha256-Bf9favhlHcGj8nf1JxTkMjpo8hMyfBHgMCilOcIL2Sk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix
index 77de2d9698ba..9efd9f49f2b4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-celery/no-celery.patch b/nixpkgs/pkgs/development/python-modules/pytest-celery/no-celery.patch
deleted file mode 100644
index 65337489883c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix
index a77295458733..3498b9f8ab94 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix
@@ -7,12 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-check";
-  version = "1.0.1";
+  version = "1.0.4";
+  format = "flit";
 
   src = fetchPypi {
     pname = "pytest_check";
     inherit version;
-    sha256 = "1i01i5ab06ic11na13gcacrlcs2ab6rmaii0yz0x06z5ynnljn6s";
+    sha256 = "c93eee5a98bcd28634a4ec657ab62c46d25fa384300811e5a925d9c4d98b9540";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-click/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-click/default.nix
index 887fe7fe7b59..82e6409c9b7f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-click/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix
index 3005c26f77b5..609ed9cc343e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-console-scripts";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c7f258025110f1337c23499c2f6674b873d4adba2438be55895edf01451c5ce3";
+    sha256 = "caeaaaf57f3a99e4482127e8a18467a1cfd49c92f4b37e5578d0bc40bf1b3394";
   };
   postPatch = ''
     # setuptools-scm is pinned to <6 because it dropped Python 3.5
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
index 87f5972a747d..971b12dc01c7 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix
index 47cc882f548e..c4668def279e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-django/default.nix
@@ -10,11 +10,11 @@
 }:
 buildPythonPackage rec {
   pname = "pytest-django";
-  version = "4.4.0";
+  version = "4.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b5171e3798bf7e3fc5ea7072fe87324db67a4dd9f1192b037fed4cc3c1b7f455";
+    sha256 = "d9076f759bb7c36939dbdd5ae6633c18edfc2902d1a69fdbefd2426b970ce6c2";
   };
 
   nativeBuildInputs = [ pytest setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
index c49d76705f79..5752bca4f66f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
@@ -1,16 +1,19 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
-, pythonOlder
 , packaging
 , pytest
 , pytestCheckHook
+, pythonOlder
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pytest-doctestplus";
   version = "0.11.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
@@ -34,6 +37,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  patches = [
+    # Removal of distutils, https://github.com/astropy/pytest-doctestplus/pull/172
+    (fetchpatch {
+      name = "distutils-removal.patch";
+      url = "https://github.com/astropy/pytest-doctestplus/commit/ae2ee14cca0cde0fab355936995fa083529b00ff.patch";
+      sha256 = "sha256-uryKV7bWw2oz0glyh2lpGqtDPFvRTo8RmI1N1n15/d4=";
+    })
+  ];
+
   disabledTests = [
     # ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
     # __main__.py: error: unrecognized arguments: --remote-data
@@ -49,6 +61,6 @@ buildPythonPackage rec {
     description = "Pytest plugin with advanced doctest features";
     homepage = "https://astropy.org";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix
index cbba86641c13..594a5efaa894 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-forked/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , setuptools-scm
 , py
@@ -9,11 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-forked";
-  version = "1.3.0";
+  version = "1.4.0";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca";
+    sha256 = "sha256-i2dYfI+Yy7rf3YBFOe1UVbbtA4AiA0hd0vU8FCLXRA4=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix
index 836da1e157ff..0069eb6f179e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
index cd07a104038c..eb04881455d7 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpserver";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchPypi {
     pname = "pytest_httpserver";
     inherit version;
-    sha256 = "87561c4fa6a7bc306d76d1979a3eb9d54eb26bfb2f3f51f1643bf3c090ce629d";
+    sha256 = "6de464ba5f74628d6182ebbdcb56783edf2c9b0caf598dc35c11f014f24a3f0d";
   };
 
   propagatedBuildInputs = [ werkzeug ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
index 819c0a14832f..9536325ade51 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
@@ -5,20 +5,26 @@
 , pytest
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-httpx";
-  version = "0.15.0";
+  version = "0.17.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Colin-b";
     repo = "pytest_httpx";
     rev = "v${version}";
-    sha256 = "08dxvjkxlnam3r0yp17495d1vksyawzzkpykacjql1gi6hqlfrwg";
+    sha256 = "sha256-cJRzjNIN9Fc8vcjmndW+akjxDSp+wFahY2MEslgXIwM=";
   };
 
-  buildInputs = [ pytest ];
+  buildInputs = [
+    pytest
+  ];
 
   propagatedBuildInputs = [
     httpx
@@ -29,12 +35,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pytest_httpx" ];
+  pythonImportsCheck = [
+    "pytest_httpx"
+  ];
 
   meta = with lib; {
     description = "Send responses to httpx";
     homepage = "https://github.com/Colin-b/pytest_httpx";
     license = licenses.mit;
-    maintainers = with maintainers; [ SuperSandro2000 ];
+    maintainers = with maintainers; [ fab SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix
index a3f57ff40e7a..e3823c18d895 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix
@@ -1,29 +1,34 @@
-{ buildPythonPackage
-, lib
+{ lib
+, buildPythonPackage
 , fetchPypi
 , werkzeug
 }:
 
 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 = [ werkzeug ];
+  propagatedBuildInputs = [
+    werkzeug
+  ];
 
   # all tests access network: does not work in sandbox
   doCheck = false;
-  pythonImportsCheck = [ "pytest_localserver" ];
+
+  pythonImportsCheck = [
+    "pytest_localserver"
+  ];
 
   meta = with lib; {
     description = "Plugin for the pytest testing framework to test server connections locally";
-    homepage = "https://pypi.python.org/pypi/pytest-localserver";
+    homepage = "https://github.com/pytest-dev/pytest-localserver";
     license = licenses.mit;
     maintainers = with maintainers; [ siriobalmelli ];
   };
 }
-
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-logdog/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-logdog/default.nix
new file mode 100644
index 000000000000..c626a1cfac9e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-logdog/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-logdog";
+  version = "0.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ods";
+    repo = pname;
+    rev = version;
+    hash = "sha256-Tmoq+KAGzn0MMj29rukDfAc4LSIwC8DoMTuBAppV32I=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    pytest
+  ];
+
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_logdog"
+  ];
+
+  meta = with lib; {
+    description = "Pytest plugin to test logging";
+    homepage = "https://github.com/ods/pytest-logdog";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
index a8127e276f45..7f07ed2b6dd1 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
index 38b2168e13fd..806c12c0e4ff 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix
index a49c958c3fcc..e40e0671bc03 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-order";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WZeiYrMSNO67Rh+anvJGh79zICm0mYRaQ5i2nttawyE=";
+    sha256 = "sha256-Xda5KfvX6qbQ7gdYb2XGI7q7Cv5ytIQ8XxUFXWs7Gx8=";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-pythonpath/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-pythonpath/default.nix
index 117471aa8df1..8c3fb48b430e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-pythonpath/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix
index 7412928062d7..1dc250da2ac7 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
index 734e0e64b31d..5aae59bc605f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
@@ -1,20 +1,27 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, factory_boy, faker, numpy, importlib-metadata
-, pytestCheckHook, pytest-xdist
+{ lib
+, buildPythonPackage
+, factory_boy
+, faker
+, fetchFromGitHub
+, importlib-metadata
+, numpy
+, pytest-xdist
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-randomly";
-  version = "3.10.1";
+  version = "3.11.0";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
-  # fetch from GitHub as pypi tarball doesn't include tests
   src = fetchFromGitHub {
     repo = pname;
     owner = "pytest-dev";
     rev = version;
-    sha256 = "10z7hsr8yd80sf5113i61p0g1c0nqkx7p4xi19v3d133f6vjbh3k";
+    hash = "sha256-NoYpMpFWz52Z0+KIUumUFp3xMPA1jGw8COojU+bsgHc=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
@@ -22,19 +29,27 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytestCheckHook
-    pytest-xdist
-    numpy
     factory_boy
     faker
+    numpy
+    pytest-xdist
+    pytestCheckHook
   ];
+
   # needs special invocation, copied from tox.ini
-  pytestFlagsArray = [ "-p" "no:randomly" ];
+  pytestFlagsArray = [
+    "-p"
+    "no:randomly"
+  ];
+
+  pythonImportsCheck = [
+    "pytest_randomly"
+  ];
 
   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;
-    maintainers = [ maintainers.sternenseemann ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix
index 90b72c886eac..6866df7b7125 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
index fb91f461329e..fc9b5e6f9c1b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-snapshot/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-snapshot/default.nix
index 3b7a9f389ebd..34833bcc30a8 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-snapshot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-snapshot/default.nix
@@ -1,23 +1,45 @@
-{ lib, buildPythonPackage, fetchPypi, packaging, pytest, setuptools-scm }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, packaging
+, pytest
+, setuptools-scm
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pytest-snapshot";
-  version = "0.8.0";
+  version = "0.8.1";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cf84c88c3e0b4ae08ae797d9ccdc32715b64dd68b2da40f575db56956ed23326";
+  src = fetchFromGitHub {
+    owner = "joseph-roitman";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-ymB9h3Mc6GSMRsxIh6uuf111qLvIkNAnFsxR6O2SF7s=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  buildInputs = [ pytest ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  propagatedBuildInputs = [ packaging ];
+  buildInputs = [
+    pytest
+  ];
 
-  # pypi does not contain tests and GitHub archive is not supported because setuptools-scm can't detect the version
-  doCheck = false;
-  pythonImportsCheck = [ "pytest_snapshot" ];
+  propagatedBuildInputs = [
+    packaging
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_snapshot"
+  ];
 
   meta = with lib; {
     description = "A plugin to enable snapshot testing with pytest";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix
index 0371b7cac5a4..1376d3e8412f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-socket/default.nix
@@ -1,23 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest
 , pythonOlder
+, setuptoolsBuildHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-socket";
-  version = "0.4.0";
-  disabled = pythonOlder "3.6";
+  version = "0.5.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "miketheman";
     repo = pname;
     rev = version;
-    sha256 = "sha256-cFYtJqZ/RjFbn9XlEy6ffxZ2djisajQAwjV/YR2f59Q=";
+    hash = "sha256-HdGkpIHFsoAG2+8UyL9jSb3Dm8bWkYzREdY3i15ls/Q=";
   };
 
   nativeBuildInputs = [
@@ -28,23 +29,12 @@ buildPythonPackage rec {
     pytest
   ];
 
-  checkInputs = [
-    pytest
-  ];
-
-  patches = [
-    # Switch to poetry-core, https://github.com/miketheman/pytest-socket/pull/74
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/miketheman/pytest-socket/commit/32519170e656e731d24b81770a170333d3efa6a8.patch";
-      sha256 = "19ksgx77rsa6ijcbml74alwc5052mdqr4rmvqhlzvfcvv3676ig2";
-    })
-  ];
-
   # pytest-socket require network for majority of tests
   doCheck = false;
 
-  pythonImportsCheck = [ "pytest_socket" ];
+  pythonImportsCheck = [
+    "pytest_socket"
+  ];
 
   meta = with lib; {
     description = "Pytest Plugin to disable socket calls during tests";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-subprocess/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-subprocess/default.nix
index 74f1e7cddcee..cc890096f796 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-subprocess/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-subprocess/default.nix
@@ -6,11 +6,14 @@
 , pytestCheckHook
 , docutils
 , pygments
+, pytest-rerunfailures
+, pytest-asyncio
+, anyio
 }:
 
 buildPythonPackage rec {
   pname = "pytest-subprocess";
-  version = "1.3.2";
+  version = "1.4.1";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +21,7 @@ buildPythonPackage rec {
     owner = "aklajnert";
     repo = "pytest-subprocess";
     rev = version;
-    sha256 = "sha256-auPpqoPeYxmkWTVbbKhEZI6gJGH9Pf1D9YLkuD3FaX0=";
+    hash = "sha256-xNkOXBCQ4AH/JVmxFzI3VSouA6jkCbUom7AdckfjGiE=";
   };
 
   buildInputs = [
@@ -29,6 +32,9 @@ buildPythonPackage rec {
     pytestCheckHook
     docutils
     pygments
+    pytest-rerunfailures
+    pytest-asyncio
+    anyio
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix
index 6b556abeaa4f..d5e379b524d5 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-timeout/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-timeout/default.nix
index 40f67eb0b0ba..f99340e48b3b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-timeout/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-timeout/default.nix
@@ -9,28 +9,40 @@
 
 buildPythonPackage rec {
   pname = "pytest-timeout";
-  version = "1.4.2";
+  version = "2.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xnsigs0kmpq1za0d4i522sp3f71x5bgpdh3ski0rs74yqy13cr0";
+    sha256 = "e6f98b54dafde8d70e4088467ff621260b641eb64895c4195b6e5c8f45638112";
   };
 
-  buildInputs = [ pytest ];
+  buildInputs = [
+    pytest
+  ];
 
-  checkInputs = [ pytestCheckHook pexpect pytest-cov ];
+  checkInputs = [
+    pytestCheckHook
+    pexpect
+    pytest-cov
+  ];
 
   disabledTests = [
     "test_suppresses_timeout_when_pdb_is_entered"
     # Remove until https://github.com/pytest-dev/pytest/pull/7207 or similar
     "test_suppresses_timeout_when_debugger_is_entered"
   ];
+
   pytestFlagsArray = [
     "-ra"
   ];
 
+  pythonImportsCheck = [
+    "pytest_timeout"
+  ];
+
   meta = with lib; {
-    description = "py.test plugin to abort hanging tests";
+    description = "Pytest plugin to abort hanging tests";
     homepage = "https://github.com/pytest-dev/pytest-timeout/";
     changelog = "https://github.com/pytest-dev/pytest-timeout/#changelog";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
index f71522a40dc6..fa1b0f63fabc 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-xdist";
-  version = "2.4.0";
+  version = "2.5.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "89b330316f7fc475f999c81b577c2b926c9569f3d397ae432c0c2e2496d61ff9";
+    sha256 = "sha256-RYDeyj/wTdsqxT66Oddstd1e3qwFDLb7x2iw3XErTt8=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest/5.nix b/nixpkgs/pkgs/development/python-modules/pytest/5.nix
deleted file mode 100644
index ee04e3be429f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pytest/5.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ lib, buildPythonPackage, pythonOlder, fetchPypi, isPy3k, isPyPy
-, atomicwrites
-, attrs
-, hypothesis
-, more-itertools
-, packaging
-, pathlib2
-, pluggy
-, py
-, pygments
-, setuptools
-, setuptools-scm
-, six
-, toml
-, wcwidth
-, writeText
-}:
-
-buildPythonPackage rec {
-  version = "5.4.3";
-  pname = "pytest";
-
-  disabled = !isPy3k;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1n67lk8iwlsmfdm8663k8l7isllg1xd3n9p1yla7885szhdk6ybr";
-  };
-
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0"
-  '';
-
-  checkInputs = [ hypothesis pygments ];
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [
-    atomicwrites
-    attrs
-    more-itertools
-    packaging
-    pluggy
-    py
-    setuptools
-    six
-    toml
-    wcwidth
-  ] ++ lib.optionals (pythonOlder "3.6") [ pathlib2 ];
-
-  doCheck = !isPyPy; # https://github.com/pytest-dev/pytest/issues/3460
-
-  preCheck = ''
-    # don't test bash builtins
-    rm testing/test_argcomplete.py
-  '';
-
-  # Ignored file https://github.com/pytest-dev/pytest/pull/5605#issuecomment-522243929
-  checkPhase = ''
-    runHook preCheck
-    $out/bin/py.test -x testing/ -k "not test_collect_pyargs_with_testpaths" --ignore=testing/test_junitxml.py
-    runHook postCheck
-  '';
-
-  # Remove .pytest_cache when using py.test in a Nix build
-  setupHook = writeText "pytest-hook" ''
-    pytestcachePhase() {
-        find $out -name .pytest_cache -type d -exec rm -rf {} +
-    }
-    preDistPhases+=" pytestcachePhase"
-
-    # pytest generates it's own bytecode files to improve assertion messages.
-    # These files similar to cpython's bytecode files but are never laoded
-    # by python interpreter directly. We remove them for a few reasons:
-    # - files are non-deterministic: https://github.com/NixOS/nixpkgs/issues/139292
-    #   (file headers are generatedt by pytest directly and contain timestamps)
-    # - files are not needed after tests are finished
-    pytestRemoveBytecodePhase () {
-        # suffix is defined at:
-        #    https://github.com/pytest-dev/pytest/blob/5.4.3/src/_pytest/assertion/rewrite.py#L42-L45
-        find $out -name "*-pytest-*.py[co]" -delete
-    }
-    preDistPhases+=" pytestRemoveBytecodePhase"
-  '';
-
-  pythonImportsCheck = [
-    "pytest"
-  ];
-
-  meta = with lib; {
-    homepage = "https://docs.pytest.org";
-    description = "Framework for writing tests";
-    maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
-    license = licenses.mit;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest/default.nix b/nixpkgs/pkgs/development/python-modules/pytest/default.nix
index ac036936b991..0b1bb2b02030 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest/default.nix
@@ -1,4 +1,5 @@
 { lib, buildPythonPackage, pythonOlder, fetchPypi, isPy3k, isPyPy
+, pythonAtLeast, fetchpatch
 , atomicwrites
 , attrs
 , hypothesis
@@ -27,10 +28,13 @@ buildPythonPackage rec {
     sha256 = "131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "pluggy>=0.12,<1.0.0a1" "pluggy>=0.23,<2.0"
-  '';
+  patches = lib.optionals (pythonAtLeast "3.10") [
+    (fetchpatch {
+      # Fix test_errors_in_xfail_skip_expressions for Python 3.10.1, remove after 6.2.5
+      url = "https://github.com/pytest-dev/pytest/commit/913439f5e5691f391e2969b3c8f0a49e50dce43a.patch";
+      sha256 = "0hsl3lww6bx5k99cp8gj0fy9rg02kcfbwiiwjx2y8vbhwd5ns41p";
+    })
+  ];
 
   nativeBuildInputs = [ setuptools-scm ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/python-benedict/default.nix b/nixpkgs/pkgs/development/python-modules/python-benedict/default.nix
new file mode 100644
index 000000000000..9cf5ffc63abf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-benedict/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+
+, mailchecker
+, phonenumbers
+, python-dateutil
+, python-fsutil
+, python-slugify
+, pyyaml
+, ftfy
+, requests
+, six
+, toml
+, xmltodict
+}:
+
+buildPythonPackage rec {
+  pname = "python-benedict";
+  version = "0.24.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "fabiocaccamo";
+    repo = pname;
+    rev = version;
+    hash = "sha256-06n8MNoGQRSrBK2XeEBBoQ2NIXWf0qXPVBeP9ERMEj0=";
+  };
+
+  propagatedBuildInputs = [
+    mailchecker
+    phonenumbers
+    python-dateutil
+    python-fsutil
+    python-slugify
+    pyyaml
+    ftfy
+    requests
+    six
+    toml
+    xmltodict
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_from_base64_with_valid_url_valid_content"
+    "test_from_json_with_valid_url_valid_content"
+    "test_from_pickle_with_valid_url_valid_content"
+    "test_from_plist_with_valid_url_valid_content"
+    "test_from_query_string_with_valid_url_valid_content"
+    "test_from_toml_with_valid_url_valid_content"
+    "test_from_xml_with_valid_url_valid_content"
+    "test_from_yaml_with_valid_url_valid_content"
+  ];
+
+  pythonImportsCheck = [
+    "benedict"
+  ];
+
+  meta = with lib; {
+    description = "Module with keylist/keypath support";
+    homepage = "https://github.com/fabiocaccamo/python-benedict";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix b/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix
index 9df9bf8a593b..074e5699e3d5 100644
--- a/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-daemon/default.nix
@@ -3,16 +3,21 @@
 , fetchPypi
 , docutils
 , lockfile
-, mock
-, pytest_4
+, pytestCheckHook
 , testscenarios
 , testtools
 , twine
+, python
+, pythonOlder
+, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "python-daemon";
   version = "2.3.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -29,22 +34,39 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest_4
-    mock
+    pytestCheckHook
     testscenarios
     testtools
   ];
 
-  # tests disabled due to incompatibilities with testtools>=2.5.0
-  checkPhase = ''
-    runHook preCheck
-    pytest -k ' \
-      not detaches_process_context and \
-      not standard_stream_file_descriptors and \
-      not test_module_has_attribute and \
-      not test_module_attribute_has_duck_type'
-    runHook postCheck
-  '';
+  patches = [
+    # Should be fixed in the next release
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/python-daemon/raw/rawhide/f/python-daemon-safe_hasattr.patch";
+      sha256 = "sha256-p5epAlM/sdel01oZkSI1vahUZYX8r90WCJuvBnfMaus=";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/python-daemon/raw/rawhide/f/tests-remove-duplicate-mocking.patch";
+      sha256 = "sha256-5b/dFR3Z8xaPw8AZU95apDZd4ZfmMQhAmavWkVaJog8=";
+    })
+  ];
+
+  disabledTests = [
+    "begin_with_TestCase"
+    "changelog_TestCase"
+    "ChangeLogEntry"
+    "DaemonContext"
+    "file_descriptor"
+    "get_distribution_version_info_TestCase"
+    "InvalidFormatError_TestCase"
+    "make_year_range_TestCase"
+    "ModuleExceptions_TestCase"
+    "test_metaclass_not_called"
+    "test_passes_specified_object"
+    "test_returns_expected"
+    "value_TestCase"
+    "YearRange_TestCase"
+  ];
 
   pythonImportsCheck = [
     "daemon"
@@ -56,10 +78,8 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library to implement a well-behaved Unix daemon process";
     homepage = "https://pagure.io/python-daemon/";
-    license = with licenses; [
-      gpl3Plus
-      asl20
-    ];
+    # See "Copying" section in https://pagure.io/python-daemon/blob/main/f/README
+    license = with licenses; [ gpl3Plus asl20 ];
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix b/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
index d643603a0679..60e6f2e74552 100644
--- a/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
index baf385bb7d78..da9296387576 100644
--- a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.3.0";
+  version = "4.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "sha256-ohNRtceh0bHBlnGSFUckG5KzoLY8Q1jvpFee7T78Vto=";
+    sha256 = "sha256-8595zivZmff0agFiQd5Qyd/T3BDxYcsb4RjA5AWXVNM=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-fsutil/default.nix b/nixpkgs/pkgs/development/python-modules/python-fsutil/default.nix
new file mode 100644
index 000000000000..760e86f6ecf2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-fsutil/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "python-fsutil";
+  version = "0.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "fabiocaccamo";
+    repo = pname;
+    rev = version;
+    hash = "sha256-DY0QGHD7HdLnKnbPV17UZl9u3Ac9YZdYvQXLOzmRGos=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests/test.py"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_download_file"
+    "test_read_file_from_url"
+  ];
+
+  pythonImportsCheck = [
+    "fsutil"
+  ];
+
+  meta = with lib; {
+    description = "Module with file-system utilities";
+    homepage = "https://github.com/fabiocaccamo/python-fsutil";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
index a5c40533c169..6704cb8ad006 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,12 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "2.10.1";
-  disabled = pythonOlder "3.6";
+  version = "3.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7afa7d7c062fa62c173190452265a30feefb844428efc58ea5244f3b9fc0d40f";
+    sha256 = "sha256-ytEzjB/xp5GnuueZXcYh4mx3378iW63kVqzsdRJ4KCU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-heatclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-heatclient/default.nix
index cab28ef016d9..8ba5c7dd21fc 100644
--- a/nixpkgs/pkgs/development/python-modules/python-heatclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-heatclient/default.nix
@@ -22,11 +22,11 @@
 
 buildPythonApplication rec {
   pname = "python-heatclient";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b53529eb73f08c384181a580efaa42293cc35e0e1ecc4b0bc14a5c7b202019bb";
+    sha256 = "b610748eb3f18f6bd762e0808accdf872308289a77c3b19ed2d8b9f306393a42";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix b/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix
index db79870ad591..aa2c4d020e55 100644
--- a/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix
@@ -3,18 +3,21 @@
 , fetchFromGitHub
 , mock
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "python_http_client";
-  version = "3.3.4";
+  version = "3.3.6";
   format = "setuptools";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "sendgrid";
     repo = "python-http-client";
     rev = version;
-    sha256 = "sha256-wTXHq+tC+rfvmDZIWvcGhQZqm6DxOmx50BsX0c6asec=";
+    sha256 = "sha256-Xchf/jVkQ7SYOzI9f81iS/G72k//6wkl2bMvHprOP9Y=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-i18n/default.nix b/nixpkgs/pkgs/development/python-modules/python-i18n/default.nix
new file mode 100644
index 000000000000..8e7f8f880e2a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix b/nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix
index 7f8b8fe58a77..cbd68f387656 100644
--- a/nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-ironicclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-ironicclient/default.nix
index 5654c2de3a85..c193cf7cd1ad 100644
--- a/nixpkgs/pkgs/development/python-modules/python-ironicclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-ironicclient/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonApplication rec {
   pname = "python-ironicclient";
-  version = "4.9.0";
+  version = "4.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "99d45e914b2845731ac44fbfc63ae3e1bd52211396748797b588f2adc4b3f341";
+    sha256 = "8f3ad8ae1fc4df524ea05a458ad2567b58144e881807dbbb985e282902d732fd";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-izone/default.nix b/nixpkgs/pkgs/development/python-modules/python-izone/default.nix
index 1d1eb5ac54eb..f1f8be9d3d27 100644
--- a/nixpkgs/pkgs/development/python-modules/python-izone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-izone/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "python-izone";
-  version = "1.2.3";
+  version = "1.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Swamp-Ig";
     repo = "pizone";
     rev = "v${version}";
-    hash = "sha256-WF37t9vCEIyQMeN3/CWAiiZ5zsMRMFQ5UvMUqfoGM9I=";
+    hash = "sha256-HV8aQlwJ7VbGlJU0HpS9fK/QnRfYrk4ijKTGPWj0Jww=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-kasa/default.nix b/nixpkgs/pkgs/development/python-modules/python-kasa/default.nix
index 10ff6ddf6217..17c3cb07be36 100644
--- a/nixpkgs/pkgs/development/python-modules/python-kasa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-kasa/default.nix
@@ -2,7 +2,6 @@
 , asyncclick
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , importlib-metadata
 , poetry-core
 , pytest-asyncio
@@ -14,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-kasa";
-  version = "0.4.0";
+  version = "0.4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +22,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "08blmz5kg826l08pf6yrvl8gc8iz3hfb6wsfqih606dal08kdhdi";
+    sha256 = "sha256-4e9jpUDorZlKCYwWtqrba61zbkJl57oWUhEpFcaS9ak=";
   };
 
   nativeBuildInputs = [
@@ -42,26 +41,14 @@ buildPythonPackage rec {
     voluptuous
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/python-kasa/python-kasa/pull/226
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/python-kasa/python-kasa/commit/05c2a4a7dedbd60038e177b4d3f5ac5798544d11.patch";
-      sha256 = "0cla11yqx88wj2s50s3xxxhv4nz4h3wd9pi12v79778hzdlg58rr";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'asyncclick = "^7"' 'asyncclick = "*"'
-  '';
-
   disabledTestPaths = [
     # Skip the examples tests
     "kasa/tests/test_readme_examples.py"
   ];
 
-  pythonImportsCheck = [ "kasa" ];
+  pythonImportsCheck = [
+    "kasa"
+  ];
 
   meta = with lib; {
     description = "Python API for TP-Link Kasa Smarthome products";
diff --git a/nixpkgs/pkgs/development/python-modules/python-keycloak/default.nix b/nixpkgs/pkgs/development/python-modules/python-keycloak/default.nix
new file mode 100644
index 000000000000..6425869243ef
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-keycloak/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, python-jose
+, httmock
+}:
+
+buildPythonPackage rec {
+  pname = "python-keycloak";
+  version = "0.27.0";
+
+  src = fetchFromGitHub {
+    owner = "marcospereirampj";
+    repo = "python-keycloak";
+    rev = version;
+    sha256 = "sha256-XCOfzzUs0K5/peprgpEXY2pX6wYOF7hg9ec1XPEYHCI=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    python-jose
+  ];
+
+  checkInputs = [
+    httmock
+  ];
+
+  checkPhase = ''
+    python -m unittest discover
+  '';
+
+  pythonImportsCheck = [ "keycloak" ];
+
+  meta = with lib; {
+    description = "Provides access to the Keycloak API";
+    homepage = "https://github.com/marcospereirampj/python-keycloak";
+    license = licenses.mit;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix
index 8bf7ac5619a4..c9161e17e305 100644
--- a/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "python-keystoneclient";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd09b7790ce53c20dc94318ec4d76e1cf71908aed59baeb4c7a61c17afd3aad5";
+    sha256 = "fc17ca9a1aa493104b496ba347f12507f271b5b6e819f4de4aef6574918aa071";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-louvain/default.nix b/nixpkgs/pkgs/development/python-modules/python-louvain/default.nix
index 6d22c1fd845a..262370f6109d 100644
--- a/nixpkgs/pkgs/development/python-modules/python-louvain/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-louvain/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "python-louvain";
-  version = "0.15";
+  version = "0.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-KoVu374plSpgpVOKhLt4zKGPaISoi5Ml6FoRyN1JF+s=";
+    sha256 = "sha256-t7ot9QAv0o0+54mklTK6rRH+ZI5PIRfPB5jnUgodpWs=";
   };
 
   propagatedBuildInputs = [ networkx numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-black/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-black/default.nix
index bd557c402ffb..dbd51166a22c 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-black/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-black/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-black";
-  version = "1.0.1";
+  version = "1.1.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = "python-lsp-black";
     rev = "v${version}";
-    sha256 = "03k32m4jfqfzrawj69yxhk9kwzsdcwginip77kxdbra2xwgqfc3w";
+    sha256 = "sha256-WIQf1oz3b1PLIcXfQsu4hQ58nfp7l3J7zkcWNT6RbUY=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
index b000379dd1bb..313524351658 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -20,6 +20,7 @@
 , pythonOlder
 , rope
 , setuptools
+, stdenv
 , ujson
 , yapf
 , withAutopep8 ? true
@@ -73,14 +74,17 @@ buildPythonPackage rec {
     matplotlib
     numpy
     pandas
-    pyqt5
     pytestCheckHook
-  ];
+  ]
+  # pyqt5 is broken on aarch64-darwin
+  ++ lib.optionals (!stdenv.isDarwin || !stdenv.isAarch64) [ pyqt5 ];
 
   disabledTests = [
     # pytlint output changed
     "test_lint_free_pylint"
-  ] ++ lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config";
+  ] ++ lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config"
+  # pyqt5 is broken on aarch64-darwin
+  ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "test_pyqt_completion";
 
   disabledTestPaths = lib.optional (!withAutopep8) "test/plugins/test_autopep8_format.py"
     ++ lib.optional (!withRope) "test/plugins/test_completion.py"
diff --git a/nixpkgs/pkgs/development/python-modules/python-magic/default.nix b/nixpkgs/pkgs/development/python-modules/python-magic/default.nix
index d8a0f638d968..381ea6713848 100644
--- a/nixpkgs/pkgs/development/python-modules/python-magic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix
index aea8b6dab303..a2da2e4f4a76 100644
--- a/nixpkgs/pkgs/development/python-modules/python-manilaclient/default.nix
+++ b/nixpkgs/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
@@ -18,13 +22,20 @@
 
 buildPythonApplication rec {
   pname = "python-manilaclient";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d53f69238cdc454c0297f513e0b481a039d0bac723990ebd5ab9d3d29633956e";
+    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/nixpkgs/pkgs/development/python-modules/python-miio/default.nix b/nixpkgs/pkgs/development/python-modules/python-miio/default.nix
index 46900dd80e3d..4095ff9285c4 100644
--- a/nixpkgs/pkgs/development/python-modules/python-miio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-miio/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, poetry
+, poetry-core
 , click
 , cryptography
 , construct
@@ -24,25 +24,18 @@
 
 buildPythonPackage rec {
   pname = "python-miio";
-  version = "0.5.8";
-  disabled = pythonOlder "3.6";
+  version = "0.5.10";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-16XEah5rgem/L8A/zo1zPrifrU15VMk652rFLZcvjig=";
+    sha256 = "sha256-6iV+uIdVi0Z3FeM9xnp1Ss3VzFVEOm7wykxjSTXUIGM=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'click = "^7"' 'click = "*"' \
-      --replace 'croniter = "^0"' 'croniter = "*"' \
-      --replace 'cryptography = "^3"' 'cryptography = "*"' \
-      --replace 'defusedxml = "^0.6"' 'defusedxml = "*"'
-  '';
-
   nativeBuildInputs = [
-    poetry
+    poetry-core
   ];
 
   propagatedBuildInputs = [
@@ -59,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/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix b/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
index ccac3e8b3cb2..3bf07bd1d509 100644
--- a/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
@@ -1,8 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
-, pytest-cov
+, pytestCheckHook
 , mock
 , pyyaml
 , six
@@ -11,31 +10,37 @@
 buildPythonPackage rec {
   pname = "python-multipart";
   version = "0.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43";
   };
 
-  checkInputs = [
-    pytest
-    pytest-cov
-    mock
-    pyyaml
-  ];
-
   propagatedBuildInputs = [
     six
   ];
 
-  checkPhase = ''
-    pytest
+  pythonImportsCheck = [
+    "multipart"
+  ];
+
+  preCheck = ''
+    # https://github.com/andrew-d/python-multipart/issues/41
+    substituteInPlace multipart/tests/test_multipart.py \
+      --replace "yaml.load" "yaml.safe_load"
   '';
 
+  checkInputs = [
+    pytestCheckHook
+    mock
+    pyyaml
+  ];
+
   meta = with lib; {
     description = "A streaming multipart parser for Python";
     homepage = "https://github.com/andrew-d/python-multipart";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-nest/default.nix b/nixpkgs/pkgs/development/python-modules/python-nest/default.nix
index 8caa61517c6f..1cbdd2837a72 100644
--- a/nixpkgs/pkgs/development/python-modules/python-nest/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-openstackclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-openstackclient/default.nix
index 8e446d6b9909..05efc97b6448 100644
--- a/nixpkgs/pkgs/development/python-modules/python-openstackclient/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix b/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
index 0655d29f6af7..35d11e981e4d 100644
--- a/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix b/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
index 335a085277a0..58d6a1e72f55 100644
--- a/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix b/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix
index dc266e0e2075..4f484a845402 100644
--- a/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-smarttub";
-  version = "0.0.28";
+  version = "0.0.29";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mdz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dAwOi1hhjGhBGKEp5u3qW5WL1GLHBFac0drIc1Zk6ok=";
+    sha256 = "sha256-utUpNuemyS8XEVhfhLgOwTRkPFqCBXyK1s1LWemywmU=";
   };
 
   propagatedBuildInputs = [
@@ -38,6 +38,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pyjwt~=2.1.0" "pyjwt>=2.1.0"
+  '';
+
   pythonImportsCheck = [
     "smarttub"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-snap7/default.nix b/nixpkgs/pkgs/development/python-modules/python-snap7/default.nix
index b494d2e442e6..0d34262ea3bb 100644
--- a/nixpkgs/pkgs/development/python-modules/python-snap7/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
index 635f9cd13daf..e41942317f99 100644
--- a/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "5.5.0";
+  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-K5rs3UEGN1BvWDDfJE9/dPDLsZ4EGSsEf6PXodvc2Bg=";
+    sha256 = "sha256-ZTjh9gtnJwFG2qWH6FBrvLHKsEuTjkcKL6j6Mdos6zo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-socks/default.nix b/nixpkgs/pkgs/development/python-modules/python-socks/default.nix
index e6c2d016bb09..5254a6cbab25 100644
--- a/nixpkgs/pkgs/development/python-modules/python-socks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix b/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix
index ba17dd81166d..715bf164a4b3 100644
--- a/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
index 382eb3c5a314..8d6ab3aeecd3 100644
--- a/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "python-telegram-bot";
-  version = "13.8.1";
+  version = "13.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-sGaR5Vw1lDJn7mNtmqcCs1eRVdLzLg4tbX8R8LXnJ/A=";
+    sha256 = "sha256-uu/3BLqirD3BepRMAtqIgiitJY6Jvi5by9E6ilEC1XM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-utils/default.nix b/nixpkgs/pkgs/development/python-modules/python-utils/default.nix
index d79f357e50e1..3a47e107df6e 100644
--- a/nixpkgs/pkgs/development/python-modules/python-utils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix b/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
index fbd37155cdb7..3aa139b64b0c 100644
--- a/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pythondialog/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pythondialog";
-  version = "3.5.2";
+  version = "3.5.3";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4fc11e95540d1d5dbe0a60cd3fb7787354df85ee4b5da21f708ea46cb47bf6d6";
+    sha256 = "b2a34a8af0a6625ccbdf45cd343b854fc6c1a85231dadc80b8805db836756323";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pythonfinder/default.nix b/nixpkgs/pkgs/development/python-modules/pythonfinder/default.nix
new file mode 100644
index 000000000000..bf9cb69721c4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pythonfinder/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+, attrs
+, cached-property
+, click
+, six
+, packaging
+, pytest-cov
+, pytest-timeout
+}:
+
+buildPythonPackage rec {
+  pname = "pythonfinder";
+  version = "1.2.9";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "sarugaku";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-tPMqVKbYwBRvb8/GyYNxO8lwJLcUUQyRoCoF5tg6rxs=";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    cached-property
+    click
+    six
+    packaging
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-cov
+    pytest-timeout
+  ];
+
+  pytestFlagsArray = [ "--no-cov" ];
+
+  # these tests invoke git in a subprocess and
+  # for some reason git can't be found even if included in checkInputs
+  disabledTests = [
+    "test_shims_are_kept"
+    "test_shims_are_removed"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/sarugaku/pythonfinder";
+    description = "Cross Platform Search Tool for Finding Pythons";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix b/nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix
index 9039c52a8a42..8a9433ec898f 100644
--- a/nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytibber/default.nix b/nixpkgs/pkgs/development/python-modules/pytibber/default.nix
index fbfd0ba030cf..e2c788f1b3eb 100644
--- a/nixpkgs/pkgs/development/python-modules/pytibber/default.nix
+++ b/nixpkgs/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.21.6";
+  version = "0.22.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pyTibber";
     rev = version;
-    hash = "sha256-zgiUXGso3bQ3pCD7r+VYHGBIihPwSfHibS2OZvPUb3Q=";
+    hash = "sha256-kzKY9ixsAkfee5En0IzYl5izeXq3xY/8bc5Kz/qkE7U=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +34,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    pytest-asyncio
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytile/default.nix b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
index 1673688657cc..a94201b037d4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "pytile";
-  version = "2021.12.0";
+  version = "2022.02.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-a76Qzk8ZsoV6HUOcDjMdnFVZJu/iKFbShoC9OZ0caDc=";
+    sha256 = "sha256-IGjM9yU/3EjO9sV1ZZUX7RUL/a6CcMPzANhVMTcbZGU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix
index 63991752a8ac..de75aa0ae8fb 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix
index 0c1ca751eb13..e9728b3d676c 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
new file mode 100644
index 000000000000..46bd35b9cfb8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytorch/bin.nix b/nixpkgs/pkgs/development/python-modules/pytorch/bin.nix
index f570a0a5c95a..df3e5da4c5ab 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch/bin.nix
@@ -11,6 +11,7 @@
 , patchelf
 , pyyaml
 , requests
+, setuptools
 , typing-extensions
 }:
 
@@ -41,6 +42,7 @@ in buildPythonPackage {
     numpy
     pyyaml
     requests
+    setuptools
     typing-extensions
   ];
 
@@ -72,7 +74,7 @@ in buildPythonPackage {
     # https://docs.nvidia.com/cuda/eula/index.html
     # https://www.intel.com/content/www/us/en/developer/articles/license/onemkl-license-faq.html
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ junjihashimoto ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch/binary-hashes.nix b/nixpkgs/pkgs/development/python-modules/pytorch/binary-hashes.nix
index dd3e5dc1ae3e..61f1e59d09e8 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch/binary-hashes.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch/binary-hashes.nix
@@ -22,5 +22,30 @@ version : builtins.getAttr version {
       url = "https://download.pytorch.org/whl/cu113/torch-1.10.0%2Bcu113-cp39-cp39-linux_x86_64.whl";
       hash = "sha256-w8UJDh4b5cgDu7ZSvDoKzNH4hiXEyRfvpycNOg+wJOg=";
     };
+    x86_64-darwin-37 = {
+      name = "torch-1.10.0-cp37-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp37-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-RJkFVUcIfX736KdU8JwsTxRwKXrj5UkDY9umbHVQGyE=";
+    };
+    x86_64-darwin-38 = {
+      name = "torch-1.10.0-cp38-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp38-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-rvevti6bF0tODl4eSkLjurO4SQpmjWZvYvfUUXVZ+/I=";
+    };
+    x86_64-darwin-39 = {
+      name = "torch-1.10.0-cp39-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp39-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-1u+HRwtE35lw6EVCVH1bp3ILuJYWYCRB31VaObEk4rw=";
+    };
+    aarch64-darwin-38 = {
+      name = "torch-1.10.0-cp38-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp38-none-macosx_11_0_arm64.whl";
+      hash = "sha256-1hhYJ7KFeAZTzdgdd6Cf3KdqWxkNWYbVUr4qXEQs+qQ=";
+    };
+    aarch64-darwin-39 = {
+      name = "torch-1.10.0-cp39-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp39-none-macosx_11_0_arm64.whl";
+      hash = "sha256-7qZ17AHsS0oGVf0phPFmpco7kz2uatTrTlLrpwJtwXY=";
+    };
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
index 564087769acd..c370eaf6a942 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytradfri/default.nix b/nixpkgs/pkgs/development/python-modules/pytradfri/default.nix
index 3e50debd835c..e1c74b084613 100644
--- a/nixpkgs/pkgs/development/python-modules/pytradfri/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytradfri/default.nix
@@ -9,15 +9,16 @@
 
 buildPythonPackage rec {
   pname = "pytradfri";
-  version = "8.0.0";
+  version = "9.0.0";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = "pytradfri";
     rev = version;
-    hash = "sha256-YnQUZcqSldtRqzMac5sPoSNDT+ifs3Jqek2CoDeobe8=";
+    hash = "sha256-12ol+2CnoPfkxmDGJJAkoafHGpQuWC4lh0N7lSvx2DE=";
   };
 
   propagatedBuildInputs = [
@@ -29,7 +30,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pytradfri" ];
+  pythonImportsCheck = [
+    "pytradfri"
+  ];
 
   meta = with lib; {
     description = "Python package to communicate with the IKEA Trådfri ZigBee Gateway";
diff --git a/nixpkgs/pkgs/development/python-modules/pytrends/default.nix b/nixpkgs/pkgs/development/python-modules/pytrends/default.nix
index 20dbe0ba31c9..9156db165f41 100644
--- a/nixpkgs/pkgs/development/python-modules/pytrends/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytrends/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "pytrends";
-  version = "4.7.3";
+  version = "4.8.0";
   disabled = isPy27; # python2 pandas is too old
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8ccb06c57c31fa157b978a0d810de7718ee46583d28cf818250d45f36abd2faa";
+    sha256 = "sha256-BLezPrbfwSCqictGQGiKi2MzNydrbdzqRP8Mf2tiQ9I=";
   };
 
   propagatedBuildInputs = [ requests lxml pandas ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix b/nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix
index a357e45a5faf..6fb7d5d47283 100644
--- a/nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pyturbojpeg";
-  version = "1.6.3";
+  version = "1.6.5";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "PyTurboJPEG";
     inherit version;
-    sha256 = "sha256-5g9MQB7vpeuorVGExt0scHtLdrWlkuLOZMT38FhAsi4=";
+    hash = "sha256-l3eeD/WGiqVQ2E92WBV8eTRPVdtUnP7wP4brE8PPTkw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix b/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix
index ffa3a5302ae5..9ab48ebf59d4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix b/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix
index 3877db3254b7..2d738b8757b6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyutilib/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pyutilib";
-  version = "5.7.2";
+  version = "6.0.0";
 
   src = fetchPypi {
     pname = "PyUtilib";
     inherit version;
-    sha256 = "0bdb5hlj6kyb9m3xnpxzasfv5psnxfj21qx6md8ym8zkcqyq1qs5";
+    sha256 = "sha256-08FPjtkCioMbK/Ubird3brqH5mz8WKBrmcNZqqZA8EA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvera/default.nix b/nixpkgs/pkgs/development/python-modules/pyvera/default.nix
index 70392eda7b1d..9a8ef3043abe 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvera/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyvesync/default.nix b/nixpkgs/pkgs/development/python-modules/pyvesync/default.nix
index 50a412768c06..1cd6de8ef41b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvesync/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index 211ba18ae612..595b4c357375 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
@@ -7,23 +7,21 @@
 , fetchPypi
 , future
 , pycparser
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.1.10913";
+  version = "9.1.11752";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-EUgCyjD5ia5KQMvZWVAsXeKRjmSVE7tRRYH5u/Ozug0=";
+    hash = "sha256-DI+Jc5MtDd2XXfjIDtPd8qt4/eQ/3nwbDUqWE2haUhM=";
   };
 
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace vex/Makefile-gcc --replace '/usr/bin/ar' 'ar'
-  '';
-
-  setupPyBuildFlags = lib.optionals stdenv.isLinux [ "--plat-name" "linux" ];
-
   propagatedBuildInputs = [
     archinfo
     bitstring
@@ -32,15 +30,29 @@ buildPythonPackage rec {
     pycparser
   ];
 
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace vex/Makefile-gcc \
+      --replace '/usr/bin/ar' 'ar'
+  '';
+
+  setupPyBuildFlags = lib.optionals stdenv.isLinux [
+    "--plat-name"
+    "linux"
+  ];
+
   preBuild = ''
     export CC=${stdenv.cc.targetPrefix}cc
-    substituteInPlace pyvex_c/Makefile --replace 'AR=ar' 'AR=${stdenv.cc.targetPrefix}ar'
+    substituteInPlace pyvex_c/Makefile \
+      --replace 'AR=ar' 'AR=${stdenv.cc.targetPrefix}ar'
   '';
 
   # No tests are available on PyPI, GitHub release has tests
   # Switch to GitHub release after all angr parts are present
   doCheck = false;
-  pythonImportsCheck = [ "pyvex" ];
+
+  pythonImportsCheck = [
+    "pyvex"
+  ];
 
   meta = with lib; {
     description = "Python interface to libVEX and VEX IR";
diff --git a/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix b/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
index a47a46c338a3..bd3daf7bfb0e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyvlx/default.nix b/nixpkgs/pkgs/development/python-modules/pyvlx/default.nix
index 1a78aefa6daf..10e07f4e22ab 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvlx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pywayland/default.nix b/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
index faec2c202632..5be704233909 100644
--- a/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pywayland";
-  version = "0.4.7";
+  version = "0.4.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0IMNOPTmY22JCHccIVuZxDhVr41cDcKNkx8bp+5h2CU=";
+    sha256 = "coUNrPcHLBDamgKiZ08ysg2maQ2wLRSijfNRblKMIZk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/pywbem/default.nix b/nixpkgs/pkgs/development/python-modules/pywbem/default.nix
index 3e1f37d26b06..db7bd82b652b 100644
--- a/nixpkgs/pkgs/development/python-modules/pywbem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywbem/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pywbem";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5df0af28f81891a3914a12f3a30b11b1981f7b30e09c5a42c011797e7fce9b6a";
+    sha256 = "52f668f7ee1f03bdd80485692b648588b3e1909e2dc0754dceca497f5e9cf059";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyweatherflowrest/default.nix b/nixpkgs/pkgs/development/python-modules/pyweatherflowrest/default.nix
index 32a5c5d8abc3..a36f3a2ccfc2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyweatherflowrest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyweatherflowrest/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyweatherflowrest";
-  version = "1.0.7";
+  version = "1.0.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "briis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "17zas565jqvp0qrs8l589rm4f9xpyynhqk8lrqcx089w3rv0hh2p";
+    sha256 = "1swyqdnvhwaigqhjn5a22gi8if4bl8alfrigln4qa0jl9z03kg09";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywemo/default.nix b/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
index 1e2f8db96cd8..15545acf2f63 100644
--- a/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pywilight/default.nix b/nixpkgs/pkgs/development/python-modules/pywilight/default.nix
index 43c50fa8cf2d..923e4b9a2809 100644
--- a/nixpkgs/pkgs/development/python-modules/pywilight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywilight/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pywilight";
-  version = "0.0.73";
+  version = "0.0.74";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8AYzAePLqCiz/EN6cJShGnrISijBpFHAU/u355f5IjY=";
+    sha256 = "sha256-patCdQ7qLEfy+RpH9T/Fa8ubI7QF6OmLzFUokZc5syQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywizlight/default.nix b/nixpkgs/pkgs/development/python-modules/pywizlight/default.nix
index 16a72550ffd0..cff482c1f6c5 100644
--- a/nixpkgs/pkgs/development/python-modules/pywizlight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywizlight/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pywizlight";
-  version = "0.4.16";
+  version = "0.5.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sbidy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Da5hkmzGJtfqiDPV9X02opv54Ry6sGiSbDnej9a2QDA=";
+    sha256 = "sha256-1clvZyuRFS9URftjz0YDDAqR3FlBLTpTQJg4LjBME/8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix b/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
index a35132ade3f6..5cf52185bcaf 100644
--- a/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
@@ -12,21 +12,22 @@
 , wayland
 , pywayland
 , xkbcommon
+, xorg
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pywlroots";
-  version = "0.14.11";
+  version = "0.15.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "Ey1B3tx6UufxZs8I64vaoPSNC+4LGdcPuyKrLBHxZa8=";
+    sha256 = "V6P5zAvr0L7p+yEjr6To2rKoMPqxIvSPrlLzf6yj3WA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   propagatedNativeBuildInputs = [ cffi ];
-  buildInputs = [ libinput libxkbcommon pixman udev wayland wlroots ];
+  buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots ];
   propagatedBuildInputs = [ cffi pywayland xkbcommon ];
   checkInputs = [ pytestCheckHook ];
 
@@ -40,6 +41,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/flacjacket/pywlroots";
     description = "Python bindings to wlroots using cffi";
     license = licenses.ncsa;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ chvp ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix b/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
index 10073176aeb4..2c0e893b9c50 100644
--- a/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
@@ -1,32 +1,32 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , cython
 , libyaml
-, isPy27
 , python
 }:
 
 buildPythonPackage rec {
   pname = "PyYAML";
-  version = "5.4.1.1";
+  version = "6.0";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "yaml";
     repo = "pyyaml";
     rev = version;
-    sha256 = "1v386gzdvsjg0mgix6v03rd0cgs9dl81qvn3m547849jm8r41dx8";
+    sha256 = "sha256-wcII32mRgRRmAgojntyxBMQkjvxU2jylCgVzlHAj2Xc=";
   };
 
   nativeBuildInputs = [ cython ];
 
   buildInputs = [ libyaml ];
 
-  checkPhase = let
-    testdir = if isPy27 then "tests/lib" else "tests/lib3";
-  in ''
+  checkPhase = ''
     runHook preCheck
-    PYTHONPATH="${testdir}:$PYTHONPATH" ${python.interpreter} -m test_all
+    PYTHONPATH="tests/lib:$PYTHONPATH" ${python.interpreter} -m test_all
     runHook postCheck
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/qcengine/default.nix b/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
index 29fffb1473be..ea5325ea660c 100644
--- a/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "qcengine";
-  version = "0.21.0";
+  version = "0.22.0";
 
   checkInputs = [ pytestCheckHook ];
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ZsPKvbaZ7BBZuOmzq12ism/HyWYcLlQHgZaTzmIsMq4=";
+    sha256 = "685a08247b561ed1c7a7b42e68293f90b412e83556626304a3f826a15be51308";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix b/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
index 7e961b8a233d..41412e16f8fc 100644
--- a/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -1,9 +1,11 @@
 { lib
 , attrs
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, fetchpatch
 , httpx
 , iso8601
+, poetry-core
 , pydantic
 , pyjwt
 , pytest-asyncio
@@ -18,16 +20,22 @@
 
 buildPythonPackage rec {
   pname = "qcs-api-client";
-  version = "0.20.5";
-  format = "setuptools";
+  version = "0.20.10";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-nSkCARZk6K5JMgiXunRBrb3pn5Ti6f493OOFzJYaW0M=";
+  src = fetchFromGitHub {
+    owner = "rigetti";
+    repo = "qcs-api-client-python";
+    rev = "v${version}";
+    hash = "sha256-pBC8pFrk6iNYPS3/LKaVo+ds2okN56bxzvffEfs6SrU=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     attrs
     httpx
@@ -46,15 +54,28 @@ buildPythonPackage rec {
     respx
   ];
 
+  patches = [
+    # Switch to poetry-core, https://github.com/rigetti/qcs-api-client-python/pull/2
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/rigetti/qcs-api-client-python/commit/32f0b3c7070a65f4edf5b2552648d88435469e44.patch";
+      sha256 = "sha256-mOc+Q/5cmwPziojtxeEMWWHSDvqvzZlNRbPtOSeTinQ=";
+    })
+  ];
+
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace "attrs>=20.1.0,<21.0.0" "attrs" \
-      --replace "httpx>=0.15.0,<0.16.0" "httpx" \
-      --replace "pyjwt>=1.7.1,<2.0.0" "pyjwt"
+    substituteInPlace pyproject.toml \
+      --replace 'attrs = "^20.1.0"' 'attrs = "*"' \
+      --replace 'httpx = "^0.15.0"' 'httpx = "*"' \
+      --replace 'iso8601 = "^0.1.13"' 'iso8601 = "*"' \
+      --replace 'pydantic = "^1.7.2"' 'pydantic = "*"' \
+      --replace 'pyjwt = "^1.7.1"' 'pyjwt = "*"'
   '';
 
-  # Project has no tests
-  doCheck = false;
+  disabledTestPaths = [
+    # Test is outdated
+    "tests/test_client/test_client.py"
+  ];
 
   pythonImportsCheck = [
     "qcs_api_client"
diff --git a/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix b/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
index 6b9b94b603f4..6e3b6064fcb7 100644
--- a/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiling/default.nix b/nixpkgs/pkgs/development/python-modules/qiling/default.nix
index 3576f5b73660..51c762c81075 100644
--- a/nixpkgs/pkgs/development/python-modules/qiling/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix
index b2e708d586f7..d7b195f1debf 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit-aqua/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-aqua/default.nix
deleted file mode 100644
index 88365e0f8b70..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit-finance/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-finance/default.nix
index d4eaa58e7af9..05676a60f124 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-finance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit-finance/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-finance";
-  version = "0.2.1";
+  version = "0.3.0";
 
   disabled = pythonOlder "3.6";
 
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fEhc/01j6iYYwS6mLle+TpX9j0DVn12oPUFamEecoAY=";
+    sha256 = "1wpx519apnpp25yiq20warg4q8yv09x8fk0m8b9kyp199x86iffp";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
index 5b304bf38984..0c8f74cf66dd 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit-ignis/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-ignis/default.nix
index f7ebbee39f80..a8f45b73e490 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-ignis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix
index a2006079c195..511bc0b2a0be 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix
index 09941fcdd448..2693daa6ead0 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit-optimization/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-optimization/default.nix
index 5d9ae3d4375f..b1ce0561dc4b 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-optimization/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit-optimization/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-optimization";
-  version = "0.2.3";
+  version = "0.3.0";
 
   disabled = pythonOlder "3.6";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-y/j/cerzMAKVjehh1LUqYe1Juoa4lIxH2qS165S9img=";
+    sha256 = "18qs0m21j73fjawq3pxz5q5c0g2wgqgicy7p4a57lialpv6vrmc0";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix
index da31f86500fb..1a5aa516c52d 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qiskit/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit/default.nix
index 9d050606006c..aa81ba00a8ca 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qscintilla-qt4/default.nix b/nixpkgs/pkgs/development/python-modules/qscintilla-qt4/default.nix
new file mode 100644
index 000000000000..a356bfddb934
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/qscintilla-qt4/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, isPy3k
+, isPyPy
+, pkgs
+, python
+, pyqt4
+}:
+
+buildPythonPackage {
+  pname = "qscintilla-qt4";
+  version = pkgs.qscintilla-qt4.version;
+  format = "other";
+
+  disabled = isPyPy;
+
+  src = pkgs.qscintilla-qt4.src;
+
+  nativeBuildInputs = [ pkgs.xorg.lndir ];
+
+  buildInputs = [ pyqt4.qt pyqt4 ];
+
+  preConfigure = ''
+    mkdir -p $out
+    lndir ${pyqt4} $out
+    rm -rf "$out/nix-support"
+    cd Python
+    ${python.executable} ./configure-old.py \
+        --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \
+        --apidir $out/api/${python.libPrefix} \
+        -n ${pkgs.qscintilla-qt4}/include \
+        -o ${pkgs.qscintilla-qt4}/lib \
+        --sipdir $out/share/sip
+  '';
+
+  meta = with lib; {
+    description = "A Python binding to QScintilla, Qt based text editing control";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ danbst ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix b/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix
index 70ee43089134..3e43b0d069ca 100644
--- a/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qscintilla-qt5/default.nix
@@ -2,51 +2,53 @@
 , pythonPackages
 , qscintilla
 , qtbase
+, qmake
+, qtmacextras
+, stdenv
 }:
 
 let
-  inherit (pythonPackages) buildPythonPackage isPy3k python sip_4 pyqt5;
+  inherit (pythonPackages) buildPythonPackage isPy3k python sip sipbuild pyqt5 pyqt-builder;
 in buildPythonPackage rec {
-  pname = "qscintilla";
+  pname = "qscintilla-qt5";
   version = qscintilla.version;
   src = qscintilla.src;
-  format = "other";
+  format = "pyproject";
 
   disabled = !isPy3k;
 
-  nativeBuildInputs = [ sip_4 qtbase ];
-  buildInputs = [ qscintilla ];
-  propagatedBuildInputs = [ pyqt5 ];
+  nativeBuildInputs = [ sip qmake pyqt-builder qscintilla ];
+  buildInputs = [ qtbase ];
+  propagatedBuildInputs = [ pyqt5 ] ++ lib.optionals stdenv.isDarwin [ qtmacextras ];
 
   dontWrapQtApps = true;
 
   postPatch = ''
-    substituteInPlace Python/configure.py \
+    cd Python
+    cp pyproject-qt5.toml pyproject.toml
+    echo '[tool.sip.project]' >> pyproject.toml
+    echo 'sip-include-dirs = [ "${pyqt5}/${python.sitePackages}/PyQt5/bindings"]' \
+       >> pyproject.toml
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace project.py \
       --replace \
-      "target_config.py_module_dir" \
-      "'$out/${python.sitePackages}'"
-  '';
+      "if self.project.qsci_external_lib:
+                if self.qsci_features_dir is not None:" \
+      "if self.project.qsci_external_lib:
+                self.builder_settings.append('QT += widgets')
 
-  preConfigure = ''
-    # configure.py will look for this folder
-    mkdir -p $out/share/sip/PyQt5
+                self.builder_settings.append('QT += printsupport')
 
-    cd Python
-    substituteInPlace configure.py \
-      --replace "qmake = {'CONFIG': 'qscintilla2'}" "qmake = {'CONFIG': 'qscintilla2', 'QT': 'widgets printsupport'}"
-    ${python.executable} ./configure.py \
-      --pyqt=PyQt5 \
-      --destdir=$out/${python.sitePackages}/PyQt5 \
-      --stubsdir=$out/${python.sitePackages}/PyQt5 \
-      --apidir=$out/api/${python.libPrefix} \
-      --qsci-incdir=${qscintilla}/include \
-      --qsci-featuresdir=${qscintilla}/mkspecs/features \
-      --qsci-libdir=${qscintilla}/lib \
-      --pyqt-sipdir=${pyqt5}/${python.sitePackages}/PyQt5/bindings \
-      --qsci-sipdir=$out/share/sip/PyQt5 \
-      --sip-incdir=${sip_4}/include
+                if self.qsci_features_dir is not None:"
   '';
 
+  dontConfigure = true;
+
+  build = ''
+    sip-install --qsci-features-dir ${qscintilla}/mkspecs/features \
+    --qsci-include-dir ${qscintilla}/include \
+    --qsci-library-dir ${qscintilla}/lib --api-dir ${qscintilla}/share";
+  '';
   postInstall = ''
     # Needed by pythonImportsCheck to find the module
     export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
diff --git a/nixpkgs/pkgs/development/python-modules/qscintilla/default.nix b/nixpkgs/pkgs/development/python-modules/qscintilla/default.nix
deleted file mode 100644
index 24719de779eb..000000000000
--- a/nixpkgs/pkgs/development/python-modules/qscintilla/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, buildPythonPackage
-, disabledIf
-, isPy3k
-, isPyPy
-, pkgs
-, python
-, pyqt4
-}:
-
-disabledIf (isPy3k || isPyPy)
-  (buildPythonPackage {
-    # TODO: Qt5 support
-    pname = "qscintilla";
-    version = pkgs.qscintilla.version;
-    format = "other";
-
-    src = pkgs.qscintilla.src;
-
-    nativeBuildInputs = [ pkgs.xorg.lndir ];
-
-    buildInputs = [ pyqt4.qt pyqt4 ];
-
-    preConfigure = ''
-      mkdir -p $out
-      lndir ${pyqt4} $out
-      rm -rf "$out/nix-support"
-      cd Python
-      ${python.executable} ./configure-old.py \
-          --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \
-          --apidir $out/api/${python.libPrefix} \
-          -n ${pkgs.qscintilla}/include \
-          -o ${pkgs.qscintilla}/lib \
-          --sipdir $out/share/sip
-    '';
-
-    meta = with lib; {
-      description = "A Python binding to QScintilla, Qt based text editing control";
-      license = licenses.lgpl21Plus;
-      maintainers = with maintainers; [ danbst ];
-      platforms = platforms.unix;
-    };
-  })
diff --git a/nixpkgs/pkgs/development/python-modules/qt5reactor/default.nix b/nixpkgs/pkgs/development/python-modules/qt5reactor/default.nix
new file mode 100644
index 000000000000..a85f2ad6892a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/qt5reactor/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyqt5
+, twisted
+, pytest-twisted
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "qt5reactor";
+  version = "0.6.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c3470a8a25d9a339f9ca6243502a9b2277f181d772b7acbff551d5bc363b7572";
+  };
+
+  propagatedBuildInputs = [
+    pyqt5
+    twisted
+  ];
+
+  checkInputs = [
+    pytest-twisted
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "qt5reactor" ];
+
+  meta = with lib; {
+    description = "Twisted Qt Integration";
+    homepage = "https://github.com/twisted/qt5reactor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qtpy/default.nix b/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
index ef981f19c664..5c4984ca3f81 100644
--- a/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
+++ b/nixpkgs/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.2";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6e4ae3a41f1fcb19762b58f35ad6dd443b4bdc867a4cb81ef10ccd85403c92b";
+    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/nixpkgs/pkgs/development/python-modules/quamash/default.nix b/nixpkgs/pkgs/development/python-modules/quamash/default.nix
index ed52c191c227..54df9bebb57c 100644
--- a/nixpkgs/pkgs/development/python-modules/quamash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quamash/default.nix
@@ -1,4 +1,7 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytest, isPy3k, pyqt5, pyqt ? pyqt5 }:
+{ lib, buildPythonPackage, fetchFromGitHub
+, pytest, isPy3k, pyqt5, pyqt ? pyqt5
+, fetchpatch
+}:
 
 buildPythonPackage rec {
   pname = "quamash";
@@ -14,6 +17,14 @@ buildPythonPackage rec {
     sha256 = "117rp9r4lz0kfz4dmmpa35hp6nhbh6b4xq0jmgvqm68g9hwdxmqa";
   };
 
+  patches = [
+    # add 3.10 compatibility, merged remove on next update
+    (fetchpatch {
+      url = "https://github.com/harvimt/quamash/pull/126/commits/1e9047bec739dbc9d6ab337fc1a111a8b1090244.patch";
+      sha256 = "sha256-6gomY82AOKkrt32SEBKnRugzhnC5FAyKDs6K5xaxnRM=";
+    })
+  ];
+
   propagatedBuildInputs = [ pyqt ];
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/quandl/default.nix b/nixpkgs/pkgs/development/python-modules/quandl/default.nix
index b378392f7a97..e819cd24e99d 100644
--- a/nixpkgs/pkgs/development/python-modules/quandl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quandl/default.nix
@@ -1,35 +1,37 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, pythonOlder
-# runtime dependencies
-, pandas, numpy, requests, inflection, python-dateutil, six, more-itertools, importlib-metadata
-# test suite dependencies
-, nose, unittest2, flake8, httpretty, mock, jsondate, parameterized, faker, factory_boy
-# additional runtime dependencies are required on Python 2.x
-, pyopenssl, ndg-httpsclient, pyasn1
+{ lib
+, buildPythonPackage
+, factory_boy
+, faker
+, fetchPypi
+, httpretty
+, importlib-metadata
+, inflection
+, jsondate
+, mock
+, more-itertools
+, numpy
+, pandas
+, parameterized
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, requests
+, six
 }:
 
 buildPythonPackage rec {
   pname = "quandl";
-  version = "3.6.1";
-  disabled = !isPy3k;
+  version = "3.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit version;
     pname = "Quandl";
-    sha256 = "0jr69fqxhzdmkfh3fxz0yp2kks2hkmixrscjjf59q2l7irglwhc4";
+    sha256 = "6e0b82fbc7861610b3577c5397277c4220e065eee0fed4e46cd6b6021655b64c";
   };
 
-  checkInputs = [
-    nose
-    unittest2
-    flake8
-    httpretty
-    mock
-    jsondate
-    parameterized
-    faker
-    factory_boy
-  ];
-
   propagatedBuildInputs = [
     pandas
     numpy
@@ -38,15 +40,23 @@ buildPythonPackage rec {
     python-dateutil
     six
     more-itertools
-  ] ++ lib.optionals (!isPy3k) [
-    pyopenssl
-    ndg-httpsclient
-    pyasn1
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
-  pythonImportsCheck = [ "quandl" ];
+  checkInputs = [
+    factory_boy
+    faker
+    httpretty
+    jsondate
+    mock
+    parameterized
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "quandl"
+  ];
 
   meta = with lib; {
     description = "Quandl Python client library";
diff --git a/nixpkgs/pkgs/development/python-modules/quantities/default.nix b/nixpkgs/pkgs/development/python-modules/quantities/default.nix
index 28e08eade43d..48cc70d5f2af 100644
--- a/nixpkgs/pkgs/development/python-modules/quantities/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/qutip/default.nix b/nixpkgs/pkgs/development/python-modules/qutip/default.nix
index 38cf79e19049..8d19e360ca4d 100644
--- a/nixpkgs/pkgs/development/python-modules/qutip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix b/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix
index ac01b853c873..f75e5cc19ee5 100644
--- a/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/railroad-diagrams/default.nix b/nixpkgs/pkgs/development/python-modules/railroad-diagrams/default.nix
new file mode 100644
index 000000000000..57c07e0dc48b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rdflib/default.nix b/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
index 2ffe190a4720..73f170b90b1b 100644
--- a/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/readchar/default.nix b/nixpkgs/pkgs/development/python-modules/readchar/default.nix
index c83a2bba1cd6..81c489bd8c09 100644
--- a/nixpkgs/pkgs/development/python-modules/readchar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix b/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix
index 43d1494a58b0..65ab0cb2682a 100644
--- a/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/readme_renderer/default.nix
@@ -4,7 +4,6 @@
 , cmarkgfm
 , docutils
 , fetchPypi
-, future
 , mock
 , pygments
 , pytestCheckHook
@@ -12,20 +11,22 @@
 }:
 
 buildPythonPackage rec {
-  pname = "readme_renderer";
-  version = "30.0";
+  pname = "readme-renderer";
+  version = "32.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-gplwDXqRDDBAcqdgHq+tpnEqWwEaIBOUF+Gx6fBGRdg=";
+    pname = "readme_renderer";
+    inherit version;
+    sha256 = "sha256-tRK+r6Z5gmDH1a8+Gx8Jfli/zZpXXafE3dXgN0kKW4U=";
   };
 
   propagatedBuildInputs = [
     bleach
     cmarkgfm
     docutils
-    future
     pygments
   ];
 
@@ -34,7 +35,19 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "readme_renderer" ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --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"
+  ];
 
   meta = with lib; {
     description = "Python library for rendering readme descriptions";
diff --git a/nixpkgs/pkgs/development/python-modules/redis/default.nix b/nixpkgs/pkgs/development/python-modules/redis/default.nix
index 35109e836fa4..0731487575b1 100644
--- a/nixpkgs/pkgs/development/python-modules/redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/redis/default.nix
@@ -1,14 +1,49 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+
+# propagates
+, cryptography
+, deprecated
+, hiredis
+, importlib-metadata
+, packaging
+, requests
+}:
 
 buildPythonPackage rec {
   pname = "redis";
-  version = "3.5.3";
+  version = "4.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2";
+    sha256 = "sha256-IfCiO85weQkHbmuizgdsulm/9g0qsily4GR/32IP/kc=";
   };
 
+  propagatedBuildInputs = [
+    cryptography
+    deprecated
+    hiredis
+    packaging
+    requests
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  pythonImportsCheck = [
+    "redis"
+    "redis.client"
+    "redis.cluster"
+    "redis.connection"
+    "redis.exceptions"
+    "redis.sentinel"
+    "redis.utils"
+  ];
+
   # tests require a running redis
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
index 18e9e9e6c1a5..50d29c1923d2 100644
--- a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
@@ -14,15 +14,16 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "2021.10.0";
+  version = "2022.01.0";
   format = "pyproject";
-  disabled = pythonOlder "3.6";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vMXDnnIQiRuyLvem1JKop6FJ0fhwR8xP0276PdZi/QI=";
+    sha256 = "sha256-TPiz3d1GbcIWCKRz3Hq4JU9+df/Fw4dUXQkIM6QO1Fs=";
   };
 
   nativeBuildInputs = [
@@ -42,7 +43,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "regenmaschine" ];
+  disabledTestPaths = [
+    # Examples are prefix with test_
+    "examples/"
+  ];
+
+  pythonImportsCheck = [
+    "regenmaschine"
+  ];
 
   __darwinAllowLocalNetworking = true;
 
diff --git a/nixpkgs/pkgs/development/python-modules/remarshal/default.nix b/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
index 90024e732576..99c868eb0b80 100644
--- a/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
@@ -1,22 +1,54 @@
-{ lib, buildPythonApplication, fetchPypi
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+
+# build deps
+, poetry-core
+
+# propagates
 , cbor2
 , python-dateutil
 , pyyaml
 , tomlkit
 , u-msgpack-python
+
+# tested using
+, pytestCheckHook
 }:
 
 buildPythonApplication rec {
   pname = "remarshal";
   version = "0.14.0";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "16425aa1575a271dd3705d812b06276eeedc3ac557e7fd28e06822ad14cd0667";
+  src = fetchFromGitHub {
+    owner = "dbohdan";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256:nTM3jrPf0kGE15J+ZXBIt2+NGSW2a6VlZCKj70n5kHM=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry.masonry.api" "poetry.core.masonry.api" \
+      --replace 'PyYAML = "^5.3"' 'PyYAML = "*"' \
+      --replace 'tomlkit = "^0.7"' 'tomlkit = "*"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
-    pyyaml cbor2 python-dateutil tomlkit u-msgpack-python
+    cbor2
+    python-dateutil
+    pyyaml
+    tomlkit
+    u-msgpack-python
+  ];
+
+  checkInputs = [
+    pytestCheckHook
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/renault-api/default.nix b/nixpkgs/pkgs/development/python-modules/renault-api/default.nix
index eef2459c259d..8ebf9a2d26ab 100644
--- a/nixpkgs/pkgs/development/python-modules/renault-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/renault-api/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "renault-api";
-  version = "0.1.6";
+  version = "0.1.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "hacf-fr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0v9a8p0ynikqzg7vvinvik5gjvsc5nrfqkq528mhcw7y4hmj8ndm";
+    sha256 = "sha256-gGr9yzcEgcte2uYhHzgmqT80JRJyRia31bK/v+42teU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/reolink/default.nix b/nixpkgs/pkgs/development/python-modules/reolink/default.nix
index 71f94d489aa1..69a1b11fea4c 100644
--- a/nixpkgs/pkgs/development/python-modules/reolink/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/repeated_test/default.nix b/nixpkgs/pkgs/development/python-modules/repeated_test/default.nix
deleted file mode 100644
index 2c51238e19b5..000000000000
--- a/nixpkgs/pkgs/development/python-modules/repeated_test/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, unittest2
-, six
-}:
-
-buildPythonPackage rec {
-  pname = "repeated_test";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "65107444a4945668ab7be6d1a3e1814cee9b2cfc577e7c70381700b11b809d27";
-  };
-
-  buildInputs = [ unittest2 ];
-  propagatedBuildInputs = [ six ];
-
-  meta = with lib; {
-    description = "A quick unittest-compatible framework for repeating a test function over many fixtures";
-    homepage = "https://github.com/epsy/repeated_test";
-    license = licenses.mit;
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/reportlab/default.nix b/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
index de2b799a051b..82d84dc26a97 100644
--- a/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
+++ b/nixpkgs/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.2";
+  version = "3.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0c4b47b012d893b0b9f5703cf6f01b5593714a3fc1e7dc73efbbfe26bb7e16a";
+    sha256 = "d8fe27ad312671c9347cf5997f7c1017833fac17233f33296281ba9fa0de189a";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/repoze_who/default.nix b/nixpkgs/pkgs/development/python-modules/repoze_who/default.nix
index 1b33bb6954bf..47bb842cc875 100644
--- a/nixpkgs/pkgs/development/python-modules/repoze_who/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/repoze_who/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "repoze.who";
-  version = "2.4";
+  version = "2.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf97450de3c8eb5c03b4037be75b018db91befab1094204e452a0b1c0f7a94a6";
+    sha256 = "sha256-ikybkmi0/w7dkG6Xwu7XzoPrn2LkJQv+A7zbum0xojc=";
   };
 
   propagatedBuildInputs = [ zope_interface webob ];
diff --git a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
index f095cf00a28c..adaf824d3d92 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "0.9.0";
+  version = "0.9.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,8 @@ buildPythonPackage rec {
     owner = "reclosedev";
     repo = "requests-cache";
     rev = "v${version}";
-    sha256 = "0gz6fyc6lgbab9k92cihrp3711r1wcp4xhs25qp176zbzgccbj43";
+    sha256 = "sha256-MZ3N0zbo745erF52D6DqOEb4OPpXFwSsemi0z6Do02c=
+";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/requests-file/default.nix b/nixpkgs/pkgs/development/python-modules/requests-file/default.nix
index 374627a1bb9a..d8cd9d81c94d 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-file/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix b/nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix
index 7a27055aba2a..c51e24e0ac9d 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-http-signature/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/requests-kerberos/default.nix b/nixpkgs/pkgs/development/python-modules/requests-kerberos/default.nix
index 17a8191455ae..3a1382061bd7 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-kerberos/default.nix
+++ b/nixpkgs/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.13.0";
+  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 = "0yvfg2cj3d10l8fd8kyal4hmpd7fd1c3bca13cj9ril5l573in76";
+    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/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix b/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
index 3ad219025a92..0417154a4a31 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
@@ -1,38 +1,61 @@
 { lib
+, betamax
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
-, requests
-, betamax
 , mock
-, pytest
 , pyopenssl
+, pytestCheckHook
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "requests-toolbelt";
   version = "0.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0";
+    hash = "sha256-loCJ1FhK1K18FxRU8KXG2sI5celHJSHqO21J1hCqb8A=";
   };
 
-  checkInputs = [ pyopenssl betamax mock pytest ];
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    betamax
+    mock
+    pyopenssl
+    pytestCheckHook
+  ];
+
+  patches = [
+    (fetchpatch {
+      # Fix collections.abc deprecation warning, https://github.com/requests/toolbelt/pull/246
+      name = "fix-collections-abc-deprecation.patch";
+      url = "https://github.com/requests/toolbelt/commit/7188b06330e5260be20bce8cbcf0d5ae44e34eaf.patch";
+      sha256 = "sha256-pRkG77sNglG/KsRX6JaPgk4QxmmSBXypFRp/vNA3ot4=";
+    })
+  ];
+
+  disabledTests = [
+    # https://github.com/requests/toolbelt/issues/306
+    "test_no_content_length_header"
+    "test_read_file"
+    "test_reads_file_from_url_wrapper"
+    "test_x509_der"
+    "test_x509_pem"
+  ];
 
-  checkPhase = ''
-    # disabled tests access the network
-    py.test tests -k "not test_no_content_length_header \
-                  and not test_read_file \
-                  and not test_reads_file_from_url_wrapper \
-                  and not test_x509_der \
-                  and not test_x509_pem"
-  '';
+  pythonImportsCheck = [
+    "requests_toolbelt"
+  ];
 
-  meta = {
-    description = "A toolbelt of useful classes and functions to be used with python-requests";
+  meta = with lib; {
+    description = "Toolbelt of useful classes and functions to be used with requests";
     homepage = "http://toolbelt.rtfd.org";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ matthiasbeyer ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ matthiasbeyer ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix b/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
index 946e406c8bf6..57f4d5787c67 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-unixsocket/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/requests/default.nix b/nixpkgs/pkgs/development/python-modules/requests/default.nix
index 8ba7aef46074..f5b021801f41 100644
--- a/nixpkgs/pkgs/development/python-modules/requests/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/requirements-parser/default.nix b/nixpkgs/pkgs/development/python-modules/requirements-parser/default.nix
index 71cb33560e05..3d51f4741af6 100644
--- a/nixpkgs/pkgs/development/python-modules/requirements-parser/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/resolvelib/default.nix b/nixpkgs/pkgs/development/python-modules/resolvelib/default.nix
index f5c1f4357268..30345ae654e4 100644
--- a/nixpkgs/pkgs/development/python-modules/resolvelib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/responses/default.nix b/nixpkgs/pkgs/development/python-modules/responses/default.nix
index cff31f782c5a..86e37419c72d 100644
--- a/nixpkgs/pkgs/development/python-modules/responses/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/respx/default.nix b/nixpkgs/pkgs/development/python-modules/respx/default.nix
index d085d43008bb..51d88446c0b5 100644
--- a/nixpkgs/pkgs/development/python-modules/respx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/restfly/default.nix b/nixpkgs/pkgs/development/python-modules/restfly/default.nix
index 8b47183dcfd3..d153a5f3c753 100644
--- a/nixpkgs/pkgs/development/python-modules/restfly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/restfly/default.nix
@@ -6,18 +6,22 @@
 , pytest-vcr
 , pytestCheckHook
 , python-box
+, pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "restfly";
-  version = "1.4.4";
+  version = "1.4.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "stevemcgrath";
     repo = pname;
     rev = version;
-    sha256 = "sha256-T5NfG+Vuguh6xZ/Rdx3a1vMDgXPcl/OYhOkxb76yEXg=";
+    hash = "sha256-wWFf8LFZkwzbHX545tA5w2sB3ClL7eFuF+jGX0fSiSc=";
   };
 
   propagatedBuildInputs = [
@@ -37,7 +41,9 @@ buildPythonPackage rec {
     "test_session_ssl_error"
   ];
 
-  pythonImportsCheck = [ "restfly" ];
+  pythonImportsCheck = [
+    "restfly"
+  ];
 
   meta = with lib; {
     description = "Python RESTfly API Library Framework";
diff --git a/nixpkgs/pkgs/development/python-modules/restview/default.nix b/nixpkgs/pkgs/development/python-modules/restview/default.nix
index b25b28eca943..9a4a0f13369e 100644
--- a/nixpkgs/pkgs/development/python-modules/restview/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/restview/default.nix
@@ -5,18 +5,20 @@
 , readme_renderer
 , packaging
 , pygments
-, mock
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "restview";
-  version = "2.9.3";
+  version = "3.0.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WVGqIYLnqao6uQbb0PDTPfj+k+ZjGKholknBIorXTNg=";
+    sha256 = "sha256-K5iWEKrtL9Qtpk9s3FOc8+5wzjcLy6hy23JCGtUV3R4=";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +29,6 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    mock
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/retworkx/default.nix b/nixpkgs/pkgs/development/python-modules/retworkx/default.nix
index f4490c72876d..62b419def880 100644
--- a/nixpkgs/pkgs/development/python-modules/retworkx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rfc3986/default.nix b/nixpkgs/pkgs/development/python-modules/rfc3986/default.nix
index 71a7d0730bdf..f8fcc9aef7ab 100644
--- a/nixpkgs/pkgs/development/python-modules/rfc3986/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rflink/default.nix b/nixpkgs/pkgs/development/python-modules/rflink/default.nix
index 82374a8a0423..c33d44f628fb 100644
--- a/nixpkgs/pkgs/development/python-modules/rflink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rflink/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "rflink";
-  version = "0.0.58";
+  version = "0.0.62";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "aequitas";
     repo = "python-rflink";
     rev = version;
-    sha256 = "1zab55lsw419gg0jfrl69ap6128vbi3wdmg5z7qin65ijpjdhasc";
+    sha256 = "sha256-dEzkYE8xtUzvdsnPaSiQR8960WLOEcr/QhwDiQlobcs=";
   };
 
   propagatedBuildInputs = [
@@ -34,15 +34,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  patches = [
-    # Remove loop, https://github.com/aequitas/python-rflink/pull/61
-    (fetchpatch {
-      name = "remove-loop.patch";
-      url = "https://github.com/aequitas/python-rflink/commit/777e19b5bde3398df5b8f142896c34a01ae18d52.patch";
-      sha256 = "sJmihxY3fNSfZVFhkvQ/+9gysQup/1jklKDMyDDLOs8=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace setup.py \
       --replace "version=version_from_git()" "version='${version}'"
diff --git a/nixpkgs/pkgs/development/python-modules/rich/default.nix b/nixpkgs/pkgs/development/python-modules/rich/default.nix
index 98c26c7a7ff3..f6194970adbd 100644
--- a/nixpkgs/pkgs/development/python-modules/rich/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rich/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "10.14.0";
+  version = "11.0.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "willmcgugan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1j1m1064gmy07ah4crds5sd0k7dcwvf2b1z6rvjfvq4v9fx962qv";
+    sha256 = "0vkwar22rv1j6a3kqj3c016j0vnnha0kwi79fkd90ib1n501m7rn";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/rki-covid-parser/default.nix b/nixpkgs/pkgs/development/python-modules/rki-covid-parser/default.nix
index ec201fcd9f57..83b8d9319f26 100644
--- a/nixpkgs/pkgs/development/python-modules/rki-covid-parser/default.nix
+++ b/nixpkgs/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.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "thebino";
     repo = pname;
     rev = "v${version}";
-    sha256 = "UTLWBbNjvRuBwc5JD8l+izJu5vODLwS16ExdxUPT14A=";
+    sha256 = "sha256-lJFeGg34L+hmH/ZhTx7FGir/9dK/rviaGveOl2HgNlM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rlp/default.nix b/nixpkgs/pkgs/development/python-modules/rlp/default.nix
index eca38c08f014..ec735c057abf 100644
--- a/nixpkgs/pkgs/development/python-modules/rlp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/roboschool/default.nix b/nixpkgs/pkgs/development/python-modules/roboschool/default.nix
deleted file mode 100644
index 97eee2155a5e..000000000000
--- a/nixpkgs/pkgs/development/python-modules/roboschool/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ lib
-, buildPythonPackage
-, isPy3k
-, python
-, fetchFromGitHub
-, fetchpatch
-, qtbase
-, boost
-, assimp
-, gym
-, bullet-roboschool
-, pkg-config
-, which
-}:
-
-buildPythonPackage rec {
-  pname = "roboschool";
-  version = "1.0.39";
-
-  src = fetchFromGitHub {
-    owner = "openai";
-    repo = "roboschool";
-    rev = version;
-    sha256 = "1s7rp5bbiglnrfm33wf7x7kqj0ks3b21bqyz18c5g6vx39rxbrmh";
-  };
-
-  # fails to find boost_python for some reason
-  disabled = !isPy3k;
-
-  propagatedBuildInputs = [
-    gym
-  ];
-
-  nativeBuildInputs = [
-    pkg-config
-    qtbase # needs the `moc` tool
-    which
-  ];
-
-  buildInputs = [
-    bullet-roboschool
-    assimp
-    qtbase
-    boost
-  ];
-
-  dontWrapQtApps = true;
-
-  NIX_CFLAGS_COMPILE="-I ${python}/include/${python.libPrefix}";
-
-  patches = [
-    # Remove kwarg that was removed in upstream gym
-    # https://github.com/openai/roboschool/pull/180
-    (fetchpatch {
-      name = "remove-close-kwarg.patch";
-      url = "https://github.com/openai/roboschool/pull/180/commits/334f489c8ce7af4887e376139ec676f89da5b16f.patch";
-      sha256 = "0bbz8b63m40a9lrwmh7c8d8gj9kpa8a7svdh08qhrddjkykvip6r";
-    })
-  ];
-
-  preBuild = ''
-    # First build the cpp dependencies
-    cd roboschool/cpp-household
-    make \
-      MOC=moc \
-      -j$NIX_BUILD_CORES
-    cd ../..
-  '';
-
-  # Does a QT sanity check, but QT is not expected to work in isolation
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Open-source software for robot simulation, integrated with OpenAI Gym";
-    homepage = "https://github.com/openai/roboschool";
-    license = licenses.mit;
-    maintainers = with maintainers; [ timokau ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix b/nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
index ed2ba7155c7e..012d899ef2a5 100644
--- a/nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/robotstatuschecker/default.nix b/nixpkgs/pkgs/development/python-modules/robotstatuschecker/default.nix
index 81226a23452e..63e87609ac25 100644
--- a/nixpkgs/pkgs/development/python-modules/robotstatuschecker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
index e1ee42b08157..32c5d552ff3f 100644
--- a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
@@ -1,8 +1,12 @@
 { lib
 , aiohttp
 , aresponses
+, awesomeversion
+, backoff
 , buildPythonPackage
+, cachetools
 , fetchFromGitHub
+, poetry
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -12,21 +16,29 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.8.4";
-  format = "setuptools";
+  version = "0.14.1";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = version;
-    sha256 = "sha256-vwXBYwiDQZBxEZDwLX9if6dt7tKQQOLyKL5m0q/3eUw=";
+    hash = "sha256-K9R//xbyXaJ+AHmt42Fv40j43UkvKVyAFiXAq+P4mh8=";
   };
 
+  nativeBuildInputs = [
+    # Requires poetry not poetry-core
+    poetry
+  ];
+
   propagatedBuildInputs = [
     aiohttp
+    backoff
+    cachetools
     xmltodict
+    awesomeversion
     yarl
   ];
 
@@ -36,9 +48,16 @@ buildPythonPackage rec {
     pytest-asyncio
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov" ""
+  '';
+
   disabledTests = [
     # https://github.com/ctalkington/python-rokuecp/issues/249
     "test_resolve_hostname"
+    # Assertion issue
+    "test_guess_stream_format"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/rollbar/default.nix b/nixpkgs/pkgs/development/python-modules/rollbar/default.nix
index fb3d792edd24..7ce7dd9a950c 100644
--- a/nixpkgs/pkgs/development/python-modules/rollbar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rollbar/default.nix
@@ -1,20 +1,24 @@
-{ aiocontextvars
+{ lib
+, aiocontextvars
 , blinker
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , httpx
-, lib
 , mock
 , pytestCheckHook
 , requests
 , six
-, unittest2
+, pythonOlder
 , webob
 }:
 
 buildPythonPackage rec {
   pname = "rollbar";
   version = "0.16.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -29,14 +33,20 @@ buildPythonPackage rec {
   checkInputs = [
     webob
     blinker
-    unittest2
     mock
     httpx
     aiocontextvars
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "rollbar" ];
+  # Still supporting unittest2
+  # https://github.com/rollbar/pyrollbar/pull/346
+  # https://github.com/rollbar/pyrollbar/pull/340
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "rollbar"
+  ];
 
   meta = with lib; {
     description = "Error tracking and logging from Python to Rollbar";
diff --git a/nixpkgs/pkgs/development/python-modules/roombapy/default.nix b/nixpkgs/pkgs/development/python-modules/roombapy/default.nix
index 2a97993669f1..dff19589dcc4 100644
--- a/nixpkgs/pkgs/development/python-modules/roombapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/roombapy/default.nix
@@ -37,6 +37,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    # hbmqtt was replaced by amqtt
+    substituteInPlace tests/test_roomba_integration.py \
+      --replace "from hbmqtt.broker import Broker" "from amqtt.broker import Broker"
+  '';
+
   disabledTestPaths = [
     # Requires network access
     "tests/test_discovery.py"
diff --git a/nixpkgs/pkgs/development/python-modules/roonapi/default.nix b/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
index ccc5749387b1..84909ca05659 100644
--- a/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rpi-bad-power/default.nix b/nixpkgs/pkgs/development/python-modules/rpi-bad-power/default.nix
new file mode 100644
index 000000000000..205cefad6143
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/rpi-bad-power/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+let
+  pname = "rpi-bad-power";
+  version = "0.1.0";
+in
+buildPythonPackage {
+  inherit pname version;
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "shenxn";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256:1yvfz28blq4fdnn614n985vbs5hcw1gm3i9am53k410sfs7ilvkk";
+  };
+
+  pythonImportsCheck = [
+    "rpi_bad_power"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library to detect bad power supply on Raspberry Pi";
+    homepage = "https://github.com/shenxn/rpi-bad-power";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/rpyc/default.nix b/nixpkgs/pkgs/development/python-modules/rpyc/default.nix
index e56aed2aeb7c..61a2f1e75605 100644
--- a/nixpkgs/pkgs/development/python-modules/rpyc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rpyc/default.nix
@@ -3,11 +3,15 @@
 , fetchFromGitHub
 , plumbum
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "rpyc";
   version = "5.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tomerfiliba";
@@ -16,17 +20,27 @@ buildPythonPackage rec {
     sha256 = "1g75k4valfjgab00xri4pf8c8bb2zxkhgkpyy44fjk7s5j66daa1";
   };
 
-  propagatedBuildInputs = [ plumbum ];
+  propagatedBuildInputs = [
+    plumbum
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # Disable tests that requires network access
   disabledTests = [
+    # Disable tests that requires network access
     "test_api"
     "test_pruning"
     "test_rpyc"
+    # Test is outdated
+    # ssl.SSLError: [SSL: NO_CIPHERS_AVAILABLE] no ciphers available (_ssl.c:997)
+    "test_ssl_conenction"
+  ];
+
+  pythonImportsCheck = [
+    "rpyc"
   ];
-  pythonImportsCheck = [ "rpyc" ];
 
   meta = with lib; {
     description = "Remote Python Call (RPyC), a transparent and symmetric RPC library";
diff --git a/nixpkgs/pkgs/development/python-modules/rtmidi-python/default.nix b/nixpkgs/pkgs/development/python-modules/rtmidi-python/default.nix
index e1565fa6c30c..02bb45fd6bc0 100644
--- a/nixpkgs/pkgs/development/python-modules/rtmidi-python/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rtoml/default.nix b/nixpkgs/pkgs/development/python-modules/rtoml/default.nix
index 9ff43bce0843..2d2aef6f7226 100644
--- a/nixpkgs/pkgs/development/python-modules/rtoml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rtoml/default.nix
@@ -1,16 +1,17 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, libiconv
+, pytestCheckHook
 , pythonOlder
-, setuptools-rust
 , rustPlatform
-, pytestCheckHook
-, libiconv
+, setuptools-rust
 }:
 
 buildPythonPackage rec {
   pname = "rtoml";
   version = "0.7";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
@@ -33,17 +34,29 @@ buildPythonPackage rec {
     cargoSetupHook
   ];
 
-  buildInputs = [ libiconv ];
+  buildInputs = [
+    libiconv
+  ];
+
+  pythonImportsCheck = [
+    "rtoml"
+  ];
 
-  pythonImportsCheck = [ "rtoml" ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytestCheckHook ];
   preCheck = ''
     cd tests
   '';
 
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
   meta = with lib; {
-    description = "Rust based TOML library for python";
+    description = "Rust based TOML library for Python";
     homepage = "https://github.com/samuelcolvin/rtoml";
     license = licenses.mit;
     maintainers = with maintainers; [ evils ];
diff --git a/nixpkgs/pkgs/development/python-modules/rtsp-to-webrtc/default.nix b/nixpkgs/pkgs/development/python-modules/rtsp-to-webrtc/default.nix
new file mode 100644
index 000000000000..9cc4a85bee6a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/rtsp-to-webrtc/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "rtsp-to-webrtc";
+  version = "0.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "allenporter";
+    repo = "rtsp-to-webrtc-client";
+    rev = version;
+    hash = "sha256-ry6xNymWgkkvYXliVLUFOUiPz8gbCsQDrSuGmCaH4ZE=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "rtsp_to_webrtc"
+  ];
+
+  meta = with lib; {
+    description = "Module for RTSPtoWeb and RTSPtoWebRTC";
+    homepage = "https://github.com/allenporter/rtsp-to-webrtc-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
index b12920fc7640..143452274abb 100644
--- a/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix
index 2a30bd95f968..79f21ba6aabd 100644
--- a/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "ruamel-yaml";
-  version = "0.17.16";
+  version = "0.17.20";
 
   src = fetchPypi {
     pname = "ruamel.yaml";
     inherit version;
-    sha256 = "1a771fc92d3823682b7f0893ad56cb5a5c87c48e62b5399d6f42c8759a583b33";
+    sha256 = "sha256-S4ozwe+ytEOpP8qvz6TS5EX46MKcUo2fXNr7fMnkAEw=";
   };
 
   # Tests use relative paths
diff --git a/nixpkgs/pkgs/development/python-modules/rxv/default.nix b/nixpkgs/pkgs/development/python-modules/rxv/default.nix
index 728d56527bbe..9d59efd9bd35 100644
--- a/nixpkgs/pkgs/development/python-modules/rxv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/s3fs/default.nix b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
index e8a8bbea801b..d90d1052282d 100644
--- a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2021.11.0";
+  version = "2022.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3c23eac1fa5b685c9d507950b24f75929e8bcd1ea98b9a95cf2a9cb66ee6c9f5";
+    sha256 = "6bafc1f6b4e935ea59512c0f38d5cb9c299dbbfe738e40c3d1de8f67b4ee1fd4";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
index 9ed50fb9e49e..3b07fe5b6d40 100644
--- a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
@@ -1,52 +1,53 @@
 { lib
-, fetchPypi
-, pythonOlder
+, botocore
 , buildPythonPackage
 , docutils
+, fetchFromGitHub
 , mock
-, nose
-, coverage
+, pytestCheckHook
+, pythonOlder
+, stdenv
 , wheel
-, unittest2
-, botocore
-, futures ? null
 }:
 
 buildPythonPackage rec {
   pname = "s3transfer";
   version = "0.5.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-UO2CPh3FhorUDI3JIHL3V6oOZToZKEXJSjtnb0pi2kw=";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "boto";
+    repo = pname;
+    rev = version;
+    hash = "sha256-0Dl7oKB2xxq/a8do3HgBUIGay88yOGBUdOGo+QCtnUE=";
   };
 
-  propagatedBuildInputs =
-    [
-      botocore
-    ] ++ lib.optional (pythonOlder "3") futures;
-
-  buildInputs = [
-    docutils
-    mock
-    nose
-    coverage
-    wheel
-    unittest2
-  ];
-
-  checkPhase = ''
-    pushd s3transfer/tests
-    nosetests -v unit/ functional/
-    popd
-  '';
-
-  # version on pypi has no tests/ dir
-  doCheck = false;
+  propagatedBuildInputs = [ botocore ];
+
+  buildInputs = [ docutils mock pytestCheckHook wheel ];
+
+  disabledTestPaths = [
+    # Requires network access
+    "tests/integration/test_copy.py"
+    "tests/integration/test_delete.py"
+    "tests/integration/test_download.py"
+    "tests/integration/test_processpool.py"
+    "tests/integration/test_s3transfer.py"
+    "tests/integration/test_upload.py"
+  ] ++
+  # There was a change in python 3.8 that defaults multiprocessing to spawn instead of fork on macOS
+  # See https://bugs.python.org/issue33725 and https://github.com/python/cpython/pull/13603.
+  # I suspect the underlying issue here is that upstream tests aren't compatible with spawn multiprocessing, and pass on linux where the default is still fork
+  lib.optionals stdenv.isDarwin [ "tests/unit/test_compat.py" ];
+
+  pythonImportsCheck = [ "s3transfer" ];
 
   meta = with lib; {
+    description = "Library for managing Amazon S3 transfers";
     homepage = "https://github.com/boto/s3transfer";
     license = licenses.asl20;
-    description = "A library for managing Amazon S3 transfers";
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
index 3df0a94cf8e5..80c4bd92a385 100644
--- a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
@@ -12,22 +12,21 @@
 , pandas
 , pathos
 , packaging
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.69.0";
+  version = "2.75.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8e9051a44a82be07e32d83cfc12d724fd1cb76f83ade34cd9e69c45a8d37c676";
+    sha256 = "sha256-MN/F7TWaKsQpKMR7Pxx0Vam1+O+PFEJ/H5jLJh3zpe4=";
   };
 
-  pythonImportsCheck = [
-    "sagemaker"
-    "sagemaker.lineage.visualizer"
-  ];
-
   propagatedBuildInputs = [
     attrs
     boto3
@@ -42,12 +41,17 @@ buildPythonPackage rec {
     pandas
   ];
 
-  doCheck = false;
-
   postFixup = ''
     [ "$($out/bin/sagemaker-upgrade-v2 --help 2>&1 | grep -cim1 'pandas failed to import')" -eq "0" ]
   '';
 
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "sagemaker"
+    "sagemaker.lineage.visualizer"
+  ];
+
   meta = with lib; {
     description = "Library for training and deploying machine learning models on Amazon SageMaker";
     homepage = "https://github.com/aws/sagemaker-python-sdk/";
diff --git a/nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix b/nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix
index c99a78e0cc18..4bc446c2e142 100644
--- a/nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sanic/default.nix b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
index 2fab2a3df889..660ca5de80bf 100644
--- a/nixpkgs/pkgs/development/python-modules/sanic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sapi-python-client/default.nix b/nixpkgs/pkgs/development/python-modules/sapi-python-client/default.nix
index 58cdfe646c65..8375c62e979f 100644
--- a/nixpkgs/pkgs/development/python-modules/sapi-python-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sarge/default.nix b/nixpkgs/pkgs/development/python-modules/sarge/default.nix
index 34d10f8a0771..98187f96af9f 100644
--- a/nixpkgs/pkgs/development/python-modules/sarge/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sarge/default.nix
@@ -6,20 +6,26 @@
 
 buildPythonPackage rec {
   pname = "sarge";
-  version = "0.1.7";
+  version = "0.1.7.post1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "vsajip";
     repo = pname;
     rev = version;
-    sha256 = "sha256-E1alSDXj0oeyB6dN5PAtN62FPpMsCKb4R9DpfWdFtn0=";
+    sha256 = "sha256-bT1DbcQi+SbeRBsL7ILuQbSnAj3BBB4+FNl+Zek5xU4=";
   };
 
   checkInputs = [
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # Aarch64-linux times out for these tests, so they need to be disabled.
+    "test_timeout"
+    "test_feeder"
+  ];
+
   pythonImportsCheck = [
     "sarge"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix b/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix
index 0e9b563f0f70..f7d0e62ff15b 100644
--- a/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sasmodels/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchFromGitHub
 , buildPythonPackage
-, pytest_5
+, pytest
 , numpy
 , scipy
 , matplotlib
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   buildInputs = [ opencl-headers ];
   # Note: the 1.0.5 release should be compatible with pytest6, so this can
   # be set back to 'pytest' at that point
-  checkInputs = [ pytest_5 ];
+  checkInputs = [ pytest ];
   propagatedBuildInputs = [ docutils matplotlib numpy scipy pyopencl ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix b/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
index 66a5dc1d1475..bea5b766b5c9 100644
--- a/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "schema-salad";
-  version = "8.2.20211222191353";
+  version = "8.2.20220103095339";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bae31897a9f5c16546081811728cc20296455dc805ffd0bac0064de6cbbcbf88";
+    sha256 = "051690a2f89b98e35100cd2cb489406a5169a60c2f27a716f3f287a42d45be2d";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/schema/default.nix b/nixpkgs/pkgs/development/python-modules/schema/default.nix
index 3ace46489db5..dabe046e4861 100644
--- a/nixpkgs/pkgs/development/python-modules/schema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/schema/default.nix
@@ -1,28 +1,41 @@
-{ lib, buildPythonPackage, fetchPypi, contextlib2, pytest, mock }:
+{ lib
+, buildPythonPackage
+, contextlib2
+, fetchPypi
+, mock
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
-
   pname = "schema";
   version = "0.7.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f06717112c61895cabc4707752b88716e8420a8819d71404501e114f91043197";
+    hash = "sha256-8GcXESxhiVyrxHB3UriHFuhCCogZ1xQEUB4RT5EEMZc=";
   };
 
-  preConfigure = ''
-    substituteInPlace requirements.txt --replace '==' '>='
-  '';
+  propagatedBuildInputs = [
+    contextlib2
+  ];
 
-  propagatedBuildInputs = [ contextlib2 ];
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytest mock ];
-  checkPhase = "pytest ./test_schema.py";
+  pythonImportsCheck = [
+    "schema"
+  ];
 
   meta = with lib; {
     description = "Library for validating Python data structures";
     homepage = "https://github.com/keleshev/schema";
     license = licenses.mit;
-    maintainers = [ maintainers.tobim ];
+    maintainers = with maintainers; [ tobim ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/schiene/default.nix b/nixpkgs/pkgs/development/python-modules/schiene/default.nix
index 8f479500a138..952a00440d92 100644
--- a/nixpkgs/pkgs/development/python-modules/schiene/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/schiene/default.nix
@@ -1,17 +1,21 @@
 { lib
+, beautifulsoup4
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , requests
-, beautifulsoup4
 }:
 
 buildPythonPackage rec {
   pname = "schiene";
-  version = "0.23";
+  version = "0.24";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "014aaxmk7yxyml1xgfk3zqallyb5zi04m0v7jgqjkbjqq4n4j3ck";
+    sha256 = "sha256-y1gbeavZNFniRiOBbJ4Mgmb0F01HedSmpAWaeZEv0Go=";
   };
 
   propagatedBuildInputs = [
@@ -19,10 +23,12 @@ buildPythonPackage rec {
     beautifulsoup4
   ];
 
-  # tests are not present
+  # Module has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "schiene" ];
+  pythonImportsCheck = [
+    "schiene"
+  ];
 
   meta = with lib; {
     description = "Python library for interacting with Bahn.de";
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix
index c18f2934c23d..4f823a54580b 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix
index b717432a653e..7e2096c9b9ba 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix
@@ -19,12 +19,12 @@
 
 buildPythonPackage rec {
   pname = "scikit-learn";
-  version = "1.0.1";
+  version = "1.0.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rCyp27dU1hz+HIO6hINJjvlR0puT7AnW8AKEfyEKmdo=";
+    sha256 = "sha256-tYcJWaVIS2FPJtMcpMF1JLGwMXUiGZ3JhcO0JW4DB2c=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
index 568643afbbf1..69b9bf05467c 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
@@ -8,6 +8,7 @@
 , numpy
 , osqp
 , pandas
+, setuptools-scm
 , scikit-learn
 , scipy
 , pytestCheckHook
@@ -15,15 +16,16 @@
 
 buildPythonPackage rec {
   pname = "scikit-survival";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3573eb1df9d516c75994a8a82108b6c7a5ca7ea8a9af60b38f3f65c3e227fa7";
+    sha256 = "ba49325f6a31e8bdccfb88337aa85218d209e88a6a704e9c41ef13bf749e0f46";
   };
 
   nativeBuildInputs = [
     cython
+    setuptools-scm
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-tda/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-tda/default.nix
index bf3e1d1ef469..cf2e524337de 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-tda/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/scikits-odes/default.nix b/nixpkgs/pkgs/development/python-modules/scikits-odes/default.nix
index c96cf1b2ddd4..78ed6446f42a 100644
--- a/nixpkgs/pkgs/development/python-modules/scikits-odes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikits-odes/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "scikits.odes";
-  version = "2.6.2";
+  version = "2.6.3";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "267d8bfa1e18d075d574158053d887562381e88176ebab856516b52b14860983";
+    sha256 = "9693da78d1bd0bd6af8db59aeaaed92a399c6af36960c6a0a665a2130eab59e7";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
new file mode 100644
index 000000000000..f4a024a46e99
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, asyncssh
+, buildPythonPackage
+, dulwich
+, fetchFromGitHub
+, fsspec
+, funcy
+, GitPython
+, pathspec
+, pygit2
+, pygtrie
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "scmrepo";
+  version = "0.0.7";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "iterative";
+    repo = pname;
+    rev = version;
+    hash = "sha256-tZsogqcfAqpSo9yOz4z0mgY9SVU1epPmcBuyLJsHLfY=";
+  };
+
+  propagatedBuildInputs = [
+    asyncssh
+    dulwich
+    fsspec
+    funcy
+    GitPython
+    pathspec
+    pygit2
+    pygtrie
+  ];
+
+  # Requires a running Docker instance
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "scmrepo"
+  ];
+
+  meta = with lib; {
+    description = "SCM wrapper and fsspec filesystem";
+    homepage = "https://github.com/iterative/scmrepo";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/scp/default.nix b/nixpkgs/pkgs/development/python-modules/scp/default.nix
index e62581057d04..61baf3724e1a 100644
--- a/nixpkgs/pkgs/development/python-modules/scp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scp/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "scp";
-  version = "0.14.2";
+  version = "0.14.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "713f117413bbd616a1a7da8f07db9adcd835ce73d8585fb469ea5b5785f92e4d";
+    sha256 = "sha256-LQNJpUAIHdJGyBQeRWmfP4Y/LVOswISr0H0+OHox5cc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
index dc05f5579817..c26ec74ac310 100644
--- a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
@@ -86,9 +86,10 @@ buildPythonPackage rec {
 
   LC_ALL = "en_US.UTF-8";
 
-  # Disable doctest plugin because it causes pytest to hang
   preCheck = ''
-    substituteInPlace pytest.ini --replace "--doctest-modules" ""
+    # Disable doctest plugin because it causes pytest to hang
+    substituteInPlace pytest.ini \
+      --replace "--doctest-modules" ""
   '';
 
   disabledTestPaths = [
@@ -111,10 +112,12 @@ buildPythonPackage rec {
     "test_custom_loop_asyncio"
     "test_custom_loop_asyncio_deferred_signal"
     "FileFeedStoragePreFeedOptionsTest"  # https://github.com/scrapy/scrapy/issues/5157
+    "test_timeout_download_from_spider_nodata_rcvd"
     # Fails with AssertionError
     "test_peek_fifo"
     "test_peek_one_element"
     "test_peek_lifo"
+    "test_callback_kwargs"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_xmliter_encoding"
     "test_download"
@@ -126,7 +129,9 @@ buildPythonPackage rec {
     install -m 644 -D extras/scrapy_zsh_completion $out/share/zsh/site-functions/_scrapy
   '';
 
-  pythonImportsCheck = [ "scrapy" ];
+  pythonImportsCheck = [
+    "scrapy"
+  ];
 
   __darwinAllowLocalNetworking = true;
 
diff --git a/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix b/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix
index 1ade4b8ea1de..90caa943ebde 100644
--- a/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "screenlogicpy";
-  version = "0.5.3";
+  version = "0.5.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "dieselrabbit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ic19l0xr2wlnc8q6nhvv747k0f4j9k94ix14zkrwpp9nl09sm8j";
+    sha256 = "0r9227s4v17jm5n0j31ssnak9f5p7xfvz4r1fwy61286is3j5gbb";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/seatconnect/default.nix b/nixpkgs/pkgs/development/python-modules/seatconnect/default.nix
index 7adef77210ab..25b1773472ff 100644
--- a/nixpkgs/pkgs/development/python-modules/seatconnect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/seatconnect/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "seatconnect";
-  version = "1.1.3";
+  version = "1.1.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,8 +21,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "farfar";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-EOaFZch/C9N4lacZ4IqIJUVSaEn8wOFN/WN6WOL/1mo=";
+    rev = version;
+    hash = "sha256-8ZqqNDLygHgtUzTgdb34+4BHuStXJXnl9fBfo0WSNZw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/secp256k1/default.nix b/nixpkgs/pkgs/development/python-modules/secp256k1/default.nix
index 1637814cadd2..cfcc235f1500 100644
--- a/nixpkgs/pkgs/development/python-modules/secp256k1/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/secretstorage/2.nix b/nixpkgs/pkgs/development/python-modules/secretstorage/2.nix
deleted file mode 100644
index 378be5be3130..000000000000
--- a/nixpkgs/pkgs/development/python-modules/secretstorage/2.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, fetchPypi, buildPythonPackage, cryptography, dbus-python }:
-
-buildPythonPackage rec {
-  pname = "secretstorage";
-  version = "2.3.1";
-
-  src = fetchPypi {
-    pname = "SecretStorage";
-    inherit version;
-    sha256 = "1di9gx4m27brs6ar774m64s017iz742mnmw39kvfc8skfs3mrxis";
-  };
-
-  propagatedBuildInputs = [ cryptography dbus-python ];
-
-  # Needs a D-Bus Sesison
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://github.com/mitya57/secretstorage";
-    description = "Python bindings to FreeDesktop.org Secret Service API";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ orivej ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/semver/default.nix b/nixpkgs/pkgs/development/python-modules/semver/default.nix
index cb4578671b98..a86b51c005ba 100644
--- a/nixpkgs/pkgs/development/python-modules/semver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/semver/default.nix
@@ -1,30 +1,46 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytest-cov
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "semver";
   version = "2.13.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-semver";
     repo = "python-semver";
     rev = version;
-    sha256 = "sha256-IWTo/P9JRxBQlhtcH3JMJZZrwAA8EALF4dtHajWUc4w=";
+    hash = "sha256-IWTo/P9JRxBQlhtcH3JMJZZrwAA8EALF4dtHajWUc4w=";
   };
 
   checkInputs = [
-    pytest-cov
     pytestCheckHook
   ];
 
-  # Confuses source vs dist imports in pytest
-  preCheck = "rm -r dist";
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+    sed -i "/--no-cov-on-fail/d" setup.cfg
+  '';
+
+  preCheck = ''
+    # Confuses source vs dist imports in pytest
+    rm -r dist
+  '';
 
-  pythonImportsCheck = [ "semver" ];
+  disabledTestPaths = [
+    # Don't test the documentation
+    "docs/*.rst"
+  ];
+
+  pythonImportsCheck = [
+    "semver"
+  ];
 
   meta = with lib; {
     description = "Python package to work with Semantic Versioning (http://semver.org/)";
diff --git a/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix b/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix
index b71c25a283d0..c9b6d7c96808 100644
--- a/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sendgrid/default.nix
@@ -4,6 +4,7 @@
 , flask
 , pytestCheckHook
 , python-http-client
+, pythonOlder
 , pyyaml
 , starkbank-ecdsa
 , werkzeug
@@ -11,14 +12,16 @@
 
 buildPythonPackage rec {
   pname = "sendgrid";
-  version = "6.9.3";
+  version = "6.9.6";
   format = "setuptools";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchFromGitHub {
     owner = pname;
     repo = "sendgrid-python";
     rev = version;
-    sha256 = "sha256-/4Wk+1zAFwK+FxRhABQBha43/zapgPDfTFGrPJjXA7s=";
+    sha256 = "sha256-6MkAtkbKVoa8UatG92RzbCdAM+WsQN2WnOIh4pRoUVk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sense-energy/default.nix b/nixpkgs/pkgs/development/python-modules/sense-energy/default.nix
index 8d73407c9802..57a7e367d726 100644
--- a/nixpkgs/pkgs/development/python-modules/sense-energy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sense-energy/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "sense-energy";
-  version = "0.9.3";
+  version = "0.10.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "scottbonline";
     repo = "sense";
     rev = version;
-    sha256 = "sha256-LUM7SP03U3mRxCTjgxPRXh/ZLz15R04zBWOxLKnan98=";
+    hash = "sha256-0D0AagmLozF5nLbdcmtE9q65vG2WxWv+hZLTnjmmfEY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sentinels/default.nix b/nixpkgs/pkgs/development/python-modules/sentinels/default.nix
new file mode 100644
index 000000000000..17c2c94a30ff
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sentinels/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sentinels";
+  version = "1.0.0";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1cglkxph47pki4db4kjx5g4ikxp2milqdlcjgqwmx4p1gx6p1q3v";
+  };
+
+  propagatedBuildInputs = [
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "sentinels" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/vmalloc/sentinels/";
+    description = "Various objects to denote special meanings in python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
index 0d06fa96563b..a6fc087c9041 100644
--- a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -40,14 +40,14 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.5.1";
+  version = "1.5.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-python";
     rev = version;
-    sha256 = "sha256-vQ5zeAscPMQH3L+Ogj50IZZp2pBoYaxHzvcXakaoC4k=";
+    sha256 = "sha256-hOWMrAFPwtURIngCN4vCxWrI6QZLOnakkNf+fZVyzzc=";
   };
 
   propagatedBuildInputs = [
@@ -107,8 +107,11 @@ 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"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix b/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix
index 2a8267710a09..d3cc7e9c633b 100644
--- a/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/serverlessrepo/default.nix
@@ -1,16 +1,20 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 , boto3
 , six
 , pyyaml
 , mock
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "serverlessrepo";
   version = "0.1.10";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -23,12 +27,25 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  checkInputs = [ pytest mock ];
+  checkInputs = [
+    pytestCheckHook
+    mock
+  ];
 
-  checkPhase = ''
-    pytest tests/unit
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pyyaml~=5.1" "pyyaml" \
+      --replace "boto3~=1.9, >=1.9.56" "boto3"
   '';
 
+  pytestFlagsArray = [
+    "tests/unit"
+  ];
+
+  pythonImportsCheck = [
+    "serverlessrepo"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/awslabs/aws-serverlessrepo-python";
     description = "Helpers for working with the AWS Serverless Application Repository";
@@ -36,7 +53,7 @@ buildPythonPackage rec {
       A Python library with convenience helpers for working with the
       AWS Serverless Application Repository.
     '';
-    license = lib.licenses.asl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ dhkl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/setupmeta/default.nix b/nixpkgs/pkgs/development/python-modules/setupmeta/default.nix
index 07b521ee9495..c42565082cfd 100644
--- a/nixpkgs/pkgs/development/python-modules/setupmeta/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
index 81276f4e338d..2ab609c7d0c1 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/setuptools-scm/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-scm/default.nix
index 62568869b7bf..c175cfb4c609 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools-scm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sfepy/default.nix b/nixpkgs/pkgs/development/python-modules/sfepy/default.nix
index 7b939342bfc2..3d895f4a3f36 100644
--- a/nixpkgs/pkgs/development/python-modules/sfepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sfepy/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "sfepy";
-  version = "2021.2";
+  version = "2021.4";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "sfepy";
     repo = "sfepy";
     rev = "release_${version}";
-    sha256 = "sha256-zFtm4KrpqjYfxVHcMrTU4tMyHYnD9VPEvuId2lR1MHU=";
+    sha256 = "sha256-+wvFcME02la5JwzD5bvPgBBlkQKF5LWz5MC3+0s5jSs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sgmllib3k/default.nix b/nixpkgs/pkgs/development/python-modules/sgmllib3k/default.nix
index 1104c843c6ee..c4b0d9bdb94d 100644
--- a/nixpkgs/pkgs/development/python-modules/sgmllib3k/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sgmllib3k/default.nix
@@ -2,14 +2,17 @@
 , buildPythonPackage
 , fetchFromGitHub
 , isPy27
+, pytestCheckHook
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
   pname = "sgmllib3k";
   version = "1.0.0";
+  format = "setuptools";
+
   disabled = isPy27;
 
-  # fetchFromGitHub instead of fetchPypi to run tests.
   src = fetchFromGitHub {
     owner = "hsoft";
     repo = "sgmllib";
@@ -17,6 +20,18 @@ buildPythonPackage rec {
     sha256 = "0bzf6pv85dzfxfysm6zbj8m40hp0xzr9h8qlk4hp3nmy88rznqvr";
   };
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    "test_declaration_junk_chars"
+  ];
+
+  pythonImportsCheck = [
+    "sgmllib"
+  ];
+
   meta = with lib; {
     homepage = "https://pypi.org/project/sgmllib3k/";
     description = "Python 3 port of sgmllib";
diff --git a/nixpkgs/pkgs/development/python-modules/shodan/default.nix b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
index 9637602cce1f..772b38be30f2 100644
--- a/nixpkgs/pkgs/development/python-modules/shodan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
@@ -5,16 +5,20 @@
 , colorama
 , requests
 , setuptools
+, pythonOlder
 , XlsxWriter
 }:
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.25.0";
+  version = "1.26.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fivdvBtgv2IAQtABD0t2KoC0MRHb6pwEHXLUMl4mDCM=";
+    sha256 = "sha256-8oJ7QNaRiYjvn18W3LihM4OqrhooRYmPcBLqyJBru4c=";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +31,10 @@ buildPythonPackage rec {
 
   # The tests require a shodan api key, so skip them.
   doCheck = false;
-  pythonImportsCheck = [ "shodan" ];
+
+  pythonImportsCheck = [
+    "shodan"
+  ];
 
   meta = with lib; {
     description = "Python library and command-line utility for Shodan";
diff --git a/nixpkgs/pkgs/development/python-modules/shtab/default.nix b/nixpkgs/pkgs/development/python-modules/shtab/default.nix
new file mode 100644
index 000000000000..78e160058b23
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/shtab/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-timeout
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+, bashInteractive
+}:
+
+buildPythonPackage rec {
+  pname = "shtab";
+  version = "1.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "iterative";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Wuc4m3VdOGEcevYXUpbL4gTvyW9t13pj57zPYdqx0UY=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    bashInteractive
+    pytest-timeout
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov=shtab --cov-report=term-missing --cov-report=xml" ""
+  '';
+
+  pythonImportsCheck = [
+    "shtab"
+  ];
+
+  meta = with lib; {
+    description = "Module for shell tab completion of Python CLI applications";
+    homepage = "https://docs.iterative.ai/shtab/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sigrok/default.nix b/nixpkgs/pkgs/development/python-modules/sigrok/default.nix
new file mode 100644
index 000000000000..b8b925ba6b16
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sigrok/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, stdenv
+, libsigrok
+, toPythonModule
+, python
+, autoreconfHook
+, pythonImportsCheckHook
+, pythonCatchConflictsHook
+, swig
+, setuptools
+, numpy
+, pygobject3
+}:
+
+# build libsigrok plus its Python bindings. Unfortunately it does not appear
+# to be possible to build them separately, at least not easily.
+toPythonModule ((libsigrok.override {
+  inherit python;
+}).overrideAttrs (orig: {
+  pname = "${python.libPrefix}-sigrok";
+
+  patches = orig.patches or [] ++ [
+    # Makes libsigrok install the bindings into site-packages properly (like
+    # we expect) instead of making a version-specific *.egg subdirectory.
+    ./python-install.patch
+  ];
+
+  nativeBuildInputs = orig.nativeBuildInputs or [] ++ [
+    autoreconfHook
+    setuptools
+    swig
+    numpy
+  ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
+    pythonImportsCheckHook
+    pythonCatchConflictsHook
+  ];
+
+  buildInputs = orig.buildInputs or [] ++ [
+    pygobject3 # makes headers available the configure script checks for
+  ];
+
+  propagatedBuildInputs = orig.propagatedBuildInputs or [] ++ [
+    pygobject3
+    numpy
+  ];
+
+  postInstall = ''
+    ${orig.postInstall or ""}
+
+    # for pythonImportsCheck
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
+  '';
+
+  pythonImportsCheck = [ "sigrok" "sigrok.core" ];
+
+  meta = orig.meta // {
+    description = "Python bindings for libsigrok";
+    maintainers = orig.meta.maintainers ++ [
+      lib.maintainers.sternenseemann
+    ];
+  };
+}))
diff --git a/nixpkgs/pkgs/development/python-modules/sigrok/python-install.patch b/nixpkgs/pkgs/development/python-modules/sigrok/python-install.patch
new file mode 100644
index 000000000000..9c25eab6f39a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sigrok/python-install.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile.am b/Makefile.am
+index 280cf64d..e10eb79f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -888,8 +888,9 @@ $(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \
+ 
+ python-install:
+ 	$(AM_V_at)$(MKDIR_P) "$(DESTDIR)$(prefix)" "$(DESTDIR)$(exec_prefix)"
+-	destdir='$(DESTDIR)'; $(setup_py) install $${destdir:+"--root=$$destdir"} \
+-		--prefix "$(prefix)" --exec-prefix "$(exec_prefix)"
++	destdir='$(DESTDIR)'; $(setup_py) install --root=$${destdir:-/} \
++		--prefix "$(prefix)" --exec-prefix "$(exec_prefix)" \
++		--single-version-externally-managed
+ 
+ python-clean:
+ 	-$(AM_V_at)rm -f $(PDIR)/timestamp
diff --git a/nixpkgs/pkgs/development/python-modules/sigtools/default.nix b/nixpkgs/pkgs/development/python-modules/sigtools/default.nix
index b61e64684c86..49ba916b481c 100644
--- a/nixpkgs/pkgs/development/python-modules/sigtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sigtools/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, repeated_test
 , sphinx
 , mock
 , coverage
@@ -19,11 +18,15 @@ buildPythonPackage rec {
     sha256 = "e7789628ec0d02e421bca76532b0d5da149f96f09e7ed4a5cbf318624b75e949";
   };
 
-  buildInputs = [ repeated_test sphinx mock coverage unittest2 ];
   propagatedBuildInputs = [ funcsigs six ];
 
   patchPhase = ''sed -i s/test_suite="'"sigtools.tests"'"/test_suite="'"unittest2.collector"'"/ setup.py'';
 
+  # repeated_test no longer exists in nixpkgs
+  # Also see: https://github.com/epsy/sigtools/issues/26
+  doCheck = false;
+  checkInputs = [ sphinx mock coverage unittest2 ];
+
   meta = with lib; {
     description = "Utilities for working with 3.3's inspect.Signature objects.";
     homepage = "https://pypi.python.org/pypi/sigtools";
diff --git a/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix b/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix
index 6467dc964ef3..a296a721a8e0 100644
--- a/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simpleeval/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "simpleeval";
-  version = "0.9.11";
+  version = "0.9.12";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "danthedeckie";
     repo = pname;
     rev = version;
-    sha256 = "111w76mahbf3lm2p72dkqp5fhwg7nvnwm4l078dgsgkixssjazi7";
+    sha256 = "0khgl729q5133fgc00d550f4r77707rkkn7r56az4v8bvx0q8xp4";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/simplefix/default.nix b/nixpkgs/pkgs/development/python-modules/simplefix/default.nix
index 6e498ebeaea8..fc241ce278ac 100644
--- a/nixpkgs/pkgs/development/python-modules/simplefix/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
index bbfd95cd9212..fa813c4b5fd1 100644
--- a/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "2021.12.2";
+  version = "2022.02.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-XVSoPPBdjSQBYrUs0AFGsGFRrQOWbPzlB2mmEBSbFI4=";
+    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/nixpkgs/pkgs/development/python-modules/siosocks/default.nix b/nixpkgs/pkgs/development/python-modules/siosocks/default.nix
index 2a4803ef8bd2..4292c167782a 100644
--- a/nixpkgs/pkgs/development/python-modules/siosocks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/siosocks/default.nix
@@ -30,6 +30,13 @@ buildPythonPackage rec {
     pytest-trio
   ];
 
+  disabledTestPaths = [
+    # Timeout on Hydra
+    "tests/test_trio.py"
+    "tests/test_sansio.py"
+    "tests/test_socketserver.py"
+  ];
+
   pythonImportsCheck = [
     "siosocks"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sip/default.nix b/nixpkgs/pkgs/development/python-modules/sip/default.nix
index 9604d47c4e2f..5cd8136f84ef 100644
--- a/nixpkgs/pkgs/development/python-modules/sip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sip/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "sip";
-  version = "6.1.1";
+  version = "6.5.0";
 
   src = fetchPypi {
     pname = "sip";
     inherit version;
-    sha256 = "083ykzg7zbvrfrg3ram2vx93zrmhpm817kf9bkhw8r6pzkr5mljj";
+    sha256 = "a1cf8431a8eb9392b3ff6dc61d832d0447bfdcae5b3e4256a5fa74dbc25b0734";
   };
 
   propagatedBuildInputs = [ packaging toml ];
diff --git a/nixpkgs/pkgs/development/python-modules/skein/skeinjar.nix b/nixpkgs/pkgs/development/python-modules/skein/skeinjar.nix
index c1a0d8a57515..d29e0e2f99c7 100644
--- a/nixpkgs/pkgs/development/python-modules/skein/skeinjar.nix
+++ b/nixpkgs/pkgs/development/python-modules/skein/skeinjar.nix
@@ -4,9 +4,9 @@ let
   skeinRepo = callPackage ./skeinrepo.nix { inherit src version; };
 in
 stdenv.mkDerivation rec {
-  name = "skein-${version}.jar";
+  pname = "skein.jar";
 
-  inherit src;
+  inherit version src;
 
   nativeBuildInputs = [ maven ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/skein/skeinrepo.nix b/nixpkgs/pkgs/development/python-modules/skein/skeinrepo.nix
index d7bdef56ebe3..86cbf82b7f0f 100644
--- a/nixpkgs/pkgs/development/python-modules/skein/skeinrepo.nix
+++ b/nixpkgs/pkgs/development/python-modules/skein/skeinrepo.nix
@@ -1,9 +1,9 @@
 { autoPatchelfHook, lib, maven, stdenv, src, version }:
 
 stdenv.mkDerivation rec {
-  name = "skein-${version}-maven-repo";
+  pname = "skein-maven-repo";
 
-  inherit src;
+  inherit version src;
 
   nativeBuildInputs = [ maven ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
 
diff --git a/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix b/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix
index 5196651959c7..7fe887d3ea10 100644
--- a/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "skodaconnect";
-  version = "1.1.12";
+  version = "1.1.19";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "lendy007";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-OKNw+t8S6rRQDKNRBN/CU36OwWojuOH6mMQ5QItkkb8=";
+    rev = version;
+    hash = "sha256-IbCGveRcn6Kn0kGw+/kWTBTqCdWqsPTv6aPq71vc1mw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
index 8a8957459ee5..7b94067aeee9 100644
--- a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix b/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
index a9364ad0d1f2..dbe24923bbf6 100644
--- a/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "smart-meter-texas";
-  version = "0.4.7";
+  version = "0.5.0";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "grahamwetzler";
     repo = "smart-meter-texas";
     rev = "v${version}";
-    sha256 = "1hfvv3kpkc7i9mn58bjgvwjj0mi2syr8fv4r8bwbhq5sailma27j";
+    sha256 = "1f5blmz3w549qjqn5xmdk1fx2pqd76hnlc9p439r7yc473nhw69w";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/smmap/default.nix b/nixpkgs/pkgs/development/python-modules/smmap/default.nix
index 800cf0842582..5e8344e3d637 100644
--- a/nixpkgs/pkgs/development/python-modules/smmap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
index c157a6a2132a..744883302a0e 100644
--- a/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "2.7.2";
+  version = "2.7.4";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b2f8f360750eefa98be09ff53c130381646f8dfc8c6e4a705387676210ff8578";
+    sha256 = "sha256-Es8Xe7yHetAl9bAO83ecTuv9r0cueRL4fCvNyfOGQAg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/socketio-client/default.nix b/nixpkgs/pkgs/development/python-modules/socketio-client/default.nix
new file mode 100644
index 000000000000..2842e3751732
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/socketio-client/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, requests
+, six
+, websocket-client
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "socketio-client";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner = "invisibleroads";
+    repo = "socketio-client";
+    rev = version;
+    sha256 = "sha256-71sjiGJDDYElPGUNCH1HaVdvgMt8KeD/kXVDpF615ho=";
+  };
+
+  propagatedBuildInputs = [
+    six
+    websocket-client
+    requests
+  ];
+
+  # Perform networking tests.
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "socketIO_client"
+  ];
+
+  meta = with lib; {
+    description = "A socket.io client library for protocol 1.x";
+    homepage = "https://github.com/invisibleroads/socketIO-client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ raitobezarius ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/soco/default.nix b/nixpkgs/pkgs/development/python-modules/soco/default.nix
index df9a06aec14c..0922f8c10d2b 100644
--- a/nixpkgs/pkgs/development/python-modules/soco/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/soco/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , graphviz
+, appdirs
 , ifaddr
 , pythonOlder
 , mock
@@ -14,17 +15,20 @@
 
 buildPythonPackage rec {
   pname = "soco";
-  version = "0.25.2";
+  version = "0.26.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SoCo";
     repo = "SoCo";
     rev = "v${version}";
-    sha256 = "sha256-Bu9RtzvQVDPekIzkVvcDkTs5Z+IDx6lSBCMv5zs8gNA=";
+    hash = "sha256-tMW5SCsO1XMQdbasMw3qIMwj+Y6wTQHAmTZ+9r8Mffs=";
   };
 
   propagatedBuildInputs = [
+    appdirs
     ifaddr
     requests
     xmltodict
@@ -37,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/nixpkgs/pkgs/development/python-modules/softlayer/default.nix b/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
index b0705346abdb..e5a55cc9bb1b 100644
--- a/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "softlayer";
-  version = "5.9.8";
+  version = "5.9.9";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "softlayer-python";
     rev = "v${version}";
-    sha256 = "087kyl2yacvh12i4x3357659mgq4xycv8a4y9rl3rj57kp5jc6ah";
+    sha256 = "sha256-LskPz5KXOi7olb3+DUP9uEFESQeo6ec/ZLx9B/w6Ni0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/somajo/default.nix b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
index 8701fa98e67d..e332d0defd73 100644
--- a/nixpkgs/pkgs/development/python-modules/somajo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
@@ -1,22 +1,36 @@
-{ lib, stdenv, fetchFromGitHub, buildPythonPackage, isPy3k, regex }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, regex
+}:
 
 buildPythonPackage rec {
-  pname = "SoMaJo";
-  version = "2.1.6";
-  disabled = !isPy3k;
+  pname = "somajo";
+  version = "2.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tsproisl";
-    repo = pname;
+    repo = "SoMaJo";
     rev = "v${version}";
-    sha256 = "1q88x05729qdnl1gbahisjk3s97wha0b5dj3n63kq2qyvyy0929s";
+    sha256 = "0ywdh1pfk0pgm64p97i9cwz0h9wggbp4shxp5l7kkqs2n2v5c6qg";
   };
 
-  propagatedBuildInputs = [ regex ];
+  propagatedBuildInputs = [
+    regex
+  ];
 
   # loops forever
   doCheck = !stdenv.isDarwin;
 
+  pythonImportsCheck = [
+    "somajo"
+  ];
+
   meta = with lib; {
     description = "Tokenizer and sentence splitter for German and English web texts";
     homepage = "https://github.com/tsproisl/SoMaJo";
diff --git a/nixpkgs/pkgs/development/python-modules/sopel/default.nix b/nixpkgs/pkgs/development/python-modules/sopel/default.nix
index 4f9fe7c39e10..bc39bb998e8e 100644
--- a/nixpkgs/pkgs/development/python-modules/sopel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sopel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "sopel";
-  version = "7.1.6";
+  version = "7.1.7";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ebd3b2aa9230835f8a68ea7f5a10324ddf35d70d89a9c92c8cba81c558565efb";
+    sha256 = "4eb12e9753162e4c19a1bfdd42aea9eb7f5f15e316a6609b925350792fb454fd";
   };
 
   propagatedBuildInputs = [
@@ -56,7 +56,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Simple and extensible IRC bot";
-    homepage = "http://sopel.chat";
+    homepage = "https://sopel.chat";
     license = licenses.efl20;
     maintainers = with maintainers; [ mog ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/sorl_thumbnail/default.nix b/nixpkgs/pkgs/development/python-modules/sorl_thumbnail/default.nix
index 4a6f1c1ae9d7..61150ac45bbf 100644
--- a/nixpkgs/pkgs/development/python-modules/sorl_thumbnail/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix b/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
index 036f91614b1b..81f99d76d6ca 100644
--- a/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sounddevice/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , isPy27
@@ -10,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "sounddevice";
-  version = "0.4.3";
+  version = "0.4.4";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f1667a7467b65fac4c4ebf668b4e9698eb7333fc3d32bc3c7ec9839ea7cb6c20";
+    sha256 = "sha256-9pD1qkGKViaMe9vJfWl8ha3QE0xcedRLiirXobhdp4k=";
   };
 
   propagatedBuildInputs = [ cffi numpy portaudio ];
@@ -28,7 +29,7 @@ buildPythonPackage rec {
   patches = [
     (substituteAll {
       src = ./fix-portaudio-library-path.patch;
-      portaudio = "${portaudio}/lib/libportaudio.so.2";
+      portaudio = "${portaudio}/lib/libportaudio${stdenv.hostPlatform.extensions.sharedLibrary}";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/spacy-loggers/default.nix b/nixpkgs/pkgs/development/python-modules/spacy-loggers/default.nix
new file mode 100644
index 000000000000..7e4d572e1812
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/spacy-loggers/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, callPackage
+, fetchPypi
+, buildPythonPackage
+, wandb
+, wasabi
+}:
+
+buildPythonPackage rec {
+  pname = "spacy-loggers";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-F9DiSbLmxlRsSfxlYaCmhfkajtvySlsrd1nq1EPHRlQ=";
+  };
+
+  propagatedBuildInputs = [
+    wandb
+    wasabi
+  ];
+
+  pythonImportsCheck = [ "spacy_loggers" ];
+
+  # skipping the checks, becaus it requires a cycle dependency to spacy as well.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Logging utilities for spaCy";
+    homepage = "https://github.com/explosion/spacy-loggers";
+    license = licenses.mit;
+    maintainers = with maintainers; [ stunkymonkey ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix b/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
index 757c945f3f05..2f70732caa31 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/spacy/default.nix b/nixpkgs/pkgs/development/python-modules/spacy/default.nix
index 0d095cfef07e..e8b46e99cc1d 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy/default.nix
@@ -25,17 +25,19 @@
 , python
 , tqdm
 , typing-extensions
+, spacy-loggers
+, langcodes
 }:
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "3.2.0";
+  version = "3.2.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "68e54b2a14ce74eeecea9bfb0b9bdadf8a4a8157765dbefa7e50d25a1bf0f2f3";
+    sha256 = "sha256-s9mjYeHjwcGtD38kTyaH+s5CD+LWQtkpic01eUSn1w8=";
   };
 
   propagatedBuildInputs = [
@@ -58,8 +60,15 @@ buildPythonPackage rec {
     tqdm
     typer
     wasabi
+    spacy-loggers
+    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/nixpkgs/pkgs/development/python-modules/speaklater3/default.nix b/nixpkgs/pkgs/development/python-modules/speaklater3/default.nix
new file mode 100644
index 000000000000..60c4c99fd3a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/speaklater3/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "speaklater3";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ySYdS2taMEZyMS0esImb4Cj6yRdgGQqA/szTHTo7UEI=";
+  };
+
+  pythonImportsCheck = [ "speaklater" ];
+
+  meta = with lib; {
+    description = "Implements a lazy string for python useful for use with gettext";
+    homepage = "https://github.com/mitsuhiko/speaklater";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
index b11ca178fc75..fae812319ec8 100644
--- a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinx-copybutton/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-copybutton/default.nix
index 8d408d300c71..259a7dde28b3 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-copybutton/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
index f5cf0fbd3b65..0dd855fee2ae 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "sphinx-inline-tabs";
-  version = "2021.08.17.beta10";
+  version = "2022.01.02.beta11";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "pradyunsg";
     repo = "sphinx-inline-tabs";
     rev = version;
-    sha256 = "sha256-T3OqK0eXNiBs2zQURCSPLc8aIyf2an32UyDh4qSmxQ4=";
+    sha256 = "sha256-k2nOidUk87EZbFsqQ7zr/4eHk+T7wUOYimjbllfneUM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-jinja/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-jinja/default.nix
index 6f721ad1a8f6..7f5ea8c4241a 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-jinja/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinx/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx/default.nix
index 75693f3657e4..19961cc2ec18 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
new file mode 100644
index 000000000000..c7bdb26b0008
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix
index 9c3c16657f29..ef7a50382c6e 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix
index 1f33c06b984e..293f4c856ef5 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
index 4efdb2633f28..901132176ed9 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
+++ b/nixpkgs/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 = "sphinxcontrib-htmlhelp is a sphinx extension which ...";
-    homepage = "http://sphinx-doc.org/";
+    description = "Sphinx extension which renders HTML help files";
+    homepage = "https://github.com/sphinx-doc/sphinxcontrib-htmlhelp";
     license = licenses.bsd0;
+    maintainers = teams.sphinx.members;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
index cd67732605bb..da630c6ee96d 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix
new file mode 100644
index 000000000000..676f72c3f14b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix
index 9d16ede62a20..4364fcb99dc6 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix
index a238c0191a7b..85ed3cdc596d 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix b/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
index 4c43ce2f1617..4ddacc911903 100644
--- a/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/spyder/default.nix b/nixpkgs/pkgs/development/python-modules/spyder/default.nix
index 38558f004984..419ac6bbb39c 100644
--- a/nixpkgs/pkgs/development/python-modules/spyder/default.nix
+++ b/nixpkgs/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 ];
diff --git a/nixpkgs/pkgs/development/python-modules/spyse-python/default.nix b/nixpkgs/pkgs/development/python-modules/spyse-python/default.nix
index 65e382ce30d1..bd73edc61e70 100644
--- a/nixpkgs/pkgs/development/python-modules/spyse-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spyse-python/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , dataclasses-json
 , fetchFromGitHub
+, fetchpatch
 , limiter
 , pythonOlder
 , requests
@@ -11,6 +12,7 @@
 buildPythonPackage rec {
   pname = "spyse-python";
   version = "2.2.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
@@ -31,10 +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 "responses~=0.13.3" "responses>=0.13.3" \
+      --replace "limiter~=0.1.2" "limiter>=0.1.2" \
+      --replace "requests~=2.26.0" "requests>=2.26.0"
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-continuum/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-continuum/default.nix
index 944a2cf08e09..da64d44a43fe 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-continuum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-continuum/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy-Continuum";
-  version = "1.3.11";
+  version = "1.3.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c9yd9s98crqgs39rc2ld2r0nchgyjrfbjdlqb99y4hhc6lv04xw";
+    sha256 = "rlHl59MAQhsicMtZQT9rv1iQrDyVYJlawtyhvFaAM7o=";
   };
 
   propagatedBuildInputs = [
@@ -41,7 +41,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/kvesteri/sqlalchemy-continuum/";
     description = "Versioning and auditing extension for SQLAlchemy";
     license = licenses.bsd3;
-    # https://github.com/kvesteri/sqlalchemy-continuum/issues/255
-    broken = lib.versionAtLeast sqlalchemy.version "1.4";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
index bb757ab45b0a..bfae1d7b3b9d 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, python
-, unittest2, scripttest, pytz, mock
-, testtools, pbr, tempita, decorator, sqlalchemy
+, scripttest, pytz, pbr, tempita, decorator, sqlalchemy
 , six, sqlparse, testrepository
 }:
+
 buildPythonPackage rec {
   pname = "sqlalchemy-migrate";
   version = "0.13.0";
@@ -13,21 +13,27 @@ buildPythonPackage rec {
   };
 
   # See: https://review.openstack.org/#/c/608382/
-  patches = [ (fetchpatch {
-    url = "https://github.com/openstack/sqlalchemy-migrate/pull/18.patch";
-    sha256 = "1qyfq2m7w7xqf0r9bc2x42qcra4r9k9l9g1jy5j0fvlb6bvvjj07";
-  }) ];
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/openstack/sqlalchemy-migrate/pull/18.patch";
+      sha256 = "1qyfq2m7w7xqf0r9bc2x42qcra4r9k9l9g1jy5j0fvlb6bvvjj07";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace test-requirements.txt \
+      --replace "ibm_db_sa>=0.3.0;python_version<'3.0'" "" \
+      --replace "ibm-db-sa-py3;python_version>='3.0'" "" \
+      --replace "tempest-lib>=0.1.0" "" \
+      --replace "testtools>=0.9.34,<0.9.36" "" \
+      --replace "pylint" ""
+  '';
 
-  checkInputs = [ unittest2 scripttest pytz mock testtools testrepository ];
+  checkInputs = [ scripttest pytz testrepository ];
   propagatedBuildInputs = [ pbr tempita decorator sqlalchemy six sqlparse ];
 
   doCheck = !stdenv.isDarwin;
 
-  prePatch = ''
-    sed -i -e /tempest-lib/d \
-           -e /testtools/d \
-      test-requirements.txt
-  '';
   checkPhase = ''
     export PATH=$PATH:$out/bin
     echo sqlite:///__tmp__ > test_db.cfg
@@ -41,9 +47,9 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/openstack/sqlalchemy-migrate";
+    homepage = "https://opendev.org/x/sqlalchemy-migrate";
     description = "Schema migration tools for SQLAlchemy";
     license = licenses.asl20;
-    maintainers = with maintainers; [ makefu ];
+    maintainers = teams.openstack.members ++ (with maintainers; [ makefu ]);
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index dc983e20ce23..05ef00dae0ef 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-utils";
-  version = "0.37.7";
+  version = "0.38.2";
 
   src = fetchPypi {
     inherit version;
     pname = "SQLAlchemy-Utils";
-    sha256 = "sha256-cW2dlZIljbllGlEdA+ayVTJCwqRAhV7j99WBK7tV2es=";
+    sha256 = "9e01d6d3fb52d3926fcd4ea4a13f3540701b751aced0316bff78264402c2ceb4";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
index a8c85fdffd64..1d6406c5db13 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.4.27";
+  version = "1.4.31";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-12g1na6zqGZE84VMZlnkSWo+a7orRlHsyHznrUFbMgw=";
+    sha256 = "sha256-WCtZ0eV4CkR6raIrRh5QtASp3AV2jaHYc2itgZBGhBg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix b/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix
index ee1181e9c93c..439f15549125 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -5,7 +5,7 @@
 , pythonOlder
 , click
 , click-default-group
-, dateutils
+, python-dateutil
 , sqlite-fts4
 , tabulate
 , pytestCheckHook
@@ -14,32 +14,18 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.19";
+  version = "3.24";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "509099fce5f25faada6e76b6fb90e8ef5ba0f1715177933a816718be0c8e7244";
+    sha256 = "sha256-0bkvh1L+HqyH5/GKaw4J+OPJ/yR882JgWI4vBH6v0lM=";
   };
 
-  patches = [
-    # https://github.com/simonw/sqlite-utils/pull/347
-    (fetchpatch {
-      name = "sqlite-utils-better-test_rebuild_fts.patch";
-      url = "https://github.com/simonw/sqlite-utils/pull/347/commits/1a7ef2fe2064ace01d5535fb771f941296fb642a.diff";
-      sha256 = "sha256-WKCQGMqr8WYjG7cmAH5pYBhgikowbt3r6hObwtMDDUY=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace '"pytest-runner"' ""
-  '';
-
   propagatedBuildInputs = [
     click
     click-default-group
-    dateutils
+    python-dateutil
     sqlite-fts4
     tabulate
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sqlitedict/default.nix b/nixpkgs/pkgs/development/python-modules/sqlitedict/default.nix
index 1c28d6a0976d..178617e18dea 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlitedict/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
index 429ebc9e0d61..18dac082f06a 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.5.12";
+  version = "1.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9FplToUd4CIkYZ88+Lat+joniZzRZDOfifH5z4sH8RM=";
+    sha256 = "sha256-X8FpGnrF0aHuf3yIzRrxoNAu77UASTL36CQpcuxESV8=";
   };
 
   postPatch = ''
@@ -30,7 +30,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Automatic SQL injection and database takeover tool";
-    homepage = "http://sqlmap.org";
+    homepage = "https://sqlmap.org";
+    changelog = "https://github.com/sqlmapproject/sqlmap/releases/tag/${version}";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ bennofs ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix b/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
index c645a850f497..817ba2dfc706 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
@@ -9,17 +9,35 @@
 }:
 
 buildPythonPackage rec {
-  pname = "SQLObject";
+  pname = "sqlobject";
   version = "3.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "SQLObject";
+    inherit version;
     sha256 = "45064184decf7f42d386704e5f47a70dee517d3e449b610506e174025f84d921";
   };
 
-  propagatedBuildInputs = [ FormEncode pastedeploy paste pydispatcher ];
+  propagatedBuildInputs = [
+    FormEncode
+    paste
+    pastedeploy
+    pydispatcher
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # https://github.com/sqlobject/sqlobject/issues/179
+    "test_fail"
+  ];
+
+  pythonImportsCheck = [
+    "sqlobject"
+  ];
 
   meta = with lib; {
     description = "Object Relational Manager for providing an object interface to your database";
diff --git a/nixpkgs/pkgs/development/python-modules/srpenergy/default.nix b/nixpkgs/pkgs/development/python-modules/srpenergy/default.nix
index c5d20436a09c..d0ac3602445d 100644
--- a/nixpkgs/pkgs/development/python-modules/srpenergy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sshtunnel/default.nix b/nixpkgs/pkgs/development/python-modules/sshtunnel/default.nix
index 90e4962d3e8f..3c53864ec332 100644
--- a/nixpkgs/pkgs/development/python-modules/sshtunnel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sslyze/default.nix b/nixpkgs/pkgs/development/python-modules/sslyze/default.nix
index 587572646abc..f76ba96a5b8f 100644
--- a/nixpkgs/pkgs/development/python-modules/sslyze/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/starlette/default.nix b/nixpkgs/pkgs/development/python-modules/starlette/default.nix
index 9612ac999cc8..1084a50be770 100644
--- a/nixpkgs/pkgs/development/python-modules/starlette/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
index d0c4d39f1165..ac3c173c09a5 100644
--- a/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
@@ -12,11 +12,12 @@
 , testVersion
 , tomlkit
 , staticjinja
+, callPackage
 }:
 
 buildPythonPackage rec {
   pname = "staticjinja";
-  version = "4.1.1";
+  version = "4.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +27,7 @@ buildPythonPackage rec {
     owner = "staticjinja";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Bpgff3VaTylnYpkWoaWEiRWu4sYSP6dLbHDOjAhj7BM=";
+    sha256 = "0qqyadhqsn66b7qrpfj08qc899pjwfa2byqqzh73xq1n22i4cy30";
   };
 
   nativeBuildInputs = [
@@ -51,8 +52,9 @@ buildPythonPackage rec {
     export PATH="$PATH:$out/bin";
   '';
 
-  passthru.tests.version = testVersion {
-    package = staticjinja;
+  passthru.tests = {
+    version = testVersion { package = staticjinja; };
+    minimal-template = callPackage ./test-minimal-template {};
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/default.nix b/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/default.nix
new file mode 100644
index 000000000000..e51a619c9e90
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/default.nix
@@ -0,0 +1,11 @@
+{ stdenv, staticjinja }:
+
+stdenv.mkDerivation {
+  name = "staticjinja-test-minimal-template";
+  meta.timeout = 30;
+  buildCommand = ''
+    ${staticjinja}/bin/staticjinja build --srcpath ${./templates}
+    grep 'Hello World!' index
+    touch $out
+  '';
+}
diff --git a/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/include b/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/include
new file mode 100644
index 000000000000..216e97ce0822
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/include
@@ -0,0 +1 @@
+World
diff --git a/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/index b/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/index
new file mode 100644
index 000000000000..03e1043180d8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/staticjinja/test-minimal-template/templates/index
@@ -0,0 +1 @@
+Hello {% include './include' %}!
diff --git a/nixpkgs/pkgs/development/python-modules/statmake/default.nix b/nixpkgs/pkgs/development/python-modules/statmake/default.nix
new file mode 100644
index 000000000000..7de42d5bc945
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/statmake/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, attrs
+, cattrs
+, fonttools
+, fs
+, pytestCheckHook
+, ufo2ft
+, ufoLib2
+}:
+
+buildPythonPackage rec {
+  pname = "statmake";
+  version = "0.4.1";
+
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "daltonmaag";
+    repo = "statmake";
+    rev = "v${version}";
+    sha256 = "OXhoQAD4LEh80iRUZE2z8sCtWJDv/bSo0bwHbOOPVE0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    cattrs
+    fonttools
+    # required by fonttools[ufo]
+    fs
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    ufo2ft
+    ufoLib2
+  ];
+
+  postPatch = ''
+    # https://github.com/daltonmaag/statmake/pull/41
+    substituteInPlace pyproject.toml \
+      --replace 'requires = ["poetry>=1.0.0"]' 'requires = ["poetry-core"]' \
+      --replace 'build-backend = "poetry.masonry.api"' 'build-backend = "poetry.core.masonry.api"'
+  '';
+
+  meta = with lib; {
+    description = "Applies STAT information from a Stylespace to a variable font";
+    homepage = "https://github.com/daltonmaag/statmake";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix b/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
index 173458a634b6..0f01870c41b4 100644
--- a/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/strenum/default.nix b/nixpkgs/pkgs/development/python-modules/strenum/default.nix
new file mode 100644
index 000000000000..f287b2623a6b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix b/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
index 1d74a62babd4..66ed134772d7 100644
--- a/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/strictyaml/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.6.0";
+  version = "1.6.1";
   pname = "strictyaml";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "73fa9769214a310486d7916453a09bd38b07d28a9dcbdf27719183c1d7d949f6";
+    sha256 = "688be16ee5d1a2f94aa4abdc6d881e8e254d173d724ac88725955fe66bdb63d4";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
index 4acad30ea322..5b1ff139ff9c 100644
--- a/nixpkgs/pkgs/development/python-modules/stripe/default.nix
+++ b/nixpkgs/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.64.0";
+  version = "2.66.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f4b2175046104e4fcd8a2689a68bb9828a857814126d2ed13772cf2554fb93e";
+    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/nixpkgs/pkgs/development/python-modules/striprtf/default.nix b/nixpkgs/pkgs/development/python-modules/striprtf/default.nix
index 3f941d59dac7..0e884a09b440 100644
--- a/nixpkgs/pkgs/development/python-modules/striprtf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/striprtf/default.nix
@@ -5,13 +5,18 @@
 
 buildPythonPackage rec {
   pname = "striprtf";
-  version = "0.0.17";
+  version = "0.0.19";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e122b5d334cda9b0edb3eeb8910f01d0ffb02eaca054facd75b17b98fcf646f5";
+    sha256 = "b7f15e11306e466dbe91665409233a06d9fdb4ee156489a3d879579891b04c25";
   };
 
+  pythonImportsCheck = [
+    "striprtf"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/joshy/striprtf";
     description = "A simple library to convert rtf to text";
diff --git a/nixpkgs/pkgs/development/python-modules/structlog/default.nix b/nixpkgs/pkgs/development/python-modules/structlog/default.nix
index 2e90d3350dbe..b6eb0c2672ad 100644
--- a/nixpkgs/pkgs/development/python-modules/structlog/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/stumpy/default.nix b/nixpkgs/pkgs/development/python-modules/stumpy/default.nix
index 00e8306a25d4..68e35a1d0eca 100644
--- a/nixpkgs/pkgs/development/python-modules/stumpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stumpy/default.nix
@@ -7,11 +7,7 @@
 , pandas
 , dask
 , distributed
-, coverage
-, flake8
-, black
-, pytest
-, codecov
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -35,18 +31,9 @@ buildPythonPackage rec {
     pandas
     dask
     distributed
-    coverage
-    flake8
-    black
-    pytest
-    codecov
+    pytestCheckHook
   ];
 
-  # ignore changed numpy operations
-  checkPhase = ''
-    pytest -k 'not allc'
-  '';
-
   meta = with lib; {
     description = "A powerful and scalable library that can be used for a variety of time series data mining tasks";
     homepage = "https://github.com/TDAmeritrade/stumpy";
diff --git a/nixpkgs/pkgs/development/python-modules/stups-pierone/default.nix b/nixpkgs/pkgs/development/python-modules/stups-pierone/default.nix
index 92cd344edb6d..4757cd323186 100644
--- a/nixpkgs/pkgs/development/python-modules/stups-pierone/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/subarulink/default.nix b/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
index 1b6d1033c456..24678319b04a 100644
--- a/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "subarulink";
-  version = "0.3.16";
+  version = "0.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "G-Two";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7waY5AOONi+u056JRH9KcoBWSB4AlMw4QcMW0uoCARc=";
+    sha256 = "sha256-EI7m2SFa1eAtncMA0g1OmXumzub4UvE6ssGfUGtLO2Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/subunit/default.nix b/nixpkgs/pkgs/development/python-modules/subunit/default.nix
index c59626fc85c3..704a4cb924ac 100644
--- a/nixpkgs/pkgs/development/python-modules/subunit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/subunit/default.nix
@@ -4,6 +4,7 @@
 , cppunit
 , pkg-config
 , subunit
+, pythonOlder
 
 # python dependencies
 , fixtures
@@ -11,6 +12,7 @@
 , pytest
 , testscenarios
 , testtools
+, unittest2
 }:
 
 buildPythonPackage {
@@ -20,7 +22,10 @@ buildPythonPackage {
   buildInputs = [ check cppunit ];
   propagatedBuildInputs = [ testtools ];
 
-  checkInputs = [ testscenarios hypothesis fixtures pytest ];
+  checkInputs = [ testscenarios hypothesis fixtures pytest unittest2 ];
+
+  # requires unittest2, which no longer supported in 3.10
+  doCheck = pythonOlder "3.10";
   # ignore tests which call shell code, or call methods which haven't been implemented
   checkPhase = ''
     pytest python/subunit \
diff --git a/nixpkgs/pkgs/development/python-modules/sumo/default.nix b/nixpkgs/pkgs/development/python-modules/sumo/default.nix
index 204bb80e5870..68f298de1080 100644
--- a/nixpkgs/pkgs/development/python-modules/sumo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sumo/default.nix
@@ -1,5 +1,8 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , pythonOlder
+, cython
 , h5py
 , matplotlib
 , numpy
@@ -15,10 +18,10 @@
 buildPythonPackage rec {
   pname = "sumo";
   version = "2.2.5";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
-  # No tests in Pypi tarball
   src = fetchFromGitHub {
     owner = "SMTG-UCL";
     repo = "sumo";
@@ -26,6 +29,10 @@ buildPythonPackage rec {
     sha256 = "1vwqyv215yf51j1278cn7l8mpqmy1grm9j7z3hxjlz4w65cff324";
   };
 
+  nativeBuildInputs = [
+    cython
+  ];
+
   propagatedBuildInputs = [
     spglib
     numpy
@@ -38,7 +45,23 @@ buildPythonPackage rec {
     castepxbin
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    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"
+  '';
+
+  pythonImportsCheck = [
+    "sumo"
+  ];
 
   meta = with lib; {
     description = "Toolkit for plotting and analysis of ab initio solid-state calculation data";
diff --git a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
index 2bb07b37301e..4e61f8665ba6 100644
--- a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
@@ -1,5 +1,5 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
@@ -31,45 +31,47 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "3.1.2";
+  version = "3.1.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5eeb479c3f2424bf46355165249a1caa849872f8bee525349c4dca4d15b271fd";
+    sha256 = "4acb05a05c7e6a2090cd0bb426b34c7e1620be0de2bf90a95a3f48ba15a5fce2";
   };
 
   nativeBuildInputs = [
-    setuptools-scm
     astropy-extension-helpers
+    setuptools-scm
   ];
 
   propagatedBuildInputs = [
-    numpy
-    scipy
-    matplotlib
-    pandas
+    asdf
     astropy
     astropy-helpers
+    beautifulsoup4
+    drms
+    glymur
     h5netcdf
+    matplotlib
+    numpy
+    pandas
     parfive
-    sqlalchemy
+    python-dateutil
     scikitimage
+    scipy
+    sqlalchemy
     towncrier
-    glymur
-    beautifulsoup4
-    drms
-    python-dateutil
-    zeep
     tqdm
-    asdf
+    zeep
   ];
 
   checkInputs = [
     hypothesis
-    pytestCheckHook
     pytest-astropy
     pytest-mock
+    pytestCheckHook
   ];
 
   # darwin has write permission issues
@@ -81,11 +83,20 @@ buildPythonPackage rec {
 
   disabledTests = [
     "rst"
+    "test_sunpy_warnings_logging"
+    "test_main_nonexisting_module"
+    "test_main_stdlib_module"
   ];
 
   disabledTestPaths = [
     "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/helioprojective-1.0.0.yaml"
     "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentric-1.0.0.yaml"
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliographic_carrington-*.yaml"
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/geocentricearthequatorial-1.0.0.yaml"
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/geocentricsolarecliptic-1.0.0.yaml"
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentricearthecliptic-1.0.0.yaml"
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentricinertial-1.0.0.yaml"
+    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/map/generic_map-1.0.0.yaml"
     # requires mpl-animators package
     "sunpy/map/tests/test_compositemap.py"
     "sunpy/map/tests/test_mapbase.py"
@@ -100,17 +111,24 @@ buildPythonPackage rec {
     "sunpy/visualization/colormaps/tests/test_cm.py"
     # requires cdflib package
     "sunpy/timeseries/tests/test_timeseries_factory.py"
+    # distutils is deprecated
+    "sunpy/io/setup_package.py"
   ];
 
   pytestFlagsArray = [
-    "--deselect=sunpy/tests/tests/test_self_test.py::test_main_nonexisting_module"
-    "--deselect=sunpy/tests/tests/test_self_test.py::test_main_stdlib_module"
+    "-W"
+    "ignore::DeprecationWarning"
   ];
 
+  # Wants a configuration file
+  # pythonImportsCheck = [
+  #   "sunpy"
+  # ];
+
   meta = with lib; {
-    description = "SunPy: Python for Solar Physics";
+    description = "Python for Solar Physics";
     homepage = "https://sunpy.org";
     license = licenses.bsd2;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/surepy/default.nix b/nixpkgs/pkgs/development/python-modules/surepy/default.nix
index 9759443228d0..13c8107c9aef 100644
--- a/nixpkgs/pkgs/development/python-modules/surepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/surepy/default.nix
@@ -33,7 +33,8 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'aiohttp = {extras = ["speedups"], version = "^3.7.4"}' 'aiohttp = {extras = ["speedups"], version = ">=3.7.4"}' \
-      --replace 'async-timeout = "^3.0.1"' 'async-timeout = ">=3.0.1"'
+      --replace 'async-timeout = "^3.0.1"' 'async-timeout = ">=3.0.1"' \
+      --replace 'rich = "^10.1.0"' 'rich = ">=10.1.0"'
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/svdtools/default.nix b/nixpkgs/pkgs/development/python-modules/svdtools/default.nix
index b02058b8d301..03db4b6356e2 100644
--- a/nixpkgs/pkgs/development/python-modules/svdtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/svdtools/default.nix
@@ -11,15 +11,22 @@
 
 buildPythonPackage rec {
   pname = "svdtools";
-  version = "0.1.20";
+  version = "0.1.21";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "028s1bn50mfpaygf1wc2mvf06s50wqfplqrkhrjz6kx8vzrmwj72";
+    sha256 = "0qc94haqkj4dbhify1l3x0ji1dx34m79nfnsk1c7l1kl2zjvz6bz";
   };
 
+  # remove upon next release
+  # see: https://github.com/stm32-rs/svdtools/pull/96
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace 'PyYAML ~= 5.3' 'PyYAML >= 5.3'
+  '';
+
   propagatedBuildInputs = [
     braceexpand
     click
@@ -34,7 +41,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python package to handle vendor-supplied, often buggy SVD files";
     homepage = "https://github.com/stm32-rs/svdtools";
-    changelog = "https://github.com/stm32-rs/svdtools/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/stm32-rs/svdtools/blob/v${version}/CHANGELOG-python.md";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ newam ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/svglib/default.nix b/nixpkgs/pkgs/development/python-modules/svglib/default.nix
index 1bc1e58f1ae7..145b24e55787 100644
--- a/nixpkgs/pkgs/development/python-modules/svglib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/svglib/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "svglib";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "520ee5290ee2ebeebd20ca0d7d995c08c903b364fcf515826bab43a1288d422e";
+    sha256 = "c77a0702fafd367c0fdca08ca1b7e1ee10058bde3bae252f49a3836e51e54519";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix b/nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix
index 71c9cf16780e..ce67e6689ace 100644
--- a/nixpkgs/pkgs/development/python-modules/swagger-spec-validator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/swift/default.nix b/nixpkgs/pkgs/development/python-modules/swift/default.nix
index 592e083567a2..b61e998c3c9f 100644
--- a/nixpkgs/pkgs/development/python-modules/swift/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/swspotify/default.nix b/nixpkgs/pkgs/development/python-modules/swspotify/default.nix
index df2c00ad7c0f..b1fc4d128cfb 100644
--- a/nixpkgs/pkgs/development/python-modules/swspotify/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sybil/default.nix b/nixpkgs/pkgs/development/python-modules/sybil/default.nix
index d46fc14cdf67..55cea70924e6 100644
--- a/nixpkgs/pkgs/development/python-modules/sybil/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sybil/default.nix
@@ -1,28 +1,40 @@
 { lib
 , buildPythonApplication
 , fetchPypi
-, pytest
-, nose
+, pytestCheckHook
+, pythonOlder
 }:
 
 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 = [ pytest nose ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # sensitive to output of other commands
+    "test_namespace"
+    "test_unittest"
+  ];
 
-  checkPhase = ''
-    py.test tests
-  '';
+  pythonImportsCheck = [
+    "sybil"
+  ];
 
   meta = with lib; {
     description = "Automated testing for the examples in your documentation";
     homepage = "https://github.com/cjw296/sybil";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/symengine/default.nix b/nixpkgs/pkgs/development/python-modules/symengine/default.nix
index 673e2682660b..c2c223586616 100644
--- a/nixpkgs/pkgs/development/python-modules/symengine/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/syslog-rfc5424-formatter/default.nix b/nixpkgs/pkgs/development/python-modules/syslog-rfc5424-formatter/default.nix
new file mode 100644
index 000000000000..040db8d1e078
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/syslog-rfc5424-formatter/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "syslog-rfc5424-formatter";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "easypost";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "17ym5ls5r6dd9pg9frdz8myfq5fxyqlwdq1gygc9vnrxbgw2c9kb";
+  };
+
+  # Tests are not picked up, review later again
+  doCheck = false;
+
+  pythonImportsCheck = [ "syslog_rfc5424_formatter" ];
+
+  meta = with lib; {
+    description = "Python logging formatter for emitting RFC5424 Syslog messages";
+    homepage = "https://github.com/easypost/syslog-rfc5424-formatter";
+    license = with licenses; [ isc ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/systembridge/default.nix b/nixpkgs/pkgs/development/python-modules/systembridge/default.nix
index 34403930602c..beca0ef8147a 100644
--- a/nixpkgs/pkgs/development/python-modules/systembridge/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/systembridge/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "systembridge";
-  version = "2.2.3";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "timmo001";
     repo = "system-bridge-connector-py";
     rev = "v${version}";
-    sha256 = "sha256-AVMZBhf15eZM9oMUFyiHYs866P1v5z1pbTvX2Qpjzfc=";
+    sha256 = "sha256-Ts8zPRK6S5iLnl19Y/Uz0YAh6hDeVRNBY6HsvLwdUFw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tables/default.nix b/nixpkgs/pkgs/development/python-modules/tables/default.nix
index 245e619e89e0..fbe99c6fa931 100644
--- a/nixpkgs/pkgs/development/python-modules/tables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tables/default.nix
@@ -10,19 +10,19 @@
 , lzo
 , numpy
 , numexpr
-, setuptools
+, packaging
   # Test inputs
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "tables";
-  version = "3.6.1";
+  version = "3.7.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9";
+    sha256 = "sha256-6SqIetbyqYPlZKaZAt5KdkXDAGn8AavTU+xdolXF4f4=";
   };
 
   nativeBuildInputs = [ cython ];
@@ -36,17 +36,9 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     numpy
     numexpr
-    setuptools  # uses pkg_resources at runtime
+    packaging  # uses packaging.version at runtime
   ];
 
-  patches = [
-    (fetchpatch {
-      # Needed for numpy >= 1.20.0
-      name = "tables-pr-862-use-lowercase-numpy-dtypes.patch";
-      url = "https://github.com/PyTables/PyTables/commit/93a3272b8fe754095637628b4d312400e24ae654.patch";
-      sha256 = "00czgxnm1dxp9763va9xw1nc7dd7kxh9hjcg9klim52519hkbhi4";
-    })
-  ];
   # When doing `make distclean`, ignore docs
   postPatch = ''
     substituteInPlace Makefile --replace "src doc" "src"
diff --git a/nixpkgs/pkgs/development/python-modules/tablib/default.nix b/nixpkgs/pkgs/development/python-modules/tablib/default.nix
index 4558b3afb26a..b854e09c0506 100644
--- a/nixpkgs/pkgs/development/python-modules/tablib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tablib/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "tablib";
-  version = "3.1.0";
+  version = "3.2.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d64c9f6712918a3d90ec5d71b44b8bab1083e3609e4844ad2be80eb633e097ed";
+    sha256 = "12d8686454c721de88d8ca5adf07e1f419ef6dbcecedf65e8950d4a329daf3a0";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/tailscale/default.nix b/nixpkgs/pkgs/development/python-modules/tailscale/default.nix
index 96016b3f0d4d..67a384f4b22b 100644
--- a/nixpkgs/pkgs/development/python-modules/tailscale/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tailscale/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tailscale";
-  version = "0.1.6";
+  version = "0.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-tailscale";
     rev = "v${version}";
-    sha256 = "1dkmjc78mhgbikfz6mi6g63a36w6v29pdbb3pvgpicg0l649rsc9";
+    sha256 = "sha256-/tS9ZMUWsj42n3MYPZJYJELzX3h02AIHeRZmD2SuwWE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tappy/default.nix b/nixpkgs/pkgs/development/python-modules/tappy/default.nix
index 9e0b83bc925d..abbf70df62fb 100644
--- a/nixpkgs/pkgs/development/python-modules/tappy/default.nix
+++ b/nixpkgs/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";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9e7u6/1k5T0yZhdSu0wohYmjuru5bbPzkaTsKfE1nHA=";
+    sha256 = "3c0cd45212ad5a25b35445964e2517efa000a118a1bfc3437dae828892eaf1e1";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/tatsu/default.nix b/nixpkgs/pkgs/development/python-modules/tatsu/default.nix
index 83f6d9ac0637..18ab606afdd7 100644
--- a/nixpkgs/pkgs/development/python-modules/tatsu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tatsu/default.nix
@@ -5,17 +5,17 @@
 
 buildPythonPackage rec {
   pname = "tatsu";
-  version = "5.6.1";
+  version = "5.7.3";
+  # upstream only supports 3.10+
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "neogeny";
     repo = "TatSu";
     rev = "v${version}";
-    sha256 = "149ra1lwax5m1svlv4dwjfqw00lc5vwyfj6zw2v0ammmfm1b94x9";
+    sha256 = "1d6rnlybj971b5j5glvq288hd4r204nkmssqb0k8rm6cqcwhz292";
   };
 
-  disabled = pythonOlder "3.8";
-
   nativeBuildInputs = [ pytest-runner ];
   propagatedBuildInputs = [ colorama regex ];
   checkInputs = [ pytestCheckHook pytest-mypy ];
diff --git a/nixpkgs/pkgs/development/python-modules/teamcity-messages/default.nix b/nixpkgs/pkgs/development/python-modules/teamcity-messages/default.nix
new file mode 100644
index 000000000000..e378227b2f56
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/teamcity-messages/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "teamcity-messages";
+  version = "1.30";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "JetBrains";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-5C9ElCmTH+xSrFQ/x9IRJ89RfSd9cxzkETlOCzwyU8s=";
+  };
+
+  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/nixpkgs/pkgs/development/python-modules/temescal/default.nix b/nixpkgs/pkgs/development/python-modules/temescal/default.nix
new file mode 100644
index 000000000000..429b0a23d187
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tempest/default.nix b/nixpkgs/pkgs/development/python-modules/tempest/default.nix
index 5fa1ad4c539b..39f7a82cd9ec 100644
--- a/nixpkgs/pkgs/development/python-modules/tempest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tempest/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonApplication
 , fetchPypi
+, fetchpatch
 , pbr
 , cliff
 , jsonschema
@@ -20,7 +21,6 @@
 , prettytable
 , urllib3
 , debtcollector
-, unittest2
 , hacking
 , oslotest
 , bash
@@ -36,6 +36,14 @@ buildPythonApplication rec {
     sha256 = "0521d3042360c0fb469b16f99174a9abddbae8a2d2a81268cfc664f1ccfdd0f9";
   };
 
+  patches = [
+    # remove need for unittest2
+    (fetchpatch {
+      url = "https://github.com/openstack/tempest/commit/cd3745c27b7d8fcdaffc72b965a3d803d9ee12c2.patch";
+      sha256 = "sha256-UwUmyFZokH66Xqfsj982MBHb0w7x6v4SAtXlqA5dpnk=";
+    })
+  ];
+
   propagatedBuildInputs = [
     pbr
     cliff
@@ -56,7 +64,6 @@ buildPythonApplication rec {
     prettytable
     urllib3
     debtcollector
-    unittest2
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tempora/default.nix b/nixpkgs/pkgs/development/python-modules/tempora/default.nix
index e9cd3e84fee5..6999655c5dc5 100644
--- a/nixpkgs/pkgs/development/python-modules/tempora/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix b/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
index 2127d2275678..eacb5b4cdc80 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
@@ -1,13 +1,14 @@
 { boto3
 , buildPythonPackage
 , crc32c
+, which
 , fetchFromGitHub
 , lib
 , matplotlib
 , moto
 , numpy
 , pillow
-, protobuf
+, protobuf3_8
 , pytestCheckHook
 , pytorch
 , six
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "lanpa";
     repo = "tensorboardX";
     rev = "v${version}";
-    sha256 = "1kcw062bcqvqva5kag9j7q72wk3vdqgf5cnn0lxmsvhlmq5sjdfn";
+    sha256 = "sha256-1jWpC64Ubl07Bday4h5ue0wuDj4yPTWL2nhjtoQBnM0=";
   };
 
   # apparently torch API changed a bit at 1.6
@@ -34,10 +35,16 @@ buildPythonPackage rec {
       "torch.onnx.select_model_mode_for_export(model, torch.onnx.TrainingMode.EVAL)"
   '';
 
+  # Wanted protobuf version is mentioned here:
+  # https://github.com/lanpa/tensorboardX/blob/0d08112618a2bbda4c028a15a137fed3afe77401/compile.sh#L6
+  nativeBuildInputs = [ which protobuf3_8 ];
+
+  # required to make tests deterministic
+  PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python";
+
   propagatedBuildInputs = [
     crc32c
     numpy
-    protobuf
     six
     soundfile
   ];
@@ -63,9 +70,6 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # we are not interested in linting errors
     "tests/test_lint.py"
-    # breaks with `RuntimeError: cannot schedule new futures after interpreter shutdown`
-    # Upstream tracking bug: https://github.com/lanpa/tensorboardX/issues/652
-    "tests/test_pr_curve.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-datasets/corruptions.patch b/nixpkgs/pkgs/development/python-modules/tensorflow-datasets/corruptions.patch
new file mode 100644
index 000000000000..71e5da5e11bb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-datasets/corruptions.patch
@@ -0,0 +1,22 @@
+diff --git a/tensorflow_datasets/image_classification/corruptions.py b/tensorflow_datasets/image_classification/corruptions.py
+index 066c4460..cb9a6667 100644
+--- a/tensorflow_datasets/image_classification/corruptions.py
++++ b/tensorflow_datasets/image_classification/corruptions.py
+@@ -35,7 +35,7 @@ FROST_FILENAMES = []
+ 
+ 
+ def _imagemagick_bin():
+-  return 'imagemagick'  # pylint: disable=unreachable
++  return 'convert'  # pylint: disable=unreachable
+ 
+ 
+ # /////////////// Corruption Helpers ///////////////
+@@ -675,7 +675,7 @@ def spatter(x, severity=1):
+     #     ker = np.array([[-1,-2,-3],[-2,0,0],[-3,0,1]], dtype=np.float32)
+     #     ker -= np.mean(ker)
+     ker = np.array([[-2, -1, 0], [-1, 1, 1], [0, 1, 2]])
+-    dist = cv2.filter2D(dist, cv2.CVX_8U, ker)
++    dist = cv2.filter2D(dist, cv2.CV_8U, ker)
+     dist = cv2.blur(dist, (3, 3)).astype(np.float32)
+ 
+     m = cv2.cvtColor(liquid_layer * dist, cv2.COLOR_GRAY2BGRA)
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-datasets/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-datasets/default.nix
new file mode 100644
index 000000000000..98e38bba56ad
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-datasets/default.nix
@@ -0,0 +1,141 @@
+{ apache-beam
+, attrs
+, beautifulsoup4
+, buildPythonPackage
+, dill
+, dm-tree
+, fetchFromGitHub
+, ffmpeg
+, future
+, imagemagick
+, importlib-resources
+, jinja2
+, langdetect
+, lib
+, matplotlib
+, mwparserfromhell
+, networkx
+, nltk
+, numpy
+, opencv4
+, pandas
+, pillow
+, promise
+, protobuf
+, pycocotools
+, pydub
+, pytestCheckHook
+, requests
+, scikitimage
+, scipy
+, six
+, tensorflow
+, tensorflow-metadata
+, termcolor
+, tifffile
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "tensorflow-datasets";
+  version = "4.4.0";
+
+  src = fetchFromGitHub {
+    owner = "tensorflow";
+    repo = "datasets";
+    rev = "v${version}";
+    sha256 = "11kbpv54nwr0xf7z5mkj2lmrfqfmcdq8qcpapnqck1kiawr3yad6";
+  };
+
+  patches = [
+    # addresses https://github.com/tensorflow/datasets/issues/3673
+    ./corruptions.patch
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    dill
+    dm-tree
+    future
+    importlib-resources
+    numpy
+    promise
+    protobuf
+    requests
+    six
+    tensorflow-metadata
+    termcolor
+    tqdm
+  ];
+
+  pythonImportsCheck = [
+    "tensorflow_datasets"
+  ];
+
+  checkInputs = [
+    apache-beam
+    beautifulsoup4
+    ffmpeg
+    imagemagick
+    jinja2
+    langdetect
+    matplotlib
+    mwparserfromhell
+    networkx
+    nltk
+    opencv4
+    pandas
+    pillow
+    pycocotools
+    pydub
+    pytestCheckHook
+    scikitimage
+    scipy
+    tensorflow
+    tifffile
+  ];
+
+  disabledTestPaths = [
+    # Sandbox violations: network access, filesystem write attempts outside of build dir, ...
+    "tensorflow_datasets/core/dataset_builder_test.py"
+    "tensorflow_datasets/core/dataset_info_test.py"
+    "tensorflow_datasets/core/features/features_test.py"
+    "tensorflow_datasets/core/github_api/github_path_test.py"
+    "tensorflow_datasets/core/utils/gcs_utils_test.py"
+    "tensorflow_datasets/scripts/cli/build_test.py"
+
+    # Requires `pretty_midi` which is not packaged in `nixpkgs`.
+    "tensorflow_datasets/audio/groove_test.py"
+
+    # Requires `crepe` which is not packaged in `nixpkgs`.
+    "tensorflow_datasets/audio/nsynth_test.py"
+
+    # Requires `gcld3` and `pretty_midi` which are not packaged in `nixpkgs`.
+    "tensorflow_datasets/core/lazy_imports_lib_test.py"
+
+    # Requires `tensorflow_io` which is not packaged in `nixpkgs`.
+    "tensorflow_datasets/image/lsun_test.py"
+
+    # Fails with `TypeError: Constant constructor takes either 0 or 2 positional arguments`
+    # deep in TF AutoGraph. Doesn't reproduce in Docker with Ubuntu 22.04 => might be related
+    # to the differences in some of the dependencies?
+    "tensorflow_datasets/rl_unplugged/rlu_atari/rlu_atari_test.py"
+
+    # Requires `tensorflow_docs` which is not packaged in `nixpkgs` and the test is for documentation anyway.
+    "tensorflow_datasets/scripts/documentation/build_api_docs_test.py"
+
+    # Not a test, should not be executed.
+    "tensorflow_datasets/testing/test_utils.py"
+
+    # Require `gcld3` and `nltk.punkt` which are not packaged in `nixpkgs`.
+    "tensorflow_datasets/text/c4_test.py"
+    "tensorflow_datasets/text/c4_utils_test.py"
+  ];
+
+  meta = with lib; {
+    description = "Library of datasets ready to use with TensorFlow";
+    homepage = "https://www.tensorflow.org/datasets/overview";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-metadata/build.patch b/nixpkgs/pkgs/development/python-modules/tensorflow-metadata/build.patch
new file mode 100644
index 000000000000..ff81c5d1e86c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-metadata/build.patch
@@ -0,0 +1,24 @@
+diff --git a/setup.py b/setup.py
+index 7a09b2f..94c5aa6 100644
+--- a/setup.py
++++ b/setup.py
+@@ -125,7 +125,7 @@ setup(
+     ],
+     namespace_packages=[],
+     install_requires=[
+-        'absl-py>=0.9,<0.13',
++        'absl-py>=0.9',
+         'googleapis-common-protos>=1.52.0,<2',
+         'protobuf>=3.13,<4',
+     ],
+@@ -137,8 +137,5 @@ setup(
+     long_description_content_type='text/markdown',
+     keywords='tensorflow metadata tfx',
+     download_url='https://github.com/tensorflow/metadata/tags',
+-    requires=[],
+-    cmdclass={
+-        'build': _BuildCommand,
+-        'bazel_build': _BazelBuildCommand,
+-    })
++    requires=[]
++    )
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-metadata/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-metadata/default.nix
new file mode 100644
index 000000000000..2a80155c4cd9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-metadata/default.nix
@@ -0,0 +1,46 @@
+{ absl-py
+, buildPythonPackage
+, fetchFromGitHub
+, googleapis-common-protos
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "tensorflow-metadata";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "tensorflow";
+    repo = "metadata";
+    rev = "v${version}";
+    sha256 = "17p74k6rwswpmj7m16cw9hdam6b4m7v5bahirmc2l1kwfvrn4w33";
+  };
+
+  patches = [
+    ./build.patch
+  ];
+
+  # Default build pulls in Bazel + extra deps, given the actual build
+  # is literally three lines (see below) - replace it with custom build.
+  preBuild = ''
+    for proto in tensorflow_metadata/proto/v0/*.proto; do
+      protoc --python_out=. $proto
+    done
+  '';
+
+  propagatedBuildInputs = [
+    absl-py
+    googleapis-common-protos
+  ];
+
+  pythonImportsCheck = [
+    "tensorflow_metadata"
+  ];
+
+  meta = with lib; {
+    description = "Standard representations for metadata that are useful when training machine learning models with TensorFlow";
+    homepage = "https://github.com/tensorflow/metadata";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
index 1daaac6ae7eb..760e9a0e9d1c 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -1,7 +1,5 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
-, bazel_0_26
 , buildBazelPackage
 , buildPythonPackage
 , python
@@ -11,47 +9,33 @@
 , tensorflow
 , six
 , numpy
+, dm-tree
+, keras
 , decorator
 , cloudpickle
 , gast
 , hypothesis
 , scipy
+, pandas
+, mpmath
 , matplotlib
 , mock
 , pytest
 }:
 
 let
-  version = "0.8.0";
+  version = "0.15.0";
   pname = "tensorflow_probability";
 
   # first build all binaries and generate setup.py using bazel
   bazel-wheel = buildBazelPackage {
-    bazel = bazel_0_26;
-
     name = "${pname}-${version}-py2.py3-none-any.whl";
-
     src = fetchFromGitHub {
       owner = "tensorflow";
       repo = "probability";
-      rev = version;
-      sha256 = "07cm8zba8n0ihzdm3k4a4rsg5v62xxsfvcw4h0niz91c0parqjqy";
+      rev = "v" + version;
+      sha256 = "155fgmra90s08vjnp61qxdrpzq74xa3kdzhgdkavwgc25pvxn3mi";
     };
-
-    patches = [
-      (fetchpatch {
-        name = "gast-0.3.patch";
-        url = "https://github.com/tensorflow/probability/commit/ae7a9d9771771ec1e7755a3588b9325f050a84cc.patch";
-        sha256 = "0kfhx30gshm8f3945na9yjjik71r20qmjzifbigaj4l8dwd9dz1a";
-        excludes = ["testing/*"];
-      })
-      (fetchpatch {
-        name = "cloudpickle-1.2.patch";
-        url = "https://github.com/tensorflow/probability/commit/78ef12b5afe3f567d16c70b74015ed1ddff1b0c8.patch";
-        sha256 = "12ms2xcljvvrnig0j78s3wfv4yf3bm5ps4rgfgv5lg2a8mzpc1ga";
-      })
-    ];
-
     nativeBuildInputs = [
       # needed to create the output wheel in installPhase
       python
@@ -64,7 +48,7 @@ let
     bazelTarget = ":pip_pkg";
 
     fetchAttrs = {
-      sha256 = "1qw7vkwnxy45z4vm94isq5m96xiz35sigag7vjg1xb2sklbymxh8";
+      sha256 = "0sgxdlw5x3dydy53l10vbrj8smh78b7r1wff8jxcgp4w69mk8zfm";
     };
 
     buildAttrs = {
@@ -98,34 +82,31 @@ in buildPythonPackage {
     decorator
     cloudpickle
     gast
+    dm-tree
+    keras
   ];
 
   # Listed here:
-  # https://github.com/tensorflow/probability/blob/f01d27a6f256430f03b14beb14d37def726cb257/testing/run_tests.sh#L58
+  # https://github.com/tensorflow/probability/blob/f3777158691787d3658b5e80883fe1a933d48989/testing/dependency_install_lib.sh#L83
   checkInputs = [
     hypothesis
     pytest
     scipy
+    pandas
+    mpmath
     matplotlib
     mock
   ];
 
-  # actual checks currently fail because for some reason
-  # tf.enable_eager_execution is called too late. Probably because upstream
-  # intents these tests to be run by bazel, not plain pytest.
-  # checkPhase = ''
-  #   # tests need to import from other test files
-  #   export PYTHONPATH="$PWD/tensorflow-probability:$PYTHONPATH"
-  #   py.test
-  # '';
+  # Ideally, we run unit tests with pytest, but in checkPhase, only the Bazel-build wheel is available.
+  # But it seems not guaranteed that running the tests with pytest will even work, see
+  # https://github.com/tensorflow/probability/blob/c2a10877feb2c4c06a4dc58281e69c37a11315b9/CONTRIBUTING.md?plain=1#L69
+  # Ideally, tests would be run using Bazel. For now, lets's do a...
 
   # sanity check
-  checkPhase = ''
-    python -c 'import tensorflow_probability'
-  '';
+  pythonImportsCheck = [ "tensorflow_probability" ];
 
   meta = with lib; {
-    broken = true;  # tf-probability 0.8.0 is not compatible with tensorflow 2.3.2
     description = "Library for probabilistic reasoning and statistical analysis";
     homepage = "https://www.tensorflow.org/probability/";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
index 123c339fea48..ceebad2a4769 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
@@ -2,6 +2,7 @@
 , fetchPypi
 , buildPythonPackage
 , pythonOlder
+, pythonAtLeast
 , numpy
 , wheel
 , werkzeug
@@ -24,7 +25,7 @@ buildPythonPackage rec {
   pname = "tensorflow-tensorboard";
   version = "2.6.0";
   format = "wheel";
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.6" || pythonAtLeast "3.10";
 
   src = fetchPypi {
     pname = "tensorboard";
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
index 221c75112b9b..2556a8039c1b 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
@@ -48,6 +48,8 @@ in buildPythonPackage {
   inherit (packages) version;
   format = "wheel";
 
+  disabled = pythonAtLeast "3.10";
+
   src = let
     pyVerNoDot = lib.strings.stringAsChars (x: if x == "." then "" else x) python.pythonVersion;
     platform = if stdenv.isDarwin then "mac" else "linux";
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
index 776fbaa18019..47acd1f53c75 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tensorly/default.nix b/nixpkgs/pkgs/development/python-modules/tensorly/default.nix
index 54f32d182c0c..e780aba22822 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorly/default.nix
@@ -1,44 +1,35 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytest
-, nose
+, pytestCheckHook
 , isPy27
 , numpy
 , scipy
 , sparse
-, pytorch
 }:
 
 buildPythonPackage rec {
   pname = "tensorly";
-  version = "0.4.5";
+  version = "0.7.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1ml91yaxwx4msisxbm92yf22qfrscvk58f3z2r1jhi96pw2k4i7x";
+    sha256 = "VcX3pCczZQUYZaD7xrrkOcj0QPJt28cYTwpZm5D/X3c=";
   };
 
-  propagatedBuildInputs = [ numpy scipy sparse ]
-    ++ lib.optionals (!doCheck) [ nose ]; # upstream added nose to install_requires
+  # nose is not actually required for anything
+  # (including testing with the minimal dependencies)
+  postPatch = ''
+    substituteInPlace setup.py --replace ", 'nose'" ""
+  '';
 
-  checkInputs = [ pytest nose pytorch ];
-  # also has a cupy backend, but the tests are currently broken
-  # (e.g. attempts to access cupy.qr instead of cupy.linalg.qr)
-  # and this backend also adds a non-optional CUDA dependence,
-  # as well as tensorflow and mxnet backends, but the tests don't
-  # seem to exercise these backend by default
+  propagatedBuildInputs = [ numpy scipy sparse ];
 
-  # uses >= 140GB of ram to test
-  doCheck = false;
-  checkPhase = ''
-    runHook preCheck
-    nosetests -e "test_cupy"
-    runHook postCheck
-  '';
+  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [ "tensorly" ];
 
   pythonImportsCheck = [ "tensorly" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/terminaltables/default.nix b/nixpkgs/pkgs/development/python-modules/terminaltables/default.nix
index 51a0b0712240..7b548b763fdf 100644
--- a/nixpkgs/pkgs/development/python-modules/terminaltables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/terminaltables/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "terminaltables";
-  version = "3.1.0";
+  version = "3.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f3eb0eb92e3833972ac36796293ca0906e998dc3be91fbe1f8615b331b853b81";
+    sha256 = "ba6eca5cb5ba02bba4c9f4f985af80c54ec3dccf94cfcd190154386255e47543";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/tern/default.nix b/nixpkgs/pkgs/development/python-modules/tern/default.nix
index e49ff6401454..2e7aa7086291 100644
--- a/nixpkgs/pkgs/development/python-modules/tern/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tern/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "tern";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9cb509dba91718feecefd302388a89d4782454f6613e8f931ec8de87a6594de0";
+    sha256 = "c7ce55a500061e1160b040e75dc38d0eccc790a2b70fa3b7ad1b4fb715c18fc9";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix b/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
index 19e42e917dd3..4809fde718d2 100644
--- a/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "1.4.2";
+  version = "1.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oablQoumBiqDk7bz1BUpUWddxExoqOofrZzX7y618Hw=";
+    sha256 = "sha256-9EFbsJPn543fVGQ46cikEE9rE4qBr/2q6vX7u4tui7I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/test-tube/default.nix b/nixpkgs/pkgs/development/python-modules/test-tube/default.nix
index f0c26292c84b..1cc20cc2cca7 100644
--- a/nixpkgs/pkgs/development/python-modules/test-tube/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
index 99be9957a5ef..93fc92bd6320 100644
--- a/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
@@ -1,9 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy27
 , mock
 , pytestCheckHook
+, pythonAtLeast
+, pythonOlder
 , sybil
 , twisted
 , zope_component
@@ -12,36 +13,61 @@
 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";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-JgAQCulv/QgjNLN441VVD++LSlKab6TDT0cTCQXHQm0=";
   };
 
+  # no longer compatible with sybil
+  # https://github.com/simplistix/testfixtures/issues/169
+  doCheck = false;
   checkInputs = [
-    pytestCheckHook
     mock
+    pytestCheckHook
     sybil
-    zope_component
     twisted
+    zope_component
   ];
 
-  doCheck = !isPy27;
-
   disabledTestPaths = [
     # Django is too much hasle to setup at the moment
     "testfixtures/tests/test_django"
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/simplistix/testfixtures/issues/168
+    "test_invalid_communicate_call"
+    "test_invalid_kill"
+    "test_invalid_parameters"
+    "test_invalid_poll"
+    "test_invalid_send_signal"
+    "test_invalid_terminate"
+    "test_invalid_wait_call"
+    "test_replace_delattr_cant_remove"
+    "test_replace_delattr_cant_remove_not_strict"
+  ];
+
   pytestFlagsArray = [
     "testfixtures/tests"
   ];
 
-  pythonImportsCheck = [ "testfixtures" ];
+  pythonImportsCheck = [
+    "testfixtures"
+  ];
 
   meta = with lib; {
+    description = "Collection of helpers and mock objects for unit tests and doc tests";
     homepage = "https://github.com/Simplistix/testfixtures";
-    description = "A collection of helpers and mock objects for unit tests and doc tests";
     license = licenses.mit;
     maintainers = with maintainers; [ siriobalmelli ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/testpath/default.nix b/nixpkgs/pkgs/development/python-modules/testpath/default.nix
index be332ac791a2..e11ddeed50a6 100644
--- a/nixpkgs/pkgs/development/python-modules/testpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testpath/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
@@ -17,6 +18,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  preCheck = lib.optionalString stdenv.isDarwin ''
+    # Work around https://github.com/jupyter/testpath/issues/24
+    export TMPDIR="/tmp"
+  '';
+
   meta = with lib; {
     description = "Test utilities for code working with files and commands";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/testtools/default.nix b/nixpkgs/pkgs/development/python-modules/testtools/default.nix
index e2dfdcbe3ece..84900ad5477e 100644
--- a/nixpkgs/pkgs/development/python-modules/testtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testtools/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     sha256 = "57c13433d94f9ffde3be6534177d10fb0c1507cc499319128958ca91a65cb23f";
   };
 
-  propagatedBuildInputs = [ pbr python-mimeparse extras unittest2 ];
+  propagatedBuildInputs = [ pbr python-mimeparse extras ];
   buildInputs = [ traceback2 ];
 
   # testscenarios has a circular dependency on testtools
diff --git a/nixpkgs/pkgs/development/python-modules/textacy/default.nix b/nixpkgs/pkgs/development/python-modules/textacy/default.nix
index 5c8928a385d4..2eae44aeeb27 100644
--- a/nixpkgs/pkgs/development/python-modules/textacy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textacy/default.nix
@@ -21,12 +21,13 @@
 
 buildPythonPackage rec {
   pname = "textacy";
-  version = "0.11.0";
+  version = "0.12.0";
   disabled = pythonOlder "3.7";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-d/tyTCewoERA15iBv4H2LORFzgco15fnnN1sneeGuF4=";
+    sha256 = "2c92bdd6b47305447b64e4cb6cc43c11675f021f910a8074bc8149dbf5325e5b";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/textfsm/default.nix b/nixpkgs/pkgs/development/python-modules/textfsm/default.nix
index ae9bda2b8b84..e1bfdb5909df 100644
--- a/nixpkgs/pkgs/development/python-modules/textfsm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textfsm/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "textfsm";
-  version = "1.1.2";
+  version = "1.1.3";
   format = "setuptools";
 
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1cbczg3h2841v1xk2s2xg540c69vsrkwxljm758fyr65kshrzlhm";
+    sha256 = "sha256-IHgKG8v0X+LSK6purWBdwDnI/BCs5XA12ZJixuqqXWg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/textile/default.nix b/nixpkgs/pkgs/development/python-modules/textile/default.nix
new file mode 100644
index 000000000000..a8acf346cd60
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tgcrypto/default.nix b/nixpkgs/pkgs/development/python-modules/tgcrypto/default.nix
index 7fd62d7bcbe3..728676b53b38 100644
--- a/nixpkgs/pkgs/development/python-modules/tgcrypto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tgcrypto/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "tgcrypto";
-  version = "1.2.2";
+  version = "1.2.3";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "pyrogram";
     repo = "tgcrypto";
     rev = "v${version}";
-    sha256 = "1vyjycjb2n790371kf47qc0mkvd4bxmhh65cfxjsrcjpiri7shjf";
+    sha256 = "06g1kv3skq2948h0sjf64s1cr2p1rhxnx5pf9nmvhxkmri1xmfzs";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/thespian/default.nix b/nixpkgs/pkgs/development/python-modules/thespian/default.nix
index 7f353a19207d..7a4f0e5ee855 100644
--- a/nixpkgs/pkgs/development/python-modules/thespian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/thespian/default.nix
@@ -1,13 +1,13 @@
 { fetchPypi, buildPythonPackage, lib }:
 
 buildPythonPackage rec {
-  version = "3.10.5";
+  version = "3.10.6";
   pname = "thespian";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "17adad8afbc4779a01f34a6595c63fceccfd21f10556b85a261338eb99b5d306";
+    sha256 = "c987a8042ba2303e22371f38a67354593dd81c4c11ba1eba7f6657409288d5ed";
   };
 
   # Do not run the test suite: it takes a long time and uses
diff --git a/nixpkgs/pkgs/development/python-modules/thinc/default.nix b/nixpkgs/pkgs/development/python-modules/thinc/default.nix
index 9524f7e44970..55bf72aec769 100644
--- a/nixpkgs/pkgs/development/python-modules/thinc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tifffile/default.nix b/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
index 2e4676267215..fdd4c2bf0b2f 100644
--- a/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
@@ -1,53 +1,55 @@
 { lib
-, fetchPypi
 , buildPythonPackage
-, isPy27
-, isPy3k
+, dask
+, fetchPypi
+, fsspec
+, lxml
 , numpy
-, imagecodecs-lite
-, enum34 ? null
-, futures ? null
-, pathlib ? null
-, pytest
+, pytestCheckHook
+, pythonOlder
+, zarr
 }:
 
 buildPythonPackage rec {
   pname = "tifffile";
   version = "2021.11.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "153e31fa1d892f482fabb2ae9f2561fa429ee42d01a6f67e58cee13637d9285b";
+    hash = "sha256-FT4x+h2JL0gvq7KunyVh+kKe5C0BpvZ+WM7hNjfZKFs=";
   };
 
-  patches = lib.optional isPy27 ./python2-regex-compat.patch;
-
-  # Missing dependencies: imagecodecs, czifile, cmapfile, oiffile, lfdfiles
-  # and test data missing from PyPI tarball
-  doCheck = false;
+  propagatedBuildInputs = [
+    numpy
+  ];
 
   checkInputs = [
-    pytest
+    dask
+    fsspec
+    lxml
+    pytestCheckHook
+    zarr
   ];
 
-  checkPhase = ''
-    pytest
-  '';
+  disabledTests = [
+    # Test require network access
+    "test_class_omexml"
+    "test_write_ome"
+    # Test file is missing
+    "test_write_predictor"
+  ];
 
-  propagatedBuildInputs = [
-    numpy
-  ] ++ lib.optionals isPy3k [
-    imagecodecs-lite
-  ] ++ lib.optionals isPy27 [
-    futures
-    enum34
-    pathlib
+  pythonImportsCheck = [
+    "tifffile"
   ];
 
   meta = with lib; {
-    description = "Read and write image data from and to TIFF files.";
-    homepage = "https://www.lfd.uci.edu/~gohlke/";
-    maintainers = [ maintainers.lebastr ];
+    description = "Read and write image data from and to TIFF files";
+    homepage = "https://github.com/cgohlke/tifffile/";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ lebastr ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/tiledb/default.nix b/nixpkgs/pkgs/development/python-modules/tiledb/default.nix
index bdd6ad241158..b310defa45d1 100644
--- a/nixpkgs/pkgs/development/python-modules/tiledb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/time-machine/default.nix b/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
index 240a8ac0c37e..8ac7f66565b7 100644
--- a/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "time-machine";
-  version = "2.5.0";
+  version = "2.6.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "adamchainz";
     repo = pname;
     rev = version;
-    sha256 = "sha256-U/OgkwRgZMdEkMIQuN9bWXWeeMHiduy1C1xOBUl8NsQ=";
+    sha256 = "sha256-D3cbArF09b5+LkkdosNbYMfndnzCPWwNqzIww23pOtk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/timetagger/default.nix b/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
new file mode 100644
index 000000000000..29f2ffbc49b9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, pytestCheckHook
+, requests
+, pytest
+, pythonOlder
+}:
+
+python3Packages.buildPythonPackage rec {
+  pname = "timetagger";
+  version = "22.2.2";
+
+  src = fetchFromGitHub {
+    owner = "almarklein";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-U2OvvS61t4RnWAA/mv84TWRj+/8SRRXrBR+fX3bakqw=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    asgineer
+    itemdb
+    jinja2
+    markdown
+    pscript
+    pyjwt
+    uvicorn
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+    requests
+    pytest
+  ];
+
+  # fails with `No module named pytest` on python version 3.10
+  doCheck = pythonOlder "3.10";
+
+  meta = with lib; {
+    homepage = "https://timetagger.app";
+    license = licenses.gpl3Only;
+    description = "Tag your time, get the insight";
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tinydb/default.nix b/nixpkgs/pkgs/development/python-modules/tinydb/default.nix
index 958624f80935..ae08cceab1ee 100644
--- a/nixpkgs/pkgs/development/python-modules/tinydb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tinydb/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tinydb";
-  version = "4.5.2";
+  version = "4.7.0";
   disabled = pythonOlder "3.5";
   format = "pyproject";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "msiemens";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gyc9rk1adw4gynwnv4kfas0hxv1cql0sm5b3fsms39088ha894l";
+    sha256 = "sha256-cAIo/qdIOIpPt9vPan5oJfKtH2Gmrm03aLuAHpfUfLY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/titlecase/default.nix b/nixpkgs/pkgs/development/python-modules/titlecase/default.nix
index 0b9e6547dee6..33fe952ad2a3 100644
--- a/nixpkgs/pkgs/development/python-modules/titlecase/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tmb/default.nix b/nixpkgs/pkgs/development/python-modules/tmb/default.nix
index 713cf6139285..10a6e3b00d50 100644
--- a/nixpkgs/pkgs/development/python-modules/tmb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix b/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
index 1bbac9ce9da1..30c3f08f52e7 100644
--- a/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tomli-w/default.nix b/nixpkgs/pkgs/development/python-modules/tomli-w/default.nix
new file mode 100644
index 000000000000..bbd928ac16c7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tomli-w/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, callPackage
+, fetchFromGitHub
+, flit-core
+}:
+
+buildPythonPackage rec {
+  pname = "tomli-w";
+  version = "1.0.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "hukkin";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-wZSC5uOi1JUeKXIli1I8/Vo0wGsv9Q1I84dAMQQP95w=";
+  };
+
+  nativeBuildInputs = [ flit-core ];
+
+  pythonImportsCheck = [ "tomli_w" ];
+
+  meta = with lib; {
+    description = "A write-only counterpart to Tomli, which is a read-only TOML parser";
+    homepage = "https://github.com/hukkin/tomli-w";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tomli/default.nix b/nixpkgs/pkgs/development/python-modules/tomli/default.nix
index c593e1e4cb19..551655eebf0d 100644
--- a/nixpkgs/pkgs/development/python-modules/tomli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix b/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
index fd6cec70f060..6c8455f060ec 100644
--- a/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix b/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
new file mode 100644
index 000000000000..331729e25c58
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, fetchPypi
+, python
+, buildPythonPackage
+, pythonOlder
+, pytorch
+, pytestCheckHook
+, torchvision
+}:
+
+buildPythonPackage rec {
+  pname = "torchinfo";
+  version = "1.6.3";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-g1xhtdwygzPTTswP8iZ364ynBQE7D+aAsZ3d9EpyvIA=";
+  };
+
+  propagatedBuildInputs = [
+    pytorch
+    torchvision
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Skip as it downloads pretrained weights (require network access)
+    "test_eval_order_doesnt_matter"
+  ];
+
+  pythonImportsCheck = [ "torchvision" ];
+
+  meta = {
+    description = "API to visualize pytorch models";
+    homepage = "https://github.com/TylerYep/torchinfo";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ petterstorvik ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/torchvision/default.nix b/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
index 4774e09f0b6e..7b6384966ab1 100644
--- a/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tornado/4.nix b/nixpkgs/pkgs/development/python-modules/tornado/4.nix
index b4343b5d5ff6..3be82e40a298 100644
--- a/nixpkgs/pkgs/development/python-modules/tornado/4.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
index 2c71d0a17828..7846525f65fd 100644
--- a/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "2021.12";
+  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-cgs6wIMSO8t8CPn6aR35sNcgfDaXDyFBldNEBOr850s=";
+    hash = "sha256-1/uqOxaJqrT+E+0ikNZX9AfIRRbpBSjh2nINrqGWxbY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tox/default.nix b/nixpkgs/pkgs/development/python-modules/tox/default.nix
index 8940a57196ac..2307073c3225 100644
--- a/nixpkgs/pkgs/development/python-modules/tox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tqdm/default.nix b/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
index 606308f88967..3973d68b6c38 100644
--- a/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/traits/default.nix b/nixpkgs/pkgs/development/python-modules/traits/default.nix
index 4e93f1369dd3..9e6b1a5056da 100644
--- a/nixpkgs/pkgs/development/python-modules/traits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/traits/default.nix
@@ -1,29 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy27
-, python
+, pythonOlder
 , numpy
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "traits";
   version = "6.3.2";
-  disabled = isPy27;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "4520ef4a675181f38be4a5bab1b1d5472691597fe2cfe4faf91023e89407e2c6";
   };
 
-  propagatedBuildInputs = [ numpy ];
-
-  # Test suite is broken for 3.x on latest release
-  # https://github.com/enthought/traits/issues/187
-  # https://github.com/enthought/traits/pull/188
-  # Furthermore, some tests fail due to being in a chroot
+  # Circular dependency
   doCheck = false;
 
+  pythonImportsCheck = [
+    "traits"
+  ];
+
   meta = with lib; {
     description = "Explicitly typed attributes for Python";
     homepage = "https://pypi.python.org/pypi/traits";
diff --git a/nixpkgs/pkgs/development/python-modules/transformers/default.nix b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
index 5479a0b12258..814eb1640292 100644
--- a/nixpkgs/pkgs/development/python-modules/transformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.12.5";
+  version = "4.16.2";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07v72fyhm1s3bzg2kvaff15d7d8na39nlqpf5gyxaqvp3hglc3qy";
+    sha256 = "sha256-XF29JKIaOqZ/PdU+zu+wX7TAl1TKz+HcOutHDABc/PY=";
   };
 
   nativeBuildInputs = [ packaging ];
diff --git a/nixpkgs/pkgs/development/python-modules/transip/default.nix b/nixpkgs/pkgs/development/python-modules/transip/default.nix
index 94d3cb85be40..ff37464a0f34 100644
--- a/nixpkgs/pkgs/development/python-modules/transip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transip/default.nix
@@ -1,36 +1,46 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy27
 , requests
 , cryptography
 , suds-jurko
-, pytest
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "transip-api";
+  pname = "transip";
   version = "2.0.0";
-  disabled = isPy27;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "benkonrath";
-    repo = pname;
+    repo = "transip-api";
     rev = "v${version}";
-    sha256 = "153x8ph7cp432flaqiy2zgp060ddychcqcrssxkcmjvbm86xrz17";
+    hash = "sha256-J/zcDapry8pm1zozzCDzrQED7vvCR6yoE4NcduBFfZQ=";
   };
 
-  checkInputs = [ pytest ];
+  propagatedBuildInputs = [
+    requests
+    cryptography
+    suds-jurko
+  ];
 
-  # Constructor Tests require network access
-  checkPhase = ''
-    pytest --deselect=tests/service_tests/test_domain.py::TestDomainService::test_constructor \
-           --deselect tests/service_tests/test_vps.py::TestVPSService::testConstructor \
-           --deselect tests/service_tests/test_webhosting.py::TestWebhostingService::testConstructor
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
+  disabledTests = [
+    # Constructor tests require network access
+    "test_constructor"
+    "testConstructor"
+  ];
 
-  propagatedBuildInputs = [ requests cryptography suds-jurko ];
+  pythonImportsCheck = [
+    "transip"
+  ];
 
   meta = with lib; {
     description = "TransIP API Connector";
diff --git a/nixpkgs/pkgs/development/python-modules/transitions/default.nix b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
index 0dca476debf0..76a82e7c6213 100644
--- a/nixpkgs/pkgs/development/python-modules/transitions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonAtLeast
 , six
 , pygraphviz
 , pytestCheckHook
@@ -13,6 +14,7 @@
 buildPythonPackage rec {
   pname = "transitions";
   version = "0.8.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -36,6 +38,16 @@ 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"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/pytransitions/transitions";
     description = "A lightweight, object-oriented finite state machine implementation in Python";
diff --git a/nixpkgs/pkgs/development/python-modules/translatepy/default.nix b/nixpkgs/pkgs/development/python-modules/translatepy/default.nix
index 986a16db702b..44191bcab808 100644
--- a/nixpkgs/pkgs/development/python-modules/translatepy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix b/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
index 3420773372f4..1e510db97221 100644
--- a/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
@@ -6,6 +6,8 @@
 , requests
 , yarl
 , pythonOlder
+, fetchFromGitHub
+, poetry-core
 }:
 
 buildPythonPackage rec {
@@ -13,11 +15,25 @@ buildPythonPackage rec {
   version = "3.3.0";
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "ef3a931fc1f1db74edf8660e475b9295e0904ee922030ef0e45b0c73f4be65ae";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "Trim21";
+    repo = "transmission-rpc";
+    rev = "v${version}";
+    sha256 = "sha256-Ys9trQMCHqxBSaTobWt8WZwi1F8HKTUKaIxvyo6ZPP0=";
   };
 
+  # remove once upstream has tagged version with dumped typing-extensions
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'typing_extensions = ">=3.7.4.2,<4.0.0.0"' 'typing_extensions = "*"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     six
     typing-extensions
diff --git a/nixpkgs/pkgs/development/python-modules/treeo/default.nix b/nixpkgs/pkgs/development/python-modules/treeo/default.nix
index 3629b47e8a29..f3271b9a3bb2 100644
--- a/nixpkgs/pkgs/development/python-modules/treeo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/treeo/default.nix
@@ -8,26 +8,31 @@
 
 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
   ];
 
-  # These deps are not needed for the wheel, but required during the import.
+  # jax is not declared in the dependencies, but is necessary.
   propagatedBuildInputs = [
     jax
-    jaxlib
   ];
 
+  checkInputs = [ jaxlib ];
   pythonImportsCheck = [
     "treeo"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/treex/default.nix b/nixpkgs/pkgs/development/python-modules/treex/default.nix
new file mode 100644
index 000000000000..7ed83adc64d1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/treex/default.nix
@@ -0,0 +1,77 @@
+{ buildPythonPackage
+, cloudpickle
+, dm-haiku
+, einops
+, fetchFromGitHub
+, flax
+, hypothesis
+, jaxlib
+, keras
+, lib
+, poetry-core
+, pytestCheckHook
+, pyyaml
+, rich
+, tensorflow
+, treeo
+}:
+
+buildPythonPackage rec {
+  pname = "treex";
+  version = "0.6.9";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "cgarciae";
+    repo = pname;
+    rev = version;
+    sha256 = "1yvlldmhji12h249j14ba44hnb9x1fhrj7rh1cx2vn0vxj5wpg7x";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'rich = "^10.7.0"' 'rich = ">=10.7.0"' \
+      --replace 'PyYAML = "^5.4.1"' 'PyYAML = ">=5.4.1"' \
+      --replace 'optax = "^0.0.9"' 'optax = ">=0.0.9"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [ jaxlib ];
+
+  propagatedBuildInputs = [
+    einops
+    flax
+    pyyaml
+    rich
+    treeo
+  ];
+
+  checkInputs = [
+    cloudpickle
+    dm-haiku
+    hypothesis
+    keras
+    pytestCheckHook
+    tensorflow
+  ];
+
+  pythonImportsCheck = [
+    "treex"
+  ];
+
+  disabledTestPaths = [
+    # Require `torchmetrics` which is not packaged in `nixpkgs`.
+    "tests/metrics/test_mean_absolute_error.py"
+    "tests/metrics/test_mean_square_error.py"
+  ];
+
+  meta = with lib; {
+    description = "Pytree Module system for Deep Learning in JAX";
+    homepage = "https://github.com/cgarciae/treex";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ndl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/treq/default.nix b/nixpkgs/pkgs/development/python-modules/treq/default.nix
index 85c5e10e8cb2..f566fda6f8ab 100644
--- a/nixpkgs/pkgs/development/python-modules/treq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/treq/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "treq";
-  version = "21.5.0";
+  version = "22.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02ea86383fc4b57539c45a965eaa1e9fd28302cdf382d21da8430050c97be9b8";
+    sha256 = "sha256-33V+PxQfx4Lt4HamBFIRlP/LQPomRc9I5aNwYDB/Uuw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
index e2ccb99da682..d4da6ee6928a 100644
--- a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.9.36";
+  version = "3.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f01e8edab14d1999700c980c21a1546f37417216ad915a53be649d263130181e";
+    sha256 = "sha256-mPsV25oD8FlPSDOGHOX+nLCN/I6RS83l3efUCgavmHY=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/trio-asyncio/default.nix b/nixpkgs/pkgs/development/python-modules/trio-asyncio/default.nix
index f6feb789690d..25caa3e965fb 100644
--- a/nixpkgs/pkgs/development/python-modules/trio-asyncio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/trio/default.nix b/nixpkgs/pkgs/development/python-modules/trio/default.nix
index 0e95da38eaea..e667f146afc0 100644
--- a/nixpkgs/pkgs/development/python-modules/trio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trio/default.nix
@@ -37,6 +37,10 @@ buildPythonPackage rec {
     "fallback_when_no_hook_claims_it"
   ];
 
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
+  ];
+
   propagatedBuildInputs = [
     attrs
     sortedcontainers
diff --git a/nixpkgs/pkgs/development/python-modules/trytond/default.nix b/nixpkgs/pkgs/development/python-modules/trytond/default.nix
index 8ee48d938e38..c332a067a76b 100644
--- a/nixpkgs/pkgs/development/python-modules/trytond/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trytond/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonApplication rec {
   pname = "trytond";
-  version = "6.2.1";
+  version = "6.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "418f16c45b7130555447af901639b92bb188d39f46ce7fe4dfcd941c5959ed7e";
+    sha256 = "9be5d27aff9ae9b0ab73a8805145b2cc89900b9b513e6d5bfce89e9b7167f8f4";
   };
 
   # Tells the tests which database to use
diff --git a/nixpkgs/pkgs/development/python-modules/ttls/default.nix b/nixpkgs/pkgs/development/python-modules/ttls/default.nix
new file mode 100644
index 000000000000..a389135bc35e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ttls/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, colour
+, fetchFromGitHub
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "ttls";
+  version = "1.4.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "jschlyter";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-zDMgH9o9obfuihX8pXj226T1eMiKx33xyYOGKjdB1wk=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    colour
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "ttls"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Twinkly LEDs";
+    homepage = "https://github.com/jschlyter/ttls";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ttp/default.nix b/nixpkgs/pkgs/development/python-modules/ttp/default.nix
index 38faa10a9282..2157af318110 100644
--- a/nixpkgs/pkgs/development/python-modules/ttp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tumpa/default.nix b/nixpkgs/pkgs/development/python-modules/tumpa/default.nix
index 236cfbb7ba0c..6309e8937a36 100644
--- a/nixpkgs/pkgs/development/python-modules/tumpa/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tweepy/default.nix b/nixpkgs/pkgs/development/python-modules/tweepy/default.nix
index a98911da58d5..a3526eb707be 100644
--- a/nixpkgs/pkgs/development/python-modules/tweepy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix b/nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix
index a8a0fd0c99a6..425b7eddfe99 100644
--- a/nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/twilio/default.nix b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
index 12859fae86cc..ddc94541422c 100644
--- a/nixpkgs/pkgs/development/python-modules/twilio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/twine/default.nix b/nixpkgs/pkgs/development/python-modules/twine/default.nix
index f5809b0a9b90..82c157722d28 100644
--- a/nixpkgs/pkgs/development/python-modules/twine/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/twinkly-client/default.nix b/nixpkgs/pkgs/development/python-modules/twinkly-client/default.nix
index fc856430da95..77eb17b9fcda 100644
--- a/nixpkgs/pkgs/development/python-modules/twinkly-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twinkly-client/default.nix
@@ -7,19 +7,26 @@
 
 buildPythonPackage rec {
   pname = "twinkly-client";
-  version = "0.0.2";
+  version = "0.0.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16jbm4ya4yk2nfswza1kpgks70rmy5lpsv9dv3hdjdnr1j44hr3i";
+    sha256 = "sha256-F/N6yMOvLHIfXvPyR7z3P/Rlh79OvCbvEiNwClLSLl8=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "twinkly_client" ];
+
+  pythonImportsCheck = [
+    "twinkly_client"
+  ];
 
   meta = with lib; {
     description = "Python module to communicate with Twinkly LED strings";
diff --git a/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix b/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix
index 31caed5ebd94..acaf3bf640e5 100644
--- a/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix
@@ -3,18 +3,21 @@
 , fetchFromGitHub
 , requests
 , requests_oauthlib
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "twitterapi";
-  version = "2.7.10";
+  version = "2.7.12";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "geduldig";
     repo = "TwitterAPI";
     rev = "v${version}";
-    sha256 = "sha256-NWvoamSSyMssV4yJpMZtnCwQ5zBpqbgyUA7sJa9854U=";
+    sha256 = "sha256-WqeoIZt2OGDXKPAbjm3cHI1kgiCEJC6+ROXXx4TR4b4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix b/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
index 42568bbca111..93c9c95a62ef 100644
--- a/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/txtorcon/default.nix
@@ -1,4 +1,4 @@
-{ lib, python, buildPythonPackage, pythonOlder, fetchPypi, isPy3k, incremental, ipaddress, twisted
+{ lib, stdenv, python, buildPythonPackage, pythonOlder, fetchPypi, isPy3k, incremental, ipaddress, twisted
 , automat, zope_interface, idna, pyopenssl, service-identity, pytest, mock, lsof
 , GeoIP}:
 
@@ -22,6 +22,7 @@ buildPythonPackage rec {
   # as Python 3.5.
   disabled = pythonOlder "3.5";
 
+  doCheck = !(stdenv.isDarwin && stdenv.isAarch64);
   checkPhase = ''
     ${python.interpreter} -m twisted.trial -j $NIX_BUILD_CORES ./test
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/txzmq/default.nix b/nixpkgs/pkgs/development/python-modules/txzmq/default.nix
new file mode 100644
index 000000000000..6ae66dba90ca
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/txzmq/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pyzmq
+, twisted
+}:
+
+buildPythonPackage rec {
+  pname = "txzmq";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "txZMQ";
+    sha256 = "sha256-jWB9C/CcqUYAuOQvByHb5D7lOgRwGCNErHrOfljcYXc=";
+  };
+
+  propagatedBuildInputs = [
+    pyzmq
+    twisted
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "txzmq" ];
+
+  meta = with lib; {
+    description = "Twisted bindings for ZeroMQ";
+    homepage = "https://github.com/smira/txZMQ";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix b/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
index 63e1502226d9..8b2ff2de5129 100644
--- a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/types-dateutil/default.nix b/nixpkgs/pkgs/development/python-modules/types-dateutil/default.nix
new file mode 100644
index 000000000000..4614a92ae64f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix b/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
index 4436c5a2a6a4..f8dc74c00f98 100644
--- a/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-decorator";
-  version = "5.1.2";
+  version = "5.1.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b3dd9027af1131b4e55ccd09248b7accc7a02d567139e2009ed20db13cf90600";
+    sha256 = "463c04b192108e2b3f409df8a3eaaf8d44e3e98965c11e473ed2a97da591798b";
   };
 
   # Modules doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-freezegun/default.nix b/nixpkgs/pkgs/development/python-modules/types-freezegun/default.nix
new file mode 100644
index 000000000000..687ddd1b17cc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-freezegun/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-freezegun";
+  version = "1.1.6";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-XHCkt0RLjH3SgA4AY9b+chqxEgk5kmT6D3evJT3YsU8=";
+  };
+
+  # Module doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "freezegun-stubs"
+  ];
+
+  meta = with lib; {
+    description = "Typing stubs for freezegun";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jpetrucciani ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-futures/default.nix b/nixpkgs/pkgs/development/python-modules/types-futures/default.nix
index 845dab08d330..afff438efef1 100644
--- a/nixpkgs/pkgs/development/python-modules/types-futures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-futures/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "types-futures";
-  version = "3.3.1";
+  version = "3.3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bbdad92cec642693bac10fbbecf834776009db7782d91dc293bdd123be73186d";
+    sha256 = "6fe8ccc2c2af7ef2fdd9bf73eab6d617074f09f30ad7d373510b4043d39c42de";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
index 382bd3111741..1055a91b675d 100644
--- a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "3.18.2";
+  version = "3.19.12";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-yiHe3+d1msvrDNj1xyp0/zxAmuDAe8HZTv9RI6wPojw=";
+    sha256 = "sha256-sCIkc0dHEhmsvi/mjS82I9eIJS6Z6blzWLerkE0ming=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix b/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
index b9d0abc25b11..1fc7dd5f9b61 100644
--- a/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2021.3.3";
+  version = "2021.3.5";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9tIdZoeTWhYV20ZLHh34ANGVAsNrwEhvQ759/SxASUc=";
+    sha256 = "sha256-/vjeI47pUTWVIimiojv7h71j1abIWYEGpGz89I8Gnqg=";
   };
 
   # Modules doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
index 3006c2c5e99e..4fc0cf836a15 100644
--- a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
@@ -1,18 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, types-urllib3
 }:
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.26.3";
+  version = "2.27.10";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1j+mF4Rtzv/1qi1Z5Hq0/9gG5LsFZxFfetu15DgwL+Q=";
+    sha256 = "sha256-XcsIj8qneO/u5rf8RpZwN+mD+/uf7AJZRXi9M/115VU=";
   };
 
+  propagatedBuildInputs = [
+    types-urllib3
+  ];
+
   # Module doesn't have tests
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
index b88dc5b0260b..24ee2ce5b294 100644
--- a/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "57.4.5";
+  version = "57.4.9";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pGAO/cpoozIErZwIP9mWbWOu5hp9AH6RK2r8b/V9bgI=";
+    sha256 = "sha256-U273R0T44eS+T8cZiH+IbnTkzzx5K0oGmEMgvk30ULU=";
   };
 
   # Module doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-tabulate/default.nix b/nixpkgs/pkgs/development/python-modules/types-tabulate/default.nix
new file mode 100644
index 000000000000..9e5c9b628b2d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-tabulate/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-tabulate";
+  version = "0.8.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-A/KDvzhOoSG3tqWK+zj03vl/MHBPyhOg2mhpNrDzkqw=";
+  };
+
+  # Module doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "tabulate-stubs"
+  ];
+
+  meta = with lib; {
+    description = "Typing stubs for tabulate";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jpetrucciani ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-toml/default.nix b/nixpkgs/pkgs/development/python-modules/types-toml/default.nix
index d87528c20324..affdbbb2b447 100644
--- a/nixpkgs/pkgs/development/python-modules/types-toml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-toml/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-toml";
-  version = "0.10.1";
+  version = "0.10.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jqh0vki1hccj391gnxpblim429sj56npgq2z749f8v9ay6qy7sw";
+    sha256 = "sha256-k0DnwVh3FVgbsTkFs68wt5/mivrM/KN3Zl1eY7aUEpo=";
   };
 
   # Module doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix b/nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix
index 4962f2d02e3a..e08450c6a3e7 100644
--- a/nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix b/nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix
new file mode 100644
index 000000000000..3e6eac4427a0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-urllib3";
+  version = "1.26.9";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-q9LUhXg3SCsYNLSBfwWHZ43MUx28mr5M3k2ijO8/Uiw=";
+  };
+
+  # Module doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "urllib3-stubs"
+  ];
+
+  meta = with lib; {
+    description = "Typing stubs for urllib3";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/typesystem/default.nix b/nixpkgs/pkgs/development/python-modules/typesystem/default.nix
index f7dcf33ea7fd..30d26293e5d1 100644
--- a/nixpkgs/pkgs/development/python-modules/typesystem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typesystem/default.nix
@@ -1,23 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy27
-, pytestCheckHook
-, pytest-cov
 , jinja2
+, pytestCheckHook
+, pythonOlder
 , pyyaml
 }:
 
 buildPythonPackage rec {
   pname = "typesystem";
-  version = "0.2.4";
-  disabled = isPy27;
+  version = "0.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "1k0jwcky17zwaz2vx4x2zbsnp270g4mgn7kx5bpl8jgx76qmsnba";
+    hash = "sha256-fjnheHWjIDbJY1iXCRKCpqTCwtUWK9YXbynRCZquQ7c=";
   };
 
   propagatedBuildInputs = [
@@ -27,23 +28,16 @@ buildPythonPackage rec {
 
   checkInputs = [
     pytestCheckHook
-    pytest-cov
   ];
 
-  disabledTests = [
-    # https://github.com/encode/typesystem/issues/102. cosmetic issue where python3.8 changed
-    # the default string formatting of regular expression flags which breaks test assertion
-    "test_to_json_schema_complex_regular_expression"
-  ];
-  disabledTestPaths = [
-    # for some reason jinja2 not picking up forms directory (1% of tests)
-    "tests/test_forms.py"
+  pythonImportsCheck = [
+    "typesystem"
   ];
 
   meta = with lib; {
     description = "A type system library for Python";
     homepage = "https://github.com/encode/typesystem";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers =  with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/typical/default.nix b/nixpkgs/pkgs/development/python-modules/typical/default.nix
index ee815fa15e1f..96a07802b1c8 100644
--- a/nixpkgs/pkgs/development/python-modules/typical/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typical/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fastjsonschema
 , fetchFromGitHub
+, fetchpatch
 , future-typing
 , inflection
 , mypy
@@ -18,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "typical";
-  version = "2.7.9";
+  version = "2.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,13 +28,9 @@ buildPythonPackage rec {
     owner = "seandstewart";
     repo = "typical";
     rev = "v${version}";
-    sha256 = "sha256-ITIsSM92zftnvqLiVGFl//IbBb8N3ffkkqohzOx2JO4=";
+    hash = "sha256-DRjQmoZzWw5vpwIx70wQg6EO/aHqyX7RWpWZ9uOxSTg=";
   };
 
-  patches = [
-    ./use-poetry-core.patch
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
@@ -56,6 +53,15 @@ buildPythonPackage rec {
     pandas
   ];
 
+  patches = [
+    # Switch to poetry-core, https://github.com/seandstewart/typical/pull/193
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/seandstewart/typical/commit/66b3c34f8969b7fb1f684f0603e514405bab0dd7.patch";
+      sha256 = "sha256-c7qJOtHmJRnVEGl+OADB3HpjvMK8aYDD9+0gplOn9pQ=";
+    })
+  ];
+
   disabledTests = [
     # We use orjson
     "test_ujson"
@@ -65,6 +71,8 @@ buildPythonPackage rec {
 
   disabledTestPaths = [
     "benchmark/"
+    # Tests are failing on Hydra
+    "tests/mypy/test_mypy.py"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/typical/use-poetry-core.patch b/nixpkgs/pkgs/development/python-modules/typical/use-poetry-core.patch
deleted file mode 100644
index f3c32e621aea..000000000000
--- a/nixpkgs/pkgs/development/python-modules/typical/use-poetry-core.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index a588a0d..43da394 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -154,7 +154,7 @@ exclude = '''
- 
- [build-system]
- requires = ["poetry>=0.12"]
--build-backend = "poetry.masonry.api"
-+build-backend = "poetry.core.masonry.api"
- 
- [bumpver]
- current_version = "v2.7.5"
diff --git a/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
index 939ca25eb1a3..1e29bc9a6160 100644
--- a/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
@@ -1,27 +1,41 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy3k, python, typing }:
-let
-  testDir = if isPy3k then "src_py3" else "src_py2";
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flit-core
+, python
+, pythonOlder
+}:
 
-in buildPythonPackage rec {
-  pname = "typing_extensions";
-  version = "3.10.0.2";
+buildPythonPackage rec {
+  pname = "typing-extensions";
+  version = "4.0.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e";
+    pname = "typing_extensions";
+    inherit version;
+    hash = "sha256-TKCR3qFJ+UXsVq+0ja5xTyHoaS7yKjlSI7zTKJYbag4=";
   };
 
-  checkInputs = lib.optional (pythonOlder "3.5") typing;
-
-  # Error for Python3.6: ImportError: cannot import name 'ann_module'
-  # See https://github.com/python/typing/pull/280
-  doCheck = pythonOlder "3.6";
+  nativeBuildInputs = [
+    flit-core
+  ];
 
-  checkPhase = ''
-    cd ${testDir}
-    ${python.interpreter} -m unittest discover
+  postPatch = ''
+    # Remove metadata for README which are outdated
+    sed -i -e '11,24d' pyproject.toml
   '';
 
+  # Tests are not part of PyPI releases. GitHub source can't be used
+  # as it ends with an infinite recursion
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "typing_extensions"
+  ];
+
   meta = with lib; {
     description = "Backported and Experimental Type Hints for Python 3.5+";
     homepage = "https://github.com/python/typing";
diff --git a/nixpkgs/pkgs/development/python-modules/tzdata/default.nix b/nixpkgs/pkgs/development/python-modules/tzdata/default.nix
index 7f1803d12c62..cfc46a658d34 100644
--- a/nixpkgs/pkgs/development/python-modules/tzdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tzdata/default.nix
@@ -1,28 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonOlder
-, pytestCheckHook
-, pytest-subtests
 , importlib-resources
+, pytest-subtests
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tzdata";
-  version = "2021.1";
+  version = "2021.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-4ZxzUfiHUioaxznSEEHlkt3ebdG3ZP3vqPeys1UdPTg=";
+    hash = "sha256-aNvkGv0BuGeJS739VPoD9GjPpPAIa/tK3NjejyTz7iE=";
   };
 
   checkInputs = [
     pytestCheckHook
     pytest-subtests
-  ] ++ lib.optional (pythonOlder "3.7") importlib-resources;
+  ] ++ lib.optional (pythonOlder "3.7") [
+    importlib-resources
+  ];
 
-  pythonImportsCheck = [ "tzdata" ];
+  pythonImportsCheck = [
+    "tzdata"
+  ];
 
   meta = with lib; {
     description = "Provider of IANA time zone data";
diff --git a/nixpkgs/pkgs/development/python-modules/uamqp/default.nix b/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
index 15f098d90e48..f3c8792e569c 100644
--- a/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "uamqp";
-  version = "1.4.3";
+  version = "1.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-L4IQWnxRRL3yopNT91Mk8KKdph9Vg2PHkGH+86uDu7c=";
+    sha256 = "sha256-VevtbXtOTKQEqVYpNKFrDhvyDBJY+uQMhld6in+EroE=";
   };
 
   nativeBuildInputs = [
@@ -41,15 +41,6 @@ buildPythonPackage rec {
     enum34
   ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/Azure/azure-c-shared-utility/commit/52ab2095649b5951e6af77f68954209473296983.patch";
-      sha256 = "06pxhdpkv94pv3lhj1vy0wlsqsdznz485bvg3zafj67r55g40lhd";
-      stripLen = "2";
-      extraPrefix = "src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/";
-    })
-  ];
-
   dontUseCmakeConfigure = true;
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix b/nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix
new file mode 100644
index 000000000000..a3458b2f332f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, fonttools
+, defcon
+, compreffor
+, booleanoperations
+, cffsubr
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ufo2ft";
+  version = "2.25.2";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ooWIHvyMtrht4WcGPiacY8dfjPSb5uitHnTRTKvf2AA=";
+  };
+
+  patches = [
+    # Use cu2qu from fonttools.
+    # https://github.com/googlefonts/ufo2ft/pull/461
+    ./fonttools-cu2qu.patch
+  ];
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    fonttools
+    defcon
+    compreffor
+    booleanoperations
+    cffsubr
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    # Do not depend on skia.
+    "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_CFF_pathops"
+    "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_pathops"
+    "--deselect=tests/preProcessor_test.py::TTFPreProcessorTest::test_custom_filters_as_argument"
+    "--deselect=tests/preProcessor_test.py::TTFInterpolatablePreProcessorTest::test_custom_filters_as_argument"
+  ];
+
+  pythonImportsCheck = [ "ufo2ft" ];
+
+  meta = with lib; {
+    description = "Bridge from UFOs to FontTools objects";
+    homepage = "https://github.com/googlefonts/ufo2ft";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch b/nixpkgs/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
new file mode 100644
index 000000000000..892cd4abeb30
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
@@ -0,0 +1,126 @@
+From 0b3631e91c93d56460929f40850f7d8a39a71bde Mon Sep 17 00:00:00 2001
+From: Simon Cozens <simon@simon-cozens.org>
+Date: Thu, 11 Feb 2021 09:43:41 +0000
+Subject: [PATCH 1/2] Rename cu2qu to fontTools.cu2qu
+
+---
+ Lib/ufo2ft/filters/cubicToQuadratic.py | 4 ++--
+ Lib/ufo2ft/preProcessor.py             | 4 ++--
+ requirements.txt                       | 1 -
+ setup.py                               | 1 -
+ tests/outlineCompiler_test.py          | 2 +-
+ tests/preProcessor_test.py             | 2 +-
+ 6 files changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
+index 87d81b1f..4b77144f 100644
+--- a/Lib/ufo2ft/filters/cubicToQuadratic.py
++++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
+@@ -1,7 +1,7 @@
+ import logging
+ 
+-from cu2qu.pens import Cu2QuPointPen
+-from cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
++from fontTools.pens.cu2quPen import Cu2QuPointPen
++from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
+ 
+ from ufo2ft.filters import BaseFilter
+ from ufo2ft.fontInfoData import getAttrWithFallback
+diff --git a/Lib/ufo2ft/preProcessor.py b/Lib/ufo2ft/preProcessor.py
+index 05ac47dc..c796df2e 100644
+--- a/Lib/ufo2ft/preProcessor.py
++++ b/Lib/ufo2ft/preProcessor.py
+@@ -217,7 +217,7 @@ def __init__(
+         layerNames=None,
+         skipExportGlyphs=None,
+     ):
+-        from cu2qu.ufo import DEFAULT_MAX_ERR
++        from fontTools.cu2qu.ufo import DEFAULT_MAX_ERR
+ 
+         self.ufos = ufos
+         self.inplace = inplace
+@@ -249,7 +249,7 @@ def __init__(
+             self.postFilters.append(post)
+ 
+     def process(self):
+-        from cu2qu.ufo import fonts_to_quadratic
++        from fontTools.cu2qu.ufo import fonts_to_quadratic
+ 
+         # first apply all custom pre-filters
+         for funcs, ufo, glyphSet in zip(self.preFilters, self.ufos, self.glyphSets):
+diff --git a/setup.py b/setup.py
+index 175429af..eef39ee1 100644
+--- a/setup.py
++++ b/setup.py
+@@ -30,7 +30,6 @@
+     tests_require=["pytest>=2.8"],
+     install_requires=[
+         "fonttools[ufo]>=4.28.5",
+-        "cu2qu>=1.6.7",
+         "cffsubr>=0.2.8",
+         "booleanOperations>=0.9.0",
+     ],
+diff --git a/tests/outlineCompiler_test.py b/tests/outlineCompiler_test.py
+index 74319184..e7b15a23 100644
+--- a/tests/outlineCompiler_test.py
++++ b/tests/outlineCompiler_test.py
+@@ -2,7 +2,7 @@
+ import os
+ 
+ import pytest
+-from cu2qu.ufo import font_to_quadratic
++from fontTools.cu2qu.ufo import font_to_quadratic
+ from fontTools.ttLib import TTFont
+ from fontTools.ttLib.tables._g_l_y_f import USE_MY_METRICS
+ 
+diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
+index 64196f92..87b23946 100644
+--- a/tests/preProcessor_test.py
++++ b/tests/preProcessor_test.py
+@@ -2,7 +2,7 @@
+ import os
+ 
+ import pytest
+-from cu2qu.ufo import CURVE_TYPE_LIB_KEY
++from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
+ from fontTools import designspaceLib
+ 
+ import ufo2ft
+
+From 27c5af88ec2c3314618ecbf65104050a53508bb0 Mon Sep 17 00:00:00 2001
+From: Simon Cozens <simon@simon-cozens.org>
+Date: Thu, 11 Feb 2021 09:49:28 +0000
+Subject: [PATCH 2/2] Sort the imports
+
+---
+ Lib/ufo2ft/filters/cubicToQuadratic.py | 2 +-
+ tests/preProcessor_test.py             | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
+index 4b77144f..5f28ea42 100644
+--- a/Lib/ufo2ft/filters/cubicToQuadratic.py
++++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
+@@ -1,7 +1,7 @@
+ import logging
+ 
+-from fontTools.pens.cu2quPen import Cu2QuPointPen
+ from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
++from fontTools.pens.cu2quPen import Cu2QuPointPen
+ 
+ from ufo2ft.filters import BaseFilter
+ from ufo2ft.fontInfoData import getAttrWithFallback
+diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
+index 87b23946..76ee495a 100644
+--- a/tests/preProcessor_test.py
++++ b/tests/preProcessor_test.py
+@@ -2,8 +2,8 @@
+ import os
+ 
+ import pytest
+-from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
+ from fontTools import designspaceLib
++from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
+ 
+ import ufo2ft
+ from ufo2ft.constants import (
diff --git a/nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix b/nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix
new file mode 100644
index 000000000000..21894203d1ad
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, attrs
+, fonttools
+, pytestCheckHook
+, fs
+}:
+
+buildPythonPackage rec {
+  pname = "ufoLib2";
+  version = "0.13.1";
+
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-MnWi2mI+bUt+4pyYTNs6W4a7wj8KHOlEhti7XDCKpHs=";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    fonttools
+    # required by fonttools[ufo]
+    fs
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+pythonImportsCheck = [ "ufoLib2" ];
+
+  meta = with lib; {
+    description = "Library to deal with UFO font sources";
+    homepage = "https://github.com/fonttools/ufoLib2";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ujson/default.nix b/nixpkgs/pkgs/development/python-modules/ujson/default.nix
index 4d12af0689d8..0d7faf93f934 100644
--- a/nixpkgs/pkgs/development/python-modules/ujson/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix b/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
index 81d70b0afc0d..91e8512d18d1 100644
--- a/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
@@ -52,6 +52,9 @@ buildPythonPackage rec {
 
     # Flaky test. Fails with AssertionError sometimes.
     "test_sparse_hellinger"
+
+    # tensorflow maybe incompatible? https://github.com/lmcinnes/umap/issues/821
+    "test_save_load"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/uncertainties/default.nix b/nixpkgs/pkgs/development/python-modules/uncertainties/default.nix
index c132f50dbea0..180baf0d4dde 100644
--- a/nixpkgs/pkgs/development/python-modules/uncertainties/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix b/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix
index 565f0f557208..a14895fa7996 100644
--- a/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix
@@ -1,18 +1,17 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytest }:
+{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, isPy27 }:
 
 buildPythonPackage rec {
   pname = "unicodedata2";
-  version = "13.0.0-2";
+  version = "14.0.0";
 
-  src = fetchFromGitHub {
-    owner  = "mikekap";
-    repo   = pname;
-    rev    = version;
-    sha256 = "0p9brbiwyg98q52y0gfyps52xv57fwqfpq0mn18p1xc1imip3h2b";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "110nnvh02ssp92xbmswy39aa186jrmb7m41x4220wigl8c0dzxs1";
   };
 
-  checkInputs = [ pytest ];
-  checkPhase = "pytest tests";
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     description = "Backport and updates for the unicodedata module";
diff --git a/nixpkgs/pkgs/development/python-modules/unittest2/default.nix b/nixpkgs/pkgs/development/python-modules/unittest2/default.nix
index ae8cab53b0c5..e044176242d5 100644
--- a/nixpkgs/pkgs/development/python-modules/unittest2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/upb-lib/default.nix b/nixpkgs/pkgs/development/python-modules/upb-lib/default.nix
index 356a290241ed..52b422c0e1d3 100644
--- a/nixpkgs/pkgs/development/python-modules/upb-lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/upb-lib/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "upb-lib";
-  version = "0.4.12";
+  version = "0.5.1";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e668055d9c389aefd09203afb96a950a320095f225ef0a1aa611e592db92a71b";
+    hash = "sha256-iXwJPe6YYG2TWiQ/dXbeIiadzGMgFzZa6Now692r+t0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uproot/default.nix b/nixpkgs/pkgs/development/python-modules/uproot/default.nix
index ef262e057e24..bf523046c616 100644
--- a/nixpkgs/pkgs/development/python-modules/uproot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix b/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix
index 5077267528a5..814e7fd8c19a 100644
--- a/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uritemplate/default.nix
@@ -1,25 +1,38 @@
-{ lib, buildPythonPackage, fetchPypi, simplejson, pytest, glibcLocales }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, simplejson
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "uritemplate";
-  version = "3.0.1";
+  version = "4.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae";
+    sha256 = "sha256-Q0bt/Fw7efaUvM1tYJmjIrvrYo2/LNhu6lWkVs5RJPA=";
   };
 
-  propagatedBuildInputs = [ simplejson ];
+  propagatedBuildInputs = [
+    simplejson
+  ];
 
-  checkInputs = [ pytest glibcLocales ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    LC_ALL=en_US.UTF-8 py.test
-  '';
+  pythonImportsCheck = [
+    "uritemplate"
+  ];
 
   meta = with lib; {
+    description = "Implementation of RFC 6570 URI templates";
     homepage = "https://github.com/python-hyper/uritemplate";
-    description = "URI template parsing for Humans";
     license = with licenses; [ asl20 bsd3 ];
     maintainers = with maintainers; [ matthiasbeyer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/url-normalize/default.nix b/nixpkgs/pkgs/development/python-modules/url-normalize/default.nix
index ea7825d9ffd2..3032f7791a70 100644
--- a/nixpkgs/pkgs/development/python-modules/url-normalize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/url-normalize/default.nix
@@ -1,8 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, poetry
-, pytest-cov
+, fetchpatch
+, poetry-core
 , pytest-flakes
 , pytest-mock
 , pytest-socket
@@ -19,22 +19,41 @@ buildPythonPackage rec {
     owner = "niksite";
     repo = pname;
     rev = version;
-    sha256 = "09nac5nh94x0n4bfazjfxk96b20mfsx6r1fnvqv85gkzs0rwqkaq";
+    hash = "sha256-WE3MM9B/voI23taFbLp2FYhl0uxOfuUWsaCTBG1hyiY=";
   };
 
-  nativeBuildInputs = [ poetry ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [
+    six
+  ];
 
   checkInputs = [
-    pytest-cov
     pytest-flakes
     pytest-mock
     pytest-socket
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "url_normalize" ];
+  patches = [
+    # Switch to poetry-core, https://github.com/niksite/url-normalize/pull/28
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/niksite/url-normalize/commit/b8557b10c977b191cc9d37e6337afe874a24ad08.patch";
+      sha256 = "sha256-SVCQATV9V6HbLmjOHs7V7eBagO0PuqZLubIJghBYfQQ=";
+    })
+  ];
+
+  postPatch = ''
+    sed -i "/--cov/d" tox.ini
+    sed -i "/--flakes/d" tox.ini
+  '';
+
+  pythonImportsCheck = [
+    "url_normalize"
+  ];
 
   meta = with lib; {
     description = "URL normalization for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/urlextract/default.nix b/nixpkgs/pkgs/development/python-modules/urlextract/default.nix
index cc5d2ae000ca..8d2c62de4e83 100644
--- a/nixpkgs/pkgs/development/python-modules/urlextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urlextract/default.nix
@@ -1,27 +1,31 @@
 { lib
-, appdirs
 , buildPythonPackage
 , dnspython
 , fetchPypi
 , filelock
 , idna
+, platformdirs
 , pytestCheckHook
+, pythonOlder
 , uritools
 }:
 
 buildPythonPackage rec {
   pname = "urlextract";
-  version = "1.4.0";
+  version = "1.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "669f07192584b841b49ba8868fbd6b00e7ddc28367d36a3d8ca8c8e429420748";
+    hash = "sha256-QKXIQ9HXJTdY9W8NZ0jF6iekoUVl46kvJakW3cTB5B8=";
   };
 
   propagatedBuildInputs = [
-    appdirs
     filelock
     idna
+    platformdirs
     uritools
   ];
 
@@ -39,7 +43,9 @@ buildPythonPackage rec {
     "test_dns_cache_reuse"
   ];
 
-  pythonImportsCheck = [ "urlextract" ];
+  pythonImportsCheck = [
+    "urlextract"
+  ];
 
   meta = with lib; {
     description = "Collects and extracts URLs from given text";
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
index 91bc6e68eb36..4c1a61b09fc6 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/userpath/default.nix b/nixpkgs/pkgs/development/python-modules/userpath/default.nix
index 6ce92e9f3b47..636409f1d967 100644
--- a/nixpkgs/pkgs/development/python-modules/userpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/userpath/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     description = "Cross-platform tool for adding locations to the user PATH";
     homepage = "https://github.com/ofek/userpath";
     license = [ licenses.asl20 licenses.mit ];
-    maintainers = with maintainers; [ yevhenshymotiuk ];
+    maintainers = with maintainers; [ yshym ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix b/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
index 57c6bf925357..4ce9228efee8 100644
--- a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/vega/default.nix b/nixpkgs/pkgs/development/python-modules/vega/default.nix
index 50fc4275c9be..9bc875963163 100644
--- a/nixpkgs/pkgs/development/python-modules/vega/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix b/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
index e871912adf7a..efa5a0fc29f8 100644
--- a/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2021.11.7";
+  version = "2022.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = pname;
     rev = version;
-    sha256 = "0i1vfyhyvn908vz55agmfds3zwp6qpbpip055d995nx79ysxz0j9";
+    sha256 = "sha256-oWHyEw1DjMynLPAARcVaqsFccpnTk1/7gpq+8TU95d0=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix b/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix
index 69d77551fcd3..951ae8d9874d 100644
--- a/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix
@@ -1,8 +1,19 @@
-{ lib, buildPythonPackage, fetchFromGitHub, GitPython, pytestCheckHook, backoff, requests }:
+{ lib
+, backoff
+, buildPythonPackage
+, fetchFromGitHub
+, GitPython
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
 
 buildPythonPackage rec {
   pname = "versionfinder";
   version = "1.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jantman";
@@ -22,11 +33,18 @@ buildPythonPackage rec {
   ];
 
   disabledTestPaths = [
-    # acceptance tests use the network
+    # Acceptance tests use the network
     "versionfinder/tests/test_acceptance.py"
   ];
 
-  pythonImportsCheck = [ "versionfinder" ];
+  disabledTests = [
+    # Tests are out-dated
+    "TestFindPipInfo"
+  ];
+
+  pythonImportsCheck = [
+    "versionfinder"
+  ];
 
   meta = with lib; {
     description = "Find the version of another package, whether installed via pip, setuptools or git";
diff --git a/nixpkgs/pkgs/development/python-modules/versiontag/default.nix b/nixpkgs/pkgs/development/python-modules/versiontag/default.nix
index aebf40a40f51..8c4bb49ebaff 100644
--- a/nixpkgs/pkgs/development/python-modules/versiontag/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
index cc6655a3b6c4..a456c5232d80 100644
--- a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "vertica-python";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce0abfc5909d06031dc612ec321d7f75df50bcb47a31e14e882a299cea2ea7a3";
+    sha256 = "cfe1794c5ba9fdfbd470a55d82f60c2e08e129828367753bf64199a58a539bc2";
   };
 
   propagatedBuildInputs = [ future python-dateutil six ];
diff --git a/nixpkgs/pkgs/development/python-modules/vine/default.nix b/nixpkgs/pkgs/development/python-modules/vine/default.nix
index 8fc895cfa44c..3f272a84b89b 100644
--- a/nixpkgs/pkgs/development/python-modules/vine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vine/default.nix
@@ -1,22 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi
-, case, pytest, pythonOlder }:
+{ lib
+, buildPythonPackage
+, case
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "vine";
   version = "5.0.0";
+  format = "setuptools";
 
-  disable = pythonOlder "2.7";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e";
+    hash = "sha256-fTsWJKlT2oLvY0YgE7vScdPrdXUUifmAdZjo80C9Y34=";
   };
 
-  buildInputs = [ case pytest ];
+  checkInputs = [
+    case
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "vine"
+  ];
 
   meta = with lib; {
     description = "Python promises";
     homepage = "https://github.com/celery/vine";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/virtual-display/default.nix b/nixpkgs/pkgs/development/python-modules/virtual-display/default.nix
index f2f6dd31a504..bc7469e1d61a 100644
--- a/nixpkgs/pkgs/development/python-modules/virtual-display/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
index d51b3d783796..c463c37747ea 100644
--- a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/vispy/default.nix b/nixpkgs/pkgs/development/python-modules/vispy/default.nix
index 5967b9b9abb7..47a966332548 100644
--- a/nixpkgs/pkgs/development/python-modules/vispy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/vivisect/default.nix b/nixpkgs/pkgs/development/python-modules/vivisect/default.nix
index d664cf1d27fe..ddf6ce54b25e 100644
--- a/nixpkgs/pkgs/development/python-modules/vivisect/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix b/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
index 2f950ecd6c44..87c3d7fe30c3 100644
--- a/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "vowpalwabbit";
-  version = "8.11.0";
+  version = "9.0.1";
 
   src = fetchPypi{
     inherit pname version;
-    sha256 = "cfde0515a3fa4d224aad5461135372f3441ae1a64717ae6bff5e23509d70b0bd";
+    sha256 = "sha256-rDUgOjroY8S73+s+MWyBl86u+8XCH4O8KMCo9zUlqAs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vt-py/default.nix b/nixpkgs/pkgs/development/python-modules/vt-py/default.nix
index 80c297fe773c..2d0988473ddb 100644
--- a/nixpkgs/pkgs/development/python-modules/vt-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vt-py/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "vt-py";
-  version = "0.11.0";
+  version = "0.13.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-PpgN9adGNZOorOUigsBVOb//ZafUaYHfo/Fv1IZf/XA=";
+    rev = version;
+    sha256 = "sha256-85ohhynXHWjuwKB18DciB48tNGZcHzafobMDaGoTkoc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/waitress-django/default.nix b/nixpkgs/pkgs/development/python-modules/waitress-django/default.nix
index e76d1f110296..4e40980d917a 100644
--- a/nixpkgs/pkgs/development/python-modules/waitress-django/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/waitress-django/setup.py b/nixpkgs/pkgs/development/python-modules/waitress-django/setup.py
index 07f7b326fdaf..16fde78f42a9 100644
--- a/nixpkgs/pkgs/development/python-modules/waitress-django/setup.py
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wandb/default.nix b/nixpkgs/pkgs/development/python-modules/wandb/default.nix
new file mode 100644
index 000000000000..6b10b30a1930
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/wandb/default.nix
@@ -0,0 +1,140 @@
+{ azure-core
+, bokeh
+, buildPythonPackage
+, click
+, configparser
+, docker_pycreds
+, fetchFromGitHub
+, flask
+, git
+, GitPython
+, jsonref
+, jsonschema
+, lib
+, matplotlib
+, nbformat
+, pandas
+, pathtools
+, promise
+, protobuf
+, psutil
+, pydantic
+, pytest-mock
+, pytest-xdist
+, pytestCheckHook
+, python
+, python-dateutil
+, pyyaml
+, requests
+, scikit-learn
+, sentry-sdk
+, setuptools
+, shortuuid
+, stdenv
+, tqdm
+, yaspin
+}:
+
+buildPythonPackage rec {
+  pname = "wandb";
+  version = "0.12.10";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = "client";
+    rev = "v${version}";
+    sha256 = "198c6zx7xih74cw0dwfqw7s7b7whik7wv4nfq6x6xw0kw86r6hby";
+  };
+
+  # The wandb requirements.txt does not distinguish python2/3 dependencies. We
+  # need to drop the subprocess32 dependency when building for python3.
+  patchPhase = ''
+    substituteInPlace requirements.txt --replace "subprocess32>=3.5.3" ""
+  '';
+
+  # git is not a setup.py dependency of wandb, but wandb does expect git to be
+  # in PATH. See https://gist.github.com/samuela/57aeee710e41ab2bf361b7ed8fbbeabf
+  # for the error message, and an example usage here: https://github.com/wandb/client/blob/master/wandb/sdk/internal/meta.py#L139-L141.
+  # setuptools is necessary since pkg_resources is required at runtime.
+  propagatedBuildInputs = [
+    click
+    configparser
+    docker_pycreds
+    git
+    GitPython
+    pathtools
+    promise
+    protobuf
+    psutil
+    python-dateutil
+    pyyaml
+    requests
+    sentry-sdk
+    setuptools
+    shortuuid
+    yaspin
+  ];
+
+  disabledTestPaths = [
+    # Tests that try to get chatty over sockets or spin up servers, not possible in the nix build environment.
+    "tests/test_cli.py"
+    "tests/test_data_types.py"
+    "tests/test_file_stream.py"
+    "tests/test_file_upload.py"
+    "tests/test_footer.py"
+    "tests/test_internal_api.py"
+    "tests/test_label_full.py"
+    "tests/test_login.py"
+    "tests/test_meta.py"
+    "tests/test_metric_full.py"
+    "tests/test_metric_internal.py"
+    "tests/test_mode_disabled.py"
+    "tests/test_mp_full.py"
+    "tests/test_public_api.py"
+    "tests/test_redir.py"
+    "tests/test_runtime.py"
+    "tests/test_sender.py"
+    "tests/test_start_method.py"
+    "tests/test_tb_watcher.py"
+    "tests/test_telemetry_full.py"
+    "tests/wandb_agent_test.py"
+    "tests/wandb_artifacts_test.py"
+    "tests/wandb_history_test.py"
+    "tests/wandb_integration_test.py"
+    "tests/wandb_run_test.py"
+    "tests/wandb_settings_test.py"
+    "tests/wandb_sweep_test.py"
+
+    # Fails and borks the pytest runner as well.
+    "tests/wandb_test.py"
+
+    # Tries to access /homeless-shelter
+    "tests/test_tables.py"
+  ];
+
+  checkInputs = [
+    azure-core
+    bokeh
+    flask
+    jsonref
+    jsonschema
+    matplotlib
+    nbformat
+    pandas
+    pydantic
+    pytest-mock
+    pytest-xdist
+    pytestCheckHook
+    scikit-learn
+    tqdm
+  ];
+
+  pythonImportsCheck = [ "wandb" ];
+
+  meta = with lib; {
+    description = "A CLI and library for interacting with the Weights and Biases API";
+    homepage = "https://github.com/wandb/client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/warcio/default.nix b/nixpkgs/pkgs/development/python-modules/warcio/default.nix
new file mode 100644
index 000000000000..ae870a37fe57
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/warcio/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, six
+, setuptools
+, pytestCheckHook
+, httpbin
+, requests
+, wsgiprox
+, multidict
+}:
+
+buildPythonPackage rec {
+  pname = "warcio";
+  version = "1.7.4";
+
+  src = fetchFromGitHub {
+    owner = "webrecorder";
+    repo = "warcio";
+    rev = "aa702cb321621b233c6e5d2a4780151282a778be"; # Repo has no git tags, see https://github.com/webrecorder/warcio/issues/126
+    sha256 = "sha256-wn2rd73wRfOqHu9H0GIn76tmEsERBBCQatnk4b/JToU=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "add-offline-option.patch";
+      url = "https://github.com/webrecorder/warcio/pull/135/commits/2546fe457c57ab0b391764a4ce419656458d9d07.patch";
+      sha256 = "sha256-3izm9LvAeOFixiIUUqmd5flZIxH92+NxL7jeu35aObQ=";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    six
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    httpbin
+    requests
+    wsgiprox
+    multidict # Optional. Without this, one test in test/test_utils.py is skipped.
+  ];
+
+  pytestFlagsArray = [ "--offline" ];
+
+  pythonImportsCheck = [ "warcio" ];
+
+  meta = with lib; {
+    description = "Streaming WARC/ARC library for fast web archive IO";
+    homepage = "https://github.com/webrecorder/warcio";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/warlock/default.nix b/nixpkgs/pkgs/development/python-modules/warlock/default.nix
index 1b62c918f339..c20723e8d6e2 100644
--- a/nixpkgs/pkgs/development/python-modules/warlock/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/warrant-lite/default.nix b/nixpkgs/pkgs/development/python-modules/warrant-lite/default.nix
new file mode 100644
index 000000000000..4d5d77c2e84d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wasmer/default.nix b/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
index dff14d15b901..4a99f048d1a6 100644
--- a/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/watermark/default.nix b/nixpkgs/pkgs/development/python-modules/watermark/default.nix
index 2bbb281f081b..b6403a38dfb0 100644
--- a/nixpkgs/pkgs/development/python-modules/watermark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/watermark/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "watermark";
-  version = "2.2.0";
+  version = "2.3.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "rasbt";
     repo = pname;
-    rev = "d3553b68dd30ac5b0951a6fae6083236e4c7f3bd";
-    sha256 = "0w2mzi344x1mrv8d9jca67bhig34jissr9sqrk68gpg5n10alblb";
+    rev = "v${version}";
+    sha256 = "1kl9yn1pkl84d3lcz7bvphqkydsgs0p5k0ja0msy3hrxxfzdzd16";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wavedrom/default.nix b/nixpkgs/pkgs/development/python-modules/wavedrom/default.nix
index 906829363108..d8db35fbdaeb 100644
--- a/nixpkgs/pkgs/development/python-modules/wavedrom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wavedrom/default.nix
@@ -1,8 +1,8 @@
 { lib
-, buildPythonPackage
-, fetchPypi
 , attrdict
+, buildPythonPackage
 , cairosvg
+, fetchPypi
 , pillow
 , pytestCheckHook
 , setuptools-scm
@@ -14,9 +14,11 @@
 buildPythonPackage rec {
   pname = "wavedrom";
   version = "2.0.3.post2";
+  format = "setuptools";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "239b3435ff116b09007d5517eed755fc8591891b7271a1cd40db9e400c02448d";
+    hash = "sha256-I5s0Nf8RawkAfVUX7tdV/IWRiRtycaHNQNueQAwCRI0=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -32,22 +34,25 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    cairosvg
+    pillow
     pytestCheckHook
     xmldiff
-    pillow
-    cairosvg
   ];
 
   disabledTests = [
-    "test_upstream"  # requires to clone a full git repository
+    # Requires to clone a full git repository
+    "test_upstream"
   ];
 
-  pythonImportsCheck = [ "wavedrom" ];
+  pythonImportsCheck = [
+    "wavedrom"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "WaveDrom compatible Python command line";
     homepage = "https://github.com/wallento/wavedrompy";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ airwoodix ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ airwoodix ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/wazeroutecalculator/default.nix b/nixpkgs/pkgs/development/python-modules/wazeroutecalculator/default.nix
index dd8409624648..dd561d1c0568 100644
--- a/nixpkgs/pkgs/development/python-modules/wazeroutecalculator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix b/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
index f43fd2d5462b..27c7521cef86 100644
--- a/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
@@ -4,6 +4,7 @@
 , pytestCheckHook
 , brotli
 , cairosvg
+, flit-core
 , fonttools
 , pydyf
 , pyphen
@@ -26,32 +27,33 @@
 
 buildPythonPackage rec {
   pname = "weasyprint";
-  version = "53.4";
+  version = "54.1";
   disabled = !isPy3k;
 
+  format = "pyproject";
+
   src = fetchPypi {
     inherit version;
     pname = "weasyprint";
-    sha256 = "sha256-EMyxfVXHMJa98e3T7+WMuFWwfkwwfZutTryaPxP/RYA=";
+    sha256 = "sha256-+lfbhi4GvQHF59gtrTmbO5lSo5gnAjwXvumxwGH/G70=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "--isort --flake8 --cov --no-cov-on-fail" ""
-  '';
-
-  disabledTests = [
-    # needs the Ahem font (fails on macOS)
-    "test_font_stretch"
+  patches = [
+    (substituteAll {
+      src = ./library-paths.patch;
+      fontconfig = "${fontconfig.lib}/lib/libfontconfig${stdenv.hostPlatform.extensions.sharedLibrary}";
+      pangoft2 = "${pango.out}/lib/libpangoft2-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
+      gobject = "${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}";
+      pango = "${pango.out}/lib/libpango-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
+      pangocairo = "${pango.out}/lib/libpangocairo-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
+      harfbuzz = "${harfbuzz.out}/lib/libharfbuzz${stdenv.hostPlatform.extensions.sharedLibrary}";
+    })
   ];
 
-  checkInputs = [
-    pytestCheckHook
-    ghostscript
+  nativeBuildInputs = [
+    flit-core
   ];
 
-  FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
-
   propagatedBuildInputs = [
     brotli
     cairosvg
@@ -60,24 +62,38 @@ buildPythonPackage rec {
     fonttools
     html5lib
     lxml
+    flit-core
     pydyf
     pyphen
     tinycss
     zopfli
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./library-paths.patch;
-      fontconfig = "${fontconfig.lib}/lib/libfontconfig${stdenv.hostPlatform.extensions.sharedLibrary}";
-      pangoft2 = "${pango.out}/lib/libpangoft2-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
-      gobject = "${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}";
-      pango = "${pango.out}/lib/libpango-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
-      pangocairo = "${pango.out}/lib/libpangocairo-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
-      harfbuzz = "${harfbuzz.out}/lib/libharfbuzz${stdenv.hostPlatform.extensions.sharedLibrary}";
-    })
+  checkInputs = [
+    pytestCheckHook
+    ghostscript
   ];
 
+  disabledTests = [
+    # needs the Ahem font (fails on macOS)
+    "test_font_stretch"
+    # sensitive to sandbox environments
+    "test_tab_size"
+    "test_tabulation_character"
+  ];
+
+  FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "--isort --flake8 --cov --no-cov-on-fail" ""
+  '';
+
+  preCheck = ''
+    # Fontconfig wants to create a cache.
+    export HOME=$TMPDIR
+  '';
+
   meta = with lib; {
     homepage = "https://weasyprint.org/";
     description = "Converts web documents to PDF";
diff --git a/nixpkgs/pkgs/development/python-modules/weasyprint/library-paths.patch b/nixpkgs/pkgs/development/python-modules/weasyprint/library-paths.patch
index 9a10990fd43f..bcd1c48ff61a 100644
--- a/nixpkgs/pkgs/development/python-modules/weasyprint/library-paths.patch
+++ b/nixpkgs/pkgs/development/python-modules/weasyprint/library-paths.patch
@@ -2,25 +2,26 @@ diff --git a/weasyprint/text/ffi.py b/weasyprint/text/ffi.py
 index 0734cbea..22e31a5e 100644
 --- a/weasyprint/text/ffi.py
 +++ b/weasyprint/text/ffi.py
-@@ -387,21 +387,11 @@ def _dlopen(ffi, *names):
+@@ -387,22 +387,11 @@ def _dlopen(ffi, *names):
      return ffi.dlopen(names[0])  # pragma: no cover
  
  
 -gobject = _dlopen(
 -    ffi, 'gobject-2.0-0', 'gobject-2.0', 'libgobject-2.0-0',
--    'libgobject-2.0.so.0', 'libgobject-2.0.dylib')
+-    'libgobject-2.0.so.0', 'libgobject-2.0.dylib',  'libgobject-2.0-0.dll')
 -pango = _dlopen(
 -    ffi, 'pango-1.0-0', 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so.0',
--    'libpango-1.0.dylib')
+-    'libpango-1.0.dylib', 'libpango-1.0-0.dll')
 -harfbuzz = _dlopen(
 -    ffi, 'harfbuzz', 'harfbuzz-0.0', 'libharfbuzz-0',
--    'libharfbuzz.so.0', 'libharfbuzz.so.0', 'libharfbuzz.0.dylib')
+-    'libharfbuzz.so.0', 'libharfbuzz.so.0', 'libharfbuzz.0.dylib',
+-    'libharfbuzz-0.dll')
 -fontconfig = _dlopen(
--    ffi, 'fontconfig-1', 'fontconfig', 'libfontconfig', 'libfontconfig-1.dll',
--    'libfontconfig.so.1', 'libfontconfig-1.dylib')
+-    ffi, 'fontconfig-1', 'fontconfig', 'libfontconfig', 'libfontconfig.so.1',
+-    'libfontconfig-1.dylib', 'libfontconfig-1.dll')
 -pangoft2 = _dlopen(
 -    ffi, 'pangoft2-1.0-0', 'pangoft2-1.0', 'libpangoft2-1.0-0',
--    'libpangoft2-1.0.so.0', 'libpangoft2-1.0.dylib')
+-    'libpangoft2-1.0.so.0', 'libpangoft2-1.0.dylib', 'libpangoft2-1.0-0.dll')
 +gobject = _dlopen(ffi, '@gobject@')
 +pango = _dlopen(ffi, '@pango@')
 +harfbuzz = _dlopen(ffi, '@harfbuzz@')
diff --git a/nixpkgs/pkgs/development/python-modules/webargs/default.nix b/nixpkgs/pkgs/development/python-modules/webargs/default.nix
index e92b47d20933..31cedc7b4032 100644
--- a/nixpkgs/pkgs/development/python-modules/webargs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/weboob/default.nix b/nixpkgs/pkgs/development/python-modules/weboob/default.nix
index b1afa242107e..4d0373105ccf 100644
--- a/nixpkgs/pkgs/development/python-modules/weboob/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weboob/default.nix
@@ -1,9 +1,9 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
 , Babel
+, buildPythonPackage
 , cssselect
-, python-dateutil
 , feedparser
-, futures ? null
+, fetchPypi
 , gdata
 , gnupg
 , google-api-python-client
@@ -16,6 +16,9 @@
 , pillow
 , prettytable
 , pyqt5
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
 , pyyaml
 , requests
 , simplejson
@@ -26,28 +29,18 @@
 buildPythonPackage rec {
   pname = "weboob";
   version = "2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "1c69vzf8sg8471lcaafpz9iw2q3rfj5hmcpqrs2k59fkgbvy32zw";
   };
 
-  postPatch = ''
-    # Disable doctests that require networking:
-    sed -i -n -e '/^ *def \+pagination *(.*: *$/ {
-      p; n; p; /"""\|'\'\'\'''/!b
-
-      :loop
-      n; /^ *\(>>>\|\.\.\.\)/ { h; bloop }
-      x; /^ *\(>>>\|\.\.\.\)/bloop; x
-      p; /"""\|'\'\'\'''/b
-      bloop
-    }; p' weboob/browser/browsers.py weboob/browser/pages.py
-  '';
-
-  checkInputs = [ nose ];
-
-  nativeBuildInputs = [ pyqt5 ];
+  nativeBuildInputs = [
+    pyqt5
+  ];
 
   propagatedBuildInputs = [
     Babel
@@ -70,15 +63,35 @@ buildPythonPackage rec {
     simplejson
     termcolor
     unidecode
-  ] ++ lib.optionals isPy27 [ futures ];
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "with-doctest = 1" "" \
+      --replace "with-coverage = 1" "" \
+      --replace "weboob.browser.filters.standard," "" \
+      --replace "weboob.browser.tests.filters," "" \
+      --replace "weboob.tools.application.formatters.json," "" \
+      --replace "weboob.tools.application.formatters.table," "" \
+      --replace "weboob.tools.capabilities.bank.transactions," ""
+  '';
+
+  checkInputs = [
+    nose
+  ];
 
   checkPhase = ''
     nosetests
   '';
 
-  meta = {
+  pythonImportsCheck = [
+    "weboob"
+  ];
+
+  meta = with lib; {
+    description = "Collection of applications and APIs to interact with websites";
     homepage = "http://weboob.org";
-    description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
-    license = lib.licenses.agpl3;
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix b/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
index 3a641ab2db3b..116f45f16dd3 100644
--- a/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "websocket-client";
-  version = "1.2.1";
+  version = "1.2.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d";
+    sha256 = "1315816c0acc508997eb3ae03b9d3ff619c9d12d544c9a9b553704b1cc4f6af5";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/websockets/default.nix b/nixpkgs/pkgs/development/python-modules/websockets/default.nix
index 2e13d95c3825..7d6f78902d0a 100644
--- a/nixpkgs/pkgs/development/python-modules/websockets/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/webtest/default.nix b/nixpkgs/pkgs/development/python-modules/webtest/default.nix
index 999d2560591d..8ec42598ee61 100644
--- a/nixpkgs/pkgs/development/python-modules/webtest/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix b/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
index 0e00a08145e6..82bf024c824c 100644
--- a/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/weconnect/default.nix b/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
index 70da78edb603..794fde431671 100644
--- a/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix b/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix
index c03cc6935d2f..ae7ce1f2b90a 100644
--- a/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix
+++ b/nixpkgs/pkgs/development/python-modules/werkzeug/1.nix
@@ -2,6 +2,7 @@
 , itsdangerous, hypothesis
 , pytestCheckHook, requests
 , pytest-timeout
+, isPy3k
  }:
 
 buildPythonPackage rec {
@@ -58,3 +59,4 @@ buildPythonPackage rec {
     maintainers = [ ];
   };
 }
+
diff --git a/nixpkgs/pkgs/development/python-modules/wheel/default.nix b/nixpkgs/pkgs/development/python-modules/wheel/default.nix
index 1b899b59897f..62298b0d6ac4 100644
--- a/nixpkgs/pkgs/development/python-modules/wheel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/whodap/default.nix b/nixpkgs/pkgs/development/python-modules/whodap/default.nix
index c09c8d7d4d00..d4f6913105f2 100644
--- a/nixpkgs/pkgs/development/python-modules/whodap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whodap/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "whodap";
-  version = "0.1.2";
+  version = "0.1.4";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1map5m9i1hi4wb9mpp7hq89n8x9bgsi7gclqfixgqhpi5v5gybqc";
+    sha256 = "sha256-L8fSf9AhmWbRvLKvf0aowKoal+5dG1SJXcA7Ssrhj6o=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/whois/default.nix b/nixpkgs/pkgs/development/python-modules/whois/default.nix
index ef69283e6dbf..b2875819646c 100644
--- a/nixpkgs/pkgs/development/python-modules/whois/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wled/default.nix b/nixpkgs/pkgs/development/python-modules/wled/default.nix
index 886ffea60b79..3b88afa7e65c 100644
--- a/nixpkgs/pkgs/development/python-modules/wled/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wled/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "wled";
-  version = "0.10.2";
+  version = "0.13.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-wled";
     rev = "v${version}";
-    sha256 = "sha256-tqR/edkBFseldSXGoekfRmw//h6Z/Xcg1W0HXJvLhtk=";
+    sha256 = "sha256-n+TIzlnyPeSywTQr7wlGNezsbQ2+S/WYt1H95+Id2Rw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/woob/default.nix b/nixpkgs/pkgs/development/python-modules/woob/default.nix
index fc5e6e9dc65b..3c9529c2644b 100644
--- a/nixpkgs/pkgs/development/python-modules/woob/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/woob/default.nix
@@ -1,12 +1,10 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, isPy27
 , Babel
+, buildPythonPackage
 , colorama
 , cssselect
-, python-dateutil
 , feedparser
+, fetchFromGitLab
 , gdata
 , gnupg
 , google-api-python-client
@@ -19,6 +17,8 @@
 , pillow
 , prettytable
 , pyqt5
+, python-dateutil
+, pythonOlder
 , pyyaml
 , requests
 , simplejson
@@ -29,22 +29,21 @@
 buildPythonPackage rec {
   pname = "woob";
   version = "3.0";
-  disabled = isPy27;
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "09hpxy5zhn2b8li0xjf3zd7s46lawb0315p5mdcsci3bj3s4v1j7";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitLab {
+    owner = "woob";
+    repo = pname;
+    rev = version;
+    hash = "sha256-XLcHNidclORbxVXgcsHY6Ja/dak+EVSKTaVQmg1f/rw=";
   };
 
-  patches = [
-    # Disable doctests that require networking:
-    ./no-test-requiring-network.patch
+  nativeBuildInputs = [
+    pyqt5
   ];
 
-  checkInputs = [ nose ];
-
-  nativeBuildInputs = [ pyqt5 ];
-
   propagatedBuildInputs = [
     Babel
     colorama
@@ -69,14 +68,28 @@ buildPythonPackage rec {
     unidecode
   ];
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "with-doctest = 1" "" \
+      --replace "with-coverage = 1" ""
+  '';
+
+  checkInputs = [
+    nose
+  ];
+
   checkPhase = ''
     nosetests
   '';
 
+  pythonImportsCheck = [
+    "woob"
+  ];
+
   meta = with lib; {
+    description = "Collection of applications and APIs to interact with websites";
     homepage = "https://woob.tech";
-    description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
     license = licenses.lgpl3Plus;
-    maintainers = [ maintainers.DamienCassou ];
- };
+    maintainers = with maintainers; [ DamienCassou ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/woob/no-test-requiring-network.patch b/nixpkgs/pkgs/development/python-modules/woob/no-test-requiring-network.patch
deleted file mode 100644
index 7095019d0541..000000000000
--- a/nixpkgs/pkgs/development/python-modules/woob/no-test-requiring-network.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/woob/browser/browsers.py
-+++ b/woob/browser/browsers.py
-@@ -930,23 +930,6 @@
-
-         :class:`NextPage` constructor can take an url or a Request object.
-
--        >>> from .pages import HTMLPage
--        >>> class Page(HTMLPage):
--        ...     def iter_values(self):
--        ...         for el in self.doc.xpath('//li'):
--        ...             yield el.text
--        ...         for next in self.doc.xpath('//a'):
--        ...             raise NextPage(next.attrib['href'])
--        ...
--        >>> class Browser(PagesBrowser):
--        ...     BASEURL = 'https://woob.tech'
--        ...     list = URL('/tests/list-(?P<pagenum>\d+).html', Page)
--        ...
--        >>> b = Browser()
--        >>> b.list.go(pagenum=1) # doctest: +ELLIPSIS
--        <woob.browser.browsers.Page object at 0x...>
--        >>> list(b.pagination(lambda: b.page.iter_values()))
--        ['One', 'Two', 'Three', 'Four']
-         """
-         while True:
-             try:
---- a/woob/browser/pages.py
-+++ b/woob/browser/pages.py
-@@ -49,25 +49,6 @@
-
-     :class:`NextPage` constructor can take an url or a Request object.
-
--    >>> class Page(HTMLPage):
--    ...     @pagination
--    ...     def iter_values(self):
--    ...         for el in self.doc.xpath('//li'):
--    ...             yield el.text
--    ...         for next in self.doc.xpath('//a'):
--    ...             raise NextPage(next.attrib['href'])
--    ...
--    >>> from .browsers import PagesBrowser
--    >>> from .url import URL
--    >>> class Browser(PagesBrowser):
--    ...     BASEURL = 'https://woob.tech'
--    ...     list = URL('/tests/list-(?P<pagenum>\d+).html', Page)
--    ...
--    >>> b = Browser()
--    >>> b.list.go(pagenum=1) # doctest: +ELLIPSIS
--    <woob.browser.pages.Page object at 0x...>
--    >>> list(b.page.iter_values())
--    ['One', 'Two', 'Three', 'Four']
-     """
-
-     @wraps(func)
diff --git a/nixpkgs/pkgs/development/python-modules/wrapt/default.nix b/nixpkgs/pkgs/development/python-modules/wrapt/default.nix
index e567a8a672ef..b53c52d6098a 100644
--- a/nixpkgs/pkgs/development/python-modules/wrapt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wrapt/default.nix
@@ -1,23 +1,33 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "wrapt";
   version = "1.13.3";
+  format = "setuptools";
 
-  # No tests in archive
-  doCheck = false;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185";
+  src = fetchFromGitHub {
+    owner = "GrahamDumpleton";
+    repo = pname;
+    rev = version;
+    hash = "sha256-kq3Ujkn4HzonzjuQfVnPNnQV+2Rnbr3ZfYmrnY3upxU=";
   };
 
-  meta = {
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "wrapt"
+  ];
+
+  meta = with lib; {
     description = "Module for decorators, wrappers and monkey patching";
-    license = lib.licenses.bsd2;
     homepage = "https://github.com/GrahamDumpleton/wrapt";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix b/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix
index 29279cc1a448..94234b2626e2 100644
--- a/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "wrf-python";
-  version = "1.3.2";
+  version = "1.3.2.6";
 
   src = fetchFromGitHub {
     owner = "NCAR";
     repo = "wrf-python";
     rev = version;
-    sha256 = "1rklkki54z5392cpwwy78bnmsy2ghc187l3j7nv0rzn6jk5bvyi7";
+    sha256 = "046kflai71r7xrmdw6jn0ifn5656wj9gpnwlgxkx430dgk7zbc2y";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wsdiscovery/default.nix b/nixpkgs/pkgs/development/python-modules/wsdiscovery/default.nix
new file mode 100644
index 000000000000..8ba797449494
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wsgi-intercept/default.nix b/nixpkgs/pkgs/development/python-modules/wsgi-intercept/default.nix
index 7303a27f5b3e..b59b7aaa7d72 100644
--- a/nixpkgs/pkgs/development/python-modules/wsgi-intercept/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wsgi-intercept/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "wsgi-intercept";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchPypi {
     pname = "wsgi_intercept";
     inherit version;
-    sha256 = "1b6251d03jnhqywr54bzj9fnc3qzp2kvz22asxpd27jy984qx21n";
+    sha256 = "0c4dc31dc7aabdd263ba45338c201b89e3096a3baaa7d8e3260c68ff18016fb4";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix b/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix
index 6fd356e69ed6..35be8ba260c4 100644
--- a/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , peewee
 , wtforms
 , python
@@ -15,6 +16,14 @@ buildPythonPackage rec {
     sha256 = "faa953fe3f705d4f2b48f3c1a81c5c5a6a38f9ed1378c9a830e6efc1b0fccb15";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-wtforms3.patch";
+      url = "https://github.com/coleifer/wtf-peewee/commit/b1764f4474c73a9a2b34ae6b7db61274f5252a7f.patch";
+      sha256 = "0maz3fm9bi8p80nk9sdb34xq55xq8ihm51y7k0m8ck9aaypvwbig";
+    })
+  ];
+
   propagatedBuildInputs = [
     peewee
     wtforms
diff --git a/nixpkgs/pkgs/development/python-modules/wtforms/default.nix b/nixpkgs/pkgs/development/python-modules/wtforms/default.nix
index 96440c438bcb..48764d509fe8 100644
--- a/nixpkgs/pkgs/development/python-modules/wtforms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wtforms/default.nix
@@ -2,21 +2,29 @@
 , buildPythonPackage
 , fetchPypi
 , markupsafe
+, Babel
+, pytestCheckHook
+, email_validator
 }:
 
 buildPythonPackage rec {
-  version = "2.3.3";
+  version = "3.0.1";
   pname = "WTForms";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "81195de0ac94fbc8368abbaf9197b88c4f3ffd6c2719b5bf5fc9da744f3d829c";
+    sha256 = "1g654ghavds387hqxmhg9s8x222x89wbq1ggzxbsyn6x2axindbb";
   };
 
-  propagatedBuildInputs = [ markupsafe ];
+  propagatedBuildInputs = [ markupsafe Babel ];
 
-  # Django tests are broken "django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet."
-  doCheck = false;
+
+  checkInputs = [
+    pytestCheckHook
+    email_validator
+  ];
+
+  pythonImportsCheck = [ "wtforms" ];
 
   meta = with lib; {
     description = "A flexible forms validation and rendering library for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/wxPython/4.1.nix b/nixpkgs/pkgs/development/python-modules/wxPython/4.1.nix
index 89796500e04e..71f8b2847e3b 100644
--- a/nixpkgs/pkgs/development/python-modules/wxPython/4.1.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/xarray/default.nix b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
index 602bbac89aec..5f780a61ffc5 100644
--- a/nixpkgs/pkgs/development/python-modules/xarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
@@ -1,34 +1,50 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytestCheckHook
 , numpy
 , pandas
-, setuptools
-, isPy3k
+, pytestCheckHook
+, pythonOlder
+, setuptoolsBuildHook
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.20.1";
-  disabled = !isPy3k;
+  version = "0.20.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c0bffd8b55fdef277f8f6c817153eb51fa4e58653a7ad92eaed9984164b7bdb";
+    sha256 = "sha256-wuvoDKgbEKAkH2h23MNKyWluXFzc30dY2nz0vXMsQfc=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ numpy pandas setuptools ];
-  checkInputs = [ pytestCheckHook ];
+  SETUPTOOLS_SCM_PRETEND_VERSION="${version}";
+
+  nativeBuildInputs = [
+    setuptoolsBuildHook
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    pandas
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "xarray" ];
+  pythonImportsCheck = [
+    "xarray"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "N-D labeled arrays and datasets in Python";
     homepage = "https://github.com/pydata/xarray";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ fridh ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/xdis/default.nix b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
index c916f8d7ec2a..ca339b7a4438 100644
--- a/nixpkgs/pkgs/development/python-modules/xdis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/xknx/default.nix b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
index 781f59fa3cf7..b2bfeea8f7a9 100644
--- a/nixpkgs/pkgs/development/python-modules/xknx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.18.15";
+  version = "0.19.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-k/fLUuBjXScTvlvoBLZIVPEqNGIPI04FBeTBadp5uiY=";
+    sha256 = "sha256-LJ7MmKCWx+n7caud0pN4+7f9H4XzwuAAn9u86X/FACo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xlib/default.nix b/nixpkgs/pkgs/development/python-modules/xlib/default.nix
index cfb72680fa8b..edb4761af3a8 100644
--- a/nixpkgs/pkgs/development/python-modules/xlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
index 26b51d1a4ac3..49693353204f 100644
--- a/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
@@ -22,13 +22,13 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.12.0";
+  version = "3.12.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "25deadb9ee95f0dc71376a60e9c1e34636b5016c1952ad5597a6246495e34464";
+    sha256 = "sha256-CsxelHZbg25oBRM3P5UYlbWgsnR/L/w8vSFgHK1FKKI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yacs/default.nix b/nixpkgs/pkgs/development/python-modules/yacs/default.nix
new file mode 100644
index 000000000000..7abf151a08f7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/yacs/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "yacs";
+  version = "0.1.8";
+
+  src = fetchFromGitHub {
+    owner = "rbgirshick";
+    repo = "yacs";
+    rev = "v${version}";
+    sha256 = "sha256-nO8FL4tTkfTthXYXxXORLieFwvn780DDxfrxC9EUUJ0=";
+  };
+
+  propagatedBuildInputs = [ pyyaml ];
+
+  pythonImportsCheck = [ "yacs" ];
+  checkPhase = ''
+    ${python.interpreter} yacs/tests.py
+  '';
+
+  meta = with lib; {
+    description = "Yet Another Configuration System";
+    homepage = "https://github.com/rbgirshick/yacs";
+    license = licenses.apsl20;
+    maintainers = with maintainers; [ lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix b/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix
index 201a1636f173..1a8d561d5de2 100644
--- a/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yalesmartalarmclient/default.nix
@@ -3,17 +3,21 @@
 , buildPythonPackage
 , fetchFromGitHub
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "yalesmartalarmclient";
-  version = "0.3.5";
+  version = "0.3.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "domwillcode";
     repo = "yale-smart-alarm-client";
     rev = "v${version}";
-    sha256 = "11i7vh61a5xfv32zm7rkigl010wzd6snag6sf7w38256j95nnb05";
+    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/nixpkgs/pkgs/development/python-modules/yalexs/default.nix b/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
index 9b9ef513f70d..22440766fd03 100644
--- a/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
+++ b/nixpkgs/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.15";
+  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-EK9jmbU3A2rNx/H8WOsZiGA7tqzg/XJkW/DV5s+2Y3U=";
+    sha256 = "sha256-qtJSGvvYcdGYUUHnRnKe+z+twFqLGAn1Zl47F4CGnvc=";
   };
 
   propagatedBuildInputs = [
     aiofiles
     aiohttp
     pubnub
+    pyjwt
     python-dateutil
     requests
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/yamale/default.nix b/nixpkgs/pkgs/development/python-modules/yamale/default.nix
index 670e46f98055..7444d8d24ac5 100644
--- a/nixpkgs/pkgs/development/python-modules/yamale/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/yangson/default.nix b/nixpkgs/pkgs/development/python-modules/yangson/default.nix
index fec15464bd9d..a82bf972546d 100644
--- a/nixpkgs/pkgs/development/python-modules/yangson/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/yapf/default.nix b/nixpkgs/pkgs/development/python-modules/yapf/default.nix
index 9c759f3a2b7e..2d6fc9520ccd 100644
--- a/nixpkgs/pkgs/development/python-modules/yapf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yapf/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "yapf";
-  version = "0.31.0";
+  version = "0.32.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QI+5orJUwwL0nbg8WfmqC0sP0OwlvjpcURgTJ5Iv9j0=";
+    hash = "sha256-o/UIXTfvfj4ATEup+bPkDFT/GQHNER8FFFrjE6fGfRs=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yaspin/default.nix b/nixpkgs/pkgs/development/python-modules/yaspin/default.nix
new file mode 100644
index 000000000000..012ee677ae0e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/yaspin/default.nix
@@ -0,0 +1,32 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, poetry-core
+, termcolor
+}:
+
+buildPythonPackage rec {
+  pname = "yaspin";
+  version = "2.1.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "pavdmyt";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0vhh4mp706kz5fba8nvr9jm51jsd32xj97m3law6ixw3lj91sh1a";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ termcolor ];
+
+  pythonImportsCheck = [ "yaspin" ];
+
+  meta = with lib; {
+    description = "Yet Another Terminal Spinner";
+    homepage = "https://github.com/pavdmyt/yaspin";
+    license = licenses.mit;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix b/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
index 6c40f266f346..b64bd929f13f 100644
--- a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/yfinance/default.nix b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
index 059316f7a99c..26ddf9354df9 100644
--- a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.1.67";
+  version = "0.1.70";
 
   src = fetchFromGitHub {
     owner = "ranaroussi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QwWShXelEBgLUvCwPqB7z5DjS1JsW/krPrsS3VkyaJg=";
+    sha256 = "sha256-Anvt+ag0PysGynQv4q+2IrQmCPZViGqWI4dgfLQWGds=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix b/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix
index ad23a6cc169d..f7298f4b8c95 100644
--- a/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "youtube-search-python";
-  version = "1.5.2";
+  version = "1.6.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "33f0d58f4803b0b2badf860cd31fb83d3f7edecdd2c01dd09cd6511abbf0e6b9";
+    sha256 = "sha256-PeWi1eygUSgUXZ68bUJ44IoffNDme06JNR9ns6njqMU=";
   };
 
   propagatedBuildInputs = [ httpx ];
diff --git a/nixpkgs/pkgs/development/python-modules/yowsup/default.nix b/nixpkgs/pkgs/development/python-modules/yowsup/default.nix
index 0ff3212f48ca..91c58192b8a2 100644
--- a/nixpkgs/pkgs/development/python-modules/yowsup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yowsup/default.nix
@@ -4,7 +4,7 @@
 
 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,7 +14,7 @@ buildPythonPackage rec {
     owner = "tgalal";
     repo = "yowsup";
     rev = "v${version}";
-    sha256 = "0wb8yl685nr1i3vx89hwan5m6a482x8g48f5ksvdlph538p720pm";
+    sha256 = "1pz0r1gif15lhzdsam8gg3jm6zsskiv2yiwlhaif5rl7lv3p0v7q";
   };
 
   checkInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
index b19aed0c6fdc..218c2edd0ac5 100644
--- a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "0.19.5";
+  version = "0.20.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-haZe5afwkU8wD8s2lrmHJuVo6TO3CcQ/0TuJbHPmqvU=";
+    hash = "sha256-DvLrytLp28TVFVdkmWg19cC2VRetFcSx7dmsO4HQqVo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zcs/default.nix b/nixpkgs/pkgs/development/python-modules/zcs/default.nix
new file mode 100644
index 000000000000..9f22cd1dfc86
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zcs/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+, yacs
+, boxx
+}:
+
+buildPythonPackage rec {
+  pname = "zcs";
+  version = "0.1.17";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-ZoQgAaJy3kKHLljyKA0Oo/D1kefE8X9FlsGDSNt1nPw=";
+  };
+
+  propagatedBuildInputs = [ yacs ];
+
+  pythonImportsCheck = [ "zcs" ];
+
+  checkInputs = [ boxx ];
+  checkPhase = ''
+    ${python.interpreter} test/test_zcs.py
+  '';
+
+  meta = with lib; {
+    description = "A flexible powerful configuration system which takes advantage of both argparse and yacs";
+    homepage = "https://github.com/DIYer22/zcs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucasew ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zeep/default.nix b/nixpkgs/pkgs/development/python-modules/zeep/default.nix
index f88e8bc47420..1b3e0c5fcdf0 100644
--- a/nixpkgs/pkgs/development/python-modules/zeep/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeep/default.nix
@@ -28,6 +28,7 @@
 buildPythonPackage rec {
   pname = "zeep";
   version = "4.1.0";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -71,9 +72,15 @@ buildPythonPackage rec {
   disabledTests = [
     # lxml.etree.XMLSyntaxError: Extra content at the end of the document, line 2, column 64
     "test_mime_content_serialize_text_xml"
+    # Tests are outdated
+    "test_load"
+    "test_load_cache"
+    "test_post"
   ];
 
-  pythonImportsCheck = [ "zeep" ];
+  pythonImportsCheck = [
+    "zeep"
+  ];
 
   meta = with lib; {
     description = "Python SOAP client";
diff --git a/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix b/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
index 92d9a4a84873..54ebc888f1f4 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroc-ice/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zeroc-ice";
-  version = "3.7.6";
+  version = "3.7.7";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "e8d8a7828e4994545bf57059bd0a0d431d387d31cc4af2eb5eeb93ef28c2d827";
+    sha256 = "415f4a673009fe9a5ef67b61c4469ddf14b73857b6d40f02d6b74f02ad935147";
   };
 
   buildInputs = [ openssl bzip2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
index 12e0279eb3de..319cd7cce0f1 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.38.1";
+  version = "0.38.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = version;
-    sha256 = "sha256-8bJEH+m+83rkKdN5GjD4THs1CUy/wstoBFiXR7kHKtw=";
+    sha256 = "sha256-pLTqnIbe7rTZrQFe//0/h5Tyx0GzJW+q9mUuDNifo/0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zetup/default.nix b/nixpkgs/pkgs/development/python-modules/zetup/default.nix
index 3862a8e757d1..c2e707347b33 100644
--- a/nixpkgs/pkgs/development/python-modules/zetup/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
index c1d4328106ae..d8398ac40235 100644
--- a/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.65";
+  version = "0.0.66";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = version;
-    sha256 = "sha256-3Lcmc95KotFMlL44zDugIQkHtplMMlyWjSb+SLehaqs=";
+    sha256 = "18g0i6b60ndfmbvdsx5pniq56fyc5k39ylp3sjhrfjcj434wvbvc";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy-zigate/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-zigate/default.nix
index 5ebb17dd498b..b44a385fd933 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy-zigate/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
index 8a3bd0e41fd2..31a45ab64477 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-znp";
-  version = "0.6.4";
+  version = "0.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hz483wqzpdaap96gbjasisxd4wy8f4lslnspcvzqcf4dy1mxln6";
+    sha256 = "0h6dclz4q4lvmapzpslh8kb0aihdjddbkxc4zc981glbip89li5w";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
index 01751219d400..20d5237f76e8 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.42.0";
+  version = "0.43.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "sha256-kSUFcN3QOZWFBgDrOopkYuUyBE9asO6MXf0H9CMjFlc=";
+    sha256 = "1740cv99ny6xy7wfpz754h4wj2cm874b8vnddvff90ajk07qgdia";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zimports/default.nix b/nixpkgs/pkgs/development/python-modules/zimports/default.nix
index 338dd93150b3..d350e2040891 100644
--- a/nixpkgs/pkgs/development/python-modules/zimports/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/zipp/default.nix b/nixpkgs/pkgs/development/python-modules/zipp/default.nix
index dc30128c9ead..0f64df2a56ac 100644
--- a/nixpkgs/pkgs/development/python-modules/zipp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix b/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
index 2998376b6726..e1cba0ebc02b 100644
--- a/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "zope-deferredimport";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchPypi {
     pname = "zope.deferredimport";
     inherit version;
-    sha256 = "2ddef5a7ecfff132a2dd796253366ecf9748a446e30f1a0b3a636aec9d9c05c5";
+    sha256 = "2ae3257256802787e52ad840032f39c1496d3ce0b7e11117f663420e4a4c9add";
   };
 
   propagatedBuildInputs = [ zope_proxy ];
diff --git a/nixpkgs/pkgs/development/python-modules/zope-hookable/default.nix b/nixpkgs/pkgs/development/python-modules/zope-hookable/default.nix
index 6c19ffbec029..993568f6ffd9 100644
--- a/nixpkgs/pkgs/development/python-modules/zope-hookable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope-hookable/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "zope-hookable";
-  version = "5.0.1";
+  version = "5.1.0";
 
   src = fetchPypi {
     pname = "zope.hookable";
     inherit version;
-    sha256 = "0hc82lfr7bk53nvbxvjkibkarngyrzgfk2i6bg8wshl0ly0pdl19";
+    sha256 = "8fc3e6cd0486c6af48e3317c299def719b57538332a194e0b3bc6a772f4faa0e";
   };
 
   checkInputs = [ zope_testing ];
diff --git a/nixpkgs/pkgs/development/python-modules/zstandard/default.nix b/nixpkgs/pkgs/development/python-modules/zstandard/default.nix
index 5d2066f45f21..856ca0ee0249 100755
--- a/nixpkgs/pkgs/development/python-modules/zstandard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zstandard/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "zstandard";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eaae2d3e8fdf8bfe269628385087e4b648beef85bb0c187644e7df4fb0fe9046";
+    sha256 = "fa9194cb91441df7242aa3ddc4cb184be38876cb10dd973674887f334bafbfb6";
   };
 
   propagatedNativeBuildInputs = [ cffi ];
diff --git a/nixpkgs/pkgs/development/python-modules/zstd/default.nix b/nixpkgs/pkgs/development/python-modules/zstd/default.nix
index e7ee8dd68cb9..468b5b5315ab 100644
--- a/nixpkgs/pkgs/development/python-modules/zstd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zstd/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "zstd";
-  version = "1.5.0.2";
+  version = "1.5.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8d3388a15135c481b28ca67d079cb5fd79a9691626fd9979e6b4ec00eabb9e79";
+    sha256 = "9519bb0cd91c4498cd8cf66ef88fb22e5d6a442317704e6afd00b12726d17d0a";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 5b18c09f15a8..543056972723 100644
--- a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.33.0";
+  version = "0.34.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0hAksizQSIOg+hbSq/OZqFqlBBdpa0bSf+puWfD9TSg=";
+    sha256 = "sha256-hqq/CYlM9ZahDiH3iFLFzfE22CB19WQnFIDt+gCrEXU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/Pygments/2_5.nix b/nixpkgs/pkgs/development/python2-modules/Pygments/default.nix
index aa59c370d2e7..aa59c370d2e7 100644
--- a/nixpkgs/pkgs/development/python-modules/Pygments/2_5.nix
+++ b/nixpkgs/pkgs/development/python2-modules/Pygments/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/TurboCheetah/default.nix b/nixpkgs/pkgs/development/python2-modules/TurboCheetah/default.nix
index 717b2b5f2780..717b2b5f2780 100644
--- a/nixpkgs/pkgs/development/python-modules/TurboCheetah/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/TurboCheetah/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix b/nixpkgs/pkgs/development/python2-modules/bootstrapped-pip/default.nix
index 2fc8b8b8d4b7..2fc8b8b8d4b7 100644
--- a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/bootstrapped-pip/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/boto3/1_17.nix b/nixpkgs/pkgs/development/python2-modules/boto3/default.nix
index c8b8210f6503..c8b8210f6503 100644
--- a/nixpkgs/pkgs/development/python-modules/boto3/1_17.nix
+++ b/nixpkgs/pkgs/development/python2-modules/boto3/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/botocore/1_20.nix b/nixpkgs/pkgs/development/python2-modules/botocore/default.nix
index d05c2decf497..d05c2decf497 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore/1_20.nix
+++ b/nixpkgs/pkgs/development/python2-modules/botocore/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/certifi/python2.nix b/nixpkgs/pkgs/development/python2-modules/certifi/default.nix
index 529d5b1fb996..529d5b1fb996 100644
--- a/nixpkgs/pkgs/development/python-modules/certifi/python2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/certifi/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/chardet/2.nix b/nixpkgs/pkgs/development/python2-modules/chardet/default.nix
index 5f6fe0a672a7..5f6fe0a672a7 100644
--- a/nixpkgs/pkgs/development/python-modules/chardet/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/chardet/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/cheetah/default.nix b/nixpkgs/pkgs/development/python2-modules/cheetah/default.nix
index 1cee46fa7252..1cee46fa7252 100644
--- a/nixpkgs/pkgs/development/python-modules/cheetah/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/cheetah/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/click/7.nix b/nixpkgs/pkgs/development/python2-modules/click/default.nix
index fcbd4d0981af..fcbd4d0981af 100644
--- a/nixpkgs/pkgs/development/python-modules/click/7.nix
+++ b/nixpkgs/pkgs/development/python2-modules/click/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/configparser/4.nix b/nixpkgs/pkgs/development/python2-modules/configparser/default.nix
index 0f3b6e0b4912..0f3b6e0b4912 100644
--- a/nixpkgs/pkgs/development/python-modules/configparser/4.nix
+++ b/nixpkgs/pkgs/development/python2-modules/configparser/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/construct/2.10.54.nix b/nixpkgs/pkgs/development/python2-modules/construct/default.nix
index 6cfca7260512..5bbbd1501453 100644
--- a/nixpkgs/pkgs/development/python-modules/construct/2.10.54.nix
+++ b/nixpkgs/pkgs/development/python2-modules/construct/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     sha256 = "1mqspsn6bf3ibvih1zna2glkg8iw7vy5zg9gzg0d1m8zcndk2c48";
   };
 
-  checkInputs = [ pytestCheckHook pytest-benchmark enum34 numpy ];
+  checkInputs = [ pytestCheckHook enum34 numpy ];
 
   # these have dependencies that are broken on Python 2
   disabledTestPaths = [
@@ -24,13 +24,12 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
+    "test_benchmarks"
     "test_timestamp"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_multiprocessing"
   ];
 
-  pytestFlagsArray = [ "--benchmark-disable" ];
-
   meta = with lib; {
     description = "Powerful declarative parser (and builder) for binary data";
     homepage = "https://construct.readthedocs.org/";
diff --git a/nixpkgs/pkgs/development/python-modules/contextlib2/0.nix b/nixpkgs/pkgs/development/python2-modules/contextlib2/default.nix
index 38d9fb696e28..38d9fb696e28 100644
--- a/nixpkgs/pkgs/development/python-modules/contextlib2/0.nix
+++ b/nixpkgs/pkgs/development/python2-modules/contextlib2/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/coverage/default.nix b/nixpkgs/pkgs/development/python2-modules/coverage/default.nix
new file mode 100644
index 000000000000..f93d32d392f7
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cryptography/vectors-3.3.nix b/nixpkgs/pkgs/development/python2-modules/cryptography-vectors/default.nix
index f9b7c525237a..f9b7c525237a 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/vectors-3.3.nix
+++ b/nixpkgs/pkgs/development/python2-modules/cryptography-vectors/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/3.3.nix b/nixpkgs/pkgs/development/python2-modules/cryptography/default.nix
index 357bb35dacf7..357bb35dacf7 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/3.3.nix
+++ b/nixpkgs/pkgs/development/python2-modules/cryptography/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/decorator/4.nix b/nixpkgs/pkgs/development/python2-modules/decorator/default.nix
index 8e8fd28f0b54..8e8fd28f0b54 100644
--- a/nixpkgs/pkgs/development/python-modules/decorator/4.nix
+++ b/nixpkgs/pkgs/development/python2-modules/decorator/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/enum/default.nix b/nixpkgs/pkgs/development/python2-modules/enum/default.nix
index db827601d5de..db827601d5de 100644
--- a/nixpkgs/pkgs/development/python-modules/enum/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/enum/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/filelock/3.2.nix b/nixpkgs/pkgs/development/python2-modules/filelock/default.nix
index 401fdf582ffb..401fdf582ffb 100644
--- a/nixpkgs/pkgs/development/python-modules/filelock/3.2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/filelock/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/flask/1.nix b/nixpkgs/pkgs/development/python2-modules/flask/default.nix
index 27f436c3c53c..27f436c3c53c 100644
--- a/nixpkgs/pkgs/development/python-modules/flask/1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/flask/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix b/nixpkgs/pkgs/development/python2-modules/freezegun/default.nix
index 7f77616f2a4e..7f77616f2a4e 100644
--- a/nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix
+++ b/nixpkgs/pkgs/development/python2-modules/freezegun/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/futures/default.nix b/nixpkgs/pkgs/development/python2-modules/futures/default.nix
index bc19a31927af..bc19a31927af 100644
--- a/nixpkgs/pkgs/development/python-modules/futures/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/futures/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/google-apputils/default.nix b/nixpkgs/pkgs/development/python2-modules/google-apputils/default.nix
index 225adf348d1a..225adf348d1a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-apputils/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/google-apputils/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/httpretty/0.nix b/nixpkgs/pkgs/development/python2-modules/httpretty/default.nix
index 92ed5c6616e0..92ed5c6616e0 100644
--- a/nixpkgs/pkgs/development/python-modules/httpretty/0.nix
+++ b/nixpkgs/pkgs/development/python2-modules/httpretty/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/hypothesis/2.nix b/nixpkgs/pkgs/development/python2-modules/hypothesis/default.nix
index 47bc8860bc54..47bc8860bc54 100644
--- a/nixpkgs/pkgs/development/python-modules/hypothesis/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/hypothesis/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/idna/2.nix b/nixpkgs/pkgs/development/python2-modules/idna/default.nix
index 9a1c1dc271f1..9a1c1dc271f1 100644
--- a/nixpkgs/pkgs/development/python-modules/idna/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/idna/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/importlib-metadata/2.nix b/nixpkgs/pkgs/development/python2-modules/importlib-metadata/default.nix
index f50b2c07c1da..f50b2c07c1da 100644
--- a/nixpkgs/pkgs/development/python-modules/importlib-metadata/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/importlib-metadata/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/ipaddr/default.nix b/nixpkgs/pkgs/development/python2-modules/ipaddr/default.nix
new file mode 100644
index 000000000000..b29ee9179287
--- /dev/null
+++ b/nixpkgs/pkgs/development/python2-modules/ipaddr/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "ipaddr";
+  version = "2.2.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ml8r8z3f0mnn381qs1snbffa920i9ycp6mm2am1d3aqczkdz4j0";
+  };
+
+  meta = with lib; {
+    description = "Google's IP address manipulation library";
+    homepage = "https://github.com/google/ipaddr-py";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/itsdangerous/1.nix b/nixpkgs/pkgs/development/python2-modules/itsdangerous/default.nix
index d1669a1ed5bf..d1669a1ed5bf 100644
--- a/nixpkgs/pkgs/development/python-modules/itsdangerous/1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/itsdangerous/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/jinja2/2.nix b/nixpkgs/pkgs/development/python2-modules/jinja2/default.nix
index 02127a50df74..02127a50df74 100644
--- a/nixpkgs/pkgs/development/python-modules/jinja2/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/jinja2/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/libcloud/2.nix b/nixpkgs/pkgs/development/python2-modules/libcloud/default.nix
index c59e026fe4f3..504e7753a978 100644
--- a/nixpkgs/pkgs/development/python-modules/libcloud/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/libcloud/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A unified interface to many cloud providers";
-    homepage = "http://incubator.apache.org/libcloud/";
+    homepage = "https://libcloud.apache.org/";
     license = licenses.asl20;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/lpod/default.nix b/nixpkgs/pkgs/development/python2-modules/lpod/default.nix
index 9c719d234f89..9c719d234f89 100644
--- a/nixpkgs/pkgs/development/python-modules/lpod/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/lpod/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/marisa/default.nix b/nixpkgs/pkgs/development/python2-modules/marisa/default.nix
index 93a4ccb959f7..93a4ccb959f7 100644
--- a/nixpkgs/pkgs/development/python-modules/marisa/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/marisa/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/markdown/3_1.nix b/nixpkgs/pkgs/development/python2-modules/markdown/default.nix
index 13ed2f1744a2..13ed2f1744a2 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown/3_1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/markdown/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/markupsafe/1.nix b/nixpkgs/pkgs/development/python2-modules/markupsafe/default.nix
index ae0878c7a972..ae0878c7a972 100644
--- a/nixpkgs/pkgs/development/python-modules/markupsafe/1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/markupsafe/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/mock/2.nix b/nixpkgs/pkgs/development/python2-modules/mock/default.nix
index 190297b41a2d..190297b41a2d 100644
--- a/nixpkgs/pkgs/development/python-modules/mock/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/mock/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/more-itertools/2.7.nix b/nixpkgs/pkgs/development/python2-modules/more-itertools/default.nix
index f9a6ac732e2e..f9a6ac732e2e 100644
--- a/nixpkgs/pkgs/development/python-modules/more-itertools/2.7.nix
+++ b/nixpkgs/pkgs/development/python2-modules/more-itertools/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/mutagen/1.43.nix b/nixpkgs/pkgs/development/python2-modules/mutagen/default.nix
index 7f2e9f452b4d..7f2e9f452b4d 100644
--- a/nixpkgs/pkgs/development/python-modules/mutagen/1.43.nix
+++ b/nixpkgs/pkgs/development/python2-modules/mutagen/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/numpy/1.16.nix b/nixpkgs/pkgs/development/python2-modules/numpy/default.nix
index 1ab958a15f07..b1d71bd66f36 100644
--- a/nixpkgs/pkgs/development/python-modules/numpy/1.16.nix
+++ b/nixpkgs/pkgs/development/python2-modules/numpy/default.nix
@@ -54,7 +54,7 @@ in buildPythonPackage rec {
     # We patch cpython/distutils to fix https://bugs.python.org/issue1222585
     # Patching of numpy.distutils is needed to prevent it from undoing the
     # patch to distutils.
-    ./numpy-distutils-C++_1.16.patch
+    ./numpy-distutils-C++.patch
   ];
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/numpy/numpy-distutils-C++_1.16.patch b/nixpkgs/pkgs/development/python2-modules/numpy/numpy-distutils-C++.patch
index b2626ea26e5b..b2626ea26e5b 100644
--- a/nixpkgs/pkgs/development/python-modules/numpy/numpy-distutils-C++_1.16.patch
+++ b/nixpkgs/pkgs/development/python2-modules/numpy/numpy-distutils-C++.patch
diff --git a/nixpkgs/pkgs/development/python-modules/packaging/2.nix b/nixpkgs/pkgs/development/python2-modules/packaging/default.nix
index 0f9e61859a16..0f9e61859a16 100644
--- a/nixpkgs/pkgs/development/python-modules/packaging/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/packaging/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pillow/6.nix b/nixpkgs/pkgs/development/python2-modules/pillow/default.nix
index 61242c894a89..61242c894a89 100644
--- a/nixpkgs/pkgs/development/python-modules/pillow/6.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pillow/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/pillow/generic.nix b/nixpkgs/pkgs/development/python2-modules/pillow/generic.nix
new file mode 100644
index 000000000000..3e33f1a8aa0f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python2-modules/pillow/generic.nix
@@ -0,0 +1,77 @@
+{ pname
+, version
+, disabled
+, src
+, meta
+, ...
+}@args:
+
+with args;
+
+buildPythonPackage rec {
+  inherit pname version src meta;
+
+  # Disable imagefont tests, because they don't work well with infinality:
+  # https://github.com/python-pillow/Pillow/issues/1259
+  postPatch = ''
+    rm Tests/test_imagefont.py
+  '';
+
+  # Disable darwin tests which require executables: `iconutil` and `screencapture`
+  disabledTests = lib.optionals stdenv.isDarwin [
+    "test_grab"
+    "test_grabclipboard"
+    "test_save"
+
+    # pillow-simd
+    "test_roundtrip"
+    "test_basic"
+  ] ++ lib.optionals (lib.versions.major version == "6") [
+    # RuntimeError: Error setting from dictionary
+    "test_custom_metadata"
+  ];
+
+  propagatedBuildInputs = [ olefile ]
+    ++ lib.optionals (lib.versionAtLeast version "8.2.0") [ defusedxml ];
+
+  checkInputs = [ pytestCheckHook pyroma numpy ];
+
+  buildInputs = [ freetype libjpeg openjpeg libimagequant zlib libtiff libwebp tcl lcms2 ]
+    ++ lib.optionals (lib.versionAtLeast version "7.1.0") [ libxcb ]
+    ++ lib.optionals (isPyPy) [ tk libX11 ];
+
+  # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
+  # NOTE: The Pillow install script will, by default, add paths like /usr/lib
+  # and /usr/include to the search paths. This can break things when building
+  # on a non-NixOS system that has some libraries installed that are not
+  # installed in Nix (for example, Arch Linux has jpeg2000 but Nix doesn't
+  # build Pillow with this support). We patch the `disable_platform_guessing`
+  # setting here, instead of passing the `--disable-platform-guessing`
+  # command-line option, since the command-line option doesn't work when we run
+  # tests.
+  preConfigure = let
+    libinclude' = pkg: ''"${pkg.out}/lib", "${pkg.out}/include"'';
+    libinclude = pkg: ''"${pkg.out}/lib", "${pkg.dev}/include"'';
+  in ''
+    sed -i "setup.py" \
+        -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = ${libinclude freetype}|g ;
+            s|^JPEG_ROOT =.*$|JPEG_ROOT = ${libinclude libjpeg}|g ;
+            s|^JPEG2K_ROOT =.*$|JPEG2K_ROOT = ${libinclude openjpeg}|g ;
+            s|^IMAGEQUANT_ROOT =.*$|IMAGEQUANT_ROOT = ${libinclude' libimagequant}|g ;
+            s|^ZLIB_ROOT =.*$|ZLIB_ROOT = ${libinclude zlib}|g ;
+            s|^LCMS_ROOT =.*$|LCMS_ROOT = ${libinclude lcms2}|g ;
+            s|^TIFF_ROOT =.*$|TIFF_ROOT = ${libinclude libtiff}|g ;
+            s|^TCL_ROOT=.*$|TCL_ROOT = ${libinclude' tcl}|g ;
+            s|self\.disable_platform_guessing = None|self.disable_platform_guessing = True|g ;'
+    export LDFLAGS="$LDFLAGS -L${libwebp}/lib"
+    export CFLAGS="$CFLAGS -I${libwebp}/include"
+  '' + lib.optionalString (lib.versionAtLeast version "7.1.0") ''
+    export LDFLAGS="$LDFLAGS -L${libxcb}/lib"
+    export CFLAGS="$CFLAGS -I${libxcb.dev}/include"
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Remove impurities
+    substituteInPlace setup.py \
+      --replace '"/Library/Frameworks",' "" \
+      --replace '"/System/Library/Frameworks"' ""
+  '';
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pip/20.nix b/nixpkgs/pkgs/development/python2-modules/pip/default.nix
index e3666d6a7961..e3666d6a7961 100644
--- a/nixpkgs/pkgs/development/python-modules/pip/20.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pip/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pluggy/0.nix b/nixpkgs/pkgs/development/python2-modules/pluggy/default.nix
index 30fa2e1945b2..30fa2e1945b2 100644
--- a/nixpkgs/pkgs/development/python-modules/pluggy/0.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pluggy/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/prettytable/1.nix b/nixpkgs/pkgs/development/python2-modules/prettytable/default.nix
index 8191e9b5f579..8191e9b5f579 100644
--- a/nixpkgs/pkgs/development/python-modules/prettytable/1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/prettytable/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/protobuf/default.nix b/nixpkgs/pkgs/development/python2-modules/protobuf/default.nix
new file mode 100644
index 000000000000..30e9fbf9ea75
--- /dev/null
+++ b/nixpkgs/pkgs/development/python2-modules/protobuf/default.nix
@@ -0,0 +1,59 @@
+{ buildPackages
+, lib
+, fetchpatch
+, python
+, buildPythonPackage
+, isPy37
+, protobuf
+, google-apputils ? null
+, six
+, pyext
+, isPy27
+, disabled
+, doCheck ? true
+}:
+
+buildPythonPackage {
+  inherit (protobuf) pname src version;
+  inherit disabled;
+  doCheck = doCheck && !isPy27; # setuptools>=41.4 no longer collects correctly on python2
+
+  propagatedBuildInputs = [ six ] ++ lib.optionals isPy27 [ google-apputils ];
+  propagatedNativeBuildInputs = [ buildPackages.protobuf ]; # For protoc.
+  nativeBuildInputs = [ pyext ] ++ lib.optionals isPy27 [ google-apputils ];
+  buildInputs = [ protobuf ];
+
+  patches = lib.optional (isPy37 && (lib.versionOlder protobuf.version "3.6.1.2"))
+    # Python 3.7 compatibility (not needed for protobuf >= 3.6.1.2)
+    (fetchpatch {
+      url = "https://github.com/protocolbuffers/protobuf/commit/0a59054c30e4f0ba10f10acfc1d7f3814c63e1a7.patch";
+      sha256 = "09hw22y3423v8bbmc9xm07znwdxfbya6rp78d4zqw6fisdvjkqf1";
+      stripLen = 1;
+    })
+  ;
+
+  prePatch = ''
+    while [ ! -d python ]; do
+      cd *
+    done
+    cd python
+  '';
+
+  setupPyGlobalFlags = lib.optional (lib.versionAtLeast protobuf.version "2.6.0")
+    "--cpp_implementation";
+
+  pythonImportsCheck = [
+    "google.protobuf"
+  ] ++ lib.optionals (lib.versionAtLeast protobuf.version "2.6.0") [
+    "google.protobuf.internal._api_implementation" # Verify that --cpp_implementation worked
+  ];
+
+  meta = with lib; {
+    description = "Protocol Buffers are Google's data interchange format";
+    homepage = "https://developers.google.com/protocol-buffers/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ knedlsepp ];
+  };
+
+  passthru.protobuf = protobuf;
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pycairo/1.18.nix b/nixpkgs/pkgs/development/python2-modules/pycairo/default.nix
index 9da4da1479c0..9da4da1479c0 100644
--- a/nixpkgs/pkgs/development/python-modules/pycairo/1.18.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pycairo/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject/3.36.nix b/nixpkgs/pkgs/development/python2-modules/pygobject/default.nix
index ce9410eaf8b5..ce9410eaf8b5 100644
--- a/nixpkgs/pkgs/development/python-modules/pygobject/3.36.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pygobject/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pygtk/default.nix b/nixpkgs/pkgs/development/python2-modules/pygtk/default.nix
index 938b55630c06..465d711ec6ff 100644
--- a/nixpkgs/pkgs/development/python-modules/pygtk/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pygtk/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, fetchpatch, python, pkg-config, gtk2, pygobject2, pycairo, pango
-, buildPythonPackage, libglade ? null, isPy3k }:
+, buildPythonPackage, isPy3k }:
 
 buildPythonPackage rec {
   pname = "pygtk";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
     pango
-  ] ++ lib.optional (libglade != null) libglade;
+  ];
 
   propagatedBuildInputs = [ gtk2 pygobject2 pycairo ];
 
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   installPhase = "installPhase";
 
-  checkPhase = lib.optionalString (libglade == null)
+  checkPhase =
     ''
       sed -i -e "s/glade = importModule('gtk.glade', buildDir)//" \
              tests/common.py
diff --git a/nixpkgs/pkgs/development/python-modules/pyjwt/1.nix b/nixpkgs/pkgs/development/python2-modules/pyjwt/default.nix
index 9978302d1cc4..9978302d1cc4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyjwt/1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pyjwt/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/pyparsing/default.nix b/nixpkgs/pkgs/development/python2-modules/pyparsing/default.nix
new file mode 100644
index 000000000000..d51032a154af
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyroma/2.nix b/nixpkgs/pkgs/development/python2-modules/pyroma/default.nix
index 9fee5ec56c0e..9fee5ec56c0e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyroma/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pyroma/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pysqlite/default.nix b/nixpkgs/pkgs/development/python2-modules/pysqlite/default.nix
index 09cc312223ad..09cc312223ad 100644
--- a/nixpkgs/pkgs/development/python-modules/pysqlite/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pysqlite/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-runner/2.nix b/nixpkgs/pkgs/development/python2-modules/pytest-runner/default.nix
index bea83146c37d..bea83146c37d 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-runner/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pytest-runner/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-xdist/1.nix b/nixpkgs/pkgs/development/python2-modules/pytest-xdist/default.nix
index 466d86f50f78..466d86f50f78 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-xdist/1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pytest-xdist/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pytest/4.nix b/nixpkgs/pkgs/development/python2-modules/pytest/default.nix
index 0a0ae571ba01..0a0ae571ba01 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest/4.nix
+++ b/nixpkgs/pkgs/development/python2-modules/pytest/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/pyyaml/default.nix b/nixpkgs/pkgs/development/python2-modules/pyyaml/default.nix
new file mode 100644
index 000000000000..3edfae90e668
--- /dev/null
+++ b/nixpkgs/pkgs/development/python2-modules/pyyaml/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, libyaml
+, isPy27
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "PyYAML";
+  version = "5.4.1.1";
+
+  src = fetchFromGitHub {
+    owner = "yaml";
+    repo = "pyyaml";
+    rev = version;
+    sha256 = "1v386gzdvsjg0mgix6v03rd0cgs9dl81qvn3m547849jm8r41dx8";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  buildInputs = [ libyaml ];
+
+  checkPhase = ''
+    runHook preCheck
+    PYTHONPATH=""tests/lib":$PYTHONPATH" ${python.interpreter} -m test_all
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "yaml" ];
+
+  meta = with lib; {
+    description = "The next generation YAML parser and emitter for Python";
+    homepage = "https://github.com/yaml/pyyaml";
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qpid-python/default.nix b/nixpkgs/pkgs/development/python2-modules/qpid-python/default.nix
index 24c90d072a2b..e22b3215e81f 100644
--- a/nixpkgs/pkgs/development/python-modules/qpid-python/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/qpid-python/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "http://qpid.apache.org/";
+    homepage = "https://qpid.apache.org/";
     description = "Python client implementation and AMQP conformance tests for Apache Qpid";
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/s3transfer/0_4.nix b/nixpkgs/pkgs/development/python2-modules/s3transfer/default.nix
index 8cfd324f00a5..8cfd324f00a5 100644
--- a/nixpkgs/pkgs/development/python-modules/s3transfer/0_4.nix
+++ b/nixpkgs/pkgs/development/python2-modules/s3transfer/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/scandir/default.nix b/nixpkgs/pkgs/development/python2-modules/scandir/default.nix
index f92b1f5a6ed7..f92b1f5a6ed7 100644
--- a/nixpkgs/pkgs/development/python-modules/scandir/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/scandir/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools-scm/2.nix b/nixpkgs/pkgs/development/python2-modules/setuptools-scm/default.nix
index 4cf6f16fedfb..4cf6f16fedfb 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools-scm/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/setuptools-scm/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix b/nixpkgs/pkgs/development/python2-modules/setuptools/default.nix
index ca70a1061512..ca70a1061512 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools/44.0.nix
+++ b/nixpkgs/pkgs/development/python2-modules/setuptools/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/setuptools/tag-date.patch b/nixpkgs/pkgs/development/python2-modules/setuptools/tag-date.patch
new file mode 100644
index 000000000000..441177a5d17e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python2-modules/setuptools/tag-date.patch
@@ -0,0 +1,12 @@
+diff --git a/setup.cfg b/setup.cfg
+index f23714b6..8aaeb330 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -1,6 +1,6 @@
+ [egg_info]
+ tag_build = .post
+-tag_date = 1
++tag_date = 0
+
+ [aliases]
+ clean_egg_info = egg_info -Db ''
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx/2.nix b/nixpkgs/pkgs/development/python2-modules/sphinx/default.nix
index 0424b9b4c39b..0424b9b4c39b 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/sphinx/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx/python2-lexer.patch b/nixpkgs/pkgs/development/python2-modules/sphinx/python2-lexer.patch
index cf4a243315a2..cf4a243315a2 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx/python2-lexer.patch
+++ b/nixpkgs/pkgs/development/python2-modules/sphinx/python2-lexer.patch
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/1_1.nix b/nixpkgs/pkgs/development/python2-modules/sphinxcontrib-websupport/default.nix
index b1bdf6a0dff6..b1bdf6a0dff6 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/1_1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/sphinxcontrib-websupport/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/typing/default.nix b/nixpkgs/pkgs/development/python2-modules/typing/default.nix
index b3dcea203231..b3dcea203231 100644
--- a/nixpkgs/pkgs/development/python-modules/typing/default.nix
+++ b/nixpkgs/pkgs/development/python2-modules/typing/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/2.nix b/nixpkgs/pkgs/development/python2-modules/urllib3/default.nix
index a52e68eac5e3..a52e68eac5e3 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/2.nix
+++ b/nixpkgs/pkgs/development/python2-modules/urllib3/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/vcrpy/3.nix b/nixpkgs/pkgs/development/python2-modules/vcrpy/default.nix
index ddd4015aad1e..ddd4015aad1e 100644
--- a/nixpkgs/pkgs/development/python-modules/vcrpy/3.nix
+++ b/nixpkgs/pkgs/development/python2-modules/vcrpy/default.nix
diff --git a/nixpkgs/pkgs/development/python2-modules/werkzeug/default.nix b/nixpkgs/pkgs/development/python2-modules/werkzeug/default.nix
new file mode 100644
index 000000000000..c03cc6935d2f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python2-modules/werkzeug/default.nix
@@ -0,0 +1,60 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi
+, itsdangerous, hypothesis
+, pytestCheckHook, requests
+, pytest-timeout
+ }:
+
+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/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix b/nixpkgs/pkgs/development/python2-modules/wsproto/default.nix
index a8488d8c4ab8..a8488d8c4ab8 100644
--- a/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix
+++ b/nixpkgs/pkgs/development/python2-modules/wsproto/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/wxPython/3.0.nix b/nixpkgs/pkgs/development/python2-modules/wxPython/default.nix
index 6649c5f69315..6649c5f69315 100644
--- a/nixpkgs/pkgs/development/python-modules/wxPython/3.0.nix
+++ b/nixpkgs/pkgs/development/python2-modules/wxPython/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/zipp/1.nix b/nixpkgs/pkgs/development/python2-modules/zipp/default.nix
index 82f100aaa0d1..82f100aaa0d1 100644
--- a/nixpkgs/pkgs/development/python-modules/zipp/1.nix
+++ b/nixpkgs/pkgs/development/python2-modules/zipp/default.nix
diff --git a/nixpkgs/pkgs/development/r-modules/bioc-annotation-packages.nix b/nixpkgs/pkgs/development/r-modules/bioc-annotation-packages.nix
index 635926e72c17..e8da5771d4ea 100644
--- a/nixpkgs/pkgs/development/r-modules/bioc-annotation-packages.nix
+++ b/nixpkgs/pkgs/development/r-modules/bioc-annotation-packages.nix
@@ -7,7 +7,7 @@
 let derive2 = derive { biocVersion = "3.14"; };
 in with self; {
   AHCytoBands = derive2 { name="AHCytoBands"; version="0.99.1"; sha256="0svxxhj3mh5gqik45ikcxnlhnma8n1c0rv8pycj2034cb9ms1dbv"; depends=[]; };
-  AHEnsDbs = derive2 { name="AHEnsDbs"; version="1.1.2"; sha256="06phi519h709nabs09xqnfyqjilj1fzmxb272hy7gy8g6lvx3g7d"; depends=[AnnotationHubData ensembldb]; };
+  AHEnsDbs = derive2 { name="AHEnsDbs"; version="1.1.4"; sha256="1s6z7cy4fx1w37w9j3315v8v7blip98kiv5wxgqfvsy98irxk58r"; depends=[AnnotationHubData ensembldb]; };
   AHLRBaseDbs = derive2 { name="AHLRBaseDbs"; version="1.2.0"; sha256="0x82jcvza2vy0vi8pl0c55nsggpbrfgfxvqli38q29km8cdqcxmi"; depends=[AnnotationHub]; };
   AHMeSHDbs = derive2 { name="AHMeSHDbs"; version="1.2.0"; sha256="12a8wh671zvwknr47cbcmijpwjm13wyd7plmifkdpj0vqgc78q0a"; depends=[AnnotationHub]; };
   AHPathbankDbs = derive2 { name="AHPathbankDbs"; version="0.99.5"; sha256="10wcrglm521xcrfbzc39dkbjvg1pkz0zq70vgnh68akiwmdirp89"; depends=[AnnotationHub]; };
@@ -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/nixpkgs/pkgs/development/r-modules/bioc-experiment-packages.nix b/nixpkgs/pkgs/development/r-modules/bioc-experiment-packages.nix
index b5ccda70d474..46c8c0e069f5 100644
--- a/nixpkgs/pkgs/development/r-modules/bioc-experiment-packages.nix
+++ b/nixpkgs/pkgs/development/r-modules/bioc-experiment-packages.nix
@@ -262,7 +262,7 @@ in with self; {
   curatedBladderData = derive2 { name="curatedBladderData"; version="1.30.0"; sha256="0jv7aflam2gfzj8snf7dly26zq9c6gj764zb6fk0z9lb8wk4arxg"; depends=[affy]; };
   curatedBreastData = derive2 { name="curatedBreastData"; version="2.22.0"; sha256="0jnjhlw3b27521jmbbq4m0lq388m1g09lfhqfri3hbvrayk19pn6"; depends=[Biobase BiocStyle ggplot2 impute XML]; };
   curatedCRCData = derive2 { name="curatedCRCData"; version="2.26.0"; sha256="0gpkfff5k4mh96d6q5s2iwba7pfkp5wjl3nxhg3sm0vryrj0w8s0"; depends=[BiocGenerics nlme]; };
-  curatedMetagenomicData = derive2 { name="curatedMetagenomicData"; version="3.2.2"; sha256="1ir416wzh373cvcx1jdfqi0abpz3cgk6x40mcrgwsynzcfrqql7q"; depends=[AnnotationHub dplyr ExperimentHub magrittr mia purrr rlang S4Vectors stringr SummarizedExperiment tibble tidyr tidyselect TreeSummarizedExperiment]; };
+  curatedMetagenomicData = derive2 { name="curatedMetagenomicData"; version="3.2.3"; sha256="1lwca6kpl6lgj56kcyaxnaby34ar1nf4rmcyqgnki1s9z0hsh9z8"; depends=[AnnotationHub dplyr ExperimentHub magrittr mia purrr rlang S4Vectors stringr SummarizedExperiment tibble tidyr tidyselect TreeSummarizedExperiment]; };
   curatedOvarianData = derive2 { name="curatedOvarianData"; version="1.32.0"; sha256="171m6j6wq5w7n68xzjf34shqhw1360cmzfh5q2al71jsh8lrw77x"; depends=[affy BiocGenerics]; };
   curatedTBData = derive2 { name="curatedTBData"; version="1.0.0"; sha256="0cbs8pkr4zlpvdmq1zsxyh47lkbgpf0ppbv8y653arryb4knficl"; depends=[AnnotationHub ExperimentHub MultiAssayExperiment rlang]; };
   curatedTCGAData = derive2 { name="curatedTCGAData"; version="1.16.0"; sha256="0d7id11liv55xj0n8gk0587p6kjwm5k22jgwf1f107y81zigpi3n"; depends=[AnnotationHub ExperimentHub HDF5Array MultiAssayExperiment S4Vectors SummarizedExperiment]; };
@@ -314,10 +314,10 @@ 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.0"; sha256="1x1hxdyiha3cbl6b87f3d9lzrdlal3lcvgyiqliijqmjphpgjmvk"; depends=[Biobase]; };
+  lungExpression = derive2 { name="lungExpression"; version="0.32.1"; sha256="00dm271n1lnj5myscmkm9g4a361lfsfg8cl7ii5z8br9v4wyw2y8"; depends=[Biobase]; };
   lydata = derive2 { name="lydata"; version="1.20.0"; sha256="0sl5a35fgac7lzi5y52fif7s5chi4jskg21a46gcyi8xv6k8lj4f"; depends=[]; };
   mAPKLData = derive2 { name="mAPKLData"; version="1.26.0"; sha256="01dfn8jd5rq14fk7s14i4z6rn59c82qzdy12lhn2srzxdz0jhwf2"; depends=[]; };
   mCSEAdata = derive2 { name="mCSEAdata"; version="1.14.0"; sha256="0sa3c0b3i3qf9ng7475lszl6lxl33hb6m3fcxlval06qifsdbc39"; depends=[]; };
@@ -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]; };
@@ -386,10 +386,10 @@ in with self; {
   sesameData = derive2 { name="sesameData"; version="1.12.0"; sha256="1kr5vn4rw1ncnvbxx3j2amqqzsddzwy79qlpzqxp8jmzydqfamxj"; depends=[AnnotationHub curl ExperimentHub rmarkdown]; };
   seventyGeneData = derive2 { name="seventyGeneData"; version="1.30.0"; sha256="0ckip0hw3xwf48iqschdwrlx4yr5wnyf7iycxfbrc2cz7zsbgp5n"; depends=[]; };
   shinyMethylData = derive2 { name="shinyMethylData"; version="1.14.0"; sha256="0hb1ahn1c613iz6ds39jgpa6aw0wgl0pv5f9gai1fp1zbqc44r6p"; depends=[]; };
-  signatureSearchData = derive2 { name="signatureSearchData"; version="1.8.0"; sha256="13xfdg3si14zmrbib691301hhxxj3d3xyfkab5l4skspzgpd64cx"; depends=[affy Biobase dplyr ExperimentHub limma magrittr R_utils rhdf5 signatureSearch]; };
+  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.1"; sha256="1hczv6ndc6dvybx9ii8r0pnfc3j4491hfha41z1vi9cvlpixx2gs"; 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/nixpkgs/pkgs/development/r-modules/bioc-packages.nix b/nixpkgs/pkgs/development/r-modules/bioc-packages.nix
index d1d56ced5421..5358d3e58049 100644
--- a/nixpkgs/pkgs/development/r-modules/bioc-packages.nix
+++ b/nixpkgs/pkgs/development/r-modules/bioc-packages.nix
@@ -42,7 +42,7 @@ in with self; {
   AllelicImbalance = derive2 { name="AllelicImbalance"; version="1.32.0"; sha256="1s6arjd0nxgxyqy7vhqcb78k0ss7vwrhv41pm346hs1nyr5dkzaq"; depends=[AnnotationDbi BiocGenerics Biostrings BSgenome GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges gridExtra Gviz IRanges lattice latticeExtra nlme Rsamtools S4Vectors seqinr SummarizedExperiment VariantAnnotation]; };
   AlphaBeta = derive2 { name="AlphaBeta"; version="1.8.0"; sha256="0ya3dqvdf8iyd5bscc9lc476vkc7kamiqgjvxhxl4ay5j4vn02nr"; depends=[BiocParallel data_table dplyr expm ggplot2 gtools igraph optimx plotly stringr]; };
   AlpsNMR = derive2 { name="AlpsNMR"; version="3.4.0"; sha256="0h8y9hi97zbv3qzjskxh81qjarmwx2w790kpspljgxa214f58fzv"; depends=[assertthat baseline BiocParallel dplyr fs furrr future GGally ggplot2 ggrepel glue htmltools magrittr matrixStats mixOmics pcaPP plyr purrr readxl reshape2 rlang rmarkdown S4Vectors signal speaq stringr SummarizedExperiment tibble tidyr tidyselect vctrs writexl zip]; };
-  AnVIL = derive2 { name="AnVIL"; version="1.6.0"; sha256="1a4jjrwc8hmcaq35jzyf3k3pva1zisbsz1vdmv25qgjirf9m357h"; depends=[BiocManager dplyr futile_logger httr jsonlite rapiclient rlang tibble tidyr tidyselect]; };
+  AnVIL = derive2 { name="AnVIL"; version="1.6.2"; sha256="0qiadpn9pwhm7dqmsycpiaqvwf5il4gy2058hl5mnm954bj9hna4"; depends=[BiocManager dplyr futile_logger httr jsonlite rapiclient rlang tibble tidyr tidyselect]; };
   AnVILBilling = derive2 { name="AnVILBilling"; version="1.4.0"; sha256="0pg5r6qn18i91z2ixapdkranaacv9z8ljmdb33vdn2dqwv2w85b1"; depends=[bigrquery DBI dplyr DT ggplot2 lubridate magrittr plotly shiny shinytoastr]; };
   AnVILPublish = derive2 { name="AnVILPublish"; version="1.4.1"; sha256="0jvh22kz9mg4r49mbzvbvzbn58lzj5mvk7qb4pizn4sd8xsbvmyq"; depends=[AnVIL httr jsonlite readr rmarkdown whisker yaml]; };
   Anaquin = derive2 { name="Anaquin"; version="2.18.0"; sha256="0b9clpqy2jfhign30nab1369xswrkmqm6dx14mf6wjrvcl9xpm2s"; depends=[DESeq2 ggplot2 knitr locfit plyr qvalue ROCR]; };
@@ -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,12 +108,12 @@ 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]; };
   BiocOncoTK = derive2 { name="BiocOncoTK"; version="1.14.0"; sha256="1h5s6wbc5n5x5d28rynxpcmaklxdhf72g9gg9fy8cg77niipvxd9"; depends=[bigrquery car ComplexHeatmap curatedTCGAData DBI dplyr DT GenomicFeatures GenomicRanges ggplot2 ggpubr graph httr IRanges magrittr plyr Rgraphviz rjson S4Vectors scales shiny SummarizedExperiment]; };
-  BiocParallel = derive2 { name="BiocParallel"; version="1.28.2"; sha256="0mq9cz7d0lfgq63yp4m3mw7wmji1pa3y78nlwpizs1f9d6f7y8vk"; depends=[BH futile_logger snow]; };
+  BiocParallel = derive2 { name="BiocParallel"; version="1.28.3"; sha256="0lkp7m2l66zq8yl788mkvi9kpb1haywxpf6ip9xl5y6iwm1w2b8p"; depends=[BH futile_logger snow]; };
   BiocPkgTools = derive2 { name="BiocPkgTools"; version="1.12.2"; sha256="1yz2sgx4xrnw22k3d6q6hkj213bnbb4hbr5ymxnmjnsz551s75ny"; depends=[BiocFileCache BiocManager biocViews dplyr DT gh graph htmltools htmlwidgets httr igraph jsonlite magrittr RBGL readr rlang rvest stringr tibble tidyr tidyselect xml2]; };
   BiocSet = derive2 { name="BiocSet"; version="1.8.1"; sha256="1x5ar9byr85iap2x6y66j31fi17wr31awx1gl3z01sckp0dldx6w"; depends=[AnnotationDbi BiocIO dplyr KEGGREST ontologyIndex plyr rlang S4Vectors tibble tidyr]; };
   BiocSingular = derive2 { name="BiocSingular"; version="1.10.0"; sha256="0dkh6a23qymjcynppmpp3k1mzpfadv8dqyz410pxkqsxig4ldd4n"; depends=[beachmat BiocGenerics BiocParallel DelayedArray irlba Matrix Rcpp rsvd S4Vectors ScaledMatrix]; };
@@ -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,8 +203,8 @@ 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]; };
-  ChIPseeker = derive2 { name="ChIPseeker"; version="1.30.2"; sha256="1nr5p1h9131rvbpnh2kizzx9q6f4ycq6rzxy1yqg2pczqcg7hy4x"; depends=[AnnotationDbi BiocGenerics boot dplyr enrichplot GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 gplots gtools IRanges magrittr plotrix RColorBrewer rtracklayer S4Vectors TxDb_Hsapiens_UCSC_hg19_knownGene]; };
+  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]; };
   ChemmineOB = derive2 { name="ChemmineOB"; version="1.32.0"; sha256="14zwckgg8wqcdjmdk3i8p7f82df4izipq2lfck98l4i0z2p3y0f3"; depends=[BH BiocGenerics Rcpp zlibbioc]; };
@@ -237,7 +237,7 @@ in with self; {
   CytoDx = derive2 { name="CytoDx"; version="1.14.0"; sha256="1wrfcmg0prz5qywalrzyql08aw2rglkz14fn6j670av40yblskhv"; depends=[doParallel dplyr flowCore glmnet rpart rpart_plot]; };
   CytoGLMM = derive2 { name="CytoGLMM"; version="1.2.0"; sha256="0q5d86kx16nlsckp3zmh6j1irn0l8y40lx17pp99n32mzi9b7c02"; depends=[BiocParallel caret cowplot doParallel dplyr factoextra flexmix ggplot2 ggrepel logging magrittr MASS Matrix mbest pheatmap RColorBrewer rlang speedglm stringr strucchange tibble tidyr]; };
   CytoML = derive2 { name="CytoML"; version="2.6.0"; sha256="16rgsc2dz5b8lm3ma8nh9wiknrdnvfjcsij7809rmcfs0gn1arcz"; depends=[base64enc BH Biobase corpcor cytolib data_table dplyr flowCore flowWorkspace ggcyto graph jsonlite lattice openCyto plyr RBGL Rcpp RcppArmadillo RcppParallel Rgraphviz Rhdf5lib RProtoBufLib RUnit tibble XML xml2 yaml]; };
-  CytoTree = derive2 { name="CytoTree"; version="1.3.0"; sha256="1nb17lhpzzqd3xvs4ccdc5kcm4jvgk7w66nyv3vd8s68d7cf9rnp"; depends=[Biobase BiocNeighbors cluster flowCore FlowSOM flowUtils ggplot2 gmodels igraph limma Matrix matrixStats mclust pheatmap prettydoc RANN Rcpp Rtsne scatterpie scatterplot3d stringr sva umap]; };
+  CytoTree = derive2 { name="CytoTree"; version="1.4.0"; sha256="1k5jynyzafi7fn8qmnsl7r86p56z0lv4n95v3mg3mvql7l2q26gd"; depends=[Biobase BiocNeighbors cluster destiny flowCore FlowSOM flowUtils ggplot2 gmodels igraph limma Matrix matrixStats mclust pheatmap prettydoc RANN Rcpp Rtsne scatterpie scatterplot3d stringr sva umap]; };
   DAMEfinder = derive2 { name="DAMEfinder"; version="1.6.0"; sha256="0g47m8ac1rgllhfcbss0200m5jcrasns15x03db601m1jy37mcj8"; depends=[BiocGenerics Biostrings bumphunter cowplot GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 IRanges limma plyr readr reshape2 Rsamtools S4Vectors stringr SummarizedExperiment VariantAnnotation]; };
   DAPAR = derive2 { name="DAPAR"; version="1.26.1"; sha256="1xkilz7smw6q4d0v9z13787h771ks454ma7bism9mm1rn0zdzw4n"; depends=[AnnotationDbi apcluster Biobase Cairo cluster clusterProfiler cp4p DAPARdata dendextend diptest doParallel dplyr factoextra FactoMineR forcats foreach ggplot2 gplots graph highcharter igraph imp4p impute knitr lattice limma lme4 Matrix Mfuzz MSnbase multcomp norm openxlsx pcaMethods png preprocessCore purrr RColorBrewer readxl reshape2 scales siggenes stringr tibble tidyr tidyverse tmvtnorm vioplot visNetwork vsn]; };
   DART = derive2 { name="DART"; version="1.42.0"; sha256="1wxg3szgsqy33z4vp150w5kg2nxyxqs3az5vxbajz5z9q7fg3zrb"; depends=[igraph]; };
@@ -252,17 +252,17 @@ 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.0"; sha256="0z8la638q8jij95bnyfrrjhv4abda5f3shr9jwg7g21kr3dx20rf"; depends=[Biobase DExMAdata GEOquery impute limma pheatmap plyr scales snpStats sva swamp]; };
+  DExMA = derive2 { name="DExMA"; version="1.2.1"; sha256="1afxv356bkswnbyh3mkf98xqq1arcgak980hkryn4i69531kkc0w"; depends=[Biobase bnstruct DExMAdata GEOquery impute limma pheatmap plyr scales snpStats sva swamp]; };
   DFP = derive2 { name="DFP"; version="1.52.0"; sha256="1b3h4zsqp75ac6zq8yc73pila8khb57hlh5yj9md8kgxqcg4b447"; depends=[Biobase]; };
   DIAlignR = derive2 { name="DIAlignR"; version="2.2.0"; sha256="1py41l19brb2z7iv1fj9jkw213pn5aqwiq47bz4iha4jb42rdn64"; depends=[ape bit64 data_table DBI dplyr ggplot2 magrittr mzR phangorn pracma Rcpp RcppEigen reticulate rlang RMSNumpress RSQLite signal tidyr zoo]; };
   DMCFB = derive2 { name="DMCFB"; version="1.8.0"; sha256="03mg620cpn13avvd962akmjgd2d0ph7b7zgb22zcidsfk8q9znmh"; depends=[arm benchmarkme BiocParallel data_table fastDummies GenomicRanges IRanges MASS matrixStats rtracklayer S4Vectors speedglm SummarizedExperiment tibble]; };
   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.0"; sha256="07p1a4sbavh2c3qkxak3zfcgvjqy31wc30mvlx1k8v965dalfxyw"; 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]; };
@@ -277,7 +277,7 @@ in with self; {
   DeMixT = derive2 { name="DeMixT"; version="1.10.0"; sha256="0x3kjcn0878w36rqd808ca1iicv4dki1f8066s3ry7806dhcxiln"; depends=[base64enc ggplot2 KernSmooth knitr matrixcalc matrixStats Rcpp rmarkdown SummarizedExperiment truncdist]; };
   DeconRNASeq = derive2 { name="DeconRNASeq"; version="1.36.0"; sha256="1ax9lx5qg4k5c1mv35bhpfh9q8dbfbv4rf4y1vy994qxmnq4rwsv"; depends=[ggplot2 limSolve pcaMethods]; };
   DeepBlueR = derive2 { name="DeepBlueR"; version="1.20.0"; sha256="16sdsvmp54k6zj1xcxmq0pdpm91q9ff11p3c83ii30brshj69bhi"; depends=[data_table diffr dplyr filehash foreach GenomeInfoDb GenomicRanges R_utils RCurl rjson rtracklayer settings stringr withr XML]; };
-  DeepPINCS = derive2 { name="DeepPINCS"; version="1.2.0"; sha256="0pw7bda7qa0sdj0yz2iazvxkrl2nqqvqx74i4czzfyp6q94j6r1k"; depends=[CatEncoders keras matlab PRROC purrr rcdk reticulate stringdist tensorflow tokenizers ttgsea webchem]; };
+  DeepPINCS = derive2 { name="DeepPINCS"; version="1.2.1"; sha256="0ic9v6ikpb4r51j39f54z3va5ybcpd7i11xigwgb85wp3ri3nkvw"; depends=[CatEncoders keras matlab PRROC purrr rcdk reticulate stringdist tensorflow tokenizers ttgsea webchem]; };
   DegNorm = derive2 { name="DegNorm"; version="1.4.0"; sha256="0f3vpynm5g83lpja5xg9nvpssyj6lh5cw9syg242j3mlrjim9bif"; depends=[data_table doParallel foreach GenomicAlignments GenomicFeatures GenomicRanges ggplot2 heatmaply IRanges plotly plyr Rcpp RcppArmadillo Rsamtools S4Vectors viridis]; };
   DelayedArray = derive2 { name="DelayedArray"; version="0.20.0"; sha256="1cm6zh01mvhiq7zrik7q3dmgxinyjz1nyg6rfj93kpkvcb5d4wpj"; depends=[BiocGenerics IRanges Matrix MatrixGenerics S4Vectors]; };
   DelayedDataFrame = derive2 { name="DelayedDataFrame"; version="1.10.0"; sha256="1vifbqka5k1rmimqcpl6218ragr9dq9rzxizx9nff5ilsva21f9b"; depends=[BiocGenerics DelayedArray S4Vectors]; };
@@ -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.0"; sha256="15p4jd9k520va6kzizkgsl4a18kh5r8i50qfdkv7xazsfhvxjm3i"; 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=[]; };
@@ -309,20 +309,20 @@ in with self; {
   EGSEA = derive2 { name="EGSEA"; version="1.22.0"; sha256="17q0cjvkrqhmzcgvip4mkdz02aa9rm3svfv2s689fhz2kmwljca8"; depends=[AnnotationDbi Biobase DT edgeR EGSEAdata gage ggplot2 globaltest gplots GSVA HTMLUtils htmlwidgets hwriter limma metap org_Hs_eg_db org_Mm_eg_db org_Rn_eg_db PADOG pathview plotly RColorBrewer safe stringi topGO]; };
   ELMER = derive2 { name="ELMER"; version="2.18.0"; sha256="0kn5yr9yf49kcipjn4z7bcpzj74kcfkhb8q9cfnx659xnksfb27d"; depends=[biomaRt circlize ComplexHeatmap DelayedArray doParallel downloader dplyr ELMER_data GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggpubr ggrepel gridExtra Gviz IRanges lattice magrittr Matrix MultiAssayExperiment plotly plyr progress purrr readr reshape reshape2 rmarkdown rtracklayer rvest S4Vectors scales stringr SummarizedExperiment TCGAbiolinks tibble tidyr xml2]; };
   EMDomics = derive2 { name="EMDomics"; version="2.24.0"; sha256="0rf83brhzdqsnwg3vlby0a4kf8khv2g7rmxkk31r44apkyspzapl"; depends=[BiocParallel CDFt emdist ggplot2 matrixStats preprocessCore]; };
-  ENmix = derive2 { name="ENmix"; version="1.30.0"; sha256="1c20i0h00kj0fpc6ij7sm8hcfd41kfqb3l07pj3dpc93n2r3fr8s"; depends=[AnnotationHub Biobase doParallel dynamicTreeCut ExperimentHub foreach genefilter geneplotter gplots gtools illuminaio impute IRanges irr matrixStats minfi preprocessCore quadprog RPMM S4Vectors SummarizedExperiment]; };
+  ENmix = derive2 { name="ENmix"; version="1.30.01"; sha256="14p1imjqylqwfap662w94mss0f8gl4z2laz8mhhxz5gk1xym5i9n"; depends=[AnnotationHub Biobase doParallel dynamicTreeCut ExperimentHub foreach genefilter geneplotter gplots gtools illuminaio impute IRanges matrixStats minfi preprocessCore quadprog RPMM S4Vectors SummarizedExperiment]; };
   ERSSA = derive2 { name="ERSSA"; version="1.12.0"; sha256="11lak418vmswi9mz4h97pxb68m7ihqbg6z93bvnakka65w997ki8"; depends=[BiocParallel DESeq2 edgeR ggplot2 plyr RColorBrewer]; };
   EWCE = derive2 { name="EWCE"; version="1.2.0"; sha256="02kfcj2wldqfrkrlwss5k5vb5mgi37jrp2c3kx556k25xkzh19vq"; depends=[AnnotationHub biomaRt cowplot ewceData ExperimentHub future ggdendro ggplot2 gridExtra HGNChelper limma Matrix reshape2 RNOmni scales stringr SummarizedExperiment]; };
   EmpiricalBrownsMethod = derive2 { name="EmpiricalBrownsMethod"; version="1.22.0"; sha256="0yra1mp1iz4rh6dvlxv0i0f1ibqgl9giz3r4csg5l0wxz60fbxzm"; depends=[]; };
   EnMCB = derive2 { name="EnMCB"; version="1.6.0"; sha256="050mzns1zh643pxzqzc935hwczpk7xwa16qq7z88cagab2r8yx7j"; depends=[boot doParallel foreach ggplot2 glmnet IlluminaHumanMethylation450kanno_ilmn12_hg19 mboost minfi rms survival survivalROC survivalsvm]; };
   EnhancedVolcano = derive2 { name="EnhancedVolcano"; version="1.12.0"; sha256="19l1yz522hzmwwsgqqhwqrazqf6w015fi3j85n9pxqkyisz2r2x2"; depends=[ggalt ggplot2 ggrastr ggrepel]; };
   EnrichedHeatmap = derive2 { name="EnrichedHeatmap"; version="1.24.0"; sha256="1wbbasz3467jg6anzm57y4kijsysfkah1l5f82qw6ckrhv3rxylc"; depends=[circlize ComplexHeatmap GenomicRanges GetoptLong IRanges locfit matrixStats Rcpp]; };
-  EnrichmentBrowser = derive2 { name="EnrichmentBrowser"; version="2.24.0"; sha256="0f8arb1i4cxa65yp15s3nysr0gzq9hvmv6sfbbxq0qfp83dji9c9"; depends=[AnnotationDbi BiocFileCache BiocManager edgeR GO_db graph graphite GSEABase hwriter KEGGgraph KEGGREST limma pathview Rgraphviz S4Vectors safe SPIA SummarizedExperiment]; };
+  EnrichmentBrowser = derive2 { name="EnrichmentBrowser"; version="2.24.1"; sha256="1g08xvd6zav59cjj8sv12m03x35655npagxpnzg6awkmnx5x811s"; depends=[AnnotationDbi BiocFileCache BiocManager edgeR GO_db graph graphite GSEABase hwriter KEGGgraph KEGGREST limma pathview Rgraphviz S4Vectors safe SPIA SummarizedExperiment]; };
   EpiDISH = derive2 { name="EpiDISH"; version="2.10.0"; sha256="1fqyg3hfc40d1pvw02d95wr1lm2wi82yx3vrrsf7gs53i9gdm2q0"; depends=[e1071 locfdr MASS Matrix matrixStats quadprog stringr]; };
   EpiTxDb = derive2 { name="EpiTxDb"; version="1.6.0"; sha256="0vmn4wqxwczq0ckx0pq20jbjp3a01nxj3knax1d3jx77cqqkwsaz"; depends=[AnnotationDbi BiocFileCache BiocGenerics Biostrings curl DBI GenomeInfoDb GenomicFeatures GenomicRanges httr IRanges Modstrings RSQLite S4Vectors tRNAdbImport xml2]; };
   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]; };
@@ -339,7 +339,7 @@ in with self; {
   FamAgg = derive2 { name="FamAgg"; version="1.22.0"; sha256="14lldajnl8ppy3nyy5mn987mvjfgr2vpx5zp6ky8md308rvgay0k"; depends=[BiocGenerics gap igraph kinship2 Matrix survey]; };
   FastqCleaner = derive2 { name="FastqCleaner"; version="1.12.0"; sha256="1cw0916qdn1an3wcnx5659q2f22rs78p9m5v2xp9nyp5phjb97pp"; depends=[Biostrings DT htmltools IRanges Rcpp S4Vectors shiny shinyBS ShortRead]; };
   FilterFFPE = derive2 { name="FilterFFPE"; version="1.4.0"; sha256="1c9mfhc4hms2f861f71i7hbhnn3s1xlzabcmdjzybwiv16dl139w"; depends=[doParallel foreach GenomicRanges IRanges Rsamtools S4Vectors]; };
-  FindIT2 = derive2 { name="FindIT2"; version="1.0.2"; sha256="0ldrw0h9a6ba4lv9597h97b3b1h6ww8p8y8mwlwiwr4pd6hfqbdg"; depends=[BiocGenerics BiocParallel dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggrepel glmnet IRanges MultiAssayExperiment patchwork progress purrr qvalue rlang rtracklayer S4Vectors stringr SummarizedExperiment tibble tidyr withr]; };
+  FindIT2 = derive2 { name="FindIT2"; version="1.0.3"; sha256="0xgnsgpai7l7birivnpca0df74zh02q6l35dncz8i50x1yrf83hm"; depends=[BiocGenerics BiocParallel dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggrepel glmnet IRanges MultiAssayExperiment patchwork progress purrr qvalue rlang rtracklayer S4Vectors stringr SummarizedExperiment tibble tidyr withr]; };
   FindMyFriends = derive2 { name="FindMyFriends"; version="1.23.0"; sha256="0xbhl6ljxb522r5062vv6xdziaaqkkwylmvlymvc5f1grjz0a4z9"; depends=[Biobase BiocGenerics BiocParallel Biostrings digest dplyr filehash ggdendro ggplot2 gtable igraph IRanges kebabs Matrix Rcpp reshape2 S4Vectors]; };
   FitHiC = derive2 { name="FitHiC"; version="1.20.0"; sha256="0a3d2bxp98lmbf3i864zgfwxwvxyqfcrh75z9yz7ra7y44pkjr4y"; depends=[data_table fdrtool Rcpp]; };
   FlowSOM = derive2 { name="FlowSOM"; version="2.2.0"; sha256="062xrv8li2z849qa8mv5dhafqli6ziz099ikjfvi7v2fr7174p8f"; depends=[BiocGenerics colorRamps ConsensusClusterPlus CytoML dplyr flowCore flowWorkspace ggforce ggnewscale ggplot2 ggpointdensity ggpubr ggrepel igraph magrittr pheatmap RColorBrewer rlang Rtsne scattermore tidyr XML]; };
@@ -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]; };
@@ -406,25 +406,25 @@ in with self; {
   GeneGA = derive2 { name="GeneGA"; version="1.44.0"; sha256="1d0igfgcvwiljsngaq3hmrzp03sgnj8ksrzaf8n2igpg1lz85b3n"; depends=[hash seqinr]; };
   GeneGeneInteR = derive2 { name="GeneGeneInteR"; version="1.20.0"; sha256="0kbzp1fzygvv1wrknp5nb1cw9kxw7pm51m0m0bjcvqzqxn73g6ad"; depends=[data_table FactoMineR GenomicRanges igraph IRanges kernlab mvtnorm Rsamtools snpStats]; };
   GeneMeta = derive2 { name="GeneMeta"; version="1.66.0"; sha256="0dri85vr0dspzq0px2x2j3y5sn9rvbzk02xk0vnxzpkgqfghg7xv"; depends=[Biobase genefilter]; };
-  GeneNetworkBuilder = derive2 { name="GeneNetworkBuilder"; version="1.36.0"; sha256="05kanbr69nf8pb5cqcg97r417lr2qzcg0av1n7vz4ds9wlsn5mc1"; depends=[graph htmlwidgets plyr Rcpp Rgraphviz rjson XML]; };
+  GeneNetworkBuilder = derive2 { name="GeneNetworkBuilder"; version="1.36.1"; sha256="0qw6ii1ca2rnznkhz9ffxdgfak39amp3w97970w6wyl1h15ax7lg"; depends=[graph htmlwidgets plyr Rcpp Rgraphviz rjson XML]; };
   GeneOverlap = derive2 { name="GeneOverlap"; version="1.30.0"; sha256="18l5dc4xcy1xa2h3sfw92w9rq9v0mnclamjxmzs5fqi469y5mwmm"; depends=[gplots RColorBrewer]; };
   GeneRegionScan = derive2 { name="GeneRegionScan"; version="1.50.0"; sha256="0bkhadr61i9jsfwp3i3clz4b0yjdav8rnnrmfplh86sq700y58v5"; depends=[affxparser Biobase Biostrings RColorBrewer S4Vectors]; };
   GeneSelectMMD = derive2 { name="GeneSelectMMD"; version="2.38.0"; sha256="1nq6n4bp3ydgpjbsgg3222dd345l5z5yp4mvs4haps6wlc6bin4i"; depends=[Biobase limma MASS]; };
   GeneStructureTools = derive2 { name="GeneStructureTools"; version="1.14.0"; sha256="1w7nckmjc4zg5a20f4hjqjavmkdwngkjp70akrf3bh1qmbvpdr2a"; depends=[Biostrings BSgenome_Mmusculus_UCSC_mm10 data_table GenomicRanges Gviz IRanges plyr rtracklayer S4Vectors stringdist stringr]; };
-  GeneTonic = derive2 { name="GeneTonic"; version="1.6.0"; sha256="03kv5fnpa6846akxn71aznn9xs65hl5fqpn2fgpnx91q3qwqgvp9"; 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]; };
+  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.1"; sha256="1dm049r7k41m8zzp5b332fw3ah3jpzzgpcb21icxwhlg483ipjyv"; 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]; };
   GenomicRanges = derive2 { name="GenomicRanges"; version="1.46.1"; sha256="133r27wsdyppjv9kq0d2xamx007lkf416nnlaygs4hs3a76p9xwx"; depends=[BiocGenerics GenomeInfoDb IRanges S4Vectors XVector]; };
   GenomicScores = derive2 { name="GenomicScores"; version="2.6.0"; sha256="18fzi2qi95851ci7qrzwpb7v6fhwp6xi1d1vk11xbygpbvql5mls"; depends=[AnnotationHub Biobase BiocFileCache BiocGenerics BiocManager Biostrings DelayedArray GenomeInfoDb GenomicRanges HDF5Array IRanges rhdf5 S4Vectors XML]; };
-  GenomicSuperSignature = derive2 { name="GenomicSuperSignature"; version="1.2.0"; sha256="0nqzrv3871ywd3p3wpgq3yhmbdqcy27582kmms9mnl8xylyhmw0i"; depends=[Biobase BiocFileCache ComplexHeatmap dplyr flextable ggplot2 ggpubr plotly S4Vectors SummarizedExperiment]; };
+  GenomicSuperSignature = derive2 { name="GenomicSuperSignature"; version="1.2.1"; sha256="08z1h70j82s405q0hqahb4n580ibqaqml7skq0p4w8rgchrvbs7q"; depends=[Biobase BiocFileCache ComplexHeatmap dplyr flextable ggplot2 ggpubr plotly S4Vectors SummarizedExperiment]; };
   GenomicTuples = derive2 { name="GenomicTuples"; version="1.28.0"; sha256="15rv41z4mxj8nn1mkvs73warygd1cmwi9m7lshgld1wf6zk43ypl"; depends=[BiocGenerics data_table GenomeInfoDb GenomicRanges IRanges Rcpp S4Vectors]; };
   GeoDiff = derive2 { name="GeoDiff"; version="1.0.0"; sha256="0ci1x5q8k6rjarciasg72j0ngrv79ya2j8plhgjck41v8g10mbi0"; depends=[Biobase GeomxTools lme4 Matrix NanoStringNCTools plyr Rcpp RcppArmadillo robust roptim testthat withr]; };
   GeomxTools = derive2 { name="GeomxTools"; version="2.0.0"; sha256="0pzad7m77aib9pa0p37sa2wcmlcydy5nvz4xiax11szjc0y4ay7f"; depends=[Biobase BiocGenerics data_table dplyr EnvStats lmerTest NanoStringNCTools outliers readxl reshape2 rjson 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.0"; sha256="1czraw6a84kfd8sq72sss67ibb76pj2gnkmhx09jalsqjcy72x3i"; 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,14 +459,14 @@ 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]; };
   HilbertCurve = derive2 { name="HilbertCurve"; version="1.24.0"; sha256="1i6fm91y6dza021d5qc8s03x7qmalmm9bkmcj5rflbra5i6fzivz"; depends=[circlize GenomicRanges HilbertVis IRanges png polylabelr]; };
   HilbertVis = derive2 { name="HilbertVis"; version="1.52.0"; sha256="1vwyzxdjngi1firr8kasiam576kwvlx82g1p7j27vlbs1libr9zk"; depends=[lattice]; };
   HilbertVisGUI = derive2 { name="HilbertVisGUI"; version="1.52.0"; sha256="0db7chajaghg6wqawap05ckaadgxvcswzd14i4p6gmfq6j4zpk8g"; depends=[HilbertVis]; };
-  HubPub = derive2 { name="HubPub"; version="1.2.2"; sha256="1gmgvallb60jw0wy7lbcy8fv96fbjqkf6brvj2qjin5lwxs053yy"; depends=[available aws_s3 BiocManager biocthis dplyr fs usethis]; };
+  HubPub = derive2 { name="HubPub"; version="1.2.4"; sha256="044ay6ixbdg9pv0qzifv6ah0573x60ajygxwbpi138akbzgbas71"; depends=[available aws_s3 BiocManager biocthis dplyr fs usethis]; };
   HumanTranscriptomeCompendium = derive2 { name="HumanTranscriptomeCompendium"; version="1.10.0"; sha256="0v0yshvay7z1dalilx4w1jnswrr96gmsm71srh0j1q91f7ikwds9"; depends=[S4Vectors shiny ssrch SummarizedExperiment]; };
   HybridMTest = derive2 { name="HybridMTest"; version="1.38.0"; sha256="1p31y61gjii29pllwpyb27ii96ckkd4v78pddnvz9c8fq61bmk6k"; depends=[Biobase fdrtool MASS survival]; };
   IHW = derive2 { name="IHW"; version="1.22.0"; sha256="0vgij5zyaw3fh7arkg4jy1mizsqzbkcsjl05mh3ng2bqh30kyqqx"; depends=[BiocGenerics fdrtool lpsymphony slam]; };
@@ -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.1"; sha256="0pyw5dwglnba0qanxhcpcz7v12vmf2dz0pv7p2n8wav0xqy8x4sm"; 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,12 +575,12 @@ 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]; };
   MSstatsLiP = derive2 { name="MSstatsLiP"; version="1.0.0"; sha256="1vf3f3yd9sgaqs9asq1x2819wkj2x68086g8hag1ln6q7q5j0xws"; depends=[Biostrings checkmate data_table dplyr factoextra ggplot2 ggpubr gridExtra MSstats MSstatsConvert MSstatsPTM purrr Rcpp scales stringr tibble tidyr tidyverse]; };
-  MSstatsPTM = derive2 { name="MSstatsPTM"; version="1.4.1"; sha256="0fwriw5hzp0j22c1awv332yb0qazv9w60cgc8j19djzwmsprwvaj"; depends=[Biostrings checkmate data_table dplyr ggplot2 ggrepel gridExtra MSstats MSstatsConvert MSstatsTMT Rcpp stringr]; };
+  MSstatsPTM = derive2 { name="MSstatsPTM"; version="1.4.2"; sha256="1g4m2z9hw86w7fj0539jkfjwjdx47kp4lhy9xa7032dr4aiwkvbh"; depends=[Biostrings checkmate data_table dplyr ggplot2 ggrepel gridExtra MSstats MSstatsConvert MSstatsTMT Rcpp stringr]; };
   MSstatsQC = derive2 { name="MSstatsQC"; version="2.12.0"; sha256="087lr0maf5kpl642kvvkd9pyakqxy152rzhvrlaj0rxbrfqgxnsw"; depends=[dplyr ggExtra ggplot2 MSnbase plotly qcmetrics]; };
   MSstatsQCgui = derive2 { name="MSstatsQCgui"; version="1.14.0"; sha256="0ygw1zrq219grfy6h650icai9khx49fvdbby5cyydrqbp8m64w77"; depends=[dplyr ggExtra gridExtra MSstatsQC plotly shiny]; };
   MSstatsSampleSize = derive2 { name="MSstatsSampleSize"; version="1.8.0"; sha256="0ckdy0qy2s2rvh4ijdddkk9calf1s9s0hr52y0kpgr4mb5zrl0jp"; depends=[BiocParallel caret ggplot2 gridExtra MSstats reshape2]; };
@@ -621,12 +621,12 @@ 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.2"; sha256="093gxp93h1f4h4rkmpwp77awa35imjxgnrvw01xm65mnxsdm47db"; 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]; };
   Modstrings = derive2 { name="Modstrings"; version="1.10.0"; sha256="0lnfvv8k0ffpf72zvhxy6831mgr4gajd4miad8rjzaajhqndr2yf"; depends=[BiocGenerics Biostrings crayon GenomicRanges IRanges S4Vectors stringi stringr XVector]; };
-  MoonlightR = derive2 { name="MoonlightR"; version="1.19.0"; sha256="1bfp6cx4nmb821ww9bxxg2cfh87blwddrdjixpgb4aqzwizmhzhv"; depends=[Biobase circlize clusterProfiler doParallel DOSE foreach GEOquery gplots HiveR limma parmigene randomForest RColorBrewer RISmed SummarizedExperiment TCGAbiolinks]; };
+  MoonlightR = derive2 { name="MoonlightR"; version="1.20.0"; sha256="1sxdalili8vkp07fn558pcg3azi3v1gqjp6h9cvv1cxdcnjrykkh"; depends=[Biobase circlize clusterProfiler doParallel DOSE foreach GEOquery gplots HiveR limma parmigene randomForest RColorBrewer RISmed SummarizedExperiment TCGAbiolinks]; };
   MotifDb = derive2 { name="MotifDb"; version="1.36.0"; sha256="0a2zg26zzk7bj5c33mbwl8dx9lh1hns8q8kwp09rbfjdichv7425"; depends=[BiocGenerics Biostrings GenomicRanges IRanges rtracklayer S4Vectors splitstackshape]; };
   MouseFM = derive2 { name="MouseFM"; version="1.4.1"; sha256="1b80syai2wj9xg3ivxnjqkb1nwkfwmkrm40j7g085fdmdd2r08q1"; depends=[biomaRt curl data_table dplyr GenomeInfoDb GenomicRanges ggplot2 gtools httr IRanges jsonlite reshape2 rlist scales tidyr]; };
   MsBackendMassbank = derive2 { name="MsBackendMassbank"; version="1.2.0"; sha256="10dgck0rwzfxzlbdf8fclrci6858iqbl9g690fva4zsjllzykbl5"; depends=[BiocParallel DBI IRanges MsCoreUtils ProtGenerics S4Vectors Spectra]; };
@@ -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.5"; sha256="11whi2irq947hpz1w9d9spl8dm8m022x9brcr82n9hx71bkxzh4v"; depends=[AnnotationDbi BiocGenerics BiocParallel biomartr Biostrings BSgenome cowplot data_table DESeq2 fst GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges GGally ggplot2 gridExtra httr IRanges 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]; };
@@ -704,7 +704,7 @@ in with self; {
   PLPE = derive2 { name="PLPE"; version="1.54.0"; sha256="1njzm736b6lvh34hh58zbdm1ixgwmjk58dr916sda5d15bbpgqrf"; depends=[Biobase LPE MASS]; };
   POMA = derive2 { name="POMA"; version="1.4.0"; sha256="11ihqijqys6yd2ns99892dyi677v1d5vv10w99n0ka1821i9jcsb"; depends=[broom caret clisymbols ComplexHeatmap crayon dplyr e1071 ggcorrplot ggplot2 ggraph ggrepel glasso glmnet impute knitr limma magrittr mixOmics MSnbase patchwork qpdf randomForest RankProd rmarkdown tibble tidyr vegan]; };
   POWSC = derive2 { name="POWSC"; version="1.2.0"; sha256="159m2ds42dnvx9f2w2g9y4avjwq6n2fm4fq7v6rbyynf8hp4hwnw"; depends=[Biobase ggplot2 limma MAST pheatmap RColorBrewer SingleCellExperiment SummarizedExperiment]; };
-  PPInfer = derive2 { name="PPInfer"; version="1.20.3"; sha256="190rxfhwps19260wm51gyzk0ih8mi53drp6jq0jz5vldi0mr63si"; depends=[biomaRt fgsea ggplot2 httr igraph kernlab STRINGdb yeastExpData]; };
+  PPInfer = derive2 { name="PPInfer"; version="1.20.4"; sha256="06l0qifg0swbfjplqf4gvczadax7c47y3b5fwd1rbggc1q0pn3pb"; depends=[biomaRt fgsea ggplot2 httr igraph kernlab STRINGdb yeastExpData]; };
   PREDA = derive2 { name="PREDA"; version="1.40.0"; sha256="0435857cg30410w1iqpqd15nwn9x43axw0n2w6pv2jwcxdn58gjj"; depends=[annotate Biobase lokern multtest]; };
   PROMISE = derive2 { name="PROMISE"; version="1.46.0"; sha256="1pajvwr89jh7nn2myv5y24xk2k1vl6zs52lrla70v25xxhpmwwkk"; depends=[Biobase GSEABase]; };
   PROPER = derive2 { name="PROPER"; version="1.26.0"; sha256="19rn1vad18sfdwgnyh9fv5hh70h4pvsy32rac393hd39wqqhmsl0"; depends=[edgeR]; };
@@ -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.0"; sha256="0j9i0h8dvqjhpx08rwjbrmfibvmzvf2wlj31db1radf7hbj10wxr"; 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.1"; sha256="1w5jxidyrjiy9ag5wdvvnz6ld5ksjxi4kci2fwrls8g5wmbh2qgp"; 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]; };
@@ -766,7 +766,7 @@ in with self; {
   REMP = derive2 { name="REMP"; version="1.18.0"; sha256="0n3ymwgq2bfix6qjgakib08hs0dw2cq838l79d3db3dxjaix8rs2"; depends=[AnnotationHub BiocGenerics BiocParallel Biostrings BSgenome caret doParallel foreach GenomeInfoDb GenomicRanges impute IRanges iterators kernlab minfi org_Hs_eg_db ranger readr rtracklayer S4Vectors settings SummarizedExperiment]; };
   RGMQL = derive2 { name="RGMQL"; version="1.14.1"; sha256="11s4hswxg180w1i92ps0fr0jfw956hpdbaimwrrzmvvlc4s3qwhq"; depends=[BiocGenerics data_table dplyr GenomicRanges glue httr plyr RGMQLlib rJava rtracklayer S4Vectors xml2]; };
   RGSEA = derive2 { name="RGSEA"; version="1.28.0"; sha256="1bv8kg3npac1qlrj6mpx6f89avjqfp937w99f7iw60yqin8psa89"; depends=[BiocGenerics]; };
-  RGalaxy = derive2 { name="RGalaxy"; version="1.37.1"; sha256="093dqjgsz4x4gw6wdbdbyjq3jazn64g7gndld0bxm4yw8ijg2s2x"; depends=[Biobase BiocGenerics optparse roxygen2 XML]; };
+  RGalaxy = derive2 { name="RGalaxy"; version="1.38.0"; sha256="0vfsn8cj5c8n58ra1qz85gwmm1747lm3xdz17m20f73g8q78nymd"; depends=[Biobase BiocGenerics optparse roxygen2 XML]; };
   RGraph2js = derive2 { name="RGraph2js"; version="1.22.0"; sha256="16pim49wls085ahaqac26ah7mx2a6ww9gf7s1rdsikr56xcnkzsb"; depends=[digest graph rjson whisker]; };
   RIPAT = derive2 { name="RIPAT"; version="1.4.0"; sha256="1kkavimbx8nq7qnddj363kvsv08sckk8j136xlh48fma0r8h3n43"; depends=[biomaRt GenomicRanges ggplot2 IRanges karyoploteR openxlsx plyr regioneR rtracklayer stringr]; };
   RITAN = derive2 { name="RITAN"; version="1.18.0"; sha256="0x7k4lyww6d6hz0x9f8bqygcmga6ymsfyqp5cn9pmsbc4wig1kbm"; depends=[BgeeDB dynamicTreeCut ggplot2 gplots gridExtra gsubfn hash igraph knitr linkcomm MCL plotrix png RColorBrewer reshape2 RITANdata sqldf STRINGdb]; };
@@ -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]; };
@@ -946,12 +946,12 @@ in with self; {
   StarBioTrek = derive2 { name="StarBioTrek"; version="1.20.0"; sha256="1bxbqgjg8a5px6429raf1rlwjaj1z95w952icjpjx7602q890mrh"; depends=[AnnotationDbi e1071 ggplot2 graphite igraph MLmetrics reshape2 ROCR SpidermiR]; };
   Streamer = derive2 { name="Streamer"; version="1.40.0"; sha256="1hcjazhyg7g7yh1nnz39yjkh77291wpzm03bd1jspgvrjz28cv5w"; depends=[BiocGenerics graph RBGL]; };
   Structstrings = derive2 { name="Structstrings"; version="1.10.0"; sha256="0dkzrb5dx0spgkzzwwcs04dwjxacm9sl6jch120amh22v5y7wyzm"; depends=[BiocGenerics Biostrings crayon IRanges S4Vectors stringi stringr XVector]; };
-  StructuralVariantAnnotation = derive2 { name="StructuralVariantAnnotation"; version="1.10.0"; sha256="1pw7d39944dwk5gw6q7igcn866zpqwz01ljaha2ih5dfvmhxka8n"; depends=[assertthat BiocGenerics Biostrings dplyr GenomeInfoDb GenomicFeatures GenomicRanges IRanges rlang rtracklayer S4Vectors stringr SummarizedExperiment VariantAnnotation]; };
+  StructuralVariantAnnotation = derive2 { name="StructuralVariantAnnotation"; version="1.10.1"; sha256="009l27kb9gvwwf57dwxfribhfhvn4z5pw8yc847l6pkbzqggx678"; depends=[assertthat BiocGenerics Biostrings dplyr GenomeInfoDb GenomicFeatures GenomicRanges IRanges rlang rtracklayer S4Vectors stringr SummarizedExperiment VariantAnnotation]; };
   SubCellBarCode = derive2 { name="SubCellBarCode"; version="1.10.0"; sha256="039fz7byy5whzm59gqar0784rv0axh6zw49jvh9p49wj2zx8pxzc"; depends=[AnnotationDbi caret e1071 ggplot2 ggrepel gridExtra networkD3 org_Hs_eg_db Rtsne scatterplot3d]; };
   SummarizedBenchmark = derive2 { name="SummarizedBenchmark"; version="2.12.0"; sha256="1vld4hzv3zbv7l0i4i8wkjn0rgn8f9lvxb6x2vw6qw47fn11skxw"; depends=[BiocGenerics BiocParallel crayon digest dplyr ggplot2 mclust rlang S4Vectors sessioninfo stringr SummarizedExperiment tibble tidyr UpSetR]; };
   SummarizedExperiment = derive2 { name="SummarizedExperiment"; version="1.24.0"; sha256="0qpnx2aii9vs7fcp0ax5j77ysbhi4qhjhm35vnygs3isbrjn925a"; depends=[Biobase BiocGenerics DelayedArray GenomeInfoDb GenomicRanges IRanges Matrix MatrixGenerics S4Vectors]; };
   Summix = derive2 { name="Summix"; version="2.0.0"; sha256="1bn5zsd3fnga8lski6ahh7fbm310n6awz27nafwzm6m9pzybwv49"; depends=[nloptr]; };
-  Sushi = derive2 { name="Sushi"; version="1.31.0"; sha256="1cj4palsq99vnwihp6z9mw0f8w9qj2vq8zwnabf3bgg0l1wpsc7c"; depends=[biomaRt zoo]; };
+  Sushi = derive2 { name="Sushi"; version="1.32.0"; sha256="073mh1d063ph5zk1d8kipgblr4l1ixqbxflhq4669761fi2frlw4"; depends=[biomaRt zoo]; };
   SwathXtend = derive2 { name="SwathXtend"; version="2.16.0"; sha256="01hjjx50fwwicvwci4x191cq8rvlh2v6gnpi5wb1mjqnyngrfzgb"; depends=[e1071 lattice openxlsx VennDiagram]; };
   SynExtend = derive2 { name="SynExtend"; version="1.6.0"; sha256="1r0f1yv6dxxc2k1q7vbcw6bjsk0j7ryvlp8hzmjfwi37cikril72"; depends=[Biostrings DECIPHER IRanges S4Vectors]; };
   SynMut = derive2 { name="SynMut"; version="1.10.0"; sha256="069pahvhsvnsbz8mvw4mgdqdh5bd26jv5gf8m4h5ys7c7sgn7a7f"; depends=[BiocGenerics Biostrings seqinr stringr]; };
@@ -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.1"; sha256="0114pwbxg6mdhv94g556krl08ig7nwaafrryxbjha4hvn0xwy36l"; 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]; };
@@ -1008,11 +1008,11 @@ in with self; {
   Ularcirc = derive2 { name="Ularcirc"; version="1.12.0"; sha256="02cc5hw25m8dkm0g2riffalmfkr1wfxvy84s7lw29npiyx0s9hjk"; depends=[AnnotationDbi AnnotationHub BiocGenerics Biostrings BSgenome data_table DT GenomeInfoDb GenomeInfoDbData GenomicAlignments GenomicFeatures GenomicRanges ggplot2 ggrepel gsubfn mirbase_db moments Organism_dplyr S4Vectors shiny shinydashboard shinyFiles shinyjs Sushi yaml]; };
   UniProt_ws = derive2 { name="UniProt.ws"; version="2.34.0"; sha256="0ldds8x2m6na24lsdfy6xgnkmxv61ji1vv5nnflw9xcn3cp0nqfw"; depends=[AnnotationDbi BiocFileCache BiocGenerics rappdirs RCurl RSQLite]; };
   Uniquorn = derive2 { name="Uniquorn"; version="2.14.0"; sha256="188clr002mmp0g0kc04mwhgq6cqfygkmhhc18wjjwpy9cczr1gg8"; depends=[doParallel foreach GenomicRanges IRanges R_utils stringr VariantAnnotation WriteXLS]; };
-  VAExprs = derive2 { name="VAExprs"; version="1.0.0"; sha256="0yccdqb5k5wzha0nl5zsp61iagyafbxfb3yda9x7vicalg8chsdh"; depends=[CatEncoders DeepPINCS DiagrammeR gradDescent keras mclust purrr scater SingleCellExperiment SummarizedExperiment tensorflow]; };
+  VAExprs = derive2 { name="VAExprs"; version="1.0.1"; sha256="0r9fqn8np3azw55drzvll1m0si4smgrbm5941al3v6b86hz1z8yg"; depends=[CatEncoders DeepPINCS DiagrammeR gradDescent keras mclust purrr scater SingleCellExperiment SummarizedExperiment tensorflow]; };
   VCFArray = derive2 { name="VCFArray"; version="1.10.0"; sha256="0kqqw00nwcigqjlk5h61b4y0q0ss3h8n8cjx5jblf74bzf69ppxm"; depends=[BiocGenerics DelayedArray GenomicFiles GenomicRanges Rsamtools S4Vectors VariantAnnotation]; };
   VERSO = derive2 { name="VERSO"; version="1.4.0"; sha256="1sbnl3lz9f3bvxzlcdcp1bz2jwyyv3acsahzhwgxhd25b9s4kla0"; depends=[ape Rfast]; };
   VaSP = derive2 { name="VaSP"; version="1.6.0"; sha256="1z98284yysnpkg01rr61a4q194xllq1zlp9drqfxfldnyyipby9y"; depends=[ballgown cluster GenomeInfoDb GenomicAlignments GenomicRanges IRanges matrixStats Rsamtools S4Vectors Sushi]; };
-  VanillaICE = derive2 { name="VanillaICE"; version="1.56.0"; sha256="1vlajwp310aix67pvsm5ih5m8m5n5wv23h5nfq23m6hy8nxkygwq"; depends=[Biobase BiocGenerics BSgenome_Hsapiens_UCSC_hg18 crlmm data_table foreach GenomeInfoDb GenomicRanges IRanges lattice MatrixGenerics matrixStats oligoClasses S4Vectors SummarizedExperiment]; };
+  VanillaICE = derive2 { name="VanillaICE"; version="1.56.3"; sha256="0c9ly16pwx1sxbh1gap02656yh75lrd05w52ki8xk58z3ywfhvk1"; depends=[Biobase BiocGenerics BSgenome_Hsapiens_UCSC_hg18 crlmm data_table foreach GenomeInfoDb GenomicRanges IRanges lattice MatrixGenerics matrixStats oligoClasses S4Vectors SummarizedExperiment]; };
   VarCon = derive2 { name="VarCon"; version="1.2.0"; sha256="1iay3m5mf9ck46zpkqw3hf7cv00jgvg05k8705wkgaj6gjajs7ga"; depends=[Biostrings BSgenome GenomicRanges ggplot2 IRanges shiny shinycssloaders shinyFiles]; };
   VariantAnnotation = derive2 { name="VariantAnnotation"; version="1.40.0"; sha256="1r9kayp0hxcwls08lv2fh0cmf9ks0lqx3k31c1zn4asw4dyqpgva"; depends=[AnnotationDbi Biobase BiocGenerics Biostrings BSgenome DBI GenomeInfoDb GenomicFeatures GenomicRanges IRanges MatrixGenerics Rhtslib Rsamtools rtracklayer S4Vectors SummarizedExperiment XVector zlibbioc]; };
   VariantExperiment = derive2 { name="VariantExperiment"; version="1.8.0"; sha256="0f9zm5jcdw4ziqaynm6kn73n2pislrgwa7lwqmwmkprzirckpkk5"; depends=[Biostrings DelayedArray DelayedDataFrame GDSArray gdsfmt GenomicRanges IRanges S4Vectors SeqArray SeqVarTools SNPRelate SummarizedExperiment]; };
@@ -1026,10 +1026,10 @@ in with self; {
   XCIR = derive2 { name="XCIR"; version="1.7.0"; sha256="0n42pw01wv1sk06hby9kwijx6zwaw4lrlpsa0wlkrkf323slkllw"; depends=[biomaRt data_table ggplot2 IRanges readxl S4Vectors seqminer VariantAnnotation]; };
   XDE = derive2 { name="XDE"; version="2.40.0"; sha256="0f7liqy2gf6ka7wjj591yi8805m3nn21c440vz9iqsanszxnsi6q"; depends=[Biobase BiocGenerics genefilter GeneMeta gtools mvtnorm RColorBrewer siggenes]; };
   XINA = derive2 { name="XINA"; version="1.12.0"; sha256="14j1rn3p7i0rlqkbbg0a6pyhb97ifzvsbw6vfxw9pna7zv7rbhsp"; depends=[alluvial ggplot2 gridExtra igraph mclust plyr STRINGdb]; };
-  XNAString = derive2 { name="XNAString"; version="1.2.0"; sha256="1rpcvn54a6s3iwmdg96rshilr1mqcb1nlbvzbyp5xi55km7iwm8i"; depends=[Biostrings BSgenome data_table formattable future_apply GenomicRanges IRanges Rcpp S4Vectors stringi stringr]; };
+  XNAString = derive2 { name="XNAString"; version="1.2.2"; sha256="0rc02n3dijcmfj9dr02zlvqr38vmjy3w2drj2fg8i7yrhqp51a9l"; depends=[Biostrings BSgenome data_table formattable future_apply GenomicRanges IRanges Rcpp S4Vectors stringi stringr]; };
   XVector = derive2 { name="XVector"; version="0.34.0"; sha256="07r4qgmnifw9jk2srjg0cvl310j0f9y35jrg0zqhlvhmyhg6n2c0"; depends=[BiocGenerics IRanges S4Vectors zlibbioc]; };
   Xeva = derive2 { name="Xeva"; version="1.10.0"; sha256="0c4ak66kl13gp18h1xahhfy9hhx0cpspncigdznjqpxwgrbs1qpf"; depends=[BBmisc Biobase ComplexHeatmap doParallel downloader ggplot2 nlme PharmacoGx Rmisc scales]; };
-  YAPSA = derive2 { name="YAPSA"; version="1.19.0"; sha256="0fgcbskz96p5815nywsnqv2gzn7g93m438hpd5rpg85srg4wrpdj"; depends=[Biostrings BSgenome_Hsapiens_UCSC_hg19 circlize ComplexHeatmap corrplot dendextend doParallel dplyr GenomeInfoDb GenomicRanges GetoptLong ggbeeswarm ggplot2 gridExtra gtrellis KEGGREST limSolve magrittr PMCMR pracma reshape2 SomaticSignatures VariantAnnotation]; };
+  YAPSA = derive2 { name="YAPSA"; version="1.20.1"; sha256="08r05fzpraggbxv15lx0b68kjlkysp0rcdlm6n9avzmlsdqplb2h"; depends=[Biostrings BSgenome_Hsapiens_UCSC_hg19 circlize ComplexHeatmap corrplot dendextend doParallel dplyr GenomeInfoDb GenomicRanges GetoptLong ggbeeswarm ggplot2 gridExtra gtrellis KEGGREST limSolve magrittr PMCMRplus pracma reshape2 SomaticSignatures VariantAnnotation]; };
   a4 = derive2 { name="a4"; version="1.42.0"; sha256="0mkgim93441zxhn4wmbin9ydl94srsawis0xwx479l0byj88n07m"; depends=[a4Base a4Classif a4Core a4Preproc a4Reporting]; };
   a4Base = derive2 { name="a4Base"; version="1.42.0"; sha256="0rddxnflvbc6z4sj2h8js8yfh0zhrrwj8fk00wicaqp4rkr5yaxy"; depends=[a4Core a4Preproc annaffy Biobase genefilter glmnet gplots limma mpm multtest]; };
   a4Classif = derive2 { name="a4Classif"; version="1.42.0"; sha256="0q50d41n7drj5c9x6njyvzr6bj7glmkp1vpyz6cpj97j2v9nikwb"; depends=[a4Core a4Preproc Biobase glmnet pamr ROCR varSelRF]; };
@@ -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]; };
@@ -1102,19 +1102,19 @@ in with self; {
   bigmelon = derive2 { name="bigmelon"; version="1.20.0"; sha256="0ksbmybi8wsg515b4k9ij1xqqk9i90pyap2wq5w3c49qgc0pqali"; depends=[Biobase BiocGenerics gdsfmt GEOquery illuminaio methylumi minfi wateRmelon]; };
   bioCancer = derive2 { name="bioCancer"; version="1.22.0"; sha256="1iv7gvixbkfg1igac99ix1a6ah90fc8hsf2062ynazc9nsx9wh3k"; depends=[AlgDesign AnnotationDbi Biobase cgdsr clusterProfiler DiagrammeR DOSE dplyr DT geNetClassifier GO_db htmlwidgets org_Bt_eg_db org_Hs_eg_db plyr r_import radiant_data reactome_db ReactomePA shiny shinythemes tibble visNetwork XML]; };
   bioDist = derive2 { name="bioDist"; version="1.66.0"; sha256="0y35c9sdq5x4q64ip0wgqz59mh01l71k1pp6n8vqbr667nwg0gdp"; depends=[Biobase KernSmooth]; };
-  bioassayR = derive2 { name="bioassayR"; version="1.32.0"; sha256="1nfp1alva6qim5rbhg9j9w97p2n4z21ghr4j489lqklkcs4d030f"; depends=[BiocGenerics ChemmineR DBI Matrix rjson RSQLite XML]; };
+  bioassayR = derive2 { name="bioassayR"; version="1.32.1"; sha256="0pa8d7p9asp36wddkg779i3b9m12rxik56c54bmclnammr0cz89i"; depends=[BiocGenerics ChemmineR DBI Matrix rjson RSQLite XML]; };
   biobroom = derive2 { name="biobroom"; version="1.26.0"; sha256="034gbywrscv23kk1qnk7sc7dxdckmf60wh29fz65v1n28mkf180r"; depends=[Biobase broom dplyr tidyr]; };
   biobtreeR = derive2 { name="biobtreeR"; version="1.6.0"; sha256="0m9gx2g5ishbbh7aqp09mpknhr7q1v5ap0s6xp6ccj01pz2gkk8s"; depends=[httpuv httr jsonlite stringi]; };
   biocGraph = derive2 { name="biocGraph"; version="1.56.0"; sha256="0c7r0c1kx22dlwi6d1ldbkkbf53yi0p3vmgbwzrbkn3cina7bcxq"; depends=[BiocGenerics geneplotter graph Rgraphviz]; };
   biocViews = derive2 { name="biocViews"; version="1.62.1"; sha256="1v6himzp546dpb990vv0nlya21w8x2x30137rsmahjzg942nzs9r"; depends=[Biobase BiocManager graph RBGL RCurl RUnit XML]; };
   biocthis = derive2 { name="biocthis"; version="1.4.0"; sha256="0kh5lmv992v4r5r58x29403cll0zxr9fx4ar81nrzvnch5668v39"; depends=[BiocManager fs glue rlang styler usethis]; };
-  biodb = derive2 { name="biodb"; version="1.2.1"; sha256="1z4adapsnpw6fwanihdz43r11ijypxs5wbndb1i98j8kb7wf308k"; depends=[BiocFileCache chk jsonlite lgr lifecycle openssl plyr progress R6 rappdirs Rcpp RCurl RSQLite stringr testthat withr XML yaml]; };
+  biodb = derive2 { name="biodb"; version="1.2.2"; sha256="0b5zva16r4kz8736h3djjgmh35nxmlin4f374rb4i2s55zsrb638"; depends=[BiocFileCache chk jsonlite lgr lifecycle openssl plyr progress R6 rappdirs Rcpp RCurl RSQLite stringr testthat withr XML yaml]; };
   biodbChebi = derive2 { name="biodbChebi"; version="1.0.1"; sha256="1f1bbfk0zp7x07vgnskd0wxb0zv2pvjk22cndw2zn7pgds0g9d9d"; depends=[biodb R6]; };
   biodbHmdb = derive2 { name="biodbHmdb"; version="1.0.3"; sha256="14pgyb4zjl65qpmj04zmlafi536rcwq9ngjx1m403k3fifa7ki9q"; depends=[biodb R6 Rcpp testthat]; };
   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]; };
@@ -1144,7 +1144,7 @@ in with self; {
   casper = derive2 { name="casper"; version="2.28.0"; sha256="0z85zq5crf3806c16hv0gpv072k2bf7hdyhq958y33282wybr4zd"; depends=[Biobase BiocGenerics coda EBarrays gaga GenomeInfoDb GenomicFeatures GenomicRanges gtools IRanges limma mgcv Rsamtools rtracklayer S4Vectors sqldf survival VGAM]; };
   categoryCompare = derive2 { name="categoryCompare"; version="1.38.0"; sha256="1175is4gr6nr393lk5ha2c3rqsdzsl1mfnhkajcym8n0927rx8n8"; depends=[annotate AnnotationDbi Biobase BiocGenerics Category colorspace GOstats graph GSEABase hwriter RCy3]; };
   cbaf = derive2 { name="cbaf"; version="1.16.0"; sha256="1xdl06arh5kwnp8159kbcrhlc19zlwk1srzk634jzp8pch9086da"; depends=[BiocFileCache cgdsr genefilter gplots openxlsx RColorBrewer]; };
-  cbpManager = derive2 { name="cbpManager"; version="1.2.1"; sha256="1qzph5yb3bzs1g6h2spq6bg7gw2n4n81awr5089pgv1a5py2nwq0"; depends=[basilisk dplyr DT htmltools jsonlite magrittr markdown plyr rapportools reticulate rintrojs shiny shinyBS shinycssloaders shinydashboard vroom]; };
+  cbpManager = derive2 { name="cbpManager"; version="1.2.2"; sha256="0c906smvrf7lcc8jszdbz86mlhl8rnn49i4q56z1nx6wl1wz4j8w"; depends=[basilisk dplyr DT htmltools jsonlite magrittr markdown plyr rapportools reticulate rintrojs shiny shinyBS shinycssloaders shinydashboard vroom]; };
   ccfindR = derive2 { name="ccfindR"; version="1.14.0"; sha256="00xaspkckhnflkaj0wfs06kbz6y6cfshr1mq4zhh7yszppgqflzd"; depends=[ape gtools irlba Matrix RColorBrewer Rcpp RcppEigen Rdpack Rmpi Rtsne S4Vectors SingleCellExperiment SummarizedExperiment]; };
   ccmap = derive2 { name="ccmap"; version="1.20.0"; sha256="1z5lyv7m55wcncjlrqzflmp1jm2580k1pvajj3gjqif8kx477q3d"; depends=[AnnotationDbi BiocManager ccdata data_table doParallel foreach lsa xgboost]; };
   ccrepe = derive2 { name="ccrepe"; version="1.30.0"; sha256="05wazs9bv4nlkzb3r98v31w0vpkv4071f9zw9dlh9jd8cm91ppk1"; depends=[infotheo]; };
@@ -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.0"; sha256="18y7482sw0awlhazikq13r2r0zid9ksk942rma87m448y1cq2fi5"; 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]; };
@@ -1237,13 +1237,13 @@ in with self; {
   cycle = derive2 { name="cycle"; version="1.48.0"; sha256="1zcxvf41ick80pi929vabbs632dml2rcxwjzz5z5pvz9ppm70vab"; depends=[Biobase Mfuzz]; };
   cydar = derive2 { name="cydar"; version="1.18.0"; sha256="0wsfcwfsm7lf6q13cgcwg189zjabdxnlaqbdb6gh1pk27mh3s70g"; depends=[Biobase BiocGenerics BiocNeighbors BiocParallel flowCore Rcpp S4Vectors shiny SingleCellExperiment SummarizedExperiment viridis]; };
   cytoKernel = derive2 { name="cytoKernel"; version="1.0.0"; sha256="1n48bz8ainax53m6d5i5zyjlja3v5nv9vhx45r5746sr9rppbljw"; depends=[ashr BiocParallel circlize ComplexHeatmap data_table dplyr magrittr Rcpp rlang S4Vectors SummarizedExperiment]; };
-  cytolib = derive2 { name="cytolib"; version="2.6.0"; sha256="01r5dfjil1i526kb5gj9c8x9agi90x0bh7lzykbpn0g6s2hznbzi"; depends=[BH Rcpp RcppArmadillo RcppParallel Rhdf5lib RProtoBufLib]; };
+  cytolib = derive2 { name="cytolib"; version="2.6.1"; sha256="16m5w6cp28p4fs2p8c8rjcg1d686xl8mpas816i7zxfh8m0bcqc9"; depends=[BH Rcpp RcppArmadillo RcppParallel Rhdf5lib RProtoBufLib]; };
   cytomapper = derive2 { name="cytomapper"; version="1.6.0"; sha256="0vmklch5g82pbhpax2flizglyndhs1dmdq015wclj0a9wyflzn6d"; depends=[BiocParallel DelayedArray EBImage ggbeeswarm ggplot2 HDF5Array matrixStats raster RColorBrewer rhdf5 S4Vectors shiny shinydashboard SingleCellExperiment SummarizedExperiment svglite svgPanZoom viridis]; };
   dStruct = derive2 { name="dStruct"; version="1.0.0"; sha256="0sy05n0zgd9d8jm352drw7xbcd37ghxzq7fwc3icm8hgqfx43qyk"; depends=[ggplot2 IRanges purrr reshape2 rlang S4Vectors zoo]; };
   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]; };
@@ -1251,7 +1251,7 @@ in with self; {
   ddPCRclust = derive2 { name="ddPCRclust"; version="1.14.0"; sha256="13s2h8bfd6i6shbm9iwlz99nvyif6c934ccgkdihgbxfq2zacmdj"; depends=[clue flowCore flowDensity flowPeaks ggplot2 openxlsx plotrix R_utils SamSPECTRAL]; };
   dearseq = derive2 { name="dearseq"; version="1.6.0"; sha256="07vr27rv3z86ajd62c0ilvfgz9z35qsiwwi5pv4sygbhnnjwh3rc"; depends=[ggplot2 KernSmooth matrixStats patchwork pbapply statmod survey viridisLite]; };
   debCAM = derive2 { name="debCAM"; version="1.12.0"; sha256="1nqc2r9wr4q71zsya0ylwkxc91sqa4zkal26wiv5h10bk5nxig5r"; depends=[apcluster Biobase BiocParallel corpcor DMwR2 geometry NMF nnls pcaPP rJava SummarizedExperiment]; };
-  debrowser = derive2 { name="debrowser"; version="1.22.2"; sha256="006bsqyd8fp1z83jhy1z6w3f0rmb5av8bgrsx2r03n8i7bzrsnq3"; depends=[annotate AnnotationDbi apeglm ashr clusterProfiler colourpicker DESeq2 DOSE DT edgeR enrichplot GenomicRanges ggplot2 gplots Harman heatmaply igraph IRanges jsonlite limma org_Hs_eg_db org_Mm_eg_db pathview plotly RColorBrewer RCurl reshape2 S4Vectors shiny shinyBS shinydashboard shinyjs stringi SummarizedExperiment sva]; };
+  debrowser = derive2 { name="debrowser"; version="1.22.4"; sha256="0wrwyq7kz8qqhgg2pjif8hz53ci33r6fgzwpsdxywds1arv54yb2"; depends=[annotate AnnotationDbi apeglm ashr clusterProfiler colourpicker DESeq2 DOSE DT edgeR enrichplot GenomicRanges ggplot2 gplots Harman heatmaply igraph IRanges jsonlite limma org_Hs_eg_db org_Mm_eg_db pathview plotly RColorBrewer RCurl reshape2 S4Vectors shiny shinyBS shinydashboard shinyjs stringi SummarizedExperiment sva]; };
   deco = derive2 { name="deco"; version="1.10.0"; sha256="1bvn5wipvyxy5h74wl1433pv5lzdp82m8yxwr3b8cljnlqcqh9da"; depends=[ade4 AnnotationDbi Biobase BiocParallel BiocStyle cluster foreign gdata ggplot2 gplots gridExtra limma locfit made4 RColorBrewer reshape2 scatterplot3d sfsmisc SummarizedExperiment]; };
   decompTumor2Sig = derive2 { name="decompTumor2Sig"; version="2.10.0"; sha256="125913q735vazmlnvg8vdca8j88y0mx24zdlqzsgzw9ylkwbq86p"; depends=[BiocGenerics Biostrings BSgenome_Hsapiens_UCSC_hg19 data_table GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggseqlogo gridExtra Matrix plyr quadprog readxl S4Vectors SummarizedExperiment TxDb_Hsapiens_UCSC_hg19_knownGene VariantAnnotation]; };
   decontam = derive2 { name="decontam"; version="1.14.0"; sha256="0k8rp91ap3dwzhhhg3s7ikbphxvgha7m118ayrghshp8929g3cdm"; depends=[ggplot2 reshape2]; };
@@ -1264,6 +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.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]; };
@@ -1300,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.0"; sha256="1m65d0dlp2lyrg1wh3c9wdcbd5p8pmm3w3z1x5hwcdj5ls9qfan5"; 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]; };
@@ -1321,7 +1322,7 @@ in with self; {
   eudysbiome = derive2 { name="eudysbiome"; version="1.24.0"; sha256="16fb0ajqm4mys0l65fwnjcpbpwiaz13zgqa4qhs2dch9d0gi4bap"; depends=[Biostrings plyr R_utils Rsamtools]; };
   evaluomeR = derive2 { name="evaluomeR"; version="1.10.0"; sha256="13vv3va8jn8pwwc05ikxwld57n2m1xy4y38ngpp2ghwlmqcl966l"; depends=[class cluster corrplot flexmix fpc ggdendro ggplot2 kableExtra MASS matrixStats mclust MultiAssayExperiment plotrix prabclus randomForest Rdpack reshape2 SummarizedExperiment]; };
   exomeCopy = derive2 { name="exomeCopy"; version="1.40.0"; sha256="1gxcqz0pmbccicqq72fcbjw11q57v1wxhi4hdhm2akh6w4j67r4c"; depends=[GenomeInfoDb GenomicRanges IRanges Rsamtools]; };
-  exomePeak2 = derive2 { name="exomePeak2"; version="1.6.0"; sha256="15c56gqi4i3h7jn1654r059f8v2ps1sz4iz5a7ah14nb7iaixzid"; depends=[apeglm Biobase BiocGenerics BiocParallel Biostrings BSgenome cqn DESeq2 genefilter GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggplot2 IRanges mclust reshape2 Rsamtools rtracklayer S4Vectors SummarizedExperiment]; };
+  exomePeak2 = derive2 { name="exomePeak2"; version="1.6.1"; sha256="1b13kjkj7yd89v56vvjav65q0r1ivjlkz4rv5b5zqb6hdc3r4f87"; depends=[apeglm Biobase BiocGenerics BiocParallel Biostrings BSgenome cqn DESeq2 genefilter GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggplot2 IRanges mclust reshape2 Rsamtools rtracklayer S4Vectors SummarizedExperiment]; };
   fCCAC = derive2 { name="fCCAC"; version="1.20.0"; sha256="0dvkkqgl89cikpkgj659pkig9fq9bb41jx4za8wy0a7ikkhm2q9f"; depends=[ComplexHeatmap fda genomation GenomicRanges ggplot2 IRanges RColorBrewer S4Vectors]; };
   fCI = derive2 { name="fCI"; version="1.24.0"; sha256="16mxqwia3an84xzjhx4gdgmr55k0j5msa0bf9pvi6z5yvy1xmaqv"; depends=[FNN gtools psych rgl VennDiagram zoo]; };
   fabia = derive2 { name="fabia"; version="2.40.0"; sha256="1dj7kxlajgwaiqfv41vl3zyif9lfa7341rki7rbdnadl1ir3dj11"; depends=[Biobase]; };
@@ -1337,7 +1338,7 @@ in with self; {
   ffpe = derive2 { name="ffpe"; version="1.38.0"; sha256="0l6g0k2fg3xxncqx33xfckv8wmkbvpf5qqixi3zm36qmpm9xqagb"; depends=[affy Biobase BiocGenerics lumi methylumi sfsmisc TTR]; };
   fgga = derive2 { name="fgga"; version="1.2.0"; sha256="0hrvgim9xdqymar3qswwybmmv8qmr5glqssckz3lbd04mnf07icq"; depends=[BiocFileCache curl e1071 graph gRbase jsonlite RBGL]; };
   fgsea = derive2 { name="fgsea"; version="1.20.0"; sha256="10flcdm4b1kxnsvhl4k6mwkzb1vbai33k291j8nsrhj2cl5l8gm9"; depends=[BH BiocParallel data_table fastmatch ggplot2 gridExtra Matrix Rcpp]; };
-  fishpond = derive2 { name="fishpond"; version="2.0.0"; sha256="11cg0fv67ykilr7vqlmcd1vcp4bqnknxhznxhnxlhfby5c68lbjk"; depends=[abind gtools jsonlite Matrix matrixStats qvalue Rcpp S4Vectors SingleCellExperiment SummarizedExperiment svMisc]; };
+  fishpond = derive2 { name="fishpond"; version="2.0.1"; sha256="057sa54c7p6vjza81xzvfr4s15yzylg6770l1sq0ncjsczfq87sz"; depends=[abind gtools jsonlite Matrix matrixStats qvalue Rcpp S4Vectors SingleCellExperiment SummarizedExperiment svMisc]; };
   flagme = derive2 { name="flagme"; version="1.50.0"; sha256="187l1akzqawp6bqlshhixna0672y5pabcaaqk875a5llvbncixhq"; depends=[CAMERA gcspikelite gplots MASS SparseM xcms]; };
   flowAI = derive2 { name="flowAI"; version="1.24.0"; sha256="12h4vbd3799i1g10jmf10lm1p0if4psx5ypzy64j4rndydhy449j"; depends=[changepoint flowCore ggplot2 knitr plyr RColorBrewer reshape2 rmarkdown scales]; };
   flowBeads = derive2 { name="flowBeads"; version="1.32.0"; sha256="0834n338bsbjqpsy6g3idvvwx7bmmg7cd08hmna1vsnk4hl8fqim"; depends=[Biobase flowCore knitr rrcov xtable]; };
@@ -1442,14 +1443,14 @@ in with self; {
   gwasurvivr = derive2 { name="gwasurvivr"; version="1.12.0"; sha256="1q31ydns5i8jk4p4731i57f80iwx6qm0r9fka4xd4wdxzk5kps8z"; depends=[GWASTools matrixStats SNPRelate SummarizedExperiment survival VariantAnnotation]; };
   h5vc = derive2 { name="h5vc"; version="2.28.0"; sha256="0i4p122cavihc29javrgg5ywqn1fkg73hp46hfj3v2qmwakihk4w"; depends=[abind BatchJobs BiocParallel Biostrings GenomeInfoDb GenomicRanges ggplot2 gridExtra h5vcData IRanges reshape rhdf5 Rhtslib Rsamtools S4Vectors]; };
   hapFabia = derive2 { name="hapFabia"; version="1.36.0"; sha256="0niwlfy2ljsx1ivdxrpm0f8w75bs03xb2l43dkcm5gclwac2ys1v"; depends=[Biobase fabia]; };
-  hca = derive2 { name="hca"; version="1.2.0"; sha256="1q7x62m43gsinx3gqfajy01qll3rf334yzzcl5ijzkxsi2ipyhdx"; depends=[BiocFileCache digest dplyr httr jsonlite readr tibble tidyr]; };
+  hca = derive2 { name="hca"; version="1.2.1"; sha256="0yczfbs3w4f4zwv2zq9m58w7xirhjys654g87j643yr1rfixf7l1"; depends=[BiocFileCache digest dplyr httr jsonlite readr tibble tidyr]; };
   heatmaps = derive2 { name="heatmaps"; version="1.18.0"; sha256="11fi0kzqx6ihvvwc852xhj34xv4aik0zyv47ad4zbhvb1mvxqv8a"; depends=[BiocGenerics Biostrings EBImage GenomeInfoDb GenomicRanges IRanges KernSmooth Matrix plotrix RColorBrewer]; };
   hiAnnotator = derive2 { name="hiAnnotator"; version="1.28.0"; sha256="1hjgn9gszr38q9syjl9qqw3lml5falp08asn01mq4h1m53akwxxv"; depends=[BSgenome dplyr foreach GenomicRanges ggplot2 iterators rtracklayer scales]; };
   hiReadsProcessor = derive2 { name="hiReadsProcessor"; version="1.30.0"; sha256="02y6gy9h841aag0v88j1g0hw0ckd4zd3agjgvzi9mcmb76zhxz8k"; depends=[BiocGenerics BiocParallel Biostrings dplyr GenomicAlignments GenomicRanges hiAnnotator readxl sonicLength]; };
   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]; };
@@ -1461,7 +1462,7 @@ in with self; {
   iBMQ = derive2 { name="iBMQ"; version="1.34.0"; sha256="1b15xiv8g8p2qy3dhg80ggppri9v7hawjz2kaj8an231vgl7j546"; depends=[Biobase ggplot2]; };
   iCARE = derive2 { name="iCARE"; version="1.22.0"; sha256="17x6kcrl2wrnj7dmvbyw3cflhv07hymyy78mj0476x0w7aiihwjw"; depends=[gtools Hmisc plotrix]; };
   iCNV = derive2 { name="iCNV"; version="1.14.0"; sha256="1hhmnlq3sliz253badrcwbkdr384pyl2jb3s0dkp585gngz143xg"; depends=[CODEX data_table dplyr fields ggplot2 rlang tidyr truncnorm]; };
-  iCOBRA = derive2 { name="iCOBRA"; version="1.22.1"; sha256="05j3h314l2bw8n61h1nyiqhm3z7c1axycn4p3xkfccq5i4mcqvn2"; depends=[dplyr DT ggplot2 limma reshape2 ROCR scales shiny shinyBS shinydashboard UpSetR]; };
+  iCOBRA = derive2 { name="iCOBRA"; version="1.22.2"; sha256="1ln8l2cp6dqg6zv7s0qnmw5ii93v5sgp0b1nwswl52zdd8mivwxy"; depends=[dplyr DT ggplot2 limma reshape2 ROCR scales shiny shinyBS shinydashboard UpSetR]; };
   iCheck = derive2 { name="iCheck"; version="1.24.0"; sha256="06nfnj5267j9ynhz8hkzvada1d1yk62zqynif5xm6n7m9sk9fsl5"; depends=[affy Biobase GeneSelectMMD gplots limma lmtest lumi MASS preprocessCore randomForest rgl scatterplot3d]; };
   iChip = derive2 { name="iChip"; version="1.48.0"; sha256="1zlwkw2qva32v515pziif6gdik5a5hqs53f3im12fzn3wgpcxvh0"; depends=[limma]; };
   iClusterPlus = derive2 { name="iClusterPlus"; version="1.30.0"; sha256="0w6r2clk8wdnnnjmq3cspmxiq1c8vwprd66xmdrhcqzbjkpkdw2b"; depends=[]; };
@@ -1474,14 +1475,14 @@ in with self; {
   iasva = derive2 { name="iasva"; version="1.12.0"; sha256="122zgn141lpgnybqxy3ml33nbi9hm1r87kyr0nl1i3mqb0gd9dvl"; depends=[BiocParallel cluster irlba SummarizedExperiment]; };
   ibh = derive2 { name="ibh"; version="1.42.0"; sha256="1h1zqcwsmjk590gcwkzpqj0c9x2i85amg3q98a9qpirw9alr1vc8"; depends=[simpIntLists]; };
   icetea = derive2 { name="icetea"; version="1.12.0"; sha256="0iy9ki661774334d5wpibc8k8ri4d6aw4y3a15yik5fdgxg1g2z1"; depends=[BiocGenerics BiocParallel Biostrings csaw DESeq2 edgeR GenomicAlignments GenomicFeatures GenomicRanges ggplot2 IRanges limma Rsamtools rtracklayer S4Vectors ShortRead SummarizedExperiment TxDb_Dmelanogaster_UCSC_dm6_ensGene VariantAnnotation]; };
-  ideal = derive2 { name="ideal"; version="1.18.0"; sha256="01fix9fwcm1mglpggrkgagy80fg6yh772k4a1m0i5pvm923wcggv"; depends=[AnnotationDbi base64enc BiocParallel DESeq2 dplyr DT GenomicRanges ggplot2 ggrepel GO_db goseq GOstats gplots heatmaply IHW IRanges knitr limma pcaExplorer pheatmap plotly rentrez rintrojs rlang rmarkdown S4Vectors shiny shinyAce shinyBS shinydashboard stringr SummarizedExperiment topGO UpSetR]; };
+  ideal = derive2 { name="ideal"; version="1.18.1"; sha256="0bpd2naxadn0qidzrw3aznva98fxkjpl1sx4nr7lzjdj1kkvc6pf"; depends=[AnnotationDbi base64enc BiocParallel DESeq2 dplyr DT GenomicRanges ggplot2 ggrepel GO_db goseq GOstats gplots heatmaply IHW IRanges knitr limma pcaExplorer pheatmap plotly rentrez rintrojs rlang rmarkdown S4Vectors shiny shinyAce shinyBS shinydashboard stringr SummarizedExperiment topGO UpSetR]; };
   idiogram = derive2 { name="idiogram"; version="1.70.0"; sha256="1qpip00mjdmc5vk6ab830ma6p4i0rgz8zih452jsqcfjpgc7q4p4"; depends=[annotate Biobase plotrix]; };
   idpr = derive2 { name="idpr"; version="1.4.0"; sha256="0zakv6rmi3n5b1yd232vmm6qzlmnqkjxqd69fj5blg7lr1jyknjn"; depends=[Biostrings dplyr ggplot2 jsonlite magrittr plyr rlang]; };
   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]; };
-  imcRtools = derive2 { name="imcRtools"; version="1.0.1"; sha256="1skxxkffvllr6iq23pjz50gpk44l3rf74i9qnzcwf8gcv892ccvp"; 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]; };
+  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]; };
   impute = derive2 { name="impute"; version="1.68.0"; sha256="0k6dil8ljgp5qr87m7hxli4igb36fbxiwczaqc5pi8mlfh70fqj5"; depends=[]; };
@@ -1500,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]; };
@@ -1548,9 +1549,9 @@ 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.0"; sha256="0ry30wxp38iwbr70qmr5nj4s0c41j0srdfz1x08c9xnh948a67m8"; 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.0"; sha256="02c5lp08r5yvg5zz1lmxla8av9gp5gpgr6sc8jq715yf9w4s4xjl"; depends=[BiocGenerics BiocStyle Category fdrtool knitr markdown MeSHDbi rmarkdown RSQLite S4Vectors]; };
+  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]; };
   metaCCA = derive2 { name="metaCCA"; version="1.22.0"; sha256="0bdnd895x3z0p0xihhgs9jcrrm8zc3a05w7m1rif2nlr8r07aixf"; depends=[]; };
   metaMS = derive2 { name="metaMS"; version="1.30.0"; sha256="126brvip0h69g7ak1324vi2kflppccj7v0rqfgcb4pcb6f5fr01q"; depends=[BiocGenerics CAMERA Matrix robustbase xcms]; };
@@ -1593,7 +1594,7 @@ in with self; {
   miRspongeR = derive2 { name="miRspongeR"; version="1.20.0"; sha256="06nczhbbvx1dmmwry88057zbvw3dq64qn5mn91ipi5qfnckb84wd"; depends=[clusterProfiler corpcor DOSE igraph linkcomm MCL org_Hs_eg_db Rcpp ReactomePA survival varhandle]; };
   mia = derive2 { name="mia"; version="1.2.3"; sha256="1la5p4p2m1c4j3i3mzlm0in8vrivkbwrfil597yjlp0z4j9ai481"; depends=[ape BiocGenerics BiocParallel Biostrings DECIPHER decontam DelayedArray DelayedMatrixStats DirichletMultinomial dplyr IRanges MASS MultiAssayExperiment rlang S4Vectors scater scuttle SingleCellExperiment SummarizedExperiment tibble tidyr TreeSummarizedExperiment vegan]; };
   miaSim = derive2 { name="miaSim"; version="1.0.0"; sha256="0870jvqwcg08fyzb4c9qsb6sk7r4sxqzrrfzijd25sdjbqly4zzx"; depends=[deSolve poweRlaw SummarizedExperiment]; };
-  miaViz = derive2 { name="miaViz"; version="1.2.0"; sha256="1plkr810cnb6kq7zqlmnx8c2mfa1gzsa92r1hj6xrqx9ykc8hapd"; depends=[ape BiocGenerics BiocParallel DelayedArray DirichletMultinomial dplyr ggnewscale ggplot2 ggraph ggtree mia purrr rlang S4Vectors scater SummarizedExperiment tibble tidygraph tidyr tidytree TreeSummarizedExperiment viridis]; };
+  miaViz = derive2 { name="miaViz"; version="1.2.1"; sha256="02fm69mfdgh8p10ajyxrl55c5f9kwql3a2xniwllv2cic0fcf1xi"; depends=[ape BiocGenerics BiocParallel DelayedArray DirichletMultinomial dplyr ggnewscale ggplot2 ggraph ggtree mia purrr rlang S4Vectors scater SummarizedExperiment tibble tidygraph tidyr tidytree TreeSummarizedExperiment viridis]; };
   microRNA = derive2 { name="microRNA"; version="1.52.0"; sha256="0x145alfh8qnbnhahxhfygcqc4xwiiirabl9k9nbcyadc5fawfc1"; depends=[Biostrings]; };
   microbiome = derive2 { name="microbiome"; version="1.16.0"; sha256="0j00xbw5gh53bfij8q3q2pa8lwvn3wb23vs9lybvlhjp725h064z"; depends=[dplyr ggplot2 phyloseq reshape2 Rtsne scales tibble tidyr vegan]; };
   microbiomeDASim = derive2 { name="microbiomeDASim"; version="1.8.0"; sha256="0g3lnwr5v62lkfz5fwdpjs9lr9vb8h8grqqrvwhyin5xmgkr5lnn"; depends=[Biobase ggplot2 MASS Matrix metagenomeSeq mvtnorm pbapply phyloseq tmvtnorm]; };
@@ -1619,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]; };
@@ -1638,11 +1639,11 @@ in with self; {
   multiMiR = derive2 { name="multiMiR"; version="1.16.0"; sha256="06mvikmy018z6zhzwg999kvmccgprd5k4hy64l1fscv0ax6rp6b8"; depends=[AnnotationDbi BiocGenerics dplyr purrr RCurl tibble XML]; };
   multiOmicsViz = derive2 { name="multiOmicsViz"; version="1.18.0"; sha256="0kg72l5zdffsnsw1yxld52j7mjbjybvqmbr11vby93jnsxxvlfm9"; depends=[doParallel foreach SummarizedExperiment]; };
   multiSight = derive2 { name="multiSight"; version="1.2.0"; sha256="06gjldjssrmf09fc6i9m0z3b7vzqyb48279333cai4gy1g9aba4w"; depends=[anyLib biosigner caret clusterProfiler config DESeq2 dplyr DT easyPubMed enrichplot golem htmltools igraph infotheo metap mixOmics networkD3 ppcor R6 ReactomePA rmarkdown rWikiPathways shiny shinydashboard stringr]; };
-  multicrispr = derive2 { name="multicrispr"; version="1.4.0"; sha256="1s4x8ry16safvawjmrgbbjk4aj3igkbhgj9cfdh6cspw06ysdkyk"; depends=[assertive BiocGenerics Biostrings BSgenome CRISPRseek data_table GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 karyoploteR magrittr plyranges Rbowtie reticulate rtracklayer stringi tidyr tidyselect]; };
+  multicrispr = derive2 { name="multicrispr"; version="1.4.3"; sha256="1x66hlp6vv3m7q8717a46xrhb2whnriw1mb5qsnqsm0v9bws12ix"; depends=[assertive BiocGenerics Biostrings BSgenome CRISPRseek data_table GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 karyoploteR magrittr plyranges Rbowtie reticulate rtracklayer stringi tidyr tidyselect]; };
   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]; };
@@ -1714,7 +1715,7 @@ in with self; {
   pathview = derive2 { name="pathview"; version="1.34.0"; sha256="1jdl81lvrsz03b1nws90nssf2clipipzaqvwm1pq57mvshnlnkjr"; depends=[AnnotationDbi graph KEGGgraph KEGGREST org_Hs_eg_db png Rgraphviz XML]; };
   pathwayPCA = derive2 { name="pathwayPCA"; version="1.10.0"; sha256="01m2g8icx7gq4fpxxxm356wr8wc5dmq3lnvr1s5dj1qqm4hk70xr"; depends=[lars survival]; };
   paxtoolsr = derive2 { name="paxtoolsr"; version="1.28.0"; sha256="0c72fp6nisv6j0rkzw4yip3f94wq990nkmaw3h7lv5r5gpj9b69x"; depends=[httr igraph jsonlite plyr R_utils rappdirs readr rJava rjson XML]; };
-  pcaExplorer = derive2 { name="pcaExplorer"; version="2.20.0"; sha256="0b4wskh6kyqrj3hn83jwcqdp92nzzw3y3r74j5q5ksvad03dl6al"; depends=[AnnotationDbi base64enc biomaRt DESeq2 DT genefilter GenomicRanges ggplot2 ggrepel GO_db GOstats heatmaply IRanges knitr limma NMF pheatmap plotly plyr rmarkdown S4Vectors scales shiny shinyAce shinyBS shinydashboard SummarizedExperiment threejs tidyr topGO]; };
+  pcaExplorer = derive2 { name="pcaExplorer"; version="2.20.1"; sha256="1ada0prp16yq21cvrgy19i570y6lsn2ph1s79vmmbw4q4i6xgcwx"; depends=[AnnotationDbi base64enc biomaRt DESeq2 DT genefilter GenomicRanges ggplot2 ggrepel GO_db GOstats heatmaply IRanges knitr limma NMF pheatmap plotly plyr rmarkdown S4Vectors scales shiny shinyAce shinyBS shinydashboard SummarizedExperiment threejs tidyr topGO]; };
   pcaMethods = derive2 { name="pcaMethods"; version="1.86.0"; sha256="1fj2v6sna4lbw7ar9h93y2g4pzylqqp7760ih425gcai7s19xdrg"; depends=[Biobase BiocGenerics MASS Rcpp]; };
   pcxn = derive2 { name="pcxn"; version="2.16.0"; sha256="1n61gn1k74k61rrfp340kjchafrfmfidslkqxdr0ijbacbp017qw"; depends=[pcxnData pheatmap]; };
   pdInfoBuilder = derive2 { name="pdInfoBuilder"; version="1.58.0"; sha256="1vk0kppsg9vynwzflkv3frv16hsl43lpk9awr6x22a1frmpndj10"; depends=[affxparser Biobase BiocGenerics Biostrings DBI IRanges oligo oligoClasses RSQLite S4Vectors]; };
@@ -1727,10 +1728,10 @@ in with self; {
   perturbatr = derive2 { name="perturbatr"; version="1.13.0"; sha256="0ssk8cr42hibn917s2z2nzcdan54c7xiydypbi8f3g4w68q4ly31"; depends=[assertthat diffusr doParallel dplyr foreach formula_tools ggplot2 igraph lazyeval lme4 magrittr rlang scales tibble tidyr]; };
   pgca = derive2 { name="pgca"; version="1.18.0"; sha256="1wrp4k0b1sj75yhw799aqcb6dmimza6gvcxkn5ayfn6x3hfifwwl"; depends=[]; };
   phantasus = derive2 { name="phantasus"; version="1.14.0"; sha256="0p8xa0jqasgn61qzzva7wrjk8d2xcsn9kd20c4dbc61sg3cxrcir"; depends=[AnnotationDbi assertthat Biobase ccaPP curl DESeq2 fgsea GEOquery ggplot2 gtable htmltools httpuv httr jsonlite limma Matrix opencpu pheatmap protolite rhdf5 Rook scales stringr svglite]; };
-  phemd = derive2 { name="phemd"; version="1.9.0"; sha256="0hqivlc9hzcfcprng1499nas84fwvgisg8976vsjciyn903355jr"; depends=[Biobase BiocGenerics cluster cowplot ggplot2 igraph maptree monocle phateR pheatmap pracma RANN RColorBrewer reticulate Rtsne S4Vectors scatterplot3d Seurat SingleCellExperiment SummarizedExperiment transport VGAM]; };
+  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]; };
@@ -1743,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.3"; sha256="0ndmbmfpxnxkg8x58xljcpa80lrv1dy2sp2n0nrkp0fnw4ymvhcc"; 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]; };
@@ -1753,7 +1754,7 @@ in with self; {
   powerTCR = derive2 { name="powerTCR"; version="1.14.0"; sha256="0c7crgiwpizynl1bd4i5si96kw7cffnnhsbz4w44a3wd1d6ibk4g"; depends=[cubature doParallel evmix foreach magrittr purrr truncdist vegan VGAM]; };
   ppcseq = derive2 { name="ppcseq"; version="1.2.0"; sha256="1rjqyq31lm54apznp3ymk8mm3vcyq4yxz026awy3dh4s53nzsv0a"; depends=[benchmarkme BH dplyr edgeR foreach furrr future ggplot2 lifecycle magrittr purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders tibble tidybayes tidyr]; };
   ppiStats = derive2 { name="ppiStats"; version="1.60.0"; sha256="1xidx2dc1vi9p6m4k73afy9whhl2hv7yk3m6w5ari9ya0h20qccp"; depends=[Biobase Category graph lattice RColorBrewer]; };
-  pqsfinder = derive2 { name="pqsfinder"; version="2.10.0"; sha256="1y5y321b2j76k5x1fl3v7xk4q2zg9f0amjl3203113srgjfgm09c"; depends=[BH Biostrings GenomicRanges IRanges Rcpp S4Vectors]; };
+  pqsfinder = derive2 { name="pqsfinder"; version="2.10.1"; sha256="0n4l24gazq2x5p9cf87gd7hzv3xhaf8r27ag3nh69mr680amxx7h"; depends=[BH Biostrings GenomicRanges IRanges Rcpp S4Vectors]; };
   pram = derive2 { name="pram"; version="1.10.0"; sha256="09429ara5j09429iz66s921nr5n6wgq0ib3zlw63v237findgjm3"; depends=[BiocGenerics BiocParallel data_table GenomeInfoDb GenomicAlignments GenomicRanges IRanges Rsamtools rtracklayer S4Vectors]; };
   prebs = derive2 { name="prebs"; version="1.34.0"; sha256="1dxsz7z5x1cx21gmvh02dy9h7d8rxz5ycwmj2xppr69hlsvvjh9p"; depends=[affy Biobase GenomeInfoDb GenomicAlignments GenomicRanges IRanges RPA S4Vectors]; };
   preciseTAD = derive2 { name="preciseTAD"; version="1.4.0"; sha256="0wb5d3qbz8hd7hnw0mb4vqc4b1v1x7fwskii4kfpmv0bafck5vvd"; depends=[caret cluster dbscan doSNOW e1071 foreach GenomicRanges gtools IRanges ModelMetrics pbapply pROC PRROC randomForest rCGH S4Vectors]; };
@@ -1767,11 +1768,11 @@ in with self; {
   proFIA = derive2 { name="proFIA"; version="1.20.0"; sha256="0bbh35pg5dby4my51m895kzgnsc8xzrniy3bjqc5v9w47nl7p6zk"; depends=[Biobase BiocParallel minpack_lm missForest pracma ropls xcms]; };
   procoil = derive2 { name="procoil"; version="2.22.0"; sha256="1w2fqrxs3bm0z2qh9mmq3wz3x3iw8w7qnf8vh5zrrw87k7zpva78"; depends=[Biostrings kebabs S4Vectors]; };
   profileScoreDist = derive2 { name="profileScoreDist"; version="1.22.0"; sha256="0j5rhxsld3vqmf7kdch0hfzfiyyr66g1r1ahzmw3vz51qfkkk379"; depends=[BiocGenerics Rcpp]; };
-  profileplyr = derive2 { name="profileplyr"; version="1.10.0"; sha256="11xcm3xack6xqrvsz9gvjfmwjy623b0v5vrz5l30jiaigpfdlx4r"; depends=[BiocGenerics BiocParallel Cairo ChIPseeker circlize ComplexHeatmap dplyr EnrichedHeatmap GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 IRanges magrittr org_Hs_eg_db org_Mm_eg_db pheatmap R_utils rGREAT rjson rlang Rsamtools rtracklayer S4Vectors soGGi SummarizedExperiment tidyr tiff TxDb_Hsapiens_UCSC_hg19_knownGene TxDb_Hsapiens_UCSC_hg38_knownGene TxDb_Mmusculus_UCSC_mm10_knownGene TxDb_Mmusculus_UCSC_mm9_knownGene]; };
+  profileplyr = derive2 { name="profileplyr"; version="1.10.2"; sha256="0lv09nynwkxy0yd4d5ca1nnrs4r474cpvk47wd5llq7zhldlfc3z"; depends=[BiocGenerics BiocParallel ChIPseeker circlize ComplexHeatmap dplyr EnrichedHeatmap GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 IRanges magrittr org_Hs_eg_db org_Mm_eg_db pheatmap R_utils rGREAT rjson rlang Rsamtools rtracklayer S4Vectors soGGi SummarizedExperiment tidyr tiff TxDb_Hsapiens_UCSC_hg19_knownGene TxDb_Hsapiens_UCSC_hg38_knownGene TxDb_Mmusculus_UCSC_mm10_knownGene TxDb_Mmusculus_UCSC_mm9_knownGene]; };
   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]; };
@@ -1823,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]; };
@@ -1843,9 +1844,9 @@ 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]; };
-  rqt = derive2 { name="rqt"; version="1.19.0"; sha256="0skdk1jd3hcamh21s5nr3b5g5b4wki8y99zj7xkyg4nrdki6853i"; depends=[car CompQuadForm glmnet Matrix metap pls ropls RUnit SummarizedExperiment]; };
+  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]; };
   rsbml = derive2 { name="rsbml"; version="2.52.0"; sha256="0mdyr637sgasc156cv8i2s2mpl1hdvilfwwkhvw7l95pl90gnsh2"; depends=[BiocGenerics graph]; };
@@ -1884,7 +1885,7 @@ in with self; {
   scShapes = derive2 { name="scShapes"; version="1.0.0"; sha256="0bzbib3y454dmv6ifg65pynr7v07g29r391k8p8v97v53jzdjd38"; depends=[BiocParallel dgof emdbook magrittr MASS Matrix pscl VGAM]; };
   scTGIF = derive2 { name="scTGIF"; version="1.8.0"; sha256="0nsi00rbf9qmzyqkvgr4ga4ci4cy558hh4spaab49njs8vz9svvc"; depends=[Biobase BiocStyle ggplot2 GSEABase igraph knitr msigdbr nnTensor plotly RColorBrewer Rcpp rmarkdown S4Vectors scales schex SingleCellExperiment SummarizedExperiment tagcloud tibble]; };
   scTHI = derive2 { name="scTHI"; version="1.6.0"; sha256="0szqnwh3z45dq33iyiv7mnh6hbc561b88i0hvxffjfnfk99i34zl"; depends=[BiocParallel Rtsne]; };
-  scTensor = derive2 { name="scTensor"; version="2.4.0"; sha256="07xh07lc2jvi5rb73dbbfynskr6gd7x7amxz3xiqypilnwpg69y2"; depends=[abind AnnotationDbi AnnotationHub BiocManager BiocStyle Category ccTensor checkmate crayon DOSE ggplot2 GOstats heatmaply igraph knitr MeSHDbi meshr nnTensor outliers plotly plotrix reactome_db ReactomePA rmarkdown RSQLite rTensor S4Vectors schex SingleCellExperiment SummarizedExperiment tagcloud visNetwork]; };
+  scTensor = derive2 { name="scTensor"; version="2.4.1"; sha256="0s61f0ahg2l7nv27dsxn9xszvzymsg9779nqq7a4jixa6fr0jns9"; depends=[abind AnnotationDbi AnnotationHub BiocManager BiocStyle Category ccTensor checkmate crayon DOSE ggplot2 GOstats heatmaply igraph knitr MeSHDbi meshr nnTensor outliers plotly plotrix reactome_db ReactomePA rmarkdown RSQLite rTensor S4Vectors schex SingleCellExperiment SummarizedExperiment tagcloud visNetwork]; };
   scTreeViz = derive2 { name="scTreeViz"; version="1.0.0"; sha256="0m2g4x1gpwh4y4hm708a4nrwqsx9isy1pn84327yzk9f4yn7jmkg"; depends=[clustree data_table digest epivizr epivizrData epivizrServer ggplot2 ggraph httr igraph Matrix Rtsne S4Vectors scater scran Seurat SingleCellExperiment SummarizedExperiment sys]; };
   scanMiR = derive2 { name="scanMiR"; version="1.0.0"; sha256="1yk3l04w76sracwra8r6wam8j45h5hlhgy638wsmnhsnbnc8d923"; depends=[BiocParallel Biostrings data_table GenomeInfoDb GenomicRanges ggplot2 gridExtra IRanges S4Vectors seqLogo stringi]; };
   scanMiRApp = derive2 { name="scanMiRApp"; version="1.0.0"; sha256="1vdsx4ryjr7ifh9zy9jh05z5rg8b7ffvknqniwqsnlryyskm978h"; depends=[AnnotationDbi AnnotationFilter AnnotationHub BiocParallel Biostrings data_table digest DT ensembldb fst GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 htmlwidgets IRanges Matrix plotly rintrojs rtracklayer S4Vectors scanMiR scanMiRData shiny shinycssloaders shinydashboard waiter]; };
@@ -1915,8 +1916,8 @@ in with self; {
   seqTools = derive2 { name="seqTools"; version="1.28.0"; sha256="1m8pxyq11bq4wz3w4n4ls5wf9ws2b7pazazv1d6icrrr9z3278ma"; depends=[zlibbioc]; };
   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.0"; sha256="053y3vxn7ndwx21d41k5xf6wki37kxlr4ghvfq1w2f9w7cc59yb7"; 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.5"; sha256="11fbl5gd9na821l6sq74n73id6q198qx1s7w445i4rf3jvvhbj6v"; depends=[BiocParallel DNAcopy e1071 fgsea GenomicRanges ggplot2 ggrepel illuminaio IRanges KernSmooth MASS matrixStats preprocessCore randomForest reshape2 S4Vectors sesameData stringr SummarizedExperiment tibble wheatmap]; };
+  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.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]; };
@@ -1925,7 +1926,7 @@ in with self; {
   sigPathway = derive2 { name="sigPathway"; version="1.62.0"; sha256="1c46m1gbgiygcj8m65h8iwzk3fkp6nynd6rk1f5qdh7kw5ap28f9"; depends=[]; };
   siggenes = derive2 { name="siggenes"; version="1.68.0"; sha256="1fymp5ci1nwkk5yfj7hli464xqvvlvzf2a5j0w3qkxly9hrymix9"; depends=[Biobase multtest scrime]; };
   sights = derive2 { name="sights"; version="1.20.0"; sha256="03xfiwbxbj4nbbdd8cwgqb84gsp0zrlqz4qgz22rhjfm1gxg38j9"; depends=[ggplot2 lattice MASS qvalue reshape2]; };
-  signatureSearch = derive2 { name="signatureSearch"; version="1.8.0"; sha256="0vpz446qrdbq4b8rmxjkraffrn2zwx529xs32ddkvfsh3bcgqh05"; depends=[AnnotationDbi BiocGenerics BiocParallel clusterProfiler data_table DelayedArray DOSE dplyr ExperimentHub fastmatch fgsea ggplot2 GSEABase HDF5Array magrittr Matrix qvalue Rcpp reactome_db readr reshape2 rhdf5 RSQLite scales SummarizedExperiment visNetwork]; };
+  signatureSearch = derive2 { name="signatureSearch"; version="1.8.2"; sha256="0011xg9jnb3rpa3ni8ki62p5hm8v16cv40fmrw3ngzsfc6smj35h"; depends=[AnnotationDbi BiocGenerics BiocParallel clusterProfiler data_table DelayedArray DOSE dplyr ExperimentHub fastmatch fgsea ggplot2 GSEABase HDF5Array magrittr Matrix qvalue Rcpp reactome_db readr reshape2 rhdf5 RSQLite scales SummarizedExperiment visNetwork]; };
   signeR = derive2 { name="signeR"; version="1.20.0"; sha256="1wsh5ik046baq0bsdy5i8f6vf10x2xyxqkmixp2f81nk0cwxxq1y"; depends=[BiocGenerics Biostrings class GenomeInfoDb GenomicRanges IRanges nloptr NMF PMCMRplus Rcpp RcppArmadillo VariantAnnotation]; };
   sigsquared = derive2 { name="sigsquared"; version="1.26.0"; sha256="1l2p7psmaxff8b63mk59492dr4s0pmr2lnjp32gqs0a7g3s8ry9f"; depends=[Biobase survival]; };
   similaRpeak = derive2 { name="similaRpeak"; version="1.26.0"; sha256="19d4qfk2qx5jmrfyr929lfwfa9a4b1n65aiclqhfiz9nwh2i6zgf"; depends=[R6]; };
@@ -1934,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]; };
@@ -1953,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]; };
@@ -1976,12 +1977,12 @@ 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]; };
   surfaltr = derive2 { name="surfaltr"; version="1.0.0"; sha256="072hm8mcv0cyjmpss8jq84g4igd8m0xvqjj4n8ys9i54f7ar66zh"; depends=[biomaRt Biostrings dplyr ggplot2 httr msa protr readr seqinr stringr testthat xml2]; };
-  survcomp = derive2 { name="survcomp"; version="1.44.0"; sha256="0d2zc3si1cfmbknx61n229nd042kxgphf089zgbq46drav2rbqqb"; depends=[bootstrap ipred KernSmooth prodlim rmeta SuppDists survival survivalROC]; };
+  survcomp = derive2 { name="survcomp"; version="1.44.1"; sha256="1if6f07110c42ygsp2lhsswfxl0mvcfkl60qxrym0s85fksymi5q"; depends=[bootstrap ipred KernSmooth prodlim rmeta SuppDists survival survivalROC]; };
   survtype = derive2 { name="survtype"; version="1.10.0"; sha256="0m4y3sc4d74590m78sl61xzl2lg5ik2jxlasnkcg9gv4cqpi4nl5"; depends=[clustvarsel pheatmap SummarizedExperiment survival survminer]; };
   sva = derive2 { name="sva"; version="3.42.0"; sha256="0clzid9di2qfgc5bvnqx312k3inj1lc599ckqkllvr894wxb7mdj"; depends=[BiocParallel edgeR genefilter limma matrixStats mgcv]; };
   svaNUMT = derive2 { name="svaNUMT"; version="1.0.0"; sha256="1y090djhxmpb8rb74zy4sjbczh3cnfjx43g59f3as0n2h2knba0g"; depends=[assertthat BiocGenerics Biostrings dplyr GenomeInfoDb GenomicFeatures GenomicRanges rlang rtracklayer S4Vectors stringr StructuralVariantAnnotation VariantAnnotation]; };
@@ -1990,9 +1991,9 @@ 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.2"; sha256="0yy95gqss9mzqbab8rv2vy14vcn32kgnhlsl0ixqs60ckpfkh0pb"; depends=[BiocGenerics Biostrings crayon GenomicRanges ggplot2 htmlwidgets magrittr Rsamtools S4Vectors ShortRead stringr SummarizedExperiment yaml]; };
+  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]; };
   systemPipeTools = derive2 { name="systemPipeTools"; version="1.2.0"; sha256="1n53nwb00zmrhb8h1fq4lqzdd87f74c4l1z24sid4xrjssylrnwr"; depends=[ape DESeq2 dplyr DT GGally ggplot2 ggrepel ggtree glmpca magrittr pheatmap plotly Rtsne SummarizedExperiment tibble]; };
   tLOH = derive2 { name="tLOH"; version="1.2.0"; sha256="0k3lqlivxbv4gaipiskhpl34rjrmrn1x4243awxnvbhhvaqq5r50"; depends=[data_table dplyr GenomicRanges ggplot2 MatrixGenerics purrr scales VariantAnnotation]; };
@@ -2036,19 +2037,19 @@ 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.0"; sha256="05r26pqd37acjwl1yj25i4whprlmd37sdah2xwin19nmjqx674dv"; depends=[data_table DiagrammeR keras purrr stopwords text2vec textstem tm tokenizers]; };
+  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]; };
   twilight = derive2 { name="twilight"; version="1.70.0"; sha256="1fy01p3fgajc2jhc286b51mcynj0lrzv3ln21kyj981qk2c390qq"; depends=[Biobase]; };
   twoddpcr = derive2 { name="twoddpcr"; version="1.18.0"; sha256="0b8r7dvqjlswkpfy141kibldj9aw3w8wxw0swmcgxkivml4gz1sw"; depends=[class ggplot2 hexbin RColorBrewer S4Vectors scales shiny]; };
   txcutr = derive2 { name="txcutr"; version="1.0.0"; sha256="0vzdbn75d9hvb4ni5ra7z4s52rbbl3sdi6kpidy421l3sb5clbsj"; depends=[AnnotationDbi BiocGenerics BiocParallel Biostrings GenomicFeatures GenomicRanges IRanges rtracklayer S4Vectors]; };
-  tximeta = derive2 { name="tximeta"; version="1.12.3"; sha256="15l1jvfis7xzxwwnlqs8xpaf212v1lx513np2dc4l4h7rqhclm2v"; depends=[AnnotationDbi AnnotationHub BiocFileCache Biostrings ensembldb GenomeInfoDb GenomicFeatures GenomicRanges IRanges jsonlite Matrix S4Vectors SummarizedExperiment tibble tximport]; };
+  tximeta = derive2 { name="tximeta"; version="1.12.4"; sha256="1lm2r64d6sdfzvxcabgs0214cdc5dl9pfx562acjcxz5mb101g9g"; depends=[AnnotationDbi AnnotationHub BiocFileCache Biostrings ensembldb GenomeInfoDb GenomicFeatures GenomicRanges IRanges jsonlite Matrix S4Vectors SummarizedExperiment tibble tximport]; };
   tximport = derive2 { name="tximport"; version="1.22.0"; sha256="0w6pr7s9j8l4fpn3przbfrsyxvzxc3ficgsychvhq3bami9np8g4"; depends=[]; };
   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.1"; sha256="0d6zrwbc4i2npl29idm1icwa62wdx47z9s8yx7k662v3qagwpj16"; 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/nixpkgs/pkgs/development/r-modules/cran-packages.nix b/nixpkgs/pkgs/development/r-modules/cran-packages.nix
index 071ea9d373ce..62f68de90913 100644
--- a/nixpkgs/pkgs/development/r-modules/cran-packages.nix
+++ b/nixpkgs/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 = "2021-11-30"; };
+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]; };
@@ -79,11 +81,12 @@ in with self; {
   ANTs = derive2 { name="ANTs"; version="0.0.13"; sha256="01zncc9zzv32cdfy718c2cdbscy404zdhwn35vf5ha81zpz3ql3a"; depends=[gtools Kendall lme4 Rcpp RcppArmadillo RcppEigen]; };
   AOV1R = derive2 { name="AOV1R"; version="0.1.0"; sha256="0dv7k0mifybkarpwqyla5j6cvw9dcch09wvdq09ra9bsf4vyk652"; depends=[cellranger data_table lazyeval purrr]; };
   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.3"; sha256="1fdv9zpc04i39zw8mg38mirh2nb8nkyf17s12fm83jp6x0jf7vbc"; depends=[data_table dplyr gee ggplot2 ggpubr magrittr stringr survey]; };
+  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=[]; };
@@ -93,12 +96,12 @@ in with self; {
   AQuadtree = derive2 { name="AQuadtree"; version="1.0.2"; sha256="1nq2k8dkviazh09pglgla7vgvxwgckkbwx20rs8q9k0xnmsz86yz"; depends=[dplyr sp]; };
   AR = derive2 { name="AR"; version="1.1"; sha256="1wn4g2997c4vc3mzq2pv8ld0ryp0i78v4zlqqryvhshxgnz4f2pr"; depends=[DISTRIB]; };
   ARCensReg = derive2 { name="ARCensReg"; version="2.1"; sha256="05zjk1wxqfigzg80lvx1940a059jfdr9zbzgzmz2n01glj1lvj63"; depends=[msm mvtnorm numDeriv tmvtnorm]; };
-  ARCokrig = derive2 { name="ARCokrig"; version="0.1.1"; sha256="0l7z23k4bc2s295cvm3gs8kgkaawgq8g0j0r5jz1c2q2cdadh68q"; depends=[ggplot2 mvtnorm Rcpp RcppArmadillo RcppEigen]; };
+  ARCokrig = derive2 { name="ARCokrig"; version="0.1.2"; sha256="0pk0y0gsw681py0vwizxvh1jqjnapzqfr0mbdpli1sray55xbjr2"; depends=[ggplot2 mvtnorm Rcpp RcppArmadillo RcppEigen]; };
   ARDL = derive2 { name="ARDL"; version="0.1.1"; sha256="0vmx21dvbz5l67drdma77z9x30j6sw650lhkrkcbifjn915x6dks"; depends=[aod dplyr dynlm lmtest msm stringr zoo]; };
   ARHT = derive2 { name="ARHT"; version="0.1.0"; sha256="1fz81a202r8vk655dg6a03zfq3gfkimqjvmc95k3j02xz0iv58kn"; depends=[]; };
   ARIbrain = derive2 { name="ARIbrain"; version="0.2"; sha256="18c7yxkrnqh18gcfzvdc5wqig6ywdmjcy8rlz0fdj3b8fb84dfpr"; depends=[hommel plyr RNifti]; };
   AROC = derive2 { name="AROC"; version="1.0-3"; sha256="07kzkb0mlx8nj8c0kz2b6in51biwawv7vvqqkg0h5zfj92k26hdb"; depends=[Hmisc MASS Matrix moments nor1mix np spatstat spatstat_geom]; };
-  ARPALData = derive2 { name="ARPALData"; version="1.2.1"; sha256="1b5xzzykafg5h7m75pq262112d2m2057ljqp6jcd7rvgfaxfhnpk"; depends=[aweek data_table doParallel dplyr eurostat ggplot2 lubridate magrittr purrr readr rlang RSocrata sf stringi stringr tibble tidyr tidyselect tidyverse tm]; };
+  ARPALData = derive2 { name="ARPALData"; version="1.2.2"; sha256="1mp5wrkl6d0yg8vrp7p2b6jg6d1gchkda1nyxhcpa7wj96khnh2w"; depends=[aweek data_table doParallel dplyr eurostat ggplot2 lubridate magrittr moments purrr readr rlang RSocrata sf stringi stringr tibble tidyr tidyselect tidyverse tm]; };
   ARPobservation = derive2 { name="ARPobservation"; version="1.2.1"; sha256="1gpq5wl3mwp4hi49h1g6nnizzpnfc19pv8chdyhv8y5sraq1k2ag"; depends=[]; };
   ART = derive2 { name="ART"; version="1.0"; sha256="186w1ivj5v3h906crl953qxgai5wiznaih83dgvwgnmabs9p1wvk"; depends=[car]; };
   ARTP2 = derive2 { name="ARTP2"; version="0.9.45"; sha256="12nqxry2jkl1n07rbms38mrnp39cn00d0h272d9f1z5x883flv62"; depends=[data_table Formula]; };
@@ -113,8 +116,9 @@ in with self; {
   ASSISTant = derive2 { name="ASSISTant"; version="1.4.2"; sha256="1vh1glk83lg010v2fc289gr6xy0dzbrqcjfva2mmaymk6v78a1w5"; depends=[dplyr knitr magrittr mvtnorm R6]; };
   ASSOCShiny = derive2 { name="ASSOCShiny"; version="0.1.0"; sha256="1g1ba9d5ywd3gbwjb36xnms8l15dg1vwc6r0nsb5adhpb602xsw1"; depends=[arules arulesViz dplyr plotly rmarkdown shiny shinyMatrix]; };
   AST = derive2 { name="AST"; version="0.1.0"; sha256="0z5dw5qw0i61v4796ms7pp66f9y4ylxrcls31ixzcmkklh3rcnp3"; depends=[]; };
-  ATAforecasting = derive2 { name="ATAforecasting"; version="0.0.55"; sha256="0p5n3hgx3iipssn7c81xn4zb4s1sz4mbr7bhslymblj9c8hy7vwm"; depends=[forecast Rcpp RcppArmadillo Rdpack seasonal stlplus stR timeSeries TSA tseries xts]; };
+  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]; };
@@ -133,10 +137,11 @@ in with self; {
   ActCR = derive2 { name="ActCR"; version="0.2.0"; sha256="1jjkmw0pwr8xlmhiw3wpyjfmi2xcx569zvp797ywvjk6rvipzw52"; depends=[cosinor cosinor2 dplyr minpack_lm zoo]; };
   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.1"; sha256="06mvakdc8d2pn91p0sr4ixc561s4ia5h1cvd1p7pqd6s50dy4say"; depends=[Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 GenomeInfoDb GenomicRanges IRanges S4Vectors]; };
+  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.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]; };
@@ -151,9 +156,12 @@ in with self; {
   AdvDif4 = derive2 { name="AdvDif4"; version="0.7.18"; sha256="1xdbk7w55cb2fh0mqlyrkdpnglrs55kyvvp32anvf2nw3ssrfmy7"; depends=[]; };
   AdvancedBasketballStats = derive2 { name="AdvancedBasketballStats"; version="1.0.1"; sha256="0wwqnijhz2sa3pcf8mjidw7m4awqgbsn4sgly93zyspb5fv7yblk"; depends=[]; };
   AeRobiology = derive2 { name="AeRobiology"; version="2.0.1"; sha256="14d5gjx53v2wfij8m4br0k7lfi6x2frc8ny1li4g8c05qv2dvnbb"; depends=[circular data_table dplyr ggplot2 ggvis lubridate plotly scales tidyr writexl zoo]; };
+  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.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=[]; };
@@ -162,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=[]; };
@@ -177,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]; };
@@ -188,7 +196,7 @@ in with self; {
   AntMAN = derive2 { name="AntMAN"; version="1.1.0"; sha256="118jhjjfnp23kbkir66rdvlzsvms316zwr2r5msrjrb3nd8lz5va"; depends=[bayesplot GGally mcclust mvtnorm Rcpp RcppArmadillo Rdpack salso]; };
   AntWeb = derive2 { name="AntWeb"; version="0.7"; sha256="1ykfg3zzjdvjppr2l4f26lx00cn5vaqhhz1j1b5yh113ggyl40qw"; depends=[assertthat httr leafletR plyr rjson]; };
   AnthropMMD = derive2 { name="AnthropMMD"; version="3.1.0"; sha256="10ms5akc2r9dmcm8dd8bn7qn0bq71c270yhs61981n4mxsvgjmnr"; depends=[plotrix scatterplot3d shiny smacof]; };
-  Anthropometry = derive2 { name="Anthropometry"; version="1.16"; sha256="0iqlmp9vig4qdavs37kislqxwhk0c0pgsn1kwz3mm75nylxmpbp0"; depends=[archetypes biclust cluster depth FNN ICGE nnls rgl shapes]; };
+  Anthropometry = derive2 { name="Anthropometry"; version="1.17"; sha256="0vxjlzxv16bygw8n57f25msq5bd1dydg41my92ximah0nzzvbg41"; depends=[archetypes biclust cluster depth FNN ICGE nnls rgl shapes]; };
   AntibodyTiters = derive2 { name="AntibodyTiters"; version="0.1.18"; sha256="000pxpkxwfaynmlr8xpbnkck2q61ym281ykxq88mrscqgyimp40k"; depends=[DescTools openxlsx]; };
   Aoptbdtvc = derive2 { name="Aoptbdtvc"; version="0.0.2"; sha256="1bygvf8vgzz3wa4485x2xxpk784zmw1nwsjjjysm12brrldh8zzh"; depends=[lpSolve MASS]; };
   AovBay = derive2 { name="AovBay"; version="0.1.0"; sha256="110y9wbqr0m9b6wr1c5mncrdjpg247308989bswkqnim2msvnzcf"; depends=[BayesFactor BH broom car dplyr DT highcharter htmltools moments nortest purrr Rcpp RcppEigen RcppParallel reshape rstan rstantools shiny shinycssloaders shinydashboard shinydashboardPlus StanHeaders stringr tibble waiter]; };
@@ -209,12 +217,13 @@ in with self; {
   AssocTests = derive2 { name="AssocTests"; version="1.0-1"; sha256="1wp5swnpd6m5g4zm14lllclmw058513n1g3kq1iqc0acjavkqy17"; depends=[cluster combinat fExtremes mvtnorm]; };
   AssotesteR = derive2 { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; };
   AsthmaNHANES = derive2 { name="AsthmaNHANES"; version="1.1.0"; sha256="106c6fh20s98fzixs4jpa4d413himrfg31rzwsxp72yldqxg70fx"; depends=[]; };
-  AsyK = derive2 { name="AsyK"; version="1.5.4"; sha256="0l2d6h1i5bvxizvcjq15z0dhq274qz07fq6hh4j6d6ifm0z34829"; depends=[decon ICV kedd kerdiest KernSmooth ks locfit OSCV sm]; };
+  AsyK = derive2 { name="AsyK"; version="1.5.5"; sha256="0mr09gfxq2xsdrh7h28fkczhs44m367gf7zj09kc5lc5zwd9fs83"; depends=[DELTD]; };
   AsynchLong = derive2 { name="AsynchLong"; version="2.1"; sha256="111kg1cacqlz4df1lnijybnrifjscjm78ji9p0ia615gacvdcfxa"; depends=[]; };
   AtmChile = derive2 { name="AtmChile"; version="0.2.0"; sha256="0hrga00jsg6k7cjck7a4pqj0gx8n4issblp372vxhnpa5slqy1gg"; depends=[data_table DT lubridate openair plotly shiny shinycssloaders]; };
   AtmRay = derive2 { name="AtmRay"; version="1.31"; sha256="162078jd032i72sgaar9hqcnn1lh60ajcqpsz4l5ysxfkghcxlh8"; depends=[]; };
   AugmenterR = derive2 { name="AugmenterR"; version="0.1.0"; sha256="0hi501p8ksaqzc9dq16dbmkz50kakgw3k0awdkbpci5can2sqvfl"; depends=[]; };
   AurieLSHGaussian = derive2 { name="AurieLSHGaussian"; version="0.2.0"; sha256="0dzwqv396inbx4r6758vr4gip1y42ahavspadgm4xhafvipg73rb"; depends=[flexclust igraph lsa reshape2 stringdist]; };
+  AustralianPoliticians = derive2 { name="AustralianPoliticians"; version="0.1.0"; sha256="1ws0fry00xckxgbagp069fcmnbcrcnsvs9v5jizp1xs791ij0njv"; depends=[dplyr purrr readr tibble]; };
   AutoDeskR = derive2 { name="AutoDeskR"; version="0.1.3"; sha256="1n7c8ris8b517bs1wahpvrhwfbvn2q4jbq01kgiv9lfmkjckzfkc"; depends=[httr jsonlite shiny]; };
   AutoPipe = derive2 { name="AutoPipe"; version="0.1.6"; sha256="0bzllh92fgsmz79lh6m2f10vsx5qng4l7bwbwkp2kzwnncy7cq63"; depends=[annotate cluster clusterProfiler ConsensusClusterPlus fgsea msigdbr org_Hs_eg_db pamr RColorBrewer Rtsne siggenes]; };
   AutoSEARCH = derive2 { name="AutoSEARCH"; version="1.5"; sha256="1s2ldhxijd8n9ba78faik6gn4f07pdzksy0030pqyafxlr3v1qdj"; depends=[lgarch zoo]; };
@@ -234,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.5.2"; sha256="0c1pkzq62nk2nybhp60nvy6vjwgzcxyraw6fcldwqylqg1y4104h"; 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]; };
@@ -255,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]; };
@@ -285,26 +295,27 @@ in with self; {
   BDP2 = derive2 { name="BDP2"; version="0.1.3"; sha256="14m85sigx6hk0qzhfgih43m2lxp9xczmp9g3z4pping6msbnbdrz"; depends=[rmarkdown shiny shinyBS]; };
   BDWreg = derive2 { name="BDWreg"; version="1.2.0"; sha256="07j6dy69q1as1nwgp2790wzpzmjich2256cddhl7n3h2rs1dja74"; depends=[coda doParallel DWreg foreach MASS]; };
   BDgraph = derive2 { name="BDgraph"; version="2.64"; sha256="0pnzbw09c7amsvj8l4p1jnmss4rkbr1dsmagiygh8lj5fbrklgr4"; depends=[igraph]; };
-  BE = derive2 { name="BE"; version="0.1.4"; sha256="11x1qr8f047ns7awhq5j6h95svxccn0knhvvr49bamv6r0rl0ys3"; depends=[rtf]; };
+  BE = derive2 { name="BE"; version="0.1.5"; sha256="0z4cd6z5r0r0smk8q0zhl264zj48pfp8w3hgdap59zsqrn5c6z5l"; depends=[rtf]; };
   BEACH = derive2 { name="BEACH"; version="1.3.1"; sha256="0biq6c74k8vb8ykafzf3blyi08rp65x1vaw3bfpwdc1ihc9wrgjr"; depends=[devtools DT haven plyr rJava rtf sas7bdat shiny WriteXLS xtable]; };
   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]; };
-  BGData = derive2 { name="BGData"; version="2.3.0"; sha256="0j6f5dk16vj1q3h1byrbyc2fdmgq102lx4mx8vyypsqxcds99csq"; depends=[BEDMatrix bigmemory bit crochet ff LinkedMatrix symDMatrix synchronicity]; };
+  BGData = derive2 { name="BGData"; version="2.4.0"; sha256="0kbalppj7i9rswk8la3jdhzw7zvm9qjbps13i2h9q1s0lyjlcvd4"; depends=[BEDMatrix bigmemory bit crochet ff LinkedMatrix symDMatrix synchronicity]; };
   BGGE = derive2 { name="BGGE"; version="0.6.5"; sha256="1h76c40y45xhf2vp9g0q5j9lfwh16q9axbk5c9aqn4md008xr1j2"; depends=[]; };
   BGGM = derive2 { name="BGGM"; version="2.0.4"; sha256="0676viahmid0n89jhs93ci8l7rxpam7rn75mdbshgx7f1q3wqiih"; depends=[BFpack GGally ggplot2 ggridges MASS mvnfast network Rcpp RcppArmadillo RcppDist RcppProgress Rdpack reshape sna]; };
   BGLR = derive2 { name="BGLR"; version="1.0.9"; sha256="16chvslsknhfjdnfy79y4bl5xayvrk8j01y0r3nddq02ypwrc2j4"; depends=[MASS truncnorm]; };
   BGSIMD = derive2 { name="BGSIMD"; version="1.0"; sha256="0xkr56z8l72wps7faqi5pna1nzalc3qj09jvd3v9zy8s7zf5r7w4"; depends=[]; };
   BGVAR = derive2 { name="BGVAR"; version="2.4.3"; sha256="109nmcjwbcgzcbah2pb8k3db3rbcpd2xsswjw1q7nl75v3rwdlp6"; depends=[abind bayesm coda GIGrvg knitr MASS Matrix Rcpp RcppArmadillo RcppParallel RcppProgress readxl stochvol xts zoo]; };
   BGmisc = derive2 { name="BGmisc"; version="0.1"; sha256="15xgm3n3hn5zkrvyfcylyz5q3zah0155914a0rck0ipihb45sbbl"; depends=[Matrix]; };
-  BH = derive2 { name="BH"; version="1.75.0-0"; sha256="0nkgvl5qjs2a7jv0ncsrl4fqaw2pdaj7a1pncdv6kp874sci0k5f"; depends=[]; };
+  BH = derive2 { name="BH"; version="1.78.0-0"; sha256="1cwc1q8w9d6i81nclgi7lycsnpj0dcbxlv9rdb0f04r0d03rv7iv"; depends=[]; };
   BHAI = derive2 { name="BHAI"; version="0.99.2"; sha256="1hawa55mk590is8ziav7fdszsa3a42bqb0znzqsazz5lkg4daaa7"; depends=[MCMCpack plotrix prevtoinc]; };
   BHH2 = derive2 { name="BHH2"; version="2016.05.31"; sha256="1m4fcx979nbm97hi89vbjjix0sx6qhdzs486risck9bi7yzih5k4"; depends=[]; };
   BHMSMAfMRI = derive2 { name="BHMSMAfMRI"; version="1.3"; sha256="1cha6bw0zvv30y2hjl1a4d04g1r80dfa7r7zi63q5jjnnbklbswg"; depends=[oro_nifti wavethresh]; };
@@ -312,14 +323,13 @@ 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]; };
   BINCOR = derive2 { name="BINCOR"; version="0.2.0"; sha256="0x2s82jql429shk70bhjdy9kamz8dz5ymsxj6kp8ga1711bpwyq6"; depends=[pracma]; };
   BINtools = derive2 { name="BINtools"; version="0.1.0"; sha256="061g1790m3gi88kj1avgxdnpdvj6n2mg5dh17c7vx4gx5g5x2q2d"; depends=[BH combinat dplyr mvtnorm Rcpp RcppEigen RcppParallel rstan StanHeaders stringi tibble]; };
   BIOM_utils = derive2 { name="BIOM.utils"; version="0.9"; sha256="0xckhdvf15a62awfk9rjyqbi6rm7p4awxz7vg2m7bqiqzdll80p7"; depends=[]; };
-  BIOMASS = derive2 { name="BIOMASS"; version="2.1.6"; sha256="1iz9vszfg8lxa6yxrz3dj2ihpkcpchdbzdws5y568fczakcv8z5l"; depends=[data_table jsonlite minpack_lm proj4 rappdirs raster sp]; };
+  BIOMASS = derive2 { name="BIOMASS"; version="2.1.7"; sha256="015gfn7b0viymrb06q33gwz8ljpiwawrdscb2q2bk0j6vi1gnncx"; depends=[data_table jsonlite minpack_lm proj4 rappdirs raster sp]; };
   BIOdry = derive2 { name="BIOdry"; version="0.8"; sha256="1zga8g50wjnnz2h9b3ak9q67qnl1f14cq6hvdzf9f84pphsnpasa"; depends=[ecodist nlme]; };
   BKPC = derive2 { name="BKPC"; version="1.0.1"; sha256="17gmhf6qq8jn2xzkqvjq60xzy0slz6kgfpd0d6hlpnf30ww7q923"; depends=[kernlab]; };
   BLCOP = derive2 { name="BLCOP"; version="0.3.3"; sha256="08y9vmx3cknjvk6ngfwxlfnc03cqpj97i1ijrs1cw5sahjc0vmhc"; depends=[fBasics fMultivar fPortfolio knitr MASS quadprog rmarkdown RUnit timeSeries]; };
@@ -341,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.2"; sha256="03bhq5gf4x959sam0mhk3sm9h6q6ylbwqp3399l00k7zhg6n7dw8"; depends=[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]; };
@@ -352,7 +362,7 @@ in with self; {
   BNrich = derive2 { name="BNrich"; version="0.1.1"; sha256="0m3cz7npc7mwq2vj68hllbd2vf5xqw00jaxv1pm3c28mq7pb459j"; depends=[bnlearn corpcor glmnet graph]; };
   BOG = derive2 { name="BOG"; version="2.0"; sha256="0lz5af813b67hfl4hzcydn58sjhgn5706n2h44g488bks928k940"; depends=[DIME hash]; };
   BOIN = derive2 { name="BOIN"; version="2.7.2"; sha256="03h6s1nn87xgkk830wls06mgflg0arq084k74gfp1k4wccwkjr5y"; depends=[Iso]; };
-  BOJ = derive2 { name="BOJ"; version="0.2.3"; sha256="0wphdsd9v74jyfj3mjc2mm23lwfls3q4kxc3ii0rvvdlma2xm49f"; depends=[dplyr readr rvest tidyr tidyselect xml2]; };
+  BOJ = derive2 { name="BOJ"; version="0.3"; sha256="1x9lz01fjdk0aybs6zsbbq2xfjvh99qiimmnrkbcd6sj880vn3a3"; depends=[dplyr readr rvest tidyr tidyselect xml2]; };
   BOSO = derive2 { name="BOSO"; version="1.0.3"; sha256="0zax40x2d62vcn8zznmzmykk33mv4vbjfl88i3r1djbvalcdf5cf"; depends=[MASS Matrix]; };
   BOSSreg = derive2 { name="BOSSreg"; version="0.2.0"; sha256="0ln4nx0jlvz5kqk9qkcl8a2cyhsdcqqfs5112qcaabjiwjnvla7w"; depends=[glmnet Matrix Rcpp RcppArmadillo]; };
   BPEC = derive2 { name="BPEC"; version="1.3.1"; sha256="0jvq56cq1wnhwd6wvg02hbx4b5vc2hz1lyxi63pl41rk0xva615a"; depends=[ape coda fields ggmap ggplot2 igraph maptools mvtnorm OpenStreetMap phytools sp]; };
@@ -365,14 +375,14 @@ in with self; {
   BRISC = derive2 { name="BRISC"; version="1.0.2"; sha256="1qkb98wlqyhi378darx62f5ymsr290pqq82msqwcj6ks0xi9mj2s"; depends=[matrixStats pbapply RANN rdist]; };
   BRL = derive2 { name="BRL"; version="0.1.0"; sha256="13qi78v3057qn4hfby14sp26hy3ibl50f06x8gpak6gi76g8bhwi"; depends=[]; };
   BRugs = derive2 { name="BRugs"; version="0.9-1"; sha256="1m3dlw6201bzf6fcm4qscpsmgjkpidwiil3m4iwfn0b0iv3dclcv"; depends=[coda]; };
-  BSBT = derive2 { name="BSBT"; version="1.1.0"; sha256="1a45ivld1j4nmy6v3giwicia0mppdms0xah9qns8m55lz5bbsj0p"; depends=[expm igraph MASS]; };
+  BSBT = derive2 { name="BSBT"; version="1.2.0"; sha256="1whf34fbnsjargby8dq2784rj9mj80ldjgdd3nm897h05h17bs9f"; depends=[expm igraph MASS]; };
   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-1"; sha256="0w141yxqpck59n85rjc6d3qy6bwhk1z80zsm21hda0bgfwy9v6wy"; depends=[fICA JADE]; };
+  BSSasymp = derive2 { name="BSSasymp"; version="1.2-3"; sha256="1nqj8w8ilyhladjzhjp1rhi3ff7ik1m76pdhgs16ph7pzdw36w6i"; depends=[fICA JADE]; };
   BSSprep = derive2 { name="BSSprep"; version="0.1"; sha256="0dkhx8vx9kg902i6nzkzbighf2szq12l0p8iwinlpb2qdf526lk6"; depends=[Rcpp RcppArmadillo]; };
   BSW = derive2 { name="BSW"; version="0.1.1"; sha256="0l6sw8lyk9mxfdw4s72hz6a0b30gi2a2vlcndkgahjlym6i5bz83"; depends=[Matrix matrixStats quadprog]; };
   BSagri = derive2 { name="BSagri"; version="0.1-10"; sha256="096l2ilr4x2fbjxchkksxkbiyaf7wwdmzn4xyjx001w873x9dgf6"; depends=[boot gamlss MCPAN mratios multcomp mvtnorm]; };
@@ -413,44 +423,44 @@ 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.0"; sha256="1ym2v5ynmb28miwivyjx604vfsfi5ksmaha0far0ddq2cl06if2q"; depends=[eha ggplot2 reshape2 survival]; };
+  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=[]; };
   BayesComm = derive2 { name="BayesComm"; version="0.1-2"; sha256="1rrbvwcfm93cw0m33g0zn6nyshfjc97kb3fby9cga0zaixc0a8rk"; depends=[abind coda mvtnorm Rcpp RcppArmadillo]; };
   BayesDA = derive2 { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; };
   BayesDesign = derive2 { name="BayesDesign"; version="0.1.1"; sha256="1h69a18wp2z96a002x154d2vd1imzap3zm7yfssm5dh7igha18zc"; depends=[]; };
   BayesESS = derive2 { name="BayesESS"; version="0.1.19"; sha256="023r5pxqa2ll3vyfmchdlcg6ay0qixphz24078g1immqp43mlrxm"; depends=[dfcrm LaplacesDemon MASS MatrixModels MCMCpack Rcpp RcppArmadillo RcppEigen]; };
   BayesFM = derive2 { name="BayesFM"; version="0.1.5"; sha256="1x6paj5fr036mry6yr32vrxx2kfz89c8dz39ky1nc6jg1q7x5a8i"; depends=[checkmate coda ggplot2 gridExtra plyr]; };
-  BayesFactor = derive2 { name="BayesFactor"; version="0.9.12-4.2"; sha256="1z083v7is21gm0a458jm5ph3xfdm7mh29a6sg2r1njq82f8x3s3g"; depends=[coda gtools hypergeo Matrix MatrixModels mvtnorm pbapply Rcpp RcppEigen stringr]; };
+  BayesFactor = derive2 { name="BayesFactor"; version="0.9.12-4.3"; sha256="171hbr445v8mq4hqi1k8q3h8zqsccwjv0a2mj98h9b77667ziyfw"; depends=[coda gtools hypergeo Matrix MatrixModels mvtnorm pbapply Rcpp RcppEigen stringr]; };
   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=[]; };
   BayesMFSurv = derive2 { name="BayesMFSurv"; version="0.1.0"; sha256="1yxxzwjh1fgfh7qkzf9dfm3x0vbgb0v4p6bf6b5w14kvm06rzhkg"; depends=[coda FastGP MCMCpack mvtnorm Rcpp RcppArmadillo]; };
   BayesMRA = derive2 { name="BayesMRA"; version="1.0.0"; sha256="005pygpa8bmr153naxnag7kn876lqwq34d8pzbj954nivlxl4zaw"; depends=[fields igraph Matrix mvnfast Rcpp RcppArmadillo spam]; };
-  BayesMallows = derive2 { name="BayesMallows"; version="1.0.4"; sha256="0djv8jb3rgd7bs0f2xp5i1pd01myiaf2dncwmzrh4f93v2v07pby"; depends=[cowplot dplyr ggplot2 HDInterval igraph PerMallows purrr Rcpp RcppArmadillo Rdpack relations rlang sets tidyr]; };
+  BayesMallows = derive2 { name="BayesMallows"; version="1.1.0"; sha256="10yfhbigf30pjywhjzpcjdzf2cz7lz1lhx026ss1154sinbqavg4"; depends=[cowplot dplyr ggplot2 HDInterval igraph PerMallows Rcpp RcppArmadillo Rdpack relations rlang sets]; };
   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.3"; sha256="1w5jyvwwc7vk0wx41waq2ab92wb367d25hab55r2cs44vgcw04rl"; depends=[Rcpp RcppArmadillo RcppEigen RcppNumerical]; };
+  BayesPPD = derive2 { name="BayesPPD"; version="1.0.4"; sha256="1kyr9f1r6m3zb095x88hgbma51si5b2vzddi7zkzl02ildkqghgl"; depends=[Rcpp RcppArmadillo RcppEigen RcppNumerical]; };
   BayesPieceHazSelect = derive2 { name="BayesPieceHazSelect"; version="1.1.0"; sha256="0znbmv7crqycdx75jh02h6z8d6cifjszbrldv2yva4mkjxsydag5"; depends=[mvtnorm]; };
   BayesPiecewiseICAR = derive2 { name="BayesPiecewiseICAR"; version="0.2.1"; sha256="1qrmw7zmygdzz84p76hyh2d8dx88b8xhbbd7radqm39g35zq5wz6"; depends=[mvtnorm]; };
   BayesPostEst = derive2 { name="BayesPostEst"; version="0.3.2"; sha256="0r05by4w80j6hb22v3ibj686ixxbj7lkxq499fciz5lqs4lxzf3h"; depends=[brms carData caTools coda dplyr ggplot2 ggridges HDInterval MCMCpack R2jags R2WinBUGS reshape2 rjags rlang ROCR rstanarm runjags texreg tidyr]; };
   BayesProject = derive2 { name="BayesProject"; version="1.0"; sha256="0b1xqw7f9kfbmr8m6fl9d2fpwr364s4a5vdw57l6i5rm6lszyfh5"; depends=[Rcpp RcppEigen Rdpack]; };
-  BayesRGMM = derive2 { name="BayesRGMM"; version="2.0"; sha256="13f4mppiaj5j86ng9wx6jr9djzd2pvswzs5zdw9bx2y525qbhxhg"; depends=[abind batchmeans MASS msm mvtnorm plyr Rcpp RcppArmadillo RcppDist Rdpack reshape]; };
+  BayesRGMM = derive2 { name="BayesRGMM"; version="2.1"; sha256="0amvn45wng2wprclpg2nfxnfgfnkzfailvjk3gw5p5dgqxs63n97"; depends=[abind batchmeans MASS msm mvtnorm plyr Rcpp RcppArmadillo RcppDist Rdpack reshape]; };
   BayesRS = derive2 { name="BayesRS"; version="0.1.3"; sha256="0fhvnckabp0z1cdsbjgv3ijnzaxwhrk83fwcflgqbhvm3a9lzr77"; depends=[coda ggplot2 metRology reshape rjags]; };
   BayesReversePLLH = derive2 { name="BayesReversePLLH"; version="1.4"; sha256="1wigp9692z0vf1vm3cpbl6wcgp3zyqzfbrkd344hi88421kj1yxj"; depends=[Rcpp RcppArmadillo]; };
   BayesS5 = derive2 { name="BayesS5"; version="1.41"; sha256="0vs6s50h4gpxda9lbxfgn76k9kp81l62a6bv22r7ixsjlnd4baql"; depends=[abind Matrix snowfall splines2]; };
   BayesSAE = derive2 { name="BayesSAE"; version="1.0-2"; sha256="1xbx9hr254agpcqs1fl7qi7h19fd2bbmjszn44l566n2svgvxwf5"; depends=[coda Formula lattice]; };
   BayesSPsurv = derive2 { name="BayesSPsurv"; version="0.1.4"; sha256="0j3cjd3xwljmd452c9w83f2cvhjkrc7jvhwzkwdp5i60cw0qqhja"; depends=[ape coda countrycode dplyr FastGP ggplot2 MCMCpack progress Rcpp RcppArmadillo reshape2 rworldmap]; };
-  BayesSUR = derive2 { name="BayesSUR"; version="2.0-0"; sha256="0mxjp9k0a1nmlrkbl01vrxjrb52xzcvmpippkc23zh2616czrrfc"; depends=[igraph Matrix Rcpp RcppArmadillo tikzDevice xml2]; };
+  BayesSUR = derive2 { name="BayesSUR"; version="2.0-1"; sha256="0qmyha9j2gfhsl2c5z336pbvcd6w27l71ziydfihm2ljax516fk3"; depends=[igraph Matrix Rcpp RcppArmadillo tikzDevice xml2]; };
   BayesSampling = derive2 { name="BayesSampling"; version="1.1.0"; sha256="1nwwf195b7hly7kjfikizyvgc975g74z6hsm89c1ibfgxlj51bcw"; depends=[MASS Matrix matrixcalc]; };
   BayesSenMC = derive2 { name="BayesSenMC"; version="0.1.4"; sha256="1qpgg8v1i23wlf84mw1l6cv4micgyhn7jmpzach0aimggwj4nzwb"; depends=[BH dplyr ggplot2 lme4 Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
   BayesSpec = derive2 { name="BayesSpec"; version="0.5.3"; sha256="17gchdijcjhbr2y4glbq9szjh4qmgivzh6p4fllh589da18nzjcr"; depends=[mvtnorm pscl trust]; };
@@ -465,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.3.3"; sha256="1rhhdw27nh24rsgbmbmg40ja29gz3ih375lyddmk0dd3f3ph4ldx"; 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]; };
@@ -482,14 +493,14 @@ 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]; };
   BeyondBenford = derive2 { name="BeyondBenford"; version="1.4"; sha256="04jdx35955g44v2is6zxfw1gip7zh3li8divc7iy5hl0jrshfhv3"; depends=[ggplot2]; };
   Bhat = derive2 { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; };
   BiBitR = derive2 { name="BiBitR"; version="0.3.1"; sha256="0wfwph6nw12hb43j14i9ycj8m2zn0m5ynp7afq9cray8rbgvxfv6"; depends=[biclust cluster dendextend foreign lattice randomcoloR viridis]; };
-  BiDAG = derive2 { name="BiDAG"; version="2.0.3"; sha256="1ii13yklswp5wdmcqr42fxy87i1fn81vbyijd7hr7mnmnmkdhsy2"; depends=[graph pcalg RBGL Rcpp Rgraphviz]; };
+  BiDAG = derive2 { name="BiDAG"; version="2.0.4"; sha256="1vbkjz7sdmnqyhc5br8d0g1dgrx59v0lqjbk9ya64c2c6izhlq3c"; depends=[graph pcalg RBGL Rcpp Rgraphviz]; };
   BiDimRegression = derive2 { name="BiDimRegression"; version="2.0.0"; sha256="0k0708z6xn04zjkc4sk15649wji6hl5q4rvd28sz5kbq7z54j1j5"; depends=[Formula]; };
   BiProbitPartial = derive2 { name="BiProbitPartial"; version="1.0.3"; sha256="0y19b8bkwr7rpygmj03013slmfbyd7aj6714hm14w5rdbnckymw3"; depends=[coda Formula mvtnorm numDeriv optimr pbivnorm Rcpp RcppArmadillo RcppTN]; };
   BiSEp = derive2 { name="BiSEp"; version="2.2"; sha256="1ha7rc1q54dr2xl4bpkiwl703igmmi9qphsgv2h0flq7iz0gr351"; depends=[AnnotationDbi GOSemSim mclust]; };
@@ -498,17 +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]; };
-  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=[]; };
@@ -526,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]; };
@@ -577,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]; };
@@ -588,18 +598,19 @@ 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.5"; sha256="1zsjfry283ldzvjx5bdn728nb8fisijkgvam0zwxxp3awh3dr43r"; depends=[data_table doParallel foreach ggplot2 lava prodlim Rcpp RcppArmadillo]; };
+  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]; };
   CAISEr = derive2 { name="CAISEr"; version="1.0.16"; sha256="08br6hdpgf9y2fix299diwd8r3q4gylpbzll4knpxq0vi18a3hz3"; depends=[assertthat ggplot2 gridExtra pbmcapply]; };
-  CALANGO = derive2 { name="CALANGO"; version="1.0.5"; sha256="1a5573k5w3ldvgv8x384857ychn089fvir9yn0ryis26xmzkfvx5"; depends=[ape assertthat BiocManager dendextend DT ggplot2 heatmaply htmltools htmlwidgets knitr nlme pbmcapply pkgdown plotly rmarkdown taxize]; };
+  CALANGO = derive2 { name="CALANGO"; version="1.0.8"; sha256="0i9n03km29bnhikk0a4dsh4pdchbynqmcvwzply7y2fgzs9bfwx4"; depends=[ape assertthat BiocManager dendextend DT ggplot2 heatmaply htmltools htmlwidgets knitr nlme pbmcapply pkgdown plotly rmarkdown taxize]; };
   CALF = derive2 { name="CALF"; version="1.0.16"; sha256="1y3db8yxgman6jx8ghqcqfh201zj1fykinm9rhfbgb0ixk9dq1yc"; depends=[data_table ggplot2]; };
   CALIBERrfimpute = derive2 { name="CALIBERrfimpute"; version="1.0-6"; sha256="0ghi6pkv9ki0iz4lkli3hkrsk6xiph2ha2pij6dg4wi7mcjdhsbi"; depends=[mice mvtnorm randomForest]; };
   CAMAN = derive2 { name="CAMAN"; version="0.74"; sha256="0d932fbqzlxlhn7m8zfx7wr02pc7fm8398rym1jh2cdy2fk5im08"; depends=[mvtnorm sp]; };
+  CAMML = derive2 { name="CAMML"; version="0.1.1"; sha256="06xszdr3v41qqd2l0s3kdbzwn03054imazndplbihx5a7032gxvj"; depends=[AnnotationDbi dplyr edgeR MASS Matrix org_Hs_eg_db org_Mm_eg_db Seurat SeuratObject VAM]; };
   CANSIM2R = derive2 { name="CANSIM2R"; version="1.14.1"; sha256="1dnzbd9lyqj3w80lx12qxcsbmv8wy6hxknyi5ijp99cfv7kaq1kc"; depends=[downloader Hmisc reshape2]; };
   CARBayes = derive2 { name="CARBayes"; version="5.2.5"; sha256="0lrir2qqpignndvf8xjpyiwh9fc9iw2b0bin5vlxh88krhbkyx9f"; depends=[CARBayesdata coda dplyr GGally leaflet MASS MCMCpack Rcpp rgdal sp spam spdep truncnorm]; };
   CARBayesST = derive2 { name="CARBayesST"; version="3.2.1"; sha256="0gbn11lmfax6frc70dyl667r4afn36zrjrxxky3rvmry4apqpwl3"; depends=[CARBayesdata coda dplyr GGally ggplot2 gridExtra gtools leaflet MASS matrixStats MCMCpack Rcpp rgdal sp spam spdep truncdist truncnorm]; };
@@ -619,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=[]; };
@@ -629,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]; };
@@ -639,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]; };
@@ -650,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]; };
@@ -669,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]; };
@@ -676,11 +689,12 @@ in with self; {
   CKAT = derive2 { name="CKAT"; version="0.1.0"; sha256="03vxl91z2mhi1h0xgcwhw63mvj56156zgphm16ijdff63pqxaryr"; depends=[CompQuadForm]; };
   CKLRT = derive2 { name="CKLRT"; version="0.2.3"; sha256="1d8sg3ncns3fpjaghz1h1z9nfrl31v09xijrzzsias8xjrpi191b"; depends=[MASS mgcv nlme Rcpp RcppEigen]; };
   CKMRpop = derive2 { name="CKMRpop"; version="0.1.3"; sha256="0d4sai2h2cfzh4hbg8yh7wqb459j948j3s0m218d3gcippm22jpb"; depends=[dplyr ggforce ggplot2 ggraph igraph magrittr purrr Rcpp readr stringr tibble tidygraph tidyr vroom]; };
+  CLA = derive2 { name="CLA"; version="0.96-2"; sha256="0cfa7zm13bin8hx8ki20kaz8fvkwdaiyl0pjghhld8vr5d3289kq"; depends=[]; };
   CLME = derive2 { name="CLME"; version="2.0-12"; sha256="161maq22r8wbd6c2dc8b47mh6991vc4iqmjr8g6yqb5gcwca8zhg"; depends=[isotone lme4 MASS nlme openxlsx prettyR shiny stringr]; };
   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]; };
@@ -688,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]; };
@@ -700,10 +714,11 @@ in with self; {
   CNull = derive2 { name="CNull"; version="1.0"; sha256="14hy86zg18hqxi63bfzrpkz70yrzfxp2v2pva5xnrvx9dmlyz820"; depends=[ape Matrix PhyloMeasures Rcpp]; };
   COBRA = derive2 { name="COBRA"; version="0.99.4"; sha256="1r1cw12d7c148pcgcg08bfsr1q1s736kfpyyss6b4d7ny7wgmqy4"; depends=[]; };
   COCONUT = derive2 { name="COCONUT"; version="1.0.2"; sha256="1qjrhxn6dkxyimdca3nslaiw3hncfpk1pk4v01mcrnz550z001nz"; depends=[]; };
-  COINr = derive2 { name="COINr"; version="0.6.0"; sha256="1r2bxdymdz59icyxc9cym19fjiam41dnk2ikx9mh2qsamh8g0v6v"; depends=[Amelia corrplot dplyr e1071 ggplot2 magrittr matrixStats openxlsx plotly purrr reactable readxl reshape2 rlang rmarkdown shiny stringr tibble tidyr]; };
+  COINr = derive2 { name="COINr"; version="0.6.1"; sha256="1sq2a9kxn9xlz9dn2ar9dm4czz76vxszdrpciam5mc1x954wjiwj"; depends=[Amelia corrplot dplyr e1071 ggplot2 magrittr matrixStats openxlsx plotly purrr reactable readxl reshape2 rlang rmarkdown shiny stringr tibble tidyr]; };
   COMBAT = derive2 { name="COMBAT"; version="0.0.4"; sha256="0m700pl33frdpc9y16y4zyh1ixpardh0r5kmz8a78jrh1acn30id"; depends=[corpcor mvtnorm]; };
   COMPoissonReg = derive2 { name="COMPoissonReg"; version="0.7.0"; sha256="144vf3vfn5msc8p67q65frza8xyi9nqccjq47fnv33w5h0d9wlxj"; depends=[Rcpp]; };
   CONCUR = derive2 { name="CONCUR"; version="1.3"; sha256="1xkk5mbkysgrclv7km2pf4bnnm99a9q0dkb68vllrdmzsphjmxp9"; depends=[CompQuadForm dplyr mgcv]; };
+  COR = derive2 { name="COR"; version="0.0.1"; sha256="0flir1mwqqs418hwcwdg72a1r89hamf6zd8jaf8g7hm4lp3i1cgf"; depends=[]; };
   CORE = derive2 { name="CORE"; version="3.0"; sha256="0wq9i7nscnzqiqz6zh6hglm7924261bw169q3x6l9i6jgqhvn32d"; depends=[]; };
   CORElearn = derive2 { name="CORElearn"; version="1.56.0"; sha256="0zdx9ljxjzkj4kbrv856l3jaiv2s7dqycr3b3x7k5g05iv1ic6lv"; depends=[cluster nnet plotrix rpart_plot]; };
   CORM = derive2 { name="CORM"; version="1.0.2"; sha256="0g5plafx2h1ija8jd6rxvy8qsrqprfbwbi1kq1p4jdr9miha20nv"; depends=[cluster limma]; };
@@ -711,11 +726,12 @@ in with self; {
   COST = derive2 { name="COST"; version="0.1.0"; sha256="06xgnsccd621ihlrdmnnh14vh83q1r2bnp3iqi7vp5553b3y4l3w"; depends=[copula mvtnorm]; };
   COUNT = derive2 { name="COUNT"; version="1.3.4"; sha256="02f7779fy0d2bql88x5v9csbxljhnyvl8wb8h83xrmwl7kaxsdpy"; depends=[MASS msme sandwich]; };
   COUSCOus = derive2 { name="COUSCOus"; version="1.0.0"; sha256="1ykqi72v8v1b3g9qy6h34dvk5fynzf1rl2mby65p08axmaba5798"; depends=[bio3d matrixcalc]; };
-  COVID19 = derive2 { name="COVID19"; version="3.0.0"; sha256="1nrkrhkiznp4aqravrgipx0vqpjl8zqc5b949fq893lnfzrlpgqq"; depends=[data_table R_utils]; };
-  COVIDIBGE = derive2 { name="COVIDIBGE"; version="0.1.7"; sha256="18b9wxl47qk1mrqa3nkc1krhdawlfw42a4hbd5mh9dcm4ax77bgz"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
+  COVID19 = derive2 { name="COVID19"; version="3.0.1"; sha256="190l1g3hfwsbjhxbx58zlw5fyi7cqkh9avzkvss15iafr5crbvkj"; depends=[data_table R_utils]; };
+  COVIDIBGE = derive2 { name="COVIDIBGE"; version="0.1.8"; sha256="014g50ixnm9rnw2pgsgw6qvfk7wn75hbss3n2ylr1i5ndnr72m49"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
   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=[]; };
@@ -734,7 +750,7 @@ in with self; {
   CSGo = derive2 { name="CSGo"; version="0.6.7"; sha256="19awbblkx0g58gvd43xs1dmcsn588k185njw3fri8xxbn26xp5jy"; depends=[dplyr extrafont furrr future fuzzyjoin ggplot2 httr jsonlite magrittr purrr stringr]; };
   CSIndicators = derive2 { name="CSIndicators"; version="0.0.1"; sha256="1d0mdbgg4y9773di8a86c8lss5f29c936pa7qv7vvznyc7mxkqzz"; depends=[ClimProjDiags multiApply s2dv]; };
   CSMES = derive2 { name="CSMES"; version="1.0.0"; sha256="1ddr2b39d7nwan6dqf5xx9h6gzfxxk50r1d9vbpb9hc8a7d15vnp"; depends=[caTools data_table mco ROCR rpart zoo]; };
-  CSTE = derive2 { name="CSTE"; version="1.0"; sha256="18nsl0rvr3fiy8q7himd04da9yk99ylsz6ss0028nwz5bxhacn3a"; depends=[fda Rcpp survival]; };
+  CSTE = derive2 { name="CSTE"; version="2.0.0"; sha256="0r38pvd83aw9zrq43malw50vlbnknh3b53x3ydj0wxrk95wsmy46"; depends=[dfoptim fda locpol Rcpp survival]; };
   CSTools = derive2 { name="CSTools"; version="4.0.1"; sha256="1vq5zmp75rzvimih84f9nmyq3n74625y3pjg0ripfycszyd27720"; depends=[abind ClimProjDiags data_table easyVerification ggplot2 maps multiApply ncdf4 plyr qmap rainfarmr RColorBrewer reshape2 s2dv s2dverification verification]; };
   CSUV = derive2 { name="CSUV"; version="0.1.1"; sha256="1gh8gxwnrg4j017c08xfhm57rwci24sqmxxx00k3d0mw6j0mbdvw"; depends=[caret doParallel DT futile_logger ggplot2 glmnet HDCI MASS ncvreg relaxo reshape2 shiny shinyjs]; };
   CSclone = derive2 { name="CSclone"; version="1.0"; sha256="0lqsqsgh2sf44fr1r7g179556v294yr1wy7x4320g7adxshrwyh5"; depends=[DNAcopy lpSolve mcclust moments]; };
@@ -762,10 +778,10 @@ in with self; {
   CVarE = derive2 { name="CVarE"; version="1.1"; sha256="132bsqvdhalifn47xka23ikas1axxkg4jw8yja6ba8dflb8r753i"; depends=[mda]; };
   CVcalibration = derive2 { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; };
   CVglasso = derive2 { name="CVglasso"; version="1.0"; sha256="1bh09cd0yabhqv5yfahhvayx3f09yqapzl1yr9nc9xqwyx1d0cfd"; depends=[doParallel dplyr foreach ggplot2 glasso]; };
-  CVrisk = derive2 { name="CVrisk"; version="1.0.0"; sha256="1cv9nkmligbl46mabhhlp35csgmqsri536qr6vxs493xmq4wjlyf"; depends=[]; };
+  CVrisk = derive2 { name="CVrisk"; version="1.1.0"; sha256="0xnpnjncdal2akdnkb52s7r82p2di0rc48h6nswbclkl5xf3snd6"; depends=[]; };
   CaDENCE = derive2 { name="CaDENCE"; version="1.2.5"; sha256="1z3p5y1l67r470x6wrhnyjvw1ndppcm08fpj99x122j7kn6byff2"; depends=[pso]; };
   CaPO4Sim = derive2 { name="CaPO4Sim"; version="0.2.0"; sha256="0s4mqlas41ll656hj1imzqydgwgw002d469z01fjdcs4d6daljw6"; depends=[DT htmltools magrittr plotly purrr rintrojs shiny shinycssloaders shinydashboard shinydashboardPlus shinyjqui shinyjs shinyWidgets visNetwork]; };
-  Cairo = derive2 { name="Cairo"; version="1.5-12.2"; sha256="14hgz5wmnhlbqkd1g662n1agmjnlj3pq69gfng1vb0ivr02l2lnx"; depends=[]; };
+  Cairo = derive2 { name="Cairo"; version="1.5-14"; sha256="0ysc40smkjwk8fmp5dk0q3nbp9xkxzz9pd4z5zkp2mrvrvx52xq6"; depends=[]; };
   CalSim = derive2 { name="CalSim"; version="0.5.2"; sha256="1ij3xaizq1lpq5vg25i8pz4khm7ab81kzfayp6a914n0jgxvprj7"; depends=[ExactMultinom spatstat spatstat_geom]; };
   Calculator_LR_FNs = derive2 { name="Calculator.LR.FNs"; version="1.3"; sha256="03qg9rnz623dwnp68xhhsh9788s49n6xp0migg1nnjaqhrahlgdd"; depends=[]; };
   CalibratR = derive2 { name="CalibratR"; version="0.1.2"; sha256="1hnmhijckxd35h8mhpzqpglk1ykdih2c5kg17myc7cci5xjk9nfr"; depends=[doParallel fitdistrplus foreach ggplot2 pROC reshape2]; };
@@ -781,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]; };
@@ -802,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=[]; };
@@ -827,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=[]; };
@@ -838,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]; };
@@ -850,11 +865,11 @@ in with self; {
   CluMP = derive2 { name="CluMP"; version="0.8.1"; sha256="1vpxl2rcknqx32b94b48iirkh7r7cdri9mcljrw29gsbvhrfc46k"; depends=[amap data_table dplyr ggplot2 MASS NbClust rlang tableone]; };
   ClueR = derive2 { name="ClueR"; version="1.4"; sha256="0awl3ag48idg0396hcgqrh5f16mbgximr5xbxjiimib5zysdc558"; depends=[e1071]; };
   ClusBoot = derive2 { name="ClusBoot"; version="1.0"; sha256="1wh9mv932zarl8w098lgv2jpanp6r8nzdkyayv8nxk7nddl0bn1k"; depends=[]; };
-  ClusPred = derive2 { name="ClusPred"; version="1.0.0"; sha256="14497si4wwsi17fc9b5vn2bkral84dvhgq40hqqsp4hdq88mp34s"; depends=[ald ALDqr quantreg Rcpp RcppArmadillo VGAM]; };
-  ClusTorus = derive2 { name="ClusTorus"; version="0.1.3"; sha256="1dklyiamwdhakrc7k9vgypr6rx567g4664zmn2mxsg53rhb7hqfb"; depends=[BAMBI ggplot2 igraph purrr rlang]; };
+  ClusPred = derive2 { name="ClusPred"; version="1.1.0"; sha256="12pm5vkfxpaincv9ajid0p07l0mjc2kfqqfg0ls2pcxmmkh8wwb4"; depends=[ald ALDqr quantreg Rcpp RcppArmadillo VGAM]; };
+  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]; };
@@ -863,11 +878,11 @@ 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]; };
-  Clustering = derive2 { name="Clustering"; version="1.7.3"; sha256="18p4ln6crbakqd1yv5zbs1q96d2k85259jhw76mii5di50dw3z21"; depends=[advclust amap apcluster cluster ClusterR data_table doParallel dplyr foreach future ggplot2 gmp pracma pvclust shiny sqldf xtable]; };
+  Clustering = derive2 { name="Clustering"; version="1.7.5"; sha256="1j3warx8kjn2nv4bl15nhbkr8xz45akds79c5x1qh6b4bvhn45jk"; depends=[advclust amap apcluster cluster ClusterR data_table doParallel dplyr foreach future ggplot2 gmp pracma pvclust shiny sqldf toOrdinal xtable]; };
   CoClust = derive2 { name="CoClust"; version="0.3-2"; sha256="04xv807785xv9kdspsspx1302ardv8gda06kd590lgawjixai7dh"; depends=[copula gtools]; };
   CoDiNA = derive2 { name="CoDiNA"; version="1.1.2"; sha256="1zjj86z8ica9j0x2nfyq9y6nyp54w07dwskcsg7z6kqibrkfvaq9"; depends=[data_table igraph magrittr plyr reshape2 visNetwork]; };
   CoFRA = derive2 { name="CoFRA"; version="0.1002"; sha256="0ldf84dxaanww3qkf64mz5gv3yv2rjp9m6dy64xckds66vw6x0m3"; depends=[gplots stringr]; };
@@ -877,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.4.4"; sha256="19vbc20ryzaicy8r15y4859cyllp8lr5azndkji8hz4zi5rvyr4m"; 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]; };
@@ -895,7 +910,7 @@ in with self; {
   CommEcol = derive2 { name="CommEcol"; version="1.7.1"; sha256="1s6x4mhcx64qdzmp83x3mzmwyj1biawmdj2y752xpm8gpxfjnbc0"; depends=[adespatial ape betapart gmp picante vegan]; };
   CommT = derive2 { name="CommT"; version="0.1.1"; sha256="1kimm8z3k7p5lxsjnkb203js2rqn09grywxs890fab1hhgssgv2r"; depends=[ape ggplot2 gridExtra phangorn reshape]; };
   CommonJavaJars = derive2 { name="CommonJavaJars"; version="1.0-6"; sha256="0l1zqygklv1s3xr6pjjrji3wmyqg7258qvgwf9c2qjim8p8y8lsr"; depends=[]; };
-  CommonMean_Copula = derive2 { name="CommonMean.Copula"; version="1.0.1"; sha256="0d0l4kisglpws5ywdihxhj1zsd0k1g1ns3nrlw07w22y7k98v86b"; depends=[mvtnorm pracma]; };
+  CommonMean_Copula = derive2 { name="CommonMean.Copula"; version="1.0.4"; sha256="0c4la7sn3aynmj9qcz5d9gn9k3y5b38bjff0mfa5qccdb8rdkdhp"; depends=[mvtnorm pracma]; };
   CommunityCorrelogram = derive2 { name="CommunityCorrelogram"; version="1.0"; sha256="1wkrm5lil595sc4ih3qsf4sgvfipzlav0n7339ixqw9zxm2pg4nj"; depends=[vegan]; };
   Comp2ROC = derive2 { name="Comp2ROC"; version="1.1.4"; sha256="06hpbid9z1pzg7k4gqp2zn8l7sm375z32fsn54i27qbl3inp7m2d"; depends=[boot ROCR]; };
   CompAREdesign = derive2 { name="CompAREdesign"; version="1.9"; sha256="0jwq56y6h1jfrh0qm4z52wpia157g1yx003aa08mdjdk0xbdc8n5"; depends=[copula ggplot2 numDeriv rootSolve]; };
@@ -911,8 +926,8 @@ in with self; {
   ComparisonCR = derive2 { name="ComparisonCR"; version="1.0.4"; sha256="10xw3ppkzpc3njc409ln7g6bg33csf2ilw3f11hn60ry5xbnn82y"; depends=[boot CIFsmry cmprsk]; };
   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.1"; sha256="185bwa45sknhxrg0m1cb7c2jblq6kxq3i9c0jzp3frxc5ybz0737"; depends=[colorspace ggplot2 patchwork scales]; };
-  Compositional = derive2 { name="Compositional"; version="5.2"; sha256="02mbspn456kkfsdiz481z7qjppf0giiglwp1yy3gsa40qrw23199"; depends=[codalm Directional doParallel emplik FlexDir foreach glmnet MASS mda mixture NlcOptim nnet pchc RANN Rfast Rfast2 sn]; };
+  ComplexUpset = derive2 { name="ComplexUpset"; version="1.3.3"; sha256="1sk4v5kc2wkgfaws0hjlp30mngm907r5gz1iglf68j46lfs9jbsv"; depends=[colorspace ggplot2 patchwork scales]; };
+  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]; };
@@ -923,10 +938,11 @@ 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]; };
-  ConfusionTableR = derive2 { name="ConfusionTableR"; version="1.0.3"; sha256="15azzzjlimn4f8xkqhzfp8xf0q7qa9qd0jaiq671ng95dzrg9sjw"; depends=[caret dplyr furrr magrittr purrr tidyr]; };
+  ConfusionTableR = derive2 { name="ConfusionTableR"; version="1.0.4"; sha256="1qyw4shzgaaqmcn6yb52xaxrfwrji980j87baz4ngzckd60n77fi"; depends=[caret dplyr furrr magrittr purrr tidyr]; };
   CongreveLamsdell2016 = derive2 { name="CongreveLamsdell2016"; version="1.0.2"; sha256="0fs0r3k1hvnp241fa0ymq00868skcigizqr68sp3lsmvzsdyxha9"; depends=[Ternary]; };
   Conigrave = derive2 { name="Conigrave"; version="0.4.4"; sha256="02nvk5ya9gr06ai8qnjw0xq6hfbrr91b6lx9gq08dbrnmpbmyvqz"; depends=[dplyr ggplot2 miceadds mitools ppcor stringdist stringr]; };
   ConjointChecks = derive2 { name="ConjointChecks"; version="0.0.9"; sha256="097mhiz8zjmmkiiapr3zfx7v35xirg57nqp1swd72dixaa23nhr1"; depends=[]; };
@@ -942,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=[]; };
@@ -961,6 +977,7 @@ in with self; {
   CorrectedFDR = derive2 { name="CorrectedFDR"; version="1.1"; sha256="1p0gp7m7v6nly0kr4pkjwxaa941z80nfc8ji5w0y73i79d024c2s"; depends=[]; };
   CosW = derive2 { name="CosW"; version="0.1"; sha256="12l4w8b5jnr8773hxk7khrdn705x6bdbw7s8z8w95bfbbi12dj6v"; depends=[fdrtool pracma]; };
   Counterfactual = derive2 { name="Counterfactual"; version="1.2"; sha256="1spryxvnkdz728rl4nb7zlqhynnh0b4m7lnhq4i1n13gfsz1m5j4"; depends=[doParallel doRNG foreach Hmisc quantreg survival]; };
+  Counternull = derive2 { name="Counternull"; version="0.1.0"; sha256="1vnjhqif8ydnp6fb225hml1d2sincscs4q1vacbzxah628ac9yhp"; depends=[effsize]; };
   Countr = derive2 { name="Countr"; version="3.5.5"; sha256="0w2bdcr84zjcgcn2vrx2nib7dxq8vm12di3ni57z4yx4syskg3ik"; depends=[boot car dplyr flexsurv Formula lattice lmtest MASS Matrix numDeriv optimx pscl RColorBrewer Rcpp RcppArmadillo Rdpack standardize VGAM xtable]; };
   CountsEPPM = derive2 { name="CountsEPPM"; version="3.0"; sha256="0iw7sfrb4yyaagwm1f4q9av5zvzia1mp2ns287ppsw3k248lz0kb"; depends=[expm Formula lmtest numDeriv]; };
   CovCombR = derive2 { name="CovCombR"; version="1.0"; sha256="07yd0zbvc9db2jw6xigfhxnbkxwb3gxlmywadz7fs3rva2if2ffx"; depends=[CholWishart Matrix nlme]; };
@@ -983,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]; };
@@ -1007,18 +1025,17 @@ 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.1"; sha256="0i0kfyg43nryyka2bjlgz4x75w965224qp36wz1hl7a2lswb6ajp"; depends=[]; };
-  DBItest = derive2 { name="DBItest"; version="1.7.1"; sha256="0ql6n0alywfg7pcynbyzjj1ybv0c3jq6v9qf4qgylmdj8nq83zmz"; depends=[blob callr DBI desc hms lubridate R6 rlang testthat vctrs withr]; };
+  DBI = derive2 { name="DBI"; version="1.1.2"; sha256="0n2gf5flmcrkad7p0pzsnsgwjl5006yi7lyz9lisqxhw8xykgv2n"; depends=[]; };
+  DBItest = derive2 { name="DBItest"; version="1.7.2"; sha256="0zx58nq6l21g0sbrmrnmckw0x20i2f6lv81cczh02yrv4r968cmh"; depends=[blob callr DBI desc hms lubridate palmerpenguins R6 rlang testthat vctrs withr]; };
   DBfit = derive2 { name="DBfit"; version="2.0"; sha256="1b5fy4xya5k31937ccjsq1gj9y39lh1vb48jfc0sr56isrx0c496"; depends=[Rfit]; };
   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=[]; };
@@ -1034,7 +1051,7 @@ in with self; {
   DClusterm = derive2 { name="DClusterm"; version="1.0-1"; sha256="04i9fyph2k3ffds0nv49371p8lw6dkzcf27pc98f99x0l6c8k5iq"; depends=[DCluster lme4 sp spacetime xts]; };
   DDD = derive2 { name="DDD"; version="5.0"; sha256="13kqgj45afd0c5jkwi36j94v7l2bz60i3583z1jcvdxq913wwv5b"; depends=[ape BH deSolve expm Matrix phytools Rcpp SparseM subplex]; };
   DDHFm = derive2 { name="DDHFm"; version="1.1.2"; sha256="0lgh6kcfas06p2yy7zy21r05k5521xbj5af3wwwssp5li1cia35g"; depends=[lokern wavethresh]; };
-  DDIwR = derive2 { name="DDIwR"; version="0.8"; sha256="1lwzbw10akvwpzmygx0j664krrcd0jxrja3achcdc7yijnkhv9cf"; depends=[admisc declared haven readr readxl writexl xml2]; };
+  DDIwR = derive2 { name="DDIwR"; version="0.9"; sha256="1axpilpy8xain7292ssfvr9h3s7djrdhwj8nv3pq272awjpnr78a"; depends=[admisc declared haven readr readxl writexl xml2]; };
   DDM = derive2 { name="DDM"; version="1.0-0"; sha256="19g06qk3lzasj294x9wfij729mlq6ryvjqkn3rgl5xp1w0gx9wi2"; depends=[]; };
   DDPNA = derive2 { name="DDPNA"; version="0.3.0"; sha256="1mgk2jf7h9qnmy85dfymskwihdk0dw74ydrgrf2sfj6xpslnavi2"; depends=[ggalt ggplot2 Hmisc igraph MEGENA plyr scales VennDiagram]; };
   DDRTree = derive2 { name="DDRTree"; version="0.1.5"; sha256="16s5fjw7kwlxhrkzdny62sx32fvmg3rxjc3wrh6krd31jh1fqlfk"; depends=[BH irlba Rcpp RcppEigen]; };
@@ -1049,18 +1066,18 @@ in with self; {
   DESnowball = derive2 { name="DESnowball"; version="1.0"; sha256="012kdnxmzap6afc3ffkcvk1mazlkp286av6g9fwz2wcbf5mh9n1m"; depends=[clue cluster combinat MASS]; };
   DET = derive2 { name="DET"; version="3.0.1"; sha256="0r2q1r4wc4nhhrr9bllxsp2w6ajja61mh34dyijjsfchx4025ljb"; depends=[doParallel pROC]; };
   DEoptim = derive2 { name="DEoptim"; version="2.2-6"; sha256="1qg2d4d076a99qdjfg0yyq5z1xc1zlwydwry00nj2rx0hdykjqwc"; depends=[]; };
-  DEoptimR = derive2 { name="DEoptimR"; version="1.0-9"; sha256="04k5gi0a5hbm6znzvjaipbmkacp694krkqs38dkbxx1gymsallb1"; depends=[]; };
+  DEoptimR = derive2 { name="DEoptimR"; version="1.0-10"; sha256="1m9ag073i7pbxsy74vkj0n4hjn6vmyc4n0k78nmslwwwmjh7nkvp"; depends=[]; };
   DFA = derive2 { name="DFA"; version="0.9.0"; sha256="0nk8k6xxqbbk1zhq3xsm59azvkj9499vp92pjl9xygasarim90rl"; depends=[]; };
-  DFA_CANCOR = derive2 { name="DFA.CANCOR"; version="0.2.2"; sha256="08p5ncs4kgz9njskpfqqw3dymgyxv5pb5cwbsm6rsbb2k4w3bhn8"; depends=[MASS MVN]; };
+  DFA_CANCOR = derive2 { name="DFA.CANCOR"; version="0.2.3"; sha256="0qxdvxsx13b6i9qd245hsrwbg5kg4lh45kkvhn62404sx20jx7jd"; depends=[BayesFactor MVN]; };
   DFIT = derive2 { name="DFIT"; version="1.1"; sha256="1220ax93b9xwmq1crgl1fnf63gk72jqbra5b5q25wn6ynv1kilkx"; depends=[ggplot2 mirt msm mvtnorm simex]; };
   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]; };
-  DGM = derive2 { name="DGM"; version="1.7.3"; sha256="15dv56bh3fwxfam1smhjgwg0vzqq4c92gxwrhfz11frzh14gx7n8"; 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]; };
+  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.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.0"; sha256="1a8k68cd7x8gdra1bjk750jjy8p4wnbgmbw7wg14yi95kxyry3az"; depends=[crayon dplyr haven matrixStats reshape rlang survey]; };
+  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]; };
   DIDmultiplegt = derive2 { name="DIDmultiplegt"; version="0.1.0"; sha256="1jzc2ixb92mxlm39xf3rmab9c8959xylnxacr4xqjnhi9hlkq30n"; depends=[assertthat dplyr fixest plotrix sampling stringr]; };
   DIFboost = derive2 { name="DIFboost"; version="0.3"; sha256="07x31ccy2l0drv1356g1v4jw71i7zqb3d0v856gsd3kpqhclpvx0"; depends=[mboost penalized stabs]; };
@@ -1073,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.8"; sha256="1lyg9d54pi3ijcl7jmh75vaf80la808fj39l7k3hcniqb2l22hvq"; 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]; };
@@ -1102,11 +1119,12 @@ in with self; {
   DOvalidation = derive2 { name="DOvalidation"; version="1.1.0"; sha256="1mzws3w7djpxnfqxjcqwgia7p17kb0qlnzj6qcfg2m1vamb1cn2z"; depends=[]; };
   DPBBM = derive2 { name="DPBBM"; version="0.2.5"; sha256="1qypxrcm3sb727lqb09ssjf3hblixqayw3qsyql01imrxwm609i2"; depends=[CEoptim gplots tmvtnorm VGAM]; };
   DPP = derive2 { name="DPP"; version="0.1.2"; sha256="1qalcm4gwh03qpy07d0p323ccq8xmk04v6z30g7wg6ic613bqg7m"; depends=[coda Rcpp]; };
-  DPQ = derive2 { name="DPQ"; version="0.5-0"; sha256="0hps9pfhxdgmq0gvdvycj6xj0syadbba6cfahr9hqx43wnfngxk1"; depends=[sfsmisc]; };
+  DPQ = derive2 { name="DPQ"; version="0.5-1"; sha256="10szzygpmjqmqdzpcz7zrh08bkphpzcrll99q2crn41wkqaybq96"; depends=[sfsmisc]; };
   DPQmpfr = derive2 { name="DPQmpfr"; version="0.3-1"; sha256="0f3l6dhiqnlix5vdz65pnxic43hcd4xiz64sh3cp8xs8cbmlnqcw"; depends=[DPQ gmp Rmpfr]; };
-  DPWeibull = derive2 { name="DPWeibull"; version="1.7"; sha256="1z261fhx5dr3yxfy10jrnj5xpc5i8bcs169wqp9p32frwpz20ad3"; depends=[binaryLogic prodlim Rcpp RcppArmadillo survival truncdist]; };
+  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]; };
@@ -1115,7 +1133,8 @@ 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]; };
   DSBayes = derive2 { name="DSBayes"; version="1.1"; sha256="0iv4l11dww45qg8x6xcf82f9rcz8bcb9w1mj7c7ha9glv5sfb25v"; depends=[BB]; };
@@ -1124,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.4"; sha256="0wy1n1b2dnm6i1p18qrw43d42kgpp9dvg3zaim4277c6hsa7vw9p"; 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]; };
@@ -1136,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=[]; };
@@ -1164,7 +1183,7 @@ in with self; {
   Data2LD = derive2 { name="Data2LD"; version="3.2.1"; sha256="1y6nyysm96q5mlrcl0vkjhq5lr624n2266xpmyl4ck0h1dhjb6bz"; depends=[deSolve fda knitr rmarkdown]; };
   DataClean = derive2 { name="DataClean"; version="1.0"; sha256="0wkafjyp6c2mx7g1bpz2pbxyl5nm2wba2hly8miizv0fdc762za5"; depends=[xlsx XML]; };
   DataCombine = derive2 { name="DataCombine"; version="0.2.21"; sha256="0iwb4726bk0cjhay694dp43b1553yyk9lpxbncs85kz229b26arm"; depends=[data_table dplyr]; };
-  DataEditR = derive2 { name="DataEditR"; version="0.1.3"; sha256="0s1c6hzih94mcxkjlc3qf36d5pzbaj7rhi0fsm31ps3224dcn4p4"; depends=[htmltools miniUI rhandsontable rstudioapi shiny shinyBS shinyjs shinythemes]; };
+  DataEditR = derive2 { name="DataEditR"; version="0.1.4"; sha256="0skra1453ndzjbsfqb17yzb1h25hl3g3jpqc67kh0m3ijc7ch0ps"; depends=[htmltools miniUI rhandsontable rstudioapi shiny shinyBS shinyjs shinythemes]; };
   DataExplorer = derive2 { name="DataExplorer"; version="0.8.2"; sha256="0451fnlaqvyzpqhn25g6lj2svjfsfaxii9vmwhqw7p29fl71zaln"; depends=[data_table ggplot2 gridExtra networkD3 reshape2 rmarkdown scales]; };
   DataFakeR = derive2 { name="DataFakeR"; version="0.1.2"; sha256="0158ffj6yfvdirxar39rl6n730sza0lzq48v65p43whz6jbf9ybb"; depends=[dplyr glue magrittr purrr R6 tibble tidygraph yaml]; };
   DataGraph = derive2 { name="DataGraph"; version="1.2.5"; sha256="0f5wh2lyddr48wdcqgk1y1jbs9q9rim86v4g1c7m4xgnvyp81mih"; depends=[Rcpp]; };
@@ -1178,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]; };
@@ -1190,7 +1209,8 @@ in with self; {
   DeducerSpatial = derive2 { name="DeducerSpatial"; version="0.7"; sha256="0133qk3yjcifyha7c4pqr5s0hmbci72bzgil2r0sxjmrljs3q727"; depends=[Deducer Hmisc JavaGD maptools OpenStreetMap rgdal scales sp UScensus2010]; };
   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]; };
-  Delaporte = derive2 { name="Delaporte"; version="8.0.1"; sha256="0ijhmwclpg5czs2sl2vykcw8qj2pxy26xf6knh62rqq6p6sm43f4"; depends=[]; };
+  DeductiveR = derive2 { name="DeductiveR"; version="1.0.0"; sha256="0bx1ad2gw0pf03z0im31mzaa26jxwws6fkbcj319kd8b4s4wp92y"; depends=[dplyr ggplot2 moments reshape2]; };
+  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]; };
@@ -1201,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.0.7"; sha256="1yknr146v7d6ahm7glarqzpk4z4nyg9mwmgnrsfszwwryzpck5ii"; depends=[cli DescTools dplyr exact2x2 flextable forcats kableExtra magrittr nlme officer rlang 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=[]; };
@@ -1223,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=[]; };
@@ -1249,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=[]; };
@@ -1336,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]; };
@@ -1361,7 +1382,7 @@ in with self; {
   EMAtools = derive2 { name="EMAtools"; version="0.1.4"; sha256="0gx55ddw7dz1lm599i0gj15dlc3m58a8rf223hiykszb5c8bi372"; depends=[anytime DataCombine ggplot2 lmerTest plyr sjstats]; };
   EMC = derive2 { name="EMC"; version="1.3"; sha256="0sdpxf229z3j67mr9s7z4adzvvphgvynna09xkkpdj21mpml23p6"; depends=[MASS mvtnorm]; };
   EMCluster = derive2 { name="EMCluster"; version="0.2-13"; sha256="0d0zb6bppgbd5kyfzzckxk6w8v4gjvzk6k16xbhvq8gzcs7w4lhf"; depends=[MASS Matrix]; };
-  EMD = derive2 { name="EMD"; version="1.5.8"; sha256="0bvwx5ry41cpj646v93vm50c6qb3m5d7mda9q7znmcr4sdf521j5"; depends=[fields locfit]; };
+  EMD = derive2 { name="EMD"; version="1.5.9"; sha256="0lga27nl7c3h02xrbb2hcwlb9dyli340v0hb3vwwzqrhmr0fl806"; depends=[fields locfit]; };
   EMDANNhybrid = derive2 { name="EMDANNhybrid"; version="0.1.0"; sha256="0mm5zfkrja9pz58psp7b6r1lpixaa9y685xxv9srv9l9cl8d892j"; depends=[EMD forecast nnfor]; };
   EMDSVRhybrid = derive2 { name="EMDSVRhybrid"; version="0.1.0"; sha256="0wis8dh4xd5xldrrfzfr625pix2fvp139q6kj9ff2m6p5wafiabw"; depends=[e1071 EMD]; };
   EML = derive2 { name="EML"; version="2.0.5"; sha256="0g4ilk2d68i1iz2b0ip6kngygvsw457x17f2vhfy3b26xf6ch2q1"; depends=[digest dplyr emld jqr jsonlite rmarkdown uuid xml2]; };
@@ -1373,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.1.0"; sha256="0lb5myzv94j0784akni3v3fmd7f42wiycjg7fm1p3rdgsgd1ql7s"; depends=[]; };
+  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.1"; sha256="0l0223cgdbdrwv6nsywc5r7xx67l74gczak6qz9mr93hmrh7fyrg"; depends=[dismo doParallel doSNOW dplyr foreach ggplot2 glmnet magrittr maxnet rangeModelMetadata raster 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.4"; sha256="1a932c8lm9zhxxkmy2w0015n8ka868man8f5idvkb6whlx8lkiqs"; 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]; };
@@ -1402,10 +1423,10 @@ in with self; {
   EWGoF = derive2 { name="EWGoF"; version="2.2.2"; sha256="19gd9grjjdv6hilqj41g5qhz7m0ga40q88clwggbp5f0f1yd5sym"; depends=[Rcpp]; };
   EWS = derive2 { name="EWS"; version="0.2.0"; sha256="0rkxnc5pwrjgm2j201rg0z4nqb75rpkqh3hff4lvw1zmnr9flm6r"; depends=[numDeriv]; };
   EXRQ = derive2 { name="EXRQ"; version="1.0"; sha256="1iqsr52sl2j5q03122a7rsp6n6a2bkysk2r908c89l36gk4sj2i5"; depends=[mnormt quantreg]; };
-  EZtune = derive2 { name="EZtune"; version="3.0.0"; sha256="1s4hdd1j352k8brbfbdyh8mw183df2n37a61rlxhswyhfrp2w877"; depends=[ada e1071 GA gbm glmnet optimx ROCR rpart]; };
-  Eagle = derive2 { name="Eagle"; version="2.4.5"; sha256="0pa1iwfm51qkk7bcx7bmsb8aak4sbn22hh4w5267gjfj3c1nin17"; depends=[data_table ggplot2 ggthemes mmap plotly R_utils Rcpp RcppEigen shiny shinyBS shinyFiles shinyjs shinythemes]; };
+  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]; };
@@ -1428,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.0.0"; sha256="173yfqipha8g6m4djkgxki8wlys72xq9cpj7zir9r5lwfkygdzfc"; 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]; };
@@ -1453,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]; };
@@ -1463,9 +1485,11 @@ in with self; {
   EpiEstim = derive2 { name="EpiEstim"; version="2.2-4"; sha256="12zv1mlb0gqsvff1s0fvqgxqk42c7y9gz3h94mjmf1wbmhsjcqnf"; depends=[coarseDataTools coda fitdistrplus ggplot2 gridExtra incidence reshape2 scales]; };
   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]; };
-  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]; };
+  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.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]; };
   EpiStats = derive2 { name="EpiStats"; version="1.5-1"; sha256="0swxww4x0qqlby4m8xw58jr5x2ml5z896m8w0f1v0mr7kf1v6fpi"; depends=[dplyr epiR]; };
   EpistemicGameTheory = derive2 { name="EpistemicGameTheory"; version="0.1.2"; sha256="0b2gnrvhlsw85qv63ib32pj55l7w63wgvbrj5rb209g6h46fby8m"; depends=[lpSolve]; };
   Eplot = derive2 { name="Eplot"; version="1.0"; sha256="1glmkjjj432z9g4gi56pgvfrm5w86iplirnd5hm4s99qci2hgc64"; depends=[]; };
@@ -1485,10 +1509,10 @@ 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.36"; sha256="0pd7qbpj4agaqc57lianqinnardyh929nr8ammmpal191v2i7hmw"; depends=[curl data_table dplyr ggplot2 httr jsonlite magrittr miniUI openxlsx purrr RColorBrewer readr rlang rstudioapi scales shiny stringr testthat tidyquant tidyr]; };
+  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]; };
   EventWinRatios = derive2 { name="EventWinRatios"; version="0.1.0"; sha256="10awz9i110ihq20jn06qmmjyj4xvdvj9lyvf30r9brzrnyjjff3h"; depends=[]; };
   EvidenceSynthesis = derive2 { name="EvidenceSynthesis"; version="0.2.3"; sha256="1qx8l5fwnwigpz8b25i84h9wnqb6lclv03r251ww7j3gd7mybd76"; depends=[BeastJar coda Cyclops EmpiricalCalibration ggplot2 gridExtra HDInterval meta rJava rlang survival]; };
   EviewsR = derive2 { name="EviewsR"; version="0.1.0"; sha256="1chg3g1jsdflgby2bksqw2nf27xin4nayqigxkji4zwbspp6m8ai"; depends=[knitr]; };
@@ -1511,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.2.0"; sha256="1b2g3ijb0kilksaxqskfmixbw921gn3kvg7pji7d92dsqz85s3yy"; depends=[crayon EBImage]; };
+  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]; };
@@ -1528,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.0"; sha256="12n2mwl36gd73c6f2gy075bfp14r7vb9r1zls9jmw2jp2h6szkx8"; 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]; };
@@ -1549,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]; };
@@ -1566,10 +1591,10 @@ in with self; {
   FILEST = derive2 { name="FILEST"; version="1.1.2"; sha256="0x95in9yad93j8kbxjykz04x756i1c1cq854c220cc0l3rm3npnl"; depends=[KRIS rARPACK]; };
   FIT = derive2 { name="FIT"; version="0.0.6"; sha256="1nkjms9cvigc9sjha1krzhd3nmwsfh8pi0f1plf5k8zpb773zzb2"; depends=[gglasso MASS Rcpp RcppEigen XML]; };
   FITSio = derive2 { name="FITSio"; version="2.1-6"; sha256="1qch6z9r8h95jijjdwsi81majgacl42ryzlkn0m1wifkly9mjjrb"; depends=[]; };
-  FKF = derive2 { name="FKF"; version="0.2.2"; sha256="1vcadh3c3j7d7dlp810n6bifc23z8l210agyi0v6yha1iis10p9c"; 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]; };
-  FLAME = derive2 { name="FLAME"; version="2.1.0"; sha256="0sq8v7najcqwqc9fxp05mmqa09niqjc7ypf4b3jdpmng1srpf643"; depends=[glmnet gmp]; };
+  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]; };
   FLSSS = derive2 { name="FLSSS"; version="8.6.6"; sha256="0kw28zmvgdy4zmj2vnrs84n0rg6jvqj3x8f3ihjjkzkwqrqyiia9"; depends=[Rcpp RcppParallel]; };
@@ -1577,7 +1602,7 @@ in with self; {
   FMC = derive2 { name="FMC"; version="1.0.0"; sha256="1pfqxx7slgcmw4al7i8hy59f4han6b0b7b5az7yh1mscdnghl9bj"; depends=[minimalRSD]; };
   FMCCSD = derive2 { name="FMCCSD"; version="1.0"; sha256="0c50km5ba6biq9p3mycxhy00ij2gr6y5zf3q8ycq0g1mbk8ybfb7"; depends=[numDeriv orthopolynom Rcpp RcppArmadillo splines2]; };
   FME = derive2 { name="FME"; version="1.3.6.2"; sha256="067ngy94afk1zwavag0zl4cz4q8mn14kxkpzsyiz09qy2zw018k5"; depends=[coda deSolve MASS minpack_lm minqa rootSolve]; };
-  FMM = derive2 { name="FMM"; version="0.3.0"; sha256="0kvan4yy7nx8bxabr9cjhxqvs7f522d0agkzypzdv0g6w217zsnd"; depends=[doParallel foreach iterators rlang]; };
+  FMM = derive2 { name="FMM"; version="0.3.1"; sha256="00rjk5lvkcj2ifxgplampqp4427cp68k13wlh7hwjgl2mb2rly23"; depends=[doParallel foreach iterators rlang]; };
   FMP = derive2 { name="FMP"; version="1.4"; sha256="0w11a78nz4n7zih9h00xkv7prsy9hlxphbpa7hpnbvq9r98g08qm"; depends=[]; };
   FMStable = derive2 { name="FMStable"; version="0.1-2"; sha256="00viigpqfbqc4hyl9cwicbwqf2ksjak28qrqaa16jhbqz93j4fck"; depends=[]; };
   FMradio = derive2 { name="FMradio"; version="1.1.1"; sha256="02d5imhagkr2cwgs6r77mbd2jg8k5ga17xp3rwaryykg2k4glacs"; depends=[Biobase expm ggplot2 MASS reshape]; };
@@ -1587,7 +1612,8 @@ 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=[]; };
   FRAPO = derive2 { name="FRAPO"; version="0.4-1"; sha256="0mjcrplxr0cyybp5hzzwbq5j03w0f3iiiv1yk7mdqr5gb368dchq"; depends=[cccp Rglpk timeSeries]; };
@@ -1595,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]; };
@@ -1610,13 +1636,14 @@ in with self; {
   FSinR = derive2 { name="FSinR"; version="2.0.5"; sha256="11ss38qpasbyym9hcfqmv254jvr8lzsw6r85dlm7xlnhfnxil59l"; depends=[caret class digest dplyr e1071 GA mlbench neuralnet prodlim purrr Rdpack rlang rpart tidyr]; };
   FUNTA = derive2 { name="FUNTA"; version="0.1.0"; sha256="02yxz95s2hs26mfmgwhv5d54yyjz0aczjpnay8b4gpzbpd6aci61"; depends=[]; };
   FWDselect = derive2 { name="FWDselect"; version="2.1.0"; sha256="0w0hkmhcz7h1lixk7p3yffbbalgxwh2lv463vqz361k80sri6wz7"; depends=[cvTools mgcv]; };
+  FWRGB = derive2 { name="FWRGB"; version="0.1.0"; sha256="0wi1vkb8mmw9f8hzgp8cm6hy9nbglz0x8mllngdamhlvm35gr57d"; depends=[e1071 imager neuralnet]; };
   FacPad = derive2 { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[MASS Rlab]; };
   FactMixtAnalysis = derive2 { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; };
   FactoClass = derive2 { name="FactoClass"; version="1.2.7"; sha256="0hvlr9cw6wfckl8rzl5qqyp0h8rv8gcnyj6x930jq7h44kj0ji7d"; depends=[ade4 ggplot2 ggrepel KernSmooth scatterplot3d xtable]; };
   FactoInvestigate = derive2 { name="FactoInvestigate"; version="1.7"; sha256="0lndh80pmr5zhhh7j9lhxl4j007rak5gh3dwxd1883cy0d6whjs9"; depends=[FactoMineR ggplot2 rmarkdown rrcov]; };
   FactoMineR = derive2 { name="FactoMineR"; version="2.4"; sha256="0lg8n9fxxk46nchnj4pbpqqf4swxfsq7r9jzr36dmd36kb7avqxr"; depends=[car cluster DT ellipse flashClust ggplot2 ggrepel lattice leaps MASS scatterplot3d]; };
   FactorAssumptions = derive2 { name="FactorAssumptions"; version="1.1.2"; sha256="0k5jjqfajrq5wc0vp07s6kbfyjks6124hpy09nxw2blrai66vhcm"; depends=[MASS psych]; };
-  FactorCopula = derive2 { name="FactorCopula"; version="0.5"; sha256="0mqw6qwm8n2cfqz8srsynqcrki7qd98p5wmkp14i1j8c6n0i4vxd"; depends=[abind polycor statmod]; };
+  FactorCopula = derive2 { name="FactorCopula"; version="0.8"; sha256="1zrla429hmqlnjxkyscwcs58fav65wwyk1h2m4kwzsqf3g6hqnyr"; depends=[abind matlab polycor statmod VineCopula]; };
   FactorsR = derive2 { name="FactorsR"; version="1.4"; sha256="1nw63j9bi4x09pgdvdml0w0qxfy1dda5hkxbhd3d6f7rky1z0nyf"; depends=[]; };
   Factoshiny = derive2 { name="Factoshiny"; version="2.4"; sha256="0szdpdghaqrfjdx3c9klgww8i09dh69500sls2lyjz6c8gi80vcx"; depends=[colourpicker DT FactoInvestigate FactoMineR ggplot2 ggrepel missMDA shiny shinydashboard shinyjqui]; };
   Fahrmeir = derive2 { name="Fahrmeir"; version="2016.5.31"; sha256="16fbc1zb9x9p04bl7y5nd375pha6bd3hfqqchlk1bqxrj4879y5g"; depends=[]; };
@@ -1631,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=[]; };
@@ -1677,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]; };
@@ -1701,6 +1730,7 @@ in with self; {
   ForwardSearch = derive2 { name="ForwardSearch"; version="1.0"; sha256="0yd47832piqxzjxgl7bc8pn0c8f7vbgsm9z6894rzyi615kjl70b"; depends=[robustbase]; };
   FossilSim = derive2 { name="FossilSim"; version="2.2.0"; sha256="0q3p2linl30h136gyygl2pg0gs47s6lmb39llbaq7cpq52saxaks"; depends=[ape TreeSim]; };
   FourScores = derive2 { name="FourScores"; version="1.5.1"; sha256="1la9d1hfcmi0zg58yl0a7nj36giagh0fwrc7wxyqdq0c7zf1hfzq"; depends=[]; };
+  FourWayHMM = derive2 { name="FourWayHMM"; version="1.0.0"; sha256="0zi42d214dq70ypgj8g57fwjbqfih4z0956njpj2739aqsnjq5v4"; depends=[data_table doSNOW foreach LaplacesDemon mclust snow tensor tidyr withr]; };
   FourgameteP = derive2 { name="FourgameteP"; version="0.1.0"; sha256="15yn47737768fkjjv8ykc9lw7x58pq44k90d9d4c9hp20zw5f3by"; depends=[]; };
   FrF2 = derive2 { name="FrF2"; version="2.2-2"; sha256="048awbsyzpjmr0kmz3k5yi5vksa9iiffabp6q8xsww097vcngxzb"; depends=[DoE_base igraph scatterplot3d sfsmisc]; };
   FrF2_catlg128 = derive2 { name="FrF2.catlg128"; version="1.2-1"; sha256="0i4m5zb9dazpvmnp8wh3k51bm0vykh4gncnhdg71mfk4hzrfpdac"; depends=[FrF2]; };
@@ -1714,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]; };
@@ -1727,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.0"; sha256="05fjixl05152linfk1y75yrzb1brr9jggja9n7bx3md1ziwqlczy"; 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=[]; };
@@ -1748,12 +1778,13 @@ 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]; };
   GB2group = derive2 { name="GB2group"; version="0.3.0"; sha256="1dbyc7izyggfrsq2gj7rwff5qjyy6bx6ip09xvbj73xqczv8fkcd"; depends=[GB2 ineq minpack_lm numDeriv]; };
   GBJ = derive2 { name="GBJ"; version="0.5.3"; sha256="12lsddkcxz37hn2fvjq158wb1bc6b3hx6wj8q8nj21zpmyl3n2qh"; depends=[BH mvtnorm Rcpp SKAT]; };
+  GBcurves = derive2 { name="GBcurves"; version="0.1.6"; sha256="1agd7nkgahhwcc5p1zybnd6xws0kr0ggk70aznxfn2nijhw7sqwr"; depends=[curl functional httr magrittr readxl rvest xml2 xts]; };
   GCAI_bias = derive2 { name="GCAI.bias"; version="1.0"; sha256="10092mwpmfbcga0n39a0i6g8xxch8xiwg15cckipw6yxjyx0sivc"; depends=[]; };
   GCD = derive2 { name="GCD"; version="4.0.7"; sha256="1259z76hajapzzq75fas2sq19r0wapn1ybghdaqdc6dksifdz6fv"; depends=[raster]; };
   GCPBayes = derive2 { name="GCPBayes"; version="3.1.0"; sha256="1239pr1i9q4sfy7az6jc8sh10xil5m2a70v9sm29ll53vsza73jj"; depends=[arm gdata invgamma MASS mvtnorm postpack Rcpp truncnorm usethis wiqid]; };
@@ -1765,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.2"; sha256="1lmldzsmnh13mp4vs3pzjfyzzam4ac4w9d749j61w5w4maawy6hc"; 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]; };
@@ -1779,21 +1811,21 @@ 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.1"; sha256="1xnxaylikjd378flw3rqw36z27b2limkmyad97zhf1cbva317d1b"; depends=[gge GGEBiplotGUI 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]; };
-  GGMncv = derive2 { name="GGMncv"; version="2.0.0"; sha256="1h1h2qx784f41ihmylj8zxhcxcd67r10qpz5938iynnr04mjm6l0"; depends=[ggplot2 glassoFast MASS mathjaxr numDeriv Rcpp RcppArmadillo Rdpack reshape]; };
+  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]; };
   GGMselect = derive2 { name="GGMselect"; version="0.1-12.4"; sha256="0p9djnkclnk64bcrd66agi2gw2j3bqvqhamfm0h59b810kh50kbn"; depends=[gtools lars mvtnorm]; };
@@ -1802,6 +1834,7 @@ in with self; {
   GGally = derive2 { name="GGally"; version="2.1.2"; sha256="1r98zgh2grn8330cf26r1c20gl131zm778szvn5wj6q6pwv2yd9h"; depends=[dplyr forcats ggplot2 gtable lifecycle plyr progress RColorBrewer reshape rlang scales tidyr]; };
   GHS = derive2 { name="GHS"; version="0.1"; sha256="1khjfy62a67r59s2rax9mmnqy5xnnwhbydzhqwwmyspl48mxycdj"; depends=[MASS]; };
   GHap = derive2 { name="GHap"; version="2.0.0"; sha256="0br9civfdlksn5xmyrvz2y0knikcd2i175kddxjdqmiyyayckc8w"; depends=[class data_table e1071 lme4 Matrix]; };
+  GIC = derive2 { name="GIC"; version="1.0.0"; sha256="0wjrv5rpzcyng0vvpr59l148lxzqnqq4c045fw2x9ynffyb71h99"; depends=[cluster ggplot2 randomForest]; };
   GIFTr = derive2 { name="GIFTr"; version="0.1.0"; sha256="101vr2qasky8hnxp5i3lhlnymwzciypqwvhpl6mrr0r0czgpcz2f"; depends=[glue stringr]; };
   GIGrvg = derive2 { name="GIGrvg"; version="0.5"; sha256="0mx4n4kf34343yiww80fw5yy0x624xsj71n8fr4dm0a2338pxq8v"; depends=[]; };
   GISTools = derive2 { name="GISTools"; version="0.7-4"; sha256="06alb5d2k4qj344i9cpgm3lz9m68rkmjqfx5k2hzn7z458xjrlxs"; depends=[maptools MASS RColorBrewer rgeos sp]; };
@@ -1811,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]; };
@@ -1835,15 +1868,17 @@ in with self; {
   GNE = derive2 { name="GNE"; version="0.99-3"; sha256="11pk9w4xj27dyfn05bna99xqdb89wp0ljl798d5dyk5fcnhh7217"; depends=[alabama BB nleqslv SQUAREM]; };
   GNRS = derive2 { name="GNRS"; version="0.3.4"; sha256="0aq6rq5b3jq9yj8hhyxjin38f2008qsix4zm20nyhqx0k0hizql1"; depends=[httr jsonlite RCurl]; };
   GNSSseg = derive2 { name="GNSSseg"; version="6.0"; sha256="1zkj98xh63wfyyygg2ahq3m54xlvi3x9sy0rhcn2dlfvbxaxfl4k"; depends=[capushe robustbase]; };
+  GOCompare = derive2 { name="GOCompare"; version="1.0.0"; sha256="0ijqscnhkbwb8x3976pw9s9g85sb0a99rbvyxxi2sd34dl21f3bb"; depends=[ape ggplot2 ggrepel igraph stringr vegan]; };
   GOFShiny = derive2 { name="GOFShiny"; version="0.1.0"; sha256="04m08d9w8qqbql86c18qpnwym7agry8wspfwrnbbyp52h2pn2gxb"; depends=[rhandsontable rmarkdown shiny]; };
   GOGANPA = derive2 { name="GOGANPA"; version="1.0"; sha256="1xbir21zvr5hv2y6nndzpsrpmnr7glrc7y6xgcyb856wx46ajan9"; depends=[GANPA WGCNA]; };
   GORCure = derive2 { name="GORCure"; version="2.0"; sha256="1hazin0q74hf16azxa5h08kfj7g1079q77n2fn4fahpfxb8hmvwm"; depends=[ICsurv MASS pracma survival]; };
   GOplot = derive2 { name="GOplot"; version="1.0.2"; sha256="1y8dv0kbzpr9za91njw0x233vx5d13vqml9hmpddcyi9s6va5nix"; depends=[ggdendro ggplot2 gridExtra RColorBrewer]; };
-  GOxploreR = derive2 { name="GOxploreR"; version="1.2.3"; sha256="1ff4h5qgm65jy5df1cnfpgakbfs6vmmb4zgqs6qm8gs3m6h7i0iw"; depends=[annotate biomaRt dplyr ggplot2 ggraph GO_db gontr igraph network]; };
+  GOxploreR = derive2 { name="GOxploreR"; version="1.2.4"; sha256="0s22ff2rhxny5r16aryg0qbznx9k1gzgvag7zmpcp783yj7p0n8w"; depends=[annotate biomaRt dplyr ggplot2 ggraph GO_db gontr igraph network]; };
   GPArotation = derive2 { name="GPArotation"; version="2014.11-1"; sha256="15jh5qqqwx47ara6glilzha87rnih0hs5fsz0jjqwv6wr1gw26rm"; depends=[]; };
-  GPBayes = derive2 { name="GPBayes"; version="0.1.0-2.1"; sha256="0lpzqaw2d5yahz54riphx4k5929mcvv0snjmgxl8fzvg6i79gvfp"; depends=[Rcpp RcppEigen RcppProgress]; };
+  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]; };
@@ -1863,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]; };
@@ -1886,13 +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.1.1"; sha256="05njlykhxs62k5cjrfwgbqyckbvf2jxjshg3avf6vhwwf58qyjq9"; depends=[Rcpp]; };
+  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=[]; };
@@ -1905,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=[]; };
@@ -1935,20 +1971,20 @@ in with self; {
   GeneralisedCovarianceMeasure = derive2 { name="GeneralisedCovarianceMeasure"; version="0.1.0"; sha256="02s1wbsdp5ma4pnmcsdl5dwm156zx12d3n1ypzkc33lxg21ashzj"; depends=[CVST kernlab mgcv xgboost]; };
   GeneralizedHyperbolic = derive2 { name="GeneralizedHyperbolic"; version="0.8-4"; sha256="01gqfvmzfslhxdnigzbl3rd55hk6r0kgd8fm9xjl0kb9vmb735lm"; depends=[DistributionUtils MASS]; };
   GeneralizedUmatrix = derive2 { name="GeneralizedUmatrix"; version="1.2.2"; sha256="055q0rspjw5yin0kia6gcax89cfdmgvgvj1zjh4iswfs48n9xdcj"; depends=[ggplot2 Rcpp RcppArmadillo]; };
-  GenericML = derive2 { name="GenericML"; version="0.1.0"; sha256="1wz81x9mxninmxiz5d1k9lmh6jcz4rqvwsh1kjh1wn9zm2yxkbs9"; depends=[ggplot2 lmtest mlr3 mlr3learners sandwich splitstackshape]; };
+  GenericML = derive2 { name="GenericML"; version="0.1.1"; sha256="1jzwvgihl12n4jm37m5b2vz7dvpd7s0f85piaphwdll7bxkpw5pq"; depends=[ggplot2 lmtest mlr3 mlr3learners sandwich splitstackshape]; };
   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]; };
   GeoBoxplot = derive2 { name="GeoBoxplot"; version="1.0"; sha256="164dh49ac3fx38fdglv32lmz92ca8jdd98cbhz6mxsk8r0jcladw"; depends=[]; };
   GeoDE = derive2 { name="GeoDE"; version="1.0"; sha256="0wawkzj0344pprm8g884d7by8v74iw96b109rgm7anal48fl30im"; depends=[MASS Matrix]; };
-  GeoFIS = derive2 { name="GeoFIS"; version="1.0.1"; sha256="09kn2sydz9fn97kbw66y7rqda78bpqyfd0pjmapxljm56hwivvlf"; depends=[BH data_tree FisPro foreach nnls R6 Rcpp Rdpack rgeos sp]; };
+  GeoFIS = derive2 { name="GeoFIS"; version="1.0.2"; sha256="0y56knh2kkns5faydf5wm22v07xv42qbvgarxpc8jygdf7z0qjd1"; depends=[BH data_tree FisPro foreach nnls R6 Rcpp Rdpack rgeos sp]; };
   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]; };
@@ -1981,9 +2017,9 @@ in with self; {
   GlobalOptions = derive2 { name="GlobalOptions"; version="0.1.2"; sha256="0gkm77w6db9ajyncy1xdcivplap06a51zi99m009kylccschd2a7"; depends=[]; };
   GmAMisc = derive2 { name="GmAMisc"; version="1.2.0"; sha256="1rdypld7viski65kqh5m6jhmxgxx8mc3dn8kvy710h5wsii3nn04"; depends=[caTools classInt cluster coin corrplot DescTools dismo ggplot2 ggrepel gridExtra Hmisc InPosition kimisc lsr maptools plyr pROC raster RcmdrMisc rgdal rgeos sp spatstat spatstat_core spatstat_geom spatstat_linnet]; };
   Gmedian = derive2 { name="Gmedian"; version="1.2.6"; sha256="1kb60f9r9lq5blv07jjln1j5fq1whjcc54zn7bglpp4hl4f74j5d"; depends=[Rcpp RcppArmadillo robustbase RSpectra]; };
-  Gmisc = derive2 { name="Gmisc"; version="2.1.0"; sha256="1cvmv2kk5z1hlsh1g7b22aqfvx2xg8z3fy9k1bjncrnzq7pshyhc"; depends=[abind checkmate forestplot glue Hmisc htmlTable knitr lattice lubridate magrittr Rcpp rmarkdown stringr XML yaml]; };
+  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]; };
@@ -2000,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]; };
@@ -2024,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]; };
@@ -2031,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.3"; sha256="15p8n1schk5i708k3h7ly5a8rxhm6jivjdlqkica5mzghl2bqa37"; 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]; };
@@ -2051,16 +2088,16 @@ 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=[]; };
   HKprocess = derive2 { name="HKprocess"; version="0.0-2"; sha256="1j2yhb7k8zf4nlzdf0p6x9ca7ak4lwwak8mcc60kpilw2fws27k5"; depends=[gtools MCMCpack]; };
   HLMdiag = derive2 { name="HLMdiag"; version="0.5.0"; sha256="0yy0qf9iw5gr40vlmm697rvvvgp077f08fialx3ijn0vfpsjbl2v"; depends=[diagonals dplyr ggplot2 ggrepel janitor magrittr MASS Matrix mgcv plyr purrr Rcpp RcppArmadillo reshape2 rlang stringr tibble tidyselect]; };
-  HLSM = derive2 { name="HLSM"; version="0.8.2"; sha256="1jqfk5mlx603s3v069dab7wm0wy8qil50rw1s5x6f21xrahaqks2"; depends=[abind coda igraph MASS]; };
+  HLSM = derive2 { name="HLSM"; version="0.9.0"; sha256="1nvjgv8lbqpig9snnxm3k1qs1r7bf43gw7a3prj9l3kmqdd0i4j3"; depends=[abind coda igraph MASS]; };
   HMB = derive2 { name="HMB"; version="1.1"; sha256="19z3d0b98fyjcnbxh3g6h2g927nv0408sbxjlzalrjlw9mbpzd2b"; depends=[Rcpp RcppArmadillo]; };
   HMDHFDplus = derive2 { name="HMDHFDplus"; version="1.9.13"; sha256="1n507nsqz1blikci56jhp48rdpq38dnadh8warc2jmvwizl22a3b"; depends=[httr RCurl XML]; };
   HMM = derive2 { name="HMM"; version="1.0"; sha256="0z0hcqfixx1l2a6d3lpy5hmh0n4gjgs0jnck441akpp3vh37glzw"; depends=[]; };
@@ -2077,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=[]; };
@@ -2106,23 +2141,22 @@ in with self; {
   HardyWeinberg = derive2 { name="HardyWeinberg"; version="1.7.4"; sha256="11y3zg8aqxk5xdzsv7i3bgqkky6a0wgf2n8saa3a4adq75k328ib"; depends=[mice nnet Rcpp Rsolnp]; };
   HarmonicRegression = derive2 { name="HarmonicRegression"; version="1.0"; sha256="0inz3l610wl0ibqjyrhfbmwmcfzcmcfhixai4lpkbfsyx93z2i4d"; depends=[]; };
   Harvest_Tree = derive2 { name="Harvest.Tree"; version="1.1"; sha256="021zmppy7p2iakaxirfjdb5jzakg1ijma9d25ly2ni0nx0p1mh6z"; depends=[rpart]; };
+  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=[]; };
   HiResTEC = derive2 { name="HiResTEC"; version="0.59"; sha256="08c5zvj1as28skhlyybrjinc9wawdsqfxiwybd0ni0ljh2i2sc5c"; depends=[beeswarm Biobase InterpretMSSpectrum openxlsx plyr Rdisop]; };
   HiddenMarkov = derive2 { name="HiddenMarkov"; version="1.8-13"; sha256="05dm3nl0ffsz2ziw3bz5bivyxk7r5bxs8xhky3hz660qaqzd51ki"; depends=[]; };
   HierDpart = derive2 { name="HierDpart"; version="1.5.0"; sha256="10sphan6slzj6bsbzff4z7pglkjhv6xy719dm7594fmgqfjz0ici"; depends=[ade4 adegenet ape diveRsity entropart GGally ggplot2 hierfstat mmod pegas permute reshape2 tibble vegan]; };
-  HierO = derive2 { name="HierO"; version="0.2"; sha256="1lqj5grjly4kzxl7wb192aagz2kdvpnjdan2kcg5yxwvg1xcvwv1"; depends=[bitops RCurl rneos tcltk2 XML]; };
-  HierPorfolios = derive2 { name="HierPorfolios"; version="0.1.0"; sha256="0lx10lnslal689ykp7idvngc074yhfx3mkddyrax91djnqsc8aq4"; depends=[cluster fastcluster RiskPortfolios]; };
   HierPortfolios = derive2 { name="HierPortfolios"; version="0.1.0"; sha256="13f0bkcqglf6v0b2kqgsdr9px78ai3z8km3vkqnhsnphg8kh3m4z"; depends=[cluster fastcluster RiskPortfolios]; };
   HighestMedianRules = derive2 { name="HighestMedianRules"; version="1.0"; sha256="01fj3xgrb9iav5v91bq04hzv9nhnwy8l00dx6yykghwvzjwfv3ih"; depends=[RMallow]; };
   HistDAWass = derive2 { name="HistDAWass"; version="1.0.6"; sha256="1h5bbxv8lgmwvlf85v8p6fyy959l36pnzjkg0d6b9kz77whlqrk1"; depends=[class FactoMineR ggplot2 ggridges histogram Rcpp RcppArmadillo]; };
@@ -2147,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=[]; };
@@ -2170,7 +2204,7 @@ in with self; {
   ICC = derive2 { name="ICC"; version="2.3.0"; sha256="0y8zh9715cp9bglxpygqwgigrarq37sj845lk1xl0ydwinl0a6kk"; depends=[]; };
   ICC_Sample_Size = derive2 { name="ICC.Sample.Size"; version="1.0"; sha256="1w6v1jp8bfvf6c49ikswkc5527gdx5cyqnw95x00pgmm6riwlsp9"; depends=[]; };
   ICCbin = derive2 { name="ICCbin"; version="1.1.1"; sha256="1pzlaj7w98pgrlg3zvpmdv0dpgi5gih0j73qv86ak75fkxvrnzzw"; depends=[]; };
-  ICD10gm = derive2 { name="ICD10gm"; version="1.2.2"; sha256="1ljhlnb2zqmdddyv2wqmkj29k05xb5laf9vk9d5vqbmlpwl2hqqg"; depends=[dplyr magrittr purrr rlang stringi tibble tidyr tidyselect]; };
+  ICD10gm = derive2 { name="ICD10gm"; version="1.2.4"; sha256="0p73hn4k6iphfycjmcbfsqjmmhn2x16fcdd5gwb5imc0jxc3f2l4"; depends=[dplyr magrittr purrr rlang stringi tibble tidyr tidyselect]; };
   ICDS = derive2 { name="ICDS"; version="0.1.2"; sha256="1bnj2ngh2n2yhgx8z9kawnpgkfgqw3b8xw9wkhimws4f2ir4k1zl"; depends=[graphite igraph metap org_Hs_eg_db]; };
   ICE = derive2 { name="ICE"; version="0.69"; sha256="04p8lakaha28mdh965w0ppyxfrz5ssi1n9xifvsbn3ihdra67rip"; depends=[KernSmooth]; };
   ICEbox = derive2 { name="ICEbox"; version="1.1.2"; sha256="170gg2fg9307yc2b25lsj8d1zla0frjxl47qh0njlqlrpi8jmm7i"; depends=[sfsmisc]; };
@@ -2198,13 +2232,15 @@ in with self; {
   IDPSurvival = derive2 { name="IDPSurvival"; version="1.2"; sha256="0hifs8vw3rxlb5vlxs1433pcv2dh7p0mxpgb2n03d98f20vkdwfw"; depends=[gtools Rsolnp survival]; };
   IDPmisc = derive2 { name="IDPmisc"; version="1.1.20"; sha256="0zy6mxqa8arq0vvhsdcifzm3085c23rnwa1n36fhircph1xwvfdw"; depends=[lattice]; };
   IDSA = derive2 { name="IDSA"; version="2.1"; sha256="0ld2359ksnw9jrjicnqikh5r321mfy2i7vzlhh9phm60k0qf5j98"; depends=[GD ggplot2 kableExtra reshape2]; };
-  IDSL_IPA = derive2 { name="IDSL.IPA"; version="1.2"; sha256="1jp06c43skp49q2hm0gjgv5gxih80cncl4vxszv4vxxr7c4lm3l2"; depends=[BiocManager doSNOW foreach ggplot2 gridExtra mzR png Rcpp readxl]; };
+  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]; };
@@ -2213,11 +2249,12 @@ 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]; };
   IMFData = derive2 { name="IMFData"; version="0.2.0"; sha256="1mlxpsbyvh1zi8ivdblbd58zfv5hflnknbasz5z8xk9911czrn6p"; depends=[httr jsonlite plyr]; };
-  IMIFA = derive2 { name="IMIFA"; version="2.1.7"; sha256="1p7lhllscbxa25imcaaqyxbnifmdfjsk5kb5fpnjg98nzgc776ff"; depends=[matrixStats mclust mvnfast Rfast slam viridisLite]; };
+  IMIFA = derive2 { name="IMIFA"; version="2.1.8"; sha256="0rcyl3hkfp5rfkppzqh3zrq510n6y5x43mvv933cflaij9611d70"; depends=[matrixStats mclust mvnfast Rfast slam viridisLite]; };
   IMIX = derive2 { name="IMIX"; version="1.1.4"; sha256="0xdf221l53i4kfln4xnqv2lv3yg3kajmnm5nyal1z25p22czcdl9"; depends=[crayon ggplot2 MASS mclust mixtools mvtnorm]; };
   IMP = derive2 { name="IMP"; version="1.1"; sha256="0ilvgz2bngffyx6ifqqx1snsn6mmq7rx3wg44093yrviaw39qdfv"; depends=[dplyr ggplot2 shiny tidyr]; };
   IMPACT = derive2 { name="IMPACT"; version="0.1.1"; sha256="0ai22gvmfj9j00cw742szfqqay63b5lmnszkwwdfdvidls43v0bm"; depends=[]; };
@@ -2233,14 +2270,14 @@ 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="1.3.0"; sha256="0yp4rkmircp484c89x856l2fpnmpfbdkvbjaxdpgzqkk95npdmfh"; depends=[ggplot2 sommer]; };
+  IPLGP = derive2 { name="IPLGP"; version="2.0.0"; sha256="0vzppfc42p51a7rjg6w02w45kh0rymqjfgb6979g9pm35dpppbgz"; depends=[ggplot2 sommer]; };
   IPMRF = derive2 { name="IPMRF"; version="1.2"; sha256="1zvwwhiy0p134zvm5ldc92pdd1ap72bhbrlf02rz9m2hlsxmwy67"; depends=[gbm party randomForest]; };
-  IPMbook = derive2 { name="IPMbook"; version="0.1.2"; sha256="0q9vjzqb1h62d49z9lrzis9vc6fy27ha8pq8hi22jnzc73pqh0aq"; depends=[abind]; };
+  IPMbook = derive2 { name="IPMbook"; version="0.1.3"; sha256="0wjzp3l7w4cp0g6c1q84l18pkb0sjjnspidxdv32pn7rqj7wsmcf"; depends=[abind]; };
   IPPP = derive2 { name="IPPP"; version="1.1"; sha256="19ccs25fd56ns7ssi51w2jzjd4d57vyimwmfvf27mmigb537bd5y"; depends=[]; };
-  IPV = derive2 { name="IPV"; version="0.1.1"; sha256="0bd59sfqqz2g6lwzlg3vqpw0y8q989n4q76qr1dvnq847c6fg8wz"; depends=[ggforce ggplot2]; };
+  IPV = derive2 { name="IPV"; version="0.2.0"; sha256="0qkh4c865rlzzcj9j8bdwj9y57s8mahry7lxg2q61dqzb51nlvsn"; depends=[ggforce ggplot2 lavaan Matrix reshape2 stringr]; };
   IPWboxplot = derive2 { name="IPWboxplot"; version="0.1.0"; sha256="0lyqcjnbissick5hzwrx21pykq4pww9j0i03j0gy43awl1cq5qq8"; depends=[isotone]; };
   IPWpn = derive2 { name="IPWpn"; version="0.1.0"; sha256="0glw8sb8jadnvznfj31l6lal0vqnmsmk96byinw7wy8avkz455fn"; depends=[dplyr MplusAutomation mvtnorm tibble tidyr tidyverse]; };
   IQCC = derive2 { name="IQCC"; version="0.7"; sha256="1zalpmyywkrnci0jd8irakjhiqmr52zhj1sbxf9pz5c7wks2rdbc"; depends=[MASS miscTools qcc]; };
@@ -2250,16 +2287,16 @@ in with self; {
   IRSF = derive2 { name="IRSF"; version="1.0.3"; sha256="1cq196z2i4by7dfij6w849a49d8dzzcdk5a68nxvmvwq3xskywam"; depends=[abind randomForestSRC survival]; };
   IRTBEMM = derive2 { name="IRTBEMM"; version="1.0.7"; sha256="09siwm2shjb8hhk64r66fspzykzr2r0m011pv8qcl9k7g040mxpi"; depends=[]; };
   IRTShiny = derive2 { name="IRTShiny"; version="1.2"; sha256="094ax94y6k5z4vlxfla2w19f57q0z32nwwd5npjbgmnkhvfhhl9v"; depends=[beeswarm CTT ltm psych shiny shinyAce]; };
-  IRdisplay = derive2 { name="IRdisplay"; version="1.0"; sha256="15jbjrihm1mk899357h9xb08iq3xyagds1xb40fmdpkfcmcfqrw9"; depends=[repr]; };
+  IRdisplay = derive2 { name="IRdisplay"; version="1.1"; sha256="0awdiv4rr93y8jb1d64sm1iy37ywyniqm7w98yv6qm0zz47h7sw3"; depends=[repr]; };
   IRexamples = derive2 { name="IRexamples"; version="0.0.1"; sha256="12x8wrbkrl2l38xwfb0pi911nq22qd5zgvhvkpbsn7h3lbhg3pqy"; depends=[DisImpact dplyr forcats ggplot2 ggthemes RSelenium rstanarm rvest survey twang]; };
-  IRkernel = derive2 { name="IRkernel"; version="1.2"; sha256="14gz3790iv6gg6yi9wslk1yn0jq57yvhxgm840qh818xfkdxpd2z"; depends=[crayon digest evaluate IRdisplay jsonlite pbdZMQ repr uuid]; };
+  IRkernel = derive2 { name="IRkernel"; version="1.3"; sha256="00qrmsywpzw2hfp88020zjaijma7q4hqm9h2cz53rywdjzywnzss"; depends=[crayon digest evaluate IRdisplay jsonlite pbdZMQ repr uuid]; };
   ISAT = derive2 { name="ISAT"; version="1.0.5"; sha256="0xlq568spfz527jxbqamrn1j87hnasg0kp2bcyjycaghmhsc6zmg"; depends=[gtools stringr]; };
   ISBF = derive2 { name="ISBF"; version="0.2.1"; sha256="12mk4d0m5rk4m5bskkkng5j6a9dzh8l1d74wh8lnamq7kf9ai9if"; depends=[]; };
-  ISCO08ConveRsions = derive2 { name="ISCO08ConveRsions"; version="0.1.0"; sha256="0jqg03rxr3k01y29b7gq89jk2jd2qrshmq3338j8w6531r7y12lg"; 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]; };
@@ -2271,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=[]; };
@@ -2286,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=[]; };
@@ -2294,6 +2332,7 @@ in with self; {
   InfiniumPurify = derive2 { name="InfiniumPurify"; version="1.3.1"; sha256="0yqah4rwpishas0xyv5a7cn4v18brj33cd7f494g21b9brggafq1"; depends=[matrixStats]; };
   Inflation = derive2 { name="Inflation"; version="0.1.0"; sha256="0ikhsslbg32kr9vcaxq8qwaa7ahiwvq91xwv53550wci2vyzmybp"; depends=[seasonal]; };
   Inflect = derive2 { name="Inflect"; version="1.1.0"; sha256="09904nn33libjv29n74n5nq1hj6ka8a4h3jllwpbxk9hsmnlmf9h"; depends=[data_table ggplot2 optimr plotrix readxl tidyr UpSetR writexl]; };
+  InflectSSP = derive2 { name="InflectSSP"; version="1.4.3"; sha256="1am53sr0yrycwvim2a1qhpyla14cfa6fi8yvgvlgrgx8351v8i1v"; depends=[data_table GGally ggplot2 httr jsonlite network plotrix RColorBrewer readxl svglite tidyr xlsx]; };
   InfoTrad = derive2 { name="InfoTrad"; version="1.2"; sha256="0blfn59w73hjga15sw8plwvn6yq9fj95nxwp018mp1harl8wa5db"; depends=[nloptr]; };
   Information = derive2 { name="Information"; version="0.0.9"; sha256="0pszwzj3r7vdvdsy9w1qz95zxp7y2bsyg36b58mm4qcvcvymd4kn"; depends=[data_table doParallel foreach ggplot2 iterators plyr]; };
   InformationValue = derive2 { name="InformationValue"; version="1.2.3"; sha256="1b5g2wyp7x5cdhmf4325n3q7afa6i352lh80j28c8s4356pr3w9j"; depends=[data_table ggplot2]; };
@@ -2314,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]; };
@@ -2323,7 +2361,7 @@ in with self; {
   Irescale = derive2 { name="Irescale"; version="2.3.0"; sha256="037bzli0zwlfbf5xmllqg2pi0shs33ggrnw69kzyw2sf780y3hs2"; depends=[e1071 fBasics ggplot2 imager Rdpack reshape2 sp]; };
   IrishDirectorates = derive2 { name="IrishDirectorates"; version="1.4"; sha256="1mwjrmqga7f0p5w2m4f0i6mb68jimx6791pz03r8iqj3yx0vzkh0"; depends=[Rcpp RcppArmadillo]; };
   IrregLong = derive2 { name="IrregLong"; version="0.3.3"; sha256="1qmpim7r5wzifr73bb261xhpsxz93n5h70yc883wiaikjg031abb"; depends=[data_table geepack survival]; };
-  Iscores = derive2 { name="Iscores"; version="1.0.0"; sha256="0qsakxc1872l3cf2mvg5ybyqshbvp56pp962wn66hh9g323zf6l2"; depends=[ranger]; };
+  Iscores = derive2 { name="Iscores"; version="1.1.0"; sha256="01xv3003yni984dyn0iwnn3kkl05ij8j21cxbmj9jl9zbw44pzi1"; depends=[kernlab ranger]; };
   IsingFit = derive2 { name="IsingFit"; version="0.3.1"; sha256="1prdzzp15klkdy72379bjksdgxr15nk16pqm35w95341cddxchc7"; depends=[glmnet Matrix qgraph]; };
   IsingSampler = derive2 { name="IsingSampler"; version="0.2.1"; sha256="1cs4vk53b5fy6kywvycfjf62571yx92nvgp5i8hlvms1362ir7gv"; depends=[dplyr magrittr nnet plyr Rcpp]; };
   Iso = derive2 { name="Iso"; version="0.0-18.1"; sha256="0vy6jdyvp751430sf2f690yhasjr70cpk3p3lnaaxjq3fs5gg99g"; depends=[]; };
@@ -2341,21 +2379,22 @@ in with self; {
   JASPAR = derive2 { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; };
   JBrowseR = derive2 { name="JBrowseR"; version="0.9.0"; sha256="0wwcz5dzjmss2rdqdfxrxbaj01f9avh7h5clzl9aqvql2g0gllbl"; depends=[cli dplyr htmltools htmlwidgets httpuv ids jsonlite magrittr mime reactR readr stringr]; };
   JCRImpactFactor = derive2 { name="JCRImpactFactor"; version="1.0.0"; sha256="1i7853i8k03nq7ax9rypm9qcl5qgyddblgbfjp3yxi1s3a6bkwk1"; depends=[stringr]; };
-  JFE = derive2 { name="JFE"; version="2.5.1"; sha256="1393gdfm2kv0c0vadkzcj2kcxscrlgg02kihkhbsvnjzadhi1lb1"; depends=[caret fPortfolio magrittr tcltk2 xts zoo]; };
+  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.8-7"; sha256="0bwnps4n078ssmmnxc3pbhs3wc2x45i9f567yb5h7nqscmhb20fi"; 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]; };
   JQL = derive2 { name="JQL"; version="3.6.9"; sha256="0d926hngv4r6zl5f6yai3jwhl9hql2hv6ja3yjgplglkns66g4lh"; depends=[caret pdist randomForest]; };
   JRF = derive2 { name="JRF"; version="0.1-4"; sha256="1xpvscn9iawwa0vfh3kfwzdni436bf42nvm18b8abh033ljvqpij"; depends=[]; };
   JSM = derive2 { name="JSM"; version="1.0.1"; sha256="0vcsay1jpjlfdwykad4hp319swr9lv1ajlcyhmiizwr1ph3f1az9"; depends=[nlme Rcpp RcppEigen statmod survival]; };
+  JSUparameters = derive2 { name="JSUparameters"; version="1.0.0"; sha256="0jikzazdp6id72d5csplhsa2yrm9cb02f00bfzriyhgfl43v09mh"; depends=[]; };
   JSconsole = derive2 { name="JSconsole"; version="0.1.0"; sha256="1jpa48xb7hh4ap25sqrl67rzqra53qhcfwpfgs6hmpjnrld8n3ha"; depends=[rstudioapi V8]; };
   JSmediation = derive2 { name="JSmediation"; version="0.2.0"; sha256="1js9qhjfycwwipaxf64zpgwbbqyccj9zv4kipd6r82l3rx9ck8mh"; depends=[broom data_table dplyr glue knitr magrittr MASS purrr rlang tibble]; };
   JWileymisc = derive2 { name="JWileymisc"; version="1.2.0"; sha256="0c140kcq0fw91r4g33xri8yxms0nk291zi708h00pszliwpg4qhq"; depends=[data_table emmeans extraoperators ggplot2 ggpubr ggthemes lavaan lme4 MASS mgcv mice multcompView psych quantreg rms robustbase VGAM]; };
@@ -2372,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]; };
@@ -2385,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]; };
@@ -2396,8 +2435,8 @@ in with self; {
   KOBT = derive2 { name="KOBT"; version="0.1.0"; sha256="0dw6s68x95d4z5a6p8bs1368jcxv5jx0wd87js28i2qm3q57ss71"; depends=[glmnet knockoff MASS Rdpack spcov xgboost]; };
   KODAMA = derive2 { name="KODAMA"; version="1.8"; sha256="0i1lwjzxjpm9yng763hkbi88q13i9bhcwwin6b3lkif34r4c3n8y"; depends=[minerva Rcpp RcppArmadillo]; };
   KOGMWU = derive2 { name="KOGMWU"; version="1.2"; sha256="1vz0099gp1r10n7w4p480l8rswdw100sns196d9xin2ibmmd2fx9"; depends=[pheatmap]; };
-  KONPsurv = derive2 { name="KONPsurv"; version="1.0.3"; sha256="1qijx7b6idjy23kqb5l58l6nc6dh35vrkxv370qpj3y2gvvn9d6x"; depends=[Rcpp survival]; };
-  KPC = derive2 { name="KPC"; version="0.1.0"; sha256="1kgrkhhvjkhirp04fgf36x5v5f7ba2yczj11fdk3l12k5k0dx621"; depends=[data_table emstreeR gmp kernlab proxy RANN]; };
+  KONPsurv = derive2 { name="KONPsurv"; version="1.0.4"; sha256="08z24w04rzydm86z201crcmyw88sg92yqma5hzj0blj0fyqakwmi"; depends=[Rcpp survival]; };
+  KPC = derive2 { name="KPC"; version="0.1.1"; sha256="09zhmjv7dskkdkhrk5alxpxiwlgl9n2whfhxf237q5zfyxxa8pm9"; depends=[data_table kernlab mlpack proxy RANN]; };
   KRIS = derive2 { name="KRIS"; version="1.1.6"; sha256="1alr1va8xi4840ki1r48yf441vyn81lhdakcm7w3wxzlx5mbkkp7"; depends=[rARPACK]; };
   KRLS = derive2 { name="KRLS"; version="1.0-0"; sha256="1zyf3smfzfm3n43i35rlj1w6vcip2hxkvk4f8lp77xbsry0gmwjw"; depends=[]; };
   KRMM = derive2 { name="KRMM"; version="1.0"; sha256="0wxzhrrc4lx20nxjny7rcfw3bya7drn88zbrlzx9f531298xwbrk"; depends=[cvTools kernlab MASS robustbase]; };
@@ -2405,6 +2444,7 @@ in with self; {
   KSEAapp = derive2 { name="KSEAapp"; version="0.99.0"; sha256="1gfgpa2d32y6bzvf4ww70sm7niq34sqmyrhi0phlqxshqq9xviqc"; depends=[gplots]; };
   KSPM = derive2 { name="KSPM"; version="0.2.1"; sha256="13fq0d016z6880rr93y918l27fsxd5dxc6gbdnkma5sgsjni5cxh"; depends=[CompQuadForm DEoptim expm]; };
   KScorrect = derive2 { name="KScorrect"; version="1.4.0"; sha256="1khvwc610yp3fd4fn0wcgqpzxg9g7sicjjmwvfcahs8qxn3m5vfa"; depends=[doParallel foreach iterators MASS mclust]; };
+  KSgeneral = derive2 { name="KSgeneral"; version="1.1.0"; sha256="0xfzpgr24801y64y7q3xv5a1ry36ijx0rjwx926zg2hxxgjl00xz"; depends=[dgof MASS Rcpp]; };
   KTensorGraphs = derive2 { name="KTensorGraphs"; version="1.1"; sha256="1szl66ix6c6vb0zzyp404psglx3lk125903zc4za0qfzcic7a9p6"; depends=[]; };
   KappaGUI = derive2 { name="KappaGUI"; version="2.0.2"; sha256="0vklny804xpd9r60j4a01j2gak8jizwjw0abf7yvbcalv3zbpb3k"; depends=[irr shiny]; };
   KappaV = derive2 { name="KappaV"; version="0.3"; sha256="13mmfb8ijpgvzfj20andqb662950lp9g25k5b26r5ba65p7nhva7"; depends=[maptools PresenceAbsence rgeos sp]; };
@@ -2414,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]; };
@@ -2424,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]; };
@@ -2433,21 +2471,21 @@ 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.2.0"; sha256="0658rxk25wg0r6rp6xzh6xhw9g39cnp05z9fay5k60mapifiz9vb"; 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]; };
-  LBC = derive2 { name="LBC"; version="1.0"; sha256="027q5dk771a5v7g0il7kcczfyf6cqfb4vb3y0j7gwr02bq4360wm"; depends=[]; };
   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=[]; };
   LCAextend = derive2 { name="LCAextend"; version="1.3"; sha256="1l75y3vkbsmsm3pjd5pwy0hlv6gz5ryxs4pkx9aiyhxz2y9wnhpb"; depends=[boot kinship2 mvtnorm rms]; };
   LCAvarsel = derive2 { name="LCAvarsel"; version="1.1"; sha256="0aqc9rbrc8n6s9xllmamby219qsnxd4ajvffjr21qlkhkaklirb1"; depends=[doParallel foreach GA MASS memoise nnet poLCA]; };
-  LCCR = derive2 { name="LCCR"; version="1.2"; sha256="1vmibbkhi7303897h98yyc9rdcfbglvxm402yjh1xq55h0zw9ddw"; depends=[MASS]; };
+  LCCR = derive2 { name="LCCR"; version="1.3"; sha256="07hrbras7721rb2q9c8qd9k6cn3ba16i06b30xnyjzq6my1wzpd5"; depends=[MASS]; };
   LCF = derive2 { name="LCF"; version="1.7.0"; sha256="1n5gwnkj26b7w6bzapda049bd4aqb317cip05nf0vy04xjc8giyc"; depends=[quadprog]; };
   LCFdata = derive2 { name="LCFdata"; version="2.0"; sha256="1x3vbr6hdviqvd6dxn1kb449g0q5zkfmjsmr5nxd2g82p69lv3xm"; depends=[]; };
   LCMCR = derive2 { name="LCMCR"; version="0.4.11"; sha256="11vcqjjlcps3nqfrmncfqdadhrwk7fvrnx6xqwnc6l12hr98hic0"; depends=[]; };
@@ -2466,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=[]; };
@@ -2487,13 +2525,14 @@ in with self; {
   LMERConvenienceFunctions = derive2 { name="LMERConvenienceFunctions"; version="3.0"; sha256="0jg889qh5a9wdi01yiw6z7kivs9dzh5dcq39f4zifdpqzglhshzb"; depends=[fields LCFdata lme4 Matrix mgcv]; };
   LMMELSM = derive2 { name="LMMELSM"; version="0.1.0"; sha256="1wrda19629k7fg3rryk9sf16h1w5915cifv7iiqqg64k8w1vwnaj"; depends=[BH Formula loo MASS nlme Rcpp RcppEigen rstan rstantools StanHeaders]; };
   LMMsolver = derive2 { name="LMMsolver"; version="1.0.0"; sha256="0ri89i5q3026ambm1zk24adi0jf22wb9assklwsqzz2kmh54k282"; depends=[agridat ggplot2 maps Matrix Rcpp sp spam]; };
-  LMMstar = derive2 { name="LMMstar"; version="0.4.0"; sha256="0l5rjsz3yahhwnnw0xh6cj1i6vk6d0ishbp8i2p8hzxn8f85rswd"; depends=[emmeans ggplot2 lava Matrix multcomp nlme numDeriv reshape2 sandwich]; };
+  LMMstar = derive2 { name="LMMstar"; version="0.4.4"; sha256="0fjw0q65xid0389in4jiha6m4n720444cm7plc0l59rcp65n8xwg"; depends=[emmeans ggplot2 lava Matrix multcomp nlme numDeriv reshape2 sandwich]; };
   LMest = derive2 { name="LMest"; version="3.0.2"; sha256="0x80cgd54qw1l4wayxwyyccmajn5i227727wlsgm6s4chnpvispz"; depends=[diagram Formula MASS mclust mix MultiLCIRT mvtnorm scatterplot3d]; };
   LMfilteR = derive2 { name="LMfilteR"; version="0.1.3"; sha256="0c27154jghfl83n3sn26pr8mjcybrq02glvnjcx8hllrmz4gmnmi"; depends=[MASS]; };
   LMoFit = derive2 { name="LMoFit"; version="0.1.6"; sha256="10xiaa5h8c0sq9z70yjs29z8jnjyqgybdv33d6s2100h3n46jd31"; depends=[ggplot2 lmom pracma sf]; };
   LNIRT = derive2 { name="LNIRT"; version="0.5.1"; sha256="0w32qvz5mhzg6f8050p57v26amn6d2il2icjfiypf7yi3gsx7w09"; depends=[MASS]; };
   LOGAN = derive2 { name="LOGAN"; version="1.0.0"; sha256="00y8kcykw01gv2g20vmpwkc3qqyafwbiw5pa731xlfnh1b8sn0hi"; depends=[dplyr foreign ggplot2 magrittr modules pander psych rlang stringr]; };
   LOGICOIL = derive2 { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; };
+  LOMAR = derive2 { name="LOMAR"; version="0.1.0"; sha256="1rd3xnidhk6a3yawlk8ilr8v1a8ghsj3sxx5mp2x47dc8k4bj4da"; depends=[aws data_table dbscan doParallel EBImage ff foreach pracma proxy RANN reshape2 TDA transport]; };
   LOPART = derive2 { name="LOPART"; version="2020.6.29"; sha256="1zxaag5pj3l9rzxhlrkx8q4adlap7wsdysb4y6ijvsmxvv63j22k"; depends=[data_table Rcpp]; };
   LOST = derive2 { name="LOST"; version="2.0.2"; sha256="15ggmvjy2k4j692y9h3anfzmb0hgnx66cbr76grwvcfysdx87ick"; depends=[e1071 gdata geomorph MASS miscTools pcaMethods rgl shapes]; };
   LPBkg = derive2 { name="LPBkg"; version="1.2"; sha256="1pgv6cb7m2j7qnrzybnv6x67a3ry8kpvisqj86rvxzclc9q56fdn"; depends=[Hmisc orthopolynom polynom]; };
@@ -2522,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]; };
@@ -2536,7 +2576,7 @@ in with self; {
   LUCIDus = derive2 { name="LUCIDus"; version="2.1.0"; sha256="133cxmvsxm26jmx65snfswqf69ch10bnfbninkks80h2c1y46kq6"; depends=[boot glasso glmnet lbfgs mclust networkD3 nnet]; };
   LVGP = derive2 { name="LVGP"; version="2.1.5"; sha256="03sd777s16nv04ikn9b3rj67ad6n4bwi0rycc7wqdnq0dx6xgniy"; depends=[lhs randtoolbox]; };
   LW1949 = derive2 { name="LW1949"; version="1.1.0"; sha256="147ymp7j98ihp1dcz3p5v9ar6h767phjdnga5q5vf1wwa2mxawg7"; depends=[MASS mgcv plotrix]; };
-  LWFBrook90R = derive2 { name="LWFBrook90R"; version="0.4.4"; sha256="1jvyfk52gcq3dl8fws652ffwdp0gadrkmcd0n6b0z4r1flrfmaph"; depends=[data_table doFuture foreach future iterators progressr vegperiod]; };
+  LWFBrook90R = derive2 { name="LWFBrook90R"; version="0.4.5"; sha256="1mqxay678baxqkmbcknn5bq3bw6fk9nr04ljsbh13wqxz27iw5bj"; depends=[data_table doFuture foreach future iterators progressr vegperiod]; };
   LZeroSpikeInference = derive2 { name="LZeroSpikeInference"; version="1.0.3"; sha256="15x29afaq13iwlj66h97k3kczg9rfgp6i9d76rji58hfgh8i8by6"; depends=[]; };
   LaF = derive2 { name="LaF"; version="0.8.4"; sha256="1mj010bl4ql0hm33vl0dd08s9dab11y9fa32nsqs6kbb22gjzk6p"; depends=[Rcpp]; };
   LabApplStat = derive2 { name="LabApplStat"; version="1.4.3"; sha256="12brjwd0hazc3s69wjybmfvapslcx87npa647hlrcfjxzg46x9ar"; depends=[emmeans ggplot2 ggraph]; };
@@ -2566,9 +2606,11 @@ 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=[]; };
+  LexisNexisTools = derive2 { name="LexisNexisTools"; version="0.3.5"; sha256="1yvvvx931lhfzkl5xh34nb75dibr1wpzlvhgfg4r5slxxp335y83"; depends=[data_table pbapply quanteda quanteda_textstats stringdist stringi tibble]; };
   LexisPlotR = derive2 { name="LexisPlotR"; version="0.4.0"; sha256="0vlm8wcaj3755cbxrfb7ybla9znd2cbklw2xwyyn6r9i4c9xsfih"; depends=[dplyr ggplot2 tidyr]; };
   LibOPF = derive2 { name="LibOPF"; version="2.6.1"; sha256="01j3jzhi337dmblcm1d79i4cbp159z6k54ybpyzfasjfnp7qizz6"; depends=[]; };
   LiblineaR = derive2 { name="LiblineaR"; version="2.10-12"; sha256="0r5xbklbfgflwlmkh4i0bsdyqcjs1b4lvxr20f4fhajmkj83gqrs"; depends=[]; };
@@ -2577,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]; };
@@ -2589,22 +2631,23 @@ 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.4"; sha256="04ndxl368glx63pq58mxpyiddj2p84kyi22ylfy1x1x24xmgbdnn"; depends=[caret e1071 seqinr]; };
+  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]; };
   LocFDRPois = derive2 { name="LocFDRPois"; version="1.0.0"; sha256="0zzdp9wgwr6wn3grimghpj4vq34x37c8bqg8acfzlzih8frqal3r"; depends=[dplyr ggplot2]; };
   LocalControl = derive2 { name="LocalControl"; version="1.1.2.2"; sha256="1lqcjy5fzz1ndqih5nikidy2zfkn2dn7smbyvdjy47pgcjbzm96a"; depends=[cluster gss lattice Rcpp]; };
   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.2"; sha256="0ciygvynnyajpn1glxy6mwj9vbl7iv8a8dfsi6wxjxp2rac68rig"; depends=[aod data_table pROC RColorBrewer rms speedglm statmod]; };
+  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]; };
@@ -2614,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.16"; sha256="0ia88l8p601fq01qfjwypwynvij07bysmk6bglis7h6cvkbxbkip"; 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]; };
@@ -2622,24 +2665,26 @@ 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]; };
-  MALDIquant = derive2 { name="MALDIquant"; version="1.20"; sha256="1h9i158czlzwbn5zakkqd2ggc9g90r73vdspmp6kgfcmy9frvwzz"; depends=[]; };
-  MALDIquantForeign = derive2 { name="MALDIquantForeign"; version="0.12"; sha256="1r37x1hnhq246dazc76d17jfjc57khxayswbzvc4md39z8dnbihx"; depends=[base64enc digest MALDIquant readBrukerFlexData readMzXmlData XML]; };
+  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.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]; };
   MAPLES = derive2 { name="MAPLES"; version="1.0"; sha256="0hzsh7z1k7qazpxjqbm9842zgdpl51irg7yfd119a7b2sd3a8li9"; depends=[mgcv]; };
   MARSANNhybrid = derive2 { name="MARSANNhybrid"; version="0.1.0"; sha256="1xs0gjdjl9c5i1i8ds9s3sq0764267h6gngkbwimfa8miq287idm"; depends=[earth neuralnet]; };
-  MARSS = derive2 { name="MARSS"; version="3.11.3"; sha256="03lk838wd88xh4x8ch77z098syn1373nzljckr6pp1jyhxxkvx5z"; depends=[KFAS mvtnorm nlme]; };
+  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]; };
@@ -2657,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]; };
@@ -2672,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.3"; sha256="0pi4dzpfsk4rhm4bzr34y8lslyv2wwi2prams4f6bw0ilcmwqswk"; depends=[broomExtra dplyr gee lme4 stringr]; };
+  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]; };
@@ -2705,7 +2750,7 @@ in with self; {
   MDplot = derive2 { name="MDplot"; version="1.0.1"; sha256="1xijh18hrkb807nfkdr7g642aspn5psc8nw29q387jl5hly2w8s9"; depends=[gplots gtools MASS RColorBrewer]; };
   MED = derive2 { name="MED"; version="0.1.0"; sha256="0fy0qmxirkdz5kigy2r7l5czjzws0fhjxy13kv1kqh628ldrp109"; depends=[]; };
   MEDITS = derive2 { name="MEDITS"; version="0.1.7"; sha256="0n3llnvpxd4bs1vslhmsahvl9vm0pmbmc94gijss16linpskxxkj"; depends=[ggplot2 hms raster rgdal rgeos sp tibble vegan]; };
-  MEDseq = derive2 { name="MEDseq"; version="1.3.1"; sha256="1zfzxah02zs2m32kzj1ch1vpbss0psw5vr1qic4zdz0ws291afp7"; depends=[cluster matrixStats nnet seriation stringdist TraMineR WeightedCluster]; };
+  MEDseq = derive2 { name="MEDseq"; version="1.3.2"; sha256="1632j7mi6r6vlqwq57dzalcz89jj7095ls01zc9d34zyfjl3r055"; depends=[cluster matrixStats nnet seriation stringdist TraMineR WeightedCluster]; };
   MEGENA = derive2 { name="MEGENA"; version="1.3.7"; sha256="0cr10pmj1n831scz5kgaq3nkglr3imwgc62cxng2dvdxr9991g21"; depends=[BH cluster doParallel foreach fpc ggplot2 ggraph ggrepel igraph Matrix Rcpp reshape]; };
   MEMSS = derive2 { name="MEMSS"; version="0.9-3"; sha256="0fq85jrajfwavq2fvsw2x9hknc57wc253zw2vw970f04khfbragd"; depends=[lme4]; };
   MEPDF = derive2 { name="MEPDF"; version="3.0"; sha256="15hbp7g5dsdpvi239jm6jn11fn371ir6la31g0flqkilq6sr1sqd"; depends=[gtools mvtnorm plyr pracma]; };
@@ -2717,13 +2762,14 @@ 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.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]; };
   MGDrivE2 = derive2 { name="MGDrivE2"; version="1.1.0"; sha256="18pkv3gr2c2qi6p8x2d9wx713k1x251s49qaj2airqy84x2zd8dh"; depends=[deSolve Matrix]; };
   MGL = derive2 { name="MGL"; version="1.1"; sha256="03q453swnangxyc4nvjhzw2zpcy5vp1wpilap5rwymnf0c0xi4j7"; depends=[]; };
   MGLM = derive2 { name="MGLM"; version="0.2.0"; sha256="0yyqm53lvp59zy8lkffw9x3zhqrnh29j5v3yyzk6qrgj2slnc7nk"; depends=[]; };
-  MGMM = derive2 { name="MGMM"; version="0.4.0"; sha256="0yv78qcvnsan3iaxw2kglfkq8w089hz5a3a7xyg1bgw3xpwbsy13"; depends=[cluster mvnfast plyr Rcpp RcppArmadillo]; };
+  MGMM = derive2 { name="MGMM"; version="1.0.0"; sha256="13ii5vybf97prjv963y32sybp016s38xhr29wlvp90vw1bzjrxvf"; depends=[cluster mvnfast plyr Rcpp RcppArmadillo]; };
   MGMS2 = derive2 { name="MGMS2"; version="1.0.2"; sha256="04f1ng4s163x7gvy1iaf0j8pzs0pm2r2saji0srbp2jyhrj68d7z"; depends=[MALDIquant MALDIquantForeign]; };
   MGRASTer = derive2 { name="MGRASTer"; version="0.9"; sha256="0jmf2900r56v60981sabflkhid3yrqd9xd7crb56vgfl1qkva9zp"; depends=[]; };
   MGSDA = derive2 { name="MGSDA"; version="1.6"; sha256="03n7ngfbh87hhgpkjkc1a0zjslr0k9zip1prvbwhyqkfq21zajbr"; depends=[MASS]; };
@@ -2750,7 +2796,7 @@ in with self; {
   MImix = derive2 { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
   MInt = derive2 { name="MInt"; version="1.0.1"; sha256="1nk02baainxk7z083yyajxrnadg2y1dnhr51fianibvph1pjjkl6"; depends=[glasso MASS testthat trust]; };
   MKLE = derive2 { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; };
-  MKMeans = derive2 { name="MKMeans"; version="1.0"; sha256="1i0p2mvgvdk37y7sidmshg8214z859i5fy6ly0p92shzdg8q5m9l"; depends=[]; };
+  MKMeans = derive2 { name="MKMeans"; version="2.0"; sha256="0l3wmfkfwh8x780x0c32y7lsm32c61syhmd5rziw1dcqjl03amb5"; depends=[]; };
   MKclass = derive2 { name="MKclass"; version="0.3"; sha256="0sw0h99k24418iqvvq247kg5558y9mgashr5amay7gbf2va79v6j"; depends=[]; };
   MKdescr = derive2 { name="MKdescr"; version="0.7"; sha256="056gp5fig8l4wgv3hzphr5q81z1zi6x88abc4kzgg8f1ljpn37xf"; depends=[ggplot2 scales]; };
   MKinfer = derive2 { name="MKinfer"; version="0.6"; sha256="13ga5pwlnlm28dm6nxg4ccc7br51jg7wvwp61sx31yvzgr5m45ld"; depends=[arrangements boot ggplot2 MKdescr nlme]; };
@@ -2760,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.5"; sha256="1a5y031kd6zx0zqlk6dvxzsv3isbvg9jap4gqad2jwryh0a9x3c1"; 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=[]; };
@@ -2771,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]; };
@@ -2793,7 +2841,7 @@ in with self; {
   MMVBVS = derive2 { name="MMVBVS"; version="0.8.0"; sha256="08nkhrf62yywpm0nw22pqzlcm72sf4zq44640a7pf57bbzm38ccy"; depends=[ggplot2 Rcpp RcppArmadillo reshape reshape2 rlang]; };
   MMWRweek = derive2 { name="MMWRweek"; version="0.1.3"; sha256="1l1ks44v52iggw9nhs56lfj6804yab5b17k8fzrc6h1kvj3vda0s"; depends=[]; };
   MMeM = derive2 { name="MMeM"; version="0.1.1"; sha256="1cig085h2jvrpb904wglwvhvds3sn58wpbl081wcwvzipfa8y37s"; depends=[jointDiag lme4 MASS Matrix matrixcalc psych stringr]; };
-  MNARclust = derive2 { name="MNARclust"; version="1.0.0"; sha256="1grmcik4pn9n2s5xn057rf0j0bz2gl6yd98qd1laz11sfgvbncz9"; depends=[Rcpp RcppArmadillo rmutil sn]; };
+  MNARclust = derive2 { name="MNARclust"; version="1.1.0"; sha256="0r4d066nd5xzry3zn463zqzy3x45pqhix7jlg9ib3sjdfrqqimnn"; depends=[Rcpp RcppArmadillo rmutil sn]; };
   MNB = derive2 { name="MNB"; version="1.0.0"; sha256="0qb682mfiprnrqfgyzwl564krhh6lms15gr4m44kkk3f5cdqxrmf"; depends=[flexsurv numDeriv]; };
   MNLR = derive2 { name="MNLR"; version="0.1.0"; sha256="0q80232ndp7pkklzqdbga1vf51dmsxaivm4ia4wah32rc2c87fqp"; depends=[caret e1071 nnet rmarkdown shiny]; };
   MNLpred = derive2 { name="MNLpred"; version="0.0.8"; sha256="0wb1a3d5s9hrv3sw8g1vyr9w9gmig4sdj3l339cv5cjfca75swns"; depends=[MASS]; };
@@ -2821,19 +2869,20 @@ 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]; };
   MPkn = derive2 { name="MPkn"; version="0.1.0"; sha256="0nvd6sv1wypcmphm0wcymbibcxrqzx3c9s9b191p1pmxyz607vxv"; depends=[]; };
   MPsychoR = derive2 { name="MPsychoR"; version="0.10-8"; sha256="19gp2pjy8bllk4pbx139vcydnw04nldfqq9q7291vr5krylfjcqv"; depends=[]; };
   MQMF = derive2 { name="MQMF"; version="0.1.1"; sha256="0cbcmrgd3jvr2b95awklzsr694dqxgc5kk840r293qvhpsbxf27y"; depends=[MASS mvtnorm]; };
+  MRCE = derive2 { name="MRCE"; version="2.4"; sha256="0j5dhzmn1bpplc5jird966gcg0zjwlajv93r2p0kh48msi5kbaqc"; depends=[glasso]; };
   MRCV = derive2 { name="MRCV"; version="0.3-3"; sha256="0m29mpsd3kackwrawvahi22j0aghfb12x9j18xk4x1w4bkpiscmf"; depends=[tables]; };
   MRFA = derive2 { name="MRFA"; version="0.4"; sha256="1ivzyp3q2nb6h5mhykina75ak7ajfw62rh23yr4pljma7gmr1hhm"; depends=[fields foreach glmnet grplasso plyr randtoolbox]; };
   MRFcov = derive2 { name="MRFcov"; version="1.0.38"; sha256="1ajpnxx49zpmph21x0q4x9w4fjpi43s8sqm294i0l883khyx6ljg"; depends=[caret dplyr ggplot2 glmnet gridExtra igraph magrittr MASS Matrix mgcv pbapply plyr purrr reshape2 sfsmisc]; };
   MRH = derive2 { name="MRH"; version="2.2"; sha256="1icwlq8js58g9fkiq7fwjg8r97ca47xl3dscnhnga99gkgsfgjwl"; depends=[coda KMsurv survival]; };
   MRHawkes = derive2 { name="MRHawkes"; version="1.0"; sha256="0qhwm708jijv1w6iml18bg7fc2igdcmydwpb9dzpa4gwwads8b78"; depends=[IHSEP]; };
-  MRPC = derive2 { name="MRPC"; version="2.3.1"; sha256="1gjk8nq0fwzlfqc3nd6kw2052znglzpblh2hyc5b0znmh678pxgc"; depends=[bnlearn compositions dynamicTreeCut fastcluster GGally graph gtools Hmisc mice network pcalg plyr psych Rgraphviz sna WGCNA]; };
+  MRPC = derive2 { name="MRPC"; version="3.0.0"; sha256="1lqqfffqvzvp7g3phrjcra0n52lcl2xywibh0vizc85fkkp1clbd"; depends=[bnlearn compositions dynamicTreeCut fastcluster GGally graph gtools Hmisc mice network pcalg plyr psych Rgraphviz sna WGCNA]; };
   MRQoL = derive2 { name="MRQoL"; version="1.0"; sha256="0isn4g3jpz7wm99ymrshl6zgkb7iancdzdxl2w98n8fbxsh5z6sw"; depends=[]; };
   MRReg = derive2 { name="MRReg"; version="0.1.4"; sha256="0krk9l46ls74dldilkkdf1b202awnql8r138fkxj4h6n8x3psysw"; depends=[caret igraph]; };
   MRS = derive2 { name="MRS"; version="1.2.4"; sha256="1sksg70zb72ys1b7vi8amjaqarmdh8vf2l1rb0rasrlvrip3z3br"; depends=[igraph Rcpp RcppArmadillo]; };
@@ -2843,10 +2892,10 @@ in with self; {
   MRsurv = derive2 { name="MRsurv"; version="0.2"; sha256="148myzk6r8whkpv1yv59dmdlr2n8vdwmaww165aw696xfjxwq550"; depends=[mvtnorm survival]; };
   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="0.0.9"; sha256="02zlyb3lzi4w4dqnzhdiivqsqrm4z1l4ziy2vs13vxygm2g0mn1k"; depends=[ape kSamples Rdpack]; };
-  MSEtool = derive2 { name="MSEtool"; version="3.3.0"; sha256="0sgiwfjc24c49w4vblasy84clgwjgzcgii1fi4jkc940k6vcz4kf"; depends=[abind dplyr ggplot2 Rcpp RcppArmadillo snowfall]; };
+  MSCsimtester = derive2 { name="MSCsimtester"; version="1.0.0"; sha256="0k04fdprwa56vm6n372lipybgq1plhmjbxvp58wqmpgzpnhcxkvd"; depends=[ape kSamples Rdpack]; };
+  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=[]; };
@@ -2855,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]; };
@@ -2877,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=[]; };
@@ -2887,13 +2937,13 @@ in with self; {
   MXM = derive2 { name="MXM"; version="1.5.2"; sha256="0h95v74sk0c10i1rvbbl6f98spv86jfz7xji3d3wd1v4zacq3hhz"; depends=[bigmemory coxme doParallel dplyr energy foreach geepack Hmisc knitr lme4 MASS nnet ordinal quantreg relations Rfast Rfast2 survival visNetwork]; };
   MaOEA = derive2 { name="MaOEA"; version="0.6.2"; sha256="0s8jvp7821mb6xff8xwnh78mhz4qfrbk4g7sp4dfnm2ii7ah9c6b"; depends=[e1071 gtools lhs MASS nnet nsga2R pracma randtoolbox reticulate stringr]; };
   MaXact = derive2 { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; };
-  MachineShop = derive2 { name="MachineShop"; version="3.1.0"; sha256="1pv2sasnql6dhfbahm5l623gisvbwwgwhz3s1nbhyhb76h1b0rrs"; depends=[abind dials foreach ggplot2 kernlab magrittr Matrix nnet party polspline progress Rcpp recipes rlang rsample Rsolnp survival tibble]; };
+  MachineShop = derive2 { name="MachineShop"; version="3.2.0"; sha256="1m3p2m19dl2z9rlmd9si67xzc592y9gym9mn919cdgsy3zrif4ld"; depends=[abind cli dials foreach ggplot2 kernlab magrittr Matrix nnet party polspline progress Rcpp recipes rlang rsample Rsolnp survival tibble]; };
   Maeswrap = derive2 { name="Maeswrap"; version="1.7"; sha256="0cnnr5zq7ax1j7dx7ira7iccqppc6qpdjghjarvdb2zj0lf69yyb"; depends=[geometry lattice rgl stringr]; };
   MajKMeans = derive2 { name="MajKMeans"; version="0.1.0"; sha256="1zphrxyx3jd6rnh1y1qnc6bip34kfqk1a5ms4ps39gfngznh482m"; depends=[MASS]; };
   MakefileR = derive2 { name="MakefileR"; version="1.0"; sha256="1pfjic2lsar8ghbb6byr4rqrs30qrgfih092z4rxdpsiwkk3y7l1"; depends=[magrittr]; };
   ManagedCloudProvider = derive2 { name="ManagedCloudProvider"; version="1.0.0"; sha256="0glhx9ylpx2s8mi711gblapw6qnv80nd4wahph65g6ddngvmgv73"; depends=[adagio DockerParallel jsonlite]; };
   Mangrove = derive2 { name="Mangrove"; version="1.21"; sha256="1qf3fjzf0sb6fqbfdbxwbw6wah3gg2qran4mgg13hcmk4n3j0hxp"; depends=[]; };
-  ManifoldOptim = derive2 { name="ManifoldOptim"; version="1.0.0"; sha256="1lds4cs4v3gpibz74cz319x2zkc6nipiqw1ywcrmv125aixxzglp"; depends=[Rcpp RcppArmadillo]; };
+  ManifoldOptim = derive2 { name="ManifoldOptim"; version="1.0.1"; sha256="0vp064ayniwqc8wck9n5y7s5y22x2jq55n8l5q4vjb8q7idvy6xd"; depends=[Rcpp RcppArmadillo]; };
   ManlyMix = derive2 { name="ManlyMix"; version="0.1.14"; sha256="0zpcc74965n435d4fah41r9nz0kjyn46hkjl1s0kvlllqj6n69wg"; depends=[]; };
   ManyTests = derive2 { name="ManyTests"; version="1.2"; sha256="1mi7wvnkcd95126f1h8vl8skn397yd2zqvcswprqar54p161wgyi"; depends=[]; };
   Map2NCBI = derive2 { name="Map2NCBI"; version="1.4"; sha256="1ssqnm9g5p0nnhdyp9dqbbsz3hw8jzdwy0rv3csp8fxm0f1bi1kb"; depends=[rentrez]; };
@@ -2912,15 +2962,15 @@ 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]; };
-  Matrix = derive2 { name="Matrix"; version="1.3-4"; sha256="0fbcbysp3vaivmp1yasmp8mdsldhr826vfs4vyxrjpjl8jfifhmb"; depends=[lattice]; };
+  Matrix = derive2 { name="Matrix"; version="1.4-0"; sha256="1xh62bwcly1blpvnagbhjym1qgw87yir3c72ylhvcla05rq67d62"; depends=[lattice]; };
   Matrix_utils = derive2 { name="Matrix.utils"; version="0.9.8"; sha256="0a5fq1scykqk0kc9j051j6fix6j2dqwz5wbgb0amaxsiywz9vigb"; depends=[grr Matrix]; };
   MatrixCorrelation = derive2 { name="MatrixCorrelation"; version="0.9.5"; sha256="192pmfm8csvs2lf2hxpsj542lrd8b74rg4wzmz3s3m9i98pd0h4d"; depends=[plotrix pracma progress Rcpp RcppArmadillo RSpectra]; };
   MatrixEQTL = derive2 { name="MatrixEQTL"; version="2.3"; sha256="10r6h5bidj44kfbwiml9pkysbikqphfb21ig61qnx0qa12xcl6l8"; depends=[]; };
-  MatrixExtra = derive2 { name="MatrixExtra"; version="0.1.8"; sha256="1115z5mk7pmb4v4zcdrcbgwv7ifj2417r6705ksp0b2qkp62ny6j"; depends=[float Matrix Rcpp RhpcBLASctl]; };
+  MatrixExtra = derive2 { name="MatrixExtra"; version="0.1.9-1"; sha256="098apgqlncgxspa8mi4bx2nk5fbk3880whqiwkvydsfsqrbv1sj0"; depends=[float Matrix Rcpp RhpcBLASctl]; };
   MatrixLDA = derive2 { name="MatrixLDA"; version="0.2"; sha256="0fixq35gp0fzmin75sfld2ln0zvnjgzrhk3b5yi7wdqzp99200yy"; depends=[glasso plyr Rcpp RcppArmadillo]; };
   MatrixMixtures = derive2 { name="MatrixMixtures"; version="1.0.0"; sha256="0l9f7sicigp88rqi2bn4bmlrb130qvyikn4mlfphcpa16rvk37dq"; depends=[doSNOW foreach snow withr]; };
   MatrixModels = derive2 { name="MatrixModels"; version="0.5-0"; sha256="1va6i6bpkq71rzl9i4xgyc5x7qcksa3nfzihlaggf6aj30dayzx8"; depends=[Matrix]; };
@@ -2930,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]; };
@@ -2942,10 +2992,13 @@ in with self; {
   MedSurvey = derive2 { name="MedSurvey"; version="1.1.1.3.0"; sha256="11lkli2arl5w2aizzd93fb6xsy30000nf3qc08qirrm07rwypaly"; depends=[lavaan Matrix survey]; };
   MediaK = derive2 { name="MediaK"; version="1.0"; sha256="19cmxl2wksw9kvjsfn1m4nkr5gpcx6bk0sqrabj1n0dla1l32v2a"; depends=[Rcpp RcppEigen]; };
   Mediana = derive2 { name="Mediana"; version="1.0.8"; sha256="0j1ikc2iaxl70134v0gijj2i2g0xgjafvn8rc108r9fhm8rpw564"; depends=[doParallel doRNG foreach MASS mvtnorm survival]; };
-  MedianaDesigner = derive2 { name="MedianaDesigner"; version="0.6"; sha256="01xp0zaiyka033kvi7jdqfibvcl6x1fi2i56z73sn8v2mdyks1qn"; depends=[devEMF flextable mvtnorm officer Rcpp RcppEigen RcppNumerical shiny shinydashboard shinyMatrix]; };
+  MedianaDesigner = derive2 { name="MedianaDesigner"; version="0.7"; sha256="177wzlq8z0b5qw2vpzy224i11a9x9179ni81bmxi8cvza4rx211h"; depends=[devEMF doParallel doRNG flextable foreach mvtnorm officer Rcpp RcppEigen RcppNumerical shiny shinydashboard shinyMatrix]; };
+  Mega2R = derive2 { name="Mega2R"; version="1.0.9"; sha256="1wpn03csv88958ppg4idwidcdvr1gf3bps4c0sf5z3ri78awb28f"; depends=[AnnotationDbi DBI famSKATRC gdsfmt GenomeInfoDb kinship2 pedgene Rcpp RSQLite SKAT]; };
   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=[]; };
@@ -2958,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]; };
@@ -2973,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]; };
@@ -2985,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=[]; };
@@ -3015,10 +3069,10 @@ 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.1"; sha256="0k9mrwd2khz5mi4bg7dk6m7xh1jqkkf1y9v3qqmhbx0y88r4fmhs"; depends=[lattice matrixStats mclust mvnfast nnet vcd]; };
+  MoEClust = derive2 { name="MoEClust"; version="1.4.2"; sha256="13bc5ypq95f56mimqgmvvzhbsgm2j6j6bwigk6kx68l2qvzj12vl"; depends=[lattice matrixStats mclust mvnfast nnet vcd]; };
   MoLE = derive2 { name="MoLE"; version="1.0.1"; sha256="0bq19vwqjn5hl4mw5imkydbp39gal992vnh2dwrq8bb8cmj3qh91"; depends=[]; };
   MoMPCA = derive2 { name="MoMPCA"; version="1.0.1"; sha256="1snixlq35xbzf005d877i493sf1wm48jqlq9515yl1s6lxmav1n7"; depends=[doParallel dplyr foreach magrittr Matrix slam tm topicmodels]; };
   MoTBFs = derive2 { name="MoTBFs"; version="1.4"; sha256="1b69wzsy0wnzgbk04x363wb1dfnxz610sn8d28cn2akvf7n8na70"; depends=[bnlearn ggm lpSolve Matrix quadprog]; };
@@ -3045,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.0"; sha256="0y7vhqa272bjqy5fbdy0cgawgghvds7czz8v790nkg8hkra557wl"; 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]; };
@@ -3072,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]; };
@@ -3096,9 +3151,10 @@ in with self; {
   MultivariateAnalysis = derive2 { name="MultivariateAnalysis"; version="0.4.4"; sha256="0vpk7iplmb0cyrqal90m1y4ym8wng2b8k9ydh26xaga4r974qd2p"; depends=[ape biotools candisc corrplot crayon PCAmixdata]; };
   MultivariateRandomForest = derive2 { name="MultivariateRandomForest"; version="1.1.5"; sha256="0mww4x1hqraiyvmw2f9s6h180kplmj36hb7zfg7xlkmgdf4apk8d"; depends=[bootstrap Rcpp]; };
   MultiwayRegression = derive2 { name="MultiwayRegression"; version="1.2"; sha256="1w0yd3nwrqpk5nhnrcrd06fbdhg4kizx2p8mpspqnw8qcn970pfl"; depends=[MASS]; };
+  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]; };
@@ -3106,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]; };
@@ -3125,7 +3182,7 @@ in with self; {
   NCmisc = derive2 { name="NCmisc"; version="1.1.6"; sha256="0ycc7b7z26a922hdjq8p4hjljjh09il24h3023k248pcsnbmka1a"; depends=[proftools]; };
   NCutYX = derive2 { name="NCutYX"; version="0.1.0"; sha256="0r2ghnvrbya3p1d8rb5bsnz5v852vvc6rq65yafn2xzr7886wrg2"; depends=[fields glmnet MASS mvtnorm Rcpp RcppEigen]; };
   NDP = derive2 { name="NDP"; version="0.1.0"; sha256="0wmld7g4w3d7d8lyj4132h3jpr8ng8kpy4ssqjp8r0lqwif2i86b"; depends=[rmarkdown shiny]; };
-  NEONiso = derive2 { name="NEONiso"; version="0.5.2"; sha256="1sbfsng5kp27ng2j1v7g4b8y48fkp6c71q5cj3z13vr06nmxp16z"; depends=[data_table downloader dplyr httr jsonlite lifecycle lubridate magrittr neonUtilities R_utils rhdf5 rlang tidyselect zoo]; };
+  NEONiso = derive2 { name="NEONiso"; version="0.5.3"; sha256="19w2za7f6vy1b2h4np4r1cpp9z3aha0485rh08zb3p5y15j1c021"; depends=[data_table dplyr httr lifecycle lubridate magrittr neonUtilities R_utils rhdf5 rlang tidyselect zoo]; };
   NEff = derive2 { name="NEff"; version="1.1"; sha256="16ys1fi28kbzg3am9vz1c5pc9x0ac47pl6za04h63lspk99yplzk"; depends=[bit msm]; };
   NEpiC = derive2 { name="NEpiC"; version="1.0.1"; sha256="11zf112xcsg3k93vks2fnsflw2v2d56a0bsjpd460d21k3gipfz8"; depends=[igraph PairedData]; };
   NFCP = derive2 { name="NFCP"; version="1.2.0"; sha256="1dav6h0bk4c787g5wskpsfqdbsgalq0xpbzq6nk1sg54g6wd76q2"; depends=[curl FKF_SP LSMRealOptions MASS mathjaxr numDeriv Rdpack rgenoud]; };
@@ -3159,12 +3216,13 @@ in with self; {
   NMF = derive2 { name="NMF"; version="0.23.0"; sha256="0ls7q9yc9l1z10jphq5a11wkfgcxc3gm3sfjj376zx3vnc0wl30g"; depends=[Biobase BiocManager cluster colorspace digest doParallel foreach ggplot2 gridBase pkgmaker RColorBrewer registry reshape2 rngtools stringr]; };
   NMFN = derive2 { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; };
   NMI = derive2 { name="NMI"; version="2.0"; sha256="1rxphy9rhy9zhdiz48dvl9m26x6k681lnyn39lqxs0a6jhrxg7y3"; depends=[]; };
+  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]; };
@@ -3202,16 +3260,16 @@ 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.1"; sha256="11vsw0pmivypffrjll4vz9xy3hnhk5cym30f0b85jpjjp40qcp1p"; depends=[]; };
-  NetFACS = derive2 { name="NetFACS"; version="0.2.0"; sha256="0fz2whkhdz48knj31pgsq85n4n9zl52vnjmhg6ky34an3a2q459c"; depends=[arrangements doParallel ggplot2 ggraph igraph picante Rfast rlang]; };
+  NetExplorer = derive2 { name="NetExplorer"; version="0.0.2"; sha256="0k8jhl0p2dp45lx4h77r0bkcff8vn1f9gvr475cshpmyipziiwnq"; depends=[]; };
+  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.1"; sha256="1mc8wdjdyfwxlhlkc19nr0zq1qwzaqs7gw0lz5pw52zh42np5skr"; depends=[binr BiRewire CoDiNA cubature dplyr igraph magrittr Rfast wTO]; };
+  NetSci = derive2 { name="NetSci"; version="0.1.2"; sha256="187gg3h8wkcvh9wrrjgyaqja0fib3xks9vr3z1jsr70i2jdx7r0f"; depends=[binr BiRewire CoDiNA cubature dplyr igraph magrittr Rfast wTO]; };
   NetSimR = derive2 { name="NetSimR"; version="0.1.1"; sha256="01w2nlk1g0h81pbn3g3ch09k3ljcisysgpwihv6wlgd1wclaafmz"; depends=[]; };
   NetSwan = derive2 { name="NetSwan"; version="0.1"; sha256="1mwdy3ahagiifj2bd1ajrafvnxzi74a1x1d3i2laf1hqpz3fbgld"; depends=[igraph]; };
   NetWeaver = derive2 { name="NetWeaver"; version="0.0.6"; sha256="058fi3vbp11mbg69n4yp1zf48akfdl6s2p0qpa0v6ngmk2zjk0bq"; depends=[]; };
@@ -3223,16 +3281,18 @@ 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]; };
   NightDay = derive2 { name="NightDay"; version="1.0.1.1"; sha256="1gwwxk428gkvci4dhfb3zikvidalpqkl0q2r6qpm58c12j14jk1h"; depends=[maps]; };
   NipponMap = derive2 { name="NipponMap"; version="0.2"; sha256="0jk3zz05vhximbbm15h7ngb0ffxp5w8zhisifipkdgvg1hpi7pb7"; depends=[sf tibble]; };
   NitrogenUptake2016 = derive2 { name="NitrogenUptake2016"; version="0.2.3"; sha256="13mh63z3x8yqd31v5a4d10bhzk4y67ac38flwk2msv7qcx37sny6"; depends=[car MASS zoo]; };
   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]; };
@@ -3242,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]; };
@@ -3263,10 +3323,11 @@ 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]; };
-  OECD = derive2 { name="OECD"; version="0.2.4"; sha256="1cxjd5h10ynjzblk5d5crdknk19pn8ik37d8hffvz5iydp7ammqn"; depends=[httr rsdmx xml2]; };
+  OECD = derive2 { name="OECD"; version="0.2.5"; sha256="13f185xvjlhxbg94vmnzvyddidxsbkvffjabp7jkg1zjl4x680s1"; depends=[httr readsdmx xml2]; };
   OEFPIL = derive2 { name="OEFPIL"; version="0.1.1"; sha256="0gnbbz2spaqlqqn7978l15jv7xiqpfrh8k9girrpdqih02x95rfw"; depends=[Deriv ggplot2 MASS matrixcalc minpack_lm plyr]; };
   OGI = derive2 { name="OGI"; version="1.0.0"; sha256="0qw55jamkvdf3vfa5c0ygbymbs4d9q15dihiqz691hdfnyjvc2mk"; depends=[lpSolve]; };
   OHPL = derive2 { name="OHPL"; version="1.4"; sha256="0svim112khdymdj1bsj8vri6r0zph5312y148mlh5h98rah40i08"; depends=[glmnet mvtnorm pls]; };
@@ -3279,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]; };
@@ -3313,7 +3375,7 @@ in with self; {
   OmegaG = derive2 { name="OmegaG"; version="1.0.1"; sha256="1aihcrgml67rvnx9vpnq2nnbc79kicw4ks1fradsa36ykkdz6b1g"; depends=[]; };
   OmicInt = derive2 { name="OmicInt"; version="1.1.7"; sha256="1rrh2z8hbfvha8yi7d7m7bpgz514cp9dzv5vs4yn5pagzca6r5np"; depends=[cluster dendextend dplyr ggExtra ggplot2 gtools igraph knitr lattice mclust pheatmap plotly RColorBrewer RCurl reshape2 rmarkdown STRINGdb stringr tidyr tidyselect]; };
   OmicKriging = derive2 { name="OmicKriging"; version="1.4.0"; sha256="08frr38yf5d0l3zwkbq9465xrbyzsn8sx9icqc3yvfnxrkhrpzig"; depends=[doParallel foreach irlba ROCR]; };
-  OmicNavigator = derive2 { name="OmicNavigator"; version="1.4.3"; sha256="0d000yscxqzk80fgavgilvwr6xw1czkdcpz19f5ra4wnxgcpbb3i"; depends=[data_table jsonlite]; };
+  OmicNavigator = derive2 { name="OmicNavigator"; version="1.8.0"; sha256="081ibvrz5qc6biql6mx0454kfgmm5sgfrjgdf7y3kb1bn7b2x9wq"; depends=[data_table jsonlite]; };
   OmicsPLS = derive2 { name="OmicsPLS"; version="2.0.2"; sha256="08vx4925j5ln366h7nzhf1ra5ciplrqw911258chi9di7gpm8g50"; depends=[dplyr ggplot2 magrittr softImpute tibble]; };
   Omisc = derive2 { name="Omisc"; version="0.1.4"; sha256="1f6aakywjabq0xds5yl70ivr1jmw26zry2m65xszfp8p5mp45c7g"; depends=[copula MASS psych]; };
   OmnibusFisher = derive2 { name="OmnibusFisher"; version="1.0"; sha256="0x3q04g45nixgsrl4biqqi6bk4kx79spq5whm3n4ppr0nkv8dw4h"; depends=[CompQuadForm stringr survey]; };
@@ -3327,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]; };
@@ -3361,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.1"; sha256="0m6rwlkba1f53f4mpdg1wy0bf92wigbgp6a6i9y1b8hy9yv45n19"; 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]; };
@@ -3404,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]; };
@@ -3416,6 +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.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]; };
@@ -3435,7 +3499,7 @@ in with self; {
   PHeval = derive2 { name="PHeval"; version="0.5.4"; sha256="06fy5dm4mnp29f01163rw1d1hyl7rlcp4pfw18s87ckpr931qyma"; depends=[survival]; };
   PICBayes = derive2 { name="PICBayes"; version="1.0"; sha256="1js6zrnyc8v345cds3pypb2g9dd3vvj3bjq159qc113m9ll2xk0b"; depends=[coda MCMCpack survival]; };
   PIGShift = derive2 { name="PIGShift"; version="1.0.1"; sha256="115dnsh4b1rxx1d2kc8x3vl5366h5f0i6gg8l1w3v0f8309qigis"; depends=[ape mvtnorm]; };
-  PINSPlus = derive2 { name="PINSPlus"; version="2.0.5"; sha256="1j44ha8saszw0faxkp2887hhvba9i0m8pcq6bf76190924fq305g"; depends=[cluster doParallel entropy FNN foreach irlba matrixStats mclust Rcpp RcppArmadillo RcppParallel]; };
+  PINSPlus = derive2 { name="PINSPlus"; version="2.0.6"; sha256="0mws1064kwfm3csdzpfn4g2pwjasdmx9nz5x28znxv8hwrlgm2zw"; depends=[cluster doParallel entropy FNN foreach impute irlba matrixStats mclust Rcpp RcppArmadillo RcppParallel]; };
   PIPS = derive2 { name="PIPS"; version="1.0.1"; sha256="1c5v3s6xys9p1q32k6mpsffhi9gwsq951rh12hs76dmak862yspc"; depends=[]; };
   PK = derive2 { name="PK"; version="1.3-5"; sha256="1wzz2qv6h6nc2hcsg4098951i608xbbhc9f9ngamfigh5sbmzbh6"; depends=[]; };
   PKI = derive2 { name="PKI"; version="0.1-9"; sha256="1j8zwjp59bvm1f6cid232n242afjg23q1s438dbzz9wsyc2hx7y6"; depends=[base64enc]; };
@@ -3448,27 +3512,28 @@ 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]; };
   PLordprob = derive2 { name="PLordprob"; version="1.1"; sha256="1g23h3121g9csr85falm6vgzbva42wz3skhfr2rxmvlc3ca4afyp"; depends=[mnormt]; };
   PMA = derive2 { name="PMA"; version="1.2.1"; sha256="1rhiylm3jfarnqdkv7nwg536sgsa30ic80dk9byks9w0wf4mn59s"; depends=[]; };
   PMCMR = derive2 { name="PMCMR"; version="4.4"; sha256="05n13pp5yff6pzk4ry07crddfaj3jlglrd1vkcnacyd8jpaxkd77"; depends=[]; };
   PMCMRplus = derive2 { name="PMCMRplus"; version="1.9.3"; sha256="00sgk4c7vpmbfifrsbqd5gh7hwdpm8kymlpnnrdzlhvkymhbmfkn"; depends=[BWStest gmp kSamples MASS multcompView mvtnorm Rmpfr SuppDists]; };
   PMwR = derive2 { name="PMwR"; version="0.17-0"; sha256="0p5gsagpk5w8nmpg49y74bj0gzk1qdpw1q9679p9qpwmc7xl3k6n"; depends=[datetimeutils fastmatch NMOF orgutils textutils zoo]; };
-  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.6.5"; sha256="0lmznymj95vfyn0c4ga2z0mwfmrjvyr7255silq69w2xq7j8hfrl"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
-  PNSIBGE = derive2 { name="PNSIBGE"; version="0.1.5"; sha256="0hd2lqf26xp11wj06wpqk1v5jr902dyqhv40c6a3x8danrwh5bfa"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
+  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.7.0"; sha256="0bjqahrnsgc5i506jcjcin62lgn9zx2hrpflpnqzhshkhinnxnbz"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
+  PNSIBGE = derive2 { name="PNSIBGE"; version="0.1.6"; sha256="0b3qdg3chgx4g40zyisn2an50brdp0yzzwszyi0cz26n9y302fjb"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
   PNWColors = derive2 { name="PNWColors"; version="0.1.0"; sha256="1phplnclkficfv8s6wsyrckk4ixzbayiy5iix6dddg40485l9nyj"; depends=[]; };
   PO_EN = derive2 { name="PO.EN"; version="1.0"; sha256="1b4vcj6dnfji99nlskjvls996cmb1b2s3mfdammi07sdx625pvji"; depends=[glmnet pROC PUlasso Rcpp RcppArmadillo]; };
   POCRE = derive2 { name="POCRE"; version="0.5.0"; sha256="0aph1lmb0xkzm4l4ah2wrx13d138igf4k4w9wb9lca4vv6m7xzqf"; depends=[EbayesThresh ggplot2 pracma]; };
   POD = derive2 { name="POD"; version="1.2.0"; sha256="1xg2xzfmzg2qrwd02xy4fwsfmccigw6lm5266z6w1kxzb7p7bbw0"; depends=[]; };
   POET = derive2 { name="POET"; version="2.0"; sha256="0w3jhj45sxisyrpcsazbrbcsz7rmraw71jjm0zixbcgc4klb98ar"; depends=[]; };
-  POFIBGE = derive2 { name="POFIBGE"; version="0.1.4"; sha256="1yhzjfy8r8b97pgr829w2s4pc43qxg12mxhfnjm4q7aj8jk565yi"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
+  POFIBGE = derive2 { name="POFIBGE"; version="0.1.5"; sha256="12isw4z9zy1sd153iwlsdch3ikqknn6cgl0xnmyv9dix8w8b0d2s"; depends=[dplyr httr magrittr projmgr RCurl readr readxl survey tibble timeDate]; };
   POINT = derive2 { name="POINT"; version="1.1"; sha256="0bkrsvcmm7927d7c56wr804a2wv5c1dn8y8zhf76433ckj45068x"; depends=[CompQuadForm Matrix rARPACK]; };
   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]; };
@@ -3497,8 +3562,10 @@ in with self; {
   PROreg = derive2 { name="PROreg"; version="1.1"; sha256="0jws41hgrpcih5ispp6f627f81sjbdygzgjbw4gawf31n5z8pi5a"; depends=[car fmsb Matrix matrixcalc numDeriv RColorBrewer rootSolve]; };
   PROscorer = derive2 { name="PROscorer"; version="0.0.1"; sha256="0mgj0mi0vzdk0agimsx4k9i4bss0j5lqiayzhldr1hrqrx2a4f3d"; depends=[PROscorerTools]; };
   PROscorerTools = derive2 { name="PROscorerTools"; version="0.0.1"; sha256="1vliffkfqdn5l96bncfgayv19i20kmawlxi8q853wamj6npdpv5r"; depends=[]; };
-  PROsetta = derive2 { name="PROsetta"; version="0.3.4"; sha256="00wrb92hcsp27jmidp0r3m6kh110wsabbjxi3hs9zr70kydjjwrf"; depends=[equate lavaan mirt mvnfast plink psych]; };
+  PROsetta = derive2 { name="PROsetta"; version="0.3.5"; sha256="1igwhksfqv6pxf5jrhds4xvax0sif62vwj7hk3d3gdq0brgi27b9"; depends=[equate lavaan mirt mvnfast plink psych]; };
+  PRP = derive2 { name="PRP"; version="0.1.1"; sha256="1q4idlk2crxsd841b203hkcyp9glqhsg83liddqlxixxih7rkzp1"; depends=[mvtnorm]; };
   PRROC = derive2 { name="PRROC"; version="1.3.1"; sha256="1m28h8pcd78049lz2qixhkcr9h5b3jik3maqzfbvq9y58z71i4a7"; depends=[]; };
+  PRSPGx = derive2 { name="PRSPGx"; version="0.1.0"; sha256="068r4krx6y40w9mmjv2z04di9w3ydas3lgpwhjqlnsfq0yjk5ias"; depends=[bdsmatrix bigparallelr bigsnpr bigsparser bigstatsr gglasso GIGrvg glmnet lmtest Matrix MCMCpack mvtnorm propagate SGL]; };
   PRSim = derive2 { name="PRSim"; version="1.3-1"; sha256="1iq81vdxwd504cqjn243hs8x8ph7yvf06gj4amf7cgg1j6862d35"; depends=[goftest homtest lmomco mev splus2R wavScalogram]; };
   PReMiuM = derive2 { name="PReMiuM"; version="3.2.7"; sha256="108ijvhs48i0sphqvpkxa3bwcsak7098irz5x82zja42h9bz5hwf"; depends=[BH cluster data_table gamlss_dist ggplot2 plotrix Rcpp RcppEigen rgdal spdep]; };
   PResiduals = derive2 { name="PResiduals"; version="1.0-1"; sha256="0mq16cs07hw5c9jj08vpgbb15xvjvz9h0npsbqphiibsb6ca5fwb"; depends=[Formula MASS rms SparseM]; };
@@ -3507,15 +3574,16 @@ in with self; {
   PSF = derive2 { name="PSF"; version="0.4"; sha256="1hjry8vjqr6zk2i2ppf3fcpsr4v4jm1705qv6i1iz2agl6g2rcnp"; depends=[cluster data_table forecast knitr]; };
   PSIMEX = derive2 { name="PSIMEX"; version="1.1"; sha256="0cndzasvg4y49incyd9nfz8y3z88ywbc7xk0zzjir665pv2xn23b"; depends=[knitr MCMCglmm pedigree plotrix]; };
   PSLM2015 = derive2 { name="PSLM2015"; version="0.2.0"; sha256="1f8kzlqil2ac8a9fbj9fhdni2narh2yaaz044mlx7gsv2ns3ai19"; depends=[dplyr ggplot2 magrittr]; };
-  PSPManalysis = derive2 { name="PSPManalysis"; version="0.3.4"; sha256="1w51b0dck9b14vnk91ihrm3z574m65b7mdi29jwjsj5v0vh1gang"; depends=[pkgbuild rstudioapi]; };
+  PSPManalysis = derive2 { name="PSPManalysis"; version="0.3.7"; sha256="1l8pik1abfrcid8ffwp3gjl9z5iby6l5xcmv1vcg1cbd96z4rvqn"; depends=[pkgbuild rstudioapi]; };
   PSS_Health = derive2 { name="PSS.Health"; version="0.3.1"; sha256="0k5726b4hm2cnxg2qr7rdvv5n5bn2jlaxfcy3088k6vbhqz4f8df"; depends=[DT easypower EnvStats epiR ICC_Sample_Size kappaSize longpower plotly powerMediation powerSurvEpi presize pROC pwr pwr2 shiny shinycssloaders shinyFeedback shinyhelper tidyverse writexl]; };
   PSSIM = derive2 { name="PSSIM"; version="0.1.0"; sha256="144lh31b1c4ycq0wrgf9745q0c8b5sfnmrd0f7vwx95i86bzr3mj"; depends=[]; };
-  PSSMCOOL = derive2 { name="PSSMCOOL"; version="0.2.2"; sha256="04wh8hkpxzf0ldsydq4czg3f5v1zwr1ky86hi42hy9xr94m5mi1r"; depends=[dtt gtools infotheo phonTools]; };
+  PSSMCOOL = derive2 { name="PSSMCOOL"; version="0.2.4"; sha256="0iyhs2sas08kjl6hd0y4n4rz4lvvvlrz3w3izl3may6mscykrciy"; depends=[dtt gtools infotheo phonTools]; };
   PST = derive2 { name="PST"; version="0.94"; sha256="0f28zrnlficbi9iil6wbh51k9mghpkz63hw05lpmlpx1yl5nd0a6"; depends=[RColorBrewer TraMineR]; };
   PSW = derive2 { name="PSW"; version="1.1-3"; sha256="0ahm7rp795d7j88n15b3q0gl573p3g0krc7jd1zv87g4bsdc9b5x"; depends=[gtools Hmisc]; };
-  PSweight = derive2 { name="PSweight"; version="1.1.5"; sha256="06vn5xv7s80pb88vhwfgbff6jly9p0fpa81p48vijjff2gg6d6nh"; depends=[gbm ggplot2 MASS nnet numDeriv SuperLearner]; };
+  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]; };
@@ -3527,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]; };
@@ -3552,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]; };
@@ -3561,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=[]; };
@@ -3585,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]; };
@@ -3595,12 +3663,13 @@ in with self; {
   PharmPow = derive2 { name="PharmPow"; version="1.0"; sha256="0gabkd8p4zsig9p697lyk8m2jxb5abjk81rpzd5ih1yk1qanhsn5"; depends=[scatterplot3d]; };
   Phase123 = derive2 { name="Phase123"; version="2.1"; sha256="0bz867wsnrflzlzrql1vgacymx70rb9wik9jw3g34i2vigpl8x8i"; depends=[Rcpp RcppArmadillo survival]; };
   Phase12Compare = derive2 { name="Phase12Compare"; version="1.5"; sha256="0n9rjgdllpnj451a8d4p8x3mjf23czcmk7cn1c9v3l7mg4jn18h2"; depends=[mvtnorm Rcpp RcppArmadillo]; };
+  PhaseTypeR = derive2 { name="PhaseTypeR"; version="1.0.1"; sha256="0kr8ysk2zlaap70v1nz9kcxppc9zb49xrwcv103lcn7gacz0iavx"; depends=[expm igraph]; };
   PheCAP = derive2 { name="PheCAP"; version="1.2.1"; sha256="00dfy0iby21kqfxz2npz4dn1klxcdlll8xrk2hsmc56fjfidbdhz"; depends=[glmnet RMySQL]; };
   PheNorm = derive2 { name="PheNorm"; version="0.1.0"; sha256="10223yfaajzq1ip5qj3kk6iyjzrbb619jkrsxawb0dpkrj56d8v7"; depends=[]; };
   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]; };
@@ -3612,18 +3681,19 @@ 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.2.0"; sha256="19ynvclgj2148gphqq825byj6xdvjr5i15h448505gv4j1viw0cx"; 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]; };
   PlotRegionHighlighter = derive2 { name="PlotRegionHighlighter"; version="1.0"; sha256="0n1nkfr3sdaq6f5p9kgx4slrsvhpdbax3rinrkfkb1vnjj4swj77"; depends=[]; };
   PoA = derive2 { name="PoA"; version="1.2.1"; sha256="0y8aqz1ainxdglxlfp9iqhvkmirpmc7dvwrcxz2l8lln86yrfqx6"; depends=[dplyr nloptr pracma tibble]; };
   PoDBAY = derive2 { name="PoDBAY"; version="1.4.3"; sha256="1c1dmggcc8k4h56063r97gjavd44llc51j54qs1wck9zir414i8w"; depends=[dplyr ggplot2 Rcpp]; };
+  PoPdesign = derive2 { name="PoPdesign"; version="1.0.0"; sha256="09bp31j3qvxancfiz242g752jms5nkjdsl63qinfi96pdq6snbrj"; depends=[Iso knitr magick]; };
   PoSI = derive2 { name="PoSI"; version="1.1"; sha256="1xwlj8dibaik37z6vj9q9vawavi7d49906wvxdd4drjzxzapq4ng"; depends=[]; };
   PogromcyDanych = derive2 { name="PogromcyDanych"; version="1.7"; sha256="1fld65ksw47hvp0k1mjll0pxcpf0cjdqj5qhjx88mrbsr2f1y7x4"; depends=[dplyr SmarterPoland]; };
   PoiClaClu = derive2 { name="PoiClaClu"; version="1.0.2.1"; sha256="1q89b0nypz2iivmgwg1nb1l7p285wy00s40j3qp8zc78ra1rjhyx"; depends=[]; };
@@ -3635,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]; };
@@ -3644,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]; };
@@ -3659,15 +3730,15 @@ in with self; {
   PortfolioEffectHFT = derive2 { name="PortfolioEffectHFT"; version="1.8"; sha256="0y4x0d91j6g52136d921hfs5swzf85gkxafxfkf3c15dl5ns120v"; depends=[ggplot2 rJava zoo]; };
   PortfolioOptim = derive2 { name="PortfolioOptim"; version="1.1.1"; sha256="01fw1zr1gr6nlcgw8dlc66b3ygkl6w571lw73p13h0q17y1i872d"; depends=[Rsymphony]; };
   PosRatioDist = derive2 { name="PosRatioDist"; version="1.0.1"; sha256="11909qi7qm856nvpj1m25mpy8gig5dc3q2wc8rzjlxp8md5a8lax"; depends=[BMS mvtnorm NORMT3]; };
-  PostcodesioR = derive2 { name="PostcodesioR"; version="0.3.0"; sha256="1502dkkm0qnsdvw2ghi1qm2p9rlkw5n17pwz2s20ca9a6rnf4787"; depends=[httr]; };
+  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.3"; sha256="07lb57xkiym6xr3d2krbg3zx8i0b2rhvc2mgflc3asx2qm2p4hfr"; 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]; };
   PreProcessing = derive2 { name="PreProcessing"; version="0.1.0"; sha256="08wrdg3q7r8h7lqn3yppl3qqlhnaak81vd9ymqlkzw92981rxxzx"; depends=[ggplot2]; };
@@ -3696,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]; };
@@ -3725,14 +3796,14 @@ in with self; {
   PupillometryR = derive2 { name="PupillometryR"; version="0.0.4"; sha256="0yk30sgl2qqa6pva649swq523vh446ifmydildycfvfmlm1h4qza"; depends=[data_table dplyr fda ggplot2 itsadug lazyeval mgcv rlang signal tidyr zoo]; };
   PurBayes = derive2 { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; };
   Pursuit = derive2 { name="Pursuit"; version="1.0.2"; sha256="1dd5idsqx08yyn92mwszad7rgl4hf2vr2a0m0cjqpa00cym43z7l"; depends=[MASS]; };
-  PwrGSD = derive2 { name="PwrGSD"; version="2.3.3"; sha256="18qb1an6i5p08dvimwc0n95b4m1myh3k64iinsx0121jzprzcxxp"; depends=[survival]; };
+  PwrGSD = derive2 { name="PwrGSD"; version="2.3.6"; sha256="1sxm4g4hrnn7rqxgx4pi98jlh15a8hm8jnrnmcyi2yj86x5l35r0"; depends=[survival]; };
   PxWebApiData = derive2 { name="PxWebApiData"; version="0.7.0"; sha256="05bcang9738x1d9w17s5sy93bi9749ka45vfzwa9db51a0hys3wb"; depends=[httr jsonlite pxweb rjstat]; };
   Q2q = derive2 { name="Q2q"; version="0.1.0"; sha256="1n97axhcq64fg92cbndqw70c8awknjap91bh2h6i5cvd0c80pb85"; depends=[]; };
   Q7 = derive2 { name="Q7"; version="0.1.0"; sha256="09jhqraajvlm7iiri4f7xlllkcx8q5h3sg472ishj47wg5qf2rym"; depends=[magrittr]; };
   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]; };
@@ -3763,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.6"; sha256="1198qrrl7samm4jzliy5i8wfvladz6wpm48l1g2x6ackm1asiw75"; 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.7"; sha256="19dvdfchk19mm41910g2m34xn3agbxymcsa8gjc4fxc5pikyc8rf"; 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=[]; };
@@ -3777,12 +3850,13 @@ 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.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=[]; };
   Quartet = derive2 { name="Quartet"; version="1.2.2"; sha256="0yb4i55zvgn3al01qvr78v9psvn7b1x1fz69mmy3i010lqbyyjnq"; depends=[ape Rcpp Rdpack Ternary TreeTools viridisLite]; };
   QuasiSeq = derive2 { name="QuasiSeq"; version="1.0-10-2"; sha256="1mr43vys9l1n859lzlcakjrvjllybgrwl0p8mc28h7m87yjkj670"; depends=[edgeR mgcv pracma]; };
-  R_SamBada = derive2 { name="R.SamBada"; version="0.1.2"; sha256="123a7s3rcmraq4chiqjkdp969jmr4c5br2xamdgvj6gzaf8zpmg0"; depends=[gdsfmt SNPRelate]; };
+  R_SamBada = derive2 { name="R.SamBada"; version="0.1.3"; sha256="020f7fy0w6hy3gh5i8icny7gdgz6g29zr26b6pjglq0nsyxk8wc0"; depends=[gdsfmt SNPRelate]; };
   R_cache = derive2 { name="R.cache"; version="0.15.0"; sha256="09pipn1974ivjh4sm3n5fjlh31rilf87p30qwq7y25vriyqd7d5d"; depends=[digest R_methodsS3 R_oo R_utils]; };
   R_devices = derive2 { name="R.devices"; version="2.17.0"; sha256="1djz6vm1b7sjvx1q319dl47gbnz9kvipaxcz9i0spyp094lv3m62"; depends=[base64enc R_methodsS3 R_oo R_utils]; };
   R_filesets = derive2 { name="R.filesets"; version="2.14.0"; sha256="08xv8b3c81nf54viyr3w912al18483k5gfnjpg7bxbdfk70dfzbh"; depends=[digest R_cache R_methodsS3 R_oo R_utils]; };
@@ -3797,7 +3871,7 @@ in with self; {
   R1magic = derive2 { name="R1magic"; version="0.3.2"; sha256="1xfldr5y7pfdi6qljjvckknsv2wi9rnzwmqxkpgnyc96md2fvwjr"; depends=[]; };
   R2019nCoV = derive2 { name="R2019nCoV"; version="0.1.0"; sha256="1959mwacn0zzq0g5ili2v6aqs51rb6qvlsv16xx7qwml8xahf215"; depends=[dplyr ggplot2 jsonlite maps pinyin]; };
   R2Addhaz = derive2 { name="R2Addhaz"; version="0.1.0"; sha256="1xaqbzq2chsgkg1gc163fq8qcgzq9wwn2bm4mwvc31ay0gg4f3xi"; depends=[ahaz caTools pracma Rdpack survival zoo]; };
-  R2BEAT = derive2 { name="R2BEAT"; version="1.0.3"; sha256="1nl9yy62n1mgf9y0n0d7xj52w2n5m5hph0pmj2s666jkrgqvl4fr"; depends=[devtools plyr sampling SamplingStrata]; };
+  R2BEAT = derive2 { name="R2BEAT"; version="1.0.4"; sha256="048x0qvz2w58pby1pz4r1zdbq2v72mrrgaydva6ar0vjps0c2y5s"; depends=[devtools glue sampling]; };
   R2BayesX = derive2 { name="R2BayesX"; version="1.1-1.1"; sha256="1xa6df4188xvwg70w5adhflzn93i5hn99snyswmch5icinxdkxlg"; depends=[BayesXsrc colorspace mgcv]; };
   R2DGC = derive2 { name="R2DGC"; version="1.0.3"; sha256="0f84fmpf3m2s2p6bllvjs8rgnhwjy54adblv02dq8gakwvb4j2aw"; depends=[]; };
   R2DT = derive2 { name="R2DT"; version="0.2"; sha256="0hyisq6mij80v14sjspn9idd1h38sd1knbpd0dn2wy9k2w1fl0pk"; depends=[data_table devFunc plyr]; };
@@ -3823,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=[]; };
@@ -3834,20 +3908,21 @@ 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]; };
   RBPcurve = derive2 { name="RBPcurve"; version="1.2"; sha256="0zkfvnhm780vid4qqdrx9mnc6jxxrmrnq47pqvk35rm3m4l96782"; depends=[BBmisc checkmate mlr shape TeachingDemos]; };
-  RBaseX = derive2 { name="RBaseX"; version="0.3.0"; sha256="15hn04ijvqbza8brca7g06yi621hyf3gjgkfvf1wp4jgzysgd8ww"; depends=[data_table dplyr magrittr openssl R6 RCurl stringr tibble]; };
+  RBaseX = derive2 { name="RBaseX"; version="1.0.0"; sha256="0nj9sc14bc0m0xkdqnc3h7frcn4y0wbdpr6wnd8kvnipcrr3jcrl"; depends=[data_table dplyr httr magrittr openssl pingr R6 RCurl rex stringr tibble]; };
   RBesT = derive2 { name="RBesT"; version="1.6-3"; sha256="0nbqkxsi6di4sd26l9c212sjs2lsvnabwbnf0cx00hmxrxzy0lhl"; depends=[assertthat bayesplot BH checkmate dplyr Formula ggplot2 mvtnorm Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
-  RBestMatch = derive2 { name="RBestMatch"; version="0.1.0"; sha256="1jjap8xh71vx0jjpq0hl3m70adipq8jlsvhk078ajpxa2qhif7gi"; depends=[DiPs mvnfast plyr]; };
+  RBestMatch = derive2 { name="RBestMatch"; version="0.1.1"; sha256="1nx1dnhlqi4gad1yw6h91av911wv6dap252hza98dgjysv46spya"; depends=[DiPs mvnfast plyr]; };
   RBitmoji = derive2 { name="RBitmoji"; version="0.0.2"; sha256="1v9qj3vmqsvnccsy735nbflmd81183h2flm0f1ckd4kl08r2fr3f"; depends=[getPass httr jsonlite png RCurl]; };
   RBtest = derive2 { name="RBtest"; version="1.1"; sha256="09da721zfj6cw4i9gifn5f0sv3nj0qfjb96c5w9g9gzx55ihssnk"; depends=[mice nnet psych]; };
   RCA = derive2 { name="RCA"; version="2.0"; sha256="0pidb5czrf0dc3ywy6cwm5akgsc62pvf94kfyxibzmd1favykx1h"; depends=[gplots igraph]; };
@@ -3857,7 +3932,9 @@ in with self; {
   RCCPCA = derive2 { name="RCCPCA"; version="0.1.0"; sha256="0nix6d8cxi64qfnsk00rpzq9kf07a5skc8zkvywl2y2aw6wrlvnd"; depends=[]; };
   RCEIM = derive2 { name="RCEIM"; version="0.3"; sha256="1kil5r88b6lf8vxmswz0wn0hhjxjm8jmlcl5kxjwl6fwjyy2z120"; depends=[]; };
   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]; };
@@ -3866,16 +3943,17 @@ in with self; {
   RCassandra = derive2 { name="RCassandra"; version="0.1-3"; sha256="0xa241s81cyw6lfjb522f2mlyrd0gav9yz3z5jab9hpdpgg9ri38"; depends=[]; };
   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.1"; sha256="1zdq3ga2pd0p2gzlm0vr8w3a4rq4hgka3r56kkcym0za0nmqk51v"; depends=[]; };
-  RClickhouse = derive2 { name="RClickhouse"; version="0.5.2"; sha256="1ii4d1nh15km1savahpwgvdn3lb2y7sa44izqydckw1xawwgf7xr"; depends=[bit64 DBI dbplyr dplyr Rcpp]; };
+  RCircos = derive2 { name="RCircos"; version="1.2.2"; sha256="1z0aam60p1b6q7csn50rrwdilm07myr05bw54s9ah8idzyxc7gav"; depends=[]; };
   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]; };
   RColorBrewer = derive2 { name="RColorBrewer"; version="1.1-2"; sha256="1pfcl8z1pnsssfaaz9dvdckyfnnc6rcq56dhislbf571hhg7isgk"; depends=[]; };
   RConics = derive2 { name="RConics"; version="1.0"; sha256="1lwr7hi1102gm8fi9k5ra24s0rjmnkccihhqn3byckqx6y8kq7ds"; depends=[]; };
+  RCreliability = derive2 { name="RCreliability"; version="0.1.0"; sha256="083n6ix9yjnv4aafp11qac891gdhk62mhxmwkx9z3i0sxddwdb6r"; depends=[mgcv sandwich]; };
   RCriteo = derive2 { name="RCriteo"; version="1.0.2"; sha256="1vyhnblw9zr5h6c25lf76p9vn95k8vr0hpq1sjkccdwl9yvsyhfy"; depends=[httr plyr RCurl XML]; };
   RCurl = derive2 { name="RCurl"; version="1.98-1.5"; sha256="13b9vlvknxlcmqgaaxb33srvyshsh59zmdsz4pfgz24i0fd7q63k"; depends=[bitops]; };
   RCytoGPS = derive2 { name="RCytoGPS"; version="1.2.1"; sha256="1ppxyrm9h09kk6lnr6yg3n3xl08l9zp4rqliz92k5h42hmgj6f02"; depends=[rjson]; };
+  RCzechia = derive2 { name="RCzechia"; version="1.9.1"; sha256="1xwzbbap6h02z7jpzrgh0lmrzxssdjh0gr8fk0ivnl8zgfqrfk86"; depends=[curl httr jsonlite magrittr sf]; };
   RDIDQ = derive2 { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; };
   RDML = derive2 { name="RDML"; version="1.0"; sha256="13ly1p42njbcygwvkyii8sjqbsywjy5w5g1kd7m8kswi5dsk3qqv"; depends=[checkmate data_table lubridate pipeR R6 readxl rlist stringr xml2]; };
   RDP = derive2 { name="RDP"; version="0.2.0"; sha256="045jkjzhwsbml95l3spwd2f187pl1rgkaig74v3z97f75mg6ga3d"; depends=[Rcpp]; };
@@ -3883,12 +3961,12 @@ in with self; {
   RDSTK = derive2 { name="RDSTK"; version="1.1"; sha256="07vfhsyah8vpvgfxfnmp5py1pxf4vvfzy8jk7zp1x2gl6dz2g7hq"; depends=[plyr RCurl rjson]; };
   RDStreeboot = derive2 { name="RDStreeboot"; version="1.0"; sha256="10ry8rna450j389cplvyvgwljxa8lli7licwdin64b1kyzy2cdn7"; depends=[]; };
   RDataCanvas = derive2 { name="RDataCanvas"; version="0.1"; sha256="1aw19lmdphxwva5cs3f4fb8hllirzfkk48nqdgrarz32l11y5z5j"; depends=[jsonlite]; };
-  RDieHarder = derive2 { name="RDieHarder"; version="0.2.2"; sha256="1d74h2rx0qwpknn9378a2i2kbl43k6dk0cqhwp82ahrjnimvazm6"; depends=[]; };
+  RDieHarder = derive2 { name="RDieHarder"; version="0.2.3"; sha256="0k4v5dyafaaj99h8khf402kni244p1718b0vnl1gpqb5r2wkfdvw"; depends=[]; };
   RDnp = derive2 { name="RDnp"; version="1.3"; sha256="1a10afwn41c0sd35i2hywg79gyf55nd212rfq5pv5inqdrr7kxym"; depends=[cellWise MASS]; };
   RDocumentation = derive2 { name="RDocumentation"; version="0.8.2"; sha256="0qdn3c5xbjyrhk56wfch50xpyyfd4f79hs0v00cqk9iwsnjlwmb5"; depends=[httr proto rjson]; };
   RDota2 = derive2 { name="RDota2"; version="0.1.6"; sha256="0fjsgg4dmzw2xwrf8jxq0f2d7f78bf67bl3ms5qcjk9kskfnymag"; depends=[httr jsonlite]; };
   REAT = derive2 { name="REAT"; version="3.0.3"; sha256="1bnmk74xdxckni6alp5kslsb3w7jlnfwc27mi5y3lry7zrvxi6lk"; depends=[]; };
-  REBayes = derive2 { name="REBayes"; version="2.2"; sha256="1jh5vw9pbcf5gpmx3b5b36fh8rz5y8npx53aai0kxh49kjf8d63c"; depends=[Matrix reliaR]; };
+  REBayes = derive2 { name="REBayes"; version="2.50"; sha256="0npwm81fdzfj190s8shaxb9dwsg796jh5p59jr84876s7z4d8w0k"; depends=[lattice Matrix reliaR]; };
   RECA = derive2 { name="RECA"; version="1.7"; sha256="1xikj20flqajpkw4wyynmqd1pafbylzwfrmc8bz9pqgggjjhrqql"; depends=[]; };
   REDCapExporter = derive2 { name="REDCapExporter"; version="0.2.2"; sha256="0w7c1y58vnkbd11ndkcn5s5c54pmvyqhflwgg2q6dc3n671yp9wx"; depends=[curl data_table keyring lubridate]; };
   REDCapR = derive2 { name="REDCapR"; version="1.0.0"; sha256="1x1nrwrlv2xh0p13asj1hxm8jpc623mjf2m3lybj6466jm2qh33m"; depends=[checkmate dplyr httr magrittr readr rlang tibble tidyr]; };
@@ -3903,7 +3981,7 @@ in with self; {
   RESS = derive2 { name="RESS"; version="1.3"; sha256="1vddmifp47ia0sk35rnjpvw6gr9ygygafqczq268h17i1qs6ar22"; depends=[]; };
   REST = derive2 { name="REST"; version="1.0.1"; sha256="16v89z7p9qkg7bsypf9vkrnbmb2n7gw3fqnfzbyxwj496wzxdv1x"; depends=[Rcmdr]; };
   REdaS = derive2 { name="REdaS"; version="0.9.3"; sha256="09mmcvzgsxvrcq7sq3pw81pxgb1493p8lx8p5hhz8i42vshza6pn"; depends=[]; };
-  REddyProc = derive2 { name="REddyProc"; version="1.3.0"; sha256="0n2izw1lq6wbygzv0rqc36yqb53hgspiz66wbn9b6f6c81vkbqhw"; depends=[bigleaf dplyr magrittr mlegp purrr Rcpp readr rlang solartime tibble]; };
+  REddyProc = derive2 { name="REddyProc"; version="1.3.1"; sha256="1n9ykffn7sw6y7ywg0hl9gldn9nrzjmis03ikfjjd8khz4jrqhgy"; depends=[bigleaf dplyr magrittr mlegp purrr Rcpp readr rlang solartime tibble]; };
   REddyProcNCDF = derive2 { name="REddyProcNCDF"; version="1.1.4"; sha256="099f4mzqj7pjlrs8rdjg44mjm0058x3pj2imrfvk892hmlk4r53p"; depends=[REddyProc]; };
   REndo = derive2 { name="REndo"; version="2.4.3"; sha256="1h7ycxwklb9dbb8q0g9cagjl93jhbjc86l25s1imdp1rqfsv8i6c"; depends=[AER corpcor data_table Formula lme4 lmtest Matrix mvtnorm optimx Rcpp RcppEigen]; };
   RFCCA = derive2 { name="RFCCA"; version="1.0.7"; sha256="0v0himz0zz6f52vvc5h33qiij0101zgihzwak8cw5193xzsfmr4g"; depends=[CCA PMA]; };
@@ -3914,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.5"; sha256="12dq04xpl06zhkzwqx3zy0bkpvb5phbdj2inxsyczf6d4dk209mb"; depends=[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]; };
@@ -3936,7 +4014,6 @@ in with self; {
   RGraphics = derive2 { name="RGraphics"; version="3.0-2"; sha256="02gp2lqc5qzid81d28cqb7x88zr0ivxppy55a9q649whcd027071"; depends=[ggplot2 gridBase gridGraphics gridSVG grImport grImport2 lattice]; };
   RGreenplum = derive2 { name="RGreenplum"; version="0.1.2"; sha256="1mc0zmmnb9306j2cjn1j71bp35ri8p35rw6rlmrqyxgpvlw09r3d"; depends=[DBI RPostgres]; };
   RGremlinsConjoint = derive2 { name="RGremlinsConjoint"; version="0.9.0"; sha256="1ppyvb3l13xz0fihskckmm53ppgfb577n0359kc1bip4bpgky3li"; depends=[bayesm]; };
-  RGtk2 = derive2 { name="RGtk2"; version="2.20.36.2"; sha256="1m3a3h3yxmr2qpcdyxrwxrdplvhb4rprvd8cnmfwk3zkazd69f9n"; depends=[]; };
   RH2 = derive2 { name="RH2"; version="0.2.4"; sha256="14590l3a2znd56nrq1zfbfv7fgii4672qy1xfwiynrh3mjad217k"; depends=[chron rJava RJDBC]; };
   RHMS = derive2 { name="RHMS"; version="1.7"; sha256="1fld5y39a4xq40wh23944ngcrkqk2pw8w9raxir9wn2z2nysr7zg"; depends=[GGally ggplot2 Hmisc network pso]; };
   RHPCBenchmark = derive2 { name="RHPCBenchmark"; version="0.1.0"; sha256="1f94d8z15ybqgc2pccsi1m6563xf26ygri6f4pwxkqjmxkxnk34y"; depends=[cluster Matrix mvtnorm]; };
@@ -3963,9 +4040,9 @@ in with self; {
   RJDemetra = derive2 { name="RJDemetra"; version="0.1.9"; sha256="0av3yqibyipxvch5p2zv9r82pvpvl406nxd5pkm4pnbjndw09j3s"; depends=[rJava]; };
   RJSDMX = derive2 { name="RJSDMX"; version="2.3-3"; sha256="02lbg82g4abng5vcn2g8ghvmg69q35my8smnbvd09yvha8hb49ps"; depends=[rJava zoo]; };
   RJSONIO = derive2 { name="RJSONIO"; version="1.3-1.6"; sha256="17x0ayk7daprbc8w2hvb2jl9mfnw4dic9yc3sr5adcjqfzmcklc2"; depends=[]; };
-  RJSplot = derive2 { name="RJSplot"; version="2.5"; sha256="0p2zqbq29pfjl703wqqjzgmif7yfzz7l8rzarjf5axkdy7w7fcyl"; 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]; };
@@ -3976,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=[]; };
@@ -3997,18 +4074,19 @@ 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.3.0"; sha256="0la0a4d59vx776zqin8wkkldjbzplbhpr79whx85qbvywzlw43sk"; 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.1.2"; sha256="1p8fghpi2nrccv9iz3agr1aiapbkq7irl7vdgr9yaskm940cp0g9"; depends=[bit64 DBI hms lubridate plogr Rcpp]; };
+  RMariaDB = derive2 { name="RMariaDB"; version="1.2.1"; sha256="032zrwqf2w1cfkm0ryblc4sms2y5cl0fzyp0ijlk7kjld04nl5y9"; depends=[bit64 blob DBI hms lubridate plogr Rcpp rlang]; };
   RMark = derive2 { name="RMark"; version="2.2.7"; sha256="0qxa383cagzqrnfc3izybb4lrg8z1r3nw1j5b7h4wkjwy0k3kczb"; depends=[coda matrixcalc msm]; };
   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.22"; sha256="05hiwqakhz11kra24yyxrss8b8n32wg7k39j7hwdnvhh1n96scnl"; depends=[DBI]; };
+  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]; };
+  RNAsmc = derive2 { name="RNAsmc"; version="0.7.0"; sha256="13biayrgs9qb06w3rkwrmplnrm93zlygsfm7chy6jbp15xl3bf0c"; depends=[circlize RRNA]; };
   RNAstructureModuleMiner = derive2 { name="RNAstructureModuleMiner"; version="0.1.0"; sha256="026r1h4z1jdfww0ay9iixa77ax6b19pgp589bbn77xg1vwjjlbsk"; depends=[RRNA]; };
   RNCBIEUtilsLibs = derive2 { name="RNCBIEUtilsLibs"; version="0.9"; sha256="1h1ywx8wxy6n2rbpmjbqw4c0djz29pbncisd0mlbshj1fw226jba"; depends=[rJava]; };
   RNCEP = derive2 { name="RNCEP"; version="1.0.10"; sha256="19ja7pcp7ajwhqhqw92pdmvxzyjc4kw3943pllpx47s1zvi6dmci"; depends=[abind fields maps RColorBrewer sp tgp]; };
@@ -4030,7 +4108,7 @@ in with self; {
   ROCaggregator = derive2 { name="ROCaggregator"; version="1.0.1"; sha256="1l53z1xz5ww0bdd3pcmscmm4ypg0fdl4a03vv8ya2jk0zzlndlnq"; depends=[magrittr]; };
   ROCit = derive2 { name="ROCit"; version="2.1.1"; sha256="0sd6ckh7k8aqwhzzp3qff6g7d03klbr0mbp403pib3823c8pqa55"; depends=[]; };
   ROCket = derive2 { name="ROCket"; version="1.0.1"; sha256="1p5b1408fdq8z64b7ihwcdxprg5rfiq4z5annxzvmizzr6qwn8qa"; depends=[data_table]; };
-  ROCnReg = derive2 { name="ROCnReg"; version="1.0-6"; sha256="0qsyx65db626fig5sdj2qch8cyx5h1d1kl81y5zfpfc1407gq4pz"; depends=[lattice MASS Matrix moments nor1mix np pbivnorm spatstat spatstat_geom]; };
+  ROCnReg = derive2 { name="ROCnReg"; version="1.0-7"; sha256="09v7qi5q5m969j1g6fwgb4nsls60vcfrz1z1v111mv9dzq85dxxp"; depends=[lattice MASS Matrix moments nor1mix np pbivnorm spatstat spatstat_geom]; };
   ROCpsych = derive2 { name="ROCpsych"; version="1.3"; sha256="0fcrhhxmvrrchbswb94liahbgz5pfhs86fbj0vby7vnakrhngh7v"; depends=[pROC reportROC]; };
   RODBC = derive2 { name="RODBC"; version="1.3-19"; sha256="1zjf5mfv906kxy4cn2l10z35l7m5878aqjx9yj6pr2ydfxlbvz1s"; depends=[]; };
   RODBCDBI = derive2 { name="RODBCDBI"; version="0.1.1"; sha256="0jkcc1lm8drsx1pkfj5h6rlbr98cgpvbf9ndzdwr048f3s8gd26i"; depends=[DBI RODBC]; };
@@ -4040,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=[clpAPI 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]; };
@@ -4084,19 +4161,18 @@ in with self; {
   RPPanalyzer = derive2 { name="RPPanalyzer"; version="1.4.7"; sha256="16xppv7pzqk6kriqd5ym313z1r61l13dzpxp2q2zi0ai23hjgg92"; depends=[Biobase gam ggplot2 gplots Hmisc lattice limma quantreg]; };
   RPS = derive2 { name="RPS"; version="1.0.1"; sha256="16n6wknw2m56kwi6rswgxjwjqblhaz5gyw94f96a7l6navqnvlp4"; depends=[ape geomorph Gmedian igraph MASS matlab]; };
   RPostgreSQL = derive2 { name="RPostgreSQL"; version="0.7-3"; sha256="1fbixmnjp1kh6yiv8zhg8zi5ryvdf5j2jxv4agq5gcxf541s3g5x"; depends=[DBI]; };
-  RPostgres = derive2 { name="RPostgres"; version="1.4.1"; sha256="1nh31z89f3ppsc26fsssjbp6x9zwakimvnmvbhrnd53726pc7hkz"; depends=[bit64 blob DBI hms lubridate plogr Rcpp withr]; };
+  RPostgres = derive2 { name="RPostgres"; version="1.4.3"; sha256="1qhv6f9wcxdi83armsmcgfqmphf4qlnyxipxvbx8ksdnai54kgm5"; depends=[bit64 blob DBI hms lubridate plogr Rcpp withr]; };
   RPresto = derive2 { name="RPresto"; version="1.3.7"; sha256="1iyprqlr0c73j63p0bc98bfq6dcmm1kzcj86q4y34vvwjqcbb99c"; depends=[DBI httr jsonlite openssl purrr Rcpp stringi]; };
   RProbSup = derive2 { name="RProbSup"; version="3.0"; sha256="1z53zgx26fwfhb1vxad0l51v34y2lsplhwbjaf4r44rngdaw9h5n"; depends=[]; };
-  RProtoBuf = derive2 { name="RProtoBuf"; version="0.4.17"; sha256="0krbxalcfg47cmrwfajgbhmn6rs687ranaiq5j0daw7a1k4qdfd8"; depends=[Rcpp RCurl]; };
+  RProtoBuf = derive2 { name="RProtoBuf"; version="0.4.18"; sha256="1jgfbbb1yjjxikgsmbrrm5jv7gx7xmcv1x1lasc43y2q9hy3yd2h"; depends=[Rcpp]; };
   RPscoring = derive2 { name="RPscoring"; version="0.1.0"; sha256="063w83k9krwv3wvw2iq8bqkhjaj26as14d9g99l8jxfc02ljv1rr"; depends=[]; };
   RPtests = derive2 { name="RPtests"; version="0.1.5"; sha256="04j4nqy2qxn1pa8ar0j0wgzkpd624983wwhd73l1ax7fnskx0yhh"; depends=[glmnet randomForest Rcpp]; };
   RPublica = derive2 { name="RPublica"; version="0.1.3"; sha256="1w2pn1g44a00ls8kkzj53a739pq6vzp38px2k0yh10rlzimmb21l"; depends=[curl httr jsonlite]; };
   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=[]; };
@@ -4105,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=[]; };
@@ -4123,13 +4199,13 @@ in with self; {
   RSNNS = derive2 { name="RSNNS"; version="0.4-14"; sha256="081c20dcac8xxb0sp7kwzm4b7h5jrgcxxsfckjbxbda95g5n4qkz"; depends=[Rcpp]; };
   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.8"; sha256="1hscgi11px9hq0sx78c2lkfzq121rlvmhxmqf305xg6lgqdxr2hv"; 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]; };
+  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.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]; };
   RSauceLabs = derive2 { name="RSauceLabs"; version="0.1.6"; sha256="1p7hw6vnlg6w5ggmfpc3q3s6n1fikjkjnxzz97jifiy0zwn5dp9i"; depends=[data_table httr jsonlite whisker xml2]; };
-  RScelestial = derive2 { name="RScelestial"; version="1.0.2"; sha256="0mjh1qx7mj4s1jk2ywq13b09gks0bqla55jl6xl47749xrsl95wn"; depends=[Rcpp]; };
+  RScelestial = derive2 { name="RScelestial"; version="1.0.3"; sha256="1bxp3xl90s9fblm6d2mmsnws4iv9f3kxj8cs55kmbakz5dq4nqxc"; depends=[Rcpp]; };
   RSclient = derive2 { name="RSclient"; version="0.7-6"; sha256="0vhj2f7bgjcfbshbprqxqyxv6bxkfzn3gpjp7hqnw72da602igya"; depends=[]; };
   RSeed = derive2 { name="RSeed"; version="0.1.60"; sha256="0rvb6w4z5c2wcdgx5w6vv7c8il8d0096pgv3fyvw21ag25z605jc"; depends=[graph RBGL sybil]; };
   RSelenium = derive2 { name="RSelenium"; version="1.7.7"; sha256="1xn5fdbzmq7b1f5fc9ls23g177bmnd8bn4p4d8aafr6z3jwkmfir"; depends=[binman caTools httr openssl wdman XML]; };
@@ -4155,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=[]; };
@@ -4166,7 +4242,7 @@ in with self; {
   RUVIIIC = derive2 { name="RUVIIIC"; version="1.0.19"; sha256="1px87p4nmdgkxwarsqyc91kmwr13dy16c1qqqc86qlwm2w46smf6"; depends=[progress Rcpp RcppEigen RcppProgress RSpectra]; };
   RUnit = derive2 { name="RUnit"; version="0.4.32"; sha256="1wc1gwb7yw7phf8b0gkig6c23klya3ax11c6i4s0f049k42r78r3"; depends=[]; };
   RVA = derive2 { name="RVA"; version="0.0.5"; sha256="1a0av2vhqnkc4w76q5dhds0p12icmkkxyr1d04rsd83srwkwh4fb"; depends=[circlize clusterProfiler ComplexHeatmap data_table dplyr edgeR ggplot2 ggpubr gridExtra GSEABase GSVAdata haven msigdbr org_Hs_eg_db plotly purrr rlang rWikiPathways stringr tibble tidyr XML]; };
-  RVAideMemoire = derive2 { name="RVAideMemoire"; version="0.9-80"; sha256="1c25nck6knllcbbvk9yp82l3mpk2gym0axmfla4i3brfvz9lbqn0"; depends=[ade4 boot car FactoMineR lme4 MASS mixOmics nnet pls pspearman vegan]; };
+  RVAideMemoire = derive2 { name="RVAideMemoire"; version="0.9-81"; sha256="1niq4imvgn8v9lkcysfksb9mhmdkf3790sycfk8c85psrh9l294x"; depends=[ade4 boot car FactoMineR lme4 MASS mixOmics nnet pls pspearman vegan]; };
   RVCompare = derive2 { name="RVCompare"; version="0.1.5"; sha256="17ralm3xbzgi1ngblwf6pmpaz7c5vwkfinnpwyxvlrwi8mxi554h"; depends=[ggplot2 pracma Rcpp]; };
   RVFam = derive2 { name="RVFam"; version="1.1"; sha256="0gw8rgq11zndnqmay6y3y5rmmljvwhxzm2pqa90vs5413dnchq92"; depends=[coxme kinship2 lme4 MASS Matrix survival]; };
   RVIpkg = derive2 { name="RVIpkg"; version="0.2.8"; sha256="0hh3kqzfwbp0qc1v5baixnl3px54dwvljd1r23s8lxlg434pl7fz"; depends=[]; };
@@ -4184,7 +4260,7 @@ in with self; {
   RWiener = derive2 { name="RWiener"; version="1.3-3"; sha256="0afrgflyfjv4jqm04had74zz4cs934zwvyxaan1r4qpg383kibpq"; depends=[]; };
   RWildbook = derive2 { name="RWildbook"; version="0.9.3"; sha256="1pznzmv8n33hhj61h07fha1gzafcx705n8323cnz3mx6ziijfh28"; depends=[data_table jsonlite marked]; };
   RWmisc = derive2 { name="RWmisc"; version="0.1.1"; sha256="1p2ksnwwbp5dhj4lmz09fbghs010p7nhpx039lc96n1h7y6azzqs"; depends=[raster sf sp units]; };
-  RWsearch = derive2 { name="RWsearch"; version="4.9.3"; sha256="04r1h7qd71vadf641sllxxiypbf8xwa60pf3m683ply99v03bh3i"; depends=[brew latexpdf networkD3 sig sos XML]; };
+  RWsearch = derive2 { name="RWsearch"; version="4.9.8"; sha256="068kbbh13a7j0h356dl0dy29221r37mjazvki7wpf64nb01r916d"; depends=[brew latexpdf networkD3 sig sos XML]; };
   RXKCD = derive2 { name="RXKCD"; version="1.9.2"; sha256="1yk12ic6kdbwc44ppag2yfnga7xjmifkglhvcw93vc3qg469mm15"; depends=[jpeg plyr png RJSONIO]; };
   RXMCDA = derive2 { name="RXMCDA"; version="1.5.5"; sha256="1ci73q8xf3xxqw8b7sk83v5vz2cqgcb4lkx7qi3hd1ff4xkz1fpa"; depends=[kappalab XML]; };
   RXshrink = derive2 { name="RXshrink"; version="2.0"; sha256="105laxdjnqpkp74675asihcry6ahaihphkbnpxyi6xpskga0k1ka"; depends=[ellipse lars]; };
@@ -4214,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="1.0.11"; sha256="0m7d46kp7r70v399lk9gf60m0qn548fhdsmnq8kjqmp8dw52s8dz"; 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]; };
@@ -4223,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]; };
@@ -4235,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]; };
-  RawHummus = derive2 { name="RawHummus"; version="0.2.0"; sha256="0zbbmkvbd5zgfpzvgcs2zjl2mych0zyfw4my34jq970ax58d4frj"; depends=[data_table dplyr kableExtra plotly purrr RaMS RColorBrewer rmarkdown shiny shinycustomloader shinydashboard shinydashboardPlus shinyFiles shinyMatrix shinyvalidate]; };
-  Rbeast = derive2 { name="Rbeast"; version="0.9.1"; sha256="0avgd3kl85gw1cd3k6jw800r4a7d8qcmcakk6vjgg56friddx3c5"; depends=[]; };
+  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.11"; sha256="0vfvp0v3nr90l39y93z86fqm93fbkasc5rd61k912qfbw73l8h7w"; 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=[]; };
@@ -4254,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]; };
@@ -4263,7 +4339,7 @@ in with self; {
   RcmdrPlugin_DoE = derive2 { name="RcmdrPlugin.DoE"; version="0.12-3"; sha256="1iifn71kjjgcp7dfz2pjq57mgbv4rrznrl3b3k9gdc2dva1z9zvc"; depends=[DoE_base DoE_wrapper FrF2 Rcmdr RcmdrMisc relimp]; };
   RcmdrPlugin_EACSPIR = derive2 { name="RcmdrPlugin.EACSPIR"; version="0.2-2"; sha256="10r6rb0fwlilcnqxa38zh7yxc54x1a0by5x4f6gzdn9zs7aj5l1r"; depends=[abind ez nortest R2HTML Rcmdr RcmdrMisc reshape]; };
   RcmdrPlugin_EBM = derive2 { name="RcmdrPlugin.EBM"; version="1.0-10"; sha256="02zips1jbfn7cshjlrm1gr632px2zxlys8i0f1nrf1gifl44v1qw"; depends=[abind epiR Rcmdr]; };
-  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.54"; sha256="01pbl09c233aqq85vksr9zdb79hkh6r79r4kkbbmp7n8nclfgfsg"; depends=[Rcmdr readstata13]; };
+  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.55"; sha256="0xdvv6pzkikhdpkqw7dqa7rznp9lhrjs5fyq9z0p11zj9m548775"; depends=[Rcmdr readstata13]; };
   RcmdrPlugin_EcoVirtual = derive2 { name="RcmdrPlugin.EcoVirtual"; version="1.0"; sha256="0q879wnrmgbaddv883q9zdnp0i7kjcgn8cffv7lp8nrsqil6l7mc"; depends=[EcoVirtual Rcmdr]; };
   RcmdrPlugin_Export = derive2 { name="RcmdrPlugin.Export"; version="0.3-1"; sha256="17fn3si6b6h20c52k1k6fv9mslw3f9v0x1kxixzcvq54scdx0sk0"; depends=[Hmisc Rcmdr xtable]; };
   RcmdrPlugin_FactoMineR = derive2 { name="RcmdrPlugin.FactoMineR"; version="1.7"; sha256="1145rpzhq219sl0j2bg5xa0ihq13lmr7ahcn3db4a8mqlz2fp8zy"; depends=[FactoMineR Rcmdr]; };
@@ -4274,7 +4350,7 @@ in with self; {
   RcmdrPlugin_KMggplot2 = derive2 { name="RcmdrPlugin.KMggplot2"; version="0.2-6"; sha256="0xh0lfgmr5sc15f3v5avwy1zl0gk1krlw3jb1prjyk9prp8albz9"; depends=[ggplot2 ggthemes plyr Rcmdr RColorBrewer scales survival tcltk2]; };
   RcmdrPlugin_MA = derive2 { name="RcmdrPlugin.MA"; version="0.0-2"; sha256="1zivlc0r2mkxpx23ba76njmb2wnnjijysvza4f24dg4l47d0sr2p"; depends=[MAd metafor Rcmdr]; };
   RcmdrPlugin_MPAStats = derive2 { name="RcmdrPlugin.MPAStats"; version="1.2.2"; sha256="1ynj42p12ncgrbghd8w7mkyys2cq9r9dpbir57rj3k5l46yzj7d5"; depends=[ordinal Rcmdr]; };
-  RcmdrPlugin_NMBU = derive2 { name="RcmdrPlugin.NMBU"; version="1.8.12"; sha256="0hl6242xssdbin4xdf5k0qrivdkrmmjpn3mj2nsndsr7wi8rbf1z"; depends=[car MASS mixlm phia pls Rcmdr xtable]; };
+  RcmdrPlugin_NMBU = derive2 { name="RcmdrPlugin.NMBU"; version="1.8.13"; sha256="0y58bh8c5c1msmxvw9kl5ia7p19jrb4bf77hb8dwk7kqs97g7wy8"; depends=[car MASS mixlm phia pls Rcmdr xtable]; };
   RcmdrPlugin_PcaRobust = derive2 { name="RcmdrPlugin.PcaRobust"; version="1.1.4"; sha256="17rq3sv8payazjjn5j37cgd6df5b62d2y8al3grw6hw5nfba7lvn"; depends=[Rcmdr robustbase rrcov tkrplot]; };
   RcmdrPlugin_RMTCJags = derive2 { name="RcmdrPlugin.RMTCJags"; version="1.0-2"; sha256="04g5a1dpch54k5ckfkrg4vsap1nc3af1i0i559qigv3hy8n7pm80"; depends=[coda igraph Rcmdr rjags rmeta runjags]; };
   RcmdrPlugin_ROC = derive2 { name="RcmdrPlugin.ROC"; version="1.0-18"; sha256="0alwsvwry4k65ps00zvdqky9rh663bbfaw15lhwydbgcpqdkn2n6"; depends=[pROC Rcmdr ResourceSelection ROCR]; };
@@ -4295,23 +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-4"; sha256="04xc5qzzwb4v44nwvc7y79kfhdyrm21ff92243a0q9fwnl684vjn"; depends=[slam]; };
-  Rcpp = derive2 { name="Rcpp"; version="1.0.7"; sha256="07fwlgmx0ib4nziqbrylla2dlakw04vzny9w4qbfvnhn49rs9r8m"; depends=[]; };
+  Rcplex = derive2 { name="Rcplex"; version="0.3-5"; sha256="10z5akab66d8a3rcs5dbqq1w59hhyn52mq8vpjhcxpzqqc3c7442"; depends=[slam]; };
+  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.7"; sha256="00p4nciy6rv9plzk13sxfvdsr6m9ackjmg647pha9s8nbhlbdjf4"; depends=[Rcpp]; };
+  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.3.0"; sha256="0qk25x8naci76fqcd8jkv8gnba6sj61vkv9yf8498fwff1kvf41p"; 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.9"; sha256="1bnagfhx70xmzjddbaf1cpz4hmx3mhym4fg36hr9025yl7n4agvj"; depends=[Rcpp]; };
+  RcppCCTZ = derive2 { name="RcppCCTZ"; version="0.2.10"; sha256="0jj4w8141xl3yvr4ss8c48kiib5d0rsj7f6csn3hq9viqy71hy1s"; depends=[Rcpp]; };
+  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.3"; sha256="0rixmnr94pcmby08d8k60l2pc7almpmx6xf59mxwjnhr0da8lrs9"; 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]; };
@@ -4333,25 +4410,24 @@ 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]; };
-  RcppMLPACK = derive2 { name="RcppMLPACK"; version="1.0.10-7"; sha256="07vh1wyp2rxhfrb4vi5njchrby99bynd88na8qjxcnbypkgsrhbl"; depends=[BH Rcpp RcppArmadillo]; };
   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]; };
   RcppRoll = derive2 { name="RcppRoll"; version="0.3.0"; sha256="0srzfhzkk42kzrdjnhbb37946jp1p688rgysy6k3i2is8jb21zyb"; depends=[Rcpp]; };
-  RcppSMC = derive2 { name="RcppSMC"; version="0.2.5"; sha256="1jhxyvbgny52kvck276i07g1zz3lzzjw1w2q4xlb50xqwlbks4r0"; depends=[Rcpp RcppArmadillo]; };
+  RcppSMC = derive2 { name="RcppSMC"; version="0.2.6"; sha256="1svpzx4h9baipqnx2793vkjh1lnr92y82whpryqzzm4i7b6zx27i"; depends=[Rcpp RcppArmadillo]; };
   RcppSimdJson = derive2 { name="RcppSimdJson"; version="0.1.6"; sha256="06d2w7a57sidw06ymk3kb0bc1xp0fzzz39m7niwpz0f10203ky0z"; depends=[Rcpp]; };
-  RcppSpdlog = derive2 { name="RcppSpdlog"; version="0.0.6"; sha256="1s9bws7rzj2h42b4zflll6vcmbxcnxx526p8zzwc0wcxsy3ig9yk"; depends=[Rcpp]; };
+  RcppSpdlog = derive2 { name="RcppSpdlog"; version="0.0.7"; sha256="13cn8dm68mhpgimgvk2ybsccs3qjg8c975zdjr8h86vfwyjj4gnv"; depends=[Rcpp]; };
   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]; };
@@ -4367,9 +4443,9 @@ 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.2"; sha256="0s51c5fw1ka75b8cxk5bh27h6wcy5169yl93sjlxji2k27n9fj3i"; depends=[rbibutils]; };
+  Rdpack = derive2 { name="Rdpack"; version="2.1.3"; sha256="1f2m9pxm4s4gkrqh58jznkqj2fcw6f29c1l05k5mmkwsdf3ai0c3"; depends=[rbibutils]; };
   Rdroolsjars = derive2 { name="Rdroolsjars"; version="1.0.1"; sha256="1l9bc1bwpj10irr973hzkhr04i1f3g998n8hcl2k2i9kgv1naqmz"; depends=[rJava]; };
   Rdrw = derive2 { name="Rdrw"; version="1.0.2"; sha256="1487r8z6h1y0v6fxkp7qfbh7j96hw8gqbb0fc90m4cxwz0hrqrn2"; depends=[mvtnorm]; };
   Rdsdp = derive2 { name="Rdsdp"; version="1.0.5.1"; sha256="0x5dcgl25i6j2pg6d69rinal0yi8w0jwlfg05bnk9bg9v7i7db67"; depends=[]; };
@@ -4378,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]; };
@@ -4388,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]; };
@@ -4416,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.0"; sha256="0l74mihpmf2yxsacyldfh93hiccs2mmjn3hls6dmigkm6k6n5wkk"; 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]; };
@@ -4433,14 +4509,14 @@ in with self; {
   Rexperigen = derive2 { name="Rexperigen"; version="0.2.1"; sha256="158ksnd1gvzq7ii0ys2v0wrfnr001hni0i8m77p1fn1arixgmqdw"; depends=[digest jsonlite RCurl]; };
   RfEmpImp = derive2 { name="RfEmpImp"; version="2.1.5"; sha256="1bvjk71rfhpbj2j7raibsb0y3skbv1qba7yl2g00npnkk2zk14xj"; depends=[mice ranger]; };
   Rfacebook = derive2 { name="Rfacebook"; version="0.6.15"; sha256="0hp2mbm0hnyasizszvh5x9hv7z2q633zck1a1gvk36nbxb1shx7c"; depends=[httpuv httr rjson]; };
-  Rfast = derive2 { name="Rfast"; version="2.0.3"; sha256="1bmhmli6q4kg8321595k0yy91w9cblk14s6qbc9wf8f05108rg15"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
+  Rfast = derive2 { name="Rfast"; version="2.0.4"; sha256="1n9imwkkq14ickp0g34jyha4jkr180xj0ar8xh3hqqi4dvihg6cm"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
   Rfast2 = derive2 { name="Rfast2"; version="0.1.1"; sha256="1sqd5614gw1ag7wjidjv8bxf3qz8lkz7m9gangihgrlf0bm4944h"; depends=[RANN Rcpp RcppArmadillo Rfast]; };
   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="1.0.0"; sha256="0rmlx1fia0758kbqpi56awh7xws5pwx6zl8nnggi6bqalyskf09n"; depends=[dplyr fda lattice markdown plotly Rcpp RcppArmadillo Rssa shiny]; };
+  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]; };
@@ -4458,13 +4534,14 @@ 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.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.2"; sha256="0v689r9k52x8d4pvk6jlsgr6lp22fn3kn7s69hryyy3pmfmlbrh9"; depends=[imputeTS]; };
+  RiverLoad = derive2 { name="RiverLoad"; version="1.0.3"; sha256="01nrkj75smnsfrl0x82dif67q9xs15ngksz0p73i7xf6dqprjjcf"; depends=[imputeTS]; };
   Rivivc = derive2 { name="Rivivc"; version="0.9"; sha256="0gl3040pp9nqm4g2ympnx80z64zfnn1hfsxka8ynd2cqhjn3b5i1"; depends=[signal]; };
   RkMetrics = derive2 { name="RkMetrics"; version="1.3"; sha256="1k6vnr1r4h69iznib638z45gd0f8wc4g4h0ji9f0017883g77li1"; depends=[]; };
   Rlab = derive2 { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; };
-  Rlabkey = derive2 { name="Rlabkey"; version="2.8.1"; sha256="1q7va9s9p3mc0db8r08bsqnrn2xkn8ascx35jy2xa90vl3sp8sl3"; depends=[httr jsonlite Rcpp]; };
+  Rlabkey = derive2 { name="Rlabkey"; version="2.8.2"; sha256="1ja7ac41nb0x82ajr1k7av1fvx1blpsnbdm5771li6jwnmasf8hh"; depends=[httr jsonlite Rcpp]; };
   Rlda = derive2 { name="Rlda"; version="0.2.6"; sha256="0i8n01h9072q339p1kiqhcpwphw0d2x6bsszbhgfqc2b160dk2bl"; depends=[coda doParallel foreach gtools Rcpp RcppArmadillo RcppProgress]; };
   Rlgt = derive2 { name="Rlgt"; version="0.1-3"; sha256="0g610v5rch5s31gc7dy9zx4mcgsdhn82y1pmr2rs14qma0v7x515"; depends=[BH forecast Rcpp RcppEigen rstan rstantools sn StanHeaders]; };
   Rlibeemd = derive2 { name="Rlibeemd"; version="1.4.2"; sha256="0hzsnrz30429pavf7qghknykah9ks4msb96zwa1xgvqb4zd512dg"; depends=[Rcpp]; };
@@ -4487,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]; };
@@ -4499,19 +4576,19 @@ in with self; {
   RobPer = derive2 { name="RobPer"; version="1.2.2"; sha256="0631qfpz61606r50vzn7b3h7arfwxcs8j13q1hg779qx60kwrliy"; depends=[BB quantreg rgenoud robustbase]; };
   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.2"; sha256="14fnz01n0dd0qdlnd9vcqqj0xzfn8av8fvsy2ay0lk22ma3jw83v"; depends=[DEoptimR DT fit_models ggplot2 gridExtra PerformanceAnalytics pyinit robustbase rrcov shiny shinyjs xts]; };
-  RobinHood = derive2 { name="RobinHood"; version="1.6"; sha256="1513z92kk7p1d25zlm597yfswdx4x2w880366cs06j7nfg32izir"; depends=[dplyr httr jsonlite lubridate magrittr profvis uuid]; };
+  RobStatTM = derive2 { name="RobStatTM"; version="1.0.3"; sha256="12m10jcy929143kl6v9x45vqcsjvpqhwsnd9sfn2bfb30v31335r"; depends=[pyinit robustbase rrcov]; };
+  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]; };
@@ -4523,7 +4600,7 @@ in with self; {
   RoughSets = derive2 { name="RoughSets"; version="1.3-7"; sha256="0g6nx0cak6619hxv1fq3b30xv0bdwxb776qkdj6ihig6nhkm2hkj"; depends=[Rcpp]; };
   RoundAndRound = derive2 { name="RoundAndRound"; version="0.0.1"; sha256="1q3xb6y9ip8csivd0qijifxsm3h7zkwz8lxfi4ffdcgrvbl03v8q"; depends=[geometry rgl]; };
   Routliers = derive2 { name="Routliers"; version="0.0.0.3"; sha256="1yrzl3gqh7xkclqdqjwy4yn7qawixpb9mzw31a6wxnrr09hzv989"; depends=[ggplot2 MASS]; };
-  Rpadrino = derive2 { name="Rpadrino"; version="0.0.2"; sha256="02vzw19gl4x3xm92v5sfxiw5b9mzrzdl6drc6gy444f55is2dzqb"; depends=[ggplot2 ipmr magrittr mvtnorm purrr rlang rmarkdown truncdist]; };
+  Rpadrino = derive2 { name="Rpadrino"; version="0.0.3"; sha256="0kkakn8cq8kb8qbxhiffwa95iqavp3a857xz6jyf0fir592psgv6"; depends=[ggplot2 ipmr magrittr mvtnorm purrr rlang rmarkdown truncdist]; };
   Rpdb = derive2 { name="Rpdb"; version="2.3"; sha256="0zy5f7bli6ppc9giwf8845mzjcv54r2sqb8hxwgbn9k6rjlszgi8"; depends=[rgl]; };
   RpeakChrom = derive2 { name="RpeakChrom"; version="1.1.0"; sha256="1r8f6knpz83arz2kabizx5yyh1myg0h310qlwh8rmy88cdxi1ps9"; depends=[ggplot2 minpack_lm pracma ptw]; };
   Rphylip = derive2 { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; };
@@ -4537,9 +4614,10 @@ 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.1"; sha256="1x9bsl1gn16cld50a8xdzpvb1y0b5ma2jdald91hpsygp7kf25nm"; depends=[foreign processx raster rgdal rlang sf stars stringr terra tibble XML]; };
+  Rsagacmd = derive2 { name="Rsagacmd"; version="0.1.2"; sha256="0zj9a63hq8pm592lvf3n62pzn0lfkh02d4v4mkqhgixx7jaxyz2x"; depends=[foreign generics processx raster rgdal rlang rvest sf stars stringr terra tibble]; };
   Rsampling = derive2 { name="Rsampling"; version="0.1.1"; sha256="14rp3j7iaii4rc3jkbijmbgvlagxxqjkz3vvfwwpxix43rsi8zsk"; depends=[]; };
   Rsconctdply = derive2 { name="Rsconctdply"; version="0.1.3"; sha256="12xc1laxgivv4szp8341pvhmxnzzzzc2s4jhnqsqrbx71lbd9szg"; depends=[dplyr rjson rsconnect]; };
   Rserve = derive2 { name="Rserve"; version="1.8-10"; sha256="0b2x6kqrc23xah6bg7c6ncmq8wkj4z898r2qjwjyinsq965a4qxg"; depends=[]; };
@@ -4552,17 +4630,18 @@ in with self; {
   Rspotify = derive2 { name="Rspotify"; version="0.1.2"; sha256="1q8ajjx5ghlgxgch9gifvhi2gmsi0ph8pygwrb9jrd3ijahlw5k4"; depends=[dplyr httr jsonlite magrittr plyr]; };
   RsqMed = derive2 { name="RsqMed"; version="0.1.7.1"; sha256="18r78svwbnri5283s5nxg4vrp29r6xx13h0n6w634jdpwaiw56gk"; depends=[GMMAT SIS]; };
   Rssa = derive2 { name="Rssa"; version="1.0.4"; sha256="19q87g1z242hm2n4jb93qyplliqsj99bvfwm4vq54bbqyqbba5a1"; depends=[forecast lattice svd]; };
+  Rstg = derive2 { name="Rstg"; version="0.0.1"; sha256="1rghac9sjld03rw1sbq2r7rs2fzf3a2xikjb47cfdnk1r73ziysf"; depends=[reticulate]; };
   RstoxData = derive2 { name="RstoxData"; version="1.2.1"; sha256="0xfznv0nl7xymlxbd7g0lbxqw1zcyc9mm4mx0nwpw896vz7dvyvw"; depends=[data_table Rcpp stringi units xml2 xslt]; };
   Rsurrogate = derive2 { name="Rsurrogate"; version="3.1"; sha256="1l80xl7q6w97m80wj2639rhbqvxyl87r9lisk8cjf2bvcmf0spmb"; depends=[Matrix survival]; };
-  Rsymphony = derive2 { name="Rsymphony"; version="0.1-31"; sha256="1acvxh2y9gvcv9cz13ahvsz89w39h35hmjxj2vf0ik3finbi50r8"; depends=[]; };
+  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=[]; };
@@ -4572,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.5"; sha256="1yr8a9dz9m1xs2smk1cx65pi7iz3g7yb20q1nf36yjz9rxhb01bd"; 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]; };
@@ -4587,6 +4666,7 @@ in with self; {
   SACOBRA = derive2 { name="SACOBRA"; version="1.2"; sha256="1v45l56vifkg3v2bfhk3kfg4fn0dfvrjcgy13zzymm8blr7vazi5"; depends=[mgcv R6 testit]; };
   SADEG = derive2 { name="SADEG"; version="1.0.0"; sha256="02ilykbdanx1isbd80c43hqpzkckq6dg40y0rklcnck6v96qky3n"; depends=[]; };
   SADISA = derive2 { name="SADISA"; version="1.2"; sha256="0yn7f360wl5ykys5zln159xh2h8bx7zb5ddwhv1migjlqry506hp"; depends=[DDD pracma]; };
+  SAEval = derive2 { name="SAEval"; version="0.1.0"; sha256="1vakvgcr289b9c58x83mjj88ksshbh71gxcna0vfpiyl4rdc052b"; depends=[car ggplot2 ggspatial lmtest]; };
   SAFARI = derive2 { name="SAFARI"; version="0.1.0"; sha256="10fmav9dbq5kbgy8gjsp3561vi46bjvkh2wqjs39vx5z8x1ml7i3"; depends=[caTools EBImage lattice png]; };
   SAFD = derive2 { name="SAFD"; version="2.1"; sha256="078ki9wrmcf80bwhx4d56gas79xrc17a0081i13yxvjqn6w7f7jd"; depends=[]; };
   SAGMM = derive2 { name="SAGMM"; version="0.2.4"; sha256="18ig7ncmrfs5cyc28xpbqk9zjhwqfp7gwix7y2v1j4j2wbdc2hzs"; depends=[lowmemtkmeans mclust MixSim Rcpp RcppArmadillo]; };
@@ -4599,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.3"; sha256="0kkwqpzvzg5kkxdznkxr3a0bl4kb2fi8wfyhx8ihwvdira3fp75r"; 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]; };
@@ -4615,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=[]; };
@@ -4626,7 +4707,7 @@ in with self; {
   SCBiclust = derive2 { name="SCBiclust"; version="1.0.0"; sha256="1wrlzgavri6g7s948775nfls83b8fa5mx3xvbvc8kmbrvdwms6cq"; depends=[sigclust sparcl]; };
   SCBmeanfd = derive2 { name="SCBmeanfd"; version="1.2.2"; sha256="045498q71zqgcg8p3665vwd99a8ybf21y0sa7y8316zw66wb1caz"; depends=[boot KernSmooth]; };
   SCCI = derive2 { name="SCCI"; version="1.2"; sha256="08ibazxiqmkm3n9g8bfp0cfq26zmg6x2fxb064g3z05nczsf72db"; depends=[Rcpp]; };
-  SCCS = derive2 { name="SCCS"; version="1.4"; sha256="0as1711gz3vv0a284cnav0hg2pb5agvpi9h0wyxkq3m8q6vvx069"; depends=[corpcor dummies fda gnm R_methodsS3 survival]; };
+  SCCS = derive2 { name="SCCS"; version="1.5"; sha256="0ii549y9l59gcdwgb40vx98yxa3hj9rqjwsbax88wjf5adw7c788"; depends=[corpcor dummies fda gnm R_methodsS3 survival]; };
   SCEM = derive2 { name="SCEM"; version="1.1.0"; sha256="1fxxkv965gb0wq06rclv05xxlzk8p9l8hzbnqcf0nbbymyn73fqr"; depends=[devtools mathjaxr]; };
   SCEPtER = derive2 { name="SCEPtER"; version="0.2-4"; sha256="1098pvq3a7k9czxapszkakc8lr9sfvj7a643iivil5fcqfk0j50r"; depends=[MASS]; };
   SCEPtERbinary = derive2 { name="SCEPtERbinary"; version="0.1-1"; sha256="0rab0widfndx94dn1nchhs06q0d57vq2n3xy79p130l9rgp9v489"; depends=[MASS SCEPtER]; };
@@ -4654,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]; };
@@ -4669,16 +4750,16 @@ 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.4"; sha256="1v5zd16rgvwyylrvja8lwsljjg50l0k9y3d1rwgycs44sib30zqb"; depends=[boot cate corpcor dagitty diffusr flip gdata ggm GGMncv glmnet graph igraph lavaan Matrix pbapply protoclust RcppEigen Rgraphviz]; };
+  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=[]; };
   SEMsens = derive2 { name="SEMsens"; version="1.0.2"; sha256="18qcwhn1j9ci6338spwgym9g8590p5nc5sdvnpby3xrs9wv76nqs"; depends=[lavaan]; };
   SETPath = derive2 { name="SETPath"; version="1.0"; sha256="1dpgmki0dhph13h1fd3mbf308746wccgfz5g5gdm7bwbjnmjzd98"; depends=[]; };
   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=[]; };
@@ -4698,10 +4779,11 @@ 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.5"; sha256="18gx00y8vnbx1d3z7ak3g17zwg6mv93dhm9a1c8i4nj4ih64csi6"; depends=[cli COVIDIBGE PNADcIBGE png PNSIBGE POFIBGE purrr rstudioapi tibble]; };
+  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]; };
   SIRmcmc = derive2 { name="SIRmcmc"; version="1.1"; sha256="1dqcp0mrddw0zl3zx0z077vd1x0p3q1j5cv8hxln9blmiv1lggx1"; depends=[Rcpp]; };
   SIS = derive2 { name="SIS"; version="0.8-8"; sha256="1f5czwcgpmmn8habm24p3xh4w7jn2faais2x2gmaiq4dpjfnv6h8"; depends=[glmnet ncvreg survival]; };
@@ -4710,16 +4792,17 @@ 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=[]; };
-  SLOPE = derive2 { name="SLOPE"; version="0.3.3"; sha256="14wzwn641ag9a8a3yk0w5m63641f69wsq9mpbp4cfrgads9d3zxn"; depends=[foreach lattice Matrix Rcpp RcppArmadillo]; };
+  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]; };
   SMARTbayesR = derive2 { name="SMARTbayesR"; version="2.0.0"; sha256="15s6vzxgbskjvgd91q0vb9qxmmsj391bjbw7s51j879cfqd16xg2"; depends=[LaplacesDemon]; };
@@ -4731,7 +4814,7 @@ in with self; {
   SMFilter = derive2 { name="SMFilter"; version="1.0.3"; sha256="1islyqg9w08mvs2kf0ddmdlp885arzp0jy7mqvixjm4ayi5zfrri"; depends=[]; };
   SMITIDstruct = derive2 { name="SMITIDstruct"; version="0.0.5"; sha256="12ffxj96w3pi18l0scz5sd3dl37vd4vg2wcfykaxdhf8z142ha3k"; depends=[Biostrings ggplot2 sf]; };
   SMITIDvisu = derive2 { name="SMITIDvisu"; version="0.0.9"; sha256="143zz49rx7106v0a46dn1jssqxp60djf5rycfy38167zz7f9wx3y"; depends=[htmlwidgets jsonlite magrittr Rcpp yaml]; };
-  SMLE = derive2 { name="SMLE"; version="2.0-1"; sha256="109wdgadvy2alddwcpnif4yl4xp5269ilz6j3w2bdf8r5f3jijhl"; depends=[glmnet matrixcalc mvnfast]; };
+  SMLE = derive2 { name="SMLE"; version="2.0-2"; sha256="14aamzlcgqmh0nzb1yyzz33yzr3jj8g5q6pi4m515ygmjq8vn436"; depends=[glmnet matrixcalc mvnfast]; };
   SMLoutliers = derive2 { name="SMLoutliers"; version="0.1"; sha256="10frs7wcyn368m7fvw2f1cyd0xqr6sv5jziixnyvr8q5fadyl2p0"; depends=[]; };
   SMM = derive2 { name="SMM"; version="1.0.2"; sha256="1g1c7ssdcnzgv6b221ya1xrypg2ksahc7qj1042j8nlx5wg29cld"; depends=[DiscreteWeibull seqinr]; };
   SMMA = derive2 { name="SMMA"; version="1.0.3"; sha256="1nwxp447m1igm7dlxw5kqw472f8470svwx9awjp2d84m66wplinr"; depends=[Rcpp RcppArmadillo]; };
@@ -4744,18 +4827,20 @@ in with self; {
   SMVar = derive2 { name="SMVar"; version="1.3.3"; sha256="17wr4lixy3p32gr4jq02d7zsr88yrbddjsvynzdsdrwbxf4mwqhp"; depends=[]; };
   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]; };
-  SNPfiltR = derive2 { name="SNPfiltR"; version="0.1.0"; sha256="1s6yj71yz4rkbpp27by5sb4lkcwcvyw7zj10wlzgfrm8sy3vv2wj"; depends=[adegenet cluster ggplot2 ggridges gridExtra Rtsne vcfR]; };
+  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.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]; };
   SNSequate = derive2 { name="SNSequate"; version="1.3.3"; sha256="1qadhk2acpr0lkh2z37ivif9dbp7zb31lfn32ch2sb0z9pp56his"; depends=[emdbook knitr magic plyr progress statmod]; };
   SNscan = derive2 { name="SNscan"; version="1.0"; sha256="1s7dxi7faih0phx5wk2xrrzhvfwicq3h2cg8x2klwbrslin973lz"; depends=[igraph poweRlaw Rmpfr]; };
   SOAR = derive2 { name="SOAR"; version="0.99-11"; sha256="1n38gx5sxpkqfkk4y6vpp6g19b8bs5bisni9wn6311s0csizp86m"; depends=[]; };
+  SOAs = derive2 { name="SOAs"; version="1.0-1"; sha256="0n66kg9zp1q8lhixn4kr5m83khanr2hdwpxy4jsx16jqg4j3f284"; depends=[combinat conf_design DoE_base FrF2 igraph lhs]; };
   SOFIA = derive2 { name="SOFIA"; version="1.0"; sha256="1jlaggxa2nz2r5yb2xmf0dh5wmxfdk6xwn0l3nwsqh82vyxhp7l9"; depends=[png]; };
   SOIL = derive2 { name="SOIL"; version="1.1"; sha256="0dvfh84xjzald51kmdb546par2rbjdn3nys9y9w7cvafv2lc5yj9"; depends=[brglm2 glmnet MASS ncvreg]; };
   SOLOMON = derive2 { name="SOLOMON"; version="1.0-1"; sha256="0z91wsrgdir25ks4dnirzsg4f1ngal7n40235m3w43j6y6dhkqrc"; depends=[]; };
   SOMEnv = derive2 { name="SOMEnv"; version="1.1.2"; sha256="03g1c9ip0bmc5zhnzami3f525m9ic6v5gdhaxc8s7f1nxjf2fcdy"; depends=[colourpicker dplyr kohonen openair plyr rlist shiny shinycssloaders shinycustomloader]; };
-  SOMbrero = derive2 { name="SOMbrero"; version="1.3-1"; sha256="083zbbazf3d9n9a8cv758fr238qs6a895wbbjyjs6bksc355ykgc"; depends=[ggplot2 ggwordcloud igraph interp markdown metR scatterplot3d shiny]; };
+  SOMbrero = derive2 { name="SOMbrero"; version="1.4-1"; sha256="0b9w8xr067hz2lzvxn7xz3llzhyqynskh08rsx7d73gnm56kdcp2"; depends=[ggplot2 ggwordcloud igraph interp markdown metR scatterplot3d shiny]; };
   SOP = derive2 { name="SOP"; version="1.0"; sha256="1c9haq0ds90rwhvmdicaxhzf7vz2m343491sw9qw7w7fbs4fn9fp"; depends=[MASS]; };
   SOPC = derive2 { name="SOPC"; version="0.0.1"; sha256="0xji7c2v8rmsdvpk8g35m8bx9lk0cy29yc5f4q8zv8qjxiy9yz7v"; depends=[elasticnet]; };
   SOPIE = derive2 { name="SOPIE"; version="1.5"; sha256="0isvb2vzzpn57bq0ix2pfaqdnl5z8qk6v6fvf15vnxcqg2sm63q5"; depends=[ADGofTest circular]; };
@@ -4782,7 +4867,7 @@ in with self; {
   SPLICE = derive2 { name="SPLICE"; version="1.0.0"; sha256="1rmva1nl05f5dfv4nl7bcj6sa8rnpy9ikshasaa54r40217b5832"; depends=[SynthETIC zoo]; };
   SPODT = derive2 { name="SPODT"; version="0.9-1"; sha256="01yq429a4s63855bwpn2mqjj2k3cz4187kfpi7n7qqdpdvmxz109"; depends=[rgdal sp tree]; };
   SPORTSCausal = derive2 { name="SPORTSCausal"; version="1.0"; sha256="1ww1wi3kflwj1f5slfv0mfi7gbaj7y8rk1m3n15szpxb9zm8grks"; depends=[CausalImpact keras]; };
-  SPOT = derive2 { name="SPOT"; version="2.5.12"; sha256="1pnckqf2j7wq8mkzvvac98m77nkm918ddzvpwv47v4g8zlgl0p30"; depends=[DEoptim ggplot2 glmnet laGP MASS nloptr plgp plotly randomForest ranger rgenoud rpart rsm]; };
+  SPOT = derive2 { name="SPOT"; version="2.5.18"; sha256="1zgcvz78q8hd9bzhayv35rwgwansank1d9yb2qyihy3m0jw6c428"; depends=[DEoptim ggplot2 glmnet laGP MASS nloptr plgp plotly randomForest ranger rgenoud rpart rsm]; };
   SPOTMisc = derive2 { name="SPOTMisc"; version="1.2.18"; sha256="0k23bpnac9fzkin1fa23kix21jid6ycv3akj7vxhgcx64mslvbkm"; depends=[benchmarkme callr emoa ggsci jsonlite keras mlr plotly RColorBrewer rpart_plot sensitivity SimInf smoof SPOT]; };
   SPPcomb = derive2 { name="SPPcomb"; version="0.1"; sha256="1kn3pi3c7g7waill1grm382ixbvnc7z8pbgzqd94hxqzgkivhid7"; depends=[nleqslv]; };
   SPREDA = derive2 { name="SPREDA"; version="1.1"; sha256="0fn4p5apjq8zgd3zms2b88ga5wbsv86y59ac5x06w75rf071xglv"; depends=[nlme survival]; };
@@ -4805,7 +4890,7 @@ in with self; {
   SSBtools = derive2 { name="SSBtools"; version="1.2.2"; sha256="17xs0zdzsl0hy2hhgr8f7sb1cf5nxza4147198cq7lrrwx39flv7"; depends=[MASS Matrix stringr]; };
   SSDL = derive2 { name="SSDL"; version="1.1"; sha256="0m05m00qsjyc69kix124z6nrplqv1yaaag7qxpiizbn664h9hmjb"; depends=[bigstatsr chickn doParallel doRNG foreach glmnet pracma Rcpp RcppArmadillo RcppParallel Rdpack reshape2 rmio]; };
   SSDM = derive2 { name="SSDM"; version="0.2.8"; sha256="19l78dkjk76ababkd7xsfn0fy99khfa4i502q4vllpvch4cjz51c"; depends=[dismo e1071 earth gbm ggplot2 mgcv nnet poibin randomForest raster reshape2 rpart scales shiny shinydashboard shinyFiles sp spThin]; };
-  SSDforR = derive2 { name="SSDforR"; version="1.5.22"; sha256="0q3xa6h3hsf406cm3q84kv6fsfagmb8q3m2v39icqlhg2900crq5"; depends=[MAd MASS metafor psych SingleCaseES TTR]; };
+  SSDforR = derive2 { name="SSDforR"; version="1.5.23"; sha256="1085fpal55nlix3qhym8kgmnhf8hhy2dpw71r90f4hqsrqdfkwjy"; depends=[MAd MASS metafor psych SingleCaseES TTR]; };
   SSHAARP = derive2 { name="SSHAARP"; version="1.1.0"; sha256="0x8dinhhfk4q1cck7ms78f4k23430c4wyvlh2qclq0c83acjj4y9"; depends=[BIGDAWG data_table DescTools dplyr filesstrings gmt gtools stringr]; };
   SSLASSO = derive2 { name="SSLASSO"; version="1.2-2"; sha256="0vnn9ksdf0qgjflgx1sfj6q6j9jfnarbx2222rh9kb10jy8b16jv"; depends=[]; };
   SSLR = derive2 { name="SSLR"; version="0.9.3.3"; sha256="0fv1jqri3gpzcfs429pgx4hjqmjrglb4g7nfqdihd2hjmq9k4sql"; depends=[conclust dplyr foreach generics magrittr parsnip plyr proxy purrr RANN Rcpp RcppArmadillo rlang RSSL]; };
@@ -4839,14 +4924,14 @@ 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.1.0"; sha256="0g80qrsa0j37xw9wnqg0b6k5ngpzwj5inbir9smni6f0jg5g20sk"; depends=[dplyr forcats ggmap ggplot2 ggrepel httr hydroTSM jsonlite magrittr RColorBrewer reshape2 rlang rmarkdown sf stringr tibble tidyr zoo]; };
+  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]; };
   SYNCSA = derive2 { name="SYNCSA"; version="1.3.4"; sha256="0n9za302x638s666xs86zy94qch9wn0rln8xy6x9jymhhq9zn0kj"; depends=[FD permute RcppArmadillo vegan]; };
   SailoR = derive2 { name="SailoR"; version="1.2"; sha256="04qrnps40845ypapf37jg1c1g05nii6iwk4fv1x5xyca963hl5ii"; depends=[]; };
   Sample_Size = derive2 { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; };
@@ -4855,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]; };
@@ -4885,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=[]; };
@@ -4904,16 +4990,16 @@ 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.5"; sha256="18svlpfbgs5vdzw2jyg99kj0jacag6dwwhjdg1zpmrh0fm0praxg"; 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.1.0"; sha256="10lqapjw2vypz1rrwgr7maw79g5j7g3gfp38g88w1sxlxasmx7by"; depends=[igraph landscapemetrics raster rgdal rgeos sp]; };
+  ShapePattern = derive2 { name="ShapePattern"; version="2.2.0"; sha256="0x4a9qg5g44kdras8j7f0yyw44qfpizpmj657xgmbrwcai4ic1dh"; depends=[igraph landscapemetrics raster rgdal rgeos sp]; };
   ShapeRotator = derive2 { name="ShapeRotator"; version="0.1.0"; sha256="1pg2m1wh7fbchm8gp3mngfnf5g2rbhvzim1bpzqyvxqpx6ynicsa"; depends=[plot3D]; };
   ShapeSelectForest = derive2 { name="ShapeSelectForest"; version="1.4"; sha256="15ds3024qcvnq3pnbhpyd6hbif26mdzw1srqv44hwsllgzpi7602"; depends=[coneproj raster]; };
   ShapleyValue = derive2 { name="ShapleyValue"; version="0.2.0"; sha256="05ziyvvd81l0lx572in9snndnjdq8y4wkd8bxqs0y979l49yr6fd"; depends=[kableExtra MASS tidyverse]; };
@@ -4933,7 +5019,7 @@ in with self; {
   SigOptR = derive2 { name="SigOptR"; version="0.0.1"; sha256="1sylchhhz6kx4r8jx95cvsmjsacjh8pin7acf2fyw2a4nlx9r1a6"; depends=[httr jsonlite]; };
   SigTree = derive2 { name="SigTree"; version="1.10.6"; sha256="18gh7azjr979ijc2y4yyskj24ay697rw3j7znc5p4a63s4vpxr9w"; depends=[ape MASS phyext2 phylobase phyloseq RColorBrewer vegan]; };
   SightabilityModel = derive2 { name="SightabilityModel"; version="1.4.2"; sha256="0hll6cfl0zkxvdbfs7cdmqazinyyrg9vk4px2gb9s1dqix7cyvv5"; depends=[formula_tools Matrix msm plyr survey]; };
-  Signac = derive2 { name="Signac"; version="1.4.0"; sha256="0ca9ls5j6cgwkyzmxim9lb57zp9nsn2xrqm3w0wbhw5kar0i4yz0"; depends=[BiocGenerics data_table dplyr fastmatch future future_apply GenomeInfoDb GenomicRanges ggforce ggplot2 ggrepel ggseqlogo IRanges irlba lsa Matrix patchwork pbapply qlcMatrix Rcpp RcppRoll Rsamtools S4Vectors scales Seurat SeuratObject stringi tidyr]; };
+  Signac = derive2 { name="Signac"; version="1.5.0"; sha256="1dl05n2pmfn8yk1p1073a47l6d54p5wc46h5lzfcll9s58qgpq64"; depends=[BiocGenerics data_table dplyr fastmatch future future_apply GenomeInfoDb GenomicRanges ggforce ggplot2 ggrepel ggseqlogo IRanges irlba lsa Matrix patchwork pbapply qlcMatrix Rcpp RcppRoll Rsamtools S4Vectors scales Seurat SeuratObject stringi tidyr]; };
   SignacX = derive2 { name="SignacX"; version="2.2.5"; sha256="0b38k3lxca985mqwvbbdczkjnn2x79kga05yw995gb6d20cjh96v"; depends=[igraph jsonlite lme4 Matrix neuralnet pbmcapply RColorBrewer RJSONIO Seurat]; };
   SignifReg = derive2 { name="SignifReg"; version="4.2"; sha256="0bgw6dkn15rlpcqfpbar3nxvcvwd0afa3lss4idnb65kvcyzzljk"; depends=[car]; };
   Sim_DiffProc = derive2 { name="Sim.DiffProc"; version="4.8"; sha256="16pzcs1g5ihza9a2glnkgd5pxi77l6w34vkn0vxcb78gc6syhbrd"; depends=[Deriv MASS]; };
@@ -4943,14 +5029,14 @@ in with self; {
   SimCop = derive2 { name="SimCop"; version="0.7.0"; sha256="1yrdy77a9h14v92c63ng8phi2ig73wy4xjjdb75322grc0bd3jq6"; depends=[quadprog]; };
   SimCorMultRes = derive2 { name="SimCorMultRes"; version="1.8.0"; sha256="0gxrhsy8dkp2iyzh2x9z6m6cxx6mxiwinh86dk6wwiqr2zkasn9w"; depends=[evd]; };
   SimCorrMix = derive2 { name="SimCorrMix"; version="0.1.1"; sha256="1mx8xkg1nbh4x4xr6m672zyg00s3lky2sy5mz7dfkw40vz2bwi53"; depends=[BB ggplot2 MASS Matrix mvtnorm nleqslv SimMultiCorrData triangle VGAM]; };
-  SimDesign = derive2 { name="SimDesign"; version="2.7.1"; sha256="0ja7inc74y7n9dxl8k2qrvip7v2a4z3zgpgmjzzhl4aja5f5xx5m"; depends=[dplyr foreach pbapply RPushbullet sessioninfo]; };
+  SimDesign = derive2 { name="SimDesign"; version="2.8"; sha256="0pp9bys2g30rmksgiz1icv6g4cd3x214ab9yr3grl5wy77m1ygzf"; depends=[beepr dplyr foreach pbapply RPushbullet sessioninfo]; };
   SimDissolution = derive2 { name="SimDissolution"; version="0.1.0"; sha256="1rdsxykh740h22ln635m0ysm00pdw94vp7qhgify4mcvc46c3632"; depends=[alabama dplyr mvtnorm]; };
   SimEUCartelLaw = derive2 { name="SimEUCartelLaw"; version="1.0.1"; sha256="1wg9sayk55mp3f2qykvfk0cbqh050vh0n1fhpq4fmlxqll87aml9"; depends=[plot3D plot3Drgl rgl]; };
   SimEngine = derive2 { name="SimEngine"; version="1.0.0"; sha256="15rdwpbcypymk9s34iwqzqzqcailhsldzq6c2d9b6jgsp81yy7qk"; depends=[data_table dplyr magrittr pbapply rlang]; };
   SimEvolEnzCons = derive2 { name="SimEvolEnzCons"; version="2.0.0"; sha256="0h3j8lp1s3zqb9qgy16gd0rdlbr2g1jqrc4a19zhmix2kygs5012"; depends=[ade4 RColorBrewer rgl scatterplot3d]; };
   SimHaz = derive2 { name="SimHaz"; version="0.1"; sha256="04q4xyc1ki1zr3grm3khfg0kbykjy3j9qpg332l7pxp4j3wa3aw3"; depends=[survival]; };
   SimInf = derive2 { name="SimInf"; version="8.4.0"; sha256="0fpi5fnr4pgdq30s4p64kv1nl20znxnqk61b2cr7z2pj6yhqa265"; depends=[digest MASS Matrix]; };
-  SimJoint = derive2 { name="SimJoint"; version="0.3.7"; sha256="03xf8n1fbbq63wz8kyj19h9vqz14z463cv8xqhmaknlamnnyhis5"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  SimJoint = derive2 { name="SimJoint"; version="0.3.9"; sha256="1bv7r9mgkcr24azblpfi3fiyay7kflxhq4am46qy32pa1vsfyadf"; depends=[Rcpp RcppArmadillo RcppParallel]; };
   SimMultiCorrData = derive2 { name="SimMultiCorrData"; version="0.2.2"; sha256="0brszbqxf40y65xp96c5hp7hhvz3gv0xlg93r5ik8qdh0bn0y1sw"; depends=[BB GenOrd ggplot2 Matrix nleqslv psych triangle VGAM]; };
   SimPhe = derive2 { name="SimPhe"; version="0.2.0"; sha256="01kzypahw41jk8s2c92h0k9w32yaicis07wb6k8qlqcmv0zj8xry"; depends=[]; };
   SimRAD = derive2 { name="SimRAD"; version="0.96"; sha256="0ivvd3k04v1akbblxcjhlyc315z3ig7wjs0g3b37lvlfp54ppbrg"; depends=[Biostrings ShortRead zlibbioc]; };
@@ -4959,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=[]; };
@@ -5004,9 +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.1-23"; sha256="1cryypgnbck5hvkc2izrd8r10q2b97f2p1s46x4dk8p099gck5wg"; depends=[deSolve RUnit]; };
+  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=[]; };
@@ -5019,15 +5104,14 @@ in with self; {
   SoundexBR = derive2 { name="SoundexBR"; version="1.2"; sha256="0chc332v3wcz30v70yvdxhvcfdmvf4fj193cn00gl899xfxal89p"; depends=[]; };
   SoupX = derive2 { name="SoupX"; version="1.5.2"; sha256="1zhd2vx4g3kpxpfq996h909k4lybzb79nw1kvhx7073aniq042c3"; depends=[ggplot2 Matrix Seurat]; };
   SourceSet = derive2 { name="SourceSet"; version="0.1.3"; sha256="159kg4pna24yihkghxc2k5f56dqk8aypxcmj1whgnajmgab29ry1"; depends=[graph gRbase gtools igraph plyr progress reshape2 scales]; };
-  SoyNAM = derive2 { name="SoyNAM"; version="1.6.1"; sha256="1dgphlryw1810v93aq80p2c92aq6ccc25kabkgw4h1xinrpn263i"; depends=[lme4 NAM reshape2]; };
+  SoyNAM = derive2 { name="SoyNAM"; version="1.6.2"; sha256="1ajsk51bd9aajlyv9q6yjmdm9xs9jf07j5m189m00mhl21xpzn0b"; depends=[lme4 NAM Rcpp RcppEigen reshape2]; };
   SpATS = derive2 { name="SpATS"; version="1.0-16"; sha256="1smnxawbxyy0kmg05rdxkym71civnvx83pjag97avvqsqlmzfbwk"; depends=[data_table fields plot3Drgl spam]; };
   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]; };
@@ -5050,14 +5134,14 @@ in with self; {
   SpatialKDE = derive2 { name="SpatialKDE"; version="0.6.2"; sha256="00gdx9jhfybxvfigsym122wfc72vks9bs4zlsij5wp9d1l3r0kfr"; depends=[dplyr glue magrittr raster Rcpp rlang sf vctrs]; };
   SpatialKWD = derive2 { name="SpatialKWD"; version="0.4.0"; sha256="0nsrf30bl3yc1h1kldv1ah1jjb4qh4hd99rd1nz9q9rqmdp0dcrw"; depends=[Rcpp]; };
   SpatialML = derive2 { name="SpatialML"; version="0.1.3"; sha256="0akip0kkd1jjid12iwmaxkhkvcfzkxmrnrsv0b6nnvpjdl1jb589"; depends=[randomForest]; };
-  SpatialNP = derive2 { name="SpatialNP"; version="1.1-4"; sha256="1hj9fjhyxcvl2d0wdqyc899wy4f6iyi03g65icavkmqnwcs8c7hc"; depends=[]; };
+  SpatialNP = derive2 { name="SpatialNP"; version="1.1-5"; sha256="0cxh1f4182mfihq6m82zh2lgafrsiqvgrfxbk66zkjrrbfn8gkcl"; depends=[]; };
   SpatialPack = derive2 { name="SpatialPack"; version="0.3-8196"; sha256="0kbv4ddl8zdm5z8vi6cj0x59paf669js9vgm28d74yxrdmjy29wh"; depends=[fastmatrix]; };
   SpatialPosition = derive2 { name="SpatialPosition"; version="2.1.1"; sha256="0p2ii6pwxqrywp7m3hql2js9211vx6jk8lz76cbkzaz1i1g1q90k"; depends=[isoband raster sf sp]; };
   SpatialRegimes = derive2 { name="SpatialRegimes"; version="0.2"; sha256="01kbfwzq58zcvclrnmb9n5y3n0ki9nr8zbxyyanzqn7xcng8qmnb"; depends=[GWmodel plm quantreg spdep]; };
   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]; };
@@ -5077,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]; };
@@ -5103,9 +5187,10 @@ 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.2.0"; sha256="0jrpqzyc20hnjyn6kh6hh2gliw84m7p7bpim7lqmvi2wp4sc36si"; depends=[Matrix plotly]; };
+  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]; };
   StereoMorph = derive2 { name="StereoMorph"; version="1.6.4"; sha256="1xmqggisdyww0gpkgbv3dml1jik0crm3ia9q1952gx4fa8iiqd82"; depends=[bezier jpeg MASS png Rcpp rjson shiny svgViewR tiff]; };
   Storm = derive2 { name="Storm"; version="1.2"; sha256="1fg8y9my9yp6px1gh43mr3m2s2z262mzq03pj52mqg3n186vk8z3"; depends=[permute rjson]; };
@@ -5124,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]; };
@@ -5143,9 +5229,9 @@ 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.5"; sha256="1i3iq12a5x5k49ac01mikzcrrq9gc148xq3m08h4xm07bha6f2v8"; depends=[]; };
+  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]; };
   Surrogate = derive2 { name="Surrogate"; version="2.0"; sha256="0jpg20cd0m9xaay9y4fkrdvz5hsr54q2n4jv0n66xjral24gxyb1"; depends=[extraDistr ks lattice latticeExtra lme4 logistf MASS mixtools msm nlme OrdinalLogisticBiplot pbapply rms rootSolve survival]; };
   SurrogateOutcome = derive2 { name="SurrogateOutcome"; version="1.1"; sha256="1wiqn9gfvj225dvmp49fyybp77np507s04f28a9wa9jiyvqf7m97"; depends=[survival]; };
@@ -5157,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]; };
@@ -5196,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]; };
@@ -5211,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]; };
@@ -5219,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]; };
@@ -5231,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]; };
@@ -5240,12 +5325,13 @@ 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]; };
   TRMF = derive2 { name="TRMF"; version="0.1.5"; sha256="0zi9v7jgvpcdfjs7pbcfb8ggf89w71zvxmlsr319r1d4spkrskfx"; depends=[generics limSolve Matrix]; };
   TSA = derive2 { name="TSA"; version="1.3"; sha256="1bv5q609lhmrcxnjnvcj497fbjlv89zwa8q918hw4iki5nkvwwdb"; depends=[leaps locfit mgcv tseries]; };
+  TSANN = derive2 { name="TSANN"; version="0.1.0"; sha256="1sk9jq6k5qf8k03yhrb2jmazdh8gi2a17pc5m0agcvxiv4lmp5sp"; depends=[forecast gtools]; };
   TSCS = derive2 { name="TSCS"; version="0.1.1"; sha256="0dllaw69rl26hgqac5q66k13gfmnxhn3wf0j8nx5xvi7yclzc3ay"; depends=[ggplot2 rgl tseries]; };
   TSDFGS = derive2 { name="TSDFGS"; version="1.0"; sha256="1wk1j0bzcapp2pknhiichh947xs6dpkrfr2h7s1vqyzb9a0yajif"; depends=[Rcpp RcppEigen]; };
   TSDT = derive2 { name="TSDT"; version="1.0.0"; sha256="0cscy8g6qab09lgzdpz9s85l7m7v5gnjf0n3h82730xzd50r4za7"; depends=[hash mlbench modeltools party rpart survival survRM2]; };
@@ -5258,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]; };
@@ -5286,9 +5373,10 @@ 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.2"; sha256="06vicgbhwpsww09hhha5mbcd0cwip6cvkfbhjjhp950rv64bk1r5"; depends=[curl xts zoo]; };
+  TTR = derive2 { name="TTR"; version="0.24.3"; sha256="11xsmbvmxq2j119j2z58bx1fkkb2xlhmzc35z5fbwr3nchrfz6jd"; depends=[curl xts zoo]; };
   TTS = derive2 { name="TTS"; version="1.0"; sha256="0dhxj474dqjxqg0fc2dcx8p5hrjn9xfkn0rjn2vz3js92fa9ik9h"; depends=[mgcv sfsmisc]; };
   TTmoment = derive2 { name="TTmoment"; version="1.0"; sha256="0a4rdb4fk1mqnvvz0r15kni0g5vcj4xkkcwwv7c2gxc94xh5i5ih"; depends=[mvtnorm]; };
   TUFLOWR = derive2 { name="TUFLOWR"; version="0.1.0"; sha256="07mb60nphy4x4qv4dkd4qblf7nbbxhjn39nqalgyg6hjp87zhg8x"; depends=[dplyr ggplot2 gstat lubridate magrittr raster readr rgdal rlang sp stringr tibble tidyr]; };
@@ -5304,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=[]; };
@@ -5324,11 +5412,12 @@ in with self; {
   Tendril = derive2 { name="Tendril"; version="2.0.4"; sha256="1wvczfklsccs8jd081vb6d6h7i35lhf6na925fm7wq8ars0b23wd"; depends=[dplyr ggplot2 magrittr plotly plyr reshape2 scales]; };
   TensorClustering = derive2 { name="TensorClustering"; version="1.0.2"; sha256="094pk4v78d97sanrkirk0dyhy6w2i43imcw21q2r76w11d62w7k7"; depends=[abind combinat MASS mvtnorm pracma Rcpp rTensor tensr TRES]; };
   TensorComplete = derive2 { name="TensorComplete"; version="0.1.0"; sha256="06lr0blkf5pv1zwlffn7m0xxscjii4jg930nkzrh2k7dnbka6vsx"; depends=[MASS pracma tensorregress]; };
-  TensorTest2D = derive2 { name="TensorTest2D"; version="1.0.3"; sha256="1ac17qb50yz265mxnkd09bl0gy850csjq2w0qras2g1nsbivrpm3"; depends=[]; };
-  Ternary = derive2 { name="Ternary"; version="1.2.3"; sha256="0vpm5zs3ick3gkrm3is7bxsvp8rc0dnag94m626bajay682pslnh"; depends=[shiny viridisLite]; };
+  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]; };
@@ -5347,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]; };
@@ -5355,15 +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.0"; sha256="0kc3wgk5n8cxg901c19fjfzq7na46jq0x3gy22fi4jccjb0vgv0v"; depends=[APfun raster rgeos sp XML]; };
+  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]; };
@@ -5373,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.2"; sha256="15qzn0j8zdbj59agxynknqvycrkcmn02nxq0psckgc4182bsa0ws"; 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.2"; sha256="1kpdiwwzxsdwv5255xlvcnxvnp39ky0aws41g1l5i7cpbv88kca5"; depends=[fields RColorBrewer]; };
+  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]; };
@@ -5389,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]; };
-  TreeDist = derive2 { name="TreeDist"; version="2.2.0"; sha256="076mmxhpi78pjh3d2p1wdcgwqgggnw8j55n44gkixlh4bhwi4gdn"; depends=[ape cli colorspace memoise phangorn Rcpp Rdpack shiny shinyjs TreeTools]; };
+  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]; };
@@ -5406,13 +5498,14 @@ in with self; {
   TripleR = derive2 { name="TripleR"; version="1.5.3"; sha256="13s1vlmr4sqa2sq2fbcld86bh3g73yb204aawbks11rjblwzvb0h"; depends=[ggplot2 plyr reshape2]; };
   TropFishR = derive2 { name="TropFishR"; version="1.6.3"; sha256="0nkw7dcb2kvgvvfla6ns60n460wsamwcp88281q6lyb6yb8k14bv"; depends=[doParallel GA GenSA MASS Matrix msm reshape2]; };
   TrtCombo_FactorialExp_SR = derive2 { name="TrtCombo.FactorialExp.SR"; version="4.0.4"; sha256="1kc5nqivsia801hdll5zcl4w6ayx7pabx7xz70l75h1f966ahnr7"; depends=[]; };
+  TrueSkillThroughTime = derive2 { name="TrueSkillThroughTime"; version="0.1.0"; sha256="1ak7w10qss1jlf8gy4sri678nqcw6rc79kwr6anqcjxick1000j9"; depends=[hash]; };
   TruncatedNormal = derive2 { name="TruncatedNormal"; version="2.2.2"; sha256="05cfn7mdq0hgw97bbb227in9ccjz727sp67xpnpx2r1ajvl6gxdf"; depends=[alabama nleqslv randtoolbox Rcpp RcppArmadillo]; };
   Tsphere = derive2 { name="Tsphere"; version="1.0"; sha256="0xgxw2hfj40k5s0b54dcmz7savl8wy4midmmgc7lq4pyb8vd58xx"; depends=[glasso rms]; };
   TukeyC = derive2 { name="TukeyC"; version="1.3-4"; sha256="1ly09pll86zkn6m8rc6d66f3d7hf98fiij0psaigq6wdgf5an8ig"; depends=[doBy xtable]; };
   TukeyRegion = derive2 { name="TukeyRegion"; version="0.1.4"; sha256="1zx6gm0s0nardhb3xm3c53pd46kq6grsknpldnjjfhn3029a3nr7"; depends=[bfp BH ddalpha MASS Rcpp rgl Rglpk]; };
   TunePareto = derive2 { name="TunePareto"; version="2.5.1"; sha256="025457qm8blj5jc59qx1wvlcw21b4v9371hlrcf9gkvisksjqvf1"; depends=[]; };
   TurtleGraphics = derive2 { name="TurtleGraphics"; version="1.0-8"; sha256="0h77pj7rs3lrqi1y2dm1cbrmj13mjpq6y5nw8bcq0s2kbnkfw67l"; depends=[]; };
-  Twitmo = derive2 { name="Twitmo"; version="0.1.1"; sha256="1m1021rrc44y4f68cnsn6zl6sfbpgw4i31p4g2f1nlbd4cmnv2ls"; depends=[dplyr jsonlite magrittr maps plyr quanteda quanteda_textstats readr rlang rtweet stm stopwords stringr tidyr topicmodels]; };
+  Twitmo = derive2 { name="Twitmo"; version="0.1.2"; sha256="0hr2gndrcsd4r4jxyzg1jbjbn1zslv8z5ny3xh42hda93866909d"; depends=[dplyr jsonlite ldatuning LDAvis leaflet magrittr maps plyr quanteda quanteda_textstats readr rlang rtweet stm stopwords stringi stringr tidyr tm topicmodels]; };
   TwitterAutomatedTrading = derive2 { name="TwitterAutomatedTrading"; version="0.1.0"; sha256="1aa6fxxvy0s8al30w19wa2pwzp60zbbdvp5myigv8x26k6w2jwgv"; depends=[curl dplyr jsonlite lubridate magrittr naptime plyr purrr tibble tidytext twitteR]; };
   TwoArmSurvSim = derive2 { name="TwoArmSurvSim"; version="0.2"; sha256="0isb1nmm6hxwn6p52an1axj30ilkr5c8xi86zx2b8acivdz2xr12"; depends=[blockrand dplyr simsurv survival]; };
   TwoCop = derive2 { name="TwoCop"; version="1.0"; sha256="1ycxq8vbp68z82r2dfg2wkc9zk3bn33d94xay20g2p55lnzl2ifd"; depends=[]; };
@@ -5423,10 +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.3"; sha256="04xbvc4f1w1xv9n75abrqbian01hn0wz4chaahdbz9ciikbx3pbx"; 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]; };
-  UKFE = derive2 { name="UKFE"; version="0.2.0"; sha256="1v54qmqr05z64ls3vih0iinxax76vz3cas2b0sbgqxf0mgif07s9"; depends=[]; };
+  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.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]; };
@@ -5436,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]; };
@@ -5455,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="3.6.0"; sha256="0xqk4rcv255r2wll2jpzf9ix8j6hbhw0vbhg2g9i6z2apyc9i5m3"; 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=[]; };
@@ -5476,21 +5571,21 @@ 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]; };
-  VFP = derive2 { name="VFP"; version="1.3.1"; sha256="186v8jq9z7jm8yzi21s6gc56hiizq3j1qirifa67jlwwyr48y8s7"; depends=[gnm MASS VCA]; };
+  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=[]; };
   VGAMdata = derive2 { name="VGAMdata"; version="1.1-5"; sha256="1n5g2ymcanf6msjix6y9lsff65iq4898zmd5blfj57d2vbp6ibsa"; depends=[VGAM]; };
   VGAMextra = derive2 { name="VGAMextra"; version="0.0-5"; sha256="11s7s2dm2yf5s9qbwbyavz01l9fk86grp4mlhrh8hd6lfmxxxcxm"; depends=[VGAM]; };
   VHDClassification = derive2 { name="VHDClassification"; version="0.3"; sha256="1ij4h3gzxb9mm9q743kc3sg2q609mnqz6mhlrbim1wcjji2b7bv4"; depends=[e1071 lattice]; };
-  VIC5 = derive2 { name="VIC5"; version="0.2.3"; sha256="1yhg1f5qvjs0g642xab634b6vk7czxy7734qk2n3fqim90qnz3nn"; depends=[foreach lubridate Rcpp RcppArmadillo]; };
+  VIC5 = derive2 { name="VIC5"; version="0.2.4"; sha256="1q4ayvq0adln9vv3r05gc2rmkd2pbzrsqd8dsgmindzwqbxsps36"; depends=[foreach lubridate Rcpp RcppArmadillo]; };
   VIF = derive2 { name="VIF"; version="1.0"; sha256="0yvg6ikrcs7mhg0pavhcywrfysv7ylvnhxpc5sam86dbp69flx9x"; depends=[]; };
   VIFCP = derive2 { name="VIFCP"; version="1.2"; sha256="0w41k25vss806m5vpwmmcfsmwaixmln0pliql3a6xlwsihha5i34"; depends=[]; };
   VIGoR = derive2 { name="VIGoR"; version="1.1.0"; sha256="17hi133krdj03l0kfhnl2qgi5740aq6f68qqfn9jciwmadig63rq"; depends=[]; };
@@ -5498,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]; };
@@ -5520,13 +5615,14 @@ in with self; {
   Vdgraph = derive2 { name="Vdgraph"; version="2.2-2"; sha256="1q8l711zbrrj4h1wmpv93nbvlg8xi6kjv22zpidkck8ncpyyla80"; depends=[]; };
   VecStatGraphs2D = derive2 { name="VecStatGraphs2D"; version="1.8"; sha256="0jjxdwcj0n6kk5l7hw4zibpikqxhkkik5819qv75z4gqdgg0fgch"; depends=[MASS]; };
   VecStatGraphs3D = derive2 { name="VecStatGraphs3D"; version="1.6"; sha256="1pnpgnxdiis4kzwhh17k61aidyan5fp9rzqhvwf6gljb4csqsk54"; depends=[MASS misc3d rgl]; };
-  VennDiagram = derive2 { name="VennDiagram"; version="1.7.0"; sha256="1l9mmc8wwn885l2b13kshhrkz53pqigcw6d8gklvv92fx5m5cdvm"; depends=[futile_logger]; };
+  VennDiagram = derive2 { name="VennDiagram"; version="1.7.1"; sha256="0yw54j9as0vf8ypnq4a3sl2w0lajri6s979f4y11hjzpgmr1m16b"; depends=[futile_logger]; };
   VertexSimilarity = derive2 { name="VertexSimilarity"; version="0.1"; sha256="0f638y272dbmz5747wxqy9pxasxk3a9f9wf31gf297qx7268ab1m"; depends=[igraph]; };
   VertexSort = derive2 { name="VertexSort"; version="0.1-1"; sha256="0n9m5l85ylin6756rsksak94nv0626qd7czhhj6plz4nfrr27sgl"; depends=[igraph snowfall]; };
   VeryLargeIntegers = derive2 { name="VeryLargeIntegers"; version="0.1.8"; sha256="0yvm3kkc7ssk85ripdgbxj8gazqb1dfswgjy63c3gb135zi2cbqk"; depends=[Rcpp]; };
   VetResearchLMM = derive2 { name="VetResearchLMM"; version="1.0.0"; sha256="1a7wm04bsr5shak7l8ypxlhlnx3qkq1jdpjnji1n05p6b00ih9h1"; depends=[ggplot2 lme4 lmerTest multcomp nlme]; };
   ViSiElse = derive2 { name="ViSiElse"; version="1.2.2"; sha256="1ay09dahlqnfrgf4gl4s45a4ahrk2xliagxqz5h826w2vzsawqcc"; depends=[chron colorspace ggplot2 Matrix reshape2 stringr]; };
   VicmapR = derive2 { name="VicmapR"; version="0.1.8"; sha256="0lnpbbspsl1q4z2i4jmz7j3idqwdxrngpcavnppp68ajyz4i5xkr"; depends=[cli curl DBI dbplyr dplyr glue httr lubridate magrittr purrr rlang rvest sf xml2]; };
+  ViewPipeSteps = derive2 { name="ViewPipeSteps"; version="0.1.0"; sha256="0lcm7zzflbbjpb1mdy6pppdmg9gvlcn7hg42a4fgm0kxhniwnmyg"; depends=[dplyr rstudioapi tibble]; };
   VineCopula = derive2 { name="VineCopula"; version="2.4.3"; sha256="05zajfncr9iyzpv98zw3ph2drxbnfjwjw8l244j49das6jkplwj2"; depends=[ADGofTest lattice MASS mvtnorm]; };
   VisitorCounts = derive2 { name="VisitorCounts"; version="1.0.0"; sha256="1i2msvr2mlwwlwp5zmr4i16svrbfix65ga9rsvc43gv7rg4ip7rd"; depends=[ggplot2 ggthemes Rssa tibble]; };
   Visualize_CRAN_Downloads = derive2 { name="Visualize.CRAN.Downloads"; version="1.0.1"; sha256="0z2v2izn4aj3i6f5gh8r7pkrqpbb82bv9v4s4vqxgm066a51m4p2"; depends=[cranlogs htmlwidgets plotly]; };
@@ -5543,11 +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.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]; };
@@ -5560,7 +5657,7 @@ in with self; {
   WRS2 = derive2 { name="WRS2"; version="1.1-3"; sha256="0nnx0hzdijh9kdh69z72720z30ih0fbmn3kqycgbqxlk99wddakh"; depends=[MASS mc2d plyr reshape]; };
   WRSS = derive2 { name="WRSS"; version="3.0"; sha256="16a7i6glgl5cshsn3w7gxviybmka06ylw5znz94gigyx0vhgv97p"; depends=[GGally ggplot2 Hmisc network nloptr]; };
   WRTDStidal = derive2 { name="WRTDStidal"; version="1.1.2"; sha256="1ssrqqf2hypif4nnfyl4lq03glyyg9ry9s14llf1njxamhjggfgg"; depends=[caret dplyr fields foreach forecast ggplot2 gridExtra lubridate purrr quantreg RColorBrewer survival tidyr]; };
-  WSGeometry = derive2 { name="WSGeometry"; version="1.1"; sha256="1xicrsqrv5ywfd6yp4l9wjwhcadbpijcs86mfafdpckv16rlkmpr"; depends=[expm imager lpSolve plot3D Rcpp RcppArmadillo RSpectra transport]; };
+  WSGeometry = derive2 { name="WSGeometry"; version="1.2.1"; sha256="073cvvbhzx5nllrwfyz6bxvskmkm88i7wq93m2d0q60pzwzsxwzl"; depends=[expm imager lpSolve Matrix plot3D Rcpp RcppArmadillo RSpectra transport]; };
   WVPlots = derive2 { name="WVPlots"; version="1.3.2"; sha256="07gwb984mmfwi9b7m44d60f787szw089xlvqwclpkpjgz677k1cg"; depends=[cdata ggplot2 gridExtra mgcv rqdatatable rquery sigr wrapr]; };
   WWGbook = derive2 { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; };
   WWR = derive2 { name="WWR"; version="1.2.2"; sha256="0ia1dd12r1l08s9nhgvk55jmqwv58jawm25gd2ni6wpa3mcmq02g"; depends=[inline]; };
@@ -5571,8 +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]; };
-  WeMix = derive2 { name="WeMix"; version="3.2.0"; sha256="1wcfk566w4jc39db5yz8ib2qai6dfpm21ywqvlcp97viwdmnkqfr"; depends=[lme4 Matrix minqa NPflow numDeriv Rmpfr statmod]; };
+  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]; };
@@ -5598,8 +5698,8 @@ in with self; {
   WoodburyMatrix = derive2 { name="WoodburyMatrix"; version="0.0.1"; sha256="1yg61j8dw0yfz6lhz68vr5ndr7z0w3zgdw8hbbnxwfcpw759n8p1"; depends=[Matrix]; };
   WordOfMouth = derive2 { name="WordOfMouth"; version="1.1.0"; sha256="199hnirbmwarn04ky1147x5c048j087rdml86qcp92kzp20679v3"; depends=[LambertW]; };
   WordPools = derive2 { name="WordPools"; version="1.1-1"; sha256="081qnsq7wn1vczgf6ipz8wjmyg4vwhj1s5nrzh0dw4p9yz28dxv2"; depends=[]; };
-  WordR = derive2 { name="WordR"; version="0.3.1"; sha256="17g8v3xhdy57y0b95zrakhi0zamqi35v0zcmjpy47xyqyk4b2grs"; depends=[dplyr flextable officer]; };
-  WorldFlora = derive2 { name="WorldFlora"; version="1.9"; sha256="1v3gpwkygn0b248fd7ghxcqzymdb50snlh4bgrr9j3cp04y8x91f"; depends=[]; };
+  WordR = derive2 { name="WordR"; version="0.3.2"; sha256="1bng0rhhhnryhjw9xpd38v7sdcw9cgqrdryh5bfwk26wjk8jjdms"; depends=[dplyr flextable officer xml2]; };
+  WorldFlora = derive2 { name="WorldFlora"; version="1.10"; sha256="0wh5jmzfy1fja6iw4vd8p9xir2kd3yh6y4plqs95dlhf1s84awyb"; depends=[]; };
   WrightMap = derive2 { name="WrightMap"; version="1.2.3"; sha256="0i84xkd1agyp45r84zsk8vvc02ln8qhxvl4n72xjqib12b38kqzl"; depends=[]; };
   WriteXLS = derive2 { name="WriteXLS"; version="6.3.0"; sha256="0ssjdv7vr66sl1yfg0l38xddrvrfzhf7vdq342izc22bprx9h78b"; depends=[]; };
   WtTopsis = derive2 { name="WtTopsis"; version="1.0"; sha256="0zwx75rgdyh7pjxjvd5xvxqkfryvhq2csn4sd0py0dgmjxb5p3ja"; depends=[]; };
@@ -5645,17 +5745,18 @@ 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.0"; sha256="00agirwpz0rw4wfqgng97ikyz97sgmvdymr7m4c69ik3b9a6sfxl"; depends=[devtools dplyr ggplot2 gridExtra MplusAutomation plyr reshape2 stringi stringr]; };
-  aPCoA = derive2 { name="aPCoA"; version="1.2"; sha256="0b5fqxay918if5pfd6xgbzir5myivc3jar2p2is8azrykrr1v2cr"; depends=[ape car cluster randomcoloR vegan]; };
+  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=[]; };
-  aRtsy = derive2 { name="aRtsy"; version="0.1.5"; sha256="1acip7437jj86rkdnx8f4cl6flqzbfb31xhwjskc17p30awz9518"; depends=[e1071 ggplot2 kknn randomForest Rcpp RcppArmadillo]; };
-  aRxiv = derive2 { name="aRxiv"; version="0.5.19"; sha256="0rik0jkh1xi9fizzw46xmcw139g6nla072p7f8jgvzbhp7k58ba2"; depends=[httr XML]; };
+  aRtsy = derive2 { name="aRtsy"; version="0.1.6"; sha256="1fwiqr0ixq8k0mgv0swpbmdngrvlvl20963yn2h8sdxwck7n32sk"; depends=[ambient e1071 ggplot2 kknn randomForest Rcpp RcppArmadillo]; };
+  aRxiv = derive2 { name="aRxiv"; version="0.6"; sha256="1smv7aiqdk60aq9lna33a7hdykjdgfakaycpqkjj711b3pixcd34"; depends=[httr XML]; };
   aSPC = derive2 { name="aSPC"; version="0.1.2"; sha256="1q301rw7dax5v58srg4jlcam1qq2igkaj7kg8wlnlml0hsck4c4a"; depends=[energy mvtnorm]; };
   aSPU = derive2 { name="aSPU"; version="1.50"; sha256="0rh21dj5913nxhdndqfhxvm6mvwnacraf7l3bac09awm7cfhk511"; depends=[fields gee MASS matrixStats mvtnorm]; };
   aTSA = derive2 { name="aTSA"; version="3.1.2"; sha256="1p3spas0sxj08hkb8p6k2fy64w86prlw1hbnrqnrklr0hnkg2g54"; depends=[]; };
   aVirtualTwins = derive2 { name="aVirtualTwins"; version="1.0.1"; sha256="1jg19ns3mxfycc11i2c152d83n4kqz3dd6d269sijnxrw80kzjki"; depends=[party randomForest rpart]; };
   aaSEA = derive2 { name="aaSEA"; version="1.1.0"; sha256="0him4r8qyp0xssgrmdxjs45yn4d28h5anv4jyxxbbs9phb0m6j3h"; depends=[Bios2cor DT Hmisc magrittr networkD3 plotly seqinr shiny shinydashboard]; };
+  aba = derive2 { name="aba"; version="0.0.9"; sha256="1qnhnbbd8iir686gc48fld62pd4da39flf2djvvif2bxcvwl8y7a"; depends=[broom dplyr generics ggplot2 glue magrittr purrr rlang stringr tibble tidyr]; };
+  abbreviate = derive2 { name="abbreviate"; version="0.1"; sha256="1cvjdbi17qz8gr5898zchm5fyz4n51z66lwps25v8a9mhwab8imi"; depends=[]; };
   abbyyR = derive2 { name="abbyyR"; version="0.5.5"; sha256="1vldnd3dg89aj6a73nhirirqddbfdrnzhb5m3679i60sark8nk6r"; depends=[curl httr plyr progress readr XML]; };
   abc = derive2 { name="abc"; version="2.1"; sha256="0ngzaaz2y2s03fhngvwipmy4kq38xrmyddaz6a6l858rxvadrlhb"; depends=[abc_data locfit MASS nnet quantreg]; };
   abc_data = derive2 { name="abc.data"; version="1.0"; sha256="1bv1n68ah714ws58cf285n2s2v5vn7382lfjca4jxph57lyg8hmj"; depends=[]; };
@@ -5667,18 +5768,22 @@ in with self; {
   abd = derive2 { name="abd"; version="0.2-8"; sha256="191gspqzdv573vaw624ri0f5cm6v4j524bjs74d4a1hn3kn6r9b7"; depends=[lattice mosaic nlme]; };
   abdiv = derive2 { name="abdiv"; version="0.2.0"; sha256="053l94br8sdy30078ssncq5i5zvdxa3m72ymbwbh0cm3zmsljj29"; depends=[ape]; };
   abe = derive2 { name="abe"; version="3.0.1"; sha256="1f19h3xzzmjhvwc1rrb8z0rai3ip03y4gdi2gg9bfr5sg2nfklk6"; depends=[]; };
-  abess = derive2 { name="abess"; version="0.3.0"; sha256="10msadccqwq1mb27xqx44969wf2fqjxf9l3016smxlyma4dfr3j5"; depends=[MASS Matrix Rcpp RcppEigen]; };
+  abess = derive2 { name="abess"; version="0.4.0"; sha256="07cmny3mzpkr7j4zqkg2vag7mmzxin257bwnq3vzisa5dvw8mf1w"; depends=[MASS Matrix Rcpp RcppEigen]; };
   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]; };
   abstractr = derive2 { name="abstractr"; version="0.1.0"; sha256="1ymwp7syrynwd4i8aj2x5n8jdi9d96fjzl6jb09n0bnr5fgl7vig"; depends=[colourpicker emojifont ggplot2 gridExtra rintrojs shiny shinythemes]; };
   abtest = derive2 { name="abtest"; version="1.0.1"; sha256="0jz2ry5364p8h8xlk5a5sycn8xlpxd1iasfg99bcr4jqzd92jfqg"; depends=[Matrix mvtnorm plotrix qgam RColorBrewer Rcpp sn truncnorm]; };
+  abundant = derive2 { name="abundant"; version="1.2"; sha256="15m3ngj5aipjg961yy5kvdg9xlfcpliw30dq6gchzxabhnfzcipd"; depends=[glasso]; };
   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]; };
@@ -5704,12 +5809,12 @@ in with self; {
   actel = derive2 { name="actel"; version="1.2.1"; sha256="10gv6vc921ma6ckck9807j3j7z0m8kalwv5aj8xg6i2yqnia2zgs"; depends=[circular data_table DiagrammeR DiagrammeRsvg fasttime ggplot2 knitr readr reshape2 rmarkdown rsvg scales stringi stringr svglite]; };
   activPAL = derive2 { name="activPAL"; version="0.1.3"; sha256="1h6hp5z89ji73gdzxy1dgbfwjysiy5lvcqh90xagpb7sa7ahs3na"; depends=[devtools dplyr ggplot2 lubridate magrittr tidyr]; };
   activatr = derive2 { name="activatr"; version="0.1.0"; sha256="0c0sn0b5w1k7kgrx8b6vanamlxsr9nqvkwhm0d8imghq8wl90h43"; depends=[dplyr geosphere ggmap glue httr lubridate magrittr rlang tibble timetk xml2]; };
-  activegp = derive2 { name="activegp"; version="1.0.5"; sha256="065swmmrcwkvnm5a6rhg4g4agbsgrzjfpkwyr649wr13d07yn291"; depends=[hetGP lhs numDeriv Rcpp RcppArmadillo]; };
+  activegp = derive2 { name="activegp"; version="1.0.6"; sha256="0aml1lib9rxagkiw1gl9ps8pahllf52zkps9x5h0mga0lf7aahpz"; depends=[hetGP lhs numDeriv Rcpp RcppArmadillo]; };
   activity = derive2 { name="activity"; version="1.3.1"; sha256="1wn2a0hx7wfr2jyj1b772w5fgl6bcqkkw8cybais2s1wyjx8kjr5"; depends=[circular insol pbapply]; };
   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]; };
@@ -5733,13 +5838,13 @@ 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]; };
   ade4 = derive2 { name="ade4"; version="1.7-18"; sha256="09f5kh2mwygqpnvf53k0r54k0cvaafxm9x4nm819gwv05k2g9dpc"; depends=[MASS pixmap sp]; };
   ade4TkGUI = derive2 { name="ade4TkGUI"; version="0.3-1"; sha256="1y0f62n8iv002ayd1nyl3bmszw558niwnfzjpvk0a7cbvfdyvwcg"; depends=[ade4 adegraphics lattice]; };
-  adea = derive2 { name="adea"; version="1.1.6"; sha256="1hx0s33bwdln4hhbx901bb61r6p770na0ycd6raj2qqnc1292v9a"; depends=[Benchmarking combinat knitr lpSolveAPI rmarkdown]; };
+  adea = derive2 { name="adea"; version="1.2.1"; sha256="0crhv3kfxlmw0g5qb2rpq519bzd4w46lbhalqg2rfq324apxvmdj"; depends=[Benchmarking combinat knitr lpSolveAPI rmarkdown]; };
   adegenet = derive2 { name="adegenet"; version="2.1.5"; sha256="1wjp31634n6z6wglf4z3ydrhhn5jmpwwckmp3n2b0v5f3p2fivp4"; depends=[ade4 ape boot dplyr ggplot2 igraph MASS reshape2 seqinr shiny vegan]; };
   adegraphics = derive2 { name="adegraphics"; version="1.0-16"; sha256="0fpch8mffac68b64gh8jah8k9zcg8pphi38i9ddw5qggmvlrr9bv"; depends=[ade4 KernSmooth lattice latticeExtra RColorBrewer sp]; };
   adehabitatHR = derive2 { name="adehabitatHR"; version="0.4.19"; sha256="1zmsvv651l13pyc1f2jhmnzcv1a620mb7y3gmi7sdfh7jgms3g76"; depends=[ade4 adehabitatLT adehabitatMA deldir sp]; };
@@ -5756,16 +5861,17 @@ in with self; {
   adhoc = derive2 { name="adhoc"; version="1.1"; sha256="0a59fv9glcqh4zzd0887ndrhlcaylja6vay2ifajp8an29gjk1vv"; depends=[ape pegas polynom]; };
   adimpro = derive2 { name="adimpro"; version="0.9.3"; sha256="0njw38vcdm02sni193nj10mpv7hiklpamrkjlz5bnhjxx9mvf4cl"; depends=[awsMethods]; };
   adiv = derive2 { name="adiv"; version="2.1.1"; sha256="08cvnj62vm2vi73qrv87hxch4fsl5ab8fp5lcm143sp0f9n8daa6"; depends=[ade4 adegraphics adephylo ape cluster FactoMineR lpSolve phylobase phytools rgl]; };
+  adjSURVCI = derive2 { name="adjSURVCI"; version="1.0"; sha256="0nv6m7ds57d0h44d745s0424ssrgn39ihd294dgrzrpmh8gxhq95"; depends=[Rcpp RcppArmadillo survival]; };
   adjclust = derive2 { name="adjclust"; version="0.6.3"; sha256="07x9zpq3j47jhf4jaddr98bb07l1l743v3ic4b30kk3rbcrpqp7p"; depends=[capushe Matrix Rcpp RcppArmadillo sparseMatrixStats]; };
   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.20"; sha256="1ycarp95msxlcnidblvrkqhwhjpxlqwd8qvll9zdlxcqg1n117lf"; 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]; };
   adnuts = derive2 { name="adnuts"; version="1.1.2"; sha256="0nkciv5sfj3bws6kpgrnaq4ziasibaz44w64mb86zmr8420nyc1q"; depends=[ellipse ggplot2 R2admb rlang rstan snowfall]; };
-  adobeanalyticsr = derive2 { name="adobeanalyticsr"; version="0.1.5"; sha256="0sig63li7b8b38w9gf2xym0lklm5px89zdp8in1ybjrgpriy9v04"; depends=[assertthat dplyr ggplot2 glue httr jsonlite knitr lifecycle lubridate purrr purrrlyr rlang scales stringr tibble tidyr]; };
+  adobeanalyticsr = derive2 { name="adobeanalyticsr"; version="0.2.1"; sha256="1bibaayvcgmcxyd9wnmbg86jj6rp0pyi6pjpb84kbqhq91q78z41"; depends=[assertthat dplyr ggplot2 glue httr jose jsonlite knitr lifecycle lubridate progress purrr purrrlyr R6 rlang scales stringr tibble tidyr vctrs]; };
   adoptr = derive2 { name="adoptr"; version="1.0.0"; sha256="08d2fsqh5vczfr9cc8l554p6f0x85g58i5zg5j2m0chlmcispfk2"; depends=[glue nloptr]; };
   adpss = derive2 { name="adpss"; version="0.1.1"; sha256="0p2gyfc4rxmms8zdsq4hjsh1njfl2s736arq8aq1am2wh1w9k5ch"; depends=[Rcpp]; };
   ads = derive2 { name="ads"; version="1.5-5"; sha256="1i6cv296i5di9irmch9wg6bpxg7s026axspq0mhcwrfyqnw8xnxs"; depends=[ade4 spatstat_geom]; };
@@ -5774,13 +5880,12 @@ in with self; {
   adventr = derive2 { name="adventr"; version="0.1.8"; sha256="0nja1a2xhaimz1fg2bb838x9a37sswjqjc68mp59gbdwkfpdii37"; depends=[BayesFactor boot car dplyr effects effsize forcats GGally ggplot2 Hmisc learnr lm_beta nlme readr robust sandwich sjstats tidyr WRS2]; };
   adwave = derive2 { name="adwave"; version="1.3"; sha256="11iy50ng0zxvwsvdsvx262j8zgqaai308lp5is47az7xzvk57mx7"; depends=[waveslim]; };
   adwordsR = derive2 { name="adwordsR"; version="0.3.1"; sha256="1w5qg4psm8pj89f09pz7in8zkafaimik1n6hx29y55jpmbxbk2gn"; depends=[RCurl rjson]; };
-  aemo = derive2 { name="aemo"; version="0.3.0"; sha256="108scwyf0dyvn969cks3ikbj2pf2g4dw051asahx26pl0ggw7ijw"; depends=[assertthat dplyr lubridate stringr]; };
   afc = derive2 { name="afc"; version="1.4.0"; sha256="1iy1wa88kf6zi6x7lbd0jdir653cvzvdraliqpxbac413wwb5gwl"; depends=[]; };
   afdx = derive2 { name="afdx"; version="1.1.1"; sha256="1654vxakdd11b5zhwy1vcv127xk5rifan6fs1k6w1qsk74j4drqv"; depends=[dplyr magrittr maxLik tidyr]; };
   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]; };
@@ -5793,13 +5898,15 @@ in with self; {
   agriTutorial = derive2 { name="agriTutorial"; version="0.1.5"; sha256="0c0p0bqcrnx34q5brnvgq10wkzahvgyybaz2xfmcghbdvzahd2dx"; depends=[emmeans ggplot2 lattice lmerTest nlme pbkrtest]; };
   agricolae = derive2 { name="agricolae"; version="1.3-5"; sha256="0pgcpp3g7j9cnxajm98ppsqz5dx33v7xnrq0gp50flwbc0sjb0l3"; depends=[AlgDesign cluster klaR MASS nlme]; };
   agricolaeplotr = derive2 { name="agricolaeplotr"; version="0.2.2"; sha256="1xrsn9afdqzczaqam0aygm19vpgbq9aqh5b5qr9awj747sihpxjp"; depends=[agricolae ggplot2 rmarkdown]; };
-  agridat = derive2 { name="agridat"; version="1.18"; sha256="0r3806inanb49snnliq1k2li40f3yl73h37apngfhk0fw2d46fq1"; depends=[]; };
+  agridat = derive2 { name="agridat"; version="1.20"; sha256="0iyzvh5sc42b04lm4xncra451c4cvqza88ir1b7ik4bnr9p7n0bp"; depends=[]; };
+  agrifeature = derive2 { name="agrifeature"; version="1.0.3"; sha256="0zbjmgwajwihgvs1c3swddx09m6954sihnpjdrqlgl5jhh7q2bgs"; depends=[]; };
   agriwater = derive2 { name="agriwater"; version="1.0.1"; sha256="1mssd0nxj8ayc3b2qcc7qzx93cnwnlxrnhn3rdknxc8iixkf40l8"; depends=[raster rgdal sp]; };
   agrmt = derive2 { name="agrmt"; version="1.42.8"; sha256="1czxcyqrmcpjh4h77p9c6gb63aj0mi1b8cdxp3q6r0k7dy8db7ad"; depends=[]; };
   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]; };
@@ -5819,9 +5926,9 @@ in with self; {
   airports = derive2 { name="airports"; version="0.1.0"; sha256="1ahfqqfcvr731hj0h7d00jd87h1adiryh42sv4mh318lk5rglm6f"; depends=[]; };
   airqualityES = derive2 { name="airqualityES"; version="1.0.0"; sha256="1kf673ajk06ggy9524lip5flpfgq0gql7d46kgnri8l3kbzw7zcj"; depends=[tibble]; };
   airr = derive2 { name="airr"; version="1.3.0"; sha256="1lpzd8qz1dr6kkrbc8lnqbknxyamv4y6ahad5w9q5dgwdwn0kpym"; depends=[readr stringi yaml]; };
-  airt = derive2 { name="airt"; version="0.2.0"; sha256="1psr3zsvgvvg2r4mah0dq8zgagr6y85a541pmpm7aszzkkga4yp5"; depends=[EstCRM mirt pracma rlang tidyr]; };
+  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=[]; };
@@ -5846,7 +5953,7 @@ in with self; {
   allestimates = derive2 { name="allestimates"; version="0.2.1"; sha256="1znjzqansh2117xpnwpsw450z20q6rz91h2kg35ygssg5skk8z6q"; depends=[broom dplyr ggplot2 speedglm stringr survival tibble tidyr]; };
   alluvial = derive2 { name="alluvial"; version="0.1-2"; sha256="039frwrsxq1lb97s7vf2vbyyadimkigs628ymym06fxka53drdkp"; depends=[]; };
   almanac = derive2 { name="almanac"; version="0.1.1"; sha256="0qsczk74ihy7ac5c4dzd6ax5gfmr56wfnjxg396qc2c3xykb7dd5"; depends=[glue lubridate magrittr R6 rlang V8 vctrs]; };
-  alookr = derive2 { name="alookr"; version="0.3.4"; sha256="157xk5h4dsjd14yv014nzqg80h6pcngcs9agv801m9iq7gyx9vyn"; depends=[caTools cli dlookr dplyr future ggmosaic ggplot2 MASS MLmetrics party purrr randomForest ranger rlang ROCR rpart tibble tidyr tidyselect unbalanced xgboost]; };
+  alookr = derive2 { name="alookr"; version="0.3.5"; sha256="04ivvr9x5glxsz5077z0ahw0x242dgxnch4i6ybmv59jp6gpf4hg"; depends=[caTools cli dlookr dplyr future ggmosaic ggplot2 glmnet MASS MLmetrics party purrr randomForest ranger rlang ROCR rpart tibble tidyr tidyselect unbalanced xgboost]; };
   alpaca = derive2 { name="alpaca"; version="0.3.3"; sha256="1mpyy9wg2wvznkd9vgzaxyz87py9zmlrlrzrhqbmqiwqh5y99wnq"; depends=[data_table Formula MASS Rcpp RcppArmadillo]; };
   alphaOutlier = derive2 { name="alphaOutlier"; version="1.2.0"; sha256="09yrbv7jsiymw5gzp8p92ki70v1fys2k75x4sb9s7wy3c58wn1cd"; depends=[nleqslv quantreg Rsolnp]; };
   alphabetr = derive2 { name="alphabetr"; version="0.2.2"; sha256="1pmp6zwhgycb38y5jbvrbv2nza7gyjh508vy09ml483c2cysvc1r"; depends=[clue dplyr multicool Rcpp]; };
@@ -5874,6 +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.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]; };
@@ -5894,7 +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="2020.9.18"; sha256="17gr43hyb7yx9rsa0id5ibix09sai95pknc75cf31ra72mkpym8m"; depends=[digest gtable knitr lazyeval MASS plyr reshape2 RJSONIO scales tibble]; };
+  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]; };
@@ -5909,19 +6017,18 @@ in with self; {
   antaresViz = derive2 { name="antaresViz"; version="0.17"; sha256="18f398qvy88w9rlkd08h5gvk7vwh349cjxi4pa59s5fs4ihhmdd2"; depends=[antaresProcessing antaresRead assertthat data_table dygraphs geojsonio htmltools htmlwidgets leaflet leaflet_minicharts lubridate manipulateWidget plotly rAmCharts raster rgeos shiny sp spMaps webshot]; };
   anthro = derive2 { name="anthro"; version="1.0.0"; sha256="169h2vhdd2kxh4228lx1ab3fipixvka4686ngx6h8g15li9828s9"; depends=[survey]; };
   anthroplus = derive2 { name="anthroplus"; version="0.9.0"; sha256="1wnj2idgdnh2gdw34x40adijf2sxp3k72j45pqqxg4aqc1wrvvv1"; depends=[anthro]; };
-  anticlust = derive2 { name="anticlust"; version="0.5.6"; sha256="1f5z05p5fwfgcj4vzg6kg9vihamcdha74yyn9c04m4kydyngnm85"; depends=[Matrix RANN]; };
+  anticlust = derive2 { name="anticlust"; version="0.6.1"; sha256="1f06968i5hpfavcwmcqij0mb13jhp02gbkqiijilyiz2kc8p0nfc"; depends=[Matrix RANN]; };
   antitrust = derive2 { name="antitrust"; version="0.99.25"; sha256="0f4alzr4nmjhxwk3c6mi5vrs2i20dambpc9zfkxf04rxbcw2znvy"; depends=[BB numDeriv]; };
   antiword = derive2 { name="antiword"; version="1.3"; sha256="034znb0g9wwb8gi1r3z75v3sbb4mh83qrc4y8mbfx5lbgh8zhj6j"; depends=[sys]; };
   anyLib = derive2 { name="anyLib"; version="1.0.5"; sha256="1x9x58hhkkwdskmgdjv94ynh811n9w0752hh4214adl1qpn576vm"; depends=[BiocManager curl devtools httr withr]; };
   anybadger = derive2 { name="anybadger"; version="0.1.0"; sha256="1aa09v5k5nlvhlir8saa5gnrq7cb1djbdc8y85cjgb3skay94hzv"; depends=[config glue magrittr purrr R6]; };
   anyflights = derive2 { name="anyflights"; version="0.3.2"; sha256="0531cqamk8sqb2df3brwyak2rs65mc5r3vsywc6xrr1nlaw62zd6"; depends=[curl dplyr glue httr lubridate progress purrr readr roxygen2 stringr usethis vroom]; };
   anytime = derive2 { name="anytime"; version="0.3.9"; sha256="0jjpqynai5nd7mfy1smb44356f3d5bmpxhs1i9x9jw5c959c35hh"; depends=[BH Rcpp]; };
-  ao = derive2 { name="ao"; version="0.1.4"; sha256="0phlnvh05qr5rig40virypl1k2inl0c4c9mmkfbbw2089ryc9gq0"; depends=[]; };
+  ao = derive2 { name="ao"; version="0.2.1"; sha256="17qvqvbhybp2icwna7iwib65mfcjxf1dyx38vahgzasd9w8wrfck"; depends=[ggplot2 optimx R_utils]; };
   aod = derive2 { name="aod"; version="1.3.1"; sha256="1g03ajhs6bid80i83xn3917abhymzgrydqx86wxxpkqga018hb85"; depends=[]; };
   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]; };
@@ -5931,32 +6038,33 @@ 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.5"; sha256="16i9sny7j90zi0k3znfff5lpnj5naxcy1142v73zxslr9g3h3am3"; 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=[]; };
-  apricom = derive2 { name="apricom"; version="1.0.0"; sha256="1gyd1yln14cn0iswj7sjs4hav6j6d4f3ncps4gqbci5fwha5blcr"; depends=[logistf penalized rms shrink]; };
   aprof = derive2 { name="aprof"; version="0.4.1"; sha256="14qclp88j4ygd4vrxxpgy2s9939wcajjsqycdzpvn64ws29sdpvh"; depends=[testthat]; };
-  apsimx = derive2 { name="apsimx"; version="2.0"; sha256="0qm15lgj4lf85lcf60bb3mv6vhakkz2yfw4g8kawl0nwpjsg1y8y"; depends=[DBI jsonlite knitr RSQLite xml2]; };
+  apsimx = derive2 { name="apsimx"; version="2.3.1"; sha256="1d1ipzf9ahdb3540zjcyzj4dwx5v8b73av790ahhbmc128vdmspj"; depends=[DBI jsonlite knitr RSQLite xml2]; };
   apsrtable = derive2 { name="apsrtable"; version="0.8-8"; sha256="1qmm89npjgqij0bh6p393wywl837lfsshp2mv9b5izh1sg2qfwvw"; depends=[]; };
   apt = derive2 { name="apt"; version="3.0"; sha256="14njvpf6q34nffm3r9gqcszlabzbydsxqj0ln9nk4mv59izp8sqm"; depends=[car erer urca]; };
   apyramid = derive2 { name="apyramid"; version="0.1.2"; sha256="0ws6dfd6v3p9rhpmf06786yl2gaw1h2n1d76a054iap8bvgyahzw"; depends=[dplyr forcats ggplot2 glue rlang scales tidyselect]; };
-  aqp = derive2 { name="aqp"; version="1.32"; sha256="0xmbg0cwl56zcj0j67w3bz387vnarkiamij88m53ca1sja6kfgwn"; depends=[cluster data_table lattice plyr sp stringr]; };
+  aqp = derive2 { name="aqp"; version="1.40"; sha256="07xs6yk3mqlhipwbnwygc0hklm6pr8rc6lmyl5n24vm01zkfnzwp"; depends=[cluster data_table lattice plyr sp stringr]; };
   aquodom = derive2 { name="aquodom"; version="0.1.0"; sha256="1ww80pglvpyi84z6zi475y9clx2zyys0qy2g2579wmyqs4hc36p6"; depends=[cachem dplyr glue httr lubridate magrittr memoise openxlsx readr rlang stringr tibble]; };
   ar_matrix = derive2 { name="ar.matrix"; version="0.1.0"; sha256="1d531hkl50szfa1q0zbp8dp1a9jli63kwvxjgc9n0ar279y47qdz"; depends=[MASS Matrix sp sparseMVN]; };
   arabic2kansuji = derive2 { name="arabic2kansuji"; version="0.1.1"; sha256="0fb8qn9a7xyk2civs1s3cx61hxmkrj6pkwnfq7pbjdm2dh6xjfky"; depends=[purrr stringr]; };
@@ -5968,11 +6076,10 @@ 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.2"; sha256="1rvjix90yxlwlfy0pdfjg81jnj36sqp5zyxw1phv4fa65b4vh4nf"; 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]; };
-  arcos = derive2 { name="arcos"; version="1.27"; sha256="02s4vpfsipww6i73lhrdawqlg01gp929n4sx6z869b12jixnq3ni"; depends=[curl dplyr httr jsonlite magrittr stringr tidyr urltools vroom]; };
   arcpullr = derive2 { name="arcpullr"; version="0.2.1"; sha256="12gr2q5ipm20clbpv1snhfff9cp2dr60m3mv0s4iibipv7fhpl4s"; depends=[dplyr ggplot2 httr jsonlite raster rlang sf tidyr]; };
   arctools = derive2 { name="arctools"; version="1.1.4"; sha256="0ldhmv2fs3gi5v5d36y8i1mbw3w4vf2h8f7avlk5zgywn46j75zf"; depends=[lubridate runstats]; };
   areabiplot = derive2 { name="areabiplot"; version="1.0.0"; sha256="0izgvlg174jbr3fm3qc8zh23kfs7hn9bwd40x6vm90iivrrgdcp7"; depends=[nipals]; };
@@ -6011,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-1"; sha256="0zzwr1mg92ha5l6razdb04da8ik3z3k74rm0rah44l1j2a6d30sk"; 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]; };
@@ -6024,18 +6131,19 @@ in with self; {
   asciicast = derive2 { name="asciicast"; version="1.0.0"; sha256="0vga88cq2hzi0bwq43n1yz5cm8kaag9xpg8v73gj06fb93lhha9x"; depends=[curl jsonlite processx tibble uuid V8]; };
   asciichartr = derive2 { name="asciichartr"; version="0.1.0"; sha256="1b73bbysnxy3x3gwhm80xry45m18yh716wrc93v1awk3c1p2cv3m"; depends=[]; };
   asciiruler = derive2 { name="asciiruler"; version="0.2"; sha256="0xhkbsy9dypk09avazgxczyfkh3rhdxhwci688dw1lxnhxv1hj24"; depends=[stringr]; };
+  ascotraceR = derive2 { name="ascotraceR"; version="0.0.1"; sha256="0h7q49pdchw0apyrm813qrl4sp6hym31awh1bjlk06fd76ynj72y"; depends=[circular data_table lubridate lutz purrr sf terra]; };
   asd = derive2 { name="asd"; version="2.2"; sha256="0p3r4qjam3sl3rpcilb0pgx4xx3ly71xqnvkv31vzjs885lgxz4l"; depends=[mvtnorm]; };
   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-21"; sha256="0clyzdvxhwmg7w70l0yacsc50dd6284spdwglyrdfxkz85xdhwqg"; depends=[dae doParallel dplyr foreach ggplot2 RColorBrewer reshape sticky stringr]; };
-  assemblerr = derive2 { name="assemblerr"; version="0.1.0"; sha256="13vhn73v2429smf4av414xrm9vmbcxwhfgbq33zfdn7qyrj8wpv1"; depends=[cli glue magrittr purrr rlang tidyselect vctrs]; };
+  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]; };
@@ -6061,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.1.0"; sha256="16p62lscbmk3kf55lz8x9mi67p4gkygcnhvyqq29pr7fjg5nkzqd"; depends=[deSolve]; };
+  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=[]; };
@@ -6083,6 +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-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]; };
@@ -6102,6 +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.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]; };
@@ -6110,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.98"; sha256="0rn55vb9rpfbjvc8i4awmhhz9xg3acxxgwkk1jjzzhydhzgdg1q4"; 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]; };
@@ -6124,11 +6235,11 @@ in with self; {
   automl = derive2 { name="automl"; version="1.3.2"; sha256="1nrg8q3y6rv69nmnsylg8rps4b4prx46j5a8ljlr24yc34504ck3"; depends=[]; };
   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.1.0"; sha256="0yia8hli3d8pafr82a8syzq35jq2jdjsl4w7dahnfaq6bjzkdzx2"; depends=[BBmisc broom broom_mixed Ckmeans_1d_dp dials dplyr flextable framecleaner ggeasy ggplot2 ggstance ggthemes glmnet gtools 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.0"; sha256="0xqvisad2rl4cjdijnjk3qvl52rrz7ddvykwpqxy185nl3iblpk7"; depends=[data_table doSNOW foreach forecast ggplot2 ggrepel gridExtra lmtest lubridate maxLik progress Rcpp RcppArmadillo sandwich strucchange]; };
-  autothresholdr = derive2 { name="autothresholdr"; version="1.3.12"; sha256="0gjv3yfslm5fvmr3h0df41pxb5j14pzsi31fi0hbjgv6lharh147"; depends=[checkmate ijtiff magrittr purrr Rcpp rlang strex stringr]; };
+  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="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.4"; sha256="18dqm10dicbvjd5wli4nkv4fip0fgh2b9h9gm5511ayfsdg8lc8l"; depends=[cli clisymbols crayon desc glue jsonlite memoise SnowballC stringdist tibble tidytext udapi yesno]; };
+  available = derive2 { name="available"; version="1.0.5"; sha256="1mlyzmfskam3d0mnr5hncxi2jhc5lhny1ynvxvbnx15vj8f6r7y5"; depends=[cli clisymbols crayon desc glue jsonlite memoise SnowballC stringdist tibble tidytext udapi yesno]; };
   avar = derive2 { name="avar"; version="0.1.1"; sha256="1i0bk3y0ca58ihwn4di8rpkp5vs2j5b80rcvaf72n9h2hp8i2ncz"; depends=[Rcpp RcppArmadillo simts]; };
   averisk = derive2 { name="averisk"; version="1.0.3"; sha256="02j27d4jxgy2bk5sgxp1xdfyqr321civs99qj0g8cp34gwqk0j3m"; depends=[MASS]; };
   avocado = derive2 { name="avocado"; version="0.1.0"; sha256="0qy9ripwydm3f70rpxwk0asc7r25hg8jcbrr4rz8bxs93q1lsz8x"; depends=[]; };
@@ -6138,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]; };
@@ -6152,7 +6263,7 @@ in with self; {
   azuremlsdk = derive2 { name="azuremlsdk"; version="1.10.0"; sha256="0s64kjrmcdnjdwh5mdm5vxgvrl9ghvfv6bair7qfzz32jlab99m0"; depends=[DT ggplot2 htmltools plyr reticulate rstudioapi servr shiny shinycssloaders]; };
   b6e6rl = derive2 { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; };
   bPeaks = derive2 { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; };
-  bRacatus = derive2 { name="bRacatus"; version="1.0.6"; sha256="139in6322ghw5gb6czvkm1i9cjm9rharpbdhawhflsqz8mlb6pvr"; depends=[data_table geojsonio jsonlite maptools plotfunctions raster rgbif rgdal rgeos rworldmap sp]; };
+  bRacatus = derive2 { name="bRacatus"; version="1.0.7"; sha256="1xzrwmd6wj5c1nqrg7wry4zjq2np010dzilg631vgf7f7vg9ch94"; depends=[data_table geojsonio jsonlite maptools plotfunctions raster rgbif rgdal rgeos rworldmap sp]; };
   bReeze = derive2 { name="bReeze"; version="0.4-3"; sha256="17nc6qvw9l6sq8knd1mk193md2y3z1jlcjymqzl389yxj8s0i2il"; depends=[lubridate]; };
   bSims = derive2 { name="bSims"; version="0.3-0"; sha256="055hqa5w4gaqz9mms9yj85wg0pgl6xa568nbjxm4qc75rsy91qg5"; depends=[deldir intrval MASS mefa4 pbapply]; };
   bWGR = derive2 { name="bWGR"; version="1.6.6"; sha256="1m5spafvl5pn0s60vaf8wz7iaibsa7laq7kp8y9xj20pp3f76hvr"; depends=[Rcpp]; };
@@ -6167,9 +6278,9 @@ in with self; {
   babynames = derive2 { name="babynames"; version="1.0.1"; sha256="1gcpd6lncqwjz05z98ra6hcc8q966l2594ylkg50avndild89n3h"; depends=[tibble]; };
   bacistool = derive2 { name="bacistool"; version="1.0.0"; sha256="1hby2bmxbc8qgjzgkp2flv89lpzzvg3vr7s98989ayjmv4vgmqaf"; depends=[rjags]; };
   backShift = derive2 { name="backShift"; version="0.1.4.3"; sha256="1dhmq51w07vcqlngsb04ip0wqbgqq2xdfdm1w82r082f07ywqb16"; depends=[clue ggplot2 igraph MASS matrixcalc reshape2]; };
-  backbone = derive2 { name="backbone"; version="1.5.1"; sha256="06awrjcs78h7i632v5dyfqj0gldnww4xkn4j0rffimf3aiwxm7l9"; depends=[igraph Matrix network PoissonBinomial]; };
+  backbone = derive2 { name="backbone"; version="2.0.0"; sha256="1ypcy4l1iikz500sshf2ikgqlgw2ghya3bqqqashjblwpnby3rc4"; depends=[igraph Matrix network PoissonBinomial Rcpp]; };
   backpipe = derive2 { name="backpipe"; version="0.2.3"; sha256="12k2cv9x8h0b002m9c8g4vj5a7chp4b8jqz377ia0diqw89dydpm"; depends=[]; };
-  backports = derive2 { name="backports"; version="1.4.0"; sha256="1gxbimp6iv3viklsv2qlv8diq4nrgb3afyc5n3c2m1aas9jiaqg7"; depends=[]; };
+  backports = derive2 { name="backports"; version="1.4.1"; sha256="0x144hij0rzhrxdq3k5ph8fk7pdgl1avjca25j4mlpmhzdckqp44"; depends=[]; };
   backtest = derive2 { name="backtest"; version="0.3-4"; sha256="1s0mf247dz2vvyf4m3sp9xiqhv7xcs4rphyg9gdcy73060sah2ad"; depends=[lattice]; };
   bacondecomp = derive2 { name="bacondecomp"; version="0.1.1"; sha256="1sd6pbhmx8vxz5c2cvvadbjy7p15y91gzs3n0ish7h5br1vq8fpm"; depends=[]; };
   bacr = derive2 { name="bacr"; version="1.0.1"; sha256="14zr1v4rihx0ra3x0vsb81vsz0g8gzskkdxkg7nhiz835hp2fiy8"; depends=[MCMCpack]; };
@@ -6178,10 +6289,11 @@ in with self; {
   bagged_outliertrees = derive2 { name="bagged.outliertrees"; version="1.0.0"; sha256="0fcd54j6vci2yvlb609dck4pwbn54irkdk472cjc965rcw6dz9z7"; depends=[data_table doSNOW dplyr foreach outliertree rlist]; };
   baggedcv = derive2 { name="baggedcv"; version="1.0"; sha256="1rqs4sm6g1anck5s2dxlm1vcmylpphcbs2dpvf1sjki5lrzdq9z4"; depends=[doParallel foreach kedd mclust]; };
   baggingbwsel = derive2 { name="baggingbwsel"; version="1.0"; sha256="0khvkxml4nwkahgl5ijdv0bjgwabmznzq99p71iw26ck808hafkl"; depends=[doParallel foreach kedd mclust misc3d nor1mix Rcpp rgl rpanel sm tkrplot]; };
-  baggr = derive2 { name="baggr"; version="0.6.9"; sha256="19k47v5zqrfgj40msp5f06xh74bdplvw57capjc3xs9dbmvxb31i"; depends=[bayesplot BH crayon forestplot ggplot2 gridExtra quantreg Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders testthat]; };
+  baggr = derive2 { name="baggr"; version="0.6.18"; sha256="0qmsg3w6blpj9nlk0blzlm7l04z4r33gw17r6n52l2wf8x0giirx"; depends=[bayesplot BH crayon forestplot ggplot2 gridExtra Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders testthat]; };
   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.7"; sha256="1k05npgiv11izm37fgbds8lc9yvfgklkdh099najxzbs4c13768z"; depends=[lavaan]; };
+  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]; };
@@ -6206,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=[]; };
@@ -6226,15 +6338,17 @@ in with self; {
   batch = derive2 { name="batch"; version="1.1-5"; sha256="0wdgfvk2i542cqg34ikvzwlix09f2jyjb32a0f4zh9vg9nrywswq"; depends=[]; };
   batchmeans = derive2 { name="batchmeans"; version="1.0-4"; sha256="0b2npqxrv08zxj59sahj5s87inhl6dyl10bj01v0l1yr14q5g546"; depends=[]; };
   batchscr = derive2 { name="batchscr"; version="0.1.0"; sha256="094l2cq7lcdrlsdmsxmbal7srxdg20rxbms46h1sd414wq26d413"; depends=[]; };
+  batchtma = derive2 { name="batchtma"; version="0.1.6"; sha256="1ii7iiq6vhfqnhzp5xpl40g2gdmm9c7ib3kg8fbswg99f96hqhbp"; depends=[broom dplyr geepack ggplot2 limma magrittr nnet purrr quantreg rlang stringr tibble tidyr]; };
   batchtools = derive2 { name="batchtools"; version="0.9.15"; sha256="0d2xy77hkzhcnyz8zxcv98i80fx6ripjw4rvyx4ww1d0vjjgqf52"; depends=[backports base64url brew checkmate data_table digest fs progress R6 rappdirs stringi withr]; };
   batman = derive2 { name="batman"; version="0.1.0"; sha256="0ccgx506p4iri23k2ikb8jmh04dp08w66785bv52iy8kd359h43f"; depends=[Rcpp]; };
   batteryreduction = derive2 { name="batteryreduction"; version="0.1.1"; sha256="0j838q7063bplkzd50kmnxji80cgysfsq7m1qifv8z7a2zsh8c8g"; depends=[pracma]; };
+  bayMDS = derive2 { name="bayMDS"; version="1.6"; sha256="1g4haskms28rn5wpkqn7rgaqpx5n4x3rz48n292l1vknb4mjwm8n"; depends=[ggplot2 ggpubr gridExtra progress Rcpp RcppArmadillo rgl shiny shinythemes]; };
   baycn = derive2 { name="baycn"; version="1.2.0"; sha256="1ykz1brs3mz94n86d5qaq25vf24j5adyzpddxqmn7qklbxxr6fh5"; depends=[egg ggplot2 gtools igraph MASS]; };
   bayefdr = derive2 { name="bayefdr"; version="0.2.0"; sha256="1kjadqw5h63f2w2k2dk81a8k90j55chv4lsvqdhq2nybvmnas1yj"; depends=[assertthat cowplot ggExtra ggplot2 reshape2]; };
   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]; };
@@ -6256,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]; };
@@ -6284,22 +6398,21 @@ 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]; };
   bbw = derive2 { name="bbw"; version="0.1.3"; sha256="1z3an561qh0rfi3jhh1ghsdbg8aimqmf4hpqri2jz39in3p0gwg4"; depends=[car]; };
   bc3net = derive2 { name="bc3net"; version="1.0.4"; sha256="15dghd0v1s71h77iw8b49v5h7wcda5mb4540lfyibsdipbashv2h"; depends=[c3net igraph infotheo lattice Matrix]; };
   bcROCsurface = derive2 { name="bcROCsurface"; version="1.0-5"; sha256="1jj7iag9azmxccc8a45vaxi6lw4jbfzj68wm0zdsggplgvzljn1f"; depends=[boot nnet Rcpp RcppArmadillo rgl]; };
-  bcTSNE = derive2 { name="bcTSNE"; version="0.10.0"; sha256="1109kgrrpizhg7j1wbkk6f84hsw89xk2l6vwxpjpg6rh50z3bfi6"; depends=[RSpectra Rtsne]; };
+  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]; };
@@ -6317,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]; };
@@ -6351,7 +6464,7 @@ in with self; {
   belex = derive2 { name="belex"; version="0.1.0"; sha256="1563yngc1lvncmx3h6kgsj1r6k3hvxidh6h9rb7apxs2rq5k32ms"; depends=[XML]; };
   belg = derive2 { name="belg"; version="1.5.0"; sha256="0l2gh5nm37vrfjl1wwa8zhgz67fbral5g9w59npz6swc9xqmxlgp"; depends=[Rcpp RcppArmadillo]; };
   bellreg = derive2 { name="bellreg"; version="0.0.1"; sha256="17a0ac5ab9yblkl3cwv9vf1l6s027r34n4lqw9fs8bfs1inxbn9p"; depends=[BH extraDistr Formula magic MASS numbers Rcpp RcppEigen Rdpack rstan rstantools StanHeaders]; };
-  bench = derive2 { name="bench"; version="1.1.1"; sha256="1ldqmf0anwgw6b9jgy5mnnjjncayc1x54pvjm6f5gqv0225ksdw3"; depends=[glue pillar profmem rlang tibble]; };
+  bench = derive2 { name="bench"; version="1.1.2"; sha256="16s3qa70bvfd692c0agvi27hp09b07qrzrz6jy2yd7xpimv0m4dg"; depends=[glue pillar profmem rlang tibble]; };
   benchden = derive2 { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; };
   benchmarkme = derive2 { name="benchmarkme"; version="1.0.7"; sha256="0ymgsxzrvnpyvs0cff09d3lrkl12qyqx5bwammsc4vgl5ng9p69p"; depends=[benchmarkmeData doParallel dplyr foreach httr Matrix tibble]; };
   benchmarkmeData = derive2 { name="benchmarkmeData"; version="1.0.4"; sha256="1n4vjkagqlm6kw2hilf4gjfcdjad0bcg652j9nl2ygbq3kdnh1vf"; depends=[dplyr tibble]; };
@@ -6379,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]; };
@@ -6393,21 +6506,22 @@ in with self; {
   bgmm = derive2 { name="bgmm"; version="1.8.5"; sha256="1qng8zlpm5pp2ilny99gxyppmp5dnrada4kmvpyg2ap06i69a9gs"; depends=[car combinat lattice mvtnorm]; };
   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.16"; sha256="097vfpqkkbgps9wkabc1k18fa5vv0shbn1jz6g5l96xv96nvx93w"; depends=[coda ggplot2 MASS survival]; };
-  bhmbasket = derive2 { name="bhmbasket"; version="0.9.3"; sha256="1avd1w8qrnlydmzv9r2lvdilailzdcsib3zcn4461qh3qxlwn52f"; depends=[foreach R2jags]; };
+  bhm = derive2 { name="bhm"; version="1.17"; sha256="14n78ca8qxdjdk3pxi72fcajcw5ndfncc8a6bc8k2jqj6l0k05qf"; depends=[coda ggplot2 MASS survival]; };
+  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.2"; sha256="05w22cv8w733xp79ciywih5cbv3fl6kzkbwwmrf44l1vdcnv3dsn"; depends=[DAAG expm fields MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
+  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]; };
   bib2df = derive2 { name="bib2df"; version="1.1.1"; sha256="0d57883df774qqwpssmly3f1gci32yc5sgwc3x8f2rjih23s1nf6"; depends=[dplyr httr humaniformat stringr]; };
-  biblio = derive2 { name="biblio"; version="0.0.5"; sha256="13mbw95533iqi0mqa1frhljn0kzhzxrd70vhk0l0jfqdhms0sqw7"; depends=[stringr yamlme]; };
+  biblio = derive2 { name="biblio"; version="0.0.6"; sha256="079p0qzmi3sg2ff7ln9lg65lf7r402rldqfpxmfvckhm9s6b29b4"; depends=[stringr yamlme]; };
   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]; };
@@ -6422,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]; };
@@ -6438,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.1"; sha256="0vw7bdbx08k4ny02f90km3snhgzv2hqkskqlc3x68xzw6zd762w0"; 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=[]; };
@@ -6450,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]; };
@@ -6468,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]; };
@@ -6476,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]; };
@@ -6489,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]; };
@@ -6499,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]; };
@@ -6512,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]; };
@@ -6521,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]; };
@@ -6534,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]; };
@@ -6545,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]; };
@@ -6559,15 +6675,14 @@ 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=[]; };
   blockmodeling = derive2 { name="blockmodeling"; version="1.0.5"; sha256="1vc8gy4slsywcwxq532373i0dq73fhs5cac9mr6zz2pjaaxjghhq"; depends=[Matrix]; };
-  blockmodels = derive2 { name="blockmodels"; version="1.1.4"; sha256="1kx6ryx0ma7j70nzby0wdagqkf1cjdhvw32rf7i1pp8f2rkfsg84"; depends=[digest Rcpp RcppArmadillo]; };
+  blockmodels = derive2 { name="blockmodels"; version="1.1.5"; sha256="1h2g13yp8xhkw9icl5bi1nkc0qfqkqhlhdqbcsp0246g9amssci9"; depends=[digest Rcpp RcppArmadillo]; };
   blockrand = derive2 { name="blockrand"; version="1.5"; sha256="0bic3b8l7mp2hpwd8k1diwy6a4lj92i7s5k20i2wy8kw0c74jwfh"; depends=[]; };
   blocksdesign = derive2 { name="blocksdesign"; version="4.9"; sha256="1kr3fxs8vgc96clhx5ml11jkwll1rg9gf16xg93q14jpg4hg0j9h"; depends=[plyr PolynomF]; };
-  blogdown = derive2 { name="blogdown"; version="1.6"; sha256="0xlx5d3hmsx1v4n75g3xfi9i6npsw4gfqzm5h97vafgnjpf35g3g"; depends=[bookdown htmltools httpuv jsonlite knitr later rmarkdown servr xfun yaml]; };
+  blogdown = derive2 { name="blogdown"; version="1.7"; sha256="0v3sxbq35azak6g4a7k6pq9z9qgx4yf138r1r5yl76grrq4k9gka"; depends=[bookdown htmltools httpuv jsonlite knitr later rmarkdown servr xfun yaml]; };
   blorr = derive2 { name="blorr"; version="0.3.0"; sha256="1ynvg6ar7c7p01225q9czy4gxks0p1vw3sx207l7vzqxw20wb1bn"; depends=[car data_table ggplot2 gridExtra lest Rcpp]; };
   blrm = derive2 { name="blrm"; version="1.0-1"; sha256="0p0nmbxil4l89fcryrgsg9mxzb5fyg93p50aqkjy00ms05hwd0hx"; depends=[boot mvtnorm openxlsx reshape2 rjags]; };
   blsR = derive2 { name="blsR"; version="0.2.1"; sha256="0wbcpvgj72fkhv4z1gllf9lkq45mdwwnf8dnmaqwl9i5qnihy1yy"; depends=[dplyr httr jsonlite purrr rlang]; };
@@ -6575,7 +6690,7 @@ in with self; {
   bmabasket = derive2 { name="bmabasket"; version="0.1.1"; sha256="1hgbl1x38snhzbh5j1qz81azkdwzmm4idacyyyrn895vl71ypfrn"; depends=[partitions Rcpp RcppArmadillo]; };
   bmass = derive2 { name="bmass"; version="1.0.3"; sha256="0dafixd996lamn5kfbqpiawblalhyw1gi394j46n2sij2r209d76"; depends=[]; };
   bmem = derive2 { name="bmem"; version="1.8"; sha256="1nhybz8aarzlqjx4443hsflflgy2jcprz5dv6mwxacnyspm93vlq"; depends=[Amelia lavaan MASS sem snowfall]; };
-  bmgarch = derive2 { name="bmgarch"; version="1.0.1"; sha256="1jvfrzkjblzvm97wfwbwzz73sbhjkfkqg84rhgb2154vf2sdp139"; depends=[BH forecast ggplot2 loo MASS Rcpp RcppEigen Rdpack rstan rstantools StanHeaders]; };
+  bmgarch = derive2 { name="bmgarch"; version="1.1.0"; sha256="1r7hlc5d8jmk7sy7wv9yrilhla57vi9ar21dhmvfakms2z7gyg9d"; depends=[BH forecast ggplot2 loo MASS Rcpp RcppEigen RcppParallel Rdpack rstan rstantools StanHeaders]; };
   bmggum = derive2 { name="bmggum"; version="0.1.0"; sha256="1r0j5gklmknyan68nc3vfn96ck414v75547486ic70v2pdr3xnpf"; depends=[BH edstan ggplot2 GGUM loo Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
   bmixture = derive2 { name="bmixture"; version="1.7"; sha256="09ahs2dwrbqhk4aki9291v5lr5fa9mvi087zrqjmv2057ypyv2n5"; depends=[BDgraph]; };
   bmk = derive2 { name="bmk"; version="1.0"; sha256="1wxkrlrhmsxsiraj8nyiax9bqs834ln2swykmpf40wxspkykgfdq"; depends=[coda functional plyr]; };
@@ -6588,18 +6703,19 @@ in with self; {
   bnclassify = derive2 { name="bnclassify"; version="0.4.6"; sha256="00akv7mg4mn7kk98r6ja3yx9h822b8hnv1k890i8kwsra3c2qgid"; depends=[assertthat BH entropy matrixStats Rcpp rpart]; };
   bndovb = derive2 { name="bndovb"; version="1.1"; sha256="16mvkvwnx61jrvraagvxf56pvmf5klm8lnkqq4s5y2z92kd0clgp"; depends=[dplyr factormodel MASS nnet np pracma]; };
   bnlearn = derive2 { name="bnlearn"; version="4.7"; sha256="05r80arqvcmnkw20gffrfc2ypnqf6628c8y3xr8pxw3wkfxdf79f"; depends=[]; };
-  bnma = derive2 { name="bnma"; version="1.4.0"; sha256="0wfz5faxgbci0n6kmgcazn0vjnsvn9l7lj4f63a3c0x6pb0yiir0"; depends=[coda ggplot2 igraph rjags]; };
+  bnma = derive2 { name="bnma"; version="1.5.0"; sha256="0h7nk28ny4capnji1j5m2kzsc7l8a1z7icx0iak87pk4abzqlzmm"; depends=[coda ggplot2 igraph rjags]; };
   bnmonitor = derive2 { name="bnmonitor"; version="0.1.1"; sha256="1728i8rsa8dg2svcmy7bs4qwja8p0h7c6hwysjp61g4vm87shzp8"; depends=[bnlearn dplyr ggplot2 gRain gRbase matrixcalc purrr qgraph RColorBrewer reshape2 rlang tidyr]; };
   bnnSurvival = derive2 { name="bnnSurvival"; version="0.1.5"; sha256="1d9jmfx0id4lmw122zga7hb52vlfdfqn4amhzpsmhyck99rv92j4"; depends=[pec prodlim Rcpp]; };
   bnormnlr = derive2 { name="bnormnlr"; version="1.0"; sha256="0l2r7vqikak47nr6spdzgjzhvmkr9dc61lfnxybmajvcyy6ymqs9"; depends=[mvtnorm numDeriv]; };
   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=[]; };
   boilerpipeR = derive2 { name="boilerpipeR"; version="1.3.2"; sha256="1dws84ghc5r6zpnr23qd4l9bkazds8ar723wkrkikjni58vshjf1"; depends=[rJava]; };
+  bolasso = derive2 { name="bolasso"; version="0.1.0"; sha256="1radw0h1y1gq0lzfrdh2phnvbrxzlklm7hhbz6x4xpw6vybwbp1j"; depends=[future_apply gamlr ggplot2 glmnet Matrix progressr Rdpack tibble]; };
   bold = derive2 { name="bold"; version="1.2.0"; sha256="0r54ylxgmq9qnh1f36k4hafh80n86ibk4a994f8b1rnb9bq9f5cg"; depends=[crul data_table jsonlite plyr reshape stringr tibble xml2]; };
   bookdown = derive2 { name="bookdown"; version="0.24"; sha256="1qqvvfbpbd6sin8vpvr3zzlhlyx1i6b98yp77xj5zl220nid5slb"; depends=[htmltools jquerylib knitr rmarkdown tinytex xfun yaml]; };
   bookdownplus = derive2 { name="bookdownplus"; version="1.5.8"; sha256="1cdxz5c69cgdk7wxr0xwhzw361rpg7j8xjv9hjf1877qqmhxbrkd"; depends=[bookdown knitr magick xaringan]; };
@@ -6608,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.0.2"; sha256="1vnkn1xa8qz58srgk1i5m3m3skghw5klvp0q53ab45a420j49spj"; depends=[]; };
+  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]; };
@@ -6617,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=[]; };
@@ -6637,7 +6753,8 @@ in with self; {
   boxcoxmix = derive2 { name="boxcoxmix"; version="0.28"; sha256="12f1lakfy9i1rq70cq0bffpdachsm58rcmbbhgnq1r31g028zrcc"; depends=[npmlreg qicharts statmod]; };
   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.0"; sha256="0rjlpwd7xmmckys806r81sgnld2c0mnjw9yvnfhgsa09fs1xfwcq"; depends=[cowplot dplyr ggplot2 gridExtra gtable lubridate magrittr tibble tidyr tidyselect]; };
+  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=[]; };
@@ -6646,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.2"; sha256="0an4lmml0jhx4lbbwiaa63jnqv8fx0nhb04vpsqgv8d0g9phqx3a"; 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]; };
@@ -6661,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]; };
@@ -6677,28 +6796,30 @@ in with self; {
   bridger2 = derive2 { name="bridger2"; version="0.1.0"; sha256="0clp42nnbvd01n65azdi2ghp0mfqwsipzdl2d30q04lcvfkdpxrf"; depends=[BSDA data_table ggplot2 outliers plotly shiny shinydashboard]; };
   bridgesampling = derive2 { name="bridgesampling"; version="1.1-2"; sha256="0sry1xwiv4y52k44hq6z8y2kysp5kxgl4dix3m94svg3ladd7v2l"; depends=[Brobdingnag coda Matrix mvtnorm scales stringr]; };
   brinton = derive2 { name="brinton"; version="0.2.5"; sha256="0jiw14glfhh13dkwn2x36q92gfhadna0fq4vs0f83nq8sqnx4s4m"; depends=[forcats GGally ggplot2 glue gridExtra lubridate pander RColorBrewer rmarkdown sm tibble]; };
-  brio = derive2 { name="brio"; version="1.1.2"; sha256="1vviykwx1z71yhk1xl87riaygj8sq0sj7ixyig1irqsi66aydpa2"; depends=[]; };
+  brio = derive2 { name="brio"; version="1.1.3"; sha256="1inwzvlf6zj6gi47gd0byzqv02qajb3l475z8pjvx2b1hm0r1a7a"; depends=[]; };
   briqr = derive2 { name="briqr"; version="0.1.0"; sha256="073pdk1094ng4kggzdjvihl791r2qlja1j2w3pfmh2027kn520r8"; depends=[dplyr httr jsonlite magrittr tibble]; };
-  briskaR = derive2 { name="briskaR"; version="1.0.3"; sha256="1qnf7x7m5mm9pv8m47gj5jrbn4f7q24ks8zbn6vninj9r72smhs0"; depends=[deldir deSolve fasterize fftwtools MASS mvtnorm raster Rcpp RcppArmadillo rgdal rgeos sf sp testthat]; };
+  briskaR = derive2 { name="briskaR"; version="1.0.4"; sha256="016gpgbf5zc9jkagj439n2ylfbmsikg0n6v76wf4lchv4wvrsby4"; depends=[deldir deSolve fasterize fftwtools MASS mvtnorm raster Rcpp RcppArmadillo rgdal rgeos sf sp testthat]; };
   brlrmr = derive2 { name="brlrmr"; version="0.1.7"; sha256="0s47qz8y416x0gz91pzdpr97pmlvddwkvll454vnlafxxk9p5lds"; depends=[boot brglm MASS profileModel Rcpp]; };
   brm = derive2 { name="brm"; version="1.1.1"; sha256="0kyr8mxz5g3w41kp08d47f29cff8fqrfbm1ri7hgfg2lgr1151xy"; depends=[]; };
   brms = derive2 { name="brms"; version="2.16.3"; sha256="1q93z4cf3iy4rs6pgvph6z7hc8q05iwif76hcg8p4kr6nl82nc38"; depends=[abind backports bayesplot bridgesampling coda future ggplot2 glue loo Matrix matrixStats mgcv nleqslv nlme posterior Rcpp rstan rstantools shinystan]; };
+  brmsmargins = derive2 { name="brmsmargins"; version="0.1.1"; sha256="17mh539d11920mv5jn20l62md2cpkizlynw01j87pij8hj63ajn3"; depends=[bayestestR brms data_table extraoperators posterior Rcpp RcppArmadillo]; };
   brnn = derive2 { name="brnn"; version="0.9"; sha256="0gyjvrakwd6nbgv94hbxvynsl52w0zswzp8fxl88rppycpgn81j6"; depends=[Formula truncnorm]; };
   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.10"; sha256="0ks64xwkaqh5cinq8j56d89rn9kipm7cdipsgqmz9xxy7ajxb7qj"; depends=[backports dplyr ellipsis generics ggplot2 glue purrr rlang stringr tibble tidyr]; };
-  broom_helpers = derive2 { name="broom.helpers"; version="1.4.0"; sha256="0x9z9v4d4dyd1mip86z084b9mizvzwbc4swp676mf2r6g465qskz"; 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.0"; sha256="0s9l4mdj77ys1cimrvc9hd5cvl02q8wsk46s4zfhk4p735slz1az"; depends=[cowplot data_table dplyr effectsize emmeans forcats ggplot2 ggtext performance psych see stringr tidyr]; };
+  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]; };
-  bs4cards = derive2 { name="bs4cards"; version="0.1.0"; sha256="1462cj7jm54qmsv6f9zg3ikm6bxrrzv60gdvmwm9k9zpcjxdkjsx"; depends=[htmltools magrittr rlang]; };
+  bs4cards = derive2 { name="bs4cards"; version="0.1.1"; sha256="0fhjj3wjhxl263lhlbm5jw9l227a5k9cpannpankr5h8bkn1408h"; depends=[htmltools magrittr rlang]; };
   bsTools = derive2 { name="bsTools"; version="0.1.0"; sha256="08h029gznsw93xirsxc1ib61qpqw1k8qzc0cjha56yr4j8b8qagy"; depends=[html5]; };
   bsam = derive2 { name="bsam"; version="1.1.3"; sha256="1yiplh4wcc711w59ir5hxlp3mmgsnfz01d6203vfgclzsi7ix5m9"; depends=[coda dplyr ggplot2 gridExtra lubridate msm mvtnorm rjags rworldxtra sp tibble]; };
   bsamGP = derive2 { name="bsamGP"; version="1.2.3"; sha256="1wqs2y9f7fgdvshhzwpjp811h4xhdd1lplpadnpffa2lmyv7vh5s"; depends=[ggplot2 gridExtra MASS]; };
@@ -6709,7 +6830,7 @@ in with self; {
   bspec = derive2 { name="bspec"; version="1.5"; sha256="0jynvir7z4q1vrvhdn6wijdrjfrkk4544nlawabw2fnfxss91a91"; depends=[]; };
   bsplinePsd = derive2 { name="bsplinePsd"; version="0.6.0"; sha256="0f785l02hiq3f7anxqhm09f7lrqgkkqhly7f1x78cxm22hvrqyhg"; depends=[Rcpp]; };
   bsplus = derive2 { name="bsplus"; version="0.1.3"; sha256="1grn2i2xxq5fhkqb7lqsfhbfckr6i3ddy7mikgxz6lifk4rc4mxx"; depends=[glue htmltools jsonlite lubridate magrittr purrr rmarkdown stringr]; };
-  bspm = derive2 { name="bspm"; version="0.3.8"; sha256="0ds841271jnslb5h1681kzp04h3jj6nya94xx1kr7abbc0sg23d4"; depends=[]; };
+  bspm = derive2 { name="bspm"; version="0.3.9"; sha256="1r0c0gnj0ps5cs9grwss7jxx5znywi80kng0rsb3dsmacwsfpkk1"; depends=[]; };
   bspmma = derive2 { name="bspmma"; version="0.1-2"; sha256="1a3p1h7bks5yrxv791wfa680v4a6q10p59iz6wvfifhf3ndlaw49"; depends=[]; };
   bsreg = derive2 { name="bsreg"; version="0.0.1"; sha256="06kabvchg9jk9x6rgjlphnggpbfppzghqj7pw2nx1wizi2dw0sal"; depends=[Matrix R6]; };
   bssm = derive2 { name="bssm"; version="2.0.0"; sha256="10gk0b235c3szll3g48w9r2iryc0hfx6chh9bvxhm5r0qsfigmla"; depends=[checkmate coda diagis dplyr magrittr posterior ramcmc Rcpp RcppArmadillo rlang sitmo tidyr]; };
@@ -6722,9 +6843,10 @@ in with self; {
   bubblyr = derive2 { name="bubblyr"; version="0.1.2"; sha256="04agfwk6rmbhlfblfw1irqnv3yrp00zfn4qwy2169b7ypg8r55v2"; depends=[glue htmltools]; };
   bucky = derive2 { name="bucky"; version="1.0.6"; sha256="01rlx0m6h66y1p9k5llg17qpajjhk2vmhbpwc4i5igf5x5g4clgc"; depends=[lmtest sandwich]; };
   buffeRs = derive2 { name="buffeRs"; version="0.31"; sha256="1yr2bg2cyl8sm4g7jrjw9apj5lqhbqscw5mshs8r8niz0fkyq6lg"; depends=[sf]; };
-  buildmer = derive2 { name="buildmer"; version="2.2"; sha256="1r5c38gwzihp7cn3cdm11wl10pxa3b7b1fdxwjsk16mqa0w2ivhd"; depends=[lme4 mgcv nlme plyr]; };
+  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]; };
@@ -6740,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]; };
@@ -6748,7 +6870,7 @@ in with self; {
   bwimage = derive2 { name="bwimage"; version="1.3"; sha256="1r5l7z90q2qs92dzp78jj4gf1kg1gc85g6y5rn2z8vxjbvbc5vma"; depends=[jpeg png]; };
   bwsTools = derive2 { name="bwsTools"; version="1.2.0"; sha256="181pm9pr0ykyd3mikn6z4z5m7jkv72sisixmilijh6q3393g9pqw"; depends=[crossdes dplyr igraph magrittr rlang tidyr]; };
   bysykkel = derive2 { name="bysykkel"; version="0.3.1"; sha256="1lvqbax7dvli4265856f9667ckp9g5l4radz2cp0yk0slsjgsdpg"; depends=[glue httr jsonlite lubridate tibble]; };
-  bytescircle = derive2 { name="bytescircle"; version="1.1.1"; sha256="0wlm41mhd3hbjc6lvdymng5fqfmlwfzj0pq7bgg47n5j5269qd06"; depends=[]; };
+  bytescircle = derive2 { name="bytescircle"; version="1.1.2"; sha256="0786dkdww0qyhqr1di7pdcwrnymdcqq7kwrjalagykc41aa4jgza"; depends=[]; };
   bzinb = derive2 { name="bzinb"; version="1.0.4"; sha256="1424lwsm2ra124h0ahbl42szbx500fqkf9ccw9k1688iwxnfg7f2"; depends=[BH Rcpp]; };
   c060 = derive2 { name="c060"; version="0.2-8"; sha256="1lazxvlgj340bvnx9h1ihnnrjm9rrq8j9qv6glpyvaw1dzb1a60m"; depends=[glmnet lattice mlegp penalizedSVM peperr survival tgp]; };
   c212 = derive2 { name="c212"; version="0.98"; sha256="0pzg239602iq56nhxfdvlk26z58lz6vvlbwsdpwhmich0by4gx4x"; depends=[coda]; };
@@ -6778,11 +6900,10 @@ in with self; {
   cachem = derive2 { name="cachem"; version="1.0.6"; sha256="0r0q5w8lsxak46crnkbi739qzys90hlw7cqqqhv99xzkpkvm554s"; depends=[fastmap rlang]; };
   caesar = derive2 { name="caesar"; version="1.1.0"; sha256="17w19m1c4a8x68bfbll71r9d3d34xnqw7lkhvqbnajd0cdm9xpa2"; depends=[binhf]; };
   caffsim = derive2 { name="caffsim"; version="0.2.2"; sha256="00bkgmmqrydpji2pvhcchgl2p8w5ksby4g80i3h76q0bm2325w9h"; depends=[dplyr ggplot2 markdown mgcv shiny tibble tidyr]; };
-  cairoDevice = derive2 { name="cairoDevice"; version="2.28.2.1"; sha256="040gd6cyaabdi0lhfdba4isqjihj28hdxm7mc129nl863pxkx6qm"; depends=[]; };
   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.1"; sha256="0m9cjc3bqv88vrrj51kd7c7xnczka5w9q0ln4l4nk514gvlr79bn"; 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]; };
@@ -6795,14 +6916,16 @@ 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"; sha256="0c87lansdyvvwrh4mqs0hmzk1j4j1p76hx0nnvvchcma59hc4bns"; depends=[htmltools htmlwidgets httr jsonlite]; };
+  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=[]; };
   cap = derive2 { name="cap"; version="1.0"; sha256="1pv8hskxjbp589dn7rx80yaa1ld76x1w37bss2fyrys1p3qr78aa"; depends=[MASS multigroup]; };
   cape = derive2 { name="cape"; version="3.1.0"; sha256="0r20c5z28jyc5djymwkfzczyi3rlnj20p00jhc4dsywjcp68fx6n"; depends=[abind caTools corpcor doParallel evd foreach here igraph Matrix pheatmap propagate qtl qtl2 qtl2convert R6 RColorBrewer regress shape stringr yaml]; };
@@ -6816,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]; };
@@ -6828,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=[]; };
@@ -6840,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]; };
@@ -6848,14 +6973,15 @@ 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]; };
   catSurv = derive2 { name="catSurv"; version="1.4.0"; sha256="02hrq51yk7zxz6vr4ykjwjnim9g09d63vpy3g0sm9hidbxryq139"; depends=[BH jsonlite ltm plyr Rcpp RcppArmadillo RcppGSL RcppParallel]; };
+  cata = derive2 { name="cata"; version="0.0.10.3"; sha256="0gqscxzz7n04lh71481rzf6lmdg2xdsdpgp6viwxmmqm4zl5g1xj"; depends=[]; };
   catalog = derive2 { name="catalog"; version="0.1.0"; sha256="15bxlwypk0xgf0qggq6jgxa951ipmn61w370f3lcywkvaxw1h4ca"; depends=[dplyr sparklyr]; };
   catch = derive2 { name="catch"; version="1.0.1"; sha256="1a63d1a6pzzirdzswngjj036jmg41hbiadwriws7k05qp95jdh6a"; depends=[MASS Matrix tensr]; };
   catchr = derive2 { name="catchr"; version="0.2.31"; sha256="0mj3cgv2d217hcmyr8x0i83wysxhixgly5y1fs6jb1x09gs1cwnd"; depends=[purrr rlang]; };
@@ -6875,14 +7001,14 @@ 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]; };
-  causaldata = derive2 { name="causaldata"; version="0.1.1"; sha256="0d9c6lc053xxw3jpjwcy2cmkckhwfg5q67nf620mr5n4p173yxw0"; depends=[tibble]; };
+  causaldata = derive2 { name="causaldata"; version="0.1.3"; sha256="1v5apihm9005j1kf3p1d28v6jaqx87ryc43kjhwd5mvvm10rmflc"; depends=[tibble]; };
   causaldrf = derive2 { name="causaldrf"; version="0.3"; sha256="16gqx8b8alwm8a4lm69qamnqr3bg2qbz0d6q4lyqyrwsk12grid6"; depends=[mgcv survey]; };
   causaleffect = derive2 { name="causaleffect"; version="1.3.13"; sha256="1b238cv24vf91wwgfzb4wdrxx2dywhhsd1hlr7ps0mj4dv8li2xk"; depends=[igraph]; };
-  causaloptim = derive2 { name="causaloptim"; version="0.8.2"; sha256="0lwns19ab50hmxawj4gx0kf2f0vbky73ns6niqzrib07bxys6fh5"; depends=[igraph rcdd Rcpp shiny]; };
+  causaloptim = derive2 { name="causaloptim"; version="0.9.1"; sha256="05491b1q1z9cwwx284liyf30zag6a10m9xf2ibxhmsp5gisndf1p"; depends=[igraph rcdd Rcpp shiny]; };
   causalsens = derive2 { name="causalsens"; version="0.1.2"; sha256="1xy8nybflbw6hymc15mmz27ic6hcq89wryb8q6d4zi216lwv2nww"; depends=[]; };
   causalweight = derive2 { name="causalweight"; version="1.0.2"; sha256="1l9wxp2p87qqv4fw4phbqicyppr3wcrxs52rxjxzdf11v9awnvjh"; depends=[e1071 fastDummies glmnet hdm LARF mvtnorm np ranger SuperLearner xgboost]; };
   caviarpd = derive2 { name="caviarpd"; version="0.2.17"; sha256="0wr99wndfr94dlzjxpf0pvc39zfw015srab8bdjpz3wbhcv23jni"; depends=[cluster salso]; };
@@ -6907,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.0.0"; sha256="1wzz8bydcy9x7rnrvvircd8lkrgx0p7x2q5hihxslz3siy1jjgaj"; 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]; };
@@ -6972,10 +7098,10 @@ in with self; {
   ceterisParibus = derive2 { name="ceterisParibus"; version="0.4.2"; sha256="0hxklydsqb69y5sv2hanp5ja9k0063swf5si1j6gcj15lp7phpif"; depends=[DALEX ggplot2 gower knitr]; };
   cfa = derive2 { name="cfa"; version="0.10-0"; sha256="12z58y4ls9m58wpj1xa4ir2p2apzxaskps05sxy2946m24i71zfk"; depends=[]; };
   cfbfastR = derive2 { name="cfbfastR"; version="1.6.4"; sha256="0harc4b3qxdb2gy01p6si7na8lrqjidw6ysndj12snyhdrx2id1m"; depends=[cli dplyr furrr future glue httr janitor jsonlite magrittr mgcv nnet progressr purrr rlang stringi stringr tibble tidyr xgboost]; };
-  cfda = derive2 { name="cfda"; version="0.9.9"; sha256="07k531vp2chsrkw5d0iws3jg23yz0gni0bjn03kr6irw89r4py9p"; depends=[diagram fda ggplot2 mgcv msm pbapply]; };
+  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.1.1"; sha256="1x902fdrw0azcsryjxkwkv7b0cjc9nw781mamf7w4agq7nqhv2cy"; 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=[]; };
@@ -6983,7 +7109,7 @@ in with self; {
   cg = derive2 { name="cg"; version="1.0-3"; sha256="1kbyal1sicbr10yvxpwgcij710kqpi23vmndp9kyfzn3k8zfird3"; depends=[Hmisc lattice MASS multcomp nlme rms survival VGAM]; };
   cgAUC = derive2 { name="cgAUC"; version="1.2.1"; sha256="172f9rkfhv4xzwpw8izsnsdbcw9p3hvxhh0fd8hzlkil7vskr3k8"; depends=[Rcpp]; };
   cgal4h = derive2 { name="cgal4h"; version="0.1.0"; sha256="0ghcwjfqlhqysnl8mgz6zp7dyqh8pvnpvphwjwk6zqi24n3nhac2"; depends=[]; };
-  cgam = derive2 { name="cgam"; version="1.16"; sha256="02kbn44jv455vn5f64dsa739y5262xkb34i6azyrib2gg3dhvq8j"; depends=[coneproj lme4 Matrix svDialogs]; };
+  cgam = derive2 { name="cgam"; version="1.17"; sha256="04ncxvijx8nym5m8xlswpargi34mvi28zxfsrl6widl7ymxi8dff"; depends=[coneproj lme4 Matrix svDialogs]; };
   cgdsr = derive2 { name="cgdsr"; version="1.3.0"; sha256="07yc819hkabpzzh0g0cbqza6bcfy67b2marrzz1lj97f9iba78ja"; depends=[httr R_methodsS3 R_oo]; };
   cghRA = derive2 { name="cghRA"; version="1.6.0"; sha256="16dlw27s8wckc75xcwc2g74pw6bar0y0ii3h53w1hql05d4f7sb8"; depends=[DNAcopy Rgb]; };
   cglasso = derive2 { name="cglasso"; version="2.0.4"; sha256="0rdxmvndq97jj18sxabb5ggfqkdjbrgzsi4byw7w3jns9w61wbvz"; depends=[igraph MASS]; };
@@ -7003,6 +7129,7 @@ in with self; {
   changepoint_mv = derive2 { name="changepoint.mv"; version="1.0.2"; sha256="0bji0m4ks2lf9s1rnq58w97ywpgs3m9rpm5p5f70f0kn33yffrix"; depends=[assertive ggplot2 Rcpp Rdpack reshape2 tbart zoo]; };
   changepoint_np = derive2 { name="changepoint.np"; version="1.0.3"; sha256="04i7bgbsr06iryfm5r0f9ddja0d6zlabjf1pdpic2bpqssdjndbv"; depends=[changepoint Rdpack zoo]; };
   changepointTests = derive2 { name="changepointTests"; version="0.1.1"; sha256="0sbs9sl4p4l3h9ih007p166slayfj66ppqw01xxkxcdqciqw0ra0"; depends=[doParallel foreach]; };
+  changepoints = derive2 { name="changepoints"; version="1.0.0"; sha256="0ilzanfinzkadflknr9b4l9s1y2yl6vs4h5z1zi6kp9qps2asd10"; depends=[data_tree gglasso glmnet ks MASS Rcpp RcppArmadillo]; };
   changepointsHD = derive2 { name="changepointsHD"; version="0.3.3"; sha256="1wdhmkg21kb5jd95a0aqqp2qgdkndc69rbdxjf792gq8f1rigarh"; depends=[Rcpp RcppArmadillo]; };
   changepointsVar = derive2 { name="changepointsVar"; version="0.1.0"; sha256="0kj9m9jik1dm5fx4c4hb559f5irpl1mvxk4wwajd5577a2fdqxb5"; depends=[lars MASS]; };
   changer = derive2 { name="changer"; version="0.0.3"; sha256="1pmnspadkshz7z9f275vks1xjh6a9k37h7j51dqdjrqilzq7y6sf"; depends=[available devtools git2r]; };
@@ -7017,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]; };
@@ -7027,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.5"; sha256="0b5qkgiakfc4zk42ga5qzm02lpp1kssrbgy0zv8mpg8dwc95dpr5"; depends=[assertthat dplyr fields GenSA ggplot2 httr jsonlite Kendall pls plyr R_utils raster Rcpp RCurl readxl reshape2 rlang RMAWGEN sp 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]; };
@@ -7054,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.0.0"; sha256="06a2r56vh7m6j0kfbf3b3aapn52x693fzdn29sxfvyackdk5dhj3"; 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=[]; };
@@ -7071,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]; };
@@ -7086,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]; };
@@ -7101,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]; };
@@ -7126,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]; };
@@ -7138,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]; };
@@ -7152,11 +7281,11 @@ 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=[]; };
-  clock = derive2 { name="clock"; version="0.5.0"; sha256="0d2mmsm1aainmk3896fb8jidyg76vczxjamj4jd8zb47frn1qz95"; depends=[cpp11 ellipsis rlang tzdb vctrs]; };
+  clock = derive2 { name="clock"; version="0.6.0"; sha256="0vx77zgb19khwikvbl4cw6v0zkgxdz79l9j1knfl5l2cn4nj7sl5"; depends=[cpp11 ellipsis rlang tzdb vctrs]; };
   clockify = derive2 { name="clockify"; version="0.0.9"; sha256="1m8jpafraycb85g7z4nna3isjyd5vfacbrxwpgn9745rbkg5iwly"; depends=[anytime dplyr httr janitor logger lubridate purrr tibble tidyr]; };
   clogitL1 = derive2 { name="clogitL1"; version="1.5"; sha256="0y6a6s5l98i0vrj66biwr17g6pzpmm5kfz4c57af0yhv7c4s4was"; depends=[Rcpp]; };
   clogitLasso = derive2 { name="clogitLasso"; version="1.1"; sha256="1j2kscd6d1jham6yqx5rp78x5vfj2faylkxkbcjaqbynlnqbbxd0"; depends=[foreach lassoshooting]; };
@@ -7165,15 +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]; };
-  clpAPI = derive2 { name="clpAPI"; version="1.3.1"; sha256="0hjpdbmwaww5fznqkkg9jli5y8f8zyd7crn0imdb0xxypmnp7zgf"; depends=[]; };
+  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]; };
@@ -7194,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]; };
@@ -7208,37 +7336,39 @@ in with self; {
   cmaRs = derive2 { name="cmaRs"; version="0.1.1"; sha256="0y9p1r58q45adsb60fvdvqn6m0a6ad32vl15fsy9l83r7aimcwci"; depends=[AUC earth Matrix Rmosek Ryacas0 stringr]; };
   cmaes = derive2 { name="cmaes"; version="1.0-11"; sha256="1hwf49d1m660jdngqak9pqasysmpc4jcgr8m04szwbyzyy6xrm5k"; depends=[]; };
   cmaesr = derive2 { name="cmaesr"; version="1.0.3"; sha256="03zx2nrw24wmmjjpyh8pswasjjq0amf0g375fm2b3s111dx8fbj9"; depends=[BBmisc checkmate ggplot2 ParamHelpers smoof]; };
+  cmcR = derive2 { name="cmcR"; version="0.1.8"; sha256="06sxfmwrwplw0zghajaygzjlbl9cbnazn0sbff6n73ia8pl3yxkr"; depends=[assertthat dplyr ggnewscale ggplot2 imager magrittr purrr quantreg rlang scales stringr tibble tidyr x3ptools zoo]; };
   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.2.2-2"; sha256="0s75scl7jr7ginsi3fpvip919kd1zwchp5gj9x87qgw5zimqyjkp"; 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.0"; sha256="0k4bdimykhc224m81mvr4ld5bffixgxdwg3qk5gdx58b01a2f0xg"; 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.1"; sha256="1gygd4nb05wsgbzmz10ly93kpy3w8jhcn7n6qgsh9jws6r9axvva"; depends=[assertthat fields FNN ncdf4 progress rainfarmr raster SearchTrees sp trend]; };
-  cmsafvis = derive2 { name="cmsafvis"; version="1.1.8"; sha256="001nhzg9vh2airgdja0f54hbh3hrsmwrfvxawfwck1ll93b810j7"; 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]; };
-  cmvnorm = derive2 { name="cmvnorm"; version="1.0-6"; sha256="1wf23w9gxrrgw7j740r381xrss09inzd7mrg6g7wz883c9madbfn"; depends=[elliptic emulator]; };
-  cna = derive2 { name="cna"; version="3.2.0"; sha256="01072i679n9pkvzcbnbqy8nrcs8lbghlf6wx17pf2shmrfvxhvcl"; depends=[car Matrix matrixStats Rcpp]; };
-  cnaOpt = derive2 { name="cnaOpt"; version="0.4.0"; sha256="1hnbnvvhafafbxdl0s5s02md6gjzyhd9xgf06d3rhgaa74gdqpxx"; depends=[cna dplyr ggplot2 matrixStats Rcpp]; };
+  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-5"; sha256="1k42vl49kfbllc5d66yn7y9f4jgbkfibmd85nl7hwm0gkgkssg36"; depends=[MCMCpack]; };
-  cobalt = derive2 { name="cobalt"; version="4.3.1"; sha256="1y7fh3lrbj5sqkqhnyl4lm7g75dld96gap95xfds70x01iq6mqk7"; depends=[backports crayon ggplot2 gridExtra gtable rlang]; };
+  coarseDataTools = derive2 { name="coarseDataTools"; version="0.6-6"; sha256="1g9hxyp2vdhq1zr18qlf2aqwp9d9hr07k6grmvblj2xrwlzfvc1p"; depends=[MCMCpack]; };
+  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]; };
@@ -7248,12 +7378,14 @@ 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]; };
   codebook = derive2 { name="codebook"; version="0.9.2"; sha256="0hxyzwpjbvfzad8h2428q94m961mmwvv28nagw2d36qxd10awh16"; depends=[dplyr forcats ggplot2 glue haven htmltools jsonlite knitr labeling labelled likert purrr rlang rmdpartials skimr stringr tibble tidyr tidyselect vctrs]; };
   codebreaker = derive2 { name="codebreaker"; version="0.0.2"; sha256="12gjaziwzzisx4j70z8k17k6i5wdsdyk542yfx04rin4ks829f34"; depends=[beepr cli]; };
-  codemeta = derive2 { name="codemeta"; version="0.1.0"; sha256="0bdgbx2kmyf8jcwq9m7a6paivrnqz4niiarifgdns144183klidq"; depends=[desc jsonlite]; };
+  codemeta = derive2 { name="codemeta"; version="0.1.1"; sha256="0pcip5ycgkva5pg20fcc3vsb09dv4j57yqvbf5x8bdsxa5vpg11a"; depends=[desc jsonlite]; };
+  codemetar = derive2 { name="codemetar"; version="0.3.3"; sha256="0aayywmv7c7mrn7g9jymp8h571ai8cmf8zfg7sxmp3rybv3ha17b"; depends=[cli codemeta commonmark crul desc gert gh jsonlite magrittr memoise pingr purrr remotes sessioninfo urltools xml2]; };
   codename = derive2 { name="codename"; version="0.4.0"; sha256="196xd326ps6yqb1kr1mckfxpb076p0z4kz15cpa12w2psdwy8ba4"; depends=[]; };
   codep = derive2 { name="codep"; version="0.9-1"; sha256="17jziwm56icswa4ngp51ah8w1ma7ij3cksbdaipk0ikqvb5kinkb"; depends=[]; };
   coder = derive2 { name="coder"; version="0.13.5"; sha256="155rv52rxalnf8yns1p5zh590r6j1q8h38m3fk8xvqx0gyk8fbrz"; depends=[data_table decoder generics tibble]; };
@@ -7263,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=[]; };
@@ -7271,7 +7403,7 @@ in with self; {
   cofeatureR = derive2 { name="cofeatureR"; version="1.1.1"; sha256="1awfrlnbpw9ivfvaahznx6dx5jp8ln0154vh2pznp520q59h1mbs"; depends=[dplyr ggplot2 lazyeval tibble]; };
   coffee = derive2 { name="coffee"; version="0.1.1"; sha256="06v19i6karcn9a1sminfi2k0c1zzv9m5dm8qfyqjqcbc78yvwif0"; depends=[IntCal]; };
   coga = derive2 { name="coga"; version="1.1.1"; sha256="0128x4qmln1ks7cqd5n22aw41f097lw785lw4ca80nyn2bz5jmqk"; depends=[cubature Rcpp RcppGSL]; };
-  cogmapr = derive2 { name="cogmapr"; version="0.9.2"; sha256="1s0f72id590880rhgwspyav11sghxn6havygwi12swylb3q3r73m"; depends=[dplyr ggplot2 graph magrittr Rgraphviz tidyr]; };
+  cogmapr = derive2 { name="cogmapr"; version="0.9.3"; sha256="0aqlk6248m3pad0fwarvxvxfn4qfazhdbdplg8haw3aj165szq43"; depends=[dplyr ggplot2 graph magrittr Rgraphviz tidyr]; };
   cognitoR = derive2 { name="cognitoR"; version="1.0.2"; sha256="1pz4wk7vdc1nhm76kz912hyyc9c408qsldfr9dygqvran4xvqm9g"; depends=[base64enc config dplyr httr jsonlite paws shiny shinyjs yaml]; };
   cohorts = derive2 { name="cohorts"; version="1.0.0"; sha256="1v3knxnsacyf04v2dgd0g57z709279x1s8dqsja948y381p1dar9"; depends=[data_table dplyr dtplyr magrittr tibble tidyr zoo]; };
   cohorttools = derive2 { name="cohorttools"; version="0.1.4"; sha256="1zpf3qgzkn34wc36r89ymzfx4fvlgl7x1yiwdwzzd20xv3nx2b5h"; depends=[cmprsk DiagrammeR DiagrammeRsvg Epi ggplot2 rsvg survival]; };
@@ -7283,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]; };
@@ -7299,7 +7431,7 @@ in with self; {
   colorBlindness = derive2 { name="colorBlindness"; version="0.1.9"; sha256="1gzjxvfsj9g07jkcmw04wwzl4rwy16prj4zvsa1mw2zavqindp8h"; depends=[colorspace cowplot ggplot2 gridGraphics gtable]; };
   colorDF = derive2 { name="colorDF"; version="0.1.4"; sha256="1q1xfa0h7mbihbv1bpw94rsh6mp4l2v2d2spqwh6r3iy0hf9yk1c"; depends=[crayon purrr]; };
   colorRamps = derive2 { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; };
-  colorSpec = derive2 { name="colorSpec"; version="1.2-1"; sha256="1y6wq4g4rf2carqi387v94502nb5jmw7f6f7grbdzbkixs77bkg2"; depends=[MASS spacesXYZ]; };
+  colorSpec = derive2 { name="colorSpec"; version="1.3-0"; sha256="1dkv3c6sgmvnw19r2pc2499s5xahdb95q9m7mpppa604449lczyd"; depends=[MASS spacesXYZ]; };
   colorblindcheck = derive2 { name="colorblindcheck"; version="1.0.0"; sha256="17bcnjzpnb0a0fw27y5slrakdg0p4mzhcj8684622ljinszvdz58"; depends=[colorspace spacesXYZ]; };
   colordistance = derive2 { name="colordistance"; version="1.1.2"; sha256="14j63anmf4j1lmcd7nyr9k7alhycdkrr5yiar262j8wha68f245n"; depends=[abind ape clue emdist gplots jpeg magrittr mgcv plotly png qpdf scales scatterplot3d spatstat_geom]; };
   coloredICA = derive2 { name="coloredICA"; version="1.0.0"; sha256="1xj4dsrwgqzm2644nk3y8nj47m036b4ylh6v60jccj3707spb32r"; depends=[MASS]; };
@@ -7323,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]; };
@@ -7338,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]; };
@@ -7349,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]; };
@@ -7358,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=[]; };
@@ -7389,7 +7521,7 @@ in with self; {
   condusco = derive2 { name="condusco"; version="0.1.0"; sha256="0zydinzlksynkz4r712rzv9qqdx8dkdz3h1ygi9cfmd6hya3580s"; depends=[assertthat bigrquery DBI jsonlite]; };
   condvis = derive2 { name="condvis"; version="0.5-1"; sha256="1ngxqfa0mr86cv610da4ljypxpdvx0n5pfgj3zfksnwxlwc0dvbj"; depends=[MASS]; };
   condvis2 = derive2 { name="condvis2"; version="0.1.1"; sha256="1al7dx1x4028m3aggblwxn9qsb69swh9nil9bx7d0z32cqakka04"; depends=[cluster colorspace DendSer ggplot2 gower plyr RColorBrewer scales shiny]; };
-  coneproj = derive2 { name="coneproj"; version="1.15"; sha256="1z28lvy02b2yymjkxi3z5mr0s3mhvvdvjx52hxx71znby6vk14yw"; depends=[Rcpp RcppArmadillo]; };
+  coneproj = derive2 { name="coneproj"; version="1.16"; sha256="06injsc860hcgn5wh81i9lw4nmrc1bmv3dksk5pnp62x1yykhnnh"; depends=[Rcpp RcppArmadillo]; };
   conf = derive2 { name="conf"; version="1.7.0"; sha256="1h9lc2k2h7h592a7gzr2jwvc4ifjsr41pygad2k7xy8ah3cnv7c1"; depends=[fitdistrplus pracma rootSolve STAR statmod]; };
   conf_design = derive2 { name="conf.design"; version="2.0.0"; sha256="06vdxljkjq1x56xkg041l271an1xv9wq79swxvzzk64dqqnmay51"; depends=[]; };
   confSAM = derive2 { name="confSAM"; version="0.2"; sha256="1l67ndya07hh0yqfbabfhsvp3hryklx0022grpr0cb7ff88d1zam"; depends=[]; };
@@ -7398,26 +7530,28 @@ 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]; };
   conics = derive2 { name="conics"; version="0.3"; sha256="06p6dj5dkkcy7hg1aa7spi9py45296dk0m6n8s2n3bzh3aal5nzq"; depends=[]; };
   conjoint = derive2 { name="conjoint"; version="1.41"; sha256="1iq3226a6fn1gddmh2nxlzvjcvbj7502r9520g9d4xdmk8smfx33"; depends=[AlgDesign broom cluster fpc ggfortify ggplot2]; };
   conjurer = derive2 { name="conjurer"; version="1.4.0"; sha256="0llvqjg0rrd75n1gz9b1njizs6s1mgygcv7hmalknqibvxd185ac"; depends=[]; };
-  conleyreg = derive2 { name="conleyreg"; version="0.1.4"; sha256="04blnplwzg930775jlz5hvxdmv0dyrrx25si5pvf7x6p9lvhzbf0"; depends=[data_table doParallel fixest foreach lfe lmtest lwgeom Matrix Rcpp RcppArmadillo Rdpack sf]; };
+  conleyreg = derive2 { name="conleyreg"; version="0.1.6"; sha256="1q4i87l1bq17km0c60jm0585dsly05i85wddd2hbprkv5llxwbyp"; depends=[data_table doParallel fixest foreach lmtest lwgeom Matrix Rcpp RcppArmadillo Rdpack s2 sf]; };
   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]; };
   conserveR = derive2 { name="conserveR"; version="1.0.4"; sha256="05b1pqgbd9sh4lyg9zqjfg4019dqp8xj3k1w31qqdld8m3g5lrd6"; depends=[cowplot GGally ggplot2 ggrepel magrittr network rlang scales sna]; };
-  consort = derive2 { name="consort"; version="1.0.0"; sha256="1ids2yzba2qj3q68hrzpx1lw0knicx7zf44v24g0xqh36vj943v2"; depends=[gtable]; };
+  consort = derive2 { name="consort"; version="1.0.1"; sha256="16i7hd433f3lfs6saa20m2jk9926r9jaln74333dmx5ld0294q99"; depends=[]; };
   consortr = derive2 { name="consortr"; version="0.9.1"; sha256="1c71wvr7sckrv4k65l71l160z6d9amzyydbi6mf2b79zh9zv8g1g"; depends=[data_table DiagrammeR dplyr magrittr purrr rlang shiny shinydashboard tibble]; };
   constants = derive2 { name="constants"; version="1.0.1"; sha256="11nliijwphqphik95b3xpawpjg7w4s089wdhjci5bw4va4bgd1xm"; depends=[]; };
   constellation = derive2 { name="constellation"; version="0.2.0"; sha256="1d49rnyf2z3bvx158nsmgmb0x7xcgxl9f8y98pwg5wlqck7af99q"; depends=[data_table]; };
@@ -7430,9 +7564,10 @@ 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.22"; sha256="11zz59dn63gpn455ryp0cmrx32li30yylf6ldrmw1wnn0zq702ww"; depends=[nlme rms sandwich]; };
+  contrast = derive2 { name="contrast"; version="0.24.1"; sha256="1119c7p8ly3zb5pxzgridqvmbq5v0jx557qqaa0rbmdr7rih74aq"; depends=[nlme rms sandwich]; };
   contribution = derive2 { name="contribution"; version="0.2.0"; sha256="0di6jhljdfvzpifnb3pvyn2la5h5r1dw03dx4zhpn4y10dg6898p"; depends=[dplyr ggplot2 gh magrittr rlang tidyr]; };
   control = derive2 { name="control"; version="0.2.5"; sha256="02s8h5kwpzfrivx3ign84gwlybkcs03ibawyxdny9zz5yhb7x3bs"; depends=[expm Matrix pracma signal]; };
   controlTest = derive2 { name="controlTest"; version="1.1.0"; sha256="19r8nvi35ldzgayifskjj706fv76hv6sj68yvggybp27rgyqbjfl"; depends=[survival]; };
@@ -7446,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]; };
@@ -7471,14 +7607,13 @@ in with self; {
   coreNLP = derive2 { name="coreNLP"; version="0.4-2"; sha256="0rvyqj7s3lijq4rzil65060b29m393m7zmg99mykp1g1kby5bjd8"; depends=[rJava XML]; };
   coreSim = derive2 { name="coreSim"; version="0.2.4"; sha256="1fhlss420rhs21l9i2ag5g3j0vnrkpqdh13ca4rwfan6h35qr3sm"; depends=[dplyr MASS]; };
   coreTDT = derive2 { name="coreTDT"; version="1.0"; sha256="14rnh61gk3m6g8rq77hm9ybds0px15di2mxm3jiyfdfynx5ng58f"; depends=[]; };
-  coreheat = derive2 { name="coreheat"; version="0.2.2"; sha256="1mahnd6k7whd7nj9ax1fhpm17j35i6prww06qx691l8dfn954ld9"; depends=[Biobase convertid heatmapFlex WGCNA]; };
   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]; };
   cornet = derive2 { name="cornet"; version="0.0.5"; sha256="1r4wkzdclw64g5p5z68gvy6sghxb34y1xzwv751jswbbnj8kynwn"; depends=[glmnet palasso]; };
-  coro = derive2 { name="coro"; version="1.0.1"; sha256="0r7id3dcf5rlksspsck2vv8jnisvrcc1vnkv6zpr8xh214794n3f"; depends=[rlang]; };
+  coro = derive2 { name="coro"; version="1.0.2"; sha256="14irld29dipgfd34y0k351daqg9vqpnpdx8m3pxmqr1aiyj5f5cv"; depends=[rlang]; };
   coroICA = derive2 { name="coroICA"; version="1.0.2"; sha256="0pcz2256liczrn2gik8b5331rgzlxjrm7rzn1ialhifkiinifnva"; depends=[MASS]; };
   corona = derive2 { name="corona"; version="0.3.0"; sha256="1hggsmvmbim7f6bybmdhxznmqib0k2plm370mjs7dp85i564sjkm"; depends=[gganimate ggplot2 gridExtra plyr qicharts2 reshape2]; };
   coronavirus = derive2 { name="coronavirus"; version="0.3.31"; sha256="187k5phjxkzkkgszrww0ayk50n399bxa83r59h3whk81788hdmwf"; depends=[devtools]; };
@@ -7486,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]; };
@@ -7508,11 +7643,12 @@ in with self; {
   cosa = derive2 { name="cosa"; version="2.1.0"; sha256="15ygpaqd48xqx0h08v0nf73yzif63r2nzcznlmk0ck2ydx4n85fp"; depends=[msm nloptr]; };
   cosinor = derive2 { name="cosinor"; version="1.1"; sha256="02nnqg51vq48lzk667cyarnmhcf5mifnsdij7dlgqvz2k4fdq4pl"; depends=[ggplot2 shiny]; };
   cosinor2 = derive2 { name="cosinor2"; version="0.2.1"; sha256="1pp0z86fflqkkllfrzx3vj98kzxjwnawr4a2d8z5q6zhq6v5qrvf"; depends=[cosinor cowplot ggplot2 Hmisc magrittr matrixStats purrr scales stringr]; };
+  cosmicsig = derive2 { name="cosmicsig"; version="1.0.7"; sha256="1xixcbnqrsh5mbs9inpddcghlz5r6i3sp94rh6z53bwzggn3dzxl"; depends=[]; };
   cosmoFns = derive2 { name="cosmoFns"; version="1.0-1"; sha256="0a6xhbgxxnymlvicg99yhgny2lscxcbmvqmy17kxmahdi797dsg6"; depends=[]; };
   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=[]; };
@@ -7522,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]; };
@@ -7531,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]; };
@@ -7541,13 +7677,14 @@ in with self; {
   covid19france = derive2 { name="covid19france"; version="0.1.0"; sha256="11072mc794l0m84k2b08zhyfvxf6n6ym91i7kkm3cbirxp6bhnqy"; depends=[dplyr glue lubridate magrittr readr stringr tidyr]; };
   covid19india = derive2 { name="covid19india"; version="0.1.4"; sha256="18xjgal49rhwif07irb1ad0qvi6c2p1ya52knx0wspb56fv849z1"; depends=[cli data_table EpiEstim glue gt httr janitor magrittr scales stringr]; };
   covid19italy = derive2 { name="covid19italy"; version="0.3.1"; sha256="1737lv9w039g5nmwh0kfk5np95ql9skqngk29nqx52zw1yxvwlnh"; depends=[devtools]; };
-  covid19sf = derive2 { name="covid19sf"; version="0.1.1"; sha256="1x1h55pjaz55yxpf2qskixk1zbk7wz1m0fkjdd0ypla63054kff8"; depends=[devtools dplyr lubridate magrittr mapview plotly sf]; };
+  covid19sf = derive2 { name="covid19sf"; version="0.1.2"; sha256="0x89j94sg539qc7qd2n2vi8bi1lagqkdc2ss5ld7vj4l78r5zk4l"; depends=[devtools dplyr lubridate magrittr mapview plotly sf]; };
+  covid19srilanka = derive2 { name="covid19srilanka"; version="1.0.0"; sha256="05hymg0af5cp1pkp222q539941gqrqidjb6xxyhmhc2996yjlxs2"; depends=[tidyverse]; };
   covid19swiss = derive2 { name="covid19swiss"; version="0.1.0"; sha256="083j4568j7yk7l4qj6097zp0ijq70ycvwvmbfqp3dwazmibamy34"; depends=[devtools]; };
   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]; };
@@ -7572,14 +7709,14 @@ in with self; {
   cpk = derive2 { name="cpk"; version="1.3-1"; sha256="1njmk2w6zbp6j373v5nd1b6b8ni4slgzpf9qxn5wnqlws8801n73"; depends=[]; };
   cplm = derive2 { name="cplm"; version="0.7-9"; sha256="057m61rq2hzb55imj3922zmc9kjxh053k3kgy54a4l0jlxb90lyj"; depends=[biglm coda ggplot2 Matrix minqa nlme reshape2 statmod tweedie]; };
   cpm = derive2 { name="cpm"; version="2.3"; sha256="07zbvc5jkwv76lkzby6r073fxjsqgnrdl2w9lcph577knnip89jx"; depends=[]; };
-  cpp11 = derive2 { name="cpp11"; version="0.4.1"; sha256="1nk47xkab7i17h7917l4cfyfvnxf782dfq67wwxa6n0r4jqqxzz9"; depends=[]; };
+  cpp11 = derive2 { name="cpp11"; version="0.4.2"; sha256="16cvjfkbc7c0ymdmbcqg9px6pjsqx6qhyfq5frqj739mhazy0g20"; depends=[]; };
   cppRouting = derive2 { name="cppRouting"; version="2.0"; sha256="0yfiyg1clnl85lk5ah8dcchv71drk6r093vpl82xnczyan5z94sr"; depends=[data_table Rcpp RcppParallel RcppProgress]; };
   cpr = derive2 { name="cpr"; version="0.2.3"; sha256="1a2lza1bw74xzrs17a9gr9mnpvnnrykhwd73yqi63wp3k4sm42rb"; depends=[dplyr ggplot2 lazyeval lme4 magrittr plot3D Rcpp RcppArmadillo rgl tibble tidyr]; };
   cprobit = derive2 { name="cprobit"; version="1.0.2"; sha256="16fnndpkd226paahmadsddakj4yhybw7lp3csr73fwv78zfl2fj9"; depends=[car ggplot2 gridExtra nortest]; };
   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=[]; };
@@ -7599,13 +7736,15 @@ in with self; {
   crawl = derive2 { name="crawl"; version="2.2.1"; sha256="18mr7vp72jj5msj9mbq45jy3f6qhn45azsmkq07i2d30gwdj0c3a"; depends=[dplyr gdistance lubridate magrittr mvtnorm purrr raster Rcpp RcppArmadillo rmapshaper sf shiny sp tibble]; };
   crayon = derive2 { name="crayon"; version="1.4.2"; sha256="0mxq87qsvz5znfncrb6yjchzv6iwpn9lr386i02y6xiycizkjd7f"; depends=[]; };
   crch = derive2 { name="crch"; version="1.0-4"; sha256="18qjvh1lkw1f6rrhnb21f30xxrcq8whbs3x1jgkw6q14rf1483ri"; depends=[Formula ordinal sandwich scoringRules]; };
-  crctStepdown = derive2 { name="crctStepdown"; version="0.1"; sha256="07y4drz76nqk2lvk2600w3s20qx71xddlxqc8zrw3bh02pgdnpy7"; depends=[fastglm ggplot2 ggpubr lme4 Rcpp RcppArmadillo rlang stringr]; };
+  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]; };
@@ -7613,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]; };
@@ -7621,23 +7761,23 @@ 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=[]; };
   cropDemand = derive2 { name="cropDemand"; version="1.0.1"; sha256="0h4blvddk2ma3dm1k9r8gl54fg384r214hsx31w1qndwcj7gfpbh"; depends=[dplyr ggplot2 ncdf4 raster rgdal tidyr]; };
   cropZoning = derive2 { name="cropZoning"; version="1.0.1"; sha256="19082p5c322m684fkjcxa1bcmk3vzga2x75lid9zrsrh6knrqsbz"; depends=[ggplot2 ncdf4 raster rgdal tidyr]; };
   cropdatape = derive2 { name="cropdatape"; version="1.0.0"; sha256="19bn0apx4p8hnz388zg7sq59qv89vv8k5php317kcv7ai2k2gh34"; depends=[]; };
-  cropgrowdays = derive2 { name="cropgrowdays"; version="0.1.0"; sha256="0q1zybx84mn8kiq5wn1hs3sc4xnk6r45shzddz27qkm6b1c4grbg"; depends=[dplyr httr lubridate magrittr purrr purrrlyr tibble]; };
+  cropgrowdays = derive2 { name="cropgrowdays"; version="0.1.1"; sha256="0jgdfhywnlsz2mxb4skkrxf9fb55qyidd6y6nhb9324jm8d3xl0a"; depends=[dplyr httr lubridate magrittr purrr purrrlyr tibble]; };
   crops = derive2 { name="crops"; version="1.0.1"; sha256="153m0mv0hkc8f5kgaa8374z51g0jaq0s0zjbr19x309w1dd3g83g"; depends=[cowplot ggplot2 magrittr memoise pacman Rdpack reshape sets tibble tidyverse]; };
   crossReg = derive2 { name="crossReg"; version="1.0"; sha256="1866jhfnksv9rk89vw7w4gaxi76bxfjvqxx7cfa8nlrcsmaqd7rf"; depends=[]; };
   crossdes = derive2 { name="crossdes"; version="1.1-1"; sha256="1d7lv3ibq1rwxx8kc3ia6l9dbz2dxdd5pnf2vhhjmwm448iamcfd"; depends=[AlgDesign gtools]; };
   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]; };
   crosswalkr = derive2 { name="crosswalkr"; version="0.2.6"; sha256="1rxd6vy7vdrawmg7zkydl1f2wwklnzgh9dsnxbg966xrr3l9x1n9"; depends=[haven labelled readr readxl tibble]; };
   crossword_r = derive2 { name="crossword.r"; version="0.3.6"; sha256="1s31613s4qxxspka9bhgq3rq8xraf48mwfv6phvz6v06gijh64lr"; depends=[dplyr jsonlite magrittr R6 r6extended stringr]; };
   crov = derive2 { name="crov"; version="0.2.0"; sha256="1i3a5nagzinsla6p3wjyj3x12gyfqs6vapaqxgr3dh6m727jw5i5"; depends=[gtools VGAM]; };
@@ -7656,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=[]; };
@@ -7670,7 +7810,7 @@ in with self; {
   csci = derive2 { name="csci"; version="0.9.3"; sha256="00s1gx5h141w1vjw8j3k7bn71c4dy80m6wakd1c1z7rmx1jbfp6m"; depends=[exactci]; };
   cshapes = derive2 { name="cshapes"; version="2.0"; sha256="0c3q85whvp28zlm4k1570kwc5qvl2fmaszx9dpmfcdqv6m19f9ks"; depends=[rmapshaper sf sp]; };
   csn = derive2 { name="csn"; version="1.1.3"; sha256="102w1qh9hgz4j9lh5hnbw1z3b7p034si73q4pkk564a2mhzlksw4"; depends=[mvtnorm]; };
-  csodata = derive2 { name="csodata"; version="1.2.1"; sha256="1db5zn0h35q2598yb0nj2a201i050vjv59l0rif8dm8k5pq9rglx"; depends=[dplyr httr jsonlite lubridate R_cache reshape2 rjstat sf]; };
+  csodata = derive2 { name="csodata"; version="1.2.2"; sha256="1xm51vz45kbn6gckd96qbbafvzm10nllfrv01s9538nwbz1whb03"; depends=[dplyr httr jsonlite lubridate R_cache reshape2 rjstat sf]; };
   cspec = derive2 { name="cspec"; version="0.1.2"; sha256="049vynbffxyd5zwxwyz1jv05zgq7zrx1ypzv5j62ph64gl42m13p"; depends=[]; };
   cspp = derive2 { name="cspp"; version="0.3.2"; sha256="13iy6kz1v0dbrry18lkjmmgd6bsazbjbaa0bdabpg0hyw241j8b4"; depends=[csppData dplyr ggcorrplot ggplot2 haven mapproj purrr readr rlang stringr tidyselect]; };
   csppData = derive2 { name="csppData"; version="0.1.4"; sha256="1wwj2fscwyrn5ghgr6i422mnbkn9hyqb1h8wwmqn82rxgcm12w9s"; depends=[]; };
@@ -7687,6 +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.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]; };
@@ -7700,7 +7841,7 @@ in with self; {
   ctrlGene = derive2 { name="ctrlGene"; version="1.0.1"; sha256="0x7j11v7jj4k1jml6lrnjq79awhrvsm3pig1yxsd337jlfml3ra9"; depends=[psych]; };
   ctsem = derive2 { name="ctsem"; version="3.5.4"; sha256="1gzv3i43nknd2fkjhrgwq8kf5z5vl52k5715sjzad9bmdjqf9wdl"; depends=[BH cOde data_table Deriv expm ggplot2 MASS Matrix mize mvtnorm pkgbuild plyr Rcpp RcppEigen RcppParallel rstan StanHeaders tibble]; };
   ctsemOMX = derive2 { name="ctsemOMX"; version="1.0.4"; sha256="1sjsm573alsg3dvj58rwknqapcydx77zbs0b8hcf59qbbhfa3djv"; depends=[ctsem Matrix OpenMx plyr]; };
-  ctv = derive2 { name="ctv"; version="0.8-5"; sha256="0kl6z8dbbjgm29q0c5xy6lihjgf5cdihrllm27x0zbcvy8lyl51p"; depends=[]; };
+  ctv = derive2 { name="ctv"; version="0.9-1"; sha256="0lq657n7km070l3h6k036qm5l65bqab4z7d6bvrdffcfa3abi6rn"; depends=[]; };
   cuRe = derive2 { name="cuRe"; version="1.0.1"; sha256="0vw2iv9inz8md7lz6f1p456wxjc07kap1mvqf58hixqxbrb23dgi"; depends=[date numDeriv relsurv rstpm2 statmod survival]; };
   cubature = derive2 { name="cubature"; version="2.0.4.2"; sha256="0kk9lw3s66h0sayza3in8rdj7bmgqn4v5lfckhslarpvj2fxsnv0"; depends=[Rcpp]; };
   cubelyr = derive2 { name="cubelyr"; version="1.0.1"; sha256="1g3pvam1fkqh63snibqcfaazvj7lrkfip8w9pjvwdclj0l8382kl"; depends=[dplyr glue pillar purrr rlang tibble tidyselect]; };
@@ -7708,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]; };
@@ -7734,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]; };
@@ -7752,14 +7893,15 @@ 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]; };
-  cyclestreets = derive2 { name="cyclestreets"; version="0.5.2"; sha256="10zddkn383mc4qxwmh2yca6anr1j0d3bkbhwx8wwrmcykamnhnhm"; depends=[geodist httr jsonlite magrittr sf stringr]; };
+  cyclestreets = derive2 { name="cyclestreets"; version="0.5.3"; sha256="0qppdnp9fdll20jljc518k37z7pgvckmrnhk113hniy8x28zwzfi"; depends=[geodist httr jsonlite magrittr sf stringr]; };
   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]; };
@@ -7776,6 +7918,7 @@ in with self; {
   d3plus = derive2 { name="d3plus"; version="0.1.0"; sha256="0kadz83pals03n0v3zqhmhf6visigk52yn58xckhb57fid4xzj5w"; depends=[htmlwidgets magrittr]; };
   d3po = derive2 { name="d3po"; version="0.3.2"; sha256="0qhdk2ap9bkf4xfbpyh1k6s2kb6lgr2vgn5ns228vrckghwxhkri"; depends=[assertthat dplyr htmlwidgets magrittr purrr rlang]; };
   d3r = derive2 { name="d3r"; version="1.0.0"; sha256="1qijkllfaaw0lb29j8mappm8jz9kg8gkihxq5wqhb4gabsazdwva"; depends=[dplyr htmltools rlang tidyr]; };
+  d4storagehub4R = derive2 { name="d4storagehub4R"; version="0.2"; sha256="1hifxlaxnhvjcz3z2f5q96mlw3m37z5smy7qcpf2hynmr0byrmfb"; depends=[httr jsonlite keyring R6 XML]; };
   dBlockmodeling = derive2 { name="dBlockmodeling"; version="0.2.0"; sha256="0c1hvawb9gw6vckims3g8kzn2c4f0as5x1vw39sdvkwc92xy26lv"; depends=[]; };
   dCUR = derive2 { name="dCUR"; version="1.0.0"; sha256="12i2qcjq9i1ycs6z6g3yr1imv7v4g19kdhf1vg9xkvh43pagb6h7"; depends=[dplyr ggplot2 magrittr MASS mclust ppcor Rdpack stackoverflow]; };
   dChipIO = derive2 { name="dChipIO"; version="0.1.5"; sha256="1xrafw5h071d8rfqaic3gifc80jpiddjz5x6l2cr8kgjvph60gqh"; depends=[]; };
@@ -7786,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]; };
@@ -7801,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]; };
@@ -7809,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]; };
@@ -7824,11 +7970,12 @@ 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]; };
   dataMeta = derive2 { name="dataMeta"; version="0.1.1"; sha256="13xxayqxbps07h0xr5b7sb7q30gy5zm7jzzaq4k20fskkjrzhzcm"; depends=[dplyr]; };
-  dataPreparation = derive2 { name="dataPreparation"; version="1.0.3"; sha256="0ywy6q5vdiw7a4xag9mwiccnj4sazflxq29mrw709iznpqxzxxb4"; depends=[data_table lubridate Matrix progress stringr]; };
+  dataPreparation = derive2 { name="dataPreparation"; version="1.0.4"; sha256="05vjngp9d2fzfb15z6zfkdhcsw3nsf12pskbidzs25v8xh6avlg7"; depends=[data_table lubridate Matrix progress stringr]; };
   dataReporter = derive2 { name="dataReporter"; version="1.0.2"; sha256="1rjm6j1s229j1j9yb5y1sdi03x22qzrkmhc09k4xdmwmwmpi3s58"; depends=[ggplot2 gridExtra haven htmltools magrittr pander rmarkdown robustbase stringi whoami]; };
   dataRetrieval = derive2 { name="dataRetrieval"; version="2.7.10"; sha256="0lmd2j9inc29s2xk09gk7rbypgcqzpb2vmnnbmbg1liw96jsz5wl"; depends=[curl httr jsonlite lubridate readr xml2]; };
   datacleanr = derive2 { name="datacleanr"; version="1.0.3"; sha256="0mrfqm3lgb6sl2j35sfd00gb5121j9wmlff8k0vczr3sgmqz4dg8"; depends=[bslib clipr dplyr DT formatR fs glue htmltools htmlwidgets lubridate magrittr plotly purrr RColorBrewer rlang rstudioapi shiny shinyFiles shinyWidgets summarytools]; };
@@ -7842,12 +7989,12 @@ in with self; {
   datamart = derive2 { name="datamart"; version="0.5.2"; sha256="0c0l157fzkcp30ch4ymaalcx18zhz6sa5srr50w9izhbx3pmldxp"; depends=[base64 gsubfn markdown RCurl RJSONIO XML]; };
   datamods = derive2 { name="datamods"; version="1.2.0"; sha256="1k5nbpy40jzk6jhgigq74qxvb0ni44p3iwb342950qbnb8aniwxw"; depends=[data_table DT htmltools phosphoricons readxl rio rlang shiny shinyWidgets tibble]; };
   datanugget = derive2 { name="datanugget"; version="1.0.0"; sha256="1ki4kgz6y9a313f07jml39pdxhadgs287rkpnlwvcw6kgj5qxala"; depends=[doSNOW foreach]; };
-  dataonderivatives = derive2 { name="dataonderivatives"; version="0.3.1"; sha256="0q1zd1l7l0hmbs1bx469d706rmprjbz2f2dgcnfp9wxfgqpfxkz1"; depends=[assertthat httr lubridate readr tibble]; };
+  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=[]; };
@@ -7856,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.1"; sha256="062phzfcvn79npn4s58gz1m5ignyvr4q2zlqnyxla4p7l760djl9"; 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.1"; sha256="051n7q7bwqbxazpdclbbd1qy57iq187g31xfclicaxjj23ba02ss"; depends=[stringr]; };
+  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=[]; };
@@ -7879,7 +8026,7 @@ in with self; {
   dave = derive2 { name="dave"; version="2.0"; sha256="1rraphpp34czyjj15xzvj1ihlnqzcppqls9n2g85n49zv0n1ngn8"; depends=[cluster labdsv nnet tree vegan]; };
   dawai = derive2 { name="dawai"; version="1.2.5"; sha256="0g52bm66jnvga4sf5n5m18k5jx56vqpn886jk0k6lydj78nkq88q"; depends=[boot ibdreg mvtnorm]; };
   daySupply = derive2 { name="daySupply"; version="0.1.0"; sha256="1317g60cmqlw1wy7n7x5ifh544lzsysif6192s2k16jmgzj6cz2s"; depends=[dplyr lme4 magrittr rlang]; };
-  daymetr = derive2 { name="daymetr"; version="1.5"; sha256="0jwda9chhklzz9062857ivxmm09rnd1z8ydqsg8i8a90qh4db2n4"; depends=[httr raster sf tibble tidyr]; };
+  daymetr = derive2 { name="daymetr"; version="1.6"; sha256="04dyc890kqr24n0lv1dl23p6s086hcgh5l6r496yycjzlyi8bm44"; depends=[httr raster sf tibble tidyr]; };
   dbEmpLikeGOF = derive2 { name="dbEmpLikeGOF"; version="1.2.4"; sha256="0vhpcxy702cp3lvlif2fzmvccys8iy7bv1fbg6ki2l8bvn2f7c5p"; depends=[]; };
   dbEmpLikeNorm = derive2 { name="dbEmpLikeNorm"; version="1.0.0"; sha256="0h5r2mqgallxf9hin64771qqn9ilgk1kpsjsdj2dqfl3m8zg967l"; depends=[dbEmpLikeGOF]; };
   dbMC = derive2 { name="dbMC"; version="1.0.0"; sha256="0gcgn3m10sx0naim206jkw7szl0mr7vbnkn25avvv9f8iy3y9vcv"; depends=[softImpute]; };
@@ -7892,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]; };
@@ -7910,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]; };
@@ -7929,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=[]; };
@@ -7940,15 +8086,15 @@ 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=[]; };
-  decor = derive2 { name="decor"; version="1.0.0"; sha256="1vk1szw267mcs9q7saffkrlnlncnw9k70g9lhj81iwkwfx8ir962"; depends=[tibble vctrs]; };
+  decor = derive2 { name="decor"; version="1.0.1"; sha256="0wk3nafyn3mjsbd73g1h16dzzf6pq55d1hk3q37rww12svs9w5gi"; depends=[tibble vctrs]; };
   decorators = derive2 { name="decorators"; version="0.1.0"; sha256="0whcwi68h374pm85gzwaw7kcjhgka1il12g90vrf87lafhbl2x4i"; depends=[purrr]; };
   deducorrect = derive2 { name="deducorrect"; version="1.3.7"; sha256="10lvhdnnc6xiy20hy6s5rpqcvilj8x0y6sn92rfjkdbfsl00sslp"; depends=[editrules]; };
   deductive = derive2 { name="deductive"; version="1.0.0"; sha256="11cn6wncd438g5ar5pjw6rw50060mksjf0xjcds92s97dz5m28a4"; depends=[lintools stringdist validate]; };
@@ -7957,15 +8103,15 @@ in with self; {
   deepMOU = derive2 { name="deepMOU"; version="0.1.1"; sha256="1r05wg01nighmhs2r8z91w091fz2r1ryb1j0mi96knqqdjgcbh4i"; depends=[dplyr entropy extraDistr ggplot2 MASS Rfast skmeans]; };
   deepNN = derive2 { name="deepNN"; version="1.1"; sha256="0iqvr8cl7ks5qvwsp1sx10r4jpbchf4mlsq0s3icr2cs3x3ryxvi"; depends=[Matrix]; };
   deepboost = derive2 { name="deepboost"; version="0.1.6"; sha256="1nf9gjk9gjl2dz7cr3vh5lg8nxkbqwr82a132nw853axbdgbs9ga"; depends=[Rcpp]; };
-  deepdep = derive2 { name="deepdep"; version="0.2.5.4"; sha256="01k7jxzxfdwa638i1kr5p5dwn0szyvhaap2g1x013clvmj55n6rr"; depends=[cranlogs ggforce ggplot2 ggraph graphlayouts httr igraph jsonlite scales]; };
+  deepdep = derive2 { name="deepdep"; version="0.4.1"; sha256="0w8wls8ivy4c0vdaxvmp8030wzww73i60nan9vriwbgk7vsjk16q"; depends=[cranlogs httr jsonlite]; };
   deepdive = derive2 { name="deepdive"; version="1.0.4"; sha256="0q4jjq11bd52bx0vqjxsh0fz1b72pfy4gpj5p19z7p4czf4a46c6"; depends=[data_table fastDummies plyr rpart stringr treeClust]; };
   deepgmm = derive2 { name="deepgmm"; version="0.1.62"; sha256="1cllbq87xxzgba3a1prkjg7hdfkxjnmi8fgizqrlsvbxdhpg61yh"; depends=[corpcor mclust mvtnorm]; };
-  deepgp = derive2 { name="deepgp"; version="0.3.0"; sha256="1sf1i29yqwb9s5y4lql0v54g1kfrdsm4a2bgfpi386swvk4p0nla"; depends=[BH doParallel foreach mvtnorm Rcpp RcppArmadillo]; };
+  deepgp = derive2 { name="deepgp"; version="0.3.1"; sha256="1hjq9bv9fb05m0hczis64p2x3f2qv0szi005vr3xm5kg7sbb2j5i"; depends=[BH doParallel foreach mvtnorm Rcpp RcppArmadillo]; };
   deeplr = derive2 { name="deeplr"; version="2.0.0"; sha256="189kfcsd3cr0397krbfqh56x7h0v6i27s5jbfwr5zrf3jazllall"; depends=[httr purrr tibble tokenizers utf8]; };
   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]; };
@@ -7988,7 +8134,7 @@ in with self; {
   demu = derive2 { name="demu"; version="0.3.0"; sha256="1mp5iz8mg0d6cyqi3f6fdhk6x5xxvng5bi13b7jnlp60wpjrq0il"; depends=[ClusterR fields Matrix Rcpp RcppArmadillo spam]; };
   dendRoAnalyst = derive2 { name="dendRoAnalyst"; version="0.1.3"; sha256="1rg8xra4z3q9czkqydn2587iqwp7whscv8camrkhjpc38788cf4q"; depends=[boot pspline zoo]; };
   dendextend = derive2 { name="dendextend"; version="1.15.2"; sha256="06wjs8451hmnimzgngpzbai3yrgy33133vzzapa8jib9crdqi8sb"; depends=[ggplot2 magrittr viridis]; };
-  dendroTools = derive2 { name="dendroTools"; version="1.2.0"; sha256="1sm35xicaxcpfg6r34539kc2kzj8ya0aqwa7i3iqdv81611nkqsp"; depends=[boot brnn Cubist dplyr ggplot2 gridExtra knitr lubridate magrittr MLmetrics oce plotly psych randomForest reshape2 scales viridis]; };
+  dendroTools = derive2 { name="dendroTools"; version="1.2.6"; sha256="0s395c24k0q0wp818mswph09f2qi9cywggbyyxd8482n34g1pq6x"; depends=[boot brnn Cubist dplR dplyr ggplot2 knitr lubridate magrittr MLmetrics oce plotly psych randomForest reshape2 scales viridis]; };
   dendroextras = derive2 { name="dendroextras"; version="0.2.3"; sha256="0hb7crbgsnbcwvbk05iz5ik45n7zgysmwjj6xc46131yd8l0i1qx"; depends=[]; };
   dendrometeR = derive2 { name="dendrometeR"; version="1.0.0"; sha256="1par27ipgbfbrmdlwvkf82i5dgnfrcawmavakrf8lplin2hhb7gs"; depends=[forecast pspline zoo]; };
   dendsort = derive2 { name="dendsort"; version="0.3.4"; sha256="0rs7y471wrhkgibxdmfh5xhp3pa004rrlm2w08b6qli5gq4im5d2"; depends=[]; };
@@ -8047,10 +8193,10 @@ in with self; {
   devRate = derive2 { name="devRate"; version="0.2.1"; sha256="1wq32igzc0xk0vmddrn1zk8m7zxy0gpvpswlgjjmxflslp3yszjf"; depends=[]; };
   devoid = derive2 { name="devoid"; version="0.1.1"; sha256="14cf75wih7401vmrfmswc9cihgmbyn90wg2vjkzv628mm5fgg01h"; depends=[]; };
   devtoolbox = derive2 { name="devtoolbox"; version="0.1.0"; sha256="0ry0liw7a27nndhb5p7migx2ji2g3n1qpip1yr7mlikb7vxap2d6"; depends=[dplyr DT flexdashboard ggiraph ggplot2 gh htmltools httr jsonlite lubridate magrittr markdown purrr reshape2 rmarkdown stringr tidyr tidyselect]; };
-  devtools = derive2 { name="devtools"; version="2.4.2"; sha256="01cg2ykg0av6z7bgl41njcxcii8vjj8ipch26xazp4yjai8abw3i"; depends=[callr cli desc ellipsis fs httr lifecycle memoise pkgbuild pkgload rcmdcheck remotes rlang roxygen2 rstudioapi rversions sessioninfo testthat usethis withr]; };
+  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]; };
@@ -8063,7 +8209,7 @@ in with self; {
   dfoptim = derive2 { name="dfoptim"; version="2020.10-1"; sha256="0gy3wnvwvi9sydcbix226jds88n43r5nchvzrhqdag0j1bwpr9gy"; depends=[]; };
   dformula = derive2 { name="dformula"; version="0.1"; sha256="0028qm3wsfpjbkpza5nb87pcm8cg0075jclcy6s4wfflizgfs6n4"; depends=[formula_tools]; };
   dfped = derive2 { name="dfped"; version="1.1"; sha256="11ffsah14igba276m9d3cla0kgb3isizm5d7j1iqcd0wq23il7hq"; depends=[ggplot2 rstan]; };
-  dfphase1 = derive2 { name="dfphase1"; version="1.1.3"; sha256="1nhcwx8ff3201yhy4rw06scicvdfzv07cjm1jdxzpsg5aqjb61v6"; depends=[lattice Rcpp robustbase]; };
+  dfphase1 = derive2 { name="dfphase1"; version="1.1.4"; sha256="1a219igrrkryf5m1zykfrgyf4gr2fivphbk5ps56cq2y3w5zb9k7"; depends=[lattice Rcpp robustbase]; };
   dfpk = derive2 { name="dfpk"; version="3.5.1"; sha256="010rlxj66ar3y61fnm7ys3p6aimlr8ylqq4q4flzr9m88klz8701"; depends=[BH dfcrm ggplot2 PK Rcpp RcppEigen rstan StanHeaders]; };
   dfrr = derive2 { name="dfrr"; version="0.1.4"; sha256="02hldg31pgicpqffvh61j83d0vcg84mjicirzqhn988wi8gps42r"; depends=[fda ggplot2 MASS plotly tmvtnorm]; };
   dfvad = derive2 { name="dfvad"; version="0.3.6"; sha256="1g232y0zmgpgx6phfsx67548dvqiwa4bc8q9cvpgmkdfaskczcfx"; depends=[]; };
@@ -8083,22 +8229,23 @@ 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.29"; sha256="08wvnmy4c6bfj8hpf8rhiwc0xidmz0y84s36dwjl4bfdqyw3q4r0"; 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.0.0"; sha256="11jfdh2c31dynajahrs0rncl8s8gb3lcdah0a0jvrsj5dh5m4yms"; depends=[BMisc DRDID ggplot2 ggpubr knitr Matrix pbapply]; };
+  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]; };
   dief = derive2 { name="dief"; version="1.2"; sha256="1i4icdfqvw7imaj1fh392zmzfyz8aqlv9s5naqxm1pm0lqfxl6ca"; depends=[flux fmsb ggplot2 plyr]; };
   dielectric = derive2 { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; };
-  dietr = derive2 { name="dietr"; version="1.1.2"; sha256="076j5w5d9ggfndxjjc52mq93h7fnz0fqv0prs1lv1j3m8f3693xw"; depends=[rfishbase]; };
+  dietr = derive2 { name="dietr"; version="1.1.3"; sha256="03kb36377vx90f7zsl167pyjcyaw3chs710z0nx1kajjhcsdzgjp"; depends=[rfishbase]; };
   diezeit = derive2 { name="diezeit"; version="0.1-0"; sha256="0rq1k08byvqn99wpql7drnrcxlzcqrcxixh7bczbc8dv1hhsgk9i"; depends=[brew httr jsonlite]; };
   difNLR = derive2 { name="difNLR"; version="1.3.7"; sha256="1fvil2zys3i8raqkmm8s5p6dyxziwcgchxr1m7q69flms6cpg8gv"; depends=[calculus CTT ggplot2 msm nnet plyr reshape2 VGAM]; };
   difR = derive2 { name="difR"; version="5.1"; sha256="1cd5kaal5mjrbj1l9ki2wbqasdxphgc2yhaf4xwgbh1nr2zkhr02"; depends=[deltaPlotR lme4 ltm mirt]; };
@@ -8116,19 +8263,20 @@ in with self; {
   diffobj = derive2 { name="diffobj"; version="0.3.5"; sha256="0q6gwd9pqh41f6j5p9jl92aji4p8kx9inffpha93d7jc3ndsfq6q"; depends=[crayon]; };
   diffpriv = derive2 { name="diffpriv"; version="0.4.2"; sha256="12q2v93369bshid83rsy1csbr9ay6rfpd8zdxm12zi7py3f9sjs8"; depends=[gsl]; };
   diffr = derive2 { name="diffr"; version="0.1"; sha256="0ydwnpyzirynffsnvip667y0jqzy7yfqlfpqhb38xvmd9rmwfbp8"; depends=[htmlwidgets]; };
+  diffudist = derive2 { name="diffudist"; version="1.0.0"; sha256="0qrkh8fbkbgm5y5q2r82g9zc95paypz4dirkrgffl60ym5zbrymm"; depends=[expm ggdendro ggplot2 igraph Matrix Rcpp RcppEigen reshape2 rlang viridis]; };
   diffusion = derive2 { name="diffusion"; version="0.2.7"; sha256="1j9s9vw5sc4k956bk4yp3bf4fnp7lhhkwcvlzvsh1w4dyaj8l35h"; depends=[dfoptim nloptr systemfit]; };
   diffusionMap = derive2 { name="diffusionMap"; version="1.2.0"; sha256="1rvk7069brlm1s9kqj4c31mwwr3mw4hmhay95cjjjfmw5xclff2j"; depends=[igraph Matrix scatterplot3d]; };
   diffusr = derive2 { name="diffusr"; version="0.1.4"; sha256="1f3h387kblw1xzdnxphwgfl1n7f6i07kk7kfslvbfxkalbish6ii"; depends=[igraph Rcpp RcppEigen]; };
   diffviewer = derive2 { name="diffviewer"; version="0.1.1"; sha256="01phkaaa0zylyi23siwam18i1ggfgq2m66d69lnz9ips1yh12yca"; depends=[htmlwidgets jsonlite]; };
-  digest = derive2 { name="digest"; version="0.6.28"; sha256="006vqwfrry84xn51lxlfalzn9yqr1k81s39r0zy251azx5sqqcja"; depends=[]; };
+  digest = derive2 { name="digest"; version="0.6.29"; sha256="1ncwc5fwsylwlcp9vhkhszw8m5sifg74apig2m2pf168lha1yb3r"; depends=[]; };
   digitTests = derive2 { name="digitTests"; version="0.1.1"; sha256="1q9ksyzvbaq4n47ww7sq0w0arsy1i11b1zlyyzk0g1ks35jlxgpv"; depends=[]; };
   digitalDLSorteR = derive2 { name="digitalDLSorteR"; version="0.1.1"; sha256="083ap03wxmzqynk66gswzilrfd8wrdsrkixdasw1w46pssrab79k"; depends=[dplyr edgeR ggplot2 ggpubr gtools keras Matrix Matrix_utils pbapply RColorBrewer reshape2 reticulate rlang S4Vectors SingleCellExperiment splatter SummarizedExperiment tensorflow tidyr zinbwave]; };
   digitalPCR = derive2 { name="digitalPCR"; version="1.1.0"; sha256="0hwqq84yr1hnvf4bygc5425887dhqjjjyy1ils71iavcal04s8pb"; depends=[]; };
   digitize = derive2 { name="digitize"; version="0.0.4"; sha256="1qw4x4z9vrs79sd9b2daw668nc6nvjl4qhayfqmd87yxa2ydv6x0"; depends=[readbitmap]; };
   dils = derive2 { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp]; };
-  dimRed = derive2 { name="dimRed"; version="0.2.3"; sha256="110d6y83ib1nfpxzmvkvb3fn3brskwkdbsk4dqrdrswrd4znxrg6"; depends=[DRR magrittr]; };
+  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]; };
@@ -8136,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]; };
@@ -8153,9 +8301,9 @@ 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.0"; sha256="00dkdxvj0fmlmr9l34ajvfv1jzlnyr9sdnnpgik8lhcj5a7h8l6f"; depends=[arules lavaan MASS pbivnorm psych sirt]; };
+  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]; };
   discord = derive2 { name="discord"; version="1.1.0"; sha256="0is9gwj09zj25hklsxgi3k7ypq2qp2yx0vir6wgpnd30wa11zs5h"; depends=[]; };
   discourseGT = derive2 { name="discourseGT"; version="1.1.7"; sha256="1nfc1v39y4af5l4zmp00dhp4bzp10wq107gx5ggrvpq9q2nn4hwd"; depends=[dplyr GGally ggplot2 ggrepel igraph network]; };
@@ -8164,23 +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-8"; sha256="0x5r1hay1bnhi2zhw9p9iks39xsips8g76gzx20pll9cllql4k8d"; 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]; };
+  disordR = derive2 { name="disordR"; version="0.0-9"; sha256="1x9lvdwgvi6gmjfgl03ccqkjpmibz3kswlqnw8flj7x2sx969i4h"; depends=[digest]; };
+  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]; };
-  disprose = derive2 { name="disprose"; version="0.1.1"; sha256="1r8q719bzs728li6x7c1d60n05lvgrcqinfq0a9al9y92q2y5zkp"; depends=[]; };
+  disprofas = derive2 { name="disprofas"; version="0.1.3"; sha256="16gbd9algrs6pqid8k96p9r9pzfy337jv506alnajvwirs59sldd"; depends=[boot ggplot2]; };
+  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]; };
@@ -8198,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]; };
@@ -8207,67 +8356,68 @@ 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]; };
-  distributions3 = derive2 { name="distributions3"; version="0.1.1"; sha256="06wfyn37x2r00szfzgjpcxy5fhx72p2pf44llpymcsjyp8k790na"; depends=[ellipsis glue]; };
+  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.1"; sha256="12xwvzdl2rbr76izjnq6ygcrlf522vpgnrm2xz2nl1rwl9xr85im"; 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]; };
   dixonTest = derive2 { name="dixonTest"; version="1.0.3"; sha256="1a3yc30g5rbb0jhm2b0iir5i1dy4jyl67spkhx4yysg4snz131wv"; depends=[]; };
-  diyar = derive2 { name="diyar"; version="0.3.1"; sha256="1hllrwljmddf1j3k05vwasm5pryghbaylnyx107afhjhrar0l850"; depends=[ggplot2 Rfast rlang]; };
+  diyar = derive2 { name="diyar"; version="0.4.1"; sha256="0ydpwvjg1vlqn571lwcgsi1ahczqd316c8qc1szg36ashn1imj7f"; depends=[ggplot2 Rfast rlang]; };
   dkDNA = derive2 { name="dkDNA"; version="0.1.1"; sha256="0ycyzn5bmhjl5idp0lndffkninpm9n23wrkrzi59ac8z8ghsnhf4"; depends=[]; };
   dkanr = derive2 { name="dkanr"; version="0.1.3"; sha256="1zic7qhwq3s9w70zi1f6qyf7pzm69k5a1p5fd4n3z4nbga54njxd"; depends=[assertthat dplyr httr jsonlite purrr stringr tibble]; };
   dlbayes = derive2 { name="dlbayes"; version="0.1.0"; sha256="058kkh67npai2ffrjdpjn4pzj8f233znl16nj6yx8wz8lkb17cb0"; depends=[expm GIGrvg glmnet LaplacesDemon MASS]; };
   dlib = derive2 { name="dlib"; version="1.0.3.1"; sha256="1rchl4f3zj0azz8d4n139daba2gz6vnm60jq45vgc9gphk2mrnnb"; depends=[Rcpp]; };
   dlm = derive2 { name="dlm"; version="1.1-5"; sha256="1aksm66sfa7ipl5xgs4j5giac7q2m744wjl40mva56xn6i674h4r"; depends=[]; };
   dlnm = derive2 { name="dlnm"; version="2.4.7"; sha256="0mbww28n95vnd6wrn1b4mfsdvnyffa8mr6ws4jqmqdc23nydl9p4"; depends=[mgcv nlme tsModel]; };
-  dlookr = derive2 { name="dlookr"; version="0.5.3"; sha256="04cq0nai7aqc80r0j0fx6fhizz21waxl8hyf9y6384nywymx6ani"; depends=[dplyr ggplot2 gridExtra hrbrthemes htmltools kableExtra knitr mice pagedown partykit purrr reactable rlang rmarkdown shiny showtext sysfonts tibble tidyr tidyselect]; };
+  dlookr = derive2 { name="dlookr"; version="0.5.4"; sha256="0qsw9vbzjnfbi9lipph2xyfvldrwjg3mhxxsikmm2kk1m6fmf59x"; depends=[dplyr ggplot2 gridExtra hrbrthemes htmltools kableExtra knitr mice pagedown partykit purrr reactable rlang rmarkdown shiny showtext sysfonts tibble tidyr tidyselect]; };
   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]; };
   dmtools = derive2 { name="dmtools"; version="0.2.6"; sha256="0z77whal18sxmfqalv39w85vnc84c838yh3dp144v7w198n095fy"; depends=[dplyr httr lubridate magrittr progress purrr readxl tibble tidyr]; };
   dmutate = derive2 { name="dmutate"; version="0.1.3"; sha256="1dxx4v9fg0cd2m5lwk3j6n9g6n9zqr7rs75yiz3m3q8cpw1pjqpk"; depends=[dplyr MASS]; };
   dna = derive2 { name="dna"; version="2.1-2"; sha256="0l7i9640yd25cbxd3vbmlsqgk3pi2f7v6g5q0lrgycxl7jla9v1k"; depends=[]; };
+  dnapath = derive2 { name="dnapath"; version="0.6.11"; sha256="03l391rfi7d5953nfnmywbq844dg90jnz5wbxbnylm7d5r8cj4vv"; depends=[corpcor curl dplyr ggplot2 igraph Rcpp RcppArmadillo Rdpack SeqNet tibble]; };
   dnet = derive2 { name="dnet"; version="1.1.7"; sha256="05mqgp8x2h6vjf8j9466kpng7bbga134c2y808qgdmjdnv9fcaxc"; depends=[graph igraph Matrix Rgraphviz supraHex]; };
   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]; };
@@ -8277,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]; };
@@ -8310,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]; };
@@ -8320,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]; };
@@ -8336,7 +8488,7 @@ in with self; {
   dragracer = derive2 { name="dragracer"; version="0.1.6"; sha256="16sf5a22mqk42v3f8r54aqy4jl7jwzd4ijx7xv5lpg93vvinynqk"; depends=[]; };
   dragulaR = derive2 { name="dragulaR"; version="0.3.1"; sha256="1cw5v7m1b4pxsizsjb3zdzhydxj577p6q5fcjklsvpzmiixzlyav"; depends=[htmlwidgets shiny shinyjs]; };
   drake = derive2 { name="drake"; version="7.13.3"; sha256="0b167wj1r37rgfp3kq7y475920334ix52ckxcygyivb9y3zzdnmh"; depends=[base64url digest igraph rlang storr tidyselect txtq vctrs]; };
-  drat = derive2 { name="drat"; version="0.2.1"; sha256="0his0lanwcl4k5c878qbih75khczldq1x0xwayv4jxbwa3jppa3x"; depends=[]; };
+  drat = derive2 { name="drat"; version="0.2.2"; sha256="1ck2m2993p0wmw9rnkf19pr4g0chb0vi03ykdr348bli0zj68jqg"; depends=[]; };
   draw = derive2 { name="draw"; version="1.0.0"; sha256="0kbz8rcgygl4fhmljzaan5jl7wjvfljcaykm7q9lw9s6m78p06gz"; depends=[]; };
   drawer = derive2 { name="drawer"; version="0.1.0"; sha256="1h8z852a8dwbqn3in4ycmkf1h7599z5zmfklw6538xfawhxf614w"; depends=[bsplus glue htmltools magrittr shiny stringr]; };
   drawsample = derive2 { name="drawsample"; version="1.0.0"; sha256="0ygar9753vj2n4v19mf8qcqmrqnxs0czgy0bxbcszb4n5x6rmhq5"; depends=[dplyr lattice magrittr moments psych purrr readxl rlang shiny shinycssloaders shinydashboard tibble xlsx]; };
@@ -8350,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]; };
@@ -8365,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]; };
@@ -8373,27 +8525,28 @@ 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.4.1"; sha256="1cz1fcyxpyv0ywmwlqdhgj3nzidnzcaxc1nkh8y5mph9wm612c25"; depends=[]; };
+  dst = derive2 { name="dst"; version="1.5.1"; sha256="08cw09hf5jx1qfmrqmhm4713gzq21p0ss3nx7qrs92mpsvprq3yc"; depends=[]; };
   dstat = derive2 { name="dstat"; version="1.0.4"; sha256="023jp0xdbg200ww1gnr3fzgjqd82acag0jps7q6j6m27q11psvgz"; depends=[]; };
   dtangle = derive2 { name="dtangle"; version="2.0.9"; sha256="0yg1fbrqixqp93vdw3grvz1la5l2kidgs730qp6yihkp3260cxf3"; depends=[DEoptimR]; };
   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.1.0"; sha256="0cn7vxn92dcxrnabccla6ppf5x7pxfz6pjlmamp0imfphmr1ns4r"; 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=[]; };
@@ -8408,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]; };
@@ -8418,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]; };
@@ -8431,7 +8588,7 @@ in with self; {
   dynmix = derive2 { name="dynmix"; version="1.0"; sha256="0rv787yn264dsp6hpyzwfrgc3p0rp2vhklkdszs9fwy3s4x5177w"; depends=[MASS Rcpp RcppArmadillo zoo]; };
   dynpanel = derive2 { name="dynpanel"; version="0.1.0"; sha256="073kfl5g4d7v8wd2qnpixqrxbac3cqj35z03ax2zlb8h2afa7j62"; depends=[gtools]; };
   dynparam = derive2 { name="dynparam"; version="1.0.2"; sha256="12cclb8r13gn407197sw5gx2vfd0qc69mp16jam9chybxbj3pvx0"; depends=[assertthat carrier dplyr dynutils magrittr purrr stringr tibble tidyr]; };
-  dynplot = derive2 { name="dynplot"; version="1.1.1"; sha256="107j4cpvdy52gywaiw1pyxrpx1j2ihr101hmqghsgihm9qkmabb4"; depends=[assertthat dplyr dyndimred dynfeature dynutils dynwrap GA ggforce ggplot2 ggraph ggrepel igraph MASS patchwork purrr reshape2 tibble tidygraph tidyr vipor]; };
+  dynplot = derive2 { name="dynplot"; version="1.1.2"; sha256="09psc13xfhalk1m41kkwj2ah2dcqkwyzc09kfi1sjpj6nyylcvdn"; depends=[assertthat dplyr dyndimred dynfeature dynutils dynwrap GA ggforce ggplot2 ggraph ggrepel igraph MASS patchwork purrr reshape2 tibble tidygraph tidyr vipor]; };
   dynpred = derive2 { name="dynpred"; version="0.1.2"; sha256="111ykasaiznn3431msj4flfhmjvzq7dd1mnzn1wklc5ndix1pvf9"; depends=[survival]; };
   dynprog = derive2 { name="dynprog"; version="0.1.1"; sha256="11zsx2c4hv7k22pw85aa01zk4r0qpzwnf73ynylkfxfbi87rda9s"; depends=[rlang]; };
   dynr = derive2 { name="dynr"; version="0.1.16-27"; sha256="0rrzi2x19sdi42vpdi8a3lpsbna5kpf2rzvpf3m632b16wca2vnx"; depends=[car deSolve fda ggplot2 latex2exp magrittr MASS Matrix mice numDeriv plyr Rdpack reshape2 stringi tibble xtable]; };
@@ -8448,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]; };
@@ -8456,8 +8613,9 @@ in with self; {
   eRTG3D = derive2 { name="eRTG3D"; version="0.6.4"; sha256="1illpky5p3jappqia1334ra804h18l065r1vkfvpjw8y3hxg2ls2"; depends=[CircStats ggplot2 pbapply plotly raster rasterVis tiff]; };
   eRm = derive2 { name="eRm"; version="1.0-2"; sha256="0smym010kswc5vx90qr3x1vl16xj1x1i54rvrj006dc4agc1vmlk"; depends=[colorspace lattice MASS Matrix psych]; };
   eSDM = derive2 { name="eSDM"; version="0.3.7"; sha256="0rv5hhjsdkq0837822d52xfvfbj9qx1kjmqj8wyny335gv631205"; depends=[dplyr magrittr purrr rlang ROCR sf shiny units]; };
+  eSIR = derive2 { name="eSIR"; version="0.4.2"; sha256="05gpskdzjdm3kp7skqvy7dmj8sgh4jhpkm6akmxlfxn8b627zvg1"; depends=[chron coda data_table ggplot2 gtools reshape2 rjags scales]; };
   eadrm = derive2 { name="eadrm"; version="0.1.3"; sha256="0bb9glwqkzr1px03l4dxvgzm7zkrp3349l5fwfmw6jp0fxdl98ij"; depends=[]; };
-  eaf = derive2 { name="eaf"; version="2.2"; sha256="13q6g6vkwb3i2cdwff4qw0bz21qmd9xx5wacmdsp7s312vf6lwyv"; depends=[modeltools Rdpack]; };
+  eaf = derive2 { name="eaf"; version="2.3"; sha256="1xn8h826fpb0ba6ihlbj5i42haylxz2q51ig7q0sas2mag2ggpap"; depends=[modeltools Rdpack]; };
   earlyR = derive2 { name="earlyR"; version="0.0.5"; sha256="0978vv48sj1hs61rdb3xv02s8qz03jcm1c8q1mbb3d033x1q7k22"; depends=[distcrete EpiEstim epitrix ggplot2]; };
   earlygating = derive2 { name="earlygating"; version="1.1"; sha256="0wwkn30kjdg0qni05l3acbgai9j3h2mqjli49afmpd2453fpyxig"; depends=[betareg doParallel foreach]; };
   earlywarnings = derive2 { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[fields ggplot2 Kendall KernSmooth lmtest moments nortest quadprog som spam tgp tseries]; };
@@ -8467,11 +8625,12 @@ in with self; {
   easyAHP = derive2 { name="easyAHP"; version="0.1.1"; sha256="161mn90j9ph1p9277mj61hch8ndcv7k9izs32q93y5wp474gzynd"; depends=[]; };
   easyCODA = derive2 { name="easyCODA"; version="0.34.3"; sha256="1s1zjjvswl3444m84n6c5sznva4y19kcm171xkcy1zdx3wqmd2m3"; depends=[ca ellipse vegan]; };
   easyDes = derive2 { name="easyDes"; version="6.0"; sha256="12p7ls0q9srrz5h0f0996mmw33shrfbya481s0d5d509vbw8ik6d"; depends=[multcomp PMCMRplus]; };
+  easyDifferentialGeneCoexpression = derive2 { name="easyDifferentialGeneCoexpression"; version="0.9"; sha256="0nmfkb5dsz93h56vcmz70irr1pd9y8195q5fd079l3bhslabymk2"; depends=[annotate Biobase diffcoexp geneExpressionFromGEO GEOquery jetset magrittr R_utils stringi xml2]; };
   easyNCDF = derive2 { name="easyNCDF"; version="0.1.0"; sha256="1p6b1lcbw2ix6hqqghgfid5yd58yqg1cqnj99r5svli3ivr7x6js"; depends=[abind ClimProjDiags ncdf4]; };
   easyPSID = derive2 { name="easyPSID"; version="0.1.2"; sha256="0npih5xpf2a5xw2iz68z9ckm8d4cpradzzdn50rdpg4gqvaq7azp"; depends=[foreign LaF stringr]; };
   easyPubMed = derive2 { name="easyPubMed"; version="2.13"; sha256="1wd8idyqz7kgygp34mjp2abx82775ry8l07vsqdlqnc6fdnvg55d"; depends=[]; };
   easySVG = derive2 { name="easySVG"; version="0.1.0"; sha256="03gl5gl0yqgpygd4kna79wrhflbnq3zrz3iq2i8hk9xqd83mszh3"; depends=[]; };
-  easySdcTable = derive2 { name="easySdcTable"; version="1.0.0"; sha256="060wbi904y32a1ahxrg7g49r9w88kp9fymwcvibbw3zvv6z1rm2p"; depends=[Matrix sdcTable shiny SSBtools]; };
+  easySdcTable = derive2 { name="easySdcTable"; version="1.0.1"; sha256="0xhv812qwwfkv1g3fbz4kl6jxq2dwkgqr7w6ildhm7zlpqk40qaa"; depends=[Matrix sdcTable shiny SSBtools]; };
   easyVerification = derive2 { name="easyVerification"; version="0.4.4"; sha256="08mih1arx01vj7cs1jsln644pcvslpyw1rgr6jmv2czr6xd8qb7d"; depends=[pbapply Rcpp SpecsVerification]; };
   easyalluvial = derive2 { name="easyalluvial"; version="0.3.0"; sha256="02l0jy3bwp3qrz6g5iknl2fsfqi6a6wzn8q18k8518xczlsn1gbd"; depends=[dplyr forcats ggalluvial ggplot2 ggridges gridExtra magrittr progress progressr purrr randomForest RColorBrewer recipes rlang stringr tibble tidyr]; };
   easyanova = derive2 { name="easyanova"; version="7.0"; sha256="1zpwh3r1r0n11hgqzph8f2aac44qb6rpnhk73hcblq0f9vs0an55"; depends=[nlme]; };
@@ -8480,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=[]; };
@@ -8495,18 +8654,19 @@ 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]; };
-  ebmstate = derive2 { name="ebmstate"; version="0.1.2"; sha256="0x7mklp8209xi0lglh9ggjm7crvvx83arryap319lwjll2d8p89s"; depends=[HDInterval mstate Rcpp survival]; };
+  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]; };
   ech = derive2 { name="ech"; version="0.1.1.2"; sha256="1mw68dkm6n6zj27rmyw33gaha1nly1srr6v1d5iib72b1gwnik8l"; depends=[assertthat curl dplyr fs geouy glue haven janitor labelled laeken purrr readxl rlang srvyr statar stringr survey tidyr]; };
-  echarts4r = derive2 { name="echarts4r"; version="0.4.2"; sha256="1mv080bcprskzhc778ccd5yvrp48fawdjah0hwj795cz72603jd3"; depends=[broom corrplot countrycode dplyr htmltools htmlwidgets jsonlite purrr rstudioapi scales shiny]; };
-  echarty = derive2 { name="echarty"; version="1.4.2"; sha256="0xz4vjwwnbzx9y556kl76rqfvgbgvmp3n6vs8j1mkqfk20dlzn5y"; depends=[dplyr htmltools htmlwidgets jsonlite shiny]; };
+  echarts4r = derive2 { name="echarts4r"; version="0.4.3"; sha256="1hjjqbc6dvz6bi6lsqlvlkrmzqv1g205cd0f8k0a7lq37hcqsw7s"; depends=[broom corrplot countrycode dplyr htmltools htmlwidgets jsonlite purrr rstudioapi scales shiny]; };
+  echarty = derive2 { name="echarty"; version="1.4.3"; sha256="047vqwspl7x94xlj2726hyma9f61406vq7vm7hk3j94r2zk64vs1"; depends=[dplyr htmltools htmlwidgets jsonlite shiny]; };
   echelon = derive2 { name="echelon"; version="0.1.0"; sha256="0dw15igx8jwgfr1f7p5pspxjiqhqmfp7shdhq8g07f4bj76irzm4"; depends=[]; };
   echo_find = derive2 { name="echo.find"; version="4.0.1"; sha256="1nadqqpxgx2ck16nzjp5ajm6714452qzllg5cq1jpisv1yb31db2"; depends=[boot minpack_lm]; };
   echogram = derive2 { name="echogram"; version="0.1.2"; sha256="0kir7x32fk3fc63kr3b2j0hfkmivs2pwrlxyjvdg7xqc59hjp3ma"; depends=[geosphere readHAC]; };
@@ -8516,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]; };
@@ -8531,13 +8691,13 @@ 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]; };
   ecotoxicology = derive2 { name="ecotoxicology"; version="1.0.1"; sha256="084xkr59d7x9zxmsnsyym2x8jshz6ag6rvnmhd1i6fzar8ypwccb"; depends=[]; };
   ecotraj = derive2 { name="ecotraj"; version="0.0.1"; sha256="0570j338107bxx004wwx76j1x981nh1apgp9x33r4ddz4f589aag"; depends=[circular Kendall MASS Rcpp]; };
-  ecoval = derive2 { name="ecoval"; version="1.2.7"; sha256="1hnryk9y3074iy7hv40jr00lpg2w99l7halwv6bj14v6ygddj2k7"; depends=[jpeg rivernet utility]; };
+  ecoval = derive2 { name="ecoval"; version="1.2.9"; sha256="05a6hyjsbdp4wwhrm5fwjr7fxx4g2nffhp885q0da2jkzd0754f1"; depends=[fs jpeg rivernet utility]; };
   ecp = derive2 { name="ecp"; version="3.1.3"; sha256="0n602jssl6rf596nwm6hbl7s9vdlqi20w8mrhxicj373mw5v22m8"; depends=[Rcpp]; };
   ecpc = derive2 { name="ecpc"; version="2.0"; sha256="0xw9yd2xsxkia68zvm2pkqm73y3k9gzhnkslwikq39ra1l404r28"; depends=[CVXR gglasso glmnet Matrix multiridge mvtnorm pROC survival]; };
   ecr = derive2 { name="ecr"; version="2.1.0"; sha256="0vvkdxlcqaim9mkgwgdxrx1xhw3lshi1nxfw3kqllq14p3l6xss4"; depends=[BBmisc checkmate ggplot2 parallelMap ParamHelpers reshape2 smoof]; };
@@ -8554,20 +8714,22 @@ in with self; {
   eddington = derive2 { name="eddington"; version="2.1.1"; sha256="0v88v2xmvirnj661jsg2qh7n8afaw71mqks9csnmmz3c16agp7b6"; depends=[Rcpp]; };
   edeR = derive2 { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; };
   edeaR = derive2 { name="edeaR"; version="0.8.6"; sha256="13hzb7m2rb6crxsia3d5szyz59kyd3506j8avbr51a7cps1bqaj0"; depends=[bupaR data_table dplyr forcats ggplot2 ggthemes glue hms lubridate miniUI purrr rlang shiny shinyTime stringr tibble tidyr zoo]; };
+  edecob = derive2 { name="edecob"; version="1.0.0"; sha256="1zkrh33wzivfaxqn35x3ciwmm9g98x4wgkzmaflzb12p6c0d4f8w"; depends=[ggplot2 rlang]; };
   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]; };
@@ -8581,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=[]; };
@@ -8624,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.3"; sha256="0xd71kgj41792h91fikvjmqbl831ribbxlvv1s216vpba74z8qqs"; 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]; };
@@ -8637,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]; };
@@ -8648,24 +8810,24 @@ 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.6.1"; sha256="05s14p5llvfwzd11wf73zd5xgv4hzpinpg74bnd94z8380x8p6ls"; depends=[base64enc commonmark curl digest dplyr glue htmltools httr logger magrittr mime purrr rmarkdown 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]; };
   emdbook = derive2 { name="emdbook"; version="1.3.12"; sha256="0ls3zxxlwmdv7zn1v9i1y9zc2sn0hbgmyjvsj7zn3ajsw7wwlih6"; depends=[bbmle coda lattice MASS plyr]; };
-  emdi = derive2 { name="emdi"; version="2.1.0"; sha256="0a3rz0x06838l7ylpkk55vfxaxfh5hkab102vshsl8yzzsmxn72k"; depends=[boot formula_tools ggplot2 gridExtra HLMdiag MASS moments MuMIn nlme openxlsx parallelMap readODS reshape2 saeRobust spdep stringr]; };
+  emdi = derive2 { name="emdi"; version="2.1.1"; sha256="1imw4zlx338yfp4kb6ax4z1ni5f6q5mlcvfx7xm05j0nqigjphv9"; depends=[boot formula_tools ggplot2 gridExtra HLMdiag MASS moments MuMIn nlme openxlsx parallelMap readODS reshape2 saeRobust spdep stringr]; };
   emdist = derive2 { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; };
   emg = derive2 { name="emg"; version="1.0.9"; sha256="04sm05xnjns7wcvpk35ywkxy6g0mm84r060mkmzh64wq58c2q06l"; depends=[moments]; };
   emhawkes = derive2 { name="emhawkes"; version="0.9.5"; sha256="0b6kjwx2lsz5rj8819n71nvvchjpys90ns5n6gcgfwn5afzfdvql"; depends=[maxLik]; };
   emld = derive2 { name="emld"; version="0.5.1"; sha256="0cvnfvzskvpcqzs6fwrpjcqrc6yrfciliy9jj0c9h4iyag0g0b9b"; depends=[jsonld jsonlite xml2 yaml]; };
   emma = derive2 { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[clusterSim earth]; };
   emme2 = derive2 { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; };
-  emmeans = derive2 { name="emmeans"; version="1.7.1-1"; sha256="1pjh09p8sc2jskhlrhk1rnb3ng4sj9vwqqw5vd2n5yd03snyl0bb"; depends=[estimability mvtnorm numDeriv xtable]; };
+  emmeans = derive2 { name="emmeans"; version="1.7.2"; sha256="1g112yvqvxi83x128hwz4qpifwihlm0y5szg82cdsx3c9cm1rrfk"; depends=[estimability mvtnorm numDeriv xtable]; };
   emoa = derive2 { name="emoa"; version="0.5-0.1"; sha256="0rkr4d4fyqxmsrlbzar27z97qkw4cl1dkvfnhbdwpgg9fi1cixmz"; depends=[]; };
   emoji = derive2 { name="emoji"; version="0.2.0"; sha256="06bsz0hsaqa2lzqpyqhsfp07p8ri5frvhiza0s8aali7w3cr2szh"; depends=[glue stringr tibble]; };
   emojifont = derive2 { name="emojifont"; version="0.5.5"; sha256="1hhrwilv36hd9gs1kcl2zsi6519md0h9aixjrm6lfclxvz8r6k1i"; depends=[ggplot2 proto showtext sysfonts]; };
@@ -8674,9 +8836,8 @@ in with self; {
   empichar = derive2 { name="empichar"; version="1.0.0"; sha256="1hcl6wbf4saxxp54j2w67csv6nzfgc3f3wdd9lk9grmkxsaab4rx"; depends=[Rcpp RcppArmadillo]; };
   empiricalFDR_DESeq2 = derive2 { name="empiricalFDR.DESeq2"; version="1.0.3"; sha256="0h2mcdw4v3ac6dn0s4z37l4sdzbi12sxrnn0f0gc9z207dyyf6w3"; depends=[DESeq2 GenomicRanges]; };
   emplik = derive2 { name="emplik"; version="1.1-1"; sha256="1kw8g8j075bsicdvgkjf4870rfv5c30gvmw6qkkaz3ki22x74w77"; depends=[quantreg]; };
-  emplik2 = derive2 { name="emplik2"; version="1.30"; sha256="0shi483jzydy4hpgplbnsxy3dpbxjmbs4n778xc4qjmvbni4d857"; depends=[]; };
-  ems = derive2 { name="ems"; version="1.3.10"; sha256="16ixfwl4q8wkny44kk7qqjcywjj6dscz0a9vx38fi4jks72mhgrd"; depends=[boot rms survival]; };
-  emstreeR = derive2 { name="emstreeR"; version="2.2.2"; sha256="0lchkkn6s265xnk25bprijlc6nl62nwcp0l9nwplyw7q492ysg0q"; depends=[BBmisc BH ggplot2 Rcpp RcppArmadillo RcppMLPACK scatterplot3d]; };
+  emplik2 = derive2 { name="emplik2"; version="1.32"; sha256="0d4fzyxa7kynxgx8187vqxnb25kv1m1pkawxdpng6nfaiy76w67m"; depends=[]; };
+  ems = derive2 { name="ems"; version="1.3.11"; sha256="0xg4c6yhrnq5pfz94i1ys1bdqfz12h0wcs86fz4nm4pqfdbh41cc"; depends=[boot rms survival]; };
   emuR = derive2 { name="emuR"; version="2.3.0"; sha256="1i133lnjn5yjy26r25xfhny6410lp8jj23jpn54znbyc560w2c9r"; depends=[base64enc cli DBI dplyr httpuv httr jsonlite mime purrr readr rlang RSQLite rstudioapi shiny stringr tibble tidyr uuid V8 wrassp]; };
   emulator = derive2 { name="emulator"; version="1.2-21"; sha256="0iikf6yinkqcgdnxx6v5kzfllhq3ppl75ym48vlcbnvkwv0v4l4v"; depends=[mvtnorm]; };
   enRich = derive2 { name="enRich"; version="3.1"; sha256="0xl9rhz6mflzp1g5d51xz74dsm8qp16jbkflhzrha3vfirn2jh8q"; depends=[]; };
@@ -8685,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]; };
@@ -8704,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]; };
@@ -8730,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.39"; sha256="0wml3xdg9371cxfjavj9h74ggaaq2fncjk151hkaya0lwk5lyxyc"; 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]; };
@@ -8751,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]; };
@@ -8772,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]; };
@@ -8794,7 +8955,7 @@ in with self; {
   erp_easy = derive2 { name="erp.easy"; version="1.1.0"; sha256="193n45w0rq3cy0nmxvv0h6s3yr8kfjlg90nd4dnqlsq85zlsizij"; depends=[gtools plyr signal]; };
   erpR = derive2 { name="erpR"; version="0.2.0"; sha256="1y6abc5fkcyyjh36maj1zbxppqzwd5wkvzvqahyvzsz5fqpjkcdx"; depends=[rpanel]; };
   err = derive2 { name="err"; version="0.2.0"; sha256="1915b0vmqdd8whwdrqjphld1jaxawh5b7di6wf7q3sx779lblsrs"; depends=[]; };
-  erratum = derive2 { name="erratum"; version="2.1.0"; sha256="0d2kagq4rdh37swx8kzg04k6cn1rrjni48l4f86wfdgs1bnkabkn"; depends=[R6 rlang]; };
+  erratum = derive2 { name="erratum"; version="2.2.0"; sha256="0id03wm8knll548ydwv3cpn282xvw05vyaih8jy6nlmlis18wybf"; depends=[R6 rlang]; };
   errint = derive2 { name="errint"; version="1.0"; sha256="1ya7fsvwhmgxw87r32m4345n8pw2pbpv026xvml03s1kiam8qwbw"; depends=[rootSolve VGAM]; };
   errorist = derive2 { name="errorist"; version="0.1.0"; sha256="0zq5h2wffn9d3f3blzh736478k91smlvz5hxy55hcjqffpxcp4ah"; depends=[searcher]; };
   errorizer = derive2 { name="errorizer"; version="0.2.1"; sha256="10p7ydm81x2gls0wn692llgj2rxhg4s96rv7gvihmgi5dflraypq"; depends=[]; };
@@ -8814,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=[]; };
@@ -8840,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=[]; };
@@ -8863,7 +9024,6 @@ in with self; {
   eventglm = derive2 { name="eventglm"; version="1.2.1"; sha256="0w8nqdkw4i4d6y12a5b0l587f2h2pgkjhif93nbs27n4kvv42idm"; depends=[geepack sandwich survival]; };
   eventr = derive2 { name="eventr"; version="1.0.0"; sha256="08ljjvfrnfmi49b9bgizvvswxydln8ny901grn5j288pq0djjqyk"; depends=[dplyr magrittr purrr]; };
   eventstream = derive2 { name="eventstream"; version="0.1.0"; sha256="0imrs872b6fjvw74smniiiicvizyign6wmwwybljk704cshzcy2f"; depends=[abind AtmRay changepoint dbscan glmnet MASS tensorA]; };
-  eventstudies = derive2 { name="eventstudies"; version="1.2.2"; sha256="01vpd0gnxaibxn3nq6618rxlwapm86idz86n0wj5kfz4a9kj7lsx"; depends=[boot sandwich testthat xts zoo]; };
   evgam = derive2 { name="evgam"; version="0.1.4"; sha256="0xdmqhg77dbb47pwzgj2hxs83a9yscknz9pmh9a33snaba9llc6r"; depends=[mgcv Rcpp RcppArmadillo]; };
   evian = derive2 { name="evian"; version="2.1.0"; sha256="1slnzq55gg3p16fs22v69mafiggiy5f70sj8fh65lc0hphybh6w2"; depends=[doParallel foreach ProfileLikelihood sandwich]; };
   evidence = derive2 { name="evidence"; version="0.8.10"; sha256="02kqk95kx4nv13fg6z55a5rv6sq6lv8azg0jjxbkg1j6hg15p7ai"; depends=[LaplacesDemon lattice LearnBayes loo rstan rstanarm]; };
@@ -8873,18 +9033,18 @@ in with self; {
   evmix = derive2 { name="evmix"; version="2.12"; sha256="02rabc9snci00s1x7h0svfr66lmw1wjcdg0149wc52mnccsdaivf"; depends=[gsl MASS SparseM]; };
   evobiR = derive2 { name="evobiR"; version="1.1"; sha256="0502xj1gv2g943vfqyllz4sr5z4mixf5vqlqi2v96mymnv9iwsr8"; depends=[ape geiger phytools seqinr shiny]; };
   evolqg = derive2 { name="evolqg"; version="0.2-9"; sha256="1y1pq2hdilqkj6hk02km9aaaynz1calcw00r5k1rxlc4wfq1wx70"; depends=[ape coda expm ggplot2 igraph Matrix MCMCpack mvtnorm plyr Rcpp RcppArmadillo reshape2 vegan]; };
-  evolvability = derive2 { name="evolvability"; version="1.1.0"; sha256="0lbyidb86yzvcfw86jfwnzbpijn64jr8fasycqq4h3r9c0x2by3j"; depends=[coda]; };
+  evolvability = derive2 { name="evolvability"; version="2.0.0"; sha256="0l81d48zvvnbxlx1mj4qwga1kdzk05pzdvsp4ghi93pzzynfqn9s"; depends=[ape coda lme4 Matrix]; };
   evoper = derive2 { name="evoper"; version="0.5.0"; sha256="064fcpd04ws8v6sl0bakiw34jmmfpg1w5pkq94y2gh1c576x4vwz"; depends=[boot data_table deSolve futile_logger ggplot2 plot3D plyr reshape RNetLogo rrepast]; };
   evt0 = derive2 { name="evt0"; version="1.1-3"; sha256="08sbyvx49kp3jsyki60gbbnci26d6yk0yj2zcl4bhfac8c3mm6ya"; depends=[evd]; };
   evtclass = derive2 { name="evtclass"; version="1.0"; sha256="1ny43sry257cxlg56f0lj1szv9ci3ymskj6l5sn43l5a2pq62g4l"; depends=[evd fitdistrplus RANN]; };
   evtree = derive2 { name="evtree"; version="1.0-8"; sha256="1dmzbsyrg8wwzzqcxzqmgm7yai37lh9lkjhizhr2h0k03s5xdv1k"; depends=[partykit]; };
   ewoc = derive2 { name="ewoc"; version="0.3.0"; sha256="0r8b5vq0qzp3f0dasxmrngldqlymca90sj019rzs1a0qf28wlgbr"; depends=[coda doParallel doRNG foreach Formula ggplot2 rjags]; };
   exCon = derive2 { name="exCon"; version="0.2.5"; sha256="0gqnv01dw4ncf3x3p74pc6f14a1ixq7icl2p18hsmvxdqqg7kgy7"; depends=[jsonlite]; };
-  exact2x2 = derive2 { name="exact2x2"; version="1.6.5"; sha256="05xkzyyk1dfxq2f6aczwiyinznaxfd6ipd680zsbcd0iq44n7wd1"; depends=[exactci ssanv]; };
+  exact2x2 = derive2 { name="exact2x2"; version="1.6.6"; sha256="1c7lsl2zvnighzylp7z3w74rl7p8zfg0fphw5fxv2i0m8sslzq73"; depends=[exactci ssanv]; };
   exactLoglinTest = derive2 { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; };
   exactRankTests = derive2 { name="exactRankTests"; version="0.8-34"; sha256="1i4mwz61mjlh1ai3dww2pjkicx9ww8c4mljnr8xlawh91479lva9"; depends=[]; };
   exactci = derive2 { name="exactci"; version="1.4-2"; sha256="08phqmpj7f6mjbwfnykqmfmg7g9h6ksj3hyryn79d7kwxyh994i7"; depends=[ssanv testthat]; };
-  exactextractr = derive2 { name="exactextractr"; version="0.7.1"; sha256="1gc1p9pgazhblk8jgykxxjpblylbaq5r9hdlw3ilz5g45yjjwcnc"; depends=[raster Rcpp sf]; };
+  exactextractr = derive2 { name="exactextractr"; version="0.7.2"; sha256="0n39dqgsfzybi9yvnpnfdyypl8c9fml80jq0wxssik2n47mvbcif"; depends=[raster Rcpp sf]; };
   exactmeta = derive2 { name="exactmeta"; version="1.0-2"; sha256="1v807ns799qajffky4k18iah0s3qh2ava6sz5i85hwx9dhkz19h4"; depends=[]; };
   exampletestr = derive2 { name="exampletestr"; version="1.6.5"; sha256="144rfi83g79xhw3v5vn4qfqmxixy9pk2ir8dm42qk0jhd9v2awng"; depends=[checkmate fs magrittr ore purrr readr rlang roxygen2 rstudioapi strex stringr styler usethis withr]; };
   exams = derive2 { name="exams"; version="2.3-6"; sha256="1cn0gmaayv857zl7l7zmnblmpx84qkjxqrigrymy578y04qjc4zx"; depends=[]; };
@@ -8892,10 +9052,11 @@ 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]; };
-  excluder = derive2 { name="excluder"; version="0.3.2"; sha256="0rpvhxnza5pcg3499v7mq7lbxdllx26s3ygyvwglphibz0m2q5xx"; depends=[cli curl dplyr iptools janitor lubridate magrittr maps rlang stringr tidyr tidyselect]; };
+  excluder = derive2 { name="excluder"; version="0.3.3"; sha256="080my5aiql9vpgqbr9lwkn4g5mmb20392ddc3rm638dlyphagips"; depends=[cli curl dplyr iptools janitor lubridate magrittr maps rlang stringr tidyr tidyselect]; };
   excursions = derive2 { name="excursions"; version="2.5.2"; sha256="1a0vywxhh0bxjcf8v5gdk1n6cjxrby7750a7qdwhzsgxna3l3gga"; depends=[Matrix sp withr]; };
   exdex = derive2 { name="exdex"; version="1.0.1"; sha256="15wdi24fq8q4ja4527k1adv6lkzyhylp8nwlsrb91q0sbmmprrqs"; depends=[chandwich Rcpp RcppArmadillo RcppRoll]; };
   exdqlm = derive2 { name="exdqlm"; version="0.1.2"; sha256="0wkiihdvgf7lyzv02l10spxcn127w1jblz6fbr7yf16mfq0m9mlk"; depends=[brms coda crch dlm FNN GeneralizedHyperbolic HyperbolicDist LaplacesDemon magic tictoc truncnorm]; };
@@ -8912,16 +9073,18 @@ in with self; {
   experiment = derive2 { name="experiment"; version="1.2.0"; sha256="0f8h4pj2y7cd2s1q44q4mrg9cirnpz0bkn4xm04hz1rpjxb4xlv1"; depends=[boot MASS]; };
   expert = derive2 { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; };
   expint = derive2 { name="expint"; version="0.1-6"; sha256="0iai25cglcdnf44d2d1fz1xpw4q600my4zq4493fk4cs5673mlf7"; depends=[]; };
+  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]; };
@@ -8982,7 +9145,7 @@ in with self; {
   fExtremes = derive2 { name="fExtremes"; version="3042.82"; sha256="1n0afql4csgsqf7j9x2v8yxncvpknms643l9knm0fqb4pdbaw58c"; depends=[fBasics fGarch timeDate timeSeries]; };
   fGarch = derive2 { name="fGarch"; version="3042.83.2"; sha256="06c6f07bg05cbn7s40ak6ywyja4cfbznazj5my9rcyahjvc6b553"; depends=[fastICA fBasics Matrix timeDate timeSeries]; };
   fHMM = derive2 { name="fHMM"; version="0.3.0"; sha256="1ahlvb85y9m8025id7m0bx90csq07ikwiadfmqh4y95d2milwya0"; depends=[MASS progress Rcpp RcppArmadillo tseries]; };
-  fICA = derive2 { name="fICA"; version="1.1-1"; sha256="0bnvhpr5w84bb8147gx5jwpz762b462nddgagv9ylhra3wxp44mz"; depends=[JADE Rcpp RcppArmadillo]; };
+  fICA = derive2 { name="fICA"; version="1.1-2"; sha256="0dqw3qybnpdnvhfh5inkc4011bzhsxvhpv8zzmkm3q5m6hkc6rlg"; depends=[JADE Rcpp RcppArmadillo]; };
   fImport = derive2 { name="fImport"; version="3042.85"; sha256="0rm4mwhk5ial016vl6dny8s87gd5i9p04akdyg2fndpcqwfmb5lc"; depends=[timeDate timeSeries]; };
   fMRIscrub = derive2 { name="fMRIscrub"; version="0.8.6"; sha256="0ky2a4p06p2c2dgb6wwa4spq4jsn4hvyk8c864c21j8hp6m4yaa9"; depends=[e1071 MASS pesel Rcpp RcppArmadillo robustbase]; };
   fMultivar = derive2 { name="fMultivar"; version="3042.80.1"; sha256="0v61sf9x54ymka9x15vz38afj1lxmgfpcwrr73lzhccf6ci6fx9m"; depends=[cubature fBasics mvtnorm sn timeDate timeSeries]; };
@@ -8998,14 +9161,13 @@ in with self; {
   fabMix = derive2 { name="fabMix"; version="5.0"; sha256="1gii3mdii9nw423xxn9mhv1pjbw967wdarn828w04zm9dkdcwm48"; depends=[coda corrplot doParallel foreach ggplot2 label_switching MASS mclust mvtnorm RColorBrewer Rcpp RcppArmadillo]; };
   fabisearch = derive2 { name="fabisearch"; version="0.0.3.9"; sha256="0nzv2wkv1l4r2pqq6j2y16lj61djp6bjydsk4xvxlhdnifx5cmhm"; depends=[doParallel doRNG foreach NMF pkgmaker reshape2 rgl]; };
   fable = derive2 { name="fable"; version="0.3.1"; sha256="185l3gd83nys11k389ha2ssdm9rkw9aackmz2cd2mvlym72rsnq7"; depends=[distributional dplyr fabletools Rcpp rlang tibble tidyr tsibble]; };
-  fable_ata = derive2 { name="fable.ata"; version="0.0.2"; sha256="0rpchiw4rkrk9c0r0n6xqcgqizjpl4xdm0z4v6dzm7abvbndanzr"; depends=[ATAforecasting distributional dplyr fabletools rlang tibble tsbox tsibble]; };
+  fable_ata = derive2 { name="fable.ata"; version="0.0.3"; sha256="0rjy5kj10sw2i9ghrsz67l40j7niw9mxm14kzg6prnc34200ki0n"; depends=[ATAforecasting distributional dplyr fabletools lubridate rlang tibble tsbox tsibble]; };
   fable_prophet = derive2 { name="fable.prophet"; version="0.1.0"; sha256="12y2k05plg6d6lgqk6617q6z5m6xz33zdsjh56k86h230qqw68rp"; depends=[distributional dplyr fabletools lubridate prophet Rcpp rlang tsibble]; };
   fabletools = derive2 { name="fabletools"; version="0.3.2"; sha256="1appg3pzw6b08nxh0p1ldbvv1j091v0kcygm808nf04v9axp5f95"; depends=[distributional dplyr generics ggplot2 lifecycle progressr R6 rlang tibble tidyr tidyselect tsibble vctrs]; };
   fabricatr = derive2 { name="fabricatr"; version="0.14.0"; sha256="1smy9c34y47xdfmkgm90xyxagnj9qsgxg70mf75z1006m4npbdg8"; depends=[rlang]; };
   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]; };
@@ -9016,14 +9178,15 @@ in with self; {
   factorial2x2 = derive2 { name="factorial2x2"; version="0.2.0"; sha256="045887hwknwm92wlrp0jlvxj5aal50vpnc7ddbh7c8smawmrdwfd"; depends=[mvtnorm survival]; };
   factormodel = derive2 { name="factormodel"; version="1.0"; sha256="0yvp8mk42hi1vhrw29djabndc8pbbpjbr6bwss95wsmk7zvvf6i2"; depends=[dplyr gtools nnet pracma]; };
   factorplot = derive2 { name="factorplot"; version="1.1-2"; sha256="025lfk122w66yxym3njcpzwnbhg40xi7p1c9vnxczcb8kz31745s"; depends=[multcomp nnet]; };
-  factorstochvol = derive2 { name="factorstochvol"; version="1.0.0"; sha256="1ksqvfbpkri2zaw60i1c3cwvp88ab379qwkq8d7c0n5mkzk989m8"; depends=[corrplot GIGrvg Rcpp RcppArmadillo stochvol]; };
+  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]; };
@@ -9036,11 +9199,13 @@ in with self; {
   fam2r = derive2 { name="fam2r"; version="1.2"; sha256="0pq5cmzwk3s8cz5x8dsfb2d6qfpapkrwbzvkqmqkhcwhwryy40mm"; depends=[Familias paramlink]; };
   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]; };
@@ -9051,7 +9216,7 @@ in with self; {
   fasano_franceschini_test = derive2 { name="fasano.franceschini.test"; version="1.1.0"; sha256="122jpjis2jsd13ljjhi6ibgp1i4gg9yymkzh1rpcysj1wsxxasad"; depends=[]; };
   fasi = derive2 { name="fasi"; version="1.0.0"; sha256="1hfd6nl8zvn7sybji8s1pa2wl95l2vqa07rv96yn9rk07qvdc6dy"; depends=[fastAdaboost gam naivebayes]; };
   fasjem = derive2 { name="fasjem"; version="1.1.2"; sha256="1bbrcyyg96hakgla3604byrkn9034197vy2is048kdq20yr2y11n"; depends=[igraph]; };
-  fasstr = derive2 { name="fasstr"; version="0.3.3"; sha256="0x641cxhjawf4jrf465hnf0zkk120wcsrsd7r1n175x9jsq0z3q2"; depends=[dplyr e1071 fitdistrplus ggplot2 openxlsx PearsonDS plyr purrr RcppRoll scales tidyhydat tidyr zyp]; };
+  fasstr = derive2 { name="fasstr"; version="0.4.1"; sha256="0hx3ipjaki02yrvyv8cjp7133bz8whjbrplghvzigwmb95ifmnx9"; depends=[dplyr e1071 fitdistrplus ggplot2 openxlsx PearsonDS plyr purrr RcppRoll scales tidyhydat tidyr zyp]; };
   fastAdaboost = derive2 { name="fastAdaboost"; version="1.0.0"; sha256="1pv1y6znvc37pgwk99v4r0hljhipq8v6r3r5cb5vhgyl0bfi8g38"; depends=[Rcpp rpart]; };
   fastCorrDiff = derive2 { name="fastCorrDiff"; version="0.5"; sha256="0fis04xfarvmhpdkh7524ffga8f8svpcn3837rqwy0g039dcfa64"; depends=[irlba Matrix plyr RSpectra]; };
   fastDummies = derive2 { name="fastDummies"; version="1.6.3"; sha256="1pw1bpp69sbs8yc1s5ffz11q249ljfwbgfrq6irg5pyp37z38fdx"; depends=[data_table stringr tibble]; };
@@ -9067,6 +9232,7 @@ in with self; {
   fastOnlineCpt = derive2 { name="fastOnlineCpt"; version="1.0"; sha256="0grkgj8kwqblikgw5pg4vdp41qd9s4cd7dzih3ima31fdw8ssi3c"; depends=[Rdpack]; };
   fastR2 = derive2 { name="fastR2"; version="1.2.1"; sha256="15mqsdy79zvd4srrszdjp0kh9lfcq3yxp7j5d4xcqbjbwsgy68il"; depends=[dplyr ggplot2 lattice maxLik miscTools mosaic numDeriv]; };
   fastRG = derive2 { name="fastRG"; version="0.3.0"; sha256="1qxbdgn9id9dhavlwf242cr9pk7pwaj93cvv00jaidiq6rlslnq8"; depends=[ellipsis glue igraph magrittr Matrix RSpectra tibble tidygraph]; };
+  fastRhockey = derive2 { name="fastRhockey"; version="0.1.0"; sha256="03md9hvm34q5qgqcaf81ysw62m1f61fv0drpf8k8k3lysfv6pxj1"; depends=[cli data_table dplyr glue httr janitor jsonlite lubridate magrittr progressr purrr Rcpp RcppParallel rlang rvest stringr tibble tidyr]; };
   fastSOM = derive2 { name="fastSOM"; version="1.0.1"; sha256="1fzy7lfx1fn9993h0qh6vbwq0w4gfgbdrprmzb1z3aqq6nqvmngm"; depends=[]; };
   fastText = derive2 { name="fastText"; version="1.0.1"; sha256="0l0pkr3a8qckvzazh6rsz94rab8v96y4wis2my29srkwv4h447bn"; depends=[data_table ggplot2 glue Rcpp]; };
   fastTextR = derive2 { name="fastTextR"; version="2.0.0"; sha256="1ggmwsw2qnq8v3s8iaxi8q66c898pc15wfgpsp6h0mc761qih5lf"; depends=[Rcpp slam]; };
@@ -9079,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]; };
@@ -9096,9 +9262,10 @@ in with self; {
   fastqcr = derive2 { name="fastqcr"; version="0.1.2"; sha256="12x3lkg5zc4ckyg4x3xxqb779yhrr0fys7asf5b8shz49f86fmm9"; depends=[dplyr ggplot2 gridExtra magrittr readr rmarkdown rvest scales tibble tidyr xml2]; };
   fastqq = derive2 { name="fastqq"; version="0.1.2"; sha256="1p5xjwcwsgxyva6y6g9d0m6pvdwih97rassw6n2a85dsl8c4kmfk"; depends=[Rcpp]; };
   fastrmodels = derive2 { name="fastrmodels"; version="1.0.2"; sha256="1333546nk429l6s4icbmx8hmh29wsc252wbmmhsmgb116l4ra9zi"; depends=[xgboost]; };
+  fastshap = derive2 { name="fastshap"; version="0.0.7"; sha256="0gxch67i3bj6m8nb94m5hswq058w6n1q9war4dy2qnimlv7cmhdv"; depends=[abind ggplot2 gridExtra matrixStats plyr Rcpp RcppArmadillo tibble]; };
   fasttime = derive2 { name="fasttime"; version="1.0-2"; sha256="11i4c0zrkvvqsax0az1fvmc0jxfsjyx28434k1qgzhj9g2j9m9cf"; depends=[]; };
   fastverse = derive2 { name="fastverse"; version="0.2.1"; sha256="0ys75qw5ag7mynwk4xyjb8jlsgbffqjxn2h1dznxzhsa953v39xk"; depends=[collapse data_table fst kit magrittr matrixStats]; };
-  fat2Lpoly = derive2 { name="fat2Lpoly"; version="1.2.4"; sha256="01a9d6b2f6g858vg64kr0w0qmv2jqhk9kk3hb6jdr2rly4j8p14x"; depends=[kinship2 multgee]; };
+  fat2Lpoly = derive2 { name="fat2Lpoly"; version="1.2.5"; sha256="08bbd17aqmfcacvk283bpf9cp1isf5pgfdciwxn0f7ahdzd81g4s"; depends=[kinship2 multgee]; };
   faux = derive2 { name="faux"; version="1.1.0"; sha256="0cmgsm8c8w5d5zk00j4872x7fby0rdi7lmw0w0ncahlnh72grpjm"; depends=[dplyr ggplot2 jsonlite lme4 rlang truncnorm]; };
   fauxnaif = derive2 { name="fauxnaif"; version="0.6.1"; sha256="1hw6lkxvxd65wajr0mpmbg8lvx0sd84py1apzqfnr7xpb4r1hi85"; depends=[glue lifecycle rlang]; };
   fauxpas = derive2 { name="fauxpas"; version="0.5.0"; sha256="129fzqb7wsskbn50s8x0marr4wm8jrns6hiycqcsk166k3dnyyy8"; depends=[httpcode R6 whisker]; };
@@ -9109,16 +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]; };
@@ -9128,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]; };
@@ -9136,7 +9306,7 @@ in with self; {
   fdasrvf = derive2 { name="fdasrvf"; version="1.9.7"; sha256="06kq9rlszydr55sg17yybwa89qd4d1826jyw4kmx4aligx7ycqq6"; depends=[coda doParallel fields foreach lpSolve Matrix matrixcalc mvtnorm Rcpp RcppArmadillo testthat tolerance viridisLite]; };
   fdatest = derive2 { name="fdatest"; version="2.1"; sha256="0zdnmssir5jz2kbfz4f4xshjfv4pivqx7cbh2arlx6ypkjrjws8n"; depends=[fda]; };
   fdcov = derive2 { name="fdcov"; version="1.1.0"; sha256="0savsgcifcjjqrmbpn6m30gncq5iigqxpb19l710wlx8nm98svjh"; depends=[corrplot matlab]; };
-  fddm = derive2 { name="fddm"; version="0.4-0"; sha256="04fccbgplx4gv4qcmkxps7nhfl477ga7ljdv9ff3fmmp27p7w5iq"; depends=[Rcpp]; };
+  fddm = derive2 { name="fddm"; version="0.4-1"; sha256="1mwi4xlklhwmmrw5zyhz37k0kzda2d4md5qjnrhn4q9kp24akljb"; depends=[Rcpp]; };
   fdistr = derive2 { name="fdistr"; version="0.1.0"; sha256="1i9nq4jmszbmwk4m6jfn7rifsn7aay40cj6kz23b9ihj3phqffi8"; depends=[dplyr ggplot2 magrittr usethis]; };
   fdm2id = derive2 { name="fdm2id"; version="0.9.6"; sha256="14bln0vx3qjgqb27dpl0fcd60bk42bha75ki6lkn4w1hrhcd1rr8"; depends=[arules car caret class cluster e1071 FactoMineR flexclust fpc glmnet ibr irr kohonen leaps MASS mclust mda meanShiftR nnet pls questionr randomForest ROCR rpart Rtsne SnowballC stopwords text2vec wordcloud xgboost]; };
   fdq = derive2 { name="fdq"; version="0.12"; sha256="198nsyzv0ni2mjx12wik58c7z5vrc1mfk80k3iv94dz1iq9fprqf"; depends=[data_table Fgmutils ggplot2 randomcoloR sqldf]; };
@@ -9160,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]; };
@@ -9170,12 +9340,12 @@ 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]; };
   ffscrapr = derive2 { name="ffscrapr"; version="1.4.7"; sha256="1qfclfvz1xa9mamn9rjmwyrrpsj8cr6ri5040g2gfxjag0by5n21"; depends=[cachem checkmate dplyr glue httr jsonlite lifecycle magrittr memoise nflreadr purrr rappdirs ratelimitr rlang stringr tibble tidyr]; };
-  ffsimulator = derive2 { name="ffsimulator"; version="1.1.0"; sha256="0mzas3hx6nj2q2lidkmrnh3mfz8w0s9r58j7vy39sfaq8h9qqyly"; depends=[checkmate cli data_table ffscrapr glue magrittr nflreadr Rglpk rlang tidytable]; };
+  ffsimulator = derive2 { name="ffsimulator"; version="1.2.0"; sha256="134qcvi698ynrf3c1pg4mfd5hf2jv4x5qh1jsldfy1fhmrnaxj81"; depends=[checkmate cli data_table ffscrapr glue magrittr nflreadr Rglpk rlang tidytable]; };
   ffstream = derive2 { name="ffstream"; version="0.1.6"; sha256="036ikhah4y85khgfmvxwsn3vavvw1is8i9k2lw474wxlh4cxa3kd"; depends=[Rcpp]; };
   fftw = derive2 { name="fftw"; version="1.0-6.1"; sha256="1s16r8qr1w85k5i0wfj4gc3cnwqg3yx2nbk9mcfb3j95jx7jphzz"; depends=[]; };
   fftwtools = derive2 { name="fftwtools"; version="0.9-11"; sha256="0zrchp4l0jdbir2gibjf00x225y9giqk80zvqmr2yyvc12lwkw7i"; depends=[]; };
@@ -9194,14 +9364,14 @@ 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]; };
   filelock = derive2 { name="filelock"; version="1.0.2"; sha256="00ql5fw1hidpfnm0szaavf43ahmsnvdbi8i5lr1nrcc90yaiaadc"; depends=[]; };
@@ -9212,8 +9382,8 @@ in with self; {
   filling = derive2 { name="filling"; version="0.2.3"; sha256="17vk0pndsc8xhgp4zy5dfyc36pzk2hm5zk6xijdy4xaf7k5j4wls"; depends=[CVXR nabor Rcpp RcppArmadillo Rdpack ROptSpace RSpectra]; };
   fillr = derive2 { name="fillr"; version="1.0.0"; sha256="1gx1ihp8j90ywmm6mmmfq4jd6apxawk9s5dfw3jq0wm1c290zqpv"; depends=[]; };
   filterNHP = derive2 { name="filterNHP"; version="0.1.2"; sha256="0kk6548nr5786ywa83v8by4c1n7ljh9sy4fshpfqizp49fv9zv22"; depends=[data_tree rclipboard shiny shinyBS shinyjs shinyWidgets]; };
-  finalfit = derive2 { name="finalfit"; version="1.0.3"; sha256="07pniw0w9s0czxk82pw1a7j6br52fvq3yxrx2n61yyqs5cd89ymv"; depends=[bdsmatrix boot broom dplyr forcats GGally ggplot2 gridExtra lme4 magrittr mice pillar pROC purrr scales stringr survival tidyr]; };
-  finbif = derive2 { name="finbif"; version="0.6.2"; sha256="1y4srrybiin16xgq1a2y80a84yq5nad4iv1a3xpcniixgk79k6l8"; depends=[digest httr jsonlite lubridate lutz]; };
+  finalfit = derive2 { name="finalfit"; version="1.0.4"; sha256="1cfyl8w488v8ax15jb4xjddd4r8ilhljhamzk3kjbdy8039l0sa4"; depends=[bdsmatrix boot broom dplyr forcats GGally ggplot2 gridExtra lme4 magrittr mice pillar pROC purrr scales stringr survival tidyr]; };
+  finbif = derive2 { name="finbif"; version="0.6.3"; sha256="0xpa8k66vgglzf860qw0lyyck63lxgi9zvmms0fzr35fxcfcmna3"; depends=[digest httr jsonlite lubridate lutz]; };
   finch = derive2 { name="finch"; version="0.4.0"; sha256="0q7riaxms460c6z2gb8i0q4pb348bnvry46bjd7pb9mh8fnl1i8b"; depends=[data_table digest EML hoardr xml2]; };
   findInFiles = derive2 { name="findInFiles"; version="0.3.0"; sha256="1cnnx9ky1pd0aj3bf67z75b0dgmdgj90w0yjxlrny42a7iqnyw4n"; depends=[crayon htmlwidgets stringi stringr tibble vctrs]; };
   findInGit = derive2 { name="findInGit"; version="0.1.1"; sha256="1j5mvp34nsczmvp5jx7c9gp20q7aqaxrqm2zvj8aq31rc8mfaxk9"; depends=[crayon htmlwidgets stringr]; };
@@ -9225,24 +9395,25 @@ 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.0.0"; sha256="118gir8gnwip2hzf4q4vv96rkw050qmb0kv3hq2cwlfscbrwza9f"; depends=[]; };
+  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]; };
-  firebase = derive2 { name="firebase"; version="0.2.1"; sha256="0w7mq0kkjvawvw0gss95j43kjzircs2j43zdkaly6v6qnpzgc036"; depends=[cli jose openssl R6 shiny]; };
+  firebase = derive2 { name="firebase"; version="1.0.0"; sha256="0bva63wkawvw74r3kj0lagx3bkq7yx4lzjafhxa2jk9xrnsg6gmw"; depends=[base64enc cli htmltools jose jsonlite openssl R6 shiny]; };
   firebehavioR = derive2 { name="firebehavioR"; version="0.1.2"; sha256="10krny60dkpgwjjnriap91qmrnfq1rl5ck4ynf4h6x016bv0m374"; depends=[ggplot2]; };
   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]; };
@@ -9257,9 +9428,9 @@ 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"; sha256="0z7ji8yzp4pj76ad64l7ivknkbi82ijx6abd3a18wicqhrh433sj"; 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]; };
   fixest = derive2 { name="fixest"; version="0.10.1"; sha256="0gjzgchlcx8vmfbqg80xwj6azna5l7dw9l31bcybd2fg817mixvm"; depends=[dreamerr nlme numDeriv Rcpp sandwich]; };
   fizzbuzzR = derive2 { name="fizzbuzzR"; version="0.1.1"; sha256="119gbi9y4n8r52hk9vj7zf795dv9xnk7lnngljjcd7ydnhygwd4h"; depends=[]; };
@@ -9279,6 +9450,7 @@ in with self; {
   flatr = derive2 { name="flatr"; version="0.1.1"; sha256="10l98a3f57wahfpdqxj70r25zfhk4vzzd014pdnriy458yrfd7rw"; depends=[dplyr magrittr tibble]; };
   flattabler = derive2 { name="flattabler"; version="1.2.0"; sha256="156q3af7bmqcaxvl35634ph8dzs6gdjxqqkgwi214kj2pywpqg2a"; depends=[dplyr readxl stringr tibble tidyr]; };
   flatxml = derive2 { name="flatxml"; version="0.1.1"; sha256="1qsiqi8aszk9djlhysf6lcm41dq4pcw5jv6mdvb1mgxni7g3sgfv"; depends=[crayon httr RCurl xml2]; };
+  fledge = derive2 { name="fledge"; version="0.1.0"; sha256="151iwb3p45dnph69wipidnczhzy0b073gsphbjgaii5if86w9cmx"; depends=[cli desc enc gert purrr rematch2 rlang tibble usethis whoami withr]; };
   flexCWM = derive2 { name="flexCWM"; version="1.92"; sha256="1fxwq12mki10ikf5lyh1pb58svfzs4llg68v4d9iznia8aa0grhq"; depends=[ContaminatedMixt mclust numDeriv statmod]; };
   flexclust = derive2 { name="flexclust"; version="1.4-0"; sha256="0x7wxk8y46ndyz6fdacym0rd6p9wh3pcfr28chjcg5d7fm849zl2"; depends=[class lattice modeltools]; };
   flexdashboard = derive2 { name="flexdashboard"; version="0.5.2"; sha256="1bh759llp15fxrx2rwvxd8p3w84vjmkid32ism7zg49a127fjib4"; depends=[htmltools htmlwidgets jsonlite knitr rmarkdown shiny]; };
@@ -9292,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]; };
@@ -9319,20 +9491,21 @@ 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]; };
   fmpcloudr = derive2 { name="fmpcloudr"; version="0.1.5"; sha256="07fvmrprv0pka1wgp5ygcvv86jvn3h30xxkx44ssin15hfmank69"; depends=[dplyr httr jsonlite lubridate magrittr tidyr]; };
   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.1"; sha256="09pq7p7i6vkq9av7l7x9hicl9sqh7xn96f9pac117hy6z852jvi2"; depends=[]; };
-  fmtr = derive2 { name="fmtr"; version="1.5.4"; sha256="0xrl22f02q2m66k9h1134iwdmzhvk0ni9dfrgzpi8rnfdf4svx4i"; depends=[crayon Rcpp tibble]; };
+  fmsb = derive2 { name="fmsb"; version="0.7.2"; sha256="1ylwj4385wg7rymx0m3kayyvrbil89wxb7phdl0fvi0xq2krkzhb"; depends=[]; };
+  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=[]; };
@@ -9345,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]; };
@@ -9368,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]; };
@@ -9379,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=[]; };
@@ -9413,7 +9588,7 @@ in with self; {
   frailtyEM = derive2 { name="frailtyEM"; version="1.0.1"; sha256="0ajqmn8353va8k3idsl90xsrhpdqarfmvg84d4kwayxlqy6dmbb0"; depends=[expint ggplot2 magrittr Matrix msm numDeriv Rcpp survival tibble]; };
   frailtyHL = derive2 { name="frailtyHL"; version="2.3"; sha256="115iv1d2c9mvviick8b24bn6kdbsvnf21nvfjm9a8dk0x07hrv5g"; depends=[cmprsk Matrix survival]; };
   frailtySurv = derive2 { name="frailtySurv"; version="1.3.7"; sha256="0jyqnj4mscfcjg38a04246xfggnjgwdgwd7w4krz6wa1c3igzx0f"; depends=[ggplot2 nleqslv numDeriv Rcpp reshape2 survival]; };
-  frailtypack = derive2 { name="frailtypack"; version="3.4.0"; sha256="0i46jrgsq01j79ha76j29j26ias1hxjb97rf0cp0yxbc7xnaz6hi"; depends=[boot doBy MASS nlme rootSolve shiny statmod survC1 survival]; };
+  frailtypack = derive2 { name="frailtypack"; version="3.5.0"; sha256="0yw08x6ss1af19zrm29i509gkjwmphg1hidxdfwkfgvrvcl4fnxz"; depends=[boot doBy MASS nlme rootSolve shiny statmod survC1 survival]; };
   frair = derive2 { name="frair"; version="0.5.100"; sha256="1j557dqvc5xiz7xbl4h7vp55pc3hly8ci01qy36p02vlxhzf4hj3"; depends=[bbmle boot lamW]; };
   frambgrowth = derive2 { name="frambgrowth"; version="0.1.0"; sha256="1xmy1zxp7aa2n8frlxhn1bl41zda1jldvvxb3q41yam3pslc8m1q"; depends=[]; };
   framecleaner = derive2 { name="framecleaner"; version="0.2.0"; sha256="1lclxjds59i1mhc8mzmgy5f7yhqwv72ylidpfvzjgslf45sjk5lp"; depends=[bit64 dplyr fastDummies forcats fs janitor lubridate magrittr purrr readr rio rlang rlist rstudioapi stringr tibble tidyselect vroom]; };
@@ -9422,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]; };
@@ -9430,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]; };
@@ -9440,7 +9618,7 @@ in with self; {
   frequentistSSD = derive2 { name="frequentistSSD"; version="0.1.0"; sha256="0r2vy8n6d8c2vdijd0cyg9vv4m0w0a6m2piblky48c1wm2qznfd2"; depends=[survival]; };
   fresh = derive2 { name="fresh"; version="0.2.0"; sha256="1787mm6w2s5x9scxy7r9cb77rgpmy4ngwkn4z8g3gs48mrab4bd9"; depends=[htmltools rstudioapi sass shiny]; };
   friends = derive2 { name="friends"; version="0.1.0"; sha256="164p9g07vq3xs2lgg250yvzca4b0mp81pqbnjfdkzcqh5hmahsan"; depends=[tibble]; };
-  fritools = derive2 { name="fritools"; version="2.4.0"; sha256="0pj8816y5gdks95v4mnd1ncii7hiqbsh1g5b1795dq5qhfc1xp8l"; depends=[]; };
+  fritools = derive2 { name="fritools"; version="3.1.0"; sha256="0yfhz73v7zp6zrq8pyl57j8nmdaqx1giwyssx5l73p0jqjc6d528"; depends=[]; };
   frm = derive2 { name="frm"; version="1.2.2"; sha256="1dl0vca9r2dams99sc13pfpi0b3yb02x59f4c1jz07zz005c8l23"; depends=[]; };
   frmhet = derive2 { name="frmhet"; version="1.1.3"; sha256="07sgsfhzrci8g1b0gicjfca1mgd8ppfqpkpp4q9bdxnjvdvlf45s"; depends=[]; };
   frmpd = derive2 { name="frmpd"; version="1.1.0"; sha256="0irgqdr0vr8k408lsxcrjkjbjvqvmy5mnjw9c1ghs86isrp5mciz"; depends=[]; };
@@ -9450,9 +9628,9 @@ 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.0"; sha256="15rqc3ljmcmgfvadj1j1kq7kvibagxic8sgplhlcdqqxax9idprn"; depends=[]; };
+  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]; };
   fsbrain = derive2 { name="fsbrain"; version="0.5.2"; sha256="1vqj8x6wsaz89dl58nqhmz9vla0vjzdn8gzppkfggb44i2q1xm55"; depends=[data_table fields freesurferformats magick pkgfilecache reshape rgl squash viridis]; };
   fscaret = derive2 { name="fscaret"; version="0.9.4.4"; sha256="18fhyfl3f8syyc3g937qx87dmwbv7dray6b97p1s6lnssiv61gsw"; depends=[caret gsubfn hmeasure]; };
@@ -9462,13 +9640,12 @@ 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.2.0"; sha256="1nlwhck6f0llr6yci8y55dzcsdsi2yd758cmf4snjzhqm06kzrby"; depends=[dplyr flextable jsonlite magrittr purrr rlang rmarkdown stringr tibble tidyr tidyselect vctrs xfun yaml]; };
+  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]; };
   ftnonpar = derive2 { name="ftnonpar"; version="0.1-88"; sha256="0df9zxwjpfc939ccnm1iipwhpf76b34v0x74nsi1mm1g927dfl0i"; depends=[]; };
   ftrCOOL = derive2 { name="ftrCOOL"; version="2.0.0"; sha256="0jy0dhkf7hlrriz32abp0h52fw92i5k8x25bjqlzd0khyv2vhj0i"; depends=[]; };
   fts = derive2 { name="fts"; version="0.9.9.2"; sha256="08pwhi19db173d4nsk5rl8xa8qmaddj4bn3cjxb8ql4kny59i57q"; depends=[BH zoo]; };
@@ -9496,6 +9673,7 @@ in with self; {
   fundiversity = derive2 { name="fundiversity"; version="0.2.1"; sha256="11gz1h7mlb0880w3cv5sb4h6qpfs6az3vfhd3527s6sw43n87l29"; depends=[future_apply geometry Matrix vegan]; };
   fungible = derive2 { name="fungible"; version="1.99"; sha256="1hjngz3jbrcx0ri7054rbhcnhb3d1yf7mlb9m1ivdmpih8f5c3vj"; depends=[clue GPArotation lattice MASS mvtnorm nleqslv Rcsdp RSpectra]; };
   funique = derive2 { name="funique"; version="0.0.1"; sha256="0p9k4nxjns1xid9vmslkaap0hm6yq6pbyvylgygd808if4q1z8k6"; depends=[]; };
+  funmediation = derive2 { name="funmediation"; version="1.0.1"; sha256="1h4jic73f7ywk2g1mkg188q0bq6x8sn9sm7jhr8gvrnmh167ajw7"; depends=[boot refund tvem]; };
   funnelR = derive2 { name="funnelR"; version="0.1.0"; sha256="143lb048krgh8rkkz6sm8h464kdy62w29fvvyar795vqi10bb5fy"; depends=[ggplot2]; };
   funneljoin = derive2 { name="funneljoin"; version="0.1.0"; sha256="17g1mvq9z5m29r0v2r2nn8980j515jamnpwvvnzj83vk84bz94rq"; depends=[broom dplyr glue magrittr purrr rlang tibble tidyr]; };
   funprog = derive2 { name="funprog"; version="0.3.0"; sha256="1n064gf03z70iapwscrrzhl71qh7cgnb3ch1r04h3b944b4yiain"; depends=[]; };
@@ -9505,9 +9683,9 @@ in with self; {
   funtimes = derive2 { name="funtimes"; version="8.1"; sha256="08vz05db6krrcppk0fd05n366isrqrmgwbp6y6c0n9rzbgav511k"; depends=[dbscan FNN igraph Jmisc Kendall Rdpack TDA]; };
   furniture = derive2 { name="furniture"; version="1.9.10"; sha256="02dqs0b0vpn2chqhjylanq9xdrj2hw7ynd6xv94gkfk8syz3dqda"; depends=[dplyr knitr]; };
   furrr = derive2 { name="furrr"; version="0.2.3"; sha256="001p2yhznrpnrjvdcmf2h3wpgdnw01wnqgid7wbq8bhavhi3888a"; depends=[ellipsis future globals lifecycle purrr rlang vctrs]; };
-  fusen = derive2 { name="fusen"; version="0.2.4"; sha256="1cbcr67y31xjcx9lqf1x1v6fb5lb1dfx89804ppaplya0xwpl81g"; depends=[attachment cli desc glue here magrittr parsermd rcmdcheck roxygen2 stringr tibble tidyr usethis]; };
+  fusen = derive2 { name="fusen"; version="0.3.0"; sha256="11rsk5yzdzdak24knpxp38p83j0qhbhqc5skfvpmdwncyzf6fv5r"; depends=[attachment cli desc devtools glue here magrittr parsermd roxygen2 stringr tibble tidyr usethis]; };
   fuser = derive2 { name="fuser"; version="1.0.1"; sha256="17lsfpd9hdichj3wflac896zyjbq7a8w2gmlgj8nbgg80f646fgr"; depends=[glmnet irlba Matrix Rcpp RcppEigen RSpectra]; };
-  fusionchartsR = derive2 { name="fusionchartsR"; version="0.0.2"; sha256="1g8vhdikrg8p5clvh9i2xg67b7zn1in0k4hw1s4rdbxsqx0pz6py"; depends=[caret htmlwidgets jsonlite magrittr pROC reshape2 shiny survival]; };
+  fusionchartsR = derive2 { name="fusionchartsR"; version="0.0.3"; sha256="09l5kckgkp2l0zvfnqhbzy65bi23aavas9m74nddhjh6di8xndh8"; depends=[htmlwidgets jsonlite magrittr shiny]; };
   fusionclust = derive2 { name="fusionclust"; version="1.0.0"; sha256="1h03nlk4gnz4j5h2h5bxazkka2qq983h7nglm1ghzqvbqjk6sv37"; depends=[bbmle]; };
   futile_logger = derive2 { name="futile.logger"; version="1.4.3"; sha256="1r3nayk0z9n1svbf8640vw90dal5q07nkn0gv4bnva3pbzb352sy"; depends=[futile_options lambda_r]; };
   futile_options = derive2 { name="futile.options"; version="1.0.1"; sha256="0w15agpi88y3qkv6fl72zy2pzyplzgvnj41a4ixhg64mw1sck73s"; depends=[]; };
@@ -9522,15 +9700,15 @@ 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]; };
   fuzzywuzzyR = derive2 { name="fuzzywuzzyR"; version="1.0.5"; sha256="1g73xivxyh5fvppccgnxhgar6jsl6zsr2djkg0bhh10i633l56ia"; depends=[R6 reticulate]; };
   fwi_fbp = derive2 { name="fwi.fbp"; version="1.7"; sha256="1wk9cr0kk6zkbf111bv87n7b1wwx1qrsbjxydvbjvy8bgz0nfa62"; depends=[]; };
-  fwildclusterboot = derive2 { name="fwildclusterboot"; version="0.5.1"; sha256="0qf5bk6fl4x5fdkld63dsybi6929z5pg98valradcg01qm7zkqrp"; depends=[collapse dqrng dreamerr Formula generics gtools Matrix Matrix_utils Rcpp RcppEigen]; };
+  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=[]; };
@@ -9556,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]; };
@@ -9580,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]; };
@@ -9600,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=[]; };
@@ -9620,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.1"; sha256="0d6b8kxh4pdkr0d6znnlkrqhnlmwr45malajjvvq9nrlhlpwz3vp"; 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]; };
@@ -9655,7 +9834,7 @@ in with self; {
   gcookbook = derive2 { name="gcookbook"; version="2.0"; sha256="11g1q187l4j31b6cdzdx5z3s14z3s09l7ynl36pzzn9j19l8cmrc"; depends=[]; };
   gdalUtilities = derive2 { name="gdalUtilities"; version="1.2.0"; sha256="0nxnw9azlml13a6rqhxjrwq8v7fb2pjcb07dp5r2p5bzyzvldm7a"; depends=[sf]; };
   gdalUtils = derive2 { name="gdalUtils"; version="2.0.3.2"; sha256="0krapdy50nd5dvcdflz39dzxpig3zklng3hgxavqg2nvwazalvsc"; depends=[foreach R_utils raster rgdal sp]; };
-  gdalcubes = derive2 { name="gdalcubes"; version="0.5.0"; sha256="074vidv9ccklbvfhfyzwr0pfqdvh9bdbh9xwlrd6bxbd0q4sq8gk"; depends=[jsonlite ncdf4 Rcpp RcppProgress]; };
+  gdalcubes = derive2 { name="gdalcubes"; version="0.5.1"; sha256="15d17if1513pylqbnv2yqy3i9p6m7x8frw5kjqx1jil9xck55iil"; depends=[jsonlite ncdf4 Rcpp RcppProgress]; };
   gdata = derive2 { name="gdata"; version="2.18.0"; sha256="0zwdj7lscgxr8r62ii8hbdh4mb7sa9w4f5nv32zzrxdvymcpya2b"; depends=[gtools]; };
   gde = derive2 { name="gde"; version="0.2.0"; sha256="1xrncdmidzz9dv51bnbcrdh92im0lr97xi4rgb30p5sfxc4axml9"; depends=[data_table dplyr DT ggplot2 httr jsonlite leaflet progress R_utils readr RSQLite shiny shinycssloaders shinyWidgets stringr XML]; };
   gdiff = derive2 { name="gdiff"; version="0.2-2"; sha256="0hg9mf3qyg19wwpiv3lz2z1000jw73s2pwb8y8hjgpv69wwsskfi"; depends=[magick pdftools]; };
@@ -9671,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=[]; };
@@ -9697,21 +9877,21 @@ in with self; {
   gender = derive2 { name="gender"; version="0.6.0"; sha256="18xiaif6iiwjvnjk611sfz7qi5r7mbi73dcrgrkzkjly8zygp42k"; depends=[dplyr httr jsonlite remotes]; };
   genderBR = derive2 { name="genderBR"; version="1.1.2"; sha256="19n3d6ps0wswq1bxgfqifq26svqf8q696im14wfglrl731mr0qbm"; depends=[dplyr httr jsonlite magrittr purrr tibble]; };
   gendist = derive2 { name="gendist"; version="2.0"; sha256="0rs0sn1sb6j3pk2xncix04a093awlm2nw70g0rjhr7dlzmigspgb"; depends=[]; };
-  geneExpressionFromGEO = derive2 { name="geneExpressionFromGEO"; version="0.8"; sha256="018f85kj6n5r74r4x9s5444s1c4xan2blpzhwz7yvchis0r4p9y4"; depends=[annotate Biobase BiocManager GEOquery markdown R_utils xml2]; };
+  geneExpressionFromGEO = derive2 { name="geneExpressionFromGEO"; version="0.9"; sha256="15dvx2f4nsmw1mgjfpcdcfnx8335fd043xb4hdnqcbjzf9h228bp"; depends=[annotate Biobase BiocManager GEOquery markdown R_utils xml2]; };
   geneHummus = derive2 { name="geneHummus"; version="1.0.11"; sha256="1m6yyjsvmn3w87cw4da8js5vi74k5y739gxdx1yscx1n50bc3m34"; depends=[curl dplyr httr rentrez stringr]; };
   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.0"; sha256="1zz6lzhryi5vryvbnpzz050y47lxxcqcv8wgrwk6nfk1i3xajkkz"; depends=[lattice meboot np psych xtable]; };
+  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.1.0"; sha256="0d37g33xkaym49zq6aqv4xj40hm25qbr7y080vka8nid7n29y7f7"; depends=[agridat 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]; };
@@ -9743,11 +9923,10 @@ 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.4"; sha256="0ipihd4v0x2irx1kwryjh52c0yrpdcx67qvv2xck5c4ka51j33sb"; depends=[crul curl data_table httr readr 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=[]; };
-  geodata = derive2 { name="geodata"; version="0.3-2"; sha256="1hdjbj5c64i7fx90cg9aamy36cbrgd59gvcyjsznl4akhwd50nn2"; depends=[terra]; };
+  geodata = derive2 { name="geodata"; version="0.3-5"; sha256="0nf2wkj16dn7zp9rwlv4d9hpwsz589g2c9firdmfg6sg7wf488bm"; depends=[terra]; };
   geodetector = derive2 { name="geodetector"; version="1.0-4"; sha256="00zyx68jjl4mldah8mxfvwvv5yfkd4f1s2rlx6fsw6h8y2cwzj3l"; depends=[maptools rgdal rgeos sp]; };
   geodimension = derive2 { name="geodimension"; version="1.0.0"; sha256="0mh16cdac7vi8zv98g3s06109fpadan441zd80x9yfsypx75sdz0"; depends=[dplyr generics magrittr pander readr rlang sf tibble tidyr tidyselect]; };
   geodist = derive2 { name="geodist"; version="0.0.7"; sha256="07mzxf4ngh34m4830sqnndhbdcvhgarpp46c6hmxsxwky6x5kp5k"; depends=[]; };
@@ -9757,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]; };
@@ -9765,18 +9944,19 @@ in with self; {
   geojsonio = derive2 { name="geojsonio"; version="0.9.4"; sha256="13lzc5hcs84gs1qnyi7lvy3yq1jz68jibmnww04lb91920msdxjv"; depends=[crul geojson geojsonsf jqr jsonlite magrittr maptools readr rgeos sf sp V8]; };
   geojsonlint = derive2 { name="geojsonlint"; version="0.4.0"; sha256="0l6xlf6l9shyvdd2ghkhcgbkxpmycapfpxakzbvd92j1x8dmr9az"; depends=[crul jsonlite jsonvalidate V8]; };
   geojsonsf = derive2 { name="geojsonsf"; version="2.0.1"; sha256="1gxzi0wqmrif6bkw7z21aa2j8i0bd7a5nyyrkjiybv7v7d1l1ps2"; depends=[geometries jsonify rapidjsonr Rcpp sfheaders]; };
-  geoknife = derive2 { name="geoknife"; version="1.6.5"; sha256="1w1mznwpvx4z3qi3g4b83qkrblb2sab7zz5a4r0l8japlwhff9nn"; depends=[curl httr progress sp whisker xml2]; };
-  geomander = derive2 { name="geomander"; version="1.0.8"; sha256="1zkiglf7xmasd4f225xx10jlqsq6lx4skrsh47pd5r4hayvwvlby"; depends=[dplyr ggplot2 magrittr nngeo Rcpp readr sf spdep stringr tibble tidycensus tidyr tigris]; };
+  geoknife = derive2 { name="geoknife"; version="1.6.6"; sha256="0g4aia9v9f76njpjnd0silx7mqapycp2w5akyipwdag9gyizps61"; depends=[curl httr progress sp whisker xml2]; };
+  geomander = derive2 { name="geomander"; version="2.0.2"; sha256="1kpqsv21avw07bxd77galmwv2a8pkkvva8mzx42k3qg6c9qfaj6k"; depends=[censable cli dataverse dplyr geos ggplot2 magrittr Rcpp readr sf stringr tibble tidyr tigris]; };
   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-4"; sha256="00jlp5jkb88n1rvbw6hwvjzmlfzg66hsnqnkfyflxjncbpz4fg1x"; 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]; };
@@ -9790,7 +9970,6 @@ in with self; {
   geospt = derive2 { name="geospt"; version="1.0-2"; sha256="1814nn0naxvbn0bqfndpmizjbqcs6rm87g2s378axkn6qpii4bh8"; depends=[fields genalg gsl gstat limSolve MASS minqa plyr sgeostat sp TeachingDemos]; };
   geosptdb = derive2 { name="geosptdb"; version="0.5-0"; sha256="0m0dlazhq2za71mi3q8mz2zvz7yrmda7lha02kh9n820bx89v33z"; depends=[FD fields geospt gsl limSolve minqa sp StatMatch]; };
   geostats = derive2 { name="geostats"; version="1.3"; sha256="1k999b8dgwvajialsbijscndvbbm4hvvdlmycn8xwbbiqdz074ms"; depends=[]; };
-  geostatsp = derive2 { name="geostatsp"; version="1.8.6"; sha256="1ciyw84y5zbwsfqvl5dhq8swfpkqcmzhhvdm9hr5rhj3497sls9j"; depends=[abind Matrix numDeriv raster sp]; };
   geotech = derive2 { name="geotech"; version="1.0"; sha256="18s7w6h1svc4n1hcgj5njfkf3nflkc53cdwsq5112p3442rlz33f"; depends=[]; };
   geotools = derive2 { name="geotools"; version="0.1"; sha256="0d0vf9dvrrv68ivssp58qzaj8vra26ms33my097jmzmgagwy1spd"; depends=[]; };
   geotoolsR = derive2 { name="geotoolsR"; version="1.1"; sha256="162s37j7wh14h91b6acn453bvgpk3cakfi7mgrdvr5bjdqqn7j7v"; depends=[dplyr geoR ggplot2 tidyr]; };
@@ -9802,18 +9981,18 @@ in with self; {
   gepaf = derive2 { name="gepaf"; version="0.1.1"; sha256="0n36w40jrq3qkgmhz9wrnhp6fczw7bm96g950sa4nq33872xhfgm"; depends=[bitops]; };
   gerbil = derive2 { name="gerbil"; version="0.1.5"; sha256="1rvf7z7zj04p2faj41fxxjs20bd3ghr6fbzkkapcx48fr4j9skj2"; depends=[DescTools lattice MASS mvtnorm openxlsx pbapply truncnorm]; };
   germinationmetrics = derive2 { name="germinationmetrics"; version="0.1.5"; sha256="1gazx0k4nhb9xsyqi0zxdzg9a0kfvf7g1gka7lgaj2f3bpyk0gd3"; depends=[broom data_table ggplot2 ggrepel mathjaxr minpack_lm plyr Rdpack]; };
-  gert = derive2 { name="gert"; version="1.4.3"; sha256="06g3gy4260y4f43zgahamckisjs8dvl06rb0kyinrwlm675dqppm"; depends=[askpass credentials openssl rstudioapi sys zip]; };
+  gert = derive2 { name="gert"; version="1.5.0"; sha256="1bm2fjyh527y6x0dr5cs8h31jgl1fkk09ljzj1h37d0c7f4k1hwz"; depends=[askpass credentials openssl rstudioapi sys zip]; };
   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.1"; sha256="0s9vlh47v4dz8dwq5v6j7vbcs01g701ci1qkb0b26m7zksb4ra58"; depends=[BH bigmemory dplyr Matrix Rcpp RcppEigen RcppThread]; };
-  gestalt = derive2 { name="gestalt"; version="0.1.8"; sha256="1cb04rd3yvkd47byynrn0pq6brlsi2z2iavh4gfrwmqyvks34k51"; depends=[rlang]; };
+  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.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.2.0"; sha256="0w7kl3jm1n5pqbr10r81zzjk2lw5zvs22igsx807f6ldmq8knn7d"; depends=[DataCombine geeM magrittr nnet rsample tibble tidyr tidyselect]; };
+  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=[]; };
@@ -9825,13 +10004,13 @@ 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]; };
-  gfilogisreg = derive2 { name="gfilogisreg"; version="1.0.1"; sha256="1484scn3ckh5cbazwpdspllip9pvjzp75qjg68ip1zbckz9ll6ji"; depends=[BH EigenR lazyeval rcdd Rcpp RcppArmadillo roptim spatstat spatstat_geom]; };
+  gfilogisreg = derive2 { name="gfilogisreg"; version="1.0.2"; sha256="1825xaz4xjnhpmfrim6c9sfr50wyvpbmbnzbvvjqrn8d2gwcmim6"; depends=[BH EigenR lazyeval rcdd Rcpp RcppArmadillo roptim spatstat spatstat_geom]; };
   gfoRmula = derive2 { name="gfoRmula"; version="0.3.2"; sha256="1pk1pzwc7zkvz9fjpd6lqymjashd9h5kvxx68v8lqi8ns3c0s477"; depends=[data_table ggplot2 ggpubr nnet progress stringr survival truncnorm truncreg]; };
   gfonts = derive2 { name="gfonts"; version="0.1.3"; sha256="0dbpw93pa3asjddl2f2ih7149mkjfz3kywmz2623mfl0sm1x5g71"; depends=[crayon crul glue htmltools jsonlite shiny]; };
   gfpop = derive2 { name="gfpop"; version="1.0.3"; sha256="16h0v2jcydn95yb4pkba808hn20darq532yp7djqx1issr1fwqjr"; depends=[Rcpp]; };
@@ -9839,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]; };
@@ -9858,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]; };
@@ -9869,7 +10051,7 @@ in with self; {
   ggdark = derive2 { name="ggdark"; version="0.2.1"; sha256="1w93g2j4g45x9s841v9zi18lxzda81ipa13fajqc6p9xk8frvgrf"; depends=[ggplot2]; };
   ggdemetra = derive2 { name="ggdemetra"; version="0.2.2"; sha256="1j0nwmv2acyrkpn230jj6yf5nnl40kpqdqaglrnrfqw5rp357krp"; depends=[ggplot2 ggrepel gridExtra RJDemetra]; };
   ggdendro = derive2 { name="ggdendro"; version="0.1.22"; sha256="0skbj487b6f6pj2iz4yq2b9gbgb39cv5dyzhdl3w7ay1k0s5z9ph"; depends=[ggplot2 MASS]; };
-  ggdist = derive2 { name="ggdist"; version="3.0.0"; sha256="08rkqagwx1673fyckv37fy7wf0yklsddpxbmx8k15v2rbfbac8d9"; depends=[distributional dplyr ggplot2 HDInterval rlang scales tibble tidyselect vctrs withr]; };
+  ggdist = derive2 { name="ggdist"; version="3.0.1"; sha256="0g8b3ipj0yk9ckf0f1d7lxhaw2x5rscga74mbi0hkfygsks1iafa"; depends=[distributional dplyr ggplot2 HDInterval rlang scales tibble tidyselect vctrs withr]; };
   ggdmc = derive2 { name="ggdmc"; version="0.2.6.0"; sha256="1gncv7npl548k3zd41x2gwg5qywn5rp6zb4i7ga78sy77mvi3x92"; depends=[coda data_table ggplot2 matrixStats Rcpp RcppArmadillo]; };
   gge = derive2 { name="gge"; version="1.7"; sha256="1lis0w4n0fns1fsl95p1pbvbqkb3vlwzb5pk5hqlzadjrnrs6gzw"; depends=[nipals reshape2]; };
   ggeasy = derive2 { name="ggeasy"; version="0.1.3"; sha256="0zp9jhm8vc1gpja5s6g92snd1jnskadafc226l51y8cps7lj8f6q"; depends=[ggplot2 rlang]; };
@@ -9883,17 +10065,18 @@ in with self; {
   ggfocus = derive2 { name="ggfocus"; version="1.0.0"; sha256="03q0rz7flm8sc8hrlkcm5fz66qiyxb8z8q4bh9dglhw0jc8q1fvb"; depends=[dplyr ggplot2 magrittr RColorBrewer rlang]; };
   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.13"; sha256="0qls8pyndrlwx75wzlc0xmk04qq263d7065r3d6kvay7haa4nm40"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
-  ggfun = derive2 { name="ggfun"; version="0.0.4"; sha256="07njcjcj212zxanq8x3nkh7mgvqmym08rx5s41rz9flhk9gkc9jr"; depends=[ggplot2 rlang]; };
+  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.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]; };
@@ -9902,7 +10085,7 @@ in with self; {
   gginference = derive2 { name="gginference"; version="0.1.3"; sha256="1r960cglnkii8xih4r1r7wd857jqn53f08zi9dnj54bpqrs374zx"; depends=[ggplot2 rlang]; };
   gginnards = derive2 { name="gginnards"; version="0.1.0-1"; sha256="1kgyrssmkyaqkahdqbc7abx955iyfls96kfamryhcarvbclkf2jx"; depends=[ggplot2 magrittr rlang stringr tibble]; };
   ggip = derive2 { name="ggip"; version="0.2.0"; sha256="0jfh6sr34nbqwqypx6qdjggl2q6qbmpl17cmy45v6zdr5phrzhrx"; depends=[dplyr ggplot2 glue ipaddress Rcpp rlang tidyr vctrs]; };
-  ggiraph = derive2 { name="ggiraph"; version="0.7.10"; sha256="13jbiwjjlyqlx38kb8v7ikva8kxii8mhsbynvshjy1ndil5kk8vb"; depends=[ggplot2 htmltools htmlwidgets purrr Rcpp rlang systemfonts uuid]; };
+  ggiraph = derive2 { name="ggiraph"; version="0.8.1"; sha256="0skdf7ga8a169xrbgljydk6yc18spi1m1s5604m576pkbc47zv87"; depends=[ggplot2 htmltools htmlwidgets purrr Rcpp rlang systemfonts uuid]; };
   ggiraphExtra = derive2 { name="ggiraphExtra"; version="0.3.0"; sha256="0q8ppixw5i1hpphmswpw6lvq7gx8rx4gfs2b8d31wbn32ziiv2rk"; depends=[dplyr ggiraph ggplot2 magrittr mgcv mycor plyr ppcor purrr RColorBrewer reshape2 scales sjlabelled sjmisc stringr tidyr]; };
   ggjoy = derive2 { name="ggjoy"; version="0.4.1"; sha256="012md2m0jqfcccb933j423m3ck31v3p0pd41gjxpyg9082y7ixyj"; depends=[ggplot2 ggridges]; };
   gglasso = derive2 { name="gglasso"; version="1.5"; sha256="12l0ac1n54z41yw7c00fm6q2mjmhp9blk4f8vp7q2my2xxwh1fmj"; depends=[]; };
@@ -9912,6 +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.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]; };
@@ -9937,21 +10121,21 @@ in with self; {
   ggplotgui = derive2 { name="ggplotgui"; version="1.0.0"; sha256="1yfglg5438mwyml845isimzma5q6824x19jka509ng49bzmf1za0"; depends=[ggplot2 haven plotly RColorBrewer readr readxl shiny stringr]; };
   ggplotify = derive2 { name="ggplotify"; version="0.1.0"; sha256="12mk3fa8fdjxj7xxz21jkr7h91w5wdgwjqhszcz1qffwsgb773qp"; depends=[ggplot2 gridGraphics yulab_utils]; };
   ggplotlyExtra = derive2 { name="ggplotlyExtra"; version="0.0.1"; sha256="1m2rhylpzj934gb50lxjp47rxz0kwl9i1p3n7w1rz4qi96pr5p1c"; depends=[ggplot2 plotly rlang]; };
-  ggpmisc = derive2 { name="ggpmisc"; version="0.4.4"; sha256="01dnr2a33zmgi0gjsxlcz4hp68b18xsi8z1lkhgcla5im59qf9xi"; depends=[dplyr generics ggplot2 ggpp lmodel2 lubridate MASS plyr polynom quantreg rlang scales splus2R tibble]; };
+  ggpmisc = derive2 { name="ggpmisc"; version="0.4.5"; sha256="036y3zhl9ndj5wlqy2nkp95vi7pjfpvf63ndsigramzad0fz0c98"; depends=[dplyr generics ggplot2 ggpp lmodel2 lubridate MASS plyr polynom quantreg rlang scales splus2R tibble]; };
   ggpointdensity = derive2 { name="ggpointdensity"; version="0.1.0"; sha256="0c9a14j3b0hvamqylhzldw2hjdxmfbllwahjkf3gg2rw337ld9iy"; depends=[ggplot2]; };
   ggpol = derive2 { name="ggpol"; version="0.0.7"; sha256="11xr26kwmkjjb51wm44ydv0vcinc6k6faqwx4s2faj4iwidlys1m"; depends=[dplyr ggplot2 glue gtable plyr rlang tibble]; };
   ggpolar = derive2 { name="ggpolar"; version="0.2.0"; sha256="0i795635yziz1qssrvnvpbar5fdp4vxfmzaaxdlw6cccf3qfnnvq"; depends=[ggplot2]; };
   ggpolypath = derive2 { name="ggpolypath"; version="0.1.0"; sha256="0g9zfal3vqcx16fi4abxm6l5sam475lk1f6bdik487wc2v0dkq83"; depends=[ggplot2]; };
-  ggpp = derive2 { name="ggpp"; version="0.4.2"; sha256="0m2wq9kqlxqxlzyx9fd0c4iw6qb7kpjrq7fqqa2kvwyj79vx6ahj"; depends=[dplyr ggplot2 glue gridExtra lubridate magrittr MASS polynom rlang scales stringr tibble xts zoo]; };
+  ggpp = derive2 { name="ggpp"; version="0.4.3"; sha256="175mk5zcnhwr8hvs1567x0k0vmq7g2qnq250pnxlwnv1wpmvrqhz"; depends=[dplyr ggplot2 glue gridExtra lubridate magrittr MASS polynom rlang scales stringr tibble xts zoo]; };
   ggprism = derive2 { name="ggprism"; version="1.0.3"; sha256="09dh0r8r5s61i5dbk6rswajc2vm7k8wvlqyvzq8wr160676lycjp"; depends=[digest ggplot2 glue gtable rlang scales tibble]; };
   ggpubr = derive2 { name="ggpubr"; version="0.4.0"; sha256="0x86lmghr25k8w90yrp360dn42dhp5cjvjpdiv2s2gxfn701xcmb"; depends=[cowplot dplyr ggplot2 ggrepel ggsci ggsignif glue gridExtra magrittr polynom purrr rlang rstatix scales tibble tidyr]; };
   ggpval = derive2 { name="ggpval"; version="0.2.4"; sha256="0zi3k79iy8pwnrgi9r9l4r9ghv1db9cxsagif8wsrlak4nr8akza"; depends=[data_table ggplot2]; };
   ggquickeda = derive2 { name="ggquickeda"; version="0.2.1"; sha256="1yql17wla60lg713cd4kr4906i4ngkvyg0s962zpri76g2z3acvv"; depends=[colourpicker dplyr DT Formula GGally ggbeeswarm ggplot2 ggpmisc ggpubr ggrepel ggstance gridExtra Hmisc markdown plotly quantreg rlang RPostgres scales shiny shinyFiles shinyjqui shinyjs stringr survival survminer table1 tidyr zoo]; };
-  ggquiver = derive2 { name="ggquiver"; version="0.3.1"; sha256="1wnp5jqy6myfax9jgpxm6crqc2aqkrv0l44ahw9ybiw9b8kwk9x4"; depends=[ggplot2]; };
+  ggquiver = derive2 { name="ggquiver"; version="0.3.2"; sha256="1nzqfm9byr0bmj0l6fdf8afymbhc6qjq5iff3wnng7gqqaa9s6dc"; depends=[ggplot2]; };
   ggraph = derive2 { name="ggraph"; version="2.0.5"; sha256="0m4n8iw2b9jk8hcy5blg5w59zsqcpsbv27wbw598dvljpafx8sp3"; depends=[digest dplyr ggforce ggplot2 ggrepel graphlayouts gtable igraph MASS Rcpp rlang scales tidygraph viridis withr]; };
   ggraptR = derive2 { name="ggraptR"; version="1.3"; sha256="1i6jp0n1sz5b4sv3d4h5624zhlknih2qp6p2m2ri6s3gsh1pl9zz"; depends=[dplyr ggplot2 pacman purrr shiny]; };
   ggrasp = derive2 { name="ggrasp"; version="1.0"; sha256="0lini89mcxl30kx38vny9896hdf4afrz5dgivbbikkb2yyfh2cq1"; depends=[ape bgmm colorspace ggplot2 mixtools]; };
-  ggrastr = derive2 { name="ggrastr"; version="1.0.0"; sha256="1glv6lsfxlrwbk7dxnpj9x2q0hhzkivfzasifqw5ry92gs7ld0g6"; depends=[Cairo ggbeeswarm ggplot2 png ragg]; };
+  ggrastr = derive2 { name="ggrastr"; version="1.0.1"; sha256="07sx5wlawfyb0zy5am2q1ajhkdym5r9ih47p57l8bv4dlc7ykml2"; depends=[Cairo ggbeeswarm ggplot2 png ragg]; };
   ggrepel = derive2 { name="ggrepel"; version="0.9.1"; sha256="1z5xyr5f4aryy0v1gzz9m8m4s5fzzwbrf0fxll1nbflr8xnr3yr9"; depends=[ggplot2 Rcpp rlang scales]; };
   ggridges = derive2 { name="ggridges"; version="0.5.3"; sha256="0bmlqy1p6rac90af97ffpdi6php7dblx66l2hcm8ljidgyqzmspm"; depends=[ggplot2 plyr scales withr]; };
   ggrisk = derive2 { name="ggrisk"; version="1.3"; sha256="02df3gcviax747d33v30m97jsazj7zdpjnhypfy38cg70yxidwg9"; depends=[cutoff do egg ggplot2 nomogramFormula reshape2 rms set survival]; };
@@ -9962,7 +10146,7 @@ in with self; {
   ggseg3d = derive2 { name="ggseg3d"; version="1.6.3"; sha256="1rpq2wgyyladz5nkngkvbf3cy4pw212dj1vfh7ksh0bxi7v1k6mh"; depends=[dplyr magrittr plotly scales tidyr]; };
   ggseqlogo = derive2 { name="ggseqlogo"; version="0.1"; sha256="13q6kcpxrqxqbji889fx63p0nsi08lk5yymkchig75r5k1d18ky1"; depends=[ggplot2]; };
   ggshadow = derive2 { name="ggshadow"; version="0.0.2"; sha256="08bnjl7zsa4kkjl4kadmwss84bngd36xqqly91lvv359qrzr9hzq"; depends=[ggplot2 glue rlang scales]; };
-  ggside = derive2 { name="ggside"; version="0.1.3"; sha256="0jmdw7n2lxb70h1zrb7gh291bxhmf9xb9n4bmmiclkpdvy9wim64"; depends=[ggplot2 glue gtable rlang scales]; };
+  ggside = derive2 { name="ggside"; version="0.2.0"; sha256="1x505zizv7hf65pxp9j5v92c3bchhxh9dsrkk1m55kwqqnsl5nza"; depends=[ggplot2 glue gtable rlang scales]; };
   ggsignif = derive2 { name="ggsignif"; version="0.6.3"; sha256="1ad774c7s7y4i00xd89lfigr9aybl94q98ch598k3rchanr4b1fa"; depends=[ggplot2]; };
   ggsn = derive2 { name="ggsn"; version="0.5.0"; sha256="04vnap83w06hbqqi5kgxmrdb3a13n5mcdk5lllymv6nrzvl84f2x"; depends=[ggmap ggplot2 maptools png sf]; };
   ggsoccer = derive2 { name="ggsoccer"; version="0.1.6"; sha256="1b3cx2ym3pknshrxmdgwzyx92c1hl6kyvxm2s8izlaa21z8v6z59"; depends=[ggplot2]; };
@@ -9971,8 +10155,8 @@ in with self; {
   ggspatial = derive2 { name="ggspatial"; version="1.1.5"; sha256="0mkgfpdgarnfvwx4g8x88b2afclknbrnidj9ib754dn4xbd7shfa"; depends=[abind ggplot2 glue rlang rosm scales sf tibble tidyr]; };
   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.2"; sha256="040bbdsfwal4dab2xpzgajxc0p5zsvd3jx56bxa7l59qdw24f0ha"; 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]; };
+  ggstar = derive2 { name="ggstar"; version="1.0.3"; sha256="0d96qsx0id82isaz62plkxwc8a6zcs19s1asyx316ciq9a325pr3"; depends=[ggplot2 gridExtra scales]; };
+  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]; };
@@ -9989,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]; };
@@ -10012,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.4"; sha256="1vfrxa9v39j661s5dv6p5kgrwyr1drhgi6nykpfcm34mvfsgwk83"; depends=[callr curl dplyr jsonlite markdown miniUI rstudioapi shiny shinyFiles usethis]; };
+  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]; };
@@ -10034,9 +10219,10 @@ in with self; {
   glba = derive2 { name="glba"; version="0.2"; sha256="0ckcz6v6mfbv34s8sp086czhb5l58sky79k84332rrz6wj47p3md"; depends=[]; };
   glca = derive2 { name="glca"; version="1.3.3"; sha256="1fgbwgn2v7l7ikwl88fkzvikhzb5hgwlawly50rml5w8jcfm0nkz"; depends=[MASS Rcpp]; };
   glcm = derive2 { name="glcm"; version="1.6.5"; sha256="13my6y9jqd86cg5n74p4b8mqbdgwnanxx4qf1rrhm5jxf6sa31qm"; depends=[raster Rcpp RcppArmadillo]; };
-  gld = derive2 { name="gld"; version="2.6.3"; sha256="0nln1vwzmjdsawln2v3jmyszvnn0203r47pdf8chvbr31hpvzjc2"; depends=[e1071 lmom]; };
+  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.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]; };
@@ -10051,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]; };
@@ -10065,13 +10253,14 @@ in with self; {
   glmpath = derive2 { name="glmpath"; version="0.98"; sha256="1jbiqqd1s93i941dhyyx50zlgwavhyjfw8bx13z4gz05rdvi4gn8"; depends=[survival]; };
   glmpathcr = derive2 { name="glmpathcr"; version="1.0.8"; sha256="00hbgp1kdbvihqvx03vv6gq32whrkcfq3n32bbj3cda85dnivlwq"; depends=[glmpath]; };
   glmpca = derive2 { name="glmpca"; version="0.2.0"; sha256="02xjf0gg52925hw9nw2j0znfmzfzfwbv0fxjl9d2fy9j63drr2h4"; depends=[MASS]; };
-  glmtlp = derive2 { name="glmtlp"; version="2.0.0"; sha256="05whc00fvfd60la89hd2xrqbmv8mi2i61f183pc95gia404g9jhc"; depends=[doParallel foreach ggplot2]; };
+  glmtlp = derive2 { name="glmtlp"; version="2.0.1"; sha256="0ax3jhbib75gzp5a2y4nj80qss4qmn65rra8bsnkmwgcn4qg8xja"; depends=[doParallel foreach ggplot2]; };
   glmtoolbox = derive2 { name="glmtoolbox"; version="0.1.2"; sha256="1f3kw9w5i8jd9j9xmdq9327dh77xichssw53nsayn9w41n9ky431"; depends=[numDeriv Rfast]; };
   glmtrans = derive2 { name="glmtrans"; version="1.0.0"; sha256="1r8zgdybl2z9bivcfdmbx2wfpaj82d95gdkaixwzwjknjn50ccyv"; depends=[assertthat caret doParallel foreach formatR ggplot2 glmnet]; };
   glmtree = derive2 { name="glmtree"; version="0.2"; sha256="07b7ma38r5cjv6c33q1n2f8xvzn3lj004i8v947pqdhg3fi9wlc6"; depends=[caret dplyr magrittr partykit]; };
   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=[]; };
@@ -10081,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.5.0"; sha256="1wjar579m46j1jnch34h7976sc1qbj6hzdyz5jm16nz1iw6z47jv"; 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=[]; };
@@ -10090,7 +10279,7 @@ in with self; {
   gmDatabase = derive2 { name="gmDatabase"; version="0.5.0"; sha256="0prap4a8pvylmvakd2ii87jz9bqf0vvfsxdi4iwa40nx444hqhx2"; depends=[DBI digest foreach RMySQL shiny]; };
   gmGeostats = derive2 { name="gmGeostats"; version="0.11.0"; sha256="137v0d0dkdvcblh4cywvj3n7v36pf616pxkm4swm68r3knn4xqsi"; depends=[boot compositions foreach gstat RColorBrewer sp]; };
   gma = derive2 { name="gma"; version="1.0"; sha256="08hxbs9z4vq5zjis0lgdcvlysaj1k7i0icdk3wsyqf3wd9znsibi"; depends=[car MASS nlme]; };
-  gmailr = derive2 { name="gmailr"; version="1.0.0"; sha256="0wgh428qrwn6rxkcv9xmpya4ygrmc5pblxp0fw0ddgwbl99dhhi5"; depends=[base64enc crayon gargle httr jsonlite lifecycle magrittr mime rematch2]; };
+  gmailr = derive2 { name="gmailr"; version="1.0.1"; sha256="1cfirp7a5jg9mprzj55ppyag4l527l8czrq4a1cxc8qrm8kpzx0b"; depends=[base64enc crayon gargle httr jsonlite lifecycle magrittr mime rematch2]; };
   gmapsdistance = derive2 { name="gmapsdistance"; version="3.4"; sha256="1hazf6xb4ja6h2lrl63kbd78wzny9sljiid9rq1r3szn3l1mc7dn"; depends=[RCurl XML]; };
   gmat = derive2 { name="gmat"; version="0.2.2"; sha256="0iq2b3s60fyam45ykk67xyi2yhr8ma1s2vw4059357j1948525p2"; depends=[gRbase igraph]; };
   gmeta = derive2 { name="gmeta"; version="2.3-1"; sha256="02w3a8c189wdvcxsnclbgzb6bc9fq88rcw2danxa6i9g7q4kq2sp"; depends=[BiasedUrn binom]; };
@@ -10102,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.0"; sha256="1wg8dyfzyqlav0a0zn0gma2gqgnw0j7sqy7g9n0rz9f6j4j95f3r"; 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]; };
@@ -10126,44 +10317,47 @@ 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.0"; sha256="004qbpvsq8ia1i0qdca76ndv14c4p3ajlp7bgfni6709jkg8ka6x"; 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.6.0"; sha256="1aah6lkr8qb07kqmmzdd4jdhsxcsibbh8knjb7jm9rs7z73lsjd8"; depends=[assertthat curl googleAuthR httr jsonlite openssl yaml zip]; };
+  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]; };
   googleComputeEngineR = derive2 { name="googleComputeEngineR"; version="0.3.0"; sha256="1s0qvnijzkja645lim373swk815n3s1292q6sk3q36ss70q42cfg"; depends=[assertthat future googleAuthR httr jsonlite]; };
   googleLanguageR = derive2 { name="googleLanguageR"; version="0.3.0"; sha256="0lm50g3gshp18nvygi6is2rayzhcx0rw2rvb4lvm0jlx5m96xgxb"; depends=[assertthat base64enc googleAuthR jsonlite magrittr purrr tibble]; };
   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.6.7"; sha256="1q2y4vb3lf0phpgag8mj6wigrkzij4hl5amx1fv7f8b4aypz55xx"; 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.4"; sha256="1g2ihywx1rdz1vwmgd6l7kgzvqq09c8451kw9yvd7ch8pmfffs2d"; depends=[askpass curl]; };
-  gpindex = derive2 { name="gpindex"; version="0.3.9"; sha256="18qja4chz91qybc07xcxcrbvgng5ybd03v9965wcivd2w2xrpxq6"; depends=[]; };
+  gpg = derive2 { name="gpg"; version="1.2.6"; sha256="17rvi3qff2kanqr3g20dzhn48bfh5sv57g0wsamndzcif7rhjhby"; depends=[askpass curl]; };
+  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]; };
   gplots = derive2 { name="gplots"; version="3.1.1"; sha256="0f8khaymz383w2ksnk80d4kpnvgmdk37pbycpsnl2vabaz11kbpr"; depends=[caTools gtools KernSmooth]; };
+  gplsim = derive2 { name="gplsim"; version="0.9.1"; sha256="0zxk8d43za5dv46v2zsi2973jy02si66pnrn5mwnh2l9hxszlnqp"; depends=[mgcv minpack_lm]; };
   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]; };
@@ -10175,12 +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.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]; };
@@ -10191,24 +10387,27 @@ in with self; {
   graphhopper = derive2 { name="graphhopper"; version="0.1.2"; sha256="1zrnwh86jv37z07b6l1i94dgjn8k3b3a3f76gfjsyyxvlc64i76x"; depends=[dplyr googlePolylines httr jsonlite magrittr tibble]; };
   graphicalExtremes = derive2 { name="graphicalExtremes"; version="0.1.0"; sha256="1cc4xcb72yci2gq2zn3g1nh3ba802anpymm0hajdbz3kb0wz1gyn"; depends=[igraph matrixcalc mvtnorm Rdpack]; };
   graphicalVAR = derive2 { name="graphicalVAR"; version="0.3"; sha256="1mvv03zkqp5f7q2nnvpj2gq1v67vp42qr7cm0a20cfvp2gsxq0h5"; depends=[dplyr glasso glmnet igraph Matrix mvtnorm qgraph Rcpp RcppArmadillo rlang]; };
-  graphkernels = derive2 { name="graphkernels"; version="1.6"; sha256="1gn3ihqz7m0rdvvc2fp7hsgq583wh5cnz7200a2ff89xc04zs3dc"; depends=[igraph Rcpp RcppEigen]; };
-  graphlayouts = derive2 { name="graphlayouts"; version="0.7.2"; sha256="0vncg1pfnwrfkjfwz5k86b0ir8vnjkbyd0kzpbgb0cpkdz7987pc"; depends=[igraph Rcpp RcppArmadillo]; };
+  graphkernels = derive2 { name="graphkernels"; version="1.6.1"; sha256="1fwl5a13mdmia374zas0vvd4dlfnp4in9gj42c0iq01icy1wq0la"; depends=[igraph Rcpp RcppEigen]; };
+  graphlayouts = derive2 { name="graphlayouts"; version="0.8.0"; sha256="1l7gkn0r1ijllv3w7cbwcbi0jggs7wlkq9b2lykprng4g1kjc96p"; depends=[igraph Rcpp RcppArmadillo]; };
   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]; };
-  greeks = derive2 { name="greeks"; version="0.4.0"; sha256="0m36a1xnvxvhbn2ilqjj9ii028brccj0xi5ylv1p38lq7zx3awd1"; depends=[dqrng magrittr matrixStats Rcpp]; };
+  greeks = derive2 { name="greeks"; version="0.4.1"; sha256="0szs1hyzh31mvbys5c4bc96rlq5z0514q1jz0v8kb8l0209bb539"; depends=[dqrng magrittr matrixStats Rcpp]; };
   greenclust = derive2 { name="greenclust"; version="1.1.0"; sha256="198ix55x8cl5wx09p6ahzy3bvig86mvqf2qywjfilp6b4hnjgk7l"; depends=[]; };
   gregRy = derive2 { name="gregRy"; version="0.1.0"; sha256="1b8c8wwp8r2v51ayy7rbav24wfz75z1pylg0p4vsasaw9p06dlbz"; depends=[dplyr magrittr purrr tidyr]; };
+  gremes = derive2 { name="gremes"; version="0.1.0"; sha256="1ih5303sis2icic1q13gh6h3qbb1fzw0j7pdla75csiffjc77hw7"; depends=[abind copula gRbase gRim igraph mev mvtnorm quadprog]; };
   gremlin = derive2 { name="gremlin"; version="1.0.1"; sha256="1pi1bksxmjmzclppgbqqg93swf4d72d2mr8bsxv7ndcdjr69xd5r"; depends=[Matrix nlme]; };
   gren = derive2 { name="gren"; version="0.0.1"; sha256="1wb5wwdjxi7q36md7xzmbw5lrggcgghkz3pmxipjpxw8kfv804xp"; depends=[glmnet Iso pROC Rcpp RcppArmadillo]; };
   greport = derive2 { name="greport"; version="0.7-2"; sha256="1p5x4sar88ss8n1m0c73arac10mq4ircjad38kbin6l0nk9z1mh2"; depends=[data_table Formula ggplot2 Hmisc lattice latticeExtra rms survival]; };
@@ -10216,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.1"; sha256="0bsdsiycqrykimxvjlr5b5dmvd9zdv29v77hcfg5qf14fqa1zggj"; 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=[]; };
@@ -10227,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.2.1"; sha256="1akjwjh1ra0f8nhzdvjgzdjiblk3vvw5ws830r4x4s9r2057qmqs"; depends=[glue magick 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]; };
@@ -10260,10 +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]; };
@@ -10276,7 +10476,7 @@ in with self; {
   gsignal = derive2 { name="gsignal"; version="0.3-2"; sha256="1yw3srky82wqwvbjdfdd718ay965qnrwq7lnflzdg1j0f7nxj6iw"; depends=[pracma Rcpp]; };
   gsisdecoder = derive2 { name="gsisdecoder"; version="0.0.1"; sha256="1h7a9j4gsdk8nasfkzfizlarx335ra0j0yz98a2000v2qzm2a5qy"; depends=[Rcpp]; };
   gsl = derive2 { name="gsl"; version="2.1-7.1"; sha256="118rj9kjx9rzlynvhrly19qz3yxg8jzws35971ssgzrp5lwd367f"; depends=[]; };
-  gslnls = derive2 { name="gslnls"; version="1.1.0"; sha256="1xmd9369q4y7wzf0lbvciwka233fjbgjq13s1ssp56xzhhigaiya"; depends=[Matrix]; };
+  gslnls = derive2 { name="gslnls"; version="1.1.1"; sha256="0mgqqw7sicwqvflyq9pdq6jf367ha9f29ik5kbic8zkg3s4xnd55"; depends=[Matrix]; };
   gsloid = derive2 { name="gsloid"; version="0.1.0"; sha256="1ma5si86ynfsis0pnw8hyv6xc4frbkhy5ks03mr0z16gasffkycg"; depends=[]; };
   gsmoothr = derive2 { name="gsmoothr"; version="0.1.7"; sha256="00z9852vn5pj04dhl3w36yk0xjawniay6iifw1i7fd8g98mgspxp"; depends=[]; };
   gsrs = derive2 { name="gsrs"; version="0.1.1"; sha256="0x5fll59l000dqszy0gmhsfqgpaljc57j1grqg5c7y1p3vji38in"; depends=[doParallel foreach MASS]; };
@@ -10302,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]; };
@@ -10314,24 +10514,27 @@ 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]; };
   gwfa = derive2 { name="gwfa"; version="0.0.4"; sha256="0jz82d9lfyd07z0jjlfqzsg7a3vnyz0s1j0rrb5sg9pnvcfjk9qy"; depends=[Rcpp sp]; };
-  gwpcormapper = derive2 { name="gwpcormapper"; version="0.1.2"; sha256="0wlr8iw9hb06va9nswiz5335gi9af2mg0gh5w13kkr8knz4c7d9f"; depends=[attempt config corpcor crosstalk dplyr DT geodist glue golem htmltools leaflet pkgload plotly processx Rcpp sf shiny shinydashboard shinyjs viridis]; };
+  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.34.0.3"; sha256="07lkj7ssxqbxp72l2g3bn3v2k22b0b9166z8r48ydskifagpnw1a"; 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]; };
   hIRT = derive2 { name="hIRT"; version="0.3.0"; sha256="0s0i6p9iv0yv0l15dnwkpcmc91751jyjs1y1nz671lz6jpb8rz5c"; depends=[ltm Matrix pryr rms]; };
   hJAM = derive2 { name="hJAM"; version="1.0.0"; sha256="1pnjcn54zi4d7h9zc9wr1gv51dzb0vasfcrw4c1kqymhxsq2yfh3"; depends=[dplyr ggplot2 ggpubr reshape2]; };
@@ -10342,9 +10545,12 @@ in with self; {
   hablar = derive2 { name="hablar"; version="0.3.0"; sha256="12gm5n3p2kmjwhkf60n4bjn3lrj7lrs5sgmvads9sfp2ckhaiysk"; depends=[dplyr lubridate purrr]; };
   hackeRnews = derive2 { name="hackeRnews"; version="0.1.0"; sha256="0vrdbk4dxbykb3hs35nxkl3s2ds92gs5qz66p85w8j5zjmwbw2x6"; depends=[future_apply httr jsonlite tibble]; };
   hacksaw = derive2 { name="hacksaw"; version="0.0.2"; sha256="1ls4l53bsaxyd6lwka9z9sb6ypa2ymbxpfxhsj9k966031jv2vk3"; depends=[dplyr magrittr purrr rlang tibble tidyselect zeallot]; };
+  hacksig = derive2 { name="hacksig"; version="0.1.1"; sha256="1gf80drfriw0x86mf4bwlvjypz1q7vcjk35c9df5mms6ly1dnfkc"; depends=[dplyr future_apply rlang tibble tidyr]; };
   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]; };
@@ -10357,10 +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.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]; };
@@ -10402,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.3"; sha256="17l659vilk2lrgga27jrm0r6ap7j8zrwx34abfjgp6389jdnm5cd"; 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.5"; sha256="00pyqy3qzmg440fx91bk9yczdn0fikdy50dq2wlzzd5h83i6bwx4"; 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]; };
+  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.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]; };
@@ -10448,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]; };
@@ -10456,9 +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.2"; sha256="06r4pl96bd417mk2x9yn7gl84zybv9yz03xn7r1rqkgian9l110s"; 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.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]; };
@@ -10474,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=[]; };
-  highcharter = derive2 { name="highcharter"; version="0.8.2"; sha256="1hwiifpm60kqgxlvp8zd6mhgbzc4mkcz9s9yc6byrm9i6daiqs8r"; 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]; };
+  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.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]; };
@@ -10490,10 +10700,10 @@ in with self; {
   hilldiv = derive2 { name="hilldiv"; version="1.5.1"; sha256="1jp4xvrpqd575y2x0i73s0bq708bzi6gdhqgz85bia6d5kf05lq9"; depends=[ape data_table FSA geiger ggplot2 ggpubr qgraph RColorBrewer scales vegan]; };
   hillmakeR = derive2 { name="hillmakeR"; version="0.2"; sha256="1baynibgn4xqmpsxna8irggxvdc484mq5nza00rwg58vh1bc7wzq"; depends=[]; };
   hillshader = derive2 { name="hillshader"; version="0.1.0"; sha256="12phdpkjc4gyk9ri33x86dzxb03llhpqf43vin9ssfr23sbblnqh"; depends=[raster rayshader scales]; };
-  himach = derive2 { name="himach"; version="0.2.2"; sha256="0da5hbm31yza1bzi74llbah1w10xcbvgf7zvy6skv0riz18yrl5c"; depends=[cppRouting data_table dplyr geosphere ggplot2 lwgeom purrr s2 sf tidyr]; };
+  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]; };
@@ -10508,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=[]; };
@@ -10531,15 +10741,15 @@ in with self; {
   holodeck = derive2 { name="holodeck"; version="0.2.1"; sha256="1iazi5is41ap58vq56jgz88id0i6ppz55y9gx77a5navrrn0db4l"; depends=[assertthat dplyr MASS purrr rlang tibble]; };
   homals = derive2 { name="homals"; version="1.0-9"; sha256="055hhpbypaw1cdkqvn4i43kbamsym4sk0jg4wlczln1x48smjwic"; depends=[ape scatterplot3d]; };
   homeR = derive2 { name="homeR"; version="0.3.0"; sha256="0gi383392rs7snb2l9760vkws5hqfikyaj3i7cyby9g1sc2s6yx8"; depends=[]; };
-  hommel = derive2 { name="hommel"; version="1.5"; sha256="15c5az35zwmj6g0pxycfr4jnlc5ykllly0xk8gbdv7yk5m23my6d"; depends=[Rcpp]; };
+  hommel = derive2 { name="hommel"; version="1.6"; sha256="1lvlazvvgmaqbawalgry1a59qmqxv2qy9g0ijhpcawwv2cfxmdja"; depends=[Rcpp]; };
   homologene = derive2 { name="homologene"; version="1.4.68.19.3.27"; sha256="0d7wxisk0vqk1n165v1i19bc02zv78h5r5d3jqai5y6nkmwn01sh"; depends=[dplyr magrittr purrr R_utils readr]; };
   homomorpheR = derive2 { name="homomorpheR"; version="0.2-2"; sha256="1iahq16nswlc3b87598206xdp24bg9v8acyjp1jivybl3fr4k3pq"; depends=[gmp R6 sodium]; };
   homtest = derive2 { name="homtest"; version="1.0-5"; sha256="1lnqlg3dwq174ic6dbjllysw5fjy5kvvgbl6gvabjmcs66z27fp0"; depends=[]; };
   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]; };
@@ -10572,32 +10782,33 @@ 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.3.0"; sha256="0xx5fza40six81mkfjsja6a8j6cg1mlzg0cxfgv084riyq79l387"; 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]; };
+  htmlTable = derive2 { name="htmlTable"; version="2.4.0"; sha256="17csp0ry4iy4m5xy271dn5wd81v4p03l79swmvlfxkvpdmhvb8jc"; depends=[checkmate htmltools htmlwidgets knitr magrittr rstudioapi stringr]; };
+  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]; };
   htmlwidgets = derive2 { name="htmlwidgets"; version="1.5.4"; sha256="1hgz8sx8xrvfcdwa4q15k942w4qsqg8lyxbbf7qyfzbi807wcgqs"; depends=[htmltools jsonlite yaml]; };
   htree = derive2 { name="htree"; version="2.0.0"; sha256="15bi5c2p4aghihp3k12s78447j2x9hbsaq56b5lc8jmd1vf0jdwb"; depends=[]; };
   hts = derive2 { name="hts"; version="6.0.2"; sha256="06mmxdm7a2fb1r4mb2x12b00rnkaxlrmlkv5yizr3yixmn4is9wb"; depends=[forecast Matrix Rcpp RcppEigen SparseM]; };
-  htsr = derive2 { name="htsr"; version="1.1.2"; sha256="1zwak1cyx5vphshcr207pa5zz2y32zf3j9irmgd8si52m7fxb35h"; depends=[DBI directlabels dplyr editData ggplot2 lubridate openair purrr raster RColorBrewer readr readxl RODBC RSQLite shiny stringr tibble WriteXLS zoo]; };
+  htsr = derive2 { name="htsr"; version="1.1.3"; sha256="01id95530g80hn4l94ngi7562iy52pc63s4i7a9glc4h6w3hwl15"; depends=[DBI directlabels dplyr editData ggplot2 lubridate openair purrr raster RColorBrewer readr readxl RODBC RSQLite shiny stringr tibble WriteXLS zoo]; };
   httk = derive2 { name="httk"; version="2.0.4"; sha256="0akddji209hw82lcvd7k63k4lzcx3jazycw2p1388b36nzm40w79"; depends=[data_table deSolve magrittr msm mvtnorm purrr survey truncnorm]; };
   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.3"; sha256="0xh8y05k4jxdwp9xh4x478y3scnv80q05l9gxk2ni6f0dk43iqxz"; 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.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]; };
@@ -10621,7 +10832,7 @@ in with self; {
   hybridModels = derive2 { name="hybridModels"; version="0.3.7"; sha256="0fj3dvv7s1hlicvlb077pkhbj894brzgdxhp67jck9zpy2qymzxq"; depends=[doParallel doRNG foreach ggplot2 GillespieSSA reshape2 stringr]; };
   hybridogram = derive2 { name="hybridogram"; version="0.3.2"; sha256="14p2gwmgcaf84aycdc2a51frw2pccrffsjk8n83gvj2ans8phrr9"; depends=[pheatmap]; };
   hydra = derive2 { name="hydra"; version="0.1.0"; sha256="0r3r8cds4h15narawxhzkrvgnf00vlgrgqdgnmbzjyyb1dmry8wn"; depends=[]; };
-  hydraulics = derive2 { name="hydraulics"; version="0.3.0"; sha256="1scwj9p2jmmhn1mvw1h8jfns2sdi85pzg6axr0i8qla2x33pl4g8"; depends=[ggplot2 reshape2 units]; };
+  hydraulics = derive2 { name="hydraulics"; version="0.4.0"; sha256="0kabxcg7ajl1kgfiy2zr0zsb10wp13742s5nmphgx59wbm67vjz1"; depends=[ggplot2 gtools reshape2 units]; };
   hydroApps = derive2 { name="hydroApps"; version="0.1-1"; sha256="1ycv7l2ywwnx2mgklg6rry7n24jyhi4spvp1xl345yvyn9kf15dz"; depends=[nsRFA]; };
   hydroEvents = derive2 { name="hydroEvents"; version="0.10"; sha256="1w7nswdmg52ldzzz4gphqnp5gfgh9pvgyq9w0phpzj5ff19bxbxz"; depends=[]; };
   hydroGOF = derive2 { name="hydroGOF"; version="0.4-0"; sha256="0fw8b66k7gdkdjxgmdpp3lk9d8p0wmlvhq2rkcvajjb5wd09f43a"; depends=[hydroTSM xts zoo]; };
@@ -10643,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]; };
@@ -10679,18 +10890,17 @@ 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="0.1.0"; sha256="1qh2j6c0dkxgk8xjrd4hh4jzk8qxi3jrdk7zmgfdq6a1hifgvw1n"; depends=[caret irlba]; };
+  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]; };
   iSubGen = derive2 { name="iSubGen"; version="1.0.1"; sha256="0kfrgh4399x71mwa5j36nfszd65ybp61fwpc7qj3j9ypmgidwbaj"; depends=[cluster ConsensusClusterPlus keras philentropy tensorflow]; };
   iTOP = derive2 { name="iTOP"; version="1.0.2"; sha256="1n6nlmmx2h63nksycgzr7qsnd1j6bxa629av7cfd3ihriim7dj47"; depends=[corpcor Matrix]; };
@@ -10698,11 +10908,11 @@ in with self; {
   iWeigReg = derive2 { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; };
   iZID = derive2 { name="iZID"; version="0.0.1"; sha256="1jaqdh6i5xyfw4y2wd9qivzjklf4j2xxnya8ssn7rv5bz6misgcz"; depends=[doParallel extraDistr foreach rootSolve]; };
   iadf = derive2 { name="iadf"; version="0.1.2"; sha256="18r9qyhicbfrkpqnxnn5i854s0afq4pnbaw2ckw1qrhy3pzys6zp"; depends=[dplR dplyr manipulate rlang tibble tidyr tidyselect]; };
-  iai = derive2 { name="iai"; version="1.6.0"; sha256="1kx968cfz385bhm02hcs3bj3qqkw3kv3a5vigqqzlpa7073b5q75"; depends=[cowplot ggplot2 JuliaCall lifecycle rappdirs rlang stringr]; };
+  iai = derive2 { name="iai"; version="1.7.0"; sha256="1y3lhzzmyxlqv2izk9zcqh22jsg4n2yh9sgkiqqlp500xaz6h4ah"; depends=[cowplot ggplot2 JuliaCall lifecycle rappdirs rjson rlang stringr]; };
   ialiquor = derive2 { name="ialiquor"; version="0.1.0"; sha256="0nrp75lzb49lhkxspvaq6wx5c48ny6fq9m3r1bz0v5f2fd5ilrdx"; depends=[]; };
   iarm = derive2 { name="iarm"; version="0.4.2"; sha256="0scf1ad87sn4s7ki6hpgk4isy1k3qkdvs18bkwdflsarcx437ms2"; depends=[eRm ggplot2 gridExtra Hmisc PP psychotools vcdExtra]; };
   ib = derive2 { name="ib"; version="0.1.0"; sha256="1rzgpgmg7bzg60dyxmmprcsri5wdbarqgp4ya5h418hnnmh8hg0n"; depends=[lme4 MASS Matrix Rdpack VGAM]; };
-  ibawds = derive2 { name="ibawds"; version="0.2.0"; sha256="1ys1qfzfwxki0k8m35zx1zr538la3afn7iwqbqdc61vx3f7dp0zc"; depends=[dplyr dslabs Ecdat ggplot2 kableExtra magrittr scales stringr]; };
+  ibawds = derive2 { name="ibawds"; version="0.3.2"; sha256="15ra53yswbc189sq5mkip5hcf4c3inzmsg2i7kz0wakvrhc56hd8"; depends=[dplyr dslabs Ecdat ggplot2 kableExtra magrittr rlang scales stringr]; };
   ibb = derive2 { name="ibb"; version="0.0.2"; sha256="11rfrf0ap97rsq0yy23sjahp1bin3j31zdd61p8b5mbp0s0k7ci4"; depends=[dplyr httr jsonlite magrittr rlang tibble tidyselect]; };
   ibd = derive2 { name="ibd"; version="1.5"; sha256="0rxvy4hn4fpbv6y214ggkmgfvzwns5mkanp4h8201rjk3v84mk2r"; depends=[car emmeans lpSolve multcomp]; };
   ibdreg = derive2 { name="ibdreg"; version="0.3.6"; sha256="1x8z0vr2cmdks12hxfm0wwxskb0cr669w5j5rpa2ln8q704yy41g"; depends=[]; };
@@ -10722,6 +10932,7 @@ in with self; {
   ica = derive2 { name="ica"; version="1.0-2"; sha256="0ya1nph1zwhad0bfz4yxs27kl45yk1dhnphdlrq34p8pqrpmj8g7"; depends=[]; };
   ical = derive2 { name="ical"; version="0.1.6"; sha256="1raanaagas1c8w66d8s045z5ip1i97xca4233d55jk6cazv0mb1w"; depends=[V8]; };
   icapca = derive2 { name="icapca"; version="1.1"; sha256="131gdrk8vsbac0krmsryvsp21bn9hzxqxq847zn16cxjf6y5i3xb"; depends=[]; };
+  icardaFIGSr = derive2 { name="icardaFIGSr"; version="1.0.2"; sha256="1yysqkyr36388i8za8jhz0m1vdn3jv8kpb24pnhbxlwsq8r5x0jr"; depends=[caret doParallel dplyr foreach ggplot2 httr leaflet magrittr plotROC plyr raster reshape2 sp]; };
   icarus = derive2 { name="icarus"; version="0.3.1"; sha256="0ipbhzvwdn1cnzgdw33cwv901768srxfi588bimjx2ssl80mqn3a"; depends=[]; };
   iccCounts = derive2 { name="iccCounts"; version="1.0.3"; sha256="0wcfdizj4ng7qr3yrjs356qq7xxbiqsf4s6fq4h54bnyvlj611jz"; depends=[Deriv dplyr ggplot2 glmmTMB gridExtra VGAM]; };
   iccbeta = derive2 { name="iccbeta"; version="1.2.0"; sha256="03ms1c8qpbgxabj3hh4n0gwcazw6cd0cvixck5rz8fkvj04xzjak"; depends=[lme4 Rcpp RcppArmadillo]; };
@@ -10733,11 +10944,12 @@ 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]; };
   icesVocab = derive2 { name="icesVocab"; version="1.1.9"; sha256="14zbc31xb7lizz1ki85nxb6lzmwjdyfajv0j43hmbbh3yscjd9p3"; depends=[xml2]; };
-  ichimoku = derive2 { name="ichimoku"; version="1.2.4"; sha256="0355f0nvka9zks191rbpmz80fbkncb2ss039r016i5kxw3dgrn10"; depends=[cpp11 curl ggplot2 gtable jsonlite xts zoo]; };
+  ichimoku = derive2 { name="ichimoku"; version="1.2.5"; sha256="0d4pcfq153csaxabs0z09gcjv08nmp2ry3nf79lsrlmzc51sl6nm"; depends=[cpp11 curl ggplot2 gtable jsonlite tibble xts zoo]; };
   icmm = derive2 { name="icmm"; version="1.2"; sha256="179q8w60g4yrv6wqgfmg47by1zc1mbhsdjgl7jq4wirqvwnxvgym"; depends=[EbayesThresh]; };
   iconr = derive2 { name="iconr"; version="0.1.0"; sha256="17q7zj92yrj49slmrpwkxkjd0imrl9ildms9zj8qx7yc7dcv4c1s"; depends=[igraph magick rgdal]; };
   icosa = derive2 { name="icosa"; version="0.10.1"; sha256="025bqlgx4p1kxpmizfzgiamcq2f5nj5m2ky25fpgdm714sybvwvi"; depends=[igraph Rcpp sp]; };
@@ -10753,34 +10965,35 @@ 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]; };
   ig_vancouver_2014_topcolour = derive2 { name="ig.vancouver.2014.topcolour"; version="0.1.2.0"; sha256="0yclvm6xppf4w1qf25nf82hg1pliah68z7h3f683svv0j62q748h"; depends=[]; };
   igate = derive2 { name="igate"; version="0.3.3"; sha256="0b8dk976z0764cmxwcq6w2f3akv7iivivharinq029p90b600qza"; depends=[dplyr ggplot2 kableExtra knitr rmarkdown stringr xtable]; };
   igcop = derive2 { name="igcop"; version="1.0.1"; sha256="0jl107mdwbldi319qflqjzy8vk02sr4nihky8jl5kcgr6x55qh6z"; depends=[Rcpp rlang vctrs]; };
-  iglu = derive2 { name="iglu"; version="3.1.0"; sha256="1jq5y18gjxxvb1bhszs0xpklg7m9l9ig6ad1vjpll4m0xcln4hnl"; depends=[caTools dplyr ggplot2 ggpubr gridExtra gtable hms lubridate magrittr patchwork plotly scales shiny tibble tidyr zoo]; };
+  iglu = derive2 { name="iglu"; version="3.3.0"; sha256="1p3mwc0ny6d0i09bacdy9xzpn6rj2idx444wypn3rz98nddr665c"; depends=[caTools dplyr ggplot2 ggpubr gridExtra gtable hms lubridate magrittr patchwork plotly scales shiny tibble tidyr zoo]; };
   igoR = derive2 { name="igoR"; version="0.1.3"; sha256="0i1s53pyibxpqdv4269q9riqwr3yvy207hwljx2gbnaf4jqpf5hk"; depends=[]; };
-  igraph = derive2 { name="igraph"; version="1.2.9"; sha256="1k1p5vpr3k02ix5z5z37lrcdwzbqigwvwmbjva3flbak4q7pkwxf"; depends=[magrittr Matrix pkgconfig]; };
+  igraph = derive2 { name="igraph"; version="1.2.11"; sha256="1ph042yinl8ig2x7laha5j1xr14fky9771l5ha87svhynrg732qw"; depends=[magrittr Matrix pkgconfig]; };
   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]; };
@@ -10803,7 +11016,9 @@ in with self; {
   imagefx = derive2 { name="imagefx"; version="0.4.1"; sha256="1mxd33y8zbq8kig6m6xihb5w8wrjppgmpyjspvaxjwk7si9a09k1"; depends=[moments signal]; };
   imager = derive2 { name="imager"; version="0.42.11"; sha256="1a1jhmgrpv1d0fk14axj88qvxgb25bqnj65d60g1k985ipzvgy27"; depends=[downloader igraph jpeg magrittr png purrr Rcpp readbitmap stringr]; };
   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]; };
@@ -10811,7 +11026,7 @@ in with self; {
   imdbapi = derive2 { name="imdbapi"; version="0.1.0"; sha256="11v7c0s7qqf02b186md5lhgkgmywkn8lmmanlz3gfcxca26g047y"; depends=[dplyr httr stringr]; };
   imfr = derive2 { name="imfr"; version="0.1.9.1"; sha256="1l1lvzvz9hsqwk60k2w8ry8mvgzj7wrd6ycfhgwv39xid9vk70g7"; depends=[dplyr httr jsonlite]; };
   imgpalr = derive2 { name="imgpalr"; version="0.3.1"; sha256="0v9npy63mv9r9wnd8pcdw4rkr0bybhhmkj36sza7dah92i06il17"; depends=[downloader dplyr farver jpeg magrittr tibble]; };
-  imgrec = derive2 { name="imgrec"; version="0.1.2"; sha256="1cvd649z6xf4kifkg39c8syhxrlxkxff3gy1aa1mi02irqnmkb8q"; depends=[base64enc dplyr httr jsonlite knitr rlang]; };
+  imgrec = derive2 { name="imgrec"; version="0.1.3"; sha256="0va04b264v2ywvqdgmvigygsd5f6vdy5cj2ip2nsyi1fzh68hadx"; depends=[base64enc dplyr httr jsonlite knitr rlang]; };
   imguR = derive2 { name="imguR"; version="1.0.3"; sha256="14f7ghgc8rbrpqb21rinfbrj1wh80i6ii0awwi814152v5qzj4b3"; depends=[httr jpeg png]; };
   iml = derive2 { name="iml"; version="0.10.1"; sha256="1wz6xqhvqkzj723nw7qrlwb1171wvvpxhv3pa8cq7vcbkiflq37r"; depends=[checkmate data_table Formula future future_apply ggplot2 keras Metrics prediction R6]; };
   immcp = derive2 { name="immcp"; version="0.9.2"; sha256="07q5dhz12pvy631jxans6q62kzqx9pil3ra72pgqlcxpndvv6f4w"; depends=[Boruta clusterProfiler corrr ggplot2 GSEABase GSVA igraph limma magrittr Matrix pbapply proxyC reshape2 RobustRankAggreg visNetwork]; };
@@ -10821,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=[]; };
@@ -10835,7 +11050,7 @@ in with self; {
   imputeLCMD = derive2 { name="imputeLCMD"; version="2.0"; sha256="10v3iv1iw6mnss6ry836crq9zdgid2y1h3pvigzjsrmnp5n89mfz"; depends=[impute norm pcaMethods tmvtnorm]; };
   imputeMDR = derive2 { name="imputeMDR"; version="1.1.2"; sha256="0ds5a4wav9vb9z5nji8hv5l76310rd970xf702fd0ckx1sh6rgd7"; depends=[]; };
   imputeMissings = derive2 { name="imputeMissings"; version="0.0.3"; sha256="1dfhi235j1qz2mv89j92b903j5mdwlzisiyvvi9mmiacdj5ln89z"; depends=[randomForest]; };
-  imputeMulti = derive2 { name="imputeMulti"; version="0.6.4"; sha256="0ngjbj8pl5mwprrgy234a5p9dhf615z7ymfv8184hby1z6ib3mgl"; depends=[DBI gtools Rcpp RSQLite]; };
+  imputeMulti = derive2 { name="imputeMulti"; version="0.8.3"; sha256="0vk5fz6cr14czr2ycvvc1xh2cdf0k7sw0jbbjaf7dp8i4hr1j1vn"; depends=[data_table gtools Rcpp]; };
   imputePSF = derive2 { name="imputePSF"; version="0.1.0"; sha256="0xfd2mybg0cbi3n35j28s4xq4iwr5rq4mqwgdqml7l2rlzidcwc8"; depends=[PSF]; };
   imputeR = derive2 { name="imputeR"; version="2.2"; sha256="0jfyl6k285x4lc58q13fhi004l4yaqas0d4g08rx78ml7p6l1r48"; depends=[reshape2]; };
   imputeTS = derive2 { name="imputeTS"; version="3.2"; sha256="19kzwa4xih7y1rilgqa945d35agma9qfnj9fraancy49b06axrx9"; depends=[forecast ggplot2 ggtext magrittr Rcpp stinepack]; };
@@ -10844,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]; };
@@ -10857,6 +11071,7 @@ in with self; {
   inctools = derive2 { name="inctools"; version="1.0.15"; sha256="0ikldiwgizs2p9vcalk5729dr6krysnyr4ni0ybg9gljw7iafdlf"; depends=[binom cubature doParallel dplyr foreach ggplot2 glm2 magrittr plyr pracma rlang tibble tmvtnorm]; };
   indelmiss = derive2 { name="indelmiss"; version="1.0.9"; sha256="0i4qnvc0xb3ngnk8xdscmx7qnicfs7s6czawf6schb1nh2pjpzyq"; depends=[ape numDeriv phangorn Rcpp]; };
   independence = derive2 { name="independence"; version="1.0.1"; sha256="0yln5wd8m5fgh4h7k80vq22byf06k4d6574zxyqcig63hls7v568"; depends=[Rcpp]; };
+  index0 = derive2 { name="index0"; version="0.0.1"; sha256="1kdjc86312a9x800h0i7z0z7bwbxyrqds8wnrm15aljkvk83xwxl"; depends=[]; };
   indicspecies = derive2 { name="indicspecies"; version="1.7.9"; sha256="1xza0ha42frz5wizf268j49y3201vpsm4kgj0czsw9wygzjl008f"; depends=[permute]; };
   indiedown = derive2 { name="indiedown"; version="0.1.1"; sha256="0r46r6s0asd182gs5map4wilhfb7jhgrcinnl36ib3q1xxn06457"; depends=[cli fs gfonts rlang withr]; };
   indirect = derive2 { name="indirect"; version="0.2.0"; sha256="1k7xwsx655nzl43s1mkaysyn5gydq973gynmqip67lssnm7cnch4"; depends=[gplots MASS]; };
@@ -10889,20 +11104,21 @@ in with self; {
   ingredients = derive2 { name="ingredients"; version="2.2.0"; sha256="11bv4l4fn9kr7y2nfzrwnaya8fi9w3nwcm9vzlqb7dva83rkqbsc"; depends=[ggplot2 gridExtra scales]; };
   ini = derive2 { name="ini"; version="0.3.1"; sha256="04yqij344dwm0xqgara8xia42mlmij3i8711qbb5534w05a1l6bv"; depends=[]; };
   injectoR = derive2 { name="injectoR"; version="0.2.4"; sha256="0sa32cspp6y3m04yfmd02kxx55mk7l9jxf4r9pk1a6k3sqnj6fl8"; depends=[]; };
-  inlabru = derive2 { name="inlabru"; version="2.3.1"; sha256="19rljxw8rimyk6iwh5albir5lgakxqn5i96mi8p4k9rr3asx8s8k"; depends=[ggplot2 Matrix rgdal rgeos sp withr]; };
+  inlabru = derive2 { name="inlabru"; version="2.4.0"; sha256="0qf3d5zk8l0gmqh341c7xslyhxyxmx5nlxg4ks1kfjq1sasnrs5f"; depends=[Matrix plyr rgdal rgeos rlang sp withr]; };
   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]; };
@@ -10910,8 +11126,9 @@ in with self; {
   install_load = derive2 { name="install.load"; version="1.2.3"; sha256="0z4klcpwdlmhwvk41z9q4c4382z8glad27h0gai93zyciy44sdyx"; depends=[assertthat checkmate fastmatch]; };
   installr = derive2 { name="installr"; version="0.23.2"; sha256="1xyzap1injimyib16srhbm0hchh1bcd5vg9d9wbvhf8dlpkaxw4q"; depends=[stringr]; };
   insuranceData = derive2 { name="insuranceData"; version="1.0"; sha256="0wryh8i1v3bnpbqn6d6dpxr9bwwl6mnh5cb5igz0yanh4m1rx96w"; depends=[]; };
-  insurancerating = derive2 { name="insurancerating"; version="0.6.8"; sha256="0c5sic7vv83w0j9mccvjdds10kds8jn4ry3jp2qjgkq32wz7mg3v"; depends=[ciTools classInt colorspace data_table DHARMa dplyr evtree ggplot2 insight lubridate magrittr mgcv patchwork scales stringr tidyr tidyselect]; };
+  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]; };
@@ -10922,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]; };
@@ -10938,13 +11155,14 @@ 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]; };
   intervals = derive2 { name="intervals"; version="0.15.2"; sha256="0mvwfwc03ifb30a3dzbmkv9adwqb8ajxhcw24d8xip8px063plhb"; depends=[]; };
   intervcomp = derive2 { name="intervcomp"; version="0.1.2"; sha256="1l6x1fl84li6is3b92b96q3fbv0rpgqy2lvw9cbi2cq8nh9imnyx"; depends=[]; };
   interventionalDBN = derive2 { name="interventionalDBN"; version="1.2.2"; sha256="0wpp4bfi22ncvl0vdivniwwvcqgnpifpgxb4g5jbyvr0z735cd9w"; depends=[]; };
-  inti = derive2 { name="inti"; version="0.5.0"; sha256="1prv5h220i66jbmw6kjkg7ya3v133anz6zlgv4vvw1gpx3pj42bq"; depends=[agricolae dplyr DT emmeans FactoMineR ggplot2 lme4 purrr shiny stringi stringr tibble tidyr]; };
+  inti = derive2 { name="inti"; version="0.5.2"; sha256="1h0xkp9lqqqly5ldjz6ycja9b1q62ydysihjz2w7ajvrkjxhagbs"; depends=[agricolae dplyr DT emmeans FactoMineR ggplot2 lme4 purrr shiny stringi stringr tibble tidyr]; };
   intkrige = derive2 { name="intkrige"; version="1.0.1"; sha256="1p3fn5nzn1iliy025187k590qrsw3z3d47p67gzwwd6h050yrl86"; depends=[gstat raster Rcpp RcppArmadillo Rdpack sp]; };
   intmed = derive2 { name="intmed"; version="0.1.2"; sha256="0amcqzinj35yvb9nfy808bz098dqmnds13z335lgqm6sykriyjpl"; depends=[doParallel dplyr foreach MASS mice stringr tibble]; };
   intrinsicDimension = derive2 { name="intrinsicDimension"; version="1.2.0"; sha256="0cka20ifxx9njnvp18bzhrvmh3cwjnxkc0a23qzi43dahc51ijbc"; depends=[yaImpute]; };
@@ -10957,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=[]; };
@@ -10970,21 +11188,22 @@ in with self; {
   ionr = derive2 { name="ionr"; version="0.3.0"; sha256="18rv5n5gihb6pz36s45yj17sdjsbj4485k4lnggdjj1gbbjkz2ni"; depends=[gplots psych]; };
   iopsych = derive2 { name="iopsych"; version="0.90.1"; sha256="0adxwxnb1zdlld3icdggx7cq6cp8z4h1jf105485w322a8c6s9ik"; depends=[mco mvtnorm]; };
   iosmooth = derive2 { name="iosmooth"; version="0.94"; sha256="06xgzhjgb6pznjzfli193q7kn8sh5jmqsssgymwj98bw7iwn4q3z"; depends=[]; };
-  iotables = derive2 { name="iotables"; version="0.4.5"; sha256="1bza4yg27nr9b0210jwwnsvj479z5p9zxlcjjdg7xfga5zghxk70"; depends=[dplyr eurostat forcats kableExtra knitr lubridate magrittr plyr purrr readxl rlang tibble tidyr tidyselect]; };
+  iotables = derive2 { name="iotables"; version="0.4.7"; sha256="0v8ixajmdxi1rczdxvl8kzqmj3yg2ihblg5x1bx044lp489mk4mw"; depends=[assertthat dplyr eurostat forcats glue kableExtra knitr lubridate magrittr plyr readxl rlang tibble tidyr]; };
   iotools = derive2 { name="iotools"; version="0.3-2"; sha256="07q0z0kszm1xx5hfhisfliyrcsxd8dc5mx0a2bwwnv5l1xzmix17"; depends=[]; };
   ip2location = derive2 { name="ip2location"; version="8.0.1"; sha256="0mf6ncckjjrq4dvd8pifz4izn4vqmsqq0pw36gm1zqzbyyvmqqya"; depends=[jsonlite reticulate stringr]; };
   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]; };
@@ -10997,13 +11216,12 @@ 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=[]; };
-  irg = derive2 { name="irg"; version="0.1.1"; sha256="0g5rhahiq2k269n8ip4yj6ncra07j7flraphzxmis931sfpdsvam"; depends=[data_table RcppRoll]; };
+  irg = derive2 { name="irg"; version="0.1.6"; sha256="1c9v5yk1512ga51356fjyl8zblw61p9m55vx89fy81qi0vcwxrgj"; depends=[chk data_table RcppRoll]; };
   iriR = derive2 { name="iriR"; version="0.2.2"; sha256="0dzjafj2bnp9ss173pmzx61l50rr9a5lpiljjlf7y1pai9k0aay8"; depends=[dplyr ggplot2 ggsci gsheet reshape2 scales WDI]; };
-  irlba = derive2 { name="irlba"; version="2.3.3"; sha256="1h7mzrqdjc41814cf6c93sbyl7nxwvsf3x8apl9rhmydgdlk7qkf"; depends=[Matrix]; };
+  irlba = derive2 { name="irlba"; version="2.3.5"; sha256="1fcv4vazg2sbsda8qqjjsjn2wagcp2bsahvznwm443j66q6qrz16"; depends=[Matrix]; };
   irr = derive2 { name="irr"; version="0.84.1"; sha256="1hs4ylqm51smrmgsph7z9arwkz5px2a320acar324fkjdd3yifp7"; depends=[lpSolve]; };
   irrCAC = derive2 { name="irrCAC"; version="1.0"; sha256="1j9z8vz5zcl51a8qq6maf9sw0dqaknkrai7gp31mzag7b6vwms06"; depends=[]; };
   irrICC = derive2 { name="irrICC"; version="1.0"; sha256="0vi5g97kbyhwxz242d1hpqf11izd3kmlzh3997v07md1llcsp6s3"; depends=[]; };
@@ -11014,7 +11232,7 @@ in with self; {
   irtProb = derive2 { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; };
   irtoys = derive2 { name="irtoys"; version="0.2.1"; sha256="0h6iiaxikhbxhbyksbjnb09qdxinlkwr2v9yzs5wslbni14paq5q"; depends=[ltm sm]; };
   irtplay = derive2 { name="irtplay"; version="1.6.3"; sha256="026h519ycyvn55c8gih2snwrljnvjwsylkdr5jpapviv8304mdj0"; depends=[dplyr ggplot2 gridExtra Matrix purrr reshape2 rlang statmod tidyr]; };
-  irtrees = derive2 { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; };
+  irtrees = derive2 { name="irtrees"; version="1.0.0"; sha256="003gmnv2d0xsqd54chadkbd8c8kf8fwr4lza86k6qkfs7d3ifkjm"; depends=[DiagrammeR tidyr]; };
   irtreliability = derive2 { name="irtreliability"; version="0.1-1"; sha256="15qs8bvgrwajj5kfd57rd34l1p2805ilyd7w60ngrqc14d6az9d2"; depends=[fastGHQuad ltm mirt]; };
   isa2 = derive2 { name="isa2"; version="0.3.5"; sha256="17vm0906szhrh2k5x694vwcfijbzmd1v3axpszfybc0lgds437cv"; depends=[lattice]; };
   isaeditor = derive2 { name="isaeditor"; version="0.1.1"; sha256="10gm3mrpi52sj5mkmdgggx8a5yh6a506hawg7yg2518ym8552hsp"; depends=[colorDF crayon dplyr glue magrittr readr rlang tibble tidyr]; };
@@ -11022,7 +11240,7 @@ in with self; {
   isdals = derive2 { name="isdals"; version="2.0-4"; sha256="15p432fskdz2r8523cw122mfhvrq8vdsdsrd0kz9yfin4b5z3zfh"; depends=[]; };
   isdparser = derive2 { name="isdparser"; version="0.4.0"; sha256="05xkffmiiyhas5hzdjdylbrvh6fjc2fjh7s00iwjxkp4ba7rwq3g"; depends=[data_table lubridate tibble]; };
   isingLenzMC = derive2 { name="isingLenzMC"; version="0.2.5"; sha256="1pd1s3a1rv7vlxd5db1pgwdjps8w5im4zz2h3qzal9cwbis0hb51"; depends=[]; };
-  islasso = derive2 { name="islasso"; version="1.4.1"; sha256="05wgjwqi6529ws0mqiqhairqs2ya62s2xzgb0g06bi772syxf9qw"; depends=[glmnet Matrix]; };
+  islasso = derive2 { name="islasso"; version="1.4.2"; sha256="0nks1ck5im83745argdkl53h2al3d23mmpws9qr688z800yxsznl"; depends=[glmnet Matrix]; };
   ismev = derive2 { name="ismev"; version="1.42"; sha256="19giigxwf62cdkf7mglsca649n2ignb9bxyg9zl7im1vm3ngnmqd"; depends=[mgcv]; };
   isni = derive2 { name="isni"; version="1.3"; sha256="02a4vbhk26w796kxsyzqfp3bqxn64byfd5x5qma09lmdaxzmm71m"; depends=[Formula lme4 matrixcalc mvtnorm nlme nnet]; };
   isnullptr = derive2 { name="isnullptr"; version="1.0.1"; sha256="0kwjxq59n3qncdw63vsdvz7v5mzbl5lmckdfgiiw35pzmahnxzh9"; depends=[]; };
@@ -11042,8 +11260,8 @@ in with self; {
   isoreader = derive2 { name="isoreader"; version="1.3.2"; sha256="0d0h57imbis7g58gdn7j0pwmc1s71b8ymqwqkg3byagd0yhrxf0w"; depends=[dplyr future glue lubridate magrittr progress purrr R_utils readr rlang stringr tibble tidyr tidyselect UNF vctrs]; };
   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.0.4"; sha256="1zqn7clqrpy112kvi31f4qpv3y5j07jvngg143dryrn3j2j81yav"; 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]; };
+  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.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]; };
@@ -11054,17 +11272,19 @@ 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]; };
   ivdesign = derive2 { name="ivdesign"; version="0.1.0"; sha256="02v2cnljz3gk7mb8q3p1i54rj6l02r4pirznnrshy092zvrvr26m"; depends=[]; };
+  ivdoctr = derive2 { name="ivdoctr"; version="1.0.1"; sha256="0204blq5yxpwz00vf49k678ccnyih0lbglbxhm1c69hx5p4a62qn"; depends=[AER coda data_table MASS Rcpp RcppArmadillo rgl sandwich]; };
   ivfixed = derive2 { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; };
   ivitr = derive2 { name="ivitr"; version="0.1.0"; sha256="0fc5svmkxv0s20ipwbvkvmmh1w5gb1g6va496fa9qbf99wifnmrx"; depends=[dplyr nnet randomForest rlang]; };
   ivmodel = derive2 { name="ivmodel"; version="1.9.0"; sha256="1yb2k6ciwcfiylnlb9ncz30mz10f73rxqrxk8s099ypr5k6myajk"; depends=[Formula ggplot2 Matrix reshape2]; };
@@ -11074,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]; };
@@ -11089,12 +11310,13 @@ in with self; {
   jacpop = derive2 { name="jacpop"; version="0.6"; sha256="0kq6rn33civ2g6i5nwfqvcgmnn5k2dwmw60lkmz4ywm0y4xxlkai"; depends=[]; };
   jaggR = derive2 { name="jaggR"; version="0.1.1"; sha256="0qd4kwcc8zcvg2p1njcv7z4y5ssg77zsylph5bcaqdjxq996q7rv"; depends=[formatR glue]; };
   jagsUI = derive2 { name="jagsUI"; version="1.5.2"; sha256="1ig2v5k1xjggh694azr96cv80qapq8al7dhsjhvkx0dihp8kgad2"; depends=[coda rjags]; };
+  jagstargets = derive2 { name="jagstargets"; version="1.0.1"; sha256="1ps0gmfgsgig793hfbwpwcnfjl8jni87nmx6i3az5k9y08p1i8ra"; depends=[coda digest fst posterior purrr qs R2jags rjags rlang tarchetypes targets tibble withr]; };
   jalcal = derive2 { name="jalcal"; version="0.1.0"; sha256="19smqrhvab8f2xb8pa8x6gmvr0r2lwvqisfahixs7aa8lxi708jw"; depends=[]; };
   james_analysis = derive2 { name="james.analysis"; version="1.0.1"; sha256="1b2n4ds4ivfk564z87s2rxjl9j0y4drd3cmyv8jqpccmdvx1137d"; depends=[naturalsort rjson]; };
   janeaustenr = derive2 { name="janeaustenr"; version="0.1.5"; sha256="1wyn4qc28a3sval8shmyi2d7s4nl3jh96s8pzq871brxcmrncbwr"; depends=[]; };
   janitor = derive2 { name="janitor"; version="2.1.0"; sha256="09nqm957m2f54y2l30619b58x4i7gxwvr2lwg5kly5xy1ya1a1nn"; depends=[dplyr lifecycle lubridate magrittr purrr rlang snakecase stringi stringr tidyr tidyselect]; };
   jaod = derive2 { name="jaod"; version="0.3.0"; sha256="071j3xqk7gzsic1sk8v0pwmqv6pav0nj9vvbskss3l1gczy80dfr"; depends=[crul jsonlite tibble]; };
-  japanmesh = derive2 { name="japanmesh"; version="0.1.0"; sha256="0hnl9x9vmmjsfm209wvvx1cs5f4yc5if4ldx09dlk14wfvhdhn39"; depends=[dplyr geosphere magrittr purrr rlang sf stringr tibble tidyr units vctrs]; };
+  japanmesh = derive2 { name="japanmesh"; version="0.1.1"; sha256="1p6kssz0q2zjx7yd4x7jf56n62nx4g8gmbc8v2din1mgks4rm614"; depends=[dplyr geosphere lifecycle magrittr purrr rlang sf stringr tibble tidyr units vctrs]; };
   japanstat = derive2 { name="japanstat"; version="0.1.0"; sha256="0rd2q23s9r075ns47ccmr8fjvdcv2jncjs9w1c668s597cwkf6lb"; depends=[cli dplyr httr pillar progress purrr rlang stringi stringr tibble tidyr vctrs]; };
   jarbes = derive2 { name="jarbes"; version="1.7.2"; sha256="0qjnx0m65f6a8r6y5mwplaq518lrsf73k8zbf728v857nbjlhf2l"; depends=[ggExtra ggplot2 gridExtra MASS mcmcplots R2jags rjags]; };
   jcext = derive2 { name="jcext"; version="0.1.1"; sha256="02zppiyq3gy551zi1g00gam1w4y1wgzn5zi9wrcz8yw915dla0ix"; depends=[ggplot2 maps RColorBrewer rworldmap sp stringr]; };
@@ -11103,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=[]; };
@@ -11120,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]; };
@@ -11128,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=[]; };
@@ -11141,35 +11362,37 @@ in with self; {
   josaplay = derive2 { name="josaplay"; version="0.1.3"; sha256="0q6kjk3mjxwbqvq3zz0ylpi1viznp9pxzngqpjzv5sibv0ndh0lf"; depends=[magrittr utf8]; };
   jose = derive2 { name="jose"; version="1.2.0"; sha256="09k6wnnqlsbmlag4156rcsnavph52grqagkax9kd1sxgpknril3v"; depends=[jsonlite openssl]; };
   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.3"; sha256="0f6dgcbh7qvk97vyykyncf0nlspjhyppwywx2hk3h9gzh323c7zq"; depends=[cli data_table glue rlang]; };
+  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.0"; sha256="0ab8kks0i5cqj2p15hf9zinj3hdji2nj63j134q26bdf4hdvvza3"; depends=[httpuv jsonlite mime R_utils R6 stringi stringr]; };
+  jrc = derive2 { name="jrc"; version="0.5.1"; sha256="0lg647nfijj6grlmwkasd6di5h6286dxmw1373k6n5gwym1g1l36"; depends=[httpuv jsonlite mime R_utils R6 stringi stringr]; };
   jrich = derive2 { name="jrich"; version="0.60-35"; sha256="1y486bfqmfg3f22wm0lfk3lh20ljgi8qrgn5jji0f417wh48nf0x"; depends=[ape]; };
-  jrt = derive2 { name="jrt"; version="1.0.1"; sha256="023i0xqz8mhnjnii92vjw64mjnnlf8jaji99i4c2vxcr7m83jm0r"; depends=[directlabels dplyr ggplot2 ggsci irr mirt psych tidyr]; };
+  jrt = derive2 { name="jrt"; version="1.1.0"; sha256="1j2yc564ifybi3z0jh1kg5ijgpdqwnvp71hixmwrm61va8vmr64d"; depends=[directlabels dplyr ggplot2 ggsci irr mirt psych tidyr]; };
   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]; };
-  jti = derive2 { name="jti"; version="0.8.0"; sha256="15rx44psz5hbpqzlmwnmqzzdf6488n17mbhyh52wyaaa70gk9ndh"; depends=[igraph Rcpp RcppArmadillo sparta]; };
+  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.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=[]; };
@@ -11212,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=[]; };
@@ -11226,18 +11449,19 @@ in with self; {
   kernscr = derive2 { name="kernscr"; version="1.0.5"; sha256="1kcj710q8jbc34g6fcv2nk07hpsb81mfx8hvivgxq8x58028gjzs"; depends=[MASS mvtnorm]; };
   keyATM = derive2 { name="keyATM"; version="0.4.0"; sha256="1505r5753fv2xifcm960mzis0w8z4ax7rdbvvcy8bqckzi873m7n"; depends=[dplyr fastmap future_apply ggplot2 ggrepel magrittr MASS Matrix matrixNormal pgdraw purrr quanteda Rcpp RcppEigen RcppProgress rlang stringr tibble tidyr]; };
   keyToEnglish = derive2 { name="keyToEnglish"; version="0.2.1"; sha256="1wzn93gp1v6y8qh9kypydqadnf6fc7xzjili77b7j402hvb0a8zg"; depends=[jsonlite openssl stringr]; };
-  keyholder = derive2 { name="keyholder"; version="0.1.5"; sha256="0sr0rcchvwflqf2xj9j8j35ng52ichgvp1ix57v4ah91dlpj9i5s"; depends=[dplyr rlang tibble]; };
+  keyholder = derive2 { name="keyholder"; version="0.1.6"; sha256="0f8pqmp4va8y92zlld42shig0r9idif5wi1vi378753pkibfd4yb"; depends=[dplyr rlang tibble]; };
   keyplayer = derive2 { name="keyplayer"; version="1.0.3"; sha256="0j4n46r9ivkbzqz8g22dq2bpmx7bs05yb5qp27p9jnfh5x19v2ds"; depends=[igraph matpow sna]; };
   keypress = derive2 { name="keypress"; version="1.2.0"; sha256="19l33519f726i3q20y34v1aavrn4fpj3zn5caij3l9q2asw2kqk2"; depends=[]; };
   keyring = derive2 { name="keyring"; version="1.3.0"; sha256="1j8l6nmh4dr70kwybiais8yh687fdwrj134xynq68igw1b1rm8ga"; depends=[askpass assertthat filelock openssl R6 rappdirs sodium yaml]; };
   keyringr = derive2 { name="keyringr"; version="0.4.0"; sha256="04f0z6mqj75l5qhiab0zvjsvz3jz1bp6dfazkpgihjmls5k11dnh"; depends=[stringr]; };
   keys = derive2 { name="keys"; version="0.1.1"; sha256="0jq7c70hyxpaxkrciy2jz4bf2mdcbcnmpjniwqffk1lkaxr0ni9b"; depends=[htmltools jsonlite shiny]; };
+  kfa = derive2 { name="kfa"; version="0.1.0"; sha256="1nq4lmnw9bfck98q43ldnbg94q0cq495qb0xsfgzpagg0y7dhml5"; depends=[caret doParallel flextable foreach GPArotation knitr lavaan officer rmarkdown semPlot semTools simstandard]; };
   kfda = derive2 { name="kfda"; version="1.0.0"; sha256="0861hzry55gj8ykdd8cwil1wb7234pkmipp4v1749fpmzggq1xgi"; depends=[kernlab MASS]; };
   kfigr = derive2 { name="kfigr"; version="1.2.1"; sha256="0kys4j2n2n1v918v877798m34q431fpz0p0s6gxnfqnn26z2hy14"; depends=[knitr]; };
   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]; };
@@ -11255,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]; };
@@ -11274,7 +11499,7 @@ in with self; {
   kmodR = derive2 { name="kmodR"; version="0.1.0"; sha256="1y1pqrrralklflyb1dw8bslfcyqrw8ryijfbhkwba7ykpxcf9fda"; depends=[]; };
   knitLatex = derive2 { name="knitLatex"; version="0.9.0"; sha256="1igacc2sx8897wmnhh8kngd0fq6zqbi30chy5c8jw60zc38mi3wi"; depends=[knitr]; };
   knitcitations = derive2 { name="knitcitations"; version="1.0.12"; sha256="1c7pl8jh61pv0brqanmyfy6s0ipxn312b2hjypcsjaph6b8mhj2q"; depends=[digest httr RefManageR]; };
-  knitr = derive2 { name="knitr"; version="1.36"; sha256="0hcf5gii0qlvv15f86y6h08qp0hd9lcrykzj0mdfjdfi52sgbkkf"; depends=[evaluate highr stringr xfun yaml]; };
+  knitr = derive2 { name="knitr"; version="1.37"; sha256="0qyp78v3hz4qimlc3w4hj5dzp44n2w085ay0l1zvxsxs9142mk9r"; depends=[evaluate highr stringr xfun yaml]; };
   knitrBootstrap = derive2 { name="knitrBootstrap"; version="1.0.2"; sha256="1aj60j7f0gcs120fdrnfbnb7vk7lfn1phil0mghg6a5zldz4cqs3"; depends=[knitr markdown rmarkdown]; };
   knitrProgressBar = derive2 { name="knitrProgressBar"; version="1.1.0"; sha256="18v5jrscfrin3mcs63bpj0q1drxk3zkhlbw93sqh0qrq04d4x02v"; depends=[R_oo R6]; };
   knitrdata = derive2 { name="knitrdata"; version="0.6.1"; sha256="1am79r4rkrw7vjmyzc0cq4p52l2ypdw99rfhrvdsaq11yllx08mx"; depends=[knitr xfun]; };
@@ -11282,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]; };
@@ -11304,7 +11529,7 @@ in with self; {
   kriging = derive2 { name="kriging"; version="1.1"; sha256="04bxr34grf2nlrwvgrlh84pz7yi0r8y7dc2wk0v5h5z6yf5a085w"; depends=[]; };
   krippendorffsalpha = derive2 { name="krippendorffsalpha"; version="1.1-1"; sha256="1vaqwimlmbxh2jy08f3bkpb9r4fz6gkx6cpzjkgiyspjaqhc8a1a"; depends=[]; };
   krm = derive2 { name="krm"; version="2020.5-20"; sha256="1b6477cjv5k30djvrlbmwn91ghgwk24cfd58cb0q80xqhgiqvrzb"; depends=[kyotil]; };
-  ks = derive2 { name="ks"; version="1.13.2"; sha256="02gnpyjqdlj6dl2x9i7mmks4f5nrh85j3h0kfa0v1v6wi8blx7kw"; depends=[FNN kernlab KernSmooth Matrix mclust mgcv multicool mvtnorm plot3D pracma]; };
+  ks = derive2 { name="ks"; version="1.13.3"; sha256="0wyfdmhr753vpizns9kl7h7pfnnb16c7m7w9a4bpz62xcvgq1yyy"; depends=[FNN kernlab KernSmooth Matrix mclust mgcv multicool mvtnorm plot3D pracma]; };
   ksNN = derive2 { name="ksNN"; version="0.1.2"; sha256="06x471hck95xqy7rbh53ibhzh6kfjra7y9ipqdj2rqdkmfdj72q8"; depends=[Rcpp]; };
   kselection = derive2 { name="kselection"; version="0.2.0"; sha256="1arg96r2pldvb89rfqnfpjxwksyac2mhmbimbkwzm7wrnbnrcn5d"; depends=[]; };
   ksharp = derive2 { name="ksharp"; version="0.1.0.1"; sha256="1dnkj838y8c1b53mlljhjqs3nd864i9xcqsv9n4fw28b4br9m570"; depends=[]; };
@@ -11317,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=[]; };
@@ -11327,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.4"; sha256="02rci7b3kr2bysy5picfgxagl6cbmplanflsf8j1pwnfyrif9ikx"; depends=[aricode 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]; };
@@ -11343,15 +11568,16 @@ in with self; {
   labstats = derive2 { name="labstats"; version="1.0.1"; sha256="1780slp9l1rqwr5ika6hv606jzbaa3g1ywzkjkd3ff2gb0cby3ni"; depends=[]; };
   lacm = derive2 { name="lacm"; version="0.1.1"; sha256="01zd4zsas60kzxx4wsnxs6qqc72i4djwj8m7ryjyx5nrxgpjaixc"; depends=[numDeriv statmod]; };
   lacrmr = derive2 { name="lacrmr"; version="1.0.3"; sha256="0zpfc4a7krwkwbf31idpmdzks4qassqnhxk1f9fcq1qjzqzhjkvi"; depends=[dplyr httr janitor jsonlite magrittr sjmisc stringr]; };
+  lactater = derive2 { name="lactater"; version="0.1.0"; sha256="0g3hl8q3rdxpn8m4yngmlswyqlnlgj528amn26msybcjzp7r2dbz"; depends=[broom dplyr forcats ggplot2 ggtext lubridate magrittr minpack_lm patchwork pracma rlang segmented stringr tidyr]; };
   lactcurves = derive2 { name="lactcurves"; version="1.1.0"; sha256="1ksllpgz519gzrs8gwfgg7743vj3j7ikmbwgisdjs77sdxxl7xyz"; depends=[orthopolynom polynom]; };
   lacunaritycovariance = derive2 { name="lacunaritycovariance"; version="1.1-2"; sha256="15s05igbrvsl0jlc84750l4i1pahigjacvq6b6gjj9gbyjfs6cbm"; depends=[RcppRoll spatstat spatstat_core spatstat_geom spatstat_linnet]; };
   laeken = derive2 { name="laeken"; version="0.5.2"; sha256="1p3ccbaydlr52p8qmgmm2l6kryvq6jjjx7mqn2vv0gpjaxqhyy92"; depends=[boot MASS]; };
   laercio = derive2 { name="laercio"; version="1.0-1"; sha256="0la6fxv5k9zq4pyn8dxjiayx3vs9ksm9c6qg4mnyr9vs12z53imm"; depends=[]; };
-  lagged = derive2 { name="lagged"; version="0.3-0"; sha256="0bm3d6pgb25rw1njarki60j4d7mx7rni25a21iw1l650slg7sscm"; depends=[]; };
+  lagged = derive2 { name="lagged"; version="0.3-1"; sha256="1zkfx1s6xvxagn4vrv3zkfkrwwibmqmilrfras2813v4y419kfcd"; depends=[]; };
   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]; };
@@ -11371,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.3"; sha256="1fbpcjmj3f0ff39jh5kkk7lj7596zkpv46khq62yr6a0dbw5j9df"; 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=[]; };
@@ -11383,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]; };
@@ -11410,19 +11637,20 @@ in with self; {
   lazyraster = derive2 { name="lazyraster"; version="0.5.1"; sha256="1ryp0li6lrqs95h3zwc5lhq8b0mbfvpgcpbfcq6cxcjx63czk8ix"; depends=[quadmesh raster vapour]; };
   lazysf = derive2 { name="lazysf"; version="0.1.0"; sha256="19g0qzm0dxsa8m4dj4zmz8r674dw43pqs5gg6n3xfgm5dl9772jb"; depends=[DBI dbplyr dplyr magrittr sf tibble]; };
   lazysql = derive2 { name="lazysql"; version="0.1.3"; sha256="18vff80rl8ckjwfqi9dhzs1q35a1wrxvynidji6dy2kvvk38xnpa"; depends=[checkmate magrittr plyr]; };
-  lazytrade = derive2 { name="lazytrade"; version="0.5.2"; sha256="0yjqnv4a8fprg7mjpql4jrz98bbmxk0jjn7h9jpb08b79j03vk3y"; depends=[cluster dplyr ggplot2 h2o lifecycle lubridate openssl readr ReinforcementLearning stringr tibble]; };
+  lazytrade = derive2 { name="lazytrade"; version="0.5.3"; sha256="055wyaf36f5g27wly24i0sbf2k0rriga8xcgn241gszlzagrnh55"; depends=[cluster dplyr ggplot2 h2o lifecycle lubridate openssl readr ReinforcementLearning stringr tibble]; };
   lba = derive2 { name="lba"; version="2.4.4"; sha256="0izqndm992zv3sg8v5lpnxbdbxhpxl6hq3bf6xgq3pnw8vl3f6nb"; depends=[alabama MASS plotrix rgl scatterplot3d]; };
   lbfgs = derive2 { name="lbfgs"; version="1.2.1"; sha256="0p99g4f3f63vhsw0s1m0y241is9lfqma86p26pvja1szlapz3jf5"; depends=[Rcpp]; };
   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]; };
@@ -11448,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]; };
@@ -11476,20 +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.0.1"; sha256="06dng2y2ip629nf94h9lwksrwgllhh69dqvpxq9d6d289nr88s6a"; 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.0"; sha256="14bswisavxsvczcibzh8j5135z3bq5z6ajd9n8s1dn957g3sk8va"; depends=[igraph Matrix Matrix_utils Rcpp RcppArmadillo RcppEigen sccore]; };
+  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.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.0.8"; sha256="1ryh2sijl55jlzj31wgrjymi2hl50xssh284qqb3fcwkw47adf6g"; 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]; };
@@ -11506,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]; };
@@ -11521,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.0"; sha256="17k6gysypc91lx5701bvf4rvh10rrmmz7z6xlm09cchqfpkhlvch"; depends=[car gvlma imager leaps lidR raster reldist sp]; };
-  lifecontingencies = derive2 { name="lifecontingencies"; version="1.3.7"; sha256="00vqbrv1y3hg8iqx6mfm7p81a23hf69kc20pzacsx93yqdh97841"; depends=[markovchain Rcpp]; };
+  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.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]; };
@@ -11534,13 +11766,13 @@ 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]; };
   likelihoodAsy = derive2 { name="likelihoodAsy"; version="0.51"; sha256="0qxwdf6npyj926zd2pbfscgz1z01hwgm6099h882d2l1sim2j9g7"; depends=[alabama cond digest nleqslv pracma Rsolnp]; };
   likelihoodExplore = derive2 { name="likelihoodExplore"; version="0.1.0"; sha256="13cnql7pbx8qq1j3cfb3lkzzf2k55shpfa0jd00z30ys6imxzcfn"; depends=[lazyeval plyr]; };
-  likelihoodR = derive2 { name="likelihoodR"; version="1.0.6"; sha256="015g7crpfmzyiy16czknmv6ay3276kznby2y8h65y7mld4vzmcdj"; depends=[]; };
+  likelihoodR = derive2 { name="likelihoodR"; version="1.0.7"; sha256="1bcrfx3v9xjyb2q44x26wf4d7p0f8nbcp1xhimk7y9rg05s7cxc9"; depends=[]; };
   likert = derive2 { name="likert"; version="1.3.5"; sha256="0c4irxs7pp1z8nj4s8cq23daw4h94n3h7x4f6q1d85614qcl9l3p"; depends=[ggplot2 gridExtra plyr psych reshape2 xtable]; };
   lilikoi = derive2 { name="lilikoi"; version="2.0.4"; sha256="037iq4kqn9iwdq70hq1l7w1ak533ba43npnkr6yk6jnl7avf4bma"; depends=[car caret dplyr gbm ggplot2 glmnet h2o impute infotheo limma M3C Metrics MLmetrics pathifier pathview plyr preprocessCore pROC RCy3 reshape reticulate RWeka scales stringr survival survminer]; };
   lillies = derive2 { name="lillies"; version="0.2.9"; sha256="0ljqfl9w26z61fivzlr4sh371s418alzzkdlhghsq0w03871wd3h"; depends=[ddpcr dplyr knitr pracma progress rlang survival tidyr]; };
@@ -11548,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=[]; };
@@ -11555,13 +11788,15 @@ in with self; {
   linconGaussR = derive2 { name="linconGaussR"; version="0.1"; sha256="10l7qajqa8f8yq3zbjmjxf0va2krq1rab42ihfhz2jyv3mn24xsi"; depends=[MASS Rcpp RcppArmadillo]; };
   lindia = derive2 { name="lindia"; version="0.9"; sha256="1qma8wr0fkwx03x971crkh8cfc8z4374py1r1wvszj9wzi4vfp5r"; depends=[ggplot2 gridExtra MASS]; };
   linear_tools = derive2 { name="linear.tools"; version="1.3.0"; sha256="14lp3gifzbid82lkr7rdqajz2abp8m7y8irpwx6s8w66djjfckda"; depends=[ggplot2 magrittr plyr pryr scales stringr]; };
+  linearModel = derive2 { name="linearModel"; version="1.0.2"; sha256="032liplyjw7n0ylvpqv038pf8sbfbcz58zka5rr76cvh2xzf87vg"; depends=[]; };
   linearQ = derive2 { name="linearQ"; version="2.0"; sha256="0sx7bx0x1k193day5w1dbmc09kn5741pcilxijjn2y5aijhd5wk9"; depends=[Rcpp stepR]; };
   lineartestr = derive2 { name="lineartestr"; version="1.0.0"; sha256="0bzsywk97j2mmsi7pj9267za1q2601crynh9kszwj6xjbg08nvsm"; depends=[dplyr forecast ggplot2 Matrix readr sandwich tidyr viridis]; };
   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]; };
-  lingtypology = derive2 { name="lingtypology"; version="1.1.7"; sha256="1ykbjzv139vdlpyf2ka59whz1x98ingsj2z09lz4f5f8dasp7fn7"; depends=[jsonlite leaflet leaflet_minicharts stringdist]; };
+  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]; };
   linkcomm = derive2 { name="linkcomm"; version="1.0-14"; sha256="15xm4c7sqpid1vjra250dnvdx98qgzbzmvaycf3zqqnqcmy5bw9n"; depends=[dynamicTreeCut igraph RColorBrewer]; };
@@ -11584,16 +11819,16 @@ 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]; };
   listenv = derive2 { name="listenv"; version="0.8.0"; sha256="0ps8bk7zlhbviawrw7vw25skjq81hkk3ijyi6g74dmfqy8zsyapx"; depends=[]; };
   listviewer = derive2 { name="listviewer"; version="3.0.0"; sha256="0zirxdj58h43062f68h6nqcgmpnvdglxx3kjbs4i4k0z9wvqhx8r"; depends=[htmltools htmlwidgets shiny]; };
-  litRiddle = derive2 { name="litRiddle"; version="0.4.0"; sha256="0pq8140g0w03x38k0wv8ia83b8fvb9zfp1qmg0yp9apq20v1nzs5"; depends=[dplyr ggplot2]; };
+  litRiddle = derive2 { name="litRiddle"; version="0.4.1"; sha256="1km6088pzf3s7ccbs87m4x7g9ypmvyp3l126wpg1yvxsj3gdaalg"; depends=[dplyr ggplot2]; };
   liteq = derive2 { name="liteq"; version="1.1.0"; sha256="0w3w9f6374qwvlrqknavqh9b38n5q1r6aw5zmz5lahvadalwdbwi"; depends=[assertthat DBI rappdirs RSQLite]; };
   litteR = derive2 { name="litteR"; version="0.9.1"; sha256="14giq4lp3g1srkj8y94y8sih11ix32fnh6nwaz3xvrx7jm2ic580"; depends=[dplyr fs ggplot2 purrr readr rlang rmarkdown stringr tidyr tidyselect yaml]; };
-  littler = derive2 { name="littler"; version="0.3.14"; sha256="14iwwp6gdshz3igkq96sjfrhdgk3ia7cf9rng1ylsp7809v1xi1x"; depends=[]; };
+  littler = derive2 { name="littler"; version="0.3.15"; sha256="149g3v5yvxfg7rv4iw8vk4lfialddvcf6y3mngyk9d2d75chzs49"; depends=[]; };
   liureg = derive2 { name="liureg"; version="1.1.2"; sha256="1zhc5fs47whjvvwwiivykxfchzbjbldyvdmqh9rp7ccwba2q3956"; depends=[]; };
   live = derive2 { name="live"; version="1.5.13"; sha256="1s6yrbwlc4wqszl2yvy1x6d93my18ba8sm8pwfy547cd1x055vig"; depends=[breakDown data_table dplyr e1071 forestmodel ggplot2 gower MASS mlr shiny]; };
   livechatR = derive2 { name="livechatR"; version="0.1.0"; sha256="1k0z6q3s9iw962m1lwlx45p95flzl5jg1xh6ng426v9jh1yyrbb2"; depends=[data_table dplyr jsonlite magrittr purrr]; };
@@ -11607,13 +11842,13 @@ in with self; {
   lm_beta = derive2 { name="lm.beta"; version="1.5-1"; sha256="0p224y9pm72brbcq8y1agkcwc82j7clsnszqzl1qsc0gw0bx9id3"; depends=[]; };
   lm_br = derive2 { name="lm.br"; version="2.9.4"; sha256="1ia96snhmafajdzxmpq2dbl7lmnmnxi1jx808z4mhrzx2mi41fh7"; depends=[Rcpp]; };
   lmDiallel = derive2 { name="lmDiallel"; version="0.9.4"; sha256="11v3s9s0xdvmhm0insfpc5i7q1mvgb1zz0r7a97p3sbr8ylw251c"; depends=[multcomp plyr sommer]; };
-  lmForc = derive2 { name="lmForc"; version="0.0.1"; sha256="1bmgmj30wxhb1pvhmkyznnbshl9rwc7km10zd5rxbmbxx136pwbp"; depends=[]; };
+  lmForc = derive2 { name="lmForc"; version="0.1.0"; sha256="0v1r7yv0i3sc6cii78d9f9d3a6rvpvwrs6k3byi825r497xjgw3j"; depends=[]; };
   lmPerm = derive2 { name="lmPerm"; version="2.1.0"; sha256="1ss2hcfxqvfq4n6hypv7jp0n0apby9payxzaswaysr5368lkidn3"; depends=[]; };
   lmQCM = derive2 { name="lmQCM"; version="0.2.3"; sha256="0zld7gyng9kk3np62j8xfg951gvgsq2r8x3zmjfr2ykalw36kx5d"; depends=[Biobase genefilter progress]; };
   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=[]; };
@@ -11624,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]; };
@@ -11682,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.4.0"; sha256="0j3p0lkwdj700nfjpkc7n4kf3xjz7ak69q8rziilpiqg7dxf1502"; depends=[MASS nloptr randtoolbox]; };
+  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]; };
@@ -11706,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]; };
@@ -11731,8 +11969,8 @@ 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]; };
-  lphom = derive2 { name="lphom"; version="0.3.0-7"; sha256="19dbg8f44gsm7dnm89pzs42qq36jxjq7bcds0xg2j8vc4r5dhs9j"; depends=[lpSolve Rsymphony]; };
+  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]; };
   lpl = derive2 { name="lpl"; version="0.11"; sha256="11w2cr5n72p4wds5dm039rdinhvxjfqvrmisksfpf47jddjxhm42"; depends=[MASS survival]; };
@@ -11741,9 +11979,11 @@ in with self; {
   lpridge = derive2 { name="lpridge"; version="1.0-8"; sha256="0jk4l95z9rcdqkc8lpp4sf1mg2dqj67rhqw1iafrxy5lx4jfaqqx"; depends=[]; };
   lqmm = derive2 { name="lqmm"; version="1.5.6"; sha256="1s0x95c3gqznw9snr7fm2k41n6h6ay9rsk3bp88jcna1yn3f525i"; depends=[nlme SparseGrid]; };
   lqr = derive2 { name="lqr"; version="4.0"; sha256="1hv8zvpivmp55gsyk9wzhix4swkx5pp6h1kbiz5749irhfx7kpx0"; depends=[MomTrunc numDeriv quantreg spatstat_geom]; };
+  lrd = derive2 { name="lrd"; version="0.1.0"; sha256="08g7i6y2isq2vq53byxh58908na4jghka20dznk19lc5mcfpkw97"; depends=[knitr]; };
   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.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]; };
@@ -11754,13 +11994,13 @@ 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=[]; };
   lspls = derive2 { name="lspls"; version="0.2-2"; sha256="1cmffkyc881659l9m1miwhr3jfpwb0xb9n5chg317vcm8l9r4wcn"; depends=[pls]; };
   lsplsGlm = derive2 { name="lsplsGlm"; version="1.0"; sha256="1qh68r033fwq1hc19h2srl1k6znvvvrcp38ghxadsksjfxllvniy"; depends=[]; };
-  lsr = derive2 { name="lsr"; version="0.5.1"; sha256="1vx3wy7s8wr79almwn1c24x91c5sxndpbi2hi7fa6xa8w7xl3lzn"; depends=[]; };
+  lsr = derive2 { name="lsr"; version="0.5.2"; sha256="00mbnla74k7xcs8640chkcjydi945dahs2d6h1lv89nsrm8hpzx9"; depends=[]; };
   lss2 = derive2 { name="lss2"; version="1.1"; sha256="1rkv26zq36zyh891xkkllxphwplljmzpy15g619x1w4qvsajyyg8"; depends=[quantreg]; };
   ltable = derive2 { name="ltable"; version="2.0.1"; sha256="15il58g7m09z0alln12xp1g6y3i8vaxggf229nbgb5gmcf4z97dx"; depends=[clipr Rcpp RcppGSL]; };
   ltbayes = derive2 { name="ltbayes"; version="0.4"; sha256="0kv5k56hmc1m7bv5pmmmk46822szsgwqgpwydn0x56az7xn6hjk6"; depends=[mcmc MHadaptive numDeriv]; };
@@ -11801,8 +12041,8 @@ in with self; {
   mBvs = derive2 { name="mBvs"; version="1.5"; sha256="1fmi4ap55jl06swivspk24acwf5n4wd9agiw330z15x427j579s3"; depends=[]; };
   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.0"; sha256="0p93ca3gkgqi3w3f4q7xh33kslhy2dg7sx31h6f4mj4kkk95wr1r"; depends=[ade4 ape betapart cluster dendextend FactoMineR gawdis geometry ggplot2 ggrepel Hmisc patchwork reshape2 rstatix vegan]; };
-  mFLICA = derive2 { name="mFLICA"; version="0.1.3"; sha256="0q9d4x6imrcayk0qcdwp6rigk9b741xc64vbiggmynzyc1kjwr4w"; depends=[dtw ggplot2]; };
+  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.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=[]; };
@@ -11833,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]; };
@@ -11841,10 +12082,11 @@ 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=[]; };
-  mailR = derive2 { name="mailR"; version="0.4.1"; sha256="1bfh3fxdqx9f9y3fgklxyslpcvhr9gcj7wsamaxzgrcsaxm8fdlw"; depends=[R_utils rJava stringr]; };
+  mailR = derive2 { name="mailR"; version="0.8"; sha256="0p6vxzpyms1pxdb0j07izzxinw8xfmmbsj35nkypxyjv92qi802k"; depends=[assertthat R_utils rJava stringr]; };
   mailmerge = derive2 { name="mailmerge"; version="0.2.3"; sha256="0sc2201cvyis59lqs56x520q9hpp39hcm807diqr0wnip41h0f3i"; depends=[commonmark dplyr fs glue gmailr googledrive googlesheets4 lifecycle magrittr miniUI purrr rmarkdown rstudioapi shiny withr]; };
   mailtoR = derive2 { name="mailtoR"; version="0.1.0"; sha256="0mnzblhy2vbxkf0k49bw1g08jw84s59zxbjrva2j2q347wzf4rgk"; depends=[glue htmltools]; };
   majesticR = derive2 { name="majesticR"; version="0.1.1"; sha256="0x23p4js9cfnj8c33cp0fql5pvs4fn4frbbzpq85mxjhiifkxxpf"; depends=[jsonlite urltools]; };
@@ -11870,13 +12112,13 @@ 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]; };
-  mapboxapi = derive2 { name="mapboxapi"; version="0.3"; sha256="151p1k38s38bbgzwhq52jhsmlg9nhb6sm5qlz9589s0yx06mp370"; depends=[aws_s3 curl dplyr geojsonsf httr jpeg jsonlite leaflet magick png protolite purrr raster rlang sf slippymath stringi tidyr units]; };
+  mapboxapi = derive2 { name="mapboxapi"; version="0.3.1"; sha256="1rqkzc3ggccvn9s1ib23yv3531j433z4xwl0alr8qk23pj3290ff"; depends=[aws_s3 curl dplyr geojsonsf httr jpeg jsonlite leaflet magick png protolite purrr raster rlang sf slippymath stringi tidyr units]; };
   mapboxer = derive2 { name="mapboxer"; version="0.4.0"; sha256="0f873js87dgk8nqnhpxh88svvsbnk81vkm7gycb62mkr4xqsgqs7"; depends=[geojsonsf htmltools htmlwidgets magrittr purrr yaml]; };
   mapcan = derive2 { name="mapcan"; version="0.0.1"; sha256="1a4135wc1h4nzcv6xq0bg75i744wyq8p7q0ix7y2x2gb6s35w46k"; depends=[dplyr ggplot2 magrittr]; };
   mapchina = derive2 { name="mapchina"; version="0.1.0"; sha256="0f6ayq4izqxcj0hi2vfg0pc239hxgg7abb5476v5mfjjyi156mni"; depends=[sf]; };
@@ -11884,21 +12126,22 @@ 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="0.1.3"; sha256="0s3qlvf1cwc4l2g1z6h30cijsnxdyyxiprms0lvs1fxx2kf64f7i"; depends=[tibble]; };
+  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.3.0"; sha256="0kyqzpk14k4qs4vqlzpsbl29wfkspd3c95mqvlzh1a8shw70jfrn"; depends=[classInt Rcpp sf]; };
+  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]; };
   maptools = derive2 { name="maptools"; version="1.1-2"; sha256="0fa4a43zax8gn3jdp4ngqav61x4g6l33bg9wzqbngkbjhipck59r"; depends=[foreign lattice sp]; };
   maptpx = derive2 { name="maptpx"; version="1.9-7"; sha256="0f85i3vwr5rvz261z6j7x15gsahxrq4qqddfb0qyhypgihvwh857"; depends=[slam]; };
@@ -11909,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=[]; };
@@ -11927,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]; };
@@ -11947,13 +12190,14 @@ 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.2"; sha256="08qafqz566d03zaxlxi32ir73rl0kxag257vi15kmw61sd57rrgm"; depends=[data_table dplyr DT forecast ISOweek plotly shiny shinydashboard shinyWidgets tidyr tidyverse]; };
+  matman = derive2 { name="matman"; version="1.1.3"; sha256="0mwxxqqlg6yydc06hrjqk5ly686s21w5i5z40axxwkmpzyz84sqv"; depends=[data_table dplyr DT forecast lubridate parsedate plotly shiny shinydashboard shinyWidgets tidyr tidyselect]; };
   matpow = derive2 { name="matpow"; version="0.1.1"; sha256="1a6q21ba16qfdpykmjwgmrb1kkvvyx48qg8cbgpdmch0vhibcgcp"; depends=[]; };
   matricks = derive2 { name="matricks"; version="0.8.2"; sha256="0ik61jxd4hpw149dbbmis3wsfsim60mw9d0qjwh047qfg6sm1vsc"; depends=[ggplot2 Rcpp reshape2 rlang]; };
   matrixLaplacian = derive2 { name="matrixLaplacian"; version="1.0"; sha256="1ixqdv3sz3sc79wn3vqhlq79j7x7cvl878m5hgvbcg6klfvlmmci"; depends=[scatterplot3d]; };
-  matrixNormal = derive2 { name="matrixNormal"; version="0.0.5"; sha256="0yb2xnx72czfqzqpxnshlj8jjp6bi1l581wcw9mggisi3f79yp8h"; depends=[mvtnorm]; };
+  matrixNormal = derive2 { name="matrixNormal"; version="0.1.0"; sha256="1n85ibx4r7xzm4yz954cg7qm9isma920bxfy6fmj58g4bms30skw"; depends=[mvtnorm]; };
   matrixProfile = derive2 { name="matrixProfile"; version="0.5.0"; sha256="0nd54k878xf7hzwxawh03c3na4jfvb68afarkwrmmffjlp3i8a9g"; depends=[fftw signal TTR zoo]; };
   matrixStats = derive2 { name="matrixStats"; version="0.61.0"; sha256="16pxsba5i51ifbbgvxln2w6nigbwd3290b2ckgzn5bmib7nc1lyv"; depends=[]; };
   matrixStrucTest = derive2 { name="matrixStrucTest"; version="1.0.0"; sha256="06la9xmpi1viyjml4m1akbna3lwkz5lnq95v1nnf73i9zpfwz03k"; depends=[]; };
@@ -11964,7 +12208,7 @@ in with self; {
   matrixprofiler = derive2 { name="matrixprofiler"; version="0.1.7"; sha256="0jicclzjil9yqlapzji23wm916aprv1fyad1qrn6ip7kap3m2kln"; depends=[checkmate Rcpp RcppParallel RcppProgress RcppThread]; };
   matrixsampling = derive2 { name="matrixsampling"; version="2.0.0"; sha256="05dbn7rj07jx1hj7i6k3akf11hysxg6v32kav9fvsqmiy2zkippa"; depends=[keep]; };
   matsbyname = derive2 { name="matsbyname"; version="0.4.25"; sha256="1rqha59w4kf10byz0p41r7iaw8zwhcg06jhm94na3mcxxbd9jqjk"; depends=[assertthat dplyr Hmisc magrittr purrr rlang stringi tibble]; };
-  matsindf = derive2 { name="matsindf"; version="0.3.9"; sha256="0d764q54kw2ywanx7v5r1c0rjd39js77ghi1qjdhy2dz6qx6yiy4"; depends=[dplyr magrittr matsbyname purrr rlang tibble tidyr]; };
+  matsindf = derive2 { name="matsindf"; version="0.3.10"; sha256="13ja1sm1p4xmfc6nmiqw33gpiqpxy7ni2g4njx9b3f4vc8rn1kyx"; depends=[dplyr magrittr matsbyname purrr rlang tibble tidyr]; };
   matuR = derive2 { name="matuR"; version="0.0.1.0"; sha256="01nxs4czzs1kcxk63nwr2gnvffmlnx3yfllrhi8khdkj498s6sx1"; depends=[dplyr ggplot2 ggrepel lubridate magrittr tidyr]; };
   mau = derive2 { name="mau"; version="0.1.2"; sha256="1wgiai8f1kbjh9hfwv4m0kavd44ib5xb33p8m16zpawnw14m7sj5"; depends=[data_table ggplot2 gtools igraph RColorBrewer Rdpack stringr]; };
   mauricer = derive2 { name="mauricer"; version="2.5.1"; sha256="1qrfvnvk0vlsbqpjss1409xhlb7j7hadsqi9jydkdayf7mwz9f7a"; depends=[beastier stringr]; };
@@ -11978,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.1"; sha256="1cxvgb1lmhf11fydjhxkbg5gjnhldv4n05dpwsd27x1bbc8fbw8n"; depends=[cowplot data_table dplyr forcats ggplot2 magrittr purrr rlang]; };
+  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=[]; };
@@ -11993,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]; };
@@ -12004,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]; };
@@ -12017,11 +12263,11 @@ 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.8"; sha256="0j79a1nidwxl62x8j97k09qjxladp9irw5z1x1q5gyy6zxskvh8i"; depends=[]; };
-  mclustAddons = derive2 { name="mclustAddons"; version="0.5"; sha256="11rrilf05hdhmvrxkngqv4rcdzn7q1bhdn877ajc38257rhjnmjm"; depends=[foreach iterators mclust Rcpp RcppArmadillo]; };
+  mclust = derive2 { name="mclust"; version="5.4.9"; sha256="0s4mva0n04f3pl41msmzhlh7pnk0zbmf06n826smxkw6mz327wb5"; depends=[]; };
+  mclustAddons = derive2 { name="mclustAddons"; version="0.6"; sha256="1sk1inwln76k7ygja9sdzil1i1q8yqnvyd0l0vm81ih66ilivbzb"; depends=[foreach iterators mclust Rcpp RcppArmadillo]; };
   mclustcomp = derive2 { name="mclustcomp"; version="0.3.3"; sha256="1kxrms77m7n9lv32771zvwg82xqh5kx8al6f0bknsj8idq8aqbh3"; depends=[Rcpp RcppArmadillo Rdpack]; };
   mcmc = derive2 { name="mcmc"; version="0.9-7"; sha256="0q42m8ab7b6bxhns494ksjdss5f3c5m2jjfdlfj6fk1nz7ax7i5p"; depends=[]; };
   mcmcOutput = derive2 { name="mcmcOutput"; version="0.1.1"; sha256="0nw33xb7x695g8i91hfj2apgywbyzf2k587drzridqnfmbm26pni"; depends=[coda HDInterval MASS]; };
@@ -12075,13 +12321,13 @@ in with self; {
   measurements = derive2 { name="measurements"; version="1.4.0"; sha256="1kihavs9vgxwqjm9z1zjjngkmcwfsv8dg7nn9nrv5r06k5hv8bz6"; depends=[]; };
   measures = derive2 { name="measures"; version="0.3"; sha256="0325hhncg9fhq28cfl1hk6rhcmzzcngsmnkmbn9ri3b4hwqlafal"; depends=[]; };
   meboot = derive2 { name="meboot"; version="1.4-9.2"; sha256="0si2gmldkc5wjxaqqn9wmbvb7h6rkynbj11fjmgj4sdyv398x3jw"; depends=[dynlm hdrcde nlme tdigest]; };
-  mecor = derive2 { name="mecor"; version="0.9.0"; sha256="0g04rwbgyp316yk7qympk312b6k133cvwb65asflhfjb80kil4kx"; depends=[lme4 lmerTest numDeriv]; };
+  mecor = derive2 { name="mecor"; version="1.0.0"; sha256="0jcqf6d7x16hs0mrnkawlkl9idd2g5zb6l6mqdavkdx43fhk38j4"; depends=[lme4 lmerTest numDeriv]; };
   medExtractR = derive2 { name="medExtractR"; version="0.3"; sha256="13ai3m8dqbl62f6smy8xlslyrhlkkgcy2xkhswi230sj60b58anh"; depends=[stringi stringr]; };
   mederrRank = derive2 { name="mederrRank"; version="0.0.8"; sha256="1fvvik3bhjm6c0mhi2ma915986k2nj3lr2839k5hfrr7dg3lw3f4"; depends=[BB numDeriv]; };
-  medfate = derive2 { name="medfate"; version="2.2.3"; sha256="0r10ajajp39fcg277aammr3qspdcvdckp2gz6mllvk1pczyhyynw"; depends=[ggplot2 meteoland Rcpp]; };
+  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=[]; };
@@ -12097,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.0.1"; sha256="19rybk66kp4vlqand4ipg9vl567hyly3d1jxbs7m3ilmfhiypm1x"; 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]; };
@@ -12110,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]; };
@@ -12121,16 +12367,16 @@ 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-0"; sha256="0s19pfmxg5wx86jpyb1pmd7yvjfg01yw699c4zg0dkwp2cb43a0p"; depends=[CompQuadForm lme4 metafor xml2]; };
-  meta_shrinkage = derive2 { name="meta.shrinkage"; version="0.1.0"; sha256="04ld3ka1zn86l38dxgqzmf6s8ak9g25p5yprmnlgwsiwihww8017"; depends=[]; };
-  meta4diag = derive2 { name="meta4diag"; version="2.0.8"; sha256="1ila8x9r1rdmlwfpzfx1zj5yx1m4yrbhyb74db4wqbh1dswn7zsm"; depends=[caTools shiny shinyBS sp]; };
+  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]; };
   metaBMA = derive2 { name="metaBMA"; version="0.6.7"; sha256="1nk76cw3wb8gwknn5xq75400pfbqx72rf499nylc6yr9nascq2rk"; depends=[BH bridgesampling coda LaplacesDemon logspline mvtnorm Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
   metaCluster = derive2 { name="metaCluster"; version="0.1.0"; sha256="1n69vlxzfx937p587jb3q2hn6b59wzx20p09hsbbjwb4nj83hda7"; depends=[Biostrings cluster dbscan dplyr factoextra seqinr]; };
@@ -12169,8 +12415,8 @@ in with self; {
   metamisc = derive2 { name="metamisc"; version="0.2.5"; sha256="1fg6k2sr74iprjx2bwqqfnp67c493fkilncy2nbynv4sqmbl8s0i"; depends=[dplyr ggplot2 lme4 metafor mvtnorm plyr pROC]; };
   metan = derive2 { name="metan"; version="1.16.0"; sha256="09qa46069xb7vrmp8r0nq84fvwzzx5bqav3x3cfc2shxm6dxmf0g"; depends=[dplyr GGally ggforce ggplot2 ggrepel lme4 lmerTest magrittr mathjaxr patchwork purrr rlang tibble tidyr tidyselect]; };
   metansue = derive2 { name="metansue"; version="2.4"; sha256="1ja7a3z4d764a1rcf256kmzf8xc6d8x7mqq12vzznw5ks8r2p9hk"; depends=[]; };
-  metap = derive2 { name="metap"; version="1.6"; sha256="0z9fr4s8h6s6r50d1v29kyliflp2cws4n9zafhhpvfkl84k0488n"; depends=[lattice mathjaxr mutoss Rdpack TFisher]; };
-  metapack = derive2 { name="metapack"; version="0.1.4"; sha256="0n7y3jvjrbvq1d58cbw5b5pb10v02w1314yq0n88snc70j9s2mq3"; depends=[BH Formula ggplot2 gridExtra Rcpp RcppArmadillo RcppProgress]; };
+  metap = derive2 { name="metap"; version="1.7"; sha256="0hlcyl8lgcnihzc7xfsm1wmq2kksaz2n342l512dwdqfgmh13dfr"; depends=[lattice mathjaxr mutoss Rdpack TFisher]; };
+  metapack = derive2 { name="metapack"; version="0.1.5"; sha256="112mhfg01hci09qj9l2l3xww3za20kd1z6jshj4893mlqpmvl177"; depends=[BH Formula ggplot2 gridExtra Rcpp RcppArmadillo RcppProgress]; };
   metaplot = derive2 { name="metaplot"; version="0.8.3"; sha256="1zw8bq2fy9m15dfc92ag0dz2k9dqrf5jbvfaycizcgsgaqd79s1c"; depends=[dplyr encode ggplot2 gridExtra gtable lattice magrittr rlang scales tidyr]; };
   metaplotr = derive2 { name="metaplotr"; version="0.0.3"; sha256="01iala6cxsxv30fnlh80md5mpy3ksd2piw90zcls8f68g1c6v1jy"; depends=[ggplot2 gridExtra]; };
   metaplus = derive2 { name="metaplus"; version="1.0-2"; sha256="1fgfw9d93agcb9bbwaxzgrgpnlq146khc62vk8fmlzk3idxjpcp8"; depends=[bbmle boot doParallel doRNG fastGHQuad foreach lme4 MASS metafor numDeriv Rfast]; };
@@ -12178,9 +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.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]; };
@@ -12188,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]; };
@@ -12201,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.0"; sha256="11agjdrfhqmx2ks0vszg4qi803xrs39fv2cvnmc1b6qhkgcdr2v7"; 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"; sha256="1i90ggbyk2p1ym7xvbf4rhyl51kmfp6ibc1dnmphgw15wy56y97a"; 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]; };
@@ -12225,7 +12472,7 @@ in with self; {
   mhcnuggetsr = derive2 { name="mhcnuggetsr"; version="1.1"; sha256="0fq0niigf4lb6jqcy0w4mkfy65pxrw4brf3pg2nvmgnv3c91lgsb"; depends=[rappdirs reticulate stringr tibble]; };
   mhsmm = derive2 { name="mhsmm"; version="0.4.16"; sha256="009dj0zkj1zry7jr9hf4cknb686z50a2l967if64xm0dvjmp7dgs"; depends=[mvtnorm]; };
   mhtboot = derive2 { name="mhtboot"; version="1.3.3"; sha256="1z0p8ny9lpnrshgas7cad2lv7j0blw0n6ihiimw600n70h73jwrn"; depends=[ggplot2 reshape2]; };
-  mhurdle = derive2 { name="mhurdle"; version="1.1-8"; sha256="0nnzhcp9ghx2ifaj8lvhvv1acb3dpwi8m9n1al8zjvfg35wmxwwm"; depends=[Formula maxLik survival texreg truncreg]; };
+  mhurdle = derive2 { name="mhurdle"; version="1.3-0"; sha256="1in07zk29z5fhrg75wl1fwbrsny4ihjnrqyh2kz1bd448p10f295"; depends=[Formula generics margins maxLik numDeriv prediction Rdpack survival truncreg]; };
   mi = derive2 { name="mi"; version="1.0"; sha256="1h47k5mpbvhid83277dvvj2di493bgzz9iarpyv3r30y219l7x1l"; depends=[arm Matrix]; };
   mi4p = derive2 { name="mi4p"; version="0.7"; sha256="1j877yp06jx0ygj26w9g3vffjsva89119g5dn57pfdy6slziamx0"; depends=[DAPAR emmeans foreach imp4p impute limma mice stringr]; };
   miCoPTCM = derive2 { name="miCoPTCM"; version="1.1"; sha256="0bmb06rb53fq8ylcvz693akmz7nkjj50c6ypxsjbfp4crllpi5v9"; depends=[distr MASS nleqslv survival]; };
@@ -12246,43 +12493,44 @@ in with self; {
   miceFast = derive2 { name="miceFast"; version="0.7.1"; sha256="1vlm19b9q6539c9rqa852kkva1j3cfwbxy2y9x8khb8pqk1w0bb7"; depends=[assertthat data_table dplyr ggplot2 magrittr Rcpp RcppArmadillo tidyr UpSetR]; };
   miceRanger = derive2 { name="miceRanger"; version="1.5.0"; sha256="0xm8fcvjf6pcfyyk1gnwfdac44q6b33i5byja9lqxy7vygbxmgxd"; depends=[corrplot crayon data_table DescTools FNN foreach ggplot2 ggpubr ranger]; };
   miceadds = derive2 { name="miceadds"; version="3.11-6"; sha256="1xh977xralyivmi57c11rpbbbx24dhzwfnjq4m55ikzv2b40678j"; depends=[mice mitools Rcpp RcppArmadillo]; };
+  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]; };
   microsimulation = derive2 { name="microsimulation"; version="1.3.6"; sha256="0qpsjw1mfmz0rgkgvv2r36jfsb2k9smxw4sxd32fwafaiqh1fcb6"; depends=[ascii BH Rcpp]; };
   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]; };
-  midasml = derive2 { name="midasml"; version="0.1.5-1"; sha256="1glz7v7ai9hz1yr27j3zzx0j7b959jssw4d9h1n08rdd8akir5g4"; depends=[foreach lubridate Matrix mcGlobaloptim]; };
+  midas2 = derive2 { name="midas2"; version="0.1.0"; sha256="0k670ppbw12s4wgliiqgc5fr0sajr5axlkwa5i54hrappkh1vlb4"; depends=[coda MCMCpack R2jags]; };
+  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]; };
   mifa = derive2 { name="mifa"; version="0.2.0"; sha256="1rj3ba746f8759gird0vpvyb4fl0z2ihccpiv3qkr3sc64wgplln"; depends=[checkmate dplyr mice]; };
-  migest = derive2 { name="migest"; version="2.0.1"; sha256="0za96d4zyjvxga3686sar4aff3h5s5wnykbfiqp364qdlvh1bd0v"; depends=[circlize dplyr forcats magrittr matrixStats migration_indices purrr stringr tibble tidyr]; };
-  migraph = derive2 { name="migraph"; version="0.8.5"; sha256="03sxprzjh32b9q7c5d75vhycvjpw45iwgspn901m773419npw51g"; depends=[concaveman dplyr ggdendro ggforce ggplot2 ggraph gridExtra igraph magrittr network purrr RColorBrewer readxl rlang sna stringr tibble tidygraph tidyr]; };
+  migest = derive2 { name="migest"; version="2.0.2"; sha256="14gfslx3fpqw8170qkwf1155q3936m8kmwdqc8vqyli5nafbjf9w"; depends=[circlize dplyr forcats magrittr matrixStats migration_indices purrr stringr tibble tidyr]; };
+  migraph = derive2 { name="migraph"; version="0.8.13"; sha256="0k0fdhnk0kpm2wd5yrf1djc16anf6inwrzxipwwwrqpwvr7zqny9"; depends=[concaveman dplyr ggdendro ggforce ggplot2 ggraph gridExtra igraph magrittr network oaqc purrr RColorBrewer readxl rlang sna stringr tibble tidygraph tidyr]; };
   migrate = derive2 { name="migrate"; version="0.4.0"; sha256="0yf0c7gcn2q8sx0havhqaxk6z69bagfd58drpbqkkpsp62bnq875"; depends=[dplyr magrittr rlang tibble tidyr]; };
   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=[]; };
@@ -12311,9 +12559,8 @@ in with self; {
   minxent = derive2 { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; };
   mipfp = derive2 { name="mipfp"; version="3.2.1"; sha256="1gxazpg81vj5dywpb6jb29188jw28qil6pfygawa7znnjn3k5ca6"; depends=[cmm numDeriv Rsolnp]; };
   mipplot = derive2 { name="mipplot"; version="0.3.1"; sha256="126arvxq6gmaiwk3n3p0slnb1mhs3qf993m4lx95nlmnv612ag66"; depends=[data_table dplyr ggplot2 readr readxl reshape reshape2 rlang shiny shiny_i18n shinyalert shinyWidgets showtext showtextdb stringr tidyr]; };
-  mipred = derive2 { name="mipred"; version="0.0.1"; sha256="0kijn2xj0dh28rm2sjgd8j1a3c5avc3fjfvvcmzfasvxqdjflv6j"; depends=[mice]; };
-  mirt = derive2 { name="mirt"; version="1.34"; sha256="197jjiqwlvd457zkwi36vsr2hqix80skx54clkal8jb34vvls4j7"; depends=[dcurver Deriv GPArotation lattice Matrix mgcv Rcpp RcppArmadillo vegan]; };
-  mirtCAT = derive2 { name="mirtCAT"; version="1.11"; sha256="0h7yc72nc8xz5z4a0b7149n3r69fr6v1n8gsn01xc5107zcip8xm"; depends=[lattice lpSolve markdown mirt pbapply Rcpp RcppArmadillo shiny]; };
+  mirt = derive2 { name="mirt"; version="1.35.1"; sha256="0gmssa6cx2rdphq6v5d3jhxrjkhc4sngsp7bj3szaj3xkd4px2vq"; depends=[dcurver Deriv GPArotation gridExtra lattice Matrix mgcv Rcpp RcppArmadillo vegan]; };
+  mirtCAT = derive2 { name="mirtCAT"; version="1.12"; sha256="0pi6xwvia0njkmdpvr8bbp7ha05rcazw3qbva9gf518ffwvda9gy"; depends=[lattice lpSolve markdown mirt pbapply Rcpp RcppArmadillo shiny]; };
   mirtjml = derive2 { name="mirtjml"; version="1.4.0"; sha256="1zvm8acywpzi87lz0hpxmr8c9kyqkbx0490q3vlwxd90ffcdp9ml"; depends=[GPArotation Rcpp RcppArmadillo]; };
   mirtsvd = derive2 { name="mirtsvd"; version="1.0"; sha256="0c06dpg0jr15hmk03s96fyp2rb6z4svihjzfs316nkl3dd03ami1"; depends=[GPArotation mirtjml]; };
   misaem = derive2 { name="misaem"; version="1.0.1"; sha256="05m7k8mgbpkv5szislvf3q45pk5f8z54ibddhi8pkhwa9w00xkjk"; depends=[MASS mvtnorm norm]; };
@@ -12327,6 +12574,7 @@ in with self; {
   miscset = derive2 { name="miscset"; version="1.1.0"; sha256="1gwi7jnqdf2fa8yk8gmcc7dcv72bbdl7yj3yccj3r5jjk41vdp91"; depends=[data_table devtools ggplot2 gridExtra Rcpp xtable]; };
   mise = derive2 { name="mise"; version="0.1.0"; sha256="1ydbm76w3y0p5h82shxjblwlzbrmzwx0bgq9w2axjwz2nx8jfw0a"; depends=[]; };
   miselect = derive2 { name="miselect"; version="0.9.0"; sha256="0dfqni7r5zwdvwmrmvqhycmxhazivz6vnz2ccjy0hyfad29g0v7s"; depends=[]; };
+  mispitools = derive2 { name="mispitools"; version="0.1.5"; sha256="0mipc3s0n7j48nrahb2zz5kmh9656gx2gp67riva3nsj5iax0d7g"; depends=[DirichletReg dplyr forrel highcharter pedtools plotly tidyr tidyverse]; };
   mispr = derive2 { name="mispr"; version="1.0.0"; sha256="166piax3f7di8h0i07fbdx45lxz1p47j378v6yl6zdc3525adpjx"; depends=[e1071 MASS penalized]; };
   misreport = derive2 { name="misreport"; version="0.1.1"; sha256="1f78zcw4cg51mjvflhwd64hip2gj8x9ng1mhh4w43yv3x8hmbd6h"; depends=[mvtnorm numDeriv VGAM]; };
   missCompare = derive2 { name="missCompare"; version="1.0.3"; sha256="03j69xw54d076znx19dplw4xznvgky90hxh3wgypg0g5pjg63y53"; depends=[Amelia data_table dplyr ggdendro ggplot2 Hmisc ltm magrittr MASS Matrix mi mice missForest missMDA pcaMethods plyr rlang tidyr VIM]; };
@@ -12336,11 +12584,11 @@ 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=[]; };
-  mistr = derive2 { name="mistr"; version="0.0.4"; sha256="0jb0qmraghn8gy1bxmfh0jnbfp0b38bxidl0cxkxg9lbfmi0irlq"; depends=[bbmle]; };
+  mistr = derive2 { name="mistr"; version="0.0.5"; sha256="02jm6z4a6zkqh7bfdmc1pqvdvz03crihwi9s60gv15c8xwr1dq7p"; depends=[bbmle]; };
   mistral = derive2 { name="mistral"; version="2.2.1"; sha256="19iq9a3k7xyxafvm73ib8mj1k7ys69aznplqhidl5z8vdl92dmb7"; depends=[DiceKriging doParallel e1071 emoa foreach ggplot2 iterators Matrix mvtnorm quadprog Rcpp]; };
   misty = derive2 { name="misty"; version="0.4.3"; sha256="1i18yd6swhx945g99yfh9dcs8zm4gzln4qhw5lzf65ggwhcwqkdy"; depends=[haven lavaan lme4 norm readxl]; };
   mitml = derive2 { name="mitml"; version="0.4-3"; sha256="00i18nnvrdrg91crgcp2a431xs71cawaip3xkqk2myv0iav3xga9"; depends=[haven jomo pan]; };
@@ -12348,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=[]; };
@@ -12368,7 +12616,7 @@ in with self; {
   mixedMem = derive2 { name="mixedMem"; version="1.1.2"; sha256="1p0gplfcn663xp40dk0yg70qffn1fwa9gxv7bppflgm9wkn8g3l5"; depends=[BH gtools Rcpp RcppArmadillo]; };
   mixedsde = derive2 { name="mixedsde"; version="5.0"; sha256="0ss1ng4nx91gxj85wxxfyh9ljxsj3ag6lsj1a5d2815p9jzl7dsv"; depends=[MASS moments plot3D sde]; };
   mixexp = derive2 { name="mixexp"; version="1.2.5"; sha256="0nbf10xhrr51rb1b2apcj4p3ci8xbi7flgz500ar3mxh8h8l74sq"; depends=[daewr gdata lattice]; };
-  mixl = derive2 { name="mixl"; version="1.3.2"; sha256="0adxbwh8zlcg076baj5b5dglfsphliz5gz9xk82xkbnlqawmj33k"; depends=[maxLik numDeriv randtoolbox Rcpp readr sandwich stringr]; };
+  mixl = derive2 { name="mixl"; version="1.3.3"; sha256="0vxvs6lvnkijhdy78lw19hp11ylf4afyg0v5xc5izbhwk3cp5nga"; depends=[maxLik numDeriv randtoolbox Rcpp readr sandwich stringr]; };
   mixlm = derive2 { name="mixlm"; version="1.2.5"; sha256="0k7sy2bkf6vsp5qkz33327p1kjyzn3cxmxzc6dmw6g29c4dyxkac"; depends=[car leaps multcomp pls pracma]; };
   mixmeta = derive2 { name="mixmeta"; version="1.2.0"; sha256="093f6jjq0hc49k5kmjp17s2lv3swpssfxnra80bwv59ggav8w8d8"; depends=[]; };
   mixpoissonreg = derive2 { name="mixpoissonreg"; version="1.0.0"; sha256="1pk45p96kwl3gvi5523vm824s1bb5aqpn9qqpqy8kjy2pd2a4k32"; depends=[dplyr Formula gamlss gamlss_dist generics ggplot2 ggrepel gridExtra lmtest magrittr pbapply Rfast rlang statmod tibble]; };
@@ -12391,18 +12639,16 @@ in with self; {
   mlapi = derive2 { name="mlapi"; version="0.1.0"; sha256="023vk5bp8cjcq88sapkl87kdxr92bay1dyxl6xirnyj699pyj51k"; depends=[Matrix R6]; };
   mlbench = derive2 { name="mlbench"; version="2.1-3"; sha256="157iqsld0wj8g8cbs7nh6p2x6kasmkhs3078hsmqac946gk2pydi"; depends=[]; };
   mlbstats = derive2 { name="mlbstats"; version="0.1.0"; sha256="1pfsc1pc5986gykx8l6afahszhaj4940l8g33fdxyy7194kbcz70"; depends=[]; };
-  mlbstatsR = derive2 { name="mlbstatsR"; version="0.1.0.3"; sha256="0rcjfbi383rdk2fyrw47ni0jrzp7yj2sr8xzxvk3gmh321i3pn5d"; depends=[dplyr ggplot2 ggtext glue httr janitor jsonlite purrr rvest stringr tibble tidyr xml2]; };
   mldr = derive2 { name="mldr"; version="0.4.3"; sha256="07lbxpydz78fya11bl3l1ckhbps3nx43ddh3z09ygg70jjbdhxwq"; depends=[circlize shiny XML]; };
   mldr_datasets = derive2 { name="mldr.datasets"; version="0.4.2"; sha256="0zyfv8xy5yik0k3j0kf9r43xrvj528qzdb1v74sfi24vim6k6503"; depends=[]; };
   mle_tools = derive2 { name="mle.tools"; version="1.0.0"; sha256="02yndj1if31zr9y805mq5km5n8jz4w9jz1bmaz9nnqsqimrnigrb"; depends=[]; };
-  mleap = derive2 { name="mleap"; version="1.1.0"; sha256="0s15srbnk8fs5vj12gdszpg6g563q17v42fng2rydkgi4q7m2vj6"; depends=[digest fs jsonlite purrr rJava sparklyr tibble]; };
   mlearning = derive2 { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class e1071 ipred MASS nnet randomForest]; };
   mlegp = derive2 { name="mlegp"; version="3.1.8"; sha256="1sbdk3pybzhv2jycl56s6m86pp3qbfh8q0kmhn153130b84dzhga"; depends=[]; };
   mlergm = derive2 { name="mlergm"; version="0.8"; sha256="0bpdljmbn4lfm263jcsp0hrknixn49m7hqsx0jjk3pfwhgjlajh8"; depends=[cowplot ergm GGally ggplot2 lpSolve Matrix network plyr reshape2 sna stringr]; };
   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.21.0"; sha256="1rdgrhxmfnx5wyq2xg5p373janz72q89ghg827hrazj70c1zphil"; 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]; };
@@ -12414,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.0.1"; sha256="1fr536xy23rglmy4rlk3fb7d29hb5s3vkyx530s7d8i1gwxad9xv"; 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]; };
@@ -12442,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-0"; sha256="0ad2m0hik6lrbr9jyqqng8rzh4xvpg46l7f3kq2qyx7dbllwhnd7"; 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]; };
@@ -12486,12 +12732,11 @@ in with self; {
   mockthat = derive2 { name="mockthat"; version="0.2.6"; sha256="12srlafk3ykzhrw65s1qzw3l566j285hi28rzrcpbgyr12720raa"; depends=[]; };
   mod = derive2 { name="mod"; version="0.1.3"; sha256="0z5a6ps2m0cbw0n9kn44767m5jnbf1dl077i2p40fipv8xali9fb"; depends=[]; };
   mod09nrt = derive2 { name="mod09nrt"; version="0.14"; sha256="1wn1y33bj9r712l0f063j5gcl423anjzmvgfy0ddihcrbpz4l7a0"; depends=[]; };
-  modEvA = derive2 { name="modEvA"; version="2.0"; sha256="1vkg7x48k0xl1ngqwk6waggidva924j8mv7wfbzfcyj36yv8ggdw"; depends=[]; };
+  modEvA = derive2 { name="modEvA"; version="3.0"; sha256="0hpvg3zzi3n19y34rhffz1c8cfaza2yffyn3m7wzwf5l40pf00f8"; depends=[]; };
   modMax = derive2 { name="modMax"; version="1.1"; sha256="1mx4623az7vzaqf530pklx7j92qwwq93pa2416lnr24jjcxgva2h"; depends=[gtools igraph]; };
   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=[]; };
@@ -12500,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]; };
@@ -12509,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]; };
@@ -12519,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]; };
@@ -12556,18 +12801,20 @@ in with self; {
   monoClust = derive2 { name="monoClust"; version="1.2.1"; sha256="18zb4wfb09rpzzr9bc0nr71994nhgsk74s512dxlss50isvfqjqd"; depends=[cluster doParallel dplyr foreach ggplot2 permute purrr rlang stringr tibble tidyr]; };
   monobin = derive2 { name="monobin"; version="0.2.1"; sha256="13261k81xpjvbjny938y124r2cqn36c93s177gbg1m0c8k4jlb4i"; depends=[dplyr Hmisc]; };
   monobinShiny = derive2 { name="monobinShiny"; version="0.1.0"; sha256="1ix376j39fby5571irf8i5bmz8i7nnvfzbvs5cv0k42dcgq93m0g"; depends=[dplyr DT monobin shiny shinydashboard shinyjs]; };
+  monochromeR = derive2 { name="monochromeR"; version="0.1.0"; sha256="1zm5d4ipjlkvlhcqnq2cl5amv85n3iflb34915n12rjs68hbcjmd"; depends=[scales]; };
   monographaR = derive2 { name="monographaR"; version="1.2.1"; sha256="09fkcw13h7dx7j5vyp48fk6yzv9n64568zf2zvmm2c008jw3gkbm"; depends=[circular maptools png raster rmarkdown sp]; };
   monomvn = derive2 { name="monomvn"; version="1.9-13"; sha256="1hm5qf28bh0q7f4zcjqx1qxw3l8hzkx349c1y3nwyfg7436vff6a"; depends=[lars MASS mvtnorm pls quadprog]; };
   monotone = derive2 { name="monotone"; version="0.1.0"; sha256="1091xqa88gdp64b65610mfcknyz29kb980iqbvwnmlk12csszr1w"; depends=[]; };
   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]; };
   morgenstemning = derive2 { name="morgenstemning"; version="1.0"; sha256="17y90cf8ajmkfwla0hm4jgkbkd1mxnym63ph2468sfxkhn0r3v88"; depends=[]; };
-  morphemepiece = derive2 { name="morphemepiece"; version="1.1.0"; sha256="0mqi80b3j5v0ybi6j2kwc6gfm1b9sc06x81m52lmlf0wrxw2np0f"; depends=[dlr magrittr morphemepiece_data piecemaker purrr readr rlang stringr]; };
+  morph = derive2 { name="morph"; version="1.0.0"; sha256="1xaca0da8fcymbjiqxxdp7z13283xd93crxv74401dqpbqv0vai3"; depends=[igraph reshape2 rgl stringr]; };
+  morphemepiece = derive2 { name="morphemepiece"; version="1.1.2"; sha256="1lkk69sh84wqwx88qvy45dh65986gl7iziajsyl917qjxfnqkvn5"; depends=[dlr magrittr morphemepiece_data piecemaker purrr readr rlang stringr]; };
   morphemepiece_data = derive2 { name="morphemepiece.data"; version="1.1.0"; sha256="1mc2isjv4zfsks6y46mnfqhm37p13rnhddzx1kwkp2jllhq0d3f9"; depends=[]; };
   morpheus = derive2 { name="morpheus"; version="1.0-1"; sha256="1zfx24ndlky0b6vg6an9vcjw955ms749dwb51x9gsj2m8vgrbpnn"; depends=[jointDiag MASS pracma]; };
   morphomap = derive2 { name="morphomap"; version="1.3"; sha256="12jqrabx8vgkrfwcv4845jbf79ibg5iqzzzr4x4vybb4b2p2wd2i"; depends=[Arothron colorRamps DescTools geometry lattice mgcv Morpho oce raster rgdal rgl Rvcg sp]; };
@@ -12587,12 +12834,11 @@ 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.0"; sha256="0m7mmvb60pq0x87mzwj3gfwik43vsqi0g92gqwnzvchvj1x34jmn"; depends=[cstab diptest dplyr fastcluster fields ggplot2 magrittr pracma psych RColorBrewer Rcpp rlang scales tidyr]; };
+  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]; };
   movMF = derive2 { name="movMF"; version="0.2-6"; sha256="1nkwvfjqh5zzkjc94ryr5blcw7x7ycqyyqb6pvs78ia3kzmls17q"; depends=[clue skmeans slam]; };
-  move = derive2 { name="move"; version="4.0.6"; sha256="0fjq9msscxpkyzvd7vnz9g8r8f8sv0clnps2bkk9jhk8jscwvjhp"; depends=[geosphere httr memoise raster Rcpp rgdal sp xml2]; };
+  move = derive2 { name="move"; version="4.1.6"; sha256="0zi9mgi5kb26brj5qqchvssc26krdndsszs6zv7cggnry1pc8999"; depends=[geosphere httr memoise raster Rcpp rgdal sp xml2]; };
   moveHMM = derive2 { name="moveHMM"; version="1.7"; sha256="031msh427hgjyr37imalr7smd79yqscw9xq5rjrixxc2w5qly9jj"; depends=[boot CircStats geosphere ggmap ggplot2 MASS numDeriv Rcpp RcppArmadillo sp]; };
   moveVis = derive2 { name="moveVis"; version="0.10.5"; sha256="1lj22yr6v3vg795r72gkbhyabycppxbjsaldqiqgckhkdfh3lziw"; depends=[av cowplot curl ggplot2 gifski lubridate lwgeom magick magrittr move pbapply raster sf slippymath]; };
   moveWindSpeed = derive2 { name="moveWindSpeed"; version="0.2.3"; sha256="14a2iymn4j831xlh42z5qxmhnh7xpp5bxasgpkhnb3v0b5ldyilh"; depends=[move Rcpp]; };
@@ -12600,7 +12846,7 @@ in with self; {
   mozzie = derive2 { name="mozzie"; version="0.1.0"; sha256="09dwrv4r0hi19gzi1vpif3q4wlbny9h22430g1hhv0wkqs86mhmw"; depends=[]; };
   mp = derive2 { name="mp"; version="0.4.1"; sha256="0awvwqwb25q47j14b450k1k5mh2yzwhn7gizjv5j7lyiamk30iwq"; depends=[Rcpp RcppArmadillo]; };
   mpa = derive2 { name="mpa"; version="0.7.3"; sha256="0mhnsbgr77fkn957zfiw8skyvgd084rja1y4wk5zf08q5xjs2zvn"; depends=[network]; };
-  mpath = derive2 { name="mpath"; version="0.4-2.19"; sha256="1zjs6d000w6j54vag8z2y0j5frxwk7cf6l3qcxbgbf0h96c943gs"; depends=[bst doParallel foreach glmnet MASS numDeriv pamr pscl WeightSVM]; };
+  mpath = derive2 { name="mpath"; version="0.4-2.20"; sha256="08ph3vzrd2k2njd1gl4pxlmrnn2sxrs60ah8cb0m6f173lcapgwm"; depends=[bst doParallel foreach glmnet MASS numDeriv pamr pscl WeightSVM]; };
   mpbart = derive2 { name="mpbart"; version="0.2"; sha256="1145n0lxmm0kjm2lc358d79hqws48crj17pjvmchl1pbfd7zi4r8"; depends=[bayesm cvTools mlbench mlogit]; };
   mpcmp = derive2 { name="mpcmp"; version="0.3.6"; sha256="1jzrmaxm133zy4wi5pzjlj6gnh89nx4j69dnwm4s4y3i7ixch908"; depends=[dplyr generics ggplot2 ggpubr purrr Rcpp rlang stringr tibble]; };
   mpcv = derive2 { name="mpcv"; version="1.1"; sha256="0vwycspiw9saj811f6alkbijivy7szpahf35bxn2rpn2bdhbn21i"; depends=[lpSolve]; };
@@ -12612,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]; };
@@ -12621,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]; };
@@ -12656,7 +12903,7 @@ in with self; {
   mscsweblm4r = derive2 { name="mscsweblm4r"; version="0.1.2"; sha256="031s00wpr9zfjpii56m67q1phn05vqlhb8cfzhyf6fbrxvpb8k7n"; depends=[httr jsonlite pander]; };
   msd = derive2 { name="msd"; version="0.3.1"; sha256="0n3zg2mwbmazbkk41jv94v28glj38d7f08d3w3xrlnlr9gsqh4sd"; depends=[]; };
   msda = derive2 { name="msda"; version="1.0.2"; sha256="05khpa5qasnngn6yvk87gv5262plqpw4knb6hzgy52w401k0y80r"; depends=[MASS Matrix]; };
-  msde = derive2 { name="msde"; version="1.0.4"; sha256="1jyvsadkha4976vdf8nn2dbrsymr4n932cqrkmhawmy6pxa2c45g"; depends=[Rcpp RcppArmadillo RcppProgress]; };
+  msde = derive2 { name="msde"; version="1.0.5"; sha256="0q2jy5f8r5gfj2w8r0kmbgal3wjk37h62ahhjzbphrd8ghdf7za8"; depends=[Rcpp RcppProgress whisker]; };
   msgl = derive2 { name="msgl"; version="2.3.9"; sha256="0793d12cd1mcnr97byhfwpnvm329w78f56n7dcs4116hlizp8l9h"; depends=[BH Matrix Rcpp RcppArmadillo RcppProgress sglOptim]; };
   msgpackR = derive2 { name="msgpackR"; version="1.1"; sha256="0a6vm4q1zfy8wlvhl9wfy09ig1iag9fvjasz5w9bll7idky4ldx5"; depends=[]; };
   msgps = derive2 { name="msgps"; version="1.3.1"; sha256="0r8i0sw412jr148bid8sfpjcfbkf5589dqcqyvf5cm84cj7axnpz"; depends=[]; };
@@ -12671,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]; };
@@ -12679,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]; };
@@ -12701,9 +12948,8 @@ in with self; {
   multDM = derive2 { name="multDM"; version="1.1.3"; sha256="16bvr62lxmrq79z856iigwz5cjhk327x4hhd0cg3adgabqcz04yp"; depends=[MTS]; };
   multIntTestFunc = derive2 { name="multIntTestFunc"; version="0.1.1"; sha256="1psbjgg0dqd4nbmyja1mx4v1w0jqqhc67p7wqf1ipm93llv8sv6f"; depends=[gsl pracma]; };
   multbxxc = derive2 { name="multbxxc"; version="1.0.1"; sha256="1ip5awjc2ljpy6nsr4y42x0yg4n7lyaxp9kzfjvwp41k9lriz4gm"; depends=[Rcpp RcppArmadillo rmumps]; };
-  multcomp = derive2 { name="multcomp"; version="1.4-17"; sha256="02zv739mbmx672yrqqx8am229h7ps476wphig7jrrbfgay29sl21"; depends=[codetools mvtnorm sandwich survival TH_data]; };
+  multcomp = derive2 { name="multcomp"; version="1.4-18"; sha256="01i8gjppyxl3xph1dw0kags8qbb7r06j91kk3lkqn5gzrxjmwyhh"; depends=[codetools mvtnorm sandwich survival TH_data]; };
   multcompView = derive2 { name="multcompView"; version="0.1-8"; sha256="1rfq9wvvrghq0542ff40wy8vdmsyd8spzz6ihcywcvxdfa8m6g8j"; depends=[]; };
-  multdyn = derive2 { name="multdyn"; version="1.6"; sha256="06yab2lmxp7lc7zjk8n194mn5vza0yjbp276iair3ry35my4h3v8"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
   multfisher = derive2 { name="multfisher"; version="1.1"; sha256="0vzvq7v2xz35fx8pg25c9xqkic09k6fcg9zh81j7pgqmzi2wwrp8"; depends=[]; };
   multgee = derive2 { name="multgee"; version="1.8.0"; sha256="1cp3762901af93m0i3m61ngnxbwjirjg46mkdcj0ycmk7phh7bcc"; depends=[gnm Rcpp RcppArmadillo VGAM]; };
   multiApply = derive2 { name="multiApply"; version="2.1.3"; sha256="0ymxf5y48ki9v75bn8v3gs3fndmb41sl2f2xif9ah9962g64x0p7"; depends=[doParallel foreach plyr]; };
@@ -12717,7 +12963,7 @@ in with self; {
   multiROC = derive2 { name="multiROC"; version="1.1.1"; sha256="15ydbxpkdyvsc55di13jvwh9p6dzxc1yj93w1cwsd8jp2y10wsd3"; depends=[boot magrittr zoo]; };
   multiband = derive2 { name="multiband"; version="0.1.0"; sha256="1f4gmy0yf9zid7kl05zncvvig6hs4nl1h9wkrkc24rxx9risw9k9"; depends=[]; };
   multibiplotGUI = derive2 { name="multibiplotGUI"; version="1.0"; sha256="0ig7r4p8mq594cjwclbqwjk8saqkvjqjbbnnxj1hc1sdj7qdlcpf"; depends=[cluster dendroextras Matrix rgl shapes tcltk2 tkrplot]; };
-  multiblock = derive2 { name="multiblock"; version="0.8.0"; sha256="1xf1i8ra3241vp7l1w1spavixjd4laii8ynjw5mjbslvwablllfn"; depends=[ade4 car FactoMineR geigen knitr lme4 MASS MFAg mixlm plotrix pls plsVarSel pracma progress r_jive Rcpp RcppEigen RegularizedSCA RGCCA RSpectra SSBtools]; };
+  multiblock = derive2 { name="multiblock"; version="0.8.1"; sha256="1c7k5qkzh638xi07yknzjycsadkcnlrb6sdgq44nakna8ax4kdr2"; depends=[ade4 car FactoMineR geigen knitr lme4 MASS mixlm plotrix pls plsVarSel pracma progress r_jive Rcpp RcppEigen RegularizedSCA RGCCA RSpectra SSBtools]; };
   multibridge = derive2 { name="multibridge"; version="1.1.0"; sha256="17xcngn6q2wgaxcspfigcvzp6zh2bq8vhmfb3gn9ryq1rf2fchfv"; depends=[Brobdingnag coda magrittr mvtnorm progress purrr Rcpp Rdpack stringr]; };
   multicastR = derive2 { name="multicastR"; version="2.0.0"; sha256="0zxv3kxk8gh2fgllzzg7k625n3p4q5pr465ja0mhvs48m4n262l9"; depends=[]; };
   multichull = derive2 { name="multichull"; version="1.0.0"; sha256="1gc7kxxlbanc6rmmbf6h85jf7kj0a78h23m5vwwqqliv018qsv2n"; depends=[igraph plotly shiny shinythemes]; };
@@ -12727,8 +12973,8 @@ 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]; };
-  multidplyr = derive2 { name="multidplyr"; version="0.1.0"; sha256="1a0ird0v7i09wd734i6cs31p14ixhrnv282br2k2q5akkpcxgfny"; depends=[callr crayon dplyr magrittr qs R6 rlang tibble vctrs]; };
+  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]; };
   multifluo = derive2 { name="multifluo"; version="1.1"; sha256="1hnh1gj6lfnh2fn0v064bszydgsr6p9f7p8yxyw5rdxfrxymiw09"; depends=[agricolae ellipse imager]; };
@@ -12744,15 +12990,14 @@ in with self; {
   multimode = derive2 { name="multimode"; version="1.5"; sha256="0qxb67qss2pmid0wiwblqng5qmihqchdhbkyjklgj20pvbjz1wjm"; depends=[diptest ks rootSolve]; };
   multimorbidity = derive2 { name="multimorbidity"; version="0.5.0"; sha256="1x4869pqckldx6g4zhawjbin03glkxzfszb4qiq7yy2xi444jkl0"; depends=[devtools dplyr lubridate magrittr rlang sqldf stringr tidyr tidyselect tidyverse]; };
   multinbmod = derive2 { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
-  multinet = derive2 { name="multinet"; version="4.0"; sha256="07h8xhppgdf9a6aka8kldpvmngcnxcrq7jw4sar05ib939laj922"; depends=[igraph RColorBrewer Rcpp]; };
+  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]; };
@@ -12762,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]; };
@@ -12775,7 +13020,7 @@ in with self; {
   mumm = derive2 { name="mumm"; version="0.2.1"; sha256="1wjg2pqn2wb9hk9mqgpi3k26qwjnkmp4apx09lxcwrz35bbwhfzv"; depends=[lme4 Matrix Rcpp RcppEigen stringr TMB]; };
   munfold = derive2 { name="munfold"; version="0.3.5"; sha256="17zizx9r0f8dxb7dkgn1nn0fp7ydy6r155p1zfz0v93jc26lc1hb"; depends=[MASS memisc]; };
   munsell = derive2 { name="munsell"; version="0.5.0"; sha256="16g1fzisbpqb15yh3pqf3iia4csppva5dnv1z88x9dg263xskwyh"; depends=[colorspace]; };
-  munsellinterpol = derive2 { name="munsellinterpol"; version="2.6-1"; sha256="02fj62hfxg2zvkbmlqxka5j9mkc7j07czqhs18wbcz38kamfgw2j"; depends=[rootSolve spacesRGB spacesXYZ]; };
+  munsellinterpol = derive2 { name="munsellinterpol"; version="2.7-1"; sha256="13b8bac9z1zg4qxf1fphwx2dx29p6znzd9pyw1i76h2ccpyxbsl5"; depends=[rootSolve spacesRGB spacesXYZ]; };
   murphydiagram = derive2 { name="murphydiagram"; version="0.12.2"; sha256="0f699cdfsl4f9w9f18cxkdlq1vyhsv83ynl6ck0r3wwh8f1zsmnd"; depends=[]; };
   music = derive2 { name="music"; version="0.1.1"; sha256="04ygmlga7i8bpxcrlmj8wc956asf73krghga6fnh2flm675dp42f"; depends=[audio crayon]; };
   musicNMR = derive2 { name="musicNMR"; version="0.0.2"; sha256="09xxc78ajk428yc3617jfxqp5fy89nfc24f1rig6cw28fflwqj0k"; depends=[seewave]; };
@@ -12786,7 +13031,7 @@ in with self; {
   mutoss = derive2 { name="mutoss"; version="0.1-12"; sha256="1yk7p7pb2xm38d3j19ysgwmix48lvimbhkhjjwk5jmr1a0ysx298"; depends=[multcomp multtest mvtnorm plotrix]; };
   mutossGUI = derive2 { name="mutossGUI"; version="0.1-11"; sha256="08pcca9gzns83az6jbjzv4xhm1wgmchhzz4f54x1aq0nmvsz3qq1"; depends=[CommonJavaJars JavaGD JGR multcomp mutoss plotrix rJava]; };
   mutualinf = derive2 { name="mutualinf"; version="1.1.2"; sha256="01l3xvq1k5amw4cncni7fcl1v5x8fgwm0cn6mgc10kpwibadyh6d"; depends=[data_table runner]; };
-  mvGPS = derive2 { name="mvGPS"; version="1.2.1"; sha256="0xbawr5fgqc5z7kz97smq1p3icvr9gjkwgb07nkqwri1isgk5rr4"; depends=[CBPS cobalt gbm geometry MASS matrixNormal Rdpack sp WeightIt]; };
+  mvGPS = derive2 { name="mvGPS"; version="1.2.2"; sha256="1aanrv84c012ijyqql0pw2qlckrpv3wmfv16yhr465xb3rkzz4vj"; depends=[CBPS cobalt gbm geometry MASS matrixNormal Rdpack sp WeightIt]; };
   mvLSW = derive2 { name="mvLSW"; version="1.2.4"; sha256="04x0b8b7r4lmpmxvjckbvixd34nxjmj13in1gwdhf6gzn2k7p830"; depends=[fields wavethresh xts zoo]; };
   mvMISE = derive2 { name="mvMISE"; version="1.0"; sha256="0lnc5g3ksl5cvwylh8p8baxyvq3z32a2i337q7lhg00j031ccy5c"; depends=[lme4 MASS]; };
   mvMORPH = derive2 { name="mvMORPH"; version="1.1.4"; sha256="0dxqi9ml49hzpdgb03fqk1af8rirdcgi5pwil87c89g638c37nrq"; depends=[ape corpcor glassoFast pbmcapply phytools spam subplex]; };
@@ -12815,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=[]; };
@@ -12825,6 +13070,7 @@ in with self; {
   mwTensor = derive2 { name="mwTensor"; version="0.99.5"; sha256="11zn2g1gxl1x6ci3wqkr7a37jwc4rdcbgdagy5gf3jgkmmr5an3w"; depends=[ccTensor ica igraph MASS nnTensor rTensor]; };
   mwa = derive2 { name="mwa"; version="0.4.3"; sha256="100d3c1070ir64iv848kws5fna141gcq5p66ip873cr632a042qs"; depends=[cem MASS rJava]; };
   mwaved = derive2 { name="mwaved"; version="1.1.8"; sha256="092sqd9harx289bgghw9x495llzhab0vkgkjka5jhi4ad1rfk3vh"; depends=[Rcpp shiny]; };
+  mwcsr = derive2 { name="mwcsr"; version="0.1.2"; sha256="1s7l3id3yashmscdd1kdcw1i4agpd6z12c7wxj18h3g2c82s7ad6"; depends=[igraph Rcpp]; };
   mwshiny = derive2 { name="mwshiny"; version="2.1.0"; sha256="0c1a0d9qnaszffhzanmk31mdxqi7j3rn6bk7a3dwg4bq1da3rlgl"; depends=[htmltools shiny]; };
   mxkssd = derive2 { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; };
   mxmmod = derive2 { name="mxmmod"; version="1.1.0"; sha256="0x4m6y4ngb3vm9xpvwvn1zcbch2fhz8pb267hg2sb3kk5m504xxq"; depends=[OpenMx]; };
@@ -12846,24 +13092,27 @@ 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.3"; sha256="07f2n6xqy94pkii4ps39qcy27kfyms75n8cfykydgnxpb1apjlxg"; 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.4"; sha256="1ylj79fs45l1d8ijlllja543ggbq613yskvnhql4davki98gdhg1"; depends=[bit64 Rcpp RcppCCTZ RcppDate zoo]; };
+  nanotime = derive2 { name="nanotime"; version="0.3.5"; sha256="1813740pjm4h27xhyipw58f4049qb49840axhnjcxfjjhkjsmpj4"; depends=[bit64 Rcpp RcppCCTZ RcppDate zoo]; };
   naptime = derive2 { name="naptime"; version="1.3.0"; sha256="1cadfv5sdsmz61kf96hf2gbnghf24q40g5c3h9b8prvkxslap691"; depends=[lubridate]; };
   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.0"; sha256="0j1vzyvr49r74882libacllj6k2lvdzs21knl4rx8yrdq8g2v8y4"; 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]; };
@@ -12877,17 +13126,19 @@ 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]; };
   ncar = derive2 { name="ncar"; version="0.4.4"; sha256="1b37isgj7njpyh3js2kyl6vil9v8azh7n04m5yn4pcvyz02sqkx8"; depends=[NonCompart rtf]; };
   ncbit = derive2 { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; };
-  ncdf4 = derive2 { name="ncdf4"; version="1.18"; sha256="0yfvway6rnjkhr46d9313l4k5r9hc025nq948lx715mlrsnqns51"; depends=[]; };
+  ncdf4 = derive2 { name="ncdf4"; version="1.19"; sha256="0qzvin2fjzcb7h2knlnw14s6043pwi1nm7yf6p27ax7w269173fb"; depends=[]; };
   ncdf4_helpers = derive2 { name="ncdf4.helpers"; version="0.3-6"; sha256="0qnm41rbxb6v7aqh1mdkjhcc2rhs4wg6wmrllldzd99mzz8slv1r"; depends=[abind ncdf4 PCICt]; };
   ncdfgeom = derive2 { name="ncdfgeom"; version="1.1.1"; sha256="173hfbvp6pzyxmy0xwir02nmhifmfzl6jipn5pp41c947gyg8vwx"; depends=[dplyr ncmeta RNetCDF sf]; };
   ncdump = derive2 { name="ncdump"; version="0.0.3"; sha256="09g98mzpky32z41jf23ahzhyv34l34y1gqq99j2hl4pqlvvhxs9i"; depends=[dplyr ncdf4]; };
@@ -12903,43 +13154,47 @@ 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]; };
-  neonUtilities = derive2 { name="neonUtilities"; version="2.1.2"; sha256="0h3zfpjkfk68gxhxl2mh2lwgs5s61pg73sp6npq3yhp1r2g12w8a"; depends=[curl data_table downloader httr jsonlite pbapply R_utils stringr tidyr]; };
+  neonUtilities = derive2 { name="neonUtilities"; version="2.1.3"; sha256="06p9b360qn7xbq3b9fmsvm11jkvfpz2lml33701iav7k59dibwki"; depends=[curl data_table downloader httr jsonlite pbapply R_utils stringr tidyr]; };
   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]; };
   netgen = derive2 { name="netgen"; version="1.3.2"; sha256="1yqi4rb6w9ipxgbl1j1s2s81cg7nzrn65irn5gs82hsq94d6vv2j"; depends=[BBmisc checkmate ggplot2 igraph lhs mvtnorm stringr]; };
-  netgsa = derive2 { name="netgsa"; version="4.0.2"; sha256="0v26a29dpgim993g43jwz4666jf7dnvli89czn2bynclb3jz69k8"; depends=[AnnotationDbi corpcor data_table dplyr genefilter glassoFast glmnet graph graphite httr igraph jsonlite magrittr Matrix msigdbr ndexr org_Hs_eg_db quadprog Rcpp RcppEigen RCy3 reshape2 rlang]; };
+  netgsa = derive2 { name="netgsa"; version="4.0.3"; sha256="1c7l5vmr8mg06ilkwqxdvrqpj9wkgswpvy45rc5ksqgar868jb1d"; depends=[AnnotationDbi corpcor data_table dplyr genefilter glassoFast glmnet graph graphite httr igraph jsonlite magrittr Matrix msigdbr org_Hs_eg_db quadprog Rcpp RcppEigen RCy3 reshape2 rlang]; };
   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.0"; sha256="0l0c843gsckd2kdk3vgvlx6mzw6g8nspijywv9h032ggdwzbag6n"; depends=[igraph Matrix Rcpp RcppArmadillo]; };
+  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=[]; };
@@ -12978,40 +13233,45 @@ 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.1"; sha256="0icwsyk675s5ckgwrl73v4d1y0n43fgsmaibhkmvv7b6ric9n5b0"; depends=[cachem curl data_table 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]; };
+  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]; };
-  nhdR = derive2 { name="nhdR"; version="0.5.6"; sha256="0q3j684j2x87m8k7yialzrs7bvwzb03j6qma6i7r7si2y4jy5d8c"; depends=[curl dplyr foreign ggplot2 httr maps memoise purrr rappdirs rgdal rlang rvest sf stringr units xml2]; };
+  nhdR = derive2 { name="nhdR"; version="0.5.7"; sha256="1nvnfkp60y317cgqpyxz6hbkqhm3xaicdicjljmb9hhqm04hbjp5"; depends=[curl dplyr foreign ggplot2 httr maps memoise purrr rappdirs rgdal rlang rvest sf stringr units xml2]; };
   nhdplusTools = derive2 { name="nhdplusTools"; version="0.4.3"; sha256="01462pmvmy8j3p5l9qdd6xdn1jv7gi9m1vn9mbcn0gmdkll888vd"; depends=[dataRetrieval dplyr fst httr igraph jsonlite magrittr pbapply prettymapr R_utils RANN rosm sf tidyr units xml2 zip]; };
   nhlapi = derive2 { name="nhlapi"; version="0.1.4"; sha256="1c5s7fd9agzk20xi8v38dk8ih6lmn8c90mxncyr996bhipgr7vl3"; depends=[jsonlite]; };
   nhlscrape = derive2 { name="nhlscrape"; version="0.1.3"; sha256="0x6y747j6lha3jw4v2wavgd12xw5nx4m8biv9rmq9z0qy53vncjc"; depends=[DBI httr jsonlite RSQLite rvest xml2]; };
   nhm = derive2 { name="nhm"; version="0.1.0"; sha256="1yf9hnbmfb7xj8mbhnq40wvd0pd88x9qspy1jr3x0n8nb75i3jlp"; depends=[deSolve maxLik mvtnorm]; };
   nhs_predict = derive2 { name="nhs.predict"; version="1.4.0"; sha256="0lgyi1v940pjqfpwligw5ml6vagiz8wwsxbr9kfd1j70b5i0kjwd"; depends=[]; };
-  nhsnumber = derive2 { name="nhsnumber"; version="0.1.1"; sha256="1dprhla2wwpgapsrmzjfr131gjpxl0nqri4qibaij0ndpqyfzxmg"; depends=[]; };
+  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]; };
   nifti_io = derive2 { name="nifti.io"; version="1.0.0"; sha256="03p0gn6id5bkn0qxf7v3splykpi9wpbasrhf2937gp25bsynrpjm"; depends=[]; };
   nightmares = derive2 { name="nightmares"; version="0.0.2"; sha256="1dmqrb17ncwazy1nb0zzfy7fq51ah7rz0xmhmmx6d30paaix2vc7"; depends=[raster rgdal sp]; };
-  nilde = derive2 { name="nilde"; version="1.1-4"; sha256="1zw952sqqxcxniyi7s0901xzqqpxqxdbisab9f3rv1i3kikcaa60"; depends=[]; };
+  nilde = derive2 { name="nilde"; version="1.1-6"; sha256="0ibml22frqmk4llzymvd4h1p2qnn46x5l0z4111m8h12czr1d9hw"; depends=[]; };
   nima = derive2 { name="nima"; version="0.6.2"; sha256="0n8r8h1m0v0ssbpv6p32jby49f45qbicwr0awm7x054p48qk49cy"; depends=[assertthat dplyr ggplot2 ggthemes gridExtra gtools scales]; };
   nimble = derive2 { name="nimble"; version="0.12.1"; sha256="1n37g22wj5zlvb8lgxh9gi7mk011lyrmg3kaibhcpj2858hz681m"; depends=[coda igraph R6]; };
   nimbleAPT = derive2 { name="nimbleAPT"; version="1.0.4"; sha256="0615fm6sa6nf607ay98r81m0pp8yvydpwzn3972imf87irps2k3l"; depends=[nimble]; };
   nimbleCarbon = derive2 { name="nimbleCarbon"; version="0.1.2"; sha256="1cj1yik4knxniag12qr8hqxkqhcm5lhq8xw7g8iibv3rxq0jvkki"; depends=[coda doSNOW foreach nimble rcarbon snow]; };
   nimbleEcology = derive2 { name="nimbleEcology"; version="0.4.1"; sha256="1z4byxsana1fa2y7qhmiqbb8ana6zbas0cmbgcc703mqh1642jb2"; depends=[nimble]; };
   nimbleSCR = derive2 { name="nimbleSCR"; version="0.1.3"; sha256="1859qai1cyh82cxa8kccrn36flw045j4dggzixi2m3k029gvjh15"; depends=[nimble]; };
-  nimbleSMC = derive2 { name="nimbleSMC"; version="0.10.0"; sha256="15abjhgq8mi8c079hfzwjyl5glchx606hciq2lsirkrbyvc7b23n"; depends=[nimble]; };
+  nimbleSMC = derive2 { name="nimbleSMC"; version="0.10.1"; sha256="1bxm729v40zd9gflllp8plj7gk325mc4gdlmsvkrgp31rslkxx76"; depends=[nimble]; };
   nipals = derive2 { name="nipals"; version="0.8"; sha256="0nv7h68hysxnpiinmgw6v3bz4ya53c0p96k9bfvcmalfb7hs8j5z"; depends=[]; };
   nipnTK = derive2 { name="nipnTK"; version="0.1.0"; sha256="0imy2x1h9d842ssw7hmmh21c4mj7s6y05mmjin1270skbnrk2zmr"; depends=[bbw withr]; };
   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=[]; };
@@ -13020,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]; };
@@ -13028,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]; };
@@ -13040,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=[]; };
@@ -13060,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=[]; };
@@ -13073,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]; };
-  nodbi = derive2 { name="nodbi"; version="0.5.1"; sha256="009rzpgjgmajns9cz55bjvxdvp852rk9h4wd61x18wm6bfw17d0n"; depends=[DBI elastic jqr jsonify jsonlite mongolite RSQLite sofa stringi 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]; };
@@ -13088,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]; };
@@ -13112,6 +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.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=[]; };
@@ -13124,10 +13386,10 @@ 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=[]; };
+  nowcastDFM = derive2 { name="nowcastDFM"; version="1.0.0"; sha256="1g2mngg4r6jl37cv9s8a2a5hlid7n4igdxp3rxk593jnqxl9a0ha"; depends=[dplyr matlab pracma signal]; };
   nowcasting = derive2 { name="nowcasting"; version="1.1.4"; sha256="1nj34cbkv1xlhmcfhxs32shv00mz02rp95xj59qkq5by53sx8qwq"; depends=[corpcor DBI httr lubridate magic matlab Matrix RCurl RMySQL vars xts zoo]; };
   noweb = derive2 { name="noweb"; version="1.1-2"; sha256="1h0v92l5jzgiy5rz33pan1l6rb3mykckmvn5c8jm3hhph6ipgqad"; depends=[]; };
   np = derive2 { name="np"; version="0.60-11"; sha256="1a9kzn37cddwfdki5zjmzanxp75pccdjnsvqfrh84hhcsy51pcx3"; depends=[boot cubature quadprog quantreg]; };
@@ -13144,10 +13406,12 @@ in with self; {
   npcp = derive2 { name="npcp"; version="0.2-2"; sha256="187vz2nvv7352qv9nry96rcjf0w4zi19xhpbg0jljbqqjfn7abi5"; depends=[]; };
   npcs = derive2 { name="npcs"; version="0.1.0"; sha256="00gxi2yalp7pcykxmm1kafv3fpyqwc7xvmv10z6x3yngk62rj0r6"; depends=[caret dfoptim e1071 foreach formatR magrittr MASS naivebayes nnet randomForest rpart smotefamily]; };
   npcure = derive2 { name="npcure"; version="0.1-5"; sha256="0hf6w8w76qmjdsd6zgg85jj5ypmmg1a1ryzqwnxcypsdjxaq539z"; depends=[permute zoo]; };
-  npde = derive2 { name="npde"; version="3.1"; sha256="1xq38v8c32hq8n2d037s7ydbvjw5gvlmm234pijjajhdwkxn5k0a"; depends=[ggplot2 gridExtra mclust rlang scales]; };
+  npde = derive2 { name="npde"; version="3.2"; sha256="17p24djwl9nxhvzb9hg2iqj2vak0h55zshwgnsk98gj4z4zaqwwr"; depends=[ggplot2 gridExtra mclust rlang scales testthat]; };
   nph = derive2 { name="nph"; version="2.0"; sha256="037vh3x3zlgg7jcbbwvcrlhm38d17zgz0m6d54y84mcclzzyc746"; depends=[ggplot2 mvtnorm]; };
+  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=[]; };
@@ -13178,11 +13442,13 @@ 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=[]; };
   nsrr = derive2 { name="nsrr"; version="0.2.0"; sha256="1x1c7pvyfvzmaymxcz6ghr5002wz48796c3hsihwbx6951w623sq"; depends=[digest httr jsonlite]; };
@@ -13198,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-6"; sha256="1kz271s9bkxy0s706fy8hb8l82ynczhz9fz7rrxp0cyw6ifvcm2d"; depends=[ADGofTest copula Matrix pcaPP 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]; };
@@ -13223,10 +13489,10 @@ in with self; {
   obsSens = derive2 { name="obsSens"; version="1.3"; sha256="1vfm1mzsycwkqa39vf3fcdv1s6adps9hw1rxlvl8v9kq746hcabw"; depends=[]; };
   observer = derive2 { name="observer"; version="0.1.2"; sha256="1027827k57qb4xppx0xxxffd1s3n7pz754irdx3v1v3piix8xi8m"; depends=[bazar bit dplyr lazyeval magrittr tibble]; };
   occ = derive2 { name="occ"; version="1.1"; sha256="1aka29qqwbd494kvi15yyyqkb9hks4ky2gcvykxhx2drm2fnsn4g"; depends=[]; };
-  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]; };
   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]; };
+  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]; };
@@ -13237,7 +13503,7 @@ in with self; {
   ocp = derive2 { name="ocp"; version="0.1.1"; sha256="0q52s8j3z3xwnma3sxx6019qxid66bf0a43w4g8xjagplwps57dx"; depends=[]; };
   ocs4R = derive2 { name="ocs4R"; version="0.2-2"; sha256="1b2f05yrxj3j6f6bvj3aqsv6szp5c6i5cwkfjbsrj1ncny2f53zj"; depends=[curl httr jsonlite keyring openssl R6 XML]; };
   od = derive2 { name="od"; version="0.3.1"; sha256="1fbx0w10wmd9f99kdigx4k21d8bsa8dfjzm9ibbf14z2908899ag"; depends=[sfheaders]; };
-  odbc = derive2 { name="odbc"; version="1.3.2"; sha256="1s1fbnkg6xlch94w5vwfwa9pa0rc722jbzckhkbl9m80z93hj4pm"; depends=[bit64 blob DBI hms Rcpp rlang]; };
+  odbc = derive2 { name="odbc"; version="1.3.3"; sha256="1a5npspq91ksqp99nxicmdrm1703jk0gd9x6gl12i2rqf4qvwgwa"; depends=[bit64 blob DBI hms Rcpp rlang]; };
   odds_converter = derive2 { name="odds.converter"; version="1.4.8"; sha256="09s8pg55gpsxmrbimzg5rsr1n07la93781sar6vab5p9zn9zxgx4"; depends=[]; };
   odds_n_ends = derive2 { name="odds.n.ends"; version="0.1.4"; sha256="1md0m1z8a6jnmkjj2njngpqpasnvgngdxj57r3jc7jq356qzg707"; depends=[MASS]; };
   oddsratio = derive2 { name="oddsratio"; version="2.0.1"; sha256="1db0pxi5j18rvi8dyc2xx1im3l269775vpjjavapjcv2pylfg5r0"; depends=[ggplot2 mgcv]; };
@@ -13268,12 +13534,13 @@ 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.1"; sha256="1s4mbvy01jfh1hxzav0ghnjql2zbxh2xl7akll8c7bvr45hbk8dp"; depends=[dplyr flextable ggplot2 magrittr officer rlang stringr yaml]; };
+  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]; };
   oncoPredict = derive2 { name="oncoPredict"; version="0.2"; sha256="1slq5vp78n5hcq24vlg35r6xansdgriyjw8y9iyb0lj3cdaq38c3"; depends=[BiocGenerics car gdata genefilter GenomicFeatures GenomicRanges glmnet IRanges maftools org_Hs_eg_db pls preprocessCore readxl ridge S4Vectors sva tidyverse TxDb_Hsapiens_UCSC_hg19_knownGene]; };
   oncomodel = derive2 { name="oncomodel"; version="1.0"; sha256="1jyyq9znffiv7rg26mjldbwc5yi2f4f8npsd2ykhxyacb3g96fp1"; depends=[ade4]; };
@@ -13282,11 +13549,12 @@ in with self; {
   oneclust = derive2 { name="oneclust"; version="0.2.1"; sha256="04nafy0bv3g5vjd5k7858lvs9rc141kzpblsdcb7sl4kfw76s11z"; depends=[magrittr Rcpp]; };
   onehot = derive2 { name="onehot"; version="0.1.1"; sha256="1cdsz007wr054k5phvihhg4qx0fc039k2s6484m92kws8mb2ziix"; depends=[]; };
   onelogin = derive2 { name="onelogin"; version="0.2.0"; sha256="06p3a8kaxmvsj8nn7dy8w6wv1jjw67is991hqg9q0fa20ifym3dl"; depends=[glue jsonlite magrittr R6 safer tibble]; };
+  onemap = derive2 { name="onemap"; version="2.8.1"; sha256="0rc714ymwcgk05qcqzsispm8y8ip8h0y17fscgfyhwq2jh65a9sd"; depends=[dendextend dplyr ggplot2 ggpubr htmlwidgets plotly princurve RColorBrewer Rcpp rebus reshape2 smacof stringi tidyr vcfR]; };
   onemapsgapi = derive2 { name="onemapsgapi"; version="1.0.0"; sha256="11w3xkjxhjf0b78hfjxjk650giswaf1js471backz4pcb97gaigl"; depends=[dplyr furrr future httr purrr rlang stringr tidyr]; };
   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]; };
@@ -13294,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]; };
@@ -13303,35 +13571,36 @@ 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.0"; sha256="04qqph9flnqbqyj2kq4xjbs0rnq2flaqlxn68nmgshykbcywmc19"; 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]; };
+  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.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]; };
-  openSkies = derive2 { name="openSkies"; version="1.1.5"; sha256="00lnd3xwryh8z2r4hl0xlr6mi57vnggrz3yqldvi9v7br8i54kjm"; depends=[cluster dbscan ggmap ggplot2 httr magick R6 ssh xml2]; };
+  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]; };
   openair = derive2 { name="openair"; version="2.8-6"; sha256="1h3klcg6gjr6q2pgcd317zyw9rpj4ngmkii0azcvrkpmqpbdkzrp"; depends=[cluster dplyr hexbin lattice latticeExtra lubridate mapproj MASS mgcv purrr Rcpp readr rlang tidyr]; };
   openblender = derive2 { name="openblender"; version="0.5.81"; sha256="01akixxj04kgrxhv04icrivfpnipnpg9j62i3y19q3jkl9846lh1"; depends=[httr jsonlite]; };
   opencage = derive2 { name="opencage"; version="0.2.2"; sha256="1sjkpp6cj6ivd68p6ql6vwgdvy0fwfkjv84wgwgb4i7f4mnxgnff"; depends=[crul dplyr jsonlite lifecycle memoise progress purrr ratelimitr rlang tibble tidyr withr]; };
-  opencpu = derive2 { name="opencpu"; version="2.2.5"; sha256="1qlwx8iq30qfy2sh0v31pxg955bj4zs0r7v8yklbdwb3qw7kv30g"; depends=[brew curl evaluate httpuv jsonlite knitr mime openssl protolite rappdirs remotes sys webutils zip]; };
+  opencpu = derive2 { name="opencpu"; version="2.2.6"; sha256="0cmjfhkbk4im3x8aas0q5pivlsxgqixf4f3jiindchki7g9nsw91"; depends=[brew curl evaluate httpuv jsonlite knitr mime openssl protolite rappdirs remotes sys webutils zip]; };
   opencv = derive2 { name="opencv"; version="0.2.1"; sha256="1zb6qdvlgylzm9afq8ybcrn2w5wcym6zi4b36sycp4clbc7gncq5"; depends=[magrittr Rcpp]; };
   opendatatoronto = derive2 { name="opendatatoronto"; version="0.1.4"; sha256="0ggf25ry31xz69fl95cglg45ld8w7rc83wci609fmb63bhj8dzlg"; depends=[ckanr curl magrittr readxl sf tibble xml2]; };
   opendotaR = derive2 { name="opendotaR"; version="0.1.4"; sha256="17cygsw3nkg6zincfrcdh1509rlz3n5zrv9wvv7mjngm61sn79nf"; depends=[dplyr jsonlite lubridate]; };
   openeo = derive2 { name="openeo"; version="1.1.0"; sha256="1vdga91jiw2dxfvjwr12kip60m8pdcvsan3g9cn9hhhpxsgidw6q"; depends=[base64enc httr jsonlite lubridate R6]; };
   openintro = derive2 { name="openintro"; version="2.2.0"; sha256="0jvgbb9az73sidr58lpz2p8gjigmi4873dpvzqbv7r8jzr1vqhvz"; depends=[airports cherryblossom ggplot2 readr rmarkdown tibble usdata]; };
   openmetrics = derive2 { name="openmetrics"; version="0.3.0"; sha256="0bcljsirlkxn0h87j2g2jb6spcik84h7nms06mcj40ckx188yr82"; depends=[R6]; };
-  openssl = derive2 { name="openssl"; version="1.4.5"; sha256="1xy1w0rljzsgvsg91fh9hs6h9rx58mza1vg6rig9ykp9m2ml3hag"; depends=[askpass]; };
-  opentimsr = derive2 { name="opentimsr"; version="1.0.7"; sha256="0hccknbhw826gwzrqp0709xhkshnmbgzpgmg0qv2fqlq1z5qfxpp"; depends=[DBI Rcpp RSQLite]; };
+  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]; };
-  openxlsx = derive2 { name="openxlsx"; version="4.2.4"; sha256="0vn8ifxb7ccip6b1ijf5lpa6c0n5y5ll8fbabybsb8nfc0y1nmxg"; depends=[Rcpp stringi zip]; };
-  opera = derive2 { name="opera"; version="1.1.1"; sha256="0b86c87yb8ajbfgjacld1jhgqc4bp93j66mni053xnyyd8zdv302"; depends=[]; };
+  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=[]; };
   operators = derive2 { name="operators"; version="0.1-8"; sha256="0zgcv2q46qyqv4dhbd33s4044zjw38w8dqfpzs0c1lxjpkil3dnx"; depends=[]; };
   opitools = derive2 { name="opitools"; version="1.8.0"; sha256="1w5s78dxz03asxc46mn5vy9y21dr6km12ms563cgcaf9g9rw9dqc"; depends=[cowplot dplyr forcats ggplot2 likert magrittr purrr stringr tibble tidyr tidytext tm wordcloud2]; };
@@ -13343,6 +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.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]; };
@@ -13357,17 +13627,19 @@ 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-7"; sha256="09s62ax3w8zijfp2cmh2lvdqbl3nijbjkwq4n3icasi53lzg2179"; depends=[colorspace Rcpp]; };
+  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]; };
   optional = derive2 { name="optional"; version="2.0"; sha256="0hj0gwvk9svllv44kfdgv3a2mriwqnaxvn3rj7w1djha7mryl6jl"; depends=[magrittr]; };
   optionstrat = derive2 { name="optionstrat"; version="1.4.1"; sha256="0vidaf888zdls5yxy7637fqg6r39l3rxw9bhn16s4xmag7kawljv"; depends=[]; };
   optiscale = derive2 { name="optiscale"; version="1.2.2"; sha256="1ay2lfk4isv0gir5diwxlx4ml5bv5qyqbwm34py85fp6bh92987r"; depends=[lattice]; };
+  optistock = derive2 { name="optistock"; version="0.0.1"; sha256="1nyz64bfi4s10i4mq7crdkn3b3zqr674vfxkdd3kphjqk0wmiv1j"; depends=[]; };
   optmatch = derive2 { name="optmatch"; version="0.9-15"; sha256="1n4ifrb2mvvvjp3q0slfqqx3ly9jlcsdg5x00dkg3drrv6zgs03m"; depends=[digest Rcpp RItools survey survival]; };
   optparse = derive2 { name="optparse"; version="1.7.1"; sha256="1rqz0y4r94y3mwbb9kyz97cjqpnprka96qbncvbnbmgg2d630kij"; depends=[getopt]; };
   optpart = derive2 { name="optpart"; version="3.0-3"; sha256="18h659gbgzflq81lcchc058xjgljkmhpsjkh51ylygwrv1qjrz2i"; depends=[cluster labdsv MASS plotrix]; };
@@ -13382,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=[]; };
@@ -13427,24 +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]; };
-  osqp = derive2 { name="osqp"; version="0.6.0.3"; sha256="1266n04c8zsv4ixf7y25jkccv9lx3rvmd7bnkxynbwga9psd3l0j"; depends=[Matrix R6 Rcpp]; };
-  osrm = derive2 { name="osrm"; version="3.5.0"; sha256="1l4i0ynd0vkgs6cf1f7dy8kh85r2yry99zpiyjcqslvlys2bhgd9"; depends=[curl googlePolylines isoband jsonlite sf]; };
+  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.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]; };
@@ -13457,7 +13732,7 @@ in with self; {
   ouxy = derive2 { name="ouxy"; version="2.1"; sha256="0mdjxg7wm68882hbwl0gg15dld6f90xyf0s6hk2z90r34bvyky0i"; depends=[abc adephylo ape coda EasyABC geiger maps MCMCpack nlme phytools Sim_DiffProc TreeSim]; };
   overdisp = derive2 { name="overdisp"; version="0.1.1"; sha256="0gncmirpiqyxsgpsdrv875i6a9bagpz76vcbqxsaql537m1fd99r"; depends=[]; };
   overlap = derive2 { name="overlap"; version="0.3.4"; sha256="1arxprhz035ab78ks88n6scwnlwmnb97mlac5gsx90ipb6gkgcyk"; depends=[]; };
-  overlapping = derive2 { name="overlapping"; version="1.6"; sha256="0qy5jw4nn4l6rb36sxd9waz7x4g18q42dsk12hvsnan5jyzcdwfn"; depends=[ggplot2 testthat]; };
+  overlapping = derive2 { name="overlapping"; version="1.7"; sha256="1r54h4vn9nxhljhqrmzrrzaghbqzagcbnq64s86cy78kyq576xs2"; depends=[ggplot2 testthat]; };
   overlapptest = derive2 { name="overlapptest"; version="1.2-4"; sha256="148vswcvy0anw6xrpfsskjn0i7jkn0jbfqlaf4bb13pkini2bahf"; depends=[spatstat_geom]; };
   overture = derive2 { name="overture"; version="0.4-0"; sha256="1s16x5kn0apb0w1f7hqzcsqvw3x621y5n6yr1qn7yb7431pdw3cz"; depends=[bigmemory]; };
   overviewR = derive2 { name="overviewR"; version="0.0.7"; sha256="1y8iqgyhppl2w9z59azi3h1kgzrw5a1zqw09zyjp0ghlvpjbn9cn"; depends=[dplyr ggplot2 tibble]; };
@@ -13465,7 +13740,8 @@ 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.1-5"; sha256="0zl6nvcrzjcaz43ji2a6ym3mvfzfvf8lyb29hg8sidribr6js3nk"; 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]; };
   oysteR = derive2 { name="oysteR"; version="0.1.1"; sha256="11zg959h9104hh8wid4003s8c4z9xhmicj39cc5vq1j8g1g7ilr7"; depends=[cli dplyr glue httr jsonlite purrr rjson rlang stringr tibble tidyr yaml]; };
@@ -13473,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]; };
@@ -13485,7 +13761,7 @@ in with self; {
   pROC = derive2 { name="pROC"; version="1.18.0"; sha256="1abvbzdss12n64pp9vlgnn0q3abh0nj4n0a8cinwwvhphjrm9vym"; depends=[plyr Rcpp]; };
   pRSR = derive2 { name="pRSR"; version="3.1.1"; sha256="1irx95b7cwvx3gpn9brjjn4k947m8frz542r18nilc9f1159mb3s"; depends=[]; };
   pRecipe = derive2 { name="pRecipe"; version="0.1.1"; sha256="05lhviyzsrfh1f7jfp77i9xk5nnj4k3kgynw8brxmkyjnr68rayf"; depends=[curl data_table dplyr gdalUtils getPass ggplot2 hdf5r lubridate maps ncdf4 R_utils raster rgdal sp stringr viridis zoo]; };
-  pTITAN2 = derive2 { name="pTITAN2"; version="1.0.0"; sha256="1pv7v8dl3hnb1zyx2msar8cvhx2a8y6218kf9yxz21389ig5zvq1"; depends=[data_table]; };
+  pTITAN2 = derive2 { name="pTITAN2"; version="1.0.1"; sha256="10slq7bazzj8fml0nsc3fkdyljhkh0ni6sf23iwav3f20kyqrzi4"; depends=[data_table]; };
   pa = derive2 { name="pa"; version="1.2-1"; sha256="1pfgzxirkb0p8f6smjlrbp1qpsh0vsvqf306cvldaj9zx8cw0q9f"; depends=[ggplot2]; };
   pacbpred = derive2 { name="pacbpred"; version="0.92.2"; sha256="13p405vh9rf1r5idxl5payc85vwlzcd87wm15163vc9gmil1ncsf"; depends=[]; };
   pack = derive2 { name="pack"; version="0.1-1"; sha256="0x4p8clwp49s2y67y7in530xwhjngnqwagf9xnyb1jp0z3myd3r7"; depends=[]; };
@@ -13497,10 +13773,10 @@ in with self; {
   packageDiff = derive2 { name="packageDiff"; version="0.1"; sha256="0qxgx2ac0x7p9j9clj7hgjahf7xwzcjkcw0d2n6w0r9c4g0mw9w2"; depends=[diffr htmlwidgets]; };
   packageRank = derive2 { name="packageRank"; version="0.5.0"; sha256="1w5vfz10wjf5h95czi93lbkw4hd486sfg6fxq245fk5r7cpbkpx1"; depends=[cranlogs data_table ggplot2 memoise pkgsearch R_utils RCurl rversions sugrrants]; };
   packagefinder = derive2 { name="packagefinder"; version="0.3.2"; sha256="1jskq7w26bjpam1hvyjcmmw08wz2qfzbyhxi5cdkfiiwqy15xkc1"; depends=[clipr crayon formattable htmlTable httr jsonlite lubridate pander reactable rstudioapi shiny shinybusy shinyjs stringr textutils tidyr]; };
-  packager = derive2 { name="packager"; version="1.13.0"; sha256="14alsx5dkipj2y69kx6ps6ks0v0yymhnv41zcql11fnj5rxcdyci"; depends=[callr checkmate codetools crayon cyclocomp desc fakemake fritools fs gert httr pkgbuild pkgload rcmdcheck remotes rhub rprojroot tinytest whisker whoami]; };
+  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]; };
@@ -13511,26 +13787,26 @@ in with self; {
   paf = derive2 { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; };
   pafdR = derive2 { name="pafdR"; version="1.0"; sha256="1yimsd4h23hcf752p5flda3dqk8hgn6qm9k0pmbapxj4jbsw14w5"; depends=[curl exams stringr]; };
   pafr = derive2 { name="pafr"; version="0.0.2"; sha256="0ali4m1pv73y88x1dk5rvmg1ysy48janjnc1hnqfcndszfz2b0wm"; depends=[dplyr ggplot2 rlang stringr tibble]; };
-  pagedown = derive2 { name="pagedown"; version="0.15"; sha256="11ixd1fqkqfjjpc8ga8rmivfh3isrblzfkl7fy87lkf6jd6zfbk1"; depends=[bookdown htmltools httpuv jsonlite later processx rmarkdown servr websocket xfun]; };
+  pagedown = derive2 { name="pagedown"; version="0.16"; sha256="0ia1x6sjhwzicw8dr6i12ihcgpf8h0qn3c5343bfvw5lncmrpb74"; depends=[bookdown htmltools httpuv jsonlite later processx rmarkdown servr websocket xfun]; };
   pagemap = derive2 { name="pagemap"; version="0.1.3"; sha256="1rwspbk7xmp27iadrd1471a7z71qyzlb0vnkw4ssjk7wi8q48fnj"; depends=[htmlwidgets]; };
   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.7"; sha256="0xhbrpw3865arnqigazwlzi0iihxgzdgxdclyc4ypf2abd4fgzdc"; 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]; };
+  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.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]; };
-  pak = derive2 { name="pak"; version="0.1.2.1"; sha256="07x5wa7mkhlzyl6hih9wv91ykjanhh35ng3p439wmxgz6dcdv6sp"; depends=[assertthat base64enc callr cli cliapp crayon curl desc filelock glue jsonlite lpSolve pkgbuild pkgcache prettyunits processx ps R6 rematch2 rprojroot tibble]; };
+  pak = derive2 { name="pak"; version="0.2.1"; sha256="0v6lyxaqrvzcy2ia9jp9j6g5gw1314s6bfn99jr1pa4mz9qqzizc"; depends=[]; };
   palaeoSig = derive2 { name="palaeoSig"; version="2.0-3"; sha256="1sn2nbiq037l81qvrqbg7gf1312g8vy574hsfng07qk1jpx7vwkk"; depends=[assertr dplyr forcats ggplot2 ggrepel magrittr MASS mgcv purrr rioja rlang TeachingDemos tibble tidyr vegan]; };
   palasso = derive2 { name="palasso"; version="0.0.8"; sha256="0cgxfzhp394c8xprc2k0qx9c274bbp0cpazk7xilfrgcgk08156i"; depends=[glmnet Matrix survival]; };
   paleoMAS = derive2 { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[lattice MASS vegan]; };
   paleoTS = derive2 { name="paleoTS"; version="0.5.2"; sha256="1hd143xw16n8xhicfr6nfyfm6kyr56gyiq5vqnfzhmndjrvkpkx7"; depends=[doParallel foreach iterators mnormt]; };
   paleobioDB = derive2 { name="paleobioDB"; version="0.7.0"; sha256="0hgf0ns4mp2war254ysb9rcm4kij1d3xrwkr4s4n2h5in8dz23iq"; depends=[gtools maps plyr raster RCurl rjson scales]; };
+  paleobuddy = derive2 { name="paleobuddy"; version="1.0.0"; sha256="0kaq6vvzw5h0fpvggmvf6v2zg6a06kxcyajv1krzx0p9482nwyzi"; depends=[]; };
   paleofire = derive2 { name="paleofire"; version="1.2.4"; sha256="1vgai4my6kl0fldghp6a1qr8xhxiyw137kd80d0zir6q47nlnc2x"; depends=[GCD ggplot2 lattice locfit plyr raster rgdal]; };
   paleomorph = derive2 { name="paleomorph"; version="0.1.4"; sha256="05l55miahkmj8ikq8qz20y6kgxvxmdf04kji898i7fp8qyj4vfpa"; depends=[]; };
   paleopop = derive2 { name="paleopop"; version="2.1.2"; sha256="1gbn1dqk4ygyqrhjfdlfbxlcrafvag4spd3crf7lws3l3gn3s934"; depends=[poems R6 sf]; };
@@ -13548,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=[]; };
@@ -13557,25 +13833,26 @@ in with self; {
   panelView = derive2 { name="panelView"; version="1.1.5"; sha256="1pvi1b571sbqbhma7m277ppcv98c9yc720fr9pgqfdy8hswsd2rd"; depends=[ggplot2 gridExtra]; };
   panelWranglR = derive2 { name="panelWranglR"; version="1.2.13"; sha256="0zj0m08518zi6xsa7qik61ys1qqa2lqiar4l7acclkw58w5zrmbc"; depends=[caret data_table Hmisc]; };
   panelaggregation = derive2 { name="panelaggregation"; version="0.1.1"; sha256="0x8ldqb9216pclfvs4ymdpian43v2ydkyflpf0k6lcn35r04xfr6"; depends=[data_table]; };
-  panelr = derive2 { name="panelr"; version="0.7.5"; sha256="00k0ylryrzg0zkda192i2c04cj4rh12r9pa07hy202vv9clfqjsw"; depends=[crayon dplyr Formula ggplot2 jtools lme4 lmerTest magrittr purrr rlang stringr tibble]; };
+  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]; };
   parallelPlot = derive2 { name="parallelPlot"; version="0.1.0"; sha256="1zppgd0dwxfryv6wfl6k7jrny1yqb5q4f8phnnmzz9ydlv7xyv32"; depends=[htmlwidgets]; };
-  parallelly = derive2 { name="parallelly"; version="1.29.0"; sha256="0a84lr2jqqnvmdayb9v9kv7m8rffp65s4s1wcalr96sl3cxypyc7"; depends=[]; };
+  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]; };
@@ -13600,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]; };
@@ -13616,7 +13891,7 @@ in with self; {
   party = derive2 { name="party"; version="1.3-9"; sha256="12ch2q5my2r5l84zdndr3w0y50wa4r8snj2xpxg2hsb3p3yzx899"; depends=[coin modeltools mvtnorm sandwich strucchange survival zoo]; };
   partykit = derive2 { name="partykit"; version="1.2-15"; sha256="1b73s5l19yicwginqsg5xr7fzb005x372n0wb34kk6jb5x5lbsdj"; depends=[Formula inum libcoin mvtnorm rpart survival]; };
   parviol = derive2 { name="parviol"; version="1.1"; sha256="1sfgic86ssd5wjf9ydss9kjd3m4jmm2d1v896sjsv8bydwymbpx3"; depends=[vioplot]; };
-  parzer = derive2 { name="parzer"; version="0.4.0"; sha256="1lm48yd6i7n9xfysv379c94274h7j93bms5myl9kj6zk7b0gssl3"; depends=[Rcpp withr]; };
+  parzer = derive2 { name="parzer"; version="0.4.1"; sha256="0v97cfjkggkdhv8gc0ffgbijgwxzpz7n44z7gsmkvggjj3wsxvpr"; depends=[Rcpp withr]; };
   pasadr = derive2 { name="pasadr"; version="1.0"; sha256="0gc44jbqn96bn7f6xjmszz5lgsby24sxziixvhbkh5lgs4zap8i2"; depends=[pracma scales]; };
   pass_lme = derive2 { name="pass.lme"; version="0.9.0"; sha256="1rxm509vnkdvdxii4jwniirdb2pv90rjkf6wjc9zrjh88jrl678k"; depends=[]; };
   passport = derive2 { name="passport"; version="0.3.0"; sha256="176pkc7x76339bawdwywdcmiynzzlrwr91fgf5q0rq7asd9nc7d1"; depends=[]; };
@@ -13644,7 +13919,7 @@ in with self; {
   patientProfilesVis = derive2 { name="patientProfilesVis"; version="2.0.2"; sha256="0w85y74n46665w8d4lv9pb88hmarn6ax9qsv0sl1xw1q7iby2pzx"; depends=[clinUtils cowplot ggplot2 gridExtra knitr plyr reshape2 scales stringr]; };
   patrick = derive2 { name="patrick"; version="0.1.0"; sha256="0ck9lzg11dpy8x5sn1q92lw52yy0fqr5x7dnnc364cq1v74yk26q"; depends=[dplyr purrr rlang testthat tibble]; };
   patternator = derive2 { name="patternator"; version="0.1.0"; sha256="0s4vrhdfblllnhpz2awhhrkwm8d4170xg7fpsp7kvvqy8z8biwvi"; depends=[data_table]; };
-  patternize = derive2 { name="patternize"; version="0.0.2"; sha256="0hd6l66ybrjjndad5m2li9qqsjd0k2blhvjm469j6ab95073zq9f"; depends=[abind dplyr imager magrittr Morpho purrr raster rgdal RNiftyReg sp vegan]; };
+  patternize = derive2 { name="patternize"; version="0.0.3"; sha256="072wjjinbkvrijqb90hk6h964m1h2gznj69jq3pidbzcr1xl93g1"; depends=[abind ClusterR dplyr geomorph imager magrittr Morpho purrr raster rgdal RNiftyReg sp vegan]; };
   patternplot = derive2 { name="patternplot"; version="1.0.0"; sha256="0n4y23g894amwi62lx10k15i28rsmiaw52bds8dzmvkykkp9mm8q"; depends=[dplyr ggplot2 gridExtra gtable jpeg png R6 Rcpp RcppParallel]; };
   pauwels2014 = derive2 { name="pauwels2014"; version="1.0"; sha256="1b7whn13lgydc69kg1fhnwkxirw0nqq75cfvii0yg0j4p8r1lw42"; depends=[deSolve ggplot2]; };
   pavo = derive2 { name="pavo"; version="2.7.1"; sha256="1nv67p0y9kjrhnhp5yqnh6y485aydwdlsvdfkdbkgqz00jhnsmcx"; depends=[cluster farver future_apply geometry lightr magick plot3D progressr sp viridisLite]; };
@@ -13652,7 +13927,7 @@ in with self; {
   paws = derive2 { name="paws"; version="0.1.12"; sha256="0kn1z045r106fwqcaz52hb02bhrcblh479cajfjiq480s1iljcw6"; depends=[paws_analytics paws_application_integration paws_compute paws_cost_management paws_customer_engagement paws_database paws_developer_tools paws_end_user_computing paws_machine_learning paws_management paws_networking paws_security_identity paws_storage]; };
   paws_analytics = derive2 { name="paws.analytics"; version="0.1.12"; sha256="04gnaxmj21l312xkrsd9bisi0bz9h6h5fyhwlqylcxi077z1yb2g"; depends=[paws_common]; };
   paws_application_integration = derive2 { name="paws.application.integration"; version="0.1.12"; sha256="0llyd9hc679pad1ih0rcc38q5xxpzinhwrl8cvrkgsjgbc3agq42"; depends=[paws_common]; };
-  paws_common = derive2 { name="paws.common"; version="0.3.14"; sha256="013yiki3bjx0np577wy17ikfxdr2hiv6sd10anv281r108kldm1x"; depends=[base64enc digest httr jsonlite xml2]; };
+  paws_common = derive2 { name="paws.common"; version="0.3.15"; sha256="0kj5b4253j4rljkj0ibh21kh9r1yq9idz9vf1f4ag775ivsc2dk5"; depends=[base64enc digest httr jsonlite xml2]; };
   paws_compute = derive2 { name="paws.compute"; version="0.1.12"; sha256="1km6fng6il5fcjlrbbndahsw2dr2ql83hwac9wlpd67zm3wy9lky"; depends=[paws_common]; };
   paws_cost_management = derive2 { name="paws.cost.management"; version="0.1.12"; sha256="0in4f8ygw5g2v6vl3lz2y0v51llglh8b1ymbd04d54xxlgn83knh"; depends=[paws_common]; };
   paws_customer_engagement = derive2 { name="paws.customer.engagement"; version="0.1.12"; sha256="0ac6hzn4ilfjhzdmc9x80999fl18cz16mky31qd3y09m93w2xkdj"; depends=[paws_common]; };
@@ -13668,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]; };
@@ -13683,12 +13959,13 @@ in with self; {
   pcSteiner = derive2 { name="pcSteiner"; version="1.0.0"; sha256="14rw7xb6n46ddiyara4i0296p4c16bljrj0j7g3rlnspb95vzvwr"; depends=[igraph]; };
   pca3d = derive2 { name="pca3d"; version="0.10.2"; sha256="0xpln78zdh6q7xff6pj2jaq2kafrijmlikmpnsfar2fzgkaw7jx6"; depends=[ellipse rgl]; };
   pcaBootPlot = derive2 { name="pcaBootPlot"; version="0.2.0"; sha256="1320d969znk9xvm1ylhc3a31nynhzyjpbg1fsryq72nhf8jxijaa"; depends=[FactoMineR RColorBrewer]; };
-  pcaL1 = derive2 { name="pcaL1"; version="1.5.5"; sha256="1m7lnry6pibmsicqlny1kzv2lhv3bi92x3abwf892praskhjlgzk"; depends=[]; };
+  pcaL1 = derive2 { name="pcaL1"; version="1.5.6"; sha256="1wpd9xiyrw59l7f5g7br4f8rrlzwsiwvla70dmdvcify9dwlg1rz"; depends=[]; };
   pcaPP = derive2 { name="pcaPP"; version="1.9-74"; sha256="1dlrz5plb8b89vr3j6sn9jwryyhcwflqkiilxkybbr379m1pp0sh"; depends=[mvtnorm]; };
   pcadapt = derive2 { name="pcadapt"; version="4.3.3"; sha256="01wvcflfsnlsq23vq03n870fxsab3ab29k26nqlqxw82lbvx99s3"; depends=[bigutilsr data_table ggplot2 magrittr mmapcharr Rcpp rmio RSpectra]; };
   pcal = derive2 { name="pcal"; version="1.0.0"; sha256="07119k5f4h9jc48bicl4q5i7bdrkha3rz22r6g44c8ilnkvjhw6j"; depends=[Rdpack]; };
   pcalg = derive2 { name="pcalg"; version="2.7-4"; sha256="0yph4w5hvw8ss8w6wkpka4crk9nwmm6d091gz3pr1vv2qifx98ii"; depends=[abind bdsmatrix BH clue corpcor fastICA ggm graph igraph RBGL Rcpp RcppArmadillo robustbase sfsmisc vcd]; };
   pcalls = derive2 { name="pcalls"; version="1.0"; sha256="1vdgvrzfv69p3p5zc9i6gxq53f36s0mia4idzrbsda661f1bhmxk"; depends=[]; };
+  pcatsAPIclientR = derive2 { name="pcatsAPIclientR"; version="1.0.0"; sha256="07klw04zq3q18d13grmgjl4fywby7bazxm28v25snrim33n2ybhp"; depends=[httr jsonlite testthat]; };
   pccc = derive2 { name="pccc"; version="1.0.5"; sha256="0jh8yadks76ip9jmgvld9nycdm74f5gllkyhfmnrir8vi6xwvbad"; depends=[dplyr Rcpp]; };
   pcdpca = derive2 { name="pcdpca"; version="0.4"; sha256="0ys4hrin0w3f87d1d986wvrfkfwapzj9hz7d7v92r60ns74g7r5m"; depends=[fda freqdom]; };
   pcds = derive2 { name="pcds"; version="0.1.2"; sha256="1xzjs1pyjr0mrr9wdn30vkzp2bzc4ms7cby0pb95ysmvrdxl81d7"; depends=[combinat interp plot3D plotrix Rdpack]; };
@@ -13706,14 +13983,14 @@ 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.4"; sha256="0qskxak1mb8h038ly4hlsjvkz8nyinaraqh5f91d8nyzjzhj7x3c"; depends=[curl httr jsonlite lubridate readr reshape2 XML xml2 xts zoo]; };
+  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]; };
   pdfsearch = derive2 { name="pdfsearch"; version="0.3.0"; sha256="0mk1s8b7cdz025xn9kg5xnw388sndhjm80ckf71daxviknrzcscf"; depends=[pdftools stringi tibble tokenizers]; };
   pdftables = derive2 { name="pdftables"; version="0.1"; sha256="1gnwjijr89cczchc7yi4w5xiw0dalbymvj23rymm8cfra34iwn5p"; depends=[httr]; };
@@ -13735,7 +14012,8 @@ 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.2.1"; sha256="1hahflnzpg7mbsli9prjqs4jwbqji2cyvr9k4alb129bzg335aq4"; 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]; };
   pedigree = derive2 { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[HaploSim Matrix reshape]; };
@@ -13743,13 +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.5.0"; sha256="1hl2v98rfj71ggz75p8yfjhds12g88mgp9hzckk16ykdyggrrc7v"; 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]; };
-  pedtools = derive2 { name="pedtools"; version="1.0.1"; sha256="1ar5g941yfibyhbg2zdgsdl47mfc1yhm5b7fmaqnh7m131cqlzll"; depends=[kinship2]; };
+  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.0-1"; sha256="0ykx84p7c8cad5d1mj8cm1d5cz2paacdjx4ll4qzmq827lcyycz1"; depends=[adegenet ape]; };
+  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]; };
@@ -13758,11 +14038,11 @@ in with self; {
   penalizedSVM = derive2 { name="penalizedSVM"; version="1.1.2"; sha256="03zw95bc6svbnzak9x72s3b8l9gh581mxn2di1fl89gxlh864amd"; depends=[corpcor e1071 lhs MASS mlegp statmod tgp]; };
   penalizedclr = derive2 { name="penalizedclr"; version="0.1.0"; sha256="0ka27azfdj4wa1p628b99pkrfjy1x8yjyd3d5g2v8mbsfg3j3bwg"; depends=[clogitL1 penalized survival tidyverse]; };
   penaltyLearning = derive2 { name="penaltyLearning"; version="2020.5.13"; sha256="0297rp5zn6d0axl44i3baq2vqvhrx6s8irrysvqdcx1rkishf4j0"; depends=[data_table ggplot2]; };
-  pencal = derive2 { name="pencal"; version="1.0.0"; sha256="1a5j4zgvc1gjiq7qfcxabqak699dyb4glk37yr8cg78m0jw81rzy"; depends=[doParallel dplyr foreach glmnet lcmm magic MASS Matrix nlme survcomp survival survivalROC]; };
+  pencal = derive2 { name="pencal"; version="1.0.1"; sha256="1vlan2578racspfgysj741k5kl2rs4m77jw03pnvjffcnbazalng"; depends=[doParallel dplyr foreach glmnet lcmm magic MASS Matrix nlme survcomp survival survivalROC]; };
   pencopulaCond = derive2 { name="pencopulaCond"; version="0.2"; sha256="18hjjxnd0l2ms20ddqkghfbd4as5kq2rgwqzpz4y38k6nw76x511"; depends=[doParallel fda foreach igraph lattice latticeExtra pacotest quadprog TSP]; };
   pendensity = derive2 { name="pendensity"; version="0.2.13"; sha256="1wcsib7m2161nqqrmgdvrj7lr8zq6njc9xr935hwfh3qbbgkmfjb"; depends=[fda lattice]; };
   penfa = derive2 { name="penfa"; version="0.1.1"; sha256="1r8lq4kvlwlk7q0mdzkrdm9sx7lqq4l27jfxa1zcfh50sk1qlam2"; depends=[GJRM MASS mgcv trust]; };
-  penppml = derive2 { name="penppml"; version="0.1.0"; sha256="0qknn4v3j4sd9y0alrfh03pjb7gksbfrkbjw33q66y12lb6sg040"; depends=[glmnet lfe magrittr ncvreg Rcpp RcppEigen rlang tidyr]; };
+  penppml = derive2 { name="penppml"; version="0.1.1"; sha256="1w3rya4zgllyh2afsgrva7mmxyg76s14ap929mv2qh1sx1z99jc1"; depends=[collapse fixest glmnet magrittr Rcpp RcppEigen rlang]; };
   pense = derive2 { name="pense"; version="2.1.0"; sha256="1gz9p3khmv6v4m9aw314zdxdr33qmddb4s2pads0lm5iylngjd4j"; depends=[lifecycle Matrix Rcpp RcppArmadillo rlang]; };
   pensim = derive2 { name="pensim"; version="1.3.3"; sha256="1raap4zlqgcqh8x83kp1ss5qcn0p7bwribp4dhfhrh9rl92hh92a"; depends=[MASS penalized]; };
   peopleanalyticsdata = derive2 { name="peopleanalyticsdata"; version="0.2.1"; sha256="0ig65y4sl6wagzcvj8wwjw2dblb61hgbsqvp76wvxbhga1q0wnpf"; depends=[]; };
@@ -13779,7 +14059,7 @@ in with self; {
   performance = derive2 { name="performance"; version="0.8.0"; sha256="1xjjnhqmwfflm5yfgjhycjn0fj0manvsvkk2ppifn0373bajp5n2"; depends=[bayestestR datawizard insight]; };
   performanceEstimation = derive2 { name="performanceEstimation"; version="1.1.0"; sha256="08jx2zl6xh0rp54xa70gb717wbfdzfrx9b47i3b3ly41qaf85vrc"; depends=[dplyr ggplot2 parallelMap tidyr]; };
   pergola = derive2 { name="pergola"; version="1.0"; sha256="1650ipp2b455xdkznwm7bnxvimad7nbyr9i1lg2vdh64j1qfh7gl"; depends=[seriation]; };
-  periscope = derive2 { name="periscope"; version="1.0.0"; sha256="0idf6bwl1n03padgzvid4bkyq00qb59bi3dg0hpvax5fvyjfm9hh"; depends=[DT fresh ggplot2 lubridate shiny shinyBS shinydashboard writexl yaml]; };
+  periscope = derive2 { name="periscope"; version="1.0.1"; sha256="06rhi77a7561a0k99sn9h0pxfgar4s8iyg2mligyig2z8j66dcqb"; depends=[DT fresh ggplot2 lubridate shiny shinyBS shinydashboard writexl yaml]; };
   perm = derive2 { name="perm"; version="1.0-0.2"; sha256="182ac1y91yzb34zwdcmx5fdfr5z0cha0gx2bgk36gwxhgfc994kj"; depends=[]; };
   permGS = derive2 { name="permGS"; version="0.2.5"; sha256="0d2kp3c1fmnjjmsvc2qwh6m66yqvy2vrrxgv1fj2i4clsbavfa0y"; depends=[coin survival]; };
   permPATH = derive2 { name="permPATH"; version="1.2"; sha256="074knhcn88nzisfl20ais71micnnjqbm5lqp6jfkqj176r2af7cq"; depends=[R2HTML xtable]; };
@@ -13787,8 +14067,8 @@ 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=[]; };
-  permutes = derive2 { name="permutes"; version="2.2"; sha256="0cmpngzl76v7mjdwk9b70a60gycsx9kw7laxswdh6j9wi0jcpp2a"; depends=[plyr]; };
+  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]; };
   persiandictionary = derive2 { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; };
@@ -13805,7 +14085,7 @@ in with self; {
   petitr = derive2 { name="petitr"; version="1.0"; sha256="0i13zhdrdka0ij0khdzj6ylvvcn4wxvplb8a368i1s64cpgak30c"; depends=[]; };
   petrinetR = derive2 { name="petrinetR"; version="0.2.1"; sha256="0h9nsjsj87b6qvvkg81kn0j2c4xkzq89sddp9l6pjh636bdqwf8i"; depends=[DiagrammeR dplyr purrr visNetwork xml2]; };
   pewdata = derive2 { name="pewdata"; version="0.3.2"; sha256="1a4ci8hzpmwxs48lsppswcwkxv72yn44w486m9izwvx8wr1nlh2d"; depends=[foreign magrittr purrr rio RSelenium stringr]; };
-  pexm = derive2 { name="pexm"; version="1.1.1"; sha256="0qk634rlshd04vzb0jfnxf8xim74zkmdd6b7acg55kxx0n7kmd1i"; depends=[coda msm rjags]; };
+  pexm = derive2 { name="pexm"; version="1.1.2"; sha256="1asw7z2dr9bqsxzfjyj0hf1zfym743315597ds2h3xvwwvsirwzj"; depends=[coda msm rjags]; };
   pez = derive2 { name="pez"; version="1.2-3"; sha256="07d4p2nz19ncd7bbf5facfym5h6rriayrcflx5sjb1f8ni63f98j"; depends=[ade4 animation ape caper FD Matrix mvtnorm phytools picante quantreg vegan]; };
   pfa = derive2 { name="pfa"; version="1.1"; sha256="0ikdd7ps8wnjp9nm66w447m06hqxnnk553jglxikl2w5d9vk6b31"; depends=[lars POET quantreg]; };
   pfica = derive2 { name="pfica"; version="0.1.2"; sha256="0v6wz2ig88z4pvwkmsxniy7cl2415091r6kn17dbgaw2qwqxgbxn"; depends=[corpcor expm fda moments]; };
@@ -13813,7 +14093,7 @@ in with self; {
   pgam = derive2 { name="pgam"; version="0.4.15"; sha256="12llflsb32dfvxl3nbyb9bsl9bmd35g5g163hd3axzmg1bgi21ls"; depends=[]; };
   pgdraw = derive2 { name="pgdraw"; version="1.1"; sha256="1s1b1izpgryrqsjkdh3yvr137054sipj3kwdkzlx2af8xjr53f85"; depends=[Rcpp]; };
   pgee_mixed = derive2 { name="pgee.mixed"; version="0.1.0"; sha256="115vvpv54q80486i3xs2yhmfyx476cf4g1v43q6l7wj3jwzcrvbg"; depends=[copula mvtnorm Rcpp RcppArmadillo]; };
-  pgirmess = derive2 { name="pgirmess"; version="1.7.0"; sha256="1kh5vca2bnaa5yzazbhmhyw097x1v7b61cr6zxk3lxn9w6vqdhiy"; depends=[boot maptools rgdal rgeos sp spdep splancs]; };
+  pgirmess = derive2 { name="pgirmess"; version="1.7.1"; sha256="1jdirknw7hrgjrnpb4va0p58ar5d74vwiyyxvny7synn3bbv8anz"; depends=[boot maptools rgdal rgeos sp spdep splancs]; };
   pglm = derive2 { name="pglm"; version="0.2-3"; sha256="16ghdgnpwyqgfa6z6gc93bw933dvazb3alv1867cbn7qnp2gaj3j"; depends=[Formula maxLik plm statmod]; };
   pgmm = derive2 { name="pgmm"; version="1.2.5"; sha256="09cpjvhjdncrjs7v2hy6xdqq9p57gd1n8gmaq0p3jmhvrbnsgpfy"; depends=[]; };
   pgnorm = derive2 { name="pgnorm"; version="2.0"; sha256="1k9z7pvmranr8m62v7amc0pj6lwzh3wqi79gg3mflifn1mr6c057"; depends=[]; };
@@ -13824,7 +14104,7 @@ in with self; {
   ph2bye = derive2 { name="ph2bye"; version="0.1.4"; sha256="0h5d8d4bagkp6g0nb67cb225ki5p1amnclnfj6afgdcsli5clr67"; depends=[animation nleqslv Rcpp VGAM]; };
   ph2mult = derive2 { name="ph2mult"; version="0.1.1"; sha256="0w3w18fkr9xzv6mpb00cz5id33zgsnl6s8zgjpchzvrhmpjpp437"; depends=[clinfun]; };
   ph2rand = derive2 { name="ph2rand"; version="0.1.0"; sha256="0k6azygcvzkirjx3vpx6kbhax1yai8r467kmmnvhh3p0v46mc5zp"; depends=[dplyr ggplot2 Rcpp scales tibble tidyr]; };
-  phangorn = derive2 { name="phangorn"; version="2.8.0"; sha256="1pg5lfc5m4ccphswbfbihj91ppmqhf4084kbjlmfsrqxylsyy8ch"; depends=[ape fastmatch igraph Matrix quadprog Rcpp]; };
+  phangorn = derive2 { name="phangorn"; version="2.8.1"; sha256="0xfwi7adl1pcfcwk72fj7lkwfm0wiip96ij7m4252xr9mq818ivd"; depends=[ape fastmatch igraph Matrix quadprog Rcpp]; };
   pharmaRTF = derive2 { name="pharmaRTF"; version="0.1.4"; sha256="1h16r4yhlm6mbwq3k24ssm70bsrg2hvykqh8dayigz5wi2nq5c1f"; depends=[assertthat huxtable purrr stringr]; };
   pharmr = derive2 { name="pharmr"; version="0.33.1"; sha256="1a1mlgpw4yyi5px4mpw655b597nqw55nr810rp474f2dz2r18bgv"; depends=[altair reticulate]; };
   phase = derive2 { name="phase"; version="1.2.1"; sha256="1gh6xaymw3236d719jg6vl7yrdvnl5i276qhaksbb6axh3nnmgdb"; depends=[behavr circular lubridate plotly pracma signal zeitgebr zoo]; };
@@ -13832,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]; };
@@ -13856,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.7"; sha256="14agj4kvb6qi29sr409mmm6yr3rx5bkck1iz6c872q57pj2vm60j"; depends=[dplyr lubridate plyr polynom rlang rmarkdown 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]; };
@@ -13864,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]; };
@@ -13889,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]; };
-  phytools = derive2 { name="phytools"; version="0.7-90"; sha256="1lg06ynhllk7ajv7z6bfsbbwm5lc4dfn3xhaiwlmzbv0jxq5lqa8"; depends=[ape clusterGeneration coda combinat expm maps MASS mnormt nlme numDeriv phangorn plotrix scatterplot3d]; };
+  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]; };
@@ -13899,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]; };
@@ -13910,7 +14193,7 @@ in with self; {
   pinnacle_data = derive2 { name="pinnacle.data"; version="0.1.4"; sha256="1sl36i2857b3xwx7iwgy8mkgjvz7nfa74ch1n8kcxbj59ib7mp8p"; depends=[tibble]; };
   pinochet = derive2 { name="pinochet"; version="0.1.0"; sha256="0qy18mlw34cv9p7b3qb5bidxyq44k0hzj91hm5vp6wkjhik4knvi"; depends=[]; };
   pinp = derive2 { name="pinp"; version="0.0.10"; sha256="1qah1b9chn237pfxisjsn6rr4h9h9zdqrk323c0k1qds7vm0xpra"; depends=[knitr rmarkdown]; };
-  pins = derive2 { name="pins"; version="1.0.0"; sha256="0w0sizawg7d2dk2yxbqzf2z5lgidr3aaj84g70vzq1n4rz8grf1i"; depends=[arrow cli digest ellipsis filelock fs glue httr jsonlite lifecycle magrittr mime openssl rappdirs rlang tibble whisker withr yaml zip]; };
+  pins = derive2 { name="pins"; version="1.0.1"; sha256="1l4q2ssym6gxdzn7c7i1mw8aawl7pn9nl7n164wj9hrinj4b2hgd"; depends=[arrow cli digest ellipsis filelock fs glue httr jsonlite lifecycle magrittr mime openssl rappdirs rlang tibble whisker withr yaml zip]; };
   pinyin = derive2 { name="pinyin"; version="1.1.6"; sha256="0rw9qd5hbcmpi30vdqs31ijy37d8jlpqv0xif2nndb8cwj8x5bw2"; depends=[data_table splitstackshape]; };
   pipe_design = derive2 { name="pipe.design"; version="0.5.1"; sha256="0r0szkdzifxmnnbr6675w8ij4zwqgxj3gwahc7a74mxr51f7qh8j"; depends=[ggplot2 gtools xtable]; };
   pipeGS = derive2 { name="pipeGS"; version="0.4"; sha256="0ki4i70r5f195b4jfv3hxlxz3zj57mhy2yf4984bwr11impilz5w"; depends=[]; };
@@ -13935,19 +14218,19 @@ in with self; {
   pixmap = derive2 { name="pixmap"; version="0.4-12"; sha256="1v1a1adsgh5jlvvi98j4nhb1h681s97ip76zdrga12rlsjaahfw9"; depends=[]; };
   pkdata = derive2 { name="pkdata"; version="0.1.0"; sha256="1kmcalidw2zidd6i8ds0k057b3187by2k8z6764va43d5garbbcv"; depends=[lubridate]; };
   pkgKitten = derive2 { name="pkgKitten"; version="0.2.2"; sha256="0rappcycpkdfdivzl6nn3jq1f42r9jqqmkb33asvhmpjs35fyc3s"; depends=[]; };
-  pkgbuild = derive2 { name="pkgbuild"; version="1.2.0"; sha256="0qx920h2viwjg10va81nj0xja495d8ni6vcc25ggvzki6a6k069f"; depends=[callr cli crayon desc prettyunits R6 rprojroot withr]; };
+  pkgbuild = derive2 { name="pkgbuild"; version="1.3.1"; sha256="0j6v5nbp8kg1m3j999gd1qsbdmqcqm1mf28ngmm177miwv8q4skw"; depends=[callr cli crayon desc prettyunits R6 rprojroot withr]; };
   pkgcache = derive2 { name="pkgcache"; version="1.3.0"; sha256="0wclbg0q5gx6dsy58979j3nzpfd6b6y4gxzrihlw37zf7c54cpxx"; depends=[assertthat callr cli curl digest filelock glue jsonlite prettyunits processx R6 rappdirs rlang tibble uuid]; };
   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="1.6.1"; sha256="1k31biyvxkv3xjc1yy3nzb9wfza3vbx97fv17nly5a6vlv7zqbs4"; depends=[callr crayon desc digest downlit fs httr magrittr memoise openssl purrr ragg rematch2 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]; };
-  pkgload = derive2 { name="pkgload"; version="1.2.3"; sha256="0jdkaj5cl0viy0i0hkcm4n2wlg1mfv3camr7f385njfararfanhh"; depends=[cli crayon desc rlang rprojroot rstudioapi withr]; };
+  pkgload = derive2 { name="pkgload"; version="1.2.4"; sha256="03yr9mswx9nij27bp21q6c533zx310xwzhwm52dwr7554k42p4fn"; depends=[cli crayon desc rlang rprojroot rstudioapi withr]; };
   pkgmaker = derive2 { name="pkgmaker"; version="0.32.2"; sha256="14ggsd24n5g5rvn0wl4w90ipxzmywqikh28llj89q6kpxwnv4iff"; depends=[assertthat codetools digest registry stringr withr xtable]; };
   pkgndep = derive2 { name="pkgndep"; version="1.1.0"; sha256="1fd42v91z2ad6h7vcwy9rbg1s886laapz9n2737vdxywc00ylidb"; depends=[BiocManager brew ComplexHeatmap GetoptLong hash]; };
-  pkgnet = derive2 { name="pkgnet"; version="0.4.1"; sha256="194ynbhq6k7gp8l4ccq6m37qhhf791ynbppjh77cc0q50w2jz387"; depends=[assertthat covr data_table DT futile_logger glue igraph knitr magrittr R6 rlang rmarkdown visNetwork]; };
+  pkgnet = derive2 { name="pkgnet"; version="0.4.2"; sha256="0y1b5psn680agsnyiy8yr5m5pzb1y6wsa7gms43nwgj6jjmmvgvv"; depends=[assertthat covr data_table DT futile_logger glue igraph knitr magrittr R6 rlang rmarkdown visNetwork]; };
   pkgnews = derive2 { name="pkgnews"; version="0.0.2"; sha256="0kqyy1fchpcyclxh6gly23pkfcf5b3hpsq1bhj4ykzbl4bc002h2"; depends=[]; };
   pkgsearch = derive2 { name="pkgsearch"; version="3.0.3"; sha256="1icn8qw6jpcgbmidqpml4ifpv1i5z2i4hp6b0gpb1xk9dlf6mnl2"; depends=[assertthat curl jsonlite parsedate prettyunits tibble]; };
   pkgverse = derive2 { name="pkgverse"; version="0.0.1"; sha256="0lsv7s9vsjvfpy19nxbdlbm363j01wwqqnrp0nlrik590hfq4w83"; depends=[devtools usethis]; };
@@ -13973,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.0.0"; sha256="1mixkw8vfmjfhhfcw7zyfpadzk4imy5b0vlqvjlsmc5r71aakd4w"; depends=[lattice]; };
+  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]; };
@@ -14014,11 +14299,11 @@ in with self; {
   plsRbeta = derive2 { name="plsRbeta"; version="0.2.6"; sha256="12i1krzvza8wjbafc8rx68hqmrj215mip39xg7sn6nifxi93pi1y"; depends=[betareg boot Formula MASS mvtnorm plsRglm]; };
   plsRcox = derive2 { name="plsRcox"; version="1.7.6"; sha256="0dg4vpy15z4x61qyqc9nvqa1788g6phlrzjrk1xhns5x2h8cicma"; depends=[kernlab lars mixOmics pls plsRglm risksetROC rms survAUC survcomp survival]; };
   plsRglm = derive2 { name="plsRglm"; version="1.3.0"; sha256="1szx8kjqg47hw1b03n6rs8rydn1698s64j45q8bly7kpfxqmxvsr"; depends=[bipartite boot car MASS mvtnorm]; };
-  plsVarSel = derive2 { name="plsVarSel"; version="0.9.6"; sha256="0z8igm7ldz2z2vc2fmlqv2pry5lb4mckrcw9rky7cakr3q0gciqw"; depends=[bdsmatrix genalg MASS MSQC mvtnorm pls praznik progress]; };
+  plsVarSel = derive2 { name="plsVarSel"; version="0.9.7"; sha256="0ifk08fj6kf2la3mwiw7xlk62nw2y595rxriqaxp217fx0al9pz6"; depends=[bdsmatrix genalg MASS MSQC mvtnorm pls praznik progress]; };
   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]; };
@@ -14055,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]; };
@@ -14076,76 +14362,78 @@ 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.4.0"; sha256="0p49rjxwqz7rgvjcq3gyfmdnmvcl8pb1ihp4fmahm87lai2nl9yb"; depends=[automagic digest dplyr DT htmltools httr jose jsonlite lubridate purrr R6 rlang shiny shinycssloaders shinydashboard shinyFeedback shinyjs shinyWidgets stringr tibble tidyr uuid yaml]; };
+  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]; };
   politeness = derive2 { name="politeness"; version="0.8.5"; sha256="05lwzz6x5afycha0gikffr21z6rplvlnrsi3x96pg8n6mfr8xgam"; depends=[data_table ggplot2 glmnet quanteda spacyr stringi stringr textir tm]; };
-  pollen = derive2 { name="pollen"; version="0.72.0"; sha256="0plxc7rys5q4c1dwammv3b2pnys1hdh5ic0b2ndmv5cbyspf2h0y"; depends=[dplyr lubridate purrr]; };
+  pollen = derive2 { name="pollen"; version="0.82.0"; sha256="0vmggbvacpbdz4zvn3cinip1b0ac44vgbydmsk6698hwgx9iwmfp"; depends=[dplyr lubridate purrr]; };
   pollimetry = derive2 { name="pollimetry"; version="1.0.1"; sha256="09zmcwlgzl4fnkdg2m424ibv3izzrm595c7pi4mc3bd1g8sa2ypn"; depends=[brms repmis]; };
   pollster = derive2 { name="pollster"; version="0.1.3"; sha256="1b5m5g9v8xbs3zz6as4xvzwaqr39477adi4vzxmjvxjsaij6ih5h"; depends=[dplyr forcats labelled rlang stringr tidyr]; };
   polmineR = derive2 { name="polmineR"; version="0.8.5"; sha256="1jb6j0rmcwzszympzfia8vml55fw2rybj2qcv3f54v3cr9hw13ga"; depends=[data_table DT jsonlite knitr magrittr Matrix pbapply RcppCWB slam stringi tm xml2]; };
   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.7-10"; sha256="0wzwzklflbhi8sv9m7ijwr16v9zmkk0j0v4pbcpf32f8lbn3psna"; 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.6"; sha256="0kdrq2j9lzcns29a27na3f1xga9sfa5bagf7ffkbvwxndy0xv1fi"; 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-5"; sha256="1wc5q7hnhsshj8j83q85xzy84cjxmy6k2w6w0p0id05wp4j9vm94"; depends=[Rcpp]; };
+  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]; };
   popKorn = derive2 { name="popKorn"; version="0.3-0"; sha256="1zcl6ms7ghbcjyjgfg35h37ma8nspg15rk2ik82yalqlzxjf7kxw"; depends=[boot]; };
   popPCR = derive2 { name="popPCR"; version="0.1.1.1"; sha256="03ppgjmdp3rivlgqs7aq082j4rzndf9fw5aq8mzci7fvjkj7whc4"; depends=[mvtnorm]; };
+  popPyramid = derive2 { name="popPyramid"; version="0.1.1"; sha256="1fvq63d0pjhpzyf6pb2v5w9wy0pskiv2n07jipg98bgyiih1w584"; depends=[dplyr ggplot2 tibble]; };
   popRF = derive2 { name="popRF"; version="1.0.0"; sha256="0w3w1ffyy5b8glviib7ryjqzhmfp5aw6am3z8qpvis6l745p7vgh"; depends=[doParallel foreach gdalUtils plyr quantregForest randomForest raster]; };
   popReconstruct = derive2 { name="popReconstruct"; version="1.0-6"; sha256="0nmf93dy2qf7z9mafpy99ry53aapbxlismn7drn732r8gvravapx"; depends=[coda]; };
   popbayes = derive2 { name="popbayes"; version="1.0"; sha256="01p0highanjqdslbavykx67ss7w7f5xwczqx1l5pw4gkrvngm992"; depends=[R2jags usethis]; };
   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="5.2"; sha256="0zy50bssxpnlpvf72iiab7yfnfs2b4avd38pjilyi197dgcy2pj5"; depends=[fields ggplot2 hash]; };
+  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.2"; sha256="0n7czp5s7yxdwsbsm4xai0mnlyx5cac4f9w2imhyczh1843wwnf0"; depends=[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]; };
-  portalr = derive2 { name="portalr"; version="0.3.8"; sha256="1fb3kvpky47bxmf6q91j98pncym0siki7lh7x96l1lqyhg2si5s4"; depends=[clipr clisymbols crayon dplyr forecast gh httr lubridate lunar magrittr rlang tidyr tidyselect zoo]; };
+  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=[]; };
@@ -14162,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]; };
@@ -14179,7 +14469,8 @@ 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]; };
   ppseq = derive2 { name="ppseq"; version="0.1.1"; sha256="0r1si156d806l35241fy85cr98j2mmsmc63nwilhr2px9272r75b"; depends=[dplyr furrr future ggplot2 patchwork plotly purrr tibble tidyr]; };
@@ -14188,21 +14479,21 @@ in with self; {
   prLogistic = derive2 { name="prLogistic"; version="1.2"; sha256="1abwz7nqkz2qbyqyr603kl9a3rkad3f4vxhck6a9kl80xrmfrj9s"; depends=[boot Hmisc lme4]; };
   prWarp = derive2 { name="prWarp"; version="1.0.0"; sha256="1rx9yby7xwa2bgqa6a1zllan6qfchgfrg2waadmwfmjhcp8qb1mj"; depends=[Morpho]; };
   prabclus = derive2 { name="prabclus"; version="2.3-2"; sha256="0hg4d7y1w18jpgvw10z8833bbbcnlkwiasx0wh6iwa2pnnybq8gl"; depends=[MASS mclust]; };
-  pracma = derive2 { name="pracma"; version="2.3.3"; sha256="0g5r5ir5k43ba0ngnsanp108k479l2dnsjd5w6idk1d34ivqs7yg"; depends=[]; };
+  pracma = derive2 { name="pracma"; version="2.3.6"; sha256="1pmqk7b6c600v6pn0s047p3msl13azwk611zvh05w5f993yq7b0p"; depends=[]; };
   pragma = derive2 { name="pragma"; version="0.1.3"; sha256="1n30a346pph4d8cj4p4qx2l6fnwhkxa8yxdisx47pix376ljpjfx"; depends=[]; };
   prais = derive2 { name="prais"; version="1.1.2"; sha256="16h3771lr6vn0g92bfpdq7r3wpdkspbhmrl5948p4isc5qxy2cgx"; depends=[lmtest pcse sandwich]; };
   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]; };
   precintcon = derive2 { name="precintcon"; version="2.3.0"; sha256="1sf0mfqa77aqhbx3hg8pv582ibmfnv6vigqcd3xqsbq7nigy2ms9"; depends=[ggplot2 scales]; };
   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.1.3"; sha256="1rmzz99wvjk0wv5csi4xmf2rc23dh3y3h3jwrd13mzs2ss5kjsq3"; depends=[docopt fs here magrittr purrr R_cache rlang rprojroot rstudioapi usethis withr yaml]; };
-  precrec = derive2 { name="precrec"; version="0.12.7"; sha256="0vwzaqnh9ymrm52dd79bihwqprnygz0d71ay8fv51hdw0zg6saya"; depends=[assertthat data_table ggplot2 gridExtra Rcpp withr]; };
+  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.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]; };
@@ -14218,15 +14509,15 @@ in with self; {
   predtools = derive2 { name="predtools"; version="0.0.2"; sha256="1bp0pvpd6s190q9kylvkcfh61jblbsla4d7rmnqv2rhza71mdfkj"; depends=[dplyr ggplot2 magrittr pROC RConics Rcpp]; };
   predtoolsTS = derive2 { name="predtoolsTS"; version="0.1.1"; sha256="0f9fapw9yjdzj6pwcskbyfwjsvg09ahn20vrv4bgi0dx8am291rl"; depends=[caret forecast Metrics tseries TSPred]; };
   prefeR = derive2 { name="prefeR"; version="0.1.1"; sha256="1wgbwbmghsnc2cargwndda0xhcdswvzd0nkjq5g895kl8zcwgpyf"; depends=[entropy mcmc]; };
-  preferably = derive2 { name="preferably"; version="0.3.1"; sha256="1p71nby2a63qjqkbd5hp02ws095ywdbrm51bng3by0iwr8j12qvq"; depends=[knitr pkgdown rmarkdown]; };
+  preferably = derive2 { name="preferably"; version="0.4"; sha256="1ccf9jza2721gc3rkw66ip0nddwa25l5nmz89qcg6qxf37d4k217"; depends=[knitr pkgdown rmarkdown]; };
   preference = derive2 { name="preference"; version="1.1.6"; sha256="12gpiwd69ik4r2l67fvad0jmp78w919nhly4drxhfiizl3mw4jdn"; depends=[ggplot2 tidyr]; };
   prefmod = derive2 { name="prefmod"; version="0.8-34"; sha256="1fkqp75w3im6b0l4sfs1yr2id8ffp2xbpb6lkgnv833cri787d5x"; depends=[colorspace gnm]; };
   prenoms = derive2 { name="prenoms"; version="0.0.1"; sha256="0r642akcc5fxg736b9d6i53spywk2f7kingni0akgr0gdxc7s6aj"; depends=[tibble]; };
   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=[]; };
@@ -14234,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=[]; };
@@ -14261,7 +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.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]; };
@@ -14299,15 +14592,15 @@ 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]; };
   progenyClust = derive2 { name="progenyClust"; version="1.2"; sha256="0azp5pvk316s8xbawcqwqfd80fxb4xn8hc6aq87xwksc6fhwp94l"; depends=[Hmisc]; };
   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.9.0"; sha256="03sk5cv8cywahlszjkd8pfqmhbj6cv0j54d3lassa7h44f20zryg"; depends=[digest]; };
-  proj4 = derive2 { name="proj4"; version="1.0-10.1"; sha256="06fsw7j9c50s0md06niyvj6hvsk3fad0y1r1hsqk0jdsbjz7r1b6"; depends=[]; };
+  progressr = derive2 { name="progressr"; version="0.10.0"; sha256="1p5s35rzh28n2id2lipgyqmh3wzib66m7x0pz9028y8cql8xr5ac"; depends=[digest]; };
+  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]; };
@@ -14339,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]; };
@@ -14349,10 +14642,11 @@ 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.3"; sha256="1g90d82rp82dkidlfykankprzpp94d7394s2b2qjlyiia3k0hlb3"; depends=[Matrix Rcpp RcppArmadillo RcppParallel]; };
-  prozor = derive2 { name="prozor"; version="0.2.11"; sha256="1a2k69fvgi6vxgczk81kh8r2jxc6nirc51w6ac239rqjzb1zyhjm"; depends=[AhoCorasickTrie doParallel dplyr foreach Matrix plyr readr seqinr stringr]; };
+  proxyC = derive2 { name="proxyC"; version="0.2.4"; sha256="1mcimswrx1cjjm7wsgkzfrgh3jpf4sncwfvdvg2f14fzfzy7afd6"; depends=[Matrix Rcpp RcppArmadillo RcppParallel]; };
+  prozor = derive2 { name="prozor"; version="0.3.1"; sha256="0gcjfjsvj2pjp9ih7nxvs9gfj5b94g8d3ziaz16wfbnjqm4a38lp"; depends=[AhoCorasickTrie docopt dplyr Matrix purrr readr rlang seqinr stringr]; };
   prrd = derive2 { name="prrd"; version="0.0.5"; sha256="0ig3k1l2md6hzb5asv277ylg0k9a1rkcrbs8d8h4f07pxykhmivf"; depends=[config crayon data_table DBI liteq RSQLite]; };
   prt = derive2 { name="prt"; version="0.1.4"; sha256="0adbznxacdfqd9hvp5x45vckh6vxlz2fvhqdqikmfy99k9gzcd4c"; depends=[assertthat backports cli crayon data_table fansi fst pillar rlang tibble vctrs]; };
   pryr = derive2 { name="pryr"; version="0.1.5"; sha256="02vp1y7zhv22id43j5c0gdcgn9171dyypqp8rqrlc3w5a7n565kv"; depends=[codetools lobstr Rcpp stringr]; };
@@ -14363,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]; };
@@ -14380,9 +14674,10 @@ in with self; {
   pspearman = derive2 { name="pspearman"; version="0.3-0"; sha256="1l5mqga7b5nvm6v9gbl1xsspdqsjqyhhdn4gc4qlz6ld7fqfq6cx"; depends=[]; };
   pspline = derive2 { name="pspline"; version="1.0-18"; sha256="1iwsw52miil1v1yl99mzl28qi8gdjr56rlasmh8faqjlpn9z477p"; depends=[]; };
   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.2.1"; sha256="0qxskb4bxi8d7lvsn0anhpslrl5g85nbswicfkr3nkmmhwi19d0z"; depends=[Rcpp RcppEigen testthat]; };
+  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]; };
@@ -14390,8 +14685,8 @@ in with self; {
   psycModel = derive2 { name="psycModel"; version="0.3.2"; sha256="0yb826sc8xajbai7x6p0ryvas3jizn3n8j0y7blykb4vhvcabq3x"; depends=[dplyr ggplot2 glue insight lavaan lifecycle lme4 lmerTest parameters patchwork performance psych rlang stringr tibble tidyr]; };
   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.8"; sha256="0yyb9ngavm8zc6s8mn1q5x1szdmhlfplkry7ddmichibab0ds5pv"; depends=[foreign psych]; };
-  psychmeta = derive2 { name="psychmeta"; version="2.6.0"; sha256="0rqdxld7wcw6h70s78c7bhas56xvl9hpva9zvzxghyyxd9zwbp7g"; depends=[boot curl dplyr ggplot2 mathjaxr metafor progress purrr rlang tibble tidyr]; };
+  psychTools = derive2 { name="psychTools"; version="2.1.12"; sha256="0fqxlggbhi5g016vyiby8g42ll0080fig15p689cas2ydwn5zklk"; depends=[foreign psych]; };
+  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]; };
@@ -14403,18 +14698,18 @@ in with self; {
   psymetadata = derive2 { name="psymetadata"; version="1.0.0"; sha256="16xcjxa8h7x58ssvdmiy1byxxmppmxjgf9m5xacm6w1nyw062jd5"; depends=[Rdpack]; };
   psymonitor = derive2 { name="psymonitor"; version="0.0.2"; sha256="09288w2bk5jhnbyj516jqn5qb33yqqg5kqbg6ylqk7anlq2yg2sl"; depends=[doParallel foreach magrittr]; };
   psyntur = derive2 { name="psyntur"; version="0.1.0"; sha256="0dh7vdj3ynsxibcf0wmh5h4yknijg78azjzlma25glihpgd2nbbw"; depends=[dplyr effsize ez fastDummies formula_tools GGally ggplot2 ggthemes magrittr plyr psych purrr rlang tidyr tidyselect]; };
-  psyphy = derive2 { name="psyphy"; version="0.2-2"; sha256="1i9fayfbndn65hk16mlgxrnpw18gwa46rp0iqsj1m1ggq6pscjp1"; depends=[]; };
+  psyphy = derive2 { name="psyphy"; version="0.2-3"; sha256="1cf134l5j7ggclr08jb5vrj4jv4gq9s1b3njj0ic4263xg8wvv6n"; depends=[]; };
   psyverse = derive2 { name="psyverse"; version="0.1.0"; sha256="0q402z884fwnd812bs44xqbsank89risli13v3njhjc337lj29wx"; depends=[yaml yum]; };
   ptest = derive2 { name="ptest"; version="1.0-8"; sha256="1d30a23yknf7xgqj8adgr36pnh9dpffl1v5fq682f26fk3ss30qp"; depends=[quantreg]; };
   ptf = derive2 { name="ptf"; version="0.0.1"; sha256="1s9nzn823z2capil83vcfs7frg8f6bpygx8aw1zz4sacnhvryr52"; depends=[Matrix plyr rARPACK Rcpp RcppArmadillo]; };
   ptinpoly = derive2 { name="ptinpoly"; version="2.8"; sha256="126chp92ha48agx5i819bzdij79zbgj32msijvaid3zhxjx7qy1j"; depends=[misc3d]; };
   ptm = derive2 { name="ptm"; version="0.2.4"; sha256="00szxlil7657ciwh17jkk1mv28m5h1la97ksgn3glypf5z7hsrd4"; depends=[bio3d Biostrings curl httr igraph jsonlite muscle RCurl seqinr xml2]; };
-  ptmixed = derive2 { name="ptmixed"; version="1.1.0"; sha256="08pi6bj5mdg3jahb035ld41b0hlx16bmfwf51i8ayxhf71paayq5"; depends=[aod GLMMadaptive lme4 matrixcalc moments mvtnorm numDeriv tweeDEseq]; };
+  ptmixed = derive2 { name="ptmixed"; version="1.1.1"; sha256="12yjm73grs14gzwnh61qp0vzbikmwfl1f26s9xfclsp6g61k3rzg"; depends=[aod GLMMadaptive lme4 matrixcalc moments mvtnorm numDeriv tweeDEseq]; };
   pts2polys = derive2 { name="pts2polys"; version="0.1.3"; sha256="0rmgryv0vds20npvaqvvwrhrx0grfcz9qwdy2w3bx945r0chhw39"; depends=[Rcpp]; };
   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]; };
@@ -14431,7 +14726,7 @@ in with self; {
   puniform = derive2 { name="puniform"; version="0.2.4"; sha256="0v2977y9cwjx74xk0ig745g09wn7nrcsrg4f6v315sglsm18iaa8"; depends=[ADGofTest metafor Rcpp RcppArmadillo]; };
   pureseqtmr = derive2 { name="pureseqtmr"; version="1.2"; sha256="1c2pcci3s949hi8hh0h03mr3m6qw3kvihfglwavx578kjm2qw0xz"; depends=[ggplot2 plyr rappdirs stringr tibble]; };
   purge = derive2 { name="purge"; version="0.2.1"; sha256="1faf8mkaxsnj63wnig5rs50hd3j6vzaj0xkdz8kn0j7y2vvshp9p"; depends=[]; };
-  purgeR = derive2 { name="purgeR"; version="1.3"; sha256="0nq6hw61hr11pxka0ff6x8xr8fqdbygld7dxzamgv7fi0v6xn979"; depends=[doSNOW foreach progress Rcpp RcppProgress]; };
+  purgeR = derive2 { name="purgeR"; version="1.4"; sha256="0awcpk061q4bmfxk920n6dmba79s18mrwvzdd4zdfl5fqsb7iydb"; depends=[doSNOW foreach progress Rcpp RcppProgress]; };
   purging = derive2 { name="purging"; version="1.0.0"; sha256="1b8f87jn6wyh4fp6b1660bd484wcf7xiajdg9dz2594aj1r94qsr"; depends=[MASS]; };
   purrr = derive2 { name="purrr"; version="0.3.4"; sha256="1cj091rsjdj2xz16qhynyw72gh5cyhznifcfbrbygndfr4xwksr3"; depends=[magrittr rlang]; };
   purrrlyr = derive2 { name="purrrlyr"; version="0.0.7"; sha256="03472xz0q30vjg45xv24zkd9b1w8ggi33vchxrimfnppdiqi3x0m"; depends=[BH dplyr magrittr purrr Rcpp]; };
@@ -14439,7 +14734,7 @@ in with self; {
   pushoverr = derive2 { name="pushoverr"; version="1.1.0"; sha256="05ma76jhk00m9872f7gb0vwmk2q3l79r1ddaf1slbhgd57l1avk2"; depends=[checkmate cli glue httr rlang]; };
   puzzle = derive2 { name="puzzle"; version="0.0.1"; sha256="073n074irsvn4w1jy5xmr6l24a209kn0ypvf1d2zn3p6yd93wzss"; depends=[dplyr kableExtra lubridate plyr readr readxl reshape reshape2 sqldf tidyverse]; };
   pvLRT = derive2 { name="pvLRT"; version="0.3"; sha256="0fhnyj0ax9c4k0vah0p7dlf825abxr45bkcx5ifrgbmwdnj783gl"; depends=[bit64 data_table ggplot2 glue magrittr progress RColorBrewer]; };
-  pvaluefunctions = derive2 { name="pvaluefunctions"; version="1.6.1"; sha256="0p1hgrab8yallxri1z2q3cv26q6nydzykcvc6bcv9r00wjjfh966"; depends=[ggplot2 pracma scales zipfR]; };
+  pvaluefunctions = derive2 { name="pvaluefunctions"; version="1.6.2"; sha256="10dxzbz6fw01qgfm6mmxb1xy14pwxgif0d603m3x146337pccc7q"; depends=[ggplot2 gsl pracma scales zipfR]; };
   pvar = derive2 { name="pvar"; version="2.2.5"; sha256="1a5dxhki5nd5s1d5wwnc1dkg7mdib2s8w1i0l8mdg3f1g3l00klz"; depends=[Rcpp]; };
   pvclass = derive2 { name="pvclass"; version="1.4"; sha256="1g6x75qz3xybq1xnik0hzi7mcs0gzzqd3f0iwfkzi5d1zcddnw13"; depends=[Matrix]; };
   pvclust = derive2 { name="pvclust"; version="2.2-0"; sha256="0082icm54k2yq60k06qpr92a626k39j2jr0046lva4ylmhxqb4kq"; depends=[]; };
@@ -14469,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]; };
-  qad = derive2 { name="qad"; version="1.0.0"; sha256="0dpmrm0825vvsvbdlgh21zqgqyl8nmmym8xzyzx1s8jxx4drb95i"; depends=[copula cowplot data_table dplyr ggExtra ggplot2 Rcpp viridis]; };
+  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=[]; };
@@ -14488,8 +14784,8 @@ 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.0"; sha256="1z9wy2nxjr6dnxphsnfbdbqgbyysbrygybbpaka4li42wkfnaz40"; depends=[arm future future_apply generics ggplot2 gridExtra pscl survival tibble]; };
-  qgcompint = derive2 { name="qgcompint"; version="0.6.2"; sha256="0jn39bsm75z13r5hhbhw0hs9a9yy54zn7sv9xq88hgzl4qqqnaaa"; depends=[arm future future_apply ggplot2 gridExtra qgcomp survival]; };
+  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]; };
   qgshiny = derive2 { name="qgshiny"; version="0.1.0"; sha256="0ydhwg4abn8n9pwnjnwf1n1k854zw31z8f2splzdm5j279lsjg3r"; depends=[rmarkdown shiny]; };
@@ -14501,6 +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.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]; };
@@ -14511,7 +14808,7 @@ in with self; {
   qpdf = derive2 { name="qpdf"; version="1.1"; sha256="03lnfncw8qd1fwfyqh1mjvnsjr3b63wxbah0wp5g7z7gba90dwbi"; depends=[askpass curl Rcpp]; };
   qpmadr = derive2 { name="qpmadr"; version="1.1.0-0"; sha256="0krv3zhr42z2mkkbn2bkglzfxbf06dmd9vnnc3rcyhm1r85n4fbq"; depends=[checkmate Rcpp RcppEigen]; };
   qqboxplot = derive2 { name="qqboxplot"; version="0.1.0"; sha256="0807ww7cvc84hmwrwp2q5gy6v0qd01mwhj537403iy9z4z3wsvhv"; depends=[ggplot2]; };
-  qqconf = derive2 { name="qqconf"; version="1.0.0"; sha256="0xav4y34nlfjdmjrz3mnw8maqnaswndkhnh4bh7kh6b5syfg26w5"; depends=[dplyr ggplot2 magrittr MASS rlang robustbase]; };
+  qqconf = derive2 { name="qqconf"; version="1.1.1"; sha256="1khaipqwhji30jvzn7kh46s7nc8df3w1r3g7c8i48qps3qrimfmh"; depends=[distr dplyr ggplot2 magrittr MASS rlang robustbase]; };
   qqman = derive2 { name="qqman"; version="0.1.8"; sha256="1a6qp5wv9bvwjchfw8x4jh48hkynlnfr21a8vqgnswldvwbq7njq"; depends=[calibrate]; };
   qqplotr = derive2 { name="qqplotr"; version="0.0.5"; sha256="1ija4ik3bc404yjm5pw4y32krs1gxn6jd05pqmc0ajawydvr4w1r"; depends=[dplyr ggplot2 MASS robustbase]; };
   qqr = derive2 { name="qqr"; version="0.0.1"; sha256="1vi4nbm356vahm4hnvy686nysbn4n63p9cjd4i9dm73lhsf9ilmn"; depends=[dplyr rvest stringr tidyverse xml2]; };
@@ -14532,7 +14829,7 @@ in with self; {
   qrmtools = derive2 { name="qrmtools"; version="0.0-14"; sha256="1gjaq6i0xhsivcmivbn4xxsqasbvf95p1w0rzpycxzgcfarxwwx3"; depends=[ADGofTest lattice Quandl quantmod rugarch xts zoo]; };
   qrng = derive2 { name="qrng"; version="0.0-8"; sha256="1yagh7llrg208mdmwyq7gy4c7h20hj4s5ikp6nc3q8pl7avmq3jc"; depends=[copula randtoolbox]; };
   qrnn = derive2 { name="qrnn"; version="2.0.5"; sha256="0ligz67kbfg5cmvacnb7y0ms1v0c7mbvbcfsxyfiz543ppl3xn1v"; depends=[]; };
-  qs = derive2 { name="qs"; version="0.25.1.1"; sha256="077i181vh0izvsdy2d4366yir0ajg531g6d1s7ab044ssbphg38x"; depends=[RApiSerialize Rcpp stringfish]; };
+  qs = derive2 { name="qs"; version="0.25.2"; sha256="1gswppmw8rhd7h50hffhss4c4niz0x54r9sc8pgqzy26vkjqlhpy"; depends=[RApiSerialize Rcpp stringfish]; };
   qsimulatR = derive2 { name="qsimulatR"; version="1.0"; sha256="0d2al6rnsyj58jhwczn2rx09b007s2yjihpk7i65law7v8dmxiaf"; depends=[]; };
   qsort = derive2 { name="qsort"; version="0.2.3"; sha256="1xvp29dijfa2207wyw3z09rmffn61fngfy0f00qjk284n1jnnvrg"; depends=[cowplot ggplot2 gridExtra purrr]; };
   qst = derive2 { name="qst"; version="0.1.2"; sha256="0f5c4088y9c5fxyy2dyfkp049lnzvys3zyizazxsa82xwkwsbc8a"; depends=[DBI dbplyr dplyr magrittr RSQLite tibble]; };
@@ -14542,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]; };
@@ -14560,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]; };
@@ -14571,7 +14868,7 @@ in with self; {
   quantable = derive2 { name="quantable"; version="0.3.6"; sha256="15q4phc2j7aihl8f4qzpdwxcvshq2cfzkfcxc8k4qypsxk9a00sb"; depends=[caret dplyr e1071 ggplot2 ggrepel gplots Matrix plyr pROC RColorBrewer readr reshape2 rlang scales stringr tibble tidyr]; };
   quantdates = derive2 { name="quantdates"; version="1.0"; sha256="1hyds8rwr1yg740aq4w5fqjrwdf3dl4phf8mj8qsgbb7i0wbbf3q"; depends=[lubridate]; };
   quantdr = derive2 { name="quantdr"; version="1.2.0"; sha256="03dhcb5p9kkyl6qvpxbsjlrnjq0970xcr62j15jyhi878llzqk2n"; depends=[dr KernSmooth MTS mvtnorm quantreg]; };
-  quanteda = derive2 { name="quanteda"; version="3.1.0"; sha256="0gafbb73gcxx2gq9q7bg88alyhymkr471lp394m5ydij6mdm4hb9"; depends=[fastmatch magrittr Matrix Rcpp RcppArmadillo RcppParallel SnowballC stopwords stringi xml2 yaml]; };
+  quanteda = derive2 { name="quanteda"; version="3.2.0"; sha256="0q72jsc6zalnl35qq02z9niissnyax4zxzqzpfpjsmgmxpd797mw"; depends=[fastmatch magrittr Matrix Rcpp RcppArmadillo RcppParallel SnowballC stopwords stringi xml2 yaml]; };
   quanteda_textmodels = derive2 { name="quanteda.textmodels"; version="0.9.4"; sha256="0r2nls93nriw97z0rmmpn2bb8c3jr571hv5slqj68p7ibr06rh1h"; depends=[glmnet LiblineaR Matrix quanteda Rcpp RcppArmadillo RcppParallel RSpectra SparseM stringi]; };
   quanteda_textplots = derive2 { name="quanteda.textplots"; version="0.94"; sha256="1as7mpy3ihja5d9nw7c30w0yhaklpmn41bgw2cvpic2rbp5828fa"; depends=[extrafont ggplot2 ggrepel igraph Matrix network quanteda RColorBrewer Rcpp sna stringi]; };
   quanteda_textstats = derive2 { name="quanteda.textstats"; version="0.95"; sha256="100125n2l3mhj0clbwpy3cbb84mwf83ix2c67sy8lmmh71vxz2rk"; depends=[Matrix nsyllable proxyC quanteda Rcpp RcppArmadillo RcppParallel stringi]; };
@@ -14582,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]; };
@@ -14601,13 +14898,16 @@ 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]; };
   quickpsy = derive2 { name="quickpsy"; version="0.1.5.1"; sha256="0dfqlpghnw79idw3ir03cxx9n88sqs5p14jz7jgpkdwvjpw1y4q9"; depends=[DEoptim dplyr ggplot2 MPDiR]; };
   quickregression = derive2 { name="quickregression"; version="0.2"; sha256="1z0sspi8q7dvgxqbj5na56v458pv6jhxrssnm6j23156dchgw39h"; depends=[car]; };
+  quid = derive2 { name="quid"; version="0.0.1"; sha256="10qfby1w3q3z0vwqk3nnxxlf62cr5v60ipagx0wb79vanl318pp0"; depends=[BayesFactor checkmate dplyr ellipsis ggplot2 janitor magrittr Matrix MCMCpack purrr rlang stringr tibble tidyr tidyselect]; };
   quiddich = derive2 { name="quiddich"; version="1.0.0"; sha256="10kiyn1all58klyygmz6zw0w9nfl9vq19qybmkqh410rd5ryjz3p"; depends=[ape]; };
   quietR = derive2 { name="quietR"; version="0.1.0"; sha256="1f923dllhchgf49bp2d9186v3cxzdya6i56ww6cj0n0mh8gfi27z"; depends=[]; };
+  quiltr = derive2 { name="quiltr"; version="0.1.0"; sha256="1my36y9kf52jm6w923qmffi3809d0xcc68sm5ngvfacszn665k23"; depends=[]; };
   quincunx = derive2 { name="quincunx"; version="0.1.4"; sha256="1gpkhg1mvk66d2srbmacxpmpp30bvz048n2b1v61gz1f99lqmx29"; depends=[concatenate dplyr glue httr lubridate magrittr memoise progress purrr rlang rvest stringr tibble tidyjson tidyr vroom writexl]; };
   quint = derive2 { name="quint"; version="2.1.0"; sha256="0rivacjccr3gdw5w4mzdjyrhw4lpww9665pwyrm845w165h9bi53"; depends=[Formula partykit rpart]; };
   quokar = derive2 { name="quokar"; version="0.1.0"; sha256="1qnl3x1aa665xpyb3ac07xrnnjdwbmj645p103144k5is5b8likc"; depends=[ald ALDqr bayesQR dplyr ggplot2 GIGrvg gridExtra knitr magrittr MCMCpack purrr quantreg robustbase tidyr]; };
@@ -14632,7 +14932,7 @@ in with self; {
   r2pmml = derive2 { name="r2pmml"; version="0.26.0"; sha256="15npzyjd5n1zysffhcfp4c0wykk2nhwgs8j2x8fqyn9cv2l8abjk"; depends=[]; };
   r2pptx = derive2 { name="r2pptx"; version="0.1.0"; sha256="12p3018b514kk1yxm1xyc0835j34zvpr1fz8k5rpiz30fbxjip58"; depends=[glue officer]; };
   r2r = derive2 { name="r2r"; version="0.1.1"; sha256="0vp0ak88m3ssca8b8kxf9w6qkxsdy0qs6cngrr9gqvbrnx0gh9j6"; depends=[digest rlang]; };
-  r2rtf = derive2 { name="r2rtf"; version="0.3.1"; sha256="0icqk7awynasvwwkxf983c6jdgabm3mbw3kw7nqddavqmzcdl4cy"; depends=[]; };
+  r2rtf = derive2 { name="r2rtf"; version="0.3.2"; sha256="18c430bhf0sk63yvljqmq3qdginp5ybs1j5bl73mmgz7h1p9wdsa"; depends=[]; };
   r2shortcode = derive2 { name="r2shortcode"; version="0.1"; sha256="03djy8m146k31xgvwcbrd1nzwj4wdlvvwzgviv80kskgr6ld9jrj"; depends=[magrittr stringr]; };
   r2spss = derive2 { name="r2spss"; version="0.2.0"; sha256="1l3yy4fqnmdndm4mxcn5mnzwcdrsrfgq49z9liivjp587665n8jc"; depends=[car]; };
   r2sundials = derive2 { name="r2sundials"; version="5.0.0-10"; sha256="1hv5wq6lxrv57pszxky4xiwhjhjlzxa4fh0flrrmrrk89dygkx9v"; depends=[Rcpp RcppArmadillo rmumps]; };
@@ -14671,15 +14971,16 @@ 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.9.3"; sha256="03919425xd1dl2fwybq4rpbv5lcqm4qfk23mxszm3jgdhxb2i1s6"; 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]; };
-  rFIA = derive2 { name="rFIA"; version="0.3.2"; sha256="0q1256frfd485bs3zay99ndlvz0x26286hy5vys364jdfjv25zda"; depends=[bit64 data_table dplyr dtplyr ggplot2 lifecycle rlang sf stringr tidyr tidyselect]; };
+  rFIA = derive2 { name="rFIA"; version="1.0.0"; sha256="13c50hn8fna9f5zwxp3nzpzvgv8aw5a5pxkpw6600yhmg1nmrwgp"; depends=[bit64 data_table dplyr dtplyr ggplot2 rlang sf stringr tidyr tidyselect]; };
   rFSA = derive2 { name="rFSA"; version="0.9.6"; sha256="1fxd194iq8jnlsnj76mjq2f6db7ln641qwfsf5v63kx3qqhn8x5s"; depends=[hash rPref tibble tidyr]; };
   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]; };
@@ -14687,7 +14988,7 @@ in with self; {
   rIntervalTree = derive2 { name="rIntervalTree"; version="0.1.0"; sha256="0xd6wcra4zvphfgnz1rnnslx96p840zlgms367370xm4hyg6d37x"; depends=[]; };
   rIsing = derive2 { name="rIsing"; version="0.1.0"; sha256="1208lwfk9j8gghj8xf6i8v6s18h89ydqsd4jq3r88n403yzbzzck"; depends=[data_table Rcpp RcppEigen]; };
   rJPSGCS = derive2 { name="rJPSGCS"; version="0.2-10"; sha256="0a00s10yp22fkvk67dkq43sbphcqla65x9j4qpv076bmdchn7arw"; depends=[chopsticks rJava]; };
-  rJava = derive2 { name="rJava"; version="1.0-5"; sha256="1pkgndppk498by44sai440l3i7vzndknbngn1q748cv39xvsbnrg"; depends=[]; };
+  rJava = derive2 { name="rJava"; version="1.0-6"; sha256="1ijqhvnb8ab38cp9pwdf7zq7xqqlm6x94gkrab2dd98p6d4x1472"; depends=[]; };
   rJython = derive2 { name="rJython"; version="0.0-4"; sha256="13fpcw37cca738v9idqgi3gv9avfkfwfacxj54p2c4wyg46ghnah"; depends=[rJava rjson]; };
   rKIN = derive2 { name="rKIN"; version="0.1"; sha256="1j6fdi5h869q4d1hq6ha6qyhisa0zk2qmhjrc4ahl9991d680dyn"; depends=[ggplot2 maptools MASS rgeos sp]; };
   rKOMICS = derive2 { name="rKOMICS"; version="1.1"; sha256="0zs7a75hgrj4ajbbxn0kmc2871rakyizhwdn7ryha8bgig4ld3cs"; depends=[ape circlize ComplexHeatmap dplyr factoextra FactoMineR ggplot2 ggpubr magrittr reshape2 stringr]; };
@@ -14713,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]; };
@@ -14722,11 +15023,11 @@ 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="0.6.3"; sha256="07dgdiygj39c1ykd910pb6dhnivbmi14b5g70pwpxjab7l9dzaw4"; 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]; };
-  rTLS = derive2 { name="rTLS"; version="0.2.5.1"; sha256="1j7pp8x7w87sj9z85jz3mi5x65irp2r82025qclna84yjcdd6p70"; depends=[alphashape3d boot data_table doSNOW foreach Rcpp RcppArmadillo RcppHNSW RcppProgress rgeos rgl sp]; };
+  rTLS = derive2 { name="rTLS"; version="0.2.5.2"; sha256="10fkd8ylj9xwvgwnirjw4n6c4vl8y5x8q4mq2zmwlpjryknx82kv"; depends=[alphashape3d boot data_table doSNOW foreach Rcpp RcppArmadillo RcppHNSW RcppProgress rgeos rgl sp]; };
   rTRNG = derive2 { name="rTRNG"; version="4.23.1-1"; sha256="0jlkr57afkg6axkdk020rd3nybx1qzwvy1hjgfw8fwvm79x0kpr7"; depends=[Rcpp RcppParallel]; };
   rTableICC = derive2 { name="rTableICC"; version="1.0.7"; sha256="1z896675kmm9p5dnmcnsz2205ynf05laqcxvlc9y0g5i0x8rf8v6"; depends=[aster partitions]; };
   rTensor = derive2 { name="rTensor"; version="1.4.8"; sha256="1ks4rwaish24sg5gc2jkfdqfq6h8gh9f3wdxk3dxjgpwjqwijz8f"; depends=[]; };
@@ -14738,6 +15039,7 @@ in with self; {
   rWishart = derive2 { name="rWishart"; version="0.1.2"; sha256="0wzijc454mrvmggb7a5jqwjbmk0kzr4bmy0iwniz5cn343pr1rri"; depends=[lazyeval MASS Matrix]; };
   rYoutheria = derive2 { name="rYoutheria"; version="1.0.3"; sha256="1r63ggy4knwzxnpjkmsn7zwmwfaznm8mmxl7r9ph10wz4sblgygl"; depends=[plyr RCurl reshape2 RJSONIO]; };
   ra4bayesmeta = derive2 { name="ra4bayesmeta"; version="1.0-7"; sha256="07fcjqw8w787pcfzjxxwq6160433ms6xk9qrvvm8ybxd7n0f5i44"; depends=[bayesmeta]; };
+  rabhit = derive2 { name="rabhit"; version="0.2.0"; sha256="1gakdwz05x4g0jqh71vf18qcbkmpbh8g5bb17j7f9d8sb1kpafpl"; depends=[alakazam cowplot data_table dendextend dplyr fastmatch ggdendro ggplot2 gridExtra gtable gtools htmlwidgets plotly plyr RColorBrewer reshape2 rlang splitstackshape stringi tidyr tigger]; };
   rabi = derive2 { name="rabi"; version="1.0.2"; sha256="0jndx1gvsnsv1xrx3ismgvjp7d4kj3436zcawvw32c5klvxx0y4j"; depends=[numbers polynom shiny stringdist]; };
   racademyocean = derive2 { name="racademyocean"; version="0.1.0"; sha256="0xgsjg7ck532fzwyn62pn1hq9khkw0i1pdcam09j5l24ny1akajw"; depends=[cli dplyr httr2 pbapply purrr rappdirs retry rlang stringr tidyr withr]; };
   raceland = derive2 { name="raceland"; version="1.1.1"; sha256="1sb56id7h1nm34a7kf6abfxwh4kmnnzc51x23cijq6fd3jm4ggnr"; depends=[comat fasterize plotwidgets raster Rcpp RcppArmadillo rgdal sf]; };
@@ -14750,16 +15052,15 @@ in with self; {
   radiant_basics = derive2 { name="radiant.basics"; version="1.4.1"; sha256="1gjl5nn7xra94n2if0idq43a1qv4x3v7rf2qsx8aqvl9zy9z7i7s"; depends=[dplyr ggplot2 lubridate magrittr patchwork polycor psych r_import radiant_data scales shiny tidyr]; };
   radiant_data = derive2 { name="radiant.data"; version="1.4.1"; sha256="12x4nz5n6yz1a67ji79pwvznp9flmn50hpp9y9sfhixir7dvwy27"; depends=[base64enc broom car curl dplyr DT ggplot2 glue jsonlite knitr lubridate magrittr markdown MASS patchwork plotly psych r_import randomizr readr readxl rlang rmarkdown rstudioapi scales shiny shinyAce shinyFiles stringi tibble tidyr writexl]; };
   radiant_design = derive2 { name="radiant.design"; version="1.4.1"; sha256="062psfkadr3i23j4w7i4fl1qfgzbjpcac7fyxqgfh5fkc7d393r4"; depends=[AlgDesign dplyr magrittr mvtnorm polycor pwr r_import radiant_data randomizr shiny]; };
-  radiant_model = derive2 { name="radiant.model"; version="1.4.2"; sha256="1syfj78lhxz9fg7g9ljansd63bglvh7s6v83939l3l1s3xwmbjla"; depends=[broom car data_tree DiagrammeR dplyr e1071 ggplot2 ggrepel lubridate magrittr NeuralNetTools nnet patchwork pdp psych r_import radiant_basics radiant_data ranger rlang rpart sandwich shiny stringr tidyr xgboost yaml]; };
+  radiant_model = derive2 { name="radiant.model"; version="1.4.3"; sha256="1gk8fxrqm17b7jvr8rg145mk2jh8cbz117l4ihwi6x73wpscyy05"; depends=[broom car data_tree DiagrammeR dplyr e1071 ggplot2 ggrepel lubridate magrittr NeuralNetTools nnet patchwork pdp psych r_import radiant_basics radiant_data ranger rlang rpart sandwich shiny stringr tidyr xgboost yaml]; };
   radiant_multivariate = derive2 { name="radiant.multivariate"; version="1.4.1"; sha256="0k48g3m98ziwpdcdfz76j789slh81siq07cmfb6hxaw1j8dzv4x8"; depends=[car clustMixType dplyr ggplot2 ggrepel gower GPArotation lubridate magrittr MASS patchwork polycor psych r_import radiant_data radiant_model rlang scales shiny]; };
   radir = derive2 { name="radir"; version="1.0.4"; sha256="12a99ig3n6kp5wa5rjp2w1nal4qqjs6vq05d3lrqcyl3bind6lqb"; depends=[hermite]; };
-  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]; };
   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.0"; sha256="1wbk7vny8435ii3aak586imd0dgh4ri55kqypx5b10x6ygp32avb"; depends=[systemfonts textshaping]; };
+  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]; };
   ragt2ridges = derive2 { name="ragt2ridges"; version="0.3.4"; sha256="17i3z0p3a4dqa0bch5l1r830w5nlxhdg71y82jipp6cfiwli588z"; depends=[abind Biobase CGHbase expm fdrtool igraph MASS Matrix mvtnorm rags2ridges Rcpp RcppArmadillo]; };
   ragtop = derive2 { name="ragtop"; version="1.1.1"; sha256="0vgc2q71g8ysccq19kbk9a4swxgd5qj91xm4bshfgdg5chxqnb50"; depends=[futile_logger limSolve]; };
@@ -14779,16 +15080,15 @@ 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.4"; sha256="0fyg4krmph0cwh7ji0nqywia39x372skyzghbgfr27665yz45x80"; depends=[AUC entropy irlba Matrix nnls poweRlaw pracma RSpectra]; };
+  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="2.14.0"; sha256="0fvfv1ah9n6hzdfr2xxpyhswp7js4m941858glrn1ap2zp71va8k"; depends=[data_tree DiagrammeR]; };
+  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]; };
   randomNames = derive2 { name="randomNames"; version="1.5-0.0"; sha256="1lv1vqb4wgs0j1gqy84dpa30qsvbp6928zpshczpw87yf32k71vh"; depends=[crayon data_table toOrdinal]; };
   randomUniformForest = derive2 { name="randomUniformForest"; version="1.1.5"; sha256="1amr3m7h5xcb8gahrr58233chsnx1naf9x5vpjy9p5ivh71xcxf7"; depends=[cluster doParallel foreach ggplot2 gtools iterators MASS pROC Rcpp]; };
@@ -14796,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]; };
@@ -14829,23 +15129,25 @@ in with self; {
   rarms = derive2 { name="rarms"; version="1.0.0"; sha256="11wjxd3pxvjv1j2nz26l8f0kykk9w6lf08izhivfngp63dk2akns"; depends=[jsonlite]; };
   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.1"; sha256="03abcgg5310avlwmphr6inw1dnyj2g9rp1jzry9wfi3yshpf15b4"; 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-2"; sha256="0wixw1ixnmcmkwczpj8m90c76727zira2rl4ighashggydkm2mlr"; depends=[Rcpp sp terra]; };
+  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-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]; };
+  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]; };
   rateratio_test = derive2 { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; };
   raters = derive2 { name="raters"; version="2.0.1"; sha256="16jnx6vv39k4niqkdlj4yhqx8qbrdi99bwzxjahsxr12ab5npbp1"; depends=[]; };
-  ratesci = derive2 { name="ratesci"; version="0.3-0"; sha256="1mdx47xpgjrjbb3lybajdmxb87dqr6cvv3fsvwfx0n629mjbih4z"; depends=[]; };
+  ratesci = derive2 { name="ratesci"; version="0.4-0"; sha256="1imraj95vcwz3i6r767zwckjqs1vp7bfww9d792l5nvwi5zyddp4"; depends=[]; };
   rationalfun = derive2 { name="rationalfun"; version="0.1-0"; sha256="15949vs9pdjz7426zhgqn7y87xzn79ikrpa2vyjnsid1igpyh0mp"; depends=[polynom]; };
   ratios = derive2 { name="ratios"; version="1.2.0"; sha256="16q9v2lhgklvdp3hi9x3afdldznfpwg775p80m2g5074q2dzjpgg"; depends=[data_table stringr]; };
   rattle = derive2 { name="rattle"; version="5.4.0"; sha256="1cg26k491f78yqwis07djad8b3f9ndqwqylbh5sh66l2j9bdpmz5"; depends=[bitops dplyr ggplot2 magrittr rpart_plot stringi stringr tibble tidyr XML]; };
@@ -14864,7 +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]; };
-  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]; };
+  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]; };
@@ -14872,9 +15175,9 @@ in with self; {
   rbhl = derive2 { name="rbhl"; version="0.9.2"; sha256="0rs1mmah4yyy5dgz1lvzslm4dk53x0wpiy3742z3hwr8p4agnkqi"; depends=[crul jsonlite plyr tibble xml2]; };
   rbi = derive2 { name="rbi"; version="0.10.4"; sha256="0p0cvdzhb81drk5b9fb9jcnw5c02i7qfy7vwyyhk2b1vm9rkw681"; depends=[data_table ncdf4 processx reshape2]; };
   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.4"; sha256="15yyihk0dgz3yyqz28r5nc6m99zcywpabnabf18phbs7rb87p7mv"; depends=[]; };
+  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]; };
@@ -14892,17 +15195,20 @@ in with self; {
   rbtt = derive2 { name="rbtt"; version="0.1.0"; sha256="1gbsb0vmqxcl28c5nn0rz95bxrvl7i0b17lq90cj5ahbk6x9jblz"; depends=[data_table]; };
   rbundler = derive2 { name="rbundler"; version="0.3.7"; sha256="0wmahn59h9vqm6bq1gwnf6mvfkyhqh6xvdc5hraszn1419asy26f"; depends=[devtools]; };
   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]; };
@@ -14912,32 +15218,32 @@ 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]; };
   rcolors = derive2 { name="rcolors"; version="0.1.0"; sha256="19lkwd1wdwq9if957qjgrz9mq6s8x49dig8snivhw9ksffcfy4xp"; depends=[magrittr]; };
-  rcompanion = derive2 { name="rcompanion"; version="2.4.6"; sha256="158jlwmnyldf77r6hrmjx502fzd86ibpmp54zvk6hn1z45svyq77"; depends=[boot coin DescTools lmtest multcompView nortest plyr]; };
+  rcompanion = derive2 { name="rcompanion"; version="2.4.13"; sha256="0y5d4z903fj7z326y9alnnlr0hcmxspccv2swra8a4j927csr764"; depends=[boot coin DescTools lmtest multcompView nortest plyr]; };
   rcompendium = derive2 { name="rcompendium"; version="0.5.1"; sha256="0zg7051c4wg1jbdf7hshswy53y24x8h8myhshvg9z2pg8mvd8sir"; depends=[clisymbols crayon devtools gert gh gtools rmarkdown rstudioapi stringr usethis xfun]; };
   rcoreoa = derive2 { name="rcoreoa"; version="0.4.0"; sha256="0q5dprz0ag04w265bk7isd2lr61nahf223qza47m0izd9nyi9h8a"; depends=[crul hoardr jsonlite pdftools]; };
   rcorpora = derive2 { name="rcorpora"; version="2.0.0"; sha256="1b8xa81mn3afadz77576vda9b0d99f1k096drxrpqd989g993aqy"; depends=[jsonlite]; };
-  rcosmo = derive2 { name="rcosmo"; version="1.1.2"; sha256="01a8g81ld0dy2bn0mqmpdz2bpd7g52jn67136hhvpxndnnlh384k"; depends=[cli entropy FITSio geoR mmap nnls Rcpp rgl tibble]; };
+  rcosmo = derive2 { name="rcosmo"; version="1.1.3"; sha256="08zw2xnchima9gzjn3nchj8q1phf3cchq9340fffsac77l4am3mb"; depends=[cli entropy FITSio geoR mmap nnls Rcpp rgl tibble]; };
   rcrimeanalysis = derive2 { name="rcrimeanalysis"; version="0.4.2"; sha256="1b41f636bkr0mr72klyad4fyx5zf129c9h1523rkfkyxrlf527yx"; depends=[dplyr forecast ggmap htmltools igraph KernSmooth leaflet leafsync lubridate pals raster Rcpp rgdal sp]; };
   rcrossref = derive2 { name="rcrossref"; version="1.1.0"; sha256="1n33skb3mwcn9xfd49p8m72z3kqz8n6dj48d286xdpd0zlcahqbh"; depends=[crul dplyr DT jsonlite miniUI plyr R6 shiny stringr tibble xml2]; };
   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-3"; sha256="10ywxfx0k5gy7b4lrancfl8j1chd6p8ksz7h487z23nysqjkv9m3"; 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=[]; };
-  rdflib = derive2 { name="rdflib"; version="0.2.3"; sha256="1hc6a0spmbd42lf7zjkwjv4glagfzsdilv5hm8c76cj36incg6qg"; depends=[dplyr jsonld readr redland stringi tidyr]; };
+  rdflib = derive2 { name="rdflib"; version="0.2.4"; sha256="1i08l8s6077xgfm4hkxfs5zq7rkblhbkdiimh4gcynbscs4is0nc"; depends=[dplyr jsonld readr redland stringi tidyr]; };
   rdfp = derive2 { name="rdfp"; version="0.1.4"; sha256="1490227hhfjjscfmd8p897v1ijs61pk5sc0a2vr9yjnfmsnxpqrl"; depends=[curl data_table dplyr httr lubridate plyr purrr readr XML xml2]; };
   rdhs = derive2 { name="rdhs"; version="0.7.3"; sha256="156jsil81ha61az78w1fi8fzrwhlircidha5x6c29zl0l6m4jzv9"; depends=[brio digest foreign getPass haven httr iotools jsonlite magrittr qdapRegex R6 rappdirs rgdal storr xml2]; };
   rdi = derive2 { name="rdi"; version="1.0.0"; sha256="1c49mkxfyxhqz8fc155kgy1k5by0y2c1ahy8k6pn9k8l1j4m4m2q"; depends=[beanplot gplots pdist stringr]; };
@@ -14948,17 +15254,17 @@ 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.7"; sha256="0j7qalrbc1jxnzwjwm2hyakfjxai97kzw4aprzygdx9f838al9pf"; depends=[ggplot2 MASS]; };
+  rdrobust = derive2 { name="rdrobust"; version="1.0.8"; sha256="04z7a5499cc8q61wi2zc370l1r6ymipfd8zk7k93692c6lx3yygz"; depends=[ggplot2 MASS]; };
   rdrop2 = derive2 { name="rdrop2"; version="0.8.2.1"; sha256="02rhcq1vn349ddjkqamxb0wjb3z3m4wzkvin1mprcz4fzrjxgbdr"; depends=[assertive digest dplyr httr jsonlite magrittr purrr]; };
   rdryad = derive2 { name="rdryad"; version="1.0.0"; sha256="00f1qwsbwg5jggm5b83nhk1lxyw272rv2kg77bcwqvlf3074c3mz"; depends=[crul curl hoardr jsonlite mime tibble zip]; };
   rdtLite = derive2 { name="rdtLite"; version="1.3"; sha256="1njn6x2k03qxmb96d5sl7jz0xq5wabbixn9xy55ypw8g1k0cgmd1"; depends=[curl digest gtools jsonlite knitr provSummarizeR provViz rlang rmarkdown sessioninfo stringi XML]; };
   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]; };
@@ -14974,7 +15280,7 @@ in with self; {
   readMzXmlData = derive2 { name="readMzXmlData"; version="2.8.1"; sha256="03lnhajj75i3imy95n2npr5qpm4birbli922kphj0w3458nq8g8w"; depends=[base64enc digest XML]; };
   readODS = derive2 { name="readODS"; version="1.7.0"; sha256="1hi217ab7hp15jsbzi5ak57cqf8jn2rv78bnn74q72gn9mrfra7n"; depends=[cellranger readr stringi xml2]; };
   readOffice = derive2 { name="readOffice"; version="0.2.2"; sha256="0dg7fwxdl41nrjqnxvh9rpz0la99iid0wy51gncjwrh3s85fj2ks"; depends=[magrittr purrr rvest xml2]; };
-  readabs = derive2 { name="readabs"; version="0.4.10"; sha256="1sbv34v2b0ibml9fhbkpg4yyb5pmggbfn0iibxb47pdj08srf4cq"; depends=[dplyr fst glue httr hutils purrr readxl rlang rvest stringi tidyr xml2]; };
+  readabs = derive2 { name="readabs"; version="0.4.11"; sha256="1hkljjb4haw1y6j1jdf1bqnh50knlfyran7wqb9qydrh8riayh16"; depends=[dplyr fst glue httr hutils purrr readxl rlang rvest stringi tidyr xml2]; };
   readbitmap = derive2 { name="readbitmap"; version="0.1.5"; sha256="14825906l326w59g6apy00j55jg3h5kx2r6s031f4gdkbrc7szbk"; depends=[bmp jpeg png tiff]; };
   readbulk = derive2 { name="readbulk"; version="1.1.3"; sha256="0rqz0r5ygwgfqkzv2130sciz3j2p888c2005wsk1m5403syi78an"; depends=[jsonlite plyr]; };
   reader = derive2 { name="reader"; version="1.0.6"; sha256="1x489q3ljap4zpny68mx83mgxaqiwlkglcy57whwhnh33dd7qp4h"; depends=[NCmisc]; };
@@ -14982,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.0"; sha256="03d7y4k9w5vcm7fwlcaw715ff7d953i92jwbp7ynrqcr09kw6zm0"; 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]; };
@@ -14999,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]; };
@@ -15010,14 +15316,16 @@ 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]; };
   recoder = derive2 { name="recoder"; version="0.1"; sha256="0wh0lqp7hfd4lx2xnmszv1m932ax87k810aqxdb6liwbmvwqnfgd"; depends=[stringr]; };
   recogito = derive2 { name="recogito"; version="0.1.1"; sha256="0y13l3nvr9vag3n109cynms6d0m5sqbivyr422b2pbb2mzv9qjsj"; depends=[htmltools htmlwidgets jsonlite]; };
+  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]; };
@@ -15032,10 +15340,11 @@ in with self; {
   redcapAPI = derive2 { name="redcapAPI"; version="2.3"; sha256="1myycwdrlw1405fxc82zd8ps8bhdvf2ffsb91pia5ijf6952v8pf"; depends=[checkmate chron DBI httr labelVector lubridate readr stringr tidyr]; };
   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]; };
-  redland = derive2 { name="redland"; version="1.0.17-14"; sha256="1fd79clxkn85ywvdsyy0j6mw057ir9202qw2962j8iqbvqai99qk"; depends=[roxygen2]; };
+  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-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]; };
@@ -15053,7 +15362,7 @@ in with self; {
   regclass = derive2 { name="regclass"; version="1.6"; sha256="0m974k3yhf0dgv5f1qjs8c53mam0cll3cjn35ywfrmlfla0wlhf5"; depends=[bestglm leaps randomForest rpart rpart_plot VGAM]; };
   regexPipes = derive2 { name="regexPipes"; version="0.0.1"; sha256="1hk0rhvmgzcyf5cyl8hjznl3ll25kpasqikfr6nxd6ian2slvmmb"; depends=[]; };
   regexSelect = derive2 { name="regexSelect"; version="1.0.0"; sha256="0xnb9qa8l63ang4r40ky4qhlrs5mbzvmj98dgij26j3mq1ys1pa7"; depends=[shiny shinyjs]; };
-  regexTestR = derive2 { name="regexTestR"; version="0.1.0"; sha256="1nfzzifqvhz3cjdr93pd4iyz5hb8v42v94r89b2ikc8ycc48k75g"; depends=[config data_table DT golem htmltools pkgload processx purrr RColorBrewer rvest shiny shinyBS shinythemes stringr tidyr xml2]; };
+  regexTestR = derive2 { name="regexTestR"; version="0.1.3"; sha256="0nnp2xlrrywpi1lmj8ymsjgiqvq8777hhdgcwjq549m7whfw6lsg"; depends=[config data_table DT golem htmltools pkgload processx purrr RColorBrewer rvest shiny shinyBS shinythemes stringr tidyr xml2]; };
   reghelper = derive2 { name="reghelper"; version="1.1.0"; sha256="16mj3v9rn9krx4a8xnb2l01wnk17hgn0pkmkvqh4baby9a479hv7"; depends=[ggplot2 lme4 MASS nlme]; };
   regioncode = derive2 { name="regioncode"; version="0.1.1"; sha256="1h5qbpcfgl86g0cy5nz9vvwzqsp335lqhl4djil3k3mab38k778d"; depends=[dplyr knitr pinyin textshaping]; };
   regions = derive2 { name="regions"; version="0.1.8"; sha256="16i0w1my9zfwh0p9qvc3vcid0r6rb6gbvvrx03vbg81l6cxrglr4"; depends=[assertthat countrycode dplyr glue here magrittr purrr readxl rlang stringr tibble tidyr tidyselect]; };
@@ -15063,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]; };
@@ -15074,6 +15384,7 @@ in with self; {
   regsubseq = derive2 { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; };
   regtomean = derive2 { name="regtomean"; version="1.0"; sha256="1w5i75iwwc2w2nzw9yap86njhq9jz0pc9cn39ivxdam4a9693jjz"; depends=[effsize formattable mefa plotrix plyr sjlabelled sjmisc sjPlot]; };
   regtools = derive2 { name="regtools"; version="1.1.0"; sha256="1kia4h4bwjjfq7jm57ihdgspbqfn683ssbzngp5r069ki931h3nb"; depends=[dummies FNN mvtnorm sandwich]; };
+  regweight = derive2 { name="regweight"; version="1.0.1"; sha256="1crw4yw2hxla9xw1zj1dxxj2v1r77vijm9pf8mn9vpdz45mw8pkr"; depends=[checkmate dplyr ggplot2 glue gt lpdensity rlang scales tidyr tidyselect]; };
   rehh = derive2 { name="rehh"; version="3.2.2"; sha256="1kgabmg0vq8psdhkfcpdv3iy8gj5hmqzhb8bs8rld49nhnnbqs2x"; depends=[rehh_data]; };
   rehh_data = derive2 { name="rehh.data"; version="1.0.0"; sha256="1jkvwmnnmfa7iyvrabgcfzw3vfzx0dlgq47s6yf4zayi437v4di0"; depends=[]; };
   rehydratoR = derive2 { name="rehydratoR"; version="0.5.2"; sha256="1d94m9hv1l72l9lph2vzbq4qqbfcgyhv2qk82p9vb8l2ckavjzvv"; depends=[dplyr jsonlite rtweet tibble]; };
@@ -15086,7 +15397,7 @@ in with self; {
   relatable = derive2 { name="relatable"; version="1.0.0"; sha256="0147gin6dn76gg7gassar64f0w2gny1sh0k60v7914qhb4sj4s7i"; depends=[compare]; };
   relations = derive2 { name="relations"; version="0.6-10"; sha256="13h6snbbczwk4zcpsmbbrxvhy6dwv1pm2zwfh0cz2sr7djhb0q5n"; depends=[cluster sets slam]; };
   relaxo = derive2 { name="relaxo"; version="0.1-2"; sha256="1rzmq7q3j271s6qwwrmwidv0vxcjpgjhyiqgr6fkczkai2lbnd8x"; depends=[lars]; };
-  reldist = derive2 { name="reldist"; version="1.6-6"; sha256="09vips7spcz0fahrpy0bl15hk43zgnq74h189hmygyi41l95aywa"; depends=[Hmisc mgcv]; };
+  reldist = derive2 { name="reldist"; version="1.7-0"; sha256="0i04d6w3r6fzm4bykz6lnnh6dngmd61v5wlpli70r3fzdzhi7fji"; depends=[densEstBayes Hmisc mgcv]; };
   relen = derive2 { name="relen"; version="1.0.1"; sha256="0br7c3j30a1yc61pyinmk5lvk8zw9rivd0z2096g6crgmbzix8ml"; depends=[]; };
   relevance = derive2 { name="relevance"; version="1.3"; sha256="185fb5vjq1l6q1yz4qyvm2qli1xpp3wc4d1s17y28daljmdijlw8"; depends=[]; };
   relevent = derive2 { name="relevent"; version="1.1"; sha256="10wy6qbg91bq8cs5fas50nnfw80rpsgr8bqpfbsxcmsh43ilpgg9"; depends=[coda sna trust]; };
@@ -15094,8 +15405,8 @@ 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]; };
-  relsurv = derive2 { name="relsurv"; version="2.2-5"; sha256="0bqmr493jdk3vkw386gs2bk688bja5yg14ax1rb88bf6i6fqqcy8"; depends=[date survival]; };
+  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]; };
   remap = derive2 { name="remap"; version="0.2.1"; sha256="0fvi0scrjcghkfamdilfyqqn0v9zlgpjdkqwk4ylhpb85x5pv534"; depends=[sf units]; };
@@ -15105,14 +15416,15 @@ in with self; {
   remindR = derive2 { name="remindR"; version="0.0.1"; sha256="0b27v2qm3z8l9vcng8f0rkphjidxkw5n017ysflx180qjizqq632"; depends=[assertthat]; };
   remote = derive2 { name="remote"; version="1.2.1"; sha256="1ihzjxbvas7396cwsi9am4pl94naxa9dnhbnh8k0l5p4a50mk33w"; depends=[gridExtra latticeExtra mapdata raster Rcpp scales]; };
   remoter = derive2 { name="remoter"; version="0.4-0"; sha256="1a7m63l8phv5jnazvdqdrqkaqjwqzaac5y4jm2jn0ypy4n8jvkfl"; depends=[argon2 getPass pbdZMQ png]; };
-  remotes = derive2 { name="remotes"; version="2.4.1"; sha256="0xij8x4ga0r7rp2lxx9hw1zlzv48mfg56v8nf03gsw0dw6r7gmym"; depends=[]; };
+  remotes = derive2 { name="remotes"; version="2.4.2"; sha256="05m5dgv0nba5vhjbdkd8z5lbhpfxgkw31j58am7vz1d44igqgvzj"; depends=[]; };
   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.14.0"; sha256="194hcxikdnna526bvyz9y60ccmmm9fib5g0w9dqivrg0fld23lyh"; 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]; };
@@ -15124,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.6"; sha256="1xa53xahi0ag202abigg51s5pllabll53zwx1b16yxh382c42ad6"; 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.3"; sha256="0qimllv9pn8wsl550bjkp5dkknbmr69j85mrwfbbq75m2ga466sk"; depends=[base64enc htmltools jsonlite pillar]; };
+  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]; };
@@ -15144,19 +15456,21 @@ in with self; {
   request = derive2 { name="request"; version="0.1.0"; sha256="1q7zd6q00gdqmgq7s7nq1ixmns8zn2amr5zah9rwnsn8dkllj9yh"; depends=[curl httr jsonlite lazyeval magrittr R6 whisker]; };
   requiRements = derive2 { name="requiRements"; version="0.0.1"; sha256="17afbpny5j2rssi173k7sxi9q2syskjh8h0h89z24dqsbh3947mz"; depends=[remotes]; };
   requireR = derive2 { name="requireR"; version="1.0.0.1"; sha256="192l7i3q7s2a6n737an3fn258agjsdzh0q2w0vc8jbz7v4f3i92d"; depends=[]; };
+  rerandPower = derive2 { name="rerandPower"; version="0.0.1"; sha256="1vk0lrd7hc499prshj3dfyyn2iaz9z6916xsw31ax1l5mipys4mk"; depends=[Runuran]; };
   rerddap = derive2 { name="rerddap"; version="0.8.0"; sha256="0jfmbaybm1shmkj9fn7n403hfbhmhbclkpw95709r3bazqmfqiys"; depends=[crul data_table digest dplyr hoardr jsonlite ncdf4 tibble xml2]; };
   rerddapXtracto = derive2 { name="rerddapXtracto"; version="1.1.2"; sha256="1xca6bqzpk8hy04vdi8g0psddaa88bd4vkwcymyl6cy1p6xkqya5"; depends=[abind dplyr ggplot2 httr maps ncdf4 parsedate plotdap readr rerddap sf sp]; };
   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]; };
@@ -15165,8 +15479,8 @@ in with self; {
   restriktor = derive2 { name="restriktor"; version="0.3-100"; sha256="0249zhlskvk3ib1vncqh1vfpssh3la7fxd566ag2anfd53a644m8"; depends=[boot ic_infer lavaan MASS mvtnorm quadprog]; };
   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.1.2"; sha256="17d30l8b45ygm3xcbpcirzzypfzw474gigghmapx4b7k6mjari7l"; depends=[Rcpp RcppEigen RcppThread]; };
-  reticulate = derive2 { name="reticulate"; version="1.22"; sha256="0v7m2pv94lfqiw8rhz3c9g66vvz4qvih4vd29rhfk2phmcwpnvmh"; depends=[here jsonlite Matrix png rappdirs Rcpp withr]; };
+  rethnicity = derive2 { name="rethnicity"; version="0.2.2"; sha256="0ccx6314gh08bnqca8a5x2bq4fk290lba0k72f0anszyamkvgfnj"; depends=[cli Rcpp RcppEigen RcppThread]; };
+  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]; };
@@ -15179,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.1"; sha256="02v39vvszzikscl8211l5xr0nyqwg28vdlg8vsyad6rnmgy8xd4f"; 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=[]; };
@@ -15195,18 +15509,18 @@ in with self; {
   rfPermute = derive2 { name="rfPermute"; version="2.5"; sha256="0h7p11cfgdl050qldpns8766y8yqp6wvpdpd15xb07z4cgzbymf7"; depends=[abind dplyr ggplot2 gridExtra magrittr plyr randomForest rlang scales swfscMisc tibble tidyr]; };
   rfUtilities = derive2 { name="rfUtilities"; version="2.1-5"; sha256="1anwvmxn3xrc1aqxl75rzlk4wby8l54rmkp0bgi8dgbz2l223xr0"; depends=[cluster randomForest]; };
   rfVarImpOOB = derive2 { name="rfVarImpOOB"; version="1.0.1"; sha256="16ivcnnzrgqzfzcbdyi10rwn8r8r0yyxyfpx25lxafb6pj3kxpvf"; depends=[binaryLogic dplyr ggplot2 ggpubr magrittr prob randomForest titanic]; };
-  rfacebookstat = derive2 { name="rfacebookstat"; version="2.4.0"; sha256="1jg1kmkk47lqncnwm8bb80bp2m07hdi7h0sh5dvas03063cgf54l"; depends=[dplyr httr jsonlite pbapply purrr stringr tidyr tidyselect]; };
-  rfacts = derive2 { name="rfacts"; version="0.1.1"; sha256="1qkc619vhph6lgrf59kbz9cda2vqwfvb5b9mm2f11qqy310ha9aj"; depends=[digest fs tibble xml2]; };
+  rfacebookstat = derive2 { name="rfacebookstat"; version="2.5.0"; sha256="02l6iwb8nb4pc24ghczkjxh6icbr1s951hrpj021k5z624rmz9d8"; depends=[dplyr httr jsonlite pbapply purrr stringr tidyr tidyselect]; };
+  rfacts = derive2 { name="rfacts"; version="0.2.0"; sha256="15sh6q77gs11zipjbpf4lzgwdkskhvqvq595vcgrlyksyp71jizx"; depends=[digest fs tibble xml2]; };
   rfieldclimate = derive2 { name="rfieldclimate"; version="0.1.0"; sha256="1s7awczna9dxdq97sr5fsbs4qv7rx4wi2z3inwdp33md1bvyq4i7"; depends=[digest dplyr httr jsonlite lubridate magrittr purrr tidyr]; };
   rfigshare = derive2 { name="rfigshare"; version="0.3.7"; sha256="1qgzn0mpjy4czy0pnbi395fxxx84arkg8r7rk8aidmd34584gjiq"; depends=[ggplot2 httpuv httr plyr RJSONIO XML yaml]; };
   rfinance = derive2 { name="rfinance"; version="0.1.0"; sha256="0xy4jw50vqbvicpwc3drzgg8ywgpdyxda7bqym52c76vsghcmq2d"; depends=[cli curl data_table dplyr glue httr janitor lubridate magrittr PerformanceAnalytics readr rvest stringr tibble TTR xml2 xts]; };
   rfinterval = derive2 { name="rfinterval"; version="1.0.0"; sha256="1z7v0sbql6g2h3fr1268nj79rbx1d33hjfaraxhbikrjgb8mbp0w"; depends=[MASS ranger]; };
-  rfishbase = derive2 { name="rfishbase"; version="3.1.10"; sha256="01nwgn73mfs6cdbqkchsi4lnfv73svawdf4mw3mcld83y6li0zcw"; depends=[arkdb curl DBI dbplyr dplyr gh magrittr memoise openssl progress purrr readr rlang RSQLite stringr]; };
+  rfishbase = derive2 { name="rfishbase"; version="4.0.0"; sha256="0nq5ywsac1r65xjinvhb0v873q5wr3905s8j8fbrgkbn113i6f52"; depends=[contentid DBI dbplyr dplyr duckdb jsonlite magrittr memoise progress purrr readr rlang rstudioapi stringr tibble]; };
   rfishdraw = derive2 { name="rfishdraw"; version="0.1.0"; sha256="0204s8jy6shr694hacrq4j0lia9l59rk8kc75sdw87c09q7kjld2"; depends=[ggplot2 jsonlite]; };
   rfisheries = derive2 { name="rfisheries"; version="0.2"; sha256="16j3hn1py8khqadmh81qsg76c62wzqkaq3fn39z0z5mgynmcm62j"; depends=[assertthat data_table ggplot2 httr rjson]; };
   rfishnet2 = derive2 { name="rfishnet2"; version="0.2.0"; sha256="0g90h4353kp7szv3971kb4l5x3x08qx4f9ln85n5g3b3zdg77dkz"; depends=[dplyr ggplot2 pracma rworldmap sf]; };
   rflexscan = derive2 { name="rflexscan"; version="1.0.0"; sha256="1azjdri1dnxqd128p3iya1x36bbhhrckmj08rp23jzfi5zd71c8s"; depends=[igraph Rcpp rgdal sp]; };
-  rflsgen = derive2 { name="rflsgen"; version="0.1.1"; sha256="19iayqfqf22i78ih67yxmmx6p2w3b17qy28hkab1yiig25njfdjr"; depends=[checkmate raster rgdal rJava]; };
+  rflsgen = derive2 { name="rflsgen"; version="0.1.2"; sha256="1jjayksvk78jg9v6dhxd88lvq18vbnwinvxd490yllnpagfhz23x"; depends=[checkmate raster rgdal rJava]; };
   rfm = derive2 { name="rfm"; version="0.2.2"; sha256="1s8h9ll4l5xq3m7ib83zrab49p5q4wclk8qiy2hgjr2hq1sb7wak"; depends=[dplyr ggplot2 ggthemes lubridate magrittr RColorBrewer rlang tibble tidyr xplorerr]; };
   rfoaas = derive2 { name="rfoaas"; version="2.1.0"; sha256="0w6m3lvfb60a2zfvyc0ksnfllb2ndy45b301vk9f3nr27lxdz6dm"; depends=[httr]; };
   rfordummies = derive2 { name="rfordummies"; version="0.1.5"; sha256="1glzc20sbv90fbazy3wh6drqd5dkh47s3fjqzgm78dkmj6gp9hdv"; depends=[openxlsx]; };
@@ -15214,17 +15528,17 @@ in with self; {
   rfviz = derive2 { name="rfviz"; version="1.0.0"; sha256="0rzyy7r2ybqjnp1g5bbkxydpa93h8q4r71kdaj77r475m2i4kb6b"; depends=[loon randomForest]; };
   rgabriel = derive2 { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; };
   rgbif = derive2 { name="rgbif"; version="3.6.0"; sha256="083zj5bcbag2qhx2c04ym666lclfyv10w4zd2kvbm7nqhmy8ah99"; depends=[conditionz crul data_table ggplot2 jsonlite lazyeval magrittr oai R6 tibble wellknown whisker xml2]; };
-  rgdal = derive2 { name="rgdal"; version="1.5-27"; sha256="0mjpxs2dvbngbchlb0kfs0jcac7v88slwxmka81ds92lggnmb9b2"; depends=[sp]; };
+  rgdal = derive2 { name="rgdal"; version="1.5-28"; sha256="18k1w8cb77h4mw1m5b21r0fng40arb1md24fyriv83ccz8n46m3z"; depends=[sp]; };
   rgdax = derive2 { name="rgdax"; version="1.2.1"; sha256="01hpyyhb6jcw9w0q9h4ghgh4cbba27mfl9zdv4vv4ppakvl80czl"; depends=[digest httr jsonlite plyr RCurl]; };
-  rgee = derive2 { name="rgee"; version="1.1.0"; sha256="06gmb3qa1d8g796wdgsyvalb7bpx71qn45n8m5kc227k652r99yr"; depends=[cli crayon jsonlite leafem leaflet magrittr processx R6 reticulate]; };
+  rgee = derive2 { name="rgee"; version="1.1.2"; sha256="0r0mr2gqj75dkga552xfikiiy76h14js8qh29swin3f23xr9dwz0"; depends=[cli crayon jsonlite leafem leaflet magrittr processx R6 reticulate rstudioapi]; };
   rgen = derive2 { name="rgen"; version="0.0.1"; sha256="0gl82v09q1ha58wd1014s46wzkx1yf348bc7jkl6s4qdc6c4vsb8"; depends=[]; };
   rgenius = derive2 { name="rgenius"; version="0.1.0"; sha256="1gpglnhicyv16ym224wzaw52w9xr63slm75wvidl3z14izzyy7ga"; depends=[doParallel dplyr foreach httr purrr rvest stringr tibble]; };
   rgenoud = derive2 { name="rgenoud"; version="5.8-3.0"; sha256="0p93wf6ghgz2nifxbscb6bhahh5jd2ba7nh1c2mb6fmbxnsi3swv"; depends=[]; };
   rgeoda = derive2 { name="rgeoda"; version="0.0.8-6"; sha256="1yfqsd89mxjq1wr407x17kih7mddwxa6sz8rqfqm3xawab7qm75f"; depends=[BH digest Rcpp sf]; };
-  rgeolocate = derive2 { name="rgeolocate"; version="1.4.1"; sha256="070kq6w0iamb487xcyd1fvay7pfnidwl4za0fgc3gxyxn83pdfb6"; depends=[httr Rcpp]; };
+  rgeolocate = derive2 { name="rgeolocate"; version="1.4.2"; sha256="08dps73sdlhsyzkykw3y9ckxazznymfsx63p9rcssghb2silw9xw"; depends=[httr Rcpp]; };
   rgeopat2 = derive2 { name="rgeopat2"; version="0.3.9"; sha256="0l0sqkvjkzp4lmyk55l7zc02y04sa43cps47005gq8c38kyks45k"; depends=[readr sf stringr]; };
   rgeoprofile = derive2 { name="rgeoprofile"; version="0.2.2"; sha256="1nk3qzwcvvq3n1da480zk047wl738fjyvarakm00wwrbnb3ax70j"; depends=[geosphere leaflet pals RANN raster sp spatstat_geom splancs]; };
-  rgeos = derive2 { name="rgeos"; version="0.5-8"; sha256="05539shf38slvq38pf92h9q57vmzn2vfqbirl3pbbvvc2j957cqd"; depends=[sp]; };
+  rgeos = derive2 { name="rgeos"; version="0.5-9"; sha256="1m73y0nwrdwsjrl48c4fg1kdqnh79835brnmxv9ak01ndbzcp45b"; depends=[sp]; };
   rgexf = derive2 { name="rgexf"; version="0.16.2"; sha256="00c2zka1n3k7p1l0mlchr063s6x58p9r3fb64d4wgl4rvsq55q3f"; depends=[igraph servr XML]; };
   rgl = derive2 { name="rgl"; version="0.108.3"; sha256="0fqkx079z9y5b1gdg6qfz2wpw2j8q3ddflfkd9wwrkyacas6xyc9"; depends=[htmltools htmlwidgets jsonlite knitr magrittr R6]; };
   rglobi = derive2 { name="rglobi"; version="0.2.27"; sha256="12rqd92i0n7lgnp57a4pfp1fpnhm8v0lmmlfzcy0d8vhvzwgfhw7"; depends=[curl RCurl readr rjson]; };
@@ -15235,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]; };
@@ -15249,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]; };
@@ -15262,10 +15576,10 @@ 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.1.1"; sha256="0lwhsxb4pm26kb65hs8pa63bsbrgy0zchqm4i6pq9f2r9h8vsm1m"; depends=[httr jsonlite lubridate tibble]; };
+  riem = derive2 { name="riem"; version="0.2.0"; sha256="1b0kag1drn45lmy786xqr94zsbfk16xp4ia9284x753hzcggnfqd"; depends=[httr jsonlite lubridate tibble]; };
   rifle = derive2 { name="rifle"; version="1.0"; sha256="1r0cfj3vzndgiarl9sb38zmpnpm4p8v9l5cm9c1m6g2q9kvpgpbs"; depends=[MASS]; };
   rigr = derive2 { name="rigr"; version="1.0.1"; sha256="0cjk03llklml3h6dmdahdbnxanynii64q664fax62dbkncxg5gqa"; depends=[Exact plyr sandwich survival tibble]; };
   riingo = derive2 { name="riingo"; version="0.3.1"; sha256="1ww9ps0v1yga9dwb68crbhf56xw2svl7az95ifrdrswyyikj02vj"; depends=[crayon glue httr jsonlite purrr rlang tibble vctrs]; };
@@ -15286,11 +15600,12 @@ 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]; };
   riv = derive2 { name="riv"; version="2.0-5"; sha256="0n19jlrs12iysq45xyi3zvghkircg0ww5vbsfpnqkw5b22zsv30s"; depends=[MASS quantreg rrcov]; };
-  riverdist = derive2 { name="riverdist"; version="0.15.4"; sha256="09rs38dmyy1dxqzgf5v46gcnhaaqkhkw66h3zfz1dnl55b4kpvdl"; depends=[rgdal sp]; };
+  riverdist = derive2 { name="riverdist"; version="0.15.5"; sha256="00bli01zczai8czg5p031nc83yqr3vff9n3sc999xmd3p6li4mwr"; depends=[rgdal sp]; };
   rivernet = derive2 { name="rivernet"; version="1.2.1"; sha256="0p8jyigbxipwds9pdw2gzv3ql5yikg1ik4vbk4drylbp5xhmvyja"; depends=[]; };
   riverplot = derive2 { name="riverplot"; version="0.10"; sha256="04ap1dsa7fx03l73jhv1ql3adaaaz2100qawdplxa9xmrllgcgbj"; depends=[RColorBrewer]; };
   rivervis = derive2 { name="rivervis"; version="0.46.0"; sha256="19jsl5g46jcbc0kg47bsif1wrw9z9brgvwdcxqjc89shnx3hzzfv"; depends=[]; };
@@ -15304,18 +15619,18 @@ 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.1"; sha256="0c0hszsmmd876jcfamjcfb7bxw7869zgy99j4i6ksb8za232nmmw"; depends=[rJava rkafkajars RUnit]; };
-  rkafkajars = derive2 { name="rkafkajars"; version="1.1"; sha256="121qnzxhipgv145lhmr6h356jpdd6knsx7f21cv9a8r5r009d42z"; depends=[rJava RUnit]; };
+  rkafka = derive2 { name="rkafka"; version="1.3"; sha256="1h6f7wgz8qgh76p9w9vzcvcaa1piwnrx331gm1wxa1m31xs466jd"; depends=[rJava rkafkajars RUnit]; };
+  rkafkajars = derive2 { name="rkafkajars"; version="1.2"; sha256="1z1rn02ymzaq3v3pz206wlm78y591xa9780fwf77i4vfq2k9pxrz"; depends=[rJava RUnit]; };
   rkeops = derive2 { name="rkeops"; version="1.4.2.2"; sha256="1b2sdbhx1ar1325mf1xgc561as9x8q8vjqslly9xms2h572c8yn3"; depends=[openssl Rcpp RcppEigen RhpcBLASctl stringr]; };
   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.0"; sha256="0hgar1hwd80wqxicc78c2jdmkjvqrn2yxa445qgh2ai2z29pcnnh"; depends=[hwriter jrc jsonlite plyr R6 stringr]; };
+  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]; };
   rle = derive2 { name="rle"; version="0.9.2"; sha256="0sagl0jggg40lihzy7pfq4593rfvc3b3f7g6ggi85s7n18qvwg40"; depends=[]; };
   rleafmap = derive2 { name="rleafmap"; version="0.2"; sha256="1i2qczipg7lr6fl35lcl896r54jia7libxx83darrfzc1hd9sdcq"; depends=[knitr raster sp]; };
@@ -15340,7 +15655,7 @@ in with self; {
   rmarkdown = derive2 { name="rmarkdown"; version="2.11"; sha256="0xcpg9d009a71p5i6jczw02qcp907p5d52lp6vclrsp7019jawck"; depends=[evaluate htmltools jquerylib jsonlite knitr stringr tinytex xfun yaml]; };
   rmatio = derive2 { name="rmatio"; version="0.16.0"; sha256="1ar8736x5ww4cky4qp8fxlwa7p00yycs31ryrqsmbwhwvg2ddlkk"; depends=[Matrix]; };
   rmcfs = derive2 { name="rmcfs"; version="1.3.5"; sha256="0rbq2b9fw1x44v7ifxp8qgp4yciinw2sw9mqp4ms5jsxznpi2pi6"; depends=[data_table dplyr ggplot2 gridExtra igraph reshape2 rJava stringi yaml]; };
-  rmcorr = derive2 { name="rmcorr"; version="0.4.4"; sha256="1g70savkj04mphmk4636k5jkrk3cbjs8np1r4ayki50n4zzb6p0j"; depends=[psych RColorBrewer]; };
+  rmcorr = derive2 { name="rmcorr"; version="0.4.5"; sha256="018d3rfh2688yqkarcmxqqfbmmzcmj6q3hwinns4kj6xnnlmv1xr"; depends=[psych RColorBrewer]; };
   rmdHelpers = derive2 { name="rmdHelpers"; version="1.2"; sha256="1ahzbs8z7wvh1dwbq1kq8wrjrknxi2gck63k70gj0swjvgk0ih5r"; depends=[dplyr knitr]; };
   rmda = derive2 { name="rmda"; version="1.6"; sha256="1m7j79jwii9la47w34ka3yl1n7nql8pfn32if0aycn4yw5sy8dmc"; depends=[caret MASS pander reshape]; };
   rmdcev = derive2 { name="rmdcev"; version="1.2.4"; sha256="0pdw390fknivnfkrzlk1rcv34prgnang50rfgmfpm2g9l6kjckxp"; depends=[BH dplyr Formula purrr Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders tibble tidyr]; };
@@ -15352,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]; };
@@ -15367,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]; };
@@ -15381,8 +15696,8 @@ 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]; };
-  rnoaa = derive2 { name="rnoaa"; version="1.3.7"; sha256="06sq2wgv735s5bji1i8x8q5dsixppiddb1hkabhvvr5mq8valjcc"; depends=[crul data_table dplyr geonames ggplot2 gridExtra hoardr isdparser jsonlite lubridate rappdirs scales tibble tidyr tidyselect XML xml2]; };
+  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]; };
   rnrfa = derive2 { name="rnrfa"; version="2.0.4"; sha256="0sy64bgb94ksgcy37kmj61iphf66i0jpx0qlrcsr24zr92syc1n2"; depends=[curl ggmap ggplot2 httr jsonlite lubridate rgdal sp tibble zoo]; };
@@ -15410,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]; };
@@ -15438,15 +15753,16 @@ in with self; {
   roccv = derive2 { name="roccv"; version="1.2"; sha256="18kq2gzcbz97dw168xppql8k3slpkfl8yv1d8ac48damlhvipif1"; depends=[glmnet pROC]; };
   rock = derive2 { name="rock"; version="0.5.1"; sha256="1abyr9i2p1xjll6cry8hmbgskwr10ki4r0zw29qg8iz2rpxl0zpp"; depends=[data_tree DiagrammeR DiagrammeRsvg dplyr ggplot2 glue htmltools markdown purrr yaml yum]; };
   rockchalk = derive2 { name="rockchalk"; version="1.8.144"; sha256="07dp1n155b9gfvk8l30h6bhjbhbylsjxfzns08mryn4mxj3nqpnb"; depends=[carData kutils lme4 MASS]; };
-  rocker = derive2 { name="rocker"; version="0.1.2"; sha256="17z1vrypy25g18jmpiydxhahzlb0cdhzl84b8c6nqhyc3ldwxiyv"; depends=[DBI R6 safer]; };
+  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]; };
@@ -15480,7 +15796,7 @@ in with self; {
   rotasym = derive2 { name="rotasym"; version="1.1.3"; sha256="1sknhvwmy1r0sa76lp8qv5h7lx05mvw04ip7cvxcamwg6l2bifis"; depends=[Rcpp RcppArmadillo]; };
   rotationForest = derive2 { name="rotationForest"; version="0.1.3"; sha256="1z2wk3mcs5hrahsxralidbc0dd8gxdbwjpr2f71g4g3isfx1ic8d"; depends=[rpart]; };
   rotations = derive2 { name="rotations"; version="1.6.3"; sha256="075nr8wajvb40w9zbi9gaqhhjylj3s81p0mdncjw2zw8hyv4f476"; depends=[ggplot2 gridExtra Rcpp RcppArmadillo sphereplot]; };
-  rotl = derive2 { name="rotl"; version="3.0.11"; sha256="0b0wr795qicb8k1m4ng0kx9alc88davhdr3kar4ynjblaavz16rk"; depends=[ape assertthat httr jsonlite rentrez rncl]; };
+  rotl = derive2 { name="rotl"; version="3.0.12"; sha256="13nrnfyls5pp4da3jk7xykrb2jxrbm5g7mrr2fdkm01r84lb720n"; depends=[ape assertthat httr jsonlite rentrez rncl]; };
   rotor = derive2 { name="rotor"; version="0.3.5"; sha256="0rpa24yh72r6sv5xxyia9p8f8c51cfblprb4srrjk2y0fgz5h33i"; depends=[dint R6]; };
   round = derive2 { name="round"; version="0.20-0"; sha256="1c403i57fwfh3pz6ksg5ws2fydq8zf2fk4x6r9d0xqn0fs7px7j4"; depends=[]; };
   roundhouse = derive2 { name="roundhouse"; version="0.0.2"; sha256="0xx2wai9pdq0g7x8xmwlf48wxv4v18c7ymzvzxpvw1gggppmbk69"; depends=[]; };
@@ -15490,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.1.1"; sha256="1n88mqi856cfn8hn6wy9m398fc0gnxc4zqyy81fyd3kxmhs6f1a7"; 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]; };
@@ -15528,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]; };
@@ -15560,19 +15876,21 @@ 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]; };
-  rsimsum = derive2 { name="rsimsum"; version="0.11.0"; sha256="0zmwnhvg55dd7234ffxs08gjhjkww214xxqad0byi7aqnkn7x56a"; depends=[checkmate generics ggplot2 ggridges knitr lifecycle rlang scales]; };
+  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]; };
   rsleep = derive2 { name="rsleep"; version="1.0.4"; sha256="0rb9dpy1ks04mqb0aismkj0zg9sigyrbgb6j0rl9cw2npp0jz7vg"; depends=[edfReader ggplot2 jsonlite phonTools psd signal]; };
@@ -15580,12 +15898,12 @@ 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]; };
   rsparkling = derive2 { name="rsparkling"; version="0.2.19"; sha256="1rb43lslhlg8jpniirzch8gnl86x6d3shcfp9fpxm0qd3fqrlm6z"; depends=[h2o sparklyr]; };
-  rsparse = derive2 { name="rsparse"; version="0.4.0"; sha256="1blg59gsidh0sn6yy761pisz2phml0hzgqc24s5s8q9q903rddr9"; depends=[data_table float lgr Matrix Rcpp RcppArmadillo RhpcBLASctl]; };
+  rsparse = derive2 { name="rsparse"; version="0.5.0"; sha256="0d05h47j29zipyxbkv9cwzv2dzj894z6hh9dqfhwswwjbv6ciwpq"; depends=[data_table float lgr Matrix MatrixExtra Rcpp RcppArmadillo RhpcBLASctl]; };
   rspiro = derive2 { name="rspiro"; version="0.2"; sha256="1gjil39ib9p86a7r3i03h01x2dsc9y283rnp65xvavrzmmgz87b4"; depends=[]; };
   rsppfp = derive2 { name="rsppfp"; version="1.0.4"; sha256="123yv54i58xj4wx9n08qp50mm4l271fm1zhzimrxx22wn2bg8zy5"; depends=[doParallel dplyr foreach igraph stringr tidyr]; };
   rsprite2 = derive2 { name="rsprite2"; version="0.1.0"; sha256="0pflmdm83gskfbxha7r28w1w7xs2k8shp6w3py5mjjpklm2rn8ny"; depends=[checkmate Rdpack]; };
@@ -15594,7 +15912,7 @@ in with self; {
   rstac = derive2 { name="rstac"; version="0.9.1-5"; sha256="08lnz49wba6w1rjrrpm3jpbd4vimhzn4215d049xc4zxqd0h6vbc"; depends=[crayon httr jsonlite lifecycle magrittr]; };
   rstack = derive2 { name="rstack"; version="1.0.0"; sha256="19vbfmkd6ymadah1y1w5rn52f4hviddccyc6qj2cv5viqwbwws2z"; depends=[R6]; };
   rstackdeque = derive2 { name="rstackdeque"; version="1.1.1"; sha256="0i1qqbfj0yrqbkad8bqc1qlxmyxpn7zycbnq83cdmfbilcmi87ql"; depends=[]; };
-  rstan = derive2 { name="rstan"; version="2.21.2"; sha256="0jh58qfrksd2j9w2zy4bajryivgp36m3xdb9mjrjqbk1ib9h83p3"; depends=[BH ggplot2 gridExtra inline loo pkgbuild Rcpp RcppEigen RcppParallel StanHeaders V8 withr]; };
+  rstan = derive2 { name="rstan"; version="2.21.3"; sha256="1ccjdwh0xspna2c0m5p8as8y2b0lnhdyk9hfd3jh58j6n8fbzg3n"; depends=[BH ggplot2 gridExtra inline loo pkgbuild Rcpp RcppEigen RcppParallel StanHeaders]; };
   rstanarm = derive2 { name="rstanarm"; version="2.21.1"; sha256="04ggzak3f7jaxza3dxyrmxp5b48qcgyspy22ykbhr03g4hzp7jk8"; depends=[bayesplot BH ggplot2 lme4 loo Matrix nlme Rcpp RcppEigen RcppParallel rstan rstantools shinystan StanHeaders survival]; };
   rstanemax = derive2 { name="rstanemax"; version="0.1.3"; sha256="0myxcqwpk4zq5y1ri14rbsbb19kr8g7fd3mfdsn8vh2yi5xlcqk1"; depends=[BH dplyr ggplot2 magrittr purrr Rcpp RcppEigen rstan rstantools StanHeaders tidyr]; };
   rstantools = derive2 { name="rstantools"; version="2.1.1"; sha256="0b9x8rzj3dr4m7yjx476nn42z22xd1xnw85m9frfwxy5ivg1any9"; depends=[desc Rcpp RcppParallel]; };
@@ -15611,23 +15929,23 @@ 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-2"; sha256="0fap15bkxn2azd5a4j3q9mxpif5ff3y2vb8rm4xnh8l0sl1lw7cs"; 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.1.1"; sha256="0nbw9swwd7a5cfdjkixlgv0irc9l9qg1jlrkixkldb2dk35330nx"; depends=[cli dplyr httr2 purrr retry snakecase stringr tidyr]; };
-  rticles = derive2 { name="rticles"; version="0.21"; sha256="0xk0xz97k8r8srmniihn3y4dkxddxf97yjbsljcxlgcq8f0zcc2s"; depends=[knitr rmarkdown tinytex xfun yaml]; };
+  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]; };
   rties = derive2 { name="rties"; version="5.0.0"; sha256="1mxgzrlf41hhawab2664az151fmmhm8ivnnimmzm538yliilc0b7"; depends=[DataCombine DescTools deSolve dplyr ggplot2 gridExtra interactions lattice lme4 MASS mclust nlme nnet plyr zoo]; };
@@ -15635,13 +15953,14 @@ in with self; {
   rtist = derive2 { name="rtist"; version="1.0.0"; sha256="0p4jlz0z0nbvmixdrym6nqagz2i28zbsijcj785rd6wiy72d2hg5"; depends=[]; };
   rtk = derive2 { name="rtk"; version="0.2.6.1"; sha256="1xafmp5y5p8fnsh16wj8n08x69v2hawnsvsy7g4dcz1i5xkhyc0m"; depends=[Rcpp]; };
   rtkore = derive2 { name="rtkore"; version="1.5.5"; sha256="0srk0ih4gbmhb1pl6zf8sjwrkdmgws9cl1397fcqv6l3bc376622"; depends=[inline Rcpp]; };
-  rtmpt = derive2 { name="rtmpt"; version="0.2-2"; sha256="1l8xrrrijpaf93i5idlgr56m4f8wqfr3rix0k2rlmmd9vvw4i1js"; depends=[coda data_table loo stringr truncnorm]; };
+  rtmpt = derive2 { name="rtmpt"; version="0.2-3"; sha256="0529605nvdiaqw1iqp6bg0di8akamjawg61l51s3f9mfzsqvvk03"; depends=[coda data_table loo Ryacas stringr truncnorm]; };
   rtodoist = derive2 { name="rtodoist"; version="0.1.0"; sha256="12lh14ps4snlyykhc65nvn8ipic8is8ssmgcx73snmifhrzxgdyb"; depends=[digest dplyr getPass glue httr keyring magrittr purrr]; };
   rtop = derive2 { name="rtop"; version="0.5-14"; sha256="1wwllckginnzisapbklpsizy47db24r83xahq4qsd8zhqvv9yj33"; depends=[gstat sp]; };
   rtrek = derive2 { name="rtrek"; version="0.3.3"; sha256="1lnjwslx1l0vgysw3m1s83h246grplmv4mdk4m6ym83mrdmkzvhi"; depends=[downloader dplyr ggplot2 jpeg jsonlite magrittr memoise purrr rvest tibble tidyr xml2]; };
   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]; };
@@ -15650,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]; };
@@ -15691,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=[]; };
@@ -15703,12 +16021,12 @@ in with self; {
   ryandexdirect = derive2 { name="ryandexdirect"; version="3.6.0"; sha256="0f1z8gp1pxfqx694alj435ihzxvd9ban04b1clzipgdq9la1hza8"; depends=[bitops data_table dplyr httr jsonlite magrittr purrr readr stringr tidyr xml2]; };
   rym = derive2 { name="rym"; version="1.0.5"; sha256="0brh8hm3x21swypnzj3bbbf7njgarsj4804fp5lcqlr4nadzx26y"; depends=[httr purrr stringr]; };
   ryouready = derive2 { name="ryouready"; version="0.4"; sha256="1d9z3paxcrkwsgn5g83x57jwz2iqarks30x0bwg48i5ispw6xbr3"; depends=[car ggplot2 stringr]; };
-  rytstat = derive2 { name="rytstat"; version="0.1.0"; sha256="1wwqhdcb2l8sbn9xps4my0haqkg6d9dky49p0pm9q6sakgy53ayx"; depends=[cli dplyr gargle httr pbapply rlang snakecase stringr tidyr withr]; };
+  rytstat = derive2 { name="rytstat"; version="0.2.1"; sha256="17y6qyw68vzm1shbgvbmzw5wfjjnzp1ilr54g36d4g1m87dbvapy"; depends=[cli dplyr gargle httr pbapply rlang snakecase stringr tidyr withr]; };
   rzentra = derive2 { name="rzentra"; version="0.1.0"; sha256="1knp1616ck64wgf3r80s1nywdnljc1r9fjvgg531j0fxir04aqkl"; depends=[data_table dplyr httr jsonlite lubridate magrittr purrr]; };
   rzmq = derive2 { name="rzmq"; version="0.9.8"; sha256="0lqwxi9ckydvrmmkwy3mhqd28gyajijznbbb4j23mnmi0aspwnl1"; depends=[]; };
   s2 = derive2 { name="s2"; version="1.0.7"; sha256="0gwydn6wdl675ydkcckrci6ylcx30qn8nfhmrp4qx4r9mv3c2410"; depends=[Rcpp wk]; };
   s20x = derive2 { name="s20x"; version="3.1-31"; sha256="0gnp703blgawfymd6nxz98w8g7sabagrnk3qc3d3cxj887w83gih"; depends=[]; };
-  s2dv = derive2 { name="s2dv"; version="1.0.0"; sha256="15nx9g29l08d0nq0l5fjvwhwxin2jnpkiv4jp7gxkaw2diykbzkk"; depends=[abind bigmemory ClimProjDiags easyNCDF GEOmap geomapdata mapproj maps multiApply NbClust ncdf4 plyr SpecsVerification]; };
+  s2dv = derive2 { name="s2dv"; version="1.1.0"; sha256="1sx7zmd0m0ny3jm7m5r1x327pw0qn8j0ny02yv6ki7kpbh6mk0pw"; depends=[abind bigmemory ClimProjDiags easyNCDF mapproj maps multiApply NbClust ncdf4 plyr SpecsVerification]; };
   s2dverification = derive2 { name="s2dverification"; version="2.10.0"; sha256="0sf47jxhw463qfaajiqla21nz7343fw3fzkyzyq2j8zdp7lj7xr2"; depends=[abind bigmemory GEOmap geomapdata mapproj maps NbClust ncdf4 plyr SpecsVerification]; };
   s2net = derive2 { name="s2net"; version="1.0.1"; sha256="1f6lc8azx8lax7jc5ggzirwnp5d9ka2plimfkg70vx783xf56zaw"; depends=[MASS Rcpp RcppArmadillo]; };
   s4vd = derive2 { name="s4vd"; version="1.1-1"; sha256="1rp3z42nxmrvb942h3c5cl544lngzx7nrnnr4zjw7dq495bym7yp"; depends=[biclust foreach irlba]; };
@@ -15733,10 +16051,11 @@ in with self; {
   sadists = derive2 { name="sadists"; version="0.2.4"; sha256="00iqgwqfia4mybg4v66kb368gydr103zmr8ka9y4j8rmwkg5j9kq"; depends=[hypergeo orthopolynom PDQutils]; };
   sads = derive2 { name="sads"; version="0.4.2"; sha256="1j6vdjvpnbqp4kwbvhcl8p51ln29mmk9n150718wsqlifb8d1lw9"; depends=[bbmle GUILDS MASS poilog VGAM]; };
   sae = derive2 { name="sae"; version="1.3"; sha256="1ncrlzgnga9pfa2j8x1y6axl2665rp08aff98zrim6gq6n6yap8z"; depends=[lme4 MASS]; };
+  saeBest = derive2 { name="saeBest"; version="0.1.0"; sha256="0s68w9cikhpac1kdlm1pphvnks1izacs5s87d7r380c3lkgkzd76"; depends=[sae]; };
   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=[]; };
@@ -15744,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]; };
@@ -15752,7 +16072,7 @@ in with self; {
   salbm = derive2 { name="salbm"; version="1.0"; sha256="06nizpphyn5q292b2kbsjax0ljw3340n655qwiyp8lvi2zcnl6jy"; depends=[randomForestSRC]; };
   salem = derive2 { name="salem"; version="0.2.0"; sha256="1pk27d57bmds0jvnvwai2scjy798lb7w6lb84yxl4ccgyn1ldh45"; depends=[]; };
   salesforcer = derive2 { name="salesforcer"; version="1.0.0"; sha256="12gc77d6kg7yb9hvbwibahslka8xfqzmwim4q6nkiyq9b0x5wliv"; depends=[anytime base64enc curl data_table dplyr httr jsonlite lifecycle lubridate mime purrr readr rlang rlist tibble vctrs XML xml2 zip]; };
-  salso = derive2 { name="salso"; version="0.2.23"; sha256="19b3g37nm3nj255vpjgbzmwvyzybb8a3wff9qax6nw5fx9hb6zas"; depends=[]; };
+  salso = derive2 { name="salso"; version="0.3.0"; sha256="05nsnhbb5w69064ddmdkpvx7nw2gbd2l446b89myllw0jzaycza3"; depends=[]; };
   salty = derive2 { name="salty"; version="0.1.0"; sha256="1dxq62yrkv416fy09l03slc7ci6mnwiyvjlsxhbqnj8yjy3kbhr6"; depends=[assertthat purrr stringr]; };
   sambia = derive2 { name="sambia"; version="0.1.0"; sha256="15yz5lrjav5bs8m52crg3l43xmi4gf7wydji76p181ssyg43z2ln"; depends=[dplyr e1071 FNN mvtnorm pROC ranger smotefamily]; };
   samc = derive2 { name="samc"; version="2.0.0"; sha256="1xpk0ivcdydy1vsz1qxjx0p6sarz0ry8nh8wa1ca7nvl6pkq5r7j"; depends=[gdistance Matrix raster Rcpp RcppEigen RcppThread]; };
@@ -15777,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]; };
@@ -15791,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]; };
@@ -15809,10 +16130,10 @@ in with self; {
   saturnin = derive2 { name="saturnin"; version="1.1.1"; sha256="0cjp4h1s9ivn17v8ar48mxflaj9vgv92c8p9l2k5bc9yqx9mcs36"; depends=[Rcpp RcppEigen]; };
   saves = derive2 { name="saves"; version="0.5"; sha256="1b4mfi2851bwcp0frx079h5yl6y1bhc2s8ziigmr8kwy1y1cxw10"; depends=[]; };
   savonliquide = derive2 { name="savonliquide"; version="0.2.0"; sha256="1f1s2pzvpqrcb68fqk4ivpimwsphnjjx3b42jivw63y7q7ak4azh"; depends=[crayon glue htmltools httr]; };
-  sawnuti = derive2 { name="sawnuti"; version="0.1.0"; sha256="18mgpd9y54awxml5mz4bvwazy3iqnpwghr18hkv76iafi72d55az"; depends=[]; };
+  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=[]; };
@@ -15824,11 +16145,13 @@ 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]; };
   scModels = derive2 { name="scModels"; version="1.0.2"; sha256="02nn8nv77fgmskx5zsa34ij9lzq9jiv8w2vmw5863v55khzvfs53"; depends=[gamlss_dist Rcpp]; };
@@ -15839,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=[]; };
@@ -15858,7 +16182,7 @@ in with self; {
   scatterplot3d = derive2 { name="scatterplot3d"; version="0.3-41"; sha256="152xqz9c70qab86mpgng049gxsg5f4fpf1m8dh93fb9v1avjd0sc"; depends=[]; };
   scbursts = derive2 { name="scbursts"; version="1.6"; sha256="09yxnq6m35xmp0priavjnh0bdcwkr5hhy7j33cz13xwkrd1cgw5j"; depends=[readxl tibble]; };
   scclust = derive2 { name="scclust"; version="0.2.2"; sha256="0w0qwz8wfdprs2bgv1cjvd2yb6g12jylad21a9rr3w5bkgxprcrp"; depends=[distances]; };
-  sccore = derive2 { name="sccore"; version="1.0.0"; sha256="1qq9y0ybvy7yin0nyrryl2k12ylwinjmmdswwcgwd3h8ni5sirgh"; depends=[dplyr ggplot2 ggrepel igraph irlba magrittr Matrix pbmcapply pROC Rcpp RcppArmadillo RcppEigen RcppProgress rlang scales tibble uwot withr]; };
+  sccore = derive2 { name="sccore"; version="1.0.1"; sha256="0ssc0ycjp73jwrijvk463liqmq5qdb8ycd92q7mrh5dl161hq8km"; depends=[dplyr ggplot2 ggrepel igraph irlba magrittr Matrix pbmcapply pROC Rcpp RcppArmadillo RcppEigen RcppProgress rlang scales tibble uwot withr]; };
   sccr = derive2 { name="sccr"; version="2.1"; sha256="0cjlzv92b5qrs43d3ry33zcggiqvsqaf8wq4k19ws9lvgh59b62v"; depends=[dplyr]; };
   scdensity = derive2 { name="scdensity"; version="1.0.2"; sha256="173xm3bf8vxl30zk4n451al7m003byg9q4d1l1pfyfa4xnv8qdg9"; depends=[lpSolve quadprog]; };
   scdhlm = derive2 { name="scdhlm"; version="0.5.2"; sha256="147kqr65gxy44nj9rj4jbw590pbqspli4dpkgdq4hj9x1daww2ql"; depends=[lmeInfo nlme readxl]; };
@@ -15872,7 +16196,7 @@ in with self; {
   schrute = derive2 { name="schrute"; version="0.2.2"; sha256="1j1bb7inhxq355kvqmp45zgxz41d3rpbh2rxk9wkahsbiy0cdybn"; depends=[dplyr ggplot2 magrittr stringi stringr tibble tidyr tidytext]; };
   schtools = derive2 { name="schtools"; version="0.1.0"; sha256="02qlncaddbyvm38ja480qd92gqbs06wxb49902g81mc918gmxqf6"; depends=[dplyr formatR rlang tidyr]; };
   schumaker = derive2 { name="schumaker"; version="1.2.1"; sha256="15i39lzkd1qggd35sp39vy922y3y1n9drjkidz7asniv1miali6j"; depends=[]; };
-  scico = derive2 { name="scico"; version="1.2.0"; sha256="1l7vin8zjnv3zhgv81v6qrx6nysd2kx10na1pfn6mmxvr1bsj9jp"; depends=[]; };
+  scico = derive2 { name="scico"; version="1.3.0"; sha256="08grfbjd5s0vdw76ni37yjl2242rr8i2jy72sgpwgra282hpnji3"; depends=[scales]; };
   scientoText = derive2 { name="scientoText"; version="0.1"; sha256="0f18hg9s50lbbgl0fqjv45yhynpnsxj8wwm07g126snzr68gbd21"; depends=[stringr tm]; };
   scifigure = derive2 { name="scifigure"; version="0.2"; sha256="1zc88r1lnb0cws130hq4rjc34rrp6zkmi8yhkwsm3vkznbhi4iba"; depends=[]; };
   sciplot = derive2 { name="sciplot"; version="1.2-0"; sha256="097zcgjsv54f6wd8fjwh2xb406j6yrw94v9pcxa0zln1q7fs93vk"; depends=[]; };
@@ -15902,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]; };
@@ -15916,14 +16241,14 @@ in with self; {
   sdcLog = derive2 { name="sdcLog"; version="0.4.0"; sha256="0rph0jha8x5mqzcpad3px89ppqbxccsx896mhpxw9pxrpk82aiig"; depends=[broom checkmate crayon data_table mathjaxr]; };
   sdcMicro = derive2 { name="sdcMicro"; version="5.6.1"; sha256="12maw34ibsa2fpdxy4ww8nbsllfvcjvf5idg4m4z0fjsbmd7li51"; depends=[car carData cluster data_table DT e1071 ggplot2 haven knitr MASS prettydoc Rcpp rhandsontable rmarkdown robustbase shiny shinyBS VIM xtable]; };
   sdcSpatial = derive2 { name="sdcSpatial"; version="0.1.1"; sha256="1szv2nb758k3x5scxml2ns11fi99rlmd11r3fhzy3dgylf0m0xnm"; depends=[raster]; };
-  sdcTable = derive2 { name="sdcTable"; version="0.32.1"; sha256="074sn3rniajgmlbfwxhdlavq6y14j3dv2izq13kq5h14dk0awalh"; depends=[data_table glpkAPI knitr lpSolveAPI progress Rcpp Rglpk rlang sdcHierarchies slam stringr]; };
+  sdcTable = derive2 { name="sdcTable"; version="0.32.2"; sha256="0xp27akglxakqakq3a1415an9446sz0caajjmhh9pwk3mzxh2n3q"; depends=[data_table glpkAPI knitr lpSolveAPI progress Rcpp Rglpk rlang sdcHierarchies slam stringr]; };
   sdcTarget = derive2 { name="sdcTarget"; version="0.9-11"; sha256="18cf276mh1sv16xn0dn8par4zg8k7y8710byxiih6db4i616fjpi"; depends=[doParallel foreach magic tuple]; };
   sde = derive2 { name="sde"; version="2.0.15"; sha256="0gxyhq9lafd62y68h7fd746a3jz3jdsm0shgwm2ylmp4a2f5cdmm"; depends=[fda MASS zoo]; };
   sdef = derive2 { name="sdef"; version="1.7"; sha256="0x2b8shp02ik0dd11wi3jcrl9h9m963fnkfy47fwwhav9x6jg0jf"; depends=[]; };
   sdetorus = derive2 { name="sdetorus"; version="0.1.8"; sha256="1bf622k9szas3bfxz9f82dn28l1hdqxzpvgqwvzygy9vp2gi4gyp"; depends=[colorRamps mvtnorm Rcpp RcppArmadillo]; };
   sdm = derive2 { name="sdm"; version="1.1-8"; sha256="130zkhhq1l99r16dii21i87wphb4n10xq70rgimm4x0q7zn0jv5y"; depends=[raster sp]; };
   sdmApp = derive2 { name="sdmApp"; version="0.0.2"; sha256="1rfzy3bbdya7amyr43dhhv4cvmrxcan0fv167ldpbf0m9snqrnrx"; depends=[raster shiny sp]; };
-  sdmpredictors = derive2 { name="sdmpredictors"; version="0.2.10"; sha256="12isgysfpmaj7r5zvs9mc3cd8jkinqqhmhzmfdvabddman6whhzk"; depends=[R_utils raster RCurl rgdal]; };
+  sdmpredictors = derive2 { name="sdmpredictors"; version="0.2.11"; sha256="1fazdcxmgwa3m3nd010i3rprnh05ydwh152vvbship7c73czwcs1"; depends=[R_utils raster rgdal]; };
   sdmvspecies = derive2 { name="sdmvspecies"; version="0.3.2"; sha256="19avkag13ij1k65vqhmvcy8j50j8vrgw4mjc49x8i63w3d4z1wxh"; depends=[psych raster]; };
   sdpdth = derive2 { name="sdpdth"; version="0.2"; sha256="1yn8fsjxpbagargf3mv0p23vsgnl64dxfkggrzvfp0ylxsx8nnvc"; depends=[Matrix matrixcalc rCMA Rcpp RcppArmadillo rJava]; };
   sdprisk = derive2 { name="sdprisk"; version="1.1-6"; sha256="061x78irryc5phd8bv9cs2mfgiajgwmr85ryp1r47anadydb2haa"; depends=[numDeriv PolynomF rootSolve]; };
@@ -15943,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]; };
@@ -15955,11 +16280,11 @@ 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]; };
-  seer = derive2 { name="seer"; version="1.1.6"; sha256="1919riap2fv4f9z239jam7qzm2ibgzasirjfi7jkypmw6a1kp5hc"; depends=[dplyr forecast forecTheta furrr future magrittr MASS purrr randomForest stringr tibble tsfeatures urca]; };
+  seer = derive2 { name="seer"; version="1.1.7"; sha256="018621hywk8p3p210dn7ikll5nl188xb8smxsqzkzrf9wc886s3y"; depends=[dplyr forecast forecTheta furrr future magrittr MASS purrr randomForest stringr tibble tsfeatures urca]; };
   seewave = derive2 { name="seewave"; version="2.1.8"; sha256="1szcvryvl4kb3av2pcvl14bz6whl7xrq4wb1ck6w7lfc4mrlirhh"; depends=[tuneR]; };
   seg = derive2 { name="seg"; version="0.5-7"; sha256="165hl55vzyf3jqlykqji37p2syzhc8dxdjxd4wwr562qnlymzszx"; depends=[sp splancs]; };
   segMGarch = derive2 { name="segMGarch"; version="1.2"; sha256="0chw41h25jka9wa3rf3d8dq2ym47379jflv33q6qxaak8xy1kmd9"; depends=[corpcor doParallel fGarch foreach iterators mvtnorm Rcpp RcppArmadillo]; };
@@ -15967,13 +16292,16 @@ 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]; };
+  selcorr = derive2 { name="selcorr"; version="1.0"; sha256="0xasxjb0hk84ai4338pkddy7w02ih2q8v4vgn2zdc744jb9f0gqb"; depends=[MASS]; };
   selectMeta = derive2 { name="selectMeta"; version="1.0.8"; sha256="0i0wzx5ggd60y26lnn4qk4n8h27ahll9732026ppks1djx14cdy0"; depends=[DEoptim]; };
   selectapref = derive2 { name="selectapref"; version="0.1.2"; sha256="0njibljh3hiqdn4wdb031bdg1bh3xpixgczbi5i01gaavybsq4cc"; depends=[]; };
   selection_index = derive2 { name="selection.index"; version="1.1.3"; sha256="0zvb6wr7ga5618v8rwdvc2bk7gw19gn3kpfn584cfac9j933m62v"; depends=[]; };
@@ -15997,7 +16325,7 @@ in with self; {
   semdrw = derive2 { name="semdrw"; version="0.1.0"; sha256="16hm1ifgspnxnlf3rfg5ylmql2fq91ig8nc5953ggyhfrjwbqx15"; depends=[dplyr lavaan psych semPlot semTools shiny shinyAce]; };
   semds = derive2 { name="semds"; version="0.9-6"; sha256="10kvcmcy6qa2r5sram6azqgzl528rghfxgw2f2bq2fvhhq127dzq"; depends=[minpack_lm pracma]; };
   semiArtificial = derive2 { name="semiArtificial"; version="2.4.1"; sha256="0zsn3r5n7n3dsa02i194lr6ail7mizq9xp8x3kc5k17z4ckcfysd"; depends=[cluster CORElearn flexclust fpc ks logspline MASS mcclust nnet robustbase RSNNS StatMatch timeDate]; };
-  seminr = derive2 { name="seminr"; version="2.2.1"; sha256="162x14zvnwbm0gpb71fcxmig1z3qk00gigznz1kzqvp64hz8kb24"; depends=[DiagrammeR DiagrammeRsvg glue knitr lavaan rmarkdown testthat webp]; };
+  seminr = derive2 { name="seminr"; version="2.3.0"; sha256="0p7k2dvld5yfx5x5m97531b6kzkbhxbv308vkb7cakc1kwacj8sa"; depends=[DiagrammeR DiagrammeRsvg glue knitr lavaan rmarkdown testthat webp]; };
   semmcmc = derive2 { name="semmcmc"; version="0.0.6"; sha256="13asqiw3zazh9k3p39582a0bzm00gmagls2w76kvpygilj4r5391"; depends=[MASS msm]; };
   semnar = derive2 { name="semnar"; version="0.7.1"; sha256="0g6l4377i9wdwbcrdhdmsph68bd6qwc5mjlw824mpxn0ggg6vx72"; depends=[jsonlite leaflet lubridate magrittr urlshorteneR]; };
   semnova = derive2 { name="semnova"; version="0.1-6"; sha256="1vghf8gy0vahwn3nq752wm0rbj33jdy69yqjzin94sk8xa42d0wi"; depends=[lavaan MASS Matrix]; };
@@ -16007,9 +16335,8 @@ in with self; {
   semver = derive2 { name="semver"; version="0.2.0"; sha256="10wpkyms2cix3bsin2q0qhkbl445pwwpa5gm2s4jjw1989namkxy"; depends=[assertthat Rcpp]; };
   semverutils = derive2 { name="semverutils"; version="0.1.0"; sha256="0y3zh8n8bgs3ag8yy9cnp0i0xrn0iqflcbrya70glyb40148w9sw"; depends=[foreach R6]; };
   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.3.3"; sha256="0b79cpvrijl2zmpw6qfa38n2ccpg4v4hxjxjb3rd0iy02vh2ksd1"; depends=[base64enc clipr clisymbols crayon desc dplyr fs glue httr jsonlite magrittr rlang stringr tibble tidyr usethis]; };
+  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]; };
@@ -16021,12 +16348,12 @@ in with self; {
   sensitivityfull = derive2 { name="sensitivityfull"; version="1.5.6"; sha256="0g2gc4rms6gd34d23kxj50pjh0yq1h6yiybj4dxwyf6i2652irhq"; depends=[]; };
   sensitivitymult = derive2 { name="sensitivitymult"; version="1.0.2"; sha256="19pyq6c7pvr3zkz3dz5p2hhfcvwm0im0bwaw4yhhgin4kqfnfjd5"; depends=[]; };
   sensitivitymv = derive2 { name="sensitivitymv"; version="1.4.3"; sha256="1ga8mf92niiv1z3g3kv5ha5xdd1089aaqp19dz68kv8a396vhy1j"; depends=[]; };
-  sensitivitymw = derive2 { name="sensitivitymw"; version="1.1"; sha256="1bknnfkkqgmchabcjdfikm37sn5k41ar8lpnjw58i8qh7yzq237i"; depends=[]; };
+  sensitivitymw = derive2 { name="sensitivitymw"; version="2.1"; sha256="1sjq8lxw9iy5s5a19xaxm05wnz9yg4llpbnljydini511pyshzzx"; depends=[]; };
   sensmediation = derive2 { name="sensmediation"; version="0.3.0"; sha256="0pmhlc5aqz1vwl4fpn38nkqy63pbq6q62fk9xjja4khrq35zh9yb"; depends=[maxLik mvtnorm]; };
-  sensobol = derive2 { name="sensobol"; version="1.0.3"; sha256="0m9zdzp5s0a3c2bk91h7iiyhc5imm8hi81sy4kk1ydwa5z5zld49"; depends=[boot data_table deSolve ggplot2 lhs magrittr matrixStats randtoolbox Rcpp RcppArmadillo Rdpack Rfast rlang scales stringr]; };
+  sensobol = derive2 { name="sensobol"; version="1.1.0"; sha256="11ahkgfydnswwp5bny4j2jys3wlkzxiwykivvm1znbp2nzghz5s9"; depends=[boot data_table deSolve ggplot2 lhs magrittr matrixStats randtoolbox Rcpp RcppArmadillo Rdpack Rfast rlang scales stringr]; };
   sensory = derive2 { name="sensory"; version="1.1"; sha256="1zd0ajrymxi6gygcq9fqgwgy0g6c3cqz53x0k5m0ihbmh11rc7s7"; depends=[gtools MASS Matrix]; };
   senstrat = derive2 { name="senstrat"; version="1.0.3"; sha256="0j6mb55v5ivqvk8nn8fjlzrbdgj6csa58yc6gy1g07m7gk2qz2np"; depends=[BiasedUrn MASS]; };
-  sentencepiece = derive2 { name="sentencepiece"; version="0.1.2"; sha256="062qhvcgrl0r7lxrhjkyrncl8nihf3fkvwjish93shsrgc5596r5"; depends=[Rcpp]; };
+  sentencepiece = derive2 { name="sentencepiece"; version="0.2.1"; sha256="0mwmgnkmahlik8nl14pkzi351jv9c00iylj7f5h6wkjbrizkdd34"; depends=[Rcpp]; };
   sentimentr = derive2 { name="sentimentr"; version="2.9.0"; sha256="0i0lg2fl079wjv30lpqcxhx62miqakb9kzwwhrr4c18kl0bxbaav"; depends=[data_table ggplot2 lexicon stringi syuzhet textclean textshape]; };
   sentometrics = derive2 { name="sentometrics"; version="1.0.0"; sha256="06qvwfgshr70n1qgf2zqjvycwwrak8d5hfyn3v5k2qzkfaxkihmm"; depends=[caret data_table foreach ggplot2 glmnet ISOweek quanteda Rcpp RcppArmadillo RcppParallel RcppRoll stringi]; };
   sentryR = derive2 { name="sentryR"; version="1.1.0"; sha256="0kz81dbxg4zyns829cjhjm2g88pxzaaxdk7c8qabvl0zgqys2chy"; depends=[httr jsonlite stringr tibble uuid]; };
@@ -16043,13 +16370,12 @@ 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=[]; };
   sequences = derive2 { name="sequences"; version="0.5.9"; sha256="17571m525b6a3k4f0m936wfq401181gx1fpb7x4v0fhaldzdmk3a"; depends=[Rcpp]; };
   sequenza = derive2 { name="sequenza"; version="3.0.0"; sha256="13l16lacdcf7fn96yj3xqxap0l19ma9ppkxxx5qk9f5abbvdk303"; depends=[copynumber iotools pbapply readr seqminer squash]; };
-  sequoia = derive2 { name="sequoia"; version="2.3.5"; sha256="1n0c24g5zl0l63nsaywwjfqsjn0ql2ckd3iqmc381qngijnckc17"; depends=[plyr]; };
   sergeant = derive2 { name="sergeant"; version="0.9.1"; sha256="0mgrrlny1qfddznyc34awh8vkbjnyskbyqrxszdhsm2c5wgp2nwh"; depends=[bit64 DBI dbplyr dplyr htmltools httr jsonlite magrittr purrr readr scales stringi tibble]; };
   serial = derive2 { name="serial"; version="3.0"; sha256="1y1gj0lcdn5apiv6c6arks6pqhsbvnrfym6n2izjarx2c27ijrjj"; depends=[]; };
   seriation = derive2 { name="seriation"; version="1.3.1"; sha256="08c37n3xxc4n4vbkw38k3l3hdlmck8drqpl6z274vkgi2sqv8qyf"; depends=[cluster colorspace gclus MASS qap registry TSP]; };
@@ -16062,16 +16388,16 @@ in with self; {
   servr = derive2 { name="servr"; version="0.24"; sha256="11x0857m3xzdbzr4z0vx4fcdk36arfagyf2qgamvprich0qisknr"; depends=[httpuv jsonlite mime xfun]; };
   sesem = derive2 { name="sesem"; version="1.0.2"; sha256="0b1xzv38wpkhhlq87xrvlh45b8ksbi8bg4ar5hrf8gxa19r9rmi5"; depends=[gplots lavaan mgcv]; };
   session = derive2 { name="session"; version="1.0.3"; sha256="04mcy1ac75fd33bg70c47nxqxrmqh665m9r8b1zsz5jij1sbl8q5"; depends=[]; };
-  sessioninfo = derive2 { name="sessioninfo"; version="1.2.1"; sha256="0w3vhp652524348a4cfyvvs8z9xpxkcznw8x406nvkwfh0gdyka2"; depends=[cli]; };
+  sessioninfo = derive2 { name="sessioninfo"; version="1.2.2"; sha256="1jy7n37qnrb4fgzmn8s8yf7kv29yw27x8zklwf8qdb2kgj2q6qpm"; depends=[cli]; };
   set = derive2 { name="set"; version="1.2"; sha256="0f36dp9k0nxp1amsd7ybwgbv0vxvgd1kns7cbfsbsh0kljxyplzp"; depends=[do]; };
   set6 = derive2 { name="set6"; version="0.2.4"; sha256="06swz60p73a7m7rvsv1545hsr2chkk2w2hmnfwkwfz4hrbdxm709"; depends=[checkmate ooplah R6 Rcpp]; };
   setRNG = derive2 { name="setRNG"; version="2013.9-1"; sha256="02198cikj769yc32v8m2qrv5c01l2fxmx61l77m5ysm0hab3j6hs"; depends=[]; };
-  sets = derive2 { name="sets"; version="1.0-19"; sha256="18185rm458nlifzrp73fjrjvksmm5dvn5ygs949kdzdln1myb4xf"; depends=[]; };
+  sets = derive2 { name="sets"; version="1.0-20"; sha256="1mkmqi3n1lh01k47yvkr0dlf4imqdi6d6bglx9bvrjmg816p4jr3"; depends=[]; };
   setter = derive2 { name="setter"; version="0.0-1"; sha256="10fwrx8yysp99rrkbnn3rbz79vyzr2h3p7zxxlqapw1k2lllp0r5"; depends=[assertive_base]; };
   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-4"; sha256="0dxln3ikqmwczz0ri63xwj05v09hkpljw2qvma6n03nzczyg2713"; 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]; };
@@ -16081,7 +16407,7 @@ in with self; {
   sfdct = derive2 { name="sfdct"; version="0.1.0"; sha256="0p3ipp6x8vnsi94078n098yk9wglnawvzh19imcgk2c1l5lazwgf"; depends=[dplyr RTriangle sf sp tibble]; };
   sfheaders = derive2 { name="sfheaders"; version="0.4.0"; sha256="0ig02nszrs6fkjkrkqibp23n4a8qr4i09yz7l741yjd0308ddg46"; depends=[geometries Rcpp]; };
   sfinx = derive2 { name="sfinx"; version="1.7.99"; sha256="14v47y00qwvc2s0vzjw19hwn85nzj8lna539c75qq6zkn6kir6va"; depends=[]; };
-  sfnetworks = derive2 { name="sfnetworks"; version="0.5.3"; sha256="1f3zz706chps73j9i4is1k94134kxyq4pwkg86qwqrlxlfd623ha"; depends=[crayon dplyr igraph lwgeom rlang sf sfheaders tibble tidygraph units]; };
+  sfnetworks = derive2 { name="sfnetworks"; version="0.5.4"; sha256="15sxnwg62zwanl6rb1sl5a1l5gvhbvra6ildfi7wp87v99vpss4i"; depends=[crayon dplyr igraph lwgeom rlang sf sfheaders tibble tidygraph units]; };
   sfo = derive2 { name="sfo"; version="0.1.1"; sha256="0ja0kyrr6vqwk9fj1hq9bvfkak2vgav0hlqpgn4sa9h9j1s8r4js"; depends=[]; };
   sfsmisc = derive2 { name="sfsmisc"; version="1.1-12"; sha256="10h76pgzcxv1y5pkmba9607lvjrsyq62sq63s2n7ry7z5151h4lv"; depends=[]; };
   sft = derive2 { name="sft"; version="2.2-1"; sha256="0fxz64ba58n6ghfqsgq64n1c7qkvi8c3lsa86732mil9w71yxw33"; depends=[fda SuppDists]; };
@@ -16097,7 +16423,7 @@ in with self; {
   sglr = derive2 { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; };
   sgmcmc = derive2 { name="sgmcmc"; version="0.2.5"; sha256="0lq79c7i6bklh8c63wx3k6h9mk8s1abbr0hc41drcm96bbbg0aal"; depends=[reticulate tensorflow]; };
   sgmodel = derive2 { name="sgmodel"; version="0.1.1"; sha256="1i13vp91i8s61ylsyg0iij1sfclwif7v91slr2srl8ddz6lm23nx"; depends=[ggplot2 ramify Rtauchen]; };
-  sgo = derive2 { name="sgo"; version="0.9.0"; sha256="0rpxsc59skf1zphnvin5hjmz858d47xl3sq0z83zkka9h4fiwsp6"; depends=[]; };
+  sgo = derive2 { name="sgo"; version="0.9.1"; sha256="1fxvrfbpj10g944dzhb05xam9hmvmjj4lq5lxzdpryxw97ym6nxx"; depends=[]; };
   sgof = derive2 { name="sgof"; version="2.3.2"; sha256="020kc6h9iw4qhb9pdi7wk8vcy54dp10x0z3nlq3gwwbj1l9izc44"; depends=[poibin]; };
   sgpv = derive2 { name="sgpv"; version="1.1.0"; sha256="0w0slnnw239a34c0h7xr76c4m0rfwl0hq61g9n12vzxd6lfh3gqz"; depends=[]; };
   sgr = derive2 { name="sgr"; version="1.3"; sha256="0zxmrbv3fyb686hcgfy2w1w2jffxf41ab8yc90dsgf931s9c55wn"; depends=[MASS]; };
@@ -16105,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.0.9"; sha256="1g6mgnfnzf2c17yzqk3zybfc5y62p5ndrbikxb3xcm2hiljiiqna"; 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=[]; };
@@ -16114,12 +16440,12 @@ in with self; {
   shapes = derive2 { name="shapes"; version="1.2.6"; sha256="1p9fr95zk3q2v277c5ksb0nh26mcpzwjzjb2lmag51z6hck8cb66"; depends=[MASS minpack_lm rgl scatterplot3d]; };
   shapper = derive2 { name="shapper"; version="0.1.3"; sha256="1jaj9j894md45611gdrz05n0kfakawf7vlcc3zxhwdh3f7kwz4lp"; depends=[DALEX ggplot2 reticulate]; };
   shapr = derive2 { name="shapr"; version="0.2.0"; sha256="1zzg58m38rkqsynczy5jwz97ph3s85aa975ffi4i5vml82zlhc4y"; depends=[condMVNorm data_table Matrix mvnfast Rcpp RcppArmadillo]; };
-  shar = derive2 { name="shar"; version="1.2.1"; sha256="0n0xmp4j3lhddczh84bflg1l61p31n7skj57krg5i0xjhr2dav11"; depends=[classInt raster Rcpp spatstat_core spatstat_geom]; };
+  shar = derive2 { name="shar"; version="1.3.1"; sha256="10h8qk1syflz9grzzdkbxjl9ym22yimva14xx0m1xcbi20nd6a05"; depends=[classInt raster spatstat_core spatstat_geom]; };
   sharpData = derive2 { name="sharpData"; version="1.4"; sha256="1pnza52wqczjds4vp2fy9ky41y7lyj9ywam11nsr0mpv63jglnc5"; depends=[KernSmooth quadprog]; };
   sharpPen = derive2 { name="sharpPen"; version="1.7"; sha256="1nhmxfyrzmm6qgwrlfc046lm9n8n5r62ym44956zg2z1m2vhnysf"; depends=[glmnet KernSmooth MASS Matrix np]; };
   sharpeRratio = derive2 { name="sharpeRratio"; version="1.4.2"; sha256="1l0ix779kzci647v4irxs0j83zwfchd51k8576ivis7cr5f1a9v6"; depends=[ghyp Rcpp]; };
   sharpr2 = derive2 { name="sharpr2"; version="1.1.1.0"; sha256="1r7anfr296l5sbhgry6rb15hlca6mpcm24qssdzz9bckavyfvqgi"; depends=[Matrix mvtnorm]; };
-  sharpshootR = derive2 { name="sharpshootR"; version="1.8.2"; sha256="0dg55zb1j0nv5flfxzs64rkr8x11g0inhygn98d4q7i00cdh9v77"; depends=[ape aqp circular cluster curl digest e1071 Hmisc igraph lattice plyr RColorBrewer reshape2 scales soilDB sp stringi vegan]; };
+  sharpshootR = derive2 { name="sharpshootR"; version="1.9"; sha256="1916zvmj6k2pjnzzlxzx5r4v2gkqz46fvrgkiqbhhg7zwv94b8wf"; depends=[ape aqp circular cluster curl digest e1071 Hmisc igraph lattice plyr RColorBrewer reshape2 scales soilDB sp stringi vegan]; };
   sharx = derive2 { name="sharx"; version="1.0-5"; sha256="10sfjg6946jfk4051da0w1v89503av40wckqaabr12syf8kn0aw8"; depends=[dclone dcmle Formula]; };
   shattering = derive2 { name="shattering"; version="1.0.7"; sha256="0dmb57pdgzwm001gfm1zm8ba7x71bp2vjk4ml0cy4r05hpdswfh3"; depends=[e1071 FNN NMF pdist pracma rmarkdown Ryacas slam]; };
   shazam = derive2 { name="shazam"; version="1.1.0"; sha256="1jakx3fwhlswwbmkac25nmcrk70cyc2iypmmxlgd3wxaqbnrd97z"; depends=[alakazam ape diptest doParallel dplyr foreach ggplot2 igraph iterators kedd KernSmooth lazyeval MASS progress rlang scales seqinr stringi tidyr tidyselect]; };
@@ -16139,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.0.0"; sha256="03m96khn55bif1x1qx0frkn8j87pap201mjl0zpsrxnpky2q4m6a"; depends=[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]; };
@@ -16153,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]; };
@@ -16168,9 +16494,9 @@ 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="2.0.0"; sha256="0b392nb6vknbc88dqbkymxs7gcjd5cm2312dw7jwvmmwh8949wm7"; depends=[htmltools shiny uuid]; };
+  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]; };
   shinyauthr = derive2 { name="shinyauthr"; version="1.0.0"; sha256="0apaqjkxpr96kx9indl0pifk5y75gdx5npfcvxfg5k2crpx9vmxk"; depends=[dplyr glue rlang shiny shinyjs sodium]; };
   shinybootstrap2 = derive2 { name="shinybootstrap2"; version="0.2.1"; sha256="17634l3swlvgj1sv56nvrpgd6rqv7y7qjq0gygljbrgpwmfj198c"; depends=[htmltools jsonlite shiny]; };
@@ -16188,8 +16514,8 @@ 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]; };
-  shinyjs = derive2 { name="shinyjs"; version="2.0.0"; sha256="1zzq356dvd8ciajy6r5n4ybgx9xk7ydwv25j86xlcsqznkxdkkf2"; depends=[digest htmltools 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]; };
   shinymanager = derive2 { name="shinymanager"; version="1.0.400"; sha256="1np2yp5pn8g9i4jhysfgprmdn13cpw4vaaagrd72rnk2r4hpmyx4"; depends=[billboarder DBI DT htmltools openssl R_utils R6 RSQLite scrypt shiny]; };
@@ -16204,7 +16530,7 @@ in with self; {
   shinyrecap = derive2 { name="shinyrecap"; version="0.1.0"; sha256="1mic7azxz2in67g3a2ir550w8psh6kc75p6hja6m62a0yy7j2n92"; depends=[CARE1 coda conting dga future ggplot2 ipc LCMCR promises Rcapture reshape shiny shinycssloaders testthat]; };
   shinyrecipes = derive2 { name="shinyrecipes"; version="0.1.0"; sha256="1b4l27qsl1lpssh3jv1pqmw2mq8hanfj0m269yp5618nd5nxd2ck"; depends=[dplyr DT esquisse miniUI purrr recipes rstudioapi shiny shinyglide shinyWidgets sortable stringr tidyr]; };
   shinyreforms = derive2 { name="shinyreforms"; version="0.0.1"; sha256="1g1blc57c6zkca0m52bqkw8jwgpplabns07x1cwkk46dmv6sgqci"; depends=[htmltools R6 shiny]; };
-  shinyscreenshot = derive2 { name="shinyscreenshot"; version="0.1.0"; sha256="0s0rq6v6dkh6n5dvjzayjmh9jzjndf4d3zixaya9skv22z5gcj0y"; depends=[jsonlite shiny uuid]; };
+  shinyscreenshot = derive2 { name="shinyscreenshot"; version="0.2.0"; sha256="01vm2wc0r3j20hj65q9f0wgffj7r5q2cg5p5mywh1p2rkslgikk3"; depends=[base64enc jsonlite shiny uuid]; };
   shinyservicebot = derive2 { name="shinyservicebot"; version="0.1.0"; sha256="18xbggiai6ssyl3q0nqhnszxb7zlbffaw0iy3r7vbzswzqx522la"; depends=[digest htmltools htmlwidgets shiny]; };
   shinystan = derive2 { name="shinystan"; version="2.5.0"; sha256="18alf5kiqw7y2l6m5nxxizwc2znsf9frxfsqhvgcad8hld9cbya5"; depends=[bayesplot colourpicker DT dygraphs ggplot2 gridExtra gtools markdown reshape2 rsconnect rstan shiny shinyjs shinythemes threejs xtable xts]; };
   shinysurveys = derive2 { name="shinysurveys"; version="0.2.0"; sha256="01bj0g8r71jng03psw9dcjann78divy2xr5yn6y1pa82d96s46b5"; depends=[htmltools jsonlite sass shiny]; };
@@ -16223,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=[]; };
@@ -16236,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=[]; };
@@ -16247,7 +16572,7 @@ in with self; {
   sigclust = derive2 { name="sigclust"; version="1.1.0"; sha256="0151v7lr4n4yyn93j0s06gzc9jh9xhdgvfw6kvpfy24jl6wdii7g"; depends=[]; };
   sigmaNet = derive2 { name="sigmaNet"; version="1.1.0"; sha256="1i0xikwad9kiyrqxi1klkc4h4hyqfkxr388sw4mrx9pswfpbv3xr"; depends=[htmlwidgets igraph jsonlite RColorBrewer]; };
   sigmajs = derive2 { name="sigmajs"; version="0.1.5"; sha256="1d26llpgnj687b8rwgbyhw88zakp334n4a9gabf72qwrg4awm1v5"; depends=[crosstalk dplyr htmltools htmlwidgets igraph jsonlite magrittr purrr scales shiny]; };
-  sigminer = derive2 { name="sigminer"; version="2.1.1"; sha256="1fk2z6ry7agbwd8vjc3k9lgsv7qr2m75q9c02cy4742yflcayvsz"; depends=[cli cowplot data_table dplyr furrr future ggplot2 ggpubr maftools magrittr NMF purrr Rcpp rlang tidyr]; };
+  sigminer = derive2 { name="sigminer"; version="2.1.2"; sha256="1h5wxch6r01bdz7l64alag9f4l8jfx19ym36bj0l9450f8wizncj"; depends=[cli cowplot data_table dplyr furrr future ggplot2 ggpubr maftools magrittr NMF purrr Rcpp rlang tidyr]; };
   sigmoid = derive2 { name="sigmoid"; version="0.3.0"; sha256="1sa6nmip3fizdk3r47pvx0h3qldn267arpmid0wa1pb7k5j2g682"; depends=[]; };
   signal = derive2 { name="signal"; version="0.7-7"; sha256="0qaf39vfmhn3d0bdjqd805ayfkaj48dkmf5dqd47bpk7dp21b837"; depends=[MASS]; };
   signalHsmm = derive2 { name="signalHsmm"; version="1.5"; sha256="1d4v6cbvcbi8pb5zmn58s01h3jb0kv7yr7qvcnx4p2v82knvhik7"; depends=[Rcpp seqinr shiny]; };
@@ -16255,6 +16580,7 @@ in with self; {
   signmedian_test = derive2 { name="signmedian.test"; version="1.5.1"; sha256="05n7a4h2bibv2r64cqschzhjnm204m2lm1yrwxvx17cwdp847hkm"; depends=[]; };
   signnet = derive2 { name="signnet"; version="0.7.1"; sha256="06mzscjaay0wib8mmnbcacj8zy84nx9p00i8gcpr4nklxfarib3w"; depends=[igraph Matrix Rcpp RcppArmadillo]; };
   signs = derive2 { name="signs"; version="0.1.2"; sha256="0dzf5pydvs93rvj6idw9l2asv1bxwz20df7qis2db84hfww2kc6m"; depends=[rlang scales]; };
+  sigora = derive2 { name="sigora"; version="3.1.1"; sha256="11abbvynyhbb7y7zndbkivb13yxj8l86nrn361mfv495g1d3ba8s"; depends=[slam]; };
   sigr = derive2 { name="sigr"; version="1.1.4"; sha256="1gx1dmdi8wjqlhp7a9cp915z0n5hl9xsv2hwzdmk0ijbjgipn7fh"; depends=[wrapr]; };
   siland = derive2 { name="siland"; version="2.0.5"; sha256="1896zlfzps35mvhzbd4invpdp39cxhs13lklx56k35l4v2zvh24g"; depends=[fasterize ggforce ggplot2 lme4 raster reshape2 sf sp]; };
   silicate = derive2 { name="silicate"; version="0.7.0"; sha256="1x8l6wvymx3scwzym9h6b5wgprjinzp6m2cs6r7xn9aqcr39499a"; depends=[crsmeta decido dplyr gibble gridBase magrittr purrr rlang tibble unjoin]; };
@@ -16267,6 +16593,7 @@ in with self; {
   simITS = derive2 { name="simITS"; version="0.1.1"; sha256="0b62lvknfqli6ki4w360b1ih9nsm6pinaqskgra6vl2nzsim3sal"; depends=[dplyr rlang]; };
   simMP = derive2 { name="simMP"; version="0.17.3"; sha256="1pzg79dd08ds3pfzxnk9h95gaibicv00mnm0jb4i8v5is4gzrdhr"; depends=[Biostrings BSgenome doParallel foreach GenomeInfoDb GenomicRanges IRanges XVector]; };
   simMSM = derive2 { name="simMSM"; version="1.1.41"; sha256="04icijrdc269b4hwbdl3qz2lyxcxx6z63y2wbak1884spn6bzbs8"; depends=[mvna survival]; };
+  simMetric = derive2 { name="simMetric"; version="0.1.0"; sha256="070va0k6inhpvzvg6zakf1w92r0547c4xhlm9vx8k2rqz1snlsd4"; depends=[assertthat dplyr purrr]; };
   simPATHy = derive2 { name="simPATHy"; version="0.6"; sha256="0xiqcrdnn7pcbhykkjabfym6hqq9hrnjigav8nshs143s9wflw1q"; depends=[ggm graph gRbase htmlwidgets igraph mvtnorm qpgraph R_utils shiny shinydashboard]; };
   simPH = derive2 { name="simPH"; version="1.3.13"; sha256="086060f78f1dmpa6cyhx160blchckplw04gs6997f1hwzswci2l2"; depends=[data_table dplyr ggplot2 gridExtra lazyeval MASS mgcv quadprog stringr survival]; };
   simPop = derive2 { name="simPop"; version="1.2.1"; sha256="1rpjyffs7s40wlyv77ha6r282p08kp7x252nfiasbgxp5c7x17i0"; depends=[colorspace data_table doParallel e1071 EnvStats fitdistrplus foreach laeken lattice MASS nnet party plyr ranger Rcpp RcppArmadillo vcd VIM wrswoR]; };
@@ -16282,16 +16609,15 @@ in with self; {
   simex = derive2 { name="simex"; version="1.8"; sha256="1849wayygyqv0fh1i2qva7ggh2yah2nn0sgbcy9pldxrjq8q9iw0"; depends=[]; };
   simexaft = derive2 { name="simexaft"; version="1.0.7.1"; sha256="0n3n2g07pnpcqhbrjf78lbvqvc136g7jxlx6q27vnk96kwizh3f1"; depends=[mvtnorm survival]; };
   simfam = derive2 { name="simfam"; version="1.0.3"; sha256="0biz3dz1mrzj601p99h4k58p4ybh5f42qzbqivk8irz1wsbm6n4v"; depends=[Rcpp tibble]; };
-  simfinR = derive2 { name="simfinR"; version="0.2.3"; sha256="1swlgwmd5frz72i3vjv7am8s6vr6i7mv76j7hxffk3l7xmq7y53s"; depends=[crayon digest dplyr jsonlite lubridate magrittr memoise purrr]; };
   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]; };
@@ -16307,10 +16633,11 @@ in with self; {
   simplecolors = derive2 { name="simplecolors"; version="0.1.1"; sha256="1m0lrvkjqjqq7kynjl8j1cn7kqzfjx6gzgjpjk1gvar2g4ip0a8h"; depends=[colorspace dplyr forcats ggplot2 magrittr stringr]; };
   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.3"; sha256="1670x6fxqgdz471n12b9smfqrfpz282vcax1jsssficgw748lyw4"; 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]; };
+  simplermarkdown = derive2 { name="simplermarkdown"; version="0.0.4"; sha256="069pgx5m22rdqa21lyn5zqm9ym3g7w6z1d2wjwms8b1f2cp6266g"; depends=[rjson]; };
+  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=[]; };
@@ -16320,11 +16647,11 @@ 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]; };
-  simts = derive2 { name="simts"; version="0.1.1"; sha256="1b76grf7c14pgyhphplnil4lkzbwn3dih4pv4xdy721ih9n9llby"; depends=[broom dplyr magrittr purrr Rcpp RcppArmadillo robcor scales tidyr]; };
+  simts = derive2 { name="simts"; version="0.2.0"; sha256="0d88wv8jcvjq0pl904xiklp2zr80jrmhcgir48d8pikxck54607k"; depends=[broom dplyr magrittr purrr Rcpp RcppArmadillo robcor scales tidyr]; };
   simukde = derive2 { name="simukde"; version="1.3.0"; sha256="0mpj8pfrlagc97v53idsiypjcpbaj07y6klanph5lkiwzsgbz8sv"; depends=[ks MASS mvtnorm]; };
   simulariatools = derive2 { name="simulariatools"; version="2.4.0"; sha256="0p6yg9hxiz326ghvmc2miimv4y091z4dqgxc07zcp5miqf7b07ds"; depends=[dplyr ggplot2 lubridate openair png raster RColorBrewer reshape2 reticulate scales]; };
   simule = derive2 { name="simule"; version="1.3.0"; sha256="0jzyk1r2jfs7qivmy9x44c5bagy55jpy3hf0xpl9xnk409c3y2wd"; depends=[igraph lpSolve pcaPP]; };
@@ -16336,12 +16663,13 @@ in with self; {
   singleCellHaystack = derive2 { name="singleCellHaystack"; version="0.3.4"; sha256="08s31z15v4px3sfm2q2ips64qknahw04xhh6d5nmlsl65wbd143x"; depends=[ggplot2 Matrix reshape2]; };
   sinib = derive2 { name="sinib"; version="1.0.0"; sha256="08x2a5hn41vcsai3r36w1kgzka4ks53pkp6dxn90bsqh40ydb0db"; depends=[]; };
   siplab = derive2 { name="siplab"; version="1.5"; sha256="1gfncsqgwj7ljm7cik6kmcqynzppqlqlq1f9qpmvzfpf6fd1ccxp"; depends=[spatstat]; };
+  siqr = derive2 { name="siqr"; version="0.8.1"; sha256="0yyb4abd7lghsb1qrw61zvbll3hs4dsldkvs3syrabwhxady8w43"; depends=[KernSmooth quantreg]; };
   sirad = derive2 { name="sirad"; version="2.3-3"; sha256="0vhmk2fmq4797gj6c8803zw1ipmdxfvdfgi2bygzxbn5bqd4da2n"; depends=[raster zoo]; };
-  sirt = derive2 { name="sirt"; version="3.10-118"; sha256="01aklkw59pr88wmcbb0pf6hw8zclw7g68fgy6z8zv3sfic8b6fq3"; depends=[CDM pbv Rcpp RcppArmadillo TAM]; };
+  sirt = derive2 { name="sirt"; version="3.11-21"; sha256="06lazl1navs7cpm4ql19y00h4m8yijf2mrjpvr4rsh16b157rssb"; depends=[CDM pbv Rcpp RcppArmadillo TAM]; };
   sirus = derive2 { name="sirus"; version="0.3.2"; sha256="1j821vxy81x12yv229k334s8cwjl5fla2wvlhdz01rf688sv0hbs"; depends=[ggplot2 glmnet Matrix Rcpp RcppEigen ROCR]; };
   sisVIVE = derive2 { name="sisVIVE"; version="1.4"; sha256="1vh53irxgk8ahw52cdqbbm89dvmzyf54izg4lm8a3v92k5p6nzwz"; depends=[lars]; };
   sisal = derive2 { name="sisal"; version="0.48"; sha256="1fh35ndra58dryw222ng7ys3gx1izyk5789k30lyd4n8wqy6sjjd"; depends=[boot digest lattice mgcv R_matlab R_methodsS3]; };
-  sisireg = derive2 { name="sisireg"; version="0.9.1"; sha256="1vh2s25ksigqqqx5q0qjbn1226h7c4j1ky1121hf2m1n2j9pjqnm"; depends=[raster zoo]; };
+  sisireg = derive2 { name="sisireg"; version="1.0.0"; sha256="1gijdz5rllflrh7ndjm245ix8ngpqp5nhqjfpqsdyllwixlkchmv"; depends=[raster zoo]; };
   sismonr = derive2 { name="sismonr"; version="2.1.0"; sha256="1v4vfz6zc4f70fay8r9vaxj62pcp8gqnh4aczbqpym9874330vi9"; depends=[dplyr ggplot2 ggpubr igraph jsonlite magrittr rlang scales stringr tictoc tidyr truncnorm XR XRJulia]; };
   sistec = derive2 { name="sistec"; version="0.2.0"; sha256="0y43anin9vybiivf3jrxg19i9z4smmhhjvp52gci6icpn839kr8x"; depends=[dplyr openxlsx rlang shiny stringi stringr]; };
   sitar = derive2 { name="sitar"; version="1.2.0"; sha256="1dwj3xpi89i5pygw1rx38yi4spdis5bfivkjvwa1xnjcamw64ygg"; depends=[dplyr forcats ggplot2 glue magrittr nlme purrr rlang rsample tibble tidyr]; };
@@ -16353,10 +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.7"; sha256="17hcjb2j690qi2zrkwc14sr1wsid6dy6v7bfsf0bc94ql812k8g2"; depends=[dplyr insight magrittr purrr rlang sjlabelled tidyselect]; };
+  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.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=[]; };
@@ -16365,7 +16695,8 @@ in with self; {
   sketcher = derive2 { name="sketcher"; version="0.1.3"; sha256="011lx15whrdj5q5h33h9brkzbn2fnpm1nx9ip1v9xl5xfkbj7952"; depends=[downloader dplyr imager jpeg magrittr png readbitmap stringr]; };
   skewMLRM = derive2 { name="skewMLRM"; version="1.6"; sha256="16gr0haag0pqw7k7nvfqlc6s5i92lkpd0ghkgvlwgql8jzw7zmlk"; depends=[clusterGeneration doParallel foreach MASS matrixcalc moments mvtnorm]; };
   skewlmm = derive2 { name="skewlmm"; version="1.0.0"; sha256="1z7rz520vmjqmnak2zgxnnj7yhg7k2phclx3ilvkwzn9v8pd224j"; depends=[dplyr furrr future ggplot2 ggrepel haven moments mvtnorm nlme numDeriv optimParallel purrr]; };
-  skewt = derive2 { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; };
+  skewsamp = derive2 { name="skewsamp"; version="1.0.0"; sha256="1b41zjjnn7vphcrbvrvqx66jfd9fb8v22xmgql6wh26a2y81bman"; depends=[]; };
+  skewt = derive2 { name="skewt"; version="1.0"; sha256="1jaldnqgjzky2vr290vzpzdwsa5s92l977v6k2yhpzmmw4k4x3l7"; depends=[]; };
   skilljaR = derive2 { name="skilljaR"; version="0.0.1"; sha256="1qfb4irslbmidjq358bkhadr71armk4jps78xz5bm0kxbj2nljhq"; depends=[dplyr httr jsonlite magrittr purrr]; };
   skimr = derive2 { name="skimr"; version="2.1.3"; sha256="02q5l1l1a9m602dg55gbb1zd3ymh0gxy6r815dj8cp769i8hqla1"; depends=[cli crayon dplyr knitr magrittr purrr repr rlang stringr tibble tidyr tidyselect vctrs withr]; };
   sklarsomega = derive2 { name="sklarsomega"; version="3.0-1"; sha256="110j27wjj1z30b7y60lm6jdimb0x5yrj18qyb0m6m2fpsczg93w4"; depends=[dfoptim extraDistr hash LaplacesDemon Matrix mcmcse numDeriv spam]; };
@@ -16376,13 +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="0.3.3"; sha256="1ggvyx1nsfc1wwwzlqgvk6p5xxq6r6yx2rjv0290q7p06gc3i1ll"; depends=[lmom]; };
+  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.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]; };
@@ -16401,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]; };
@@ -16411,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]; };
@@ -16427,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.3"; sha256="0gxlfmlakwmz4l673qfxxnsp187gq50f4qrirh3x5zqrwwxrwc6z"; 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]; };
@@ -16449,7 +16781,7 @@ in with self; {
   smvgraph = derive2 { name="smvgraph"; version="0.1.2"; sha256="06pvnrhd3q913nxhk1icj11xkd1is3qi31b0kv6zbc0qkixn1ym7"; depends=[DescTools fmsb MASS shiny shinydashboard sortable]; };
   sn = derive2 { name="sn"; version="2.0.1"; sha256="1z58kwvq8igjm3biyyjdlhs2qq8hfjq5d9x0lzy80yk5hw08kcw6"; depends=[mnormt numDeriv quantreg]; };
   sna = derive2 { name="sna"; version="2.6"; sha256="0ai0v4538d30m4wks5s3lch1yfmx1ml0nnrz7ihs097lv586a09s"; depends=[network statnet_common]; };
-  snahelper = derive2 { name="snahelper"; version="1.3.0"; sha256="130pzmnvcqqgpi7h8fn61qrshq61h6w5i25shbng6bbw5kw4kchf"; depends=[colourpicker DT formatR ggplot2 ggraph graphlayouts igraph miniUI rstudioapi shiny]; };
+  snahelper = derive2 { name="snahelper"; version="1.4.0"; sha256="1anfjlp8yqqvw53nyqd96zlvh1pjm9z2yqkrfgmlbhs4m273x9bl"; depends=[colourpicker DT formatR ggplot2 ggraph graphlayouts igraph miniUI rstudioapi shiny]; };
   snakecase = derive2 { name="snakecase"; version="0.11.0"; sha256="1ky1x2cp5rd0ffd9m1fji9sq4z4jsrpxzg30brw8bb4ihfjj114r"; depends=[stringi stringr]; };
   snap = derive2 { name="snap"; version="1.1.0"; sha256="02bvs1r72y59p33a7yj1rqw75h08pvl794hdvvm15jzq1hy6j0ra"; depends=[CORElearn dbscan dplyr forcats ggplot2 keras purrr readr reticulate stringr tensorflow tictoc]; };
   snappier = derive2 { name="snappier"; version="0.1.0"; sha256="0334zwhqdl3lfw7rg8ql7z10qj8jjrm17yi9mgdcxnzaf3f1p859"; depends=[]; };
@@ -16470,9 +16802,8 @@ 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]; };
-  sobir = derive2 { name="sobir"; version="0.1.2"; sha256="0di9mk1c1jf8yr7jpmfm19w2w3p9lz1mkgrv3bmfyab83aghvbfp"; depends=[DescTools devtools dplyr ggplot2 raster rlang scales sp statmod stringr tidyr usethis]; };
   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]; };
   socceR = derive2 { name="socceR"; version="0.1.1"; sha256="1vd0r3vixavg1br2q3kfn3nvl7dw854vkcfwcvyw411k84ivb13y"; depends=[Rcpp]; };
@@ -16486,9 +16817,10 @@ 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.5"; sha256="1h5zmcv8vqq05svz3wnfrg2wszlzw285s6imd32ik10laidlz4yd"; depends=[aqp curl data_table DBI plyr raster reshape2 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-3"; sha256="0vnm54dy0h28r4wbb3rn66cii9j0fd900q70nlriwl43gcc33q3j"; 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=[]; };
   sokoban = derive2 { name="sokoban"; version="0.1.0"; sha256="07r2zv9rynvw06fpncrz3rsmkdy6z2pcvmm559bhs428kmnq2xib"; depends=[]; };
@@ -16498,14 +16830,14 @@ 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]; };
   someKfwer = derive2 { name="someKfwer"; version="1.2"; sha256="0widny5l04ja91fy16x4giwrabwqhx0fs3yl48pv9xh4zj6sx563"; depends=[]; };
   someMTP = derive2 { name="someMTP"; version="1.4.1.1"; sha256="197ajnnp92qh807a55z0i9z8nw0vmf5vvr216nxjwa2l9kw8c84k"; depends=[]; };
   somebm = derive2 { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; };
-  sommer = derive2 { name="sommer"; version="4.1.4"; sha256="1qx56h51ci7zr3idgcc74vfm5x9h5pakkik0hjmgrzv4bnyfsd58"; depends=[crayon lattice MASS Matrix Rcpp RcppArmadillo RcppProgress]; };
+  sommer = derive2 { name="sommer"; version="4.1.5"; sha256="12fqsxlrdmp4nkhq56bljgsr2jarvvg13ff8k6780zfraiw250gw"; depends=[crayon lattice MASS Matrix Rcpp RcppArmadillo RcppProgress]; };
   somplot = derive2 { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; };
   sonar = derive2 { name="sonar"; version="1.0.2"; sha256="1f0f5iqi3y9vnxyym14nm8dqxw0vcpnxmvvkx4sm612i4fclg1f9"; depends=[]; };
   sonicLength = derive2 { name="sonicLength"; version="1.4.7"; sha256="1wvdcjk641kcmflda0mibqr519qbqgb26mgwibjhm6pzgvwpy2dg"; depends=[]; };
@@ -16516,18 +16848,19 @@ in with self; {
   soql = derive2 { name="soql"; version="0.1.1"; sha256="12wvbxy9xx140b7mga4ma7hkg4q6kv549gkq15fnf4dn8q43x8nf"; depends=[]; };
   sorcering = derive2 { name="sorcering"; version="0.9.2"; sha256="1sh1c9pz2cll3jbijjcrd66kg64l2y2aaxrq1h93fvgznxm01ach"; depends=[mathjaxr Rcpp RcppArmadillo Rdpack]; };
   sorocs = derive2 { name="sorocs"; version="0.1.0"; sha256="0gy23rldhnlz6jmf9rdzl4mmfkn5gjcavq2jfcz6dgjafl3v9vgl"; depends=[MASS MCMCpack mvtnorm]; };
-  sortable = derive2 { name="sortable"; version="0.4.4"; sha256="15wn8xnvzawqxb97dlzd5v2qrxxizply6ah2ry0h6wrywdz2xppl"; depends=[assertthat ellipsis htmltools htmlwidgets jsonlite learnr shiny]; };
+  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]; };
   sourceR = derive2 { name="sourceR"; version="1.1.0"; sha256="09mikl6rkigx2bdnwqsgxwksz40lspq27hsrhlnfyz5yhs31ssda"; depends=[assertthat cluster dplyr gplots gtools R6 Rcpp reshape2 SPIn tensorA]; };
   sourcetools = derive2 { name="sourcetools"; version="0.1.7"; sha256="1jnjir0q2dj724f1mjm6p5h77yzyx6xcqy9r2g7gmcxkxw349627"; depends=[]; };
-  sovereign = derive2 { name="sovereign"; version="1.2.0"; sha256="06maaw366k0pfdmj09rj7l4chv6mynhs67mmr98gfwqhsabhqfxh"; depends=[broom dplyr furrr future ggplot2 gridExtra lmtest lubridate magrittr mclust purrr randomForest sandwich stringr strucchange tidyr xts zoo]; };
+  sovereign = derive2 { name="sovereign"; version="1.2.1"; sha256="1v5cchwia8v9h4fpb506v6nikp5k042axmryjmqrgimaly8dk9nv"; depends=[broom dplyr furrr future ggplot2 gridExtra lmtest lubridate magrittr mclust purrr randomForest sandwich stringr strucchange tidyr xts zoo]; };
   sp = derive2 { name="sp"; version="1.4-6"; sha256="09m2ddbrbs2aqnq5si42ipa0g1vbd0pxg4zbcx59is2047pv7sws"; depends=[lattice]; };
   sp23design = derive2 { name="sp23design"; version="0.9"; sha256="1ihvcld19cxflq2h93m9k9yaidhwixvbn46fqqc1p3wxzplmh8bs"; depends=[mvtnorm survival]; };
   spAddins = derive2 { name="spAddins"; version="0.2.0"; sha256="19wbcghcf0f9qvqy92jhsdcpmd9b4lkhxndvr71cyhzga539lh1n"; depends=[magrittr purrr rstudioapi stringr]; };
@@ -16543,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.1.3"; sha256="0xwqnhi7iw1gwgggxaaahrnc8d5cdr8cjz3jj5v835lc0jg0wxcf"; 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]; };
-  spacesRGB = derive2 { name="spacesRGB"; version="1.3-0"; sha256="1flnvrmq0hdrhxmn5djbhc6fanqhmr1i3q5ik7qcxsb0jvnyincd"; depends=[]; };
+  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=[]; };
-  spamtree = derive2 { name="spamtree"; version="0.2.1"; sha256="06j0qjhdjgpbad82gq6zgp6vbh6rdpnbpnkj0836lmi1180x7fay"; depends=[dplyr FNN magrittr Rcpp RcppArmadillo rlang tibble]; };
+  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.2"; sha256="0p85cak4mg5ljq3pm1w1j89kshl4x1617q7zcvfbym4i50dfnhfv"; 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]; };
@@ -16607,47 +16940,50 @@ 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]; };
-  spatialwarnings = derive2 { name="spatialwarnings"; version="3.0.0"; sha256="1m6dbfngnbzqlbdvm1qvlb743zypf4cqczihdhbhny9mfgmwds5i"; depends=[future future_apply ggplot2 gsl plyr Rcpp RcppArmadillo segmented]; };
+  spatialwarnings = derive2 { name="spatialwarnings"; version="3.0.2"; sha256="1yng9sxhqm04vliwz4jifqsqhvg1nk0icb6j21kp4cfwz81q2s2a"; depends=[future future_apply ggplot2 gsl plyr Rcpp RcppArmadillo segmented]; };
   spatialwidget = derive2 { name="spatialwidget"; version="0.2.3"; sha256="0j0v0cyqndlg9p7g03gp1br9b2i3p50abzpw67k3cawm96a87crj"; depends=[BH colourvalues geojsonsf geometries jsonify rapidjsonr Rcpp sfheaders]; };
   spatsoc = derive2 { name="spatsoc"; version="0.1.16"; sha256="1pyw6606kwskgcfnzvgzvy8n4i9s3mmn1789d1lhk04h14r33fns"; depends=[adehabitatHR data_table igraph rgeos sp]; };
-  spatstat = derive2 { name="spatstat"; version="2.2-0"; sha256="0lz3sidn05xjswxaxhagal6jj5hra6aya0azxybjw7mgspl903wg"; depends=[spatstat_core spatstat_data spatstat_geom spatstat_linnet spatstat_utils]; };
+  spatstat = derive2 { name="spatstat"; version="2.3-0"; sha256="01jckks3j39854mhsarzyzn4rj82h1xrnyd2b6fyzizj48vl80ns"; depends=[spatstat_core spatstat_data spatstat_geom spatstat_linnet spatstat_utils]; };
   spatstat_Knet = derive2 { name="spatstat.Knet"; version="2.0-0"; sha256="1w9ag7v18mvy4dl1gz2w8xjhw9n2sf9zycqz3mraajis831c76ix"; depends=[Matrix spatstat_core spatstat_data spatstat_geom spatstat_linnet spatstat_sparse spatstat_utils]; };
   spatstat_core = derive2 { name="spatstat.core"; version="2.3-2"; sha256="0g7nj8nf9ywhdbc5irxlry6kzq6bwwbkk9cp22kyv1wigycnskbz"; depends=[abind goftest Matrix mgcv nlme rpart spatstat_data spatstat_geom spatstat_sparse spatstat_utils tensor]; };
-  spatstat_data = derive2 { name="spatstat.data"; version="2.1-0"; sha256="0csmz5vjaxnznkbsfah8qd3v8p0y56jvis01ialxzvf71snl160v"; depends=[Matrix spatstat_utils]; };
-  spatstat_geom = derive2 { name="spatstat.geom"; version="2.3-0"; sha256="1iz9zi45nli5lf96ng6bqqbl4ix3zxzlfclkg4cdb9h98nj4c5vv"; depends=[deldir polyclip spatstat_data spatstat_utils]; };
+  spatstat_data = derive2 { name="spatstat.data"; version="2.1-2"; sha256="1r8s4xl25xr71h4g5qqi5y370h2ik3kz5fb4qyml2b6dwsl1ildv"; depends=[Matrix spatstat_utils]; };
+  spatstat_geom = derive2 { name="spatstat.geom"; version="2.3-1"; sha256="1h3ja45in7hnar2gwqp18jkz4rcqi99gllar6jqzlsvdbb85hgpj"; depends=[deldir polyclip spatstat_data spatstat_utils]; };
   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-0"; sha256="1yd2z629f7908xw9kyqiahk3qn9ajpl6qffbkv887zmq3p28kh7h"; depends=[Matrix spatstat_core spatstat_data spatstat_geom spatstat_sparse 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_sparse = derive2 { name="spatstat.sparse"; version="2.0-0"; sha256="1iqrpazb88s4w208adf2qgm4ajwz3kwqck65k9g5l28zw9jcxyr7"; depends=[abind Matrix spatstat_utils tensor]; };
-  spatstat_utils = derive2 { name="spatstat.utils"; version="2.2-0"; sha256="1aypccpv0zavxwmqzvlka8981n9km7ml3jbmxz21sql58997xn2s"; depends=[]; };
+  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]; };
   spbabel = derive2 { name="spbabel"; version="0.5.5"; sha256="0yfkz28nfvl3rm0bxljb3y19zhnx7pabxy81d835pbfmjq5vvp51"; depends=[dplyr rlang sp tibble]; };
   spc = derive2 { name="spc"; version="0.6.5"; sha256="1s9f67m3a52mzk5s6hh9jv80m721s0z43x2qj2d4ski2jwqw0iyr"; depends=[]; };
   spc4sts = derive2 { name="spc4sts"; version="0.5.4"; sha256="17pn6hn5x3isyn44xzvvwby2jiapa4gid0y4kirkcvxf6n7rdhjx"; depends=[gridExtra LS2Wstat rpart]; };
   spcadjust = derive2 { name="spcadjust"; version="1.1"; sha256="016i3zaaq800x4niz4fixa57nfj1m10sz5xskff4vq4v9fjn2sl0"; depends=[]; };
+  spcosa = derive2 { name="spcosa"; version="0.4-0"; sha256="0aszpwhf4ww6kb7r75i17kf6mqy9cx021b0w5dzd6185p57g6sxv"; depends=[ggplot2 rJava sp]; };
   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-12"; sha256="1dykhsk5djh62b3zcvpmvm3s87rn8ywzbwblhzivhln0y6pzk9hv"; 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]; };
@@ -16660,6 +16996,8 @@ in with self; {
   specr = derive2 { name="specr"; version="0.2.1"; sha256="17bc7f644g40zsfxv3sw542piqgg09w3m3q14jgrifc8sw0ljvdf"; depends=[broom cowplot dplyr ggplot2 ggraph glue igraph lme4 magrittr purrr rlang tibble tidyr]; };
   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=[]; };
@@ -16679,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.1"; sha256="1xp6vacv1ynkvbjjrh0gksjj73yf632njzs4scfqga6yssjdib9x"; 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=[]; };
@@ -16710,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=[]; };
@@ -16725,14 +17062,14 @@ in with self; {
   spm = derive2 { name="spm"; version="1.2.1"; sha256="0gr6dc5xcz4y84iibkfi3gi84yij5vvazi1yrwd54jblf3fx32jr"; depends=[biomod2 gbm gstat psy randomForest ranger sp]; };
   spm12r = derive2 { name="spm12r"; version="2.8.3"; sha256="04bv4x7p2vv9n8zi5axpkcj13h6q08lc6qyd1czvxrpdmzsp40yb"; depends=[git2r matlabr neurobase oro_nifti R_utils]; };
   spm2 = derive2 { name="spm2"; version="1.1.0"; sha256="0aw6b4j0b452hf3vi47id3r4qnmngzzfa9cdh09rammj3mvmqb4i"; depends=[e1071 gbm glmnet gstat MASS nlme psy randomForest ranger sp spm]; };
-  spmoran = derive2 { name="spmoran"; version="0.2.2.1"; sha256="095c1wl3232gkaf4q02k6awsb4y031y0ss4345yw5xxxcrr5g7jj"; depends=[doParallel fields FNN foreach ggplot2 Matrix rARPACK RColorBrewer sp spdep vegan]; };
+  spmoran = derive2 { name="spmoran"; version="0.2.2.2"; sha256="1qfv6h3d7wgg3dwdq0vfhi7134y4qywkac4njxgmaic7cx0hifqi"; depends=[doParallel fields FNN foreach ggplot2 Matrix rARPACK RColorBrewer sp spdep vegan]; };
   spnet = derive2 { name="spnet"; version="0.9.1-0"; sha256="1fy0fpgz2k985brfqyza1l49y0w2j9z308n542pgmkzqsnsdscpw"; depends=[shape sp]; };
   spnn = derive2 { name="spnn"; version="1.2.1"; sha256="1yj89j7nynfyw1ikm6q5kdwdgiiwxx0aa6kgnri5wfnb4l0356l7"; depends=[MASS Rcpp RcppArmadillo]; };
   spocc = derive2 { name="spocc"; version="1.2.0"; sha256="114xlwd9200ysgkcwxgjc5awj50j4k4v1lgbdjzs7gv9bvdlbb2b"; depends=[crul data_table jsonlite lubridate rbison rebird rgbif ridigbio rvertnet tibble wellknown whisker]; };
   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]; };
@@ -16741,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-16"; sha256="1js6bdvz1sw1rnaa4k2pbkk5sm6rm3xn0fgg1w1jxqws817wpyib"; 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]; };
@@ -16751,15 +17089,15 @@ in with self; {
   sprm = derive2 { name="sprm"; version="1.2.2"; sha256="0iyijkjnyz4yx2cmazlnhkk0f5ls0c2q2aikwlzl13w6zbj040a8"; depends=[cvTools ggplot2 pcaPP reshape2 robustbase]; };
   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.1"; sha256="1vrhdpmm1da793qvj1k4rda9ssg4k094j2vy9dxhz2zcnillqpl9"; depends=[]; };
-  spsComps = derive2 { name="spsComps"; version="0.3.1"; sha256="0wkbxpav823kczqqk8kmax21zpi99bx2gisnqmmqvbb7lsjdlram"; depends=[assertthat crayon glue htmltools magrittr R6 shiny shinyAce shinytoastr stringr]; };
+  sps = derive2 { name="sps"; version="0.1.2"; sha256="1z5r7fmysv9qw8rjrw469mabrdj6pn70y726rqn3ys0kjiz3h47m"; depends=[]; };
+  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.0.1"; sha256="1ly96f7fcz4gxdxx1n71ak5vpanah2bpck3h0d2mvpyqz19ajris"; depends=[boot crossdes deldir lme4 MASS 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]; };
@@ -16771,14 +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]; };
-  sqp = derive2 { name="sqp"; version="0.5"; sha256="0l01zwcryv5bmzmd98gj0m5ip8nvr8lziq1awvfif1bzwvvd2kzx"; depends=[Matrix Rcpp RcppArmadillo RcppEigen Rdpack]; };
+  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.0"; sha256="0bsiwhp6c8kv2kgdpwiafydgr1cia5y3c786qgil1b9wnswzxnj5"; depends=[caret dplyr gamlss gamlss_dist 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=[]; };
@@ -16794,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]; };
@@ -16811,7 +17149,7 @@ in with self; {
   ssr = derive2 { name="ssr"; version="0.1.1"; sha256="0l2f8lsmwv2f4y708g32jy2s4jj0j686830qp4a5ailyrdbbz1ix"; depends=[caret e1071]; };
   ssrm_logmer = derive2 { name="ssrm.logmer"; version="0.1"; sha256="1i9rrsixl3swd04w1gf9gf1r2wb9nkvwhc8ld4bx4zxzm1031f67"; depends=[sfsmisc statmod]; };
   ssrn = derive2 { name="ssrn"; version="0.1.0"; sha256="1s78wiyn6ff6f55cp5knhram6m61cbckdnzm9q6imrjwngjci6cx"; depends=[dplyr magrittr purrr rlang stringr tibble tidyr]; };
-  sss = derive2 { name="sss"; version="0.1-0"; sha256="1qg56g60h8c52l8lpxihxsdgnqkxiag1mzh3p388r9hhff7g3g0k"; depends=[assertthat xml2]; };
+  sss = derive2 { name="sss"; version="0.2.0"; sha256="1rgss015zbja1gpcxrq76nhssb5kh84lndi0xkn3yb02g2b2qlgi"; depends=[assertthat xml2]; };
   sssc = derive2 { name="sssc"; version="1.0.0"; sha256="00m5zfd3jnbxa8x76v4pfyl4qdfq90n8rqx4hngany0ka1z5g7m6"; depends=[changepoint e1071 ggplot2 VGAM]; };
   sstModel = derive2 { name="sstModel"; version="1.0.0"; sha256="04dvj6dbxidn1df2rslppl2pw2ql09rag39jrzdbnv6z20szbbd9"; depends=[data_table MASS openxlsx readxl shiny shinydashboard]; };
   ssvd = derive2 { name="ssvd"; version="1.0"; sha256="1fdpr38qi59ijrz16jixn6ii1hvmxfjirjqfcp7dxrqz9nx8x0sk"; depends=[]; };
@@ -16820,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]; };
@@ -16831,39 +17169,38 @@ 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]; };
-  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]; };
+  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=[]; };
   staggered = derive2 { name="staggered"; version="1.1"; sha256="0z9358qbgn637j8iz5qwr4nyrlvi9w85l325vxpc61mcwksx5ip8"; depends=[coop dplyr magrittr MASS purrr Rcpp RcppEigen reshape2 tidyr]; };
   stam = derive2 { name="stam"; version="0.0-1"; sha256="1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv"; depends=[np sp]; };
   stampr = derive2 { name="stampr"; version="0.2"; sha256="10mc71kgnw5712q2gvzd4bmjaw1879r7s599hfsjap21idqb2k2m"; depends=[deldir maptools raster rgdal rgeos sp spdep]; };
-  stan4bart = derive2 { name="stan4bart"; version="0.0-1"; sha256="0a4ajv00zx15ncw79biniq7y9x3fql130pybii07l7kp3m7ccgjj"; depends=[BH dbarts Matrix Rcpp RcppEigen RcppParallel]; };
+  stan4bart = derive2 { name="stan4bart"; version="0.0-2"; sha256="0262z83rqwf38z2qrvngdz6wmnrz48w4ijv7wg81w1b1lp807y5s"; depends=[BH dbarts Matrix Rcpp RcppEigen RcppParallel]; };
   standardize = derive2 { name="standardize"; version="0.2.2"; sha256="008nz9vf08qxwdsn373yzpmsw5lhbm6mpm6dlwyys58wq0bdvh28"; depends=[lme4 MASS stringr]; };
   standartox = derive2 { name="standartox"; version="0.0.1"; sha256="1b5w66x4v8hfxzp3ahw97my6m0rcn22iv5nhgm2wzdq0if0cq8py"; depends=[curl data_table fst httr jsonlite]; };
-  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]; };
   stapler = derive2 { name="stapler"; version="0.7.1"; sha256="1bzhahn72fzm2bjpis76hphv8whnkp2jq8bm1qldadhng4z1nsak"; depends=[matrixStats RNifti]; };
   staplr = derive2 { name="staplr"; version="3.1.1"; sha256="0g3a13qndi4w35wq9bm0gb2b8v9svih9gbj5ymggqlcwz1dzywga"; depends=[assertthat glue rJava stringr XML]; };
   stargazer = derive2 { name="stargazer"; version="5.2.2"; sha256="1pij76r60hkjlvxw6zw1v7gkib81smiqmjq7mwszn6xclq9lmsvh"; depends=[]; };
   starm = derive2 { name="starm"; version="0.1.0"; sha256="0y580c6inmfix6agwd5nr340l3hjk2xxs95s468j5pghpjpb8rmv"; depends=[Matrix]; };
   starma = derive2 { name="starma"; version="1.3"; sha256="07r0kyabhgbm2v39fcrw0qhxcxj9a9cb45g9chzcnn9qmvramcwx"; depends=[ggplot2 Rcpp RcppArmadillo scales]; };
   starnet = derive2 { name="starnet"; version="0.0.6"; sha256="0gbg8svyj4nh846q7986ap7jjry599kb1348k9lifz19kvyr4rn4"; depends=[cornet glmnet Matrix survival]; };
-  stars = derive2 { name="stars"; version="0.5-4"; sha256="1h5fway2fk637mkglw0h3ajiyyx8saqcapg42xzsiwbk8lnaf9f4"; depends=[abind classInt lwgeom rlang sf units]; };
+  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]; };
   statGraph = derive2 { name="statGraph"; version="0.5.0"; sha256="0fd7jsngd8gihivnir3y58961kvbdd5g1m5gm1da91984qs7r9q1"; depends=[cluster doParallel foreach igraph MASS rARPACK]; };
   statVisual = derive2 { name="statVisual"; version="1.2.1"; sha256="1cc9p9g8lzn0lgh793r977yhqbk89l74m443gnznjlfml69bfb21"; depends=[Biobase dplyr factoextra forestplot gbm GGally ggdendro ggfortify ggplot2 ggrepel glmnet gridExtra knitr limma magrittr pheatmap pROC pvca randomForest RColorBrewer reshape2 rmarkdown rpart_plot tibble tidyverse]; };
   statar = derive2 { name="statar"; version="0.7.3"; sha256="17zg1g0ndsysrqj0alpx0sgmc69d3jkqr543l8m758mnm9bw83c9"; depends=[data_table dplyr ggplot2 lazyeval matrixStats rlang stringr tidyselect]; };
-  statcanR = derive2 { name="statcanR"; version="0.2.1"; sha256="12b78n88dmpk6lfw83dwhnvx98wjry4ykyamgbb96l2mrpwbabng"; depends=[curl data_table]; };
+  statcanR = derive2 { name="statcanR"; version="0.2.3"; sha256="0yggj9ygnskbwn9flrhcgqahgbqg314dam41mi1s3hq1mjf77dyg"; depends=[curl data_table httr readr tibble]; };
   statcheck = derive2 { name="statcheck"; version="1.3.0"; sha256="0ivybdcrymlsfv6pg6p5bv70qdvgxf2vgp0kf4r0pf2fcvav1mcp"; depends=[ggplot2 plyr rmarkdown]; };
   statcomp = derive2 { name="statcomp"; version="0.1.0"; sha256="0793k14rxiwq98zlrbsmbbkjn5z2ny5c90pia7cx3s77a3wdc96l"; depends=[Matrix zoo]; };
   statebins = derive2 { name="statebins"; version="1.4.0"; sha256="1v67da939qg672aqni2i37w70pgasgx6r55b4fjjc3zzviq8gipx"; depends=[ggplot2 scales]; };
@@ -16872,7 +17209,7 @@ in with self; {
   statgenGWAS = derive2 { name="statgenGWAS"; version="1.0.7"; sha256="1y740vpymxnyzdizayp6nqhwni363cgsf0323m0vxb76kd78jiid"; depends=[data_table ggplot2 Rcpp RcppArmadillo sommer]; };
   statgenGxE = derive2 { name="statgenGxE"; version="1.0.4"; sha256="12v9a1lg12pmhzk28c929j1vhhh5x9gzb6ia9izvji2zjx2yigk4"; depends=[emmeans ggplot2 gridExtra knitr lme4 statgenSTA xtable]; };
   statgenHTP = derive2 { name="statgenHTP"; version="1.0.5"; sha256="1lclxc4al3h7z5cbjhmm6p1hr22gysz16hlvfams37czbc2prlha"; depends=[animation factoextra ggforce ggnewscale ggplot2 gridExtra locfit lubridate reshape2 scales SpATS]; };
-  statgenIBD = derive2 { name="statgenIBD"; version="1.0.1"; sha256="0a4w7g0bhfqr8r8n1sv0vh6pji9drjwkd5qy01w6kap60yf7qh3l"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  statgenIBD = derive2 { name="statgenIBD"; version="1.0.2"; sha256="01pk5miwvs3mkx3dqj8pw9f38bikjk3vdih4h0gz2f7qav1kfyy9"; depends=[ggplot2 Rcpp RcppArmadillo]; };
   statgenSTA = derive2 { name="statgenSTA"; version="1.0.8"; sha256="1734gqcrwkxl3672pf147qh5n8lid4zk81zfanhqi6z83syw5ha5"; depends=[emmeans ggplot2 ggrepel gridExtra knitr lme4 mapproj maps qtl scales SpATS xtable]; };
   stationaRy = derive2 { name="stationaRy"; version="0.5.1"; sha256="1620fdlybn3hr96yngnp802imr9b7n90835lyyd86r2wn6psdzvl"; depends=[downloader dplyr lubridate lutz magrittr progress readr stringr tidyr]; };
   stationery = derive2 { name="stationery"; version="1.0"; sha256="07kwlmambjv7njgpw1dhsm2zrv1lk6xj2k6a6psysjllrf5zz8ga"; depends=[knitr kutils rmarkdown]; };
@@ -16886,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]; };
@@ -16903,6 +17240,7 @@ in with self; {
   stepPenal = derive2 { name="stepPenal"; version="0.2"; sha256="08gizl6c606ibbv7x2rdvfw37rghkrprwszha79yngkzpajw8gql"; depends=[caret dfoptim glmnet mvtnorm pROC]; };
   stepPlr = derive2 { name="stepPlr"; version="0.93"; sha256="1i54nyz8z5vq3mzfh6h2vd1q0hsdazc4mhrj9ad0zdvn0qnz61lv"; depends=[]; };
   stepR = derive2 { name="stepR"; version="2.1-1"; sha256="0mz88d7214g59nvr40c4gf4grq9skjqqlfgydbdzmc4l315nr4zv"; depends=[digest lowpassFilter R_cache Rcpp]; };
+  stepgbm = derive2 { name="stepgbm"; version="1.0.0"; sha256="1psjnxc7dadbm1405wm3vgsf9m2pn8bm82rn9md3cxhp33jqh1bx"; depends=[gbm spm steprf]; };
   stepjglm = derive2 { name="stepjglm"; version="0.0.1"; sha256="0xsb0wg7ka4ska2jkzaic7kqdzj2fkhpf5sxr3a116f2najj9ax2"; depends=[rsq]; };
   stepp = derive2 { name="stepp"; version="3.2.2"; sha256="1iyj1f9gzn44xllhm9y1j0ynfz4q48d2l8ic4mjvzc3p4z8cnpmz"; depends=[car rstudioapi scales survival]; };
   steprf = derive2 { name="steprf"; version="1.0.0"; sha256="0v3bh8rc5pxwfv9dfpv4fmi816fayhjca14wz30b54d3zjvbjxqk"; depends=[psy randomForest spm spm2]; };
@@ -16938,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]; };
@@ -16956,6 +17294,7 @@ in with self; {
   stratbr = derive2 { name="stratbr"; version="1.2"; sha256="15vkymmc61yz9szhfhc5663hfyqvh499ahwhr9mv1lhv5bikk0kb"; depends=[Rglpk snowfall stratification]; };
   strategicplayers = derive2 { name="strategicplayers"; version="1.0"; sha256="19vijrlzawd701vvk9ig7yhzbirh39dxxcwfz8ywwvxxiaky5x55"; depends=[sna]; };
   stratification = derive2 { name="stratification"; version="2.2-6"; sha256="1jlks3g8wpqlpci6v0ryyv93agiabdiklmk6ij0pc5icrfiynbhw"; depends=[]; };
+  stratifyR = derive2 { name="stratifyR"; version="1.0-3"; sha256="1kbpsyhx081rqr7q7gyjw377zlvvravsslpnykl2d16nap0rg0sq"; depends=[actuar fitdistrplus mc2d triangle zipfR]; };
   stratvns = derive2 { name="stratvns"; version="1.1"; sha256="01s3p9mml04pqfd7fydkmqdk0qf5jmzz3b3q3x5vavlma6fv8nwi"; depends=[MultAlloc partitions purrr]; };
   straweib = derive2 { name="straweib"; version="1.1"; sha256="0hi59p580yg6rj72grq4jx6grv7lmpi2cimp0rbxhkjpj6i1hav9"; depends=[]; };
   strawr = derive2 { name="strawr"; version="0.0.9"; sha256="1g85hxq3f28di0787ww4d0ai3znsp9d96sp8bwiygs6ff9jx4wkz"; depends=[Rcpp]; };
@@ -16972,7 +17311,7 @@ in with self; {
   string2path = derive2 { name="string2path"; version="0.0.4"; sha256="1vxrl60ld7iy9fhy4jz954n9ywq6g0glm2wci9262c827jwd8pyb"; depends=[tibble]; };
   stringb = derive2 { name="stringb"; version="0.1.17"; sha256="0bfwwbg64nzxrx30cndqvdlhanjkx6875lg5dzm9cbwvwg2wbxcn"; depends=[backports]; };
   stringdist = derive2 { name="stringdist"; version="0.9.8"; sha256="1fv1hbdlm8qwx57b2aj50mw0say5k48awzavx65mfk67qp6ddk7g"; depends=[]; };
-  stringfish = derive2 { name="stringfish"; version="0.15.4"; sha256="1n67y9vgv8vb8qd091d1wm5sgbalcm2avh2fz0hd3mmglpkr83wf"; depends=[Rcpp RcppParallel]; };
+  stringfish = derive2 { name="stringfish"; version="0.15.5"; sha256="0ac17wl0fcpmipbvhhg5nyccg055671fnlxvnjd5l3kilx313wlx"; depends=[Rcpp RcppParallel]; };
   stringformattr = derive2 { name="stringformattr"; version="0.1.2"; sha256="0x56k30clj5ajk0qg5sr8b9l0asz6ldivwr1ddy1vp1djliih1fx"; depends=[stringr]; };
   stringi = derive2 { name="stringi"; version="1.7.6"; sha256="1v0rj5svgvn1mlf69yzm6jm00fxmrsxazs9xymzrf0apxjpxb8qf"; depends=[]; };
   stringr = derive2 { name="stringr"; version="1.4.0"; sha256="1p9ip7p87gbbg4s6d3d392svvzz2b5dqdq2c8ilgvn4s78nlsq47"; depends=[glue magrittr stringi]; };
@@ -16980,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]; };
@@ -17002,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]; };
@@ -17023,16 +17363,17 @@ in with self; {
   sunburstR = derive2 { name="sunburstR"; version="2.1.6"; sha256="1a8a6scfmr74qfi86nrpli6abhfri60cd6sdb40ywrh9qpshkl81"; depends=[d3r dplyr htmltools htmlwidgets]; };
   suncalc = derive2 { name="suncalc"; version="0.5.0"; sha256="1chkl297km313m89h9mbp7vnpz188fhzz5dn8x5cjkqy0mm6c0qc"; depends=[data_table lubridate magrittr]; };
   sundialr = derive2 { name="sundialr"; version="0.1.4.1"; sha256="1ln8zbihxfa7dnbhrm254l8qzdw16fhva58p5bd0p8j43grq6qrv"; depends=[Rcpp RcppArmadillo]; };
+  supc = derive2 { name="supc"; version="0.2.6.2"; sha256="0gvrmhvjkfbgi0ivwa8ri69rxj4kqn3xqrc2d5rfrdfm9jmqb56h"; depends=[BH Rcpp]; };
   supclust = derive2 { name="supclust"; version="1.1-1"; sha256="1iar957gdarp1m677fjmph0ll8zsqiy2bzkzx03gv37k56w1acpd"; depends=[class rpart]; };
   supcluster = derive2 { name="supcluster"; version="1.0"; sha256="1rkd4bpzzvzbmqaj907pqv53hxcgic0jklbsf5iayf0ra768b5w6"; depends=[gtools mvtnorm]; };
   superMDS = derive2 { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; };
-  superb = derive2 { name="superb"; version="0.9.7.7"; sha256="1vl5r6k5gmrwkxk7x6db42vnlgzg7ilpjigq2l66ij9jnbclnbdg"; depends=[foreign ggplot2 lsr MASS plyr psych Rdpack shiny shinyBS stringr]; };
+  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.4.4"; sha256="122srb8mbpgywcl8ggv33dlpl64489r3r3mcsrpvly29c2i7qx4f"; depends=[backports cli ggplot2 magrittr pillar purrr rlang stringr tibble vctrs]; };
+  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]; };
@@ -17073,10 +17414,11 @@ in with self; {
   survSNP = derive2 { name="survSNP"; version="0.25"; sha256="0awj4vh7sdal873bkp7f0ff4r87idgdn5cby405flvivlxv83i9z"; depends=[foreach lattice Rcpp survival xtable]; };
   survSens = derive2 { name="survSens"; version="0.1.0"; sha256="1s4s5l31yps93s2zdxpidkdg8kmmwj6vb3zfndmnxvc07arwhvbv"; depends=[directlabels ggplot2 survival]; };
   survSpearman = derive2 { name="survSpearman"; version="1.0.0"; sha256="06xric3fwv2rdrbapsawrg288s2sflzrbx1a4yc7lzxzxbsbs619"; depends=[]; };
-  surveil = derive2 { name="surveil"; version="0.1.0"; sha256="1mscqz25scpvl1a387883yvbjs4qlk12idasb5zv76rqfgspsdrz"; depends=[BH dplyr ggdist ggplot2 gridExtra Rcpp RcppEigen RcppParallel rlang rstan rstantools scales StanHeaders tidybayes tidyr]; };
+  surveil = derive2 { name="surveil"; version="0.1.1"; sha256="135y4qdkwpb8dv63bybspdynfr0d3sqz0ayjm82nhy3flah2v5ka"; depends=[BH dplyr ggdist ggplot2 gridExtra Rcpp RcppEigen RcppParallel rlang rstan rstantools scales StanHeaders tidybayes tidyr]; };
   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=[]; };
@@ -17085,6 +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-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]; };
@@ -17092,10 +17435,10 @@ 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.7"; sha256="1873m3lhrmy36fbg3rdnkvqmgyxbf07vb3p54p8xnggyllf94q5b"; depends=[eha statmod]; };
+  survsim = derive2 { name="survsim"; version="1.1.8"; sha256="0gv54bd94a6vdz8li0j409qv7r0h4d681l1p9hj9ilzk7y5bfm70"; depends=[eha statmod]; };
   survtmle = derive2 { name="survtmle"; version="1.1.1"; sha256="1l13rvwq4915ij2a55fxdj3b3wkgjca1fbqzcgkjlpzkcn97k1nj"; depends=[dplyr ggplot2 ggsci Matrix plyr speedglm stringr SuperLearner tidyr]; };
   survxai = derive2 { name="survxai"; version="0.2.2"; sha256="09ig561754kjzpay2hy3n62zlk0bgwkjy8vnslrr428r8m1lj0qr"; depends=[breakDown ggplot2 pec prodlim scales survival survminer]; };
   susieR = derive2 { name="susieR"; version="0.11.92"; sha256="1wlw41vslbgf6dmppn2hv2mqrnnza5091qzjl0qjaydsp97h5b3b"; depends=[crayon ggplot2 Matrix matrixStats mixsqp reshape]; };
@@ -17112,14 +17455,14 @@ 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]; };
-  svgtools = derive2 { name="svgtools"; version="1.0.3"; sha256="1s9bqvzjh6rkc61lqgwjpg35vrd1rrnxvcfgqgh0qbs92s1fbnx8"; depends=[magick rsvg stringr xml2]; };
+  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]; };
   svplots = derive2 { name="svplots"; version="0.1.0"; sha256="0fa3mnsdaz85dy7rr6w454z516simj1zrf08sfbm05rp6jr3c7ws"; depends=[ggplot2]; };
@@ -17135,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]; };
@@ -17193,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.2"; sha256="01lmjhzcchps8fm15wiq7gm3mf0s99fqzghbwarsldj7ywvz7adh"; 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]; };
@@ -17203,7 +17546,7 @@ in with self; {
   taber = derive2 { name="taber"; version="0.1.2"; sha256="0cib8fsib4q8nf18vcpailvkplf57cm8fshb09clxm3zcp8j9c17"; depends=[dplyr magrittr]; };
   tabit = derive2 { name="tabit"; version="0.2.1"; sha256="0jy95jpbzj4rgaxmm6ki9wr0cl1w13pygq3yavdccjr82mayfpvc"; depends=[]; };
   tablaxlsx = derive2 { name="tablaxlsx"; version="1.2.4"; sha256="19yg8m264f1hjsi8b7zxjpbvlaz2jrxj2bd9nv95g52dvlysg4nk"; depends=[openxlsx]; };
-  table_express = derive2 { name="table.express"; version="0.3.1"; sha256="00f5xi2dkx1h0mv8ld3ds15w30d9vgvmjrldg43z7zskprshqsxx"; depends=[data_table dplyr magrittr R6 rlang tidyselect]; };
+  table_express = derive2 { name="table.express"; version="0.3.3"; sha256="1p8qq00b6nwcfzqi7mm1bg9w1iwmaqq1imh5p032ji76jxhnm3x1"; depends=[data_table dplyr magrittr R6 rlang tidyselect]; };
   table_glue = derive2 { name="table.glue"; version="0.0.2"; sha256="01yskmc604jdy6givddm0nhr9ylf7p68v2xz1p2mqylhws1lszph"; depends=[glue stringi]; };
   table1 = derive2 { name="table1"; version="1.4.2"; sha256="1cw85nj6w9fk66wjbyz08ya6g027cfj3brb0sx7ar0n7zyc8rhb4"; depends=[Formula htmltools knitr yaml]; };
   table1xls = derive2 { name="table1xls"; version="0.4.0"; sha256="0ixbshbp9hkcg12hj32vgb5bp0pj4rbc3i6g1xdg2zhqp7zanics"; depends=[XLConnect]; };
@@ -17215,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]; };
@@ -17234,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.3.2"; sha256="0nwxzda3nbb3m7hjyffdizdgjspzw9zmmz26gxzkgvgpz820g4p9"; depends=[digest 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.8.1"; sha256="09qdb9v2wzklva3g7d3cxhl2720nsxc9qn5j7v731mgb7k2l5qv9"; 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=[]; };
@@ -17255,14 +17598,15 @@ 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=[]; };
-  taylor = derive2 { name="taylor"; version="0.2.1"; sha256="07agh34c1l1jgcqfq1p7fpfzd2sihsfs16xqc2m8yy4qpij929xm"; depends=[crayon ggplot2 glue rlang scales tibble vctrs]; };
+  taylor = derive2 { name="taylor"; version="1.0.0"; sha256="0w1r3vy6c03h14cxmxf938rmgmxnnhdfavivp6749xxd2qdca997"; depends=[crayon ggplot2 glue lifecycle rlang scales tibble vctrs]; };
   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]; };
@@ -17275,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]; };
@@ -17292,8 +17636,8 @@ 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]; };
-  tempR = derive2 { name="tempR"; version="0.9.9.18"; sha256="1bhb521ycs70xi9mn40f7lfhff7qhnzm7pg2z8bbawl2zhgg51yw"; depends=[]; };
+  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]; };
   templates = derive2 { name="templates"; version="0.3.0"; sha256="0xnzj3cvhw1r7zfqaijbfdyclka61jwixcdh05a5z9qwgv0076sh"; depends=[dat magrittr stringr]; };
@@ -17313,21 +17657,21 @@ 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.0"; sha256="0jams1b0a2bvm3l8kybfgvqgarm98kvhzh6n68mrh7xnk5hxgyjx"; depends=[base64enc gdalUtils ggplot2 httr magick png raster sf units]; };
-  tesseract = derive2 { name="tesseract"; version="4.1.2"; sha256="1x29i48khn679x8xf246br12aa3ax96sh5x8m2ya96kz6m7zchjh"; 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=[]; };
   testcorr = derive2 { name="testcorr"; version="0.2.0"; sha256="0bqhf4p4csyd430240d8gh09axpz3h108fh78sbgpyqdhiq3d1fh"; depends=[forcats ggplot2 knitr reshape2 scales]; };
-  testdat = derive2 { name="testdat"; version="0.3.0"; sha256="1kpzhqpqfxkmn0xrb7w0zk7vanm7daxhr3qpnsj3s23mkhrx333k"; depends=[dplyr glue lifecycle rlang stringr testthat tidyselect]; };
+  testdat = derive2 { name="testdat"; version="0.4.0"; sha256="02xxbd9x7s1r89mbm28r6hbb8p8cw71qr28i4smw76ariq4nyzbp"; depends=[dplyr glue lifecycle rlang stringr testthat tidyselect]; };
   testequavar = derive2 { name="testequavar"; version="0.1.2"; sha256="12qfy53rkrasxphcfmch5bmdlvlybd27jfg3azsi3fg4zk4qgdw2"; depends=[]; };
   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.0"; sha256="11s98q0gm37z1cqzwvdm9pq26v0zbdq9vc5ssl1nsxhsi42v2577"; 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]; };
@@ -17337,8 +17681,8 @@ 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]; };
-  text2sdg = derive2 { name="text2sdg"; version="0.1.1"; sha256="1l7v8jn8pj5r9n60im7ihj9xnb7m02ay2qxichg9ssv47h8sl9fl"; depends=[corpustools dplyr ggplot2 magrittr stringr tibble tidyr]; };
+  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]; };
   textTinyR = derive2 { name="textTinyR"; version="1.1.7"; sha256="17c3vciqx2i0h0jkqsiva8kp6pwcrscwgyxf804sjvdbym0pwc7d"; depends=[BH data_table Matrix R6 Rcpp RcppArmadillo]; };
@@ -17372,10 +17716,10 @@ in with self; {
   tfdeploy = derive2 { name="tfdeploy"; version="0.6.1"; sha256="1vbxyvmzaafbwp1pmvzn16zyl4nz85787m79gn7iazh9zw9f7j34"; depends=[httpuv httr jsonlite magrittr reticulate swagger tensorflow]; };
   tfer = derive2 { name="tfer"; version="1.3"; sha256="1a5i9jccj39n61ixx8q2qq9ismr43jybp0vlvy6jda99r92zdhhl"; depends=[]; };
   tfestimators = derive2 { name="tfestimators"; version="1.9.2"; sha256="1gwj2xal5an0m9c2x1rxzsg07hgzjyxr4m08sd3salgyc2h3bi5g"; depends=[forge magrittr progress purrr reticulate rlang tensorflow tfruns tibble tidyr tidyselect]; };
-  tfhub = derive2 { name="tfhub"; version="0.8.0"; sha256="155kk42lzm19kjnlfvagqv5ckg2s0667d5r2ca5cabzaksil8223"; depends=[magrittr reticulate rstudioapi tensorflow]; };
+  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]; };
@@ -17389,17 +17733,18 @@ 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]; };
+  thewitcher = derive2 { name="thewitcher"; version="1.0.0"; sha256="1xwmmgraaqhwmar1782bm3s5xx6vq6bc5xkclmrzvvy09il1y10v"; depends=[dplyr ggplot2 gridExtra magrittr MASS readr tidyverse usethis]; };
   thgenetics = derive2 { name="thgenetics"; version="0.4-2"; sha256="1314gry3xs9v4jy13g08q16qy4ax3s0bc7d74gi0wbpkgdrk3lql"; depends=[]; };
   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.3"; sha256="02yay65h0pqj8q3vkqr1k5bspgl5j8ky88jxmyx5nlv62a21k0c2"; depends=[digest dipsaus freesurferformats gifti htmlwidgets jsonlite oro_nifti R6 shiny stringr xml2]; };
+  threeBrain = derive2 { name="threeBrain"; version="0.2.4"; sha256="1pgfphw9xwn23rjzylh3crw10sj86qc7ihh4kzpr758w1b84mfd2"; depends=[digest dipsaus freesurferformats gifti htmlwidgets jsonlite oro_nifti R6 shiny stringr xml2]; };
   threeboost = derive2 { name="threeboost"; version="1.1"; sha256="033vwn42ys81w6z90w5ii41xfihjilk61vdnsgap269l9l0c8gmn"; depends=[Matrix]; };
   threejs = derive2 { name="threejs"; version="0.3.3"; sha256="1711h351nzxfkbbdwvfzyhciyvi9c6wx3jq1g97lzcqgnb45kivn"; depends=[base64enc crosstalk htmlwidgets igraph]; };
   threesixtygiving = derive2 { name="threesixtygiving"; version="0.2.2"; sha256="0fnysgyq4gf23vqxwnzwb3f1cv1v1b2cb6z0kywb17mr57cbg7pv"; depends=[anytime curl dplyr httr janitor jsonlite purrr readr readxl tibble tidyr tidyselect]; };
@@ -17415,32 +17760,33 @@ 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]; };
-  tidyCpp = derive2 { name="tidyCpp"; version="0.0.5"; sha256="1ad10m831k0askr15yv6drmjh7rlg0py1ib8zmpsgj57v5s9wx3p"; depends=[]; };
-  tidyHeatmap = derive2 { name="tidyHeatmap"; version="1.3.1"; sha256="107bfyjakqfiimnwdyl2nhvx1fjpzv693akvi5l0cai6vjs007wj"; depends=[circlize ComplexHeatmap dendextend dplyr lifecycle magrittr purrr RColorBrewer rlang tibble tidyr viridis]; };
+  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.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]; };
-  tidycwl = derive2 { name="tidycwl"; version="1.0.5"; sha256="1ii23iamqmplsmnjnr6x9a1wjrbk82r0ywbskfifv26i66wyjqc3"; depends=[dplyr htmlwidgets jsonlite magrittr visNetwork webshot yaml]; };
+  tidycwl = derive2 { name="tidycwl"; version="1.0.6"; sha256="1i2z5dxrqz1l3366fmmgc4pfqnhm91nlc0m4y8mvzwgsgmf6dkxp"; depends=[dplyr htmlwidgets jsonlite magrittr visNetwork webshot yaml]; };
+  tidydatatutor = derive2 { name="tidydatatutor"; version="0.1.0"; sha256="0d7qr1j5ag6ikzq89xc7w9pvsbcp14r0x8ra9v4svx59bg31n94q"; depends=[clipr knitr rstudioapi]; };
   tidydice = derive2 { name="tidydice"; version="0.1.1"; sha256="1iagm3avd0ncnd2jrx1mgri96gcv3bs7vbn2qdq44idv222k9igd"; depends=[assertthat dplyr ggplot2 magrittr purrr tibble]; };
+  tidydr = derive2 { name="tidydr"; version="0.0.3"; sha256="1sdh0grqccn1l2i4ji5q1yc5iz4vyzdfmd6qy5ypsza6bnkpgg1d"; depends=[ggplot2 rlang]; };
   tidyestimate = derive2 { name="tidyestimate"; version="1.1.0"; sha256="0cwk6clah4sapbmfl5vvcv6di39azxb07z73pypnqx4gd32kk5q7"; depends=[dplyr ggplot2 ggrepel glue rlang]; };
   tidyfast = derive2 { name="tidyfast"; version="0.2.1"; sha256="1bfs2wma705nx1lpndq75ama5dr9kkg8hwpklb20csnccnfrlvf6"; depends=[data_table Rcpp]; };
-  tidyfst = derive2 { name="tidyfst"; version="1.0.0"; sha256="17msq5sxm4ng9x8kkndz4l29xj770640xhhphffrxxb5ans2b789"; depends=[data_table fst stringr]; };
+  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.7"; sha256="0g5k136bgcvs9hzach3wlf97npdgy52anx7m7xjg6ixgf9rvqw70"; 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]; };
@@ -17448,51 +17794,51 @@ in with self; {
   tidyhydat = derive2 { name="tidyhydat"; version="0.5.4"; sha256="0pkh6pd8rvjlang5zf15c2ca465shi46ks3mbzyymdy5sdj63hdf"; depends=[cli crayon DBI dbplyr dplyr httr lubridate rappdirs readr rlang RSQLite tidyr]; };
   tidyjson = derive2 { name="tidyjson"; version="0.3.1"; sha256="1rx5ncp20j9mhcziyqb0vgfq9061qylgvfwz27dsyz58r8fygwnq"; depends=[assertthat dplyr jsonlite magrittr purrr rlang tibble tidyr]; };
   tidylab = derive2 { name="tidylab"; version="4.1.1"; sha256="052wgx4dfbr806b9r0cfblkwaf1qnrlf5ngm1c029ggss3br7ki4"; depends=[cli crayon decorators dplyr microservices purrr rstudioapi tibble usethat]; };
-  tidylda = derive2 { name="tidylda"; version="0.0.1"; sha256="1w53zjz0ckn2qhgichak54j2i4anbhcb8mdg37f0kqiygavxdkmx"; depends=[dplyr generics gtools Matrix mvrsquared Rcpp RcppArmadillo RcppProgress RcppThread rlang stringr textmineR tibble tidyr tidytext]; };
+  tidylda = derive2 { name="tidylda"; version="0.0.2"; sha256="1zwy94gpr43dc6ld3rjmr5rkapmxji6kd3p363zl03wn5qf3wbws"; depends=[dplyr generics gtools Matrix mvrsquared Rcpp RcppArmadillo RcppProgress RcppThread rlang stringr tibble tidyr tidytext]; };
   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]; };
   tidypredict = derive2 { name="tidypredict"; version="0.4.8"; sha256="0fff349pkksss8h1k2qza78l81ha6avx63pxziv6dfa8h62qmrdy"; depends=[dplyr generics knitr purrr rlang stringr tibble tidyr]; };
   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.2"; sha256="0kjijqbf7k0ixjs91cnp1s1yx4hhm99gvgg6yjy87zpwqzgmcr96"; depends=[dplyr lubridate queryparser rlang stringr]; };
+  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]; };
-  tidystats = derive2 { name="tidystats"; version="0.5"; sha256="0shvrrqd5c89d4pncbqa80kzzf9v31drm170hiivjscldphkk43h"; depends=[dplyr jsonlite purrr readr stringr tibble tidyr]; };
+  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.5"; sha256="1k8zl5hxbmizas8lhcp5nzqis7wikn9bbdjwjkc6cpzbpr722bd3"; 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.1"; sha256="09cb5xi20096iy3dyiirb9alq0a0f03yaxjhacnwz4cmbxrv3phc"; 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]; };
@@ -17513,10 +17859,10 @@ 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="1.0.0"; sha256="003kizf974xibj90n60ipzwnrbdwjb659yxwi2xfnvh067aibwsp"; depends=[htmltools htmlwidgets jsonlite lubridate magrittr rmarkdown shiny]; };
+  timevis = derive2 { name="timevis"; version="2.0.0"; sha256="07padnd90s8s62sfcmg5l6b64md1cl4cfsxp5xm92nrlz82ksbbs"; depends=[htmltools htmlwidgets jsonlite lubridate magrittr rmarkdown shiny]; };
   timma = derive2 { name="timma"; version="1.2.1"; sha256="1pypk0pwkhyilh1hsn8hasia1hf6hbskj0xw6vas03k19b6fjnli"; depends=[QCA Rcpp RcppArmadillo reshape2]; };
   timsac = derive2 { name="timsac"; version="1.3.6"; sha256="186919qka9j3kfpdw2gbh16n48d6xgz9lfqgk4b17f1d7l72iplg"; depends=[]; };
   timsr = derive2 { name="timsr"; version="0.0.3"; sha256="1n9xq01rfk5v0x0r8cr481s93nh99nf3kshb41d43r7zdw2dcwfi"; depends=[data_table opentimsr]; };
@@ -17525,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.1"; sha256="1gvj8l6lvhjxx6fpk825jdgwq34ikm4wmjicyn486spxjc81bw85"; 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.35"; sha256="04ng34kfds2isz4j9ch1xlii0dfclqay9fsc6wvr6sfifzv9fqyk"; depends=[xfun]; };
+  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]; };
@@ -17544,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]; };
@@ -17559,19 +17905,23 @@ in with self; {
   tm1r = derive2 { name="tm1r"; version="1.1.8"; sha256="15w703rd7mfm32b62yv9mpms2fjq9ifmc1n460vsrpqz1dkiavb9"; depends=[httr jsonlite]; };
   tmap = derive2 { name="tmap"; version="3.3-2"; sha256="16k2nh4b4rkiid5ny97n22wn89pvh4sn6pdykbbj6qjlqp2p9jrb"; depends=[abind classInt htmltools htmlwidgets leafem leaflet leafsync RColorBrewer rlang sf stars tmaptools units viridisLite widgetframe]; };
   tmaptools = derive2 { name="tmaptools"; version="3.1-1"; sha256="0bal3czrdr93qig8s5cf5szld5vjbbks67rismfhlkmlgw6wp2gx"; depends=[dichromat lwgeom magrittr RColorBrewer sf stars units viridisLite XML]; };
-  tmbstan = derive2 { name="tmbstan"; version="1.0.2"; sha256="1g4b415k36wij028xz15kwpv8hmx92kznsp231bnrprzw2vrninr"; depends=[BH Rcpp RcppEigen rstan StanHeaders TMB]; };
+  tmbstan = derive2 { name="tmbstan"; version="1.0.3"; sha256="0y05albvggavhdijymwhw2ffg07jnvspppysmbz984c1my98zw4l"; depends=[BH Rcpp RcppEigen RcppParallel rstan StanHeaders TMB]; };
   tmcn = derive2 { name="tmcn"; version="0.2-13"; sha256="0rf8mz6kdm83pm85kzfyzb8kd3iwaxv5bgphjpxlnq6z32m9yds7"; depends=[]; };
   tmle = derive2 { name="tmle"; version="1.5.0.2"; sha256="1m1zz48cp8agxswgrwvvzdh50kyyc84hw328nyhbbnfkx19c6wj7"; depends=[glmnet SuperLearner]; };
   tmle_npvi = derive2 { name="tmle.npvi"; version="0.10.0"; sha256="00jav1ql3lv18wh9msxnjvz36z2ds44fdi6lrp1pfphh1in4vdcl"; depends=[geometry MASS Matrix R_methodsS3 R_oo R_utils]; };
   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]; };
+  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]; };
@@ -17580,6 +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.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]; };
@@ -17588,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]; };
@@ -17614,7 +17969,7 @@ in with self; {
   track2KBA = derive2 { name="track2KBA"; version="1.0.1"; sha256="0bb3bfv5fz551vz78jqixjzlkzisszw2l6z8hv1n86j57r7y7mra"; depends=[adehabitatHR dplyr foreach geosphere ggplot2 lubridate magrittr maptools purrr raster rlang sf sp tidyr]; };
   trackdem = derive2 { name="trackdem"; version="0.6"; sha256="069nl1i73ayjnlsds4dnz6w4n765jijimgz20n9az7r0irvaddhi"; depends=[MASS neuralnet png raster Rcpp RcppArmadillo shiny]; };
   trackdf = derive2 { name="trackdf"; version="0.2.2"; sha256="110m7dmciyqbcb69sxi02h5djnf098wzfr84d6yppyc73a81989y"; depends=[data_table lubridate sp tibble]; };
-  trackdown = derive2 { name="trackdown"; version="1.0.0"; sha256="1k54d055scxq73pfs9agmf32cihbyx1kdhqywxrda7xv79s8jml8"; depends=[cli googledrive rmarkdown]; };
+  trackdown = derive2 { name="trackdown"; version="1.1.1"; sha256="1l8mqdfpdf25vyibxqcqhyip6aqllb9riz2v6w4k1rfc8b9dl07f"; depends=[cli googledrive rmarkdown]; };
   trackeR = derive2 { name="trackeR"; version="1.5.2"; sha256="1f3giz6naxxyicgy9v0391ang43srwhy9zbiv4zmlc8i9v05b57i"; depends=[fda foreach ggmap ggplot2 ggridges gridExtra gtable jsonlite leaflet raster RSQLite scam sp xml2 zoo]; };
   trackeRapp = derive2 { name="trackeRapp"; version="1.1"; sha256="0pys5vw3268j90i2gg6b1sgbx917vvk0x9k2ryh3l3p96vkrqv87"; depends=[changepoint colorspace DT foreach mapdeck mgcv plotly sf shiny shinydashboard shinyjs shinyWidgets trackeR V8 zoo]; };
   trackr = derive2 { name="trackr"; version="0.10.7"; sha256="0h7ihymdvfvnnyxfxjwshslrxngh3i2ksqvhxynrp46m20mwjavd"; depends=[CodeDepends fastdigest ggplot2 gridGraphics histry htmltools lattice miniUI RJSONIO rlang rmarkdown roprov rsolr shiny]; };
@@ -17631,12 +17986,13 @@ in with self; {
   traj = derive2 { name="traj"; version="1.2"; sha256="0mq6xdbxjqjivxyy7cwaghwmnmb5pccrah44nmalssc6qfrgys4n"; depends=[cluster GPArotation NbClust pastecs psych]; };
   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-1"; sha256="0vs4hr08r3fdf63532k8kqrwm2gpgx0m8a3n0mfhsffc5nbvdxri"; 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]; };
   tranSurv = derive2 { name="tranSurv"; version="1.2.2"; sha256="17rvzjcn76z5niw1jappiadbkf66a9x0m7p3251lgb7qrnvpx3gk"; depends=[rootSolve SQUAREM survival truncSP]; };
   transcribeR = derive2 { name="transcribeR"; version="0.0.0"; sha256="0y2kxg2da71i962fhsjxsr2ic3b31fmffhj3gg97b0nykfpcviib"; depends=[httr]; };
-  transfR = derive2 { name="transfR"; version="0.1.0"; sha256="0c84wnqc60hsl8j3dbz28dknvz9qfdy1rb03cykvra82wv446aqi"; depends=[doParallel foreach Rdpack sf stars units]; };
+  transfR = derive2 { name="transfR"; version="0.1.1"; sha256="1pdacv0w5rf7vn6pbyydrjj1v6w8m36v1jaghb28xv3gn27308iy"; depends=[doParallel foreach Rdpack sf stars units]; };
   transformmos = derive2 { name="transformmos"; version="0.1.0"; sha256="1hsp399cj6cnsysb4hm4ra075qm2fxkjhyq16m3nai51fvzkak0p"; depends=[]; };
   transformr = derive2 { name="transformr"; version="0.1.3"; sha256="1dn6h8i7vli2zv4408djyg74j9fv9sjrqf75hx9dh7qnj352wf69"; depends=[lpSolve Rcpp rlang sf tweenr]; };
   translate = derive2 { name="translate"; version="0.1.2"; sha256="1w0xrg1xxwfdanlammmixf06hwq700ssbjlc3cfigl50p87dbc5x"; depends=[functional lisp RCurl RJSONIO]; };
@@ -17661,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]; };
@@ -17672,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=[]; };
@@ -17706,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]; };
@@ -17741,6 +18098,7 @@ in with self; {
   tsdf = derive2 { name="tsdf"; version="1.1-8"; sha256="00s0aiis88611xsq9px61f9gwprp803wcvi5milvc7qckrh1kw0z"; depends=[]; };
   tsdisagg2 = derive2 { name="tsdisagg2"; version="0.1.0"; sha256="1vjypf9d4rdprpgxfsgpccn412kvar59v341ridq2hcdp7hfb70s"; depends=[]; };
   tsensembler = derive2 { name="tsensembler"; version="0.1.0"; sha256="0amb3dn96hdgy5a0j6s43mf82cdjwbz8dhz3yrjlr07nknxzirzi"; depends=[Cubist doParallel earth foreach gbm glmnet kernlab monmlp pls ranger RcppRoll softImpute xgboost xts zoo]; };
+  tsentiment = derive2 { name="tsentiment"; version="1.0.4"; sha256="173m4ry58rz5cgffrwzxd9wr22w2ziny82zzby958w6vpyysdsc0"; depends=[dplyr ggplot2 httr progress reshape2 stringi syuzhet tibble tidytext wordcloud wordcloud2]; };
   tseries = derive2 { name="tseries"; version="0.10-49"; sha256="1fhldj95d16cwygw8xg0kvr4xk569mpzprdvahlsf4hzykc2dgs5"; depends=[quadprog quantmod zoo]; };
   tseriesChaos = derive2 { name="tseriesChaos"; version="0.1-13.1"; sha256="0qfrrzd0h8n9zp7wj5fl88wkiv22fs5zy8x509g316j0avm5zjr3"; depends=[deSolve]; };
   tseriesEntropy = derive2 { name="tseriesEntropy"; version="0.6-0"; sha256="04clfkpkiy5p5nxcq59c7f4v1llj1d95lvck23h1px50lvb993fv"; depends=[cubature ks]; };
@@ -17750,8 +18108,8 @@ in with self; {
   tsfngm = derive2 { name="tsfngm"; version="0.1.0"; sha256="1wx1imbvnc2bjvfal45zhgpz296fiydqffb0rk428xpjgp2dj6p7"; depends=[]; };
   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.0"; sha256="0m0hjm09y0ja3fb0nnss2692nkr9ck33n95kp6pmzglx389h7m19"; depends=[anytime dplyr ellipsis generics lifecycle lubridate rlang tibble tidyselect vctrs]; };
-  tsibbledata = derive2 { name="tsibbledata"; version="0.3.0"; sha256="1lz3kx0r8h9d1flp3j0fsllrk4d7m312pk4w4jdv5p4l5f2sqmnx"; depends=[tsibble]; };
+  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.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]; };
@@ -17783,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.10"; sha256="0j3xkxb0f559nmvm8f39s6jlv2p78xms2g5lfwij1jhicn9dshgd"; 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]; };
@@ -17794,21 +18152,20 @@ 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]; };
   tvReg = derive2 { name="tvReg"; version="0.5.6"; sha256="04fxpkbq76lz5l1q83yr306d8lcjxh3c1wlpqzhvx8iqn0w6qbhx"; depends=[bvarsv MASS Matrix plm systemfit vars]; };
   tvd = derive2 { name="tvd"; version="0.1.0"; sha256="07al7gpm81a16q5nppsyc5rhv6zzkcvw72isx955b1q189v073aw"; depends=[Rcpp]; };
   tvem = derive2 { name="tvem"; version="1.3.1"; sha256="1hrjl5kbp0wx7a4aa8bbvf5sdrxcvxsf3318ckgl85w923i8a44k"; depends=[mgcv]; };
-  tvgarch = derive2 { name="tvgarch"; version="2.1"; sha256="1dhf892li7d0jqs49b7f7ljzy1mrzhgjypsyj7llzg7v1zlsabn3"; depends=[garchx hier_part numDeriv zoo]; };
+  tvgarch = derive2 { name="tvgarch"; version="2.2"; sha256="14pswli9yfc21vdrgnhyp7caprvjh7vi7lj2wpm5rl43kc0j5c27"; depends=[garchx hier_part numDeriv zoo]; };
   tvgeom = derive2 { name="tvgeom"; version="1.0.1"; sha256="1lr2vqgj5jfhzavwd43wcchhbicmf4dqjvyf66rvnjkw3jaig8dm"; depends=[]; };
   tvm = derive2 { name="tvm"; version="0.5.0"; sha256="1disznln4xgkr9q6sj978nadbwg43xv28fq3r3zyy6icg4x9h6gs"; depends=[ggplot2 reshape2 scales]; };
   tvmediation = derive2 { name="tvmediation"; version="1.0.0"; sha256="16djg3ibn1i68lzwby8242qa90347iq1i9ha4nyzacaf7mjd4ysl"; depends=[dplyr ggplot2 kedd locpol]; };
   tvthemes = derive2 { name="tvthemes"; version="1.1.1"; sha256="0j24hhpjab1220bmspd6a0pa2295gpyyrcxs1rxjnsr5vgn90fcq"; depends=[extrafont ggplot2 glue magick scales]; };
   twang = derive2 { name="twang"; version="2.5"; sha256="1raczkxbkikwx9gi4p8nzgazqxa41ilpqvfjc07nwkvyqlkmadgw"; depends=[data_table gbm ggplot2 lattice latticeExtra MatrixModels survey xgboost xtable]; };
   twangContinuous = derive2 { name="twangContinuous"; version="1.0.0"; sha256="0bn1i9nid97irn820591ml3556bbmg6pw2qhm9k9vqgnqmnhcfnq"; depends=[gbm lattice Rcpp survey xtable]; };
-  twangMediation = derive2 { name="twangMediation"; version="1.0"; sha256="0fkj94r6ca59kziknv8pgr4lklxyylfabvhkc3swbmg3cqix3jda"; depends=[gbm gridExtra lattice latticeExtra survey twang]; };
+  twangMediation = derive2 { name="twangMediation"; version="1.1"; sha256="16np2zapvm31cglqck35n1v8jpnm24xrdya66jpwnkci51dsfxci"; depends=[gbm lattice latticeExtra survey twang]; };
   twangRDC = derive2 { name="twangRDC"; version="1.0"; sha256="03z2c18nq6iwwb3si7wjc56npdyray3xsy6k6ifvbalib2ibv2f1"; depends=[data_table ggplot2 MatrixModels xgboost]; };
   tweedie = derive2 { name="tweedie"; version="2.3.3"; sha256="1nfhaqblvm62j8gfkyrgba5ai0pb2fsnrxp63637mhys2bawlcm0"; depends=[]; };
   tweenr = derive2 { name="tweenr"; version="1.0.2"; sha256="17znizh4yabh2zs9mzyr0sl6p0pw49961i61br7cl1b7v9sza18q"; depends=[farver magrittr Rcpp rlang]; };
@@ -17816,15 +18173,18 @@ 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]; };
   twn = derive2 { name="twn"; version="0.2.1"; sha256="1lw2dvcchx7ldxjibw4i48vpnfqk6z1cqb86ilfxhdm6baply8g0"; depends=[crayon dplyr rlang stringr tibble]; };
   twosamples = derive2 { name="twosamples"; version="1.1.1"; sha256="0c2hk49zysjgkgm3pv9j1gnpg5hs5icdzn40ihyqj8aziynkripp"; depends=[Rcpp]; };
+  twosigma = derive2 { name="twosigma"; version="1.0.2"; sha256="0b73qcna55gmfxz1lzd987j28m7g8642s9wgzpndx3850q61yfli"; depends=[doParallel glmmTMB multcomp pbapply pscl]; };
   twostageTE = derive2 { name="twostageTE"; version="1.3"; sha256="0mkxs3lmzja51zdrf5himhwcdygpj6czhdd2bydakm26kvw7znwr"; depends=[isotone]; };
   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]; };
@@ -17834,20 +18194,21 @@ 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]; };
   ubiquity = derive2 { name="ubiquity"; version="2.0.0"; sha256="1zjjwpl8zkpr4zvrhsbsj6vpiwy08vs2sw1rpx7aq940v37dvmbz"; depends=[deSolve digest doParallel dplyr flextable foreach ggplot2 knitr magrittr MASS onbrand optimx PKNCA pso readxl rhandsontable rmarkdown scales shiny stringr]; };
-  ubms = derive2 { name="ubms"; version="1.0.2"; sha256="1fsmyhn9awx3pa32yqnkjykyj0kbj5hc3q4w0dzjbl2ywawjbqr7"; depends=[BH ggplot2 gridExtra lme4 loo Matrix Rcpp RcppArmadillo RcppEigen rstan rstantools StanHeaders unmarked]; };
+  ubms = derive2 { name="ubms"; version="1.1.0"; sha256="016rdjba3h2hm6ps4jrnqzy1hwm0nmn3yq922dbfw8396qvmr2zf"; depends=[BH ggplot2 gridExtra lme4 loo Matrix pbapply Rcpp RcppArmadillo RcppEigen RcppParallel RSpectra rstan rstantools StanHeaders unmarked]; };
   ucbthesis = derive2 { name="ucbthesis"; version="1.0"; sha256="0l855if3a7862lxlnkbx52qa617mby634sbb2gkprj21rwd7lcbp"; depends=[knitr stringr]; };
   uchardet = derive2 { name="uchardet"; version="1.1.0"; sha256="1dnvi45npk7l7sqbv3c1mrg0m7vrrp7iya9kjndcg9x3h0iial9z"; depends=[]; };
   ucie = derive2 { name="ucie"; version="1.0.0"; sha256="02dk8r96dgi35qxr20s64jrsxaivj5mvwb22bgyjg8yrbwmwzf88"; depends=[colorspace dplyr geometry pracma ptinpoly remotes rgl]; };
   uclust = derive2 { name="uclust"; version="1.0.0"; sha256="10i78fc81sy635mi8nn1gmryvcbqq7f99ws6byqlnhwyw79qmvb1"; depends=[dendextend robcor]; };
   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.6"; sha256="1jqx9nbxl61k6s20rjkyghkv6lq1dzf63a9gljaxmv30hwgmgrvk"; depends=[data_table Matrix Rcpp]; };
-  udunits2 = derive2 { name="udunits2"; version="0.13.1"; sha256="1l889f8iy8qaacxfs6ll62d6hs8g8qsr5ynn24grpvp8dk8l888w"; depends=[]; };
+  udpipe = derive2 { name="udpipe"; version="0.8.8"; sha256="0bjl3l652lmq6yyhpc4nyhqgjb0drzk4ppmx4i9m0rrwrf997d9b"; depends=[data_table Matrix Rcpp]; };
+  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]; };
@@ -17863,7 +18224,7 @@ in with self; {
   umap = derive2 { name="umap"; version="0.2.7.0"; sha256="191vpy84s0bar06y9z1qx43x2kc4qp7lmrcmd0cvz2pnzq722jab"; depends=[openssl Rcpp reticulate RSpectra]; };
   umiAnalyzer = derive2 { name="umiAnalyzer"; version="1.0.0"; sha256="147x48mr9mj0njwbz39876795rninvk89zm9immkppdm4s5g1ghf"; depends=[BiocManager dplyr DT forcats ggplot2 gridExtra magrittr pheatmap plotly readr Rsamtools scales shiny shinydashboard shinyFiles shinyWidgets stringr tibble tidyr viridis]; };
   ump = derive2 { name="ump"; version="0.5-8"; sha256="1sg226caq9y41cwl7wr5s9z3bpq2j5p6rj6fy2pasbzimgzw0byx"; depends=[]; };
-  umx = derive2 { name="umx"; version="4.10.10"; sha256="1c0cl9q29sq0047qlh9gnc17bvypxk82mr9l81s7hvnns80yq9w5"; depends=[cowplot DiagrammeR DiagrammeRsvg ggplot2 kableExtra knitr lavaan MASS Matrix MuMIn mvtnorm nlme OpenMx polycor R2HTML RCurl rsvg scales xtable]; };
+  umx = derive2 { name="umx"; version="4.10.50"; sha256="11mhry3hv7fhs5lwgww3g6200knw3fgah42j08glk81k9braswzm"; depends=[cowplot DiagrammeR DiagrammeRsvg ggplot2 kableExtra knitr lavaan MASS Matrix MuMIn mvtnorm nlme OpenMx polycor R2HTML RCurl rsvg scales tibble xtable]; };
   unbalanced = derive2 { name="unbalanced"; version="2.0"; sha256="18hy9nnq42s1viij0a5i9wzrrfmmbf7y3yzjzymz2wnrx4f2pqwv"; depends=[doParallel FNN foreach mlr RANN]; };
   unbalhaar = derive2 { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; };
   uncertainty = derive2 { name="uncertainty"; version="0.2.0"; sha256="1mq14ny7l3gy3wjsqijnm37azavyapxszjnckd861h4hgcpdcdjz"; depends=[mvtnorm triangle]; };
@@ -17877,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]; };
@@ -17886,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]; };
@@ -17899,26 +18260,25 @@ in with self; {
   unnest = derive2 { name="unnest"; version="0.0.3"; sha256="1as245gzviq3394g36q82m1cv2rdrwjlm3icd18lcz6sl13wggdy"; depends=[]; };
   unpivotr = derive2 { name="unpivotr"; version="0.6.2"; sha256="1paqx2jn8gh4nd4zm8iwxpf38znzwwqli62ww7f3k5vwkf34r078"; depends=[cellranger dplyr forcats magrittr pillar purrr rlang tibble tidyr tidyselect xml2]; };
   unrepx = derive2 { name="unrepx"; version="1.0"; sha256="1dzvwpza60y9p7kz1f0bm20wid5jyxx9pma4w41az9shq5kkr0aj"; depends=[]; };
-  unrtf = derive2 { name="unrtf"; version="1.4"; sha256="0ri68vfhc0acizjsk62v4l1g6l773y955yhcbqgks0vbrk01yfxg"; depends=[sys]; };
+  unrtf = derive2 { name="unrtf"; version="1.4.1"; sha256="1h9nwqczpv7k6r605gdqag7pllfpxp0hvihbz0nd38qg4f3jx9x8"; depends=[sys]; };
   unstruwwel = derive2 { name="unstruwwel"; version="0.1.0"; sha256="1g7vw7hbf390hrsi5n9fj8na9rlaxc4d952949ffb0r81rr4blf1"; depends=[assertthat dplyr lubridate magrittr purrr R6 rlang stringr tibble tidyr]; };
   unsystation = derive2 { name="unsystation"; version="0.2.0"; sha256="02da7wzzk5bwd475i67v5x04ay2bn5yd5xffl1asqcqxcc5sy0m8"; depends=[doParallel foreach iterators Rcpp RcppArmadillo]; };
   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.9.0"; sha256="0xyy3022810yw0yb8n0cn1gaapizyq1vxadj5inrry5azk8a1kig"; 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]; };
   urbin = derive2 { name="urbin"; version="0.1-12"; sha256="18zskhpcngpw0zanya88l8znhbac5f7a89kq231w59yml9ll7y52"; depends=[]; };
   urca = derive2 { name="urca"; version="1.3-0"; sha256="1akaqwf3fvvvx4sgfn641fd4sj51s0701pvfl6s5hnz2k0iwh732"; depends=[nlme]; };
-  urlchecker = derive2 { name="urlchecker"; version="1.0.0"; sha256="03rjgsi344d6kacx4l2wh91gp269hddd5q567c9r52glbjp382d8"; depends=[cli curl xml2]; };
+  urlchecker = derive2 { name="urlchecker"; version="1.0.1"; sha256="06034lb94krbzawqg5xklwcksvyyzl3qy355f66baj5pw7dms5k2"; depends=[cli curl xml2]; };
   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]; };
@@ -17930,7 +18290,7 @@ in with self; {
   usefun = derive2 { name="usefun"; version="0.4.8"; sha256="0jbwfr04y65rlc2aa6483w9qcdqa4bmcx76j4rp9fracfszjb1hg"; depends=[dplyr]; };
   usemodels = derive2 { name="usemodels"; version="0.1.0"; sha256="17cnjg7vw3f2jxkqlfvxh6kn891h49waf5k5a5vb4yaa2ay6nhp3"; depends=[cli dplyr purrr recipes rlang tidyr tune]; };
   usethat = derive2 { name="usethat"; version="0.3.0"; sha256="0i6nw3vgll6i31l95iflhq88ssw86pmz46jgw8g6k6f58rgnykmc"; depends=[microservices purrr usethis withr]; };
-  usethis = derive2 { name="usethis"; version="2.1.3"; sha256="1gwvirp53pa0zychd7d47d56a2vfdzz7l3p61l8m9n270ac7bc1d"; depends=[cli clipr crayon curl desc fs gert gh glue jsonlite lifecycle purrr rappdirs rlang rprojroot rstudioapi whisker withr yaml]; };
+  usethis = derive2 { name="usethis"; version="2.1.5"; sha256="0lph2rxv7nq3h022gp8d50wbq5lwicnx85d2l5dx876wxhb9wlvx"; depends=[cli clipr crayon curl desc fs gert gh glue jsonlite lifecycle purrr rappdirs rlang rprojroot rstudioapi whisker withr yaml]; };
   usfertilizer = derive2 { name="usfertilizer"; version="0.1.5"; sha256="05zjn39hqjjzzp4v4b1zbqq59205s7k0kikms951h57kbyvjz6vk"; depends=[tidyverse]; };
   ushr = derive2 { name="ushr"; version="0.2.3"; sha256="1ygyqgxw849165lpk81f114kgx9015b9a9dngavjy3ffqzrbb41k"; depends=[dplyr ggplot2 tidyr]; };
   uskewFactors = derive2 { name="uskewFactors"; version="2.0"; sha256="0ndi5987ak8sa7krgiglsibfg0k7z9j8fg47hg1m8ar0sq4r1yj6"; depends=[MASS MCMCpack mvtnorm tmvtnorm]; };
@@ -17950,7 +18310,7 @@ in with self; {
   utr_annotation = derive2 { name="utr.annotation"; version="1.0.4"; sha256="0lldkd5fw86qxngjfvigmkdzynz0712wsk9p51xliqlavivvnpny"; depends=[AnnotationFilter AnnotationHub BiocGenerics biomaRt Biostrings data_table doParallel dplyr ensembldb foreach GenomicFeatures GenomicRanges IRanges keras readr rtracklayer stringr tidyr vcfR xml2]; };
   uuid = derive2 { name="uuid"; version="1.0-3"; sha256="0il35jnci537r8zkinyiy5jp5q530p85ln6dswpj884zclrlcvj5"; depends=[]; };
   uwo4419 = derive2 { name="uwo4419"; version="0.3.0"; sha256="0hk5qhyarjxz7ngj5ak37vx0rak6xv0hfb4sdrsbci3kv5fqijv7"; depends=[DescTools dplyr ggplot2 gmodels haven magrittr psych RColorBrewer rio tibble tidyr]; };
-  uwot = derive2 { name="uwot"; version="0.1.10"; sha256="08vxh085wnrxgwy35ksb4cr7ccjvd98pyr2zlgarqryfgc1bdqbf"; depends=[dqrng FNN irlba Matrix Rcpp RcppAnnoy RcppProgress RSpectra]; };
+  uwot = derive2 { name="uwot"; version="0.1.11"; sha256="06ylzxmdh8jipbrzgqaiivd2lnqmbcva41cyvc0iyals6vqr1ksg"; depends=[dqrng FNN irlba Matrix Rcpp RcppAnnoy RcppProgress RSpectra]; };
   vICC = derive2 { name="vICC"; version="1.0.0"; sha256="13lcs7wwj1xfbjf3q7r8ssf00jg5hr1vjp2pyw0r42iz7mx47xjv"; depends=[coda ggplot2 nlme Rdpack rjags]; };
   vacuum = derive2 { name="vacuum"; version="0.1.0"; sha256="0cmlvlz83gyga05g71hrnq4kpck9flq0qlhjviqqz9zrmljzin0x"; depends=[dplyr magrittr]; };
   vader = derive2 { name="vader"; version="0.2.1"; sha256="1xjak5xlgpk0ds4l825kq90dg6kk5i5al5zmjqjqn8b7xdgix8mf"; depends=[tm]; };
@@ -17970,21 +18330,20 @@ in with self; {
   valmetrics = derive2 { name="valmetrics"; version="1.0.0"; sha256="1fdaljdfvfmqarxdyjs9pcd8ji2z9i379vcxf65jvnhiaqlsms57"; depends=[]; };
   valorate = derive2 { name="valorate"; version="1.0-1"; sha256="06vczszpkipsxfs7h6ld33vvxb5ci62rwg3cglwy3lcfifhbnsfi"; depends=[survival]; };
   valottery = derive2 { name="valottery"; version="0.0.1"; sha256="0rlv8agm9ng4jcb9ixqifh7kjczvkx7047brq8yf9kg7rb8mzgpz"; depends=[]; };
-  valr = derive2 { name="valr"; version="0.6.3"; sha256="1lzdlw0mw06rymyjzwf4i8rx1z6zxpwxxqfsc9ggqlnhq6bfhy93"; depends=[broom dplyr ggplot2 Rcpp readr rlang stringr tibble]; };
+  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.0.7.15"; sha256="12av5v1kpgyrb9dd672kbmg167wfvq52bma7rxh1w4pkqwd54sa4"; depends=[car dplyr formula_tools ggplot2 gplots MASS purrr rlang 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.1.1"; sha256="02i15pr6jaanqb3a4vbpsgd7zkgcmkgmdsf6cbkx6mh0zib7mpj3"; 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]; };
@@ -18014,12 +18373,12 @@ in with self; {
   vcfR = derive2 { name="vcfR"; version="1.12.0"; sha256="0lhxb3ac4fafwik9q3cds46svzf0hyca8k54chw3dpk50c0zz1yx"; depends=[ape dplyr magrittr memuse pinfsc50 Rcpp stringr tibble vegan viridisLite]; };
   vcmeta = derive2 { name="vcmeta"; version="1.0.0"; sha256="18jg3kqdk9162qvhkmrvq0j86nq82iwws20wrfgb4hy1w63bzfz3"; depends=[ggplot2 mathjaxr Rdpack]; };
   vcov = derive2 { name="vcov"; version="0.0.1"; sha256="1w89mr8dk6436bxap28rszajgm9k7sjfqsr1i4p68dlhw8zk4yq1"; depends=[]; };
-  vcpen = derive2 { name="vcpen"; version="1.8"; sha256="0ccbk9mki8lsxc6y327rg3yg0fbhlx44xkcv8jaxahhsg4dp8krd"; depends=[knitr Rcpp RcppArmadillo]; };
+  vcpen = derive2 { name="vcpen"; version="1.9"; sha256="0gg5ln9r7i8rh91pf7789fic4aah22jc259qyg606bax2w57qmi5"; depends=[knitr Rcpp RcppArmadillo]; };
   vcr = derive2 { name="vcr"; version="1.0.2"; sha256="0d7g67adnjhhaikz61nc3ivl8pzyvsk8ah0a34d8wgxknfva29sb"; depends=[base64enc cpp11 crul httr R6 rprojroot urltools webmockr yaml]; };
   vcrpart = derive2 { name="vcrpart"; version="1.0-4"; sha256="1mg87jpdih33lalxhfcxbri439d4cgi7hqdrnvijr7qabjmnc7p4"; depends=[formula_tools nlme numDeriv partykit rpart sandwich strucchange ucminf zoo]; };
   vctrs = derive2 { name="vctrs"; version="0.3.8"; sha256="1c8v5lmap6iq4jpi7p3w05hsv2dq7rjg057pvnfyc5d1xmsqnkkz"; depends=[ellipsis glue rlang]; };
   vcvComp = derive2 { name="vcvComp"; version="1.0.2"; sha256="0mip0v8gv358aadc3b4913dcz27kscx3dv15nwns20pan5jvyhv2"; depends=[]; };
-  vdar = derive2 { name="vdar"; version="0.1.3"; sha256="1nji97rcxp4v8pypx3z1265v85rb0yhw47i9cvacqmfxwk3hgpxj"; depends=[compositions]; };
+  vdar = derive2 { name="vdar"; version="0.1.3-2"; sha256="061ahwf8gyjqs5j9mkqnpn7899mivn4qbygnnzihmv065xj5vpd9"; depends=[compositions]; };
   vdg = derive2 { name="vdg"; version="1.2.1"; sha256="1jxqwg7k8ibzzdx8axhn2dx27j60qj0dlmczbfalll841ggigb45"; depends=[ggplot2 gridExtra proxy quantreg]; };
   vdiffr = derive2 { name="vdiffr"; version="1.0.2"; sha256="1zjwjw8lqqnx7cxj2aik5rn1g67zsyf0bq08yfwwmsi7v2x6ly3x"; depends=[cpp11 diffobj glue htmltools lifecycle rlang testthat xml2]; };
   vdra = derive2 { name="vdra"; version="1.0.0"; sha256="1ldl3wm55a5ywc5398lzky6l6x5a9djxwrqnrd570fg4iq6d30l1"; depends=[]; };
@@ -18030,25 +18389,26 @@ 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.4"; sha256="1dgzl67z0mjvd4l53zvqmcqfim6g7nrfmbh709a30f3nghkx059k"; depends=[assertthat glue htmltools httr magrittr rlang stringr]; };
+  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]; };
   vennLasso = derive2 { name="vennLasso"; version="0.1.6"; sha256="0maydvx0qhdn5alqzqxjn485y9hw9qdr1xvgkmgwnjq59vni6d31"; depends=[foreach igraph MASS Matrix Rcpp RcppEigen RcppNumerical survival VennDiagram visNetwork]; };
   venneuler = derive2 { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; };
   vennplot = derive2 { name="vennplot"; version="1.0"; sha256="0x59awa1zsjwk5qb1jzv6d2mn2fm4aq1lq8zlbnf1da0h4837yab"; depends=[Rcpp rgl stringr]; };
-  verbalisr = derive2 { name="verbalisr"; version="0.2.1"; sha256="0jiyz3nsiw3nyq46l720x5qcrfr7mwdq7f3d8axgwchg4w4fl1i3"; depends=[pedtools ribd]; };
+  verbalisr = derive2 { name="verbalisr"; version="0.4.0"; sha256="17zq2qc361kmd32pfzqgxpgw2z4z1iq831cq85fffdc3nvl3wwx4"; depends=[pedtools ribd]; };
   verhoeff = derive2 { name="verhoeff"; version="0.4.0"; sha256="0kpxpl5s5342ajg22cwb7y9ks240drp37q1g67n19krdy6ih14kz"; depends=[]; };
   verification = derive2 { name="verification"; version="1.42"; sha256="0pdqvg7cm9gam49lhc2xy42w788hh2zd06apydc95q2gj95xnaiw"; depends=[boot CircStats dtw fields MASS]; };
   versions = derive2 { name="versions"; version="0.3"; sha256="0zm49j785dgv7fyr1yl9q5f0dsk8hhpim5q5bpkgrkzv7pwjribd"; depends=[]; };
+  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]; };
@@ -18060,10 +18420,11 @@ in with self; {
   vici = derive2 { name="vici"; version="0.5.2"; sha256="0qad8ab04ndd29kcmd388piiymablfc7xlv6iml4sxkid7z5kgby"; depends=[cowplot DT ggplot2 ggpubr nlme shiny tidyr]; };
   vietnamcode = derive2 { name="vietnamcode"; version="0.1.1"; sha256="0vc0c1fg30afar2dkch5h27b8jbglcd9ja6d5hcypnibqz4c68vz"; depends=[]; };
   vietnameseConverter = derive2 { name="vietnameseConverter"; version="0.4.0"; sha256="1bnscv1yz4hr6cvpavdj2gjn6dqy96rbagxl9280a2xxav09mps3"; depends=[gsubfn sf utf8]; };
+  viewpoly = derive2 { name="viewpoly"; version="0.1.1"; sha256="1ba1q4348gm7h860plaj2hvi0vlmy3d8xw7cxngifgnv11617b2m"; depends=[abind config dplyr DT ggplot2 ggpubr golem JBrowseR markdown plotly reshape2 rlang shiny shinydashboard shinyjs shinythemes shinyWidgets tidyr vroom]; };
   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]; };
@@ -18081,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]; };
@@ -18095,11 +18456,11 @@ in with self; {
   visvow = derive2 { name="visvow"; version="1.3.3"; sha256="01mpiyc893sx8zhx6ddzhdqcgsssz516s4wm0sfkh5fpaz6h1mn5"; depends=[Cairo DT formattable ggdendro ggplot2 ggrepel MASS PBSmapping plot3D plyr pracma psych Rdpack readxl Rtsne shiny shinyBS shinybusy splitstackshape svglite tidyr tikzDevice WriteXLS]; };
   visxhclust = derive2 { name="visxhclust"; version="1.0.0"; sha256="09849fmsm62adf39qk3np787g7v3vbg5yncs20qrclgv6iam3w51"; depends=[bsplus circlize cluster clusterCrit ComplexHeatmap dendextend dplyr DT dunn_test fastcluster ggplot2 kableExtra knitr patchwork RColorBrewer readr shiny shinycssloaders shinyhelper tidyr]; };
   vita = derive2 { name="vita"; version="1.0.0"; sha256="114p2lzcr8rn68f0z4kmjdnragqlmi18axda9ma4sbqh8mrmjs9v"; depends=[randomForest Rcpp]; };
-  vitae = derive2 { name="vitae"; version="0.4.2"; sha256="1pxd612qq0jzp29qcykb4c1s9mljpmq6xfvhmyx8r9nv8j816qkv"; depends=[dplyr glue knitr pillar rlang rmarkdown tibble vctrs xfun yaml]; };
+  vitae = derive2 { name="vitae"; version="0.5.1"; sha256="0j35azyrrnr1nvw76axqa0bvs6nsp7pw9gwkyfqnp6383r5hlg4i"; depends=[dplyr glue jsonlite knitr pillar rlang rmarkdown tibble vctrs xfun yaml]; };
   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]; };
@@ -18116,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]; };
@@ -18129,8 +18490,8 @@ 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]; };
-  vroom = derive2 { name="vroom"; version="1.5.6"; sha256="0b1lbi20gadwjwinw1v0az4g0y79vlcqfqyblphls601h3nnmn3p"; depends=[bit64 cli cpp11 crayon glue hms lifecycle progress rlang tibble tidyselect tzdb vctrs withr]; };
+  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]; };
   vsd = derive2 { name="vsd"; version="0.1.0"; sha256="18whnvary4glblzx1vxf3yzsllnnnbnyijwhbw7bi3agppnwrf22"; depends=[dplyr flexsurv ggplot2 ggpubr magrittr muhaz survival survminer]; };
@@ -18156,11 +18517,11 @@ in with self; {
   wactor = derive2 { name="wactor"; version="0.0.1"; sha256="0dc7413jb3yz0nns2lc93w32wv6m4sg17j2ip63gc12vis0nf855"; depends=[ggplot2 Matrix R6 text2vec tibble tokenizers xgboost]; };
   waffle = derive2 { name="waffle"; version="0.7.0"; sha256="1qjmai33p96cyavi9lgi6k30h6fj7db5sr569v9jf4kwx92c61df"; depends=[extrafont ggplot2 gridExtra gtable RColorBrewer]; };
   wahc = derive2 { name="wahc"; version="1.0"; sha256="1324xhajgmxq6dxzpnkcvxdpm2m3g47drhyb2b3h227cn3aakxyg"; depends=[]; };
-  waiter = derive2 { name="waiter"; version="0.2.4"; sha256="0xkx0qsa836ljq0dd05w3h3yc5gmmny221kgqj5nhdlhc1gg82jb"; depends=[htmltools R6 shiny]; };
+  waiter = derive2 { name="waiter"; version="0.2.5"; sha256="0ya92qr25ssfkzn888b7rr8rn0304f3gz4h4pnc2a95rknbmxhls"; depends=[htmltools R6 shiny]; };
   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]; };
@@ -18187,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]; };
@@ -18201,13 +18562,14 @@ in with self; {
   wdm = derive2 { name="wdm"; version="0.2.2"; sha256="1pidlfp67x3wnmkp0qgna4vz29qx09xsy7gfbqzrjqkdi7q1dihi"; depends=[Rcpp]; };
   wdman = derive2 { name="wdman"; version="0.2.5"; sha256="1yf41lsrr9dbf5n4f5hv9mlmzl736fhnp9gxkm2g9apws6gsig02"; depends=[assertthat binman processx semver yaml]; };
   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.1"; sha256="051w092dnlxpa2fc9riyrlh2adkpam5mz0496r0fws17s725bsaz"; depends=[assertthat cli countrycode curl httr lwgeom progress rappdirs RSelenium sf sp tibble wdman withr xml2]; };
+  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]; };
-  wearables = derive2 { name="wearables"; version="0.6.2"; sha256="139m695120gasl6akyydzb4h7mjif6rg4frh4dd4y85akfipxcsd"; depends=[dplyr futile_logger ggplot2 kernlab lubridate magrittr padr RHRV signal varian waveslim xts]; };
+  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]; };
   webTRISr = derive2 { name="webTRISr"; version="0.2.0"; sha256="10xj8qvibhnywsxd1yb4laz6b38qwn483a7bflizsndsgrbzdi5n"; depends=[dplyr httr jsonlite lubridate magrittr purrr readr sf stringr]; };
-  webchem = derive2 { name="webchem"; version="1.1.1"; sha256="0q7iszc91vm58ij89mfn445ijhkyrrsgrp8khwpx82v5ja01fkv1"; depends=[base64enc data_tree dplyr httr jsonlite purrr rlang rvest stringr tibble xml2]; };
+  webchem = derive2 { name="webchem"; version="1.1.2"; sha256="1ldzgrpz6wnx501wr4qk0jv9ml9dqqvxri4slwk4cm9bhqdywbxp"; depends=[base64enc data_tree dplyr httr jsonlite purrr rlang rvest stringr tibble xml2]; };
   webdeveloper = derive2 { name="webdeveloper"; version="0.1.0"; sha256="1bxirwf3m868qr63rxvqlrmjv1sgh9ml8f393zyrb3f2cdxh6nfq"; depends=[html5 httpuv stringi]; };
   webdriver = derive2 { name="webdriver"; version="1.0.6"; sha256="0k87any9rvv367p2zwy89r3rxszsq3w78pzdq36by4ijn659la2l"; depends=[base64enc callr curl debugme httr jsonlite R6 showimage withr]; };
   webexercises = derive2 { name="webexercises"; version="1.0.0"; sha256="1z0dqiqk0v6h97qg89nwn9d57zn1png066va8dirk3mmk4jlfrqc"; depends=[jsonlite knitr rmarkdown yaml]; };
@@ -18220,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]; };
@@ -18229,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=[]; };
@@ -18241,10 +18604,10 @@ 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]; };
-  wflo = derive2 { name="wflo"; version="1.6"; sha256="04qxm1vvmgxbpj1wwj7n48klhsprkj774jnj4qfhqza33mhymydb"; depends=[emstreeR plotrix progress raster rgdal sp]; };
   wgaim = derive2 { name="wgaim"; version="2.0-1"; sha256="1qiyfkpsbzjr9xsq5kqq6rlqpndngkn2irdfh3gyi45h6hn118j4"; depends=[ggplot2 qtl]; };
   wgeesel = derive2 { name="wgeesel"; version="1.5"; sha256="0lybvsq5168cjybzv2dbyx2z8aakcx7i7ivm8zc90haiispm9n5x"; depends=[bindata CRTgeeDR geepack MASS PoisNor]; };
   whSample = derive2 { name="whSample"; version="0.9.6.2"; sha256="1dkw155xk36r9vmkqxlg2vw45nbpypivd8q5v3i5995biyib4l2k"; depends=[bit64 data_table dplyr magrittr openxlsx purrr]; };
@@ -18263,7 +18626,7 @@ in with self; {
   widals = derive2 { name="widals"; version="0.6.1"; sha256="1094yaaq2xb0ykvc1j3hs87j1p4h7zgf8mkn4han8iw5fmr9zncy"; depends=[snowfall]; };
   widgetframe = derive2 { name="widgetframe"; version="0.3.1"; sha256="0j0d73m72nzfc1wyrgsqr99ldx72adis6pd57mpim55hz0n9l224"; depends=[htmltools htmlwidgets magrittr purrr]; };
   widyr = derive2 { name="widyr"; version="0.1.4"; sha256="1adshr1x03ww7dgxzfgy38hi3ggv4rpar2ib35j4dr3s4lyjbdwg"; depends=[broom dplyr gapminder Matrix purrr reshape2 rlang tibble tidyr tidytext]; };
-  wiesbaden = derive2 { name="wiesbaden"; version="1.2.4"; sha256="09p5kmr78lv6s2vdmx8fllsyl8n1dk7gm978s29cjba95zqslysq"; depends=[httr jsonlite keyring readr stringi stringr xml2]; };
+  wiesbaden = derive2 { name="wiesbaden"; version="1.2.5"; sha256="04xr757lhcfafcc8xfcbqrg982ifig50lx1khw718kzydf7xwr7w"; depends=[httr jsonlite keyring readr stringi stringr xml2]; };
   wig = derive2 { name="wig"; version="0.1.0"; sha256="0gj8sxd5903h0rizd260ffskarywkvf87ck4ixf8gb1z1vgqf8i4"; depends=[dplyr magrittr stringr tibble]; };
   wikibooks = derive2 { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; };
   wikifacts = derive2 { name="wikifacts"; version="0.4.2"; sha256="1fw1chha6mcrmv1f9rjg01g84bgzkgf1h76l926brjs5gsn4i414"; depends=[magrittr rvest xml2]; };
@@ -18273,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]; };
@@ -18285,8 +18649,8 @@ in with self; {
   wingui = derive2 { name="wingui"; version="0.2"; sha256="0yf6k33qpcjzyb7ckwsxpdw3pcsja2wsf08vaca7qw27yxrbmaa3"; depends=[Rcpp]; };
   wiqid = derive2 { name="wiqid"; version="0.3.0"; sha256="0jqnlyw5iljpm7135fgnkwjvxmbjbqiqq6lchwnjmhbb5xd3kbvr"; depends=[coda HDInterval MASS mcmcOutput plotrix truncnorm]; };
   wiseR = derive2 { name="wiseR"; version="1.0.1"; sha256="187ylwhk06957x9zm5r0m6w9wg08im83myz3s4gr927ig8yv3b5f"; depends=[arules bnlearn DescTools dplyr DT graph HydeNet igraph linkcomm missRanger psych RBGL Rgraphviz rhandsontable rintrojs shiny shinyalert shinyBS shinycssloaders shinydashboard shinyWidgets visNetwork]; };
-  withr = derive2 { name="withr"; version="2.4.2"; sha256="1j5srffi748yxphwli56lkbh4cga0kmz38dyzganzkw0nx66mya8"; depends=[]; };
-  wk = derive2 { name="wk"; version="0.5.0"; sha256="0fj2wzswv3dfninsyw9irf52fc2d0lag5b822x841vdfpvh01mbi"; depends=[cpp11]; };
+  withr = derive2 { name="withr"; version="2.4.3"; sha256="0k4x2bd9wb24n3dyg7rdjicdjs5ay2kk5lfgkrcjsv6cki2wgnlv"; depends=[]; };
+  wk = derive2 { name="wk"; version="0.6.0"; sha256="1xga4rrqsr190g55by39az4nimnn06bf5b6mcjgwqvba0lvjhb5g"; depends=[]; };
   wkNNMI = derive2 { name="wkNNMI"; version="1.0.0"; sha256="0qpl1b2134kz9mjl38w93lp3g6kpv9ygv9hygpssm845k02hkw7c"; depends=[foreach infotheo]; };
   wkb = derive2 { name="wkb"; version="0.4-0"; sha256="0mah538345npkb06bcj18mb6qnnx8nn7bdqmvqqpbawallh546a9"; depends=[sp]; };
   wktmo = derive2 { name="wktmo"; version="1.0.5"; sha256="05pjyk0xsdazbi1x7xfmg097ybybd60zmzzm7sch1ikp05hzn0wb"; depends=[]; };
@@ -18307,25 +18671,26 @@ 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]; };
   wordpiece_data = derive2 { name="wordpiece.data"; version="1.0.2"; sha256="11nd5zxksyxb26gpp85vfmxgwigskvablgvyd5r914nil9lvi7ca"; depends=[]; };
-  wordpredictor = derive2 { name="wordpredictor"; version="0.0.2"; sha256="1lb557hkmihzd14kx4zvs9psbncbdnd4lcl2yvd9fyzkbmbxn5hp"; depends=[digest dplyr ggplot2 patchwork SnowballC stringr]; };
+  wordpredictor = derive2 { name="wordpredictor"; version="0.0.3"; sha256="0079nkjimzz07yzqx8ksgk7isi0b5j1nxmisicbc8qvsamirm68v"; depends=[digest dplyr ggplot2 patchwork SnowballC stringr]; };
   words = derive2 { name="words"; version="1.0.1"; sha256="1kd9f5470c7bdayb324m4m72v7s2kknr68qbggl5m0ww29gxs9wd"; depends=[]; };
   wordsalad = derive2 { name="wordsalad"; version="0.2.0"; sha256="18kgwq6f9ymm1bmbvpmxq9gz5fx0qj64439scr21kk1cvsfl4y88"; depends=[fastTextR text2vec tibble word2vec]; };
   wordspace = derive2 { name="wordspace"; version="0.2-6"; sha256="11y57mzd12klwd2xzr38nvlrxg9jsi33mxd8nnvc96hgrjsgwakl"; depends=[cluster iotools MASS Matrix Rcpp sparsesvd]; };
-  workflowr = derive2 { name="workflowr"; version="1.6.2"; sha256="0m3aq9xxbk4xmqsb59xil56610hgw53gm80z28mq594mhfdh0g3l"; depends=[callr fs getPass git2r glue httpuv httr knitr rmarkdown rprojroot rstudioapi stringr whisker xfun yaml]; };
+  workflowr = derive2 { name="workflowr"; version="1.7.0"; sha256="0j1ahxm7xjla1xa38dc8ykn1j5a4yw1p8ivjk3k3va25kam25cp3"; depends=[callr fs getPass git2r glue httpuv httr knitr rmarkdown rprojroot rstudioapi stringr whisker xfun yaml]; };
   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=[]; };
@@ -18336,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.7.0"; sha256="0yhrgybvhi500m8hfcf52id3xfvbmgjl6kfg0qa7ll4bfjvzrfqx"; 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.2"; sha256="1b6qgwdjvwbrarp9ylgkb5ia1p5a5g7ws0jyqrwc6hii8z5yj2qb"; depends=[dplyr lazyeval magrittr rlang tidyr]; };
+  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=[]; };
@@ -18350,6 +18715,7 @@ in with self; {
   wsbackfit = derive2 { name="wsbackfit"; version="1.0-5"; sha256="18y2r6v19a4lnpa3y2q0whm5kizmd29r0abj7rcirb9fd5jqrsp2"; depends=[]; };
   wsjplot = derive2 { name="wsjplot"; version="0.1.0"; sha256="1vgf823j3ychdnvg4nq59ah4rkv5lpwbg0r7sijir2b18sgxsrbi"; depends=[dplyr ggplot2 magrittr scales stringr]; };
   wskm = derive2 { name="wskm"; version="1.4.40"; sha256="0x5nc3bwqawx0k95v088dsx83dm7lw5lkryjvq6bl57bgrcn7n0l"; depends=[fpc lattice latticeExtra]; };
+  wsprv = derive2 { name="wsprv"; version="0.1.0"; sha256="0l2c2zv6ypqqynaj9fxdwgwb0drm27zylbk9irhxxm2bp55s2pdy"; depends=[glmnet mnormt]; };
   wsrf = derive2 { name="wsrf"; version="1.7.22"; sha256="1azpy98k7z0ag9xnq1myxb67b6bdl1z0iyn0qrrsrn92025pqy8q"; depends=[Rcpp]; };
   wsyn = derive2 { name="wsyn"; version="1.0.4"; sha256="0wq07n69l52rs0ddl1r3ml5jh5nflsg9mddvc3dxjdpd00mgbxnl"; depends=[fields MASS]; };
   wtest = derive2 { name="wtest"; version="3.2"; sha256="063ax9mbb2dy33l1cl533mjzpvhf2akw3613pklfjg6bhprlniz7"; depends=[]; };
@@ -18362,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]; };
@@ -18375,7 +18741,7 @@ in with self; {
   xdcclarge = derive2 { name="xdcclarge"; version="0.1.0"; sha256="1j8wsidwmfjygqlwavxinv4bqc6rddy42jdmlknsjfrrs49yj8kn"; depends=[nlshrink Rcpp RcppArmadillo]; };
   xergm_common = derive2 { name="xergm.common"; version="1.7.8"; sha256="03mjpafwfkmyj5ba84jydap9rp0i602izjlbd511xbxcw6dx2k0b"; depends=[ergm network]; };
   xesreadR = derive2 { name="xesreadR"; version="0.2.3"; sha256="1pvdx0mxg2f885bhy4hb3kqzcgva4q7hzzaipkfzyi5lnjdsbc81"; depends=[bupaR data_table dplyr lubridate purrr stringr tidyr XML xml2]; };
-  xfun = derive2 { name="xfun"; version="0.28"; sha256="0civd050r94w2vwfx3xgz1w36wkwrkm5dscdv5kb3klbvqwy8nqb"; depends=[]; };
+  xfun = derive2 { name="xfun"; version="0.29"; sha256="1x2f49n3ak85nab937wq6q5sqi1mdlfzwbv8603kxl2k8rxvp1dz"; depends=[]; };
   xgb2sql = derive2 { name="xgb2sql"; version="0.1.2"; sha256="1gw5dw0ck5hip8mv347zaswrggk395bg2hgn02bvqs0d31jhmgvi"; depends=[data_table xgboost]; };
   xgboost = derive2 { name="xgboost"; version="1.5.0.2"; sha256="04xbgrrb3aq067hrivslq5f2rd1v95yfv7lkj596ijyqi6ibjl27"; depends=[data_table jsonlite Matrix]; };
   xgobi = derive2 { name="xgobi"; version="1.2-15"; sha256="03ym5mm16rb1bdwrymr393r3xgprp0ign45ryym3g0x2zi8dy557"; depends=[]; };
@@ -18383,13 +18749,12 @@ in with self; {
   xkcd = derive2 { name="xkcd"; version="0.0.6"; sha256="1z2y0ihn68ppay7xkglhw7djki5654g6z4bbpyy41if57z9q554f"; depends=[extrafont ggplot2 Hmisc]; };
   xkcdcolors = derive2 { name="xkcdcolors"; version="1.0"; sha256="07fnjv01r3b951dqca2zs9b9f6hsgbpbpsrggvb8rps53kpid0i7"; depends=[FNN]; };
   xlink = derive2 { name="xlink"; version="1.0.1"; sha256="02ahgjampy92gcwhv269px5w8651a7j50dn1295zwqxj44lk4g9q"; depends=[survival]; };
-  xlsimple = derive2 { name="xlsimple"; version="1.0.5"; sha256="1snamzq6yljiqakqd6492ylznr9kfl8w0lnaayfn14fk3w03skck"; depends=[XLConnect]; };
   xlsx = derive2 { name="xlsx"; version="0.6.5"; sha256="01r1ngdm51w18bdan8h94r91m731knkf04zal4g67mx3fpa5x31p"; depends=[rJava xlsxjars]; };
   xlsx2dfs = derive2 { name="xlsx2dfs"; version="0.1.0"; sha256="0bdawr80grks91sy221d33fsk75g20zh3wjg6gvd0zj0m1zvvwvd"; depends=[openxlsx]; };
   xlsxjars = derive2 { name="xlsxjars"; version="0.6.1"; sha256="1rka5smm7yqnhhlblpihhciydfap4i6kjaa4a7isdg7qjmzm3h9p"; depends=[rJava]; };
   xlutils3 = derive2 { name="xlutils3"; version="0.1.0"; sha256="1cxishi62bd36zlsy5qhzix1p68akdf9kpjg9gfm9aqpcijzccb9"; depends=[magrittr readxl]; };
   xmeta = derive2 { name="xmeta"; version="1.3-0"; sha256="1yyqxrdfn23sqfa9765vj5fcwz2v46jvaa9wjkv1w4mvb2k2si4k"; depends=[aod glmmML MASS metafor mvmeta numDeriv plotrix]; };
-  xml2 = derive2 { name="xml2"; version="1.3.2"; sha256="1kx400v62xkd5xal7rzz7jcarz94ac8g1sh4i2dqr78qwgkzj8nz"; depends=[]; };
+  xml2 = derive2 { name="xml2"; version="1.3.3"; sha256="138w7hb487al9cbahmnk5rhi23k8a9g7nk7s5dyxd3k1646rqknb"; depends=[]; };
   xml2relational = derive2 { name="xml2relational"; version="0.1.0"; sha256="03blvks4z7n4wxz5zbrn6c3a3l4hy9clcjpb834pc07ssz3c2v3g"; depends=[fs lubridate rlang stringr tidyr xml2]; };
   xmlconvert = derive2 { name="xmlconvert"; version="0.1.2"; sha256="0vj5ar61i94if141jzqk7jq091mb2xwzl0x86dj7ddk8y3c1w9dv"; depends=[httr lubridate readr stringr tibble xml2]; };
   xmlparsedata = derive2 { name="xmlparsedata"; version="1.0.5"; sha256="1c6bnz3ng1qw7sfip8wq3a4dn36a4d6rbja0sadn0a4pbsmk8q3n"; depends=[]; };
@@ -18397,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]; };
@@ -18428,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]; };
@@ -18444,35 +18809,36 @@ 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.28"; sha256="074hvxgw827xkawrfn5sg7c5rgxx3n5jrbkl6rf7qlq6zjph23ab"; 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]; };
   zeitgebr = derive2 { name="zeitgebr"; version="0.3.5"; sha256="1h2zx3ah1xdyyag40ragrv7gvpnlzqmappbnjp971dn9khqdxfqs"; depends=[behavr data_table lomb pracma WaveletComp]; };
-  zen4R = derive2 { name="zen4R"; version="0.5-1"; sha256="08h1f5jld8qgn96d1ckd6g7hbkcm8djr1jjd7x6ji396sbf9jvcw"; depends=[httr jsonlite keyring R6 xml2]; };
+  zen4R = derive2 { name="zen4R"; version="0.5-2"; sha256="0r9xzi8k4s03hdjg3vs67lbhbslsw3l5q2zplpiv8yw8hngh9dhx"; depends=[httr jsonlite keyring R6 xml2]; };
   zendeskR = derive2 { name="zendeskR"; version="0.4"; sha256="06cjwk08w3x6dx717123psinid5bx6c563jnfn890373jw6xnfrk"; depends=[RCurl rjson]; };
   zenplots = derive2 { name="zenplots"; version="1.0.4"; sha256="1r105ay0p00wfly8z54dg18i1fq7ppvxzri49i7zrlimqawzv19s"; depends=[graph loon MASS PairViz]; };
   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=[]; };
@@ -18483,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]; };
@@ -18504,30 +18871,37 @@ in with self; {
   zzlite = derive2 { name="zzlite"; version="0.1.2"; sha256="0vi1slx2s4r5zf82lazqv0c3m12xq73wlgsbz6af4y00h0bkr3ps"; depends=[httr jsonlite]; };
   ACSNMineR = derive2 { name="ACSNMineR"; version="0.16.8.25"; sha256="0gh604s8qall6zfjlwcg2ilxjvz08dplf9k5g47idhv43scm748l"; depends=[ggplot2 gridExtra scales]; broken = true; };
   AMORE = derive2 { name="AMORE"; version="0.2-16"; sha256="0vw6hhykg1r6xxja6d4zb2y00x7pfkmhcq9xkidz8p4arinb7xnl"; depends=[]; broken = true; };
-  ActivePathways = derive2 { name="ActivePathways"; version="1.0.2"; sha256="1hxy760x141ykrpqdbfldq4ggj1svj3lsrpwi4rb2x7r4lna937l"; depends=[data_table ggplot2]; broken = true; };
-  AgroR = derive2 { name="AgroR"; version="1.2.3"; sha256="0vyn7jrk6g4m8srjc0qdn1yxygx8phr0zwnl86ng05hl78d1x35h"; depends=[ARTool cowplot crayon drc emmeans ggplot2 ggrepel gridExtra Hmisc hnp lme4 lmtest MASS multcomp multcompView nortest RColorBrewer reshape2 ScottKnott stringr]; broken = true; };
   AlphaVantageClient = derive2 { name="AlphaVantageClient"; version="0.0.1"; sha256="095m850v945lw7i3qd812p28srdb5hdk9h52zf6bkr166zai1ni0"; depends=[httr xts]; broken = true; };
   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; };
-  CLA = derive2 { name="CLA"; version="0.96-1"; sha256="1nxzs0y6mid5f2903pxrkqc3rhk7vpax8wm588ddlz6c97y3m8gk"; depends=[]; 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; };
-  EpiSignalDetection = derive2 { name="EpiSignalDetection"; version="0.1.1"; sha256="04bagnx9fs0r3167hmwgc389fl5hq7l4j6kdjjmi360vcaimx9qi"; depends=[dplyr DT ggplot2 ISOweek knitr pander rmarkdown shiny surveillance]; 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; };
-  GEVACO = derive2 { name="GEVACO"; version="1.0.0"; sha256="0rslnxqbj1pbbnp849pdn6l9dyfib9w19a1q3fw7kdjfir76gk6a"; depends=[nlme RLRsim]; 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; };
   IP = derive2 { name="IP"; version="0.1"; sha256="0ranpsacsl2nm8swc3saw6xh6cdsfdyq58jlpki04kk3hsqbr9p0"; depends=[stringi]; broken = true; };
   IRATER = derive2 { name="IRATER"; version="0.0.1"; sha256="0jxdvjmnmangbqy3ibb5qrj9jz3wrzs0wa1r2gjk4v8vsbk0ipcf"; depends=[coda lattice plyr R2admb]; broken = true; };
@@ -18535,10 +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; };
-  KSgeneral = derive2 { name="KSgeneral"; version="1.0.0"; sha256="0pfrhmqgdxa13bjs1jgqkggbjfvwbmx6khkjxcfb96rnf2wccgyc"; depends=[dgof MASS Rcpp]; broken = true; };
-  LexisNexisTools = derive2 { name="LexisNexisTools"; version="0.3.4"; sha256="08v160s9znvv808wcw7319p3dk189bmpypg2wkdzzgkdby4gj3fr"; depends=[data_table pbapply quanteda quanteda_textstats stringdist stringi tibble]; 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; };
+  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; };
   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; };
@@ -18547,100 +18922,132 @@ 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; };
-  RCzechia = derive2 { name="RCzechia"; version="1.8.3"; sha256="025fv6dh1q6g13wmi2q7czgm30d6j9v56ihp8cvag6yqxq60l08x"; depends=[curl httr jsonlite magrittr sf]; 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; };
-  RNAsmc = derive2 { name="RNAsmc"; version="0.6.0"; sha256="0q4b24baabzx41zqygy6l2jnyzc4m7knmlnhra4hhc5f5cl5ab8r"; depends=[circlize RRNA]; 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; };
-  SNPassoc = derive2 { name="SNPassoc"; version="2.0-2"; sha256="16raq5nkm24xqfshncwmf46z2naf2fcixgjs9b7gy1368wn3ahzl"; depends=[BiocStyle ggplot2 haplo_stats mvtnorm plyr poisbinom survival tidyr]; 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; };
   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; };
-  UKB_COVID19 = derive2 { name="UKB.COVID19"; version="0.1.1"; sha256="0626cix3v5j2nflqy6g0dc2101pif3p8x3r62d5kmn1si5p171gn"; depends=[data_table dplyr here magrittr questionr tidyverse]; 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; };
-  abstr = derive2 { name="abstr"; version="0.4.0"; sha256="1alipc1pajjbvs69swxn5xkbjryrmdx5fyrwnfwdrn8l2vkgw10w"; depends=[jsonlite lwgeom magrittr od sf tibble tidyr]; 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; };
-  amt = derive2 { name="amt"; version="0.1.4"; sha256="0xdrpkirdxmni3bcqjjx8xxh3b0bllmsgc3r7h9zd7sf0p3aldhs"; depends=[checkmate circular ctmm dplyr fitdistrplus lubridate magrittr purrr raster Rcpp Rdpack rgeos rlang sf sp survival tibble tidyr]; 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; };
   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; };
   connections = derive2 { name="connections"; version="0.1.1"; sha256="08fbyzyp26nh1a46p0zi3q0wzgl0cd9bjp4lhw2bwv1bv7yayamp"; depends=[DBI dbplyr dplyr pins rscontract uuid]; broken = true; };
   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; };
-  eSIR = derive2 { name="eSIR"; version="0.4.1"; sha256="0vni057bnvjyj0s9vl6rr4qh3pz8h60fwck0xqzyl86psw73g1dh"; depends=[chron coda data_table ggplot2 gtools reshape2 rjags scales]; 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; };
-  fastshap = derive2 { name="fastshap"; version="0.0.5"; sha256="08f25ib5mry6h8lvj0g3clc9kfl5g2wdd8x8bw455wwmbcm6x5vg"; depends=[abind ggplot2 gridExtra matrixStats plyr Rcpp RcppArmadillo tibble]; 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; };
-  glinvci = derive2 { name="glinvci"; version="1.1.4"; sha256="0s8qmrqajsrmzp30xgi49n96ks22dxxa0c5psqkw67n66h39njlh"; depends=[ape BB lbfgsb3c numDeriv plyr Rcgmin rlang]; broken = true; };
-  gorica = derive2 { name="gorica"; version="0.1.1"; sha256="06022nkdqmd653bxi81ks4lq5gx3j9jxbwkx1wjmmj4ph6qabkmn"; depends=[bain lavaan limSolve lme4 MASS mvtnorm quadprog]; 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; };
-  icardaFIGSr = derive2 { name="icardaFIGSr"; version="1.0.1"; sha256="1jmqhzc1nkbw3r9p4skh4pcp6986fa09h5bcyx99892gwn9dh7g0"; depends=[caret doParallel dplyr foreach ggplot2 gWidgets2 gWidgets2RGtk2 httr leaflet magrittr plotROC plyr raster reshape2 RGtk2 sp]; 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; };
-  ivdoctr = derive2 { name="ivdoctr"; version="1.0.0"; sha256="18pca08cww4x13j3ks0mr84c3jkigf09s7wrh5y8pc11ypyxbgp1"; depends=[AER coda data_table MASS Rcpp RcppArmadillo rgl sandwich]; 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; };
@@ -18653,79 +19060,109 @@ 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; };
   mixlink = derive2 { name="mixlink"; version="0.1.5"; sha256="0ywgrcplhspc0x5fniw52xqz20y7j9mwgy4ky8lv3vii659mr52m"; depends=[mvtnorm numDeriv Rcpp RcppGSL]; broken = true; };
+  mlbstatsR = derive2 { name="mlbstatsR"; version="0.1.0.3"; sha256="0rcjfbi383rdk2fyrw47ni0jrzp7yj2sr8xzxvk3gmh321i3pn5d"; depends=[dplyr ggplot2 ggtext glue httr janitor jsonlite purrr rvest stringr tibble tidyr xml2]; broken = true; };
+  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; };
-  mwcsr = derive2 { name="mwcsr"; version="0.1.0"; sha256="0v0c5mlxfy804zp6ykjjn6rhz5ji1h3vnm97cwpdr0r016nvvr9j"; depends=[igraph Rcpp]; 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; };
-  onemap = derive2 { name="onemap"; version="2.1.3"; sha256="0fwkr845zz0j8ccrwpksb28lly1rsgj3603ak1aqqgmlx6481p08"; depends=[ggplot2 MDSMap plotly Rcpp reshape2]; 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; };
-  rabhit = derive2 { name="rabhit"; version="0.1.5"; sha256="0dqzcv241g2b2slygq87w4qkdxalr58zs61k7485b8745xansxmv"; depends=[alakazam cowplot data_table dendextend dplyr fastmatch ggdendro ggplot2 gridExtra gtable gtools htmlwidgets plotly plyr RColorBrewer reshape2 rlang splitstackshape stringi tidyr tigger]; 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; };
   slga = derive2 { name="slga"; version="1.2.0"; sha256="0n96vqczpzc51ln2nraxz0846amasfbm541sy0wf0dsng283mh13"; depends=[httr raster s2 sf xml2]; broken = true; };
   smartR = derive2 { name="smartR"; version="0.62.3"; sha256="0ardb4arhr7qmr30b3ahf7hkwlys9i420bm8h2688phahgfkk0y8"; depends=[caret chron cluster foreign ggplot2 ggrepel ggthemes gridExtra gstat gsubfn gWidgets2 gWidgets2RGtk2 igraph jpeg jsonlite lattice mapdata mapproj maps maptools marmap mtsdi nnls PBSmapping plyr R6 RColorBrewer reshape2 rgdal rgeos rjags ROCR rpart scales shape sp spdep sqldf vegan]; broken = true; };
-  soilphysics = derive2 { name="soilphysics"; version="4.0"; sha256="0b4fkc1plmafjdlad7s4pvca6lafmrswwpfddvsh73734s7cslmq"; depends=[boot fields MASS shiny shinydashboard]; broken = true; };
+  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; };
-  stratifyR = derive2 { name="stratifyR"; version="1.0-2"; sha256="10qlxkdbym206bvl2wc8ig00fvj1n7553vmjk6rs2n4p945qd47g"; depends=[actuar fitdistrplus mc2d triangle zipfR]; 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; };
-  supc = derive2 { name="supc"; version="0.2.5"; sha256="1qj7a1zcj3mf0a40anifjyq851yjksygrpj4vsf0dm4yfwl5viwx"; depends=[BH Rcpp]; 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; };
+  weathercan = derive2 { name="weathercan"; version="0.6.2"; sha256="1mr926rymacx1f8k79pwhcyl5xcymq77l4dxaa2ddlrx5cmyh5cv"; depends=[dplyr httr lubridate memoise purrr rappdirs readr rlang rvest stringi stringr tidyr tidyselect xml2]; broken = true; };
+  wflo = derive2 { name="wflo"; version="1.6"; sha256="04qxm1vvmgxbpj1wwj7n48klhsprkj774jnj4qfhqza33mhymydb"; depends=[emstreeR plotrix progress raster rgdal sp]; broken = true; };
   x12GUI = derive2 { name="x12GUI"; version="0.13.0"; sha256="1mga7g9gwb3nv2qs27lz4n9rp6j3svads28hql88sxaif6is3nk1"; depends=[cairoDevice Hmisc lattice RGtk2 stringr x12]; broken = true; };
+  xlsimple = derive2 { name="xlsimple"; version="1.0.5"; sha256="1snamzq6yljiqakqd6492ylznr9kfl8w0lnaayfn14fk3w03skck"; depends=[XLConnect]; broken = true; };
 }
diff --git a/nixpkgs/pkgs/development/r-modules/default.nix b/nixpkgs/pkgs/development/r-modules/default.nix
index 1c9c479edd47..e2f0c53f110d 100644
--- a/nixpkgs/pkgs/development/r-modules/default.nix
+++ b/nixpkgs/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 ];
@@ -492,6 +492,7 @@ let
     RcppMeCab = [ pkgs.pkg-config ];
     HilbertVisGUI = with pkgs; [ pkg-config which ];
     textshaping = [ pkgs.pkg-config ];
+    ragg = [ pkgs.pkg-config ];
   };
 
   packagesWithBuildInputs = {
@@ -643,10 +644,11 @@ 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 ];
+    ragg = with pkgs; [ freetype.dev libpng.dev libtiff.dev zlib.dev libjpeg.dev bzip2.dev ];
   };
 
   packagesRequiringX = [
@@ -1094,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 \
@@ -1112,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
         '');
@@ -1297,6 +1293,10 @@ let
     RandomFieldsUtils = old.RandomFieldsUtils.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
 
     flowClust = old.flowClust.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
+
+    geomorph = old.geomorph.overrideDerivation (attrs: {
+      RGL_USE_NULL = "true";
+    });
   };
 in
   self
diff --git a/nixpkgs/pkgs/development/r-modules/wrapper-rstudio.nix b/nixpkgs/pkgs/development/r-modules/wrapper-rstudio.nix
index 5eeac8fed30e..b20b61d6c58d 100644
--- a/nixpkgs/pkgs/development/r-modules/wrapper-rstudio.nix
+++ b/nixpkgs/pkgs/development/r-modules/wrapper-rstudio.nix
@@ -1,16 +1,23 @@
-{ lib, runCommand, R, rstudio, wrapQtAppsHook, recommendedPackages, packages, qtbase }:
+{ lib
+, runCommand
+, R
+, rstudio
+, makeWrapper
+, wrapQtAppsHook
+, recommendedPackages
+, packages
+, fontconfig
+}:
 
-let
-  qtVersion = with lib.versions; "${major qtbase.version}.${minor qtbase.version}";
-in
-runCommand (rstudio.name + "-wrapper") {
+runCommand (rstudio.name + "-wrapper")
+{
   preferLocalBuild = true;
   allowSubstitutes = false;
 
-  nativeBuildInputs = [wrapQtAppsHook];
+  nativeBuildInputs = [ (if rstudio.server then makeWrapper else wrapQtAppsHook) ];
   dontWrapQtApps = true;
 
-  buildInputs = [R rstudio] ++ recommendedPackages ++ packages;
+  buildInputs = [ R rstudio ] ++ recommendedPackages ++ packages;
 
   # rWrapper points R to a specific set of packages by using a wrapper
   # (as in https://nixos.org/nixpkgs/manual/#r-packages) which sets
@@ -22,14 +29,27 @@ runCommand (rstudio.name + "-wrapper") {
   # uses R_PROFILE_USER to load this code at startup in RStudio.
   fixLibsR = "fix_libs.R";
 }
-''
-mkdir $out
-ln -s ${rstudio}/share $out
-echo "# Autogenerated by wrapper-rstudio.nix from R_LIBS_SITE" > $out/$fixLibsR
-echo -n ".libPaths(c(.libPaths(), \"" >> $out/$fixLibsR
-echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/$fixLibsR
-echo -n "\"))" >> $out/$fixLibsR
-echo >> $out/$fixLibsR
-makeQtWrapper ${rstudio}/bin/rstudio $out/bin/rstudio \
-  --set R_PROFILE_USER $out/$fixLibsR
-''
+  (
+    ''
+      mkdir -p $out/bin
+      ln -s ${rstudio}/share $out
+      echo "# Autogenerated by wrapper-rstudio.nix from R_LIBS_SITE" > $out/$fixLibsR
+      echo -n ".libPaths(c(.libPaths(), \"" >> $out/$fixLibsR
+      echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/$fixLibsR
+      echo -n "\"))" >> $out/$fixLibsR
+      echo >> $out/$fixLibsR
+    '' +
+    (if
+      rstudio.server then ''
+      makeWrapper ${rstudio}/bin/rsession $out/bin/rsession \
+        --set R_PROFILE_USER $out/$fixLibsR --set FONTCONFIG_FILE ${fontconfig.out}/etc/fonts/fonts.conf
+
+      makeWrapper ${rstudio}/bin/rserver $out/bin/rserver \
+        --add-flags --rsession-path=$out/bin/rsession
+    ''
+    else
+      ''
+        makeQtWrapper ${rstudio}/bin/rstudio $out/bin/rstudio \
+          --set R_PROFILE_USER $out/$fixLibsR
+      '')
+  )
diff --git a/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix b/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix
index 35307a3fbd93..746eb2bb112a 100644
--- a/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/bundled-common/functions.nix
@@ -76,7 +76,7 @@ in rec {
           bundledByPath = true;
           name = gemName;
           version = version;
-          outPath = path;
+          outPath = "${path}";
           outputs = [ "out" ];
           out = res;
           outputName = "out";
diff --git a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
index 330664836821..ecf98d75ce7d 100644
--- a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "2.2.24";
-  source.sha256 = "1x3czmqhlyb593ap7mxkk47idi2jnbnrpwj8xlsjdpi7iair9y62";
+  version = "2.3.6";
+  source.sha256 = "1531z805j3gls2x0pqp2bp1vv1rf5k7ynjl4qk72h8lpm1skqk9r";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
index 64b9d9ca4c22..a3d787ad8e9f 100644
--- a/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/gem-config/default.nix
@@ -26,7 +26,7 @@
 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz
 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk
 , bundler, libsass, libexif, libselinux, libsepol, shared-mime-info, libthai, libdatrie
-, CoreServices, DarwinTools, cctools, libtool
+, CoreServices, DarwinTools, cctools, libtool, discount
 }@args:
 
 let
@@ -135,6 +135,17 @@ in
     hardeningDisable = [ "format" ];
   };
 
+  rdiscount = attrs: {
+    # Use discount from nixpkgs instead of vendored version
+    dontBuild = false;
+    buildInputs = [ discount ];
+    patches = [
+      # Adapted from Debian:
+      # https://sources.debian.org/data/main/r/ruby-rdiscount/2.1.8-1/debian/patches/01_use-system-libmarkdown.patch
+      ./rdiscount-use-nixpkgs-libmarkdown.patch
+    ];
+  };
+
   ethon = attrs: {
     dontBuild = false;
     postPatch = ''
diff --git a/nixpkgs/pkgs/development/ruby-modules/gem-config/rdiscount-use-nixpkgs-libmarkdown.patch b/nixpkgs/pkgs/development/ruby-modules/gem-config/rdiscount-use-nixpkgs-libmarkdown.patch
new file mode 100644
index 000000000000..3539b80ae374
--- /dev/null
+++ b/nixpkgs/pkgs/development/ruby-modules/gem-config/rdiscount-use-nixpkgs-libmarkdown.patch
@@ -0,0 +1,14 @@
+diff --git a/ext/extconf.rb b/ext/extconf.rb
+index 30764cb..b87ac2b 100644
+--- a/ext/extconf.rb
++++ b/ext/extconf.rb
+@@ -46,4 +46,9 @@ if /mswin/.match RbConfig::CONFIG['host_os']
+   $defs.push("-Dinline=__inline")
+ end
+ 
++$srcs = %w[
++  rdiscount.c
++]
++have_library('markdown')
++
+ create_makefile('rdiscount')
diff --git a/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb b/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
index 0d501bd9add7..b0be71102c38 100644
--- a/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
+++ b/nixpkgs/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
@@ -118,9 +118,7 @@ else
   source = Bundler::Source::Path.new(options)
 end
 spec = source.specs.search_all(name).first
-Bundler.rubygems.with_build_args build_flags do
-  source.install(spec)
-end
+source.install(spec, :build_args => build_flags)
 
 msg = spec.post_install_message
 if msg
diff --git a/nixpkgs/pkgs/development/tools/air/default.nix b/nixpkgs/pkgs/development/tools/air/default.nix
index 712f7ad1ca09..fcc3671ded5c 100644
--- a/nixpkgs/pkgs/development/tools/air/default.nix
+++ b/nixpkgs/pkgs/development/tools/air/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "air";
-  version = "1.27.8";
+  version = "1.27.10";
 
   src = fetchFromGitHub {
     owner = "cosmtrek";
     repo = "air";
     rev = "v${version}";
-    sha256 = "sha256-CVx4TDDAVIrJ3lnD2AIuxhmTV+/sIA0viX20zFkznNc=";
+    sha256 = "sha256-mgFLelf0TPjJK/keQz+s52fKlruSn6+KTPj+waJuQdU=";
   };
 
-  vendorSha256 = "sha256-dloXz1hiKAQUmSQv1rLbE5vYrZpKAcwakC71AFXWZqM=";
+  vendorSha256 = "sha256-MEIPkron42OJioV7PPhnLWVevjKDs5Bw3jDmvZbac9s=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/amazon-qldb-shell/default.nix b/nixpkgs/pkgs/development/tools/amazon-qldb-shell/default.nix
new file mode 100644
index 000000000000..06fc4d2e90ea
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/amazon-qldb-shell/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, clang
+, cmake
+, fetchFromGitHub
+, llvmPackages
+, rustPlatform
+, testVersion
+}:
+
+let
+  pname = "amazon-qldb-shell";
+  version = "2.0.0";
+  package = rustPlatform.buildRustPackage {
+    inherit pname version;
+
+    src = fetchFromGitHub {
+      owner = "awslabs";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "sha256-Pnm1HxEjjNKpS3tTymtOXxUF7EEnWM+7WBsqeaG8seA=";
+    };
+
+    nativeBuildInputs = [ clang cmake ];
+    buildInputs = [ llvmPackages.libclang ];
+
+    cargoSha256 = "sha256-EUqGSKcGnhrdLn8ystaLkkR31RjEvjW6vRzKPMK77e8=";
+
+    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 ];
+    };
+  };
+in
+package
diff --git a/nixpkgs/pkgs/development/tools/ammonite/default.nix b/nixpkgs/pkgs/development/tools/ammonite/default.nix
index 13b0e8d25705..080a8362ba70 100644
--- a/nixpkgs/pkgs/development/tools/ammonite/default.nix
+++ b/nixpkgs/pkgs/development/tools/ammonite/default.nix
@@ -9,7 +9,7 @@ let
   common = { scalaVersion, sha256 }:
     stdenv.mkDerivation rec {
       pname = "ammonite";
-      version = "2.5.0";
+      version = "2.5.2";
 
       src = fetchurl {
         url =
@@ -83,10 +83,10 @@ let
 in {
   ammonite_2_12 = common {
     scalaVersion = "2.12";
-    sha256 = "sha256-JTW1xb+eCb0yhzrA1ntmalP88JoUo+KrjOBvs+cuE/A=";
+    sha256 = "sha256-vj0Ze+Tn8jgq1mIVZWq2q768vW6fNXHB28gMcB9bWHU=";
   };
   ammonite_2_13 = common {
     scalaVersion = "2.13";
-    sha256 = "sha256-l5kGPP8tuYi16t6u8ZeAY54yqAWJZR5UuopSGQ69v9Y=";
+    sha256 = "sha256-ZuPyZFD3/VRP/GegcKqXZm3bveQB/Xr5E39eQktDCJI=";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/analysis/actionlint/default.nix b/nixpkgs/pkgs/development/tools/analysis/actionlint/default.nix
index 7b525b412054..a2c1e0a06c0b 100644
--- a/nixpkgs/pkgs/development/tools/analysis/actionlint/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/actionlint/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
     sha256 = "sha256-wjLY40bxpoMk6YIG/4KbjxSWUDVNn3cX5OcsgfEPjzk=";
   };
 
-  vendorSha256 = "sha256-J/DlugisnCvbYpqMQuyISyiKHB0hepHrQKsnzSes2zs=";
+  vendorSha256 = "sha256-0tytdTZxnWYl8AxaquF0ArY3dy51j8H2kzw69qcSHzk=";
 
   nativeBuildInputs = [ ronn installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix b/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix
index d354b71fc9f3..2d8348bfc9bc 100644
--- a/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/bingrep/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bingrep";
-  version = "0.8.5";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "m4b";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ayA3aEidZPa5GJgbbm5K3X2Xgd5Eb6TgUU80Gw/p07w=";
+    hash = "sha256-M3BYj1SKQKjEqP9cxaVlh7UeleDbcx6JN+UI6Ez+QJ8=";
   };
 
-  cargoSha256 = "sha256-XcXllex7UEufV5URhH7aqln1tNxwaiAETO3fUKmHf7s=";
+  cargoHash = "sha256-botAoLNg/qTh+cjPXcjo/Ol2Vktj/c5130k5falEuLY=";
 
   meta = with lib; {
     description = "Greps through binaries from various OSs and architectures, and colors them";
diff --git a/nixpkgs/pkgs/development/tools/analysis/binlore/default.nix b/nixpkgs/pkgs/development/tools/analysis/binlore/default.nix
index aba1c59b979d..ac46bd4c4185 100644
--- a/nixpkgs/pkgs/development/tools/analysis/binlore/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/binlore/default.nix
@@ -30,8 +30,8 @@ let
   src = fetchFromGitHub {
     owner = "abathur";
     repo = "binlore";
-    rev = "v0.1.3";
-    hash = "sha256-+rgv8gAQ3ptOpL/EhbKr/jq+k/4Lpn06/2qON+Ps2wE=";
+    rev = "v0.1.4";
+    hash = "sha256-+N0Bqyaj/mAwrcgFtUI8czmKo3VW6J8ZRxaPEghp7QM=";
   };
   /*
   binlore has one one more yallbacks responsible for
diff --git a/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
index 6402f90d5676..101a4f948fce 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tarpaulin";
-  version = "0.18.3";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "xd009642";
     repo = "tarpaulin";
     rev = version;
-    sha256 = "sha256-n43n9rmLWmGF7JXz/jspT6Stn0fQnkbkxqbuqXiZLHA=";
+    sha256 = "sha256-H/EQTS+d317icCZdOWTvykzIFQC7ia7/jYFkImgogps=";
   };
 
   nativeBuildInputs = [
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ curl Security ];
 
-  cargoSha256 = "sha256-dJey7z0gRUu5MRKOfR909eQNTt3zpZnoWYvRhHzZlGs=";
+  cargoSha256 = "sha256-A3J5od6yT7eVU66WfvG/umne0RDBZCf8IvQpW6OTZSE=";
   #checkFlags = [ "--test-threads" "1" ];
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/cccc/default.nix b/nixpkgs/pkgs/development/tools/analysis/cccc/default.nix
index bcbda8ad7e60..dc7cccd9dc1d 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cccc/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cccc/default.nix
@@ -1,14 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-let
-  name = "cccc";
+stdenv.mkDerivation rec {
+  pname = "cccc";
   version = "3.1.4";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${name}/${version}/${name}-${version}.tar.gz";
+    url = "mirror://sourceforge/cccc/${version}/cccc-${version}.tar.gz";
     sha256 = "1gsdzzisrk95kajs3gfxks3bjvfd9g680fin6a9pjrism2lyrcr7";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix b/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix
index 38921d25fe06..79efb55f0810 100644
--- a/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix
@@ -6,36 +6,22 @@ let
   py = python3.override {
     packageOverrides = self: super: {
 
-      boto3 = super.boto3.overridePythonAttrs (oldAttrs: rec {
-        version = "1.17.112";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1byqrffbgpp1mq62gnn3w3hnm54dfar0cwgvmkl7mrgbwz5xmdh8";
-        };
-      });
-
-      botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
-        version = "1.20.112";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1ksdjh3mwbzgqgfj58vyrhann23b9gqam8id2svmpdmmdq5vgffh";
-        };
-      });
-
-      s3transfer = super.s3transfer.overridePythonAttrs (oldAttrs: rec {
-        version = "0.4.2";
+      dpath = super.dpath.overridePythonAttrs (oldAttrs: rec {
+        version = "1.5.0";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "1cp169vz9rvng7dwbn33fgdbl3b014zpsdqsnfxxw7jm2r5jy0nb";
+          sha256 = "06rn91n2izw7czncgql71w7acsa8wwni51njw0c6s8w4xas1arj9";
         };
+        doCheck = false;
       });
 
-      dpath = super.dpath.overridePythonAttrs (oldAttrs: rec {
-        version = "1.5.0";
+      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
+        version = "3.2.0";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "06rn91n2izw7czncgql71w7acsa8wwni51njw0c6s8w4xas1arj9";
+          sha256 = "sha256-yKhbKNN3zHc35G4tnytPRO48Dh3qxr9G3e/HGH0weXo=";
         };
+        SETUPTOOLS_SCM_PRETEND_VERSION = version;
         doCheck = false;
       });
 
@@ -46,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.702";
+  version = "2.0.875";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6FaJkGQpjTNW73D39KD9qMw97znt9B1vzdlJPvqI7Vo=";
+    hash = "sha256-ZM554FZayuxxf9dgbGcvfPoXm5rWjjZoNySnKpxRO/w=";
   };
 
   nativeBuildInputs = with py.pkgs; [
@@ -78,10 +64,13 @@ buildPythonApplication rec {
     dpath
     GitPython
     jmespath
+    jsonpath-ng
+    jsonschema
     junit-xml
     networkx
     packaging
     policyuniverse
+    prettytable
     pyyaml
     semantic-version
     tabulate
@@ -93,7 +82,6 @@ buildPythonApplication rec {
 
   checkInputs = with py.pkgs; [
     aioresponses
-    jsonschema
     mock
     pytest-asyncio
     pytest-mock
@@ -101,11 +89,28 @@ buildPythonApplication rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "cyclonedx-python-lib>=0.11.0,<1.0.0" "cyclonedx-python-lib>=0.11.0" \
+      --replace "prettytable>=3.0.0" "prettytable"
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
   disabledTests = [
     # No API key available
     "api_key"
     # Requires network access
     "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_direct_prod2_oberlay"
+    # Requires prettytable release which is only available in staging
+    "test_skipped_check_exists"
+    "test_record_relative_path_with_relative_dir"
   ];
 
   disabledTestPaths = [
@@ -115,6 +120,9 @@ buildPythonApplication rec {
     "tests/terraform/"
     # Performance tests have no value for us
     "performance_tests/test_checkov_performance.py"
+    # Requires prettytable release which is only available in staging
+    "tests/sca_package/"
+    "tests/test_runner_filter.py"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
index c22f25fbc938..6c135beea458 100644
--- a/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.45.1";
+  version = "9.3";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "sha256-H4w/rjVBhZCfBzLavd4/BkojwhCu05VsxrtzyS0wyk4=";
+    sha256 = "sha256-Aq0zB+RgWafE+K9sX2H0d7xf2RDlavsUXEWQTJXSE6w=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
index 7491b5892744..8bf2ed7c04ec 100644
--- a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.7.3";
+  version = "2.8.0";
 
   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-wvN9NODw8JV30mDGhs7qlCoyp3Z3bJSGUfQ6+GtE5kE=";
+    sha256 = "sha256-IcYD9o6rv1ti4IvTEEJ5iV1OdJP7cHN0vetrvabxeas=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix b/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
index f7e6f040ba2e..7f9e82162ea4 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix b/nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix
index 983dd2c2a999..49331dbfceb5 100644
--- a/nixpkgs/pkgs/development/tools/analysis/dotenv-linter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/eresi/default.nix b/nixpkgs/pkgs/development/tools/analysis/eresi/default.nix
index b8abad44f241..158f6545b714 100644
--- a/nixpkgs/pkgs/development/tools/analysis/eresi/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/eresi/default.nix
@@ -59,8 +59,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "The ERESI Reverse Engineering Software Interface";
-    license = lib.licenses.gpl2;
-    homepage = "http://www.eresi-project.org/";
+    license = lib.licenses.gpl2Only;
+    homepage = "https://github.com/thorkill/eresi"; # Formerly http://www.eresi-project.org/
     platforms = lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
index 56929f16c477..36c852857041 100644
--- a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.168.0";
+  version = "0.172.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256:0bd5xja547gwjh7zn26l52mssp6l9djd0lfc581zj30yx07aimi5";
+    sha256 = "sha256-N3mP1dhul7Ljn278CJmge4IrVllQJsc73A3/7mTSU70=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix b/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
index 1b627376aca0..b5ae5055d02d 100644
--- a/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/frama-c/default.nix
@@ -44,8 +44,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf wrapGAppsHook ];
 
   buildInputs = with ocamlPackages; [
-    ncurses ocaml findlib ltl2ba ocamlgraph ocamlgraph_gtk yojson menhirLib camlzip
-    lablgtk coq graphviz zarith apron why3 mlgmpidl doxygen
+    ncurses ocaml findlib ltl2ba ocamlgraph yojson menhirLib camlzip
+    lablgtk3 lablgtk3-sourceview3 coq graphviz zarith apron why3 mlgmpidl doxygen
     gdk-pixbuf
   ];
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix b/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix
index 26c7b6dd0b70..a1eec36204bf 100644
--- a/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix
@@ -10,12 +10,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "ikos";
+  pname = "ikos";
   version = "3.0";
 
   src = fetchFromGitHub {
     owner = "NASA-SW-VnV";
-    repo = name;
+    repo = "ikos";
     rev = "v${version}";
     sha256 = "0k3kp1af0qx3l1x6a4sl4fm8qlwchjvwkvs2ck0fhfnc62q2im5f";
   };
diff --git a/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix b/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix
index 72154e909b65..3752fa8e251d 100644
--- a/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/oclgrind/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, readline, python }:
+{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, readline, python2 }:
 
 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 ];
-  buildInputs = [ llvmPackages.llvm llvmPackages.clang-unwrapped readline python ];
+  buildInputs = [ llvmPackages.llvm llvmPackages.clang-unwrapped readline python2 ];
 
   cmakeFlags = [
     "-DCLANG_ROOT=${llvmPackages.clang-unwrapped}"
diff --git a/nixpkgs/pkgs/development/tools/analysis/pmd/default.nix b/nixpkgs/pkgs/development/tools/analysis/pmd/default.nix
index 64ab4a315de1..da73737530ed 100644
--- a/nixpkgs/pkgs/development/tools/analysis/pmd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/qcachegrind/default.nix b/nixpkgs/pkgs/development/tools/analysis/qcachegrind/default.nix
index 1f7c6641b1cc..5ce79a092488 100644
--- a/nixpkgs/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -1,14 +1,12 @@
-{ lib, stdenv, qmake, qtbase, perl, python, php, kcachegrind, wrapQtAppsHook }:
+{ lib, stdenv, qmake, qtbase, perl, python2, php, kcachegrind, wrapQtAppsHook }:
 
-let
-  name = lib.replaceStrings ["kcachegrind"] ["qcachegrind"] kcachegrind.name;
-
-in stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation {
+  pname = "qcachegrind";
+  version = kcachegrind.version;
 
   src = kcachegrind.src;
 
-  buildInputs = [ qtbase perl python php ];
+  buildInputs = [ qtbase perl python2 php ];
 
   nativeBuildInputs = [ qmake wrapQtAppsHook ];
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix b/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
index c50f75c154ea..1bef8cd07586 100644
--- a/nixpkgs/pkgs/development/tools/analysis/radare2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/randoop/default.nix b/nixpkgs/pkgs/development/tools/analysis/randoop/default.nix
index 5ea43e5555bc..4c33ef57a47d 100644
--- a/nixpkgs/pkgs/development/tools/analysis/randoop/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/rizin/cutter.nix b/nixpkgs/pkgs/development/tools/analysis/rizin/cutter.nix
index 698f9e8231d0..a6ac4fbce12f 100644
--- a/nixpkgs/pkgs/development/tools/analysis/rizin/cutter.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/rizin/cutter.nix
@@ -11,13 +11,13 @@
 
 mkDerivation rec {
   pname = "cutter";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "rizinorg";
     repo = "cutter";
     rev = "v${version}";
-    sha256 = "sha256-Z5mqLkeA7AZnvKdpdRzaYfNMsGUI7i7wPTXVyIRYwxI=";
+    sha256 = "sha256-ljws9S7ZxZK/Ou8jgGSoR++vtzFTEBywHMhCC/UOLEs=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix b/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix
index e632c3c3cc01..c4cdf85a7d8a 100644
--- a/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rizin";
-  version = "0.3.1";
+  version = "0.3.4";
 
   src = fetchurl {
     url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz";
-    sha256 = "sha256-muS3+cR75jZl/Q5ZN1srEPg8NxVquwRMpNYcHw/Ij34=";
+    sha256 = "sha256-7qSbOWOHwJ0ZcFqrAqYXzbFWgvymfxAf8rJ+75SnEOk=";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/spin/default.nix b/nixpkgs/pkgs/development/tools/analysis/spin/default.nix
index 5f0c7bffe94f..62026d527810 100644
--- a/nixpkgs/pkgs/development/tools/analysis/spin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/svlint/default.nix b/nixpkgs/pkgs/development/tools/analysis/svlint/default.nix
index dc38728a44a2..ef4e31e9481f 100644
--- a/nixpkgs/pkgs/development/tools/analysis/svlint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
index 951e95b1477c..869d7e464a52 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-ltxFduUr+poi4tEjViQXCbe+j3fUdvBG8CTaM7VdpK0=";
   };
 
-  vendorSha256 = "sha256-iZdWCSkdKG0SXcUtZ0DgDGk25vESlv2dSbcK1gUVTV8=";
+  vendorSha256 = "sha256-xEmDOP2DbTZ8bpK4OCabIpOwORB8EOJZkHCxL5wBeEU=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
index 75d1b3035ee3..87e7676da899 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoPackage rec {
   pname = "tfsec";
-  version = "0.63.1";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-khAVb+uwr3qyAWjvMjPG//+FKQJ9qoVwmhsej++IQhs=";
+    sha256 = "sha256-KIS2o2pLus5aohRYsabWRxZs4KfYM6PXSNp0JZhhlZk=";
   };
 
   goPackagePath = "github.com/aquasecurity/tfsec";
diff --git a/nixpkgs/pkgs/development/tools/analysis/yallback/default.nix b/nixpkgs/pkgs/development/tools/analysis/yallback/default.nix
index 17263d1766a8..4e62ff5b9ed8 100644
--- a/nixpkgs/pkgs/development/tools/analysis/yallback/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/yallback/default.nix
@@ -7,13 +7,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.1.0";
+  version = "0.2.0";
   pname = "yallback";
   src = fetchFromGitHub {
     owner = "abathur";
     repo = "yallback";
     rev = "v${version}";
-    hash = "sha256-FaPqpxstKMhqLPFLIdenHgwzDE3gspBbJUSY95tblgI=";
+    hash = "sha256-t+fdnDJMFiFqN23dSY3TnsZsIDcravtwdNKJ5MiZosE=";
   };
 
   buildInputs = [ coreutils bashInteractive ];
diff --git a/nixpkgs/pkgs/development/tools/appthreat-depscan/default.nix b/nixpkgs/pkgs/development/tools/appthreat-depscan/default.nix
new file mode 100644
index 000000000000..e93dfe845436
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/appthreat-depscan/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "appthreat-depscan";
+  version = "2.1.2";
+
+  src = fetchFromGitHub {
+    owner = "AppThreat";
+    repo = "dep-scan";
+    rev = "v${version}";
+    hash = "sha256-hRmTx0qs/QnDLl4KhGbKw5Mucq4wQCaCIkeObrZlJSI=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appthreat-vulnerability-db
+    defusedxml
+    pyyaml
+    rich
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --cov-append --cov-report term --cov depscan" ""
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  disabledTests = [
+    # Assertion Error
+    "test_query_metadata2"
+  ];
+
+  pythonImportsCheck = [
+    "depscan"
+  ];
+
+  meta = with lib; {
+    description = "Tool to audit dependencies based on known vulnerabilities and advisories";
+    homepage = "https://github.com/AppThreat/dep-scan";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/ashpd-demo/default.nix b/nixpkgs/pkgs/development/tools/ashpd-demo/default.nix
index 9e24309d984a..f6842dacec9e 100644
--- a/nixpkgs/pkgs/development/tools/ashpd-demo/default.nix
+++ b/nixpkgs/pkgs/development/tools/ashpd-demo/default.nix
@@ -4,7 +4,6 @@
 , nix-update-script
 , meson
 , ninja
-, python3
 , rustPlatform
 , pkg-config
 , glib
@@ -22,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ashpd-demo";
-  version = "0.0.1-alpha";
+  version = "0.2.2";
 
   src =
     let
@@ -30,7 +29,7 @@ stdenv.mkDerivation rec {
         owner = "bilelmoussaoui";
         repo = "ashpd";
         rev = version;
-        sha256 = "Lf3Wj4VTDyJ5a1bJTEI6R6aaeEHZ+4hO+BsD98sKb/s=";
+        sha256 = "9O6XqM4oys/hXgztQQ8tTobJV8U52db/VY6FlTMUvGY=";
       };
     in
     "${share}/ashpd-demo";
@@ -38,14 +37,13 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-npqC8lu7acAggJyR4iDkcQZYMNNnseV2pB3+j4G/nIk=";
+    hash = "sha256-eFq42m16zzrUBbAqv7BsAf4VxyO93WynLjvIzKbZwnQ=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    python3
     rustPlatform.rust.cargo
     rustPlatform.cargoSetupHook
     rustPlatform.rust.rustc
@@ -70,13 +68,6 @@ stdenv.mkDerivation rec {
   # <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";
 
-  postPatch = ''
-    patchShebangs build-aux/meson_post_install.py
-    # https://github.com/bilelmoussaoui/ashpd/pull/32
-    substituteInPlace build-aux/meson_post_install.py \
-      --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
-  '';
-
   passthru = {
     updateScript = nix-update-script {
       attrPath = pname;
diff --git a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix b/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
index d38ac9ba88c9..0bbe2056be54 100644
--- a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
@@ -5,16 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "1.36.0";
+  version = "1.37.0";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-GJbBhe1l25ZHGWVu1o2oJvd/BNv8dv7aIYor/ebFl9U=";
+    hash = "sha256-XE3g2mKwAiaJvi0ShVScnCKrmz7ujaQgOeFXuYwtP4g=";
   };
 
-  # Tests are not included in the PyPI package
-  doCheck = false;
-
   propagatedBuildInputs = with python3.pkgs; [
     aws-lambda-builders
     aws-sam-translator
@@ -42,18 +39,23 @@ python3.pkgs.buildPythonApplication rec {
   # fix over-restrictive version bounds
   postPatch = ''
     substituteInPlace requirements/base.txt \
+      --replace "aws_lambda_builders==" "aws-lambda-builders #" \
       --replace "click~=7.1" "click~=8.0" \
-      --replace "Flask~=1.1.2" "Flask~=2.0" \
       --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 "regex==" "regex #" \
       --replace "requests==" "requests #" \
-      --replace "watchdog==" "watchdog #" \
-      --replace "aws_lambda_builders==" "aws-lambda-builders #" \
       --replace "typing_extensions==" "typing-extensions #" \
-      --replace "regex==" "regex #" \
-      --replace "tzlocal==3.0" "tzlocal"
+      --replace "tzlocal==3.0" "tzlocal #" \
+      --replace "tomlkit==0.7.2" "tomlkit #" \
+      --replace "watchdog==" "watchdog #"
   '';
 
+  # Tests are not included in the PyPI package
+  doCheck = false;
+
   meta = with lib; {
     homepage = "https://github.com/awslabs/aws-sam-cli";
     description = "CLI tool for local development and testing of Serverless applications";
diff --git a/nixpkgs/pkgs/development/tools/bacon/default.nix b/nixpkgs/pkgs/development/tools/bacon/default.nix
index c31529fd4e1d..271d946000be 100644
--- a/nixpkgs/pkgs/development/tools/bacon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/bazel-kazel/default.nix b/nixpkgs/pkgs/development/tools/bazel-kazel/default.nix
index abb32b3ba513..b3f58262b1dd 100644
--- a/nixpkgs/pkgs/development/tools/bazel-kazel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix b/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix
index e10a455c0906..5b0dd0349439 100644
--- a/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix
+++ b/nixpkgs/pkgs/development/tools/bazel-watcher/default.nix
@@ -12,7 +12,7 @@ let
   ];
 in
 buildBazelPackage rec {
-  name = "bazel-watcher-${version}";
+  pname = "bazel-watcher";
   version = "0.14.0";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/tools/bingo/default.nix b/nixpkgs/pkgs/development/tools/bingo/default.nix
new file mode 100644
index 000000000000..8fe1dbaa4bea
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/bingo/version_go.patch b/nixpkgs/pkgs/development/tools/bingo/version_go.patch
new file mode 100644
index 000000000000..2898326a0547
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/buf/default.nix b/nixpkgs/pkgs/development/tools/buf/default.nix
index 7914af6ec808..60d8d8f58b8c 100644
--- a/nixpkgs/pkgs/development/tools/buf/default.nix
+++ b/nixpkgs/pkgs/development/tools/buf/default.nix
@@ -5,19 +5,21 @@
 , git
 , testVersion
 , buf
+, installShellFiles
 }:
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.0.0-rc8";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Oye+nYvKdT9t36hAMJSAJZCOQ2L3rHSjhjIu9gU2MWo=";
+    sha256 = "sha256-jJaob2eaozMFRsXwW6ulgM5De3UmpLZddTHwq6PnaeE=";
   };
-  vendorSha256 = "sha256-aZv44ZPW/bJ8TEXU79ExREj2DH6j7J1+E/E1yh13Hvc=";
+
+  vendorSha256 = "sha256-wPnrkfv6pJB6tkZo2oeMbWHbF9njGh1ZEWu8tkHDhGo=";
 
   patches = [
     # Skip a test that requires networking to be available to work.
@@ -26,12 +28,15 @@ buildGoModule rec {
     ./skip_test_requiring_dotgit.patch
   ];
 
-  nativeBuildInputs = [ protobuf ];
-  # 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"
@@ -42,6 +47,7 @@ buildGoModule rec {
   installPhase = ''
     runHook preInstall
 
+    # Binaries
     mkdir -p "$out/bin"
     # Only install required binaries, don't install testing binaries
     for FILE in \
@@ -51,6 +57,16 @@ buildGoModule rec {
       cp "$GOPATH/bin/$FILE" "$out/bin/"
     done
 
+    # Completions
+    installShellCompletion --cmd buf \
+      --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
+    installManPage man/*
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix
index 80f8f1f886c2..14b16b6cc82f 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-ant/1.9.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
     ''; # */
 
   meta = {
-    homepage = "http://ant.apache.org/";
+    homepage = "https://ant.apache.org/";
     description = "A Java-based build tool";
 
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
index 24f2a54f42e5..3cc3f374045f 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Build automation tool (used primarily for Java projects)";
-    homepage = "http://maven.apache.org/";
+    homepage = "https://maven.apache.org/";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ cko ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index 9c64b4a078c9..dd3b2ae2bf26 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-3ZN/SCTQ5k0X4cqnrpp8Yt1QDnYkT2RbMLKpDfdWaxk=";
   };
 
-  vendorSha256 = "sha256-XBsYSA0i0q/mp8sQh9h//pjs+TbEDc7UIdNU24/Qemo=";
+  vendorSha256 = "sha256-UhES+jJil6+JmGH27p/LC/b5rZfHC4RIjA9nCFeB7Ao=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
index f03f42be389f..6168c4a477f6 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
@@ -114,10 +114,10 @@ stdenv'.mkDerivation rec {
     bashTools = callPackage ./bash-tools-test.nix {};
   };
 
-  name = "bazel-${version}";
+  pname = "bazel";
 
   src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/${name}-dist.zip";
+    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
     sha256 = "d26dadf62959255d58e523da3448a6222af768fe1224e321b120c1d5bbe4b4f2";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
index d9c93c2265f5..3c71c8cc0891 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
index d7943ef25844..72c971d1334d 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
@@ -536,6 +536,7 @@ stdenv.mkDerivation rec {
     unzip
     which
     zip
+    python3.pkgs.absl-py   # Needed to build fish completion
   ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ];
 
   # Bazel makes extensive use of symlinks in the WORKSPACE.
@@ -549,8 +550,6 @@ stdenv.mkDerivation rec {
     shopt -s dotglob extglob
     mv !(bazel_src) bazel_src
   '';
-  # Needed to build fish completion
-  propagatedBuildInputs = [ python3.pkgs.absl-py ];
   buildPhase = ''
     runHook preBuild
 
@@ -661,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/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/actions_path.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/actions_path.patch
new file mode 100644
index 000000000000..1fa1e5748333
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/actions_path.patch
@@ -0,0 +1,41 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java
+index 6fff2af..7e2877e 100644
+--- a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java
++++ b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java
+@@ -47,6 +47,16 @@ public final class PosixLocalEnvProvider implements LocalEnvProvider {
+       Map<String, String> env, BinTools binTools, String fallbackTmpDir) {
+     ImmutableMap.Builder<String, String> result = ImmutableMap.builder();
+     result.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR")));
++
++    // In case we are running on NixOS.
++    // If bash is called with an unset PATH on this platform,
++    // it will set it to /no-such-path and default tools will be missings.
++    // See, https://github.com/NixOS/nixpkgs/issues/94222
++    // So we ensure that minimal dependencies are present.
++    if (!env.containsKey("PATH")){
++        result.put("PATH", "@actionsPathPatch@");
++    }
++ 
+     String p = clientEnv.get("TMPDIR");
+     if (Strings.isNullOrEmpty(p)) {
+       // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR
+index 95642767c6..39d3c62461 100644
+--- a/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java
++++ b/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java
+@@ -74,6 +74,16 @@ public final class XcodeLocalEnvProvider implements LocalEnvProvider {
+
+     ImmutableMap.Builder<String, String> newEnvBuilder = ImmutableMap.builder();
+     newEnvBuilder.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR")));
++
++    // In case we are running on NixOS.
++    // If bash is called with an unset PATH on this platform,
++    // it will set it to /no-such-path and default tools will be missings.
++    // See, https://github.com/NixOS/nixpkgs/issues/94222
++    // So we ensure that minimal dependencies are present.
++    if (!env.containsKey("PATH")){
++      newEnvBuilder.put("PATH", "@actionsPathPatch@");
++    }
++
+     String p = clientEnv.get("TMPDIR");
+     if (Strings.isNullOrEmpty(p)) {
+       // Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
new file mode 100644
index 000000000000..8770174ab26c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
@@ -0,0 +1,669 @@
+{ stdenv, callPackage, lib, fetchurl, fetchpatch, fetchFromGitHub, installShellFiles
+, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
+# this package (through the fixpoint glass)
+, bazel_self
+# needed only for the updater
+, bazel_4
+, lr, xe, zip, unzip, bash, writeCBin, coreutils
+, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
+# updater
+, python27, python3, writeScript
+# Apple dependencies
+, cctools, libcxx, CoreFoundation, CoreServices, Foundation
+# Allow to independently override the jdks used to build and run respectively
+, buildJdk, runJdk
+, runtimeShell
+# Downstream packages for tests
+, bazel-watcher
+# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
+# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
+, enableNixHacks ? false
+, gcc-unwrapped
+, autoPatchelfHook
+, file
+, substituteAll
+, writeTextFile
+}:
+
+let
+  version = "5.0.0";
+  sourceRoot = ".";
+
+  src = fetchurl {
+    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
+    sha256 = "By3WLSN9vBHgusAuEY2MLbTQujugnxoOseKkYPuEGds=";
+  };
+
+  # Update with `eval $(nix-build -A bazel.updater)`,
+  # then add new dependencies from the dict in ./src-deps.json as required.
+  srcDeps = lib.attrsets.attrValues srcDepsSet;
+  srcDepsSet =
+    let
+      srcs = lib.importJSON ./src-deps.json;
+      toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
+        urls = d.urls;
+        sha256 = d.sha256;
+        });
+        in builtins.listToAttrs (map toFetchurl [
+      srcs.desugar_jdk_libs
+      srcs.io_bazel_skydoc
+      srcs.bazel_skylib
+      srcs.bazelci_rules
+      srcs.io_bazel_rules_sass
+      srcs.platforms
+      srcs."remote_java_tools_for_testing"
+      srcs."coverage_output_generator-v2.5.zip"
+      srcs.build_bazel_rules_nodejs
+      srcs."android_tools_pkg-0.23.0.tar.gz"
+      srcs.bazel_toolchains
+      srcs.com_github_grpc_grpc
+      srcs.upb
+      srcs.com_google_protobuf
+      srcs.rules_pkg
+      srcs.rules_cc
+      srcs.rules_java
+      srcs.rules_proto
+      srcs.com_google_absl
+      srcs.com_googlesource_code_re2
+      srcs.com_github_cares_cares
+      ]);
+
+  distDir = runCommand "bazel-deps" {} ''
+    mkdir -p $out
+    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
+  '';
+
+  defaultShellUtils =
+    # Keep this list conservative. For more exotic tools, prefer to use
+    # @rules_nixpkgs to pull in tools from the nix repository. Example:
+    #
+    # WORKSPACE:
+    #
+    #     nixpkgs_git_repository(
+    #         name = "nixpkgs",
+    #         revision = "def5124ec8367efdba95a99523dd06d918cb0ae8",
+    #     )
+    #
+    #     # This defines an external Bazel workspace.
+    #     nixpkgs_package(
+    #         name = "bison",
+    #         repositories = { "nixpkgs": "@nixpkgs//:default.nix" },
+    #     )
+    #
+    # some/BUILD.bazel:
+    #
+    #     genrule(
+    #        ...
+    #        cmd = "$(location @bison//:bin/bison) -other -args",
+    #        tools = [
+    #            ...
+    #            "@bison//:bin/bison",
+    #        ],
+    #     )
+    #
+    # Some of the scripts explicitly depend on Python 2.7. Otherwise, we
+    # default to using python3. Therefore, both python27 and python3 are
+    # runtime dependencies.
+    [
+      bash
+      coreutils
+      file
+      findutils
+      gawk
+      gnugrep
+      gnused
+      gnutar
+      gzip
+      python27
+      python3
+      unzip
+      which
+      zip
+    ];
+
+  defaultShellPath = lib.makeBinPath defaultShellUtils;
+
+  platforms = lib.platforms.linux ++ lib.platforms.darwin;
+
+  system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
+  arch = stdenv.hostPlatform.parsed.cpu.name;
+
+  bazelRC = writeTextFile {
+    name = "bazel-rc";
+    text = ''
+      startup --server_javabase=${runJdk}
+
+      # Can't use 'common'; https://github.com/bazelbuild/bazel/issues/3054
+      # Most commands inherit from 'build' anyway.
+      build --distdir=${distDir}
+      fetch --distdir=${distDir}
+      query --distdir=${distDir}
+
+      build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition
+      build --tool_java_runtime_version=local_jdk_11
+      build --java_runtime_version=local_jdk_11
+
+      # load default location for the system wide configuration
+      try-import /etc/bazel.bazelrc
+    '';
+  };
+
+in
+stdenv.mkDerivation rec {
+  pname = "bazel";
+  inherit version;
+
+  meta = with lib; {
+    homepage = "https://github.com/bazelbuild/bazel/";
+    description = "Build tool that builds code quickly and reliably";
+    license = licenses.asl20;
+    maintainers = lib.teams.bazel.members;
+    inherit platforms;
+  };
+
+  inherit src;
+  inherit sourceRoot;
+  patches = [
+    # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
+    # This is breaking the build of any C target. This patch removes the last
+    # argument if it's found to be an empty string.
+    ../trim-last-argument-to-gcc-if-empty.patch
+
+    # On Darwin, using clang 6 to build fails because of a linker error (see #105573),
+    # but using clang 7 fails because libarclite_macosx.a cannot be found when linking
+    # the xcode_locator tool.
+    # This patch removes using the -fobjc-arc compiler option and makes the code
+    # compile without automatic reference counting. Caveat: this leaks memory, but
+    # we accept this fact because xcode_locator is only a short-lived process used during the build.
+    (substituteAll {
+      src = ./no-arc.patch;
+      multiBinPatch = if stdenv.hostPlatform.system == "aarch64-darwin" then "arm64" else "x86_64";
+    })
+
+    # --experimental_strict_action_env (which may one day become the default
+    # see bazelbuild/bazel#2574) hardcodes the default
+    # action environment to a non hermetic value (e.g. "/usr/local/bin").
+    # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
+    # So we are replacing this bazel paths by defaultShellPath,
+    # improving hermeticity and making it work in nixos.
+    (substituteAll {
+      src = ../strict_action_env.patch;
+      strictActionEnvPatch = defaultShellPath;
+    })
+
+    (substituteAll {
+      src = ./actions_path.patch;
+      actionsPathPatch = defaultShellPath;
+    })
+
+    # bazel reads its system bazelrc in /etc
+    # override this path to a builtin one
+    (substituteAll {
+      src = ../bazel_rc.patch;
+      bazelSystemBazelRCPath = bazelRC;
+    })
+  ] ++ lib.optional enableNixHacks ../nix-hacks.patch;
+
+
+  # Additional tests that check bazel’s functionality. Execute
+  #
+  #     nix-build . -A bazel.tests
+  #
+  # in the nixpkgs checkout root to exercise them locally.
+  passthru.tests =
+    let
+      runLocal = name: attrs: script:
+      let
+        attrs' = removeAttrs attrs [ "buildInputs" ];
+        buildInputs = [ python3 which ] ++ (attrs.buildInputs or []);
+      in
+      runCommandCC name ({
+        inherit buildInputs;
+        preferLocalBuild = true;
+        meta.platforms = platforms;
+      } // attrs') script;
+
+      # bazel wants to extract itself into $install_dir/install every time it runs,
+      # so let’s do that only once.
+      extracted = bazelPkg:
+        let install_dir =
+          # `install_base` field printed by `bazel info`, minus the hash.
+          # yes, this path is kinda magic. Sorry.
+          "$HOME/.cache/bazel/_bazel_nixbld";
+        in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } ''
+            export HOME=$(mktemp -d)
+            touch WORKSPACE # yeah, everything sucks
+            install_base="$(${bazelPkg}/bin/bazel info | grep install_base)"
+            # assert it’s actually below install_dir
+            [[ "$install_base" =~ ${install_dir} ]] \
+              || (echo "oh no! $install_base but we are \
+            trying to copy ${install_dir} to $out instead!"; exit 1)
+            cp -R ${install_dir} $out
+          '';
+
+      bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }:
+        let
+          be = extracted bazelPkg;
+        in runLocal name { inherit buildInputs; } (
+          # skip extraction caching on Darwin, because nobody knows how Darwin works
+          (lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
+            # set up home with pre-unpacked bazel
+            export HOME=$(mktemp -d)
+            mkdir -p ${be.install_dir}
+            cp -R ${be}/install ${be.install_dir}
+
+            # https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6
+            # Bazel checks whether the mtime of the install dir files
+            # is >9 years in the future, otherwise it extracts itself again.
+            # see PosixFileMTime::IsUntampered in src/main/cpp/util
+            # What the hell bazel.
+            ${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {}
+          '')
+          +
+          ''
+            # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609
+            # about why to create a subdir for the workspace.
+            cp -r ${workspaceDir} wd && chmod u+w wd && cd wd
+
+            ${bazelScript}
+
+            touch $out
+          '');
+
+      bazelWithNixHacks = bazel_self.override { enableNixHacks = true; };
+
+      bazel-examples = fetchFromGitHub {
+        owner = "bazelbuild";
+        repo = "examples";
+        rev = "4183fc709c26a00366665e2d60d70521dc0b405d";
+        sha256 = "1mm4awx6sa0myiz9j4hwp71rpr7yh8vihf3zm15n2ii6xb82r31k";
+      };
+
+    in (if !stdenv.hostPlatform.isDarwin then {
+      # `extracted` doesn’t work on darwin
+      shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; };
+    } else {}) // {
+      bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; };
+      cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
+      java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
+      protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; };
+      pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; };
+
+      bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
+
+      cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
+      javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
+      protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
+      pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
+
+      # downstream packages using buildBazelPackage
+      # fixed-output hashes of the fetch phase need to be spot-checked manually
+      downstream = recurseIntoAttrs ({
+        inherit bazel-watcher;
+      }
+          # dm-sonnet is only packaged for linux
+      // (lib.optionalAttrs stdenv.isLinux {
+          # TODO(timokau) dm-sonnet is broken currently
+          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
+      }));
+    };
+
+  src_for_updater = stdenv.mkDerivation rec {
+    name = "updater-sources";
+    inherit src;
+    nativeBuildInputs = [ unzip ];
+    inherit sourceRoot;
+    installPhase = ''
+      runHook preInstall
+
+      cp -r . "$out"
+
+      runHook postInstall
+    '';
+  };
+  # update the list of workspace dependencies
+  passthru.updater = writeScript "update-bazel-deps.sh" ''
+    #!${runtimeShell}
+    (cd "${src_for_updater}" &&
+        BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
+        "${bazel_4}"/bin/bazel \
+            query 'kind(http_archive, //external:all) + kind(http_file, //external:all) + kind(distdir_tar, //external:all) + kind(git_repository, //external:all)' \
+            --loading_phase_threads=1 \
+            --output build) \
+    | "${python3}"/bin/python3 "${./update-srcDeps.py}" \
+      "${builtins.toString ./src-deps.json}"
+  '';
+
+  # Necessary for the tests to pass on Darwin with sandbox enabled.
+  # Bazel starts a local server and needs to bind a local address.
+  __darwinAllowLocalNetworking = true;
+
+  postPatch = let
+
+    darwinPatches = ''
+      bazelLinkFlags () {
+        eval set -- "$NIX_LDFLAGS"
+        local flag
+        for flag in "$@"; do
+          printf ' -Wl,%s' "$flag"
+        done
+      }
+
+      # Disable Bazel's Xcode toolchain detection which would configure compilers
+      # and linkers from Xcode instead of from PATH
+      export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
+
+      # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails
+      export GCOV=${coreutils}/bin/false
+
+      # Framework search paths aren't added by bintools hook
+      # https://github.com/NixOS/nixpkgs/pull/41914
+      export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
+
+      # libcxx includes aren't added by libcxx hook
+      # https://github.com/NixOS/nixpkgs/pull/41589
+      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libcxx}/include/c++/v1"
+
+      # don't use system installed Xcode to run clang, use Nix clang instead
+      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
+        scripts/bootstrap/compile.sh \
+        tools/osx/BUILD
+
+      substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' ""
+
+      # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead
+      sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc
+
+      # clang installed from Xcode has a compatibility wrapper that forwards
+      # invocations of gcc to clang, but vanilla clang doesn't
+      sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl
+
+      sed -i -e 's;/usr/bin/libtool;${cctools}/bin/libtool;g' tools/cpp/unix_cc_configure.bzl
+      wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl )
+      for wrapper in "''${wrappers[@]}"; do
+        sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper
+      done
+    '';
+
+    genericPatches = ''
+      # Substitute j2objc and objc wrapper's python shebang to plain python path.
+      # These scripts explicitly depend on Python 2.7, hence we use python27.
+      # See also `postFixup` where python27 is added to $out/nix-support
+      substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+      substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+      substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+
+      # md5sum is part of coreutils
+      sed -i 's|/sbin/md5|md5sum|g' \
+        src/BUILD third_party/ijar/test/testenv.sh tools/objc/libtool.sh
+
+      # replace initial value of pythonShebang variable in BazelPythonSemantics.java
+      substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \
+        --replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\""
+
+      substituteInPlace src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java \
+        --replace '"#!/usr/bin/env python3"' "\"#!${python3}/bin/python\""
+
+      # substituteInPlace is rather slow, so prefilter the files with grep
+      grep -rlZ /bin/ src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
+        # If you add more replacements here, you must change the grep above!
+        # Only files containing /bin are taken into account.
+        # We default to python3 where possible. See also `postFixup` where
+        # python3 is added to $out/nix-support
+        substituteInPlace "$path" \
+          --replace /bin/bash ${bash}/bin/bash \
+          --replace "/usr/bin/env bash" ${bash}/bin/bash \
+          --replace "/usr/bin/env python" ${python3}/bin/python \
+          --replace /usr/bin/env ${coreutils}/bin/env \
+          --replace /bin/true ${coreutils}/bin/true
+      done
+
+      grep -rlZ /bin/ tools/python | while IFS="" read -r -d "" path; do
+        substituteInPlace "$path" \
+          --replace "/usr/bin/env python2" ${python27}/bin/python \
+          --replace "/usr/bin/env python3" ${python3}/bin/python \
+          --replace /usr/bin/env ${coreutils}/bin/env
+      done
+
+      # bazel test runner include references to /bin/bash
+      substituteInPlace tools/build_rules/test_rules.bzl \
+        --replace /bin/bash ${bash}/bin/bash
+
+      for i in $(find tools/cpp/ -type f)
+      do
+        substituteInPlace $i \
+          --replace /bin/bash ${bash}/bin/bash
+      done
+
+      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
+      substituteInPlace scripts/bootstrap/compile.sh \
+          --replace /bin/bash ${bash}/bin/bash
+
+      # add nix environment vars to .bazelrc
+      cat >> .bazelrc <<EOF
+      # Limit the resources Bazel is allowed to use during the build to 1/2 the
+      # available RAM and 3/4 the available CPU cores. This should help avoid
+      # overwhelming the build machine.
+      build --local_ram_resources=HOST_RAM*.5
+      build --local_cpu_resources=HOST_CPUS*.75
+
+      build --distdir=${distDir}
+      fetch --distdir=${distDir}
+      build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
+      build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
+      build --linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')"
+      build --host_linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')"
+      build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
+      build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')"
+      build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition
+      build --verbose_failures
+      build --curses=no
+      build --sandbox_debug
+      build --features=-layering_check
+      EOF
+
+      cat >> tools/jdk/BUILD.tools <<EOF
+      load("@bazel_tools//tools/jdk:default_java_toolchain.bzl", "default_java_toolchain", "NONPREBUILT_TOOLCHAIN_CONFIGURATION")
+      default_java_toolchain(
+        name = "nonprebuilt_toolchain",
+        configuration = NONPREBUILT_TOOLCHAIN_CONFIGURATION,
+        java_runtime = "@local_jdk//:jdk",
+      )
+      EOF
+
+      cat >> third_party/grpc/bazel_1.41.0.patch <<EOF
+      diff --git a/third_party/grpc/BUILD b/third_party/grpc/BUILD
+      index 39ee9f97c6..9128d20c85 100644
+      --- a/third_party/grpc/BUILD
+      +++ b/third_party/grpc/BUILD
+      @@ -28,7 +28,6 @@ licenses(["notice"])
+       package(
+           default_visibility = ["//visibility:public"],
+           features = [
+      -        "layering_check",
+               "-parse_headers",
+           ],
+       )
+      EOF
+
+      # add the same environment vars to compile.sh
+      sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \
+          -e "/\$command \\\\$/a --tool_java_runtime_version=local_jdk_11 \\\\" \
+          -e "/\$command \\\\$/a --java_runtime_version=local_jdk_11 \\\\" \
+          -e "/\$command \\\\$/a --verbose_failures \\\\" \
+          -e "/\$command \\\\$/a --curses=no \\\\" \
+          -e "/\$command \\\\$/a --features=-layering_check \\\\" \
+          -e "/\$command \\\\$/a --sandbox_debug \\\\" \
+          -i scripts/bootstrap/compile.sh
+
+      # This is necessary to avoid:
+      # "error: no visible @interface for 'NSDictionary' declares the selector
+      # 'initWithContentsOfURL:error:'"
+      # This can be removed when the apple_sdk is upgraded beyond 10.13+
+      sed -i '/initWithContentsOfURL:versionPlistUrl/ {
+        N
+        s/error:nil\];/\];/
+      }' tools/osx/xcode_locator.m
+
+      # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash
+      echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp
+      cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp
+      mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
+
+      patchShebangs .
+    '';
+    in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
+     + genericPatches;
+
+  buildInputs = [buildJdk] ++ defaultShellUtils;
+
+  # when a command can’t be found in a bazel build, you might also
+  # need to add it to `defaultShellPath`.
+  nativeBuildInputs = [
+    coreutils
+    installShellFiles
+    makeWrapper
+    python3
+    unzip
+    which
+    zip
+    python3.pkgs.absl-py   # Needed to build fish completion
+  ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ];
+
+  # Bazel makes extensive use of symlinks in the WORKSPACE.
+  # This causes problems with infinite symlinks if the build output is in the same location as the
+  # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a
+  # subdirectory.
+  # Failing to do this causes "infinite symlink expansion detected"
+  preBuildPhases = ["preBuildPhase"];
+  preBuildPhase = ''
+    mkdir bazel_src
+    shopt -s dotglob extglob
+    mv !(bazel_src) bazel_src
+  '';
+  buildPhase = ''
+    runHook preBuild
+
+    # Increasing memory during compilation might be necessary.
+    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
+
+    # If EMBED_LABEL isn't set, it'd be auto-detected from CHANGELOG.md
+    # and `git rev-parse --short HEAD` which would result in
+    # "3.7.0- (@non-git)" due to non-git build and incomplete changelog.
+    # Actual bazel releases use scripts/release/common.sh which is based
+    # on branch/tag information which we don't have with tarball releases.
+    # Note that .bazelversion is always correct and is based on bazel-*
+    # executable name, version checks should work fine
+    export EMBED_LABEL="${version}- (@non-git)"
+    ${bash}/bin/bash ./bazel_src/compile.sh
+    ./bazel_src/scripts/generate_bash_completion.sh \
+        --bazel=./bazel_src/output/bazel \
+        --output=./bazel_src/output/bazel-complete.bash \
+        --prepend=./bazel_src/scripts/bazel-complete-header.bash \
+        --prepend=./bazel_src/scripts/bazel-complete-template.bash
+    ${python3}/bin/python3 ./bazel_src/scripts/generate_fish_completion.py \
+        --bazel=./bazel_src/output/bazel \
+        --output=./bazel_src/output/bazel-complete.fish
+
+    # need to change directory for bazel to find the workspace
+    cd ./bazel_src
+    # build execlog tooling
+    export HOME=$(mktemp -d)
+    ./output/bazel build  src/tools/execlog:parser_deploy.jar
+    cd -
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+
+    # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel
+    # if it can’t find something in tools, it calls $out/bin/bazel-{version}-{os_arch}
+    # The binary _must_ exist with this naming if your project contains a .bazelversion
+    # file.
+    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
+    mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch}
+
+    mkdir $out/share
+    cp ./bazel_src/bazel-bin/src/tools/execlog/parser_deploy.jar $out/share/parser_deploy.jar
+    cat <<EOF > $out/bin/bazel-execlog
+    #!${runtimeShell} -e
+    ${runJdk}/bin/java -jar $out/share/parser_deploy.jar \$@
+    EOF
+    chmod +x $out/bin/bazel-execlog
+
+    # shell completion files
+    installShellCompletion --bash \
+      --name bazel.bash \
+      ./bazel_src/output/bazel-complete.bash
+    installShellCompletion --zsh \
+      --name _bazel \
+      ./bazel_src/scripts/zsh_completion/_bazel
+    installShellCompletion --fish \
+      --name bazel.fish \
+      ./bazel_src/output/bazel-complete.fish
+  '';
+
+  # Install check fails on `aarch64-darwin`
+  # https://github.com/NixOS/nixpkgs/issues/145587
+  doInstallCheck = stdenv.hostPlatform.system != "aarch64-darwin";
+  installCheckPhase = ''
+    export TEST_TMPDIR=$(pwd)
+
+    hello_test () {
+      $out/bin/bazel test \
+        --test_output=errors \
+        examples/cpp:hello-success_test \
+        examples/java-native/src/test/java/com/example/myproject:hello
+    }
+
+    cd ./bazel_src
+
+    # test whether $WORKSPACE_ROOT/tools/bazel works
+
+    mkdir -p tools
+    cat > tools/bazel <<"EOF"
+    #!${runtimeShell} -e
+    exit 1
+    EOF
+    chmod +x tools/bazel
+
+    # first call should fail if tools/bazel is used
+    ! hello_test
+
+    cat > tools/bazel <<"EOF"
+    #!${runtimeShell} -e
+    exec "$BAZEL_REAL" "$@"
+    EOF
+
+    # second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch}
+    hello_test
+
+    runHook postInstall
+  '';
+
+  # Save paths to hardcoded dependencies so Nix can detect them.
+  # This is needed because the templates get tar’d up into a .jar.
+  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
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+}
+
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/no-arc.patch b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/no-arc.patch
new file mode 100644
index 000000000000..95d70a9db38e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/no-arc.patch
@@ -0,0 +1,42 @@
+diff --git a/tools/osx/BUILD b/tools/osx/BUILD
+index 990afe3e8c..cd5b7b1b7a 100644
+--- a/tools/osx/BUILD
++++ b/tools/osx/BUILD
+@@ -28,8 +28,8 @@ exports_files([
+ ])
+ 
+ DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """
+-  /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -fobjc-arc -framework CoreServices \
+-      -framework Foundation -arch arm64 -arch x86_64 -Wl,-no_adhoc_codesign -Wl,-no_uuid -o $@ $< && \
++  /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -framework CoreServices \
++      -framework Foundation -arch @multiBinPatch@ -Wl,-no_uuid -o $@ $< && \
+   env -i codesign --identifier $@ --force --sign - $@
+ """
+ 
+diff --git a/tools/osx/xcode_configure.bzl b/tools/osx/xcode_configure.bzl
+index 2b819f07ec..a98ce37673 100644
+--- a/tools/osx/xcode_configure.bzl
++++ b/tools/osx/xcode_configure.bzl
+@@ -127,7 +127,6 @@ def run_xcode_locator(repository_ctx, xcode_locator_src_label):
+         "macosx",
+         "clang",
+         "-mmacosx-version-min=10.9",
+-        "-fobjc-arc",
+         "-framework",
+         "CoreServices",
+         "-framework",
+diff --git a/tools/osx/xcode_locator.m b/tools/osx/xcode_locator.m
+index ed2ef87453..e0ce6dbdd1 100644
+--- a/tools/osx/xcode_locator.m
++++ b/tools/osx/xcode_locator.m
+@@ -21,10 +21,6 @@
+ // 6,6.4,6.4.1 = 6.4.1
+ // 6.3,6.3.0 = 6.3
+ 
+-#if !defined(__has_feature) || !__has_feature(objc_arc)
+-#error "This file requires ARC support."
+-#endif
+-
+ #import <CoreServices/CoreServices.h>
+ #import <Foundation/Foundation.h>
+ 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/src-deps.json b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/src-deps.json
new file mode 100644
index 000000000000..ff010d01aa08
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/src-deps.json
@@ -0,0 +1,1990 @@
+{
+    "1.25.0.zip": {
+        "name": "1.25.0.zip",
+        "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip",
+            "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip"
+        ]
+    },
+    "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz": {
+        "name": "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
+        "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
+            "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz"
+        ]
+    },
+    "2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz": {
+        "name": "2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz",
+        "sha256": "6a5f67874af66b239b709c572ac1a5a00fdb1b29beaf13c3e6f79b1ba10dc7c4",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz",
+            "https://github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz"
+        ]
+    },
+    "5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip": {
+        "name": "5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip",
+        "sha256": "299452e6f4a4981b2e6d22357f7332713382a63e4c137f5fd6b89579f6d610cb",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip",
+            "https://github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip"
+        ]
+    },
+    "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": {
+        "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
+        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
+            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
+        ]
+    },
+    "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz": {
+        "name": "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz",
+        "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz",
+            "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz"
+        ]
+    },
+    "997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz": {
+        "name": "997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz",
+        "sha256": "35f22ef5cb286f09954b7cc4c85b5a3f6221c9d4df6b8c4a1e9d399555b366ee",
+        "urls": [
+            "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz",
+            "https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz"
+        ]
+    },
+    "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz": {
+        "name": "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz",
+        "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz",
+            "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz"
+        ]
+    },
+    "android_tools": {
+        "name": "android_tools",
+        "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e",
+        "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz"
+    },
+    "android_tools_for_testing": {
+        "name": "android_tools_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e",
+        "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz"
+    },
+    "android_tools_pkg-0.23.0.tar.gz": {
+        "name": "android_tools_pkg-0.23.0.tar.gz",
+        "sha256": "ed5290594244c2eeab41f0104519bcef51e27c699ff4b379fcbd25215270513e",
+        "urls": [
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.23.0.tar.gz"
+        ]
+    },
+    "b1c40e1de81913a3c40e5948f78719c28152486d.zip": {
+        "name": "b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+        "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip"
+        ]
+    },
+    "bazel-skylib-1.0.3.tar.gz": {
+        "name": "bazel-skylib-1.0.3.tar.gz",
+        "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz"
+        ]
+    },
+    "bazel_compdb": {
+        "generator_function": "grpc_deps",
+        "generator_name": "bazel_compdb",
+        "name": "bazel_compdb",
+        "sha256": "bcecfd622c4ef272fd4ba42726a52e140b961c4eac23025f18b346c968a8cfb4",
+        "strip_prefix": "bazel-compilation-database-0.4.5",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz",
+            "https://github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz"
+        ]
+    },
+    "bazel_gazelle": {
+        "generator_function": "grpc_deps",
+        "generator_name": "bazel_gazelle",
+        "name": "bazel_gazelle",
+        "sha256": "d987004a72697334a095bbaa18d615804a28280201a50ed6c234c40ccc41e493",
+        "strip_prefix": "bazel-gazelle-0.19.1",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/bazel-gazelle/archive/v0.19.1.tar.gz",
+            "https://github.com/bazelbuild/bazel-gazelle/archive/v0.19.1.tar.gz"
+        ]
+    },
+    "bazel_j2objc": {
+        "name": "bazel_j2objc",
+        "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b",
+        "strip_prefix": "j2objc-2.5",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip",
+            "https://github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip"
+        ]
+    },
+    "bazel_skylib": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "bazel_skylib",
+        "name": "bazel_skylib",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz"
+        ]
+    },
+    "bazel_toolchains": {
+        "generator_function": "grpc_deps",
+        "generator_name": "bazel_toolchains",
+        "name": "bazel_toolchains",
+        "sha256": "0b36eef8a66f39c8dbae88e522d5bbbef49d5e66e834a982402c79962281be10",
+        "strip_prefix": "bazel-toolchains-1.0.1",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/1.0.1.tar.gz",
+            "https://github.com/bazelbuild/bazel-toolchains/releases/download/1.0.1/bazel-toolchains-1.0.1.tar.gz"
+        ]
+    },
+    "bazel_website": {
+        "build_file_content": "\nexports_files([\"_sass/style.scss\"])\n",
+        "name": "bazel_website",
+        "sha256": "a5f531dd1d62e6947dcfc279656ffc2fdf6f447c163914c5eabf7961b4cb6eb4",
+        "strip_prefix": "bazel-website-c174fa288aa079b68416d2ce2cc97268fa172f42",
+        "urls": [
+            "https://github.com/bazelbuild/bazel-website/archive/c174fa288aa079b68416d2ce2cc97268fa172f42.tar.gz"
+        ]
+    },
+    "bazelci_rules": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "bazelci_rules",
+        "name": "bazelci_rules",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
+        "strip_prefix": "bazelci_rules-1.0.0",
+        "urls": [
+            "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz"
+        ]
+    },
+    "bazelci_rules-1.0.0.tar.gz": {
+        "name": "bazelci_rules-1.0.0.tar.gz",
+        "sha256": "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e",
+        "urls": [
+            "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz"
+        ]
+    },
+    "boringssl": {
+        "generator_function": "grpc_deps",
+        "generator_name": "boringssl",
+        "name": "boringssl",
+        "sha256": "6f640262999cd1fb33cf705922e453e835d2d20f3f06fe0d77f6426c19257308",
+        "strip_prefix": "boringssl-fc44652a42b396e1645d5e72aba053349992136a",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/fc44652a42b396e1645d5e72aba053349992136a.tar.gz",
+            "https://github.com/google/boringssl/archive/fc44652a42b396e1645d5e72aba053349992136a.tar.gz"
+        ]
+    },
+    "build_bazel_apple_support": {
+        "generator_function": "grpc_deps",
+        "generator_name": "build_bazel_apple_support",
+        "name": "build_bazel_apple_support",
+        "sha256": "122ebf7fe7d1c8e938af6aeaee0efe788a3a2449ece5a8d6a428cb18d6f88033",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz",
+            "https://github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz"
+        ]
+    },
+    "build_bazel_rules_apple": {
+        "generator_function": "grpc_deps",
+        "generator_name": "build_bazel_rules_apple",
+        "name": "build_bazel_rules_apple",
+        "sha256": "bdc8e66e70b8a75da23b79f1f8c6207356df07d041d96d2189add7ee0780cf4e",
+        "strip_prefix": "rules_apple-b869b0d3868d78a1d4ffd866ccb304fb68aa12c3",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz",
+            "https://github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz"
+        ]
+    },
+    "build_bazel_rules_nodejs": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "build_bazel_rules_nodejs",
+        "name": "build_bazel_rules_nodejs",
+        "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz",
+            "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz"
+        ]
+    },
+    "com_envoyproxy_protoc_gen_validate": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_envoyproxy_protoc_gen_validate",
+        "name": "com_envoyproxy_protoc_gen_validate",
+        "sha256": "dd4962e4a9e8388a4fbc5c33e64d73bdb222f103e4bad40ca5535f81c2c606c2",
+        "strip_prefix": "protoc-gen-validate-59da36e59fef2267fc2b1849a05159e3ecdf24f3",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/protoc-gen-validate/archive/59da36e59fef2267fc2b1849a05159e3ecdf24f3.tar.gz",
+            "https://github.com/envoyproxy/protoc-gen-validate/archive/59da36e59fef2267fc2b1849a05159e3ecdf24f3.tar.gz"
+        ]
+    },
+    "com_github_cares_cares": {
+        "build_file": "@com_github_grpc_grpc//third_party:cares/cares.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "com_github_cares_cares",
+        "name": "com_github_cares_cares",
+        "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a",
+        "strip_prefix": "c-ares-e982924acee7f7313b4baa4ee5ec000c5e373c30",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+            "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz"
+        ]
+    },
+    "com_github_google_benchmark": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_github_google_benchmark",
+        "name": "com_github_google_benchmark",
+        "sha256": "daa4a97e0547d76de300e325a49177b199f3689ce5a35e25d47696f7cb050f86",
+        "strip_prefix": "benchmark-73d4d5e8d6d449fc8663765a42aa8aeeee844489",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/benchmark/archive/73d4d5e8d6d449fc8663765a42aa8aeeee844489.tar.gz",
+            "https://github.com/google/benchmark/archive/73d4d5e8d6d449fc8663765a42aa8aeeee844489.tar.gz"
+        ]
+    },
+    "com_github_grpc_grpc": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "com_github_grpc_grpc",
+        "name": "com_github_grpc_grpc",
+        "patch_args": [
+            "-p1"
+        ],
+        "patches": [
+            "//third_party/grpc:grpc_1.41.0.patch"
+        ],
+        "sha256": "e5fb30aae1fa1cffa4ce00aa0bbfab908c0b899fcf0bbc30e268367d660d8656",
+        "strip_prefix": "grpc-1.41.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.41.0.tar.gz",
+            "https://github.com/grpc/grpc/archive/v1.41.0.tar.gz"
+        ]
+    },
+    "com_google_absl": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_google_absl",
+        "name": "com_google_absl",
+        "sha256": "35f22ef5cb286f09954b7cc4c85b5a3f6221c9d4df6b8c4a1e9d399555b366ee",
+        "strip_prefix": "abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz",
+            "https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz"
+        ]
+    },
+    "com_google_googleapis": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_google_googleapis",
+        "name": "com_google_googleapis",
+        "sha256": "5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0",
+        "strip_prefix": "googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz",
+            "https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz"
+        ]
+    },
+    "com_google_googletest": {
+        "name": "com_google_googletest",
+        "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
+        "strip_prefix": "googletest-release-1.10.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz",
+            "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
+        ]
+    },
+    "com_google_protobuf": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "com_google_protobuf",
+        "name": "com_google_protobuf",
+        "patch_args": [
+            "-p1"
+        ],
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "patches": [
+            "//third_party/protobuf:3.13.0.patch"
+        ],
+        "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a",
+        "strip_prefix": "protobuf-3.13.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz",
+            "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz"
+        ]
+    },
+    "com_google_testparameterinjector": {
+        "build_file_content": "\njava_library(\n    name = \"testparameterinjector\",\n    testonly = True,\n    srcs = glob([\"src/main/**/*.java\"]),\n    deps = [\n      \"@org_snakeyaml//:snakeyaml\",\n      \"@//third_party:auto_value\",\n      \"@//third_party:guava\",\n      \"@//third_party:junit4\",\n      \"@//third_party/protobuf:protobuf_java\",\n    ],\n    visibility = [\"//visibility:public\"],\n)\n",
+        "name": "com_google_testparameterinjector",
+        "sha256": "562a0e87eb413a7dcad29ebc8d578f6f97503473943585b051c1398a58189b06",
+        "strip_prefix": "TestParameterInjector-1.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/TestParameterInjector/archive/v1.0.tar.gz",
+            "https://github.com/google/TestParameterInjector/archive/v1.0.tar.gz"
+        ]
+    },
+    "com_googlesource_code_re2": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_googlesource_code_re2",
+        "name": "com_googlesource_code_re2",
+        "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e",
+        "strip_prefix": "re2-aecba11114cf1fac5497aeb844b6966106de3eb6",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz",
+            "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz"
+        ]
+    },
+    "coverage_output_generator-v2.5.zip": {
+        "name": "coverage_output_generator-v2.5.zip",
+        "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"
+        ]
+    },
+    "cython": {
+        "build_file": "@com_github_grpc_grpc//third_party:cython.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "cython",
+        "name": "cython",
+        "sha256": "e2e38e1f0572ca54d6085df3dec8b607d20e81515fb80215aed19c81e8fe2079",
+        "strip_prefix": "cython-0.29.21",
+        "urls": [
+            "https://github.com/cython/cython/archive/0.29.21.tar.gz"
+        ]
+    },
+    "desugar_jdk_libs": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "desugar_jdk_libs",
+        "name": "desugar_jdk_libs",
+        "sha256": "299452e6f4a4981b2e6d22357f7332713382a63e4c137f5fd6b89579f6d610cb",
+        "strip_prefix": "desugar_jdk_libs-5847d6a06302136d95a14b4cbd4b55a9c9f1436e",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip",
+            "https://github.com/google/desugar_jdk_libs/archive/5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip"
+        ]
+    },
+    "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz": {
+        "name": "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+        "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+            "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz"
+        ]
+    },
+    "enum34": {
+        "build_file": "@com_github_grpc_grpc//third_party:enum34.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "enum34",
+        "name": "enum34",
+        "sha256": "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1",
+        "strip_prefix": "enum34-1.1.6",
+        "urls": [
+            "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"
+        ]
+    },
+    "envoy_api": {
+        "generator_function": "grpc_deps",
+        "generator_name": "envoy_api",
+        "name": "envoy_api",
+        "sha256": "330f2f9c938fc038b7ab438919b692d30cdfba3cf596e7824410f88da16c30b5",
+        "strip_prefix": "data-plane-api-2f0d081fab0b0823f088c6e368f40e1992f46fcd",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/2f0d081fab0b0823f088c6e368f40e1992f46fcd.tar.gz",
+            "https://github.com/envoyproxy/data-plane-api/archive/2f0d081fab0b0823f088c6e368f40e1992f46fcd.tar.gz"
+        ]
+    },
+    "futures": {
+        "build_file": "@com_github_grpc_grpc//third_party:futures.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "futures",
+        "name": "futures",
+        "sha256": "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794",
+        "strip_prefix": "futures-3.3.0",
+        "urls": [
+            "https://files.pythonhosted.org/packages/47/04/5fc6c74ad114032cd2c544c575bffc17582295e9cd6a851d6026ab4b2c00/futures-3.3.0.tar.gz"
+        ]
+    },
+    "io_bazel_rules_go": {
+        "generator_function": "grpc_deps",
+        "generator_name": "io_bazel_rules_go",
+        "name": "io_bazel_rules_go",
+        "sha256": "dbf5a9ef855684f84cac2e7ae7886c5a001d4f66ae23f6904da0faaaef0d61fc",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.24.11/rules_go-v0.24.11.tar.gz",
+            "https://github.com/bazelbuild/rules_go/releases/download/v0.24.11/rules_go-v0.24.11.tar.gz"
+        ]
+    },
+    "io_bazel_rules_python": {
+        "generator_function": "grpc_deps",
+        "generator_name": "io_bazel_rules_python",
+        "name": "io_bazel_rules_python",
+        "sha256": "aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161",
+        "url": "https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz"
+    },
+    "io_bazel_rules_sass": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "io_bazel_rules_sass",
+        "name": "io_bazel_rules_sass",
+        "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647",
+        "strip_prefix": "rules_sass-1.25.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip",
+            "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip"
+        ]
+    },
+    "io_bazel_skydoc": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "io_bazel_skydoc",
+        "name": "io_bazel_skydoc",
+        "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1",
+        "strip_prefix": "stardoc-1ef781ced3b1443dca3ed05dec1989eca1a4e1cd",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
+            "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz"
+        ]
+    },
+    "io_opencensus_cpp": {
+        "generator_function": "grpc_deps",
+        "generator_name": "io_opencensus_cpp",
+        "name": "io_opencensus_cpp",
+        "sha256": "90d6fafa8b1a2ea613bf662731d3086e1c2ed286f458a95c81744df2dbae41b1",
+        "strip_prefix": "opencensus-cpp-c9a4da319bc669a772928ffc55af4a61be1a1176",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz",
+            "https://github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz"
+        ]
+    },
+    "java_tools-v11.6.zip": {
+        "name": "java_tools-v11.6.zip",
+        "sha256": "a7ac5922ee01e8b8fcb546ffc264ef314d0a0c679328b7fa4c432e5f54a86067",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools-v11.6.zip"
+        ]
+    },
+    "java_tools_darwin-v11.6.zip": {
+        "name": "java_tools_darwin-v11.6.zip",
+        "sha256": "f17ee54582b61f1ebd84c8fa2c54df796914cfbaac3cb821fb1286b55b080bc0",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_darwin-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_darwin-v11.6.zip"
+        ]
+    },
+    "java_tools_langtools_javac11": {
+        "name": "java_tools_langtools_javac11",
+        "sha256": "cf0814fa002ef3d794582bb086516d8c9ed0958f83f19799cdb08949019fe4c7",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11_v2.zip"
+        ]
+    },
+    "java_tools_linux-v11.6.zip": {
+        "name": "java_tools_linux-v11.6.zip",
+        "sha256": "15da4f84a7d39cd179acf3035d9def638eea6ba89a0ed8f4e8a8e6e1d6c8e328",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_linux-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_linux-v11.6.zip"
+        ]
+    },
+    "java_tools_windows-v11.6.zip": {
+        "name": "java_tools_windows-v11.6.zip",
+        "sha256": "939f9d91f0df02851bbad8f5b1d26d24011329394cafe5668c1234e31ac2a1f7",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_windows-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_windows-v11.6.zip"
+        ]
+    },
+    "jekyll_tree_0_17_1": {
+        "name": "jekyll_tree_0_17_1",
+        "sha256": "02256ddd20eeaf70cf8fcfe9b2cdddd7be87aedd5848d549474fb0358e0031d3",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.1.tar"
+        ]
+    },
+    "jekyll_tree_0_17_2": {
+        "name": "jekyll_tree_0_17_2",
+        "sha256": "13b35dd309a0d52f0a2518a1193f42729c75255f5fae40cea68e4d4224bfaa2e",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.2.tar"
+        ]
+    },
+    "jekyll_tree_0_18_1": {
+        "name": "jekyll_tree_0_18_1",
+        "sha256": "98b77f48e37a50fc6f83100bf53f661e10732bb3ddbc226e02d0225cb7a9a7d8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.18.1.tar"
+        ]
+    },
+    "jekyll_tree_0_19_1": {
+        "name": "jekyll_tree_0_19_1",
+        "sha256": "ec892c59ba18bb8de1f9ae2bde937db144e45f28d6d1c32a2cee847ee81b134d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.1.tar"
+        ]
+    },
+    "jekyll_tree_0_19_2": {
+        "name": "jekyll_tree_0_19_2",
+        "sha256": "3c2d9f21ec2fd1c0b8a310f6eb6043027c838810cdfc2457d4346a0e5cdcaa7a",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.2.tar"
+        ]
+    },
+    "jekyll_tree_0_20_0": {
+        "name": "jekyll_tree_0_20_0",
+        "sha256": "bb79a63810bf1b0aa1f89bd3bbbeb4a547a30ab9af70c9be656cc6866f4b015b",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.20.0.tar"
+        ]
+    },
+    "jekyll_tree_0_21_0": {
+        "name": "jekyll_tree_0_21_0",
+        "sha256": "23ec39c0138d358c544151e5c81586716d5d1c6124f10a742bead70516e6eb93",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.21.0.tar"
+        ]
+    },
+    "jekyll_tree_0_22_0": {
+        "name": "jekyll_tree_0_22_0",
+        "sha256": "bec5cfaa5560e082e41e33bde276cf93f0f7bcfd2914a3e868f921df8b3ab725",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.22.0.tar"
+        ]
+    },
+    "jekyll_tree_0_23_0": {
+        "name": "jekyll_tree_0_23_0",
+        "sha256": "56c80fcf49dc606fab8ed5e737a7409e9a486585b7b98673be69b5a4984dd774",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.23.0.tar"
+        ]
+    },
+    "jekyll_tree_0_24_0": {
+        "name": "jekyll_tree_0_24_0",
+        "sha256": "988fa567906a73e50d3669909285187ef88c76ecd4aa277f4d1f355fc06a90c8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.24.0.tar"
+        ]
+    },
+    "jekyll_tree_0_25_0": {
+        "name": "jekyll_tree_0_25_0",
+        "sha256": "e8ab61c047225e808982a564ecd692fd63bd243dccc88a8768ed069a5362a685",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.25.0.tar"
+        ]
+    },
+    "jekyll_tree_0_26_0": {
+        "name": "jekyll_tree_0_26_0",
+        "sha256": "3907dfc6fb27d246e67877e553e8951fac239bb49f2dec7e06b6b09cb0b98b8d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.26.0.tar"
+        ]
+    },
+    "jekyll_tree_0_27_0": {
+        "name": "jekyll_tree_0_27_0",
+        "sha256": "97e2633fefee389daade775da43907aa68699b32212f4e48cb095abe18aa7e65",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.27.0.tar"
+        ]
+    },
+    "jekyll_tree_0_28_0": {
+        "name": "jekyll_tree_0_28_0",
+        "sha256": "64b3fc267fb1f4c56345d96f0ad9f07a2efe43bd15361f818368849cf941b3b7",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.28.0.tar"
+        ]
+    },
+    "jekyll_tree_0_29_0": {
+        "name": "jekyll_tree_0_29_0",
+        "sha256": "99d7a6bf9ef0145c59c54b4319fb31cb855681782080a5490909c4a5463c7215",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.0.tar"
+        ]
+    },
+    "jekyll_tree_0_29_1": {
+        "name": "jekyll_tree_0_29_1",
+        "sha256": "cf0a517f1660a7c4fd26a7ef6f3594bbefcf2b670bc0ed610bf3bb6ec3a9fdc3",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.1.tar"
+        ]
+    },
+    "jekyll_tree_1_0_0": {
+        "name": "jekyll_tree_1_0_0",
+        "sha256": "61ef65c738a8cd65059f58f2ee5f7eef493136ac4d5e5c3464787d17043febdf",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.0.0.tar"
+        ]
+    },
+    "jekyll_tree_1_1_0": {
+        "name": "jekyll_tree_1_1_0",
+        "sha256": "46d82c9249896903ee6be2295fc52a1346a9ee82f61f89b8a2181232c3bd999b",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.1.0.tar"
+        ]
+    },
+    "jekyll_tree_1_2_0": {
+        "name": "jekyll_tree_1_2_0",
+        "sha256": "d402a8391ca2624673f124ff42ba8d0d40d4139e5d23111f3995dc6c5f70f63d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.2.0.tar"
+        ]
+    },
+    "jekyll_tree_2_0_0": {
+        "name": "jekyll_tree_2_0_0",
+        "sha256": "7d7c424ede503856c61b645d8fdc2513ec6ea8600d76c5e87c45a9a45c16de3e",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.0.0.tar"
+        ]
+    },
+    "jekyll_tree_2_1_0": {
+        "name": "jekyll_tree_2_1_0",
+        "sha256": "b0fd257b1d6b1b05705742d55a13b9a20d3e99f49c89334750c872d620e5b88f",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.1.0.tar"
+        ]
+    },
+    "jekyll_tree_2_2_0": {
+        "name": "jekyll_tree_2_2_0",
+        "sha256": "4c1506786ab98df8039ec7354b82da7b586b2ae4ab7f7e7d08f3caf74ff28e3d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.2.0.tar"
+        ]
+    },
+    "jekyll_tree_3_0_0": {
+        "name": "jekyll_tree_3_0_0",
+        "sha256": "bd1096ad609c253fa7b1473edf4a3aa51f36243e188dbb62c68d8ed4aca2419d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.0.0.tar"
+        ]
+    },
+    "jekyll_tree_3_1_0": {
+        "name": "jekyll_tree_3_1_0",
+        "sha256": "f9d2e22e24af426d6c9de163d91abe6d8af7eb1eabb1d7ff5e9cf4bededf465a",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.1.0-807b377.tar"
+        ]
+    },
+    "jekyll_tree_3_2_0": {
+        "name": "jekyll_tree_3_2_0",
+        "sha256": "6cff8654e739a0c3062183a5a6cc82fcf9a77323051f8c007866d7f4101052a6",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.2.0.tar"
+        ]
+    },
+    "jekyll_tree_3_3_0": {
+        "name": "jekyll_tree_3_3_0",
+        "sha256": "36b81e8ddf4f3caccf41acc82d9e49f000c1be9e92c9cc82793d60ff70636176",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.3.0.tar"
+        ]
+    },
+    "jekyll_tree_3_4_0": {
+        "name": "jekyll_tree_3_4_0",
+        "sha256": "af82e775d911135bcff76e500bb003c4a9fccb949f8ddf4d93c58eca195bf5e8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.4.0.tar"
+        ]
+    },
+    "jekyll_tree_3_5_0": {
+        "name": "jekyll_tree_3_5_0",
+        "sha256": "aa96cbad14cfab0b422d1d17eac3107a75eb05854d40ab4f1379a6fc87b2e1f8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.0.tar"
+        ]
+    },
+    "jekyll_tree_3_5_1": {
+        "name": "jekyll_tree_3_5_1",
+        "sha256": "1c949ba8da353c93c74a70638e5cb321ea1cd5582eda1b6ad88c6d2d0b569f2f",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.1.tar"
+        ]
+    },
+    "jekyll_tree_3_6_0": {
+        "name": "jekyll_tree_3_6_0",
+        "sha256": "1b7a16a2098ca0c290c208a11db886e950d6c523b2cac2d0a0cba4a04aa832f3",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.6.0.tar"
+        ]
+    },
+    "jekyll_tree_3_7_0": {
+        "name": "jekyll_tree_3_7_0",
+        "sha256": "a534d37ef3867c92fae8692852f92820a34f63a5f9092bbbec6505c0f69d8094",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.7.0.tar"
+        ]
+    },
+    "jekyll_tree_4_0_0": {
+        "name": "jekyll_tree_4_0_0",
+        "sha256": "9d8e350a17b85624d8d78291d440e05f6ba8af493c1ccb846d0493579dade1b6",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.0.0.tar"
+        ]
+    },
+    "jekyll_tree_4_1_0": {
+        "name": "jekyll_tree_4_1_0",
+        "sha256": "9ed45a322906029d161f5514371841fbec214c63b9517fccb225c8670ebb482a",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.1.0.tar"
+        ]
+    },
+    "jekyll_tree_4_2_0": {
+        "name": "jekyll_tree_4_2_0",
+        "sha256": "1188fc6c3354f85741bacbb2bc7dab6bbfd1d2f44475846293ff232fb01709b8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.2.0.tar"
+        ]
+    },
+    "jekyll_tree_4_2_1": {
+        "name": "jekyll_tree_4_2_1",
+        "sha256": "b767b7aa949f96b602257587add3be38acbead03bf919fe871397bc80d97f8b2",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-4.2.1.tar"
+        ]
+    },
+    "opencensus_proto": {
+        "generator_function": "grpc_deps",
+        "generator_name": "opencensus_proto",
+        "name": "opencensus_proto",
+        "sha256": "b7e13f0b4259e80c3070b583c2f39e53153085a6918718b1c710caf7037572b0",
+        "strip_prefix": "opencensus-proto-0.3.0/src",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz",
+            "https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz"
+        ]
+    },
+    "openjdk11_darwin_aarch64_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk11_darwin_aarch64_archive",
+        "sha256": "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz"
+        ]
+    },
+    "openjdk11_darwin_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk11_darwin_archive",
+        "sha256": "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk11_linux_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk11_linux_archive",
+        "sha256": "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk11_windows_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk11_windows_archive",
+        "sha256": "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip"
+        ]
+    },
+    "openjdk15_darwin_aarch64_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk15_darwin_aarch64_archive",
+        "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5",
+        "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz"
+        ]
+    },
+    "openjdk15_darwin_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk15_darwin_archive",
+        "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk15_linux_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk15_linux_archive",
+        "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk15_windows_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk15_windows_archive",
+        "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip"
+        ]
+    },
+    "openjdk16_darwin_aarch64_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk16_darwin_aarch64_archive",
+        "sha256": "c92131e83bc71474850e667bc4e05fca33662b8feb009a0547aa14e76b40e890",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz"
+        ]
+    },
+    "openjdk16_darwin_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk16_darwin_archive",
+        "sha256": "6d47ef22dc56ce1f5a102ed39e21d9a97320f0bb786818e2c686393109d79bc5",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk16_linux_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk16_linux_archive",
+        "sha256": "236b5ea97aff3cb312e743848d7efa77faf305170e41371a732ca93c1b797665",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk16_windows_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk16_windows_archive",
+        "sha256": "6cbf98ada27476526a5f6dff79fd5f2c15e2f671818e503bdf741eb6c8fed3d4",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip"
+        ]
+    },
+    "openjdk17_darwin_aarch64_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk17_darwin_aarch64_archive",
+        "sha256": "6b17f01f767ee7abf4704149ca4d86423aab9b16b68697b7d36e9b616846a8b0",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz"
+        ]
+    },
+    "openjdk17_darwin_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk17_darwin_archive",
+        "sha256": "6029b1fe6853cecad22ab99ac0b3bb4fb8c903dd2edefa91c3abc89755bbd47d",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk17_linux_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk17_linux_archive",
+        "sha256": "37c4f8e48536cceae8c6c20250d6c385e176972532fd35759fa7d6015c965f56",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk17_windows_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk17_windows_archive",
+        "sha256": "f4437011239f3f0031c794bb91c02a6350bc941d4196bdd19c9f157b491815a3",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip"
+        ]
+    },
+    "openjdk_linux": {
+        "downloaded_file_path": "zulu-linux.tar.gz",
+        "name": "openjdk_linux",
+        "sha256": "65bfe4e0ffa74a680ee4410db46b17e30cd9397b664a92a886599fe1f3530969",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-linux_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689070.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64": {
+        "downloaded_file_path": "zulu-linux-aarch64.tar.gz",
+        "name": "openjdk_linux_aarch64",
+        "sha256": "6b245793087300db3ee82ab0d165614f193a73a60f2f011e347756c1e6ca5bac",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64_minimal": {
+        "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz",
+        "name": "openjdk_linux_aarch64_minimal",
+        "sha256": "06f6520a877704c77614bcfc4f846cc7cbcbf5eaad149bf7f19f4f16e285c9de",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64_vanilla": {
+        "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
+        "name": "openjdk_linux_aarch64_vanilla",
+        "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz"
+        ]
+    },
+    "openjdk_linux_minimal": {
+        "downloaded_file_path": "zulu-linux-minimal.tar.gz",
+        "name": "openjdk_linux_minimal",
+        "sha256": "91f7d52f695c681d4e21499b4319d548aadef249a6b3053e306308992e1e29ae",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689068.tar.gz"
+        ]
+    },
+    "openjdk_linux_ppc64le_vanilla": {
+        "downloaded_file_path": "adoptopenjdk-ppc64le-vanilla.tar.gz",
+        "name": "openjdk_linux_ppc64le_vanilla",
+        "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "openjdk_linux_s390x_vanilla": {
+        "downloaded_file_path": "adoptopenjdk-s390x-vanilla.tar.gz",
+        "name": "openjdk_linux_s390x_vanilla",
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "openjdk_linux_vanilla": {
+        "downloaded_file_path": "zulu-linux-vanilla.tar.gz",
+        "name": "openjdk_linux_vanilla",
+        "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk_macos_aarch64": {
+        "downloaded_file_path": "zulu-macos-aarch64.tar.gz",
+        "name": "openjdk_macos_aarch64",
+        "sha256": "a900ef793cb34b03ac5d93ea2f67291b6842e99d500934e19393a8d8f9bfa6ff",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-allmodules-1611665569.tar.gz"
+        ]
+    },
+    "openjdk_macos_aarch64_minimal": {
+        "downloaded_file_path": "zulu-macos-aarch64-minimal.tar.gz",
+        "name": "openjdk_macos_aarch64_minimal",
+        "sha256": "f4f606926e6deeaa8b8397e299313d9df87642fe464b0ccf1ed0432aeb00640b",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.45.27-ca-jdk11.0.10/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64-minimal-1611665562.tar.gz"
+        ]
+    },
+    "openjdk_macos_aarch64_vanilla": {
+        "downloaded_file_path": "zulu-macos-aarch64-vanilla.tar.gz",
+        "name": "openjdk_macos_aarch64_vanilla",
+        "sha256": "3dcc636e64ae58b922269c2dc9f20f6f967bee90e3f6847d643c4a566f1e8d8a",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz"
+        ]
+    },
+    "openjdk_macos_x86_64": {
+        "downloaded_file_path": "zulu-macos.tar.gz",
+        "name": "openjdk_macos_x86_64",
+        "sha256": "8e283cfd23c7555be8e17295ed76eb8f00324c88ab904b8de37bbe08f90e569b",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689066.tar.gz"
+        ]
+    },
+    "openjdk_macos_x86_64_minimal": {
+        "downloaded_file_path": "zulu-macos-minimal.tar.gz",
+        "name": "openjdk_macos_x86_64_minimal",
+        "sha256": "1bacb1c07035d4066d79f0b65b4ea0ebd1954f3662bdfe3618da382ac8fd23a6",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689063.tar.gz"
+        ]
+    },
+    "openjdk_macos_x86_64_vanilla": {
+        "downloaded_file_path": "zulu-macos-vanilla.tar.gz",
+        "name": "openjdk_macos_x86_64_vanilla",
+        "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk_win": {
+        "downloaded_file_path": "zulu-win.zip",
+        "name": "openjdk_win",
+        "sha256": "8e1604b3a27dcf639bc6d1a73103f1211848139e4cceb081d0a74a99e1e6f995",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip"
+        ]
+    },
+    "openjdk_win_minimal": {
+        "downloaded_file_path": "zulu-win-minimal.zip",
+        "name": "openjdk_win_minimal",
+        "sha256": "b90a713c9c2d9ea23cad44d2c2dfcc9af22faba9bde55dedc1c3bb9f556ac1ae",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip"
+        ]
+    },
+    "openjdk_win_vanilla": {
+        "downloaded_file_path": "zulu-win-vanilla.zip",
+        "name": "openjdk_win_vanilla",
+        "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
+        ]
+    },
+    "org_snakeyaml": {
+        "build_file_content": "\njava_library(\n    name = \"snakeyaml\",\n    testonly = True,\n    srcs = glob([\"src/main/**/*.java\"]),\n    visibility = [\"@com_google_testparameterinjector//:__pkg__\"],\n)\n",
+        "name": "org_snakeyaml",
+        "sha256": "fd0e0cc6c5974fc8f08be3a15fb4a59954c7dd958b5b68186a803de6420b6e40",
+        "strip_prefix": "asomov-snakeyaml-b28f0b4d87c6",
+        "urls": [
+            "https://mirror.bazel.build/bitbucket.org/asomov/snakeyaml/get/snakeyaml-1.28.tar.gz"
+        ]
+    },
+    "platforms": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "platforms",
+        "name": "platforms",
+        "sha256": "079945598e4b6cc075846f7fd6a9d0857c33a7afc0de868c2ccb96405225135d",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz",
+            "https://github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz"
+        ]
+    },
+    "platforms-0.0.4.tar.gz": {
+        "name": "platforms-0.0.4.tar.gz",
+        "sha256": "079945598e4b6cc075846f7fd6a9d0857c33a7afc0de868c2ccb96405225135d",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz",
+            "https://github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz"
+        ]
+    },
+    "remote_coverage_tools": {
+        "name": "remote_coverage_tools",
+        "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"
+        ]
+    },
+    "remote_java_tools_darwin": {
+        "generator_function": "maybe",
+        "generator_name": "remote_java_tools_darwin",
+        "name": "remote_java_tools_darwin",
+        "sha256": "d15b05d2061382748f779dc566537ea567a46bcba6fa34b56d7cb6e6d668adab",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_darwin-v10.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.6/java_tools_javac11_darwin-v10.6.zip"
+        ]
+    },
+    "remote_java_tools_darwin_for_testing": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_darwin_for_testing",
+        "name": "remote_java_tools_darwin_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "f17ee54582b61f1ebd84c8fa2c54df796914cfbaac3cb821fb1286b55b080bc0",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_darwin-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_darwin-v11.6.zip"
+        ]
+    },
+    "remote_java_tools_for_testing": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_for_testing",
+        "name": "remote_java_tools_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "a7ac5922ee01e8b8fcb546ffc264ef314d0a0c679328b7fa4c432e5f54a86067",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools-v11.6.zip"
+        ]
+    },
+    "remote_java_tools_linux": {
+        "generator_function": "maybe",
+        "generator_name": "remote_java_tools_linux",
+        "name": "remote_java_tools_linux",
+        "sha256": "085c0ba53ba764e81d4c195524f3c596085cbf9cdc01dd8e6d2ae677e726af35",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_linux-v10.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.6/java_tools_javac11_linux-v10.6.zip"
+        ]
+    },
+    "remote_java_tools_linux_for_testing": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_linux_for_testing",
+        "name": "remote_java_tools_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "15da4f84a7d39cd179acf3035d9def638eea6ba89a0ed8f4e8a8e6e1d6c8e328",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_linux-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_linux-v11.6.zip"
+        ]
+    },
+    "remote_java_tools_test": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_test",
+        "name": "remote_java_tools_test",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "a7ac5922ee01e8b8fcb546ffc264ef314d0a0c679328b7fa4c432e5f54a86067",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools-v11.6.zip"
+        ]
+    },
+    "remote_java_tools_test_darwin": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_test_darwin",
+        "name": "remote_java_tools_test_darwin",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "f17ee54582b61f1ebd84c8fa2c54df796914cfbaac3cb821fb1286b55b080bc0",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_darwin-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_darwin-v11.6.zip"
+        ]
+    },
+    "remote_java_tools_test_linux": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_test_linux",
+        "name": "remote_java_tools_test_linux",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "15da4f84a7d39cd179acf3035d9def638eea6ba89a0ed8f4e8a8e6e1d6c8e328",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_linux-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_linux-v11.6.zip"
+        ]
+    },
+    "remote_java_tools_test_windows": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_test_windows",
+        "name": "remote_java_tools_test_windows",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "939f9d91f0df02851bbad8f5b1d26d24011329394cafe5668c1234e31ac2a1f7",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_windows-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_windows-v11.6.zip"
+        ]
+    },
+    "remote_java_tools_windows": {
+        "generator_function": "maybe",
+        "generator_name": "remote_java_tools_windows",
+        "name": "remote_java_tools_windows",
+        "sha256": "873f1e53d1fa9c8e46b717673816cd822bb7acc474a194a18ff849fd8fa6ff00",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_windows-v10.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.6/java_tools_javac11_windows-v10.6.zip"
+        ]
+    },
+    "remote_java_tools_windows_for_testing": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "remote_java_tools_windows_for_testing",
+        "name": "remote_java_tools_windows_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "939f9d91f0df02851bbad8f5b1d26d24011329394cafe5668c1234e31ac2a1f7",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.6/java_tools_windows-v11.6.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.6/java_tools_windows-v11.6.zip"
+        ]
+    },
+    "remotejdk11_linux": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux",
+        "name": "remotejdk11_linux",
+        "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_aarch64": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux_aarch64",
+        "name": "remotejdk11_linux_aarch64",
+        "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4",
+        "strip_prefix": "zulu11.37.48-ca-jdk11.0.6-linux_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_aarch64_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_aarch64_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_ppc64le": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux_ppc64le",
+        "name": "remotejdk11_linux_ppc64le",
+        "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_ppc64le_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_ppc64le_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_s390x": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux_s390x",
+        "name": "remotejdk11_linux_s390x",
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_s390x_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_s390x_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_macos": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_macos",
+        "name": "remotejdk11_macos",
+        "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_macos_aarch64": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_macos_aarch64",
+        "name": "remotejdk11_macos_aarch64",
+        "sha256": "3dcc636e64ae58b922269c2dc9f20f6f967bee90e3f6847d643c4a566f1e8d8a",
+        "strip_prefix": "zulu11.45.27-ca-jdk11.0.10-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk11_macos_aarch64_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_macos_aarch64_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk11_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_win": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_win",
+        "name": "remotejdk11_win",
+        "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
+        ]
+    },
+    "remotejdk11_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015",
+        "strip_prefix": "zulu11.50.19-ca-jdk11.0.12-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip"
+        ]
+    },
+    "remotejdk14_linux": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk14_linux",
+        "name": "remotejdk14_linux",
+        "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_macos": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk14_macos",
+        "name": "remotejdk14_macos",
+        "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_win": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk14_win",
+        "name": "remotejdk14_win",
+        "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip"
+        ]
+    },
+    "remotejdk15_linux": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk15_linux",
+        "name": "remotejdk15_linux",
+        "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk15_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk15_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk15_macos": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk15_macos",
+        "name": "remotejdk15_macos",
+        "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk15_macos_aarch64": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk15_macos_aarch64",
+        "name": "remotejdk15_macos_aarch64",
+        "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5",
+        "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk15_macos_aarch64_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk15_macos_aarch64_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5",
+        "strip_prefix": "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk15_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk15_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk15_win": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk15_win",
+        "name": "remotejdk15_win",
+        "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip"
+        ]
+    },
+    "remotejdk15_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk15_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip"
+        ]
+    },
+    "remotejdk16_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk16_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "236b5ea97aff3cb312e743848d7efa77faf305170e41371a732ca93c1b797665",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk16_macos_aarch64_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk16_macos_aarch64_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "c92131e83bc71474850e667bc4e05fca33662b8feb009a0547aa14e76b40e890",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk16_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk16_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "6d47ef22dc56ce1f5a102ed39e21d9a97320f0bb786818e2c686393109d79bc5",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk16_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk16_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "6cbf98ada27476526a5f6dff79fd5f2c15e2f671818e503bdf741eb6c8fed3d4",
+        "strip_prefix": "zulu16.28.11-ca-jdk16.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip"
+        ]
+    },
+    "remotejdk17_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk17_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "37c4f8e48536cceae8c6c20250d6c385e176972532fd35759fa7d6015c965f56",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk17_macos_aarch64_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk17_macos_aarch64_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "6b17f01f767ee7abf4704149ca4d86423aab9b16b68697b7d36e9b616846a8b0",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk17_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk17_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "6029b1fe6853cecad22ab99ac0b3bb4fb8c903dd2edefa91c3abc89755bbd47d",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk17_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk17_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "f4437011239f3f0031c794bb91c02a6350bc941d4196bdd19c9f157b491815a3",
+        "strip_prefix": "zulu17.28.13-ca-jdk17.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip"
+        ]
+    },
+    "rules_cc": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "rules_cc",
+        "name": "rules_cc",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd",
+        "strip_prefix": "rules_cc-b1c40e1de81913a3c40e5948f78719c28152486d",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip"
+        ]
+    },
+    "rules_java": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "rules_java",
+        "name": "rules_java",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
+        "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
+            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
+        ]
+    },
+    "rules_nodejs-2.2.2.tar.gz": {
+        "name": "rules_nodejs-2.2.2.tar.gz",
+        "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz",
+            "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz"
+        ]
+    },
+    "rules_pkg": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "rules_pkg",
+        "name": "rules_pkg",
+        "sha256": "038f1caa773a7e35b3663865ffb003169c6a71dc995e39bf4815792f385d837d",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz",
+            "https://github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz"
+        ]
+    },
+    "rules_pkg-0.4.0.tar.gz": {
+        "name": "rules_pkg-0.4.0.tar.gz",
+        "sha256": "038f1caa773a7e35b3663865ffb003169c6a71dc995e39bf4815792f385d837d",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz",
+            "https://github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz"
+        ]
+    },
+    "rules_proto": {
+        "generator_function": "dist_http_archive",
+        "generator_name": "rules_proto",
+        "name": "rules_proto",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da",
+        "strip_prefix": "rules_proto-7e4afce6fe62dbff0a4a03450143146f9f2d7488",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz",
+            "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz"
+        ]
+    },
+    "six": {
+        "build_file": "@com_github_grpc_grpc//third_party:six.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "six",
+        "name": "six",
+        "sha256": "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
+        "urls": [
+            "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz"
+        ]
+    },
+    "upb": {
+        "generator_function": "grpc_deps",
+        "generator_name": "upb",
+        "name": "upb",
+        "sha256": "6a5f67874af66b239b709c572ac1a5a00fdb1b29beaf13c3e6f79b1ba10dc7c4",
+        "strip_prefix": "upb-2de300726a1ba2de9a468468dc5ff9ed17a3215f",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz",
+            "https://github.com/protocolbuffers/upb/archive/2de300726a1ba2de9a468468dc5ff9ed17a3215f.tar.gz"
+        ]
+    },
+    "v1.41.0.tar.gz": {
+        "name": "v1.41.0.tar.gz",
+        "sha256": "e5fb30aae1fa1cffa4ce00aa0bbfab908c0b899fcf0bbc30e268367d660d8656",
+        "urls": [
+            "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.41.0.tar.gz",
+            "https://github.com/grpc/grpc/archive/v1.41.0.tar.gz"
+        ]
+    },
+    "v1.5.0-4.zip": {
+        "name": "v1.5.0-4.zip",
+        "sha256": "d320d59b89a163c5efccbe4915ae6a49883ce653cdc670643dfa21c6063108e4",
+        "urls": [
+            "https://mirror.bazel.build/github.com/luben/zstd-jni/archive/v1.5.0-4.zip",
+            "https://github.com/luben/zstd-jni/archive/v1.5.0-4.zip"
+        ]
+    },
+    "v3.13.0.tar.gz": {
+        "name": "v3.13.0.tar.gz",
+        "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz",
+            "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz"
+        ]
+    },
+    "zlib": {
+        "build_file": "@com_github_grpc_grpc//third_party:zlib.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "zlib",
+        "name": "zlib",
+        "sha256": "6d4d6640ca3121620995ee255945161821218752b551a1a180f4215f7d124d45",
+        "strip_prefix": "zlib-cacf7f1d4e3d44d871b605da3b647f07d718623f",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz",
+            "https://github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz"
+        ]
+    },
+    "zstd-jni": {
+        "build_file": "//third_party:zstd-jni/zstd-jni.BUILD",
+        "generator_function": "dist_http_archive",
+        "generator_name": "zstd-jni",
+        "name": "zstd-jni",
+        "patch_args": [
+            "-p1"
+        ],
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "patches": [
+            "//third_party:zstd-jni/Native.java.patch"
+        ],
+        "sha256": "d320d59b89a163c5efccbe4915ae6a49883ce653cdc670643dfa21c6063108e4",
+        "strip_prefix": "zstd-jni-1.5.0-4",
+        "urls": [
+            "https://mirror.bazel.build/github.com/luben/zstd-jni/archive/v1.5.0-4.zip",
+            "https://github.com/luben/zstd-jni/archive/v1.5.0-4.zip"
+        ]
+    },
+    "zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz": {
+        "name": "zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz",
+        "sha256": "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz"
+        ]
+    },
+    "zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz": {
+        "name": "zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz",
+        "sha256": "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz"
+        ]
+    },
+    "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz": {
+        "name": "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz",
+        "sha256": "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz"
+        ]
+    },
+    "zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz": {
+        "name": "zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz",
+        "sha256": "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz"
+        ]
+    },
+    "zulu11.50.19-ca-jdk11.0.12-win_x64.tar.gz": {
+        "name": "zulu11.50.19-ca-jdk11.0.12-win_x64.tar.gz",
+        "sha256": "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip"
+        ]
+    }
+}
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/update-srcDeps.py b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/update-srcDeps.py
new file mode 100755
index 000000000000..d409a32e1389
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_5/update-srcDeps.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python3
+import sys
+import json
+
+if len(sys.argv) != 2:
+    print("usage: ./this-script src-deps.json < WORKSPACE", file=sys.stderr)
+    print("Takes the bazel WORKSPACE file and reads all archives into a json dict (by evaling it as python code)", file=sys.stderr)
+    print("Hail Eris.", file=sys.stderr)
+    sys.exit(1)
+
+http_archives = []
+
+# just the kw args are the dict { name, sha256, urls … }
+def http_archive(**kw):
+    http_archives.append(kw)
+# like http_file
+def http_file(**kw):
+    http_archives.append(kw)
+
+# this is inverted from http_archive/http_file and bundles multiple archives
+def _distdir_tar(**kw):
+    for archive_name in kw['archives']:
+        http_archives.append({
+            "name": archive_name,
+            "sha256": kw['sha256'][archive_name],
+            "urls": kw['urls'][archive_name]
+        })
+
+# TODO?
+def git_repository(**kw):
+    print(json.dumps(kw, sort_keys=True, indent=4), file=sys.stderr)
+    sys.exit(1)
+
+# execute the WORKSPACE like it was python code in this module,
+# using all the function stubs from above.
+exec(sys.stdin.read())
+
+# transform to a dict with the names as keys
+d = { el['name']: el for el in http_archives }
+
+def has_urls(el):
+    return ('url' in el and el['url']) or ('urls' in el and el['urls'])
+def has_sha256(el):
+    return 'sha256' in el and el['sha256']
+bad_archives = list(filter(lambda el: not has_urls(el) or not has_sha256(el), d.values()))
+if bad_archives:
+    print('Following bazel dependencies are missing url or sha256', file=sys.stderr)
+    print('Check bazel sources for master or non-checksummed dependencies', file=sys.stderr)
+    for el in bad_archives:
+        print(json.dumps(el, sort_keys=True, indent=4), file=sys.stderr)
+    sys.exit(1)
+
+with open(sys.argv[1], "w") as f:
+    print(json.dumps(d, sort_keys=True, indent=4), file=f)
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 00a9f5401434..b0375db8c65c 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-buildtools";
-  version = "4.2.4";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "buildtools";
     rev = version;
-    sha256 = "sha256-Tt1inAViAFaV+o2A2yquPXEv5EiC2eJgNUnr7jBYq7w=";
+    sha256 = "sha256-AIOfudFxr1obuxABEN0ggainci/EjbBrdgr2cjVu2Io=";
   };
 
   vendorSha256 = "sha256-buMkRxVLlS2LBJGaGWeR41BsmE/0vgDS8s1VcRYN0fA=";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix
index 9641a95c33b8..cfdfe84f79d3 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/java-test.nix
@@ -5,6 +5,7 @@
 , gccStdenv
 , lib
 , openjdk8
+, jdk11_headless
 , runLocal
 , runtimeShell
 , writeScript
@@ -41,18 +42,19 @@ let
     name = "bazel-test-java";
     inherit workspaceDir;
     bazelPkg = bazel;
-    buildInputs = [ openjdk8 ];
+    buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ];
     bazelScript = ''
       ${bazel}/bin/bazel \
         run \
         --distdir=${distDir} \
-          --host_javabase='@local_jdk//:jdk' \
-          --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
-          --javabase='@local_jdk//:jdk' \
           --verbose_failures \
           --curses=no \
           --sandbox_debug \
-          //:ProjectRunner
+          //:ProjectRunner \
+    '' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") ''
+          --host_javabase='@local_jdk//:jdk' \
+          --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
+          --javabase='@local_jdk//:jdk' \
     '';
   };
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
index d01e18887248..f4872d1b1204 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
@@ -6,6 +6,7 @@
 , gccStdenv
 , lib
 , openjdk8
+, jdk11_headless
 , runLocal
 , runtimeShell
 , writeScript
@@ -160,18 +161,19 @@ let
     name = "bazel-test-protocol-buffers";
     inherit workspaceDir;
     bazelPkg = bazel;
-    buildInputs = [ openjdk8 ];
+    buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ];
     bazelScript = ''
       ${bazel}/bin/bazel \
         build \
         --distdir=${distDir} \
-          --host_javabase='@local_jdk//:jdk' \
-          --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
-          --javabase='@local_jdk//:jdk' \
           --verbose_failures \
           --curses=no \
           --sandbox_debug \
-          //...
+          //... \
+    '' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") ''
+          --host_javabase='@local_jdk//:jdk' \
+          --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
+          --javabase='@local_jdk//:jdk' \
     '';
   };
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
index ebb4bb5f36c3..11b25bec3816 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.4.11";
+  version = "1.4.13";
 
   bloop-coursier-channel = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-coursier.json";
-    sha256 = "CoF/1nggjaL17SWmWDcKicfgoyqpOSZUse8f+3TgD0E=";
+    sha256 = "bf3uHuGfmJukf0Qeudv8ZXz/9Uql/qsmvPS0XBb7oTQ=";
   };
 
   bloop-bash = fetchurl {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   bloop-fish = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/fish-completions";
-    sha256 = "oBKlzHa1fbzhf60jfzuXvqaUb/xuoLYawigRQQOCSN0=";
+    sha256 = "eFESR6iPHRDViGv+Fk3sCvPgVAhk2L1gCG4LnfXO/v4=";
   };
 
   bloop-zsh = fetchurl {
@@ -60,8 +60,8 @@ stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = if stdenv.isLinux && stdenv.isx86_64 then "0c02n779z4l7blzla5820bzfhblbp5nlizx9f8wns4miwnph357f"
-    else if stdenv.isDarwin && stdenv.isx86_64 then "1gy5k9ii86rxyv2v9if4n1clvmb1hi4ym32mp6miwgcjla10sv30"
+    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/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix
index 0d8ca351096c..d577b62a193a 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/cmake/2.8.nix b/nixpkgs/pkgs/development/tools/build-managers/cmake/2.8.nix
deleted file mode 100644
index ec03e285603f..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, curl, expat, zlib, bzip2
-, useNcurses ? false, ncurses, useQt4 ? false, qt4, ps
-}:
-
-with lib;
-
-assert stdenv ? cc;
-assert stdenv.cc ? libc;
-
-let
-  os = lib.optionalString;
-  majorVersion = "2.8";
-  minorVersion = "12.2";
-  version = "${majorVersion}.${minorVersion}";
-in
-
-stdenv.mkDerivation rec {
-  pname = "cmake${os useNcurses "-cursesUI"}${os useQt4 "-qt4UI"}";
-  inherit version;
-
-  inherit majorVersion;
-
-  src = fetchurl {
-    url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "0phf295a9cby0v7zqdswr238v5aiy3rb2fs6dz39zjxbmzlp8rcc";
-  };
-
-  enableParallelBuilding = true;
-
-  patches =
-    [(fetchpatch { # see https://www.cmake.org/Bug/view.php?id=13959
-      name = "FindFreetype-2.5.patch";
-      url = "https://public.kitware.com/Bug/file/4660/0001-Support-finding-freetype2-using-pkg-config.patch";
-      sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
-    })] ++
-    # Don't search in non-Nix locations such as /usr, but do search in our libc.
-    [ ./search-path-2.8.patch ] ++
-    optional (stdenv.hostPlatform != stdenv.buildPlatform) (fetchurl {
-      name = "fix-darwin-cross-compile.patch";
-      url = "https://public.kitware.com/Bug/file_download.php?"
-          + "file_id=4981&type=bug";
-      sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
-    });
-
-  postPatch = ''
-    substituteInPlace Utilities/cmlibarchive/CMakeLists.txt \
-      --replace '"-framework CoreServices"' '""'
-  '';
-
-  buildInputs = [ setupHook curl expat zlib bzip2 ]
-    ++ optional useNcurses ncurses
-    ++ optional useQt4 qt4;
-
-  propagatedBuildInputs = [ ps ];
-
-  CMAKE_PREFIX_PATH = concatStringsSep ":"
-    (concatMap (p: [ (p.dev or p) (p.out or p) ]) buildInputs);
-
-  configureFlags = [
-    "--docdir=/share/doc/${pname}-${version}"
-    "--mandir=/share/man"
-    "--system-libs"
-    "--no-system-libarchive"
-   ] ++ lib.optional useQt4 "--qt-gui";
-
-  setupHook = ./setup-hook.sh;
-
-  dontUseCmakeConfigure = true;
-
-  preConfigure = with stdenv; ''
-      fixCmakeFiles .
-      substituteInPlace Modules/Platform/UnixPaths.cmake \
-        --subst-var-by libc_bin ${getBin cc.libc} \
-        --subst-var-by libc_dev ${getDev cc.libc} \
-        --subst-var-by libc_lib ${getLib cc.libc}
-      configureFlags="--parallel=''${NIX_BUILD_CORES:-1} $configureFlags"
-    '';
-
-  hardeningDisable = [ "format" ];
-
-  meta = {
-    homepage = "https://cmake.org";
-    description = "Cross-Platform Makefile Generator";
-    platforms = if useQt4 then qt4.meta.platforms else lib.platforms.unix;
-    maintainers = with lib.maintainers; [ xfix ];
-    license = lib.licenses.bsd3;
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix
index f74d0d46906d..47abc7ec767b 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/nixpkgs/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.21.2";
+  version = "3.22.2";
 
   src = fetchurl {
     url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
-    sha256 = "sha256-lCdeC2HIS7QnEPUyCiPG3LLG7gMq59KmFvU/aLPSFlk=";
+    sha256 = "sha256-PBxHi5ZQsQfUUsW9VFxy4vrU43wJuJoZhLmi9G32rO0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
index 984aaf983067..2329ae3f8355 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
@@ -1,43 +1,26 @@
-From 76523ca5b2227085bb65253900e866b08a2b5efb Mon Sep 17 00:00:00 2001
-From: Tobias Mayer <tobim@fastmail.fm>
-Date: Fri, 30 Jul 2021 10:50:16 +0200
-Subject: [PATCH] Disable NAT64 address synthesis on darwin
-
-This intentionally breaks the feature by partially reverting
-https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51
-
-This is a stop-gap to get CMake to build without the SystemConfiguration
-framework.
----
- Utilities/cmcurl/CMakeLists.txt   |  8 --------
- Utilities/cmcurl/lib/curl_setup.h |  4 ----
- Utilities/cmcurl/lib/hostip.c     | 17 -----------------
- 3 files changed, 29 deletions(-)
-
 diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt
-index 16ef037ccc..17564bbb69 100644
+index 9eef01aaf0..d141d4086c 100644
 --- a/Utilities/cmcurl/CMakeLists.txt
 +++ b/Utilities/cmcurl/CMakeLists.txt
-@@ -511,14 +511,6 @@ if(CMAKE_USE_SECTRANSP)
-   list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}")
- endif()
+@@ -537,12 +537,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+       message(FATAL_ERROR "CoreFoundation framework not found")
+   endif()
  
--if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 -  find_library(SYSTEMCONFIGURATION_FRAMEWORK "SystemConfiguration")
 -  if(NOT SYSTEMCONFIGURATION_FRAMEWORK)
 -     message(FATAL_ERROR "SystemConfiguration framework not found")
 -  endif()
--  list(APPEND CURL_LIBS "${SYSTEMCONFIGURATION_FRAMEWORK}")
--endif()
 -
- if(CMAKE_USE_OPENSSL)
-   find_package(OpenSSL)
-   if(NOT OpenSSL_FOUND)
+-  list(APPEND CURL_LIBS "-framework CoreFoundation" "-framework SystemConfiguration")
++  list(APPEND CURL_LIBS "-framework CoreFoundation")
+ 
+   if(CMAKE_USE_SECTRANSP)
+     find_library(SECURITY_FRAMEWORK "Security")
 diff --git a/Utilities/cmcurl/lib/curl_setup.h b/Utilities/cmcurl/lib/curl_setup.h
-index 2d13a40a55..35160bc0f5 100644
+index 554dcc1e67..059f14e632 100644
 --- a/Utilities/cmcurl/lib/curl_setup.h
 +++ b/Utilities/cmcurl/lib/curl_setup.h
-@@ -251,11 +251,7 @@
+@@ -257,11 +257,7 @@
   * performing this task will result in a synthesized IPv6 address.
   */
  #if defined(__APPLE__) && !defined(USE_ARES)
@@ -50,7 +33,7 @@ index 2d13a40a55..35160bc0f5 100644
  
  #ifdef USE_LWIPSOCK
 diff --git a/Utilities/cmcurl/lib/hostip.c b/Utilities/cmcurl/lib/hostip.c
-index e0e3cfc2cb..45190a100b 100644
+index 117caa2957..9f7c709e44 100644
 --- a/Utilities/cmcurl/lib/hostip.c
 +++ b/Utilities/cmcurl/lib/hostip.c
 @@ -68,10 +68,6 @@
@@ -64,26 +47,27 @@ index e0e3cfc2cb..45190a100b 100644
  #if defined(CURLRES_SYNCH) && \
      defined(HAVE_ALARM) && defined(SIGALRM) && defined(HAVE_SIGSETJMP)
  /* alarm-based timeouts can only be used with all the dependencies satisfied */
-@@ -533,19 +529,6 @@ enum resolve_t Curl_resolv(struct Curl_easy *data,
+@@ -653,23 +649,6 @@ enum resolve_t Curl_resolv(struct Curl_easy *data,
          return CURLRESOLV_ERROR;
      }
  
 -#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
--    /*
--     * The automagic conversion from IPv4 literals to IPv6 literals only works
--     * if the SCDynamicStoreCopyProxies system function gets called first. As
--     * Curl currently doesn't support system-wide HTTP proxies, we therefore
--     * don't use any value this function might return.
--     *
--     * This function is only available on a macOS and is not needed for
--     * IPv4-only builds, hence the conditions above.
--     */
--    SCDynamicStoreCopyProxies(NULL);
+-    {
+-      /*
+-       * The automagic conversion from IPv4 literals to IPv6 literals only
+-       * works if the SCDynamicStoreCopyProxies system function gets called
+-       * first. As Curl currently doesn't support system-wide HTTP proxies, we
+-       * therefore don't use any value this function might return.
+-       *
+-       * This function is only available on a macOS and is not needed for
+-       * IPv4-only builds, hence the conditions above.
+-       */
+-      CFDictionaryRef dict = SCDynamicStoreCopyProxies(NULL);
+-      if(dict)
+-        CFRelease(dict);
+-    }
 -#endif
 -
  #ifndef USE_RESOLVE_ON_IPS
      /* First check if this is an IPv4 address string */
      if(Curl_inet_pton(AF_INET, hostname, &in) > 0)
--- 
-2.32.0
-
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/search-path-2.8.patch b/nixpkgs/pkgs/development/tools/build-managers/cmake/search-path-2.8.patch
deleted file mode 100644
index 9fc949661686..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/cmake/search-path-2.8.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ru3 cmake-2.8.12.2/Modules/Platform/Linux.cmake cmake-2.8.12.2-new/Modules/Platform/Linux.cmake
---- cmake-2.8.12.2/Modules/Platform/Linux.cmake	2014-01-16 21:15:08.000000000 +0400
-+++ cmake-2.8.12.2-new/Modules/Platform/Linux.cmake	2016-04-13 22:00:32.928575740 +0300
-@@ -36,22 +36,11 @@
-   # checking the platform every time.  This option is advanced enough
-   # that only package maintainers should need to adjust it.  They are
-   # capable of providing a setting on the command line.
--  if(EXISTS "/etc/debian_version")
--    set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
--      "Install .so files without execute permission.")
--  else()
--    set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
--      "Install .so files without execute permission.")
--  endif()
-+  set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
-+    "Install .so files without execute permission.")
- endif()
- 
- # Match multiarch library directory names.
- set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*")
- 
- include(Platform/UnixPaths)
--
--# Debian has lib64 paths only for compatibility so they should not be
--# searched.
--if(EXISTS "/etc/debian_version")
--  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
--endif()
-diff -ru3 cmake-2.8.12.2/Modules/Platform/UnixPaths.cmake cmake-2.8.12.2-new/Modules/Platform/UnixPaths.cmake
---- cmake-2.8.12.2/Modules/Platform/UnixPaths.cmake	2014-01-16 21:15:08.000000000 +0400
-+++ cmake-2.8.12.2-new/Modules/Platform/UnixPaths.cmake	2016-04-14 00:09:10.106362636 +0300
-@@ -32,9 +32,6 @@
- # List common installation prefixes.  These will be used for all
- # search types.
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
--  # Standard
--  /usr/local /usr /
--
-   # CMake install location
-   "${_CMAKE_INSTALL_DIR}"
- 
-@@ -44,44 +41,26 @@
- 
- # List common include file locations not under the common prefixes.
- list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
--  # Windows API on Cygwin
--  /usr/include/w32api
--
--  # X11
--  /usr/X11R6/include /usr/include/X11
--
--  # Other
--  /usr/pkg/include
--  /opt/csw/include /opt/include
--  /usr/openwin/include
-+  @libc_dev@/include
-   )
- 
- list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
--  # Windows API on Cygwin
--  /usr/lib/w32api
--
--  # X11
--  /usr/X11R6/lib /usr/lib/X11
--
--  # Other
--  /usr/pkg/lib
--  /opt/csw/lib /opt/lib
--  /usr/openwin/lib
-+  @libc_lib@/lib
-   )
- 
- list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
--  /usr/pkg/bin
-+  @libc_bin@/bin
-   )
- 
- list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
--  /lib /usr/lib /usr/lib32 /usr/lib64
-+  @libc_lib@/lib
-   )
- 
- list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
--  /usr/include
-+  @libc_dev@/include
-   )
- list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
--  /usr/include
-+  @libc_dev@/include
-   )
- 
- # Enable use of lib64 search path variants by default.
diff --git a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
index 353f4d0f4e06..e4a616f9995e 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
@@ -99,6 +99,10 @@ in newPython.pkgs.buildPythonApplication rec {
   # Not enabled right now due to time constraints/failing tests that I didn't have time to track down
   doCheck = false;
 
+  postPatch = ''
+    substituteInPlace conans/requirements.txt --replace 'PyYAML>=3.11, <6.0' 'PyYAML>=3.11'
+  '';
+
   meta = with lib; {
     homepage = "https://conan.io";
     description = "Decentralized and portable C/C++ package manager";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix
index 3b9f0add8796..183548f5e31b 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/gnumake/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no";
 
   outputs = [ "out" "man" "info" ];
+  separateDebugInfo = true;
 
   meta = with lib; {
     homepage = "https://www.gnu.org/software/make/";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
index b94330d658ce..78376b639c44 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/gradle/update.sh b/nixpkgs/pkgs/development/tools/build-managers/gradle/update.sh
index 03c914bbdaf4..0d6b78a66525 100755
--- a/nixpkgs/pkgs/development/tools/build-managers/gradle/update.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix b/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix
index 8db882711fc2..c4d73785db49 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/jam/default.nix
@@ -16,13 +16,21 @@ stdenv.mkDerivation rec {
   '';
 
   buildPhase = ''
+    runHook preBuild
+
     make jam0
-    ./jam0 -j$NIX_BUILD_CORES -sBINDIR=$out/bin install
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
+    ./jam0 -j$NIX_BUILD_CORES -sBINDIR=$out/bin install
     mkdir -p $out/doc/jam
     cp *.html $out/doc/jam
+
+    runHook postInstall
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/jam/ftjam.nix b/nixpkgs/pkgs/development/tools/build-managers/jam/ftjam.nix
new file mode 100644
index 000000000000..6007b67f148b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/jam/ftjam.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchurl
+, bison
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ftjam";
+  version = "2.5.2";
+
+  src = fetchurl {
+    url = "https://downloads.sourceforge.net/project/freetype/${pname}/${version}/${pname}-${version}.tar.bz2";
+    hash = "sha256-6JdzUAqSkS3pGOn+v/q+S2vOedaa8ZRDX04DK4ptZqM=";
+  };
+
+  nativeBuildInputs = [
+    bison
+  ];
+
+  preConfigure = ''
+    unset AR
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    make jam0
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    ./jam0 -j$NIX_BUILD_CORES -sBINDIR=$out/bin install
+    mkdir -p $out/doc/jam
+    cp *.html $out/doc/jam
+
+    runHook postInstall
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://freetype.org/jam/";
+    description = "Freetype's enhanced, backwards-compatible Jam clone";
+    license = licenses.free;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
+# TODO: setup hook for Jam
diff --git a/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix b/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix
index 592564878e2e..7dfb6c9b2ad5 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.epl10;
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
     maintainers = with lib.maintainers; [ thiagokokada ];
+    mainProgram = "lein";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/boost-Do-not-add-system-paths-on-nix.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/boost-Do-not-add-system-paths-on-nix.patch
deleted file mode 100644
index 5b9020b3d540..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/boost-Do-not-add-system-paths-on-nix.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 536108b10271f2f42d41c7d9ddb4ce2ea1851f4f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Sat, 17 Oct 2020 19:27:08 +0200
-Subject: [PATCH] boost: Do not add system paths on nix
-
----
- mesonbuild/dependencies/boost.py | 17 +----------------
- 1 file changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
-index 907c0c275..ecaf11b18 100644
---- a/mesonbuild/dependencies/boost.py
-+++ b/mesonbuild/dependencies/boost.py
-@@ -643,22 +643,7 @@ class BoostDependency(ExternalDependency):
-             roots += [x for x in candidates if x.name.lower().startswith('boost') and x.is_dir()]
-         else:
-             tmp = []  # type: T.List[Path]
--
--            # Homebrew
--            brew_boost = Path('/usr/local/Cellar/boost')
--            if brew_boost.is_dir():
--                tmp += [x for x in brew_boost.iterdir()]
--
--            # Add some default system paths
--            tmp += [Path('/opt/local')]
--            tmp += [Path('/usr/local/opt/boost')]
--            tmp += [Path('/usr/local')]
--            tmp += [Path('/usr')]
--
--            # Cleanup paths
--            tmp = [x for x in tmp if x.is_dir()]
--            tmp = [x.resolve() for x in tmp]
--            roots += tmp
-+            # Do not add any non-explicit paths on nix
- 
-         return roots
- 
--- 
-2.25.4
-
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/default.nix b/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/default.nix
deleted file mode 100644
index 6fd93e8f86b1..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/default.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{ lib
-, python3
-, writeTextDir
-, substituteAll
-, fetchpatch
-, installShellFiles
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "meson";
-  version = "0.57.1";
-
-  src = python3.pkgs.fetchPypi {
-    inherit pname version;
-    sha256 = "19n8alcpzv6npgp27iqljkmvdmr7s2c7zm8y997j1nlvpa1cgqbj";
-  };
-
-  patches = [
-    # Upstream insists on not allowing bindir and other dir options
-    # outside of prefix for some reason:
-    # https://github.com/mesonbuild/meson/issues/2561
-    # We remove the check so multiple outputs can work sanely.
-    ./allow-dirs-outside-of-prefix.patch
-
-    # Meson is currently inspecting fewer variables than autoconf does, which
-    # makes it harder for us to use setup hooks, etc.  Taken from
-    # https://github.com/mesonbuild/meson/pull/6827
-    ./more-env-vars.patch
-
-    # Unlike libtool, vanilla Meson does not pass any information
-    # about the path library will be installed to to g-ir-scanner,
-    # breaking the GIR when path other than ${!outputLib}/lib is used.
-    # We patch Meson to add a --fallback-library-path argument with
-    # library install_dir to g-ir-scanner.
-    ./gir-fallback-path.patch
-
-    # In common distributions, RPATH is only needed for internal libraries so
-    # meson removes everything else. With Nix, the locations of libraries
-    # are not as predictable, therefore we need to keep them in the RPATH.
-    # At the moment we are keeping the paths starting with /nix/store.
-    # https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634
-    (substituteAll {
-      src = ./fix-rpath.patch;
-      inherit (builtins) storeDir;
-    })
-
-    # When Meson removes build_rpath from DT_RUNPATH entry, it just writes
-    # the shorter NUL-terminated new rpath over the old one to reduce
-    # the risk of potentially breaking the ELF files.
-    # But this can cause much bigger problem for Nix as it can produce
-    # cut-in-half-by-\0 store path references.
-    # Let’s just clear the whole rpath and hope for the best.
-    ./clear-old-rpath.patch
-
-    # Patch out default boost search paths to avoid impure builds on
-    # unsandboxed non-NixOS builds, see:
-    # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
-    ./boost-Do-not-add-system-paths-on-nix.patch
-  ];
-
-  setupHook = ./setup-hook.sh;
-
-  # 0.45 update enabled tests but they are failing
-  doCheck = false;
-  # checkInputs = [ ninja pkg-config ];
-  # checkPhase = "python ./run_project_tests.py";
-
-  postFixup = ''
-    pushd $out/bin
-    # undo shell wrapper as meson tools are called with python
-    for i in *; do
-      mv ".$i-wrapped" "$i"
-    done
-    popd
-
-    # Do not propagate Python
-    rm $out/nix-support/propagated-build-inputs
-  '';
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  postInstall = ''
-    installShellCompletion --zsh data/shell-completions/zsh/_meson
-    installShellCompletion --bash data/shell-completions/bash/meson
-  '';
-
-  meta = with lib; {
-    homepage = "https://mesonbuild.com";
-    description = "SCons-like build system that use python as a front-end language and Ninja as a building backend";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ jtojnar mbe ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/gir-fallback-path.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/gir-fallback-path.patch
deleted file mode 100644
index 0c924bacf73f..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/gir-fallback-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/mesonbuild/modules/gnome.py
-+++ b/mesonbuild/modules/gnome.py
-@@ -807,6 +807,13 @@ class GnomeModule(ExtensionModule):
-         if fatal_warnings:
-             scan_command.append('--warn-error')
- 
-+        if len(set([girtarget.get_custom_install_dir()[0] for girtarget in girtargets])) > 1:
-+            raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets])))
-+
-+        fallback_libpath = girtargets[0].get_custom_install_dir()[0]
-+        if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
-+            scan_command += ['--fallback-library-path=' + fallback_libpath]
-+
-         scan_target = self._make_gir_target(state, girfile, scan_command, depends, kwargs)
- 
-         typelib_output = '%s-%s.typelib' % (ns, nsversion)
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/more-env-vars.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/more-env-vars.patch
deleted file mode 100644
index 4b2606e2d694..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/more-env-vars.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 756dd8193..a5cc6ef8b 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -151,7 +151,7 @@ def _get_env_var(for_machine: MachineChoice, is_cross: bool, var_name: str) -> T
-         # compiling we fall back on the unprefixed host version. This
-         # allows native builds to never need to worry about the 'BUILD_*'
-         # ones.
--        ([var_name + '_FOR_BUILD'] if is_cross else [var_name]),
-+        [var_name + '_FOR_BUILD'] + ([] if is_cross else [var_name]),
-         # Always just the unprefixed host verions
-         [var_name]
-     )[for_machine]
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/allow-dirs-outside-of-prefix.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/allow-dirs-outside-of-prefix.patch
deleted file mode 100644
index 4eb292a2e529..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/allow-dirs-outside-of-prefix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/mesonbuild/coredata.py
-+++ b/mesonbuild/coredata.py
-@@ -506,7 +506,6 @@ class CoreData:
-             return value
-         if option.name.endswith('dir') and value.is_absolute() and \
-            option not in BULITIN_DIR_NOPREFIX_OPTIONS:
--            # Value must be a subdir of the prefix
-             # commonpath will always return a path in the native format, so we
-             # must use pathlib.PurePath to do the same conversion before
-             # comparing.
-@@ -518,7 +517,7 @@ class CoreData:
-             try:
-                 value = value.relative_to(prefix)
-             except ValueError:
--                raise MesonException(msg.format(option, value, prefix))
-+                pass
-             if '..' in str(value):
-                 raise MesonException(msg.format(option, value, prefix))
-         return value.as_posix()
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/clear-old-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/clear-old-rpath.patch
deleted file mode 100644
index f1e3c76e8b53..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/clear-old-rpath.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py
-index 4176b9a03..faaabf616 100644
---- a/mesonbuild/scripts/depfixer.py
-+++ b/mesonbuild/scripts/depfixer.py
-@@ -336,6 +336,15 @@ class Elf(DataSizes):
-         if not new_rpath:
-             self.remove_rpath_entry(entrynum)
-         else:
-+            # Clear old rpath to avoid stale references,
-+            # not heeding the warning above about de-duplication
-+            # since it does not seem to cause issues for us
-+            # and not doing so trips up Nix’s reference checker.
-+            # See https://github.com/NixOS/nixpkgs/pull/46020
-+            # and https://github.com/NixOS/nixpkgs/issues/95163
-+            self.bf.seek(rp_off)
-+            self.bf.write(b'\0'*len(old_rpath))
-+
-             self.bf.seek(rp_off)
-             self.bf.write(new_rpath)
-             self.bf.write(b'\0')
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/fix-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/fix-rpath.patch
deleted file mode 100644
index d34b6c4c4345..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/fix-rpath.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -456,6 +456,21 @@ class Backend:
-                 args.extend(self.environment.coredata.get_external_link_args(target.for_machine, lang))
-             except Exception:
-                 pass
-+
-+        nix_ldflags = os.environ.get('NIX_LDFLAGS', '').split()
-+        next_is_path = False
-+        # Try to add rpaths set by user or ld-wrapper so that they are not removed.
-+        # Based on https://github.com/NixOS/nixpkgs/blob/69711a2f5ffe8cda208163be5258266172ff527f/pkgs/build-support/bintools-wrapper/ld-wrapper.sh#L148-L177
-+        for flag in nix_ldflags:
-+            if flag == '-rpath' or flag == '-L':
-+                next_is_path = True
-+            elif next_is_path or flag.startswith('-L/'):
-+                if flag.startswith('-L/'):
-+                    flag = flag[2:]
-+                if flag.startswith('@storeDir@'):
-+                    dirs.add(flag)
-+                next_is_path = False
-+
-         # Match rpath formats:
-         # -Wl,-rpath=
-         # -Wl,-rpath,
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/setup-hook.sh
deleted file mode 100644
index 3d946fcffd52..000000000000
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/setup-hook.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-mesonConfigurePhase() {
-    runHook preConfigure
-
-    if [ -z "${dontAddPrefix-}" ]; then
-        mesonFlags="--prefix=$prefix $mesonFlags"
-    fi
-
-    # See multiple-outputs.sh and meson’s coredata.py
-    mesonFlags="\
-        --libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \
-        --bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \
-        --includedir=${!outputInclude}/include \
-        --mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \
-        --localedir=${!outputLib}/share/locale \
-        -Dauto_features=${mesonAutoFeatures:-enabled} \
-        -Dwrap_mode=${mesonWrapMode:-nodownload} \
-        $mesonFlags"
-
-    mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-plain} $mesonFlags"
-
-    echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}"
-
-    meson build $mesonFlags "${mesonFlagsArray[@]}"
-    cd build
-
-    if ! [[ -v enableParallelBuilding ]]; then
-        enableParallelBuilding=1
-        echo "meson: enabled parallel building"
-    fi
-
-    runHook postConfigure
-}
-
-if [ -z "${dontUseMesonConfigure-}" -a -z "${configurePhase-}" ]; then
-    setOutputFlags=
-    configurePhase=mesonConfigurePhase
-fi
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/allow-dirs-outside-of-prefix.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
index 4eb292a2e529..4eb292a2e529 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/allow-dirs-outside-of-prefix.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/boost-Do-not-add-system-paths-on-nix.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch
index 0a2eda9de9ac..0a2eda9de9ac 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/boost-Do-not-add-system-paths-on-nix.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/boost-Do-not-add-system-paths-on-nix.patch
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/clear-old-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch
index f1e3c76e8b53..f1e3c76e8b53 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/clear-old-rpath.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/default.nix b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
index 79870cd4d128..aeddf457f48d 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/default.nix
@@ -9,11 +9,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "meson";
-  version = "0.60.2";
+  version = "0.60.3";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    hash = "sha256-ZOaWhWW/G4FS9PnWyoFU77nhTKqaq/eyLnHmxdBT6SE=";
+    hash = "sha256-h8pfqTWKAYZFKTkr1k4CcVjrlK/KfHdmsYZu8n7MuY4=";
   };
 
   patches = [
@@ -57,6 +57,10 @@ python3.pkgs.buildPythonApplication rec {
     # unsandboxed non-NixOS builds, see:
     # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
     ./boost-Do-not-add-system-paths-on-nix.patch
+
+    # Meson tries to update ld.so.cache which breaks when the target architecture
+    # differs from the build host's.
+    ./do-not-update-ldconfig-cache.patch
   ];
 
   setupHook = ./setup-hook.sh;
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch
new file mode 100644
index 000000000000..884023aaa7eb
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch
@@ -0,0 +1,12 @@
+diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
+index cb87faf5c..878ec4cd6 100644
+--- a/mesonbuild/minstall.py
++++ b/mesonbuild/minstall.py
+@@ -551,7 +551,6 @@ class Installer:
+                 self.install_emptydir(d, dm, destdir, fullprefix)
+                 self.install_data(d, dm, destdir, fullprefix)
+                 self.restore_selinux_contexts(destdir)
+-                self.apply_ldconfig(dm, destdir)
+                 self.run_install_script(d, destdir, fullprefix)
+                 if not self.did_install_something:
+                     self.log('Nothing to install.')
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/fix-rpath.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
index d34b6c4c4345..d34b6c4c4345 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/fix-rpath.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/fix-rpath.patch
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/gir-fallback-path.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
index e6d740265277..e6d740265277 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/gir-fallback-path.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/more-env-vars.patch b/nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch
index e4ad43550423..e4ad43550423 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.60/more-env-vars.patch
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/more-env-vars.patch
diff --git a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh
index 3d946fcffd52..3d946fcffd52 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/meson/0.57/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/meson/setup-hook.sh
diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
index bc335da78a7b..49d454d86864 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.9.11";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}-assembly";
-    sha256 = "sha256-qYwCt7+//GJHJyDrZ8rcGCKLshKebIDBQCyn6rLOhJQ=";
+    sha256 = "sha256:1acm1z24cw2yzykwwjfrcf66mi16xvsrnrrhrsd9yqrajqab707n";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://www.lihaoyi.com/mill";
+    homepage = "https://com-lihaoyi.github.io/mill/";
     license = licenses.mit;
     description = "A build tool for Scala, Java and more";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh
index 7d8087ad1342..015759c9d485 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh
+++ b/nixpkgs/pkgs/development/tools/build-managers/ninja/setup-hook.sh
@@ -14,7 +14,7 @@ ninjaBuildPhase() {
     )
 
     echoCmd 'build flags' "${flagsArray[@]}"
-    ninja "${flagsArray[@]}"
+    ninja "${flagsArray[@]}" | cat
 
     runHook postBuild
 }
@@ -33,7 +33,7 @@ ninjaInstallPhase() {
     )
 
     echoCmd 'install flags' "${flagsArray[@]}"
-    ninja "${flagsArray[@]}"
+    ninja "${flagsArray[@]}" | cat
 
     runHook postInstall
 }
@@ -67,7 +67,7 @@ ninjaCheckPhase() {
         )
 
         echoCmd 'check flags' "${flagsArray[@]}"
-        ninja "${flagsArray[@]}"
+        ninja "${flagsArray[@]}" | cat
     fi
 
     runHook postCheck
diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
index a575b0ee3be5..37cb4dd86609 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -3,7 +3,7 @@
   writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }:
 
 let
-  version = "3.17.0";
+  version = "3.18.0";
   owner = "erlang";
   deps = import ./rebar-deps.nix { inherit fetchFromGitHub fetchgit fetchHex; };
   rebar3 = stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ let
       inherit owner;
       repo = pname;
       rev = version;
-      sha256 = "02sk3whrbprzlih4pgcsd6ngmassfjfmkz21gwvb7mq64pib40k6";
+      sha256 = "09648hzc2mnjwf9klm20cg4hb5rn2xv2gmzcg98ffv37p5yfl327";
     };
 
     buildInputs = [ erlang ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix b/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix
index 8882feaf3c92..3848600cb4c7 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix
@@ -16,23 +16,23 @@ let
     };
     relx = builder {
       name = "relx";
-      version = "4.5.0";
+      version = "4.6.0";
       src = fetchHex {
         pkg = "relx";
-        version = "4.5.0";
-        sha256 = "sha256-3bWPIMzmymP1onJeklgW3XITR2aYo/PDy0+ownIgLFI=";
+        version = "4.6.0";
+        sha256 = "sha256-L/gTHGMJPGIcazfcUtGyhIqTiIZYS0twHTW9vkN39Qk=";
       };
       beamDeps = [ bbmustache ];
     };
     providers = builder {
       name = "providers";
-      version = "1.8.1";
+      version = "1.9.0";
       src = fetchHex {
         pkg = "providers";
-        version = "1.8.1";
-        sha256 = "sha256-5FdFrenEdqmkaeoIQOQYqxk2DcRPAaIzME4RikRIa6A=";
+        version = "1.9.0";
+        sha256 = "sha256-0ofodEBqFQVghkKwo9tbaNato/KrABrsh+f018efwBc=";
       };
-      beamDeps = [ getopt ];
+      beamDeps = [ erlware_commons getopt ];
     };
     getopt = builder {
       name = "getopt";
@@ -86,21 +86,21 @@ let
     };
     certifi = builder {
       name = "certifi";
-      version = "2.6.1";
+      version = "2.8.0";
       src = fetchHex {
         pkg = "certifi";
-        version = "2.6.1";
-        sha256 = "sha256-UkyXtJkbOEndXBemMSI4licsawr0RneLpGdaHf9Tu34=";
+        version = "2.8.0";
+        sha256 = "sha256-asfvwcb4YAsI1iUpLUu/WE4UhHzhtrXETZg9Jz4Ql+o=";
       };
       beamDeps = [ ];
     };
     bbmustache = builder {
       name = "bbmustache";
-      version = "1.10.0";
+      version = "1.12.2";
       src = fetchHex {
         pkg = "bbmustache";
-        version = "1.10.0";
-        sha256 = "sha256-Q+/6P9S7lSMVevWp4idsSTSVuEWfyHNxRKoYbLE84u4=";
+        version = "1.12.2";
+        sha256 = "sha256-aIszpNXMLVH1da3ws2g/xAo4MUovFQkG7c/Hf1tXezs=";
       };
       beamDeps = [ ];
     };
diff --git a/nixpkgs/pkgs/development/tools/build-managers/remake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/remake/default.nix
index dc3920d17474..5357dc805e87 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/remake/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/remake/default.nix
@@ -10,12 +10,12 @@
 stdenv.mkDerivation rec {
   pname = "remake";
   remakeVersion = "4.3";
-  dbgVersion = "1.5";
+  dbgVersion = "1.6";
   version = "${remakeVersion}+dbg-${dbgVersion}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/bashdb/remake/${version}/remake-${remakeVersion}+dbg-${dbgVersion}.tar.gz";
-    sha256 = "0xlx2485y0israv2pfghmv74lxcv9i5y65agy69mif76yc4vfvif";
+    sha256 = "11vvch8bi0yhjfz7gn92b3xmmm0cgi3qfiyhbnnj89frkhbwd87n";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 3f52f6ca1ba2..759c9f681593 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
index d45f15b59e7a..59d9441a5905 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchurl {
     url = "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz";
-    sha256 = "sha256-YChr8bh1sx4pVfimmYiM0mEumv2U0DzeCi5x79dJL/w=";
+    sha256 = "sha256-Y3Y3tsTm+gSrYs02QGHjKxJICwkAHNIzA99is2+t1EA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix
index 33f9811ab836..8e8503227e88 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/default.nix
@@ -1,15 +1,15 @@
 { stdenv, coreutils, lib, installShellFiles, zlib, autoPatchelfHook, fetchurl }:
 
 let
-  version = "0.0.9";
+  version = "0.1.1";
   assets = {
     x86_64-darwin = {
       asset = "scala-cli-x86_64-apple-darwin.gz";
-      sha256 = "sha256-1KwJuapqGhMEIMwrJp2LKlpYFtl+OP9DyaMtge9ZedI=";
+      sha256 = "sha256-wULC0/n0ZFdBXOjxVe/VYsdsGBorNd51HczCK20Pmwc=";
     };
     x86_64-linux = {
       asset = "scala-cli-x86_64-pc-linux.gz";
-      sha256 = "sha256-IDXO+MgFlnT7VPugcQr/IGLZeD/vWFqJ0D0zVIbTtk4=";
+      sha256 = "sha256-tXcg+FOm+Ig61/Jw9ibEp0sHeXI9tpt+ya3Z/yS7MCk=";
     };
   };
 in
diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix b/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix
index 65ea525d5afa..c0707a1cd935 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix
@@ -8,13 +8,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "waf";
-  version = "2.0.22";
+  version = "2.0.23";
 
   src = fetchFromGitLab {
     owner = "ita1024";
     repo = "waf";
     rev = "${pname}-${version}";
-    sha256 = "sha256-WGGyhvQdFYmC0NOA5VVqCRMF1fvfPcTI42x1nHvz0W0=";
+    sha256 = "sha256-AASjkXb3eCVjbuT0GOwhagoNHxG7/XP1Mj0i1U4j13Q=";
   };
 
   nativeBuildInputs = [ python3 ensureNewerSourcesForZipFilesHook ];
diff --git a/nixpkgs/pkgs/development/tools/buildah/default.nix b/nixpkgs/pkgs/development/tools/buildah/default.nix
index 04ab489da1cc..ea6f866a48b1 100644
--- a/nixpkgs/pkgs/development/tools/buildah/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/buildpack/default.nix b/nixpkgs/pkgs/development/tools/buildpack/default.nix
index c10e5e7f459b..d607f7af00c3 100644
--- a/nixpkgs/pkgs/development/tools/buildpack/default.nix
+++ b/nixpkgs/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-mIXt3rWXQ6lVbV4hT7KRK7VZ4iFuDX6kZjgoE1WvJxI=";
+  vendorSha256 = "sha256-4uMd0KaV5xrxuJ9yqpxbD3YTNaBHsH2d/IRtYRyN5+0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/butane/default.nix b/nixpkgs/pkgs/development/tools/butane/default.nix
index 094aa5fe026c..4570faa96f26 100644
--- a/nixpkgs/pkgs/development/tools/butane/default.nix
+++ b/nixpkgs/pkgs/development/tools/butane/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 buildGoModule rec {
   pname = "butane";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "butane";
     rev = "v${version}";
-    sha256 = "sha256-wrz9+McHW2NNMsB3uOZIceykYBlSgl2WErAT8bMlkXo=";
+    sha256 = "sha256-rS1/LQ5R3WY9ot1pgtN+6t/ZChr9SxPzrsNio7WWNqQ=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/tools/castxml/default.nix b/nixpkgs/pkgs/development/tools/castxml/default.nix
index a233288a28e8..17be341f4499 100644
--- a/nixpkgs/pkgs/development/tools/castxml/default.nix
+++ b/nixpkgs/pkgs/development/tools/castxml/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "CastXML";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-MschwCEkZrZmNgr8a1ocdukjXzHbXl2gmkPmygJaA6k=";
+    hash = "sha256-VtkMjZOcF5OAHkezlupXOpNwqUD1oKHdRbtG2FZBRL4=";
   };
 
   nativeBuildInputs = [
@@ -30,23 +30,23 @@ stdenv.mkDerivation rec {
     sphinx
   ];
 
-  cmakeFlags = [
-    "-DCLANG_RESOURCE_DIR=${libclang.dev}/"
-    "-DSPHINX_HTML=${if withHTML then "ON" else "OFF"}"
-    "-DSPHINX_MAN=${if withManual then "ON" else "OFF"}"
-  ];
-
   buildInputs = [
+    libclang
     libffi
     libxml2
     zlib
-    libclang
   ];
 
   propagatedBuildInputs = [
     libclang
   ];
 
+  cmakeFlags = [
+    "-DCLANG_RESOURCE_DIR=${libclang.dev}/"
+    "-DSPHINX_HTML=${if withHTML then "ON" else "OFF"}"
+    "-DSPHINX_MAN=${if withManual then "ON" else "OFF"}"
+  ];
+
   # 97% tests passed, 97 tests failed out of 2881
   # mostly because it checks command line and nix append -isystem and all
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/tools/checkmate/default.nix b/nixpkgs/pkgs/development/tools/checkmate/default.nix
index d5aded2d8e10..b8ad9c6d7789 100644
--- a/nixpkgs/pkgs/development/tools/checkmate/default.nix
+++ b/nixpkgs/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-rlwph9oQXgesLHjrtD+H4zvT2ekTeqZFgRBjXoyFltM=";
+  vendorSha256 = "sha256-ZURtNED8gb0QsuXxJd9oBSx68ABcwlvVpkbd7lhiA9s=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/chefdk/default.nix b/nixpkgs/pkgs/development/tools/chefdk/default.nix
index 9e0e40b69f4b..93af8815fb3a 100644
--- a/nixpkgs/pkgs/development/tools/chefdk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/circup/default.nix b/nixpkgs/pkgs/development/tools/circup/default.nix
new file mode 100644
index 000000000000..b620fa20e460
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/clj-kondo/default.nix b/nixpkgs/pkgs/development/tools/clj-kondo/default.nix
index 8a71939f2c11..bd9819f8a006 100644
--- a/nixpkgs/pkgs/development/tools/clj-kondo/default.nix
+++ b/nixpkgs/pkgs/development/tools/clj-kondo/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "clj-kondo";
-  version = "2021.12.19";
+  version = "2022.02.09";
 
   src = fetchurl {
     url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-CjqzsYT3Hc2Ej7ALHkuKwBPHMAQkQQilUZhuC3hcZQg=";
+    sha256 = "sha256-WfPjn0S7Jd6zFcfaudcSsx9d5luyZuaeB8lFaOLg21w=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix b/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
index a0d0ced824d8..4fa198f32c0c 100644
--- a/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
+++ b/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.7.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gW7uunW7gE/5umBQNjx+k2FIAryKka7yLMqnd6ewv6I=";
+    sha256 = "sha256-y1YpPYTejeZjz4nJmyAPT8rYaEguaJpBfAAfF38dpA4=";
   };
 
-  vendorSha256 = "sha256-GDXkrrE0KgFJHXCDZH83/nQAexKhmGed/QGZ1aSXnpg=";
+  vendorSha256 = "sha256-McCbogZvgm9pnVjay9O2CxAh+653JnDMcU4CHD0PTPI=";
 
   ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
diff --git a/nixpkgs/pkgs/development/tools/cmake-language-server/default.nix b/nixpkgs/pkgs/development/tools/cmake-language-server/default.nix
index 663e0a5b66f1..f50afcd4669f 100644
--- a/nixpkgs/pkgs/development/tools/cmake-language-server/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/cocogitto/default.nix b/nixpkgs/pkgs/development/tools/cocogitto/default.nix
new file mode 100644
index 000000000000..127aebccf5a5
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/cocogitto/default.nix
@@ -0,0 +1,42 @@
+{ lib, rustPlatform, fetchFromGitHub, installShellFiles, stdenv, Security, makeWrapper, git }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cocogitto";
+  version = "4.1.0";
+
+  src = fetchFromGitHub {
+    owner = "oknozor";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-g7NBtqr7Mx7ALzij4hfoVXN3izbu4ShXYhHPYw9qnWk=";
+  };
+
+  cargoSha256 = "sha256-kXspbXySY5ridLUvAjv49Rm0RGt1fNsfNw9a3vd4hyI=";
+
+  # Test depend on git configuration that would likly exist in a normal user enviroment
+  # and might be failing to create the test repository it works in.
+  doCheck = false;
+
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
+  postInstall = ''
+    installShellCompletion --cmd cog \
+      --bash <($out/bin/cog generate-completions bash) \
+      --fish <($out/bin/cog generate-completions fish) \
+      --zsh  <($out/bin/cog generate-completions zsh)
+
+    wrapProgram $out/bin/cog \
+      --prefix PATH : "${lib.makeBinPath [ git ]}"
+    wrapProgram $out/bin/coco \
+      --prefix PATH : "${lib.makeBinPath [ git ]}"
+  '';
+
+  meta = with lib; {
+    description = "A set of cli tools for the conventional commit and semver specifications";
+    homepage = "https://github.com/oknozor/cocogitto";
+    license = licenses.mit;
+    maintainers = with maintainers; [ travisdavis-ops ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/confluent-cli/default.nix b/nixpkgs/pkgs/development/tools/confluent-cli/default.nix
new file mode 100644
index 000000000000..9664a75703a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/confluent-cli/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, autoPatchelfHook, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "confluent-cli";
+  version = "2.4.0";
+
+  # To get the latest version:
+  # curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1
+  src = fetchurl (if stdenv.hostPlatform.isDarwin then {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_v${version}_darwin_amd64.tar.gz";
+      sha256 = "1xkf7p9cn37k8j57cgbzxhqgnmchf86jyiza91bf6ddvm6jsm2gd";
+    } else {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_v${version}_linux_amd64.tar.gz";
+      sha256 = "1wvy7x56cc7imycf0d83mxcqzdvv56cc0zbp913xgghjn9dl2z7a";
+    });
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  dontStrip = stdenv.isDarwin;
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/doc/confluent-cli}
+    cp confluent $out/bin/
+    cp LICENSE $out/share/doc/confluent-cli/
+    cp -r legal $out/share/doc/confluent-cli/
+  '';
+
+  meta = with lib; {
+    description = "Confluent CLI";
+    homepage = "https://docs.confluent.io/confluent-cli/current/overview.html";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ rguevara84 ];
+
+    # TODO: There's support for i686 systems but I do not have any such system
+    # to build it locally on, it's also unfree so I cannot rely on ofborg to
+    # build it. Get the list of supported system by looking at the list of
+    # files in the S3 bucket:
+    #
+    #   https://s3-us-west-2.amazonaws.com/confluent.cloud?prefix=confluent-cli/archives/1.25.0/&delimiter=/%27
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/conftest/default.nix b/nixpkgs/pkgs/development/tools/conftest/default.nix
index ae5e97cd574b..f200cd742d90 100644
--- a/nixpkgs/pkgs/development/tools/conftest/default.nix
+++ b/nixpkgs/pkgs/development/tools/conftest/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.28.3";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "sha256-qUbrd80As5BrP67bk8aXWAq85UKL1de5sJlPQtBuxn4=";
+    sha256 = "sha256-8/eZz5ejw5bahCYwz825HI+oZ6D1odeTpMIJh0TcGMY=";
   };
-  vendorSha256 = "sha256-cEa2IB65CWsWXZnVRZmOOvUyOhybHBssQGt/pP7YPcg=";
+  vendorSha256 = "sha256-wvOtBK3lRK7XwgeClywowgrZLohltSTGdoB+j3NRmkE=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index 897b191cdd66..b6375f1c286a 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -2,7 +2,7 @@
   makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep,
   nixosTests }:
 buildGoModule rec {
-  name = "buildkite-agent-${version}";
+  pname = "buildkite-agent";
   version = "3.33.3";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/0001-use-different-upstream-for-gomod.patch b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/0001-use-different-upstream-for-gomod.patch
new file mode 100644
index 000000000000..e9bd040f6781
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
index 38382ea43474..ac434fb9fdd5 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
@@ -1,28 +1,30 @@
 { lib, fetchFromGitHub, buildGoModule }:
 
 buildGoModule rec {
-  version = "1.4.0";
+  version = "1.5.0";
   pname = "drone-cli";
   revision = "v${version}";
 
-  vendorSha256 = "sha256-v2ijRZ5xvYkL3YO7Xfgalzxzd9C5BKdaQF7VT5UoqOk=";
+  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-+70PWHGd8AQP6ih0b/+VOIbJcF8tSOAO9wsGqQWX+bU=";
+    sha256 = "sha256-TFIGKTVrAMSOFEmu3afdDKBgyEwF2KIv3rt1fS6rCxw=";
   };
 
   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/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
index a2e7b739718b..fa2957be986d 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix
index e784e3fe330e..67433ab5d88a 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -10,7 +10,7 @@
 , icu
 , libkrb5
 , lib
-, linkFarm
+, linkFarmFromDrvs
 , lttng-ust
 , makeWrapper
 , nodejs-12_x
@@ -18,33 +18,38 @@
 , openssl
 , stdenv
 , zlib
+, writeShellApplication
+, nuget-to-nix
 }:
 let
-  deps = (import ./deps.nix { inherit fetchurl; });
-  nugetPackages = map
-    (x: {
-      name = "${x.name}.nupkg";
-      path = "${x}";
-    })
-    deps;
-  nugetSource = linkFarm "nuget-packages" nugetPackages;
-
-  dotnetSdk = dotnetCorePackages.sdk_3_1;
-  runtimeId =
-    if stdenv.isAarch64
-    then "linux-arm64"
-    else "linux-x64";
+  nugetSource = linkFarmFromDrvs "nuget-packages" (
+    import ./deps.nix {
+      fetchNuGet = { pname, version, sha256 }: fetchurl {
+        name = "${pname}.${version}.nupkg";
+        url = "https://www.nuget.org/api/v2/package/${pname}/${version}";
+        inherit sha256;
+      };
+    }
+  );
+
+  dotnetSdk = dotnetCorePackages.sdk_6_0;
+  # Map Nix systems to .NET runtime ids
+  runtimeIds = {
+    "x86_64-linux" = "linux-x64";
+    "aarch64-linux" = "linux-arm64";
+  };
+  runtimeId = runtimeIds.${stdenv.system};
   fakeSha1 = "0000000000000000000000000000000000000000";
 in
 stdenv.mkDerivation rec {
   pname = "github-runner";
-  version = "2.285.1";
+  version = "2.287.1";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-SlKUuebsoZ9OgYuDTNOlY1KMg01LFSFazrLCctiFq3A=";
+    hash = "sha256-4SPrtX3j8blWTYnSkD2Z7IecZvI4xdAqHRJ1lBM0aAo=";
   };
 
   nativeBuildInputs = [
@@ -72,20 +77,17 @@ stdenv.mkDerivation rec {
     ./patches/use-get-directory-for-diag.patch
     # Don't try to install systemd service
     ./patches/dont-install-systemd-service.patch
-    # Prevent the runner from starting a self-update for new versions
-    # (upstream issue: https://github.com/actions/runner/issues/485)
-    ./patches/prevent-self-update.patch
   ];
 
   postPatch = ''
     # Relax the version requirement
     substituteInPlace src/global.json \
-      --replace '3.1.302' '${dotnetSdk.version}'
+      --replace '6.0.100' '${dotnetSdk.version}'
 
     # Disable specific tests
     substituteInPlace src/dir.proj \
       --replace 'dotnet test Test/Test.csproj' \
-                "dotnet test Test/Test.csproj --filter '${lib.concatStringsSep "&amp;" disabledTests}'"
+                "dotnet test Test/Test.csproj --filter '${lib.concatStringsSep "&amp;" (map (x: "FullyQualifiedName!=${x}") disabledTests)}'"
 
     # We don't use a Git checkout
     substituteInPlace src/dir.proj \
@@ -116,14 +118,6 @@ stdenv.mkDerivation rec {
     runHook postConfigure
   '';
 
-  postConfigure = ''
-    # `crossgen` dependency is called during build
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" \
-      $HOME/.nuget/packages/microsoft.netcore.app.runtime.${runtimeId}/*/tools/crossgen
-  '';
-
   buildPhase = ''
     runHook preBuild
 
@@ -140,16 +134,21 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  disabledTests = [
-    # Self-updating is patched out, hence this test will fail
-    "FullyQualifiedName!=GitHub.Runner.Common.Tests.Listener.RunnerL0.TestRunOnceHandleUpdateMessage"
-  ] ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [
-    # "JavaScript Actions in Alpine containers are only supported on x64 Linux runners. Detected Linux Arm64"
-    "FullyQualifiedName!=GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNodeRuntimeVersionInAlpineContainerAsync"
-  ] ++ map
-    # Online tests
-    (x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.Worker.ActionManagerL0.PrepareActions_${x}")
-    [
+  # Fully qualified name of disabled tests
+  disabledTests =
+    [ "GitHub.Runner.Common.Tests.Listener.SelfUpdaterL0.TestSelfUpdateAsync" ]
+    ++ map (x: "GitHub.Runner.Common.Tests.Listener.SelfUpdaterL0.TestSelfUpdateAsync_${x}") [
+      "Cancel_CloneHashTask_WhenNotNeeded"
+      "CloneHash_RuntimeAndExternals"
+      "DownloadRetry"
+      "FallbackToFullPackage"
+      "NoUpdateOnOldVersion"
+      "NotUseExternalsRuntimeTrimmedPackageOnHashMismatch"
+      "UseExternalsRuntimeTrimmedPackage"
+      "UseExternalsTrimmedPackage"
+      "ValidateHash"
+    ]
+    ++ map (x: "GitHub.Runner.Common.Tests.Worker.ActionManagerL0.PrepareActions_${x}") [
       "CompositeActionWithActionfile_CompositeContainerNested"
       "CompositeActionWithActionfile_CompositePrestepNested"
       "CompositeActionWithActionfile_MaxLimit"
@@ -179,11 +178,15 @@ stdenv.mkDerivation rec {
       "RepositoryActionWithInvalidWrapperActionfile_Node_Legacy"
       "RepositoryActionWithWrapperActionfile_PreSteps"
       "RepositoryActionWithWrapperActionfile_PreSteps_Legacy"
-    ] ++ map
-    (x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.DotnetsdkDownloadScriptL0.${x}")
-    [
+    ]
+    ++ map (x: "GitHub.Runner.Common.Tests.DotnetsdkDownloadScriptL0.${x}") [
       "EnsureDotnetsdkBashDownloadScriptUpToDate"
       "EnsureDotnetsdkPowershellDownloadScriptUpToDate"
+    ]
+    ++ [ "GitHub.Runner.Common.Tests.Listener.RunnerL0.TestRunOnceHandleUpdateMessage" ]
+    ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [
+      # "JavaScript Actions in Alpine containers are only supported on x64 Linux runners. Detected Linux Arm64"
+      "GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNodeRuntimeVersionInAlpineContainerAsync"
     ];
 
   checkInputs = [ git ];
@@ -195,6 +198,8 @@ stdenv.mkDerivation rec {
     ln -s ${nodejs-12_x} _layout/externals/node12
     ln -s ${nodejs-16_x} _layout/externals/node16
 
+    printf 'Disabled tests:\n%s\n' '${lib.concatMapStringsSep "\n" (x: " - ${x}") disabledTests}'
+
     # BUILDCONFIG needs to be "Debug"
     dotnet msbuild \
       -t:test \
@@ -281,11 +286,49 @@ stdenv.mkDerivation rec {
     wrap config.sh --prefix PATH : ${lib.makeBinPath [ glibc.bin ]}
   '';
 
+  # Script to create deps.nix file for dotnet dependencies. Run it with
+  # $(nix-build -A github-runner.passthru.createDepsFile)/bin/create-deps-file
+  #
+  # Default output path is /tmp/${pname}-deps.nix, but can be overriden with cli argument.
+  #
+  # Inspired by passthru.fetch-deps in pkgs/build-support/build-dotnet-module/default.nix
+  passthru.createDepsFile = writeShellApplication {
+    name = "create-deps-file";
+    runtimeInputs = [ dotnetSdk nuget-to-nix ];
+    text = ''
+      # Disable telemetry data
+      export DOTNET_CLI_TELEMETRY_OPTOUT=1
+
+      rundir=$(pwd)
+
+      printf "\n* Setup workdir\n"
+      workdir="$(mktemp -d /tmp/${pname}.XXX)"
+      cp -rT "${src}" "$workdir"
+      chmod -R +w "$workdir"
+      trap 'rm -rf "$workdir"' EXIT
+
+      pushd "$workdir"
+
+      mkdir nuget_pkgs
+
+      ${lib.concatMapStrings (rid: ''
+      printf "\n* Restore ${pname} (${rid}) dotnet project\n"
+      dotnet restore src/ActionsRunner.sln --packages nuget_pkgs --no-cache --force --runtime "${rid}"
+      '') (lib.attrValues runtimeIds)}
+
+      cd "$rundir"
+      deps_file=''${1-"/tmp/${pname}-deps.nix"}
+      printf "\n* Make %s file\n" "$(basename "$deps_file")"
+      nuget-to-nix "$workdir/nuget_pkgs" > "$deps_file"
+      printf "\n* Dependency file writen to %s" "$deps_file"
+    '';
+  };
+
   meta = with lib; {
     description = "Self-hosted runner for GitHub Actions";
     homepage = "https://github.com/actions/runner";
     license = licenses.mit;
-    maintainers = with maintainers; [ veehaitch newam ];
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ veehaitch newam kfollesdal ];
+    platforms = attrNames runtimeIds;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix
index 197927674be1..1281b9515f59 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix
@@ -1,1522 +1,258 @@
-{ fetchurl }:
-let
-  fetchNuGet = { name, version, sha256 }: fetchurl {
-    inherit sha256;
-    name = "${name}.${version}";
-    url = "https://www.nuget.org/api/v2/package/${name}/${version}";
-  };
-in
-[
-
-  (fetchNuGet {
-    name = "castle.core";
-    version = "4.4.0";
-    sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf";
-  })
-  (fetchNuGet {
-    name = "microsoft.aspnetcore.app.runtime.linux-x64";
-    version = "3.1.21";
-    sha256 = "056g9nv8a7n8zdbgzmyzmn3pbg52yq2kv5d1rcp7h6plwzgpiwql";
-  })
-  (fetchNuGet {
-    name = "microsoft.aspnetcore.app.runtime.linux-arm64";
-    version = "3.1.21";
-    sha256 = "0147s60lvbzj2agb4wgwvkxacq96mqsgayxkbpjqybnc8ggzqkvr";
-  })
-  (fetchNuGet {
-    name = "microsoft.aspnet.webapi.client";
-    version = "5.2.4";
-    sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj";
-  })
-  (fetchNuGet {
-    name = "microsoft.csharp";
-    version = "4.0.1";
-    sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
-  })
-  (fetchNuGet {
-    name = "microsoft.identitymodel.logging";
-    version = "5.2.1";
-    sha256 = "1gpka9jm2gl6f07pcwzwvaxw9xq1a19i9fskn0qs921c5grhlp3g";
-  })
-  (fetchNuGet {
-    name = "microsoft.identitymodel.tokens";
-    version = "5.2.1";
-    sha256 = "03v6145vr1winq8xxfikydicds4f10qmy1ybyz2gfimnzzx51w00";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.app.runtime.linux-x64";
-    version = "3.1.21";
-    sha256 = "13692wqcww0w6x4nhyxpxwprdg6mx9xmlvv38m6fvp6g0m27r43v";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.app.runtime.linux-arm64";
-    version = "3.1.21";
-    sha256 = "04rp4j2kyzslyfbzldm2ndb6v4g7jq9xi9bmvss34fh25gdgqs3q";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "1.0.1";
-    sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "1.0.1-rc2-24027";
-    sha256 = "1a0w5fv8slfr4q7m3mh78lb9awdwyz4zv3bb73vybkyq1f6z7lx8";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "1.1.0";
-    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.platforms";
-    version = "2.0.0";
-    sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.runtime";
-    version = "1.0.2-rc2-24027";
-    sha256 = "0ippdn16381l8i2iy63i45nk0p303fjbd4amh7biwvqxgagfbvhh";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.runtime.coreclr";
-    version = "1.0.2-rc2-24027";
-    sha256 = "05y0jz6vfl9zs0lmmwsz6arf7r0mg2dm93ymizrzmqn706krz45x";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.runtime.native";
-    version = "1.0.2-rc2-24027";
-    sha256 = "11hpbbmnjbskw7s6sx32l6qzz63kshx0gyp3sawyxk82nbqrissl";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.targets";
-    version = "1.0.1";
-    sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.targets";
-    version = "1.0.1-rc2-24027";
-    sha256 = "1j1458jska7540ng7fdf5i06k2vy71mxl5dld4x5s8gfndxpdzdj";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.targets";
-    version = "1.1.0";
-    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
-  })
-  (fetchNuGet {
-    name = "microsoft.netcore.windows.apisets";
-    version = "1.0.1-rc2-24027";
-    sha256 = "034m9p417iq3yzipg393wp4bddsh80di9iad78vvvh7w5difdv0x";
-  })
-  (fetchNuGet {
-    name = "microsoft.net.test.sdk";
-    version = "15.0.0";
-    sha256 = "1ca9v53dphsgk22spilfwq1hjzp2sgrrj85v7hd7wfc6gjh31mb5";
-  })
-  (fetchNuGet {
-    name = "microsoft.testplatform.objectmodel";
-    version = "15.0.0";
-    sha256 = "0xqssz2y8jzqph6kv1fzy00wzjcnc2whhlf8jsszgpn69ld7f1rb";
-  })
-  (fetchNuGet {
-    name = "microsoft.testplatform.testhost";
-    version = "15.0.0";
-    sha256 = "1mi59wxwdqyzmkan0v9qrar96f50xs6k38xzv3l6ky859si2qk4b";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.primitives";
-    version = "4.0.1";
-    sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.primitives";
-    version = "4.0.1-rc2-24027";
-    sha256 = "1rvb076s4ksvmbvnxi4sv2f9f22izqp2rca0scjqya5x1qhcgkp0";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.primitives";
-    version = "4.3.0";
-    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.registry";
-    version = "4.0.0";
-    sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k";
-  })
-  (fetchNuGet {
-    name = "microsoft.win32.registry";
-    version = "4.4.0";
-    sha256 = "088j2anh1rnkxdcycw5kgp97ahk7cj741y6kask84880835arsb6";
-  })
-  (fetchNuGet {
-    name = "minimatch";
-    version = "2.0.0";
-    sha256 = "1k84q1bz1qq2nh35nip8vmi65wixsh5y7piln5b4n172xzhfqvx0";
-  })
-  (fetchNuGet {
-    name = "moq";
-    version = "4.11.0";
-    sha256 = "08bnk80scjjqnkdbjam8grcqrw2rvj9z7556hiznac7in3fcp77w";
-  })
-  (fetchNuGet {
-    name = "netstandard.library";
-    version = "1.5.0-rc2-24027";
-    sha256 = "1kazwidj63w53r1s6fd8sgykb70kdic27fg9qhg74qzwm354imwm";
-  })
-  (fetchNuGet {
-    name = "netstandard.library";
-    version = "1.6.0";
-    sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
-  })
-  (fetchNuGet {
-    name = "netstandard.library";
-    version = "1.6.1";
-    sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
-  })
-  (fetchNuGet {
-    name = "newtonsoft.json";
-    version = "11.0.2";
-    sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
-  })
-  (fetchNuGet {
-    name = "newtonsoft.json";
-    version = "9.0.1";
-    sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
-  })
-  (fetchNuGet {
-    name = "newtonsoft.json.bson";
-    version = "1.0.1";
-    sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.collections";
-    version = "4.3.0";
-    sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.diagnostics.tools";
-    version = "4.3.0";
-    sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.diagnostics.tracing";
-    version = "4.3.0";
-    sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.globalization";
-    version = "4.3.0";
-    sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.globalization.calendars";
-    version = "4.3.0";
-    sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.io";
-    version = "4.3.0";
-    sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.reflection";
-    version = "4.3.0";
-    sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.reflection.extensions";
-    version = "4.3.0";
-    sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.reflection.primitives";
-    version = "4.3.0";
-    sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.resources.resourcemanager";
-    version = "4.3.0";
-    sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.runtime";
-    version = "4.3.0";
-    sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.runtime.handles";
-    version = "4.3.0";
-    sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.runtime.interopservices";
-    version = "4.3.0";
-    sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.text.encoding";
-    version = "4.3.0";
-    sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.text.encoding.extensions";
-    version = "4.3.0";
-    sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.threading.tasks";
-    version = "4.3.0";
-    sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va";
-  })
-  (fetchNuGet {
-    name = "runtime.any.system.threading.timer";
-    version = "4.3.0";
-    sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system";
-    version = "4.0.0";
-    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system";
-    version = "4.0.0-rc2-24027";
-    sha256 = "0n3ndk1g5qdd892sjcz3y2qmg8ki8b001qfgl2fkwv5f52m65pz9";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system";
-    version = "4.3.0";
-    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.io.compression";
-    version = "4.1.0";
-    sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.io.compression";
-    version = "4.1.0-rc2-24027";
-    sha256 = "1qnd05bsrz88cr4wnkq7haf2bwml2zzjcscjk94v8ka4isi1i89b";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.io.compression";
-    version = "4.3.0";
-    sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.net.http";
-    version = "4.0.1";
-    sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.net.http";
-    version = "4.0.1-rc2-24027";
-    sha256 = "0dpgj544rfdqlgjc1nwslwbq49mp286wyy6rfnklxlbfgc2mr216";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.net.http";
-    version = "4.3.0";
-    sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.security.cryptography";
-    version = "4.0.0";
-    sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.security.cryptography";
-    version = "4.0.0-rc2-24027";
-    sha256 = "0pkd72vrqn1jxc20g8h2pgqz02xn2rfbl0m4i7b82xa8bc483jmz";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.security.cryptography.apple";
-    version = "4.3.0";
-    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
-  })
-  (fetchNuGet {
-    name = "runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple";
-    version = "4.3.0";
-    sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
-  })
-  (fetchNuGet {
-    name =
-      "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.microsoft.win32.primitives";
-    version = "4.3.0";
-    sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.console";
-    version = "4.3.0";
-    sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.diagnostics.debug";
-    version = "4.3.0";
-    sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.io.filesystem";
-    version = "4.3.0";
-    sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.net.primitives";
-    version = "4.3.0";
-    sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.net.sockets";
-    version = "4.3.0";
-    sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.private.uri";
-    version = "4.3.0";
-    sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.system.runtime.extensions";
-    version = "4.3.0";
-    sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p";
-  })
-  (fetchNuGet {
-    name = "system.appcontext";
-    version = "4.1.0";
-    sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
-  })
-  (fetchNuGet {
-    name = "system.appcontext";
-    version = "4.1.0-rc2-24027";
-    sha256 = "0c0x3sg12a5zwiamvxs9c4bhdwmmm9by6x5da58fbrzz7afbaaag";
-  })
-  (fetchNuGet {
-    name = "system.appcontext";
-    version = "4.3.0";
-    sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
-  })
-  (fetchNuGet {
-    name = "system.buffers";
-    version = "4.0.0-rc2-24027";
-    sha256 = "1mqnay87pkxih73984jf5fm14d0m6yjq4cv4cqbj37nmgm54ssjp";
-  })
-  (fetchNuGet {
-    name = "system.buffers";
-    version = "4.3.0";
-    sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
-  })
-  (fetchNuGet {
-    name = "system.collections";
-    version = "4.0.11";
-    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
-  })
-  (fetchNuGet {
-    name = "system.collections";
-    version = "4.0.11-rc2-24027";
-    sha256 = "0ijpgf7iy3mcvr9327craxsb0lsznprajqzjy59sspc75gk0yahq";
-  })
-  (fetchNuGet {
-    name = "system.collections";
-    version = "4.3.0";
-    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-  })
-  (fetchNuGet {
-    name = "system.collections.concurrent";
-    version = "4.0.12";
-    sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
-  })
-  (fetchNuGet {
-    name = "system.collections.concurrent";
-    version = "4.0.12-rc2-24027";
-    sha256 = "0yhc5q74vb9vb9cmyrr9p4dfql62dr7c8ajbaxnzzs917v2z68q4";
-  })
-  (fetchNuGet {
-    name = "system.collections.concurrent";
-    version = "4.3.0";
-    sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
-  })
-  (fetchNuGet {
-    name = "system.collections.immutable";
-    version = "1.2.0";
-    sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
-  })
-  (fetchNuGet {
-    name = "system.collections.nongeneric";
-    version = "4.0.1";
-    sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
-  })
-  (fetchNuGet {
-    name = "system.collections.nongeneric";
-    version = "4.3.0";
-    sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
-  })
-  (fetchNuGet {
-    name = "system.collections.specialized";
-    version = "4.0.1";
-    sha256 = "1wbv7y686p5x169rnaim7sln67ivmv6r57falrnx8aap9y33mam9";
-  })
-  (fetchNuGet {
-    name = "system.collections.specialized";
-    version = "4.3.0";
-    sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel";
-    version = "4.0.1";
-    sha256 = "0v4qpmqlzyfad2kswxxj2frnaqqhz9201c3yn8fmmarx5vlzg52z";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel";
-    version = "4.3.0";
-    sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel.eventbasedasync";
-    version = "4.0.11";
-    sha256 = "07r5i7xwban347nsfw28hhjwpr78ywksjyhywvhj1yr0s7sr00wh";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel.primitives";
-    version = "4.1.0";
-    sha256 = "0wb5mnaag0w4fnyc40x19j8v2vshxp266razw64bcqfyj1whb1q0";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel.primitives";
-    version = "4.3.0";
-    sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel.typeconverter";
-    version = "4.1.0";
-    sha256 = "178cva9p1cs043h5n2fry5xkzr3wc9n0hwbxa8m3ymld9m6wcv0y";
-  })
-  (fetchNuGet {
-    name = "system.componentmodel.typeconverter";
-    version = "4.3.0";
-    sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
-  })
-  (fetchNuGet {
-    name = "system.console";
-    version = "4.0.0";
-    sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
-  })
-  (fetchNuGet {
-    name = "system.console";
-    version = "4.0.0-rc2-24027";
-    sha256 = "072m313av0s5cfpr2rpq07p7c13dy4rh1ngigv3dnr1yyvab9081";
-  })
-  (fetchNuGet {
-    name = "system.console";
-    version = "4.3.0";
-    sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.debug";
-    version = "4.0.11";
-    sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.debug";
-    version = "4.0.11-rc2-24027";
-    sha256 = "11rz0kdzk4bw9yc85jmskxla7i1bs61kladqzvymrg8xn3lk488a";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.debug";
-    version = "4.3.0";
-    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.diagnosticsource";
-    version = "4.0.0";
-    sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.diagnosticsource";
-    version = "4.0.0-rc2-24027";
-    sha256 = "1cizj1xvaz7dm701r4bl6s08858j1r2794y7xx8abyw8j91c957w";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.diagnosticsource";
-    version = "4.3.0";
-    sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.process";
-    version = "4.1.0";
-    sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.textwritertracelistener";
-    version = "4.0.0";
-    sha256 = "1xigiwkwyxak0dhm0p8i2zb7a9syly9cdb5s9zkr9rbad4f2fqhs";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tools";
-    version = "4.0.1";
-    sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tools";
-    version = "4.0.1-rc2-24027";
-    sha256 = "080gd86c1pkfkzz67ispkzxc426lfh82zajayiizbgwd6yqa7fv5";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tools";
-    version = "4.3.0";
-    sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tracesource";
-    version = "4.0.0";
-    sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tracesource";
-    version = "4.3.0";
-    sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tracing";
-    version = "4.1.0";
-    sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tracing";
-    version = "4.1.0-rc2-24027";
-    sha256 = "0a0c24lm8yn0hbvd5m64lv7xhs2bmhm5fdpk89xvxj14zdarqhm6";
-  })
-  (fetchNuGet {
-    name = "system.diagnostics.tracing";
-    version = "4.3.0";
-    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
-  })
-  (fetchNuGet {
-    name = "system.dynamic.runtime";
-    version = "4.0.11";
-    sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
-  })
-  (fetchNuGet {
-    name = "system.dynamic.runtime";
-    version = "4.3.0";
-    sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
-  })
-  (fetchNuGet {
-    name = "system.globalization";
-    version = "4.0.11";
-    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
-  })
-  (fetchNuGet {
-    name = "system.globalization";
-    version = "4.0.11-rc2-24027";
-    sha256 = "0yl161lr85smzdfzb7fbk0lfrqk5ns71hcnws6vm3sn2aqvfmhpn";
-  })
-  (fetchNuGet {
-    name = "system.globalization";
-    version = "4.3.0";
-    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-  })
-  (fetchNuGet {
-    name = "system.globalization.calendars";
-    version = "4.0.1";
-    sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
-  })
-  (fetchNuGet {
-    name = "system.globalization.calendars";
-    version = "4.0.1-rc2-24027";
-    sha256 = "0whr2qird567iyc137s10qs0xi6607kjii9wi8a8g1f9lybzlz5k";
-  })
-  (fetchNuGet {
-    name = "system.globalization.calendars";
-    version = "4.3.0";
-    sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
-  })
-  (fetchNuGet {
-    name = "system.globalization.extensions";
-    version = "4.0.1";
-    sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
-  })
-  (fetchNuGet {
-    name = "system.globalization.extensions";
-    version = "4.3.0";
-    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
-  })
-  (fetchNuGet {
-    name = "system.identitymodel.tokens.jwt";
-    version = "5.2.1";
-    sha256 = "08n1z9ngsi26qlhwpjzxafhwl3p279widfci64l2ahxf1gprfqsx";
-  })
-  (fetchNuGet {
-    name = "system.io";
-    version = "4.1.0";
-    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
-  })
-  (fetchNuGet {
-    name = "system.io";
-    version = "4.1.0-rc2-24027";
-    sha256 = "0rwqmn743gl21xnb3rwqkdacshd5l86pn23mc4bviva3pbncbjs4";
-  })
-  (fetchNuGet {
-    name = "system.io";
-    version = "4.3.0";
-    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
-  })
-  (fetchNuGet {
-    name = "system.io.compression";
-    version = "4.1.0";
-    sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji";
-  })
-  (fetchNuGet {
-    name = "system.io.compression";
-    version = "4.1.0-rc2-24027";
-    sha256 = "07s5zxdw3ihxdv0mjxb2ywzg9phcp4bayrhkadzm95l4kcv0xaij";
-  })
-  (fetchNuGet {
-    name = "system.io.compression";
-    version = "4.3.0";
-    sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
-  })
-  (fetchNuGet {
-    name = "system.io.compression.zipfile";
-    version = "4.0.1";
-    sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
-  })
-  (fetchNuGet {
-    name = "system.io.compression.zipfile";
-    version = "4.0.1-rc2-24027";
-    sha256 = "0np6vf9rnfasz0sqys56kpryc84qcqi1a1rfskmycdlxk182p3s2";
-  })
-  (fetchNuGet {
-    name = "system.io.compression.zipfile";
-    version = "4.3.0";
-    sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem";
-    version = "4.0.1";
-    sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem";
-    version = "4.0.1-rc2-24027";
-    sha256 = "0hpw3ssnbcv9l1lnlcym2bv3h3sf2znif4brys2i3868s6h946k6";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem";
-    version = "4.3.0";
-    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem.accesscontrol";
-    version = "4.4.0";
-    sha256 = "11sna2bv5ai4sivrs7g2gp7g0yjp02s0kasl01j3fa1cvnwwvgkv";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem.primitives";
-    version = "4.0.1";
-    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem.primitives";
-    version = "4.0.1-rc2-24027";
-    sha256 = "04q3sxrfxqgig9scmxblxlb6n6fypv535lby26pi20ixszs19dxc";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem.primitives";
-    version = "4.3.0";
-    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
-  })
-  (fetchNuGet {
-    name = "system.io.filesystem.watcher";
-    version = "4.0.0-rc2-24027";
-    sha256 = "0g2h4q0w42frdz101z2cxs4n9zpxvzb43wnzawx1f26vpilz7km4";
-  })
-  (fetchNuGet {
-    name = "system.linq";
-    version = "4.1.0";
-    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
-  })
-  (fetchNuGet {
-    name = "system.linq";
-    version = "4.1.0-rc2-24027";
-    sha256 = "0icbsy0vq07achclz32jvnnfdchkgylsjj67gra3fn5906s40n24";
-  })
-  (fetchNuGet {
-    name = "system.linq";
-    version = "4.3.0";
-    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-  })
-  (fetchNuGet {
-    name = "system.linq.expressions";
-    version = "4.1.0";
-    sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
-  })
-  (fetchNuGet {
-    name = "system.linq.expressions";
-    version = "4.3.0";
-    sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
-  })
-  (fetchNuGet {
-    name = "system.net.http";
-    version = "4.0.1-rc2-24027";
-    sha256 = "1j9z5as3k7ydr4yi83lwh09hqj32g2ndpjgj25xvny5a32dl2mhz";
-  })
-  (fetchNuGet {
-    name = "system.net.http";
-    version = "4.1.0";
-    sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
-  })
-  (fetchNuGet {
-    name = "system.net.http";
-    version = "4.3.0";
-    sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
-  })
-  (fetchNuGet {
-    name = "system.net.nameresolution";
-    version = "4.3.0";
-    sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
-  })
-  (fetchNuGet {
-    name = "system.net.primitives";
-    version = "4.0.11";
-    sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
-  })
-  (fetchNuGet {
-    name = "system.net.primitives";
-    version = "4.0.11-rc2-24027";
-    sha256 = "16wv24cb39639i7fcw005hh1rggyz2bgn51dpkdc67aq9lz76ivm";
-  })
-  (fetchNuGet {
-    name = "system.net.primitives";
-    version = "4.3.0";
-    sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
-  })
-  (fetchNuGet {
-    name = "system.net.sockets";
-    version = "4.1.0";
-    sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
-  })
-  (fetchNuGet {
-    name = "system.net.sockets";
-    version = "4.1.0-rc2-24027";
-    sha256 = "062kbbvm17nhwmcxjnakfv3i23vrk6c9gmz6x8q79kcr5hxr40qs";
-  })
-  (fetchNuGet {
-    name = "system.net.sockets";
-    version = "4.3.0";
-    sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
-  })
-  (fetchNuGet {
-    name = "system.objectmodel";
-    version = "4.0.12";
-    sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
-  })
-  (fetchNuGet {
-    name = "system.objectmodel";
-    version = "4.0.12-rc2-24027";
-    sha256 = "065p89awfiz9kb304hqs7wkfpykd9z9kkv84ihm813msv54i8lvj";
-  })
-  (fetchNuGet {
-    name = "system.objectmodel";
-    version = "4.3.0";
-    sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
-  })
-  (fetchNuGet {
-    name = "system.private.datacontractserialization";
-    version = "4.1.1";
-    sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
-  })
-  (fetchNuGet {
-    name = "system.private.datacontractserialization";
-    version = "4.3.0";
-    sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw";
-  })
-  (fetchNuGet {
-    name = "system.private.uri";
-    version = "4.3.0";
-    sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx";
-  })
-  (fetchNuGet {
-    name = "system.reflection";
-    version = "4.1.0";
-    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
-  })
-  (fetchNuGet {
-    name = "system.reflection";
-    version = "4.1.0-rc2-24027";
-    sha256 = "0717y8iqcw19g2zkcs0hkalvjhnpaq5mapd82kxkhiq1djgjhhi2";
-  })
-  (fetchNuGet {
-    name = "system.reflection";
-    version = "4.3.0";
-    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit";
-    version = "4.0.1";
-    sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit";
-    version = "4.3.0";
-    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.ilgeneration";
-    version = "4.0.1";
-    sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.ilgeneration";
-    version = "4.3.0";
-    sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.lightweight";
-    version = "4.0.1";
-    sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
-  })
-  (fetchNuGet {
-    name = "system.reflection.emit.lightweight";
-    version = "4.3.0";
-    sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
-  })
-  (fetchNuGet {
-    name = "system.reflection.extensions";
-    version = "4.0.1";
-    sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
-  })
-  (fetchNuGet {
-    name = "system.reflection.extensions";
-    version = "4.0.1-rc2-24027";
-    sha256 = "0lgz7wwdb02vapa17hgdkf1jnq1mcsbq8gwy6a9iqd04d2mfanv7";
-  })
-  (fetchNuGet {
-    name = "system.reflection.extensions";
-    version = "4.3.0";
-    sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
-  })
-  (fetchNuGet {
-    name = "system.reflection.metadata";
-    version = "1.3.0";
-    sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b";
-  })
-  (fetchNuGet {
-    name = "system.reflection.primitives";
-    version = "4.0.1";
-    sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
-  })
-  (fetchNuGet {
-    name = "system.reflection.primitives";
-    version = "4.0.1-rc2-24027";
-    sha256 = "1xjbwji89s69f9lq8wcjfkz8y9ym9zffgj2mg9bv0rxwyqcynpz8";
-  })
-  (fetchNuGet {
-    name = "system.reflection.primitives";
-    version = "4.3.0";
-    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
-  })
-  (fetchNuGet {
-    name = "system.reflection.typeextensions";
-    version = "4.3.0";
-    sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
-  })
-  (fetchNuGet {
-    name = "system.reflection.typeextensions";
-    version = "4.4.0";
-    sha256 = "0n9r1w4lp2zmadyqkgp4sk9wy90sj4ygq4dh7kzamx26i9biys5h";
-  })
-  (fetchNuGet {
-    name = "system.resources.resourcemanager";
-    version = "4.0.1";
-    sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
-  })
-  (fetchNuGet {
-    name = "system.resources.resourcemanager";
-    version = "4.0.1-rc2-24027";
-    sha256 = "06lkqk5hjkcna19inpda5fqbxvd9pq5cs61di7kmhrd2sgzbs6xj";
-  })
-  (fetchNuGet {
-    name = "system.resources.resourcemanager";
-    version = "4.3.0";
-    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
-  })
-  (fetchNuGet {
-    name = "system.runtime";
-    version = "4.1.0";
-    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
-  })
-  (fetchNuGet {
-    name = "system.runtime";
-    version = "4.1.0-rc2-24027";
-    sha256 = "1g5ghiyfb8njzfz39cswizjbxgaamil7kgkzgab93fhgk7jksmyg";
-  })
-  (fetchNuGet {
-    name = "system.runtime";
-    version = "4.3.0";
-    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-  })
-  (fetchNuGet {
-    name = "system.runtime.extensions";
-    version = "4.1.0";
-    sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
-  })
-  (fetchNuGet {
-    name = "system.runtime.extensions";
-    version = "4.1.0-rc2-24027";
-    sha256 = "09k4c6is31dpccwgb749055m2ad0b84rnapk69fmj3wjswacg26p";
-  })
-  (fetchNuGet {
-    name = "system.runtime.extensions";
-    version = "4.3.0";
-    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
-  })
-  (fetchNuGet {
-    name = "system.runtime.handles";
-    version = "4.0.1";
-    sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
-  })
-  (fetchNuGet {
-    name = "system.runtime.handles";
-    version = "4.0.1-rc2-24027";
-    sha256 = "0lw4amgaryahvija5xxb2vmybq7ks4b4ir7g7nc1xw6x9x58jf2q";
-  })
-  (fetchNuGet {
-    name = "system.runtime.handles";
-    version = "4.3.0";
-    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices";
-    version = "4.1.0";
-    sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices";
-    version = "4.1.0-rc2-24027";
-    sha256 = "0v5phdy7yr6d1q13fvb6hhd32k89l93z6x4hlkh5qhm1zlavaabl";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices";
-    version = "4.3.0";
-    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices.pinvoke";
-    version = "4.0.0-rc2-24027";
-    sha256 = "0qsgwvr6ppvllblb64p5plr7ssbmwfxxc4qf6l1xfincza8np34r";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices.runtimeinformation";
-    version = "4.0.0";
-    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices.runtimeinformation";
-    version = "4.0.0-rc2-24027";
-    sha256 = "03pgqbgahfgvigyrsd08snzsryg90shfjlbdv4jk6yzfr27va3n2";
-  })
-  (fetchNuGet {
-    name = "system.runtime.interopservices.runtimeinformation";
-    version = "4.3.0";
-    sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
-  })
-  (fetchNuGet {
-    name = "system.runtime.loader";
-    version = "4.0.0";
-    sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0";
-  })
-  (fetchNuGet {
-    name = "system.runtime.loader";
-    version = "4.3.0";
-    sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk";
-  })
-  (fetchNuGet {
-    name = "system.runtime.numerics";
-    version = "4.0.1";
-    sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
-  })
-  (fetchNuGet {
-    name = "system.runtime.numerics";
-    version = "4.0.1-rc2-24027";
-    sha256 = "1gkkc7njymmb12dd952q89x2h2jdrhp171vszsjqzh5q2ryj25gh";
-  })
-  (fetchNuGet {
-    name = "system.runtime.numerics";
-    version = "4.3.0";
-    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.json";
-    version = "4.0.2";
-    sha256 = "08ypbzs0sb302ga04ds5b2wxa2gg0q50zpa0nvc87ipjhs0v66dn";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.primitives";
-    version = "4.1.1";
-    sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.primitives";
-    version = "4.3.0";
-    sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf";
-  })
-  (fetchNuGet {
-    name = "system.runtime.serialization.xml";
-    version = "4.3.0";
-    sha256 = "1b2cxl2h7s8cydbhbmxhvvq071n9ck61g08npg4gyw7nvg37rfni";
-  })
-  (fetchNuGet {
-    name = "system.security.accesscontrol";
-    version = "4.4.0";
-    sha256 = "0ixqw47krkazsw0ycm22ivkv7dpg6cjz8z8g0ii44bsx4l8gcx17";
-  })
-  (fetchNuGet {
-    name = "system.security.claims";
-    version = "4.3.0";
-    sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.algorithms";
-    version = "4.1.0-rc2-24027";
-    sha256 = "183qanczf0jb6njgr9pibyr5jh0m8xwrja3j0pcdnzab0cii3n17";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.algorithms";
-    version = "4.2.0";
-    sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.algorithms";
-    version = "4.3.0";
-    sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.cng";
-    version = "4.2.0";
-    sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.cng";
-    version = "4.3.0";
-    sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.cng";
-    version = "4.4.0";
-    sha256 = "1grg9id80m358crr5y4q4rhhbrm122yw8jrlcl1ybi7nkmmck40n";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.csp";
-    version = "4.0.0";
-    sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.csp";
-    version = "4.0.0-rc2-24027";
-    sha256 = "0nny9yvnhf3l5hjsy3ina8cha6sjln993vzkzdqka9d7rq1z23d5";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.csp";
-    version = "4.3.0";
-    sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.encoding";
-    version = "4.0.0";
-    sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.encoding";
-    version = "4.0.0-rc2-24027";
-    sha256 = "19f83159vrfnfppzchjclk82w2x1mkvnx1y5yg1f238dpjb2ri8w";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.encoding";
-    version = "4.3.0";
-    sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.openssl";
-    version = "4.0.0";
-    sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.openssl";
-    version = "4.0.0-rc2-24027";
-    sha256 = "1mqw7xkh4pj110f249c4jpv9mg1sd8c2cr6kj2zc0mic325vvg0s";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.openssl";
-    version = "4.3.0";
-    sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.pkcs";
-    version = "4.4.0";
-    sha256 = "1bn7d2czpc994qzdph4drv7p1cv4x55j2dhbmr113p0gs4hx33zh";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.primitives";
-    version = "4.0.0";
-    sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.primitives";
-    version = "4.0.0-rc2-24027";
-    sha256 = "16zwyw3glsq2flq1crd0c24i336bc42rj28a9rjvvkg428vz4rf8";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.primitives";
-    version = "4.3.0";
-    sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.protecteddata";
-    version = "4.4.0";
-    sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.x509certificates";
-    version = "4.1.0";
-    sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.x509certificates";
-    version = "4.1.0-rc2-24027";
-    sha256 = "1gfxc9p73zak46klrfsyxgkcyzbvqnjarsm0wkvmj31n9g4dpjkz";
-  })
-  (fetchNuGet {
-    name = "system.security.cryptography.x509certificates";
-    version = "4.3.0";
-    sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
-  })
-  (fetchNuGet {
-    name = "system.security.principal";
-    version = "4.3.0";
-    sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
-  })
-  (fetchNuGet {
-    name = "system.security.principal.windows";
-    version = "4.3.0";
-    sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
-  })
-  (fetchNuGet {
-    name = "system.security.principal.windows";
-    version = "4.4.0";
-    sha256 = "11rr16fp68apc0arsymgj18w8ajs9a4366wgx9iqwny4glrl20wp";
-  })
-  (fetchNuGet {
-    name = "system.serviceprocess.servicecontroller";
-    version = "4.4.0";
-    sha256 = "0hyijvysbcjh20mbbgajg9wh04nkjd6y5lqxgm0a6m28zjcjshl6";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding";
-    version = "4.0.11";
-    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding";
-    version = "4.0.11-rc2-24027";
-    sha256 = "0qkaldb06dwmi8gb940h75n9cs5rgy6sqcpa6f443mhahmagmsbd";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding";
-    version = "4.3.0";
-    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding.codepages";
-    version = "4.4.0";
-    sha256 = "07bzjnflxjk9vgpljfybrpqmvsr9qr2f20nq5wf11imwa5pbhgfc";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding.extensions";
-    version = "4.0.11";
-    sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding.extensions";
-    version = "4.0.11-rc2-24027";
-    sha256 = "02xic3hhfy48s50bxh25as1l9v3afgrhlxqfnd5ki4qirxly7qs6";
-  })
-  (fetchNuGet {
-    name = "system.text.encoding.extensions";
-    version = "4.3.0";
-    sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
-  })
-  (fetchNuGet {
-    name = "system.text.regularexpressions";
-    version = "4.0.12-rc2-24027";
-    sha256 = "1111sgvbxrxq9c1i0nziqddlzfdc2bsawd0jcf2nna9nkcn4d6br";
-  })
-  (fetchNuGet {
-    name = "system.text.regularexpressions";
-    version = "4.1.0";
-    sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
-  })
-  (fetchNuGet {
-    name = "system.text.regularexpressions";
-    version = "4.3.0";
-    sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
-  })
-  (fetchNuGet {
-    name = "system.threading";
-    version = "4.0.11";
-    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
-  })
-  (fetchNuGet {
-    name = "system.threading";
-    version = "4.0.11-rc2-24027";
-    sha256 = "0aa4zaqma4yagjd44m2j13gr9qzn8rv8dbz3p9mjdk0dx1zpi4iq";
-  })
-  (fetchNuGet {
-    name = "system.threading";
-    version = "4.3.0";
-    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-  })
-  (fetchNuGet {
-    name = "system.threading.channels";
-    version = "4.5.0";
-    sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz";
-  })
-  (fetchNuGet {
-    name = "system.threading.overlapped";
-    version = "4.0.1-rc2-24027";
-    sha256 = "1ansaxwkc4xi2ngpiv8gjmv02d75y0nb4lfqzxy73r3radakqvdp";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks";
-    version = "4.0.11";
-    sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks";
-    version = "4.0.11-rc2-24027";
-    sha256 = "0fsgdzdxm3yj1cym421ymn8x8anhyzgzc1529q5xd1vq4yknwfq0";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks";
-    version = "4.3.0";
-    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks.extensions";
-    version = "4.0.0";
-    sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks.extensions";
-    version = "4.0.0-rc2-24027";
-    sha256 = "108sdqpy3ga6gzksl59w1k21a3jlrh8x2igyxh3dm3212rca1pyg";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks.extensions";
-    version = "4.3.0";
-    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
-  })
-  (fetchNuGet {
-    name = "system.threading.tasks.extensions";
-    version = "4.5.1";
-    sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw";
-  })
-  (fetchNuGet {
-    name = "system.threading.thread";
-    version = "4.0.0";
-    sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
-  })
-  (fetchNuGet {
-    name = "system.threading.thread";
-    version = "4.0.0-rc2-24027";
-    sha256 = "1gv963m4523m3m9gbn819bfzmhxqsv93m5kaqmbv4ijyziby2872";
-  })
-  (fetchNuGet {
-    name = "system.threading.threadpool";
-    version = "4.3.0";
-    sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
-  })
-  (fetchNuGet {
-    name = "system.threading.timer";
-    version = "4.0.1";
-    sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
-  })
-  (fetchNuGet {
-    name = "system.threading.timer";
-    version = "4.0.1-rc2-24027";
-    sha256 = "06kwi42lgf3zw3b5yw668ammbjl6208y182wyqaaqrxgn5gs4yh7";
-  })
-  (fetchNuGet {
-    name = "system.threading.timer";
-    version = "4.3.0";
-    sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
-  })
-  (fetchNuGet {
-    name = "system.xml.readerwriter";
-    version = "4.0.11";
-    sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
-  })
-  (fetchNuGet {
-    name = "system.xml.readerwriter";
-    version = "4.0.11-rc2-24027";
-    sha256 = "0vywggi6mqkbr6g1a1fh821hqfnyq1k829vlhfw908l7mj75k34d";
-  })
-  (fetchNuGet {
-    name = "system.xml.readerwriter";
-    version = "4.3.0";
-    sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
-  })
-  (fetchNuGet {
-    name = "system.xml.xdocument";
-    version = "4.0.11";
-    sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
-  })
-  (fetchNuGet {
-    name = "system.xml.xdocument";
-    version = "4.0.11-rc2-24027";
-    sha256 = "1rvglifac6xq1lawm78w49fq9cl8zvs1g4vrsd2hhf0vb4i85p1z";
-  })
-  (fetchNuGet {
-    name = "system.xml.xdocument";
-    version = "4.3.0";
-    sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
-  })
-  (fetchNuGet {
-    name = "system.xml.xmldocument";
-    version = "4.0.1";
-    sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
-  })
-  (fetchNuGet {
-    name = "system.xml.xmldocument";
-    version = "4.3.0";
-    sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
-  })
-  (fetchNuGet {
-    name = "system.xml.xmlserializer";
-    version = "4.0.11";
-    sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
-  })
-  (fetchNuGet {
-    name = "system.xml.xmlserializer";
-    version = "4.3.0";
-    sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912";
-  })
-  (fetchNuGet {
-    name = "system.xml.xpath";
-    version = "4.0.1";
-    sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m";
-  })
-  (fetchNuGet {
-    name = "system.xml.xpath.xmldocument";
-    version = "4.0.1";
-    sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc";
-  })
-  (fetchNuGet {
-    name = "xunit";
-    version = "2.4.1";
-    sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
-  })
-  (fetchNuGet {
-    name = "xunit.abstractions";
-    version = "2.0.3";
-    sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
-  })
-  (fetchNuGet {
-    name = "xunit.analyzers";
-    version = "0.10.0";
-    sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
-  })
-  (fetchNuGet {
-    name = "xunit.assert";
-    version = "2.4.1";
-    sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
-  })
-  (fetchNuGet {
-    name = "xunit.core";
-    version = "2.4.1";
-    sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
-  })
-  (fetchNuGet {
-    name = "xunit.extensibility.core";
-    version = "2.4.1";
-    sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
-  })
-  (fetchNuGet {
-    name = "xunit.extensibility.execution";
-    version = "2.4.1";
-    sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
-  })
-  (fetchNuGet {
-    name = "xunit.runner.visualstudio";
-    version = "2.4.1";
-    sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn";
-  })
-  (fetchNuGet {
-    name = "yamldotnet.signed";
-    version = "5.3.0";
-    sha256 = "1gnp5aa2zzg7v61bbn2ra1npy0p07szp5w8vqk44fdj3fcvrdxib";
-  })
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "1315hycfqlalh6k4zvvz7pz3dylpp0sr45j1v9avcb143hjqnav6"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0r6jyxl3h1asj30la78skd5gsxgwjpvkspmkw1gglxfg85hnqc8w"; })
+  (fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "5.2.4"; sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj"; })
+  (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "5.2.1"; sha256 = "1gpka9jm2gl6f07pcwzwvaxw9xq1a19i9fskn0qs921c5grhlp3g"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "5.2.1"; sha256 = "03v6145vr1winq8xxfikydicds4f10qmy1ybyz2gfimnzzx51w00"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.0"; sha256 = "0aska6s99rfg13ngsaxr151a6sk8r68lv3mj8yv0bhvwcpln4342"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "146rbmk0svvqaf0c4msg67h17x4k4gd5kzsbb3iqvs14xfkli2xw"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1-rc2-24027"; sha256 = "1a0w5fv8slfr4q7m3mh78lb9awdwyz4zv3bb73vybkyq1f6z7lx8"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Runtime"; version = "1.0.2-rc2-24027"; sha256 = "0ippdn16381l8i2iy63i45nk0p303fjbd4amh7biwvqxgagfbvhh"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Runtime.CoreCLR"; version = "1.0.2-rc2-24027"; sha256 = "05y0jz6vfl9zs0lmmwsz6arf7r0mg2dm93ymizrzmqn706krz45x"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Runtime.Native"; version = "1.0.2-rc2-24027"; sha256 = "11hpbbmnjbskw7s6sx32l6qzz63kshx0gyp3sawyxk82nbqrissl"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1-rc2-24027"; sha256 = "1j1458jska7540ng7fdf5i06k2vy71mxl5dld4x5s8gfndxpdzdj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Windows.ApiSets"; version = "1.0.1-rc2-24027"; sha256 = "034m9p417iq3yzipg393wp4bddsh80di9iad78vvvh7w5difdv0x"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.0.0"; sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.0.0"; sha256 = "06mn31cgpp7d8lwdyjanh89prc66j37dchn74vrd9s588rq0y70r"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1-rc2-24027"; sha256 = "1rvb076s4ksvmbvnxi4sv2f9f22izqp2rca0scjqya5x1qhcgkp0"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.4.0"; sha256 = "088j2anh1rnkxdcycw5kgp97ahk7cj741y6kask84880835arsb6"; })
+  (fetchNuGet { pname = "Minimatch"; version = "2.0.0"; sha256 = "1k84q1bz1qq2nh35nip8vmi65wixsh5y7piln5b4n172xzhfqvx0"; })
+  (fetchNuGet { pname = "Moq"; version = "4.11.0"; sha256 = "08bnk80scjjqnkdbjam8grcqrw2rvj9z7556hiznac7in3fcp77w"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.5.0-rc2-24027"; sha256 = "1kazwidj63w53r1s6fd8sgykb70kdic27fg9qhg74qzwm354imwm"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.1"; sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
+  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
+  (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
+  (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; })
+  (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"; version = "4.0.0-rc2-24027"; sha256 = "0n3ndk1g5qdd892sjcz3y2qmg8ki8b001qfgl2fkwv5f52m65pz9"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0-rc2-24027"; sha256 = "1qnd05bsrz88cr4wnkq7haf2bwml2zzjcscjk94v8ka4isi1i89b"; })
+  (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1-rc2-24027"; sha256 = "0dpgj544rfdqlgjc1nwslwbq49mp286wyy6rfnklxlbfgc2mr216"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0-rc2-24027"; sha256 = "0pkd72vrqn1jxc20g8h2pgqz02xn2rfbl0m4i7b82xa8bc483jmz"; })
+  (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.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 = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
+  (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; })
+  (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
+  (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; })
+  (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
+  (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.1.0-rc2-24027"; sha256 = "0c0x3sg12a5zwiamvxs9c4bhdwmmm9by6x5da58fbrzz7afbaaag"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.0.0-rc2-24027"; sha256 = "1mqnay87pkxih73984jf5fm14d0m6yjq4cv4cqbj37nmgm54ssjp"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.0.11-rc2-24027"; sha256 = "0ijpgf7iy3mcvr9327craxsb0lsznprajqzjy59sspc75gk0yahq"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12-rc2-24027"; sha256 = "0yhc5q74vb9vb9cmyrr9p4dfql62dr7c8ajbaxnzzs917v2z68q4"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
+  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
+  (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
+  (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
+  (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.0.0-rc2-24027"; sha256 = "072m313av0s5cfpr2rpq07p7c13dy4rh1ngigv3dnr1yyvab9081"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11-rc2-24027"; sha256 = "11rz0kdzk4bw9yc85jmskxla7i1bs61kladqzvymrg8xn3lk488a"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0-rc2-24027"; sha256 = "1cizj1xvaz7dm701r4bl6s08858j1r2794y7xx8abyw8j91c957w"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1-rc2-24027"; sha256 = "080gd86c1pkfkzz67ispkzxc426lfh82zajayiizbgwd6yqa7fv5"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0-rc2-24027"; sha256 = "0a0c24lm8yn0hbvd5m64lv7xhs2bmhm5fdpk89xvxj14zdarqhm6"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11-rc2-24027"; sha256 = "0yl161lr85smzdfzb7fbk0lfrqk5ns71hcnws6vm3sn2aqvfmhpn"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1-rc2-24027"; sha256 = "0whr2qird567iyc137s10qs0xi6607kjii9wi8a8g1f9lybzlz5k"; })
+  (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.IdentityModel.Tokens.Jwt"; version = "5.2.1"; sha256 = "08n1z9ngsi26qlhwpjzxafhwl3p279widfci64l2ahxf1gprfqsx"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.1.0-rc2-24027"; sha256 = "0rwqmn743gl21xnb3rwqkdacshd5l86pn23mc4bviva3pbncbjs4"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0-rc2-24027"; sha256 = "07s5zxdw3ihxdv0mjxb2ywzg9phcp4bayrhkadzm95l4kcv0xaij"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1-rc2-24027"; sha256 = "0np6vf9rnfasz0sqys56kpryc84qcqi1a1rfskmycdlxk182p3s2"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1-rc2-24027"; sha256 = "0hpw3ssnbcv9l1lnlcym2bv3h3sf2znif4brys2i3868s6h946k6"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "4.4.0"; sha256 = "11sna2bv5ai4sivrs7g2gp7g0yjp02s0kasl01j3fa1cvnwwvgkv"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1-rc2-24027"; sha256 = "04q3sxrfxqgig9scmxblxlb6n6fypv535lby26pi20ixszs19dxc"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Watcher"; version = "4.0.0-rc2-24027"; sha256 = "0g2h4q0w42frdz101z2cxs4n9zpxvzb43wnzawx1f26vpilz7km4"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.1.0-rc2-24027"; sha256 = "0icbsy0vq07achclz32jvnnfdchkgylsjj67gra3fn5906s40n24"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.0.1-rc2-24027"; sha256 = "1j9z5as3k7ydr4yi83lwh09hqj32g2ndpjgj25xvny5a32dl2mhz"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11-rc2-24027"; sha256 = "16wv24cb39639i7fcw005hh1rggyz2bgn51dpkdc67aq9lz76ivm"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0-rc2-24027"; sha256 = "062kbbvm17nhwmcxjnakfv3i23vrk6c9gmz6x8q79kcr5hxr40qs"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12-rc2-24027"; sha256 = "065p89awfiz9kb304hqs7wkfpykd9z9kkv84ihm813msv54i8lvj"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.3.0"; sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw"; })
+  (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0-rc2-24027"; sha256 = "0717y8iqcw19g2zkcs0hkalvjhnpaq5mapd82kxkhiq1djgjhhi2"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1-rc2-24027"; sha256 = "0lgz7wwdb02vapa17hgdkf1jnq1mcsbq8gwy6a9iqd04d2mfanv7"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1-rc2-24027"; sha256 = "1xjbwji89s69f9lq8wcjfkz8y9ym9zffgj2mg9bv0rxwyqcynpz8"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (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.TypeExtensions"; version = "4.4.0"; sha256 = "0n9r1w4lp2zmadyqkgp4sk9wy90sj4ygq4dh7kzamx26i9biys5h"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1-rc2-24027"; sha256 = "06lkqk5hjkcna19inpda5fqbxvd9pq5cs61di7kmhrd2sgzbs6xj"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0-rc2-24027"; sha256 = "1g5ghiyfb8njzfz39cswizjbxgaamil7kgkzgab93fhgk7jksmyg"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0-rc2-24027"; sha256 = "09k4c6is31dpccwgb749055m2ad0b84rnapk69fmj3wjswacg26p"; })
+  (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-rc2-24027"; sha256 = "0lw4amgaryahvija5xxb2vmybq7ks4b4ir7g7nc1xw6x9x58jf2q"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0-rc2-24027"; sha256 = "0v5phdy7yr6d1q13fvb6hhd32k89l93z6x4hlkh5qhm1zlavaabl"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.PInvoke"; version = "4.0.0-rc2-24027"; sha256 = "0qsgwvr6ppvllblb64p5plr7ssbmwfxxc4qf6l1xfincza8np34r"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0-rc2-24027"; sha256 = "03pgqbgahfgvigyrsd08snzsryg90shfjlbdv4jk6yzfr27va3n2"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.3.0"; sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1-rc2-24027"; sha256 = "1gkkc7njymmb12dd952q89x2h2jdrhp171vszsjqzh5q2ryj25gh"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Xml"; version = "4.3.0"; sha256 = "1b2cxl2h7s8cydbhbmxhvvq071n9ck61g08npg4gyw7nvg37rfni"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.4.0"; sha256 = "0ixqw47krkazsw0ycm22ivkv7dpg6cjz8z8g0ii44bsx4l8gcx17"; })
+  (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.1.0-rc2-24027"; sha256 = "183qanczf0jb6njgr9pibyr5jh0m8xwrja3j0pcdnzab0cii3n17"; })
+  (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.Cng"; version = "4.4.0"; sha256 = "1grg9id80m358crr5y4q4rhhbrm122yw8jrlcl1ybi7nkmmck40n"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0-rc2-24027"; sha256 = "0nny9yvnhf3l5hjsy3ina8cha6sjln993vzkzdqka9d7rq1z23d5"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0-rc2-24027"; sha256 = "19f83159vrfnfppzchjclk82w2x1mkvnx1y5yg1f238dpjb2ri8w"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0-rc2-24027"; sha256 = "1mqw7xkh4pj110f249c4jpv9mg1sd8c2cr6kj2zc0mic325vvg0s"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "4.4.0"; sha256 = "1bn7d2czpc994qzdph4drv7p1cv4x55j2dhbmr113p0gs4hx33zh"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0-rc2-24027"; sha256 = "16zwyw3glsq2flq1crd0c24i336bc42rj28a9rjvvkg428vz4rf8"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0-rc2-24027"; sha256 = "1gfxc9p73zak46klrfsyxgkcyzbvqnjarsm0wkvmj31n9g4dpjkz"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.4.0"; sha256 = "11rr16fp68apc0arsymgj18w8ajs9a4366wgx9iqwny4glrl20wp"; })
+  (fetchNuGet { pname = "System.ServiceProcess.ServiceController"; version = "4.4.0"; sha256 = "0hyijvysbcjh20mbbgajg9wh04nkjd6y5lqxgm0a6m28zjcjshl6"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11-rc2-24027"; sha256 = "0qkaldb06dwmi8gb940h75n9cs5rgy6sqcpa6f443mhahmagmsbd"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.4.0"; sha256 = "07bzjnflxjk9vgpljfybrpqmvsr9qr2f20nq5wf11imwa5pbhgfc"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11-rc2-24027"; sha256 = "02xic3hhfy48s50bxh25as1l9v3afgrhlxqfnd5ki4qirxly7qs6"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.0.12-rc2-24027"; sha256 = "1111sgvbxrxq9c1i0nziqddlzfdc2bsawd0jcf2nna9nkcn4d6br"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.0.11-rc2-24027"; sha256 = "0aa4zaqma4yagjd44m2j13gr9qzn8rv8dbz3p9mjdk0dx1zpi4iq"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Channels"; version = "4.5.0"; sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz"; })
+  (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.0.1-rc2-24027"; sha256 = "1ansaxwkc4xi2ngpiv8gjmv02d75y0nb4lfqzxy73r3radakqvdp"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11-rc2-24027"; sha256 = "0fsgdzdxm3yj1cym421ymn8x8anhyzgzc1529q5xd1vq4yknwfq0"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0-rc2-24027"; sha256 = "108sdqpy3ga6gzksl59w1k21a3jlrh8x2igyxh3dm3212rca1pyg"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.1"; sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw"; })
+  (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0-rc2-24027"; sha256 = "1gv963m4523m3m9gbn819bfzmhxqsv93m5kaqmbv4ijyziby2872"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1-rc2-24027"; sha256 = "06kwi42lgf3zw3b5yw668ammbjl6208y182wyqaaqrxgn5gs4yh7"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11-rc2-24027"; sha256 = "0vywggi6mqkbr6g1a1fh821hqfnyq1k829vlhfw908l7mj75k34d"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11-rc2-24027"; sha256 = "1rvglifac6xq1lawm78w49fq9cl8zvs1g4vrsd2hhf0vb4i85p1z"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
+  (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.3.0"; sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912"; })
+  (fetchNuGet { pname = "xunit"; version = "2.4.1"; sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; })
+  (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; })
+  (fetchNuGet { pname = "xunit.analyzers"; version = "0.10.0"; sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; })
+  (fetchNuGet { pname = "xunit.assert"; version = "2.4.1"; sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; })
+  (fetchNuGet { pname = "xunit.core"; version = "2.4.1"; sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; })
+  (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.1"; sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; })
+  (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.1"; sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; })
+  (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.4.1"; sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn"; })
+  (fetchNuGet { pname = "YamlDotNet.Signed"; version = "5.3.0"; sha256 = "1gnp5aa2zzg7v61bbn2ra1npy0p07szp5w8vqk44fdj3fcvrdxib"; })
 ]
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/prevent-self-update.patch b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/prevent-self-update.patch
deleted file mode 100644
index da73cd75a096..000000000000
--- a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/prevent-self-update.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8b77c9c61058842e031dd176df2b9c79bc2c0e28 Mon Sep 17 00:00:00 2001
-From: Vincent Haupert <mail@vincent-haupert.de>
-Date: Sun, 12 Sep 2021 19:52:21 +0200
-Subject: [PATCH] Use a fake version to prevent self-update
-
----
- src/Runner.Listener/MessageListener.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Runner.Listener/MessageListener.cs b/src/Runner.Listener/MessageListener.cs
-index 71e5e43..29945e0 100644
---- a/src/Runner.Listener/MessageListener.cs
-+++ b/src/Runner.Listener/MessageListener.cs
-@@ -65,7 +65,7 @@ namespace GitHub.Runner.Listener
-             {
-                 Id = _settings.AgentId,
-                 Name = _settings.AgentName,
--                Version = BuildConstants.RunnerPackage.Version,
-+                Version = "2.999.9",
-                 OSDescription = RuntimeInformation.OSDescription,
-             };
-             string sessionName = $"{Environment.MachineName ?? "RUNNER"}";
--- 
-2.32.0
-
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/0001-gitlab-runner-don-t-checked-for-fixed-runtime.patch b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/0001-gitlab-runner-don-t-checked-for-fixed-runtime.patch
deleted file mode 100644
index a1736d83a656..000000000000
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/0001-gitlab-runner-don-t-checked-for-fixed-runtime.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 13c633bf0075daa6ff973f368a25cf205caa017e Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@nextrem.ch>
-Date: Sat, 11 Dec 2021 10:07:01 +0100
-Subject: [PATCH] gitlab-runner: don't checked for fixed runtime
-
-We already use 1.16.12 which has the proper fix
----
- helpers/patches/issue_28732/syscall.go | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/helpers/patches/issue_28732/syscall.go b/helpers/patches/issue_28732/syscall.go
-index 580513b57..fa9e4cc85 100644
---- a/helpers/patches/issue_28732/syscall.go
-+++ b/helpers/patches/issue_28732/syscall.go
-@@ -2,11 +2,6 @@
- 
- package issue_28732
- 
--import (
--	"syscall"
--)
--
- func AssertFixPresent() {
--	// Ensure that Issue28732Fix fixed runtime is used
--	syscall.Issue28732Fix()
-+	// Issue already fixed by using go 1.16.12
- }
--- 
-2.34.0
-
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index a8456d09f989..57e9d15dce66 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "14.6.0";
+  version = "14.7.0";
 in
 buildGoPackage rec {
   inherit version;
@@ -19,12 +19,11 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "1sgz8gri51i2pxnzzkcvwx5ncw1rjz7ain82hlcx6f3874qfsniy";
+    sha256 = "0l7bbmhvgz12nq52nmvgs1qmcknikw8f2dn9l93ijb1sr495fygl";
   };
 
   patches = [
     ./fix-shell-path.patch
-    ./0001-gitlab-runner-don-t-checked-for-fixed-runtime.patch
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
index 3041a0317370..47b52e5f70b3 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "gocd-agent-${version}-${rev}";
+  pname = "gocd-agent";
   version = "19.3.0";
   rev = "8959";
 
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix
index 4b3f61cf4b4b..a55d3a2efe7b 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "gocd-server-${version}-${rev}";
+  pname = "gocd-server";
   version = "19.3.0";
   rev = "8959";
 
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 65132b72391e..2b61d377e9fc 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.319.1";
+  version = "2.319.3";
 
   src = fetchurl {
-    url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0qm562v7jwc9mjpbn1f808kg97axy1mraq3s5h679niffn588jvy";
+    url = "http://get.jenkins.io/war-stable/${version}/jenkins.war";
+    sha256 = "sha256-c92Rs5W89i/iXm0wdHZfFRDJ5YTswen69EBRBkGBtDQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    tests = { inherit (nixosTests) jenkins; };
+    tests = { inherit (nixosTests) jenkins jenkins-cli; };
 
     updateScript = writeScript "update.sh" ''
       #!${stdenv.shell}
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix
index 05f96c0695b6..3c48506a6bf7 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix
@@ -25,12 +25,12 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "laminar";
-  version = "1.1";
+  version = "1.2";
   src = fetchFromGitHub {
     owner = "ohwgiles";
     repo = "laminar";
     rev = version;
-    sha256 = "sha256-9JiFO5Vi/NT/o7v/KXZw3/P5s5qQwmQXjrQq+uUXHQk=";
+    sha256 = "sha256-PLnfiWpelgKhs4FNry60sm6/QdhYs76FnZ/ZcRmb4Ok=";
   };
   patches = [ ./patches/no-network.patch ];
   nativeBuildInputs = [ cmake pandoc ];
diff --git a/nixpkgs/pkgs/development/tools/convco/default.nix b/nixpkgs/pkgs/development/tools/convco/default.nix
index 44445f86752a..f137cbd078bc 100644
--- a/nixpkgs/pkgs/development/tools/convco/default.nix
+++ b/nixpkgs/pkgs/development/tools/convco/default.nix
@@ -1,21 +1,30 @@
-{ lib, rustPlatform, fetchFromGitHub, stdenv, openssl, perl, pkg-config, libiconv, Security }:
+{ stdenv
+, lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, libiconv
+, openssl
+, pkg-config
+, Security
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "convco";
-  version = "0.3.3";
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "convco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eWe7oTWl7QfIqq3GfMILi5S8zUi03ER1Mzfr8hqUvgw=";
+    sha256 = "sha256-sNVl+bbCj3vPYz4wKOaAHeaPCCubG4XvXZ+AZijhFJE=";
   };
 
-  cargoSha256 = "sha256-RuClZ+ChP7d40e9nr1Lg8R0F7rbFbBse79V9Y1AQn3o=";
+  cargoSha256 = "sha256-FHiX9XpNjBFfs9fwi3Wzq7bAwRi7e/sqtji5WWPA5Qo=";
 
-  nativeBuildInputs = [ openssl perl pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
 
   meta = with lib; {
     description = "A Conventional commit cli";
diff --git a/nixpkgs/pkgs/development/tools/corgi/default.nix b/nixpkgs/pkgs/development/tools/corgi/default.nix
index e39e42c40af5..ce003457e23d 100644
--- a/nixpkgs/pkgs/development/tools/corgi/default.nix
+++ b/nixpkgs/pkgs/development/tools/corgi/default.nix
@@ -1,16 +1,15 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "corgi-${rev}";
-  rev = "v0.2.4";
+  pname = "corgi";
+  version = "0.2.4";
 
   goPackagePath = "github.com/DrakeW/corgi";
 
   src = fetchFromGitHub {
-    inherit rev;
-
     owner = "DrakeW";
     repo = "corgi";
+    rev = "v${version}";
     sha256 = "0h9rjv1j129n1ichwpiiyspgim1273asi3s6hgizvbc75gbbb8fn";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/crd2pulumi/default.nix b/nixpkgs/pkgs/development/tools/crd2pulumi/default.nix
index 574228fa4cf0..a1d5a69e94af 100644
--- a/nixpkgs/pkgs/development/tools/crd2pulumi/default.nix
+++ b/nixpkgs/pkgs/development/tools/crd2pulumi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "crd2pulumi";
-  version = "1.0.10";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "pulumi";
     repo = "crd2pulumi";
     rev = "v${version}";
-    sha256 = "1xzr63brzqysvhm3fqj246c7s84kchpcm6wad3mvxcxjcab6xd1f";
+    sha256 = "sha256-jGCtHDceJMGG2WHRldEyToZRNp3ZTt4Tir7DAsaWgfI=";
   };
 
-  vendorSha256 = "0xi5va2fy4nrxp3qgyzcw20a2089sbz8h1hvqx2ryxijr61wd93d";
+  vendorSha256 = "sha256-XM1uedApVLkFzUpNPYS5YyMiWrOpzTvqKjWIV7s/1mI=";
 
   ldflags = [ "-s" "-w" "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" ];
 
diff --git a/nixpkgs/pkgs/development/tools/cue/default.nix b/nixpkgs/pkgs/development/tools/cue/default.nix
index f177ced3092d..21370ab9b5a3 100644
--- a/nixpkgs/pkgs/development/tools/cue/default.nix
+++ b/nixpkgs/pkgs/development/tools/cue/default.nix
@@ -1,18 +1,19 @@
-{ buildGoModule, fetchgit, lib }:
+{ buildGoModule, fetchFromGitHub, lib }:
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.4.0";
+  version = "0.4.2";
 
-  src = fetchgit {
-    url = "https://cue.googlesource.com/cue";
+  src = fetchFromGitHub {
+    owner = "cue-lang";
+    repo = "cue";
     rev = "v${version}";
-    sha256 = "sha256-rcGEl+CMFyxZKsOKhVimhv5/ONo3xS6FjgKModZGR2o=";
+    sha256 = "sha256-6HD3wcBo21Dep4ckx+oDWAC4nuTvCzlp0bwQxZox2b4=";
   };
 
-  vendorSha256 = "sha256-eSKVlBgnHR1R0j1lNwtFoIgRuj8GqoMbvuBl/N1SanY=";
+  vendorSha256 = "sha256-tY9iwQW6cB1FgLAmkDNMrvIxR+i4aGYhNs4tepI654o=";
 
-  doCheck = false;
+  checkPhase = "go test ./...";
 
   subPackages = [ "cmd/cue" ];
 
@@ -20,6 +21,11 @@ buildGoModule rec {
     "-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}"
   ];
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/cue eval - <<<'a: "all good"' > /dev/null
+  '';
+
   meta = {
     description = "A data constraint language which aims to simplify tasks involving defining and using data";
     homepage = "https://cuelang.org/";
diff --git a/nixpkgs/pkgs/development/tools/database/beekeeper-studio/default.nix b/nixpkgs/pkgs/development/tools/database/beekeeper-studio/default.nix
index 74c5f35dc240..c00c2e99a14e 100644
--- a/nixpkgs/pkgs/development/tools/database/beekeeper-studio/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/beekeeper-studio/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "beekeeper-studio";
-  version = "2.1.4";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${version}/Beekeeper-Studio-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "1aik88wi9axv66axjmmjmlna1sp0pz92z8i2x6pq3bs0gcs4i1q3qxxbrfc14ynbpa65knimfhwzrrshchnijgdazx3qjzh8jwzfiwl";
+    sha512 = "sha512:1zv4fclac94fzzhgqmjgc5pllxcxajjx6yjf3zblj53cc7m4sp4ydjx3wh4db57j75x8vh7xc3q1xpq6q3sj1dafnap0j0icfi6wznk";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -32,9 +32,9 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows";
     homepage = "https://www.beekeeperstudio.io";
-    changelog = "https://github.com/beekeeper-studio/beekeeper-studio/releases/tag/v2.1.4";
+    changelog = "https://github.com/beekeeper-studio/beekeeper-studio/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ milogert ];
+    maintainers = with maintainers; [ milogert alexnortung ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/database/clickhouse-backup/default.nix b/nixpkgs/pkgs/development/tools/database/clickhouse-backup/default.nix
index 6090bc1d75b7..fdc15a9256dd 100644
--- a/nixpkgs/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/nixpkgs/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-OQGpWWerUv2asjpjMLAkgeb0Q+lMAsDXjFCh0I4ze20=";
+  vendorSha256 = "sha256-d6h0LK4zbrfkUum7FXHIP+hqBx5A0mQmvW5GOi+EMVQ=";
 
   postConfigure = ''
     export CGO_ENABLED=0
diff --git a/nixpkgs/pkgs/development/tools/database/dbmate/default.nix b/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
index 5348d0be88c8..313d2480e95a 100644
--- a/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/dbmate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dbmate";
-  version = "1.12.1";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "amacneil";
     repo = "dbmate";
     rev = "v${version}";
-    sha256 = "sha256-XNxy8CnhO3rQi3VHr7nikFNXvY2eM30jR0ngNc0FV3E=";
+    sha256 = "sha256-CgThS10mDYRj/VdVJeeVTMEbhvLLpWBweQ4dvo3k3Hg=";
   };
 
-  vendorSha256 = "sha256-Qe3fwyEf/NiGmUSha/zZHRBR1okw2vE97u7tybqiWNI=";
+  vendorSha256 = "sha256-cbMCGC78vc61F4cEobarMPwVts2V3NkH4/CnHGeLd/o=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/database/indradb/default.nix b/nixpkgs/pkgs/development/tools/database/indradb/default.nix
new file mode 100644
index 000000000000..f577963e8f4b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/database/indradb/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, rustPlatform
+, rustfmt
+}:
+let
+  src = fetchFromGitHub {
+    owner = "indradb";
+    repo = "indradb";
+    rev = "06134dde5bb53eb1d2aaa52afdaf9ff3bf1aa674";
+    sha256 = "sha256-g4Jam7yxMc+piYQzgMvVsNTF+ce1U3thzYl/M9rKG4o=";
+  };
+
+  meta = with lib; {
+    description = "A graph database written in rust ";
+    homepage = "https://github.com/indradb/indradb";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.unix;
+  };
+in
+{
+  indradb-server = rustPlatform.buildRustPackage {
+    pname = "indradb-server";
+    version = "unstable-2021-01-05";
+    inherit src;
+
+    cargoSha256 = "sha256-3WtiW31AkyNX7HiT/zqfNo2VSKR7Q57/wCigST066Js=";
+
+    buildAndTestSubdir = "server";
+
+    nativeBuildInputs = [ rustfmt ];
+
+    # test rely on libindradb and it can't be found
+    # failure at https://github.com/indradb/indradb/blob/master/server/tests/plugins.rs#L63
+    # `let _server = Server::start(&format!("../target/debug/libindradb_plugin_*.{}", LIBRARY_EXTENSION)).unwrap();`
+    doCheck = false;
+  };
+  indradb-client = rustPlatform.buildRustPackage {
+    pname = "indradb-client";
+    version = "unstable-2021-01-05";
+    inherit src;
+
+    cargoSha256 = "sha256-pxan6W/CEsOxv8DbbytEBuIqxWn/C4qT4ze/RnvESOM=";
+
+    nativeBuildInputs = [ rustfmt ];
+
+    buildAndTestSubdir = "client";
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/database/liquibase/default.nix b/nixpkgs/pkgs/development/tools/database/liquibase/default.nix
index 54ede5fc3451..ec56d582e603 100644
--- a/nixpkgs/pkgs/development/tools/database/liquibase/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/liquibase/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "4.4.3";
+  version = "4.7.1";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-td+mBf/JhTw5vvlupyllpZ2e4So7y1kEC1OdR4LUv/k=";
+    sha256 = "sha256-cHMsBkP5R7rxRZgzzKaHJrFq36xC9PBuzTzc1kHKc4U=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/database/pg_activity/default.nix b/nixpkgs/pkgs/development/tools/database/pg_activity/default.nix
index 6754e76a8977..6282a6b69e5e 100644
--- a/nixpkgs/pkgs/development/tools/database/pg_activity/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/database/pg_checksums/default.nix b/nixpkgs/pkgs/development/tools/database/pg_checksums/default.nix
index 65e7c06b1402..b7883bd1bf01 100644
--- a/nixpkgs/pkgs/development/tools/database/pg_checksums/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/pg_checksums/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_checksums";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "credativ";
     repo = pname;
     rev = version;
-    sha256 = "0xc2bwp55xjnnf45lc60ldxpb5jfyi1bgfkv3nxrymcswh8yfidj";
+    sha256 = "sha256-Ij+4ceQauX3tC97ftk/JS3/WlocPBf7A7PJrylpTLzw=";
   };
 
   nativeBuildInputs = [ libxslt.bin ];
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    install -Dm755 -t $out/bin pg_checksums
-    install -Dm644 -t $out/share/man/man1 doc/man1/pg_checksums.1
+    install -Dm755 -t $out/bin pg_checksums_ext
+    install -Dm644 -t $out/share/man/man1 doc/man1/pg_checksums_ext.1
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
index 9fa8685734e8..e8f053679c32 100644
--- a/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/pgcli/default.nix
@@ -20,13 +20,13 @@
 
 buildPythonApplication rec {
   pname = "pgcli";
-  version = "3.2.0";
+  version = "3.3.1";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6cde97e71996bf910a40b579e5285483c10ea04962a08def01c12433d5f7c6b7";
+    sha256 = "sha256-/MyeVcpopK0Ih6z6KZGvs7ivk/PM6a2iSeatiYeZM6E=";
   };
 
   propagatedBuildInputs = [
@@ -46,11 +46,7 @@ buildPythonApplication rec {
 
   checkInputs = [ pytestCheckHook mock ];
 
-  disabledTests = [
-    # tests that expect output from an older version of cli-helpers
-    "test_format_output"
-    "test_format_output_auto_expand"
-  ] ++ lib.optionals stdenv.isDarwin [ "test_application_name_db_uri" ];
+  disabledTests = lib.optionals stdenv.isDarwin [ "test_application_name_db_uri" ];
 
   meta = with lib; {
     description = "Command-line interface for PostgreSQL";
diff --git a/nixpkgs/pkgs/development/tools/database/prisma-engines/default.nix b/nixpkgs/pkgs/development/tools/database/prisma-engines/default.nix
index 77d5eb006b10..eee49d1c6fcc 100644
--- a/nixpkgs/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/prisma-engines/default.nix
@@ -10,19 +10,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
-  version = "3.7.0";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "prisma";
     repo = "prisma-engines";
     rev = version;
-    sha256 = "sha256-00WAN4GFchZVsL1Vf1bPXF3/pmqygs3T8XrCMtGimfg=";
+    sha256 = "sha256-pP5gNWRucr2rJqBPBt4Y/akf7tABFWhmr3EWC3/kj+g=";
   };
 
   # Use system openssl.
   OPENSSL_NO_VENDOR = 1;
 
-  cargoSha256 = "sha256-w4n61gNEWdfiIMDQ82lFxnE4o4liS5z3tx3OZCcT1kI=";
+  cargoSha256 = "sha256-F105SOFWEhFVGMmPOEdBZwhNHCYkRh1HI7fESzL2uQw=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/tools/database/pyrseas/default.nix b/nixpkgs/pkgs/development/tools/database/pyrseas/default.nix
index 930078b2dc72..220554f95d90 100644
--- a/nixpkgs/pkgs/development/tools/database/pyrseas/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/pyrseas/default.nix
@@ -1,7 +1,7 @@
-{ lib, pythonPackages, fetchFromGitHub }:
+{ lib, python2Packages, fetchFromGitHub }:
 
 let
-  pgdbconn = pythonPackages.buildPythonPackage rec {
+  pgdbconn = python2Packages.buildPythonPackage rec {
     pname = "pgdbconn";
     version = "0.8.0";
     src = fetchFromGitHub {
@@ -13,13 +13,13 @@ let
     # The tests are impure (they try to access a PostgreSQL server)
     doCheck = false;
     propagatedBuildInputs = [
-      pythonPackages.psycopg2
-      pythonPackages.pytest
+      python2Packages.psycopg2
+      python2Packages.pytest
     ];
   };
 in
 
-pythonPackages.buildPythonApplication {
+python2Packages.buildPythonApplication {
   pname = "pyrseas";
   version = "0.8.0";
   src = fetchFromGitHub {
@@ -31,9 +31,9 @@ pythonPackages.buildPythonApplication {
   # The tests are impure (they try to access a PostgreSQL server)
   doCheck = false;
   propagatedBuildInputs = [
-    pythonPackages.psycopg2
-    pythonPackages.pytest
-    pythonPackages.pyyaml
+    python2Packages.psycopg2
+    python2Packages.pytest
+    python2Packages.pyyaml
     pgdbconn
   ];
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix b/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix
index 00309c343d20..264d2cc3264c 100644
--- a/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/schemaspy/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://schemaspy.org";
+    homepage = "https://schemaspy.org";
     description = "Document your database simply and easily";
     license = licenses.mit;
     maintainers = with maintainers; [ jraygauthier ];
diff --git a/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix b/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
index 26d3377b22ff..7c95565487d8 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,19 +5,19 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.8.2";
-  disabled = python3.pythonOlder "3.6";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-0FlXHUjoeZ7XfmOSlY30b13i2t/4vyWwhDKXquXKaJE=";
+    hash = "sha256-ZgLg+pIdTBxMNXgFFL8jCbQa444pkgtnSx+QjMqQhag=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
     appdirs
     cached-property
+    chardet
     click
     colorama
     configparser
@@ -26,12 +26,16 @@ python3.pkgs.buildPythonApplication rec {
     oyaml
     pathspec
     pytest
+    regex
     tblib
     toml
     tqdm
     typing-extensions
   ] ++ lib.optionals (pythonOlder "3.7") [
     dataclasses
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    backports.cached-property
+    importlib_metadata
   ];
 
   checkInputs = with python3.pkgs; [
@@ -53,7 +57,9 @@ python3.pkgs.buildPythonApplication rec {
     "test__rules__std_file_dbt"
   ];
 
-  pythonImportsCheck = [ "sqlfluff" ];
+  pythonImportsCheck = [
+    "sqlfluff"
+  ];
 
   meta = with lib; {
     description = "SQL linter and auto-formatter";
diff --git a/nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix b/nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix
index 5175a0287601..0220e2d61f9d 100644
--- a/nixpkgs/pkgs/development/tools/database/squirrel-sql/default.nix
+++ b/nixpkgs/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 ];
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
   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/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix b/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix
index 9c24d35cbf88..be29a0457ee0 100644
--- a/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/timescaledb-tune/default.nix
@@ -2,17 +2,20 @@
 
 buildGoModule rec {
   pname = "timescaledb-tune";
-  version = "0.11.2";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6xMdOqLfD3NQksmcD7rlTW3xoW2Fi6OmwbpjIj9A/tw=";
+    sha256 = "sha256-p1SU0wnB2XftuPMbm47EbJ2aZGV9amlk0y7FI0QOBkk=";
   };
 
   vendorSha256 = "sha256-n2jrg9FiR/gSrbds/QVV8Duf7BTEs36yYi4F3Ve+d0E=";
 
+  # Temporary fix of bug: https://github.com/timescale/timescaledb-tune/issues/95
+  patches = [ ./fixMinMaxConn.diff ];
+
   meta = with lib; {
     description = "A tool for tuning your TimescaleDB for better performance";
     homepage = "https://github.com/timescale/timescaledb-tune";
diff --git a/nixpkgs/pkgs/development/tools/database/timescaledb-tune/fixMinMaxConn.diff b/nixpkgs/pkgs/development/tools/database/timescaledb-tune/fixMinMaxConn.diff
new file mode 100644
index 000000000000..3a0110476cce
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/database/timescaledb-tune/fixMinMaxConn.diff
@@ -0,0 +1,13 @@
+diff --git a/pkg/pgtune/misc.go b/pkg/pgtune/misc.go
+index 1fceb6e..3e76be5 100644
+--- a/pkg/pgtune/misc.go
++++ b/pkg/pgtune/misc.go
+@@ -35,7 +35,7 @@ const (
+ 	// If you want to lower this value, consider that Patroni will not accept anything less than 25 as
+ 	// a valid max_connections and will replace it with 100, per
+ 	// https://github.com/zalando/patroni/blob/00cc62726d6df25d31f9b0baa082c83cd3f7bef9/patroni/postgresql/config.py#L280
+-	minMaxConns = 25
++	minMaxConns = 20
+ )
+ 
+ // MaxConnectionsDefault is the recommended default value for max_connections.
diff --git a/nixpkgs/pkgs/development/tools/database/webdis/default.nix b/nixpkgs/pkgs/development/tools/database/webdis/default.nix
index 91d501a05072..83d57ba5c2e4 100644
--- a/nixpkgs/pkgs/development/tools/database/webdis/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/webdis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "webdis";
-  version = "0.1.16";
+  version = "0.1.19";
 
   src = fetchFromGitHub {
     owner = "nicolasff";
     repo = pname;
     rev = version;
-    sha256 = "sha256-I+Nq3kjXoQlwfj8r7oNu6KFE6hnB076M9aJMdwCas3k=";
+    sha256 = "sha256-Q5tFEuyTfjXaa/0JOpNjzokstKaQPwR1szqdzYrqXxc=";
   };
 
   buildInputs = [ hiredis http-parser jansson libevent ];
diff --git a/nixpkgs/pkgs/development/tools/datree/default.nix b/nixpkgs/pkgs/development/tools/datree/default.nix
index 2eb11b2ffc28..b50d348d7dbb 100644
--- a/nixpkgs/pkgs/development/tools/datree/default.nix
+++ b/nixpkgs/pkgs/development/tools/datree/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "datree";
-  version = "0.14.87";
+  version = "0.15.16";
 
   src = fetchFromGitHub {
     owner = "datreeio";
     repo = "datree";
     rev = version;
-    sha256 = "sha256-zoFWiqrKdTh6XDrKx2mQe3NqK03so6MqIX0sSQHQa5U=";
+    sha256 = "sha256-FIFsx6iSirUY14cn6E7CPhZQKtcgnyZ2fYghrMUx3Lw=";
   };
 
-  vendorSha256 = "sha256-SlU1lJcKCDkoihU19c8iky3Bj5ZZD9E9W0QQX9fBT1c=";
+  vendorSha256 = "sha256-HaOgRbF3gMsl6PufdB5IZ2sLunvPo4GeObLb7DRSD0o=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/development/tools/ddosify/default.nix b/nixpkgs/pkgs/development/tools/ddosify/default.nix
index 509dabb0b010..91ce1bb08719 100644
--- a/nixpkgs/pkgs/development/tools/ddosify/default.nix
+++ b/nixpkgs/pkgs/development/tools/ddosify/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ddosify";
-  version = "0.7.1";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QzNMUeA9oOZaNZDGf9TXloZ5r2prDHTRX1wso3fSetc=";
+    sha256 = "sha256-urls47jS9Vu64PC/Ie+UTDfg17krs+UegqKub1QaYK4=";
   };
 
-  vendorSha256 = "sha256-TY8shTb77uFm8/yCvlIncAfq7brWgnH/63W+hj1rvqg=";
+  vendorSha256 = "sha256-lbo9P2UN9TmUAqyhFdbOHWokoAogVQZihpcOlhmumxU=";
 
   ldflags = [
     "-s -w"
diff --git a/nixpkgs/pkgs/development/tools/deadnix/default.nix b/nixpkgs/pkgs/development/tools/deadnix/default.nix
new file mode 100644
index 000000000000..34fb92973bc6
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/deadnix/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "deadnix";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "astro";
+    repo = "deadnix";
+    rev = "v${version}";
+    sha256 = "0ddnxmcr9fncgrqg1vvqcbx49c3lccdpb40h9rvzyldzy9xynzi7";
+  };
+
+  cargoSha256 = "19vgjv70vxgxssrxvdjwfl16bwdbdrpb2wzb3fg9vlz4fhbj2lv9";
+
+  meta = with lib; {
+    description = "Find and remove unused code in .nix source files";
+    homepage = "https://github.com/astro/deadnix";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ astro ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/deis/default.nix b/nixpkgs/pkgs/development/tools/deis/default.nix
deleted file mode 100644
index 8286435d9a3a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/tools/deisctl/default.nix b/nixpkgs/pkgs/development/tools/deisctl/default.nix
deleted file mode 100644
index 67245a5ebbe7..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/tools/delve/default.nix b/nixpkgs/pkgs/development/tools/delve/default.nix
index 54c1f12432b3..9681bfe75bd2 100644
--- a/nixpkgs/pkgs/development/tools/delve/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/doctl/default.nix b/nixpkgs/pkgs/development/tools/doctl/default.nix
index 9f31ebb0af42..3bcd0d6777d4 100644
--- a/nixpkgs/pkgs/development/tools/doctl/default.nix
+++ b/nixpkgs/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.68.0";
+  version = "1.70.0";
 
   vendorSha256 = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-3W6jDMT4UUtSND9bJJEexQ9LrqxL4oZtpucdcM1McdE=";
+    sha256 = "sha256-oLcWVUP9A/tcJYKiaBrqAdyNKESaVFOaNiG/fAVQb2c=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/dprint/default.nix b/nixpkgs/pkgs/development/tools/dprint/default.nix
index 505a0681085a..87e1ca02745b 100644
--- a/nixpkgs/pkgs/development/tools/dprint/default.nix
+++ b/nixpkgs/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.18.2";
+  version = "0.22.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-5vWkIQtbeQzPgc1BDjxfWCmCYseOUiV0LXapypcLItI=";
+    sha256 = "sha256-sE5Ojm4ZkMNQ6ihaT5GGRjqqJ6gEvoMaliMbRSkS8wI=";
   };
 
-  cargoSha256 = "sha256-ezfVDgZs0QemYHm/o3aX2QGO2WuMweE8LuNZaX4whhw=";
+  cargoSha256 = "sha256-KQLoF0yvlZaQIn50WlmlfHsIYjgca6odCnhmWG2au2U=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/development/tools/dstp/default.nix b/nixpkgs/pkgs/development/tools/dstp/default.nix
index c0a7f79eae19..7e3dafc5b228 100644
--- a/nixpkgs/pkgs/development/tools/dstp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/dt-schema/default.nix b/nixpkgs/pkgs/development/tools/dt-schema/default.nix
index a5445c8e021d..20e1ed136e2b 100644
--- a/nixpkgs/pkgs/development/tools/dt-schema/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/dyff/default.nix b/nixpkgs/pkgs/development/tools/dyff/default.nix
index 90f4881be055..d71b73929cea 100644
--- a/nixpkgs/pkgs/development/tools/dyff/default.nix
+++ b/nixpkgs/pkgs/development/tools/dyff/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dyff";
-  version = "1.4.6";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "homeport";
     repo = "dyff";
     rev = "v${version}";
-    sha256 = "sha256-xODOKKMGlpMePwO3A4IVReqsR1Kx0CwBjrhsvN+uDR4=";
+    sha256 = "sha256-SiOaPgwcdYrZBk7vzs6icN+pP0Yc+ImLz5lVtHaXgDc=";
   };
 
-  vendorSha256 = "sha256-W882fD4O4lPVH27KWmkRsS58R6qw7ENhKA2UgpNKvTw=";
+  vendorSha256 = "sha256-N3LqPnBq+jOUj4yDhY0GS4a4FTOntY4xu1TVac6va+Q=";
 
   subPackages = [
     "cmd/dyff"
diff --git a/nixpkgs/pkgs/development/tools/earthly/default.nix b/nixpkgs/pkgs/development/tools/earthly/default.nix
index c6cc57e14c5c..cd324ae387d2 100644
--- a/nixpkgs/pkgs/development/tools/earthly/default.nix
+++ b/nixpkgs/pkgs/development/tools/earthly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.6.2";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    sha256 = "sha256-a2NNpQvbhMY66nbk4RAXFb/o1qR5OXPm93ujzS2cxp4=";
+    sha256 = "sha256-VXBDgBcByONEOznUVbzxySE7rcevIwCk8rVxRxhF0Gc=";
   };
 
-  vendorSha256 = "sha256-0wyefhY/KR79K9DDI4/8EaA/DFI1rf6wxsBIAZo+rUI=";
+  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/nixpkgs/pkgs/development/tools/ec2-metadata-mock/default.nix b/nixpkgs/pkgs/development/tools/ec2-metadata-mock/default.nix
index 1a2fd8ec0f70..838e99417722 100644
--- a/nixpkgs/pkgs/development/tools/ec2-metadata-mock/default.nix
+++ b/nixpkgs/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-uq0gcpFzAcz1HMwI1ZjHykWU93bV2U5kxC/G+J4ob7Q=";
+  vendorSha256 = "sha256-HbU6Y5SART+FjFyEpzv243yfo/A4yprPen5Mlhq0hbg=";
 
   postInstall = ''
     mv $out/bin/{cmd,ec2-metadata-mock}
diff --git a/nixpkgs/pkgs/development/tools/efm-langserver/default.nix b/nixpkgs/pkgs/development/tools/efm-langserver/default.nix
index 935ec9076ba6..96a8d694e778 100644
--- a/nixpkgs/pkgs/development/tools/efm-langserver/default.nix
+++ b/nixpkgs/pkgs/development/tools/efm-langserver/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "efm-langserver";
-  version = "0.0.38";
+  version = "0.0.40";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "efm-langserver";
     rev = "v${version}";
-    sha256 = "sha256-+Q3vSifPiE9PyxJnoapJ1CBKUioTHExwBbWJgWD1iNI=";
+    sha256 = "sha256-0C7iSWO7zzOhPgzxj9k2MK6poi4XaCbMjTGah3ohVJg=";
   };
 
   vendorSha256 = "sha256-tca+1SRrFyvU8ttHmfMFiGXd1A8rQSEWm1Mc2qp0EfI=";
diff --git a/nixpkgs/pkgs/development/tools/electron/default.nix b/nixpkgs/pkgs/development/tools/electron/default.nix
index a09bd4a99d3e..df55b51a0ada 100644
--- a/nixpkgs/pkgs/development/tools/electron/default.nix
+++ b/nixpkgs/pkgs/development/tools/electron/default.nix
@@ -15,6 +15,7 @@
 , libxkbcommon
 , libappindicator-gtk3
 , libxshmfence
+, libglvnd
 }@args:
 
 let
@@ -22,60 +23,7 @@ let
 in
 rec {
 
-  electron = electron_16;
-
-  electron_3 = mkElectron "3.1.13" {
-    x86_64-linux = "1psmbplz6jhnnf6hmfhxbmmhn4n1dpnhzbc12pxn645xhfpk9ark";
-    x86_64-darwin = "1vvjm4jifzjqvbs2kjlwg1h9p2czr2b5imjr9hld1j8nyfrzb0dx";
-    i686-linux = "04i0rcp4ajp4nf4arcl5crcc7a85sf0ixqd8jx07k2b1irv4dc23";
-    armv7l-linux = "1pzs2cj12xw18jwab0mb8xhndwd95lbsj5ml5xdw2mb0ip5jsvsa";
-    aarch64-linux = "13pc7xn0dkb8i31vg9zplqcvb7r9r7q3inmr3419b5p9bl0687x8";
-  };
-
-  electron_4 = mkElectron "4.2.12" {
-    x86_64-linux = "72c5319c92baa7101bea3254a036c0cd3bcf257f4a03a0bb153668b7292ee2dd";
-    x86_64-darwin = "89b0e16bb9b7072ed7ed1906fccd08540acdd9f42dd8a29c97fa17d811b8c5e5";
-    i686-linux = "bf96b1736141737bb064e48bdb543302fd259de634b1790b7cf930525f47859f";
-    armv7l-linux = "2d970b3020627e5381fd4916dd8fa50ca9556202c118ab4cba09c293960689e9";
-    aarch64-linux = "938b7cc5f917247a120920df30374f86414b0c06f9f3dc7ab02be1cadc944e55";
-    headers = "0943wc2874s58pkpzm1l55ycgbhv60m62r8aix88gl45i6zngb2g";
-  };
-
-  electron_5 = mkElectron "5.0.13" {
-    x86_64-linux = "8ded43241c4b7a6f04f2ff21c75ae10e4e6db1794e8b1b4f7656c0ed21667f8f";
-    x86_64-darwin = "589834815fb9667b3c1c1aa6ccbd87d50e5660ecb430f6b475168b772b9857cd";
-    i686-linux = "ccf4a5ed226928a30bd3ea830913d99853abb089bd4a6299ffa9fa0daa8d026a";
-    armv7l-linux = "96ad83802bc61d87bb952027d49e5dd297f58e4493e66e393b26e51e09065add";
-    aarch64-linux = "01f0fd313b060fb28a1022d68fb224d415fa22986e2a8f4aded6424b65e35add";
-    headers = "0najajj1kjj0rbqzjvk9ipq0pgympwad77hs019cz2m8ssaxqfrv";
-  };
-
-  electron_6 = mkElectron "6.1.12" {
-    x86_64-linux = "dc628216588a896e72991d46071d06ef11aed2cdeca18d11d472c29cfbf12349";
-    x86_64-darwin = "6c7244319fdfb90899a48ffd0f426e36dba7c3fc5e29b28a4d29fdca7fb924d3";
-    i686-linux = "4e61dc4aed1c1b933b233e02833948f3b17f81f3444f02e9108a78c0540159ab";
-    armv7l-linux = "06071b4dc59a6773ff604550ed9e7a7ae8722b5343cbb5d4b94942fe537211dc";
-    aarch64-linux = "4ae23b75be821044f7e5878fe8e56ab3109cbd403ecd88221effa6abf850260b";
-    headers = "0im694h8wqp31yzncwfnhz5g1ijrmqnypcakl0h7xcn7v25yp7s3";
-  };
-
-  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";
@@ -115,43 +63,53 @@ rec {
     headers = "1idam1xirxqxqg4g7n33kdx2skk0r351m00g59a8yx9z82g06ah9";
   };
 
-  electron_13 = mkElectron "13.6.3" {
-    armv7l-linux = "a293a9684e16a427a9f68d101814575a4b1dd232dc3fca47552f906019a6cadc";
-    aarch64-linux = "1599d259832c806b98751a68fb93112711963d259024f0e36f12f064995b3251";
-    x86_64-linux = "7607422a4ba80cda4bd7fefb2fbe2f4e0b9a73db92e1e82dc01012a85b5d0d2b";
-    i686-linux = "db9261c05ed57af2fcd4a84b89d299c76948b9d57ce0dba38e3240eb43935257";
-    x86_64-darwin = "6bf09794d6f020bbaaf806a7758da125137b3c96646f4503eb81b9541e50e02f";
-    aarch64-darwin = "374ddf0581794b31eee900828172f9218193c032c0e46bffcfac6aec95c22f1a";
-    headers = "0v1n8izy83qq3ljs6191a7mzr6nnda5ib9ava1cjddkshl8pampq";
+  electron_13 = mkElectron "13.6.9" {
+    armv7l-linux = "e70cf80ac17850f3291c19a89235c59a7a6e0c791e7965805872ce584479c419";
+    aarch64-linux = "cb570f77e46403a75b99740c41b297154f057dc3b9aa75fd235dccc5619972cf";
+    x86_64-linux = "5e29701394041ba2acd8a9bb042d77967c399b8fe007d7ffbd1d3e6bfdb9eb8a";
+    i686-linux = "7c31b60ee0e1d9966b8cf977528ace91e10ce25bb289a46eabbcf6087bee50e6";
+    x86_64-darwin = "3393f0e87f30be325b76fb2275fe2d5614d995457de77fe00fa6eef2d60f331e";
+    aarch64-darwin = "8471777eafc6fb641148a9c6acff2ea41c02a989d4d0a3a460322672d85169df";
+    headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc";
+  };
+
+  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_14 = mkElectron "14.2.3" {
-    armv7l-linux = "d4ed85690c49b6ec1b532256bd63ccfb670d14da9bb5ccf706e03da2f5fe377e";
-    aarch64-linux = "ac8be1a06ad4b3da16438cc9c257b3c443417d5d9272830b0d51c1f2c9b14f52";
-    x86_64-linux = "c72ce5943e9e5e9b10b0822b3e60de74612db81c4ebaf475e5fa8735af344b22";
-    i686-linux = "9dec585682c0a08f048f1eda6a931cad3c85d47842786aae565af930a7ef7b51";
-    x86_64-darwin = "fb90d61855b63ac1115a60683d476931a6b6bf194e77867192d927bbb9051070";
-    aarch64-darwin = "035e6e2e8d50e867eee37b0631fc95b3f0e8760294af71c23bc73c0f3fc99f83";
-    headers = "0m03nb1nlwd03wn765rs06yiqzkxlk9jafab0zaxywsq94z5np0y";
+  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.4" {
-    armv7l-linux = "caff953cbffdac63307b75a3b78be82ea6003782e981edfdcba14da5ee48b8b6";
-    aarch64-linux = "dba1e09b3e4924148b57539d86840fa22e5500f3e15a694dcd2e26b830c1f780";
-    x86_64-linux = "5e13b64c3b1b025ddea92b3bda577e00fc533902a9cf92bfd87b976637f7b59a";
-    i686-linux = "1253e837e98fc41c14f6b71f0f917b8f42a0777bd2554046567b512f747240d8";
-    x86_64-darwin = "ea1cb757f9c8c4c99c840357ecab42a0bcbe8c7a6a3a1265106c238088ad18f1";
-    aarch64-darwin = "65b9b3235efdb681e3a4db85068dc9fe6dfbcb7fbb146053c0a534e4b44a2f7a";
-    headers = "1xnbzskvf8p5a07bha41qqnw1hb68f019qrda3z2jn96m3qnj46r";
+  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.5" {
-    armv7l-linux = "16381d22f6f3c7990435598fc50addf8addde2fa749ab23672733ec90b8d53ef";
-    aarch64-linux = "6274bdf2a3894ce9ddb70800df497a034893e1be5e2d07763e339550009d53b6";
-    x86_64-linux = "2830a9f8fc5e7fa4f70997e11d55b250e90db511b29da22699e1fe23b153128c";
-    i686-linux = "363e2588f57f3d31e506e759f723768b543baf248dfb518d06747ffa0a8d8ab1";
-    x86_64-darwin = "0bb7f2c506d8c3e9ef7ec4049baf87a3365cbf80c569f6eb98ddc1a2ddb653e6";
-    aarch64-darwin = "de4eac412a942a0b238792a38c0c80691d1a7ef2eba850c15619c0db9da89f1a";
-    headers = "1pdi86sq60z9bqd81fvgl14c3bk21wk9mwkqyn653yq4zk0mqpi5";
+  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/nixpkgs/pkgs/development/tools/electron/generic.nix b/nixpkgs/pkgs/development/tools/electron/generic.nix
index cbbceba70248..08edf8a30927 100644
--- a/nixpkgs/pkgs/development/tools/electron/generic.nix
+++ b/nixpkgs/pkgs/development/tools/electron/generic.nix
@@ -15,11 +15,12 @@
 , libxkbcommon
 , libappindicator-gtk3
 , libxshmfence
+, libglvnd
 }:
 
 version: hashes:
 let
-  name = "electron-${version}";
+  pname = "electron";
 
   meta = with lib; {
     description = "Cross platform desktop application shell";
@@ -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 "12.0.0") "Electron version ${version} is EOL";
+    knownVulnerabilities = optional (versionOlder version "14.0.0") "Electron version ${version} is EOL";
   };
 
   fetcher = vers: tag: hash: fetchurl {
@@ -54,7 +55,7 @@ let
     "Unsupported system: ${platform.system}";
 
   common = platform: {
-    inherit name version meta;
+    inherit pname version meta;
     src = fetcher version (get tags platform) (get hashes platform);
     passthru.headers = headersFetcher version hashes.headers;
   };
@@ -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/nixpkgs/pkgs/development/tools/ent/default.nix b/nixpkgs/pkgs/development/tools/ent/default.nix
new file mode 100644
index 000000000000..ba30aa97e094
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ent/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "ent-go";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "ent";
+    repo = "ent";
+    rev = "v${version}";
+    sha256 = "sha256-TG08GRo1gNxC5iHt/Md5WVWaEQ1m2mUDGqpuxw8Pavg=";
+  };
+
+  vendorSha256 = "sha256-n5dS78SSBAEgE4/9jMZZhbOQZ3IGi9n3ErA0ioP9Tsg=";
+
+  subPackages = [ "cmd/ent" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd ent \
+      --bash <($out/bin/ent completion bash) \
+      --fish <($out/bin/ent completion fish) \
+      --zsh <($out/bin/ent completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "An entity framework for Go";
+    downloadPage = "https://github.com/ent/ent";
+    license = licenses.asl20;
+    homepage = "https://entgo.io/";
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/tools/esbuild/default.nix b/nixpkgs/pkgs/development/tools/esbuild/default.nix
index c3ed6ce6b14d..82e69c2d91ee 100644
--- a/nixpkgs/pkgs/development/tools/esbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.14.8";
+  version = "0.14.23";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-RyxlU6Wf+rHSZ/xuhiCbF+KYhMxHEEh3XvLCdwAVTYw=";
+    sha256 = "sha256-7J8l4PCXDSddlUdMYaTo3KQjhUl1IRpks0iMiYxJzD4=";
   };
 
   vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
diff --git a/nixpkgs/pkgs/development/tools/evans/default.nix b/nixpkgs/pkgs/development/tools/evans/default.nix
index bfe58a8dd041..29dadf243043 100644
--- a/nixpkgs/pkgs/development/tools/evans/default.nix
+++ b/nixpkgs/pkgs/development/tools/evans/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "evans";
-  version = "0.10.0";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "ktr0731";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ftt3lnwLk2Zx1DxDmZx2hBqXcxzqUb6I/gEdQJuFsCc=";
+    sha256 = "sha256-F9URMwQaSAQZaiZ95rDZqe8+YcJ9aMInSTIgQ7JLyOw=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-WclmINHcgRtbRSZGv+lOgwuImHKVC9cfK8C+f9JBcts=";
+  vendorSha256 = "sha256-ICGnjI9sFwt81rZCnap/rggfSs4+pZNmLouoTY7CYKw=";
 
   meta = with lib; {
     description = "More expressive universal gRPC client";
diff --git a/nixpkgs/pkgs/development/tools/faas-cli/default.nix b/nixpkgs/pkgs/development/tools/faas-cli/default.nix
index 835641001034..c4b0b6569533 100644
--- a/nixpkgs/pkgs/development/tools/faas-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/faas-cli/default.nix
@@ -10,14 +10,14 @@ in
 buildGoModule rec {
   pname = "faas-cli";
   # When updating version change rev.
-  version = "0.14.1";
-  rev = "d94600d2d2be52a66e0a15c219634f3bcac27318";
+  version = "0.14.2";
+  rev = "b1c09c0243f69990b6c81a17d7337f0fd23e7542";
 
   src = fetchFromGitHub {
     owner = "openfaas";
     repo = "faas-cli";
     rev = version;
-    sha256 = "132m9kv7a4vv65n8y3sq1drks6n1pci9fhvq0s637imf2vxccxqr";
+    sha256 = "sha256-OdFd4q5IHu4FjNArcqVt4dNyLWegR4GdAyyCzgNIU+Q=";
   };
 
   CGO_ENABLED = 0;
@@ -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/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix b/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
index ce3420fd911b..4e96294fe3e0 100644
--- a/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
+++ b/nixpkgs/pkgs/development/tools/flatpak-builder/default.nix
@@ -47,13 +47,13 @@ let
   installed_test_metadir = "${placeholder "installedTests"}/share/installed-tests/flatpak-builder";
 in stdenv.mkDerivation rec {
   pname = "flatpak-builder";
-  version = "1.2.0";
+  version = "1.2.2";
 
   outputs = [ "out" "doc" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-38tqPKONYeB3W3CkaatQUoXhKTYUYt8JAE5tQlHCRqg=";
+    sha256 = "sha256-if2mjlN8Hp3gI1JpC9icMhenKRZFWNNfNbCPea2E4D4=";
   };
 
   patches = [
@@ -87,10 +87,6 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     autoreconfHook
-    # TODO: Remove older versions.
-    # https://github.com/flatpak/flatpak-builder/pull/437
-    docbook_xml_dtd_412
-    docbook_xml_dtd_42
     docbook_xml_dtd_43
     docbook_xsl
     gettext
diff --git a/nixpkgs/pkgs/development/tools/fnm/default.nix b/nixpkgs/pkgs/development/tools/fnm/default.nix
index efbdce1e592f..c83966c7d6d3 100644
--- a/nixpkgs/pkgs/development/tools/fnm/default.nix
+++ b/nixpkgs/pkgs/development/tools/fnm/default.nix
@@ -10,20 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fnm";
-  version = "1.28.2";
+  version = "1.31.0";
 
   src = fetchFromGitHub {
     owner = "Schniz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8/J7LfSk2a0Bq9v6CH63BIyUkT56EY+4UcEUdwkbZ4U=";
+    sha256 = "sha256-8A6MKDeyuk0bzyoDydcOy4LzyYe/S+x+ZJMTOo59UA8=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation Security ];
 
-  cargoSha256 = "sha256-k3WZpN6DSbFFKLilFEN2lDMbJH5q1KgfE12OoGv+eGk=";
+  cargoSha256 = "sha256-oiGYkRqxN6e5EG6EDQalIK0tOekyIVQ+GhxCKK0Sd3g=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/fq/default.nix b/nixpkgs/pkgs/development/tools/fq/default.nix
index 5d1c730e925b..cc80fbf74fcf 100644
--- a/nixpkgs/pkgs/development/tools/fq/default.nix
+++ b/nixpkgs/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.2";
+  version = "0.0.4";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "fq";
     rev = "v${version}";
-    sha256 = "sha256-ykjt9MPkN5dgTaY2VhApNt5DKh9TFapMpoHwLdpOKcw=";
+    sha256 = "sha256-mnb/9zcFSeBasGPYSGWoBhnldljGW3VK070zTO8M/uk=";
   };
 
-  vendorSha256 = "sha256-89rSpxhP35wreo+0AqM+rDICCPchF+yFVvrTtZ2Xwr4=";
+  vendorSha256 = "sha256-KPIO/ZuiwxlnjGLaEuClkDsJnx/fwW0jPDBc7aTT68A=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/development/tools/frugal/default.nix b/nixpkgs/pkgs/development/tools/frugal/default.nix
index fb6a4f496248..f0e125245efa 100644
--- a/nixpkgs/pkgs/development/tools/frugal/default.nix
+++ b/nixpkgs/pkgs/development/tools/frugal/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "frugal";
-  version = "3.14.12";
+  version = "3.14.14";
 
   src = fetchFromGitHub {
     owner = "Workiva";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2fXefYvcclcxMeX6JtHjoVNRwJTsUAhxet646BDPHic=";
+    sha256 = "sha256-1ie/pkg0pv8bJphQ8PXceRd2WALYaVxBAW1O/s4kKHA=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-4Ak+mh9ege38iO1QyxvGkYvRyU11QjphfLrit1qfu58=";
+  vendorSha256 = "sha256-vWqj2fRtaDextDstIb5GrdRn4nxQpCfjegYiVbPILuM=";
 
   meta = with lib; {
     description = "Thrift improved";
diff --git a/nixpkgs/pkgs/development/tools/gauge/default.nix b/nixpkgs/pkgs/development/tools/gauge/default.nix
index 168910da06f5..1048ca194411 100644
--- a/nixpkgs/pkgs/development/tools/gauge/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/geckodriver/cargo-lock.patch b/nixpkgs/pkgs/development/tools/geckodriver/cargo-lock.patch
index 5c066a7e9746..2a19cca202e6 100644
--- a/nixpkgs/pkgs/development/tools/geckodriver/cargo-lock.patch
+++ b/nixpkgs/pkgs/development/tools/geckodriver/cargo-lock.patch
@@ -3,9 +3,11 @@ new file mode 100644
 index 0000000..4430666
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,1493 @@
+@@ -0,0 +1,1449 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
++version = 3
++
 +[[package]]
 +name = "adler"
 +version = "1.0.2"
@@ -14,26 +16,14 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "aho-corasick"
-+version = "0.7.15"
++version = "0.7.18"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
++checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
 +dependencies = [
 + "memchr",
 +]
 +
 +[[package]]
-+name = "arrayref"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
-+
-+[[package]]
-+name = "arrayvec"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-+
-+[[package]]
 +name = "autocfg"
 +version = "1.0.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -62,20 +52,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.2.1"
++version = "1.3.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+
-+[[package]]
-+name = "blake2b_simd"
-+version = "0.5.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
-+dependencies = [
-+ "arrayref",
-+ "arrayvec",
-+ "constant_time_eq",
-+]
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 +
 +[[package]]
 +name = "block-buffer"
@@ -100,9 +79,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "bytes"
-+version = "1.0.1"
++version = "1.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
++checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
 +
 +[[package]]
 +name = "cfg-if"
@@ -131,9 +110,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "clap"
-+version = "2.33.3"
++version = "2.34.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
++checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
 +dependencies = [
 + "bitflags",
 + "strsim",
@@ -143,12 +122,6 @@ index 0000000..4430666
 +]
 +
 +[[package]]
-+name = "constant_time_eq"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-+
-+[[package]]
 +name = "cookie"
 +version = "0.12.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -158,29 +131,21 @@ index 0000000..4430666
 +]
 +
 +[[package]]
-+name = "cpuid-bool"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"
-+
-+[[package]]
-+name = "crc32fast"
-+version = "1.2.1"
++name = "cpufeatures"
++version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
++checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469"
 +dependencies = [
-+ "cfg-if 1.0.0",
++ "libc",
 +]
 +
 +[[package]]
-+name = "crossbeam-utils"
-+version = "0.8.3"
++name = "crc32fast"
++version = "1.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
++checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836"
 +dependencies = [
-+ "autocfg",
 + "cfg-if 1.0.0",
-+ "lazy_static",
 +]
 +
 +[[package]]
@@ -204,9 +169,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "dirs-sys"
-+version = "0.3.5"
++version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a"
++checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
 +dependencies = [
 + "libc",
 + "redox_users",
@@ -221,9 +186,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "flate2"
-+version = "1.0.20"
++version = "1.0.22"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0"
++checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f"
 +dependencies = [
 + "cfg-if 1.0.0",
 + "crc32fast",
@@ -265,9 +230,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "futures"
-+version = "0.3.14"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253"
++checksum = "28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4"
 +dependencies = [
 + "futures-channel",
 + "futures-core",
@@ -279,9 +244,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "futures-channel"
-+version = "0.3.14"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25"
++checksum = "ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b"
 +dependencies = [
 + "futures-core",
 + "futures-sink",
@@ -289,44 +254,44 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "futures-core"
-+version = "0.3.14"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815"
++checksum = "d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7"
 +
 +[[package]]
 +name = "futures-io"
-+version = "0.3.14"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04"
++checksum = "b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2"
 +
 +[[package]]
 +name = "futures-sink"
-+version = "0.3.14"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23"
++checksum = "e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508"
 +
 +[[package]]
 +name = "futures-task"
-+version = "0.3.14"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc"
++checksum = "6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72"
 +
 +[[package]]
 +name = "futures-util"
-+version = "0.3.14"
++version = "0.3.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025"
++checksum = "d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164"
 +dependencies = [
 + "futures-core",
 + "futures-sink",
 + "futures-task",
-+ "pin-project-lite 0.2.6",
++ "pin-project-lite 0.2.8",
 + "pin-utils",
 +]
 +
 +[[package]]
 +name = "geckodriver"
-+version = "0.29.1"
++version = "0.30.0"
 +dependencies = [
 + "base64 0.12.3",
 + "chrono",
@@ -351,9 +316,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "generic-array"
-+version = "0.14.4"
++version = "0.14.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
++checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
 +dependencies = [
 + "typenum",
 + "version_check",
@@ -361,24 +326,13 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "libc",
-+ "wasi 0.9.0+wasi-snapshot-preview1",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.2.2"
++version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
++checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
 +dependencies = [
 + "cfg-if 1.0.0",
 + "libc",
-+ "wasi 0.10.2+wasi-snapshot-preview1",
++ "wasi",
 +]
 +
 +[[package]]
@@ -403,24 +357,24 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "hashbrown"
-+version = "0.9.1"
++version = "0.11.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
++checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
 +
 +[[package]]
 +name = "headers"
-+version = "0.3.4"
++version = "0.3.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f0b7591fb62902706ae8e7aaff416b1b0fa2c0fd0878b46dc13baa3712d8a855"
++checksum = "a4c4eb0471fcb85846d8b0690695ef354f9afb11cb03cac2e1d7c9253351afb0"
 +dependencies = [
 + "base64 0.13.0",
 + "bitflags",
-+ "bytes 1.0.1",
++ "bytes 1.1.0",
 + "headers-core",
 + "http",
++ "httpdate 1.0.2",
 + "mime",
 + "sha-1",
-+ "time",
 +]
 +
 +[[package]]
@@ -434,13 +388,13 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "http"
-+version = "0.2.4"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11"
++checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
 +dependencies = [
-+ "bytes 1.0.1",
++ "bytes 1.1.0",
 + "fnv",
-+ "itoa",
++ "itoa 1.0.1",
 +]
 +
 +[[package]]
@@ -455,9 +409,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "httparse"
-+version = "1.3.6"
++version = "1.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bc35c995b9d93ec174cf9a27d425c7892722101e14993cd227fdb51d70cf9589"
++checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503"
 +
 +[[package]]
 +name = "httpdate"
@@ -466,6 +420,12 @@ index 0000000..4430666
 +checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
 +
 +[[package]]
++name = "httpdate"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
++
++[[package]]
 +name = "hyper"
 +version = "0.13.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -479,9 +439,9 @@ index 0000000..4430666
 + "http",
 + "http-body",
 + "httparse",
-+ "httpdate",
-+ "itoa",
-+ "pin-project 1.0.6",
++ "httpdate 0.3.2",
++ "itoa 0.4.8",
++ "pin-project 1.0.10",
 + "socket2",
 + "tokio",
 + "tower-service",
@@ -491,9 +451,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "idna"
-+version = "0.2.2"
++version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"
++checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
 +dependencies = [
 + "matches",
 + "unicode-bidi",
@@ -502,9 +462,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "indexmap"
-+version = "1.6.2"
++version = "1.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3"
++checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
 +dependencies = [
 + "autocfg",
 + "hashbrown",
@@ -521,9 +481,15 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "itoa"
-+version = "0.4.7"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
++
++[[package]]
++name = "itoa"
++version = "1.0.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
++checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
 +
 +[[package]]
 +name = "kernel32-sys"
@@ -543,9 +509,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.93"
++version = "0.2.112"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
++checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
 +
 +[[package]]
 +name = "line-wrap"
@@ -582,15 +548,15 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "matches"
-+version = "0.1.8"
++version = "0.1.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
 +
 +[[package]]
 +name = "memchr"
-+version = "2.3.4"
++version = "2.4.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
++checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
 +
 +[[package]]
 +name = "mime"
@@ -651,26 +617,27 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "mozdevice"
-+version = "0.3.2"
++version = "0.4.0"
 +dependencies = [
 + "log",
 + "once_cell",
 + "regex",
 + "tempfile",
++ "unix_path",
 + "uuid",
 + "walkdir",
 +]
 +
 +[[package]]
 +name = "mozprofile"
-+version = "0.7.2"
++version = "0.7.3"
 +dependencies = [
 + "tempfile",
 +]
 +
 +[[package]]
 +name = "mozrunner"
-+version = "0.12.1"
++version = "0.13.0"
 +dependencies = [
 + "dirs",
 + "log",
@@ -681,7 +648,7 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "mozversion"
-+version = "0.4.1"
++version = "0.4.2"
 +dependencies = [
 + "regex",
 + "rust-ini",
@@ -730,9 +697,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "once_cell"
-+version = "1.7.2"
++version = "1.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
++checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
 +
 +[[package]]
 +name = "opaque-debug"
@@ -748,27 +715,27 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "pin-project"
-+version = "0.4.28"
++version = "0.4.29"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f"
++checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909"
 +dependencies = [
-+ "pin-project-internal 0.4.28",
++ "pin-project-internal 0.4.29",
 +]
 +
 +[[package]]
 +name = "pin-project"
-+version = "1.0.6"
++version = "1.0.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bc174859768806e91ae575187ada95c91a29e96a98dc5d2cd9a1fed039501ba6"
++checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
 +dependencies = [
-+ "pin-project-internal 1.0.6",
++ "pin-project-internal 1.0.10",
 +]
 +
 +[[package]]
 +name = "pin-project-internal"
-+version = "0.4.28"
++version = "0.4.29"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e"
++checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a"
 +dependencies = [
 + "proc-macro2",
 + "quote",
@@ -777,9 +744,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "pin-project-internal"
-+version = "1.0.6"
++version = "1.0.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a490329918e856ed1b083f244e3bfe2d8c4f336407e4ea9e1a9f479ff09049e5"
++checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
 +dependencies = [
 + "proc-macro2",
 + "quote",
@@ -794,9 +761,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "pin-project-lite"
-+version = "0.2.6"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
++checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
 +
 +[[package]]
 +name = "pin-utils"
@@ -826,33 +793,33 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "ppv-lite86"
-+version = "0.2.10"
++version = "0.2.16"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
++checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "1.0.26"
++version = "1.0.36"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
++checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
 +dependencies = [
 + "unicode-xid",
 +]
 +
 +[[package]]
 +name = "quote"
-+version = "1.0.9"
++version = "1.0.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
++checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
 +dependencies = [
 + "proc-macro2",
 +]
 +
 +[[package]]
 +name = "rand"
-+version = "0.8.3"
++version = "0.8.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
++checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
 +dependencies = [
 + "libc",
 + "rand_chacha",
@@ -862,9 +829,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "rand_chacha"
-+version = "0.3.0"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
++checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 +dependencies = [
 + "ppv-lite86",
 + "rand_core",
@@ -872,53 +839,46 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "rand_core"
-+version = "0.6.2"
++version = "0.6.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
++checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
 +dependencies = [
-+ "getrandom 0.2.2",
++ "getrandom",
 +]
 +
 +[[package]]
 +name = "rand_hc"
-+version = "0.3.0"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
++checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
 +dependencies = [
 + "rand_core",
 +]
 +
 +[[package]]
 +name = "redox_syscall"
-+version = "0.1.57"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.2.5"
++version = "0.2.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
++checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
 +dependencies = [
 + "bitflags",
 +]
 +
 +[[package]]
 +name = "redox_users"
-+version = "0.3.5"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
++checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
 +dependencies = [
-+ "getrandom 0.1.16",
-+ "redox_syscall 0.1.57",
-+ "rust-argon2",
++ "getrandom",
++ "redox_syscall",
 +]
 +
 +[[package]]
 +name = "regex"
-+version = "1.4.5"
++version = "1.5.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
++checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
 +dependencies = [
 + "aho-corasick",
 + "memchr",
@@ -927,9 +887,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "regex-syntax"
-+version = "0.6.23"
++version = "0.6.25"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
++checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
 +
 +[[package]]
 +name = "remove_dir_all"
@@ -941,18 +901,6 @@ index 0000000..4430666
 +]
 +
 +[[package]]
-+name = "rust-argon2"
-+version = "0.8.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
-+dependencies = [
-+ "base64 0.13.0",
-+ "blake2b_simd",
-+ "constant_time_eq",
-+ "crossbeam-utils",
-+]
-+
-+[[package]]
 +name = "rust-ini"
 +version = "0.10.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -960,9 +908,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "ryu"
-+version = "1.0.5"
++version = "1.0.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
++checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
 +
 +[[package]]
 +name = "safemem"
@@ -1002,18 +950,18 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.125"
++version = "1.0.133"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
++checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a"
 +dependencies = [
 + "serde_derive",
 +]
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.125"
++version = "1.0.133"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"
++checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537"
 +dependencies = [
 + "proc-macro2",
 + "quote",
@@ -1022,20 +970,20 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.64"
++version = "1.0.74"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
++checksum = "ee2bb9cd061c5865d345bb02ca49fcef1391741b672b54a0bf7b679badec3142"
 +dependencies = [
-+ "itoa",
++ "itoa 1.0.1",
 + "ryu",
 + "serde",
 +]
 +
 +[[package]]
 +name = "serde_repr"
-+version = "0.1.6"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2dc6b7951b17b051f3210b063f12cc17320e2fe30ae05b0fe2a3abb068551c76"
++checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5"
 +dependencies = [
 + "proc-macro2",
 + "quote",
@@ -1049,41 +997,41 @@ index 0000000..4430666
 +checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
 +dependencies = [
 + "dtoa",
-+ "itoa",
++ "itoa 0.4.8",
 + "serde",
 + "url",
 +]
 +
 +[[package]]
 +name = "serde_yaml"
-+version = "0.8.17"
++version = "0.8.23"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "15654ed4ab61726bf918a39cb8d98a2e2995b002387807fa6ba58fdf7f59bb23"
++checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0"
 +dependencies = [
-+ "dtoa",
-+ "linked-hash-map",
++ "indexmap",
++ "ryu",
 + "serde",
 + "yaml-rust",
 +]
 +
 +[[package]]
 +name = "sha-1"
-+version = "0.9.4"
++version = "0.9.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f"
++checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
 +dependencies = [
 + "block-buffer",
 + "cfg-if 1.0.0",
-+ "cpuid-bool",
++ "cpufeatures",
 + "digest",
 + "opaque-debug",
 +]
 +
 +[[package]]
 +name = "slab"
-+version = "0.4.2"
++version = "0.4.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
++checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
 +
 +[[package]]
 +name = "socket2"
@@ -1104,9 +1052,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.69"
++version = "1.0.85"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb"
++checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7"
 +dependencies = [
 + "proc-macro2",
 + "quote",
@@ -1122,7 +1070,7 @@ index 0000000..4430666
 + "cfg-if 1.0.0",
 + "libc",
 + "rand",
-+ "redox_syscall 0.2.5",
++ "redox_syscall",
 + "remove_dir_all",
 + "winapi 0.3.9",
 +]
@@ -1159,9 +1107,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "tinyvec"
-+version = "1.2.0"
++version = "1.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342"
++checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
 +dependencies = [
 + "tinyvec_macros",
 +]
@@ -1211,21 +1159,21 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "tracing"
-+version = "0.1.25"
++version = "0.1.29"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"
++checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105"
 +dependencies = [
 + "cfg-if 1.0.0",
 + "log",
-+ "pin-project-lite 0.2.6",
++ "pin-project-lite 0.2.8",
 + "tracing-core",
 +]
 +
 +[[package]]
 +name = "tracing-core"
-+version = "0.1.17"
++version = "0.1.21"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f"
++checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4"
 +dependencies = [
 + "lazy_static",
 +]
@@ -1236,7 +1184,7 @@ index 0000000..4430666
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
 +dependencies = [
-+ "pin-project 1.0.6",
++ "pin-project 1.0.10",
 + "tracing",
 +]
 +
@@ -1248,9 +1196,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "typenum"
-+version = "1.13.0"
++version = "1.15.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06"
++checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
 +
 +[[package]]
 +name = "unicase"
@@ -1263,45 +1211,57 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "unicode-bidi"
-+version = "0.3.5"
++version = "0.3.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0"
-+dependencies = [
-+ "matches",
-+]
++checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
 +
 +[[package]]
 +name = "unicode-normalization"
-+version = "0.1.17"
++version = "0.1.19"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
++checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
 +dependencies = [
 + "tinyvec",
 +]
 +
 +[[package]]
 +name = "unicode-segmentation"
-+version = "1.7.1"
++version = "1.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
++checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
 +
 +[[package]]
 +name = "unicode-width"
-+version = "0.1.8"
++version = "0.1.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
++checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
 +
 +[[package]]
 +name = "unicode-xid"
-+version = "0.2.1"
++version = "0.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
++checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
++
++[[package]]
++name = "unix_path"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "af8e291873ae77c4c8d9c9b34d0bee68a35b048fb39c263a5155e0e353783eaf"
++dependencies = [
++ "unix_str",
++]
++
++[[package]]
++name = "unix_str"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2ace0b4755d0a2959962769239d56267f8a024fef2d9b32666b3dcd0946b0906"
 +
 +[[package]]
 +name = "url"
-+version = "2.2.1"
++version = "2.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
++checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
 +dependencies = [
 + "form_urlencoded",
 + "idna",
@@ -1311,9 +1271,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "urlencoding"
-+version = "1.1.1"
++version = "1.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c9232eb53352b4442e40d7900465dfc534e8cb2dc8f18656fcb2ac16112b5593"
++checksum = "5a1f0175e03a0973cf4afd476bef05c26e228520400eb1fd473ad417b1c00ffb"
 +
 +[[package]]
 +name = "uuid"
@@ -1321,15 +1281,15 @@ index 0000000..4430666
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
 +dependencies = [
-+ "getrandom 0.2.2",
++ "getrandom",
 + "serde",
 +]
 +
 +[[package]]
 +name = "version_check"
-+version = "0.9.3"
++version = "0.9.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 +
 +[[package]]
 +name = "walkdir"
@@ -1366,7 +1326,7 @@ index 0000000..4430666
 + "log",
 + "mime",
 + "mime_guess",
-+ "pin-project 0.4.28",
++ "pin-project 0.4.29",
 + "scoped-tls",
 + "serde",
 + "serde_json",
@@ -1380,25 +1340,21 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "wasi"
-+version = "0.9.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-+
-+[[package]]
-+name = "wasi"
 +version = "0.10.2+wasi-snapshot-preview1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
 +
 +[[package]]
 +name = "webdriver"
-+version = "0.43.1"
++version = "0.44.0"
 +dependencies = [
 + "base64 0.12.3",
 + "bytes 0.5.6",
 + "cookie",
 + "http",
 + "log",
++ "once_cell",
++ "regex",
 + "serde",
 + "serde_derive",
 + "serde_json",
@@ -1473,9 +1429,9 @@ index 0000000..4430666
 +
 +[[package]]
 +name = "xml-rs"
-+version = "0.8.3"
++version = "0.8.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a"
++checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
 +
 +[[package]]
 +name = "yaml-rust"
diff --git a/nixpkgs/pkgs/development/tools/geckodriver/default.nix b/nixpkgs/pkgs/development/tools/geckodriver/default.nix
index 25c2dbf3a11c..beb55c21a504 100644
--- a/nixpkgs/pkgs/development/tools/geckodriver/default.nix
+++ b/nixpkgs/pkgs/development/tools/geckodriver/default.nix
@@ -7,22 +7,22 @@
 }:
 
 rustPlatform.buildRustPackage {
-  version = "0.29.1";
+  version = "0.30.0";
   pname = "geckodriver";
   sourceRoot = "source/testing/geckodriver";
 
   # Source revisions are noted alongside the binary releases:
   # https://github.com/mozilla/geckodriver/releases
   src = (fetchzip {
-    url = "https://hg.mozilla.org/mozilla-central/archive/970ef713fe58cbc8a29bfb2fb452a57e010bdb08.zip/testing";
-    sha256 = "0cpx0kx8asqkmz2nyanbmcvhnrsksgd6jp3wlcd0maid3qbyw7s2";
+    url = "https://hg.mozilla.org/mozilla-central/archive/d372710b98a6ce5d1b2a9dffd53a879091c5c148.zip/testing";
+    sha256 = "0d27h9c8vw4rs9c2l9wms4lc931nbp2g5hacsh24zhc9y3v454i6";
   }).overrideAttrs (_: {
     # normally guessed by the url's file extension, force it to unpack properly
     unpackCmd = "unzip $curSrc";
   });
 
   cargoPatches = [ ./cargo-lock.patch ];
-  cargoSha256 = "1vajlcpyk77v6nvhs737yi8hs7ids9kz0sbwy29rm1vmmfjp2b27";
+  cargoSha256 = "08zcrhrmxh3c3iwd7kbnr19lfisikb779i2r7ir7b1i1ynmi4v6r";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/nixpkgs/pkgs/development/tools/ginkgo/default.nix b/nixpkgs/pkgs/development/tools/ginkgo/default.nix
index b7aa02eec01d..6719d7103921 100644
--- a/nixpkgs/pkgs/development/tools/ginkgo/default.nix
+++ b/nixpkgs/pkgs/development/tools/ginkgo/default.nix
@@ -2,21 +2,36 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "1.16.5";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-v2JcH2jqB7ffF0mS6aOHM3bODf9eyGwmigp4kfCxBsI=";
+    sha256 = "sha256-q+m1NDl9zd6ueyBTzbzlvHIQyoIul5dAfUQ6UK4wlrc=";
   };
-  vendorSha256 = "sha256-tS8YCGVOsfQp02vY6brmE3pxi70GG9DYcp1JDkcVG9Y=";
-  doCheck = false;
+  vendorSha256 = "sha256-kMQ60HdsorZU27qoOY52DpwFwP+Br2bp8mRx+ZwnQlI=";
+
+  # 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/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile b/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile
index 5db8cdb73488..13106b879db9 100644
--- a/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile
+++ b/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "github_changelog_generator", "1.14.3"
+gem "github_changelog_generator", "1.16.4"
diff --git a/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile.lock b/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile.lock
index d1f67ddd4747..726ef5ae7bbe 100644
--- a/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile.lock
+++ b/nixpkgs/pkgs/development/tools/github-changelog-generator/Gemfile.lock
@@ -1,49 +1,101 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (5.2.2)
+    activesupport (7.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
-    addressable (2.5.2)
-      public_suffix (>= 2.0.2, < 4.0)
-    concurrent-ruby (1.1.4)
-    faraday (0.15.4)
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      tzinfo (~> 2.0)
+    addressable (2.8.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    async (1.30.1)
+      console (~> 1.10)
+      nio4r (~> 2.3)
+      timers (~> 4.1)
+    async-http (0.56.5)
+      async (>= 1.25)
+      async-io (>= 1.28)
+      async-pool (>= 0.2)
+      protocol-http (~> 0.22.0)
+      protocol-http1 (~> 0.14.0)
+      protocol-http2 (~> 0.14.0)
+    async-http-faraday (0.11.0)
+      async-http (~> 0.42)
+      faraday
+    async-io (1.32.2)
+      async
+    async-pool (0.3.9)
+      async (>= 1.25)
+    concurrent-ruby (1.1.9)
+    console (1.14.0)
+      fiber-local
+    faraday (1.9.3)
+      faraday-em_http (~> 1.0)
+      faraday-em_synchrony (~> 1.0)
+      faraday-excon (~> 1.1)
+      faraday-httpclient (~> 1.0)
+      faraday-multipart (~> 1.0)
+      faraday-net_http (~> 1.0)
+      faraday-net_http_persistent (~> 1.0)
+      faraday-patron (~> 1.0)
+      faraday-rack (~> 1.0)
+      faraday-retry (~> 1.0)
+      ruby2_keywords (>= 0.0.4)
+    faraday-em_http (1.0.0)
+    faraday-em_synchrony (1.0.0)
+    faraday-excon (1.1.0)
+    faraday-http-cache (2.2.0)
+      faraday (>= 0.8)
+    faraday-httpclient (1.0.1)
+    faraday-multipart (1.0.3)
       multipart-post (>= 1.2, < 3)
-    faraday-http-cache (2.0.0)
-      faraday (~> 0.8)
-    github_changelog_generator (1.14.3)
+    faraday-net_http (1.0.1)
+    faraday-net_http_persistent (1.2.0)
+    faraday-patron (1.0.0)
+    faraday-rack (1.0.0)
+    faraday-retry (1.0.3)
+    fiber-local (1.0.0)
+    github_changelog_generator (1.16.4)
       activesupport
+      async (>= 1.25.0)
+      async-http-faraday
       faraday-http-cache
       multi_json
       octokit (~> 4.6)
-      rainbow (>= 2.1)
+      rainbow (>= 2.2.1)
       rake (>= 10.0)
-      retriable (~> 2.1)
-    i18n (1.2.0)
+    i18n (1.8.11)
       concurrent-ruby (~> 1.0)
-    minitest (5.11.3)
-    multi_json (1.13.1)
-    multipart-post (2.0.0)
-    octokit (4.13.0)
+    minitest (5.15.0)
+    multi_json (1.15.0)
+    multipart-post (2.1.1)
+    nio4r (2.5.8)
+    octokit (4.22.0)
+      faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
-    public_suffix (3.0.3)
-    rainbow (3.0.0)
-    rake (12.3.2)
-    retriable (2.1.0)
-    sawyer (0.8.1)
-      addressable (>= 2.3.5, < 2.6)
-      faraday (~> 0.8, < 1.0)
-    thread_safe (0.3.6)
-    tzinfo (1.2.5)
-      thread_safe (~> 0.1)
+    protocol-hpack (1.4.2)
+    protocol-http (0.22.5)
+    protocol-http1 (0.14.2)
+      protocol-http (~> 0.22)
+    protocol-http2 (0.14.2)
+      protocol-hpack (~> 1.4)
+      protocol-http (~> 0.18)
+    public_suffix (4.0.6)
+    rainbow (3.1.1)
+    rake (13.0.6)
+    ruby2_keywords (0.0.5)
+    sawyer (0.8.2)
+      addressable (>= 2.3.5)
+      faraday (> 0.8, < 2.0)
+    timers (4.3.3)
+    tzinfo (2.0.4)
+      concurrent-ruby (~> 1.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  github_changelog_generator (= 1.14.3)
+  github_changelog_generator (= 1.16.4)
 
 BUNDLED WITH
    2.1.4
diff --git a/nixpkgs/pkgs/development/tools/github-changelog-generator/gemset.nix b/nixpkgs/pkgs/development/tools/github-changelog-generator/gemset.nix
index 173ee55b6e7c..3a68811b0f7b 100644
--- a/nixpkgs/pkgs/development/tools/github-changelog-generator/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/github-changelog-generator/gemset.nix
@@ -1,155 +1,420 @@
 {
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iya7vxqwxysr74s7b4z1x19gmnx5advimzip3cbmsd5bd43wfgz";
+      sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6";
       type = "gem";
     };
-    version = "5.2.2";
+    version = "7.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
+      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "2.8.0";
+  };
+  async = {
+    dependencies = ["console" "nio4r" "timers"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mdv66xn5xjyaidyrp66mfnx7d4habkbfmx9y57k75h5q6fd2b65";
+      type = "gem";
+    };
+    version = "1.30.1";
+  };
+  async-http = {
+    dependencies = ["async" "async-io" "async-pool" "protocol-http" "protocol-http1" "protocol-http2"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v3451bnn7rhgvl6ng0ys0dgm7cmyi3m41kmf5wyrpb83dhds13l";
+      type = "gem";
+    };
+    version = "0.56.5";
+  };
+  async-http-faraday = {
+    dependencies = ["async-http" "faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ndynkfknabv6m9wzcmdnj4r4bhlxqkg9c6rzsjc1pk8q057kslv";
+      type = "gem";
+    };
+    version = "0.11.0";
+  };
+  async-io = {
+    dependencies = ["async"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10l9m0x2ffvsaaxc4mfalrljjx13njkyir9w6yfif8wpszc291h8";
+      type = "gem";
+    };
+    version = "1.32.2";
+  };
+  async-pool = {
+    dependencies = ["async"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02r6cyvralcv2yn1jj0plxynwr7rvxym13vlxd2wxk1bymfq9fd9";
+      type = "gem";
+    };
+    version = "0.3.9";
   };
   concurrent-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      type = "gem";
+    };
+    version = "1.1.9";
+  };
+  console = {
+    dependencies = ["fiber-local"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1";
+      sha256 = "13ylq7x9zk79r79pssnjvby14shcyamwcbap842p9gvmkf7xblmr";
       type = "gem";
     };
-    version = "1.1.4";
+    version = "1.14.0";
   };
   faraday = {
-    dependencies = ["multipart-post"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
+      type = "gem";
+    };
+    version = "1.9.3";
+  };
+  faraday-em_http = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "1.0.0";
+  };
+  faraday-em_synchrony = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-excon = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
+      type = "gem";
+    };
+    version = "1.1.0";
   };
   faraday-http-cache = {
     dependencies = ["faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
+  faraday-httpclient = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08j86fgcwl7z792qyijdsq680arzpfiydqd24ja405z2rbm7r2i0";
+      sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.0.1";
+  };
+  faraday-multipart = {
+    dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  faraday-net_http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  faraday-net_http_persistent = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
+  faraday-patron = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-rack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-retry = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  fiber-local = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vrxxb09fc7aicb9zb0pmn5akggjy21dmxkdl3w949y4q05rldr9";
+      type = "gem";
+    };
+    version = "1.0.0";
   };
   github_changelog_generator = {
-    dependencies = ["activesupport" "faraday-http-cache" "multi_json" "octokit" "rainbow" "rake" "retriable"];
+    dependencies = ["activesupport" "async" "async-http-faraday" "faraday-http-cache" "multi_json" "octokit" "rainbow" "rake"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ylqfmc78i6jf42ydkyng0gzvsl5w80wr3rjkhd6q4kgi96n70lr";
+      sha256 = "04d6z2ysq3gzvpw91lq8mxmdlqcxkmvp8rw9zrzkmksh3pjdzli1";
       type = "gem";
     };
-    version = "1.14.3";
+    version = "1.16.4";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr";
+      sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.8.11";
   };
   minitest = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.15.0";
   };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.15.0";
   };
   multipart-post = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
+      type = "gem";
+    };
+    version = "2.1.1";
+  };
+  nio4r = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
+      sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.5.8";
   };
   octokit = {
-    dependencies = ["sawyer"];
+    dependencies = ["faraday" "sawyer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nmdd7klyinvrrv2mggwwmc99ykaq7i379j00i37hvvaqx4giifj";
+      type = "gem";
+    };
+    version = "4.22.0";
+  };
+  protocol-hpack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sd85am1hj2w7z5hv19wy1nbisxfr1vqx3wlxjfz9xy7x7s6aczw";
+      type = "gem";
+    };
+    version = "1.4.2";
+  };
+  protocol-http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lhg47b3w1d6pdwdkyha8ijzfhjrh90snwydkhwfnl5r10dd9cg5";
+      type = "gem";
+    };
+    version = "0.22.5";
+  };
+  protocol-http1 = {
+    dependencies = ["protocol-http"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yh0yzzqg575ix3y2l2261b9ag82gv2v4f1wczdhcmfbxcz755x6";
+      sha256 = "0z56p7zqbyvwlrsbs19knny4v9f7ycsgblhv50ar8wgyifvsddf6";
       type = "gem";
     };
-    version = "4.13.0";
+    version = "0.14.2";
+  };
+  protocol-http2 = {
+    dependencies = ["protocol-hpack" "protocol-http"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1a9klpfmi7w465zq5xz8y8h1qvj42hkm0qd0nlws9d2idd767q5j";
+      type = "gem";
+    };
+    version = "0.14.2";
   };
   public_suffix = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
+      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "4.0.6";
   };
   rainbow = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+      sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.1.1";
   };
   rake = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
       type = "gem";
     };
-    version = "12.3.2";
+    version = "13.0.6";
   };
-  retriable = {
+  ruby2_keywords = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1123kqmy3yk7k3vidvcwa46lknmhilv8axpaiag1wifa576hkqy1";
+      sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "0.0.5";
   };
   sawyer = {
     dependencies = ["addressable" "faraday"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd";
+      sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "0.8.2";
   };
-  thread_safe = {
+  timers = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      sha256 = "00xdi97gm01alfqhjgvv5sff9n1n2l6aym69s9jh8l9clg63b0jc";
       type = "gem";
     };
-    version = "0.3.6";
+    version = "4.3.3";
   };
   tzinfo = {
-    dependencies = ["thread_safe"];
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
+      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
       type = "gem";
     };
-    version = "1.2.5";
+    version = "2.0.4";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/github/bump/default.nix b/nixpkgs/pkgs/development/tools/github/bump/default.nix
index 3531926e4bc4..cba623dec790 100644
--- a/nixpkgs/pkgs/development/tools/github/bump/default.nix
+++ b/nixpkgs/pkgs/development/tools/github/bump/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bump";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "mroth";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0092jn7nxnr64fyb2yy9amrd8gl7q9p70a2yq9jrgr1pyrlrazbq";
+    sha256 = "sha256-tgTG/QlDxX1Ns0WpcNjwr/tvsdtgap7RcxX/JuYcxw8=";
   };
 
-  vendorSha256 = "0w5sqg1ii4vp7iijs6ffbskkj2xqggbr40j6wxrjrbjr1qisl8r1";
+  vendorSha256 = "sha256-ZeKokW6jMiKrXLfnxwEBF+wLuFQufnPUnA/EnuhvrwI=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix b/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix
index 086cd5d05a5d..4aefc02e152b 100644
--- a/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-containerregistry/default.nix
@@ -37,7 +37,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Tools for interacting with remote images and registries including crane and gcrane";
     homepage = "https://github.com/google/go-containerregistry";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ yurrriq ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/go-swag/default.nix b/nixpkgs/pkgs/development/tools/go-swag/default.nix
index 0a0eb41d6131..967fbb625a6e 100644
--- a/nixpkgs/pkgs/development/tools/go-swag/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-swag/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-swag";
-  version = "1.6.7";
+  version = "1.7.9-p1";
 
   src = fetchFromGitHub {
     owner = "swaggo";
     repo = "swag";
-    rev = "df209afeed2334a97c83aff34ea7abcad85c31f6";
-    sha256 = "17pmcfkcmgjvs4drs0fyhp2m39gw83s0ck3rdzdkgdhrbhva9ksx";
+    rev = "v${version}";
+    sha256 = "sha256-JzPCNUoO3biNJLYKLkyJvVG/L7pqWBthtBuZL+Lc21U=";
   };
 
-  vendorSha256 = "1i2n2sz2hc89nf2fqfq3swldz0xwrnms4j9q0lrss5gm3bk49q7f";
+  vendorSha256 = "sha256-QphjiJSQRULphWjrJ8RzrUblTDYL/fYoSNT3+g0tP48=";
 
   subPackages = [ "cmd/swag" ];
 
diff --git a/nixpkgs/pkgs/development/tools/go-swagger/default.nix b/nixpkgs/pkgs/development/tools/go-swagger/default.nix
index 06ae29938198..f96683322443 100644
--- a/nixpkgs/pkgs/development/tools/go-swagger/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-swagger/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-swagger";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "go-swagger";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Bw84HQxrI8cSBEM1cxXmWCPqKZa5oGsob2iuUsiAZ+A=";
+    sha256 = "sha256-sahInHXv1GtylsY8kpw1dDjKiENmq4myx+7mq60vJAI=";
   };
 
-  vendorSha256 = "sha256-ZNRJZQ7DwT/+scsbSud/IpSX06veOtJ5Aszj0RbS870=";
+  vendorSha256 = "sha256-KLV6ABo1K+KtAzAQ4FcFiK1LAZEsKup+BtgjRJfonAY=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/go-task/default.nix b/nixpkgs/pkgs/development/tools/go-task/default.nix
index 822633982c87..05ffe14dd4de 100644
--- a/nixpkgs/pkgs/development/tools/go-task/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-task/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.9.2";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "v${version}";
-    sha256 = "sha256-nlIgX7TV3bWi8vaYQ9kXmNzGlVLgRUDNkNApwrAw3EQ=";
+    sha256 = "sha256-E0wMFdLK8lA8oluFQuq7hPMWh4t6OsoJ14d7ErDjAdA=";
   };
 
-  vendorSha256 = "sha256-Dmn3LJ+TBO/F3N5lgrNXXrFJ5KTp6r45ZwU11LxvQSg=";
+  vendorSha256 = "sha256-ClMvbxDKwwoVUC9+AJPZfBxJ26KKuLueUn9Nz/gh4Fs=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/gocode-gomod/default.nix b/nixpkgs/pkgs/development/tools/gocode-gomod/default.nix
index f610b19d79b9..fca346b78c42 100644
--- a/nixpkgs/pkgs/development/tools/gocode-gomod/default.nix
+++ b/nixpkgs/pkgs/development/tools/gocode-gomod/default.nix
@@ -24,6 +24,8 @@ buildGoModule rec {
     mv $out/bin/gocode $out/bin/gocode-gomod
   '';
 
+  doCheck = false; # fails on go 1.17
+
   meta = with lib; {
     description = "An autocompletion daemon for the Go programming language";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/tools/gocyclo/default.nix b/nixpkgs/pkgs/development/tools/gocyclo/default.nix
index d11cf609328d..096af41ba90d 100644
--- a/nixpkgs/pkgs/development/tools/gocyclo/default.nix
+++ b/nixpkgs/pkgs/development/tools/gocyclo/default.nix
@@ -1,28 +1,25 @@
-{ buildGoPackage
+{ buildGoModule
 , lib
 , fetchFromGitHub
 }:
 
-buildGoPackage rec {
-  pname = "gocyclo-unstable";
-  version = "2015-02-08";
-  rev = "aa8f8b160214d8dfccfe3e17e578dd0fcc6fede7";
-
-  goPackagePath = "github.com/alecthomas/gocyclo";
+buildGoModule rec {
+  pname = "gocyclo";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
-    inherit rev;
-
-    owner = "alecthomas";
+    owner = "fzipp";
     repo = "gocyclo";
-    sha256 = "094rj97q38j53lmn2scshrg8kws8c542yq5apih1ahm9wdkv8pxr";
+    rev = "v${version}";
+    sha256 = "1s9m5m5p76wcxi5n4diz891kd5db4ll21fsh9fnvvf9w7yrmgdw2";
   };
 
+  vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+
   meta = with lib; {
     description = "Calculate cyclomatic complexities of functions in Go source code";
-    homepage = "https://github.com/alecthomas/gocyclo";
+    homepage = "https://github.com/fzipp/gocyclo";
     license = licenses.bsd3;
     maintainers = with maintainers; [ kalbasit ];
-    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/godot/default.nix b/nixpkgs/pkgs/development/tools/godot/default.nix
index e72ea1138428..1860b864fd52 100644
--- a/nixpkgs/pkgs/development/tools/godot/default.nix
+++ b/nixpkgs/pkgs/development/tools/godot/default.nix
@@ -31,13 +31,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "godot";
-  version = "3.4";
+  version = "3.4.2";
 
   src = fetchFromGitHub {
     owner = "godotengine";
     repo = "godot";
     rev = "${version}-stable";
-    sha256 = "0y542zla6msgxf31rd0349d9j3ya7f3njnwmmrh8lmzfgxx86qbx";
+    sha256 = "sha256-RVXBFTHiI2yAkXWlHNa/jL8svQgqtsml6RuykhL1qa4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/tools/gofumpt/default.nix b/nixpkgs/pkgs/development/tools/gofumpt/default.nix
index 051e9207aa5a..b807006369e5 100644
--- a/nixpkgs/pkgs/development/tools/gofumpt/default.nix
+++ b/nixpkgs/pkgs/development/tools/gofumpt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gofumpt";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Kgj3f90bAtaVl4mby6FQr4t4BT4I3QLtHhvO10f1BOk=";
+    sha256 = "sha256-NkflJwFdVcFTjXkDr8qqAFUlKwGNPTso6hvu7Vikn2U=";
   };
 
-  vendorSha256 = "sha256-gxxK2eUmYUqHjt8HP6OANaHsO43wCaodUDR4BlMY8Zw=";
+  vendorSha256 = "sha256-RZPfdj+rimKGvRZKaXOirkd7ietri55rBofwa/l2z8s=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/gokart/default.nix b/nixpkgs/pkgs/development/tools/gokart/default.nix
index 7722e0b36afe..f7d0857580ef 100644
--- a/nixpkgs/pkgs/development/tools/gokart/default.nix
+++ b/nixpkgs/pkgs/development/tools/gokart/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gokart";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "praetorian-inc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iXdPQkKTRE2BE2yG2KKThpj7HrxXWwBFv2TobEwGLQQ=";
+    sha256 = "sha256-HsjLNY5Z5UidsLDWSP+1bu3jrfn3oAERPrPV/AkTH8I=";
   };
 
-  vendorSha256 = "0l5aj7j9m412bgm9n553m2sh9fy9dpzd0bi3qn21gj7bfdcpagnd";
+  vendorSha256 = "sha256-S3RukCKAJnPH1KGVdnkgAJQKEDTZYpcMMdoQ4OnHZVg=";
 
   # Would need files to scan which are not shipped by the project
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
index a142d9a9d9bf..6334c00fc0bb 100644
--- a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
+++ b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.43.0";
+  version = "1.44.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-8aIKFLP1x9B5IMuyQ12LLIq79of4XwCdmDwae4T5MPg=";
+    sha256 = "sha256-RMZZLvCJcTMzHOzUfT6aEC21T5dCwu1YOUuQ9PLS3fc=";
   };
 
-  vendorSha256 = "sha256-Mxy9VFBwcxyQtnhwuOFWK+0y0pQQDdqtoj0e2UXEo5k=";
+  vendorSha256 = "sha256-X2hZ4BQgYHI1mx/Ywky0oo7IMtrppu+rLq2LRLPH3fY=";
 
   doCheck = false;
 
@@ -24,7 +24,7 @@ buildGoModule rec {
   ];
 
   postInstall = ''
-    for shell in bash zsh; do
+    for shell in bash zsh fish; do
       HOME=$TMPDIR $out/bin/golangci-lint completion $shell > golangci-lint.$shell
       installShellCompletion golangci-lint.$shell
     done
diff --git a/nixpkgs/pkgs/development/tools/google-java-format/default.nix b/nixpkgs/pkgs/development/tools/google-java-format/default.nix
index 2fa6f23be0ef..35a7d7e71995 100644
--- a/nixpkgs/pkgs/development/tools/google-java-format/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/gopls/default.nix b/nixpkgs/pkgs/development/tools/gopls/default.nix
index efbe65799f52..ae813c0f6ee9 100644
--- a/nixpkgs/pkgs/development/tools/gopls/default.nix
+++ b/nixpkgs/pkgs/development/tools/gopls/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gopls";
-  version = "0.7.4";
+  version = "0.7.5";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "gopls/v${version}";
-    sha256 = "sha256-tpJkEq3TuEiJ4bChlWXi2241WMcZjChEt1hV1G+h8f8=";
+    sha256 = "sha256-2+tbwFkT3Z2dfYCs1Fd/9IqD39VuTMGHQ43b7gBBktM=";
   };
 
   modRoot = "gopls";
-  vendorSha256 = "sha256-MEL3VRHPSf1Im09Hw+GX+3J3UGt7j29V4kxzoiWhqfk=";
+  vendorSha256 = "sha256-8osb5C5G58x9KWCxqiepmN6J0jp+q6aR+As/pJeeTKM=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/gosec/default.nix b/nixpkgs/pkgs/development/tools/gosec/default.nix
index baadebe53a07..a7eb80366c4c 100644
--- a/nixpkgs/pkgs/development/tools/gosec/default.nix
+++ b/nixpkgs/pkgs/development/tools/gosec/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gosec";
-  version = "2.9.5";
+  version = "2.9.6";
 
   src = fetchFromGitHub {
     owner = "securego";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YXAUDICQhZFeafP/wezd+dLpXpd7waz3wUCVCwVb12I=";
+    sha256 = "sha256-eDzLVoOPYm8WG07dfi6s+xtBliCwf1LXoHxQ10YWs1A=";
   };
 
-  vendorSha256 = "sha256-Mob8XxTALtuG9q7gMWKvp1k2cUDKI0QHAeXfQK47NDo=";
+  vendorSha256 = "sha256-ELfbdrMMeK6ZG+hnibhHNB+k/Zvkepl+cbUx+E/Dvr8=";
 
   subPackages = [
     "cmd/gosec"
diff --git a/nixpkgs/pkgs/development/tools/gotests/default.nix b/nixpkgs/pkgs/development/tools/gotests/default.nix
index faa2e60aca40..d0d5025b31a4 100644
--- a/nixpkgs/pkgs/development/tools/gotests/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/gotests/deps.nix b/nixpkgs/pkgs/development/tools/gotests/deps.nix
deleted file mode 100644
index df411303d944..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/tools/gron/default.nix b/nixpkgs/pkgs/development/tools/gron/default.nix
index b8242cc3cd87..a5247a3f80da 100644
--- a/nixpkgs/pkgs/development/tools/gron/default.nix
+++ b/nixpkgs/pkgs/development/tools/gron/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     })
   ];
 
-  vendorSha256 = "0va88c3rjlc2nbpqx4ila36rwrx57wcdhig4jp9q58vv4zqc2yxy";
+  vendorSha256 = "sha256-Evn5R/LzripRgG0zOVP/DJrtjwNRwgKapsRdtZaZhlU=";
 
   meta = with lib; {
     description = "Make JSON greppable!";
diff --git a/nixpkgs/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix b/nixpkgs/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix
index 890ea6cef616..6ac6605797eb 100644
--- a/nixpkgs/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix
+++ b/nixpkgs/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix
@@ -3,11 +3,11 @@
 }:
 mkDerivation {
   pname = "dconf2nix";
-  version = "0.0.10";
+  version = "0.0.11";
   src = fetchgit {
     url = "https://github.com/gvolpe/dconf2nix.git";
-    sha256 = "0ddjgd97nhcbdkry3668mnjb0kbkklzab7zr12km3p8fv99xzva4";
-    rev = "629faff2deb6a1131c67e241b688000f859dac48";
+    sha256 = "1kv88bxi7l5kcm66m5y85b8fz1zsdshvw37k715g2biwa0an5s6f";
+    rev = "fe7e3d973caa87b1b706096aff3d670f65e39fda";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
index 9f67317d71f0..8c8f016510f2 100644
--- a/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
+++ b/nixpkgs/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
@@ -1,5 +1,11 @@
-{ lib, supportedGhcVersions ? [ "884" "8107" "901" ], stdenv, haskellPackages
-, haskell }:
+{ lib
+, stdenv
+, supportedGhcVersions ? [ "884" "8107" "902" ]
+    ++ lib.optionals (!stdenv.hostPlatform.isAarch64) [ "921" ]
+, dynamic ? false
+, haskellPackages
+, haskell
+}:
 #
 # The recommended way to override this package is
 #
@@ -8,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/nixpkgs/pkgs/development/tools/haskell/hyper-haskell/server.nix b/nixpkgs/pkgs/development/tools/haskell/hyper-haskell/server.nix
index 47a9c550fa8b..b8e5aa281eaa 100644
--- a/nixpkgs/pkgs/development/tools/haskell/hyper-haskell/server.nix
+++ b/nixpkgs/pkgs/development/tools/haskell/hyper-haskell/server.nix
@@ -3,7 +3,8 @@
 let
 hyperHaskellEnv = ghcWithPackages (self: [ self.hyper-haskell-server ] ++ packages self);
 in stdenv.mkDerivation {
-  name = "hyper-haskell-server-with-packages-${hyperHaskellEnv.version}";
+  pname = "hyper-haskell-server-with-packages";
+  version = hyperHaskellEnv.version;
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/development/tools/heroku/default.nix b/nixpkgs/pkgs/development/tools/heroku/default.nix
index 205cf4e33db5..bf212008789a 100644
--- a/nixpkgs/pkgs/development/tools/heroku/default.nix
+++ b/nixpkgs/pkgs/development/tools/heroku/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "heroku";
-  version = "7.59.0";
+  version = "7.59.2";
 
   src = fetchurl {
     url = "https://cli-assets.heroku.com/heroku-v${version}/heroku-v${version}.tar.xz";
-    sha256 = "0whkm8xi918m4y0wjdbma42kl4cc6chakjn5chi75aqd5y3qanpp";
+    sha256 = "dbb69d4b5df99ff47ed0f6f1f58d968b3b144b13deee1b33c82fef7ef4006903";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/htmlq/default.nix b/nixpkgs/pkgs/development/tools/htmlq/default.nix
index 165b7cd07007..1adcaf954d04 100644
--- a/nixpkgs/pkgs/development/tools/htmlq/default.nix
+++ b/nixpkgs/pkgs/development/tools/htmlq/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "htmlq";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "mgdm";
     repo = "htmlq";
     rev = "v${version}";
-    sha256 = "sha256-pTw+dsbbFwrPIxCimMsYfyAF2zVeudebxVtMQV1cJnE=";
+    sha256 = "sha256-kZtK2QuefzfxxuE1NjXphR7otr+RYfMif/RSpR6TxY0=";
   };
 
-  cargoSha256 = "sha256-jeoSA7w2bk0R3L+/FDn/b+ddTCqY8zFr/2GCxI7OCzM=";
+  cargoSha256 = "sha256-r9EnQQPGpPIcNYb1eqGrMnRdh0snIa5iVsTYTI+YErY=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/development/tools/java/sawjap/default.nix b/nixpkgs/pkgs/development/tools/java/sawjap/default.nix
index 13532c48d401..b4c682bbd220 100644
--- a/nixpkgs/pkgs/development/tools/java/sawjap/default.nix
+++ b/nixpkgs/pkgs/development/tools/java/sawjap/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
 
   inherit (sawja) src version;
 
-  sourceRoot = "source/test";
+  prePatch = "cd test";
 
   buildInputs = [ ocaml findlib sawja ];
 
diff --git a/nixpkgs/pkgs/development/tools/java/visualvm/default.nix b/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
index b9020f2cc0ed..7f89961f9f80 100644
--- a/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
+++ b/nixpkgs/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.1";
+  version = "2.1.2";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "sha256-LXMPdzIOFPzFUx3uufx+2UeJ6mg/9kJXGews4KU3rrU=";
+    sha256 = "sha256-khbXzdsC0PA10HEu/dIFQ87+QbKpctmTUTt/zEuxV6c=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/nixpkgs/pkgs/development/tools/jd-diff-patch/default.nix b/nixpkgs/pkgs/development/tools/jd-diff-patch/default.nix
index dae3cbea3e3d..96fd79d62fc6 100644
--- a/nixpkgs/pkgs/development/tools/jd-diff-patch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/jfmt/default.nix b/nixpkgs/pkgs/development/tools/jfmt/default.nix
new file mode 100644
index 000000000000..cf1292b4b121
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/jless/default.nix b/nixpkgs/pkgs/development/tools/jless/default.nix
new file mode 100644
index 000000000000..f18f3f556c58
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/jo/default.nix b/nixpkgs/pkgs/development/tools/jo/default.nix
index 653867956ff1..8ec8deaefe00 100644
--- a/nixpkgs/pkgs/development/tools/jo/default.nix
+++ b/nixpkgs/pkgs/development/tools/jo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jo";
-  version = "1.4";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner  = "jpmens";
     repo = "jo";
     rev = version;
-    sha256 ="1jnv3g38vaa66m83hqibyki31ii81xfpvjw6wgdv18ci3iwvsz3v";
+    sha256 ="sha256-aATCeJV0x+XHOQbwulutxivPzGVQ0mJj90vA+6IM124=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/tools/jpexs/default.nix b/nixpkgs/pkgs/development/tools/jpexs/default.nix
index 5c3e2046bdb4..37d1cf7dc2e4 100644
--- a/nixpkgs/pkgs/development/tools/jpexs/default.nix
+++ b/nixpkgs/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;
   };
 
diff --git a/nixpkgs/pkgs/development/tools/jq/default.nix b/nixpkgs/pkgs/development/tools/jq/default.nix
index f18d09bf7d0e..5671f5dbe641 100644
--- a/nixpkgs/pkgs/development/tools/jq/default.nix
+++ b/nixpkgs/pkgs/development/tools/jq/default.nix
@@ -72,6 +72,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin globin ];
     platforms = platforms.unix;
     downloadPage = "https://stedolan.github.io/jq/download/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/jql/default.nix b/nixpkgs/pkgs/development/tools/jql/default.nix
index a36dba966045..7af7e36b223f 100644
--- a/nixpkgs/pkgs/development/tools/jql/default.nix
+++ b/nixpkgs/pkgs/development/tools/jql/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jql";
-  version = "3.0.4";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SU8byylr/Rv4lDWkt9+U4UvgCM5kYZeRsTk+hdz0y8w=";
+    sha256 = "sha256-mFTJJCoC5nxo5ugJdi+MmssV70yKrQQsH+a+K7hTyS8=";
   };
 
-  cargoSha256 = "sha256-snc5QSaxbnXo6FOceqYucjN+ECo+RonejXda9Fvgggc=";
+  cargoSha256 = "sha256-aclfFy2tQL57EaIsg1e30JCF5nX2Cm/MaxeSPtR/Uas=";
 
   meta = with lib; {
     description = "A JSON Query Language CLI tool built with Rust";
diff --git a/nixpkgs/pkgs/development/tools/just/default.nix b/nixpkgs/pkgs/development/tools/just/default.nix
index 79c726c27964..59b61135fae6 100644
--- a/nixpkgs/pkgs/development/tools/just/default.nix
+++ b/nixpkgs/pkgs/development/tools/just/default.nix
@@ -2,15 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "0.10.5";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PbWV8It/ubDbZooJdt/KWihnp221Pexs0U6zMa8KSMw=";
+    sha256 = "sha256-9lC3vegfxEACoX25ebcLQU453IYy1zQf1K84YyLEnlU=";
   };
-  cargoSha256 = "sha256-VRfk6566SNmvCxtD9EdDxDdBvQuEfjPVggXzt4VoYRg=";
+
+  cargoSha256 = "sha256-cTAbAnSqvrc6e9NtbiV7caj1JnQReWMUhCQoFXZ7Nbs=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/nixpkgs/pkgs/development/tools/k6/default.nix b/nixpkgs/pkgs/development/tools/k6/default.nix
index 82ae89a699e3..d50062e4bdbb 100644
--- a/nixpkgs/pkgs/development/tools/k6/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/kcli/default.nix b/nixpkgs/pkgs/development/tools/kcli/default.nix
index 9cd1c976162f..8f0aecba34d7 100644
--- a/nixpkgs/pkgs/development/tools/kcli/default.nix
+++ b/nixpkgs/pkgs/development/tools/kcli/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "0whijr2r2j5bvfy8jgmpxsa0zvwk5kfjlpnkw4za5k35q7bjffls";
   };
 
-  vendorSha256 = "0whqrms5mc7v14p2h1jfvkawm30xaylivijlsghrsaq468qcgg15";
+  vendorSha256 = "0zj2hls8m0l9xsfv680wiwq1g2qjdjslv2yx3yd4rzxdsv2wz09a";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/ko/default.nix b/nixpkgs/pkgs/development/tools/ko/default.nix
index ab206a090bb1..a7562429db59 100644
--- a/nixpkgs/pkgs/development/tools/ko/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/konstraint/default.nix b/nixpkgs/pkgs/development/tools/konstraint/default.nix
index 341df436e294..d83f6db701a8 100644
--- a/nixpkgs/pkgs/development/tools/konstraint/default.nix
+++ b/nixpkgs/pkgs/development/tools/konstraint/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.15.1";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vt8/hYsThBoAxMglF8pjdVphmkbHXsuzaHFJhnGXdU4=";
+    sha256 = "sha256-UHdmC6UoDxl/GfvUOmuBctPpxIYljOurnm1J3eEPFHA=";
   };
-  vendorSha256 = "sha256-3m+mN90Edb/yMgVmkokRQrDM2EdB7cb2opL0QZJ8L+U=";
+  vendorSha256 = "sha256-UssvmmZhq+SO3cPpZi3Diji7tIxrpyhqNIBajqzRjh8=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
diff --git a/nixpkgs/pkgs/development/tools/krew/default.nix b/nixpkgs/pkgs/development/tools/krew/default.nix
index 69efbb3d209b..78e9f91b3af8 100644
--- a/nixpkgs/pkgs/development/tools/krew/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ktlint/default.nix b/nixpkgs/pkgs/development/tools/ktlint/default.nix
index 21ab6ddf188f..73fdb3dff8f2 100644
--- a/nixpkgs/pkgs/development/tools/ktlint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/kube-linter/default.nix b/nixpkgs/pkgs/development/tools/kube-linter/default.nix
new file mode 100644
index 000000000000..1b94b956293d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/kube-linter/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub, testVersion, kube-linter }:
+
+buildGoModule rec {
+  pname = "kube-linter";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "stackrox";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "GUDrUEBorV4/ZqPnfNYcsbW4Zr1LpS3yL+4OgxFbTOk=";
+  };
+
+  vendorSha256 = "xGghTP9thICOGIfc5VPJK06DeXfLiTckwa4nXv83/P8=";
+
+  ldflags = [
+    "-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}"
+  ];
+
+  passthru.tests.version = testVersion {
+    package = kube-linter;
+    command = "kube-linter version";
+  };
+
+  meta = with lib; {
+    description = "A static analysis tool that checks Kubernetes YAML files and Helm charts";
+    homepage = "https://kubelinter.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mtesseract ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/kubepug/default.nix b/nixpkgs/pkgs/development/tools/kubepug/default.nix
index 4795d35e7e6c..82a130181e0c 100644
--- a/nixpkgs/pkgs/development/tools/kubepug/default.nix
+++ b/nixpkgs/pkgs/development/tools/kubepug/default.nix
@@ -2,22 +2,24 @@
 
 buildGoModule rec {
   pname = "kubepug";
-  version = "1.2.2";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "rikatz";
     repo = "kubepug";
     rev = "v${version}";
-    sha256 = "sha256-jQ/LzwxYxfCKiu+2VhjQ3YWwLEqZkYrH7+olBOMUA1A=";
+    sha256 = "sha256-cjL718xTgtYev/lYL24vwZcB+joY3wIY4ixRCwAHQ4E=";
   };
 
-  vendorSha256 = "sha256-P5HoU9AAGFrSrp9iymjW+r8w5L90KUOrmaXM8p+Wn44=";
+  vendorSha256 = "0hynxj3q4aa1gx3w4ak56z6j5iplxi2hzqzsjkgz20fy34nfd41s";
 
   ldflags = [
     "-s" "-w" "-X=github.com/rikatz/kubepug/version.Version=${src.rev}"
   ];
 
-  subPackages = [ "cmd/kubepug.go" ];
+  patches = [
+    ./skip-external-network-tests.patch
+  ];
 
   meta = with lib; {
     description = "Checks a Kubernetes cluster for objects using deprecated API versions";
diff --git a/nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch b/nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch
new file mode 100644
index 000000000000..e24aa01ad175
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch
@@ -0,0 +1,12 @@
+diff --git a/pkg/utils/downloader_test.go b/pkg/utils/downloader_test.go
+index b227760..b72dee9 100644
+--- a/pkg/utils/downloader_test.go
++++ b/pkg/utils/downloader_test.go
+@@ -7,6 +7,7 @@ import (
+ )
+ 
+ func TestDownloadSwaggerFile(t *testing.T) {
++    t.Skipf("Nix sandbox does not have networking")
+ 	var tmpdir string
+ 	// Github actions does not have a temporary dir :/
+ 	tmpdir = os.Getenv("RUNNER_TEMP")
diff --git a/nixpkgs/pkgs/development/tools/kustomize/default.nix b/nixpkgs/pkgs/development/tools/kustomize/default.nix
index f82c20dccf8e..ef258b736c95 100644
--- a/nixpkgs/pkgs/development/tools/kustomize/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/lazygit/default.nix b/nixpkgs/pkgs/development/tools/lazygit/default.nix
index 2e06ed3829a8..1902d9e969c1 100644
--- a/nixpkgs/pkgs/development/tools/lazygit/default.nix
+++ b/nixpkgs/pkgs/development/tools/lazygit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lazygit";
-  version = "0.31.4";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yze4UaSEbyHwHSyj0mM7uCzaDED+p4O3HVVlHJi/FKU=";
+    sha256 = "sha256-ltkBzhlxgNzioSBnlkBu9UtBHZlxFtnYlUhg/+lV0gc=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/tools/libsigrok/default.nix b/nixpkgs/pkgs/development/tools/libsigrok/default.nix
index 9db3df428232..5a11db8b3b94 100644
--- a/nixpkgs/pkgs/development/tools/libsigrok/default.nix
+++ b/nixpkgs/pkgs/development/tools/libsigrok/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, pkg-config, libzip, glib, libusb1, libftdi1, check
-, libserialport, librevisa, doxygen, glibmm, python3
+, libserialport, librevisa, doxygen, glibmm, python
 , version ? "0.5.1", sha256 ? "171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4", doInstallCheck ? true
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "14sd8xqph4kb109g073daiavpadb20fcz7ch1ipn0waz7nlly4sw";
   };
 
-  nativeBuildInputs = [ doxygen pkg-config python3 ];
+  nativeBuildInputs = [ doxygen pkg-config python ];
   buildInputs = [ libzip glib libusb1 libftdi1 check libserialport librevisa glibmm ];
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/md-tangle/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/md-tangle/default.nix
new file mode 100644
index 000000000000..fd895c96c047
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/literate-programming/md-tangle/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonPackage rec {
+  pname = "md-tangle";
+  version = "1.3.1";
+
+  # By some strange reason, fetchPypi fails miserably
+  src = fetchFromGitHub {
+    owner = "joakimmj";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-cUME2AHK/Fva+1TSTE6hNu0SE/V1FOwcSxWF0+iZhS4=";
+  };
+
+  # Pure Python application, uses only standard modules and comes without
+  # testing suite
+  doCheck = false;
+
+  meta = with lib;{
+    homepage = "https://github.com/joakimmj/md-tangle/";
+    description = "Generates (\"tangles\") source code from Markdown documents";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/mani/default.nix b/nixpkgs/pkgs/development/tools/mani/default.nix
index 8cfebb34861e..079e4bf6fedc 100644
--- a/nixpkgs/pkgs/development/tools/mani/default.nix
+++ b/nixpkgs/pkgs/development/tools/mani/default.nix
@@ -2,19 +2,21 @@
 
 buildGoModule rec {
   pname = "mani";
-  version = "0.10.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "alajmo";
     repo = "mani";
     rev = "v${version}";
-    sha256 = "sha256-9rcgPeYFHdIN73K0zGPEHqFFLFkVYkNYRXJ+0/Zo4zI=";
+    sha256 = "sha256-EkoDyVDK+DmwK45qBPwyHegQGsK9B5SQ0zVf1lBYbPE=";
   };
 
-  vendorSha256 = "sha256-ZivzDfjx2djzS0Xm3GISK3zpB5fUUMgy2o4Ti1Z9wMM=";
+  vendorSha256 = "sha256-NnXQAf8m2cGLvwSOzQWXffiG1zyVqDPQnGAeqe7EUHY=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
+  ldflags = [ "-s" "-w" "-X github.com/alajmo/mani/cmd.version=${version}" ];
+
   postInstall = ''
     installShellCompletion --cmd mani \
       --bash <($out/bin/mani completion bash) \
diff --git a/nixpkgs/pkgs/development/tools/mars-mips/default.nix b/nixpkgs/pkgs/development/tools/mars-mips/default.nix
index 6bca1fa64eee..97ffd564c45c 100644
--- a/nixpkgs/pkgs/development/tools/mars-mips/default.nix
+++ b/nixpkgs/pkgs/development/tools/mars-mips/default.nix
@@ -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/nixpkgs/pkgs/development/tools/mask/default.nix b/nixpkgs/pkgs/development/tools/mask/default.nix
index 25ab4ceab5f5..ed1b80787c4e 100644
--- a/nixpkgs/pkgs/development/tools/mask/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/mblock-mlink/default.nix b/nixpkgs/pkgs/development/tools/mblock-mlink/default.nix
new file mode 100644
index 000000000000..f43cc683c320
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/mblock-mlink/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, lib, fetchurl, dpkg, makeWrapper, autoPatchelfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "mblock-mlink";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://dl.makeblock.com/mblock5/linux/mLink-${version}-amd64.deb";
+    sha256 = "sha256-KLxj81ZjbEvhhaz0seNB4WXX5ybeZ7/WcT1dGfdWle0=";
+  };
+
+  unpackPhase = ''
+    ${dpkg}/bin/dpkg -x $src $out
+  '';
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  installPhase = ''
+    mv $out/usr/local/makeblock $out/usr/makeblock
+    rmdir $out/usr/local
+    mkdir -p $out/bin
+    echo $out/usr/makeblock/mLink/mnode $out/usr/makeblock/mLink/app.js > $out/bin/mlink
+    chmod +x $out/bin/mlink
+  '';
+
+  meta = with lib; {
+    description = "Driver for mBlock web version";
+    homepage = "https://mblock.makeblock.com/en-us/download/";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = [ maintainers.mausch ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/metal-cli/default.nix b/nixpkgs/pkgs/development/tools/metal-cli/default.nix
index f88fcd9f4290..a52a2a141c39 100644
--- a/nixpkgs/pkgs/development/tools/metal-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/metal-cli/default.nix
@@ -2,15 +2,19 @@
 
 buildGoModule rec {
   pname = "metal-cli";
-  version = "0.7.0";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "equinix";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Zl0OuyqF+bNsp1AqnS8jhQlY7l4U6OjHHgth7pRPwEc=";
+    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/nixpkgs/pkgs/development/tools/metals/default.nix b/nixpkgs/pkgs/development/tools/metals/default.nix
index a5b8540db45a..3d4eb2c7788f 100644
--- a/nixpkgs/pkgs/development/tools/metals/default.nix
+++ b/nixpkgs/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.10.9";
+  version = "0.11.1";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "sha256-Z0wngo7FP5sHpmPkTwitqTvNL0IEqqWwccy3mZpTIKU=";
+    outputHash     = "sha256-wYIuRTvkPqS4SE5RnkBgmLCwmNv+cYB/iPb9TYip9s0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/astyle/default.nix b/nixpkgs/pkgs/development/tools/misc/astyle/default.nix
index 66e972826cb9..4ce8c1edffd4 100644
--- a/nixpkgs/pkgs/development/tools/misc/astyle/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/astyle/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Source code indenter, formatter, and beautifier for C, C++, C# and Java";
-    homepage = "https://astyle.sourceforge.net/";
+    homepage = "http://astyle.sourceforge.net/";
     license = licenses.lgpl3;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/bin_replace_string/default.nix b/nixpkgs/pkgs/development/tools/misc/bin_replace_string/default.nix
deleted file mode 100644
index a732d6e732c5..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/bin_replace_string/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, libelf, txt2man }:
-
-stdenv.mkDerivation {
-  pname = "bin_replace_string";
-  version = "0.2";
-
-  src = fetchurl {
-    sha256 = "1gnpddxwpsfrg4l76x5yplsvbcdbviybciqpn22yq3g3qgnr5c2a";
-    url = "ftp://ohnopub.net/mirror/bin_replace_string-0.2.tar.bz2";
-  };
-
-  buildInputs = [ libelf ];
-  nativeBuildInputs = [ txt2man ];
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Edit precompiled binaries";
-    longDescription = ''
-      bin_replace_string edits C-style strings in precompiled binaries. This is
-      intended to be useful to replace arbitrary strings in binaries whose
-      source code is not available. However, because of the nature of compiled
-      binaries, bin_replace_string may only replace a given C-string with a
-      shorter C-string.
-    '';
-    homepage = "http://ohnopub.net/~ohnobinki/bin_replace_string/";
-    downloadPage = "ftp://ohnopub.net/mirror/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/CVE-2021-45078.patch b/nixpkgs/pkgs/development/tools/misc/binutils/CVE-2021-45078.patch
new file mode 100644
index 000000000000..af1c95fac806
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/CVE-2021-45078.patch
@@ -0,0 +1,239 @@
+based on upstream https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=161e87d12167b1e36193385485c1f6ce92f74f02;hp=d5c94731766bf4f276146fd29c1df8eebc2aaf69
+
+adapted by ris to apply to 2.35.2 (simply capitalizing booleans)
+
+diff --git a/binutils/stabs.c b/binutils/stabs.c
+index 274bfb0e7fa..83ee3ea5fa4 100644
+--- a/binutils/stabs.c
++++ b/binutils/stabs.c
+@@ -202,7 +202,7 @@ static debug_type stab_find_type (void *, struct stab_handle *, const int *);
+ static bool stab_record_type
+   (void *, struct stab_handle *, const int *, debug_type);
+ static debug_type stab_xcoff_builtin_type
+-  (void *, struct stab_handle *, int);
++  (void *, struct stab_handle *, unsigned int);
+ static debug_type stab_find_tagged_type
+   (void *, struct stab_handle *, const char *, int, enum debug_type_kind);
+ static debug_type *stab_demangle_argtypes
+@@ -3496,166 +3496,167 @@ stab_record_type (void *dhandle ATTRIBUTE_UNUSED, struct stab_handle *info,
+ 
+ static debug_type
+ stab_xcoff_builtin_type (void *dhandle, struct stab_handle *info,
+-			 int typenum)
++			 unsigned int typenum)
+ {
+   debug_type rettype;
+   const char *name;
+ 
+-  if (typenum >= 0 || typenum < -XCOFF_TYPE_COUNT)
++  typenum = -typenum - 1;
++  if (typenum >= XCOFF_TYPE_COUNT)
+     {
+-      fprintf (stderr, _("Unrecognized XCOFF type %d\n"), typenum);
++      fprintf (stderr, _("Unrecognized XCOFF type %d\n"), -typenum - 1);
+       return DEBUG_TYPE_NULL;
+     }
+-  if (info->xcoff_types[-typenum] != NULL)
+-    return info->xcoff_types[-typenum];
++  if (info->xcoff_types[typenum] != NULL)
++    return info->xcoff_types[typenum];
+ 
+-  switch (-typenum)
++  switch (typenum)
+     {
+-    case 1:
++    case 0:
+       /* The size of this and all the other types are fixed, defined
+ 	 by the debugging format.  */
+       name = "int";
+       rettype = debug_make_int_type (dhandle, 4, FALSE);
+       break;
+-    case 2:
++    case 1:
+       name = "char";
+       rettype = debug_make_int_type (dhandle, 1, FALSE);
+       break;
+-    case 3:
++    case 2:
+       name = "short";
+       rettype = debug_make_int_type (dhandle, 2, FALSE);
+       break;
+-    case 4:
++    case 3:
+       name = "long";
+       rettype = debug_make_int_type (dhandle, 4, FALSE);
+       break;
+-    case 5:
++    case 4:
+       name = "unsigned char";
+       rettype = debug_make_int_type (dhandle, 1, TRUE);
+       break;
+-    case 6:
++    case 5:
+       name = "signed char";
+       rettype = debug_make_int_type (dhandle, 1, FALSE);
+       break;
+-    case 7:
++    case 6:
+       name = "unsigned short";
+       rettype = debug_make_int_type (dhandle, 2, TRUE);
+       break;
+-    case 8:
++    case 7:
+       name = "unsigned int";
+       rettype = debug_make_int_type (dhandle, 4, TRUE);
+       break;
+-    case 9:
++    case 8:
+       name = "unsigned";
+       rettype = debug_make_int_type (dhandle, 4, TRUE);
+       break;
+-    case 10:
++    case 9:
+       name = "unsigned long";
+       rettype = debug_make_int_type (dhandle, 4, TRUE);
+       break;
+-    case 11:
++    case 10:
+       name = "void";
+       rettype = debug_make_void_type (dhandle);
+       break;
+-    case 12:
++    case 11:
+       /* IEEE single precision (32 bit).  */
+       name = "float";
+       rettype = debug_make_float_type (dhandle, 4);
+       break;
+-    case 13:
++    case 12:
+       /* IEEE double precision (64 bit).  */
+       name = "double";
+       rettype = debug_make_float_type (dhandle, 8);
+       break;
+-    case 14:
++    case 13:
+       /* This is an IEEE double on the RS/6000, and different machines
+ 	 with different sizes for "long double" should use different
+ 	 negative type numbers.  See stabs.texinfo.  */
+       name = "long double";
+       rettype = debug_make_float_type (dhandle, 8);
+       break;
+-    case 15:
++    case 14:
+       name = "integer";
+       rettype = debug_make_int_type (dhandle, 4, FALSE);
+       break;
+-    case 16:
++    case 15:
+       name = "boolean";
+       rettype = debug_make_bool_type (dhandle, 4);
+       break;
+-    case 17:
++    case 16:
+       name = "short real";
+       rettype = debug_make_float_type (dhandle, 4);
+       break;
+-    case 18:
++    case 17:
+       name = "real";
+       rettype = debug_make_float_type (dhandle, 8);
+       break;
+-    case 19:
++    case 18:
+       /* FIXME */
+       name = "stringptr";
+       rettype = NULL;
+       break;
+-    case 20:
++    case 19:
+       /* FIXME */
+       name = "character";
+       rettype = debug_make_int_type (dhandle, 1, TRUE);
+       break;
+-    case 21:
++    case 20:
+       name = "logical*1";
+       rettype = debug_make_bool_type (dhandle, 1);
+       break;
+-    case 22:
++    case 21:
+       name = "logical*2";
+       rettype = debug_make_bool_type (dhandle, 2);
+       break;
+-    case 23:
++    case 22:
+       name = "logical*4";
+       rettype = debug_make_bool_type (dhandle, 4);
+       break;
+-    case 24:
++    case 23:
+       name = "logical";
+       rettype = debug_make_bool_type (dhandle, 4);
+       break;
+-    case 25:
++    case 24:
+       /* Complex type consisting of two IEEE single precision values.  */
+       name = "complex";
+       rettype = debug_make_complex_type (dhandle, 8);
+       break;
+-    case 26:
++    case 25:
+       /* Complex type consisting of two IEEE double precision values.  */
+       name = "double complex";
+       rettype = debug_make_complex_type (dhandle, 16);
+       break;
+-    case 27:
++    case 26:
+       name = "integer*1";
+       rettype = debug_make_int_type (dhandle, 1, FALSE);
+       break;
+-    case 28:
++    case 27:
+       name = "integer*2";
+       rettype = debug_make_int_type (dhandle, 2, FALSE);
+       break;
+-    case 29:
++    case 28:
+       name = "integer*4";
+       rettype = debug_make_int_type (dhandle, 4, FALSE);
+       break;
+-    case 30:
++    case 29:
+       /* FIXME */
+       name = "wchar";
+       rettype = debug_make_int_type (dhandle, 2, FALSE);
+       break;
+-    case 31:
++    case 30:
+       name = "long long";
+       rettype = debug_make_int_type (dhandle, 8, FALSE);
+       break;
+-    case 32:
++    case 31:
+       name = "unsigned long long";
+       rettype = debug_make_int_type (dhandle, 8, TRUE);
+       break;
+-    case 33:
++    case 32:
+       name = "logical*8";
+       rettype = debug_make_bool_type (dhandle, 8);
+       break;
+-    case 34:
++    case 33:
+       name = "integer*8";
+       rettype = debug_make_int_type (dhandle, 8, FALSE);
+       break;
+@@ -3664,9 +3665,7 @@ stab_xcoff_builtin_type (void *dhandle, struct stab_handle *info,
+     }
+ 
+   rettype = debug_name_type (dhandle, name, rettype);
+-
+-  info->xcoff_types[-typenum] = rettype;
+-
++  info->xcoff_types[typenum] = rettype;
+   return rettype;
+ }
+ 
+-- 
+2.27.0
+
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
index a8c20bbd128f..8d759457fa11 100644
--- a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
@@ -85,6 +85,7 @@ stdenv.mkDerivation {
 
     ./CVE-2020-35448.patch
     ./CVE-2021-3487.patch
+    ./CVE-2021-45078.patch
   ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
     ++ # This patch was suggested by Nick Clifton to fix
        # https://sourceware.org/bugzilla/show_bug.cgi?id=16177
@@ -93,7 +94,8 @@ stdenv.mkDerivation {
        # indeed GHC will refuse to compile with a binutils suffering from it. See
        # this comment for more information:
        # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
-       lib.optional (stdenv.targetPlatform.isAarch32 && stdenv.hostPlatform.system != stdenv.targetPlatform.system) ./R_ARM_COPY.patch;
+       lib.optional (stdenv.targetPlatform.isAarch32 && stdenv.hostPlatform.system != stdenv.targetPlatform.system) ./R_ARM_COPY.patch
+    ++ lib.optional stdenv.targetPlatform.isWindows ./windres-locate-gcc.patch;
 
   outputs = [ "out" "info" "man" ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/windres-locate-gcc.patch b/nixpkgs/pkgs/development/tools/misc/binutils/windres-locate-gcc.patch
new file mode 100644
index 000000000000..721667c62cec
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/windres-locate-gcc.patch
@@ -0,0 +1,19 @@
+diff --git a/binutils/resrc.c b/binutils/resrc.c
+index a875c3a4..0411d047 100644
+--- a/binutils/resrc.c
++++ b/binutils/resrc.c
+@@ -521,7 +521,13 @@ read_rc_file (const char *filename, const char *preprocessor,
+ 
+       cpp_pipe = 0;
+ 
+-      if (dash)
++      /* Nixpkgs specific : look first at the prefixed path
++        ( there should be no gcc in the binutils folder ) */
++      if (slash && dash) {
++        cpp_pipe = look_for_default(cmd, slash + 1, dash - slash, preprocargs, filename);
++      }
++
++      if (dash && ! cpp_pipe)
+ 	{
+ 	  /* First, try looking for a prefixed gcc in the windres
+ 	     directory, with the same prefix as windres */
diff --git a/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix b/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix
index 31ea03a2f868..c66c2a5bfd8e 100644
--- a/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/nixpkgs/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.71.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 = "8LsYkzNy98qQ9niXrRCkL47Ouyd33ZICnSXx29WIWl4=";
+    sha256 = "79uOQmTovGbY0NLpc3m/xFULS899u2XdR16qd8L4FLw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/misc/cflow/default.nix b/nixpkgs/pkgs/development/tools/misc/cflow/default.nix
index 92a812d5a212..ab9966c6fca6 100644
--- a/nixpkgs/pkgs/development/tools/misc/cflow/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/cgdb/default.nix b/nixpkgs/pkgs/development/tools/misc/cgdb/default.nix
index 0e92d373c0b3..e8136be0eb40 100644
--- a/nixpkgs/pkgs/development/tools/misc/cgdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix b/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
index 77fe16c442d3..ef5b276adaa2 100644
--- a/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.16535";
+  version = "0.1.16737";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IsFvUWNuQsECh47M6wDpuyDYXrKKaZp2SSmEGFryzM0=";
+    sha256 = "sha256-2dgoREWGA+YpsESUmua5HcJu6Z/lEhzBdakx97xfLFk=";
   };
 
-  vendorSha256 = "sha256-efrjHwHobML/t2lDSFx+UyAOca9dHjZHcAxkFzJqWEo=";
+  vendorSha256 = "sha256-7u2y1yBVpXf+D19tslD4s3B1KmABl4OWNzzLaBNL/2U=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix b/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix
index 5e3c750852df..4841c48d0ee2 100644
--- a/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,25 +2,21 @@
 
 buildGraalvmNativeImage rec {
   pname = "clojure-lsp";
-  version = "2021.11.02-15.24.47";
+  version = "2022.02.01-16.53.14";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-PBbo8yx4g4SsViUA1jnwqF8q9Dfn3lrgK2CP026Bm4Q=";
+    sha256 = "sha256-VyDnDlK40Sj/0cethclnRlKc5tOentAEUzjDOqbItpo=";
   };
 
   jar = fetchurl {
-    url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp.jar";
-    sha256 = "sha256-k0mzibcLAspklCPE6f2qsUm9bwSvcJRgWecMBq7mpF0=";
+    url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
+    sha256 = "sha256-gIG8sjf55aRo4xI/RFrxhzLSD6RHzn/YGG9+gWrXcgE=";
   };
 
-  # https://github.com/clojure-lsp/clojure-lsp/blob/2021.11.02-15.24.47/graalvm/native-unix-compile.sh#L18-L27
-  DTLV_LIB_EXTRACT_DIR = "/tmp";
-
   extraNativeImageBuildArgs = [
-    "-H:CLibraryPath=${DTLV_LIB_EXTRACT_DIR}"
     "--no-fallback"
     "--native-image-info"
   ];
@@ -31,8 +27,10 @@ buildGraalvmNativeImage rec {
 
     export HOME="$(mktemp -d)"
     ./${pname} --version | fgrep -q '${version}'
-    ${babashka}/bin/bb integration-test ./${pname}
-
+  ''
+    # TODO: fix classpath issue per https://github.com/NixOS/nixpkgs/pull/153770
+    #${babashka}/bin/bb integration-test ./${pname}
+  + ''
     runHook postCheck
   '';
 
@@ -44,12 +42,12 @@ buildGraalvmNativeImage rec {
 
     latest_version=$(curl -s https://api.github.com/repos/clojure-lsp/clojure-lsp/releases/latest | jq --raw-output .tag_name)
 
-    old_jar_hash=$(nix-instantiate --eval --strict -A "clojure-lsp.jar.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
+    old_jar_hash=$(nix-instantiate --eval --strict -A "clojure-lsp-standalone.jar.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
 
-    curl -o clojure-lsp.jar -sL https://github.com/clojure-lsp/clojure-lsp/releases/download/$latest_version/clojure-lsp.jar
-    new_jar_hash=$(nix-hash --flat --type sha256 clojure-lsp.jar | sed -re 's|[+]|\\&|g')
+    curl -o clojure-lsp.jar -sL https://github.com/clojure-lsp/clojure-lsp/releases/download/$latest_version/clojure-lsp-standalone.jar
+    new_jar_hash=$(nix-hash --flat --type sha256 clojure-lsp-standalone.jar | sed -re 's|[+]|\\&|g')
 
-    rm -f clojure-lsp.jar
+    rm -f clojure-lsp-standalone.jar
 
     nixFile=$(nix-instantiate --eval --strict -A "clojure-lsp.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')
 
@@ -62,8 +60,5 @@ buildGraalvmNativeImage rec {
     homepage = "https://github.com/clojure-lsp/clojure-lsp";
     license = licenses.mit;
     maintainers = with maintainers; [ ericdallo babariviere ];
-    # Depends on datalevin that is x86_64 only
-    # https://github.com/juji-io/datalevin/blob/bb7d9328f4739cddea5d272b5cd6d6dcb5345da6/native/src/java/datalevin/ni/Lib.java#L86-L102
-    broken = !stdenv.isx86_64;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix b/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
index ecb198d72480..49186c75c9a1 100644
--- a/nixpkgs/pkgs/development/tools/misc/ddd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/direvent/default.nix b/nixpkgs/pkgs/development/tools/misc/direvent/default.nix
index cf2a52276038..79a238ad0c0c 100644
--- a/nixpkgs/pkgs/development/tools/misc/direvent/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/direvent/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "direvent-${version}";
-  version = "5.2";
+  pname = "direvent";
+  version = "5.3";
 
   src = fetchurl {
-    url = "mirror://gnu/direvent/${name}.tar.gz";
-    sha256 = "0m9vi01b1km0cpknflyzsjnknbava0s1n6393b2bpjwyvb6j5613";
+    url = "mirror://gnu/direvent/direvent-${version}.tar.gz";
+    sha256 = "sha256-lAWop32kn+krvkrxi/kl/5H20zdMELfXAKAxusuUxJc=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/misc/distcc/default.nix b/nixpkgs/pkgs/development/tools/misc/distcc/default.nix
index 6de12a84522e..f5fb8e8eeb1a 100644
--- a/nixpkgs/pkgs/development/tools/misc/distcc/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/distcc/default.nix
@@ -6,10 +6,10 @@
 }:
 
 let
-  name    = "distcc";
+  pname = "distcc";
   version = "2021-03-11";
   distcc = stdenv.mkDerivation {
-    name = "${name}-${version}";
+    inherit pname version;
     src = fetchFromGitHub {
       owner = "distcc";
       repo = "distcc";
diff --git a/nixpkgs/pkgs/development/tools/misc/drush/default.nix b/nixpkgs/pkgs/development/tools/misc/drush/default.nix
index e2be56b638e8..8cafab36f2ac 100644
--- a/nixpkgs/pkgs/development/tools/misc/drush/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/drush/default.nix
@@ -2,40 +2,30 @@
 
 stdenv.mkDerivation rec {
   pname = "drush";
-  version = "6.1.0";
+  version = "8.4.10";
 
-  meta = with lib; {
-    description = "Command-line shell and Unix scripting interface for Drupal";
-    homepage    = "https://github.com/drush-ops/drush";
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.all;
+  src = fetchurl {
+    url = "https://github.com/drush-ops/drush/releases/download/${version}/drush.phar";
+    sha256 = "sha256-yXSoTDFLsjDiYkRfrIxv2WTVdHzgxZRvtn3Pht5XF4k=";
   };
 
-  src = fetchFromGitHub {
-    owner = "drush-ops";
-    repo  = pname;
-    rev = version;
-    sha256 = "sha256-0nf/m+xJmfHsFLuordiMp8UyrGGXuS70+zFHkIxLWhU=";
-  };
-
-  consoleTable = fetchurl {
-    url    = "http://download.pear.php.net/package/Console_Table-1.1.3.tgz";
-    sha256 = "07gbjd7m1fj5dmavr0z20vkqwx1cz2522sj9022p257jifj1yl76";
-  };
+  dontUnpack = true;
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
-    # install libraries
-    cd lib
-    tar -xf ${consoleTable}
-    cd ..
-
-    mkdir -p "$out"
-    cp -r . "$out/src"
-    mkdir "$out/bin"
-    wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}"
-    ln -s "$out/src/drush" "$out/bin/drush"
+    mkdir -p $out/bin
+    install -D $src $out/libexec/drush/drush.phar
+    makeWrapper ${php}/bin/php $out/bin/drush \
+      --add-flags "$out/libexec/drush/drush.phar" \
+      --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}"
   '';
+
+  meta = with lib; {
+    description = "Command-line shell and Unix scripting interface for Drupal";
+    homepage = "https://github.com/drush-ops/drush";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms = platforms.all;
+  };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/dura/default.nix b/nixpkgs/pkgs/development/tools/misc/dura/default.nix
new file mode 100644
index 000000000000..621058be664c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/dura/default.nix
@@ -0,0 +1,40 @@
+{ lib, fetchFromGitHub, rustPlatform, openssl, pkg-config }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dura";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "tkellogg";
+    repo = "dura";
+    rev = "v0.1.0";
+    sha256 = "sha256-XnsR1oL9iImtj0X7wJ8Pp/An0/AVF5y+sD551yX4IGo=";
+  };
+
+  cargoSha256 = "sha256-+Tq0a5cs2XZoT7yzTf1oIPd3kgD6SyrQqxQ1neTcMwk=";
+
+  doCheck = false;
+
+  buildInputs = [
+    openssl
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  meta = with lib; {
+    description = "A background process that saves uncommited changes on git";
+    longDescription = ''
+      Dura is a background process that watches your Git repositories and
+      commits your uncommitted changes without impacting HEAD, the current
+      branch, or the Git index (staged files). If you ever get into an
+      "oh snap!" situation where you think you just lost days of work,
+      checkout a "dura" branch and recover.
+    '';
+    homepage = "https://github.com/tkellogg/dura";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ drupol ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/misc/epm/default.nix b/nixpkgs/pkgs/development/tools/misc/epm/default.nix
index 8f5921783e24..b83bb8d33283 100644
--- a/nixpkgs/pkgs/development/tools/misc/epm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/gpuvis/default.nix b/nixpkgs/pkgs/development/tools/misc/gpuvis/default.nix
index 5e0f54b2feef..83c04495f8cc 100644
--- a/nixpkgs/pkgs/development/tools/misc/gpuvis/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/gpuvis/default.nix
@@ -12,17 +12,16 @@
 
 stdenv.mkDerivation rec {
   pname = "gpuvis";
-  version = "20210220";
+  version = "20211204";
 
   src = fetchFromGitHub {
     owner = "mikesart";
     repo = pname;
-    rev = "216f7d810e182a89fd96ab9fad2a5c2b1e425ea9";
-    sha256 = "15pj7gy0irlp849a85z68n184jksjri0xhihgh56rs15kq333mwz";
+    rev = "7f47419470687c7ecbdf086b81f5bafdb05d1bef";
+    sha256 = "sha256-29Bv+y0zWzn7QtpsjRV6hr19bCeyVJusPcYiAIEIluk=";
   };
 
   # patch dlopen path for gtk3
-  # python2 is wrongly added in the meson file, upstream PR: https://github.com/mikesart/gpuvis/pull/62
   postPatch = ''
     substituteInPlace src/hook_gtk3.h \
       --replace "libgtk-3.so" "${lib.getLib gtk3}/lib/libgtk-3.so"
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra/common.nix b/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
index fd1896f24b81..1ae54d629acc 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/hydra/default.nix b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
index ac5600519b49..1688e92c8441 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, nixStable, callPackage, nixUnstable, nixosTests }:
+{ fetchFromGitHub, callPackage, nixVersions, nixosTests }:
 
 {
   hydra-unstable = callPackage ./common.nix {
@@ -9,7 +9,7 @@
       rev = "9bce425c3304173548d8e822029644bb51d35263";
       sha256 = "sha256-tGzwKNW/odtAYcazWA9bPVSmVXMGKfXsqCA1UYaaxmU=";
     };
-    nix = nixUnstable;
+    nix = nixVersions.unstable;
 
     tests = {
       basic = nixosTests.hydra.hydra-unstable;
diff --git a/nixpkgs/pkgs/development/tools/misc/inotify-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/inotify-tools/default.nix
index 51c23eed8f3c..b382cc51fa1e 100644
--- a/nixpkgs/pkgs/development/tools/misc/inotify-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/inotify-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inotify-tools";
-  version = "3.21.9.6";
+  version = "3.22.1.0";
 
   src = fetchFromGitHub {
     repo = "inotify-tools";
     owner = "inotify-tools";
     rev = version;
-    sha256 = "sha256-oKcVmF39N43g8O1S+xwUhVJryFcW+ZUteyoe3fUkRH8=";
+    sha256 = "sha256-I0kr+wFUWnovH9MXVsGaCBtp4+RnnMWD7sPecI3xz+Y=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index eca59819ba09..40cf1e14e94d 100644
--- a/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , pkg-config
 , libdrm
 , libpciaccess
@@ -45,6 +46,14 @@ stdenv.mkDerivation rec {
     sha256 = "1dwvxh1yplsh1a7h3gpp40g91v12cfxy6yy99s1v9yr2kwxikm1n";
   };
 
+  patches = [
+    # fix build with meson 0.60
+    (fetchpatch {
+      url = "https://github.com/freedesktop/xorg-intel-gpu-tools/commit/963917a3565466832a3b2fc22e9285d34a0bf944.patch";
+      sha256 = "sha256-goO2N7aK2dJYMhFGS1DlvjEYMSijN6stV6Q5z/RP8Ko=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config utilmacros meson ninja flex bison gtk-doc docutils docbook_xsl ];
   buildInputs = [
     libdrm
diff --git a/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix b/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix
index f4225a901e42..fef4d7d405c6 100644
--- a/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/k2tf/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-75L8fcmZbG7PbZrF4cScRQjqbuu5eTnLIaDGzgF57/0=";
   };
 
-  vendorSha256 = "sha256-hxB+TZfwn16JXGRXZNB6HdDa62JQIQMaYpDzjOcLjFg=";
+  vendorSha256 = "sha256-YsSOw3G5ufxBn8Wu5J8md2Aaqhl0VJa7uB6ZzSPWo/A=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/kconfig-frontends/default.nix b/nixpkgs/pkgs/development/tools/misc/kconfig-frontends/default.nix
index ae757f0d80d6..03044fe5c444 100644
--- a/nixpkgs/pkgs/development/tools/misc/kconfig-frontends/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/kconfig-frontends/default.nix
@@ -1,13 +1,12 @@
 { lib, stdenv, fetchurl, pkg-config, bison, flex, gperf, ncurses, python3, bash }:
 
 stdenv.mkDerivation rec {
-  basename = "kconfig-frontends";
+  pname = "kconfig-frontends";
   version = "4.11.0.1";
-  name = "${basename}-${version}";
 
   src = fetchurl {
     sha256 = "1xircdw3k7aaz29snf96q2fby1cs48bidz5l1kkj0a5gbivw31i3";
-    url = "http://ymorin.is-a-geek.org/download/${basename}/${name}.tar.xz";
+    url = "http://ymorin.is-a-geek.org/download/kconfig-frontends/kconfig-frontends-${version}.tar.xz";
   };
 
   nativeBuildInputs = [ bison flex gperf pkg-config ];
diff --git a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix b/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
index 42ff56ed8b04..b7eabf6f9a20 100644
--- a/nixpkgs/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/luarocks/3.7.nix b/nixpkgs/pkgs/development/tools/misc/luarocks/3.7.nix
index aa49af753b32..95fa79c6d125 100644
--- a/nixpkgs/pkgs/development/tools/misc/luarocks/3.7.nix
+++ b/nixpkgs/pkgs/development/tools/misc/luarocks/3.7.nix
@@ -77,6 +77,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [raskin teto];
     platforms = platforms.linux ++ platforms.darwin;
     downloadPage = "http://luarocks.org/releases/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix b/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
index c2449de5dd28..58f5996992af 100644
--- a/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/luarocks/default.nix
@@ -77,6 +77,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [raskin teto];
     platforms = platforms.linux ++ platforms.darwin;
     downloadPage = "http://luarocks.org/releases/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/luarocks/default.upstream b/nixpkgs/pkgs/development/tools/misc/luarocks/default.upstream
deleted file mode 100644
index e69de1fe8895..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/luarocks/default.upstream
+++ /dev/null
@@ -1 +0,0 @@
-url http://luarocks.org/releases/
diff --git a/nixpkgs/pkgs/development/tools/misc/macdylibbundler/default.nix b/nixpkgs/pkgs/development/tools/misc/macdylibbundler/default.nix
index dbcd49dcfbe4..504b79c50048 100644
--- a/nixpkgs/pkgs/development/tools/misc/macdylibbundler/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/macdylibbundler/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "macdylibbundler";
-  version = "1.0.0";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "auriamg";
     repo = "macdylibbundler";
     rev = version;
-    sha256 = "02w04qvaf9v8yw8bgncx5qj3jx08xdfa855isvq92q27hsb8m8hv";
+    sha256 = "0j4ij48jf5izgymzxxaakf6vc50w9q0761yir6nfj1n6qlnrlidf";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/nimlsp/default.nix b/nixpkgs/pkgs/development/tools/misc/nimlsp/default.nix
index 0e837b8fd614..41eb9567150c 100644
--- a/nixpkgs/pkgs/development/tools/misc/nimlsp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/nix-build-uncached/default.nix b/nixpkgs/pkgs/development/tools/misc/nix-build-uncached/default.nix
index 7886c7c450ac..bda19f75ff01 100644
--- a/nixpkgs/pkgs/development/tools/misc/nix-build-uncached/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/pahole/default.nix b/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
index e0100154f3be..1ca9c2c5112f 100644
--- a/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/pahole/default.nix
@@ -1,16 +1,20 @@
-{ lib, stdenv, fetchgit, pkg-config, libbpf, cmake, elfutils, zlib }:
+{ lib, stdenv, fetchgit, pkg-config, libbpf, cmake, elfutils, zlib, argp-standalone, musl-obstack }:
 
 stdenv.mkDerivation rec {
   pname = "pahole";
-  version = "1.22";
+  version = "1.23";
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/devel/pahole/pahole.git";
     rev = "v${version}";
-    sha256 = "sha256-U1/i9WNlLphPIcNysC476sqil/q9tMYmu+Y6psga8I0=";
+    sha256 = "sha256-Dt3ZcUfjwdtTTv6qRFRgwK5GFWXdpN7fvb9KhpS1O94=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ elfutils zlib libbpf ];
+  buildInputs = [ elfutils zlib libbpf ]
+    ++ lib.optional stdenv.hostPlatform.isMusl [
+    argp-standalone
+    musl-obstack
+  ];
 
   # Put libraries in "lib" subdirectory, not top level of $out
   cmakeFlags = [ "-D__LIB=lib" "-DLIBBPF_EMBEDDED=OFF" ];
diff --git a/nixpkgs/pkgs/development/tools/misc/patchelf/default.nix b/nixpkgs/pkgs/development/tools/misc/patchelf/default.nix
index c1e283ece129..dcb4d2362c8e 100644
--- a/nixpkgs/pkgs/development/tools/misc/patchelf/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/patchelf/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "patchelf";
-  version = "0.13";
+  version = "0.14.3";
 
   src = fetchurl {
     url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1v8px6g0zvhfxqa1inmdqfj4gc8dm70x7874hri4s48szjyd8zjc";
+    sha256 = "sha256-oBfsPSFSoZ/ZacDYez+LQ+MqZuT/q9yHZ6VgYrmuwnA=";
   };
 
   setupHook = [ ./setup-hook.sh ];
diff --git a/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix b/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
index 740015dbe984..e62805867504 100644
--- a/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/nixpkgs/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, autoreconfHook, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "patchelf-${version}";
+  pname = "patchelf";
   version = "2021-11-16";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/tools/misc/premake/3.nix b/nixpkgs/pkgs/development/tools/misc/premake/3.nix
index d72cca0e785b..c05581f5591a 100644
--- a/nixpkgs/pkgs/development/tools/misc/premake/3.nix
+++ b/nixpkgs/pkgs/development/tools/misc/premake/3.nix
@@ -1,14 +1,11 @@
 {lib, stdenv, fetchurl, unzip}:
 
-let baseName = "premake";
+stdenv.mkDerivation rec {
+  pname = "premake";
   version  = "3.7";
-in
-
-stdenv.mkDerivation {
-  name = "${baseName}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sourceforge/premake/${baseName}-src-${version}.zip";
+    url = "mirror://sourceforge/sourceforge/premake/premake-src-${version}.zip";
     sha256 = "b59841a519e75d5b6566848a2c5be2f91455bf0cc6ae4d688fcbd4c40db934d5";
   };
 
@@ -22,7 +19,7 @@ stdenv.mkDerivation {
   setupHook = ./setup-hook.sh;
 
   meta = {
-    homepage = "http://industriousone.com/premake";
+    homepage = "https://premake.github.io/";
     description = "A simple build configuration and project generation tool using lua";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/development/tools/misc/premake/default.nix b/nixpkgs/pkgs/development/tools/misc/premake/default.nix
index 192a7746203b..35c651f4a18c 100644
--- a/nixpkgs/pkgs/development/tools/misc/premake/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/premake/default.nix
@@ -1,14 +1,11 @@
 { lib, stdenv, fetchurl, unzip }:
 
-let baseName = "premake";
+stdenv.mkDerivation rec {
+  pname = "premake";
   version  = "4.3";
-in
-
-stdenv.mkDerivation {
-  name = "${baseName}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${baseName}/${baseName}-${version}-src.zip";
+    url = "mirror://sourceforge/premake/premake-${version}-src.zip";
     sha256 = "1017rd0wsjfyq2jvpjjhpszaa7kmig6q1nimw76qx3cjz2868lrn";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
index 01b399e15a39..add0c7a5809c 100644
--- a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/qtspim/default.nix b/nixpkgs/pkgs/development/tools/misc/qtspim/default.nix
index 23d33a9f81c5..842cf0eb5b49 100644
--- a/nixpkgs/pkgs/development/tools/misc/qtspim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix b/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
index b39ab68f06c0..24038d1c8d4e 100644
--- a/nixpkgs/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/rtss/default.nix b/nixpkgs/pkgs/development/tools/misc/rtss/default.nix
index 36ef4c349e9e..cb5b55b8894c 100644
--- a/nixpkgs/pkgs/development/tools/misc/rtss/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix b/nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix
index 02927667775a..4472cae2053a 100644
--- a/nixpkgs/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/nixpkgs/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;
diff --git a/nixpkgs/pkgs/development/tools/misc/semver-tool/default.nix b/nixpkgs/pkgs/development/tools/misc/semver-tool/default.nix
index 0cfbd0680ba6..407185a474b9 100644
--- a/nixpkgs/pkgs/development/tools/misc/semver-tool/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/spruce/default.nix b/nixpkgs/pkgs/development/tools/misc/spruce/default.nix
index 16fd6cde043d..7c10a6ee0ca7 100644
--- a/nixpkgs/pkgs/development/tools/misc/spruce/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/strace/default.nix b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
index 0b73355863c0..865784171786 100644
--- a/nixpkgs/pkgs/development/tools/misc/strace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.15";
+  version = "5.16";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-68rCLylzNSlNxlRCXLw84BM0O+zm2iaZ467Iau6Nctw=";
+    sha256 = "sha256-3H2yMP8+V8JJgwupSsqyuGLaH8qsVUF+m4UEGoM8ooU=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
index a6f195c12ac8..b3fd7a54ec0b 100644
--- a/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terracognita/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-QaJoHnuzSQXxEuGpui9lyKAjT2wdz4XmMAh5cAOKvBg=";
   };
 
-  vendorSha256 = "sha256-7LRq1lG3DT1WQ0+78EEeQqCCrx6n6qTCUcYUuKSfvVE=";
+  vendorSha256 = "sha256-HcUH3cnaeyB2XnfcRLulsRcHaCwdLkiIb518Ucl2tv8=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
index fd626acd16b4..de928d35fa0e 100644
--- a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.25.0";
+  version = "0.25.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iOSH7eFLsp31mW5ZsTUcJVPE1OBEXPLsoVYroYjwXtk=";
+    sha256 = "sha256-dFmXROqh1HYPthzmOE07oyZglaQyx7JqxqYDlLpysrM=";
   };
-  vendorSha256 = "sha256-s6urF9uZ9o8kkKfbRk22JuIv+f3ZlVAFR9c1vylhhoY=";
+  vendorSha256 = "sha256-5g/s8WDzxobORFY12YdDQ6rDmr9gQzViv1FFrVwrVIE=";
 
   ldflags = [ "-s" "-w" "-X main.version=v${version}" "-X main.prerelease=" ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix b/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix
index 9f3fe2c36d4e..d4609db2d34e 100644
--- a/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terraformer/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-F+OmeXCb0Q2Qqu0T+dqdxvUYszg4ED/zoayH9iO6PCM=";
   };
 
-  vendorSha256 = "sha256-MCw5EkGjQDY75lpCA6iwuAhOXOAnDuDM+9L7eBnagEU=";
+  vendorSha256 = "sha256-fCovSA3ZbKn9DrDlb/SXoe8iQTTEAiiDZFSpHUPmxzo=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix b/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
index 8d8f1e1627aa..b379df09a4b0 100644
--- a/nixpkgs/pkgs/development/tools/misc/texinfo/common.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix b/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
index 759c83e81c8a..af10523e3b04 100644
--- a/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
@@ -1,18 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python }:
+{ lib, stdenv, fetchFromGitHub, cmake, python2 }:
 
 stdenv.mkDerivation rec {
-  name = "${product}-${version}";
-  product = "uncrustify";
+  pname = "uncrustify";
   version = "0.72.0";
 
   src = fetchFromGitHub {
-    owner = product;
-    repo = product;
-    rev = name;
+    owner = "uncrustify";
+    repo = "uncrustify";
+    rev = "uncrustify-${version}";
     sha256 = "sha256-ZVC5tsn2m1uB7EPNJFPLWLZpLSk4WrFOgJvy1KFYqBY=";
   };
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python2 ];
 
   meta = with lib; {
     description = "Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA";
diff --git a/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix b/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
index 6c1a9009993d..e443ca7751eb 100644
--- a/nixpkgs/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/xspim/default.nix b/nixpkgs/pkgs/development/tools/misc/xspim/default.nix
index 2e6e3e3eb108..6e11c81cbde0 100644
--- a/nixpkgs/pkgs/development/tools/misc/xspim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix b/nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix
index fc0a38ee7499..cd14705e1ebd 100644
--- a/nixpkgs/pkgs/development/tools/misc/xxgdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/mmixware/default.nix b/nixpkgs/pkgs/development/tools/mmixware/default.nix
index b6d03f456712..4f0515eec2f5 100644
--- a/nixpkgs/pkgs/development/tools/mmixware/default.nix
+++ b/nixpkgs/pkgs/development/tools/mmixware/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation {
   pname = "mmixware";
-  version = "unstable-2019-02-19";
+  version = "unstable-2021-06-18";
 
   src = fetchFromGitLab {
     domain = "gitlab.lrz.de";
     owner = "mmix";
     repo = "mmixware";
-    rev = "a330d68aafcfe739ecaaece888a669b8e7d9bcb8";
-    sha256 = "0bq0d19vqhfbpk4mcqzmd0hygbkhapl1mzlfkcr6afx0fhlhi087";
+    rev = "7c790176d50d13ae2422fa7457ccc4c2d29eba9b";
+    sha256 = "sha256-eSwHiJ5SP/Nennalv4QFTgVnM6oan/DWDZRqtk0o6Z0=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/development/tools/mold/default.nix b/nixpkgs/pkgs/development/tools/mold/default.nix
index c275777c12b4..6de56fb47058 100644
--- a/nixpkgs/pkgs/development/tools/mold/default.nix
+++ b/nixpkgs/pkgs/development/tools/mold/default.nix
@@ -7,27 +7,35 @@
 , xxHash
 , zlib
 , openssl
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "1.0.1";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-G+mVZS3ZRuBd00xfBqrTvmHOykFk63nJlucxv01nr3k=";
+    sha256 = "sha256-L/io0kMYkFVSmOiH6sM/CoibE1rPRwDM0fFddw6kM+4=";
   };
 
   buildInputs = [ zlib openssl ];
   nativeBuildInputs = [ autoPatchelfHook cmake xxHash ];
 
+  enableParallelBuilding = true;
   dontUseCmakeConfigure = true;
   EXTRA_LDFLAGS = "-fuse-ld=${llvmPackages_latest.lld}/bin/ld.lld";
   LTO = 1;
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "A high performance drop-in replacement for existing unix linkers";
     homepage = "https://github.com/rui314/mold";
diff --git a/nixpkgs/pkgs/development/tools/nodenv/default.nix b/nixpkgs/pkgs/development/tools/nodenv/default.nix
new file mode 100644
index 000000000000..d1e38d7bda74
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/nwjs/default.nix b/nixpkgs/pkgs/development/tools/nwjs/default.nix
index f3ec2dabc923..dd3d9cf6faaf 100644
--- a/nixpkgs/pkgs/development/tools/nwjs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix b/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
index 36a1c7f755e1..1c3da92273ce 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ocaml ];
 
+  # build fails otherwise
+  enableParallelBuilding = false;
+
   preBuild = ''
     mv config/Makefile.unix config/Makefile
     substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out
diff --git a/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix b/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix
index acf1730af1bc..97a769628fe0 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -55,6 +55,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ which ocaml ocamlbuild ];
 
+  # build fails otherwise
+  enableParallelBuilding = false;
+
   dontAddPrefix = true;
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix b/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
index f80fabedebe4..30962eeba311 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "2.9.1";
+  version = "2.9.3";
 
   src = fetchurl {
-    url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "09lzq04b642iy0ljp59p32lgk3q8iphjh8fkdp69q29l5frgwx5k";
+    url = "https://github.com/ocaml/dune/releases/download/${version}/dune-site-${version}.tbz";
+    sha256 = "sha256:1ml8bxym8sdfz25bx947al7cvsi2zg5lcv7x9w6xb01cmdryqr9y";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune/3.nix b/nixpkgs/pkgs/development/tools/ocaml/dune/3.nix
new file mode 100644
index 000000000000..59ea9c43512f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix b/nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix
index 497a8ce91c1d..e7abf32eae5f 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix b/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
index 6abb1ac1b3ae..c67d05c15038 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
@@ -7,5 +7,7 @@ buildDunePackage {
 
   inherit (js_of_ocaml-compiler) version src meta useDune2;
 
+  minimalOCamlVersion = "4.02";
+
   propagatedBuildInputs = [ ocamlbuild ];
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
new file mode 100644
index 000000000000..619d0ded7b32
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, fetchFromGitHub
+, buildDunePackage
+, fix
+, menhirLib
+, menhirSdk
+}:
+
+buildDunePackage rec {
+  pname = "ocaml-recovery-parser";
+  version = "0.2.2";
+
+  minimalOCamlVersion = "4.08";
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "serokell";
+    repo = pname;
+    rev = version;
+    sha256 = "qQHvAPNQBbsvlQRh19sz9BtfhhMOp3uPthVozc1fpw8=";
+  };
+
+  propagatedBuildInputs = [
+    fix
+    menhirLib
+    menhirSdk
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/serokell/ocaml-recovery-parser";
+    description = "A simple fork of OCaml parser with support for error recovery";
+    license = with licenses; [ lgpl2Only mit mpl20 ];
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index e3043d46ee5e..7f53ba9203d9 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib }:
 stdenv.mkDerivation rec {
-  name = "ocamlbuild-${version}";
+  pname = "ocaml${ocaml.version}-ocamlbuild";
   version = "0.14.0";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/tools/ocaml/ocp-build/default.nix b/nixpkgs/pkgs/development/tools/ocaml/ocp-build/default.nix
index d47d8a5cc31c..583468521817 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/ocp-build/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/ocp-build/default.nix
@@ -1,10 +1,8 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib, ncurses, cmdliner, re }:
-let
-  version = "1.99.21";
-in
-stdenv.mkDerivation {
 
-  name = "ocaml${ocaml.version}-ocp-build-${version}";
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-ocp-build";
+  version = "1.99.21";
 
   src = fetchFromGitHub {
     owner = "OCamlPro";
diff --git a/nixpkgs/pkgs/development/tools/omniorb/default.nix b/nixpkgs/pkgs/development/tools/omniorb/default.nix
index 74341c0a7b49..4acf2264fc9c 100644
--- a/nixpkgs/pkgs/development/tools/omniorb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
index 4e4291a55602..46cbb06951b0 100755
--- a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
+++ b/nixpkgs/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
 
@@ -48,7 +48,7 @@ do
         sha256=$(nix-prefetch-url "$url" 2>/dev/null)
         cat << EOL
   {
-    name = "$package";
+    pname = "$package";
     version = "$version";
     src = fetchurl {
       url = "$url";
diff --git a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix
index e2d3b236cdc5..7fd1fff89d20 100644
--- a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix
+++ b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -1,8 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
 , fetchurl
-, mono6
-, msbuild
 , dotnetCorePackages
 , makeWrapper
 , unzip
@@ -11,11 +9,10 @@
 
 let
 
-  dotnet-sdk = dotnetCorePackages.sdk_5_0;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
 
   deps = map (package: stdenv.mkDerivation (with package; {
-    pname = name;
-    inherit version src;
+    inherit pname version src;
 
     buildInputs = [ unzip ];
     unpackPhase = ''
@@ -41,7 +38,7 @@ let
     installPhase = ''
       runHook preInstall
 
-      package=$out/lib/dotnet/${name}/${version}
+      package=$out/lib/dotnet/${pname}/${version}
       mkdir -p $package
       cp -r . $package
       echo "{}" > $package/.nupkg.metadata
@@ -68,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
@@ -92,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/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix
index 305246ce984d..47af76fdd4ac 100644
--- a/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix
+++ b/nixpkgs/pkgs/development/tools/omnisharp-roslyn/deps.nix
@@ -1,22 +1,22 @@
 { fetchurl }: [
   {
-    name = "cake.scripting.abstractions";
-    version = "0.6.4";
+    pname = "cake.scripting.abstractions";
+    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";
     };
   }
   {
-    name = "cake.scripting.transport";
-    version = "0.6.4";
+    pname = "cake.scripting.transport";
+    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";
     };
   }
   {
-    name = "dotnet.script.dependencymodel";
+    pname = "dotnet.script.dependencymodel";
     version = "1.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel/1.1.0/dotnet.script.dependencymodel.1.1.0.nupkg";
@@ -24,7 +24,7 @@
     };
   }
   {
-    name = "dotnet.script.dependencymodel.nuget";
+    pname = "dotnet.script.dependencymodel.nuget";
     version = "1.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel.nuget/1.1.0/dotnet.script.dependencymodel.nuget.1.1.0.nupkg";
@@ -32,7 +32,7 @@
     };
   }
   {
-    name = "humanizer.core";
+    pname = "humanizer.core";
     version = "2.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/humanizer.core/2.2.0/humanizer.core.2.2.0.nupkg";
@@ -40,7 +40,7 @@
     };
   }
   {
-    name = "icsharpcode.decompiler";
+    pname = "icsharpcode.decompiler";
     version = "7.1.0.6543";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/icsharpcode.decompiler/7.1.0.6543/icsharpcode.decompiler.7.1.0.6543.nupkg";
@@ -48,7 +48,7 @@
     };
   }
   {
-    name = "mcmaster.extensions.commandlineutils";
+    pname = "mcmaster.extensions.commandlineutils";
     version = "3.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/mcmaster.extensions.commandlineutils/3.1.0/mcmaster.extensions.commandlineutils.3.1.0.nupkg";
@@ -56,7 +56,7 @@
     };
   }
   {
-    name = "mediatr";
+    pname = "mediatr";
     version = "8.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/mediatr/8.1.0/mediatr.8.1.0.nupkg";
@@ -64,47 +64,31 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "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";
+      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";
     };
   }
   {
-    name = "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";
-    };
-  }
-  {
-    name = "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";
-    };
-  }
-  {
-    name = "microsoft.bcl.asyncinterfaces";
+    pname = "microsoft.bcl.asyncinterfaces";
     version = "1.1.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/1.1.1/microsoft.bcl.asyncinterfaces.1.1.1.nupkg";
@@ -112,7 +96,7 @@
     };
   }
   {
-    name = "microsoft.bcl.asyncinterfaces";
+    pname = "microsoft.bcl.asyncinterfaces";
     version = "5.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/5.0.0/microsoft.bcl.asyncinterfaces.5.0.0.nupkg";
@@ -120,23 +104,31 @@
     };
   }
   {
-    name = "microsoft.build";
-    version = "16.10.0";
+    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 = "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";
     };
   }
   {
-    name = "microsoft.build.framework";
-    version = "16.10.0";
+    pname = "microsoft.build.framework";
+    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";
     };
   }
   {
-    name = "microsoft.build.locator";
+    pname = "microsoft.build.locator";
     version = "1.4.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.locator/1.4.1/microsoft.build.locator.1.4.1.nupkg";
@@ -144,15 +136,15 @@
     };
   }
   {
-    name = "microsoft.build.tasks.core";
-    version = "16.10.0";
+    pname = "microsoft.build.tasks.core";
+    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";
     };
   }
   {
-    name = "microsoft.build.tasks.git";
+    pname = "microsoft.build.tasks.git";
     version = "1.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.tasks.git/1.0.0/microsoft.build.tasks.git.1.0.0.nupkg";
@@ -160,15 +152,15 @@
     };
   }
   {
-    name = "microsoft.build.utilities.core";
-    version = "16.10.0";
+    pname = "microsoft.build.utilities.core";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.analyzers";
+    pname = "microsoft.codeanalysis.analyzers";
     version = "3.3.2";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.codeanalysis.analyzers/3.3.2/microsoft.codeanalysis.analyzers.3.3.2.nupkg";
@@ -176,7 +168,7 @@
     };
   }
   {
-    name = "microsoft.codeanalysis.analyzerutilities";
+    pname = "microsoft.codeanalysis.analyzerutilities";
     version = "3.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.codeanalysis.analyzerutilities/3.3.0/microsoft.codeanalysis.analyzerutilities.3.3.0.nupkg";
@@ -184,87 +176,95 @@
     };
   }
   {
-    name = "microsoft.codeanalysis.common";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.common";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.csharp";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.csharp";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.csharp.features";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.csharp.features";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.csharp.scripting";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.csharp.scripting";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.csharp.workspaces";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.csharp.workspaces";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.externalaccess.omnisharp";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.externalaccess.omnisharp";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.externalaccess.omnisharp.csharp";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.externalaccess.omnisharp.csharp";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.features";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.features";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.scripting.common";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.scripting.common";
+    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";
     };
   }
   {
-    name = "microsoft.codeanalysis.workspaces.common";
-    version = "4.0.0-4.21427.11";
+    pname = "microsoft.codeanalysis.workspaces.common";
+    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-4.21427.11/microsoft.codeanalysis.workspaces.common.4.0.0-4.21427.11.nupkg";
-      sha256 = "0k4qjkkg4mllizialzm463ssm3faqcqjnw19kbcnrzm5cd72i7cy";
+      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";
     };
   }
   {
-    name = "microsoft.csharp";
+    pname = "microsoft.csharp";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.csharp/4.0.1/microsoft.csharp.4.0.1.nupkg";
+      sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
+    };
+  }
+  {
+    pname = "microsoft.csharp";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.csharp/4.3.0/microsoft.csharp.4.3.0.nupkg";
@@ -272,7 +272,7 @@
     };
   }
   {
-    name = "microsoft.diasymreader";
+    pname = "microsoft.diasymreader";
     version = "1.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.diasymreader/1.3.0/microsoft.diasymreader.1.3.0.nupkg";
@@ -280,7 +280,7 @@
     };
   }
   {
-    name = "microsoft.dotnet.platformabstractions";
+    pname = "microsoft.dotnet.platformabstractions";
     version = "3.1.6";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.dotnet.platformabstractions/3.1.6/microsoft.dotnet.platformabstractions.3.1.6.nupkg";
@@ -288,23 +288,23 @@
     };
   }
   {
-    name = "microsoft.extensions.caching.abstractions";
-    version = "5.0.0";
+    pname = "microsoft.extensions.caching.abstractions";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.caching.memory";
-    version = "5.0.0";
+    pname = "microsoft.extensions.caching.memory";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.configuration";
+    pname = "microsoft.extensions.configuration";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/2.0.0/microsoft.extensions.configuration.2.0.0.nupkg";
@@ -312,15 +312,15 @@
     };
   }
   {
-    name = "microsoft.extensions.configuration";
-    version = "5.0.0";
+    pname = "microsoft.extensions.configuration";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.configuration.abstractions";
+    pname = "microsoft.extensions.configuration.abstractions";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.abstractions/2.0.0/microsoft.extensions.configuration.abstractions.2.0.0.nupkg";
@@ -328,15 +328,15 @@
     };
   }
   {
-    name = "microsoft.extensions.configuration.abstractions";
-    version = "5.0.0";
+    pname = "microsoft.extensions.configuration.abstractions";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.configuration.binder";
+    pname = "microsoft.extensions.configuration.binder";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/2.0.0/microsoft.extensions.configuration.binder.2.0.0.nupkg";
@@ -344,47 +344,47 @@
     };
   }
   {
-    name = "microsoft.extensions.configuration.binder";
-    version = "5.0.0";
+    pname = "microsoft.extensions.configuration.binder";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.configuration.commandline";
-    version = "5.0.0";
+    pname = "microsoft.extensions.configuration.commandline";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.configuration.environmentvariables";
-    version = "5.0.0";
+    pname = "microsoft.extensions.configuration.environmentvariables";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.configuration.fileextensions";
-    version = "5.0.0";
+    pname = "microsoft.extensions.configuration.fileextensions";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.configuration.json";
-    version = "5.0.0";
+    pname = "microsoft.extensions.configuration.json";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.dependencyinjection";
+    pname = "microsoft.extensions.dependencyinjection";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection/2.0.0/microsoft.extensions.dependencyinjection.2.0.0.nupkg";
@@ -392,15 +392,15 @@
     };
   }
   {
-    name = "microsoft.extensions.dependencyinjection";
-    version = "5.0.0";
+    pname = "microsoft.extensions.dependencyinjection";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.dependencyinjection.abstractions";
+    pname = "microsoft.extensions.dependencyinjection.abstractions";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/2.0.0/microsoft.extensions.dependencyinjection.abstractions.2.0.0.nupkg";
@@ -408,47 +408,47 @@
     };
   }
   {
-    name = "microsoft.extensions.dependencyinjection.abstractions";
-    version = "5.0.0";
+    pname = "microsoft.extensions.dependencyinjection.abstractions";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.dependencymodel";
-    version = "5.0.0";
+    pname = "microsoft.extensions.dependencymodel";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.fileproviders.abstractions";
-    version = "5.0.0";
+    pname = "microsoft.extensions.fileproviders.abstractions";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.fileproviders.physical";
-    version = "5.0.0";
+    pname = "microsoft.extensions.fileproviders.physical";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.filesystemglobbing";
-    version = "5.0.0";
+    pname = "microsoft.extensions.filesystemglobbing";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.logging";
+    pname = "microsoft.extensions.logging";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging/2.0.0/microsoft.extensions.logging.2.0.0.nupkg";
@@ -456,15 +456,15 @@
     };
   }
   {
-    name = "microsoft.extensions.logging";
-    version = "5.0.0";
+    pname = "microsoft.extensions.logging";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.logging.abstractions";
+    pname = "microsoft.extensions.logging.abstractions";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/2.0.0/microsoft.extensions.logging.abstractions.2.0.0.nupkg";
@@ -472,7 +472,7 @@
     };
   }
   {
-    name = "microsoft.extensions.logging.abstractions";
+    pname = "microsoft.extensions.logging.abstractions";
     version = "2.1.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/2.1.1/microsoft.extensions.logging.abstractions.2.1.1.nupkg";
@@ -480,31 +480,31 @@
     };
   }
   {
-    name = "microsoft.extensions.logging.abstractions";
-    version = "5.0.0";
+    pname = "microsoft.extensions.logging.abstractions";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.logging.configuration";
-    version = "5.0.0";
+    pname = "microsoft.extensions.logging.configuration";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.logging.console";
-    version = "5.0.0";
+    pname = "microsoft.extensions.logging.console";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.options";
+    pname = "microsoft.extensions.options";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/2.0.0/microsoft.extensions.options.2.0.0.nupkg";
@@ -512,15 +512,15 @@
     };
   }
   {
-    name = "microsoft.extensions.options";
-    version = "5.0.0";
+    pname = "microsoft.extensions.options";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.options.configurationextensions";
+    pname = "microsoft.extensions.options.configurationextensions";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options.configurationextensions/2.0.0/microsoft.extensions.options.configurationextensions.2.0.0.nupkg";
@@ -528,15 +528,15 @@
     };
   }
   {
-    name = "microsoft.extensions.options.configurationextensions";
-    version = "5.0.0";
+    pname = "microsoft.extensions.options.configurationextensions";
+    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";
     };
   }
   {
-    name = "microsoft.extensions.primitives";
+    pname = "microsoft.extensions.primitives";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/2.0.0/microsoft.extensions.primitives.2.0.0.nupkg";
@@ -544,23 +544,63 @@
     };
   }
   {
-    name = "microsoft.extensions.primitives";
-    version = "5.0.0";
+    pname = "microsoft.extensions.primitives";
+    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";
     };
   }
   {
-    name = "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.ref/3.1.0/microsoft.netcore.app.ref.3.1.0.nupkg";
-      sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y";
+      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";
     };
   }
   {
-    name = "microsoft.netcore.platforms";
+    pname = "microsoft.netcore.app.runtime.win-arm64";
+    version = "6.0.0";
+    src = fetchurl {
+      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";
+    };
+  }
+  {
+    pname = "microsoft.netcore.platforms";
     version = "1.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg";
@@ -568,7 +608,7 @@
     };
   }
   {
-    name = "microsoft.netcore.platforms";
+    pname = "microsoft.netcore.platforms";
     version = "1.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg";
@@ -576,7 +616,7 @@
     };
   }
   {
-    name = "microsoft.netcore.platforms";
+    pname = "microsoft.netcore.platforms";
     version = "2.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/2.0.0/microsoft.netcore.platforms.2.0.0.nupkg";
@@ -584,7 +624,7 @@
     };
   }
   {
-    name = "microsoft.netcore.platforms";
+    pname = "microsoft.netcore.platforms";
     version = "2.1.2";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/2.1.2/microsoft.netcore.platforms.2.1.2.nupkg";
@@ -592,7 +632,15 @@
     };
   }
   {
-    name = "microsoft.netcore.platforms";
+    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";
@@ -600,7 +648,7 @@
     };
   }
   {
-    name = "microsoft.netcore.targets";
+    pname = "microsoft.netcore.targets";
     version = "1.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg";
@@ -608,7 +656,7 @@
     };
   }
   {
-    name = "microsoft.netcore.targets";
+    pname = "microsoft.netcore.targets";
     version = "1.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg";
@@ -616,7 +664,7 @@
     };
   }
   {
-    name = "microsoft.netframework.referenceassemblies";
+    pname = "microsoft.netframework.referenceassemblies";
     version = "1.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg";
@@ -624,7 +672,7 @@
     };
   }
   {
-    name = "microsoft.netframework.referenceassemblies.net472";
+    pname = "microsoft.netframework.referenceassemblies.net472";
     version = "1.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netframework.referenceassemblies.net472/1.0.0/microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg";
@@ -632,7 +680,7 @@
     };
   }
   {
-    name = "microsoft.net.stringtools";
+    pname = "microsoft.net.stringtools";
     version = "1.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.net.stringtools/1.0.0/microsoft.net.stringtools.1.0.0.nupkg";
@@ -640,7 +688,7 @@
     };
   }
   {
-    name = "microsoft.sourcelink.common";
+    pname = "microsoft.sourcelink.common";
     version = "1.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.sourcelink.common/1.0.0/microsoft.sourcelink.common.1.0.0.nupkg";
@@ -648,7 +696,7 @@
     };
   }
   {
-    name = "microsoft.sourcelink.github";
+    pname = "microsoft.sourcelink.github";
     version = "1.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.sourcelink.github/1.0.0/microsoft.sourcelink.github.1.0.0.nupkg";
@@ -656,31 +704,23 @@
     };
   }
   {
-    name = "microsoft.testplatform.objectmodel";
-    version = "16.9.4";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.objectmodel/16.9.4/microsoft.testplatform.objectmodel.16.9.4.nupkg";
-      sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6";
-    };
-  }
-  {
-    name = "microsoft.testplatform.translationlayer";
-    version = "16.9.4";
+    pname = "microsoft.testplatform.objectmodel";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.translationlayer/16.9.4/microsoft.testplatform.translationlayer.16.9.4.nupkg";
-      sha256 = "0y5w2zflvq06jim2i6d49qi45ix0b8vlyf024w29n5g1lb570qf0";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.objectmodel/17.0.0/microsoft.testplatform.objectmodel.17.0.0.nupkg";
+      sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7";
     };
   }
   {
-    name = "microsoft.visualstudio.debugger.contracts";
-    version = "17.2.0-beta.21417.1";
+    pname = "microsoft.testplatform.translationlayer";
+    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";
     };
   }
   {
-    name = "microsoft.visualstudio.sdk.embedinteroptypes";
+    pname = "microsoft.visualstudio.sdk.embedinteroptypes";
     version = "15.0.12";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.sdk.embedinteroptypes/15.0.12/microsoft.visualstudio.sdk.embedinteroptypes.15.0.12.nupkg";
@@ -688,7 +728,7 @@
     };
   }
   {
-    name = "microsoft.visualstudio.setup.configuration.interop";
+    pname = "microsoft.visualstudio.setup.configuration.interop";
     version = "1.14.114";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.setup.configuration.interop/1.14.114/microsoft.visualstudio.setup.configuration.interop.1.14.114.nupkg";
@@ -696,7 +736,7 @@
     };
   }
   {
-    name = "microsoft.visualstudio.setup.configuration.interop";
+    pname = "microsoft.visualstudio.setup.configuration.interop";
     version = "1.16.30";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg";
@@ -704,7 +744,7 @@
     };
   }
   {
-    name = "microsoft.visualstudio.threading";
+    pname = "microsoft.visualstudio.threading";
     version = "16.7.56";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.threading/16.7.56/microsoft.visualstudio.threading.16.7.56.nupkg";
@@ -712,7 +752,7 @@
     };
   }
   {
-    name = "microsoft.visualstudio.threading.analyzers";
+    pname = "microsoft.visualstudio.threading.analyzers";
     version = "16.7.56";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.threading.analyzers/16.7.56/microsoft.visualstudio.threading.analyzers.16.7.56.nupkg";
@@ -720,7 +760,7 @@
     };
   }
   {
-    name = "microsoft.visualstudio.validation";
+    pname = "microsoft.visualstudio.validation";
     version = "15.5.31";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.validation/15.5.31/microsoft.visualstudio.validation.15.5.31.nupkg";
@@ -728,7 +768,7 @@
     };
   }
   {
-    name = "microsoft.win32.primitives";
+    pname = "microsoft.win32.primitives";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg";
@@ -736,7 +776,7 @@
     };
   }
   {
-    name = "microsoft.win32.registry";
+    pname = "microsoft.win32.registry";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.win32.registry/4.3.0/microsoft.win32.registry.4.3.0.nupkg";
@@ -744,7 +784,7 @@
     };
   }
   {
-    name = "microsoft.win32.registry";
+    pname = "microsoft.win32.registry";
     version = "4.6.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.win32.registry/4.6.0/microsoft.win32.registry.4.6.0.nupkg";
@@ -752,7 +792,7 @@
     };
   }
   {
-    name = "microsoft.win32.systemevents";
+    pname = "microsoft.win32.systemevents";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.win32.systemevents/4.7.0/microsoft.win32.systemevents.4.7.0.nupkg";
@@ -760,7 +800,7 @@
     };
   }
   {
-    name = "nerdbank.streams";
+    pname = "nerdbank.streams";
     version = "2.6.81";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nerdbank.streams/2.6.81/nerdbank.streams.2.6.81.nupkg";
@@ -768,7 +808,7 @@
     };
   }
   {
-    name = "netstandard.library";
+    pname = "netstandard.library";
     version = "1.6.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg";
@@ -776,7 +816,15 @@
     };
   }
   {
-    name = "netstandard.library";
+    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";
@@ -784,7 +832,7 @@
     };
   }
   {
-    name = "newtonsoft.json";
+    pname = "newtonsoft.json";
     version = "11.0.2";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg";
@@ -792,15 +840,15 @@
     };
   }
   {
-    name = "newtonsoft.json";
-    version = "12.0.3";
+    pname = "newtonsoft.json";
+    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";
     };
   }
   {
-    name = "newtonsoft.json";
+    pname = "newtonsoft.json";
     version = "9.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg";
@@ -808,15 +856,7 @@
     };
   }
   {
-    name = "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";
-    };
-  }
-  {
-    name = "nuget.common";
+    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,15 +864,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.configuration";
+    pname = "nuget.configuration";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.configuration/5.2.0/nuget.configuration.5.2.0.nupkg";
@@ -840,15 +880,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.dependencyresolver.core";
+    pname = "nuget.dependencyresolver.core";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.dependencyresolver.core/5.2.0/nuget.dependencyresolver.core.5.2.0.nupkg";
@@ -856,23 +896,23 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.frameworks";
-    version = "5.10.0";
+    pname = "nuget.frameworks";
+    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";
     };
   }
   {
-    name = "nuget.frameworks";
+    pname = "nuget.frameworks";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.frameworks/5.2.0/nuget.frameworks.5.2.0.nupkg";
@@ -880,15 +920,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.librarymodel";
+    pname = "nuget.librarymodel";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.librarymodel/5.2.0/nuget.librarymodel.5.2.0.nupkg";
@@ -896,15 +936,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.packaging";
+    pname = "nuget.packaging";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.packaging/5.2.0/nuget.packaging.5.2.0.nupkg";
@@ -912,23 +952,23 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.projectmodel";
+    pname = "nuget.projectmodel";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.projectmodel/5.2.0/nuget.projectmodel.5.2.0.nupkg";
@@ -936,15 +976,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.protocol";
+    pname = "nuget.protocol";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.protocol/5.2.0/nuget.protocol.5.2.0.nupkg";
@@ -952,15 +992,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "nuget.versioning";
+    pname = "nuget.versioning";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.versioning/5.2.0/nuget.versioning.5.2.0.nupkg";
@@ -968,7 +1008,15 @@
     };
   }
   {
-    name = "omnisharp.extensions.jsonrpc";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/omnisharp.extensions.jsonrpc/0.19.0/omnisharp.extensions.jsonrpc.0.19.0.nupkg";
@@ -976,7 +1024,7 @@
     };
   }
   {
-    name = "omnisharp.extensions.jsonrpc.generators";
+    pname = "omnisharp.extensions.jsonrpc.generators";
     version = "0.19.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/omnisharp.extensions.jsonrpc.generators/0.19.0/omnisharp.extensions.jsonrpc.generators.0.19.0.nupkg";
@@ -984,7 +1032,7 @@
     };
   }
   {
-    name = "omnisharp.extensions.languageprotocol";
+    pname = "omnisharp.extensions.languageprotocol";
     version = "0.19.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/omnisharp.extensions.languageprotocol/0.19.0/omnisharp.extensions.languageprotocol.0.19.0.nupkg";
@@ -992,7 +1040,7 @@
     };
   }
   {
-    name = "omnisharp.extensions.languageserver";
+    pname = "omnisharp.extensions.languageserver";
     version = "0.19.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/omnisharp.extensions.languageserver/0.19.0/omnisharp.extensions.languageserver.0.19.0.nupkg";
@@ -1000,7 +1048,7 @@
     };
   }
   {
-    name = "omnisharp.extensions.languageserver.shared";
+    pname = "omnisharp.extensions.languageserver.shared";
     version = "0.19.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/omnisharp.extensions.languageserver.shared/0.19.0/omnisharp.extensions.languageserver.shared.0.19.0.nupkg";
@@ -1008,7 +1056,143 @@
     };
   }
   {
-    name = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1016,7 +1200,7 @@
     };
   }
   {
-    name = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1024,7 +1208,7 @@
     };
   }
   {
-    name = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1032,7 +1216,7 @@
     };
   }
   {
-    name = "runtime.native.system";
+    pname = "runtime.native.system";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg";
@@ -1040,7 +1224,7 @@
     };
   }
   {
-    name = "runtime.native.system.io.compression";
+    pname = "runtime.native.system.io.compression";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg";
@@ -1048,7 +1232,7 @@
     };
   }
   {
-    name = "runtime.native.system.net.http";
+    pname = "runtime.native.system.net.http";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.native.system.net.http/4.3.0/runtime.native.system.net.http.4.3.0.nupkg";
@@ -1056,7 +1240,7 @@
     };
   }
   {
-    name = "runtime.native.system.security.cryptography.apple";
+    pname = "runtime.native.system.security.cryptography.apple";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.native.system.security.cryptography.apple/4.3.0/runtime.native.system.security.cryptography.apple.4.3.0.nupkg";
@@ -1064,7 +1248,7 @@
     };
   }
   {
-    name = "runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1072,7 +1256,7 @@
     };
   }
   {
-    name = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1080,7 +1264,7 @@
     };
   }
   {
-    name = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1088,7 +1272,7 @@
     };
   }
   {
-    name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple";
+    pname = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg";
@@ -1096,7 +1280,7 @@
     };
   }
   {
-    name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1104,7 +1288,7 @@
     };
   }
   {
-    name = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1112,7 +1296,7 @@
     };
   }
   {
-    name = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1120,7 +1304,7 @@
     };
   }
   {
-    name = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1128,7 +1312,7 @@
     };
   }
   {
-    name = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
+    pname = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1136,7 +1320,95 @@
     };
   }
   {
-    name = "sqlitepclraw.bundle_green";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/sqlitepclraw.bundle_green/2.0.4/sqlitepclraw.bundle_green.2.0.4.nupkg";
@@ -1144,7 +1416,7 @@
     };
   }
   {
-    name = "sqlitepclraw.core";
+    pname = "sqlitepclraw.core";
     version = "2.0.4";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/sqlitepclraw.core/2.0.4/sqlitepclraw.core.2.0.4.nupkg";
@@ -1152,7 +1424,7 @@
     };
   }
   {
-    name = "sqlitepclraw.lib.e_sqlite3";
+    pname = "sqlitepclraw.lib.e_sqlite3";
     version = "2.0.4";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/sqlitepclraw.lib.e_sqlite3/2.0.4/sqlitepclraw.lib.e_sqlite3.2.0.4.nupkg";
@@ -1160,7 +1432,7 @@
     };
   }
   {
-    name = "sqlitepclraw.provider.dynamic_cdecl";
+    pname = "sqlitepclraw.provider.dynamic_cdecl";
     version = "2.0.4";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/sqlitepclraw.provider.dynamic_cdecl/2.0.4/sqlitepclraw.provider.dynamic_cdecl.2.0.4.nupkg";
@@ -1168,7 +1440,7 @@
     };
   }
   {
-    name = "sqlitepclraw.provider.e_sqlite3";
+    pname = "sqlitepclraw.provider.e_sqlite3";
     version = "2.0.4";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/sqlitepclraw.provider.e_sqlite3/2.0.4/sqlitepclraw.provider.e_sqlite3.2.0.4.nupkg";
@@ -1176,7 +1448,7 @@
     };
   }
   {
-    name = "system.appcontext";
+    pname = "system.appcontext";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg";
@@ -1184,7 +1456,7 @@
     };
   }
   {
-    name = "system.buffers";
+    pname = "system.buffers";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.buffers/4.3.0/system.buffers.4.3.0.nupkg";
@@ -1192,7 +1464,7 @@
     };
   }
   {
-    name = "system.buffers";
+    pname = "system.buffers";
     version = "4.4.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.buffers/4.4.0/system.buffers.4.4.0.nupkg";
@@ -1200,15 +1472,7 @@
     };
   }
   {
-    name = "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";
-    };
-  }
-  {
-    name = "system.buffers";
+    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";
@@ -1216,7 +1480,7 @@
     };
   }
   {
-    name = "system.codedom";
+    pname = "system.codedom";
     version = "4.4.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.codedom/4.4.0/system.codedom.4.4.0.nupkg";
@@ -1224,7 +1488,7 @@
     };
   }
   {
-    name = "system.collections";
+    pname = "system.collections";
     version = "4.0.11";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.collections/4.0.11/system.collections.4.0.11.nupkg";
@@ -1232,7 +1496,7 @@
     };
   }
   {
-    name = "system.collections";
+    pname = "system.collections";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.collections/4.3.0/system.collections.4.3.0.nupkg";
@@ -1240,7 +1504,7 @@
     };
   }
   {
-    name = "system.collections.concurrent";
+    pname = "system.collections.concurrent";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg";
@@ -1248,7 +1512,7 @@
     };
   }
   {
-    name = "system.collections.immutable";
+    pname = "system.collections.immutable";
     version = "1.5.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg";
@@ -1256,7 +1520,7 @@
     };
   }
   {
-    name = "system.collections.immutable";
+    pname = "system.collections.immutable";
     version = "1.7.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.collections.immutable/1.7.1/system.collections.immutable.1.7.1.nupkg";
@@ -1264,7 +1528,7 @@
     };
   }
   {
-    name = "system.collections.immutable";
+    pname = "system.collections.immutable";
     version = "5.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg";
@@ -1272,7 +1536,15 @@
     };
   }
   {
-    name = "system.componentmodel.composition";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.componentmodel.composition/4.5.0/system.componentmodel.composition.4.5.0.nupkg";
@@ -1280,7 +1552,7 @@
     };
   }
   {
-    name = "system.composition";
+    pname = "system.composition";
     version = "1.0.31";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.composition/1.0.31/system.composition.1.0.31.nupkg";
@@ -1288,7 +1560,7 @@
     };
   }
   {
-    name = "system.composition.attributedmodel";
+    pname = "system.composition.attributedmodel";
     version = "1.0.31";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.composition.attributedmodel/1.0.31/system.composition.attributedmodel.1.0.31.nupkg";
@@ -1296,7 +1568,7 @@
     };
   }
   {
-    name = "system.composition.convention";
+    pname = "system.composition.convention";
     version = "1.0.31";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.composition.convention/1.0.31/system.composition.convention.1.0.31.nupkg";
@@ -1304,7 +1576,7 @@
     };
   }
   {
-    name = "system.composition.hosting";
+    pname = "system.composition.hosting";
     version = "1.0.31";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.composition.hosting/1.0.31/system.composition.hosting.1.0.31.nupkg";
@@ -1312,7 +1584,7 @@
     };
   }
   {
-    name = "system.composition.runtime";
+    pname = "system.composition.runtime";
     version = "1.0.31";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.composition.runtime/1.0.31/system.composition.runtime.1.0.31.nupkg";
@@ -1320,7 +1592,7 @@
     };
   }
   {
-    name = "system.composition.typedparts";
+    pname = "system.composition.typedparts";
     version = "1.0.31";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.composition.typedparts/1.0.31/system.composition.typedparts.1.0.31.nupkg";
@@ -1328,7 +1600,7 @@
     };
   }
   {
-    name = "system.configuration.configurationmanager";
+    pname = "system.configuration.configurationmanager";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.configuration.configurationmanager/4.7.0/system.configuration.configurationmanager.4.7.0.nupkg";
@@ -1336,7 +1608,7 @@
     };
   }
   {
-    name = "system.console";
+    pname = "system.console";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.console/4.3.0/system.console.4.3.0.nupkg";
@@ -1344,7 +1616,15 @@
     };
   }
   {
-    name = "system.diagnostics.debug";
+    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";
@@ -1352,7 +1632,7 @@
     };
   }
   {
-    name = "system.diagnostics.diagnosticsource";
+    pname = "system.diagnostics.diagnosticsource";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg";
@@ -1360,15 +1640,31 @@
     };
   }
   {
-    name = "system.diagnostics.diagnosticsource";
-    version = "5.0.0";
+    pname = "system.diagnostics.diagnosticsource";
+    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";
     };
   }
   {
-    name = "system.diagnostics.tools";
+    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";
+    };
+  }
+  {
+    pname = "system.diagnostics.tools";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg";
@@ -1376,7 +1672,7 @@
     };
   }
   {
-    name = "system.diagnostics.tracing";
+    pname = "system.diagnostics.tracing";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg";
@@ -1384,7 +1680,7 @@
     };
   }
   {
-    name = "system.drawing.common";
+    pname = "system.drawing.common";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.drawing.common/4.7.0/system.drawing.common.4.7.0.nupkg";
@@ -1392,7 +1688,15 @@
     };
   }
   {
-    name = "system.formats.asn1";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.formats.asn1/5.0.0/system.formats.asn1.5.0.0.nupkg";
@@ -1400,7 +1704,7 @@
     };
   }
   {
-    name = "system.globalization";
+    pname = "system.globalization";
     version = "4.0.11";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.globalization/4.0.11/system.globalization.4.0.11.nupkg";
@@ -1408,7 +1712,7 @@
     };
   }
   {
-    name = "system.globalization";
+    pname = "system.globalization";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.globalization/4.3.0/system.globalization.4.3.0.nupkg";
@@ -1416,7 +1720,7 @@
     };
   }
   {
-    name = "system.globalization.calendars";
+    pname = "system.globalization.calendars";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg";
@@ -1424,7 +1728,7 @@
     };
   }
   {
-    name = "system.globalization.extensions";
+    pname = "system.globalization.extensions";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg";
@@ -1432,7 +1736,7 @@
     };
   }
   {
-    name = "system.io";
+    pname = "system.io";
     version = "4.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io/4.1.0/system.io.4.1.0.nupkg";
@@ -1440,7 +1744,7 @@
     };
   }
   {
-    name = "system.io";
+    pname = "system.io";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io/4.3.0/system.io.4.3.0.nupkg";
@@ -1448,7 +1752,7 @@
     };
   }
   {
-    name = "system.io.compression";
+    pname = "system.io.compression";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg";
@@ -1456,7 +1760,7 @@
     };
   }
   {
-    name = "system.io.compression.zipfile";
+    pname = "system.io.compression.zipfile";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg";
@@ -1464,7 +1768,15 @@
     };
   }
   {
-    name = "system.io.filesystem";
+    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";
@@ -1472,7 +1784,15 @@
     };
   }
   {
-    name = "system.io.filesystem.primitives";
+    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";
@@ -1480,7 +1800,7 @@
     };
   }
   {
-    name = "system.io.pipelines";
+    pname = "system.io.pipelines";
     version = "4.7.3";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io.pipelines/4.7.3/system.io.pipelines.4.7.3.nupkg";
@@ -1488,7 +1808,7 @@
     };
   }
   {
-    name = "system.io.pipelines";
+    pname = "system.io.pipelines";
     version = "5.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io.pipelines/5.0.1/system.io.pipelines.5.0.1.nupkg";
@@ -1496,7 +1816,15 @@
     };
   }
   {
-    name = "system.linq";
+    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";
@@ -1504,7 +1832,15 @@
     };
   }
   {
-    name = "system.linq.expressions";
+    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";
@@ -1512,7 +1848,7 @@
     };
   }
   {
-    name = "system.memory";
+    pname = "system.memory";
     version = "4.5.3";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.memory/4.5.3/system.memory.4.5.3.nupkg";
@@ -1520,7 +1856,7 @@
     };
   }
   {
-    name = "system.memory";
+    pname = "system.memory";
     version = "4.5.4";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.memory/4.5.4/system.memory.4.5.4.nupkg";
@@ -1528,7 +1864,7 @@
     };
   }
   {
-    name = "system.net.http";
+    pname = "system.net.http";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.net.http/4.3.0/system.net.http.4.3.0.nupkg";
@@ -1536,7 +1872,23 @@
     };
   }
   {
-    name = "system.net.primitives";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg";
@@ -1544,7 +1896,7 @@
     };
   }
   {
-    name = "system.net.sockets";
+    pname = "system.net.sockets";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg";
@@ -1552,7 +1904,7 @@
     };
   }
   {
-    name = "system.net.websockets";
+    pname = "system.net.websockets";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.net.websockets/4.3.0/system.net.websockets.4.3.0.nupkg";
@@ -1560,7 +1912,7 @@
     };
   }
   {
-    name = "system.numerics.vectors";
+    pname = "system.numerics.vectors";
     version = "4.4.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg";
@@ -1568,7 +1920,7 @@
     };
   }
   {
-    name = "system.numerics.vectors";
+    pname = "system.numerics.vectors";
     version = "4.5.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg";
@@ -1576,7 +1928,15 @@
     };
   }
   {
-    name = "system.objectmodel";
+    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,7 +1944,15 @@
     };
   }
   {
-    name = "system.reactive";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.reactive/4.4.1/system.reactive.4.4.1.nupkg";
@@ -1592,7 +1960,7 @@
     };
   }
   {
-    name = "system.reflection";
+    pname = "system.reflection";
     version = "4.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection/4.1.0/system.reflection.4.1.0.nupkg";
@@ -1600,7 +1968,7 @@
     };
   }
   {
-    name = "system.reflection";
+    pname = "system.reflection";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection/4.3.0/system.reflection.4.3.0.nupkg";
@@ -1608,7 +1976,7 @@
     };
   }
   {
-    name = "system.reflection.dispatchproxy";
+    pname = "system.reflection.dispatchproxy";
     version = "4.5.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.dispatchproxy/4.5.1/system.reflection.dispatchproxy.4.5.1.nupkg";
@@ -1616,7 +1984,15 @@
     };
   }
   {
-    name = "system.reflection.emit";
+    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,15 +2000,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "system.reflection.emit.ilgeneration";
+    pname = "system.reflection.emit.ilgeneration";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit.ilgeneration/4.3.0/system.reflection.emit.ilgeneration.4.3.0.nupkg";
@@ -1640,15 +2016,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "system.reflection.emit.lightweight";
+    pname = "system.reflection.emit.lightweight";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg";
@@ -1656,15 +2032,15 @@
     };
   }
   {
-    name = "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";
     };
   }
   {
-    name = "system.reflection.extensions";
+    pname = "system.reflection.extensions";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg";
@@ -1672,7 +2048,7 @@
     };
   }
   {
-    name = "system.reflection.metadata";
+    pname = "system.reflection.metadata";
     version = "1.6.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg";
@@ -1680,7 +2056,7 @@
     };
   }
   {
-    name = "system.reflection.metadata";
+    pname = "system.reflection.metadata";
     version = "5.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg";
@@ -1688,7 +2064,7 @@
     };
   }
   {
-    name = "system.reflection.primitives";
+    pname = "system.reflection.primitives";
     version = "4.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg";
@@ -1696,7 +2072,7 @@
     };
   }
   {
-    name = "system.reflection.primitives";
+    pname = "system.reflection.primitives";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg";
@@ -1704,7 +2080,15 @@
     };
   }
   {
-    name = "system.reflection.typeextensions";
+    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";
@@ -1712,7 +2096,7 @@
     };
   }
   {
-    name = "system.resources.extensions";
+    pname = "system.resources.extensions";
     version = "4.6.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg";
@@ -1720,7 +2104,7 @@
     };
   }
   {
-    name = "system.resources.resourcemanager";
+    pname = "system.resources.resourcemanager";
     version = "4.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg";
@@ -1728,7 +2112,7 @@
     };
   }
   {
-    name = "system.resources.resourcemanager";
+    pname = "system.resources.resourcemanager";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg";
@@ -1736,7 +2120,7 @@
     };
   }
   {
-    name = "system.runtime";
+    pname = "system.runtime";
     version = "4.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime/4.1.0/system.runtime.4.1.0.nupkg";
@@ -1744,7 +2128,7 @@
     };
   }
   {
-    name = "system.runtime";
+    pname = "system.runtime";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime/4.3.0/system.runtime.4.3.0.nupkg";
@@ -1752,7 +2136,7 @@
     };
   }
   {
-    name = "system.runtime.compilerservices.unsafe";
+    pname = "system.runtime.compilerservices.unsafe";
     version = "4.4.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.4.0/system.runtime.compilerservices.unsafe.4.4.0.nupkg";
@@ -1760,7 +2144,7 @@
     };
   }
   {
-    name = "system.runtime.compilerservices.unsafe";
+    pname = "system.runtime.compilerservices.unsafe";
     version = "4.5.2";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.5.2/system.runtime.compilerservices.unsafe.4.5.2.nupkg";
@@ -1768,7 +2152,7 @@
     };
   }
   {
-    name = "system.runtime.compilerservices.unsafe";
+    pname = "system.runtime.compilerservices.unsafe";
     version = "4.5.3";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.5.3/system.runtime.compilerservices.unsafe.4.5.3.nupkg";
@@ -1776,15 +2160,7 @@
     };
   }
   {
-    name = "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";
-    };
-  }
-  {
-    name = "system.runtime.compilerservices.unsafe";
+    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";
@@ -1792,7 +2168,7 @@
     };
   }
   {
-    name = "system.runtime.compilerservices.unsafe";
+    pname = "system.runtime.compilerservices.unsafe";
     version = "5.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/5.0.0/system.runtime.compilerservices.unsafe.5.0.0.nupkg";
@@ -1800,7 +2176,15 @@
     };
   }
   {
-    name = "system.runtime.extensions";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg";
@@ -1808,7 +2192,7 @@
     };
   }
   {
-    name = "system.runtime.extensions";
+    pname = "system.runtime.extensions";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg";
@@ -1816,7 +2200,7 @@
     };
   }
   {
-    name = "system.runtime.handles";
+    pname = "system.runtime.handles";
     version = "4.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg";
@@ -1824,7 +2208,7 @@
     };
   }
   {
-    name = "system.runtime.handles";
+    pname = "system.runtime.handles";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg";
@@ -1832,7 +2216,7 @@
     };
   }
   {
-    name = "system.runtime.interopservices";
+    pname = "system.runtime.interopservices";
     version = "4.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg";
@@ -1840,7 +2224,7 @@
     };
   }
   {
-    name = "system.runtime.interopservices";
+    pname = "system.runtime.interopservices";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg";
@@ -1848,7 +2232,7 @@
     };
   }
   {
-    name = "system.runtime.interopservices.runtimeinformation";
+    pname = "system.runtime.interopservices.runtimeinformation";
     version = "4.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg";
@@ -1856,7 +2240,7 @@
     };
   }
   {
-    name = "system.runtime.interopservices.runtimeinformation";
+    pname = "system.runtime.interopservices.runtimeinformation";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg";
@@ -1864,7 +2248,7 @@
     };
   }
   {
-    name = "system.runtime.interopservices.windowsruntime";
+    pname = "system.runtime.interopservices.windowsruntime";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.interopservices.windowsruntime/4.3.0/system.runtime.interopservices.windowsruntime.4.3.0.nupkg";
@@ -1872,7 +2256,7 @@
     };
   }
   {
-    name = "system.runtime.numerics";
+    pname = "system.runtime.numerics";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg";
@@ -1880,7 +2264,15 @@
     };
   }
   {
-    name = "system.security.accesscontrol";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg";
@@ -1888,7 +2280,7 @@
     };
   }
   {
-    name = "system.security.accesscontrol";
+    pname = "system.security.accesscontrol";
     version = "4.6.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.accesscontrol/4.6.0/system.security.accesscontrol.4.6.0.nupkg";
@@ -1896,7 +2288,7 @@
     };
   }
   {
-    name = "system.security.accesscontrol";
+    pname = "system.security.accesscontrol";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.accesscontrol/4.7.0/system.security.accesscontrol.4.7.0.nupkg";
@@ -1904,7 +2296,15 @@
     };
   }
   {
-    name = "system.security.cryptography.algorithms";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg";
@@ -1912,7 +2312,7 @@
     };
   }
   {
-    name = "system.security.cryptography.algorithms";
+    pname = "system.security.cryptography.algorithms";
     version = "4.3.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.algorithms/4.3.1/system.security.cryptography.algorithms.4.3.1.nupkg";
@@ -1920,7 +2320,7 @@
     };
   }
   {
-    name = "system.security.cryptography.cng";
+    pname = "system.security.cryptography.cng";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.cng/4.3.0/system.security.cryptography.cng.4.3.0.nupkg";
@@ -1928,7 +2328,7 @@
     };
   }
   {
-    name = "system.security.cryptography.cng";
+    pname = "system.security.cryptography.cng";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.cng/4.7.0/system.security.cryptography.cng.4.7.0.nupkg";
@@ -1936,7 +2336,7 @@
     };
   }
   {
-    name = "system.security.cryptography.cng";
+    pname = "system.security.cryptography.cng";
     version = "5.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.cng/5.0.0/system.security.cryptography.cng.5.0.0.nupkg";
@@ -1944,7 +2344,7 @@
     };
   }
   {
-    name = "system.security.cryptography.csp";
+    pname = "system.security.cryptography.csp";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg";
@@ -1952,7 +2352,7 @@
     };
   }
   {
-    name = "system.security.cryptography.encoding";
+    pname = "system.security.cryptography.encoding";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg";
@@ -1960,7 +2360,7 @@
     };
   }
   {
-    name = "system.security.cryptography.openssl";
+    pname = "system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg";
@@ -1968,7 +2368,7 @@
     };
   }
   {
-    name = "system.security.cryptography.pkcs";
+    pname = "system.security.cryptography.pkcs";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.pkcs/4.7.0/system.security.cryptography.pkcs.4.7.0.nupkg";
@@ -1976,7 +2376,7 @@
     };
   }
   {
-    name = "system.security.cryptography.pkcs";
+    pname = "system.security.cryptography.pkcs";
     version = "5.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.pkcs/5.0.0/system.security.cryptography.pkcs.5.0.0.nupkg";
@@ -1984,7 +2384,7 @@
     };
   }
   {
-    name = "system.security.cryptography.primitives";
+    pname = "system.security.cryptography.primitives";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg";
@@ -1992,7 +2392,15 @@
     };
   }
   {
-    name = "system.security.cryptography.protecteddata";
+    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";
@@ -2000,7 +2408,7 @@
     };
   }
   {
-    name = "system.security.cryptography.protecteddata";
+    pname = "system.security.cryptography.protecteddata";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.7.0/system.security.cryptography.protecteddata.4.7.0.nupkg";
@@ -2008,7 +2416,7 @@
     };
   }
   {
-    name = "system.security.cryptography.x509certificates";
+    pname = "system.security.cryptography.x509certificates";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg";
@@ -2016,7 +2424,7 @@
     };
   }
   {
-    name = "system.security.cryptography.xml";
+    pname = "system.security.cryptography.xml";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.xml/4.7.0/system.security.cryptography.xml.4.7.0.nupkg";
@@ -2024,7 +2432,7 @@
     };
   }
   {
-    name = "system.security.permissions";
+    pname = "system.security.permissions";
     version = "4.5.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.permissions/4.5.0/system.security.permissions.4.5.0.nupkg";
@@ -2032,7 +2440,7 @@
     };
   }
   {
-    name = "system.security.permissions";
+    pname = "system.security.permissions";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.permissions/4.7.0/system.security.permissions.4.7.0.nupkg";
@@ -2040,7 +2448,23 @@
     };
   }
   {
-    name = "system.security.principal.windows";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg";
@@ -2048,7 +2472,7 @@
     };
   }
   {
-    name = "system.security.principal.windows";
+    pname = "system.security.principal.windows";
     version = "4.6.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.principal.windows/4.6.0/system.security.principal.windows.4.6.0.nupkg";
@@ -2056,7 +2480,7 @@
     };
   }
   {
-    name = "system.security.principal.windows";
+    pname = "system.security.principal.windows";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.principal.windows/4.7.0/system.security.principal.windows.4.7.0.nupkg";
@@ -2064,7 +2488,7 @@
     };
   }
   {
-    name = "system.text.encoding";
+    pname = "system.text.encoding";
     version = "4.0.11";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg";
@@ -2072,7 +2496,7 @@
     };
   }
   {
-    name = "system.text.encoding";
+    pname = "system.text.encoding";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg";
@@ -2080,7 +2504,7 @@
     };
   }
   {
-    name = "system.text.encoding.codepages";
+    pname = "system.text.encoding.codepages";
     version = "4.0.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg";
@@ -2088,7 +2512,7 @@
     };
   }
   {
-    name = "system.text.encoding.codepages";
+    pname = "system.text.encoding.codepages";
     version = "4.5.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.text.encoding.codepages/4.5.1/system.text.encoding.codepages.4.5.1.nupkg";
@@ -2096,7 +2520,15 @@
     };
   }
   {
-    name = "system.text.encoding.extensions";
+    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";
@@ -2104,39 +2536,47 @@
     };
   }
   {
-    name = "system.text.encodings.web";
-    version = "4.7.0";
+    pname = "system.text.encodings.web";
+    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";
     };
   }
   {
-    name = "system.text.encodings.web";
-    version = "5.0.0";
+    pname = "system.text.encodings.web";
+    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";
     };
   }
   {
-    name = "system.text.json";
-    version = "4.7.0";
+    pname = "system.text.json";
+    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";
     };
   }
   {
-    name = "system.text.json";
-    version = "5.0.0";
+    pname = "system.text.json";
+    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";
     };
   }
   {
-    name = "system.text.regularexpressions";
+    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";
+    };
+  }
+  {
+    pname = "system.text.regularexpressions";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg";
@@ -2144,7 +2584,7 @@
     };
   }
   {
-    name = "system.threading";
+    pname = "system.threading";
     version = "4.0.11";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading/4.0.11/system.threading.4.0.11.nupkg";
@@ -2152,7 +2592,7 @@
     };
   }
   {
-    name = "system.threading";
+    pname = "system.threading";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading/4.3.0/system.threading.4.3.0.nupkg";
@@ -2160,7 +2600,15 @@
     };
   }
   {
-    name = "system.threading.tasks";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg";
@@ -2168,7 +2616,7 @@
     };
   }
   {
-    name = "system.threading.tasks";
+    pname = "system.threading.tasks";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg";
@@ -2176,7 +2624,7 @@
     };
   }
   {
-    name = "system.threading.tasks.dataflow";
+    pname = "system.threading.tasks.dataflow";
     version = "5.0.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks.dataflow/5.0.0/system.threading.tasks.dataflow.5.0.0.nupkg";
@@ -2184,23 +2632,23 @@
     };
   }
   {
-    name = "system.threading.tasks.extensions";
-    version = "4.3.0";
+    pname = "system.threading.tasks.extensions";
+    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";
     };
   }
   {
-    name = "system.threading.tasks.extensions";
-    version = "4.5.2";
+    pname = "system.threading.tasks.extensions";
+    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";
     };
   }
   {
-    name = "system.threading.tasks.extensions";
+    pname = "system.threading.tasks.extensions";
     version = "4.5.3";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.5.3/system.threading.tasks.extensions.4.5.3.nupkg";
@@ -2208,7 +2656,7 @@
     };
   }
   {
-    name = "system.threading.tasks.extensions";
+    pname = "system.threading.tasks.extensions";
     version = "4.5.4";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg";
@@ -2216,7 +2664,23 @@
     };
   }
   {
-    name = "system.threading.timer";
+    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 {
       url = "https://api.nuget.org/v3-flatcontainer/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg";
@@ -2224,7 +2688,7 @@
     };
   }
   {
-    name = "system.valuetuple";
+    pname = "system.valuetuple";
     version = "4.5.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg";
@@ -2232,7 +2696,7 @@
     };
   }
   {
-    name = "system.windows.extensions";
+    pname = "system.windows.extensions";
     version = "4.7.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.windows.extensions/4.7.0/system.windows.extensions.4.7.0.nupkg";
@@ -2240,7 +2704,15 @@
     };
   }
   {
-    name = "system.xml.readerwriter";
+    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";
@@ -2248,7 +2720,15 @@
     };
   }
   {
-    name = "system.xml.xdocument";
+    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/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
index ec394630fdb1..1e805e8932e5 100644
--- a/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
+++ b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.35.0";
+  version = "0.37.2";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    sha256 = "sha256-IiYEDvTHb25xolE/IfpFgcJArxU6c89P5oNgt1T2VXA=";
+    sha256 = "sha256-2DkqRKAN7eOTBG6P3YYa5N9oJ0ndm35jIxK7o5Z3dfA=";
   };
   vendorSha256 = null;
 
diff --git a/nixpkgs/pkgs/development/tools/operator-sdk/default.nix b/nixpkgs/pkgs/development/tools/operator-sdk/default.nix
index 23bd877a698e..cc18a6af2272 100644
--- a/nixpkgs/pkgs/development/tools/operator-sdk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/oq/default.nix b/nixpkgs/pkgs/development/tools/oq/default.nix
index 31085e748c2c..32be12511612 100644
--- a/nixpkgs/pkgs/development/tools/oq/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/oshka/default.nix b/nixpkgs/pkgs/development/tools/oshka/default.nix
index bf31a9d9f311..5e7ca5a7da2a 100644
--- a/nixpkgs/pkgs/development/tools/oshka/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/packer/default.nix b/nixpkgs/pkgs/development/tools/packer/default.nix
index 6c7fdda336bc..0b3b15d85bff 100644
--- a/nixpkgs/pkgs/development/tools/packer/default.nix
+++ b/nixpkgs/pkgs/development/tools/packer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "packer";
-  version = "1.7.8";
+  version = "1.7.10";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "sha256-VLHibkyuB8H2zfUCAuk7lBKbW5bl2kJOkwpo/iqsdm8=";
+    sha256 = "sha256-KkdkLos55n+IE9oIZPADIcSgrE6kn0rDWzEkwoYfoFw=";
   };
 
-  vendorSha256 = "sha256-NB3oD4IB2xC9+d2eghPa1hnJM7Eop88zvRFlHdQDn38=";
+  vendorSha256 = "sha256-oSIwp8t+US8yNziuq0BR8BsVR1/e0jkxE4QuiqyheQQ=";
 
   subPackages = [ "." ];
 
@@ -35,6 +35,5 @@ buildGoModule rec {
     maintainers = with maintainers; [ cstrahan zimbatm ma27 ];
     changelog   = "https://github.com/hashicorp/packer/blob/v${version}/CHANGELOG.md";
     platforms   = platforms.unix;
-    broken = stdenv.isDarwin; # needs to update gopsutil to at least v3.21.3 to include https://github.com/shirou/gopsutil/pull/1042
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/packet-sd/default.nix b/nixpkgs/pkgs/development/tools/packet-sd/default.nix
index 0008fab7442e..f01d87be6e46 100644
--- a/nixpkgs/pkgs/development/tools/packet-sd/default.nix
+++ b/nixpkgs/pkgs/development/tools/packet-sd/default.nix
@@ -19,6 +19,6 @@ buildGoModule rec {
     homepage = "https://github.com/packethost/prometheus-packet-sd";
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = [ maintainers.andir ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/pandoc/default.nix b/nixpkgs/pkgs/development/tools/pandoc/default.nix
index 475fa6a93e4e..a61f39c15b67 100644
--- a/nixpkgs/pkgs/development/tools/pandoc/default.nix
+++ b/nixpkgs/pkgs/development/tools/pandoc/default.nix
@@ -26,7 +26,7 @@ in
     # This should ideally be fixed in haskellPackages (or even Cabal),
     # but a minimal pandoc is important enough to patch it manually.
     disallowedReferences = [ haskellPackages.pandoc-types haskellPackages.HTTP ];
-    postInstall = ''
+    postInstall = drv.postInstall or "" + ''
       remove-references-to \
         -t ${haskellPackages.pandoc-types} \
         $out/bin/pandoc
diff --git a/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix b/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
index b02af6e7e86c..90bd3f38c3b6 100644
--- a/nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/flex/default.nix b/nixpkgs/pkgs/development/tools/parsing/flex/default.nix
index e0895bab68d8..58f0bb54fb1a 100644
--- a/nixpkgs/pkgs/development/tools/parsing/flex/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/flex/default.nix
@@ -1,7 +1,11 @@
 { lib, stdenv, buildPackages, fetchurl, bison, m4
-, fetchpatch, autoreconfHook, help2man
+, autoreconfHook, help2man
 }:
 
+# Avoid 'fetchpatch' to allow 'flex' to be used as a possible 'gcc'
+# dependency during bootstrap. Useful when gcc is built from snapshot
+# or from a git tree (flex lexers are not pre-generated there).
+
 stdenv.mkDerivation rec {
   pname = "flex";
   version = "2.6.4";
@@ -13,11 +17,10 @@ stdenv.mkDerivation rec {
 
   # Also upstream, will be part of 2.6.5
   # https://github.com/westes/flex/commit/24fd0551333e
-  patches = [(fetchpatch {
+  patches = [(fetchurl {
     name = "glibc-2.26.patch";
-    url = "https://raw.githubusercontent.com/lede-project/source/0fb14a2b1ab2f82c"
-        + "/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch";
-    sha256 = "1aarhcmz7mfrgh15pkj6f7ikxa2m0mllw1i1vscsf1kw5d05lw6f";
+    url = "https://raw.githubusercontent.com/lede-project/source/0fb14a2b1ab2f82ce63f4437b062229d73d90516/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch";
+    sha256 = "0mpp41zdg17gx30kcpj83jl8hssks3adbks0qzbhcz882b9c083r";
   })];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix b/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
index c23b352decea..8e000cd0fc29 100644
--- a/nixpkgs/pkgs/development/tools/parsing/ragel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/re2c/default.nix b/nixpkgs/pkgs/development/tools/parsing/re2c/default.nix
index c3b09b71d173..41ec653a409b 100644
--- a/nixpkgs/pkgs/development/tools/parsing/re2c/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
index b56cd98da637..dfed3c91bc5e 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -27,10 +27,11 @@ let
   # to update:
   # 1) change all these hashes
   # 2) nix-build -A tree-sitter.updater.update-all-grammars
-  # 3) run the ./result script that is output by that (it updates ./grammars)
-  version = "0.20.1";
-  sha256 = "sha256-JKbL05hFWI0jhAnRT9D0SWCoRPFqoMD4+LQQ1zyWc7g=";
-  cargoSha256 = "sha256-64O+3GrDqhRGth20B2/+jNDYSnwvT3SqYVqYNthiCB0=";
+  # 3) OPTIONAL: Set GITHUB_TOKEN env variable to avoid api rate limit
+  # 4) run the ./result script that is output by that (it updates ./grammars)
+  version = "0.20.4";
+  sha256 = "sha256-H/7j4HnaccmaH5m/FMTbi01uA3JtKVHiJLTQ4VZ7jfo=";
+  cargoSha256 = "sha256-Pf/gVBQFssOomzq0IZp5H7MYwvFBRjMYfifLKCB7DCs=";
 
   src = fetchFromGitHub {
     owner = "tree-sitter";
@@ -57,7 +58,7 @@ let
     let
       change = name: grammar:
         callPackage ./grammar.nix { } {
-          language = name;
+          language = if grammar ? language then grammar.language else name;
           inherit version;
           source = fetchGrammar grammar;
           location = if grammar ? location then grammar.location else null;
@@ -66,6 +67,7 @@ let
       grammars = grammars' //
         { tree-sitter-ocaml = grammars'.tree-sitter-ocaml // { location = "ocaml"; }; } //
         { tree-sitter-ocaml-interface = grammars'.tree-sitter-ocaml // { location = "interface"; }; } //
+        { tree-sitter-org-nvim = grammars'.tree-sitter-org-nvim // { language = "org"; }; } //
         { tree-sitter-typescript = grammars'.tree-sitter-typescript // { location = "typescript"; }; } //
         { tree-sitter-tsx = grammars'.tree-sitter-typescript // { location = "tsx"; }; };
     in
@@ -90,7 +92,7 @@ let
           in
           {
             name =
-              (lib.strings.replaceStrings ["-"] ["_"]
+              (lib.strings.replaceStrings [ "-" ] [ "_" ]
                 (lib.strings.removePrefix "tree-sitter-"
                   (lib.strings.removeSuffix "-grammar" name)))
               + stdenv.hostPlatform.extensions.sharedLibrary;
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
index 6995c41cc911..eb2275d2724c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
@@ -1,5 +1,4 @@
 { lib }:
-
 {
   tree-sitter-agda = lib.importJSON ./tree-sitter-agda.json;
   tree-sitter-bash = lib.importJSON ./tree-sitter-bash.json;
@@ -55,6 +54,7 @@
   tree-sitter-nix = lib.importJSON ./tree-sitter-nix.json;
   tree-sitter-norg = lib.importJSON ./tree-sitter-norg.json;
   tree-sitter-ocaml = lib.importJSON ./tree-sitter-ocaml.json;
+  tree-sitter-org-nvim = lib.importJSON ./tree-sitter-org-nvim.json;
   tree-sitter-perl = lib.importJSON ./tree-sitter-perl.json;
   tree-sitter-php = lib.importJSON ./tree-sitter-php.json;
   tree-sitter-pioasm = lib.importJSON ./tree-sitter-pioasm.json;
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
index efd5be612847..487f3a27e072 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-c-sharp",
-  "rev": "3104df21065af0f3d51e05a96cd0e2ff16a6f982",
-  "date": "2021-12-09T21:13:54+00:00",
-  "path": "/nix/store/1xgrz7rm6mc6j2svaidj4x0zyda0ahz4-tree-sitter-c-sharp",
-  "sha256": "14g8x5q4xc87s2wpycws6r6ci083j7pk1jdw6sr8qp96zyzs17pp",
+  "rev": "352a4630c81a7a5cbd3bc67327743bd8d38f2dd2",
+  "date": "2022-01-03T12:31:17+00:00",
+  "path": "/nix/store/c7k10h98vzqag0rsywm0p71jaz57880x-tree-sitter-c-sharp",
+  "sha256": "198n5i9bvks0mmbqgzjgrhv6hy1afnx806jnap10241iyd817jbf",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json
index 61e0ee43fc7a..9e5bce1b0a43 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
index c25aebe78a72..56e0ad099ce3 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/stsewd/tree-sitter-comment",
-  "rev": "5dd3c62f1bbe378b220fe16b317b85247898639e",
-  "date": "2021-10-01T17:13:56-05:00",
-  "path": "/nix/store/isrc5wlyxvcawfj35yi4nmblshy69b1j-tree-sitter-comment",
-  "sha256": "1wk6lxzndaikbrn72pa54y59qs0xnfaffc8mxmm6c5v5x16l8vb3",
+  "rev": "6975eb268f42df2afc313f96c0693e284685dba7",
+  "date": "2022-01-22T20:58:19-05:00",
+  "path": "/nix/store/nl4whdipy7a4g3ds2yv3c0qr7z4pifwn-tree-sitter-comment",
+  "sha256": "009krarzs9qykd8fas67gychjzcbgj8j0jm9h0963dlxs4hyay73",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json
index cefe88d8be12..ed62f80e237d 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
index 32f4a9cd64f8..47c6b811ff16 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-cpp",
-  "rev": "e8dcc9d2b404c542fd236ea5f7208f90be8a6e89",
-  "date": "2021-10-28T08:16:36-05:00",
-  "path": "/nix/store/d08ymiv4qjs9hnc8b0yw700da47879wb-tree-sitter-cpp",
-  "sha256": "1h0q4prr8yf714abz16i2ym41sskmilmga521sxv9d75kqhyb3wl",
+  "rev": "656d7ea44b2b0daece78791e30281e283f30001e",
+  "date": "2022-01-17T09:06:11-06:00",
+  "path": "/nix/store/w4qqya24zf0cd7rqw1440szrrad8nf23-tree-sitter-cpp",
+  "sha256": "0vfgv9rw8pw4d41p5rndy7cjw8w0k0vnn54cwpxkm3r2vblnjn58",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json
index 7eb34545b416..d9fb78dd2723 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/thehamsta/tree-sitter-cuda",
-  "rev": "bc20ed7a36031437a69a88ef368af4b9f1ecec70",
-  "date": "2021-12-10T00:43:38+01:00",
-  "path": "/nix/store/zagrgq7zfh6n90z4qpp8cy002g588dhj-tree-sitter-cuda",
-  "sha256": "04gnfjq5rd1vcby8737wxhzmg4vmn2ggjz6n94bbna8b96qc1xxj",
+  "rev": "14cd86e18ba45e327017de5b3e0f8d8f7f8e98ec",
+  "date": "2022-01-24T00:39:28+01:00",
+  "path": "/nix/store/3lskjrhqd16ymvsbrwzcsdd80cyr7ljj-tree-sitter-cuda",
+  "sha256": "09qpl5mfv39788smz87zbzp04i3rdhsckjjqngvr0w24dsw30nyx",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
index 3041fe7610fa..b0bad04a86fb 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/elixir-lang/tree-sitter-elixir",
-  "rev": "1b3ecf7765979a5602bbb8988b8fc0d9f4c887d6",
-  "date": "2021-12-15T23:29:48+01:00",
-  "path": "/nix/store/ahdmwdlw7g63wf681cvclxh92mp8waba-tree-sitter-elixir",
-  "sha256": "09kmi989hp2fp7w1xsambnlnp49fnnivdh45pwz9y3dab8iyngsn",
+  "rev": "de20391afe5cb03ef1e8a8e43167e7b58cc52869",
+  "date": "2022-01-10T10:35:12-06:00",
+  "path": "/nix/store/099pwd7iv86g1j4fplgq33a4jpwbvv60-tree-sitter-elixir",
+  "sha256": "0zrkrwhw3g1vazsxcwrfd1fk4wvs9hdwmwp6073mfh370bz4140h",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json
index e5ab2be11133..19129d053a05 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json
+++ b/nixpkgs/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": "8dd06afd9ca60a420374c6b65831e58a1d1237ad",
-  "date": "2021-07-26T03:59:46+02:00",
-  "path": "/nix/store/pz5nbdx19mdq6dp238l1qc3n81l2i88f-tree-sitter-elm",
-  "sha256": "1mncr0nvb616zn2172pqcjd2jrqzyfad0y1pz2mwh8pqwfr0c3nf",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
index 53cac3040afc..266de6ad18b5 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-embedded-template",
-  "rev": "1c03594a44df1fc2020b989d503cb084abd5fd01",
-  "date": "2021-03-04T10:06:18-08:00",
-  "path": "/nix/store/09b9drfnywcy1i8wlw6slnn76ch40kqk-tree-sitter-embedded-template",
-  "sha256": "0c9l4i6kwb29zp05h616y3vk2hhcfc8bhdf9m436bk47pfy2zabg",
+  "rev": "d21df11b0ecc6fd211dbe11278e92ef67bd17e97",
+  "date": "2021-12-23T08:53:16-08:00",
+  "path": "/nix/store/zy74brmd1x2q68bpvi5v4z52bhmkcmy8-tree-sitter-embedded-template",
+  "sha256": "0h3nj6fz512riyx2b65pg9pjprkpkasnglwljlzi6s1in9fdig3x",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json
index 9a0adc92f381..0b67ae1632de 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/thehamsta/tree-sitter-glsl",
-  "rev": "26ba31a3f5a85ebed5d71e49eef11a003bed782b",
-  "date": "2021-11-22T08:02:47+01:00",
-  "path": "/nix/store/khlrphky7p7qdivnn34r8hxlpzgav3xm-tree-sitter-glsl",
-  "sha256": "0qvn45whhd6q4wwqaihfd90197xr8lcynwjj418hxl83m9zy8xcz",
+  "rev": "ffb93961426926554a0ba4a389ea6e9d6fafdea9",
+  "date": "2022-01-24T11:15:06+01:00",
+  "path": "/nix/store/x508b69xq0y2ly4hspkgyq5g0v29xvjz-tree-sitter-glsl",
+  "sha256": "1b91wamhdzqq76l9k3vkmrdb1j98w5slzw8d4piqlgp70j396813",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
index 7e7ef382bae2..622f2863290c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-go",
-  "rev": "1203c11e422c73350e672445c5c32b8c0f79266d",
-  "date": "2021-12-03T14:22:11-08:00",
-  "path": "/nix/store/5h584m7qgvlh0s5k10503zj3idggandz-tree-sitter-go",
-  "sha256": "03i63mh5g21y424pf9whl42p7shqp9xlrx90xpyrd12dlc9zhh2j",
+  "rev": "0fa917a7022d1cd2e9b779a6a8fc5dc7fad69c75",
+  "date": "2022-01-06T10:54:10+01:00",
+  "path": "/nix/store/bw2hilbj37ys9lig2fzz58cvjy7nhn3l-tree-sitter-go",
+  "sha256": "0kgy4yyd0z8pydldnfwsfw2iwbhn4f43qxfhy94wvpwiwi74kfmg",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
index 230c534ce950..31114781f58c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-haskell",
-  "rev": "d72f2e42c0d5ccf8e8b1c39e3642428317e8fe02",
-  "date": "2021-11-14T23:21:37+01:00",
-  "path": "/nix/store/n36iwva3hk2045wx87mahbsfrqhx6mbw-tree-sitter-haskell",
-  "sha256": "0clqyd1mnfz8xcpsr90nzh6j37pdgbgrr4jqf9ifn6m851k4f09g",
+  "rev": "d6ccd2d9c40bdec29fee0027ef04fe5ff1ae4ceb",
+  "date": "2022-01-07T03:13:04+01:00",
+  "path": "/nix/store/biyjfajma7nr175xviaw65jksqfak893-tree-sitter-haskell",
+  "sha256": "0zfxi3adqhy7d1w2dvnywkms8a4vfxkjswdhar7p5sxyps8a5wry",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
index 99eb38b7adb2..654a89b5979b 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/connorlay/tree-sitter-heex",
-  "rev": "625a721ac38d9dd23d4f2b08eceb6700a2e670d5",
-  "date": "2021-10-19T12:18:28-07:00",
-  "path": "/nix/store/pr36q25xgnpmywm53w6rg58ygs9l93wj-tree-sitter-heex",
-  "sha256": "1r7wrb1h2l35wp0hlswb3xpwcf55dr56r865sriq3ngv89y64yha",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
index 2d7079a97c78..6f9344437bfa 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-java",
-  "rev": "ed3a87f750b1d1d533f15ab93fef3e1f5a46e234",
-  "date": "2021-10-17T09:05:07+02:00",
-  "path": "/nix/store/crd0zzw31hx5jw7m95dvpssr3pi60k5l-tree-sitter-java",
-  "sha256": "14qwmpm7dzqwby59vy1nhyddfz2lpf69ajr65s7qaqh0jcs6rs19",
+  "rev": "a24ae7d16de3517bff243a87d087d0b4877a65c5",
+  "date": "2022-01-12T08:57:59-08:00",
+  "path": "/nix/store/dipis7syj55xrmc72gvx2f9q672mn6dg-tree-sitter-java",
+  "sha256": "0p01xkxzdjwx32hd6k4kqidlhkgj8q9b9lp4g4fra5gx9w159iqm",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
index c41e4237b767..5cf20f27968f 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
+++ b/nixpkgs/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": "2c0d03a36ee979bc697f6a9dd119174cf0ef15e0",
-  "date": "2021-07-19T17:50:34+02:00",
-  "path": "/nix/store/vrpfbjfps3bd9vrx8760l0vx7m7ijhja-tree-sitter-latex",
-  "sha256": "0dfpdv5sibvajf2grlc0mqhyggjf6ip9j01jikk58n1yc9va88ib",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
index 6fbe13182fec..caa2f13a358c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/benwilliamgraham/tree-sitter-llvm",
-  "rev": "d4f61bed8ecb632addcd5e088c4f4cb9c1bf1c5b",
-  "date": "2021-10-03T12:19:51-04:00",
-  "path": "/nix/store/k9vpa9lvrvf1im6wx0c0xyjf2yzgbn0x-tree-sitter-llvm",
-  "sha256": "0iiigra7knvwsb6v76qs7vxpkmfnggakd27gl6sz9dm6gimp1adp",
+  "rev": "3b213925b9c4f42c1acfe2e10bfbb438d9c6834d",
+  "date": "2021-12-27T14:02:51-05:00",
+  "path": "/nix/store/hjg9z82l3iqyjw0s9lf1kkm31p5wlv3d-tree-sitter-llvm",
+  "sha256": "0ymrdcajji11852c158w67mgcsycphwj9mh777q3n4jn8pp37y8j",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
index 988f76792273..a11ac648fed2 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
@@ -1,9 +1,9 @@
 {
-  "url": "https://github.com/nvim-treesitter/tree-sitter-lua",
-  "rev": "6f5d40190ec8a0aa8c8410699353d820f4f7d7a6",
-  "date": "2021-08-02T15:13:28+02:00",
-  "path": "/nix/store/h1bhl291jac001w2c8fxi9w7dsqxq5q0-tree-sitter-lua",
-  "sha256": "05ash0l46s66q9yamzzh6ghk8yv0vas13c7dmz0c9xljbjk5ab1d",
+  "url": "https://github.com/MunifTanjim/tree-sitter-lua",
+  "rev": "547184a6cfcc900fcac4a2a56538fa8bcdb293e6",
+  "date": "2022-01-28T20:44:16+06:00",
+  "path": "/nix/store/gvq91asqk6911bci8xxx5wjbp2p3c2lk-tree-sitter-lua",
+  "sha256": "04z182d591r3jlw0yx29m0hhzw4b14f8m85rz2bw959p0yghs88k",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
index c908bde0dfff..e34455069bc3 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
@@ -1,9 +1,9 @@
 {
-  "url": "https://github.com/ikatyang/tree-sitter-markdown",
-  "rev": "8b8b77af0493e26d378135a3e7f5ae25b555b375",
-  "date": "2021-04-18T20:49:21+08:00",
-  "path": "/nix/store/4z2k0q6rwqmb7vbqr4vgc26w28szlan3-tree-sitter-markdown",
-  "sha256": "1a2899x7i6dgbsrf13qzmh133hgfrlvmjsr3bbpffi1ixw1h7azk",
+  "url": "https://github.com/MDeiml/tree-sitter-markdown",
+  "rev": "8bee14c30ecadd55c2d65633973b4e81f93525e0",
+  "date": "2022-01-16T14:47:09+01:00",
+  "path": "/nix/store/cv7xqvcj4bjifzddkx5n2jd723dc6vlf-tree-sitter-markdown",
+  "sha256": "0vibmpp86pkqllfhb0kg6zhaz09sh8m6a2d1xa8p2qdi7ryy7wqa",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json
index 7feaee05a865..1743d2252cd6 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json
+++ b/nixpkgs/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": "665736e400cfd52ae92ead244ca9f5d44db98151",
-  "date": "2021-12-14T15:04:57+01:00",
-  "path": "/nix/store/crbl24rj54f8c9pjq8igadz3wqcw6qrw-tree-sitter-norg",
-  "sha256": "0hxar07a7n3ghqagr0qjxbz4sgzcpyxwgd4dbj1vvy4xnk07i0br",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
new file mode 100644
index 000000000000..67e75cd60ee2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
@@ -0,0 +1,11 @@
+{
+  "url": "https://github.com/milisims/tree-sitter-org",
+  "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,
+  "leaveDotGit": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json
index fd07357b6bb8..9585b6c60768 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/ganezdragon/tree-sitter-perl",
-  "rev": "0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a",
-  "date": "2021-11-01T14:40:51-04:00",
-  "path": "/nix/store/1yzkap7jvps3xdj19pygyv1bn6c33qak-tree-sitter-perl",
-  "sha256": "184zaicrl9i4cywhyc2cxpghw7daz9pi0fhwkkgpv7j6kvp1ig2w",
+  "rev": "ab2b39439f2fc82fd5ea0b7e08509760d4cbacd5",
+  "date": "2022-01-23T13:55:11-05:00",
+  "path": "/nix/store/s55aybm3r5n7l7nx916mhjyry96xcvin-tree-sitter-perl",
+  "sha256": "16ap0yq9gmh0kbyka7zcpjw3dl368n23sxp3v82z4ccwzmgfmaw4",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index e64e3f6bff36..856d6bbb7e5c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
index 548764811a55..e724e7bbebc4 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json
index 8f70551443fa..4da8b33c4852 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/nvim-treesitter/tree-sitter-query",
-  "rev": "9a2ccff9f672f1f3d320cf925b8e5acc89b27055",
-  "date": "2021-07-13T08:51:40-05:00",
-  "path": "/nix/store/k843gr9rlkd5jaf9arvlwcs31wsznn81-tree-sitter-query",
-  "sha256": "0x5ssq8pb767s1l68123jaa5p4570xmz74ii94kckd46wmqbk4v9",
+  "rev": "5217c6805c09f8fc00ed13d17d5fcb791437aee6",
+  "date": "2021-12-23T16:48:02-05:00",
+  "path": "/nix/store/b8n553bwlyzi05p8vn08qv6vbzg9875q-tree-sitter-query",
+  "sha256": "00q6cpw5rkb20cypx820glqhfs4vsgqdymj5y0sknd874lq6crfg",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
index dd644745aea2..f77e92922533 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
+++ b/nixpkgs/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": "91f587e5685f46e26f9f6e55f2e06d503f8f0fc0",
-  "date": "2021-12-03T10:44:27-05:00",
-  "path": "/nix/store/z89yfih6g05fkrzz6s7snkyqp8wj8pi5-tree-sitter-r",
-  "sha256": "0dds34vgrvgxi1918a2w6xcw5l8n9ch3qi43vql769p8zxf8qijp",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json
index b07344339855..3a2c6f258ae3 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-regex",
-  "rev": "7b97502cfc3ffa7110f6b68bb39fb259c9a0500c",
-  "date": "2021-08-17T11:21:39-07:00",
-  "path": "/nix/store/3lpj820c141i26p20kin465xlr5jpyjs-tree-sitter-regex",
-  "sha256": "0n9lmwwgij00078v3fr19vfn1g3wh3agm8jqp80v1cnrcsmpn97p",
+  "rev": "e1cfca3c79896ff79842f057ea13e529b66af636",
+  "date": "2022-01-03T09:37:11-08:00",
+  "path": "/nix/store/24lr7jzznsd3z7cld007aww25kbwcf51-tree-sitter-regex",
+  "sha256": "0j6j0h8ciyhgmcq9iy3843anyfvd7s0biqzgbsqgwbgbqbg2nfwl",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rst.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rst.json
index 23506e55ede9..db200508b4bc 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rst.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rst.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/stsewd/tree-sitter-rst",
-  "rev": "a5514617ae3644effa80d4696be428e4a371c01a",
-  "date": "2021-11-05T20:58:51-05:00",
-  "path": "/nix/store/is0j0cpd3i7q7liqlcrfdflabmm9rnlg-tree-sitter-rst",
-  "sha256": "1bw0yry968qz4arzckxpyz5zkw6ajyirrxyf78m9lr1zmz1vnivy",
+  "rev": "b74770c0166f28c1a0ab293513a78712ca1c338b",
+  "date": "2022-01-22T20:59:44-05:00",
+  "path": "/nix/store/ymhzq6hwq43gf918zyxk7can4qfkz7n1-tree-sitter-rst",
+  "sha256": "0q50vwk72lrgnrdjjn5aj1fjksrwkd0gfmdnrjy59a6cw8m1gmf0",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
index e9df62ad10fd..86320373d7ea 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-ruby",
-  "rev": "888e2e563ed3b43c417f17e57f7e29c39ce9aeea",
-  "date": "2021-12-03T16:33:06+01:00",
-  "path": "/nix/store/6g101r5pwy6iqicch9srlhwfz9xdrvzd-tree-sitter-ruby",
-  "sha256": "0xfcqafslxlpkw7agw4a179w3c6k6ivi3fzlf32pqfd5bjrlx9d7",
+  "rev": "fe6a2d634da0e16b11b5aa255cc3df568a4572fd",
+  "date": "2021-03-03T16:54:30-08:00",
+  "path": "/nix/store/ragrvqj7hm98r74v5b3fljvc47gd3nhj-tree-sitter-ruby",
+  "sha256": "0m3h4928rbs300wcb6776h9r88hi32rybbhcaf6rdympl5nzi83v",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
index 2f6ac50b07da..87cc40f83b89 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
+++ b/nixpkgs/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": "d045b04b66d51c0ba8671e7ce1ee23a9f286b7d7",
-  "date": "2021-12-12T10:08:54-08:00",
-  "path": "/nix/store/2h6vkl05jxqgp4738a0dxccmg40yhqvj-tree-sitter-rust",
-  "sha256": "0ckyaw1ll3yazyg18wd40kc09h6f0zmwqmahsm07bwgfyc2nvf3h",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json
index 03644c839c3c..0b2637a14389 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
index 26f6d7bc0bc8..24f577629497 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/madskjeldgaard/tree-sitter-supercollider",
-  "rev": "ac83e9d5ef3a62d2160d0f1e0a64a949ecda1d8b",
-  "date": "2021-12-21T18:04:07+01:00",
-  "path": "/nix/store/zk5zwg98pljk2dwqax81pib3l68wgl8x-tree-sitter-supercollider",
-  "sha256": "0qpjy40wigcf6r23j2i3yqr061n6zdz60mlm9i5mkii2y65ff8cf",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-swift.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-swift.json
index 0c7fbb0d1add..7232c7b54aca 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-swift.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-swift.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-swift",
-  "rev": "a22fa5e19bae50098e2252ea96cba3aba43f4c58",
-  "date": "2019-10-24T19:04:02-06:00",
-  "path": "/nix/store/pk5xk8yp6vanbar75bhfrs104w0k1ph0-tree-sitter-swift",
-  "sha256": "14b40lmwrnyvdz2wiv684kfh4fvqfhbj1dgrx81ppmy7hsz7jcq7",
+  "rev": "db675450dcc1478ee128c96ecc61c13272431aab",
+  "date": "2022-01-13T10:47:55-08:00",
+  "path": "/nix/store/l3535ndrmi24v5nidxppi1rqccj4s17v-tree-sitter-swift",
+  "sha256": "06mq1an55p75ajwn6pvcy9vlcmzrj8qmbri3mn4bxq53icnj4fya",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json
index cf939daf9cc6..2ffc311fd943 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json
+++ b/nixpkgs/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": "26bbaf5d07356cacbf21defa9316988bc732c8b3",
-  "date": "2021-10-12T19:50:03-04:00",
-  "path": "/nix/store/52rs1n8y6krfkb9z2h7jsl4s3j15dp08-tree-sitter-tlaplus",
-  "sha256": "1yj2hjc48sjjpysjgyji7nx2l0rpc5dnsm68i8amff5wcag5lyhw",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
index 063ecbbb57e3..fc04fd069e4f 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-typescript",
-  "rev": "111b07762e86efab9a918b7c721f720c37e76b0a",
-  "date": "2021-11-09T11:34:06-08:00",
-  "path": "/nix/store/kndz7jkpl2adcaac64j7y9sb6zd7mp5h-tree-sitter-typescript",
-  "sha256": "1364bm3wbqqzvp03cvpx1w89bbqynb1v62i46gy7f6rhib9bf63a",
+  "rev": "e8e8e8dc2745840b036421b4e43286750443cb13",
+  "date": "2022-01-10T13:42:45-08:00",
+  "path": "/nix/store/zl36qsk7pd9pcawfsy368axax97d83wz-tree-sitter-typescript",
+  "sha256": "1z1v7fjgp418qsp0xkycfpvc8vm4a2ai5kx10xif1dvjpfgcj1qq",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
index 79a31402ad7f..12322fe82b40 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/vigoux/tree-sitter-viml",
-  "rev": "1d23679256edb241ebed8da1247e340bf9e0c0ad",
-  "date": "2021-10-18T11:21:06+02:00",
-  "path": "/nix/store/5a4kihij5jcdpn73i3m7av82k4pvvzpy-tree-sitter-viml",
-  "sha256": "1660y9n1s76xcv0z27kzbbsr9bdv4c4xakzglzhl7z7qcylxg2rr",
+  "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/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
index 98a30d08ac44..5ab34fb0e25b 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/maxxnino/tree-sitter-zig",
-  "rev": "cf93353d5682c3e9d8112d448ff24d4de7b2304e",
-  "date": "2021-11-25T20:46:40+09:00",
-  "path": "/nix/store/jwrs3fdgdqymjkrni6mlz1j0f0ai6h9y-tree-sitter-zig",
-  "sha256": "04ja9w28zprw575s4734d02ibi498whh3z7cxm3m1fdydhjsdlrj",
+  "rev": "93331b8bd8b4ebee2b575490b2758f16ad4e9f30",
+  "date": "2022-01-10T15:22:15+09:00",
+  "path": "/nix/store/g54w7vid7nf9shzfipch646dk4d88ah7-tree-sitter-zig",
+  "sha256": "0irckd6bh3i1vr5bi2lwsbvibbpih3jv3xqdq0dbsiy447dfiv50",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
index 58d420fe4028..246574895e3c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -105,7 +105,7 @@ let
       repo = "tree-sitter-latex";
     };
     "tree-sitter-lua" = {
-      orga = "nvim-treesitter";
+      orga = "MunifTanjim";
       repo = "tree-sitter-lua";
     };
     "tree-sitter-fennel" = {
@@ -117,7 +117,7 @@ let
       repo = "tree-sitter-make";
     };
     "tree-sitter-markdown" = {
-      orga = "ikatyang";
+      orga = "MDeiml";
       repo = "tree-sitter-markdown";
     };
     "tree-sitter-rst" = {
@@ -304,6 +304,10 @@ let
       orga = "victorhqc";
       repo = "tree-sitter-prisma";
     };
+    "tree-sitter-org-nvim" = {
+      orga = "milisims";
+      repo = "tree-sitter-org";
+    };
   };
 
   allGrammars =
@@ -360,13 +364,19 @@ let
   # generic bash script to find the latest github release for a repo
   latestGithubRelease = { orga, repo }: writeShellScript "latest-github-release" ''
     set -euo pipefail
-    res=$(${curl}/bin/curl \
-      --silent \
-      "https://api.github.com/repos/${urlEscape orga}/${urlEscape repo}/releases/latest")
+
+    args=( '--silent' )
+    if [ -n "''${GITHUB_TOKEN:-}" ]; then
+      args+=( "-H" "Authorization: token ''${GITHUB_TOKEN}" )
+    fi
+    args+=( "https://api.github.com/repos/${urlEscape orga}/${urlEscape repo}/releases/latest" )
+
+    res=$(${curl}/bin/curl "''${args[@]}")
+
     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
@@ -378,12 +388,21 @@ let
   # find the latest repos of a github organization
   latestGithubRepos = { orga }: writeShellScript "latest-github-repos" ''
     set -euo pipefail
-    res=$(${curl}/bin/curl \
-      --silent \
-      'https://api.github.com/orgs/${urlEscape orga}/repos?per_page=100')
+
+    args=( '--silent' )
+    if [ -n "''${GITHUB_TOKEN:-}" ]; then
+      args+=( "-H" "Authorization: token ''${GITHUB_TOKEN}" )
+    fi
+    args+=( 'https://api.github.com/orgs/${urlEscape orga}/repos?per_page=100' )
+
+    res=$(${curl}/bin/curl "''${args[@]}")
 
     if [[ "$(printf "%s" "$res" | ${jq}/bin/jq '.message?')" =~ "rate limit" ]]; then
-      echo "rate limited" >&2   #
+      echo "rate limited" >&2
+      exit 1
+    elif [[ "$(printf "%s" "$res" | ${jq}/bin/jq '.message?')" =~ "Bad credentials" ]]; then
+      echo "bad credentials" >&2
+      exit 1
     fi
 
     printf "%s" "$res" | ${jq}/bin/jq 'map(.name)' \
@@ -417,7 +436,8 @@ let
     mkdir -p "$outputDir"
     ${foreachSh allGrammars
       ({name, orga, repo}: ''${updateGrammar { inherit orga repo; }} > $outputDir/${name}.json'')}
-    ( echo "{"
+    ( echo "{ lib }:"
+      echo "{"
       ${foreachSh allGrammars
         ({name, ...}: ''
            # indentation hack
diff --git a/nixpkgs/pkgs/development/tools/pet/default.nix b/nixpkgs/pkgs/development/tools/pet/default.nix
index 653bc8aca729..d759efb2b5b7 100644
--- a/nixpkgs/pkgs/development/tools/pet/default.nix
+++ b/nixpkgs/pkgs/development/tools/pet/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-gVTpzmXekQxGMucDKskGi+e+34nJwwsXwvQTjRO6Gdg=";
   };
 
-  vendorSha256 = "sha256-vciiBzmqUAt5ZWn9go4B1uaz0HsBk5Z9Rbw7/MAimY4=";
+  vendorSha256 = "sha256-dUvp7FEW09V0xMuhewPGw3TuAic/sD7xyXEYviZ2Ivs=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/phantomjs/default.nix b/nixpkgs/pkgs/development/tools/phantomjs/default.nix
deleted file mode 100644
index 5b7e77ee0b5d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/tools/phantomjs2/default.nix b/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
index 448e7dd4406e..d9e4ec1fb199 100644
--- a/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
+++ b/nixpkgs/pkgs/development/tools/phantomjs2/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch
 , bison, flex, fontconfig, freetype, gperf, icu, openssl, libjpeg
-, libpng, perl, python, ruby, sqlite, qtwebkit, qmake, qtbase
+, libpng, perl, python2, ruby, sqlite, qtwebkit, qmake, qtbase
 , darwin, writeScriptBin, cups, makeWrapper
 }:
 
@@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ qmake ];
   buildInputs = [
     bison flex fontconfig freetype gperf icu openssl
-    libjpeg libpng perl python ruby sqlite qtwebkit qtbase
+    libjpeg libpng perl python2 ruby sqlite qtwebkit qtbase
     makeWrapper
   ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     AGL ApplicationServices AppKit Cocoa OpenGL
diff --git a/nixpkgs/pkgs/development/tools/pipenv/default.nix b/nixpkgs/pkgs/development/tools/pipenv/default.nix
index 1c09bb502a23..c7d22015d47a 100644
--- a/nixpkgs/pkgs/development/tools/pipenv/default.nix
+++ b/nixpkgs/pkgs/development/tools/pipenv/default.nix
@@ -1,5 +1,6 @@
 { lib
 , python3
+, installShellFiles
 }:
 
 with python3.pkgs;
@@ -18,15 +19,17 @@ let
 
 in buildPythonApplication rec {
   pname = "pipenv";
-  version = "2021.11.23";
+  version = "2022.1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bde859e8bbd1d21d503fd995bc0170048d6da7686ab885f074592c99a16e8f3";
+    sha256 = "f84d7119239b22ab2ac2b8fbc7d619d83cf41135206d72a17c4f151cda529fd0";
   };
 
   LC_ALL = "en_US.UTF-8";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   postPatch = ''
     # pipenv invokes python in a subprocess to create a virtualenv
     # and to call setup.py.
@@ -38,6 +41,13 @@ in buildPythonApplication rec {
 
   propagatedBuildInputs = runtimeDeps python3.pkgs;
 
+  postInstall = ''
+    installShellCompletion --cmd pipenv \
+      --bash <(_PIPENV_COMPLETE=bash_source $out/bin/pipenv) \
+      --zsh <(_PIPENV_COMPLETE=zsh_source $out/bin/pipenv) \
+      --fish <(_PIPENV_COMPLETE=fish_source $out/bin/pipenv)
+  '';
+
   doCheck = true;
   checkPhase = ''
     export HOME=$(mktemp -d)
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 07e0063d6c5b..c9b70c83bfee 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -5,7 +5,7 @@
 }:
 let
   # Poetry2nix version
-  version = "1.24.1";
+  version = "1.26.0";
 
   inherit (poetryLib) isCompatible readTOML moduleName;
 
@@ -122,10 +122,10 @@ lib.makeScope pkgs.newScope (self: {
       # Example: { my-app = ./src; }
     , editablePackageSources ? { }
     , __isBootstrap ? false  # Hack: Always add Poetry as a build input unless bootstrapping
+    , pyProject ? readTOML pyproject
     }@attrs:
     let
       poetryPkg = poetry.override { inherit python; };
-      pyProject = readTOML pyproject;
 
       scripts = pyProject.tool.poetry.scripts or { };
       hasScripts = scripts != { };
@@ -133,9 +133,11 @@ lib.makeScope pkgs.newScope (self: {
         inherit python scripts;
       };
 
-      hasEditable = editablePackageSources != { };
+      editablePackageSources' = lib.filterAttrs (name: path: path != null) editablePackageSources;
+      hasEditable = editablePackageSources' != { };
       editablePackage = self.mkPoetryEditablePackage {
-        inherit pyProject python editablePackageSources;
+        inherit pyProject python;
+        editablePackageSources = editablePackageSources';
       };
 
       poetryLock = readTOML poetrylock;
@@ -190,7 +192,10 @@ lib.makeScope pkgs.newScope (self: {
               (lib.reverseList compatible)
           );
         in
-        lockPkgs;
+        lockPkgs // {
+          # Create a dummy null package for the current project in case any dependencies depend on the root project (issue #307)
+          ${pyProject.tool.poetry.name} = null;
+        };
       overlays = builtins.map
         getFunctorFn
         (
@@ -264,14 +269,34 @@ lib.makeScope pkgs.newScope (self: {
     , extraPackages ? ps: [ ]
     }:
     let
+      inherit (lib) elem hasAttr;
+
+      pyProject = readTOML pyproject;
+
+      # Automatically add dependencies with develop = true as editable packages, but only if path dependencies
+      getEditableDeps = set: lib.mapAttrs
+        (name: value: projectDir + "/${value.path}")
+        (lib.filterAttrs (name: dep: dep.develop or false && hasAttr "path" dep) set);
+
+      editablePackageSources' = (
+        (getEditableDeps (pyProject.tool.poetry."dependencies" or { }))
+        // (getEditableDeps (pyProject.tool.poetry."dev-dependencies" or { }))
+        // editablePackageSources
+      );
+
       poetryPython = self.mkPoetryPackages {
-        inherit pyproject poetrylock overrides python pwd preferWheels editablePackageSources;
+        inherit pyproject poetrylock overrides python pwd preferWheels pyProject;
+        editablePackageSources = editablePackageSources';
       };
 
       inherit (poetryPython) poetryPackages;
 
+      # Don't add editable sources to the environment since they will sometimes fail to build and are not useful in the development env
+      editableAttrs = lib.attrNames editablePackageSources';
+      envPkgs = builtins.filter (drv: ! lib.elem (drv.pname or drv.name or "") editableAttrs) poetryPackages;
+
     in
-    poetryPython.python.withPackages (ps: poetryPackages ++ (extraPackages ps));
+    poetryPython.python.withPackages (ps: envPkgs ++ (extraPackages ps));
 
   /* Creates a Python application from pyproject.toml and poetry.lock
 
@@ -282,7 +307,10 @@ lib.makeScope pkgs.newScope (self: {
   */
   mkPoetryApplication =
     { projectDir ? null
-    , src ? self.cleanPythonSources { src = projectDir; }
+    , src ? (
+        # Assume that a project which is the result of a derivation is already adequately filtered
+        if lib.isDerivation projectDir then projectDir else self.cleanPythonSources { src = projectDir; }
+      )
     , pyproject ? projectDir + "/pyproject.toml"
     , poetrylock ? projectDir + "/poetry.lock"
     , overrides ? self.defaultPoetryOverrides
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
index d59c3a7763ac..8858b64ec3ee 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
@@ -63,30 +63,36 @@ context.verify_mode = ssl.CERT_NONE
 req = urllib.request.Request(index_url)
 if username and password:
     import base64
-    password_b64 = base64.b64encode(bytes(f"{username}:{password}", "utf-8")).decode("utf-8")
-    req.add_header("Authorization", f"Basic {password_b64}")
-response = urllib.request.urlopen(
-    req,
-    context=context)
+
+    password_b64 = base64.b64encode(":".join((username, password)).encode()).decode(
+        "utf-8"
+    )
+    req.add_header("Authorization", "Basic {}".format(password_b64))
+response = urllib.request.urlopen(req, context=context)
 index = response.read()
 
 parser = Pep503()
 parser.feed(str(index))
 if package_filename not in parser.sources:
-    print("The file %s has not be found in the index %s" % (
-        package_filename, index_url))
+    print(
+        "The file %s has not be found in the index %s" % (package_filename, index_url)
+    )
     exit(1)
 
 package_file = open(package_filename, "wb")
 # Sometimes the href is a relative path
-if urlparse(parser.sources[package_filename]).netloc == '':
+if urlparse(parser.sources[package_filename]).netloc == "":
     parsed_url = urlparse(index_url)
-    package_url = urlunparse((
-        parsed_url.scheme,
-        parsed_url.netloc,
-        parser.sources[package_filename],
-        None, None, None,
-    ))
+    package_url = urlunparse(
+        (
+            parsed_url.scheme,
+            parsed_url.netloc,
+            parsed_url.path + "/" + parser.sources[package_filename],
+            None,
+            None,
+            None,
+        )
+    )
 else:
     package_url = parser.sources[package_filename]
 
@@ -106,10 +112,8 @@ print("Downloading %s" % real_package_url)
 
 req = urllib.request.Request(real_package_url)
 if username and password:
-    req.add_unredirected_header("Authorization", f"Basic {password_b64}")
-response = urllib.request.urlopen(
-    req,
-    context=context)
+    req.add_unredirected_header("Authorization", "Basic {}".format(password_b64))
+response = urllib.request.urlopen(req, context=context)
 
 with response as r:
     shutil.copyfileobj(r, package_file)
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
index af9816cf831e..9f79f9afab56 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
@@ -22,7 +22,12 @@ def main(input, output, fields_to_remove):
                 if any_removed:
                     dep["version"] = "*"
 
-    json.dump(data, output, separators=(",", ":"))
+    # Set ensure_ascii to False because TOML is valid UTF-8 so text that can't
+    # be represented in ASCII is perfectly legitimate
+    # HACK: Setting ensure_asscii to False breaks Python2 for some dependencies (like cachy==0.3.0)
+    json.dump(
+        data, output, separators=(",", ":"), ensure_ascii=sys.version_info.major < 3
+    )
 
 
 if __name__ == "__main__":
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
index 6039e50d04eb..6e35069a817c 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
@@ -98,12 +98,26 @@ self: super:
     '';
   });
 
+  backports-functools-lru-cache = super.backports-functools-lru-cache.overridePythonAttrs (old: {
+    postPatch = ''
+      substituteInPlace setup.py --replace \
+        'setuptools.setup()' \
+        'setuptools.setup(version="${old.version}")'
+    '';
+  });
+
   bcrypt = super.bcrypt.overridePythonAttrs (
     old: {
       buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
     }
   );
 
+  bjoern = super.bjoern.overridePythonAttrs (
+    old: {
+      buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ];
+    }
+  );
+
   black = super.black.overridePythonAttrs (
     old: {
       dontPreferSetupPy = true;
@@ -247,6 +261,36 @@ self: super:
     buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
   });
 
+  dbus-python = super.dbus-python.overridePythonAttrs (old: {
+    outputs = [ "out" "dev" ];
+
+    postPatch = old.postPatch or "" + ''
+      substituteInPlace ./configure --replace /usr/bin/file ${pkgs.file}/bin/file
+      substituteInPlace ./dbus-python.pc.in --replace 'Cflags: -I''${includedir}' 'Cflags: -I''${includedir}/dbus-1.0'
+    '';
+
+    configureFlags = (old.configureFlags or [ ]) ++ [
+      "PYTHON_VERSION=${lib.versions.major self.python.version}"
+    ];
+
+    preConfigure = lib.concatStringsSep "\n" [
+      (old.preConfigure or "")
+      (if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
+        MACOSX_DEPLOYMENT_TARGET=10.16
+      '' else "")
+    ];
+
+    preBuild = old.preBuild or "" + ''
+      make distclean
+    '';
+
+    nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.pkg-config ];
+    buildInputs = old.buildInputs or [ ] ++ [ pkgs.dbus pkgs.dbus-glib ]
+      # My guess why it's sometimes trying to -lncurses.
+      # It seems not to retain the dependency anyway.
+      ++ lib.optional (! self.python ? modules) pkgs.ncurses;
+  });
+
   dcli = super.dcli.overridePythonAttrs (old: {
     propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
   });
@@ -373,6 +417,13 @@ self: super:
     }
   );
 
+  fastapi = super.fastapi.overridePythonAttrs (
+    old: {
+      # Note: requires full flit, not just flit-core
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.flit ];
+    }
+  );
+
   fastecdsa = super.fastecdsa.overridePythonAttrs (old: {
     buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ];
   });
@@ -504,6 +555,13 @@ self: super:
     propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ];
   });
 
+  icecream = super.icecream.overridePythonAttrs (old: {
+    #  # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none)
+    postPatch = ''
+      substituteInPlace setup.py --replace 'executing>=0.3.1' 'executing'
+    '';
+  });
+
   imagecodecs = super.imagecodecs.overridePythonAttrs (
     old: {
       patchPhase = ''
@@ -569,9 +627,9 @@ self: super:
       # disable the removal of pyproject.toml, required because of setuptools_scm
       dontPreferSetupPy = true;
 
-      postPatch = old.postPatch or "" + ''
+      postPatch = old.postPatch or "" + (lib.optionalString ((old.format or "") != "wheel") ''
         substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")'
-      '';
+      '');
     }
   );
 
@@ -867,13 +925,6 @@ self: super:
     buildInputs = oa.buildInputs ++ [ self.pbr ];
   });
 
-  moto = super.moto.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++
-        [ self.sshpubkeys ];
-    }
-  );
-
   mpi4py = super.mpi4py.overridePythonAttrs (
     old:
     let
@@ -988,8 +1039,18 @@ self: super:
   );
 
   opencv-python = super.opencv-python.overridePythonAttrs (
-    old: rec {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.scikit-build ];
+    old: {
+      nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
+      buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
+      dontUseCmakeConfigure = true;
+    }
+  );
+
+  opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs (
+    old: {
+      nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
+      buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
+      dontUseCmakeConfigure = true;
     }
   );
 
@@ -1007,6 +1068,13 @@ self: super:
     }
   );
 
+  pantalaimon = super.pantalaimon.overridePythonAttrs (old: {
+    nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ];
+    postInstall = old.postInstall or "" + ''
+      installManPage docs/man/*.[1-9]
+    '';
+  });
+
   paramiko = super.paramiko.overridePythonAttrs (old: {
     doCheck = false; # requires networking
   });
@@ -1077,6 +1145,10 @@ self: super:
     }
   );
 
+  prettytable = super.prettytable.overridePythonAttrs (old: {
+    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+  });
+
   psycopg2 = super.psycopg2.overridePythonAttrs (
     old: {
       buildInputs = (old.buildInputs or [ ])
@@ -1277,7 +1349,11 @@ self: super:
     }
   );
 
-  pytezos = super.pytezos.override (old: {
+  pytaglib = super.pytaglib.overridePythonAttrs (old: {
+    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.taglib ];
+  });
+
+  pytezos = super.pytezos.overridePythonAttrs (old: {
     buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ];
   });
 
@@ -1323,6 +1399,7 @@ self: super:
           pkgs.qt5.qtsvg
           pkgs.qt5.qtdeclarative
           pkgs.qt5.qtwebchannel
+          pkgs.qt5.qt3d
           # self.pyqt5-sip
           self.sip
         ]
@@ -1472,6 +1549,12 @@ self: super:
     }
   );
 
+  python-olm = super.python-olm.overridePythonAttrs (
+    old: {
+      buildInputs = old.buildInputs or [ ] ++ [ pkgs.olm ];
+    }
+  );
+
   python-snappy = super.python-snappy.overridePythonAttrs (
     old: {
       buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ];
@@ -1496,6 +1579,13 @@ self: super:
     }
   );
 
+  pyudev = super.pyudev.overridePythonAttrs (old: {
+    postPatch = ''
+      substituteInPlace src/pyudev/_ctypeslib/utils.py \
+        --replace "find_library(name)" "'${pkgs.lib.getLib pkgs.systemd}/lib/libudev.so'"
+    '';
+  });
+
   pyusb = super.pyusb.overridePythonAttrs (
     old: {
       postPatch = ''
@@ -1559,6 +1649,12 @@ self: super:
     }
   );
 
+  requests-mock = super.requests-mock.overridePythonAttrs (
+    old: {
+      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ super.pbr ];
+    }
+  );
+
   requests-unixsocket = super.requests-unixsocket.overridePythonAttrs (
     old: {
       nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pbr ];
@@ -1616,6 +1712,18 @@ self: super:
     } else old
   );
 
+  scikit-image = super.scikit-image.overridePythonAttrs (
+    old: {
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+        self.cython
+        self.pythran
+        self.packaging
+        self.wheel
+        self.numpy
+      ];
+    }
+  );
+
   scikit-learn = super.scikit-learn.overridePythonAttrs (
     old: {
       buildInputs = (old.buildInputs or [ ]) ++ [
@@ -1673,7 +1781,7 @@ self: super:
   tables = super.tables.overridePythonAttrs (
     old: {
       buildInputs = (old.buildInputs or [ ]) ++ [ self.pywavelets ];
-      HDF5_DIR = "${pkgs.hdf5}";
+      HDF5_DIR = lib.getDev pkgs.hdf5;
       nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
       propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ];
     }
@@ -2126,6 +2234,10 @@ self: super:
     buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
   });
 
+  pysqlite = super.pysqlite.overridePythonAttrs (old: {
+    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
+  });
+
   selinux = super.selinux.overridePythonAttrs (old: {
     buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
   });
@@ -2147,6 +2259,12 @@ self: super:
     sourceRoot = ".";
   });
 
+  wcwidth = super.wcwidth.overridePythonAttrs (old: {
+    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++
+      lib.optional self.isPy27 (self.backports-functools-lru-cache or self.backports_functools_lru_cache)
+    ;
+  });
+
   wtforms = super.wtforms.overridePythonAttrs (old: {
     buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ];
   });
diff --git a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
index 1f6978b98a2e..56f894c2e752 100644
--- a/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
+++ b/nixpkgs/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
@@ -84,7 +84,13 @@ let
             )
           else
             (x: x.platform == "any")
-        else (x: hasInfix "macosx" x.platform || x.platform == "any");
+        else
+          if stdenv.isDarwin
+          then
+            if stdenv.targetPlatform.isAarch64
+            then (x: x.platform == "any" || (hasInfix "macosx" x.platform && lib.lists.any (e: hasSuffix e x.platform) [ "arm64" "aarch64" ]))
+            else (x: x.platform == "any" || (hasInfix "macosx" x.platform && hasSuffix "x86_64" x.platform))
+          else (x: x.platform == "any");
       filterWheel = x:
         let
           f = toWheelAttrs x.file;
@@ -93,7 +99,7 @@ let
       filtered = builtins.filter filterWheel filesWithoutSources;
       choose = files:
         let
-          osxMatches = [ "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
+          osxMatches = [ "12_0" "11_0" "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
           linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "any" ];
           chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x);
           chooseOSX = x: lib.take 1 (findBestMatches osxMatches x);
diff --git a/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix b/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
index b828dbfc7156..31eafb1086b8 100644
--- a/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/nixpkgs/pkgs/development/tools/profiling/systemtap/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchgit, pkg-config, gettext, runCommand, makeWrapper
-, elfutils, kernel, gnumake, python2, python2Packages
+, cpio, elfutils, kernel, gnumake, python3
 }:
 
 let
@@ -16,8 +16,8 @@ let
     pname = "systemtap";
     inherit version;
     src = fetchgit { inherit url rev sha256; };
-    nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ elfutils gettext python2 python2Packages.setuptools ];
+    nativeBuildInputs = [ pkg-config cpio ];
+    buildInputs = [ elfutils gettext python3 python3.pkgs.setuptools ];
     enableParallelBuilding = true;
   };
 
@@ -33,7 +33,7 @@ let
     done
   '';
 
-  pypkgs = with python2Packages; makePythonPath [ pyparsing ];
+  pypkgs = with python3.pkgs; makePythonPath [ pyparsing ];
 
 in runCommand "systemtap-${kernel.version}-${version}" {
   inherit stapBuild kernelBuildDir;
diff --git a/nixpkgs/pkgs/development/tools/proto-contrib/default.nix b/nixpkgs/pkgs/development/tools/proto-contrib/default.nix
index 74f47f3f996e..f60bfb4b724d 100644
--- a/nixpkgs/pkgs/development/tools/proto-contrib/default.nix
+++ b/nixpkgs/pkgs/development/tools/proto-contrib/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "0ksxic7cypv9gg8q5lkl5bla1n9i65z7b03cx9lwq6252glmf2jk";
   };
 
-  vendorSha256 = "1ivvq5ch9grdrwqq29flv9821kyb16k0cj6wgj5v0dyn63w420aw";
+  vendorSha256 = "093blawprs2yf478zp9p1zc7mmimgpiwrw6nh8nqml89y5b5zldc";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/protoc-gen-twirp_php/default.nix b/nixpkgs/pkgs/development/tools/protoc-gen-twirp_php/default.nix
index a978c2866504..df5afac2dbb2 100644
--- a/nixpkgs/pkgs/development/tools/protoc-gen-twirp_php/default.nix
+++ b/nixpkgs/pkgs/development/tools/protoc-gen-twirp_php/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-TaHfyYoWsA/g5xZFxIMNwE1w6Dd9Cq5bp1gpQudYLs0=";
   };
 
-  vendorSha256 = "sha256-z3Yp+Yy03g2DAvWUZXaOxQWONjnYUl69eTpYIDPhsqc=";
+  vendorSha256 = "sha256-qQFlBviRISEnPBt0q5391RqUrPTI/QDxg3MNfwWE8MI=";
 
   subPackages = [ "protoc-gen-twirp_php" ];
 
diff --git a/nixpkgs/pkgs/development/tools/protoc-gen-twirp_typescript/default.nix b/nixpkgs/pkgs/development/tools/protoc-gen-twirp_typescript/default.nix
index 2aabe3bcce6e..ead72184b7cd 100644
--- a/nixpkgs/pkgs/development/tools/protoc-gen-twirp_typescript/default.nix
+++ b/nixpkgs/pkgs/development/tools/protoc-gen-twirp_typescript/default.nix
@@ -11,7 +11,7 @@ buildGoModule {
     sha256 = "sha256-LfF/n96LwRX8aoPHzCRI/QbDmZR9yMhE5yGhFAqa8nA=";
   };
 
-  vendorSha256 = "sha256-WISWuq1neVX4xQkoamc6FznZahOQHwgkYmERJF40OFQ=";
+  vendorSha256 = "sha256-xZlP4rg1FMx6ddkKYlSdF6NrtY8xBZ3aEZSATgSf13M=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/pscale/default.nix b/nixpkgs/pkgs/development/tools/pscale/default.nix
index 4f4c1f58fe24..50517db6ee9b 100644
--- a/nixpkgs/pkgs/development/tools/pscale/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/pur/default.nix b/nixpkgs/pkgs/development/tools/pur/default.nix
index dc37e3fa20f1..359f3519acd6 100644
--- a/nixpkgs/pkgs/development/tools/pur/default.nix
+++ b/nixpkgs/pkgs/development/tools/pur/default.nix
@@ -7,7 +7,8 @@ let
   py = python3.override {
     packageOverrides = self: super: {
       # newest version doesn't support click >8.0 https://github.com/alanhamlett/pip-update-requirements/issues/38
-      click = self.callPackage ../../../development/python-modules/click/7.nix { };
+      # Use click 7
+      click = self.callPackage ../../../development/python2-modules/click/default.nix { };
     };
   };
   inherit (py.pkgs) buildPythonApplication click pytestCheckHook;
diff --git a/nixpkgs/pkgs/development/tools/purescript/spago/spago.nix b/nixpkgs/pkgs/development/tools/purescript/spago/spago.nix
index 0bd33f19f8e9..1747aaa55fda 100644
--- a/nixpkgs/pkgs/development/tools/purescript/spago/spago.nix
+++ b/nixpkgs/pkgs/development/tools/purescript/spago/spago.nix
@@ -14,11 +14,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.2";
+  version = "0.20.7";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "11jh3bszvl8zfi4xcabpx43jply28dxdywd6fadxspaa05jdxxn2";
-    rev = "0f38c9153e46f30e9d87963e181f5c1a595f4b64";
+    sha256 = "0k9ablqhx4m1hk0sc0rx824qq5gr7fp7dpg9rj5v793v6hd3q4jv";
+    rev = "41d9c967dc1db0de03985e31083eb76b3e2fcce4";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/nixpkgs/pkgs/development/tools/pypi-mirror/default.nix b/nixpkgs/pkgs/development/tools/pypi-mirror/default.nix
index 54bc09d6b9a3..e6f9afd5dd94 100644
--- a/nixpkgs/pkgs/development/tools/pypi-mirror/default.nix
+++ b/nixpkgs/pkgs/development/tools/pypi-mirror/default.nix
@@ -4,13 +4,13 @@
 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "pypi-mirror";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "montag451";
     repo = pname;
     rev = "v${version}";
-    sha256 = "077f3asi5fdbb2j2ll4xdwv7ndfbfr81bpn3zi55h6idfdc7zzc0";
+    sha256 = "1ci19bqyhig1s5myzw6klkiycd8k0lzhk3yqfx5fjirc2f0xpz5j";
   };
 
   pythonImportsCheck = [ "pypi_mirror" ];
diff --git a/nixpkgs/pkgs/development/tools/quick-lint-js/default.nix b/nixpkgs/pkgs/development/tools/quick-lint-js/default.nix
new file mode 100644
index 000000000000..9c47695a5dec
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/quilt/default.nix b/nixpkgs/pkgs/development/tools/quilt/default.nix
index eb7fa4488156..fec73b264819 100644
--- a/nixpkgs/pkgs/development/tools/quilt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/regclient/default.nix b/nixpkgs/pkgs/development/tools/regclient/default.nix
index a5c6335162aa..f54e6ca26a87 100644
--- a/nixpkgs/pkgs/development/tools/regclient/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
index 73bb7606c546..4e95b0b4bc1c 100644
--- a/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
+++ b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nexus";
-  version = "3.32.0-03";
+  version = "3.37.3-02";
 
   src = fetchurl {
     url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-unix.tar.gz";
-    sha256 = "17cgbpv1id4gbp3c42pqc3dxnh36cm1c77y7dysskyml4qfh5f7m";
+    sha256 = "sha256-wdtDGQjFp2tEAVxVXW70UXq/CoaET6/+4PXWxiNZMS0=";
   };
 
   preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/development/tools/rgp/default.nix b/nixpkgs/pkgs/development/tools/rgp/default.nix
index 7b8ac88de631..2ac48148c788 100644
--- a/nixpkgs/pkgs/development/tools/rgp/default.nix
+++ b/nixpkgs/pkgs/development/tools/rgp/default.nix
@@ -19,15 +19,15 @@
 }:
 
 let
-  buildNum = "2021-06-30-819";
+  buildNum = "2022-01-18-884";
 in
 stdenv.mkDerivation rec {
   pname = "rgp";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchurl {
     url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
-    sha256 = "ru+e/oY844x4nvSVRBrTGDdnzUOBhwkaIrnftBITyE8=";
+    sha256 = "88ot16N8XtRlDCP+zIaOqG5BuR0OyG/0u1NEXsun/nY=";
   };
 
   nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
diff --git a/nixpkgs/pkgs/development/tools/richgo/default.nix b/nixpkgs/pkgs/development/tools/richgo/default.nix
index 4e11b5a64d84..6cc063386ac7 100644
--- a/nixpkgs/pkgs/development/tools/richgo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix b/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix
index f1e21641c35f..ccc8e88dec8b 100644
--- a/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/rnix-lsp/default.nix
@@ -1,19 +1,19 @@
-{ lib, fetchFromGitHub, rustPlatform, nix }:
+{ stdenv, lib, fetchFromGitHub, rustPlatform, nix }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rnix-lsp";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "rnix-lsp";
     rev = "v${version}";
-    sha256 = "sha256-D2ItR8z4LqEH1IL53vq/wPh9Pfe3eB0KsA79aLM/BWM=";
+    sha256 = "sha256-MfD07ugYYbcRaNoLxOcH9+SPbRewNxbHJA5blCSb4EM=";
   };
 
-  cargoSha256 = "sha256-71vH8oc8DmwbwM2PgxjGmWAbyC4AByx7waHxLsr2koI=";
+  cargoSha256 = "sha256-23TJrJyfCuoOOOjZeWQnF/Ac0Xv2k6tZduuzapKvsgg=";
 
-  checkInputs = [ nix ];
+  checkInputs = lib.optional (!stdenv.isDarwin) nix;
 
   meta = with lib; {
     description = "A work-in-progress language server for Nix, with syntax checking and basic completion";
diff --git a/nixpkgs/pkgs/development/tools/ronn/default.nix b/nixpkgs/pkgs/development/tools/ronn/default.nix
index 3569638b2183..4d06db77a692 100644
--- a/nixpkgs/pkgs/development/tools/ronn/default.nix
+++ b/nixpkgs/pkgs/development/tools/ronn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff }:
+{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff, callPackage }:
 
 stdenv.mkDerivation rec {
   pname = "ronn";
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = bundlerUpdateScript "ronn";
 
+  passthru.tests.reproducible-html-manpage = callPackage ./test-reproducible-html.nix { };
+
   meta = with lib; {
     description = "markdown-based tool for building manpages";
     homepage = "https://rtomayko.github.io/ronn/";
diff --git a/nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix b/nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix
new file mode 100644
index 000000000000..6bc9d6cdbf9f
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ronn/test-reproducible-html.nix
@@ -0,0 +1,30 @@
+{ runCommand
+, diffutils
+, ronn
+}:
+runCommand "ronn-test-reproducible-html" { } ''
+  set -euo pipefail
+
+  cat > aprog.1.ronn << EOF
+  aprog
+  =====
+
+  ## AUTHORS
+
+  Vincent Haupert <veehaitch@users.noreply.github.com>
+  EOF
+
+  # We have to repeat the manpage generation a few times to be confident
+  # it is in fact reproducible.
+  for i in {1..20}; do
+    ${ronn}/bin/ronn --html --pipe aprog.1.ronn > aprog.1.html-1
+    ${ronn}/bin/ronn --html --pipe aprog.1.ronn > aprog.1.html-2
+
+    ${diffutils}/bin/diff -q aprog.1.html-1 aprog.1.html-2 \
+      || (printf 'The HTML manpage is not reproducible (round %d)' "$i" && exit 1)
+  done
+
+  echo 'The HTML manpage appears reproducible'
+
+  mkdir $out
+''
diff --git a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
index 2c69ad9876ec..782996d92180 100644
--- a/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/bindgen/default.nix
@@ -1,75 +1,45 @@
-{ lib, fetchFromGitHub, rustPlatform, clang, llvmPackages_latest, rustfmt, writeTextFile
-, runtimeShell
-, bash
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "rust-bindgen";
-  version = "0.59.2";
-
-  RUSTFLAGS = "--cap-lints warn"; # probably OK to remove after update
-
-  src = fetchFromGitHub {
-    owner = "rust-lang";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-bJYdyf5uZgWe7fQ80/3QsRV0qyExYn6P9UET3tzwPFs=";
-  };
-
-  cargoSha256 = "sha256-zhENlrqj611RkKDvpDtDFWc58wfQVamkJnpe2nvRieE=";
-
-  #for substituteAll
-  libclang = llvmPackages_latest.libclang.lib;
-  inherit bash;
-
-  buildInputs = [ libclang ];
-
-  propagatedBuildInputs = [ clang ]; # to populate NIX_CXXSTDLIB_COMPILE
-
-  configurePhase = ''
-    export LIBCLANG_PATH="${libclang.lib}/lib"
-  '';
-
-  postInstall = ''
-    mv $out/bin/{bindgen,.bindgen-wrapped};
+{ rust-bindgen-unwrapped, zlib, bash, runCommand, runCommandCC }:
+let
+  clang = rust-bindgen-unwrapped.clang;
+  self = runCommand "rust-bindgen-${rust-bindgen-unwrapped.version}"
+    {
+      #for substituteAll
+      inherit bash;
+      unwrapped = rust-bindgen-unwrapped;
+      libclang = clang.cc.lib;
+      meta = rust-bindgen-unwrapped.meta // {
+        longDescription = rust-bindgen-unwrapped.meta.longDescription + ''
+          This version of bindgen is wrapped with the required compiler flags
+          required to find the c and c++ standard libary, as well as the libraries
+          specified in the buildInputs of your derivation.
+        '';
+      };
+      passthru.tests = {
+        simple-c = runCommandCC "simple-c-bindgen-tests" { } ''
+          echo '#include <stdlib.h>' > a.c
+          ${self}/bin/bindgen a.c --whitelist-function atoi | tee output
+          grep atoi output
+          touch $out
+        '';
+        simple-cpp = runCommandCC "simple-cpp-bindgen-tests" { } ''
+          echo '#include <cmath>' > a.cpp
+          ${self}/bin/bindgen a.cpp --whitelist-function erf -- -xc++ | tee output
+          grep erf output
+          touch $out
+        '';
+        with-lib = runCommandCC "zlib-bindgen-tests" { buildInputs = [ zlib ]; } ''
+          echo '#include <zlib.h>' > a.c
+          ${self}/bin/bindgen a.c --whitelist-function compress | tee output
+          grep compress output
+          touch $out
+        '';
+      };
+    } ''
+    mkdir -p $out/bin
+    export cincludes="$(< ${clang}/nix-support/cc-cflags) $(< ${clang}/nix-support/libc-cflags)"
+    export cxxincludes="$(< ${clang}/nix-support/libcxx-cxxflags)"
     substituteAll ${./wrapper.sh} $out/bin/bindgen
     chmod +x $out/bin/bindgen
   '';
-
-  doCheck = true;
-  checkInputs =
-    let fakeRustup = writeTextFile {
-      name = "fake-rustup";
-      executable = true;
-      destination = "/bin/rustup";
-      text = ''
-        #!${runtimeShell}
-        shift
-        shift
-        exec "$@"
-      '';
-    };
-  in [
-    rustfmt
-    fakeRustup # the test suite insists in calling `rustup run nightly rustfmt`
-    clang
-  ];
-  preCheck = ''
-    # for the ci folder, notably
-    patchShebangs .
-  '';
-
-  meta = with lib; {
-    description = "Automatically generates Rust FFI bindings to C (and some C++) libraries";
-    longDescription = ''
-      Bindgen takes a c or c++ header file and turns them into
-      rust ffi declarations.
-      As with most compiler related software, this will only work
-      inside a nix-shell with the required libraries as buildInputs.
-    '';
-    homepage = "https://github.com/rust-lang/rust-bindgen";
-    license = with licenses; [ bsd3 ];
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ johntitor ralith ];
-  };
-}
+in
+self
diff --git a/nixpkgs/pkgs/development/tools/rust/bindgen/unwrapped.nix b/nixpkgs/pkgs/development/tools/rust/bindgen/unwrapped.nix
new file mode 100644
index 000000000000..65ce8e20bc0e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/rust/bindgen/unwrapped.nix
@@ -0,0 +1,63 @@
+{ lib, fetchFromGitHub, rustPlatform, clang, rustfmt, writeTextFile
+, runtimeShell
+, bash
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rust-bindgen-unwrapped";
+  version = "0.59.2";
+
+  RUSTFLAGS = "--cap-lints warn"; # probably OK to remove after update
+
+  src = fetchFromGitHub {
+    owner = "rust-lang";
+    repo = "rust-bindgen";
+    rev = "v${version}";
+    sha256 = "sha256-bJYdyf5uZgWe7fQ80/3QsRV0qyExYn6P9UET3tzwPFs=";
+  };
+
+  cargoSha256 = "sha256-RKZY5vf6CSFaKweuuNkeFF0ZXlSUibAkcL/YhkE0MoQ=";
+
+  buildInputs = [ clang.cc.lib ];
+
+  preConfigure = ''
+    export LIBCLANG_PATH="${clang.cc.lib}/lib"
+  '';
+
+  doCheck = true;
+  checkInputs =
+    let fakeRustup = writeTextFile {
+      name = "fake-rustup";
+      executable = true;
+      destination = "/bin/rustup";
+      text = ''
+        #!${runtimeShell}
+        shift
+        shift
+        exec "$@"
+      '';
+    };
+  in [
+    rustfmt
+    fakeRustup # the test suite insists in calling `rustup run nightly rustfmt`
+    clang
+  ];
+  preCheck = ''
+    # for the ci folder, notably
+    patchShebangs .
+  '';
+
+  passthru = { inherit clang; };
+
+  meta = with lib; {
+    description = "Automatically generates Rust FFI bindings to C (and some C++) libraries";
+    longDescription = ''
+      Bindgen takes a c or c++ header file and turns them into
+      rust ffi declarations.
+    '';
+    homepage = "https://github.com/rust-lang/rust-bindgen";
+    license = with licenses; [ bsd3 ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ johntitor ralith ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/rust/bindgen/wrapper.sh b/nixpkgs/pkgs/development/tools/rust/bindgen/wrapper.sh
index 0b3e3cd4c1e0..b7110385c26d 100755
--- a/nixpkgs/pkgs/development/tools/rust/bindgen/wrapper.sh
+++ b/nixpkgs/pkgs/development/tools/rust/bindgen/wrapper.sh
@@ -22,7 +22,7 @@ for e in "$@"; do
 done;
 cxxflags=
 if [[ $cxx -eq 1 ]]; then
-  cxxflags=$NIX_CXXSTDLIB_COMPILE
+  cxxflags="@cxxincludes@"
 fi;
 if [[ -n "$NIX_DEBUG" ]]; then
   set -x;
@@ -30,7 +30,7 @@ fi;
 export LIBCLANG_PATH="@libclang@/lib"
 # shellcheck disable=SC2086
 # cxxflags and NIX_CFLAGS_COMPILE should be word-split
-exec -a "$0" @out@/bin/.bindgen-wrapped "$@" $sep $cxxflags $NIX_CFLAGS_COMPILE
+exec -a "$0" @unwrapped@/bin/bindgen "$@" $sep $cxxflags @cincludes@ $NIX_CFLAGS_COMPILE
 # note that we add the flags after $@ which is incorrect. This is only for the sake
 # of simplicity.
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
index 549c3d11e3ac..44e06696ae84 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.10.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VcdZ/dKqFFQs8ItNEj407z1pWJqpHwwIsuNnsQ8KU/8=";
+    sha256 = "sha256-UzMo+IqoP3GpGu7tWlrkEU1YpVLgEL7UwIU1hPmoJNg=";
   };
 
-  cargoSha256 = "sha256-1TIGv0yVhkhThqZiQW9JrvFd0eouTlr8kgN/g7b4vDM=";
+  cargoSha256 = "sha256-w3+ypGuVRGwC94zj/OaDUUoUbBnepGHvqulY4IVIsfo=";
 
   meta = with lib; {
     description = "A tool and Cargo subcommand that helps you find out what takes most of the space in your executable";
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-cache/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-cache/default.nix
index 62c9f9b97e55..b6d710bab645 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-cache/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix
index d7287f59e65f..9fc89ece06d6 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-crev/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/cargo-deny/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-deny/default.nix
index b895ff703e48..78e7fa7b4c8d 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -11,19 +11,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.11.0";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = pname;
     rev = version;
-    sha256 = "sha256-LYXwdOopQkgq7i4l8dqQFkNLB3r+CVRor4BVeoj0DPs=";
+    sha256 = "sha256-QpYwH9ZmD/muCGtL+9wzz4UKRyHWaga7vrjNjKz4uVQ=";
   };
 
   # enable pkg-config feature of zstd
   cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  cargoSha256 = "sha256-SdbDWw4GOvCTKN7vBjhLU5rhdVIpyO+AWaFbo06HXfU=";
+  cargoSha256 = "sha256-DFGCjA0AENYDs5EnQ3WDkbCEw14ndjOh7qx2ZFgNGH0=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -40,6 +40,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/EmbarkStudios/cargo-deny";
     changelog = "https://github.com/EmbarkStudios/cargo-deny/blob/${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ figsoda matthiasbeyer ];
+    maintainers = with maintainers; [ figsoda matthiasbeyer jk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
index 695a071491bf..860d53717098 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/nixpkgs/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.10";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-9Zov1XTU02TjQ707Z/Muv70AGtQL03V1G3suabY3D48=";
+    sha256 = "sha256-NhBUN+pf+j/4IozFDEb+XZ1ijSk6dNvCANyez823a0c=";
   };
 
-  cargoSha256 = "sha256-toWzjfHU5ce/50kCbuxj6sIG2R3i8q9HBcIzlwW0C9A=";
+  cargoSha256 = "sha256-7rqtxyoo1SQ7Rae04+b+B0JgCKeW0p1j7bZzPpJ8+ks=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix
index 22fe3a2b19ce..5893fd2c828c 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-fuzz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix
index bd71a14b4a04..28511223be04 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-geiger/default.nix
@@ -1,27 +1,20 @@
 { stdenv, lib, fetchFromGitHub
 , rustPlatform, pkg-config, openssl
-# testing packages
-, cargo-insta
 # darwin dependencies
 , Security, CoreFoundation, libiconv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-geiger";
-  version = "0.10.2";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "rust-secure-code";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1z920p8i3gkjadyd6bqjk4i5yr5ds3m3sbcnf7plcqr69dsjr4b8";
+    sha256 = "sha256-KkOLDSnLneal3m+CrYKKIoeO61rjXEDq4GK3kPwQxj4=";
   };
-
-  cargoSha256 = "1wf9758gyaxgyajjzy5phirg922n9wv0qmy67zjmxj56ayf0l9lm";
-
-  checkPhase = ''
-    ${cargo-insta}/bin/cargo-insta test
-  '';
+  cargoSha256 = "sha256-i7xDEzZAN2ubW1Q6MhY+xsb9XiUajNDHLdtDuO5r6jA=";
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ];
   nativeBuildInputs = [ pkg-config ];
@@ -33,10 +26,33 @@ rustPlatform.buildRustPackage rec {
     export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
   '';
 
+  # skip tests with networking or other failures
+  checkFlags = [
+    "--skip serialize_test2_quick_report"
+    "--skip serialize_test3_quick_report"
+    "--skip serialize_test6_quick_report"
+    "--skip serialize_test2_report"
+    "--skip serialize_test3_report"
+    "--skip serialize_test6_report"
+    "--skip test_package::case_2"
+    "--skip test_package::case_3"
+    "--skip test_package::case_6"
+    "--skip test_package_update_readme::case_2"
+    "--skip test_package_update_readme::case_3"
+    "--skip test_package_update_readme::case_5"
+  ];
+
   meta = with lib; {
-    description = "Detects usage of unsafe Rust in a Rust crate and its dependencies";
     homepage = "https://github.com/rust-secure-code/cargo-geiger";
+    changelog = "https://github.com/rust-secure-code/cargo-geiger/blob/${pname}-${version}/CHANGELOG.md";
+    description = "Detects usage of unsafe Rust in a Rust crate and its dependencies";
+    longDescription = ''
+      A cargo plugin that detects the usage of unsafe Rust in a Rust crate and
+      its dependencies. It provides information to aid auditing and guide
+      dependency selection but it can not help you decide when and why unsafe
+      code is appropriate.
+    '';
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ evanjs ];
+    maintainers = with maintainers; [ evanjs jk ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-geiger/update-cargo-lock.sh b/nixpkgs/pkgs/development/tools/rust/cargo-geiger/update-cargo-lock.sh
deleted file mode 100755
index 6e077c6733f3..000000000000
--- a/nixpkgs/pkgs/development/tools/rust/cargo-geiger/update-cargo-lock.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# This updates cargo-lock.patch for the diesel version listed in default.nix.
-
-set -eu -o verbose
-
-here=$PWD
-version=$(cat default.nix | grep '^  version = "' | cut -d '"' -f 2)
-checkout=$(mktemp -d)
-git clone -b "cargo-geiger-$version" --depth=1 https://github.com/rust-secure-code/cargo-geiger "$checkout"
-cd "$checkout"
-
-rm -f rust-toolchain
-cargo generate-lockfile
-git add -f Cargo.lock
-git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
-
-cd "$here"
-rm -rf "$checkout"
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
index d432f5a50fae..0597b7abbecc 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-generate";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "ashleygwilliams";
     repo = "cargo-generate";
     rev = "v${version}";
-    sha256 = "sha256-t0vIuJUGPgHQFBezmEMOlEJItwOJHlIQMFvcUZlx9is=";
+    sha256 = "sha256-VMcyBa8bjH4n8hKS+l5xcaQCBYkBVWjDV2uk4JmhxFs=";
   };
 
-  cargoSha256 = "sha256-esfiMnnij3Tf1qROVViPAqXFJA4DAHarV44pK5zpDrc=";
+  cargoSha256 = "sha256-9RMzvZLGRFGJ0Bw2is2aeRCoLzHsZZ6LCfoCTrKjHbo=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-insta/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-insta/default.nix
index 0c3773933545..93593a01f5ee 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-insta/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/cargo-llvm-lines/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
index 1e10d9eddcf0..7fc1da095e5f 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-llvm-lines";
-  version = "0.4.12";
+  version = "0.4.13";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-D4blt8kGD0mxysedRMZo/VNfwfYdJs8T2zoNjHRi0ng=";
+    sha256 = "sha256-sN0i2oo0XuxneIK/w+jpxkcdm2rtqhyH2Y3CMPnH+ro=";
   };
 
-  cargoSha256 = "sha256-H2APBu9oHmtRGSB+VQT9V5C36awPy8fi6A2Qf1RsIbU=";
+  cargoSha256 = "sha256-Gv7C4NFThNawhT+IYO0ZbpOh6w/yPeIJKZjzTyM/GJw=";
 
   meta = with lib; {
     description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
index da4345c0e44c..24d309eb68aa 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
@@ -13,11 +13,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.35.7";
+  version = "0.35.8";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-rMeaKzCGY9jRrw8GaGtgm1rg3FIdaX/P+bOZRAtAI/s=";
+    sha256 = "sha256-YNPAIdN9FDUHs/5aCYJN+1/12ZYk1YJsUjjB1a09KvA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-ZXQM2ij9Cpa5WCEHhcDc/tThfKZ7s1URmYsmqRg73m0=";
+  cargoSha256 = "sha256-xLFBF8fEbupLgFNdYC1NzM6p7O2gvsv0Utk4Et2oBDc=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix
index aec27c588a90..32ecbf9b340a 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-msrv/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-msrv";
-  version = "0.13.0";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "foresterre";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zIUbPmSlobSC3iJ0ddto40Sa/1xzCYG6eaTjMuUnXNU=";
+    sha256 = "sha256-rKkU49sqVArp/iCfcG78ieoEbyZoqB1owTwLfl09DSM=";
   };
 
-  cargoSha256 = "sha256-GKU0ootG4fXUGErPplERMVjEBop/0+sfQCYpQwPPcXA=";
+  cargoSha256 = "sha256-aA4l7kyVnu416LcHddJqrEpi8WS0AImbROZG+kBy5tk=";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-spellcheck/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-spellcheck/default.nix
index 8e6e9459aab0..3b579d3ef9f0 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-spellcheck/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-spellcheck/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-spellcheck";
-  version = "0.9.6";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "drahnr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0brrpcnsphvl1qn8myrzan0k87ph629gcj6zd54ym9f67qg2nri1";
+    sha256 = "sha256-AKk25/j9Ao7ss8+2x+A5ohZ4P1wQ8uW5DVIBCHqFSPU=";
   };
 
-  cargoSha256 = "0d0adpgf0j8xvw0dm3gcd6lnksn6p5rz3limc038fg8k84zf7cdb";
+  cargoSha256 = "sha256-6zTZXSW8poePNZy48F6u5tF1LEDQt4f9qv7W/pdIBbI=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
@@ -32,6 +32,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Checks rust documentation for spelling and grammar mistakes";
     homepage = "https://github.com/drahnr/cargo-spellcheck";
+    changelog = "https://github.com/drahnr/cargo-spellcheck/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ newam ];
   };
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix
index 21a5b470a2e9..808cda01fe54 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tally";
-  version = "1.0.0";
+  version = "1.0.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "16r60ddrqsss5nagfb5g49md8wwm4zbp9sffbm23bhlqhxh35y0i";
+    sha256 = "sha256-m5NLI0C7ett5Fmvs9t1vl2W6h7mjCtEFBc1AzYg9JfY=";
   };
 
-  cargoSha256 = "0ffq67vy0pa7va8j93g03bralz7lck6ds1hidbpzzkp13pdcgf97";
+  cargoSha256 = "sha256-AxjQUyxX5lLFPdEdETvZLHbgMYg/xOo7bcqn1TiDKsE=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     DiskArbitration
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix
index 88e32f2efdab..b4e0364d0861 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-udeps/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-udeps";
-  version = "0.1.25";
+  version = "0.1.26";
 
   src = fetchFromGitHub {
     owner = "est31";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GNQ8PTnkmf4m2QW1yIEKytk53RNJZa9Z0GUrW5UjIkk=";
+    sha256 = "sha256-7QTlbZZcWZx/E2jYYu0A6kBbScmCml0wpJ17tqLYg90=";
   };
 
-  cargoSha256 = "sha256-MbD5lkmKzggdoSzCcArVzpdQRLnXT1y+C2EFSWUbaa4=";
+  cargoSha256 = "sha256-E9AouGvZTg3wD/loc80Cz933oEnWMSqwQEYTU+NPtjM=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-valgrind/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-valgrind/default.nix
index e1f26dc02b2e..97f3d4d4b3b6 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-valgrind/default.nix
+++ b/nixpkgs/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.2";
 
   src = fetchFromGitHub {
     owner = "jfrimmel";
     repo = "cargo-valgrind";
     rev = version;
-    sha256 = "sha256-PltYUU2O/D1PrU+K8JN4+aUVLzHCeNyIsXMU6HLodXE=";
+    sha256 = "sha256-yKmm24X+5P5UATjWn0LJqby9lKRhwlvDK5suTPxKGwU=";
   };
 
-  cargoSha256 = "sha256-XiQGkZ6pfyGkNPjpcPoY66qBl7ABTcRHCBjgmXSRrL0=";
+  cargoSha256 = "sha256-8n2WryAWi/bIL0XCSlNYcxXN2ld1tis435ScuU0QcBs=";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix
index e8d62c9252f3..506c71808a05 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-xbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-xbuild";
-  version = "0.6.2";
+  version = "0.6.5";
 
   src = fetchFromGitHub {
     owner = "rust-osdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01whdjryz6zjsk4149h72w5xdjnkpcn5daf0xnsb59b0q38hjgg9";
+    sha256 = "sha256-bnceN47OFGlxs3ibcKoZFjoTgXRQxA2ZqxnthJ/fsqE=";
   };
 
-  cargoSha256 = "036a50shzl6wdjk5wypkacx1kjwbyb4x1aqhbzgjgpxxxrf0lj16";
+  cargoSha256 = "sha256-qMPJC61ZVW9olMgNnGrvcQ/je4se4J5gOVoaOpNMUo8=";
 
   meta = with lib; {
     description = "Automatically cross-compiles the sysroot crates core, compiler_builtins, and alloc";
diff --git a/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix b/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix
index a86e531e7f67..b3a12c5e10aa 100644
--- a/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/kolloch/crate2nix";
     license = licenses.asl20;
-    maintainers = with maintainers; [ kolloch andir cole-h ];
+    maintainers = with maintainers; [ kolloch cole-h ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/rust/maturin/default.nix b/nixpkgs/pkgs/development/tools/rust/maturin/default.nix
index 3cbf9c404c68..204654eb0e78 100644
--- a/nixpkgs/pkgs/development/tools/rust/maturin/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/probe-rs-cli/default.nix b/nixpkgs/pkgs/development/tools/rust/probe-rs-cli/default.nix
new file mode 100644
index 000000000000..4978c4a3c3e6
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
index 164e57e77490..53e74bf16394 100644
--- a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2021-12-27";
-  cargoSha256 = "sha256-yok7kLcvKvDwrdgJR0540QLJi5/zXi0NyZxhtoQ8Xno=";
+  version = "2022-01-31";
+  cargoSha256 = "sha256-BWCLzyCcLWwmh7Os7NjN2o89KD+VB0EHyZfTyYoYM08=";
 
   src = fetchFromGitHub {
     owner = "rust-analyzer";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-/195+NsV6Mku2roi8zVy4dw8QGL6rQcnPcQ29Os8oqs=";
+    sha256 = "sha256-6+d/x7ZIyvkPLdn7ziXuPyKfxt/7z5PCWs7B960DFqk=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-script/default.nix b/nixpkgs/pkgs/development/tools/rust/rust-script/default.nix
index 2839c2287f89..416506367710 100644
--- a/nixpkgs/pkgs/development/tools/rust/rust-script/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/svd2rust/default.nix b/nixpkgs/pkgs/development/tools/rust/svd2rust/default.nix
index acf86ee50a74..20501594c439 100644
--- a/nixpkgs/pkgs/development/tools/rust/svd2rust/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/svd2rust/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svd2rust";
-  version = "0.19.0";
+  version = "0.21.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-LNJd88Gw8HaE1qnRbD7mipVEFgG7jCsyUu9pbwY/4JY=";
+    sha256 = "0mxzbbxrg1jysxpjqcvgwwmh8qf0lyf64fl1gxxp0whph0x279qj";
   };
 
-  cargoSha256 = "sha256-Qg/wA3R98FAb8UZ5s7GOEgOeifrqwFJ4lg0BC2SZOE8=";
+  cargoSha256 = "0kvya6swx1nsxxlhn2w8x4dhl4j3v56jxqr2h259cx6lzv3xjhin";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/nixpkgs/pkgs/development/tools/sassc/default.nix b/nixpkgs/pkgs/development/tools/sassc/default.nix
index 16bc97a48ee6..54f744a1608e 100644
--- a/nixpkgs/pkgs/development/tools/sassc/default.nix
+++ b/nixpkgs/pkgs/development/tools/sassc/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-jcs3+orRqKt9C3c2FTdeaj4H2rBP74lW3HF8CHSm7lQ=";
   };
 
-  preConfigure = ''
+  postPatch = ''
     export SASSC_VERSION=${version}
   '';
 
diff --git a/nixpkgs/pkgs/development/tools/scalafmt/default.nix b/nixpkgs/pkgs/development/tools/scalafmt/default.nix
index 3b3e5be296fe..ee49ee1bf6d9 100644
--- a/nixpkgs/pkgs/development/tools/scalafmt/default.nix
+++ b/nixpkgs/pkgs/development/tools/scalafmt/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "scalafmt";
-  version = "3.3.0";
+  version = "3.4.0";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -13,7 +13,7 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "PlLQVNn2HomcR9grqGFgaXYWxg9EU7ihd28wXruZiBs=";
+    outputHash     = "l5F09bjRev2eBHKTMzojC7+USkW7qf3YtA2KSoN7MxM=";
   };
 in
 stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/development/tools/sd-local/default.nix b/nixpkgs/pkgs/development/tools/sd-local/default.nix
index 3ec4163ac442..c1c5bbee0ac3 100644
--- a/nixpkgs/pkgs/development/tools/sd-local/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/selene/default.nix b/nixpkgs/pkgs/development/tools/selene/default.nix
index dd936781d9d9..37071321f510 100644
--- a/nixpkgs/pkgs/development/tools/selene/default.nix
+++ b/nixpkgs/pkgs/development/tools/selene/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "selene";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "kampfkarren";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tA1exZ97N2tAagAljt+MOSGh6objOiqbZXUaBZ62Sls=";
+    sha256 = "sha256-S0EeFJS90bzQ7C+hN4CyZ7l9wmizT2d3P6utshI5JWs=";
   };
 
-  cargoSha256 = "sha256-4vCKiTWwnibNK6/S1GOYRurgm2Aq1e9o4rAmp0hqGeA=";
+  cargoSha256 = "sha256-3J1Q595LxAI0LBP4/cLHDrMbZBnoA2+OSr8/erQcN+0=";
 
   nativeBuildInputs = lib.optional robloxSupport pkg-config;
 
diff --git a/nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix b/nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix
index c47cddea5867..a75488a229df 100644
--- a/nixpkgs/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/selenium/selendroid/default.nix b/nixpkgs/pkgs/development/tools/selenium/selendroid/default.nix
index b029e7711a3e..975a040b8bc3 100644
--- a/nixpkgs/pkgs/development/tools/selenium/selendroid/default.nix
+++ b/nixpkgs/pkgs/development/tools/selenium/selendroid/default.nix
@@ -2,12 +2,12 @@
 
 with lib;
 let
-    name = "selendroid-standalone-${version}";
+    pname = "selendroid-standalone";
     pluginName = "selendroid-grid-plugin-${version}";
     version = "0.17.0";
     srcs = {
       jar = fetchurl {
-        url = "https://github.com/selendroid/selendroid/releases/download/${version}/${name}-with-dependencies.jar";
+        url = "https://github.com/selendroid/selendroid/releases/download/${version}/selendroid-standalone-${version}-with-dependencies.jar";
         sha256 = "10lxdsgp711pv8r6dk2aagnbvnn1b25zfqjvz7plc73zqhx1dxvw";
       };
       gridPlugin = fetchurl {
@@ -17,9 +17,7 @@ let
     };
 in
 stdenv.mkDerivation {
-
-  inherit name;
-  inherit version;
+  inherit pname version;
 
   dontUnpack = true;
 
@@ -28,11 +26,11 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/share/lib/selendroid
-    cp ${srcs.jar} $out/share/lib/selendroid/${name}.jar
+    cp ${srcs.jar} $out/share/lib/selendroid/selendroid-standalone-${version}.jar
     cp ${srcs.gridPlugin} $out/share/lib/selendroid/${pluginName}.jar
 
     makeWrapper ${jdk}/bin/java $out/bin/selendroid \
-      --add-flags "-jar $out/share/lib/selendroid/${name}.jar"
+      --add-flags "-jar $out/share/lib/selendroid/selendroid-standalone-${version}.jar"
     makeWrapper ${jdk}/bin/java $out/bin/selendroid-selenium \
       --add-flags "-Dfile.encoding=UTF-8" \
       --add-flags "-cp ${selenium-server-standalone}/share/lib/${selenium-server-standalone.name}/${selenium-server-standalone.name}.jar:$out/share/lib/selendroid/${pluginName}.jar" \
diff --git a/nixpkgs/pkgs/development/tools/sentry-cli/default.nix b/nixpkgs/pkgs/development/tools/sentry-cli/default.nix
index c832f39b0832..8087148c169d 100644
--- a/nixpkgs/pkgs/development/tools/sentry-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/sentry-cli/default.nix
@@ -9,13 +9,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "1.71.0";
+  version = "1.72.2";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "0iw6skcxnqqa0vj5q1ra855gxgjj9a26hj85nm9p49ai5l85bkgv";
+    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 = "0n9354mm97z3n001airipq8k58i7lg20p2m9yfx9y0zhsagyhmj8";
+  cargoSha256 = "sha256-vz0qSKFoM5kRgATshQ8W+yJTtWyQRvHp22t4nsJHqG0=";
 
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
diff --git a/nixpkgs/pkgs/development/tools/skaffold/default.nix b/nixpkgs/pkgs/development/tools/skaffold/default.nix
index 3f5f2f22777c..2d2237e7b638 100644
--- a/nixpkgs/pkgs/development/tools/skaffold/default.nix
+++ b/nixpkgs/pkgs/development/tools/skaffold/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "skaffold";
-  version = "1.35.1";
+  version = "1.36.0";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "sha256-8Ye2eR9eB7oyYOo46OraOxfLOG/XphWJkk+xPzDthPU=";
+    sha256 = "sha256-N5m13wxCtdZ1UBBVmq77XvePJTphMhLoHl4VcTcl3dE=";
   };
 
-  vendorSha256 = "sha256-jr4HEs2mTRPNAiV/OWUnjYyQ1uSUJfVOTNCRi/18tEo=";
+  vendorSha256 = "sha256-49UuGVdOlIf50QZ+qlA4kxlrSKouN8zZlby4wMxabe0=";
 
   subPackages = ["cmd/skaffold"];
 
@@ -24,6 +24,11 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/skaffold version | grep ${version} > /dev/null
+  '';
+
   postInstall = ''
     installShellCompletion --cmd skaffold \
       --bash <($out/bin/skaffold completion bash) \
diff --git a/nixpkgs/pkgs/development/tools/skjold/default.nix b/nixpkgs/pkgs/development/tools/skjold/default.nix
new file mode 100644
index 000000000000..173de27d945e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/skjold/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, fetchFromGitHub
+, fetchpatch
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "skjold";
+  version = "0.4.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "twu";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-xz6N7/LS3wOymh9tet8OLgsSaretzuMU4hQd+LeUPJ4=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    click
+    packaging
+    pyyaml
+    toml
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytest-mock
+    pytest-watch
+    pytestCheckHook
+  ];
+
+  patches = [
+    # Switch to poetry-core, https://github.com/twu/skjold/pull/91
+    (fetchpatch {
+      name = "switch-poetry-core.patch";
+      url = "https://github.com/twu/skjold/commit/b341748c9b11798b6a5182d659a651b0f200c6f5.patch";
+      sha256 = "sha256-FTZTbIudO6lYO9tLD4Lh1h5zsTeKYtflR2tbbHZ5auM=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'packaging = "^21.0"' 'packaging = "*"' \
+      --replace 'pyyaml = "^5.3"' 'pyyaml = "*"'
+  '';
+
+  disabledTestPaths = [
+    # Too sensitive to pass
+    "tests/test_cli.py"
+  ];
+
+  disabledTests = [
+    # Requires network access
+    "pyup-werkzeug"
+    "test_ensure_accessing_advisories_triggers_update"
+    "test_ensure_accessing_advisories_triggers_update"
+    "test_ensure_gemnasium_update"
+    "test_ensure_missing_github_token_raises_usage_error"
+    "test_ensure_pypi_advisory_db_update"
+    "test_ensure_source_is_affected_single"
+    "test_osv_advisory_with_vulnerable_package_via_osv_api"
+    "urllib3"
+  ];
+
+  pythonImportsCheck = [
+    "skjold"
+  ];
+
+  meta = with lib; {
+    description = "Tool to Python dependencies against security advisory databases";
+    homepage = "https://github.com/twu/skjold";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/skopeo/default.nix b/nixpkgs/pkgs/development/tools/skopeo/default.nix
index 7b9a727c2ef0..213a8da8ce02 100644
--- a/nixpkgs/pkgs/development/tools/skopeo/default.nix
+++ b/nixpkgs/pkgs/development/tools/skopeo/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.5.2";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-KleTvRQwQFr4rrRXFW2z4N7DXIT920O2gig6wmOFIKs=";
+    sha256 = "sha256-L3dHkF7yKnwXpXxCEswwA0TxVfjTzc89l0rpT7EYpIU=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/tools/spirv-tools/default.nix b/nixpkgs/pkgs/development/tools/spirv-tools/default.nix
index 4bae4609115c..aa58b37773ef 100644
--- a/nixpkgs/pkgs/development/tools/spirv-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/spirv-tools/default.nix
@@ -2,14 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-tools";
-  # Update spirv-headers rev in lockstep according to DEPs file
-  version = "2021.3";
+  version = "1.2.198.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
-    rev = "v${version}";
-    sha256 = "sha256-skpsxpgl6hR5uiKfphKFQJfh+LJvhGvDW/t2u5AhXzk=";
+    rev = "sdk-${version}";
+    sha256 = "sha256-8EJbTPY5dvsqx32POf2HcCV3j2fA68GtGZA66l9V4TI=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
@@ -20,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/nixpkgs/pkgs/development/tools/stylua/default.nix b/nixpkgs/pkgs/development/tools/stylua/default.nix
index 8d0625d7bea1..7db111a50f26 100644
--- a/nixpkgs/pkgs/development/tools/stylua/default.nix
+++ b/nixpkgs/pkgs/development/tools/stylua/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.11.2";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rdtFzHpOvv1uJBigJWenWyIZF/wpYP7iBW2FCsfq2d4=";
+    sha256 = "sha256-bgfG1cPhauU85FG/ZX1n2KqfydMeh92q347UsREkOGo=";
   };
 
-  cargoSha256 = "sha256-/4ZW1FIfK51ak2EIV6dYY3XpucPPR+OZySPWwcKP4v0=";
+  cargoSha256 = "sha256-njZTD6O67v787Z1tJ7G0QzxJLhqU2sfpOVw6r4woE9s=";
 
   buildFeatures = lib.optional lua52Support "lua52"
     ++ lib.optional luauSupport "luau";
diff --git a/nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix b/nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix
index d27506e2c4bc..4ec62ed4d29d 100644
--- a/nixpkgs/pkgs/development/tools/sumneko-lua-language-server/default.nix
+++ b/nixpkgs/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.5.6";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-dSj3wNbQghiGfqe7dNDbWnbXYLSiG+0mYv2yFmGsAc8=";
+    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/nixpkgs/pkgs/development/tools/symfony-cli/default.nix b/nixpkgs/pkgs/development/tools/symfony-cli/default.nix
index 2eed473bb25a..1e182b888cee 100644
--- a/nixpkgs/pkgs/development/tools/symfony-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/symfony-cli/default.nix
@@ -1,50 +1,24 @@
-{ stdenvNoCC, fetchurl, lib }:
+{ buildGoModule, fetchFromGitHub, lib }:
 
-let
-  version = "4.26.9";
-
-  srcs = {
-    x86_64-linux = fetchurl {
-      url = "https://github.com/symfony/cli/releases/download/v${version}/symfony_linux_amd64.gz";
-      sha256 = "0ivqqrpzbpyzp60bv25scarmvisj401rp7h2s3cxa7d17prja91v";
-    };
-
-    i686-linux = fetchurl {
-      url = "https://github.com/symfony/cli/releases/download/v${version}/symfony_linux_386.gz";
-      sha256 = "0ag5w70bkvj9wgp4yzzy824shj907sa5l20sqcgivi3r5gy0p277";
-    };
-
-    aarch64-linux = fetchurl {
-      url = "https://github.com/symfony/cli/releases/download/v${version}/symfony_linux_arm64.gz";
-      sha256 = "00325xz7xl3bprj5zbg5yhn36jf4n37zlyag10m8zcmq8asa6k51";
-    };
-
-    x86_64-darwin = fetchurl {
-        url = "https://github.com/symfony/cli/releases/download/v${version}/symfony_darwin_amd64.gz";
-        sha256 = "00325xz7xl3bprj5zbg5yhn36jf4n37zlyag10m8zcmq8asa6k51";
-      };
-  };
-in stdenvNoCC.mkDerivation rec {
-  inherit version;
+buildGoModule rec {
   pname = "symfony-cli";
+  version = "5.3.4";
+  vendorSha256 = "sha256-i4p9kEe0eT2L4U/DjkWlLVqgGT5ZJaoGyFAoYyxmoyI=";
+
+  src = fetchFromGitHub {
+    owner = "symfony-cli";
+    repo = "symfony-cli";
+    rev = "v${version}";
+    sha256 = "sha256-6k1yMGW/UYCFB1APGlcU8bjNcCD7/IXhG+RJR6ii56I=";
+  };
 
-  src = srcs.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
-
-  dontBuild = true;
-
-  unpackPhase = ''
-    gunzip <$src >symfony
-  '';
-
-  installPhase = ''
-    install -D -t $out/bin symfony
-  '';
+  # Tests requires network access
+  doCheck = false;
 
   meta = with lib; {
     description = "Symfony CLI";
-    homepage = "https://symfony.com/download";
-    license = licenses.unfree;
+    homepage = "https://github.com/symfony-cli/symfony-cli";
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ drupol ];
-    platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/tabnine/default.nix b/nixpkgs/pkgs/development/tools/tabnine/default.nix
index c1a069d36f2d..1209f371a42f 100644
--- a/nixpkgs/pkgs/development/tools/tabnine/default.nix
+++ b/nixpkgs/pkgs/development/tools/tabnine/default.nix
@@ -1,17 +1,19 @@
 { stdenv, lib, fetchurl, unzip }:
 let
+  # You can check the latest version with `curl -sS https://update.tabnine.com/bundles/version`
+  version = "4.0.60";
   supportedPlatforms = {
     "x86_64-linux" = {
       name = "x86_64-unknown-linux-musl";
-      sha256 = "sha256-On+Sokm2+BV3JbIwK8oPO6882FOWBlgSaAp3VAyR+RM=";
+      sha256 = "sha256-v5UxRMDDQxpqIKMe9mYMXcpWiacdXzFfaQ6bgab/WmQ=";
     };
     "x86_64-darwin" = {
       name = "x86_64-apple-darwin";
-      sha256 = "sha256-4YCm42mVcsEvY4I5MWrnbfgUIU7KUIrEirvjN8ISIr0=";
+      sha256 = "sha256-vFMMzMatuu1TY6dnBXycv0HxvkOj4Axfx8p0VW0hOic=";
     };
     "aarch64-darwin" = {
       name = "aarch64-apple-darwin";
-      sha256 = "sha256-HN4o5bGX389eAR7ea5EY1JlId8q4lSPGJ4cZo9c2aP4=";
+      sha256 = "sha256-DUeDQLtvSY7W2nG60UunluCSO0ijJP2CYxpRIZA4LTE=";
     };
   };
   platform =
@@ -20,10 +22,9 @@ let
     else
       throw "Not supported on ${stdenv.hostPlatform.system}";
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "tabnine";
-  # You can check the latest version with `curl -sS https://update.tabnine.com/bundles/version`
-  version = "3.7.25";
+  inherit version;
 
   src = fetchurl {
     url = "https://update.tabnine.com/bundles/${version}/${platform.name}/TabNine.zip";
@@ -53,7 +54,7 @@ stdenv.mkDerivation rec {
     homepage = "https://tabnine.com";
     description = "Smart Compose for code that uses deep learning to help you write code faster";
     license = licenses.unfree;
-    platforms = [ "x86_64-darwin" "aarch64-darwin" "x86_64-linux" ];
+    platforms = attrNames supportedPlatforms;
     maintainers = with maintainers; [ lovesegfault ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/typos/default.nix b/nixpkgs/pkgs/development/tools/typos/default.nix
index 666326d8c0ae..9ce8a9494dd3 100644
--- a/nixpkgs/pkgs/development/tools/typos/default.nix
+++ b/nixpkgs/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.3.3";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OyH+fwE6ISGVol/0i56OfGhRf5Rw6WGx55MBZUN2frg=";
+    sha256 = "sha256-dQ+FLKf+zNrUabrXWvdYqpNXzS+j92zQcaZXPTxxB/E=";
   };
 
-  cargoSha256 = "sha256-PH1LpdzeBGmMDP5l2dgRWcZo+PjA5LTNLLBqnMEeOZk=";
+  cargoSha256 = "sha256-ud2Hb8EoOiPyzp7qPUeQi8FZ49RXbrDsk8ZEBI6lPtk=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/nixpkgs/pkgs/development/tools/udis86/default.nix b/nixpkgs/pkgs/development/tools/udis86/default.nix
index 1885d1a43223..dd4ad058c8da 100644
--- a/nixpkgs/pkgs/development/tools/udis86/default.nix
+++ b/nixpkgs/pkgs/development/tools/udis86/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, python }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, python2 }:
 
 stdenv.mkDerivation rec {
   pname = "udis86";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0c60zwimim6jrm4saw36s38w5sg5v8n9mr58pkqmjrlf7q9g6am1";
   };
 
-  nativeBuildInputs = [ autoreconfHook python ];
+  nativeBuildInputs = [ autoreconfHook python2 ];
 
   configureFlags = [
     "--enable-shared"
diff --git a/nixpkgs/pkgs/development/tools/uniffi-bindgen/Cargo.lock b/nixpkgs/pkgs/development/tools/uniffi-bindgen/Cargo.lock
new file mode 100644
index 000000000000..4de3b80928aa
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/uniffi-bindgen/default.nix b/nixpkgs/pkgs/development/tools/uniffi-bindgen/default.nix
new file mode 100644
index 000000000000..59ecd71a4114
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/unityhub/default.nix b/nixpkgs/pkgs/development/tools/unityhub/default.nix
index cf3c17823dc0..ad0e2c998e6b 100644
--- a/nixpkgs/pkgs/development/tools/unityhub/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/vala-lint/default.nix b/nixpkgs/pkgs/development/tools/vala-lint/default.nix
index 9e6962dca3d5..f9c98bc4fb10 100644
--- a/nixpkgs/pkgs/development/tools/vala-lint/default.nix
+++ b/nixpkgs/pkgs/development/tools/vala-lint/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , glib
 , meson
 , ninja
@@ -15,25 +14,15 @@
 
 stdenv.mkDerivation rec {
   pname = "vala-lint";
-  version = "unstable-2021-11-18";
+  version = "unstable-2021-12-28";
 
   src = fetchFromGitHub {
     owner = "vala-lang";
     repo = "vala-lint";
-    rev = "2db018056befba76136e6c69a78d905a128a6165";
-    sha256 = "sha256-bQaj2bETzl6ykgrpE2iLAvx691aGDLFteL/ulfoKuEk=";
+    rev = "1eeb3538b2a71addd0d8adc9f53ffe80fdfb8ce0";
+    sha256 = "sha256-u2VJIDc1yvhbBgdMKL1RijoKEL4Vl8sbrGUYu5t/wJI=";
   };
 
-  patches = [
-    # Fix build against vala-0.54.3+. Pull fix pending upstream
-    # inclusion: https://github.com/vala-lang/vala-lint/pull/155
-    (fetchpatch {
-      name = "vala-0.54.patch";
-      url = "https://github.com/vala-lang/vala-lint/commit/739f9a0b7d3e92db41eb32f2bfa527efdacc223b.patch";
-      sha256 = "sha256-1IbQu3AQXRCrrjoMZKhEOqzExmPAo1SQOFHa/IrqnNA=";
-    })
-  ];
-
   nativeBuildInputs = [
     gettext
     meson
diff --git a/nixpkgs/pkgs/development/tools/vendir/default.nix b/nixpkgs/pkgs/development/tools/vendir/default.nix
index a58a0e95a38f..e80bb0f14cdf 100644
--- a/nixpkgs/pkgs/development/tools/vendir/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/vgo2nix/default.nix b/nixpkgs/pkgs/development/tools/vgo2nix/default.nix
index 16926b16e981..365bb920e4ac 100644
--- a/nixpkgs/pkgs/development/tools/vgo2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/vgo2nix/default.nix
@@ -17,7 +17,8 @@ buildGoModule {
     sha256 = "0n9pf0i5y59kiiv6dq8h8w1plaz9w6s67rqr2acqgxa45iq36mkh";
   };
 
-  vendorSha256 = "1lzhhg9wimn8nfzrrla5bshgk1ghnlsdfmq6iask0zqz311g96bv";
+  vendorSha256 = "1xgl4avq0rblzqqpaxl4dwg4ysrhacwhfd21vb0v9ffr3zcpdw9n";
+  proxyVendor = true;
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix b/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix
index 9df68c63810b..dfc5ea9de654 100644
--- a/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/nixpkgs/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -13,38 +13,6 @@
 }:
 
 let
-  # vulkan-validation-layers requires a custom glslang & robin-hood-hashing
-  # version, while glslang requires custom versions for spirv-tools and spirv-headers.
-  #
-  # The git hashes required for all of these deps is documented upstream here:
-  # https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/scripts/known_good.json
-  # and https://github.com/KhronosGroup/glslang/blob/master/known_good.json
-  localSpirvHeaders = spirv-headers.overrideAttrs (_: {
-    src = fetchFromGitHub {
-      owner = "KhronosGroup";
-      repo = "SPIRV-Headers";
-      rev = "449bc986ba6f4c5e10e32828783f9daef2a77644"; # pin
-      sha256 = "1249pvk4iz09caxm3kwckzwcx2hbw97cr2h8h770l6c061kb14z5";
-    };
-  });
-  localGlslang = (glslang.override {
-    argSpirv-tools = spirv-tools.overrideAttrs (_: {
-      src = fetchFromGitHub {
-        owner = "KhronosGroup";
-        repo = "SPIRV-Tools";
-        rev = "1fbed83c8aab8517d821fcb4164c08567951938f"; # pin
-        sha256 = "0faz468bnxpvbg1np13gnbwf35s0hl9ad7r2p9wi9si5k336qjmj";
-      };
-    });
-    argSpirv-headers = localSpirvHeaders;
-  }).overrideAttrs (_: {
-    src = fetchFromGitHub {
-      owner = "KhronosGroup";
-      repo = "glslang";
-      rev = "2fb89a0072ae7316af1c856f22663fde4928128a"; # pin
-      sha256 = "04kkmphv0a5mb5javhmkc4kab8r0n107kb7djakj5h238ni2j7q9";
-    };
-  });
   robin-hood-hashing = fetchFromGitHub {
     owner = "martinus";
     repo = "robin-hood-hashing";
@@ -54,19 +22,19 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "vulkan-validation-layers";
-  version = "1.2.189.1";
+  version = "1.2.198.0";
 
   # If we were to use "dev" here instead of headers, the setupHook would be
   # placed in that output instead of "out".
   outputs = ["out" "headers"];
   outputInclude = "headers";
 
-  src = (assert version == vulkan-headers.version;
+  src = (assert (lib.all (pkg: pkg.version == version) [vulkan-headers glslang spirv-tools spirv-headers]);
     fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "Vulkan-ValidationLayers";
       rev = "sdk-${version}";
-      sha256 = "0a5plvvffidgnqh5ymq315xscl08w298sn9da48b3x2rdbdqgw90";
+      sha256 = "sha256-/pnXT55EQZcnjOzY2vBwp+gM6l2hktZHwB9yKP8vVTU=";
     });
 
   # Include absolute paths to layer libraries in their associated
@@ -88,8 +56,8 @@ stdenv.mkDerivation rec {
   ];
 
   cmakeFlags = [
-    "-DGLSLANG_INSTALL_DIR=${localGlslang}"
-    "-DSPIRV_HEADERS_INSTALL_DIR=${localSpirvHeaders}"
+    "-DGLSLANG_INSTALL_DIR=${glslang}"
+    "-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}"
     "-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
     "-DBUILD_LAYER_SUPPORT_FILES=ON"
     # Hide dev warnings that are useless for packaging
diff --git a/nixpkgs/pkgs/development/tools/vultr-cli/default.nix b/nixpkgs/pkgs/development/tools/vultr-cli/default.nix
index 2a0d881a9d12..6e839617034d 100644
--- a/nixpkgs/pkgs/development/tools/vultr-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/vultr-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vultr-cli";
-  version = "2.11.3";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     owner = "vultr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UI7D5bvfyGsNa6Gd1XuFu1VgiIQJ/b0g6DQlsJbaocI=";
+    sha256 = "sha256-jcZiCZn6AbrjEhMkJQloLhZmfnxqlZxu5TXqH+dDN0s=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/tools/wabt/default.nix b/nixpkgs/pkgs/development/tools/wabt/default.nix
index 5568f8c457ac..d049d9946363 100644
--- a/nixpkgs/pkgs/development/tools/wabt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
index 4416ce1b6cdc..3a36a00c73ec 100644
--- a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -12,14 +12,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-bindgen-cli";
-  version = "0.2.78";
+  version = "0.2.79";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-5s+HidnVfDV0AXA+/YcXNGVjv/E9JeK0Ttng4mCVX8M=";
+    sha256 = "sha256-3kWhhzYmIo/GFieI0i7XVJIZxIaaJHHuDp38k5xcFmI=";
   };
 
-  cargoSha256 = "sha256-CbtjUFwowP/QqyAMCzmUiSib4EpRhQAmO4ekX00xYGE=";
+  cargoSha256 = "sha256-xKYdvcrx3a9AKiRU8yJ3JNQp1Q2pEufwo+in82yTV6c=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/tools/winpdb/default.nix b/nixpkgs/pkgs/development/tools/winpdb/default.nix
index 352dc83f9abd..58fef12cd6e8 100644
--- a/nixpkgs/pkgs/development/tools/winpdb/default.nix
+++ b/nixpkgs/pkgs/development/tools/winpdb/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, pythonPackages, makeDesktopItem }:
+{ lib, fetchurl, python2Packages, makeDesktopItem }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "winpdb";
   version = "1.4.8";
   namePrefix = "";
@@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0vkpd24r40j928vc04c721innv0168sbllg97v4zw10adm24d8fs";
   };
 
-  propagatedBuildInputs = [ pythonPackages.wxPython ];
+  propagatedBuildInputs = [ python2Packages.wxPython ];
 
   desktopItem = makeDesktopItem {
     name = "winpdb";
diff --git a/nixpkgs/pkgs/development/tools/worker-build/default.nix b/nixpkgs/pkgs/development/tools/worker-build/default.nix
new file mode 100644
index 000000000000..4f6c595ee9bc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/wrangler/default.nix b/nixpkgs/pkgs/development/tools/wrangler/default.nix
index dd49657859cc..fba7d96c1da2 100644
--- a/nixpkgs/pkgs/development/tools/wrangler/default.nix
+++ b/nixpkgs/pkgs/development/tools/wrangler/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wrangler";
-  version = "1.19.6";
+  version = "1.19.8";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eFrILGq6rlm/u8RAxGHRaFgOT88I8T4inAKCoJpqPYA=";
+    sha256 = "sha256-vJjAN7RmB1J4k7p2emfbjJxkpfph6piinmqVTR67HW0=";
   };
 
-  cargoSha256 = "sha256-8JgtaSROcS9DwcnK7Yky8Ol8AJPI7guU08iaz9yPC8g=";
+  cargoSha256 = "sha256-dDQvcYnceBPDc+yeePjZ1k4a2ujCSh1hJMYFjPGw/bE=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index b0bf715e66e8..087658fe5513 100644
--- a/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -76,9 +76,14 @@ in rec {
     workspaceDependencies ? [], # List of yarn packages
   }:
     let
-      extraBuildInputs = (lib.flatten (builtins.map (key:
-        pkgConfig.${key}.buildInputs or []
-      ) (builtins.attrNames pkgConfig)));
+      extraNativeBuildInputs =
+        lib.concatMap
+          (key: pkgConfig.${key}.nativeBuildInputs or [])
+          (builtins.attrNames pkgConfig);
+      extraBuildInputs =
+        lib.concatMap
+          (key: pkgConfig.${key}.buildInputs or [])
+          (builtins.attrNames pkgConfig);
 
       postInstall = (builtins.map (key:
         if (pkgConfig.${key} ? postInstall) then
@@ -106,7 +111,8 @@ in rec {
       inherit preBuild postBuild name;
       dontUnpack = true;
       dontInstall = true;
-      buildInputs = [ yarn nodejs git ] ++ extraBuildInputs;
+      nativeBuildInputs = [ yarn nodejs git ] ++ extraNativeBuildInputs;
+      buildInputs = extraBuildInputs;
 
       configurePhase = lib.optionalString (offlineCache ? outputHash) ''
         if ! cmp -s ${yarnLock} ${offlineCache}/yarn.lock; then
diff --git a/nixpkgs/pkgs/development/tools/yq-go/default.nix b/nixpkgs/pkgs/development/tools/yq-go/default.nix
index 433aefb4123d..483523e1807b 100644
--- a/nixpkgs/pkgs/development/tools/yq-go/default.nix
+++ b/nixpkgs/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.16.2";
+  version = "4.20.2";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    sha256 = "sha256-qJZDFyBSiaS0cUcfEz1P+b5Z6Tb//KKWeYqNJpdOh9Q=";
+    sha256 = "sha256-vhHT9re35aT+TUYhl4rxv4PE/sd7Vp1PoFbS8s5lWLE=";
   };
 
-  vendorSha256 = "sha256-6J+pHWiswDRxCFdRj/d+6+QLxEF207vTyfnPq5tP30o=";
+  vendorSha256 = "sha256-samz70Dybu/Xf9+ftgIKgd2pyQcXw6Ybs/0oJN47IFE=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/ytt/default.nix b/nixpkgs/pkgs/development/tools/ytt/default.nix
index 978016369f20..fb13244daf71 100644
--- a/nixpkgs/pkgs/development/tools/ytt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/zprint/default.nix b/nixpkgs/pkgs/development/tools/zprint/default.nix
index d28574637a14..f3f8bae1e8e9 100644
--- a/nixpkgs/pkgs/development/tools/zprint/default.nix
+++ b/nixpkgs/pkgs/development/tools/zprint/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "zprint";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchurl {
     url = "https://github.com/kkinnear/${pname}/releases/download/${version}/${pname}-filter-${version}";
-    sha256 = "sha256-av1DsTijNzLdnBjTF2fEFqEM/X2VUVFvNuC09ikeDGM=";
+    sha256 = "sha256-CaugPTfEGC0IFgYUSHcE3nsnrP5DSXS1becXChbPggQ=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/nixpkgs/pkgs/development/web/bloomrpc/default.nix b/nixpkgs/pkgs/development/web/bloomrpc/default.nix
new file mode 100644
index 000000000000..1c9ed7c2e10e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/cypress/default.nix b/nixpkgs/pkgs/development/web/cypress/default.nix
index aea8ba6b19aa..9343a2eab480 100644
--- a/nixpkgs/pkgs/development/web/cypress/default.nix
+++ b/nixpkgs/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.2.0";
+  version = "9.4.1";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "sha256-NxmGMHAEVuFl/3YgcHSbg+yWHB2tRpVTWlP5p5nGtPc=";
+    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/nixpkgs/pkgs/development/web/deno/default.nix b/nixpkgs/pkgs/development/web/deno/default.nix
index 31a8ef404d9a..c05737d1c86e 100644
--- a/nixpkgs/pkgs/development/web/deno/default.nix
+++ b/nixpkgs/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.17.1";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XzpOJTLTiF4GrECC7ObFzoPusFM8mvhUGH9F52o88MY=";
+    sha256 = "sha256-FLT4O542Q3qFjrsIsF9O/dgQQNAWhsZq+MaLqF8lLPA=";
   };
-  cargoSha256 = "sha256-7uTxDkAyViNidSDH6bdUrtP96vQgyz+p2OlK+/FUJvc=";
+  cargoSha256 = "sha256-mKmMgAoEavv5kb2fo+X5dfpw0ftAho6aU3/wCTgwXao=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/development/web/deno/librusty_v8.nix b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
index 2e62e5bfe7ab..a1ea206fabdc 100644
--- a/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
+++ b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
@@ -11,11 +11,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.36.0";
+  version = "0.40.0";
   shas = {
-    x86_64-linux = "sha256-Ala3aT5oXrY+xwzXfB+pLr6gxfoSHcMen9elCbdS9mU=";
-    aarch64-linux = "sha256-BQn/gsNnnuzEzmUzEvGZ8twP0QElgOiTgHe++o4OVCI=";
-    x86_64-darwin = "sha256-YNgGgkrMdiVMe960LHz7BOB+mb/tIXBwGTveT7zrRMs=";
-    aarch64-darwin = "sha256-g2bpxeBVVlsT87jR5VWBArM7yQ/F/MDLeiKHt4u5C5M=";
+    x86_64-linux = "sha256-VHkopvK6f5lxdFLBywHe0Z+su2g5hgBsLcTxrwFgq0Y=";
+    aarch64-linux = "sha256-awWjziqqUDAl9fcLADUjytLFds1y93y5gZoOtvReL9w=";
+    x86_64-darwin = "sha256-WlRnGiJK3iFgTjNzr25rvmmiPAICPRLaD5hbys7MoJA=";
+    aarch64-darwin = "sha256-zblcAQVwnLQWh85wajg8CalqxycSR+4WGoSC2dnX7jA=";
   };
 }
diff --git a/nixpkgs/pkgs/development/web/flyctl/default.nix b/nixpkgs/pkgs/development/web/flyctl/default.nix
index 7bef336a5f3e..5fac42ab7b24 100644
--- a/nixpkgs/pkgs/development/web/flyctl/default.nix
+++ b/nixpkgs/pkgs/development/web/flyctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.260";
+  version = "0.0.297";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-xjvZp6LAKVYgZpiSHlfZzZ/OBp/UutjvndM46okC0b4=";
+    sha256 = "sha256-Ug/dGHj3prgmiIr6tkEYveTwGPUI0ivy6UtuU5QoJ2U=";
   };
 
   preBuild = ''
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-lwayHq4uByCkiwzRd3lPaSAW4XvKNMVNcN4Cfct74e8=";
+  vendorSha256 = "sha256-EwMPPZOZ0xE1DKvaU7+PrUH+Ty6ut3UYJZSY4EqXFWo=";
 
   doCheck = false;
 
@@ -27,6 +27,6 @@ buildGoModule rec {
     description = "Command line tools for fly.io services";
     homepage = "https://fly.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ aaronjanse ];
+    maintainers = with maintainers; [ aaronjanse jsierles ];
   };
 }
diff --git a/nixpkgs/pkgs/development/web/insomnia/default.nix b/nixpkgs/pkgs/development/web/insomnia/default.nix
index 041ceed52881..2abdabc23311 100644
--- a/nixpkgs/pkgs/development/web/insomnia/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/lucky-cli/default.nix b/nixpkgs/pkgs/development/web/lucky-cli/default.nix
index df343f30785b..a87892c5f147 100644
--- a/nixpkgs/pkgs/development/web/lucky-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/lucky-cli/shard.lock b/nixpkgs/pkgs/development/web/lucky-cli/shard.lock
index f0808622bcf1..854a755b0df8 100644
--- a/nixpkgs/pkgs/development/web/lucky-cli/shard.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/lucky-cli/shards.nix b/nixpkgs/pkgs/development/web/lucky-cli/shards.nix
index b4f100518b3f..78c0b4b13385 100644
--- a/nixpkgs/pkgs/development/web/lucky-cli/shards.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/minify/default.nix b/nixpkgs/pkgs/development/web/minify/default.nix
index 1c91fdef97eb..94997b93f81d 100644
--- a/nixpkgs/pkgs/development/web/minify/default.nix
+++ b/nixpkgs/pkgs/development/web/minify/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minify";
-  version = "2.9.22";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "tdewolff";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ph5PrM917qGwp7SLg6Ujfk5YJWFSlUBdW/JJRiwq7fw=";
+    sha256 = "sha256-4wF9bRLrGQftw54b+HrsoJOGsTRTNYVDEMsKsFqnHGY=";
   };
 
-  vendorSha256 = "sha256-0GKIGIVtMywpKxopsVrUZMgeXP/l76U2As8FiG2Niqw=";
+  vendorSha256 = "sha256-4aoDQKMhczy1u4Eq567aMrFVIBW2L8OgNCqsgmUN6CI=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/web/nodejs/nodejs.nix b/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
index 72615b356222..1e05850884c7 100644
--- a/nixpkgs/pkgs/development/web/nodejs/nodejs.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/nodejs/v12.nix b/nixpkgs/pkgs/development/web/nodejs/v12.nix
index f69915ddfa69..f353fa9bbc6f 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v12.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v12.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.22.8";
-    sha256 = "0g0ihjzbd02izhmb4jzkdsr5788982wy8q2b4a1h04q8l4fwp197";
+    version = "12.22.10";
+    sha256 = "sha256-rUyIkdVKLJu2r0NpVt7q1ZhrlpiwbmxtYW3kKc+1OTo=";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v14.nix b/nixpkgs/pkgs/development/web/nodejs/v14.nix
index 0e0bde32b2f8..270592d6dc32 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v14.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.18.1";
-    sha256 = "1vc9rypkgr5i5y946jnyr9jjpydxvm74p1s17rg2zayzvlddg89z";
+    version = "14.19.0";
+    sha256 = "sha256-6S6EYwDmEXVH036o1b0yJEwZsvzvyznhQgpHY39FAww=";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v16.nix b/nixpkgs/pkgs/development/web/nodejs/v16.nix
index a0c978169ae1..864672b12def 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v16.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v16.nix
@@ -8,8 +8,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "16.13.1";
-    sha256 = "1bb3rjb2xxwn6f4grjsa7m1pycp0ad7y6vz7v2d7kbsysx7h08sc";
+    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/nixpkgs/pkgs/development/web/nodejs/v17.nix b/nixpkgs/pkgs/development/web/nodejs/v17.nix
index 62db8e9f87d2..9540919b017f 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v17.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v17.nix
@@ -7,8 +7,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "17.3.0";
-  sha256 = "00sx046xmh75va7jh810npphnz3yrixifjhlj0jqysal93kc9r74";
+  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/nixpkgs/pkgs/development/web/postman/default.nix b/nixpkgs/pkgs/development/web/postman/default.nix
index 5896bbf336e3..a45d06cb4c3e 100644
--- a/nixpkgs/pkgs/development/web/postman/default.nix
+++ b/nixpkgs/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.6.1";
+  version = "9.13.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "sha256-4nnOMMfxk4VP8t5eLGHrlHEIeDA+Tp1Hqfe8EWaXUik=";
+    sha256 = "sha256-ZlCIqQ4i/jaf/uDBonVXf6kAuKEhinnKTk3nO7mnBV4=";
     name = "${pname}.tar.gz";
   };
 
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
     libXtst
     libXScrnSaver
     libxkbcommon
+    xorg.libxshmfence
   ];
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/games/7kaa/default.nix b/nixpkgs/pkgs/games/7kaa/default.nix
new file mode 100644
index 000000000000..2b74306cd253
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/games/ace-of-penguins/default.nix b/nixpkgs/pkgs/games/ace-of-penguins/default.nix
new file mode 100644
index 000000000000..fb15aedc1df8
--- /dev/null
+++ b/nixpkgs/pkgs/games/ace-of-penguins/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, stdenv
+, fetchurl
+, copyDesktopItems
+, libX11
+, libXpm
+, libpng
+, makeDesktopItem
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ace-of-penguins";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "http://www.delorie.com/store/ace/ace-${version}.tar.gz";
+    hash = "sha256-H+47BTOSGkKHPAYj8z2HOgZ7HuxY8scMAUSRRueaTM4=";
+  };
+
+  patches = [
+    # Fixes a bunch of miscompilations in modern environments
+    ./fixup-miscompilations.patch
+  ];
+
+  nativeBuildInputs = [
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    libX11
+    libXpm
+    libpng
+    zlib
+  ];
+
+  desktopItems = let
+    generateItem = gameName: {
+      name = "${pname}-${gameName}";
+      exec = "${placeholder "out"}/bin/${gameName}";
+      comment = "Ace of Penguins ${gameName} Card Game";
+      desktopName = gameName;
+      genericName = gameName;
+    };
+  in
+    map (x: makeDesktopItem (generateItem x)) [
+      "canfield"
+      "freecell"
+      "golf"
+      "mastermind"
+      "merlin"
+      "minesweeper"
+      "pegged"
+      "penguins"
+      "solitaire"
+      "spider"
+      "taipedit"
+      "taipei"
+      "thornq"
+    ];
+
+  meta = with lib; {
+    homepage = "http://www.delorie.com/store/ace/";
+    description = "Solitaire games in X11";
+    longDescription = ''
+      The Ace of Penguins is a set of Unix/X solitaire games based on the ones
+      available for Windows(tm) but with a number of enhancements that my wife
+      says make my versions better :-)
+
+      The latest version includes clones of freecell, golf, mastermind, merlin,
+      minesweeper, pegged, solitaire, taipei (with editor!), and thornq (by
+      Martin Thornquist).
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/games/ace-of-penguins/fixup-miscompilations.patch b/nixpkgs/pkgs/games/ace-of-penguins/fixup-miscompilations.patch
new file mode 100644
index 000000000000..599b4a137d79
--- /dev/null
+++ b/nixpkgs/pkgs/games/ace-of-penguins/fixup-miscompilations.patch
@@ -0,0 +1,80 @@
+--- ace-1.4/lib/xwin.c	
++++ ace-1.4/lib/xwin.c	
+@@ -89,10 +89,10 @@
+ /* Motif window hints */
+ typedef struct
+ {
+-  unsigned flags;
+-  unsigned functions;
+-  unsigned decorations;
+-  int inputMode;
++  unsigned long flags;
++  unsigned long functions;
++  unsigned long decorations;
++  long inputMode;
+ } PropMotifWmHints;
+ 
+ typedef PropMotifWmHints        PropMwmHints;
+@@ -841,13 +841,13 @@
+   png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, 0, 0, 0);
+   info_ptr = png_create_info_struct (png_ptr);
+ 
+-  if (setjmp (png_ptr->jmpbuf)) {
++  if (setjmp (png_jmpbuf (png_ptr))) {
+     fprintf(stderr, "Invalid PNG image!\n");
+     return;
+   }
+ 
+   file_bytes = src->file_data;
+-  png_set_read_fn (png_ptr, (voidp)&file_bytes, (png_rw_ptr)png_reader);
++  png_set_read_fn (png_ptr, (void *)&file_bytes, (png_rw_ptr)png_reader);
+ 
+   png_read_info (png_ptr, info_ptr);
+ 
+--- ace-1.4/lib/make-imglib.c	
++++ ace-1.4/lib/make-imglib.c	
+@@ -86,7 +86,7 @@
+     png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, 0, 0, 0);
+     info_ptr = png_create_info_struct (png_ptr);
+ 
+-    if (setjmp (png_ptr->jmpbuf)) {
++    if (setjmp (png_jmpbuf (png_ptr))) {
+       fclose (f);
+       continue;
+     }
+
+--- ace-1.4/lib/Makefile.am	
++++ ace-1.4/lib/Makefile.am
+@@ -6,7 +6,7 @@
+ CLEANFILES = images.c images.d
+ 
+ INCLUDES = $(X_CFLAGS) @PDA@
+-AM_LDFLAGS = $(X_LIBS)
++AM_LDFLAGS = $(X_LIBS) -lpng -lz -lm
+ 
+ BUILD_CC = @BUILD_CC@
+ AR = @AR@
+
+--- ace-1.4/lib/xwin.c  2020-10-07 02:07:59.000000000 +0300
++++ ace-1.4/lib/xwin.c    2020-10-07 02:15:05.941784967 +0300
+@@ -55,7 +55,6 @@
+   { "-visual", OPTION_INTEGER, &visual_id },
+   { 0, 0, 0 }
+ };
+-OptionDesc *xwin_options = xwin_options_list;
+
+ Display *display=0;
+ int screen=0;
+--- ace-1.4/config.guess	2012-03-24 19:00:49.000000000 +0100
++++ ace-1.4/config.guess	2021-07-05 11:02:16.685843793 +0200
+@@ -882,6 +882,9 @@
+ 	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ 	fi
+ 	exit ;;
++    aarch64*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
+     avr32*:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+
diff --git a/nixpkgs/pkgs/games/alephone/default.nix b/nixpkgs/pkgs/games/alephone/default.nix
index 347ccd8df63b..aa76cc17b402 100644
--- a/nixpkgs/pkgs/games/alephone/default.nix
+++ b/nixpkgs/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
@@ -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/nixpkgs/pkgs/games/alephone/infinity/default.nix b/nixpkgs/pkgs/games/alephone/infinity/default.nix
index f6002469a096..463915314adc 100644
--- a/nixpkgs/pkgs/games/alephone/infinity/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/amoeba/default.nix b/nixpkgs/pkgs/games/amoeba/default.nix
index 61f5a5bf824d..0e21a9a1b9ea 100644
--- a/nixpkgs/pkgs/games/amoeba/default.nix
+++ b/nixpkgs/pkgs/games/amoeba/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, amoeba-data, alsa-lib, expat, freetype, gtk2, libvorbis, libGLU, xorg, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "amoeba-${version}-${debver}";
+  pname = "amoeba";
   version = "1.1";
   debver = "29.1";
 
diff --git a/nixpkgs/pkgs/games/among-sus/default.nix b/nixpkgs/pkgs/games/among-sus/default.nix
index 454c7d181f95..be9ecc7adf57 100644
--- a/nixpkgs/pkgs/games/among-sus/default.nix
+++ b/nixpkgs/pkgs/games/among-sus/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "among-sus-unstable";
-  version = "2020-10-29";
+  version = "2021-05-19";
 
   src = fetchFromSourcehut {
     owner = "~martijnbraam";
     repo = "among-sus";
-    rev = "1f4c8d800d025d36ac66826937161be3252fbc57";
-    sha256 = "19jq7ygh9l11dl1h6702bg57m04y35nqd6yqx1rgp1kxwhp45xyh";
+    rev = "554e60bf52e3fa931661b9414189a92bb8f69d78";
+    sha256 = "0j1158nczhvy5i1ykvzvhlv4ndhibgng0dq1lw2bmi8q6k1q1s0w";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/games/andyetitmoves/default.nix b/nixpkgs/pkgs/games/andyetitmoves/default.nix
index 9eb1c7594a10..ecd1dfc9b3cd 100644
--- a/nixpkgs/pkgs/games/andyetitmoves/default.nix
+++ b/nixpkgs/pkgs/games/andyetitmoves/default.nix
@@ -2,38 +2,43 @@
 
 stdenv.mkDerivation rec {
   pname = "andyetitmoves";
-  version   = "1.2.2";
+  version = "1.2.2";
 
-  src = if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux"
+  src =
+    if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux"
     then
-      let postfix        = if stdenv.hostPlatform.system == "i686-linux" then "i386" else "x86_64";
-          commercialName = "${pname}-${version}_${postfix}.tar.gz";
-          demoUrl        = "http://www.andyetitmoves.net/demo/${pname}Demo-${version}_${postfix}.tar.gz";
+      let
+        postfix = if stdenv.hostPlatform.system == "i686-linux" then "i386" else "x86_64";
+        commercialName = "${pname}-${version}_${postfix}.tar.gz";
+        demoUrl = "http://www.andyetitmoves.net/demo/${pname}Demo-${version}_${postfix}.tar.gz";
       in
       if commercialVersion
-        then requireFile {
-               message = ''
-                 We cannot download the commercial version automatically, as you require a license.
-                 Once you bought a license, you need to add your downloaded version to the nix store.
-                 You can do this by using "nix-prefetch-url file:///\$PWD/${commercialName}" in the
-                 directory where yousaved it.
-               '';
-               name = commercialName;
-               sha256 = if stdenv.hostPlatform.system == "i686-linux"
-                          then "15wvzmmidvykwjrbnq70h5jrvnjx1hcrm0357qj85q4aqbzavh01"
-                          else "1v8z16qa9ka8sf7qq45knsxj87s6sipvv3a7xq11pb5xk08fb2ql";
-             }
-        else fetchurl {
-               url = demoUrl;
-               sha256 = if stdenv.hostPlatform.system == "i686-linux"
-                          then "0f14vrrbq05hsbdajrb5y9za65fpng1lc8f0adb4aaz27x7sh525"
-                          else "0mg41ya0b27blq3b5498kwl4rj46dj21rcd7qd0rw1kyvr7sx4v4";
-             }
+      then
+        requireFile
+          {
+            message = ''
+              We cannot download the commercial version automatically, as you require a license.
+              Once you bought a license, you need to add your downloaded version to the nix store.
+              You can do this by using "nix-prefetch-url file:///\$PWD/${commercialName}" in the
+              directory where yousaved it.
+            '';
+            name = commercialName;
+            sha256 =
+              if stdenv.hostPlatform.system == "i686-linux"
+              then "15wvzmmidvykwjrbnq70h5jrvnjx1hcrm0357qj85q4aqbzavh01"
+              else "1v8z16qa9ka8sf7qq45knsxj87s6sipvv3a7xq11pb5xk08fb2ql";
+          }
+      else
+        fetchurl {
+          url = demoUrl;
+          sha256 =
+            if stdenv.hostPlatform.system == "i686-linux"
+            then "0f14vrrbq05hsbdajrb5y9za65fpng1lc8f0adb4aaz27x7sh525"
+            else "0mg41ya0b27blq3b5498kwl4rj46dj21rcd7qd0rw1kyvr7sx4v4";
+        }
     else
       throw "And Yet It Moves nix package only supports linux and intel cpu's.";
 
-  phases = "unpackPhase installPhase";
-
   installPhase = ''
     mkdir -p $out/{opt/andyetitmoves,bin}
     cp -r * $out/opt/andyetitmoves/
@@ -54,19 +59,15 @@ stdenv.mkDerivation rec {
     chmod +x $out/bin/$binName
   '';
 
-  buildInputs = [libvorbis libogg libtheora SDL libXft SDL_image zlib libX11 libpng openal];
+  buildInputs = [ libvorbis libogg libtheora SDL libXft SDL_image zlib libX11 libpng openal ];
 
-  meta = {
+  meta = with lib; {
     description = "Physics/Gravity Platform game";
-
     longDescription = ''
       And Yet It Moves is an award-winning physics-based platform game in which players rotate the game world at will to solve challenging puzzles. Tilting the world turns walls into floors, slides into platforms, and stacks of rocks into dangerous hazards.
     '';
-
     homepage = "http://www.andyetitmoves.net/";
-
-    license = lib.licenses.unfree;
-
-    maintainers = with lib.maintainers; [bluescreen303];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ bluescreen303 ];
   };
 }
diff --git a/nixpkgs/pkgs/games/anki/default.nix b/nixpkgs/pkgs/games/anki/default.nix
index d1def3740097..a25111bddfe9 100644
--- a/nixpkgs/pkgs/games/anki/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/banner/default.nix b/nixpkgs/pkgs/games/banner/default.nix
index 613947c677a5..befb29f6ffc9 100644
--- a/nixpkgs/pkgs/games/banner/default.nix
+++ b/nixpkgs/pkgs/games/banner/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://software.cedar-solutions.com/utilities.html";
+    homepage = "https://github.com/pronovic/banner";
     description = "Print large banners to ASCII terminals";
     license = licenses.gpl2Only;
 
diff --git a/nixpkgs/pkgs/games/blackshades/default.nix b/nixpkgs/pkgs/games/blackshades/default.nix
index bd29c7b616c4..76f22e98d9e9 100644
--- a/nixpkgs/pkgs/games/blackshades/default.nix
+++ b/nixpkgs/pkgs/games/blackshades/default.nix
@@ -1,29 +1,27 @@
 { lib, stdenv, fetchFromSourcehut
-, SDL, stb, libGLU, libGL, openal, libvorbis, freealut }:
+, zig, glfw, libGLU, libGL, openal, libsndfile }:
 
 stdenv.mkDerivation rec {
   pname = "blackshades";
-  version = "1.3.1";
+  version = "2.4.7";
 
   src = fetchFromSourcehut {
     owner = "~cnx";
     repo = pname;
     rev = version;
-    sha256 = "0yzp74ynkcp6hh5m4zmvrgx5gwm186hq7p3m7qkww54qdyijb3rv";
+    fetchSubmodules = true;
+    sha256 = "sha256-hvJwWUUmGeb7MQgKe79cPS2ckPZ9z0Yc5S9IiwuXPD8=";
   };
 
-  buildInputs = [ SDL stb libGLU libGL openal libvorbis freealut ];
+  nativeBuildInputs = [ zig ];
+  buildInputs = [ glfw libGLU libGL openal libsndfile ];
 
-  postPatch = ''
-    sed -i -e s,Data/,$out/share/$pname/,g \
-      -e s,Data:,$out/share/$pname/,g \
-      src/*.cpp
+  preBuild = ''
+    export HOME=$TMPDIR
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/share
-    cp build/blackshades $out/bin
-    cp -R Data $out/share/$pname
+    zig build -Drelease-fast -Dcpu=baseline --prefix $out install
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/games/blightmud/default.nix b/nixpkgs/pkgs/games/blightmud/default.nix
new file mode 100644
index 000000000000..2e177f169fab
--- /dev/null
+++ b/nixpkgs/pkgs/games/blightmud/default.nix
@@ -0,0 +1,79 @@
+{ stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, alsa-lib, openssl
+, withTTS ? false, llvmPackages, speechd }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "blightmud";
+  version = "3.5.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-DaICzwBew90YstV42wiY0IbvR1W4Hm8dzo3xY2qlMGQ=";
+  };
+
+  cargoSha256 = "sha256-BamMTPh+GN9GG4puxyTauPhjCC8heCu1wsgFaw98s9U=";
+
+  buildFeatures = lib.optional withTTS "tts";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ alsa-lib openssl ] ++ lib.optional withTTS [ speechd ];
+
+  # Building the speech-dispatcher-sys crate for TTS support requires setting
+  # LIBCLANG_PATH.
+  LIBCLANG_PATH = lib.optionalString withTTS "${llvmPackages.libclang.lib}/lib";
+
+  preBuild = lib.optionalString withTTS ''
+    # When building w/ TTS the speech-dispatcher-sys crate's build.rs uses
+    # rust-bindgen with libspeechd. This bypasses the normal nixpkgs CC wrapper
+    # so we have to adapt the BINDGEN_EXTRA_CLANG_ARGS env var to compensate. See
+    # this blog post[0] for more information.
+    #
+    # [0]: https://hoverbear.org/blog/rust-bindgen-in-nix/
+
+    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 ${speechd}/include"
+  '';
+
+  checkFlags = let
+    # Most of Blightmud's unit tests pass without trouble in the isolated
+    # Nixpkgs build env. The following tests need to be skipped.
+    skipList = [
+      "test_connect"
+      "test_gmcp_negotiation"
+      "test_ttype_negotiation"
+      "test_reconnect"
+      "test_mud"
+      "test_server"
+      "test_lua_script"
+      "timer_test"
+      "validate_assertion_fail"
+    ];
+    skipFlag = test: "--skip " + test;
+  in builtins.concatStringsSep " " (builtins.map skipFlag skipList);
+
+  meta = with lib; {
+    description = "A terminal MUD client written in Rust";
+    longDescription = ''
+      Blightmud is a terminal client for connecting to Multi User Dungeon (MUD)
+      games. It is written in Rust and supports TLS, GMCP, MSDP, MCCP2, tab
+      completion, text searching and a split view for scrolling. Blightmud can
+      be customized with Lua scripting for aliases, triggers, timers, customized
+      status bars, and more. Blightmud supports several accessibility features
+      including an optional built-in text-to-speech engine and a screen reader
+      friendly mode.
+    '';
+    homepage = "https://github.com/Blightmud/Blightmud";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ cpu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/games/blobby/default.upstream b/nixpkgs/pkgs/games/blobby/default.upstream
deleted file mode 100644
index 8f2804e07946..000000000000
--- a/nixpkgs/pkgs/games/blobby/default.upstream
+++ /dev/null
@@ -1,8 +0,0 @@
-url https://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/
-SF_version_dir
-version_link '[.]tar[.][^.]+/download$'
-SF_redirect
-do_overwrite(){
-  do_overwrite_just_version
-  set_var_value url $CURRENT_URL
-}
diff --git a/nixpkgs/pkgs/games/blockattack/default.nix b/nixpkgs/pkgs/games/blockattack/default.nix
new file mode 100644
index 000000000000..7616d2e51a34
--- /dev/null
+++ b/nixpkgs/pkgs/games/blockattack/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, SDL2
+, SDL2_image
+, SDL2_mixer
+, SDL2_ttf
+, boost
+, cmake
+, gettext
+, physfs
+, pkg-config
+, zip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "blockattack";
+  version = "2.7.0";
+
+  src = fetchFromGitHub {
+    name = "${pname}-${version}-src";
+    owner = "blockattack";
+    repo = "blockattack-game";
+    rev = "v${version}";
+    hash = "sha256-ySLm3AdoJRiMRdla45OJh8ZIFYNh+HzjG2VnFqoWuZA=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    gettext
+    zip
+  ];
+
+  buildInputs = [
+    SDL2
+    SDL2_image
+    SDL2_mixer
+    SDL2_ttf
+    SDL2_ttf
+    boost
+    physfs
+  ];
+
+  preConfigure = ''
+    patchShebangs packdata.sh source/misc/translation/*.sh
+    chmod +x ./packdata.sh
+    ./packdata.sh
+  '';
+
+  meta = with lib; {
+    homepage = "https://blockattack.net/";
+    description = "An open source clone of Panel de Pon (aka Tetris Attack)";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/nixpkgs/pkgs/games/chessx/default.nix b/nixpkgs/pkgs/games/chessx/default.nix
index 1d2b366cf38e..fd8189386e73 100644
--- a/nixpkgs/pkgs/games/chessx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/cl-wordle/default.nix b/nixpkgs/pkgs/games/cl-wordle/default.nix
new file mode 100644
index 000000000000..1ad3487c3fed
--- /dev/null
+++ b/nixpkgs/pkgs/games/cl-wordle/default.nix
@@ -0,0 +1,22 @@
+{ lib, rustPlatform, fetchCrate }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cl-wordle";
+  version = "0.4.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-z2XpXgOviBRcberwpxQ4ml1T04k5kMhG7wA0PAYWENg=";
+  };
+
+  cargoSha256 = "sha256-C7UMkhgez2CtddftARlwN1TjZ1N26NnZfpRiX1KkMEA=";
+
+  meta = with lib; {
+    description = "Wordle TUI in Rust";
+    homepage = "https://github.com/conradludgate/wordle";
+    # repo has no license, but crates.io says it's MIT
+    license = licenses.mit;
+    maintainers = with maintainers; [ lom ];
+    mainProgram = "wordle";
+  };
+}
diff --git a/nixpkgs/pkgs/games/crafty/default.nix b/nixpkgs/pkgs/games/crafty/default.nix
deleted file mode 100644
index b5b53aa3c413..000000000000
--- a/nixpkgs/pkgs/games/crafty/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ lib, stdenv, fetchurl, unzip }:
-
-stdenv.mkDerivation rec {
-  pname = "crafty";
-  version = "25.0.1";
-
-  src = fetchurl {
-    url = "http://www.craftychess.com/downloads/source/crafty-${version}.zip";
-    sha256 = "0aqgj2q7kdlgbha01qs869cwyja13bc7q2lh4nfhlba2pklknsm8";
-  };
-
-  bookBin = fetchurl {
-    url = "http://www.craftychess.com/downloads/book/book.bin";
-    sha256 = "10rrgkr3hxm7pxdbc2jq8b5g74gfhzk4smahks3k8am1cmyq4p7r";
-  };
-
-  startPgn = fetchurl {
-    url = "http://craftychess.com/downloads/book/start.pgn.gz";
-    sha256 = "12g70mgfifwssfvndzq94pin34dizlixhsga75vgj7dakysi2p7f";
-  };
-
-  nativeBuildInputs = [ unzip ];
-
-  unpackPhase = ''
-    mkdir "craftysrc"
-    unzip $src -d craftysrc
-    gunzip -c $startPgn > "craftysrc/start.pgn"
-  '';
-
-  buildPhase = ''
-    cd craftysrc
-    make unix-gcc
-  '';
-
-  installPhase = ''
-    BUILDDIR="$PWD"
-    mkdir -p $out/bin
-    cp -p ./crafty $out/bin
-
-    mkdir -p $out/share/crafty
-    cd $out/share/crafty
-
-    $out/bin/crafty "books create $BUILDDIR/start.pgn 60"
-    rm -f *.001
-
-    cp -p ${bookBin} $out/share/crafty/book.bin
-
-    mv $out/bin/crafty $out/bin/.crafty-wrapped
-
-    cat - > $out/bin/crafty <<EOF
-    #! ${stdenv.shell}
-    #
-    # The books are copied from share/crafty to ~/.crafty/books the first time
-    # this script is run. You can restore them at any time just copying them
-    # again.
-    if [[ ! -d "\$HOME/.crafty/books" ]]; then
-      mkdir "\$HOME/.crafty/books" -p
-      cp "$out/share/crafty/"book*.bin "\$HOME/.crafty/books"
-      chmod ug+w "\$HOME/.crafty/books/"*
-    fi
-    exec $out/bin/.crafty-wrapped bookpath=\$HOME/.crafty/books "\$@"
-    EOF
-    chmod +x $out/bin/crafty
-  '';
-
-  meta = {
-    homepage = "http://www.craftychess.com/";
-    description = "Chess program developed by Dr. Robert M. Hyatt";
-    license = lib.licenses.unfree;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.jwiegley ];
-  };
-}
diff --git a/nixpkgs/pkgs/games/crawl/default.nix b/nixpkgs/pkgs/games/crawl/default.nix
index 02e34e5f749d..064e1d623a5f 100644
--- a/nixpkgs/pkgs/games/crawl/default.nix
+++ b/nixpkgs/pkgs/games/crawl/default.nix
@@ -7,14 +7,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "crawl-${version}${lib.optionalString tileMode "-tiles"}";
-  version = "0.27.1";
+  pname = "crawl${lib.optionalString tileMode "-tiles"}";
+  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/nixpkgs/pkgs/games/crispy-doom/default.nix b/nixpkgs/pkgs/games/crispy-doom/default.nix
index c507332399ab..7454242c72b5 100644
--- a/nixpkgs/pkgs/games/crispy-doom/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/ddnet/default.nix b/nixpkgs/pkgs/games/ddnet/default.nix
index 7f0f50881768..1663e17b14d2 100644
--- a/nixpkgs/pkgs/games/ddnet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
index 93f51df1819d..316d1308eb79 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
@@ -9,7 +9,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "dwarf-therapist-${dwarf-therapist.version}";
+  pname = "dwarf-therapist";
+  version = dwarf-therapist.version;
 
   wrapper = substituteAll {
     src = ./dwarf-therapist.in;
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix b/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix
index 5b25cf4ff409..27b54667f0b9 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix
@@ -72,7 +72,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "dwarf_fortress_unfuck-${release.unfuckRelease}";
+  pname = "dwarf_fortress_unfuck";
+  version = release.unfuckRelease;
 
   src = fetchFromGitHub {
     owner = "svenstaro";
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix
index ce989b98ffbd..3d1c3ead0604 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix
@@ -92,7 +92,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "dwarf-fortress-${dwarf-fortress.dfVersion}";
+  pname = "dwarf-fortress";
+  version = dwarf-fortress.dfVersion;
 
   dfInit = substituteAll {
     name = "dwarf-fortress-init";
diff --git a/nixpkgs/pkgs/games/egoboo/default.nix b/nixpkgs/pkgs/games/egoboo/default.nix
index 158e81d91288..506868efe312 100644
--- a/nixpkgs/pkgs/games/egoboo/default.nix
+++ b/nixpkgs/pkgs/games/egoboo/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "3D dungeon crawling adventure";
 
-    homepage = "http://www.freedink.org/";
+    homepage = "http://egoboo.sourceforge.net/";
     license = lib.licenses.gpl2Plus;
 
     # I take it out of hydra as it does not work as well as I'd like
diff --git a/nixpkgs/pkgs/games/factorio/versions.json b/nixpkgs/pkgs/games/factorio/versions.json
index 37dc97d5597b..663dffe24982 100644
--- a/nixpkgs/pkgs/games/factorio/versions.json
+++ b/nixpkgs/pkgs/games/factorio/versions.json
@@ -2,48 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.50.tar.xz",
+        "name": "factorio_alpha_x64-1.1.53.tar.xz",
         "needsAuth": true,
-        "sha256": "1sb3kvpj3kikr1bvm4si4f3dmj7873dhbz6zj57kin6d5mbmhq4p",
+        "sha256": "1l5sk9rhf4pq9l87w5sv4a1ikqx8rpby5hf4xn7sdsm9mshd3wyw",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.50/alpha/linux64",
-        "version": "1.1.50"
+        "url": "https://factorio.com/get-download/1.1.53/alpha/linux64",
+        "version": "1.1.53"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.50.tar.xz",
+        "name": "factorio_alpha_x64-1.1.53.tar.xz",
         "needsAuth": true,
-        "sha256": "1sb3kvpj3kikr1bvm4si4f3dmj7873dhbz6zj57kin6d5mbmhq4p",
+        "sha256": "1l5sk9rhf4pq9l87w5sv4a1ikqx8rpby5hf4xn7sdsm9mshd3wyw",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.50/alpha/linux64",
-        "version": "1.1.50"
+        "url": "https://factorio.com/get-download/1.1.53/alpha/linux64",
+        "version": "1.1.53"
       }
     },
     "demo": {
+      "experimental": {
+        "name": "factorio_demo_x64-1.1.53.tar.xz",
+        "needsAuth": false,
+        "sha256": "0m3mk296w4azma2v5z6pay1caqql2jfnlcyyd120laxl4rdg2k76",
+        "tarDirectory": "x64",
+        "url": "https://factorio.com/get-download/1.1.53/demo/linux64",
+        "version": "1.1.53"
+      },
       "stable": {
-        "name": "factorio_demo_x64-1.1.50.tar.xz",
+        "name": "factorio_demo_x64-1.1.53.tar.xz",
         "needsAuth": false,
-        "sha256": "0i3r21i7s4yzjfqrwf82x87pfjg7d3bhkz3zqi0x398j9bykpw43",
+        "sha256": "0m3mk296w4azma2v5z6pay1caqql2jfnlcyyd120laxl4rdg2k76",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.50/demo/linux64",
-        "version": "1.1.50"
+        "url": "https://factorio.com/get-download/1.1.53/demo/linux64",
+        "version": "1.1.53"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.50.tar.xz",
+        "name": "factorio_headless_x64-1.1.53.tar.xz",
         "needsAuth": false,
-        "sha256": "0j75wbnszhlmyk655b2h8jd1lvmnplq44blixl959hh3lxvqn50m",
+        "sha256": "18ra52h32nhdqxz6vagp9nw3an5pgamariy0ny050xr2xpidw3v1",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.50/headless/linux64",
-        "version": "1.1.50"
+        "url": "https://factorio.com/get-download/1.1.53/headless/linux64",
+        "version": "1.1.53"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.50.tar.xz",
+        "name": "factorio_headless_x64-1.1.53.tar.xz",
         "needsAuth": false,
-        "sha256": "0j75wbnszhlmyk655b2h8jd1lvmnplq44blixl959hh3lxvqn50m",
+        "sha256": "18ra52h32nhdqxz6vagp9nw3an5pgamariy0ny050xr2xpidw3v1",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.50/headless/linux64",
-        "version": "1.1.50"
+        "url": "https://factorio.com/get-download/1.1.53/headless/linux64",
+        "version": "1.1.53"
       }
     }
   }
diff --git a/nixpkgs/pkgs/games/fheroes2/default.nix b/nixpkgs/pkgs/games/fheroes2/default.nix
index 287093354fc7..567ab267cfea 100644
--- a/nixpkgs/pkgs/games/fheroes2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/flare/default.nix b/nixpkgs/pkgs/games/flare/default.nix
index 9b4b6848aea0..3567a5886055 100644
--- a/nixpkgs/pkgs/games/flare/default.nix
+++ b/nixpkgs/pkgs/games/flare/default.nix
@@ -1,7 +1,7 @@
 { lib, buildEnv, callPackage, makeWrapper, Cocoa }:
 
 buildEnv {
-  name = "flare-1.12";
+  name = "flare-1.13.04";
 
   paths = [
     (callPackage ./engine.nix { inherit Cocoa; })
@@ -17,7 +17,7 @@ buildEnv {
   meta = with lib; {
     description = "Fantasy action RPG using the FLARE engine";
     homepage = "https://flarerpg.org/";
-    maintainers = [ maintainers.aanderse ];
+    maintainers = with maintainers; [ aanderse McSinyx ];
     license = [ licenses.gpl3 licenses.cc-by-sa-30 ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/games/flare/engine.nix b/nixpkgs/pkgs/games/flare/engine.nix
index fc7415ba3ec3..9e9215ada1f2 100644
--- a/nixpkgs/pkgs/games/flare/engine.nix
+++ b/nixpkgs/pkgs/games/flare/engine.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-engine";
-  version = "1.12";
+  version = "1.13.04";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0swav6fzz970wj4iic3b7y06haa05720s2wivc8w7wcw9nzcac7j";
+    sha256 = "sha256-GPHPYcW0kBDGpZti2kFggNB4RVK/3eQ53M9mJvJuKXM=";
   };
 
   patches = [ ./desktop.patch ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Free/Libre Action Roleplaying Engine";
     homepage = "https://github.com/flareteam/flare-engine";
-    maintainers = [ maintainers.aanderse ];
+    maintainers = with maintainers; [ aanderse McSinyx ];
     license = [ licenses.gpl3 ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/games/flare/game.nix b/nixpkgs/pkgs/games/flare/game.nix
index 9903f0b58204..791af2645353 100644
--- a/nixpkgs/pkgs/games/flare/game.nix
+++ b/nixpkgs/pkgs/games/flare/game.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-game";
-  version = "1.12";
+  version = "1.13.04";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15k9r7w587pvkzrln0670hhq5fzif8k7xmrhb0nl3z3fi6dw3mmc";
+    sha256 = "sha256-7dEIagioM6OZXG+eNaYls8skHXSqGFXZuNhT0zhTFdY=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Fantasy action RPG using the FLARE engine";
     homepage = "https://github.com/flareteam/flare-game";
-    maintainers = [ maintainers.aanderse ];
+    maintainers = with maintainers; [ aanderse McSinyx ];
     license = [ licenses.cc-by-sa-30 ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/games/freedink/default.nix b/nixpkgs/pkgs/games/freedink/default.nix
index c80dc2b07034..75c50669421d 100644
--- a/nixpkgs/pkgs/games/freedink/default.nix
+++ b/nixpkgs/pkgs/games/freedink/default.nix
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
       with close compatibility, under multiple platforms.
     '';
 
-    homepage = "http://www.freedink.org/";
+    homepage = "https://www.gnu.org/software/freedink/"; # Formerly http://www.freedink.org
     license = lib.licenses.gpl3Plus;
 
     maintainers = [ lib.maintainers.bjg ];
diff --git a/nixpkgs/pkgs/games/gcompris/default.nix b/nixpkgs/pkgs/games/gcompris/default.nix
index 2b3ff2b5c2e5..c4c737d228cc 100644
--- a/nixpkgs/pkgs/games/gcompris/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/gnubg/default.nix b/nixpkgs/pkgs/games/gnubg/default.nix
index 7402049a9d82..6f50869e6c69 100644
--- a/nixpkgs/pkgs/games/gnubg/default.nix
+++ b/nixpkgs/pkgs/games/gnubg/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchurl, pkg-config, glib, python3, gtk2, readline }:
 
-let version = "1.06.002"; in
-stdenv.mkDerivation {
-  name = "gnubg-"+version;
+stdenv.mkDerivation rec {
+  pname = "gnubg";
+  version = "1.06.002";
 
   src = fetchurl {
     url = "http://gnubg.org/media/sources/gnubg-release-${version}-sources.tar.gz";
diff --git a/nixpkgs/pkgs/games/grapejuice/default.nix b/nixpkgs/pkgs/games/grapejuice/default.nix
index 931de10c18f4..4ddb58c81482 100644
--- a/nixpkgs/pkgs/games/grapejuice/default.nix
+++ b/nixpkgs/pkgs/games/grapejuice/default.nix
@@ -11,17 +11,19 @@
 , xdg-user-dirs
 , wine
 , winetricks
+, pciutils
+, glxinfo
 }:
 
 python3Packages.buildPythonApplication rec  {
   pname = "grapejuice";
-  version = "3.64.16";
+  version = "4.10.2";
 
   src = fetchFromGitLab {
     owner = "BrinkerVII";
     repo = "grapejuice";
-    rev = "a5bc65e094bbfb86e6142ac1da59017ddccff69e";
-    sha256 = "sha256-3+5LWn+UBgLAX683MPHRHQMpW+gC5hGIwTtRVJHRWeE=";
+    rev = "9a7cf806d35b4d53b3d3762339eba7d861b5043d";
+    sha256 = "sha256-cKZv9qPCnl7i4kb6PG8RYx3HNLcwgI4d2zkw899MA6E=";
   };
 
   nativeBuildInputs = [
@@ -43,13 +45,14 @@ python3Packages.buildPythonApplication rec  {
     packaging
     psutil
     setuptools
+    unidecode
   ];
 
   dontWrapGApps = true;
 
   makeWrapperArgs = [
     "\${gappsWrapperArgs[@]}"
-    "--prefix PATH : ${lib.makeBinPath [ xdg-user-dirs xdg-utils wine winetricks ]}"
+    "--prefix PATH : ${lib.makeBinPath [ xdg-user-dirs xdg-utils wine winetricks pciutils glxinfo ]}"
   ];
 
   postPatch = ''
@@ -84,7 +87,7 @@ python3Packages.buildPythonApplication rec  {
 
   meta = with lib; {
     homepage = "https://gitlab.com/brinkervii/grapejuice";
-    description = "Simple Wine+Roblox management tool";
+    description = "A wine+Roblox management application";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ artturin ];
diff --git a/nixpkgs/pkgs/games/hawkthorne/default.nix b/nixpkgs/pkgs/games/hawkthorne/default.nix
deleted file mode 100644
index 3da78349dbb1..000000000000
--- a/nixpkgs/pkgs/games/hawkthorne/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ fetchgit, lib, stdenv, love, curl, zip }:
-
-stdenv.mkDerivation {
-  version = "0.12.1";
-  pname = "hawkthorne";
-
-  src = fetchgit {
-    url = "https://github.com/hawkthorne/hawkthorne-journey.git";
-    rev = "610b9b3907b2a1b21da2ae926e4c7c4c9e19959b";
-    sha256 = "013smhdf9sh91153fpk2bwhhnpg6pn7kfrpw77jmf0v48i3q44h2";
-  };
-
-  buildInputs = [
-    love curl zip
-  ];
-
-  patches = [
-    ./makefile.patch
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Journey to the Center of Hawkthorne - A fan-made retro-style game based on the show Community";
-    longDescription = ''
-      Journey to the Center of Hawkthorne is an open source game written in Love2D.
-      It's based on the show Community, starring Jim Rash and Joel McHale as
-      the primary will-they-or-won't-they relationship.
-
-      This game has been entirely developed by fans of the show, who were inspired
-      to bring to life the video game used to determine the winner of Pierce
-      Hawthorne's inheritance.
-    '';
-    homepage = "https://www.reddit.com/r/hawkthorne";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ campadrenalin ];
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/games/hawkthorne/makefile.patch b/nixpkgs/pkgs/games/hawkthorne/makefile.patch
deleted file mode 100644
index 16a79683149d..000000000000
--- a/nixpkgs/pkgs/games/hawkthorne/makefile.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 55eb817..f3406aa 100644
---- a/Makefile
-+++ b/Makefile
-@@ -18,10 +18,14 @@ endif
-
- tilemaps := $(patsubst %.tmx,%.lua,$(wildcard src/maps/*.tmx))
-
--maps: $(tilemaps)
--
- love: build/hawkthorne.love
-
-+shebang: build/hawkthorne.love
-+	cat <(echo '#!/usr/bin/env love') build/hawkthorne.love > build/hawkthorne
-+	chmod +x build/hawkthorne
-+
-+maps: $(tilemaps)
-+
- build/hawkthorne.love: $(tilemaps) src/*
- 	mkdir -p build
- 	cd src && zip --symlinks -q -r ../build/hawkthorne.love . -x ".*" \
-@@ -30,6 +34,12 @@ build/hawkthorne.love: $(tilemaps) src/*
- run: $(tilemaps) $(LOVE)
- 	$(LOVE) src
-
-+check: test
-+
-+install: shebang
-+	mkdir -p $(out)/bin
-+	cp build/hawkthorne $(out)/bin
-+
- src/maps/%.lua: src/maps/%.tmx bin/tmx2lua
- 	bin/tmx2lua $<
diff --git a/nixpkgs/pkgs/games/heroic/default.nix b/nixpkgs/pkgs/games/heroic/default.nix
index e6413a87f2ca..bcbe2a6c6535 100644
--- a/nixpkgs/pkgs/games/heroic/default.nix
+++ b/nixpkgs/pkgs/games/heroic/default.nix
@@ -1,16 +1,17 @@
-{ lib, fetchurl, appimageTools, python }:
+{ lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
 
 let
   pname = "heroic";
-  version = "1.10.3";
+  version = "2.0.2";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage";
-    sha256 = "sha256-0VQ5rSGGsEAsOLB4H/Hn2w7wCOrCSoVFzCBqNV5NyVE=";
+    sha256 = "sha256-4gq0ZCcPIx/CkFNZTM5Atkd/GP6v1t3MO2tibrKkcZQ=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 
-in appimageTools.wrapType2 {
+in
+appimageTools.wrapType2 {
   inherit name src;
 
   extraInstallCommands = ''
@@ -28,6 +29,10 @@ in appimageTools.wrapType2 {
       --replace 'Exec=AppRun' 'Exec=heroic'
   '';
 
+  profile = ''
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
   meta = with lib; {
     description = "A Native GUI Epic Games Launcher for Linux, Windows and Mac";
     homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher";
diff --git a/nixpkgs/pkgs/games/hhexen/default.nix b/nixpkgs/pkgs/games/hhexen/default.nix
index 0306c54ef4ee..19a0b783efdd 100644
--- a/nixpkgs/pkgs/games/hhexen/default.nix
+++ b/nixpkgs/pkgs/games/hhexen/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchurl, SDL, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "hhexen";
+  pname = "hhexen";
   version = "1.6.3";
   src = fetchurl {
     url = "mirror://sourceforge/hhexen/hhexen-${version}-src.tgz";
diff --git a/nixpkgs/pkgs/games/instead/default.nix b/nixpkgs/pkgs/games/instead/default.nix
index 5c35219c19bf..cafdd2b84f0d 100644
--- a/nixpkgs/pkgs/games/instead/default.nix
+++ b/nixpkgs/pkgs/games/instead/default.nix
@@ -1,8 +1,6 @@
 { lib, stdenv, fetchurl, SDL2, SDL2_ttf, SDL2_image, SDL2_mixer, pkg-config, lua, zlib, unzip }:
 
 let
-  version = "3.3.2";
-
   # I took several games at random from https://instead.syscall.ru/games/
   games = [
     (fetchurl {
@@ -28,8 +26,9 @@ let
   ];
 in
 
-stdenv.mkDerivation {
-  name = "instead-" + version;
+stdenv.mkDerivation rec {
+  pname = "instead";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
diff --git a/nixpkgs/pkgs/games/itch-setup/default.nix b/nixpkgs/pkgs/games/itch-setup/default.nix
new file mode 100644
index 000000000000..55d488bcaac0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/games/itch/default.nix b/nixpkgs/pkgs/games/itch/default.nix
new file mode 100644
index 000000000000..a8cfe8f24d76
--- /dev/null
+++ b/nixpkgs/pkgs/games/itch/default.nix
@@ -0,0 +1,64 @@
+{ 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;
+      icon = pname;
+      desktopName = pname;
+      mimeType = "x-scheme-handler/itchio;x-scheme-handler/itch";
+      comment = "Install and play itch.io games easily";
+      extraDesktopEntries = {
+        TryExec = "itch %U";
+        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/nixpkgs/pkgs/games/ivan/default.nix b/nixpkgs/pkgs/games/ivan/default.nix
index f16aa7526327..ce0eeea738af 100644
--- a/nixpkgs/pkgs/games/ivan/default.nix
+++ b/nixpkgs/pkgs/games/ivan/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
 
   pname = "ivan";
-  version = "058";
+  version = "059";
 
   src = fetchFromGitHub {
     owner = "Attnam";
     repo = "ivan";
     rev = "v${version}";
-    sha256 = "04jzs8wad2b3g9hvnijr4r89iiw6b1i44zdzkg0dy447lrw6l6xc";
+    sha256 = "sha256-5Ijy28LLx1TGnZE6ZNQXPYfvW2KprF+91fKx2MzLEms=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
     homepage = "https://attnam.com/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [freepotion];
+    maintainers = with maintainers; [];
   };
 }
diff --git a/nixpkgs/pkgs/games/legendary-gl/default.nix b/nixpkgs/pkgs/games/legendary-gl/default.nix
index cbdfbc22891b..082b9220c0e8 100644
--- a/nixpkgs/pkgs/games/legendary-gl/default.nix
+++ b/nixpkgs/pkgs/games/legendary-gl/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonApplication rec {
   pname = "legendary-gl"; # Name in pypi
-  version = "0.20.18";
+  version = "0.20.25";
 
   src = fetchFromGitHub {
     owner = "derrod";
     repo = "legendary";
     rev = version;
-    sha256 = "0d31c8grvcw7y3sh2x90cxhj612k6f491w2r12j1q33d2v9sqm4j";
+    sha256 = "07z5ffi7lnvs64pksy30fbfv2i11dkkycyh31vyc4y7fsn1vd0vf";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/games/liberation-circuit/default.nix b/nixpkgs/pkgs/games/liberation-circuit/default.nix
index 478fd606376a..c1f03e036c9f 100644
--- a/nixpkgs/pkgs/games/liberation-circuit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/linthesia/default.nix b/nixpkgs/pkgs/games/linthesia/default.nix
new file mode 100644
index 000000000000..0914722a9acb
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/games/lzwolf/default.nix b/nixpkgs/pkgs/games/lzwolf/default.nix
new file mode 100644
index 000000000000..4faa7419b7ab
--- /dev/null
+++ b/nixpkgs/pkgs/games/lzwolf/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, fetchFromBitbucket, p7zip, cmake
+, SDL2, bzip2, zlib, libjpeg
+, libsndfile, mpg123
+, SDL2_net, SDL2_mixer }:
+
+stdenv.mkDerivation rec {
+  pname = "lzwolf";
+  version = "unstable-2022-01-04";
+
+  src = fetchFromBitbucket {
+    owner = "linuxwolf6";
+    repo = "lzwolf";
+    rev = "6e470316382b87378966f441e233760ce0ff478c";
+    sha256 = "sha256-IbZleY2FPyW3ORIGO2YFXQyAf1l9nDthpJjEKTTsilM=";
+  };
+  nativeBuildInputs = [ p7zip cmake ];
+  buildInputs = [
+    SDL2 bzip2 zlib libjpeg SDL2_mixer SDL2_net libsndfile mpg123
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DGPL=ON"
+  ];
+
+  doCheck = true;
+
+  installPhase = ''
+    install -Dm755 lzwolf "$out/lib/lzwolf/lzwolf"
+    for i in *.pk3; do
+      install -Dm644 "$i" "$out/lib/lzwolf/$i"
+    done
+    mkdir -p $out/bin
+    ln -s $out/lib/lzwolf/lzwolf $out/bin/lzwolf
+  '';
+
+  meta = with lib; {
+    homepage = "https://bitbucket.org/linuxwolf6/lzwolf";
+    description = "Enhanced fork of ECWolf, a Wolfenstein 3D source port";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tgunnoe ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/megaglest/default.nix b/nixpkgs/pkgs/games/megaglest/default.nix
index 5f79b86956cc..30383e5f4067 100644
--- a/nixpkgs/pkgs/games/megaglest/default.nix
+++ b/nixpkgs/pkgs/games/megaglest/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "An entertaining free (freeware and free software) and open source cross-platform 3D real-time strategy (RTS) game";
     license = licenses.gpl3;
-    homepage = "http://megaglest.org/";
+    homepage = "https://megaglest.org/";
     maintainers = [ maintainers.matejc ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/games/minecraft-server/update.sh b/nixpkgs/pkgs/games/minecraft-server/update.sh
deleted file mode 100755
index 433a12a9caf6..000000000000
--- a/nixpkgs/pkgs/games/minecraft-server/update.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq common-updater-scripts
-
-BASEDIR="$(dirname "$0")"
-
-# get current release version
-versions=$(curl -s 'https://launchermeta.mojang.com/mc/game/version_manifest.json')
-version=$(echo $versions | jq .latest.release)
-url=$(echo $versions | jq -r ".versions[] | select(.id == $version) | .url")
-
-# get current server.jar
-versions=$(curl -s $url | jq .downloads.server)
-sha1=$(echo $versions | jq .sha1)
-url=$(echo $versions | jq .url)
-
-echo $version: $url:$sha1
-
-# change default.nix
-sed -i "s/version = \"[0-9.]*\";/version = ${version};/g" "$BASEDIR/default.nix"
-sed -i "s+url = \"[a-zA-Z0-9/:.]*/server.jar\";+url = $url;+g" "$BASEDIR/default.nix"
-sed -i "s/sha1 = \"[a-zA-Z0-9]*\";/sha1 = ${sha1};/g" "$BASEDIR/default.nix"
diff --git a/nixpkgs/pkgs/games/minecraft-servers/default.nix b/nixpkgs/pkgs/games/minecraft-servers/default.nix
new file mode 100644
index 000000000000..f3d4aad16698
--- /dev/null
+++ b/nixpkgs/pkgs/games/minecraft-servers/default.nix
@@ -0,0 +1,24 @@
+{ callPackage, lib, javaPackages }:
+let
+  versions = lib.importJSON ./versions.json;
+
+  latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions));
+  escapeVersion = builtins.replaceStrings [ "." ] [ "-" ];
+
+  getJavaVersion = v: (builtins.getAttr "openjdk${toString v}" javaPackages.compiler).headless;
+
+  packages = lib.mapAttrs'
+    (version: value: {
+      name = "vanilla-${escapeVersion version}";
+      value = callPackage ./derivation.nix {
+        inherit (value) version url sha1;
+        jre_headless = getJavaVersion (if value.javaVersion == null then 8 else value.javaVersion); # versions <= 1.6 will default to 8
+      };
+    })
+    versions;
+in
+lib.recurseIntoAttrs (
+  packages // {
+    vanilla = builtins.getAttr "vanilla-${escapeVersion latestVersion}" packages;
+  }
+)
diff --git a/nixpkgs/pkgs/games/minecraft-server/default.nix b/nixpkgs/pkgs/games/minecraft-servers/derivation.nix
index 02054f1ad8b5..eda7da943ca5 100644
--- a/nixpkgs/pkgs/games/minecraft-server/default.nix
+++ b/nixpkgs/pkgs/games/minecraft-servers/derivation.nix
@@ -1,13 +1,9 @@
-{ lib, stdenv, fetchurl, nixosTests, jre_headless }:
+{ lib, stdenv, fetchurl, nixosTests, jre_headless, version, url, sha1 }:
 stdenv.mkDerivation {
   pname = "minecraft-server";
-  version = "1.18.1";
+  inherit version;
 
-  src = fetchurl {
-    url = "https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar";
-    # sha1 because that comes from mojang via api
-    sha1 = "125e5adf40c659fd3bce3e66e67a16bb49ecc1b9";
-  };
+  src = fetchurl { inherit url sha1; };
 
   preferLocalBuild = true;
 
@@ -27,7 +23,7 @@ stdenv.mkDerivation {
 
   passthru = {
     tests = { inherit (nixosTests) minecraft-server; };
-    updateScript = ./update.sh;
+    updateScript = ./update.py;
   };
 
   meta = with lib; {
@@ -35,6 +31,6 @@ stdenv.mkDerivation {
     homepage = "https://minecraft.net";
     license = licenses.unfreeRedistributable;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice tomberek costrouc ];
+    maintainers = with maintainers; [ thoughtpolice tomberek costrouc jyooru ];
   };
 }
diff --git a/nixpkgs/pkgs/games/minecraft-servers/update.py b/nixpkgs/pkgs/games/minecraft-servers/update.py
new file mode 100755
index 000000000000..0e7f10a8c932
--- /dev/null
+++ b/nixpkgs/pkgs/games/minecraft-servers/update.py
@@ -0,0 +1,156 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i python3 -p python3Packages.requests python3Packages.dataclasses-json
+
+import json
+from dataclasses import dataclass, field
+from datetime import datetime
+from pathlib import Path
+from typing import Any, Dict, List, Optional
+
+import requests
+from dataclasses_json import DataClassJsonMixin, LetterCase, config
+from marshmallow import fields
+
+
+@dataclass
+class Download(DataClassJsonMixin):
+    sha1: str
+    size: int
+    url: str
+
+
+@dataclass
+class Version(DataClassJsonMixin):
+    id: str
+    type: str
+    url: str
+    time: datetime = field(
+        metadata=config(
+            encoder=datetime.isoformat,
+            decoder=datetime.fromisoformat,
+            mm_field=fields.DateTime(format="iso"),
+        )
+    )
+    release_time: datetime = field(
+        metadata=config(
+            encoder=datetime.isoformat,
+            decoder=datetime.fromisoformat,
+            mm_field=fields.DateTime(format="iso"),
+            letter_case=LetterCase.CAMEL,
+        )
+    )
+
+    def get_manifest(self) -> Any:
+        """Return the version's manifest."""
+        response = requests.get(self.url)
+        response.raise_for_status()
+        return response.json()
+
+    def get_downloads(self) -> Dict[str, Download]:
+        """
+        Return all downloadable files from the version's manifest, in Download
+        objects.
+        """
+        return {
+            download_name: Download.from_dict(download_info)
+            for download_name, download_info in self.get_manifest()["downloads"].items()
+        }
+
+    def get_java_version(self) -> Any:
+        """
+        Return the java version specified in a version's manifest, if it is
+        present. Versions <= 1.6 do not specify this.
+        """
+        return self.get_manifest().get("javaVersion", {}).get("majorVersion", None)
+
+    def get_server(self) -> Optional[Download]:
+        """
+        If the version has a server download available, return the Download
+        object for the server download. If the version does not have a server
+        download avilable, return None.
+        """
+        downloads = self.get_downloads()
+        if "server" in downloads:
+            return downloads["server"]
+        return None
+
+
+def get_versions() -> List[Version]:
+    """Return a list of Version objects for all available versions."""
+    response = requests.get(
+        "https://launchermeta.mojang.com/mc/game/version_manifest.json"
+    )
+    response.raise_for_status()
+    data = response.json()
+    return [Version.from_dict(version) for version in data["versions"]]
+
+
+def get_major_release(version_id: str) -> str:
+    """
+    Return the major release for a version. The major release for 1.17 and
+    1.17.1 is 1.17.
+    """
+    if not len(version_id.split(".")) >= 2:
+        raise ValueError(f"version not in expected format: '{version_id}'")
+    return ".".join(version_id.split(".")[:2])
+
+
+def group_major_releases(releases: List[Version]) -> Dict[str, List[Version]]:
+    """
+    Return a dictionary containing each version grouped by each major release.
+    The key "1.17" contains a list with two Version objects, one for "1.17"
+    and another for "1.17.1".
+    """
+    groups: Dict[str, List[Version]] = {}
+    for release in releases:
+        major_release = get_major_release(release.id)
+        if major_release not in groups:
+            groups[major_release] = []
+        groups[major_release].append(release)
+    return groups
+
+
+def get_latest_major_releases(releases: List[Version]) -> Dict[str, Version]:
+    """
+    Return a dictionary containing the latest version for each major release.
+    The latest major release for 1.16 is 1.16.5, so the key "1.16" contains a
+    Version object for 1.16.5.
+    """
+    return {
+        major_release: sorted(releases, key=lambda x: x.id, reverse=True)[0]
+        for major_release, releases in group_major_releases(releases).items()
+    }
+
+
+def generate() -> Dict[str, Dict[str, str]]:
+    """
+    Return a dictionary containing the latest url, sha1 and version for each major
+    release.
+    """
+    versions = get_versions()
+    releases = list(
+        filter(lambda version: version.type == "release", versions)
+    )  # remove snapshots and betas
+    latest_major_releases = get_latest_major_releases(releases)
+
+    servers = {
+        version: Download.schema().dump(download_info)  # Download -> dict
+        for version, download_info in {
+            version: value.get_server()
+            for version, value in latest_major_releases.items()
+        }.items()
+        if download_info is not None  # versions < 1.2 do not have a server
+    }
+    for server in servers.values():
+        del server["size"]  # don't need it
+
+    for version, server in servers.items():
+        server["version"] = latest_major_releases[version].id
+        server["javaVersion"] = latest_major_releases[version].get_java_version()
+    return servers
+
+
+if __name__ == "__main__":
+    with open(Path(__file__).parent / "versions.json", "w") as file:
+        json.dump(generate(), file, indent=2)
+        file.write("\n")
diff --git a/nixpkgs/pkgs/games/minecraft-servers/versions.json b/nixpkgs/pkgs/games/minecraft-servers/versions.json
new file mode 100644
index 000000000000..ba0b652a6bdc
--- /dev/null
+++ b/nixpkgs/pkgs/games/minecraft-servers/versions.json
@@ -0,0 +1,104 @@
+{
+  "1.18": {
+    "url": "https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar",
+    "sha1": "125e5adf40c659fd3bce3e66e67a16bb49ecc1b9",
+    "version": "1.18.1",
+    "javaVersion": 17
+  },
+  "1.17": {
+    "url": "https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar",
+    "sha1": "a16d67e5807f57fc4e550299cf20226194497dc2",
+    "version": "1.17.1",
+    "javaVersion": 16
+  },
+  "1.16": {
+    "url": "https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar",
+    "sha1": "1b557e7b033b583cd9f66746b7a9ab1ec1673ced",
+    "version": "1.16.5",
+    "javaVersion": 8
+  },
+  "1.15": {
+    "url": "https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar",
+    "sha1": "bb2b6b1aefcd70dfd1892149ac3a215f6c636b07",
+    "version": "1.15.2",
+    "javaVersion": 8
+  },
+  "1.14": {
+    "url": "https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar",
+    "sha1": "3dc3d84a581f14691199cf6831b71ed1296a9fdf",
+    "version": "1.14.4",
+    "javaVersion": 8
+  },
+  "1.13": {
+    "url": "https://launcher.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar",
+    "sha1": "3737db93722a9e39eeada7c27e7aca28b144ffa7",
+    "version": "1.13.2",
+    "javaVersion": 8
+  },
+  "1.12": {
+    "url": "https://launcher.mojang.com/v1/objects/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar",
+    "sha1": "886945bfb2b978778c3a0288fd7fab09d315b25f",
+    "version": "1.12.2",
+    "javaVersion": 8
+  },
+  "1.11": {
+    "url": "https://launcher.mojang.com/v1/objects/f00c294a1576e03fddcac777c3cf4c7d404c4ba4/server.jar",
+    "sha1": "f00c294a1576e03fddcac777c3cf4c7d404c4ba4",
+    "version": "1.11.2",
+    "javaVersion": 8
+  },
+  "1.10": {
+    "url": "https://launcher.mojang.com/v1/objects/3d501b23df53c548254f5e3f66492d178a48db63/server.jar",
+    "sha1": "3d501b23df53c548254f5e3f66492d178a48db63",
+    "version": "1.10.2",
+    "javaVersion": 8
+  },
+  "1.9": {
+    "url": "https://launcher.mojang.com/v1/objects/edbb7b1758af33d365bf835eb9d13de005b1e274/server.jar",
+    "sha1": "edbb7b1758af33d365bf835eb9d13de005b1e274",
+    "version": "1.9.4",
+    "javaVersion": 8
+  },
+  "1.8": {
+    "url": "https://launcher.mojang.com/v1/objects/b58b2ceb36e01bcd8dbf49c8fb66c55a9f0676cd/server.jar",
+    "sha1": "b58b2ceb36e01bcd8dbf49c8fb66c55a9f0676cd",
+    "version": "1.8.9",
+    "javaVersion": 8
+  },
+  "1.7": {
+    "url": "https://launcher.mojang.com/v1/objects/4cec86a928ec171fdc0c6b40de2de102f21601b5/server.jar",
+    "sha1": "4cec86a928ec171fdc0c6b40de2de102f21601b5",
+    "version": "1.7.9",
+    "javaVersion": 8
+  },
+  "1.6": {
+    "url": "https://launcher.mojang.com/v1/objects/050f93c1f3fe9e2052398f7bd6aca10c63d64a87/server.jar",
+    "sha1": "050f93c1f3fe9e2052398f7bd6aca10c63d64a87",
+    "version": "1.6.4",
+    "javaVersion": null
+  },
+  "1.5": {
+    "url": "https://launcher.mojang.com/v1/objects/f9ae3f651319151ce99a0bfad6b34fa16eb6775f/server.jar",
+    "sha1": "f9ae3f651319151ce99a0bfad6b34fa16eb6775f",
+    "version": "1.5.2",
+    "javaVersion": null
+  },
+  "1.4": {
+    "url": "https://launcher.mojang.com/v1/objects/2f0ec8efddd2f2c674c77be9ddb370b727dec676/server.jar",
+    "sha1": "2f0ec8efddd2f2c674c77be9ddb370b727dec676",
+    "version": "1.4.7",
+    "javaVersion": null
+  },
+  "1.3": {
+    "url": "https://launcher.mojang.com/v1/objects/3de2ae6c488135596e073a9589842800c9f53bfe/server.jar",
+    "sha1": "3de2ae6c488135596e073a9589842800c9f53bfe",
+    "version": "1.3.2",
+    "javaVersion": null
+  },
+  "1.2": {
+    "url": "https://launcher.mojang.com/v1/objects/d8321edc9470e56b8ad5c67bbd16beba25843336/server.jar",
+    "sha1": "d8321edc9470e56b8ad5c67bbd16beba25843336",
+    "version": "1.2.5",
+    "javaVersion": null
+  }
+}
diff --git a/nixpkgs/pkgs/games/minetest/default.nix b/nixpkgs/pkgs/games/minetest/default.nix
index 7ffa361da559..9e94bb6a4a7d 100644
--- a/nixpkgs/pkgs/games/minetest/default.nix
+++ b/nixpkgs/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 = ''
@@ -66,25 +94,20 @@ let
       license = licenses.lgpl21Plus;
       platforms = platforms.linux ++ platforms.darwin;
       maintainers = with maintainers; [ pyrolagus fpletz ];
+      # never built on Hydra
+      # https://hydra.nixos.org/job/nixpkgs/trunk/minetestclient_4.x86_64-darwin
+      # https://hydra.nixos.org/job/nixpkgs/trunk/minetestserver_4.x86_64-darwin
+      broken = (lib.versionOlder version "5.0.0") && stdenv.isDarwin;
     };
   };
 
-  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/nixpkgs/pkgs/games/minetest/disable_fixup.patch b/nixpkgs/pkgs/games/minetest/disable_fixup.patch
deleted file mode 100644
index 1c378d7f83fc..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/games/minetest/fix_wordsize_confusion.patch b/nixpkgs/pkgs/games/minetest/fix_wordsize_confusion.patch
deleted file mode 100644
index 9540a434dafe..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/games/moon-buggy/default.nix b/nixpkgs/pkgs/games/moon-buggy/default.nix
index b623d7bd5396..12eb6b24a806 100644
--- a/nixpkgs/pkgs/games/moon-buggy/default.nix
+++ b/nixpkgs/pkgs/games/moon-buggy/default.nix
@@ -1,16 +1,15 @@
 {lib, stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  baseName = "moon-buggy";
+  pname = "moon-buggy";
   version = "1.0.51";
-  name = "${baseName}-${version}";
 
   buildInputs = [
     ncurses
   ];
 
   src = fetchurl {
-    url = "http://m.seehuhn.de/programs/${name}.tar.gz";
+    url = "http://m.seehuhn.de/programs/moon-buggy-${version}.tar.gz";
     sha256 = "0gyjwlpx0sd728dwwi7pwks4zfdy9rm1w1xbhwg6zip4r9nc2b9m";
   };
 
diff --git a/nixpkgs/pkgs/games/mudlet/default.nix b/nixpkgs/pkgs/games/mudlet/default.nix
index aacc15d19b97..46ae45b2202b 100644
--- a/nixpkgs/pkgs/games/mudlet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/multimc/0001-pick-latest-java-first.patch b/nixpkgs/pkgs/games/multimc/0001-pick-latest-java-first.patch
deleted file mode 100644
index a65dcbfd037d..000000000000
--- a/nixpkgs/pkgs/games/multimc/0001-pick-latest-java-first.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 44e1b2a19a869b907b40e56c85c8a47aa6c22097 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <musfay@protonmail.com>
-Date: Tue, 22 Jun 2021 21:50:11 +0300
-Subject: [PATCH] pick latest java first
-
----
- launcher/java/JavaInstallList.cpp | 4 ++--
- launcher/java/JavaUtils.cpp       | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/launcher/java/JavaInstallList.cpp b/launcher/java/JavaInstallList.cpp
-index 0bded03c..40898e20 100644
---- a/launcher/java/JavaInstallList.cpp
-+++ b/launcher/java/JavaInstallList.cpp
-@@ -120,8 +120,8 @@ void JavaInstallList::updateListData(QList<BaseVersionPtr> versions)
- 
- bool sortJavas(BaseVersionPtr left, BaseVersionPtr right)
- {
--    auto rleft = std::dynamic_pointer_cast<JavaInstall>(left);
--    auto rright = std::dynamic_pointer_cast<JavaInstall>(right);
-+    auto rleft = std::dynamic_pointer_cast<JavaInstall>(right);
-+    auto rright = std::dynamic_pointer_cast<JavaInstall>(left);
-     return (*rleft) > (*rright);
- }
- 
-diff --git a/launcher/java/JavaUtils.cpp b/launcher/java/JavaUtils.cpp
-index 5f004a10..6d633631 100644
---- a/launcher/java/JavaUtils.cpp
-+++ b/launcher/java/JavaUtils.cpp
-@@ -350,7 +350,6 @@ QList<QString> JavaUtils::FindJavaPaths()
-     qDebug() << "Linux Java detection incomplete - defaulting to \"java\"";
- 
-     QList<QString> javas;
--    javas.append(this->GetDefaultJava()->path);
-     auto scanJavaDir = [&](const QString & dirPath)
-     {
-         QDir dir(dirPath);
-@@ -379,6 +378,7 @@ QList<QString> JavaUtils::FindJavaPaths()
-     // general locations used by distro packaging
-     scanJavaDir("/usr/lib/jvm");
-     scanJavaDir("/usr/lib32/jvm");
-+    javas.append(this->GetDefaultJava()->path);
-     // javas stored in MultiMC's folder
-     scanJavaDir("java");
-     return javas;
--- 
-2.31.1
-
diff --git a/nixpkgs/pkgs/games/multimc/default.nix b/nixpkgs/pkgs/games/multimc/default.nix
deleted file mode 100644
index 732a66ef8b41..000000000000
--- a/nixpkgs/pkgs/games/multimc/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, jdk8, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, libGL, msaClientID ? "" }:
-
-let
-  libpath = with xorg; lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio libGL ];
-in mkDerivation rec {
-  pname = "multimc";
-  version = "unstable-2021-09-08";
-  src = fetchFromGitHub {
-    owner = "MultiMC";
-    repo = "MultiMC5";
-    rev = "e2355eb276bf355ca4acf526a0f3cc390aa88f8b";
-    sha256 = "3G9QPoAbC+uVfUYR0Kq6hnxl9c2mvCzIEYGjwfarQJ8=";
-    fetchSubmodules = true;
-  };
-  nativeBuildInputs = [ cmake file makeWrapper ];
-  buildInputs = [ qtbase jdk8 zlib ];
-
-  patches = [ ./0001-pick-latest-java-first.patch ];
-
-  postPatch = ''
-    # hardcode jdk paths
-    substituteInPlace launcher/java/JavaUtils.cpp \
-      --replace 'scanJavaDir("/usr/lib/jvm")' 'javas.append("${jdk}/lib/openjdk/bin/java")' \
-      --replace 'scanJavaDir("/usr/lib32/jvm")' 'javas.append("${jdk8}/lib/openjdk/bin/java")'
-
-    # add client ID
-    substituteInPlace notsecrets/Secrets.cpp \
-      --replace 'QString MSAClientID = "";' 'QString MSAClientID = "${msaClientID}";'
-  '';
-
-  cmakeFlags = [ "-DMultiMC_LAYOUT=lin-system" ];
-
-  postInstall = ''
-    install -Dm644 ../launcher/resources/multimc/scalable/multimc.svg $out/share/pixmaps/multimc.svg
-    install -Dm755 ../launcher/package/linux/multimc.desktop $out/share/applications/multimc.desktop
-
-    # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
-    wrapProgram $out/bin/multimc \
-      --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
-      --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
-  '';
-
-  meta = with lib; {
-    homepage = "https://multimc.org/";
-    description = "A free, open source launcher for Minecraft";
-    longDescription = ''
-      Allows you to have multiple, separate instances of Minecraft (each with their own mods, texture packs, saves, etc) and helps you manage them and their associated options with a simple interface.
-    '';
-    platforms = platforms.linux;
-    license = licenses.asl20;
-    # upstream don't want us to re-distribute this application:
-    # https://github.com/NixOS/nixpkgs/issues/131983
-    hydraPlatforms = [];
-    maintainers = with maintainers; [ cleverca22 starcraft66 ];
-  };
-}
diff --git a/nixpkgs/pkgs/games/n2048/default.nix b/nixpkgs/pkgs/games/n2048/default.nix
index b3d06a51fd3c..ec3a4e2bbeec 100644
--- a/nixpkgs/pkgs/games/n2048/default.nix
+++ b/nixpkgs/pkgs/games/n2048/default.nix
@@ -1,35 +1,26 @@
-{lib, stdenv, fetchurl, ncurses}:
-let
-  s =
-  rec {
-    baseName = "n2048";
-    version = "0.1";
-    name = "${baseName}-${version}";
-    url = "http://www.dettus.net/n2048/${baseName}_v${version}.tar.gz";
+{ lib, stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "n2048";
+  version = "0.1";
+  src = fetchurl {
+    url = "http://www.dettus.net/n2048/n2048_v${version}.tar.gz";
     sha256 = "184z2rr0rnj4p740qb4mzqr6kgd76ynb5gw9bj8hrfshcxdcg1kk";
   };
   buildInputs = [
     ncurses
   ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
   makeFlags = [
     "DESTDIR=$(out)"
   ];
   preInstall = ''
     mkdir -p "$out"/{share/man,bin}
   '';
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "Console implementation of 2048 game";
-    license = lib.licenses.bsd2;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
     homepage = "http://www.dettus.net/n2048/";
   };
 }
diff --git a/nixpkgs/pkgs/games/nethack/default.nix b/nixpkgs/pkgs/games/nethack/default.nix
index f9939f063c80..2b29bddad93c 100644
--- a/nixpkgs/pkgs/games/nethack/default.nix
+++ b/nixpkgs/pkgs/games/nethack/default.nix
@@ -20,9 +20,9 @@ let
 
 in stdenv.mkDerivation rec {
   version = "3.6.6";
-  name = if x11Mode then "nethack-x11-${version}"
-         else if qtMode then "nethack-qt-${version}"
-         else "nethack-${version}";
+  pname = if x11Mode then "nethack-x11"
+         else if qtMode then "nethack-qt"
+         else "nethack";
 
   src = fetchurl {
     url = "https://nethack.org/download/${version}/nethack-${lib.replaceStrings ["."] [""] version}-src.tgz";
diff --git a/nixpkgs/pkgs/games/nottetris2/default.nix b/nixpkgs/pkgs/games/nottetris2/default.nix
deleted file mode 100644
index 179673c05b63..000000000000
--- a/nixpkgs/pkgs/games/nottetris2/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, zip, love_0_7, makeWrapper, makeDesktopItem }:
-
-let
-  pname = "nottetris2";
-  version = "2.0";
-
-  desktopItem = makeDesktopItem {
-    name = "nottetris2";
-    exec = pname;
-    comment = "It's like tetris, but it's not";
-    desktopName = "nottetris2";
-    genericName = "nottetris2";
-    categories = "Game";
-  };
-
-in
-
-stdenv.mkDerivation {
-  inherit pname version;
-
-  src = fetchFromGitHub {
-    owner = "Stabyourself";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "17iabh6rr8jim70n96rbhif4xq02g2kppscm8l339yqx6mhb64hs";
-  };
-
-  nativeBuildInputs = [ zip makeWrapper ];
-  buildInputs = [ love_0_7 ];
-
-  installPhase =
-  ''
-    mkdir -p $out/bin $out/share/games/lovegames $out/share/applications
-    zip -9 -r ${pname}.love ./*
-    mv ${pname}.love $out/share/games/lovegames/${pname}.love
-    makeWrapper ${love_0_7}/bin/love $out/bin/${pname} --add-flags $out/share/games/lovegames/${pname}.love
-    ln -s ${desktopItem}/share/applications/* $out/share/applications/
-    chmod +x $out/bin/${pname}
-  '';
-
-  meta = with lib; {
-    description = "It's like Tetris, but it's not";
-    platforms = platforms.linux;
-    license = licenses.wtfpl;
-    maintainers = with maintainers; [ yorickvp ];
-    downloadPage = "https://stabyourself.net/nottetris2/";
-  };
-
-}
diff --git a/nixpkgs/pkgs/games/npush/default.nix b/nixpkgs/pkgs/games/npush/default.nix
new file mode 100644
index 000000000000..d4124557f6e6
--- /dev/null
+++ b/nixpkgs/pkgs/games/npush/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+}:
+
+stdenv.mkDerivation rec {
+  pname = "npush";
+  version = "0.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/npush/${pname}/${version}/${pname}-${version}.tgz";
+    hash = "sha256-8hbSsyeehzd4T3fUhDyebyI/oTHOHr3a8ArYAquivNk=";
+  };
+
+  outputs = [ "out" "doc" ];
+
+  buildInputs = [
+    ncurses
+  ];
+
+  dontConfigure = true;
+
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}c++"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/share/npush/levels $doc/share/doc/npush
+    cp npush $out/bin/
+    cp levels/* $out/share/npush/levels
+    cp CHANGES COPYING CREDITS index.html \
+       readme.txt screenshot1.png screenshot2.png $doc/share/doc/npush/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "http://npush.sourceforge.net/";
+    description = "A Sokoban-like game";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/games/npush/run.nix b/nixpkgs/pkgs/games/npush/run.nix
new file mode 100644
index 000000000000..bc4a3b5fda3f
--- /dev/null
+++ b/nixpkgs/pkgs/games/npush/run.nix
@@ -0,0 +1,31 @@
+{ runtimeShell
+, symlinkJoin
+, writeShellScriptBin
+, npush
+}:
+
+let
+  runScript = writeShellScriptBin "run-npush" ''
+    set -euo pipefail
+    CWD=$(pwd)
+
+    if [ -d "./levels" ]; then
+      echo "Directory ./levels found; skipping levelset copy"
+    else
+      echo "Directory ./levels not found; copying the official levelset to the current directory"
+      mkdir -p ./levels
+      cp ${npush}/share/npush/levels/* levels/
+      chmod 644 levels/*
+    fi
+    echo "Now calling npush"
+    exec "${npush}/bin/npush"
+  '';
+in
+symlinkJoin {
+  name = "run-npush-${npush.version}";
+
+  paths = [
+    npush
+    runScript
+  ];
+}
diff --git a/nixpkgs/pkgs/games/openra/common.nix b/nixpkgs/pkgs/games/openra/common.nix
index 41c903e10116..01bd44ee244a 100644
--- a/nixpkgs/pkgs/games/openra/common.nix
+++ b/nixpkgs/pkgs/games/openra/common.nix
@@ -2,7 +2,7 @@
     and out-of-tree mod packages (mod.nix).
 */
 { lib, makeSetupHook, curl, unzip, dos2unix, pkg-config, makeWrapper
-, lua, mono, dotnetPackages, python
+, lua, mono, dotnetPackages, python2
 , libGL, freetype, openal, SDL2
 , zenity
 }:
@@ -10,7 +10,7 @@
 with lib;
 
 let
-  path = makeBinPath ([ mono python ] ++ optional (zenity != null) zenity);
+  path = makeBinPath ([ mono python2 ] ++ optional (zenity != null) zenity);
   rpath = makeLibraryPath [ lua freetype openal SDL2 ];
   mkdirp = makeSetupHook { } ./mkdirp.sh;
 
@@ -66,7 +66,7 @@ in {
       makeWrapper
       mkdirp
       mono
-      python
+      python2
     ];
 
     makeFlags = [ "prefix=$(out)" ];
diff --git a/nixpkgs/pkgs/games/opensupaplex/default.nix b/nixpkgs/pkgs/games/opensupaplex/default.nix
new file mode 100644
index 000000000000..44fc219bef91
--- /dev/null
+++ b/nixpkgs/pkgs/games/opensupaplex/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchurl
+, makeDesktopItem
+, copyDesktopItems
+, testVersion
+, opensupaplex
+, SDL2
+, SDL2_mixer
+}:
+
+let
+  # Doesn't seem to be included in tagged releases, but does exist on master.
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/sergiou87/open-supaplex/b102548699cf16910b59559f689ecfad88d2a7d2/open-supaplex.svg";
+    sha256 = "sha256-nKeSBUGjSulbEP7xxc6smsfCRjyc/xsLykH0o3Rq5wo=";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "opensupaplex";
+  version = "7.1.2";
+
+  src = fetchFromGitHub {
+    owner = "sergiou87";
+    repo = "open-supaplex";
+    rev = "v${version}";
+    sha256 = "sha256-hP8dJlLXE5J/oxPhRkrrBl1Y5e9MYbJKi8OApFM3+GU=";
+  };
+
+  nativeBuildInputs = [
+    SDL2 # For "sdl2-config"
+    copyDesktopItems
+  ];
+  buildInputs = [ SDL2_mixer ];
+
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS_COMPILE = [
+    "-DFILE_DATA_PATH=${placeholder "out"}/lib/opensupaplex"
+    "-DFILE_FHS_XDG_DIRS"
+  ];
+
+  preBuild = ''
+    # Makefile is located in this directory
+    pushd linux
+  '';
+
+  postBuild = ''
+    popd
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib,share/icons/hicolor/scalable/apps}
+
+    install -D ./linux/opensupaplex $out/bin/opensupaplex
+    cp -R ./resources $out/lib/opensupaplex
+    cp ${icon} $out/share/icons/hicolor/scalable/apps/open-supaplex.svg
+
+    runHook postInstall
+  '';
+
+  passthru.tests.version = testVersion {
+    package = opensupaplex;
+    command = "opensupaplex --help";
+    version = "v${version}";
+  };
+
+  desktopItems = [(makeDesktopItem {
+    name = "opensupaplex";
+    exec = meta.mainProgram;
+    icon = "open-supaplex";
+    desktopName = "OpenSupaplex";
+    comment = meta.description;
+    categories = "Application;Game;";
+  })];
+
+  meta = with lib; {
+    description = "A decompilation of Supaplex in C and SDL";
+    homepage = "https://github.com/sergiou87/open-supaplex";
+    changelog = "https://github.com/sergiou87/open-supaplex/blob/master/changelog/v${version}.txt";
+    license = licenses.gpl3Only;
+    maintainers = [ maintainers.ivar ];
+    platforms = platforms.linux; # Many more are supported upstream, but only linux is tested.
+    mainProgram = "opensupaplex";
+  };
+}
diff --git a/nixpkgs/pkgs/games/openttd/nml.nix b/nixpkgs/pkgs/games/openttd/nml.nix
index 094330faffbb..bb44d9eee0b6 100644
--- a/nixpkgs/pkgs/games/openttd/nml.nix
+++ b/nixpkgs/pkgs/games/openttd/nml.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "openttd-nml";
-  version = "0.5.3";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "OpenTTD";
     repo = "nml";
     rev = version;
-    sha256 = "0kfnkshff3wrxsj1wpfbbw2mmgww2q80v63p5d2pp1f38x8j33w9";
+    sha256 = "0z0n4lqvnqigfjjhmmz7mvis7iivd4a8d287ya2yscfg5hznnqh2";
   };
 
   propagatedBuildInputs = with python3Packages; [ply pillow];
diff --git a/nixpkgs/pkgs/games/osu-lazer/default.nix b/nixpkgs/pkgs/games/osu-lazer/default.nix
index ab826c4f0b31..5ddbabe042ea 100644
--- a/nixpkgs/pkgs/games/osu-lazer/default.nix
+++ b/nixpkgs/pkgs/games/osu-lazer/default.nix
@@ -1,111 +1,70 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, makeDesktopItem, linkFarmFromDrvs
-, dotnetCorePackages, dotnetPackages, cacert
-, ffmpeg_4, alsa-lib, SDL2, lttng-ust, numactl, alsa-plugins
+{ lib
+, stdenvNoCC
+, buildDotnetModule
+, fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
+, ffmpeg
+, alsa-lib
+, SDL2
+, lttng-ust
+, numactl
 }:
 
-let
-  runtimeDeps = [
-    ffmpeg_4 alsa-lib SDL2 lttng-ust numactl
-  ];
-
-  dotnet-sdk = dotnetCorePackages.sdk_5_0;
-  dotnet-runtime = dotnetCorePackages.runtime_5_0;
-
-  # https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#using-rids
-  runtimeId = "linux-x64";
-
-in stdenv.mkDerivation rec {
+buildDotnetModule rec {
   pname = "osu-lazer";
-  version = "2021.1113.0";
+  version = "2022.205.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    sha256 = "EDW3DGnDkdH6k4XKDc5xWFYeIMcoRN4S9nMBF+TeAl8=";
+    sha256 = "sha256-CzXgj3990qWOwIjhbU8vO29nDO/7HrGDtsc67VIenPI=";
   };
 
-  nativeBuildInputs = [
-    dotnet-sdk dotnetPackages.Nuget makeWrapper
-    # FIXME: Without `cacert`, we will suffer from https://github.com/NuGet/Announcements/issues/49
-    cacert
-  ];
-
-  nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
-    fetchNuGet = { pname, version, sha256 }: fetchurl {
-      name = "${pname}-${version}.nupkg";
-      url = "https://www.nuget.org/api/v2/package/${pname}/${version}";
-      inherit sha256;
-    };
-  });
-
-  configurePhase = ''
-    runHook preConfigure
-
-    export HOME=$(mktemp -d)
-    export DOTNET_CLI_TELEMETRY_OPTOUT=1
-    export DOTNET_NOLOGO=1
-
-    nuget sources Add -Name nixos -Source "$PWD/nixos"
-    nuget init "$nugetDeps" "$PWD/nixos"
+  projectFile = "osu.Desktop/osu.Desktop.csproj";
+  nugetDeps = ./deps.nix;
 
-    # FIXME: https://github.com/NuGet/Home/issues/4413
-    mkdir -p $HOME/.nuget/NuGet
-    cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
+  nativeBuildInputs = [ copyDesktopItems ];
 
-    dotnet restore --source "$PWD/nixos" osu.Desktop --runtime ${runtimeId}
-
-    runHook postConfigure
+  preConfigure = ''
+    dotnetFlags+=(
+      --runtime linux-x64
+    )
   '';
 
-  buildPhase = ''
-    runHook preBuild
-    dotnet build osu.Desktop \
-      --no-restore \
-      --configuration Release \
-      --runtime ${runtimeId} \
-      -p:Version=${version}
-    runHook postBuild
-  '';
+  runtimeDeps = [
+    ffmpeg
+    alsa-lib
+    SDL2
+    lttng-ust
+    numactl
+  ];
 
-  installPhase = ''
-    runHook preInstall
+  executables = [ "osu!" ];
 
-    dotnet publish osu.Desktop \
-      --no-build \
-      --configuration Release \
-      --runtime ${runtimeId} \
-      --no-self-contained \
-      --output $out/lib/osu
+  fixupPhase = ''
+    runHook preFixup
 
-    makeWrapper $out/lib/osu/osu\! $out/bin/osu\! \
-      --set DOTNET_ROOT "${dotnet-runtime}" \
-      --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
     for i in 16 32 48 64 96 128 256 512 1024; do
       install -D ./assets/lazer.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
     done
-    cp -r ${makeDesktopItem {
-      desktopName = "osu!";
-      name = "osu";
-      exec = "osu!";
-      icon = "osu!";
-      comment = meta.description;
-      type = "Application";
-      categories = "Game;";
-    }}/share/applications $out/share
 
-    runHook postInstall
-  '';
+    ln -sft $out/lib/${pname} ${SDL2}/lib/libSDL2${stdenvNoCC.hostPlatform.extensions.sharedLibrary}
+    cp -f ${./osu.runtimeconfig.json} "$out/lib/${pname}/osu!.runtimeconfig.json"
 
-  fixupPhase = ''
-    runHook preFixup
-    cp -f ${./osu.runtimeconfig.json} "$out/lib/osu/osu!.runtimeconfig.json"
-    ln -sft $out/lib/osu ${SDL2}/lib/libSDL2${stdenv.hostPlatform.extensions.sharedLibrary}
     runHook postFixup
   '';
 
-  # Strip breaks the executable.
-  dontStrip = true;
+  desktopItems = [(makeDesktopItem {
+    desktopName = "osu!";
+    name = "osu";
+    exec = "osu!";
+    icon = "osu!";
+    comment = meta.description;
+    type = "Application";
+    categories = "Game;";
+  })];
 
   meta = with lib; {
     description = "Rhythm is just a *click* away";
diff --git a/nixpkgs/pkgs/games/osu-lazer/deps.nix b/nixpkgs/pkgs/games/osu-lazer/deps.nix
index 96b257204f4f..6ff9f6dfaf80 100644
--- a/nixpkgs/pkgs/games/osu-lazer/deps.nix
+++ b/nixpkgs/pkgs/games/osu-lazer/deps.nix
@@ -1,68 +1,69 @@
 { fetchNuGet }: [
-  (fetchNuGet { pname = "AutoMapper"; version = "10.1.1"; sha256 = "1l1p9g7f7finr8laklbm7h2c45k0swl47iq0ik68js5s6pzvd6f8"; })
+  (fetchNuGet { pname = "AutoMapper"; version = "11.0.0"; sha256 = "1ni9mmrqfbspwf7xz6by5415ci5zhg15z3f7596qqpmbn8bqg7wq"; })
   (fetchNuGet { pname = "DeltaCompressionDotNet"; version = "2.0.0.0"; sha256 = "0zhj7m3zaf9wcg51385in9qg1xgkvp8yyzgq3r5k4sagm7y68aqy"; })
   (fetchNuGet { pname = "DiffPlex"; version = "1.7.0"; sha256 = "09a8hkbx99iwikfl8war629945yv7i8llj9480dbc4kyp6qqlr00"; })
   (fetchNuGet { pname = "DiscordRichPresence"; version = "1.0.175"; sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd"; })
   (fetchNuGet { pname = "FFmpeg.AutoGen"; version = "4.3.0.1"; sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv"; })
-  (fetchNuGet { pname = "Fody"; version = "6.5.3"; sha256 = "14yj3xj4jh2ayl8jsyypxv9af0xbw30946kn14m0bfmlyl027wkp"; })
+  (fetchNuGet { pname = "Fody"; version = "6.6.0"; sha256 = "0cx708ah61cxmvpaq040mhqwrv937rvlmskwihg1w118729k9yv0"; })
   (fetchNuGet { pname = "HidSharpCore"; version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; })
-  (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.37"; sha256 = "1q0kkw2rhvxi67hqv18ziv2dvmhi7f68745gcs1253mwv5da4vy6"; })
-  (fetchNuGet { pname = "Humanizer"; version = "2.11.10"; sha256 = "057pqzvdxsbpnnc5f1xkqg7j3ywp68ggia3w74fgqp0158dm6rdk"; })
-  (fetchNuGet { pname = "Humanizer.Core"; version = "2.11.10"; sha256 = "0z7kmd5rh1sb6izq0vssk6c2p63n00xglk45s7ga9z18z9aaskxv"; })
+  (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.40"; sha256 = "0k1cpkfgz4v5qigvmmvlk8lv2a731kqkmx6acf3rzr8rlj3cfnc4"; })
+  (fetchNuGet { pname = "Humanizer"; version = "2.13.14"; sha256 = "155g2700x6sbym2jd4dshm4rf3jjr8flx6w9xnw28zrrv7r2rdy8"; })
+  (fetchNuGet { pname = "Humanizer.Core"; version = "2.13.14"; sha256 = "1ni4mcyhcs46ih9b8c8l3xq3iai56rdlcw0afwhji3hxwbxqbk7i"; })
   (fetchNuGet { pname = "Humanizer.Core"; version = "2.2.0"; sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5"; })
-  (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.11.10"; sha256 = "18fiixfvjwn8m1i8z2cz4aqykzylvfdqmmpwc2zcd8sr1a2xm86z"; })
-  (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.11.10"; sha256 = "009fpm4jd325izm82ipipsvlwd31824gvskda68bdwi4yqmycz4p"; })
-  (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.11.10"; sha256 = "144b9diwprabxwgi5a98k5iy95ajq4p7356phdqi2lhzwbz7b6a9"; })
-  (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.11.10"; sha256 = "1b9y40gvq2kwnj5wa40f8cbywv79jkajcwknagrgr27sykpfadl2"; })
-  (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.11.10"; sha256 = "18pn4jcp36ygcx283l3fi9bs5d7q1a384b72a10g5kl0qckn88ay"; })
-  (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.11.10"; sha256 = "03crw1lnzp32v2kcdmllkrsqh07r4ggw9gyc96qw7cv0nk5ch1h8"; })
-  (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.11.10"; sha256 = "0glby12zra3y3yiq4cwq1m6wjcjl8f21v8ghi6s20r48glm8vzy9"; })
-  (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.11.10"; sha256 = "0a35xrm1f9p74x0fkr52bw9sd54vdy9d5rnvf565yh8ww43xfk7b"; })
-  (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.11.10"; sha256 = "0bhwwdx5vc48zikdsbrkghdhwahxxc2lkff0yaa5nxhbhasl84h8"; })
-  (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.11.10"; sha256 = "07bw07qy8nyzlgxl7l2lxv9f78qmkfppgzx7iyq5ikrcnpvc7i9q"; })
-  (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.11.10"; sha256 = "00d4hc1pfmhfkc5wmx9p7i00lgi4r0k6wfcns9kl1syjxv3bs5f2"; })
-  (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.11.10"; sha256 = "0z4is7pl5jpi4pfdvd2zvx5mp00bj26d9l9ksqyc0liax8nfzyik"; })
-  (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.11.10"; sha256 = "0sybpg6kbbhrnk7gxcdk7ppan89lsfqsdssrg4i1dm8w48wgicap"; })
-  (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.11.10"; sha256 = "1s25c86nl9wpsn6fydzwv4rfmdx5sm0vgyd7xhw5344k20gazvhv"; })
-  (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.11.10"; sha256 = "1nx61qkjd6p9r36dmnm4942khyv35fpdqmb2w69gz6463g4d7z29"; })
-  (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.11.10"; sha256 = "02jhcyj72prkqsjxyilv04drm0bknqjh2r893jlbsfi9vjg2zay3"; })
-  (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.11.10"; sha256 = "0yb6ly4s1wdyaf96h2dvifqyb575aid6irwl3qx8gcvrs0xpcxdp"; })
-  (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.11.10"; sha256 = "0b7vaqldn7ca3xi4gkvkhjk900kw2zwb0m0d20bg45a83zdlx79c"; })
-  (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.11.10"; sha256 = "1yqxirknwga4j18k7ixwgqxlv20479afanhariy3c5mkwvglsr9b"; })
-  (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.11.10"; sha256 = "1skwgj5a6kkx3pm9w4f29psch69h1knmwbkdydlmx13h452p1w4l"; })
-  (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.11.10"; sha256 = "1wpc3yz9v611dqbw8j5yimk8dpz0rvpnls4rmlnp1m47gavpj8x4"; })
-  (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.11.10"; sha256 = "1df0kd7vwdc3inxfkb3wsl1aw3d6vbab99dzh08p4m04g7i2c1a9"; })
-  (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.11.10"; sha256 = "17b66xfgwjr0sffx0hw4c6l90h43z7ffylrs26hgav0n110q2nwg"; })
-  (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.11.10"; sha256 = "0czxx4b9g0w7agykdl82wds09zasa9y58dmgjm925amlfz4wkyzs"; })
-  (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.11.10"; sha256 = "0kix95nbw94fx0dziyz80y59i7ii7d21b63f7f94niarljjq36i3"; })
-  (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.11.10"; sha256 = "1rwy6m22pq65gxn86xlr9lv818fp5kb0wz98zxxfljc2iviw1f4p"; })
-  (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.11.10"; sha256 = "0ra2cl0avvv4sylha7z76jxnb4pdiqfbpr5m477snr04dsjxd9q9"; })
-  (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.11.10"; sha256 = "1qszib03pvmjkrg8za7jjd2vzrs9p4fn2rmy82abnzldkhvifipq"; })
-  (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.11.10"; sha256 = "1i9bvy0i2yyasl9mgxiiwrkmfpm2c53d3wwdp9270r6120sxyy63"; })
-  (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.11.10"; sha256 = "0kggh4wgcic7wzgxy548n6w61schss2ccf9kz8alqshfi42xifby"; })
-  (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.11.10"; sha256 = "09j90s8x1lpvhfiy3syfnj8slkgcacf3xjy3pnkgxa6g4mi4f4bd"; })
-  (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.11.10"; sha256 = "1jgidmqfly91v1k22gn687mfql5bz7gjzp1aapi93vq5x635qssy"; })
-  (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.11.10"; sha256 = "13mmlh0ibxfyc85xrz3vx4mcg56mkzqql184iwdryq94p0g5ahil"; })
-  (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.11.10"; sha256 = "04ja06y5jaz1jwkwn117wx9cib04gpbi0vysn58a8sd5jrxmxai5"; })
-  (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.11.10"; sha256 = "05hxk9v3a7fn7s4g9jp5zxk2z6a33b9fkavyb1hjqnl2i37q2wja"; })
-  (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.11.10"; sha256 = "0x6l2msimrx72iywa1g0rqklgy209sdwg0r77i2lz0s1rvk5klm5"; })
-  (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.11.10"; sha256 = "01hdyn7mmbyy7f3aglawgnsj3nblcdpqjgzdcvniy73l536mira0"; })
-  (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.11.10"; sha256 = "0cbgchivw3d5ndib1zmgzmnymhyvfh9g9f0hijc860g5vaa9fkvh"; })
-  (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.11.10"; sha256 = "1v7f9x3b04iwhz9lb3ir8az8128nvcw1gi4park5zh3fg0f3mni0"; })
-  (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.11.10"; sha256 = "02c4ky0dskxkdrkc7vy8yzmvwjr1wqll1kzx0k21afhlx8xynjd4"; })
-  (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.11.10"; sha256 = "0900ilhwj8yvhyzpg1pjr7f5vrl62wp8dsnhk4c2igs20qvnv079"; })
-  (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.11.10"; sha256 = "09b7p2m8y49j49ckrmx2difgyj6y7fm2mwca093j8psxclsykcyr"; })
-  (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.11.10"; sha256 = "029kvkawqhlln52vpjpvr52dhr18ylk01cgsj2z8lxnqaka0q9hk"; })
-  (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.11.10"; sha256 = "0q4d47plsj956ivn82qwyidfxppjr9dp13m8c66aamrvhy4q8ny5"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.11.10"; sha256 = "01dy5kf6ai8id77px92ji4kcxjc8haj39ivv55xy1afcg3qiy7mh"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.11.10"; sha256 = "16gcxgw2g6gck3nc2hxzlkbsg7wkfaqsjl87kasibxxh47zdqqv2"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.11.10"; sha256 = "1rjg2xvkwjjw3c7z9mdjjvbnl9lcvvhh4fr7l61rla2ynzdk46cj"; })
+  (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.13.14"; sha256 = "0w7n9qfxlqayw2dwgajqjks5b2qxcy2853v5h0rbaq5r5yb84874"; })
+  (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.13.14"; sha256 = "1nxdh3hg9hkvi7q0ffaflb738kkdl0kmpry9jxdkkvg4mhrmfs2i"; })
+  (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.13.14"; sha256 = "1rjhpbzy49rrf0mypkf7ksjlmx6iywdbra1caj1mr970gfm1j4zb"; })
+  (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.13.14"; sha256 = "101zwkys4w7dwwa7dzsc10gdrk6bnfmm3hqc09a4jvxj2p8i6hds"; })
+  (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.13.14"; sha256 = "1d0flbhk4f0kc1dqzgqnimlp3gcj490qchrbl4yb4ilmsyaws0gm"; })
+  (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.13.14"; sha256 = "11hfxdpncbrbj9d779b24hw43sfpbjynmkxlv636sg532j5vd58g"; })
+  (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.13.14"; sha256 = "0bfl1zx6x58i75l57k8xfky264hh2ziv068yx9w0zshil0d74iw5"; })
+  (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.13.14"; sha256 = "1bhhmp9rza2p4j5zs11sk2xvrbbvckr1v8d97aramqzqmv4x20pd"; })
+  (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.13.14"; sha256 = "1kym97876jspj72y9fhpc2y1jn3j12y5l95222r53mbrrpwz1m6p"; })
+  (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.13.14"; sha256 = "0v5fmy7cjdk3bs13pi09v3g7sbmdnvijn0w8gnif0krmg2rdm2z7"; })
+  (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.13.14"; sha256 = "12m3d0cr9qa0f7sx58rqw835awi01j0frvbp1q796s6amlvhrcyc"; })
+  (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.13.14"; sha256 = "0j8gl6kajazjw64xpf4ws5v6hv5dz43gnm0vcnfm5l2kizd87wxh"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.13.14"; sha256 = "053jcc9rdxxnwiccqmcxnvq40a4fm6h6lr0mlqdxjdfdj07s29i9"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.13.14"; sha256 = "00xff7shwclns2v8mknwnh2y6ycfa9zj7ssgrkdyqa9k8ppq26dh"; })
+  (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.13.14"; sha256 = "10qhxb6fin6w595f7h7nnfvvh5xi0vmca9ynsggq74rpjzgmvyzr"; })
+  (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.13.14"; sha256 = "1xgd3had8gsfy4l5835vn9ngr5i5ys38mggzmm4s6j1id49920g4"; })
+  (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.13.14"; sha256 = "0gfrkjp9c38c671d8rc468hphkixarjzss754rqsk4j5x1p13wml"; })
+  (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.13.14"; sha256 = "01691rwvrh6spks5jc1vcg961p1awy34ynkaxqlhr5d49dw5qgdd"; })
+  (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.13.14"; sha256 = "177vbbn8q0xl2cdak4xyk38w4w8c1y2vlq9i2fm7va4x6awdyxjk"; })
+  (fetchNuGet { pname = "Humanizer.Core.is"; version = "2.13.14"; sha256 = "08d8zknnxlvbshlvlnj1m954ddf7khw1n24pphsa9i0brww9wxfv"; })
+  (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.13.14"; sha256 = "0873ijf8cxm7skwp622ddnh8pdl30nlrwmil89icf67z3flis60d"; })
+  (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.13.14"; sha256 = "1bshhkiv57010zij7pcmm1709n0y4pk3kp9xx7ar3gnra3jmm6za"; })
+  (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.13.14"; sha256 = "0rhq6471pjaypnh4k08y124i7sa6cj3i71v2frv66qpynl6hi0y0"; })
+  (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.13.14"; sha256 = "1ircd4lw3ryl3zzdv85wpk8by44rzhn4ln85ycml2b6a21arq1rw"; })
+  (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.13.14"; sha256 = "0y7m6zvns8wr0sy5ksjb51wrypgplfdwprz96xw1ajmdj4fjh9sr"; })
+  (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.13.14"; sha256 = "1cpnjjgybh9dp9snq3r6wm3l4zy1ssjyb64bayjnd8770lpvyfjs"; })
+  (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.13.14"; sha256 = "0n5zjsq71nvxnhghsk321cqrwz7kf1jzfcq4vhsksyv7q9na74ak"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.13.14"; sha256 = "07b1fj3ac2wcj7ql1gc7vaa4q4dmyd0prj7bxr52z04ar3nxjlsc"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.13.14"; sha256 = "0v1vljlzjlslj5y3c5xd2pbp1g29ghjd02s0z2bri5zk9zcgysvq"; })
+  (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.13.14"; sha256 = "15imi9m1lvfrx0fvfmlx74p8y59na2rkgdrbfyy3dvgvd74b9k5v"; })
+  (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.13.14"; sha256 = "06ix2xilgi7w7306hs4v41ai6jwank384cyz0885b53dic5kgq7r"; })
+  (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.13.14"; sha256 = "1qd1w1xrxap7nwmfl9yjx6z71r03p53kw8y4dnjn7xdn85xc7z4b"; })
+  (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.13.14"; sha256 = "1qifvw6y6g7014q0s8xaprsk79bqlgg0rmvbyn21qalc0ayab97v"; })
+  (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.13.14"; sha256 = "0wg4p84m9r6slbz9gxrjnidc1j7xfmwncpp14x3f86a37791rz61"; })
+  (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.13.14"; sha256 = "1qm0nsbw3z9n011fnnhyhzgpxyz41f01dxl13bs8mjzy0f1v3gvj"; })
+  (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.13.14"; sha256 = "1fhkjyxjk9icj705qysk8yc11hpdml2cjcxm7mfdv5z2f93sa4hz"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.13.14"; sha256 = "02f15q3i9npvvxwjyp14rxd8rlhd9qricrah3cmc8lw9fca26bb4"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.13.14"; sha256 = "0mnycpjl51cd4nz9kwijr66zrgxqjbcsp5jqgr660l4bq16yxjad"; })
+  (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.13.14"; sha256 = "13vdyrg1jp2al96w08vfkw5yjdqdnp7pksxz907i89w6cp9wbfvm"; })
+  (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.13.14"; sha256 = "0ganp6zjjj07lcpy9h88q2441f1lfv3a7mgncrqw36bliv37pr8m"; })
+  (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.13.14"; sha256 = "1sgfzh9dabdhhk5i97c0d13rz5yghcp2qpjidqsizpi2k8h8rl0r"; })
+  (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.13.14"; sha256 = "1ns33byx9p6fv6gffdxly3fm3wvjl6ndscribwr37134pa6nvqc9"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.13.14"; sha256 = "1qm27qz989nwnkpg26phi60qqahivssx906znwkldml2h2rz8k0g"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.13.14"; sha256 = "1hd2d7js8cng50ir56l8lhc9qc1rwzjvqrv98ly9ggnv8n63iiws"; })
+  (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.13.14"; sha256 = "0xh33ml7aspslj4gnbd7anjvp3463djhcc51bh2ji67rbw1an6rw"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.13.14"; sha256 = "062wgs0qnhvikvfz37jmqw6sx7xwzs24ncl89paq3640id32aivd"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.13.14"; sha256 = "0s01h733ihxjg64bznjvnij76lflqfcmwznjwmd8p2axmn8688s0"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; })
-  (fetchNuGet { pname = "ManagedBass"; version = "3.0.0"; sha256 = "1yh1s36w465z8gcj4xs6q048g63z7m3nyfy1vvw1lgh7k6hqqgma"; })
-  (fetchNuGet { pname = "ManagedBass.Fx"; version = "3.0.0"; sha256 = "0sck1wmjlcy8q941bamk1i0k4yrklyilsgg6c832xdh96sdc049s"; })
-  (fetchNuGet { pname = "ManagedBass.Mix"; version = "3.0.0"; sha256 = "0brnm0ry96b81hgffbaj52s53bsn9c8cx4q24j0whsvmcqqxhs4v"; })
+  (fetchNuGet { pname = "ManagedBass"; version = "3.1.0"; sha256 = "0p4kzpq86h00z7rwzmwxyk1yg627mm5376ssjv1wgqgls0dl7gkh"; })
+  (fetchNuGet { pname = "ManagedBass.Fx"; version = "3.1.0"; sha256 = "130rrf6sb64dcq58mr1gigma3pzr7hg5mxn5fbryg375x3vphbs8"; })
+  (fetchNuGet { pname = "ManagedBass.Mix"; version = "3.1.0"; sha256 = "1ppxczh1i67k5xicr0q4n0k7zdzghs99wwkcpjmh726hkdsshnib"; })
   (fetchNuGet { pname = "managed-midi"; version = "1.9.14"; sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h"; })
-  (fetchNuGet { pname = "Markdig"; version = "0.26.0"; sha256 = "1pg0yica8h1c2kx10pqzc5iclmlfll5wbw1bxa8l251w1qnfglv2"; })
+  (fetchNuGet { pname = "Markdig"; version = "0.23.0"; sha256 = "1bwn885w7balwncmr764vidyyp9bixqlq6r3lhsapj8ykrpxxa70"; })
   (fetchNuGet { pname = "MessagePack"; version = "2.3.85"; sha256 = "0n7kv4i6knhv1dd35cv45sfpidsiy9albfdmbrdschykd1mzxmiy"; })
   (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.3.85"; sha256 = "0axjgy9r533bw00lflnc6acjyza76mf2x1nn6fw7qacvak9rqxm3"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1asph5v7kgmscfgsyv9gg7cwvg52gnm6m0ldm2m4pfkpsxqyp2mi"; })
@@ -77,7 +78,6 @@
   (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; version = "5.0.11"; sha256 = "0w60z54wxv1nndv7mz9rqswdh8k4rxmgihnxkirp4gr0idr7ln7j"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; version = "5.0.11"; sha256 = "1qrmrkdrzm4bn5zq6a1dk88rpb6pajcs6jh23h43yny68y80jcnr"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.0.0"; sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.0"; sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; })
   (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "16.5.0"; sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb"; })
   (fetchNuGet { pname = "Microsoft.Build.Locator"; version = "1.4.1"; sha256 = "0j119rri7a401rca67cxdyrn3rprzdl1b2wrblqc23xsff1xvlrx"; })
@@ -93,8 +93,8 @@
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
   (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "2.2.6"; sha256 = "0fx8698k71vzr8pdc6q8bsbzg6r8a42s4hkzmiyv13ibmyb5q68k"; })
-  (fetchNuGet { pname = "Microsoft.Diagnostics.NETCore.Client"; version = "0.2.221401"; sha256 = "1k55l60bg8lj5ayl3kixbzvx2684xd7a9nzha5fiqjgp85cimb3r"; })
-  (fetchNuGet { pname = "Microsoft.Diagnostics.Runtime"; version = "2.0.226801"; sha256 = "1w8ahqkv8nbq2ch17aa9axhqqnybmc9bsxpdhpiy52ix70mr72w1"; })
+  (fetchNuGet { pname = "Microsoft.Diagnostics.NETCore.Client"; version = "0.2.61701"; sha256 = "1ic1607jj4ln8dbibf1fz5v9svk9x2kqlgvhndc6ijaqnbc4wcr1"; })
+  (fetchNuGet { pname = "Microsoft.Diagnostics.Runtime"; version = "2.0.161401"; sha256 = "02qcm8nv1ch07g8b0i60ynrjn33b8y5ivyk4rxal3vd9zfi6pvwi"; })
   (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "2.1.0"; sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy"; })
   (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "2.2.6"; sha256 = "18j2cr50wsikwv7gy3vrjvmpdxckvv537qma8afdpr3yn2klayh5"; })
   (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "2.2.6"; sha256 = "1dyxb5ibx24frlgbqy7zch0falq9p1189zvlbxgl94m0hvpml5j3"; })
@@ -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"; })
@@ -127,7 +129,6 @@
   (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1fdbrjrmjd31y1amp0inlmki9w3fwzv8nz41pqmc943g3cpmyg9f"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "3.1.0"; sha256 = "04cc2wl90p7g9zscnxgyj55vzl7srrrjwadl2dxgicfb2x2499ca"; })
@@ -154,18 +155,19 @@
   (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 = "ppy.LocalisationAnalyser"; version = "2021.725.0"; sha256 = "00nvk8kw94v0iq5k7y810sa235lqdjlggq7f00c64c3d1zam4203"; })
-  (fetchNuGet { pname = "ppy.ManagedBass"; version = "3.1.3-alpha"; sha256 = "0qdrklalp42pbyb30vpr7c0kwjablsja0s6xplxxkpfd14y8mzk4"; })
-  (fetchNuGet { pname = "ppy.osu.Framework"; version = "2021.1108.0"; sha256 = "0zcmxnb521j8v9q863l5bf74svgsn8lc00d03kmldyfhcjq6zqb9"; })
-  (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2021.805.0"; sha256 = "004c053s6p7339bfw68lvlyk9jkbw6djkf2d72dz8wam546k8dcl"; })
-  (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2021.1112.0"; sha256 = "0q0z0f9f9g2a6523zyp5a7k3z0h2rallnz6pzyahkn2vz9s4ykxj"; })
-  (fetchNuGet { pname = "ppy.osuTK.NS20"; version = "1.0.178"; sha256 = "1bv77rrf3g6zr4bzfrrqqzl0vjj4c8izc0sakckda8dlm6h3gxln"; })
-  (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.468-alpha"; sha256 = "1qa2xg5p6ywmvzz868vck2jy4sn8vfqssa4an4afqsmc4amxfmc8"; })
+  (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.204.0"; sha256 = "1dwg45k1qhxj4mhxw49djmab800yi7z7qnvl8ipicli4lg9k5lvf"; })
+  (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2021.1221.0"; sha256 = "1ffxp4nsgbqw1f6nypirmc0a3h203qikbmxm2x8w3kgcfga5dx3k"; })
+  (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.501-alpha"; sha256 = "03ixv0nhszsyyf0bvyd25nkyn3c3cndzbxnva19lagvf0l9gnvjg"; })
   (fetchNuGet { pname = "ppy.squirrel.windows"; version = "1.9.0.5"; sha256 = "0nmhrg3q6izapfpwdslq80fqkvjj12ad9r94pd0nr2xx1zw0x1zl"; })
-  (fetchNuGet { pname = "Realm"; version = "10.6.0"; sha256 = "0vsd99zr22a2cvyx71gdqqvr2ld239v5s4dhhfdkjgvadz5dyc2a"; })
-  (fetchNuGet { pname = "Realm.Fody"; version = "10.6.0"; sha256 = "031igfdwrkgn5nh19qxh6s6l8l1ni6lgk65dhqrzqc202xqidsdm"; })
+  (fetchNuGet { pname = "Realm"; version = "10.8.0"; sha256 = "1ixpms8x9z5ia9yiqvhmgdlcrjvqrhbqnr8b9z6mlxwcms1z2f45"; })
+  (fetchNuGet { pname = "Realm.Fody"; version = "10.8.0"; sha256 = "0hj3cqan96y01k5qgs0knkqzg3rlr2794az68xqffd2vqphvqvqq"; })
   (fetchNuGet { pname = "Remotion.Linq"; version = "2.2.0"; sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf"; })
   (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"; })
@@ -187,9 +189,9 @@
   (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 = "Sentry"; version = "3.10.0"; sha256 = "1dnvj1adr6kz5pfdhi2cvq8m303vdaj00zgg2sbx0pc8y3nhc6x7"; })
+  (fetchNuGet { pname = "Sentry"; version = "3.13.0"; sha256 = "0wnivy7rhzghr94pdczv7kw72y1hv5kp6hw0fkmw1nfgnsh4qjfm"; })
   (fetchNuGet { pname = "SharpCompress"; version = "0.17.1"; sha256 = "1ffiacghbcnr3fkgvdcad7b1nky54nhmmn2sm43sks9zm8grvva4"; })
-  (fetchNuGet { pname = "SharpCompress"; version = "0.30.0"; sha256 = "0q9icpwzf76a85wlqqn2d5zsb0pfzvqxihsg71g76gk74xg9gdcd"; })
+  (fetchNuGet { pname = "SharpCompress"; version = "0.30.1"; sha256 = "1hib2hxjrlikwsczym1qn2slaapgjw8qzd8gmid8bryaz8hv044h"; })
   (fetchNuGet { pname = "SharpFNT"; version = "2.0.0"; sha256 = "1bgacgh9hbck0qvji6frbb50sdiqfdng2fvvfgfw8b9qaql91mx0"; })
   (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; })
   (fetchNuGet { pname = "Splat"; version = "1.6.2"; sha256 = "154w9q0z8697rcpqs4x233crx5ap1z4pl4xc21hsd3csbhw13ykf"; })
@@ -206,12 +208,12 @@
   (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
-  (fetchNuGet { pname = "System.CodeDom"; version = "4.5.0"; sha256 = "1js3h3ig0zwyynl1q88siynp8ra0gz0pfq1wmvls6ji83jrxsami"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
   (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
   (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
   (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
   (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; })
@@ -260,7 +262,6 @@
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
   (fetchNuGet { pname = "System.Linq.Queryable"; version = "4.0.1"; sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw"; })
-  (fetchNuGet { pname = "System.Management"; version = "4.5.0"; sha256 = "19z5x23n21xi94bgl531l9hrm64nyw9d5fpd7klfvr5xfsbh9jwr"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
@@ -279,7 +280,6 @@
   (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
   (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
   (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.6.0"; sha256 = "18h375q5bn9h7swxnk4krrxym1dxmi9bm26p89xps9ygrj4q6zqw"; })
-  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
   (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
   (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
   (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
@@ -287,6 +287,7 @@
   (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.6.0"; sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp"; })
   (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
   (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.8.1"; sha256 = "17xxl3m99wa4hcpqy42vl8qb1jk2jfq32rj3sfjc1a46hi2si5jj"; })
   (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
   (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
   (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
@@ -299,7 +300,9 @@
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
   (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"; })
@@ -348,7 +351,6 @@
   (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.2"; sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
   (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; })
diff --git a/nixpkgs/pkgs/games/osu-lazer/update.sh b/nixpkgs/pkgs/games/osu-lazer/update.sh
index 2fe30ebec143..21f9eb80f452 100755
--- a/nixpkgs/pkgs/games/osu-lazer/update.sh
+++ b/nixpkgs/pkgs/games/osu-lazer/update.sh
@@ -22,6 +22,9 @@ chmod -R +w "$src"
 
 pushd "$src"
 
+export DOTNET_NOLOGO=1
+export DOTNET_CLI_TELEMETRY_OPTOUT=1
+
 mkdir ./nuget_tmp.packages
 dotnet restore osu.Desktop --packages ./nuget_tmp.packages --runtime linux-x64
 
diff --git a/nixpkgs/pkgs/games/otto-matic/default.nix b/nixpkgs/pkgs/games/otto-matic/default.nix
new file mode 100644
index 000000000000..e213deabe859
--- /dev/null
+++ b/nixpkgs/pkgs/games/otto-matic/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, fetchFromGitHub, SDL2, cmake, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "OttoMatic";
+  version = "4.0.0";
+
+  src = fetchFromGitHub {
+    owner = "jorio";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256:1yd4clks7kr2hn69c4q1ykc92sw6axbspambm03viapr834bjz3q";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [
+    SDL2
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    makeWrapper
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/OttoMatic
+    mv Data $out/share/OttoMatic
+    install -Dm755 {.,$out/bin}/OttoMatic
+    wrapProgram $out/bin/OttoMatic --run "cd $out/share/OttoMatic"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A port of Otto Matic, a 2001 Macintosh game by Pangea Software, for modern operating systems";
+    homepage = "https://github.com/jorio/OttoMatic";
+    license = with licenses; [
+      cc-by-sa-40
+    ];
+    maintainers = with maintainers; [ lux ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/games/papermc/default.nix b/nixpkgs/pkgs/games/papermc/default.nix
index e1554bdcb410..09dbfb6c3c83 100644
--- a/nixpkgs/pkgs/games/papermc/default.nix
+++ b/nixpkgs/pkgs/games/papermc/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, bash, jre }:
 let
-  mcVersion = "1.17.1";
-  buildNum = "399";
+  mcVersion = "1.18.1";
+  buildNum = "132";
   jar = fetchurl {
     url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar";
-    sha256 = "01374201dkzrx28phy87wji7kzjwx8bpjzv85bjl6672ziskbmpd";
+    sha256 = "af26babef1e9134804bdf61e14eed7677d603516638f5a2ffe97e176ebd9839b";
   };
 in stdenv.mkDerivation {
   pname = "papermc";
diff --git a/nixpkgs/pkgs/games/pentobi/default.nix b/nixpkgs/pkgs/games/pentobi/default.nix
index 213f2c8e4f48..e0bd6909fb94 100644
--- a/nixpkgs/pkgs/games/pentobi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/pioneer/default.nix b/nixpkgs/pkgs/games/pioneer/default.nix
index 82879d0a9d2d..b70ef8c3dab6 100644
--- a/nixpkgs/pkgs/games/pioneer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/planetaryannihilation/default.nix b/nixpkgs/pkgs/games/planetaryannihilation/default.nix
index c29af6d810f5..2debd15f814e 100644
--- a/nixpkgs/pkgs/games/planetaryannihilation/default.nix
+++ b/nixpkgs/pkgs/games/planetaryannihilation/default.nix
@@ -1,26 +1,15 @@
 { lib, stdenv, config, fetchurl, patchelf, makeWrapper, gtk2, glib, udev, alsa-lib, atk
-, nspr, fontconfig, cairo, pango, nss, freetype, gnome2, gdk-pixbuf, curl, systemd, xorg }:
+, nspr, fontconfig, cairo, pango, nss, freetype, gnome2, gdk-pixbuf, curl, systemd, xorg, requireFile }:
 
-# TODO: use dynamic attributes once Nix 1.7 is out
-assert ((config.planetary_annihilation or null).url or null) != null;
-assert ((config.planetary_annihilation or null).sha256 or null) != null;
+stdenv.mkDerivation rec {
+  pname = "planetary-annihalation";
+  version = "62857";
 
-/* to setup:
- $ cat ~/.config/nixpkgs/config.nix
- {
-  planetary_annihilation = {
-    url = "file:///home/user/PA_Linux_62857.tar.bz2";
+  src = requireFile {
+    message = "This file has to be downloaded manually via nix-prefetch-url.";
+    name = "PA_Linux_${version}.tar.bz2";
     sha256 = "0imi3k5144dsn3ka9khx3dj76klkw46ga7m6rddqjk4yslwabh3k";
   };
-}
-*/
-
-stdenv.mkDerivation {
-  name = "planetary-annihalation";
-
-  src = fetchurl {
-    inherit (config.planetary_annihilation) url sha256;
-  };
 
   nativeBuildInputs = [ patchelf makeWrapper ];
 
diff --git a/nixpkgs/pkgs/games/polymc/default.nix b/nixpkgs/pkgs/games/polymc/default.nix
new file mode 100644
index 000000000000..0d63a8ad5f91
--- /dev/null
+++ b/nixpkgs/pkgs/games/polymc/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, jdk8
+, jdk
+, zlib
+, file
+, makeWrapper
+, xorg
+, libpulseaudio
+, qtbase
+, libGL
+, msaClientID ? ""
+}:
+
+mkDerivation rec {
+  pname = "polymc";
+  version = "1.0.6";
+
+  src = fetchFromGitHub {
+    owner = "PolyMC";
+    repo = "PolyMC";
+    rev = version;
+    sha256 = "sha256-KgLWbZxtxTpuFdMOJNyADYw9rMWoLgczrbSrH4qv6NI=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake file makeWrapper ];
+  buildInputs = [ qtbase jdk8 zlib ];
+
+  postPatch = ''
+    # hardcode jdk paths
+    substituteInPlace launcher/java/JavaUtils.cpp \
+      --replace 'scanJavaDir("/usr/lib/jvm")' 'javas.append("${jdk}/lib/openjdk/bin/java")' \
+      --replace 'scanJavaDir("/usr/lib32/jvm")' 'javas.append("${jdk8}/lib/openjdk/bin/java")'
+  '';
+
+  cmakeFlags = [ "-DLauncher_LAYOUT=lin-system" ] ++
+               lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
+
+  dontWrapQtApps = true;
+
+  postInstall = let
+    libpath = with xorg; lib.makeLibraryPath [
+      libX11
+      libXext
+      libXcursor
+      libXrandr
+      libXxf86vm
+      libpulseaudio
+      libGL
+    ];
+  in ''
+    # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
+    wrapProgram $out/bin/polymc \
+      "''${qtWrapperArgs[@]}" \
+      --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
+      --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
+  '';
+
+  meta = with lib; {
+    homepage = "https://polymc.org/";
+    description = "A free, open source launcher for Minecraft";
+    longDescription = ''
+      Allows you to have multiple, separate instances of Minecraft (each with
+      their own mods, texture packs, saves, etc) and helps you manage them and
+      their associated options with a simple interface.
+    '';
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ cleverca22 starcraft66 ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/purpur/default.nix b/nixpkgs/pkgs/games/purpur/default.nix
new file mode 100644
index 000000000000..b12c54449a48
--- /dev/null
+++ b/nixpkgs/pkgs/games/purpur/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchurl, nixosTests, jre_headless, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "purpur";
+  version = "1.18.1r1522";
+
+  src = fetchurl {
+    url = "https://api.purpurmc.org/v2/purpur/${builtins.replaceStrings [ "r" ] [ "/" ] version}/download";
+    sha256 = "1060fsfcw6m30d47wla1vsnmc4czyla6m8wf91ws095hbvc22qsm";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  preferLocalBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib/minecraft
+    cp -v $src $out/lib/minecraft/server.jar
+
+    makeWrapper ${jre_headless}/bin/java $out/bin/minecraft-server \
+      --add-flags "-jar $out/lib/minecraft/server.jar nogui"
+  '';
+
+  dontUnpack = true;
+
+  passthru = {
+    tests = { inherit (nixosTests) minecraft-server; };
+  };
+
+  meta = with lib; {
+    description = "A drop-in replacement for Minecraft Paper servers";
+    longDescription = ''
+      Purpur is a drop-in replacement for Minecraft Paper servers designed for configurability, new fun and exciting
+      gameplay features, and performance built on top of Airplane.
+    '';
+    homepage = "https://purpurmc.org/";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ jyooru ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/r2mod_cli/default.nix b/nixpkgs/pkgs/games/r2mod_cli/default.nix
index 169385576ac5..607a53579c7e 100644
--- a/nixpkgs/pkgs/games/r2mod_cli/default.nix
+++ b/nixpkgs/pkgs/games/r2mod_cli/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "r2mod_cli";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "Foldex";
     repo = "r2mod_cli";
     rev = "v${version}";
-    sha256 = "sha256-VNqdVDBR6+eNOeUthPXLfz+0VoaNfSj4f04HLvjg6/0=";
+    sha256 = "sha256-FS9P/uTZU4d6zpM3TlEW6i6PLGHxqqO2fc8D7VsPCig=";
   };
 
   buildInputs = [ bashInteractive ];
diff --git a/nixpkgs/pkgs/games/rimshot/default.nix b/nixpkgs/pkgs/games/rimshot/default.nix
deleted file mode 100644
index 997da768c6d4..000000000000
--- a/nixpkgs/pkgs/games/rimshot/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib, stdenv, fetchurl, unzip, love, lua, makeWrapper, makeDesktopItem }:
-
-stdenv.mkDerivation rec {
-  pname = "rimshot";
-  version = "1.0";
-
-  src = fetchurl {
-    url = "https://stabyourself.net/dl.php?file=${pname}/${pname}-source.zip";
-    sha256 = "08pdkyvki92549605m9bqnr24ipkbwkp5nkr5aagdqnr8ai4rgmi";
-  };
-
-  icon = fetchurl {
-    url = "http://stabyourself.net/images/screenshots/rimshot-2.png";
-    sha256 = "08fyiqym3gcpq2vgb5dvafkban42fsbzfcr3iiyw03hz99q53psd";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = "rimshot";
-    exec = pname;
-    icon = icon;
-    comment = "Create your own music";
-    desktopName = "Rimshot";
-    genericName = "rimshot";
-    categories = "Audio;AudioVideo;Music";
-  };
-
-  nativeBuildInputs = [ makeWrapper unzip ];
-  buildInputs = [ lua love ];
-
-  unpackPhase = ''
-    unzip -j $src
-  '';
-
-  installPhase =
-  ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/games/lovegames
-
-    cp -v ./*.love $out/share/games/lovegames/${pname}.love
-    makeWrapper ${love}/bin/love $out/bin/${pname} --add-flags $out/share/games/lovegames/${pname}.love
-
-    chmod +x $out/bin/${pname}
-    mkdir -p $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications/
-  '';
-
-  meta = with lib; {
-    description = "Create your own music";
-    maintainers = with maintainers; [ leenaars ];
-    platforms = platforms.linux;
-    license = licenses.free;
-    downloadPage = "http://stabyourself.net/rimshot/";
-  };
-
-}
diff --git a/nixpkgs/pkgs/games/rogue/default.nix b/nixpkgs/pkgs/games/rogue/default.nix
index 127d65ff362f..4865b85bbe38 100644
--- a/nixpkgs/pkgs/games/rogue/default.nix
+++ b/nixpkgs/pkgs/games/rogue/default.nix
@@ -15,9 +15,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses ];
 
-  # Fix build for recent ncurses versions
-  NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1";
-
   meta = with lib; {
     homepage = "http://rogue.rogueforge.net/rogue-5-4/";
     description = "The final version of the original Rogue game developed for the UNIX operating system";
diff --git a/nixpkgs/pkgs/games/rpg-cli/default.nix b/nixpkgs/pkgs/games/rpg-cli/default.nix
index 8128a67ebeee..cad3b539d9ad 100644
--- a/nixpkgs/pkgs/games/rpg-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/sgt-puzzles/default.upstream b/nixpkgs/pkgs/games/sgt-puzzles/default.upstream
deleted file mode 100644
index b6d048b68ae9..000000000000
--- a/nixpkgs/pkgs/games/sgt-puzzles/default.upstream
+++ /dev/null
@@ -1,5 +0,0 @@
-minimize_overwrite
-url http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles.tar.gz
-redirect
-NEED_TO_CHOOSE_URL=
-version '.*[-_.]([0-9]{8}[.][^.]+)[.]tar[.].*' '\1'
diff --git a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
index 8dc205d51bc3..d8bf9d5f3235 100644
--- a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
+++ b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
@@ -10,15 +10,15 @@
 
 let
   pname = "shattered-pixel-dungeon";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "00-Evan";
     repo = "shattered-pixel-dungeon";
     # NOTE: always use the commit sha, not the tag. Tags _will_ disappear!
     # https://github.com/00-Evan/shattered-pixel-dungeon/issues/596
-    rev = "7f29a03078647ea503d3c866476568511aa5af84";
-    sha256 = "sha256-+d8X7WFGX8YGb2rGu8jVO82QdlF9ec+6+Ti5wGEIwRg=";
+    rev = "5d1a2dce6b554b40f6737ead45d411fd98f4c67d";
+    sha256 = "sha256-Vu7K0NnqFY298BIQV9AwNEahV0eJl14tAeq+rw6KrtM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/games/snis/default.nix b/nixpkgs/pkgs/games/snis/default.nix
new file mode 100644
index 000000000000..ed09ed46eff5
--- /dev/null
+++ b/nixpkgs/pkgs/games/snis/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, coreutils
+, portaudio
+, libbsd
+, libpng
+, libvorbis
+, SDL2
+, makeWrapper
+, lua5_2
+, glew
+, openssl
+, picotts
+, alsa-utils
+, espeak-classic
+, sox
+, libopus
+, openscad
+}:
+
+stdenv.mkDerivation {
+  pname = "snis_launcher";
+  version = "unstable-2021-10-17";
+
+  src = fetchFromGitHub {
+    owner = "smcameron";
+    repo = "space-nerds-in-space";
+    rev = "e70d3c63e33c940feb53c8d818ce2d8ea2aadf00";
+    sha256 = "sha256-HVCb1iFn7GWNpedtFCgLyd0It8s4PEmUwDfb8ap1TDc=";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "OPUSARCHIVE=libopus.a" "OPUSARCHIVE=" \
+      --replace "-I./opus-1.3.1/include" "-I${libopus.dev}/include/opus"
+    substituteInPlace snis_launcher \
+      --replace "PREFIX=." "PREFIX=$out"
+    substituteInPlace snis_text_to_speech.sh \
+      --replace "pico2wave" "${sox}/bin/pico2wave" \
+      --replace "espeak" "${espeak-classic}/bin/espeak" \
+      --replace "play" "${sox}/bin/play" \
+      --replace "aplay" "${alsa-utils}/bin/aplay" \
+      --replace "/bin/rm" "${coreutils}/bin/rm"
+  '';
+
+  nativeBuildInputs = [ pkg-config openscad makeWrapper ];
+  buildInputs = [ coreutils portaudio libbsd libpng libvorbis SDL2 lua5_2 glew openssl picotts sox alsa-utils libopus ];
+
+  postBuild = ''
+    make models -j$NIX_BUILD_CORES
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out
+    cp -R share $out/share
+    cp -R bin $out/bin
+    cp snis_launcher $out/bin/
+    # without this, snis_client crashes on Wayland
+    wrapProgram $out/bin/snis_client --set SDL_VIDEODRIVER x11
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Space Nerds In Space, a multi-player spaceship bridge simulator";
+    homepage = "https://smcameron.github.io/space-nerds-in-space/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ alyaeanyx ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/games/steam/fhsenv.nix b/nixpkgs/pkgs/games/steam/fhsenv.nix
index 8c379959ad8b..35e8b9838f5a 100644
--- a/nixpkgs/pkgs/games/steam/fhsenv.nix
+++ b/nixpkgs/pkgs/games/steam/fhsenv.nix
@@ -327,7 +327,7 @@ in buildFHSUserEnv rec {
     name = "steam-run";
 
     targetPkgs = commonTargetPkgs;
-    inherit multiPkgs extraBuildCommands;
+    inherit multiPkgs extraBuildCommands profile;
 
     inherit unshareIpc unsharePid;
 
diff --git a/nixpkgs/pkgs/games/supertux/default.nix b/nixpkgs/pkgs/games/supertux/default.nix
index 31b36efc4900..067ce78fae9c 100644
--- a/nixpkgs/pkgs/games/supertux/default.nix
+++ b/nixpkgs/pkgs/games/supertux/default.nix
@@ -1,21 +1,21 @@
 { lib, stdenv, fetchurl, cmake, pkg-config, SDL2, SDL2_image , curl
 , libogg, libvorbis, libGLU, libGL, openal, boost, glew
-, libpng, freetype
+, libpng, freetype, glm
 }:
 
 stdenv.mkDerivation rec {
   pname = "supertux";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchurl {
     url = "https://github.com/SuperTux/supertux/releases/download/v${version}/SuperTux-v${version}-Source.tar.gz";
-    sha256 = "167m3z4m8n76dvbv42m1fnvabpbpsxvr28zk9641916jl9pfba96";
+    sha256 = "1xkr3ka2sxp5s0spp84iv294i29s1vxqzazb6kmjc0n415h0x57p";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
 
   buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU libGL openal boost glew
-    libpng freetype
+    libpng freetype glm
   ];
 
   cmakeFlags = [ "-DENABLE_BOOST_STATIC_LIBS=OFF" ];
diff --git a/nixpkgs/pkgs/games/tennix/default.nix b/nixpkgs/pkgs/games/tennix/default.nix
index f81ddb7edf95..809ed7a146d0 100644
--- a/nixpkgs/pkgs/games/tennix/default.nix
+++ b/nixpkgs/pkgs/games/tennix/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_net, python } :
+{lib, stdenv, fetchurl, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_net, python2 } :
 
 stdenv.mkDerivation rec {
   pname = "tennix";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0np5kw1y7i0z0dsqx4r2nvmq86qj8hv3mmgavm3hxraqnds5z8cm";
   };
 
-  buildInputs = [ python SDL SDL_mixer SDL_image SDL_ttf SDL_net ];
+  buildInputs = [ python2 SDL SDL_mixer SDL_image SDL_ttf SDL_net ];
 
   patches = [ ./fix_FTBFS.patch ];
 
diff --git a/nixpkgs/pkgs/games/tetrio-desktop/default.nix b/nixpkgs/pkgs/games/tetrio-desktop/default.nix
new file mode 100644
index 000000000000..93d80314c661
--- /dev/null
+++ b/nixpkgs/pkgs/games/tetrio-desktop/default.nix
@@ -0,0 +1,87 @@
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, alsa-lib
+, cups
+, libpulseaudio
+, libX11
+, libXScrnSaver
+, libXtst
+, mesa
+, nss
+, systemd
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tetrio-desktop";
+  version = "8.0.0";
+
+  src = fetchurl {
+    url = "https://web.archive.org/web/20211228025517if_/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb";
+    name = "tetrio-desktop.deb";
+    sha256 = "1nlblfhrph4cw8rpic9icrs78mzrxyskl7ggyy2i8bk9i07i21xf";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    alsa-lib
+    cups
+    libX11
+    libXScrnSaver
+    libXtst
+    mesa
+    nss
+  ];
+
+  dontWrapGApps = true;
+
+  libPath = lib.makeLibraryPath [
+    alsa-lib
+    cups
+    libpulseaudio
+    libX11
+    libXScrnSaver
+    libXtst
+    mesa
+    nss
+    systemd
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/tetrio-desktop $out/bin
+    cp $src $TMP/tetrio-desktop.deb
+    ar vx $TMP/tetrio-desktop.deb
+    tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/tetrio-desktop/
+  '';
+
+  installPhase = ''
+    cp -R $TMP/tetrio-desktop/{usr/share,opt} $out/
+
+    wrapProgram $out/opt/TETR.IO/tetrio-desktop \
+      --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/TETR.IO
+
+    ln -s $out/opt/TETR.IO/tetrio-desktop $out/bin/
+
+    substituteInPlace $out/share/applications/tetrio-desktop.desktop \
+      --replace "Exec=\"/opt/TETR.IO/tetrio-desktop\"" "Exec=\"$out/opt/TETR.IO/tetrio-desktop\""
+  '';
+
+  meta = with lib; {
+    homepage = "https://tetr.io";
+    downloadPage = "https://tetr.io/about/desktop/";
+    description = "TETR.IO desktop client";
+    longDescription = ''
+      TETR.IO is a modern yet familiar online stacker.
+      Play against friends and foes all over the world, or claim a spot on the leaderboards - the stacker future is yours!
+    '';
+    platforms = [ "x86_64-linux" ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wackbyte ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/the-legend-of-edgar/default.nix b/nixpkgs/pkgs/games/the-legend-of-edgar/default.nix
new file mode 100644
index 000000000000..d099bbf2a420
--- /dev/null
+++ b/nixpkgs/pkgs/games/the-legend-of-edgar/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, SDL2
+, SDL2_image
+, SDL2_mixer
+, SDL2_ttf
+, gettext
+, libpng
+, pkg-config
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "the-legend-of-edgar";
+  version = "1.35";
+
+  src = fetchFromGitHub {
+    name = "${pname}-${version}-src";
+    owner = "riksweeney";
+    repo = "edgar";
+    rev = version;
+    hash = "sha256-ojy4nEW9KiSte/AoFUMPrKCxvIeQpMVIL4ileHiBydo=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    gettext
+  ];
+
+  buildInputs = [
+    SDL2
+    SDL2_image
+    SDL2_mixer
+    SDL2_ttf
+    libpng
+    zlib
+  ];
+
+  dontConfigure = true;
+
+  makefile = "makefile";
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "BIN_DIR=${placeholder "out"}/bin/"
+  ];
+
+  # TODO: remove the setting below when the next version arrives
+  # https://github.com/riksweeney/edgar/pull/57
+  preBuild = ''
+    export CFLAGS=$(sdl2-config --cflags)
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.parallelrealities.co.uk/games/edgar";
+    description = "A 2D platform game with a persistent world";
+    longDescription = ''
+      When Edgar's father fails to return home after venturing out one dark and
+      stormy night, Edgar fears the worst: he has been captured by the evil
+      sorcerer who lives in a fortress beyond the forbidden swamp.
+
+      Donning his armour, Edgar sets off to rescue him, but his quest will not
+      be easy...
+
+      The Legend of Edgar is a platform game, not unlike those found on the
+      Amiga and SNES. Edgar must battle his way across the world, solving
+      puzzles and defeating powerful enemies to achieve his quest.
+    '';
+    license = licenses.gpl1Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/nixpkgs/pkgs/games/toppler/default.nix b/nixpkgs/pkgs/games/toppler/default.nix
index ffe807410bb4..890e13498747 100644
--- a/nixpkgs/pkgs/games/toppler/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/uchess/default.nix b/nixpkgs/pkgs/games/uchess/default.nix
index cafd7cf57696..58b45609cc4a 100644
--- a/nixpkgs/pkgs/games/uchess/default.nix
+++ b/nixpkgs/pkgs/games/uchess/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
     sha256 = "1njl3f41gshdpj431zkvpv2b7zmh4m2m5q6xsijb0c0058dk46mz";
   };
 
-  vendorSha256 = "0dkq240ch1z3gihn8yc5d723nnvfxirk2nhw12r1c2hj1ga088g3";
+  vendorSha256 = "sha256-4yEE1AsSChayCBxaMXPsbls7xGmFeWRhfOMHyAAReDY=";
 
   # package does not contain any tests as of v0.2.1
   doCheck = false;
diff --git a/nixpkgs/pkgs/games/ue4demos/default.nix b/nixpkgs/pkgs/games/ue4demos/default.nix
index a2d114f51139..51148e42e8e1 100644
--- a/nixpkgs/pkgs/games/ue4demos/default.nix
+++ b/nixpkgs/pkgs/games/ue4demos/default.nix
@@ -5,7 +5,7 @@ let
     [
       # Untrusted mirrors - do not update hashes
       "https://ludios.org/mirror/ue4demos/${file}"
-      "http://web.archive.org/web/20140824192039/http://ue4linux.raxxy.com/${file}"
+      "https://web.archive.org/web/20140824192039/http://ue4linux.raxxy.com/${file}"
     ];
 
   buildDemo = { name, src }:
diff --git a/nixpkgs/pkgs/games/unciv/default.nix b/nixpkgs/pkgs/games/unciv/default.nix
index 307138c03aaa..b6085fdce391 100644
--- a/nixpkgs/pkgs/games/unciv/default.nix
+++ b/nixpkgs/pkgs/games/unciv/default.nix
@@ -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/nixpkgs/pkgs/games/vapor/default.nix b/nixpkgs/pkgs/games/vapor/default.nix
deleted file mode 100644
index 2fa7ca189270..000000000000
--- a/nixpkgs/pkgs/games/vapor/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ lib, stdenv, fetchurl, love, lua, makeWrapper, makeDesktopItem }:
-
-let
-  pname = "vapor";
-  version = "0.2.3";
-  commitid = "dbf509f";
-
-  icon = fetchurl {
-    url = "http://vapor.love2d.org/sites/default/files/vapT240x90.png";
-    sha256 = "1xlra74lpm1y54z6zm6is0gldkswp3wdw09m6a306ch0xjf3f87f";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = "Vapor";
-    exec = pname;
-    icon = icon;
-    comment = "LÖVE Distribution Client";
-    desktopName = "Vapor";
-    genericName = "vapor";
-    categories = "Game;";
-  };
-
-in
-
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url =
-    "https://github.com/josefnpat/${pname}/releases/download/${version}/${pname}_${commitid}.love";
-    sha256 = "0w2qkrrkzfy4h4jld18apypmbi8a8r89y2l11axlv808i2rg68fk";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ lua love ];
-
-  dontUnpack = true;
-
-  installPhase =
-  ''
-    mkdir -p $out/bin
-    mkdir -p $out/share
-
-    cp -v $src $out/share/${pname}.love
-
-    makeWrapper ${love}/bin/love $out/bin/${pname} --add-flags $out/share/${pname}.love
-
-    chmod +x $out/bin/${pname}
-    mkdir -p $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications/
-  '';
-
-  meta = with lib; {
-    description = "LÖVE Distribution Client allowing access to many games";
-    platforms = platforms.linux;
-    license = licenses.zlib;
-    maintainers = with maintainers; [ leenaars ];
-    downloadPage = "http://vapor.love2d.org/";
-  };
-
-}
diff --git a/nixpkgs/pkgs/games/vassal/default.nix b/nixpkgs/pkgs/games/vassal/default.nix
index 1a08fbb4dd0b..905d51438b68 100644
--- a/nixpkgs/pkgs/games/vassal/default.nix
+++ b/nixpkgs/pkgs/games/vassal/default.nix
@@ -2,16 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "VASSAL";
-  version = "3.5.8";
+  version = "3.6.5";
 
   src = fetchzip {
     url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2";
-    sha256 = "sha256-IJ3p7+0fs/2dCbE1BOb2580upR9W/1R2/e3xmkAsJ+M=";
+    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/nixpkgs/pkgs/games/vdrift/default.nix b/nixpkgs/pkgs/games/vdrift/default.nix
index 04f65cf79379..19397794649b 100644
--- a/nixpkgs/pkgs/games/vdrift/default.nix
+++ b/nixpkgs/pkgs/games/vdrift/default.nix
@@ -12,7 +12,7 @@
 , bullet
 , curl
 , gettext
-, writeTextFile
+, writeShellScriptBin
 
 , data ? fetchsvn {
     url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data";
@@ -54,21 +54,15 @@ let
     };
   };
   wrappedName = "vdrift-${version}-with-data-${toString data.rev}";
-in writeTextFile {
+in
+(writeShellScriptBin "vdrift"  ''
+  export VDRIFT_DATA_DIRECTORY="${data}"
+  exec ${bin}/bin/vdrift "$@"
+'').overrideAttrs (_: {
   name = wrappedName;
-  text = ''
-    export VDRIFT_DATA_DIRECTORY="${data}"
-    exec ${bin}/bin/vdrift "$@"
-  '';
-  destination = "/bin/vdrift";
-  executable = true;
-  checkPhase = ''
-    ${stdenv.shell} -n $out/bin/vdrift
-  '';
-} // {
   meta = bin.meta // {
     hydraPlatforms = [ ];
   };
   unwrapped = bin;
   inherit bin data;
-}
+})
diff --git a/nixpkgs/pkgs/games/vintagestory/default.nix b/nixpkgs/pkgs/games/vintagestory/default.nix
index d19611a08ffe..8c2e8573177e 100644
--- a/nixpkgs/pkgs/games/vintagestory/default.nix
+++ b/nixpkgs/pkgs/games/vintagestory/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vintagestory";
-  version = "1.15.10";
+  version = "1.16.3";
 
   src = fetchurl {
     url = "https://cdn.vintagestory.at/gamefiles/stable/vs_archive_${version}.tar.gz";
-    sha256 = "sha256-aT6vndo/SSAqd4omyW4qWvGetkqEpgvapqaqDBrbTmo=";
+    sha256 = "sha256-PpvTHG/EBKBhtlgIrAz/B+U1aHbZURN2cWTlZ/DkZQs=";
   };
 
   nativeBuildInputs = [ makeWrapper copyDesktopItems ];
diff --git a/nixpkgs/pkgs/games/warzone2100/default.nix b/nixpkgs/pkgs/games/warzone2100/default.nix
index e5656e50de3c..788fbdbf6c8e 100644
--- a/nixpkgs/pkgs/games/warzone2100/default.nix
+++ b/nixpkgs/pkgs/games/warzone2100/default.nix
@@ -124,7 +124,7 @@ stdenv.mkDerivation rec {
       technologies, combined with the unit design system, allows for a wide
       variety of possible units and tactics.
     '';
-    homepage = "http://wz2100.net";
+    homepage = "https://wz2100.net";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ astsmtl fgaz ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/games/widelands/default.nix b/nixpkgs/pkgs/games/widelands/default.nix
index f094c7cd5961..f53b3deaef49 100644
--- a/nixpkgs/pkgs/games/widelands/default.nix
+++ b/nixpkgs/pkgs/games/widelands/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , SDL2
 , SDL2_image
 , SDL2_mixer
@@ -32,7 +33,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-gNumYoeKePaxiAzrqEPKibMxFwv9vyBrCSoua+MKhcM=";
   };
 
-  patches = [ ./bincmake.patch ];
+  patches = [
+    ./bincmake.patch
+    # fix for building with Boost 1.77, https://github.com/widelands/widelands/pull/5025
+    (fetchpatch {
+      url = "https://github.com/widelands/widelands/commit/33981fda8c319c9feafc958f5f0b1670c48666ef.patch";
+      sha256 = "sha256-FjxxCTPpg/Zp01XpNfgRXMMLJBfxAptkLpsLmnFXm2Q=";
+    })
+  ];
 
   postPatch = ''
     substituteInPlace xdg/org.widelands.Widelands.desktop \
diff --git a/nixpkgs/pkgs/games/worldofgoo/default.nix b/nixpkgs/pkgs/games/worldofgoo/default.nix
index a9938cfcbc04..fee4699aec92 100644
--- a/nixpkgs/pkgs/games/worldofgoo/default.nix
+++ b/nixpkgs/pkgs/games/worldofgoo/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
       Balls who live in the beautiful World of Goo don't know that they are in a
       game, or that they are extremely delicious.
     '';
-    homepage = "http://worldofgoo.com";
+    homepage = "https://worldofgoo.com";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = with maintainers; [ jcumming maxeaubrey ];
diff --git a/nixpkgs/pkgs/games/xconq/default.nix b/nixpkgs/pkgs/games/xconq/default.nix
index 8f4366fbcb87..10a959a676b4 100644
--- a/nixpkgs/pkgs/games/xconq/default.nix
+++ b/nixpkgs/pkgs/games/xconq/default.nix
@@ -2,12 +2,11 @@
 , libXext, fontconfig, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "${baseName}-${version}";
-  baseName = "xconq";
+  pname = "xconq";
   version = "7.5.0-0pre.0.20050612";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/${baseName}/${baseName}/${name}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/xconq/xconq/xconq-${version}/xconq-${version}.tar.gz";
     sha256 = "1za78yx57mgwcmmi33wx3533yz1x093dnqis8q2qmqivxav51lca";
   };
 
diff --git a/nixpkgs/pkgs/games/xcowsay/default.nix b/nixpkgs/pkgs/games/xcowsay/default.nix
index 89ca50b3a332..52569e044f06 100644
--- a/nixpkgs/pkgs/games/xcowsay/default.nix
+++ b/nixpkgs/pkgs/games/xcowsay/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xcowsay";
-  version = "1.5.1";
+  version = "1.6";
 
   src = fetchurl {
     url = "http://www.nickg.me.uk/files/xcowsay-${version}.tar.gz";
-    sha256 = "sha256-wypsfAp634wbaAI+fxzmr3J5AmvQzChVi/wp/BPxiA0=";
+    sha256 = "sha256-RqzoZP8o0tIfS3BY8CleGNAEGhIMEHipUfpDxOD1yMU=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/games/xmoto/default.nix b/nixpkgs/pkgs/games/xmoto/default.nix
index 246e1afc7444..5909c3f20ee4 100644
--- a/nixpkgs/pkgs/games/xmoto/default.nix
+++ b/nixpkgs/pkgs/games/xmoto/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
       X-Moto is a challenging 2D motocross platform game, where physics plays an all important role in the gameplay.
       You need to control your bike to its limits, if you want to have a chance to finish the most difficult challenges.
     '';
-    homepage = "http://xmoto.tuxfamily.org";
+    homepage = "https://xmoto.tuxfamily.org";
     maintainers = with maintainers; [ raskin pSub ];
     platforms = platforms.all;
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix b/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix
index d079b3f61ca4..49fdc7a829c5 100644
--- a/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/nixpkgs/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
@@ -10,7 +15,7 @@ let
             , ... } @ args:
            stdenv.mkDerivation ({
 
-    name = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}-${version}";
+    pname = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}";
     inherit version;
 
     src = fetchFromGitHub {
@@ -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/nixpkgs/pkgs/misc/arm-trusted-firmware/remove-hdcp-blob.patch b/nixpkgs/pkgs/misc/arm-trusted-firmware/remove-hdcp-blob.patch
new file mode 100644
index 000000000000..7f99fbdcabfd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/beep/default.nix b/nixpkgs/pkgs/misc/beep/default.nix
index 92d84bdf6dc8..fe04d28aa9de 100644
--- a/nixpkgs/pkgs/misc/beep/default.nix
+++ b/nixpkgs/pkgs/misc/beep/default.nix
@@ -5,16 +5,16 @@
 
 stdenv.mkDerivation rec {
   pname = "beep";
-  version = "1.4.9";
+  version = "1.4.12";
 
   src = fetchFromGitHub {
     owner = "spkr-beep";
     repo = "beep";
     rev = "v${version}";
-    sha256 = "JLaoiINHpIFWSqsRl8wJ/NeBu7SCcPuT/BzY8szEu0o=";
+    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/nixpkgs/pkgs/misc/cups/default.nix b/nixpkgs/pkgs/misc/cups/default.nix
index bbada33054d3..2d0129e21c5c 100644
--- a/nixpkgs/pkgs/misc/cups/default.nix
+++ b/nixpkgs/pkgs/misc/cups/default.nix
@@ -18,24 +18,22 @@
 , avahi ? null
 , libpaper ? null
 , coreutils
+, nixosTests
 }:
 
-### IMPORTANT: before updating cups, make sure the nixos/tests/printing.nix test
-### works at least for your platform.
-
 with lib;
 stdenv.mkDerivation rec {
   pname = "cups";
 
   # After 2.2.6, CUPS requires headers only available in macOS 10.12+
-  version = if stdenv.isDarwin then "2.2.6" else "2.3.3op2";
+  version = if stdenv.isDarwin then "2.2.6" else "2.4.0";
 
   src = fetchurl (if stdenv.isDarwin then {
     url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
     sha256 = "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20";
   } else {
     url = "https://github.com/OpenPrinting/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
-    sha256 = "1pwndz4gwkm7311wkhhzlw2diy7wbck7yy026jbaxh3rprdmgcyy";
+    sha256 = "1pm6lf08z8vgs62g5b5rjw32qy3vr0q3sgidpg2lfs6a530wxgls";
   });
 
   outputs = [ "out" "lib" "dev" "man" ];
@@ -137,6 +135,8 @@ stdenv.mkDerivation rec {
         --replace "Exec=htmlview" "Exec=xdg-open"
     '';
 
+  passthru.tests.nixos = nixosTests.printing;
+
   meta = {
     homepage = "https://openprinting.github.io/cups/";
     description = "A standards-based printing system for UNIX";
diff --git a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
index 93bc1f79e250..5a01a0295a8a 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
@@ -1,13 +1,28 @@
 { lib
 , stdenv
+, stdenv_32bit
 , fetchurl
 , unzip
 , autoconf
 , automake
-, libtool
+, libtool_1_5
 , makeWrapper
 , cups
+, jbigkit
+, glib
+, gtk3
+, gdk-pixbuf
+, pango
+, cairo
+, coreutils
+, atk
+, pkg-config
+, gnome2
+, libxml2
+, runtimeShell
+, proot
 , ghostscript
+, pkgs
 , pkgsi686Linux
 , zlib
 }:
@@ -15,211 +30,175 @@
 let
 
   i686_NIX_GCC = pkgsi686Linux.callPackage ({ gcc }: gcc) { };
-  i686_libxml2 = pkgsi686Linux.callPackage ({ libxml2 }: libxml2) { };
+  ld32 =
+    if stdenv.hostPlatform.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32"
+    else if stdenv.hostPlatform.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
+    else throw "Unsupported platform for Canon UFR2 Drivers: ${stdenv.hostPlatform.system}";
+  ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
+  libs = pkgs: lib.makeLibraryPath buildInputs;
 
-  commonVer = "4.10";
-  version = "3.70";
-  dl = "4/0100010264/01";
+  version = "5.40";
+  dl = "6/0100009236/10";
 
   versionNoDots = builtins.replaceStrings [ "." ] [ "" ] version;
   src_canon = fetchurl {
-    url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-uken-07.tar.gz";
-    sha256 = "01nxpg3h1c64p5skxv904fg5c4sblmif486vkij2v62wwn6l65pz";
+    url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-usen-20.tar.gz";
+    sha256 = "sha256:069z6ijmql62mcdyxnzc9mf0dxa6z1107cd0ab4i1adk8kr3d75k";
   };
 
+  buildInputs = [ cups zlib jbigkit glib gtk3 pkg-config gnome2.libglade libxml2 gdk-pixbuf pango cairo atk ];
+
 in
 
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "canon-cups-ufr2";
   inherit version;
   src = src_canon;
 
   postUnpack = ''
-    (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-${commonVer}-1.tar.gz)
-    (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-${version}-1.tar.gz)
+    (cd $sourceRoot; tar -xzf Sources/cnrdrvcups-lb-${version}-1.tar.gz)
+    (cd $sourceRoot; sed -ie "s@_prefix=/usr@_prefix=$out@" cnrdrvcups-common-${version}/allgen.sh)
+    (cd $sourceRoot; sed -ie "s@_libdir=/usr/lib@_libdir=$out/lib@" cnrdrvcups-common-${version}/allgen.sh)
+    (cd $sourceRoot; sed -ie "s@_bindir=/usr/bin@_libdir=$out/bin@" cnrdrvcups-common-${version}/allgen.sh)
+    (cd $sourceRoot; sed -ie "s@etc/cngplp@$out/etc/cngplp@" cnrdrvcups-common-${version}/cngplp/Makefile.am)
+    (cd $sourceRoot; sed -ie "s@usr/share/cngplp@$out/usr/share/cngplp@" cnrdrvcups-common-${version}/cngplp/src/Makefile.am)
+    (cd $sourceRoot; patchShebangs cnrdrvcups-common-${version})
+
+    (cd $sourceRoot; sed -ie "s@_prefix=/usr@_prefix=$out@" cnrdrvcups-lb-${version}/allgen.sh)
+    (cd $sourceRoot; sed -ie "s@_libdir=/usr/lib@_libdir=$out/lib@" cnrdrvcups-lb-${version}/allgen.sh)
+    (cd $sourceRoot; sed -ie "s@_bindir=/usr/bin@_libdir=$out/bin@" cnrdrvcups-lb-${version}/allgen.sh)
+    (cd $sourceRoot; sed -ie '/^cd \.\.\/cngplp/,/^cd files/{/^cd files/!{d}}' cnrdrvcups-lb-${version}/allgen.sh)
+    (cd $sourceRoot; sed -ie "s@cd \.\./pdftocpca@cd pdftocpca@" cnrdrvcups-lb-${version}/allgen.sh)
+    (cd $sourceRoot; sed -i "/CNGPLPDIR/d" cnrdrvcups-lb-${version}/Makefile)
+    (cd $sourceRoot; patchShebangs cnrdrvcups-lb-${version})
   '';
 
-  nativeBuildInputs = [ makeWrapper unzip autoconf automake libtool ];
+  nativeBuildInputs = [ makeWrapper unzip autoconf automake libtool_1_5 ];
 
-  buildInputs = [ cups zlib ];
+  inherit buildInputs;
 
   installPhase = ''
     runHook preInstall
 
-    ##
-    ## cndrvcups-common buildPhase
-    ##
-    ( cd cndrvcups-common-${commonVer}/buftool
-      autoreconf -fi
-      ./autogen.sh --prefix=$out --enable-progpath=$out/bin --libdir=$out/lib --disable-shared --enable-static
-      make
-    )
-
-    ( cd cndrvcups-common-${commonVer}/backend
-      ./autogen.sh --prefix=$out --libdir=$out/lib
-      make
-    )
-
-    ( cd cndrvcups-common-${commonVer}/c3plmod_ipc
-      make
-    )
-
-    ##
-    ## cndrvcups-common installPhase
-    ##
-
-    ( cd cndrvcups-common-${commonVer}/buftool
-      make install
-    )
-
-    ( cd cndrvcups-common-${commonVer}/backend
+    (
+      cd cnrdrvcups-common-${version}
+      ./allgen.sh
       make install
     )
-
-    ( cd cndrvcups-common-${commonVer}/c3plmod_ipc
-      make install DESTDIR=$out/lib
-    )
-
-    ( cd cndrvcups-common-${commonVer}/libs
-      chmod 755 *
-      mkdir -p $out/lib32
-      mkdir -p $out/bin
-      cp libcaiowrap.so.1.0.0 $out/lib32
-      cp libcaiousb.so.1.0.0 $out/lib32
-      cp libc3pl.so.0.0.1 $out/lib32
-      cp libcaepcm.so.1.0 $out/lib32
-      cp libColorGear.so.0.0.0 $out/lib32
-      cp libColorGearC.so.1.0.0 $out/lib32
-      cp libcanon_slim.so.1.0.0 $out/lib32
-      cp c3pldrv $out/bin
-    )
-
-    (cd cndrvcups-common-${commonVer}/Rule
+    (
+      cd cnrdrvcups-common-${version}/Rule
       mkdir -p $out/share/usb
-      chmod 644 *.usb-quirks $out/share/usb
-    )
-
-    (cd cndrvcups-common-${commonVer}/data
-      chmod 644 *.ICC
-      mkdir -p $out/share/caepcm
-      cp *.ICC $out/share/caepcm
-      cp *.icc $out/share/caepcm
-      cp *.PRF $out/share/caepcm
-    )
-
-    (cd $out/lib32
-      ln -sf libc3pl.so.0.0.1 libc3pl.so.0
-      ln -sf libc3pl.so.0.0.1 libc3pl.so
-      ln -sf libcaepcm.so.1.0 libcaepcm.so.1
-      ln -sf libcaepcm.so.1.0 libcaepcm.so
-      ln -sf libcaiowrap.so.1.0.0 libcaiowrap.so.1
-      ln -sf libcaiowrap.so.1.0.0 libcaiowrap.so
-      ln -sf libcaiousb.so.1.0.0 libcaiousb.so.1
-      ln -sf libcaiousb.so.1.0.0 libcaiousb.so
-      ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so.1
-      ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so
-      ln -sf libColorGear.so.0.0.0 libColorGear.so.0
-      ln -sf libColorGear.so.0.0.0 libColorGear.so
-      ln -sf libColorGearC.so.1.0.0 libColorGearC.so.1
-      ln -sf libColorGearC.so.1.0.0 libColorGearC.so
-    )
-
-    (cd $out/lib
-      ln -sf libcanonc3pl.so.1.0.0 libcanonc3pl.so
-      ln -sf libcanonc3pl.so.1.0.0 libcanonc3pl.so.1
-    )
-
-    patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGear.so.0.0.0
-    patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.1.0.0
-
-    patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/c3pldrv
-
-    # c3pldrv is programmed with fixed paths that point to "/usr/{bin,lib.share}/..."
-    # preload32 wrappes all necessary function calls to redirect the fixed paths
-    # into $out.
-    mkdir -p $out/libexec
-    preload32=$out/libexec/libpreload32.so
-    ${i686_NIX_GCC}/bin/gcc -shared ${./preload.c} -o $preload32 -ldl -DOUT=\"$out\" -fPIC
-    wrapProgram "$out/bin/c3pldrv" \
-      --set PRELOAD_DEBUG 1 \
-      --set LD_PRELOAD $preload32 \
-      --prefix LD_LIBRARY_PATH : "$out/lib32"
-
-
-
-    ##
-    ## cndrvcups-lb buildPhase
-    ##
-
-    ( cd cndrvcups-lb-${version}/buftool
-      ./autogen.sh --prefix=$out --libdir=$out/lib --enable-progpath=$out/bin --enable-static
-      make
+      install -m 644 *.usb-quirks $out/share/usb
     )
-
-    ( cd cndrvcups-lb-${version}/pstoufr2cpca
-      ./autogen.sh --prefix=$out --libdir=$out/lib
-      make
-    )
-
-    ##
-    ## cndrvcups-lb installPhase
-    ##
-
-    ( cd cndrvcups-lb-${version}/pstoufr2cpca
+    (
+      cd cnrdrvcups-lb-${version}
+      ./allgen.sh
       make install
-    )
-
-    ( cd cndrvcups-lb-${version}/libs
-      chmod 755 *
-      mkdir -p $out/lib32
-      mkdir -p $out/bin
-      cp libcanonufr2.la $out/lib32
-      cp libcanonufr2.so.1.0.0 $out/lib32
-      cp libufr2filter.so.1.0.0 $out/lib32
-      cp libEnoJBIG.so.1.0.0 $out/lib32
-      cp libEnoJPEG.so.1.0.0 $out/lib32
-      cp libcaiocnpkbidi.so.1.0.0 $out/lib32
-      cp libcnlbcm.so.1.0 $out/lib32
-
-      cp cnpkmoduleufr2 $out/bin #maybe needs setuid 4755
-      cp cnpkbidi $out/bin
-    )
 
-    ( cd $out/lib32
-      ln -sf libcanonufr2.so.1.0.0 libcanonufr2.so
-      ln -sf libcanonufr2.so.1.0.0 libcanonufr2.so.1
-      ln -sf libufr2filter.so.1.0.0 libufr2filter.so
-      ln -sf libufr2filter.so.1.0.0 libufr2filter.so.1
-      ln -sf libEnoJBIG.so.1.0.0 libEnoJBIG.so
-      ln -sf libEnoJBIG.so.1.0.0 libEnoJBIG.so.1
-      ln -sf libEnoJPEG.so.1.0.0 libEnoJPEG.so
-      ln -sf libEnoJPEG.so.1.0.0 libEnoJPEG.so.1
-      ln -sf libcaiocnpkbidi.so.1.0.0 libcaiocnpkbidi.so
-      ln -sf libcaiocnpkbidi.so.1.0.0 libcaiocnpkbidi.so.1
-      ln -sf libcnlbcm.so.1.0 libcnlbcm.so.1
-      ln -sf libcnlbcm.so.1.0 libcnlbcm.so
+      mkdir -p $out/share/cups/model
+      install -m 644 ppd/*.ppd $out/share/cups/model/
     )
+    (
+      cd lib
+      mkdir -p $out/lib32
+      install -m 755 libs32/intel/libColorGearCufr2.so.2.0.0 $out/lib32
+      install -m 755 libs32/intel/libcaepcmufr2.so.1.0 $out/lib32
+      install -m 755 libs32/intel/libcaiocnpkbidir.so.1.0.0 $out/lib32
+      install -m 755 libs32/intel/libcaiousb.so.1.0.0 $out/lib32
+      install -m 755 libs32/intel/libcaiowrapufr2.so.1.0.0 $out/lib32
+      install -m 755 libs32/intel/libcanon_slimufr2.so.1.0.0 $out/lib32
+      install -m 755 libs32/intel/libcanonufr2r.so.1.0.0 $out/lib32
+      install -m 755 libs32/intel/libcnaccm.so.1.0 $out/lib32
+      install -m 755 libs32/intel/libcnlbcmr.so.1.0 $out/lib32
+      install -m 755 libs32/intel/libcnncapcmr.so.1.0 $out/lib32
+      install -m 755 libs32/intel/libufr2filterr.so.1.0.0 $out/lib32
+
+      mkdir -p $out/lib
+      install -m 755 libs64/intel/libColorGearCufr2.so.2.0.0 $out/lib
+      install -m 755 libs64/intel/libcaepcmufr2.so.1.0 $out/lib
+      install -m 755 libs64/intel/libcaiocnpkbidir.so.1.0.0 $out/lib
+      install -m 755 libs64/intel/libcaiousb.so.1.0.0 $out/lib
+      install -m 755 libs64/intel/libcaiowrapufr2.so.1.0.0 $out/lib
+      install -m 755 libs64/intel/libcanon_slimufr2.so.1.0.0 $out/lib
+      install -m 755 libs64/intel/libcanonufr2r.so.1.0.0 $out/lib
+      install -m 755 libs64/intel/libcnaccm.so.1.0 $out/lib
+      install -m 755 libs64/intel/libcnlbcmr.so.1.0 $out/lib
+      install -m 755 libs64/intel/libcnncapcmr.so.1.0 $out/lib
+      install -m 755 libs64/intel/libufr2filterr.so.1.0.0 $out/lib
+
+      install -m 755 libs64/intel/cnpdfdrv $out/bin
+      install -m 755 libs64/intel/cnpkbidir $out/bin
+      install -m 755 libs64/intel/cnpkmoduleufr2r $out/bin
+      install -m 755 libs64/intel/cnrsdrvufr2 $out/bin
+      install -m 755 libs64/intel/cnsetuputil2 $out/bin/cnsetuputil2
+
+      mkdir -p $out/share/cnpkbidir
+      install -m 644 libs64/intel/cnpkbidir_info* $out/share/cnpkbidir
 
-    ( cd cndrvcups-lb-${version}
-      chmod 644 data/CnLB*
-      chmod 644 libs/cnpkbidi_info*
-      chmod 644 libs/ThLB*
-      mkdir -p $out/share/caepcm
-      mkdir -p $out/share/cnpkbidi
       mkdir -p $out/share/ufr2filter
-      cp data/CnLB* $out/share/caepcm
-      cp libs/cnpkbidi_info* $out/share/cnpkbidi
-      cp libs/ThLB* $out/share/ufr2filter
+      install -m 644 libs64/intel/ThLB* $out/share/ufr2filter
+    )
+
+    (
+      cd $out/lib32
+      ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so
+      ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so.1
+      ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so
+      ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so.1
+      ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so
+      ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so.1
+      ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so
+      ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so.1
+
+      patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${stdenv_32bit.glibc.out}/lib:${pkgsi686Linux.libxml2.out}/lib:$out/lib32" libcanonufr2r.so.1.0.0
+      patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${stdenv_32bit.glibc.out}/lib" libcaepcmufr2.so.1.0
+      patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${stdenv_32bit.glibc.out}/lib" libColorGearCufr2.so.2.0.0
+    )
+
+    (
+      cd $out/lib
+      ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so
+      ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so.1
+      ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so
+      ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so.1
+      ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so
+      ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so.1
+      ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so
+      ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so.1
+
+      patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64:$out/lib" libcanonufr2r.so.1.0.0
+      patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" libcaepcmufr2.so.1.0
+      patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" libColorGearCufr2.so.2.0.0
+    )
+
+    (
+      cd $out/bin
+      patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" cnsetuputil2
+      patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" cnpdfdrv
+      patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64:$out/lib" cnpkbidir
+      patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64:$out/lib" cnrsdrvufr2
+
+      mv cnsetuputil2 cnsetuputil2.wrapped
+      echo "#!${runtimeShell} -e" > cnsetuputil2
+      echo "exec ${proot}/bin/proot -b $out/usr/share/cnsetuputil2:/usr/share/cnsetuputil2 -b ${coreutils}/bin/ls:/bin/ls -b ${cups}/share:/usr/share/cups $out/bin/cnsetuputil2.wrapped" > cnsetuputil2
+      chmod +x cnsetuputil2
+    )
+
+    (
+      cd lib/data/ufr2
+      mkdir -p $out/share/caepcm
+      install -m 644 *.ICC $out/share/caepcm
+      install -m 644 *.icc $out/share/caepcm
+      install -m 644 *.PRF $out/share/caepcm
+      install -m 644 CnLB* $out/share/caepcm
     )
 
-    mkdir -p $out/share/cups/model
-    install -c -m 644 cndrvcups-lb-${version}/ppd/CN*.ppd $out/share/cups/model/
-
-    patchelf --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/lib32/libcanonufr2.so.1.0.0
-
-    patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/cnpkmoduleufr2
-    patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/bin/cnpkbidi
+    (
+      cd cnrdrvcups-utility-${version}/data
+      mkdir -p $out/usr/share/cnsetuputil2
+      install -m 644 cnsetuputil* $out/usr/share/cnsetuputil2
+    )
 
     makeWrapper "${ghostscript}/bin/gs" "$out/bin/gs" \
       --prefix LD_LIBRARY_PATH ":" "$out/lib" \
@@ -233,7 +212,7 @@ stdenv.mkDerivation {
     homepage = "http://www.canon.com/";
     license = licenses.unfree;
     maintainers = with maintainers; [
-      kylesferrazza
+      # please consider maintaining if you are updating this package
     ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/cups/drivers/canon/preload.c b/nixpkgs/pkgs/misc/cups/drivers/canon/preload.c
deleted file mode 100644
index f3a30063a6e3..000000000000
--- a/nixpkgs/pkgs/misc/cups/drivers/canon/preload.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * LD_PRELOAD trick to make c3pldrv handle the absolute path to /usr/{bin,lib,share)}.
- * As c3pldrv is a 32 bit executable, /lib will be rewritten to /lib32.
- *
- * Usage:
- *   gcc -shared -fPIC -DOUT="$out" preload.c -o preload.so -ldl
- *   LD_PRELOAD=$PWD/preload.so ./c3pldrv
- */
-
-#define _GNU_SOURCE
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <dlfcn.h>
-#include <limits.h>
-
-#ifndef OUT
-#error Missing OUT define - path to the installation directory.
-#endif
-
-typedef void *(*dlopen_func_t)(const char *filename, int flag);
-typedef int (*open_func_t)(const char *pathname, int flags, ...);
-typedef int (*execv_func_t)(const char *path, char *const argv[]);
-
-
-void *dlopen(const char *filename, int flag)
-{
-	dlopen_func_t orig_dlopen;
-	const char *new_filename;
-	char buffer[PATH_MAX];
-
-	orig_dlopen = (dlopen_func_t)dlsym(RTLD_NEXT, "dlopen");
-
-	new_filename = filename;
-	if (strncmp("/usr/lib", filename, 8) == 0) {
-		snprintf(buffer, PATH_MAX, OUT "/lib32%s", filename+8);
-		buffer[PATH_MAX-1] = '\0';
-		new_filename = buffer;
-	}
-	
-	return orig_dlopen(new_filename, flag);
-}
-
-int open(const char *pathname, int flags, ...)
-{
-	open_func_t orig_open;
-	const char *new_pathname;
-	char buffer[PATH_MAX];
-
-	orig_open = (open_func_t)dlsym(RTLD_NEXT, "open");
-
-	new_pathname = pathname;
-	if (strncmp("/usr/share", pathname, 10) == 0) {
-		snprintf(buffer, PATH_MAX, OUT "%s", pathname+4);
-		buffer[PATH_MAX-1] = '\0';
-		new_pathname = buffer;
-	}
-	
-	return orig_open(new_pathname, flags);
-}
-
-int execv(const char *path, char *const argv[])
-{
-	execv_func_t orig_execv;
-	const char *new_path;
-	char buffer[PATH_MAX];
-
-	orig_execv = (execv_func_t)dlsym(RTLD_NEXT, "execv");
-
-	new_path = path;
-	if (strncmp("/usr/bin", path, 8) == 0) {
-		snprintf(buffer, PATH_MAX, OUT "%s", path+4);
-		buffer[PATH_MAX-1] = '\0';
-		new_path = buffer;
-	}
-	
-	return orig_execv(new_path, argv);
-}
-
diff --git a/nixpkgs/pkgs/misc/cups/drivers/hl1110/default.nix b/nixpkgs/pkgs/misc/cups/drivers/hl1110/default.nix
index 916ac32c2e9b..768256e816a4 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/hl1110/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/hl1110/default.nix
@@ -17,7 +17,8 @@ lprdeb = fetchurl {
 };
   in
 stdenv.mkDerivation {
-  name = "cups-brother-hl1110";
+  pname = "cups-brother-hl1110";
+  inherit version;
 
   srcs = [ lprdeb cupssrc cupsdeb ];
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/misc/cups/drivers/hl1210w/default.nix b/nixpkgs/pkgs/misc/cups/drivers/hl1210w/default.nix
index 975e07aa6c3f..abdc5b061ac0 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/hl1210w/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/hl1210w/default.nix
@@ -12,7 +12,8 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "cups-brother-hl1210W";
+  pname = "cups-brother-hl1210W";
+  inherit version;
 
   srcs = [ lprdeb cupsdeb ];
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/misc/cups/drivers/hl3140cw/default.nix b/nixpkgs/pkgs/misc/cups/drivers/hl3140cw/default.nix
index 255fae09c7a7..fc6a06535ebe 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/hl3140cw/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/hl3140cw/default.nix
@@ -17,7 +17,8 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "cups-brother-hl3140cw";
+  pname = "cups-brother-hl3140cw";
+  inherit version;
   nativeBuildInputs = [ makeWrapper dpkg ];
   buildInputs = [ cups ghostscript a2ps ];
 
diff --git a/nixpkgs/pkgs/misc/cups/drivers/hll2340dw/default.nix b/nixpkgs/pkgs/misc/cups/drivers/hll2340dw/default.nix
index e61d3ace5f15..5704cb6ccda4 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/hll2340dw/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/hll2340dw/default.nix
@@ -16,7 +16,8 @@ let
 
 in
 stdenv.mkDerivation {
-  name = "cups-brother-hll2340dw";
+  pname = "cups-brother-hll2340dw";
+  inherit version;
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ cups ghostscript dpkg a2ps ];
diff --git a/nixpkgs/pkgs/misc/cups/filters.nix b/nixpkgs/pkgs/misc/cups/filters.nix
index 98f5880f8995..a20e3b71b093 100644
--- a/nixpkgs/pkgs/misc/cups/filters.nix
+++ b/nixpkgs/pkgs/misc/cups/filters.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "cups-filters";
-  version = "1.28.10";
+  version = "1.28.11";
 
   src = fetchurl {
     url = "https://openprinting.org/download/cups-filters/${pname}-${version}.tar.xz";
-    sha256 = "sha256-z4yQRpTETPaJtXJORtI9qa5RJdVDdLNAxkIHfMKcqDc=";
+    sha256 = "sha256-KYbLSNE0Db5XnELAjCqINYem2+WUNuQi9BhMzQqWZm0=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
diff --git a/nixpkgs/pkgs/misc/drivers/epson-201401w/default.nix b/nixpkgs/pkgs/misc/drivers/epson-201401w/default.nix
new file mode 100644
index 000000000000..cffa631cfe33
--- /dev/null
+++ b/nixpkgs/pkgs/misc/drivers/epson-201401w/default.nix
@@ -0,0 +1,67 @@
+{ lib, stdenv, fetchurl, rpmextract, autoreconfHook, file, libjpeg, cups }:
+
+let
+  version = "1.0.0";
+  filterVersion = "1.0.0";
+in stdenv.mkDerivation {
+  pname = "epson-201401w";
+  inherit version;
+
+  src = fetchurl {
+    # NOTE: Don't forget to update the webarchive link too!
+    urls = [
+      "https://download3.ebz.epson.net/dsc/f/03/00/03/45/41/92e9c9254f0ee4230a069545ba27ec2858a2c457/epson-inkjet-printer-201401w-1.0.0-1lsb3.2.src.rpm"
+      "https://web.archive.org/web/20200725175832/https://download3.ebz.epson.net/dsc/f/03/00/03/45/41/92e9c9254f0ee4230a069545ba27ec2858a2c457/epson-inkjet-printer-201401w-1.0.0-1lsb3.2.src.rpm"
+    ];
+    sha256 = "0c60m1sd59s4sda38dc5nniwa7dh1b0kv1maajr0x9d38gqlyk3x";
+  };
+  patches = [ ./fixbuild.patch ];
+
+  nativeBuildInputs = [ rpmextract autoreconfHook file ];
+
+  buildInputs = [ libjpeg cups ];
+
+  unpackPhase = ''
+    rpmextract $src
+    tar -zxf epson-inkjet-printer-201401w-${version}.tar.gz
+    tar -zxf epson-inkjet-printer-filter-${filterVersion}.tar.gz
+    for ppd in epson-inkjet-printer-201401w-${version}/ppds/*; do
+      substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201401w" "$out"
+      substituteInPlace $ppd --replace "/cups/lib" "/lib/cups"
+    done
+    cd epson-inkjet-printer-filter-${filterVersion}
+  '';
+
+  preConfigure = ''
+    chmod +x configure
+  '';
+
+  postInstall = ''
+    cd ../epson-inkjet-printer-201401w-${version}
+    cp -a lib64 resource watermark $out
+    mkdir -p $out/share/cups/model/epson-inkjet-printer-201401w
+    cp -a ppds $out/share/cups/model/epson-inkjet-printer-201401w/
+    cp -a Manual.txt $out/doc/
+    cp -a README $out/doc/README.driver
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.openprinting.org/driver/epson-201401w";
+    description =
+      "Epson printer driver (L456, L455, L366, L365, L362, L360, L312, L310, L222, L220, L132, L130)";
+    longDescription = ''
+      This software is a filter program used with the Common UNIX Printing
+      System (CUPS) under Linux. It supplies high quality printing with
+      Seiko Epson Color Ink Jet Printers.
+
+      To use the driver adjust your configuration.nix file:
+        services.printing = {
+          enable = true;
+          drivers = [ pkgs.epson-201401w ];
+        };
+    '';
+    license = with licenses; [ lgpl21 epson ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lunarequest ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/drivers/epson-201401w/fixbuild.patch b/nixpkgs/pkgs/misc/drivers/epson-201401w/fixbuild.patch
new file mode 100644
index 000000000000..4baa029a5739
--- /dev/null
+++ b/nixpkgs/pkgs/misc/drivers/epson-201401w/fixbuild.patch
@@ -0,0 +1,101 @@
+diff --git a/src/pagemanager/pagemanager.c b/src/pagemanager/pagemanager.c
+index 029e6d3..3c1f450 100644
+--- a/src/pagemanager/pagemanager.c
++++ b/src/pagemanager/pagemanager.c
+@@ -22,7 +22,7 @@
+ #include "epcgdef.h"
+ #include "debuglog.h"
+ #include "memory.h"
+-#include "raster.h"
++#include "raster-helper.h"
+ #include "pagemanager.h"
+
+ extern int JobCanceled;
+@@ -45,7 +45,7 @@ fetchRaster(EpsPageManager *pageManager)
+ 	int error = 0;
+ 	int did_fetch = 0;
+ 	int read_bytes = 0;
+-	int nraster;
++	size_t nraster;
+
+ 	while (error == 0 && did_fetch == 0 && JobCanceled == 0) {
+ 		eps_raster_fetch(privateData->raster_h, NULL, 0, 0, &status);
+@@ -212,7 +212,7 @@ int pageManagerGetPageRegion(EpsPageManager *pageManager, EpsPageRegion *pageReg
+ 	return EPS_OK;
+ }
+
+-int pageManagerGetRaster(EpsPageManager *pageManager, char *buf, int bufSize)
++size_t pageManagerGetRaster(EpsPageManager *pageManager, char *buf, int bufSize)
+ {
+ 	PageManagerPrivateData  *privateData = NULL;
+ 	int error = EPS_OK;
+diff --git a/src/pagemanager/pagemanager.h b/src/pagemanager/pagemanager.h
+index 87fbbd5..c9743fb 100644
+--- a/src/pagemanager/pagemanager.h
++++ b/src/pagemanager/pagemanager.h
+@@ -31,7 +31,7 @@ extern "C"
+ #define	EPS_ERROR	-1
+ #define	EPS_OK		0
+
+-typedef int (*EpsRasterSource)(char *buf, int bufSize);
++typedef size_t (*EpsRasterSource)(char *buf, int bufSize);
+
+ typedef struct {
+ 	EpsRasterSource		rasterSource;
+@@ -47,7 +47,7 @@ typedef struct {
+ EpsPageManager* pageManagerCreate(EpsPageRegion pageRegion, EpsFilterPrintOption filterPrintOption, EpsRasterSource rasterSource);
+ void pageManagerDestroy(EpsPageManager *pageManager);
+ int pageManagerGetPageRegion(EpsPageManager *pageManager, EpsPageRegion *pageRegion);
+-int pageManagerGetRaster(EpsPageManager *pageManager, char *buf, int bufSize);
++size_t pageManagerGetRaster(EpsPageManager *pageManager, char *buf, int bufSize);
+ int pageManagerIsNextPage(EpsPageManager *pageManager);
+
+ #ifdef __cplusplus
+diff --git a/src/raster/raster.c b/src/raster/raster.c
+index 7e4946b..dd5aef6 100644
+--- a/src/raster/raster.c
++++ b/src/raster/raster.c
+@@ -218,7 +218,7 @@ eps_raster_init (RASTER * handle, EpsRasterOpt * data, EpsRasterPipeline * pipel
+
+ /* if raster_p equals NULL means that it is need to flush a page. */
+ int
+-eps_raster_print (RASTER handle, char * raster_p, int raster_bytes, int pixel_num, int * outraster)
++eps_raster_print (RASTER handle, char * raster_p, int raster_bytes, int pixel_num, size_t * outraster)
+ {
+ 	EpsRaster * raster = (EpsRaster *) handle;
+ 	EpsRasterPipeline * pipeline = NULL;
+diff --git a/src/raster/raster.h b/src/raster/raster.h
+index 9be0977..cc5054d 100644
+--- a/src/raster/raster.h
++++ b/src/raster/raster.h
+@@ -143,7 +143,7 @@ typedef enum {
+ } EpsRasterFetchStatus;
+
+ int eps_raster_init (RASTER *, EpsRasterOpt *, EpsRasterPipeline *);
+-int eps_raster_print (RASTER, char *, int, int, int *);
++int eps_raster_print (RASTER, char *, int, int, size_t *);
+ int eps_raster_fetch (RASTER, char *, int, int, EpsRasterFetchStatus *);
+ int eps_raster_free (RASTER);
+
+diff --git a/src/raster_to_epson.c b/src/raster_to_epson.c
+index 6e621c8..a0811d6 100644
+--- a/src/raster_to_epson.c
++++ b/src/raster_to_epson.c
+@@ -33,7 +33,7 @@
+ #include <cups/ppd.h>
+ #include <cups/raster.h>
+
+-#include "raster.h"
++#include "raster-helper.h"
+ #include "memory.h"
+ #include "raster_to_epson.h"
+ #include "pagemanager.h"
+@@ -75,7 +75,7 @@ static int page_no = 0;
+ static int pageHeight = 0;
+ #endif
+
+-int rasterSource(char *buf, int bufSize)
++size_t rasterSource(char *buf, int bufSize)
+ {
+ 	int readBytes = 0;
+ 	if (JobCanceled == 0) {
diff --git a/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix b/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
index 44c6e8a4c610..6f17bcbf412b 100644
--- a/nixpkgs/pkgs/misc/drivers/epson-escpr2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix b/nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix
deleted file mode 100644
index 07a9f807772b..000000000000
--- a/nixpkgs/pkgs/misc/drivers/hplip/3.16.11.nix
+++ /dev/null
@@ -1,192 +0,0 @@
-{ lib, stdenv, fetchurl, substituteAll
-, pkg-config
-, cups, libjpeg, libusb1, python2Packages, sane-backends, dbus, usbutils
-, net-snmp, openssl, nettools
-, bash, util-linux
-, qtSupport ? true
-, withPlugin ? false
-}:
-
-let
-
-  name = "hplip-${version}";
-  version = "3.16.11";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/hplip/${name}.tar.gz";
-    sha256 = "094vkyr0rjng72m13dgr824cdl7q20x23qjxzih4w7l9njn0rqpn";
-  };
-
-  plugin = fetchurl {
-    url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
-    sha256 = "1y3wdax2wb6kdd8bi40wl7v9s8ffyjz95bz42sjcpzzddmlhcaxg";
-  };
-
-  hplipState = substituteAll {
-    inherit version;
-    src = ./hplip.state;
-  };
-
-  hplipPlatforms = {
-    i686-linux    = "x86_32";
-    x86_64-linux  = "x86_64";
-    armv6l-linux  = "arm32";
-    armv7l-linux  = "arm32";
-    aarch64-linux = "arm64";
-  };
-
-  hplipArch = hplipPlatforms.${stdenv.hostPlatform.system}
-    or (throw "HPLIP not supported on ${stdenv.hostPlatform.system}");
-
-  pluginArches = [ "x86_32" "x86_64" "arm32" "arm64" ];
-
-in
-
-assert withPlugin -> builtins.elem hplipArch pluginArches
-  || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
-
-python2Packages.buildPythonApplication {
-  inherit name src;
-  format = "other";
-
-  buildInputs = [
-    libjpeg
-    cups
-    libusb1
-    sane-backends
-    dbus
-    net-snmp
-    openssl
-  ];
-
-  nativeBuildInputs = [
-    pkg-config
-  ];
-
-  pythonPath = with python2Packages; [
-    dbus
-    pillow
-    pygobject2
-    reportlab
-    usbutils
-  ] ++ lib.optionals qtSupport [
-    pyqt4
-  ];
-
-  makeWrapperArgs = [ "--prefix" "PATH" ":" "${nettools}/bin" ];
-
-  prePatch = ''
-    # HPLIP hardcodes absolute paths everywhere. Nuke from orbit.
-    find . -type f -exec sed -i \
-      -e s,/etc/hp,$out/etc/hp, \
-      -e s,/etc/sane.d,$out/etc/sane.d, \
-      -e s,/usr/include/libusb-1.0,${libusb1.dev}/include/libusb-1.0, \
-      -e s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor, \
-      -e s,/usr/lib/systemd/system,$out/lib/systemd/system, \
-      -e s,/var/lib/hp,$out/var/lib/hp, \
-      {} +
-  '';
-
-  preConfigure = ''
-    export configureFlags="$configureFlags
-      --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
-    "
-
-    export makeFlags="
-      halpredir=$out/share/hal/fdi/preprobe/10osvendor
-      rulesdir=$out/etc/udev/rules.d
-      policykit_dir=$out/share/polkit-1/actions
-      policykit_dbus_etcdir=$out/etc/dbus-1/system.d
-      policykit_dbus_sharedir=$out/share/dbus-1/system-services
-      hplip_confdir=$out/etc/hp
-      hplip_statedir=$out/var/lib/hp
-    "
-  '';
-
-  enableParallelBuilding = true;
-
-  postInstall = lib.optionalString withPlugin ''
-    sh ${plugin} --noexec --keep
-    cd plugin_tmp
-
-    cp plugin.spec $out/share/hplip/
-
-    mkdir -p $out/share/hplip/data/firmware
-    cp *.fw.gz $out/share/hplip/data/firmware
-
-    mkdir -p $out/share/hplip/data/plugins
-    cp license.txt $out/share/hplip/data/plugins
-
-    mkdir -p $out/share/hplip/prnt/plugins
-    for plugin in lj hbpl1; do
-      cp $plugin-${hplipArch}.so $out/share/hplip/prnt/plugins
-      ln -s $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so \
-        $out/share/hplip/prnt/plugins/$plugin.so
-    done
-
-    mkdir -p $out/share/hplip/scan/plugins
-    for plugin in bb_soap bb_marvell bb_soapht fax_marvell; do
-      cp $plugin-${hplipArch}.so $out/share/hplip/scan/plugins
-      ln -s $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so \
-        $out/share/hplip/scan/plugins/$plugin.so
-    done
-
-    mkdir -p $out/var/lib/hp
-    cp ${hplipState} $out/var/lib/hp/hplip.state
-
-    mkdir -p $out/etc/sane.d/dll.d
-    mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf
-  '';
-
-  # The installed executables are just symlinks into $out/share/hplip,
-  # but wrapPythonPrograms ignores symlinks. We cannot replace the Python
-  # modules in $out/share/hplip with wrapper scripts because they import
-  # each other as libraries. Instead, we emulate wrapPythonPrograms by
-  # 1. Calling patchPythonProgram on the original script in $out/share/hplip
-  # 2. Making our own wrapper pointing directly to the original script.
-  dontWrapPythonPrograms = true;
-  preFixup = ''
-    buildPythonPath "$out $pythonPath"
-
-    for bin in $out/bin/*; do
-      py=$(readlink -m $bin)
-      rm $bin
-      echo "patching \`$py'..."
-      patchPythonScript "$py"
-      echo "wrapping \`$bin'..."
-      makeWrapper "$py" "$bin" \
-          --prefix PATH ':' "$program_PATH" \
-          --set PYTHONNOUSERSITE "true" \
-          $makeWrapperArgs
-    done
-  '';
-
-  postFixup = ''
-    substituteInPlace $out/etc/hp/hplip.conf --replace /usr $out
-    # Patch udev rules:
-    # with plugin, they upload firmware to printers,
-    # without plugin, they complain about the missing plugin.
-    substituteInPlace $out/etc/udev/rules.d/56-hpmud.rules \
-      --replace {,${bash}}/bin/sh \
-      --replace /usr/bin/nohup "" \
-      --replace {,${util-linux}/bin/}logger \
-      --replace {/usr,$out}/bin
-  '';
-
-  meta = with lib; {
-    description = "Print, scan and fax HP drivers for Linux";
-    homepage = "http://hplipopensource.com/";
-    downloadPage = "https://sourceforge.net/projects/hplip/files/hplip/";
-    license = if withPlugin
-      then licenses.unfree
-      else with licenses; [ mit bsd2 gpl2Plus ];
-    platforms = [ "i686-linux" "x86_64-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ ttuegel ];
-  };
-}
diff --git a/nixpkgs/pkgs/misc/drivers/hplip/default.nix b/nixpkgs/pkgs/misc/drivers/hplip/default.nix
index adfe889e02d9..a7ee870a74a6 100644
--- a/nixpkgs/pkgs/misc/drivers/hplip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/drivers/hplip/image-processor.patch b/nixpkgs/pkgs/misc/drivers/hplip/image-processor.patch
deleted file mode 100644
index 30df1d29d97e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix b/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix
index 64a38239a9b0..d9544e4b330d 100644
--- a/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/postscript-lexmark/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    homepage = "http://www.openprinting.org/driver/Postscript-Lexmark/";
+    homepage = "https://www.openprinting.org/driver/Postscript-Lexmark/";
     description = "Lexmark Postscript Drivers";
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/misc/drivers/utsushi/default.nix b/nixpkgs/pkgs/misc/drivers/utsushi/default.nix
index dcb04f5ce578..b802431d4e0e 100644
--- a/nixpkgs/pkgs/misc/drivers/utsushi/default.nix
+++ b/nixpkgs/pkgs/misc/drivers/utsushi/default.nix
@@ -33,6 +33,10 @@ in stdenv.mkDerivation rec {
       url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/iscan/files/iscan-3.61.0-imagemagick-7.patch?id=985c92af4730d864e86fa87746185b0246e9db93";
       sha256 = "sha256-dfdVMp3ZfclYeRxYjMIvl+ZdlLn9S+IwQ+OmlHW8318=";
     })
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/b3046e0e78b95440f135fcadb19a9eb531729a58/trunk/boost-1.74.patch";
+      sha256 = "sha256-W8R1l7ZPcsfiIy1QBJvh0M8du0w1cnTg3PyAz65v4rE=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix b/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
index 72c342e7b6a9..f81e81ecbea0 100644
--- a/nixpkgs/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/drivers/xboxdrv/fix-60-sec-delay.patch b/nixpkgs/pkgs/misc/drivers/xboxdrv/fix-60-sec-delay.patch
new file mode 100644
index 000000000000..da543d2cfa01
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/drivers/xboxdrv/scons-py3.patch b/nixpkgs/pkgs/misc/drivers/xboxdrv/scons-py3.patch
new file mode 100644
index 000000000000..4aa6fa619317
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/drivers/xboxdrv/scons-v4.2.0.patch b/nixpkgs/pkgs/misc/drivers/xboxdrv/scons-v4.2.0.patch
new file mode 100644
index 000000000000..04b05e8d6ffc
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/drivers/xboxdrv/xboxdrvctl-py3.patch b/nixpkgs/pkgs/misc/drivers/xboxdrv/xboxdrvctl-py3.patch
new file mode 100644
index 000000000000..71d8762cb9ca
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/bsod/default.nix b/nixpkgs/pkgs/misc/emulators/bsod/default.nix
deleted file mode 100644
index 869440856f9a..000000000000
--- a/nixpkgs/pkgs/misc/emulators/bsod/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{lib, stdenv, fetchurl, ncurses}:
-
-stdenv.mkDerivation rec {
-  pname = "bsod";
-  version = "0.1";
-
-  src = fetchurl {
-    url = "https://www.vanheusden.com/bsod/bsod-${version}.tgz";
-    sha256 = "0hqwacazyq5rhc04j8w8w0j0dgb6ca8k66c9lxf6bsyi6wvbhvmd";
-  };
-
-  buildInputs = [ ncurses ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp bsod $out/bin
-  '';
-
-  meta = {
-    description = "Blue Screen Of Death emulator for Unix";
-    longDescription = "
-      This program will let you UNIX user experience the authentic
-      microsoft windows experience.  Bsod displays the famous windows xp
-      blue screen of death on the console.  Errors and drivers causing the
-      error are selected randomly from a large set of examples.";
-    homepage = "http://www.vanheusden.com/bsod/";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.antono ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/misc/emulators/dosbox-staging/default.nix b/nixpkgs/pkgs/misc/emulators/dosbox-staging/default.nix
deleted file mode 100644
index 3322c43a0c54..000000000000
--- a/nixpkgs/pkgs/misc/emulators/dosbox-staging/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, fetchFromGitHub, stdenv
-, gtest, makeWrapper, meson, ninja, pkg-config
-, alsa-lib, fluidsynth, libGL, libGLU, libogg, libpng, munt, opusfile, SDL2, SDL2_net
-}:
-
-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 = [ alsa-lib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ];
-
-  hardeningDisable = [ "format" ];
-
-  mesonFlags = [
-    "--buildtype=release"
-    "-Ddefault_library=static"
-    "-Db_asneeded=true"
-    "-Dtry_static_libs=png"
-    "-Dfluidsynth:enable-floats=true"
-    "-Dfluidsynth:try-static-deps=true"
-  ];
-
-  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; {
-    description = "A modernized DOS emulator";
-    homepage = "https://dosbox-staging.github.io/";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ joshuafern ];
-    platforms = platforms.unix;
-    priority = 101;
-  };
-}
diff --git a/nixpkgs/pkgs/misc/emulators/dosbox/default.nix b/nixpkgs/pkgs/misc/emulators/dosbox/default.nix
deleted file mode 100644
index ba4f88dbcad0..000000000000
--- a/nixpkgs/pkgs/misc/emulators/dosbox/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU, libGL, libpng, graphicsmagick }:
-
-stdenv.mkDerivation rec {
-  pname = "dosbox";
-  version = "0.74-3";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/dosbox/dosbox-${version}.tar.gz";
-    sha256 = "02i648i50dwicv1vaql15rccv4g8h5blf5g6inv67lrfxpbkvlf0";
-  };
-
-  hardeningDisable = [ "format" ];
-
-  buildInputs = [ SDL SDL_net SDL_sound libGLU libGL libpng ];
-
-  nativeBuildInputs = [ graphicsmagick ];
-
-  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
-
-  desktopItem = makeDesktopItem {
-    name = "dosbox";
-    exec = "dosbox";
-    icon = "dosbox";
-    comment = "x86 emulator with internal DOS";
-    desktopName = "DOSBox";
-    genericName = "DOS emulator";
-    categories = "Emulator;";
-  };
-
-  postInstall = ''
-     mkdir -p $out/share/applications
-     cp ${desktopItem}/share/applications/* $out/share/applications
-
-     mkdir -p $out/share/icons/hicolor/256x256/apps
-     gm convert src/dosbox.ico $out/share/icons/hicolor/256x256/apps/dosbox.png
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = "http://www.dosbox.com/";
-    description = "A DOS emulator";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ matthewbauer ];
-    license = licenses.gpl2;
-  };
-}
diff --git a/nixpkgs/pkgs/misc/emulators/fs-uae/default.nix b/nixpkgs/pkgs/misc/emulators/fs-uae/default.nix
deleted file mode 100644
index eef8c2c32533..000000000000
--- a/nixpkgs/pkgs/misc/emulators/fs-uae/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config
-, gettext, gtk2, SDL2, zlib, glib, openal, libGLU, libGL, lua, freetype, libmpeg2, zip }:
-
-with lib;
-stdenv.mkDerivation rec {
-
-  pname = "fs-uae";
-  version = "3.0.5";
-
-  src = fetchurl {
-    url = "https://fs-uae.net/stable/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1qwzhp34wy7bnd3c0plv11rg9fs5m92rh3ffnr9pn6ng0cpc8vpj";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU libGL lua freetype libmpeg2 zip ];
-
-  meta = {
-    description = "An accurate, customizable Amiga Emulator";
-    longDescription = ''
-      FS-UAE integrates the most accurate Amiga emulation code available
-      from WinUAE. FS-UAE emulates A500, A500+, A600, A1200, A1000, A3000
-      and A4000 models, but you can tweak the hardware configuration and
-      create customized Amigas.
-    '';
-    license = licenses.gpl2Plus;
-    homepage = "https://fs-uae.net";
-    maintainers = with lib; [ maintainers.AndersonTorres ];
-    platforms = [ "i686-linux" "x86_64-linux" ];
-  };
-}
-# TODO: testing and Python GUI support
diff --git a/nixpkgs/pkgs/misc/emulators/rpcs3/update.sh b/nixpkgs/pkgs/misc/emulators/rpcs3/update.sh
deleted file mode 100755
index 05be4dfeda1d..000000000000
--- a/nixpkgs/pkgs/misc/emulators/rpcs3/update.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p gnused jq nix-prefetch-git curl
-
-set -eou pipefail
-
-ROOT="$(dirname "$(readlink -f "$0")")"
-if [[ ! "$(basename $ROOT)" == "rpcs3" || ! -f "$ROOT/default.nix" ]]; then
-    echo "ERROR: Not in the rpcs3 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: "RPCS3", name: "rpcs3") {
-    branch: ref(qualifiedName: "refs/heads/master") {
-      target {
-        oid
-        ... on Commit {
-          history {
-            totalCount
-          }
-        }
-      }
-    }
-
-    tag: refs(refPrefix: "refs/tags/", first: 1, orderBy: {field: TAG_COMMIT_DATE, direction: DESC}) {
-      nodes {
-        name
-      }
-    }
-  }
-}
-EOF
-)
-RPCS3_COMMIT=$(jq -r .data.repository.branch.target.oid <<< "$PAYLOAD")
-RPCS3_MAJORVER=$(jq -r .data.repository.tag.nodes[0].name <<< "$PAYLOAD" | sed 's/^v//g')
-RPCS3_COUNT=$(jq -r .data.repository.branch.target.history.totalCount <<< "$PAYLOAD")
-
-RPCS3_GITVER="$RPCS3_COUNT-${RPCS3_COMMIT::9}"
-echo "INFO: Latest commit is $RPCS3_COMMIT"
-echo "INFO: Latest version is $RPCS3_MAJORVER-$RPCS3_GITVER"
-
-RPCS3_SHA256=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$RPCS3_COMMIT" | jq -r .sha256)
-echo "INFO: SHA256 is $RPCS3_SHA256"
-
-sed -i -E \
-    -e "s/majorVersion\s+.+$/majorVersion = \"${RPCS3_MAJORVER}\";/g" \
-    -e "s/gitVersion\s+.+$/gitVersion = \"${RPCS3_GITVER}\";/g" \
-    -e "s/rev\s*=\s*\"[a-z0-9]+\";$/rev = \"${RPCS3_COMMIT}\";/g" \
-    -e "s/sha256\s*=\s*\"[a-z0-9]+\";$/sha256 = \"${RPCS3_SHA256}\";/g" \
-    "$ROOT/default.nix"
diff --git a/nixpkgs/pkgs/misc/emulators/wine/cert-path.patch b/nixpkgs/pkgs/misc/emulators/wine/cert-path.patch
deleted file mode 100644
index 18a90e1a9af8..000000000000
--- a/nixpkgs/pkgs/misc/emulators/wine/cert-path.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/dlls/crypt32/unixlib.c b/dlls/crypt32/unixlib.c
-index 035f2d936bb..959716d727a 100644
---- a/dlls/crypt32/unixlib.c
-+++ b/dlls/crypt32/unixlib.c
-@@ -24,6 +24,7 @@
- #include "wine/port.h"
- 
- #include <stdarg.h>
-+#include <stdlib.h>
- #include <dirent.h>
- #include <fcntl.h>
- #include <unistd.h>
-@@ -605,6 +606,10 @@ static void load_root_certs(void)
- 
-     for (i = 0; i < ARRAY_SIZE(CRYPT_knownLocations) && list_empty(&root_cert_list); i++)
-         import_certs_from_path( CRYPT_knownLocations[i], TRUE );
-+
-+    char *nix_cert_file = getenv("NIX_SSL_CERT_FILE");
-+    if (nix_cert_file != NULL)
-+        import_certs_from_path(nix_cert_file, TRUE);
- }
- 
- static BOOL WINAPI enum_root_certs( void *buffer, SIZE_T size, SIZE_T *needed )
diff --git a/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix b/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix
deleted file mode 100644
index 3b24584f7e63..000000000000
--- a/nixpkgs/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU, libGL
-, wafHook }:
-
-stdenv.mkDerivation rec {
-  pname = "wxmupen64plus";
-  version = "0.3";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/auria/wxmupen64plus/get/${version}.tar.bz2";
-    sha256 = "1mnxi4k011dd300k35li2p6x4wccwi6im21qz8dkznnz397ps67c";
-  };
-
-  nativeBuildInputs = [ wafHook ];
-  buildInputs = [ python wxGTK29 SDL libX11 libGLU libGL ];
-
-  preConfigure = ''
-    tar xf ${mupen64plus.src}
-    APIDIR=$(eval echo `pwd`/mupen64plus*/source/mupen64plus-core/src/api)
-    export CXXFLAGS="-I${libX11.dev}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\""
-    export LDFLAGS="-lwx_gtk2u_adv-2.9"
-
-    wafConfigureFlagsArray+=("--mupenapi=$APIDIR" "--wxconfig=`type -P wx-config`")
-  '';
-
-  NIX_CFLAGS_COMPILE = "-fpermissive";
-
-  meta = {
-    description = "GUI for the Mupen64Plus 2.0 emulator";
-    license = lib.licenses.gpl2Plus;
-    homepage = "https://bitbucket.org/auria/wxmupen64plus/wiki/Home";
-  };
-}
diff --git a/nixpkgs/pkgs/misc/flashfocus/default.nix b/nixpkgs/pkgs/misc/flashfocus/default.nix
index 6a8786be6eaa..fd93260a4bca 100644
--- a/nixpkgs/pkgs/misc/flashfocus/default.nix
+++ b/nixpkgs/pkgs/misc/flashfocus/default.nix
@@ -9,6 +9,11 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "0cn44hryvz2wl7xklaslxsb3l2i3f8jkgmml0n9v2ks22j5l4r4h";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pyyaml>=5.1,<6.0" "pyyaml>=5.1"
+  '';
+
   nativeBuildInputs = with python3.pkgs; [
     pytest-runner
   ];
diff --git a/nixpkgs/pkgs/misc/ghostscript/default.nix b/nixpkgs/pkgs/misc/ghostscript/default.nix
index 5e27e5573c58..e80ad8a839fb 100644
--- a/nixpkgs/pkgs/misc/ghostscript/default.nix
+++ b/nixpkgs/pkgs/misc/ghostscript/default.nix
@@ -30,22 +30,18 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ghostscript";
-  version = "9.53.3";
+  version = "9.55.0";
 
   src = fetchurl {
     url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9${lib.versions.minor version}${lib.versions.patch version}/${pname}-${version}.tar.xz";
-    sha512 = "2vif3vgxa5wma16yxvhhkymk4p309y5204yykarq94r5rk890556d2lj5w7acnaa2ymkym6y0zd4vq9sy9ca2346igg2c6dxqkjr0zb";
+    sha512 = "27g72152mlwlalg232jxdhaf3ykgmqwi2pccbkwfygql1h9iz40plfbwbs1n0fkvm4zwzg5r9cr8g7w2dxih4jldiidv7rflxdy1is2";
   };
 
   patches = [
     (fetchpatch {
-      url = "https://github.com/ArtifexSoftware/ghostpdl/commit/41ef9a0bc36b9db7115fbe9623f989bfb47bbade.patch";
-      sha256 = "1qpc6q1fpxshqc0mqgg36kng47kgljk50bmr8p7wn21jgfkh7m8w";
-    })
-    (fetchpatch {
-      url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=a9bd3dec9fde";
-      name = "CVE-2021-3781.patch";
-      sha256 = "FvbH7cb3ZDCbNRz9DF0kDmLdF7OWNYk90wv44pimU58=";
+      name = "fix-non-vendored-lcms2-typo.patch";
+      url = "https://github.com/ArtifexSoftware/ghostpdl/commit/830afae5454dea3bff903869d82022306890a96c.patch";
+      sha256 = "1w9yspsgxyabvrw9ld6pv6pb7708c44ihjqvag7qqh9v1lhm48j0";
     })
     ./urw-font-files.patch
     ./doc-no-ref.diff
@@ -88,6 +84,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-system-libtiff"
     "--enable-dynamic"
+    "--without-tesseract"
   ]
   ++ lib.optional x11Support "--with-x"
   ++ lib.optionals cupsSupport [
diff --git a/nixpkgs/pkgs/misc/gnash/0001-fix-build-with-ffmepg-4.patch b/nixpkgs/pkgs/misc/gnash/0001-fix-build-with-ffmepg-4.patch
deleted file mode 100644
index f6316ae972fd..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/misc/gnash/default.nix b/nixpkgs/pkgs/misc/gnash/default.nix
deleted file mode 100644
index fc7148b40489..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/misc/gnuk/generic.nix b/nixpkgs/pkgs/misc/gnuk/generic.nix
index 8d32e9f66d10..2556ff42308f 100644
--- a/nixpkgs/pkgs/misc/gnuk/generic.nix
+++ b/nixpkgs/pkgs/misc/gnuk/generic.nix
@@ -10,9 +10,9 @@
 }:
 
 stdenv.mkDerivation {
-  name = "gnuk-${version}-${device}";
+  pname = "gnuk-${device}";
 
-  inherit src;
+  inherit version src;
 
   nativeBuildInputs = [ gcc-arm-embedded binutils-arm-embedded makeWrapper ];
   buildInputs = with python3Packages; [ python pyusb colorama ];
diff --git a/nixpkgs/pkgs/misc/ite-backlight/default.nix b/nixpkgs/pkgs/misc/ite-backlight/default.nix
new file mode 100644
index 000000000000..033ff0f2055d
--- /dev/null
+++ b/nixpkgs/pkgs/misc/ite-backlight/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, pkgs
+, stdenv
+, ninja
+, libusb1
+, meson
+, boost
+, fetchFromGitHub
+, pkg-config
+, microsoft_gsl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ite-backlight";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "hexagonal-sun";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1hany4bn93mac9qyz97r1l858d48zdvvmn3mabzr3441ivqr9j0a";
+  };
+
+  nativeBuildInputs = [
+    ninja
+    pkg-config
+    meson
+    microsoft_gsl
+  ];
+
+  buildInputs = [
+    boost
+    libusb1
+  ];
+
+  meta = with lib; {
+    description = "Commands to control ite-backlight devices";
+    longDescription = ''
+      This project aims to provide a set of simple utilities for controlling ITE 8291
+      keyboard backlight controllers.
+    '';
+    license = with licenses; [ mit ];
+    homepage = "https://github.com/hexagonal-sun/ite-backlight";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ hexagonal-sun ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/jitsi-meet-prosody/default.nix b/nixpkgs/pkgs/misc/jitsi-meet-prosody/default.nix
index 4edbd70a2211..4ce79f3b16c2 100644
--- a/nixpkgs/pkgs/misc/jitsi-meet-prosody/default.nix
+++ b/nixpkgs/pkgs/misc/jitsi-meet-prosody/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-prosody";
-  version = "1.0.5415";
+  version = "1.0.5675";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "XvW+bAuad1IKJPZzVJBkT7vA2BBDFQBvTWtbyK/in6A=";
+    sha256 = "FrafgJcNF3xv985JJ+xOWPtJZFeElIAaIXWdcgheru0=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/misc/kitty-themes/default.nix b/nixpkgs/pkgs/misc/kitty-themes/default.nix
new file mode 100644
index 000000000000..16bfa3a54b7f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/logging/beats/7.x.nix b/nixpkgs/pkgs/misc/logging/beats/7.x.nix
index 9f5e550d9720..2cecc22cf5df 100644
--- a/nixpkgs/pkgs/misc/logging/beats/7.x.nix
+++ b/nixpkgs/pkgs/misc/logging/beats/7.x.nix
@@ -11,7 +11,7 @@ let beat = package: extraArgs: buildGoModule (rec {
     sha256 = "sha256-9Jl5Xo1iKdOY9ZE5JXKSL4ee+NdsN3KCY2dDYuxlzPI=";
   };
 
-  vendorSha256 = "sha256-tyxyM7RsTHTVVxc9gagPsSvFRaWGTmobKzyv9RODXBk=";
+  vendorSha256 = "sha256-fiqCccS2IAnTzfPfUqY0Wy9uRUuiYNtiVvpAFZJOPVI=";
 
   subPackages = [ package ];
 
diff --git a/nixpkgs/pkgs/misc/mxt-app/default.nix b/nixpkgs/pkgs/misc/mxt-app/default.nix
index df812d516ecc..7695f3cebefd 100644
--- a/nixpkgs/pkgs/misc/mxt-app/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/opensbi/default.nix b/nixpkgs/pkgs/misc/opensbi/default.nix
new file mode 100644
index 000000000000..3a3e9edf93a2
--- /dev/null
+++ b/nixpkgs/pkgs/misc/opensbi/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchFromGitHub
+, withPlatform ? "generic"
+, withPayload ? null
+, withFDT ? null
+}:
+
+stdenv.mkDerivation rec {
+  pname = "opensbi";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "riscv-software-src";
+    repo = "opensbi";
+    rev = "v${version}";
+    sha256 = "sha256-OgzcH+RLU680qF3+lUiWFFbif6YtjIknJriGlRqcOGs=";
+  };
+
+  installFlags = [
+    "I=$(out)"
+  ];
+
+  makeFlags = [
+    "PLATFORM=${withPlatform}"
+  ] ++ lib.optionals (withPayload != null) [
+    "FW_PAYLOAD_PATH=${withPayload}"
+  ] ++ lib.optionals (withFDT != null) [
+    "FW_FDT_PATH=${withFDT}"
+  ];
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  meta = with lib; {
+    description = "RISC-V Open Source Supervisor Binary Interface";
+    homepage = "https://github.com/riscv-software-src/opensbi";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ius nickcao zhaofengli ];
+    platforms = [ "riscv64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/sagetex/default.nix b/nixpkgs/pkgs/misc/sagetex/default.nix
new file mode 100644
index 000000000000..a30f037d9c47
--- /dev/null
+++ b/nixpkgs/pkgs/misc/sagetex/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, texlive
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sagetex";
+  version = "3.6";
+  passthru.tlType = "run";
+
+  src = fetchFromGitHub {
+    owner = "sagemath";
+    repo = "sagetex";
+    rev = "v${version}";
+    sha256 = "8iHcJbaY/dh0vmvYyd6zj1ZbuJRaJGb6bUBK1v4gXWU=";
+  };
+
+  buildInputs = [
+    texlive.combined.scheme-basic
+  ];
+
+  buildPhase = ''
+    make sagetex.sty
+  '';
+
+  installPhase = ''
+    path="$out/tex/latex/sagetex"
+    mkdir -p "$path"
+    cp -va *.sty *.cfg *.def "$path/"
+  '';
+
+  meta = with lib; {
+    description = "Embed code, results of computations, and plots from Sage into LaTeX documents";
+    homepage = "https://github.com/sagemath/sagetex";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ alexnortung ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/misc/scrcpy/default.nix b/nixpkgs/pkgs/misc/scrcpy/default.nix
index 871e5bff6c94..ef1d7b140144 100644
--- a/nixpkgs/pkgs/misc/scrcpy/default.nix
+++ b/nixpkgs/pkgs/misc/scrcpy/default.nix
@@ -10,10 +10,10 @@
 }:
 
 let
-  version = "1.21";
+  version = "1.22";
   prebuilt_server = fetchurl {
     url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
-    sha256 = "sha256-28zKtSPuJnluVeozZSZJ5LevSY7a6ap15NTXhpwKuEg=";
+    sha256 = "sha256-wF0nPux1M8DhBiguAlTPBOf16PDCkgyjlEiGX6sqQZs=";
   };
 in
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9MzOaQj+lR1F+E/yoxbL/HMOOuKOU82zkPVq7x6AH3c=";
+    sha256 = "sha256-bYLvrCw6NNCZqgLWIEObnytgD74cE9pm/Z7dgB8S5x0=";
   };
 
   # postPatch:
@@ -47,7 +47,6 @@ stdenv.mkDerivation rec {
     echo -n > server/meson.build
   '';
 
-  mesonFlags = [ "-Doverride_server_path=${prebuilt_server}" ];
   postInstall = ''
     mkdir -p "$out/share/scrcpy"
     ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server"
diff --git a/nixpkgs/pkgs/misc/screensavers/alock/default.nix b/nixpkgs/pkgs/misc/screensavers/alock/default.nix
index d10082a71e3e..5f0c5ad9e29e 100644
--- a/nixpkgs/pkgs/misc/screensavers/alock/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/alock/default.nix
@@ -2,8 +2,8 @@
 , libX11, pam, libgcrypt, libXrender, imlib2 }:
 
 stdenv.mkDerivation rec {
-  date = "20170720";
-  name = "alock-${date}";
+  pname = "alock";
+  version = "unstable-2017-07-20";
 
   src = fetchgit {
     url = "https://github.com/Arkq/alock";
diff --git a/nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix b/nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix
index d1aa7d9911b2..ff1736c09425 100644
--- a/nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/electricsheep/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "scottdraves";
     repo = pname;
     rev = "37ba0fd692d6581f8fe009ed11c9650cd8174123";
-    sha256 = "1z49l53j1lhk7ahdy96lm9r0pklwpf2i5s6y2l2rn6l4z8dxkjmk";
+    sha256 = "sha256-v/+2dxOY/p6wNAywcFHUAfsZEJw31Syu2MacN/KeyWg=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix b/nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix
index 3e2f4179d8ed..d89ac88684db 100644
--- a/nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix b/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
index b90f75f6a042..5c30040f4912 100644
--- a/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -62,6 +62,5 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ raskin ];
     platforms = lib.platforms.unix; # Once had cygwin problems
     downloadPage = "https://www.jwz.org/xscreensaver/download.html";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/misc/screensavers/xssproxy/default.nix b/nixpkgs/pkgs/misc/screensavers/xssproxy/default.nix
index 5e1c42084137..e9c7eebacc06 100644
--- a/nixpkgs/pkgs/misc/screensavers/xssproxy/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xssproxy/default.nix
@@ -1,14 +1,13 @@
 { lib, stdenv, fetchFromGitHub, glib, pkg-config, xorg, dbus }:
 
-let rev = "1.0.0"; in
-
-stdenv.mkDerivation {
-  name = "xssproxy-${rev}";
+stdenv.mkDerivation rec {
+  pname = "xssproxy";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "timakro";
     repo = "xssproxy";
-    rev = "v${rev}";
+    rev = "v${version}";
     sha256 = "0c83wmipnsdnbihc5niyczs7jrkss2s8n6iwwjdia7hkjzbd0hl7";
   };
 
diff --git a/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix b/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix
index 6908429e21b9..ffb9d0da8570 100644
--- a/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/xtrlock-pam/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, python, pkg-config, xlibsWrapper, pam }:
+{ lib, stdenv, fetchgit, python2, pkg-config, xlibsWrapper, pam }:
 
 stdenv.mkDerivation {
   pname = "xtrlock-pam";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ python xlibsWrapper pam ];
+  buildInputs = [ python2 xlibsWrapper pam ];
 
   configurePhase = ''
     substituteInPlace .config/options.py --replace /usr/include/security/pam_appl.h ${pam}/include/security/pam_appl.h
diff --git a/nixpkgs/pkgs/misc/tmux-plugins/default.nix b/nixpkgs/pkgs/misc/tmux-plugins/default.nix
index b04a54874571..8c39ab3f207f 100644
--- a/nixpkgs/pkgs/misc/tmux-plugins/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/uboot/default.nix b/nixpkgs/pkgs/misc/uboot/default.nix
index 2d234aa9e003..e287066ddb9c 100644
--- a/nixpkgs/pkgs/misc/uboot/default.nix
+++ b/nixpkgs/pkgs/misc/uboot/default.nix
@@ -274,6 +274,13 @@ in {
     filesToInstall = ["u-boot-dtb.bin"];
   };
 
+  ubootOlimexA64Olinuxino = buildUBoot {
+    defconfig = "a64-olinuxino-emmc_defconfig";
+    extraMeta.platforms = ["aarch64-linux"];
+    BL31 = "${armTrustedFirmwareAllwinner}/bl31.bin";
+    filesToInstall = ["u-boot-sunxi-with-spl.bin"];
+  };
+
   ubootOrangePiPc = buildUBoot {
     defconfig = "orangepi_pc_defconfig";
     extraMeta.platforms = ["armv7l-linux"];
@@ -352,6 +359,26 @@ in {
     filesToInstall = ["u-boot.bin"];
   };
 
+  ubootQemuX86 = buildUBoot {
+    defconfig = "qemu-x86_defconfig";
+    extraConfig = ''
+      CONFIG_USB_UHCI_HCD=y
+      CONFIG_USB_EHCI_HCD=y
+      CONFIG_USB_EHCI_GENERIC=y
+      CONFIG_USB_XHCI_HCD=y
+    '';
+    extraPatches = [
+      # https://patchwork.ozlabs.org/project/uboot/list/?series=268007&state=%2A&archive=both
+      # Remove when upgrading to 2022.01
+      (fetchpatch {
+        url = "https://patchwork.ozlabs.org/series/268007/mbox/";
+        sha256 = "sha256-xn4Q959dgoB63zlmJepI41AXAf1kCycIGcmu4IIVjmE=";
+      })
+    ];
+    extraMeta.platforms = [ "i686-linux" "x86_64-linux" ];
+    filesToInstall = [ "u-boot.rom" ];
+  };
+
   ubootRaspberryPi = buildUBoot {
     defconfig = "rpi_defconfig";
     extraMeta.platforms = ["armv6l-linux"];
diff --git a/nixpkgs/pkgs/misc/vim-plugins/aliases.nix b/nixpkgs/pkgs/misc/vim-plugins/aliases.nix
index 8f3308a122be..955590cafe31 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/aliases.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/aliases.nix
@@ -94,7 +94,6 @@ mapAliases (with prev; {
   neosnippet          = neosnippet-vim;
   The_NERD_Commenter  = nerdcommenter;
   The_NERD_tree       = nerdtree;
-  onedark-nvim        = onedarkpro-nvim; # added 2021-10-22
   open-browser        = open-browser-vim;
   pathogen            = vim-pathogen;
   polyglot            = vim-polyglot;
diff --git a/nixpkgs/pkgs/misc/vim-plugins/generated.nix b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
index 0726dad6c307..395fb6711d4d 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/generated.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
@@ -1,5 +1,5 @@
 # This file has been generated by ./pkgs/misc/vim-plugins/update.py. Do not edit!
-{ lib, buildVimPluginFrom2Nix, fetchFromGitHub }:
+{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
 
 final: prev:
 {
@@ -41,12 +41,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2021-12-17";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "922155d70edf28249d9f8c6d1e4f8b53c4fe6396";
-      sha256 = "1q83dzhff1cylrgf42qml2mnh3lz3hlzvwcnna4xi2zbigqicc9i";
+      rev = "ee369de02aebc52e7d34506298556e15030c52dc";
+      sha256 = "0d31lkaiqn5f8rg1asinp72hlngmfbih7rffb4q4zm5hwayyqi3p";
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
   };
@@ -77,12 +77,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-12-16";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "5b792c764196aeb45eb6025c6c1c9727084c2feb";
-      sha256 = "14pnk9g4wvwy450mlfd2g13fllhwmw6v869f3cxbpq18ddihhpi6";
+      rev = "47470eddc277e0a141e6e36a1e2a19045e051d1c";
+      sha256 = "1wrhi9gwr5wjl7jdvqvldrl4480qcx6ry9gkl41dhiz643g28pvk";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -101,24 +101,24 @@ final: prev:
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2021-11-14";
+    version = "2021-12-23";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "9c8f2cd17d454a38b11cedd323579b579ee27f9c";
-      sha256 = "1j7nsiikf2bl6h52pa0v2mwhsrk8irq9104jm7hy6a6wz97dqmfb";
+      rev = "7968693e841ea9d2b4809e23e8ec5c561854b6d6";
+      sha256 = "0jayi96r6khkqm3khbmb83ygb41azxc3gq05ykkiy44405ri7k04";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2021-11-08";
+    version = "2022-01-08";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "469e55b101d85ff82687d975349b356b362194a6";
-      sha256 = "0z2iqb974drs0nc3cxk32z5xlbdl8bgbsc8564sz13ayqbdms4nk";
+      rev = "f8c503ceb2d710b7a94814f56010dd3f5efe8ab1";
+      sha256 = "1v9d1y7wk1zkd7wmj9lfqa448mlfw26yrbx6di5p7azhp60d21bi";
     };
     meta.homepage = "https://github.com/pearofducks/ansible-vim/";
   };
@@ -161,16 +161,28 @@ final: prev:
 
   async-vim = buildVimPluginFrom2Nix {
     pname = "async.vim";
-    version = "2021-03-21";
+    version = "2022-01-04";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "async.vim";
-      rev = "0fb846e1eb3c2bf04d52a57f41088afb3395212e";
-      sha256 = "1glzg0i53wkm383y1vbddbyp1ivlsx2hivjchiw60sr9gccn8f8l";
+      rev = "f20569020d65bec3249222606c073c0943045b5e";
+      sha256 = "0lff0v2vd06amcjirnpa4wc4l4nsbngcrdqcv34kszyqgzd7phka";
     };
     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-03";
+    src = fetchFromGitHub {
+      owner = "skywind3000";
+      repo = "asyncrun.vim";
+      rev = "fc6d524b9d81850c15b9b374a1b4a1374e243ec3";
+      sha256 = "/144rx2txz+VnPI8y4w1z9DY5nBEmp64arApRGiHQXU=";
+    };
+    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 = "cw61N5K6GHwdT011oeFV+jzFw9tk4xahPcTnx5jwqPA=";
+    };
+    meta.homepage = "https://github.com/skywind3000/asynctasks.vim";
+  };
+
   ats-vim = buildVimPluginFrom2Nix {
     pname = "ats-vim";
     version = "2020-09-04";
@@ -197,12 +233,12 @@ final: prev:
 
   aurora = buildVimPluginFrom2Nix {
     pname = "aurora";
-    version = "2021-11-29";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "aurora";
-      rev = "1607b4c100f9c466fc0208e936421a0202025457";
-      sha256 = "1rx1ggy54j71pp5ihv8zb3wqq69b26v65q1snv6hlabar02hrl1r";
+      rev = "d11266046077968bbc3d6ac37d81e069618cdedd";
+      sha256 = "1hdycb9rc7kpcppwv332hmrnzx5g2jy5r0ckaynahwwbwbjiyjqh";
     };
     meta.homepage = "https://github.com/ray-x/aurora/";
   };
@@ -233,12 +269,12 @@ final: prev:
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2021-12-07";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "08e766c1467d3fa3b53ca1dafdfa9815ea830b3c";
-      sha256 = "0xrj7hr5dx6xkwcjs6yl474f3i8vb0pyj42g0d1lxcqmw55fm7gw";
+      rev = "5860ae9369c86332ec45b38ab8308b9a4afb272c";
+      sha256 = "0klwbjgxqddw5apqzrx9fsqk25xy6nbaplx4fw68x6z0c63dbvsa";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -257,12 +293,12 @@ final: prev:
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2021-12-02";
+    version = "2022-01-17";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "8844314af7aa10db30fc743656bf26eceb24cbe6";
-      sha256 = "0203vqi3dmlhcmhir25wb4lvvdca9ryqzbrvabxa3jsfz3s01c9l";
+      rev = "9a28614941beec4539f82937d50df1a03bb70e0d";
+      sha256 = "0fvb3r8176r030wnf1rvpd4dba8cz5506a3plp5j5h5gxpsyd27y";
     };
     meta.homepage = "https://github.com/rafi/awesome-vim-colorschemes/";
   };
@@ -329,12 +365,12 @@ final: prev:
 
   better-escape-nvim = buildVimPluginFrom2Nix {
     pname = "better-escape.nvim";
-    version = "2021-12-21";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "max397574";
       repo = "better-escape.nvim";
-      rev = "066a74d517a10e6ef08e5acb72d86eb3f00e6444";
-      sha256 = "0bkvkl2599jba5j3dgrigkfrn2p4rbilgpvgyp3zw9m06gqxsqin";
+      rev = "b227dd1380bbe226b117f9b758e146aa7c2e7d82";
+      sha256 = "1jzfjnry03cv8nxf30h4x5pad5s55k4grzy1jp26sb3xjlpriz3p";
     };
     meta.homepage = "https://github.com/max397574/better-escape.nvim/";
   };
@@ -351,6 +387,18 @@ final: prev:
     meta.homepage = "https://github.com/euclidianAce/BetterLua.vim/";
   };
 
+  bitbake-vim = buildVimPluginFrom2Nix {
+    pname = "bitbake.vim";
+    version = "2021-02-06";
+    src = fetchFromGitHub {
+      owner = "sblumentritt";
+      repo = "bitbake.vim";
+      rev = "faddca1e8768b10c80ee85221fb51a560df5ba45";
+      sha256 = "1hfly2vxhhvjdiwgfz58hr3523kf9z71i78vk168n3kdqp5vkwrp";
+    };
+    meta.homepage = "https://github.com/sblumentritt/bitbake.vim/";
+  };
+
   blueballs-neovim = buildVimPluginFrom2Nix {
     pname = "blueballs-neovim";
     version = "2021-11-28";
@@ -401,24 +449,24 @@ final: prev:
 
   bufexplorer = buildVimPluginFrom2Nix {
     pname = "bufexplorer";
-    version = "2021-04-20";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "jlanzarotta";
       repo = "bufexplorer";
-      rev = "99557c451ff6ed3bbb9b9f6215ad57e919740635";
-      sha256 = "0grkkbvrdnkmvq7wfj0rf128fzlbi3m5z8k4fg66l6gfiyp86zyc";
+      rev = "4b1d3adca7e968ebc619cf2f6f3e197ef78c8342";
+      sha256 = "0imyzav898hzx4d669rxx7qyac6b8csp04am2j85rr31rywylpn0";
     };
     meta.homepage = "https://github.com/jlanzarotta/bufexplorer/";
   };
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2021-12-15";
+    version = "2022-01-16";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "de66766716ab29414c7dd078d16b4773ab53a0bd";
-      sha256 = "0aixlx4yjl1mzj5rgsxxkvkrhivisp28ds5afbi8cizrg5r6l1cx";
+      rev = "7451dfc97d28e6783dbeb1cdcff12619a9323c98";
+      sha256 = "0w0ww4x6il3g7623rdnzdm82dg6484liglxzzd8rff5av6sx3ja8";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -459,6 +507,18 @@ final: prev:
     meta.homepage = "https://github.com/bkad/camelcasemotion/";
   };
 
+  catppuccin-nvim = buildVimPluginFrom2Nix {
+    pname = "catppuccin-nvim";
+    version = "2022-02-08";
+    src = fetchFromGitHub {
+      owner = "catppuccin";
+      repo = "nvim";
+      rev = "406fdf2f2d2372df52d503e9f7bef96d89901c9f";
+      sha256 = "17b07krgc9pzqhmwls2d50xbiqs4fgzmdi61qrz1v5n0bgs011mr";
+    };
+    meta.homepage = "https://github.com/catppuccin/nvim/";
+  };
+
   caw-vim = buildVimPluginFrom2Nix {
     pname = "caw.vim";
     version = "2021-09-20";
@@ -473,12 +533,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-12-22";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "57f8241fe429530f9c733286413b84f51c30e3fd";
-      sha256 = "16b9qbjmn2l7jxywalqyvr9x9dl2hp00gi5bm7j64niwycwimfyp";
+      rev = "95920369e18ea64bb5e1e5f1a3161c822681f325";
+      sha256 = "1jd0vqmlwm9x28bdflbfcg3xgsff0mh011cwi1sq30llwja1jhf2";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -497,12 +557,12 @@ final: prev:
 
   cheatsheet-nvim = buildVimPluginFrom2Nix {
     pname = "cheatsheet.nvim";
-    version = "2021-11-28";
+    version = "2021-12-23";
     src = fetchFromGitHub {
       owner = "sudormrfbin";
       repo = "cheatsheet.nvim";
-      rev = "ce869da3e3f1825c386f363498a082536f8466fa";
-      sha256 = "16bypbi5haav3qs9g6fml4p0micdgd11l9k9ivp9258j3j9q57mn";
+      rev = "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef";
+      sha256 = "0dm94kppbnky8y0gs1pdfs7vcc9hyp8lf6h33dw6ndqfnw3hd2ad";
     };
     meta.homepage = "https://github.com/sudormrfbin/cheatsheet.nvim/";
   };
@@ -521,16 +581,28 @@ final: prev:
 
   ci_dark = buildVimPluginFrom2Nix {
     pname = "ci_dark";
-    version = "2021-08-21";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "yunlingz";
       repo = "ci_dark";
-      rev = "a2fb69aabbe2bbbf1fd08d34c168f2348a4af493";
-      sha256 = "1fd6pk0vl8il42d53rzddlbbk5r4k0gz95bk964pc81z38bmskcw";
+      rev = "6d0254b845e1cf42ee778763190f852b6d013dc3";
+      sha256 = "15z2mfjgpr36bqady1ijvaha41d1rfw5prcwr9czcmh2iaphp2j8";
     };
     meta.homepage = "https://github.com/yunlingz/ci_dark/";
   };
 
+  circles-nvim = buildVimPluginFrom2Nix {
+    pname = "circles.nvim";
+    version = "2022-01-11";
+    src = fetchFromGitHub {
+      owner = "projekt0n";
+      repo = "circles.nvim";
+      rev = "3847feed23fa3ba6abecdf1b17a6c7d2022ebe65";
+      sha256 = "1wxfix1fd8qwflc7id3g0yr7838j4vgnrk1nixv5q99d7wj0hadr";
+    };
+    meta.homepage = "https://github.com/projekt0n/circles.nvim/";
+  };
+
   clang_complete = buildVimPluginFrom2Nix {
     pname = "clang_complete";
     version = "2020-09-18";
@@ -581,12 +653,12 @@ final: prev:
 
   cmp-buffer = buildVimPluginFrom2Nix {
     pname = "cmp-buffer";
-    version = "2021-12-19";
+    version = "2022-01-04";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-buffer";
-      rev = "e26cdfb26f645cd4c6330b541b7e74ff69daa483";
-      sha256 = "0mssjxxdvnb798dpzax8abw04v1kd0gv5329pxcsck5vd76bhcv2";
+      rev = "f83773e2f433a923997c5faad7ea689ec24d1785";
+      sha256 = "0z1c0x60hz3khgpp7nfj0i579sgi4vsnhhcqb02i7a8jx685qwrd";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-buffer/";
   };
@@ -653,12 +725,12 @@ final: prev:
 
   cmp-nvim-lsp = buildVimPluginFrom2Nix {
     pname = "cmp-nvim-lsp";
-    version = "2021-11-10";
+    version = "2022-01-15";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-nvim-lsp";
-      rev = "134117299ff9e34adde30a735cd8ca9cf8f3db81";
-      sha256 = "1jnspl08ilz9ggkdddk0saxp3wzf05lll5msdfb4770q3bixddwc";
+      rev = "ebdfc204afb87f15ce3d3d3f5df0b8181443b5ba";
+      sha256 = "0kmaxxdxlp1s5w36khnw0sdrbv1lr3p5n9r90h6h7wv842n4mnca";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/";
   };
@@ -687,14 +759,26 @@ final: prev:
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lua/";
   };
 
+  cmp-nvim-ultisnips = buildVimPluginFrom2Nix {
+    pname = "cmp-nvim-ultisnips";
+    version = "2022-01-31";
+    src = fetchFromGitHub {
+      owner = "quangnguyen30192";
+      repo = "cmp-nvim-ultisnips";
+      rev = "0e8f501facdcc5bfdb5664ee185e040464a79625";
+      sha256 = "tQ3xkJ34q5+ioi6lQY7F/ZjGngzmv4FDkpNeU5sRqK0=";
+    };
+    meta.homepage = "https://github.com/quangnguyen30192/cmp-nvim-ultisnips";
+  };
+
   cmp-omni = buildVimPluginFrom2Nix {
     pname = "cmp-omni";
-    version = "2021-11-30";
+    version = "2022-01-08";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-omni";
-      rev = "580d07d32242d542e365d2732eddd2dbb7374aff";
-      sha256 = "1d6j1ddfb9xijsljskb04s3kan3sg8lmbv1qal5hmhrwi8x65dwg";
+      rev = "7a457f0c4f9e0801fee777d955eb841659aa3b84";
+      sha256 = "0f9mk0h3g1gg6lq9qnasi0liv8kvgc6rzfvgc9cflq5kkw97gjpw";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-omni/";
   };
@@ -713,12 +797,12 @@ final: prev:
 
   cmp-path = buildVimPluginFrom2Nix {
     pname = "cmp-path";
-    version = "2021-12-20";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-path";
-      rev = "81d88dfcafe26cc0cc856fc66f4677b20e6a9ffc";
-      sha256 = "1dq3wzvabxbvvb1gn25misxfrs5arv0087jfi54c2jlqv58g9gw7";
+      rev = "466b6b8270f7ba89abd59f402c73f63c7331ff6e";
+      sha256 = "15ksxnwxssv1yr1ss66mbl5w0layq0f4baisd9ki192alnkd7365";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-path/";
   };
@@ -737,24 +821,24 @@ final: prev:
 
   cmp-tabnine = buildVimPluginFrom2Nix {
     pname = "cmp-tabnine";
-    version = "2021-12-22";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "cmp-tabnine";
-      rev = "e69df7b9ae441f8c3e58fcbca116f668a224dc2f";
-      sha256 = "08dmgbfhccfwb5vvypi3yyazxvzjj8mn8xzmlmyq00swx7gy9la8";
+      rev = "2a051347190a22b738e9784426199b9db745e1da";
+      sha256 = "1z3imhw4jgswd957aqhf1yf5dihb1k9dfd22abshziv45fb0fggy";
     };
     meta.homepage = "https://github.com/tzachar/cmp-tabnine/";
   };
 
   cmp-tmux = buildVimPluginFrom2Nix {
     pname = "cmp-tmux";
-    version = "2021-11-30";
+    version = "2022-01-09";
     src = fetchFromGitHub {
       owner = "andersevenrud";
       repo = "cmp-tmux";
-      rev = "5106ae2d3c93d37173ccb3b917bebb9845e3d3e6";
-      sha256 = "1svhj1n17y70ns9d0hc9a3dvxb1nmpii5vgificgpwqfmkws4dak";
+      rev = "3c16f7e73abee43b3ea3e919e8b34c24427d9530";
+      sha256 = "1zc543zf3j09wlyka2srqp6zb0xf88m5jd2j0axmxb7rhl9sjhr4";
     };
     meta.homepage = "https://github.com/andersevenrud/cmp-tmux/";
   };
@@ -797,12 +881,12 @@ final: prev:
 
   cmp_luasnip = buildVimPluginFrom2Nix {
     pname = "cmp_luasnip";
-    version = "2021-12-12";
+    version = "2022-01-02";
     src = fetchFromGitHub {
       owner = "saadparwaiz1";
       repo = "cmp_luasnip";
-      rev = "7bd2612533db6863381193df83f9934b373b21e1";
-      sha256 = "1azlii2wvn4zsm6srac6db97jvwvpwi7vw3qb8aadg6aqdixwm4m";
+      rev = "d6f837f4e8fe48eeae288e638691b91b97d1737f";
+      sha256 = "0cmfjqps7j3056y8avkrfz40kx8qcdxf4v1xvfv03nrw9xdwwh5y";
     };
     meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
   };
@@ -845,12 +929,12 @@ final: prev:
 
   coc-lua = buildVimPluginFrom2Nix {
     pname = "coc-lua";
-    version = "2021-11-26";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "86a840a6512b3cda14aefbbb2779df1ea0160d5a";
-      sha256 = "0vc7rkqkq9wvrgjcaazxp39mvr95ark8c7q30agim28n4963w900";
+      rev = "80a1100866354d2e057fb5a7ef979978b5990ecc";
+      sha256 = "1jqx2195c01im5gnp5knqwgrb9fkxsasb9m54s8c2vhqg7i7j7pg";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -881,12 +965,12 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc.nvim";
-    version = "2021-12-22";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "5e5eed44c192d276824ecf5a61101a8fdd016544";
-      sha256 = "05025bh4v1x9rk2miivkh7p6hdrkbg9if07vglzahsigj286ws1p";
+      rev = "6116a010e18b7adcca024d95891da9af4e0dcd27";
+      sha256 = "06sc3rr4dxk1j6glb6vyxkw8k9m90g7gd1zdgsj5pw7mxfk9xbik";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -917,12 +1001,12 @@ final: prev:
 
   colorizer = buildVimPluginFrom2Nix {
     pname = "colorizer";
-    version = "2020-07-23";
+    version = "2022-01-03";
     src = fetchFromGitHub {
       owner = "lilydjwg";
       repo = "colorizer";
-      rev = "1ddc68adbf45331158c61507a55fcc918bb61654";
-      sha256 = "16zrpgnlb3v4yvpycq9spivs97vzv18m3jc47rl0hgpjdf6vhkxx";
+      rev = "72790a003d5a706c287486a1a81e3a6b32158b54";
+      sha256 = "1y7j3l1wcpr721cc1vha1f3vs7raand819zdy4izpdjmzph7vgch";
     };
     meta.homepage = "https://github.com/lilydjwg/colorizer/";
   };
@@ -954,12 +1038,12 @@ final: prev:
 
   comment-nvim = buildVimPluginFrom2Nix {
     pname = "comment.nvim";
-    version = "2021-12-21";
+    version = "2022-02-01";
     src = fetchFromGitHub {
       owner = "numtostr";
       repo = "comment.nvim";
-      rev = "9e80d5146013275277238c89bbcaf4164f4e5140";
-      sha256 = "1pxinsw4alrd299s3d7rsn9h0wppmgg36ywa891km27cjzplvrjr";
+      rev = "af51a8af6b213336345f36fc7aba65f9c3316696";
+      sha256 = "1zzv4f1rxqfl9saf90gf6h5cbcnw1jc4qqm63x3zkl6a8s9qpj51";
     };
     meta.homepage = "https://github.com/numtostr/comment.nvim/";
   };
@@ -1098,12 +1182,12 @@ final: prev:
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2021-12-10";
+    version = "2022-01-22";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "2752d956f26d47cc14dfe74eda72898cd3e84440";
-      sha256 = "1hwhia3bf3ynxm1qv20b5k7jy1sbirdz65jca1c5sywdwlc3bffi";
+      rev = "93a668527b203a3353ef2bd5337f6c55119bb7e6";
+      sha256 = "1a5w1wmc5vx3y32rci5km73wj6vq6cjgc4ss4w0w95s7sk8kaggn";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -1144,14 +1228,26 @@ final: prev:
     meta.homepage = "https://github.com/jvoorhis/coq.vim/";
   };
 
+  coq_nvim = buildVimPluginFrom2Nix {
+    pname = "coq_nvim";
+    version = "2022-02-09";
+    src = fetchFromGitHub {
+      owner = "ms-jpq";
+      repo = "coq_nvim";
+      rev = "81aea6abdf8467b79fd8fe506d28f60391d30ac4";
+      sha256 = "1fjjkwz9q91xfyph19hix9610s7g331mwq15wmpcr86vrmjvjbbj";
+    };
+    meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
+  };
+
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2021-12-16";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "b1ec877f0840475ec5ef43647305f6fe77937357";
-      sha256 = "02hiislh66pwf2ifyaij4fdpgd0favm4iv9mnjbkcxz8acddx3xp";
+      rev = "ccfe42887401d99e4a1dfc89306f9376fbbc062d";
+      sha256 = "0lvkzd3hwm4yzlpf5l77cy08dxx7r02zz5yg5w271bwf3lfcj61d";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -1182,12 +1278,12 @@ final: prev:
 
   crates-nvim = buildVimPluginFrom2Nix {
     pname = "crates.nvim";
-    version = "2021-12-22";
+    version = "2022-02-03";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "34fe3a241d8341878de3facf15f64d0f1977fea6";
-      sha256 = "0dnplvblxf9gf48q6s4f12l7rfbf2hxwb4c7iz3piqfz4ml44jqv";
+      rev = "afa44bb9ccebbcde56bf66d498f2277206f7895c";
+      sha256 = "064is1nhdldkglj03f4832qagnbbwrf4sd1bnjx9iadq9wx84lp5";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -1206,12 +1302,12 @@ final: prev:
 
   csv-vim = buildVimPluginFrom2Nix {
     pname = "csv.vim";
-    version = "2021-11-05";
+    version = "2022-01-12";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
-      rev = "9ab092187a7046a8d0eedc7fbbce8fac38d10563";
-      sha256 = "0ji3lg9hl50cg3kdvrr3bahfiaw0ij5aj80365nymrfj8s48m9kl";
+      rev = "eb284c4e33b57fc828012cb9ebb420a9ae6ecbe7";
+      sha256 = "0y660p8p716cf1gf7ncwvz62yr4d85bimvggsg4rdwmrqpvmshv6";
     };
     meta.homepage = "https://github.com/chrisbra/csv.vim/";
   };
@@ -1254,24 +1350,24 @@ final: prev:
 
   ctrlp-vim = buildVimPluginFrom2Nix {
     pname = "ctrlp.vim";
-    version = "2021-12-11";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
       repo = "ctrlp.vim";
-      rev = "fc153aabd54f9189e576c9bfb07bac09f36f2ccd";
-      sha256 = "115qj7zvs45agdvk7i429527hm9ygfgiwl523dy2f6aw508r2np5";
+      rev = "d5b092036bc651912474f64277913be8502f8f09";
+      sha256 = "12nmcam301h69181hznsh19p9sl42srp98dfa56ghy4iyrcg2d34";
     };
     meta.homepage = "https://github.com/ctrlpvim/ctrlp.vim/";
   };
 
   dart-vim-plugin = buildVimPluginFrom2Nix {
     pname = "dart-vim-plugin";
-    version = "2021-08-17";
+    version = "2022-01-25";
     src = fetchFromGitHub {
       owner = "dart-lang";
       repo = "dart-vim-plugin";
-      rev = "08764627ce85fc0c0bf9d8fd11b3cf5fc05d58ba";
-      sha256 = "0fqjgnpc6zajqr4pd3hf73fg0cjx7cnkhz6cjdf5mvjwllgv92gp";
+      rev = "42e6f57f2404b882cb7e491d50e525f8a8eb7f1f";
+      sha256 = "1lla0ldgayryib0868zl10dz6yy9dxa0k86fxl5sr6y0csfpi23z";
     };
     meta.homepage = "https://github.com/dart-lang/dart-vim-plugin/";
   };
@@ -1314,12 +1410,12 @@ final: prev:
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx.nvim";
-    version = "2021-12-16";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "199459391e097d0ae88ea165fc847791589b7626";
-      sha256 = "0kwy91zk13j19py9cmr3rvza75s3ks33pf0hb3w77qvr9znrad51";
+      rev = "c3417f30029c384c73aeccb1084f21c14b4bae45";
+      sha256 = "0dc0w8j4fhbh86vmibi9wx146r79sv2yvsqczp28hqinwss6j68b";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -1362,24 +1458,24 @@ final: prev:
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite.nvim";
-    version = "2021-11-06";
+    version = "2022-01-15";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "7e14c6c4d645c891b07c73d294ba9aadb08a9843";
-      sha256 = "10b4ip39mx0r0xj16lysxr042gsdr0x3vh87yv5c2m5hn5jp9fq9";
+      rev = "f88be9be638fd93c8159d3d0434c6e0576bec6d1";
+      sha256 = "1xkgbb1av95bi5svl15909mkbb0jhwb15x9fnvbypjzz1i4mvb82";
     };
     meta.homepage = "https://github.com/Shougo/denite.nvim/";
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol.nvim";
-    version = "2021-12-12";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "42a3f62153cb3f8ea5e7990d65b5f79b6b141b7e";
-      sha256 = "0lqikjj9260wikdm27r99rndrm4ffkfnymddbj3jzgnfh5gia4zd";
+      rev = "acaf6b6282bfab2e28fbb8a01eea6da9b9c764af";
+      sha256 = "19m1g79s55pyxcm2vg4kj52c9kkl3l2km07j9cwbq4qd8vm9vjil";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1628,12 +1724,12 @@ final: prev:
 
   diaglist-nvim = buildVimPluginFrom2Nix {
     pname = "diaglist.nvim";
-    version = "2021-10-15";
+    version = "2022-01-11";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "diaglist.nvim";
-      rev = "5221d8e4fd5522fb9e81b8131ff714b464dd0bb2";
-      sha256 = "0xsm6s8qr5q52hmbhxr0hxhwar5d04gmwzf2ci82scvf85ar9l9g";
+      rev = "6c43beac1ff07f6ef00f063090b5a6c9ed11b800";
+      sha256 = "1a10hmz38g3lpf1xxsk3b62vr16iaz5z5yqvk21m9bpai871fv1r";
     };
     meta.homepage = "https://github.com/onsails/diaglist.nvim/";
   };
@@ -1676,12 +1772,12 @@ final: prev:
 
   doki-theme-vim = buildVimPluginFrom2Nix {
     pname = "doki-theme-vim";
-    version = "2021-12-07";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "doki-theme";
       repo = "doki-theme-vim";
-      rev = "cea734282d7f2ea25d0ee6cb18224be8de25b24a";
-      sha256 = "0hvrkzcfqi6zfwcm7np6qq9sxmisidzkqlj9bwf0qc4h34qd6b7q";
+      rev = "607d027a8440c01be9ef8f433563ab0c8567d4c1";
+      sha256 = "0pcnx53n7n5gk97kbxias65lslif6ymsjqcsvlfx0qf2bwwsdz81";
     };
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
@@ -1700,16 +1796,28 @@ final: prev:
 
   dracula-vim = buildVimPluginFrom2Nix {
     pname = "dracula-vim";
-    version = "2021-12-10";
+    version = "2022-01-18";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "74f63c304a0625c4ff9ce16784fce583b3a60661";
-      sha256 = "0n5h2a7y4pwhbhzjla3i8wxaahgynnb0fzxmq2n3yaw333pmnv2f";
+      rev = "210e0961b9bd765b5b46a84d0631271ee8e6af64";
+      sha256 = "0f4kf6853wynhdc30hmc9avk1k6inw8jxp9w0sgkgp6958s3ksfh";
     };
     meta.homepage = "https://github.com/dracula/vim/";
   };
 
+  dressing-nvim = buildVimPluginFrom2Nix {
+    pname = "dressing.nvim";
+    version = "2022-02-02";
+    src = fetchFromGitHub {
+      owner = "stevearc";
+      repo = "dressing.nvim";
+      rev = "8e8f7e525941ee2080a39b98c1b1f5466a6ea187";
+      sha256 = "0i2wsjzy881g80rf94zmggkk1mj1jnb582dwzl6wlw3bi9vvsbg0";
+    };
+    meta.homepage = "https://github.com/stevearc/dressing.nvim/";
+  };
+
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc.vim";
     version = "2021-11-26";
@@ -1724,24 +1832,24 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2021-12-17";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "dfa64abfed4a5afde1ee11bfba2fbaaf7cc94fe1";
-      sha256 = "0ghp633jkcvx5r5d9s63ga5cfapsdx4c8x10gqp0ni9a5ldajbxr";
+      rev = "40ea50a854175d65f4ce9ea84fff39ba572e3f67";
+      sha256 = "0wwp0hdvlri3kbq2b6glckyrbs4dbqynh25hgj3j77pc4zkjmjla";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2021-07-25";
+    version = "2022-01-22";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "3078cd10b28904e57d878c0d0dab42aa0a9fdc89";
-      sha256 = "1zjwhg3g56skqi9lndjhn9fh8hr478yvns8xz9xpnzcgzdaqbi1w";
+      rev = "a8e3e66deefb6122f476c27cee505aaae93f7109";
+      sha256 = "19k6nii3p6a4vfyf7xxrkhj7wfamjivdp22bn1mhx4zcw8h01lkn";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/editorconfig/editorconfig-vim/";
@@ -1785,12 +1893,12 @@ final: prev:
 
   embark-vim = buildVimPluginFrom2Nix {
     pname = "embark-vim";
-    version = "2021-11-21";
+    version = "2022-01-10";
     src = fetchFromGitHub {
       owner = "embark-theme";
       repo = "vim";
-      rev = "aedd387afd0f15032ea68b5d806dac01aeb54e63";
-      sha256 = "1dasnj07iqh0k6pkfyqi33wah9pnsngsfx6ny0r9sxc2vb35cbvn";
+      rev = "2740b2f15708dee3a5b390709e07a69255f75d75";
+      sha256 = "1y1i5wzs1w20k6yyr6l8861bph7xj50ks66yxy7kc97f18jrpra6";
     };
     meta.homepage = "https://github.com/embark-theme/vim/";
   };
@@ -1834,24 +1942,24 @@ final: prev:
 
   far-vim = buildVimPluginFrom2Nix {
     pname = "far.vim";
-    version = "2021-10-14";
+    version = "2022-01-07";
     src = fetchFromGitHub {
       owner = "brooth";
       repo = "far.vim";
-      rev = "9b6cc10650128a7830fb92425ad978ae8d6132bc";
-      sha256 = "0kyjz4zq9rdyxvrs4l3ficrhpfwb5p01x84x17vcqbrc68kksw04";
+      rev = "611d9c221c370a64f582c3dc4c38f9ea7b29f441";
+      sha256 = "1gflszsbnabb9mbf0njzv2nwn5lsmb0ghhmzvnylfqcyll1ib44q";
     };
     meta.homepage = "https://github.com/brooth/far.vim/";
   };
 
   fastfold = buildVimPluginFrom2Nix {
     pname = "fastfold";
-    version = "2021-09-30";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "konfekt";
       repo = "fastfold";
-      rev = "eee93cca626fdcdfae0ddcc6f8a956c85455acd3";
-      sha256 = "1jm8dnr7p8k9ilc97vqrr5cx1adfhla0rc679iajg2h5ydxngfxk";
+      rev = "e4a51e0f6763720ab1d1889e1ce3fa3beaaf00d3";
+      sha256 = "11v3jh8qrpwpnvjj1r9z522v9bsyvxwxb8s8856a2zl6vn9caqml";
     };
     meta.homepage = "https://github.com/konfekt/fastfold/";
   };
@@ -1870,12 +1978,12 @@ final: prev:
 
   feline-nvim = buildVimPluginFrom2Nix {
     pname = "feline.nvim";
-    version = "2021-12-22";
+    version = "2021-12-28";
     src = fetchFromGitHub {
       owner = "feline-nvim";
       repo = "feline.nvim";
-      rev = "4893372087444594add4631cf11f72c71e1aa1e4";
-      sha256 = "14pbp9dkd743sr3fagpyjx63hx9b97m2k8m1d1j3isx35x7k9fgp";
+      rev = "e54e0cc5338b44d97dcaab83dd67d5a522656774";
+      sha256 = "10xqjh8dj470iikhpksbk0w767s3i73s4p4qnvpznr4lqkg7ckr7";
     };
     meta.homepage = "https://github.com/feline-nvim/feline.nvim/";
   };
@@ -1894,12 +2002,12 @@ final: prev:
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern.vim";
-    version = "2021-11-11";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "dd365ec17e9ff1d87a5ce4ade8abf123ecfd007a";
-      sha256 = "0s5gygvbz9ffnaxaikqj8mi16ip1gqxa19ijvjsjc8rv6jpkylsd";
+      rev = "d415fcee2634b6c9bb4fad223c4e909498c6dcb8";
+      sha256 = "0vs8nhhmpnp5jnqkmn5dz3mkhp894hyhv0v32j9qqsvdrllzsyjz";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -1916,6 +2024,18 @@ final: prev:
     meta.homepage = "https://github.com/wincent/ferret/";
   };
 
+  fidget-nvim = buildVimPluginFrom2Nix {
+    pname = "fidget.nvim";
+    version = "2022-02-09";
+    src = fetchFromGitHub {
+      owner = "j-hui";
+      repo = "fidget.nvim";
+      rev = "2a69ee6d17cd264eb10b33170df4cfce4cc4f4f3";
+      sha256 = "0l7ir0fky6czmjkkhd13di4x39jhy70i0s0wjiiyqn9cdfm0xw14";
+    };
+    meta.homepage = "https://github.com/j-hui/fidget.nvim/";
+  };
+
   file-line = buildVimPluginFrom2Nix {
     pname = "file-line";
     version = "2016-10-21";
@@ -1991,12 +2111,12 @@ final: prev:
 
   formatter-nvim = buildVimPluginFrom2Nix {
     pname = "formatter.nvim";
-    version = "2021-11-03";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "0cdce2da8762ee01ee7d8df047b6e569d58c1ba3";
-      sha256 = "1169xj5k04l7gfhxqa4afq9khf6yv5bcihir21sgzpym4z69axh7";
+      rev = "80a14fae599dfd200c805c345a7515266abf3438";
+      sha256 = "1d42mbxhry3scycykxh381xdykm225sg5v02f9lfv9r2r3ay81jf";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -2015,12 +2135,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2021-12-17";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "24481f883c980ed8c4c5c08bf8fcdd0fef57c16f";
-      sha256 = "1vdall0jf259icmy2qf8lg03xp48xddlcnr6amjzzi2rjw3migzh";
+      rev = "2e575549910571ff5abb6b02178c69ad760a4e00";
+      sha256 = "06cbqxnpi5gzq9cggwixkgmw9kw5sdlw311xsczk7vn720bay26f";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -2039,12 +2159,12 @@ final: prev:
 
   FTerm-nvim = buildVimPluginFrom2Nix {
     pname = "FTerm.nvim";
-    version = "2021-11-13";
+    version = "2022-01-04";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "FTerm.nvim";
-      rev = "0911ab93b488fdd8032e695ab56d14357e14e836";
-      sha256 = "0pbfg66fd8ff1b2wshlb9c58sb8zq3ckm7yjg6vv43dk4kcnjf1i";
+      rev = "eabb65f23ba48ec9e8abb9a2514f99b77b3bc6f2";
+      sha256 = "0bk1lh9i584ysj5yvmb7945nkighrc8blw28y6npqaf6mvma31n6";
     };
     meta.homepage = "https://github.com/numToStr/FTerm.nvim/";
   };
@@ -2099,72 +2219,72 @@ final: prev:
 
   fzf-lsp-nvim = buildVimPluginFrom2Nix {
     pname = "fzf-lsp.nvim";
-    version = "2021-11-07";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "gfanto";
       repo = "fzf-lsp.nvim";
-      rev = "19a6f405e4a6eb74788393390d945bd156d559b3";
-      sha256 = "0nq9nfviyly136xhjzdvmhvj7flz44pl5as0npa4d13ng3gs451p";
+      rev = "b02056f3c4b9d64d876bbf0a58d20791345a9364";
+      sha256 = "16n78ylicrd7lh41g5hvd9vnnhkwbvj28c190k5zvrblyyhipn93";
     };
     meta.homepage = "https://github.com/gfanto/fzf-lsp.nvim/";
   };
 
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf.vim";
-    version = "2021-11-02";
+    version = "2022-02-01";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "d6aa21476b2854694e6aa7b0941b8992a906c5ec";
-      sha256 = "058jczzwnbb7nc0a6iqp26gw5hrv7mkn1bazmlg2s6jkirasra7i";
+      rev = "1f7bfa4007043c30027b2cd79625e8aac5cff1f9";
+      sha256 = "0f6i6g9qvh9zyh56g51b1jf0bm4chsgkmqsy62fjh5yrlbkcwkai";
     };
     meta.homepage = "https://github.com/junegunn/fzf.vim/";
   };
 
   galaxyline-nvim = buildVimPluginFrom2Nix {
     pname = "galaxyline.nvim";
-    version = "2021-04-25";
+    version = "2022-01-21";
     src = fetchFromGitHub {
-      owner = "glepnir";
+      owner = "NTBBloodbath";
       repo = "galaxyline.nvim";
-      rev = "d544cb9d0b56f6ef271db3b4c3cf19ef665940d5";
-      sha256 = "1390lqsqdcj1q89zn6y5qrm1id7p8fnpy07vlz6mm4cki47211mb";
+      rev = "4d4f5fc8e20a10824117e5beea7ec6e445466a8f";
+      sha256 = "0xgk64d7dyihrjir8mxchwzi65nimm9w23r24m99w6p0f9qr56gk";
     };
-    meta.homepage = "https://github.com/glepnir/galaxyline.nvim/";
+    meta.homepage = "https://github.com/NTBBloodbath/galaxyline.nvim/";
   };
 
   gen_tags-vim = buildVimPluginFrom2Nix {
     pname = "gen_tags.vim";
-    version = "2020-10-12";
+    version = "2022-02-01";
     src = fetchFromGitHub {
       owner = "jsfaint";
       repo = "gen_tags.vim";
-      rev = "f888a2f8732e08d9f2b638b144c5c826a30953a3";
-      sha256 = "16gkczlaani0c0v3hkklriabhkgcs0mg9mrbn8jzfsap15cnkgk5";
+      rev = "a7221d8edc3ca2d8616e3f57624b2248f390c34f";
+      sha256 = "17gn7k835181cmd49i16yw22z2861wgk5y3la1la7cx1az2h83f4";
     };
     meta.homepage = "https://github.com/jsfaint/gen_tags.vim/";
   };
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2021-12-10";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "b6027756f5bdfaaa24b26c5472f8904f78e86c3e";
-      sha256 = "0w0nvf1ha065d16zlgqf77rvf52qs350zzy2rb4b741h1fk34v59";
+      rev = "7f677946f3243e563782834f55df5f97c36db036";
+      sha256 = "0vjpnvg1qqalrg449k8in76fvv1hwv343qg5z6k0gcqakc5dxl2p";
     };
     meta.homepage = "https://github.com/gentoo/gentoo-syntax/";
   };
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2021-10-10";
+    version = "2022-01-05";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "b18ad1643f753f39e924909ecd957cb6b5a5fa89";
-      sha256 = "1swwz4kzc1d41nbvvar3a2c71xy524fsyf5kjyrbbivrghcifpl8";
+      rev = "0901c07f33164378cb9f21156d52661abc2158f5";
+      sha256 = "11rzkw19m3nazsc202a8qrl11kb77nrhl8fbb076nf7s9l97lwkh";
     };
     meta.homepage = "https://github.com/ndmitchell/ghcid/";
   };
@@ -2195,12 +2315,12 @@ final: prev:
 
   git-blame-nvim = buildVimPluginFrom2Nix {
     pname = "git-blame.nvim";
-    version = "2021-06-14";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "f-person";
       repo = "git-blame.nvim";
-      rev = "125f09f3e09091fa9cc6585156e199d08989dc0e";
-      sha256 = "1d6al5yrwv0wfmy39k8ky5ha1x0a6mz6djscibwz13fvgqka2730";
+      rev = "fdd38cf969af53acfaebde75ce74bb9bdc44daca";
+      sha256 = "0pl60wgsc8pfhbzi6rgxa8kd4pbw7qdk2xc161i1qxykjjkczgwa";
     };
     meta.homepage = "https://github.com/f-person/git-blame.nvim/";
   };
@@ -2219,12 +2339,12 @@ final: prev:
 
   git-worktree-nvim = buildVimPluginFrom2Nix {
     pname = "git-worktree.nvim";
-    version = "2021-12-15";
+    version = "2021-12-24";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "git-worktree.nvim";
-      rev = "9eeb8eafbbbf159cfc45657af260f2789cd4a915";
-      sha256 = "16x7gp1y9s3mmpav21v21r7412fm3y8jhdwb0bb8n9nhaq1lpp53";
+      rev = "d7f4e2584e81670154f07ca9fa5dd791d9c1b458";
+      sha256 = "1k446mah5dlqddxwdm7l009251ly8l99ysamncs5q2wpvmv68hm6";
     };
     meta.homepage = "https://github.com/ThePrimeagen/git-worktree.nvim/";
   };
@@ -2243,24 +2363,24 @@ final: prev:
 
   gitlinker-nvim = buildVimPluginFrom2Nix {
     pname = "gitlinker.nvim";
-    version = "2021-12-22";
+    version = "2022-01-29";
     src = fetchFromGitHub {
       owner = "ruifm";
       repo = "gitlinker.nvim";
-      rev = "6f0430803162738bdab70bda8de45a71257f942d";
-      sha256 = "06bygsggk1lblkid28ayhw58klxl7v9cm4c5vinmb42yhw5nx69w";
+      rev = "ff33d07bb64e104b387fff7d91650a35274f81ea";
+      sha256 = "1sxhcbww0f780lp0zda1iaiyp89c6cirs0ncihjxr106a47zpya4";
     };
     meta.homepage = "https://github.com/ruifm/gitlinker.nvim/";
   };
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns.nvim";
-    version = "2021-12-13";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "a451f97117bd1ede582a6b9db61c387c48d880b6";
-      sha256 = "02hjrinkkhbyvsai18bcvp9v6i9jpllj2af5zi7gjwa8mahk8fak";
+      rev = "e2b2730254df7648c79794555978f10fceb4b163";
+      sha256 = "1kmbhfphf128psrxps7iyb1kb2s1lbc63qkxwla1cl3ywnl7f8gl";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2291,12 +2411,12 @@ final: prev:
 
   glow-nvim = buildVimPluginFrom2Nix {
     pname = "glow.nvim";
-    version = "2021-12-14";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "glow.nvim";
-      rev = "d86281307ce2898d0fcd85ecb0865fc1dd2f2578";
-      sha256 = "03idi3x531q213m3172w405yq2gsif0a4dkxy8b0y3k9ipcpbczf";
+      rev = "c6685381d31df262b776775b9f4252f6c7fa98d0";
+      sha256 = "08f6qi6ncicw7zj9vyf08pays9sbxvzwm920i3mbkld6nmb87j39";
     };
     meta.homepage = "https://github.com/ellisonleao/glow.nvim/";
   };
@@ -2327,12 +2447,12 @@ final: prev:
 
   goto-preview = buildVimPluginFrom2Nix {
     pname = "goto-preview";
-    version = "2021-12-20";
+    version = "2021-12-25";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "goto-preview";
-      rev = "899a3649e51e7ce85673a884027d354c9a186bf8";
-      sha256 = "1jly0f1h5d5j4cvq3ljvvmxkykyrbgbwsq3w59bsf790l108j8y2";
+      rev = "7f842e981f81cce14f28c49befad9146c18c3931";
+      sha256 = "018lf4z50j25j5y3lhcw1al2jp6dm9xy39mi9732zx4wa8my8gix";
     };
     meta.homepage = "https://github.com/rmagatti/goto-preview/";
   };
@@ -2349,6 +2469,18 @@ final: prev:
     meta.homepage = "https://github.com/junegunn/goyo.vim/";
   };
 
+  graphviz-vim = buildVimPluginFrom2Nix {
+    pname = "graphviz.vim";
+    version = "2021-04-09";
+    src = fetchFromGitHub {
+      owner = "liuchengxu";
+      repo = "graphviz.vim";
+      rev = "12b04c512694ace2fc15735676f5afdd05519466";
+      sha256 = "1ky9rar3gxvsf0n3y71qfln4pxmz3hpq3dqimbf0r8l8q7sw483r";
+    };
+    meta.homepage = "https://github.com/liuchengxu/graphviz.vim/";
+  };
+
   gruvbox = buildVimPluginFrom2Nix {
     pname = "gruvbox";
     version = "2020-07-03";
@@ -2363,48 +2495,48 @@ final: prev:
 
   gruvbox-community = buildVimPluginFrom2Nix {
     pname = "gruvbox-community";
-    version = "2021-12-21";
+    version = "2022-02-03";
     src = fetchFromGitHub {
       owner = "gruvbox-community";
       repo = "gruvbox";
-      rev = "1f8500f033813fcc6f41f0fe366e27faa163f2c2";
-      sha256 = "0vvmzwlq5in1pn73gzsn2bbj4x5n7w48a635yn2qpkslh4qhnq82";
+      rev = "9395ee71627d7202343c606a2e1d3c7967bfb256";
+      sha256 = "06v6kdsqhy59zd4il9qxcli68cmx4g1pxv5zfpaglayghvnxdn9n";
     };
     meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
   };
 
   gruvbox-flat-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox-flat.nvim";
-    version = "2021-09-06";
+    version = "2022-01-19";
     src = fetchFromGitHub {
       owner = "eddyekofo94";
       repo = "gruvbox-flat.nvim";
-      rev = "c384a5719b1ef9f5be925a94491d10c35eaf09a5";
-      sha256 = "03dlkhc2n2brq1m49ji4y205sha7gywd81x014dsma81w7fhvdvk";
+      rev = "756dbdd3dfd3ed84acb2f9649724df19ae41f904";
+      sha256 = "0ns4cavxcq58dwkf2gxbq4950rim0bbalvhlyc2clr30d5z5skv7";
     };
     meta.homepage = "https://github.com/eddyekofo94/gruvbox-flat.nvim/";
   };
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2021-12-17";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "70bd495722e89d39ddb0d6dd353de119d415a9e4";
-      sha256 = "0jpcmb4kshjm866pmc8mzk6vccsy3rz691zsgm1f47wvbad24c17";
+      rev = "591ca7fa71449b0e6ffe27f4525c3ceecc0b5684";
+      sha256 = "1i5yq5lj4ws8j3v4pc459ls69fgcgfh8a4fr98gnj4z650nprkpg";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox.nvim";
-    version = "2021-12-17";
+    version = "2022-01-27";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "b0a1c4bd71aa58e02809632fbc00fa6dce6d1213";
-      sha256 = "006r99is1x9k4z8y3gycrlczm964gl9gipri2qq7ihjnbsxbkjg3";
+      rev = "d4d0c6e66c1f4d5bdc0cb216c882d88d223a4187";
+      sha256 = "0s12sxhpk59r8a12df0zbhbmj6djffqmh1pw2fhw392zrb1549m8";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -2435,12 +2567,12 @@ final: prev:
 
   harpoon = buildVimPluginFrom2Nix {
     pname = "harpoon";
-    version = "2021-12-04";
+    version = "2022-02-04";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "6948a402c2d7b1a66826d28d50ad86c0b2c8a6cf";
-      sha256 = "0bg5ax66fsrqbr4385fh1klljrmh3ycrda8fzk3lm9wggf0z93js";
+      rev = "d035ef263a75029b0351f2be3708ec2829e2a3df";
+      sha256 = "0zj44bcpsxdmxy36sfdbcc9587pasqffwhl72sjz943rvpxngng7";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
@@ -2507,24 +2639,24 @@ final: prev:
 
   hoon-vim = buildVimPluginFrom2Nix {
     pname = "hoon.vim";
-    version = "2020-11-09";
+    version = "2022-01-29";
     src = fetchFromGitHub {
       owner = "urbit";
       repo = "hoon.vim";
-      rev = "91b1922f8627bb0a55341bb088f2526d0f43a6ac";
-      sha256 = "0h87r7r74iljwvfc6mb1maa08cxwnk6k89gc6vnwqm1zx6qxw1js";
+      rev = "f287adb9ce5f99a2a8b806833ab1582ba162aab0";
+      sha256 = "0nlmcz79qcmrkfji5mdc66p1pxrz5i68m50013fr66zqcccnynjk";
     };
     meta.homepage = "https://github.com/urbit/hoon.vim/";
   };
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop.nvim";
-    version = "2021-12-03";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "563ccb63195fb1274e846f6f031af7743c7214f0";
-      sha256 = "1zwjqg6zzs0y7ki63brsxf2k64xv4nld8jrixw0naajn4pip43r3";
+      rev = "75f73d3959a0df7ef3642fd5138acdb1ce50fdc8";
+      sha256 = "08yvjh70saffnjjxdhis9sfcbkpmbgm8jl3ax0qal41crwrv7ibb";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
@@ -2543,12 +2675,12 @@ final: prev:
 
   iceberg-vim = buildVimPluginFrom2Nix {
     pname = "iceberg.vim";
-    version = "2020-12-25";
+    version = "2021-12-28";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
-      rev = "866f9f4ac9ff9a0ae33de96253c359c68ab556b4";
-      sha256 = "1zlj85xg8r8qbnr7dpszkcjqw70xahay7ydwnik0zwhq96mic1pv";
+      rev = "105aceb0ccb45deb05bc3b1e5da956cd3e29869c";
+      sha256 = "0vywngmgm818nca313viriz9csvm6fbi46ik1m037yzi8znfarxa";
     };
     meta.homepage = "https://github.com/cocopon/iceberg.vim/";
   };
@@ -2577,6 +2709,18 @@ final: prev:
     meta.homepage = "https://github.com/edwinb/idris2-vim/";
   };
 
+  impatient-nvim = buildVimPluginFrom2Nix {
+    pname = "impatient.nvim";
+    version = "2022-01-18";
+    src = fetchFromGitHub {
+      owner = "lewis6991";
+      repo = "impatient.nvim";
+      rev = "4df4e9360975a8be6e7a7270466fedfd1adcc5b6";
+      sha256 = "082ir4kslphx06x1fgyw31nc2yifx3x3p2233sjqibjjjzj0qafh";
+    };
+    meta.homepage = "https://github.com/lewis6991/impatient.nvim/";
+  };
+
   Improved-AnsiEsc = buildVimPluginFrom2Nix {
     pname = "Improved-AnsiEsc";
     version = "2015-08-26";
@@ -2627,12 +2771,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline.nvim";
-    version = "2021-12-01";
+    version = "2022-01-22";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "0f8df7e43f0cae4c44e0e8383436ad602f333419";
-      sha256 = "13jqcl54ijdzk3r17fmr2zzzjxn1njwfhipaaxyk7p6qqi1hphgj";
+      rev = "2e35f7dcdc72f39b37c21e43cdb538d7a41c7e07";
+      sha256 = "1hgj7k3ml7n11nqn7cmn7bpls0rm6xh5z4sgrsgjyvrdnw6wckla";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2735,12 +2879,12 @@ final: prev:
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2021-11-17";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "030211555d5340e4a1acfa3a9368df85f34469d0";
-      sha256 = "09fbq010bfzs193x7g1lyhl56hcpj9m1b1k9rhdwvfjpwn9kh4x6";
+      rev = "32d05f7742dfb0ef84bee99e059ac3b7cb9526eb";
+      sha256 = "19z9i07w3wgf939fiy6kh7mq5pvlay3w37sm0sv4bmrdi42p8b4z";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/davidhalter/jedi-vim/";
@@ -2808,36 +2952,36 @@ final: prev:
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-12-08";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "e4972997fb5aee1c180e9840586a09553865cc20";
-      sha256 = "11v9fhd7i9si5psnsrvdgrih64rgjjy7ypjlfz9ys74rcryfyy5x";
+      rev = "a630e12de13db03313b88d6983cbbb81398eadcd";
+      sha256 = "08rlj48cw7c9cslrkpiw63fic5yw8vvls7ifcw48m1bhpibxfmnh";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
 
   kanagawa-nvim = buildVimPluginFrom2Nix {
     pname = "kanagawa.nvim";
-    version = "2021-12-25";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "10bccb5e8e8530725c8059df2e6852fb01842d1c";
-      sha256 = "15jji03qvpbyfk1bpc9b31rbkklfzdnhmnld4cr5ydjmz1fd5fzb";
+      rev = "e3a1037905c27a04b1725dc4d4006c4408bcd198";
+      sha256 = "12328xrsdhcysxs9ww97ngf134ibcsalf2a48c7z7bd48s8vajj7";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
 
   kommentary = buildVimPluginFrom2Nix {
     pname = "kommentary";
-    version = "2021-12-03";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "b3nj5m1n";
       repo = "kommentary";
-      rev = "2e1c3be90d555cd2c1f70b1c24867cee08d352f4";
-      sha256 = "1rsfc0a8pg1iipcs690hndwycllgyqrjizn3rzix2jgknzbzbbsa";
+      rev = "83706980d6ed022317e45f7965c9393e0f4ad96e";
+      sha256 = "0vipzqnscx2vqxskibbf0jf5ifrmxcwgz4ynahqgqg12z48jr4k2";
     };
     meta.homepage = "https://github.com/b3nj5m1n/kommentary/";
   };
@@ -2916,36 +3060,36 @@ final: prev:
 
   lazygit-nvim = buildVimPluginFrom2Nix {
     pname = "lazygit.nvim";
-    version = "2021-11-21";
+    version = "2022-01-15";
     src = fetchFromGitHub {
       owner = "kdheepak";
       repo = "lazygit.nvim";
-      rev = "497ef5578e15f6c79deef1cad71adedd1c80abd4";
-      sha256 = "1slmx1c3v2l49vnv5kxivgygla2wa7dvl47wf0xxshlsz2gml7y7";
+      rev = "2ee9f4d0fcba6c3645a2cb52eb5fb2f23c7607eb";
+      sha256 = "199fh056ks1p8l2jahwzr5azq3rihbzqrbk6pay32qh0ixk462qv";
     };
     meta.homepage = "https://github.com/kdheepak/lazygit.nvim/";
   };
 
   LeaderF = buildVimPluginFrom2Nix {
     pname = "LeaderF";
-    version = "2021-12-21";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "5626a1f71bcc2dd7a74156f22c53734621c12433";
-      sha256 = "0xr76yf5wm4mggf5993m5sywim08dg3qsgx84xck5zcqiz84i3q9";
+      rev = "18dc0d630250c3d3b8cb4139bed53327aa4fed50";
+      sha256 = "0cxvhinwd7afsy8jxy9c6ql9ybv1w0m8xv4dh5sl1bpybf8dsg96";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
 
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2021-12-15";
+    version = "2022-02-04";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "b74370552cfeb5da1bc3a2eef527cac33494c21e";
-      sha256 = "0i2warnzyvnjcgl9pcvnadpp53z83rvvxvqlbjgxdk3lrcqqffsl";
+      rev = "4997c8d12a05c3e854208affa1c83914643e9834";
+      sha256 = "0m3lr88cbzw3c9yw3860d34nmjb0bwq80cxa8sy6yya2hzs8c4qm";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -2988,12 +3132,12 @@ final: prev:
 
   lexima-vim = buildVimPluginFrom2Nix {
     pname = "lexima.vim";
-    version = "2021-12-06";
+    version = "2022-01-12";
     src = fetchFromGitHub {
       owner = "cohama";
       repo = "lexima.vim";
-      rev = "5d84c57a143b3218d25225328ec2fb9735ac0284";
-      sha256 = "1z9zvysfb84wxrqd0ys0pf1lk3pqa0vgig6m8mrdl7d9n718d1dc";
+      rev = "22d6495d6c3c1e6cdb26ea2e541e285a5651a98a";
+      sha256 = "1aqzsckhh7abl41zh816w327f28ly8i2fh24qdgdjjmx4cpxbaxc";
     };
     meta.homepage = "https://github.com/cohama/lexima.vim/";
   };
@@ -3048,12 +3192,12 @@ final: prev:
 
   lightline-bufferline = buildVimPluginFrom2Nix {
     pname = "lightline-bufferline";
-    version = "2021-10-05";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "mengelbrecht";
       repo = "lightline-bufferline";
-      rev = "61c7c8668b80537aefa69654a6e5a5e63095be61";
-      sha256 = "0aa7cwzaqzma1w5xyvppj6g3i8kc7199zwd4nhc9ydx9isn885sh";
+      rev = "81c3ed800ce24bc09802899c1dc0c0b4d8d4f9b2";
+      sha256 = "1ahbd3l2jjjjcwsvjlbr0q4vhhlsngz9jwvmrkl5a7q9c7h0y7m6";
     };
     meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
   };
@@ -3084,12 +3228,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed.nvim";
-    version = "2021-12-22";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "9fddb6ebf4007eaa26f44cd31b5140cbd3bbb820";
-      sha256 = "0d78fi1vch4frnkni2znqdj109igb4v1x24xlzr1k0yhz9gybh9y";
+      rev = "b04fc4e129512ce5ccd15acfe8388a898daa0a2a";
+      sha256 = "0a7bz8v0lh8myj39vk553gkglmk83smqc3nylfabqyxkij1gmdqx";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -3120,12 +3264,12 @@ final: prev:
 
   lir-nvim = buildVimPluginFrom2Nix {
     pname = "lir.nvim";
-    version = "2021-12-06";
+    version = "2022-01-10";
     src = fetchFromGitHub {
       owner = "tamago324";
       repo = "lir.nvim";
-      rev = "334ac76c6b3308176d9d90ff661ac6f90e9ee749";
-      sha256 = "07s58v1c92bib6pmpc62mszs9jz0mwlik5qmv4b9y56rw4sa94xc";
+      rev = "ca02a1031a2393ec6bf8967657daf06e4d402523";
+      sha256 = "1r5dp40iwh227whbdizdgzkjbj5zzs1s0ryp64id3gn5vl1pfmbd";
     };
     meta.homepage = "https://github.com/tamago324/lir.nvim/";
   };
@@ -3142,6 +3286,54 @@ final: prev:
     meta.homepage = "https://github.com/tami5/lispdocs.nvim/";
   };
 
+  litee-calltree-nvim = buildVimPluginFrom2Nix {
+    pname = "litee-calltree.nvim";
+    version = "2022-02-07";
+    src = fetchFromGitHub {
+      owner = "ldelossa";
+      repo = "litee-calltree.nvim";
+      rev = "ba1a0f49e71849863b4212ca0ac1974aeb7c7032";
+      sha256 = "1y55p429rd7z8jph30ils2g35vmqam4qk1ii9s88jwfl545g7qga";
+    };
+    meta.homepage = "https://github.com/ldelossa/litee-calltree.nvim/";
+  };
+
+  litee-filetree-nvim = buildVimPluginFrom2Nix {
+    pname = "litee-filetree.nvim";
+    version = "2022-02-02";
+    src = fetchFromGitHub {
+      owner = "ldelossa";
+      repo = "litee-filetree.nvim";
+      rev = "b45b0c869f2a77fc6d7e09503fbeb4663cc25ff1";
+      sha256 = "0126maly11irv7r51fca9zgf3yazv9knwa46hlf7pf977nc30yc4";
+    };
+    meta.homepage = "https://github.com/ldelossa/litee-filetree.nvim/";
+  };
+
+  litee-symboltree-nvim = buildVimPluginFrom2Nix {
+    pname = "litee-symboltree.nvim";
+    version = "2022-02-07";
+    src = fetchFromGitHub {
+      owner = "ldelossa";
+      repo = "litee-symboltree.nvim";
+      rev = "07545e1c5bd5c081c7e28540591275cbb46b7d02";
+      sha256 = "0pld9i7db4w4wqwc1nnmymfgr7miia60l1rj0pakfkgyf1g5w61s";
+    };
+    meta.homepage = "https://github.com/ldelossa/litee-symboltree.nvim/";
+  };
+
+  litee-nvim = buildVimPluginFrom2Nix {
+    pname = "litee.nvim";
+    version = "2022-01-27";
+    src = fetchFromGitHub {
+      owner = "ldelossa";
+      repo = "litee.nvim";
+      rev = "d29557a4024358cf028b706d91e3a95bd8180784";
+      sha256 = "0d16jms75nm2phx4hyvqlr3fbjadllgznd5dsy53cjf0gnybd6h2";
+    };
+    meta.homepage = "https://github.com/ldelossa/litee.nvim/";
+  };
+
   lsp-colors-nvim = buildVimPluginFrom2Nix {
     pname = "lsp-colors.nvim";
     version = "2021-10-22";
@@ -3190,40 +3382,63 @@ final: prev:
     meta.homepage = "https://github.com/nvim-lua/lsp_extensions.nvim/";
   };
 
+  lsp_lines-nvim = buildVimPluginFrom2Nix {
+    pname = "lsp_lines.nvim";
+    version = "2022-01-14";
+    src = fetchgit {
+            url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
+            rev = "6267f4234b559f756ec22dade7e8d50eb7325135";
+            sha256 = "02gzhvhsd76jx09fnqf0i67k79zygikkplhj25p36qcc0rgw1abf";
+        };
+    meta.homepage = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
+  };
+
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature.nvim";
-    version = "2021-12-21";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "be39dacc17d51531f9e3a50f88de0a45683c6634";
-      sha256 = "1hj5b079akiy8k09bvzq36hb9icw0cspb2xk0dg88zafflkh9q3y";
+      rev = "42eb06b5903dc212acb03f276e6e3fd24f92593c";
+      sha256 = "0mh2glx9fmf56znpnxn8y8n185pdl8hxiy00pymc5r2g2q8gjrlb";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
 
   lspkind-nvim = buildVimPluginFrom2Nix {
     pname = "lspkind-nvim";
-    version = "2021-12-06";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "lspkind-nvim";
-      rev = "f3b5efa11f0665accb7bd0258260b9d08dd4956e";
-      sha256 = "0v3apm4r41id6ij7mgblik4bb1mip8qs7fcpvrc6xlhmwbj3m2x8";
+      rev = "93e98a0c900327ce7e9be1cbf24aebbe7170e375";
+      sha256 = "1c13ll09v16prhzgmv8pappck4x3ahhc5sizp6r61kb7k4mkfpfk";
     };
     meta.homepage = "https://github.com/onsails/lspkind-nvim/";
   };
 
   lspsaga-nvim = buildVimPluginFrom2Nix {
     pname = "lspsaga.nvim";
-    version = "2021-04-25";
+    version = "2022-02-08";
     src = fetchFromGitHub {
-      owner = "glepnir";
+      owner = "tami5";
       repo = "lspsaga.nvim";
-      rev = "cb0e35d2e594ff7a9c408d2e382945d56336c040";
-      sha256 = "0ywhdgh6aqs0xlm8a4d9jhkik254ywagang12r5nyqxawjsmjnib";
+      rev = "d8073a0e4d19d71da900fb77dcc5f23d72bb8707";
+      sha256 = "0f5qzi9kk02z6siqzwz2zak687zb4q2nkg66x3pnnqvhfqazjb5q";
+    };
+    meta.homepage = "https://github.com/tami5/lspsaga.nvim/";
+  };
+
+  lua-dev-nvim = buildVimPluginFrom2Nix {
+    pname = "lua-dev.nvim";
+    version = "2022-01-18";
+    src = fetchFromGitHub {
+      owner = "folke";
+      repo = "lua-dev.nvim";
+      rev = "a0ee77789d9948adce64d98700cc90cecaef88d5";
+      sha256 = "10hc5iyqicbwjchwfyk7dz2wph0hz7ikjanvga9ncjk62qm2154f";
     };
-    meta.homepage = "https://github.com/glepnir/lspsaga.nvim/";
+    meta.homepage = "https://github.com/folke/lua-dev.nvim/";
   };
 
   lualine-lsp-progress = buildVimPluginFrom2Nix {
@@ -3240,24 +3455,24 @@ final: prev:
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine.nvim";
-    version = "2021-12-22";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "nvim-lualine";
       repo = "lualine.nvim";
-      rev = "593e28964cb3f071031cf849d562c982582ddaa0";
-      sha256 = "1rwrvrqplxqhdb904grvcnf0k3fldxyfc7yqf8lhymjr6dgpqnbh";
+      rev = "98dc2dd3a2a07c251bcbd43048157aa56f901402";
+      sha256 = "0c3q0ggw0qdi5b0mcvksps0v76rk6p7vcz1dg6c4y67irfjsd21p";
     };
     meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
   };
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2021-12-20";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "3e4da0cfea0a2f0b4749369bc7ed247c1412a854";
-      sha256 = "0x8br3dyslbm63krcbflrb8csvppxnwfdgi1407z9b5y38x5zypx";
+      rev = "b993af2bd38a60c815768c6ddb250010ed8a1a4f";
+      sha256 = "0bwmink8j8pgnxs2csskcbry46h5hl5iaqcdmm6c01ds6dcj1wql";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
@@ -3276,12 +3491,12 @@ final: prev:
 
   lush-nvim = buildVimPluginFrom2Nix {
     pname = "lush.nvim";
-    version = "2021-11-06";
+    version = "2022-02-04";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "57e9f310b7ddde27664c3e1a5ec3517df235124b";
-      sha256 = "0y38id1dj15snx79sazh0kvs2c3jb1h6kyzr90zhm0130m7x6nri";
+      rev = "218923092bea0ba1f7cb5552b68994f28064b154";
+      sha256 = "1dmnmvavljy4dh6f7fvpwf6a2zl2rj9aq00jz57l1w0a63fddpcd";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -3312,12 +3527,12 @@ final: prev:
 
   marks-nvim = buildVimPluginFrom2Nix {
     pname = "marks.nvim";
-    version = "2021-12-14";
+    version = "2021-12-28";
     src = fetchFromGitHub {
       owner = "chentau";
       repo = "marks.nvim";
-      rev = "54bc3f7bc4090457576dead244325b3e08c9f12f";
-      sha256 = "087yqgzcgjzj3z7j4f725q3qn4cn19w7p1ziirfz7ak1cx1br74g";
+      rev = "4b0aad42e72a653ca1afe31d2942f8aa5ab633e1";
+      sha256 = "1qvgaf353aaq3aw8q251vx8llvm30c4yj1lyvnh43r5h8kxawc6x";
     };
     meta.homepage = "https://github.com/chentau/marks.nvim/";
   };
@@ -3346,6 +3561,18 @@ final: prev:
     meta.homepage = "https://github.com/Valloric/MatchTagAlways/";
   };
 
+  material-nvim = buildVimPluginFrom2Nix {
+    pname = "material.nvim";
+    version = "2022-02-07";
+    src = fetchFromGitHub {
+      owner = "marko-cerovac";
+      repo = "material.nvim";
+      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";
@@ -3370,26 +3597,38 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/mayansmoke/";
   };
 
+  mini-nvim = buildVimPluginFrom2Nix {
+    pname = "mini.nvim";
+    version = "2022-02-08";
+    src = fetchFromGitHub {
+      owner = "echasnovski";
+      repo = "mini.nvim";
+      rev = "f2ccb9339c979968b19db48b5f8b31c6f0ee7481";
+      sha256 = "0f7yw2mjdimmi70liya75wnbbrk37xi2sncpsg0awh15sibynq05";
+    };
+    meta.homepage = "https://github.com/echasnovski/mini.nvim/";
+  };
+
   minimap-vim = buildVimPluginFrom2Nix {
     pname = "minimap.vim";
-    version = "2021-12-20";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "minimap.vim";
-      rev = "9508d4bb96ec0ff951b41c9d49b5ac7414bb4e7a";
-      sha256 = "0y62ylqjv8q4hq6qf5cc82nzp0ncrpij8wnmnr9kppr5lmm6sf9p";
+      rev = "c8ea2a5550b95b007631bc83908c48a3368eb57c";
+      sha256 = "08amdbn4xcdl7d09w3iqgrlyfmqnxlwmnild9q5mpqh5z372y6i0";
     };
     meta.homepage = "https://github.com/wfxr/minimap.vim/";
   };
 
   minsnip-nvim = buildVimPluginFrom2Nix {
     pname = "minsnip.nvim";
-    version = "2021-10-15";
+    version = "2022-01-04";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "minsnip.nvim";
-      rev = "ee71cda58f2e5ad6303338f1db3083e59ca35db1";
-      sha256 = "1fvz1n6qy3wvn42rmchg58d8l187g52q1ibx757jwrjg6dbaw2xn";
+      rev = "6ae2f3247b3a2acde540ccef2e843fdfcdfebcee";
+      sha256 = "1db5az5civ2bnqg7v3g937mn150ys52258c3glpvdvyyasxb4iih";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/minsnip.nvim/";
   };
@@ -3408,12 +3647,12 @@ final: prev:
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2021-12-06";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "a6fc41f7630e675ca5f0aeb829ad1b88c73a7c63";
-      sha256 = "08lls5zzlzglxx7hw19vid4kiqdsdnwahgw306vhqlhhx8wc00w3";
+      rev = "c073406d58472a6c98206a05307d108a5a727e61";
+      sha256 = "0ymg9gbw7a6k1lkm1w789z3vp5pzmwjx2vsm5n00jsz5lq8sv5l0";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -3442,6 +3681,30 @@ 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";
+    src = fetchFromGitHub {
+      owner = "numToStr";
+      repo = "Navigator.nvim";
+      rev = "f7b689d72649e1d5132116c76ac2ad8b97c210d4";
+      sha256 = "17yfc7ss9yslf8dvwl0vi3mdpcxp5j1g6dc8qrz20v2dx8hjxd1q";
+    };
+    meta.homepage = "https://github.com/numToStr/Navigator.nvim/";
+  };
+
   ncm2 = buildVimPluginFrom2Nix {
     pname = "ncm2";
     version = "2021-10-08";
@@ -3672,12 +3935,12 @@ final: prev:
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2021-10-25";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "ac084414cf1e0de86f5abaab6269b940806e8c6e";
-      sha256 = "0456mvm8yzpfcfqrn9affj8s70bc2r13q07hkrlmix7d0g8mwlg7";
+      rev = "4b537fa01c28f2f7cf249722530561d2e477b49f";
+      sha256 = "09lkbwijvl34ff2pagra383n517k1b1nw2lpjv2jlik0970sbcbv";
     };
     meta.homepage = "https://github.com/Shougo/neco-vim/";
   };
@@ -3696,36 +3959,36 @@ final: prev:
 
   neodark-vim = buildVimPluginFrom2Nix {
     pname = "neodark.vim";
-    version = "2019-12-04";
+    version = "2022-01-16";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
       repo = "neodark.vim";
-      rev = "44919aa0bebfa60e93e653fdd2a81d1c75c2e721";
-      sha256 = "1wz9ygfdg59jwi19l9njcxknf77azlx5nkf5q0ghk6zyv1mqwvc1";
+      rev = "bd422a98e7293013d67ccfbe1d52e1144ab47083";
+      sha256 = "0rifx4x8v4ndn7p33m54gn9m3vwh1nz8lyrz87n50incryh09vbl";
     };
     meta.homepage = "https://github.com/KeitaNakamura/neodark.vim/";
   };
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2021-11-09";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "f1b6cd506b72be0a2aaf529105320ec929683920";
-      sha256 = "0idj1l5962vfzqhksifxi4qa8d2w8mnhdqa2z5wwpphjiparfqrg";
+      rev = "0d665b05efa344977208c230f164440e3a5ce52f";
+      sha256 = "1ckz7lrnwgnijf6mm6dxamqhwkr0y0wswc5gcm3np37r58yc5mbh";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-12-02";
+    version = "2022-01-25";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "0ff8e0c53092a9cb3a2bf138b05f7efd1f6d2481";
-      sha256 = "08mdpgc6rmyldh9sfm4sic2shs69aln5jrgdx75amblcm0p42g1j";
+      rev = "c8a320359cea86834f62225849a75632258a7503";
+      sha256 = "070ji1x52hj0xnmxhdncwq78fybpsvak6b8bdy19rf7grg3ddrzk";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3780,24 +4043,24 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2021-12-21";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "e35a2eee66a5906c778ad4f57f8a015bea1be977";
-      sha256 = "1vxdf8zp6kr1np4lg9khhfsjm7r1dyjggkbris3m7b2srmzpbxhz";
+      rev = "d3473a9bfdebbd042428d895c84545bc85124159";
+      sha256 = "0ahijwjp21v79svgx44dlx5x69g6nh0qv9xi0x9markxj86660yz";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
 
   neoscroll-nvim = buildVimPluginFrom2Nix {
     pname = "neoscroll.nvim";
-    version = "2021-08-28";
+    version = "2022-01-13";
     src = fetchFromGitHub {
       owner = "karb94";
       repo = "neoscroll.nvim";
-      rev = "cd4278795ed8ee120a97078b03aa6436802126d9";
-      sha256 = "0byd108bmiz5rhnm4jh4sb4sqma9rcac7h8q6i89hhjwn5r0qqif";
+      rev = "07242b9c29eed0367cb305d41851b2e04de9052e";
+      sha256 = "1xcj3dmrcnqrk2dzzr137n0g0crfyg3zk3220202v6b4vylairnh";
     };
     meta.homepage = "https://github.com/karb94/neoscroll.nvim/";
   };
@@ -3840,24 +4103,24 @@ final: prev:
 
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
-    version = "2021-08-12";
+    version = "2022-01-20";
     src = fetchFromGitHub {
       owner = "kassio";
       repo = "neoterm";
-      rev = "e78179a9ceb98de8d0c37bdda435a5deab4d5e71";
-      sha256 = "0w962xfcgigdw41wblrv1l55xki0kl5vwkdbm6jlr44hzii0nhgz";
+      rev = "533d311a2a9187294ea52acab32d8565d6517059";
+      sha256 = "04k62g72bf2i7jndngp68ci9i4bldk8q3h6yk8lpyqsqkgn9q4k6";
     };
     meta.homepage = "https://github.com/kassio/neoterm/";
   };
 
   neovim-ayu = buildVimPluginFrom2Nix {
     pname = "neovim-ayu";
-    version = "2021-12-10";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "c0507cd4b792c8b9d1a9d47c47380bba9707b790";
-      sha256 = "1b583k8wh0a4lx83wyrjl11jj4zazwhwq95p3jwxz9gwqn0gc5q9";
+      rev = "88bee216a0b1429d6301faa733712da84cf0e650";
+      sha256 = "069y6ji6xnanzy3ad70lcgn5g3p2nxr62qn08fdhdrq6a75iz3ys";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -3900,12 +4163,12 @@ final: prev:
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2021-11-27";
+    version = "2022-01-15";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "eddd535bdf8472db469b48ac8cf826871b340c4b";
-      sha256 = "1ka2rqn7rby55aps3iblh1dcqxm7m7qx72mpkz6y2aaj8mkj0zyd";
+      rev = "f9c5f0fbda3be77dce5bb4b06b49d9f11b3b6c20";
+      sha256 = "040a2nq4piqzc7jdgzxcd495yc7d5a52lwjg9c4m6j91ykz3f0jb";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
@@ -3972,12 +4235,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2021-12-17";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "aaea945f89fdbee86de67339eaea05a16fa6912a";
-      sha256 = "0s37ygczbvcybqmfh1wq43q8v2pl1a42xasb7mzby94qbdjimq9f";
+      rev = "90e616ac6ee2363577cc54f87c50dd958c2e32f9";
+      sha256 = "1x87d69fypz0k424xzd8vy1x4lwhgb8hkmc7mybl4bqfdwi00fhr";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -4008,12 +4271,12 @@ final: prev:
 
   nnn-vim = buildVimPluginFrom2Nix {
     pname = "nnn.vim";
-    version = "2021-12-04";
+    version = "2022-01-03";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "nnn.vim";
-      rev = "32d106a121eb4c88a8f4d0c6d779065b731c9fcb";
-      sha256 = "12n3i813019q4j1lhgkpigjbi6yjywhhdib0xhw9qsjw2s7nvpk8";
+      rev = "169951733371abd152d76d1ce65e2dd867156e2d";
+      sha256 = "15prh70imjikmgnk4b161phcfqqz8jfqdq3l3nzhz80b597d6sv5";
     };
     meta.homepage = "https://github.com/mcchrish/nnn.vim/";
   };
@@ -4032,16 +4295,28 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord.nvim";
-    version = "2021-12-01";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "3df247377b292ed084c3bc0ef300db473c1c8254";
-      sha256 = "1li8h2lf7pyy51hm81pnnc9d9wa9yazrkqskd0jpz7vlxi1sd3ah";
+      rev = "498b99c87a5826bfe4409883831deab91ebe296f";
+      sha256 = "1bhbk87wrjyk8mvg9aqspag58sz9chhrxvkhblpy2qypgla0s9pk";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
 
+  nordic-nvim = buildVimPluginFrom2Nix {
+    pname = "nordic.nvim";
+    version = "2022-02-02";
+    src = fetchFromGitHub {
+      owner = "andersevenrud";
+      repo = "nordic.nvim";
+      rev = "300e13d542359213952bcaf7ffa22a976fe0a739";
+      sha256 = "15l56b9hbwymvbg1mk12i5a34fbrgpdl53nxrnh7ra96is2g2gyx";
+    };
+    meta.homepage = "https://github.com/andersevenrud/nordic.nvim/";
+  };
+
   NrrwRgn = buildVimPluginFrom2Nix {
     pname = "NrrwRgn";
     version = "2021-12-01";
@@ -4068,24 +4343,24 @@ final: prev:
 
   nui-nvim = buildVimPluginFrom2Nix {
     pname = "nui.nvim";
-    version = "2021-12-20";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "5799279fc8da92b38291a0a42bdb64cd17c3b42f";
-      sha256 = "06rh2sk2md0kbjr9bdx6nndx181pvmxadfhkbd6dz6j8g0z9yp75";
+      rev = "6f803e88093573f73d4ee6c0dfe0575df3f97a9f";
+      sha256 = "05napd3gqhdpb2x07affs50bm8prb3rzz0w5a39iyr40y96bpjix";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2021-12-22";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "b7de45a0e62bf93f19db2b43ecded48c5763248d";
-      sha256 = "05mvqgk1a9ljqxg4zpd0a37wqpns7n1mb8dhm75ihr3wbqz4hbgm";
+      rev = "f8f3932fb2abaa22e2536b5ac6ef1253a76647c7";
+      sha256 = "0h5q16i2n1rssml9ws5rvkmg9gslsdfw69asdq6rmr11w5kihyf9";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -4128,48 +4403,48 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-12-18";
+    version = "2022-01-14";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "94a4fa4b9ffec88ecd742fb077a66bf8cb9c4bf1";
-      sha256 = "138yqgwavi4j4pfz5xygkxpw81lh2qyl8d1mnnrk5igrfaz05hff";
+      rev = "97e454ce9b1371373105716d196c1017394bc947";
+      sha256 = "1qdnrrchs463bjsrx5rg61527b0az2f1b929ak9lm0p1r11wgzsw";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
   nvim-base16 = buildVimPluginFrom2Nix {
     pname = "nvim-base16";
-    version = "2021-12-02";
+    version = "2022-02-01";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-base16";
-      rev = "7344e741b459c527b84df05a231b7e76d8b4fde9";
-      sha256 = "0qsywl7fg8j4w57ichhgif6vph3iq9iz9i67jzpyc2v66kph0yfb";
+      rev = "5f34bccc232b687309b32b53bdf1aab73beeec2b";
+      sha256 = "0jds7m7l5d75yi8y1rwrg3zbrjy98bayr8ryv83haqzh36y3wwff";
     };
     meta.homepage = "https://github.com/RRethy/nvim-base16/";
   };
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2021-12-21";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "9e2c95ae530b71bd99cfeb88d108101b0db02a5c";
-      sha256 = "16wa7nmh7ahxllbffak0jshkkcx2n3lywgnx7vazwfjndfyw7vjz";
+      rev = "aaa160d4423c6c0029f91af85a7e1f092b1aa966";
+      sha256 = "07n78gwj8q7mnw6rnzsmnl6cl51g5harrzn2g3fz6rhpr2f1hlwz";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
 
   nvim-bufdel = buildVimPluginFrom2Nix {
     pname = "nvim-bufdel";
-    version = "2021-07-28";
+    version = "2022-01-07";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "nvim-bufdel";
-      rev = "17d17a4b16e5b5a7403470a8b5afc10772d4e84a";
-      sha256 = "1x14kiwklrnd264ihib84x2l3xgdshnv7yxvjdia5rdsvxny4kvb";
+      rev = "af537a915b8c60c6dcb6416e0e9382a5bed94bb3";
+      sha256 = "1k242j2gzpv82cpccmiai6k50rfmnhxx6kyxbs1h1zwzyb0s2gxz";
     };
     meta.homepage = "https://github.com/ojroques/nvim-bufdel/";
   };
@@ -4188,12 +4463,12 @@ final: prev:
 
   nvim-cmp = buildVimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2021-12-21";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "4a19645374b3c10538bd363e92099d94221efaea";
-      sha256 = "1x9k8wx9y7kdqnf13c2vgzq5cksdgps2b531d28bxwa88z32yddc";
+      rev = "a7fea2ca9f29869c75c3e2ccb683e7740868ba8b";
+      sha256 = "182w3ms4j9fvw0h0k2q019a5yxjg3hn88yybwk4r27l1mc54jycb";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -4222,6 +4497,18 @@ final: prev:
     meta.homepage = "https://github.com/norcalli/nvim-colorizer.lua/";
   };
 
+  nvim-comment = buildVimPluginFrom2Nix {
+    pname = "nvim-comment";
+    version = "2022-01-04";
+    src = fetchFromGitHub {
+      owner = "terrortylor";
+      repo = "nvim-comment";
+      rev = "f670649da497de12aa3d5afc0a693d5d50b17d85";
+      sha256 = "0j3pay000yf79lz5plcnfp068fychnf7xa08cg7h5s0nx5cp5bgh";
+    };
+    meta.homepage = "https://github.com/terrortylor/nvim-comment/";
+  };
+
   nvim-compe = buildVimPluginFrom2Nix {
     pname = "nvim-compe";
     version = "2021-10-02";
@@ -4248,36 +4535,36 @@ final: prev:
 
   nvim-cursorline = buildVimPluginFrom2Nix {
     pname = "nvim-cursorline";
-    version = "2021-09-28";
+    version = "2022-01-22";
     src = fetchFromGitHub {
       owner = "yamatsum";
       repo = "nvim-cursorline";
-      rev = "e4fa1d90c2c6169c18f7ea3275845a2de9335dbf";
-      sha256 = "06jvagrdvizygr1l4d6dbb0nrri6c2zv09xrzxysxmi3hjvf6zx8";
+      rev = "88232dd52f186e3bff9aa594aa9c3a062f400642";
+      sha256 = "1lgcfwkc3kq9jyh7r19v6rpmbflq2nplg46kvb79l07212pz64s0";
     };
     meta.homepage = "https://github.com/yamatsum/nvim-cursorline/";
   };
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2021-12-22";
+    version = "2022-02-04";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "a6fa644f9de62c594a8a9cf6f2aaf324b5a6108b";
-      sha256 = "1ncl9f4vx382pma5x3siywc132hmns6nwj54w03b387129k25wky";
+      rev = "ee39d5d570d07161e16eb73054c295c6561eb2b4";
+      sha256 = "0ybh21rzmrvs0njwdg0kw6rlbwhaiwkq41gj8iban7nrfn36vydh";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2021-12-04";
+    version = "2022-01-11";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "96813c9a42651b729f50f5d880a8919a155e9721";
-      sha256 = "1z53bfch6f8ld67jg2g57c29g8xhfbxlxxv1q86l62bdgy2pq15h";
+      rev = "ae3b003af6c6646832dfe704a1137fd9110ab064";
+      sha256 = "0fyqhmm0l6hil2hdfwrhsabf5k8c3r5ivghgdv4g5hd8hpcncnj8";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -4344,60 +4631,60 @@ final: prev:
 
   nvim-gps = buildVimPluginFrom2Nix {
     pname = "nvim-gps";
-    version = "2021-11-14";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-gps";
-      rev = "4805df6a5858aea5ccff56a6d706c96fb746c5d7";
-      sha256 = "13jmdnz9wxgqm5gcys42flfnwgj0pdwlcgx2vkmncfmg675fgfq6";
+      rev = "6afd8f7a69e7008dabe048d4fb1ee8e467a72fdf";
+      sha256 = "13pgq09sxhfxxmrrqzc1f8b119f6d7yyx30lzbgr2vx59bh69ph2";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-gps/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2021-11-30";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "639c167541202fcbf41ed5cec619ce0fcf1d5ab8";
-      sha256 = "1dcwbzw6rfh5h2yxl17jy5szqp2fmjcss3sfcznis1ccdggh9wnr";
+      rev = "60ea878d3f25155f8bcccc2a2f86393d2fa2ee10";
+      sha256 = "1ii7ajxcjznq030q7xydx995w33whb88vwbijsihmgd3dcakjr4s";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2021-12-15";
+    version = "2022-01-14";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "8119b7b846a21e87b2d6c2168f57d79540b2d304";
-      sha256 = "0mjakd4d4w680qn82s59352w275k40nimxs2g2x0b0gzqlk3wlwg";
+      rev = "da8afe575527af4c0b43c2ada8070814f79b143a";
+      sha256 = "1162n135997ph18d7j1zk6a2nd82g17a5vf4izzrcm7dfqg9xx9i";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
 
   nvim-hs-vim = buildVimPluginFrom2Nix {
     pname = "nvim-hs.vim";
-    version = "2020-08-29";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "neovimhaskell";
       repo = "nvim-hs.vim";
-      rev = "30baacd3c7a10625cb2d4dd64ae3bbfc4fe3f8c6";
-      sha256 = "1w6cr6j77nwxszm1d0y4phvjsz9q4aw214xkscw6izakfmk06h1x";
+      rev = "d4a6b7278ae6a1fdc64e300c3ebc1e24719af342";
+      sha256 = "0a4sc2ff67xdqy5wj1j384vrsbnvhcd15mmwv7yygd7rccc2wsxs";
     };
     meta.homepage = "https://github.com/neovimhaskell/nvim-hs.vim/";
   };
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2021-12-12";
+    version = "2022-01-27";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "47d7a9caec7338a0d038031812c4734d0c306b59";
-      sha256 = "1867cara40sjz8ph32i3kl61s8z8fbj2nib73q1hppa3lxbff9k5";
+      rev = "e2a80d5f51c326d6623979d614dd7968ef752061";
+      sha256 = "1m8sc88g8sk41m4ml62zn7dn05q1ns8xr20c7bldqaz9rwqbhqny";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -4428,72 +4715,72 @@ final: prev:
 
   nvim-lint = buildVimPluginFrom2Nix {
     pname = "nvim-lint";
-    version = "2021-12-22";
+    version = "2022-02-03";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "ae94ac712277dc77d648da262eecc3c4ea938cc3";
-      sha256 = "1s9dja4pb3nzpjvrp505y2pxckqi50pwsn4hk8d6770lw2nyk9r4";
+      rev = "8da4d0e14a40e616a73a358f516794cea0fa31f1";
+      sha256 = "06h5mq4jq0i15lvwbjbg4cv55kdva8scvad8shc29bpcampq162d";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
 
   nvim-lsp-ts-utils = buildVimPluginFrom2Nix {
     pname = "nvim-lsp-ts-utils";
-    version = "2021-12-16";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "nvim-lsp-ts-utils";
-      rev = "083c918f8a53c69361954e9d879113676e30c2c8";
-      sha256 = "1kpps6qpyrxnr497ynj89czgi5xh7pkblc6rggmg542zjmsnbr7z";
+      rev = "337e4fa31d88e5553edeb05ac572bacd4a24d867";
+      sha256 = "1xa2zxyqfgzp4zjccrjnj9djdb4f4i9gr2m4gxa6cqz01b21xwmq";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/";
   };
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-12-21";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "f84f592816a6b0c55e2a655b56c480683ad92c63";
-      sha256 = "0933hn71qxbcn3g6g7jwhnmn9mywwfl9alnpwa9v5qwch0ardgnh";
+      rev = "2008c5cebf2b84c5e5f8a566480b022ab2e7ebab";
+      sha256 = "0698i51s6dgcanw1iz9zhb8hk6ls2zrvas4i8sqpw7jwr9vnygah";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
 
   nvim-lsputils = buildVimPluginFrom2Nix {
     pname = "nvim-lsputils";
-    version = "2021-09-28";
+    version = "2022-01-29";
     src = fetchFromGitHub {
       owner = "RishabhRD";
       repo = "nvim-lsputils";
-      rev = "aaaf8c12771e905e5abf68470d8bda3e80536a0d";
-      sha256 = "1iag2ynp2yba5xaw4z0hnp9q6hfcrvjmkhl4js9hqhhsrm42c2vh";
+      rev = "ae1a4a62449863ad82c70713d5b6108f3a07917c";
+      sha256 = "0xl3crhgkzmas8zdcycgk11am3wx0az4jh7fh5n4lsjip8895p4s";
     };
     meta.homepage = "https://github.com/RishabhRD/nvim-lsputils/";
   };
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2021-12-17";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "2de6be8c334989e160540ab5fe35d4d34741ffed";
-      sha256 = "1vj2yxbavx30rqlx61vmz8dlr13as5jfv48098rlnch2wg1lh22b";
+      rev = "ffd1a3bc198b168b9bb5e777b26f11d8fa864a78";
+      sha256 = "00lzypb2zrpr1w9jyiw4vad3sfr4ki4whgpg8cr5m9qzamwr87bs";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
 
   nvim-neoclip-lua = buildVimPluginFrom2Nix {
     pname = "nvim-neoclip.lua";
-    version = "2021-12-20";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "AckslD";
       repo = "nvim-neoclip.lua";
-      rev = "4b9c7c54d3f132ea39cac7a31143bc730f962453";
-      sha256 = "07gwp7bcpnpkir8lmcsxscyv41dac9ph5fdavz1xq5xr686c0m6k";
+      rev = "841021836ee00e7da6dbad819508e384f4e2362a";
+      sha256 = "1qjwyicpvbp8396lby62jd9fj8yh2dak5kk1vf64ppjvdf038hpd";
     };
     meta.homepage = "https://github.com/AckslD/nvim-neoclip.lua/";
   };
@@ -4512,12 +4799,12 @@ final: prev:
 
   nvim-notify = buildVimPluginFrom2Nix {
     pname = "nvim-notify";
-    version = "2021-12-16";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "243811198d3a937be03535bbe899446f235dda75";
-      sha256 = "1c1vlialppamm4r9n4g33s3cy18nyg4r43w8rkqk9b8kcip1x7j7";
+      rev = "27f3176b950dc803b61c29bd007e140c232544e5";
+      sha256 = "1b4s7vcr1d2d6jnkbsnybc55fmwgk52cdfqsm8x5m37fbwn4k6dq";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -4536,36 +4823,36 @@ final: prev:
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2021-12-16";
+    version = "2022-01-20";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "5f35322499bc789b44d19f35ee4c23fbed5a3a89";
-      sha256 = "1nc3czp7grb9db52d2cvj81pqipk0x4918560v11b9g2kmvp34g2";
+      rev = "f9b4b79a20b802b46049dc9cbf19ef6493b551d4";
+      sha256 = "0mx5l7vaj99ibzsvk2nmr17g43jyql6jqfwkmfn77h15xyjdp1sy";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
 
   nvim-solarized-lua = buildVimPluginFrom2Nix {
     pname = "nvim-solarized-lua";
-    version = "2021-12-02";
+    version = "2022-01-22";
     src = fetchFromGitHub {
       owner = "ishan9299";
       repo = "nvim-solarized-lua";
-      rev = "670c7d06d658fdc10c324c5359bbec5da1bbfc47";
-      sha256 = "0lm2fvsj0cgqilz4gqlpl0kzqgaim6rscvar7b9qwx2l7zw97pxg";
+      rev = "995ae7e0baa4b5d42c094ffa7d6b3fe9459397c3";
+      sha256 = "01dsbdlizckvw34hwzq7jkdhsv5008jzj9p140c177zv4qps2kll";
     };
     meta.homepage = "https://github.com/ishan9299/nvim-solarized-lua/";
   };
 
   nvim-spectre = buildVimPluginFrom2Nix {
     pname = "nvim-spectre";
-    version = "2021-12-11";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "nvim-pack";
       repo = "nvim-spectre";
-      rev = "e2510d32dc80d6b5eea4df057762bbc6b2482e05";
-      sha256 = "1606wf7yhmhaksg45dz043apgxqhvkchsrj275qa6j80r31j7da6";
+      rev = "9842b5fe987fb2c5a4ec4d42f8dbcdd04a047d4d";
+      sha256 = "12ww1yqxsk6qm6cimgr0ljgc98n831dpm711q4xqg9c6wm0pyzg7";
     };
     meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
   };
@@ -4584,36 +4871,36 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2021-12-16";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "0aec64d56c9448a039408228d410a01c41125d48";
-      sha256 = "0mj8d37i4g1wna1cjzzay2ck2nx9h9xw78vv5kv9mp1j3dmm9ayh";
+      rev = "b54de4b48a2e0481da8fc502e6e2a5cf5e4b0ba2";
+      sha256 = "0svlmm58w8c6mcqlx8gb47j6sn0z2i4rx9fpgihhhkk7pvjhinwc";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-12-22";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "56634f49ab3d8122153c8c5582c581fb6a6af075";
-      sha256 = "1ffy9zl6k47iai4anvvghqv7vi5jqgqbp1ndjx0kagad40v6vlfp";
+      rev = "4990db79a87f49e56a3a1bb8507926ebd52ec4cc";
+      sha256 = "0c2wpk1bc3ga1m54s4kjmlskv3l2rkgf83xj1alm1rfgzwhl38vv";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2021-10-05";
+    version = "2022-01-12";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "nvim-treesitter-context";
-      rev = "e1f54e1627176337b3803a11403ac0e9d09de818";
-      sha256 = "0xg3c8msd9fsmwlxgpxwbz2h9aizc3f7jn9p1q23pjlpcxr8xwll";
+      rev = "b7d7aba81683c1cd76141e090ff335bb55332cba";
+      sha256 = "113vvcisnypfbbnw9l9jq0avsh95p286gay3vb60ykfxjfbxsw1q";
     };
     meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/";
   };
@@ -4632,28 +4919,40 @@ final: prev:
 
   nvim-treesitter-refactor = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-refactor";
-    version = "2021-12-18";
+    version = "2022-01-22";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-refactor";
-      rev = "a21ed4d294d2da5472ce5b70385d7871c4518a1e";
-      sha256 = "1hhl6gqq56q9lfgy581cwbhyiyqji4adbmhxmhwn7d5x0lv6bv24";
+      rev = "0dc8069641226904f9757de786a6ab2273eb73ea";
+      sha256 = "193fk657wjxz7hfbkjw566bng62vv7432cjhb5rwcig04xd5izqm";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-refactor/";
   };
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2021-12-22";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "6ee11ac62681eb2eb8104a4ce509a9a861672cb5";
-      sha256 = "0hgay8d4lja4fk3d6xhq08n1j9ic6flzq1w003b3fpxzr6l2b0vl";
+      rev = "fea609aa58b3390a09e8df0e96902fd4b094d8b7";
+      sha256 = "0221ax71334ghsr8xznp9jk2iv9r0bin47ch8r7hsfh4r0wgc5w7";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
+  nvim-ts-autotag = buildVimPluginFrom2Nix {
+    pname = "nvim-ts-autotag";
+    version = "2022-02-09";
+    src = fetchFromGitHub {
+      owner = "windwp";
+      repo = "nvim-ts-autotag";
+      rev = "5149f0c6557fa4a492d82895a564f4cd4a9c7715";
+      sha256 = "0zyx4qkm6gq2lw75f2b1k974dv3bz12gd4f6j76dr805b8kq6l5m";
+    };
+    meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
+  };
+
   nvim-ts-context-commentstring = buildVimPluginFrom2Nix {
     pname = "nvim-ts-context-commentstring";
     version = "2021-12-13";
@@ -4668,24 +4967,24 @@ final: prev:
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-11-21";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "54ee09f540935c604c9a3d4aed83b7f5314f2caa";
-      sha256 = "1q70przqvi71vyk9wspaamvv6kkh2pd9m1w4ngxkgcxbf9wm649k";
+      rev = "c6c26c4def0e9cd82f371ba677d6fc9baa0038af";
+      sha256 = "0q0awc93l6cafbvb3wghrmvsn0qqg8hgkhfy5r86bvr0prwbvxga";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2021-12-20";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "ac71ca88b1136e1ecb2aefef4948130f31aa40d1";
-      sha256 = "1fgl4cyichzlrl6dc2mp362kncc4aiy10svzzcqad168aj2x8rhd";
+      rev = "e3294f687626b40754bb40ac2d636d166098b2fb";
+      sha256 = "1lajkfxpky4f9bprgbsik6i9n625rbq6gpazfhwy8d9dp0g7c5m4";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
@@ -4716,12 +5015,12 @@ final: prev:
 
   nvim_context_vt = buildVimPluginFrom2Nix {
     pname = "nvim_context_vt";
-    version = "2021-11-09";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "haringsrob";
       repo = "nvim_context_vt";
-      rev = "8db258aeff84adee646afab970980c745286a1e6";
-      sha256 = "0jbkms1alssp9399nhbzilqap0yji6sxpy207v3vmk1haf27cqz4";
+      rev = "07da9b402a3a31659cd0418d0a84dba0b1b8dbbf";
+      sha256 = "1ccsbx9s7ic85mj1ls054vzw9isi7pp1caf1cb7ki5p79sr0drxi";
     };
     meta.homepage = "https://github.com/haringsrob/nvim_context_vt/";
   };
@@ -4762,6 +5061,18 @@ final: prev:
     meta.homepage = "https://github.com/mhartington/oceanic-next/";
   };
 
+  octo-nvim = buildVimPluginFrom2Nix {
+    pname = "octo.nvim";
+    version = "2022-02-08";
+    src = fetchFromGitHub {
+      owner = "pwntester";
+      repo = "octo.nvim";
+      rev = "9b7902d28c6d50c481e5b46209ef0ebe5b78990f";
+      sha256 = "1gqrr9kc7l3ibdwacmfwqz7vb80wdrxzsv73g59l8vhp3q6m7q7a";
+    };
+    meta.homepage = "https://github.com/pwntester/octo.nvim/";
+  };
+
   one-nvim = buildVimPluginFrom2Nix {
     pname = "one-nvim";
     version = "2021-06-10";
@@ -4776,12 +5087,12 @@ final: prev:
 
   onedark-nvim = buildVimPluginFrom2Nix {
     pname = "onedark.nvim";
-    version = "2021-11-30";
+    version = "2022-01-11";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "ce49cf36dc839564e95290e2cdace396c148bca1";
-      sha256 = "1q7y7vhgk8r28nq4q3aamvkg2hfylfxq25i2avj45prap23b73zy";
+      rev = "e5f6772b61b4aea429db1d8cc61b8a91f467611b";
+      sha256 = "0nlr29ymv5hqiqblmlyac17w26s2y58jlaxmva4ms62x0wq4mxx0";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
@@ -4800,12 +5111,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2021-11-30";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "d644c85b0193a76c86fe591e378329987f984661";
-      sha256 = "19rw1n01qlfil6i2c0m1md12dql6caplx7apqxbgnwxbbawc4ps1";
+      rev = "579f0a552154677ebe5a2f4a7e97f551967da998";
+      sha256 = "1g9zbylx8dvall19yxlymrqqp6bk24h5xs3z5a5i0dkwjvnaxx8v";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -4848,36 +5159,36 @@ final: prev:
 
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2021-12-18";
+    version = "2022-01-27";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "8e3edfa5066db396a2f51f2e90f56c5914b00840";
-      sha256 = "07l5x98fxzccapmi9zca332h76gj8x4g0nkq6bb8zzz05ylczfwy";
+      rev = "f339a7f87e4736c0a3e0db563b8c3cb45fc00a61";
+      sha256 = "1raicj3h524csqivw9x3l6znx5y7dwfn3cmh2hzddfy0n7n1mph0";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   package-info-nvim = buildVimPluginFrom2Nix {
     pname = "package-info.nvim";
-    version = "2021-12-11";
+    version = "2022-01-25";
     src = fetchFromGitHub {
       owner = "vuki656";
       repo = "package-info.nvim";
-      rev = "fad6afade384ccadcfd0e08f07a022eee6eaae28";
-      sha256 = "0nk3v1m0asn0z5gxszsgi6mv81vvd301pfcsqklkm23cryl4zwd4";
+      rev = "139bcf19837213d4e5d541b46f79390a75e84701";
+      sha256 = "0siir143hkw87dzkmm64fdyq3raqd9k50wppjafnvdz6i1pgb7nz";
     };
     meta.homepage = "https://github.com/vuki656/package-info.nvim/";
   };
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer.nvim";
-    version = "2021-12-02";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "851c62c5ecd3b5adc91665feda8f977e104162a5";
-      sha256 = "1d5zydsxgf8jfl1jy0l1w3xyz57a0p1irmc6d4l0d3wcbr5gbw5r";
+      rev = "8551feef9030edf364188c26a6db797f827cda77";
+      sha256 = "060wjn7l518fhg35jqvx0m526qkvhrvc9n778hb3blnm19fj7p55";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -4968,12 +5279,12 @@ final: prev:
 
   plantuml-syntax = buildVimPluginFrom2Nix {
     pname = "plantuml-syntax";
-    version = "2021-09-01";
+    version = "2022-01-29";
     src = fetchFromGitHub {
       owner = "aklt";
       repo = "plantuml-syntax";
-      rev = "405186847a44c16dd039bb644541b4c8fbdab095";
-      sha256 = "07s9wjls1rix7wyc2b2nfzsgcqd54slbv64fy7lyv3bkzrbdz8c0";
+      rev = "32428a7b7bc1f1f4efe54490c212a7bda5dd073c";
+      sha256 = "06jxfr484wa563hs5qj2g4i37a6mfdvdjdn7a72dmbqzismvzd48";
     };
     meta.homepage = "https://github.com/aklt/plantuml-syntax/";
   };
@@ -4992,12 +5303,12 @@ final: prev:
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary.nvim";
-    version = "2021-12-15";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "a672e11c816d4a91ef01253ba1a2567d20e08e55";
-      sha256 = "1kqzspclkx7mpcpm2xb0fvzhv02wj7vms7xh9fjh64hvg2r2q21v";
+      rev = "e86dc9b11241ff69ece50c15a5cdd49d20d4c27c";
+      sha256 = "1yfiqkvk71i68hha2xdikfmch9qkn0di9gl14x4b9snvcf6l9plh";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -5041,12 +5352,12 @@ final: prev:
 
   presence-nvim = buildVimPluginFrom2Nix {
     pname = "presence.nvim";
-    version = "2021-11-14";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "e0cab790474fe8bf952edeeaf9bba5128a2434f1";
-      sha256 = "1p1knd67sf4pw88y73xakay50br4zhgxr5k7az24cxmqylnn89ra";
+      rev = "ebdf23b9b180c7f162e3afb4a250c313ca2b7271";
+      sha256 = "0wygl17k2adbsy3pjyyb6amsrx14r11ldbqj21kmkjq289n58f6n";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -5087,6 +5398,18 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/prev_indent/";
   };
 
+  project-nvim = buildVimPluginFrom2Nix {
+    pname = "project.nvim";
+    version = "2022-01-19";
+    src = fetchFromGitHub {
+      owner = "ahmedkhalf";
+      repo = "project.nvim";
+      rev = "cef52b8da07648b750d7f1e8fb93f12cb9482988";
+      sha256 = "1qwpp0a8llx437jms3ghx8wrc5rwnrkh52xp24ysymqr4lc1xfq6";
+    };
+    meta.homepage = "https://github.com/ahmedkhalf/project.nvim/";
+  };
+
   psc-ide-vim = buildVimPluginFrom2Nix {
     pname = "psc-ide-vim";
     version = "2021-05-31";
@@ -5113,12 +5436,12 @@ final: prev:
 
   python-mode = buildVimPluginFrom2Nix {
     pname = "python-mode";
-    version = "2021-11-14";
+    version = "2022-01-28";
     src = fetchFromGitHub {
       owner = "python-mode";
       repo = "python-mode";
-      rev = "50ced6be5ceab94a11615b5abb89ff28b0e73a9e";
-      sha256 = "023mrdc5ih1q3dz6qm1f8a97kgwbnvfjbh7z3k1r4s9c5wvg9hyz";
+      rev = "85d2cd1a196ac1def79d4599b5be69395ed5b603";
+      sha256 = "0jk8pssliyar4qs42x9m1jgri446cr4yc7iv8l9wc9xn6r3qnm29";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/python-mode/python-mode/";
@@ -5150,24 +5473,24 @@ final: prev:
 
   quick-scope = buildVimPluginFrom2Nix {
     pname = "quick-scope";
-    version = "2021-10-08";
+    version = "2022-01-29";
     src = fetchFromGitHub {
       owner = "unblevable";
       repo = "quick-scope";
-      rev = "892a2334be832e6834db68c2355e6f59dc6536bd";
-      sha256 = "03ip76w8mib8dxn3vm9fp3z4i8vgga97q2gkifgcc3qjj2b71qg7";
+      rev = "5e2373e36d774e1cebd58b318346db32c52db21a";
+      sha256 = "1dqygvc1gr35niqqdqivz5vgqpca9yj68incq3z73rl9qya96pvx";
     };
     meta.homepage = "https://github.com/unblevable/quick-scope/";
   };
 
   quickfix-reflector-vim = buildVimPluginFrom2Nix {
     pname = "quickfix-reflector.vim";
-    version = "2019-12-11";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "stefandtw";
       repo = "quickfix-reflector.vim";
-      rev = "8e9c05a110b80ab66fc8bc3d5fe9e6fa168aada6";
-      sha256 = "1i8453z3s0xmbmbzk3kpxwvd42ar9v2m2gjqic9k7njpxw87czvs";
+      rev = "6a6a9e28e1713b9e9db99eec1e6672e5666c01b9";
+      sha256 = "0rm3vks354g36rc7lr721j7s0x0vpnqhyvc1nhchkhbn1h1yd1ry";
     };
     meta.homepage = "https://github.com/stefandtw/quickfix-reflector.vim/";
   };
@@ -5282,24 +5605,24 @@ final: prev:
 
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2021-12-21";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "22a46b0e27e62cad61e1dabb106197575470ef85";
-      sha256 = "0c1ihgwf1kvcsq20k5y6nk2mxs99c4la0l5b06pi5k316zkd45gc";
+      rev = "1c77bd656b4802d890ec3382e438e45109e2b862";
+      sha256 = "0s1zhrnrkzb1xc3mb95930w31kad0vwff78z8ag2liawq10s2yhb";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
 
   registers-nvim = buildVimPluginFrom2Nix {
     pname = "registers.nvim";
-    version = "2021-12-19";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "fc1778fd8d847c2510763e69d5631fac382fd31d";
-      sha256 = "11mk4ypwcy7r026nbb9b0pdzj7bc4z2saysv9mv4xbramgdzbnm6";
+      rev = "941a36e99bccc48fa9569a03b02ec95fb9c5222c";
+      sha256 = "0w0n3210c3j2jpvx0jf718in5hkj7vczv9n1qnls2f46ljwl1f5a";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -5318,12 +5641,12 @@ final: prev:
 
   renamer-nvim = buildVimPluginFrom2Nix {
     pname = "renamer.nvim";
-    version = "2021-12-19";
+    version = "2022-01-15";
     src = fetchFromGitHub {
       owner = "filipdutescu";
       repo = "renamer.nvim";
-      rev = "814ddbb11602e3c8b2af166b4d1e029272ab796f";
-      sha256 = "067mn0wzvin7zbbzd8svshi5ga38r5d7nw8kqbyn3aakggpnylm3";
+      rev = "80d627372f90660f135862c8a7f8941b28ee5373";
+      sha256 = "00ls708qx4i39gqdjw7l8i5az0k63i4y0ma30m5zsb1cz8gyzrnp";
     };
     meta.homepage = "https://github.com/filipdutescu/renamer.nvim/";
   };
@@ -5340,6 +5663,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";
@@ -5354,12 +5689,12 @@ final: prev:
 
   rnvimr = buildVimPluginFrom2Nix {
     pname = "rnvimr";
-    version = "2021-12-21";
+    version = "2022-01-10";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "rnvimr";
-      rev = "f1f16e9b6e2f702990cc1eebbf6417eb451e417e";
-      sha256 = "1bvdp6h81i2mfiyyk2yf2qr9d1aln37kvb9vjk0bfbhiilndfx9r";
+      rev = "86da77b6861a21aef04d644b7ad41751d9b66240";
+      sha256 = "06qarvvkxiz126446dd486zwi9yr7qxlgy4vwi38y2gyn793rv0q";
     };
     meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
   };
@@ -5414,12 +5749,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2021-12-09";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "7b4d155dd47e211ee661cbb4c7969b245f768edb";
-      sha256 = "11z6z8nhi4a59mxny5b9scc831qbrb5kjr318c9cdki6rav0hvqq";
+      rev = "3962fd333e729ecd06639d220a6a4e99fb71151b";
+      sha256 = "0h0di5ibnlxiwvvqwqfz3zykc8mqg1w8vhd1h04r4626ira7s5rw";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -5462,12 +5797,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPluginFrom2Nix {
     pname = "SchemaStore.nvim";
-    version = "2021-12-22";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "82b039aa402c9d138c3c4c16b1465c8a3be66117";
-      sha256 = "1z8rlwq4190gba9610p73i2c082avafxjbwmdw5hmqfpplciaz09";
+      rev = "73c15bf820f1a94b3f1e52484ff102667bc1f987";
+      sha256 = "0n2q41k69ljca5vj2kapgwffrxk478lgd7l2yg8rsd54jsav5w7q";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -5558,12 +5893,12 @@ final: prev:
 
   Shade-nvim = buildVimPluginFrom2Nix {
     pname = "Shade.nvim";
-    version = "2021-04-29";
+    version = "2022-02-01";
     src = fetchFromGitHub {
       owner = "sunjon";
       repo = "Shade.nvim";
-      rev = "0196387bba50b8d36cec99cd6483583ff2dedb42";
-      sha256 = "0831k71gm8rpl54x63v7mgp9i1fgxydp2wig3yyd98dc7z9d8f48";
+      rev = "4286b5abc47d62d0c9ffb22a4f388b7bf2ac2461";
+      sha256 = "0mb0cnf8065qmjq85hlgb4a1mqk1nwl7966l1imb54hpzw828rzl";
     };
     meta.homepage = "https://github.com/sunjon/Shade.nvim/";
   };
@@ -5679,12 +6014,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2021-12-17";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "5488b3881c3348689a6ef842653b9061a503a36f";
-      sha256 = "09l4n0cna4nz03andwmwvz0316vqzkngsk8qhxbm7zn0xra1y9cl";
+      rev = "73622eaf3764237d32395b2b589fa9231eb44b83";
+      sha256 = "0xd6kzc043bmf27bs653d8q8vkdlr33ja0k63vmikz9vk91w3czb";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -5787,12 +6122,12 @@ final: prev:
 
   splitjoin-vim = buildVimPluginFrom2Nix {
     pname = "splitjoin.vim";
-    version = "2021-11-03";
+    version = "2022-01-08";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "0f45bfd7d6a8acb7d6ac126001a27190851bf3f5";
-      sha256 = "1a5y8qj8gyrmaxh4si3k30v19yh8chws4h9k41ra1jzslrilm9ai";
+      rev = "452d1359fb14731a316be49fb446a05d2c7d2f71";
+      sha256 = "0idp98hm8qbamfdav97c94b1fj6an9vha5rpkc4727n47fj5hvlq";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -5812,12 +6147,12 @@ final: prev:
 
   srcery-vim = buildVimPluginFrom2Nix {
     pname = "srcery-vim";
-    version = "2021-11-29";
+    version = "2022-02-04";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "fca1c02b29d5f54f063122270f3e5ea8777ca958";
-      sha256 = "0a5rra4al18m3f175awz118gilg3cqx8i3k1mr0657n5hvkxbs9d";
+      rev = "2f0fd5fe6e47e7fe2a6de19a4b56ea4f86947780";
+      sha256 = "1fcrn6f05dabk6h4c5xhfczcr7mdg1hqnraas0021cr03lgnf63w";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -5906,6 +6241,18 @@ final: prev:
     meta.homepage = "https://github.com/ervandew/supertab/";
   };
 
+  surround-nvim = buildVimPluginFrom2Nix {
+    pname = "surround.nvim";
+    version = "2022-02-01";
+    src = fetchFromGitHub {
+      owner = "blackCauldron7";
+      repo = "surround.nvim";
+      rev = "549045828bbd9de0746b411a762fa8c382fb10ff";
+      sha256 = "0dw10lk7vd2axdd8kf532x9q5hrj6b8qcazni456qy2vrbipyx2x";
+    };
+    meta.homepage = "https://github.com/blackCauldron7/surround.nvim/";
+  };
+
   sved = buildVimPluginFrom2Nix {
     pname = "sved";
     version = "2021-10-22";
@@ -5920,16 +6267,29 @@ final: prev:
 
   swift-vim = buildVimPluginFrom2Nix {
     pname = "swift.vim";
-    version = "2021-09-10";
+    version = "2022-01-28";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
-      rev = "3278cf3b0522e6f08eaf11275fedce619beffe9a";
-      sha256 = "0hhi49iwkgzxhdixj0jbc4mbgad1irb056ijf7l5022r4k4gs2n8";
+      rev = "478e11812f3ddb1778918bd243d8b27c9984ab26";
+      sha256 = "15kqlbp1spkbkrgaa9dwp7dbdppncq059cps1qljpqp49qmgay2l";
     };
     meta.homepage = "https://github.com/keith/swift.vim/";
   };
 
+  switch-vim = buildVimPluginFrom2Nix {
+    pname = "switch.vim";
+    version = "2021-09-29";
+    src = fetchFromGitHub {
+      owner = "AndrewRadev";
+      repo = "switch.vim";
+      rev = "900c5d3ee79b1771c5e07bf7290068ea35881756";
+      sha256 = "0fqvwlf01v7bpsmb3ssqw1kbpvfrk7qvrwxsy4y1bnm60kvnqb7a";
+      fetchSubmodules = true;
+    };
+    meta.homepage = "https://github.com/AndrewRadev/switch.vim/";
+  };
+
   symbols-outline-nvim = buildVimPluginFrom2Nix {
     pname = "symbols-outline.nvim";
     version = "2021-12-09";
@@ -5956,12 +6316,12 @@ final: prev:
 
   tabline-nvim = buildVimPluginFrom2Nix {
     pname = "tabline.nvim";
-    version = "2021-12-15";
+    version = "2022-01-16";
     src = fetchFromGitHub {
       owner = "kdheepak";
       repo = "tabline.nvim";
-      rev = "08022d401cb158ff949c3e00ce46c7a9d7d11357";
-      sha256 = "0c9hqi5a6xbbb4xk8smaw019g484wkigswm05ayfnk7xb0bg7drl";
+      rev = "c3dfa81da0a4eab7817207fa01fdcbeed783d586";
+      sha256 = "1ihblfr8bb300vfcdvsk74inw17s4c2s9xvsxgphnh85alaxbks4";
     };
     meta.homepage = "https://github.com/kdheepak/tabline.nvim/";
   };
@@ -5980,12 +6340,12 @@ final: prev:
 
   tabnine-vim = buildVimPluginFrom2Nix {
     pname = "tabnine-vim";
-    version = "2021-09-19";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "codota";
       repo = "tabnine-vim";
-      rev = "7700a2809a08c1774bba6fa140c61bbd9831e12a";
-      sha256 = "1swc4y8njgr343hfc4qiyfxzavz9fhzg6hnrplxm3zm8i8fbqz68";
+      rev = "bcb474cafade81a7fc1ecab4bd2ceda6fe359e66";
+      sha256 = "0mpawhqhnva3xqpxq27amd6hr0nls3zsxxwzb7bsrkzk4lc2p1kj";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/codota/tabnine-vim/";
@@ -6041,12 +6401,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2021-12-08";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "0441c1c6d9b39249503bc816c7a4e5895f72729e";
-      sha256 = "0mv8pqh3llygz2b03sjklw5m1m6vdvarxyiw8kcpl4icxmc2hq19";
+      rev = "a0343f009025c0457edc92ab83b5a8ee5626d114";
+      sha256 = "14lqfkp6ldrdr67r2s5zjg9kml3llirsjbcvsczs0wmwmdl8r7bp";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -6089,16 +6449,28 @@ final: prev:
 
   tcomment_vim = buildVimPluginFrom2Nix {
     pname = "tcomment_vim";
-    version = "2021-09-07";
+    version = "2022-01-24";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tcomment_vim";
-      rev = "5c5c31121ec607011c1e382163c0bce207ac2966";
-      sha256 = "1cbalg696gcw1bbvclacrg081w1ygb7xfpv6y2w969b50m17l2lc";
+      rev = "3729ae43318faca94b0a1e878f9c6717b171d55e";
+      sha256 = "07dhmfqrk6806648a0n9y98ngzk59b55j9nnsvvka0hl27q1mkl9";
     };
     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 = "Ow7iSmosMs/hGEfnKKorZhS4tKVKal+pkZ52LIFsEu4=";
+    };
+    meta.homepage = "https://github.com/GustavoKatel/telescope-asynctasks.nvim";
+  };
+
   telescope-cheat-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-cheat.nvim";
     version = "2021-12-05";
@@ -6113,12 +6485,12 @@ final: prev:
 
   telescope-coc-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-coc.nvim";
-    version = "2021-12-15";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "fannheyward";
       repo = "telescope-coc.nvim";
-      rev = "3f34f0c3ce29b0d738924f9bd15a68333dd35d45";
-      sha256 = "0hsm2zrnh0d7682jvd16lp7864w6mb76kxc8i0hzxk2m34qxpwx7";
+      rev = "0481789b0ba59d0b13f32a33f6b1b844f829f412";
+      sha256 = "0mnxy4fvk2n5qqvqhblnflyqzjd6z8w9ifnajfilzzrdfbny87jf";
     };
     meta.homepage = "https://github.com/fannheyward/telescope-coc.nvim/";
   };
@@ -6135,6 +6507,18 @@ final: prev:
     meta.homepage = "https://github.com/nvim-telescope/telescope-dap.nvim/";
   };
 
+  telescope-file-browser-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-file-browser.nvim";
+    version = "2022-02-03";
+    src = fetchFromGitHub {
+      owner = "nvim-telescope";
+      repo = "telescope-file-browser.nvim";
+      rev = "924f5ac716bed3bb9cd933a3c96aaba751ee81fd";
+      sha256 = "17l0idp0z9h9r3svjpcy0rvmhgddr6pbsc4d2v4hqp3qkazn32ha";
+    };
+    meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
+  };
+
   telescope-frecency-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-frecency.nvim";
     version = "2021-12-06";
@@ -6184,6 +6568,18 @@ final: prev:
     meta.homepage = "https://github.com/nvim-telescope/telescope-fzy-native.nvim/";
   };
 
+  telescope-github-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-github.nvim";
+    version = "2022-01-25";
+    src = fetchFromGitHub {
+      owner = "nvim-telescope";
+      repo = "telescope-github.nvim";
+      rev = "b46686fd5a928aaf5d433dc9e2aae7d26453f530";
+      sha256 = "1dv4m8xycqq1npc99m5mdv4vh6dwcgf6p7nh1lk82kwyhz1rcw8l";
+    };
+    meta.homepage = "https://github.com/nvim-telescope/telescope-github.nvim/";
+  };
+
   telescope-lsp-handlers-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-lsp-handlers.nvim";
     version = "2021-09-07";
@@ -6198,12 +6594,12 @@ final: prev:
 
   telescope-project-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-project.nvim";
-    version = "2021-11-20";
+    version = "2022-01-23";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-project.nvim";
-      rev = "ad33c9eb67de635ded67069af7552d5162497b1e";
-      sha256 = "1m46h973wvr6bkb69msd9sj6413315qw2nndpr6rgk8vl2hd1vrr";
+      rev = "d317c3cef6917d650d9a638c627b54d3e1173031";
+      sha256 = "0kg2jh23cgbwjmvrc1cxvjka4y2j0qpi4r8dzzw0gs2nmdjmmic7";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-project.nvim/";
   };
@@ -6234,28 +6630,40 @@ final: prev:
 
   telescope-z-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-z.nvim";
-    version = "2021-12-06";
+    version = "2022-01-19";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-z.nvim";
-      rev = "6b67c31f007720ffc53360cb91bf0aa0a41408f3";
-      sha256 = "11zsvwrkakrxagkwvapv5d53fn91yl7m0kb6c0ij68qpjbhc8ljv";
+      rev = "962766a35b8e8c77f3c92612101d4b2347687c00";
+      sha256 = "1ladvpxri5lbjdh6zvbqa306f9nanx80bxy216glq2sgz7br4f1n";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-z.nvim/";
   };
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2021-12-19";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "9aaaa0c5f3eb665b51bbcafda084de4b0952fef0";
-      sha256 = "12gl563vc70grq0h583cnfnjsnj121s0a00ddgjxncrg69mssy0x";
+      rev = "f262e7d56d37625613c5de0df5a933cccacf13c5";
+      sha256 = "0gi31w0rpd14zmnnc883hji7vf8hi1njdprhm9lk3n6pslipgfmv";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
 
+  telescope-ultisnips-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-ultisnips.nvim";
+    version = "2021-09-27";
+    src = fetchFromGitHub {
+      owner = "fhill2";
+      repo = "telescope-ultisnips.nvim";
+      rev = "f48b6d4f53b31507d3fd514905c6940409e8ada8";
+      sha256 = "h2PfstopgjCMFYVOnzEX7gkkIHCamcJPJux5B+qYYww=";
+    };
+    meta.homepage = "https://github.com/fhill2/telescope-ultisnips.nvim";
+  };
+
   tender-vim = buildVimPluginFrom2Nix {
     pname = "tender.vim";
     version = "2021-05-24";
@@ -6270,12 +6678,12 @@ final: prev:
 
   terminus = buildVimPluginFrom2Nix {
     pname = "terminus";
-    version = "2021-06-12";
+    version = "2021-12-28";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "terminus";
-      rev = "e8bc19c8156d955762c31d0964eeb7c84889f42e";
-      sha256 = "1w4wc6y72mk80ivv55hs8liwa8fnhkyvly8dnny1jhfzs3bbk8kg";
+      rev = "12b07e390ea6346c91cd82edb0fa9b967164c38d";
+      sha256 = "1s964165x466hjcd3ykfd38jaqh274yygnfw34a66rhgjvhmfzmi";
     };
     meta.homepage = "https://github.com/wincent/terminus/";
   };
@@ -6304,14 +6712,26 @@ 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 = "2021-07-08";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "ron89";
       repo = "thesaurus_query.vim";
-      rev = "65e67a2dc3290d1fbed59db2a3f58944a73e7251";
-      sha256 = "1hak0ncsq43j0vblcgy9y4ylx2lazhij71sm3471cgini42klmgp";
+      rev = "23d8aa3f7d1a785e31e760e1b6b3b4c18abf8332";
+      sha256 = "0mh87m2jimblmdkfw5hr07li3zh2zmvgp23izc79k1i41v4yffsi";
     };
     meta.homepage = "https://github.com/ron89/thesaurus_query.vim/";
   };
@@ -6378,12 +6798,12 @@ final: prev:
 
   todo-comments-nvim = buildVimPluginFrom2Nix {
     pname = "todo-comments.nvim";
-    version = "2021-12-11";
+    version = "2022-01-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "todo-comments.nvim";
-      rev = "672cd22bd15928434374ac52d0cf38dd250231df";
-      sha256 = "10cydwr1gwjm8d2isij3nshyicxdjsaf47ijbmfrzl64rscmm9yp";
+      rev = "98b1ebf198836bdc226c0562b9f906584e6c400e";
+      sha256 = "02qjn45qpvxhw7zifw0a86alika5r8b5a98y1199jpdx2d7zks7j";
     };
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
@@ -6403,24 +6823,24 @@ final: prev:
 
   toggleterm-nvim = buildVimPluginFrom2Nix {
     pname = "toggleterm.nvim";
-    version = "2021-11-24";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "265bbff68fbb8b2a5fb011272ec469850254ec9f";
-      sha256 = "0xqnnd4wbcyd0akx8bk3dw5cghlg3bf255qiq0p8mbmlc5rixyzq";
+      rev = "d2ceb2ca3268d09db3033b133c0ee4642e07f059";
+      sha256 = "0ijmx8rsf8v4m32044bfzprlmbsnlphjcrzvh3jryf6sc58spx6k";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
 
   tokyonight-nvim = buildVimPluginFrom2Nix {
     pname = "tokyonight.nvim";
-    version = "2021-12-17";
+    version = "2021-12-31";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "tokyonight.nvim";
-      rev = "d5619991367bda99e0a0f44fd07e7925c774c9ca";
-      sha256 = "18qxvg2chwjf6rz3v0lbj3p4cbfzys3c72pmbm3iss9qfkk40661";
+      rev = "8223c970677e4d88c9b6b6d81bda23daf11062bb";
+      sha256 = "1rzg0h0ab3jsfrimdawh8vlxa6y3j3rmk57zyapnmzpzllcswj0i";
     };
     meta.homepage = "https://github.com/folke/tokyonight.nvim/";
   };
@@ -6463,12 +6883,12 @@ final: prev:
 
   trouble-nvim = buildVimPluginFrom2Nix {
     pname = "trouble.nvim";
-    version = "2021-12-15";
+    version = "2021-12-31";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "aae12e7b23b3a2b8337ec5b1d6b7b4317aa3929b";
-      sha256 = "10wcpyb5ag72063b16n8jibxz5f0q6c5vvjpnxq9gv320b0sd07a";
+      rev = "20469be985143d024c460d95326ebeff9971d714";
+      sha256 = "00g1w1ry2gzklxvmvgy3dpig8njaziqz64yf7bqr9vqf0nxcvb5p";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
@@ -6535,24 +6955,24 @@ final: prev:
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2021-11-23";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "2c83e40ce66814bf813457bb58ea96184ab9bb81";
-      sha256 = "0bldpwjl7jbjdzz7ds9yyr351rdfh66z15dnbw12sicjac76qfin";
+      rev = "2a06971ba1a5b3b4c0cbed996feb20d5662fdc43";
+      sha256 = "06zc93rw2bkpdi8kli9wfw3h8br1kmfqhhqrdc1b0bjw1zcawwxh";
     };
     meta.homepage = "https://github.com/SirVer/ultisnips/";
   };
 
   undotree = buildVimPluginFrom2Nix {
     pname = "undotree";
-    version = "2021-10-09";
+    version = "2022-02-03";
     src = fetchFromGitHub {
       owner = "mbbill";
       repo = "undotree";
-      rev = "bdd715338a3a0c82674153108a3deaf827d36cfb";
-      sha256 = "1g66hh0aava3kj90wijp1qcmgmfi2n8qcjs99k19yj1l9m5r12i7";
+      rev = "8a01863a8204b2382ec341d0203c4e9665212221";
+      sha256 = "0shc1wmkrhivfvgn4ahwmn0ifa57rgjq26qlaljxznjhzsiiqxp3";
     };
     meta.homepage = "https://github.com/mbbill/undotree/";
   };
@@ -6643,12 +7063,12 @@ final: prev:
 
   vifm-vim = buildVimPluginFrom2Nix {
     pname = "vifm.vim";
-    version = "2021-12-22";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "vifm";
       repo = "vifm.vim";
-      rev = "6472c7d8cc5cf7176de89a91074b8574585ee4e3";
-      sha256 = "0ficybz4kbr2zakgxh90v7af219y4wck18wibyvvhlr3f5d9b2br";
+      rev = "cc6a3d9ac374078c16a49ace984d9130b307b5e6";
+      sha256 = "15yl6pk9c9dal23jlfc356z4v26a84jhflw5v04y33wv57b1kdfa";
     };
     meta.homepage = "https://github.com/vifm/vifm.vim/";
   };
@@ -6763,12 +7183,12 @@ final: prev:
 
   vim-addon-manager = buildVimPluginFrom2Nix {
     pname = "vim-addon-manager";
-    version = "2018-07-27";
+    version = "2022-01-12";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-manager";
-      rev = "d9e865f3c2de5d9b7eabbc976f606cf1b89e29ea";
-      sha256 = "0mgm2dqw8js9gajkrvm5n3k9m1grjxcrfc9xdzb3jxw1c0njdhcy";
+      rev = "4da23170ddbba1cac70a1a2678eba26b0e8b65c8";
+      sha256 = "1axqblq95d2ry8r35sggr291sr41af0nzm7p7wch2wpqcwz9w0qi";
     };
     meta.homepage = "https://github.com/MarcWeber/vim-addon-manager/";
   };
@@ -6907,12 +7327,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-12-21";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "77d651ef1331797ee4af0b8249e54a9d9d1a18e9";
-      sha256 = "0wzhpmflp6gqwng5daw05v5ncfrknwq1hpl25jkg6d56rm37kq0c";
+      rev = "d0c67776f27eb49cccbd58008724bd6caa00ed8f";
+      sha256 = "1nnwq2csz1nvj4si3y4b85sv8rihnbzxhwcm35dawki57qnvxkpw";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -6955,12 +7375,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/";
   };
@@ -7003,12 +7423,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/";
   };
@@ -7145,6 +7565,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";
@@ -7207,12 +7639,12 @@ final: prev:
 
   vim-capslock = buildVimPluginFrom2Nix {
     pname = "vim-capslock";
-    version = "2021-08-26";
+    version = "2022-01-15";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-capslock";
-      rev = "252a9166fecf79e2e2a0b2ee4e0712364472e825";
-      sha256 = "06l2q7mmp72kag009fgyks4ajm0apfqkcqhkfc40ysad19ghn65l";
+      rev = "529b32877e144f7c1a6fabe357317c4b7d94a98e";
+      sha256 = "1jay0hv9asvqpi02zcwp23l2b90n17qbc87jbvzgzjmqjgwi5dk6";
     };
     meta.homepage = "https://github.com/tpope/vim-capslock/";
   };
@@ -7229,6 +7661,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";
@@ -7255,12 +7699,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-12-12";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "7b36b2599d7241b5918e92de231bd4e78bcaadef";
-      sha256 = "0kz2xm5qnicszvzap0b64jj9j7p2w6zmwcgk428043c2x0657sfz";
+      rev = "936edac04920196b331edf3a056c42e5b926c0aa";
+      sha256 = "153503q7rfb58ga3hislhbn98hh7gcycwmdmdq22dagxd16zrr31";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -7291,12 +7735,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/";
   };
@@ -7327,12 +7771,12 @@ final: prev:
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2021-10-16";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "f3a5dc78b94874320cc48543e31de08df20c67af";
-      sha256 = "0290wcvg0f3z9bcsd2ykqi5rw9wz60hvkc9ladh2xfrndhw77s2x";
+      rev = "27e5ac299a0714025cc46fc1da11694a8662b058";
+      sha256 = "06zp45w1mxq075lrw1x2p87l4gdc5fijgag4mj7j61jd2x92xsx7";
     };
     meta.homepage = "https://github.com/google/vim-codefmt/";
   };
@@ -7471,12 +7915,12 @@ final: prev:
 
   vim-css-color = buildVimPluginFrom2Nix {
     pname = "vim-css-color";
-    version = "2021-12-18";
+    version = "2021-12-29";
     src = fetchFromGitHub {
       owner = "ap";
       repo = "vim-css-color";
-      rev = "26ff274c20ef3929697ab31bbdeea5b42f890287";
-      sha256 = "19akvm6vks2k9bkcvzzqny9lwykw5kdjqlzv58xpb3jk70c1p4h6";
+      rev = "8bf943681f92c81a8cca19762a1ccec8bc29098a";
+      sha256 = "061x58afpl7f17ixp3sal54aymhsn0kyygdbvaqxzanzmrsgp8m7";
     };
     meta.homepage = "https://github.com/ap/vim-css-color/";
   };
@@ -7543,12 +7987,12 @@ final: prev:
 
   vim-dadbod-ui = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-ui";
-    version = "2021-11-20";
+    version = "2022-01-03";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "1b55f49028a0956bfe93ebb3d0833c2f5a5644ee";
-      sha256 = "0wh0x9yid4b1lcak0fcsm7q8z1qh85pykmcsqkal7ylq1lib1m16";
+      rev = "a4a9051044876656fe4f22a188b084258727997d";
+      sha256 = "1z16csn6ql0vnmy9646006ri9d1gxw2r7wqi9bh8sgfl2il388lp";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -7591,12 +8035,12 @@ final: prev:
 
   vim-devicons = buildVimPluginFrom2Nix {
     pname = "vim-devicons";
-    version = "2021-12-18";
+    version = "2022-01-10";
     src = fetchFromGitHub {
       owner = "ryanoasis";
       repo = "vim-devicons";
-      rev = "9252538fedd6bed5c7eff20ee6f9593676e2fed4";
-      sha256 = "0r2shfwb9i62mxl254wc9zcq3z1nf72snd0ar8sxjll5iklnzw1k";
+      rev = "a2258658661e42dd4cdba4958805dbad1fe29ef4";
+      sha256 = "044aim36332ss5zlv8vxww8gqv0pldmn3nw08msldkfxmi86ybbd";
     };
     meta.homepage = "https://github.com/ryanoasis/vim-devicons/";
   };
@@ -7651,12 +8095,12 @@ final: prev:
 
   vim-dispatch = buildVimPluginFrom2Nix {
     pname = "vim-dispatch";
-    version = "2021-12-18";
+    version = "2022-01-14";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
-      rev = "a58eaaa41f895fb729a36740a91608ed47706636";
-      sha256 = "1hq8jvmlzpbpayjn94y9ikh3442p7hzcc1qxi9y90m5m3kbddv5b";
+      rev = "00e77d90452e3c710014b26dc61ea919bc895e92";
+      sha256 = "1ind8lyghdizgs0q59k3svwdmnq8l88b8ns1qq1xvz47rh836c6w";
     };
     meta.homepage = "https://github.com/tpope/vim-dispatch/";
   };
@@ -7771,12 +8215,12 @@ final: prev:
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2021-10-06";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "elixir-editors";
       repo = "vim-elixir";
-      rev = "8ace05a9a4e225d103a9c06f6d5148d0e07408df";
-      sha256 = "0b3lk6z5l3bmxkh4syk8jrqh9s0d4kikna23990f3j06k141k6gp";
+      rev = "ff7a1223dfc5386c41bb582039a90a262d488607";
+      sha256 = "0a82c6vmdjfq1cjiakdxd9mz0ivqivrjcrppqpwch9rzp98qspag";
     };
     meta.homepage = "https://github.com/elixir-editors/vim-elixir/";
   };
@@ -7867,12 +8311,12 @@ final: prev:
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2021-10-01";
+    version = "2022-01-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "7a48f9ff0ef5f21447b2354ee52dc18b5567e05c";
-      sha256 = "1mwalnbp8pigpvai22zhzg52m25qbl7hl7r8vr8vhs277gc0lx8m";
+      rev = "e2c9e01abd2734919e65dd6fe6c84ca2a9b65a7d";
+      sha256 = "02ilz95fmp2j9azpxia38hka2n81x5x3b1knaidiaf1pifl0c7zn";
     };
     meta.homepage = "https://github.com/tpope/vim-eunuch/";
   };
@@ -7963,12 +8407,12 @@ final: prev:
 
   vim-flake8 = buildVimPluginFrom2Nix {
     pname = "vim-flake8";
-    version = "2021-07-06";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "nvie";
       repo = "vim-flake8";
-      rev = "ddceec6c457fd59bc2a9321cbf817e42aa4bfd86";
-      sha256 = "0w0g0wjikvvah6fckay2slrcl7zh9f199safhfs875g6f8halj6g";
+      rev = "5bd58732be452a32e923179673b94e5f1ed5dc9e";
+      sha256 = "0x79nnscv11xdldb26j42w268bfhw9haph03l587j2pm5bnkd9qb";
     };
     meta.homepage = "https://github.com/nvie/vim-flake8/";
   };
@@ -7987,24 +8431,24 @@ final: prev:
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2021-11-28";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "399cb86a15b7f3ef32ba40edda0ee00f2bdb842b";
-      sha256 = "0yp1w8wbbkb2jvpw00q5sd622ns28ahi1j1v95blbb93cc6wvmvk";
+      rev = "237787fe2206f8ebec1293aa5730eef71b04c69b";
+      sha256 = "1qr9cf8yk6kjm3q7pgcp2pkbli31x94vgxxzd4xx7f4ssfv8l0bl";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
 
   vim-flog = buildVimPluginFrom2Nix {
     pname = "vim-flog";
-    version = "2021-12-19";
+    version = "2022-01-02";
     src = fetchFromGitHub {
       owner = "rbong";
       repo = "vim-flog";
-      rev = "fcd459aba62fa1b1bda8338ac7686c7541fb10ae";
-      sha256 = "0626jbf4cnfshwbwzm3qhhhbvzqb5vf46nwk6igjaiay96bxj3c3";
+      rev = "2358b199117900d3e36eada1de1f2a12556a5506";
+      sha256 = "1q5ralkkgl81cnnxvz4sm06xzh85zj0pixfl9zirfz4djjab3h82";
     };
     meta.homepage = "https://github.com/rbong/vim-flog/";
   };
@@ -8059,12 +8503,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-12-08";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "365231384cf9edc32b2fc34f6c3e1b31eeabfedf";
-      sha256 = "1mibf943kpvg7b8rzir1wa7pn1akgnjbwysbyw2sqcy92ib6ls7b";
+      rev = "6c19f1ddfb74b3b21f3d1e830bee1d1ed6a72ece";
+      sha256 = "0fki0z29zlzckf8a3zg82lzi0rijn85rixrpfhb732880nrn5vbx";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -8131,12 +8575,12 @@ final: prev:
 
   vim-git = buildVimPluginFrom2Nix {
     pname = "vim-git";
-    version = "2021-12-10";
+    version = "2022-01-04";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-git";
-      rev = "6562b4fcc1aa5e1fb3d77d009e3a1d2f985578db";
-      sha256 = "0h4hmiyq9p9ywx601a5qr2ia8qgzl68qlzn85z2857pxmdv9s6w2";
+      rev = "60b6fc735c198a17657b0bd04f257e59dff184ac";
+      sha256 = "0i6qw7rmizrvrzzsccg50hvrhcz7z99r7ndxm9sh19ybhxndnjcw";
     };
     meta.homepage = "https://github.com/tpope/vim-git/";
   };
@@ -8155,36 +8599,36 @@ final: prev:
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2021-09-07";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "256702dd1432894b3607d3de6cd660863b331818";
-      sha256 = "0zpa7cs59a8sq0k3frlf9flpf30jcn239yrpmv40r7nqvxzglbpl";
+      rev = "d845704e9e60e974f7708b9b1e54ab5cca6d9454";
+      sha256 = "0gf447qhmdy3azkh0in66awpsk7jwa1bp0ivg4afigylq1s30x76";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
 
   vim-github-dashboard = buildVimPluginFrom2Nix {
     pname = "vim-github-dashboard";
-    version = "2018-09-03";
+    version = "2022-01-27";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-github-dashboard";
-      rev = "8012a2016a9e39a50081c9d5db2deb09ae4a6010";
-      sha256 = "0jkr6mz5zcpbyswmiyprcbm8l93lkg5sr46r8kyds1n2vz19cf7x";
+      rev = "a639ab203418210eff3e09cea820102a53e15f5b";
+      sha256 = "10dw9lmii3li5hw9sfbam8b2hv19dz6cxfkadmv1xz12cqwfdlwi";
     };
     meta.homepage = "https://github.com/junegunn/vim-github-dashboard/";
   };
 
   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/";
   };
@@ -8203,12 +8647,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-11-25";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "a319aaf6bf652dadb197807e4629ff5b1750a17b";
-      sha256 = "14q32d2cxh55qg2v9ykwayaanh47zx8fd3pj952x9zrhijkx5g4q";
+      rev = "f7a4509fc1d1434daf922894f0aee140c9fa3f1a";
+      sha256 = "1g0v9miazm9z9nbi3s8k5imh75kp4d1mz5q95y2aqm12bi5a7890";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -8227,12 +8671,12 @@ final: prev:
 
   vim-graphql = buildVimPluginFrom2Nix {
     pname = "vim-graphql";
-    version = "2021-09-18";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "jparise";
       repo = "vim-graphql";
-      rev = "9a9fe186a73fce636398ee7f851466ef60c9fde5";
-      sha256 = "0npqcpciq1pwm1ac6ldlyvrg7mhjg4ybrpmmld9b4nysiws97cnq";
+      rev = "15c5937688490af8dde09e90c9a5585c840ba81c";
+      sha256 = "07j704ysc2klqfjk3918b1kjq16pw1yb1fykdsi2a0lamndn9l04";
     };
     meta.homepage = "https://github.com/jparise/vim-graphql/";
   };
@@ -8335,12 +8779,12 @@ final: prev:
 
   vim-hcl = buildVimPluginFrom2Nix {
     pname = "vim-hcl";
-    version = "2021-06-03";
+    version = "2022-01-12";
     src = fetchFromGitHub {
       owner = "jvirtanen";
       repo = "vim-hcl";
-      rev = "6289d1a1424229a8f6523f4ef9441dbf2468250b";
-      sha256 = "0x33bdvacmj82m838frr40r16mc0cvb2p9alkr2gw30ls2ym3zdy";
+      rev = "80a497d14d8ca72ae5ee4b9cc6b17fc57b46a407";
+      sha256 = "18gw4iq84lkzmczfqr2yn31lh7kfnbm085h0vvq079c4fc2qa454";
     };
     meta.homepage = "https://github.com/jvirtanen/vim-hcl/";
   };
@@ -8359,12 +8803,12 @@ final: prev:
 
   vim-helm = buildVimPluginFrom2Nix {
     pname = "vim-helm";
-    version = "2021-12-13";
+    version = "2022-01-20";
     src = fetchFromGitHub {
       owner = "towolf";
       repo = "vim-helm";
-      rev = "9c65dc6ad9b0be6b11514d9d25fe828c2299b484";
-      sha256 = "0hl48dabgssybgkbs6xr27ipsmjdk6i7fa5ynhn12c9bdbs2fnxv";
+      rev = "86a63d007ffee156d759061850cda9d8daa8ea12";
+      sha256 = "17s4zbl34zi9nhn1dr7z0kyfaf7a7r466bcj195ahsz7c9a48i62";
     };
     meta.homepage = "https://github.com/towolf/vim-helm/";
   };
@@ -8396,12 +8840,12 @@ final: prev:
 
   vim-highlightedyank = buildVimPluginFrom2Nix {
     pname = "vim-highlightedyank";
-    version = "2020-03-05";
+    version = "2022-01-25";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-highlightedyank";
-      rev = "931cc6bd53e4a1fdbe592751f0e13c0e401f0a49";
-      sha256 = "091qw0zlc80micn29wb6r8m4f7pplcv8bx1yfvbn3cba77qyj3nb";
+      rev = "ff16bf3bac23fb4e17c976f4e1ff7941cd686c8d";
+      sha256 = "0slnykqkbqnncz0vjwhf9p9x8wi5p8xfv485wbip1njd6vqhd965";
     };
     meta.homepage = "https://github.com/machakann/vim-highlightedyank/";
   };
@@ -8504,12 +8948,12 @@ final: prev:
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2021-12-21";
+    version = "2022-01-13";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "8e68a8c75eee7fbfb5e94d779979fa41713ec8b2";
-      sha256 = "10gl1gj5apmn2yjr4fdm51n0wxgkx951d7hz7zfd0xhxyvsmp8dj";
+      rev = "db98338285574265a6ce54370b54d9f939e091bb";
+      sha256 = "1inhds5za9v7nja3xv1s7iwcpzd91diixq95bhknp758np6z6yj2";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -8733,12 +9177,12 @@ final: prev:
 
   vim-kitty-navigator = buildVimPluginFrom2Nix {
     pname = "vim-kitty-navigator";
-    version = "2021-11-26";
+    version = "2022-02-04";
     src = fetchFromGitHub {
       owner = "knubie";
       repo = "vim-kitty-navigator";
-      rev = "443287463671020b461cec020ced52840723b95d";
-      sha256 = "0a0jy6vk7cdb0hijrrnvliak0gbyl1hh1hljlrrhdvxmqmch0022";
+      rev = "8d9af030c8a74cdda6ab9a510d9a13bca80e8f9b";
+      sha256 = "03rf49w3x67aayfn6hl0jhf4gik1scq4khhnvicp1zabdn8cq175";
     };
     meta.homepage = "https://github.com/knubie/vim-kitty-navigator/";
   };
@@ -8925,12 +9369,12 @@ final: prev:
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2021-12-21";
+    version = "2022-01-15";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "69e6340c48571cc813c52d6acc2057b8aea6e742";
-      sha256 = "0f8sg66l579lyq1apbksr22a9h9hdv94nvs2d36sb2c2f8im3g6k";
+      rev = "66b56c026fa24f76f38d3bc99bd478eff9aa4be3";
+      sha256 = "0bq0h3wla97jfvvkgw5ylmfyj4jbxml6y8gl2abnanwb3ympy3mb";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -8973,12 +9417,12 @@ final: prev:
 
   vim-manpager = buildVimPluginFrom2Nix {
     pname = "vim-manpager";
-    version = "2020-10-28";
+    version = "2022-01-28";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "vim-manpager";
-      rev = "c23c02dd79b0a5cabe140d1f10f9aa2591cf55ed";
-      sha256 = "0g61qbp4vl010isigp6j3jjb3vb2kxalcbb56xzfa6c9k5zap5j9";
+      rev = "194607a8d1bd122ad811ef601eb04a3df7786d59";
+      sha256 = "0qnm4k0frki3p9fpb6h4xnv1dxijk9aqcd7glq28c216gh395a5d";
     };
     meta.homepage = "https://github.com/lambdalisue/vim-manpager/";
   };
@@ -8997,24 +9441,24 @@ final: prev:
 
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
-    version = "2020-07-14";
+    version = "2022-02-09";
     src = fetchFromGitHub {
-      owner = "plasticboy";
+      owner = "preservim";
       repo = "vim-markdown";
-      rev = "8e5d86f7b85234d3d1b4207dceebc43a768ed5d4";
-      sha256 = "013vh2rnfifm5j56imar03rvchz68ll4lbgy9y8fbw7s9a0k6yaa";
+      rev = "b4dc23e2b0c4ce1ed77eb630bf04238ee2871e2e";
+      sha256 = "1b4dz229a5qlfdigc4h0chrdb368bkskq11g6a6mc0fhnzm20j1i";
     };
-    meta.homepage = "https://github.com/plasticboy/vim-markdown/";
+    meta.homepage = "https://github.com/preservim/vim-markdown/";
   };
 
   vim-markdown-composer = buildVimPluginFrom2Nix {
     pname = "vim-markdown-composer";
-    version = "2020-08-15";
+    version = "2022-01-04";
     src = fetchFromGitHub {
       owner = "euclio";
       repo = "vim-markdown-composer";
-      rev = "c0f98ec3d6c4cb49455c18f2aeb83c0dcbad1bc4";
-      sha256 = "10vb3p8gksjy8zfzlkhirdsjwgvh1yv19plxwr404x87j393rs7n";
+      rev = "010ae3667fb0cb4c63c99439d1a8f81ebdcc849e";
+      sha256 = "1hz0xjq0srv3llb4i6n2sw0pi2s0k3qcwyk6az5icrvkfhbnc0kf";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/euclio/vim-markdown-composer/";
@@ -9022,24 +9466,24 @@ final: prev:
 
   vim-markdown-toc = buildVimPluginFrom2Nix {
     pname = "vim-markdown-toc";
-    version = "2021-03-02";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "mzlogin";
       repo = "vim-markdown-toc";
-      rev = "b7bb6c37033d3a6c93906af48dc0e689bd948638";
-      sha256 = "026xf2gid4qivwawh7if3nfk7zja9di0flhdzdx82lvil9x48lyz";
+      rev = "70dd06e9358859f712cc7cf40e267fdac93cc7ff";
+      sha256 = "1xin3j5ccg6j6ny9la4shknqnk3i6pf7awkg1rgxqlrd4pwcq5pr";
     };
     meta.homepage = "https://github.com/mzlogin/vim-markdown-toc/";
   };
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2021-11-30";
+    version = "2022-02-04";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "ef044ee012baa01d6f4ad79a04eeb5edb5bc7d84";
-      sha256 = "19hfg4ihx36rs14mcmr60s6mk1v28db2aba2w44cnisq4mm6y4qy";
+      rev = "0fd7055cc23109f3dbb65aadee664c663a4d5f94";
+      sha256 = "0w19jb52xwifiigivard7xxhfp4qjfqjf7fygk7b2bbhbrh1qnb8";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -9154,12 +9598,12 @@ final: prev:
 
   vim-mundo = buildVimPluginFrom2Nix {
     pname = "vim-mundo";
-    version = "2021-11-09";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "simnalamburt";
       repo = "vim-mundo";
-      rev = "e193f185bad3aa58446e771f8f2739abf11d3262";
-      sha256 = "1q2j88rcg0slvm2bfdri4fy42h5a2md9bbqsspb3kzx5yrhgawhp";
+      rev = "595ee332719f397c2441d85f79608113957cc78f";
+      sha256 = "0kwiw877izpjqfj4gp4km8ivj6iy2c2jxyiqgxrvjqna62kic0ap";
     };
     meta.homepage = "https://github.com/simnalamburt/vim-mundo/";
   };
@@ -9248,6 +9692,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";
@@ -9298,12 +9754,12 @@ final: prev:
 
   vim-ocaml = buildVimPluginFrom2Nix {
     pname = "vim-ocaml";
-    version = "2021-10-25";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "ocaml";
       repo = "vim-ocaml";
-      rev = "2ebddd0ef575193e2aac31172f8f3a5f543f530f";
-      sha256 = "1n2k6picc99j5vs036mp2ws6v8iyal812k7s653zxv8qgvn676mi";
+      rev = "335ebc6e433afb972aa797be0587895a11dddab5";
+      sha256 = "079pfc897zz36mb36as7vq38b9njy42phjvmgarqlyqrwgjc0win";
     };
     meta.homepage = "https://github.com/ocaml/vim-ocaml/";
   };
@@ -9370,12 +9826,12 @@ final: prev:
 
   vim-orgmode = buildVimPluginFrom2Nix {
     pname = "vim-orgmode";
-    version = "2021-06-29";
+    version = "2022-01-23";
     src = fetchFromGitHub {
       owner = "jceb";
       repo = "vim-orgmode";
-      rev = "4ad432d7da4e01e7fce86d25528a6587efce6ca4";
-      sha256 = "0lhgph6hp130sbbc1frsmrjp9qrf6gqk12azjq63bb0rs5884q5h";
+      rev = "66cd7ee69a9cddc73f65566e32da159f1e51401f";
+      sha256 = "1ywf5vcn3b8isfw4gxqfplchn94jvbqvaap15w1yk5ljmp46gxgk";
     };
     meta.homepage = "https://github.com/jceb/vim-orgmode/";
   };
@@ -9574,12 +10030,12 @@ final: prev:
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2021-12-06";
+    version = "2022-01-03";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "68488fd7a388d31704643a3257eb97920bcdd54a";
-      sha256 = "025xwbzip1p7m8jhv0qh5m6bcf6yw6rr3zm22sknhzzls3byphmm";
+      rev = "e300178a0e2fb04b56de8957281837f13ecf0b27";
+      sha256 = "0bfgadn31n516x0m0kr88jk9x79rl6zllnwij759wpazmw1p0xg8";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -9598,12 +10054,12 @@ final: prev:
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2021-12-21";
+    version = "2022-01-23";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "cb80947143fe342797bcf571b6190c86b3c07700";
-      sha256 = "0inim34psrkndsr93q1ax8xpg9hcjfchfn7dp84hc629bc2ziv13";
+      rev = "2c5af8f89d3e61e04e761c07a1f043b0f35203c6";
+      sha256 = "1aajyfcxw7d9dfhakz6jzkhc6dvb6dckwv3q77f5cfnc5s6rfnz3";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -9670,24 +10126,24 @@ final: prev:
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2021-12-06";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "ddfa49f9ece73aca44d2b45d693e7b58adbf8f8c";
-      sha256 = "0kr79qila32j24mlcq044g07wwvaii5mqra6bjmpnxdlr535s08m";
+      rev = "a1ff5b95b4e3965c285a1983b930a4bcfd7dd87e";
+      sha256 = "1zxwlsnnmq8x56gy37y66hyvir0qzaaf98fkz0d5kyv8nqqirclz";
     };
     meta.homepage = "https://github.com/tpope/vim-projectionist/";
   };
 
   vim-prosession = buildVimPluginFrom2Nix {
     pname = "vim-prosession";
-    version = "2021-12-10";
+    version = "2022-01-20";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-prosession";
-      rev = "47709f9671f23fb9a6b16d3b5ac29628358f9f40";
-      sha256 = "0za6m05g2rp242pp2g9gm6wgi6p7whdq6nnc7vrkvrhjkvq6b6zj";
+      rev = "8f3519a8c274767ae04134377abf144c75ebf534";
+      sha256 = "1cxcnv2y5hmj1a5prddq3909xln26gfh8lhv62yqi5ckmrpzn64v";
     };
     meta.homepage = "https://github.com/dhruvasagar/vim-prosession/";
   };
@@ -9838,12 +10294,12 @@ final: prev:
 
   vim-rails = buildVimPluginFrom2Nix {
     pname = "vim-rails";
-    version = "2021-12-19";
+    version = "2022-01-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "3bac0233a49d2a00805c66bf17d3e2ea114b05d1";
-      sha256 = "0grk2jz655kmjdnhb19d2lhqi1xirl5g4577harw22ck1c7kdjvj";
+      rev = "de73f6d1b0bf1b2af2d576f3420fc861af14769f";
+      sha256 = "18lqsvnacgj5pb35qvw0bk9dpsddj63k4bmyzp8syikpqq3dzn26";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -9934,36 +10390,36 @@ final: prev:
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2021-11-22";
+    version = "2021-12-31";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "5bd142973816705364ce485b437f291687acc9ea";
-      sha256 = "0b5a8658w8fgkyiy77rv4r3y3lylli21j69frpnzmncwj8lvncax";
+      rev = "3b0c329d823b4736b8f5bae8ab546fb690fc0aa2";
+      sha256 = "1r10l7q1wy84insjpzkqg2z4dxv8qja0fgpnwldh6rgh3bz60q0a";
     };
     meta.homepage = "https://github.com/vim-ruby/vim-ruby/";
   };
 
   vim-salve = buildVimPluginFrom2Nix {
     pname = "vim-salve";
-    version = "2021-12-19";
+    version = "2022-01-14";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-salve";
-      rev = "1a581fa047592d0bd430cda2f3ff8ec77345a2b2";
-      sha256 = "0q8dhlizilgvfr45s33j4nax74xns2lm4iq61nyy3899s6fhfjw5";
+      rev = "7f66b7a6446fc259798c5525ba15d4e65e2fd142";
+      sha256 = "12xcql1sl23jbni6xh2cvhjxr4byaz3d987frsp41gdxkaig12cq";
     };
     meta.homepage = "https://github.com/tpope/vim-salve/";
   };
 
   vim-sandwich = buildVimPluginFrom2Nix {
     pname = "vim-sandwich";
-    version = "2021-11-30";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-sandwich";
-      rev = "cfe8b70e4f404e3bbb9d4e97e082a4294a5762a4";
-      sha256 = "0mcx85knnfmyjz0lbz6zbrv6gry8d9bp2z21af7riz93g7zi01z7";
+      rev = "48acdaded60c6b75fce06a0d61183ee99950c0ec";
+      sha256 = "0rijq9xwm3n84vpjzyvcpy6r58y6ma2pxj61h86122wda5ymwxwg";
     };
     meta.homepage = "https://github.com/machakann/vim-sandwich/";
   };
@@ -10078,12 +10534,12 @@ final: prev:
 
   vim-signify = buildVimPluginFrom2Nix {
     pname = "vim-signify";
-    version = "2021-05-19";
+    version = "2021-12-27";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-signify";
-      rev = "22f05607d4d7406781af56cafc1121152988c6d2";
-      sha256 = "1rq5d3v5qvv0hnvk18q66zd8963flnjvxb4b65vh88md15qc3p3j";
+      rev = "69498f6d49f3eeac06870012416dd9bf867b84f3";
+      sha256 = "1c7arf2m7sbmjbf5q1cc3sxpx3y086gfsvf1d3r75k2n7zyyiis6";
     };
     meta.homepage = "https://github.com/mhinz/vim-signify/";
   };
@@ -10114,24 +10570,24 @@ final: prev:
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2021-12-21";
+    version = "2022-01-25";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "e362d3552ba2fcf0bc1830a1c59e869b1c6f2067";
-      sha256 = "0d292s94krvq8pl3rb0y8z2qsw89rqz4cqikal0kp08jx0q384w0";
+      rev = "65ade2453342062010386e226eaa754889e2b557";
+      sha256 = "005z7l99lp89lwz7y8a2gfrnby3j2macncbpprjfmnwc0f1y9wvg";
     };
     meta.homepage = "https://github.com/tpope/vim-sleuth/";
   };
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2021-12-19";
+    version = "2022-01-13";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "3d3e5fac8c15719f2117923134ce51f6ae269d3f";
-      sha256 = "1iqnwhpc0p3mjji99m710bqwfk5ymxnc6jg3rv4qbrlz784nc1mm";
+      rev = "0ea9b35882155996171fd15a5227e673ce2d2c60";
+      sha256 = "1palz3375v400fjlxwpc4drm36rnffz86mdkyqdqssvm41fv0wkx";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -10210,12 +10666,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2021-12-18";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "e2156cda628fe065be64e96347594c1d20812aea";
-      sha256 = "1c7228zvlhcgc2lgv6752mxcq1aghi9bnanwqv70rfsaj8yr2qv7";
+      rev = "851c39c38f48c47f9aa937f83cda314ab1c8dd44";
+      sha256 = "04ni3fnci1h9sqrmchwad9bsqmnq9ix0lvh6mssy4s38pkl677l8";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -10294,24 +10750,24 @@ final: prev:
 
   vim-startuptime = buildVimPluginFrom2Nix {
     pname = "vim-startuptime";
-    version = "2021-12-19";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "8a5e182f491ba7e4aca86c88face10c80ac2bf7e";
-      sha256 = "1mgx4cncqmx390lz65kl8majnh55hyl2k26vc5w6kwh7806i5yla";
+      rev = "13ad9c4ce43538601eb9b94dae2c55dccb5cab7e";
+      sha256 = "1v8g6is8aw0wlfmxypdkdnx2vd53f3k13i9sqyq3kayj32k22cwn";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
 
   vim-strip-trailing-whitespace = buildVimPluginFrom2Nix {
     pname = "vim-strip-trailing-whitespace";
-    version = "2021-01-03";
+    version = "2022-02-01";
     src = fetchFromGitHub {
       owner = "axelf4";
       repo = "vim-strip-trailing-whitespace";
-      rev = "9a93dd653806ba3f886b2cf92111b663ce8d44bd";
-      sha256 = "1pvirqj21xl2qbs9ycdp7n3lnf4n8b2bz1y90nphnvda4dfaac8l";
+      rev = "59385775cbe416b2797ec5e2c7eb445a3398dd46";
+      sha256 = "04v3hnljl9lxil6nqnrfsldyyhaz50l3sppifmpa27c2gd1w1v0y";
     };
     meta.homepage = "https://github.com/axelf4/vim-strip-trailing-whitespace/";
   };
@@ -10342,24 +10798,24 @@ final: prev:
 
   vim-subversive = buildVimPluginFrom2Nix {
     pname = "vim-subversive";
-    version = "2020-05-23";
+    version = "2022-01-26";
     src = fetchFromGitHub {
       owner = "svermeulen";
       repo = "vim-subversive";
-      rev = "5695f97fc803767bf657a5e512daec19dd1fd786";
-      sha256 = "0lksvgk3g2yqbm8pw8ba5f8594djh5cj795hwjhnxc8rrhl29qpq";
+      rev = "6286cda3f9222bfd490fe34a00a2d8cd4925adec";
+      sha256 = "1lsfxrdxqzk0pqrv6him2s4j0vl1khxa5njknsbn8bvmshv8grap";
     };
     meta.homepage = "https://github.com/svermeulen/vim-subversive/";
   };
 
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2021-10-12";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "aeb933272e72617f7c4d35e1f003be16836b948d";
-      sha256 = "1b0bd5m5lv1p4d299mrwjfs2gk0zqwyaqdaid9hs9yqlxnr8s5nf";
+      rev = "baf89ad26488f6a7665d51b986f5c7ad2d22b30b";
+      sha256 = "0kzp1g2zw2an0z7bb8h4xs8jf17z0mnn0zf6v1wkipvz6nvp7di8";
     };
     meta.homepage = "https://github.com/tpope/vim-surround/";
   };
@@ -10390,12 +10846,12 @@ final: prev:
 
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
-    version = "2021-12-01";
+    version = "2022-01-21";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
-      rev = "c547471c0ed32b8511f62752974cde5277e13df4";
-      sha256 = "1qdrd87b91013z1br67j1j45s4iva7ah1r52zkkr0sj0pbiiqh7r";
+      rev = "9191af46b6bee8d3e3474c7f8ea134c800e55985";
+      sha256 = "0szp8n82qmjwpm8skq3zqbmk0j9b269h86v7p6qlwdjnvr39hnis";
     };
     meta.homepage = "https://github.com/dhruvasagar/vim-table-mode/";
   };
@@ -10451,12 +10907,12 @@ final: prev:
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2021-12-21";
+    version = "2022-01-22";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "2d240b96221a8ef2cf2ed9db59f14c5871df80f0";
-      sha256 = "1yc4mjhx2vv6ybpn9yblg4zfv7cmf2glsvvr1a5wsq0w0mn3yv69";
+      rev = "2ace9a12253140f1bdf4318a46ca9076658dd147";
+      sha256 = "04bnymydy84z4gqnyjkkddvacmsqccbxiwm8p5hinlnyp6ahjjjd";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -10631,12 +11087,12 @@ final: prev:
 
   vim-tpipeline = buildVimPluginFrom2Nix {
     pname = "vim-tpipeline";
-    version = "2021-12-21";
+    version = "2022-02-01";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "513bc9cb4cab4d2eb849a647eb07cf3a2292a6fc";
-      sha256 = "1plr9v5wscl9c04q2gl8wpyn3kdx9bzqgn25l1qi97izfpmzzdhl";
+      rev = "3758476a99644e8071b240184af3c74bc00373f1";
+      sha256 = "0ilhyam3av9hd685938abz3h4qfpgxcv81qhr71fr8fwbfb8k2w5";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -10679,24 +11135,24 @@ final: prev:
 
   vim-twiggy = buildVimPluginFrom2Nix {
     pname = "vim-twiggy";
-    version = "2021-11-24";
+    version = "2022-01-10";
     src = fetchFromGitHub {
       owner = "sodapopcan";
       repo = "vim-twiggy";
-      rev = "25399d85fc07054c534c7808476e763849cdcb02";
-      sha256 = "14cqyjvhabiw4izmdh69mj8qvb65cw5q28frl2hmdqf492r7h98z";
+      rev = "7a2161991722a811c4ff06b3ce0119dd180729fd";
+      sha256 = "1fk3a14sickfkls4khkv2zykfy0093whsl020h61xf5c8g8byv6y";
     };
     meta.homepage = "https://github.com/sodapopcan/vim-twiggy/";
   };
 
   vim-ultest = buildVimPluginFrom2Nix {
     pname = "vim-ultest";
-    version = "2021-12-16";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "vim-ultest";
-      rev = "04024e7568f4b341e858c6f65b532b554e92e2f1";
-      sha256 = "1h8wfk6pzlfrn368xs0m4sl6g6wkrd0bxpa4nrjr1lr100ia2gp5";
+      rev = "0aa467db97a075c576e97424865a57a457fd4851";
+      sha256 = "0ds8a0qn4dx332rpfwjmk09iaqjjd7wiqp91j1c84ysjnc2c1pfk";
     };
     meta.homepage = "https://github.com/rcarriga/vim-ultest/";
   };
@@ -10715,12 +11171,12 @@ final: prev:
 
   vim-unimpaired = buildVimPluginFrom2Nix {
     pname = "vim-unimpaired";
-    version = "2021-10-18";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "e4006d68cd4f390efef935bc09be0ce3bd022e72";
-      sha256 = "048n8p7bjpcwdk924glqkwkp10fl813ffrjsagwwzsnakax3da5f";
+      rev = "f992923d336e93c7f50fe9b35a07d5a92660ecaf";
+      sha256 = "04l0v2jgkvhkfjj7j5r7x81gq2zwbjh5vh4p860p38razq6aixpl";
     };
     meta.homepage = "https://github.com/tpope/vim-unimpaired/";
   };
@@ -10739,12 +11195,12 @@ final: prev:
 
   vim-vinegar = buildVimPluginFrom2Nix {
     pname = "vim-vinegar";
-    version = "2021-09-02";
+    version = "2022-01-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-vinegar";
-      rev = "43576e84d3034bccb1216f39f51ed36d945d7b96";
-      sha256 = "17zg5x4n9y14qw68hj0sphpghwqccafhyy4ld1b65vglz40zqi3v";
+      rev = "bb1bcddf43cfebe05eb565a84ab069b357d0b3d6";
+      sha256 = "0836s6dl12qdk6x9ihp30h8w6f5lmbs28vmp0njza5fi0m7xb4df";
     };
     meta.homepage = "https://github.com/tpope/vim-vinegar/";
   };
@@ -10787,24 +11243,24 @@ final: prev:
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2021-12-16";
+    version = "2022-01-06";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "fd13f3fb09823cdefb2c9bebb614a13afd1920cc";
-      sha256 = "0npflxwclwcs72wk8kgsccqfh5783hvmxzirz3qf8yznllj8k8rs";
+      rev = "7fde9c0b6878a62bcc6d2d29f9a85a6616032f02";
+      sha256 = "1f0p9pk2a2fxcdf4p35vm0jyrxkkxkqgn1v8fyd622vmcrbrj860";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
 
   vim-vsnip-integ = buildVimPluginFrom2Nix {
     pname = "vim-vsnip-integ";
-    version = "2021-12-13";
+    version = "2022-01-12";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip-integ";
-      rev = "685b570acf24b37eaf6176180b81fabcb5e6ccc2";
-      sha256 = "0d2s9pfj5961z2n0rh44ibqk4923ynp23g28wfg0ga70fx8iqyxl";
+      rev = "5541e4ac18c732700c4310c86384bea19644d4a7";
+      sha256 = "0ilx1vmn76vnqf8v699jad0jshpg63v0m1f8ck1mh3zp53430d4q";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip-integ/";
   };
@@ -10823,12 +11279,12 @@ final: prev:
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2021-12-13";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "85e95ac35633b6b38222773a37230ade262e1a3e";
-      sha256 = "0n85v6a1zkq2psmv35b55pylq93cm0y213xrpf0afn85h0bdvv3q";
+      rev = "b6754ace510ffa931bceb47df417a9ef3a87cb6b";
+      sha256 = "13dfaf6y0yfnbnxl43fc0jwqv45gigki4iyhb4698fhmcy105jv6";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -10869,14 +11325,26 @@ final: prev:
     meta.homepage = "https://github.com/liuchengxu/vim-which-key/";
   };
 
+  vim-windowswap = buildVimPluginFrom2Nix {
+    pname = "vim-windowswap";
+    version = "2018-05-16";
+    src = fetchFromGitHub {
+      owner = "wesQ3";
+      repo = "vim-windowswap";
+      rev = "15db3f697aa1fa696d99fcdc920c90cd2cec855e";
+      sha256 = "1zzgwxv0a4i1qlig1c3n6n9ns2fqkkv6jqc2qxcipn6v6v88sl2b";
+    };
+    meta.homepage = "https://github.com/wesQ3/vim-windowswap/";
+  };
+
   vim-wordmotion = buildVimPluginFrom2Nix {
     pname = "vim-wordmotion";
-    version = "2021-09-12";
+    version = "2021-12-28";
     src = fetchFromGitHub {
       owner = "chaoren";
       repo = "vim-wordmotion";
-      rev = "02e32fcb062553a8293992411677e12cacccb09d";
-      sha256 = "1bbaxk5b0cvikmls4r0z3k0zxpmnjzwdv6grs0m6vfyiszcpvm1h";
+      rev = "0d810cc943a858a570a482055188b5e69c4c8724";
+      sha256 = "0d0sf7dzzawssfn1dq61485vbykwmzc1g4qk91qnl68w9h4xlpgl";
     };
     meta.homepage = "https://github.com/chaoren/vim-wordmotion/";
   };
@@ -10907,24 +11375,24 @@ final: prev:
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
     pname = "vim-xkbswitch";
-    version = "2021-08-30";
+    version = "2021-12-29";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
-      rev = "04acea43fce810e19cf46efedee05bd6ced3cf84";
-      sha256 = "01wdqn6zb3a9aij58293hrxagvhsjr8rq4fa6rqm7cq7pm4bkgli";
+      rev = "17aaeece90075ee4990da21ef662107a243fdbc9";
+      sha256 = "0mvx5im6ryrnqq0mq0z4lfks20cryz8rnrl8347nrhw9vsb1sb2v";
     };
     meta.homepage = "https://github.com/lyokha/vim-xkbswitch/";
   };
 
   vim-xtabline = buildVimPluginFrom2Nix {
     pname = "vim-xtabline";
-    version = "2021-10-15";
+    version = "2022-02-03";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-xtabline";
-      rev = "2797c6c9d5278241a5932b5b31168fe2daa894de";
-      sha256 = "1rvnm0xk8s9m6s9aycbzlnxbl8f03c3dqn74qrz5pw0r0vclfsv5";
+      rev = "ccfa687d4f8d34bc2e23facc9b92c3abb90e5f93";
+      sha256 = "0hrzwnnfdlb21wi3rj91k739v8dwi51w4llip669sw22ad0xz9la";
     };
     meta.homepage = "https://github.com/mg979/vim-xtabline/";
   };
@@ -10991,12 +11459,12 @@ final: prev:
 
   vimade = buildVimPluginFrom2Nix {
     pname = "vimade";
-    version = "2021-12-02";
+    version = "2022-01-31";
     src = fetchFromGitHub {
       owner = "TaDaa";
       repo = "vimade";
-      rev = "4f7f2ae1821dabffce52a566e7bc653012cb4940";
-      sha256 = "088yi1bb7dn2jsa4i42pi7viils3xcqln6cn84571ri5p1fs59vi";
+      rev = "b0ce0820240e72a330bd388caa48baf434f1a0e3";
+      sha256 = "1yknp4fjdwkc5sfw8f6rkhffa1k7lz3pa9q62v9ifj27a0gykwsd";
     };
     meta.homepage = "https://github.com/TaDaa/vimade/";
   };
@@ -11013,6 +11481,18 @@ final: prev:
     meta.homepage = "https://github.com/jreybert/vimagit/";
   };
 
+  VimCompletesMe = buildVimPluginFrom2Nix {
+    pname = "VimCompletesMe";
+    version = "2020-12-30";
+    src = fetchFromGitHub {
+      owner = "ackyshake";
+      repo = "VimCompletesMe";
+      rev = "2c69e30675d2a30208099742d14bd661d99fc5f2";
+      sha256 = "0gjzl0027xjkq0mbqs9grab38ghwnixr57b4wicl113yd76hyb5i";
+    };
+    meta.homepage = "https://github.com/ackyshake/VimCompletesMe/";
+  };
+
   vimelette = buildVimPluginFrom2Nix {
     pname = "vimelette";
     version = "2019-05-02";
@@ -11111,12 +11591,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2021-12-21";
+    version = "2022-02-02";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "9e833b22a7aee667e92fb578130fa617369d5b23";
-      sha256 = "1r0m54h1f277ldjxh9qz87w2wrjvsmy6hfp0sbz77gzvkighqg9l";
+      rev = "670fb84fcf623c3978fa3d91a7cce8ac8a21674d";
+      sha256 = "1f7ibgnzsmakxspzn4xhhscbw9hq61cs3s4v2zr3xawdc5cf89gq";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -11124,12 +11604,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-12-19";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "3cd379482b3d680ddb5b13c484c5d6c4b5d5a028";
-      sha256 = "1ra9vdd03v6xpflcmlhrmahxqhrqqxyl76mhyn7yyny3hz6632m3";
+      rev = "950f9e5ea26cf7f63cd9f0bf71bbae87e70c2158";
+      sha256 = "0gc7zh1h60mnds2xgsliblxg951swcnafxxla1w74yjjsn9cmsbd";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -11232,24 +11712,24 @@ final: prev:
 
   which-key-nvim = buildVimPluginFrom2Nix {
     pname = "which-key.nvim";
-    version = "2021-12-17";
+    version = "2022-01-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "which-key.nvim";
-      rev = "312c386ee0eafc925c27869d2be9c11ebdb807eb";
-      sha256 = "0v5lra7bhpna7fmch6h4r6cx7z5rr3kbp1b2c0np4k28znva3l2g";
+      rev = "28d2bd129575b5e9ebddd88506601290bb2bb221";
+      sha256 = "13k1q7zkwr5bfc2lj97nk4npy0gk49r1qbac49aib7fyzirkagkg";
     };
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
 
   wilder-nvim = buildVimPluginFrom2Nix {
     pname = "wilder.nvim";
-    version = "2021-10-31";
+    version = "2022-01-09";
     src = fetchFromGitHub {
       owner = "gelguy";
       repo = "wilder.nvim";
-      rev = "f7071a649e8eff744b36b055f02bbb952efc4cbb";
-      sha256 = "0f3r9l2brk75qs9m8rn6sxlbmg80n51cmh7j3ss66k7al52xpphc";
+      rev = "f50d79a3f9ef07be3c0c8a0f49faaeea803a8c0c";
+      sha256 = "0188kmh2ck1a5254i3gdk1p6p2z7wdq3prj66lslbhyard8gzxjq";
     };
     meta.homepage = "https://github.com/gelguy/wilder.nvim/";
   };
@@ -11266,6 +11746,18 @@ final: prev:
     meta.homepage = "https://github.com/gcmt/wildfire.vim/";
   };
 
+  winshift-nvim = buildVimPluginFrom2Nix {
+    pname = "winshift.vim";
+    version = "2021-11-15";
+    src = fetchFromGitHub {
+      owner = "sindrets";
+      repo = "winshift.vim";
+      rev = "aaa04b97640165eb0877bfc04943f4282887470b";
+      sha256 = "g5v/qd1FNg7mMZif7Liga3BAnZV7Mi7hkqnCUEFk52U=";
+    };
+    meta.homepage = "https://github.com/sindrets/winshift.nvim";
+  };
+
   wmgraphviz-vim = buildVimPluginFrom2Nix {
     pname = "wmgraphviz.vim";
     version = "2018-04-26";
@@ -11352,12 +11844,12 @@ final: prev:
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats.vim";
-    version = "2021-11-02";
+    version = "2022-01-05";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "7cf70a6c9ef0ce6657aede257e9c42a03b8f86a9";
-      sha256 = "01insbxp68vxhcmqcajy7b6hzj6va4l8f5rqyflphh9pnxrc8pyp";
+      rev = "3e6a46271fe307741dbd06507e36ec08f118263a";
+      sha256 = "06aw72jpssi0ppadqw77cyfn6w9r87984h85f58bfffd8v0s9arg";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
@@ -11365,12 +11857,12 @@ final: prev:
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2021-12-13";
+    version = "2022-01-11";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "3c5a06301ed0f68d798c9df5aafa9a15bff1940f";
-      sha256 = "085pzcib06236vn78slhcg8n4iiirf0aqn777afdxp2zrsqnmlzr";
+      rev = "7684b6c6b49f8d3bdbd17ecdc9ee7d228039808e";
+      sha256 = "1g84g4lgpxgyb7cicdz6dxgmp4gliq0633lblcwsya7m35r8c7ls";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -11400,6 +11892,18 @@ final: prev:
     meta.homepage = "https://github.com/KabbAmine/zeavim.vim/";
   };
 
+  zen-mode-nvim = buildVimPluginFrom2Nix {
+    pname = "zen-mode.nvim";
+    version = "2021-11-07";
+    src = fetchFromGitHub {
+      owner = "folke";
+      repo = "zen-mode.nvim";
+      rev = "f1cc53d32b49cf962fb89a2eb0a31b85bb270f7c";
+      sha256 = "1fxkrny1xk69w8rlmz4x5msvqb8i8xvvl9csndpplxhkn8wzirdp";
+    };
+    meta.homepage = "https://github.com/folke/zen-mode.nvim/";
+  };
+
   zenburn = buildVimPluginFrom2Nix {
     pname = "zenburn";
     version = "2021-09-15";
@@ -11426,12 +11930,12 @@ final: prev:
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig.vim";
-    version = "2021-12-16";
+    version = "2022-01-28";
     src = fetchFromGitHub {
       owner = "ziglang";
       repo = "zig.vim";
-      rev = "045bb41776280df1adaa2d63c7166684bf631a00";
-      sha256 = "1d4l6x9rwfxr9a2yfhq4ywhm72sky35ki0mr3hq7xy6xj5lpwgq7";
+      rev = "0762d89c24f5a1da6bf26ca83f3719c379008ff9";
+      sha256 = "00vfyi79m85d8pv0cnhyj82nqlnwiqs5pkzbr9yn8mvy6r0hscf3";
     };
     meta.homepage = "https://github.com/ziglang/zig.vim/";
   };
diff --git a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
index 5f502cfee5df..da04fee9c95f 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
@@ -10,7 +10,7 @@
 , substituteAll
 
   # Language dependencies
-, python
+, python2
 , python3
 , rustPlatform
 
@@ -28,11 +28,13 @@
 , meson
 , nim
 , nodePackages
+, parinfer-rust
 , skim
 , sqlite
 , statix
 , stylish-haskell
 , tabnine
+, tup
 , vim
 , which
 , xkb-switch
@@ -64,8 +66,16 @@
 , gobject-introspection
 , wrapGAppsHook
 
-  # vim-clap dependencies
+  # sniprun dependencies
+, bashInteractive
+, coreutils
 , curl
+, gnugrep
+, gnused
+, makeWrapper
+, procps
+
+  # vim-clap dependencies
 , libgit2
 , libiconv
 , openssl
@@ -75,7 +85,6 @@
 , asmfmt
 , delve
 , errcheck
-, gnused
 , go-motion
 , go-tools
 , gocode
@@ -183,7 +192,7 @@ self: super: {
   });
 
   ctrlp-cmatcher = super.ctrlp-cmatcher.overrideAttrs (old: {
-    buildInputs = [ python ];
+    buildInputs = [ python2 ];
     buildPhase = ''
       patchShebangs .
       ./install.sh
@@ -515,6 +524,8 @@ self: super: {
     configurePhase = "cd vim";
   });
 
+  parinfer-rust = parinfer-rust;
+
   range-highlight-nvim = super.range-highlight-nvim.overrideAttrs (old: {
     dependencies = with self; [ cmd-parser-nvim ];
   });
@@ -523,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;
@@ -533,6 +549,43 @@ self: super: {
     dependencies = with self; [ skim ];
   });
 
+  sniprun =
+    let
+      version = "1.1.2";
+      src = fetchFromGitHub {
+        owner = "michaelb";
+        repo = "sniprun";
+        rev = "v${version}";
+        sha256 = "sha256-WL0eXwiPhcndI74wtFox2tSnZn1siE86x2MLkfpxxT4=";
+      };
+      sniprun-bin = rustPlatform.buildRustPackage {
+        pname = "sniprun-bin";
+        inherit version src;
+
+        cargoSha256 = "sha256-1WbgnsjoFdvko6VRKY+IjafMNqvJvyIZCDk8I9GV3GM=";
+
+        nativeBuildInputs = [ makeWrapper ];
+
+        postInstall = ''
+          wrapProgram $out/bin/sniprun \
+            --prefix PATH ${lib.makeBinPath [ bashInteractive coreutils curl gnugrep gnused procps ]}
+        '';
+
+        doCheck = false;
+      };
+    in
+    buildVimPluginFrom2Nix {
+      pname = "sniprun";
+      inherit version src;
+
+      patches = [ ./patches/sniprun/fix-paths.patch ];
+      postPatch = ''
+        substituteInPlace lua/sniprun.lua --replace '@sniprun_bin@' ${sniprun-bin}
+      '';
+
+      propagatedBuildInputs = [ sniprun-bin ];
+    };
+
   sqlite-lua = super.sqlite-lua.overrideAttrs (old: {
     postPatch = let
       libsqlite = "${sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}";
@@ -640,6 +693,24 @@ self: super: {
     dependencies = with self; [ telescope-nvim ];
   });
 
+  tup =
+    let
+      # Based on the comment at the top of https://github.com/gittup/tup/blob/master/contrib/syntax/tup.vim
+      ftdetect = builtins.toFile "tup.vim" ''
+        au BufNewFile,BufRead Tupfile,*.tup setf tup
+      '';
+    in
+    buildVimPluginFrom2Nix {
+      inherit (tup) pname version src;
+      preInstall = ''
+        mkdir -p vim-plugin/syntax vim-plugin/ftdetect
+        cp contrib/syntax/tup.vim vim-plugin/syntax/tup.vim
+        cp "${ftdetect}" vim-plugin/ftdetect/tup.vim
+        cd vim-plugin
+      '';
+      meta.maintainers = with lib.maintainers; [enderger];
+    };
+
   unicode-vim =
     let
       unicode-data = fetchurl {
@@ -749,7 +820,7 @@ self: super: {
             libiconv
           ];
 
-          cargoSha256 = "sha256-iE0L4pSKPf8lf76DuSTnU7LfNUgy1O06IgxracsLpFA=";
+          cargoSha256 = "sha256-JKi51kzCHMctUX6tT8K2Rq1slV3Ek67dCgbPjBkwPTE=";
         };
       in
       ''
@@ -859,7 +930,7 @@ self: super: {
   vim-isort = super.vim-isort.overrideAttrs (old: {
     postPatch = ''
       substituteInPlace ftplugin/python_vimisort.vim \
-        --replace 'import vim' 'import vim; import sys; sys.path.append("${python.pkgs.isort}/${python.sitePackages}")'
+        --replace 'import vim' 'import vim; import sys; sys.path.append("${python2.pkgs.isort}/${python2.sitePackages}")'
     '';
   });
 
@@ -868,7 +939,7 @@ self: super: {
       vim-markdown-composer-bin = rustPlatform.buildRustPackage rec {
         pname = "vim-markdown-composer-bin";
         inherit (super.vim-markdown-composer) src version;
-        cargoSha256 = "1cvnjsw5dd02wrm1q5xi8b033rsn44f7fkmw5j7lhskv5j286zrh";
+        cargoSha256 = "03d7kap6vha1jmyfrjqaja5439x6mhnvjjbz3rmxb3x4dpppbpj1";
       };
     in
     super.vim-markdown-composer.overrideAttrs (oldAttrs: rec {
@@ -913,7 +984,7 @@ self: super: {
   });
 
   vim-wakatime = super.vim-wakatime.overrideAttrs (old: {
-    buildInputs = [ python ];
+    buildInputs = [ python2 ];
   });
 
   vim-xdebug = super.vim-xdebug.overrideAttrs (old: {
diff --git a/nixpkgs/pkgs/misc/vim-plugins/patches/sniprun/fix-paths.patch b/nixpkgs/pkgs/misc/vim-plugins/patches/sniprun/fix-paths.patch
new file mode 100644
index 000000000000..f3203e007576
--- /dev/null
+++ b/nixpkgs/pkgs/misc/vim-plugins/patches/sniprun/fix-paths.patch
@@ -0,0 +1,36 @@
+diff --git a/lua/sniprun.lua b/lua/sniprun.lua
+index aa39e0b..188d54a 100644
+--- a/lua/sniprun.lua
++++ b/lua/sniprun.lua
+@@ -4,9 +4,7 @@ M.custom_highlight=false
+ M.info_floatwin = {}
+ 
+ -- See https://github.com/tjdevries/rofl.nvim/blob/632c10f2ec7c56882a3f7eda8849904bcac6e8af/lua/rofl.lua
+-local binary_path = vim.fn.fnamemodify(
+-  vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":h:h")
+-  .. "/target/release/sniprun"
++local binary_path = "@sniprun_bin@/bin/sniprun"
+ 
+ local sniprun_path = vim.fn.fnamemodify( vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":p:h") .. "/.."
+ 
+diff --git a/ressources/init_repl.sh b/ressources/init_repl.sh
+index 2e6264d..0eab1c6 100644
+--- a/ressources/init_repl.sh
++++ b/ressources/init_repl.sh
+@@ -23,7 +23,7 @@ mkfifo $working_dir/$pipe
+ touch $working_dir/$out
+ sleep 36000 > $working_dir/$pipe &
+ 
+-echo "/bin/cat " $working_dir/$pipe " | " $repl  > $working_dir/real_launcher.sh
++echo "cat " $working_dir/$pipe " | " $repl  > $working_dir/real_launcher.sh
+ chmod +x $working_dir/real_launcher.sh
+ 
+ echo $repl " process started at $(date +"%F %T")." >> $working_dir/log
+diff --git a/ressources/launcher_repl.sh b/ressources/launcher_repl.sh
+index feaa91e..749c55e 100755
+--- a/ressources/launcher_repl.sh
++++ b/ressources/launcher_repl.sh
+@@ -1,2 +1,2 @@
+ #!/bin/bash
+-/bin/cat $1 > $2
++cat $1 > $2
diff --git a/nixpkgs/pkgs/misc/vim-plugins/update.py b/nixpkgs/pkgs/misc/vim-plugins/update.py
index 326e30dd5d72..d9adc6667482 100755
--- a/nixpkgs/pkgs/misc/vim-plugins/update.py
+++ b/nixpkgs/pkgs/misc/vim-plugins/update.py
@@ -52,38 +52,31 @@ HEADER = (
 
 
 class VimEditor(pluginupdate.Editor):
-    def generate_nix(self, plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
-        sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
+    def generate_nix(self, plugins: List[Tuple[pluginupdate.PluginDesc, pluginupdate.Plugin]], outfile: str):
+        sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower())
 
         with open(outfile, "w+") as f:
             f.write(HEADER)
             f.write(textwrap.dedent("""
-                { lib, buildVimPluginFrom2Nix, fetchFromGitHub }:
+                { lib, buildVimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
 
                 final: prev:
                 {"""
             ))
-            for owner, repo, plugin in sorted_plugins:
-                if plugin.has_submodules:
-                    submodule_attr = "\n      fetchSubmodules = true;"
-                else:
-                    submodule_attr = ""
+            for pdesc, plugin in sorted_plugins:
 
-                f.write(textwrap.indent(textwrap.dedent(
+                repo = pdesc.repo
+                src_nix = repo.as_nix(plugin)
+                f.write(
                     f"""
   {plugin.normalized_name} = buildVimPluginFrom2Nix {{
     pname = "{plugin.name}";
     version = "{plugin.version}";
-    src = fetchFromGitHub {{
-      owner = "{owner}";
-      repo = "{repo}";
-      rev = "{plugin.commit}";
-      sha256 = "{plugin.sha256}";{submodule_attr}
-    }};
-    meta.homepage = "https://github.com/{owner}/{repo}/";
+    src = {src_nix};
+    meta.homepage = "{repo.uri}";
   }};
 """
-                ), '  '))
+                )
             f.write("\n}\n")
         print(f"updated {outfile}")
 
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
index 884e539655c4..098530dcf31f 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
@@ -3,7 +3,9 @@ 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
 airblade/vim-rooter
 ajmwagar/vim-deus
@@ -17,11 +19,13 @@ alvarosevilla95/luatab.nvim
 alx741/vim-hindent
 alx741/vim-stylishask
 amiorin/ctrlp-z
-andersevenrud/cmp-tmux@cmp
+andersevenrud/cmp-tmux
+andersevenrud/nordic.nvim
 andrep/vimacs
 andreshazard/vim-logreview
 AndrewRadev/sideways.vim
 AndrewRadev/splitjoin.vim
+AndrewRadev/switch.vim
 AndrewRadev/tagalong.vim
 andsild/peskcolor.vim
 andviro/flake8-vim
@@ -48,6 +52,7 @@ benizi/vim-automkdir
 bhurlow/vim-parinfer
 bitc/vim-hdevtools
 bkad/camelcasemotion
+blackCauldron7/surround.nvim
 bling/vim-bufferline
 blueballs-theme/blueballs-neovim
 blueyed/vim-diminactive
@@ -60,6 +65,7 @@ buoto/gotests-vim
 camspiers/lens.vim
 camspiers/snap
 carlitux/deoplete-ternjs
+catppuccin/nvim as catppuccin-nvim
 ccarpita/rtorrent-syntax-file
 cespare/vim-toml
 chaoren/vim-wordmotion
@@ -127,6 +133,7 @@ dylanaraps/wal.vim
 eagletmt/ghcmod-vim
 eagletmt/neco-ghc
 easymotion/vim-easymotion
+echasnovski/mini.nvim
 eddiebergman/nvim-treesitter-pyfold
 eddyekofo94/gruvbox-flat.nvim
 EdenEast/nightfox.nvim
@@ -162,17 +169,20 @@ 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
 flazz/vim-colorschemes
 floobits/floobits-neovim
 folke/lsp-colors.nvim
+folke/lua-dev.nvim
 folke/todo-comments.nvim
 folke/tokyonight.nvim
 folke/trouble.nvim
 folke/twilight.nvim
 folke/which-key.nvim
+folke/zen-mode.nvim
 FooSoft/vim-argwrap
 freitass/todo.txt-vim
 frigoeu/psc-ide-vim
@@ -195,8 +205,6 @@ gioele/vim-autoswap
 github/copilot.vim
 gleam-lang/gleam.vim
 glepnir/dashboard-nvim
-glepnir/galaxyline.nvim
-glepnir/lspsaga.nvim
 glepnir/oceanic-material
 glepnir/zephyr-nvim
 glts/vim-textobj-comment
@@ -216,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
@@ -248,6 +258,7 @@ hrsh7th/vim-vsnip
 hrsh7th/vim-vsnip-integ
 hsanson/vim-android
 hsitz/VimOrganizer
+https://git.sr.ht/~whynothugo/lsp_lines.nvim
 hura/vim-asymptote
 iamcco/coc-spell-checker
 iamcco/markdown-preview.nvim
@@ -269,6 +280,7 @@ itchyny/vim-gitbranch
 itspriddle/vim-shellcheck
 ivalkeen/vim-simpledb
 ivanov/vim-ipython
+j-hui/fidget.nvim
 jackguo380/vim-lsp-cxx-highlight
 jacoborus/tender.vim
 jakwings/vim-pony
@@ -354,6 +366,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
@@ -386,12 +399,17 @@ lambdalisue/vim-gista
 lambdalisue/vim-manpager
 lambdalisue/vim-pager
 latex-box-team/latex-box
+ldelossa/litee-calltree.nvim
+ldelossa/litee-filetree.nvim
+ldelossa/litee-symboltree.nvim
+ldelossa/litee.nvim
 leafgarland/typescript-vim
 leanprover/lean.vim
 ledger/vim-ledger
 lepture/vim-jinja
 lervag/vimtex
 lewis6991/gitsigns.nvim
+lewis6991/impatient.nvim
 lf-lang/lingua-franca.vim
 lfe-support/vim-lfe
 lfilho/cosco.vim
@@ -401,6 +419,7 @@ lifepillar/vim-mucomplete
 lighttiger2505/deoplete-vim-lsp
 lilydjwg/colorizer
 lilydjwg/fcitx.vim@fcitx5
+liuchengxu/graphviz.vim
 liuchengxu/vim-clap
 liuchengxu/vim-which-key
 liuchengxu/vista.vim
@@ -418,6 +437,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
@@ -441,6 +461,7 @@ MarcWeber/vim-addon-sql
 MarcWeber/vim-addon-syntax-checker
 MarcWeber/vim-addon-toggle-buffer
 MarcWeber/vim-addon-xdebug
+marko-cerovac/material.nvim
 markonm/traces.vim
 martinda/Jenkinsfile-vim-syntax
 MattesGroeger/vim-bookmarks
@@ -488,6 +509,7 @@ morhetz/gruvbox
 motus/pig.vim
 mpickering/hlint-refactor-vim
 ms-jpq/chadtree@chad
+ms-jpq/coq_nvim
 mtikekar/vim-bsv
 MunifTanjim/nui.nvim@main
 mustache/vim-mustache-handlebars
@@ -542,10 +564,13 @@ noc7c9/vim-iced-coffee-script
 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
 numToStr/FTerm.nvim
+numToStr/Navigator.nvim
 nvie/vim-flake8
 nvim-lua/completion-nvim
 nvim-lua/diagnostic-nvim
@@ -559,10 +584,12 @@ nvim-orgmode/orgmode
 nvim-pack/nvim-spectre
 nvim-telescope/telescope-cheat.nvim
 nvim-telescope/telescope-dap.nvim
+nvim-telescope/telescope-file-browser.nvim
 nvim-telescope/telescope-frecency.nvim
 nvim-telescope/telescope-fzf-native.nvim
 nvim-telescope/telescope-fzf-writer.nvim
 nvim-telescope/telescope-fzy-native.nvim
+nvim-telescope/telescope-github.nvim
 nvim-telescope/telescope-project.nvim
 nvim-telescope/telescope-symbols.nvim
 nvim-telescope/telescope-z.nvim
@@ -603,29 +630,33 @@ PeterRincker/vim-argumentative
 petRUShka/vim-opencl
 phaazon/hop.nvim
 phanviet/vim-monokai-pro
-plasticboy/vim-markdown
 Pocco81/TrueZen.nvim
 ponko2/deoplete-fish
 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
 preservim/nerdtree
 preservim/tagbar
+preservim/vim-markdown
 preservim/vim-pencil
 preservim/vim-wordy
 preservim/vimux
 prettier/vim-prettier
+projekt0n/circles.nvim
 psliwka/vim-smoothie
 ptzz/lf.vim
 puremourning/vimspector
 purescript-contrib/purescript-vim
+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
@@ -692,6 +723,7 @@ sakhnik/nvim-gdb
 saltstack/salt-vim
 samoshkin/vim-mergetool
 sbdchd/neoformat
+sblumentritt/bitbake.vim
 scalameta/nvim-metals
 sdiehl/vim-ormolu
 sebastianmarkow/deoplete-rust
@@ -727,10 +759,13 @@ 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
@@ -743,11 +778,13 @@ steelsojka/pears.nvim
 stefandtw/quickfix-reflector.vim
 stephpy/vim-yaml
 stevearc/aerial.nvim
+stevearc/dressing.nvim
 stsewd/fzf-checkout.vim
 sudormrfbin/cheatsheet.nvim
 sunaku/vim-dasht
 sunjon/Shade.nvim
 svermeulen/vim-subversive
+symphorien/vim-nixhash
 t9md/vim-choosewin
 t9md/vim-smalls
 TaDaa/vimade
@@ -756,10 +793,12 @@ tamago324/compe-zsh
 tamago324/lir.nvim
 tami5/compe-conjure
 tami5/lispdocs.nvim
+tami5/lspsaga.nvim
 tami5/sqlite.lua
 tbastos/vim-lua
 tbodt/deoplete-tabnine
 ternjs/tern_for_vim
+terrortylor/nvim-comment
 terryma/vim-expand-region
 terryma/vim-multiple-cursors
 tex/vimpreviewpandoc
@@ -920,6 +959,7 @@ wbthomason/packer.nvim
 weilbith/nvim-code-action-menu
 wellle/targets.vim
 wellle/tmux-complete.vim
+wesQ3/vim-windowswap
 wfxr/minimap.vim
 whonore/Coqtail
 will133/vim-dirdiff
@@ -927,6 +967,7 @@ wincent/command-t
 wincent/ferret
 wincent/terminus
 windwp/nvim-autopairs
+windwp/nvim-ts-autotag
 winston0410/cmd-parser.nvim
 winston0410/range-highlight.nvim
 wlangstroth/vim-racket
@@ -940,6 +981,7 @@ Xuyuanp/scrollbar.nvim
 yamatsum/nvim-cursorline
 yamatsum/nvim-nonicons
 ycm-core/YouCompleteMe
+yegappan/mru
 Yggdroot/hiPairs
 Yggdroot/indentLine
 Yggdroot/LeaderF
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix b/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
index 92642016b24a..128b969c3575 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix
@@ -258,7 +258,7 @@ let
 
         packages = { home-manager = { start = [vimPlugins.vim-fugitive]; opt = [];};
         beforePlugins = '';
-        customRc = ''let mapleader = " "'';
+        customRC = ''let mapleader = " "'';
 
       };
    */
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/_maintainers/update-bin-srcs-lib.sh b/nixpkgs/pkgs/misc/vscode-extensions/_maintainers/update-bin-srcs-lib.sh
index f3058755d6a2..e3d1e5fb1397 100755
--- a/nixpkgs/pkgs/misc/vscode-extensions/_maintainers/update-bin-srcs-lib.sh
+++ b/nixpkgs/pkgs/misc/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/nixpkgs/pkgs/misc/vscode-extensions/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/default.nix
index 9e0a4e633dd7..3e5bf42dd958 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/default.nix
@@ -14,6 +14,7 @@
 , moreutils
 , racket-minimal
 , clojure-lsp
+, alejandra
 }:
 
 let
@@ -93,8 +94,8 @@ let
         mktplcRef = {
           name = "vscode-tlaplus";
           publisher = "alygin";
-          version = "1.5.3";
-          sha256 = "1cy0qn8iyjrinscn9p5ckpsa2hyryapxfi7is6s2zk2mpligbb1d";
+          version = "1.5.4";
+          sha256 = "0mf98244z6wzb0vj6qdm3idgr2sr5086x7ss2khaxlrziif395dx";
         };
         meta = {
           license = lib.licenses.mit;
@@ -144,6 +145,38 @@ let
         };
       };
 
+      antyos.openscad = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "openscad";
+          publisher = "Antyos";
+          version = "1.1.1";
+          sha256 = "1adcw9jj3npk3l6lnlfgji2l529c4s5xp9jl748r9naiy3w3dpjv";
+        };
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/Antyos.openscad/changelog";
+          description = "OpenSCAD highlighting, snippets, and more for VSCode";
+          homepage = "https://github.com/Antyos/vscode-openscad";
+          license = licenses.gpl3;
+        };
+      };
+
+      apollographql.vscode-apollo = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-apollo";
+          publisher = "apollographql";
+          version = "1.19.9";
+          sha256 = "sha256-iJpzNKcuQrfq4Z0LXuadt6OKXelBbDQg/vuc7NJ2I5o=";
+        };
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/apollographql.vscode-apollo/changelog";
+          description = "Rich editor support for GraphQL client and server development that seamlessly integrates with the Apollo platform";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=apollographql.vscode-apollo";
+          homepage = "https://github.com/apollographql/vscode-graphql";
+          license = licenses.mit;
+          maintainers = with maintainers; [ datafoo ];
+        };
+      };
+
       arcticicestudio.nord-visual-studio-code = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "nord-visual-studio-code";
@@ -161,6 +194,18 @@ let
         };
       };
 
+      Arjun.swagger-viewer = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "Arjun";
+          name = "swagger-viewer";
+          version = "3.1.2";
+          sha256 = "1cjvc99x1q5w3i2vnbxrsl5a1dr9gb3s6s9lnwn6mq5db6iz1nlm";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       arrterian.nix-env-selector = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "nix-env-selector";
@@ -211,8 +256,8 @@ let
         mktplcRef = {
           name = "vscode-pylance";
           publisher = "MS-python";
-          version = "2020.11.2";
-          sha256 = "0n2dm21vgzir3hx1m3pmx7jq4zy3hdxfsandd2wv5da4fs9b5g50";
+          version = "2022.1.5";
+          sha256 = "1b5ihrac9xsq35a39vlq7krr1ffqpdjxdlhv9s056hs033kayazl";
         };
 
         buildInputs = [ nodePackages.pyright ];
@@ -243,8 +288,8 @@ let
         mktplcRef = {
           name = "scaladex-search";
           publisher = "baccata";
-          version = "0.0.1";
-          sha256 = "1y8p4rr8qq5ng52g4pbx8ayq04gi2869wrx68k69rl7ga7bzcyp9";
+          version = "0.2.0";
+          sha256 = "0xbikwlrascmn9nzyl4fxb2ql1dczd00ragp30a3yv8bax173bnz";
         };
         meta = {
           license = lib.licenses.asl20;
@@ -263,6 +308,18 @@ let
         };
       };
 
+      benfradet.vscode-unison = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-unison";
+          publisher = "benfradet";
+          version = "0.3.0";
+          sha256 = "1x80s8l8djchg17553aiwaf4b49hf6awiayk49wyii0i26hlpjk1";
+        };
+        meta = with lib; {
+          license = licenses.asl20;
+        };
+      };
+
       betterthantomorrow.calva = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "calva";
@@ -316,8 +373,41 @@ let
         };
       };
 
+      bungcip.better-toml = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "better-toml";
+          publisher = "bungcip";
+          version = "0.3.2";
+          sha256 = "sha256-g+LfgjAnSuSj/nSmlPdB0t29kqTmegZB5B1cYzP8kCI=";
+        };
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/bungcip.better-toml/changelog";
+          description = "Better TOML Language support";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=bungcip.better-toml";
+          homepage = "https://github.com/bungcip/better-toml/blob/master/README.md";
+          license = licenses.mit;
+          maintainers = with maintainers; [ datafoo ];
+        };
+      };
+
       chenglou92.rescript-vscode = callPackage ./rescript { };
 
+      christian-kohler.path-intellisense = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "path-intellisense";
+          publisher = "christian-kohler";
+          version = "2.6.1";
+          sha256 = "sha256-ol98g3pliBlyEQ+n7cR4O04J/0QB9U8+fvf+FC0j0Fc=";
+        };
+        meta = with lib; {
+          description = "Visual Studio Code plugin that autocompletes filenames";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense";
+          homepage = "https://github.com/ChristianKohler/PathIntellisense";
+          license = licenses.mit;
+          maintainers = with maintainers; [ imgabe ];
+        };
+      };
+
       cmschuetz12.wal = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "wal";
@@ -334,8 +424,8 @@ let
         mktplcRef = {
           name = "gitignore";
           publisher = "codezombiech";
-          version = "0.6.0";
-          sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b";
+          version = "0.7.0";
+          sha256 = "0fm4sxx1cb679vn4v85dw8dfp5x0p74m9p2b56gqkvdap0f2q351";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -384,6 +474,20 @@ let
         };
       };
 
+      cweijan.vscode-database-client2 = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-database-client2";
+          publisher = "cweijan";
+          version = "4.3.3";
+          sha256 = "06bj23y5rbpz0lw45p1sxssalgn19iqfqbijw2ym22grm0i9hcby";
+        };
+        meta = {
+          description = "Database Client For Visual Studio Code";
+          homepage = "https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-mysql-client2";
+          license = lib.licenses.mit;
+        };
+      };
+
       dbaeumer.vscode-eslint = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-eslint";
@@ -400,11 +504,16 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.42.1";
-          sha256 = "c8c0647e0dd786fe68becca6dc73eade5f4220a26ab9faff8dd813a14b25df51";
+          version = "0.46.0";
+          sha256 = "sha256-2FvE+6fnZPtR0At4NjLKSMCbPu8T7o8xtpvYiEjh7ck=";
         };
         meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
+          description = "Markdown linting and style checking for Visual Studio Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint";
+          homepage = "https://github.com/DavidAnson/vscode-markdownlint";
           license = licenses.mit;
+          maintainers = with maintainers; [ datafoo ];
         };
       };
 
@@ -412,8 +521,8 @@ let
         mktplcRef = {
           name = "languagetool-linter";
           publisher = "davidlday";
-          version = "0.18.0";
-          sha256 = "sha256-AYINgq1BMfh7p4xhwSC2Www6dQvyQAGTA45HJsmMGDg=";
+          version = "0.19.0";
+          sha256 = "sha256-crq6CTXpzwHJL8FPIBneAGjDgUUNdpBt6rIaMCr1F1U=";
         };
         meta = with lib; {
           description = "LanguageTool integration for VS Code";
@@ -461,6 +570,16 @@ let
         meta = { license = lib.licenses.mit; };
       };
 
+      disneystreaming.smithy = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "disneystreaming";
+          name = "smithy";
+          version = "0.0.2";
+          sha256 = "0rdh7b5s7ynsyfrq1r1170g65q9vvvfl3qbfvbh1b38ndvj2f0yq";
+        };
+        meta = { license = lib.licenses.asl20; };
+      };
+
       divyanshuagrawal.competitive-programming-helper = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "competitive-programming-helper";
@@ -568,8 +687,20 @@ let
         mktplcRef = {
           name = "vscode-command-runner";
           publisher = "edonet";
-          version = "0.0.116";
-          sha256 = "0fxvplyk080m0cdsvzynp6wjillrd4flr5qz7af7fibb2jbmfdkn";
+          version = "0.0.122";
+          sha256 = "1lvwvcs18azqhkzyvhf83ckfhfdgcqrw2gxb2myspqj59783hfpg";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      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;
@@ -580,8 +711,8 @@ let
         mktplcRef = {
           name = "elm-ls-vscode";
           publisher = "Elmtooling";
-          version = "2.0.1";
-          sha256 = "06x5ld2r1hzns2s052mvhmfiaawjzcn0jf5lkfprhmrkxnmfdd43";
+          version = "2.4.0";
+          sha256 = "sha256-5hYlkx8hlwS8iWTlfupX8XjTLAY/KUi0bd3jf/tm92o=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/Elmtooling.elm-ls-vscode/changelog";
@@ -606,19 +737,28 @@ let
       };
 
       esbenp.prettier-vscode = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "prettier-vscode";
+          publisher = "esbenp";
+          version = "9.2.0";
+          sha256 = "sha256-ROI312MPMUY1q6IV4qVCW8DD0MQPA/hVW7rfamo/IbI=";
+        };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
           description = "Code formatter using prettier";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode";
           homepage = "https://github.com/prettier/prettier-vscode";
           license = licenses.mit;
-          maintainers = with maintainers; [ ];
+          maintainers = with maintainers; [ datafoo ];
         };
+      };
+
+      ethansk.restore-terminals = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "prettier-vscode";
-          publisher = "esbenp";
-          version = "9.0.0";
-          sha256 = "1nak1hg46wxkl0kb0zhc343kq2f4nd5q1fqscb29jybd4qdb8lgn";
+          name = "restore-terminals";
+          publisher = "ethansk";
+          version = "1.1.6";
+          sha256 = "sha256-XCgxphXIJ/y85IR/qEQhGsbnqWFRWvbyIDchnVTUqMg=";
         };
       };
 
@@ -656,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 ];
         };
       };
 
@@ -698,8 +838,8 @@ let
         mktplcRef = {
           name = "auto-close-tag";
           publisher = "formulahendry";
-          version = "0.5.6";
-          sha256 = "058jgmllqb0j6gg5anghdp35nkykii28igfcwqgh4bp10pyvspg0";
+          version = "0.5.13";
+          sha256 = "0swyxhcibv6cl54gmfpnbz6bqidjzc77nx369wndhlq264idnwkw";
         };
         meta = {
           license = lib.licenses.mit;
@@ -710,8 +850,8 @@ let
         mktplcRef = {
           name = "auto-rename-tag";
           publisher = "formulahendry";
-          version = "0.1.6";
-          sha256 = "0cqg9mxkyf41brjq2c764w42lzyn6ffphw6ciw7xnqk1h1x8wwbs";
+          version = "0.1.9";
+          sha256 = "1xk8rzda16qgdxhq8bz6f8w09fd9044qczx1wfhszd6w3r4q9262";
         };
         meta = {
           license = lib.licenses.mit;
@@ -762,6 +902,18 @@ let
         };
       };
 
+      humao.rest-client = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "humao";
+          name = "rest-client";
+          version = "0.24.6";
+          sha256 = "196pm7gv0488bpv1lklh8hpwmdqc4yimz389gad6nsna368m4m43";
+        };
+        meta = with lib; {
+          license = licenses.mit;
+        };
+      };
+
       jkillian.custom-local-formatters = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "jkillian";
@@ -792,8 +944,8 @@ let
           mktplcRef = {
             publisher = "github";
             name = "copilot";
-            version = "1.7.4421";
-            sha256 = "1wvzf8rq8ligj079f1m74zzna2mfmhcbgvvrsw6w0wxw9x8fn4wy";
+            version = "1.7.4812";
+            sha256 = "1yl7m90m38pv8nz4dwcszjsa1sf253459xln17mngmc8z9wd3d3a";
           };
           meta = { license = lib.licenses.unfree; };
         };
@@ -819,8 +971,8 @@ let
           mktplcRef = {
             name = "vscode-pull-request-github";
             publisher = "github";
-            version = "0.35.2021122109";
-            sha256 = "1n7vjwxm92ibwhgn2n57p54dqpi0vvyllmcgjxilgnr14irg5457";
+            version = "0.35.2022010609";
+            sha256 = "06ryx8b605fd1q2zz8jps7j8r506qwym93x1ra1kc0h9g8a8r7sa";
           };
           meta = { license = lib.licenses.mit; };
         };
@@ -842,8 +994,8 @@ let
         mktplcRef = {
           name = "vscode-graphql";
           publisher = "GraphQL";
-          version = "0.3.13";
-          sha256 = "sha256-JjEefVHQUYidUsr8Ce/dh7hLDm21WkyS+2RwsXHoY04=";
+          version = "0.3.50";
+          sha256 = "1yf6v2vsgmq86ysb6vxzbg2gh6vz03fsz0d0rhpvpghayrjlk5az";
         };
         meta = {
           license = lib.licenses.mit;
@@ -854,8 +1006,8 @@ let
         mktplcRef = {
           name = "todo-tree";
           publisher = "Gruntfuggly";
-          version = "0.0.214";
-          sha256 = "0rwxjnrl44rnhx3183037k6435xs4772p58a37azl5cahsyav1hk";
+          version = "0.0.215";
+          sha256 = "sha256-WK9J6TvmMCLoqeKWh5FVp1mNAXPWVmRvi/iFuLWMylM=";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -866,8 +1018,8 @@ let
         mktplcRef = {
           name = "haskell";
           publisher = "haskell";
-          version = "1.7.1";
-          sha256 = "sha256-UWdj2J5z5cTUsfvlU++LRil0tEiAH2AFb1AwBsfMvoY=";
+          version = "1.8.0";
+          sha256 = "sha256-+k8XT2COe9Z8HvZvcrzfVuocRcxXBrVoNHDT/uKK7Hs=";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -958,6 +1110,23 @@ let
         };
       };
 
+      jakebecker.elixir-ls = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "elixir-ls";
+          publisher = "JakeBecker";
+          version = "0.9.0";
+          sha256 = "sha256-KNfZOrVxK3/rClHPcIyPgE9CRtjkI7NLY0xZ9W+X6OM=";
+        };
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
+          description = "Elixir support with debugger, autocomplete, and more. Powered by ElixirLS.";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls";
+          homepage = "https://github.com/elixir-lsp/elixir-ls";
+          license = licenses.mit;
+          maintainers = with maintainers; [ datafoo ];
+        };
+      };
+
       james-yu.latex-workshop = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "latex-workshop";
@@ -970,12 +1139,28 @@ let
         };
       };
 
+      jdinhlife.gruvbox = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "gruvbox";
+          publisher = "jdinhlife";
+          version = "1.5.1";
+          sha256 = "sha256-0ghB0E+Wa9W2bNFFiH2Q3pUJ9HV5+JfKohX4cRyevC8=";
+        };
+        meta = with lib; {
+          description = "Gruvbox Theme";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=jdinhlife.gruvbox";
+          homepage = "https://github.com/jdinhify/vscode-theme-gruvbox";
+          license = licenses.mit;
+          maintainers = with maintainers; [ imgabe ];
+        };
+      };
+
       jnoortheen.nix-ide = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "nix-ide";
           publisher = "jnoortheen";
-          version = "0.1.18";
-          sha256 = "sha256-dmmx/u+hRQfY/MCIaSdcVtbYnf5cLCDUwr75heQxcuw=";
+          version = "0.1.19";
+          sha256 = "1ms96ij6z4bysdhqgdaxx2znvczyhzx57iifbqws50m1c3m7pkx7";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/jnoortheen.nix-ide/changelog";
@@ -991,8 +1176,8 @@ let
         mktplcRef = {
           name = "svg";
           publisher = "jock";
-          version = "1.4.7";
-          sha256 = "04ghqg4s7g7yylmvbxzwzpnyy4zin2bwlgvflh18m77w4j0ckpiq";
+          version = "1.4.15";
+          sha256 = "0a5w6qxvsdzcmgc0yfiagpmz25y90pmzgrxz9899na5qy3pjcbmz";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -1003,8 +1188,8 @@ let
         mktplcRef = {
           name = "vscode-peacock";
           publisher = "johnpapa";
-          version = "3.9.1";
-          sha256 = "1g7apzzgfm8s9sjavhwr8jpf9slhq8b9jfkww3q5n41mzzx8m94p";
+          version = "4.0.0";
+          sha256 = "1i65w70f0kikah1cx7m0bji6qd800jabfci0xisdqxyzaksg7ysz";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -1047,6 +1232,46 @@ 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";
+          publisher = "kubukoz";
+          version = "0.0.1";
+          sha256 = "010zn58j9kdb2jpxmlfyyyais51pwn7v2c5cfi4051ayd02b9n3s";
+        };
+        meta = {
+          license = lib.licenses.asl20;
+        };
+      };
+
       llvm-vs-code-extensions.vscode-clangd = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-clangd";
@@ -1112,8 +1337,8 @@ let
         mktplcRef = {
           name = "goto-next-previous-member";
           publisher = "mishkinf";
-          version = "0.0.5";
-          sha256 = "0kgzap1k924i95al0a63hxcsv8skhaapgfpi9d7vvaxm0fc10l1i";
+          version = "0.0.6";
+          sha256 = "07rpnbkb51835gflf4fpr0v7fhj8hgbhsgcz2wpag8wdzdxc3025";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1136,8 +1361,8 @@ let
         mktplcRef = {
           name = "rainbow-csv";
           publisher = "mechatroner";
-          version = "1.7.1";
-          sha256 = "0w5mijs4ll5qjkpyw7qpn1k40pq8spm0b3q72x150ydbcini5hxw";
+          version = "2.0.0";
+          sha256 = "0wjlp6lah9jb0646sbi6x305idfgydb6a51pgw4wdnni02gipbrs";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1148,14 +1373,16 @@ let
         mktplcRef = {
           name = "vscode-docker";
           publisher = "ms-azuretools";
-          version = "1.9.1";
-          sha256 = "1l7pm3s5kbf2vark164ykz4qbpa1ac9ls691hham36f6v91dmff9";
+          version = "1.19.0";
+          sha256 = "sha256-buIAbsyKUvX3blO1AbCq/tJ1KAcqaFpciqQovmOZ5GE=";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
+      ms-ceintl = callPackage ./language-packs.nix {}; # non-English language packs
+
       ms-dotnettools.csharp = callPackage ./ms-dotnettools-csharp { };
 
       ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
@@ -1174,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 { };
       };
@@ -1204,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";
@@ -1220,11 +1492,16 @@ let
         mktplcRef = {
           name = "color-highlight";
           publisher = "naumovs";
-          version = "2.3.0";
-          sha256 = "1syzf43ws343z911fnhrlbzbx70gdn930q67yqkf6g0mj8lf2za2";
+          version = "2.5.0";
+          sha256 = "sha256-dYMDV84LEGXUjt/fbsSy3BVM5SsBHcPaDDll8KjPIWY=";
         };
-        meta = {
-          license = lib.licenses.mit;
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/naumovs.color-highlight/changelog";
+          description = "Highlight web colors in your editor";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=naumovs.color-highlight";
+          homepage = "https://github.com/enyancc/vscode-ext-color-highlight";
+          license = licenses.gpl3Only;
+          maintainers = with maintainers; [ datafoo ];
         };
       };
 
@@ -1240,12 +1517,28 @@ let
         };
       };
 
+      oderwat.indent-rainbow = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "indent-rainbow";
+          publisher = "oderwat";
+          version = "8.2.2";
+          sha256 = "sha256-7kkJc+hhYaSKUbK4eYwOnLvae80sIg7rd0E4YyCXtPc=";
+        };
+        meta = with lib; {
+          description = "Makes indentation easier to read";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow";
+          homepage = "https://github.com/oderwat/vscode-indent-rainbow";
+          license = licenses.mit;
+          maintainers = with maintainers; [ imgabe ];
+        };
+      };
+
       redhat.java = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "java";
           publisher = "redhat";
-          version = "0.76.0";
-          sha256 = "0xb9brki4s00piv4kqgz6idm16nk6x1j6502jljz7y9pif38z32y";
+          version = "1.2.0";
+          sha256 = "sha256-YmR3FWhPZSU2gE6NIVoA1HZBzaYaTNYFXC/uNwbDEdQ=";
         };
         buildInputs = [ jdk ];
         meta = {
@@ -1258,8 +1551,20 @@ let
         mktplcRef = {
           name = "vscode-yaml";
           publisher = "redhat";
-          version = "0.13.0";
-          sha256 = "046kdk73a5xbrwq16ff0l64271c6q6ygjvxaph58z29gyiszfkig";
+          version = "1.3.0";
+          sha256 = "sha256-Tz6bLcBUATn8cYIzGoLJwgaJZGbBVr1CISmJHz+iM60=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      rioj7.commandOnAllFiles = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "commandOnAllFiles";
+          publisher = "rioj7";
+          version = "0.3.0";
+          sha256 = "sha256-tNFHrgFJ22YGQgkYw+0l4G6OtlUYVn9brJPLnsvSwRE=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1287,22 +1592,58 @@ let
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform";
           homepage = "https://github.com/ocamllabs/vscode-ocaml-platform";
           license = licenses.isc;
-          maintainers = with maintainers; [ ];
+          maintainers = with maintainers; [ ratsclub ];
         };
         mktplcRef = {
           name = "ocaml-platform";
           publisher = "ocamllabs";
-          version = "1.5.1";
-          sha256 = "0jkxpcrbr8xmwfl8jphmarjz2jk54hvmc24ww89d4bgx1awayqfh";
+          version = "1.8.4";
+          sha256 = "sha256-T1eYAuYMv4B7rdECxYzNfIpydjzCDjeo7gmb1uhr6VM=";
         };
       };
 
       pkief.material-icon-theme = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "material-icon-theme";
-          publisher = "pkief";
-          version = "4.4.0";
-          sha256 = "1m9mis59j9xnf1zvh67p5rhayaa9qxjiw9iw847nyl9vsy73w8ya";
+          publisher = "PKief";
+          version = "4.12.1";
+          sha256 = "sha256-pmWnnZrdk6zb8YFG5ESgK4k875hgeseWyzkA9YUjg7A=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      pkief.material-product-icons = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "material-product-icons";
+          publisher = "PKief";
+          version = "1.1.1";
+          sha256 = "a0bd0eff67793828768135fd839f28db0949da9a310db312beb0781f2164fd47";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      ritwickdey.liveserver = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "liveserver";
+          publisher = "ritwickdey";
+          version = "5.6.1";
+          sha256 = "sha256-QPMZMttYV+dQfWTniA7nko7kXukqU9g6Wj5YDYfL6hw=";
+        };
+        meta = with lib; {
+          license = licenses.mit;
+        };
+      };
+
+      roman.ayu-next = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "ayu-next";
+          publisher = "roman";
+          version = "1.2.9";
+          sha256 = "sha256-rwZnqvHRmMquNq9PnU176vI4g8PtS6wSNvQaZ1BMa4I=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1325,8 +1666,8 @@ let
         mktplcRef = {
           name = "partial-diff";
           publisher = "ryu1kn";
-          version = "1.4.1";
-          sha256 = "1r4kg4slgxncdppr4fn7i5vfhvzcg26ljia2r97n6wvwn8534vs9";
+          version = "1.4.3";
+          sha256 = "0x3lkvna4dagr7s99yykji3x517cxk5kp7ydmqa6jb4bzzsv1s6h";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1349,8 +1690,8 @@ let
         mktplcRef = {
           name = "metals";
           publisher = "scalameta";
-          version = "1.10.15";
-          sha256 = "1yzvwdxipilxpg50sh1glm6p2mmn75pzq8kadk7cyl1kqlqd40ii";
+          version = "1.12.18";
+          sha256 = "104h3qfdn0y4138g3mdw1209qqh3mj3jsdsbzpnw2plk1cmr3nx5";
         };
         meta = {
           license = lib.licenses.asl20;
@@ -1361,8 +1702,8 @@ let
         mktplcRef = {
           name = "crates";
           publisher = "serayuzgur";
-          version = "0.5.9";
-          sha256 = "0l26pyvw7n3bszf97yx6qps72acq112akg3q4jq5mvlibng1nwk0";
+          version = "0.5.10";
+          sha256 = "1dbhd6xbawbnf9p090lpmn8i5gg1f7y8xk2whc9zhg4432kdv3vd";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1394,6 +1735,18 @@ let
         };
       };
 
+      silvenon.mdx = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "mdx";
+          publisher = "silvenon";
+          version = "0.1.0";
+          sha256 = "1mzsqgv0zdlj886kh1yx1zr966yc8hqwmiqrb1532xbmgyy6adz3";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       skyapps.fish-vscode = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "fish-vscode";
@@ -1451,11 +1804,16 @@ let
         mktplcRef = {
           publisher = "stkb";
           name = "rewrap";
-          version = "1.14.0";
-          sha256 = "qRwKX36a1aLzE1tqaOkH7JfE//pvKdPZ07zasPF3Dl4=";
+          version = "1.16.1";
+          sha256 = "sha256-OTPNbwoQmKd73g8IwLKMIbe6c7E2jKNkzwuBU/f8dmY=";
         };
         meta = with lib; {
+          changelog = "https://github.com/stkb/Rewrap/blob/master/CHANGELOG.md";
+          description = "Hard word wrapping for comments and other text at a given column.";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=stkb.rewrap";
+          homepage = "https://github.com/stkb/Rewrap#readme";
           license = licenses.asl20;
+          maintainers = with maintainers; [ datafoo ];
         };
       };
 
@@ -1463,11 +1821,16 @@ let
         mktplcRef = {
           name = "code-spell-checker";
           publisher = "streetsidesoftware";
-          version = "1.10.2";
-          sha256 = "1ll046rf5dyc7294nbxqk5ya56g2bzqnmxyciqpz2w5x7j75rjib";
+          version = "2.1.5";
+          sha256 = "sha256-nIR3PtbtnSbAU0rS+qVtPsj++Dbfp/k86dWkx4xYcno=";
         };
         meta = with lib; {
-          license = licenses.mit;
+          changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
+          description = "Spelling checker for source code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker";
+          homepage = "https://streetsidesoftware.github.io/vscode-spell-checker";
+          license = licenses.gpl3Only;
+          maintainers = with maintainers; [ datafoo ];
         };
       };
 
@@ -1487,8 +1850,8 @@ let
         mktplcRef = {
           name = "markdown-memo";
           publisher = "svsool";
-          version = "0.3.9";
-          sha256 = "sha256-BsKFHR3wkSRHS8QOi63vLwGj3T2CPzvqXhgtEOq6gJM=";
+          version = "0.3.18";
+          sha256 = "sha256-ypYqVH1ViJE7+mAJnxmpvUSmiImOo7rE7m+ijTEpmwg=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/svsool.markdown-memo/changelog";
@@ -1553,8 +1916,8 @@ let
         mktplcRef = {
           name = "shellcheck";
           publisher = "timonwong";
-          version = "0.14.4";
-          sha256 = "05z314sw9nqym3qlj7dcwm0fz1hb23xppzqn3nr2wcj17hs8zz4m";
+          version = "0.18.4";
+          sha256 = "00cii58md6v028h0xfvbdjvg3r44451mi0lfmjwiwif5xcw3wnlx";
         };
         nativeBuildInputs = [ jq moreutils ];
         postInstall = ''
@@ -1582,20 +1945,35 @@ let
         mktplcRef = {
           name = "pdf";
           publisher = "tomoki1207";
-          version = "1.1.0";
-          sha256 = "0pcs4iy77v4f04f8m9w2rpdzfq7sqbspr7f2sm1fv7bm515qgsvb";
+          version = "1.2.0";
+          sha256 = "1bcj546bp0w4yndd0qxwr8grhiwjd1jvf33jgmpm0j96y34vcszz";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
+      tuttieee.emacs-mcx = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "emacs-mcx";
+          publisher = "tuttieee";
+          version = "0.37.1";
+          sha256 = "19969qb6ink70km4wawh4w238igdm6npwskyr3hx38qgf69nd748";
+        };
+        meta = {
+          changelog = "https://github.com/whitphx/vscode-emacs-mcx/blob/main/CHANGELOG.md";
+          description = "Awesome Emacs Keymap - VSCode emacs keybinding with multi cursor support";
+          homepage = "https://github.com/whitphx/vscode-emacs-mcx";
+          license = lib.licenses.mit;
+        };
+      };
+
       tyriar.sort-lines = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "sort-lines";
           publisher = "Tyriar";
-          version = "1.9.0";
-          sha256 = "0l4wibsjnlbzbrl1wcj18vnm1q4ygvxmh347jvzziv8f1l790qjl";
+          version = "1.9.1";
+          sha256 = "0dds99j6awdxb0ipm15g543a5b6f0hr00q9rz961n0zkyawgdlcb";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1606,8 +1984,8 @@ let
         mktplcRef = {
           name = "errorlens";
           publisher = "usernamehw";
-          version = "3.4.0";
-          sha256 = "1x9rkyhbp15dwp6dikzpk9lzjnh9cnxac89gzx533681zld906m8";
+          version = "3.4.1";
+          sha256 = "1mr8si7jglpjw8qzl4af1k7r68vz03fpal1dr8i0iy4ly26pz7bh";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/usernamehw.errorlens/changelog";
@@ -1666,8 +2044,8 @@ let
         mktplcRef = {
           name = "highlight-matching-tag";
           publisher = "vincaslt";
-          version = "0.10.0";
-          sha256 = "1albwz3lc9i20if77inm1ipwws8apigvx24rbag3d1h3p4vwda49";
+          version = "0.10.1";
+          sha256 = "0b9jpwiyxax783gyr9zhx7sgrdl9wffq34fi7y67vd68q9183jw1";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1724,6 +2102,18 @@ let
         };
       };
 
+      xadillax.viml = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "viml";
+          publisher = "xadillax";
+          version = "1.0.1";
+          sha256 = "sha256-mzf2PBSbvmgPjchyKmTaf3nASUi5/S9Djpoeh0y8gH0=";
+        };
+        meta = with lib; {
+          license = licenses.mit;
+        };
+      };
+
       xaver.clang-format = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "clang-format";
@@ -1765,8 +2155,8 @@ let
         mktplcRef = {
           name = "material-theme";
           publisher = "zhuangtongfa";
-          version = "3.9.12";
-          sha256 = "017h9hxplf2rhmlhn3vag0wypcx6gxi7p9fgllj5jzwrl2wsjl0g";
+          version = "3.13.17";
+          sha256 = "100riqnvc2j315i1lvnwxmgga17s369xxvds5skgnk2yi2xnm2g9";
         };
         meta = {
           license = lib.licenses.mit;
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/language-packs.nix b/nixpkgs/pkgs/misc/vscode-extensions/language-packs.nix
new file mode 100644
index 000000000000..f97727d6c2cb
--- /dev/null
+++ b/nixpkgs/pkgs/misc/vscode-extensions/language-packs.nix
@@ -0,0 +1,89 @@
+{ lib, vscode-utils }:
+
+with vscode-utils;
+
+let
+
+  buildVscodeLanguagePack = { language, sha256 }:
+    buildVscodeMarketplaceExtension {
+      mktplcRef = {
+        name = "vscode-language-pack-${language}";
+        publisher = "MS-CEINTL";
+        version = "1.64.3";
+        inherit sha256;
+      };
+      meta = {
+        license = lib.licenses.mit;
+      };
+    };
+
+in
+
+# See list of core language packs at https://github.com/Microsoft/vscode-loc
+{
+  # French
+  vscode-language-pack-fr = buildVscodeLanguagePack {
+    language = "fr";
+    sha256 = "sha256-6ynT1sbMgKO8iZReQ6KxFpR1VL3Nuo58MvXCtp+67vA=";
+  };
+  # Italian
+  vscode-language-pack-it = buildVscodeLanguagePack {
+    language = "it";
+    sha256 = "sha256-5aNFpzNMZAZJH3n0rJevke9P6AW0au5i8+r4PXsb9Rg=";
+  };
+  # German
+  vscode-language-pack-de = buildVscodeLanguagePack {
+    language = "de";
+    sha256 = "sha256-oEaWtsgktHKw52lnZTESkpzC/TTY8LO4yX11IgtMG5U=";
+  };
+  # Spanish
+  vscode-language-pack-es = buildVscodeLanguagePack {
+    language = "es";
+    sha256 = "sha256-utLWbved3WCCk3XzqedbYzmyaKfbMrAmR0btT09GlxA=";
+  };
+  # Russian
+  vscode-language-pack-ru = buildVscodeLanguagePack {
+    language = "ru";
+    sha256 = "sha256-0Wr2ICOiaaj4jZ555bxUJcmXO/yWDyn0UmdvxUF3WSQ=";
+  };
+  # Chinese (Simplified)
+  vscode-language-pack-zh-hans = buildVscodeLanguagePack {
+    language = "zh-hans";
+    sha256 = "sha256-irTSQcVXf/V3MuZwfx4tFcvBk+xhbFZTnb7IG28s/p4=";
+  };
+  # Chinese (Traditional)
+  vscode-language-pack-zh-hant = buildVscodeLanguagePack {
+    language = "zh-hant";
+    sha256 = "sha256-3IA/VTTTEqS6jrDYv50GnLXOTSC1XAMvqOVfOuvIdIs=";
+  };
+  # Japanese
+  vscode-language-pack-ja = buildVscodeLanguagePack {
+    language = "ja";
+    sha256 = "sha256-rxod70ddrppEYYzukksVY1dTXR8osLFAsIPr1fSFZDg=";
+  };
+  # Korean
+  vscode-language-pack-ko = buildVscodeLanguagePack {
+    language = "ko";
+    sha256 = "sha256-QYFaxJz1PqKKIiLosLQ8Tu3JNXzpxLFqgIHjjRLwjA4=";
+  };
+  # Czech
+  vscode-language-pack-cs = buildVscodeLanguagePack {
+    language = "cs";
+    sha256 = "sha256-eMk+syy2h+Xb3k6QB8PqYaF4I1ydaY6eRsvOXmelh9Q=";
+  };
+  # Portuguese (Brazil)
+  vscode-language-pack-pt-br = buildVscodeLanguagePack {
+    language = "pt-BR";
+    sha256 = "sha256-7Trz38KBl4sD7608MvTs02pUsdD05oHEj3Sp1LvtI7I=";
+  };
+  # Turkish
+  vscode-language-pack-tr = buildVscodeLanguagePack {
+    language = "tr";
+    sha256 = "sha256-T4CTpbve3vrNdW4VDfHDg8U8cQEtuxPV5LvNdtKrqzA";
+  };
+  # Pseudo Language
+  vscode-language-pack-qps-ploc = buildVscodeLanguagePack {
+    language = "qps-ploc";
+    sha256 = "sha256-rPvCr3uQPfM8vwKoV7Un5aiMZClhf6TvG1PEe3xYNI0=";
+  };
+}
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix
index 393ea0f44502..d91cbccb8083 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix
+++ b/nixpkgs/pkgs/misc/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/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json b/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
index 8f90fda228c8..13678d1097e0 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
+++ b/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
@@ -1,15 +1,63 @@
 {
+  "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.15",
+    "installPath": ".omnisharp/1.37.16",
     "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"
+      "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": "0pchywkxy8niq0i6gq2r43cmf58blfhhj8w8zyibf0m9h09h165s"
+    "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",
@@ -32,5 +80,15 @@
       "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/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs b/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs
index 83230915d0b1..8c43231b1a7f 100755
--- a/nixpkgs/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs
+++ b/nixpkgs/pkgs/misc/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/nixpkgs/pkgs/misc/vscode-extensions/python/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/python/default.nix
index beaa8d557a75..09c5c02aee93 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/python/default.nix
+++ b/nixpkgs/pkgs/misc/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/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix
index 3ab0f893c1a5..e6e094bb1cb6 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/terraform/default.nix
@@ -3,8 +3,8 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
   mktplcRef = {
     name = "terraform";
     publisher = "hashicorp";
-    version = "2.17.0";
-    sha256 = "sha256-IZlw1lYibbBw3rcSiWEKP8rObxnMCE1ppogwmigNgwE=";
+    version = "2.19.0";
+    sha256 = "sha256-k/fcEJuELz0xkwivSrP6Nxtz861BLq1wR2ZDMXVrvkY=";
   };
 
   patches = [ ./fix-terraform-ls.patch ];
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/update_installed_exts.sh b/nixpkgs/pkgs/misc/vscode-extensions/update_installed_exts.sh
index 5af747605f59..44cf506b3ab8 100755
--- a/nixpkgs/pkgs/misc/vscode-extensions/update_installed_exts.sh
+++ b/nixpkgs/pkgs/misc/vscode-extensions/update_installed_exts.sh
@@ -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/nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
index 2bc9321353d2..7f20d0e71912 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
+++ b/nixpkgs/pkgs/misc/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 ];
 
@@ -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/nixpkgs/pkgs/misc/vscode-extensions/vscode-utils.nix b/nixpkgs/pkgs/misc/vscode-extensions/vscode-utils.nix
index da3630f97c41..49b730361af1 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/vscode-utils.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/vscode-utils.nix
@@ -16,7 +16,7 @@ let
     '',
     dontPatchELF ? true,
     dontStrip ? true,
-    buildInputs ? [],
+    nativeBuildInputs ? [],
     ...
   }:
   stdenv.mkDerivation ((removeAttrs a [ "vscodeExtUniqueId" ]) // {
@@ -28,7 +28,7 @@ let
 
     installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
 
-    buildInputs = [ unzip ] ++ buildInputs;
+    nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
 
     installPhase = ''
 
diff --git a/nixpkgs/pkgs/misc/wiki-tui/default.nix b/nixpkgs/pkgs/misc/wiki-tui/default.nix
index aa58483ecb28..4ff3262d27a5 100644
--- a/nixpkgs/pkgs/misc/wiki-tui/default.nix
+++ b/nixpkgs/pkgs/misc/wiki-tui/default.nix
@@ -2,34 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wiki-tui";
-  version = "0.4.3";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "Builditluc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-maN/0lJx6/lj3Zn+IZcPJFPPFVLbnpwxeMSTyzKYX6s=";
+    sha256 = "sha256-IMNHsmL1L+zfGxfdTxJ4HBGiQOzWmYVE0P3ZInbMVl0=";
   };
 
-  # latest update forgot to include cargo.lock update
-  cargoPatches = [
-    (fetchpatch {
-      url = "https://github.com/Builditluc/wiki-tui/commit/87993eaca35a14afc1fb557482b099a6dd2da911.patch";
-      sha256 = "sha256-n04FCZwQ9pPanz9QQY/7Apyoy6lG0t/23S40p4c/TXw=";
-    })
-  ];
-
   buildInputs = [ ncurses openssl ] ++ lib.optional stdenv.isDarwin Security;
 
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-x4oS9IBF2GMcilv9Oi/IeFaCM3sxWn7PpkKcaeSqIog=";
+  cargoSha256 = "sha256-Q8Xl6L41cDeDN370owAAL9xZhdyUuDKrPlZxG3eg87c=";
 
   meta = with lib; {
     description = "A simple and easy to use Wikipedia Text User Interface";
     homepage = "https://github.com/builditluc/wiki-tui";
     license = licenses.mit;
     maintainers = with maintainers; [ lom ];
-    mainProgram = "wiki-tui";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh b/nixpkgs/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
index 3c49337a937c..acd90b7aa2f0 100644
--- a/nixpkgs/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
+++ b/nixpkgs/pkgs/os-specific/bsd/netbsd/compat-setup-hook.sh
@@ -3,4 +3,3 @@ getHostRole
 
 export NIX_LDFLAGS${role_post}+=" -lnbcompat"
 export NIX_CFLAGS_COMPILE${role_post}+=" -DHAVE_NBTOOL_CONFIG_H"
-export NIX_CFLAGS_COMPILE${role_post}+=" -include nbtool_config.h"
diff --git a/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix b/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
index beaa176dae15..25ac9ce451cc 100644
--- a/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/nixpkgs/pkgs/os-specific/bsd/netbsd/default.nix
@@ -120,7 +120,17 @@ in lib.makeScopeWithSplicing
   } // lib.optionalAttrs (attrs.headersOnly or false) {
     installPhase = "includesPhase";
     dontBuild = true;
-  } // attrs));
+  } // attrs // {
+    postPatch = lib.optionalString (!stdenv'.hostPlatform.isNetBSD) ''
+      # Files that use NetBSD-specific macros need to have nbtool_config.h
+      # included ahead of them on non-NetBSD platforms.
+      set +e
+      grep -Zlr "^__RCSID
+      ^__BEGIN_DECLS" | xargs -0r grep -FLZ nbtool_config.h |
+          xargs -0tr sed -i '0,/^#/s//#include <nbtool_config.h>\n\0/'
+      set -e
+    '' + attrs.postPatch or "";
+  }));
 
   ##
   ## START BOOTSTRAPPING
@@ -182,6 +192,12 @@ in lib.makeScopeWithSplicing
     configurePlatforms = [ "build" "host" ];
     configureFlags = [
       "--cache-file=config.cache"
+    ] ++ lib.optionals stdenv.hostPlatform.isMusl [
+      # We include this header in our musl package only for legacy
+      # compatibility, and compat works fine without it (and having it
+      # know about sys/cdefs.h breaks packages like glib when built
+      # statically).
+      "ac_cv_header_sys_cdefs_h=no"
     ];
 
     nativeBuildInputs = with buildPackages.netbsd; commonDeps ++ [
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
index 879d3a7b5f79..37830c0665e1 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security }:
+{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security
+, headersOnly ? false }:
 
 appleDerivation' stdenv {
   meta.broken = stdenv.cc.nativeLibc;
 
-  nativeBuildInputs = [ bootstrap_cmds ];
-  buildInputs = [ launchd ppp IOKit eap8021x ];
+  nativeBuildInputs = lib.optionals (!headersOnly) [ bootstrap_cmds ];
+  buildInputs = lib.optionals (!headersOnly) [ launchd ppp IOKit eap8021x ];
 
-  propagatedBuildInputs = [ Security ];
+  propagatedBuildInputs = lib.optionals (!headersOnly) [ Security ];
 
-  patchPhase = ''
+  patchPhase = lib.optionalString (!headersOnly) ''
     HACK=$PWD/hack
     mkdir $HACK
     cp -r ${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/net $HACK
@@ -63,6 +64,8 @@ appleDerivation' stdenv {
     EOF
   '';
 
+  dontBuild = headersOnly;
+
   buildPhase = ''
     pushd SystemConfiguration.fproj >/dev/null
 
@@ -206,7 +209,7 @@ appleDerivation' stdenv {
   installPhase = ''
     mkdir -p $out/include
     cp dnsinfo/*.h $out/include/
-
+  '' + lib.optionalString (!headersOnly) ''
     mkdir -p $out/Library/Frameworks/
     mv SystemConfiguration.fproj/SystemConfiguration.framework $out/Library/Frameworks
   '';
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 5e098926d296..d2d21cc9d6cb 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -288,7 +288,9 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
     adv_cmds        = applePackage "adv_cmds"          "osx-10.11.6"    "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {};
     basic_cmds      = applePackage "basic_cmds"        "osx-10.11.6"     "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {};
     developer_cmds  = applePackage "developer_cmds"    "osx-10.11.6"     "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {};
-    diskdev_cmds    = applePackage "diskdev_cmds"      "osx-10.11.6"     "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {};
+    diskdev_cmds    = applePackage "diskdev_cmds"      "osx-10.11.6"     "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {
+      macosPackages_11_0_1 = macosPackages_11_0_1;
+    };
     network_cmds    = applePackage "network_cmds"      "osx-10.11.6"     "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {};
     file_cmds       = applePackage "file_cmds"         "osx-10.11.6"     "1zfxbmasps529pnfdjvc13p7ws2cfx8pidkplypkswyff0nff4wp" {};
     shell_cmds      = applePackage "shell_cmds"        "osx-10.11.6"     "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {};
@@ -297,6 +299,12 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
     top             = applePackage "top"               "osx-10.11.6"     "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {};
     PowerManagement = applePackage "PowerManagement"   "osx-10.11.6"     "1llimhvp0gjffd47322lnjq7cqwinx0c5z7ikli04ad5srpa68mh" {};
 
+    # `configdHeaders` can’t use an override because `pkgs.darwin.configd` on aarch64-darwin will
+    # be replaced by SystemConfiguration.framework from the macOS SDK.
+    configdHeaders  = applePackage "configd"           "osx-10.8.5"      "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {
+      headersOnly = true;
+      Security    = null;
+    };
     libutilHeaders  = pkgs.darwin.libutil.override { headersOnly = true; };
     hfsHeaders      = pkgs.darwin.hfs.override { headersOnly = true; };
     libresolvHeaders= pkgs.darwin.libresolv.override { headersOnly = true; };
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
index 1daa49296104..ec252dca41c2 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
@@ -1,7 +1,10 @@
-{ lib, appleDerivation, xcbuildHook
-, Libc, xnu, libutil }:
+{ lib, appleDerivation, xcbuildHook, Libc, stdenv, macosPackages_11_0_1, xnu
+, fetchurl, libutil }:
 
-appleDerivation {
+let
+  xnu-src = if stdenv.isAarch64 then macosPackages_11_0_1.xnu.src else xnu.src;
+  arch = if stdenv.isAarch64 then "arm" else "i386";
+in appleDerivation {
   nativeBuildInputs = [ xcbuildHook ];
   buildInputs = [ libutil ];
 
@@ -11,11 +14,11 @@ appleDerivation {
     # ugly hacks for missing headers
     # most are bsd related - probably should make this a drv
     unpackFile ${Libc.src}
-    unpackFile ${xnu.src}
-    mkdir System sys machine i386
+    unpackFile ${xnu-src}
+    mkdir System sys machine ${arch}
     cp xnu-*/bsd/sys/disklabel.h sys
     cp xnu-*/bsd/machine/disklabel.h machine
-    cp xnu-*/bsd/i386/disklabel.h i386
+    cp xnu-*/bsd/${arch}/disklabel.h ${arch}
     cp -r xnu-*/bsd/sys System
     cp -r Libc-*/uuid System
     substituteInPlace diskdev_cmds.xcodeproj/project.pbxproj \
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
index 53fc019768dd..2a8a609472a2 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
@@ -1,9 +1,9 @@
-{ lib, appleDerivation', stdenv, stdenvNoCC, Libinfo, configd, mDNSResponder
+{ lib, appleDerivation', stdenv, stdenvNoCC, Libinfo, configdHeaders, mDNSResponder
 , headersOnly ? false
 }:
 
 appleDerivation' (if headersOnly then stdenvNoCC else stdenv) {
-  buildInputs = lib.optionals (!headersOnly) [ Libinfo configd mDNSResponder ];
+  buildInputs = lib.optionals (!headersOnly) [ Libinfo configdHeaders mDNSResponder ];
 
   buildPhase = lib.optionalString (!headersOnly) ''
     $CC -I. -c dns_util.c
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
index 9e3d6e49204a..672bb443242b 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
@@ -20,6 +20,8 @@ appleDerivation {
     done
   '';
 
+  NIX_CFLAGS_COMPILE=[ "-Wno-error=format-security" ]; # hardeningDisable doesn't cut it
+
   meta = {
     platforms = lib.platforms.darwin;
     maintainers = with lib.maintainers; [ matthewbauer ];
diff --git a/nixpkgs/pkgs/os-specific/darwin/chunkwm/default.nix b/nixpkgs/pkgs/os-specific/darwin/chunkwm/default.nix
deleted file mode 100644
index c0229ba3ae23..000000000000
--- a/nixpkgs/pkgs/os-specific/darwin/chunkwm/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchzip, Carbon, Cocoa, ScriptingBridge }:
-
-stdenv.mkDerivation rec {
-  pname = "chunkwm";
-  version = "0.4.9";
-  src = fetchzip {
-    url = "https://github.com/koekeishiya/chunkwm/archive/v${version}.tar.gz";
-    sha256 = "0w8q92q97fdvbwc3qb5w44jn4vi3m65ssdvjp5hh6b7llr17vspl";
-  };
-
-  buildInputs = [ Carbon Cocoa ScriptingBridge ];
-  outputs = [ "bin" "out" ];
-
-  buildPhase = ''
-    for d in . src/chunkc src/plugins/*; do
-        pushd $d
-        buildPhase
-        popd
-    done
-  '';
-
-  installPhase = ''
-    mkdir -p $bin/bin $out/bin $out/lib/chunkwm/plugins
-    cp src/chunkc/bin/chunkc $bin/bin/chunkc
-    cp bin/chunkwm $out/bin
-    cp plugins/*.so $out/lib/chunkwm/plugins
-  '';
-
-  meta = with lib; {
-    description = "Tiling window manager for macOS based on plugin architecture";
-    homepage = "https://github.com/koekeishiya/chunkwm";
-    platforms = platforms.darwin;
-    maintainers = with maintainers; [ lnl7 ];
-    license = licenses.mit;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/darwin/duti/default.nix b/nixpkgs/pkgs/os-specific/darwin/duti/default.nix
index 9daed151ce48..db0b1e1dcbae 100644
--- a/nixpkgs/pkgs/os-specific/darwin/duti/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/duti/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [matthewbauer];
     platforms = platforms.darwin;
     license = licenses.publicDomain;
-    homepage = "http://duti.org/";
+    homepage = "https://github.com/moretension/duti/";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/darwin/maloader/default.nix b/nixpkgs/pkgs/os-specific/darwin/maloader/default.nix
index bcd9fe6488d2..1313c1897043 100644
--- a/nixpkgs/pkgs/os-specific/darwin/maloader/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/maloader/default.nix
@@ -1,11 +1,12 @@
-{ lib, stdenv, fetchgit, opencflite, clang, libcxx }:
+{ lib, stdenv, fetchFromGitHub, opencflite, clang, libcxx }:
 
 stdenv.mkDerivation {
   pname = "maloader";
   version = "unstable-2014-02-25";
 
-  src = fetchgit {
-    url = "git://github.com/shinh/maloader.git";
+  src = fetchFromGitHub {
+    owner = "shinh";
+    repo = "maloader";
     rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
     sha256 = "0dd1pn07x1y8pyn5wz8qcl1c1xwghyya4d060m3y9vx5dhv9xmzw";
   };
diff --git a/nixpkgs/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch b/nixpkgs/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
new file mode 100644
index 000000000000..abbb3b8fb0e1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch b/nixpkgs/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
new file mode 100644
index 000000000000..7a7ec7afa2ee
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/moltenvk/createDylib.patch b/nixpkgs/pkgs/os-specific/darwin/moltenvk/createDylib.patch
new file mode 100644
index 000000000000..b4a990cd9891
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix b/nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix
new file mode 100644
index 000000000000..243bc657c9bc
--- /dev/null
+++ b/nixpkgs/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.7";
+
+  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 = "2742e959347ae2fac58acd0d022c92a0ff1f24bf";
+        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-I9QcjyE09qclWPCLAVfKEaifP89q1ftLh9cXWy9m7kw=";
+  };
+
+  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/nixpkgs/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch b/nixpkgs/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch
new file mode 100644
index 000000000000..e28b9ee70b6a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/mysides/default.nix b/nixpkgs/pkgs/os-specific/darwin/mysides/default.nix
new file mode 100644
index 000000000000..cdbfee5046a2
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/darwin/mysides/default.nix
@@ -0,0 +1,36 @@
+{ lib, stdenv, fetchurl, libarchive, p7zip }:
+
+stdenv.mkDerivation rec {
+  pname = "mysides";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/mosen/mysides/releases/download/v${version}/mysides-${version}.pkg";
+    sha256 = "sha256-dpRrj3xb9xQSXXXxragUDgNPBaniiMc6evRF12wqVRQ=";
+  };
+
+  dontBuild = true;
+  nativeBuildInputs = [ libarchive p7zip ];
+
+  unpackPhase = ''
+    7z x $src
+    bsdtar -xf Payload~
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    install -Dm755 usr/local/bin/mysides -t $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Manage macOS Finder sidebar favorites";
+    homepage = "https://github.com/mosen/mysides";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tboerger ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix b/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix
new file mode 100644
index 000000000000..be44db38fe14
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index bfe862eb3957..7c48d695e11d 100644
--- a/nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
@@ -11,7 +11,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "swift-corefoundation";
+  pname = "swift-corefoundation";
+  version = "unstable-2018-09-14";
 
   src = fetchFromGitHub {
     owner  = "apple";
diff --git a/nixpkgs/pkgs/os-specific/darwin/usr-include/default.nix b/nixpkgs/pkgs/os-specific/darwin/usr-include/default.nix
deleted file mode 100644
index 26b60ea44f5d..000000000000
--- a/nixpkgs/pkgs/os-specific/darwin/usr-include/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{lib, stdenv, darwin}:
-
-/*
- * This is needed to build GCC on Darwin.
- *
- * These are the collection of headers that would normally be available under
- * /usr/include in macOS machines with command line tools installed. They need
- * to be in one folder for gcc to use them correctly.
- */
-
-stdenv.mkDerivation {
-  name = "darwin-usr-include";
-  buildInputs = [ darwin.CF stdenv.libc ];
-  buildCommand = ''
-    mkdir -p $out
-    cd $out
-    ln -sf ${stdenv.libc}/include/* .
-    mkdir CoreFoundation
-    ln -sf ${darwin.CF}/Library/Frameworks/CoreFoundation.framework/Headers/* CoreFoundation
-  '';
-
-  meta.platforms = lib.platforms.darwin;
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/cross.patch b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/cross.patch
deleted file mode 100644
index 989ccea2b984..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/cross.patch
+++ /dev/null
@@ -1,347 +0,0 @@
---- a/hdsploader/Makefile.am	2015-02-26 20:36:03.000000000 +0800
-+++ b/hdsploader/Makefile.am	2019-06-28 00:43:41.557803832 +0800
-@@ -32,5 +32,14 @@
- 	     tobin.c
- CLEANFILES = $(dsp_hex_files)
- 
--$(dsp_hex_files): tobin
--	./tobin
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(tobin_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(tobin_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(tobin_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+tobin$(BUILD_EXEEXT): $(tobin_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+$(dsp_hex_files): tobin$(BUILD_EXEEXT)
-+	./$<
---- a/m4/ax_prog_cc_for_build.m4	2019-06-27 15:50:02.274134717 +0800
-+++ b/m4/ax_prog_cc_for_build.m4	2019-06-28 01:32:45.088117432 +0800
-@@ -0,0 +1,125 @@
-+# ===========================================================================
-+#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+#   This macro searches for a C compiler that generates native executables,
-+#   that is a C compiler that surely is not a cross-compiler. This can be
-+#   useful if you have to generate source code at compile-time like for
-+#   example GCC does.
-+#
-+#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+#   The value of these variables can be overridden by the user by specifying
-+#   a compiler with an environment variable (like you do for standard CC).
-+#
-+#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+#   substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved. This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 9
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_EXEEXT])dnl
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_cpp], ac_build_cpp)dnl
-+pushdef([ac_compile], ac_build_compile)dnl
-+pushdef([ac_link], ac_build_link)dnl
-+
-+save_cross_compiling=$cross_compiling
-+save_ac_tool_prefix=$ac_tool_prefix
-+cross_compiling=no
-+ac_tool_prefix=
-+
-+AC_PROG_CC
-+AC_PROG_CPP
-+AC_EXEEXT
-+
-+ac_tool_prefix=$save_ac_tool_prefix
-+cross_compiling=$save_cross_compiling
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([ac_link])dnl
-+popdef([ac_compile])dnl
-+popdef([ac_cpp])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([LDFLAGS])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl Finally, set Makefile variables
-+dnl
-+BUILD_EXEEXT=$ac_build_exeext
-+BUILD_OBJEXT=$ac_build_objext
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
---- a/configure.ac	2019-06-27 23:58:31.045413144 +0800
-+++ b/configure.ac	2019-06-28 01:45:36.511771656 +0800
-@@ -1,6 +1,8 @@
- AC_PREREQ(2.59)
- AC_INIT(alsa-firmware, 1.0.29)
-+AC_CONFIG_MACRO_DIR([m4])
- AC_PROG_CC
-+AC_PROG_CC_FOR_BUILD
- AC_PROG_INSTALL
- AC_PROG_LN_S
- AC_HEADER_STDC
---- a/vxloader/Makefile.am	2015-02-26 20:36:03.000000000 +0800
-+++ b/vxloader/Makefile.am	2019-06-28 01:55:19.525947146 +0800
-@@ -43,5 +43,14 @@
- hotplugfw_DATA = 
- endif
- 
--%.xlx: %.rbt toxlx
--	./toxlx < $< > $@
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(toxlx_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(toxlx_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(toxlx_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+toxlx$(BUILD_EXEEXT): $(toxlx_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+%.xlx: %.rbt toxlx$(BUILD_EXEEXT)
-+	./toxlx$(BUILD_EXEEXT) < $< > $@
---- a/echoaudio/Makefile.am	2015-02-26 20:36:03.000000000 +0800
-+++ b/echoaudio/Makefile.am	2019-06-28 02:00:00.579426080 +0800
-@@ -74,33 +74,42 @@
- hotplugfw_DATA = 
- endif
- 
--$(firmware_files): fw_writer
--	./fw_writer DSP/LoaderDSP.c loader_dsp.fw
--	./fw_writer DSP/Darla20DSP.c darla20_dsp.fw
--	./fw_writer DSP/Gina20DSP.c gina20_dsp.fw
--	./fw_writer DSP/Layla20DSP.c layla20_dsp.fw
--	./fw_writer ASIC/LaylaASIC.c layla20_asic.fw
--	./fw_writer DSP/Darla24DSP.c darla24_dsp.fw
--	./fw_writer DSP/Gina24DSP.c gina24_301_dsp.fw
--	./fw_writer ASIC/Gina24ASIC.c gina24_301_asic.fw
--	./fw_writer DSP/Gina24_361DSP.c gina24_361_dsp.fw
--	./fw_writer ASIC/Gina24ASIC_361.c gina24_361_asic.fw
--	./fw_writer DSP/Layla24DSP.c layla24_dsp.fw
--	./fw_writer ASIC/Layla24_1ASIC.c layla24_1_asic.fw
--	./fw_writer ASIC/Layla24_2A_ASIC.c layla24_2A_asic.fw
--	./fw_writer ASIC/Layla24_2S_ASIC.c layla24_2S_asic.fw
--	./fw_writer DSP/MonaDSP.c mona_301_dsp.fw
--	./fw_writer ASIC/Mona1ASIC48.c mona_301_1_asic_48.fw
--	./fw_writer ASIC/Mona1ASIC96.c mona_301_1_asic_96.fw
--	./fw_writer DSP/Mona361DSP.c mona_361_dsp.fw
--	./fw_writer ASIC/Mona1ASIC48_361.c mona_361_1_asic_48.fw
--	./fw_writer ASIC/Mona1ASIC96_361.c mona_361_1_asic_96.fw
--	./fw_writer ASIC/Mona2ASIC.c mona_2_asic.fw
--	./fw_writer DSP/MiaDSP.c mia_dsp.fw
--	./fw_writer DSP/Echo3gDSP.c echo3g_dsp.fw
--	./fw_writer ASIC/3G_ASIC.c 3g_asic.fw
--	./fw_writer DSP/IndigoDSP.c indigo_dsp.fw
--	./fw_writer DSP/IndigoIODSP.c indigo_io_dsp.fw
--	./fw_writer DSP/IndigoIOxDSP.c indigo_iox_dsp.fw
--	./fw_writer DSP/IndigoDJDSP.c indigo_dj_dsp.fw
--	./fw_writer DSP/IndigoDJxDSP.c indigo_djx_dsp.fw
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+$(firmware_files): fw_writer$(BUILD_EXEEXT)
-+	./fw_writer$(BUILD_EXEEXT) DSP/LoaderDSP.c loader_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Darla20DSP.c darla20_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Gina20DSP.c gina20_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Layla20DSP.c layla20_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/LaylaASIC.c layla20_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Darla24DSP.c darla24_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Gina24DSP.c gina24_301_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Gina24ASIC.c gina24_301_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Gina24_361DSP.c gina24_361_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Gina24ASIC_361.c gina24_361_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Layla24DSP.c layla24_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Layla24_1ASIC.c layla24_1_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Layla24_2A_ASIC.c layla24_2A_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Layla24_2S_ASIC.c layla24_2S_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/MonaDSP.c mona_301_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC48.c mona_301_1_asic_48.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC96.c mona_301_1_asic_96.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Mona361DSP.c mona_361_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC48_361.c mona_361_1_asic_48.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Mona1ASIC96_361.c mona_361_1_asic_96.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/Mona2ASIC.c mona_2_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/MiaDSP.c mia_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/Echo3gDSP.c echo3g_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) ASIC/3G_ASIC.c 3g_asic.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/IndigoDSP.c indigo_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/IndigoIODSP.c indigo_io_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/IndigoIOxDSP.c indigo_iox_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/IndigoDJDSP.c indigo_dj_dsp.fw
-+	./fw_writer$(BUILD_EXEEXT) DSP/IndigoDJxDSP.c indigo_djx_dsp.fw
---- a/emu/Makefile.am	2015-02-26 20:36:03.000000000 +0800
-+++ b/emu/Makefile.am	2019-06-28 02:01:37.856710042 +0800
-@@ -22,5 +22,14 @@
- hotplugfw_DATA = 
- endif
- 
--$(firmware_files): fw_writer
--	./fw_writer
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+$(firmware_files): fw_writer$(BUILD_EXEEXT)
-+	./fw_writer$(BUILD_EXEEXT)
---- a/maestro3/Makefile.am	2015-02-26 20:36:03.000000000 +0800
-+++ b/maestro3/Makefile.am	2019-06-28 02:03:13.704828106 +0800
-@@ -17,5 +17,14 @@
- hotplugfw_DATA =
- endif
- 
--$(firmware_files): fw_writer
--	./fw_writer
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+$(firmware_files): fw_writer$(BUILD_EXEEXT)
-+	./fw_writer$(BUILD_EXEEXT)
---- a/sb16/Makefile.am	2015-02-26 20:36:03.000000000 +0800
-+++ b/sb16/Makefile.am	2019-06-28 02:04:37.121743871 +0800
-@@ -18,5 +18,14 @@
- hotplugfw_DATA =
- endif
- 
--$(firmware_files): fw_writer
--	./fw_writer
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+$(firmware_files): fw_writer$(BUILD_EXEEXT)
-+	./fw_writer$(BUILD_EXEEXT)
---- a/wavefront/Makefile.am	2019-06-28 02:07:27.003727160 +0800
-+++ b/wavefront/Makefile.am	2019-06-28 02:07:46.477947626 +0800
-@@ -17,5 +17,14 @@
- hotplugfw_DATA =
- endif
- 
--$(firmware_files): fw_writer
--	./fw_writer
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+$(firmware_files): fw_writer$(BUILD_EXEEXT)
-+	./fw_writer$(BUILD_EXEEXT)
---- a/ymfpci/Makefile.am	2015-02-26 20:36:03.000000000 +0800
-+++ b/ymfpci/Makefile.am	2019-06-28 02:09:02.487797826 +0800
-@@ -17,5 +17,14 @@
- hotplugfw_DATA =
- endif
- 
--$(firmware_files): fw_writer
--	./fw_writer
-+LINK_FOR_BUILD.c = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
-+
-+$(fw_writer_OBJECTS) : CC=$(CC_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CFLAGS=$(CFLAGS_FOR_BUILD)
-+$(fw_writer_OBJECTS) : CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+
-+fw_writer$(BUILD_EXEEXT): $(tobin_OBJECTS)
-+	$(LINK_FOR_BUILD.c) $^ $(LOADLIBES_FOR_BUILD) $(LDLIBS_FOR_BUILD) -o $@
-+
-+$(firmware_files): fw_writer$(BUILD_EXEEXT)
-+	./fw_writer$(BUILD_EXEEXT)
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix
index 8ad48c41408b..2ef971a8cf7f 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix
@@ -1,20 +1,16 @@
-{ lib, stdenv, buildPackages, autoreconfHook, fetchurl, fetchpatch }:
+{ lib, buildPackages, stdenv, autoreconfHook, fetchurl }:
 
 stdenv.mkDerivation rec {
   pname = "alsa-firmware";
-  version = "1.2.1";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "mirror://alsa/firmware/alsa-firmware-${version}.tar.bz2";
-    sha256 = "1aq8z8ajpjvcx7bwhwp36bh5idzximyn77ygk3ifs0my3mbpr8mf";
+    sha256 = "sha256-tnttfQi8/CR+9v8KuIqZwYgwWjz1euLf0LzZpbNs1bs=";
   };
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/alsa-project/alsa-firmware/commit/a8a478485a999ff9e4a8d8098107d3b946b70288.patch";
-    sha256 = "0zd7vrgz00hn02va5bkv7qj2395a1rl6f8jq1mwbryxs7hiysb78";
-  }) ];
-
-  nativeBuildInputs = [ autoreconfHook buildPackages.stdenv.cc ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   configureFlags = [
     "--with-hotplug-dir=$(out)/lib/firmware"
@@ -32,10 +28,11 @@ stdenv.mkDerivation rec {
     rm -rf $out/bin
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "http://www.alsa-project.org/";
     description = "Soundcard firmwares from the alsa project";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ l-as ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
index a23502714827..58e5990ae0a6 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
@@ -7,24 +7,23 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-lib";
-  version = "1.2.5.1";
+  version = "1.2.6.1";
 
   src = fetchurl {
     url = "mirror://alsa/lib/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-YoQh2VDOyvI03j+JnVIMCmkjMTyWStdR/6wIHfMxQ44=";
+    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;
 
-  # Fix pcm.h file in order to prevent some compilation bugs
-  postPatch = ''
-    sed -i -e 's|//int snd_pcm_mixer_element(snd_pcm_t \*pcm, snd_mixer_t \*mixer, snd_mixer_elem_t \*\*elem);|/\*int snd_pcm_mixer_element(snd_pcm_t \*pcm, snd_mixer_t \*mixer, snd_mixer_elem_t \*\*elem);\*/|' include/pcm.h
-  '';
-
   postInstall = ''
     ln -s ${alsa-ucm-conf}/share/alsa/{ucm,ucm2} $out/share/alsa
     ln -s ${alsa-topology-conf}/share/alsa/topology $out/share/alsa
@@ -43,5 +42,6 @@ stdenv.mkDerivation rec {
 
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ l-as ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix
index 747979b1037c..86ff7ff5d219 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-plugins";
-  version = "1.2.5";
+  version = "1.2.6";
 
   src = fetchurl {
     url = "mirror://alsa/plugins/${pname}-${version}.tar.bz2";
-    sha256 = "086z2g2f95570vfvp9d5bakib4k18fb4bszf3lgx3j6j6f2gkvj2";
+    sha256 = "sha256-BogYpLVdjAKdqgABXYU9RRE/VrIkt8ZOHhF5iMglsqA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix
index 0666f3f47939..e1474e02ed5b 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-ucm-conf-${version}";
-  version = "1.2.5.1";
+  pname = "alsa-ucm-conf";
+  version = "1.2.6.3";
 
   src = fetchurl {
-    url = "mirror://alsa/lib/${name}.tar.bz2";
-    sha256 = "sha256-WEGkRBZty/R523UTA9vDVW9oUIWsfgDwyed1VnYZXZc=";
+    url = "mirror://alsa/lib/${pname}-${version}.tar.bz2";
+    sha256 = "sha256-uKA6o4emJKL2XtwgG/d3QhGQtgUpqSCHZGgjr72Wxc0=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix
index 0f65d1c0c484..241145a24843 100644
--- a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix
@@ -1,18 +1,25 @@
-{ lib, stdenv, fetchurl, elfutils
-, xorg, patchelf, openssl, libdrm, udev
-, libxcb, libxshmfence, libepoxy, perl, zlib
-, ncurses
-, libsOnly ? false, kernel ? null
+{ lib
+, stdenv
+, fetchurl
+, elfutils
+, xorg
+, patchelf
+, libxcb
+, libxshmfence
+, perl
+, zlib
+, expat
+, libffi
+, libselinux
+, libdrm
+, udev
+, kernel ? null
 }:
 
-assert (!libsOnly) -> kernel != null;
-
 with lib;
 
 let
 
-  kernelDir = if libsOnly then null else kernel.dev;
-
   bitness = if stdenv.is64bit then "64" else "32";
 
   libArch =
@@ -20,151 +27,185 @@ let
       "i386-linux-gnu"
     else if stdenv.hostPlatform.system == "x86_64-linux" then
       "x86_64-linux-gnu"
-    else throw "amdgpu-pro is Linux only. Sorry. The build was stopped.";
-
-  libReplaceDir = "/usr/lib/${libArch}";
-
-  ncurses5 = ncurses.override { abiVersion = "5"; };
+    else throw "amdgpu-pro is Linux only. Sorry.";
 
 in stdenv.mkDerivation rec {
 
-  version = "17.40";
+  version = "21.30";
   pname = "amdgpu-pro";
-  build = "${version}-492261";
-
-  libCompatDir = "/run/lib/${libArch}";
-
-  name = pname + "-" + version + (optionalString (!libsOnly) "-${kernelDir.version}");
+  build = "${version}-1290604";
 
   src = fetchurl {
-    url =
-    "https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-${build}.tar.xz";
-    sha256 = "1c073lp9cq1rc2mddky2r0j2dv9dd167qj02visz37vwaxbm2r5h";
-    curlOpts = "--referer http://support.amd.com/en-us/kb-articles/Pages/AMD-Radeon-GPU-PRO-Linux-Beta-Driver%e2%80%93Release-Notes.aspx";
+    url = "https://drivers.amd.com/drivers/linux/amdgpu-pro-${build}-ubuntu-20.04.tar.xz";
+    sha256 = "sha256-WECqxjo2WLP3kMWeVyJgYufkvHTzwGaj57yeMGXiQ4I=";
+    curlOpts = "--referer https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-21-30";
   };
 
-  hardeningDisable = [ "pic" "format" ];
-
-  inherit libsOnly;
-
   postUnpack = ''
-    cd $sourceRoot
     mkdir root
-    cd root
-    for deb in ../*_all.deb ../*_i386.deb '' + optionalString stdenv.is64bit "../*_amd64.deb" + ''; do echo $deb; ar p $deb data.tar.xz | tar -xJ; done
-    sourceRoot=.
-  '';
-
-  modulePatches = optionals (!libsOnly) ([
-    ./patches/0001-fix-warnings-for-Werror.patch
-    ./patches/0002-fix-sketchy-int-ptr-warning.patch
-    ./patches/0003-disable-firmware-copy.patch
-  ]);
-
-  patchPhase = optionalString (!libsOnly) ''
-    pushd usr/src/amdgpu-${build}
-    for patch in $modulePatches
+    pushd $sourceRoot
+    for deb in *_all.deb *_${if stdenv.is64bit then "amd64" else "i386"}.deb
     do
-      echo $patch
-      patch -f -p1 < $patch || true
+      ar p $deb data.tar.xz | tar -C ../root -xJ
     done
     popd
+    # if we don't use a short sourceRoot, compilation can fail due to command
+    # line length
+    sourceRoot=root
   '';
 
-  xreallocarray = ./xreallocarray.c;
+  passthru = optionalAttrs (kernel != null) {
+    kmod = stdenv.mkDerivation rec {
+      inherit version src postUnpack;
+      name = "${pname}-${version}-kmod-${kernel.dev.version}";
 
-  preBuild = optionalString (!libsOnly) ''
-    pushd usr/src/amdgpu-${build}
-    makeFlags="$makeFlags M=$(pwd)"
-    patchShebangs pre-build.sh
-    ./pre-build.sh ${kernel.version}
-    popd
-    pushd lib
-    $CC -fPIC -shared -o libhack-xreallocarray.so $xreallocarray
-    strip libhack-xreallocarray.so
-    popd
-  '';
+      postPatch = ''
+        pushd usr/src/amdgpu-*
+        patchShebangs amd/dkms/*.sh
+        substituteInPlace amd/dkms/pre-build.sh --replace "./configure" "./configure --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+        popd
+      '';
 
-  modules = [
-    "amd/amdgpu/amdgpu.ko"
-    "amd/amdkcl/amdkcl.ko"
-    "ttm/amdttm.ko"
-  ];
+      preConfigure = ''
+        pushd usr/src/amdgpu-*
+        makeFlags="$makeFlags M=$(pwd)"
+        amd/dkms/pre-build.sh ${kernel.version}
+        popd
+      '';
+
+      postBuild = ''
+        pushd usr/src/amdgpu-*
+        find -name \*.ko -exec xz {} \;
+        popd
+      '';
+
+      makeFlags = optionalString (kernel != null) "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build modules";
+
+      installPhase = ''
+        runHook preInstall
+
+        pushd usr/src/amdgpu-*
+        find -name \*.ko.xz -exec install -Dm444 {} $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/{} \;
+        popd
+
+        runHook postInstall
+      '';
 
-  postBuild = optionalString (!libsOnly)
-    (concatMapStrings (m: "xz usr/src/amdgpu-${build}/${m}\n") modules);
+      # without this we get a collision with the ttm module from linux
+      meta.priority = 4;
+    };
 
-  NIX_CFLAGS_COMPILE = "-Werror";
+    fw = stdenv.mkDerivation rec {
+      inherit version src postUnpack;
+      name = "${pname}-${version}-fw";
 
-  makeFlags = optionalString (!libsOnly)
-    "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build modules";
+      installPhase = ''
+        runHook preInstall
+
+        mkdir -p $out/lib
+        cp -r usr/src/amdgpu-*/firmware $out/lib/firmware
+
+        runHook postInstall
+      '';
+    };
+  };
+
+  outputs = [ "out" "vulkan" ];
 
   depLibPath = makeLibraryPath [
-    stdenv.cc.cc.lib xorg.libXext xorg.libX11 xorg.libXdamage xorg.libXfixes zlib
-    xorg.libXxf86vm libxcb libxshmfence libepoxy openssl libdrm elfutils udev ncurses5
+    stdenv.cc.cc.lib
+    zlib
+    libxcb
+    libxshmfence
+    elfutils
+    expat
+    libffi
+    libselinux
+    # libudev is not listed in any dependencies, but is loaded dynamically
+    udev
+    xorg.libXext
+    xorg.libX11
+    xorg.libXfixes
+    xorg.libXdamage
+    xorg.libXxf86vm
   ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out
 
-    cp -r etc $out/etc
-    cp -r lib $out/lib
+    cp -r usr/lib/${libArch} $out/lib
+    cp -r usr/share $out/share
 
-    pushd usr
-    cp -r lib/${libArch}/* $out/lib
-  '' + optionalString (!libsOnly) ''
-    cp -r src/amdgpu-${build}/firmware $out/lib/firmware
-  '' + ''
-    cp -r share $out/share
+    mkdir -p $out/opt/amdgpu{,-pro}
+    cp -r opt/amdgpu-pro/lib/${libArch} $out/opt/amdgpu-pro/lib
+    cp -r opt/amdgpu/lib/${libArch} $out/opt/amdgpu/lib
+
+    pushd $out/lib
+    ln -s ../opt/amdgpu-pro/lib/libGL.so* .
+    ln -s ../opt/amdgpu-pro/lib/libEGL.so* .
     popd
 
-    pushd opt/amdgpu-pro
-  '' + optionalString (!libsOnly && stdenv.is64bit) ''
-    cp -r bin $out/bin
-  '' + ''
-    cp -r include $out/include
-    cp -r share/* $out/share
-    cp -r lib/${libArch}/* $out/lib
-  '' + optionalString (!libsOnly) ''
-    mv lib/xorg $out/lib/xorg
-  '' + ''
+    # short name to allow replacement below
+    ln -s lib/dri $out/dri
+
+  '' + optionalString (stdenv.is64bit) ''
+    mkdir -p $out/etc
+    pushd etc
+    cp -r modprobe.d udev amd $out/etc
     popd
 
-  '' + optionalString (!libsOnly)
-    (concatMapStrings (m:
-      "install -Dm444 usr/src/amdgpu-${build}/${m}.xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/${m}.xz\n") modules)
-  + ''
-    mv $out/etc/vulkan $out/share
-    interpreter="$(cat $NIX_CC/nix-support/dynamic-linker)"
-    libPath="$out/lib:$out/lib/gbm:$depLibPath"
-  '' + optionalString (!libsOnly && stdenv.is64bit) ''
-    for prog in clinfo modetest vbltest kms-universal-planes kms-steal-crtc modeprint amdgpu_test kmstest proptest; do
-      patchelf --interpreter "$interpreter" --set-rpath "$libPath" "$out/bin/$prog"
-    done
+    cp -r lib/udev/rules.d/* $out/etc/udev/rules.d
+    cp -r opt/amdgpu/lib/xorg $out/lib/xorg
+    cp -r opt/amdgpu-pro/lib/xorg/* $out/lib/xorg
+    cp -r opt/amdgpu/share $out/opt/amdgpu/share
   '' + ''
-    ln -s ${makeLibraryPath [ncurses5]}/libncursesw.so.5 $out/lib/libtinfo.so.5
+
+    mkdir -p $vulkan/share/vulkan/icd.d
+    install opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd${bitness}.json $vulkan/share/vulkan/icd.d
+
+    runHook postInstall
   '';
 
-  # we'll just set the full rpath on everything to avoid having to track down dlopen problems
-  postFixup = assert (stringLength libReplaceDir == stringLength libCompatDir); ''
-    libPath="$out/lib:$out/lib/gbm:$depLibPath"
-    for lib in `find "$out/lib/" -name '*.so*' -type f`; do
-      patchelf --set-rpath "$libPath" "$lib"
-    done
-    for lib in libEGL.so.1 libGL.so.1.2 ${optionalString (!libsOnly) "xorg/modules/extensions/libglx.so"} dri/amdgpu_dri.so libamdocl${bitness}.so; do
-      perl -pi -e 's:${libReplaceDir}:${libCompatDir}:g' "$out/lib/$lib"
-    done
-    for lib in dri/amdgpu_dri.so libdrm_amdgpu.so.1.0.0 libgbm_amdgpu.so.1.0.0 libkms_amdgpu.so.1.0.0 libamdocl${bitness}.so; do
-      perl -pi -e 's:/opt/amdgpu-pro/:/run/amdgpu-pro/:g' "$out/lib/$lib"
-    done
-    substituteInPlace "$out/share/vulkan/icd.d/amd_icd${bitness}.json" --replace "/opt/amdgpu-pro/lib/${libArch}" "$out/lib"
-  '' + optionalString (!libsOnly) ''
-    for lib in drivers/modesetting_drv.so libglamoregl.so; do
-      patchelf --add-needed $out/lib/libhack-xreallocarray.so $out/lib/xorg/modules/$lib
-    done
+  preFixup = (if stdenv.is64bit
+    # this could also be done with LIBGL_DRIVERS_PATH, but it would need to be
+    # set in the user session and for Xorg
+    then ''
+      expr1='s:/opt/amdgpu/lib/x86_64-linux-gnu/dri\0:/run/opengl-driver/lib/dri\0\0\0\0\0\0\0\0\0\0\0:g'
+      expr2='s:/usr/lib/x86_64-linux-gnu/dri[\0\:]:/run/opengl-driver/lib/dri\0\0\0\0:g'
+      perl -pi -e "$expr2" $out/lib/xorg/modules/extensions/libglx.so
+    ''
+    else ''
+      expr1='s:/opt/amdgpu/lib/i386-linux-gnu/dri\0:/run/opengl-driver-32/lib/dri\0\0\0\0\0\0:g'
+      # we replace a different path on 32-bit because it's the only one long
+      # enough to fit the target path :(
+      expr2='s:/usr/lib/i386-linux-gnu/dri[\0\:]:/run/opengl-driver-32/dri\0\0\0:g'
+    '') + ''
+    perl -pi -e "$expr1" \
+      $out/opt/amdgpu/lib/libEGL.so.1.0.0 \
+      $out/opt/amdgpu/lib/libgbm.so.1.0.0 \
+      $out/opt/amdgpu/lib/libGL.so.1.2.0
+
+    perl -pi -e "$expr2" \
+      $out/opt/amdgpu-pro/lib/libEGL.so.1 \
+      $out/opt/amdgpu-pro/lib/libGL.so.1.2 \
+      $out/opt/amdgpu-pro/lib/libGLX_amd.so.0
+
+    find $out -type f -exec perl -pi -e 's:/opt/amdgpu-pro/:/run/amdgpu-pro/:g' {} \;
+    find $out -type f -exec perl -pi -e 's:/opt/amdgpu/:/run/amdgpu/:g' {} \;
+
+    substituteInPlace $vulkan/share/vulkan/icd.d/*.json --replace /opt/amdgpu-pro/lib/${libArch} "$out/opt/amdgpu-pro/lib"
+  '';
+
+  # doing this in post because shrinking breaks things that dynamically load
+  postFixup = ''
+    libPath="$out/opt/amdgpu/lib:$out/opt/amdgpu-pro/lib:$depLibPath"
+    find "$out" -name '*.so*' -type f -exec patchelf --set-rpath "$libPath" {} \;
   '';
 
   buildInputs = [
+    libdrm
     patchelf
     perl
   ];
@@ -177,7 +218,5 @@ in stdenv.mkDerivation rec {
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ corngood ];
-    # Copied from the nvidia default.nix to prevent a store collision.
-    priority = 4;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch
deleted file mode 100644
index ecde6401ac18..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0001-fix-warnings-for-Werror.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 9167d76c435a7c1df7954f0fbe5cc6d083f8ed2f Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Mon, 6 Feb 2017 22:13:49 -0400
-Subject: [PATCH 1/3] fix warnings for Werror
-
----
- amd/amdgpu/amdgpu_device.c         | 4 ++--
- amd/amdgpu/amdgpu_sa.c             | 2 +-
- amd/display/dc/bios/bios_parser2.c | 8 ++++----
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/amd/amdgpu/amdgpu_device.c b/amd/amdgpu/amdgpu_device.c
-index fc1c543..186e06d 100644
---- a/amd/amdgpu/amdgpu_device.c
-+++ b/amd/amdgpu/amdgpu_device.c
-@@ -3164,7 +3164,7 @@ void amdgpu_debugfs_cleanup(struct drm_minor *minor)
- 	struct drm_info_node *node, *tmp;
- 
- 	if (!&minor->debugfs_root)
--		return 0;
-+		return;
- 
- 	mutex_lock(&minor->debugfs_lock);
- 	list_for_each_entry_safe(node, tmp,
-@@ -3175,7 +3175,7 @@ void amdgpu_debugfs_cleanup(struct drm_minor *minor)
- 	}
- 	mutex_unlock(&minor->debugfs_lock);
- 
--	return 0;
-+	return;
- }
- #endif
- 
-diff --git a/amd/amdgpu/amdgpu_sa.c b/amd/amdgpu/amdgpu_sa.c
-index 7206b34..8b7123c 100644
---- a/amd/amdgpu/amdgpu_sa.c
-+++ b/amd/amdgpu/amdgpu_sa.c
-@@ -430,7 +430,7 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
- 		if (i->fence)
- #if defined(BUILD_AS_DKMS)
- 			seq_printf(m, " protected by 0x%08x on context %d",
--					i->fence->seqno, i->fence->context);
-+					i->fence->seqno, (int)i->fence->context);
- #else
- 			seq_printf(m, " protected by 0x%08x on context %llu",
- 				   i->fence->seqno, i->fence->context);
-diff --git a/amd/display/dc/bios/bios_parser2.c b/amd/display/dc/bios/bios_parser2.c
-index 86fce5a..99681c5 100644
---- a/amd/display/dc/bios/bios_parser2.c
-+++ b/amd/display/dc/bios/bios_parser2.c
-@@ -1326,13 +1326,13 @@ static enum bp_result get_embedded_panel_info_v2_1(
- 	info->lcd_timing.misc_info.VERTICAL_CUT_OFF = 0;
- 
- 	info->lcd_timing.misc_info.H_REPLICATION_BY2 =
--		lvds->lcd_timing.miscinfo & ATOM_H_REPLICATIONBY2;
-+		(lvds->lcd_timing.miscinfo & ATOM_H_REPLICATIONBY2) != 0;
- 	info->lcd_timing.misc_info.V_REPLICATION_BY2 =
--		lvds->lcd_timing.miscinfo & ATOM_V_REPLICATIONBY2;
-+		(lvds->lcd_timing.miscinfo & ATOM_V_REPLICATIONBY2) != 0;
- 	info->lcd_timing.misc_info.COMPOSITE_SYNC =
--		lvds->lcd_timing.miscinfo & ATOM_COMPOSITESYNC;
-+		(lvds->lcd_timing.miscinfo & ATOM_COMPOSITESYNC) != 0;
- 	info->lcd_timing.misc_info.INTERLACE =
--		lvds->lcd_timing.miscinfo & ATOM_INTERLACE;
-+		(lvds->lcd_timing.miscinfo & ATOM_INTERLACE) != 0;
- 
- 	/* not provided by VBIOS*/
- 	info->lcd_timing.misc_info.DOUBLE_CLOCK = 0;
--- 
-2.15.1
-
diff --git a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch
deleted file mode 100644
index 20f429757a51..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0002-fix-sketchy-int-ptr-warning.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a07ee5dec35ca24a013a6638543ef5030b2bab40 Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Tue, 9 Jan 2018 21:45:33 -0400
-Subject: [PATCH 2/3] fix sketchy int->ptr warning
-
----
- amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
-index d0f091b..707815a 100644
---- a/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
-+++ b/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
-@@ -236,7 +236,7 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
- 		pbn = drm_dp_calc_pbn_mode(clock, bpp);
- 
- 		slots = drm_dp_find_vcpi_slots(mst_mgr, pbn);
--		ret = drm_dp_mst_allocate_vcpi(mst_mgr, mst_port, pbn, slots);
-+		ret = drm_dp_mst_allocate_vcpi(mst_mgr, mst_port, pbn, &slots);
- 
- 		if (!ret)
- 			return false;
--- 
-2.15.1
-
diff --git a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch
deleted file mode 100644
index 0091c471680c..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/patches/0003-disable-firmware-copy.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7a3062acbbabdb29239bbc8c984e62589a88576e Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Tue, 9 Jan 2018 21:49:55 -0400
-Subject: [PATCH 3/3] disable firmware copy
-
----
- pre-build.sh | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/pre-build.sh b/pre-build.sh
-index e7b8a32..bad8f25 100755
---- a/pre-build.sh
-+++ b/pre-build.sh
-@@ -38,8 +38,3 @@ find ttm -name '*.c' -exec grep EXPORT_SYMBOL {} + \
-     | sort -u \
-     | awk -F'[()]' '{print "#define "$2" amd"$2" //"$0}'\
-     >> include/rename_symbol.h
--
--FW_DIR="/lib/firmware/$KERNELVER"
--mkdir -p $FW_DIR
--cp -ar /usr/src/amdgpu-17.40-492261/firmware/radeon $FW_DIR
--cp -ar /usr/src/amdgpu-17.40-492261/firmware/amdgpu $FW_DIR
--- 
-2.15.1
-
diff --git a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c
deleted file mode 100644
index ab47bacb8228..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/xreallocarray.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <malloc.h>
-
-void *xreallocarray(void *ptr, size_t nmemb, size_t size) {
-  return reallocarray(ptr, nmemb, size);
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/anbox/default.nix b/nixpkgs/pkgs/os-specific/linux/anbox/default.nix
index d684e24db914..2a98aa82ebbd 100644
--- a/nixpkgs/pkgs/os-specific/linux/anbox/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix
index fbe02d69f1a8..530292fe8629 100644
--- a/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "android-udev-rules";
-  version = "20210501";
+  version = "20220102";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "sha256-rlTulWclPqMl9LdHdcAtLARXGItiSeF3RX+neZrjgV4=";
+    sha256 = "sha256-D2dPFvuFcZtosfTfsW0lmK5y8zqHdIxJBlvmP/R91CE=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix b/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
index 8e95c44f95cd..5c1cf272e0e7 100644
--- a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/atop/default.upstream b/nixpkgs/pkgs/os-specific/linux/atop/default.upstream
deleted file mode 100644
index 46099d9c9595..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/atop/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url http://atoptool.nl/downloadatop.php
-version_link '[.]tar[.]'
-version '[^0-9]*[-.]([0-9]([-0-9.]*[0-9])?)[.].*' '\1'
-minimize_overwrite
diff --git a/nixpkgs/pkgs/os-specific/linux/autosuspend/default.nix b/nixpkgs/pkgs/os-specific/linux/autosuspend/default.nix
index f25568f5a7cc..4283230f7ad7 100644
--- a/nixpkgs/pkgs/os-specific/linux/autosuspend/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/autosuspend/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "autosuspend";
-  version = "4.0.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "languitar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "149b4qn3nmz48ydnlcgks3as3zzzzn3f5cvj3kdxqxjy4c052lpz";
+    sha256 = "0vn1qhsmjlgd7gn11w938kraz55xyixpzrgq06dar066hcsn1x8w";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix b/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix
index 71c7863cfa85..048318e3e33a 100644
--- a/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix
+++ b/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix
@@ -1,9 +1,9 @@
 {
-  version = "2021.1";
+  version = "2021.4";
 
   sha256 = {
-    batman-adv = "1l1lk41h4chymrb41ihqrr3p80xdwhhp1kkksr157mzailyq8xxz";
-    alfred = "122y92vqrpp3g6dbjfv8hkhwjlfa3skr91lbzicr0pw8mm6wzqll";
-    batctl = "0xp1cqcw0g0irgw9yhkch01rbn39gzvfxv8b2yya32vbnkmqrcj4";
+    batman-adv = "06zbyf8s7njn6wdm1fdq3kl8kx1vx4spxkgiy7dx0pq4c3qs5xyg";
+    alfred = "15fbw80ix95zy8i4c6acm1631vxlz2hakjv4zv5wig74bp2bcyac";
+    batctl = "1ryqz90av2p5pgmmpi1afmycd18zhpwz1i4f7r0s359jis86xndn";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/bcc/default.nix b/nixpkgs/pkgs/os-specific/linux/bcc/default.nix
index caeaed455f7e..d6e4b059088d 100644
--- a/nixpkgs/pkgs/os-specific/linux/bcc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix b/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix
index 920732a2020d..8fa17036c4ad 100644
--- a/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix
@@ -1,4 +1,6 @@
-{ stdenvNoCC, lib, fetchzip, pkgs
+{ stdenv, stdenvNoCC, lib, fetchzip, pkgs
+, enableStatic ? stdenv.hostPlatform.isStatic
+, enableShared ? !stdenv.hostPlatform.isStatic
 }:
 let
 
@@ -92,10 +94,17 @@ stdenvNoCC.mkDerivation rec {
     cp -v ${prebuilt_crt.out}/*.o $out/lib/
     cp -v ${prebuilt_crt.out}/libgcc.a $out/lib/
     cp -v ${prebuilt_ndk_crt.out}/*.o $out/lib/
+  '' + lib.optionalString enableShared ''
     for i in libc.so libm.so libdl.so liblog.so; do
       cp -v ${prebuilt_libs.out}/$i $out/lib/
     done
-
+  '' + lib.optionalString enableStatic ''
+    # no liblog.a; while it's also part of the base libraries,
+    # it's only available as shared object in the prebuilts.
+    for i in libc.a libm.a libdl.a; do
+      cp -v ${prebuilt_ndk_crt.out}/$i $out/lib/
+    done
+  '' + ''
     mkdir -p $dev/include
     cp -v $out/include/*.h $dev/include/
   '';
diff --git a/nixpkgs/pkgs/os-specific/linux/bluez/default.nix b/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
index 2c05a4aa271e..5e81cf6b2c1d 100644
--- a/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bluez/default.nix
@@ -13,6 +13,7 @@
 , readline
 , systemd
 , udev
+, withExperimental ? false
 }: let
   pythonPath = with python3.pkgs; [
     dbus-python
@@ -84,7 +85,8 @@ in stdenv.mkDerivation rec {
     # To provide ciptool, sdptool, and rfcomm (unmaintained)
     # superseded by new D-Bus APIs
     "--enable-deprecated"
-  ];
+  ] ++ lib.optional withExperimental "--enable-experimental";
+
 
   # Work around `make install' trying to create /var/lib/bluetooth.
   installFlags = [ "statedir=$(TMPDIR)/var/lib/bluetooth" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix b/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
index 9a197b4c78c8..abf8fb63bc35 100644
--- a/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner  = "iovisor";
     repo   = "bpftrace";
     rev    = "v${version}";
-    sha256 = "sha256-rlaajNfpoiMtU/4aNAnbQ0VixPz9/302TZMarGzsb58=";
+    sha256 = "sha256-QDqHAEVM/XHCFMS0jMLdKJfDUOpkUqONOf8+Fbd5dCY=";
   };
 
   # libbpf 0.6.0 relies on typeof in bpf/btf.h to pick the right version of
diff --git a/nixpkgs/pkgs/os-specific/linux/busybox/default.nix b/nixpkgs/pkgs/os-specific/linux/busybox/default.nix
index b8a017adcf42..9e21955808f8 100644
--- a/nixpkgs/pkgs/os-specific/linux/busybox/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/busybox/default.nix
@@ -66,6 +66,8 @@ stdenv.mkDerivation rec {
     ./busybox-in-store.patch
   ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./clang-cross.patch;
 
+  separateDebugInfo = true;
+
   postPatch = "patchShebangs .";
 
   configurePhase = ''
@@ -120,6 +122,8 @@ stdenv.mkDerivation rec {
     makeFlagsArray+=("CC=${stdenv.cc.targetPrefix}cc -isystem ${musl.dev}/include -B${musl}/lib -L${musl}/lib")
   '';
 
+  makeFlags = [ "SKIP_STRIP=y" ];
+
   postInstall = ''
     sed -e '
     1 a busybox() { '$out'/bin/busybox "$@"; }\
diff --git a/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix b/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix
index e82e3f5901c1..bb7a953c1195 100644
--- a/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix
@@ -40,5 +40,6 @@ pythonPackages.buildPythonApplication rec {
     homepage    = "https://github.com/lpechacek/cpuset";
     license     = licenses.gpl2;
     maintainers = with maintainers; [ thiagokokada wykurz ];
+    mainProgram = "cset";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/crda/default.nix b/nixpkgs/pkgs/os-specific/linux/crda/default.nix
index d12bba4e1645..ffed5fc36a78 100644
--- a/nixpkgs/pkgs/os-specific/linux/crda/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/crda/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
 
       to the system configuration.
     '';
-    homepage = "http://drvbp1.linux-foundation.org/~mcgrof/rel-html/crda/";
+    homepage = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda";
     license = licenses.free; # "copyleft-next 0.3.0", as yet without a web site
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/cryptsetup/default.nix b/nixpkgs/pkgs/os-specific/linux/cryptsetup/default.nix
index 150547367a34..27f32c648131 100644
--- a/nixpkgs/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -3,13 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "cryptsetup";
-  version = "2.4.1";
+  version = "2.4.3";
 
   outputs = [ "out" "dev" "man" ];
+  separateDebugInfo = true;
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/cryptsetup/v2.4/${pname}-${version}.tar.xz";
-    sha256 = "sha256-o1anJ6g6RkreVm6VI5Yioi2+Tg9IKxmP2wSrDTpanF8=";
+    sha256 = "sha256-/A35RRiBciZOxb8dC9oIJk+tyKP4VtR+upHzH+NUtQc=";
   };
 
   # Disable 4 test cases that fail in a sandbox
@@ -24,12 +25,14 @@ stdenv.mkDerivation rec {
     substituteInPlace tests/unit-utils-io.c --replace "| O_DIRECT" ""
   '';
 
-  NIX_LDFLAGS = "-lgcc_s";
+  NIX_LDFLAGS = lib.optionalString (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s";
 
   configureFlags = [
     "--enable-cryptsetup-reencrypt"
     "--with-crypto_backend=openssl"
     "--disable-ssh-token"
+  ] ++ lib.optionals stdenv.hostPlatform.isStatic [
+    "--enable-static-cryptsetup"
   ];
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix b/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix
index b4b40f8331f9..d9ccb70f1f03 100644
--- a/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix
+++ b/nixpkgs/pkgs/os-specific/linux/device-tree/raspberrypi.nix
@@ -1,7 +1,8 @@
 { lib, stdenvNoCC, raspberrypifw }:
 
 stdenvNoCC.mkDerivation {
-  name = "raspberrypi-dtbs-${raspberrypifw.version}";
+  pname = "raspberrypi-dtbs";
+  version = raspberrypifw.version;
   nativeBuildInputs = [ raspberrypifw ];
 
   # Rename DTBs so u-boot finds them, like linux-rpi.nix
diff --git a/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix b/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
index 6cc22c25602b..f1e942a43993 100644
--- a/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
@@ -20,22 +20,22 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "displaylink";
-  version = "5.4.1-55.174";
+  version = "5.5.0-beta-59.118";
 
   src = requireFile rec {
-    name = "displaylink.zip";
-    sha256 = "1biswvjz91gmx7xf9g05h3ra463hf2yv9mr2nkxclyrd283iiiqc";
+    name = "displaylink-55.zip";
+    sha256 = "0mid6p1mnkhbl96cr763ngdwrlgnpgs6c137rwc2sjf4v33g59ma";
     message = ''
       In order to install the DisplayLink drivers, you must first
       comply with DisplayLink's EULA and download the binaries and
       sources from here:
 
-      https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu-5.4.1
+      https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu-5.5-Beta
 
       Once you have downloaded the file, please use the following
       commands and re-run the installation:
 
-      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu ${lib.versions.majorMinor version}.zip" \$PWD/${name}
+      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu (Beta)5.5 Beta-EXE.zip" \$PWD/${name}
       nix-prefetch-url file://\$PWD/${name}
     '';
   };
@@ -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/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix b/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
index 7592be483f53..1e4f50e42df3 100644
--- a/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix
@@ -1,9 +1,9 @@
 { stdenv, lib
 , kernel
 , fetchurl
-, pkg-config, meson, ninja
+, pkg-config, meson, ninja, makeWrapper
 , libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap, rdma-core
-, doxygen, python3
+, doxygen, python3, pciutils
 , withExamples ? []
 , shared ? false }:
 
@@ -20,6 +20,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
+    makeWrapper
     doxygen
     meson
     ninja
@@ -31,22 +32,27 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     jansson
     libbpf
-    libbsd
     libelf
     libpcap
     numactl
     openssl.dev
     zlib
+    python3
   ] ++ lib.optionals mod kernel.moduleBuildDependencies;
 
-  # Propagated to support current DPDK users in nixpkgs which statically link
-  # with the framework (e.g. odp-dpdk).
   propagatedBuildInputs = [
+    # Propagated to support current DPDK users in nixpkgs which statically link
+    # with the framework (e.g. odp-dpdk).
     rdma-core
+    # Requested by pkg-config.
+    libbsd
   ];
 
   postPatch = ''
     patchShebangs config/arm buildtools
+  '' + lib.optionalString mod ''
+    # kernel_install_dir is hardcoded to `/lib/modules`; patch that.
+    sed -i "s,kernel_install_dir *= *['\"].*,kernel_install_dir = '$kmod/lib/modules/${kernel.modDirVersion}'," kernel/linux/meson.build
   '';
 
   mesonFlags = [
@@ -59,30 +65,25 @@ in stdenv.mkDerivation rec {
   ++ lib.optional (!shared) "-Ddefault_library=static"
   ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem"
   ++ lib.optional stdenv.isAarch64 "-Dmachine=generic"
-  ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}"
+  ++ lib.optional mod "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ++ lib.optional (withExamples != []) "-Dexamples=${builtins.concatStringsSep "," withExamples}";
 
-  # dpdk meson script does not support separate kernel source and installion
-  # dirs (except via destdir), so we temporarily link the former into the latter.
-  preConfigure = lib.optionalString mod ''
-    mkdir -p $kmod/lib/modules/${kernel.modDirVersion}
-    ln -sf ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
-      $kmod/lib/modules/${kernel.modDirVersion}
-  '';
-
-  postBuild = lib.optionalString mod ''
-    rm -f $kmod/lib/modules/${kernel.modDirVersion}/build
-  '';
-
   postInstall = ''
     # Remove Sphinx cache files. Not only are they not useful, but they also
     # contain store paths causing spurious dependencies.
     rm -rf $out/share/doc/dpdk/html/.doctrees
+
+    wrapProgram $out/bin/dpdk-devbind.py \
+      --prefix PATH : "${lib.makeBinPath [ pciutils ]}"
   '' + lib.optionalString (withExamples != []) ''
-    find examples -type f -executable -exec install {} $out/bin \;
+    mkdir -p $examples/bin
+    find examples -type f -executable -exec install {} $examples/bin \;
   '';
 
-  outputs = [ "out" ] ++ lib.optional mod "kmod";
+  outputs =
+    [ "out" "doc" ]
+    ++ lib.optional mod "kmod"
+    ++ lib.optional (withExamples != []) "examples";
 
   meta = with lib; {
     description = "Set of libraries and drivers for fast packet processing";
diff --git a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
index e0d1c46d64ad..e40448be4353 100644
--- a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
@@ -2,15 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "unstable-2021-07-07";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
-    rev = "b0b2c80eb63f9b858b71afa772135f434aea192a";
-    sha256 = "sha256-io+CbZovGjEJjwtmARFH23Djt933ONoHMDoea+i6xFo=";
+    rev = "v${version}";
+    sha256 = "sha256-vMcmUWdnO9JmImxz4vO3/UONlsrCGc8VH/o38YwCIzg=";
   };
 
+  NIX_CFLAGS_COMPILE = "-Wno-error -Wno-error=sign-compare";
+
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   buildInputs = [ kernel libdrm ];
@@ -33,6 +35,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = with licenses; [ lgpl21Only gpl2Only ];
     homepage = "https://www.displaylink.com/";
-    broken = kernel.kernelOlder "4.19" || kernel.kernelAtLeast "5.15" || stdenv.isAarch64;
+    broken = kernel.kernelOlder "4.19" || stdenv.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/exfat/default.nix b/nixpkgs/pkgs/os-specific/linux/exfat/default.nix
index 958bcdb9f16e..d459d2408442 100644
--- a/nixpkgs/pkgs/os-specific/linux/exfat/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/exfat/default.nix
@@ -1,9 +1,5 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, kernel }:
 
-
-# Upstream build for kernel 4.1 is broken, 3.12 and below seems to be working
-assert lib.versionAtLeast kernel.version  "4.2" || lib.versionOlder kernel.version "4.0";
-
 stdenv.mkDerivation rec {
   # linux kernel above 5.7 comes with its own exfat implementation https://github.com/arter97/exfat-linux/issues/27
   # Assertion moved here due to some tests unintenionally triggering it,
@@ -41,5 +37,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ makefu ];
     platforms = lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/extrace/default.nix b/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
index 1eac5997bf3b..e4afe6f85039 100644
--- a/nixpkgs/pkgs/os-specific/linux/extrace/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix b/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix
index ecf1b5e2b314..cbea00ae184d 100644
--- a/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix
@@ -1,24 +1,17 @@
 { stdenv, lib, fetchurl, gpm, freetype, fontconfig, pkg-config, ncurses, libx86 }:
-let
-  s = # Generated upstream information
-    {
-      version = "1.7.0";
-      pname = "fbterm";
-      hash = "0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj";
-      url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/fbterm/fbterm-1.7.0.tar.gz";
-      sha256 = "0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj";
-    };
-  buildInputs = [ gpm freetype fontconfig ncurses ]
-    ++ lib.optional stdenv.hostPlatform.isx86 libx86;
-in
-stdenv.mkDerivation {
-  inherit (s) pname version;
+
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  pname = "fbterm";
+
   src = fetchurl {
-    inherit (s) url sha256;
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/fbterm/fbterm-${version}.tar.gz";
+    sha256 = "0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj";
   };
 
   nativeBuildInputs = [ pkg-config ncurses ];
-  inherit buildInputs;
+  buildInputs = [ gpm freetype fontconfig ncurses ]
+    ++ lib.optional stdenv.hostPlatform.isx86 libx86;
 
   preConfigure = ''
     sed -e '/ifdef SYS_signalfd/atypedef long long loff_t;' -i src/fbterm.cpp
@@ -51,10 +44,9 @@ stdenv.mkDerivation {
   ];
 
   meta = with lib; {
-    inherit (s) version;
     description = "Framebuffer terminal emulator";
     homepage = "https://code.google.com/archive/p/fbterm/";
-    maintainers = [ maintainers.raskin ];
+    maintainers = with maintainers; [ raskin ];
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/ffado/default.nix b/nixpkgs/pkgs/os-specific/linux/ffado/default.nix
index e23591168f6e..8f58f1c2d045 100644
--- a/nixpkgs/pkgs/os-specific/linux/ffado/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ffado/default.nix
@@ -13,7 +13,7 @@
 , libxmlxx3
 , pkg-config
 , python3
-, sconsPackages
+, scons
 , which
 , wrapQtAppsHook
 }:
@@ -45,7 +45,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils
-    sconsPackages.scons_3_1_2
+    scons
     pkg-config
     which
     python
diff --git a/nixpkgs/pkgs/os-specific/linux/firejail/default.nix b/nixpkgs/pkgs/os-specific/linux/firejail/default.nix
index 47fce3df5332..c3dc819b5bcf 100644
--- a/nixpkgs/pkgs/os-specific/linux/firejail/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firejail/default.nix
@@ -1,17 +1,37 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, which, xdg-dbus-proxy, nixosTests }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, pkg-config
+, libapparmor
+, which
+, xdg-dbus-proxy
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
   pname = "firejail";
-  version = "0.9.66";
+  version = "0.9.68";
 
   src = fetchFromGitHub {
     owner = "netblue30";
     repo = "firejail";
     rev = version;
-    sha256 = "sha256-oKstTiGt0r4wePaZ9u1o78GZ1XWJ27aS0BdLxmfYk9Q=";
+    sha256 = "18yy1mykx7h78yj7sz729i3dlsrgi25m17m5x9gbrvsx7f87rw7j";
   };
 
-  buildInputs = [ which ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libapparmor
+    which
+  ];
+
+  configureFlags = [
+    "--enable-apparmor"
+  ];
 
   patches = [
     # Adds the /nix directory when using an overlay.
@@ -20,17 +40,9 @@ stdenv.mkDerivation rec {
     # By default fbuilder hardcodes the firejail binary to the install path.
     # On NixOS the firejail binary is a setuid wrapper available in $PATH.
     ./fbuilder-call-firejail-on-path.patch
-    # Disable symlink check on /etc/hosts, see
-    # https://github.com/netblue30/firejail/issues/2758#issuecomment-805174951
-    ./remove-link-check.patch
   ];
 
   prePatch = ''
-    # Allow whitelisting ~/.nix-profile
-    substituteInPlace etc/firejail.config --replace \
-      '# follow-symlink-as-user yes' \
-      'follow-symlink-as-user no'
-
     # Fix the path to 'xdg-dbus-proxy' hardcoded in the 'common.h' file
     substituteInPlace src/include/common.h \
       --replace '/usr/bin/xdg-dbus-proxy' '${xdg-dbus-proxy}/bin/xdg-dbus-proxy'
@@ -62,7 +74,7 @@ stdenv.mkDerivation rec {
   # See https://github.com/netblue30/firejail/blob/e4cb6b42743ad18bd11d07fd32b51e8576239318/src/firejail/profile.c#L68-L83
   # for the profile file lookup implementation.
   postInstall = ''
-    for local in $(grep -Eh '^include.*local$' $out/etc/firejail/*.profile | awk '{print $2}' | sort | uniq)
+    for local in $(grep -Eh '^include.*local$' $out/etc/firejail/*{.inc,.profile} | awk '{print $2}' | sort | uniq)
     do
       echo "include /etc/firejail/$local" >$out/etc/firejail/$local
     done
diff --git a/nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch b/nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch
index 6016891655b1..548bb80e7bf7 100644
--- a/nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch
+++ b/nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch
@@ -1,11 +1,11 @@
 --- a/src/fbuilder/build_profile.c
 +++ b/src/fbuilder/build_profile.c
-@@ -67,7 +67,7 @@
- 		errExit("asprintf");
- 
- 	char *cmdlist[] = {
--	  BINDIR "/firejail",
-+	  "firejail",
- 	  "--quiet",
- 	  "--noprofile",
- 	  "--caps.drop=all",
+@@ -48,7 +48,7 @@
+ 	// build command
+ 	char *cmd[len];
+ 	unsigned curr_len = 0;
+-	cmd[curr_len++] = BINDIR "/firejail";
++	cmd[curr_len++] = "firejail";
+ 	cmd[curr_len++] = "--quiet";
+ 	cmd[curr_len++] = "--noprofile";
+ 	cmd[curr_len++] = "--caps.drop=all";
diff --git a/nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch b/nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch
index 685314f90758..6493eb4fdf26 100644
--- a/nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch
+++ b/nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch
@@ -1,6 +1,6 @@
---- a/src/firejail/fs.c
-+++ b/src/firejail/fs.c
-@@ -1143,6 +1143,16 @@
+--- a/src/firejail/fs_overlayfs.c
++++ b/src/firejail/fs_overlayfs.c
+@@ -327,6 +327,16 @@
  		errExit("mounting /dev");
  	fs_logger("whitelist /dev");
  
@@ -17,7 +17,7 @@
  	// mount-bind run directory
  	if (arg_debug)
  		printf("Mounting /run\n");
-@@ -1201,6 +1211,7 @@
+@@ -384,6 +394,7 @@
  	free(odiff);
  	free(owork);
  	free(dev);
diff --git a/nixpkgs/pkgs/os-specific/linux/firejail/remove-link-check.patch b/nixpkgs/pkgs/os-specific/linux/firejail/remove-link-check.patch
deleted file mode 100644
index 477df57a2411..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/firejail/remove-link-check.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From ccc726f8ec877d8cda720daa2498e43629b6dd48 Mon Sep 17 00:00:00 2001
-From: Jonas Heinrich <onny@project-insanity.org>
-Date: Sun, 19 Sep 2021 11:48:06 +0200
-Subject: [PATCH 1/2] remove hosts file link check
-
----
- src/firejail/fs_hostname.c | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/src/firejail/fs_hostname.c b/src/firejail/fs_hostname.c
-index 42255070c4..97ce70f9c1 100644
---- a/src/firejail/fs_hostname.c
-+++ b/src/firejail/fs_hostname.c
-@@ -132,10 +132,6 @@ char *fs_check_hosts_file(const char *fname) {
- 	invalid_filename(fname);
- 	char *rv = expand_home(fname, cfg.homedir);
- 
--	// no a link
--	if (is_link(rv))
--		goto errexit;
--
- 	// the user has read access to the file
- 	if (access(rv, R_OK))
- 		goto errexit;
-
-From c2c51e7ca56075e7388b4f50922b148615d1b125 Mon Sep 17 00:00:00 2001
-From: Jonas Heinrich <onny@project-insanity.org>
-Date: Sun, 19 Sep 2021 11:49:08 +0200
-Subject: [PATCH 2/2] remove hosts file link check
-
----
- src/firejail/fs_hostname.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/firejail/fs_hostname.c b/src/firejail/fs_hostname.c
-index 97ce70f9c1..b228707131 100644
---- a/src/firejail/fs_hostname.c
-+++ b/src/firejail/fs_hostname.c
-@@ -154,9 +154,6 @@ void fs_mount_hosts_file(void) {
- 	struct stat s;
- 	if (stat("/etc/hosts", &s) == -1)
- 		goto errexit;
--	// not a link
--	if (is_link("/etc/hosts"))
--		goto errexit;
- 	// owned by root
- 	if (s.st_uid != 0)
- 		goto errexit;
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/firmware-updater/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
new file mode 100644
index 000000000000..69cd829049ca
--- /dev/null
+++ b/nixpkgs/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-QgeRCFbd3AcFekJunFTwu2nDOQpAOMJUxZhgY4stJJc=";
+
+  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.free;
+    maintainers = with maintainers; [ mkg20001 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
index 0e74b32b3b6b..bd9f0d2474e4 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 71f6da0d13b1..077c37a72cb3 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -214,7 +214,7 @@ let
       "-Dc_link_args=-Wl,-rpath,${placeholder "out"}/lib"
     ] ++ lib.optionals (!haveDell) [
       "-Dplugin_dell=false"
-      "-Dplugin_synaptics=false"
+      "-Dplugin_synaptics_mst=false"
     ] ++ lib.optionals (!haveRedfish) [
       "-Dplugin_redfish=false"
     ] ++ lib.optionals haveFlashrom [
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
index ebe9b733e3d0..4aff785b855e 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
@@ -1,13 +1,13 @@
 { stdenvNoCC, fetchgit, lib }:
 
 stdenvNoCC.mkDerivation rec {
-  pname = "firmware-linux-nonfree";
-  version = "20211216";
+  pname = "linux-firmware";
+  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/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix
index c587994ccecb..f3ea80348b3b 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, linuxPackages }:
 with lib;
 stdenv.mkDerivation {
-  name = "rtl8723bs-firmware-${linuxPackages.rtl8723bs.version}";
+  pname = "rtl8723bs-firmware";
+  version = linuxPackages.rtl8723bs.version;
   inherit (linuxPackages.rtl8723bs) src;
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix
index f2dd36a0e065..925521696da9 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "Firmware for Realtek RTL8761b";
     license = licenses.unfreeRedistributableFirmware;
-    maintainers = with maintainers; [ edibopp ];
+    maintainers = with maintainers; [ milibopp ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
index 73b9cf08b808..5ec2bd70fdb6 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix b/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix
index baa92decd9fc..e600e163ad73 100644
--- a/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "fnotifystat";
   version = "0.02.07";
-  src = fetchurl {
-    url = "https://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz";
-    sha256 = "0ipfg2gymbgx7bqlx1sq5p2y89k5j18iqnb0wa27n5s3kh9sh8w0";
+  src = fetchFromGitHub {
+    owner = "ColinIanKing";
+    repo = pname;
+    rev = "V${version}";
+    sha256 = "sha256-5oYM1t+vmWywYRbgXI2RGQlOuNJluj2gwCMf3pTpDC0=";
   };
-  installFlags = [ "DESTDIR=$(out)" ];
-  postInstall = ''
-    mv $out/usr/* $out
-    rm -r $out/usr
-  '';
+
+  installFlags = [
+    "BINDIR=${placeholder "out"}/bin"
+    "MANDIR=${placeholder "out"}/share/man/man8"
+    "BASHDIR=${placeholder "out"}/share/bash-completion/completions"
+  ];
+
   meta = with lib; {
     description = "File activity monitoring tool";
-    homepage = "https://kernel.ubuntu.com/~cking/fnotifystat/";
-    license = licenses.gpl2;
+    homepage = "https://github.com/ColinIanKing/fnotifystat";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ womfoo ];
+    maintainers = with maintainers; [ womfoo dtzWill ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/gogoclient/config-paths.patch b/nixpkgs/pkgs/os-specific/linux/gogoclient/config-paths.patch
deleted file mode 100644
index 88358038bc7e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/gogoclient/default.nix b/nixpkgs/pkgs/os-specific/linux/gogoclient/default.nix
deleted file mode 100644
index 75c0f1c3d1bc..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch b/nixpkgs/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch
deleted file mode 100644
index 22ecad187d62..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/greetd/default.nix b/nixpkgs/pkgs/os-specific/linux/greetd/default.nix
index cfde703cd674..744b43f6f8aa 100644
--- a/nixpkgs/pkgs/os-specific/linux/greetd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/greetd/default.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
       that makes no assumptions about what you want to launch.
       Comes with agreety, a simple, text-based greeter.
     '';
-    homepage = "https://kl.wtf/projects/greetd/";
+    homepage = "https://sr.ht/~kennylevinsen/greetd/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ luc65r ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/gt/default.nix b/nixpkgs/pkgs/os-specific/linux/gt/default.nix
new file mode 100644
index 000000000000..a7e4c0750463
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/gt/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchFromGitHub, cmake, bash-completion, pkg-config, libconfig
+, asciidoc
+, libusbgx
+}:
+stdenv.mkDerivation {
+  pname = "gt";
+  version = "unstable-2021-09-30";
+
+  src = fetchFromGitHub {
+    owner = "linux-usb-gadgets";
+    repo = "gt";
+    rev = "7247547a14b2d092dc03fd83218ae65c2f7ff7d6";
+    sha256 = "1has9q2sghd5vyi25l3h2hd4d315vvpld076iwwsg01fx4d9vjmg";
+  };
+  sourceRoot = "source";
+
+  preConfigure = ''
+    cmakeFlagsArray+=("-DBASH_COMPLETION_COMPLETIONSDIR=$out/share/bash-completions/completions")
+  '';
+  nativeBuildInputs = [ cmake pkg-config asciidoc ];
+  buildInputs = [ bash-completion libconfig libusbgx];
+
+  meta = {
+    description = "Linux command line tool for setting up USB gadgets using configfs";
+    license = with lib.licenses; [ asl20 ];
+    maintainers = with lib.maintainers; [ lheckemann ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/hdapsd/default.nix b/nixpkgs/pkgs/os-specific/linux/hdapsd/default.nix
index 39f69ef01441..959fa9ac6e8a 100644
--- a/nixpkgs/pkgs/os-specific/linux/hdapsd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/hdapsd/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchurl }:
 
-let version = "20141203"; in
-stdenv.mkDerivation {
-  name = "hdapsd-"+version;
+stdenv.mkDerivation rec {
+  pname = "hdapsd";
+  version = "20141203";
 
   src = fetchurl {
     url = "https://github.com/evgeni/hdapsd/releases/download/${version}/hdapsd-${version}.tar.gz";
diff --git a/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix b/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix
index 300bb499f855..2b112a9590b0 100644
--- a/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
index 268e178aad08..8124da489aee 100644
--- a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libnl, openssl, sqlite ? null }:
+{ lib, stdenv, fetchurl, pkg-config, libnl, openssl, sqlite ? null }:
 
 stdenv.mkDerivation rec {
   pname = "hostapd";
-  version = "2.9";
+  version = "2.10";
 
   src = fetchurl {
     url = "https://w1.fi/releases/${pname}-${version}.tar.gz";
-    sha256 = "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8";
+    sha256 = "sha256-IG58eZtnhXLC49EgMCOHhLxKn4IyOwFWtMlGbxSYkV0=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,38 +16,8 @@ stdenv.mkDerivation rec {
     (fetchurl {
       # Note: fetchurl seems to be unhappy with openwrt git
       # server's URLs containing semicolons. Using the github mirror instead.
-      url = "https://raw.githubusercontent.com/openwrt/openwrt/master/package/network/services/hostapd/patches/300-noscan.patch";
-      sha256 = "04wg4yjc19wmwk6gia067z99gzzk9jacnwxh5wyia7k5wg71yj5k";
-    })
-    # AP mode PMF disconnection protection bypass (CVE.2019-16275), can be removed >= 2.10
-    # https://w1.fi/security/2019-7/
-    (fetchurl {
-      name = "CVE-2019-16275.patch";
-      url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch";
-      sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz";
-    })
-    # Fixes for UPnP SUBSCRIBE misbehavior in hostapd WPS AP (CVE-2020-12695), can be removed >= 2.10
-    # https://w1.fi/security/2020-1/
-    (fetchurl {
-      name = "CVE-2020-12695_0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch";
-      url = "https://w1.fi/security/2020-1/0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch";
-      sha256 = "1mrbhicqb34jlw1nid5hk2vnjbvfhvp7r5iblaj4l6vgc6fmp6id";
-    })
-    (fetchurl {
-      name = "CVE-2020-12695_0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch";
-      url = "https://w1.fi/security/2020-1/0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch";
-      sha256 = "1pk08b06b24is50bis3rr56xjd3b5kxdcdk8bx39n9vna9db7zj9";
-    })
-    (fetchurl {
-      name = "CVE-2020-12695_0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch";
-      url = "https://w1.fi/security/2020-1/0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch";
-      sha256 = "12npqp2skgrj934wwkqicgqksma0fxz09di29n1b5fm5i4njl8d8";
-    })
-    # In wpa_supplicant and hostapd 2.9, forging attacks may occur because AlgorithmIdentifier parameters are mishandled in tls/pkcs1.c and tls/x509v3.c.
-    (fetchpatch {
-      name = "CVE-2021-30004.patch";
-      url = "https://w1.fi/cgit/hostap/patch/?id=a0541334a6394f8237a4393b7372693cd7e96f15";
-      sha256 = "1gbhlz41x1ar1hppnb76pqxj6vimiypy7c4kq6h658637s4am3xg";
+      url = "https://raw.githubusercontent.com/openwrt/openwrt/eefed841b05c3cd4c65a78b50ce0934d879e6acf/package/network/services/hostapd/patches/300-noscan.patch";
+      sha256 = "08p5frxhpq1rp2nczkscapwwl8g9nc4fazhjpxic5bcbssc3sb00";
     })
   ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/ima-evm-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/ima-evm-utils/default.nix
index 14ddc21bb6b3..afd46f0d9e8f 100644
--- a/nixpkgs/pkgs/os-specific/linux/ima-evm-utils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ima-evm-utils/default.nix
@@ -2,20 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "ima-evm-utils";
-  version = "1.1";
+  version = "1.4";
 
   src = fetchgit {
     url = "git://git.code.sf.net/p/linux-ima/ima-evm-utils";
     rev = "v${version}";
-    sha256 = "1dhfw6d9z4dv82q9zg2g025hgr179kamz9chy7v5w9b71aam8jf8";
+    sha256 = "1zmyv82232lzqk52m0s7fap9zb9hb1x6nsi5gznk0cbsnq2m67pc";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ openssl attr keyutils asciidoc libxslt ];
 
-  patches = [ ./xattr.patch ];
-
-  buildPhase = "make prefix=$out MANPAGE_DOCBOOK_XSL=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl";
+  MANPAGE_DOCBOOK_XSL = "${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl";
 
   meta = {
     description = "evmctl utility to manage digital signatures of the Linux kernel integrity subsystem (IMA/EVM)";
diff --git a/nixpkgs/pkgs/os-specific/linux/ima-evm-utils/xattr.patch b/nixpkgs/pkgs/os-specific/linux/ima-evm-utils/xattr.patch
deleted file mode 100644
index 2d27570a5786..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/ima-evm-utils/xattr.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-commit 6aea54d2ad2287b3e8894c262ee895f3d4a60516
-Author: André Draszik <git@andred.net>
-Date:   Mon Oct 17 12:45:32 2016 +0100
-
-    evmctl: use correct include for xattr.h
-    
-    The xattr API/ABI is provided by both the c-library, as well as by the
-    libattr package. The c-library's header file is sys/xattr.h, whereas
-    libattr's header file can be found in attr/xattr.h.
-    
-    Given none of the code here *links* against the libattr.so shared library, it
-    is wrong to *compile* against libattr's API (header file).
-    
-    Doing so avoids confusion as to which xattr.h is used as the least problem,
-    and potential ABI differences as the worst problem due the mismatching header
-    file used.
-    
-    So make sure we compile and link against the same thing, the c-library in
-    both cases.
-    
-    Signed-off-by: André Draszik <git@andred.net>
-    Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
-
-diff --git a/configure.ac b/configure.ac
-index 0497eb7..a5b4288 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -30,7 +30,7 @@ AC_SUBST(OPENSSL_LIBS)
- AC_CHECK_HEADER(unistd.h)
- AC_CHECK_HEADERS(openssl/conf.h)
- 
--AC_CHECK_HEADERS(attr/xattr.h, , [AC_MSG_ERROR([attr/xattr.h header not found. You need the libattr development package.])])
-+AC_CHECK_HEADERS(sys/xattr.h, , [AC_MSG_ERROR([sys/xattr.h header not found. You need the c-library development package.])])
- AC_CHECK_HEADERS(keyutils.h, , [AC_MSG_ERROR([keyutils.h header not found. You need the libkeyutils development package.])])
- 
- #debug support - yes for a while
-diff --git a/packaging/ima-evm-utils.spec b/packaging/ima-evm-utils.spec
-index a11a27a..63388d2 100644
---- a/packaging/ima-evm-utils.spec
-+++ b/packaging/ima-evm-utils.spec
-@@ -11,7 +11,6 @@ BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root
- BuildRequires:    autoconf
- BuildRequires:    automake
- BuildRequires:    openssl-devel
--BuildRequires:    libattr-devel
- BuildRequires:    keyutils-libs-devel
- 
- %description
-diff --git a/packaging/ima-evm-utils.spec.in b/packaging/ima-evm-utils.spec.in
-index 7ca6c6f..65c32f9 100644
---- a/packaging/ima-evm-utils.spec.in
-+++ b/packaging/ima-evm-utils.spec.in
-@@ -11,7 +11,6 @@ BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root
- BuildRequires:    autoconf
- BuildRequires:    automake
- BuildRequires:    openssl-devel
--BuildRequires:    libattr-devel
- BuildRequires:    keyutils-libs-devel
- 
- %description
-diff --git a/src/evmctl.c b/src/evmctl.c
-index 2ffee78..3fbcd33 100644
---- a/src/evmctl.c
-+++ b/src/evmctl.c
-@@ -49,7 +49,7 @@
- #include <stdint.h>
- #include <string.h>
- #include <dirent.h>
--#include <attr/xattr.h>
-+#include <sys/xattr.h>
- #include <linux/xattr.h>
- #include <getopt.h>
- #include <keyutils.h>
diff --git a/nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix b/nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix
index 680bc53bd91b..4ed45a99ce25 100644
--- a/nixpkgs/pkgs/os-specific/linux/iotop-c/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2015-4047.patch b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2015-4047.patch
deleted file mode 100644
index 00c23c6cac14..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2015-4047.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: pkg-ipsec-tools/src/racoon/gssapi.c
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/gssapi.c
-+++ pkg-ipsec-tools/src/racoon/gssapi.c
-@@ -192,6 +192,11 @@ gssapi_init(struct ph1handle *iph1)
-	gss_name_t princ, canon_princ;
-	OM_uint32 maj_stat, min_stat;
-
-+	if (iph1->rmconf == NULL) {
-+		plog(LLV_ERROR, LOCATION, NULL, "no remote config\n");
-+		return -1;
-+	}
-+
-	gps = racoon_calloc(1, sizeof (struct gssapi_ph1_state));
-	if (gps == NULL) {
-		plog(LLV_ERROR, LOCATION, NULL, "racoon_calloc failed\n");
diff --git a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch
deleted file mode 100644
index b644d46f8c9d..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From: Antoine_Beaupre <anarcat@orangeseeds.org>
-Acked-by: Jiri Bohac <jbohac@suse.cz>
-Subject: PR/51682: Avoid DoS with fragment out of order insertion; keep fragments sorted in the list.
-References: bsc#1047443, CVE-2016-10396
-
-
-
-Index: a/src/racoon/handler.h
-===================================================================
---- a/src/racoon/handler.h.orig	2018-01-26 18:05:21.114764376 +0100
-+++ a/src/racoon/handler.h	2018-01-26 18:05:33.986741103 +0100
-@@ -141,6 +141,7 @@ struct ph1handle {
- #endif
- #ifdef ENABLE_FRAG
- 	int frag;			/* IKE phase 1 fragmentation */
-+	int frag_last_index;
- 	struct isakmp_frag_item *frag_chain;	/* Received fragments */
- #endif
- 
-Index: a/src/racoon/isakmp.c
-===================================================================
---- a/src/racoon/isakmp.c.orig	2018-01-26 18:05:21.118764369 +0100
-+++ a/src/racoon/isakmp.c	2018-01-26 18:05:33.986741103 +0100
-@@ -1069,6 +1069,7 @@ isakmp_ph1begin_i(rmconf, remote, local)
- 		iph1->frag = 1;
- 	else
- 		iph1->frag = 0;
-+	iph1->frag_last_index = 0;
- 	iph1->frag_chain = NULL;
- #endif
- 	iph1->approval = NULL;
-@@ -1173,6 +1174,7 @@ isakmp_ph1begin_r(msg, remote, local, et
- #endif
- #ifdef ENABLE_FRAG
- 	iph1->frag = 0;
-+	iph1->frag_last_index = 0;
- 	iph1->frag_chain = NULL;
- #endif
- 	iph1->approval = NULL;
-Index: a/src/racoon/isakmp_frag.c
-===================================================================
---- a/src/racoon/isakmp_frag.c.orig	2018-01-26 18:05:21.118764369 +0100
-+++ a/src/racoon/isakmp_frag.c	2018-01-26 18:05:33.986741103 +0100
-@@ -173,6 +173,43 @@ vendorid_frag_cap(gen)
- 	return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]);
- }
- 
-+static int 
-+isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item)
-+{
-+	struct isakmp_frag_item *pitem = NULL;
-+	struct isakmp_frag_item *citem = iph1->frag_chain;
-+
-+	/* no frag yet, just insert at beginning of list */
-+	if (iph1->frag_chain == NULL) {
-+		iph1->frag_chain = item;
-+		return 0;
-+	}
-+
-+	do {
-+		/* duplicate fragment number, abort (CVE-2016-10396) */
-+		if (citem->frag_num == item->frag_num)
-+			return -1;
-+
-+		/* need to insert before current item */
-+		if (citem->frag_num > item->frag_num) {
-+			if (pitem != NULL)
-+				pitem->frag_next = item;
-+			else
-+				/* insert at the beginning of the list  */
-+				iph1->frag_chain = item;
-+			item->frag_next = citem;
-+			return 0;
-+		}
-+
-+		pitem = citem;
-+		citem = citem->frag_next;
-+	} while (citem != NULL);
-+
-+	/* we reached the end of the list, insert */
-+	pitem->frag_next = item;
-+	return 0;
-+}
-+
- int 
- isakmp_frag_extract(iph1, msg)
- 	struct ph1handle *iph1;
-@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg)
- 	item->frag_next = NULL;
- 	item->frag_packet = buf;
- 
--	/* Look for the last frag while inserting the new item in the chain */
--	if (item->frag_last)
--		last_frag = item->frag_num;
-+	/* Check for the last frag before inserting the new item in the chain */
-+	if (item->frag_last) {
-+		/* if we have the last fragment, indices must match */
-+		if (iph1->frag_last_index != 0 &&
-+		    item->frag_last != iph1->frag_last_index) {
-+			plog(LLV_ERROR, LOCATION, NULL,
-+			     "Repeated last fragment index mismatch\n");
-+			racoon_free(item);
-+			vfree(buf);
-+			return -1;
-+		}
- 
--	if (iph1->frag_chain == NULL) {
--		iph1->frag_chain = item;
--	} else {
--		struct isakmp_frag_item *current;
-+		last_frag = iph1->frag_last_index = item->frag_num;
-+	}
- 
--		current = iph1->frag_chain;
--		while (current->frag_next) {
--			if (current->frag_last)
--				last_frag = item->frag_num;
--			current = current->frag_next;
--		}
--		current->frag_next = item;
-+	/* insert fragment into chain */
-+	if (isakmp_frag_insert(iph1, item) == -1) {
-+		plog(LLV_ERROR, LOCATION, NULL,
-+		    "Repeated fragment index mismatch\n");
-+		racoon_free(item);
-+		vfree(buf);
-+		return -1;
- 	}
- 
--	/* If we saw the last frag, check if the chain is complete */
-+	/* If we saw the last frag, check if the chain is complete
-+	 * we have a sorted list now, so just walk through */
- 	if (last_frag != 0) {
-+		item = iph1->frag_chain;
- 		for (i = 1; i <= last_frag; i++) {
--			item = iph1->frag_chain;
--			do {
--				if (item->frag_num == i)
--					break;
--				item = item->frag_next;
--			} while (item != NULL);
--
-+			if (item->frag_num != i)
-+				break;
-+			item = item->frag_next;
- 			if (item == NULL) /* Not found */
- 				break;
- 		}
- 
--		if (item != NULL) /* It is complete */
-+		if (i > last_frag) /* It is complete */
- 			return 1;
- 	}
- 		
-@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1)
- 	}
- 	data = buf->v;
- 
-+	item = iph1->frag_chain;
- 	for (i = 1; i <= frag_count; i++) {
--		item = iph1->frag_chain;
--		do {
--			if (item->frag_num == i)
--				break;
--			item = item->frag_next;
--		} while (item != NULL);
--
--		if (item == NULL) {
-+		if (item->frag_num != i) {
- 			plog(LLV_ERROR, LOCATION, NULL, 
- 			    "Missing fragment #%d\n", i);
- 			vfree(buf);
-@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1)
- 		}
- 		memcpy(data, item->frag_packet->v, item->frag_packet->l);
- 		data += item->frag_packet->l;
-+		item = item->frag_next;
- 	}
- 
- out:
-
-
-diff -u -p -r1.50 -r1.51
---- a/src/racoon/isakmp_inf.c	2013/04/12 09:53:10	1.50
-+++ a/src/racoon/isakmp_inf.c	2017/01/24 19:23:56	1.51
-@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca
- #endif
- #ifdef ENABLE_FRAG
- 	iph1->frag = 0;
-+	iph1->frag_last_index = 0;
- 	iph1->frag_chain = NULL;
- #endif
- 
diff --git a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix
deleted file mode 100644
index f10364121a46..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, linuxHeaders, readline, openssl, flex, libkrb5, pam }:
-
-# TODO: These tools are supposed to work under NetBSD and FreeBSD as
-# well, so I guess it's not appropriate to place this expression in
-# "os-specific/linux/ipsec-tools". Since I cannot verify that the
-# expression actually builds on those platforms, I'll leave it here for
-# the time being.
-
-stdenv.mkDerivation rec {
-  pname = "ipsec-tools";
-  version = "0.8.2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/ipsec-tools/ipsec-tools-${version}.tar.bz2";
-    sha256 = "0b9gfbz78k2nj0k7jdlm5kajig628ja9qm0z5yksiwz22s3v7dlf";
-  };
-
-  buildInputs = [ readline openssl flex libkrb5 pam ];
-
-  patches = [
-    ./dont-create-localstatedir-during-install.patch
-    ./CVE-2015-4047.patch
-    ./CVE-2016-10396.patch
-  ];
-
-  # fix build with newer gcc versions
-  preConfigure = ''substituteInPlace configure --replace "-Werror" "" '';
-
-  configureFlags = [
-    "--sysconfdir=/etc --localstatedir=/var"
-    "--with-kernel-headers=${linuxHeaders}/include"
-    "--disable-security-context"
-    "--enable-adminport"
-    "--enable-dpd"
-    "--enable-frag"
-    "--enable-gssapi"
-    "--enable-hybrid"
-    "--enable-natt"
-    "--enable-shared"
-    "--enable-stats"
-  ];
-
-  meta = with lib; {
-    homepage = "http://ipsec-tools.sourceforge.net/";
-    description = "Port of KAME's IPsec utilities to the Linux-2.6 IPsec implementation";
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch b/nixpkgs/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch
deleted file mode 100644
index 16b80c36d6a5..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ubr ipsec-tools-0.8.0-orig/src/racoon/Makefile.in ipsec-tools-0.8.0/src/racoon/Makefile.in
---- ipsec-tools-0.8.0-orig/src/racoon/Makefile.in	2012-10-20 13:01:07.700903316 +0200
-+++ ipsec-tools-0.8.0/src/racoon/Makefile.in	2012-10-20 13:01:13.177832616 +0200
-@@ -1085,9 +1085,6 @@
- 	uninstall-sbinPROGRAMS
- 
- 
--install-exec-local:
--	${mkinstalldirs} $(DESTDIR)${adminsockdir}
--
- # special object rules
- crypto_openssl_test.o: crypto_openssl.c
- 	$(COMPILE) -DEAYDEBUG -o crypto_openssl_test.o -c $(srcdir)/crypto_openssl.c
diff --git a/nixpkgs/pkgs/os-specific/linux/iptables/default.nix b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
index 50730597d9e6..c6dc10f32bac 100644
--- a/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix
@@ -49,6 +49,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ fpletz ];
     license = licenses.gpl2;
     downloadPage = "https://www.netfilter.org/projects/iptables/files/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/iputils/default.nix b/nixpkgs/pkgs/os-specific/linux/iputils/default.nix
index c949069885df..0ca6d8aa187f 100644
--- a/nixpkgs/pkgs/os-specific/linux/iputils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/iputils/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "20210722";
+  version = "20211215";
   sunAsIsLicense = {
     fullName = "AS-IS, SUN MICROSYSTEMS license";
     url = "https://github.com/iputils/iputils/blob/s${version}/rdisc.c";
@@ -19,14 +19,9 @@ in stdenv.mkDerivation rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "139fyifsjm0i012rhcx3ra3pxx2wxh77dfd551d8lgiv2mqd742j";
+    sha256 = "1vzdch1xi2x2j8mvnsr4wwwh7kdkgf926xafw5kkb74yy1wac5qv";
   };
 
-  postPatch = lib.optionalString (!doCheck) ''
-    # There isn't a Meson option for this yet:
-    sed -i '/##### TESTS #####/q' ping/meson.build
-  '';
-
   outputs = ["out" "apparmor"];
 
   # We don't have the required permissions inside the build sandbox:
@@ -35,11 +30,10 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-DBUILD_RARPD=true"
-    "-DBUILD_TRACEROUTE6=true"
-    "-DBUILD_TFTPD=true"
     "-DNO_SETCAP_OR_SUID=true"
     "-Dsystemdunitdir=etc/systemd/system"
     "-DINSTALL_SYSTEMD_UNITS=true"
+    "-DSKIP_TESTS=${lib.boolToString (!doCheck)}"
   ]
     # Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111):
     ++ lib.optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false";
@@ -87,9 +81,7 @@ in stdenv.mkDerivation rec {
       ping
       rarpd
       rdisc
-      tftpd
       tracepath
-      traceroute6
     '';
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix b/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix
index fbd4d8efdac8..c98816746918 100644
--- a/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ipvsadm/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libnl popt ];
 
+  # Disable parallel build, errors:
+  #  *** No rule to make target 'libipvs/libipvs.a', needed by 'ipvsadm'.  Stop.
+  enableParallelBuilding = false;
+
   preBuild = ''
     makeFlagsArray+=(
       INCLUDE=$(pkg-config --cflags libnl-genl-3.0)
diff --git a/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix b/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix
index da4135d8a806..eb61ff9d5130 100644
--- a/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix
@@ -14,7 +14,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "${package}-${version}";
+  pname = package;
   version = "0.5.7";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/os-specific/linux/jool/cli.nix b/nixpkgs/pkgs/os-specific/linux/jool/cli.nix
index b1bce496614a..4c18f478798e 100644
--- a/nixpkgs/pkgs/os-specific/linux/jool/cli.nix
+++ b/nixpkgs/pkgs/os-specific/linux/jool/cli.nix
@@ -5,7 +5,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "jool-cli-${sourceAttrs.version}";
+  pname = "jool-cli";
+  version = sourceAttrs.version;
 
   src = sourceAttrs.src;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/jool/source.nix b/nixpkgs/pkgs/os-specific/linux/jool/source.nix
index a90482a58d31..0517c50d4a98 100644
--- a/nixpkgs/pkgs/os-specific/linux/jool/source.nix
+++ b/nixpkgs/pkgs/os-specific/linux/jool/source.nix
@@ -1,11 +1,11 @@
 { fetchFromGitHub }:
 
 rec {
-  version = "4.1.5";
+  version = "4.1.6";
   src = fetchFromGitHub {
     owner = "NICMx";
     repo = "Jool";
     rev = "v${version}";
-    sha256 = "05dwz4q6v6azgpyj9dzwihnw1lalhhym116q2ya7spvgxzxi04ax";
+    sha256 = "09avkiazpfxzrgr3av58jbina5x9jqvqhjkn39475pfhfhrlv9fv";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix b/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
index 3c7e899cba71..833598448878 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
index b127ec9197cb..34e1b10b32a8 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
@@ -302,6 +302,9 @@ let
     # Enable Sound Open Firmware support
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" &&
                         versionAtLeast version "5.5") {
+      SND_SOC_INTEL_SOUNDWIRE_SOF_MACH       = whenAtLeast "5.10" module;
+      SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES = whenAtLeast "5.10" yes; # dep of SOF_MACH
+      SND_SOC_SOF_INTEL_SOUNDWIRE_LINK = whenBetween "5.10" "5.11" yes; # dep of SOF_MACH
       SND_SOC_SOF_TOPLEVEL              = yes;
       SND_SOC_SOF_ACPI                  = module;
       SND_SOC_SOF_PCI                   = module;
@@ -449,13 +452,21 @@ let
     };
 
     security = {
+      FORTIFY_SOURCE                   = whenAtLeast "4.13" (option yes);
+
+      # https://googleprojectzero.blogspot.com/2019/11/bad-binder-android-in-wild-exploit.html
+      DEBUG_LIST                       = yes;
       # Detect writes to read-only module pages
       DEBUG_SET_MODULE_RONX            = { optional = true; tristate = whenOlder "4.11" "y"; };
       RANDOMIZE_BASE                   = option yes;
-      STRICT_DEVMEM                    = option yes; # Filter access to /dev/mem
+      STRICT_DEVMEM                    = mkDefault yes; # Filter access to /dev/mem
+      IO_STRICT_DEVMEM                 = whenAtLeast "4.5" (mkDefault yes);
       SECURITY_SELINUX_BOOTPARAM_VALUE = whenOlder "5.1" (freeform "0"); # Disable SELinux by default
       # Prevent processes from ptracing non-children processes
       SECURITY_YAMA                    = option yes;
+      # The goal of Landlock is to enable to restrict ambient rights (e.g. global filesystem access) for a set of processes.
+      # This does not have any effect if a program does not support it
+      SECURITY_LANDLOCK                = whenAtLeast "5.13" yes;
       DEVKMEM                          = whenOlder "5.13" no; # Disable /dev/kmem
 
       USER_NS                          = yes; # Support for user namespaces
@@ -473,7 +484,7 @@ let
 
       # Detect buffer overflows on the stack
       CC_STACKPROTECTOR_REGULAR = {optional = true; tristate = whenOlder "4.18" "y";};
-    } // optionalAttrs stdenv.hostPlatform.isx86 {
+    } // optionalAttrs stdenv.hostPlatform.isx86_64 {
       # Enable Intel SGX
       X86_SGX     = whenAtLeast "5.11" yes;
       # Allow KVM guests to load SGX enclaves
@@ -533,6 +544,7 @@ let
       UPROBE_EVENT          = { optional = true; tristate = whenOlder "4.11" "y";};
       UPROBE_EVENTS         = { optional = true; tristate = whenAtLeast "4.11" "y";};
       BPF_SYSCALL           = whenAtLeast "4.4" yes;
+      BPF_UNPRIV_DEFAULT_OFF = whenBetween "5.10" "5.15" yes;
       BPF_EVENTS            = whenAtLeast "4.4" yes;
       FUNCTION_PROFILER     = yes;
       RING_BUFFER_BENCHMARK = no;
@@ -883,6 +895,12 @@ let
       SCHED_CORE = whenAtLeast "5.14" yes;
 
       FSL_MC_UAPI_SUPPORT = mkIf (stdenv.hostPlatform.system == "aarch64-linux") (whenAtLeast "5.12" yes);
+
+      ASHMEM =                 { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID =                { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID_BINDER_IPC =     { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID_BINDERFS =       { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID_BINDER_DEVICES = { optional = true; freeform = whenAtLeast "5.0" "binder,hwbinder,vndbinder";};
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
       # Enable CPU/memory hotplug support
       # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/gpio-utils.nix b/nixpkgs/pkgs/os-specific/linux/kernel/gpio-utils.nix
index e28d838efb3f..9c7386f61c1d 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/gpio-utils.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/gpio-utils.nix
@@ -5,7 +5,8 @@ with lib;
 assert versionAtLeast linux.version "4.6";
 
 stdenv.mkDerivation {
-  name = "gpio-utils-${linux.version}";
+  pname = "gpio-utils";
+  version = linux.version;
 
   inherit (linux) src makeFlags;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix
index 973e6d50adfe..3e3cd149c4d9 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix
@@ -93,4 +93,8 @@ assert (versionAtLeast version "4.9");
 
   # Detect out-of-bound reads/writes and use-after-free
   KFENCE = whenAtLeast "5.12" yes;
+
+  # CONFIG_DEVMEM=n causes these to not exist anymore.
+  STRICT_DEVMEM    = option no;
+  IO_STRICT_DEVMEM = option no;
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
index 1242aa8eba5a..9668faafc59a 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,51 +2,51 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.258-hardened1.patch",
-            "sha256": "0rni42mbvyw0f9032i6bkgcwnzfw472vimd5l1q7rp52m63z6vbk",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.258-hardened1/linux-hardened-4.14.258-hardened1.patch"
+            "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"
         },
-        "sha256": "162bzhm0k8kipgk0ma745rjcl33rqhpwxdfdz3q6rkp48b82kbvi",
-        "version": "4.14.258"
+        "sha256": "1d1588f0zrq93dk9j8gmvfm9mlniyw98s0i3gmg2sa7h1p04pc2m",
+        "version": "4.14.264"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.221-hardened1.patch",
-            "sha256": "0lw4lysiv5h1vlkwlz2z1kv78wsszj1xc383i2qkzfsb4l9vsm7h",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.221-hardened1/linux-hardened-4.19.221-hardened1.patch"
+            "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"
         },
-        "sha256": "1yg1cibyn53gpjnxfgj2qxxi8k3l7gv1ri6kywvp6sk5bygx8jd3",
-        "version": "4.19.221"
+        "sha256": "0d1jyyxdrpyi35033fjg8g6zz99ffry2ks1wlldfaxfa6wh9dp39",
+        "version": "4.19.227"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.87-hardened1.patch",
-            "sha256": "1r1vyf9wy49s7pfskxlng17n0khi1dpxg5cm4yfnbbq0gdisnh1f",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.87-hardened1/linux-hardened-5.10.87-hardened1.patch"
+            "name": "linux-hardened-5.10.98-hardened1.patch",
+            "sha256": "13cjr3k2vyxmwk5gjrkwklzvl38p1d4qrzfqm7nqssvh52kqzkq1",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.98-hardened1/linux-hardened-5.10.98-hardened1.patch"
         },
-        "sha256": "0jz6xhph7x0x11cjmypaw5gh8z4d53dcgx2gmg7k6d06ydq8n4h3",
-        "version": "5.10.87"
+        "sha256": "0hwl1ypllx9l5pv04yavz627qb31ki9mhznsak5bq48hbz0wc90v",
+        "version": "5.10.98"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.10-hardened1.patch",
-            "sha256": "1fn37pg10w1m4cr4g0ibs5fvqs1yx3y776daxv836naffl1001fm",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.10-hardened1/linux-hardened-5.15.10-hardened1.patch"
+            "name": "linux-hardened-5.15.21-hardened1.patch",
+            "sha256": "1j01mlyr53wry8n7bzg6pi4nilj3i9jpq5aml6f25fjckz5apll7",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.21-hardened1/linux-hardened-5.15.21-hardened1.patch"
         },
-        "sha256": "0jsv8lialjwp91qg9c9rh8rhn49a70ryyhzl19bxq3fhz1fwyks8",
-        "version": "5.15.10"
+        "sha256": "1lgvf3mrsbwjdjfvznbf5c3np76a7xxqr2rw7i6196ywsxnfnki9",
+        "version": "5.15.21"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.167-hardened1.patch",
-            "sha256": "03mj8nncfpqf5j6l66239saxv251rh5infhl0jjyx1znhfzavg0p",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.167-hardened1/linux-hardened-5.4.167-hardened1.patch"
+            "name": "linux-hardened-5.4.177-hardened1.patch",
+            "sha256": "1xyfc1hsphjgaxr2b36y7r3mzm3vn8vd1av73cwr42flc0qn3g4j",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.177-hardened1/linux-hardened-5.4.177-hardened1.patch"
         },
-        "sha256": "19x5f3s5f4nqzjb61g22rs0hnmk43q4b7sm7mc4j1q3y44b33r5l",
-        "version": "5.4.167"
+        "sha256": "0wvb5is8rqvfxia1i8lw4yd3fm2bhb6wdl0bdjq90dx7y46wpxqq",
+        "version": "5.4.177"
     }
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
index e6104c6ed0c9..093e8205630e 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.260";
+  version = "4.14.267";
 
   # 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 = "1bylxn6hsq17cann2w02ggz6xz3b3synrapcwlwfcfydf71hzj9f";
+    sha256 = "13hq4hcq686gdragjcgmz3m0kkk8abz5lna0ildaa9gybj43yd4c";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
index d87a635c5ef3..1ba37f697f71 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.223";
+  version = "4.19.230";
 
   # 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 = "1cnjk49g8sxsbzk375ji47lnx36drqh1x2pbfiqdwgrbjcb043sz";
+    sha256 = "107sqv4izdnazscwhyam88vbinsvnd33z8agn4awc42hkqh9l20p";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 4bc6ca32c16b..9271aa0182ec 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.297";
+  version = "4.4.302";
   extraMeta.branch = "4.4";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "116346nkbhaz8jc1118gh40y6pw1kq7c7hm74f8bjga1p0gjqn0c";
+    sha256 = "1cvnydc7y5xrb1c4yfmsl846dd1jfrr7xf62gxbhnkk01fs7n09m";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
index eefe4fc7fb68..0b67c3cd5fc7 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/nixpkgs/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.295";
+  version = "4.9.302";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "095am71hl7qryrcn1blvxsq5zsy0gixmj7062p7vvz5ypcvqcd52";
+    sha256 = "0difn0vjz4hz9vl5lklawqy19ccb5gz5p5r1cyckschf0l2nyifm";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 7b38ba8b0959..97416dd91e49 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.89";
+  version = "5.10.101";
 
   # 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 = "0c5v8fsv9sazdmdw4m1canm54x2p8777yavxq2gcpw8q98d8n8cj";
+    sha256 = "13hwpb85dynbayghxs3ln3hbyh8djgl5fj63vxwc8izfny62aj87";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.15.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.15.nix
index f5f98e3317c0..e3a8505d9889 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.12";
+  version = "5.15.24";
 
   # 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 = "182iwy2288layl2290cxla0k6y436lxlx43yaa8par325dviksbx";
+    sha256 = "0zx9big7n8gh6y14c05llxsqh543q0czjdrq906m8cc7r01yp5pl";
   };
 } // (args.argsOverride or { }))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.16.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.16.nix
new file mode 100644
index 000000000000..5630b05d4f4d
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.16.nix
@@ -0,0 +1,18 @@
+{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args:
+
+with lib;
+
+buildLinux (args // rec {
+  version = "5.16.10";
+
+  # 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;
+
+  # branchVersion needs to be x.y
+  extraMeta.branch = versions.majorMinor version;
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
+    sha256 = "17i3j07hgljsiz2kymbskp35p2xp14gb0mdi5s2r61c0h406yk8c";
+  };
+} // (args.argsOverride or { }))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
index d568a2853814..64252a715639 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.169";
+  version = "5.4.180";
 
   # 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 = "068sw1p50vcygi422bfjpahf2fxy3ifyp4ljnkwxbbvibzcq4hsm";
+    sha256 = "07ckmgcqpr39bzpp8v60b2vkb03p8931k7sl3ywg6f00lvcbaf8n";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
index 4d078e45fe23..b647f6c4e156 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/nixpkgs/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 = "18517";
-    sha256 = "1i4gppn3lyi3aqzscrdhm2dsvfa84xqhymcc468sakn9in3g85gg";
+    rev = "18587";
+    sha256 = "01h3mvj36b3wnkjm932ya5prsyfw7fszifdb9bvqwrd2ggawxng9";
   }
 , ...
 }:
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
index 02e3902d3c5c..0d56108f2f23 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
@@ -1,8 +1,8 @@
 { lib, fetchFromGitHub, buildLinux, linux_zen, ... } @ args:
 
 let
-  version = "5.14.18";
-  suffix = "lqx1";
+  version = "5.15.16";
+  suffix = "lqx2";
 in
 
 buildLinux (args // {
@@ -14,7 +14,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "sha256-jn2Y/zusxwOvT5MXlM5HCojiyY0ssC36O92iv7/ZMWU=";
+    sha256 = "sha256-kdT/hiASZ72pkS0Igta0KT0GWTgDRjxBnd5CQ0eonfg=";
   };
 
   extraMeta = {
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index b9458b3947f9..c8d42ddda746 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.87-rt59"; # updated by ./update-rt.sh
+  version = "5.10.78-rt55"; # 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 = "0jz6xhph7x0x11cjmypaw5gh8z4d53dcgx2gmg7k6d06ydq8n4h3";
+    sha256 = "03q5lrv8gr9hnm7984pxi9kwsvxrn21qwykj60amisi2wac6r05y";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "04sr3n3ilvqq0dl59l92qmn3p7fjlsxxvbs3qls7b4pncb2xyyj3";
+      sha256 = "1wcw682r238qi5jgn5zk9m6j2506p9ypfax13bzhjfyjzz3h98kp";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index 0d827ad653e4..bb789797a532 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.161-rt67"; # 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 = "19rrz7fzka506bpgy229v1sbaxc2s609ldmxc2522y9h5aswcj9i";
+    sha256 = "0wvb5is8rqvfxia1i8lw4yd3fm2bhb6wdl0bdjq90dx7y46wpxqq";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1xn3i1m0n4zcsnw5k52iyrd994zxmrla4rkjmdr71ra7csbrvkbx";
+      sha256 = "16m1swkg54cgcgqwl6vifbpfvdf7waigbwi9brafwplb965zq5a2";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index e417ee6d389b..52fc24e101e3 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,9 +1,9 @@
 { lib
 , fetchpatch
 , kernel
-, date ? "2021-12-26"
-, commit ? "b034dfb24fece43a7677b9a29781495aeb62767f"
-, diffHash ? "0m7qrnfrcx3dki9lmsq3jk3mcrfm99djh83gwwjh401ql0cycx5p"
+, date ? "2022-01-12"
+, commit ? "0e6eb60f8be14b02e0a76cb330f4b22c80ec82e9"
+, diffHash ? "091w4r7h93s5rv8hk65aix7l0rr4bd504mv998j7x360bqlb7vpi"
 , kernelPatches # must always be defined in bcachefs' all-packages.nix entry because it's also a top-level attribute supplied by callPackage
 , argsOverride ? {}
 , ...
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index 9740615a3311..636803f29097 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args:
 
 let
-  version = "5.15.11";
+  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-f5DvjgZQoryCpRcawlmZY6muZdAcQMNm+N18XHEBq4U=";
+    sha256 = "sha256-O3OadPMBl74IK92w7IPGfiePeo/Ox+bIVr4XmOmPYTg=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
index 257485645f46..1432eb5598ee 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/nixpkgs/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.15.11-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-KOy1bmNnfa8LtnE+03Y+0pr9r1OCimY0bjGsVmGnPN4=";
+    sha256 = "sha256-/CYPuj+P5KlYFur0X2FYrrJFUDhKVL7xm53uOSym+Rc=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix b/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
index 045f80ce9ac2..6d1763a0d0fd 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
@@ -12,7 +12,8 @@ with lib;
 assert versionAtLeast kernel.version "3.12";
 
 stdenv.mkDerivation {
-  name = "perf-linux-${kernel.version}";
+  pname = "perf-linux";
+  version = kernel.version;
 
   inherit (kernel) src;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/keyutils/0001-Remove-unused-function-after_eq.patch b/nixpkgs/pkgs/os-specific/linux/keyutils/0001-Remove-unused-function-after_eq.patch
new file mode 100644
index 000000000000..61ad2a474f9a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/keyutils/default.nix b/nixpkgs/pkgs/os-specific/linux/keyutils/default.nix
index 71f708e210d4..f307bd56d1cf 100644
--- a/nixpkgs/pkgs/os-specific/linux/keyutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/klibc/default.nix b/nixpkgs/pkgs/os-specific/linux/klibc/default.nix
index 522a74dea01a..6efcb01cc531 100644
--- a/nixpkgs/pkgs/os-specific/linux/klibc/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/klibc/default.nix
@@ -9,11 +9,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "klibc";
-  version = "2.0.9";
+  version = "2.0.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz";
-    sha256 = "sha256-bcynCJEzINJjCfBbDCv2gHG/EbPa3MTmx9kjg3/CPuE=";
+    sha256 = "sha256-ZidT2oiJ50TfwNtutAIcM3fufvjtZtfVd2X4yeJZOc0=";
   };
 
   patches = [ ./no-reinstall-kernel-headers.patch ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix b/nixpkgs/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
index d8d3ca74dce6..3964538a4096 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
+++ b/nixpkgs/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
diff --git a/nixpkgs/pkgs/os-specific/linux/kmod-debian-aliases/default.nix b/nixpkgs/pkgs/os-specific/linux/kmod-debian-aliases/default.nix
index 23d323f84b8f..15f7251f9961 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmod-debian-aliases/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kmod-debian-aliases/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, lib }:
 
 stdenv.mkDerivation rec {
-  name = "kmod-debian-aliases-${version}.conf";
+  pname = "kmod-debian-aliases.conf";
   version = "22-1.1";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/os-specific/linux/kmod/default.nix b/nixpkgs/pkgs/os-specific/linux/kmod/default.nix
index 2cb263854ab8..a1a1906ba9ce 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmod/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kmod/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ];
+  systems = [ "/run/booted-system/kernel-modules" "/run/current-system/kernel-modules" "" ];
   modulesDirs = lib.concatMapStringsSep ":" (x: "${x}/lib/modules") systems;
 
 in stdenv.mkDerivation rec {
@@ -52,5 +52,6 @@ in stdenv.mkDerivation rec {
     changelog = "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/plain/NEWS?h=v${version}";
     license = with licenses; [ lgpl21Plus gpl2Plus ]; # GPLv2+ for tools
     platforms = platforms.unix;
+    maintainers = with maintainers; [ artturin ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix b/nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix
index 6b5f31a1d350..ed9c58d26266 100644
--- a/nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, kernel, kmod, looking-glass-client }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, kernel, kmod, looking-glass-client }:
 
 stdenv.mkDerivation rec {
   pname = "kvmfr";
@@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "pic" "format" ];
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
+  patches = lib.optional (kernel.kernelAtLeast "5.16") (fetchpatch {
+    name = "kvmfr-5.16.patch";
+    url = "https://github.com/gnif/LookingGlass/commit/a9b5302a517e19d7a2da114acf71ef1e69cfb497.patch";
+    sha256 = "017nxlk2f7kyjp6llwa74dbczdb1jk8v791qld81dxhzkm9dyqqx";
+    stripLen = 1;
+  });
+
   makeFlags = [
     "KVER=${kernel.modDirVersion}"
     "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix b/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix
index daee83e61dbc..8e6b9fa0663a 100644
--- a/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix
@@ -12,21 +12,20 @@ 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=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libelf zlib ];
 
-  sourceRoot = "source/src";
   enableParallelBuilding = true;
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" "-C src" ];
 
   passthru.tests = {
     bpf = nixosTests.bpf;
@@ -34,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/nixpkgs/pkgs/os-specific/linux/libevdevc/default.nix b/nixpkgs/pkgs/os-specific/linux/libevdevc/default.nix
index 2417ef6da9db..4998ee3e6b57 100644
--- a/nixpkgs/pkgs/os-specific/linux/libevdevc/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libevdevc/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, coreutils, pkg-config, glib, jsoncpp }:
 
 stdenv.mkDerivation rec {
-  name = "libevdevc";
+  pname = "libevdevc";
   version = "2.0.1";
   src = fetchFromGitHub {
     owner = "hugegreenbug";
diff --git a/nixpkgs/pkgs/os-specific/linux/libgestures/default.nix b/nixpkgs/pkgs/os-specific/linux/libgestures/default.nix
index bface8118be2..1454c0c78a50 100644
--- a/nixpkgs/pkgs/os-specific/linux/libgestures/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libgestures/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, glib, jsoncpp }:
 
 stdenv.mkDerivation rec {
-  name = "libgestures-${version}";
+  pname = "libgestures";
   version = "2.0.1";
   src = fetchFromGitHub {
     owner = "hugegreenbug";
diff --git a/nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix b/nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix
index 8b979d479562..aeb261aaaca5 100644
--- a/nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/liquidtux/default.nix b/nixpkgs/pkgs/os-specific/linux/liquidtux/default.nix
index a306135f73b0..317801bb3cdd 100644
--- a/nixpkgs/pkgs/os-specific/linux/liquidtux/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/liquidtux/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ nickhu ];
+    broken = lib.versionOlder kernel.version "5.10";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/lsirec/default.nix b/nixpkgs/pkgs/os-specific/linux/lsirec/default.nix
new file mode 100644
index 000000000000..cf2da7d16480
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/lsirec/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lsirec";
+  version = "unstable-2019-03-03";
+
+  src = fetchFromGitHub {
+    owner = "marcan";
+    repo = "lsirec";
+    rev = "2dfb6dc92649feb01a3ddcfd117d4a99098084f2";
+    sha256 = "sha256-8v+KKjAJlJNpUT0poedRTQfPiDiwahrosXD35Bmh3jM=";
+  };
+
+  buildInputs = [ python3 ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 'lsirec' "$out/bin/lsirec"
+    install -Dm755 'sbrtool.py' "$out/bin/sbrtool"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "LSI SAS2008/SAS2108 low-level recovery tool for Linux";
+    homepage = "https://github.com/marcan/lsirec";
+    platforms = platforms.linux;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
index e5645438567a..8753f34087cf 100644
--- a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-modules-${kernel.version}";
-  version = "2.13.0";
+  version = "2.13.1";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
-    sha256 = "0mikc3fdjd0w6rrcyksjzmv0czvgba6yk8dfmz4a3cr8s4y2pgsy";
+    sha256 = "0hzksx2fw008jdsgfzpws9g7imy6ryw09ai5y0knvrmvr68nvj57";
   };
 
   buildInputs = kernel.moduleBuildDependencies;
diff --git a/nixpkgs/pkgs/os-specific/linux/lvm2/2_02.nix b/nixpkgs/pkgs/os-specific/linux/lvm2/2_02.nix
index 3566a01178b2..56ab613afd24 100644
--- a/nixpkgs/pkgs/os-specific/linux/lvm2/2_02.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lvm2/2_02.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
   version = "2.02.187";
-  sha256Hash = "sha256-Dg1SGoY6XbJEDy4edie6grcCc65KsLvhMIUdsNWOWvE=";
+  sha256 = "sha256-Dg1SGoY6XbJEDy4edie6grcCc65KsLvhMIUdsNWOWvE=";
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/lvm2/2_03.nix b/nixpkgs/pkgs/os-specific/linux/lvm2/2_03.nix
index d6456b46e518..555ff6b0dc14 100644
--- a/nixpkgs/pkgs/os-specific/linux/lvm2/2_03.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lvm2/2_03.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
-  version = "2.03.12";
-  sha256Hash = "1shczwfd0888dchjiaqzd48ampm6f8y0ngsqd99fy4nxlbr5q1vn";
+  version = "2.03.14";
+  sha256 = "0p5077h3z7mrr0b49ikmhlhrs4v4qb530raypk3y72ja125bqqsa";
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/lvm2/common.nix b/nixpkgs/pkgs/os-specific/linux/lvm2/common.nix
index 2d09c48073d1..0749292531bb 100644
--- a/nixpkgs/pkgs/os-specific/linux/lvm2/common.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lvm2/common.nix
@@ -1,4 +1,4 @@
-{ version, sha256Hash }:
+{ version, sha256 }:
 
 { lib, stdenv
 , fetchpatch
@@ -9,7 +9,8 @@
 , libaio
 , enableCmdlib ? false
 , enableDmeventd ? false
-, udev ? null
+, udevSupport ? !stdenv.targetPlatform.isStatic, udev ? null
+, onlyLib ? stdenv.targetPlatform.isStatic
 , nixosTests
 }:
 
@@ -22,11 +23,17 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://mirrors.kernel.org/sourceware/lvm2/LVM2.${version}.tgz";
-    sha256 = sha256Hash;
+    inherit sha256;
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ udev libuuid libaio ];
+  buildInputs = [
+    libaio
+  ] ++ lib.optionals udevSupport [
+    udev
+  ] ++ lib.optionals (!onlyLib) [
+    libuuid
+  ];
 
   configureFlags = [
     "--disable-readline"
@@ -46,10 +53,11 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "ac_cv_func_malloc_0_nonnull=yes"
     "ac_cv_func_realloc_0_nonnull=yes"
-  ] ++
-  lib.optionals (udev != null) [
+  ] ++ lib.optionals udevSupport [
     "--enable-udev_rules"
     "--enable-udev_sync"
+  ] ++ lib.optionals stdenv.targetPlatform.isStatic [
+    "--enable-static_link"
   ];
 
   preConfigure = ''
@@ -58,9 +66,13 @@ stdenv.mkDerivation rec {
     substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
       --replace /usr/bin/udevadm /run/current-system/systemd/bin/udevadm
     # https://github.com/lvmteam/lvm2/issues/36
+  '' + lib.optionalString (lib.versionOlder version "2.03.14") ''
     substituteInPlace udev/69-dm-lvm-metad.rules.in \
       --replace "(BINDIR)/systemd-run" /run/current-system/systemd/bin/systemd-run
-
+  '' + lib.optionalString (lib.versionAtLeast version "2.03.14") ''
+    substituteInPlace udev/69-dm-lvm.rules.in \
+      --replace "/usr/bin/systemd-run" /run/current-system/systemd/bin/systemd-run
+  '' + ''
     substituteInPlace make.tmpl.in --replace "@systemdsystemunitdir@" "$out/lib/systemd/system"
   '' + lib.optionalString (lib.versionAtLeast version "2.03") ''
     substituteInPlace libdm/make.tmpl.in --replace "@systemdsystemunitdir@" "$out/lib/systemd/system"
@@ -78,30 +90,41 @@ stdenv.mkDerivation rec {
       url = "https://git.alpinelinux.org/aports/plain/main/lvm2/mallinfo.patch?h=3.7-stable&id=31bd4a8c2dc00ae79a821f6fe0ad2f23e1534f50";
       sha256 = "0g6wlqi215i5s30bnbkn8w7axrs27y3bnygbpbnf64wwx7rxxlj0";
     })
+  ] ++ lib.optionals stdenv.targetPlatform.isStatic [
+    ./no-shared.diff
   ];
 
   doCheck = false; # requires root
 
-  makeFlags = lib.optionals (udev != null) [
+  makeFlags = lib.optionals udevSupport [
     "SYSTEMD_GENERATOR_DIR=$(out)/lib/systemd/system-generators"
+  ] ++ lib.optionals onlyLib [
+    "libdm.device-mapper"
   ];
 
   # To prevent make install from failing.
   installFlags = [ "OWNER=" "GROUP=" "confdir=$(out)/etc" ];
 
   # Install systemd stuff.
-  installTargets = [ "install" ] ++ lib.optionals (udev != null) [
+  installTargets = [ "install" ] ++ lib.optionals udevSupport [
     "install_systemd_generators"
     "install_systemd_units"
     "install_tmpfiles_configuration"
   ];
 
+  installPhase = lib.optionalString onlyLib ''
+    install -D -t $out/lib libdm/ioctl/libdevmapper.${if stdenv.targetPlatform.isStatic then "a" else "so"}
+    make -C libdm install_include
+    make -C libdm install_pkgconfig
+  '';
+
   # only split bin and lib out from out if cmdlib isn't enabled
   outputs = [
     "out"
+  ] ++ lib.optionals (!onlyLib) [
     "dev"
     "man"
-  ] ++ lib.optionals (enableCmdlib != true) [
+  ] ++ lib.optionals (!onlyLib && !enableCmdlib) [
     "bin"
     "lib"
   ];
diff --git a/nixpkgs/pkgs/os-specific/linux/lvm2/no-shared.diff b/nixpkgs/pkgs/os-specific/linux/lvm2/no-shared.diff
new file mode 100644
index 000000000000..d40dd85dfc62
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/lvm2/no-shared.diff
@@ -0,0 +1,25 @@
+diff --git a/libdm/Makefile.in b/libdm/Makefile.in
+index 66ec39513..ab7123dae 100644
+--- a/libdm/Makefile.in
++++ b/libdm/Makefile.in
+@@ -44,7 +44,6 @@ endif
+ 
+ LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
+ LIB_VERSION = $(LIB_VERSION_DM)
+-TARGETS = libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION)
+ 
+ CFLOW_LIST = $(SOURCES)
+ CFLOW_LIST_TARGET = libdevmapper.cflow
+diff --git a/make.tmpl.in b/make.tmpl.in
+index e7780e8d4..ca4aa9fdd 100644
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -346,7 +346,7 @@ SUBDIRS.cflow := $(SUBDIRS:=.cflow)
+ SUBDIRS.clean := $(SUBDIRS:=.clean)
+ SUBDIRS.distclean := $(SUBDIRS:=.distclean)
+ 
+-TARGETS += $(LIB_SHARED) $(LIB_STATIC)
++TARGETS += $(LIB_STATIC)
+ 
+ all: $(SUBDIRS) $(TARGETS)
+ 
diff --git a/nixpkgs/pkgs/os-specific/linux/lxc/default.nix b/nixpkgs/pkgs/os-specific/linux/lxc/default.nix
index bfe888c6e448..62f63a8c3ac3 100644
--- a/nixpkgs/pkgs/os-specific/linux/lxc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix b/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix
index 6ae44f3fdb87..68bf03552307 100644
--- a/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix b/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix
index 72f413f9cb66..0f3d0f18186a 100644
--- a/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix
+++ b/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix
@@ -1,9 +1,10 @@
-{ lib, stdenv, firmwareLinuxNonfree, libarchive }:
+{ lib, stdenv, linux-firmware, libarchive }:
 
 stdenv.mkDerivation {
-  name = "amd-ucode-${firmwareLinuxNonfree.version}";
+  pname = "amd-ucode";
+  version = linux-firmware.version;
 
-  src = firmwareLinuxNonfree;
+  src = linux-firmware;
 
   sourceRoot = ".";
 
@@ -11,7 +12,7 @@ stdenv.mkDerivation {
 
   buildPhase = ''
     mkdir -p kernel/x86/microcode
-    find ${firmwareLinuxNonfree}/lib/firmware/amd-ucode -name \*.bin \
+    find ${linux-firmware}/lib/firmware/amd-ucode -name \*.bin \
       -exec sh -c 'cat {} >> kernel/x86/microcode/AuthenticAMD.bin' \;
   '';
 
diff --git a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix b/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
index f8bb7c67d8e5..923047ead11a 100644
--- a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
+++ b/nixpkgs/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 ];
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     description = "Microcode for Intel processors";
     license = licenses.unfreeRedistributableFirmware;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix
index 45ffa8896ae7..184d2e1fe6eb 100644
--- a/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, perl, lvm2, libaio, gzip, readline, systemd, liburcu, json_c, kmod }:
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, perl, lvm2, libaio, gzip, readline, systemd, liburcu, json_c, kmod, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "multipath-tools";
@@ -53,6 +53,8 @@ stdenv.mkDerivation rec {
     "SYSTEMDPATH=lib"
   ];
 
+  passthru.tests = { inherit (nixosTests) iscsi-multipath-root; };
+
   meta = with lib; {
     description = "Tools for the Linux multipathing driver";
     homepage = "http://christophe.varoqui.free.fr/";
diff --git a/nixpkgs/pkgs/os-specific/linux/mwprocapture/default.nix b/nixpkgs/pkgs/os-specific/linux/mwprocapture/default.nix
index 769bb1e43b44..0de982c3d5ee 100644
--- a/nixpkgs/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/net-tools/mptcp.nix b/nixpkgs/pkgs/os-specific/linux/net-tools/mptcp.nix
index 577b7c25311a..b4ce59a7c68d 100644
--- a/nixpkgs/pkgs/os-specific/linux/net-tools/mptcp.nix
+++ b/nixpkgs/pkgs/os-specific/linux/net-tools/mptcp.nix
@@ -1,7 +1,7 @@
 { lib, nettools, fetchFromGitHub  }:
 
 nettools.overrideAttrs(oa: rec {
-  name = "net-tools-mptcp";
+  pname = "net-tools-mptcp";
   version = "0.95";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix
index b317c5a1fbfd..08bba5a428d1 100644
--- a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix
@@ -3,7 +3,6 @@
 , coreutils
 , gnused
 , gnugrep
-, jq
 , nix
 , lib
 }:
@@ -19,5 +18,5 @@ substituteAll {
   nix_x86_64_linux = fallback.x86_64-linux;
   nix_i686_linux = fallback.i686-linux;
   nix_aarch64_linux = fallback.aarch64-linux;
-  path = lib.makeBinPath [ coreutils jq gnused gnugrep ];
+  path = lib.makeBinPath [ coreutils gnused gnugrep ];
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index e5e40dca086e..5f950eb8b76b 100755
--- a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/nixpkgs/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")
                 ;;
@@ -343,11 +345,6 @@ if [[ -n $flake ]]; then
     fi
 fi
 
-# Resolve the flake.
-if [[ -n $flake ]]; then
-    flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
-fi
-
 # Find configuration.nix and open editor instead of building.
 if [ "$action" = edit ]; then
     if [[ -z $flake ]]; then
diff --git a/nixpkgs/pkgs/os-specific/linux/numatop/default.nix b/nixpkgs/pkgs/os-specific/linux/numatop/default.nix
index ba972bb6916a..0946d5050db4 100644
--- a/nixpkgs/pkgs/os-specific/linux/numatop/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/numatop/default.nix
@@ -1,17 +1,32 @@
-{ lib, stdenv, fetchurl, pkg-config, numactl, ncurses, check }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, numactl, ncurses, check }:
 
 stdenv.mkDerivation rec {
   pname = "numatop";
-  version = "2.1";
-  src = fetchurl {
-    url = "https://github.com/intel/${pname}/releases/download/v${version}/${pname}-v${version}.tar.xz";
-    sha256 = "1s7psq1xyswj0lpx10zg5lnppav2xy9safkfx3rssrs9c2fp5d76";
+  version = "2.2";
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "numatop";
+    rev = "v${version}";
+    sha256 = "sha256-GJvTwqgx34ZW10eIJj/xiKe3ZkAfs7GlJImz8jrnjfI=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ numactl ncurses ];
   checkInputs = [ check ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/intel/numatop/pull/54.patch";
+      sha256 = "sha256-TbMLv7TT9T8wE4uJ1a/AroyPPwrwL0eX5IBLsh9GTTM=";
+      name = "fix-string-operations.patch";
+    })
+    (fetchpatch {
+      url = "https://github.com/intel/numatop/pull/64.patch";
+      sha256 = "sha256-IevbSFJRTS5iQ5apHOVXzF67f3LJaW6j7DySFmVuyiM=";
+      name = "fix-format-strings-mvwprintw.patch";
+    })
+  ];
+
   doCheck  = true;
 
   meta = with lib; {
@@ -20,8 +35,8 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ dtzWill ];
     platforms = [
-      { kernel.name = "linux"; cpu.family = "x86"; }
-      { kernel.name = "linux"; cpu.family = "power"; }
+      "i686-linux" "x86_64-linux"
+      "powerpc64-linux" "powerpc64le-linux"
     ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
index d108ca0d0060..24ab34c4ea9d 100755
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/nixpkgs/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
 
+            # nvidia currently only supports x86_64 and i686
             if [ "$system" = "i686-linux" ]; 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/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
index 2af6db7faf38..145265017855 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/nixpkgs/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 = "495.46";
-      sha256_64bit = "2Dt30X2gxUZnqlsT1uqVpcUTBCV7Hs8vjUo7WuMcYvU=";
-      settingsSha256 = "vbcZYn+UBBGwjfrJ6SyXt3+JLBeNcXK4h8mjj7qxZPk=";
-      persistencedSha256 = "ieYqkVxe26cLw1LUgBsFSSowAyfZkTcItIzQCestCXI=";
+      version = "510.54";
+      sha256_64bit = "TCDezK4/40et/Q5piaMG+QJP2t+DGtwejmCFVnUzUWE=";
+      settingsSha256 = "ZWz5UN6Pa69NlmerKu30G+X8WfGlAwnVerDrO7TRO6w=";
+      persistencedSha256 = "MgWrBjKXJeRqF+ouT72tTiLPtn+lsS/Cp3oS61AWV8Q=";
     }
     else legacy_390;
 
@@ -30,10 +30,10 @@ rec {
   production = legacy_470;
 
   beta = generic {
-    version = "495.29.05";
-    sha256_64bit = "sha256-9yVLl9QAxpJQR5ZJb059j2TpOx4xxCeGCk8hmhhvEl4=";
-    settingsSha256 = "sha256-dcEI+3bxSTwVbHcR6IgvIUFt4vWtK5T4NMGVhmmeVJ0=";
-    persistencedSha256 = "sha256-OT/hOXEPatc6pAKrxDe0jsmaDFCtVXAbdW4elKe6xE8=";
+    version = "510.39.01";
+    sha256_64bit = "sha256-Lj7cOvulhApeuRycIiyYy5kcPv3ZlM8qqpPUWl0bmRs=";
+    settingsSha256 = "sha256-qlSwNq0wC/twvrbQjY+wSTcDaV5KG4Raq6WkzTizyXw=";
+    persistencedSha256 = "sha256-UNrl/hfiNXKGACQ7aHpsNcfcHPWVnycQ51yaa3eKXhI=";
   };
 
   # Vulkan developer beta driver
@@ -62,11 +62,11 @@ rec {
 
   # Last one supporting x86
   legacy_390 = generic {
-    version = "390.143";
-    sha256_32bit = "AelrdTTeo/3+ZdXK0iniZDB8gJUkeZQtNoRm25z+bQY=";
-    sha256_64bit = "tyKqcPM71ErK8ZZHLPtxmgrWzv6tfEmxBRveCSwTlO8=";
-    settingsSha256 = "EJPXZbxZS1CMENAYk9dCAIsHsRTXJpj473+JLuhGkWI=";
-    persistencedSha256 = "FtlPF3jCNr18NnImTmr8zJsaK9wbj/aWZ9LwoLr5SeE=";
+    version = "390.147";
+    sha256_32bit = "00avsns7l0j1ai8bf8gav2qshvphfdngy388bwzz24p61mfv1i1a";
+    sha256_64bit = "09qcdfn4j5jza3iw59wqwgq4a489qf7kx355yssrcahaw9g87lxz";
+    settingsSha256 = "16qqw0jy31da65cdi17y3j2kcdhw09vra7g17bkcimaqnf70j0ni";
+    persistencedSha256 = "1ad81y4qfpxrx0vqsk81a3h0bi1yg8hw5gi5y5d58p76vc8083i9";
   };
 
   legacy_340 = generic {
@@ -77,6 +77,7 @@ rec {
     persistencedSha256 = "1ax4xn3nmxg1y6immq933cqzw6cj04x93saiasdc0kjlv0pvvnkn";
     useGLVND = false;
 
+    broken = with kernel; kernelAtLeast "5.5";
     patches = [ ./vm_operations_struct-fault.patch ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix
index ec83b472085d..c7e062534a4d 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -17,7 +17,7 @@
 }@args:
 
 { lib, stdenv, callPackage, pkgs, pkgsi686Linux, fetchurl
-, kernel ? null, perl, nukeReferences
+, kernel ? null, perl, nukeReferences, which
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
   # Linux.
@@ -93,6 +93,7 @@ let
     libPath = libPathFor pkgs;
     libPath32 = optionalString i686bundled (libPathFor pkgsi686Linux);
 
+    buildInputs = [ which ];
     nativeBuildInputs = [ perl nukeReferences ]
       ++ optionals (!libsOnly) kernel.moduleBuildDependencies;
 
@@ -114,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/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix b/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix
index 0640316b627a..a4f6565f0c70 100644
--- a/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, automake, autoconf, libtool, gettext
-, util-linux, open-isns, openssl, kmod, perl, systemd, pkgconf
+, util-linux, open-isns, openssl, kmod, perl, systemd, pkgconf, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
     sed -i "s|/sbin/iscsiadm|$out/bin/iscsiadm|" $out/bin/iscsi_fw_login
   '';
 
+  passthru.tests = { inherit (nixosTests) iscsi-root iscsi-multipath-root; };
+
   meta = with lib; {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix b/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix
index e2346cca95c7..380d76844c80 100644
--- a/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/nixpkgs/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.15.1";
+  version = "2.16.2";
   pname = "openvswitch";
 
   src = fetchurl {
     url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "0vgijwycf3wvzv9v811jrfr5rlwmihlxwpf16spl6k9n6zaswysw";
+    sha256 = "sha256-A6xMMpmzjlbAtNTCejKclYsAOgjztUigo8qLmU8tSTQ=";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
diff --git a/nixpkgs/pkgs/os-specific/linux/pam/default.nix b/nixpkgs/pkgs/os-specific/linux/pam/default.nix
index 12ff9f493a37..1476ae49006c 100644
--- a/nixpkgs/pkgs/os-specific/linux/pam/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pam/default.nix
@@ -5,13 +5,15 @@
 
 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 ];
+
   outputs = [ "out" "doc" "man" /* "modules" */ ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -23,18 +25,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  postInstall = ''
-    mv -v $out/sbin/unix_chkpwd{,.orig}
-    ln -sv /run/wrappers/bin/unix_chkpwd $out/sbin/unix_chkpwd
-  ''; /*
-    rm -rf $out/etc
-    mkdir -p $modules/lib
-    mv $out/lib/security $modules/lib/
-  '';*/
-  # don't move modules, because libpam needs to (be able to) find them,
-  # which is done by dlopening $out/lib/security/pam_foo.so
-  # $out/etc was also missed: pam_env(login:session): Unable to open config file
-
   preConfigure = lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
       # export ac_cv_search_crypt=no
       # (taken from Alpine linux, apparently insecure but also doesn't build O:))
diff --git a/nixpkgs/pkgs/os-specific/linux/pam/suid-wrapper-path.patch b/nixpkgs/pkgs/os-specific/linux/pam/suid-wrapper-path.patch
new file mode 100644
index 000000000000..71533c51a190
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/pam/suid-wrapper-path.patch
@@ -0,0 +1,6 @@
+It needs the SUID version during runtime, and that can't be in /nix/store/**
+--- a/modules/pam_unix/Makefile.in
++++ b/modules/pam_unix/Makefile.in
+@@ -651 +651 @@
+-	-DCHKPWD_HELPER=\"$(sbindir)/unix_chkpwd\" \
++	-DCHKPWD_HELPER=\"/run/wrappers/bin/unix_chkpwd\" \
diff --git a/nixpkgs/pkgs/os-specific/linux/pam_pgsql/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_pgsql/default.nix
index bca02c170661..3cfa6733efa8 100644
--- a/nixpkgs/pkgs/os-specific/linux/pam_pgsql/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pam_pgsql/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pam_pgsql";
-  version = "0.7.3.2";
+  version = "unstable-2020-05-05";
 
   src = fetchFromGitHub {
     owner = "pam-pgsql";
     repo = "pam-pgsql";
-    rev = "release-${version}";
-    sha256 = "1a68krq5m07zspdxwl1wmkr5j98zr9bdg4776kvplrsdcg97h4jk";
+    rev = "f9fd1e1a0daf754e6764a31db5cbec6f9fc02b3d";
+    sha256 = "1bvddrwyk1479wibyayzc24h62qzfnlbk9qvdhb31yw9yn17gp6k";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/os-specific/linux/pam_usb/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_usb/default.nix
index 8411c4fdbfaf..0091accd57a7 100644
--- a/nixpkgs/pkgs/os-specific/linux/pam_usb/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pam_usb/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, makeWrapper, dbus, libxml2, pam, pkg-config, pmount, pythonPackages, writeScript, runtimeShell }:
+{ lib, stdenv, fetchurl, makeWrapper, dbus, libxml2, pam, pkg-config, pmount, python2Packages, writeScript, runtimeShell }:
 
 let
 
@@ -29,7 +29,7 @@ let
 
   pmountBin = useSetUID pmount "/bin/pmount";
   pumountBin = useSetUID pmount "/bin/pumount";
-  inherit (pythonPackages) python dbus-python;
+  inherit (python2Packages) python dbus-python;
 in
 
 stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/os-specific/linux/pcm/default.nix b/nixpkgs/pkgs/os-specific/linux/pcm/default.nix
index a7b26fb6d711..a5d9771a2f9c 100644
--- a/nixpkgs/pkgs/os-specific/linux/pcm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pcm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pcm";
-  version = "202110";
+  version = "202112";
 
   src = fetchFromGitHub {
     owner = "opcm";
     repo = "pcm";
     rev = version;
-    sha256 = "sha256-YcTsC1ceCXKALroyZtgRYpqK3ysJhgzRJ8fBiCx7CCM=";
+    sha256 = "sha256-uuQvj8BcUmuYDwV4r3oqkT+QTcSFcGjBeGUM2NZRFcA=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/pflask/default.nix b/nixpkgs/pkgs/os-specific/linux/pflask/default.nix
index 92294b58e42a..ba525c1a387a 100644
--- a/nixpkgs/pkgs/os-specific/linux/pflask/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pflask/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python, wafHook }:
+{ lib, stdenv, fetchFromGitHub, python2, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "pflask";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ wafHook ];
-  buildInputs = [ python ];
+  buildInputs = [ python2 ];
 
   meta = {
     description = "Lightweight process containers for Linux";
diff --git a/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix b/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix
index 0797656f653e..e86658ccb0ac 100644
--- a/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix
@@ -10,13 +10,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  pkgname = "pommed-light";
+  pname = "pommed-light";
   version = "1.51lw";
-  name = "${pkgname}-${version}";
 
   src = fetchFromGitHub {
     owner = "bytbox";
-    repo = pkgname;
+    repo = "pommed-light";
     rev = "v${version}";
     sha256 = "18fvdwwhcl6s4bpf2f2i389s71c8k4g0yb81am9rdddqmzaw27iy";
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/procdump/default.nix b/nixpkgs/pkgs/os-specific/linux/procdump/default.nix
index 0b40a4dd0365..05ec4b90ed70 100644
--- a/nixpkgs/pkgs/os-specific/linux/procdump/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/procdump/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, bash, coreutils, gdb, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, bash, coreutils, gdb, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "procdump";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-gVswAezHl7E2cBTJEQhPFXhHkzhWVHSpPF8m0s8+ekc=";
   };
 
+  patches = [
+    # Pull upstream patch to fix parallel builds:
+    #  https://github.com/Sysinternals/ProcDump-for-Linux/pull/133
+    (fetchpatch {
+      name = "parallel.patch";
+      url = "https://github.com/Sysinternals/ProcDump-for-Linux/commit/0d735836f11281cc6134be93eac8acb302f2055e.patch";
+      sha256 = "sha256-zsqllPHF8ZuXAIDSAPvbzdKa43uSSx9ilUKM1vFVW90=";
+    })
+  ];
+
   nativeBuildInputs = [ zlib ];
   buildInputs = [ bash coreutils gdb ];
 
@@ -27,6 +37,8 @@ stdenv.mkDerivation rec {
     "MANDIR=/share/man/man1"
   ];
 
+  enableParallelBuilding = true;
+
   doCheck = false; # needs sudo root
 
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
index 710a74d67d8c..f7543291deda 100644
--- a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdma-core";
-  version = "38.0";
+  version = "39.0";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "1z9yrkqdknzidg4g1g5rqrs7i0325nmzzw0nf2ki1nzlfwqxy9qv";
+    sha256 = "sha256-7Z06bdCtv/gdZKzKfcU+JrWl4+b6b/cdKp8pMLCZZo0=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8189es/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8189es/default.nix
new file mode 100644
index 000000000000..500359f7e4fd
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8189es/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, fetchFromGitHub, kernel, bc, nukeReferences }:
+
+stdenv.mkDerivation rec {
+  name = "rtl8189es-${kernel.version}-${version}";
+  version = "2020-10-03";
+
+  src = fetchFromGitHub {
+    owner = "jwrdegoede";
+    repo = "rtl8189ES_linux";
+    rev = "03ac413135a355b55b693154c44b70f86a39732e";
+    sha256 = "0wiikviwyvy6h55rgdvy7csi1zqniqg26p8x44rd6mhbw0g00h56";
+  };
+
+  nativeBuildInputs = [ bc nukeReferences ];
+  buildInputs = kernel.moduleBuildDependencies;
+
+  hardeningDisable = [ "pic" "format" ];
+
+  prePatch = ''
+    substituteInPlace ./Makefile --replace /lib/modules/ "${kernel.dev}/lib/modules/"
+    substituteInPlace ./Makefile --replace '$(shell uname -r)' "${kernel.modDirVersion}"
+    substituteInPlace ./Makefile --replace /sbin/depmod \#
+    substituteInPlace ./Makefile --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+  '';
+
+  makeFlags = [
+    "ARCH=${stdenv.hostPlatform.linuxArch}"
+    "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    ("CONFIG_PLATFORM_I386_PC=" + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n"))
+    ("CONFIG_PLATFORM_ARM_RPI=" + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n"))
+  ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+  ];
+
+  preInstall = ''
+    mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+  '';
+
+  postInstall = ''
+    nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko
+  '';
+
+  meta = with lib; {
+    description = "Driver for Realtek rtl8189es";
+    homepage = "https://github.com/jwrdegoede/rtl8189ES_linux";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ danielfullmer lheckemann ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix b/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix
index e50cb7e8d53a..cdc2425ae4ad 100644
--- a/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, pciutils, cmake }:
 stdenv.mkDerivation rec {
   pname = "ryzenadj";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "FlyGoat";
     repo = "RyzenAdj";
     rev = "v${version}";
-    sha256 = "182l9nchlpl4yr568n86086glkr607rif92wnwc7v3aym62ch6ld";
+    sha256 = "sha256-eb8DskF0SJtc0tDKJ1vU7dtuQmHO7RX8vm4DQki2ZEg=";
   };
 
   nativeBuildInputs = [ pciutils cmake ];
diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/samples/default.nix b/nixpkgs/pkgs/os-specific/linux/sgx/samples/default.nix
new file mode 100644
index 000000000000..f9c5ae450545
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/sgx/samples/default.nix
@@ -0,0 +1,109 @@
+{ stdenv
+, lib
+, makeWrapper
+, sgx-sdk
+, sgx-psw
+, which
+  # "SIM" or "HW"
+, sgxMode
+}:
+let
+  isSimulation = sgxMode == "SIM";
+  buildSample = name: stdenv.mkDerivation {
+    pname = name;
+    version = sgxMode;
+
+    src = sgx-sdk.out;
+    sourceRoot = "${sgx-sdk.name}/share/SampleCode/${name}";
+
+    nativeBuildInputs = [
+      makeWrapper
+      which
+    ];
+
+    buildInputs = [
+      sgx-sdk
+    ];
+
+    # The samples don't have proper support for parallel building
+    # causing them to fail randomly.
+    enableParallelBuilding = false;
+
+    buildFlags = [
+      "SGX_MODE=${sgxMode}"
+    ];
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/{bin,lib}
+      install -m 755 app $out/bin
+      install *.so $out/lib
+
+      wrapProgram "$out/bin/app" \
+        --run "cd $out/lib" \
+        ${lib.optionalString (!isSimulation)
+        ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ sgx-psw ]}"''}
+
+      runHook postInstall
+    '';
+
+    # Breaks the signature of the enclaves
+    dontFixup = true;
+
+    # We don't have access to real SGX hardware during the build
+    doInstallCheck = isSimulation;
+    installCheckPhase = ''
+      runHook preInstallCheck
+
+      pushd /
+      echo a | $out/bin/app
+      popd
+
+      runHook preInstallCheck
+    '';
+  };
+in
+{
+  cxx11SGXDemo = buildSample "Cxx11SGXDemo";
+  localAttestation = (buildSample "LocalAttestation").overrideAttrs (oldAttrs: {
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/{bin,lib}
+      install -m 755 bin/app* $out/bin
+      install bin/*.so $out/lib
+
+      for bin in $out/bin/*; do
+        wrapProgram $bin \
+          --run "cd $out/lib" \
+          ${lib.optionalString (!isSimulation)
+          ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ sgx-psw ]}"''}
+      done
+
+      runHook postInstall
+    '';
+  });
+  powerTransition = buildSample "PowerTransition";
+  protobufSGXDemo = buildSample "ProtobufSGXDemo";
+  remoteAttestation = (buildSample "RemoteAttestation").overrideAttrs (oldAttrs: {
+    # Makefile sets rpath to point to $TMPDIR
+    preFixup = ''
+      patchelf --remove-rpath $out/bin/app
+    '';
+
+    postInstall = ''
+      install sample_libcrypto/*.so $out/lib
+    '';
+  });
+  sampleEnclave = buildSample "SampleEnclave";
+  sampleEnclavePCL = buildSample "SampleEnclavePCL";
+  sampleEnclaveGMIPP = buildSample "SampleEnclaveGMIPP";
+  sealUnseal = (buildSample "SealUnseal").overrideAttrs (oldAttrs: {
+    prePatch = ''
+      substituteInPlace App/App.cpp \
+        --replace '"sealed_data_blob.txt"' '"/tmp/sealed_data_blob.txt"'
+    '';
+  });
+  switchless = buildSample "Switchless";
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix
index 18876f927e80..baa4ad2a3375 100644
--- a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix
@@ -3,15 +3,16 @@
 , fetchFromGitHub
 , fetchpatch
 , fetchzip
-, callPackage
 , autoconf
 , automake
 , binutils
+, callPackage
 , cmake
 , file
 , gdb
 , git
 , libtool
+, linkFarmFromDrvs
 , nasm
 , ocaml
 , ocamlPackages
@@ -20,6 +21,7 @@
 , python3
 , texinfo
 , validatePkgConfig
+, writeShellApplication
 , writeShellScript
 , writeText
 , debug ? false
@@ -46,6 +48,11 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [
+    # Fix missing pthread_compat.h, see https://github.com/intel/linux-sgx/pull/784
+    (fetchpatch {
+      url = "https://github.com/intel/linux-sgx/commit/254b58f922a6bd49c308a4f47f05f525305bd760.patch";
+      sha256 = "sha256-sHU++K7NJ+PdITx3y0PwstA9MVh10rj2vrLn01N9F4w=";
+    })
     # Commit to add missing sgx_ippcp.h not yet part of this release
     (fetchpatch {
       name = "add-missing-sgx_ippcp-header.patch";
@@ -257,7 +264,25 @@ stdenv.mkDerivation rec {
     postHooks+=(sgxsdk)
   '';
 
-  passthru.tests = callPackage ./samples.nix { };
+  passthru.tests = callPackage ../samples { sgxMode = "SIM"; };
+
+  # Run tests in SGX hardware mode on an SGX-enabled machine
+  # $(nix-build -A sgx-sdk.runTestsHW)/bin/run-tests-hw
+  passthru.runTestsHW =
+    let
+      testsHW = lib.filterAttrs (_: v: v ? "name") (callPackage ../samples { sgxMode = "HW"; });
+      testsHWLinked = linkFarmFromDrvs "sgx-samples-hw-bundle" (lib.attrValues testsHW);
+    in
+    writeShellApplication {
+      name = "run-tests-hw";
+      text = ''
+        for test in ${testsHWLinked}/*; do
+          printf '*** Running test %s ***\n\n' "$(basename "$test")"
+          printf 'a\n' | "$test/bin/app"
+          printf '\n'
+        done
+      '';
+    };
 
   meta = with lib; {
     description = "Intel SGX SDK for Linux built with IPP Crypto Library";
diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/samples.nix b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/samples.nix
deleted file mode 100644
index 21b31f824476..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/samples.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv
-, sgx-sdk
-, which
-}:
-let
-  buildSample = name: stdenv.mkDerivation rec {
-    inherit name;
-
-    src = sgx-sdk.out;
-    sourceRoot = "${sgx-sdk.name}/share/SampleCode/${name}";
-
-    buildInputs = [
-      sgx-sdk
-    ];
-
-    # The samples don't have proper support for parallel building
-    # causing them to fail randomly.
-    enableParallelBuilding = false;
-
-    buildFlags = [
-      "SGX_MODE=SIM"
-    ];
-
-    installPhase = ''
-      mkdir $out
-      install -m 755 app $out/app
-      install *.so $out/
-    '';
-
-    doInstallCheck = true;
-    installCheckInputs = [ which ];
-    installCheckPhase = ''
-      pushd $out
-      ./app
-      popd
-    '';
-  };
-in
-{
-  cxx11SGXDemo = buildSample "Cxx11SGXDemo";
-  localAttestation = (buildSample "LocalAttestation").overrideAttrs (oldAttrs: {
-    installPhase = ''
-      mkdir $out
-      cp -r bin/. $out/
-    '';
-  });
-  powerTransition = (buildSample "PowerTransition").overrideAttrs (oldAttrs: {
-    # Requires interaction
-    doInstallCheck = false;
-  });
-  protobufSGXDemo = buildSample "ProtobufSGXDemo";
-  remoteAttestation = (buildSample "RemoteAttestation").overrideAttrs (oldAttrs: {
-    dontFixup = true;
-    installCheckPhase = ''
-      echo "a" | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/sample_libcrypto ./app
-    '';
-  });
-  sampleEnclave = buildSample "SampleEnclave";
-  sampleEnclavePCL = buildSample "SampleEnclavePCL";
-  sampleEnclaveGMIPP = buildSample "SampleEnclaveGMIPP";
-  sealUnseal = buildSample "SealUnseal";
-  switchless = buildSample "Switchless";
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix b/nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix
new file mode 100644
index 000000000000..c54eda19d6a2
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix
@@ -0,0 +1,95 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, fetchurl
+, lib
+, perl
+, sgx-sdk
+, which
+, debug ? false
+}:
+let
+  sgxVersion = sgx-sdk.versionTag;
+  opensslVersion = "1.1.1l";
+in
+stdenv.mkDerivation rec {
+  pname = "sgx-ssl" + lib.optionalString debug "-debug";
+  version = "lin_${sgxVersion}_${opensslVersion}";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "intel-sgx-ssl";
+    rev = version;
+    hash = "sha256-ibPXs90ni2fkxJ09fNO6wWVpfCFdko6MjBFkEsyIih8=";
+  };
+
+  postUnpack =
+    let
+      opensslSourceArchive = fetchurl {
+        url = "https://www.openssl.org/source/openssl-${opensslVersion}.tar.gz";
+        hash = "sha256-C3o+XlnDSCf+DDp0t+yLrvMCuY+oAIjX+RU6oW+na9E=";
+      };
+    in
+    ''
+      ln -s ${opensslSourceArchive} $sourceRoot/openssl_source/openssl-${opensslVersion}.tar.gz
+    '';
+
+  patches = [
+    # https://github.com/intel/intel-sgx-ssl/pull/111
+    ./intel-sgx-ssl-pr-111.patch
+  ];
+
+  postPatch = ''
+    patchShebangs Linux/build_openssl.sh
+
+    # Run the test in the `installCheckPhase`, not the `buildPhase`
+    substituteInPlace Linux/sgx/Makefile \
+      --replace '$(MAKE) -C $(TEST_DIR) all' \
+                'bash -c "true"'
+  '';
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    perl
+    sgx-sdk
+    stdenv.glibc
+    which
+  ];
+
+  makeFlags = [
+    "-C Linux"
+  ] ++ lib.optionals debug [
+    "DEBUG=1"
+  ];
+
+  installFlags = [
+    "DESTDIR=$(out)"
+  ];
+
+  # Build the test app
+  #
+  # Running the test app is currently only supported on Intel CPUs
+  # and will fail on non-Intel CPUs even in SGX simulation mode.
+  # Therefore, we only build the test app without running it until
+  # upstream resolves the issue: https://github.com/intel/intel-sgx-ssl/issues/113
+  doInstallCheck = true;
+  installCheckTarget = "all";
+  installCheckFlags = [
+    "SGX_MODE=SIM"
+    "-C sgx/test_app"
+    "-j 1" # Makefile doesn't support multiple jobs
+  ];
+  preInstallCheck = ''
+    # Expects the enclave file in the current working dir
+    ln -s sgx/test_app/TestEnclave.signed.so .
+  '';
+
+  meta = with lib; {
+    description = "Cryptographic library for Intel SGX enclave applications based on OpenSSL";
+    homepage = "https://github.com/intel/intel-sgx-ssl";
+    maintainers = with maintainers; [ trundle veehaitch ];
+    platforms = [ "x86_64-linux" ];
+    license = with licenses; [ bsd3 openssl ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/ssl/intel-sgx-ssl-pr-111.patch b/nixpkgs/pkgs/os-specific/linux/sgx/ssl/intel-sgx-ssl-pr-111.patch
new file mode 100644
index 000000000000..6ef06d7e231b
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/sgx/ssl/intel-sgx-ssl-pr-111.patch
@@ -0,0 +1,99 @@
+From 1683c336e11b3cbe2b48c1be1c9460a661523c71 Mon Sep 17 00:00:00 2001
+From: Vincent Haupert <mail@vincent-haupert.de>
+Date: Sat, 8 Jan 2022 17:22:31 +0100
+Subject: [PATCH 1/3] Linux: fix Nix detection
+
+Detect the `OS_ID` of Nix by probing for the presence of the `NIX_STORE`
+environment variable instead of `NIX_PATH`. The latter is only set in a
+`nix-shell` session but isn't when building a derivation through
+`nix-build`. In contrast, the `NIX_STORE` environment variable is set in
+both cases.
+
+Signed-off-by: Vincent Haupert <mail@vincent-haupert.de>
+---
+ Linux/sgx/buildenv.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Linux/sgx/buildenv.mk b/Linux/sgx/buildenv.mk
+index cd8818e..dac23c7 100644
+--- a/Linux/sgx/buildenv.mk
++++ b/Linux/sgx/buildenv.mk
+@@ -65,7 +65,7 @@ $(shell mkdir -p $(PACKAGE_LIB))
+ UBUNTU_CONFNAME:=/usr/include/x86_64-linux-gnu/bits/confname.h
+ ifneq ("$(wildcard $(UBUNTU_CONFNAME))","")
+ 	OS_ID=1
+-else ifeq ($(origin NIX_PATH),environment)
++else ifeq ($(origin NIX_STORE),environment)
+ 	OS_ID=3
+ else
+ 	OS_ID=2
+
+From f493525face589d759223bfa45bb802c31ddce4f Mon Sep 17 00:00:00 2001
+From: Vincent Haupert <mail@vincent-haupert.de>
+Date: Sat, 8 Jan 2022 17:33:22 +0100
+Subject: [PATCH 2/3] Linux: call binaries relative to PATH
+
+Using an absolute path to call binaries is incompatible with
+distributions which do not follow the Filesystem Hierachy Standard;
+Nix is an example. Also, it is inconsistent with the rest of the code
+base, let alone superfluous.
+
+Signed-off-by: Vincent Haupert <mail@vincent-haupert.de>
+---
+ Linux/build_openssl.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Linux/build_openssl.sh b/Linux/build_openssl.sh
+index 7d77b79..e8b59a1 100755
+--- a/Linux/build_openssl.sh
++++ b/Linux/build_openssl.sh
+@@ -38,7 +38,7 @@ SGXSSL_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+ echo $SGXSSL_ROOT
+ 
+ OPENSSL_INSTALL_DIR="$SGXSSL_ROOT/../openssl_source/OpenSSL_install_dir_tmp"
+-OPENSSL_VERSION=`/bin/ls $SGXSSL_ROOT/../openssl_source/*1.1.1*.tar.gz | /usr/bin/head -1 | /bin/grep -o '[^/]*$' | /bin/sed -s -- 's/\.tar\.gz//'`
++OPENSSL_VERSION=`ls $SGXSSL_ROOT/../openssl_source/*1.1.1*.tar.gz | head -1 | grep -o '[^/]*$' | sed -s -- 's/\.tar\.gz//'`
+ if [ "$OPENSSL_VERSION" == "" ] 
+ then
+ 	echo "In order to run this script, OpenSSL tar.gz package must be located in openssl_source/ directory."
+
+From fdb883d30fff72b5cfb8c61a2288d3d948f64224 Mon Sep 17 00:00:00 2001
+From: Vincent Haupert <mail@vincent-haupert.de>
+Date: Tue, 11 Jan 2022 10:56:39 +0100
+Subject: [PATCH 3/3] Linux: properly extract GCC major version
+
+Calling `gcc -dumpversion` yields the full version string, e.g.,
+`10.3.0`. The `build_openssl.sh` bash script uses the `-ge` number
+comparison operator to check if the returned version is at least
+8. This results in an error if the returned GCC version includes a patch
+version; "10.3.0" isn't a valid number.
+
+This commit fixes the version detection by only extracting the relevant
+major version of GCC.
+
+Signed-off-by: Vincent Haupert <mail@vincent-haupert.de>
+---
+ Linux/build_openssl.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Linux/build_openssl.sh b/Linux/build_openssl.sh
+index e8b59a1..6e4046f 100755
+--- a/Linux/build_openssl.sh
++++ b/Linux/build_openssl.sh
+@@ -82,6 +82,7 @@ fi
+ MITIGATION_OPT=""
+ MITIGATION_FLAGS=""
+ CC_VERSION=`gcc -dumpversion`
++CC_VERSION_MAJOR=`echo "$CC_VERSION" | cut -f1 -d.`
+ for arg in "$@"
+ do
+     case $arg in
+@@ -99,7 +100,7 @@ do
+         ;;
+     -mfunction-return=thunk-extern)
+         MITIGATION_FLAGS+=" $arg"
+-        if [[ $CC_VERSION -ge 8 ]] ; then
++        if [[ "$CC_VERSION_MAJOR" -ge 8 ]] ; then
+             MITIGATION_FLAGS+=" -fcf-protection=none"
+         fi
+         shift
diff --git a/nixpkgs/pkgs/os-specific/linux/shadow/default.nix b/nixpkgs/pkgs/os-specific/linux/shadow/default.nix
index e20023b2b6eb..2e4ae1649ea8 100644
--- a/nixpkgs/pkgs/os-specific/linux/shadow/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/shadow/default.nix
@@ -11,7 +11,7 @@ let
     else assert stdenv.hostPlatform.libc == "glibc"; stdenv.cc.libc;
 
   dots_in_usernames = fetchpatch {
-    url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/shadow/files/shadow-4.1.3-dots-in-usernames.patch";
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-apps/shadow/files/shadow-4.1.3-dots-in-usernames.patch";
     sha256 = "1fj3rg6x3jppm5jvi9y7fhd2djbi4nc5pgwisw00xlh4qapgz692";
   };
 
diff --git a/nixpkgs/pkgs/os-specific/linux/sinit/default.nix b/nixpkgs/pkgs/os-specific/linux/sinit/default.nix
index f88eca9b4873..a412461bfd51 100644
--- a/nixpkgs/pkgs/os-specific/linux/sinit/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sinit/default.nix
@@ -1,36 +1,29 @@
-{lib, stdenv, fetchgit, rcinit ? null, rcshutdown ? null, rcreboot ? null}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="sinit";
-    version="1.1";
-    name="${baseName}-${version}";
-    url="https://git.suckless.org/sinit/";
-    sha256="sha256-VtXkgixgElKKOT26uKN9feXDVjjtSgTWvcgk5o5MLmw=";
+{ lib, stdenv, fetchgit, rcinit ? null, rcshutdown ? null, rcreboot ? null }:
+
+stdenv.mkDerivation rec {
+  pname = "sinit";
+  version = "1.1";
+
+  src = fetchgit {
+    url = "https://git.suckless.org/sinit/";
+    sha256 = "sha256-VtXkgixgElKKOT26uKN9feXDVjjtSgTWvcgk5o5MLmw=";
     rev = "refs/tags/v${version}";
   };
   buildInputs = [
     (lib.getOutput "static" stdenv.cc.libc)
   ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchgit {
-    inherit (s) url sha256 rev;
-  };
-  makeFlags = ["PREFIX=$(out)"];
+  makeFlags = [ "PREFIX=$(out)" ];
   preConfigure = ""
     + (lib.optionalString (rcinit != null) ''sed -re 's@(rcinitcmd[^"]*")[^"]*"@\1${rcinit}"@' -i config.def.h; '')
     + (lib.optionalString (rcshutdown != null) ''sed -re 's@(rc(reboot|poweroff)cmd[^"]*")[^"]*"@\1${rcshutdown}"@' -i config.def.h; '')
     + (lib.optionalString (rcreboot != null) ''sed -re 's@(rc(reboot)cmd[^"]*")[^"]*"@\1${rcreboot}"@' -i config.def.h; '')
-    ;
-  meta = {
-    inherit (s) version;
+  ;
+
+  meta = with lib; {
     description = "A very minimal Linux init implementation from suckless.org";
-    license = lib.licenses.mit ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
     homepage = "https://tools.suckless.org/sinit";
     downloadPage = "https://git.suckless.org/sinit";
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/smem/default.nix b/nixpkgs/pkgs/os-specific/linux/smem/default.nix
index cace3e22ae7d..b2636382aec6 100644
--- a/nixpkgs/pkgs/os-specific/linux/smem/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/smem/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python }:
+{ lib, stdenv, fetchurl, python2 }:
 
 stdenv.mkDerivation rec {
   pname = "smem";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "19ibv1byxf2b68186ysrgrhy5shkc5mc69abark1h18yigp3j34m";
   };
 
-  buildInputs = [ python ];
+  buildInputs = [ python2 ];
 
   makeFlags = [ "smemcap" ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/speedometer/default.nix b/nixpkgs/pkgs/os-specific/linux/speedometer/default.nix
index 2801334688b0..2802fddf8ce5 100644
--- a/nixpkgs/pkgs/os-specific/linux/speedometer/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/speedometer/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, pythonPackages }:
+{ lib, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "speedometer";
   version = "2.8";
 
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "060bikv3gwr203jbdmvawsfhc0yq0bg1m42dk8czx1nqvwvgv6fm";
   };
 
-  propagatedBuildInputs = [ pythonPackages.urwid ];
+  propagatedBuildInputs = [ python2Packages.urwid ];
 
   postPatch = ''
     sed -i "/'entry_points': {/d" setup.py
diff --git a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix
index d15838868874..22602d12bd5a 100644
--- a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix
@@ -13,13 +13,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sssd";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "SSSD";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qKd6CwjiznoA97G4cnIt4FpVaLQMJYBt3JD2l7h72Z4=";
+    sha256 = "sha256-m0ArsN9xopfBPnHTiPDEOPuhQHQ2zoICGwVM7P05k3U=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/statifier/default.nix b/nixpkgs/pkgs/os-specific/linux/statifier/default.nix
index 5afb399fc162..eefd95d1153a 100644
--- a/nixpkgs/pkgs/os-specific/linux/statifier/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/statifier/default.nix
@@ -1,8 +1,8 @@
 { lib, multiStdenv, fetchurl }:
 
-let version = "1.7.4"; in
-multiStdenv.mkDerivation {
-  name = "statifier-${version}";
+multiStdenv.mkDerivation rec {
+  pname = "statifier";
+  version = "1.7.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/statifier/statifier-${version}.tar.gz";
diff --git a/nixpkgs/pkgs/os-specific/linux/sysdig/default.upstream b/nixpkgs/pkgs/os-specific/linux/sysdig/default.upstream
deleted file mode 100644
index 485de5741d79..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/sysdig/default.upstream
+++ /dev/null
@@ -1,8 +0,0 @@
-url https://github.com/draios/sysdig/releases
-ensure_choice
-version '.*/([0-9.]+)[.]tar[.].*' '\1'
-do_overwrite () {
-  ensure_hash
-  set_var_value sha256 $CURRENT_HASH
-  set_var_value version $CURRENT_VERSION
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix b/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix
index 2d5b3e2ab558..5389caaa33fb 100644
--- a/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
index ac95dc745fe1..a87c59558e01 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
@@ -1,7 +1,7 @@
-From d4ea219a35a09fe02bc9e47e8530644cb4fc4146 Mon Sep 17 00:00:00 2001
+From 93b2d29de784c68d1b4d70d7f214b19432aec6a8 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:46:30 +0100
-Subject: [PATCH 01/21] Start device units for uninitialised encrypted devices
+Subject: [PATCH 01/19] Start device units for uninitialised encrypted devices
 
 This is necessary because the NixOS service that initialises the
 filesystem depends on the appearance of the device unit.  Also, this
@@ -28,5 +28,5 @@ index 25b8a590a6..d18999ea87 100644
  SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}!="crypto_LUKS", SYMLINK+="gpt-auto-root"
  SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}=="crypto_LUKS", SYMLINK+="gpt-auto-root-luks"
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
index dd351c001006..e9fedd239f47 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
@@ -1,7 +1,7 @@
-From 67abd8f22f70d9348bc9d8e0e93dde4d325627ba Mon Sep 17 00:00:00 2001
+From 41edb381df0326e216b3c569d2cd5764591267d9 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Fri, 12 Apr 2013 13:16:57 +0200
-Subject: [PATCH 02/21] Don't try to unmount /nix or /nix/store
+Subject: [PATCH 02/19] Don't try to unmount /nix or /nix/store
 
 They'll still be remounted read-only.
 
@@ -25,10 +25,10 @@ index f683f05981..5a04c2c2a6 100644
                          "/etc"))
                  return true;
 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c
-index c2a26242c0..9936398f32 100644
+index 1f945b7875..6df9d383ba 100644
 --- a/src/shutdown/umount.c
 +++ b/src/shutdown/umount.c
-@@ -496,6 +496,8 @@ static int delete_md(MountPoint *m) {
+@@ -508,6 +508,8 @@ static int delete_md(MountPoint *m) {
  
  static bool nonunmountable_path(const char *path) {
          return path_equal(path, "/")
@@ -38,5 +38,5 @@ index c2a26242c0..9936398f32 100644
                  || path_equal(path, "/usr")
  #endif
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
index 2dd3d87f6ed2..217629f7d6ac 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
@@ -1,7 +1,7 @@
-From 37c9471f59bd57223014a4a645b5f96a71d78787 Mon Sep 17 00:00:00 2001
+From 43620479f6bfbbc4c3eed28947e0676c817acb7c Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Wed, 16 Apr 2014 10:59:28 +0200
-Subject: [PATCH 03/21] Fix NixOS containers
+Subject: [PATCH 03/19] Fix NixOS containers
 
 In NixOS containers, the init script is bind-mounted into the
 container, so checking early whether it exists will fail.
@@ -30,5 +30,5 @@ index 575b9da447..438ca294db 100644
  
          } else {
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
index 54d9ff93b43b..f7b768af515f 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
@@ -1,7 +1,7 @@
-From 987d6f94dac8e1a75615fd9ddcfb0eb1c2c4c349 Mon Sep 17 00:00:00 2001
+From a08ed6697974d7f7dabe60d42bbc9e31a10f7e23 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Thu, 1 May 2014 14:10:10 +0200
-Subject: [PATCH 04/21] Look for fsck in the right place
+Subject: [PATCH 04/19] Look for fsck in the right place
 
 ---
  src/fsck/fsck.c | 2 +-
@@ -21,5 +21,5 @@ index cd7adfaeb9..68cebdd158 100644
                  cmdline[i++] = "-T";
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
index ee878b410f04..7ebf07d0a82b 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
@@ -1,7 +1,7 @@
-From da4f855044b2babe052ce303cca1de736cf952cd Mon Sep 17 00:00:00 2001
+From ddcfae6de8c460903c5db8c536ffeb5771e976f8 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Fri, 19 Dec 2014 14:46:17 +0100
-Subject: [PATCH 05/21] Add some NixOS-specific unit directories
+Subject: [PATCH 05/19] Add some NixOS-specific unit directories
 
 Look in `/nix/var/nix/profiles/default/lib/systemd/{system,user}` for
 units provided by packages installed into the default profile via
@@ -122,5 +122,5 @@ index fc0f8c34fa..162432e77f 100644
  
  systemd_sleep_dir=${root_prefix}/lib/systemd/system-sleep
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
index 482eeacb0218..0c09107c5ef2 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
@@ -1,7 +1,7 @@
-From c06abdb631527f56a626b739340d1b275349612c Mon Sep 17 00:00:00 2001
+From b39b8871bcaa07280d6b0cf2226b1a3be31232b8 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Mon, 11 May 2015 15:39:38 +0200
-Subject: [PATCH 06/21] Get rid of a useless message in user sessions
+Subject: [PATCH 06/19] Get rid of a useless message in user sessions
 
 Namely lots of variants of
 
@@ -27,5 +27,5 @@ index 34891a8754..b9b4789720 100644
                  /* If stopping a unit fails continuously we might enter a stop loop here, hence stop acting on the
                   * service being unnecessary after a while. */
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
index 22e4c74d08d7..d7649b5e44a7 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
@@ -1,7 +1,7 @@
-From 207c69466cdd164c42ed1901deb06f57b12f4363 Mon Sep 17 00:00:00 2001
+From 566208aea81057789218b959f4d0e898eec54fc9 Mon Sep 17 00:00:00 2001
 From: Gabriel Ebner <gebner@gebner.org>
 Date: Sun, 6 Dec 2015 14:26:36 +0100
-Subject: [PATCH 07/21] hostnamed, localed, timedated: disable methods that
+Subject: [PATCH 07/19] hostnamed, localed, timedated: disable methods that
  change system settings.
 
 ---
@@ -104,5 +104,5 @@ index 66b454269d..0a8fe25d0f 100644
          if (r < 0)
                  return r;
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
index e5a0bf7d97fa..f938b553c9f5 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
@@ -1,7 +1,7 @@
-From 3ca3855259c3015615983587063fa159cfa7e93c Mon Sep 17 00:00:00 2001
+From 3b9983969de2a86929768f6362ed41c20dd13bd3 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 7 Jul 2016 02:47:13 +0300
-Subject: [PATCH 08/21] Fix hwdb paths
+Subject: [PATCH 08/19] Fix hwdb paths
 
 Patch by vcunat.
 ---
@@ -24,5 +24,5 @@ index 5ddc2211e6..ee621eec46 100644
 +        "/etc/udev/hwdb.bin\0"
 +
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
index 9e22ea719e35..87cf1afc7d22 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
@@ -1,7 +1,7 @@
-From 717226ad0dc37ceb6c667c1f56396848978b6e83 Mon Sep 17 00:00:00 2001
+From b5966b6abb9696798618367cab33d1fed317734f Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Tue, 11 Oct 2016 13:12:08 +0300
-Subject: [PATCH 09/21] Change /usr/share/zoneinfo to /etc/zoneinfo
+Subject: [PATCH 09/19] Change /usr/share/zoneinfo to /etc/zoneinfo
 
 NixOS uses this path.
 ---
@@ -137,5 +137,5 @@ index 0a8fe25d0f..2f02b9a520 100644
                          return -ENOMEM;
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
index ce0ad7e4ddc3..6e36bbdc3406 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
@@ -1,7 +1,7 @@
-From 75d12cf65073458f091899d673c613dfc43f60c0 Mon Sep 17 00:00:00 2001
+From f4e9304560ad42eeb8d42be583cc55eb2e5b4bb1 Mon Sep 17 00:00:00 2001
 From: Imuli <i@imu.li>
 Date: Wed, 19 Oct 2016 08:46:47 -0400
-Subject: [PATCH 10/21] localectl: use /etc/X11/xkb for list-x11-*
+Subject: [PATCH 10/19] localectl: use /etc/X11/xkb for list-x11-*
 
 NixOS has an option to link the xkb data files to /etc/X11, but not to
 /usr/share/X11.
@@ -23,5 +23,5 @@ index 548ac8eb2c..5e372f1566 100644
                  return log_error_errno(errno, "Failed to open keyboard mapping list. %m");
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
index a03c5a14ad89..5aa22d988952 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
@@ -1,17 +1,17 @@
-From bce75eb4cdeb0b86df6b0a577e886c49a88303f6 Mon Sep 17 00:00:00 2001
+From 43a363f30b6012d600cfb62a3851c4ac7af4d1d5 Mon Sep 17 00:00:00 2001
 From: Franz Pletz <fpletz@fnordicwalking.de>
 Date: Sun, 11 Feb 2018 04:37:44 +0100
-Subject: [PATCH 11/21] build: don't create statedir and don't touch prefixdir
+Subject: [PATCH 11/19] build: don't create statedir and don't touch prefixdir
 
 ---
  meson.build | 3 ---
  1 file changed, 3 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index b5a51b6d0d..99b071542c 100644
+index 5bdfd9753d..5bf6afc7b7 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -3540,9 +3540,6 @@ install_data('LICENSE.GPL2',
+@@ -3539,9 +3539,6 @@ install_data('LICENSE.GPL2',
               'docs/GVARIANT-SERIALIZATION.md',
               install_dir : docdir)
  
@@ -22,5 +22,5 @@ index b5a51b6d0d..99b071542c 100644
  
  # Ensure that changes to the docs/ directory do not break the
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
index 0576f7a62f2c..a2bdfcf8ec3f 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
@@ -1,7 +1,7 @@
-From ecdf0c5d9f88f526521f093cc9ee85f43efab4b7 Mon Sep 17 00:00:00 2001
+From 7ea935a5ac4f31106ce9347227d4eb59b77b02cd Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Fri, 2 Nov 2018 21:15:42 +0100
-Subject: [PATCH 12/21] inherit systemd environment when calling generators.
+Subject: [PATCH 12/19] inherit systemd environment when calling generators.
 
 Systemd generators need access to the environment configured in
 stage-2-init.sh since it schedules fsck and mkfs executions based on
@@ -40,5 +40,5 @@ index b9b4789720..79239afe4a 100644
  
  finish:
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
index a424cf1061cc..20372a5dbad5 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
@@ -1,7 +1,7 @@
-From 39969a1b01d6c223a21c770093209b7f4047aaa4 Mon Sep 17 00:00:00 2001
+From eb93778af78a127e8e20d6ed7fd9f91fd22dc7c9 Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Thu, 9 May 2019 11:15:22 +0200
-Subject: [PATCH 13/21] add rootprefix to lookup dir paths
+Subject: [PATCH 13/19] add rootprefix to lookup dir paths
 
 systemd does not longer use the UDEVLIBEXEC directory as root for
 discovery default udev rules. By adding `$out/lib` to the lookup paths
@@ -34,5 +34,5 @@ index 2e60abb4f1..732ec51d36 100644
  #define CONF_PATHS(n)                           \
          CONF_PATHS_USR(n)                       \
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
index 5610d4d3ecc6..a22566eb4cc3 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
@@ -1,7 +1,7 @@
-From e7c960789b0ca97b24a66e9eeaa56ea645d9c66b Mon Sep 17 00:00:00 2001
+From 1d623def80a3532ac1445499c9d4673e21ae8195 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:45:55 +0300
-Subject: [PATCH 14/21] systemd-shutdown: execute scripts in
+Subject: [PATCH 14/19] systemd-shutdown: execute scripts in
  /etc/systemd/system-shutdown
 
 This is needed for NixOS to use such scripts as systemd directory is immutable.
@@ -23,5 +23,5 @@ index a98cfc4d8a..b0b34edda7 100644
          /* The log target defaults to console, but the original systemd process will pass its log target in through a
           * command line argument, which will override this default. Also, ensure we'll never log to the journal or
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
index 11848a623a32..1a21d1005ee0 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
@@ -1,7 +1,7 @@
-From 6124720aa2b9dbc07f2fb898f0db150a44a86041 Mon Sep 17 00:00:00 2001
+From 5a96c4a98be971d84a12ae04e42bc3cb889d5191 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:46:58 +0300
-Subject: [PATCH 15/21] systemd-sleep: execute scripts in
+Subject: [PATCH 15/19] systemd-sleep: execute scripts in
  /etc/systemd/system-sleep
 
 This is needed for NixOS to use such scripts as systemd directory is immutable.
@@ -22,5 +22,5 @@ index a3aeb24633..0ed6a34d79 100644
          };
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
index 156195d9a900..12624cb5548f 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
@@ -1,27 +1,32 @@
-From bee1d855d4fb7f2d6f6b9beb1dfd14b1dea31887 Mon Sep 17 00:00:00 2001
+From 775a2a8940c07f4af33a2a11bfa17e0257b427cb Mon Sep 17 00:00:00 2001
 From: Florian Klink <flokli@flokli.de>
 Date: Sat, 7 Mar 2020 22:40:27 +0100
-Subject: [PATCH 16/21] kmod-static-nodes.service: Update ConditionFileNotEmpty
+Subject: [PATCH 16/19] kmod-static-nodes.service: Update ConditionFileNotEmpty
 
-On NixOS, kernel modules of the currently booted systems are located at
-/run/booted-system/kernel-modules/lib/modules/%v/, not /lib/modules/%v/.
+kmod loads modules from not only /lib/modules but also from
+/run/booted-system/kernel-modules/lib/modules and
+/run/current-system/kernel-modules/lib/module
+
+Co-authored-by: Arian van Putten <arian.vanputten@gmail.com>
 ---
- units/kmod-static-nodes.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ units/kmod-static-nodes.service.in | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in
-index 777e82d16b..b6abc2bba0 100644
+index 777e82d16b..9a5e05a1cc 100644
 --- a/units/kmod-static-nodes.service.in
 +++ b/units/kmod-static-nodes.service.in
-@@ -12,7 +12,7 @@ Description=Create List of Static Device Nodes
+@@ -12,7 +12,9 @@ Description=Create List of Static Device Nodes
  DefaultDependencies=no
  Before=sysinit.target systemd-tmpfiles-setup-dev.service
  ConditionCapability=CAP_SYS_MODULE
 -ConditionFileNotEmpty=/lib/modules/%v/modules.devname
-+ConditionFileNotEmpty=/run/booted-system/kernel-modules/lib/modules/%v/modules.devname
++ConditionFileNotEmpty=|/lib/modules/%v/modules.devname
++ConditionFileNotEmpty=|/run/booted-system/kernel-modules/lib/modules/%v/modules.devname
++ConditionFileNotEmpty=|/run/current-system/kernel-modules/lib/modules/%v/modules.devname
  
  [Service]
  Type=oneshot
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
index 1f21b628e923..52b74284fe26 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
@@ -1,7 +1,7 @@
-From 62198599bbc559eeb8e2a3caebce7b9135085270 Mon Sep 17 00:00:00 2001
+From 6ddb2011b379f3232374327517af874b68c434b5 Mon Sep 17 00:00:00 2001
 From: Florian Klink <flokli@flokli.de>
 Date: Sun, 8 Mar 2020 01:05:54 +0100
-Subject: [PATCH 17/21] path-util.h: add placeholder for DEFAULT_PATH_NORMAL
+Subject: [PATCH 17/19] path-util.h: add placeholder for DEFAULT_PATH_NORMAL
 
 This will be the $PATH used to lookup ExecStart= etc. options, which
 systemd itself uses extensively.
@@ -29,5 +29,5 @@ index 26e7362d1f..a8f8a863ec 100644
  #if HAVE_SPLIT_USR
  #  define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
index 344b8b3952ff..58eb7f96e642 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
@@ -1,7 +1,7 @@
-From 7654964344ba083529cb232ab229db7c0888f782 Mon Sep 17 00:00:00 2001
+From 50f2ada6cbfafa75b628410e8834f29581854e6f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
 Date: Sun, 6 Dec 2020 08:34:19 +0100
-Subject: [PATCH 18/21] pkg-config: derive prefix from --prefix
+Subject: [PATCH 18/19] pkg-config: derive prefix from --prefix
 
 Point prefix to the one configured, instead of `/usr` `systemd` has limited
 support for making the pkgconfig prefix overridable, and interpolates those
@@ -29,5 +29,5 @@ index 162432e77f..2fc20daf03 100644
  rootprefix=${root_prefix}
  sysconf_dir={{SYSCONF_DIR}}
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
index 4f950650d320..54e5c32aeb44 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
@@ -1,7 +1,7 @@
-From 4e9b4aa87d299be08cffc77a86d6f473a7a4109a Mon Sep 17 00:00:00 2001
+From 2ab388cf0be320879e668a6206cb15d002b55f98 Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Wed, 18 Aug 2021 19:10:08 +0200
-Subject: [PATCH 19/21] core: handle lookup paths being symlinks
+Subject: [PATCH 19/19] core: handle lookup paths being symlinks
 
 With a recent change paths leaving the statically known lookup paths
 would be treated differently then those that remained within those. That
@@ -76,5 +76,5 @@ index 0d58b1c4fe..7314f1245f 100644
                                          log_debug("%s: linked unit file: %s → %s",
                                                    __func__, filename, simplified);
 -- 
-2.33.0
+2.33.1
 
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch
deleted file mode 100644
index 5c82cdbd6fab..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch
+++ /dev/null
@@ -1,401 +0,0 @@
-From 3cf1b5fb6d1dc342e836cf0990df3170d2e9db49 Mon Sep 17 00:00:00 2001
-From: Jan Janssen <medhefgo@web.de>
-Date: Wed, 11 Aug 2021 14:59:46 +0200
-Subject: [PATCH 20/21] sd-boot: Unify error handling
-
-log_error_stall() and log_error_status_stall() will ensure the user has
-a chance to catch an error message by stalling and also forcing a
-lightred/black color on it. Also, convert several Print() calls to it
-since they are actually error messages.
-
-(cherry picked from commit 8aba0eec499b762657f528988c2f093ac490620d)
----
- src/boot/efi/boot.c        | 62 ++++++++++----------------------
- src/boot/efi/random-seed.c | 73 +++++++++++++-------------------------
- src/boot/efi/stub.c        | 24 ++++---------
- src/boot/efi/util.c        | 17 +++++++--
- src/boot/efi/util.h        |  9 +++++
- 5 files changed, 75 insertions(+), 110 deletions(-)
-
-diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
-index 13940a6df7..54d704f0d1 100644
---- a/src/boot/efi/boot.c
-+++ b/src/boot/efi/boot.c
-@@ -527,7 +527,7 @@ static BOOLEAN menu_run(
-                 err = console_set_mode(&config->console_mode, config->console_mode_change);
-                 if (EFI_ERROR(err)) {
-                         uefi_call_wrapper(ST->ConOut->ClearScreen, 1, ST->ConOut);
--                        Print(L"Error switching console mode to %ld: %r.\r", (UINT64)config->console_mode, err);
-+                        log_error_stall(L"Error switching console mode to %lu: %r", (UINT64)config->console_mode, err);
-                 }
-         } else
-                 uefi_call_wrapper(ST->ConOut->ClearScreen, 1, ST->ConOut);
-@@ -1221,8 +1221,7 @@ static VOID config_entry_bump_counters(
-                         break;
- 
-                 if (r != EFI_BUFFER_TOO_SMALL || file_info_size * 2 < file_info_size) {
--                        Print(L"\nFailed to get file info for '%s': %r\n", old_path, r);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                        log_error_stall(L"Failed to get file info for '%s': %r", old_path, r);
-                         return;
-                 }
- 
-@@ -1234,8 +1233,7 @@ static VOID config_entry_bump_counters(
-         StrCpy(file_info->FileName, entry->next_name);
-         r = uefi_call_wrapper(handle->SetInfo, 4, handle, &EfiFileInfoGuid, file_info_size, file_info);
-         if (EFI_ERROR(r)) {
--                Print(L"\nFailed to rename '%s' to '%s', ignoring: %r\n", old_path, entry->next_name, r);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                log_error_stall(L"Failed to rename '%s' to '%s', ignoring: %r", old_path, entry->next_name, r);
-                 return;
-         }
- 
-@@ -2165,18 +2163,12 @@ static EFI_STATUS image_start(
-         EFI_STATUS err;
- 
-         path = FileDevicePath(entry->device, entry->loader);
--        if (!path) {
--                Print(L"Error getting device path.");
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return EFI_INVALID_PARAMETER;
--        }
-+        if (!path)
-+                return log_error_status_stall(EFI_INVALID_PARAMETER, L"Error getting device path.");
- 
-         err = uefi_call_wrapper(BS->LoadImage, 6, FALSE, parent_image, path, NULL, 0, &image);
--        if (EFI_ERROR(err)) {
--                Print(L"Error loading %s: %r", entry->loader, err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error loading %s: %r", entry->loader, err);
- 
-         if (config->options_edit)
-                 options = config->options_edit;
-@@ -2190,8 +2182,7 @@ static EFI_STATUS image_start(
-                 err = uefi_call_wrapper(BS->OpenProtocol, 6, image, &LoadedImageProtocol, (VOID **)&loaded_image,
-                                         parent_image, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
-                 if (EFI_ERROR(err)) {
--                        Print(L"Error getting LoadedImageProtocol handle: %r", err);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                        log_error_stall(L"Error getting LoadedImageProtocol handle: %r", err);
-                         goto out_unload;
-                 }
-                 loaded_image->LoadOptions = options;
-@@ -2202,10 +2193,8 @@ static EFI_STATUS image_start(
-                 err = tpm_log_event(SD_TPM_PCR,
-                                     (EFI_PHYSICAL_ADDRESS) (UINTN) loaded_image->LoadOptions,
-                                     loaded_image->LoadOptionsSize, loaded_image->LoadOptions);
--                if (EFI_ERROR(err)) {
--                        Print(L"Unable to add image options measurement: %r", err);
--                        uefi_call_wrapper(BS->Stall, 1, 200 * 1000);
--                }
-+                if (EFI_ERROR(err))
-+                        log_error_stall(L"Unable to add image options measurement: %r", err);
- #endif
-         }
- 
-@@ -2231,9 +2220,7 @@ static EFI_STATUS reboot_into_firmware(VOID) {
-                 return err;
- 
-         err = uefi_call_wrapper(RT->ResetSystem, 4, EfiResetCold, EFI_SUCCESS, 0, NULL);
--        Print(L"Error calling ResetSystem: %r", err);
--        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--        return err;
-+        return log_error_status_stall(err, L"Error calling ResetSystem: %r", err);
- }
- 
- static VOID config_free(Config *config) {
-@@ -2305,30 +2292,21 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- 
-         err = uefi_call_wrapper(BS->OpenProtocol, 6, image, &LoadedImageProtocol, (VOID **)&loaded_image,
-                                 image, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--        if (EFI_ERROR(err)) {
--                Print(L"Error getting a LoadedImageProtocol handle: %r", err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error getting a LoadedImageProtocol handle: %r", err);
- 
-         /* export the device path this image is started from */
-         if (disk_get_part_uuid(loaded_image->DeviceHandle, uuid) == EFI_SUCCESS)
-                 efivar_set(LOADER_GUID, L"LoaderDevicePartUUID", uuid, 0);
- 
-         root_dir = LibOpenRoot(loaded_image->DeviceHandle);
--        if (!root_dir) {
--                Print(L"Unable to open root directory.");
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return EFI_LOAD_ERROR;
--        }
-+        if (!root_dir)
-+                return log_error_status_stall(EFI_LOAD_ERROR, L"Unable to open root directory.", EFI_LOAD_ERROR);
- 
-         if (secure_boot_enabled() && shim_loaded()) {
-                 err = security_policy_install();
--                if (EFI_ERROR(err)) {
--                        Print(L"Error installing security policy: %r ", err);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                        return err;
--                }
-+                if (EFI_ERROR(err))
-+                        return log_error_status_stall(err, L"Error installing security policy: %r", err);
-         }
- 
-         /* the filesystem path to this image, to prevent adding ourselves to the menu */
-@@ -2367,8 +2345,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-         }
- 
-         if (config.entry_count == 0) {
--                Print(L"No loader found. Configuration files in \\loader\\entries\\*.conf are needed.");
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                log_error_stall(L"No loader found. Configuration files in \\loader\\entries\\*.conf are needed.");
-                 goto out;
-         }
- 
-@@ -2440,8 +2417,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-                 err = image_start(image, &config, entry);
-                 if (EFI_ERROR(err)) {
-                         graphics_mode(FALSE);
--                        Print(L"\nFailed to execute %s (%s): %r\n", entry->title, entry->loader, err);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                        log_error_stall(L"Failed to execute %s (%s): %r", entry->title, entry->loader, err);
-                         goto out;
-                 }
- 
-diff --git a/src/boot/efi/random-seed.c b/src/boot/efi/random-seed.c
-index 3e179851b0..939daf3e41 100644
---- a/src/boot/efi/random-seed.c
-+++ b/src/boot/efi/random-seed.c
-@@ -35,10 +35,8 @@ static EFI_STATUS acquire_rng(UINTN size, VOID **ret) {
-                 return log_oom();
- 
-         err = uefi_call_wrapper(rng->GetRNG, 3, rng, NULL, size, data);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to acquire RNG data: %r\n", err);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to acquire RNG data: %r", err);
- 
-         *ret = TAKE_PTR(data);
-         return EFI_SUCCESS;
-@@ -149,14 +147,12 @@ static EFI_STATUS acquire_system_token(VOID **ret, UINTN *ret_size) {
-         err = efivar_get_raw(LOADER_GUID, L"LoaderSystemToken", &data, &size);
-         if (EFI_ERROR(err)) {
-                 if (err != EFI_NOT_FOUND)
--                        Print(L"Failed to read LoaderSystemToken EFI variable: %r", err);
-+                        log_error_stall(L"Failed to read LoaderSystemToken EFI variable: %r", err);
-                 return err;
-         }
- 
--        if (size <= 0) {
--                Print(L"System token too short, ignoring.");
--                return EFI_NOT_FOUND;
--        }
-+        if (size <= 0)
-+                return log_error_status_stall(EFI_NOT_FOUND, L"System token too short, ignoring.");
- 
-         *ret = TAKE_PTR(data);
-         *ret_size = size;
-@@ -209,8 +205,7 @@ static VOID validate_sha256(void) {
-                 sha256_finish_ctx(&hash, result);
- 
-                 if (CompareMem(result, array[i].hash, HASH_VALUE_SIZE) != 0) {
--                        Print(L"SHA256 failed validation.\n");
--                        uefi_call_wrapper(BS->Stall, 1, 120 * 1000 * 1000);
-+                        log_error_stall(L"SHA256 failed validation.");
-                         return;
-                 }
-         }
-@@ -246,7 +241,7 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
-         err = uefi_call_wrapper(root_dir->Open, 5, root_dir, &handle, (CHAR16*) L"\\loader\\random-seed", EFI_FILE_MODE_READ|EFI_FILE_MODE_WRITE, 0ULL);
-         if (EFI_ERROR(err)) {
-                 if (err != EFI_NOT_FOUND && err != EFI_WRITE_PROTECTED)
--                        Print(L"Failed to open random seed file: %r\n", err);
-+                        log_error_stall(L"Failed to open random seed file: %r", err);
-                 return err;
-         }
- 
-@@ -255,15 +250,11 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
-                 return log_oom();
- 
-         size = info->FileSize;
--        if (size < RANDOM_MAX_SIZE_MIN) {
--                Print(L"Random seed file is too short?\n");
--                return EFI_INVALID_PARAMETER;
--        }
-+        if (size < RANDOM_MAX_SIZE_MIN)
-+                return log_error_status_stall(EFI_INVALID_PARAMETER, L"Random seed file is too short.");
- 
--        if (size > RANDOM_MAX_SIZE_MAX) {
--                Print(L"Random seed file is too large?\n");
--                return EFI_INVALID_PARAMETER;
--        }
-+        if (size > RANDOM_MAX_SIZE_MAX)
-+                return log_error_status_stall(EFI_INVALID_PARAMETER, L"Random seed file is too large.");
- 
-         seed = AllocatePool(size);
-         if (!seed)
-@@ -271,20 +262,14 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
- 
-         rsize = size;
-         err = uefi_call_wrapper(handle->Read, 3, handle, &rsize, seed);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to read random seed file: %r\n", err);
--                return err;
--        }
--        if (rsize != size) {
--                Print(L"Short read on random seed file\n");
--                return EFI_PROTOCOL_ERROR;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to read random seed file: %r", err);
-+        if (rsize != size)
-+                return log_error_status_stall(EFI_PROTOCOL_ERROR, L"Short read on random seed file.");
- 
-         err = uefi_call_wrapper(handle->SetPosition, 2, handle, 0);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to seek to beginning of random seed file: %r\n", err);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to seek to beginning of random seed file: %r", err);
- 
-         /* Request some random data from the UEFI RNG. We don't need this to work safely, but it's a good
-          * idea to use it because it helps us for cases where users mistakenly include a random seed in
-@@ -299,27 +284,19 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
-         /* Update the random seed on disk before we use it */
-         wsize = size;
-         err = uefi_call_wrapper(handle->Write, 3, handle, &wsize, new_seed);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to write random seed file: %r\n", err);
--                return err;
--        }
--        if (wsize != size) {
--                Print(L"Short write on random seed file\n");
--                return EFI_PROTOCOL_ERROR;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to write random seed file: %r", err);
-+        if (wsize != size)
-+                return log_error_status_stall(EFI_PROTOCOL_ERROR, L"Short write on random seed file.");
- 
-         err = uefi_call_wrapper(handle->Flush, 1, handle);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to flush random seed file: %r\n");
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to flush random seed file: %r", err);
- 
-         /* We are good to go */
-         err = efivar_set_raw(LOADER_GUID, L"LoaderRandomSeed", for_kernel, size, 0);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to write random seed to EFI variable: %r\n", err);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to write random seed to EFI variable: %r", err);
- 
-         return EFI_SUCCESS;
- }
-diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
-index 082fe91c9e..82da1d3ec4 100644
---- a/src/boot/efi/stub.c
-+++ b/src/boot/efi/stub.c
-@@ -36,18 +36,12 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- 
-         err = uefi_call_wrapper(BS->OpenProtocol, 6, image, &LoadedImageProtocol, (VOID **)&loaded_image,
-                                 image, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--        if (EFI_ERROR(err)) {
--                Print(L"Error getting a LoadedImageProtocol handle: %r ", err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error getting a LoadedImageProtocol handle: %r", err);
- 
-         err = pe_memory_locate_sections(loaded_image->ImageBase, sections, addrs, offs, szs);
--        if (EFI_ERROR(err)) {
--                Print(L"Unable to locate embedded .linux section: %r ", err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Unable to locate embedded .linux section: %r", err);
- 
-         if (szs[0] > 0)
-                 cmdline = (CHAR8 *)(loaded_image->ImageBase) + addrs[0];
-@@ -72,10 +66,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-                 err = tpm_log_event(SD_TPM_PCR,
-                                     (EFI_PHYSICAL_ADDRESS) (UINTN) loaded_image->LoadOptions,
-                                     loaded_image->LoadOptionsSize, loaded_image->LoadOptions);
--                if (EFI_ERROR(err)) {
--                        Print(L"Unable to add image options measurement: %r", err);
--                        uefi_call_wrapper(BS->Stall, 1, 200 * 1000);
--                }
-+                if (EFI_ERROR(err))
-+                        log_error_stall(L"Unable to add image options measurement: %r", err);
- #endif
-         }
- 
-@@ -126,7 +118,5 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-                          (UINTN)loaded_image->ImageBase + addrs[2], szs[2]);
- 
-         graphics_mode(FALSE);
--        Print(L"Execution of embedded linux image failed: %r\n", err);
--        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--        return err;
-+        return log_error_status_stall(err, L"Execution of embedded linux image failed: %r", err);
- }
-diff --git a/src/boot/efi/util.c b/src/boot/efi/util.c
-index 6f4e5933d3..aee076060b 100644
---- a/src/boot/efi/util.c
-+++ b/src/boot/efi/util.c
-@@ -411,8 +411,21 @@ EFI_STATUS file_read(EFI_FILE_HANDLE dir, const CHAR16 *name, UINTN off, UINTN s
-         return err;
- }
- 
-+VOID log_error_stall(const CHAR16 *fmt, ...) {
-+        va_list args;
-+
-+        uefi_call_wrapper(ST->ConOut->SetAttribute, 2, ST->ConOut, EFI_LIGHTRED|EFI_BACKGROUND_BLACK);
-+
-+        Print(L"\n");
-+        va_start(args, fmt);
-+        VPrint(fmt, args);
-+        va_end(args);
-+        Print(L"\n");
-+
-+        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+}
-+
- EFI_STATUS log_oom(void) {
--        Print(L"Out of memory.");
--        (void) uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+        log_error_stall(L"Out of memory.");
-         return EFI_OUT_OF_RESOURCES;
- }
-diff --git a/src/boot/efi/util.h b/src/boot/efi/util.h
-index 1a42b01033..d3bf848a95 100644
---- a/src/boot/efi/util.h
-+++ b/src/boot/efi/util.h
-@@ -74,4 +74,13 @@ static inline void FileHandleClosep(EFI_FILE_HANDLE *handle) {
- #define UINT64_MAX ((UINT64) -1)
- #endif
- 
-+VOID log_error_stall(const CHAR16 *fmt, ...);
- EFI_STATUS log_oom(void);
-+
-+/* This works just like log_error_errno() from userspace, but requires you
-+ * to provide err a second time if you want to use %r in the message! */
-+#define log_error_status_stall(err, fmt, ...) \
-+        ({ \
-+                log_error_stall(fmt, ##__VA_ARGS__); \
-+                err; \
-+        })
--- 
-2.33.0
-
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch b/nixpkgs/pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch
deleted file mode 100644
index 7cdc2491fa33..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-From 2d9fcfcfa38667ada306e095599944f941576e53 Mon Sep 17 00:00:00 2001
-From: Jan Janssen <medhefgo@web.de>
-Date: Wed, 11 Aug 2021 14:59:46 +0200
-Subject: [PATCH 21/21] sd-boot: Rework console input handling
-
-Fixes: #15847
-Probably fixes: #19191
-
-(cherry picked from commit e98d271e57f3d0356e444b6ea2d48836ee2769b0)
----
- src/boot/efi/boot.c    |  55 +++++++---------------
- src/boot/efi/console.c | 102 +++++++++++++++++++++++++++++------------
- src/boot/efi/console.h |   2 +-
- 3 files changed, 91 insertions(+), 68 deletions(-)
-
-diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
-index 54d704f0d1..b4f3b9605a 100644
---- a/src/boot/efi/boot.c
-+++ b/src/boot/efi/boot.c
-@@ -134,7 +134,7 @@ static BOOLEAN line_edit(
-                 uefi_call_wrapper(ST->ConOut->OutputString, 2, ST->ConOut, print);
-                 uefi_call_wrapper(ST->ConOut->SetCursorPosition, 3, ST->ConOut, cursor, y_pos);
- 
--                err = console_key_read(&key, TRUE);
-+                err = console_key_read(&key, 0);
-                 if (EFI_ERROR(err))
-                         continue;
- 
-@@ -387,7 +387,7 @@ static VOID print_status(Config *config, CHAR16 *loaded_image_path) {
-                 Print(L"OsIndicationsSupported: %d\n", indvar);
- 
-         Print(L"\n--- press key ---\n\n");
--        console_key_read(&key, TRUE);
-+        console_key_read(&key, 0);
- 
-         Print(L"timeout:                %u\n", config->timeout_sec);
-         if (config->timeout_sec_efivar >= 0)
-@@ -432,7 +432,7 @@ static VOID print_status(Config *config, CHAR16 *loaded_image_path) {
-                 Print(L"LoaderEntryDefault:     %s\n", defaultstr);
- 
-         Print(L"\n--- press key ---\n\n");
--        console_key_read(&key, TRUE);
-+        console_key_read(&key, 0);
- 
-         for (UINTN i = 0; i < config->entry_count; i++) {
-                 ConfigEntry *entry;
-@@ -482,7 +482,7 @@ static VOID print_status(Config *config, CHAR16 *loaded_image_path) {
-                               entry->path, entry->next_name);
- 
-                 Print(L"\n--- press key ---\n\n");
--                console_key_read(&key, TRUE);
-+                console_key_read(&key, 0);
-         }
- 
-         uefi_call_wrapper(ST->ConOut->ClearScreen, 1, ST->ConOut);
-@@ -509,11 +509,10 @@ static BOOLEAN menu_run(
-         UINTN y_max;
-         CHAR16 *status;
-         CHAR16 *clearline;
--        INTN timeout_remain;
-+        UINTN timeout_remain = config->timeout_sec;
-         INT16 idx;
-         BOOLEAN exit = FALSE;
-         BOOLEAN run = TRUE;
--        BOOLEAN wait = FALSE;
- 
-         graphics_mode(FALSE);
-         uefi_call_wrapper(ST->ConIn->Reset, 2, ST->ConIn, FALSE);
-@@ -538,12 +537,6 @@ static BOOLEAN menu_run(
-                 y_max = 25;
-         }
- 
--        /* we check 10 times per second for a keystroke */
--        if (config->timeout_sec > 0)
--                timeout_remain = config->timeout_sec * 10;
--        else
--                timeout_remain = -1;
--
-         idx_highlight = config->idx_default;
-         idx_highlight_prev = 0;
- 
-@@ -643,7 +636,7 @@ static BOOLEAN menu_run(
- 
-                 if (timeout_remain > 0) {
-                         FreePool(status);
--                        status = PoolPrint(L"Boot in %d sec.", (timeout_remain + 5) / 10);
-+                        status = PoolPrint(L"Boot in %d s.", timeout_remain);
-                 }
- 
-                 /* print status at last line of screen */
-@@ -664,27 +657,18 @@ static BOOLEAN menu_run(
-                         uefi_call_wrapper(ST->ConOut->OutputString, 2, ST->ConOut, clearline+1 + x + len);
-                 }
- 
--                err = console_key_read(&key, wait);
--                if (EFI_ERROR(err)) {
--                        /* timeout reached */
-+                err = console_key_read(&key, timeout_remain > 0 ? 1000 * 1000 : 0);
-+                if (err == EFI_TIMEOUT) {
-+                        timeout_remain--;
-                         if (timeout_remain == 0) {
-                                 exit = TRUE;
-                                 break;
-                         }
- 
--                        /* sleep and update status */
--                        if (timeout_remain > 0) {
--                                uefi_call_wrapper(BS->Stall, 1, 100 * 1000);
--                                timeout_remain--;
--                                continue;
--                        }
--
--                        /* timeout disabled, wait for next key */
--                        wait = TRUE;
-+                        /* update status */
-                         continue;
--                }
--
--                timeout_remain = -1;
-+                } else
-+                        timeout_remain = 0;
- 
-                 /* clear status after keystroke */
-                 if (status) {
-@@ -787,7 +771,7 @@ static BOOLEAN menu_run(
-                                         config->timeout_sec_efivar,
-                                         EFI_VARIABLE_NON_VOLATILE);
-                                 if (config->timeout_sec_efivar > 0)
--                                        status = PoolPrint(L"Menu timeout set to %d sec.", config->timeout_sec_efivar);
-+                                        status = PoolPrint(L"Menu timeout set to %d s.", config->timeout_sec_efivar);
-                                 else
-                                         status = StrDuplicate(L"Menu disabled. Hold down key at bootup to show menu.");
-                         } else if (config->timeout_sec_efivar <= 0){
-@@ -795,7 +779,7 @@ static BOOLEAN menu_run(
-                                 efivar_set(
-                                         LOADER_GUID, L"LoaderConfigTimeout", NULL, EFI_VARIABLE_NON_VOLATILE);
-                                 if (config->timeout_sec_config > 0)
--                                        status = PoolPrint(L"Menu timeout of %d sec is defined by configuration file.",
-+                                        status = PoolPrint(L"Menu timeout of %d s is defined by configuration file.",
-                                                            config->timeout_sec_config);
-                                 else
-                                         status = StrDuplicate(L"Menu disabled. Hold down key at bootup to show menu.");
-@@ -813,7 +797,7 @@ static BOOLEAN menu_run(
-                                 config->timeout_sec_efivar,
-                                 EFI_VARIABLE_NON_VOLATILE);
-                         if (config->timeout_sec_efivar > 0)
--                                status = PoolPrint(L"Menu timeout set to %d sec.",
-+                                status = PoolPrint(L"Menu timeout set to %d s.",
-                                                    config->timeout_sec_efivar);
-                         else
-                                 status = StrDuplicate(L"Menu disabled. Hold down key at bootup to show menu.");
-@@ -2369,13 +2353,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-         else {
-                 UINT64 key;
- 
--                err = console_key_read(&key, FALSE);
--
--                if (err == EFI_NOT_READY) {
--                        uefi_call_wrapper(BS->Stall, 1, 100 * 1000);
--                        err = console_key_read(&key, FALSE);
--                }
--
-+                /* Block up to 100ms to give firmware time to get input working. */
-+                err = console_key_read(&key, 100 * 1000);
-                 if (!EFI_ERROR(err)) {
-                         INT16 idx;
- 
-diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
-index 83619d2147..369c549daf 100644
---- a/src/boot/efi/console.c
-+++ b/src/boot/efi/console.c
-@@ -11,61 +11,105 @@
- 
- #define EFI_SIMPLE_TEXT_INPUT_EX_GUID &(EFI_GUID) EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
- 
--EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
-+static inline void EventClosep(EFI_EVENT *event) {
-+        if (!*event)
-+                return;
-+
-+        uefi_call_wrapper(BS->CloseEvent, 1, *event);
-+}
-+
-+/*
-+ * Reading input from the console sounds like an easy task to do, but thanks to broken
-+ * firmware it is actually a nightmare.
-+ *
-+ * There is a ConIn and TextInputEx API for this. Ideally we want to use TextInputEx,
-+ * because that gives us Ctrl/Alt/Shift key state information. Unfortunately, it is not
-+ * always available and sometimes just non-functional.
-+ *
-+ * On the other hand we have ConIn, where some firmware likes to just freeze on us
-+ * if we call ReadKeyStroke on it.
-+ *
-+ * Therefore, we use WaitForEvent on both ConIn and TextInputEx (if available) along
-+ * with a timer event. The timer ensures there is no need to call into functions
-+ * that might freeze on us, while still allowing us to show a timeout counter.
-+ */
-+EFI_STATUS console_key_read(UINT64 *key, UINT64 timeout_usec) {
-         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
-         static BOOLEAN checked;
-         UINTN index;
-         EFI_INPUT_KEY k;
-         EFI_STATUS err;
-+        _cleanup_(EventClosep) EFI_EVENT timer = NULL;
-+        EFI_EVENT events[3] = { ST->ConIn->WaitForKey };
-+        UINTN n_events = 1;
- 
-         if (!checked) {
-                 err = LibLocateProtocol(EFI_SIMPLE_TEXT_INPUT_EX_GUID, (VOID **)&TextInputEx);
--                if (EFI_ERROR(err))
-+                if (EFI_ERROR(err) ||
-+                    uefi_call_wrapper(BS->CheckEvent, 1, TextInputEx->WaitForKeyEx) == EFI_INVALID_PARAMETER)
-+                        /* If WaitForKeyEx fails here, the firmware pretends it talks this
-+                         * protocol, but it really doesn't. */
-                         TextInputEx = NULL;
-+                else
-+                        events[n_events++] = TextInputEx->WaitForKeyEx;
- 
-                 checked = TRUE;
-         }
- 
--        /* wait until key is pressed */
--        if (wait)
--                uefi_call_wrapper(BS->WaitForEvent, 3, 1, &ST->ConIn->WaitForKey, &index);
-+        if (timeout_usec > 0) {
-+                err = uefi_call_wrapper(BS->CreateEvent, 5, EVT_TIMER, 0, NULL, NULL, &timer);
-+                if (EFI_ERROR(err))
-+                        return log_error_status_stall(err, L"Error creating timer event: %r", err);
-+
-+                /* SetTimer expects 100ns units for some reason. */
-+                err = uefi_call_wrapper(BS->SetTimer, 3, timer, TimerRelative, timeout_usec * 10);
-+                if (EFI_ERROR(err))
-+                        return log_error_status_stall(err, L"Error arming timer event: %r", err);
- 
--        if (TextInputEx) {
-+                events[n_events++] = timer;
-+        }
-+
-+        err = uefi_call_wrapper(BS->WaitForEvent, 3, n_events, events, &index);
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error waiting for events: %r", err);
-+
-+        if (timeout_usec > 0 && timer == events[index])
-+                return EFI_TIMEOUT;
-+
-+        /* TextInputEx might be ready too even if ConIn got to signal first. */
-+        if (TextInputEx && !EFI_ERROR(uefi_call_wrapper(BS->CheckEvent, 1, TextInputEx->WaitForKeyEx))) {
-                 EFI_KEY_DATA keydata;
-                 UINT64 keypress;
-+                UINT32 shift = 0;
- 
-                 err = uefi_call_wrapper(TextInputEx->ReadKeyStrokeEx, 2, TextInputEx, &keydata);
--                if (!EFI_ERROR(err)) {
--                        UINT32 shift = 0;
--
--                        /* do not distinguish between left and right keys */
--                        if (keydata.KeyState.KeyShiftState & EFI_SHIFT_STATE_VALID) {
--                                if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED))
--                                        shift |= EFI_CONTROL_PRESSED;
--                                if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED))
--                                        shift |= EFI_ALT_PRESSED;
--                        };
--
--                        /* 32 bit modifier keys + 16 bit scan code + 16 bit unicode */
--                        keypress = KEYPRESS(shift, keydata.Key.ScanCode, keydata.Key.UnicodeChar);
--                        if (keypress > 0) {
--                                *key = keypress;
--                                return 0;
--                        }
-+                if (EFI_ERROR(err))
-+                        return err;
-+
-+                /* do not distinguish between left and right keys */
-+                if (keydata.KeyState.KeyShiftState & EFI_SHIFT_STATE_VALID) {
-+                        if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED))
-+                                shift |= EFI_CONTROL_PRESSED;
-+                        if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED))
-+                                shift |= EFI_ALT_PRESSED;
-+                };
-+
-+                /* 32 bit modifier keys + 16 bit scan code + 16 bit unicode */
-+                keypress = KEYPRESS(shift, keydata.Key.ScanCode, keydata.Key.UnicodeChar);
-+                if (keypress > 0) {
-+                        *key = keypress;
-+                        return EFI_SUCCESS;
-                 }
-+
-+                return EFI_NOT_READY;
-         }
- 
--        /* fallback for firmware which does not support SimpleTextInputExProtocol
--         *
--         * This is also called in case ReadKeyStrokeEx did not return a key, because
--         * some broken firmwares offer SimpleTextInputExProtocol, but never actually
--         * handle any key. */
-         err  = uefi_call_wrapper(ST->ConIn->ReadKeyStroke, 2, ST->ConIn, &k);
-         if (EFI_ERROR(err))
-                 return err;
- 
-         *key = KEYPRESS(0, k.ScanCode, k.UnicodeChar);
--        return 0;
-+        return EFI_SUCCESS;
- }
- 
- static EFI_STATUS change_mode(UINTN mode) {
-diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
-index 2c69af552a..23848a9c58 100644
---- a/src/boot/efi/console.h
-+++ b/src/boot/efi/console.h
-@@ -16,5 +16,5 @@ enum console_mode_change_type {
-         CONSOLE_MODE_MAX,
- };
- 
--EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait);
-+EFI_STATUS console_key_read(UINT64 *key, UINT64 timeout_usec);
- EFI_STATUS console_set_mode(UINTN *mode, enum console_mode_change_type how);
--- 
-2.33.0
-
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
index 70036127fc89..3a3a419093b7 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
@@ -123,7 +123,7 @@ assert withHomed -> withCryptsetup;
 assert withCryptsetup -> (cryptsetup != null);
 let
   wantCurl = withRemote || withImportd;
-  version = "249.5";
+  version = "249.7";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -134,7 +134,7 @@ stdenv.mkDerivation {
     owner = "systemd";
     repo = "systemd-stable";
     rev = "v${version}";
-    sha256 = "0bir2syy20rdi59sv8xp8nw1c92zl9z0wmv7ggsll8dca7niqwbp";
+    sha256 = "sha256-y33/BvvI+JyhsvuT1Cbm6J2Z72j71oXgLw6X9NwCMPE=";
   };
 
   # If these need to be regenerated, `git am path/to/00*.patch` them into a
@@ -166,15 +166,8 @@ stdenv.mkDerivation {
     # systemd. With the below patch we mitigate that effect by special casing
     # all our root unit dirs if they are symlinks. This does exactly what we
     # need (AFAICT).
+    # See https://github.com/systemd/systemd/pull/20479 for upsteam discussion.
     ./0019-core-handle-lookup-paths-being-symlinks.patch
-
-    # In v248 compiler weirdness and refactoring lead to the bootloader
-    # erroring out handling keyboard input on some systems. See
-    # https://github.com/systemd/systemd/issues/19191
-    # This should be redundant in v249.6 when it offically gets tagged in
-    # systemd-stable
-    ./0020-sd-boot-Unify-error-handling.patch
-    ./0021-sd-boot-Rework-console-input-handling.patch
   ] ++ lib.optional stdenv.hostPlatform.isMusl (let
     oe-core = fetchzip {
       url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-14c6e5a4b72d0e4665279158a0740dd1dc21f72f.tar.bz2";
@@ -422,7 +415,7 @@ stdenv.mkDerivation {
     "-Dnetworkd=${lib.boolToString withNetworkd}"
     "-Doomd=${lib.boolToString withOomd}"
     "-Dpolkit=${lib.boolToString withPolkit}"
-    "-Dcryptsetup=${lib.boolToString withCryptsetup}"
+    "-Dlibcryptsetup=${lib.boolToString withCryptsetup}"
     "-Dportabled=${lib.boolToString withPortabled}"
     "-Dhwdb=${lib.boolToString withHwdb}"
     "-Dremote=${lib.boolToString withRemote}"
@@ -460,7 +453,6 @@ stdenv.mkDerivation {
     "-Dsysvinit-path="
     "-Dsysvrcnd-path="
 
-    "-Dkill-path=${coreutils}/bin/kill"
     "-Dkmod-path=${kmod}/bin/kmod"
     "-Dsulogin-path=${util-linux}/bin/sulogin"
     "-Dmount-path=${util-linux}/bin/mount"
@@ -478,7 +470,6 @@ stdenv.mkDerivation {
   ] ++ lib.optionals withEfi [
     "-Defi-libdir=${toString gnu-efi}/lib"
     "-Defi-includedir=${toString gnu-efi}/include/efi"
-    "-Defi-ldsdir=${toString gnu-efi}/lib"
   ] ++ lib.optionals (withShellCompletions == false) [
     "-Dbashcompletiondir=no"
     "-Dzshcompletiondir=no"
@@ -584,12 +575,6 @@ stdenv.mkDerivation {
   '';
 
   postInstall = ''
-    # sysinit.target: Don't depend on
-    # systemd-tmpfiles-setup.service. This interferes with NixOps's
-    # send-keys feature (since sshd.service depends indirectly on
-    # sysinit.target).
-    mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/
-
     mkdir -p $out/example/systemd
     mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
     mv $out/lib/systemd/{system,user} $out/example/systemd
@@ -609,16 +594,20 @@ stdenv.mkDerivation {
     rm -rf $out/share/doc
   '';
 
-  # The interface version prevents NixOS from switching to an
-  # incompatible systemd at runtime.  (Switching across reboots is
-  # fine, of course.)  It should be increased whenever systemd changes
-  # in a backwards-incompatible way.  If the interface version of two
-  # systemd builds is the same, then we can switch between them at
-  # runtime; otherwise we can't and we need to reboot.
-  passthru.interfaceVersion = 2;
+  passthru = {
+    # The interface version prevents NixOS from switching to an
+    # incompatible systemd at runtime.  (Switching across reboots is
+    # fine, of course.)  It should be increased whenever systemd changes
+    # in a backwards-incompatible way.  If the interface version of two
+    # systemd builds is the same, then we can switch between them at
+    # runtime; otherwise we can't and we need to reboot.
+    interfaceVersion = 2;
 
-  passthru.tests = {
-    inherit (nixosTests) switchTest;
+    inherit withCryptsetup;
+
+    tests = {
+      inherit (nixosTests) switchTest;
+    };
   };
 
   meta = with lib; {
@@ -627,6 +616,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     priority = 10;
-    maintainers = with maintainers; [ andir eelco flokli kloenk ];
+    maintainers = with maintainers; [ flokli kloenk mic92 ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix b/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
index 5f4f6069bcc6..091584a93cf4 100644
--- a/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sysvinit/default.nix
@@ -1,9 +1,8 @@
 { lib, stdenv, fetchurl, withoutInitTools ? false }:
 
-let version = "3.01"; in
-
-stdenv.mkDerivation {
-  name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version;
+stdenv.mkDerivation rec {
+  pname = if withoutInitTools then "sysvtools" else "sysvinit";
+  version = "3.01";
 
   src = fetchurl {
     url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.xz";
diff --git a/nixpkgs/pkgs/os-specific/linux/tmon/default.nix b/nixpkgs/pkgs/os-specific/linux/tmon/default.nix
index 5a14d3d2ee34..3a2697e0a712 100644
--- a/nixpkgs/pkgs/os-specific/linux/tmon/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tmon/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, kernel, ncurses }:
 
 stdenv.mkDerivation {
-  name = "tmon-${kernel.version}";
+  pname = "tmon";
+  version = kernel.version;
 
   inherit (kernel) src;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix b/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix
index 129ec31223c7..ad012b0e06a3 100644
--- a/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix
+++ b/nixpkgs/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.6";
 
   src = fetchgit {
     url    = "git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/";
     rev    = "trace-cmd-v${version}";
-    sha256 = "0kc5cldk5i7q2zr2nyz3mvs5v7w0km6lpx7g39sy3pmhshp0wqlq";
+    sha256 = "sha256-rI6zD54NoArQbSJOINu9hifj/DJehCcqBpGI0TeoDLA=";
   };
 
   # 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/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
index 4d0412edbeee..e59e37c0b3cf 100644
--- a/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
+++ b/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
@@ -5,12 +5,12 @@
 
 mkDerivation rec {
   pname = "kernelshark";
-  version = "2.0.2";
+  version = "2.1.0";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git/";
     rev = "kernelshark-v${version}";
-    sha256 = "0vy5wa1kccrxr973l870jy5hl6lac7sk3zyg3hxrwmivin1yf0cv";
+    sha256 = "18yx8bp2996hiy026ncw2z5yfihvkjfl6m09y19yvs72crgvpyn8";
   };
 
   outputs = [ "out" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix b/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
index 5911305c0d8b..581b89fb1c64 100644
--- a/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
@@ -5,22 +5,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tuigreet";
-  version = "0.6.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "apognu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Exw3HPNFh1yiUfDfaIDiz2PemnVLRmefD4ydgMiHQAc=";
+    sha256 = "sha256-Mu4GGlX7ZjBaBECXRD6iJCqDMSzcj17BriJ6Nas0J70=";
   };
 
-  cargoSha256 = "sha256-/JNGyAEZlb4YilsoXtaXekXNVev6sdVxS4pEcPFh7Bg=";
+  cargoSha256 = "sha256-H5xqk7Yd3M8sFGHlmhAS0fhh3eM4dkvkNQGVxRSXUJs=";
 
   meta = with lib; {
     description = "Graphical console greter for greetd";
     homepage = "https://github.com/apognu/tuigreet";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ luc65r ];
+    maintainers = with maintainers; [ luc65r ivar ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix b/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
index 563e1333b87f..f122aaf641db 100644
--- a/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tuxedo-keyboard-${kernel.version}";
-  version = "3.0.8";
+  version = "3.0.9";
 
   src = fetchFromGitHub {
     owner = "tuxedocomputers";
     repo = "tuxedo-keyboard";
     rev = "v${version}";
-    sha256 = "1rv3ns4n61v18cpnp36zi47jpnqhj410yzi8b307ghiyriapbijv";
+    sha256 = "HGN2CKJ76FzgKkOsU5pLMsRl7hEGMcZ8Loa2YP0P558=";
   };
 
   buildInputs = [ linuxHeaders ];
@@ -24,7 +24,13 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Full color keyboard driver for tuxedo computers laptops";
+    description = "Keyboard and hardware I/O driver for TUXEDO Computers laptops";
+    longDescription = ''
+      This driver provides support for Fn keys, brightness/color/mode for most TUXEDO
+      keyboards (except white backlight-only models).
+
+      Can be used with the "hardware.tuxedo-keyboard" NixOS module.
+    '';
     homepage = "https://github.com/tuxedocomputers/tuxedo-keyboard/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix b/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
index a0b748be2149..1d4166e4083d 100644
--- a/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/uclibc/default.nix
@@ -54,7 +54,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "uclibc-ng-${version}";
+  pname = "uclibc-ng";
   inherit version;
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix b/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix
index e5a5ff971a35..fd321d90cb2a 100644
--- a/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     autoconf automake pkg-config libtool gettext which gobject-introspection
-    gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl util-linux
+    gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl
   ];
 
   postPatch = lib.optionalString stdenv.hostPlatform.isMusl ''
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    expat libgudev libblockdev acl systemd glib libatasmart polkit
+    expat libgudev libblockdev acl systemd glib libatasmart polkit util-linux
   ];
 
   preConfigure = "NOCONFIGURE=1 ./autogen.sh";
diff --git a/nixpkgs/pkgs/os-specific/linux/unstick/default.nix b/nixpkgs/pkgs/os-specific/linux/unstick/default.nix
index 7d839f8acdb8..7856456a3c36 100644
--- a/nixpkgs/pkgs/os-specific/linux/unstick/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/unstick/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, libseccomp }:
 
 stdenv.mkDerivation rec {
-  name = "unstick";
+  pname = "unstick";
   version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "kwohlfahrt";
-    repo = name;
+    repo = "unstick";
     rev = "effee9aa242ca12dc94cc6e96bc073f4cc9e8657";
     sha256 = "08la3jmmzlf4pm48bf9zx4cqj9gbqalpqy0s57bh5vfsdk74nnhv";
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/usb-blaster-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/usb-blaster-udev-rules/default.nix
new file mode 100644
index 000000000000..d04c8ddb9398
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/usb-blaster-udev-rules/usb-blaster.rules b/nixpkgs/pkgs/os-specific/linux/usb-blaster-udev-rules/usb-blaster.rules
new file mode 100644
index 000000000000..0add604ee819
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix b/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix
index b3536e038f0b..8485565e0a88 100644
--- a/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,18 +1,15 @@
 { lib, stdenv, fetchurl, pkg-config, zlib, shadow, libcap_ng
 , ncurses ? null, pam, systemd ? null
 , nlsSupport ? true
-, audit ? null
 }:
 
-assert stdenv.hostPlatform.isStatic -> audit != null;
-
 stdenv.mkDerivation rec {
   pname = "util-linux";
-  version = "2.37.2";
+  version = "2.37.3";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-agdkwarn+2B++KbdLA9sR9Xl/SeqCIIKuq2ewU4o6dk=";
+    sha256 = "sha256-WQxZLljNa/OFGctGevBc5qGrGAQOPjQY8kvPsvVfl3Y=";
   };
 
   patches = [
@@ -20,6 +17,7 @@ stdenv.mkDerivation rec {
   ];
 
   outputs = [ "bin" "dev" "out" "lib" "man" ];
+  separateDebugInfo = true;
 
   postPatch = ''
     patchShebangs tests/run.sh
@@ -60,17 +58,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
     [ zlib pam libcap_ng ]
-    ++ lib.filter (p: p != null) [ ncurses systemd ]
-    # not sure how util-linux is linking with linux-pam,
-    # probably just with a simplistic -lpam.
-    # linux-pam doesn't seem to have a .pc file so I can't
-    # add -laudit to the Requires.private.
-    # libaudit is also needed directly anyway cf login-utils/login.c
-    # and sys-utils/hwclock.c, not sure how we got it working
-    # without audit on dynamic builds.
-    ++ lib.optionals stdenv.hostPlatform.isStatic [ audit ];
-
-  NIX_CFLAGS_LINK = lib.optionalString stdenv.hostPlatform.isStatic "-laudit";
+    ++ lib.filter (p: p != null) [ ncurses systemd ];
 
   doCheck = false; # "For development purpose only. Don't execute on production system!"
 
diff --git a/nixpkgs/pkgs/os-specific/linux/virtio_vmmci/default.nix b/nixpkgs/pkgs/os-specific/linux/virtio_vmmci/default.nix
new file mode 100644
index 000000000000..ccf462702fd3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/vmm_clock/default.nix b/nixpkgs/pkgs/os-specific/linux/vmm_clock/default.nix
new file mode 100644
index 000000000000..a9cc266f6c53
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/vmm_clock/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, fetchFromGitHub, kernel }:
+
+stdenv.mkDerivation rec {
+  name = "vmm_clock";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "voutilad";
+    repo = "vmm_clock";
+    rev = "${version}";
+    sha256 = "0hg7ywznh6v11fywsz6f7w298bxph0wwm046zqaqncjvr4aizla4";
+  };
+
+  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 =
+      "Experimental implementation of a kvmclock-derived clocksource for Linux guests under OpenBSD's hypervisor";
+    homepage = "https://github.com/voutilad/vmm_clock";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ qbit ];
+    platforms = platforms.linux;
+  };
+
+  enableParallelBuilding = true;
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/wlgreet/default.nix b/nixpkgs/pkgs/os-specific/linux/wlgreet/default.nix
index 4758945e41ab..932aa47fd714 100644
--- a/nixpkgs/pkgs/os-specific/linux/wlgreet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/Use-unique-IDs-for-networks-and-credentials.patch b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/Use-unique-IDs-for-networks-and-credentials.patch
new file mode 100644
index 000000000000..09e5b3673ac4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 656fa477768a..414c435b35a1 100644
--- a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, fetchpatch, openssl, pkg-config, libnl
-, nixosTests
+{ lib, stdenv, fetchurl, openssl, pkg-config, libnl
+, nixosTests, wpa_supplicant_gui
 , withDbus ? true, dbus
 , withReadline ? true, readline
 , withPcsclite ? true, pcsclite
@@ -8,45 +8,18 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  version = "2.9";
+  version = "2.10";
 
   pname = "wpa_supplicant";
 
   src = fetchurl {
     url = "https://w1.fi/releases/${pname}-${version}.tar.gz";
-    sha256 = "05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw";
+    sha256 = "sha256-IN965RVLODA1X4q0JpEjqHr/3qWf50/pKSqR0Nfhey8=";
   };
 
   patches = [
-    (fetchurl {
-      name = "CVE-2019-16275.patch";
-      url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch";
-      sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz";
-    })
-    (fetchpatch {
-      # Expose OWE key management capability over DBus, remove >= 2.10
-      name = "dbus-Export-OWE-capability-and-OWE-BSS-key_mgmt.patch";
-      url = "https://w1.fi/cgit/hostap/patch/?id=7800725afb27397f7d6033d4969e2aeb61af4737";
-      sha256 = "0c1la7inf4m5y9gzdjjdnhpkx32pm8vi6m5knih8p77q4mbrdgg8";
-    })
-    # P2P: Fix copying of secondary device types for P2P group client (https://w1.fi/security/2020-2/)
-    (fetchurl {
-      name = "CVE-2021-0326.patch";
-      url = "https://w1.fi/security/2020-2/0001-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch";
-      sha256 = "19f4hx0p547mdx8y8arb3vclwyy4w9c8a6a40ryj7q33730mrmn4";
-    })
-    # P2P: Fix a corner case in peer addition based on PD Request (https://w1.fi/security/2021-1/)
-    (fetchurl {
-      name = "CVE-2021-27803.patch";
-      url = "https://w1.fi/security/2021-1/0001-P2P-Fix-a-corner-case-in-peer-addition-based-on-PD-R.patch";
-      sha256 = "04cnds7hmbqc44jasabjvrdnh66i5hwvk2h2m5z94pmgbzncyh3z";
-    })
-    # In wpa_supplicant and hostapd 2.9, forging attacks may occur because AlgorithmIdentifier parameters are mishandled in tls/pkcs1.c and tls/x509v3.c.
-    (fetchpatch {
-      name = "CVE-2021-30004.patch";
-      url = "https://w1.fi/cgit/hostap/patch/?id=a0541334a6394f8237a4393b7372693cd7e96f15";
-      sha256 = "1gbhlz41x1ar1hppnb76pqxj6vimiypy7c4kq6h658637s4am3xg";
-    })
+    # 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
@@ -142,6 +115,7 @@ stdenv.mkDerivation rec {
 
   passthru.tests = {
     inherit (nixosTests) wpa_supplicant;
+    inherit wpa_supplicant_gui; # inherits the src+version updates
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix
index 8ec7519bf1ad..82e104cac3aa 100644
--- a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix
+++ b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix
@@ -2,18 +2,7 @@
 
 mkDerivation {
   pname = "wpa_gui";
-  version = wpa_supplicant.version;
-
-  inherit (wpa_supplicant) src;
-
-  patches = [
-    # Fix build with Inkscape 1.0
-    # https://github.com/NixOS/nixpkgs/issues/86930
-    (fetchpatch {
-      url = "https://w1.fi/cgit/hostap/patch/?id=0388992905a5c2be5cba9497504eaea346474754";
-      sha256 = "05hs74qawa433adripzhycm45g7yvxr6074nd4zcl4gabzp9hd30";
-    })
-  ];
+  inherit (wpa_supplicant) version src;
 
   buildInputs = [ qtbase ];
   nativeBuildInputs = [ qmake inkscape imagemagick ];
diff --git a/nixpkgs/pkgs/os-specific/linux/x86info/default.nix b/nixpkgs/pkgs/os-specific/linux/x86info/default.nix
index dbda35670f66..e842b59651e7 100644
--- a/nixpkgs/pkgs/os-specific/linux/x86info/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/x86info/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, pciutils, python}:
+{lib, stdenv, fetchurl, pciutils, python2}:
 
 stdenv.mkDerivation rec {
   version = "1.30";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sed -i 's/-Werror -Wall//' Makefile
   '';
 
-  buildInputs = [ pciutils python ];
+  buildInputs = [ pciutils python2 ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 4ebc4ed76638..80762aa784eb 100644
--- a/nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix b/nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix
index 603cdf7ceec7..8414ac7a1e14 100644
--- a/nixpkgs/pkgs/os-specific/linux/zenmonitor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/solo5/default.nix b/nixpkgs/pkgs/os-specific/solo5/default.nix
index d45a2f0665de..d51219e69ae9 100644
--- a/nixpkgs/pkgs/os-specific/solo5/default.nix
+++ b/nixpkgs/pkgs/os-specific/solo5/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, libseccomp, util-linux, qemu }:
+{ lib, stdenv, fetchurl, dosfstools, libseccomp, makeWrapper, mtools, parted
+, pkg-config, qemu, syslinux, util-linux }:
 
 let
   version = "0.6.9";
@@ -15,7 +16,7 @@ in stdenv.mkDerivation {
   pname = "solo5";
   inherit version;
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ makeWrapper pkg-config ];
   buildInputs = lib.optional (stdenv.hostPlatform.isLinux) libseccomp;
 
   src = fetchurl {
@@ -47,6 +48,14 @@ in stdenv.mkDerivation {
       [ -n "$CONFIG_${lib.toUpper bind}" ] && make install-opam-${bind}
     '') targets}
 
+    substituteInPlace $out/bin/solo5-virtio-mkimage \
+      --replace "/usr/lib/syslinux" "${syslinux}/share/syslinux" \
+      --replace "/usr/share/syslinux" "${syslinux}/share/syslinux" \
+      --replace "cp " "cp --no-preserve=mode "
+
+    wrapProgram $out/bin/solo5-virtio-mkimage \
+      --prefix PATH : ${lib.makeBinPath [ dosfstools mtools parted syslinux ]}
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/servers/adguardhome/bins.nix b/nixpkgs/pkgs/servers/adguardhome/bins.nix
index 45de659f3818..c07933129fad 100644
--- a/nixpkgs/pkgs/servers/adguardhome/bins.nix
+++ b/nixpkgs/pkgs/servers/adguardhome/bins.nix
@@ -1,19 +1,19 @@
 { fetchurl, fetchzip }:
 {
 "x86_64-darwin" = fetchzip {
-  sha256 = "sha256-vRfKVjFFy4cO/TrA+wEFYp6jcJSB/QDU3if0FDdYu+M=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.0/AdGuardHome_darwin_amd64.zip";
+  sha256 = "sha256-hB3TL1FocAtLpBe+Rv2Pyon4f1ld+Fqapz6TUQ0O1jU=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.3/AdGuardHome_darwin_amd64.zip";
 };
 "i686-linux" = fetchurl {
-  sha256 = "sha256-gWylZgCk+bGf1h2lTX2gRnW39P7C2ks0LH7anJW6JKw=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.0/AdGuardHome_linux_386.tar.gz";
+  sha256 = "sha256-ZPHmFxKLJ1oxT18P6FDv74/leCzlESTrhNYuC8T6u+I=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.3/AdGuardHome_linux_386.tar.gz";
 };
 "x86_64-linux" = fetchurl {
-  sha256 = "sha256-g2DIeXwaqTTfshYyyDNHbOU57YUbuxXDKJHFqKFrqzw=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.0/AdGuardHome_linux_amd64.tar.gz";
+  sha256 = "sha256-yOvkEimDp646BCCFV2fnmVGe6R8geFlxtWLfPMVQ9Uk=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.3/AdGuardHome_linux_amd64.tar.gz";
 };
 "aarch64-linux" = fetchurl {
-  sha256 = "sha256-PovduGRcfSUbhqX1cxRgMknN8mWJekjjpB0b1TE1//g=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.0/AdGuardHome_linux_arm64.tar.gz";
+  sha256 = "sha256-ayNv2O0Ge3dT6YAN4SW/gsyoErCB3BJYsx/daMbGHjs=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.3/AdGuardHome_linux_arm64.tar.gz";
 };
 }
diff --git a/nixpkgs/pkgs/servers/adguardhome/default.nix b/nixpkgs/pkgs/servers/adguardhome/default.nix
index 9940decc0bc9..cce9a1c1590d 100644
--- a/nixpkgs/pkgs/servers/adguardhome/default.nix
+++ b/nixpkgs/pkgs/servers/adguardhome/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchurl, fetchzip }:
+{ lib, stdenv, fetchurl, fetchzip, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "adguardhome";
-  version = "0.107.0";
+  version = "0.107.3";
 
   src = (import ./bins.nix { inherit fetchurl fetchzip; }).${stdenv.hostPlatform.system};
 
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = ./update.sh;
+    tests.adguardhome = nixosTests.adguardhome;
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/alps/default.nix b/nixpkgs/pkgs/servers/alps/default.nix
new file mode 100644
index 000000000000..fb10a5369f1d
--- /dev/null
+++ b/nixpkgs/pkgs/servers/alps/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromSourcehut }:
+
+buildGoModule rec {
+  pname = "alps";
+  version = "2021-09-29";
+
+  src = fetchFromSourcehut {
+    owner = "~migadu";
+    repo = "alps";
+    rev = "d4c35f3c3157bece8e50fd95f2ee1081be30d7ae";
+    sha256 = "sha256-xKfRLdfeD7lWdmC0iiq4dOIv2SmzbKH7HcAISCJgdug=";
+  };
+
+  vendorSha256 = "sha256-Vg0k+YSMg6Ree/jkVV2VQ8RbSbQFUhmUN2MeTBxPeLo=";
+
+  proxyVendor = true;
+
+  meta = with lib; {
+    description = "A simple and extensible webmail.";
+    homepage = "https://git.sr.ht/~migadu/alps";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gordias ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/althttpd/default.nix b/nixpkgs/pkgs/servers/althttpd/default.nix
index 4f1a128dd388..34b6f6fb5b7b 100644
--- a/nixpkgs/pkgs/servers/althttpd/default.nix
+++ b/nixpkgs/pkgs/servers/althttpd/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchfossil }:
+{ lib, stdenv, fetchfossil, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "althttpd";
-  version = "unstable-2021-06-09";
+  version = "unstable-2022-01-10";
 
   src = fetchfossil {
     url = "https://sqlite.org/althttpd/";
-    rev = "0d3b5e232c57e188";
-    sha256 = "sha256-vZwpjYYMdP/FgPTAQ9Kdh2RRMovpONqu2v73cCoYyxE=";
+    rev = "83196564d05f33c3";
+    sha256 = "sha256-z/XMVnDihcO56kJaXIJGUUdnz8mR5jlySrLZX1tkV5c=";
   };
 
+  buildInputs = [ openssl ];
+
   installPhase = ''
     install -Dm755 -t $out/bin althttpd
   '';
diff --git a/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix b/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix
index 04e63d9173fb..434aeeb3a198 100644
--- a/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/nixpkgs/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -11,7 +11,7 @@ let
   };
 
   meta = with lib; {
-    homepage = "http://qpid.apache.org";
+    homepage = "https://qpid.apache.org";
     repositories.git = "git://git.apache.org/qpid.git";
     repositories.svn = "http://svn.apache.org/repos/asf/qpid";
     description = "An AMQP message broker and a C++ messaging API";
diff --git a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
index a8b837c8b3e7..7203ac704c70 100644
--- a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 , erlang
 , elixir
-, python
+, python2
 , libxml2
 , libxslt
 , xmlto
@@ -27,16 +27,16 @@
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
-  version = "3.9.8";
+  version = "3.9.13";
 
   # when updating, consider bumping elixir version in all-packages.nix
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-l77pOFNzw83Qj+MbnwGiClA7HIGvAtI0N/9k12GV7lU=";
+    sha256 = "sha256-DndZ74m+CFyrukxKyOpfoRCb86RID2XL7x0eUZifcno=";
   };
 
   nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync ];
-  buildInputs = [ erlang elixir python libxml2 libxslt glibcLocales ]
+  buildInputs = [ erlang elixir python2 libxml2 libxslt glibcLocales ]
     ++ lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
 
   outputs = [ "out" "man" "doc" ];
diff --git a/nixpkgs/pkgs/servers/antennas/default.nix b/nixpkgs/pkgs/servers/antennas/default.nix
deleted file mode 100644
index ae0e22e0f21c..000000000000
--- a/nixpkgs/pkgs/servers/antennas/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, mkYarnPackage, fetchFromGitHub, nodejs }:
-
-mkYarnPackage rec {
-  pname = "antennas";
-  version = "unstable-2021-01-21";
-
-  src = fetchFromGitHub {
-    owner = "TheJF";
-    repo = "antennas";
-    rev = "5e1f7375004001255e3daef7d48f45af321c7a52";
-    sha256 = "0bahn4y0chk70x822nn32ya7kmn9x15jb80xa544y501x1s7w981";
-  };
-
-  preFixup = ''
-    mkdir -p $out/bin
-    chmod a+x $out/libexec/antennas/deps/antennas/index.js
-    sed -i '1i#!${nodejs}/bin/node' $out/libexec/antennas/deps/antennas/index.js
-    ln -s $out/libexec/antennas/deps/antennas/index.js $out/bin/antennas
-  '';
-
-  # The --production flag disables the devDependencies.
-  yarnFlags = [ "--offline" "--production" ];
-  yarnLock = ./yarn.lock;
-  packageJSON = ./package.json;
-  yarnNix = ./yarn.nix;
-
-  meta = with lib; {
-    description = "HDHomeRun emulator for Plex DVR to connect to Tvheadend. ";
-    homepage = "https://github.com/TheJF/antennas";
-    license = licenses.mit;
-    maintainers = with maintainers; [ bachp ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/servers/antennas/package.json b/nixpkgs/pkgs/servers/antennas/package.json
deleted file mode 100644
index 1caca745c917..000000000000
--- a/nixpkgs/pkgs/servers/antennas/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "name": "antennas",
-  "version": "3.1.0",
-  "description": "HDHomeRun emulator for Plex DVR to connect to Tvheadend.",
-  "main": "index.js",
-  "repository": "https://github.com/thejf/antennas",
-  "author": "Jean-Francois Arseneau",
-  "license": "MIT",
-  "dependencies": {
-    "js-yaml": "^3.13.1",
-    "koa": "^2.5.0",
-    "koa-logger": "^3.2.0",
-    "koa-request": "^1.0.0",
-    "koa-router": "^7.4.0",
-    "koa-static": "^4.0.2",
-    "node-ssdp": "^3.3.0",
-    "request": "^2.85.0",
-    "request-promise-native": "^1.0.5"
-  }
-}
diff --git a/nixpkgs/pkgs/servers/antennas/yarn.lock b/nixpkgs/pkgs/servers/antennas/yarn.lock
deleted file mode 100644
index 587d9dbe9d79..000000000000
--- a/nixpkgs/pkgs/servers/antennas/yarn.lock
+++ /dev/null
@@ -1,703 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-accepts@^1.2.2:
-  version "1.3.5"
-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
-  dependencies:
-    mime-types "~2.1.18"
-    negotiator "0.6.1"
-
-ajv@^5.1.0:
-  version "5.5.2"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
-  dependencies:
-    co "^4.6.0"
-    fast-deep-equal "^1.0.0"
-    fast-json-stable-stringify "^2.0.0"
-    json-schema-traverse "^0.3.0"
-
-ansi-regex@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-
-ansi-styles@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-
-any-promise@^1.0.0, any-promise@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
-
-argparse@^1.0.7:
-  version "1.0.10"
-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
-  dependencies:
-    sprintf-js "~1.0.2"
-
-asn1@~0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-
-async@^2.6.0:
-  version "2.6.0"
-  resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
-  dependencies:
-    lodash "^4.14.0"
-
-asynckit@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-
-aws-sign2@~0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
-
-aws4@^1.6.0:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
-
-bcrypt-pbkdf@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
-  dependencies:
-    tweetnacl "^0.14.3"
-
-bluebird@^3.5.1:
-  version "3.5.1"
-  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
-
-boom@4.x.x:
-  version "4.3.1"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
-  dependencies:
-    hoek "4.x.x"
-
-boom@5.x.x:
-  version "5.2.0"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
-  dependencies:
-    hoek "4.x.x"
-
-bytes@^2.5.0:
-  version "2.5.0"
-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a"
-
-caseless@~0.12.0:
-  version "0.12.0"
-  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-
-chalk@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
-  dependencies:
-    ansi-styles "^2.2.1"
-    escape-string-regexp "^1.0.2"
-    has-ansi "^2.0.0"
-    strip-ansi "^3.0.0"
-    supports-color "^2.0.0"
-
-co@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-
-combined-stream@1.0.6, combined-stream@~1.0.5:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
-  dependencies:
-    delayed-stream "~1.0.0"
-
-content-disposition@~0.5.0:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
-
-content-type@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
-
-cookies@~0.7.0:
-  version "0.7.1"
-  resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b"
-  dependencies:
-    depd "~1.1.1"
-    keygrip "~1.0.2"
-
-core-util-is@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-
-cryptiles@3.x.x:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
-  dependencies:
-    boom "5.x.x"
-
-dashdash@^1.12.0:
-  version "1.14.1"
-  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
-  dependencies:
-    assert-plus "^1.0.0"
-
-debug@*, debug@^2.6.3, debug@^2.6.8:
-  version "2.6.9"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
-  dependencies:
-    ms "2.0.0"
-
-debug@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
-  dependencies:
-    ms "2.0.0"
-
-deep-equal@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
-
-delayed-stream@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-
-delegates@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-
-depd@^1.1.0, depd@~1.1.1, depd@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
-
-destroy@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-
-ecc-jsbn@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
-  dependencies:
-    jsbn "~0.1.0"
-
-ee-first@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-
-error-inject@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37"
-
-escape-html@~1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-
-escape-string-regexp@^1.0.2:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-
-esprima@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
-
-extend@^3.0.1, extend@~3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
-
-extsprintf@1.3.0, extsprintf@^1.2.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
-
-fast-deep-equal@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
-
-fast-json-stable-stringify@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
-
-forever-agent@~0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-
-form-data@~2.3.1:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099"
-  dependencies:
-    asynckit "^0.4.0"
-    combined-stream "1.0.6"
-    mime-types "^2.1.12"
-
-fresh@^0.5.2:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
-
-getpass@^0.1.1:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
-  dependencies:
-    assert-plus "^1.0.0"
-
-har-schema@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
-
-har-validator@~5.0.3:
-  version "5.0.3"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
-  dependencies:
-    ajv "^5.1.0"
-    har-schema "^2.0.0"
-
-has-ansi@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-hawk@~6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
-  dependencies:
-    boom "4.x.x"
-    cryptiles "3.x.x"
-    hoek "4.x.x"
-    sntp "2.x.x"
-
-hoek@4.x.x:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
-
-http-assert@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.3.0.tgz#a31a5cf88c873ecbb5796907d4d6f132e8c01e4a"
-  dependencies:
-    deep-equal "~1.0.1"
-    http-errors "~1.6.1"
-
-http-errors@^1.2.8, http-errors@^1.3.1, http-errors@^1.6.1, http-errors@~1.6.1, http-errors@~1.6.2:
-  version "1.6.3"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
-  dependencies:
-    depd "~1.1.2"
-    inherits "2.0.3"
-    setprototypeof "1.1.0"
-    statuses ">= 1.4.0 < 2"
-
-http-signature@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
-  dependencies:
-    assert-plus "^1.0.0"
-    jsprim "^1.2.2"
-    sshpk "^1.7.0"
-
-humanize-number@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/humanize-number/-/humanize-number-0.0.2.tgz#11c0af6a471643633588588048f1799541489c18"
-
-inherits@2.0.3:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-
-ip@^1.1.5:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
-
-is-generator-function@^1.0.3:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522"
-
-is-typedarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-
-isarray@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-
-isstream@~0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-
-js-yaml@^3.13.1:
-  version "3.13.1"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^4.0.0"
-
-jsbn@~0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-
-json-schema-traverse@^0.3.0:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
-
-json-schema@0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-
-json-stringify-safe@~5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-
-jsprim@^1.2.2:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
-  dependencies:
-    assert-plus "1.0.0"
-    extsprintf "1.3.0"
-    json-schema "0.2.3"
-    verror "1.10.0"
-
-keygrip@~1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.2.tgz#ad3297c557069dea8bcfe7a4fa491b75c5ddeb91"
-
-koa-compose@^3.0.0:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7"
-  dependencies:
-    any-promise "^1.1.0"
-
-koa-compose@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.0.0.tgz#2800a513d9c361ef0d63852b038e4f6f2d5a773c"
-
-koa-convert@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0"
-  dependencies:
-    co "^4.6.0"
-    koa-compose "^3.0.0"
-
-koa-is-json@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14"
-
-koa-logger@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/koa-logger/-/koa-logger-3.2.0.tgz#8aef64d8b848fb6253a9b31aa708d0e05141f0e6"
-  dependencies:
-    bytes "^2.5.0"
-    chalk "^1.1.3"
-    humanize-number "0.0.2"
-    passthrough-counter "^1.0.0"
-
-koa-request@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/koa-request/-/koa-request-1.0.0.tgz#19343352479d2cb965d7aff0a802b1a06d408e16"
-  dependencies:
-    request "*"
-
-koa-router@^7.4.0:
-  version "7.4.0"
-  resolved "https://registry.yarnpkg.com/koa-router/-/koa-router-7.4.0.tgz#aee1f7adc02d5cb31d7d67465c9eacc825e8c5e0"
-  dependencies:
-    debug "^3.1.0"
-    http-errors "^1.3.1"
-    koa-compose "^3.0.0"
-    methods "^1.0.1"
-    path-to-regexp "^1.1.1"
-    urijs "^1.19.0"
-
-koa-send@^4.1.0:
-  version "4.1.3"
-  resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-4.1.3.tgz#0822207bbf5253a414c8f1765ebc29fa41353cb6"
-  dependencies:
-    debug "^2.6.3"
-    http-errors "^1.6.1"
-    mz "^2.6.0"
-    resolve-path "^1.4.0"
-
-koa-static@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/koa-static/-/koa-static-4.0.2.tgz#6cda92d88d771dcaad9f0d825cd94a631c861a1a"
-  dependencies:
-    debug "^2.6.8"
-    koa-send "^4.1.0"
-
-koa@^2.5.0:
-  version "2.5.0"
-  resolved "https://registry.yarnpkg.com/koa/-/koa-2.5.0.tgz#b0fbe1e195e43b27588a04fd0be0ddaeca2c154c"
-  dependencies:
-    accepts "^1.2.2"
-    content-disposition "~0.5.0"
-    content-type "^1.0.0"
-    cookies "~0.7.0"
-    debug "*"
-    delegates "^1.0.0"
-    depd "^1.1.0"
-    destroy "^1.0.3"
-    error-inject "~1.0.0"
-    escape-html "~1.0.1"
-    fresh "^0.5.2"
-    http-assert "^1.1.0"
-    http-errors "^1.2.8"
-    is-generator-function "^1.0.3"
-    koa-compose "^4.0.0"
-    koa-convert "^1.2.0"
-    koa-is-json "^1.0.0"
-    mime-types "^2.0.7"
-    on-finished "^2.1.0"
-    only "0.0.2"
-    parseurl "^1.3.0"
-    statuses "^1.2.0"
-    type-is "^1.5.5"
-    vary "^1.0.0"
-
-lodash@^4.13.1, lodash@^4.14.0:
-  version "4.17.19"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
-
-media-typer@0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
-
-methods@^1.0.1:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
-
-mime-db@~1.33.0:
-  version "1.33.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
-
-mime-types@^2.0.7, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18:
-  version "2.1.18"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
-  dependencies:
-    mime-db "~1.33.0"
-
-ms@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-
-mz@^2.6.0:
-  version "2.7.0"
-  resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
-  dependencies:
-    any-promise "^1.0.0"
-    object-assign "^4.0.1"
-    thenify-all "^1.0.0"
-
-negotiator@0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
-
-node-ssdp@^3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/node-ssdp/-/node-ssdp-3.3.0.tgz#f19b1faec355f08d29b3ed3f9c626dc80354e6bd"
-  dependencies:
-    async "^2.6.0"
-    bluebird "^3.5.1"
-    debug "^3.1.0"
-    extend "^3.0.1"
-    ip "^1.1.5"
-
-oauth-sign@~0.8.2:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-
-object-assign@^4.0.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-
-on-finished@^2.1.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
-  dependencies:
-    ee-first "1.1.1"
-
-only@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"
-
-parseurl@^1.3.0:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
-
-passthrough-counter@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa"
-
-path-is-absolute@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-
-path-to-regexp@^1.1.1:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
-  dependencies:
-    isarray "0.0.1"
-
-performance-now@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
-
-punycode@^1.4.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-
-qs@~6.5.1:
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
-
-request-promise-core@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6"
-  dependencies:
-    lodash "^4.13.1"
-
-request-promise-native@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5"
-  dependencies:
-    request-promise-core "1.1.1"
-    stealthy-require "^1.1.0"
-    tough-cookie ">=2.3.3"
-
-request@*, request@^2.85.0:
-  version "2.85.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa"
-  dependencies:
-    aws-sign2 "~0.7.0"
-    aws4 "^1.6.0"
-    caseless "~0.12.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.1"
-    forever-agent "~0.6.1"
-    form-data "~2.3.1"
-    har-validator "~5.0.3"
-    hawk "~6.0.2"
-    http-signature "~1.2.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.17"
-    oauth-sign "~0.8.2"
-    performance-now "^2.1.0"
-    qs "~6.5.1"
-    safe-buffer "^5.1.1"
-    stringstream "~0.0.5"
-    tough-cookie "~2.3.3"
-    tunnel-agent "^0.6.0"
-    uuid "^3.1.0"
-
-resolve-path@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7"
-  dependencies:
-    http-errors "~1.6.2"
-    path-is-absolute "1.0.1"
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.1:
-  version "5.1.1"
-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
-
-setprototypeof@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
-
-sntp@2.x.x:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
-  dependencies:
-    hoek "4.x.x"
-
-sprintf-js@~1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-
-sshpk@^1.7.0:
-  version "1.14.1"
-  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb"
-  dependencies:
-    asn1 "~0.2.3"
-    assert-plus "^1.0.0"
-    dashdash "^1.12.0"
-    getpass "^0.1.1"
-  optionalDependencies:
-    bcrypt-pbkdf "^1.0.0"
-    ecc-jsbn "~0.1.1"
-    jsbn "~0.1.0"
-    tweetnacl "~0.14.0"
-
-"statuses@>= 1.4.0 < 2", statuses@^1.2.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
-
-stealthy-require@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
-
-stringstream@~0.0.5:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72"
-
-strip-ansi@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-supports-color@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-
-thenify-all@^1.0.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
-  dependencies:
-    thenify ">= 3.1.0 < 4"
-
-"thenify@>= 3.1.0 < 4":
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839"
-  dependencies:
-    any-promise "^1.0.0"
-
-tough-cookie@>=2.3.3, tough-cookie@~2.3.3:
-  version "2.3.4"
-  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
-  dependencies:
-    punycode "^1.4.1"
-
-tunnel-agent@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
-  dependencies:
-    safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
-  version "0.14.5"
-  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-
-type-is@^1.5.5:
-  version "1.6.16"
-  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
-  dependencies:
-    media-typer "0.3.0"
-    mime-types "~2.1.18"
-
-urijs@^1.19.0:
-  version "1.19.1"
-  resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.1.tgz#5b0ff530c0cbde8386f6342235ba5ca6e995d25a"
-
-uuid@^3.1.0:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
-
-vary@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
-
-verror@1.10.0:
-  version "1.10.0"
-  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
-  dependencies:
-    assert-plus "^1.0.0"
-    core-util-is "1.0.2"
-    extsprintf "^1.2.0"
diff --git a/nixpkgs/pkgs/servers/antennas/yarn.nix b/nixpkgs/pkgs/servers/antennas/yarn.nix
deleted file mode 100644
index 9b17cd53e99e..000000000000
--- a/nixpkgs/pkgs/servers/antennas/yarn.nix
+++ /dev/null
@@ -1,997 +0,0 @@
-{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
-  offline_cache = linkFarm "offline" packages;
-  packages = [
-    {
-      name = "accepts___accepts_1.3.5.tgz";
-      path = fetchurl {
-        name = "accepts___accepts_1.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz";
-        sha1 = "eb777df6011723a3b14e8a72c0805c8e86746bd2";
-      };
-    }
-    {
-      name = "ajv___ajv_5.5.2.tgz";
-      path = fetchurl {
-        name = "ajv___ajv_5.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz";
-        sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
-      };
-    }
-    {
-      name = "ansi_regex___ansi_regex_2.1.1.tgz";
-      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_styles___ansi_styles_2.2.1.tgz";
-      path = fetchurl {
-        name = "ansi_styles___ansi_styles_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
-      };
-    }
-    {
-      name = "any_promise___any_promise_1.3.0.tgz";
-      path = fetchurl {
-        name = "any_promise___any_promise_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz";
-        sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
-      };
-    }
-    {
-      name = "argparse___argparse_1.0.10.tgz";
-      path = fetchurl {
-        name = "argparse___argparse_1.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
-        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
-      };
-    }
-    {
-      name = "asn1___asn1_0.2.3.tgz";
-      path = fetchurl {
-        name = "asn1___asn1_0.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz";
-        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
-      };
-    }
-    {
-      name = "assert_plus___assert_plus_1.0.0.tgz";
-      path = fetchurl {
-        name = "assert_plus___assert_plus_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
-      };
-    }
-    {
-      name = "async___async_2.6.0.tgz";
-      path = fetchurl {
-        name = "async___async_2.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz";
-        sha1 = "61a29abb6fcc026fea77e56d1c6ec53a795951f4";
-      };
-    }
-    {
-      name = "asynckit___asynckit_0.4.0.tgz";
-      path = fetchurl {
-        name = "asynckit___asynckit_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
-      };
-    }
-    {
-      name = "aws_sign2___aws_sign2_0.7.0.tgz";
-      path = fetchurl {
-        name = "aws_sign2___aws_sign2_0.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
-      };
-    }
-    {
-      name = "aws4___aws4_1.7.0.tgz";
-      path = fetchurl {
-        name = "aws4___aws4_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz";
-        sha1 = "d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289";
-      };
-    }
-    {
-      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.1.tgz";
-      path = fetchurl {
-        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
-        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
-      };
-    }
-    {
-      name = "bluebird___bluebird_3.5.1.tgz";
-      path = fetchurl {
-        name = "bluebird___bluebird_3.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz";
-        sha1 = "d9551f9de98f1fcda1e683d17ee91a0602ee2eb9";
-      };
-    }
-    {
-      name = "boom___boom_4.3.1.tgz";
-      path = fetchurl {
-        name = "boom___boom_4.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz";
-        sha1 = "4f8a3005cb4a7e3889f749030fd25b96e01d2e31";
-      };
-    }
-    {
-      name = "boom___boom_5.2.0.tgz";
-      path = fetchurl {
-        name = "boom___boom_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz";
-        sha1 = "5dd9da6ee3a5f302077436290cb717d3f4a54e02";
-      };
-    }
-    {
-      name = "bytes___bytes_2.5.0.tgz";
-      path = fetchurl {
-        name = "bytes___bytes_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/bytes/-/bytes-2.5.0.tgz";
-        sha1 = "4c9423ea2d252c270c41b2bdefeff9bb6b62c06a";
-      };
-    }
-    {
-      name = "caseless___caseless_0.12.0.tgz";
-      path = fetchurl {
-        name = "caseless___caseless_0.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
-      };
-    }
-    {
-      name = "chalk___chalk_1.1.3.tgz";
-      path = fetchurl {
-        name = "chalk___chalk_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
-      };
-    }
-    {
-      name = "co___co_4.6.0.tgz";
-      path = fetchurl {
-        name = "co___co_4.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
-        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
-      };
-    }
-    {
-      name = "combined_stream___combined_stream_1.0.6.tgz";
-      path = fetchurl {
-        name = "combined_stream___combined_stream_1.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz";
-        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
-      };
-    }
-    {
-      name = "content_disposition___content_disposition_0.5.2.tgz";
-      path = fetchurl {
-        name = "content_disposition___content_disposition_0.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz";
-        sha1 = "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4";
-      };
-    }
-    {
-      name = "content_type___content_type_1.0.4.tgz";
-      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";
-      };
-    }
-    {
-      name = "cookies___cookies_0.7.1.tgz";
-      path = fetchurl {
-        name = "cookies___cookies_0.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz";
-        sha1 = "7c8a615f5481c61ab9f16c833731bcb8f663b99b";
-      };
-    }
-    {
-      name = "core_util_is___core_util_is_1.0.2.tgz";
-      path = fetchurl {
-        name = "core_util_is___core_util_is_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
-      };
-    }
-    {
-      name = "cryptiles___cryptiles_3.1.2.tgz";
-      path = fetchurl {
-        name = "cryptiles___cryptiles_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz";
-        sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
-      };
-    }
-    {
-      name = "dashdash___dashdash_1.14.1.tgz";
-      path = fetchurl {
-        name = "dashdash___dashdash_1.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
-      };
-    }
-    {
-      name = "debug___debug_2.6.9.tgz";
-      path = fetchurl {
-        name = "debug___debug_2.6.9.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
-        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
-      };
-    }
-    {
-      name = "debug___debug_3.1.0.tgz";
-      path = fetchurl {
-        name = "debug___debug_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz";
-        sha1 = "5bb5a0672628b64149566ba16819e61518c67261";
-      };
-    }
-    {
-      name = "deep_equal___deep_equal_1.0.1.tgz";
-      path = fetchurl {
-        name = "deep_equal___deep_equal_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz";
-        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
-      };
-    }
-    {
-      name = "delayed_stream___delayed_stream_1.0.0.tgz";
-      path = fetchurl {
-        name = "delayed_stream___delayed_stream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
-      };
-    }
-    {
-      name = "delegates___delegates_1.0.0.tgz";
-      path = fetchurl {
-        name = "delegates___delegates_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
-        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
-      };
-    }
-    {
-      name = "depd___depd_1.1.2.tgz";
-      path = fetchurl {
-        name = "depd___depd_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
-        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
-      };
-    }
-    {
-      name = "destroy___destroy_1.0.4.tgz";
-      path = fetchurl {
-        name = "destroy___destroy_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
-        sha1 = "978857442c44749e4206613e37946205826abd80";
-      };
-    }
-    {
-      name = "ecc_jsbn___ecc_jsbn_0.1.1.tgz";
-      path = fetchurl {
-        name = "ecc_jsbn___ecc_jsbn_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
-        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
-      };
-    }
-    {
-      name = "ee_first___ee_first_1.1.1.tgz";
-      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";
-      };
-    }
-    {
-      name = "error_inject___error_inject_1.0.0.tgz";
-      path = fetchurl {
-        name = "error_inject___error_inject_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz";
-        sha1 = "e2b3d91b54aed672f309d950d154850fa11d4f37";
-      };
-    }
-    {
-      name = "escape_html___escape_html_1.0.3.tgz";
-      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";
-      };
-    }
-    {
-      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
-      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";
-      };
-    }
-    {
-      name = "esprima___esprima_4.0.0.tgz";
-      path = fetchurl {
-        name = "esprima___esprima_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz";
-        sha1 = "4499eddcd1110e0b218bacf2fa7f7f59f55ca804";
-      };
-    }
-    {
-      name = "extend___extend_3.0.1.tgz";
-      path = fetchurl {
-        name = "extend___extend_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz";
-        sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
-      };
-    }
-    {
-      name = "extsprintf___extsprintf_1.3.0.tgz";
-      path = fetchurl {
-        name = "extsprintf___extsprintf_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
-      };
-    }
-    {
-      name = "fast_deep_equal___fast_deep_equal_1.1.0.tgz";
-      path = fetchurl {
-        name = "fast_deep_equal___fast_deep_equal_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz";
-        sha1 = "c053477817c86b51daa853c81e059b733d023614";
-      };
-    }
-    {
-      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
-      path = fetchurl {
-        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
-      };
-    }
-    {
-      name = "forever_agent___forever_agent_0.6.1.tgz";
-      path = fetchurl {
-        name = "forever_agent___forever_agent_0.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
-      };
-    }
-    {
-      name = "form_data___form_data_2.3.2.tgz";
-      path = fetchurl {
-        name = "form_data___form_data_2.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz";
-        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
-      };
-    }
-    {
-      name = "fresh___fresh_0.5.2.tgz";
-      path = fetchurl {
-        name = "fresh___fresh_0.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
-        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
-      };
-    }
-    {
-      name = "getpass___getpass_0.1.7.tgz";
-      path = fetchurl {
-        name = "getpass___getpass_0.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
-        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
-      };
-    }
-    {
-      name = "har_schema___har_schema_2.0.0.tgz";
-      path = fetchurl {
-        name = "har_schema___har_schema_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
-        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
-      };
-    }
-    {
-      name = "har_validator___har_validator_5.0.3.tgz";
-      path = fetchurl {
-        name = "har_validator___har_validator_5.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz";
-        sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
-      };
-    }
-    {
-      name = "has_ansi___has_ansi_2.0.0.tgz";
-      path = fetchurl {
-        name = "has_ansi___has_ansi_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
-      };
-    }
-    {
-      name = "hawk___hawk_6.0.2.tgz";
-      path = fetchurl {
-        name = "hawk___hawk_6.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz";
-        sha1 = "af4d914eb065f9b5ce4d9d11c1cb2126eecc3038";
-      };
-    }
-    {
-      name = "hoek___hoek_4.2.1.tgz";
-      path = fetchurl {
-        name = "hoek___hoek_4.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz";
-        sha1 = "9634502aa12c445dd5a7c5734b572bb8738aacbb";
-      };
-    }
-    {
-      name = "http_assert___http_assert_1.3.0.tgz";
-      path = fetchurl {
-        name = "http_assert___http_assert_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/http-assert/-/http-assert-1.3.0.tgz";
-        sha1 = "a31a5cf88c873ecbb5796907d4d6f132e8c01e4a";
-      };
-    }
-    {
-      name = "http_errors___http_errors_1.6.3.tgz";
-      path = fetchurl {
-        name = "http_errors___http_errors_1.6.3.tgz";
-        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz";
-        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
-      };
-    }
-    {
-      name = "http_signature___http_signature_1.2.0.tgz";
-      path = fetchurl {
-        name = "http_signature___http_signature_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
-        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
-      };
-    }
-    {
-      name = "humanize_number___humanize_number_0.0.2.tgz";
-      path = fetchurl {
-        name = "humanize_number___humanize_number_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/humanize-number/-/humanize-number-0.0.2.tgz";
-        sha1 = "11c0af6a471643633588588048f1799541489c18";
-      };
-    }
-    {
-      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";
-      };
-    }
-    {
-      name = "ip___ip_1.1.5.tgz";
-      path = fetchurl {
-        name = "ip___ip_1.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
-        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
-      };
-    }
-    {
-      name = "is_generator_function___is_generator_function_1.0.7.tgz";
-      path = fetchurl {
-        name = "is_generator_function___is_generator_function_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz";
-        sha1 = "d2132e529bb0000a7f80794d4bdf5cd5e5813522";
-      };
-    }
-    {
-      name = "is_typedarray___is_typedarray_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_typedarray___is_typedarray_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
-      };
-    }
-    {
-      name = "isarray___isarray_0.0.1.tgz";
-      path = fetchurl {
-        name = "isarray___isarray_0.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
-        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-      };
-    }
-    {
-      name = "isstream___isstream_0.1.2.tgz";
-      path = fetchurl {
-        name = "isstream___isstream_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
-        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
-      };
-    }
-    {
-      name = "js_yaml___js_yaml_3.13.1.tgz";
-      path = fetchurl {
-        name = "js_yaml___js_yaml_3.13.1.tgz";
-        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz";
-        sha1 = "aff151b30bfdfa8e49e05da22e7415e9dfa37847";
-      };
-    }
-    {
-      name = "jsbn___jsbn_0.1.1.tgz";
-      path = fetchurl {
-        name = "jsbn___jsbn_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
-      };
-    }
-    {
-      name = "json_schema_traverse___json_schema_traverse_0.3.1.tgz";
-      path = fetchurl {
-        name = "json_schema_traverse___json_schema_traverse_0.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
-        sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
-      };
-    }
-    {
-      name = "json_schema___json_schema_0.2.3.tgz";
-      path = fetchurl {
-        name = "json_schema___json_schema_0.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
-        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
-      };
-    }
-    {
-      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
-      path = fetchurl {
-        name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-      };
-    }
-    {
-      name = "jsprim___jsprim_1.4.1.tgz";
-      path = fetchurl {
-        name = "jsprim___jsprim_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
-      };
-    }
-    {
-      name = "keygrip___keygrip_1.0.2.tgz";
-      path = fetchurl {
-        name = "keygrip___keygrip_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.2.tgz";
-        sha1 = "ad3297c557069dea8bcfe7a4fa491b75c5ddeb91";
-      };
-    }
-    {
-      name = "koa_compose___koa_compose_3.2.1.tgz";
-      path = fetchurl {
-        name = "koa_compose___koa_compose_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz";
-        sha1 = "a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7";
-      };
-    }
-    {
-      name = "koa_compose___koa_compose_4.0.0.tgz";
-      path = fetchurl {
-        name = "koa_compose___koa_compose_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.0.0.tgz";
-        sha1 = "2800a513d9c361ef0d63852b038e4f6f2d5a773c";
-      };
-    }
-    {
-      name = "koa_convert___koa_convert_1.2.0.tgz";
-      path = fetchurl {
-        name = "koa_convert___koa_convert_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz";
-        sha1 = "da40875df49de0539098d1700b50820cebcd21d0";
-      };
-    }
-    {
-      name = "koa_is_json___koa_is_json_1.0.0.tgz";
-      path = fetchurl {
-        name = "koa_is_json___koa_is_json_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz";
-        sha1 = "273c07edcdcb8df6a2c1ab7d59ee76491451ec14";
-      };
-    }
-    {
-      name = "koa_logger___koa_logger_3.2.0.tgz";
-      path = fetchurl {
-        name = "koa_logger___koa_logger_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/koa-logger/-/koa-logger-3.2.0.tgz";
-        sha1 = "8aef64d8b848fb6253a9b31aa708d0e05141f0e6";
-      };
-    }
-    {
-      name = "koa_request___koa_request_1.0.0.tgz";
-      path = fetchurl {
-        name = "koa_request___koa_request_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/koa-request/-/koa-request-1.0.0.tgz";
-        sha1 = "19343352479d2cb965d7aff0a802b1a06d408e16";
-      };
-    }
-    {
-      name = "koa_router___koa_router_7.4.0.tgz";
-      path = fetchurl {
-        name = "koa_router___koa_router_7.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/koa-router/-/koa-router-7.4.0.tgz";
-        sha1 = "aee1f7adc02d5cb31d7d67465c9eacc825e8c5e0";
-      };
-    }
-    {
-      name = "koa_send___koa_send_4.1.3.tgz";
-      path = fetchurl {
-        name = "koa_send___koa_send_4.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/koa-send/-/koa-send-4.1.3.tgz";
-        sha1 = "0822207bbf5253a414c8f1765ebc29fa41353cb6";
-      };
-    }
-    {
-      name = "koa_static___koa_static_4.0.2.tgz";
-      path = fetchurl {
-        name = "koa_static___koa_static_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/koa-static/-/koa-static-4.0.2.tgz";
-        sha1 = "6cda92d88d771dcaad9f0d825cd94a631c861a1a";
-      };
-    }
-    {
-      name = "koa___koa_2.5.0.tgz";
-      path = fetchurl {
-        name = "koa___koa_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/koa/-/koa-2.5.0.tgz";
-        sha1 = "b0fbe1e195e43b27588a04fd0be0ddaeca2c154c";
-      };
-    }
-    {
-      name = "lodash___lodash_4.17.19.tgz";
-      path = fetchurl {
-        name = "lodash___lodash_4.17.19.tgz";
-        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz";
-        sha1 = "e48ddedbe30b3321783c5b4301fbd353bc1e4a4b";
-      };
-    }
-    {
-      name = "media_typer___media_typer_0.3.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "methods___methods_1.1.2.tgz";
-      path = fetchurl {
-        name = "methods___methods_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
-        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
-      };
-    }
-    {
-      name = "mime_db___mime_db_1.33.0.tgz";
-      path = fetchurl {
-        name = "mime_db___mime_db_1.33.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz";
-        sha1 = "a3492050a5cb9b63450541e39d9788d2272783db";
-      };
-    }
-    {
-      name = "mime_types___mime_types_2.1.18.tgz";
-      path = fetchurl {
-        name = "mime_types___mime_types_2.1.18.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz";
-        sha1 = "6f323f60a83d11146f831ff11fd66e2fe5503bb8";
-      };
-    }
-    {
-      name = "ms___ms_2.0.0.tgz";
-      path = fetchurl {
-        name = "ms___ms_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
-        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
-      };
-    }
-    {
-      name = "mz___mz_2.7.0.tgz";
-      path = fetchurl {
-        name = "mz___mz_2.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz";
-        sha1 = "95008057a56cafadc2bc63dde7f9ff6955948e32";
-      };
-    }
-    {
-      name = "negotiator___negotiator_0.6.1.tgz";
-      path = fetchurl {
-        name = "negotiator___negotiator_0.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz";
-        sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
-      };
-    }
-    {
-      name = "node_ssdp___node_ssdp_3.3.0.tgz";
-      path = fetchurl {
-        name = "node_ssdp___node_ssdp_3.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-ssdp/-/node-ssdp-3.3.0.tgz";
-        sha1 = "f19b1faec355f08d29b3ed3f9c626dc80354e6bd";
-      };
-    }
-    {
-      name = "oauth_sign___oauth_sign_0.8.2.tgz";
-      path = fetchurl {
-        name = "oauth_sign___oauth_sign_0.8.2.tgz";
-        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz";
-        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
-      };
-    }
-    {
-      name = "object_assign___object_assign_4.1.1.tgz";
-      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";
-      };
-    }
-    {
-      name = "on_finished___on_finished_2.3.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "only___only_0.0.2.tgz";
-      path = fetchurl {
-        name = "only___only_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz";
-        sha1 = "2afde84d03e50b9a8edc444e30610a70295edfb4";
-      };
-    }
-    {
-      name = "parseurl___parseurl_1.3.2.tgz";
-      path = fetchurl {
-        name = "parseurl___parseurl_1.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz";
-        sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
-      };
-    }
-    {
-      name = "passthrough_counter___passthrough_counter_1.0.0.tgz";
-      path = fetchurl {
-        name = "passthrough_counter___passthrough_counter_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz";
-        sha1 = "1967d9e66da572b5c023c787db112a387ab166fa";
-      };
-    }
-    {
-      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
-      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";
-      };
-    }
-    {
-      name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
-      path = fetchurl {
-        name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
-        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
-      };
-    }
-    {
-      name = "performance_now___performance_now_2.1.0.tgz";
-      path = fetchurl {
-        name = "performance_now___performance_now_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
-      };
-    }
-    {
-      name = "punycode___punycode_1.4.1.tgz";
-      path = fetchurl {
-        name = "punycode___punycode_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
-      };
-    }
-    {
-      name = "qs___qs_6.5.1.tgz";
-      path = fetchurl {
-        name = "qs___qs_6.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz";
-        sha1 = "349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8";
-      };
-    }
-    {
-      name = "request_promise_core___request_promise_core_1.1.1.tgz";
-      path = fetchurl {
-        name = "request_promise_core___request_promise_core_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz";
-        sha1 = "3eee00b2c5aa83239cfb04c5700da36f81cd08b6";
-      };
-    }
-    {
-      name = "request_promise_native___request_promise_native_1.0.5.tgz";
-      path = fetchurl {
-        name = "request_promise_native___request_promise_native_1.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz";
-        sha1 = "5281770f68e0c9719e5163fd3fab482215f4fda5";
-      };
-    }
-    {
-      name = "request___request_2.85.0.tgz";
-      path = fetchurl {
-        name = "request___request_2.85.0.tgz";
-        url  = "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz";
-        sha1 = "5a03615a47c61420b3eb99b7dba204f83603e1fa";
-      };
-    }
-    {
-      name = "resolve_path___resolve_path_1.4.0.tgz";
-      path = fetchurl {
-        name = "resolve_path___resolve_path_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz";
-        sha1 = "c4bda9f5efb2fce65247873ab36bb4d834fe16f7";
-      };
-    }
-    {
-      name = "safe_buffer___safe_buffer_5.1.1.tgz";
-      path = fetchurl {
-        name = "safe_buffer___safe_buffer_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz";
-        sha1 = "893312af69b2123def71f57889001671eeb2c853";
-      };
-    }
-    {
-      name = "setprototypeof___setprototypeof_1.1.0.tgz";
-      path = fetchurl {
-        name = "setprototypeof___setprototypeof_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz";
-        sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656";
-      };
-    }
-    {
-      name = "sntp___sntp_2.1.0.tgz";
-      path = fetchurl {
-        name = "sntp___sntp_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz";
-        sha1 = "2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8";
-      };
-    }
-    {
-      name = "sprintf_js___sprintf_js_1.0.3.tgz";
-      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";
-      };
-    }
-    {
-      name = "sshpk___sshpk_1.14.1.tgz";
-      path = fetchurl {
-        name = "sshpk___sshpk_1.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz";
-        sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
-      };
-    }
-    {
-      name = "statuses___statuses_1.4.0.tgz";
-      path = fetchurl {
-        name = "statuses___statuses_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz";
-        sha1 = "bb73d446da2796106efcc1b601a253d6c46bd087";
-      };
-    }
-    {
-      name = "stealthy_require___stealthy_require_1.1.1.tgz";
-      path = fetchurl {
-        name = "stealthy_require___stealthy_require_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
-        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
-      };
-    }
-    {
-      name = "stringstream___stringstream_0.0.6.tgz";
-      path = fetchurl {
-        name = "stringstream___stringstream_0.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz";
-        sha1 = "7880225b0d4ad10e30927d167a1d6f2fd3b33a72";
-      };
-    }
-    {
-      name = "strip_ansi___strip_ansi_3.0.1.tgz";
-      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 = "supports_color___supports_color_2.0.0.tgz";
-      path = fetchurl {
-        name = "supports_color___supports_color_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
-        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
-      };
-    }
-    {
-      name = "thenify_all___thenify_all_1.6.0.tgz";
-      path = fetchurl {
-        name = "thenify_all___thenify_all_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz";
-        sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
-      };
-    }
-    {
-      name = "thenify___thenify_3.3.0.tgz";
-      path = fetchurl {
-        name = "thenify___thenify_3.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz";
-        sha1 = "e69e38a1babe969b0108207978b9f62b88604839";
-      };
-    }
-    {
-      name = "tough_cookie___tough_cookie_2.3.4.tgz";
-      path = fetchurl {
-        name = "tough_cookie___tough_cookie_2.3.4.tgz";
-        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz";
-        sha1 = "ec60cee38ac675063ffc97a5c18970578ee83655";
-      };
-    }
-    {
-      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "tweetnacl___tweetnacl_0.14.5.tgz";
-      path = fetchurl {
-        name = "tweetnacl___tweetnacl_0.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
-      };
-    }
-    {
-      name = "type_is___type_is_1.6.16.tgz";
-      path = fetchurl {
-        name = "type_is___type_is_1.6.16.tgz";
-        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz";
-        sha1 = "f89ce341541c672b25ee7ae3c73dee3b2be50194";
-      };
-    }
-    {
-      name = "urijs___urijs_1.19.1.tgz";
-      path = fetchurl {
-        name = "urijs___urijs_1.19.1.tgz";
-        url  = "https://registry.yarnpkg.com/urijs/-/urijs-1.19.1.tgz";
-        sha1 = "5b0ff530c0cbde8386f6342235ba5ca6e995d25a";
-      };
-    }
-    {
-      name = "uuid___uuid_3.2.1.tgz";
-      path = fetchurl {
-        name = "uuid___uuid_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz";
-        sha1 = "12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14";
-      };
-    }
-    {
-      name = "vary___vary_1.1.2.tgz";
-      path = fetchurl {
-        name = "vary___vary_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
-        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
-      };
-    }
-    {
-      name = "verror___verror_1.10.0.tgz";
-      path = fetchurl {
-        name = "verror___verror_1.10.0.tgz";
-        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
-        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
-      };
-    }
-  ];
-}
diff --git a/nixpkgs/pkgs/servers/atlassian/jira.nix b/nixpkgs/pkgs/servers/atlassian/jira.nix
index a4b74c25296d..014fbedf6434 100644
--- a/nixpkgs/pkgs/servers/atlassian/jira.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/bazarr/default.nix b/nixpkgs/pkgs/servers/bazarr/default.nix
index 5448898c5900..79f17f96b5d9 100644
--- a/nixpkgs/pkgs/servers/bazarr/default.nix
+++ b/nixpkgs/pkgs/servers/bazarr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bazarr";
-  version = "1.0.0";
+  version = "1.0.2";
 
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
-    sha256 = "sha256-DDisK8friN3u+kNmjc9TjU0cZ/H0wf/Fu6JqZZkLdPU=";
+    sha256 = "sha256-aI5uxfMR+UpwxbUsJNNYYjqVX2epk60JbqWHRhB4v7I=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/bird/default.nix b/nixpkgs/pkgs/servers/bird/default.nix
index bc8c8df3551b..f87ff8c664d8 100644
--- a/nixpkgs/pkgs/servers/bird/default.nix
+++ b/nixpkgs/pkgs/servers/bird/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline, libssh }:
+{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline, libssh, nixosTests }:
 
 with lib;
 
@@ -34,6 +34,8 @@ let
         "--localstatedir=/var"
       ] ++ optional enableIPv6 "--enable-ipv6";
 
+      passthru.tests = nixosTests.bird;
+
       meta = {
         description = "BIRD Internet Routing Daemon";
         homepage = "http://bird.network.cz";
@@ -58,7 +60,7 @@ in
   };
 
   bird2 = generic {
-    version = "2.0.8";
-    sha256 = "1xp7f0im1v8pqqx3xqyfkd1nsxk8vnbqgrdrwnwhg8r5xs1xxlhr";
+    version = "2.0.9";
+    sha256 = "sha256-dnhrvN7TBh4bsiGwEfLMACIewGPenNoASn2bBhoJbV4=";
   };
 }
diff --git a/nixpkgs/pkgs/servers/blockbook/default.nix b/nixpkgs/pkgs/servers/blockbook/default.nix
index 475541231b16..4d0c07b0bf1f 100644
--- a/nixpkgs/pkgs/servers/blockbook/default.nix
+++ b/nixpkgs/pkgs/servers/blockbook/default.nix
@@ -27,7 +27,7 @@ buildGoModule rec {
     sha256 = "1jb195chy3kbspmv9vyg7llw6kgykkmvz3znd97mxf24f4q622jv";
   };
 
-  vendorSha256 = "0d17qaqn33wi7lzw4hlym56d9v4qnmvs6plpm5jiby2g5yckq0mz";
+  vendorSha256 = "1w9c0qzah2f9rbjdxqajwrfkia25cwbn30gidviaid3b7ddpd7r8";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/servers/calibre-web/default.nix b/nixpkgs/pkgs/servers/calibre-web/default.nix
index 8b8e93bc27a0..f6cb86e409c7 100644
--- a/nixpkgs/pkgs/servers/calibre-web/default.nix
+++ b/nixpkgs/pkgs/servers/calibre-web/default.nix
@@ -7,15 +7,31 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "calibre-web";
-  version = "0.6.14";
+  version = "0.6.16";
 
   src = fetchFromGitHub {
     owner = "janeczku";
     repo = "calibre-web";
     rev = version;
-    sha256 = "sha256-rR5pUB3A0WNQxq7ZJ6ykua7hMlzs49aMmVbBUOkOVfA=";
+    sha256 = "sha256-vRnzsV9pubAmyVSxZpBK+mD9Bkbt6BQYo5S0Jsl26Ns=";
   };
 
+  propagatedBuildInputs = with python3Packages; [
+    backports_abc
+    flask-babel
+    flask_login
+    flask_principal
+    flask_wtf
+    iso-639
+    lxml
+    pypdf3
+    requests
+    sqlalchemy
+    tornado
+    unidecode
+    Wand
+  ];
+
   patches = [
     # default-logger.patch switches default logger to /dev/stdout. Otherwise calibre-web tries to open a file relative
     # to its location, which can't be done as the store is read-only. Log file location can later be configured using UI
@@ -36,39 +52,24 @@ python3.pkgs.buildPythonApplication rec {
     mv cps src/calibreweb
 
     substituteInPlace setup.cfg \
-      --replace "requests>=2.11.1,<2.25.0" "requests" \
       --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \
+      --replace "flask-wtf>=0.14.2,<0.16.0" "flask-wtf>=0.14.2" \
+      --replace "lxml>=3.8.0,<4.7.0" "lxml>=3.8.0" \
       --replace "PyPDF3>=1.0.0,<1.0.4" "PyPDF3>=1.0.0" \
-      --replace "unidecode>=0.04.19,<1.3.0" "unidecode>=0.04.19" \
-      --replace "flask-wtf>=0.14.2,<0.16.0" "flask-wtf>=0.14.2"
+      --replace "requests>=2.11.1,<2.25.0" "requests" \
+      --replace "unidecode>=0.04.19,<1.3.0" "unidecode>=0.04.19"
   '';
 
   # Upstream repo doesn't provide any tests.
   doCheck = false;
 
-  propagatedBuildInputs = with python3Packages; [
-    backports_abc
-    flask-babel
-    flask_login
-    flask_principal
-    flask_wtf
-    iso-639
-    lxml
-    pypdf3
-    requests
-    sqlalchemy
-    tornado
-    unidecode
-    Wand
-  ];
-
   passthru.tests.calibre-web = nixosTests.calibre-web;
 
   meta = with lib; {
     description = "Web app for browsing, reading and downloading eBooks stored in a Calibre database";
-    maintainers = with maintainers; [ pborzenkov ];
     homepage = "https://github.com/janeczku/calibre-web";
     license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ pborzenkov ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/servers/cayley/default.nix b/nixpkgs/pkgs/servers/cayley/default.nix
index 13bf9326c22b..97aac4272cea 100644
--- a/nixpkgs/pkgs/servers/cayley/default.nix
+++ b/nixpkgs/pkgs/servers/cayley/default.nix
@@ -20,7 +20,7 @@ buildGoPackage rec {
   ];
 
   meta = {
-    homepage = "https://cayley.io/";
+    homepage = "https://github.com/cayleygraph/cayley";
     description = "A graph database inspired by Freebase and Knowledge Graph";
     maintainers = with lib.maintainers; [ sigma ];
     license = lib.licenses.asl20;
diff --git a/nixpkgs/pkgs/servers/code-server/default.nix b/nixpkgs/pkgs/servers/code-server/default.nix
index d6e39f8cdb1f..4a8d19687f7f 100644
--- a/nixpkgs/pkgs/servers/code-server/default.nix
+++ b/nixpkgs/pkgs/servers/code-server/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand
-, moreutils, jq, git, cacert, zip, rsync, pkg-config, yarn, python3
-, esbuild, nodejs-14_x, libsecret, xorg, ripgrep
-, AppKit, Cocoa, Security, cctools }:
+, cacert, moreutils, jq, git, rsync, pkg-config, yarn, python3
+, esbuild, nodejs-14_x, node-gyp, libsecret, xorg, ripgrep
+, AppKit, Cocoa, CoreServices, Security, cctools, xcbuild }:
 
 let
   system = stdenv.hostPlatform.system;
@@ -11,16 +11,24 @@ let
   yarn' = yarn.override { inherit nodejs; };
   defaultYarnOpts = [ "frozen-lockfile" "non-interactive" "no-progress"];
 
+  # replaces esbuild's download script with a binary from nixpkgs
+  patchEsbuild = path : version : ''
+    mkdir -p ${path}/node_modules/esbuild/bin
+    jq "del(.scripts.postinstall)" ${path}/node_modules/esbuild/package.json | sponge ${path}/node_modules/esbuild/package.json
+    sed -i 's/${version}/${esbuild.version}/g' ${path}/node_modules/esbuild/lib/main.js
+    ln -s -f ${esbuild}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild
+  '';
+
 in stdenv.mkDerivation rec {
   pname = "code-server";
-  version = "3.12.0";
-  commit = "798dc0baf284416dbbf951e4ef596beeab6cb6c4";
+  version = "4.0.1";
+  commit = "7fe23daf009e5234eaa54a1ea5ff26df384c47ac";
 
   src = fetchFromGitHub {
     owner = "cdr";
     repo = "code-server";
     rev = "v${version}";
-    sha256 = "17v3sz0wjrmikmzyh9xswr4kf1vcj9njlibqb4wwj0pq0d72wdvl";
+    sha256 = "1s3dcmzlkyh7qfs3ai1p7dlp45iys0ax1fbxxz17p395pw9anrrl";
   };
 
   cloudAgent = buildGoModule rec {
@@ -63,27 +71,16 @@ in stdenv.mkDerivation rec {
     outputHashAlgo = "sha256";
 
     # to get hash values use nix-build -A code-server.prefetchYarnCache
-    outputHash = {
-      x86_64-linux = "1clfdl9hy5j2dj6jj6a9vgq0wzllfj0h2hbb73959k3w85y4ad2w";
-      aarch64-linux = "1clfdl9hy5j2dj6jj6a9vgq0wzllfj0h2hbb73959k3w85y4ad2w";
-      x86_64-darwin = "1clfdl9hy5j2dj6jj6a9vgq0wzllfj0h2hbb73959k3w85y4ad2w";
-    }.${system} or (throw "Unsupported system ${system}");
+    outputHash = "0qmfsirld1qfl2s26rxbpmvxsyj2pvzkgk8w89zlrgbhgc5fj8p9";
   };
 
-  # 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
-  '';
-
   nativeBuildInputs = [
-    nodejs yarn' python pkg-config zip makeWrapper git rsync jq moreutils
+    nodejs yarn' python pkg-config makeWrapper git rsync jq moreutils
   ];
   buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
     ++ (with xorg; [ libX11 libxkbfile ])
     ++ lib.optionals stdenv.isDarwin [
-      AppKit Cocoa Security cctools
+      AppKit Cocoa CoreServices Security cctools xcbuild
     ];
 
   patches = [
@@ -119,9 +116,17 @@ in stdenv.mkDerivation rec {
 
     # skip unnecessary electron download
     export ELECTRON_SKIP_BINARY_DOWNLOAD=1
-  '' + lib.optionalString stdenv.isLinux ''
-    # set nodedir, so we can build binaries later
-    npm config set nodedir "${nodeSources}"
+
+    # set nodedir to prevent node-gyp from downloading headers
+    # taken from https://nixos.org/manual/nixpkgs/stable/#javascript-tool-specific
+    mkdir -p $HOME/.node-gyp/${nodejs.version}
+    echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
+    ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
+    export npm_config_nodedir=${nodejs}
+
+    # use updated node-gyp. fixes the following error on Darwin:
+    # PermissionError: [Errno 1] Operation not permitted: '/usr/sbin/pkgutil'
+    export npm_config_node_gyp=${node-gyp}/lib/node_modules/node-gyp/bin/node-gyp.js
   '';
 
   buildPhase = ''
@@ -169,6 +174,9 @@ in stdenv.mkDerivation rec {
     # sw_vers before that variable is checked.
     patch -p1 -i ${./playwright.patch}
 
+    # Patch out remote download of nodejs from build script
+    patch -p1 -i ${./remove-node-download.patch}
+
     # Replicate install vscode dependencies without running script for all vscode packages
     # that require patching for postinstall scripts to succeed
     find ./vendor/modules/code-oss-dev -path "*node_modules" -prune -o \
@@ -176,21 +184,21 @@ in stdenv.mkDerivation rec {
         xargs -I {} yarn --cwd {} \
           --frozen-lockfile --offline --ignore-scripts --ignore-engines
 
+
     # patch shebangs of everything to allow binary packages to build
     patchShebangs .
 
-    # patch build esbuild
-    mkdir -p vendor/modules/code-oss-dev/build/node_modules/esbuild/bin
-    jq "del(.scripts.postinstall)" vendor/modules/code-oss-dev/build/node_modules/esbuild/package.json | sponge vendor/modules/code-oss-dev/build/node_modules/esbuild/package.json
-    sed -i 's/0.12.6/${esbuild.version}/g' vendor/modules/code-oss-dev/build/node_modules/esbuild/lib/main.js
-    ln -s -f ${esbuild}/bin/esbuild vendor/modules/code-oss-dev/build/node_modules/esbuild/bin/esbuild
-
-    # patch extensions esbuild
-    mkdir -p vendor/modules/code-oss-dev/extensions/node_modules/esbuild/bin
-    jq "del(.scripts.postinstall)" vendor/modules/code-oss-dev/extensions/node_modules/esbuild/package.json | sponge vendor/modules/code-oss-dev/extensions/node_modules/esbuild/package.json
-    sed -i 's/0.11.12/${esbuild.version}/g' vendor/modules/code-oss-dev/extensions/node_modules/esbuild/lib/main.js
-    ln -s -f ${esbuild}/bin/esbuild vendor/modules/code-oss-dev/extensions/node_modules/esbuild/bin/esbuild
-
+    ${patchEsbuild "./vendor/modules/code-oss-dev/build" "0.12.6"}
+    ${patchEsbuild "./vendor/modules/code-oss-dev/extensions" "0.11.23"}
+  '' + lib.optionalString stdenv.isDarwin ''
+    # use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+
+    # (see issue #101229)
+    pushd ./vendor/modules/code-oss-dev/remote/node_modules/@parcel/watcher
+    mkdir -p ./build/Release
+    mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node
+    jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json
+    popd
+  '' + ''
     # rebuild binaries, we use npm here, as yarn does not provide an alternative
     # that would not attempt to try to reinstall everything and break our
     # patching attempts
diff --git a/nixpkgs/pkgs/servers/code-server/playwright.patch b/nixpkgs/pkgs/servers/code-server/playwright.patch
index e03d7f82184a..95a74748189d 100644
--- a/nixpkgs/pkgs/servers/code-server/playwright.patch
+++ b/nixpkgs/pkgs/servers/code-server/playwright.patch
@@ -4,7 +4,7 @@
   * limitations under the License.
   */
  
--const { installBrowsersWithProgressBar } = require('./lib/install/installer');
+-const { installDefaultBrowsersForNpmInstall } = require('playwright-core/lib/utils/registry');
 -
--installBrowsersWithProgressBar();
+-installDefaultBrowsersForNpmInstall();
 +process.stdout.write('Browser install disabled by Nix build script\n');
diff --git a/nixpkgs/pkgs/servers/code-server/remove-cloud-agent-download.patch b/nixpkgs/pkgs/servers/code-server/remove-cloud-agent-download.patch
index dd8f6fccb5b9..0b16e16aec8b 100644
--- a/nixpkgs/pkgs/servers/code-server/remove-cloud-agent-download.patch
+++ b/nixpkgs/pkgs/servers/code-server/remove-cloud-agent-download.patch
@@ -1,10 +1,11 @@
 --- ./ci/build/npm-postinstall.sh
 +++ ./ci/build/npm-postinstall.sh
-@@ -56,13 +56,6 @@
-     ;;
-   esac
- 
--  OS="$(uname | tr '[:upper:]' '[:lower:]')"
+@@ -58,14 +58,6 @@
+
+   OS="$(uname | tr '[:upper:]' '[:lower:]')"
+
+-  mkdir -p ./lib
+-
 -  if curl -fsSL "https://github.com/cdr/cloud-agent/releases/latest/download/cloud-agent-$OS-$ARCH" -o ./lib/coder-cloud-agent; then
 -    chmod +x ./lib/coder-cloud-agent
 -  else
diff --git a/nixpkgs/pkgs/servers/code-server/remove-node-download.patch b/nixpkgs/pkgs/servers/code-server/remove-node-download.patch
new file mode 100644
index 000000000000..282d716752f2
--- /dev/null
+++ b/nixpkgs/pkgs/servers/code-server/remove-node-download.patch
@@ -0,0 +1,27 @@
+--- ./vendor/modules/code-oss-dev/build/gulpfile.reh.js
++++ ./vendor/modules/code-oss-dev/build/gulpfile.reh.js
+@@ -277,8 +277,6 @@
+ 			.pipe(util.stripSourceMappingURL())
+ 			.pipe(jsFilter.restore);
+ 
+-		const nodePath = `.build/node/v${nodeVersion}/${platform}-${platform === 'darwin' ? 'x64' : arch}`;
+-		const node = gulp.src(`${nodePath}/**`, { base: nodePath, dot: true });
+ 
+ 		let web = [];
+ 		if (type === 'reh-web') {
+@@ -296,7 +294,6 @@
+ 			license,
+ 			sources,
+ 			deps,
+-			node,
+ 			...web
+ 		);
+ 
+@@ -376,7 +373,6 @@
+ 			const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`;
+ 
+ 			const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series(
+-				gulp.task(`node-${platform}-${platform === 'darwin' ? 'x64' : arch}`),
+ 				util.rimraf(path.join(BUILD_ROOT, destinationFolderName)),
+ 				packageTask(type, platform, arch, sourceFolderName, destinationFolderName)
+ 			));
diff --git a/nixpkgs/pkgs/servers/computing/storm/default.nix b/nixpkgs/pkgs/servers/computing/storm/default.nix
index 146db2ea5de5..cf6427c860cf 100644
--- a/nixpkgs/pkgs/servers/computing/storm/default.nix
+++ b/nixpkgs/pkgs/servers/computing/storm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, zip, unzip
-, jdk, python
+, jdk, python2
 , confFile ? ""
 , extraLibraryPaths ? []
 , extraJars ? []
@@ -30,11 +30,11 @@ stdenv.mkDerivation rec {
   fixupPhase = ''
     # Fix python reference
     sed -i \
-      -e '19iPYTHON=${python}/bin/python' \
-      -e 's|#!/usr/bin/.*python|#!${python}/bin/python|' \
+      -e '19iPYTHON=${python2}/bin/python' \
+      -e 's|#!/usr/bin/.*python|#!${python2}/bin/python|' \
       $out/bin/storm
     sed -i \
-      -e 's|#!/usr/bin/.*python|#!${python}/bin/python|' \
+      -e 's|#!/usr/bin/.*python|#!${python2}/bin/python|' \
       -e "s|STORM_CONF_DIR = .*|STORM_CONF_DIR = os.getenv('STORM_CONF_DIR','$out/conf')|" \
       -e 's|STORM_LOG4J2_CONF_DIR =.*|STORM_LOG4J2_CONF_DIR = os.path.join(STORM_CONF_DIR, "log4j2")|' \
         $out/bin/storm.py
diff --git a/nixpkgs/pkgs/servers/consul/default.nix b/nixpkgs/pkgs/servers/consul/default.nix
index bf75eb4d3a51..9b2e9e20dd53 100644
--- a/nixpkgs/pkgs/servers/consul/default.nix
+++ b/nixpkgs/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.10.3";
+  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-Jn8cF+8Wf4zZ/PFXvjCGpomSa/DvraBGW0LsZQ+Zy+4=";
+    sha256 = "sha256-kIV6XMicvBdtNOt3BJsOK/KZO3zQLuPgastMVoY8jM8=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,12 +26,10 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorSha256 = "sha256-cQP1po9LGunFVocl4+HPs67oae2KpgyfRRB+xGVySUY=";
+  vendorSha256 = "sha256-7oQGoMR7woN2RaEMCap9OWJdtGL4MvLN+FTKLqJHsCk=";
 
   doCheck = false;
 
-  deleteVendor = true;
-
   ldflags = [
     "-X github.com/hashicorp/consul/version.GitDescribe=v${version}"
     "-X github.com/hashicorp/consul/version.Version=${version}"
@@ -43,6 +41,6 @@ buildGoModule rec {
     homepage = "https://www.consul.io/";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.mpl20;
-    maintainers = with maintainers; [ pradeepchhetri vdemeester nh2 ];
+    maintainers = with maintainers; [ pradeepchhetri vdemeester nh2 techknowlogick];
   };
 }
diff --git a/nixpkgs/pkgs/servers/dcnnt/default.nix b/nixpkgs/pkgs/servers/dcnnt/default.nix
new file mode 100644
index 000000000000..0cab4a326c58
--- /dev/null
+++ b/nixpkgs/pkgs/servers/dcnnt/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonApplication, fetchPypi, lib, pycryptodome }:
+
+buildPythonApplication rec {
+  pname = "dcnnt";
+  version = "0.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ef8578526163cb3e25fa352ba2f6f4d39309f477a72282416c89eddfb69c3a91";
+  };
+
+  propagatedBuildInputs = [
+    pycryptodome
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/cyanomiko/dcnnt-py";
+    description = "UI-less tool to connect Android phone with desktop";
+    longDescription = ''
+      Yet another tool to connect Android phone with desktop similar to
+      KDE Connect.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ arnoutkroeze ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/dns/bind/default.nix b/nixpkgs/pkgs/servers/dns/bind/default.nix
index 19b3a25de595..5aa702e28d62 100644
--- a/nixpkgs/pkgs/servers/dns/bind/default.nix
+++ b/nixpkgs/pkgs/servers/dns/bind/default.nix
@@ -9,18 +9,17 @@
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.16.16";
+  version = "9.16.25";
 
   src = fetchurl {
     url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-bJE5Aq34eOfcXiKc6pT678nUD0R3WjAhPt0Ihg92HXs=";
+    sha256 = "sha256-n6MohQ+ChD74t78f9TIstosRAnOjPzdbpB81Jw9eH/M=";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
 
   patches = [
     ./dont-keep-configure-flags.patch
-    ./remove-mkdir-var.patch
   ];
 
   nativeBuildInputs = [ perl pkg-config ];
diff --git a/nixpkgs/pkgs/servers/dns/bind/dont-keep-configure-flags.patch b/nixpkgs/pkgs/servers/dns/bind/dont-keep-configure-flags.patch
index ceb887e678eb..89c58226573d 100644
--- a/nixpkgs/pkgs/servers/dns/bind/dont-keep-configure-flags.patch
+++ b/nixpkgs/pkgs/servers/dns/bind/dont-keep-configure-flags.patch
@@ -1,20 +1,22 @@
-diff -ru a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h
---- a/bin/named/include/named/globals.h	2020-09-24 17:43:49.398977491 +0200
-+++ b/bin/named/include/named/globals.h	2020-09-24 17:44:36.826590553 +0200
-@@ -69,7 +69,9 @@
- EXTERN const char *named_g_product     INIT(PRODUCT);
- EXTERN const char *named_g_description INIT(DESCRIPTION);
- EXTERN const char *named_g_srcid       INIT(SRCID);
+diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h
+index 82b632ef04..dedfd4d33b 100644
+--- a/bin/named/include/named/globals.h
++++ b/bin/named/include/named/globals.h
+@@ -71,7 +71,9 @@ EXTERN const char *named_g_version	  INIT(VERSION);
+ EXTERN const char *named_g_product	  INIT(PRODUCT);
+ EXTERN const char *named_g_description	  INIT(DESCRIPTION);
+ EXTERN const char *named_g_srcid	  INIT(SRCID);
 +#if 0
- EXTERN const char *named_g_configargs  INIT(CONFIGARGS);
+ EXTERN const char *named_g_configargs	  INIT(CONFIGARGS);
 +#endif
- EXTERN const char *named_g_builder     INIT(BUILDER);
- EXTERN in_port_t named_g_port	       INIT(0);
- EXTERN isc_dscp_t named_g_dscp	       INIT(-1);
-diff -ru a/bin/named/main.c b/bin/named/main.c
---- a/bin/named/main.c	2020-09-24 17:43:49.399977504 +0200
-+++ b/bin/named/main.c	2020-09-24 17:44:24.102426273 +0200
-@@ -506,7 +506,9 @@
+ EXTERN const char *named_g_builder	  INIT(BUILDER);
+ EXTERN in_port_t named_g_port		  INIT(0);
+ EXTERN isc_dscp_t named_g_dscp		  INIT(-1);
+diff --git a/bin/named/main.c b/bin/named/main.c
+index 9ad2d0e277..9729a2b3fc 100644
+--- a/bin/named/main.c
++++ b/bin/named/main.c
+@@ -521,7 +521,9 @@ printversion(bool verbose) {
  	}
  
  	printf("running on %s\n", named_os_uname());
@@ -24,7 +26,7 @@ diff -ru a/bin/named/main.c b/bin/named/main.c
  #ifdef __clang__
  	printf("compiled by CLANG %s\n", __VERSION__);
  #else /* ifdef __clang__ */
-@@ -1102,9 +1104,11 @@
+@@ -1089,9 +1091,11 @@ setup(void) {
  		      NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, "running on %s",
  		      named_os_uname());
  
diff --git a/nixpkgs/pkgs/servers/dns/bind/remove-mkdir-var.patch b/nixpkgs/pkgs/servers/dns/bind/remove-mkdir-var.patch
deleted file mode 100644
index d0dcd580c20a..000000000000
--- a/nixpkgs/pkgs/servers/dns/bind/remove-mkdir-var.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -53,8 +53,7 @@ docclean manclean maintainer-clean::
- doc man:: ${MANOBJS}
- 
- installdirs:
--	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir} \
--	${DESTDIR}${localstatedir}/run ${DESTDIR}${sysconfdir}
-+	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir} ${DESTDIR}${sysconfdir}
-	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
- 
- install:: isc-config.sh installdirs
diff --git a/nixpkgs/pkgs/servers/dns/coredns/default.nix b/nixpkgs/pkgs/servers/dns/coredns/default.nix
index 09991c781452..7e6347e9ba36 100644
--- a/nixpkgs/pkgs/servers/dns/coredns/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/dns/dnsdist/default.nix b/nixpkgs/pkgs/servers/dns/dnsdist/default.nix
index 0424880c08e8..3188533dadc5 100644
--- a/nixpkgs/pkgs/servers/dns/dnsdist/default.nix
+++ b/nixpkgs/pkgs/servers/dns/dnsdist/default.nix
@@ -1,19 +1,26 @@
 { lib, stdenv, fetchurl, pkg-config, systemd
 , boost, libsodium, libedit, re2
 , net-snmp, lua, protobuf, openssl, zlib, h2o
+, nghttp2, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "dnsdist";
-  version = "1.5.2";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/dnsdist-${version}.tar.bz2";
-    sha256 = "sha256-K9e1M9Lae7RWY8amLkftDS8Zigd/WNxzDEY7eXNjZ0k=";
+    sha256 = "sha256-eMxyywzPf7Xz8vrgnHntplpSVjdNoJu1Qbc16mho/GQ=";
   };
 
+  patches = [
+    # Disable tests requiring networking:
+    # "Error connecting to new server with address 192.0.2.1:53: connecting socket to 192.0.2.1:53: Network is unreachable"
+    ./disable-network-tests.patch
+  ];
+
   nativeBuildInputs = [ pkg-config protobuf ];
-  buildInputs = [ systemd boost libsodium libedit re2 net-snmp lua openssl zlib h2o ];
+  buildInputs = [ systemd boost libsodium libedit re2 net-snmp lua openssl zlib h2o nghttp2 ];
 
   configureFlags = [
     "--with-libsodium"
@@ -32,10 +39,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.tests = {
+    inherit (nixosTests) dnsdist;
+  };
+
   meta = with lib; {
     description = "DNS Loadbalancer";
     homepage = "https://dnsdist.org";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ SuperSandro2000 ];
+    maintainers = with maintainers; [ jojosch ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/dns/dnsdist/disable-network-tests.patch b/nixpkgs/pkgs/servers/dns/dnsdist/disable-network-tests.patch
new file mode 100644
index 000000000000..fd0fdfbc4eae
--- /dev/null
+++ b/nixpkgs/pkgs/servers/dns/dnsdist/disable-network-tests.patch
@@ -0,0 +1,28 @@
+diff --git a/test-dnsdisttcp_cc.cc b/test-dnsdisttcp_cc.cc
+index 1fbb00e..dc04137 100644
+--- a/test-dnsdisttcp_cc.cc
++++ b/test-dnsdisttcp_cc.cc
+@@ -848,6 +848,7 @@ BOOST_AUTO_TEST_CASE(test_IncomingConnectionWithProxyProtocol_SelfAnswered)
+ 
+ BOOST_AUTO_TEST_CASE(test_IncomingConnection_BackendNoOOOR)
+ {
++  return;
+   auto local = getBackendAddress("1", 80);
+   ClientState localCS(local, true, false, false, "", {});
+   auto tlsCtx = std::make_shared<MockupTLSCtx>();
+@@ -1711,6 +1712,7 @@ BOOST_AUTO_TEST_CASE(test_IncomingConnection_BackendNoOOOR)
+ 
+ BOOST_AUTO_TEST_CASE(test_IncomingConnectionOOOR_BackendOOOR)
+ {
++  return;
+   auto local = getBackendAddress("1", 80);
+   ClientState localCS(local, true, false, false, "", {});
+   /* enable out-of-order on the front side */
+@@ -3677,6 +3679,7 @@ BOOST_AUTO_TEST_CASE(test_IncomingConnectionOOOR_BackendOOOR)
+ 
+ BOOST_AUTO_TEST_CASE(test_IncomingConnectionOOOR_BackendNotOOOR)
+ {
++  return;
+   auto local = getBackendAddress("1", 80);
+   ClientState localCS(local, true, false, false, "", {});
+   /* enable out-of-order on the front side */
diff --git a/nixpkgs/pkgs/servers/dns/doh-proxy-rust/default.nix b/nixpkgs/pkgs/servers/dns/doh-proxy-rust/default.nix
index fb87e3b19484..221ae7ce7243 100644
--- a/nixpkgs/pkgs/servers/dns/doh-proxy-rust/default.nix
+++ b/nixpkgs/pkgs/servers/dns/doh-proxy-rust/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchCrate, stdenv, Security, libiconv }:
+{ lib, rustPlatform, fetchCrate, stdenv, Security, libiconv, nixosTests }:
 
 rustPlatform.buildRustPackage rec {
   pname = "doh-proxy-rust";
@@ -14,6 +14,8 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
 
+  passthru.tests = { inherit (nixosTests) doh-proxy-rust; };
+
   meta = with lib; {
     homepage = "https://github.com/jedisct1/doh-server";
     description = "Fast, mature, secure DoH server proxy written in Rust";
diff --git a/nixpkgs/pkgs/servers/dns/knot-dns/default.nix b/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
index 1938e9c02b66..80939b8df45d 100644
--- a/nixpkgs/pkgs/servers/dns/knot-dns/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
index 94fa36c5b03d..4d12a6d7172a 100644
--- a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
+++ b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch
+{ lib, stdenv, fetchurl
 # native deps.
 , runCommand, pkg-config, meson, ninja, makeWrapper
 # build+runtime deps.
@@ -17,23 +17,15 @@ lua = luajitPackages;
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "5.4.3";
+  version = "5.4.4";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    sha256 = "488729eb93190336b6bca10de0d78ecb7919f77fcab105debc0a644aa7d0a506";
+    sha256 = "588964319e943679d391cc9c886d40ef858ecd9b33ae160023b4e2b5182b2cea";
   };
 
   outputs = [ "out" "dev" ];
 
-  patches = [
-    (fetchpatch { # https://gitlab.nic.cz/knot/knot-resolver/-/merge_requests/1237
-      name = "console.aws.amazon.com-fix.patch";
-      url = "https://gitlab.nic.cz/knot/knot-resolver/-/commit/f4dabfbec9273703.diff";
-      sha256 = "3J+FDwNQ6CqIGo9pSzhrQZlHX99vXFDpPOBpwpCnOxs=";
-    })
-  ];
-
   # Path fixups for the NixOS service.
   postPatch = ''
     patch meson.build <<EOF
diff --git a/nixpkgs/pkgs/servers/domoticz/default.nix b/nixpkgs/pkgs/servers/domoticz/default.nix
index 883b80776957..2ed4f5f26536 100644
--- a/nixpkgs/pkgs/servers/domoticz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/etcd/default.nix b/nixpkgs/pkgs/servers/etcd/3.3.nix
index dabd46a4d47a..4dbe69329725 100644
--- a/nixpkgs/pkgs/servers/etcd/default.nix
+++ b/nixpkgs/pkgs/servers/etcd/3.3.nix
@@ -31,6 +31,5 @@ buildGoPackage rec {
     license = licenses.asl20;
     homepage = "https://etcd.io/";
     maintainers = with maintainers; [ offline zowoq ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/etcd/3.4.nix b/nixpkgs/pkgs/servers/etcd/3.4.nix
index dc2e5adb961a..538b7a7d2308 100644
--- a/nixpkgs/pkgs/servers/etcd/3.4.nix
+++ b/nixpkgs/pkgs/servers/etcd/3.4.nix
@@ -30,6 +30,5 @@ buildGoModule rec {
     license = licenses.asl20;
     homepage = "https://etcd.io/";
     maintainers = with maintainers; [ offline zowoq ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/etcd/3.5.nix b/nixpkgs/pkgs/servers/etcd/3.5.nix
new file mode 100644
index 000000000000..ba52feaa9a3b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/etcd/3.5.nix
@@ -0,0 +1,82 @@
+{ lib, buildGoModule, fetchFromGitHub, symlinkJoin }:
+
+let
+  etcdVersion = "3.5.1";
+  etcdSrc = fetchFromGitHub {
+    owner = "etcd-io";
+    repo = "etcd";
+    rev = "v${etcdVersion}";
+    sha256 = "sha256-Ip7JAWbZBZcc8MXd+Sw05QmTs448fQXpQ5XXo6RW+Gs=";
+  };
+
+  commonMeta = with lib; {
+    description = "Distributed reliable key-value store for the most critical data of a distributed system";
+    license = licenses.asl20;
+    homepage = "https://etcd.io/";
+    maintainers = with maintainers; [ offline zowoq endocrimes ];
+    platforms = platforms.darwin ++ platforms.linux;
+  };
+
+  etcdserver = buildGoModule rec {
+    pname = "etcdserver";
+    version = etcdVersion;
+
+    vendorSha256 = "sha256-hJzmxCcwN6MTgE0NpjtFlm8pjZ83clQXv1k5YM8Gmes=";
+
+    src = etcdSrc;
+    modRoot = "./server";
+
+    postBuild = ''
+      mv $GOPATH/bin/{server,etcd}
+    '';
+
+    CGO_ENABLED = 0;
+
+    # We set the GitSHA to `GitNotFound` to match official build scripts when
+    # git is unavailable. This is to avoid doing a full Git Checkout of etcd.
+    # User facing version numbers are still available in the binary, just not
+    # the sha it was built from.
+    ldflags = [ "-X go.etcd.io/etcd/api/v3/version.GitSHA=GitNotFound" ];
+
+    meta = commonMeta;
+  };
+
+  etcdutl = buildGoModule rec {
+    pname = "etcdutl";
+    version = etcdVersion;
+
+    vendorSha256 = "sha256-My0kzsN2i8DgPm2yIkbql3VyMXPaHmQSeaa/uK/RFxo=";
+
+    src = etcdSrc;
+    modRoot = "./etcdutl";
+
+    CGO_ENABLED = 0;
+
+    meta = commonMeta;
+  };
+
+  etcdctl = buildGoModule rec {
+    pname = "etcdutl";
+    version = etcdVersion;
+
+    vendorSha256 = "sha256-XZKBA95UrhbiefnDvpaXcBA0wUjnpH+Pb6yXp7yc4HQ=";
+
+    src = etcdSrc;
+    modRoot = "./etcdctl";
+
+    CGO_ENABLED = 0;
+
+    meta = commonMeta;
+  };
+in
+symlinkJoin {
+  name = "etcd";
+  version = etcdVersion;
+  meta = commonMeta;
+
+  paths = [
+    etcdserver
+    etcdutl
+    etcdctl
+  ];
+}
diff --git a/nixpkgs/pkgs/servers/fcgiwrap/default.nix b/nixpkgs/pkgs/servers/fcgiwrap/default.nix
index eee65c3a5d1f..0efadc6524a9 100644
--- a/nixpkgs/pkgs/servers/fcgiwrap/default.nix
+++ b/nixpkgs/pkgs/servers/fcgiwrap/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://nginx.localdomain.pl/wiki/FcgiWrap";
+    homepage = "https://github.com/gnosek/fcgiwrap";
     description = "Simple server for running CGI applications over FastCGI";
     maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
diff --git a/nixpkgs/pkgs/servers/firebird/default.nix b/nixpkgs/pkgs/servers/firebird/default.nix
index 5a975205a245..5348862ed6d5 100644
--- a/nixpkgs/pkgs/servers/firebird/default.nix
+++ b/nixpkgs/pkgs/servers/firebird/default.nix
@@ -54,13 +54,13 @@ let base = {
   });
 
   firebird_3 = stdenv.mkDerivation (base // rec {
-    version = "3.0.7";
+    version = "3.0.8";
 
     src = fetchFromGitHub {
       owner = "FirebirdSQL";
       repo = "firebird";
-      rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}";
-      sha256 = "sha256-8nGan10qjW8dFF89BL/tUWtwMGhahBiODbOqRrHSrbs=";
+      rev = "v${version}";
+      sha256 = "sha256-l1V3CGxTybPY8pl6WhsExqdWJLiYsOv5BCrU/iD+I7k=";
     };
 
     buildInputs = base.buildInputs ++ [ zlib libtommath ];
@@ -69,13 +69,13 @@ let base = {
   });
 
   firebird_4 = stdenv.mkDerivation (base // rec {
-    version = "4.0.0";
+    version = "4.0.1";
 
     src = fetchFromGitHub {
       owner = "FirebirdSQL";
       repo = "firebird";
       rev = "v${version}";
-      sha256 = "sha256-a4ex19FMfiJsUEhWUYd2YXKgJ24Jnpoab2t6x9sUuyQ=";
+      sha256 = "sha256-0XUu1g/VTrklA3vCpX6HWr7sdW2eQupnelpFNSGcouM=";
     };
 
     buildInputs = base.buildInputs ++ [ zlib unzip libtommath libtomcrypt ];
diff --git a/nixpkgs/pkgs/servers/foundationdb/cmake.nix b/nixpkgs/pkgs/servers/foundationdb/cmake.nix
index 2a94008a4e9a..98fd6ca79813 100644
--- a/nixpkgs/pkgs/servers/foundationdb/cmake.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/foundationdb/default.nix b/nixpkgs/pkgs/servers/foundationdb/default.nix
index b3a876546e78..69e4ad9bd018 100644
--- a/nixpkgs/pkgs/servers/foundationdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/freeradius/default.nix b/nixpkgs/pkgs/servers/freeradius/default.nix
index 06ce536b18d1..a3cdec3fec8a 100644
--- a/nixpkgs/pkgs/servers/freeradius/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/frr/default.nix b/nixpkgs/pkgs/servers/frr/default.nix
new file mode 100644
index 000000000000..833710f1feca
--- /dev/null
+++ b/nixpkgs/pkgs/servers/frr/default.nix
@@ -0,0 +1,137 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, python3Packages
+
+# build time
+, autoreconfHook
+, flex
+, bison
+, perl
+, pkg-config
+, texinfo
+
+# runtime
+, c-ares
+, json_c
+, libcap
+, libelf
+, libunwind
+, libyang
+, net-snmp
+, openssl
+, pam
+, pcre2
+, python3
+, readline
+
+# tests
+, nettools
+, nixosTests
+}:
+
+stdenv.mkDerivation rec {
+  pname = "frr";
+  version = "8.1";
+
+  src = fetchFromGitHub {
+    owner = "FRRouting";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "sha256-hJcgLiPBxOE5QEh0RhtZhM3dOxFqW5H0TUjN+aP4qRk=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # Fix clippy build on aarch64-linux
+      # https://github.com/FRRouting/frr/issues/10267
+      url = "https://github.com/FRRouting/frr/commit/3942ee1f7bc754dd0dd9ae79f89d0f2635be334f.patch";
+      sha256 = "1i0acfy5k9fbm9cxchrcvkhyw9704srq4wm2hyjqgdimm2dq7ryf";
+    })
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    bison
+    flex
+    perl
+    pkg-config
+    python3Packages.sphinx
+    texinfo
+  ];
+
+  buildInputs = [
+    c-ares
+    json_c
+    libelf
+    libunwind
+    libyang
+    net-snmp
+    openssl
+    pam
+    pcre2
+    python3
+    readline
+  ] ++ lib.optionals stdenv.isLinux [
+    libcap
+  ];
+
+  configureFlags = [
+    "--sysconfdir=/etc/frr"
+    "--localstatedir=/run/frr"
+    "--sbindir=$(out)/libexec/frr"
+    "--disable-exampledir"
+    "--enable-user=frr"
+    "--enable-group=frr"
+    "--enable-configfile-mask=0640"
+    "--enable-logfile-mask=0640"
+    "--enable-vty-group=frrvty"
+    "--enable-snmp"
+    "--enable-multipath=64"
+  ];
+
+  postPatch = ''
+    substituteInPlace tools/frr-reload --replace /usr/lib/frr/ $out/libexec/frr/
+  '';
+
+  doCheck = true;
+  checkInputs = [
+    nettools
+    python3Packages.pytest
+  ];
+
+  enableParallelBuilding = true;
+
+  passthru.tests = { inherit (nixosTests) frr; };
+
+  meta = with lib; {
+    description = "FRR BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite";
+    longDescription = ''
+      FRRouting (FRR) is a free and open source Internet routing protocol suite
+      for Linux and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM,
+      LDP, BFD, Babel, PBR, OpenFabric and VRRP, with alpha support for EIGRP
+      and NHRP.
+
+      FRR’s seamless integration with native Linux/Unix IP networking stacks
+      makes it a general purpose routing stack applicable to a wide variety of
+      use cases including connecting hosts/VMs/containers to the network,
+      advertising network services, LAN switching and routing, Internet access
+      routers, and Internet peering.
+
+      FRR has its roots in the Quagga project. In fact, it was started by many
+      long-time Quagga developers who combined their efforts to improve on
+      Quagga’s well-established foundation in order to create the best routing
+      protocol stack available. We invite you to participate in the FRRouting
+      community and help shape the future of networking.
+
+      Join the ranks of network architects using FRR for ISPs, SaaS
+      infrastructure, web 2.0 businesses, hyperscale services, and Fortune 500
+      private clouds.
+    '';
+    homepage = "https://frrouting.org/";
+    license = with licenses; [ gpl2Plus lgpl21Plus ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ woffs ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/ftp/bftpd/default.nix b/nixpkgs/pkgs/servers/ftp/bftpd/default.nix
index 015802ac31eb..6bedb469f4d4 100644
--- a/nixpkgs/pkgs/servers/ftp/bftpd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/gemini/agate/default.nix b/nixpkgs/pkgs/servers/gemini/agate/default.nix
index 2c45d7c75a4c..32fcb856d26e 100644
--- a/nixpkgs/pkgs/servers/gemini/agate/default.nix
+++ b/nixpkgs/pkgs/servers/gemini/agate/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
+{ lib, stdenv, nixosTests, fetchFromGitHub, rustPlatform, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "agate";
-  version = "3.1.0";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "mbrubeck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-miIMz4Lk4R5So96Ceqe1Fl5ozpf47qWq0GgtKFDDCCA=";
+    sha256 = "sha256-o4tjEIgDTj2EUbfaKCHZfvEKCwxNpsabU437kU+Vpnk=";
   };
 
-  cargoSha256 = "sha256-NZpqCl37dZUvXmn4Q1Pvbz3LSxk1s0s5x1CBO0POA/4=";
+  cargoSha256 = "sha256-rE0I13dKbGgJmh6vF/cWvIZfqtKzzgn7pTiB3HJ7cgY=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
@@ -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/nixpkgs/pkgs/servers/gemini/gmid/default.nix b/nixpkgs/pkgs/servers/gemini/gmid/default.nix
index 803945c7a234..b6ccbd1de704 100644
--- a/nixpkgs/pkgs/servers/gemini/gmid/default.nix
+++ b/nixpkgs/pkgs/servers/gemini/gmid/default.nix
@@ -1,33 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, bison, libressl, libevent }:
+{ lib, stdenv, fetchFromGitHub, bison, which, libressl, libevent }:
 
 stdenv.mkDerivation rec {
   pname = "gmid";
-  version = "1.7.5";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "omar-polo";
     repo = pname;
     rev = version;
-    sha256 = "sha256-BBd0AL5jRRslxzDnxcTZRR+8J5D23NAQ7mp9K+leXAQ=";
+    hash = "sha256-XNif164C5b5sVsZW7sy0id4qM/mJzg3RhoHbwJuJqDk=";
   };
 
-  patches = [
-    # Fix cross-compilation
-    (fetchpatch {
-      url = "https://github.com/omar-polo/gmid/commit/eb77afa8d308a2f4f422df2ff19f023b5b2cc591.patch";
-      sha256 = "sha256-rTTZUpfXOg7X0Ad0Y9evyU7k+aVYpJ0t9SEkNA/sSdk=";
-    })
-  ];
-
-  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/nixpkgs/pkgs/servers/gemini/gmnisrv/default.nix b/nixpkgs/pkgs/servers/gemini/gmnisrv/default.nix
index 8d8ad16e7849..81e1c17467cc 100644
--- a/nixpkgs/pkgs/servers/gemini/gmnisrv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/gerbera/default.nix b/nixpkgs/pkgs/servers/gerbera/default.nix
index 368f2f494151..afad6e90dc20 100644
--- a/nixpkgs/pkgs/servers/gerbera/default.nix
+++ b/nixpkgs/pkgs/servers/gerbera/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
+, nixosTests
   # required
 , libiconv
 , libupnp
@@ -96,6 +97,8 @@ stdenv.mkDerivation rec {
     zlib
   ] ++ flatten (builtins.catAttrs "packages" (builtins.filter (e: e.enable) options));
 
+  passthru.tests = { inherit (nixosTests) mediatomb; };
+
   meta = with lib; {
     homepage = "https://docs.gerbera.io/";
     description = "UPnP Media Server for 2020";
diff --git a/nixpkgs/pkgs/servers/gobetween/default.nix b/nixpkgs/pkgs/servers/gobetween/default.nix
index f429f9ad385b..c7beee4a7bf1 100644
--- a/nixpkgs/pkgs/servers/gobetween/default.nix
+++ b/nixpkgs/pkgs/servers/gobetween/default.nix
@@ -32,7 +32,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Modern & minimalistic load balancer for the Сloud era";
-    homepage = "http://gobetween.io";
+    homepage = "https://gobetween.io";
     license = licenses.mit;
     maintainers = with maintainers; [ tomberek ];
   };
diff --git a/nixpkgs/pkgs/servers/grocy/default.nix b/nixpkgs/pkgs/servers/grocy/default.nix
index b1a37c9dd2a4..bcdd3c97c2a0 100644
--- a/nixpkgs/pkgs/servers/grocy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/h2/default.nix b/nixpkgs/pkgs/servers/h2/default.nix
index d05232193d78..ee673b53aad5 100644
--- a/nixpkgs/pkgs/servers/h2/default.nix
+++ b/nixpkgs/pkgs/servers/h2/default.nix
@@ -1,14 +1,15 @@
 { lib, stdenv, fetchzip, jre, makeWrapper }:
 stdenv.mkDerivation rec {
   pname = "h2";
-
-  version = "1.4.199";
+  version = "2.1.210";
 
   src = fetchzip {
-    url = "https://h2database.com/h2-2019-03-13.zip";
-    sha256 = "0pdvbnx7nqfqs7x1zkwz2q34331l55jknpk6arf6dksvnd71hinj";
+    url = "https://github.com/h2database/h2database/releases/download/version-${version}/h2-2022-01-17.zip";
+    sha256 = "0zcjblhjj98dsj954ia3by9vx5w7mix1dzi85jnvp18kxmbldmf4";
   };
 
+  outputs = [ "out" "doc" ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase =
@@ -24,8 +25,9 @@ stdenv.mkDerivation rec {
         fi
       '';
     in ''
-      mkdir -p $out
-      cp -R * $out
+      mkdir -p $out $doc/share/doc/
+      cp -R bin $out/
+      cp -R docs $doc/share/doc/h2
 
       echo '${h2ToolScript}' > $out/bin/h2tool.sh
 
diff --git a/nixpkgs/pkgs/servers/headphones/default.nix b/nixpkgs/pkgs/servers/headphones/default.nix
index 9c14c466852f..a9403bf9edd4 100644
--- a/nixpkgs/pkgs/servers/headphones/default.nix
+++ b/nixpkgs/pkgs/servers/headphones/default.nix
@@ -1,21 +1,20 @@
-{ lib, fetchFromGitHub, python2, makeWrapper }:
+{ lib, fetchFromGitHub, python3, makeWrapper }:
 
-python2.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "headphones";
-  version = "0.5.20";
+  version = "0.6.0-alpha.1";
 
   src = fetchFromGitHub {
     owner = "rembo10";
     repo = "headphones";
     rev = "v${version}";
-    sha256 = "0m234fr1i8bb8mgmjsdpkbaa3l16y23ca6s7nyyl5ismmjxhi4mz";
+    sha256 = "sha256-+mWtceQoHSMRkA8izZnKM0cgbt0P5Hr3arKOevpKvqc=";
   };
 
   dontBuild = true;
   doCheck = false;
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ python2 ];
 
   installPhase = ''
     mkdir -p $out/bin $out/opt/headphones
diff --git a/nixpkgs/pkgs/servers/headscale/default.nix b/nixpkgs/pkgs/servers/headscale/default.nix
index d3133a86c719..1e7fa059d7e2 100644
--- a/nixpkgs/pkgs/servers/headscale/default.nix
+++ b/nixpkgs/pkgs/servers/headscale/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "headscale";
-  version = "0.11.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "juanfont";
     repo = "headscale";
     rev = "v${version}";
-    sha256 = "sha256-grLYyVYlvqBNO5CVRVDTJKEi45Nsc6Bgs8I3pY7pZfg=";
+    sha256 = "sha256-nVGhLL7HN9m5zIZOFVOMYZXxUUx3WkLpeH/59kXoTHo=";
   };
 
-  vendorSha256 = "sha256-t7S1jE76AFFIePrFtvrIQcId7hLeNIAm/eA9AVoFy5E=";
+  vendorSha256 = "sha256-v76UWaF6kdmuvABg6sDMmDpJ4HWvgliyEWAbAebK3wM=";
 
   ldflags = [ "-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}" ];
 
@@ -44,6 +44,6 @@ buildGoModule rec {
       Headscale implements this coordination server.
     '';
     license = licenses.bsd3;
-    maintainers = with maintainers; [ nkje jk ];
+    maintainers = with maintainers; [ nkje jk kradalby ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/heisenbridge/default.nix b/nixpkgs/pkgs/servers/heisenbridge/default.nix
index 0bc7bdb0bdfd..cfbf1c1fb95c 100644
--- a/nixpkgs/pkgs/servers/heisenbridge/default.nix
+++ b/nixpkgs/pkgs/servers/heisenbridge/default.nix
@@ -1,44 +1,31 @@
 { lib, fetchFromGitHub, fetchpatch, python3 }:
-
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-      mautrix_0_13 = self.mautrix.overridePythonAttrs (oldAttrs: rec {
-        version = "0.13.3";
-        src = oldAttrs.src.override {
-          inherit (oldAttrs) pname;
-          inherit version;
-          sha256 = "1e4a292469f3e200c182aaa5bf693a5c3834b2a0cfb3d29e4c9a1559db7740e3";
-        };
-      });
-    };
-  };
-in
-
-python.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "heisenbridge";
-  version = "1.8.2";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "hifi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "173prcd56rwlxjxlw67arnm12k1l317xi5s6m7jhmp8zbbrj5vwr";
+    sha256 = "sha256-c+YP4pEGvLi7wZsDXrkoqR/isuYfXQmTwQp9gN5jHkQ=";
   };
 
   postPatch = ''
     echo "${version}" > heisenbridge/version.txt
+
+    substituteInPlace setup.cfg \
+      --replace "irc >=19.0.0, <20.0" "irc"
   '';
 
-  propagatedBuildInputs = with python.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     aiohttp
     irc
-    mautrix_0_13
+    mautrix
     python-socks
     pyyaml
   ];
 
-  checkInputs = with python.pkgs; [
+  checkInputs = with python3.pkgs; [
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
index 906c9f7bafbc..714087eb2e60 100644
--- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
@@ -2,14 +2,14 @@
 # Do not edit!
 
 {
-  version = "2021.12.7";
+  version = "2022.2.9";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
     "acer_projector" = ps: with ps; [ pyserial ];
     "acmeda" = ps: with ps; [ aiopulse ];
     "actiontec" = ps: with ps; [ ];
-    "adax" = ps: with ps; [ adax ];
+    "adax" = ps: with ps; [ adax-local adax ];
     "adguard" = ps: with ps; [ adguardhome ];
     "ads" = ps: with ps; [ pyads ];
     "advantage_air" = ps: with ps; [ advantage-air ];
@@ -45,27 +45,28 @@
     "apcupsd" = ps: with ps; [ apcaccess ];
     "api" = ps: with ps; [ aiohttp-cors ];
     "apns" = ps: with ps; [ ]; # missing inputs: apns2
-    "apple_tv" = ps: with ps; [ pyatv ];
+    "apple_tv" = ps: with ps; [ aiohttp-cors ifaddr pyatv zeroconf ];
     "apprise" = ps: with ps; [ apprise ];
     "aprs" = ps: with ps; [ aprslib geopy ];
     "aqualogic" = ps: with ps; [ aqualogic ];
     "aquostv" = ps: with ps; [ ]; # missing inputs: sharp_aquos_rc
     "arcam_fmj" = ps: with ps; [ arcam-fmj ];
-    "arduino" = ps: with ps; [ ]; # missing inputs: PyMata
     "arest" = ps: with ps; [ ];
     "arlo" = ps: with ps; [ ha-ffmpeg pyarlo ];
     "arris_tg2492lg" = ps: with ps; [ ]; # missing inputs: arris-tg2492lg
     "aruba" = ps: with ps; [ pexpect ];
     "arwn" = ps: with ps; [ aiohttp-cors paho-mqtt ];
-    "asterisk_cdr" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
-    "asterisk_mbox" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
+    "aseko_pool_live" = ps: with ps; [ aioaseko ];
+    "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 ];
     "atome" = ps: with ps; [ pyatome ];
     "august" = ps: with ps; [ yalexs ];
     "aurora" = ps: with ps; [ auroranoaa ];
-    "aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
+    "aurora_abb_powerone" = ps: with ps; [ aurorapy ];
+    "aussie_broadband" = ps: with ps; [ pyaussiebb ];
     "auth" = ps: with ps; [ aiohttp-cors ];
     "automation" = ps: with ps; [ aiohttp-cors ];
     "avea" = ps: with ps; [ avea ];
@@ -82,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 ];
@@ -97,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 ];
@@ -121,7 +122,7 @@
     "cast" = ps: with ps; [ pyturbojpeg aiohttp-cors hass-nabucasa ifaddr mutagen plexapi plexauth plexwebsocket PyChromecast zeroconf ];
     "cert_expiry" = ps: with ps; [ ];
     "channels" = ps: with ps; [ pychannels ];
-    "circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook
+    "circuit" = ps: with ps; [ circuit-webhook ];
     "cisco_ios" = ps: with ps; [ pexpect ];
     "cisco_mobility_express" = ps: with ps; [ ciscomobilityexpress ];
     "cisco_webex_teams" = ps: with ps; [ webexteamssdk ];
@@ -135,7 +136,7 @@
     "cloud" = ps: with ps; [ pyturbojpeg aiohttp-cors hass-nabucasa ];
     "cloudflare" = ps: with ps; [ pycfdns ];
     "cmus" = ps: with ps; [ ]; # missing inputs: pycmus
-    "co2signal" = ps: with ps; [ ]; # missing inputs: co2signal
+    "co2signal" = ps: with ps; [ co2signal ];
     "coinbase" = ps: with ps; [ ]; # missing inputs: coinbase
     "color_extractor" = ps: with ps; [ colorthief ];
     "comed_hourly_pricing" = ps: with ps; [ ];
@@ -181,6 +182,7 @@
     "dexcom" = ps: with ps; [ pydexcom ];
     "dhcp" = ps: with ps; [ aiodiscover scapy ];
     "dht" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-dht
+    "diagnostics" = ps: with ps; [ aiohttp-cors ];
     "dialogflow" = ps: with ps; [ aiohttp-cors ];
     "digital_ocean" = ps: with ps; [ digital-ocean ];
     "digitalloggers" = ps: with ps; [ ]; # missing inputs: dlipower
@@ -206,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
@@ -217,13 +219,13 @@
     "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan]
     "edimax" = ps: with ps; [ pyedimax ];
     "edl21" = ps: with ps; [ pysml ];
-    "ee_brightbox" = ps: with ps; [ eebrightbox ];
     "efergy" = ps: with ps; [ pyefergy ];
     "egardia" = ps: with ps; [ pythonegardia ];
     "eight_sleep" = ps: with ps; [ pyeight ];
     "elgato" = ps: with ps; [ elgato ];
     "eliqonline" = ps: with ps; [ eliqonline ];
     "elkm1" = ps: with ps; [ elkm1-lib ];
+    "elmax" = ps: with ps; [ elmax-api ];
     "elv" = ps: with ps; [ pypca ];
     "emby" = ps: with ps; [ pyemby ];
     "emoncms" = ps: with ps; [ ];
@@ -283,7 +285,7 @@
     "flume" = ps: with ps; [ pyflume ];
     "flunearyou" = ps: with ps; [ pyflunearyou ];
     "flux" = ps: with ps; [ ];
-    "flux_led" = ps: with ps; [ flux-led ];
+    "flux_led" = ps: with ps; [ aiohttp-cors flux-led ifaddr ];
     "folder" = ps: with ps; [ ];
     "folder_watcher" = ps: with ps; [ watchdog ];
     "foobot" = ps: with ps; [ foobot-async ];
@@ -310,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 ];
@@ -326,6 +328,7 @@
     "goalfeed" = ps: with ps; [ ]; # missing inputs: pysher
     "goalzero" = ps: with ps; [ goalzero ];
     "gogogate2" = ps: with ps; [ ismartgate ];
+    "goodwe" = ps: with ps; [ goodwe ];
     "google" = ps: with ps; [ google-api-python-client httplib2 oauth2client ];
     "google_assistant" = ps: with ps; [ pyturbojpeg aiohttp-cors ];
     "google_cloud" = ps: with ps; [ google-cloud-texttospeech ];
@@ -335,7 +338,6 @@
     "google_translate" = ps: with ps; [ gtts ];
     "google_travel_time" = ps: with ps; [ googlemaps ];
     "google_wifi" = ps: with ps; [ ];
-    "gpmdp" = ps: with ps; [ websocket-client ];
     "gpsd" = ps: with ps; [ gps3 ];
     "gpslogger" = ps: with ps; [ aiohttp-cors ];
     "graphite" = ps: with ps; [ ];
@@ -373,13 +375,14 @@
     "homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors ifaddr zeroconf ];
     "homematic" = ps: with ps; [ pyhomematic ];
     "homematicip_cloud" = ps: with ps; [ homematicip ];
+    "homewizard" = ps: with ps; [ aiohwenergy ];
     "homeworks" = ps: with ps; [ pyhomeworks ];
     "honeywell" = ps: with ps; [ somecomfort ];
     "horizon" = ps: with ps; [ ]; # missing inputs: horimote
     "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 ];
@@ -404,12 +407,14 @@
     "incomfort" = ps: with ps; [ incomfort-client ];
     "influxdb" = ps: with ps; [ influxdb-client influxdb ];
     "input_boolean" = ps: with ps; [ ];
+    "input_button" = ps: with ps; [ ];
     "input_datetime" = ps: with ps; [ ];
     "input_number" = ps: with ps; [ ];
     "input_select" = ps: with ps; [ ];
     "input_text" = ps: with ps; [ ];
     "insteon" = ps: with ps; [ pyinsteon ];
     "integration" = ps: with ps; [ ];
+    "intellifire" = ps: with ps; [ intellifire4py ];
     "intent" = ps: with ps; [ aiohttp-cors ];
     "intent_script" = ps: with ps; [ ];
     "intesishome" = ps: with ps; [ pyintesishome ];
@@ -454,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 ];
@@ -484,7 +489,7 @@
     "luftdaten" = ps: with ps; [ luftdaten ];
     "lupusec" = ps: with ps; [ lupupy ];
     "lutron" = ps: with ps; [ pylutron ];
-    "lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ];
+    "lutron_caseta" = ps: with ps; [ pylutron-caseta ];
     "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12
     "lyric" = ps: with ps; [ aiohttp-cors aiolyric ];
     "magicseaweed" = ps: with ps; [ ]; # missing inputs: magicseaweed
@@ -564,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 ];
@@ -576,6 +581,7 @@
     "nightscout" = ps: with ps; [ py-nightscout ];
     "niko_home_control" = ps: with ps; [ niko-home-control ];
     "nilu" = ps: with ps; [ niluclient ];
+    "nina" = ps: with ps; [ pynina ];
     "nissan_leaf" = ps: with ps; [ pycarwings2 ];
     "nmap_tracker" = ps: with ps; [ aiohttp-cors getmac ifaddr netmap ]; # missing inputs: mac-vendor-lookup
     "nmbs" = ps: with ps; [ ]; # missing inputs: pyrail
@@ -591,7 +597,7 @@
     "nuki" = ps: with ps; [ pynuki ];
     "numato" = ps: with ps; [ ]; # missing inputs: numato-gpio
     "number" = ps: with ps; [ ];
-    "nut" = ps: with ps; [ ]; # missing inputs: pynut2
+    "nut" = ps: with ps; [ pynut2 ];
     "nws" = ps: with ps; [ pynws ];
     "nx584" = ps: with ps; [ pynx584 ];
     "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
@@ -603,15 +609,17 @@
     "ombi" = ps: with ps; [ pyombi ];
     "omnilogic" = ps: with ps; [ omnilogic ];
     "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; [ ];
@@ -628,6 +636,7 @@
     "orvibo" = ps: with ps; [ orvibo ];
     "osramlightify" = ps: with ps; [ ]; # missing inputs: lightify
     "otp" = ps: with ps; [ pyotp ];
+    "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 ];
@@ -675,7 +684,7 @@
     "pushbullet" = ps: with ps; [ pushbullet ];
     "pushover" = ps: with ps; [ pushover-complete ];
     "pushsafer" = ps: with ps; [ ];
-    "pvoutput" = ps: with ps; [ jsonpath xmltodict ];
+    "pvoutput" = ps: with ps; [ pvo ];
     "pvpc_hourly_pricing" = ps: with ps; [ aiopvpc ];
     "pyload" = ps: with ps; [ ];
     "python_script" = ps: with ps; [ restrictedpython ];
@@ -684,7 +693,7 @@
     "qnap" = ps: with ps; [ ]; # missing inputs: qnapstats
     "qrcode" = ps: with ps; [ pillow ]; # missing inputs: pyzbar
     "quantum_gateway" = ps: with ps; [ quantum-gateway ];
-    "qvr_pro" = ps: with ps; [ ]; # missing inputs: pyqvrpro
+    "qvr_pro" = ps: with ps; [ pyqvrpro ];
     "qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch
     "rachio" = ps: with ps; [ pyturbojpeg aiohttp-cors hass-nabucasa rachiopy ];
     "radarr" = ps: with ps; [ ];
@@ -727,10 +736,11 @@
     "rpi_gpio" = ps: with ps; [ ]; # missing inputs: RPi.GPIO
     "rpi_gpio_pwm" = ps: with ps; [ ]; # missing inputs: pwmled
     "rpi_pfio" = ps: with ps; [ ]; # missing inputs: pifacecommon pifacedigitalio
-    "rpi_power" = ps: with ps; [ ]; # missing inputs: rpi-bad-power
+    "rpi_power" = ps: with ps; [ rpi-bad-power ];
     "rpi_rf" = ps: with ps; [ ]; # missing inputs: RPi.GPIO rpi-rf
     "rss_feed_template" = ps: with ps; [ aiohttp-cors ];
     "rtorrent" = ps: with ps; [ ];
+    "rtsp_to_webrtc" = ps: with ps; [ pyturbojpeg aiohttp-cors rtsp-to-webrtc ];
     "ruckus_unleashed" = ps: with ps; [ pyruckus ];
     "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
     "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
@@ -751,6 +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; [ aiosenseme ];
     "sensibo" = ps: with ps; [ ]; # missing inputs: pysensibo
     "sensor" = ps: with ps; [ sqlalchemy ];
     "sentry" = ps: with ps; [ sentry-sdk ];
@@ -805,7 +816,7 @@
     "somfy_mylink" = ps: with ps; [ somfy-mylink-synergy ];
     "sonarr" = ps: with ps; [ sonarr ];
     "songpal" = ps: with ps; [ python-songpal ];
-    "sonos" = ps: with ps; [ aiohttp-cors async-upnp-client ifaddr plexapi plexauth plexwebsocket soco zeroconf ];
+    "sonos" = ps: with ps; [ aiohttp-cors async-upnp-client ifaddr plexapi plexauth plexwebsocket soco spotipy zeroconf ];
     "sony_projector" = ps: with ps; [ pysdcp ];
     "soundtouch" = ps: with ps; [ aiohttp-cors ifaddr libsoundtouch zeroconf ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
@@ -824,9 +835,10 @@
     "statistics" = ps: with ps; [ sqlalchemy ];
     "statsd" = ps: with ps; [ statsd ];
     "steam_online" = ps: with ps; [ ]; # missing inputs: steamodd
+    "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; [ aiohttp-cors ha-av ];
+    "stream" = ps: with ps; [ pyturbojpeg aiohttp-cors av ];
     "streamlabswater" = ps: with ps; [ streamlabswater ];
     "stt" = ps: with ps; [ aiohttp-cors ];
     "subaru" = ps: with ps; [ subarulink ];
@@ -850,11 +862,10 @@
     "syslog" = ps: with ps; [ ];
     "system_bridge" = ps: with ps; [ aiohttp-cors ifaddr systembridge zeroconf ];
     "system_health" = ps: with ps; [ aiohttp-cors ];
-    "system_log" = ps: with ps; [ aiohttp-cors ];
+    "system_log" = ps: with ps; [ ];
     "systemmonitor" = ps: with ps; [ psutil ];
     "tado" = ps: with ps; [ python-tado ];
     "tag" = ps: with ps; [ ];
-    "tahoma" = ps: with ps; [ tahoma-api ];
     "tailscale" = ps: with ps; [ tailscale ];
     "tank_utility" = ps: with ps; [ ]; # missing inputs: tank_utility
     "tankerkoenig" = ps: with ps; [ pytankerkoenig ];
@@ -879,7 +890,7 @@
     "thinkingcleaner" = ps: with ps; [ ]; # missing inputs: pythinkingcleaner
     "thomson" = ps: with ps; [ ];
     "threshold" = ps: with ps; [ ];
-    "tibber" = ps: with ps; [ pytibber ];
+    "tibber" = ps: with ps; [ pytibber sqlalchemy ];
     "tikteck" = ps: with ps; [ ]; # missing inputs: tikteck
     "tile" = ps: with ps; [ pytile ];
     "time_date" = ps: with ps; [ ];
@@ -912,7 +923,7 @@
     "twilio" = ps: with ps; [ aiohttp-cors twilio ];
     "twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
     "twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
-    "twinkly" = ps: with ps; [ twinkly-client ];
+    "twinkly" = ps: with ps; [ ttls ];
     "twitch" = ps: with ps; [ python-twitch-client ];
     "twitter" = ps: with ps; [ twitterapi ];
     "ubus" = ps: with ps; [ openwrt-ubus-rpc ];
@@ -921,6 +932,7 @@
     "unifi" = ps: with ps; [ aiounifi ];
     "unifi_direct" = ps: with ps; [ pexpect ];
     "unifiled" = ps: with ps; [ unifiled ];
+    "unifiprotect" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pyunifiprotect unifi-discovery
     "universal" = ps: with ps; [ ];
     "upb" = ps: with ps; [ upb-lib ];
     "upc_connect" = ps: with ps; [ connect-box ];
@@ -937,7 +949,7 @@
     "vacuum" = ps: with ps; [ ];
     "vallox" = ps: with ps; [ ]; # missing inputs: vallox-websocket-api
     "vasttrafik" = ps: with ps; [ ]; # missing inputs: vtjp
-    "velbus" = ps: with ps; [ velbus-aio ];
+    "velbus" = ps: with ps; [ aiohttp-cors pyserial pyudev velbus-aio ];
     "velux" = ps: with ps; [ pyvlx ];
     "venstar" = ps: with ps; [ venstarcolortouch ];
     "vera" = ps: with ps; [ pyvera ];
@@ -969,11 +981,11 @@
     "waze_travel_time" = ps: with ps; [ wazeroutecalculator ];
     "weather" = ps: with ps; [ ];
     "webhook" = ps: with ps; [ aiohttp-cors ];
-    "webostv" = ps: with ps; [ aiopylgtv ];
+    "webostv" = ps: with ps; [ aiowebostv sqlalchemy ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
     "wemo" = ps: with ps; [ pywemo ];
     "whirlpool" = ps: with ps; [ whirlpool-sixth-sense ];
-    "whois" = ps: with ps; [ python-whois ];
+    "whois" = ps: with ps; [ whois ];
     "wiffi" = ps: with ps; [ wiffi ];
     "wilight" = ps: with ps; [ pywilight ];
     "wirelesstag" = ps: with ps; [ ]; # missing inputs: wirelesstagpy
@@ -1020,4 +1032,599 @@
     "zwave" = ps: with ps; [ homeassistant-pyozw pydispatcher ];
     "zwave_js" = ps: with ps; [ aiohttp-cors pyserial pyudev zwave-js-server-python ];
   };
+  # components listed in tests/components for which all dependencies are packaged
+  supportedComponentsWithTests = [
+    "abode"
+    "accuweather"
+    "acmeda"
+    "adax"
+    "adguard"
+    "advantage_air"
+    "aemet"
+    "agent_dvr"
+    "air_quality"
+    "airly"
+    "airnow"
+    "airthings"
+    "airtouch4"
+    "airvisual"
+    "alarm_control_panel"
+    "alarmdecoder"
+    "alert"
+    "alexa"
+    "almond"
+    "ambee"
+    "amberelectric"
+    "ambiclimate"
+    "ambient_station"
+    "analytics"
+    "androidtv"
+    "apache_kafka"
+    "api"
+    "apple_tv"
+    "apprise"
+    "aprs"
+    "arcam_fmj"
+    "arlo"
+    "aseko_pool_live"
+    "asuswrt"
+    "atag"
+    "august"
+    "aurora"
+    "aurora_abb_powerone"
+    "aussie_broadband"
+    "auth"
+    "automation"
+    "awair"
+    "aws"
+    "axis"
+    "azure_devops"
+    "azure_event_hub"
+    "balboa"
+    "bayesian"
+    "binary_sensor"
+    "blackbird"
+    "blebox"
+    "blink"
+    "blueprint"
+    "bluetooth_le_tracker"
+    "bmw_connected_drive"
+    "bond"
+    "bosch_shc"
+    "braviatv"
+    "broadlink"
+    "brother"
+    "bsblan"
+    "buienradar"
+    "button"
+    "caldav"
+    "calendar"
+    "camera"
+    "canary"
+    "cast"
+    "cert_expiry"
+    "climacell"
+    "climate"
+    "cloud"
+    "cloudflare"
+    "co2signal"
+    "color_extractor"
+    "comfoconnect"
+    "command_line"
+    "compensation"
+    "config"
+    "configurator"
+    "control4"
+    "conversation"
+    "coolmaster"
+    "coronavirus"
+    "counter"
+    "cover"
+    "cpuspeed"
+    "crownstone"
+    "daikin"
+    "darksky"
+    "datadog"
+    "debugpy"
+    "deconz"
+    "default_config"
+    "demo"
+    "denonavr"
+    "derivative"
+    "device_automation"
+    "device_sun_light_trigger"
+    "device_tracker"
+    "devolo_home_control"
+    "devolo_home_network"
+    "dexcom"
+    "dhcp"
+    "diagnostics"
+    "dialogflow"
+    "directv"
+    "discovery"
+    "dlna_dmr"
+    "dnsip"
+    "doorbird"
+    "dsmr"
+    "dte_energy_bridge"
+    "duckdns"
+    "dunehd"
+    "dynalite"
+    "eafm"
+    "ecobee"
+    "econet"
+    "efergy"
+    "elgato"
+    "elkm1"
+    "elmax"
+    "emonitor"
+    "emulated_hue"
+    "emulated_kasa"
+    "emulated_roku"
+    "energy"
+    "enocean"
+    "enphase_envoy"
+    "environment_canada"
+    "epson"
+    "esphome"
+    "everlights"
+    "evil_genius_labs"
+    "ezviz"
+    "faa_delays"
+    "facebook"
+    "facebox"
+    "fail2ban"
+    "fan"
+    "feedreader"
+    "ffmpeg"
+    "fido"
+    "file"
+    "filesize"
+    "filter"
+    "fireservicerota"
+    "firmata"
+    "fjaraskupan"
+    "flic"
+    "flick_electric"
+    "flipr"
+    "flo"
+    "flume"
+    "flunearyou"
+    "flux"
+    "flux_led"
+    "folder"
+    "folder_watcher"
+    "foobot"
+    "forecast_solar"
+    "foscam"
+    "freebox"
+    "freedns"
+    "freedompro"
+    "fritz"
+    "fritzbox"
+    "fritzbox_callmonitor"
+    "fronius"
+    "frontend"
+    "garages_amsterdam"
+    "gdacs"
+    "generic"
+    "generic_hygrostat"
+    "generic_thermostat"
+    "geo_json_events"
+    "geo_location"
+    "geo_rss_events"
+    "geofency"
+    "geonetnz_quakes"
+    "geonetnz_volcano"
+    "gios"
+    "github"
+    "glances"
+    "goalzero"
+    "gogogate2"
+    "goodwe"
+    "google"
+    "google_assistant"
+    "google_domains"
+    "google_pubsub"
+    "google_translate"
+    "google_travel_time"
+    "google_wifi"
+    "gpslogger"
+    "graphite"
+    "gree"
+    "group"
+    "growatt_server"
+    "guardian"
+    "habitica"
+    "hangouts"
+    "harmony"
+    "hassio"
+    "hddtemp"
+    "heos"
+    "here_travel_time"
+    "hisense_aehw4a1"
+    "history"
+    "history_stats"
+    "hive"
+    "hlk_sw16"
+    "home_connect"
+    "home_plus_control"
+    "homeassistant"
+    "homekit"
+    "homekit_controller"
+    "homematic"
+    "homematicip_cloud"
+    "homewizard"
+    "honeywell"
+    "html5"
+    "http"
+    "huawei_lte"
+    "hue"
+    "huisbaasje"
+    "humidifier"
+    "hunterdouglas_powerview"
+    "hvv_departures"
+    "hyperion"
+    "ialarm"
+    "iaqualink"
+    "icloud"
+    "ifttt"
+    "ign_sismologia"
+    "image"
+    "image_processing"
+    "imap_email_content"
+    "influxdb"
+    "input_boolean"
+    "input_button"
+    "input_datetime"
+    "input_number"
+    "input_select"
+    "input_text"
+    "insteon"
+    "integration"
+    "intellifire"
+    "intent"
+    "intent_script"
+    "ios"
+    "iotawatt"
+    "ipma"
+    "ipp"
+    "iqvia"
+    "islamic_prayer_times"
+    "isy994"
+    "izone"
+    "jellyfin"
+    "jewish_calendar"
+    "juicenet"
+    "keenetic_ndms2"
+    "kira"
+    "kmtronic"
+    "knx"
+    "kodi"
+    "konnected"
+    "kraken"
+    "kulersky"
+    "lastfm"
+    "launch_library"
+    "lcn"
+    "light"
+    "litterrobot"
+    "local_file"
+    "local_ip"
+    "locative"
+    "lock"
+    "logbook"
+    "logentries"
+    "logger"
+    "london_air"
+    "lookin"
+    "lovelace"
+    "luftdaten"
+    "lutron_caseta"
+    "lyric"
+    "mailbox"
+    "manual"
+    "manual_mqtt"
+    "maxcube"
+    "mazda"
+    "media_player"
+    "media_source"
+    "melcloud"
+    "meraki"
+    "met"
+    "met_eireann"
+    "meteoclimatic"
+    "mhz19"
+    "microsoft_face"
+    "microsoft_face_detect"
+    "microsoft_face_identify"
+    "mikrotik"
+    "mill"
+    "min_max"
+    "minecraft_server"
+    "minio"
+    "mobile_app"
+    "modbus"
+    "modem_callerid"
+    "modern_forms"
+    "mold_indicator"
+    "moon"
+    "motion_blinds"
+    "motioneye"
+    "mqtt"
+    "mqtt_eventstream"
+    "mqtt_json"
+    "mqtt_room"
+    "mqtt_statestream"
+    "mullvad"
+    "mutesync"
+    "my"
+    "myq"
+    "mysensors"
+    "mythicbeastsdns"
+    "nam"
+    "namecheapdns"
+    "nanoleaf"
+    "neato"
+    "ness_alarm"
+    "nest"
+    "netatmo"
+    "netgear"
+    "network"
+    "nexia"
+    "nightscout"
+    "nina"
+    "no_ip"
+    "notify"
+    "notion"
+    "nsw_rural_fire_service_feed"
+    "nuki"
+    "number"
+    "nut"
+    "nws"
+    "nx584"
+    "octoprint"
+    "omnilogic"
+    "onboarding"
+    "oncue"
+    "ondilo_ico"
+    "onewire"
+    "onvif"
+    "open_meteo"
+    "openalpr_cloud"
+    "openalpr_local"
+    "openerz"
+    "opengarage"
+    "openhardwaremonitor"
+    "opentherm_gw"
+    "openuv"
+    "openweathermap"
+    "opnsense"
+    "overkiz"
+    "ovo_energy"
+    "owntracks"
+    "ozw"
+    "p1_monitor"
+    "panel_custom"
+    "panel_iframe"
+    "persistent_notification"
+    "person"
+    "philips_js"
+    "pi_hole"
+    "picnic"
+    "ping"
+    "plaato"
+    "plant"
+    "plex"
+    "plugwise"
+    "point"
+    "poolsense"
+    "profiler"
+    "prometheus"
+    "prosegur"
+    "proximity"
+    "push"
+    "pushbullet"
+    "pvoutput"
+    "pvpc_hourly_pricing"
+    "python_script"
+    "qld_bushfire"
+    "rachio"
+    "radarr"
+    "rainforest_eagle"
+    "rainmachine"
+    "random"
+    "rdw"
+    "recollect_waste"
+    "recorder"
+    "reddit"
+    "remote"
+    "renault"
+    "rest"
+    "rest_command"
+    "rflink"
+    "rfxtrx"
+    "ridwell"
+    "ring"
+    "risco"
+    "rituals_perfume_genie"
+    "rmvtransport"
+    "roku"
+    "roomba"
+    "roon"
+    "rpi_power"
+    "rss_feed_template"
+    "rtsp_to_webrtc"
+    "ruckus_unleashed"
+    "safe_mode"
+    "samsungtv"
+    "scene"
+    "screenlogic"
+    "script"
+    "search"
+    "season"
+    "select"
+    "sense"
+    "senseme"
+    "sensor"
+    "sentry"
+    "seventeentrack"
+    "sharkiq"
+    "shell_command"
+    "shelly"
+    "shopping_list"
+    "sia"
+    "sigfox"
+    "sighthound"
+    "simplisafe"
+    "simulated"
+    "siren"
+    "slack"
+    "sleepiq"
+    "sma"
+    "smappee"
+    "smart_meter_texas"
+    "smarthab"
+    "smartthings"
+    "smarttub"
+    "smhi"
+    "smtp"
+    "snips"
+    "solaredge"
+    "solarlog"
+    "solax"
+    "soma"
+    "somfy"
+    "somfy_mylink"
+    "sonarr"
+    "songpal"
+    "sonos"
+    "soundtouch"
+    "spaceapi"
+    "spc"
+    "speedtestdotnet"
+    "spider"
+    "spotify"
+    "sql"
+    "squeezebox"
+    "srp_energy"
+    "ssdp"
+    "starline"
+    "startca"
+    "statistics"
+    "statsd"
+    "steamist"
+    "stream"
+    "stt"
+    "subaru"
+    "sun"
+    "surepetcare"
+    "switch"
+    "switchbot"
+    "switcher_kis"
+    "syncthing"
+    "syncthru"
+    "synology_dsm"
+    "system_bridge"
+    "system_health"
+    "system_log"
+    "tado"
+    "tag"
+    "tailscale"
+    "tasmota"
+    "tcp"
+    "telegram"
+    "tellduslive"
+    "template"
+    "tesla_wall_connector"
+    "threshold"
+    "tibber"
+    "tile"
+    "time_date"
+    "timer"
+    "tod"
+    "tolo"
+    "tomato"
+    "toon"
+    "totalconnect"
+    "tplink"
+    "traccar"
+    "trace"
+    "tractive"
+    "tradfri"
+    "trafikverket_weatherstation"
+    "transmission"
+    "transport_nsw"
+    "trend"
+    "tts"
+    "tuya"
+    "twentemilieu"
+    "twilio"
+    "twinkly"
+    "twitch"
+    "uk_transport"
+    "unifi"
+    "unifi_direct"
+    "universal"
+    "upb"
+    "upcloud"
+    "updater"
+    "upnp"
+    "uptime"
+    "uptimerobot"
+    "usb"
+    "usgs_earthquakes_feed"
+    "utility_meter"
+    "uvc"
+    "vacuum"
+    "velbus"
+    "venstar"
+    "vera"
+    "verisure"
+    "version"
+    "vesync"
+    "vicare"
+    "vilfo"
+    "vizio"
+    "vlc_telnet"
+    "voicerss"
+    "volumio"
+    "vultr"
+    "wake_on_lan"
+    "wallbox"
+    "water_heater"
+    "watttime"
+    "waze_travel_time"
+    "weather"
+    "webhook"
+    "webostv"
+    "websocket_api"
+    "wemo"
+    "whirlpool"
+    "whois"
+    "wiffi"
+    "wilight"
+    "wled"
+    "workday"
+    "worldclock"
+    "wsdot"
+    "xbox"
+    "xiaomi"
+    "xiaomi_aqara"
+    "xiaomi_miio"
+    "yale_smart_alarm"
+    "yamaha"
+    "yamaha_musiccast"
+    "yandex_transport"
+    "yandextts"
+    "yeelight"
+    "youless"
+    "zeroconf"
+    "zerproc"
+    "zha"
+    "zodiac"
+    "zone"
+    "zwave"
+    "zwave_js"
+  ];
 }
diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix
index 2179f958765e..920343de67b6 100644
--- a/nixpkgs/pkgs/servers/home-assistant/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , lib
+, callPackage
 , fetchFromGitHub
 , fetchpatch
 , python3
@@ -14,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
@@ -24,104 +28,10 @@
 
 let
   defaultOverrides = [
-    # aiounify 29 breaks integration tests
-    (self: super: {
-      aiounifi = super.aiounifi.overridePythonAttrs (oldAttrs: rec {
-        version = "28";
-        src = fetchFromGitHub {
-          owner = "Kane610";
-          repo = "aiounifi";
-          rev = "v${version}";
-          sha256 = "1r86pk80sa1la2s7c6v9svh5cpkci6jcw1xziz0h09jdvv5j5iff";
-        };
-      });
-    })
-
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
     (mkOverride "python-slugify" "4.0.1" "69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270")
 
     (self: super: {
-      httpcore = super.httpcore.overridePythonAttrs (oldAttrs: rec {
-        version = "0.14.3";
-        src = fetchFromGitHub {
-          owner = "encode";
-          repo = "httpcore";
-          rev = version;
-          sha256 = "sha256-jPsbMhY1lWKBXlh6hsX6DGKXi/g7VQSU00tF6H7qkOo=";
-        };
-        propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ python3.pkgs.certifi ];
-        doCheck = false;
-      });
-    })
-
-    (self: super: {
-      httpx = super.httpx.overridePythonAttrs (oldAttrs: rec {
-        version = "0.21.1";
-        src = fetchFromGitHub {
-          owner = "encode";
-          repo = "httpx";
-          rev = version;
-          sha256 = "sha256-ayhLP+1hPWAx2ds227CKp5cebVkD5B2Z59L+3dzdINc=";
-        };
-        doCheck = false;
-      });
-    })
-
-    (self: super: {
-      pytest-httpx = super.pytest-httpx.overridePythonAttrs (oldAttrs: rec {
-        version = "0.15.0";
-        src = fetchFromGitHub {
-          owner = "Colin-bin";
-          repo = "pytest_httpx";
-          rev = "v${version}";
-          sha256 = "08dxvjkxlnam3r0yp17495d1vksyawzzkpykacjql1gi6hqlfrwg";
-        };
-      });
-    })
-
-    (self: super: {
-      respx = super.respx.overridePythonAttrs (oldAttrs: rec {
-        version = "0.19.0";
-        src = fetchFromGitHub {
-          owner = "lundberg";
-          repo = "respx";
-          rev = version;
-          sha256 = "sha256-xiAt42kc1+rro99KMwzYKi3XC+wxYVqOY11tM+M/uV8=";
-        };
-      });
-    })
-
-    (self: super: {
-      envoy-reader = super.envoy-reader.overridePythonAttrs (oldAttrs: rec {
-        patches = [
-          # Support for later httpx, https://github.com/jesserizzo/envoy_reader/pull/82
-          (fetchpatch {
-            name = "support-later-httpx.patch";
-            url = "https://github.com/jesserizzo/envoy_reader/commit/6019a89419fe9c830ba839be7d39ec54725268b0.patch";
-            sha256 = "17vsrx13rskvh8swvjisb2dk6x1jdbjcm8ikkpidia35pa24h272";
-          })
-        ];
-      });
-    })
-
-    (self: super: {
-      sanic = super.sanic.overridePythonAttrs (oldAttrs: rec {
-        version = "21.9.3";
-        src = fetchFromGitHub {
-          owner = "sanic-org";
-          repo = "sanic";
-          rev = "v${version}";
-          sha256 = "0m18jdw1mvf7jhpnrxhm96p24pxvv0h9m71a8c7sqqkwnnpa3p5i";
-        };
-        disabledTests = oldAttrs.disabledTests ++ [
-          "test_redirect"
-          "test_chained_redirect"
-          "test_unix_connection"
-        ];
-      });
-    })
-
-    (self: super: {
       huawei-lte-api = super.huawei-lte-api.overridePythonAttrs (oldAttrs: rec {
         version = "1.4.18";
         src = fetchFromGitHub {
@@ -134,36 +44,6 @@ let
       });
     })
 
-    # Pinned due to API changes in iaqualink>=2.0, remove after
-    # https://github.com/home-assistant/core/pull/48137 was merged
-    (self: super: {
-      iaqualink = super.iaqualink.overridePythonAttrs (oldAttrs: rec {
-        version = "0.3.90";
-        src = fetchFromGitHub {
-          owner = "flz";
-          repo = "iaqualink-py";
-          rev = "v${version}";
-          sha256 = "0c8ckbbr1n8gx5k63ymgyfkbz3d0rbdvghg8fqdvbg4nrigrs5v0";
-        };
-        checkInputs = oldAttrs.checkInputs ++ [ python3.pkgs.asynctest ];
-      });
-    })
-
-    # Pinned due to API changes in influxdb-client>1.21.0
-    (self: super: {
-      influxdb-client = super.influxdb-client.overridePythonAttrs (oldAttrs: rec {
-        version = "1.21.0";
-        src = fetchFromGitHub {
-          owner = "influxdata";
-          repo = "influxdb-client-python";
-          rev = "v${version}";
-          sha256 = "081pwd3aa7kbgxqcl1hfi2ny4iapnxkcp9ypsfslr69d0khvfc4s";
-        };
-      });
-    })
-
-    (mkOverride "jinja2" "3.0.3" "1mvwr02s86zck5wsmd9wjxxb9iaqr17hdi5xza9vkwv8rmrv46v1")
-
     # Pinned due to API changes in pyruckus>0.12
     (self: super: {
       pyruckus = super.pyruckus.overridePythonAttrs (oldAttrs: rec {
@@ -177,22 +57,22 @@ let
       });
     })
 
-    # Pinned due to API changes in eebrightbox>=0.0.5
+    # Pinned due to API changes in 0.1.0
+    (mkOverride "poolsense" "0.0.8" "09y4fq0gdvgkfsykpxnvmfv92dpbknnq5v82spz43ak6hjnhgcyp")
+
+    # Pinned due to API changes >0.3.5.3
     (self: super: {
-      eebrightbox = super.eebrightbox.overridePythonAttrs (oldAttrs: rec {
-        version = "0.0.4";
+      pyatag = super.pyatag.overridePythonAttrs (oldAttrs: rec {
+        version = "0.3.5.3";
         src = fetchFromGitHub {
-          owner = "krygal";
-          repo = "eebrightbox";
+          owner = "MatsNl";
+          repo = "pyatag";
           rev = version;
-          sha256 = "0d8mmpwgrd7gymw5263r1v2wjv6dx6w6pq13d62fkfm4h2hya4a4";
+          sha256 = "00ly4injmgrj34p0lyx7cz2crgnfcijmzc0540gf7hpwha0marf6";
         };
       });
     })
 
-    # Pinned due to API changes in 0.1.0
-    (mkOverride "poolsense" "0.0.8" "09y4fq0gdvgkfsykpxnvmfv92dpbknnq5v82spz43ak6hjnhgcyp")
-
     # Pinned due to API changes in 0.4.0
     (self: super: {
       vilfo-api-client = super.vilfo-api-client.overridePythonAttrs (oldAttrs: rec {
@@ -219,28 +99,15 @@ let
       });
     })
 
-    # Remove with 2021.12.6 as the requirement will be 1.1.16 (at least)
-    (self: super: {
-      yalexs = super.yalexs.overridePythonAttrs (oldAttrs: rec {
-        version = "1.1.13";
-        src = fetchFromGitHub {
-          owner = "bdraco";
-          repo = "yalexs";
-          rev = "v${version}";
-          sha256 = "sha256-lnx8+VyDyO7Wg+QW+CC0FUg77Ndfjar6PLsDYwEpaCQ=";
-        };
-      });
-    })
-
     # home-assistant-frontend does not exist in python3.pkgs
     (self: super: {
       home-assistant-frontend = self.callPackage ./frontend.nix { };
     })
   ];
 
-  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;
@@ -248,7 +115,7 @@ let
       });
     };
 
-  py = python3.override {
+  python = python3.override {
     # Put packageOverrides at the start so they are applied after defaultOverrides
     packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([ packageOverrides ] ++ defaultOverrides);
   };
@@ -257,22 +124,29 @@ let
 
   availableComponents = builtins.attrNames componentPackages.components;
 
-  getPackages = component: builtins.getAttr component componentPackages.components;
+  inherit (componentPackages) supportedComponentsWithTests;
 
-  componentBuildInputs = lib.concatMap (component: getPackages component py.pkgs) extraComponents;
+  getPackages = component: componentPackages.components.${component};
+
+  componentBuildInputs = lib.concatMap (component: getPackages component python.pkgs) extraComponents;
 
   # Ensure that we are using a consistent package set
-  extraBuildInputs = extraPackages py.pkgs;
+  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 = "2021.12.7";
+  hassVersion = "2022.2.9";
 
-in with py.pkgs; buildPythonApplication rec {
+in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
   version = assert (componentPackages.version == hassVersion); hassVersion;
+  format = "pyproject";
 
   # check REQUIRED_PYTHON_VER in homeassistant/const.py
-  disabled = pythonOlder "3.8";
+  disabled = python.pythonOlder "3.9";
 
   # don't try and fail to strip 6600+ python files, it takes minutes!
   dontStrip = true;
@@ -282,7 +156,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256:0jcnk43wm3xwvsfyvbswq681v2c3xmki1bakn0l12j6paida784y";
+    hash = "sha256-So/MAKyFVa1TchrVE4ego1fRbgOXCoXR3w/rJLFSBqI=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -291,23 +165,32 @@ in with py.pkgs; buildPythonApplication rec {
       src = ./patches/ffmpeg-path.patch;
       ffmpeg = "${lib.getBin ffmpeg}/bin/ffmpeg";
     })
-    ./patches/tests-ignore-OSErrors-in-hass-fixture.patch
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "aiohttp==3.8.1" "aiohttp" \
-      --replace "async_timeout==4.0.0" "async_timeout" \
-      --replace "bcrypt==3.1.7" "bcrypt" \
-      --replace "cryptography==35.0.0" "cryptography" \
-      --replace "httpx==0.21.0" "httpx" \
-      --replace "pip>=8.0.3,<20.3" "pip" \
-      --replace "pyyaml==6.0" "pyyaml" \
-      --replace "yarl==1.6.3" "yarl"
+  postPatch = let
+    relaxedConstraints = [
+      "aiohttp"
+      "async_timeout"
+      "attrs"
+      "awesomeversion"
+      "bcrypt"
+      "cryptography"
+      "httpx"
+      "pip"
+      "PyJWT"
+      "requests"
+      "yarl"
+    ];
+  in ''
+    sed -r -i \
+      ${lib.concatStringsSep "\n" (map (package:
+        ''-e 's@${package}[<>=]+.*@${package}@g' \''
+      ) relaxedConstraints)}
+    setup.cfg
     substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"'
   '';
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python.pkgs; [
     # Only packages required in setup.py
     aiohttp
     astral
@@ -334,8 +217,6 @@ in with py.pkgs; buildPythonApplication rec {
     yarl
     # Not in setup.py, but used in homeassistant/util/package.py
     setuptools
-  ] ++ lib.optionals (pythonOlder "3.9") [
-    backports-zoneinfo
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
@@ -343,9 +224,10 @@ in with py.pkgs; buildPythonApplication rec {
   # upstream only tests on Linux, so do we.
   doCheck = stdenv.isLinux;
 
-  checkInputs = [
+  checkInputs = with python.pkgs; [
     # test infrastructure (selectively from requirement_test.txt)
     freezegun
+    jsonpickle
     pytest-aiohttp
     pytest-freezegun
     pytest-mock
@@ -354,542 +236,18 @@ in with py.pkgs; buildPythonApplication rec {
     pytest-xdist
     pytestCheckHook
     requests-mock
-    stdlib-list
-    jsonpickle
     respx
+    stdlib-list
+    tqdm
+    # required by tests/pylint
+    astroid
+    pylint
     # required by tests/auth/mfa_modules
     pyotp
-  ] ++ lib.concatMap (component: getPackages component py.pkgs) componentTests;
-
-  # We can reasonably test components that don't communicate with any network
-  # services. Before adding new components to this list make sure we have all
-  # its dependencies packaged and listed in ./component-packages.nix.
-  componentTests = [
-    "abode"
-    "accuweather"
-    "acmeda"
-    "adguard"
-    "advantage_air"
-    "aemet"
-    "agent_dvr"
-    "air_quality"
-    "airly"
-    "airnow"
-    "airthings"
-    "airvisual"
-    "alarm_control_panel"
-    "alarmdecoder"
-    "alert"
-    "alexa"
-    "almond"
-    "ambiclimate"
-    "ambient_station"
-    "analytics"
-    "androidtv"
-    "apache_kafka"
-    "api"
-    "apple_tv"
-    "apprise"
-    "aprs"
-    "arcam_fmj"
-    "arlo"
-    "asuswrt"
-    "atag"
-    "august"
-    "aurora"
-    "auth"
-    "automation"
-    "awair"
-    "aws"
-    "axis"
-    "azure_devops"
-    "azure_event_hub"
-    "bayesian"
-    "binary_sensor"
-    "blackbird"
-    "blebox"
-    "blink"
-    "blueprint"
-    "bluetooth_le_tracker"
-    "bmw_connected_drive"
-    "bond"
-    "bosch_shc"
-    "braviatv"
-    "broadlink"
-    "brother"
-    "bsblan"
-    "buienradar"
-    "caldav"
-    "calendar"
-    "camera"
-    "canary"
-    "cast"
-    "cert_expiry"
-    "climacell"
-    "climate"
-    "cloud"
-    "cloudflare"
-    "color_extractor"
-    "comfoconnect"
-    "command_line"
-    "compensation"
-    "config"
-    "configurator"
-    "control4"
-    "conversation"
-    "coolmaster"
-    "coronavirus"
-    "counter"
-    "cover"
-    "daikin"
-    "darksky"
-    "datadog"
-    "deconz"
+  ] ++ lib.concatMap (component: getPackages component python.pkgs) [
+    # some components are needed even if tests in tests/components are disabled
     "default_config"
-    "demo"
-    "denonavr"
-    "derivative"
-    "device_automation"
-    "device_sun_light_trigger"
-    "device_tracker"
-    "devolo_home_control"
-    "dexcom"
-    "dhcp"
-    "dialogflow"
-    "directv"
-    "discovery"
-    "doorbird"
-    "dsmr"
-    "dte_energy_bridge"
-    "duckdns"
-    "dunehd"
-    "eafm"
-    "ecobee"
-    "econet"
-    "ee_brightbox"
-    "efergy"
-    "elgato"
-    "elkm1"
-    "emonitor"
-    "emulated_hue"
-    "emulated_kasa"
-    "emulated_roku"
-    "enocean"
-    "enphase_envoy"
-    "epson"
-    "esphome"
-    "everlights"
-    "ezviz"
-    "faa_delays"
-    "facebook"
-    "facebox"
-    "fail2ban"
-    "fan"
-    "feedreader"
-    "ffmpeg"
-    "fido"
-    "file"
-    "filesize"
-    "filter"
-    "fireservicerota"
-    "firmata"
-    "fjaraskupan"
-    "flick_electric"
-    "flipr"
-    "flo"
-    "flume"
-    "flunearyou"
-    "flux"
-    "folder"
-    "folder_watcher"
-    "foobot"
-    "foscam"
-    "freebox"
-    "freedns"
-    "fritz"
-    "fritzbox"
-    "fritzbox_callmonitor"
-    "frontend"
-    "garages_amsterdam"
-    "gdacs"
-    "generic"
-    "generic_thermostat"
-    "geo_json_events"
-    "geo_location"
-    "geo_rss_events"
-    "geofency"
-    "geonetnz_quakes"
-    "geonetnz_volcano"
-    "gios"
-    # updated to incompatible version and overriding is annoying because of async_timeout<4 pin
-    # "glances"
-    "goalzero"
-    "gogogate2"
-    "google"
-    "google_assistant"
-    "google_domains"
-    "google_pubsub"
-    "google_translate"
-    "google_travel_time"
-    "google_wifi"
-    "gpslogger"
-    "graphite"
-    "gree"
-    "group"
-    "growatt_server"
-    "guardian"
-    "habitica"
-    "hangouts"
-    "harmony"
-    "hassio"
-    "hddtemp"
-    "heos"
-    "here_travel_time"
-    "hisense_aehw4a1"
-    "history"
-    "history_stats"
-    "hive"
-    "hlk_sw16"
-    "home_connect"
-    "home_plus_control"
-    "homeassistant"
-    # disable homekit tests because they fail in the network component
-    #"homekit"
-    "homekit_controller"
-    "homematic"
-    "homematicip_cloud"
-    "honeywell"
-    "html5"
-    "http"
-    "huawei_lte"
     "hue"
-    "huisbaasje"
-    "humidifier"
-    "hunterdouglas_powerview"
-    "hvv_departures"
-    "hyperion"
-    "ialarm"
-    "iaqualink"
-    "icloud"
-    "ifttt"
-    "ign_sismologia"
-    "image"
-    "image_processing"
-    "imap_email_content"
-    "influxdb"
-    "input_boolean"
-    "input_datetime"
-    "input_number"
-    "input_select"
-    "input_text"
-    "insteon"
-    "integration"
-    "intent"
-    "intent_script"
-    "ios"
-    "ipma"
-    "ipp"
-    "iqvia"
-    "islamic_prayer_times"
-    "isy994"
-    "izone"
-    "jewish_calendar"
-    "juicenet"
-    "keenetic_ndms2"
-    "kira"
-    "kmtronic"
-    "knx"
-    "kodi"
-    "konnected"
-    "kraken"
-    "kulersky"
-    "lastfm"
-    "lcn"
-    "light"
-    "litterrobot"
-    "local_file"
-    "local_ip"
-    "locative"
-    "lock"
-    "logbook"
-    "logentries"
-    "logger"
-    "london_air"
-    "lovelace"
-    "luftdaten"
-    "lutron_caseta"
-    "lyric"
-    "mailbox"
-    "manual"
-    "manual_mqtt"
-    "maxcube"
-    "mazda"
-    "media_player"
-    "media_source"
-    "melcloud"
-    "meraki"
-    "met"
-    "met_eireann"
-    "meteoclimatic"
-    "mhz19"
-    "microsoft_face"
-    "microsoft_face_detect"
-    "microsoft_face_identify"
-    "mikrotik"
-    "mill"
-    "min_max"
-    "minecraft_server"
-    "minio"
-    "mobile_app"
-    "modbus"
-    "mold_indicator"
-    "moon"
-    "motion_blinds"
-    "motioneye"
-    "mqtt"
-    "mqtt_eventstream"
-    "mqtt_json"
-    "mqtt_room"
-    "mqtt_statestream"
-    "mullvad"
-    "mutesync"
-    "my"
-    "myq"
-    "mysensors"
-    "mythicbeastsdns"
-    "nam"
-    "namecheapdns"
-    "neato"
-    "ness_alarm"
-    # python-nest has an unfree license, this prevents builds through ofborg
-    # "nest"
-    "netatmo"
-    "nexia"
-    "nightscout"
-    "no_ip"
-    "notify"
-    "notion"
-    "nsw_rural_fire_service_feed"
-    "nuki"
-    "number"
-    "nws"
-    "nx584"
-    "octoprint"
-    "omnilogic"
-    "onboarding"
-    "ondilo_ico"
-    "openalpr_cloud"
-    "openalpr_local"
-    "openerz"
-    "openhardwaremonitor"
-    "opentherm_gw"
-    "openuv"
-    "openweathermap"
-    "opnsense"
-    "ovo_energy"
-    "owntracks"
-    "ozw"
-    "p1_monitor"
-    "panel_custom"
-    "panel_iframe"
-    "persistent_notification"
-    "person"
-    "philips_js"
-    "pi_hole"
-    "picnic"
-    "ping"
-    "plaato"
-    "plant"
-    "plex"
-    "plugwise"
-    "point"
-    "poolsense"
-    "profiler"
-    "prometheus"
-    "proximity"
-    "push"
-    "pushbullet"
-    "pvpc_hourly_pricing"
-    "python_script"
-    "qld_bushfire"
-    "rachio"
-    "radarr"
-    "rainmachine"
-    "random"
-    "recollect_waste"
-    "recorder"
-    "reddit"
-    "remote"
-    "renault"
-    "rest"
-    "rest_command"
-    "rflink"
-    "rfxtrx"
-    "ring"
-    "risco"
-    "rituals_perfume_genie"
-    "rmvtransport"
-    "roku"
-    "roomba"
-    "roon"
-    "rss_feed_template"
-    "ruckus_unleashed"
-    "safe_mode"
-    "samsungtv"
-    "scene"
-    "screenlogic"
-    "script"
-    "search"
-    "season"
-    "sense"
-    "sensor"
-    "sentry"
-    "sharkiq"
-    "shell_command"
-    "shelly"
-    "shopping_list"
-    "sia"
-    "sigfox"
-    "sighthound"
-    "simplisafe"
-    "simulated"
-    "slack"
-    "sleepiq"
-    "sma"
-    "smappee"
-    "smart_meter_texas"
-    "smarthab"
-    "smartthings"
-    "smarttub"
-    "smhi"
-    "smtp"
-    "snips"
-    "solaredge"
-    "soma"
-    "somfy"
-    "somfy_mylink"
-    "sonarr"
-    "songpal"
-    # disable sonos components test because they rely on ssdp, which doesn't work in our sandbox
-    # "sonos"
-    "soundtouch"
-    "spaceapi"
-    "spc"
-    "speedtestdotnet"
-    "spider"
-    "spotify"
-    "sql"
-    "squeezebox"
-    "srp_energy"
-    "ssdp"
-    "starline"
-    "startca"
-    "statistics"
-    "statsd"
-    "stream"
-    "stt"
-    "subaru"
-    "sun"
-    "surepetcare"
-    "switch"
-    "switcher_kis"
-    "syncthing"
-    "syncthru"
-    "synology_dsm"
-    "system_health"
-    "system_log"
-    "tado"
-    "tag"
-    "tasmota"
-    "tcp"
-    "telegram"
-    "tellduslive"
-    "template"
-    "threshold"
-    "tibber"
-    "tile"
-    "time_date"
-    "timer"
-    "tod"
-    "tomato"
-    "toon"
-    "totalconnect"
-    "tplink"
-    "traccar"
-    "trace"
-    "tradfri"
-    "transmission"
-    "transport_nsw"
-    "trend"
-    "tts"
-    "tuya"
-    "twentemilieu"
-    "twilio"
-    "twinkly"
-    "twitch"
-    "uk_transport"
-    "unifi"
-    "unifi_direct"
-    "universal"
-    "upb"
-    "upcloud"
-    "updater"
-    # disabled, because it tries to join a multicast group and fails to find a usable network interface
-    # "upnp"
-    "uptime"
-    "uptimerobot"
-    "usgs_earthquakes_feed"
-    "utility_meter"
-    "uvc"
-    "vacuum"
-    "velbus"
-    # disabled, because it includes onewire component tests, for which we lack p1wire dependency
-    # "venstar"
-    "vera"
-    "verisure"
-    "version"
-    "vesync"
-    "vilfo"
-    "vizio"
-    "vlc_telnet"
-    "voicerss"
-    "volumio"
-    "vultr"
-    "wake_on_lan"
-    "wallbox"
-    "water_heater"
-    "waze_travel_time"
-    "weather"
-    "webhook"
-    "webostv"
-    "websocket_api"
-    "wemo"
-    "wiffi"
-    "wilight"
-    "wled"
-    "workday"
-    "worldclock"
-    "wsdot"
-    "xbox"
-    "xiaomi"
-    "xiaomi_aqara"
-    # disabled, because we require cryptography>=35.0 for the miio package
-    # "xiaomi_miio"
-    "yamaha"
-    "yandex_transport"
-    "yandextts"
-    "yeelight"
-    "youless"
-    # disabled, because it tries to join a multicast group and fails to find a usable network interface
-    # "zeroconf"
-    "zerproc"
-    "zha"
-    "zodiac"
-    "zone"
-    "zwave"
-    "zwave_js"
-  ] ++ lib.optionals (builtins.any (s: s == stdenv.hostPlatform.system) debugpy.meta.platforms) [
-    "debugpy"
   ];
 
   pytestFlagsArray = [
@@ -902,117 +260,51 @@ in with py.pkgs; buildPythonApplication rec {
     "--only-rerun RuntimeError"
     # enable full variable printing on error
     "--showlocals"
-    # here_travel_time/test_sensor.py: Tries to access HERE API: herepy.error.HEREError: Error occured on __get
-    "--deselect tests/components/here_travel_time/test_sensor.py::test_invalid_credentials"
-    # screenlogic/test_config_flow.py: Tries to send out UDP broadcasts
-    "--deselect tests/components/screenlogic/test_config_flow.py::test_form_cannot_connect"
-    # abode/test_camera.py: Race condition in pickle file creationg
-    "--deselect tests/components/abode/test_camera.py::test_camera_off"
-    # asuswrt/test_config_flow.py: Sandbox network limitations, fails with unexpected error
-    "--deselect tests/components/asuswrt/test_config_flow.py::test_on_connect_failed"
-    # shelly/test_config_flow.py: Tries to join multicast group
-    "--deselect tests/components/shelly/test_config_flow.py::test_form"
-    "--deselect tests/components/shelly/test_config_flow.py::test_title_without_name"
-    "--deselect tests/components/shelly/test_config_flow.py::test_form_auth"
-    "--deselect tests/components/shelly/test_config_flow.py::test_form_errors_test_connection"
-    "--deselect tests/components/shelly/test_config_flow.py::test_user_setup_ignored_device"
-    "--deselect tests/components/shelly/test_config_flow.py::test_form_auth_errors_test_connection"
-    "--deselect tests/components/shelly/test_config_flow.py::test_form_auth_errors_test_connection"
-    "--deselect tests/components/shelly/test_config_flow.py::test_form_auth_errors_test_connection"
-    "--deselect tests/components/shelly/test_config_flow.py::test_zeroconf"
-    "--deselect tests/components/shelly/test_config_flow.py::test_zeroconf_sleeping_device"
-    "--deselect tests/components/shelly/test_config_flow.py::test_zeroconf_sleeping_device_error"
-    "--deselect tests/components/shelly/test_config_flow.py::test_zeroconf_sleeping_device_error"
-    "--deselect tests/components/shelly/test_config_flow.py::test_zeroconf_require_auth"
-    # prometheus/test_init.py: Spurious AssertionError regarding humidifier_target_humidity_percent metric
-    "--deselect tests/components/prometheus/test_init.py::test_view"
-    # smhi/test_init.py: Tries to fetch data from the network: socket.gaierror: [Errno -2] Name or service not known
-    "--deselect tests/components/smhi/test_init.py::test_remove_entry"
-    # wallbox/test_config_flow.py: Tries to connect to api.wall-box.cim: Failed to establish a new connection: [Errno -2] Name or service not known
-    "--deselect tests/components/wallbox/test_config_flow.py::test_form_invalid_auth"
-    "--deselect tests/components/wallbox/test_config_flow.py::test_form_cannot_connect"
-    # default_config/test_init.py: Tries to check for updates and fails ungracefully without network access
-    "--deselect tests/components/default_config/test_init.py::test_setup"
-    # local_ip/test_{init,config_flow}.py: tries to lookup a route towards a multicast address and fails
-    "--deselect tests/components/local_ip/test_init.py::test_basic_setup"
-    "--deselect tests/components/local_ip/test_config_flow.py::test_config_flow"
-    # netatmo/test_select.py: NoneType object has no attribute state
-    "--deselect tests/components/netatmo/test_select.py::test_select_schedule_thermostats"
-    # wemo/test_sensor.py: KeyError for various power attributes
-    "--deselect tests/components/wemo/test_sensor.py::TestInsightTodayEnergy::test_state_unavailable"
-    "--deselect tests/components/wemo/test_sensor.py::TestInsightCurrentPower::test_state_unavailable"
     # helpers/test_system_info.py: AssertionError: assert 'Unknown' == 'Home Assistant Container'
     "--deselect tests/helpers/test_system_info.py::test_container_installationtype"
     # tests are located in tests/
     "tests"
-    # dynamically add packages required for component tests
-  ] ++ map (component: "tests/components/" + component) componentTests;
+  ];
 
   disabledTestPaths = [
     # don't bulk test all components
     "tests/components"
     # pyotp since v2.4.0 complains about the short mock keys, hass pins v2.3.0
     "tests/auth/mfa_modules/test_notify.py"
-    # emulated_hue/test_upnp.py: Tries to establish the public ipv4 address
-    "tests/components/emulated_hue/test_upnp.py"
-    # tado/test_{climate,water_heater}.py: Tries to connect to my.tado.com
-    "tests/components/tado/test_climate.py"
-    "tests/components/tado/test_water_heater.py"
   ];
 
   disabledTests = [
     # AssertionError: assert 1 == 0
-    "test_error_posted_as_event"
     "test_merge"
-    # ModuleNotFoundError: No module named 'pyqwikswitch'
-    "test_merge_id_schema"
-    # keyring.errors.NoKeyringError: No recommended backend was available.
-    "test_secrets_from_unrelated_fails"
-    "test_secrets_credstash"
-    # generic/test_camera.py: AssertionError: 500 == 200
-    "test_fetching_without_verify_ssl"
-    "test_fetching_url_with_verify_ssl"
-    # util/test_package.py: AssertionError on package.is_installed('homeassistant>=999.999.999')
-    "test_check_package_version_does_not_match"
-    # homeassistant/util/thread.py:51: SystemError
-    "test_executor_shutdown_can_interrupt_threads"
-    # {'theme_color': '#03A9F4'} != {'theme_color': 'blue'}
-    "test_webhook_handle_get_config"
-    # onboarding tests rpi_power component, for which we are lacking rpi_bad_power library
-    "test_onboarding_core_sets_up_rpi_power"
-    "test_onboarding_core_no_rpi_power"
-    # hue/test_sensor_base.py: Race condition when counting events
-    "test_hue_events"
-    # august/test_lock.py: AssertionError: assert 'unlocked' == 'locked' / assert 'off' == 'on'
-    "test_lock_update_via_pubnub"
-    "test_door_sense_update_via_pubnub"
+    # Tests are flaky
+    "test_config_platform_valid"
   ];
 
   preCheck = ''
     export HOME="$TEMPDIR"
 
-    patch -p1 < ${./patches/tests-mock-source-ip.patch}
-
     # the tests require the existance of a media dir
     mkdir /build/media
 
     # put ping binary into PATH, e.g. for wake_on_lan tests
     export PATH=${inetutils}/bin:$PATH
+  '';
 
-    # error out when component test directory is missing, otherwise hidden by xdist execution :(
-    for component in ${lib.concatStringsSep " " (map lib.escapeShellArg componentTests)}; do
-      test -d "tests/components/$component" || {
-        >2& echo "ERROR: Tests for component '$component' were enabled, but they do not exist!"
-        exit 1
-      }
-    done
+  postInstall = ''
+    cp -v ${extraComponentsFile} $out/extra_components
+    cp -v ${extraPackagesFile} $out/extra_packages
   '';
 
   passthru = {
-    inherit availableComponents extraComponents;
-    python = py;
+    inherit
+      availableComponents
+      extraComponents
+      getPackages
+      python
+      supportedComponentsWithTests;
     tests = {
-      inherit (nixosTests) home-assistant;
+      nixos = nixosTests.home-assistant;
+      components = callPackage ./tests.nix { };
     };
   };
 
diff --git a/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/nixpkgs/pkgs/servers/home-assistant/frontend.nix
index a3ca2c07cdcf..2aabb0d9312c 100644
--- a/nixpkgs/pkgs/servers/home-assistant/frontend.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/frontend.nix
@@ -4,11 +4,15 @@ 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 = "20211229.0";
+  version = "20220203.1";
+  format = "wheel";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-2hACC2542jz1DID7nV28keVVDDBOLW1QDYTLM4S1ZJ0=";
+    inherit version format;
+    pname = "home_assistant_frontend";
+    dist = "py3";
+    python = "py3";
+    sha256 = "sha256-6+TzBhHo9+eo6Hlk8RF+BAt4O0i759iAN+dKAPDmTNY=";
   };
 
   # there is nothing to strip in this package
diff --git a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py b/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py
index 2cdc44caaae9..fbe46b237787 100755
--- a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py
+++ b/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py
@@ -62,6 +62,7 @@ def get_version():
 
 def parse_components(version: str = "master"):
     components = {}
+    components_with_tests = []
     with tempfile.TemporaryDirectory() as tmp:
         with urlopen(
             f"https://github.com/home-assistant/home-assistant/archive/{version}.tar.gz"
@@ -69,9 +70,13 @@ def parse_components(version: str = "master"):
             tarfile.open(fileobj=BytesIO(response.read())).extractall(tmp)
         # Use part of a script from the Home Assistant codebase
         core_path = os.path.join(tmp, f"core-{version}")
+
+        for entry in os.scandir(os.path.join(core_path, "tests/components")):
+            if entry.is_dir():
+                components_with_tests.append(entry.name)
+
         sys.path.append(core_path)
         from script.hassfest.model import Integration
-
         integrations = Integration.load_dir(
             pathlib.Path(
                 os.path.join(core_path, "homeassistant/components")
@@ -79,8 +84,10 @@ def parse_components(version: str = "master"):
         )
         for domain in sorted(integrations):
             integration = integrations[domain]
-            components[domain] = integration.manifest
-    return components
+            if not integration.disabled:
+                components[domain] = integration.manifest
+
+    return components, components_with_tests
 
 
 # Recursively get the requirements of a component and its dependencies
@@ -161,7 +168,7 @@ def main() -> None:
     packages = dump_packages()
     version = get_version()
     print("Generating component-packages.nix for version {}".format(version))
-    components = parse_components(version=version)
+    components, components_with_tests = parse_components(version=version)
     build_inputs = {}
     outdated = {}
     for component in sorted(components.keys()):
@@ -204,6 +211,13 @@ def main() -> None:
                 f.write(f" # missing inputs: {' '.join(missing)}")
             f.write("\n")
         f.write("  };\n")
+        f.write("  # components listed in tests/components for which all dependencies are packaged\n")
+        f.write("  supportedComponentsWithTests = [\n")
+        for component, deps in build_inputs.items():
+            available, missing = deps
+            if len(missing) == 0 and component in components_with_tests:
+                f.write(f'    "{component}"' + "\n")
+        f.write("  ];\n")
         f.write("}\n")
 
     supported_components = reduce(lambda n, c: n + (build_inputs[c][1] == []),
diff --git a/nixpkgs/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch b/nixpkgs/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch
deleted file mode 100644
index add0ea1d5521..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch b/nixpkgs/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch
index 4094d08ee7ff..6812ee1915bb 100644
--- a/nixpkgs/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch
+++ b/nixpkgs/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch
@@ -1,8 +1,8 @@
 diff --git a/homeassistant/components/network/__init__.py b/homeassistant/components/network/__init__.py
-index 7cc864727d..69333a5454 100644
+index b3ef88e7ab..b7a8471e1a 100644
 --- a/homeassistant/components/network/__init__.py
 +++ b/homeassistant/components/network/__init__.py
-@@ -26,7 +26,7 @@ async def async_get_source_ip(
+@@ -30,7 +30,7 @@ async def async_get_source_ip(
  ) -> str:
      """Get the source ip for a target ip."""
      adapters = await async_get_adapters(hass)
diff --git a/nixpkgs/pkgs/servers/home-assistant/tests.nix b/nixpkgs/pkgs/servers/home-assistant/tests.nix
new file mode 100644
index 000000000000..31dbe64725ce
--- /dev/null
+++ b/nixpkgs/pkgs/servers/home-assistant/tests.nix
@@ -0,0 +1,67 @@
+{ lib
+, home-assistant
+}:
+
+let
+  # some components' tests have additional dependencies
+  extraCheckInputs = with home-assistant.python.pkgs; {
+    alexa = [ ha-av ];
+    camera = [ ha-av ];
+    cloud = [ mutagen ];
+    config = [ pydispatcher ];
+    generic = [ ha-av ];
+    google_translate = [ mutagen ];
+    nest = [ ha-av ];
+    onboarding = [ pymetno rpi-bad-power ];
+    version = [ aioaseko ];
+    voicerss = [ mutagen ];
+    yandextts = [ mutagen ];
+    zha = [ pydeconz ];
+    zwave_js = [ homeassistant-pyozw ];
+  };
+
+  extraDisabledTestPaths = {
+    tado = [
+      # tado/test_{climate,water_heater}.py: Tries to connect to my.tado.com
+      "tests/components/tado/test_climate.py"
+      "tests/components/tado/test_water_heater.py"
+    ];
+  };
+
+  extraPytestFlagsArray = {
+    asuswrt = [
+      # asuswrt/test_config_flow.py: Sandbox network limitations, fails with unexpected error
+      "--deselect tests/components/asuswrt/test_config_flow.py::test_on_connect_failed"
+    ];
+  };
+in lib.listToAttrs (map (component: lib.nameValuePair component (
+  home-assistant.overridePythonAttrs (old: {
+    pname = "homeassistant-test-${component}";
+
+    dontBuild = true;
+    dontInstall = true;
+
+    checkInputs = old.checkInputs
+      ++ home-assistant.getPackages component home-assistant.python.pkgs
+      ++ extraCheckInputs.${component} or [ ];
+
+    disabledTestPaths = old.disabledTestPaths ++ extraDisabledTestPaths.${component} or [ ];
+
+    pytestFlagsArray = lib.remove "tests" old.pytestFlagsArray
+      ++ extraPytestFlagsArray.${component} or [ ]
+      ++ [ "tests/components/${component}" ];
+
+    preCheck = old.preCheck + lib.optionalString (builtins.elem component [ "emulated_hue" "songpal" "system_log" ]) ''
+      patch -p1 < ${./patches/tests-mock-source-ip.patch}
+    '';
+
+    meta = old.meta // {
+      broken = lib.elem component [
+        "airtouch4"
+        "dnsip"
+      ];
+      # upstream only tests on Linux, so do we.
+      platforms = lib.platforms.linux;
+    };
+  })
+)) home-assistant.supportedComponentsWithTests)
diff --git a/nixpkgs/pkgs/servers/hqplayerd/default.nix b/nixpkgs/pkgs/servers/hqplayerd/default.nix
index 4bd1ea3d63e0..1f0fe8845549 100644
--- a/nixpkgs/pkgs/servers/hqplayerd/default.nix
+++ b/nixpkgs/pkgs/servers/hqplayerd/default.nix
@@ -8,6 +8,7 @@
 , gcc11
 , gnome
 , gssdp
+, lame
 , lib
 , libgmpris
 , llvmPackages_10
@@ -45,11 +46,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hqplayerd";
-  version = "4.27.2-72";
+  version = "4.29.1-80";
 
   src = fetchurl {
     url = "https://www.signalyst.eu/bins/${pname}/fc34/${pname}-${version}sse42.fc34.x86_64.rpm";
-    sha256 = "sha256-oCZS68n9R6Hm6lltcL6zQhPaU9FRqtB59DrstRNjnH8=";
+    sha256 = "sha256-TL5zq7fu7tLoWadmVDMXrE8oiVhHbggpmwWrIGRuAnI=";
   };
 
   unpackPhase = ''
@@ -67,6 +68,7 @@ stdenv.mkDerivation rec {
     gssdp
     gupnp_1_2
     gupnp-av_0_12
+    lame
     libgmpris
     llvmPackages_10.openmp
     mpg123
diff --git a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
index 9538ea9f450f..56d66a2e99cf 100644
--- a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-httpd";
-  version = "2.4.51";
+  version = "2.4.52";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "20e01d81fecf077690a4439e3969a9b22a09a8d43c525356e863407741b838f4";
+    sha256 = "sha256-ASf33El+mYPpxRR0vtdeRWB/L4cKdnWobckK9tVy9ck=";
   };
 
   # FIXME: -dev depends on -doc
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix
new file mode 100644
index 000000000000..5fb922c2df08
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, apacheHttpd }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_cspnonce";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "wyattoday";
+    repo = "mod_cspnonce";
+    rev = version;
+    sha256 = "0kqvxf1dn8r0ywrfiwsxryjrxii2sq11wisbjnm7770sjwckwqh5";
+  };
+
+  buildInputs = [ apacheHttpd ];
+
+  buildPhase = ''
+    apxs -ca mod_cspnonce.c
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/modules
+    cp .libs/mod_cspnonce.so $out/modules
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An Apache2 module that makes it dead simple to add nonce values to the CSP";
+    homepage = "https://github.com/wyattoday/mod_cspnonce";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dasj19 ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
index 86c9ad6c00dc..a67ea3cc03e7 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/http/apt-cacher-ng/default.nix b/nixpkgs/pkgs/servers/http/apt-cacher-ng/default.nix
index 9e40bb648ea5..9cdc0c58ee44 100644
--- a/nixpkgs/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix b/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
index ffeead30a293..a907de3e73fe 100644
--- a/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
+++ b/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "1.48.0";
+  version = "1.51.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    sha256 = "sha256-oSimHF4qiI2zcMSx51qxs88AcrrewHIbhaRW8s4Ut7Q=";
+    sha256 = "sha256-TOHD3SEKz5aVG4ikqls4sYMa+FnP8YaCoVAl+HRG9Sc=";
   };
 
-  vendorSha256 = "sha256-dzYO1yAQSVJmDJvjB5XPRBiYCk+ko1n928CTtUXbHBc=";
+  vendorSha256 = "sha256-0Vp+dVDMLl52dKLj1v+mgg+odu5DNfrANBzTztVymh8=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/http/jetty/default.nix b/nixpkgs/pkgs/servers/http/jetty/default.nix
index 25eb0c6312cb..86139e7a24f6 100644
--- a/nixpkgs/pkgs/servers/http/jetty/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/http/lighttpd/default.nix b/nixpkgs/pkgs/servers/http/lighttpd/default.nix
index 4f98e3c7dab3..d0b11d9b7c16 100644
--- a/nixpkgs/pkgs/servers/http/lighttpd/default.nix
+++ b/nixpkgs/pkgs/servers/http/lighttpd/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, buildPackages, fetchurl, pkg-config, pcre, libxml2, zlib, bzip2, which, file
+{ lib, stdenv, buildPackages, fetchurl, pkg-config, pcre2, libxml2, zlib, bzip2, which, file
+, fetchpatch
 , openssl
 , enableDbi ? false, libdbi
 , enableMagnet ? false, lua5_1
@@ -13,23 +14,35 @@
 
 stdenv.mkDerivation rec {
   pname = "lighttpd";
-  version = "1.4.59";
+  version = "1.4.64";
 
   src = fetchurl {
     url = "https://download.lighttpd.net/lighttpd/releases-${lib.versions.majorMinor version}.x/${pname}-${version}.tar.xz";
-    sha256 = "sha256-+5U9snPa7wjttuICVWyuij0H7tYIHJa9mQPblX0QhNU=";
+    sha256 = "sha256-4Uidn6dJb78uBxwzi1k7IwDTjCPx5ZZ+UsnvSC4bDiY=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "macos-10.12-avoid-ccrandomgeneratebytes.patch";
+      url = "https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/6791f71b20a127b5b0091020dd065f4f9c7cafb6/diff?format=diff";
+      sha256 = "1x5ybkvxwinl7s1nv3rrc57m4mj38q0gbyjp1ijr4w5lhabw4vzs";
+    })
+  ];
+
   postPatch = ''
     patchShebangs tests
     # Linux sandbox has an empty hostname and not /etc/hosts, which fails some tests
     sed -ire '/[$]self->{HOSTNAME} *=/i     if(length($name)==0) { $name = "127.0.0.1" }' tests/LightyTest.pm
+    # it's difficult to prevent this test from trying to use /var/tmp (which
+    # the sandbox doesn't have) so until libredirect has support for mkstemp
+    # calls it's easiest to disable it
+    sed -i '/test_mod_ssi/d' src/t/test_mod.c
   '';
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ pcre pcre.dev libxml2 zlib bzip2 which file openssl ]
+  buildInputs = [ pcre2 pcre2.dev libxml2 zlib bzip2 which file openssl ]
              ++ lib.optional enableDbi libdbi
              ++ lib.optional enableMagnet lua5_1
              ++ lib.optional enableMysql libmysqlclient
@@ -51,7 +64,7 @@ stdenv.mkDerivation rec {
                 ++ lib.optional enableExtendedAttrs "--with-attr";
 
   preConfigure = ''
-    export PATH=$PATH:${pcre.dev}/bin
+    export PATH=$PATH:${pcre2.dev}/bin
     sed -i "s:/usr/bin/file:${file}/bin/file:g" configure
   '';
 
diff --git a/nixpkgs/pkgs/servers/http/nginx/mainline.nix b/nixpkgs/pkgs/servers/http/nginx/mainline.nix
index 774a3cbe6deb..ee36216686a5 100644
--- a/nixpkgs/pkgs/servers/http/nginx/mainline.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, openssl_3_0, ... }@args:
 
 callPackage ./generic.nix (args // { openssl = openssl_3_0; }) {
-  version = "1.21.4";
-  sha256 = "1ziv3xargxhxycd5hp6r3r5mww54nvvydiywcpsamg3i9r3jzxyi";
+  version = "1.21.5";
+  sha256 = "sha256-sg879TOlGKbw86eWff7thy0mjTHkzBIaAAEylgLdz7s=";
 }
diff --git a/nixpkgs/pkgs/servers/http/nginx/mainline.upstream b/nixpkgs/pkgs/servers/http/nginx/mainline.upstream
deleted file mode 100644
index 7bb025499592..000000000000
--- a/nixpkgs/pkgs/servers/http/nginx/mainline.upstream
+++ /dev/null
@@ -1,8 +0,0 @@
-url http://nginx.org/en/download.html
-version_link '.*-([0-9]+[.][0-9]+([.][0-9]+)*)[.]tar[.][a-z0-9]*$' 
-
-do_overwrite() {
-  ensure_hash
-  set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH"
-}
diff --git a/nixpkgs/pkgs/servers/http/nginx/modules.nix b/nixpkgs/pkgs/servers/http/nginx/modules.nix
index 4860dd9a9347..b159cc00aaaa 100644
--- a/nixpkgs/pkgs/servers/http/nginx/modules.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/modules.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, lib, pkgs }:
+{ fetchFromGitHub, fetchFromGitLab, lib, pkgs }:
 
 let
 
@@ -33,6 +33,29 @@ in
     inputs = [ pkgs.openssl ];
   };
 
+  auth-a2aclr = {
+    src = fetchFromGitLab {
+      name = "auth-a2aclr";
+      owner = "arpa2";
+      repo = "nginx-auth-a2aclr";
+      rev = "bbabf9480bb2b40ac581551883a18dfa6522dd63";
+      sha256 = "sha256-h2LgMhreCgod+H/bNQzY9BvqG9ezkwikwWB3T6gHH04=";
+    };
+    inputs = [
+      (pkgs.arpa2common.overrideAttrs
+        (old: rec {
+          version = "0.7.1";
+
+          src = fetchFromGitLab {
+            owner = "arpa2";
+            repo = "arpa2common";
+            rev = "v${version}";
+            sha256 = "sha256-8zVsAlGtmya9EK4OkGUMu2FKJRn2Q3bg2QWGjqcii64=";
+          };
+        }))
+    ];
+  };
+
   aws-auth = {
     src = fetchFromGitHub {
       name = "aws-auth";
@@ -50,20 +73,21 @@ in
       repo = "ngx_brotli";
       rev = "25f86f0bac1101b6512135eac5f93c49c63609e3";
       sha256 = "02hfvfa6milj40qc2ikpb9f95sxqvxk4hly3x74kqhysbdi06hhv";
-    }; in pkgs.runCommand "ngx_brotli-src" {} ''
-      cp -a ${gitsrc} $out
-      substituteInPlace $out/filter/config \
-        --replace '$ngx_addon_dir/deps/brotli/c' ${lib.getDev pkgs.brotli}
-    '';
+    }; in
+      pkgs.runCommand "ngx_brotli-src" { } ''
+        cp -a ${gitsrc} $out
+        substituteInPlace $out/filter/config \
+          --replace '$ngx_addon_dir/deps/brotli/c' ${lib.getDev pkgs.brotli}
+      '';
     inputs = [ pkgs.brotli ];
   };
 
   cache-purge = {
     src = fetchFromGitHub {
       name = "cache-purge";
-      owner  = "nginx-modules";
-      repo   = "ngx_cache_purge";
-      rev    = "2.5.1";
+      owner = "nginx-modules";
+      repo = "ngx_cache_purge";
+      rev = "2.5.1";
       sha256 = "0va4jz36mxj76nmq05n3fgnpdad30cslg7c10vnlhdmmic9vqncd";
     };
   };
@@ -71,9 +95,9 @@ in
   coolkit = {
     src = fetchFromGitHub {
       name = "coolkit";
-      owner  = "FRiCKLE";
-      repo   = "ngx_coolkit";
-      rev    = "0.2";
+      owner = "FRiCKLE";
+      repo = "ngx_coolkit";
+      rev = "0.2";
       sha256 = "1idj0cqmfsdqawjcqpr1fsq670fdki51ksqk2lslfpcs3yrfjpqh";
     };
   };
@@ -132,6 +156,21 @@ in
     };
   };
 
+  geoip2 = {
+    src = fetchFromGitHub {
+      name = "geoip2";
+      owner = "leev";
+      repo = "ngx_http_geoip2_module";
+      rev = "3.3";
+      sha256 = "EEn/qxPsBFgVBqOgPYTrRhaLPwSBlSPWYYSr3SL8wZA=";
+    };
+    inputs = [ pkgs.libmaxminddb ];
+
+    meta = {
+      maintainers = with lib.maintainers; [ pinpox ];
+    };
+  };
+
   http_proxy_connect_module_v18 = http_proxy_connect_module_generic "proxy_connect_rewrite_1018" // {
     supports = with lib.versions; version: major version == "1" && minor version == "18";
   };
@@ -141,13 +180,14 @@ in
   };
 
   ipscrub = {
-    src = fetchFromGitHub {
-      name = "ipscrub";
-      owner = "masonicboom";
-      repo = "ipscrub";
-      rev = "v1.0.1";
-      sha256 = "0qcx15c8wbsmyz2hkmyy5yd7qn1n84kx9amaxnfxkpqi05vzm1zz";
-    } + "/ipscrub";
+    src = fetchFromGitHub
+      {
+        name = "ipscrub";
+        owner = "masonicboom";
+        repo = "ipscrub";
+        rev = "v1.0.1";
+        sha256 = "0qcx15c8wbsmyz2hkmyy5yd7qn1n84kx9amaxnfxkpqi05vzm1zz";
+      } + "/ipscrub";
     inputs = [ pkgs.libbsd ];
   };
 
@@ -161,7 +201,7 @@ in
     };
   };
 
-  live ={
+  live = {
     src = fetchFromGitHub {
       name = "live";
       owner = "arut";
@@ -212,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 ];
   };
@@ -228,7 +268,7 @@ in
     };
   };
 
-  mpeg-ts ={
+  mpeg-ts = {
     src = fetchFromGitHub {
       name = "mpeg-ts";
       owner = "arut";
@@ -238,14 +278,15 @@ in
     };
   };
 
-  naxsi ={
-    src = fetchFromGitHub {
-      name = "naxsi";
-      owner = "nbs-system";
-      repo = "naxsi";
-      rev = "95ac520eed2ea04098a76305fd0ad7e9158840b7";
-      sha256 = "0b5pnqkgg18kbw5rf2ifiq7lsx5rqmpqsql6hx5ycxjzxj6acfb3";
-    } + "/naxsi_src";
+  naxsi = {
+    src = fetchFromGitHub
+      {
+        name = "naxsi";
+        owner = "nbs-system";
+        repo = "naxsi";
+        rev = "95ac520eed2ea04098a76305fd0ad7e9158840b7";
+        sha256 = "0b5pnqkgg18kbw5rf2ifiq7lsx5rqmpqsql6hx5ycxjzxj6acfb3";
+      } + "/naxsi_src";
   };
 
   opentracing = {
@@ -266,10 +307,10 @@ in
       version = pkgs.psol.version;
 
       moduleSrc = fetchFromGitHub {
-        name   = "pagespeed";
-        owner  = "pagespeed";
-        repo   = "ngx_pagespeed";
-        rev    = "v${version}-stable";
+        name = "pagespeed";
+        owner = "pagespeed";
+        repo = "ngx_pagespeed";
+        rev = "v${version}-stable";
         sha256 = "0ry7vmkb2bx0sspl1kgjlrzzz6lbz07313ks2lr80rrdm2zb16wp";
       };
 
@@ -278,8 +319,8 @@ in
         {
           meta = {
             description = "PageSpeed module for Nginx";
-            homepage    = "https://developers.google.com/speed/pagespeed/module/";
-            license     = pkgs.lib.licenses.asl20;
+            homepage = "https://developers.google.com/speed/pagespeed/module/";
+            license = pkgs.lib.licenses.asl20;
           };
         }
         ''
@@ -287,7 +328,8 @@ in
           chmod -R +w "$out"
           ln -s "${pkgs.psol}" "$out/psol"
         '';
-    in {
+    in
+    {
       src = ngx_pagespeed;
       inputs = [ pkgs.zlib pkgs.libuuid ]; # psol deps
       allowMemoryWriteExecute = true;
@@ -314,7 +356,7 @@ in
     };
   };
 
-  push-stream ={
+  push-stream = {
     src = fetchFromGitHub {
       name = "push-stream";
       owner = "wandenberg";
@@ -378,9 +420,9 @@ in
   slowfs-cache = {
     src = fetchFromGitHub {
       name = "slowfs-cache";
-      owner  = "FRiCKLE";
-      repo   = "ngx_slowfs_cache";
-      rev    = "1.10";
+      owner = "FRiCKLE";
+      repo = "ngx_slowfs_cache";
+      rev = "1.10";
       sha256 = "1gyza02pcws3zqm1phv3ag50db5gnapxyjwy8skjmvawz7p5bmxr";
     };
   };
diff --git a/nixpkgs/pkgs/servers/http/nginx/quic.nix b/nixpkgs/pkgs/servers/http/nginx/quic.nix
index 3217b859bc82..f0a7a3675558 100644
--- a/nixpkgs/pkgs/servers/http/nginx/quic.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/quic.nix
@@ -6,8 +6,8 @@
 callPackage ./generic.nix args {
   src = fetchhg {
     url = "https://hg.nginx.org/nginx-quic";
-    rev = "0ee56d2eac44"; # branch=quic
-    sha256 = "sha256-ErJa71aOzcjcBl1P9+g5kzs5sr0JdjrPwYKZ9VAvQus=";
+    rev = "6f8253673669"; # branch=quic
+    sha256 = "sha256:0zl4rws07vr8z7ml7sqlb70v3cx1cms7iablndqd38iqcx0bvjrq";
   };
 
   preConfigure = ''
@@ -19,5 +19,5 @@ callPackage ./generic.nix args {
     "--with-stream_quic_module"
   ];
 
-  version = "1.21.4-quic";
+  version = "1.21.5-quic";
 }
diff --git a/nixpkgs/pkgs/servers/http/nginx/stable.upstream b/nixpkgs/pkgs/servers/http/nginx/stable.upstream
deleted file mode 100644
index c20139017436..000000000000
--- a/nixpkgs/pkgs/servers/http/nginx/stable.upstream
+++ /dev/null
@@ -1,8 +0,0 @@
-url http://nginx.org/en/download.html
-version_link '.*-([0-9]+[.][0-9]*[02468]([.][0-9]+)*)[.]tar[.][a-z0-9]*$' 
-
-do_overwrite() {
-  ensure_hash
-  set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH"
-}
diff --git a/nixpkgs/pkgs/servers/hydron/default.nix b/nixpkgs/pkgs/servers/hydron/default.nix
index 41c69bde2852..ba163a719b10 100644
--- a/nixpkgs/pkgs/servers/hydron/default.nix
+++ b/nixpkgs/pkgs/servers/hydron/default.nix
@@ -13,8 +13,8 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  vendorSha256 = "1ngig5zw0gf1mkjjsfvvn09rncb36rg274cbi3glp8wzfcr8aip3";
-  runVend = true;
+  vendorSha256 = "sha256-hvmIOCqVZTfV7EnkDUWiChynGkwTpHClMbW4LpbdAgo=";
+  proxyVendor = true;
 
   buildInputs = [ ffmpeg ];
 
diff --git a/nixpkgs/pkgs/servers/hylafaxplus/default.nix b/nixpkgs/pkgs/servers/hylafaxplus/default.nix
index 00dfd7c48176..c5966a10937e 100644
--- a/nixpkgs/pkgs/servers/hylafaxplus/default.nix
+++ b/nixpkgs/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";
@@ -87,11 +87,16 @@ stdenv.mkDerivation {
     openldap  # optional
     pam  # optional
   ];
+  # Disable parallel build, errors:
+  #  *** No rule to make target '../util/libfaxutil.so.7.0.4', needed by 'faxmsg'.  Stop.
+  enableParallelBuilding = false;
+
   postPatch = ". ${postPatch}";
   dontAddPrefix = true;
   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/nixpkgs/pkgs/servers/imgproxy/default.nix b/nixpkgs/pkgs/servers/imgproxy/default.nix
index 3c5e901dfb89..a7c20d112096 100644
--- a/nixpkgs/pkgs/servers/imgproxy/default.nix
+++ b/nixpkgs/pkgs/servers/imgproxy/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "imgproxy";
-  version = "3.0.0";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    sha256 = "sha256-r9nT4nAzD6xBTB9jfmPfE7vKs4tgrdGPWOptRpqh5TM=";
+    sha256 = "sha256-z1Vt6rTpQ9sSwT+hr4wGZmZl55MyDx1AIDqSWmCXbMc=";
     rev = "v${version}";
   };
 
-  vendorSha256 = "sha256-7LRxR6ISV+A30NSztlAlfjMjgnXZpHq3aMAKGoHJtNY=";
+  vendorSha256 = "sha256-MHcV6n6uZsjC85vQVl+o6JD+psvE2xuPr//3RueT8V0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/irc/atheme/default.nix b/nixpkgs/pkgs/servers/irc/atheme/default.nix
index eb6f9345b2d0..9db7ef3aaca8 100644
--- a/nixpkgs/pkgs/servers/irc/atheme/default.nix
+++ b/nixpkgs/pkgs/servers/irc/atheme/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "atheme";
-  version = "7.2.11";
+  version = "7.2.12";
 
   src = fetchgit {
     url = "https://github.com/atheme/atheme.git";
     rev = "v${version}";
-    sha256 = "15fs48cgzxblh2g4abl5v647ndfx9hg8cih2x67v3y7s9wz68wk2";
+    sha256 = "sha256-KAC1ZPNo4TqfVryKOYYef8cRWRgFmyEdvl1bgvpGNiM=";
     leaveDotGit = true;
   };
 
diff --git a/nixpkgs/pkgs/servers/irc/ergochat/default.nix b/nixpkgs/pkgs/servers/irc/ergochat/default.nix
new file mode 100644
index 000000000000..57f79ff916c3
--- /dev/null
+++ b/nixpkgs/pkgs/servers/irc/ergochat/default.nix
@@ -0,0 +1,26 @@
+{ buildGoModule, fetchFromGitHub, lib, nixosTests }:
+
+buildGoModule rec {
+  pname = "ergo";
+  version = "2.9.1";
+
+  src = fetchFromGitHub {
+    owner = "ergochat";
+    repo = "ergo";
+    rev = "v${version}";
+    sha256 = "sha256-RxsmkTfHymferS/FRW0sLnstKfvGXkW6cEb/JbeS4lc=";
+  };
+
+  vendorSha256 = null;
+
+  passthru.tests.ergochat = nixosTests.ergochat;
+
+  meta = {
+    changelog = "https://github.com/ergochat/ergo/blob/v${version}/CHANGELOG.md";
+    description = "A modern IRC server (daemon/ircd) written in Go";
+    homepage = "https://github.com/ergochat/ergo";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ lassulus tv ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/isso/default.nix b/nixpkgs/pkgs/servers/isso/default.nix
index 6550659898e0..f02fc8df3b1b 100644
--- a/nixpkgs/pkgs/servers/isso/default.nix
+++ b/nixpkgs/pkgs/servers/isso/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, nodejs, lib, python3Packages, fetchFromGitHub }:
+{ pkgs, nodejs, lib, python3Packages, fetchFromGitHub, nixosTests }:
 let
   nodeEnv = import ./node-env.nix {
     inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
@@ -53,6 +53,8 @@ with python3Packages; buildPythonApplication rec {
     ${python.interpreter} setup.py nosetests
   '';
 
+  passthru.tests = { inherit (nixosTests) isso; };
+
   meta = with lib; {
     description = "A commenting server similar to Disqus";
     homepage = "https://posativ.org/isso/";
diff --git a/nixpkgs/pkgs/servers/jackett/default.nix b/nixpkgs/pkgs/servers/jackett/default.nix
index 076bd4dbdf43..799b812047dc 100644
--- a/nixpkgs/pkgs/servers/jackett/default.nix
+++ b/nixpkgs/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
 
 buildDotnetModule rec {
   pname = "jackett";
-  version = "0.20.184";
+  version = "0.20.596";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "Qp1yh1bPiJyZb5myPJJqOZAbrEHl/sD+PSLxjvrj0ho=";
+    sha256 = "wIJSqsIb3/SOicjLgnv0Lt3Wv1qKPHslRcDlZCvckUs=";
   };
 
   projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/nixpkgs/pkgs/servers/jackett/deps.nix b/nixpkgs/pkgs/servers/jackett/deps.nix
index cf08f95623e7..3b0fb8cb78bd 100644
--- a/nixpkgs/pkgs/servers/jackett/deps.nix
+++ b/nixpkgs/pkgs/servers/jackett/deps.nix
@@ -1,5 +1,6 @@
 { fetchNuGet }: [
   (fetchNuGet { pname = "AngleSharp"; version = "0.16.1"; sha256 = "11r5fpm8009pwdlr0vblqbvngpm5mb7jc565sqb3rnwbd5yyrrnk"; })
+  (fetchNuGet { pname = "AngleSharp.Xml"; version = "0.16.0"; sha256 = "1skj9x9njypd4hyajkadsavp3m1vv7l8jb4jhczixa22p8p0cfrq"; })
   (fetchNuGet { pname = "Autofac"; version = "6.3.0"; sha256 = "0zg0lsqzb8hh7l97mfd2z3fxdab86sbmxkaprzi41v0hs1x3jd9b"; })
   (fetchNuGet { pname = "Autofac.Extensions.DependencyInjection"; version = "7.2.0"; sha256 = "0spr5yn4lhkyg3wm2xqjx857wxim4llc7i8291gw7hkvr6yiw8m6"; })
   (fetchNuGet { pname = "AutoMapper"; version = "10.1.1"; sha256 = "1l1p9g7f7finr8laklbm7h2c45k0swl47iq0ik68js5s6pzvd6f8"; })
@@ -7,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/nixpkgs/pkgs/servers/janus-gateway/default.nix b/nixpkgs/pkgs/servers/janus-gateway/default.nix
index 1ccaca421337..e9138c2eeddb 100644
--- a/nixpkgs/pkgs/servers/janus-gateway/default.nix
+++ b/nixpkgs/pkgs/servers/janus-gateway/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "janus-gateway";
-  version = "0.11.5";
+  version = "0.11.8";
 
   src = fetchFromGitHub {
     owner = "meetecho";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+ojBVdglOTqdmWT8QPUzJRT7RgtXxEOLNC5GqP0vO6Y=";
+    sha256 = "sha256-otTIDwcbF8Rcas048Vkn30v39GYIYbAIY72ipJhIwC4=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ];
diff --git a/nixpkgs/pkgs/servers/jibri/default.nix b/nixpkgs/pkgs/servers/jibri/default.nix
index 6a77a448bf7f..383bd524d640 100644
--- a/nixpkgs/pkgs/servers/jibri/default.nix
+++ b/nixpkgs/pkgs/servers/jibri/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   version = "8.0-93-g51fe7a2";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "1w78aa3rfdc4frb68ymykrbazxqrcv8mcdayqmcb72q1aa854c7j";
+    sha256 = "8jBSkFIBi7NYxV41VtFmGfevVp6+emRWdoQ1l4dS6PA=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/servers/jicofo/default.nix b/nixpkgs/pkgs/servers/jicofo/default.nix
index 5657d6511323..71a087afcd93 100644
--- a/nixpkgs/pkgs/servers/jicofo/default.nix
+++ b/nixpkgs/pkgs/servers/jicofo/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jicofo";
-  version = "1.0-813";
+  version = "1.0-832";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "MVlGD2l0e1a2AtYPU1fkBoEfdPhjf2nOehAcacQl4Jk=";
+    sha256 = "ZSzxD4RCsIkNtB4agBRZkzbJOi6ttzlc4Qw5n0t5syc=";
   };
 in
 stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/servers/jitsi-videobridge/default.nix b/nixpkgs/pkgs/servers/jitsi-videobridge/default.nix
index 7c2d8b80de0c..a7a6667d6bfa 100644
--- a/nixpkgs/pkgs/servers/jitsi-videobridge/default.nix
+++ b/nixpkgs/pkgs/servers/jitsi-videobridge/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jitsi-videobridge2";
-  version = "2.1-570-gb802be83";
+  version = "2.1-595-g3637fda4";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "0SLaCIjMN2/+Iushyz8OQpRHHBYVqn6+DpwNGbQEzy4=";
+    sha256 = "vwn9C8M3wwiIqwxAu1MDe2ra2SCQ2Hssco5J/xUFoKM=";
   };
 in
 stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/servers/keycloak/default.nix b/nixpkgs/pkgs/servers/keycloak/default.nix
index ef168272fe76..9d8a2b31bf12 100644
--- a/nixpkgs/pkgs/servers/keycloak/default.nix
+++ b/nixpkgs/pkgs/servers/keycloak/default.nix
@@ -18,11 +18,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname   = "keycloak";
-  version = "15.1.0";
+  version = "16.1.0";
 
   src = fetchzip {
     url    = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    sha256 = "0s8nvp1ca30569k1a7glbn2zvvchz35s2r8d08fbs5zjngnz3276";
+    sha256 = "sha256-QVFu3f+mwafoNUttLEVMdoZHMJjjH/TpZAGV7ZvIvh0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/klipper/default.nix b/nixpkgs/pkgs/servers/klipper/default.nix
index 7d5ae0c74f29..fd80dc4b87c6 100644
--- a/nixpkgs/pkgs/servers/klipper/default.nix
+++ b/nixpkgs/pkgs/servers/klipper/default.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "unstable-2021-12-24";
+  version = "unstable-2022-02-07";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "247cd753e283e70a9949e76d0ba669d99c0eb144";
-    sha256 = "sha256-65wxhE/XqNK6ly+fxZFLjtImvpJlgU54RStUve40CJA=";
+    rev = "6d7c03365ad13c4661675aaccd0a3dc5be544493";
+    sha256 = "sha256-xFSZkOFETGcJXA6CUCReoyNZXhDAfgKkWoeDRqueBVw=";
   };
 
   sourceRoot = "source/klippy";
diff --git a/nixpkgs/pkgs/servers/libreddit/default.nix b/nixpkgs/pkgs/servers/libreddit/default.nix
index 5ad43a89522f..121eeb991f93 100644
--- a/nixpkgs/pkgs/servers/libreddit/default.nix
+++ b/nixpkgs/pkgs/servers/libreddit/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "libreddit";
-  version = "0.21.4";
+  version = "0.21.7";
 
   src = fetchFromGitHub {
     owner = "spikecodes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9Qr1afzp5BwcnJ4WjACJQk4NA81JTnNBmZZNFMZ6FvU=";
+    sha256 = "sha256-pALPhSoamsU5xEbSoXFe+Cikl16gxTXccUATMkYB97M=";
   };
 
-  cargoSha256 = "sha256-HD6asNFb0ZICeXnUwF4ZZ568GJRPeSy4XwflpIuWJw8=";
+  cargoSha256 = "sha256-/P8wyFPCcCoGINtJ0qom3xLlkunH6xZPd7/7ynXmTy4=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/servers/limesurvey/default.nix b/nixpkgs/pkgs/servers/limesurvey/default.nix
index e71ff33e2f9d..d74e1a0fab64 100644
--- a/nixpkgs/pkgs/servers/limesurvey/default.nix
+++ b/nixpkgs/pkgs/servers/limesurvey/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "limesurvey";
-  version = "3.23.7+201006";
+  version = "3.27.33+220125";
 
   src = fetchFromGitHub {
     owner = "LimeSurvey";
     repo = "LimeSurvey";
     rev = version;
-    sha256 = "19p978p0flknsg3iqlrrbr76qsk5ha2a84nxywqsvjrjvqrh5jrc";
+    sha256 = "sha256-iwTsn+glh8fwt1IaH9iDKDhEAnx1s1zvv1dmsdzUk8g=";
   };
 
   phpConfig = writeText "config.php" ''
@@ -37,10 +37,5 @@ stdenv.mkDerivation rec {
     homepage = "https://www.limesurvey.org";
     maintainers = with maintainers; [offline];
     platforms = with platforms; unix;
-    knownVulnerabilities = [
-      # https://github.com/LimeSurvey/LimeSurvey/blob/3.x-LTS/docs/release_notes.txt
-      "Unauthorized access to statistics of a survey with certain permission configurations"
-      "Persistent XSS in browse response"
-    ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/livepeer/default.nix b/nixpkgs/pkgs/servers/livepeer/default.nix
index b8a4f3c5569d..046ad481457f 100644
--- a/nixpkgs/pkgs/servers/livepeer/default.nix
+++ b/nixpkgs/pkgs/servers/livepeer/default.nix
@@ -6,8 +6,8 @@ buildGoModule rec {
   pname = "livepeer";
   version = "0.5.20";
 
-  runVend = true;
-  vendorSha256 = "sha256-iFVScV3arPkBjMi8sCHIja4G2QeQDb2sgBrbTFyxKyw=";
+  proxyVendor = true;
+  vendorSha256 = "sha256-aRZoAEnRai8i5H08ReW8lEFlbmarYxU0lBRhR/Llw+M=";
 
   src = fetchFromGitHub {
     owner = "livepeer";
diff --git a/nixpkgs/pkgs/servers/maddy/default.nix b/nixpkgs/pkgs/servers/maddy/default.nix
index b4ddb80c1653..598946037db6 100644
--- a/nixpkgs/pkgs/servers/maddy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mail/dovecot/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
index 45300a8073f9..266bb0a383d8 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot";
-  version = "2.3.17.1";
+  version = "2.3.18";
 
   nativeBuildInputs = [ perl pkg-config ];
   buildInputs =
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
-    sha256 = "1f525bvpjvi4rnwqjsqaqrbdii08sqmc1v8xq03m19w1vk6cqrqw";
+    hash = "sha256-Buc/ZoxsCTxFve7rfCA5irjcSTFyNPS1eBrF4sxdbDM=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 2b75a36c6c42..3f1f2d270a36 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -3,11 +3,11 @@ let
   dovecotMajorMinor = lib.versions.majorMinor dovecot.version;
 in stdenv.mkDerivation rec {
   pname = "dovecot-pigeonhole";
-  version = "0.5.17.1";
+  version = "0.5.18";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-${dovecotMajorMinor}-pigeonhole-${version}.tar.gz";
-    sha256 = "04j5z3y8yyci4ni9j9i7cy0zg1qj2sm9zfarmjcvs9vydpga7i1w";
+    hash = "sha256-ptgo+Nby3sulEFND7OXHplJFvZTkaorkQyptl1QxCKU=";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/nixpkgs/pkgs/servers/mail/dspam/default.nix b/nixpkgs/pkgs/servers/mail/dspam/default.nix
index b33e4535ca91..8d73542bec68 100644
--- a/nixpkgs/pkgs/servers/mail/dspam/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dspam/default.nix
@@ -100,9 +100,9 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://nuclearelephant.com/";
+    homepage = "http://dspam.sourceforge.net/";
     description = "Community Driven Antispam Filter";
-    license = licenses.agpl3;
+    license = licenses.agpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix b/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
index 4d4f714e7487..d1e4581789e0 100644
--- a/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -12,7 +12,7 @@
 , django-paintstore
 , django-q
 , django_compressor
-, django_extensions
+, django-extensions
 , djangorestframework
 , flufl_lock
 , mistune_2_0
@@ -43,6 +43,9 @@ buildPythonPackage rec {
   postPatch = ''
     # isort is a development dependency
     sed -i '/isort/d' setup.py
+    # Fix mistune imports for mistune >= 2.0.0
+    # https://gitlab.com/mailman/hyperkitty/-/merge_requests/379
+    sed -i 's/mistune.scanner/mistune.util/' hyperkitty/lib/renderer.py
   '';
 
   propagatedBuildInputs = [
@@ -52,7 +55,7 @@ buildPythonPackage rec {
     django-mailman3
     django-q
     django_compressor
-    django_extensions
+    django-extensions
     djangorestframework
     flufl_lock
     mistune_2_0
diff --git a/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix b/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix
index 65ff08b45396..5759e57d3b49 100644
--- a/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix
+++ b/nixpkgs/pkgs/servers/mail/opensmtpd/extras.nix
@@ -1,6 +1,5 @@
-{ lib, stdenv, fetchurl, openssl, libevent, libasr,
-  python2, pkg-config, lua5, perl, libmysqlclient, postgresql, sqlite, hiredis,
-  enablePython ? true,
+{ lib, stdenv, fetchurl, openssl, libevent, libasr, ncurses,
+  pkg-config, lua5, perl, libmysqlclient, postgresql, sqlite, hiredis,
   enableLua ? true,
   enablePerl ? true,
   enableMysql ? true,
@@ -20,7 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl libevent
-    libasr python2 lua5 perl libmysqlclient postgresql sqlite hiredis ];
+    libasr lua5 perl libmysqlclient postgresql sqlite hiredis ];
 
   configureFlags = [
     "--sysconfdir=/etc"
@@ -48,13 +47,6 @@ stdenv.mkDerivation rec {
     "--with-scheduler-ram"
     "--with-scheduler-stub"
 
-  ] ++ lib.optionals enablePython [
-    "--with-python=${python2}"
-    "--with-filter-python"
-    "--with-queue-python"
-    "--with-table-python"
-    "--with-scheduler-python"
-
   ] ++ lib.optionals enableLua [
     "--with-lua=${pkg-config}"
     "--with-filter-lua"
diff --git a/nixpkgs/pkgs/servers/mail/postfix/default.nix b/nixpkgs/pkgs/servers/mail/postfix/default.nix
index 92fe6e0403a2..08c55f771724 100644
--- a/nixpkgs/pkgs/servers/mail/postfix/default.nix
+++ b/nixpkgs/pkgs/servers/mail/postfix/default.nix
@@ -24,11 +24,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "postfix";
-  version = "3.6.3";
+  version = "3.6.5";
 
   src = fetchurl {
     url = "http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/${pname}-${version}.tar.gz";
-    sha256 = "1g5ii5vvcr87qkabsbyg3n7kzy1g5k2n5gwa8468w5d0ava424hg";
+    hash = "sha256-MA+ogRzqINAdJcYZ01m/+rgmVucE2qcZ4MmvxOz/SAg=";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
diff --git a/nixpkgs/pkgs/servers/mail/spamassassin/default.nix b/nixpkgs/pkgs/servers/mail/spamassassin/default.nix
index 19fd85ca000d..ef87288df29b 100644
--- a/nixpkgs/pkgs/servers/mail/spamassassin/default.nix
+++ b/nixpkgs/pkgs/servers/mail/spamassassin/default.nix
@@ -9,7 +9,14 @@ perlPackages.buildPerlPackage rec {
     sha256 = "044ng2aazqy8g0m17q0a4939ck1ca4x230q2q7q7jndvwkrpaj5w";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  # ExtUtil::MakeMaker is bundled with Perl, but the bundled version
+  # causes build errors for aarch64-darwin, so we override it with the
+  # latest version.  We can drop the dependency to go back to the
+  # bundled version when the version that comes with Perl is ≥7.57_02.
+  #
+  # Check the version bundled with Perl like this:
+  #   perl -e 'use ExtUtils::MakeMaker qw($VERSION); print "$VERSION\n"'
+  nativeBuildInputs = [ makeWrapper perlPackages.ExtUtilsMakeMaker ];
   buildInputs = (with perlPackages; [
     HTMLParser NetCIDRLite NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP
     LWPProtocolHttps IOSocketSSL DBI EncodeDetect IPCountry NetIdent
@@ -34,7 +41,7 @@ perlPackages.buildPerlPackage rec {
   '';
 
   meta = {
-    homepage = "http://spamassassin.apache.org/";
+    homepage = "https://spamassassin.apache.org/";
     description = "Open-Source Spam Filter";
     license = lib.licenses.asl20;
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/servers/mail/sympa/default.nix b/nixpkgs/pkgs/servers/mail/sympa/default.nix
index 4d439bf760af..196cd07ceff8 100644
--- a/nixpkgs/pkgs/servers/mail/sympa/default.nix
+++ b/nixpkgs/pkgs/servers/mail/sympa/default.nix
@@ -61,13 +61,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sympa";
-  version = "6.2.66";
+  version = "6.2.68";
 
   src = fetchFromGitHub {
     owner = "sympa-community";
     repo = pname;
     rev = version;
-    sha256 = "sha256-rD6sYsEsAyu+4Vy2wMtWCtlzXoLeZgeu9hkoxOvwiP4=";
+    sha256 = "sha256-biTF2We9/ZBFBNpltyJonAe5tpXz+eNam+Bu6esJPiY=";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/servers/mapserver/default.nix b/nixpkgs/pkgs/servers/mapserver/default.nix
index 4735264f0a97..f8b0d8196fad 100644
--- a/nixpkgs/pkgs/servers/mapserver/default.nix
+++ b/nixpkgs/pkgs/servers/mapserver/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , cairo, curl, fcgi, freetype, fribidi, gdal, geos, giflib, harfbuzz
 , libjpeg, libpng, librsvg, libxml2, postgresql, proj, protobufc, zlib
-, withPython ? true, swig, python
+, withPython ? true, swig, python2
 }:
 
 stdenv.mkDerivation rec {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     proj
     protobufc
     zlib
-  ] ++ lib.optional withPython python;
+  ] ++ lib.optional withPython python2;
 
   cmakeFlags = [
     "-DWITH_KML=ON"
diff --git a/nixpkgs/pkgs/servers/mastodon/default.nix b/nixpkgs/pkgs/servers/mastodon/default.nix
index e863451bb5e0..a173c594c6b0 100644
--- a/nixpkgs/pkgs/servers/mastodon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mastodon/gemset.nix b/nixpkgs/pkgs/servers/mastodon/gemset.nix
index ea59f73b88df..f18145ec47d0 100644
--- a/nixpkgs/pkgs/servers/mastodon/gemset.nix
+++ b/nixpkgs/pkgs/servers/mastodon/gemset.nix
@@ -2392,15 +2392,15 @@
     version = "1.11.0";
   };
   ruby-saml = {
-    dependencies = ["nokogiri"];
+    dependencies = ["nokogiri" "rexml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ps79g3f39iy6dpc9z4z5wwxdkbaciqjfbi0pfl7dbkz1d8q14qi";
+      sha256 = "1706dyk5jdma75bnl9rhmx8vgzjw12ixnj3y32inmpcgzgsvs76k";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.13.0";
   };
   ruby2_keywords = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/servers/mastodon/package.json b/nixpkgs/pkgs/servers/mastodon/package.json
index b81940521c82..4c3e64141fd3 100644
--- a/nixpkgs/pkgs/servers/mastodon/package.json
+++ b/nixpkgs/pkgs/servers/mastodon/package.json
@@ -1,5 +1,5 @@
 {
-  "version": "3.4.4",
+  "version": "3.4.6",
   "name": "@mastodon/mastodon",
   "license": "AGPL-3.0-or-later",
   "engines": {
diff --git a/nixpkgs/pkgs/servers/mastodon/source.nix b/nixpkgs/pkgs/servers/mastodon/source.nix
index 4b1cd55b5e9e..921066e5df60 100644
--- a/nixpkgs/pkgs/servers/mastodon/source.nix
+++ b/nixpkgs/pkgs/servers/mastodon/source.nix
@@ -2,8 +2,8 @@
 { fetchgit, applyPatches }: let
   src = fetchgit {
     url = "https://github.com/tootsuite/mastodon.git";
-    rev = "v3.4.4";
-    sha256 = "0gi818ns7ws63g7izhcqq5b28kifzmvg0p278lq82h02ysg9grj3";
+    rev = "v3.4.6";
+    sha256 = "1lg25m6wsnb7iabbn1vpvn85csv6ywyvcm0ji6d8iq7wwgyq77xs";
   };
 in applyPatches {
   inherit src;
diff --git a/nixpkgs/pkgs/servers/mastodon/version.nix b/nixpkgs/pkgs/servers/mastodon/version.nix
index 852b6be5f4b3..77b242e89770 100644
--- a/nixpkgs/pkgs/servers/mastodon/version.nix
+++ b/nixpkgs/pkgs/servers/mastodon/version.nix
@@ -1 +1 @@
-"3.4.4"
+"3.4.6"
diff --git a/nixpkgs/pkgs/servers/mastodon/version.patch b/nixpkgs/pkgs/servers/mastodon/version.patch
index 2d8d60071650..2182de89b827 100644
--- a/nixpkgs/pkgs/servers/mastodon/version.patch
+++ b/nixpkgs/pkgs/servers/mastodon/version.patch
@@ -3,7 +3,7 @@ diff -Naur --label a/package.json --label b/package.json a/package.json b/packag
 +++ b/package.json
 @@ -1,4 +1,5 @@
  {
-+  "version": "3.4.4",
++  "version": "3.4.6",
    "name": "@mastodon/mastodon",
    "license": "AGPL-3.0-or-later",
    "engines": {
diff --git a/nixpkgs/pkgs/servers/mastodon/yarn.nix b/nixpkgs/pkgs/servers/mastodon/yarn.nix
index be436875f979..3ceff9187d9c 100644
--- a/nixpkgs/pkgs/servers/mastodon/yarn.nix
+++ b/nixpkgs/pkgs/servers/mastodon/yarn.nix
@@ -6,7 +6,7 @@
       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==";
       };
     }
     {
@@ -14,7 +14,7 @@
       path = fetchurl {
         name = "_babel_code_frame___code_frame_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz";
-        sha1 = "dcfc826beef65e75c50e21d3837d7d95798dd658";
+        sha512 = "HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==";
       };
     }
     {
@@ -22,7 +22,7 @@
       path = fetchurl {
         name = "_babel_compat_data___compat_data_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.4.tgz";
-        sha1 = "45720fe0cecf3fd42019e1d12cc3d27fadc98d58";
+        sha512 = "i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==";
       };
     }
     {
@@ -30,7 +30,7 @@
       path = fetchurl {
         name = "_babel_core___core_7.14.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz";
-        sha1 = "5395e30405f0776067fbd9cf0884f15bfb770a38";
+        sha512 = "jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==";
       };
     }
     {
@@ -38,7 +38,7 @@
       path = fetchurl {
         name = "_babel_generator___generator_7.14.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz";
-        sha1 = "0c2652d91f7bddab7cccc6ba8157e4f40dcedb91";
+        sha512 = "bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==";
       };
     }
     {
@@ -46,7 +46,7 @@
       path = fetchurl {
         name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.10.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz";
-        sha1 = "5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3";
+        sha512 = "XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==";
       };
     }
     {
@@ -54,7 +54,7 @@
       path = fetchurl {
         name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz";
-        sha1 = "0f58e86dfc4bb3b1fcd7db806570e177d439b6ab";
+        sha512 = "7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==";
       };
     }
     {
@@ -62,7 +62,7 @@
       path = fetchurl {
         name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz";
-        sha1 = "6bc20361c88b0a74d05137a65cac8d3cbf6f61fc";
+        sha512 = "CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==";
       };
     }
     {
@@ -70,7 +70,7 @@
       path = fetchurl {
         name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.12.13.tgz";
-        sha1 = "df6a76fb83feb6b8e6dcfb46bb49010098cb51f0";
+        sha512 = "QN7Z5FByIOFESQXxoNYVPU7xONzrDW2fv7oKKVkj+62N3Dx1IZaVu/RF9QhV9XyCZE/xiYNfuQ1JsiL1jduT1A==";
       };
     }
     {
@@ -78,7 +78,7 @@
       path = fetchurl {
         name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz";
-        sha1 = "33ebd0ffc34248051ee2089350a929ab02f2a516";
+        sha512 = "JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==";
       };
     }
     {
@@ -86,7 +86,7 @@
       path = fetchurl {
         name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.14.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz";
-        sha1 = "832111bcf4f57ca57a4c5b1a000fc125abc6554a";
+        sha512 = "BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ==";
       };
     }
     {
@@ -94,7 +94,7 @@
       path = fetchurl {
         name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz";
-        sha1 = "abf888d836a441abee783c75229279748705dc42";
+        sha512 = "idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw==";
       };
     }
     {
@@ -102,7 +102,7 @@
       path = fetchurl {
         name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz";
-        sha1 = "0996d370a92896c612ae41a4215544bd152579c0";
+        sha512 = "XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw==";
       };
     }
     {
@@ -110,7 +110,7 @@
       path = fetchurl {
         name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz";
-        sha1 = "a640051772045fedaaecc6f0c6c69f02bdd34bf1";
+        sha512 = "JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==";
       };
     }
     {
@@ -118,7 +118,7 @@
       path = fetchurl {
         name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz";
-        sha1 = "0e46990da9e271502f77507efa4c9918d3d8634a";
+        sha512 = "5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==";
       };
     }
     {
@@ -126,7 +126,7 @@
       path = fetchurl {
         name = "_babel_helper_function_name___helper_function_name_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz";
-        sha1 = "93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a";
+        sha512 = "TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==";
       };
     }
     {
@@ -134,7 +134,7 @@
       path = fetchurl {
         name = "_babel_helper_function_name___helper_function_name_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz";
-        sha1 = "397688b590760b6ef7725b5f0860c82427ebaac2";
+        sha512 = "NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==";
       };
     }
     {
@@ -142,7 +142,7 @@
       path = fetchurl {
         name = "_babel_helper_get_function_arity___helper_get_function_arity_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz";
-        sha1 = "bc63451d403a3b3082b97e1d8b3fe5bd4091e583";
+        sha512 = "DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==";
       };
     }
     {
@@ -150,7 +150,7 @@
       path = fetchurl {
         name = "_babel_helper_hoist_variables___helper_hoist_variables_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz";
-        sha1 = "5d5882e855b5c5eda91e0cadc26c6e7a2c8593d8";
+        sha512 = "0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==";
       };
     }
     {
@@ -158,7 +158,7 @@
       path = fetchurl {
         name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz";
-        sha1 = "c5715695b4f8bab32660dbdcdc2341dec7e3df40";
+        sha512 = "B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==";
       };
     }
     {
@@ -166,7 +166,7 @@
       path = fetchurl {
         name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.13.12.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz";
-        sha1 = "dfe368f26d426a07299d8d6513821768216e6d72";
+        sha512 = "48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==";
       };
     }
     {
@@ -174,7 +174,7 @@
       path = fetchurl {
         name = "_babel_helper_module_imports___helper_module_imports_7.13.12.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz";
-        sha1 = "c6a369a6f3621cb25da014078684da9196b61977";
+        sha512 = "4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==";
       };
     }
     {
@@ -182,7 +182,7 @@
       path = fetchurl {
         name = "_babel_helper_module_transforms___helper_module_transforms_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz";
-        sha1 = "ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5";
+        sha512 = "OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==";
       };
     }
     {
@@ -190,7 +190,7 @@
       path = fetchurl {
         name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz";
-        sha1 = "5c02d171b4c8615b1e7163f888c1c81c30a2aaea";
+        sha512 = "BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==";
       };
     }
     {
@@ -198,7 +198,7 @@
       path = fetchurl {
         name = "_babel_helper_plugin_utils___helper_plugin_utils_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz";
-        sha1 = "806526ce125aed03373bc416a828321e3a6a33af";
+        sha512 = "ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==";
       };
     }
     {
@@ -206,7 +206,7 @@
       path = fetchurl {
         name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz";
-        sha1 = "376a760d9f7b4b2077a9dd05aa9c3927cadb2209";
+        sha512 = "pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==";
       };
     }
     {
@@ -214,7 +214,7 @@
       path = fetchurl {
         name = "_babel_helper_replace_supers___helper_replace_supers_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz";
-        sha1 = "00ec4fb6862546bd3d0aff9aac56074277173121";
+        sha512 = "pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==";
       };
     }
     {
@@ -222,7 +222,7 @@
       path = fetchurl {
         name = "_babel_helper_replace_supers___helper_replace_supers_7.13.12.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz";
-        sha1 = "6442f4c1ad912502481a564a7386de0c77ff3804";
+        sha512 = "Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==";
       };
     }
     {
@@ -230,7 +230,7 @@
       path = fetchurl {
         name = "_babel_helper_replace_supers___helper_replace_supers_7.14.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz";
-        sha1 = "ca17b318b859d107f0e9b722d58cf12d94436600";
+        sha512 = "Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==";
       };
     }
     {
@@ -238,7 +238,7 @@
       path = fetchurl {
         name = "_babel_helper_replace_supers___helper_replace_supers_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz";
-        sha1 = "b2ab16875deecfff3ddfcd539bc315f72998d836";
+        sha512 = "zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==";
       };
     }
     {
@@ -246,7 +246,7 @@
       path = fetchurl {
         name = "_babel_helper_simple_access___helper_simple_access_7.13.12.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz";
-        sha1 = "dd6c538afb61819d205a012c31792a39c7a5eaf6";
+        sha512 = "7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==";
       };
     }
     {
@@ -254,7 +254,7 @@
       path = fetchurl {
         name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz";
-        sha1 = "462dc63a7e435ade8468385c63d2b84cce4b3cbf";
+        sha512 = "Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==";
       };
     }
     {
@@ -262,7 +262,7 @@
       path = fetchurl {
         name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz";
-        sha1 = "e9430be00baf3e88b0e13e6f9d4eaf2136372b05";
+        sha512 = "tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==";
       };
     }
     {
@@ -270,7 +270,7 @@
       path = fetchurl {
         name = "_babel_helper_validator_identifier___helper_validator_identifier_7.12.11.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz";
-        sha1 = "c9a1f021917dcb5ccf0d4e453e399022981fc9ed";
+        sha512 = "np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==";
       };
     }
     {
@@ -278,7 +278,7 @@
       path = fetchurl {
         name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz";
-        sha1 = "d26cad8a47c65286b15df1547319a5d0bcf27288";
+        sha512 = "V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==";
       };
     }
     {
@@ -286,7 +286,7 @@
       path = fetchurl {
         name = "_babel_helper_validator_option___helper_validator_option_7.12.17.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz";
-        sha1 = "d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831";
+        sha512 = "TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==";
       };
     }
     {
@@ -294,7 +294,7 @@
       path = fetchurl {
         name = "_babel_helper_wrap_function___helper_wrap_function_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz";
-        sha1 = "bdb5c66fda8526ec235ab894ad53a1235c79fcc4";
+        sha512 = "1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==";
       };
     }
     {
@@ -302,7 +302,7 @@
       path = fetchurl {
         name = "_babel_helpers___helpers_7.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz";
-        sha1 = "ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62";
+        sha512 = "+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==";
       };
     }
     {
@@ -310,7 +310,7 @@
       path = fetchurl {
         name = "_babel_highlight___highlight_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz";
-        sha1 = "8ab538393e00370b26271b01fa08f7f27f2e795c";
+        sha512 = "kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==";
       };
     }
     {
@@ -318,7 +318,7 @@
       path = fetchurl {
         name = "_babel_parser___parser_7.14.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz";
-        sha1 = "9b530eecb071fd0c93519df25c5ff9f14759f298";
+        sha512 = "7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==";
       };
     }
     {
@@ -326,7 +326,7 @@
       path = fetchurl {
         name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.13.12.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz";
-        sha1 = "a3484d84d0b549f3fc916b99ee4783f26fabad2a";
+        sha512 = "d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==";
       };
     }
     {
@@ -334,7 +334,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz";
-        sha1 = "3a2085abbf5d5f962d480dbc81347385ed62eb1e";
+        sha512 = "b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==";
       };
     }
     {
@@ -342,7 +342,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz";
-        sha1 = "146376000b94efd001e57a40a88a525afaab9f37";
+        sha512 = "KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==";
       };
     }
     {
@@ -350,7 +350,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_class_static_block___plugin_proposal_class_static_block_7.14.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz";
-        sha1 = "5a527e2cae4a4753119c3a3e7f64ecae8ccf1360";
+        sha512 = "HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==";
       };
     }
     {
@@ -358,7 +358,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.2.tgz";
-        sha1 = "e68c3c5e4a6a08834456568256fc3e71b93590cf";
+        sha512 = "LauAqDd/VjQDtae58QgBcEOE42NNP+jB2OE+XeC3KBI/E+BhhRjtr5viCIrj1hmu1YvrguLipIPRJZmS5yUcFw==";
       };
     }
     {
@@ -366,7 +366,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz";
-        sha1 = "01ebabd7c381cff231fa43e302939a9de5be9d9f";
+        sha512 = "oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==";
       };
     }
     {
@@ -374,7 +374,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz";
-        sha1 = "62542f94aa9ce8f6dba79eec698af22112253791";
+        sha512 = "sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==";
       };
     }
     {
@@ -382,7 +382,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz";
-        sha1 = "830b4e2426a782e8b2878fbfe2cba85b70cbf98c";
+        sha512 = "w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==";
       };
     }
     {
@@ -390,7 +390,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz";
-        sha1 = "222348c080a1678e0e74ea63fe76f275882d1fd7";
+        sha512 = "1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==";
       };
     }
     {
@@ -398,7 +398,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz";
-        sha1 = "425b11dc62fc26939a2ab42cbba680bdf5734546";
+        sha512 = "ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==";
       };
     }
     {
@@ -406,7 +406,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz";
-        sha1 = "82b4cc06571143faf50626104b335dd71baa4f9e";
+        sha512 = "DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==";
       };
     }
     {
@@ -414,7 +414,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.4.tgz";
-        sha1 = "0e2b4de419915dc0b409378e829412e2031777c4";
+        sha512 = "AYosOWBlyyXEagrPRfLJ1enStufsr7D1+ddpj8OLi9k7B6+NdZ0t/9V7Fh+wJ4g2Jol8z2JkgczYqtWrZd4vbA==";
       };
     }
     {
@@ -422,7 +422,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz";
-        sha1 = "150d4e58e525b16a9a1431bd5326c4eed870d717";
+        sha512 = "XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==";
       };
     }
     {
@@ -430,7 +430,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz";
-        sha1 = "df8171a8b9c43ebf4c1dabe6311b432d83e1b34e";
+        sha512 = "qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==";
       };
     }
     {
@@ -438,7 +438,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz";
-        sha1 = "04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787";
+        sha512 = "MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==";
       };
     }
     {
@@ -446,7 +446,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz";
-        sha1 = "b1a1f2030586b9d3489cc26179d2eb5883277636";
+        sha512 = "59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==";
       };
     }
     {
@@ -454,7 +454,7 @@
       path = fetchurl {
         name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz";
-        sha1 = "bebde51339be829c17aaaaced18641deb62b39ba";
+        sha512 = "XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==";
       };
     }
     {
@@ -462,7 +462,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
-        sha1 = "a983fb1aeb2ec3f6ed042a210f640e90e786fe0d";
+        sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
       };
     }
     {
@@ -470,7 +470,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_bigint___plugin_syntax_bigint_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz";
-        sha1 = "4c9a6f669f5d0cdf1b90a1671e9a146be5300cea";
+        sha512 = "wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==";
       };
     }
     {
@@ -478,7 +478,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
-        sha1 = "b5c987274c4a3a82b89714796931a6b53544ae10";
+        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
       };
     }
     {
@@ -486,7 +486,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_class_static_block___plugin_syntax_class_static_block_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz";
-        sha1 = "8e3d674b0613e67975ceac2776c97b60cafc5c9c";
+        sha512 = "ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==";
       };
     }
     {
@@ -494,7 +494,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz";
-        sha1 = "fac829bf3c7ef4a1bc916257b403e58c6bdaf648";
+        sha512 = "Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==";
       };
     }
     {
@@ -502,7 +502,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz";
-        sha1 = "62bf98b2da3cd21d626154fc96ee5b3cb68eacb3";
+        sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
       };
     }
     {
@@ -510,7 +510,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz";
-        sha1 = "028964a9ba80dbc094c915c487ad7c4e7a66465a";
+        sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
       };
     }
     {
@@ -518,7 +518,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.10.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz";
-        sha1 = "ee601348c370fa334d2207be158777496521fd51";
+        sha512 = "Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==";
       };
     }
     {
@@ -526,7 +526,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz";
-        sha1 = "01ca21b668cd8218c9e640cb6dd88c5412b2c96a";
+        sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
       };
     }
     {
@@ -534,7 +534,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz";
-        sha1 = "044fb81ebad6698fe62c478875575bcbb9b70f15";
+        sha512 = "d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==";
       };
     }
     {
@@ -542,7 +542,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz";
-        sha1 = "ca91ef46303530448b906652bac2e9fe9941f699";
+        sha512 = "d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==";
       };
     }
     {
@@ -550,7 +550,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz";
-        sha1 = "167ed70368886081f74b5c36c65a88c03b66d1a9";
+        sha512 = "aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==";
       };
     }
     {
@@ -558,7 +558,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz";
-        sha1 = "b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97";
+        sha512 = "9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==";
       };
     }
     {
@@ -566,7 +566,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
-        sha1 = "60e225edcbd98a640332a2e72dd3e66f1af55871";
+        sha512 = "XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==";
       };
     }
     {
@@ -574,7 +574,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz";
-        sha1 = "6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1";
+        sha512 = "6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==";
       };
     }
     {
@@ -582,7 +582,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz";
-        sha1 = "4f69c2ab95167e0180cd5336613f8c5788f7d48a";
+        sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
       };
     }
     {
@@ -590,7 +590,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_private_property_in_object___plugin_syntax_private_property_in_object_7.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz";
-        sha1 = "762a4babec61176fec6c88480dec40372b140c0b";
+        sha512 = "bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==";
       };
     }
     {
@@ -598,7 +598,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz";
-        sha1 = "c5f0fa6e249f5b739727f923540cf7a806130178";
+        sha512 = "A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==";
       };
     }
     {
@@ -606,7 +606,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz";
-        sha1 = "10a59bebad52d637a027afa692e8d5ceff5e3dae";
+        sha512 = "96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==";
       };
     }
     {
@@ -614,7 +614,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz";
-        sha1 = "8e112bf6771b82bf1e974e5e26806c5c99aa516f";
+        sha512 = "3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==";
       };
     }
     {
@@ -622,7 +622,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz";
-        sha1 = "a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4";
+        sha512 = "zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==";
       };
     }
     {
@@ -630,7 +630,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.4.tgz";
-        sha1 = "caf140b0b2e2462c509553d140e6d0abefb61ed8";
+        sha512 = "5KdpkGxsZlTk+fPleDtGKsA+pon28+ptYmMO8GBSa5fHERCJWAzj50uAfCKBqq42HO+Zot6JF1x37CRprwmN4g==";
       };
     }
     {
@@ -638,7 +638,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_classes___plugin_transform_classes_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.4.tgz";
-        sha1 = "a83c15503fc71a0f99e876fdce7dadbc6575ec3a";
+        sha512 = "p73t31SIj6y94RDVX57rafVjttNr8MvKEgs5YFatNB/xC68zM3pyosuOEcQmYsYlyQaGY9R7rAULVRcat5FKJQ==";
       };
     }
     {
@@ -646,7 +646,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz";
-        sha1 = "845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed";
+        sha512 = "RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==";
       };
     }
     {
@@ -654,7 +654,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.4.tgz";
-        sha1 = "acbec502e9951f30f4441eaca1d2f29efade59ed";
+        sha512 = "JyywKreTCGTUsL1OKu1A3ms/R1sTP0WxbpXlALeGzF53eB3bxtNkYdMj9SDgK7g6ImPy76J5oYYKoTtQImlhQA==";
       };
     }
     {
@@ -662,7 +662,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz";
-        sha1 = "3f1601cc29905bfcb67f53910f197aeafebb25ad";
+        sha512 = "foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==";
       };
     }
     {
@@ -670,7 +670,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz";
-        sha1 = "6f06b87a8b803fd928e54b81c258f0a0033904de";
+        sha512 = "NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==";
       };
     }
     {
@@ -678,7 +678,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz";
-        sha1 = "4d52390b9a273e651e4aba6aee49ef40e80cd0a1";
+        sha512 = "fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==";
       };
     }
     {
@@ -686,7 +686,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz";
-        sha1 = "c799f881a8091ac26b54867a845c3e97d2696062";
+        sha512 = "IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==";
       };
     }
     {
@@ -694,7 +694,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz";
-        sha1 = "bb024452f9aaed861d374c8e7a24252ce3a50051";
+        sha512 = "6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==";
       };
     }
     {
@@ -702,7 +702,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_literals___plugin_transform_literals_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz";
-        sha1 = "2ca45bafe4a820197cf315794a4d26560fe4bdb9";
+        sha512 = "FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==";
       };
     }
     {
@@ -710,7 +710,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz";
-        sha1 = "5ffa66cd59b9e191314c9f1f803b938e8c081e40";
+        sha512 = "kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==";
       };
     }
     {
@@ -718,7 +718,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz";
-        sha1 = "6622806fe1a7c07a1388444222ef9535f2ca17b0";
+        sha512 = "hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==";
       };
     }
     {
@@ -726,7 +726,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz";
-        sha1 = "52bc199cb581e0992edba0f0f80356467587f161";
+        sha512 = "EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==";
       };
     }
     {
@@ -734,7 +734,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.13.8.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz";
-        sha1 = "6d066ee2bff3c7b3d60bf28dec169ad993831ae3";
+        sha512 = "hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==";
       };
     }
     {
@@ -742,7 +742,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz";
-        sha1 = "2f8179d1bbc9263665ce4a65f305526b2ea8ac34";
+        sha512 = "nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==";
       };
     }
     {
@@ -750,7 +750,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz";
-        sha1 = "2213725a5f5bbbe364b50c3ba5998c9599c5c9d9";
+        sha512 = "Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==";
       };
     }
     {
@@ -758,7 +758,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz";
-        sha1 = "e22d8c3af24b150dd528cbd6e685e799bf1c351c";
+        sha512 = "/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==";
       };
     }
     {
@@ -766,7 +766,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz";
-        sha1 = "b4416a2d63b8f7be314f3d349bd55a9c1b5171f7";
+        sha512 = "JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==";
       };
     }
     {
@@ -774,7 +774,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz";
-        sha1 = "e4290f72e0e9e831000d066427c4667098decc31";
+        sha512 = "NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==";
       };
     }
     {
@@ -782,7 +782,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz";
-        sha1 = "4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81";
+        sha512 = "nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==";
       };
     }
     {
@@ -790,7 +790,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz";
-        sha1 = "c28effd771b276f4647411c9733dbb2d2da954bd";
+        sha512 = "MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA==";
       };
     }
     {
@@ -798,7 +798,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_react_inline_elements___plugin_transform_react_inline_elements_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-inline-elements/-/plugin-transform-react-inline-elements-7.12.13.tgz";
-        sha1 = "0a9e1496e51c9e9cf8751165a23c79bd753dba7d";
+        sha512 = "FkqNco564LsuwJFEtTzDihxNGqNAstTfP9hORNYaNtYqdlOEIF5jsD4K5R3BfmVaIsGRPBGvsgmCwm0KCkkSFw==";
       };
     }
     {
@@ -806,7 +806,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.12.17.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz";
-        sha1 = "f510c0fa7cd7234153539f9a362ced41a5ca1447";
+        sha512 = "BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==";
       };
     }
     {
@@ -814,7 +814,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.13.12.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz";
-        sha1 = "1df5dfaf0f4b784b43e96da6f28d630e775f68b3";
+        sha512 = "jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA==";
       };
     }
     {
@@ -822,7 +822,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.12.1.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz";
-        sha1 = "05d46f0ab4d1339ac59adf20a1462c91b37a1a42";
+        sha512 = "RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==";
       };
     }
     {
@@ -830,7 +830,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.13.15.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz";
-        sha1 = "e5eb28945bf8b6563e7f818945f966a8d2997f39";
+        sha512 = "Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==";
       };
     }
     {
@@ -838,7 +838,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz";
-        sha1 = "7d9988d4f06e0fe697ea1d9803188aa18b472695";
+        sha512 = "xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==";
       };
     }
     {
@@ -846,7 +846,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.14.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz";
-        sha1 = "1fd885a2d0de1d3c223795a4e9be72c2db4515cf";
+        sha512 = "t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==";
       };
     }
     {
@@ -854,7 +854,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz";
-        sha1 = "db755732b70c539d504c6390d9ce90fe64aff7ad";
+        sha512 = "xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==";
       };
     }
     {
@@ -862,7 +862,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_spread___plugin_transform_spread_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz";
-        sha1 = "84887710e273c1815ace7ae459f6f42a5d31d5fd";
+        sha512 = "V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==";
       };
     }
     {
@@ -870,7 +870,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz";
-        sha1 = "760ffd936face73f860ae646fb86ee82f3d06d1f";
+        sha512 = "Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==";
       };
     }
     {
@@ -878,7 +878,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.13.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz";
-        sha1 = "a36049127977ad94438dee7443598d1cefdf409d";
+        sha512 = "d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==";
       };
     }
     {
@@ -886,7 +886,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz";
-        sha1 = "785dd67a1f2ea579d9c2be722de8c84cb85f5a7f";
+        sha512 = "eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==";
       };
     }
     {
@@ -894,7 +894,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz";
-        sha1 = "840ced3b816d3b5127dd1d12dcedc5dead1a5e74";
+        sha512 = "0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==";
       };
     }
     {
@@ -902,7 +902,7 @@
       path = fetchurl {
         name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz";
-        sha1 = "b52521685804e155b1202e83fc188d34bb70f5ac";
+        sha512 = "mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==";
       };
     }
     {
@@ -910,7 +910,7 @@
       path = fetchurl {
         name = "_babel_preset_env___preset_env_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.4.tgz";
-        sha1 = "73fc3228c59727e5e974319156f304f0d6685a2d";
+        sha512 = "GwMMsuAnDtULyOtuxHhzzuSRxFeP0aR/LNzrHRzP8y6AgDNgqnrfCCBm/1cRdTU75tRs28Eh76poHLcg9VF0LA==";
       };
     }
     {
@@ -918,7 +918,7 @@
       path = fetchurl {
         name = "_babel_preset_modules___preset_modules_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz";
-        sha1 = "362f2b68c662842970fdb5e254ffc8fc1c2e415e";
+        sha512 = "J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==";
       };
     }
     {
@@ -926,7 +926,7 @@
       path = fetchurl {
         name = "_babel_preset_react___preset_react_7.13.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.13.13.tgz";
-        sha1 = "fa6895a96c50763fe693f9148568458d5a839761";
+        sha512 = "gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==";
       };
     }
     {
@@ -934,7 +934,7 @@
       path = fetchurl {
         name = "_babel_runtime_corejs3___runtime_corejs3_7.10.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.3.tgz";
-        sha1 = "931ed6941d3954924a7aa967ee440e60c507b91a";
+        sha512 = "HA7RPj5xvJxQl429r5Cxr2trJwOfPjKiqhCXcdQPSqO2G0RHPZpXu4fkYmBaTKCp2c/jRaMK9GB/lN+7zvvFPw==";
       };
     }
     {
@@ -942,7 +942,7 @@
       path = fetchurl {
         name = "_babel_runtime___runtime_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz";
-        sha1 = "adeb78fedfc855aa05bc041640f3f6f98e85424c";
+        sha512 = "7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==";
       };
     }
     {
@@ -950,7 +950,7 @@
       path = fetchurl {
         name = "_babel_runtime___runtime_7.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz";
-        sha1 = "46794bc20b612c5f75e62dd071e24dfd95f1cbe6";
+        sha512 = "JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==";
       };
     }
     {
@@ -958,7 +958,7 @@
       path = fetchurl {
         name = "_babel_template___template_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz";
-        sha1 = "530265be8a2589dbb37523844c5bcb55947fb327";
+        sha512 = "/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==";
       };
     }
     {
@@ -966,7 +966,7 @@
       path = fetchurl {
         name = "_babel_traverse___traverse_7.14.2.tgz";
         url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz";
-        sha1 = "9201a8d912723a831c2679c7ebbf2fe1416d765b";
+        sha512 = "TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==";
       };
     }
     {
@@ -974,7 +974,7 @@
       path = fetchurl {
         name = "_babel_types___types_7.14.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.14.4.tgz";
-        sha1 = "bfd6980108168593b38b3eb48a24aa026b919bc0";
+        sha512 = "lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==";
       };
     }
     {
@@ -982,7 +982,7 @@
       path = fetchurl {
         name = "_bcoe_v8_coverage___v8_coverage_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz";
-        sha1 = "75a2e8b51cb758a7553d6804a5932d7aace75c39";
+        sha512 = "0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==";
       };
     }
     {
@@ -990,7 +990,7 @@
       path = fetchurl {
         name = "_cnakazawa_watch___watch_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz";
-        sha1 = "f864ae85004d0fcab6f50be9141c4da368d1656a";
+        sha512 = "v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==";
       };
     }
     {
@@ -998,7 +998,7 @@
       path = fetchurl {
         name = "_emotion_cache___cache_11.4.0.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.4.0.tgz";
-        sha1 = "293fc9d9a7a38b9aad8e9337e5014366c3b09ac0";
+        sha512 = "Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==";
       };
     }
     {
@@ -1006,7 +1006,7 @@
       path = fetchurl {
         name = "_emotion_hash___hash_0.8.0.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz";
-        sha1 = "bbbff68978fefdbe68ccb533bc8cbe1d1afb5413";
+        sha512 = "kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==";
       };
     }
     {
@@ -1014,7 +1014,7 @@
       path = fetchurl {
         name = "_emotion_memoize___memoize_0.7.5.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz";
-        sha1 = "2c40f81449a4e554e9fc6396910ed4843ec2be50";
+        sha512 = "igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==";
       };
     }
     {
@@ -1022,7 +1022,7 @@
       path = fetchurl {
         name = "_emotion_react___react_11.1.4.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/react/-/react-11.1.4.tgz";
-        sha1 = "ddee4247627ff7dd7d0c6ae52f1cfd6b420357d2";
+        sha512 = "9gkhrW8UjV4IGRnEe4/aGPkUxoGS23aD9Vu6JCGfEDyBYL+nGkkRBoMFGAzCT9qFdyUvQp4UUtErbKWxq/JS4A==";
       };
     }
     {
@@ -1030,7 +1030,7 @@
       path = fetchurl {
         name = "_emotion_serialize___serialize_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.0.tgz";
-        sha1 = "1a61f4f037cf39995c97fc80ebe99abc7b191ca9";
+        sha512 = "zt1gm4rhdo5Sry8QpCOpopIUIKU+mUSpV9WNmFILUraatm5dttNEaYzUWWSboSMUE6PtN2j1cAsuvcugfdI3mw==";
       };
     }
     {
@@ -1038,7 +1038,7 @@
       path = fetchurl {
         name = "_emotion_sheet___sheet_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.1.tgz";
-        sha1 = "245f54abb02dfd82326e28689f34c27aa9b2a698";
+        sha512 = "GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g==";
       };
     }
     {
@@ -1046,7 +1046,7 @@
       path = fetchurl {
         name = "_emotion_unitless___unitless_0.7.5.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz";
-        sha1 = "77211291c1900a700b8a78cfafda3160d76949ed";
+        sha512 = "OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==";
       };
     }
     {
@@ -1054,7 +1054,7 @@
       path = fetchurl {
         name = "_emotion_utils___utils_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.0.0.tgz";
-        sha1 = "abe06a83160b10570816c913990245813a2fd6af";
+        sha512 = "mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==";
       };
     }
     {
@@ -1062,7 +1062,7 @@
       path = fetchurl {
         name = "_emotion_weak_memoize___weak_memoize_0.2.5.tgz";
         url  = "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz";
-        sha1 = "8eed982e2ee6f7f4e44c253e12962980791efd46";
+        sha512 = "6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==";
       };
     }
     {
@@ -1070,7 +1070,7 @@
       path = fetchurl {
         name = "_eslint_eslintrc___eslintrc_0.4.1.tgz";
         url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz";
-        sha1 = "442763b88cecbe3ee0ec7ca6d6dd6168550cbf14";
+        sha512 = "5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==";
       };
     }
     {
@@ -1078,7 +1078,7 @@
       path = fetchurl {
         name = "_formatjs_intl_unified_numberformat___intl_unified_numberformat_3.3.6.tgz";
         url  = "https://registry.yarnpkg.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.6.tgz";
-        sha1 = "ab69818f7568894023cb31fdb5b5c7eed62c6537";
+        sha512 = "VQYswh9Pxf4kN6FQvKprAQwSJrF93eJstCDPM1HIt3c3O6NqPFWNWhZ91PLTppOV11rLYsFK11ZxiGbnLNiPTg==";
       };
     }
     {
@@ -1086,7 +1086,7 @@
       path = fetchurl {
         name = "_formatjs_intl_utils___intl_utils_2.2.5.tgz";
         url  = "https://registry.yarnpkg.com/@formatjs/intl-utils/-/intl-utils-2.2.5.tgz";
-        sha1 = "eaafd94df3d102ee13e54e80f992a33868a6b1e8";
+        sha512 = "p7gcmazKROteL4IECCp03Qrs790fZ8tbemUAjQu0+K0AaAlK49rI1SIFFq3LzDUAqXIshV95JJhRe/yXxkal5g==";
       };
     }
     {
@@ -1094,7 +1094,7 @@
       path = fetchurl {
         name = "_gamestdio_websocket___websocket_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/@gamestdio/websocket/-/websocket-0.3.2.tgz";
-        sha1 = "321ba0976ee30fd14e51dbf8faa85ce7b325f76a";
+        sha512 = "J3n5SKim+ZoLbe44hRGI/VYAwSMCeIJuBy+FfP6EZaujEpNchPRFcIsVQLWAwpU1bP2Ji63rC+rEUOd1vjUB6Q==";
       };
     }
     {
@@ -1102,7 +1102,7 @@
       path = fetchurl {
         name = "_github_webauthn_json___webauthn_json_0.5.7.tgz";
         url  = "https://registry.yarnpkg.com/@github/webauthn-json/-/webauthn-json-0.5.7.tgz";
-        sha1 = "143bc67f6e0f75f8d188e565741507bb08c31214";
+        sha512 = "SUYsttDxFSvWvvJssJpwzjmRCqYfdfqC9VCmAHQYfdKCVelyJteCHo9/lK1CB72mx/jrl6cFNY08aua4J2jIyg==";
       };
     }
     {
@@ -1110,7 +1110,7 @@
       path = fetchurl {
         name = "_istanbuljs_load_nyc_config___load_nyc_config_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
-        sha1 = "fd3db1d59ecf7cf121e80650bb86712f9b55eced";
+        sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
       };
     }
     {
@@ -1118,7 +1118,7 @@
       path = fetchurl {
         name = "_istanbuljs_schema___schema_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz";
-        sha1 = "26520bf09abe4a5644cd5414e37125a8954241dd";
+        sha512 = "tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==";
       };
     }
     {
@@ -1126,7 +1126,7 @@
       path = fetchurl {
         name = "_jest_console___console_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz";
-        sha1 = "4e04bc464014358b03ab4937805ee36a0aeb98f2";
+        sha512 = "IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==";
       };
     }
     {
@@ -1134,7 +1134,7 @@
       path = fetchurl {
         name = "_jest_core___core_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz";
-        sha1 = "7639fcb3833d748a4656ada54bde193051e45fad";
+        sha512 = "xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==";
       };
     }
     {
@@ -1142,7 +1142,7 @@
       path = fetchurl {
         name = "_jest_environment___environment_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz";
-        sha1 = "ba364cc72e221e79cc8f0a99555bf5d7577cf92c";
+        sha512 = "nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==";
       };
     }
     {
@@ -1150,7 +1150,7 @@
       path = fetchurl {
         name = "_jest_fake_timers___fake_timers_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz";
-        sha1 = "459c329bcf70cee4af4d7e3f3e67848123535aad";
+        sha512 = "14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==";
       };
     }
     {
@@ -1158,7 +1158,7 @@
       path = fetchurl {
         name = "_jest_globals___globals_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz";
-        sha1 = "5b613b78a1aa2655ae908eba638cc96a20df720a";
+        sha512 = "85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==";
       };
     }
     {
@@ -1166,7 +1166,7 @@
       path = fetchurl {
         name = "_jest_reporters___reporters_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz";
-        sha1 = "1f518b99637a5f18307bd3ecf9275f6882a667f6";
+        sha512 = "h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==";
       };
     }
     {
@@ -1174,7 +1174,7 @@
       path = fetchurl {
         name = "_jest_source_map___source_map_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz";
-        sha1 = "29af5e1e2e324cafccc936f218309f54ab69d535";
+        sha512 = "YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==";
       };
     }
     {
@@ -1182,7 +1182,7 @@
       path = fetchurl {
         name = "_jest_test_result___test_result_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz";
-        sha1 = "55da58b62df134576cc95476efa5f7949e3f5f18";
+        sha512 = "5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==";
       };
     }
     {
@@ -1190,7 +1190,7 @@
       path = fetchurl {
         name = "_jest_test_sequencer___test_sequencer_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz";
-        sha1 = "98e8a45100863886d074205e8ffdc5a7eb582b17";
+        sha512 = "YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==";
       };
     }
     {
@@ -1198,7 +1198,7 @@
       path = fetchurl {
         name = "_jest_transform___transform_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz";
-        sha1 = "5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b";
+        sha512 = "E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==";
       };
     }
     {
@@ -1206,7 +1206,7 @@
       path = fetchurl {
         name = "_jest_transform___transform_27.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.2.tgz";
-        sha1 = "b073b7c589e3f4b842102468875def2bb722d6b5";
+        sha512 = "H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==";
       };
     }
     {
@@ -1214,7 +1214,7 @@
       path = fetchurl {
         name = "_jest_types___types_25.5.0.tgz";
         url  = "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz";
-        sha1 = "4d6a4793f7b9599fc3680877b856a97dbccf2a9d";
+        sha512 = "OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==";
       };
     }
     {
@@ -1222,7 +1222,7 @@
       path = fetchurl {
         name = "_jest_types___types_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz";
-        sha1 = "bef5a532030e1d88a2f5a6d933f84e97226ed48e";
+        sha512 = "fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==";
       };
     }
     {
@@ -1230,7 +1230,7 @@
       path = fetchurl {
         name = "_jest_types___types_27.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@jest/types/-/types-27.0.2.tgz";
-        sha1 = "e153d6c46bda0f2589f0702b071f9898c7bbd37e";
+        sha512 = "XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==";
       };
     }
     {
@@ -1238,7 +1238,7 @@
       path = fetchurl {
         name = "_npmcli_move_file___move_file_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz";
-        sha1 = "de103070dac0f48ce49cf6693c23af59c0f70464";
+        sha512 = "Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==";
       };
     }
     {
@@ -1246,7 +1246,7 @@
       path = fetchurl {
         name = "_polka_url___url_1.0.0_next.11.tgz";
         url  = "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.11.tgz";
-        sha1 = "aeb16f50649a91af79dbe36574b66d0f9e4d9f71";
+        sha512 = "3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==";
       };
     }
     {
@@ -1254,7 +1254,7 @@
       path = fetchurl {
         name = "_rails_ujs___ujs_6.1.3.tgz";
         url  = "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.3.tgz";
-        sha1 = "90ef26caa0925492b1a3b1495db09cfbe49e745e";
+        sha512 = "9mip5o+LVouWAqLMNJWhxda+D5uP+4RziNECgOGJlL6k3rc5SC/ljCHpV9Cym4i3oeGZkpZJ2tu4frCwt84kzQ==";
       };
     }
     {
@@ -1262,7 +1262,7 @@
       path = fetchurl {
         name = "_sinonjs_commons___commons_1.8.1.tgz";
         url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz";
-        sha1 = "e7df00f98a203324f6dc7cc606cad9d4a8ab2217";
+        sha512 = "892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==";
       };
     }
     {
@@ -1270,7 +1270,7 @@
       path = fetchurl {
         name = "_sinonjs_fake_timers___fake_timers_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz";
-        sha1 = "293674fccb3262ac782c7aadfdeca86b10c75c40";
+        sha512 = "MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==";
       };
     }
     {
@@ -1278,7 +1278,7 @@
       path = fetchurl {
         name = "_testing_library_dom___dom_7.28.1.tgz";
         url  = "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.28.1.tgz";
-        sha1 = "dea78be6e1e6db32ddcb29a449e94d9700c79eb9";
+        sha512 = "acv3l6kDwZkQif/YqJjstT3ks5aaI33uxGNVIQmdKzbZ2eMKgg3EV2tB84GDdc72k3Kjhl6mO8yUt6StVIdRDg==";
       };
     }
     {
@@ -1286,7 +1286,7 @@
       path = fetchurl {
         name = "_testing_library_jest_dom___jest_dom_5.12.0.tgz";
         url  = "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.12.0.tgz";
-        sha1 = "6a5d340b092c44b7bce17a4791b47d9bc2c61443";
+        sha512 = "N9Y82b2Z3j6wzIoAqajlKVF1Zt7sOH0pPee0sUHXHc5cv2Fdn23r+vpWm0MBBoGJtPOly5+Bdx1lnc3CD+A+ow==";
       };
     }
     {
@@ -1294,7 +1294,7 @@
       path = fetchurl {
         name = "_testing_library_react___react_11.2.7.tgz";
         url  = "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.7.tgz";
-        sha1 = "b29e2e95c6765c815786c0bc1d5aed9cb2bf7818";
+        sha512 = "tzRNp7pzd5QmbtXNG/mhdcl7Awfu/Iz1RaVHY75zTdOkmHCuzMhRL83gWHSgOAcjS3CCbyfwUHMZgRJb4kAfpA==";
       };
     }
     {
@@ -1302,7 +1302,7 @@
       path = fetchurl {
         name = "_types_aria_query___aria_query_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.0.tgz";
-        sha1 = "14264692a9d6e2fa4db3df5e56e94b5e25647ac0";
+        sha512 = "iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A==";
       };
     }
     {
@@ -1310,7 +1310,7 @@
       path = fetchurl {
         name = "_types_babel__core___babel__core_7.1.14.tgz";
         url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz";
-        sha1 = "faaeefc4185ec71c389f4501ee5ec84b170cc402";
+        sha512 = "zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==";
       };
     }
     {
@@ -1318,7 +1318,7 @@
       path = fetchurl {
         name = "_types_babel__generator___babel__generator_7.6.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz";
-        sha1 = "4901767b397e8711aeb99df8d396d7ba7b7f0e04";
+        sha512 = "bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==";
       };
     }
     {
@@ -1326,7 +1326,7 @@
       path = fetchurl {
         name = "_types_babel__template___babel__template_7.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz";
-        sha1 = "4ff63d6b52eddac1de7b975a5223ed32ecea9307";
+        sha512 = "/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==";
       };
     }
     {
@@ -1334,7 +1334,7 @@
       path = fetchurl {
         name = "_types_babel__traverse___babel__traverse_7.0.13.tgz";
         url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz";
-        sha1 = "1874914be974a492e1b4cb00585cabb274e8ba18";
+        sha512 = "i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==";
       };
     }
     {
@@ -1342,7 +1342,7 @@
       path = fetchurl {
         name = "_types_babel__traverse___babel__traverse_7.0.15.tgz";
         url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz";
-        sha1 = "db9e4238931eb69ef8aab0ad6523d4d4caa39d03";
+        sha512 = "Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==";
       };
     }
     {
@@ -1350,7 +1350,7 @@
       path = fetchurl {
         name = "_types_color_name___color_name_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz";
-        sha1 = "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0";
+        sha512 = "rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==";
       };
     }
     {
@@ -1358,7 +1358,7 @@
       path = fetchurl {
         name = "_types_events___events_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz";
-        sha1 = "2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7";
+        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
       };
     }
     {
@@ -1366,7 +1366,7 @@
       path = fetchurl {
         name = "_types_glob___glob_7.1.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz";
-        sha1 = "aa59a1c6e3fbc421e07ccd31a944c30eba521575";
+        sha512 = "1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==";
       };
     }
     {
@@ -1374,7 +1374,7 @@
       path = fetchurl {
         name = "_types_graceful_fs___graceful_fs_4.1.3.tgz";
         url  = "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz";
-        sha1 = "039af35fe26bec35003e8d86d2ee9c586354348f";
+        sha512 = "AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==";
       };
     }
     {
@@ -1382,7 +1382,7 @@
       path = fetchurl {
         name = "_types_hoist_non_react_statics___hoist_non_react_statics_3.3.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz";
-        sha1 = "1124aafe5118cb591977aeb1ceaaed1070eb039f";
+        sha512 = "iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==";
       };
     }
     {
@@ -1390,7 +1390,7 @@
       path = fetchurl {
         name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz";
-        sha1 = "4ba8ddb720221f432e443bd5f9117fd22cfd4762";
+        sha512 = "sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==";
       };
     }
     {
@@ -1398,7 +1398,7 @@
       path = fetchurl {
         name = "_types_istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha1 = "c14c24f18ea8190c118ee7562b7ff99a36552686";
+        sha512 = "plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==";
       };
     }
     {
@@ -1406,7 +1406,7 @@
       path = fetchurl {
         name = "_types_istanbul_reports___istanbul_reports_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz";
-        sha1 = "e875cc689e47bce549ec81f3df5e6f6f11cfaeb2";
+        sha512 = "P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==";
       };
     }
     {
@@ -1414,7 +1414,7 @@
       path = fetchurl {
         name = "_types_istanbul_reports___istanbul_reports_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz";
-        sha1 = "508b13aa344fa4976234e75dddcc34925737d821";
+        sha512 = "nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==";
       };
     }
     {
@@ -1422,7 +1422,7 @@
       path = fetchurl {
         name = "_types_jest___jest_26.0.3.tgz";
         url  = "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.3.tgz";
-        sha1 = "79534e0e94857171c0edc596db0ebe7cb7863251";
+        sha512 = "v89ga1clpVL/Y1+YI0eIu1VMW+KU7Xl8PhylVtDKVWaSUHBHYPLXMQGBdrpHewaKoTvlXkksbYqPgz8b4cmRZg==";
       };
     }
     {
@@ -1430,7 +1430,7 @@
       path = fetchurl {
         name = "_types_json_schema___json_schema_7.0.6.tgz";
         url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz";
-        sha1 = "f4c7ec43e81b319a9815115031709f26987891f0";
+        sha512 = "3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==";
       };
     }
     {
@@ -1438,7 +1438,7 @@
       path = fetchurl {
         name = "_types_json5___json5_0.0.29.tgz";
         url  = "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz";
-        sha1 = "ee28707ae94e11d2b827bcbe5270bcea7f3e71ee";
+        sha1 = "7ihweulOEdK4J7y+UnC86n8+ce4=";
       };
     }
     {
@@ -1446,7 +1446,7 @@
       path = fetchurl {
         name = "_types_minimatch___minimatch_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz";
-        sha1 = "3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d";
+        sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     }
     {
@@ -1454,7 +1454,7 @@
       path = fetchurl {
         name = "_types_node___node_14.11.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/node/-/node-14.11.1.tgz";
-        sha1 = "56af902ad157e763f9ba63d671c39cda3193c835";
+        sha512 = "oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==";
       };
     }
     {
@@ -1462,7 +1462,7 @@
       path = fetchurl {
         name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
-        sha1 = "e486d0d97396d79beedd0a6e33f4534ff6b4973e";
+        sha512 = "f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==";
       };
     }
     {
@@ -1470,7 +1470,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==";
       };
     }
     {
@@ -1478,7 +1478,7 @@
       path = fetchurl {
         name = "_types_prettier___prettier_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.2.tgz";
-        sha1 = "5bb52ee68d0f8efa9cc0099920e56be6cc4e37f3";
+        sha512 = "IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA==";
       };
     }
     {
@@ -1486,7 +1486,7 @@
       path = fetchurl {
         name = "_types_prop_types___prop_types_15.7.3.tgz";
         url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz";
-        sha1 = "2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7";
+        sha512 = "KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==";
       };
     }
     {
@@ -1494,7 +1494,7 @@
       path = fetchurl {
         name = "_types_q___q_1.5.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz";
-        sha1 = "690a1475b84f2a884fd07cd797c00f5f31356ea8";
+        sha512 = "ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==";
       };
     }
     {
@@ -1502,7 +1502,7 @@
       path = fetchurl {
         name = "_types_react_redux___react_redux_7.1.16.tgz";
         url  = "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.16.tgz";
-        sha1 = "0fbd04c2500c12105494c83d4a3e45c084e3cb21";
+        sha512 = "f/FKzIrZwZk7YEO9E1yoxIuDNRiDducxkFlkw/GNMGEnK9n4K8wJzlJBghpSuOVDgEUHoDkDF7Gi9lHNQR4siw==";
       };
     }
     {
@@ -1510,7 +1510,7 @@
       path = fetchurl {
         name = "_types_react___react_17.0.3.tgz";
         url  = "https://registry.yarnpkg.com/@types/react/-/react-17.0.3.tgz";
-        sha1 = "ba6e215368501ac3826951eef2904574c262cc79";
+        sha512 = "wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg==";
       };
     }
     {
@@ -1518,7 +1518,7 @@
       path = fetchurl {
         name = "_types_scheduler___scheduler_0.16.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz";
-        sha1 = "18845205e86ff0038517aab7a18a62a6b9f71275";
+        sha512 = "EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==";
       };
     }
     {
@@ -1526,7 +1526,7 @@
       path = fetchurl {
         name = "_types_schema_utils___schema_utils_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/schema-utils/-/schema-utils-1.0.0.tgz";
-        sha1 = "295d36f01e2cb8bc3207ca1d9a68e210db6b40cb";
+        sha512 = "YesPanU1+WCigC/Aj1Mga8UCOjHIfMNHZ3zzDsUY7lI8GlKnh/Kv2QwJOQ+jNQ36Ru7IfzSedlG14hppYaN13A==";
       };
     }
     {
@@ -1534,7 +1534,7 @@
       path = fetchurl {
         name = "_types_stack_utils___stack_utils_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz";
-        sha1 = "7036640b4e21cc2f259ae826ce843d277dad8cff";
+        sha512 = "RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==";
       };
     }
     {
@@ -1542,7 +1542,7 @@
       path = fetchurl {
         name = "_types_testing_library__jest_dom___testing_library__jest_dom_5.9.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.1.tgz";
-        sha1 = "aba5ee062b7880f69c212ef769389f30752806e5";
+        sha512 = "yYn5EKHO3MPEMSOrcAb1dLWY+68CG29LiXKsWmmpVHqoP5+ZRiAVLyUHvPNrO2dABDdUGZvavMsaGpWNjM6N2g==";
       };
     }
     {
@@ -1550,7 +1550,7 @@
       path = fetchurl {
         name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz";
-        sha1 = "cb3f9f741869e20cce330ffbeb9271590483882d";
+        sha512 = "FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==";
       };
     }
     {
@@ -1558,7 +1558,7 @@
       path = fetchurl {
         name = "_types_yargs___yargs_15.0.5.tgz";
         url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz";
-        sha1 = "947e9a6561483bdee9adffc983e91a6902af8b79";
+        sha512 = "Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==";
       };
     }
     {
@@ -1566,7 +1566,7 @@
       path = fetchurl {
         name = "_types_yargs___yargs_16.0.3.tgz";
         url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz";
-        sha1 = "4b6d35bb8e680510a7dc2308518a80ee1ef27e01";
+        sha512 = "YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==";
       };
     }
     {
@@ -1574,7 +1574,7 @@
       path = fetchurl {
         name = "_webassemblyjs_ast___ast_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz";
-        sha1 = "bd850604b4042459a5a41cd7d338cbed695ed964";
+        sha512 = "C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==";
       };
     }
     {
@@ -1582,7 +1582,7 @@
       path = fetchurl {
         name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz";
-        sha1 = "3c3d3b271bddfc84deb00f71344438311d52ffb4";
+        sha512 = "TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==";
       };
     }
     {
@@ -1590,7 +1590,7 @@
       path = fetchurl {
         name = "_webassemblyjs_helper_api_error___helper_api_error_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz";
-        sha1 = "203f676e333b96c9da2eeab3ccef33c45928b6a2";
+        sha512 = "NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==";
       };
     }
     {
@@ -1598,7 +1598,7 @@
       path = fetchurl {
         name = "_webassemblyjs_helper_buffer___helper_buffer_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz";
-        sha1 = "a1442d269c5feb23fcbc9ef759dac3547f29de00";
+        sha512 = "qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==";
       };
     }
     {
@@ -1606,7 +1606,7 @@
       path = fetchurl {
         name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz";
-        sha1 = "647f8892cd2043a82ac0c8c5e75c36f1d9159f27";
+        sha512 = "ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==";
       };
     }
     {
@@ -1614,7 +1614,7 @@
       path = fetchurl {
         name = "_webassemblyjs_helper_fsm___helper_fsm_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz";
-        sha1 = "c05256b71244214671f4b08ec108ad63b70eddb8";
+        sha512 = "OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==";
       };
     }
     {
@@ -1622,7 +1622,7 @@
       path = fetchurl {
         name = "_webassemblyjs_helper_module_context___helper_module_context_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz";
-        sha1 = "25d8884b76839871a08a6c6f806c3979ef712f07";
+        sha512 = "MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==";
       };
     }
     {
@@ -1630,7 +1630,7 @@
       path = fetchurl {
         name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz";
-        sha1 = "4fed8beac9b8c14f8c58b70d124d549dd1fe5790";
+        sha512 = "R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==";
       };
     }
     {
@@ -1638,7 +1638,7 @@
       path = fetchurl {
         name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz";
-        sha1 = "5a4138d5a6292ba18b04c5ae49717e4167965346";
+        sha512 = "XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==";
       };
     }
     {
@@ -1646,7 +1646,7 @@
       path = fetchurl {
         name = "_webassemblyjs_ieee754___ieee754_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz";
-        sha1 = "15c7a0fbaae83fb26143bbacf6d6df1702ad39e4";
+        sha512 = "dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==";
       };
     }
     {
@@ -1654,7 +1654,7 @@
       path = fetchurl {
         name = "_webassemblyjs_leb128___leb128_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz";
-        sha1 = "f19ca0b76a6dc55623a09cffa769e838fa1e1c95";
+        sha512 = "ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==";
       };
     }
     {
@@ -1662,7 +1662,7 @@
       path = fetchurl {
         name = "_webassemblyjs_utf8___utf8_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz";
-        sha1 = "04d33b636f78e6a6813227e82402f7637b6229ab";
+        sha512 = "GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==";
       };
     }
     {
@@ -1670,7 +1670,7 @@
       path = fetchurl {
         name = "_webassemblyjs_wasm_edit___wasm_edit_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz";
-        sha1 = "3fe6d79d3f0f922183aa86002c42dd256cfee9cf";
+        sha512 = "FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==";
       };
     }
     {
@@ -1678,7 +1678,7 @@
       path = fetchurl {
         name = "_webassemblyjs_wasm_gen___wasm_gen_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz";
-        sha1 = "50bc70ec68ded8e2763b01a1418bf43491a7a49c";
+        sha512 = "cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==";
       };
     }
     {
@@ -1686,7 +1686,7 @@
       path = fetchurl {
         name = "_webassemblyjs_wasm_opt___wasm_opt_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz";
-        sha1 = "2211181e5b31326443cc8112eb9f0b9028721a61";
+        sha512 = "Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==";
       };
     }
     {
@@ -1694,7 +1694,7 @@
       path = fetchurl {
         name = "_webassemblyjs_wasm_parser___wasm_parser_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz";
-        sha1 = "9d48e44826df4a6598294aa6c87469d642fff65e";
+        sha512 = "9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==";
       };
     }
     {
@@ -1702,7 +1702,7 @@
       path = fetchurl {
         name = "_webassemblyjs_wast_parser___wast_parser_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz";
-        sha1 = "3031115d79ac5bd261556cecc3fa90a3ef451914";
+        sha512 = "qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==";
       };
     }
     {
@@ -1710,7 +1710,7 @@
       path = fetchurl {
         name = "_webassemblyjs_wast_printer___wast_printer_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz";
-        sha1 = "4935d54c85fef637b00ce9f52377451d00d47899";
+        sha512 = "2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==";
       };
     }
     {
@@ -1718,7 +1718,7 @@
       path = fetchurl {
         name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
-        sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790";
+        sha512 = "DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==";
       };
     }
     {
@@ -1726,7 +1726,7 @@
       path = fetchurl {
         name = "_xtuc_long___long_4.2.2.tgz";
         url  = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz";
-        sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d";
+        sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==";
       };
     }
     {
@@ -1734,7 +1734,7 @@
       path = fetchurl {
         name = "abab___abab_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
-        sha1 = "c0b678fb32d60fc1219c784d6a826fe385aeb79a";
+        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
       };
     }
     {
@@ -1742,7 +1742,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==";
       };
     }
     {
@@ -1750,7 +1750,7 @@
       path = fetchurl {
         name = "acorn_globals___acorn_globals_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz";
-        sha1 = "46cdd39f0f8ff08a876619b55f5ac8a6dc770b45";
+        sha512 = "ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==";
       };
     }
     {
@@ -1758,7 +1758,7 @@
       path = fetchurl {
         name = "acorn_jsx___acorn_jsx_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
-        sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+        sha1 = "r9+UiPsezvyDSPb7IvRk4ypYs2s=";
       };
     }
     {
@@ -1766,7 +1766,7 @@
       path = fetchurl {
         name = "acorn_jsx___acorn_jsx_5.3.1.tgz";
         url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz";
-        sha1 = "fc8661e11b7ac1539c47dbfea2e72b3af34d267b";
+        sha512 = "K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==";
       };
     }
     {
@@ -1774,7 +1774,7 @@
       path = fetchurl {
         name = "acorn_walk___acorn_walk_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz";
-        sha1 = "0de889a601203909b0fbe07b8938dc21d2e967bc";
+        sha512 = "OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==";
       };
     }
     {
@@ -1782,7 +1782,7 @@
       path = fetchurl {
         name = "acorn_walk___acorn_walk_8.0.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.0.tgz";
-        sha1 = "56ae4c0f434a45fff4a125e7ea95fa9c98f67a16";
+        sha512 = "oZRad/3SMOI/pxbbmqyurIx7jHw1wZDcR9G44L8pUVFEomX/0dH89SrM1KaDXuv1NpzAXz6Op/Xu/Qd5XXzdEA==";
       };
     }
     {
@@ -1790,7 +1790,7 @@
       path = fetchurl {
         name = "acorn___acorn_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz";
-        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+        sha1 = "ReN/s56No/JbruP/U2niu18iAXo=";
       };
     }
     {
@@ -1798,7 +1798,7 @@
       path = fetchurl {
         name = "acorn___acorn_5.7.3.tgz";
         url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
-        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+        sha512 = "T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==";
       };
     }
     {
@@ -1806,7 +1806,7 @@
       path = fetchurl {
         name = "acorn___acorn_6.4.1.tgz";
         url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz";
-        sha1 = "531e58ba3f51b9dacb9a6646ca4debf5b14ca474";
+        sha512 = "ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==";
       };
     }
     {
@@ -1814,7 +1814,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==";
       };
     }
     {
@@ -1822,7 +1822,7 @@
       path = fetchurl {
         name = "acorn___acorn_8.0.4.tgz";
         url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz";
-        sha1 = "7a3ae4191466a6984eee0fe3407a4f3aa9db8354";
+        sha512 = "XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==";
       };
     }
     {
@@ -1830,7 +1830,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==";
       };
     }
     {
@@ -1838,7 +1838,7 @@
       path = fetchurl {
         name = "ajv_errors___ajv_errors_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz";
-        sha1 = "f35986aceb91afadec4102fbd85014950cefa64d";
+        sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
       };
     }
     {
@@ -1846,7 +1846,7 @@
       path = fetchurl {
         name = "ajv_keywords___ajv_keywords_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz";
-        sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c";
+        sha1 = "MU3QpLM2j609/NxU7eYXG4htrzw=";
       };
     }
     {
@@ -1854,7 +1854,7 @@
       path = fetchurl {
         name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
         url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
-        sha1 = "31f29da5ab6e00d1c2d329acf7b5929614d5014d";
+        sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==";
       };
     }
     {
@@ -1862,7 +1862,7 @@
       path = fetchurl {
         name = "ajv___ajv_4.11.8.tgz";
         url  = "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz";
-        sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
+        sha1 = "gv+wKynmYq5TvcIK8VlHcGc5xTY=";
       };
     }
     {
@@ -1870,7 +1870,7 @@
       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==";
       };
     }
     {
@@ -1878,7 +1878,7 @@
       path = fetchurl {
         name = "ajv___ajv_8.5.0.tgz";
         url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz";
-        sha1 = "695528274bcb5afc865446aa275484049a18ae4b";
+        sha512 = "Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==";
       };
     }
     {
@@ -1886,7 +1886,7 @@
       path = fetchurl {
         name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
-        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+        sha1 = "l6ERlkmyEa0zaR2fn0hqjsn74KM=";
       };
     }
     {
@@ -1894,7 +1894,7 @@
       path = fetchurl {
         name = "ansi_colors___ansi_colors_3.2.4.tgz";
         url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz";
-        sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf";
+        sha512 = "hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==";
       };
     }
     {
@@ -1902,7 +1902,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==";
       };
     }
     {
@@ -1910,7 +1910,7 @@
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
-        sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
+        sha1 = "06ioOzGapneTZisT52HHkRQiMG4=";
       };
     }
     {
@@ -1918,7 +1918,7 @@
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_4.3.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz";
-        sha1 = "a5c47cc43181f1f38ffd7076837700d395522a61";
+        sha512 = "JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==";
       };
     }
     {
@@ -1926,7 +1926,7 @@
       path = fetchurl {
         name = "ansi_html___ansi_html_0.0.7.tgz";
         url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
-        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+        sha1 = "gTWEAhliqenm/QOflA0S9WynhZ4=";
       };
     }
     {
@@ -1934,7 +1934,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";
+        sha1 = "w7M6te42DYbg5ijwRorn7yfWVN8=";
       };
     }
     {
@@ -1942,7 +1942,7 @@
       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 = "7QMXwyIGT3lGbAKWa922Bas32Zg=";
       };
     }
     {
@@ -1950,7 +1950,7 @@
       path = fetchurl {
         name = "ansi_regex___ansi_regex_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
       };
     }
     {
@@ -1958,7 +1958,7 @@
       path = fetchurl {
         name = "ansi_regex___ansi_regex_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz";
-        sha1 = "388539f55179bf39339c81af30a654d69f87cb75";
+        sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==";
       };
     }
     {
@@ -1966,7 +1966,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+        sha1 = "tDLdM1i2NM914eRmQ2gkBTPB3b4=";
       };
     }
     {
@@ -1974,7 +1974,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==";
       };
     }
     {
@@ -1982,7 +1982,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_4.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz";
-        sha1 = "90ae75c424d008d2624c5bf29ead3177ebfcf359";
+        sha512 = "9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==";
       };
     }
     {
@@ -1990,7 +1990,7 @@
       path = fetchurl {
         name = "anymatch___anymatch_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz";
-        sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb";
+        sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
       };
     }
     {
@@ -1998,7 +1998,7 @@
       path = fetchurl {
         name = "anymatch___anymatch_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz";
-        sha1 = "c55ecf02185e2469259399310c173ce31233b142";
+        sha512 = "mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==";
       };
     }
     {
@@ -2006,7 +2006,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==";
       };
     }
     {
@@ -2014,7 +2014,7 @@
       path = fetchurl {
         name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
         url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
-        sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
+        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
       };
     }
     {
@@ -2022,7 +2022,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==";
       };
     }
     {
@@ -2030,7 +2030,7 @@
       path = fetchurl {
         name = "argparse___argparse_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz";
-        sha1 = "246f50f3ca78a3240f6c997e8a9bd1eac49e4b38";
+        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
       };
     }
     {
@@ -2038,7 +2038,7 @@
       path = fetchurl {
         name = "aria_query___aria_query_4.2.2.tgz";
         url  = "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz";
-        sha1 = "0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b";
+        sha512 = "o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==";
       };
     }
     {
@@ -2046,7 +2046,7 @@
       path = fetchurl {
         name = "arr_diff___arr_diff_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
-        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+        sha1 = "1kYQdP6/7HHn4VI1dhoyml3HxSA=";
       };
     }
     {
@@ -2054,7 +2054,7 @@
       path = fetchurl {
         name = "arr_flatten___arr_flatten_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
-        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+        sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
       };
     }
     {
@@ -2062,7 +2062,7 @@
       path = fetchurl {
         name = "arr_union___arr_union_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
-        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+        sha1 = "45sJrqne+Gao8gbiiK9jkZuuOcQ=";
       };
     }
     {
@@ -2070,7 +2070,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=";
       };
     }
     {
@@ -2078,7 +2078,7 @@
       path = fetchurl {
         name = "array_flatten___array_flatten_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz";
-        sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099";
+        sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
       };
     }
     {
@@ -2086,7 +2086,7 @@
       path = fetchurl {
         name = "array_includes___array_includes_3.1.3.tgz";
         url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz";
-        sha1 = "c7f619b382ad2afaf5326cddfdc0afc61af7690a";
+        sha512 = "gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==";
       };
     }
     {
@@ -2094,7 +2094,7 @@
       path = fetchurl {
         name = "array_union___array_union_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
-        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+        sha1 = "mjRBDk9OPaI96jdb5b5w8kd47Dk=";
       };
     }
     {
@@ -2102,7 +2102,7 @@
       path = fetchurl {
         name = "array_uniq___array_uniq_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
-        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+        sha1 = "r2rId6Jcx/dOBYiUdThY39sk/bY=";
       };
     }
     {
@@ -2110,7 +2110,7 @@
       path = fetchurl {
         name = "array_unique___array_unique_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
-        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+        sha1 = "qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=";
       };
     }
     {
@@ -2118,7 +2118,7 @@
       path = fetchurl {
         name = "array.prototype.flat___array.prototype.flat_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz";
-        sha1 = "6ef638b43312bd401b4c6199fdec7e2dc9e9a123";
+        sha512 = "4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==";
       };
     }
     {
@@ -2126,7 +2126,7 @@
       path = fetchurl {
         name = "array.prototype.flatmap___array.prototype.flatmap_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz";
-        sha1 = "94cfd47cc1556ec0747d97f7c7738c58122004c9";
+        sha512 = "r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==";
       };
     }
     {
@@ -2134,7 +2134,7 @@
       path = fetchurl {
         name = "arrow_key_navigation___arrow_key_navigation_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/arrow-key-navigation/-/arrow-key-navigation-1.2.0.tgz";
-        sha1 = "edefc5f8b4fc4e384e7c20ddecf81db7ffc970a9";
+        sha512 = "ch4WOwtjXHFisaa7ey2duW1Qf2VJxoa+8llbsbWDP6wsCzm0DGAi8upv6GDhf5xGvbxhKW3Co9SDEhXq34xCtg==";
       };
     }
     {
@@ -2142,7 +2142,7 @@
       path = fetchurl {
         name = "asn1.js___asn1.js_5.4.1.tgz";
         url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz";
-        sha1 = "11a980b84ebb91781ce35b0fdc2ee294e3783f07";
+        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     }
     {
@@ -2150,7 +2150,7 @@
       path = fetchurl {
         name = "asn1___asn1_0.2.4.tgz";
         url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
-        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
       };
     }
     {
@@ -2158,7 +2158,7 @@
       path = fetchurl {
         name = "assert_plus___assert_plus_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+        sha1 = "8S4PPF13sLHN2RRpQuTpbB5N1SU=";
       };
     }
     {
@@ -2166,7 +2166,7 @@
       path = fetchurl {
         name = "assert___assert_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz";
-        sha1 = "55c109aaf6e0aefdb3dc4b71240c70bf574b18eb";
+        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
       };
     }
     {
@@ -2174,7 +2174,7 @@
       path = fetchurl {
         name = "assign_symbols___assign_symbols_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
-        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+        sha1 = "WWZ/QfrdTyDMvCu5a41Pf3jsA2c=";
       };
     }
     {
@@ -2182,7 +2182,7 @@
       path = fetchurl {
         name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
         url  = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
-        sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad";
+        sha1 = "9wtzXGvKGlycItmCw+Oef+ujva0=";
       };
     }
     {
@@ -2190,7 +2190,7 @@
       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==";
       };
     }
     {
@@ -2198,7 +2198,7 @@
       path = fetchurl {
         name = "async_each___async_each_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
-        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
       };
     }
     {
@@ -2206,7 +2206,7 @@
       path = fetchurl {
         name = "async_limiter___async_limiter_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
-        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
       };
     }
     {
@@ -2214,7 +2214,7 @@
       path = fetchurl {
         name = "async___async_2.6.3.tgz";
         url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
-        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
       };
     }
     {
@@ -2222,7 +2222,7 @@
       path = fetchurl {
         name = "asynckit___asynckit_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        sha1 = "x57Zf380y48robyXkLzDZkdLS3k=";
       };
     }
     {
@@ -2230,7 +2230,7 @@
       path = fetchurl {
         name = "atob___atob_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
-        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+        sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
       };
     }
     {
@@ -2238,7 +2238,7 @@
       path = fetchurl {
         name = "autoprefixer___autoprefixer_9.8.6.tgz";
         url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz";
-        sha1 = "3b73594ca1bf9266320c5acf1588d74dea74210f";
+        sha512 = "XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==";
       };
     }
     {
@@ -2246,7 +2246,7 @@
       path = fetchurl {
         name = "aws_sign2___aws_sign2_0.7.0.tgz";
         url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+        sha1 = "tG6JCTSpWR8tL2+G1+ap8bP+dqg=";
       };
     }
     {
@@ -2254,7 +2254,7 @@
       path = fetchurl {
         name = "aws4___aws4_1.10.1.tgz";
         url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz";
-        sha1 = "e1e82e4f3e999e2cfd61b161280d16a111f86428";
+        sha512 = "zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==";
       };
     }
     {
@@ -2262,7 +2262,7 @@
       path = fetchurl {
         name = "axe_core___axe_core_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/axe-core/-/axe-core-4.0.2.tgz";
-        sha1 = "c7cf7378378a51fcd272d3c09668002a4990b1cb";
+        sha512 = "arU1h31OGFu+LPrOLGZ7nB45v940NMDMEJeNmbutu57P+UFDVnkZg3e+J1I2HJRZ9hT7gO8J91dn/PMrAiKakA==";
       };
     }
     {
@@ -2270,7 +2270,7 @@
       path = fetchurl {
         name = "axios___axios_0.21.1.tgz";
         url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz";
-        sha1 = "22563481962f4d6bde9a76d516ef0e5d3c09b2b8";
+        sha512 = "dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==";
       };
     }
     {
@@ -2278,7 +2278,7 @@
       path = fetchurl {
         name = "axobject_query___axobject_query_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz";
-        sha1 = "943d47e10c0b704aa42275e20edf3722648989be";
+        sha512 = "Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==";
       };
     }
     {
@@ -2286,7 +2286,7 @@
       path = fetchurl {
         name = "babel_eslint___babel_eslint_10.1.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz";
-        sha1 = "6968e568a910b78fb3779cdd8b6ac2f479943232";
+        sha512 = "ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==";
       };
     }
     {
@@ -2294,7 +2294,7 @@
       path = fetchurl {
         name = "babel_jest___babel_jest_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz";
-        sha1 = "d87d25cb0037577a0c89f82e5755c5d293c01056";
+        sha512 = "pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==";
       };
     }
     {
@@ -2302,7 +2302,7 @@
       path = fetchurl {
         name = "babel_jest___babel_jest_27.0.2.tgz";
         url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.2.tgz";
-        sha1 = "7dc18adb01322acce62c2af76ea2c7cd186ade37";
+        sha512 = "9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==";
       };
     }
     {
@@ -2310,7 +2310,7 @@
       path = fetchurl {
         name = "babel_loader___babel_loader_8.2.2.tgz";
         url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz";
-        sha1 = "9363ce84c10c9a40e6c753748e1441b60c8a0b81";
+        sha512 = "JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==";
       };
     }
     {
@@ -2318,7 +2318,7 @@
       path = fetchurl {
         name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz";
-        sha1 = "84fda19c976ec5c6defef57f9427b3def66e17a3";
+        sha512 = "jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==";
       };
     }
     {
@@ -2326,7 +2326,7 @@
       path = fetchurl {
         name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz";
-        sha1 = "e159ccdc9af95e0b570c75b4573b7c34d671d765";
+        sha512 = "AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==";
       };
     }
     {
@@ -2334,7 +2334,7 @@
       path = fetchurl {
         name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz";
-        sha1 = "8185bd030348d254c6d7dd974355e6a28b21e62d";
+        sha512 = "PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==";
       };
     }
     {
@@ -2342,7 +2342,7 @@
       path = fetchurl {
         name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz";
-        sha1 = "a6d10e484c93abff0f4e95f437dad26e5736ea11";
+        sha512 = "sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==";
       };
     }
     {
@@ -2350,7 +2350,7 @@
       path = fetchurl {
         name = "babel_plugin_lodash___babel_plugin_lodash_3.3.4.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz";
-        sha1 = "4f6844358a1340baed182adbeffa8df9967bc196";
+        sha512 = "yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==";
       };
     }
     {
@@ -2358,7 +2358,7 @@
       path = fetchurl {
         name = "babel_plugin_macros___babel_plugin_macros_2.8.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz";
-        sha1 = "0f958a7cc6556b1e65344465d99111a1e5e10138";
+        sha512 = "SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==";
       };
     }
     {
@@ -2366,7 +2366,7 @@
       path = fetchurl {
         name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz";
-        sha1 = "686775bf9a5aa757e10520903675e3889caeedc4";
+        sha512 = "9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==";
       };
     }
     {
@@ -2374,7 +2374,7 @@
       path = fetchurl {
         name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz";
-        sha1 = "f4b4bb7b19329827df36ff56f6e6d367026cb7a2";
+        sha512 = "zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==";
       };
     }
     {
@@ -2382,7 +2382,7 @@
       path = fetchurl {
         name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz";
-        sha1 = "853f5f5716f4691d98c84f8069c7636ea8da7ab8";
+        sha512 = "J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==";
       };
     }
     {
@@ -2390,7 +2390,7 @@
       path = fetchurl {
         name = "babel_plugin_preval___babel_plugin_preval_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-5.0.0.tgz";
-        sha1 = "6cabb947ecc241664966e1f99eb56a3b4bb63d1e";
+        sha512 = "8DqJq6/LPUjSZ0Qq6bVIFpsj2flCEE0Cbnbut9TvGU6jP9g3dOWEXtQ/sdvsA9d6souza8eNGh04WRXpuH9ThA==";
       };
     }
     {
@@ -2398,7 +2398,7 @@
       path = fetchurl {
         name = "babel_plugin_react_intl___babel_plugin_react_intl_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-6.2.0.tgz";
-        sha1 = "ac51ca757f318938792fc91e1747515e9225386a";
+        sha512 = "ajGpa14mLzyDgdOS75DRlQ0aEL+q7iSCB77613YUPOZbxnAvfB0wg+gLngbd/43eKRw7a4y+IzO3P8kDHl40nA==";
       };
     }
     {
@@ -2406,7 +2406,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
-        sha1 = "f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a";
+        sha512 = "eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==";
       };
     }
     {
@@ -2414,7 +2414,7 @@
       path = fetchurl {
         name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz";
-        sha1 = "cf5feef29551253471cfa82fc8e0f5063df07a77";
+        sha512 = "mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q==";
       };
     }
     {
@@ -2422,7 +2422,7 @@
       path = fetchurl {
         name = "babel_preset_jest___babel_preset_jest_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz";
-        sha1 = "747872b1171df032252426586881d62d31798fee";
+        sha512 = "YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==";
       };
     }
     {
@@ -2430,7 +2430,7 @@
       path = fetchurl {
         name = "babel_preset_jest___babel_preset_jest_27.0.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz";
-        sha1 = "7a50c75d16647c23a2cf5158d5bb9eb206b10e20";
+        sha512 = "nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==";
       };
     }
     {
@@ -2438,7 +2438,7 @@
       path = fetchurl {
         name = "babel_runtime___babel_runtime_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
-        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+        sha1 = "llxwWGaOgrVde/4E/yM3vItWR/4=";
       };
     }
     {
@@ -2446,7 +2446,7 @@
       path = fetchurl {
         name = "balanced_match___balanced_match_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz";
-        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+        sha1 = "ibTRmasr7kneFk6gK4nORi1xt2c=";
       };
     }
     {
@@ -2454,7 +2454,7 @@
       path = fetchurl {
         name = "base64_js___base64_js_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz";
-        sha1 = "58ece8cb75dd07e71ed08c736abc5fac4dbf8df1";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
       };
     }
     {
@@ -2462,7 +2462,7 @@
       path = fetchurl {
         name = "base___base_0.11.2.tgz";
         url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
-        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
       };
     }
     {
@@ -2470,7 +2470,7 @@
       path = fetchurl {
         name = "batch___batch_0.6.1.tgz";
         url  = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz";
-        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+        sha1 = "3DQxT05nkxgJP8dgJyUl+UvyXBY=";
       };
     }
     {
@@ -2478,7 +2478,7 @@
       path = fetchurl {
         name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
-        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+        sha1 = "pDAdOJtqQ/m2f/PKEaP2Y342Dp4=";
       };
     }
     {
@@ -2486,7 +2486,7 @@
       path = fetchurl {
         name = "big.js___big.js_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz";
-        sha1 = "a5fc298b81b9e0dca2e458824784b65c52ba588e";
+        sha512 = "+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==";
       };
     }
     {
@@ -2494,7 +2494,7 @@
       path = fetchurl {
         name = "big.js___big.js_5.2.2.tgz";
         url  = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz";
-        sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328";
+        sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
       };
     }
     {
@@ -2502,7 +2502,7 @@
       path = fetchurl {
         name = "binary_extensions___binary_extensions_1.13.1.tgz";
         url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
-        sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
+        sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
       };
     }
     {
@@ -2510,7 +2510,7 @@
       path = fetchurl {
         name = "binary_extensions___binary_extensions_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz";
-        sha1 = "30fa40c9e7fe07dbc895678cd287024dea241dd9";
+        sha512 = "1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==";
       };
     }
     {
@@ -2518,7 +2518,7 @@
       path = fetchurl {
         name = "bindings___bindings_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz";
-        sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df";
+        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
       };
     }
     {
@@ -2526,7 +2526,7 @@
       path = fetchurl {
         name = "bluebird___bluebird_3.7.2.tgz";
         url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
-        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     }
     {
@@ -2534,7 +2534,7 @@
       path = fetchurl {
         name = "blurhash___blurhash_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/blurhash/-/blurhash-1.1.3.tgz";
-        sha1 = "dc325af7da836d07a0861d830bdd63694382483e";
+        sha512 = "yUhPJvXexbqbyijCIE/T2NCXcj9iNPhWmOKbPTuR/cm7Q5snXYIfnVnz6m7MWOXxODMz/Cr3UcVkRdHiuDVRDw==";
       };
     }
     {
@@ -2542,7 +2542,7 @@
       path = fetchurl {
         name = "bmp_js___bmp_js_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz";
-        sha1 = "e05a63f796a6c1ff25f4771ec7adadc148c07233";
+        sha1 = "4Fpj95amwf8l9Hcex62twUjAcjM=";
       };
     }
     {
@@ -2550,7 +2550,7 @@
       path = fetchurl {
         name = "bn.js___bn.js_4.12.0.tgz";
         url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz";
-        sha1 = "775b3f278efbb9718eec7361f483fb36fbbfea88";
+        sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
       };
     }
     {
@@ -2558,7 +2558,7 @@
       path = fetchurl {
         name = "bn.js___bn.js_5.1.3.tgz";
         url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz";
-        sha1 = "beca005408f642ebebea80b042b4d18d2ac0ee6b";
+        sha512 = "GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==";
       };
     }
     {
@@ -2566,7 +2566,7 @@
       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";
+        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
       };
     }
     {
@@ -2574,7 +2574,7 @@
       path = fetchurl {
         name = "bonjour___bonjour_3.5.0.tgz";
         url  = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz";
-        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+        sha1 = "jokKGD2O6aI5OzhExpGkK897yfU=";
       };
     }
     {
@@ -2582,7 +2582,7 @@
       path = fetchurl {
         name = "boolbase___boolbase_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
-        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+        sha1 = "aN/1++YMUes3cl6p4+0xDcwed24=";
       };
     }
     {
@@ -2590,7 +2590,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==";
       };
     }
     {
@@ -2598,7 +2598,7 @@
       path = fetchurl {
         name = "braces___braces_2.3.2.tgz";
         url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
-        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+        sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
       };
     }
     {
@@ -2606,7 +2606,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==";
       };
     }
     {
@@ -2614,7 +2614,7 @@
       path = fetchurl {
         name = "bricks.js___bricks.js_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/bricks.js/-/bricks.js-1.8.0.tgz";
-        sha1 = "8fdeb3c0226af251f4d5727a7df7f9ac0092b4b2";
+        sha1 = "j96zwCJq8lH01XJ6fff5rACStLI=";
       };
     }
     {
@@ -2622,7 +2622,7 @@
       path = fetchurl {
         name = "brorand___brorand_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
-        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+        sha1 = "EsJe/kCkXjwyPrhnWgoM5XsiNx8=";
       };
     }
     {
@@ -2630,7 +2630,7 @@
       path = fetchurl {
         name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
-        sha1 = "3c9b4b7d782c8121e56f10106d84c0d0ffc94626";
+        sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
       };
     }
     {
@@ -2638,7 +2638,7 @@
       path = fetchurl {
         name = "browserify_aes___browserify_aes_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz";
-        sha1 = "326734642f403dabc3003209853bb70ad428ef48";
+        sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==";
       };
     }
     {
@@ -2646,7 +2646,7 @@
       path = fetchurl {
         name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
-        sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0";
+        sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==";
       };
     }
     {
@@ -2654,7 +2654,7 @@
       path = fetchurl {
         name = "browserify_des___browserify_des_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz";
-        sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c";
+        sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==";
       };
     }
     {
@@ -2662,7 +2662,7 @@
       path = fetchurl {
         name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
-        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+        sha1 = "IeCr+vbyApzy+vsTNWenAdQTVSQ=";
       };
     }
     {
@@ -2670,7 +2670,7 @@
       path = fetchurl {
         name = "browserify_sign___browserify_sign_4.2.1.tgz";
         url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz";
-        sha1 = "eaf4add46dd54be3bb3b36c0cf15abbeba7956c3";
+        sha512 = "/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==";
       };
     }
     {
@@ -2678,7 +2678,7 @@
       path = fetchurl {
         name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
-        sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f";
+        sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     }
     {
@@ -2686,7 +2686,7 @@
       path = fetchurl {
         name = "browserslist___browserslist_4.16.6.tgz";
         url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz";
-        sha1 = "d7901277a5a88e554ed305b183ec9b0c08f66fa2";
+        sha512 = "Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==";
       };
     }
     {
@@ -2694,7 +2694,7 @@
       path = fetchurl {
         name = "bser___bser_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz";
-        sha1 = "e6787da20ece9d07998533cfd9de6f5c38f4bc05";
+        sha512 = "gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==";
       };
     }
     {
@@ -2702,7 +2702,7 @@
       path = fetchurl {
         name = "buffer_from___buffer_from_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz";
-        sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
       };
     }
     {
@@ -2710,7 +2710,7 @@
       path = fetchurl {
         name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
-        sha1 = "52fabcc6a606d1a00302802648ef68f639da268c";
+        sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
       };
     }
     {
@@ -2718,7 +2718,7 @@
       path = fetchurl {
         name = "buffer_writer___buffer_writer_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz";
-        sha1 = "ce7eb81a38f7829db09c873f2fbb792c0c98ec04";
+        sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==";
       };
     }
     {
@@ -2726,7 +2726,7 @@
       path = fetchurl {
         name = "buffer_xor___buffer_xor_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
-        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+        sha1 = "JuYe0UIvtw3ULm42cp7VHYVf6Nk=";
       };
     }
     {
@@ -2734,7 +2734,7 @@
       path = fetchurl {
         name = "buffer___buffer_4.9.2.tgz";
         url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz";
-        sha1 = "230ead344002988644841ab0244af8c44bbe3ef8";
+        sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==";
       };
     }
     {
@@ -2742,7 +2742,7 @@
       path = fetchurl {
         name = "bufferutil___bufferutil_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.3.tgz";
-        sha1 = "66724b756bed23cd7c28c4d306d7994f9943cc6b";
+        sha512 = "yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==";
       };
     }
     {
@@ -2750,7 +2750,7 @@
       path = fetchurl {
         name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
-        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+        sha1 = "hZgoeOIbmOHGZCXgPQF0eI9Wnug=";
       };
     }
     {
@@ -2758,7 +2758,7 @@
       path = fetchurl {
         name = "bytes___bytes_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
-        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+        sha1 = "0ygVQE1olpn4Wk6k+odV3ROpYEg=";
       };
     }
     {
@@ -2766,7 +2766,7 @@
       path = fetchurl {
         name = "bytes___bytes_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
-        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+        sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
       };
     }
     {
@@ -2774,7 +2774,7 @@
       path = fetchurl {
         name = "cacache___cacache_12.0.4.tgz";
         url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz";
-        sha1 = "668bcbd105aeb5f1d92fe25570ec9525c8faa40c";
+        sha512 = "a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==";
       };
     }
     {
@@ -2782,7 +2782,7 @@
       path = fetchurl {
         name = "cacache___cacache_15.0.5.tgz";
         url  = "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz";
-        sha1 = "69162833da29170d6732334643c60e005f5f17d0";
+        sha512 = "lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==";
       };
     }
     {
@@ -2790,7 +2790,7 @@
       path = fetchurl {
         name = "cache_base___cache_base_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
-        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
       };
     }
     {
@@ -2798,7 +2798,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==";
       };
     }
     {
@@ -2806,7 +2806,7 @@
       path = fetchurl {
         name = "caller_callsite___caller_callsite_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz";
-        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+        sha1 = "hH4PzgoiN1CpoCfFSzNzGtMVQTQ=";
       };
     }
     {
@@ -2814,7 +2814,7 @@
       path = fetchurl {
         name = "caller_path___caller_path_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz";
-        sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f";
+        sha1 = "lAhe9jWB7NPaqSREqP6U6CV3dR8=";
       };
     }
     {
@@ -2822,7 +2822,7 @@
       path = fetchurl {
         name = "caller_path___caller_path_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz";
-        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+        sha1 = "Ro+DBE42mrIBD6xfBs7uFbsssfQ=";
       };
     }
     {
@@ -2830,7 +2830,7 @@
       path = fetchurl {
         name = "callsites___callsites_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz";
-        sha1 = "afab96262910a7f33c19a5775825c69f34e350ca";
+        sha1 = "r6uWJikQp/M8GaV3WCXGnzTjUMo=";
       };
     }
     {
@@ -2838,7 +2838,7 @@
       path = fetchurl {
         name = "callsites___callsites_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz";
-        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+        sha1 = "BuuE8A7qQT2oav/vrL/7Ngk7PFA=";
       };
     }
     {
@@ -2846,7 +2846,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==";
       };
     }
     {
@@ -2854,7 +2854,7 @@
       path = fetchurl {
         name = "camelcase___camelcase_5.3.1.tgz";
         url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
-        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     }
     {
@@ -2862,7 +2862,7 @@
       path = fetchurl {
         name = "camelcase___camelcase_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz";
-        sha1 = "924af881c9d525ac9d87f40d964e5cea982a1809";
+        sha512 = "c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==";
       };
     }
     {
@@ -2870,7 +2870,7 @@
       path = fetchurl {
         name = "caniuse_api___caniuse_api_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz";
-        sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0";
+        sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     }
     {
@@ -2878,7 +2878,7 @@
       path = fetchurl {
         name = "caniuse_lite___caniuse_lite_1.0.30001228.tgz";
         url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz";
-        sha1 = "bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa";
+        sha512 = "QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==";
       };
     }
     {
@@ -2886,7 +2886,7 @@
       path = fetchurl {
         name = "capture_exit___capture_exit_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
-        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+        sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==";
       };
     }
     {
@@ -2894,7 +2894,7 @@
       path = fetchurl {
         name = "caseless___caseless_0.12.0.tgz";
         url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+        sha1 = "G2gcIf+EAzyCZUMJBolCDRhxUdw=";
       };
     }
     {
@@ -2902,7 +2902,7 @@
       path = fetchurl {
         name = "chalk___chalk_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+        sha1 = "qBFcVeSnAv5NFQq9OHKCKn4J/Jg=";
       };
     }
     {
@@ -2910,7 +2910,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==";
       };
     }
     {
@@ -2918,7 +2918,7 @@
       path = fetchurl {
         name = "chalk___chalk_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz";
-        sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4";
+        sha512 = "4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==";
       };
     }
     {
@@ -2926,7 +2926,7 @@
       path = fetchurl {
         name = "chalk___chalk_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz";
-        sha1 = "4e14870a618d9e2edd97dd8345fd9d9dc315646a";
+        sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==";
       };
     }
     {
@@ -2934,7 +2934,7 @@
       path = fetchurl {
         name = "char_regex___char_regex_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz";
-        sha1 = "d744358226217f981ed58f479b1d6bcc29545dcf";
+        sha512 = "kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==";
       };
     }
     {
@@ -2942,7 +2942,7 @@
       path = fetchurl {
         name = "chokidar___chokidar_3.5.1.tgz";
         url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz";
-        sha1 = "ee9ce7bbebd2b79f49f304799d5468e31e14e68a";
+        sha512 = "9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==";
       };
     }
     {
@@ -2950,7 +2950,7 @@
       path = fetchurl {
         name = "chokidar___chokidar_2.1.8.tgz";
         url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
-        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
+        sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
       };
     }
     {
@@ -2958,7 +2958,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==";
       };
     }
     {
@@ -2966,7 +2966,7 @@
       path = fetchurl {
         name = "chownr___chownr_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz";
-        sha1 = "15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece";
+        sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
       };
     }
     {
@@ -2974,7 +2974,7 @@
       path = fetchurl {
         name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
-        sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4";
+        sha512 = "9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==";
       };
     }
     {
@@ -2982,7 +2982,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==";
       };
     }
     {
@@ -2990,7 +2990,7 @@
       path = fetchurl {
         name = "ci_info___ci_info_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz";
-        sha1 = "2876cb948a498797b5236f0095bc057d0dca38b6";
+        sha512 = "dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==";
       };
     }
     {
@@ -2998,7 +2998,7 @@
       path = fetchurl {
         name = "cipher_base___cipher_base_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
-        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
       };
     }
     {
@@ -3006,7 +3006,7 @@
       path = fetchurl {
         name = "circular_json___circular_json_0.3.3.tgz";
         url  = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz";
-        sha1 = "815c99ea84f6809529d2f45791bdf82711352d66";
+        sha512 = "UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==";
       };
     }
     {
@@ -3014,7 +3014,7 @@
       path = fetchurl {
         name = "cjs_module_lexer___cjs_module_lexer_0.6.0.tgz";
         url  = "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz";
-        sha1 = "4186fcca0eae175970aee870b9fe2d6cf8d5655f";
+        sha512 = "uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==";
       };
     }
     {
@@ -3022,7 +3022,7 @@
       path = fetchurl {
         name = "class_utils___class_utils_0.3.6.tgz";
         url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
-        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+        sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
       };
     }
     {
@@ -3030,7 +3030,7 @@
       path = fetchurl {
         name = "classnames___classnames_2.3.1.tgz";
         url  = "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz";
-        sha1 = "dfcfa3891e306ec1dad105d0e88f4417b8535e8e";
+        sha512 = "OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==";
       };
     }
     {
@@ -3038,7 +3038,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==";
       };
     }
     {
@@ -3046,7 +3046,7 @@
       path = fetchurl {
         name = "cli_cursor___cli_cursor_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz";
-        sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987";
+        sha1 = "ZNo/fValRBLll5S9Ytw1KV6PKYc=";
       };
     }
     {
@@ -3054,7 +3054,7 @@
       path = fetchurl {
         name = "cli_width___cli_width_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz";
-        sha1 = "b0433d0b4e9c847ef18868a4ef16fd5fc8271c48";
+        sha512 = "GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==";
       };
     }
     {
@@ -3062,7 +3062,7 @@
       path = fetchurl {
         name = "cliui___cliui_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
-        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
       };
     }
     {
@@ -3070,7 +3070,7 @@
       path = fetchurl {
         name = "cliui___cliui_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz";
-        sha1 = "511d702c0c4e41ca156d7d0e96021f23e13225b1";
+        sha512 = "t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==";
       };
     }
     {
@@ -3078,7 +3078,7 @@
       path = fetchurl {
         name = "cliui___cliui_7.0.3.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.3.tgz";
-        sha1 = "ef180f26c8d9bff3927ee52428bfec2090427981";
+        sha512 = "Gj3QHTkVMPKqwP3f7B4KPkBZRMR9r4rfi5bXFpg1a+Svvj8l7q5CnkBkVQzfxT5DFSsGk2+PascOgL0JYkL2kw==";
       };
     }
     {
@@ -3086,7 +3086,7 @@
       path = fetchurl {
         name = "clone_deep___clone_deep_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz";
-        sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
+        sha512 = "neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==";
       };
     }
     {
@@ -3094,7 +3094,7 @@
       path = fetchurl {
         name = "co___co_4.6.0.tgz";
         url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
-        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+        sha1 = "bqa989hTrlTMuOR7+gvz+QMfsYQ=";
       };
     }
     {
@@ -3102,7 +3102,7 @@
       path = fetchurl {
         name = "coa___coa_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz";
-        sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3";
+        sha512 = "q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==";
       };
     }
     {
@@ -3110,7 +3110,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=";
       };
     }
     {
@@ -3118,7 +3118,7 @@
       path = fetchurl {
         name = "collect_v8_coverage___collect_v8_coverage_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz";
-        sha1 = "cc2c8e94fc18bbdffe64d6534570c8a673b27f59";
+        sha512 = "iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==";
       };
     }
     {
@@ -3126,7 +3126,7 @@
       path = fetchurl {
         name = "collection_visit___collection_visit_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
-        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+        sha1 = "S8A3PBZLwykbTTaMgpzxqApZ3KA=";
       };
     }
     {
@@ -3134,7 +3134,7 @@
       path = fetchurl {
         name = "color_blend___color_blend_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/color-blend/-/color-blend-3.0.1.tgz";
-        sha1 = "3882ed1190ca18760ffe11570d8537960171172b";
+        sha512 = "KueDvNiKHAvVeApic0SxHZLyy4x3NELfTLzMHRpRRLi+9e2kWhpeWvtuH3Sjb92mOJYEUhRjb8z7lr4OqDv17Q==";
       };
     }
     {
@@ -3142,7 +3142,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==";
       };
     }
     {
@@ -3150,7 +3150,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==";
       };
     }
     {
@@ -3158,7 +3158,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=";
       };
     }
     {
@@ -3166,7 +3166,7 @@
       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==";
       };
     }
     {
@@ -3174,7 +3174,7 @@
       path = fetchurl {
         name = "color_string___color_string_1.5.3.tgz";
         url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz";
-        sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc";
+        sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==";
       };
     }
     {
@@ -3182,7 +3182,7 @@
       path = fetchurl {
         name = "color___color_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz";
-        sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10";
+        sha512 = "vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==";
       };
     }
     {
@@ -3190,7 +3190,7 @@
       path = fetchurl {
         name = "colorette___colorette_1.2.2.tgz";
         url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz";
-        sha1 = "cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94";
+        sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==";
       };
     }
     {
@@ -3198,7 +3198,7 @@
       path = fetchurl {
         name = "combined_stream___combined_stream_1.0.8.tgz";
         url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     }
     {
@@ -3206,7 +3206,7 @@
       path = fetchurl {
         name = "commander___commander_2.20.3.tgz";
         url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
-        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
       };
     }
     {
@@ -3214,7 +3214,7 @@
       path = fetchurl {
         name = "commander___commander_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz";
-        sha1 = "b990bfb8ac030aedc6d11bc04d1488ffef56db75";
+        sha512 = "zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==";
       };
     }
     {
@@ -3222,7 +3222,7 @@
       path = fetchurl {
         name = "commondir___commondir_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
-        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+        sha1 = "3dgA2gxmEnOTzKWVDqloo6rxJTs=";
       };
     }
     {
@@ -3230,7 +3230,7 @@
       path = fetchurl {
         name = "component_emitter___component_emitter_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
-        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+        sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
       };
     }
     {
@@ -3238,7 +3238,7 @@
       path = fetchurl {
         name = "compressible___compressible_2.0.18.tgz";
         url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz";
-        sha1 = "af53cca6b070d4c3c0750fbd77286a6d7cc46fba";
+        sha512 = "AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==";
       };
     }
     {
@@ -3246,7 +3246,7 @@
       path = fetchurl {
         name = "compression_webpack_plugin___compression_webpack_plugin_6.1.1.tgz";
         url  = "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-6.1.1.tgz";
-        sha1 = "ae8e4b2ffdb7396bb776e66918d751a20d8ccf0e";
+        sha512 = "BEHft9M6lwOqVIQFMS/YJGmeCYXVOakC5KzQk05TFpMBlODByh1qNsZCWjUBxCQhUP9x0WfGidxTbGkjbWO/TQ==";
       };
     }
     {
@@ -3254,7 +3254,7 @@
       path = fetchurl {
         name = "compression___compression_1.7.4.tgz";
         url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
-        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+        sha512 = "jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==";
       };
     }
     {
@@ -3262,7 +3262,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=";
       };
     }
     {
@@ -3270,7 +3270,7 @@
       path = fetchurl {
         name = "concat_stream___concat_stream_1.6.2.tgz";
         url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
       };
     }
     {
@@ -3278,7 +3278,7 @@
       path = fetchurl {
         name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
         url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
-        sha1 = "8b32089359308d111115d81cad3fceab888f97bc";
+        sha512 = "e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==";
       };
     }
     {
@@ -3286,7 +3286,7 @@
       path = fetchurl {
         name = "console_browserify___console_browserify_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz";
-        sha1 = "67063cef57ceb6cf4993a2ab3a55840ae8c49336";
+        sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==";
       };
     }
     {
@@ -3294,7 +3294,7 @@
       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=";
       };
     }
     {
@@ -3302,7 +3302,7 @@
       path = fetchurl {
         name = "constants_browserify___constants_browserify_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
-        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+        sha1 = "wguW2MYXdIqvHBYCF2DNJ/y4y3U=";
       };
     }
     {
@@ -3310,7 +3310,7 @@
       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";
+        sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
       };
     }
     {
@@ -3318,7 +3318,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==";
       };
     }
     {
@@ -3326,7 +3326,7 @@
       path = fetchurl {
         name = "convert_source_map___convert_source_map_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz";
-        sha1 = "17a2cb882d7f77d3490585e2ce6c524424a3a442";
+        sha512 = "4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==";
       };
     }
     {
@@ -3334,7 +3334,7 @@
       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=";
       };
     }
     {
@@ -3342,7 +3342,7 @@
       path = fetchurl {
         name = "cookie___cookie_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
-        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+        sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
       };
     }
     {
@@ -3350,7 +3350,7 @@
       path = fetchurl {
         name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
-        sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
+        sha512 = "f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==";
       };
     }
     {
@@ -3358,7 +3358,7 @@
       path = fetchurl {
         name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
-        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+        sha1 = "Z29us8OZl8LuGsOpJP1hJHSPV40=";
       };
     }
     {
@@ -3366,7 +3366,7 @@
       path = fetchurl {
         name = "core_js_compat___core_js_compat_3.10.1.tgz";
         url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.10.1.tgz";
-        sha1 = "62183a3a77ceeffcc420d907a3e6fc67d9b27f1c";
+        sha512 = "ZHQTdTPkqvw2CeHiZC970NNJcnwzT6YIueDMASKt+p3WbZsLXOcoD392SkcWhkC0wBBHhlfhqGKKsNCQUozYtg==";
       };
     }
     {
@@ -3374,7 +3374,7 @@
       path = fetchurl {
         name = "core_js_pure___core_js_pure_3.6.5.tgz";
         url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz";
-        sha1 = "c79e75f5e38dbc85a662d91eea52b8256d53b813";
+        sha512 = "lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==";
       };
     }
     {
@@ -3382,7 +3382,7 @@
       path = fetchurl {
         name = "core_js___core_js_2.6.11.tgz";
         url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz";
-        sha1 = "38831469f9922bded8ee21c9dc46985e0399308c";
+        sha512 = "5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==";
       };
     }
     {
@@ -3390,7 +3390,7 @@
       path = fetchurl {
         name = "core_js___core_js_2.6.12.tgz";
         url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz";
-        sha1 = "d9333dfa7b065e347cc5682219d6f690859cc2ec";
+        sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     }
     {
@@ -3398,7 +3398,7 @@
       path = fetchurl {
         name = "core_util_is___core_util_is_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+        sha1 = "tf1UIgqivFq1eqtxQMlAdUUDwac=";
       };
     }
     {
@@ -3406,7 +3406,7 @@
       path = fetchurl {
         name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
         url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
-        sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a";
+        sha512 = "H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==";
       };
     }
     {
@@ -3414,7 +3414,7 @@
       path = fetchurl {
         name = "cosmiconfig___cosmiconfig_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz";
-        sha1 = "da4fee853c52f6b1e6935f41c1a2fc50bd4a9982";
+        sha512 = "xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==";
       };
     }
     {
@@ -3422,7 +3422,7 @@
       path = fetchurl {
         name = "create_ecdh___create_ecdh_4.0.4.tgz";
         url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz";
-        sha1 = "d6e7f4bffa66736085a0762fd3a632684dabcc4e";
+        sha512 = "mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==";
       };
     }
     {
@@ -3430,7 +3430,7 @@
       path = fetchurl {
         name = "create_hash___create_hash_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz";
-        sha1 = "889078af11a63756bcfb59bd221996be3a9ef196";
+        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
       };
     }
     {
@@ -3438,7 +3438,7 @@
       path = fetchurl {
         name = "create_hmac___create_hmac_1.1.7.tgz";
         url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz";
-        sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff";
+        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
       };
     }
     {
@@ -3446,7 +3446,7 @@
       path = fetchurl {
         name = "cross_env___cross_env_7.0.3.tgz";
         url  = "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz";
-        sha1 = "865264b29677dc015ba8418918965dd232fc54cf";
+        sha512 = "+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==";
       };
     }
     {
@@ -3454,7 +3454,7 @@
       path = fetchurl {
         name = "cross_spawn___cross_spawn_6.0.5.tgz";
         url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
-        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+        sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
       };
     }
     {
@@ -3462,7 +3462,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==";
       };
     }
     {
@@ -3470,7 +3470,7 @@
       path = fetchurl {
         name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
         url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
-        sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec";
+        sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
       };
     }
     {
@@ -3478,7 +3478,7 @@
       path = fetchurl {
         name = "css_color_names___css_color_names_0.0.4.tgz";
         url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz";
-        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+        sha1 = "gIrcLnnPhHOAabZGyyDsJ762KeA=";
       };
     }
     {
@@ -3486,7 +3486,7 @@
       path = fetchurl {
         name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
-        sha1 = "c198940f63a76d7e36c1e71018b001721054cb22";
+        sha512 = "BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==";
       };
     }
     {
@@ -3494,7 +3494,7 @@
       path = fetchurl {
         name = "css_font_size_keywords___css_font_size_keywords_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz";
-        sha1 = "854875ace9aca6a8d2ee0d345a44aae9bb6db6cb";
+        sha1 = "hUh1rOmspqjS7g00WkSq6btttss=";
       };
     }
     {
@@ -3502,7 +3502,7 @@
       path = fetchurl {
         name = "css_font_stretch_keywords___css_font_stretch_keywords_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz";
-        sha1 = "50cee9b9ba031fb5c952d4723139f1e107b54b10";
+        sha1 = "UM7puboDH7XJUtRyMTnx4Qe1SxA=";
       };
     }
     {
@@ -3510,7 +3510,7 @@
       path = fetchurl {
         name = "css_font_style_keywords___css_font_style_keywords_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz";
-        sha1 = "5c3532813f63b4a1de954d13cea86ab4333409e4";
+        sha1 = "XDUygT9jtKHelU0TzqhqtDM0CeQ=";
       };
     }
     {
@@ -3518,7 +3518,7 @@
       path = fetchurl {
         name = "css_font_weight_keywords___css_font_weight_keywords_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz";
-        sha1 = "9bc04671ac85bc724b574ef5d3ac96b0d604fd97";
+        sha1 = "m8BGcayFvHJLV07106yWsNYE/Zc=";
       };
     }
     {
@@ -3526,7 +3526,7 @@
       path = fetchurl {
         name = "css_global_keywords___css_global_keywords_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/css-global-keywords/-/css-global-keywords-1.0.1.tgz";
-        sha1 = "72a9aea72796d019b1d2a3252de4e5aaa37e4a69";
+        sha1 = "cqmupyeW0Bmx0qMlLeTlqqN+Smk=";
       };
     }
     {
@@ -3534,7 +3534,7 @@
       path = fetchurl {
         name = "css_list_helpers___css_list_helpers_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/css-list-helpers/-/css-list-helpers-1.0.1.tgz";
-        sha1 = "fff57192202db83240c41686f919e449a7024f7d";
+        sha1 = "//VxkiAtuDJAxBaG+RnkSacCT30=";
       };
     }
     {
@@ -3542,7 +3542,7 @@
       path = fetchurl {
         name = "css_loader___css_loader_5.2.6.tgz";
         url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.6.tgz";
-        sha1 = "c3c82ab77fea1f360e587d871a6811f4450cc8d1";
+        sha512 = "0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w==";
       };
     }
     {
@@ -3550,7 +3550,7 @@
       path = fetchurl {
         name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
-        sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7";
+        sha512 = "jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==";
       };
     }
     {
@@ -3558,7 +3558,7 @@
       path = fetchurl {
         name = "css_select___css_select_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz";
-        sha1 = "6a34653356635934a81baca68d0255432105dbef";
+        sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
       };
     }
     {
@@ -3566,7 +3566,7 @@
       path = fetchurl {
         name = "css_system_font_keywords___css_system_font_keywords_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz";
-        sha1 = "85c6f086aba4eb32c571a3086affc434b84823ed";
+        sha1 = "hcbwhquk6zLFcaMIav/ENLhII+0=";
       };
     }
     {
@@ -3574,7 +3574,7 @@
       path = fetchurl {
         name = "css_tree___css_tree_1.0.0_alpha.37.tgz";
         url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz";
-        sha1 = "98bebd62c4c1d9f960ec340cf9f7522e30709a22";
+        sha512 = "DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==";
       };
     }
     {
@@ -3582,7 +3582,7 @@
       path = fetchurl {
         name = "css_tree___css_tree_1.0.0_alpha.39.tgz";
         url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz";
-        sha1 = "2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb";
+        sha512 = "7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==";
       };
     }
     {
@@ -3590,7 +3590,7 @@
       path = fetchurl {
         name = "css_what___css_what_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz";
-        sha1 = "10fec696a9ece2e591ac772d759aacabac38cd39";
+        sha512 = "pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==";
       };
     }
     {
@@ -3598,7 +3598,7 @@
       path = fetchurl {
         name = "css.escape___css.escape_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz";
-        sha1 = "42e27d4fa04ae32f931a4b4d4191fa9cddee97cb";
+        sha1 = "QuJ9T6BK4y+TGktNQZH6nN3ul8s=";
       };
     }
     {
@@ -3606,7 +3606,7 @@
       path = fetchurl {
         name = "css___css_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz";
-        sha1 = "4447a4d58fdd03367c516ca9f64ae365cee4aa5d";
+        sha512 = "DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==";
       };
     }
     {
@@ -3614,7 +3614,7 @@
       path = fetchurl {
         name = "cssesc___cssesc_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz";
-        sha1 = "37741919903b868565e1c09ea747445cd18983ee";
+        sha512 = "/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==";
       };
     }
     {
@@ -3622,7 +3622,7 @@
       path = fetchurl {
         name = "cssnano_preset_default___cssnano_preset_default_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz";
-        sha1 = "920622b1fc1e95a34e8838203f1397a504f2d3ff";
+        sha512 = "LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==";
       };
     }
     {
@@ -3630,7 +3630,7 @@
       path = fetchurl {
         name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
-        sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+        sha1 = "7ToIKZ8h11dBsg87gfGU7UnMFQ8=";
       };
     }
     {
@@ -3638,7 +3638,7 @@
       path = fetchurl {
         name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
-        sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+        sha1 = "wOTKB/U4a7F+xeUiULT1lhNlFW0=";
       };
     }
     {
@@ -3646,7 +3646,7 @@
       path = fetchurl {
         name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
-        sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282";
+        sha512 = "qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==";
       };
     }
     {
@@ -3654,7 +3654,7 @@
       path = fetchurl {
         name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
-        sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3";
+        sha512 = "WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==";
       };
     }
     {
@@ -3662,7 +3662,7 @@
       path = fetchurl {
         name = "cssnano___cssnano_4.1.11.tgz";
         url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz";
-        sha1 = "c7b5f5b81da269cb1fd982cb960c1200910c9a99";
+        sha512 = "6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==";
       };
     }
     {
@@ -3670,7 +3670,7 @@
       path = fetchurl {
         name = "csso___csso_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz";
-        sha1 = "0d9985dc852c7cc2b2cacfbbe1079014d1a8e903";
+        sha512 = "NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==";
       };
     }
     {
@@ -3678,7 +3678,7 @@
       path = fetchurl {
         name = "cssom___cssom_0.4.4.tgz";
         url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz";
-        sha1 = "5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10";
+        sha512 = "p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==";
       };
     }
     {
@@ -3686,7 +3686,7 @@
       path = fetchurl {
         name = "cssom___cssom_0.3.8.tgz";
         url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
-        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
       };
     }
     {
@@ -3694,7 +3694,7 @@
       path = fetchurl {
         name = "cssstyle___cssstyle_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz";
-        sha1 = "ff665a0ddbdc31864b09647f34163443d90b0852";
+        sha512 = "AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==";
       };
     }
     {
@@ -3702,7 +3702,7 @@
       path = fetchurl {
         name = "csstype___csstype_2.6.13.tgz";
         url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.13.tgz";
-        sha1 = "a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f";
+        sha512 = "ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==";
       };
     }
     {
@@ -3710,7 +3710,7 @@
       path = fetchurl {
         name = "csstype___csstype_3.0.6.tgz";
         url  = "https://registry.yarnpkg.com/csstype/-/csstype-3.0.6.tgz";
-        sha1 = "865d0b5833d7d8d40f4e5b8a6d76aea3de4725ef";
+        sha512 = "+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==";
       };
     }
     {
@@ -3718,7 +3718,7 @@
       path = fetchurl {
         name = "cyclist___cyclist_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz";
-        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
+        sha1 = "WW6WmP0MgOEgOMK4LW6xs1tiJNk=";
       };
     }
     {
@@ -3726,7 +3726,7 @@
       path = fetchurl {
         name = "d___d_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
-        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
+        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
       };
     }
     {
@@ -3734,7 +3734,7 @@
       path = fetchurl {
         name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz";
-        sha1 = "143c1641cb3d85c60c32329e26899adea8701791";
+        sha512 = "JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==";
       };
     }
     {
@@ -3742,7 +3742,7 @@
       path = fetchurl {
         name = "dashdash___dashdash_1.14.1.tgz";
         url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+        sha1 = "hTz6D3y+L+1d4gMmuN1YEDX24vA=";
       };
     }
     {
@@ -3750,7 +3750,7 @@
       path = fetchurl {
         name = "data_urls___data_urls_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz";
-        sha1 = "156485a72963a970f5d5821aaf642bef2bf2db9b";
+        sha512 = "X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==";
       };
     }
     {
@@ -3758,7 +3758,7 @@
       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==";
       };
     }
     {
@@ -3766,7 +3766,7 @@
       path = fetchurl {
         name = "debug___debug_3.2.7.tgz";
         url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz";
-        sha1 = "72580b7e9145fb39b6676f9c5e5fb100b934179a";
+        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     }
     {
@@ -3774,7 +3774,7 @@
       path = fetchurl {
         name = "debug___debug_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
-        sha1 = "3b72260255109c6b589cee050f1d516139664791";
+        sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
       };
     }
     {
@@ -3782,7 +3782,7 @@
       path = fetchurl {
         name = "decamelize___decamelize_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+        sha1 = "9lNNFRSCabIDUue+4m9QH5oZEpA=";
       };
     }
     {
@@ -3790,7 +3790,7 @@
       path = fetchurl {
         name = "decimal.js___decimal.js_10.2.1.tgz";
         url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz";
-        sha1 = "238ae7b0f0c793d3e3cea410108b35a2c01426a3";
+        sha512 = "KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==";
       };
     }
     {
@@ -3798,7 +3798,7 @@
       path = fetchurl {
         name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+        sha1 = "6zkTMzRYd1y4TNGh+uBiEGu4dUU=";
       };
     }
     {
@@ -3806,7 +3806,7 @@
       path = fetchurl {
         name = "deep_equal___deep_equal_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz";
-        sha1 = "b5c98c942ceffaf7cb051e24e1434a25a2e6076a";
+        sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==";
       };
     }
     {
@@ -3814,7 +3814,7 @@
       path = fetchurl {
         name = "deep_extend___deep_extend_0.5.1.tgz";
         url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz";
-        sha1 = "b894a9dd90d3023fbf1c55a394fb858eb2066f1f";
+        sha512 = "N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==";
       };
     }
     {
@@ -3822,7 +3822,7 @@
       path = fetchurl {
         name = "deep_is___deep_is_0.1.3.tgz";
         url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
-        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+        sha1 = "s2nW+128E+7PUk+RsHD+7cNXzzQ=";
       };
     }
     {
@@ -3830,7 +3830,7 @@
       path = fetchurl {
         name = "deepmerge___deepmerge_4.2.2.tgz";
         url  = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz";
-        sha1 = "44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     }
     {
@@ -3838,7 +3838,7 @@
       path = fetchurl {
         name = "default_gateway___default_gateway_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz";
-        sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b";
+        sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
       };
     }
     {
@@ -3846,7 +3846,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==";
       };
     }
     {
@@ -3854,7 +3854,7 @@
       path = fetchurl {
         name = "define_property___define_property_0.2.5.tgz";
         url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
-        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+        sha1 = "w1se+RjsPJkPmlvFe+BKrOxcgRY=";
       };
     }
     {
@@ -3862,7 +3862,7 @@
       path = fetchurl {
         name = "define_property___define_property_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
-        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+        sha1 = "dp66rz9KY6rTr56NMEybvnm/sOY=";
       };
     }
     {
@@ -3870,7 +3870,7 @@
       path = fetchurl {
         name = "define_property___define_property_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
-        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+        sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
       };
     }
     {
@@ -3878,7 +3878,7 @@
       path = fetchurl {
         name = "del___del_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz";
-        sha1 = "9e8f117222ea44a31ff3a156c049b99052a9f0b4";
+        sha512 = "QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==";
       };
     }
     {
@@ -3886,7 +3886,7 @@
       path = fetchurl {
         name = "delayed_stream___delayed_stream_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+        sha1 = "3zrhmayt+31ECqrgsp4icrJOxhk=";
       };
     }
     {
@@ -3894,7 +3894,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=";
       };
     }
     {
@@ -3902,7 +3902,7 @@
       path = fetchurl {
         name = "denque___denque_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/denque/-/denque-1.5.0.tgz";
-        sha1 = "773de0686ff2d8ec2ff92914316a47b73b1c73de";
+        sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
       };
     }
     {
@@ -3910,7 +3910,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=";
       };
     }
     {
@@ -3918,7 +3918,7 @@
       path = fetchurl {
         name = "des.js___des.js_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz";
-        sha1 = "5382142e1bdc53f85d86d53e5f4aa7deb91e0843";
+        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
       };
     }
     {
@@ -3926,7 +3926,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=";
       };
     }
     {
@@ -3934,7 +3934,7 @@
       path = fetchurl {
         name = "detect_file___detect_file_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz";
-        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+        sha1 = "8NZtA2cqglyxtzvbP+YjEMjlUrc=";
       };
     }
     {
@@ -3942,7 +3942,7 @@
       path = fetchurl {
         name = "detect_it___detect_it_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/detect-it/-/detect-it-4.0.1.tgz";
-        sha1 = "3f8de6b8330f5086270571251bedf10aec049e18";
+        sha512 = "dg5YBTJYvogK1+dA2mBUDKzOWfYZtHVba89SyZUhc4+e3i2tzgjANFg5lDRCd3UOtRcw00vUTMK8LELcMdicug==";
       };
     }
     {
@@ -3950,7 +3950,7 @@
       path = fetchurl {
         name = "detect_newline___detect_newline_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz";
-        sha1 = "576f5dfc63ae1a192ff192d8ad3af6308991b651";
+        sha512 = "TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==";
       };
     }
     {
@@ -3958,7 +3958,7 @@
       path = fetchurl {
         name = "detect_node___detect_node_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz";
-        sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c";
+        sha512 = "ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==";
       };
     }
     {
@@ -3966,7 +3966,7 @@
       path = fetchurl {
         name = "detect_passive_events___detect_passive_events_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-2.0.3.tgz";
-        sha1 = "1f75ebf80660a66c615d8be23c3241cdda6977e0";
+        sha512 = "QN/1X65Axis6a9D8qg8Py9cwY/fkWAmAH/edTbmLMcv4m5dboLJ7LcAi8CfaCON2tjk904KwKX/HTdsHC6yeRg==";
       };
     }
     {
@@ -3974,7 +3974,7 @@
       path = fetchurl {
         name = "diff_sequences___diff_sequences_25.2.6.tgz";
         url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz";
-        sha1 = "5f467c00edd35352b7bca46d7927d60e687a76dd";
+        sha512 = "Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==";
       };
     }
     {
@@ -3982,7 +3982,7 @@
       path = fetchurl {
         name = "diff_sequences___diff_sequences_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz";
-        sha1 = "48ba99157de1923412eed41db6b6d4aa9ca7c0b1";
+        sha512 = "Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==";
       };
     }
     {
@@ -3990,7 +3990,7 @@
       path = fetchurl {
         name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
         url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
-        sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875";
+        sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==";
       };
     }
     {
@@ -3998,7 +3998,7 @@
       path = fetchurl {
         name = "dns_equal___dns_equal_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz";
-        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+        sha1 = "s55/HabrCnW6nBcySzR1PEfgZU0=";
       };
     }
     {
@@ -4006,7 +4006,7 @@
       path = fetchurl {
         name = "dns_packet___dns_packet_1.3.4.tgz";
         url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz";
-        sha1 = "e3455065824a2507ba886c55a89963bb107dec6f";
+        sha512 = "BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==";
       };
     }
     {
@@ -4014,7 +4014,7 @@
       path = fetchurl {
         name = "dns_txt___dns_txt_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz";
-        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+        sha1 = "uR2Ab10nGI5Ks+fRB9iBocxGQrY=";
       };
     }
     {
@@ -4022,7 +4022,7 @@
       path = fetchurl {
         name = "doctrine___doctrine_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
-        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+        sha1 = "N53Ocw9hZvds76TmcHoVmwLFpvo=";
       };
     }
     {
@@ -4030,7 +4030,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==";
       };
     }
     {
@@ -4038,7 +4038,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==";
       };
     }
     {
@@ -4046,7 +4046,7 @@
       path = fetchurl {
         name = "dom_accessibility_api___dom_accessibility_api_0.5.4.tgz";
         url  = "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz";
-        sha1 = "b06d059cdd4a4ad9a79275f9d414a5c126241166";
+        sha512 = "TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==";
       };
     }
     {
@@ -4054,7 +4054,7 @@
       path = fetchurl {
         name = "dom_helpers___dom_helpers_3.4.0.tgz";
         url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz";
-        sha1 = "e9b369700f959f62ecde5a6babde4bccd9169af8";
+        sha512 = "LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==";
       };
     }
     {
@@ -4062,7 +4062,7 @@
       path = fetchurl {
         name = "dom_helpers___dom_helpers_5.1.3.tgz";
         url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.3.tgz";
-        sha1 = "7233248eb3a2d1f74aafca31e52c5299cc8ce821";
+        sha512 = "nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw==";
       };
     }
     {
@@ -4070,7 +4070,7 @@
       path = fetchurl {
         name = "dom_serializer___dom_serializer_0.2.2.tgz";
         url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz";
-        sha1 = "1afb81f533717175d478655debc5e332d9f9bb51";
+        sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     }
     {
@@ -4078,7 +4078,7 @@
       path = fetchurl {
         name = "domain_browser___domain_browser_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz";
-        sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda";
+        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
       };
     }
     {
@@ -4086,7 +4086,7 @@
       path = fetchurl {
         name = "domelementtype___domelementtype_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz";
-        sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f";
+        sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     }
     {
@@ -4094,7 +4094,7 @@
       path = fetchurl {
         name = "domelementtype___domelementtype_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz";
-        sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d";
+        sha512 = "5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==";
       };
     }
     {
@@ -4102,7 +4102,7 @@
       path = fetchurl {
         name = "domexception___domexception_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz";
-        sha1 = "fb44aefba793e1574b0af6aed2801d057529f304";
+        sha512 = "yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==";
       };
     }
     {
@@ -4110,7 +4110,7 @@
       path = fetchurl {
         name = "domutils___domutils_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz";
-        sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a";
+        sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
       };
     }
     {
@@ -4118,7 +4118,7 @@
       path = fetchurl {
         name = "dot_prop___dot_prop_5.3.0.tgz";
         url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz";
-        sha1 = "90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88";
+        sha512 = "QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==";
       };
     }
     {
@@ -4126,7 +4126,7 @@
       path = fetchurl {
         name = "dotenv___dotenv_9.0.2.tgz";
         url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz";
-        sha1 = "dacc20160935a37dea6364aa1bef819fb9b6ab05";
+        sha512 = "I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==";
       };
     }
     {
@@ -4134,7 +4134,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==";
       };
     }
     {
@@ -4142,7 +4142,7 @@
       path = fetchurl {
         name = "duplexify___duplexify_3.7.1.tgz";
         url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
-        sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
+        sha512 = "07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==";
       };
     }
     {
@@ -4150,7 +4150,7 @@
       path = fetchurl {
         name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
-        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+        sha1 = "OoOpBOVDUyh4dMVkt1SThoSamMk=";
       };
     }
     {
@@ -4158,7 +4158,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=";
       };
     }
     {
@@ -4166,7 +4166,7 @@
       path = fetchurl {
         name = "ejs___ejs_2.7.4.tgz";
         url  = "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz";
-        sha1 = "48661287573dcc53e366c7a1ae52c3a120eec9ba";
+        sha512 = "7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==";
       };
     }
     {
@@ -4174,7 +4174,7 @@
       path = fetchurl {
         name = "electron_to_chromium___electron_to_chromium_1.3.736.tgz";
         url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz";
-        sha1 = "f632d900a1f788dab22fec9c62ec5c9c8f0c4052";
+        sha512 = "DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==";
       };
     }
     {
@@ -4182,7 +4182,7 @@
       path = fetchurl {
         name = "elliptic___elliptic_6.5.4.tgz";
         url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz";
-        sha1 = "da37cebd31e79a1367e941b592ed1fbebd58abbb";
+        sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
       };
     }
     {
@@ -4190,7 +4190,7 @@
       path = fetchurl {
         name = "emittery___emittery_0.7.1.tgz";
         url  = "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz";
-        sha1 = "c02375a927a40948c0345cc903072597f5270451";
+        sha512 = "d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ==";
       };
     }
     {
@@ -4198,7 +4198,7 @@
       path = fetchurl {
         name = "emoji_mart___emoji_mart_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/emoji-mart/-/emoji-mart-3.0.1.tgz";
-        sha1 = "9ce86706e02aea0506345f98464814a662ca54c6";
+        sha512 = "sxpmMKxqLvcscu6mFn9ITHeZNkGzIvD0BSNFE/LJESPbCA8s1jM6bCDPjWbV31xHq7JXaxgpHxLB54RCbBZSlg==";
       };
     }
     {
@@ -4206,7 +4206,7 @@
       path = fetchurl {
         name = "emoji_regex___emoji_regex_7.0.3.tgz";
         url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
-        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
       };
     }
     {
@@ -4214,7 +4214,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==";
       };
     }
     {
@@ -4222,7 +4222,7 @@
       path = fetchurl {
         name = "emoji_regex___emoji_regex_9.0.0.tgz";
         url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.0.0.tgz";
-        sha1 = "48a2309cc8a1d2e9d23bc6a67c39b63032e76ea4";
+        sha512 = "6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==";
       };
     }
     {
@@ -4230,7 +4230,7 @@
       path = fetchurl {
         name = "emojis_list___emojis_list_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
-        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+        sha1 = "TapNnbAPmBmIDHn6RXrlsJof04k=";
       };
     }
     {
@@ -4238,7 +4238,7 @@
       path = fetchurl {
         name = "emojis_list___emojis_list_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz";
-        sha1 = "5570662046ad29e2e916e71aae260abdff4f6a78";
+        sha512 = "/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==";
       };
     }
     {
@@ -4246,7 +4246,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=";
       };
     }
     {
@@ -4254,7 +4254,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==";
       };
     }
     {
@@ -4262,7 +4262,7 @@
       path = fetchurl {
         name = "enhanced_resolve___enhanced_resolve_4.5.0.tgz";
         url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz";
-        sha1 = "2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec";
+        sha512 = "Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==";
       };
     }
     {
@@ -4270,7 +4270,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==";
       };
     }
     {
@@ -4278,7 +4278,7 @@
       path = fetchurl {
         name = "entities___entities_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz";
-        sha1 = "5c487e5742ab93c15abb5da22759b8590ec03b7f";
+        sha512 = "MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==";
       };
     }
     {
@@ -4286,7 +4286,7 @@
       path = fetchurl {
         name = "errno___errno_0.1.7.tgz";
         url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
-        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+        sha512 = "MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==";
       };
     }
     {
@@ -4294,7 +4294,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==";
       };
     }
     {
@@ -4302,7 +4302,7 @@
       path = fetchurl {
         name = "error_stack_parser___error_stack_parser_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz";
-        sha1 = "5a99a707bd7a4c58a797902d48d82803ede6aad8";
+        sha512 = "d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==";
       };
     }
     {
@@ -4310,7 +4310,7 @@
       path = fetchurl {
         name = "es_abstract___es_abstract_1.17.7.tgz";
         url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz";
-        sha1 = "a4de61b2f66989fc7421676c1cb9787573ace54c";
+        sha512 = "VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==";
       };
     }
     {
@@ -4318,7 +4318,7 @@
       path = fetchurl {
         name = "es_abstract___es_abstract_1.18.0_next.2.tgz";
         url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz";
-        sha1 = "088101a55f0541f595e7e057199e27ddc8f3a5c2";
+        sha512 = "Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==";
       };
     }
     {
@@ -4326,7 +4326,7 @@
       path = fetchurl {
         name = "es_abstract___es_abstract_1.18.3.tgz";
         url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz";
-        sha1 = "25c4c3380a27aa203c44b2b685bba94da31b63e0";
+        sha512 = "nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==";
       };
     }
     {
@@ -4334,7 +4334,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==";
       };
     }
     {
@@ -4342,7 +4342,7 @@
       path = fetchurl {
         name = "es5_ext___es5_ext_0.10.53.tgz";
         url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz";
-        sha1 = "93c5a3acfdbef275220ad72644ad02ee18368de1";
+        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
       };
     }
     {
@@ -4350,7 +4350,7 @@
       path = fetchurl {
         name = "es6_iterator___es6_iterator_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
-        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+        sha1 = "p96IkUGgWpSwhUQDstCg+/qY87c=";
       };
     }
     {
@@ -4358,7 +4358,7 @@
       path = fetchurl {
         name = "es6_map___es6_map_0.1.5.tgz";
         url  = "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz";
-        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
+        sha1 = "kTbgUD3MBqMBaQ8LsU/042TpSfA=";
       };
     }
     {
@@ -4366,7 +4366,7 @@
       path = fetchurl {
         name = "es6_set___es6_set_0.1.5.tgz";
         url  = "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz";
-        sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
+        sha1 = "0rPsXU2ADO2BjbU40ol02wpzzLE=";
       };
     }
     {
@@ -4374,7 +4374,7 @@
       path = fetchurl {
         name = "es6_symbol___es6_symbol_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz";
-        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+        sha1 = "vwDvT9q2uhtG7Le2KbTH7VcVzHc=";
       };
     }
     {
@@ -4382,7 +4382,7 @@
       path = fetchurl {
         name = "es6_symbol___es6_symbol_3.1.3.tgz";
         url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz";
-        sha1 = "bad5d3c1bcdac28269f4cb331e431c78ac705d18";
+        sha512 = "NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==";
       };
     }
     {
@@ -4390,7 +4390,7 @@
       path = fetchurl {
         name = "es6_weak_map___es6_weak_map_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz";
-        sha1 = "b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53";
+        sha512 = "p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==";
       };
     }
     {
@@ -4398,7 +4398,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==";
       };
     }
     {
@@ -4406,7 +4406,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=";
       };
     }
     {
@@ -4414,7 +4414,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=";
       };
     }
     {
@@ -4422,7 +4422,7 @@
       path = fetchurl {
         name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
-        sha1 = "a30304e99daa32e23b2fd20f51babd07cffca344";
+        sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==";
       };
     }
     {
@@ -4430,7 +4430,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==";
       };
     }
     {
@@ -4438,7 +4438,7 @@
       path = fetchurl {
         name = "escodegen___escodegen_1.14.3.tgz";
         url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz";
-        sha1 = "4e7b81fba61581dc97582ed78cab7f0e8d63f503";
+        sha512 = "qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==";
       };
     }
     {
@@ -4446,7 +4446,7 @@
       path = fetchurl {
         name = "escope___escope_3.6.0.tgz";
         url  = "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz";
-        sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
+        sha1 = "4Bl16BJ4GhY6ba392AOY3GTIicM=";
       };
     }
     {
@@ -4454,7 +4454,7 @@
       path = fetchurl {
         name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.4.tgz";
         url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz";
-        sha1 = "85ffa81942c25012d8231096ddf679c03042c717";
+        sha512 = "ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==";
       };
     }
     {
@@ -4462,7 +4462,7 @@
       path = fetchurl {
         name = "eslint_module_utils___eslint_module_utils_2.6.1.tgz";
         url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz";
-        sha1 = "b51be1e473dd0de1c5ea638e22429c2490ea8233";
+        sha512 = "ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==";
       };
     }
     {
@@ -4470,7 +4470,7 @@
       path = fetchurl {
         name = "eslint_plugin_import___eslint_plugin_import_2.23.4.tgz";
         url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz";
-        sha1 = "8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97";
+        sha512 = "6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==";
       };
     }
     {
@@ -4478,7 +4478,7 @@
       path = fetchurl {
         name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.4.1.tgz";
         url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz";
-        sha1 = "a2d84caa49756942f42f1ffab9002436391718fd";
+        sha512 = "0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==";
       };
     }
     {
@@ -4486,7 +4486,7 @@
       path = fetchurl {
         name = "eslint_plugin_promise___eslint_plugin_promise_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz";
-        sha1 = "fb2188fb734e4557993733b41aa1a688f46c6f24";
+        sha512 = "NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==";
       };
     }
     {
@@ -4494,7 +4494,7 @@
       path = fetchurl {
         name = "eslint_plugin_react___eslint_plugin_react_7.24.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz";
-        sha1 = "eadedfa351a6f36b490aa17f4fa9b14e842b9eb4";
+        sha512 = "KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q==";
       };
     }
     {
@@ -4502,7 +4502,7 @@
       path = fetchurl {
         name = "eslint_scope___eslint_scope_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz";
-        sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848";
+        sha512 = "p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==";
       };
     }
     {
@@ -4510,7 +4510,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==";
       };
     }
     {
@@ -4518,7 +4518,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==";
       };
     }
     {
@@ -4526,7 +4526,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==";
       };
     }
     {
@@ -4534,7 +4534,7 @@
       path = fetchurl {
         name = "eslint_visitor_keys___eslint_visitor_keys_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz";
-        sha1 = "21fdc8fbcd9c795cc0321f0563702095751511a8";
+        sha512 = "QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==";
       };
     }
     {
@@ -4542,7 +4542,7 @@
       path = fetchurl {
         name = "eslint___eslint_2.13.1.tgz";
         url  = "https://registry.yarnpkg.com/eslint/-/eslint-2.13.1.tgz";
-        sha1 = "e4cc8fa0f009fb829aaae23855a29360be1f6c11";
+        sha1 = "5MyPoPAJ+4KaquI4VaKTYL4fbBE=";
       };
     }
     {
@@ -4550,7 +4550,7 @@
       path = fetchurl {
         name = "eslint___eslint_7.27.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.27.0.tgz";
-        sha1 = "665a1506d8f95655c9274d84bd78f7166b07e9c7";
+        sha512 = "JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==";
       };
     }
     {
@@ -4558,7 +4558,7 @@
       path = fetchurl {
         name = "espree___espree_3.5.4.tgz";
         url  = "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz";
-        sha1 = "b0f447187c8a8bed944b815a660bddf5deb5d1a7";
+        sha512 = "yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==";
       };
     }
     {
@@ -4566,7 +4566,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==";
       };
     }
     {
@@ -4574,7 +4574,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==";
       };
     }
     {
@@ -4582,7 +4582,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==";
       };
     }
     {
@@ -4590,7 +4590,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==";
       };
     }
     {
@@ -4598,7 +4598,7 @@
       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==";
       };
     }
     {
@@ -4606,7 +4606,7 @@
       path = fetchurl {
         name = "estraverse___estraverse_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz";
-        sha1 = "307df42547e6cc7324d3cf03c155d5cdb8c53880";
+        sha512 = "BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==";
       };
     }
     {
@@ -4614,7 +4614,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==";
       };
     }
     {
@@ -4622,7 +4622,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=";
       };
     }
     {
@@ -4630,7 +4630,7 @@
       path = fetchurl {
         name = "event_emitter___event_emitter_0.3.5.tgz";
         url  = "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz";
-        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+        sha1 = "34xp7vFkeSPHFXuc6DhAYQsCzDk=";
       };
     }
     {
@@ -4638,7 +4638,7 @@
       path = fetchurl {
         name = "eventemitter3___eventemitter3_4.0.7.tgz";
         url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz";
-        sha1 = "2de9b68f6528d5644ef5c59526a1b4a07306169f";
+        sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
       };
     }
     {
@@ -4646,7 +4646,7 @@
       path = fetchurl {
         name = "events___events_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz";
-        sha1 = "93b87c18f8efcd4202a461aec4dfc0556b639379";
+        sha512 = "/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==";
       };
     }
     {
@@ -4654,7 +4654,7 @@
       path = fetchurl {
         name = "eventsource___eventsource_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
-        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+        sha512 = "4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==";
       };
     }
     {
@@ -4662,7 +4662,7 @@
       path = fetchurl {
         name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
-        sha1 = "7fcbdb198dc71959432efe13842684e0525acb02";
+        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
       };
     }
     {
@@ -4670,7 +4670,7 @@
       path = fetchurl {
         name = "exec_sh___exec_sh_0.3.4.tgz";
         url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz";
-        sha1 = "3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5";
+        sha512 = "sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==";
       };
     }
     {
@@ -4678,7 +4678,7 @@
       path = fetchurl {
         name = "execa___execa_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
-        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+        sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
       };
     }
     {
@@ -4686,7 +4686,7 @@
       path = fetchurl {
         name = "execa___execa_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz";
-        sha1 = "4e5491ad1572f2f17a77d388c6c857135b22847a";
+        sha512 = "j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==";
       };
     }
     {
@@ -4694,7 +4694,7 @@
       path = fetchurl {
         name = "exif_js___exif_js_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/exif-js/-/exif-js-2.3.0.tgz";
-        sha1 = "9d10819bf571f873813e7640241255ab9ce1a814";
+        sha1 = "nRCBm/Vx+HOBPnZAJBJVq5zhqBQ=";
       };
     }
     {
@@ -4702,7 +4702,7 @@
       path = fetchurl {
         name = "exit_hook___exit_hook_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz";
-        sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8";
+        sha1 = "8FyiM7SMBdVP/wd2XfhQfpXAL/g=";
       };
     }
     {
@@ -4710,7 +4710,7 @@
       path = fetchurl {
         name = "exit___exit_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
-        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+        sha1 = "BjJjj42HfMghB9MKD/8aF8uhzQw=";
       };
     }
     {
@@ -4718,7 +4718,7 @@
       path = fetchurl {
         name = "expand_brackets___expand_brackets_2.1.4.tgz";
         url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
-        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+        sha1 = "t3c14xXOMPa27/D4OwQVGiJEliI=";
       };
     }
     {
@@ -4726,7 +4726,7 @@
       path = fetchurl {
         name = "expand_tilde___expand_tilde_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz";
-        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+        sha1 = "l+gBqgUt8CRU3kawK/YhZCzchQI=";
       };
     }
     {
@@ -4734,7 +4734,7 @@
       path = fetchurl {
         name = "expect___expect_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz";
-        sha1 = "c6b996bf26bf3fe18b67b2d0f51fc981ba934417";
+        sha512 = "9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==";
       };
     }
     {
@@ -4742,7 +4742,7 @@
       path = fetchurl {
         name = "express___express_4.17.1.tgz";
         url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
-        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
       };
     }
     {
@@ -4750,7 +4750,7 @@
       path = fetchurl {
         name = "ext___ext_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz";
-        sha1 = "89ae7a07158f79d35517882904324077e4379244";
+        sha512 = "Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==";
       };
     }
     {
@@ -4758,7 +4758,7 @@
       path = fetchurl {
         name = "extend_shallow___extend_shallow_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
-        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+        sha1 = "Ua99YUrZqfYQ6huvu5idaxxWiQ8=";
       };
     }
     {
@@ -4766,7 +4766,7 @@
       path = fetchurl {
         name = "extend_shallow___extend_shallow_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
-        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+        sha1 = "Jqcarwc7OfshJxcnRhMcJwQCjbg=";
       };
     }
     {
@@ -4774,7 +4774,7 @@
       path = fetchurl {
         name = "extend___extend_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
-        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
       };
     }
     {
@@ -4782,7 +4782,7 @@
       path = fetchurl {
         name = "extglob___extglob_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
-        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
       };
     }
     {
@@ -4790,7 +4790,7 @@
       path = fetchurl {
         name = "extsprintf___extsprintf_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+        sha1 = "lpGEQOMEGnpBT4xS48V06zw+HgU=";
       };
     }
     {
@@ -4798,7 +4798,7 @@
       path = fetchurl {
         name = "extsprintf___extsprintf_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
-        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+        sha1 = "4mifjzVvrWLMplo6kcXfX5VRaS8=";
       };
     }
     {
@@ -4806,7 +4806,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==";
       };
     }
     {
@@ -4814,7 +4814,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==";
       };
     }
     {
@@ -4822,7 +4822,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=";
       };
     }
     {
@@ -4830,7 +4830,7 @@
       path = fetchurl {
         name = "faye_websocket___faye_websocket_0.11.3.tgz";
         url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz";
-        sha1 = "5c0e9a8968e8912c286639fde977a8b209f2508e";
+        sha512 = "D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==";
       };
     }
     {
@@ -4838,7 +4838,7 @@
       path = fetchurl {
         name = "fb_watchman___fb_watchman_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz";
-        sha1 = "fc84fb39d2709cf3ff6d743706157bb5708a8a85";
+        sha512 = "DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==";
       };
     }
     {
@@ -4846,7 +4846,7 @@
       path = fetchurl {
         name = "figgy_pudding___figgy_pudding_3.5.2.tgz";
         url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz";
-        sha1 = "b4eee8148abb01dcf1d1ac34367d59e12fa61d6e";
+        sha512 = "0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==";
       };
     }
     {
@@ -4854,7 +4854,7 @@
       path = fetchurl {
         name = "figures___figures_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz";
-        sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
+        sha1 = "y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=";
       };
     }
     {
@@ -4862,7 +4862,7 @@
       path = fetchurl {
         name = "file_entry_cache___file_entry_cache_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz";
-        sha1 = "44c61ea607ae4be9c1402f41f44270cbfe334ff8";
+        sha1 = "RMYepgeuS+nBQC9B9EJwy/4zT/g=";
       };
     }
     {
@@ -4870,7 +4870,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==";
       };
     }
     {
@@ -4878,7 +4878,7 @@
       path = fetchurl {
         name = "file_loader___file_loader_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz";
-        sha1 = "baef7cf8e1840df325e4390b4484879480eebe4d";
+        sha512 = "qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==";
       };
     }
     {
@@ -4886,7 +4886,7 @@
       path = fetchurl {
         name = "file_type___file_type_12.4.2.tgz";
         url  = "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz";
-        sha1 = "a344ea5664a1d01447ee7fb1b635f72feb6169d9";
+        sha512 = "UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==";
       };
     }
     {
@@ -4894,7 +4894,7 @@
       path = fetchurl {
         name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
-        sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd";
+        sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
       };
     }
     {
@@ -4902,7 +4902,7 @@
       path = fetchurl {
         name = "fill_range___fill_range_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
-        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+        sha1 = "1USBHUKPmOsGpj3EAtJAPDKMOPc=";
       };
     }
     {
@@ -4910,7 +4910,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==";
       };
     }
     {
@@ -4918,7 +4918,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==";
       };
     }
     {
@@ -4926,7 +4926,7 @@
       path = fetchurl {
         name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
-        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+        sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==";
       };
     }
     {
@@ -4934,7 +4934,7 @@
       path = fetchurl {
         name = "find_cache_dir___find_cache_dir_3.3.1.tgz";
         url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz";
-        sha1 = "89b33fad4a4670daa94f855f7fbe31d6d84fe880";
+        sha512 = "t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==";
       };
     }
     {
@@ -4942,7 +4942,7 @@
       path = fetchurl {
         name = "find_up___find_up_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
-        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+        sha1 = "RdG35QbHF93UgndaK3eSCjwMV6c=";
       };
     }
     {
@@ -4950,7 +4950,7 @@
       path = fetchurl {
         name = "find_up___find_up_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
-        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
       };
     }
     {
@@ -4958,7 +4958,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==";
       };
     }
     {
@@ -4966,7 +4966,7 @@
       path = fetchurl {
         name = "findup_sync___findup_sync_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz";
-        sha1 = "17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1";
+        sha512 = "YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==";
       };
     }
     {
@@ -4974,7 +4974,7 @@
       path = fetchurl {
         name = "flat_cache___flat_cache_1.3.4.tgz";
         url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz";
-        sha1 = "2c2ef77525cc2929007dfffa1dd314aa9c9dee6f";
+        sha512 = "VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==";
       };
     }
     {
@@ -4982,7 +4982,7 @@
       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==";
       };
     }
     {
@@ -4990,7 +4990,7 @@
       path = fetchurl {
         name = "flatted___flatted_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz";
-        sha1 = "a5d06b4a8b01e3a63771daa5cb7a1903e2e57067";
+        sha512 = "tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==";
       };
     }
     {
@@ -4998,7 +4998,7 @@
       path = fetchurl {
         name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
-        sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8";
+        sha512 = "3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==";
       };
     }
     {
@@ -5006,7 +5006,7 @@
       path = fetchurl {
         name = "follow_redirects___follow_redirects_1.13.0.tgz";
         url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz";
-        sha1 = "b42e8d93a2a7eea5ed88633676d6597bc8e384db";
+        sha512 = "aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==";
       };
     }
     {
@@ -5014,7 +5014,7 @@
       path = fetchurl {
         name = "font_awesome___font_awesome_4.7.0.tgz";
         url  = "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz";
-        sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133";
+        sha1 = "j6jPBBGhoxr9B7BtKQK7n8gVoTM=";
       };
     }
     {
@@ -5022,7 +5022,7 @@
       path = fetchurl {
         name = "for_in___for_in_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
-        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+        sha1 = "gQaNKVqBQuwKxybG4iAMMPttXoA=";
       };
     }
     {
@@ -5030,7 +5030,7 @@
       path = fetchurl {
         name = "forever_agent___forever_agent_0.6.1.tgz";
         url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+        sha1 = "+8cfDEGt6zf5bFd60e1C2P2sypE=";
       };
     }
     {
@@ -5038,7 +5038,7 @@
       path = fetchurl {
         name = "form_data___form_data_2.3.3.tgz";
         url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
-        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
       };
     }
     {
@@ -5046,7 +5046,7 @@
       path = fetchurl {
         name = "forwarded___forwarded_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
-        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+        sha1 = "mMI9qxF1ZXuMBXPozszZGw/xjIQ=";
       };
     }
     {
@@ -5054,7 +5054,7 @@
       path = fetchurl {
         name = "fragment_cache___fragment_cache_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
-        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+        sha1 = "QpD60n8T6Jvn8zeZxrxaCr//DRk=";
       };
     }
     {
@@ -5062,7 +5062,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=";
       };
     }
     {
@@ -5070,7 +5070,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=";
       };
     }
     {
@@ -5078,7 +5078,7 @@
       path = fetchurl {
         name = "front_matter___front_matter_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/front-matter/-/front-matter-2.1.2.tgz";
-        sha1 = "f75983b9f2f413be658c93dfd7bd8ce4078f5cdb";
+        sha1 = "91mDufL0E75ljJPf172M5AePXNs=";
       };
     }
     {
@@ -5086,7 +5086,7 @@
       path = fetchurl {
         name = "fs_extra___fs_extra_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz";
-        sha1 = "3794f378c58b342ea7dbbb23095109c4b3b62291";
+        sha1 = "N5TzeMWLNC6n27sjCVEJxLO2IpE=";
       };
     }
     {
@@ -5094,7 +5094,7 @@
       path = fetchurl {
         name = "fs_extra___fs_extra_8.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
-        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
       };
     }
     {
@@ -5102,7 +5102,7 @@
       path = fetchurl {
         name = "fs_minipass___fs_minipass_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz";
-        sha1 = "7f5036fdbf12c63c169190cbe4199c852271f9fb";
+        sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
       };
     }
     {
@@ -5110,7 +5110,7 @@
       path = fetchurl {
         name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
         url  = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
-        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+        sha1 = "tH31NJPvkR33VzHnCp3tAYnbQMk=";
       };
     }
     {
@@ -5118,7 +5118,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=";
       };
     }
     {
@@ -5126,7 +5126,7 @@
       path = fetchurl {
         name = "fsevents___fsevents_1.2.13.tgz";
         url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz";
-        sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38";
+        sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
       };
     }
     {
@@ -5134,7 +5134,7 @@
       path = fetchurl {
         name = "fsevents___fsevents_2.1.3.tgz";
         url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz";
-        sha1 = "fb738703ae8d2f9fe900c33836ddebee8b97f23e";
+        sha512 = "Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==";
       };
     }
     {
@@ -5142,7 +5142,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==";
       };
     }
     {
@@ -5150,7 +5150,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==";
       };
     }
     {
@@ -5158,7 +5158,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=";
       };
     }
     {
@@ -5166,7 +5166,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=";
       };
     }
     {
@@ -5174,7 +5174,7 @@
       path = fetchurl {
         name = "generate_function___generate_function_2.3.1.tgz";
         url  = "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz";
-        sha1 = "f069617690c10c868e73b8465746764f97c3479f";
+        sha512 = "eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==";
       };
     }
     {
@@ -5182,7 +5182,7 @@
       path = fetchurl {
         name = "generate_object_property___generate_object_property_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz";
-        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+        sha1 = "nA4cQDCM6AT0eDYYuTf6iPmdUNA=";
       };
     }
     {
@@ -5190,7 +5190,7 @@
       path = fetchurl {
         name = "gensync___gensync_1.0.0_beta.2.tgz";
         url  = "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz";
-        sha1 = "32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0";
+        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
       };
     }
     {
@@ -5198,7 +5198,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==";
       };
     }
     {
@@ -5206,7 +5206,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==";
       };
     }
     {
@@ -5214,7 +5214,7 @@
       path = fetchurl {
         name = "get_package_type___get_package_type_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz";
-        sha1 = "8de2d803cff44df3bc6c456e6668b36c3926e11a";
+        sha512 = "pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==";
       };
     }
     {
@@ -5222,7 +5222,7 @@
       path = fetchurl {
         name = "get_stream___get_stream_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
-        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
       };
     }
     {
@@ -5230,7 +5230,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==";
       };
     }
     {
@@ -5238,7 +5238,7 @@
       path = fetchurl {
         name = "get_value___get_value_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
-        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+        sha1 = "3BXKHGcjh8p2vTesCjlbogQqLCg=";
       };
     }
     {
@@ -5246,7 +5246,7 @@
       path = fetchurl {
         name = "getpass___getpass_0.1.7.tgz";
         url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
-        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+        sha1 = "Xv+OPmhNVprkyysSgmBOi6YhSfo=";
       };
     }
     {
@@ -5254,7 +5254,7 @@
       path = fetchurl {
         name = "glob_parent___glob_parent_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz";
-        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+        sha1 = "nmr2KZ2NO9K9QEMIMr0RPfkGxa4=";
       };
     }
     {
@@ -5262,7 +5262,7 @@
       path = fetchurl {
         name = "glob_parent___glob_parent_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz";
-        sha1 = "b6c1ef417c4e5663ea498f1c45afac6916bbc229";
+        sha512 = "FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==";
       };
     }
     {
@@ -5270,7 +5270,7 @@
       path = fetchurl {
         name = "glob___glob_7.1.7.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz";
-        sha1 = "3b193e9233f01d42d0b3f78294bbeeb418f94a90";
+        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
       };
     }
     {
@@ -5278,7 +5278,7 @@
       path = fetchurl {
         name = "global_modules___global_modules_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz";
-        sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea";
+        sha512 = "sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==";
       };
     }
     {
@@ -5286,7 +5286,7 @@
       path = fetchurl {
         name = "global_modules___global_modules_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz";
-        sha1 = "997605ad2345f27f51539bea26574421215c7780";
+        sha512 = "NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==";
       };
     }
     {
@@ -5294,7 +5294,7 @@
       path = fetchurl {
         name = "global_prefix___global_prefix_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz";
-        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+        sha1 = "2/dDxsFJklk8ZVVoy2btMsASLr4=";
       };
     }
     {
@@ -5302,7 +5302,7 @@
       path = fetchurl {
         name = "global_prefix___global_prefix_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz";
-        sha1 = "fc85f73064df69f50421f47f883fe5b913ba9b97";
+        sha512 = "awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==";
       };
     }
     {
@@ -5310,7 +5310,7 @@
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
         url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
-        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     }
     {
@@ -5318,7 +5318,7 @@
       path = fetchurl {
         name = "globals___globals_12.3.0.tgz";
         url  = "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz";
-        sha1 = "1e564ee5c4dded2ab098b0f88f24702a3c56be13";
+        sha512 = "wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==";
       };
     }
     {
@@ -5326,7 +5326,7 @@
       path = fetchurl {
         name = "globals___globals_13.6.0.tgz";
         url  = "https://registry.yarnpkg.com/globals/-/globals-13.6.0.tgz";
-        sha1 = "d77138e53738567bb96a3916ff6f6b487af20ef7";
+        sha512 = "YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ==";
       };
     }
     {
@@ -5334,7 +5334,7 @@
       path = fetchurl {
         name = "globals___globals_9.18.0.tgz";
         url  = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz";
-        sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a";
+        sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
       };
     }
     {
@@ -5342,7 +5342,7 @@
       path = fetchurl {
         name = "globby___globby_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
-        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+        sha1 = "9abXDoOV4hyFj7BInWTfAkJNUGw=";
       };
     }
     {
@@ -5350,7 +5350,7 @@
       path = fetchurl {
         name = "globule___globule_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz";
-        sha1 = "d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4";
+        sha512 = "7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==";
       };
     }
     {
@@ -5358,7 +5358,7 @@
       path = fetchurl {
         name = "gonzales_pe_sl___gonzales_pe_sl_4.2.3.tgz";
         url  = "https://registry.yarnpkg.com/gonzales-pe-sl/-/gonzales-pe-sl-4.2.3.tgz";
-        sha1 = "6a868bc380645f141feeb042c6f97fcc71b59fe6";
+        sha1 = "aoaLw4BkXxQf7rBCxvl/zHG1n+Y=";
       };
     }
     {
@@ -5366,7 +5366,7 @@
       path = fetchurl {
         name = "graceful_fs___graceful_fs_4.2.4.tgz";
         url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha1 = "2256bde14d3632958c465ebc96dc467ca07a29fb";
+        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
       };
     }
     {
@@ -5374,7 +5374,7 @@
       path = fetchurl {
         name = "growly___growly_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz";
-        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+        sha1 = "8QdIy+dq+WS3yWyTxrzCivEgwIE=";
       };
     }
     {
@@ -5382,7 +5382,7 @@
       path = fetchurl {
         name = "gzip_size___gzip_size_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz";
-        sha1 = "065367fd50c239c0671cbcbad5be3e2eeb10e462";
+        sha512 = "ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==";
       };
     }
     {
@@ -5390,7 +5390,7 @@
       path = fetchurl {
         name = "handle_thing___handle_thing_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz";
-        sha1 = "857f79ce359580c340d43081cc648970d0bb234e";
+        sha512 = "9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==";
       };
     }
     {
@@ -5398,7 +5398,7 @@
       path = fetchurl {
         name = "har_schema___har_schema_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
-        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+        sha1 = "qUwiJOvKwEeCoNkDVSHyRzW37JI=";
       };
     }
     {
@@ -5406,7 +5406,7 @@
       path = fetchurl {
         name = "har_validator___har_validator_5.1.5.tgz";
         url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
-        sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
+        sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
       };
     }
     {
@@ -5414,7 +5414,7 @@
       path = fetchurl {
         name = "has_ansi___has_ansi_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+        sha1 = "NPUEnOHs3ysGSa8+8k5F7TVBbZE=";
       };
     }
     {
@@ -5422,7 +5422,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==";
       };
     }
     {
@@ -5430,7 +5430,7 @@
       path = fetchurl {
         name = "has_flag___has_flag_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz";
-        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
+        sha1 = "nZ55MWXOAXoA8AQYxD+UKnsdEfo=";
       };
     }
     {
@@ -5438,7 +5438,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=";
       };
     }
     {
@@ -5446,7 +5446,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==";
       };
     }
     {
@@ -5454,7 +5454,7 @@
       path = fetchurl {
         name = "has_symbols___has_symbols_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz";
-        sha1 = "9f5214758a44196c406d9bd76cebf81ec2dd31e8";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     }
     {
@@ -5462,7 +5462,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==";
       };
     }
     {
@@ -5470,7 +5470,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=";
       };
     }
     {
@@ -5478,7 +5478,7 @@
       path = fetchurl {
         name = "has_value___has_value_0.3.1.tgz";
         url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
-        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+        sha1 = "ex9YutpiyoJ+wKIHgCVlSEWZXh8=";
       };
     }
     {
@@ -5486,7 +5486,7 @@
       path = fetchurl {
         name = "has_value___has_value_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
-        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+        sha1 = "GLKB2lhbHFxR3vJMkw7SmgvmsXc=";
       };
     }
     {
@@ -5494,7 +5494,7 @@
       path = fetchurl {
         name = "has_values___has_values_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
-        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+        sha1 = "bWHeldkd/Km5oCCJrThL/49it3E=";
       };
     }
     {
@@ -5502,7 +5502,7 @@
       path = fetchurl {
         name = "has_values___has_values_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
-        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+        sha1 = "lbC2P+whRmGab+V/51Yo1aOe/k8=";
       };
     }
     {
@@ -5510,7 +5510,7 @@
       path = fetchurl {
         name = "has___has_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
-        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     }
     {
@@ -5518,7 +5518,7 @@
       path = fetchurl {
         name = "hash_base___hash_base_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz";
-        sha1 = "55c381d9e06e1d2997a883b4a3fddfe7f0d3af33";
+        sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
       };
     }
     {
@@ -5526,7 +5526,7 @@
       path = fetchurl {
         name = "hash.js___hash.js_1.1.7.tgz";
         url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz";
-        sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42";
+        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
       };
     }
     {
@@ -5534,7 +5534,7 @@
       path = fetchurl {
         name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
-        sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e";
+        sha512 = "l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==";
       };
     }
     {
@@ -5542,7 +5542,7 @@
       path = fetchurl {
         name = "history___history_4.10.1.tgz";
         url  = "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz";
-        sha1 = "33371a65e3a83b267434e2b3f3b1b4c58aad4cf3";
+        sha512 = "36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==";
       };
     }
     {
@@ -5550,7 +5550,7 @@
       path = fetchurl {
         name = "history___history_4.7.2.tgz";
         url  = "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz";
-        sha1 = "22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b";
+        sha512 = "1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==";
       };
     }
     {
@@ -5558,7 +5558,7 @@
       path = fetchurl {
         name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
-        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+        sha1 = "0nRXAQJabHdabFRXk+1QL8DGSaE=";
       };
     }
     {
@@ -5566,7 +5566,7 @@
       path = fetchurl {
         name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz";
         url  = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz";
-        sha1 = "c5903cf409c0dfd908f388e619d86b9c1174cb47";
+        sha512 = "rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==";
       };
     }
     {
@@ -5574,7 +5574,7 @@
       path = fetchurl {
         name = "hoist_non_react_statics___hoist_non_react_statics_3.3.2.tgz";
         url  = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz";
-        sha1 = "ece0acaf71d62c2969c2ec59feff42a4b1a85b45";
+        sha512 = "/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==";
       };
     }
     {
@@ -5582,7 +5582,7 @@
       path = fetchurl {
         name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
-        sha1 = "743298cef4e5af3e194161fbadcc2151d3a058e8";
+        sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     }
     {
@@ -5590,7 +5590,7 @@
       path = fetchurl {
         name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
         url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha1 = "dffc0bf9a21c02209090f2aa69429e1414daf3f9";
+        sha512 = "mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==";
       };
     }
     {
@@ -5598,7 +5598,7 @@
       path = fetchurl {
         name = "hpack.js___hpack.js_2.1.6.tgz";
         url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
-        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+        sha1 = "h3dMCUnlE/QuhFdbPEVoH63ioLI=";
       };
     }
     {
@@ -5606,7 +5606,7 @@
       path = fetchurl {
         name = "hsl_regex___hsl_regex_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz";
-        sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+        sha1 = "1JMwx4ntgZ4nakwNJy3/owsY/m4=";
       };
     }
     {
@@ -5614,7 +5614,7 @@
       path = fetchurl {
         name = "hsla_regex___hsla_regex_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz";
-        sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+        sha1 = "wc56MWjIxmFAM6S194d/OyJfnDg=";
       };
     }
     {
@@ -5622,7 +5622,7 @@
       path = fetchurl {
         name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz";
-        sha1 = "42a6dc4fd33f00281176e8b23759ca4e4fa185f3";
+        sha512 = "D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==";
       };
     }
     {
@@ -5630,7 +5630,7 @@
       path = fetchurl {
         name = "html_entities___html_entities_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz";
-        sha1 = "fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44";
+        sha512 = "rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==";
       };
     }
     {
@@ -5638,7 +5638,7 @@
       path = fetchurl {
         name = "html_escaper___html_escaper_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz";
-        sha1 = "dfd60027da36a36dfcbe236262c00a5822681453";
+        sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
       };
     }
     {
@@ -5646,7 +5646,7 @@
       path = fetchurl {
         name = "http_deceiver___http_deceiver_1.2.7.tgz";
         url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
-        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+        sha1 = "+nFolEq5pRnTN8sL7HKE3D5yPYc=";
       };
     }
     {
@@ -5654,7 +5654,7 @@
       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 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
       };
     }
     {
@@ -5662,7 +5662,7 @@
       path = fetchurl {
         name = "http_errors___http_errors_1.6.3.tgz";
         url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz";
-        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+        sha1 = "i1VoC7S+KDoLW/TqLjhYC+HZMg0=";
       };
     }
     {
@@ -5670,7 +5670,7 @@
       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";
+        sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
       };
     }
     {
@@ -5678,7 +5678,7 @@
       path = fetchurl {
         name = "http_link_header___http_link_header_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/http-link-header/-/http-link-header-1.0.3.tgz";
-        sha1 = "abbc2cdc5e06dd7e196a4983adac08a2d085ec90";
+        sha512 = "nARK1wSKoBBrtcoESlHBx36c1Ln/gnbNQi1eB6MeTUefJIT3NvUOsV15bClga0k38f0q/kN5xxrGSDS3EFnm9w==";
       };
     }
     {
@@ -5686,7 +5686,7 @@
       path = fetchurl {
         name = "http_parser_js___http_parser_js_0.4.10.tgz";
         url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz";
-        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+        sha1 = "ksnBN0w1CF912zWexWzCV8u5P6Q=";
       };
     }
     {
@@ -5694,7 +5694,7 @@
       path = fetchurl {
         name = "http_parser_js___http_parser_js_0.5.3.tgz";
         url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz";
-        sha1 = "01d2709c79d41698bb01d4decc5e9da4e4a033d9";
+        sha512 = "t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==";
       };
     }
     {
@@ -5702,7 +5702,7 @@
       path = fetchurl {
         name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
         url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
-        sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a";
+        sha512 = "yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==";
       };
     }
     {
@@ -5710,7 +5710,7 @@
       path = fetchurl {
         name = "http_proxy___http_proxy_1.18.1.tgz";
         url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz";
-        sha1 = "401541f0534884bbf95260334e72f88ee3976549";
+        sha512 = "7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==";
       };
     }
     {
@@ -5718,7 +5718,7 @@
       path = fetchurl {
         name = "http_signature___http_signature_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
-        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+        sha1 = "muzZJRFHcvPZW2WmCruPfBj7rOE=";
       };
     }
     {
@@ -5726,7 +5726,7 @@
       path = fetchurl {
         name = "https_browserify___https_browserify_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
-        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+        sha1 = "7AbBDgo0wPL68Zn3/X/Hj//QPHM=";
       };
     }
     {
@@ -5734,7 +5734,7 @@
       path = fetchurl {
         name = "human_signals___human_signals_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz";
-        sha1 = "c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3";
+        sha512 = "SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==";
       };
     }
     {
@@ -5742,7 +5742,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==";
       };
     }
     {
@@ -5750,7 +5750,7 @@
       path = fetchurl {
         name = "icss_utils___icss_utils_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz";
-        sha1 = "c6be6858abd013d768e98366ae47e25d5887b1ae";
+        sha512 = "soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==";
       };
     }
     {
@@ -5758,7 +5758,7 @@
       path = fetchurl {
         name = "idb_keyval___idb_keyval_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-3.2.0.tgz";
-        sha1 = "cbbf354deb5684b6cdc84376294fc05932845bd6";
+        sha512 = "slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==";
       };
     }
     {
@@ -5766,7 +5766,7 @@
       path = fetchurl {
         name = "ieee754___ieee754_1.1.13.tgz";
         url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
-        sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
+        sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==";
       };
     }
     {
@@ -5774,7 +5774,7 @@
       path = fetchurl {
         name = "iferr___iferr_0.1.5.tgz";
         url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
-        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+        sha1 = "xg7taebY/bazEEofy8ocGS3FtQE=";
       };
     }
     {
@@ -5782,7 +5782,7 @@
       path = fetchurl {
         name = "ignore___ignore_3.3.10.tgz";
         url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz";
-        sha1 = "0a97fb876986e8081c631160f8f9f389157f0043";
+        sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==";
       };
     }
     {
@@ -5790,7 +5790,7 @@
       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==";
       };
     }
     {
@@ -5798,7 +5798,7 @@
       path = fetchurl {
         name = "immutable___immutable_3.8.2.tgz";
         url  = "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz";
-        sha1 = "c2439951455bb39913daf281376f1530e104adf3";
+        sha1 = "wkOZUUVbs5kT2vKBN28VMOEErfM=";
       };
     }
     {
@@ -5806,7 +5806,7 @@
       path = fetchurl {
         name = "import_cwd___import_cwd_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz";
-        sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
+        sha1 = "qmzzbnInYShcs3HsZRn1PiQ1sKk=";
       };
     }
     {
@@ -5814,7 +5814,7 @@
       path = fetchurl {
         name = "import_fresh___import_fresh_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz";
-        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+        sha1 = "2BNVwVYS04bGH53dOSLUMEgipUY=";
       };
     }
     {
@@ -5822,7 +5822,7 @@
       path = fetchurl {
         name = "import_fresh___import_fresh_3.2.1.tgz";
         url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz";
-        sha1 = "633ff618506e793af5ac91bf48b72677e15cbe66";
+        sha512 = "6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==";
       };
     }
     {
@@ -5830,7 +5830,7 @@
       path = fetchurl {
         name = "import_from___import_from_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz";
-        sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1";
+        sha1 = "M1238qev/VOqpHHUuAId7ja387E=";
       };
     }
     {
@@ -5838,7 +5838,7 @@
       path = fetchurl {
         name = "import_local___import_local_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz";
-        sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d";
+        sha512 = "b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==";
       };
     }
     {
@@ -5846,7 +5846,7 @@
       path = fetchurl {
         name = "import_local___import_local_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz";
-        sha1 = "a8cfd0431d1de4a2199703d003e3e62364fa6db6";
+        sha512 = "vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==";
       };
     }
     {
@@ -5854,7 +5854,7 @@
       path = fetchurl {
         name = "imports_loader___imports_loader_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/imports-loader/-/imports-loader-1.2.0.tgz";
-        sha1 = "b06823d0bb42e6f5ff89bc893829000eda46693f";
+        sha512 = "zPvangKEgrrPeqeUqH0Uhc59YqK07JqZBi9a9cQ3v/EKUIqrbJHY4CvUrDus2lgQa5AmPyXuGrWP8JJTqzE5RQ==";
       };
     }
     {
@@ -5862,7 +5862,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=";
       };
     }
     {
@@ -5870,7 +5870,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==";
       };
     }
     {
@@ -5878,7 +5878,7 @@
       path = fetchurl {
         name = "indexes_of___indexes_of_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
-        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+        sha1 = "8w9xbI4r00bHtn0985FVZqfAVgc=";
       };
     }
     {
@@ -5886,7 +5886,7 @@
       path = fetchurl {
         name = "infer_owner___infer_owner_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz";
-        sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467";
+        sha512 = "IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==";
       };
     }
     {
@@ -5894,7 +5894,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=";
       };
     }
     {
@@ -5902,7 +5902,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
-        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     }
     {
@@ -5910,7 +5910,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+        sha1 = "sX0I0ya0Qj5Wjv9xn5GwscvfafE=";
       };
     }
     {
@@ -5918,7 +5918,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+        sha1 = "Yzwsg+PaQqUC9SRmAiSA9CCCYd4=";
       };
     }
     {
@@ -5926,7 +5926,7 @@
       path = fetchurl {
         name = "ini___ini_1.3.7.tgz";
         url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz";
-        sha1 = "a09363e1911972ea16d7a8851005d84cf09a9a84";
+        sha512 = "iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==";
       };
     }
     {
@@ -5934,7 +5934,7 @@
       path = fetchurl {
         name = "inquirer___inquirer_0.12.0.tgz";
         url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz";
-        sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+        sha1 = "HvK/1jUE3wvHV4X/+MLEHfEvB34=";
       };
     }
     {
@@ -5942,7 +5942,7 @@
       path = fetchurl {
         name = "internal_ip___internal_ip_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz";
-        sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907";
+        sha512 = "S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==";
       };
     }
     {
@@ -5950,7 +5950,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==";
       };
     }
     {
@@ -5958,7 +5958,7 @@
       path = fetchurl {
         name = "interpret___interpret_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz";
-        sha1 = "665ab8bc4da27a774a40584e812e3e0fa45b1a1e";
+        sha512 = "agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==";
       };
     }
     {
@@ -5966,7 +5966,7 @@
       path = fetchurl {
         name = "intersection_observer___intersection_observer_0.12.0.tgz";
         url  = "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.12.0.tgz";
-        sha1 = "6c84628f67ce8698e5f9ccf857d97718745837aa";
+        sha512 = "2Vkz8z46Dv401zTWudDGwO7KiGHNDkMv417T5ItcNYfmvHR/1qCTVBO9vwH8zZmQ0WkA/1ARwpysR9bsnop4NQ==";
       };
     }
     {
@@ -5974,7 +5974,7 @@
       path = fetchurl {
         name = "intl_format_cache___intl_format_cache_2.2.9.tgz";
         url  = "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.2.9.tgz";
-        sha1 = "fb560de20c549cda20b569cf1ffb6dc62b5b93b4";
+        sha512 = "Zv/u8wRpekckv0cLkwpVdABYST4hZNTDaX7reFetrYTJwxExR2VyTqQm+l0WmL0Qo8Mjb9Tf33qnfj0T7pjxdQ==";
       };
     }
     {
@@ -5982,7 +5982,7 @@
       path = fetchurl {
         name = "intl_messageformat_parser___intl_messageformat_parser_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz";
-        sha1 = "b43d45a97468cadbe44331d74bb1e8dea44fc075";
+        sha1 = "tD1FqXRoytvkQzHXS7Ho3qRPwHU=";
       };
     }
     {
@@ -5990,7 +5990,7 @@
       path = fetchurl {
         name = "intl_messageformat_parser___intl_messageformat_parser_4.1.4.tgz";
         url  = "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-4.1.4.tgz";
-        sha1 = "98f3415e6990d44bebf2e0ad8e4cfbacf3ef5ed3";
+        sha512 = "zV4kBUD1yhxSyaXm6bGhmP4HFH9Gh4pRQwNn+xq5P+B1dT8mpaAfU75nfUn4HgddIB6pyFnzM5MQjO55UpJwkQ==";
       };
     }
     {
@@ -5998,7 +5998,7 @@
       path = fetchurl {
         name = "intl_messageformat___intl_messageformat_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-2.2.0.tgz";
-        sha1 = "345bcd46de630b7683330c2e52177ff5eab484fc";
+        sha1 = "NFvNRt5jC3aDMwwuUhd/9eq0hPw=";
       };
     }
     {
@@ -6006,7 +6006,7 @@
       path = fetchurl {
         name = "intl_relativeformat___intl_relativeformat_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz";
-        sha1 = "6aca95d019ec8d30b6c5653b6629f9983ea5b6c5";
+        sha512 = "4bV/7kSKaPEmu6ArxXf9xjv1ny74Zkwuey8Pm01NH4zggPP7JHwg2STk8Y3JdspCKRDriwIyLRfEXnj2ZLr4Bw==";
       };
     }
     {
@@ -6014,7 +6014,7 @@
       path = fetchurl {
         name = "intl_relativeformat___intl_relativeformat_6.4.3.tgz";
         url  = "https://registry.yarnpkg.com/intl-relativeformat/-/intl-relativeformat-6.4.3.tgz";
-        sha1 = "cb5559e1e257cc2e763583502012a354bb777efe";
+        sha512 = "VxZXZfhuX/zBVfxzE/J6kPUpsyWKYjqtZ3jVGZwr6wzK5BOLVpe1vSlwCQX56w5UjlpL63fS8Nxq0kgTyf1gJA==";
       };
     }
     {
@@ -6022,7 +6022,7 @@
       path = fetchurl {
         name = "intl___intl_1.2.5.tgz";
         url  = "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz";
-        sha1 = "82244a2190c4e419f8371f5aa34daa3420e2abde";
+        sha1 = "giRKIZDE5Bn4Nx9ao02qNCDiq94=";
       };
     }
     {
@@ -6030,7 +6030,7 @@
       path = fetchurl {
         name = "invariant___invariant_2.2.4.tgz";
         url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
-        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+        sha512 = "phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==";
       };
     }
     {
@@ -6038,7 +6038,7 @@
       path = fetchurl {
         name = "ip_regex___ip_regex_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz";
-        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+        sha1 = "+ni/XS5pE8kRzp+BnuUUa7bYROk=";
       };
     }
     {
@@ -6046,7 +6046,7 @@
       path = fetchurl {
         name = "ip___ip_1.1.5.tgz";
         url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
-        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+        sha1 = "vd7XARQpCCjAoDnnLvJfWq7ENUo=";
       };
     }
     {
@@ -6054,7 +6054,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==";
       };
     }
     {
@@ -6062,7 +6062,7 @@
       path = fetchurl {
         name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
-        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+        sha1 = "UFMN+4T8yap9vnhS6Do3uTufKqY=";
       };
     }
     {
@@ -6070,7 +6070,7 @@
       path = fetchurl {
         name = "is_absolute_url___is_absolute_url_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz";
-        sha1 = "96c6a22b6a23929b11ea0afb1836c36ad4a5d698";
+        sha512 = "opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==";
       };
     }
     {
@@ -6078,7 +6078,7 @@
       path = fetchurl {
         name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
         url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
-        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+        sha1 = "qeEss66Nh2cn7u84Q/igiXtcmNY=";
       };
     }
     {
@@ -6086,7 +6086,7 @@
       path = fetchurl {
         name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
-        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+        sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
       };
     }
     {
@@ -6094,7 +6094,7 @@
       path = fetchurl {
         name = "is_arguments___is_arguments_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz";
-        sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3";
+        sha512 = "xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==";
       };
     }
     {
@@ -6102,7 +6102,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=";
       };
     }
     {
@@ -6110,7 +6110,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==";
       };
     }
     {
@@ -6118,7 +6118,7 @@
       path = fetchurl {
         name = "is_bigint___is_bigint_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz";
-        sha1 = "ffb381442503235ad245ea89e45b3dbff040ee5a";
+        sha512 = "0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==";
       };
     }
     {
@@ -6126,7 +6126,7 @@
       path = fetchurl {
         name = "is_binary_path___is_binary_path_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
-        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+        sha1 = "dfFmQrSA8YenEcgUFh/TpKdlWJg=";
       };
     }
     {
@@ -6134,7 +6134,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==";
       };
     }
     {
@@ -6142,7 +6142,7 @@
       path = fetchurl {
         name = "is_boolean_object___is_boolean_object_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz";
-        sha1 = "3c0878f035cb821228d350d2e1e36719716a3de8";
+        sha512 = "bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==";
       };
     }
     {
@@ -6150,7 +6150,7 @@
       path = fetchurl {
         name = "is_buffer___is_buffer_1.1.6.tgz";
         url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     }
     {
@@ -6158,7 +6158,7 @@
       path = fetchurl {
         name = "is_callable___is_callable_1.2.2.tgz";
         url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz";
-        sha1 = "c7c6715cd22d4ddb48d3e19970223aceabb080d9";
+        sha512 = "dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==";
       };
     }
     {
@@ -6166,7 +6166,7 @@
       path = fetchurl {
         name = "is_callable___is_callable_1.2.3.tgz";
         url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz";
-        sha1 = "8b1e0500b73a1d76c70487636f368e519de8db8e";
+        sha512 = "J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==";
       };
     }
     {
@@ -6174,7 +6174,7 @@
       path = fetchurl {
         name = "is_ci___is_ci_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
-        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
       };
     }
     {
@@ -6182,7 +6182,7 @@
       path = fetchurl {
         name = "is_ci___is_ci_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz";
-        sha1 = "c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994";
+        sha512 = "kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==";
       };
     }
     {
@@ -6190,7 +6190,7 @@
       path = fetchurl {
         name = "is_color_stop___is_color_stop_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz";
-        sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+        sha1 = "z/9HGu5N1cnhWFmPvhKWe1za00U=";
       };
     }
     {
@@ -6198,7 +6198,7 @@
       path = fetchurl {
         name = "is_core_module___is_core_module_2.4.0.tgz";
         url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz";
-        sha1 = "8e9fc8e15027b011418026e98f0e6f4d86305cc1";
+        sha512 = "6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==";
       };
     }
     {
@@ -6206,7 +6206,7 @@
       path = fetchurl {
         name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
-        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+        sha1 = "C17mSDiOLIYCgueT8YVv7D8wG1Y=";
       };
     }
     {
@@ -6214,7 +6214,7 @@
       path = fetchurl {
         name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
-        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     }
     {
@@ -6222,7 +6222,7 @@
       path = fetchurl {
         name = "is_date_object___is_date_object_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz";
-        sha1 = "bda736f2cd8fd06d32844e7743bfa7494c3bfd7e";
+        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
       };
     }
     {
@@ -6230,7 +6230,7 @@
       path = fetchurl {
         name = "is_descriptor___is_descriptor_0.1.6.tgz";
         url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
-        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+        sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
       };
     }
     {
@@ -6238,7 +6238,7 @@
       path = fetchurl {
         name = "is_descriptor___is_descriptor_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
-        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+        sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
       };
     }
     {
@@ -6246,7 +6246,7 @@
       path = fetchurl {
         name = "is_directory___is_directory_0.3.1.tgz";
         url  = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz";
-        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+        sha1 = "YTObbyR1/Hcv2cnYP1yFddwVSuE=";
       };
     }
     {
@@ -6254,7 +6254,7 @@
       path = fetchurl {
         name = "is_docker___is_docker_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz";
-        sha1 = "4125a88e44e450d384e09047ede71adc2d144156";
+        sha512 = "ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==";
       };
     }
     {
@@ -6262,7 +6262,7 @@
       path = fetchurl {
         name = "is_electron___is_electron_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.0.tgz";
-        sha1 = "8943084f09e8b731b3a7a0298a7b5d56f6b7eef0";
+        sha512 = "SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==";
       };
     }
     {
@@ -6270,7 +6270,7 @@
       path = fetchurl {
         name = "is_extendable___is_extendable_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
-        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+        sha1 = "YrEQ4omkcUGOPsNqYX1HLjAd/Ik=";
       };
     }
     {
@@ -6278,7 +6278,7 @@
       path = fetchurl {
         name = "is_extendable___is_extendable_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
-        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+        sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
       };
     }
     {
@@ -6286,7 +6286,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=";
       };
     }
     {
@@ -6294,7 +6294,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";
+        sha1 = "754xOG8DGn8NZDr4L95QxFfvAMs=";
       };
     }
     {
@@ -6302,7 +6302,7 @@
       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 = "o7MKXE8ZkYMWeqq5O+764937ZU8=";
       };
     }
     {
@@ -6310,7 +6310,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==";
       };
     }
     {
@@ -6318,7 +6318,7 @@
       path = fetchurl {
         name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
-        sha1 = "7d140adc389aaf3011a8f2a2a4cfa6faadffb118";
+        sha512 = "cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==";
       };
     }
     {
@@ -6326,7 +6326,7 @@
       path = fetchurl {
         name = "is_glob___is_glob_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
-        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+        sha1 = "e6WuJCF4BKxwcHuWkiVnSGzD6Eo=";
       };
     }
     {
@@ -6334,7 +6334,7 @@
       path = fetchurl {
         name = "is_glob___is_glob_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz";
-        sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc";
+        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
       };
     }
     {
@@ -6342,7 +6342,7 @@
       path = fetchurl {
         name = "is_my_ip_valid___is_my_ip_valid_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz";
-        sha1 = "7b351b8e8edd4d3995d4d066680e664d94696824";
+        sha512 = "gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==";
       };
     }
     {
@@ -6350,7 +6350,7 @@
       path = fetchurl {
         name = "is_my_json_valid___is_my_json_valid_2.20.5.tgz";
         url  = "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz";
-        sha1 = "5eca6a8232a687f68869b7361be1612e7512e5df";
+        sha512 = "VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==";
       };
     }
     {
@@ -6358,7 +6358,7 @@
       path = fetchurl {
         name = "is_nan___is_nan_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz";
-        sha1 = "043a54adea31748b55b6cd4e09aadafa69bd9e1d";
+        sha512 = "E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==";
       };
     }
     {
@@ -6366,7 +6366,7 @@
       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";
+        sha512 = "2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==";
       };
     }
     {
@@ -6374,7 +6374,7 @@
       path = fetchurl {
         name = "is_number_object___is_number_object_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz";
-        sha1 = "6edfaeed7950cff19afedce9fbfca9ee6dd289eb";
+        sha512 = "RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==";
       };
     }
     {
@@ -6382,7 +6382,7 @@
       path = fetchurl {
         name = "is_number___is_number_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
-        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+        sha1 = "JP1iAaR4LPUFYcgQJ2r8fRLXEZU=";
       };
     }
     {
@@ -6390,7 +6390,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==";
       };
     }
     {
@@ -6398,7 +6398,7 @@
       path = fetchurl {
         name = "is_obj___is_obj_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz";
-        sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982";
+        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
       };
     }
     {
@@ -6406,7 +6406,7 @@
       path = fetchurl {
         name = "is_path_cwd___is_path_cwd_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
-        sha1 = "67d43b82664a7b5191fd9119127eb300048a9fdb";
+        sha512 = "w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==";
       };
     }
     {
@@ -6414,7 +6414,7 @@
       path = fetchurl {
         name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
-        sha1 = "bfe2dca26c69f397265a4009963602935a053acb";
+        sha512 = "rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==";
       };
     }
     {
@@ -6422,7 +6422,7 @@
       path = fetchurl {
         name = "is_path_inside___is_path_inside_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz";
-        sha1 = "7c9810587d659a40d27bcdb4d5616eab059494b2";
+        sha512 = "wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==";
       };
     }
     {
@@ -6430,7 +6430,7 @@
       path = fetchurl {
         name = "is_plain_object___is_plain_object_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
-        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
       };
     }
     {
@@ -6438,7 +6438,7 @@
       path = fetchurl {
         name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz";
-        sha1 = "0c52e54bcca391bb2c494b21e8626d7336c6e397";
+        sha1 = "DFLlS8yjkbssSUsh6GJtczbG45c=";
       };
     }
     {
@@ -6446,7 +6446,7 @@
       path = fetchurl {
         name = "is_property___is_property_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz";
-        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+        sha1 = "V/4cTkhHTt1lsJkR8msc1Ald2oQ=";
       };
     }
     {
@@ -6454,7 +6454,7 @@
       path = fetchurl {
         name = "is_regex___is_regex_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz";
-        sha1 = "ece38e389e490df0dc21caea2bd596f987f767ff";
+        sha512 = "iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==";
       };
     }
     {
@@ -6462,7 +6462,7 @@
       path = fetchurl {
         name = "is_regex___is_regex_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz";
-        sha1 = "c6f98aacc546f6cec5468a07b7b153ab564a57b9";
+        sha512 = "1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==";
       };
     }
     {
@@ -6470,7 +6470,7 @@
       path = fetchurl {
         name = "is_regex___is_regex_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz";
-        sha1 = "d029f9aff6448b93ebbe3f33dac71511fdcbef9f";
+        sha512 = "qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==";
       };
     }
     {
@@ -6478,7 +6478,7 @@
       path = fetchurl {
         name = "is_resolvable___is_resolvable_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
-        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
+        sha512 = "qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==";
       };
     }
     {
@@ -6486,7 +6486,7 @@
       path = fetchurl {
         name = "is_stream___is_stream_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
-        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+        sha1 = "EtSj3U5o4Lec6428hBc66A2RykQ=";
       };
     }
     {
@@ -6494,7 +6494,7 @@
       path = fetchurl {
         name = "is_stream___is_stream_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz";
-        sha1 = "bde9c32680d6fae04129d6ac9d921ce7815f78e3";
+        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
       };
     }
     {
@@ -6502,7 +6502,7 @@
       path = fetchurl {
         name = "is_string___is_string_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz";
-        sha1 = "40493ed198ef3ff477b8c7f92f644ec82a5cd3a6";
+        sha512 = "buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==";
       };
     }
     {
@@ -6510,7 +6510,7 @@
       path = fetchurl {
         name = "is_string___is_string_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz";
-        sha1 = "3fe5d5992fb0d93404f32584d4b0179a71b54a5f";
+        sha512 = "2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==";
       };
     }
     {
@@ -6518,7 +6518,7 @@
       path = fetchurl {
         name = "is_symbol___is_symbol_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz";
-        sha1 = "38e1014b9e6329be0de9d24a414fd7441ec61937";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     }
     {
@@ -6526,7 +6526,7 @@
       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==";
       };
     }
     {
@@ -6534,7 +6534,7 @@
       path = fetchurl {
         name = "is_typedarray___is_typedarray_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+        sha1 = "5HnICFjfDBsR3dppQPlgEfzaSpo=";
       };
     }
     {
@@ -6542,7 +6542,7 @@
       path = fetchurl {
         name = "is_url___is_url_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz";
-        sha1 = "04a4df46d28c4cff3d73d01ff06abeb318a1aa52";
+        sha512 = "ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==";
       };
     }
     {
@@ -6550,7 +6550,7 @@
       path = fetchurl {
         name = "is_windows___is_windows_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
-        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
       };
     }
     {
@@ -6558,7 +6558,7 @@
       path = fetchurl {
         name = "is_wsl___is_wsl_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz";
-        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+        sha1 = "HxbkqiKwTRM2tmGIpmrzxgDDpm0=";
       };
     }
     {
@@ -6566,7 +6566,7 @@
       path = fetchurl {
         name = "is_wsl___is_wsl_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz";
-        sha1 = "74a4c76e77ca9fd3f932f290c17ea326cd157271";
+        sha512 = "fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==";
       };
     }
     {
@@ -6574,7 +6574,7 @@
       path = fetchurl {
         name = "isarray___isarray_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
-        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+        sha1 = "ihis/Kmo9Bd+Cav8YDiTmwXR7t8=";
       };
     }
     {
@@ -6582,7 +6582,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=";
       };
     }
     {
@@ -6590,7 +6590,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=";
       };
     }
     {
@@ -6598,7 +6598,7 @@
       path = fetchurl {
         name = "isobject___isobject_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
-        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+        sha1 = "8GVWEJaj8dou9GJy+BXIQNh+DIk=";
       };
     }
     {
@@ -6606,7 +6606,7 @@
       path = fetchurl {
         name = "isobject___isobject_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
-        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+        sha1 = "TkMekrEalzFjaqH5yNHMvP2reN8=";
       };
     }
     {
@@ -6614,7 +6614,7 @@
       path = fetchurl {
         name = "isstream___isstream_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
-        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+        sha1 = "R+Y/evVa+m+S4VAOaQ64uFKcCZo=";
       };
     }
     {
@@ -6622,7 +6622,7 @@
       path = fetchurl {
         name = "istanbul_lib_coverage___istanbul_lib_coverage_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz";
-        sha1 = "f5944a37c70b550b02a78a5c3b2055b280cec8ec";
+        sha512 = "UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==";
       };
     }
     {
@@ -6630,7 +6630,7 @@
       path = fetchurl {
         name = "istanbul_lib_instrument___istanbul_lib_instrument_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
-        sha1 = "873c6fff897450118222774696a3f28902d77c1d";
+        sha512 = "BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==";
       };
     }
     {
@@ -6638,7 +6638,7 @@
       path = fetchurl {
         name = "istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha1 = "7518fe52ea44de372f460a76b5ecda9ffb73d8a6";
+        sha512 = "wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==";
       };
     }
     {
@@ -6646,7 +6646,7 @@
       path = fetchurl {
         name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz";
-        sha1 = "75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9";
+        sha512 = "c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==";
       };
     }
     {
@@ -6654,7 +6654,7 @@
       path = fetchurl {
         name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz";
-        sha1 = "d593210e5000683750cb09fc0644e4b6e27fd53b";
+        sha512 = "9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==";
       };
     }
     {
@@ -6662,7 +6662,7 @@
       path = fetchurl {
         name = "jest_changed_files___jest_changed_files_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz";
-        sha1 = "f6198479e1cc66f22f9ae1e22acaa0b429c042d0";
+        sha512 = "fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==";
       };
     }
     {
@@ -6670,7 +6670,7 @@
       path = fetchurl {
         name = "jest_cli___jest_cli_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz";
-        sha1 = "43117cfef24bc4cd691a174a8796a532e135e92a";
+        sha512 = "GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==";
       };
     }
     {
@@ -6678,7 +6678,7 @@
       path = fetchurl {
         name = "jest_config___jest_config_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz";
-        sha1 = "64f41444eef9eb03dc51d5c53b75c8c71f645349";
+        sha512 = "t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==";
       };
     }
     {
@@ -6686,7 +6686,7 @@
       path = fetchurl {
         name = "jest_diff___jest_diff_25.5.0.tgz";
         url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz";
-        sha1 = "1dd26ed64f96667c068cef026b677dfa01afcfa9";
+        sha512 = "z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==";
       };
     }
     {
@@ -6694,7 +6694,7 @@
       path = fetchurl {
         name = "jest_diff___jest_diff_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz";
-        sha1 = "1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394";
+        sha512 = "6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==";
       };
     }
     {
@@ -6702,7 +6702,7 @@
       path = fetchurl {
         name = "jest_docblock___jest_docblock_26.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz";
-        sha1 = "3e2fa20899fc928cb13bd0ff68bd3711a36889b5";
+        sha512 = "RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==";
       };
     }
     {
@@ -6710,7 +6710,7 @@
       path = fetchurl {
         name = "jest_each___jest_each_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz";
-        sha1 = "02526438a77a67401c8a6382dfe5999952c167cb";
+        sha512 = "Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==";
       };
     }
     {
@@ -6718,7 +6718,7 @@
       path = fetchurl {
         name = "jest_environment_jsdom___jest_environment_jsdom_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz";
-        sha1 = "78d09fe9cf019a357009b9b7e1f101d23bd1da3e";
+        sha512 = "jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==";
       };
     }
     {
@@ -6726,7 +6726,7 @@
       path = fetchurl {
         name = "jest_environment_node___jest_environment_node_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz";
-        sha1 = "824e4c7fb4944646356f11ac75b229b0035f2b0c";
+        sha512 = "zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==";
       };
     }
     {
@@ -6734,7 +6734,7 @@
       path = fetchurl {
         name = "jest_get_type___jest_get_type_25.2.6.tgz";
         url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz";
-        sha1 = "0b0a32fab8908b44d508be81681487dbabb8d877";
+        sha512 = "DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==";
       };
     }
     {
@@ -6742,7 +6742,7 @@
       path = fetchurl {
         name = "jest_get_type___jest_get_type_26.3.0.tgz";
         url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz";
-        sha1 = "e97dc3c3f53c2b406ca7afaed4493b1d099199e0";
+        sha512 = "TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==";
       };
     }
     {
@@ -6750,7 +6750,7 @@
       path = fetchurl {
         name = "jest_haste_map___jest_haste_map_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz";
-        sha1 = "dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa";
+        sha512 = "easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==";
       };
     }
     {
@@ -6758,7 +6758,7 @@
       path = fetchurl {
         name = "jest_haste_map___jest_haste_map_27.0.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.2.tgz";
-        sha1 = "3f1819400c671237e48b4d4b76a80a0dbed7577f";
+        sha512 = "37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==";
       };
     }
     {
@@ -6766,7 +6766,7 @@
       path = fetchurl {
         name = "jest_jasmine2___jest_jasmine2_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz";
-        sha1 = "adc3cf915deacb5212c93b9f3547cd12958f2edd";
+        sha512 = "kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==";
       };
     }
     {
@@ -6774,7 +6774,7 @@
       path = fetchurl {
         name = "jest_leak_detector___jest_leak_detector_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz";
-        sha1 = "7717cf118b92238f2eba65054c8a0c9c653a91af";
+        sha512 = "i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==";
       };
     }
     {
@@ -6782,7 +6782,7 @@
       path = fetchurl {
         name = "jest_matcher_utils___jest_matcher_utils_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz";
-        sha1 = "8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a";
+        sha512 = "llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==";
       };
     }
     {
@@ -6790,7 +6790,7 @@
       path = fetchurl {
         name = "jest_message_util___jest_message_util_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz";
-        sha1 = "58173744ad6fc0506b5d21150b9be56ef001ca07";
+        sha512 = "rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==";
       };
     }
     {
@@ -6798,7 +6798,7 @@
       path = fetchurl {
         name = "jest_mock___jest_mock_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz";
-        sha1 = "d6cb712b041ed47fe0d9b6fc3474bc6543feb302";
+        sha512 = "YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==";
       };
     }
     {
@@ -6806,7 +6806,7 @@
       path = fetchurl {
         name = "jest_pnp_resolver___jest_pnp_resolver_1.2.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz";
-        sha1 = "b704ac0ae028a89108a4d040b3f919dfddc8e33c";
+        sha512 = "olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==";
       };
     }
     {
@@ -6814,7 +6814,7 @@
       path = fetchurl {
         name = "jest_regex_util___jest_regex_util_26.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz";
-        sha1 = "d25e7184b36e39fd466c3bc41be0971e821fee28";
+        sha512 = "Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==";
       };
     }
     {
@@ -6822,7 +6822,7 @@
       path = fetchurl {
         name = "jest_regex_util___jest_regex_util_27.0.1.tgz";
         url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.1.tgz";
-        sha1 = "69d4b1bf5b690faa3490113c47486ed85dd45b68";
+        sha512 = "6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==";
       };
     }
     {
@@ -6830,7 +6830,7 @@
       path = fetchurl {
         name = "jest_resolve_dependencies___jest_resolve_dependencies_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz";
-        sha1 = "6680859ee5d22ee5dcd961fe4871f59f4c784fb6";
+        sha512 = "pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==";
       };
     }
     {
@@ -6838,7 +6838,7 @@
       path = fetchurl {
         name = "jest_resolve___jest_resolve_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz";
-        sha1 = "a3ab1517217f469b504f1b56603c5bb541fbb507";
+        sha512 = "sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==";
       };
     }
     {
@@ -6846,7 +6846,7 @@
       path = fetchurl {
         name = "jest_runner___jest_runner_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz";
-        sha1 = "2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159";
+        sha512 = "atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==";
       };
     }
     {
@@ -6854,7 +6854,7 @@
       path = fetchurl {
         name = "jest_runtime___jest_runtime_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz";
-        sha1 = "4f64efbcfac398331b74b4b3c82d27d401b8fa2b";
+        sha512 = "lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==";
       };
     }
     {
@@ -6862,7 +6862,7 @@
       path = fetchurl {
         name = "jest_serializer___jest_serializer_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz";
-        sha1 = "d139aafd46957d3a448f3a6cdabe2919ba0742d1";
+        sha512 = "S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==";
       };
     }
     {
@@ -6870,7 +6870,7 @@
       path = fetchurl {
         name = "jest_serializer___jest_serializer_27.0.1.tgz";
         url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.1.tgz";
-        sha1 = "2464d04dcc33fb71dc80b7c82e3c5e8a08cb1020";
+        sha512 = "svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==";
       };
     }
     {
@@ -6878,7 +6878,7 @@
       path = fetchurl {
         name = "jest_snapshot___jest_snapshot_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz";
-        sha1 = "f3b0af1acb223316850bd14e1beea9837fb39c84";
+        sha512 = "OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==";
       };
     }
     {
@@ -6886,7 +6886,7 @@
       path = fetchurl {
         name = "jest_util___jest_util_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz";
-        sha1 = "907535dbe4d5a6cb4c47ac9b926f6af29576cbc1";
+        sha512 = "MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==";
       };
     }
     {
@@ -6894,7 +6894,7 @@
       path = fetchurl {
         name = "jest_util___jest_util_27.0.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.2.tgz";
-        sha1 = "fc2c7ace3c75ae561cf1e5fdb643bf685a5be7c7";
+        sha512 = "1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==";
       };
     }
     {
@@ -6902,7 +6902,7 @@
       path = fetchurl {
         name = "jest_validate___jest_validate_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz";
-        sha1 = "23d380971587150467342911c3d7b4ac57ab20ec";
+        sha512 = "NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==";
       };
     }
     {
@@ -6910,7 +6910,7 @@
       path = fetchurl {
         name = "jest_watcher___jest_watcher_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz";
-        sha1 = "a5b683b8f9d68dbcb1d7dae32172d2cca0592975";
+        sha512 = "WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==";
       };
     }
     {
@@ -6918,7 +6918,7 @@
       path = fetchurl {
         name = "jest_worker___jest_worker_26.5.0.tgz";
         url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz";
-        sha1 = "87deee86dbbc5f98d9919e0dadf2c40e3152fa30";
+        sha512 = "kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==";
       };
     }
     {
@@ -6926,7 +6926,7 @@
       path = fetchurl {
         name = "jest_worker___jest_worker_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz";
-        sha1 = "7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed";
+        sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
       };
     }
     {
@@ -6934,7 +6934,7 @@
       path = fetchurl {
         name = "jest_worker___jest_worker_27.0.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz";
-        sha1 = "4ebeb56cef48b3e7514552f80d0d80c0129f0b05";
+        sha512 = "EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==";
       };
     }
     {
@@ -6942,7 +6942,7 @@
       path = fetchurl {
         name = "jest___jest_26.6.3.tgz";
         url  = "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz";
-        sha1 = "40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef";
+        sha512 = "lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==";
       };
     }
     {
@@ -6950,7 +6950,7 @@
       path = fetchurl {
         name = "js_base64___js_base64_2.6.4.tgz";
         url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz";
-        sha1 = "f4e686c5de1ea1f867dbcad3d46d969428df98c4";
+        sha512 = "pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==";
       };
     }
     {
@@ -6958,7 +6958,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==";
       };
     }
     {
@@ -6966,7 +6966,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==";
       };
     }
     {
@@ -6974,7 +6974,7 @@
       path = fetchurl {
         name = "js_yaml___js_yaml_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz";
-        sha1 = "c1fb65f8f5017901cdd2c951864ba18458a10602";
+        sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
       };
     }
     {
@@ -6982,7 +6982,7 @@
       path = fetchurl {
         name = "jsbn___jsbn_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+        sha1 = "peZUwuWi3rXyAdls77yoDA7y9RM=";
       };
     }
     {
@@ -6990,7 +6990,7 @@
       path = fetchurl {
         name = "jsdom___jsdom_16.4.0.tgz";
         url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz";
-        sha1 = "36005bde2d136f73eee1a830c6d45e55408edddb";
+        sha512 = "lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==";
       };
     }
     {
@@ -6998,7 +6998,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_2.5.2.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
-        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     }
     {
@@ -7006,7 +7006,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
-        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+        sha1 = "597mbjXW/Bb3EP6R1c9p9w8IkR0=";
       };
     }
     {
@@ -7014,7 +7014,7 @@
       path = fetchurl {
         name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
-        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
       };
     }
     {
@@ -7022,7 +7022,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==";
       };
     }
     {
@@ -7030,7 +7030,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==";
       };
     }
     {
@@ -7038,7 +7038,7 @@
       path = fetchurl {
         name = "json_schema___json_schema_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
-        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+        sha1 = "tIDIkuWaLwWVTOcnvT8qTogvnhM=";
       };
     }
     {
@@ -7046,7 +7046,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=";
       };
     }
     {
@@ -7054,7 +7054,7 @@
       path = fetchurl {
         name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
-        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+        sha1 = "mnWdOcXy/1A/1TAGRu1EX4jE+a8=";
       };
     }
     {
@@ -7062,7 +7062,7 @@
       path = fetchurl {
         name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+        sha1 = "Epai1Y/UXxmg9s4B1lcB4sc1tus=";
       };
     }
     {
@@ -7070,7 +7070,7 @@
       path = fetchurl {
         name = "json3___json3_3.3.3.tgz";
         url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz";
-        sha1 = "7fc10e375fc5ae42c4705a5cc0aa6f62be305b81";
+        sha512 = "c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==";
       };
     }
     {
@@ -7078,7 +7078,7 @@
       path = fetchurl {
         name = "json5___json5_0.5.1.tgz";
         url  = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz";
-        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+        sha1 = "Hq3nrMASA0rYTiOWdn6tn6VJWCE=";
       };
     }
     {
@@ -7086,7 +7086,7 @@
       path = fetchurl {
         name = "json5___json5_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz";
-        sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe";
+        sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
       };
     }
     {
@@ -7094,7 +7094,7 @@
       path = fetchurl {
         name = "json5___json5_2.1.3.tgz";
         url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz";
-        sha1 = "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43";
+        sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==";
       };
     }
     {
@@ -7102,7 +7102,7 @@
       path = fetchurl {
         name = "jsonfile___jsonfile_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz";
-        sha1 = "a5ecc6f65f53f662c4415c7675a0331d0992ec66";
+        sha1 = "pezG9l9T9mLEQVx2daAzHQmS7GY=";
       };
     }
     {
@@ -7110,7 +7110,7 @@
       path = fetchurl {
         name = "jsonfile___jsonfile_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
-        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+        sha1 = "h3Gq4HmbZAdrdmQPygWPnBDjPss=";
       };
     }
     {
@@ -7118,7 +7118,7 @@
       path = fetchurl {
         name = "jsonify___jsonify_0.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
-        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+        sha1 = "LHS27kHZPKUbe1qu6PUDYx0lKnM=";
       };
     }
     {
@@ -7126,7 +7126,7 @@
       path = fetchurl {
         name = "jsonpointer___jsonpointer_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz";
-        sha1 = "501fb89986a2389765ba09e6053299ceb4f2c2cc";
+        sha512 = "CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==";
       };
     }
     {
@@ -7134,7 +7134,7 @@
       path = fetchurl {
         name = "jsprim___jsprim_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+        sha1 = "MT5mvB5cwG5Di8G3SZwuXFastqI=";
       };
     }
     {
@@ -7142,7 +7142,7 @@
       path = fetchurl {
         name = "jsx_ast_utils___jsx_ast_utils_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz";
-        sha1 = "642f1d7b88aa6d7eb9d8f2210e166478444fa891";
+        sha512 = "d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA==";
       };
     }
     {
@@ -7150,7 +7150,7 @@
       path = fetchurl {
         name = "keycode___keycode_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz";
-        sha1 = "3d0af56dc7b8b8e5cba8d0a97f107204eec22b04";
+        sha1 = "PQr1bce4uOXLqNCpfxByBO7CKwQ=";
       };
     }
     {
@@ -7158,7 +7158,7 @@
       path = fetchurl {
         name = "killable___killable_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz";
-        sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892";
+        sha512 = "LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==";
       };
     }
     {
@@ -7166,7 +7166,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_3.2.2.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
-        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+        sha1 = "MeohpzS6ubuw8yRm2JOupR5KPGQ=";
       };
     }
     {
@@ -7174,7 +7174,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
-        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+        sha1 = "IIE989cSkosgc3hpGkUGb65y3Vc=";
       };
     }
     {
@@ -7182,7 +7182,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
-        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+        sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
       };
     }
     {
@@ -7190,7 +7190,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_6.0.3.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz";
-        sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd";
+        sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
       };
     }
     {
@@ -7198,7 +7198,7 @@
       path = fetchurl {
         name = "kleur___kleur_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
-        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+        sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
       };
     }
     {
@@ -7206,7 +7206,7 @@
       path = fetchurl {
         name = "klona___klona_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz";
-        sha1 = "7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0";
+        sha512 = "ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==";
       };
     }
     {
@@ -7214,7 +7214,7 @@
       path = fetchurl {
         name = "knot.js___knot.js_1.1.5.tgz";
         url  = "https://registry.yarnpkg.com/knot.js/-/knot.js-1.1.5.tgz";
-        sha1 = "28e72522f703f50fe98812fde224dd72728fef5d";
+        sha1 = "KOclIvcD9Q/piBL94iTdcnKP710=";
       };
     }
     {
@@ -7222,7 +7222,7 @@
       path = fetchurl {
         name = "known_css_properties___known_css_properties_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.3.0.tgz";
-        sha1 = "a3d135bbfc60ee8c6eacf2f7e7e6f2d4755e49a4";
+        sha512 = "QMQcnKAiQccfQTqtBh/qwquGZ2XK/DXND1jrcN9M8gMMy99Gwla7GQjndVUsEqIaRyP6bsFRuhwRj5poafBGJQ==";
       };
     }
     {
@@ -7230,7 +7230,7 @@
       path = fetchurl {
         name = "language_subtag_registry___language_subtag_registry_0.3.20.tgz";
         url  = "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz";
-        sha1 = "a00a37121894f224f763268e431c55556b0c0755";
+        sha512 = "KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==";
       };
     }
     {
@@ -7238,7 +7238,7 @@
       path = fetchurl {
         name = "language_tags___language_tags_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz";
-        sha1 = "d321dbc4da30ba8bf3024e040fa5c14661f9193a";
+        sha1 = "0yHbxNowuovzAk4ED6XBRmH5GTo=";
       };
     }
     {
@@ -7246,7 +7246,7 @@
       path = fetchurl {
         name = "leven___leven_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
-        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+        sha512 = "qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==";
       };
     }
     {
@@ -7254,7 +7254,7 @@
       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=";
       };
     }
     {
@@ -7262,7 +7262,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==";
       };
     }
     {
@@ -7270,7 +7270,7 @@
       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";
+        sha1 = "HADHQ7QzzQpOgHWPe2SldEDZ/wA=";
       };
     }
     {
@@ -7278,7 +7278,7 @@
       path = fetchurl {
         name = "load_json_file___load_json_file_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
-        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+        sha1 = "L19Fq5HjMhYjT9U62rZo607AmTs=";
       };
     }
     {
@@ -7286,7 +7286,7 @@
       path = fetchurl {
         name = "loader_runner___loader_runner_2.4.0.tgz";
         url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz";
-        sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357";
+        sha512 = "Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==";
       };
     }
     {
@@ -7294,7 +7294,7 @@
       path = fetchurl {
         name = "loader_utils___loader_utils_0.2.17.tgz";
         url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz";
-        sha1 = "f86e6374d43205a6e6c60e9196f17c0299bfb348";
+        sha1 = "+G5jdNQyBabmxg6RlvF8Apm/s0g=";
       };
     }
     {
@@ -7302,7 +7302,7 @@
       path = fetchurl {
         name = "loader_utils___loader_utils_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz";
-        sha1 = "c579b5e34cb34b1a74edc6c1fb36bfa371d5a613";
+        sha512 = "qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==";
       };
     }
     {
@@ -7310,7 +7310,7 @@
       path = fetchurl {
         name = "loader_utils___loader_utils_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz";
-        sha1 = "e4cace5b816d425a166b5f097e10cd12b36064b0";
+        sha512 = "rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==";
       };
     }
     {
@@ -7318,7 +7318,7 @@
       path = fetchurl {
         name = "locate_path___locate_path_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
-        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+        sha1 = "K1aLJl7slExtnA3pw9u7ygNUzY4=";
       };
     }
     {
@@ -7326,7 +7326,7 @@
       path = fetchurl {
         name = "locate_path___locate_path_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
-        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
       };
     }
     {
@@ -7334,7 +7334,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==";
       };
     }
     {
@@ -7342,7 +7342,7 @@
       path = fetchurl {
         name = "lockfile___lockfile_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz";
-        sha1 = "07f819d25ae48f87e538e6578b6964a4981a5609";
+        sha512 = "cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==";
       };
     }
     {
@@ -7350,7 +7350,7 @@
       path = fetchurl {
         name = "lodash.capitalize___lodash.capitalize_4.2.1.tgz";
         url  = "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz";
-        sha1 = "f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9";
+        sha1 = "+CbJtOKoUR2E46yinbBeGk87cqk=";
       };
     }
     {
@@ -7358,7 +7358,7 @@
       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 = "4j8/nE+Pvd6HJSnBBxhXoIblzO8=";
       };
     }
     {
@@ -7366,7 +7366,7 @@
       path = fetchurl {
         name = "lodash.debounce___lodash.debounce_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz";
-        sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af";
+        sha1 = "gteb/zCmfEAF/9XiUVMArZyk168=";
       };
     }
     {
@@ -7374,7 +7374,7 @@
       path = fetchurl {
         name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz";
-        sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
+        sha1 = "0JF4cW/+pN3p5ft7N/bwgCJ0WAw=";
       };
     }
     {
@@ -7382,7 +7382,7 @@
       path = fetchurl {
         name = "lodash.get___lodash.get_4.4.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz";
-        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
+        sha1 = "LRd/ZS+jHpObRDjVNBSZ36OCXpk=";
       };
     }
     {
@@ -7390,7 +7390,7 @@
       path = fetchurl {
         name = "lodash.has___lodash.has_4.5.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz";
-        sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
+        sha1 = "0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=";
       };
     }
     {
@@ -7398,7 +7398,7 @@
       path = fetchurl {
         name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz";
-        sha1 = "6c2e171db2a257cd96802fd43b01b20d5f5870f6";
+        sha1 = "bC4XHbKiV82WgC/UOwGyDV9YcPY=";
       };
     }
     {
@@ -7406,7 +7406,7 @@
       path = fetchurl {
         name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
-        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+        sha1 = "QVxEePK8wwEgwizhDtMib30+GOA=";
       };
     }
     {
@@ -7414,7 +7414,7 @@
       path = fetchurl {
         name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz";
-        sha1 = "3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d";
+        sha1 = "PI+41bW/S/kK4G4U8qUwpO2TXh0=";
       };
     }
     {
@@ -7422,7 +7422,7 @@
       path = fetchurl {
         name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz";
-        sha1 = "8489b1cb0d29ff88195cceca448ff6d6cc295c36";
+        sha1 = "hImxyw0p/4gZXM7KRI/21swpXDY=";
       };
     }
     {
@@ -7430,7 +7430,7 @@
       path = fetchurl {
         name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
-        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+        sha1 = "vMbEmkKihA7Zl/Mj6tpezRguC/4=";
       };
     }
     {
@@ -7438,7 +7438,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==";
       };
     }
     {
@@ -7446,7 +7446,7 @@
       path = fetchurl {
         name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
-        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+        sha1 = "7dFMgk4sycHgsKG0K7UhBRakJDg=";
       };
     }
     {
@@ -7454,7 +7454,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=";
       };
     }
     {
@@ -7462,7 +7462,7 @@
       path = fetchurl {
         name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
-        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+        sha1 = "0CJTc662Uq3BvILklFM5qEJ1R3M=";
       };
     }
     {
@@ -7470,7 +7470,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==";
       };
     }
     {
@@ -7478,7 +7478,7 @@
       path = fetchurl {
         name = "loglevel___loglevel_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz";
-        sha1 = "728166855a740d59d38db01cf46f042caa041bb0";
+        sha512 = "i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==";
       };
     }
     {
@@ -7486,7 +7486,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==";
       };
     }
     {
@@ -7494,7 +7494,7 @@
       path = fetchurl {
         name = "lru_cache___lru_cache_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz";
-        sha1 = "1da27e6710271947695daf6848e847f01d84b920";
+        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
       };
     }
     {
@@ -7502,7 +7502,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==";
       };
     }
     {
@@ -7510,7 +7510,7 @@
       path = fetchurl {
         name = "lz_string___lz_string_1.4.4.tgz";
         url  = "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz";
-        sha1 = "c0d8eaf36059f705796e1e344811cf4c498d3a26";
+        sha1 = "wNjq82BZ9wV5bh40SBHPTEmNOiY=";
       };
     }
     {
@@ -7518,7 +7518,7 @@
       path = fetchurl {
         name = "make_dir___make_dir_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
-        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
       };
     }
     {
@@ -7526,7 +7526,7 @@
       path = fetchurl {
         name = "make_dir___make_dir_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz";
-        sha1 = "415e967046b3a7f1d185277d84aa58203726a13f";
+        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
       };
     }
     {
@@ -7534,7 +7534,7 @@
       path = fetchurl {
         name = "makeerror___makeerror_1.0.11.tgz";
         url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
-        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+        sha1 = "4BpckQnyr3lmDk6LlYd5AYT1qWw=";
       };
     }
     {
@@ -7542,7 +7542,7 @@
       path = fetchurl {
         name = "map_cache___map_cache_0.2.2.tgz";
         url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
-        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+        sha1 = "wyq9C9ZSXZsFFkW7TyasXcmKDb8=";
       };
     }
     {
@@ -7550,7 +7550,7 @@
       path = fetchurl {
         name = "map_visit___map_visit_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
-        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+        sha1 = "7Nyo8TFE5mDxtb1B8S80edmN+48=";
       };
     }
     {
@@ -7558,7 +7558,7 @@
       path = fetchurl {
         name = "mark_loader___mark_loader_0.1.6.tgz";
         url  = "https://registry.yarnpkg.com/mark-loader/-/mark-loader-0.1.6.tgz";
-        sha1 = "0abb477dca7421d70e20128ff6489f5cae8676d5";
+        sha1 = "CrtHfcp0IdcOIBKP9kifXK6GdtU=";
       };
     }
     {
@@ -7566,7 +7566,7 @@
       path = fetchurl {
         name = "marky___marky_1.2.2.tgz";
         url  = "https://registry.yarnpkg.com/marky/-/marky-1.2.2.tgz";
-        sha1 = "4456765b4de307a13d263a69b0c79bf226e68323";
+        sha512 = "k1dB2HNeaNyORco8ulVEhctyEGkKHb2YWAhDsxeFlW2nROIirsctBYzKwwS3Vza+sKTS1zO4Z+n9/+9WbGLIxQ==";
       };
     }
     {
@@ -7574,7 +7574,7 @@
       path = fetchurl {
         name = "md5.js___md5.js_1.3.5.tgz";
         url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz";
-        sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f";
+        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
       };
     }
     {
@@ -7582,7 +7582,7 @@
       path = fetchurl {
         name = "mdn_data___mdn_data_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz";
-        sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b";
+        sha512 = "iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==";
       };
     }
     {
@@ -7590,7 +7590,7 @@
       path = fetchurl {
         name = "mdn_data___mdn_data_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz";
-        sha1 = "852dc60fcaa5daa2e8cf6c9189c440ed3e042978";
+        sha512 = "rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==";
       };
     }
     {
@@ -7598,7 +7598,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=";
       };
     }
     {
@@ -7606,7 +7606,7 @@
       path = fetchurl {
         name = "memoize_one___memoize_one_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz";
-        sha1 = "047b6e3199b508eaec03504de71229b8eb1d75c0";
+        sha512 = "HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==";
       };
     }
     {
@@ -7614,7 +7614,7 @@
       path = fetchurl {
         name = "memory_fs___memory_fs_0.4.1.tgz";
         url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
-        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+        sha1 = "OpoguEYlI+RHz7x+i7gO1me/xVI=";
       };
     }
     {
@@ -7622,7 +7622,7 @@
       path = fetchurl {
         name = "memory_fs___memory_fs_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz";
-        sha1 = "324c01288b88652966d161db77838720845a8e3c";
+        sha512 = "jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==";
       };
     }
     {
@@ -7630,7 +7630,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=";
       };
     }
     {
@@ -7638,7 +7638,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==";
       };
     }
     {
@@ -7646,7 +7646,7 @@
       path = fetchurl {
         name = "merge___merge_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz";
-        sha1 = "38bebf80c3220a8a487b6fcfb3941bb11720c145";
+        sha512 = "VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==";
       };
     }
     {
@@ -7654,7 +7654,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=";
       };
     }
     {
@@ -7662,7 +7662,7 @@
       path = fetchurl {
         name = "micromatch___micromatch_3.1.10.tgz";
         url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
-        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     }
     {
@@ -7670,7 +7670,7 @@
       path = fetchurl {
         name = "micromatch___micromatch_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz";
-        sha1 = "4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259";
+        sha512 = "y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==";
       };
     }
     {
@@ -7678,7 +7678,7 @@
       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==";
       };
     }
     {
@@ -7686,7 +7686,7 @@
       path = fetchurl {
         name = "miller_rabin___miller_rabin_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz";
-        sha1 = "f080351c865b0dc562a8462966daa53543c78a4d";
+        sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==";
       };
     }
     {
@@ -7694,7 +7694,7 @@
       path = fetchurl {
         name = "mime_db___mime_db_1.44.0.tgz";
         url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz";
-        sha1 = "fa11c5eb0aca1334b4233cb4d52f10c5a6272f92";
+        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
       };
     }
     {
@@ -7702,7 +7702,7 @@
       path = fetchurl {
         name = "mime_types___mime_types_2.1.27.tgz";
         url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz";
-        sha1 = "47949f98e279ea53119f5722e0f34e529bec009f";
+        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
       };
     }
     {
@@ -7710,7 +7710,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==";
       };
     }
     {
@@ -7718,7 +7718,7 @@
       path = fetchurl {
         name = "mime___mime_2.4.7.tgz";
         url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.7.tgz";
-        sha1 = "962aed9be0ed19c91fd7dc2ece5d7f4e89a90d74";
+        sha512 = "dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==";
       };
     }
     {
@@ -7726,7 +7726,7 @@
       path = fetchurl {
         name = "mime___mime_2.4.4.tgz";
         url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz";
-        sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5";
+        sha512 = "LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==";
       };
     }
     {
@@ -7734,7 +7734,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==";
       };
     }
     {
@@ -7742,7 +7742,7 @@
       path = fetchurl {
         name = "min_indent___min_indent_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz";
-        sha1 = "a63f681673b30571fbe8bc25686ae746eefa9869";
+        sha512 = "I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==";
       };
     }
     {
@@ -7750,7 +7750,7 @@
       path = fetchurl {
         name = "mini_css_extract_plugin___mini_css_extract_plugin_1.6.0.tgz";
         url  = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.0.tgz";
-        sha1 = "b4db2525af2624899ed64a23b0016e0036411893";
+        sha512 = "nPFKI7NSy6uONUo9yn2hIfb9vyYvkFu95qki0e21DQ9uaqNKDP15DGpK0KnV6wDroWxPHtExrdEwx/yDQ8nVRw==";
       };
     }
     {
@@ -7758,7 +7758,7 @@
       path = fetchurl {
         name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
-        sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
       };
     }
     {
@@ -7766,7 +7766,7 @@
       path = fetchurl {
         name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
-        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+        sha1 = "9sAMHAsIIkblxNmd+4x8CDsrWCo=";
       };
     }
     {
@@ -7774,7 +7774,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==";
       };
     }
     {
@@ -7782,7 +7782,7 @@
       path = fetchurl {
         name = "minimist___minimist_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz";
-        sha1 = "3bedfd91a92d39016fcfaa1c681e8faa1a1efda8";
+        sha1 = "O+39kaktOQFvz6ocaB6Pqhoe/ag=";
       };
     }
     {
@@ -7790,7 +7790,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==";
       };
     }
     {
@@ -7798,7 +7798,7 @@
       path = fetchurl {
         name = "minipass_collect___minipass_collect_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz";
-        sha1 = "22b813bf745dc6edba2576b940022ad6edc8c617";
+        sha512 = "6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==";
       };
     }
     {
@@ -7806,7 +7806,7 @@
       path = fetchurl {
         name = "minipass_flush___minipass_flush_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz";
-        sha1 = "82e7135d7e89a50ffe64610a787953c4c4cbb373";
+        sha512 = "JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==";
       };
     }
     {
@@ -7814,7 +7814,7 @@
       path = fetchurl {
         name = "minipass_pipeline___minipass_pipeline_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz";
-        sha1 = "68472f79711c084657c067c5c6ad93cddea8214c";
+        sha512 = "xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==";
       };
     }
     {
@@ -7822,7 +7822,7 @@
       path = fetchurl {
         name = "minipass___minipass_3.1.3.tgz";
         url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz";
-        sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd";
+        sha512 = "Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==";
       };
     }
     {
@@ -7830,7 +7830,7 @@
       path = fetchurl {
         name = "minizlib___minizlib_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz";
-        sha1 = "e90d3466ba209b932451508a11ce3d3632145931";
+        sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
       };
     }
     {
@@ -7838,7 +7838,7 @@
       path = fetchurl {
         name = "mississippi___mississippi_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz";
-        sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022";
+        sha512 = "x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==";
       };
     }
     {
@@ -7846,7 +7846,7 @@
       path = fetchurl {
         name = "mixin_deep___mixin_deep_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
-        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+        sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==";
       };
     }
     {
@@ -7854,7 +7854,7 @@
       path = fetchurl {
         name = "mkdirp___mkdirp_0.5.5.tgz";
         url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha1 = "d91cefd62d1436ca0f41620e251288d420099def";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     }
     {
@@ -7862,7 +7862,7 @@
       path = fetchurl {
         name = "mkdirp___mkdirp_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
-        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
+        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     }
     {
@@ -7870,7 +7870,7 @@
       path = fetchurl {
         name = "mousetrap___mousetrap_1.6.5.tgz";
         url  = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.5.tgz";
-        sha1 = "8a766d8c272b08393d5f56074e0b5ec183485bf9";
+        sha512 = "QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==";
       };
     }
     {
@@ -7878,7 +7878,7 @@
       path = fetchurl {
         name = "move_concurrently___move_concurrently_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz";
-        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+        sha1 = "viwAX9oy4LKa8fBdfEszIUxwH5I=";
       };
     }
     {
@@ -7886,7 +7886,7 @@
       path = fetchurl {
         name = "ms___ms_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
-        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+        sha1 = "VgiurfwAvmwpAd9fmGF4jeDVl8g=";
       };
     }
     {
@@ -7894,7 +7894,7 @@
       path = fetchurl {
         name = "ms___ms_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
-        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
       };
     }
     {
@@ -7902,7 +7902,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==";
       };
     }
     {
@@ -7910,7 +7910,7 @@
       path = fetchurl {
         name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
-        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+        sha1 = "iZ8R2WhuXgXLkbNdXw5jt3PPyQE=";
       };
     }
     {
@@ -7918,7 +7918,7 @@
       path = fetchurl {
         name = "multicast_dns___multicast_dns_6.2.3.tgz";
         url  = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz";
-        sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229";
+        sha512 = "ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==";
       };
     }
     {
@@ -7926,7 +7926,7 @@
       path = fetchurl {
         name = "mute_stream___mute_stream_0.0.5.tgz";
         url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz";
-        sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+        sha1 = "j7+rsKmKJT0xhDMfno3rc3L6xsA=";
       };
     }
     {
@@ -7934,7 +7934,7 @@
       path = fetchurl {
         name = "nan___nan_2.14.1.tgz";
         url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz";
-        sha1 = "d7be34dfa3105b91494c3147089315eff8874b01";
+        sha512 = "isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==";
       };
     }
     {
@@ -7942,7 +7942,7 @@
       path = fetchurl {
         name = "nanoid___nanoid_3.1.23.tgz";
         url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz";
-        sha1 = "f744086ce7c2bc47ee0a8472574d5c78e4183a81";
+        sha512 = "FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==";
       };
     }
     {
@@ -7950,7 +7950,7 @@
       path = fetchurl {
         name = "nanomatch___nanomatch_1.2.13.tgz";
         url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
-        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+        sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
       };
     }
     {
@@ -7958,7 +7958,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=";
       };
     }
     {
@@ -7966,7 +7966,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==";
       };
     }
     {
@@ -7974,7 +7974,7 @@
       path = fetchurl {
         name = "neo_async___neo_async_2.6.2.tgz";
         url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz";
-        sha1 = "b4aafb93e3aeb2d8174ca53cf163ab7d7308305f";
+        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
       };
     }
     {
@@ -7982,7 +7982,7 @@
       path = fetchurl {
         name = "next_tick___next_tick_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
-        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+        sha1 = "yobR/ogoFpsBICCOPchCS524NCw=";
       };
     }
     {
@@ -7990,7 +7990,7 @@
       path = fetchurl {
         name = "nice_try___nice_try_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
-        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+        sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
       };
     }
     {
@@ -7998,7 +7998,7 @@
       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";
+        sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
       };
     }
     {
@@ -8006,7 +8006,7 @@
       path = fetchurl {
         name = "node_forge___node_forge_0.10.0.tgz";
         url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz";
-        sha1 = "32dea2afb3e9926f02ee5ce8794902691a676bf3";
+        sha512 = "PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==";
       };
     }
     {
@@ -8014,7 +8014,7 @@
       path = fetchurl {
         name = "node_gyp_build___node_gyp_build_4.2.3.tgz";
         url  = "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz";
-        sha1 = "ce6277f853835f718829efb47db20f3e4d9c4739";
+        sha512 = "MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==";
       };
     }
     {
@@ -8022,7 +8022,7 @@
       path = fetchurl {
         name = "node_int64___node_int64_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz";
-        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+        sha1 = "h6kGXNs1XTGC2PlM4RGIuCXGijs=";
       };
     }
     {
@@ -8030,7 +8030,7 @@
       path = fetchurl {
         name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
-        sha1 = "b64f513d18338625f90346d27b0d235e631f6425";
+        sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
       };
     }
     {
@@ -8038,7 +8038,7 @@
       path = fetchurl {
         name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
-        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+        sha1 = "jZ2+KJZKSsVxLpExZCEHxx6Q7EA=";
       };
     }
     {
@@ -8046,7 +8046,7 @@
       path = fetchurl {
         name = "node_notifier___node_notifier_8.0.1.tgz";
         url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz";
-        sha1 = "f86e89bbc925f2b068784b31f382afdc6ca56be1";
+        sha512 = "BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==";
       };
     }
     {
@@ -8054,7 +8054,7 @@
       path = fetchurl {
         name = "node_releases___node_releases_1.1.72.tgz";
         url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz";
-        sha1 = "14802ab6b1039a79a0c7d662b610a5bbd76eacbe";
+        sha512 = "LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==";
       };
     }
     {
@@ -8062,7 +8062,7 @@
       path = fetchurl {
         name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
         url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
       };
     }
     {
@@ -8070,7 +8070,7 @@
       path = fetchurl {
         name = "normalize_path___normalize_path_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
-        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+        sha1 = "GrKLVW4Zg2Oowab35vogE3/mrtk=";
       };
     }
     {
@@ -8078,7 +8078,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==";
       };
     }
     {
@@ -8086,7 +8086,7 @@
       path = fetchurl {
         name = "normalize_range___normalize_range_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
-        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+        sha1 = "LRDAa9/TEuqXd2laTShDlFa3WUI=";
       };
     }
     {
@@ -8094,7 +8094,7 @@
       path = fetchurl {
         name = "normalize_url___normalize_url_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz";
-        sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559";
+        sha512 = "U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==";
       };
     }
     {
@@ -8102,7 +8102,7 @@
       path = fetchurl {
         name = "npm_run_path___npm_run_path_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
-        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+        sha1 = "NakjLfo11wZ7TLLd8jV7GHFTbF8=";
       };
     }
     {
@@ -8110,7 +8110,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==";
       };
     }
     {
@@ -8118,7 +8118,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==";
       };
     }
     {
@@ -8126,7 +8126,7 @@
       path = fetchurl {
         name = "nth_check___nth_check_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz";
-        sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c";
+        sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
       };
     }
     {
@@ -8134,7 +8134,7 @@
       path = fetchurl {
         name = "num2fraction___num2fraction_1.2.2.tgz";
         url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
-        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+        sha1 = "b2gragJ6Tp3fpFZM0lidHU5mnt4=";
       };
     }
     {
@@ -8142,7 +8142,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=";
       };
     }
     {
@@ -8150,7 +8150,7 @@
       path = fetchurl {
         name = "nwsapi___nwsapi_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz";
-        sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7";
+        sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
       };
     }
     {
@@ -8158,7 +8158,7 @@
       path = fetchurl {
         name = "oauth_sign___oauth_sign_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
       };
     }
     {
@@ -8166,7 +8166,7 @@
       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=";
       };
     }
     {
@@ -8174,7 +8174,7 @@
       path = fetchurl {
         name = "object_copy___object_copy_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
-        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+        sha1 = "fn2Fi3gb18mRpBupde04EnVOmYw=";
       };
     }
     {
@@ -8182,7 +8182,7 @@
       path = fetchurl {
         name = "object_fit_images___object_fit_images_3.2.4.tgz";
         url  = "https://registry.yarnpkg.com/object-fit-images/-/object-fit-images-3.2.4.tgz";
-        sha1 = "6c299d38fdf207746e5d2d46c2877f6f25d15b52";
+        sha512 = "G+7LzpYfTfqUyrZlfrou/PLLLAPNC52FTy5y1CBywX+1/FkxIloOyQXBmZ3Zxa2AWO+lMF0JTuvqbr7G5e5CWg==";
       };
     }
     {
@@ -8190,7 +8190,7 @@
       path = fetchurl {
         name = "object_inspect___object_inspect_1.10.3.tgz";
         url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz";
-        sha1 = "c2aa7d2d09f50c99375704f7a0adf24c5782d369";
+        sha512 = "e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==";
       };
     }
     {
@@ -8198,7 +8198,7 @@
       path = fetchurl {
         name = "object_inspect___object_inspect_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz";
-        sha1 = "df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0";
+        sha512 = "jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==";
       };
     }
     {
@@ -8206,7 +8206,7 @@
       path = fetchurl {
         name = "object_inspect___object_inspect_1.9.0.tgz";
         url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz";
-        sha1 = "c90521d74e1127b67266ded3394ad6116986533a";
+        sha512 = "i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==";
       };
     }
     {
@@ -8214,7 +8214,7 @@
       path = fetchurl {
         name = "object_is___object_is_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz";
-        sha1 = "2e3b9e65560137455ee3bd62aec4d90a2ea1cc81";
+        sha512 = "teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==";
       };
     }
     {
@@ -8222,7 +8222,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==";
       };
     }
     {
@@ -8230,7 +8230,7 @@
       path = fetchurl {
         name = "object_visit___object_visit_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
-        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+        sha1 = "95xEk68MU3e1n+OdOV5BBC3QRbs=";
       };
     }
     {
@@ -8238,7 +8238,7 @@
       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 = "303867a666cdd41936ecdedfb1f8f3e32a478cdd";
+        sha512 = "VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==";
       };
     }
     {
@@ -8246,7 +8246,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==";
       };
     }
     {
@@ -8254,7 +8254,7 @@
       path = fetchurl {
         name = "object.entries___object.entries_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz";
-        sha1 = "43ccf9a50bc5fd5b649d45ab1a579f24e088cafd";
+        sha512 = "h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==";
       };
     }
     {
@@ -8262,7 +8262,7 @@
       path = fetchurl {
         name = "object.fromentries___object.fromentries_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz";
-        sha1 = "26e1ba5c4571c5c6f0890cef4473066456a120b8";
+        sha512 = "EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==";
       };
     }
     {
@@ -8270,7 +8270,7 @@
       path = fetchurl {
         name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
-        sha1 = "369bf1f9592d8ab89d712dced5cb81c7c5352649";
+        sha512 = "Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==";
       };
     }
     {
@@ -8278,7 +8278,7 @@
       path = fetchurl {
         name = "object.pick___object.pick_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
-        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+        sha1 = "h6EKxMFpS9Lhy/U1kaZhQftd10c=";
       };
     }
     {
@@ -8286,7 +8286,7 @@
       path = fetchurl {
         name = "object.values___object.values_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz";
-        sha1 = "0d273762833e816b693a637d30073e7051535b30";
+        sha512 = "TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==";
       };
     }
     {
@@ -8294,7 +8294,7 @@
       path = fetchurl {
         name = "obuf___obuf_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz";
-        sha1 = "09bea3343d41859ebd446292d11c9d4db619084e";
+        sha512 = "PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==";
       };
     }
     {
@@ -8302,7 +8302,7 @@
       path = fetchurl {
         name = "offline_plugin___offline_plugin_5.0.7.tgz";
         url  = "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-5.0.7.tgz";
-        sha1 = "26936ad1a7699f4d67e0a095a258972a4ccf1788";
+        sha512 = "ArMFt4QFjK0wg8B5+R/6tt65u6Dk+Pkx4PAcW5O7mgIF3ywMepaQqFOQgfZD4ybanuGwuJihxUwMRgkzd+YGYw==";
       };
     }
     {
@@ -8310,7 +8310,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=";
       };
     }
     {
@@ -8318,7 +8318,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==";
       };
     }
     {
@@ -8326,7 +8326,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=";
       };
     }
     {
@@ -8334,7 +8334,7 @@
       path = fetchurl {
         name = "onetime___onetime_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz";
-        sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
+        sha1 = "ofeDj4MUxRbwXs78vEzP4EtO14k=";
       };
     }
     {
@@ -8342,7 +8342,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==";
       };
     }
     {
@@ -8350,7 +8350,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==";
       };
     }
     {
@@ -8358,7 +8358,7 @@
       path = fetchurl {
         name = "opener___opener_1.5.2.tgz";
         url  = "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz";
-        sha1 = "5d37e1f35077b9dcac4301372271afdeb2a13598";
+        sha512 = "ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==";
       };
     }
     {
@@ -8366,7 +8366,7 @@
       path = fetchurl {
         name = "opn___opn_5.5.0.tgz";
         url  = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz";
-        sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc";
+        sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==";
       };
     }
     {
@@ -8374,7 +8374,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==";
       };
     }
     {
@@ -8382,7 +8382,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==";
       };
     }
     {
@@ -8390,7 +8390,7 @@
       path = fetchurl {
         name = "original___original_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz";
-        sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f";
+        sha512 = "hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==";
       };
     }
     {
@@ -8398,7 +8398,7 @@
       path = fetchurl {
         name = "os_browserify___os_browserify_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
-        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+        sha1 = "hUNzx/XCMVkU/Jv8a9gjj92h7Cc=";
       };
     }
     {
@@ -8406,7 +8406,7 @@
       path = fetchurl {
         name = "os_homedir___os_homedir_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
-        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+        sha1 = "/7xJiDNuDoM94MFox+8VISGqf7M=";
       };
     }
     {
@@ -8414,7 +8414,7 @@
       path = fetchurl {
         name = "p_each_series___p_each_series_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz";
-        sha1 = "961c8dd3f195ea96c747e636b262b800a6b1af48";
+        sha512 = "ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==";
       };
     }
     {
@@ -8422,7 +8422,7 @@
       path = fetchurl {
         name = "p_finally___p_finally_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
-        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+        sha1 = "P7z7FbiZpEEjs0ttzBi3JDNqLK4=";
       };
     }
     {
@@ -8430,7 +8430,7 @@
       path = fetchurl {
         name = "p_limit___p_limit_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz";
-        sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
+        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
       };
     }
     {
@@ -8438,7 +8438,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==";
       };
     }
     {
@@ -8446,7 +8446,7 @@
       path = fetchurl {
         name = "p_limit___p_limit_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz";
-        sha1 = "1664e010af3cadc681baafd3e2a437be7b0fb5fe";
+        sha512 = "iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==";
       };
     }
     {
@@ -8454,7 +8454,7 @@
       path = fetchurl {
         name = "p_locate___p_locate_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
-        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+        sha1 = "IKAQOyIqcMj9OcwuWAaA893l7EM=";
       };
     }
     {
@@ -8462,7 +8462,7 @@
       path = fetchurl {
         name = "p_locate___p_locate_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
-        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
       };
     }
     {
@@ -8470,7 +8470,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==";
       };
     }
     {
@@ -8478,7 +8478,7 @@
       path = fetchurl {
         name = "p_map___p_map_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz";
-        sha1 = "310928feef9c9ecc65b68b17693018a665cea175";
+        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
       };
     }
     {
@@ -8486,7 +8486,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==";
       };
     }
     {
@@ -8494,7 +8494,7 @@
       path = fetchurl {
         name = "p_retry___p_retry_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz";
-        sha1 = "316b4c8893e2c8dc1cfa891f406c4b422bebf328";
+        sha512 = "XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==";
       };
     }
     {
@@ -8502,7 +8502,7 @@
       path = fetchurl {
         name = "p_try___p_try_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz";
-        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+        sha1 = "y8ec26+P1CKOE/Yh8rGiN8GyB7M=";
       };
     }
     {
@@ -8510,7 +8510,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==";
       };
     }
     {
@@ -8518,7 +8518,7 @@
       path = fetchurl {
         name = "packet_reader___packet_reader_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz";
-        sha1 = "9238e5480dedabacfe1fe3f2771063f164157d74";
+        sha512 = "HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==";
       };
     }
     {
@@ -8526,7 +8526,7 @@
       path = fetchurl {
         name = "pako___pako_1.0.11.tgz";
         url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz";
-        sha1 = "6c9599d340d54dfd3946380252a35705a6b992bf";
+        sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
       };
     }
     {
@@ -8534,7 +8534,7 @@
       path = fetchurl {
         name = "parallel_transform___parallel_transform_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz";
-        sha1 = "9049ca37d6cb2182c3b1d2c720be94d14a5814fc";
+        sha512 = "P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==";
       };
     }
     {
@@ -8542,7 +8542,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==";
       };
     }
     {
@@ -8550,7 +8550,7 @@
       path = fetchurl {
         name = "parse_asn1___parse_asn1_5.1.6.tgz";
         url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz";
-        sha1 = "385080a3ec13cb62a62d39409cb3e88844cdaed4";
+        sha512 = "RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==";
       };
     }
     {
@@ -8558,7 +8558,7 @@
       path = fetchurl {
         name = "parse_css_font___parse_css_font_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/parse-css-font/-/parse-css-font-2.0.2.tgz";
-        sha1 = "7b60b060705a25a9b90b7f0ed493e5823248a652";
+        sha1 = "e2CwYHBaJam5C38O1JPlgjJIplI=";
       };
     }
     {
@@ -8566,7 +8566,7 @@
       path = fetchurl {
         name = "parse_json___parse_json_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
-        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+        sha1 = "vjX1Qlvh9/bHRxhPmKeIy5lHfuA=";
       };
     }
     {
@@ -8574,7 +8574,7 @@
       path = fetchurl {
         name = "parse_json___parse_json_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz";
-        sha1 = "7cfe35c1ccd641bce3981467e6c2ece61b3b3878";
+        sha512 = "ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==";
       };
     }
     {
@@ -8582,7 +8582,7 @@
       path = fetchurl {
         name = "parse_passwd___parse_passwd_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz";
-        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+        sha1 = "bVuTSkVpk7I9N/QKOC1vFmao5cY=";
       };
     }
     {
@@ -8590,7 +8590,7 @@
       path = fetchurl {
         name = "parse5___parse5_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz";
-        sha1 = "f68e4e5ba1852ac2cadc00f4555fff6c2abb6178";
+        sha512 = "ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==";
       };
     }
     {
@@ -8598,7 +8598,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==";
       };
     }
     {
@@ -8606,7 +8606,7 @@
       path = fetchurl {
         name = "pascalcase___pascalcase_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
-        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+        sha1 = "s2PlXoAGym/iF4TS2yK9FdeRfxQ=";
       };
     }
     {
@@ -8614,7 +8614,7 @@
       path = fetchurl {
         name = "path_browserify___path_browserify_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
-        sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
+        sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==";
       };
     }
     {
@@ -8622,7 +8622,7 @@
       path = fetchurl {
         name = "path_complete_extname___path_complete_extname_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-1.0.0.tgz";
-        sha1 = "f889985dc91000c815515c0bfed06c5acda0752b";
+        sha512 = "CVjiWcMRdGU8ubs08YQVzhutOR5DEfO97ipRIlOGMK5Bek5nQySknBpuxVAVJ36hseTNs+vdIcv57ZrWxH7zvg==";
       };
     }
     {
@@ -8630,7 +8630,7 @@
       path = fetchurl {
         name = "path_dirname___path_dirname_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz";
-        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+        sha1 = "zDPSTVJeCZpTiMAzbG4yuRYGCeA=";
       };
     }
     {
@@ -8638,7 +8638,7 @@
       path = fetchurl {
         name = "path_exists___path_exists_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
-        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+        sha1 = "zg6+ql94yxiSXqfYENe1mwEP1RU=";
       };
     }
     {
@@ -8646,7 +8646,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==";
       };
     }
     {
@@ -8654,7 +8654,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=";
       };
     }
     {
@@ -8662,7 +8662,7 @@
       path = fetchurl {
         name = "path_is_inside___path_is_inside_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
-        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+        sha1 = "NlQX3t5EQw0cEa9hAn+s8HS9/FM=";
       };
     }
     {
@@ -8670,7 +8670,7 @@
       path = fetchurl {
         name = "path_key___path_key_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
-        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+        sha1 = "QRyttXTFoUDTpLGRDUDYDMn0C0A=";
       };
     }
     {
@@ -8678,7 +8678,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==";
       };
     }
     {
@@ -8686,7 +8686,7 @@
       path = fetchurl {
         name = "path_parse___path_parse_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz";
-        sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
       };
     }
     {
@@ -8694,7 +8694,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=";
       };
     }
     {
@@ -8702,7 +8702,7 @@
       path = fetchurl {
         name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
-        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+        sha1 = "Wf3g9DW62suhA6hOnTvGTpa5k30=";
       };
     }
     {
@@ -8710,7 +8710,7 @@
       path = fetchurl {
         name = "path_type___path_type_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
-        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
       };
     }
     {
@@ -8718,7 +8718,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==";
       };
     }
     {
@@ -8726,7 +8726,7 @@
       path = fetchurl {
         name = "pbkdf2___pbkdf2_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz";
-        sha1 = "cb8724b0fada984596856d1a6ebafd3584654b94";
+        sha512 = "4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==";
       };
     }
     {
@@ -8734,7 +8734,7 @@
       path = fetchurl {
         name = "performance_now___performance_now_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz";
-        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+        sha1 = "M+8wxcd9TqIcWlOGnZG1bY8lVeU=";
       };
     }
     {
@@ -8742,7 +8742,7 @@
       path = fetchurl {
         name = "performance_now___performance_now_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+        sha1 = "Ywn04OX6kT7BxpMHrjZLSzd8nns=";
       };
     }
     {
@@ -8750,7 +8750,7 @@
       path = fetchurl {
         name = "pg_connection_string___pg_connection_string_2.4.0.tgz";
         url  = "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.4.0.tgz";
-        sha1 = "c979922eb47832999a204da5dbe1ebf2341b6a10";
+        sha512 = "3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==";
       };
     }
     {
@@ -8758,7 +8758,7 @@
       path = fetchurl {
         name = "pg_int8___pg_int8_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz";
-        sha1 = "943bd463bf5b71b4170115f80f8efc9a0c0eb78c";
+        sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
       };
     }
     {
@@ -8766,7 +8766,7 @@
       path = fetchurl {
         name = "pg_pool___pg_pool_3.2.2.tgz";
         url  = "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.2.2.tgz";
-        sha1 = "a560e433443ed4ad946b84d774b3f22452694dff";
+        sha512 = "ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA==";
       };
     }
     {
@@ -8774,7 +8774,7 @@
       path = fetchurl {
         name = "pg_protocol___pg_protocol_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.4.0.tgz";
-        sha1 = "43a71a92f6fe3ac559952555aa3335c8cb4908be";
+        sha512 = "El+aXWcwG/8wuFICMQjM5ZSAm6OWiJicFdNYo+VY3QP+8vI4SvLIWVe51PppTzMhikUJR+PsyIFKqfdXPz/yxA==";
       };
     }
     {
@@ -8782,7 +8782,7 @@
       path = fetchurl {
         name = "pg_types___pg_types_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz";
-        sha1 = "2d0250d636454f7cfa3b6ae0382fdfa8063254a3";
+        sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==";
       };
     }
     {
@@ -8790,7 +8790,7 @@
       path = fetchurl {
         name = "pg___pg_8.5.1.tgz";
         url  = "https://registry.yarnpkg.com/pg/-/pg-8.5.1.tgz";
-        sha1 = "34dcb15f6db4a29c702bf5031ef2e1e25a06a120";
+        sha512 = "9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw==";
       };
     }
     {
@@ -8798,7 +8798,7 @@
       path = fetchurl {
         name = "pgpass___pgpass_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.4.tgz";
-        sha1 = "85eb93a83800b20f8057a2b029bf05abaf94ea9c";
+        sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==";
       };
     }
     {
@@ -8806,7 +8806,7 @@
       path = fetchurl {
         name = "picomatch___picomatch_2.2.2.tgz";
         url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz";
-        sha1 = "21f333e9b6b8eaff02468f5146ea406d345f4dad";
+        sha512 = "q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==";
       };
     }
     {
@@ -8814,7 +8814,7 @@
       path = fetchurl {
         name = "picomatch___picomatch_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz";
-        sha1 = "f1f061de8f6a4bf022892e2d128234fb98302972";
+        sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==";
       };
     }
     {
@@ -8822,7 +8822,7 @@
       path = fetchurl {
         name = "pify___pify_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
-        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+        sha1 = "7RQaasBDqEnqWISY59yosVMw6Qw=";
       };
     }
     {
@@ -8830,7 +8830,7 @@
       path = fetchurl {
         name = "pify___pify_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+        sha1 = "5aSs0sEB/fPZpNB/DbxNtJ3SgXY=";
       };
     }
     {
@@ -8838,7 +8838,7 @@
       path = fetchurl {
         name = "pify___pify_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
-        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
       };
     }
     {
@@ -8846,7 +8846,7 @@
       path = fetchurl {
         name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
-        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+        sha1 = "ITXW36ejWMBprJsXh3YogihFD/o=";
       };
     }
     {
@@ -8854,7 +8854,7 @@
       path = fetchurl {
         name = "pinkie___pinkie_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
-        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+        sha1 = "clVrgM+g1IqXToDnckjoDtT3+HA=";
       };
     }
     {
@@ -8862,7 +8862,7 @@
       path = fetchurl {
         name = "pirates___pirates_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
-        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+        sha512 = "WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==";
       };
     }
     {
@@ -8870,7 +8870,7 @@
       path = fetchurl {
         name = "pkg_dir___pkg_dir_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
-        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+        sha1 = "9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=";
       };
     }
     {
@@ -8878,7 +8878,7 @@
       path = fetchurl {
         name = "pkg_dir___pkg_dir_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
-        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
       };
     }
     {
@@ -8886,7 +8886,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==";
       };
     }
     {
@@ -8894,7 +8894,7 @@
       path = fetchurl {
         name = "pkg_up___pkg_up_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz";
-        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+        sha1 = "yBmscoBZpGHKscOImivjxJoATX8=";
       };
     }
     {
@@ -8902,7 +8902,7 @@
       path = fetchurl {
         name = "pluralize___pluralize_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz";
-        sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
+        sha1 = "0aIUg/0iu0HlihL6NCGCMUCJfEU=";
       };
     }
     {
@@ -8910,7 +8910,7 @@
       path = fetchurl {
         name = "portfinder___portfinder_1.0.28.tgz";
         url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz";
-        sha1 = "67c4622852bd5374dd1dd900f779f53462fac778";
+        sha512 = "Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==";
       };
     }
     {
@@ -8918,7 +8918,7 @@
       path = fetchurl {
         name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
-        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+        sha1 = "AerA/jta9xoqbAL+q7jB/vfgDqs=";
       };
     }
     {
@@ -8926,7 +8926,7 @@
       path = fetchurl {
         name = "postcss_calc___postcss_calc_7.0.4.tgz";
         url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.4.tgz";
-        sha1 = "5e177ddb417341e6d4a193c5d9fd8ada79094f8b";
+        sha512 = "0I79VRAd1UTkaHzY9w83P39YGO/M3bG7/tNLrHGEunBolfoGM0hSjrGvjoeaj0JE/zIw5GsI2KZ0UwDJqv5hjw==";
       };
     }
     {
@@ -8934,7 +8934,7 @@
       path = fetchurl {
         name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz";
-        sha1 = "ae060bce93ed794ac71264f08132d550956bd381";
+        sha512 = "WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==";
       };
     }
     {
@@ -8942,7 +8942,7 @@
       path = fetchurl {
         name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
-        sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f";
+        sha512 = "Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==";
       };
     }
     {
@@ -8950,7 +8950,7 @@
       path = fetchurl {
         name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz";
-        sha1 = "1fbabd2c246bff6aaad7997b2b0918f4d7af4033";
+        sha512 = "RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==";
       };
     }
     {
@@ -8958,7 +8958,7 @@
       path = fetchurl {
         name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
-        sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb";
+        sha512 = "ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==";
       };
     }
     {
@@ -8966,7 +8966,7 @@
       path = fetchurl {
         name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
-        sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765";
+        sha512 = "B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==";
       };
     }
     {
@@ -8974,7 +8974,7 @@
       path = fetchurl {
         name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
-        sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57";
+        sha512 = "IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==";
       };
     }
     {
@@ -8982,7 +8982,7 @@
       path = fetchurl {
         name = "postcss_load_config___postcss_load_config_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz";
-        sha1 = "c5ea504f2c4aef33c7359a34de3573772ad7502a";
+        sha512 = "/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==";
       };
     }
     {
@@ -8990,7 +8990,7 @@
       path = fetchurl {
         name = "postcss_loader___postcss_loader_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz";
-        sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d";
+        sha512 = "cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==";
       };
     }
     {
@@ -8998,7 +8998,7 @@
       path = fetchurl {
         name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
         url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz";
-        sha1 = "62f49a13e4a0ee04e7b98f42bb16062ca2549e24";
+        sha512 = "alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==";
       };
     }
     {
@@ -9006,7 +9006,7 @@
       path = fetchurl {
         name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz";
-        sha1 = "362bea4ff5a1f98e4075a713c6cb25aefef9a650";
+        sha512 = "U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==";
       };
     }
     {
@@ -9014,7 +9014,7 @@
       path = fetchurl {
         name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
-        sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6";
+        sha512 = "j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==";
       };
     }
     {
@@ -9022,7 +9022,7 @@
       path = fetchurl {
         name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz";
-        sha1 = "93b29c2ff5099c535eecda56c4aa6e665a663471";
+        sha512 = "qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==";
       };
     }
     {
@@ -9030,7 +9030,7 @@
       path = fetchurl {
         name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz";
-        sha1 = "6b9cef030c11e35261f95f618c90036d680db874";
+        sha512 = "G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==";
       };
     }
     {
@@ -9038,7 +9038,7 @@
       path = fetchurl {
         name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz";
-        sha1 = "e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8";
+        sha512 = "D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==";
       };
     }
     {
@@ -9046,7 +9046,7 @@
       path = fetchurl {
         name = "postcss_modules_extract_imports___postcss_modules_extract_imports_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz";
-        sha1 = "cda1f047c0ae80c97dbe28c3e76a43b88025741d";
+        sha512 = "bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==";
       };
     }
     {
@@ -9054,7 +9054,7 @@
       path = fetchurl {
         name = "postcss_modules_local_by_default___postcss_modules_local_by_default_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz";
-        sha1 = "ebbb54fae1598eecfdf691a02b3ff3b390a5a51c";
+        sha512 = "sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==";
       };
     }
     {
@@ -9062,7 +9062,7 @@
       path = fetchurl {
         name = "postcss_modules_scope___postcss_modules_scope_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz";
-        sha1 = "9ef3151456d3bbfa120ca44898dfca6f2fa01f06";
+        sha512 = "hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==";
       };
     }
     {
@@ -9070,7 +9070,7 @@
       path = fetchurl {
         name = "postcss_modules_values___postcss_modules_values_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz";
-        sha1 = "d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c";
+        sha512 = "RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==";
       };
     }
     {
@@ -9078,7 +9078,7 @@
       path = fetchurl {
         name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
-        sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4";
+        sha512 = "gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==";
       };
     }
     {
@@ -9086,7 +9086,7 @@
       path = fetchurl {
         name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz";
-        sha1 = "0dbe04a4ce9063d4667ed2be476bb830c825935a";
+        sha512 = "3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==";
       };
     }
     {
@@ -9094,7 +9094,7 @@
       path = fetchurl {
         name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz";
-        sha1 = "05f757f84f260437378368a91f8932d4b102917f";
+        sha512 = "Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==";
       };
     }
     {
@@ -9102,7 +9102,7 @@
       path = fetchurl {
         name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz";
-        sha1 = "c4ebbc289f3991a028d44751cbdd11918b17910c";
+        sha512 = "qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==";
       };
     }
     {
@@ -9110,7 +9110,7 @@
       path = fetchurl {
         name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz";
-        sha1 = "cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c";
+        sha512 = "RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==";
       };
     }
     {
@@ -9118,7 +9118,7 @@
       path = fetchurl {
         name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz";
-        sha1 = "8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9";
+        sha512 = "acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==";
       };
     }
     {
@@ -9126,7 +9126,7 @@
       path = fetchurl {
         name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
-        sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb";
+        sha512 = "od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==";
       };
     }
     {
@@ -9134,7 +9134,7 @@
       path = fetchurl {
         name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
-        sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1";
+        sha512 = "p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==";
       };
     }
     {
@@ -9142,7 +9142,7 @@
       path = fetchurl {
         name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz";
-        sha1 = "bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82";
+        sha512 = "tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==";
       };
     }
     {
@@ -9150,7 +9150,7 @@
       path = fetchurl {
         name = "postcss_object_fit_images___postcss_object_fit_images_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-object-fit-images/-/postcss-object-fit-images-1.1.2.tgz";
-        sha1 = "8b773043db14672ef6cd6f2cb1f0d8b26a9f573b";
+        sha1 = "i3cwQ9sUZy72zW8ssfDYsmqfVzs=";
       };
     }
     {
@@ -9158,7 +9158,7 @@
       path = fetchurl {
         name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz";
-        sha1 = "0cf75c820ec7d5c4d280189559e0b571ebac0eee";
+        sha512 = "2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==";
       };
     }
     {
@@ -9166,7 +9166,7 @@
       path = fetchurl {
         name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz";
-        sha1 = "7fd42ebea5e9c814609639e2c2e84ae270ba48df";
+        sha512 = "gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==";
       };
     }
     {
@@ -9174,7 +9174,7 @@
       path = fetchurl {
         name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz";
-        sha1 = "17efa405eacc6e07be3414a5ca2d1074681d4e29";
+        sha512 = "EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==";
       };
     }
     {
@@ -9182,7 +9182,7 @@
       path = fetchurl {
         name = "postcss_selector_parser___postcss_selector_parser_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz";
-        sha1 = "b310f5c4c0fdaf76f94902bbaa30db6aa84f5270";
+        sha512 = "h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==";
       };
     }
     {
@@ -9190,7 +9190,7 @@
       path = fetchurl {
         name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
         url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
-        sha1 = "934cf799d016c83411859e09dcecade01286ec5c";
+        sha512 = "36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==";
       };
     }
     {
@@ -9198,7 +9198,7 @@
       path = fetchurl {
         name = "postcss_selector_parser___postcss_selector_parser_6.0.4.tgz";
         url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz";
-        sha1 = "56075a1380a04604c38b063ea7767a129af5c2b3";
+        sha512 = "gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==";
       };
     }
     {
@@ -9206,7 +9206,7 @@
       path = fetchurl {
         name = "postcss_svgo___postcss_svgo_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz";
-        sha1 = "343a2cdbac9505d416243d496f724f38894c941e";
+        sha512 = "NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==";
       };
     }
     {
@@ -9214,7 +9214,7 @@
       path = fetchurl {
         name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
-        sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac";
+        sha512 = "+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==";
       };
     }
     {
@@ -9222,7 +9222,7 @@
       path = fetchurl {
         name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
         url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
-        sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281";
+        sha512 = "pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==";
       };
     }
     {
@@ -9230,7 +9230,7 @@
       path = fetchurl {
         name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz";
-        sha1 = "443f6a20ced6481a2bda4fa8532a6e55d789a2cb";
+        sha512 = "97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==";
       };
     }
     {
@@ -9238,7 +9238,7 @@
       path = fetchurl {
         name = "postcss___postcss_5.2.18.tgz";
         url  = "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz";
-        sha1 = "badfa1497d46244f6390f58b319830d9107853c5";
+        sha512 = "zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==";
       };
     }
     {
@@ -9246,7 +9246,7 @@
       path = fetchurl {
         name = "postcss___postcss_7.0.32.tgz";
         url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz";
-        sha1 = "4310d6ee347053da3433db2be492883d62cec59d";
+        sha512 = "03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==";
       };
     }
     {
@@ -9254,7 +9254,7 @@
       path = fetchurl {
         name = "postcss___postcss_8.3.0.tgz";
         url  = "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz";
-        sha1 = "b1a713f6172ca427e3f05ef1303de8b65683325f";
+        sha512 = "+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==";
       };
     }
     {
@@ -9262,7 +9262,7 @@
       path = fetchurl {
         name = "postgres_array___postgres_array_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz";
-        sha1 = "48f8fce054fbc69671999329b8834b772652d82e";
+        sha512 = "VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==";
       };
     }
     {
@@ -9270,7 +9270,7 @@
       path = fetchurl {
         name = "postgres_bytea___postgres_bytea_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz";
-        sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35";
+        sha1 = "AntTPAqokOJtFy1Hz5zOzFIazTU=";
       };
     }
     {
@@ -9278,7 +9278,7 @@
       path = fetchurl {
         name = "postgres_date___postgres_date_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz";
-        sha1 = "51bc086006005e5061c591cee727f2531bf641a8";
+        sha512 = "suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==";
       };
     }
     {
@@ -9286,7 +9286,7 @@
       path = fetchurl {
         name = "postgres_interval___postgres_interval_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz";
-        sha1 = "b460c82cb1587507788819a06aa0fffdb3544695";
+        sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
       };
     }
     {
@@ -9294,7 +9294,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==";
       };
     }
     {
@@ -9302,7 +9302,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=";
       };
     }
     {
@@ -9310,7 +9310,7 @@
       path = fetchurl {
         name = "pretty_format___pretty_format_25.5.0.tgz";
         url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz";
-        sha1 = "7873c1d774f682c34b8d48b6743a2bf2ac55791a";
+        sha512 = "kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==";
       };
     }
     {
@@ -9318,7 +9318,7 @@
       path = fetchurl {
         name = "pretty_format___pretty_format_26.6.2.tgz";
         url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz";
-        sha1 = "e35c2705f14cb7fe2fe94fa078345b444120fc93";
+        sha512 = "7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==";
       };
     }
     {
@@ -9326,7 +9326,7 @@
       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";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     }
     {
@@ -9334,7 +9334,7 @@
       path = fetchurl {
         name = "process___process_0.11.10.tgz";
         url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
-        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+        sha1 = "czIwDoQBYb2j5podHZGn1LwW8YI=";
       };
     }
     {
@@ -9342,7 +9342,7 @@
       path = fetchurl {
         name = "progress___progress_1.1.8.tgz";
         url  = "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz";
-        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+        sha1 = "4mDHj2Fhzdmw5WzD4Khd4Xx6V74=";
       };
     }
     {
@@ -9350,7 +9350,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==";
       };
     }
     {
@@ -9358,7 +9358,7 @@
       path = fetchurl {
         name = "promise_inflight___promise_inflight_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
-        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+        sha1 = "mEcocL8igTL8vdhoEputEsPAKeM=";
       };
     }
     {
@@ -9366,7 +9366,7 @@
       path = fetchurl {
         name = "promise.prototype.finally___promise.prototype.finally_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz";
-        sha1 = "b8af89160c9c673cefe3b4c4435b53cfd0287067";
+        sha512 = "A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA==";
       };
     }
     {
@@ -9374,7 +9374,7 @@
       path = fetchurl {
         name = "prompts___prompts_2.3.2.tgz";
         url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz";
-        sha1 = "480572d89ecf39566d2bd3fe2c9fccb7c4c0b068";
+        sha512 = "Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==";
       };
     }
     {
@@ -9382,7 +9382,7 @@
       path = fetchurl {
         name = "prop_types_extra___prop_types_extra_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz";
-        sha1 = "58c3b74cbfbb95d304625975aa2f0848329a010b";
+        sha512 = "59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==";
       };
     }
     {
@@ -9390,7 +9390,7 @@
       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";
+        sha512 = "8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==";
       };
     }
     {
@@ -9398,7 +9398,7 @@
       path = fetchurl {
         name = "proxy_addr___proxy_addr_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz";
-        sha1 = "fdc2336505447d3f2f2c638ed272caf614bbb2bf";
+        sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
       };
     }
     {
@@ -9406,7 +9406,7 @@
       path = fetchurl {
         name = "prr___prr_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz";
-        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+        sha1 = "0/wRS6BplaRexok/SEzrHXj19HY=";
       };
     }
     {
@@ -9414,7 +9414,7 @@
       path = fetchurl {
         name = "psl___psl_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
-        sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
+        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     }
     {
@@ -9422,7 +9422,7 @@
       path = fetchurl {
         name = "public_encrypt___public_encrypt_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz";
-        sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0";
+        sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==";
       };
     }
     {
@@ -9430,7 +9430,7 @@
       path = fetchurl {
         name = "pump___pump_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz";
-        sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909";
+        sha512 = "ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==";
       };
     }
     {
@@ -9438,7 +9438,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==";
       };
     }
     {
@@ -9446,7 +9446,7 @@
       path = fetchurl {
         name = "pumpify___pumpify_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz";
-        sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce";
+        sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
       };
     }
     {
@@ -9454,7 +9454,7 @@
       path = fetchurl {
         name = "punycode___punycode_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
-        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+        sha1 = "llOgNvt8HuQjQvIyXM7v6jkmxI0=";
       };
     }
     {
@@ -9462,7 +9462,7 @@
       path = fetchurl {
         name = "punycode___punycode_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+        sha1 = "wNWmOycYgArY4esPpSachN1BhF4=";
       };
     }
     {
@@ -9470,7 +9470,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==";
       };
     }
     {
@@ -9478,7 +9478,7 @@
       path = fetchurl {
         name = "q___q_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
-        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+        sha1 = "fjL3W0E4EpHQRhHxvxQQmsAGUdc=";
       };
     }
     {
@@ -9486,7 +9486,7 @@
       path = fetchurl {
         name = "qs___qs_6.7.0.tgz";
         url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
-        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+        sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     }
     {
@@ -9494,7 +9494,7 @@
       path = fetchurl {
         name = "qs___qs_6.5.2.tgz";
         url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
-        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
       };
     }
     {
@@ -9502,7 +9502,7 @@
       path = fetchurl {
         name = "querystring_es3___querystring_es3_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
-        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+        sha1 = "nsYfeQSYdXB9aUFFlv2Qek1xHnM=";
       };
     }
     {
@@ -9510,7 +9510,7 @@
       path = fetchurl {
         name = "querystring___querystring_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
-        sha1 = "b209849203bb25df820da756e747005878521620";
+        sha1 = "sgmEkgO7Jd+CDadW50cAWHhSFiA=";
       };
     }
     {
@@ -9518,7 +9518,7 @@
       path = fetchurl {
         name = "querystringify___querystringify_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz";
-        sha1 = "3345941b4153cb9d082d8eee4cda2016a9aef7f6";
+        sha512 = "FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==";
       };
     }
     {
@@ -9526,7 +9526,7 @@
       path = fetchurl {
         name = "quote___quote_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/quote/-/quote-0.4.0.tgz";
-        sha1 = "10839217f6c1362b89194044d29b233fd7f32f01";
+        sha1 = "EIOSF/bBNiuJGUBE0psjP9fzLwE=";
       };
     }
     {
@@ -9534,7 +9534,7 @@
       path = fetchurl {
         name = "raf___raf_3.4.1.tgz";
         url  = "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz";
-        sha1 = "0742e99a4a6552f445d73e3ee0328af0ff1ede39";
+        sha512 = "Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==";
       };
     }
     {
@@ -9542,7 +9542,7 @@
       path = fetchurl {
         name = "randombytes___randombytes_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
-        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
       };
     }
     {
@@ -9550,7 +9550,7 @@
       path = fetchurl {
         name = "randomfill___randomfill_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz";
-        sha1 = "c92196fc86ab42be983f1bf31778224931d61458";
+        sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==";
       };
     }
     {
@@ -9558,7 +9558,7 @@
       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==";
       };
     }
     {
@@ -9566,7 +9566,7 @@
       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";
+        sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     }
     {
@@ -9574,7 +9574,7 @@
       path = fetchurl {
         name = "react_dom___react_dom_16.14.0.tgz";
         url  = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz";
-        sha1 = "7ad838ec29a777fb3c75c3a190f661cf92ab8b89";
+        sha512 = "1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==";
       };
     }
     {
@@ -9582,7 +9582,7 @@
       path = fetchurl {
         name = "react_event_listener___react_event_listener_0.6.6.tgz";
         url  = "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.6.tgz";
-        sha1 = "758f7b991cad9086dd39fd29fad72127e1d8962a";
+        sha512 = "+hCNqfy7o9wvO6UgjqFmBzARJS7qrNoda0VqzvOuioEpoEXKutiKuv92dSz6kP7rYLmyHPyYNLesi5t/aH1gfw==";
       };
     }
     {
@@ -9590,7 +9590,7 @@
       path = fetchurl {
         name = "react_hotkeys___react_hotkeys_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-1.1.4.tgz";
-        sha1 = "a0712aa2e0c03a759fd7885808598497a4dace72";
+        sha1 = "oHEqouDAOnWf14hYCFmEl6TaznI=";
       };
     }
     {
@@ -9598,7 +9598,7 @@
       path = fetchurl {
         name = "react_immutable_proptypes___react_immutable_proptypes_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz";
-        sha1 = "cce96d68cc3c18e89617cbf3092d08e35126af4a";
+        sha512 = "Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ==";
       };
     }
     {
@@ -9606,7 +9606,7 @@
       path = fetchurl {
         name = "react_immutable_pure_component___react_immutable_pure_component_2.2.2.tgz";
         url  = "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-2.2.2.tgz";
-        sha1 = "3014d3e20cd5a7a4db73b81f1f1464f4d351684b";
+        sha512 = "vkgoMJUDqHZfXXnjVlG3keCxSO/U6WeDQ5/Sl0GK2cH8TOxEzQ5jXqDXHEL/jqk6fsNxV05oH5kD7VNMUE2k+A==";
       };
     }
     {
@@ -9614,7 +9614,7 @@
       path = fetchurl {
         name = "react_infinite_scroller___react_infinite_scroller_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/react-infinite-scroller/-/react-infinite-scroller-1.2.4.tgz";
-        sha1 = "f67eaec4940a4ce6417bebdd6e3433bfc38826e9";
+        sha512 = "/oOa0QhZjXPqaD6sictN2edFMsd3kkMiE19Vcz5JDgHpzEJVqYcmq+V3mkwO88087kvKGe1URNksHEOt839Ubw==";
       };
     }
     {
@@ -9622,7 +9622,7 @@
       path = fetchurl {
         name = "react_input_autosize___react_input_autosize_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-3.0.0.tgz";
-        sha1 = "6b5898c790d4478d69420b55441fcc31d5c50a85";
+        sha512 = "nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==";
       };
     }
     {
@@ -9630,7 +9630,7 @@
       path = fetchurl {
         name = "react_intl_translations_manager___react_intl_translations_manager_5.0.3.tgz";
         url  = "https://registry.yarnpkg.com/react-intl-translations-manager/-/react-intl-translations-manager-5.0.3.tgz";
-        sha1 = "aee010ecf35975673e033ca5d7d3f4147894324d";
+        sha512 = "EfBeugnOGFcdUbQyY9TqBMbuauQ8wm73ZqFr0UqCljhbXl7YDHQcVzclWFRkVmlUffzxitLQFhAZEVVeRNQSwA==";
       };
     }
     {
@@ -9638,7 +9638,7 @@
       path = fetchurl {
         name = "react_intl___react_intl_2.9.0.tgz";
         url  = "https://registry.yarnpkg.com/react-intl/-/react-intl-2.9.0.tgz";
-        sha1 = "c97c5d17d4718f1575fdbd5a769f96018a3b1843";
+        sha512 = "27jnDlb/d2A7mSJwrbOBnUgD+rPep+abmoJE511Tf8BnoONIAUehy/U1zZCHGO17mnOwMWxqN4qC0nW11cD6rA==";
       };
     }
     {
@@ -9646,7 +9646,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==";
       };
     }
     {
@@ -9654,7 +9654,7 @@
       path = fetchurl {
         name = "react_is___react_is_17.0.1.tgz";
         url  = "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz";
-        sha1 = "5b3531bd76a645a4c9fb6e693ed36419e3301339";
+        sha512 = "NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==";
       };
     }
     {
@@ -9662,7 +9662,7 @@
       path = fetchurl {
         name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz";
-        sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362";
+        sha512 = "fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==";
       };
     }
     {
@@ -9670,7 +9670,7 @@
       path = fetchurl {
         name = "react_masonry_infinite___react_masonry_infinite_1.2.2.tgz";
         url  = "https://registry.yarnpkg.com/react-masonry-infinite/-/react-masonry-infinite-1.2.2.tgz";
-        sha1 = "20c1386f9ccdda9747527c8f42bc2c02dd2e7951";
+        sha1 = "IME4b5zN2pdHUnyPQrwsAt0ueVE=";
       };
     }
     {
@@ -9678,7 +9678,7 @@
       path = fetchurl {
         name = "react_motion___react_motion_0.5.2.tgz";
         url  = "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.2.tgz";
-        sha1 = "0dd3a69e411316567927917c6626551ba0607316";
+        sha512 = "9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==";
       };
     }
     {
@@ -9686,7 +9686,7 @@
       path = fetchurl {
         name = "react_notification___react_notification_6.8.5.tgz";
         url  = "https://registry.yarnpkg.com/react-notification/-/react-notification-6.8.5.tgz";
-        sha1 = "7ea90a633bb2a280d899e30c93cf372265cce4f0";
+        sha512 = "3pJPhSsWNYizpyeMeWuC+jVthqE9WKqQ6rHq2naiiP4fLGN4irwL2Xp2Q8Qn7agW/e4BIDxarab6fJOUp1cKUw==";
       };
     }
     {
@@ -9694,7 +9694,7 @@
       path = fetchurl {
         name = "react_overlays___react_overlays_0.9.3.tgz";
         url  = "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.9.3.tgz";
-        sha1 = "5bac8c1e9e7e057a125181dee2d784864dd62902";
+        sha512 = "u2T7nOLnK+Hrntho4p0Nxh+BsJl0bl4Xuwj/Y0a56xywLMetgAfyjnDVrudLXsNcKGaspoC+t3C1V80W9QQTdQ==";
       };
     }
     {
@@ -9702,7 +9702,7 @@
       path = fetchurl {
         name = "react_redux_loading_bar___react_redux_loading_bar_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-4.0.8.tgz";
-        sha1 = "e84d59d1517b79f53b0f39c8ddb40682af648c1b";
+        sha512 = "BpR1tlYrYKFtGhxa7nAKc0dpcV33ZgXJ/jKNLpDDaxu2/cCxbkWQt9YlWT+VLw1x/7qyNYY4DH48bZdtmciSpg==";
       };
     }
     {
@@ -9710,7 +9710,7 @@
       path = fetchurl {
         name = "react_redux___react_redux_7.2.4.tgz";
         url  = "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.4.tgz";
-        sha1 = "1ebb474032b72d806de2e0519cd07761e222e225";
+        sha512 = "hOQ5eOSkEJEXdpIKbnRyl04LhaWabkDPV+Ix97wqQX3T3d2NQ8DUblNXXtNMavc7DpswyQM6xfaN4HQDKNY2JA==";
       };
     }
     {
@@ -9718,7 +9718,7 @@
       path = fetchurl {
         name = "react_router_dom___react_router_dom_4.3.1.tgz";
         url  = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz";
-        sha1 = "4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6";
+        sha512 = "c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==";
       };
     }
     {
@@ -9726,7 +9726,7 @@
       path = fetchurl {
         name = "react_router_scroll_4___react_router_scroll_4_1.0.0_beta.2.tgz";
         url  = "https://registry.yarnpkg.com/react-router-scroll-4/-/react-router-scroll-4-1.0.0-beta.2.tgz";
-        sha1 = "d887063ec0f66124aaf450158dd158ff7d3dc279";
+        sha512 = "K67Dnm75naSBs/WYc2CDNxqU+eE8iA3I0wSCArgGSHb0xR/7AUcgUEXtCxrQYVTogXvjVK60gmwYvOyRQ6fuBA==";
       };
     }
     {
@@ -9734,7 +9734,7 @@
       path = fetchurl {
         name = "react_router___react_router_4.3.1.tgz";
         url  = "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz";
-        sha1 = "aada4aef14c809cb2e686b05cee4742234506c4e";
+        sha512 = "yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==";
       };
     }
     {
@@ -9742,7 +9742,7 @@
       path = fetchurl {
         name = "react_select___react_select_4.3.1.tgz";
         url  = "https://registry.yarnpkg.com/react-select/-/react-select-4.3.1.tgz";
-        sha1 = "389fc07c9bc7cf7d3c377b7a05ea18cd7399cb81";
+        sha512 = "HBBd0dYwkF5aZk1zP81Wx5UsLIIT2lSvAY2JiJo199LjoLHoivjn9//KsmvQMEFGNhe58xyuOITjfxKCcGc62Q==";
       };
     }
     {
@@ -9750,7 +9750,7 @@
       path = fetchurl {
         name = "react_sparklines___react_sparklines_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/react-sparklines/-/react-sparklines-1.7.0.tgz";
-        sha1 = "9b1d97e8c8610095eeb2ad658d2e1fcf91f91a60";
+        sha512 = "bJFt9K4c5Z0k44G8KtxIhbG+iyxrKjBZhdW6afP+R7EnIq+iKjbWbEFISrf3WKNFsda+C46XAfnX0StS5fbDcg==";
       };
     }
     {
@@ -9758,7 +9758,7 @@
       path = fetchurl {
         name = "react_swipeable_views_core___react_swipeable_views_core_0.14.0.tgz";
         url  = "https://registry.yarnpkg.com/react-swipeable-views-core/-/react-swipeable-views-core-0.14.0.tgz";
-        sha1 = "6ac443a7cc7bc5ea022fbd549292bb5fff361cce";
+        sha512 = "0W/e9uPweNEOSPjmYtuKSC/SvKKg1sfo+WtPdnxeLF3t2L82h7jjszuOHz9C23fzkvLfdgkaOmcbAxE9w2GEjA==";
       };
     }
     {
@@ -9766,7 +9766,7 @@
       path = fetchurl {
         name = "react_swipeable_views_utils___react_swipeable_views_utils_0.14.0.tgz";
         url  = "https://registry.yarnpkg.com/react-swipeable-views-utils/-/react-swipeable-views-utils-0.14.0.tgz";
-        sha1 = "6b76e251906747482730c22002fe47ab1014ba32";
+        sha512 = "W+fXBOsDqgFK1/g7MzRMVcDurp3LqO3ksC8UgInh2P/tKgb5DusuuB1geKHFc6o1wKl+4oyER4Zh3Lxmr8xbXA==";
       };
     }
     {
@@ -9774,7 +9774,7 @@
       path = fetchurl {
         name = "react_swipeable_views___react_swipeable_views_0.14.0.tgz";
         url  = "https://registry.yarnpkg.com/react-swipeable-views/-/react-swipeable-views-0.14.0.tgz";
-        sha1 = "149c0df3d92220cc89e3f6d5c04a78dfe46f9b54";
+        sha512 = "wrTT6bi2nC3JbmyNAsPXffUXLn0DVT9SbbcFr36gKpbaCgEp7rX/OFxsu5hPc/NBsUhHyoSRGvwqJNNrWTwCww==";
       };
     }
     {
@@ -9782,7 +9782,7 @@
       path = fetchurl {
         name = "react_test_renderer___react_test_renderer_16.14.0.tgz";
         url  = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz";
-        sha1 = "e98360087348e260c56d4fe2315e970480c228ae";
+        sha512 = "L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==";
       };
     }
     {
@@ -9790,7 +9790,7 @@
       path = fetchurl {
         name = "react_textarea_autosize___react_textarea_autosize_8.3.2.tgz";
         url  = "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.2.tgz";
-        sha1 = "4f9374d357b0a6f6469956726722549124a1b2db";
+        sha512 = "JrMWVgQSaExQByP3ggI1eA8zF4mF0+ddVuX7acUeK2V7bmrpjVOY72vmLz2IXFJSAXoY3D80nEzrn0GWajWK3Q==";
       };
     }
     {
@@ -9798,7 +9798,7 @@
       path = fetchurl {
         name = "react_toggle___react_toggle_4.1.2.tgz";
         url  = "https://registry.yarnpkg.com/react-toggle/-/react-toggle-4.1.2.tgz";
-        sha1 = "b00500832f925ad524356d909821821ae39f6c52";
+        sha512 = "4Ohw31TuYQdhWfA6qlKafeXx3IOH7t4ZHhmRdwsm1fQREwOBGxJT+I22sgHqR/w8JRdk+AeMCJXPImEFSrNXow==";
       };
     }
     {
@@ -9806,7 +9806,7 @@
       path = fetchurl {
         name = "react_transition_group___react_transition_group_2.9.0.tgz";
         url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz";
-        sha1 = "df9cdb025796211151a436c69a8f3b97b5b07c8d";
+        sha512 = "+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==";
       };
     }
     {
@@ -9814,7 +9814,7 @@
       path = fetchurl {
         name = "react_transition_group___react_transition_group_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz";
-        sha1 = "fea832e386cf8796c58b61874a3319704f5ce683";
+        sha512 = "1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==";
       };
     }
     {
@@ -9822,7 +9822,7 @@
       path = fetchurl {
         name = "react___react_16.14.0.tgz";
         url  = "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz";
-        sha1 = "94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d";
+        sha512 = "0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==";
       };
     }
     {
@@ -9830,7 +9830,7 @@
       path = fetchurl {
         name = "read_pkg_up___read_pkg_up_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz";
-        sha1 = "3ed496685dba0f8fe118d0691dc51f4a1ff96f07";
+        sha1 = "PtSWaF26D4/hGNBpHcUfSh/5bwc=";
       };
     }
     {
@@ -9838,7 +9838,7 @@
       path = fetchurl {
         name = "read_pkg_up___read_pkg_up_7.0.1.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
-        sha1 = "f3a6135758459733ae2b95638056e1854e7ef507";
+        sha512 = "zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==";
       };
     }
     {
@@ -9846,7 +9846,7 @@
       path = fetchurl {
         name = "read_pkg___read_pkg_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
-        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+        sha1 = "nLxoaXj+5l0WwA4rGcI3/Pbjg4k=";
       };
     }
     {
@@ -9854,7 +9854,7 @@
       path = fetchurl {
         name = "read_pkg___read_pkg_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz";
-        sha1 = "7bf295438ca5a33e56cd30e053b34ee7250c93cc";
+        sha512 = "Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==";
       };
     }
     {
@@ -9862,7 +9862,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==";
       };
     }
     {
@@ -9870,7 +9870,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==";
       };
     }
     {
@@ -9878,7 +9878,7 @@
       path = fetchurl {
         name = "readdirp___readdirp_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
-        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
       };
     }
     {
@@ -9886,7 +9886,7 @@
       path = fetchurl {
         name = "readdirp___readdirp_3.5.0.tgz";
         url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz";
-        sha1 = "9ba74c019b15d365278d2e91bb8c48d7b4d42c9e";
+        sha512 = "cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==";
       };
     }
     {
@@ -9894,7 +9894,7 @@
       path = fetchurl {
         name = "readline2___readline2_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz";
-        sha1 = "41059608ffc154757b715d9989d199ffbf372e35";
+        sha1 = "QQWWCP/BVHV7cV2ZidGZ/783LjU=";
       };
     }
     {
@@ -9902,7 +9902,7 @@
       path = fetchurl {
         name = "redent___redent_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz";
-        sha1 = "e557b7998316bb53c9f1f56fa626352c6963059f";
+        sha512 = "6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==";
       };
     }
     {
@@ -9910,7 +9910,7 @@
       path = fetchurl {
         name = "redis_commands___redis_commands_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.7.0.tgz";
-        sha1 = "15a6fea2d58281e27b1cd1acfb4b293e278c3a89";
+        sha512 = "nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==";
       };
     }
     {
@@ -9918,7 +9918,7 @@
       path = fetchurl {
         name = "redis_errors___redis_errors_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz";
-        sha1 = "eb62d2adb15e4eaf4610c04afe1529384250abad";
+        sha1 = "62LSrbFeTq9GEMBK/hUpOEJQq60=";
       };
     }
     {
@@ -9926,7 +9926,7 @@
       path = fetchurl {
         name = "redis_parser___redis_parser_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz";
-        sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
+        sha1 = "tm2CjNyv5rS4pCin3vTGvKwxyLQ=";
       };
     }
     {
@@ -9934,7 +9934,7 @@
       path = fetchurl {
         name = "redis___redis_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/redis/-/redis-3.1.2.tgz";
-        sha1 = "766851117e80653d23e0ed536254677ab647638c";
+        sha512 = "grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==";
       };
     }
     {
@@ -9942,7 +9942,7 @@
       path = fetchurl {
         name = "redux_immutable___redux_immutable_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/redux-immutable/-/redux-immutable-4.0.0.tgz";
-        sha1 = "3a1a32df66366462b63691f0e1dc35e472bbc9f3";
+        sha1 = "Ohoy32Y2ZGK2NpHw4dw15HK7yfM=";
       };
     }
     {
@@ -9950,7 +9950,7 @@
       path = fetchurl {
         name = "redux_thunk___redux_thunk_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz";
-        sha1 = "51c2c19a185ed5187aaa9a2d08b666d0d6467622";
+        sha512 = "km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==";
       };
     }
     {
@@ -9958,7 +9958,7 @@
       path = fetchurl {
         name = "redux___redux_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/redux/-/redux-4.1.0.tgz";
-        sha1 = "eb049679f2f523c379f1aff345c8612f294c88d4";
+        sha512 = "uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==";
       };
     }
     {
@@ -9966,7 +9966,7 @@
       path = fetchurl {
         name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
         url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz";
-        sha1 = "e5de7111d655e7ba60c057dbe9ff37c87e65cdec";
+        sha512 = "F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==";
       };
     }
     {
@@ -9974,7 +9974,7 @@
       path = fetchurl {
         name = "regenerate___regenerate_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz";
-        sha1 = "cad92ad8e6b591773485fbe05a485caf4f457e6f";
+        sha512 = "j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==";
       };
     }
     {
@@ -9982,7 +9982,7 @@
       path = fetchurl {
         name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
         url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
-        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
       };
     }
     {
@@ -9990,7 +9990,7 @@
       path = fetchurl {
         name = "regenerator_runtime___regenerator_runtime_0.12.1.tgz";
         url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz";
-        sha1 = "fa1a71544764c036f8c49b13a08b2594c9f8a0de";
+        sha512 = "odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==";
       };
     }
     {
@@ -9998,7 +9998,7 @@
       path = fetchurl {
         name = "regenerator_runtime___regenerator_runtime_0.13.7.tgz";
         url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz";
-        sha1 = "cac2dacc8a1ea675feaabaeb8ae833898ae46f55";
+        sha512 = "a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==";
       };
     }
     {
@@ -10006,7 +10006,7 @@
       path = fetchurl {
         name = "regenerator_transform___regenerator_transform_0.14.5.tgz";
         url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
-        sha1 = "c98da154683671c9c4dcb16ece736517e1b7feb4";
+        sha512 = "eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==";
       };
     }
     {
@@ -10014,7 +10014,7 @@
       path = fetchurl {
         name = "regex_not___regex_not_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
-        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+        sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     }
     {
@@ -10022,7 +10022,7 @@
       path = fetchurl {
         name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz";
-        sha1 = "7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75";
+        sha512 = "2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==";
       };
     }
     {
@@ -10030,7 +10030,7 @@
       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";
+        sha512 = "JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==";
       };
     }
     {
@@ -10038,7 +10038,7 @@
       path = fetchurl {
         name = "regexpp___regexpp_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz";
-        sha1 = "206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2";
+        sha512 = "ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==";
       };
     }
     {
@@ -10046,7 +10046,7 @@
       path = fetchurl {
         name = "regexpu_core___regexpu_core_4.7.1.tgz";
         url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz";
-        sha1 = "2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6";
+        sha512 = "ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==";
       };
     }
     {
@@ -10054,7 +10054,7 @@
       path = fetchurl {
         name = "regjsgen___regjsgen_0.5.2.tgz";
         url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz";
-        sha1 = "92ff295fb1deecbf6ecdab2543d207e91aa33733";
+        sha512 = "OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==";
       };
     }
     {
@@ -10062,7 +10062,7 @@
       path = fetchurl {
         name = "regjsparser___regjsparser_0.6.4.tgz";
         url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz";
-        sha1 = "a769f8684308401a66e9b529d2436ff4d0666272";
+        sha512 = "64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==";
       };
     }
     {
@@ -10070,7 +10070,7 @@
       path = fetchurl {
         name = "rellax___rellax_1.12.1.tgz";
         url  = "https://registry.yarnpkg.com/rellax/-/rellax-1.12.1.tgz";
-        sha1 = "1b433ef7ac4aa3573449a33efab391c112f6b34d";
+        sha512 = "XBIi0CDpW5FLTujYjYBn1CIbK2CJL6TsAg/w409KghP2LucjjzBjsujXDAjyBLWgsfupfUcL5WzdnIPcGfK7XA==";
       };
     }
     {
@@ -10078,7 +10078,7 @@
       path = fetchurl {
         name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
-        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+        sha1 = "wkvOKig62tW8P1jg1IJJuSN52O8=";
       };
     }
     {
@@ -10086,7 +10086,7 @@
       path = fetchurl {
         name = "repeat_element___repeat_element_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz";
-        sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce";
+        sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==";
       };
     }
     {
@@ -10094,7 +10094,7 @@
       path = fetchurl {
         name = "repeat_string___repeat_string_1.6.1.tgz";
         url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
-        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+        sha1 = "jcrkcOHIirwtYA//Sndihtp15jc=";
       };
     }
     {
@@ -10102,7 +10102,7 @@
       path = fetchurl {
         name = "request_promise_core___request_promise_core_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz";
-        sha1 = "3eedd4223208d419867b78ce815167d10593a22f";
+        sha512 = "TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==";
       };
     }
     {
@@ -10110,7 +10110,7 @@
       path = fetchurl {
         name = "request_promise_native___request_promise_native_1.0.9.tgz";
         url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz";
-        sha1 = "e407120526a5efdc9a39b28a5679bf47b9d9dc28";
+        sha512 = "wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==";
       };
     }
     {
@@ -10118,7 +10118,7 @@
       path = fetchurl {
         name = "request___request_2.88.2.tgz";
         url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
-        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
+        sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
       };
     }
     {
@@ -10126,7 +10126,7 @@
       path = fetchurl {
         name = "requestidlecallback___requestidlecallback_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/requestidlecallback/-/requestidlecallback-0.3.0.tgz";
-        sha1 = "6fb74e0733f90df3faa4838f9f6a2a5f9b742ac5";
+        sha1 = "b7dOBzP5DfP6pIOPn2oqX5t0KsU=";
       };
     }
     {
@@ -10134,7 +10134,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=";
       };
     }
     {
@@ -10142,7 +10142,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==";
       };
     }
     {
@@ -10150,7 +10150,7 @@
       path = fetchurl {
         name = "require_main_filename___require_main_filename_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
-        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     }
     {
@@ -10158,7 +10158,7 @@
       path = fetchurl {
         name = "require_package_name___require_package_name_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz";
-        sha1 = "c11e97276b65b8e2923f75dabf5fb2ef0c3841b9";
+        sha1 = "wR6XJ2tluOKSP3Xav1+y7ww4Qbk=";
       };
     }
     {
@@ -10166,7 +10166,7 @@
       path = fetchurl {
         name = "require_uncached___require_uncached_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz";
-        sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
+        sha1 = "Tg1W1slmL9MeQwEcS5WqSZVUIdM=";
       };
     }
     {
@@ -10174,7 +10174,7 @@
       path = fetchurl {
         name = "requires_port___requires_port_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
-        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+        sha1 = "kl0mAdOaxIXgkc8NpcbmlNw9yv8=";
       };
     }
     {
@@ -10182,7 +10182,7 @@
       path = fetchurl {
         name = "reselect___reselect_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz";
-        sha1 = "f2529830e5d3d0e021408b246a206ef4ea4437f7";
+        sha512 = "qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==";
       };
     }
     {
@@ -10190,7 +10190,7 @@
       path = fetchurl {
         name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
-        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+        sha1 = "AKn3OHVW4nA46uIyyqNypqWbZlo=";
       };
     }
     {
@@ -10198,7 +10198,7 @@
       path = fetchurl {
         name = "resolve_cwd___resolve_cwd_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz";
-        sha1 = "0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d";
+        sha512 = "OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==";
       };
     }
     {
@@ -10206,7 +10206,7 @@
       path = fetchurl {
         name = "resolve_dir___resolve_dir_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz";
-        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+        sha1 = "eaQGRMNivoLybv/nOcm7U4IEb0M=";
       };
     }
     {
@@ -10214,7 +10214,7 @@
       path = fetchurl {
         name = "resolve_from___resolve_from_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz";
-        sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
+        sha1 = "Jsv+k10a7uq7Kbw/5a6wHpPUQiY=";
       };
     }
     {
@@ -10222,7 +10222,7 @@
       path = fetchurl {
         name = "resolve_from___resolve_from_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz";
-        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+        sha1 = "six699nWiBvItuZTM17rywoYh0g=";
       };
     }
     {
@@ -10230,7 +10230,7 @@
       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==";
       };
     }
     {
@@ -10238,7 +10238,7 @@
       path = fetchurl {
         name = "resolve_from___resolve_from_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz";
-        sha1 = "c35225843df8f776df21c57557bc087e9dfdfc69";
+        sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
       };
     }
     {
@@ -10246,7 +10246,7 @@
       path = fetchurl {
         name = "resolve_pathname___resolve_pathname_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz";
-        sha1 = "7e9ae21ed815fd63ab189adeee64dc831eefa879";
+        sha512 = "bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==";
       };
     }
     {
@@ -10254,7 +10254,7 @@
       path = fetchurl {
         name = "resolve_pathname___resolve_pathname_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz";
-        sha1 = "99d02224d3cf263689becbb393bc560313025dcd";
+        sha512 = "C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==";
       };
     }
     {
@@ -10262,7 +10262,7 @@
       path = fetchurl {
         name = "resolve_url___resolve_url_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
-        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+        sha1 = "LGN/53yJOv0qZj/iGqkIAGjiBSo=";
       };
     }
     {
@@ -10270,7 +10270,7 @@
       path = fetchurl {
         name = "resolve___resolve_1.20.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz";
-        sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975";
+        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
       };
     }
     {
@@ -10278,7 +10278,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==";
       };
     }
     {
@@ -10286,7 +10286,7 @@
       path = fetchurl {
         name = "restore_cursor___restore_cursor_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz";
-        sha1 = "34661f46886327fed2991479152252df92daa541";
+        sha1 = "NGYfRohjJ/7SmRR5FSJS35LapUE=";
       };
     }
     {
@@ -10294,7 +10294,7 @@
       path = fetchurl {
         name = "ret___ret_0.1.15.tgz";
         url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
-        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
       };
     }
     {
@@ -10302,7 +10302,7 @@
       path = fetchurl {
         name = "retry___retry_0.12.0.tgz";
         url  = "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz";
-        sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
+        sha1 = "G0KmJmoh8HQh0bC1S33BZ7AcATs=";
       };
     }
     {
@@ -10310,7 +10310,7 @@
       path = fetchurl {
         name = "rgb_regex___rgb_regex_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz";
-        sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+        sha1 = "wODWiC3w4jviVKR16O3UGRX+rrE=";
       };
     }
     {
@@ -10318,7 +10318,7 @@
       path = fetchurl {
         name = "rgba_regex___rgba_regex_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz";
-        sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+        sha1 = "QzdOLiyglosO8VI0YLfXMP8i7rM=";
       };
     }
     {
@@ -10326,7 +10326,7 @@
       path = fetchurl {
         name = "rimraf___rimraf_2.7.1.tgz";
         url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
-        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     }
     {
@@ -10334,7 +10334,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==";
       };
     }
     {
@@ -10342,7 +10342,7 @@
       path = fetchurl {
         name = "rimraf___rimraf_2.6.3.tgz";
         url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz";
-        sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab";
+        sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
       };
     }
     {
@@ -10350,7 +10350,7 @@
       path = fetchurl {
         name = "ripemd160___ripemd160_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz";
-        sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c";
+        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
       };
     }
     {
@@ -10358,7 +10358,7 @@
       path = fetchurl {
         name = "rsvp___rsvp_4.8.5.tgz";
         url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz";
-        sha1 = "c8f155311d167f68f21e168df71ec5b083113734";
+        sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==";
       };
     }
     {
@@ -10366,7 +10366,7 @@
       path = fetchurl {
         name = "run_async___run_async_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz";
-        sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389";
+        sha1 = "yK1KXhEGYeQCp9IbUw4AnyX444k=";
       };
     }
     {
@@ -10374,7 +10374,7 @@
       path = fetchurl {
         name = "run_queue___run_queue_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz";
-        sha1 = "e848396f057d223f24386924618e25694161ec47";
+        sha1 = "6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=";
       };
     }
     {
@@ -10382,7 +10382,7 @@
       path = fetchurl {
         name = "rx_lite___rx_lite_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz";
-        sha1 = "19ce502ca572665f3b647b10939f97fd1615f102";
+        sha1 = "Gc5QLKVyZl87ZHsQk5+X/RYV8QI=";
       };
     }
     {
@@ -10390,7 +10390,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==";
       };
     }
     {
@@ -10398,7 +10398,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==";
       };
     }
     {
@@ -10406,7 +10406,7 @@
       path = fetchurl {
         name = "safe_regex___safe_regex_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
-        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+        sha1 = "QKNmnzsHfR6UPURinhV91IAjvy4=";
       };
     }
     {
@@ -10414,7 +10414,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==";
       };
     }
     {
@@ -10422,7 +10422,7 @@
       path = fetchurl {
         name = "sane___sane_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz";
-        sha1 = "ed881fd922733a6c461bc189dc2b6c006f3ffded";
+        sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==";
       };
     }
     {
@@ -10430,7 +10430,7 @@
       path = fetchurl {
         name = "sass_lint___sass_lint_1.13.1.tgz";
         url  = "https://registry.yarnpkg.com/sass-lint/-/sass-lint-1.13.1.tgz";
-        sha1 = "5fd2b2792e9215272335eb0f0dc607f61e8acc8f";
+        sha512 = "DSyah8/MyjzW2BWYmQWekYEKir44BpLqrCFsgs9iaWiVTcwZfwXHF586hh3D1n+/9ihUNMfd8iHAyb9KkGgs7Q==";
       };
     }
     {
@@ -10438,7 +10438,7 @@
       path = fetchurl {
         name = "sass_loader___sass_loader_10.2.0.tgz";
         url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.2.0.tgz";
-        sha1 = "3d64c1590f911013b3fa48a0b22a83d5e1494716";
+        sha512 = "kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==";
       };
     }
     {
@@ -10446,7 +10446,7 @@
       path = fetchurl {
         name = "sass___sass_1.34.0.tgz";
         url  = "https://registry.yarnpkg.com/sass/-/sass-1.34.0.tgz";
-        sha1 = "e46d5932d8b0ecc4feb846d861f26a578f7f7172";
+        sha512 = "rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==";
       };
     }
     {
@@ -10454,7 +10454,7 @@
       path = fetchurl {
         name = "sax___sax_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
-        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     }
     {
@@ -10462,7 +10462,7 @@
       path = fetchurl {
         name = "saxes___saxes_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz";
-        sha1 = "eebab953fa3b7608dbe94e5dadb15c888fa6696d";
+        sha512 = "5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==";
       };
     }
     {
@@ -10470,7 +10470,7 @@
       path = fetchurl {
         name = "scheduler___scheduler_0.19.1.tgz";
         url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz";
-        sha1 = "4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196";
+        sha512 = "n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==";
       };
     }
     {
@@ -10478,7 +10478,7 @@
       path = fetchurl {
         name = "schema_utils___schema_utils_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz";
-        sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770";
+        sha512 = "i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==";
       };
     }
     {
@@ -10486,7 +10486,7 @@
       path = fetchurl {
         name = "schema_utils___schema_utils_2.7.1.tgz";
         url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz";
-        sha1 = "1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7";
+        sha512 = "SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==";
       };
     }
     {
@@ -10494,7 +10494,7 @@
       path = fetchurl {
         name = "schema_utils___schema_utils_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz";
-        sha1 = "67502f6aa2b66a2d4032b4279a2944978a0913ef";
+        sha512 = "6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==";
       };
     }
     {
@@ -10502,7 +10502,7 @@
       path = fetchurl {
         name = "scroll_behavior___scroll_behavior_0.9.12.tgz";
         url  = "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.12.tgz";
-        sha1 = "1c22d273ec4ce6cd4714a443fead50227da9424c";
+        sha512 = "18sirtyq1P/VsBX6O/vgw20Np+ngduFXEMO4/NDFXabdOKBL2kjPVUpz1y0+jm99EWwFJafxf5/tCyMeXt9Xyg==";
       };
     }
     {
@@ -10510,7 +10510,7 @@
       path = fetchurl {
         name = "select_hose___select_hose_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
-        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+        sha1 = "Yl2GWPhlr0Psliv8N2o3NZpJlMo=";
       };
     }
     {
@@ -10518,7 +10518,7 @@
       path = fetchurl {
         name = "selfsigned___selfsigned_1.10.8.tgz";
         url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz";
-        sha1 = "0d17208b7d12c33f8eac85c41835f27fc3d81a30";
+        sha512 = "2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==";
       };
     }
     {
@@ -10526,7 +10526,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==";
       };
     }
     {
@@ -10534,7 +10534,7 @@
       path = fetchurl {
         name = "semver___semver_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz";
-        sha1 = "5f3ca35761e47e05b206c6daff2cf814f0316b8e";
+        sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     }
     {
@@ -10542,7 +10542,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==";
       };
     }
     {
@@ -10550,7 +10550,7 @@
       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==";
       };
     }
     {
@@ -10558,7 +10558,7 @@
       path = fetchurl {
         name = "send___send_0.17.1.tgz";
         url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
-        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+        sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
       };
     }
     {
@@ -10566,7 +10566,7 @@
       path = fetchurl {
         name = "serialize_javascript___serialize_javascript_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz";
-        sha1 = "ecec53b0e0317bdc95ef76ab7074b7384785fa61";
+        sha512 = "rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==";
       };
     }
     {
@@ -10574,7 +10574,7 @@
       path = fetchurl {
         name = "serialize_javascript___serialize_javascript_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
-        sha1 = "7886ec848049a462467a97d3d918ebb2aaf934f4";
+        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
       };
     }
     {
@@ -10582,7 +10582,7 @@
       path = fetchurl {
         name = "serve_index___serve_index_1.9.1.tgz";
         url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz";
-        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+        sha1 = "03aNabHn2C5c4FD/9bRTvqEqkjk=";
       };
     }
     {
@@ -10590,7 +10590,7 @@
       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";
+        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
       };
     }
     {
@@ -10598,7 +10598,7 @@
       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=";
       };
     }
     {
@@ -10606,7 +10606,7 @@
       path = fetchurl {
         name = "set_value___set_value_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
-        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
+        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
       };
     }
     {
@@ -10614,7 +10614,7 @@
       path = fetchurl {
         name = "setimmediate___setimmediate_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
-        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+        sha1 = "KQy7Iy4waULX1+qbg3Mqt4VvgoU=";
       };
     }
     {
@@ -10622,7 +10622,7 @@
       path = fetchurl {
         name = "setprototypeof___setprototypeof_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz";
-        sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656";
+        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
       };
     }
     {
@@ -10630,7 +10630,7 @@
       path = fetchurl {
         name = "setprototypeof___setprototypeof_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
-        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
       };
     }
     {
@@ -10638,7 +10638,7 @@
       path = fetchurl {
         name = "sha.js___sha.js_2.4.11.tgz";
         url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz";
-        sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7";
+        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
       };
     }
     {
@@ -10646,7 +10646,7 @@
       path = fetchurl {
         name = "shallow_clone___shallow_clone_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz";
-        sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3";
+        sha512 = "/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==";
       };
     }
     {
@@ -10654,7 +10654,7 @@
       path = fetchurl {
         name = "shallow_equal___shallow_equal_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz";
-        sha1 = "4c16abfa56043aa20d050324efa68940b0da79da";
+        sha512 = "S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==";
       };
     }
     {
@@ -10662,7 +10662,7 @@
       path = fetchurl {
         name = "shebang_command___shebang_command_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
-        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+        sha1 = "RKrGW2lbAzmJaMOfNj/uXer98eo=";
       };
     }
     {
@@ -10670,7 +10670,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==";
       };
     }
     {
@@ -10678,7 +10678,7 @@
       path = fetchurl {
         name = "shebang_regex___shebang_regex_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
-        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+        sha1 = "2kL0l0DAtC2yypcoVxyxkMmO/qM=";
       };
     }
     {
@@ -10686,7 +10686,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==";
       };
     }
     {
@@ -10694,7 +10694,7 @@
       path = fetchurl {
         name = "shelljs___shelljs_0.6.1.tgz";
         url  = "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz";
-        sha1 = "ec6211bed1920442088fe0f70b2837232ed2c8a8";
+        sha1 = "7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=";
       };
     }
     {
@@ -10702,7 +10702,7 @@
       path = fetchurl {
         name = "shellwords___shellwords_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz";
-        sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b";
+        sha512 = "vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==";
       };
     }
     {
@@ -10710,7 +10710,7 @@
       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==";
       };
     }
     {
@@ -10718,7 +10718,7 @@
       path = fetchurl {
         name = "signal_exit___signal_exit_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz";
-        sha1 = "a1410c2edd8f077b08b4e253c8eacfcaf057461c";
+        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
       };
     }
     {
@@ -10726,7 +10726,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=";
       };
     }
     {
@@ -10734,7 +10734,7 @@
       path = fetchurl {
         name = "sirv___sirv_1.0.10.tgz";
         url  = "https://registry.yarnpkg.com/sirv/-/sirv-1.0.10.tgz";
-        sha1 = "3e591f5a9ae2520f50d5830f5fae38d97e7be194";
+        sha512 = "H5EZCoZaggEUQy8ocKsF7WAToGuZhjJlLvM3XOef46CbdIgbNeQ1p32N1PCuCjkVYwrAVOSMacN6CXXgIzuspg==";
       };
     }
     {
@@ -10742,7 +10742,7 @@
       path = fetchurl {
         name = "sisteransi___sisteransi_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz";
-        sha1 = "134d681297756437cc05ca01370d3a7a571075ed";
+        sha512 = "bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==";
       };
     }
     {
@@ -10750,7 +10750,7 @@
       path = fetchurl {
         name = "slash___slash_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
-        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+        sha1 = "xB8vbDn8FtHNF61LXYlhFK5HDVU=";
       };
     }
     {
@@ -10758,7 +10758,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==";
       };
     }
     {
@@ -10766,7 +10766,7 @@
       path = fetchurl {
         name = "slice_ansi___slice_ansi_0.0.4.tgz";
         url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz";
-        sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35";
+        sha1 = "7b+JA/ZvfOL46v1s7tZeJkyDGzU=";
       };
     }
     {
@@ -10774,7 +10774,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==";
       };
     }
     {
@@ -10782,7 +10782,7 @@
       path = fetchurl {
         name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
-        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
       };
     }
     {
@@ -10790,7 +10790,7 @@
       path = fetchurl {
         name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
-        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
       };
     }
     {
@@ -10798,7 +10798,7 @@
       path = fetchurl {
         name = "snapdragon___snapdragon_0.8.2.tgz";
         url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
-        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
       };
     }
     {
@@ -10806,7 +10806,7 @@
       path = fetchurl {
         name = "sockjs_client___sockjs_client_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.0.tgz";
-        sha1 = "2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add";
+        sha512 = "8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==";
       };
     }
     {
@@ -10814,7 +10814,7 @@
       path = fetchurl {
         name = "sockjs___sockjs_0.3.21.tgz";
         url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz";
-        sha1 = "b34ffb98e796930b60a0cfa11904d6a339a7d417";
+        sha512 = "DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==";
       };
     }
     {
@@ -10822,7 +10822,7 @@
       path = fetchurl {
         name = "source_list_map___source_list_map_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz";
-        sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34";
+        sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==";
       };
     }
     {
@@ -10830,7 +10830,7 @@
       path = fetchurl {
         name = "source_map_js___source_map_js_0.6.2.tgz";
         url  = "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz";
-        sha1 = "0bb5de631b41cfbda6cfba8bd05a80efdfd2385e";
+        sha512 = "/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==";
       };
     }
     {
@@ -10838,7 +10838,7 @@
       path = fetchurl {
         name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
         url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
-        sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a";
+        sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==";
       };
     }
     {
@@ -10846,7 +10846,7 @@
       path = fetchurl {
         name = "source_map_resolve___source_map_resolve_0.6.0.tgz";
         url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz";
-        sha1 = "3d9df87e236b53f16d01e58150fc7711138e5ed2";
+        sha512 = "KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==";
       };
     }
     {
@@ -10854,7 +10854,7 @@
       path = fetchurl {
         name = "source_map_support___source_map_support_0.5.19.tgz";
         url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz";
-        sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61";
+        sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==";
       };
     }
     {
@@ -10862,7 +10862,7 @@
       path = fetchurl {
         name = "source_map_url___source_map_url_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
-        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+        sha1 = "PpNdfd1zYxuXZZlW1VEo6HtQhKM=";
       };
     }
     {
@@ -10870,7 +10870,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.5.6.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz";
-        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+        sha1 = "dc449SvwczxafwwRjYEzSiu19BI=";
       };
     }
     {
@@ -10878,7 +10878,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.5.7.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
-        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+        sha1 = "igOdLRAh0i0eoUyA2OpGi6LvP8w=";
       };
     }
     {
@@ -10886,7 +10886,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==";
       };
     }
     {
@@ -10894,7 +10894,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.7.3.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz";
-        sha1 = "5302f8169031735226544092e64981f751750383";
+        sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
       };
     }
     {
@@ -10902,7 +10902,7 @@
       path = fetchurl {
         name = "spdx_correct___spdx_correct_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz";
-        sha1 = "dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9";
+        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
       };
     }
     {
@@ -10910,7 +10910,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==";
       };
     }
     {
@@ -10918,7 +10918,7 @@
       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==";
       };
     }
     {
@@ -10926,7 +10926,7 @@
       path = fetchurl {
         name = "spdx_license_ids___spdx_license_ids_3.0.6.tgz";
         url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz";
-        sha1 = "c80757383c28abf7296744998cbc106ae8b854ce";
+        sha512 = "+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==";
       };
     }
     {
@@ -10934,7 +10934,7 @@
       path = fetchurl {
         name = "spdy_transport___spdy_transport_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz";
-        sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31";
+        sha512 = "hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==";
       };
     }
     {
@@ -10942,7 +10942,7 @@
       path = fetchurl {
         name = "spdy___spdy_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz";
-        sha1 = "b74f466203a3eda452c02492b91fb9e84a27677b";
+        sha512 = "r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==";
       };
     }
     {
@@ -10950,7 +10950,7 @@
       path = fetchurl {
         name = "split_string___split_string_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
-        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+        sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
       };
     }
     {
@@ -10958,7 +10958,7 @@
       path = fetchurl {
         name = "split2___split2_3.2.2.tgz";
         url  = "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz";
-        sha1 = "bf2cf2a37d838312c249c89206fd7a17dd12365f";
+        sha512 = "9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==";
       };
     }
     {
@@ -10966,7 +10966,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=";
       };
     }
     {
@@ -10974,7 +10974,7 @@
       path = fetchurl {
         name = "sshpk___sshpk_1.16.1.tgz";
         url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
-        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
       };
     }
     {
@@ -10982,7 +10982,7 @@
       path = fetchurl {
         name = "ssri___ssri_6.0.2.tgz";
         url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz";
-        sha1 = "157939134f20464e7301ddba3e90ffa8f7728ac5";
+        sha512 = "cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==";
       };
     }
     {
@@ -10990,7 +10990,7 @@
       path = fetchurl {
         name = "ssri___ssri_8.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz";
-        sha1 = "79ca74e21f8ceaeddfcb4b90143c458b8d988808";
+        sha512 = "aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==";
       };
     }
     {
@@ -10998,7 +10998,7 @@
       path = fetchurl {
         name = "stable___stable_0.1.8.tgz";
         url  = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz";
-        sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf";
+        sha512 = "ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==";
       };
     }
     {
@@ -11006,7 +11006,7 @@
       path = fetchurl {
         name = "stack_generator___stack_generator_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.5.tgz";
-        sha1 = "fb00e5b4ee97de603e0773ea78ce944d81596c36";
+        sha512 = "/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==";
       };
     }
     {
@@ -11014,7 +11014,7 @@
       path = fetchurl {
         name = "stack_utils___stack_utils_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz";
-        sha1 = "5cf48b4557becb4638d0bc4f21d23f5d19586593";
+        sha512 = "0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==";
       };
     }
     {
@@ -11022,7 +11022,7 @@
       path = fetchurl {
         name = "stackframe___stackframe_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz";
-        sha1 = "52429492d63c62eb989804c11552e3d22e779303";
+        sha512 = "GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==";
       };
     }
     {
@@ -11030,7 +11030,7 @@
       path = fetchurl {
         name = "stacktrace_gps___stacktrace_gps_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz";
-        sha1 = "7688dc2fc09ffb3a13165ebe0dbcaf41bcf0c69a";
+        sha512 = "qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg==";
       };
     }
     {
@@ -11038,7 +11038,7 @@
       path = fetchurl {
         name = "stacktrace_js___stacktrace_js_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz";
-        sha1 = "4ca93ea9f494752d55709a081d400fdaebee897b";
+        sha512 = "Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==";
       };
     }
     {
@@ -11046,7 +11046,7 @@
       path = fetchurl {
         name = "static_extend___static_extend_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
-        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+        sha1 = "YICcOcv/VTNyJv1eC1IPNB8ftcY=";
       };
     }
     {
@@ -11054,7 +11054,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=";
       };
     }
     {
@@ -11062,7 +11062,7 @@
       path = fetchurl {
         name = "stealthy_require___stealthy_require_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
-        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+        sha1 = "NbCYdbT/SfJqd35QmzCQoyJr8ks=";
       };
     }
     {
@@ -11070,7 +11070,7 @@
       path = fetchurl {
         name = "stream_browserify___stream_browserify_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz";
-        sha1 = "87521d38a44aa7ee91ce1cd2a47df0cb49dd660b";
+        sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==";
       };
     }
     {
@@ -11078,7 +11078,7 @@
       path = fetchurl {
         name = "stream_each___stream_each_1.2.3.tgz";
         url  = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz";
-        sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae";
+        sha512 = "vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==";
       };
     }
     {
@@ -11086,7 +11086,7 @@
       path = fetchurl {
         name = "stream_http___stream_http_2.8.3.tgz";
         url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz";
-        sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc";
+        sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==";
       };
     }
     {
@@ -11094,7 +11094,7 @@
       path = fetchurl {
         name = "stream_shift___stream_shift_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz";
-        sha1 = "d7088281559ab2778424279b0877da3c392d5a3d";
+        sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
       };
     }
     {
@@ -11102,7 +11102,7 @@
       path = fetchurl {
         name = "string_length___string_length_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz";
-        sha1 = "4a973bf31ef77c4edbceadd6af2611996985f8a1";
+        sha512 = "PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==";
       };
     }
     {
@@ -11110,7 +11110,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";
+        sha1 = "EYvfW4zcUaKn5w0hHgfisLmxB9M=";
       };
     }
     {
@@ -11118,7 +11118,7 @@
       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";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
       };
     }
     {
@@ -11126,7 +11126,7 @@
       path = fetchurl {
         name = "string_width___string_width_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
-        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     }
     {
@@ -11134,7 +11134,7 @@
       path = fetchurl {
         name = "string_width___string_width_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz";
-        sha1 = "952182c46cc7b2c313d1596e623992bd163b72b5";
+        sha512 = "zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==";
       };
     }
     {
@@ -11142,7 +11142,7 @@
       path = fetchurl {
         name = "string.prototype.matchall___string.prototype.matchall_4.0.5.tgz";
         url  = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz";
-        sha1 = "59370644e1db7e4c0c045277690cf7b01203c4da";
+        sha512 = "Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==";
       };
     }
     {
@@ -11150,7 +11150,7 @@
       path = fetchurl {
         name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz";
-        sha1 = "85812a6b847ac002270f5808146064c995fb6913";
+        sha512 = "LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==";
       };
     }
     {
@@ -11158,7 +11158,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==";
       };
     }
     {
@@ -11166,7 +11166,7 @@
       path = fetchurl {
         name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz";
-        sha1 = "14af6d9f34b053f7cfc89b72f8f2ee14b9039a54";
+        sha512 = "XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==";
       };
     }
     {
@@ -11174,7 +11174,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==";
       };
     }
     {
@@ -11182,7 +11182,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==";
       };
     }
     {
@@ -11190,7 +11190,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==";
       };
     }
     {
@@ -11198,7 +11198,7 @@
       path = fetchurl {
         name = "stringz___stringz_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/stringz/-/stringz-2.1.0.tgz";
-        sha1 = "5896b4713eac31157556040fb90258fb02c1630c";
+        sha512 = "KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==";
       };
     }
     {
@@ -11206,7 +11206,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";
+        sha1 = "ajhfuIU9lS1f8F0Oiq+UJ43GPc8=";
       };
     }
     {
@@ -11214,7 +11214,7 @@
       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 = "qEeQIusaw2iocTibY1JixQXuNo8=";
       };
     }
     {
@@ -11222,7 +11222,7 @@
       path = fetchurl {
         name = "strip_ansi___strip_ansi_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     }
     {
@@ -11230,7 +11230,7 @@
       path = fetchurl {
         name = "strip_ansi___strip_ansi_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz";
-        sha1 = "0b1571dd7669ccd4f3e06e14ef1eed26225ae532";
+        sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
       };
     }
     {
@@ -11238,7 +11238,7 @@
       path = fetchurl {
         name = "strip_bom___strip_bom_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+        sha1 = "IzTBjpx1n3vdVv3vfprj1YjmjtM=";
       };
     }
     {
@@ -11246,7 +11246,7 @@
       path = fetchurl {
         name = "strip_bom___strip_bom_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz";
-        sha1 = "9c3505c1db45bcedca3d9cf7a16f5c5aa3901878";
+        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
       };
     }
     {
@@ -11254,7 +11254,7 @@
       path = fetchurl {
         name = "strip_comments___strip_comments_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz";
-        sha1 = "4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b";
+        sha512 = "ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==";
       };
     }
     {
@@ -11262,7 +11262,7 @@
       path = fetchurl {
         name = "strip_eof___strip_eof_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
-        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+        sha1 = "u0P/VZim6wXYm1n80SnJgzE2Br8=";
       };
     }
     {
@@ -11270,7 +11270,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==";
       };
     }
     {
@@ -11278,7 +11278,7 @@
       path = fetchurl {
         name = "strip_indent___strip_indent_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz";
-        sha1 = "c32e1cee940b6b3432c771bc2c54bcce73cd3001";
+        sha512 = "laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==";
       };
     }
     {
@@ -11286,7 +11286,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==";
       };
     }
     {
@@ -11294,7 +11294,7 @@
       path = fetchurl {
         name = "strip_json_comments___strip_json_comments_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
-        sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
+        sha1 = "HhX7ysl9Pumb8tc7TGVrCCu6+5E=";
       };
     }
     {
@@ -11302,7 +11302,7 @@
       path = fetchurl {
         name = "stylehacks___stylehacks_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz";
-        sha1 = "6718fcaf4d1e07d8a1318690881e8d96726a71d5";
+        sha512 = "7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==";
       };
     }
     {
@@ -11310,7 +11310,7 @@
       path = fetchurl {
         name = "stylis___stylis_4.0.6.tgz";
         url  = "https://registry.yarnpkg.com/stylis/-/stylis-4.0.6.tgz";
-        sha1 = "0d8b97b6bc4748bea46f68602b6df27641b3c548";
+        sha512 = "1igcUEmYFBEO14uQHAJhCUelTR5jPztfdVKrYxRnDa5D5Dn3w0NxXupJNPr/VV/yRfZYEAco8sTIRZzH3sRYKg==";
       };
     }
     {
@@ -11318,7 +11318,7 @@
       path = fetchurl {
         name = "substring_trie___substring_trie_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/substring-trie/-/substring-trie-1.0.2.tgz";
-        sha1 = "7b42592391628b4f2cb17365c6cce4257c7b7af5";
+        sha1 = "e0JZI5Fii08ssXNlxszkJXx7evU=";
       };
     }
     {
@@ -11326,7 +11326,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
-        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+        sha1 = "U10EXOa2Nj+kARcIRimZXp3zJMc=";
       };
     }
     {
@@ -11334,7 +11334,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_3.2.3.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz";
-        sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+        sha1 = "ZawFBLOVQXHYpklGsq48u4pfVPY=";
       };
     }
     {
@@ -11342,7 +11342,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==";
       };
     }
     {
@@ -11350,7 +11350,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
-        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
       };
     }
     {
@@ -11358,7 +11358,7 @@
       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==";
       };
     }
     {
@@ -11366,7 +11366,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==";
       };
     }
     {
@@ -11374,7 +11374,7 @@
       path = fetchurl {
         name = "supports_hyperlinks___supports_hyperlinks_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz";
-        sha1 = "f663df252af5f37c5d49bbd7eeefa9e0b9e59e47";
+        sha512 = "zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==";
       };
     }
     {
@@ -11382,7 +11382,7 @@
       path = fetchurl {
         name = "svgo___svgo_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz";
-        sha1 = "b6dc511c063346c9e415b81e43401145b96d4167";
+        sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
       };
     }
     {
@@ -11390,7 +11390,7 @@
       path = fetchurl {
         name = "symbol_tree___symbol_tree_3.2.4.tgz";
         url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
+        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
       };
     }
     {
@@ -11398,7 +11398,7 @@
       path = fetchurl {
         name = "table___table_3.8.3.tgz";
         url  = "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz";
-        sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
+        sha1 = "K7xULw/amGGnVdOUf+/Ys/UThV8=";
       };
     }
     {
@@ -11406,7 +11406,7 @@
       path = fetchurl {
         name = "table___table_6.7.1.tgz";
         url  = "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz";
-        sha1 = "ee05592b7143831a8c94f3cee6aae4c1ccef33e2";
+        sha512 = "ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==";
       };
     }
     {
@@ -11414,7 +11414,7 @@
       path = fetchurl {
         name = "tapable___tapable_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz";
-        sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2";
+        sha512 = "4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==";
       };
     }
     {
@@ -11422,7 +11422,7 @@
       path = fetchurl {
         name = "tar___tar_6.0.5.tgz";
         url  = "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz";
-        sha1 = "bde815086e10b39f1dcd298e89d596e1535e200f";
+        sha512 = "0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==";
       };
     }
     {
@@ -11430,7 +11430,7 @@
       path = fetchurl {
         name = "tcomb___tcomb_2.7.0.tgz";
         url  = "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz";
-        sha1 = "10d62958041669a5d53567b9a4ee8cde22b1c2b0";
+        sha1 = "ENYpWAQWaaXVNWe5pO6M3iKxwrA=";
       };
     }
     {
@@ -11438,7 +11438,7 @@
       path = fetchurl {
         name = "terminal_link___terminal_link_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz";
-        sha1 = "14a64a27ab3c0df933ea546fba55f2d078edc994";
+        sha512 = "un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==";
       };
     }
     {
@@ -11446,7 +11446,7 @@
       path = fetchurl {
         name = "terser_webpack_plugin___terser_webpack_plugin_1.4.3.tgz";
         url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz";
-        sha1 = "5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c";
+        sha512 = "QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==";
       };
     }
     {
@@ -11454,7 +11454,7 @@
       path = fetchurl {
         name = "terser_webpack_plugin___terser_webpack_plugin_4.2.3.tgz";
         url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz";
-        sha1 = "28daef4a83bd17c1db0297070adc07fc8cfc6a9a";
+        sha512 = "jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==";
       };
     }
     {
@@ -11462,7 +11462,7 @@
       path = fetchurl {
         name = "terser___terser_4.8.0.tgz";
         url  = "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz";
-        sha1 = "63056343d7c70bb29f3af665865a46fe03a0df17";
+        sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
       };
     }
     {
@@ -11470,7 +11470,7 @@
       path = fetchurl {
         name = "terser___terser_5.3.4.tgz";
         url  = "https://registry.yarnpkg.com/terser/-/terser-5.3.4.tgz";
-        sha1 = "e510e05f86e0bd87f01835c3238839193f77a60c";
+        sha512 = "dxuB8KQo8Gt6OVOeLg/rxfcxdNZI/V1G6ze1czFUzPeCFWZRtvZMgSzlZZ5OYBZ4HoG607F6pFPNLekJyV+yVw==";
       };
     }
     {
@@ -11478,7 +11478,7 @@
       path = fetchurl {
         name = "tesseract.js_core___tesseract.js_core_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/tesseract.js-core/-/tesseract.js-core-2.2.0.tgz";
-        sha1 = "6ef78051272a381969fac3e45a226e85022cffef";
+        sha512 = "a8L+OJTbUipBsEDsJhDPlnLB0TY1MkTZqw5dqUwmiDSjUzwvU7HWLg/2+WDRulKUi4LE+7PnHlaBlW0k+V0U0w==";
       };
     }
     {
@@ -11486,7 +11486,7 @@
       path = fetchurl {
         name = "tesseract.js___tesseract.js_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/tesseract.js/-/tesseract.js-2.1.1.tgz";
-        sha1 = "5c50fc95542ce8d834cb952bfb75a8fc85f1441d";
+        sha512 = "utg0A8UzT1KwBvZf+UMGmM8LU6izeol6yIem0Z44+7Qqd/YWgRVQ99XOG18ApTOXX48lGE++PDwlcZYkv0ygRQ==";
       };
     }
     {
@@ -11494,7 +11494,7 @@
       path = fetchurl {
         name = "test_exclude___test_exclude_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz";
-        sha1 = "04a8698661d805ea6fa293b6cb9e63ac044ef15e";
+        sha512 = "cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==";
       };
     }
     {
@@ -11502,7 +11502,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=";
       };
     }
     {
@@ -11510,7 +11510,7 @@
       path = fetchurl {
         name = "throat___throat_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz";
-        sha1 = "c5199235803aad18754a667d659b5e72ce16764b";
+        sha512 = "fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==";
       };
     }
     {
@@ -11518,7 +11518,7 @@
       path = fetchurl {
         name = "throng___throng_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/throng/-/throng-4.0.0.tgz";
-        sha1 = "983c6ba1993b58eae859998aa687ffe88df84c17";
+        sha1 = "mDxroZk7WOroWZmKpof/6I34TBc=";
       };
     }
     {
@@ -11526,7 +11526,7 @@
       path = fetchurl {
         name = "through2___through2_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz";
-        sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd";
+        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
       };
     }
     {
@@ -11534,7 +11534,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=";
       };
     }
     {
@@ -11542,7 +11542,7 @@
       path = fetchurl {
         name = "thunky___thunky_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz";
-        sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d";
+        sha512 = "eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==";
       };
     }
     {
@@ -11550,7 +11550,7 @@
       path = fetchurl {
         name = "timers_browserify___timers_browserify_2.0.11.tgz";
         url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz";
-        sha1 = "800b1f3eee272e5bc53ee465a04d0e804c31211f";
+        sha512 = "60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==";
       };
     }
     {
@@ -11558,7 +11558,7 @@
       path = fetchurl {
         name = "timsort___timsort_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz";
-        sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+        sha1 = "QFQRqOfmM5/mTbmiNN4R3DHgK9Q=";
       };
     }
     {
@@ -11566,7 +11566,7 @@
       path = fetchurl {
         name = "tiny_invariant___tiny_invariant_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz";
-        sha1 = "634c5f8efdc27714b7f386c35e6760991d230875";
+        sha512 = "ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==";
       };
     }
     {
@@ -11574,7 +11574,7 @@
       path = fetchurl {
         name = "tiny_queue___tiny_queue_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz";
-        sha1 = "25a67f2c6e253b2ca941977b5ef7442ef97a6046";
+        sha1 = "JaZ/LG4lOyypQZd7XvdELvl6YEY=";
       };
     }
     {
@@ -11582,7 +11582,7 @@
       path = fetchurl {
         name = "tiny_warning___tiny_warning_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz";
-        sha1 = "94a30db453df4c643d0fd566060d60a875d84754";
+        sha512 = "lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==";
       };
     }
     {
@@ -11590,7 +11590,7 @@
       path = fetchurl {
         name = "tmpl___tmpl_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
-        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+        sha1 = "I2QN17QtAEM5ERQIIOXPRA5SHdE=";
       };
     }
     {
@@ -11598,7 +11598,7 @@
       path = fetchurl {
         name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
-        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+        sha1 = "fSKbH8xjfkZsoIEYCDanqr/4P0M=";
       };
     }
     {
@@ -11606,7 +11606,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=";
       };
     }
     {
@@ -11614,7 +11614,7 @@
       path = fetchurl {
         name = "to_object_path___to_object_path_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
-        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+        sha1 = "KXWIt7Dn4KwI4E5nL4XB9JmeF68=";
       };
     }
     {
@@ -11622,7 +11622,7 @@
       path = fetchurl {
         name = "to_regex_range___to_regex_range_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
-        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+        sha1 = "fIDBe53+vlmeJzZ+DU3VWQFB2zg=";
       };
     }
     {
@@ -11630,7 +11630,7 @@
       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==";
       };
     }
     {
@@ -11638,7 +11638,7 @@
       path = fetchurl {
         name = "to_regex___to_regex_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
-        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+        sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
       };
     }
     {
@@ -11646,7 +11646,7 @@
       path = fetchurl {
         name = "toidentifier___toidentifier_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
-        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+        sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
       };
     }
     {
@@ -11654,7 +11654,7 @@
       path = fetchurl {
         name = "totalist___totalist_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz";
-        sha1 = "a4d65a3e546517701e3e5c37a47a70ac97fe56df";
+        sha512 = "gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==";
       };
     }
     {
@@ -11662,7 +11662,7 @@
       path = fetchurl {
         name = "tough_cookie___tough_cookie_2.5.0.tgz";
         url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
       };
     }
     {
@@ -11670,7 +11670,7 @@
       path = fetchurl {
         name = "tough_cookie___tough_cookie_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz";
-        sha1 = "9df4f57e739c26930a018184887f4adb7dca73b2";
+        sha512 = "yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==";
       };
     }
     {
@@ -11678,7 +11678,7 @@
       path = fetchurl {
         name = "tr46___tr46_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz";
-        sha1 = "03273586def1595ae08fedb38d7733cee91d2479";
+        sha512 = "3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==";
       };
     }
     {
@@ -11686,7 +11686,7 @@
       path = fetchurl {
         name = "ts_essentials___ts_essentials_2.0.12.tgz";
         url  = "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz";
-        sha1 = "c9303f3d74f75fa7528c3d49b80e089ab09d8745";
+        sha512 = "3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==";
       };
     }
     {
@@ -11694,7 +11694,7 @@
       path = fetchurl {
         name = "tsconfig_paths___tsconfig_paths_3.9.0.tgz";
         url  = "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz";
-        sha1 = "098547a6c4448807e8fcb8eae081064ee9a3c90b";
+        sha512 = "dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==";
       };
     }
     {
@@ -11702,7 +11702,7 @@
       path = fetchurl {
         name = "tslib___tslib_1.13.0.tgz";
         url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz";
-        sha1 = "c881e13cc7015894ed914862d276436fa9a47043";
+        sha512 = "i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==";
       };
     }
     {
@@ -11710,7 +11710,7 @@
       path = fetchurl {
         name = "tty_browserify___tty_browserify_0.0.0.tgz";
         url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
-        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+        sha1 = "oVe6QC2iTpv5V/mqadUk7tQpAaY=";
       };
     }
     {
@@ -11718,7 +11718,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=";
       };
     }
     {
@@ -11726,7 +11726,7 @@
       path = fetchurl {
         name = "tweetnacl___tweetnacl_0.14.5.tgz";
         url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+        sha1 = "WuaBd/GS1EViadEIr6k/+HQ/T2Q=";
       };
     }
     {
@@ -11734,7 +11734,7 @@
       path = fetchurl {
         name = "twemoji_parser___twemoji_parser_11.0.2.tgz";
         url  = "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-11.0.2.tgz";
-        sha1 = "24e87c2008abe8544c962f193b88b331de32b446";
+        sha512 = "5kO2XCcpAql6zjdLwRwJjYvAZyDy3+Uj7v1ipBzLthQmDL7Ce19bEqHr3ImSNeoSW2OA8u02XmARbXHaNO8GhA==";
       };
     }
     {
@@ -11742,7 +11742,7 @@
       path = fetchurl {
         name = "twitter_text___twitter_text_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/twitter-text/-/twitter-text-3.1.0.tgz";
-        sha1 = "798e932b289f506efe2a1f03fe917ba30627f125";
+        sha512 = "nulfUi3FN6z0LUjYipJid+eiwXvOLb8Ass7Jy/6zsXmZK3URte043m8fL3FyDzrK+WLpyqhHuR/TcARTN/iuGQ==";
       };
     }
     {
@@ -11750,7 +11750,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==";
       };
     }
     {
@@ -11758,7 +11758,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=";
       };
     }
     {
@@ -11766,7 +11766,7 @@
       path = fetchurl {
         name = "type_detect___type_detect_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz";
-        sha1 = "7646fb5f18871cfbb7749e69bd39a6388eb7450c";
+        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
       };
     }
     {
@@ -11774,7 +11774,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.11.0.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz";
-        sha1 = "97abf0872310fed88a5c466b25681576145e33f1";
+        sha512 = "OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==";
       };
     }
     {
@@ -11782,7 +11782,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==";
       };
     }
     {
@@ -11790,7 +11790,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.6.0.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz";
-        sha1 = "8d2a2370d3df886eb5c90ada1c5bf6188acf838b";
+        sha512 = "q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==";
       };
     }
     {
@@ -11798,7 +11798,7 @@
       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 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
       };
     }
     {
@@ -11806,7 +11806,7 @@
       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==";
       };
     }
     {
@@ -11814,7 +11814,7 @@
       path = fetchurl {
         name = "type___type_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz";
-        sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0";
+        sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
       };
     }
     {
@@ -11822,7 +11822,7 @@
       path = fetchurl {
         name = "type___type_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz";
-        sha1 = "5f16ff6ef2eb44f260494dae271033b29c09a9c3";
+        sha512 = "KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==";
       };
     }
     {
@@ -11830,7 +11830,7 @@
       path = fetchurl {
         name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
         url  = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha1 = "a97ee7a9ff42691b9f783ff1bc5112fe3fca9080";
+        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     }
     {
@@ -11838,7 +11838,7 @@
       path = fetchurl {
         name = "typedarray___typedarray_0.0.6.tgz";
         url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
-        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+        sha1 = "hnrHTjhkGHsdPUfZlqeOxciDB3c=";
       };
     }
     {
@@ -11846,7 +11846,7 @@
       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==";
       };
     }
     {
@@ -11854,7 +11854,7 @@
       path = fetchurl {
         name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
-        sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818";
+        sha512 = "jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==";
       };
     }
     {
@@ -11862,7 +11862,7 @@
       path = fetchurl {
         name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
-        sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c";
+        sha512 = "L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==";
       };
     }
     {
@@ -11870,7 +11870,7 @@
       path = fetchurl {
         name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz";
-        sha1 = "0d91f600eeeb3096aa962b1d6fc88876e64ea531";
+        sha512 = "wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==";
       };
     }
     {
@@ -11878,7 +11878,7 @@
       path = fetchurl {
         name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz";
-        sha1 = "dd57a99f6207bedff4628abefb94c50db941c8f4";
+        sha512 = "PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==";
       };
     }
     {
@@ -11886,7 +11886,7 @@
       path = fetchurl {
         name = "union_value___union_value_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
-        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+        sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==";
       };
     }
     {
@@ -11894,7 +11894,7 @@
       path = fetchurl {
         name = "uniq___uniq_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
-        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+        sha1 = "sxxa6CVIRKOoKBVBzisEuGWnNP8=";
       };
     }
     {
@@ -11902,7 +11902,7 @@
       path = fetchurl {
         name = "uniqs___uniqs_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
-        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+        sha1 = "/+3ks2slKQaW5uFl1KWe25mOawI=";
       };
     }
     {
@@ -11910,7 +11910,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==";
       };
     }
     {
@@ -11918,7 +11918,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==";
       };
     }
     {
@@ -11926,7 +11926,7 @@
       path = fetchurl {
         name = "universalify___universalify_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
-        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     }
     {
@@ -11934,7 +11934,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=";
       };
     }
     {
@@ -11942,7 +11942,7 @@
       path = fetchurl {
         name = "unquote___unquote_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz";
-        sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+        sha1 = "j97XMk7G6IoP+LkF58CYzcCG1UQ=";
       };
     }
     {
@@ -11950,7 +11950,7 @@
       path = fetchurl {
         name = "unset_value___unset_value_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
-        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+        sha1 = "g3aHP30jNRef+x5vw6jtDfyKtVk=";
       };
     }
     {
@@ -11958,7 +11958,7 @@
       path = fetchurl {
         name = "upath___upath_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
-        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
+        sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
       };
     }
     {
@@ -11966,7 +11966,7 @@
       path = fetchurl {
         name = "uri_js___uri_js_4.4.0.tgz";
         url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz";
-        sha1 = "aa714261de793e8a82347a7bcc9ce74e86f28602";
+        sha512 = "B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==";
       };
     }
     {
@@ -11974,7 +11974,7 @@
       path = fetchurl {
         name = "urix___urix_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
-        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+        sha1 = "2pN/emLiH+wf0Y1Js1wpNQZ6bHI=";
       };
     }
     {
@@ -11982,7 +11982,7 @@
       path = fetchurl {
         name = "url_parse___url_parse_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz";
-        sha1 = "d5fa9890af8a5e1f274a2c98376510f6425f6e3b";
+        sha512 = "HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==";
       };
     }
     {
@@ -11990,7 +11990,7 @@
       path = fetchurl {
         name = "url___url_0.11.0.tgz";
         url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
-        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+        sha1 = "ODjpfPxgUh63PFJajlW/3Z4uKPE=";
       };
     }
     {
@@ -11998,7 +11998,7 @@
       path = fetchurl {
         name = "use_composed_ref___use_composed_ref_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.0.0.tgz";
-        sha1 = "bb13e8f4a0b873632cde4940abeb88b92d03023a";
+        sha512 = "RVqY3NFNjZa0xrmK3bIMWNmQ01QjKPDc7DeWR3xa/N8aliVppuutOE5bZzPkQfvL+5NRWMMp0DJ99Trd974FIw==";
       };
     }
     {
@@ -12006,7 +12006,7 @@
       path = fetchurl {
         name = "use_isomorphic_layout_effect___use_isomorphic_layout_effect_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.0.0.tgz";
-        sha1 = "f56b4ed633e1c21cd9fc76fe249002a1c28989fb";
+        sha512 = "JMwJ7Vd86NwAt1jH7q+OIozZSIxA4ND0fx6AsOe2q1H8ooBUp5aN6DvVCqZiIaYU6JaMRJGyR0FO7EBCIsb/Rg==";
       };
     }
     {
@@ -12014,7 +12014,7 @@
       path = fetchurl {
         name = "use_latest___use_latest_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/use-latest/-/use-latest-1.1.0.tgz";
-        sha1 = "7bf9684555869c3f5f37e10d0884c8accf4d3aa6";
+        sha512 = "gF04d0ZMV3AMB8Q7HtfkAWe+oq1tFXP6dZKwBHQF5nVXtGsh2oAYeeqma5ZzxtlpOcW8Ro/tLcfmEodjDeqtuw==";
       };
     }
     {
@@ -12022,7 +12022,7 @@
       path = fetchurl {
         name = "use___use_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
-        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+        sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
       };
     }
     {
@@ -12030,7 +12030,7 @@
       path = fetchurl {
         name = "user_home___user_home_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz";
-        sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
+        sha1 = "nHC/2Babwdy/SGBODwS4tJzenp8=";
       };
     }
     {
@@ -12038,7 +12038,7 @@
       path = fetchurl {
         name = "utf_8_validate___utf_8_validate_5.0.5.tgz";
         url  = "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.5.tgz";
-        sha1 = "dd32c2e82c72002dc9f02eb67ba6761f43456ca1";
+        sha512 = "+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==";
       };
     }
     {
@@ -12046,7 +12046,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=";
       };
     }
     {
@@ -12054,7 +12054,7 @@
       path = fetchurl {
         name = "util.promisify___util.promisify_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz";
-        sha1 = "6baf7774b80eeb0f7520d8b81d07982a59abbaee";
+        sha512 = "g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==";
       };
     }
     {
@@ -12062,7 +12062,7 @@
       path = fetchurl {
         name = "util___util_0.10.3.tgz";
         url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
-        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+        sha1 = "evsa/lCAUkZInj23/g7TeTNqwPk=";
       };
     }
     {
@@ -12070,7 +12070,7 @@
       path = fetchurl {
         name = "util___util_0.10.4.tgz";
         url  = "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz";
-        sha1 = "3aa0125bfe668a4672de58857d3ace27ecb76901";
+        sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
       };
     }
     {
@@ -12078,7 +12078,7 @@
       path = fetchurl {
         name = "util___util_0.11.1.tgz";
         url  = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz";
-        sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61";
+        sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==";
       };
     }
     {
@@ -12086,7 +12086,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=";
       };
     }
     {
@@ -12094,7 +12094,7 @@
       path = fetchurl {
         name = "uuid___uuid_3.4.0.tgz";
         url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
-        sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
+        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
       };
     }
     {
@@ -12102,7 +12102,7 @@
       path = fetchurl {
         name = "uuid___uuid_8.3.2.tgz";
         url  = "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz";
-        sha1 = "80d5b5ced271bb9af6c445f21a1a04c606cefbe2";
+        sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
       };
     }
     {
@@ -12110,7 +12110,7 @@
       path = fetchurl {
         name = "v8_compile_cache___v8_compile_cache_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz";
-        sha1 = "9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132";
+        sha512 = "gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==";
       };
     }
     {
@@ -12118,7 +12118,7 @@
       path = fetchurl {
         name = "v8_to_istanbul___v8_to_istanbul_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz";
-        sha1 = "b4fe00e35649ef7785a9b7fcebcea05f37c332fc";
+        sha512 = "fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==";
       };
     }
     {
@@ -12126,7 +12126,7 @@
       path = fetchurl {
         name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
       };
     }
     {
@@ -12134,7 +12134,7 @@
       path = fetchurl {
         name = "value_equal___value_equal_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz";
-        sha1 = "c5bdd2f54ee093c04839d71ce2e4758a6890abc7";
+        sha512 = "x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==";
       };
     }
     {
@@ -12142,7 +12142,7 @@
       path = fetchurl {
         name = "value_equal___value_equal_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz";
-        sha1 = "1e0b794c734c5c0cade179c437d356d931a34d6c";
+        sha512 = "NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==";
       };
     }
     {
@@ -12150,7 +12150,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=";
       };
     }
     {
@@ -12158,7 +12158,7 @@
       path = fetchurl {
         name = "vendors___vendors_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz";
-        sha1 = "e2b800a53e7a29b93506c3cf41100d16c4c4ad8e";
+        sha512 = "/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==";
       };
     }
     {
@@ -12166,7 +12166,7 @@
       path = fetchurl {
         name = "verror___verror_1.10.0.tgz";
         url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
-        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+        sha1 = "OhBcoXBTr1XW4nDB+CiGguGNpAA=";
       };
     }
     {
@@ -12174,7 +12174,7 @@
       path = fetchurl {
         name = "vm_browserify___vm_browserify_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz";
-        sha1 = "78641c488b8e6ca91a75f511e7a3b32a86e5dda0";
+        sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
       };
     }
     {
@@ -12182,7 +12182,7 @@
       path = fetchurl {
         name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
-        sha1 = "0a89cdf5cc15822df9c360543676963e0cc308cd";
+        sha512 = "z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==";
       };
     }
     {
@@ -12190,7 +12190,7 @@
       path = fetchurl {
         name = "w3c_xmlserializer___w3c_xmlserializer_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz";
-        sha1 = "3e7104a05b75146cc60f564380b7f683acf1020a";
+        sha512 = "4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==";
       };
     }
     {
@@ -12198,7 +12198,7 @@
       path = fetchurl {
         name = "walker___walker_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
-        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+        sha1 = "L3+bj9ENZ3JisYqITijRlhjgKPs=";
       };
     }
     {
@@ -12206,7 +12206,7 @@
       path = fetchurl {
         name = "warning___warning_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz";
-        sha1 = "32e5377cb572de4ab04753bdf8821c01ed605b7c";
+        sha1 = "MuU3fLVy3kqwR1O9+IIcAe1gW3w=";
       };
     }
     {
@@ -12214,7 +12214,7 @@
       path = fetchurl {
         name = "warning___warning_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz";
-        sha1 = "16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3";
+        sha512 = "rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==";
       };
     }
     {
@@ -12222,7 +12222,7 @@
       path = fetchurl {
         name = "watchpack_chokidar2___watchpack_chokidar2_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz";
-        sha1 = "9948a1866cbbd6cb824dea13a7ed691f6c8ddff0";
+        sha512 = "9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==";
       };
     }
     {
@@ -12230,7 +12230,7 @@
       path = fetchurl {
         name = "watchpack___watchpack_1.7.4.tgz";
         url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz";
-        sha1 = "6e9da53b3c80bb2d6508188f5b200410866cd30b";
+        sha512 = "aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==";
       };
     }
     {
@@ -12238,7 +12238,7 @@
       path = fetchurl {
         name = "wbuf___wbuf_1.7.3.tgz";
         url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz";
-        sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df";
+        sha512 = "O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==";
       };
     }
     {
@@ -12246,7 +12246,7 @@
       path = fetchurl {
         name = "webidl_conversions___webidl_conversions_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz";
-        sha1 = "ae59c8a00b121543a2acc65c0434f57b0fc11aff";
+        sha512 = "VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==";
       };
     }
     {
@@ -12254,7 +12254,7 @@
       path = fetchurl {
         name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz";
-        sha1 = "9111b4d7ea80acd40f5270d666621afa78b69514";
+        sha512 = "qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==";
       };
     }
     {
@@ -12262,7 +12262,7 @@
       path = fetchurl {
         name = "webpack_assets_manifest___webpack_assets_manifest_4.0.6.tgz";
         url  = "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-4.0.6.tgz";
-        sha1 = "cb8cfd2d2d8d129228cea645c832448380c21ae0";
+        sha512 = "9MsBOINUoGcj3D7XHQOOuQri7VEDArkhn5gqnpCqPungLj8Vy3utlVZ6vddAVU5feYroj+DEncktbaZhnBxdeQ==";
       };
     }
     {
@@ -12270,7 +12270,7 @@
       path = fetchurl {
         name = "webpack_bundle_analyzer___webpack_bundle_analyzer_4.4.2.tgz";
         url  = "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz";
-        sha1 = "39898cf6200178240910d629705f0f3493f7d666";
+        sha512 = "PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==";
       };
     }
     {
@@ -12278,7 +12278,7 @@
       path = fetchurl {
         name = "webpack_cli___webpack_cli_3.3.12.tgz";
         url  = "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz";
-        sha1 = "94e9ada081453cd0aa609c99e500012fd3ad2d4a";
+        sha512 = "NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==";
       };
     }
     {
@@ -12286,7 +12286,7 @@
       path = fetchurl {
         name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
         url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
-        sha1 = "0019c3db716e3fa5cecbf64f2ab88a74bab331f3";
+        sha512 = "1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==";
       };
     }
     {
@@ -12294,7 +12294,7 @@
       path = fetchurl {
         name = "webpack_dev_server___webpack_dev_server_3.11.2.tgz";
         url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz";
-        sha1 = "695ebced76a4929f0d5de7fd73fafe185fe33708";
+        sha512 = "A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==";
       };
     }
     {
@@ -12302,7 +12302,7 @@
       path = fetchurl {
         name = "webpack_log___webpack_log_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz";
-        sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f";
+        sha512 = "cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==";
       };
     }
     {
@@ -12310,7 +12310,7 @@
       path = fetchurl {
         name = "webpack_merge___webpack_merge_5.7.3.tgz";
         url  = "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz";
-        sha1 = "2a0754e1877a25a8bbab3d2475ca70a052708213";
+        sha512 = "6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==";
       };
     }
     {
@@ -12318,7 +12318,7 @@
       path = fetchurl {
         name = "webpack_sources___webpack_sources_1.4.3.tgz";
         url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz";
-        sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933";
+        sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
       };
     }
     {
@@ -12326,7 +12326,7 @@
       path = fetchurl {
         name = "webpack___webpack_4.46.0.tgz";
         url  = "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz";
-        sha1 = "bf9b4404ea20a073605e0a011d188d77cb6ad542";
+        sha512 = "6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==";
       };
     }
     {
@@ -12334,7 +12334,7 @@
       path = fetchurl {
         name = "websocket_driver___websocket_driver_0.7.3.tgz";
         url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz";
-        sha1 = "a2d4e0d4f4f116f1e6297eba58b05d430100e9f9";
+        sha512 = "bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==";
       };
     }
     {
@@ -12342,7 +12342,7 @@
       path = fetchurl {
         name = "websocket_driver___websocket_driver_0.7.4.tgz";
         url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz";
-        sha1 = "89ad5295bbf64b480abcba31e4953aca706f5760";
+        sha512 = "b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==";
       };
     }
     {
@@ -12350,7 +12350,7 @@
       path = fetchurl {
         name = "websocket_extensions___websocket_extensions_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz";
-        sha1 = "7f8473bc839dfd87608adb95d7eb075211578a42";
+        sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
       };
     }
     {
@@ -12358,7 +12358,7 @@
       path = fetchurl {
         name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
-        sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0";
+        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
       };
     }
     {
@@ -12366,7 +12366,7 @@
       path = fetchurl {
         name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
-        sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf";
+        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
       };
     }
     {
@@ -12374,7 +12374,7 @@
       path = fetchurl {
         name = "whatwg_url___whatwg_url_8.2.2.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.2.2.tgz";
-        sha1 = "85e7f9795108b53d554cec640b2e8aee2a0d4bfd";
+        sha512 = "PcVnO6NiewhkmzV0qn7A+UZ9Xx4maNTI+O+TShmfE4pqjoCMwUMjkvoNhNHPTvgR7QH9Xt3R13iHuWy2sToFxQ==";
       };
     }
     {
@@ -12382,7 +12382,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==";
       };
     }
     {
@@ -12390,7 +12390,7 @@
       path = fetchurl {
         name = "which_module___which_module_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
-        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+        sha1 = "2e8H3Od7mQK4o6j6SzHD4/fm6Ho=";
       };
     }
     {
@@ -12398,7 +12398,7 @@
       path = fetchurl {
         name = "which___which_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
-        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     }
     {
@@ -12406,7 +12406,7 @@
       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==";
       };
     }
     {
@@ -12414,7 +12414,7 @@
       path = fetchurl {
         name = "wicg_inert___wicg_inert_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/wicg-inert/-/wicg-inert-3.1.1.tgz";
-        sha1 = "b033fd4fbfb9e3fd709e5d84becbdf2e06e5c229";
+        sha512 = "PhBaNh8ur9Xm4Ggy4umelwNIP6pPP1bv3EaWaKqfb/QNme2rdLjm7wIInvV4WhxVHhzA4Spgw9qNSqWtB/ca2A==";
       };
     }
     {
@@ -12422,7 +12422,7 @@
       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";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
       };
     }
     {
@@ -12430,7 +12430,7 @@
       path = fetchurl {
         name = "wildcard___wildcard_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz";
-        sha1 = "a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec";
+        sha512 = "JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==";
       };
     }
     {
@@ -12438,7 +12438,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==";
       };
     }
     {
@@ -12446,7 +12446,7 @@
       path = fetchurl {
         name = "worker_farm___worker_farm_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz";
-        sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8";
+        sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
       };
     }
     {
@@ -12454,7 +12454,7 @@
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
-        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
       };
     }
     {
@@ -12462,7 +12462,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==";
       };
     }
     {
@@ -12470,7 +12470,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==";
       };
     }
     {
@@ -12478,7 +12478,7 @@
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+        sha1 = "tSQ9jz7BqjXxNkYFvA0QNuMKtp8=";
       };
     }
     {
@@ -12486,7 +12486,7 @@
       path = fetchurl {
         name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha1 = "56bd5c5a5c70481cd19c571bd39ab965a5de56e8";
+        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     }
     {
@@ -12494,7 +12494,7 @@
       path = fetchurl {
         name = "write___write_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz";
-        sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757";
+        sha1 = "X8A4KOJkzqP+kUVUdvejxWbLB1c=";
       };
     }
     {
@@ -12502,7 +12502,7 @@
       path = fetchurl {
         name = "ws___ws_6.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
-        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+        sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
       };
     }
     {
@@ -12510,7 +12510,7 @@
       path = fetchurl {
         name = "ws___ws_7.4.6.tgz";
         url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz";
-        sha1 = "5654ca8ecdeee47c33a9a4bf6d28e2be2980377c";
+        sha512 = "YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==";
       };
     }
     {
@@ -12518,7 +12518,7 @@
       path = fetchurl {
         name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
-        sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a";
+        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
       };
     }
     {
@@ -12526,7 +12526,7 @@
       path = fetchurl {
         name = "xmlchars___xmlchars_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz";
-        sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb";
+        sha512 = "JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==";
       };
     }
     {
@@ -12534,7 +12534,7 @@
       path = fetchurl {
         name = "xtend___xtend_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
-        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     }
     {
@@ -12542,7 +12542,7 @@
       path = fetchurl {
         name = "y18n___y18n_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
-        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
       };
     }
     {
@@ -12550,7 +12550,7 @@
       path = fetchurl {
         name = "y18n___y18n_5.0.5.tgz";
         url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz";
-        sha1 = "8769ec08d03b1ea2df2500acef561743bbb9ab18";
+        sha512 = "hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==";
       };
     }
     {
@@ -12558,7 +12558,7 @@
       path = fetchurl {
         name = "yallist___yallist_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz";
-        sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     }
     {
@@ -12566,7 +12566,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==";
       };
     }
     {
@@ -12574,7 +12574,7 @@
       path = fetchurl {
         name = "yaml___yaml_1.10.0.tgz";
         url  = "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz";
-        sha1 = "3b593add944876077d4d683fee01081bd9fff31e";
+        sha512 = "yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==";
       };
     }
     {
@@ -12582,7 +12582,7 @@
       path = fetchurl {
         name = "yargs_parser___yargs_parser_13.1.2.tgz";
         url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz";
-        sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38";
+        sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==";
       };
     }
     {
@@ -12590,7 +12590,7 @@
       path = fetchurl {
         name = "yargs_parser___yargs_parser_18.1.3.tgz";
         url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz";
-        sha1 = "be68c4975c6b2abf469236b0c870362fab09a7b0";
+        sha512 = "o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==";
       };
     }
     {
@@ -12598,7 +12598,7 @@
       path = fetchurl {
         name = "yargs_parser___yargs_parser_20.2.3.tgz";
         url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz";
-        sha1 = "92419ba867b858c868acf8bae9bf74af0dd0ce26";
+        sha512 = "emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww==";
       };
     }
     {
@@ -12606,7 +12606,7 @@
       path = fetchurl {
         name = "yargs___yargs_13.3.2.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz";
-        sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd";
+        sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==";
       };
     }
     {
@@ -12614,7 +12614,7 @@
       path = fetchurl {
         name = "yargs___yargs_15.4.1.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz";
-        sha1 = "0d87a16de01aee9d8bec2bfbf74f67851730f4f8";
+        sha512 = "aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==";
       };
     }
     {
@@ -12622,7 +12622,7 @@
       path = fetchurl {
         name = "yargs___yargs_17.0.1.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz";
-        sha1 = "6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb";
+        sha512 = "xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==";
       };
     }
     {
@@ -12630,7 +12630,7 @@
       path = fetchurl {
         name = "zlibjs___zlibjs_0.3.1.tgz";
         url  = "https://registry.yarnpkg.com/zlibjs/-/zlibjs-0.3.1.tgz";
-        sha1 = "50197edb28a1c42ca659cc8b4e6a9ddd6d444554";
+        sha1 = "UBl+2yihxCymWcyLTmqd3W1ERVQ=";
       };
     }
   ];
diff --git a/nixpkgs/pkgs/servers/matrix-conduit/default.nix b/nixpkgs/pkgs/servers/matrix-conduit/default.nix
new file mode 100644
index 000000000000..cde926de2696
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-conduit/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitLab, rustPlatform, pkgs }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "matrix-conduit";
+  version = "0.3.0";
+
+  src = fetchFromGitLab {
+    owner = "famedly";
+    repo = "conduit";
+    rev = "v${version}";
+    sha256 = "sha256-jCBvenwXPgYms5Tbu16q/F8UNpvaw0Shao9kLEZLbHM=";
+  };
+
+  cargoSha256 = "sha256-fpjzc2HiWP6nV8YZOwxsIOhy4ht/tQqcvCkcLMIFUaQ=";
+
+  nativeBuildInputs = with pkgs; [
+    clang
+    llvmPackages.libclang
+  ];
+
+  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; {
+    description = "A Matrix homeserver written in Rust";
+    homepage = "https://conduit.rs/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pstn piegames pimeys ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
index dbb6fbc84f50..98a00da5baf5 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
@@ -11,13 +11,19 @@ in
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.49.2";
+  version = "1.52.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b795ecfc36e3f57eb7cffbc5ef9da1745b777536416c31509b3e6220c39ca4d";
+    sha256 = "091z3rwd10n59andfy1pfjrf6q3n3yrjqrws13lqc02w23aaxzin";
   };
 
+  # frozendict version constraint is to avoid a debian issue we don't have
+  postPatch = ''
+    substituteInPlace synapse/python_dependencies.py \
+      --replace '"frozendict' '"frozendict", #'
+  '';
+
   buildInputs = [ openssl ];
 
   propagatedBuildInputs = [
@@ -31,6 +37,7 @@ buildPythonApplication rec {
     jinja2
     jsonschema
     lxml
+    matrix-common
     msgpack
     netaddr
     phonenumbers
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix b/nixpkgs/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
index 88ec52f45363..58b19586e4bf 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix b/nixpkgs/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
index 5c0dc1e2ce2b..3df7f1e5a5d4 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/matrix-synapse/tools/synadm.nix b/nixpkgs/pkgs/servers/matrix-synapse/tools/synadm.nix
index 68099e50b139..46c9add3d88e 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/tools/synadm.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mattermost/default.nix b/nixpkgs/pkgs/servers/mattermost/default.nix
index fc8a299d251c..77ae99a9297e 100644
--- a/nixpkgs/pkgs/servers/mattermost/default.nix
+++ b/nixpkgs/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.2.1";
+  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 = "WjBsbW7aEI+MX2I1LrEJh8JgNQ4Do7PpeshXgaQAk1s=";
+      sha256 = "OSN8Bscgv7rPfKIfZ3ZnegdgsygFpSM7/vGWojj0P3k=";
     };
 
     ldflags = [
@@ -65,7 +65,7 @@ let
 
     src = fetchurl {
       url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-      sha256 = "pV/MwMCK8vMzASXuM1+ePcarIgrcNAkFLEdmPya911E=";
+      sha256 = "Og9DUGyE4cWYF7EQP/8szIrWM1Ldqnpqc+HW+L7XApo=";
     };
 
     installPhase = ''
@@ -76,6 +76,9 @@ let
         mattermost/fonts \
         mattermost/templates \
         mattermost/config
+
+      # For some reason a bunch of these files are +x...
+      find $out -type f -exec chmod -x {} \;
     '';
   };
 
diff --git a/nixpkgs/pkgs/servers/mautrix-facebook/default.nix b/nixpkgs/pkgs/servers/mautrix-facebook/default.nix
index b3fdef8698b0..b51ae848cc87 100644
--- a/nixpkgs/pkgs/servers/mautrix-facebook/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-facebook/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-facebook";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "facebook";
     rev = "v${version}";
-    sha256 = "1n7gshm2nir6vgjkj36lq9m2bclkgy0y236xi8zvdlvfcb2m596f";
+    hash = "sha256-lIUGuc6ZL+GW7jw5OhPE3/mU5pg8Y09dd+p5kiy14io=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -30,9 +30,13 @@ python3.pkgs.buildPythonPackage rec {
     ruamel-yaml
     unpaddedbase64
     yarl
+    zstandard
   ] ++ lib.optional enableSystemd systemd;
 
-  doCheck = false;
+  postPatch = ''
+    # Drop version limiting so that every dependency update doesn't break this package.
+    sed -i -e 's/,<.*//' requirements.txt
+  '';
 
   postInstall = ''
     mkdir -p $out/bin
@@ -44,6 +48,10 @@ python3.pkgs.buildPythonPackage rec {
     chmod +x $out/bin/mautrix-facebook
   '';
 
+  checkPhase = ''
+    $out/bin/mautrix-facebook --help
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/mautrix/facebook";
     description = "A Matrix-Facebook Messenger puppeting bridge";
diff --git a/nixpkgs/pkgs/servers/mautrix-signal/default.nix b/nixpkgs/pkgs/servers/mautrix-signal/default.nix
index 6b11b386421e..f9d3cf281c49 100644
--- a/nixpkgs/pkgs/servers/mautrix-signal/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-signal/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-signal";
-  version = "unstable-2021-11-12";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "signal";
-    rev = "2e57810e964c1701df2e69273c2f8cebbe021464";
-    sha256 = "sha256-xgn01nbY3LR4G1Yk2MgUhq116/wEhG+5vLH6HKqZE+8=";
+    rev = "v${version}";
+    sha256 = "sha256-gJngGgShW63g5zSyZraod0YTt/pFtVLySDXNXXC5Xxs=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/servers/mautrix-telegram/default.nix b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
index bf5977f82527..267f89182fb2 100644
--- a/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-telegram/default.nix
@@ -6,11 +6,11 @@ let
   python = python3.override {
     packageOverrides = self: super: {
       tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec {
-        version = "1.25.0a1";
+        version = "1.25.0a3";
         pname = "tulir-telethon";
         src = oldAttrs.src.override {
           inherit pname version;
-          sha256 = "sha256-TFZRmhCrQ9IccGFcYxwdbD2ReSCWZ2n33S1ank1Bn1k=";
+          sha256 = "sha256-/kau9Q2+7giVx52tmjvYIbcDcY1/om31X9BlRvZipuk=";
         };
       });
     };
@@ -25,14 +25,14 @@ let
 
 in python.pkgs.buildPythonPackage rec {
   pname = "mautrix-telegram";
-  version = "0.11.0";
+  version = "0.11.1";
   disabled = python.pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "telegram";
     rev = "v${version}";
-    sha256 = "sha256-s0UCl0FJWO53hvHJhpeSQVGCBKEH7COFLXFCFitpDjw=";
+    sha256 = "sha256-Df+v1Q+5Iaa9GKcwIabMKjJwmVd5Qub8M54jEEiAPFc=";
   };
 
   patches = [ ./0001-Re-add-entrypoint.patch ];
diff --git a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix b/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
index d0d11f0937de..92f6d1f15ac7 100644
--- a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/nixpkgs/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.2";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "whatsapp";
     rev = "v${version}";
-    sha256 = "sha256-W+5DtCp7P/0azfusv+Nt3G9VcWKPUxVJmNwSfPjxjbw=";
+    sha256 = "lBAnMrU292URrZIxPvPIAO50GAFvvZHfUjKMYxZwGb8=";
   };
 
   buildInputs = [ olm ];
 
-  vendorSha256 = "sha256-maGnlnxyhrvW0NkHmHWEvNge5c/HxLDm8NuWR6zcdYg=";
+  vendorSha256 = "KiNABUZ92gYprTdNAKKMjygr0BzQGVYVPRPMxvYi1VQ=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/mbtileserver/default.nix b/nixpkgs/pkgs/servers/mbtileserver/default.nix
index 59adcde1a691..c928fcfbe6dd 100644
--- a/nixpkgs/pkgs/servers/mbtileserver/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mediatomb/default.nix b/nixpkgs/pkgs/servers/mediatomb/default.nix
deleted file mode 100644
index aa1304bf8922..000000000000
--- a/nixpkgs/pkgs/servers/mediatomb/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchgit
-, sqlite, expat, mp4v2, flac, spidermonkey_68, taglib, libexif, curl, ffmpeg, file
-, pkg-config, autoreconfHook }:
-
-stdenv.mkDerivation rec {
-  pname = "mediatomb";
-  version = "0.12.1";
-
-  src = fetchgit {
-    url = meta.repositories.git;
-    rev = "7ab761696354868bd5d67ff4f2d849994e4c98e2";
-    sha256 = "1mimslr4q6mky865y6561rr64cbn4gf0qc2dhgb31hxp4rc1kmzd";
-  };
-
-  buildInputs = [ sqlite expat spidermonkey_68 taglib libexif curl ffmpeg file mp4v2 flac
-                  pkg-config autoreconfHook ];
-
-  meta = with lib; {
-    homepage = "http://mediatomb.cc";
-    repositories.git = "git://mediatomb.git.sourceforge.net/gitroot/mediatomb/mediatomb";
-    description = "UPnP MediaServer with a web user interface";
-    license = licenses.gpl2;
-    maintainers = [ ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/servers/memcached/default.nix b/nixpkgs/pkgs/servers/memcached/default.nix
index ca91d4eb12b7..824e90b4869f 100644
--- a/nixpkgs/pkgs/servers/memcached/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/metabase/default.nix b/nixpkgs/pkgs/servers/metabase/default.nix
index 990ef950e6bd..814626fec125 100644
--- a/nixpkgs/pkgs/servers/metabase/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/miniflux/default.nix b/nixpkgs/pkgs/servers/miniflux/default.nix
index 71f3e532da5c..57a554ff5813 100644
--- a/nixpkgs/pkgs/servers/miniflux/default.nix
+++ b/nixpkgs/pkgs/servers/miniflux/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "miniflux";
-  version = "2.0.34";
+  version = "2.0.35";
 
 in buildGoModule {
   inherit pname version;
@@ -11,10 +11,10 @@ in buildGoModule {
     owner = pname;
     repo = "v2";
     rev = version;
-    sha256 = "sha256-6fXmi0q6J1XyxEtOuKO8efkwLrfkMiqeKTHZPuoKYAs=";
+    sha256 = "sha256-tOainlvEB0O6yMzIm0df4r8D68swtjXBFUDsPcNc3uA=";
   };
 
-  vendorSha256 = "sha256-P8ukjBrkPZ0n8HtfyEf2pG3DAXl7D10Ib+dmtwI4KqI=";
+  vendorSha256 = "sha256-dxtQAGlNOVO9NtuGbF6Nifa4QhnFGyHKhlDS3+V5HuM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/servers/minio/default.nix b/nixpkgs/pkgs/servers/minio/default.nix
index 92e7572a446d..a3f151a19aba 100644
--- a/nixpkgs/pkgs/servers/minio/default.nix
+++ b/nixpkgs/pkgs/servers/minio/default.nix
@@ -15,16 +15,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2021-12-27T07-23-18Z";
+  version = "2022-02-18T01-50-10Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-Gkn3sl6oPozOy0FMIJ1w3EeiJocI5cGBiXRlG94K4Wg=";
+    sha256 = "sha256-4SUmnUrO89hRcr2w1v6qZiY3swlIZsPgmCHa+q+iFK0=";
   };
 
-  vendorSha256 = "sha256-EHAcrFoOQ+Ta3rPY+FlXKf0fOWc5dtgzbMCsyGADgSs=";
+  vendorSha256 = "sha256-5OJntT5ed4pmugB1yw0fa906McREzv5aPuC8vBVx5o0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/misc/navidrome/default.nix b/nixpkgs/pkgs/servers/misc/navidrome/default.nix
index 2bec7f6912e7..17e648e59ab1 100644
--- a/nixpkgs/pkgs/servers/misc/navidrome/default.nix
+++ b/nixpkgs/pkgs/servers/misc/navidrome/default.nix
@@ -4,17 +4,17 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "navidrome";
-  version = "0.47.0";
+  version = "0.47.5";
 
 
   src = fetchurl (if stdenv.hostPlatform.system == "x86_64-linux"
   then {
     url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz";
-    sha256 = "sha256-MoBv2dTCotLnGaZOUWLScYd1+gKSjPXTSkHAR6UircA=";
+    sha256 = "sha256-AkSjtln53HDdIcQgnA8Wj010RXnOlOsFm2wfVgbvwtc=";
   }
   else {
     url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_arm64.tar.gz";
-    sha256 = "sha256-FIjrw+BBJXOjh1AoVdfPZIdcDyk5yS/zKD1O+u31YlE=";
+    sha256 = "sha256-+VBRiV2zKa6PwamWj/jmE4iuoohAD6oeGnlFi4/01HM=";
   });
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/misc/oven-media-engine/default.nix b/nixpkgs/pkgs/servers/misc/oven-media-engine/default.nix
index 6a63292301b5..7bb433f83e24 100644
--- a/nixpkgs/pkgs/servers/misc/oven-media-engine/default.nix
+++ b/nixpkgs/pkgs/servers/misc/oven-media-engine/default.nix
@@ -2,57 +2,37 @@
 , fetchFromGitHub
 , fetchpatch
 , srt
-, ffmpeg_3_4
 , bc
 , pkg-config
 , perl
-, openssl
+, openssl_3_0
 , zlib
 , ffmpeg
 , libvpx
 , libopus
+, libuuid
 , srtp
 , jemalloc
 , pcre2
 }:
 
-let
-  ffmpeg = ffmpeg_3_4.overrideAttrs (super: {
-    pname = "${super.pname}-ovenmediaengine";
-    src = fetchFromGitHub {
-      owner = "Airensoft";
-      repo = "FFmpeg";
-      rev = "142b4bb64b64e337f80066e6af935a68627fedae";  # on branch ome/3.4
-      sha256 = "0fla3940q3z0c0ik2xzkbvdfvrdg06ban7wi6y94y8mcipszpp11";
-    };
-  });
-in
 stdenv.mkDerivation rec {
   pname = "oven-media-engine";
-  version = "0.10.9-hotfix";
+  version = "0.12.11";
 
   src = fetchFromGitHub {
     owner = "AirenSoft";
     repo = "OvenMediaEngine";
     rev = "v${version}";
-    sha256 = "1fhria0vwqsgmsglv5gn858li33vfy2dwy1f1qdd2jwikskb53am";
+    sha256 = "sha256-hxnd9zuDq3CfdvriU1P5C9oM2x/sLqLQZPDNolpz5IQ=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Needed to fix compilation under GCC 10.
-      url = "https://github.com/AirenSoft/OvenMediaEngine/commit/ad83e1d2226445d649e4b7e0c75106e31af4940d.patch";
-      sha256 = "1zk1rgi1wsjl6gdx3hdmgxlgindv6a3lsnkwcgi87ga9abw4vafw";
-      stripLen = 1;
-    })
-  ];
-
   sourceRoot = "source/src";
   makeFlags = "release CONFIG_LIBRARY_PATHS= CONFIG_PKG_PATHS= GLOBAL_CC=$(CC) GLOBAL_CXX=$(CXX) GLOBAL_LD=$(CXX) SHELL=${stdenv.shell}";
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ bc pkg-config perl ];
-  buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 ];
+  buildInputs = [ openssl_3_0 srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 libuuid ];
 
   preBuild = ''
     patchShebangs core/colorg++
diff --git a/nixpkgs/pkgs/servers/misc/virtiofsd/default.nix b/nixpkgs/pkgs/servers/misc/virtiofsd/default.nix
new file mode 100644
index 000000000000..6d5ebbb76c0c
--- /dev/null
+++ b/nixpkgs/pkgs/servers/misc/virtiofsd/default.nix
@@ -0,0 +1,25 @@
+{ lib, rustPlatform, fetchFromGitLab, libcap_ng, libseccomp }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "virtiofsd";
+  version = "1.0.0";
+
+  src = fetchFromGitLab {
+    owner = "virtio-fs";
+    repo = "virtiofsd";
+    rev = "v${version}";
+    sha256 = "010xf482qip91mv91wy9zjdsq0gfg1fd6iclrcry0nfnwlbigbwd";
+  };
+
+  cargoSha256 = "0bfvqbmvkf17slra5k0nnva6j6w07769k226qnbzb3947zf4x2ga";
+
+  buildInputs = [ libcap_ng libseccomp ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/virtio-fs/virtiofsd";
+    description = "vhost-user virtio-fs device backend written in Rust";
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.linux;
+    license = with licenses; [ asl20 /* and */ bsd3 ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/mjolnir/default.nix b/nixpkgs/pkgs/servers/mjolnir/default.nix
index 8480cf4e8bf1..cff0f88ba924 100644
--- a/nixpkgs/pkgs/servers/mjolnir/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mjolnir/node-composition.nix b/nixpkgs/pkgs/servers/mjolnir/node-composition.nix
index ef810f1b06e7..7b8937a3647c 100644
--- a/nixpkgs/pkgs/servers/mjolnir/node-composition.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mjolnir/node-deps.nix b/nixpkgs/pkgs/servers/mjolnir/node-deps.nix
index 8a10a95cdd81..2a868156806f 100644
--- a/nixpkgs/pkgs/servers/mjolnir/node-deps.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mjolnir/node-env.nix b/nixpkgs/pkgs/servers/mjolnir/node-env.nix
index 21089c4d5459..5f055785791b 100644
--- a/nixpkgs/pkgs/servers/mjolnir/node-env.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mjolnir/update.sh b/nixpkgs/pkgs/servers/mjolnir/update.sh
index 6c7b2fb417b3..62c0c6eaa7e7 100755
--- a/nixpkgs/pkgs/servers/mjolnir/update.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix b/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
index 05e7654bf549..791c323775f2 100644
--- a/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/do-agent/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "do-agent";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = "digitalocean";
     repo = "do-agent";
     rev = version;
-    sha256 = "sha256-9xbtZeufDhci3yTsxAcPcYtnEhOg9k/K8a44SXXiAY0=";
+    sha256 = "sha256-GJwNJRH7Ib4b3ZP0JHDMZD6h/AZvpRpIaZUDtnLFVoc=";
   };
 
   ldflags = [
diff --git a/nixpkgs/pkgs/servers/monitoring/fusion-inventory/default.nix b/nixpkgs/pkgs/servers/monitoring/fusion-inventory/default.nix
index c55c67f5f62d..c4e2cc53291b 100644
--- a/nixpkgs/pkgs/servers/monitoring/fusion-inventory/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/fusion-inventory/default.nix
@@ -63,6 +63,7 @@ perlPackages.buildPerlPackage rec {
 
     cp -r bin $out
     cp -r lib $out
+    cp -r share $out
 
     for cur in $out/bin/*; do
       if [ -x "$cur" ]; then
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
index b5ae64030689..35d44072a9f0 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json
index da21f90bc9eb..0e22150e0e22 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json
+++ b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json
@@ -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/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock
index dae82acb1311..de9fa1f9b9d4 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
index f72f4e59bf0e..556b6eef845b 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
index 32f31a686a6e..fdb6ea0efa99 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
+++ b/nixpkgs/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.3";
+  version = "8.4.1";
 
   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-kfeYAEwHal5bfCmNe2l5iBLM4D3eYFaVtVhXdN90o+I=";
+    sha256 = "sha256-RVEgqFEwvXTHE8Kvc1q+0o+V3mEHtURQR/7x3Qcmtpg=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-iUKMUg4AS8ufr3YY3UyB/2JJYGTL8urT4bnbz0dsbxg=";
+    sha256 = "sha256-RTupkQ9LlppJeyfmgGMztMW2m+sJXkJuDAdtpcyRGe0=";
   };
 
-  vendorSha256 = "sha256-FHVlCL4ZyHO7Ebi31K1wXcMiN6hiQjVz+5jkJx8R7jc=";
+  vendorSha256 = "sha256-RugV5cHlpR739CA1C/7FkXasvkv18m7pPsK6mxfSkC0=";
 
   nativeBuildInputs = [ wire ];
 
diff --git a/nixpkgs/pkgs/servers/monitoring/loki/default.nix b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
index 96879c3408b2..0a460e335b43 100644
--- a/nixpkgs/pkgs/servers/monitoring/loki/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
@@ -8,14 +8,14 @@
 }:
 
 buildGoModule rec {
-  version = "2.4.1";
+  version = "2.4.2";
   pname = "grafana-loki";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "sha256-QLHhGAeTtXe/76uMombWBORXGvfaUQMGCgkeGCnI0Ag=";
+    sha256 = "sha256-HSEdN3PN4wQQ3A7bICNIAgdwhwD/PIUeOdW9ZgwmbCw=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix b/nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix
index 13036f81de6d..d11add105f6b 100644
--- a/nixpkgs/pkgs/servers/monitoring/mackerel-agent/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/munin/default.nix b/nixpkgs/pkgs/servers/monitoring/munin/default.nix
index 28ff8ac80705..d284c94e20af 100644
--- a/nixpkgs/pkgs/servers/monitoring/munin/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/munin/default.nix
@@ -89,6 +89,10 @@ stdenv.mkDerivation rec {
     sed -i '/ENV{PATH}/d' node/lib/Munin/Node/Service.pm
   '';
 
+  # Disable parallel build, errors:
+  #  Can't locate Munin/Common/Defaults.pm in @INC ...
+  enableParallelBuilding = false;
+
   # DESTDIR shouldn't be needed (and shouldn't have worked), but munin
   # developers have forgotten to use PREFIX everywhere, so we use DESTDIR to
   # ensure that everything is installed in $out.
diff --git a/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index eba2347333ab..80bb74c4c2d2 100644
--- a/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/nixpkgs/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -1,27 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, file, openssl, makeWrapper, which, curl, fetchpatch }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, file
+, openssl
+, makeWrapper
+, which
+, curl
+}:
 
 stdenv.mkDerivation rec {
   pname = "check_ssl_cert";
-  version = "1.80.0";
+  version = "2.20.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "v${version}";
-    sha256 = "1jkwii45hynil1jail9gmz4bak066rdi8zfcczicjsa6npbz50w4";
+    sha256 = "sha256-M2Iy4FrdNw2Qyep8hHswzUEI7HSvVCuZO8wnJ398MfU=";
   };
 
-  patches = [
-    # https://github.com/matteocorti/check_ssl_cert/pull/114
-    (fetchpatch {
-      url = "https://github.com/matteocorti/check_ssl_cert/commit/2b7aad583d507a70605dd44d918739a65b267bfd.patch";
-      sha256 = "1jk872jgm6k3qc1ks1h3v6p804spjlnxcj2wc8v0hkmwfwiwd2k4";
-    })
+  nativeBuildInputs = [
+    makeWrapper
   ];
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  makeFlags = [ "DESTDIR=$(out)/bin" "MANDIR=$(out)/share/man" ];
+  makeFlags = [
+    "DESTDIR=$(out)/bin"
+    "MANDIR=$(out)/share/man"
+  ];
 
   postInstall = ''
     wrapProgram $out/bin/check_ssl_cert \
@@ -29,8 +34,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A Nagios plugin to check the CA and validity of an X.509 certificate";
-    license = licenses.gpl3;
+    description = "Nagios plugin to check the CA and validity of an X.509 certificate";
+    homepage = "https://github.com/matteocorti/check_ssl_cert";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix b/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix
index 27a6e01dba3d..884b358644ac 100644
--- a/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/net-snmp/default.nix
@@ -1,13 +1,20 @@
 { lib, stdenv, fetchurl, fetchpatch, autoreconfHook, removeReferencesTo
-, file, openssl, perl, perlPackages, unzip, nettools, ncurses }:
+, file, openssl, perl, perlPackages, nettools, gnused
+, withPerlTools ? false }: let
 
-stdenv.mkDerivation rec {
+  perlWithPkgs = perl.withPackages (ps: with ps; [
+    JSON
+    TermReadKey
+    Tk
+  ]);
+
+in stdenv.mkDerivation rec {
   pname = "net-snmp";
-  version = "5.9";
+  version = "5.9.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/net-snmp/${pname}-${version}.tar.gz";
-    sha256 = "0wb0vyafpspw3mcifkjjmf17r1r80kjvslycscb8nvaxz1k3lc04";
+    sha256 = "sha256-63/UpE3mzdv/2akqha0TCeXBBU+51afdkweciVP0jD8=";
   };
 
   patches =
@@ -37,8 +44,9 @@ stdenv.mkDerivation rec {
     substituteInPlace testing/fulltests/support/simple_TESTCONF.sh --replace "/bin/netstat" "${nettools}/bin/netstat"
   '';
 
-  nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo unzip ];
-  buildInputs = with perlPackages; [ file perl openssl ncurses JSON Tk TermReadKey ];
+  nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo gnused file ];
+  buildInputs = [ openssl ]
+    ++ lib.optional withPerlTools perlWithPkgs;
 
   enableParallelBuilding = true;
   doCheck = false;  # tries to use networking
@@ -56,7 +64,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Clients and server for the SNMP network monitoring protocol";
-    homepage = "http://net-snmp.sourceforge.net/";
+    homepage = "http://www.net-snmp.org/";
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
index 251c977bd4df..db9443fc04a9 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/bind-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/bind-exporter.nix
index 74b7c2112f99..4e0ef709496e 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/bind-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/bind-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bind_exporter";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus-community";
     repo = "bind_exporter";
-    sha256 = "152xi6kf1wzb7663ixv27hsdbf1x6s51fdp85zhghg1y700ln63v";
+    sha256 = "sha256-ta+uy0FUEMcL4SW1K3v2j2bfDRmdAIz42MKPsNj4FbA=";
   };
 
-  vendorSha256 = "172aqrckkhlyhpkanrcs66m13p5qp4fd2w8xv02j2kqq13klwm1a";
+  vendorSha256 = "sha256-L0jZM83u423tiLf7kcqnXsQi7QBvNEXhuU+IwXXAhE0=";
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) bind; };
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix
index f15f7b6e0057..caa17ce97fc4 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
index 931e5f7ffeae..25053e837949 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/json-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/json-exporter.nix
index 268cdff93485..6d63c6b1d668 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/json-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
index e07c8a5a5c0b..4f96e516278f 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/pihole-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/pihole-exporter.nix
index e24d0232dfe2..0925cf5dcc63 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/pihole-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
index 4db534add8c2..af6d6cfebb9c 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "postgres_exporter";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
-    owner = "wrouesnel";
+    owner = "prometheus-community";
     repo = "postgres_exporter";
     rev = "v${version}";
-    sha256 = "sha256-QU/pPw0gOHF5SAET8S/v7nTPyEvBqkxwwGQ42PbQNvw=";
+    sha256 = "sha256-AH4nVwmNS4YtKxrWlFNqN+Q59TaSCGdoiCfpelPtJuM=";
   };
 
-  vendorSha256 = "sha256-sSJjJR0wlW95I6bgzLKx4aVcqwKMRyzzWC4uz0BKLNY=";
+  vendorSha256 = "sha256-ST/Mc8RDEu2G6ufus8Gi7dwdBNIpaKJjn+Fw1AKCaXs=";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/promscale/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/promscale/default.nix
index 591542f28398..dd297d4c2585 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/promscale/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/promscale/default.nix
@@ -7,24 +7,38 @@
 
 buildGoModule rec {
   pname = "promscale";
-  version = "0.7.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OMDl8RGFOMW+KNX2tNHusJY/6gLZxuWCI3c0E/oqrfE=";
+    sha256 = "sha256-KF+aD9vJYqNJkJftx27ZsxmOIXZ/2ciKwjwcTw0GBvY=";
   };
 
   patches = [
     ./0001-remove-jaeger-test-dep.patch
   ];
 
-  vendorSha256 = "sha256-IwHngKiQ+TangEj5PcdiGoLxQJrt/Y3EtbSYZYmfUOE=";
+  vendorSha256 = "sha256-/cjRM8CrOKnx0BcRu2+MLV28MYLOrG5x1DN24mRUJzQ=";
 
-  ldflags = [ "-s" "-w" "-X github.com/timescale/promscale/pkg/version.Version=${version}" "-X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/timescale/promscale/pkg/version.Version=${version}"
+    "-X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}"
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    # some checks requires access to a docker daemon
+    for pkg in $(getGoDirs test | grep -Ev 'testhelpers|upgrade_tests|end_to_end_tests|util'); do
+      buildGoDir test $checkFlags "$pkg"
+    done
 
-  doCheck = false; # Requires access to a docker daemon
+    runHook postCheck
+  '';
 
   passthru.tests.version = testVersion {
     package = promscale;
@@ -34,6 +48,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "An open-source analytical platform for Prometheus metrics";
     homepage = "https://github.com/timescale/promscale";
+    changelog = "https://github.com/timescale/promscale/blob/${version}/CHANGELOG.md";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ _0x4A6F ];
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix
index 440a21a6b6ac..32c26a395e73 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/redis-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "redis_exporter";
-  version = "1.33.0";
+  version = "1.35.1";
 
   src = fetchFromGitHub {
     owner = "oliver006";
     repo = "redis_exporter";
     rev = "v${version}";
-    sha256 = "sha256-3b0hlRjPXrMjFhXi8j4VvKJyRGicIk9FZUBRsBUp+Xo=";
+    sha256 = "sha256-S89Okd57QyMHb/QYUQbib2HLdH9qo0duNxcdaP8wKUg=";
   };
 
-  vendorSha256 = "sha256-MVDb4JN2QqZNxANDLUZywgoBc2NpcaPB8TkR1xrq+Yk=";
+  vendorSha256 = "sha256-u9FfKOD6kiCFTjwQ7LHE9WC4j2vPm0ZCluL8pC4aQIc=";
 
   ldflags = [
     "-X main.BuildVersion=${version}"
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/sql-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/sql-exporter.nix
index 553613a9c7e9..235e8863bc2f 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/sql-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
index 51fb56382dfc..398af2453547 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/riemann/default.nix b/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
index b07c8b82c431..d163cecfdd24 100644
--- a/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riemann";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchurl {
     url = "https://github.com/riemann/riemann/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-WpJsmb74RhMMKGdNHcYcG4TA+QgpliQ2Ae89JkIjaAo=";
+    sha256 = "sha256-MjTUrqdi9K71PhpLzR3lqdOiNM7Ilmh8HWf3BUOr+b0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix b/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
index 9b07f299f729..883771e424ef 100644
--- a/nixpkgs/pkgs/servers/monitoring/sensu-go/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/telegraf/default.nix b/nixpkgs/pkgs/servers/monitoring/telegraf/default.nix
index 12b124b78415..89653f1066e1 100644
--- a/nixpkgs/pkgs/servers/monitoring/telegraf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix
index 269a8c6ba66f..f11af1809981 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix
@@ -24,6 +24,10 @@ import ./versions.nix ({ version, sha256 }:
       "--with-libpcre"
       "--with-openssl=${openssl.dev}"
     ];
+    makeFlags = [
+      "AR:=$(AR)"
+      "RANLIB:=$(RANLIB)"
+    ];
 
     postInstall = ''
       cp conf/zabbix_agentd/*.conf $out/etc/zabbix_agentd.conf.d/
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
index cd9a62582729..5bc4930621fb 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
@@ -1,11 +1,11 @@
 generic: {
   v50 = generic {
-    version = "5.0.17";
-    sha256 = "11ppax0l0m8lzd1872g4l0jhng8bkkq3577kc364fmfxnsvkc60k";
+    version = "5.0.19";
+    sha256 = "sha256-esa7DczdaWiG8Ru9py8HlOhvhkjV8IQjMwuiJ6F5c6E=";
   };
 
   v40 = generic {
-    version = "4.0.35";
-    sha256 = "0qq49658b22xxsjlmldjqwssri16s1y3c0wj3a5hzs8sk5qclcr5";
+    version = "4.0.37";
+    sha256 = "sha256-Wuexl8I2zA63jyTRDe8bMSP++imwSOxc4LEdUnH8jps=";
   };
 }
diff --git a/nixpkgs/pkgs/servers/mpd/default.nix b/nixpkgs/pkgs/servers/mpd/default.nix
index 8f1a407bf56d..8eb782703776 100644
--- a/nixpkgs/pkgs/servers/mpd/default.nix
+++ b/nixpkgs/pkgs/servers/mpd/default.nix
@@ -13,7 +13,7 @@
 # Outputs
 , alsa-lib, libjack2, libpulseaudio, libshout, pipewire
 # Misc
-, icu, sqlite, avahi, dbus, pcre, libgcrypt, expat
+, icu, sqlite, avahi, dbus, pcre2, libgcrypt, expat
 # Services
 , yajl
 # Client support
@@ -71,7 +71,6 @@ let
     # Commercial services
     qobuz         = [ curl libgcrypt yajl ];
     soundcloud    = [ curl yajl ];
-    tidal         = [ curl yajl ];
     # Client support
     libmpdclient  = [ libmpdclient ];
     # Tag support
@@ -80,7 +79,7 @@ let
     dbus          = [ dbus ];
     expat         = [ expat ];
     icu           = [ icu ];
-    pcre          = [ pcre ];
+    pcre          = [ pcre2 ];
     sqlite        = [ sqlite ];
     syslog        = [ ];
     systemd       = [ systemd ];
@@ -117,13 +116,13 @@ let
 
     in stdenv.mkDerivation rec {
       pname = "mpd";
-      version = "0.23.4";
+      version = "0.23.5";
 
       src = fetchFromGitHub {
         owner  = "MusicPlayerDaemon";
         repo   = "MPD";
         rev    = "v${version}";
-        sha256 = "sha256-siMFLV1fKdRt8To6AhLXmAAsgqZCA/bbvmlhbb6hLic=";
+        sha256 = "sha256-zsxh/rUJtcuke0zYBrh225Qd6RKo1SiFDbMmROdkyjI=";
       };
 
       buildInputs = [
@@ -158,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"
@@ -196,7 +199,7 @@ in
     "lame" "libsamplerate" "shout"
     "libmpdclient" "id3tag" "expat" "pcre"
     "yajl" "sqlite"
-    "soundcloud" "qobuz" "tidal"
+    "soundcloud" "qobuz"
   ] ++ lib.optionals stdenv.isLinux [
     "alsa" "systemd" "syslog" "io_uring"
   ] ++ lib.optionals (!stdenv.isDarwin) [
diff --git a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
index 81821f1b7c49..510a65b60c82 100644
--- a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
@@ -23,13 +23,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mosquitto";
-  version = "2.0.12";
+  version = "2.0.14";
 
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bn6vpk6gdxrnm3aw3j2g0ny6cx2arv8pmv4x8302pr6qcrz57s6";
+    sha256 = "0ns4dxywsy9hsmd3ybanxvzwdvzs0szc2rg43c310l4xb1sd8wm2";
   };
 
   patches = lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/servers/mx-puppet-discord/default.nix b/nixpkgs/pkgs/servers/mx-puppet-discord/default.nix
index d2606148768d..92e446487c05 100644
--- a/nixpkgs/pkgs/servers/mx-puppet-discord/default.nix
+++ b/nixpkgs/pkgs/servers/mx-puppet-discord/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchFromGitHub, pkgs, lib, nodejs, nodePackages, pkg-config, libjpeg
+{ stdenv, fetchFromGitHub, pkgs, lib, nodejs-14_x, nodePackages, pkg-config, libjpeg
 , pixman, cairo, pango }:
 
 let
+  nodejs = nodejs-14_x;
   # No official version ever released
   src = fetchFromGitHub {
     owner = "matrix-discord";
     repo = "mx-puppet-discord";
-    rev = "c17384a6a12a42a528e0b1259f8073e8db89b8f4";
-    sha256 = "1yczhfpa4qzvijcpgc2pr10s009qb6jwlfwpcbb17g2wsx6zj0c2";
+    rev = "bb6438a504182a7a64048b992179427587ccfded";
+    sha256 = "0g2p5xwxxgvlnq0fg0x4q9x4asqyppdv6b5z6bvncm62kc70z6xk";
   };
 
   myNodePackages = import ./node-composition.nix {
@@ -17,6 +18,7 @@ let
 
 in myNodePackages.package.override {
   pname = "mx-puppet-discord";
+  version = "2021-08-01";
 
   inherit src;
 
diff --git a/nixpkgs/pkgs/servers/mx-puppet-discord/generate.sh b/nixpkgs/pkgs/servers/mx-puppet-discord/generate.sh
index 851671a147a8..deac865a33db 100755
--- a/nixpkgs/pkgs/servers/mx-puppet-discord/generate.sh
+++ b/nixpkgs/pkgs/servers/mx-puppet-discord/generate.sh
@@ -2,14 +2,15 @@
 #! nix-shell -i bash -p nodePackages.node2nix
 
 # No official release
-rev=c17384a6a12a42a528e0b1259f8073e8db89b8f4
+rev=bb6438a504182a7a64048b992179427587ccfded
 u=https://raw.githubusercontent.com/matrix-discord/mx-puppet-discord/$rev
 # Download package.json and package-lock.json
 curl -O $u/package.json
-curl -O $u/package-lock.json
+curl $u/package-lock.json |
+  sed -e 's|git+ssh://git@|git+https://|g' > package-lock.json
 
 node2nix \
-  --nodejs-12 \
+  --nodejs-14 \
   --node-env ../../development/node-packages/node-env.nix \
   --input package.json \
   --lock package-lock.json \
diff --git a/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix b/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix
index 1285e13cfba4..51af28fd44fd 100644
--- a/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix
+++ b/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import ../../.. {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
 
 let
   nodeEnv = import ../../development/node-packages/node-env.nix {
diff --git a/nixpkgs/pkgs/servers/mx-puppet-discord/node-packages.nix b/nixpkgs/pkgs/servers/mx-puppet-discord/node-packages.nix
index b3dc83bb343c..696e401347e7 100644
--- a/nixpkgs/pkgs/servers/mx-puppet-discord/node-packages.nix
+++ b/nixpkgs/pkgs/servers/mx-puppet-discord/node-packages.nix
@@ -58,13 +58,13 @@ let
         sha512 = "JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==";
       };
     };
-    "@sorunome/matrix-bot-sdk-0.5.8" = {
+    "@sorunome/matrix-bot-sdk-0.5.13" = {
       name = "_at_sorunome_slash_matrix-bot-sdk";
       packageName = "@sorunome/matrix-bot-sdk";
-      version = "0.5.8";
+      version = "0.5.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sorunome/matrix-bot-sdk/-/matrix-bot-sdk-0.5.8.tgz";
-        sha512 = "Uifu8saeD1fPrj6F8ZdYiCeADCluySbdi/nVKJy0NQOi6cA5p68ZaeydlCyl+YuFJoCjsDWBe+Szq9CgFd/SpA==";
+        url = "https://registry.npmjs.org/@sorunome/matrix-bot-sdk/-/matrix-bot-sdk-0.5.13.tgz";
+        sha512 = "WEeuei8/QS9FO76n71nT17TBZ3tRW2POjOpN7YIvsy5tA0WD0tMUKWZDcTo1A+xKOvzgjRTy9v88rKSLIr4wHA==";
       };
     };
     "@szmarczak/http-timer-4.0.5" = {
@@ -76,13 +76,13 @@ let
         sha512 = "PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==";
       };
     };
-    "@types/body-parser-1.19.0" = {
+    "@types/body-parser-1.19.1" = {
       name = "_at_types_slash_body-parser";
       packageName = "@types/body-parser";
-      version = "1.19.0";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz";
-        sha512 = "W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==";
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz";
+        sha512 = "a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==";
       };
     };
     "@types/cacheable-request-6.0.1" = {
@@ -94,31 +94,31 @@ let
         sha512 = "ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==";
       };
     };
-    "@types/connect-3.4.34" = {
+    "@types/connect-3.4.35" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
-      version = "3.4.34";
+      version = "3.4.35";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz";
-        sha512 = "ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==";
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz";
+        sha512 = "cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==";
       };
     };
-    "@types/express-4.17.11" = {
+    "@types/express-4.17.13" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.11";
+      version = "4.17.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz";
-        sha512 = "no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz";
+        sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
       };
     };
-    "@types/express-serve-static-core-4.17.18" = {
+    "@types/express-serve-static-core-4.17.24" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.18";
+      version = "4.17.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz";
-        sha512 = "m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz";
+        sha512 = "3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==";
       };
     };
     "@types/http-cache-semantics-4.0.0" = {
@@ -166,22 +166,22 @@ let
         sha512 = "KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==";
       };
     };
-    "@types/qs-6.9.5" = {
+    "@types/qs-6.9.7" = {
       name = "_at_types_slash_qs";
       packageName = "@types/qs";
-      version = "6.9.5";
+      version = "6.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz";
-        sha512 = "/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==";
+        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz";
+        sha512 = "FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==";
       };
     };
-    "@types/range-parser-1.2.3" = {
+    "@types/range-parser-1.2.4" = {
       name = "_at_types_slash_range-parser";
       packageName = "@types/range-parser";
-      version = "1.2.3";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz";
-        sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz";
+        sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
       };
     };
     "@types/react-17.0.0" = {
@@ -202,13 +202,13 @@ let
         sha512 = "85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==";
       };
     };
-    "@types/serve-static-1.13.9" = {
+    "@types/serve-static-1.13.10" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
-      version = "1.13.9";
+      version = "1.13.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz";
-        sha512 = "ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==";
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz";
+        sha512 = "nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==";
       };
     };
     "abbrev-1.1.1" = {
@@ -383,13 +383,13 @@ let
         sha256 = "ab87453cc9db05b3bc691f27e92c5a4a6a14a528c98c7d313d6dd42f1741124a";
       };
     };
-    "better-sqlite3-6.0.1" = {
+    "better-sqlite3-7.4.3" = {
       name = "better-sqlite3";
       packageName = "better-sqlite3";
-      version = "6.0.1";
+      version = "7.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-6.0.1.tgz";
-        sha512 = "4aV1zEknM9g1a6B0mVBx1oIlmYioEJ8gSS3J6EpN1b1bKYEE+N5lmpmXHKNKTi0qjHziSd7XrXwHl1kpqvEcHQ==";
+        url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.3.tgz";
+        sha512 = "07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==";
       };
     };
     "bindings-1.5.0" = {
@@ -410,13 +410,13 @@ let
         sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
       };
     };
-    "bl-4.0.3" = {
+    "bl-4.1.0" = {
       name = "bl";
       packageName = "bl";
-      version = "4.0.3";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz";
-        sha512 = "fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==";
+        url = "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz";
+        sha512 = "1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==";
       };
     };
     "blurhash-1.1.3" = {
@@ -518,13 +518,13 @@ let
         sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
-    "chalk-4.1.0" = {
+    "chalk-4.1.1" = {
       name = "chalk";
       packageName = "chalk";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz";
-        sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==";
+        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz";
+        sha512 = "diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==";
       };
     };
     "chownr-1.1.4" = {
@@ -536,6 +536,15 @@ let
         sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     };
+    "chownr-2.0.0" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz";
+        sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
+      };
+    };
     "clone-response-1.0.2" = {
       name = "clone-response";
       packageName = "clone-response";
@@ -608,6 +617,15 @@ let
         sha512 = "57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==";
       };
     };
+    "colorette-1.2.2" = {
+      name = "colorette";
+      packageName = "colorette";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz";
+        sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==";
+      };
+    };
     "colors-1.4.0" = {
       name = "colors";
       packageName = "colors";
@@ -788,6 +806,15 @@ let
         sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     };
+    "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==";
+      };
+    };
     "defer-to-connect-2.0.0" = {
       name = "defer-to-connect";
       packageName = "defer-to-connect";
@@ -860,32 +887,32 @@ let
         sha512 = "A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==";
       };
     };
-    "discord-markdown-git://github.com/Sorunome/discord-markdown.git#0f38420fdd41340d6eadd38cd5b71784ca954085" = {
+    "discord-markdown-git+https://github.com/Sorunome/discord-markdown.git#0f38420fdd41340d6eadd38cd5b71784ca954085" = {
       name = "discord-markdown";
       packageName = "discord-markdown";
       version = "2.3.1";
       src = fetchgit {
-        url = "git://github.com/Sorunome/discord-markdown.git";
+        url = "https://github.com/Sorunome/discord-markdown.git";
         rev = "0f38420fdd41340d6eadd38cd5b71784ca954085";
         sha256 = "61a5ffd248b6d2784665fa710bfe4c39f241c75be07dbe53f5f48575a4df229c";
       };
     };
-    "dom-serializer-1.2.0" = {
+    "dom-serializer-1.3.2" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
-      version = "1.2.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz";
-        sha512 = "n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
+        sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
       };
     };
-    "domelementtype-2.1.0" = {
+    "domelementtype-2.2.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
-        sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
+        sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
       };
     };
     "domhandler-3.3.0" = {
@@ -897,22 +924,22 @@ let
         sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
       };
     };
-    "domhandler-4.0.0" = {
+    "domhandler-4.2.0" = {
       name = "domhandler";
       packageName = "domhandler";
-      version = "4.0.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz";
-        sha512 = "KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==";
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz";
+        sha512 = "zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==";
       };
     };
-    "domutils-2.4.4" = {
+    "domutils-2.7.0" = {
       name = "domutils";
       packageName = "domutils";
-      version = "2.4.4";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz";
-        sha512 = "jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==";
+        url = "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz";
+        sha512 = "8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==";
       };
     };
     "ee-first-1.1.1" = {
@@ -960,13 +987,13 @@ let
         sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
       };
     };
-    "entities-2.1.0" = {
+    "entities-2.2.0" = {
       name = "entities";
       packageName = "entities";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz";
-        sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
+        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
+        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
       };
     };
     "escape-html-1.0.3" = {
@@ -987,6 +1014,15 @@ let
         sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
       };
     };
+    "escape-string-regexp-4.0.0" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
+        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
+      };
+    };
     "esprima-4.0.1" = {
       name = "esprima";
       packageName = "esprima";
@@ -1158,13 +1194,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "forwarded-0.1.2" = {
+    "forwarded-0.2.0" = {
       name = "forwarded";
       packageName = "forwarded";
-      version = "0.1.2";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
-        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz";
+        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
       };
     };
     "fresh-0.5.2" = {
@@ -1194,6 +1230,15 @@ let
         sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
       };
     };
+    "fs-minipass-2.1.0" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz";
+        sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
+      };
+    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -1257,13 +1302,13 @@ let
         sha512 = "ErhWb4IUjQzJ3vGs3+RR12NWlBDDkRciFpAkQ1LPUxi6OnwhGj07gQxjPsyIk69s7qMihwKrKquV6VQq7JNYLA==";
       };
     };
-    "graceful-fs-4.2.4" = {
+    "graceful-fs-4.2.6" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.4";
+      version = "4.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz";
+        sha512 = "nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==";
       };
     };
     "has-flag-3.0.0" = {
@@ -1329,6 +1374,15 @@ let
         sha512 = "yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==";
       };
     };
+    "html-to-text-6.0.0" = {
+      name = "html-to-text";
+      packageName = "html-to-text";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-6.0.0.tgz";
+        sha512 = "r0KNC5aqCAItsjlgtirW6RW25c92Ee3ybQj8z//4Sl4suE3HIPqM4deGpYCUJULLjtVPEP1+Ma+1ZeX1iMsCiA==";
+      };
+    };
     "htmlencode-0.0.4" = {
       name = "htmlencode";
       packageName = "htmlencode";
@@ -1347,6 +1401,15 @@ let
         sha512 = "4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==";
       };
     };
+    "htmlparser2-6.1.0" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz";
+        sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
+      };
+    };
     "http-cache-semantics-4.1.0" = {
       name = "http-cache-semantics";
       packageName = "http-cache-semantics";
@@ -1437,15 +1500,6 @@ let
         sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
       };
     };
-    "integer-3.0.1" = {
-      name = "integer";
-      packageName = "integer";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/integer/-/integer-3.0.1.tgz";
-        sha512 = "OqtER6W2GIJTIcnT5o2B/pWGgvurnVOYs4OZCgay40QEIbMTnNq4R0KSaIw1TZyFtPWjm5aNM+pBBMTfc3exmw==";
-      };
-    };
     "ipaddr.js-1.9.1" = {
       name = "ipaddr.js";
       packageName = "ipaddr.js";
@@ -1482,6 +1536,15 @@ let
         sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
       };
     };
+    "is-plain-object-5.0.0" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz";
+        sha512 = "VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==";
+      };
+    };
     "is-promise-2.2.2" = {
       name = "is-promise";
       packageName = "is-promise";
@@ -1545,6 +1608,15 @@ let
         sha512 = "xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw==";
       };
     };
+    "klona-2.0.4" = {
+      name = "klona";
+      packageName = "klona";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz";
+        sha512 = "ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==";
+      };
+    };
     "kuler-2.0.0" = {
       name = "kuler";
       packageName = "kuler";
@@ -1563,13 +1635,13 @@ let
         sha512 = "GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==";
       };
     };
-    "lodash-4.17.20" = {
+    "lodash-4.17.21" = {
       name = "lodash";
       packageName = "lodash";
-      version = "4.17.20";
+      version = "4.17.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz";
-        sha512 = "PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==";
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
+        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
       };
     };
     "lodash.camelcase-4.3.0" = {
@@ -1797,6 +1869,15 @@ let
         sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
       };
     };
+    "minipass-3.1.3" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz";
+        sha512 = "Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==";
+      };
+    };
     "minizlib-1.3.3" = {
       name = "minizlib";
       packageName = "minizlib";
@@ -1806,6 +1887,15 @@ let
         sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
+    "minizlib-2.1.2" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz";
+        sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
+      };
+    };
     "mkdirp-0.5.5" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -1878,13 +1968,13 @@ let
         sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "mx-puppet-bridge-0.1.4" = {
+    "mx-puppet-bridge-0.1.6" = {
       name = "mx-puppet-bridge";
       packageName = "mx-puppet-bridge";
-      version = "0.1.4";
+      version = "0.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mx-puppet-bridge/-/mx-puppet-bridge-0.1.4.tgz";
-        sha512 = "Jg4hszVqQv1n35Mvb5HcfK4VafjB0LaCEay8ylgiu/M2oIPE0fadFNdQpkwssXmShDzSeth/xga3HgP8G6O5Fg==";
+        url = "https://registry.npmjs.org/mx-puppet-bridge/-/mx-puppet-bridge-0.1.6.tgz";
+        sha512 = "q8XtOcmn25NkdBPM1LWYGAlgZZi+mI7+Dp7F5a1zQD0JM9cMcpW9FIO/JqAer+s3Y8CgTim3JZ2AyrUjfLRKsg==";
       };
     };
     "nan-2.14.2" = {
@@ -1896,6 +1986,15 @@ let
         sha512 = "M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==";
       };
     };
+    "nanoid-3.1.23" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "3.1.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz";
+        sha512 = "FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==";
+      };
+    };
     "napi-build-utils-1.0.2" = {
       name = "napi-build-utils";
       packageName = "napi-build-utils";
@@ -1923,13 +2022,13 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
-    "node-abi-2.19.3" = {
+    "node-abi-2.30.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "2.19.3";
+      version = "2.30.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz";
-        sha512 = "9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz";
+        sha512 = "g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==";
       };
     };
     "node-emoji-1.10.0" = {
@@ -1968,15 +2067,6 @@ let
         sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==";
       };
     };
-    "noop-logger-0.1.1" = {
-      name = "noop-logger";
-      packageName = "noop-logger";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz";
-        sha1 = "94a2b1633c4f1317553007d8966fd0e841b6a4c2";
-      };
-    };
     "nopt-4.0.3" = {
       name = "nopt";
       packageName = "nopt";
@@ -1986,13 +2076,13 @@ let
         sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==";
       };
     };
-    "normalize-url-4.5.0" = {
+    "normalize-url-4.5.1" = {
       name = "normalize-url";
       packageName = "normalize-url";
-      version = "4.5.0";
+      version = "4.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz";
-        sha512 = "2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==";
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz";
+        sha512 = "9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==";
       };
     };
     "normalize-version-1.0.5" = {
@@ -2292,13 +2382,13 @@ let
         sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
       };
     };
-    "postcss-7.0.35" = {
+    "postcss-8.3.6" = {
       name = "postcss";
       packageName = "postcss";
-      version = "7.0.35";
+      version = "8.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz";
-        sha512 = "3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz";
+        sha512 = "wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==";
       };
     };
     "postgres-array-2.0.0" = {
@@ -2337,13 +2427,13 @@ let
         sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
       };
     };
-    "prebuild-install-5.3.6" = {
+    "prebuild-install-6.1.3" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "5.3.6";
+      version = "6.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz";
-        sha512 = "s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.3.tgz";
+        sha512 = "iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q==";
       };
     };
     "prism-media-1.2.3" = {
@@ -2382,13 +2472,13 @@ let
         sha512 = "M7ZNjIO6x+2R/vjSD13yjJPjpoZA8eEwH2Bp2Re0/PvzozD7azikv+SaBtZes4Q1ca/xHjZ4RSCuTag3YZLg1A==";
       };
     };
-    "proxy-addr-2.0.6" = {
+    "proxy-addr-2.0.7" = {
       name = "proxy-addr";
       packageName = "proxy-addr";
-      version = "2.0.6";
+      version = "2.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
-        sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz";
+        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
       };
     };
     "pump-3.0.0" = {
@@ -2526,13 +2616,13 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
-    "sanitize-html-1.27.5" = {
+    "sanitize-html-2.4.0" = {
       name = "sanitize-html";
       packageName = "sanitize-html";
-      version = "1.27.5";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz";
-        sha512 = "M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==";
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.4.0.tgz";
+        sha512 = "Y1OgkUiTPMqwZNRLPERSEi39iOebn2XJLbeiGOBhaJD/yLqtLGu6GE5w7evx177LeGgSE+4p4e107LMiydOf6A==";
       };
     };
     "sax-1.2.4" = {
@@ -2661,13 +2751,13 @@ let
         sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
       };
     };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
+    "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/-/source-map-0.6.1.tgz";
-        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz";
+        sha512 = "/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==";
       };
     };
     "spex-3.2.0" = {
@@ -2769,15 +2859,6 @@ let
         sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     };
-    "supports-color-6.1.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
-        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
-      };
-    };
     "supports-color-7.2.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -2805,6 +2886,15 @@ let
         sha512 = "g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==";
       };
     };
+    "tar-6.1.0" = {
+      name = "tar";
+      packageName = "tar";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz";
+        sha512 = "DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==";
+      };
+    };
     "tar-fs-2.1.1" = {
       name = "tar-fs";
       packageName = "tar-fs";
@@ -3039,15 +3129,6 @@ let
         sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
       };
     };
-    "which-pm-runs-1.0.0" = {
-      name = "which-pm-runs";
-      packageName = "which-pm-runs";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz";
-        sha1 = "670b3afbc552e0b55df6b7780ca74615f23ad1cb";
-      };
-    };
     "wide-align-1.1.3" = {
       name = "wide-align";
       packageName = "wide-align";
@@ -3111,13 +3192,13 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "ws-7.4.1" = {
+    "ws-7.5.3" = {
       name = "ws";
       packageName = "ws";
-      version = "7.4.1";
+      version = "7.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz";
-        sha512 = "pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz";
+        sha512 = "kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==";
       };
     };
     "xtend-4.0.2" = {
@@ -3160,10 +3241,10 @@ let
       sources."@discordjs/collection-0.1.6"
       sources."@discordjs/form-data-3.0.1"
       sources."@sindresorhus/is-3.1.2"
-      (sources."@sorunome/matrix-bot-sdk-0.5.8" // {
+      (sources."@sorunome/matrix-bot-sdk-0.5.13" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.0"
+          sources."chalk-4.1.1"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
@@ -3172,20 +3253,20 @@ let
         ];
       })
       sources."@szmarczak/http-timer-4.0.5"
-      sources."@types/body-parser-1.19.0"
+      sources."@types/body-parser-1.19.1"
       sources."@types/cacheable-request-6.0.1"
-      sources."@types/connect-3.4.34"
-      sources."@types/express-4.17.11"
-      sources."@types/express-serve-static-core-4.17.18"
+      sources."@types/connect-3.4.35"
+      sources."@types/express-4.17.13"
+      sources."@types/express-serve-static-core-4.17.24"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/node-14.6.3"
       sources."@types/prop-types-15.7.3"
-      sources."@types/qs-6.9.5"
-      sources."@types/range-parser-1.2.3"
+      sources."@types/qs-6.9.7"
+      sources."@types/range-parser-1.2.4"
       sources."@types/react-17.0.0"
       sources."@types/responselike-1.0.0"
-      (sources."@types/serve-static-1.13.9" // {
+      (sources."@types/serve-static-1.13.10" // {
         dependencies = [
           sources."@types/mime-1.3.2"
         ];
@@ -3207,10 +3288,19 @@ let
       sources."base64-js-1.5.1"
       sources."basic-auth-2.0.1"
       sources."better-discord.js-git+https://github.com/Sorunome/better-discord.js.git#5e58e1e7510cf2192f3503ca146dd61a56a75c72"
-      sources."better-sqlite3-6.0.1"
+      (sources."better-sqlite3-7.4.3" // {
+        dependencies = [
+          sources."chownr-2.0.0"
+          sources."fs-minipass-2.1.0"
+          sources."minipass-3.1.3"
+          sources."minizlib-2.1.2"
+          sources."mkdirp-1.0.4"
+          sources."tar-6.1.0"
+        ];
+      })
       sources."bindings-1.5.0"
       sources."bintrees-1.0.1"
-      (sources."bl-4.0.3" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
           sources."inherits-2.0.4"
           sources."readable-stream-3.6.0"
@@ -3234,6 +3324,7 @@ let
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.5.4"
+      sources."colorette-1.2.2"
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
@@ -3261,6 +3352,7 @@ let
         ];
       })
       sources."deep-extend-0.6.0"
+      sources."deepmerge-4.2.2"
       sources."defer-to-connect-2.0.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
@@ -3268,24 +3360,24 @@ let
       sources."destroy-1.0.4"
       sources."detect-libc-1.0.3"
       sources."diff-3.5.0"
-      sources."discord-markdown-git://github.com/Sorunome/discord-markdown.git#0f38420fdd41340d6eadd38cd5b71784ca954085"
-      (sources."dom-serializer-1.2.0" // {
+      sources."discord-markdown-git+https://github.com/Sorunome/discord-markdown.git#0f38420fdd41340d6eadd38cd5b71784ca954085"
+      (sources."dom-serializer-1.3.2" // {
         dependencies = [
-          sources."domhandler-4.0.0"
+          sources."domhandler-4.2.0"
         ];
       })
-      sources."domelementtype-2.1.0"
+      sources."domelementtype-2.2.0"
       sources."domhandler-3.3.0"
-      (sources."domutils-2.4.4" // {
+      (sources."domutils-2.7.0" // {
         dependencies = [
-          sources."domhandler-4.0.0"
+          sources."domhandler-4.2.0"
         ];
       })
       sources."ee-first-1.1.1"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      sources."entities-2.1.0"
+      sources."entities-2.2.0"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
@@ -3305,7 +3397,7 @@ let
       sources."finalhandler-1.1.2"
       sources."find-replace-3.0.0"
       sources."fn.name-1.1.0"
-      sources."forwarded-0.1.2"
+      sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-constants-1.0.0"
       sources."fs-minipass-1.2.7"
@@ -3316,13 +3408,14 @@ let
       sources."glob-7.1.4"
       sources."glob-to-regexp-0.4.1"
       sources."got-11.6.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-3.0.0"
       sources."has-unicode-2.0.1"
       sources."hash.js-1.1.7"
       sources."hasha-5.2.2"
       sources."he-1.2.0"
       sources."highlight.js-10.4.1"
+      sources."html-to-text-6.0.0"
       sources."htmlencode-0.0.4"
       sources."htmlparser2-4.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -3334,11 +3427,11 @@ let
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.8"
-      sources."integer-3.0.1"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.3.2"
       sources."is-extendable-0.1.1"
       sources."is-fullwidth-code-point-1.0.0"
+      sources."is-plain-object-5.0.0"
       sources."is-promise-2.2.2"
       sources."is-stream-2.0.0"
       sources."isarray-1.0.0"
@@ -3346,9 +3439,10 @@ let
       sources."js-yaml-3.13.1"
       sources."json-buffer-3.0.1"
       sources."keyv-4.0.1"
+      sources."klona-2.0.4"
       sources."kuler-2.0.0"
       sources."linkify-it-2.2.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.padend-4.6.1"
       sources."lodash.toarray-4.4.0"
@@ -3392,12 +3486,13 @@ let
         ];
       })
       sources."ms-2.0.0"
-      (sources."mx-puppet-bridge-0.1.4" // {
+      (sources."mx-puppet-bridge-0.1.6" // {
         dependencies = [
           sources."events-3.2.0"
         ];
       })
       sources."nan-2.14.2"
+      sources."nanoid-3.1.23"
       sources."napi-build-utils-1.0.2"
       (sources."needle-2.6.0" // {
         dependencies = [
@@ -3406,14 +3501,13 @@ let
         ];
       })
       sources."negotiator-0.6.2"
-      sources."node-abi-2.19.3"
+      sources."node-abi-2.30.0"
       sources."node-emoji-1.10.0"
       sources."node-fetch-2.6.1"
       sources."node-html-parser-1.4.9"
       sources."node-pre-gyp-0.11.0"
-      sources."noop-logger-0.1.1"
       sources."nopt-4.0.3"
-      sources."normalize-url-4.5.0"
+      sources."normalize-url-4.5.1"
       sources."normalize-version-1.0.5"
       sources."npm-bundled-1.1.1"
       sources."npm-normalize-package-bin-1.0.1"
@@ -3447,21 +3541,17 @@ let
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.4"
       sources."pify-3.0.0"
-      (sources."postcss-7.0.35" // {
-        dependencies = [
-          sources."supports-color-6.1.0"
-        ];
-      })
+      sources."postcss-8.3.6"
       sources."postgres-array-2.0.0"
       sources."postgres-bytea-1.0.0"
       sources."postgres-date-1.0.7"
       sources."postgres-interval-1.2.0"
-      sources."prebuild-install-5.3.6"
+      sources."prebuild-install-6.1.3"
       sources."prism-media-1.2.3"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."prom-client-13.0.0"
-      sources."proxy-addr-2.0.6"
+      sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
       sources."qs-6.7.0"
       sources."quick-lru-5.1.1"
@@ -3476,7 +3566,13 @@ let
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."sanitize-html-1.27.5"
+      (sources."sanitize-html-2.4.0" // {
+        dependencies = [
+          sources."domhandler-4.2.0"
+          sources."escape-string-regexp-4.0.0"
+          sources."htmlparser2-6.1.0"
+        ];
+      })
       sources."sax-1.2.4"
       sources."semver-5.7.0"
       sources."semver-closest-0.1.2"
@@ -3500,7 +3596,7 @@ let
       })
       sources."simple-markdown-0.7.2"
       sources."simple-swizzle-0.2.2"
-      sources."source-map-0.6.1"
+      sources."source-map-js-0.6.2"
       sources."spex-3.2.0"
       (sources."split2-3.2.2" // {
         dependencies = [
@@ -3556,7 +3652,6 @@ let
       sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
       sources."vary-1.1.2"
-      sources."which-pm-runs-1.0.0"
       sources."wide-align-1.1.3"
       (sources."winston-3.3.3" // {
         dependencies = [
@@ -3582,7 +3677,7 @@ let
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.4.1"
+      sources."ws-7.5.3"
       sources."xtend-4.0.2"
       sources."yallist-4.0.0"
     ];
diff --git a/nixpkgs/pkgs/servers/mycorrhiza/default.nix b/nixpkgs/pkgs/servers/mycorrhiza/default.nix
index 8036d966d722..16e15a8dd2ae 100644
--- a/nixpkgs/pkgs/servers/mycorrhiza/default.nix
+++ b/nixpkgs/pkgs/servers/mycorrhiza/default.nix
@@ -4,16 +4,16 @@
 
 buildGoModule rec {
   pname = "mycorrhiza";
-  version = "1.7.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "bouncepaw";
     repo = "mycorrhiza";
     rev = "v${version}";
-    sha256 = "1dd18n9lq4wxz7kn1szavigw9098r7rcwz9j53q92mx100fa42q6";
+    sha256 = "sha256-81Ok/0cDkFqKEAwWtpxM3InMfu0R9rZJzQ41AhWuVuo=";
   };
 
-  vendorSha256 = "1s7n0lk3cr4lkay3plvlqfpx2gh03n2afb43gv9lmwljbry9zbss";
+  vendorSha256 = "sha256-9FMxj3AkbKyUMZWj1S0myoKem4mupOHPIfxNHjYk8mU=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/servers/nats-server/default.nix b/nixpkgs/pkgs/servers/nats-server/default.nix
index 2654ea43e7da..695480a05c96 100644
--- a/nixpkgs/pkgs/servers/nats-server/default.nix
+++ b/nixpkgs/pkgs/servers/nats-server/default.nix
@@ -1,24 +1,26 @@
-{  buildGoPackage, fetchFromGitHub, lib  }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
-with lib;
-
-buildGoPackage rec {
+buildGoModule rec {
   pname   = "nats-server";
-  version = "2.6.0";
-
-  goPackagePath = "github.com/nats-io/${pname}";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "nats-io";
     repo   = pname;
-    sha256 = "sha256-DggzXYPyu0dQ40L98VzxgN9S/35vLJJow9UjDtMz9rY=";
+    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 = [ maintainers.swdunlop ];
+    maintainers = with maintainers; [ swdunlop derekcollison ];
     homepage = "https://nats.io/";
   };
 }
diff --git a/nixpkgs/pkgs/servers/nats-streaming-server/default.nix b/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
index 3de95b4f1133..4d6fdbda636d 100644
--- a/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
+++ b/nixpkgs/pkgs/servers/nats-streaming-server/default.nix
@@ -4,14 +4,14 @@ with lib;
 
 buildGoPackage rec {
   pname   = "nats-streaming-server";
-  version = "0.22.1";
+  version = "0.23.0";
   goPackagePath = "github.com/nats-io/${pname}";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "nats-io";
     repo   = pname;
-    sha256 = "sha256-VdYyui0fyoNf1q3M1xTg/UMlxIFABqAbqQaD0bLpKCY=";
+    sha256 = "sha256-Uol1A4+0V4dUQ7Qw0qRUWHzFBugVDYSulDGTJZ4a+ts=";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/servers/nextcloud/default.nix b/nixpkgs/pkgs/servers/nextcloud/default.nix
index 5490b29090e0..735bfdeafb18 100644
--- a/nixpkgs/pkgs/servers/nextcloud/default.nix
+++ b/nixpkgs/pkgs/servers/nextcloud/default.nix
@@ -46,18 +46,18 @@ in {
   '';
 
   nextcloud21 = generic {
-    version = "21.0.7";
-    sha256 = "sha256-WZMhWW613q5c6grR/dzVSCKJKru7XPtRoxgBhi8VE7c=";
+    version = "21.0.9";
+    sha256 = "sha256-p6bvgTXmmjGN3TRQpG88f3YPksh0QzWG9j9KnEjcrqE=";
   };
 
   nextcloud22 = generic {
-    version = "22.2.3";
-    sha256 = "sha256-ZqKaakkHOMCr7bZ3y2jHyR+rqz5kGaPJnYtAaJnrlCo=";
+    version = "22.2.5";
+    sha256 = "sha256-gb5N0u5tu4/nI2xIpjXwm2hiSDCrBhIDyN6gKGOsdS8=";
   };
 
   nextcloud23 = generic {
-    version = "23.0.0";
-    sha256 = "sha256-w3WSq8O2XI/ShFkoGiT0FLh69S/IwuqXm+P5vnXQGiw=";
+    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/nixpkgs/pkgs/servers/nitter/default.nix b/nixpkgs/pkgs/servers/nitter/default.nix
index 5804d709b838..32c7ac21dae4 100644
--- a/nixpkgs/pkgs/servers/nitter/default.nix
+++ b/nixpkgs/pkgs/servers/nitter/default.nix
@@ -2,32 +2,29 @@
 
 nimPackages.buildNimPackage rec {
   pname = "nitter";
-  version = "unstable-2021-12-31";
+  version = "unstable-2022-02-11";
   nimBinOnly = true;
 
   src = fetchFromGitHub {
     owner = "zedeus";
     repo = "nitter";
-    rev = "9d117aa15b3c3238cee79acd45d655eeb0e46293";
-    sha256 = "06hd3r1kgxx83sl5ss90r39v815xp2ki72fc8p64kid34mcn57cz";
+    rev = "6695784050605c77a301c0a66764fa9a9580a2f5";
+    sha256 = "1lddzf6m74bw5kkv465cp211xxqbwnfacav7ia3y9i38rrnqwk6m";
   };
 
   buildInputs = with nimPackages; [
     jester
     karax
     sass
-    regex
-    unicodedb
-    unicodeplus
-    segmentation
     nimcrypto
     markdown
     packedjson
     supersnappy
     redpool
-    flatty
-    zippy
     redis
+    zippy
+    flatty
+    jsony
   ];
 
   postBuild = ''
diff --git a/nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix b/nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix
index e32f31926bcf..983ff0e8be7d 100644
--- a/nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix
+++ b/nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix
@@ -1,38 +1,27 @@
-{lib, stdenv, fetchurl, java, makeWrapper}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="apache-jena";
-    version = "4.3.2";
-    name="${baseName}-${version}";
-    url="https://dlcdn.apache.org/jena/binaries/apache-jena-${version}.tar.gz";
-    sha256 = "sha256-+GNxf79RkmHUXI99e3BZIyboiEj8TiVfVtlgQADku+Y=";
+{ lib, stdenv, fetchurl, java, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "apache-jena";
+  version = "4.4.0";
+  src = fetchurl {
+    url = "https://dlcdn.apache.org/jena/binaries/apache-jena-${version}.tar.gz";
+    sha256 = "sha256-/+F7wKklFiJ3dTHd650IBSnAYOAx/ZLbk9ofoZF9E8k=";
   };
   buildInputs = [
     makeWrapper
   ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
   installPhase = ''
     cp -r . "$out"
     for i in "$out"/bin/*; do
       wrapProgram "$i" --prefix "PATH" : "${java}/bin/"
     done
   '';
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "RDF database";
-    license = lib.licenses.asl20;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
-    homepage = "http://jena.apache.org";
-    downloadPage = "http://archive.apache.org/dist/jena/binaries/";
-    updateWalker = true;
-    downloadURLRegexp = "apache-jena-.*[.]tar[.]gz\$";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    homepage = "https://jena.apache.org";
+    downloadPage = "https://archive.apache.org/dist/jena/binaries/";
   };
 }
diff --git a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
index 849827c075d7..d7c53bc7aa83 100644
--- a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
+++ b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
@@ -1,23 +1,15 @@
-{lib, stdenv, fetchurl, java, makeWrapper}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="apache-jena-fuseki";
-    version = "4.3.1";
-    name="${baseName}-${version}";
-    url="https://dlcdn.apache.org/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
+{ lib, stdenv, fetchurl, java, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "apache-jena-fuseki";
+  version = "4.3.1";
+  src = fetchurl {
+    url = "https://dlcdn.apache.org/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
     sha256 = "1r0vfa7d55lzw22yfx46mxxmz8x8pkr666vggqw2m1rzzj52z9nx";
   };
   buildInputs = [
     makeWrapper
   ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
   installPhase = ''
     cp -r . "$out"
     chmod +x $out/fuseki
@@ -29,14 +21,12 @@ stdenv.mkDerivation {
         ;
     done
   '';
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "SPARQL server";
-    license = lib.licenses.asl20;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
-    homepage = "http://jena.apache.org";
-    downloadPage = "http://archive.apache.org/dist/jena/binaries/";
-    downloadURLRegexp = "apache-jena-fuseki-.*[.]tar[.]gz\$";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    homepage = "https://jena.apache.org";
+    downloadPage = "https://archive.apache.org/dist/jena/binaries/";
   };
 }
diff --git a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.upstream b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.upstream
deleted file mode 100644
index a18675347d58..000000000000
--- a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-name apache-jena-fuseki
-attribute apache-jena-fuseki
-target fuseki-binary.nix
-minimize_overwrite
diff --git a/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix b/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix
index 2d031ae9f5d2..6e2a55b4e948 100644
--- a/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix
+++ b/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix
@@ -117,7 +117,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://cassandra.apache.org/";
+    homepage = "https://cassandra.apache.org/";
     description = "A massively scalable open source NoSQL database";
     platforms = platforms.unix;
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/servers/nosql/eventstore/create-deps.sh b/nixpkgs/pkgs/servers/nosql/eventstore/create-deps.sh
index 8001fea4d26f..afeee592de3d 100755
--- a/nixpkgs/pkgs/servers/nosql/eventstore/create-deps.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix b/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix
index 4c5be92e765b..112475d7dd79 100644
--- a/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, which, m4
-, protobuf, boost, zlib, curl, openssl, icu, jemalloc, libtool
+, protobuf, boost170, zlib, curl, openssl, icu, jemalloc, libtool
 , python2Packages, makeWrapper
 }:
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "rethinkdb" ];
 
-  buildInputs = [ protobuf boost zlib curl openssl icu ]
+  buildInputs = [ protobuf boost170 zlib curl openssl icu ]
     ++ lib.optional (!stdenv.isDarwin) jemalloc
     ++ lib.optional stdenv.isDarwin libtool;
 
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
       query language that supports really useful queries like table
       joins and group by, and is easy to setup and learn.
     '';
-    homepage    = "http://www.rethinkdb.com";
+    homepage    = "https://rethinkdb.com";
     license     = lib.licenses.asl20;
     platforms   = lib.platforms.linux;
     maintainers = with lib.maintainers; [ thoughtpolice bluescreen303 ];
diff --git a/nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix b/nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix
index 6cbdab1b59fe..3be8d95b139c 100644
--- a/nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix
+++ b/nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, unzip, erlang, which, pam }:
+{ stdenv, lib, fetchurl, unzip, erlang, which, pam, nixosTests }:
 
 let
   solrName = "solr-4.10.4-yz-2.tgz";
@@ -90,6 +90,8 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
+  passthru.tests = { inherit (nixosTests) riak; };
+
   meta = with lib; {
     maintainers = with maintainers; [ cstrahan mdaiter ];
     description = "Dynamo inspired NoSQL DB by Basho";
diff --git a/nixpkgs/pkgs/servers/oauth2-proxy/default.nix b/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
index 7002749a0df5..7f9ce7d5b568 100644
--- a/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
+++ b/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     rev = "v${version}";
   };
 
-  vendorSha256 = "sha256-bmF38dj+ovVlSbTtv2TSXGLe/W1R4NUbeDrpgGlfPf4=";
+  vendorSha256 = "sha256-+5/j2lZJpyo67uRRSn4Fd8S2K0gfAGMe69OoEEdWijc=";
 
   # Taken from https://github.com/oauth2-proxy/oauth2-proxy/blob/master/Makefile
   ldflags = [ "-X main.VERSION=${version}" ];
diff --git a/nixpkgs/pkgs/servers/ombi/default.nix b/nixpkgs/pkgs/servers/ombi/default.nix
index 0be7a3f0097c..a99349d8c0db 100644
--- a/nixpkgs/pkgs/servers/ombi/default.nix
+++ b/nixpkgs/pkgs/servers/ombi/default.nix
@@ -10,14 +10,14 @@ let
     "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-4kvcBRMMH4AnTKSES5Cpst/omTRXVRq1V1y/z5njKJI=";
-    arm64-linux_hash = "sha256-NLsf0ldvlKSrHJyAXv5Ar2zIetoga6iZPOGTxFOqoQQ=";
-    x64-osx_hash = "sha256-tjvGuShz/fv3qUknFVKJ+tE/bVtIyPZ7dr4JfTEcDJY=";
+    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.0.1468";
+  version = "4.10.2";
 
   sourceRoot = ".";
 
diff --git a/nixpkgs/pkgs/servers/ombi/update.sh b/nixpkgs/pkgs/servers/ombi/update.sh
index 1503edde9983..9b49180b6f11 100755
--- a/nixpkgs/pkgs/servers/ombi/update.sh
+++ b/nixpkgs/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 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/nixpkgs/pkgs/servers/pleroma/0001-move-result-into-with-guard.patch b/nixpkgs/pkgs/servers/pleroma/0001-move-result-into-with-guard.patch
deleted file mode 100644
index 07b224b1f0da..000000000000
--- a/nixpkgs/pkgs/servers/pleroma/0001-move-result-into-with-guard.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8af53101fbeb0d4855ffa2b33069e833abf2e825 Mon Sep 17 00:00:00 2001
-From: Finn Behrens <me@kloenk.dev>
-Date: Tue, 7 Dec 2021 09:18:53 +0100
-Subject: [PATCH] move result into with guard
-
----
- lib/pleroma/web/activity_pub/publisher.ex | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/lib/pleroma/web/activity_pub/publisher.ex b/lib/pleroma/web/activity_pub/publisher.ex
-index 4f29a44..849b359 100644
---- a/lib/pleroma/web/activity_pub/publisher.ex
-+++ b/lib/pleroma/web/activity_pub/publisher.ex
-@@ -63,8 +63,7 @@ def publish_one(%{inbox: inbox, json: json, actor: %User{} = actor, id: id} = pa
-         date: date
-       })
- 
--    with {:ok, %{status: code}} when code in 200..299 <-
--           result =
-+    with {:ok, %{status: code}} = result when code in 200..299 <-
-              HTTP.post(
-                inbox,
-                json,
--- 
-2.34.0
-
diff --git a/nixpkgs/pkgs/servers/pleroma/default.nix b/nixpkgs/pkgs/servers/pleroma/default.nix
index 5419ad97633b..ec7de2ac57cd 100644
--- a/nixpkgs/pkgs/servers/pleroma/default.nix
+++ b/nixpkgs/pkgs/servers/pleroma/default.nix
@@ -7,18 +7,16 @@
 
 beamPackages.mixRelease rec {
   pname = "pleroma";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchFromGitLab {
     domain = "git.pleroma.social";
     owner = "pleroma";
     repo = "pleroma";
     rev = "v${version}";
-    sha256 = "sha256-XYZIf8/Vznl4FvVAOy5GVfTBTCwhfUol/3vWWIDwIxQ=";
+    sha256 = "sha256-RcqqNNNCR4cxETUCyjChkpq+cQ1QzNOHHzdqBLtOc6g=";
   };
 
-  patches = [ ./0001-move-result-into-with-guard.patch ];
-
   mixNixDeps = import ./mix.nix {
     inherit beamPackages lib;
     overrides = (final: prev: {
@@ -120,13 +118,11 @@ beamPackages.mixRelease rec {
         name = "crypt";
         version = "0.4.3";
 
-        src = fetchFromGitLab {
-          domain = "git.pleroma.social";
-          group = "pleroma";
-          owner = "elixir-libraries";
+        src = fetchFromGitHub {
+          owner = "msantos";
           repo = "crypt";
-          rev = "cf2aa3f11632e8b0634810a15b3e612c7526f6a3";
-          sha256 = "0fnzljxy9pwabh1nzx0vawn131d5pdfb0p98kvpkqs441jr0ii73";
+          rev = "f75cd55325e33cbea198fb41fe41871392f8fb76";
+          sha256 = "sha256-ZYhZTe7cTITkl8DZ4z2IOlxTX5gnbJImu/lVJ2ZjR1o=";
         };
 
         postInstall = "mv $out/lib/erlang/lib/crypt-${version}/priv/{source,crypt}.so";
@@ -208,7 +204,7 @@ beamPackages.mixRelease rec {
     description = "ActivityPub microblogging server";
     homepage = "https://git.pleroma.social/pleroma/pleroma";
     license = licenses.agpl3;
-    maintainers = with maintainers; [ petabyteboy ninjatrappeur yuka ];
+    maintainers = with maintainers; [ petabyteboy ninjatrappeur yuka kloenk ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/servers/pleroma/mix.nix b/nixpkgs/pkgs/servers/pleroma/mix.nix
index ccced19bf9fb..31ab20c29409 100644
--- a/nixpkgs/pkgs/servers/pleroma/mix.nix
+++ b/nixpkgs/pkgs/servers/pleroma/mix.nix
@@ -140,12 +140,12 @@ let
 
     certifi = buildRebar3 rec {
       name = "certifi";
-      version = "2.6.1";
+      version = "2.8.0";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "0zmvagzisnk7lj5pfipl19mjq9wn70i339hpbkfljf0vk6s9fk2j";
+        sha256 = "1slp20z2fgcq9p2bbdp1gj218kjqpx5jsa95sq40nq7qqv0yziva";
       };
 
       beamDeps = [];
@@ -686,12 +686,12 @@ let
 
     hackney = buildRebar3 rec {
       name = "hackney";
-      version = "1.17.4";
+      version = "1.18.0";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "05kbk3rpw2j3cb9pybikydxmi2nm5pidpx0jsm48av2mjr4zy5ny";
+        sha256 = "0pjwbf87nqj2ki3i076whrswh2cdhklj6cbaikdj1mq40xidmz4s";
       };
 
       beamDeps = [ certifi idna metrics mimerl parse_trans ssl_verify_fun unicode_util_compat ];
diff --git a/nixpkgs/pkgs/servers/plex/default.nix b/nixpkgs/pkgs/servers/plex/default.nix
index fd580d52d8a0..1855ac1af54d 100644
--- a/nixpkgs/pkgs/servers/plex/default.nix
+++ b/nixpkgs/pkgs/servers/plex/default.nix
@@ -65,6 +65,7 @@ buildFHSUserEnv {
       # First, remove all of the symlinks in the plugins directory.
       while IFS= read -r -d $'\0' f; do
         echo "Removing plugin symlink: $f"
+        rm "$f"
       done < <(find "$pluginDir" -type l -print0)
 
       echo "Symlinking plugins"
@@ -94,6 +95,7 @@ buildFHSUserEnv {
         echo "Removing old symlinks"
         while IFS= read -r -d $'\0' f; do
           echo "Removing scanner symlink: $f"
+          rm "$f"
         done < <(find "$scannerDir" -type l -print0)
 
         echo "Symlinking scanners"
diff --git a/nixpkgs/pkgs/servers/plex/raw.nix b/nixpkgs/pkgs/servers/plex/raw.nix
index 980e64577113..29d7b1fac210 100644
--- a/nixpkgs/pkgs/servers/plex/raw.nix
+++ b/nixpkgs/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.2.5319-c43dc0277";
+  version = "1.25.5.5492-12f6b8c83";
   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";
-    sha256 = "09kkkyli5fygyvlzqd46jzi0y4jp0a24d92ayvfm95gm3fcxl73x";
+    hash = "sha256-8/9r8GMOfnorKpY22QzdnNX7J2ijyv/3BeYWPpseSj0=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "17whd724sjblqxz6d79jb6hrqvkgg5mbh3bh1lr9b8sswa3pxb07";
+    hash = "sha256-8n9UFXm+UtPrpoSktU7cjgDIssT9PpGbTk2TRGfn48I=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/nixpkgs/pkgs/servers/plik/default.nix b/nixpkgs/pkgs/servers/plik/default.nix
index b66ca14e415d..7c9cd7d00eb1 100644
--- a/nixpkgs/pkgs/servers/plik/default.nix
+++ b/nixpkgs/pkgs/servers/plik/default.nix
@@ -1,16 +1,17 @@
 { lib, fetchurl, makeWrapper, runCommand, callPackage }:
 
 let
-  version = "1.3.1";
+  version = "1.3.4";
 
-  programs = callPackage ./programs.nix {};
+  programs = callPackage ./programs.nix { };
 
   webapp = fetchurl {
     url = "https://github.com/root-gg/plik/releases/download/${version}/plik-${version}-linux-amd64.tar.gz";
-    sha256 = "KN6cp29KKdGamYnfL3jYltx0EDx6syDPfV0jShOk7Zw=";
+    sha256 = "1qp96va5l0m7jp4g007bhgcpf4ydg3cpg2x9wa9rkpp9k1svdhjy";
   };
 
-in {
+in
+{
 
   inherit (programs) plik plikd-unwrapped;
 
diff --git a/nixpkgs/pkgs/servers/plik/programs.nix b/nixpkgs/pkgs/servers/plik/programs.nix
index ff83ec5ff689..40633da7d3fc 100644
--- a/nixpkgs/pkgs/servers/plik/programs.nix
+++ b/nixpkgs/pkgs/servers/plik/programs.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub, fetchurl, makeWrapper, runCommand }:
 
 let
-  version = "1.3.1";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "root-gg";
     repo = "plik";
     rev = version;
-    sha256 = "C/1Uwjsqd9n3WSXlnlq9K3EJHkLOSavS9cPqF2UqmGo=";
+    sha256 = "0kmcidnjw26vnxx9h3swcg72i507awg89s4nfxw6rwbyw36iiiqf";
   };
 
-  vendorSha256 = "klmWXC3tkoOcQHhiQZjR2C5jqaRJqMQOLtVxZ0cFq/Y=";
+  vendorSha256 = null;
 
   meta = with lib; {
     homepage = "https://plik.root.gg/";
@@ -18,7 +18,8 @@ let
     maintainers = with maintainers; [ freezeboy ];
     license = licenses.mit;
   };
-in {
+in
+{
 
   plik = buildGoModule {
     pname = "plik";
diff --git a/nixpkgs/pkgs/servers/prowlarr/default.nix b/nixpkgs/pkgs/servers/prowlarr/default.nix
index d4d00cc4a813..d05056b604e2 100644
--- a/nixpkgs/pkgs/servers/prowlarr/default.nix
+++ b/nixpkgs/pkgs/servers/prowlarr/default.nix
@@ -16,14 +16,14 @@ let
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-KPGE9Az98UOBEJ/mUH/RI0zrf1tf90yckAfURvC+lWM=";
-    arm64-linux_hash = "sha256-seJJ2le7Y4x6G5s0ASbN3KzldD9kOmFamwaxnJV3T7c=";
-    x64-osx_hash = "sha256-FA81l/IZWGoAlBUS3irPCdcf3ey9Df3XzDen+4UlZzc=";
+    x64-linux_hash = "sha256-NTkb6E0GRofd63TozLPxyNZ6GxO4pAc+MWsUDKWLZDY=";
+    arm64-linux_hash = "sha256-eB1Izvf/E0iOGkWt6fSc4oAt1sJ7XTxn/iwDNYz7WkA=";
+    x64-osx_hash = "sha256-TAphdcbzbNUZpWYVaHBkhI+RsgxWmI8n8Z6VwYxHXWg=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "prowlarr";
-  version = "0.1.8.1231";
+  version = "0.2.0.1448";
 
   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.develop.${version}.${os}-core-${arch}.tar.gz";
diff --git a/nixpkgs/pkgs/servers/pulseaudio/default.nix b/nixpkgs/pkgs/servers/pulseaudio/default.nix
index 47d0384720f4..664d9ef9f753 100644
--- a/nixpkgs/pkgs/servers/pulseaudio/default.nix
+++ b/nixpkgs/pkgs/servers/pulseaudio/default.nix
@@ -26,11 +26,11 @@
 , # Whether to build only the library.
   libOnly ? false
 
-, AudioUnit, Cocoa, CoreServices, Libc
+, AudioUnit, Cocoa, CoreServices
 }:
 
 stdenv.mkDerivation rec {
-  name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
+  pname = "${if libOnly then "lib" else ""}pulseaudio";
   version = "14.2";
 
   src = fetchurl {
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ libtool libsndfile soxr speexdsp fftwFloat ]
     ++ lib.optionals stdenv.isLinux [ glib dbus ]
-    ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices Libc ]
+    ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices ]
     ++ lib.optionals (!libOnly) (
       [ libasyncns webrtc-audio-processing ]
       ++ lib.optional jackaudioSupport libjack2
@@ -101,8 +101,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${Libc}";
-
   installFlags =
     [ "sysconfdir=${placeholder "out"}/etc"
       "pulseconfdir=${placeholder "out"}/etc/pulse"
@@ -119,7 +117,7 @@ stdenv.mkDerivation rec {
 
   preFixup = lib.optionalString (stdenv.isLinux  && (stdenv.hostPlatform == stdenv.buildPlatform)) ''
     wrapProgram $out/libexec/pulse/gsettings-helper \
-     --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
+     --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${pname}-${version}" \
      --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
   '';
 
diff --git a/nixpkgs/pkgs/servers/radarr/default.nix b/nixpkgs/pkgs/servers/radarr/default.nix
index acb3ba82a4ac..fe3016379978 100644
--- a/nixpkgs/pkgs/servers/radarr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/radarr/update.sh b/nixpkgs/pkgs/servers/radarr/update.sh
index 240689eb4537..ce64b6df429b 100755
--- a/nixpkgs/pkgs/servers/radarr/update.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/radicale/2.x.nix b/nixpkgs/pkgs/servers/radicale/2.x.nix
index d4ab51ce84f8..1951c54e1db0 100644
--- a/nixpkgs/pkgs/servers/radicale/2.x.nix
+++ b/nixpkgs/pkgs/servers/radicale/2.x.nix
@@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    homepage = "https://www.radicale.org/2.x.nix";
+    homepage = "https://radicale.org/v2.html";
     description = "CalDAV CardDAV server";
     longDescription = ''
       The Radicale Project is a complete CalDAV (calendar) and CardDAV
diff --git a/nixpkgs/pkgs/servers/radicale/3.x.nix b/nixpkgs/pkgs/servers/radicale/3.x.nix
index 9d9fb16f4eb7..d0ed5cc97a64 100644
--- a/nixpkgs/pkgs/servers/radicale/3.x.nix
+++ b/nixpkgs/pkgs/servers/radicale/3.x.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "radicale";
-  version = "3.1.0";
+  version = "3.1.5";
 
   src = fetchFromGitHub {
     owner = "Kozea";
     repo = "Radicale";
     rev = "v${version}";
-    hash = "sha256-LtPv+3FQMGC2YP2+1cSPZVUIzrUhteJTl58+JdvGcQg=";
+    hash = "sha256-PGPUV0oOWmzc7Lih6D0sCwIuUB8FOyOrYUEIvMpr4HE=";
   };
 
   postPatch = ''
@@ -33,9 +33,9 @@ python3.pkgs.buildPythonApplication rec {
   };
 
   meta = with lib; {
-    homepage = "https://www.radicale.org/3.0.html";
+    homepage = "https://radicale.org/v3.html";
     description = "CalDAV and CardDAV server";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; [ dotlambda erictapen ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/rmfakecloud/default.nix b/nixpkgs/pkgs/servers/rmfakecloud/default.nix
new file mode 100644
index 000000000000..b3055cf566c0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/roon-bridge/default.nix b/nixpkgs/pkgs/servers/roon-bridge/default.nix
index 14161b5d5a3f..9b896cd2a116 100644
--- a/nixpkgs/pkgs/servers/roon-bridge/default.nix
+++ b/nixpkgs/pkgs/servers/roon-bridge/default.nix
@@ -2,71 +2,80 @@
 , alsa-utils
 , autoPatchelfHook
 , fetchurl
+, ffmpeg
 , lib
 , makeWrapper
+, openssl
 , stdenv
 , zlib
 }:
-let
-  inherit (stdenv.targetPlatform) system;
-  throwSystem = throw "Unsupported system: ${system}";
-in
 stdenv.mkDerivation rec {
   pname = "roon-bridge";
-  version = "1.8-814";
+  version = "1.8-880";
 
   src =
     let
       urlVersion = builtins.replaceStrings [ "." "-" ] [ "00" "00" ] version;
+      inherit (stdenv.targetPlatform) system;
+      noSuchSystem = throw "Unsupposed system: ${system}";
     in
       {
         x86_64-linux = fetchurl {
           url = "http://download.roonlabs.com/builds/RoonBridge_linuxx64_${urlVersion}.tar.bz2";
-          sha256 = "sha256-dersaP/8qkl9k81FrgMieB0P4nKmDwjLW5poqKhEn7A=";
+          sha256 = "sha256-YTLy3D1CQR1hlsGw2MmZtxHT82T0PCYZxD4adt2m1+o=";
         };
         aarch64-linux = fetchurl {
           url = "http://download.roonlabs.com/builds/RoonBridge_linuxarmv8_${urlVersion}.tar.bz2";
-          sha256 = "sha256-zZj7PkLUYYHo3dngqErv1RqynSXi6/D5VPZWfrppX5U=";
+          sha256 = "sha256-aCQtYMUIzwhmYJW4a8cFzIRuxyMVIkeaJH4w1Lasp3M=";
         };
-      }.${system} or throwSystem;
+      }.${system} or noSuchSystem;
+
+  dontConfigure = true;
+  dontBuild = true;
 
   buildInputs = [
     alsa-lib
-    alsa-utils
     zlib
+    stdenv.cc.cc.lib
   ];
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out
-    mv * $out
-    runHook postInstall
-  '';
-
-  postFixup =
+  installPhase =
     let
-      linkFix = bin: ''
-        sed -i '/ulimit/d' ${bin}
-        sed -i '/ln -sf/d' ${bin}
-        ln -sf $out/RoonMono/bin/mono-sgen $out/RoonMono/bin/${builtins.baseNameOf bin}
-      '';
-      wrapFix = bin: ''
-        wrapProgram ${bin} --prefix PATH : ${lib.makeBinPath [ alsa-utils ]}
+      fixBin = binPath: ''
+        (
+          sed -i '/ulimit/d' ${binPath}
+          sed -i 's@^SCRIPT=.*@SCRIPT="$(basename "${binPath}")"@' ${binPath}
+          wrapProgram ${binPath} \
+            --argv0 "$(basename ${binPath})" \
+            --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ alsa-lib ffmpeg openssl ]}" \
+            --prefix PATH : "${lib.makeBinPath [ alsa-utils ffmpeg ]}"
+        )
       '';
     in
     ''
-      ${linkFix "$out/Bridge/RAATServer"}
-      ${linkFix "$out/Bridge/RoonBridge"}
-      ${linkFix "$out/Bridge/RoonBridgeHelper"}
+      runHook preInstall
+      mkdir -p $out
+      mv * $out
+
+      rm $out/check.sh
+      rm $out/start.sh
+      rm $out/VERSION
+
+      ${fixBin "${placeholder "out"}/Bridge/RAATServer"}
+      ${fixBin "${placeholder "out"}/Bridge/RoonBridge"}
+      ${fixBin "${placeholder "out"}/Bridge/RoonBridgeHelper"}
+
+      mkdir -p $out/bin
+      makeWrapper "$out/Bridge/RoonBridge" "$out/bin/RoonBridge" --run "cd $out"
 
-      ${wrapFix "$out/check.sh"}
-      ${wrapFix "$out/start.sh"}
+      runHook postInstall
     '';
 
   meta = with lib; {
     description = "The music player for music lovers";
+    changelog = "https://community.roonlabs.com/c/roon/software-release-notes/18";
     homepage = "https://roonlabs.com";
     license = licenses.unfree;
     maintainers = with maintainers; [ lovesegfault ];
diff --git a/nixpkgs/pkgs/servers/roon-server/default.nix b/nixpkgs/pkgs/servers/roon-server/default.nix
index e62f0a9dfd95..4a6195397766 100644
--- a/nixpkgs/pkgs/servers/roon-server/default.nix
+++ b/nixpkgs/pkgs/servers/roon-server/default.nix
@@ -15,7 +15,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "roon-server";
-  version = "1.8-880";
+  version = "1.8-898";
 
   src =
     let
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     in
     fetchurl {
       url = "http://download.roonlabs.com/builds/RoonServer_linuxx64_${urlVersion}.tar.bz2";
-      sha256 = "sha256-Td3iRYGmTg8Vx9c4e4ugIIbAqhDFPax9vR2BsCIQCZA=";
+      sha256 = "sha256-khp2E5BYb7bGEW6xfCKEqYDqAdElOFLbAkaHjILfyqo=";
     };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/servers/sabnzbd/default.nix b/nixpkgs/pkgs/servers/sabnzbd/default.nix
index e7f526d3bc13..32c82cfad1be 100644
--- a/nixpkgs/pkgs/servers/sabnzbd/default.nix
+++ b/nixpkgs/pkgs/servers/sabnzbd/default.nix
@@ -20,17 +20,18 @@ let
     sabyenc3
     puremagic
     guessit
+    pysocks
   ]);
   path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
-  version = "3.4.2";
+  version = "3.5.0";
   pname = "sabnzbd";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Pl2i/k5tilPvMWLRtzZ2imOJQdZYKDAz8bt847ZAXF8=";
+    sha256 = "sha256-Ay+y02kvFuwefT6f/8orClMiBK201AwSEWnPKgoeOFQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/samba/4.x.nix b/nixpkgs/pkgs/servers/samba/4.x.nix
index 47d2c4b4d409..d32a545069de 100644
--- a/nixpkgs/pkgs/servers/samba/4.x.nix
+++ b/nixpkgs/pkgs/servers/samba/4.x.nix
@@ -45,11 +45,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.15.1";
+  version = "4.15.5";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    sha256 = "sha256-oYEfu0EQ1klp9sEI+NFh4sPiDd9HVSmj0yvZS7dFnwA=";
+    sha256 = "sha256-aRFeM4MZN7pRUb4CR5QxR3Za7OZYunQ/RHQWcq1o0X8=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/servers/seafile-server/default.nix b/nixpkgs/pkgs/servers/seafile-server/default.nix
index 464c808bac06..526bc456acc5 100644
--- a/nixpkgs/pkgs/servers/seafile-server/default.nix
+++ b/nixpkgs/pkgs/servers/seafile-server/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, pkg-config, python3, autoreconfHook
 , libuuid, sqlite, glib, libevent, libsearpc, openssl, fuse, libarchive, which
-, vala, cmake, oniguruma }:
+, vala, cmake, oniguruma, nixosTests }:
 
 let
   # seafile-server relies on a specific version of libevhtp.
@@ -10,13 +10,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "seafile-server";
-  version = "8.0.7";
+  version = "8.0.8";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-server";
-    rev = "27dac89bb3a81c5acc3f764ce92134eb357ea64b";
-    sha256 = "1h2hxvv0l5m9nbkdyjpznb7ddk8hb8hhwj8b2lx6aqbvp8gll9q7";
+    rev = "807867afb7a86f526a6584278914ce9f3f51d1da";
+    sha256 = "1nq6dw4xzifbyhxn7yn5398q2sip1p1xwqz6xbis4nzgx4jldd4g";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -42,6 +42,10 @@ in stdenv.mkDerivation rec {
     cp -r scripts/sql $out/share/seafile
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) seafile;
+  };
+
   meta = with lib; {
     description = "File syncing and sharing software with file encryption and group sharing, emphasis on reliability and high performance";
     homepage = "https://github.com/haiwen/seafile-server";
diff --git a/nixpkgs/pkgs/servers/ser2net/default.nix b/nixpkgs/pkgs/servers/ser2net/default.nix
index c09b19378af4..440d98b1d2fb 100644
--- a/nixpkgs/pkgs/servers/ser2net/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/serviio/default.nix b/nixpkgs/pkgs/servers/serviio/default.nix
index 29c223a3470e..1363aea11e34 100644
--- a/nixpkgs/pkgs/servers/serviio/default.nix
+++ b/nixpkgs/pkgs/servers/serviio/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "serviio";
-  version = "2.1";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "http://download.serviio.org/releases/${pname}-${version}-linux.tar.gz";
-    sha256 = "0mxpdyhjf4w83q8ssmvpxm95hw4x7lfkh48vvdablccfndh82x2i";
+    sha256 = "sha256-uRRWKMv4f2b1yIE9OnXDIZAmcoqw/8F0z1LOesQBsyQ=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/shellinabox/default.nix b/nixpkgs/pkgs/servers/shellinabox/default.nix
deleted file mode 100644
index 0240cd5a862c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/servers/shellinabox/shellinabox-minus.patch b/nixpkgs/pkgs/servers/shellinabox/shellinabox-minus.patch
deleted file mode 100644
index d84bdd2eb161..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/servers/sickbeard/sickgear.nix b/nixpkgs/pkgs/servers/sickbeard/sickgear.nix
index d55888066a00..bed8da0488b4 100644
--- a/nixpkgs/pkgs/servers/sickbeard/sickgear.nix
+++ b/nixpkgs/pkgs/servers/sickbeard/sickgear.nix
@@ -4,13 +4,13 @@ let
   pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "0.25.11";
+  version = "0.25.26";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    sha256 = "sha256-0/Ez10IWvh84G//1vCZMLiu4+Y2+XcVLw9Gm9X+DY0s=";
+    sha256 = "153zd0yq39vmh00ydw42yw8dx18cy3as36xml228hq244cxypkwp";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/servers/soft-serve/default.nix b/nixpkgs/pkgs/servers/soft-serve/default.nix
index b289177e7997..3dff92f4cfc4 100644
--- a/nixpkgs/pkgs/servers/soft-serve/default.nix
+++ b/nixpkgs/pkgs/servers/soft-serve/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "soft-serve";
-  version = "0.1.2";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "soft-serve";
     rev = "v${version}";
-    sha256 = "sha256-sRlEF1ee+oBnYOGSN6rDOvNr3OnfAqV+1Wx5XOyIylw=";
+    sha256 = "sha256-x4N1JRnx1vyb6VbQkpgguHsBssqJKmG0bSpmvEG38Qc=";
   };
 
-  vendorSha256 = "sha256-FukkmuBTPPhY0UTe3r1iU3nbGoMsPTcRKTLBd+VMGUk=";
+  vendorSha256 = "sha256-m5xwxs6XvmPffDX9dkkEG0/LdlDDm6Eq9CC0tVdauVI=";
 
   doCheck = false;
 
@@ -27,6 +27,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "A tasty, self-hosted Git server for the command line";
     homepage = "https://github.com/charmbracelet/soft-serve";
+    mainProgram = "soft";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
   };
diff --git a/nixpkgs/pkgs/servers/softether/4.25.nix b/nixpkgs/pkgs/servers/softether/4.25.nix
deleted file mode 100644
index f22bd0859ada..000000000000
--- a/nixpkgs/pkgs/servers/softether/4.25.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, fetchurl
-, openssl, readline, ncurses, zlib
-, dataDir ? "/var/lib/softether" }:
-
-let
-  os = if stdenv.isLinux then "1"
-       else if stdenv.isFreeBSD then "2"
-       else if stdenv.isSunOS then "3"
-       else if stdenv.isDarwin then "4"
-       else if stdenv.isOpenBSD then "5"
-       else "";
-  cpuBits = if stdenv.is64bit then "2" else "1";
-
-in
-
-stdenv.mkDerivation rec {
-  pname = "softether";
-  version = "4.25";
-  build = "9656";
-  compiledDate = "2018.01.15";
-
-  src = fetchurl {
-    url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
-    sha256 = "1y1m8lf0xfh7m70d15wj2jjf5a5qhi3j49ciwqmsscsqvb1xwimr";
-  };
-
-  buildInputs = [ openssl readline ncurses zlib ];
-
-  preConfigure = ''
-      echo "${os}
-      ${cpuBits}
-      " | ./configure
-      rm 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
-  '';
-
-  meta = with lib; {
-    description = "An Open-Source Free Cross-platform Multi-protocol VPN Program";
-    homepage = "https://www.softether.org/";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.rick68 ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/servers/softether/4.29.nix b/nixpkgs/pkgs/servers/softether/default.nix
index 83eb3b05b37f..2f80afc3701b 100644
--- a/nixpkgs/pkgs/servers/softether/4.29.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/dolt/default.nix b/nixpkgs/pkgs/servers/sql/dolt/default.nix
index 4e4a0640df68..e3be7cbdec45 100644
--- a/nixpkgs/pkgs/servers/sql/dolt/default.nix
+++ b/nixpkgs/pkgs/servers/sql/dolt/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "0.32.1";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "liquidata-inc";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-03cWsZEPjsUPyrGoU+RFkPb/BjYfLgO5sE50k9U1GjQ=";
+    sha256 = "sha256-uAZlQpuNUpg2ZZJBU7A49fCm6GlrYaFyn6ZrmNBW1Y0=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
-  vendorSha256 = "sha256-7nmpsmisrtBxdLgC9mwSDYbjtbCrGl564+deC9CaYps=";
+  vendorSha256 = "sha256-YqlOzHsdkRrBdQ/mWGs2JIq5JttdRhFeug9HRbl6qlw=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_2.nix b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_2.nix
index 8b1c8b04bdce..1e9884eb7333 100644
--- a/nixpkgs/pkgs/servers/sql/mariadb/connector-c/3_2.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
index 3f0697bd2cc2..dbf8e36e9e7d 100644
--- a/nixpkgs/pkgs/servers/sql/mariadb/connector-c/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/mariadb/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/default.nix
index 82fdc2a3a38b..dfaf64380a91 100644
--- a/nixpkgs/pkgs/servers/sql/mariadb/default.nix
+++ b/nixpkgs/pkgs/servers/sql/mariadb/default.nix
@@ -1,49 +1,51 @@
-{ lib, stdenv, fetchurl, nixosTests
+{ lib, stdenv, fetchurl, nixosTests, buildPackages
 # Native buildInputs components
 , bison, boost, cmake, fixDarwinDylibNames, flex, makeWrapper, pkg-config
 # Common components
-, curl, libiconv, ncurses, openssl, pcre2
-, libkrb5, liburing, systemd
+, 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
 }:
 
-with lib;
-
-let # in mariadb # spans the whole file
+let
 
 libExt = stdenv.hostPlatform.extensions.sharedLibrary;
 
-mytopEnv = perl.withPackages (p: with p; [ DBDmysql DBI TermReadKey ]);
+mytopEnv = buildPackages.perl.withPackages (p: with p; [ DBDmysql DBI TermReadKey ]);
 
-mariadb = server // {
-  inherit client; # MariaDB Client
-  server = server; # MariaDB Server
+mariadbPackage = packageSettings: (server packageSettings) // {
+  client = client packageSettings; # MariaDB Client
+  server = server packageSettings; # MariaDB Server
 };
 
-common = rec { # attributes common to both builds
-  version = "10.6.5";
+commonOptions = packageSettings: rec { # attributes common to both builds
+  inherit (packageSettings) version;
 
   src = fetchurl {
     url = "https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz";
-    sha256 = "sha256-4L4EBCjZpCqLtL0iG1Z/8lIs1vqJBjhic9pPA8XCCo8=";
+    inherit (packageSettings) sha256;
   };
 
   nativeBuildInputs = [ cmake pkg-config ]
-    ++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames
-    ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
+    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames
+    ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
 
   buildInputs = [
-    curl libiconv ncurses openssl pcre2 zlib
-  ] ++ optionals stdenv.hostPlatform.isLinux [ libkrb5 liburing systemd ]
-    ++ optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl ]
-    ++ optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ];
+    curl libiconv ncurses openssl zlib
+  ] ++ (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 libedit ]
+    ++ lib.optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ]
+    ++ (if (lib.versionOlder version "10.5") then [ pcre ] else [ pcre2 ]);
 
   prePatch = ''
     sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
@@ -54,7 +56,7 @@ common = rec { # attributes common to both builds
   ]
   # Fixes a build issue as documented on
   # https://jira.mariadb.org/browse/MDEV-26769?focusedCommentId=206073&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-206073
-  ++ lib.optional (!stdenv.isLinux) ./patch/macos-MDEV-26769-regression-fix.patch;
+  ++ lib.optional (!stdenv.hostPlatform.isLinux && lib.versionAtLeast version "10.6") ./patch/macos-MDEV-26769-regression-fix.patch;
 
   cmakeFlags = [
     "-DBUILD_CONFIG=mysql_release"
@@ -86,7 +88,7 @@ common = rec { # attributes common to both builds
     "-DWITH_SAFEMALLOC=OFF"
     "-DWITH_UNIT_TESTS=OFF"
     "-DEMBEDDED_LIBRARY=OFF"
-  ] ++ optionals stdenv.hostPlatform.isDarwin [
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
     # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but
     # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides
     # to pass in java explicitly.
@@ -98,37 +100,39 @@ common = rec { # attributes common to both builds
     # Remove Development components. Need to use libmysqlclient.
     rm "$out"/lib/mysql/plugin/daemon_example.ini
     rm "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a}
-    rm "$out"/bin/{mariadb-config,mariadb_config,mysql_config}
+    rm -f "$out"/bin/{mariadb-config,mariadb_config,mysql_config}
     rm -r $out/include
     rm -r $out/lib/pkgconfig
   '';
 
   # perlPackages.DBDmysql is broken on darwin
-  postFixup = optionalString (!stdenv.hostPlatform.isDarwin) ''
-    wrapProgram $out/bin/mytop --set PATH ${makeBinPath [ less ncurses ]}
+  postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
+    wrapProgram $out/bin/mytop --set PATH ${lib.makeBinPath [ less ncurses ]}
   '';
 
-  passthru.mysqlVersion = "5.7";
-
-  passthru.tests = {
-    mariadb-galera-mariabackup = nixosTests.mariadb-galera-mariabackup;
-    mariadb-galera-rsync = nixosTests.mariadb-galera-rsync;
-    mysql = nixosTests.mysql;
-    mysql-autobackup = nixosTests.mysql-autobackup;
-    mysql-backup = nixosTests.mysql-backup;
-    mysql-replication = nixosTests.mysql-replication;
+  passthru.tests = let
+    testVersion = "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor (packageSettings.version))}";
+  in {
+    mariadb-galera-rsync = nixosTests.mariadb-galera.${testVersion};
+    mysql = nixosTests.mysql.${testVersion};
+    mysql-autobackup = nixosTests.mysql-autobackup.${testVersion};
+    mysql-backup = nixosTests.mysql-backup.${testVersion};
+    mysql-replication = nixosTests.mysql-replication.${testVersion};
   };
 
-  meta = {
+  meta = with lib; {
     description = "An enhanced, drop-in replacement for MySQL";
     homepage    = "https://mariadb.org/";
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ thoughtpolice ];
+    maintainers = with maintainers; [ thoughtpolice ajs124 das_j ];
     platforms   = platforms.all;
   };
 };
 
-client = stdenv.mkDerivation (common // {
+client = packageSettings: let
+  common = commonOptions packageSettings;
+
+in stdenv.mkDerivation (common // {
   pname = "mariadb-client";
 
   outputs = [ "out" "man" ];
@@ -153,7 +157,10 @@ client = stdenv.mkDerivation (common // {
   '';
 });
 
-server = stdenv.mkDerivation (common // {
+server = packageSettings: let
+  common = commonOptions packageSettings;
+
+in stdenv.mkDerivation (common // {
   pname = "mariadb-server";
 
   outputs = [ "out" "man" ];
@@ -163,11 +170,12 @@ server = stdenv.mkDerivation (common // {
   buildInputs = common.buildInputs ++ [
     bzip2 lz4 lzo snappy xz zstd
     cracklib judy libevent libxml2
-  ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
-    ++ optionals stdenv.hostPlatform.isLinux [ linux-pam ]
-    ++ optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev
-    ++ optional (!stdenv.hostPlatform.isDarwin) mytopEnv
-    ++ optionals withStorageMroonga [ kytea libsodium msgpack zeromq ];
+  ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
+    ++ 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 (lib.versionAtLeast common.version "10.7") [ fmt_8 ];
 
   patches = common.patches;
 
@@ -188,38 +196,68 @@ server = stdenv.mkDerivation (common // {
     "-DWITHOUT_EXAMPLE=1"
     "-DWITHOUT_FEDERATED=1"
     "-DWITHOUT_TOKUDB=1"
-  ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
+  ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [
     "-DWITH_NUMA=ON"
-  ] ++ optional (!withStorageMroonga) [
+  ] ++ lib.optional (!withStorageMroonga) [
     "-DWITHOUT_MROONGA=1"
-  ] ++ optional (!withStorageRocks) [
+  ] ++ lib.optional (!withStorageRocks) [
     "-DWITHOUT_ROCKSDB=1"
-  ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
+  ] ++ lib.optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
     "-DWITH_ROCKSDB_JEMALLOC=ON"
-  ] ++ optional (!stdenv.hostPlatform.isDarwin) [
+  ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) [
     "-DWITH_JEMALLOC=yes"
-  ] ++ optionals stdenv.hostPlatform.isDarwin [
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
     "-DPLUGIN_AUTH_PAM=OFF"
     "-DWITHOUT_OQGRAPH=1"
     "-DWITHOUT_PLUGIN_S3=1"
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    # revisit this if nixpkgs supports any architecture whose stack grows upwards
+    "-DSTACK_DIRECTION=-1"
+    "-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}"
   ];
 
-  preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
+  preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
     patchShebangs scripts/mytop.sh
   '';
 
   postInstall = common.postInstall + ''
     rm -r "$out"/share/aclocal
     chmod +x "$out"/bin/wsrep_sst_common
-    rm "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest}
-  '' + optionalString withStorageMroonga ''
+    rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest}
+  '' + lib.optionalString withStorageMroonga ''
     mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
-  '' + optionalString (!stdenv.hostPlatform.isDarwin) ''
+  '' + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") ''
     mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security
     mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security
     rm -r "$out"/OFF
   '';
 
-  CXXFLAGS = optionalString stdenv.hostPlatform.isi686 "-fpermissive";
+  CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive";
 });
-in mariadb
+in {
+  mariadb_104 = mariadbPackage {
+    # Supported until 2024-06-18
+    version = "10.4.24";
+    sha256 = "0ipqilri8isn0mfvwg8imwf36zm3jsw0wf2yx905c2bznd8mb5zy";
+  };
+  mariadb_105 = mariadbPackage {
+    # Supported until 2025-06-24
+    version = "10.5.15";
+    sha256 = "0nfvyxb157qsbl0d1i5gfzr2hb1nm0iv58f7qcbk5kkhz0vyv049";
+  };
+  mariadb_106 = mariadbPackage {
+    # Supported until 2026-07
+    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/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix
index 5a79dcd7d2cd..d124664dd7b5 100644
--- a/nixpkgs/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/materialize/default.nix b/nixpkgs/pkgs/servers/sql/materialize/default.nix
index 5667de22bc33..ce91c322af1d 100644
--- a/nixpkgs/pkgs/servers/sql/materialize/default.nix
+++ b/nixpkgs/pkgs/servers/sql/materialize/default.nix
@@ -40,17 +40,17 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "materialize";
-  version = "0.10.0";
-  MZ_DEV_BUILD_SHA = "c14633f59e842fbdd62c7239ffd8c2a16704386e";
+  version = "0.15.0";
+  MZ_DEV_BUILD_SHA = "f79f63205649d6011822893c5b55396b2bef7b0b";
 
   src = fetchFromGitHub {
     owner = "MaterializeInc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06290l2xrryx7bc9g1ffyfjm18a34pa2k410qk9w2p0psqiw2v8d";
+    hash = "sha256-/A6+0fehBa8XEB8P8QUV5Lsl9Lwfz4FhQLgotvBG1Gw=";
   };
 
-  cargoSha256 = "1bxfp6pidiziiq938ah49pa3qr1dhnfnbihp7jxind9qsb3q9gp0";
+  cargoHash = "sha256-NJvAIy9b39HWJaG860Mlf3WasanUnz+Nq39k4WpddB0=";
 
   nativeBuildInputs = [ cmake perl pkg-config ]
     # Provides the mig command used by the krb5-src build script
@@ -68,8 +68,12 @@ rustPlatform.buildRustPackage rec {
     "--skip test_client"
     "--skip test_client_errors"
     "--skip test_client_all_subjects"
+    "--skip test_client_subject_and_references"
     "--skip test_no_block"
     "--skip test_safe_mode"
+    # this test is broken on 0.15.0
+    # TODO: re-add it in a subsequent release
+    "--skip test_threads"
     "--skip test_tls"
   ];
 
diff --git a/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix b/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix
index c1ce4d9e1e14..1c8b21f399eb 100644
--- a/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/nixpkgs/pkgs/servers/sql/mysql/5.7.x.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, cmake, bison, pkg-config
 , boost, libedit, libevent, lz4, ncurses, openssl, protobuf, readline, zlib, perl
 , cctools, CoreServices, developer_cmds
-, libtirpc, rpcsvc-proto
+, libtirpc, rpcsvc-proto, nixosTests
 }:
 
 # Note: zlib is not required; MySQL can use an internal zlib.
@@ -9,11 +9,11 @@
 let
 self = stdenv.mkDerivation rec {
   pname = "mysql";
-  version = "5.7.27";
+  version = "5.7.37";
 
   src = fetchurl {
     url = "mirror://mysql/MySQL-5.7/${pname}-${version}.tar.gz";
-    sha256 = "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq";
+    sha256 = "sha256-qZqaqGNdJWbat2Sy3la+0XMDZdNg4guyf1Y5LOVOGL0=";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
@@ -75,6 +75,7 @@ self = stdenv.mkDerivation rec {
     connector-c = self;
     server = self;
     mysqlVersion = "5.7";
+    tests = nixosTests.mysql.mysql57;
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix b/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
index 58b264c9b1e2..ae2e170379df 100644
--- a/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/nixpkgs/pkgs/servers/sql/mysql/8.0.x.nix
@@ -1,22 +1,18 @@
 { lib, stdenv, fetchurl, bison, cmake, pkg-config
-, boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib, zstd
-, numactl, perl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto, curl, DarwinTools
+, boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib, zstd, libfido2
+, numactl, perl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto, curl, DarwinTools, nixosTests
 }:
 
 let
 self = stdenv.mkDerivation rec {
   pname = "mysql";
-  version = "8.0.27";
+  version = "8.0.28";
 
   src = fetchurl {
     url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-Sn5y+Jnm8kvNR503jt0vMvWD5of5OiYpF3SBXVpUm5c=";
+    sha256 = "sha256-2Gk2nrbeTyuy2407Mbe3OWjjVuX/xDVPS5ZlirHkiyI=";
   };
 
-  patches = [
-    ./abi-check.patch
-  ];
-
   nativeBuildInputs = [ bison cmake pkg-config ]
     ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
 
@@ -28,7 +24,7 @@ self = stdenv.mkDerivation rec {
 
   buildInputs = [
     boost curl icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib
-    zstd
+    zstd libfido2
   ] ++ lib.optionals stdenv.isLinux [
     numactl libtirpc
   ] ++ lib.optionals stdenv.isDarwin [
@@ -68,6 +64,7 @@ self = stdenv.mkDerivation rec {
     connector-c = self;
     server = self;
     mysqlVersion = "8.0";
+    tests = nixosTests.mysql.mysql80;
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pgvector.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pgvector.nix
index c1bd999ebf55..654d9a30f30d 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pgvector.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/pgvector.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgvector";
-  version = "0.2.0";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "ankane";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jl6rpys24qxhkv3q798pp9v03z2z7gswivp19yria9xr3bg6wjv";
+    sha256 = "sha256-5tnitx2KdyARgeaaDINWbn5JtQ4j0aq2BQBljRZOmsk=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index eb04a473d250..ff5f464c8e51 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plpgsql_check";
-  version = "2.0.6";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-M/kvfGhB2s8TvmpL7KihorVTOfwp7HmKka4IAgnIQ6M=";
+    sha256 = "sha256-S/b6oQPYgaM6UvloYqlwhF5rxlyKG4Vw6ejN/gK8Spg=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/plv8.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/plv8.nix
index 6f5411340e45..eaf9c389e926 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/plv8.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/plv8.nix
@@ -1,6 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, v8, perl, postgresql }:
+{ lib, stdenv, fetchFromGitHub, v8, perl, postgresql
+# For test
+, runCommand, coreutils, gnugrep }:
 
-stdenv.mkDerivation rec {
+let self = stdenv.mkDerivation rec {
   pname = "plv8";
   version = "3.0.0";
 
@@ -29,6 +31,8 @@ stdenv.mkDerivation rec {
   ];
 
   preConfigure = ''
+    # We build V8 as a monolith, so this is unnecessary.
+    substituteInPlace Makefile.shared --replace "-lv8_libplatform" ""
     patchShebangs ./generate_upgrade.sh
     substituteInPlace generate_upgrade.sh \
       --replace " 2.3.10)" " 2.3.10 2.3.11 2.3.12 2.3.13 2.3.14 2.3.15)"
@@ -42,10 +46,36 @@ stdenv.mkDerivation rec {
     rmdir "$out/nix/store"/* "$out/nix/store" "$out/nix"
   '';
 
-  # Without this, PostgreSQL will crash at runtime.
-  # The flags are only included in Makefile, not Makefile.shared.
-  # https://github.com/plv8/plv8/pull/469
-  NIX_CFLAGS_COMPILE = "-DJSONB_DIRECT_CONVERSION -DV8_COMPRESS_POINTERS=1 -DV8_31BIT_SMIS_ON_64BIT_ARCH=1";
+  NIX_CFLAGS_COMPILE = [
+    # V8 depends on C++14.
+    "-std=c++14"
+    # Without this, PostgreSQL will crash at runtime.
+    # The flags are only included in Makefile, not Makefile.shared.
+    # https://github.com/plv8/plv8/pull/469
+    "-DJSONB_DIRECT_CONVERSION" "-DV8_COMPRESS_POINTERS=1" "-DV8_31BIT_SMIS_ON_64BIT_ARCH=1"
+  ];
+
+  passthru.tests.smoke = runCommand "${pname}-test" {} ''
+    export PATH=${lib.makeBinPath [ (postgresql.withPackages (_: [self])) coreutils gnugrep ]}
+    db="$PWD/testdb"
+    initdb "$db"
+    postgres -k "$db" -D "$db" &
+    pid="$!"
+
+    for i in $(seq 1 100); do
+      if psql -h "$db" -d postgres -c "" 2>/dev/null; then
+        break
+      elif ! kill -0 "$pid"; then
+        exit 1
+      else
+        sleep 0.1
+      fi
+    done
+
+    psql -h "$db" -d postgres -c 'CREATE EXTENSION plv8; DO $$ plv8.elog(NOTICE, plv8.version); $$ LANGUAGE plv8;' 2> "$out"
+    grep -q "${version}" "$out"
+    kill -0 "$pid"
+  '';
 
   meta = with lib; {
     description = "V8 Engine Javascript Procedural Language add-on for PostgreSQL";
@@ -54,4 +84,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     license = licenses.postgresql;
   };
-}
+}; in self
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
index dbb800a27606..d0dfa5d00f56 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/postgresql/ext/repmgr.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/repmgr.nix
index bb00d37fc2ab..4576febce910 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/repmgr.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
index 19331f350c55..49c3ee044b2b 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
@@ -2,21 +2,23 @@
 
 stdenv.mkDerivation rec {
   pname = "tds_fdw";
-  version = "2.0.2";
+  # Move to stable version when it's released.
+  version = "unstable-2021-12-14";
 
   buildInputs = [ postgresql freetds ];
 
   src = fetchFromGitHub {
     owner  = "tds-fdw";
     repo   =  pname;
-    rev    = "refs/tags/v${version}";
-    sha256 = "024syj21gmdfkpr51l8ca70n5jimr35zwdy719b8h4zjn64ci1fk";
+    rev    = "1611a2805f85d84f463ae50c4e0765cb9bed72dc";
+    sha256 = "sha256-SYHo/o9fJjB1yzN4vLJB0RrF3HEJ4MzmEO44/Jih/20=";
   };
 
   installPhase = ''
-    install -D tds_fdw.so                  -t $out/lib
-    install -D sql/tds_fdw--${version}.sql -t $out/share/postgresql/extension
-    install -D tds_fdw.control             -t $out/share/postgresql/extension
+    version="$(sed -En "s,^default_version *= *'([^']*)'.*,\1,p" tds_fdw.control)"
+    install -D tds_fdw.so      -t $out/lib
+    install -D sql/tds_fdw.sql    "$out/share/postgresql/extension/tds_fdw--$version.sql"
+    install -D tds_fdw.control -t $out/share/postgresql/extension
   '';
 
   meta = with lib; {
@@ -25,6 +27,5 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.steve-chavez ];
     platforms   = postgresql.meta.platforms;
     license     = licenses.postgresql;
-    broken = versionAtLeast postgresql.version "11.0";
   };
 }
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 6513617ee261..ba6fc77a8a14 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sql/postgresql/packages.nix b/nixpkgs/pkgs/servers/sql/postgresql/packages.nix
index e751ae621f32..f3df8a99ca22 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/packages.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/packages.nix
@@ -26,7 +26,9 @@ self: super: {
 
     plr = super.callPackage ./ext/plr.nix { };
 
-    plv8 = super.callPackage ./ext/plv8.nix { };
+    plv8 = super.callPackage ./ext/plv8.nix {
+      v8 = self.v8_8_x;
+    };
 
     pgjwt = super.callPackage ./ext/pgjwt.nix { };
 
diff --git a/nixpkgs/pkgs/servers/sql/proxysql/default.nix b/nixpkgs/pkgs/servers/sql/proxysql/default.nix
index 078ebfb7b6e4..ab8f7f9a6993 100644
--- a/nixpkgs/pkgs/servers/sql/proxysql/default.nix
+++ b/nixpkgs/pkgs/servers/sql/proxysql/default.nix
@@ -25,7 +25,7 @@
 , pcre
 , perl
 , prometheus-cpp
-, python
+, python2
 , re2
 , zlib
 }:
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     cmake
     libtool
     perl
-    python
+    python2
   ];
 
   buildInputs = [
@@ -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/nixpkgs/pkgs/servers/sshportal/default.nix b/nixpkgs/pkgs/servers/sshportal/default.nix
new file mode 100644
index 000000000000..e9cf52f3885b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/sshportal/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "sshportal";
+  version = "1.19.3";
+
+  src = fetchFromGitHub {
+    owner = "moul";
+    repo = "sshportal";
+    rev = "v${version}";
+    sha256 = "sha256-8+UHG4xTH9h1IvMoOY7YHPClk4t2vWSBOUnYU6+mynQ=";
+  };
+
+  ldflags = [ "-X main.GitTag=${version}" "-X main.GitSha=${version}" "-s" "-w" ];
+
+  vendorSha256 = "sha256-swDoQeO44fkpS2JNUAXaj3ZVjjzhoEr34YZ1/ArnLBk=";
+
+  meta = with lib; {
+    description = "Simple, fun and transparent SSH (and telnet) bastion server";
+    homepage = "https://manfred.life/sshportal";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ zaninime ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/t-rex/default.nix b/nixpkgs/pkgs/servers/t-rex/default.nix
new file mode 100644
index 000000000000..551282b60586
--- /dev/null
+++ b/nixpkgs/pkgs/servers/t-rex/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, gdal, openssl, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "t-rex";
+  version = "0.14.3";
+
+  src = fetchFromGitHub {
+    owner = "t-rex-tileserver";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-LUVk5li2cl/LKbhKOh6Bbwav0GEuI/vUbDPLn7NSRIs=";
+  };
+
+  cargoHash = "sha256-I4QmjTTKUp9iugEwzM0xCcNLvF5ozeBdYmbi8sytY88=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gdal openssl ] ++ lib.optional stdenv.isDarwin Security;
+
+  meta = with lib; {
+    description = "Vector tile server specialized on publishing MVT tiles";
+    homepage = "https://t-rex.tileserver.ch/";
+    changelog = "https://github.com/t-rex-tileserver/t-rex/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/tailscale/default.nix b/nixpkgs/pkgs/servers/tailscale/default.nix
index 77361f3c35e8..ecffa5ae46a7 100644
--- a/nixpkgs/pkgs/servers/tailscale/default.nix
+++ b/nixpkgs/pkgs/servers/tailscale/default.nix
@@ -2,27 +2,25 @@
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.18.2";
+  version = "1.20.4";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "sha256-8leFG2gYXw+orN/2NfjTvgRqSZSdso7OHIgECEJrO9k=";
+    sha256 = "sha256-GMITJW6dunDjRvfvXCjnckV770F9m3eArRvKPDB2cG4=";
   };
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "sha256-ulgTwnuisnkQf0WLQhZ70MwuOpZuroh7ShxBGyv0d0k=";
+  vendorSha256 = "sha256-ZbOxC8J843B8BMS/ZgfSZqU1YCUoWhPqbABzWZy3DMI=";
 
   doCheck = false;
 
   subPackages = [ "cmd/tailscale" "cmd/tailscaled" ];
 
-  tags = [ "xversion" ];
-
   ldflags = [ "-X tailscale.com/version.Long=${version}" "-X tailscale.com/version.Short=${version}" ];
 
   postInstall = lib.optionalString stdenv.isLinux ''
diff --git a/nixpkgs/pkgs/servers/tautulli/default.nix b/nixpkgs/pkgs/servers/tautulli/default.nix
index 96f8dca234fe..c09e60cd0e51 100644
--- a/nixpkgs/pkgs/servers/tautulli/default.nix
+++ b/nixpkgs/pkgs/servers/tautulli/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "Tautulli";
-  version = "2.8.0";
+  version = "2.9.3";
   format = "other";
 
   pythonPath = [ setuptools ];
@@ -12,12 +12,17 @@ buildPythonApplication rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y4ijjr0sxq72gy22i0q810h64m11vbrz6fk44fpcnj5yab6hv8i";
+    sha256 = "sha256-LaKbhRAC/T4BuBHLQ+qUZYGsWjj/v8xg6yz55yEib0A=";
   };
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/libexec/tautulli
-    cp -R contrib data lib plexpy Tautulli.py $out/libexec/tautulli
+    cp -R contrib data lib plexpy Tautulli.py CHANGELOG.md $out/libexec/tautulli
+
+    echo "master" > $out/libexec/tautulli/branch.txt
+    echo "v${version}" > $out/libexec/tautulli/version.txt
 
     # Can't just symlink to the main script, since it uses __file__ to
     # import bundled packages and manage the service
@@ -26,6 +31,8 @@ buildPythonApplication rec {
 
     # Creat backwards compatibility symlink to bin/plexpy
     ln -s $out/bin/tautulli $out/bin/plexpy
+
+    runHook postInstall
   '';
 
   checkPhase = ''
@@ -39,7 +46,7 @@ buildPythonApplication rec {
   meta  = with lib; {
     description = "A Python based monitoring and tracking tool for Plex Media Server";
     homepage = "https://tautulli.com/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ csingley ];
   };
diff --git a/nixpkgs/pkgs/servers/tegola/default.nix b/nixpkgs/pkgs/servers/tegola/default.nix
index d94f97baf865..0037713e597e 100644
--- a/nixpkgs/pkgs/servers/tegola/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/teleport/default.nix b/nixpkgs/pkgs/servers/teleport/default.nix
index 2b8cdf37fcee..ac57cc51339f 100644
--- a/nixpkgs/pkgs/servers/teleport/default.nix
+++ b/nixpkgs/pkgs/servers/teleport/default.nix
@@ -1,11 +1,12 @@
 { lib
-, buildGo117Module
+, buildGoModule
 , rustPlatform
 , fetchFromGitHub
 , makeWrapper
 , protobuf
 , stdenv
 , xdg-utils
+, nixosTests
 
 , withRoleTester ? true
 }:
@@ -15,9 +16,9 @@ let
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "sha256-02Wsj2V7RNjKlkgAqj7IqyRGCxml8pw5h0vflqcGAB8=";
+    sha256 = "sha256-ir2NMNIjSpv7l6dVNHczARg6b+doFofinsJy1smEC7o=";
   };
-  version = "8.0.6";
+  version = "8.1.3";
 
   roleTester = rustPlatform.buildRustPackage {
     name = "teleport-roletester";
@@ -38,11 +39,11 @@ let
   webassets = fetchFromGitHub {
     owner = "gravitational";
     repo = "webassets";
-    rev = "240464d54ac498281592eb0b30c871dc3c7ce09b";
-    sha256 = "sha256-8gt8x2fNh8mA1KCop5dEZmpBWBu7HsrTY5zVUlmKDgs=";
+    rev = "ea3c67c941c56cfb6c228612e88100df09fb6f9c";
+    sha256 = "sha256-oKvDXkxA73IJOi+ciBFVLkYcmeRUsTC+3rcYf64vDoY=";
   };
 in
-buildGo117Module rec {
+buildGoModule rec {
   pname = "teleport";
 
   inherit src version;
@@ -95,6 +96,8 @@ buildGo117Module rec {
     $out/bin/teleport version | grep ${version} > /dev/null
   '';
 
+  passthru.tests = nixosTests.teleport;
+
   meta = with lib; {
     description = "Certificate authority and access plane for SSH, Kubernetes, web applications, and databases";
     homepage = "https://goteleport.com/";
diff --git a/nixpkgs/pkgs/servers/tile38/default.nix b/nixpkgs/pkgs/servers/tile38/default.nix
new file mode 100644
index 000000000000..8d86a03ed7c8
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tile38/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "tile38";
+  version = "1.27.1";
+
+  src = fetchFromGitHub {
+    owner = "tidwall";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-CT611ZQmUYb6AclDEWXQsKDNxpwdJ+jqxIdDKGRo4/Q=";
+  };
+
+  vendorSha256 = "sha256-FeQbfnvdERg5jtiTaT7Uz1YvmYLDXCDEf4sAyr3+Avk=";
+
+  subPackages = [ "cmd/tile38-cli" "cmd/tile38-server" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/tidwall/tile38/core.Version=${version}" ];
+
+  meta = with lib; {
+    description = "Real-time Geospatial and Geofencing";
+    longDescription = ''
+      Tile38 is an in-memory geolocation data store, spatial index, and realtime geofence.
+      It supports a variety of object types including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON.
+    '';
+    homepage = "https://tile38.com/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/timetagger/default.nix b/nixpkgs/pkgs/servers/timetagger/default.nix
new file mode 100644
index 000000000000..5e4629f455b2
--- /dev/null
+++ b/nixpkgs/pkgs/servers/timetagger/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, pkgs
+, python3Packages
+, fetchFromGitHub
+
+, addr ? "127.0.0.1"
+, port ? 8082
+}:
+
+#
+# Timetagger itself is a library that a user must write a "run.py" script for
+# We provide a basic "run.py" script with this package, which simply starts
+# timetagger.
+#
+
+let
+  tt = python3Packages.timetagger;
+in
+python3Packages.buildPythonPackage rec {
+  pname = tt.name;
+  version = tt.version;
+  src = tt.src;
+  meta = tt.meta;
+
+  propagatedBuildInputs = [ tt ]
+    ++ (with python3Packages; [
+      setuptools
+    ]);
+
+  format = "custom";
+  installPhase = ''
+    mkdir -p $out/bin
+    echo "#!${pkgs.python3}/bin/python3" >> $out/bin/timetagger
+    cat run.py >> $out/bin/timetagger
+    sed -Ei 's,0\.0\.0\.0:80,${addr}:${toString port},' $out/bin/timetagger
+    chmod +x $out/bin/timetagger
+  '';
+}
+
diff --git a/nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/default.nix b/nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/default.nix
new file mode 100644
index 000000000000..ab059b518e74
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildGoModule, fetchurl }:
+import ./versions.nix ({version, sha256}:
+  buildGoModule {
+  pname = "honeymarker";
+  inherit version;
+  vendorSha256 = "sha256-ZuDobjC/nizZ7G0o/zVTQmDfDjcdBhfPcmkhgwFc7VU=";
+
+  src = fetchurl {
+    url = "https://github.com/honeycombio/honeymarker/archive/refs/tags/v${version}.tar.gz";
+    inherit sha256;
+  };
+  inherit (buildGoModule.go) GOOS GOARCH;
+
+  meta = with lib; {
+    description = "provides a simple CRUD interface for dealing with per-dataset markers on honeycomb.io";
+    homepage = "https://honeycomb.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.iand675 ];
+  };
+})
+
diff --git a/nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/versions.nix b/nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/versions.nix
new file mode 100644
index 000000000000..c7fde50e15d0
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tracing/honeycomb/honeymarker/versions.nix
@@ -0,0 +1,6 @@
+generic: {
+  v0_2_1 = generic {
+    version = "0.2.1";
+    sha256 = "0gp427bsc1y7k6j1sqgl8r3kng5b0qhmqd4bpfb9139ivmp2sykk";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/default.nix b/nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/default.nix
new file mode 100644
index 000000000000..cbe901f2859a
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildGoModule, fetchurl }:
+import ./versions.nix ({version, sha256}:
+  buildGoModule {
+  pname = "honeytail";
+  inherit version;
+  vendorSha256 = "sha256-LtiiLGLjhbfT49A6Fw5CbSbnmTHMxtcUssr+ayCVrvY=";
+
+  src = fetchurl {
+    url = "https://github.com/honeycombio/honeytail/archive/refs/tags/v${version}.tar.gz";
+    inherit sha256;
+  };
+  inherit (buildGoModule.go) GOOS GOARCH;
+
+  meta = with lib; {
+    description = "agent for ingesting log file data into honeycomb.io and making it available for exploration";
+    homepage = "https://honeycomb.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.iand675 ];
+  };
+})
+
diff --git a/nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/versions.nix b/nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/versions.nix
new file mode 100644
index 000000000000..370d645ab626
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tracing/honeycomb/honeytail/versions.nix
@@ -0,0 +1,6 @@
+generic: {
+  v1_6_0 = generic {
+    version = "1.6.0";
+    sha256 = "039svpvqjck7s3rq86s29xgcyxl1wr0zj90s3jsyp058zk1dgwdy";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/default.nix b/nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/default.nix
new file mode 100644
index 000000000000..839b8ec053f7
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildGoModule, fetchurl }:
+import ./versions.nix ({version, sha256}:
+  buildGoModule {
+  pname = "honeyvent";
+  inherit version;
+  vendorSha256 = null;
+
+  src = fetchurl {
+    url = "https://github.com/honeycombio/honeyvent/archive/refs/tags/v${version}.tar.gz";
+    inherit sha256;
+  };
+  inherit (buildGoModule.go) GOOS GOARCH;
+
+  meta = with lib; {
+    description = "CLI for sending individual events to honeycomb.io";
+    homepage = "https://honeycomb.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.iand675 ];
+  };
+})
+
diff --git a/nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/versions.nix b/nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/versions.nix
new file mode 100644
index 000000000000..831de6c93372
--- /dev/null
+++ b/nixpkgs/pkgs/servers/tracing/honeycomb/honeyvent/versions.nix
@@ -0,0 +1,6 @@
+generic: {
+  v1_1_0 = generic {
+    version = "1.1.0";
+    sha256 = "0ar2m25ngdd1wk7d70j2781wbrvhjhf9cj9qvp24jjrhqng6hvn7";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/traefik/default.nix b/nixpkgs/pkgs/servers/traefik/default.nix
index 962569d517e2..2b764f39bf38 100644
--- a/nixpkgs/pkgs/servers/traefik/default.nix
+++ b/nixpkgs/pkgs/servers/traefik/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.5.6";
+  version = "2.6.1";
 
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "sha256-HHJTfAigUH7C0VuKUeGypqFlQwVdy05Ki/aTxDsl+tg=";
+    sha256 = "sha256-uaROz7DQcy5FlR9/U/QmanqA1qJPJj/ix725Gnei2U0=";
     stripRoot = false;
   };
 
-  vendorSha256 = "sha256-DqjqJPyoFlCjIIaHYS5jrROQWDxZk+RGfccC2jYZ8LE=";
+  vendorSha256 = "sha256-H67oCOCkS/xpkCZ4C3BuIzpUKuLvItDqC4tNSNKjv0E=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix b/nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix
index ac0642261bfd..224cf3fde580 100644
--- a/nixpkgs/pkgs/servers/tt-rss/theme-feedly/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/tvheadend/default.nix b/nixpkgs/pkgs/servers/tvheadend/default.nix
index 6c853b1ccc8b..64e8d423d91b 100644
--- a/nixpkgs/pkgs/servers/tvheadend/default.nix
+++ b/nixpkgs/pkgs/servers/tvheadend/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkg-config
-, avahi, dbus, gettext, git, gnutar, gzip, bzip2, ffmpeg_4, libiconv, openssl, python
+, avahi, dbus, gettext, git, gnutar, gzip, bzip2, ffmpeg_4, libiconv, openssl, python2
 , v4l-utils, which, zlib }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
   };
 
   buildInputs = [
-    avahi dbus gettext git gnutar gzip bzip2 ffmpeg_4 libiconv openssl python
+    avahi dbus gettext git gnutar gzip bzip2 ffmpeg_4 libiconv openssl python2
     which zlib
   ];
 
diff --git a/nixpkgs/pkgs/servers/udpt/default.nix b/nixpkgs/pkgs/servers/udpt/default.nix
index b9d18f63eeff..8f59d9e02a85 100644
--- a/nixpkgs/pkgs/servers/udpt/default.nix
+++ b/nixpkgs/pkgs/servers/udpt/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "udpt";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "naim94a";
     repo = "udpt";
     rev = "${pname}-${version}";
-    sha256 = "1g6l0y5x9pdra3i1npkm474glysicm4hf2m01700ack2rp43vldr";
+    sha256 = "sha256-G3LzbV3b1Y/2SPIBS1kZDuLuGF5gV/H1LFBRhevpdjU=";
   };
 
-  cargoSha256 = "0raym4zrapn3w0a98y9amyp2qh7swd73cjslsfgfzlr9w8vsb6zs";
+  cargoSha256 = "sha256-ebLVyUB65fW8BWctxXnYxrnl/2IESd4YJXeiMsMXn9s=";
 
   postInstall = ''
     install -D udpt.toml $out/share/udpt/udpt.toml
diff --git a/nixpkgs/pkgs/servers/unifi/default.nix b/nixpkgs/pkgs/servers/unifi/default.nix
index 33f5044cb764..4902123181da 100644
--- a/nixpkgs/pkgs/servers/unifi/default.nix
+++ b/nixpkgs/pkgs/servers/unifi/default.nix
@@ -63,4 +63,9 @@ in rec {
     version = "6.5.55";
     sha256 = "sha256-NUGRO+f6JzWvYPwiitZsgp+LQwnGSncnost03mgNVxA=";
   };
+
+  unifi7 = generic {
+    version = "7.0.20-894288bd9b";
+    sha256 = "sha256-lDSU4D159svqkv+e61v/RWIyw0KOrF8X0nNpo9eQe50=";
+  };
 }
diff --git a/nixpkgs/pkgs/servers/unifiedpush-common-proxies/default.nix b/nixpkgs/pkgs/servers/unifiedpush-common-proxies/default.nix
index 9498000c3f9f..b969902b253c 100644
--- a/nixpkgs/pkgs/servers/unifiedpush-common-proxies/default.nix
+++ b/nixpkgs/pkgs/servers/unifiedpush-common-proxies/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "unifiedpush-common-proxies";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "unifiedpush";
     repo = "common-proxies";
     rev = "v${version}";
-    sha256 = "sha256-V6LTEwdnVkxc2wm8anlYeYJpk/mMQEsKrq69H8okHBg=";
+    sha256 = "0wf6kmj8m2c06864qiphf91j5rpaj3bvjrafdk6lqli14p5gmma2";
   };
 
-  vendorSha256 = "sha256-s0uN6PzIaAHLvRb9T07Xvb6mMAuvKHQ4oFJtl5hsvY4=";
+  vendorSha256 = "13mxdjc9fvajl0w78a5g1cqadgmxsx74zz8npp5h2s68zkl8sjxk";
 
   meta = with lib; {
     description = "A set of rewrite proxies and gateways for UnifiedPush";
diff --git a/nixpkgs/pkgs/servers/unpackerr/default.nix b/nixpkgs/pkgs/servers/unpackerr/default.nix
index 3eaf95a45182..f0c55051fc84 100644
--- a/nixpkgs/pkgs/servers/unpackerr/default.nix
+++ b/nixpkgs/pkgs/servers/unpackerr/default.nix
@@ -2,19 +2,21 @@
 
 buildGoModule rec {
   pname = "unpackerr";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner = "davidnewhall";
     repo = "unpackerr";
     rev = "v${version}";
-    sha256 = "08xcxs4qh25qsjaf6wivhpszl61zdp59hlkd57igf9fv4lywb41q";
+    sha256 = "sha256-lQqa1YtMLsCEfiC3Ld+lw4SvAD8wctSGi2YdXt9lrTA=";
   };
 
-  vendorSha256 = "0ilpg7xfll0c5lsv8zf4h3i72yabddkddih4d292hczyz9wi3j4z";
+  vendorSha256 = "sha256-W9lTIjntaNZSJVt6Jow8uSew+zCaGWU9qzseClNiVUI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Cocoa WebKit ];
 
+  ldflags = [ "-s" "-w" "-X golift.io/version.Version=${version}" ];
+
   meta = with lib; {
     description = "Extracts downloads for Radarr, Sonarr, Lidarr - Deletes extracted files after import";
     homepage = "https://github.com/davidnewhall/unpackerr";
diff --git a/nixpkgs/pkgs/servers/varnish/default.nix b/nixpkgs/pkgs/servers/varnish/default.nix
index 5988c3a211e6..7d52b3a0a266 100644
--- a/nixpkgs/pkgs/servers/varnish/default.nix
+++ b/nixpkgs/pkgs/servers/varnish/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, fetchpatch, pcre, pcre2, libxslt, groff, ncurses, pkg-config, readline, libedit, coreutils
-, python3, makeWrapper }:
+{ lib, stdenv, fetchurl, fetchpatch, pcre, pcre2, jemalloc, libxslt, groff, ncurses, pkg-config, readline, libedit
+, coreutils, python3, makeWrapper }:
 
 let
   common = { version, sha256, extraNativeBuildInputs ? [] }:
@@ -19,7 +19,8 @@ let
         libxslt groff ncurses readline libedit makeWrapper python3
       ]
       ++ lib.optional (lib.versionOlder version "7") pcre
-      ++ lib.optional (lib.versionAtLeast version "7") pcre2;
+      ++ lib.optional (lib.versionAtLeast version "7") pcre2
+      ++ lib.optional stdenv.hostPlatform.isLinux jemalloc;
 
       buildFlags = [ "localstatedir=/var/spool" ];
 
@@ -47,12 +48,12 @@ let
 in
 {
   varnish60 = common {
-    version = "6.0.9";
-    sha256 = "1g0pwyckc0xh6ag6wj082x9wn4q6p6krjgc16fkw1arl71c18wsh";
+    version = "6.0.10";
+    sha256 = "1sr60wg5mzjb14y75cga836f19sbmmpgh13mwc4alyg3irsbz1bb";
   };
   varnish70 = (common {
-    version = "7.0.1";
-    sha256 = "0q265fzarz5530g8lasvfpgks8z1kq1yh7rn88bn2qfly3pmpry4";
+    version = "7.0.2";
+    sha256 = "0q9z1iilqwbh5flfy9pl18kxv0yjs5z91c4j81z5pgyjd9d4jjjj";
   }).overrideAttrs (oA: {
     patches = [
       (fetchpatch {
diff --git a/nixpkgs/pkgs/servers/varnish/modules.nix b/nixpkgs/pkgs/servers/varnish/modules.nix
index 527dd17c03c0..4922907f920f 100644
--- a/nixpkgs/pkgs/servers/varnish/modules.nix
+++ b/nixpkgs/pkgs/servers/varnish/modules.nix
@@ -1,36 +1,48 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, docutils, removeReferencesTo }:
+let
+  common = { version, sha256, extraNativeBuildInputs ? [] }:
+    stdenv.mkDerivation rec {
+      pname = "${varnish.name}-modules";
+      inherit version;
 
-stdenv.mkDerivation rec {
-  version = "0.15.0";
-  pname = "${varnish.name}-modules";
+      src = fetchFromGitHub {
+        owner = "varnish";
+        repo = "varnish-modules";
+        rev = version;
+        inherit sha256;
+      };
 
-  src = fetchFromGitHub {
-    owner = "varnish";
-    repo = "varnish-modules";
-    rev = version;
-    sha256 = "00p9syl765lfg1d2ka7da6h46dfl388f8h36x9cmrjix95rg0yr8";
-  };
-
-  nativeBuildInputs = [
-    autoreconfHook
-    docutils
-    pkg-config
-    removeReferencesTo
-    varnish.python  # use same python version as varnish server
-  ];
+      nativeBuildInputs = [
+        autoreconfHook
+        docutils
+        pkg-config
+        removeReferencesTo
+        varnish.python  # use same python version as varnish server
+      ];
 
-  buildInputs = [ varnish ];
+      buildInputs = [ varnish ];
 
-  postPatch = ''
-    substituteInPlace bootstrap   --replace "''${dataroot}/aclocal"                  "${varnish.dev}/share/aclocal"
-    substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal"
-  '';
+      postPatch = ''
+        substituteInPlace bootstrap   --replace "''${dataroot}/aclocal"                  "${varnish.dev}/share/aclocal"
+        substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal"
+      '';
 
-  postInstall = "find $out -type f -exec remove-references-to -t ${varnish.dev} '{}' +"; # varnish.dev captured only as __FILE__ in assert messages
+      postInstall = "find $out -type f -exec remove-references-to -t ${varnish.dev} '{}' +"; # varnish.dev captured only as __FILE__ in assert messages
 
-  meta = with lib; {
-    description = "Collection of Varnish Cache modules (vmods) by Varnish Software";
-    homepage = "https://github.com/varnish/varnish-modules";
-    inherit (varnish.meta) license platforms maintainers;
+      meta = with lib; {
+        description = "Collection of Varnish Cache modules (vmods) by Varnish Software";
+        homepage = "https://github.com/varnish/varnish-modules";
+        inherit (varnish.meta) license platforms maintainers;
+      };
+    };
+in
+{
+  modules15 = common {
+    version = "0.15.1";
+    sha256 = "1lwgjhgr5yw0d17kbqwlaj5pkn70wvaqqjpa1i0n459nx5cf5pqj";
+  };
+  modules19 = common {
+    version = "0.19.0";
+    sha256 = "0qq5g6bbd1a1ml1wk8jj9z39a899jzqbf7aizr3pvyz0f4kz8mis";
   };
 }
diff --git a/nixpkgs/pkgs/servers/varnish/packages.nix b/nixpkgs/pkgs/servers/varnish/packages.nix
index 48cc1f67b185..257b421112ed 100644
--- a/nixpkgs/pkgs/servers/varnish/packages.nix
+++ b/nixpkgs/pkgs/servers/varnish/packages.nix
@@ -1,6 +1,7 @@
-{ callPackage, varnish60, varnish70, fetchFromGitHub }: {
+{ callPackages, callPackage, varnish60, varnish70, fetchFromGitHub }: {
   varnish60Packages = rec {
     varnish = varnish60;
+    modules = (callPackages ./modules.nix { inherit varnish; }).modules15;
     digest  = callPackage ./digest.nix {
       inherit varnish;
       version = "libvmod-digest-1.0.2";
@@ -14,6 +15,7 @@
   };
   varnish70Packages = rec {
     varnish = varnish70;
+    modules = (callPackages ./modules.nix { inherit varnish; }).modules19;
     digest  = callPackage ./digest.nix {
       inherit varnish;
       version = "6.6";
diff --git a/nixpkgs/pkgs/servers/vouch-proxy/default.nix b/nixpkgs/pkgs/servers/vouch-proxy/default.nix
index 94ef0b23f3b7..a8a773385db9 100644
--- a/nixpkgs/pkgs/servers/vouch-proxy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/baget/default.nix b/nixpkgs/pkgs/servers/web-apps/baget/default.nix
new file mode 100644
index 000000000000..d19bb2906b35
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/baget/default.nix
@@ -0,0 +1,29 @@
+{ buildDotnetModule, lib, fetchFromGitHub, dotnetCorePackages }:
+
+buildDotnetModule rec {
+  pname = "BaGet";
+  version = "0.4.0-preview2";
+
+  src = fetchFromGitHub {
+    owner = "loic-sharma";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "S/3CjXB/fBDzxLuQBQB3CKgEkmzUA8ZzzvzXLN8hfBU=";
+  };
+
+  projectFile = "src/BaGet/BaGet.csproj";
+  nugetDeps = ./deps.nix;
+
+  dotnet-sdk = dotnetCorePackages.sdk_3_1;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
+
+  passthru.updateScript = ./updater.sh;
+
+  meta = with lib; {
+    description = "A lightweight NuGet and symbol server";
+    license = licenses.mit;
+    homepage = "https://loic-sharma.github.io/BaGet/";
+    platforms = platforms.all;
+    maintainers = [ maintainers.abbradar ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/baget/deps.nix b/nixpkgs/pkgs/servers/web-apps/baget/deps.nix
new file mode 100644
index 000000000000..d77342c758b8
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/baget/deps.nix
@@ -0,0 +1,396 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Aliyun.OSS.SDK.NetCore"; version = "2.9.1"; sha256 = "0j07j6cr0lqmmdwgz5alxlq5ifa5vzb58r1rqkgvf49nirz6jhfs"; })
+  (fetchNuGet { pname = "AWSSDK.Core"; version = "3.3.104.22"; sha256 = "1930axxsbiahv0rrav34zj355fwxx4nzbvd93sp5g94z6pdh0438"; })
+  (fetchNuGet { pname = "AWSSDK.S3"; version = "3.3.110.20"; sha256 = "0i8vcyxmszhsdm73fvg17yx6hfslml3y1sw0cd1lzv10avqfb7v9"; })
+  (fetchNuGet { pname = "AWSSDK.SecurityToken"; version = "3.3.104.27"; sha256 = "13ywh3d8fc8ndyg40yh386fw54s1w4sw9qqbjvmh40nb20s4wwrv"; })
+  (fetchNuGet { pname = "Google.Api.Gax"; version = "2.5.0"; sha256 = "0q6pi53px998i3gdndla8v0zqdpyi9gnsy9mdcfpkrg09vfbdsl9"; })
+  (fetchNuGet { pname = "Google.Api.Gax.Rest"; version = "2.5.0"; sha256 = "1zkjl5zh6qwdz4qmnxnk5877pas638i2qi25znilhqqf3mrkp0rp"; })
+  (fetchNuGet { pname = "Google.Apis"; version = "1.35.1"; sha256 = "1022l8m7v9f3rkjc9l11mkzwsbmqx9sk5f4aym035vn9hdr16d49"; })
+  (fetchNuGet { pname = "Google.Apis.Auth"; version = "1.35.1"; sha256 = "1qdnd1nq9bfgyljmiww91pfi0iz1n29rz2dlizhxcijqya2ldha3"; })
+  (fetchNuGet { pname = "Google.Apis.Core"; version = "1.35.1"; sha256 = "01dfw2kxknlc5pm7x1q88lv9j979509lkkgvlffjry5bawsxsja4"; })
+  (fetchNuGet { pname = "Google.Apis.Storage.v1"; version = "1.35.1.1266"; sha256 = "16wmqv0nqw8s0cmv2zmjd8raz2swygqn9jqg18ja1bfaz88r5c3l"; })
+  (fetchNuGet { pname = "Google.Cloud.Storage.V1"; version = "2.2.1"; sha256 = "0jpzca4xs82p3yyni8c1chq2pzzvmpf3j25ch0wj1w2ha36r9acj"; })
+  (fetchNuGet { pname = "Humanizer"; version = "2.11.10"; sha256 = "057pqzvdxsbpnnc5f1xkqg7j3ywp68ggia3w74fgqp0158dm6rdk"; })
+  (fetchNuGet { pname = "Humanizer.Core"; version = "2.11.10"; sha256 = "0z7kmd5rh1sb6izq0vssk6c2p63n00xglk45s7ga9z18z9aaskxv"; })
+  (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.11.10"; sha256 = "18fiixfvjwn8m1i8z2cz4aqykzylvfdqmmpwc2zcd8sr1a2xm86z"; })
+  (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.11.10"; sha256 = "009fpm4jd325izm82ipipsvlwd31824gvskda68bdwi4yqmycz4p"; })
+  (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.11.10"; sha256 = "144b9diwprabxwgi5a98k5iy95ajq4p7356phdqi2lhzwbz7b6a9"; })
+  (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.11.10"; sha256 = "1b9y40gvq2kwnj5wa40f8cbywv79jkajcwknagrgr27sykpfadl2"; })
+  (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.11.10"; sha256 = "18pn4jcp36ygcx283l3fi9bs5d7q1a384b72a10g5kl0qckn88ay"; })
+  (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.11.10"; sha256 = "03crw1lnzp32v2kcdmllkrsqh07r4ggw9gyc96qw7cv0nk5ch1h8"; })
+  (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.11.10"; sha256 = "0glby12zra3y3yiq4cwq1m6wjcjl8f21v8ghi6s20r48glm8vzy9"; })
+  (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.11.10"; sha256 = "0a35xrm1f9p74x0fkr52bw9sd54vdy9d5rnvf565yh8ww43xfk7b"; })
+  (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.11.10"; sha256 = "0bhwwdx5vc48zikdsbrkghdhwahxxc2lkff0yaa5nxhbhasl84h8"; })
+  (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.11.10"; sha256 = "07bw07qy8nyzlgxl7l2lxv9f78qmkfppgzx7iyq5ikrcnpvc7i9q"; })
+  (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.11.10"; sha256 = "00d4hc1pfmhfkc5wmx9p7i00lgi4r0k6wfcns9kl1syjxv3bs5f2"; })
+  (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.11.10"; sha256 = "0z4is7pl5jpi4pfdvd2zvx5mp00bj26d9l9ksqyc0liax8nfzyik"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.11.10"; sha256 = "0sybpg6kbbhrnk7gxcdk7ppan89lsfqsdssrg4i1dm8w48wgicap"; })
+  (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.11.10"; sha256 = "1s25c86nl9wpsn6fydzwv4rfmdx5sm0vgyd7xhw5344k20gazvhv"; })
+  (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.11.10"; sha256 = "1nx61qkjd6p9r36dmnm4942khyv35fpdqmb2w69gz6463g4d7z29"; })
+  (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.11.10"; sha256 = "02jhcyj72prkqsjxyilv04drm0bknqjh2r893jlbsfi9vjg2zay3"; })
+  (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.11.10"; sha256 = "0yb6ly4s1wdyaf96h2dvifqyb575aid6irwl3qx8gcvrs0xpcxdp"; })
+  (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.11.10"; sha256 = "0b7vaqldn7ca3xi4gkvkhjk900kw2zwb0m0d20bg45a83zdlx79c"; })
+  (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.11.10"; sha256 = "1yqxirknwga4j18k7ixwgqxlv20479afanhariy3c5mkwvglsr9b"; })
+  (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.11.10"; sha256 = "1skwgj5a6kkx3pm9w4f29psch69h1knmwbkdydlmx13h452p1w4l"; })
+  (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.11.10"; sha256 = "1wpc3yz9v611dqbw8j5yimk8dpz0rvpnls4rmlnp1m47gavpj8x4"; })
+  (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.11.10"; sha256 = "1df0kd7vwdc3inxfkb3wsl1aw3d6vbab99dzh08p4m04g7i2c1a9"; })
+  (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.11.10"; sha256 = "17b66xfgwjr0sffx0hw4c6l90h43z7ffylrs26hgav0n110q2nwg"; })
+  (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.11.10"; sha256 = "0czxx4b9g0w7agykdl82wds09zasa9y58dmgjm925amlfz4wkyzs"; })
+  (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.11.10"; sha256 = "0kix95nbw94fx0dziyz80y59i7ii7d21b63f7f94niarljjq36i3"; })
+  (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.11.10"; sha256 = "1rwy6m22pq65gxn86xlr9lv818fp5kb0wz98zxxfljc2iviw1f4p"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.11.10"; sha256 = "0ra2cl0avvv4sylha7z76jxnb4pdiqfbpr5m477snr04dsjxd9q9"; })
+  (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.11.10"; sha256 = "1qszib03pvmjkrg8za7jjd2vzrs9p4fn2rmy82abnzldkhvifipq"; })
+  (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.11.10"; sha256 = "1i9bvy0i2yyasl9mgxiiwrkmfpm2c53d3wwdp9270r6120sxyy63"; })
+  (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.11.10"; sha256 = "0kggh4wgcic7wzgxy548n6w61schss2ccf9kz8alqshfi42xifby"; })
+  (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.11.10"; sha256 = "09j90s8x1lpvhfiy3syfnj8slkgcacf3xjy3pnkgxa6g4mi4f4bd"; })
+  (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.11.10"; sha256 = "1jgidmqfly91v1k22gn687mfql5bz7gjzp1aapi93vq5x635qssy"; })
+  (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.11.10"; sha256 = "13mmlh0ibxfyc85xrz3vx4mcg56mkzqql184iwdryq94p0g5ahil"; })
+  (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.11.10"; sha256 = "04ja06y5jaz1jwkwn117wx9cib04gpbi0vysn58a8sd5jrxmxai5"; })
+  (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.11.10"; sha256 = "05hxk9v3a7fn7s4g9jp5zxk2z6a33b9fkavyb1hjqnl2i37q2wja"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.11.10"; sha256 = "0x6l2msimrx72iywa1g0rqklgy209sdwg0r77i2lz0s1rvk5klm5"; })
+  (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.11.10"; sha256 = "01hdyn7mmbyy7f3aglawgnsj3nblcdpqjgzdcvniy73l536mira0"; })
+  (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.11.10"; sha256 = "0cbgchivw3d5ndib1zmgzmnymhyvfh9g9f0hijc860g5vaa9fkvh"; })
+  (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.11.10"; sha256 = "1v7f9x3b04iwhz9lb3ir8az8128nvcw1gi4park5zh3fg0f3mni0"; })
+  (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.11.10"; sha256 = "02c4ky0dskxkdrkc7vy8yzmvwjr1wqll1kzx0k21afhlx8xynjd4"; })
+  (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.11.10"; sha256 = "0900ilhwj8yvhyzpg1pjr7f5vrl62wp8dsnhk4c2igs20qvnv079"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.11.10"; sha256 = "09b7p2m8y49j49ckrmx2difgyj6y7fm2mwca093j8psxclsykcyr"; })
+  (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.11.10"; sha256 = "029kvkawqhlln52vpjpvr52dhr18ylk01cgsj2z8lxnqaka0q9hk"; })
+  (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.11.10"; sha256 = "0q4d47plsj956ivn82qwyidfxppjr9dp13m8c66aamrvhy4q8ny5"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.11.10"; sha256 = "01dy5kf6ai8id77px92ji4kcxjc8haj39ivv55xy1afcg3qiy7mh"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.11.10"; sha256 = "16gcxgw2g6gck3nc2hxzlkbsg7wkfaqsjl87kasibxxh47zdqqv2"; })
+  (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.11.10"; sha256 = "1rjg2xvkwjjw3c7z9mdjjvbnl9lcvvhh4fr7l61rla2ynzdk46cj"; })
+  (fetchNuGet { pname = "Markdig"; version = "0.26.0"; sha256 = "1pg0yica8h1c2kx10pqzc5iclmlfll5wbw1bxa8l251w1qnfglv2"; })
+  (fetchNuGet { pname = "McMaster.Extensions.CommandLineUtils"; version = "2.5.0"; sha256 = "010vqyg5mb3cjzxznawxz7wvidj1yv664xgz93vf1zrww5vz6aal"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Razor.Extensions"; version = "3.1.18"; sha256 = "0s168gac3g8666pllnmjdbq1v981qgc1wqypyl6pp92jvzvkndp6"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"; version = "3.1.18"; sha256 = "0069qv17rapqhp2hjzzqim5zxb6clmr9bj4vmfd2pm4byp215flj"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Razor.Language"; version = "3.1.18"; sha256 = "0rm6a5hsj4d2a1nlzfb34bm5z7wr826zg25xfbg51a3zvbgva9m7"; })
+  (fetchNuGet { pname = "Microsoft.Azure.Cosmos.Table"; version = "1.0.0"; sha256 = "0ms3nkifj3j7i1h6bxw49fha2iamxdxkzi51q37n0czcszx36apg"; })
+  (fetchNuGet { pname = "Microsoft.Azure.DocumentDB.Core"; version = "2.1.3"; sha256 = "017jq5a5ba4wmrrfr7daa07asnjl8xgvncgxlcyy83mln0xm67a5"; })
+  (fetchNuGet { pname = "Microsoft.Azure.KeyVault.Core"; version = "2.0.4"; sha256 = "0rv7z989zxk5myqd4n2a9ccxx9jr4jb3fslc6b4w3p0570af60hn"; })
+  (fetchNuGet { pname = "Microsoft.Azure.Search"; version = "5.0.1"; sha256 = "1xpwgcwahflrq5qa2acn0y5x1660qlh5iy0xmn6bisf9pbs6g7hr"; })
+  (fetchNuGet { pname = "Microsoft.Azure.Search.Common"; version = "5.0.1"; sha256 = "1ybbvm3iyi7r6v6j19jb16lqlq3am51wg68mzk3jdflk5czn28p7"; })
+  (fetchNuGet { pname = "Microsoft.Azure.Search.Data"; version = "5.0.1"; sha256 = "05skk65y8miwjzwvrr5br94byqipygi3mccl9x5wzbxqdhma7chq"; })
+  (fetchNuGet { pname = "Microsoft.Azure.Search.Service"; version = "5.0.1"; sha256 = "00767bbdi1zxb3vvw8k4666iv7wfb3fyxcligrin04qn9spjd2h7"; })
+  (fetchNuGet { pname = "Microsoft.Azure.Storage.Blob"; version = "9.4.1"; sha256 = "11273cf1a6rir6z016sa8r8jmrxc66zyhicciyyzanph6jwdfbf6"; })
+  (fetchNuGet { pname = "Microsoft.Azure.Storage.Common"; version = "9.4.1"; sha256 = "0kwrsfw0g8bciy53qrmgff8b8ik8wgn92szx0hdnvaqnv5dphsij"; })
+  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.0.0"; sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh"; })
+  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.0"; sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; })
+  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; })
+  (fetchNuGet { pname = "Microsoft.Bcl.HashCode"; version = "1.1.0"; sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0"; })
+  (fetchNuGet { pname = "Microsoft.Bcl.HashCode"; version = "1.1.1"; sha256 = "0xwfph92p92d8hgrdiaka4cazqsjpg4ywfxfx6qbk3939f29kzl0"; })
+  (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "1.0.0"; sha256 = "0avwja8vk56f2kr2pmrqx3h60bnwbs7ds062lhvhcxv87m5yfqnj"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.3"; sha256 = "1kskwc9gyd2sx3zwx52qwfsl7s0xhaclmlnxvjsb4jgvpydv3xii"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.3.0"; sha256 = "1vwhsp3pjgcfnpapkps9a3z9n2ryiv5bbhzycfljngj5grj63rg2"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.3.0"; sha256 = "09nmd5h1r2q0dwp1dfpn4anvs8sfi3rwcgpcv28lrhky8vc51424"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Razor"; version = "3.1.18"; sha256 = "1fa10n15mifbwq2yilpkmag6apaix1nxb643306a4cmcjvr9nvp1"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
+  (fetchNuGet { pname = "Microsoft.Data.SqlClient"; version = "1.1.3"; sha256 = "18mfc77xbi84iga9zrh227hl3jv7p0mbarxvz4qrws0fknsbx4r9"; })
+  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "3.1.18"; sha256 = "1vh9jjpgqr33kyp72n7k6xkqsd0q978p84lf54rm50krlkx31q0h"; })
+  (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "3.1.0"; sha256 = "1l12lsk1xfrv5pjnm0b9w9kncgdh0pcjcbxl4zrsg82s7bs7dhda"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "3.1.18"; sha256 = "1y3g71d2i3azsnb995379rspchhbr1ivi1b1kfm0gx8swrp1j1wy"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "3.1.1"; sha256 = "1ymnxrd79fx4q3aq0d7m8dpx4gyqkbjm960knm4yd3889mlxkish"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "3.1.0"; sha256 = "1bd6hilnwp47z3l14qspdxi5f5nhv6rivarc6w8wil425bq0h3pd"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "3.1.18"; sha256 = "0d00d6wx2mm5bav39bjsikjq0sx6qmp183dbwimfda7wav2bwya8"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "3.1.1"; sha256 = "0ddjfxp7k5jgk1fmzjcfxiijcf59mpi5y9lvcr7ly7dhkpx2gsg8"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "3.1.0"; sha256 = "1pjn4wwhxgsiap7byld114kx6m0nm6696r8drspqic7lskm4y305"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "3.1.18"; sha256 = "10h1w3lv3gxcf24hhy5av4fvdjxdm2iimzp7kz9zh9cm1jg5n0vl"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "3.1.1"; sha256 = "0vh2i1wc8514wa5brspn53sa2l034cpjswsvi0d84dnb04aw3b4b"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "3.1.18"; sha256 = "0vfn4kni1sgcw8js60gc4cs3g6chfw1mar2jz07bvgjv8wxlv7qw"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "3.1.0"; sha256 = "0javqw6c27ppcysigjvcjcw3mk0gg1pv2pmwfpvvryr1pb4a9n55"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "3.1.18"; sha256 = "0mlq9gmxrmix68mdh0lv803cx15lzrhs5d9622vj8wwdlngg3xdx"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "3.1.1"; sha256 = "1qzw1rd5isa45xbyyq9vg2p04rnbfb2dinfllaaf7qaxy7mhxv65"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "3.1.18"; sha256 = "0fs2900masv6j7j8n4kc05n2g55k7cgkhfkp5vb9pn7s2aw90kzi"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "3.1.18"; sha256 = "1m6v8g8jacrsfdl3i5q82g3k9y4wb2r3fh739ih66nlv9jbb81q6"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.SqlServer"; version = "3.1.18"; sha256 = "08slvfh5p06rwr1n93x44ka54f5qcnkc5b0qig887dxy4yl3kiwk"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "3.1.0"; sha256 = "0j5m2a48rwyzzvbz0hpr2md35iv78b86zyqjnrjq0y4vb7sairc0"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "3.1.18"; sha256 = "0qb3csiz02mh85x1yv0wh6x0c4c9d7kml5nhs9n6z0mykpfybqpc"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "3.1.1"; sha256 = "1m303nrhcjydw8ij3fmf1w8zxpli84l6k1d4ml56yrpc1n6zxmjq"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "3.1.0"; sha256 = "1hi61647apn25kqjcb37nqafp8fikymdrk43j3kxjbwwwx507jy1"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "3.1.18"; sha256 = "0fdnk16nas3gdkcjqiq3h0rkqv6ajvbp7lvrssa21av258wnvm3w"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "3.1.1"; sha256 = "0nyq1iwjql9w2w83sjimsry8chl53372rbvq9jwng3mdzv9qzni4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.0"; sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.18"; sha256 = "0fpvm1h9n0vib4fwvvify2zkc8yzgg8p2qbqrqlp5fd3ppqivjqh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.1"; sha256 = "1dmhci4qlwqmfgya02yi02xzv31v8g45mq1c4ffigs8jq8qn4f77"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.0"; sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.18"; sha256 = "1aycn9rwfygdaw5wnb68ql96sb6midm6mj4742dcl9ibkrgks43w"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.1"; sha256 = "1a1bixlm8wxf2fsr67qdm7k6p441sx2sfjpcjd3rm5df2v2y9zbv"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.0"; sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.18"; sha256 = "1bxcqfh75xypiqq2ljf1rwy7yq58a07g9g12jnlh4x7xba9xd4j0"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.1"; sha256 = "1brd1cxhkp5cg2wfkjkkyyvkzi4mdzyjafq94rbndzcxn9gxvz39"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.0"; sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.18"; sha256 = "0r8fs4pax5pyfny3ppav4v4by3l7r0xpkax9gvq91w3pzvlfvriz"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.1"; sha256 = "01x8a8djyxcqv3fhp1q647b9y720xbbp1922vw9by4zh8f0lzs2w"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.0"; sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.18"; sha256 = "0kvxyhhs5k7xx51ihc8hppbzpcn34bdzmnp42gy2m359wl3iq0c3"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.1"; sha256 = "1k6k6h00p9hpr9jjq5vy4zwn9ggzldzm97gwjil6hpr3kxawb37n"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.1.6"; sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.0"; sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.18"; sha256 = "0llw82p6crp0329n3rsyrqka21c3dqyjk8lbk25y5848vzi0bzbv"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.1"; sha256 = "1y78bn463mrl8vy7iwafrmq4x0vg4pqjd3xaiznfg9lpxjgjl9j3"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.0"; sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.18"; sha256 = "0pq1kw77zz9ygcdw87wxd1rkcij084jj1cgp6p4b8zpl0a73ba6b"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.1"; sha256 = "0pyk6g2qs1lrjhj1qz4bqbqpbmbgqlah1b6ynlvv5bdsrb7157zf"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.0"; sha256 = "0akccwhpn93a4qrssyb3rszdsp3j4p9hlxbsb7yhqb78xydaqhyh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.18"; sha256 = "0iv79m9grl28b5zcng14v5nrgic3rgy74ws9l92fw2f194qbdy6h"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.1"; sha256 = "15iik4hqm5ywzv9lvlfqk6d7drgdm87h6x9gliy9ks6snyhbnpb3"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "3.1.18"; sha256 = "0id3s26s7grlzfvqmknz3ir7agns680ad8d0kv6mr9dfrqj6ca1l"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.PlatformAbstractions"; version = "1.1.0"; sha256 = "0r4j8v2vvp3kalvb11ny9cvpls3nrvqj0c81rxbkh99ynd2dbscp"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.0"; sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.18"; sha256 = "1xcwb09acn6w3jv3s0bp0f7q9vq3rzp7cg2jhbn3a9h9pzk8haa2"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.1"; sha256 = "07rkb1xl7y59qjg9j3bms0fi09gmjrf9f4ipckxlx64k8ciilw9f"; })
+  (fetchNuGet { pname = "Microsoft.Identity.Client"; version = "3.0.8"; sha256 = "0g7j08fqk8svch31jg0vg32chgmxgbsin0i85whsd42hkjd4l8lg"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "5.5.0"; sha256 = "0ahkybdfiwnj5h25j5x2dylz3wfg2194cgqmsiqkaz93gbqibyw0"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "5.5.0"; sha256 = "1a3bvzaas5d653l0yphl95xclj4yvdz5v08g0psj9i137yncn639"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols"; version = "5.5.0"; sha256 = "029i1fz9y5gzrh68364ga1wm7gmk4h58lkdp5g77rsxa24rhshpl"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; version = "5.5.0"; sha256 = "0hxh6j4z1ha7r0pnh9lnnx54h6s3lkj0dv99n2h5pcsk0pbx91kf"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "5.5.0"; sha256 = "1ixdbn6ia6df4qqg89ihcmjz5jjnp9jjcdjifqzaccy37bvxk8dj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.OData.Core"; version = "7.5.0"; sha256 = "0xl3pl7433w2qdcdqnizmwpzavsbip5fv2izw583b99zbyhjxzmx"; })
+  (fetchNuGet { pname = "Microsoft.OData.Edm"; version = "7.5.0"; sha256 = "1xsab22g60q04dscnvswzhjig5ydly37kq205dsk4jm4b1df9dip"; })
+  (fetchNuGet { pname = "Microsoft.Rest.ClientRuntime"; version = "2.3.11"; sha256 = "0iqxxyiyi057c92nlf2aiva59c13bhg93w2gp0qh0777gb750hbx"; })
+  (fetchNuGet { pname = "Microsoft.Rest.ClientRuntime.Azure"; version = "3.3.12"; sha256 = "01r0swv029wwxn1h4paqlyc4chmqg04wi2h0h74bh7lcgjsm9qb1"; })
+  (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "1.0.0"; sha256 = "1zxkpx01zdv17c39iiy8fx25ran89n14qwddh1f140v1s4dn8z9c"; })
+  (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "1.0.0"; sha256 = "029ixyaqn48cjza87m5qf0g1ynyhlm6irgbx1n09src9g666yhpd"; })
+  (fetchNuGet { pname = "Microsoft.Spatial"; version = "7.2.0"; sha256 = "15a2lv7305729mdffh6r2qff5c1dk9b0w5a60kclw1a580vipzk2"; })
+  (fetchNuGet { pname = "Microsoft.Spatial"; version = "7.5.0"; sha256 = "1zxjy5f4bksgf0ilgrqhxpy5g1nzbz54pcp9dx0smvc9yqlacy97"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; })
+  (fetchNuGet { pname = "MySqlConnector"; version = "0.61.0"; sha256 = "0b0mc41dsih4p1ky3kcmibsz4bw14w439nraq5732wjfkq2sqdxg"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.1"; sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.2"; sha256 = "03zb1k50mgzvznp9sfv371fdvx82bqpgq99dj61paan8a30prj6y"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { pname = "Npgsql"; version = "4.1.3"; sha256 = "08515af6g0d8v1d2r493xdxc74y1bg8ngbhck0wq4jhh109ndg97"; })
+  (fetchNuGet { pname = "Npgsql.EntityFrameworkCore.PostgreSQL"; version = "3.1.1.2"; sha256 = "0ng4cyzmbh1x8jshx55x3h5azif4zb3v4d3n3sxkqavbq8j2phhs"; })
+  (fetchNuGet { pname = "NuGet.Common"; version = "5.10.0"; sha256 = "0qy6blgppgvxpfcricmvva3qzddk18dza5vy851jrbqshvf9g7kx"; })
+  (fetchNuGet { pname = "NuGet.Configuration"; version = "5.10.0"; sha256 = "0xb1n94lrwa6k83i9xcsq68202086p2gj74gzlbhlvb8c2pw6lbb"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.10.0"; sha256 = "0gb6n8rg2jpjp52icgpb3wjdfs3qllh5vbcz8hbcix3l7dncy3v2"; })
+  (fetchNuGet { pname = "NuGet.Packaging"; version = "5.10.0"; sha256 = "11g0v061axhp0nisclq5cm2mc92d69z92giz9l40ih478c5nishw"; })
+  (fetchNuGet { pname = "NuGet.Protocol"; version = "5.10.0"; sha256 = "0cs9qp169zx6g2w5bzrlhxv0q1i8mb8dxlb2nkiq7pkvah86rxkc"; })
+  (fetchNuGet { pname = "NuGet.Versioning"; version = "5.10.0"; sha256 = "10vvw6vjpx0c26rlxh7dnpyp4prahn25717ccd8bzkjmyzhm90cs"; })
+  (fetchNuGet { pname = "Pomelo.EntityFrameworkCore.MySql"; version = "3.1.0"; sha256 = "0a8ysdwsa0kds5zbfmcdnk8imaqf2hisjms951h1smnlnii9kyds"; })
+  (fetchNuGet { pname = "Pomelo.JsonObject"; version = "2.2.1"; sha256 = "1w6s9wjbsyvq8cnqknkdzm9chnv0g5gcsrq5i94zp6br9vg7c627"; })
+  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; })
+  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; })
+  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { pname = "runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "15wnpyy506q3vyk1yzdjjf49zpdynr7ghh0x5fbz4pcc1if0p9ky"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Security"; version = "4.3.0"; sha256 = "0dnqjhw445ay3chpia9p6vy4w2j6s9vy3hxszqvdanpvvyaxijr3"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
+  (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.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; })
+  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; })
+  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; })
+  (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.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; })
+  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; })
+  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; })
+  (fetchNuGet { pname = "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "07byf1iyqb7jkb17sp0mmjk46fwq6fx8mlpzywxl7qk09sma44gk"; })
+  (fetchNuGet { pname = "runtime.win-x64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0167s4mpq8bzk3y11pylnynzjr2nc84w96al9x4l8yrf34ccm18y"; })
+  (fetchNuGet { pname = "runtime.win-x86.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0k3rkfrlm9jjz56dra61jgxinb8zsqlqzik2sjwz7f8v6z6ddycc"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.0.2"; sha256 = "00p7n7ndmmh45fhhd3clb11igpzklm1n7r50sdrgnbi5yifv1lxl"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.2"; sha256 = "11mnbnsiirpgmilskqh1issvgzgg08ndq3p3nkrw73hyqr7kl958"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.2"; sha256 = "0967w6r6n94hj0fma3kidb9fx1m2p3fgrw6gpsy6q6jbb33qw6vj"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.0.2"; sha256 = "1lzs8yfjygrwfm3hjmkhnbnpsjzq53ijwx9whmii2r9kjg2a46if"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.0.2"; sha256 = "0ak8jlkva1mnmvyvwhk9zmc4c5b08n4a7l8g9g5mj3ly161hfzm6"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.0"; sha256 = "1gik4sn9jsi1wcy1pyyp0r4sn2g17cwrsh24b2d52vif8p2h24zx"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.0.1"; sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
+  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.0.1"; sha256 = "1wbv7y686p5x169rnaim7sln67ivmv6r57falrnx8aap9y33mam9"; })
+  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
+  (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
+  (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.7.0"; sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z"; })
+  (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
+  (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
+  (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.5.0"; sha256 = "1frpy24mn6q7hgwayj98kkx89z861f5dmia4j6zc0a2ydgx8x02c"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.5.0"; sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.7.0"; sha256 = "0cr0v5dz8l5ackxv6b772fjcyj2nimqmrmzanjs4cw2668v568n1"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.7.1"; sha256 = "1mivaifniyrqwlnvzsfaxzrh2sd981bwzs3cbvs5wi7jjzbcqr4p"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.0.0"; sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (fetchNuGet { pname = "System.Formats.Asn1"; version = "5.0.0"; sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "5.5.0"; sha256 = "0p6ybl5ik2glwcfhiqlqdggl0qd6027kdxaqy5xmp7qq055qiq6k"; })
+  (fetchNuGet { pname = "System.Interactive.Async"; version = "3.1.1"; sha256 = "03iq20gq0n2b2sdzs5jhxf46nzkfgvzip6q5248vka2rcvn1yanh"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Linq.Queryable"; version = "4.0.1"; sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.2"; sha256 = "1g24dwqfcmf4gpbgbhaw1j49xmpsz389l6bw2xxbsmnzvsf860ld"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.0.0"; sha256 = "0dj3pvpv069nyia28gkl4a0fb7q33hbxz2dg25qvpah3l7pbl0qh"; })
+  (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
+  (fetchNuGet { pname = "System.Net.NetworkInformation"; version = "4.1.0"; sha256 = "17ia8gyr0aq76z9cv37yjmpna7nx30xfppw0lifvi9s2q3yjspd2"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { pname = "System.Net.Requests"; version = "4.0.11"; sha256 = "13mka55sa6dg6nw4zdrih44gnp8hnj5azynz47ljsh2791lz3d9h"; })
+  (fetchNuGet { pname = "System.Net.Security"; version = "4.3.2"; sha256 = "1aw1ca1vssqrillrh4qkarx0lxwc8wcaqdkfdima8376wb98j2q8"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
+  (fetchNuGet { pname = "System.Net.WebHeaderCollection"; version = "4.0.1"; sha256 = "10bxpxj80c4z00z3ksrfswspq9qqsw8jwxcbzvymzycb97m9b55q"; })
+  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; })
+  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.3.0"; sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.Caching"; version = "4.5.0"; sha256 = "07ijp8j0cplcw1ns0fpkfsavppask164jn51lasiji4sfkjy592r"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
+  (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"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Formatters"; version = "4.3.0"; sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Json"; version = "4.3.0"; sha256 = "1qp8ghr70smspnjdmlcbl5vwb7fm2iy1b7wx1p53lbpl35w4kz4a"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; })
+  (fetchNuGet { pname = "System.Security.Claims"; version = "4.0.1"; sha256 = "03dw0ls49bvsrffgwycyifjgz0qzr9r85skqhdyhfd51fqf398n6"; })
+  (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.5.0"; sha256 = "1pm4ykbcz48f1hdmwpia432ha6qbb9kbrxrrp7cg3m8q8xn52ngn"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "5.0.0"; sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "5.0.0"; sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.5.0"; sha256 = "11qlc8q6b7xlspayv07718ibzvlj6ddqqxkvcbxv5b24d5kzbrb7"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { pname = "System.Security.Permissions"; version = "4.5.0"; sha256 = "192ww5rm3c9mirxgl1nzyrwd18am3izqls0hzm0fvcdjl5grvbhm"; })
+  (fetchNuGet { pname = "System.Security.Principal"; version = "4.0.1"; sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p"; })
+  (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.0.0"; sha256 = "1d3vc8i0zss9z8p4qprls4gbh7q4218l9845kclx7wvw41809k6z"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
+  (fetchNuGet { pname = "System.Security.SecureString"; version = "4.0.0"; sha256 = "026q5f46585hgisz4svhnjc7q0ljprz43v15rybqizlyli5585jz"; })
+  (fetchNuGet { pname = "System.Security.SecureString"; version = "4.3.0"; sha256 = "1dypfbw7mxd8cbpcxs3jrp7i5wm1vnp43bv823mk2z94r36ixqfc"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.0"; sha256 = "19x38911pawq4mrxrm04l2bnxwxxlzq8v8rj4cbxnfjj8pnd3vj3"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.6.0"; sha256 = "0j61vkkcz390zbqsqqzdrzk4siqipi4359bgkh6icxli671k479l"; })
+  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.7.1"; sha256 = "1wj7r07mjwbf9a79kapy2l9m8mcq8b3nbhg0zaprlsav09k85fmb"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "4.7.2"; sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.0.1"; sha256 = "0fi79az3vmqdp9mv3wh2phblfjls89zlj6p9nc3i9f6wmfarj188"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.2"; sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
+  (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.0.10"; sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
+  (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.3.0"; sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912"; })
+]
diff --git a/nixpkgs/pkgs/servers/web-apps/baget/updater.sh b/nixpkgs/pkgs/servers/web-apps/baget/updater.sh
new file mode 100755
index 000000000000..60f780e2a805
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/baget/updater.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p gnused jq common-updater-scripts nuget-to-nix dotnet-sdk_3 nix-prefetch-github
+set -eo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+deps_file="$(realpath ./deps.nix)"
+
+new_version="$(curl -s "https://api.github.com/repos/loic-sharma/BaGet/releases?per_page=1" | jq -r '.[0].name' | sed 's,^v,,')"
+old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+
+if [[ "$new_version" == "$old_version" ]]; then
+  echo "Already up to date!"
+  exit 0
+fi
+
+new_rev="v$new_version"
+nix-prefetch-github loic-sharma BaGet --rev "$new_rev" > repo_info
+new_hash="$(jq -r ".sha256" < repo_info)"
+rm repo_info
+
+pushd ../../../..
+
+update-source-version baget "$new_version" "$new_hash"
+store_src="$(nix-build -A baget.src --no-out-link)"
+src="$(mktemp -d /tmp/baget-src.XXX)"
+cp -rT "$store_src" "$src"
+
+trap 'rm -r "$src"' EXIT
+
+chmod -R +w "$src"
+
+pushd "$src"
+
+export DOTNET_NOLOGO=1
+export DOTNET_CLI_TELEMETRY_OPTOUT=1
+
+mkdir ./nuget_pkgs
+dotnet restore src/BaGet/BaGet.csproj --packages ./nuget_pkgs
+
+nuget-to-nix ./nuget_pkgs > "$deps_file"
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
index 0d457debc147..693e638dec6e 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
@@ -10,13 +10,13 @@
 }@args:
 
 let
-  version = "2.8.0.beta10";
+  version = "2.9.0.beta1";
 
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse";
     rev = "v${version}";
-    sha256 = "sha256-mlTOsHR8p0mTdhZHBESyDAa1XtMJ4uIht0VUcGD6Ses=";
+    sha256 = "sha256-mf2Niyv1H+Zq7RfnV93O1Ul9RdRrtmtAJMBJrb8hp3U=";
   };
 
   runtimeDeps = [
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
index 090bffd96605..2a1970e92dd3 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-assign";
-    rev = "920503f5fc2cbec1b3ba4d431cffda2281e12509";
-    sha256 = "sha256-qMUlJwETu99Qmbh4sn/1Vn7Xgaj3Jhi+/E8ecIbnVH8=";
+    rev = "ffe95da7ed0cf0893a76af37498784ad92041131";
+    sha256 = "sha256-FdZATO1Z6XmhForETZ2FC+6wfR437cpRg8QSFzmbsxQ=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
index 218927821f4e..727fde304953 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
@@ -1,13 +1,13 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.0)
+    activesupport (7.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       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/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
index 4e9860acdc56..1d3e2756bb0d 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-calendar";
-    rev = "9c5516ff039225be04b1302c5c67837ce64fba9c";
-    sha256 = "sha256-tfQWhkQvHrIUl0+tIv8X65MvoUhUnKD7KHwQbBm3p7U=";
+    rev = "765d16242ffeb4324c3269393d3fa81e9b751d4f";
+    sha256 = "sha256-YYxspW0DX0DUBwPOcvX2pLJYmyK4b56LdjL6avLKzRs=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-calendar";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
index cd8b76c1bfb5..48598802c61c 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04bsr3420wb8y5pagg3s0rkx44fix47wrjvfby2d205l9bq6azyk";
+      sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6";
       type = "gem";
     };
-    version = "7.0.0";
+    version = "7.0.1";
   };
   concurrent-ruby = {
     groups = ["default"];
@@ -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/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
index 6bf41b11ec92..43ef518a9cec 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
+++ b/nixpkgs/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 = "dbbb8740287e44b5e9f0d8c968e3d237154e1f3c";
-    sha256 = "sha256-o4yZaXiQpt7Bb29kVKJOiIdNgcSEOnSiFAIhZtiX6ys=";
+    rev = "8762b8d0fe28ffcacc427e7a683b971bf125a881";
+    sha256 = "sha256-ZAm/A45vAofiOiqXS/STt4XO3FJ6XUFyVydsFaI40+k=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-canned-replies";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
index 18f1b313048b..63797d3b89cc 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
+++ b/nixpkgs/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 = "46b2c05cbd00dbc49bff87d78f8e1ec4fdd43735";
-    sha256 = "sha256-G17obAc03FR3Qzn/IR++Y5Z1TkpP6lY5UDJsm4Lmj0M=";
+    rev = "ddee0c44179c547b2581474c3c4d0da7d8d23fe8";
+    sha256 = "sha256-8AUzIu+HRHrcAqpyI/eVrgZLTKXTLgDjXFTGQbMRzxs=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-chat-integration";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
index f8247e84a7ee..9c61b4bcf67c 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-checklist";
-    rev = "b4e14bdac40131bd70a698015b35a111a18c9f88";
-    sha256 = "sha256-okxcLu6gXvEY37ylnhit5B+LwCdV5gMKBpC/m/PaGtc=";
+    rev = "c2bb6b0156e411ef3c1de52aa36b38abeba801cd";
+    sha256 = "sha256-p0nOdh0zg891Pe8wYhMzcbunGYJY41iVET4fFRDJt+k=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-checklist";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
index 0933a347b620..38336973f32a 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
+++ b/nixpkgs/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 = "f77f5999069dbe98c49302566c82e5f77bb72db2";
-    sha256 = "sha256-N9LmFnza1pA3JRBE9bT9b/NhdYMKoF5GOUpq9XYdokY=";
+    rev = "2a17f49f66feb7a3068cf6f1e4ad08550f875057";
+    sha256 = "sha256-LOcJle0S7Z8oGz1XgTEHiz1JNKufxege+joeinwX7xU=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-data-explorer";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
index 9c25200cc425..3b7d5e96f077 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-docs";
-    rev = "e56816eb502b5ea37606f65a8df188e233f77240";
-    sha256 = "sha256-qvuoFsVXKa2IZgjVeqCca7X9jfohEBaoieZRsSFJCto=";
+    rev = "05678c451caf2ceb192501da91cf0d24ea44c8e8";
+    sha256 = "sha256-C+3jaJ09P1PteeHFVfbAXxDgAa6d0RZwLdlp+NKuZJU=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
index 3404b8a22a1e..837fd40ee081 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
@@ -3,25 +3,29 @@ GEM
   specs:
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
-    faraday (1.8.0)
+    faraday (1.9.3)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
-      faraday-httpclient (~> 1.0.1)
+      faraday-httpclient (~> 1.0)
+      faraday-multipart (~> 1.0)
       faraday-net_http (~> 1.0)
-      faraday-net_http_persistent (~> 1.1)
+      faraday-net_http_persistent (~> 1.0)
       faraday-patron (~> 1.0)
       faraday-rack (~> 1.0)
-      multipart-post (>= 1.2, < 3)
+      faraday-retry (~> 1.0)
       ruby2_keywords (>= 0.0.4)
     faraday-em_http (1.0.0)
     faraday-em_synchrony (1.0.0)
     faraday-excon (1.1.0)
     faraday-httpclient (1.0.1)
+    faraday-multipart (1.0.3)
+      multipart-post (>= 1.2, < 3)
     faraday-net_http (1.0.1)
     faraday-net_http_persistent (1.2.0)
     faraday-patron (1.0.0)
     faraday-rack (1.0.0)
+    faraday-retry (1.0.3)
     multipart-post (2.1.1)
     octokit (4.21.0)
       faraday (>= 0.9)
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
index 06c4ec85fb0d..9421267d1522 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-github";
-    rev = "9fae5e365c1330bc25265e3bb2a06d29adb38266";
-    sha256 = "sha256-0HUrhO78XbTr6ygNFT+Uh70n2z9dFpimawh4u8fpNjg=";
+    rev = "031dc6b512ada263eb3634eae5adfe4cdb008b4b";
+    sha256 = "sha256-v69RYgA5k6A3bus+Joc/NFp2DU4bwiaoCSe2xua3DgY=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-github";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
index 5b9b4e09853a..29a1e080e83f 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
@@ -11,15 +11,15 @@
     version = "2.8.0";
   };
   faraday = {
-    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi";
+      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.3";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -61,6 +61,17 @@
     };
     version = "1.0.1";
   };
+  faraday-multipart = {
+    dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
@@ -101,6 +112,16 @@
     };
     version = "1.0.0";
   };
+  faraday-retry = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   multipart-post = {
     groups = ["default"];
     platforms = [];
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix
index ea71c69a07d2..9010ee21a897 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "jonmbake";
     repo = "discourse-ldap-auth";
-    rev = "1c10221836393c3cfac470a7b08de6f31150c802";
-    sha256 = "sha256-IiAl3OTADXSUnL+OKKHJY9Xqd4zCNJ2wOrgTN3nm5Yw=";
+    rev = "fe014176bd635e7df24ee2978d356e1f87d8daed";
+    sha256 = "sha256-1Cx+65rJx292sTfPUfbzSfJAU71V1pKWvWdLNCq8M8A=";
   };
   meta = with lib; {
     homepage = "https://github.com/jonmbake/discourse-ldap-auth";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
index d93422755615..e3e52ccfea78 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-math";
-    rev = "3de98fc75b7d06d06651edc48449b1bb71d2171b";
-    sha256 = "sha256-HDhy6uvfmBxJq9UobLhAUdFcYULFvPZbb5vT1Sg7ung=";
+    rev = "2deef48ab16bc0a15ab5f1fef98e15261251bf32";
+    sha256 = "sha256-Crt7ozasZ1DCwAzaH/Y6BQEXwpX6t9qsIrGYMlECylk=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-math";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
index 6f1044939a70..c5405367ff3b 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
+++ b/nixpkgs/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 = "aa6a628687edc041bd6f46eb2a38e9a71644bdda";
-    sha256 = "sha256-VdaeueESr7X4gB1pW9e//nDLz62GTaZEPyFIvvCfg18=";
+    rev = "ab26c4eaa858bf35cb6fa6314597a50fff57baf9";
+    sha256 = "sha256-Yxw1C0vNcVr+sYvmLvBWFV/XOr7yDBTW17Ohxfkv6W0=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-openid-connect";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
index 1300292132fd..4c23355b301d 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
@@ -6,8 +6,8 @@
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-prometheus";
-    rev = "aaaf3eda30e5fc03c880c056c1f2388739569fb0";
-    sha256 = "sha256-8bfjPCcwDjEC7Tu0Jr9VZRpaDlP2nlIOWBH8pUQakxo=";
+    rev = "1c3e2d75c33a0ed8563977d7c4919e3d06788dcd";
+    sha256 = "sha256-tj/IYUjuUs6foV4goIm+HACccmHjAiI1/EAOKibwUMs=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
index c9e0b8a35422..5ba948cf1d13 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
+++ b/nixpkgs/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 = "0c14b9080306c2e35abf32f8211076286fdfbd2f";
-    sha256 = "sha256-ahNw2WL5J4qAyUBgpYWTiS4G+QmQa+gloG2Vu67qXR8=";
+    rev = "baf1ab94317129d2ff2eb4e5e6d84fa76c40797c";
+    sha256 = "sha256-6NP9TK5Wx0LPX0ZFIiaEEYJv3d9WIQ26nvODk0dU2I0=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-saved-searches";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
index 9ec64d2fde4b..8d0c1b07d960 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-solved";
-    rev = "6f50e2633545e160c01188bdfa9e57adf1d18adc";
-    sha256 = "sha256-+L4GzJrt15vYY29iYxVpPZFYhLygZJK4I5fqvhdI/HI=";
+    rev = "922ca15fc92bfab496088b5ee240982bd8404f28";
+    sha256 = "sha256-s7XNRLDXnrsoB7FUgGaYIVfd7iO3ittIBoqSo2UaUTY=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-solved";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
index 13ea320f743d..e97f1bfd06c1 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
+++ b/nixpkgs/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 = "f9545afaa557829f8f0c17a856e028a5be7407cf";
-    sha256 = "sha256-VhA7tK+uE2r6E66yn5FbT+Mdp9Ckj92xCF3Q9Wp60T8=";
+    rev = "5afbcb905fa2c8cb8b7156ab5df3af27d6e6b477";
+    sha256 = "sha256-/Y5ATVSnJ3hMNiiqqYJzitgkQ/2zbWLaPdII9agTa10=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-spoiler-alert";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
index 708e0b116917..4efe8aabcdcd 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-voting";
-    rev = "c2d8b9456834796e90f2e13e7d11a08f389531e1";
-    sha256 = "sha256-z6JBsuq4nj1eqfU/xoU4xWcVNphuyr3C3iKO0chcSz4=";
+    rev = "6a4b2a306928191c9ef9f3efdafeb9b4df496bcb";
+    sha256 = "sha256-OAn+NS64BcOlhmFYXV0Bq+O1B4a9FKHyN44vbHSax3Y=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-voting";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
index 95a65f49fb33..a03bf7b8cdd9 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
+++ b/nixpkgs/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 = "e42f48a576b753cb1e042e9693af35214333bb0f";
-    sha256 = "sha256-8+pwiQE0Ytva0t80bRDs+7mTZ82fPpmwb7Nk9boPFt8=";
+    rev = "5e3674201a32bf9e6c22417395bc2e052d9f217d";
+    sha256 = "sha256-gkQGLJegWTSwzpjrHPYK5/Uz4QjLUCLd6OuEIRYeP/I=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-yearly-review";
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
index aec33b300ef3..e9964e0340c4 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
@@ -80,10 +80,10 @@ GEM
       rack (>= 0.9.0)
     binding_of_caller (1.0.0)
       debug_inspector (>= 0.0.1)
-    bootsnap (1.9.3)
+    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)
@@ -104,7 +104,7 @@ GEM
     css_parser (1.11.0)
       addressable
     debug_inspector (1.1.0)
-    diff-lcs (1.4.4)
+    diff-lcs (1.5.0)
     diffy (3.4.0)
     discourse-ember-rails (0.18.6)
       active_model_serializers
@@ -119,8 +119,8 @@ GEM
       faker (~> 2.16)
       literate_randomizer
     docile (1.4.0)
-    ecma-re-validator (0.3.0)
-      regexp_parser (~> 2.0)
+    ecma-re-validator (0.4.0)
+      regexp_parser (~> 2.2)
     email_reply_trimmer (0.1.13)
     ember-data-source (3.0.2)
       ember-source (>= 2, < 3.0)
@@ -132,33 +132,37 @@ 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)
-    faraday (1.8.0)
+    faraday (1.9.3)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
-      faraday-httpclient (~> 1.0.1)
+      faraday-httpclient (~> 1.0)
+      faraday-multipart (~> 1.0)
       faraday-net_http (~> 1.0)
-      faraday-net_http_persistent (~> 1.1)
+      faraday-net_http_persistent (~> 1.0)
       faraday-patron (~> 1.0)
       faraday-rack (~> 1.0)
-      multipart-post (>= 1.2, < 3)
+      faraday-retry (~> 1.0)
       ruby2_keywords (>= 0.0.4)
     faraday-em_http (1.0.0)
     faraday-em_synchrony (1.0.0)
     faraday-excon (1.1.0)
     faraday-httpclient (1.0.1)
+    faraday-multipart (1.0.3)
+      multipart-post (>= 1.2, < 3)
     faraday-net_http (1.0.1)
     faraday-net_http_persistent (1.2.0)
     faraday-patron (1.0.0)
     faraday-rack (1.0.0)
+    faraday-retry (1.0.3)
     fast_blank (1.0.1)
     fast_xs (0.8.0)
     fastimage (2.2.6)
-    ffi (1.15.4)
+    ffi (1.15.5)
     fspath (3.1.2)
     gc_tracer (1.5.1)
     globalid (1.0.0)
@@ -166,7 +170,7 @@ GEM
     guess_html_encoding (0.0.11)
     hana (1.3.7)
     hashdiff (1.0.1)
-    hashie (4.1.0)
+    hashie (5.0.0)
     highline (2.0.3)
     hkdf (0.3.0)
     htmlentities (4.3.4)
@@ -182,7 +186,7 @@ GEM
     image_size (3.0.1)
     in_threads (1.5.4)
     ipaddr (1.2.3)
-    jmespath (1.4.0)
+    jmespath (1.5.0)
     jquery-rails (4.4.0)
       rails-dom-testing (>= 1, < 3)
       railties (>= 4.2.0)
@@ -198,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)
@@ -218,12 +222,12 @@ GEM
     lz4-ruby (0.3.3)
     maxminddb (0.1.22)
     memory_profiler (1.0.0)
-    message_bus (3.3.8)
+    message_bus (4.0.0)
       rack (>= 1.1.3)
     method_source (1.0.0)
     mini_mime (1.1.2)
     mini_portile2 (2.6.1)
-    mini_racer (0.5.0)
+    mini_racer (0.6.1)
       libv8-node (~> 16.10.0.0)
     mini_scheduler (0.13.0)
       sidekiq (>= 4.2.3)
@@ -281,7 +285,7 @@ GEM
     parallel (1.21.0)
     parallel_tests (3.7.3)
       parallel
-    parser (3.0.3.2)
+    parser (3.1.0.0)
       ast (~> 2.4.1)
     pg (1.2.3)
     progress (3.6.0)
@@ -323,7 +327,7 @@ GEM
       method_source
       rake (>= 0.13)
       thor (~> 1.0)
-    rainbow (3.0.0)
+    rainbow (3.1.1)
     raindrops (0.20.0)
     rake (13.0.6)
     rb-fsevent (0.11.0)
@@ -353,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)
@@ -378,21 +382,21 @@ GEM
       json-schema (~> 2.2)
       railties (>= 3.1, < 7.0)
     rtlit (0.0.5)
-    rubocop (1.23.0)
+    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
-      rubocop-ast (>= 1.12.0, < 2.0)
+      rubocop-ast (>= 1.15.1, < 2.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 3.0)
-    rubocop-ast (1.15.0)
+    rubocop-ast (1.15.1)
       parser (>= 3.0.1.1)
     rubocop-discourse (2.5.0)
       rubocop (>= 1.1.0)
       rubocop-rspec (>= 2.0.0)
-    rubocop-rspec (2.6.0)
+    rubocop-rspec (2.7.0)
       rubocop (~> 1.19)
     ruby-prof (1.4.3)
     ruby-progressbar (1.11.0)
@@ -416,7 +420,7 @@ GEM
     seed-fu (2.3.9)
       activerecord (>= 3.1)
       activesupport (>= 3.1)
-    shoulda-matchers (5.0.0)
+    shoulda-matchers (5.1.0)
       activesupport (>= 5.2.0)
     sidekiq (6.3.1)
       connection_pool (>= 2.2.2)
@@ -438,7 +442,7 @@ GEM
     sshkey (2.0.0)
     stackprof (0.2.17)
     test-prof (1.0.7)
-    thor (1.1.0)
+    thor (1.2.1)
     tilt (2.0.10)
     tzinfo (2.0.4)
       concurrent-ruby (~> 1.0)
@@ -448,7 +452,7 @@ GEM
       unf_ext
     unf_ext (0.0.8)
     unicode-display_width (2.1.0)
-    unicorn (6.0.0)
+    unicorn (6.1.0)
       kgio (~> 2.6)
       raindrops (~> 0.7)
     uniform_notifier (1.14.2)
@@ -462,7 +466,7 @@ GEM
       jwt (~> 2.0)
     xorcist (1.1.2)
     yaml-lint (0.0.10)
-    zeitwerk (2.5.1)
+    zeitwerk (2.5.3)
 
 PLATFORMS
   ruby
@@ -597,4 +601,4 @@ DEPENDENCIES
   yaml-lint
 
 BUNDLED WITH
-   2.2.26
+   2.3.4
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
index 36b50339e037..9b5fbfca4a85 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
@@ -252,10 +252,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18prmylz53gsw651f0sibb2mvdxgd2zzdzh6a9a1idpqhyxcnbg7";
+      sha256 = "19i4x2nascd74ahcvmrsnf03cygh1y4c9yf8rcv91fv0mcxpvb9n";
       type = "gem";
     };
-    version = "1.9.3";
+    version = "1.9.4";
   };
   builder = {
     groups = ["default" "development" "test"];
@@ -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"];
@@ -434,10 +434,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz";
+      sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.5.0";
   };
   diffy = {
     groups = ["default"];
@@ -507,10 +507,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mz0nsl2093jd94nygw8qs13rwfwl1ax76xz3ypinr5hqbc5pab6";
+      sha256 = "1kqci9ixr1jfp2aaq5lsyz5lkn37z2k94ww9d2hyrd8ncrhrhx8f";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "0.4.0";
   };
   email_reply_trimmer = {
     groups = ["default"];
@@ -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"];
@@ -630,15 +630,15 @@
     version = "1.3.0";
   };
   faraday = {
-    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi";
+      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.3";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -680,6 +680,17 @@
     };
     version = "1.0.1";
   };
+  faraday-multipart = {
+    dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
@@ -720,6 +731,16 @@
     };
     version = "1.0.0";
   };
+  faraday-retry = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   fast_blank = {
     groups = ["default"];
     platforms = [{
@@ -771,10 +792,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   fspath = {
     groups = ["default"];
@@ -846,10 +867,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q";
+      sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "5.0.0";
   };
   highline = {
     groups = ["default"];
@@ -948,10 +969,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      sha256 = "1ylph158dc3ql6cvkik00ab6gf2k1rv2dii63m196xclhkzwfyan";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   jquery-rails = {
     dependencies = ["rails-dom-testing" "railties" "thor"];
@@ -1038,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"];
@@ -1175,10 +1196,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xf3r47qpigg661krwa8z7k4f0z0rx9r5g2mgahrrwgjn67d332l";
+      sha256 = "0589k3ggj6s970mr2jaz8zfcnl5b926birwi6s3b6j3ijf2nh3s3";
       type = "gem";
     };
-    version = "3.3.8";
+    version = "4.0.0";
   };
   method_source = {
     groups = ["default" "development" "test"];
@@ -1216,10 +1237,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b6lahs31m3ky4maq8s83w35lkariq0g1f6bjhnaxvwzjhhar5cf";
+      sha256 = "1j45mg8fs7i0g6ndbzd9qqs3fhq6wpvlp5s95k6mjn1as71l5l55";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.6.1";
   };
   mini_scheduler = {
     dependencies = ["sidekiq"];
@@ -1530,10 +1551,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sszdl9mpzqzn9kxrp28sqmg47mjxcwypr4d60vbajqba4v885di";
+      sha256 = "08q20ckhn58m49lccf93p0yv7pkc7hymmcz3di762kb658d5fd38";
       type = "gem";
     };
-    version = "3.0.3.2";
+    version = "3.1.0.0";
   };
   pg = {
     groups = ["default"];
@@ -1736,10 +1757,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+      sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.1.1";
   };
   raindrops = {
     groups = ["default"];
@@ -1934,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"];
@@ -2020,10 +2041,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03ivbqd5blsb7v5mhrzxvn23779rqpyrsm7l086pb6ihp47122qb";
+      sha256 = "141ff5mdqi8an8q00qw8kchzil7ck2dzalkk3vk176l0s6hljcbj";
       type = "gem";
     };
-    version = "1.23.0";
+    version = "1.25.0";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2031,10 +2052,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bj8ppl4143f7pkcwm4l5wcahid6yzracdlzh1w2fpss89pic2rf";
+      sha256 = "1xrij42166a71ixfpfr1pildqdrcmc0cb4906h2s8sk4kqdyngih";
       type = "gem";
     };
-    version = "1.15.0";
+    version = "1.15.1";
   };
   rubocop-discourse = {
     dependencies = ["rubocop" "rubocop-rspec"];
@@ -2053,10 +2074,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g7kwmb1ilmc8pfyvfh87yjp26qzij2ib7h3lqcl42cp33cg2zzk";
+      sha256 = "1d76haw5gjpxlfanfzicn7sb5gziyizaksm7i999p7p5dmy5vf9q";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   ruby-prof = {
     groups = ["development"];
@@ -2163,10 +2184,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z6v2acldnvqrnvfk70f9xq39ppw5j03kbz2hpz7s17lgnn21vx8";
+      sha256 = "01svmyma958sbqfz0v29lbqbr0ibvgcng352nhx6bsc9k5c207d0";
       type = "gem";
     };
-    version = "5.0.0";
+    version = "5.1.0";
   };
   sidekiq = {
     dependencies = ["connection_pool" "rack" "redis"];
@@ -2271,10 +2292,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
   tilt = {
     groups = ["default"];
@@ -2351,10 +2372,10 @@
     }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jcm85d7j7njfgims712svlgml32zjim6qwabm99645aj5laayln";
+      sha256 = "1h0gma14jjxiz6piyi6p99q7lya2mxrq79l03160hascvmx9ipa5";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.1.0";
   };
   uniform_notifier = {
     groups = ["default" "development"];
@@ -2423,9 +2444,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj";
+      sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.3";
   };
 }
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch b/nixpkgs/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch
index d78b511f6ad9..2541e7311b0b 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch
@@ -1,11 +1,11 @@
 diff --git a/config/unicorn.conf.rb b/config/unicorn.conf.rb
-index ffcafcb618..31ba691983 100644
+index e69979adfe..68cb04a036 100644
 --- a/config/unicorn.conf.rb
 +++ b/config/unicorn.conf.rb
-@@ -27,18 +27,10 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid")
+@@ -27,17 +27,9 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid")
  
  if ENV["RAILS_ENV"] != "production"
-   logger Logger.new($stdout)
+   logger Logger.new(STDOUT)
 -  # we want a longer timeout in dev cause first request can be really slow
 -  timeout (ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60)
 -else
diff --git a/nixpkgs/pkgs/servers/web-apps/ethercalc/default.nix b/nixpkgs/pkgs/servers/web-apps/ethercalc/default.nix
new file mode 100644
index 000000000000..270b2e4cff7b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/ethercalc/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, pkgs
+, lib
+, nodejs-14_x
+}:
+
+let
+  nodejs = nodejs-14_x;
+
+  nodePackages = import ./node-packages.nix {
+    inherit pkgs nodejs;
+    inherit (stdenv.hostPlatform) system;
+  };
+
+  ethercalc = lib.head (lib.attrValues nodePackages);
+
+  combined = ethercalc.override {
+    meta = with lib; {
+      description = "Online collaborative spreadsheet";
+      license = with licenses; [ cpal10 artistic2 mit asl20 cc0 mpl20 ];
+      homepage = "https://github.com/audreyt/ethercalc";
+      maintainers = with maintainers; [ iblech ];
+      platforms = platforms.unix;
+    };
+  };
+in
+  combined
diff --git a/nixpkgs/pkgs/servers/web-apps/ethercalc/generate.sh b/nixpkgs/pkgs/servers/web-apps/ethercalc/generate.sh
new file mode 100755
index 000000000000..814a83a033d0
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/ethercalc/generate.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+# Run this script not via `./generate.sh`, but via `$PWD/generate.sh`.
+# Else `nix-shell` will not find this script.
+
+set -euo pipefail
+
+cd -- "$(dirname -- "$BASH_SOURCE[0]")"
+
+node2nix \
+     --input node-packages.json \
+     --output node-packages-generated.nix \
+     --composition node-packages.nix \
+     --node-env ../../../development/node-packages/node-env.nix
diff --git a/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix b/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix
new file mode 100644
index 000000000000..97435a5225f8
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix
@@ -0,0 +1,2086 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "accepts-1.0.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
+        sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
+      };
+    };
+    "adler-32-1.0.0" = {
+      name = "adler-32";
+      packageName = "adler-32";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/adler-32/-/adler-32-1.0.0.tgz";
+        sha1 = "28728a71756f629666dd1653cd80793a9df18651";
+      };
+    };
+    "adler-32-1.2.0" = {
+      name = "adler-32";
+      packageName = "adler-32";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz";
+        sha1 = "6a3e6bf0a63900ba15652808cb15c6813d1a5f25";
+      };
+    };
+    "adler-32-1.3.0" = {
+      name = "adler-32";
+      packageName = "adler-32";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/adler-32/-/adler-32-1.3.0.tgz";
+        sha512 = "f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g==";
+      };
+    };
+    "after-0.8.1" = {
+      name = "after";
+      packageName = "after";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/after/-/after-0.8.1.tgz";
+        sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627";
+      };
+    };
+    "amdefine-1.0.1" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    };
+    "any-promise-1.3.0" = {
+      name = "any-promise";
+      packageName = "any-promise";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz";
+        sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
+      };
+    };
+    "arraybuffer.slice-0.0.6" = {
+      name = "arraybuffer.slice";
+      packageName = "arraybuffer.slice";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz";
+        sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca";
+      };
+    };
+    "async-0.2.10" = {
+      name = "async";
+      packageName = "async";
+      version = "0.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      };
+    };
+    "babyparse-0.2.1" = {
+      name = "babyparse";
+      packageName = "babyparse";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babyparse/-/babyparse-0.2.1.tgz";
+        sha1 = "069f035df3fdce6f3a455dd5dafc75178dcf3760";
+      };
+    };
+    "balanced-match-1.0.2" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
+        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
+      };
+    };
+    "base64-arraybuffer-0.1.2" = {
+      name = "base64-arraybuffer";
+      packageName = "base64-arraybuffer";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz";
+        sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154";
+      };
+    };
+    "base64-url-1.2.1" = {
+      name = "base64-url";
+      packageName = "base64-url";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz";
+        sha1 = "199fd661702a0e7b7dcae6e0698bb089c52f6d78";
+      };
+    };
+    "base64id-0.1.0" = {
+      name = "base64id";
+      packageName = "base64id";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
+        sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
+      };
+    };
+    "basic-auth-1.0.0" = {
+      name = "basic-auth";
+      packageName = "basic-auth";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
+        sha1 = "111b2d9ff8e4e6d136b8c84ea5e096cb87351637";
+      };
+    };
+    "basic-auth-connect-1.0.0" = {
+      name = "basic-auth-connect";
+      packageName = "basic-auth-connect";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
+        sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
+      };
+    };
+    "batch-0.5.1" = {
+      name = "batch";
+      packageName = "batch";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/batch/-/batch-0.5.1.tgz";
+        sha1 = "36a4bab594c050fd7b507bca0db30c2d92af4ff2";
+      };
+    };
+    "better-assert-1.0.2" = {
+      name = "better-assert";
+      packageName = "better-assert";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz";
+        sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
+      };
+    };
+    "blob-0.0.2" = {
+      name = "blob";
+      packageName = "blob";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/blob/-/blob-0.0.2.tgz";
+        sha1 = "b89562bd6994af95ba1e812155536333aa23cf24";
+      };
+    };
+    "body-parser-1.6.7" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.6.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.6.7.tgz";
+        sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
+      };
+    };
+    "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==";
+      };
+    };
+    "buffer-crc32-0.2.3" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
+        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
+      };
+    };
+    "buffer-from-1.1.2" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz";
+        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
+      };
+    };
+    "bytes-1.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      };
+    };
+    "callsite-1.0.0" = {
+      name = "callsite";
+      packageName = "callsite";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
+        sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
+      };
+    };
+    "cfb-0.11.1" = {
+      name = "cfb";
+      packageName = "cfb";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cfb/-/cfb-0.11.1.tgz";
+        sha1 = "a96db8f272a6c3fb99dbbb23ef41223f48be1ea7";
+      };
+    };
+    "cfb-1.2.1" = {
+      name = "cfb";
+      packageName = "cfb";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cfb/-/cfb-1.2.1.tgz";
+        sha512 = "wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ==";
+      };
+    };
+    "codepage-1.14.0" = {
+      name = "codepage";
+      packageName = "codepage";
+      version = "1.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz";
+        sha1 = "8cbe25481323559d7d307571b0fff91e7a1d2f99";
+      };
+    };
+    "codepage-1.8.1" = {
+      name = "codepage";
+      packageName = "codepage";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/codepage/-/codepage-1.8.1.tgz";
+        sha1 = "f1a009d5261dc2754628bacb6fbbf0e6e2abffaa";
+      };
+    };
+    "coffee-css-0.0.5" = {
+      name = "coffee-css";
+      packageName = "coffee-css";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/coffee-css/-/coffee-css-0.0.5.tgz";
+        sha1 = "589a822fba5ae0d4f1a0424b22ba7501683275a4";
+      };
+    };
+    "coffee-script-1.12.7" = {
+      name = "coffee-script";
+      packageName = "coffee-script";
+      version = "1.12.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz";
+        sha512 = "fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==";
+      };
+    };
+    "coffeecup-0.3.21" = {
+      name = "coffeecup";
+      packageName = "coffeecup";
+      version = "0.3.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/coffeecup/-/coffeecup-0.3.21.tgz";
+        sha1 = "54e714175cb223ddd10568517196e0cd566d198a";
+      };
+    };
+    "colors-0.6.2" = {
+      name = "colors";
+      packageName = "colors";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+      };
+    };
+    "commander-0.6.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+      };
+    };
+    "commander-1.3.2" = {
+      name = "commander";
+      packageName = "commander";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
+      };
+    };
+    "commander-2.14.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz";
+        sha512 = "+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==";
+      };
+    };
+    "commander-2.17.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz";
+        sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
+      };
+    };
+    "commander-2.9.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    };
+    "component-bind-1.0.0" = {
+      name = "component-bind";
+      packageName = "component-bind";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz";
+        sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
+      };
+    };
+    "component-emitter-1.1.2" = {
+      name = "component-emitter";
+      packageName = "component-emitter";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
+        sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
+      };
+    };
+    "component-inherit-0.0.3" = {
+      name = "component-inherit";
+      packageName = "component-inherit";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz";
+        sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
+      };
+    };
+    "compressible-1.1.1" = {
+      name = "compressible";
+      packageName = "compressible";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compressible/-/compressible-1.1.1.tgz";
+        sha1 = "23b71ea90ea6c6a66289701a918182c24d0729ef";
+      };
+    };
+    "compression-1.0.11" = {
+      name = "compression";
+      packageName = "compression";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compression/-/compression-1.0.11.tgz";
+        sha1 = "69700cf1ee8963454356ac192a6e5e91e232bffb";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "concat-stream-2.0.0" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz";
+        sha512 = "MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==";
+      };
+    };
+    "connect-2.25.9" = {
+      name = "connect";
+      packageName = "connect";
+      version = "2.25.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect/-/connect-2.25.9.tgz";
+        sha1 = "9680d6f2fb200eadab3d272e419e78e5d87cf31f";
+      };
+    };
+    "connect-timeout-1.2.2" = {
+      name = "connect-timeout";
+      packageName = "connect-timeout";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.2.2.tgz";
+        sha1 = "5953602bb66abfd5fa21ae911a7221c5e825a1c0";
+      };
+    };
+    "cookie-0.1.2" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      };
+    };
+    "cookie-parser-1.3.2" = {
+      name = "cookie-parser";
+      packageName = "cookie-parser";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.2.tgz";
+        sha1 = "52211cc82c955d79ff0c088954407724e19cf562";
+      };
+    };
+    "cookie-signature-1.0.4" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
+        sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
+      };
+    };
+    "core-util-is-1.0.3" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz";
+        sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==";
+      };
+    };
+    "cors-2.8.5" = {
+      name = "cors";
+      packageName = "cors";
+      version = "2.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz";
+        sha512 = "KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==";
+      };
+    };
+    "crc-32-1.0.2" = {
+      name = "crc-32";
+      packageName = "crc-32";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.0.2.tgz";
+        sha1 = "09507984ee9bcce3bd1b8861f0de8ab10ae8187d";
+      };
+    };
+    "crc-32-1.2.0" = {
+      name = "crc-32";
+      packageName = "crc-32";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz";
+        sha512 = "1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==";
+      };
+    };
+    "csrf-2.0.7" = {
+      name = "csrf";
+      packageName = "csrf";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csrf/-/csrf-2.0.7.tgz";
+        sha1 = "d04f52e0f6a28a7e2cfe1e01dd5ebc251b3d4201";
+      };
+    };
+    "cssom-0.2.5" = {
+      name = "cssom";
+      packageName = "cssom";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz";
+        sha1 = "2682709b5902e7212df529116ff788cd5b254894";
+      };
+    };
+    "csurf-1.4.1" = {
+      name = "csurf";
+      packageName = "csurf";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csurf/-/csurf-1.4.1.tgz";
+        sha1 = "0ccaf026992b2d218771d6174f5c6c402a6289fd";
+      };
+    };
+    "csv-parse-0.0.6" = {
+      name = "csv-parse";
+      packageName = "csv-parse";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-0.0.6.tgz";
+        sha1 = "94610722650feac81cf549c2c9298632d2b6037c";
+      };
+    };
+    "debug-0.6.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-0.6.0.tgz";
+        sha1 = "ce9d5d025d5294b3f0748a494bebaf3c9fd8734f";
+      };
+    };
+    "debug-0.7.4" = {
+      name = "debug";
+      packageName = "debug";
+      version = "0.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+        sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
+      };
+    };
+    "debug-1.0.4" = {
+      name = "debug";
+      packageName = "debug";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+      };
+    };
+    "deep-is-0.1.4" = {
+      name = "deep-is";
+      packageName = "deep-is";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz";
+        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
+      };
+    };
+    "depd-0.4.4" = {
+      name = "depd";
+      packageName = "depd";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+      };
+    };
+    "destroy-1.0.3" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+      };
+    };
+    "ee-first-1.0.5" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+      };
+    };
+    "emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" = {
+      name = "emitter";
+      packageName = "emitter";
+      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";
+        sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
+      };
+    };
+    "engine.io-1.3.1" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-1.3.1.tgz";
+        sha1 = "2d968308fffae5d17f5209b6775246e90d8a705e";
+      };
+    };
+    "engine.io-client-1.3.1" = {
+      name = "engine.io-client";
+      packageName = "engine.io-client";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.3.1.tgz";
+        sha1 = "1c5a65d5c5af6d04b44c22c3dbcd95c39ed1c989";
+      };
+    };
+    "engine.io-parser-1.0.6" = {
+      name = "engine.io-parser";
+      packageName = "engine.io-parser";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.0.6.tgz";
+        sha1 = "d38813143a411cb3b914132ab05bf99e6f7a248e";
+      };
+    };
+    "errorhandler-1.1.1" = {
+      name = "errorhandler";
+      packageName = "errorhandler";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.1.1.tgz";
+        sha1 = "18defd436d8ca2efe0a2d886c5c4d6ee6d76d691";
+      };
+    };
+    "escape-html-1.0.1" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+      };
+    };
+    "exit-on-epipe-1.0.1" = {
+      name = "exit-on-epipe";
+      packageName = "exit-on-epipe";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz";
+        sha512 = "h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==";
+      };
+    };
+    "express-3.16.9" = {
+      name = "express";
+      packageName = "express";
+      version = "3.16.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-3.16.9.tgz";
+        sha1 = "993747be5669700280d9682cb61ad138939847fc";
+      };
+    };
+    "express-session-1.7.6" = {
+      name = "express-session";
+      packageName = "express-session";
+      version = "1.7.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.7.6.tgz";
+        sha1 = "e1c369ba2176f7afdb79e77d65dcd8c7c46e48a5";
+      };
+    };
+    "fast-levenshtein-2.0.6" = {
+      name = "fast-levenshtein";
+      packageName = "fast-levenshtein";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    };
+    "finalhandler-0.1.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
+        sha1 = "da05bbc4f5f4a30c84ce1d91f3c154007c4e9daa";
+      };
+    };
+    "frac-0.3.1" = {
+      name = "frac";
+      packageName = "frac";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/frac/-/frac-0.3.1.tgz";
+        sha1 = "577677b7fdcbe6faf7c461f1801d34137cda4354";
+      };
+    };
+    "frac-1.0.6" = {
+      name = "frac";
+      packageName = "frac";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/frac/-/frac-1.0.6.tgz";
+        sha1 = "9a0dfc23956852a8b320623bebcf1be9ea048229";
+      };
+    };
+    "frac-1.1.2" = {
+      name = "frac";
+      packageName = "frac";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz";
+        sha512 = "w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==";
+      };
+    };
+    "fresh-0.2.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
+        sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
+      };
+    };
+    "global-https://github.com/component/global/archive/v2.0.1.tar.gz" = {
+      name = "global";
+      packageName = "global";
+      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";
+        sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
+      };
+    };
+    "graceful-readlink-1.0.1" = {
+      name = "graceful-readlink";
+      packageName = "graceful-readlink";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    };
+    "harb-0.1.1" = {
+      name = "harb";
+      packageName = "harb";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/harb/-/harb-0.1.1.tgz";
+        sha1 = "b8239bae2f0724b65aaaf2e74e9eb15a04db50eb";
+      };
+    };
+    "has-binary-data-0.1.1" = {
+      name = "has-binary-data";
+      packageName = "has-binary-data";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.1.tgz";
+        sha1 = "e10749fb87828a52df96f4086587eb4a03966439";
+      };
+    };
+    "has-cors-1.0.3" = {
+      name = "has-cors";
+      packageName = "has-cors";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-cors/-/has-cors-1.0.3.tgz";
+        sha1 = "502acb9b3104dac33dd2630eaf2f888b0baf4cb3";
+      };
+    };
+    "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==";
+      };
+    };
+    "iconv-lite-0.4.4" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+      };
+    };
+    "indexof-0.0.1" = {
+      name = "indexof";
+      packageName = "indexof";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
+        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+      };
+    };
+    "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==";
+      };
+    };
+    "ipaddr.js-0.1.2" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
+        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
+      };
+    };
+    "isarray-0.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    };
+    "j-0.4.5" = {
+      name = "j";
+      packageName = "j";
+      version = "0.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/j/-/j-0.4.5.tgz";
+        sha1 = "02cf29f1ddbe54e527263d0754d6e8d217a6064e";
+      };
+    };
+    "json3-3.2.6" = {
+      name = "json3";
+      packageName = "json3";
+      version = "3.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json3/-/json3-3.2.6.tgz";
+        sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b";
+      };
+    };
+    "keypress-0.1.0" = {
+      name = "keypress";
+      packageName = "keypress";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
+        sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
+      };
+    };
+    "levn-0.3.0" = {
+      name = "levn";
+      packageName = "levn";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    };
+    "livescript-1.5.0" = {
+      name = "livescript";
+      packageName = "livescript";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/livescript/-/livescript-1.5.0.tgz";
+        sha1 = "4fe7121c41217e4608e334eb9cbe1762e63e5566";
+      };
+    };
+    "media-typer-0.2.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
+        sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
+      };
+    };
+    "merge-descriptors-0.0.2" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+      };
+    };
+    "method-override-2.1.3" = {
+      name = "method-override";
+      packageName = "method-override";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/method-override/-/method-override-2.1.3.tgz";
+        sha1 = "511f41c4fb1dccdb6ab1844da5dc6ea81b7c1135";
+      };
+    };
+    "methods-1.1.0" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+      };
+    };
+    "mime-1.2.11" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      };
+    };
+    "mime-types-1.0.2" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    };
+    "minimist-0.0.10" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "mkdirp-0.3.5" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+      };
+    };
+    "mkdirp-0.5.0" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+        sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+      };
+    };
+    "morgan-1.2.3" = {
+      name = "morgan";
+      packageName = "morgan";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/morgan/-/morgan-1.2.3.tgz";
+        sha1 = "3b0f1704df90255a542591abacd797891a8c40a1";
+      };
+    };
+    "ms-0.6.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      };
+    };
+    "multiparty-3.3.2" = {
+      name = "multiparty";
+      packageName = "multiparty";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
+        sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f";
+      };
+    };
+    "mz-1.3.0" = {
+      name = "mz";
+      packageName = "mz";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mz/-/mz-1.3.0.tgz";
+        sha1 = "06f093fdd9956a06d37e1b1e81344e27478c42f0";
+      };
+    };
+    "nan-0.3.2" = {
+      name = "nan";
+      packageName = "nan";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
+        sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
+      };
+    };
+    "native-or-bluebird-1.1.2" = {
+      name = "native-or-bluebird";
+      packageName = "native-or-bluebird";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.2.tgz";
+        sha1 = "3921e110232d1eb790f3dac61bb370531c7d356e";
+      };
+    };
+    "negotiator-0.4.7" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
+        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
+      };
+    };
+    "node-uuid-1.4.1" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+      };
+    };
+    "object-assign-4.1.1" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    };
+    "object-component-0.0.3" = {
+      name = "object-component";
+      packageName = "object-component";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz";
+        sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
+      };
+    };
+    "on-finished-2.1.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+      };
+    };
+    "on-headers-1.0.2" = {
+      name = "on-headers";
+      packageName = "on-headers";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
+        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
+      };
+    };
+    "optimist-0.3.7" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+      };
+    };
+    "optimist-0.6.1" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    };
+    "optionator-0.8.3" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
+        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
+      };
+    };
+    "options-0.0.6" = {
+      name = "options";
+      packageName = "options";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
+        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+      };
+    };
+    "optparse-1.0.3" = {
+      name = "optparse";
+      packageName = "optparse";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optparse/-/optparse-1.0.3.tgz";
+        sha1 = "2ff49a3d691b90b0b9a1be9117f292373eb1bd66";
+      };
+    };
+    "parsejson-0.0.1" = {
+      name = "parsejson";
+      packageName = "parsejson";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz";
+        sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
+      };
+    };
+    "parseqs-0.0.2" = {
+      name = "parseqs";
+      packageName = "parseqs";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz";
+        sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7";
+      };
+    };
+    "parseuri-0.0.2" = {
+      name = "parseuri";
+      packageName = "parseuri";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz";
+        sha1 = "db41878f2d6964718be870b3140973d8093be156";
+      };
+    };
+    "parseurl-1.3.3" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
+        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
+      };
+    };
+    "pause-0.0.1" = {
+      name = "pause";
+      packageName = "pause";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      };
+    };
+    "prelude-ls-1.1.2" = {
+      name = "prelude-ls";
+      packageName = "prelude-ls";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    };
+    "printj-1.1.2" = {
+      name = "printj";
+      packageName = "printj";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz";
+        sha512 = "zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==";
+      };
+    };
+    "printj-1.2.3" = {
+      name = "printj";
+      packageName = "printj";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/printj/-/printj-1.2.3.tgz";
+        sha512 = "sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==";
+      };
+    };
+    "printj-1.3.0" = {
+      name = "printj";
+      packageName = "printj";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/printj/-/printj-1.3.0.tgz";
+        sha512 = "017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg==";
+      };
+    };
+    "proxy-addr-1.0.1" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
+        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
+      };
+    };
+    "qs-2.2.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-2.2.2.tgz";
+        sha1 = "dfe783f1854b1ac2b3ade92775ad03e27e03218c";
+      };
+    };
+    "range-parser-1.0.0" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
+        sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
+      };
+    };
+    "raw-body-1.3.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+      };
+    };
+    "readable-stream-1.1.14" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.1.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
+        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+      };
+    };
+    "readable-stream-3.6.0" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
+        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
+      };
+    };
+    "redis-0.12.1" = {
+      name = "redis";
+      packageName = "redis";
+      version = "0.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
+        sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
+      };
+    };
+    "response-time-2.0.1" = {
+      name = "response-time";
+      packageName = "response-time";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/response-time/-/response-time-2.0.1.tgz";
+        sha1 = "c6d2cbadeac4cb251b21016fe182640c02aff343";
+      };
+    };
+    "rndm-1.1.1" = {
+      name = "rndm";
+      packageName = "rndm";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rndm/-/rndm-1.1.1.tgz";
+        sha1 = "efcef4374021f78b63de6226b5985120269d64f1";
+      };
+    };
+    "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==";
+      };
+    };
+    "scmp-1.0.0" = {
+      name = "scmp";
+      packageName = "scmp";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/scmp/-/scmp-1.0.0.tgz";
+        sha1 = "a0b272c3fc7292f77115646f00618b0262514e04";
+      };
+    };
+    "send-0.8.3" = {
+      name = "send";
+      packageName = "send";
+      version = "0.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.8.3.tgz";
+        sha1 = "593886004fcb968a1b5727814a32b388b3b99083";
+      };
+    };
+    "send-0.8.5" = {
+      name = "send";
+      packageName = "send";
+      version = "0.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.8.5.tgz";
+        sha1 = "37f708216e6f50c175e74c69fec53484e2fd82c7";
+      };
+    };
+    "serve-favicon-2.0.1" = {
+      name = "serve-favicon";
+      packageName = "serve-favicon";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.0.1.tgz";
+        sha1 = "4826975d9f173ca3a4158e9698161f75dec7afec";
+      };
+    };
+    "serve-index-1.1.6" = {
+      name = "serve-index";
+      packageName = "serve-index";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.1.6.tgz";
+        sha1 = "b758318fe781628383f66ac80dd447712ea7781f";
+      };
+    };
+    "serve-static-1.5.4" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz";
+        sha1 = "819fb37ae46bd02dd520b77fcf7fd8f5112f9782";
+      };
+    };
+    "socialcalc-2.3.0" = {
+      name = "socialcalc";
+      packageName = "socialcalc";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socialcalc/-/socialcalc-2.3.0.tgz";
+        sha512 = "hkK5c7eRRGzOiRNPFCQ/kzv2wqOSFaD4AtYag962r0jV0mlyhTQ7xvs3r14MB3Xbo2hAWq5AKYddrtqvuWvDAA==";
+      };
+    };
+    "socket.io-1.0.6" = {
+      name = "socket.io";
+      packageName = "socket.io";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-1.0.6.tgz";
+        sha1 = "b566532888dae3ac9058a12f294015ebdfa8084a";
+      };
+    };
+    "socket.io-adapter-0.2.0" = {
+      name = "socket.io-adapter";
+      packageName = "socket.io-adapter";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.2.0.tgz";
+        sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
+      };
+    };
+    "socket.io-client-1.0.6" = {
+      name = "socket.io-client";
+      packageName = "socket.io-client";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.0.6.tgz";
+        sha1 = "c86cb3e507ab2f96da4500bd34fcf46a1e9dfe5e";
+      };
+    };
+    "socket.io-parser-2.1.2" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.1.2.tgz";
+        sha1 = "876655b9edd555c5bdf7301cedf30a436c67b8b0";
+      };
+    };
+    "socket.io-parser-2.2.0" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.0.tgz";
+        sha1 = "2609601f59e6a7fab436a53be3d333fbbfcbd30a";
+      };
+    };
+    "source-map-0.1.34" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.1.34";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
+        sha1 = "a7cfe89aec7b1682c3b198d0acfb47d7d090566b";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "ssf-0.10.3" = {
+      name = "ssf";
+      packageName = "ssf";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz";
+        sha512 = "pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==";
+      };
+    };
+    "ssf-0.8.2" = {
+      name = "ssf";
+      packageName = "ssf";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssf/-/ssf-0.8.2.tgz";
+        sha1 = "b9d4dc6a1c1bcf76f8abfa96d7d7656fb2abecd6";
+      };
+    };
+    "ssf-0.9.4" = {
+      name = "ssf";
+      packageName = "ssf";
+      version = "0.9.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssf/-/ssf-0.9.4.tgz";
+        sha1 = "8e57a98c19dbbf1edd53f0f8c9e7fd524b0f6c9c";
+      };
+    };
+    "stream-counter-0.2.0" = {
+      name = "stream-counter";
+      packageName = "stream-counter";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
+        sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
+      };
+    };
+    "string_decoder-0.10.31" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "0.10.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    };
+    "string_decoder-1.3.0" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
+      };
+    };
+    "stylus-0.27.2" = {
+      name = "stylus";
+      packageName = "stylus";
+      version = "0.27.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stylus/-/stylus-0.27.2.tgz";
+        sha1 = "1121f7f8cd152b0f8a4aa6a24a9adea10c825117";
+      };
+    };
+    "thenify-3.3.1" = {
+      name = "thenify";
+      packageName = "thenify";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz";
+        sha512 = "RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==";
+      };
+    };
+    "thenify-all-1.6.0" = {
+      name = "thenify-all";
+      packageName = "thenify-all";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz";
+        sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
+      };
+    };
+    "tinycolor-0.0.1" = {
+      name = "tinycolor";
+      packageName = "tinycolor";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+      };
+    };
+    "to-array-0.1.3" = {
+      name = "to-array";
+      packageName = "to-array";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-array/-/to-array-0.1.3.tgz";
+        sha1 = "d45dadc6363417f60f28474fea50ecddbb4f4991";
+      };
+    };
+    "type-check-0.3.2" = {
+      name = "type-check";
+      packageName = "type-check";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    };
+    "type-is-1.3.2" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
+        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
+      };
+    };
+    "typedarray-0.0.6" = {
+      name = "typedarray";
+      packageName = "typedarray";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    };
+    "uglify-js-1.2.6" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.6.tgz";
+        sha1 = "d354b2d3c1cf10ebc18fa78c11a28bdd9ce1580d";
+      };
+    };
+    "uglify-js-2.4.15" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.4.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz";
+        sha1 = "12bc6d84345fbc306e13f7075d6437a8bf64d7e3";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "uid-safe-1.0.1" = {
+      name = "uid-safe";
+      packageName = "uid-safe";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
+        sha1 = "5bd148460a2e84f54f193fd20352c8c3d7de6ac8";
+      };
+    };
+    "uid-safe-1.1.0" = {
+      name = "uid-safe";
+      packageName = "uid-safe";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-1.1.0.tgz";
+        sha1 = "58d6c5dabf8dfbd8d52834839806c03fd6143232";
+      };
+    };
+    "underscore-1.13.2" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz";
+        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
+      };
+    };
+    "utf8-2.0.0" = {
+      name = "utf8";
+      packageName = "utf8";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz";
+        sha1 = "79ce59eced874809cab9a71fc7102c7d45d4118d";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "utils-merge-1.0.0" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      };
+    };
+    "uuid-pure-1.0.10" = {
+      name = "uuid-pure";
+      packageName = "uuid-pure";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid-pure/-/uuid-pure-1.0.10.tgz";
+        sha1 = "72f231b59cf6c3af5e9f6ba7b963a9186d109b5d";
+      };
+    };
+    "vary-0.1.0" = {
+      name = "vary";
+      packageName = "vary";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
+        sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
+      };
+    };
+    "vary-1.0.1" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
+        sha1 = "99e4981566a286118dfb2b817357df7993376d10";
+      };
+    };
+    "vary-1.1.2" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    };
+    "vhost-2.0.0" = {
+      name = "vhost";
+      packageName = "vhost";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vhost/-/vhost-2.0.0.tgz";
+        sha1 = "1e26770bd0fce86c40945591e6f284c6891791e2";
+      };
+    };
+    "voc-1.2.0" = {
+      name = "voc";
+      packageName = "voc";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/voc/-/voc-1.2.0.tgz";
+        sha512 = "BOuDjFFYvJdZO6e/N65AlaDItXo2TgyLjeyRYcqgAPkXpp5yTJcvkL2n+syO1r9Qc5g96tfBD2tuiMhYDmaGcA==";
+      };
+    };
+    "word-wrap-1.2.3" = {
+      name = "word-wrap";
+      packageName = "word-wrap";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz";
+        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
+      };
+    };
+    "wordwrap-0.0.3" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    };
+    "ws-0.4.31" = {
+      name = "ws";
+      packageName = "ws";
+      version = "0.4.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz";
+        sha1 = "5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927";
+      };
+    };
+    "xlsjs-0.7.6" = {
+      name = "xlsjs";
+      packageName = "xlsjs";
+      version = "0.7.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xlsjs/-/xlsjs-0.7.6.tgz";
+        sha1 = "d88754569aabcf8eea70cc23961b462634a49565";
+      };
+    };
+    "xlsx-0.14.5" = {
+      name = "xlsx";
+      packageName = "xlsx";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xlsx/-/xlsx-0.14.5.tgz";
+        sha512 = "s/5f4/mjeWREmIWZ+HtDfh/rnz51ar+dZ4LWKZU3u9VBx2zLdSIWTdXgoa52/pnZ9Oe/Vu1W1qzcKzLVe+lq4w==";
+      };
+    };
+    "xlsx-0.9.13" = {
+      name = "xlsx";
+      packageName = "xlsx";
+      version = "0.9.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xlsx/-/xlsx-0.9.13.tgz";
+        sha1 = "5861d11e10a1f99b6f2b491e2d119a7777d066e7";
+      };
+    };
+    "xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" = {
+      name = "xmlhttprequest";
+      packageName = "xmlhttprequest";
+      version = "1.5.0";
+      src = fetchurl {
+        name = "xmlhttprequest-1.5.0.tar.gz";
+        url = "https://codeload.github.com/LearnBoost/node-XMLHttpRequest/tar.gz/0f36d0b5ebc03d85f860d42a64ae9791e1daa433";
+        sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f";
+      };
+    };
+    "xoauth2-1.2.0" = {
+      name = "xoauth2";
+      packageName = "xoauth2";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xoauth2/-/xoauth2-1.2.0.tgz";
+        sha1 = "f2eefac11472c971ea3bc46e554eb4b1232146e5";
+      };
+    };
+    "zappajs-0.5.0" = {
+      name = "zappajs";
+      packageName = "zappajs";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zappajs/-/zappajs-0.5.0.tgz";
+        sha1 = "1cc786d31c1559ba180f01ca3adf1e13ca02ca5c";
+      };
+    };
+  };
+in
+{
+  "whitebophir-git+https://github.com/audreyt/ethercalc.git#b196277081d677be991d104e454a52d242ef0189" = nodeEnv.buildNodePackage {
+    name = "ethercalc";
+    packageName = "ethercalc";
+    version = "0.20201228.1";
+    src = fetchgit {
+      url = "https://github.com/audreyt/ethercalc.git";
+      rev = "b196277081d677be991d104e454a52d242ef0189";
+      sha256 = "4494bada571057d86009f27470cc34f1e8a3b2c03b395cdba639c08d502a9bfe";
+    };
+    dependencies = [
+      sources."accepts-1.0.7"
+      sources."adler-32-1.2.0"
+      sources."after-0.8.1"
+      sources."amdefine-1.0.1"
+      sources."any-promise-1.3.0"
+      sources."arraybuffer.slice-0.0.6"
+      sources."async-0.2.10"
+      sources."babyparse-0.2.1"
+      sources."balanced-match-1.0.2"
+      sources."base64-arraybuffer-0.1.2"
+      sources."base64-url-1.2.1"
+      sources."base64id-0.1.0"
+      sources."basic-auth-1.0.0"
+      sources."basic-auth-connect-1.0.0"
+      sources."batch-0.5.1"
+      sources."better-assert-1.0.2"
+      sources."blob-0.0.2"
+      (sources."body-parser-1.6.7" // {
+        dependencies = [
+          sources."iconv-lite-0.4.4"
+        ];
+      })
+      sources."brace-expansion-1.1.11"
+      sources."buffer-crc32-0.2.3"
+      sources."buffer-from-1.1.2"
+      sources."bytes-1.0.0"
+      sources."callsite-1.0.0"
+      (sources."cfb-1.2.1" // {
+        dependencies = [
+          (sources."adler-32-1.3.0" // {
+            dependencies = [
+              sources."printj-1.2.3"
+            ];
+          })
+          sources."printj-1.3.0"
+        ];
+      })
+      (sources."codepage-1.14.0" // {
+        dependencies = [
+          sources."commander-2.14.1"
+        ];
+      })
+      sources."coffee-css-0.0.5"
+      sources."coffee-script-1.12.7"
+      (sources."coffeecup-0.3.21" // {
+        dependencies = [
+          sources."uglify-js-1.2.6"
+        ];
+      })
+      sources."colors-0.6.2"
+      sources."commander-2.17.1"
+      sources."component-bind-1.0.0"
+      sources."component-emitter-1.1.2"
+      sources."component-inherit-0.0.3"
+      sources."compressible-1.1.1"
+      (sources."compression-1.0.11" // {
+        dependencies = [
+          sources."vary-1.0.1"
+        ];
+      })
+      sources."concat-map-0.0.1"
+      sources."concat-stream-2.0.0"
+      sources."connect-2.25.9"
+      sources."connect-timeout-1.2.2"
+      sources."cookie-0.1.2"
+      sources."cookie-parser-1.3.2"
+      sources."cookie-signature-1.0.4"
+      sources."core-util-is-1.0.3"
+      sources."cors-2.8.5"
+      sources."crc-32-1.2.0"
+      sources."csrf-2.0.7"
+      sources."cssom-0.2.5"
+      sources."csurf-1.4.1"
+      sources."csv-parse-0.0.6"
+      sources."debug-1.0.4"
+      sources."deep-is-0.1.4"
+      sources."depd-0.4.4"
+      sources."destroy-1.0.3"
+      sources."ee-first-1.0.5"
+      sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz"
+      (sources."engine.io-1.3.1" // {
+        dependencies = [
+          sources."debug-0.6.0"
+        ];
+      })
+      (sources."engine.io-client-1.3.1" // {
+        dependencies = [
+          sources."debug-0.7.4"
+        ];
+      })
+      sources."engine.io-parser-1.0.6"
+      sources."errorhandler-1.1.1"
+      sources."escape-html-1.0.1"
+      sources."exit-on-epipe-1.0.1"
+      (sources."express-3.16.9" // {
+        dependencies = [
+          sources."commander-1.3.2"
+          sources."vary-0.1.0"
+        ];
+      })
+      (sources."express-session-1.7.6" // {
+        dependencies = [
+          sources."uid-safe-1.0.1"
+        ];
+      })
+      sources."fast-levenshtein-2.0.6"
+      sources."finalhandler-0.1.0"
+      sources."frac-1.1.2"
+      sources."fresh-0.2.2"
+      sources."global-https://github.com/component/global/archive/v2.0.1.tar.gz"
+      sources."graceful-readlink-1.0.1"
+      (sources."harb-0.1.1" // {
+        dependencies = [
+          sources."frac-0.3.1"
+          sources."ssf-0.8.2"
+        ];
+      })
+      sources."has-binary-data-0.1.1"
+      sources."has-cors-1.0.3"
+      sources."iconv-lite-0.4.24"
+      sources."indexof-0.0.1"
+      sources."inherits-2.0.4"
+      sources."ipaddr.js-0.1.2"
+      sources."isarray-0.0.1"
+      (sources."j-0.4.5" // {
+        dependencies = [
+          sources."adler-32-1.0.0"
+          sources."cfb-0.11.1"
+          sources."codepage-1.8.1"
+          sources."crc-32-1.0.2"
+          sources."frac-1.0.6"
+          sources."ssf-0.9.4"
+          (sources."xlsx-0.9.13" // {
+            dependencies = [
+              sources."commander-2.9.0"
+            ];
+          })
+        ];
+      })
+      sources."json3-3.2.6"
+      sources."keypress-0.1.0"
+      sources."levn-0.3.0"
+      sources."livescript-1.5.0"
+      sources."media-typer-0.2.0"
+      sources."merge-descriptors-0.0.2"
+      (sources."method-override-2.1.3" // {
+        dependencies = [
+          sources."vary-1.0.1"
+        ];
+      })
+      sources."methods-1.1.0"
+      sources."mime-1.2.11"
+      sources."mime-types-1.0.2"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.10"
+      (sources."mkdirp-0.5.0" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."morgan-1.2.3"
+      sources."ms-0.6.2"
+      (sources."multiparty-3.3.2" // {
+        dependencies = [
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-0.10.31"
+        ];
+      })
+      sources."mz-1.3.0"
+      sources."nan-0.3.2"
+      sources."native-or-bluebird-1.1.2"
+      sources."negotiator-0.4.7"
+      sources."node-uuid-1.4.1"
+      sources."object-assign-4.1.1"
+      sources."object-component-0.0.3"
+      sources."on-finished-2.1.0"
+      sources."on-headers-1.0.2"
+      sources."optimist-0.6.1"
+      sources."optionator-0.8.3"
+      sources."options-0.0.6"
+      sources."optparse-1.0.3"
+      sources."parsejson-0.0.1"
+      sources."parseqs-0.0.2"
+      sources."parseuri-0.0.2"
+      sources."parseurl-1.3.3"
+      sources."pause-0.0.1"
+      sources."prelude-ls-1.1.2"
+      sources."printj-1.1.2"
+      sources."proxy-addr-1.0.1"
+      sources."qs-2.2.2"
+      sources."range-parser-1.0.0"
+      (sources."raw-body-1.3.0" // {
+        dependencies = [
+          sources."iconv-lite-0.4.4"
+        ];
+      })
+      sources."readable-stream-3.6.0"
+      sources."redis-0.12.1"
+      sources."response-time-2.0.1"
+      sources."rndm-1.1.1"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."scmp-1.0.0"
+      sources."send-0.8.3"
+      sources."serve-favicon-2.0.1"
+      sources."serve-index-1.1.6"
+      (sources."serve-static-1.5.4" // {
+        dependencies = [
+          sources."send-0.8.5"
+        ];
+      })
+      sources."socialcalc-2.3.0"
+      (sources."socket.io-1.0.6" // {
+        dependencies = [
+          sources."debug-0.7.4"
+        ];
+      })
+      (sources."socket.io-adapter-0.2.0" // {
+        dependencies = [
+          sources."debug-0.7.4"
+          sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz"
+          sources."socket.io-parser-2.1.2"
+        ];
+      })
+      (sources."socket.io-client-1.0.6" // {
+        dependencies = [
+          sources."debug-0.7.4"
+        ];
+      })
+      (sources."socket.io-parser-2.2.0" // {
+        dependencies = [
+          sources."debug-0.7.4"
+        ];
+      })
+      sources."source-map-0.5.7"
+      sources."ssf-0.10.3"
+      (sources."stream-counter-0.2.0" // {
+        dependencies = [
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-0.10.31"
+        ];
+      })
+      sources."string_decoder-1.3.0"
+      (sources."stylus-0.27.2" // {
+        dependencies = [
+          sources."mkdirp-0.3.5"
+        ];
+      })
+      sources."thenify-3.3.1"
+      sources."thenify-all-1.6.0"
+      sources."tinycolor-0.0.1"
+      sources."to-array-0.1.3"
+      sources."type-check-0.3.2"
+      sources."type-is-1.3.2"
+      sources."typedarray-0.0.6"
+      (sources."uglify-js-2.4.15" // {
+        dependencies = [
+          sources."optimist-0.3.7"
+          sources."source-map-0.1.34"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      sources."uid-safe-1.1.0"
+      sources."underscore-1.13.2"
+      sources."utf8-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.0"
+      sources."uuid-pure-1.0.10"
+      sources."vary-1.1.2"
+      sources."vhost-2.0.0"
+      sources."voc-1.2.0"
+      sources."word-wrap-1.2.3"
+      sources."wordwrap-0.0.3"
+      (sources."ws-0.4.31" // {
+        dependencies = [
+          sources."commander-0.6.1"
+        ];
+      })
+      (sources."xlsjs-0.7.6" // {
+        dependencies = [
+          sources."cfb-0.11.1"
+          sources."frac-0.3.1"
+          sources."ssf-0.8.2"
+        ];
+      })
+      sources."xlsx-0.14.5"
+      sources."xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz"
+      sources."xoauth2-1.2.0"
+      sources."zappajs-0.5.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Multi-User Spreadsheet Server";
+      homepage = "http://ethercalc.net/";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.json b/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.json
new file mode 100644
index 000000000000..24675d73956a
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.json
@@ -0,0 +1,3 @@
+[
+  { "whitebophir": "git+https://github.com/audreyt/ethercalc.git#b196277081d677be991d104e454a52d242ef0189" }
+]
diff --git a/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.nix b/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.nix
new file mode 100644
index 000000000000..0961603968ea
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/ethercalc/node-packages.nix
@@ -0,0 +1,17 @@
+# 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 ../../../development/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-generated.nix {
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
+  inherit nodeEnv;
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/galene/default.nix b/nixpkgs/pkgs/servers/web-apps/galene/default.nix
index 0ae5523c35a3..bbc41acf52e4 100644
--- a/nixpkgs/pkgs/servers/web-apps/galene/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/invoiceplane/default.nix b/nixpkgs/pkgs/servers/web-apps/invoiceplane/default.nix
new file mode 100644
index 000000000000..6c9ffd44b9d7
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/invoiceplane/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchurl, writeText, unzip, nixosTests }:
+
+stdenv.mkDerivation rec {
+  pname = "invoiceplane";
+  version = "1.5.11";
+
+  src = fetchurl {
+    url = "https://github.com/InvoicePlane/InvoicePlane/releases/download/v${version}/v${version}.zip";
+    sha256 = "137g0xps4kb3j7f5gz84ql18iggbya6d9dnrfp05g2qcbbp8kqad";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/
+    cp -r . $out/
+  '';
+
+  passthru.tests = {
+    inherit (nixosTests) invoiceplane;
+  };
+
+  meta = with lib; {
+    description = "Self-hosted open source application for managing your invoices, clients and payments";
+    license = licenses.mit;
+    homepage = "https://www.invoiceplane.com";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/jitsi-meet/default.nix b/nixpkgs/pkgs/servers/web-apps/jitsi-meet/default.nix
index 9151202d94a9..d63fe8192372 100644
--- a/nixpkgs/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.5415";
+  version = "1.0.5818";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "DJk+2EAADIz3Jck5Tf3AMWq0pZn3q1JQpDm/VdIz7nc=";
+    sha256 = "oVZoYEkYQd8dy1m0+1i/uIQ/gRipvJBXmgYphbBhicY=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/servers/web-apps/lemmy/package.json b/nixpkgs/pkgs/servers/web-apps/lemmy/package.json
index 5007b55d4811..bb7dc863d5bb 100644
--- a/nixpkgs/pkgs/servers/web-apps/lemmy/package.json
+++ b/nixpkgs/pkgs/servers/web-apps/lemmy/package.json
@@ -1,7 +1,7 @@
 {
   "name": "lemmy-ui",
   "description": "An isomorphic UI for lemmy",
-  "version": "0.14.0",
+  "version": "0.15.1",
   "author": "Dessalines <tyhou13@gmx.com>",
   "license": "AGPL-3.0",
   "scripts": {
@@ -17,13 +17,14 @@
   },
   "repository": "https://github.com/LemmyNet/lemmy-ui",
   "dependencies": {
-    "@typescript-eslint/parser": "^5.4.0",
+    "@typescript-eslint/parser": "^5.6.0",
     "autosize": "^5.0.1",
     "check-password-strength": "^2.0.3",
-    "choices.js": "^9.0.1",
+    "choices.js": "^10.0.0",
+    "classnames": "^2.3.1",
     "emoji-short-name": "^1.0.0",
     "express": "~4.17.1",
-    "i18next": "^21.5.0",
+    "i18next": "^21.5.4",
     "inferno": "^7.4.11",
     "inferno-create-element": "^7.4.11",
     "inferno-helmet": "^5.2.1",
@@ -39,46 +40,45 @@
     "markdown-it-sub": "^1.0.0",
     "markdown-it-sup": "^1.0.0",
     "moment": "^2.29.1",
-    "reconnecting-websocket": "^4.4.0",
     "register-service-worker": "^1.7.2",
     "rxjs": "^7.4.0",
+    "sass": "^1.47.0",
     "serialize-javascript": "^6.0.0",
     "tippy.js": "^6.3.7",
     "toastify-js": "^1.11.2",
     "tributejs": "^5.1.3",
-    "ws": "^8.2.3"
+    "websocket-ts": "^1.1.1"
   },
   "devDependencies": {
     "@babel/core": "^7.16.0",
-    "@babel/plugin-transform-runtime": "^7.16.0",
+    "@babel/plugin-transform-runtime": "^7.16.4",
     "@babel/plugin-transform-typescript": "^7.16.1",
-    "@babel/preset-env": "7.16.0",
+    "@babel/preset-env": "7.16.8",
     "@babel/preset-typescript": "^7.16.0",
     "@babel/runtime": "^7.16.3",
     "@types/autosize": "^4.0.0",
     "@types/express": "^4.17.13",
-    "@types/node": "^16.11.7",
+    "@types/node": "^17.0.8",
     "@types/node-fetch": "^2.5.11",
     "@types/serialize-javascript": "^5.0.1",
-    "@typescript-eslint/eslint-plugin": "^5.4.0",
+    "@typescript-eslint/eslint-plugin": "^5.6.0",
     "babel-loader": "^8.2.3",
     "babel-plugin-inferno": "^6.3.0",
     "bootstrap": "^5.1.3",
     "bootswatch": "^5.1.3",
     "clean-webpack-plugin": "^4.0.0",
-    "copy-webpack-plugin": "^9.1.0",
+    "copy-webpack-plugin": "^10.0.0",
     "css-loader": "^6.5.1",
-    "eslint": "^8.2.0",
+    "eslint": "^8.4.0",
     "eslint-plugin-prettier": "^4.0.0",
     "husky": "^7.0.4",
     "import-sort-style-module": "^6.0.0",
     "iso-639-1": "^2.1.10",
-    "lemmy-js-client": "0.14.0-rc.1",
-    "lint-staged": "^11.2.6",
-    "mini-css-extract-plugin": "^2.4.4",
+    "lemmy-js-client": "0.15.0",
+    "lint-staged": "^12.1.2",
+    "mini-css-extract-plugin": "^2.4.5",
     "node-fetch": "^2.6.1",
-    "node-sass": "^6.0.1",
-    "prettier": "^2.4.1",
+    "prettier": "^2.5.1",
     "prettier-plugin-import-sort": "^0.0.7",
     "prettier-plugin-organize-imports": "^2.3.4",
     "prettier-plugin-packagejson": "^2.2.15",
@@ -88,10 +88,10 @@
     "sortpack": "^2.2.0",
     "style-loader": "^3.3.1",
     "terser": "^5.10.0",
-    "typescript": "^4.4.4",
-    "webpack": "5.64.1",
+    "typescript": "^4.5.2",
+    "webpack": "5.66.0",
     "webpack-cli": "^4.9.1",
-    "webpack-dev-server": "4.5.0",
+    "webpack-dev-server": "4.7.3",
     "webpack-node-externals": "^3.0.0"
   },
   "engines": {
diff --git a/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json b/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json
index 399fa68c8d87..9a588b54da99 100644
--- a/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json
+++ b/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json
@@ -1,7 +1,7 @@
 {
-  "version": "0.14.0",
-  "serverSha256": "sha256-rrLOWoy4GkVtfIPpyR0Zwvnqq39CoZRDaVPNSpeJpkA=",
-  "serverCargoSha256": "sha256-6HrsMwzcmNw8udsCdvn8zgIWN0N3Vvsn9bFk+5tBOds=",
-  "uiSha256": "sha256-e+ajyUc2P5eK1dH7qQsC9BmZgT3NCGLbbzbUE3i2rXY=",
-  "uiYarnDepsSha256": "sha256-g3jCc98ftFyvZGD2bESY1eIsLZyQxZpDxgHdRGu78vs="
+  "version": "0.15.1",
+  "serverSha256": "sha256-HHr9mG0AuI/86+EjODE/GT9lhl5DeNkzQ4k077b7ICU=",
+  "serverCargoSha256": "sha256-ErMNsyHfBiYZA4gjaxPHO+fQseUVIKy/928oGqw+Adg=",
+  "uiSha256": "sha256-Al6Q1xXkjqIb2v2S4JbmlQAAFCKwzkAW924uolC0tu8=",
+  "uiYarnDepsSha256": "sha256-Zadp74ZHmbxCHxpDAYOa6Ot2kWujIj8ZzrSaIEsYgMY="
 }
diff --git a/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix b/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix
index 558cbb9ee70c..b58851f99030 100644
--- a/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix
+++ b/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix
@@ -6,6 +6,7 @@
 , postgresql
 , libiconv
 , Security
+, protobuf
 }:
 let
   pinData = lib.importJSON ./pin.json;
@@ -34,6 +35,10 @@ rustPlatform.buildRustPackage rec {
   OPENSSL_LIB_DIR = "${openssl.out}/lib";
   OPENSSL_INCLUDE_DIR = "${openssl.dev}/include";
 
+  PROTOC = "${protobuf}/bin/protoc";
+  PROTOC_INCLUDE = "${protobuf}/include";
+  nativeBuildInputs = [ protobuf ];
+
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/web-apps/matomo/change-path-geoip2.patch b/nixpkgs/pkgs/servers/web-apps/matomo/change-path-geoip2.patch
new file mode 100644
index 000000000000..c8840db42e7b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/matomo/default.nix b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
index ad8dc85f70fa..aa371223cf0c 100644
--- a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/pict-rs/default.nix b/nixpkgs/pkgs/servers/web-apps/pict-rs/default.nix
index 6338b6195455..739ff2280e17 100644
--- a/nixpkgs/pkgs/servers/web-apps/pict-rs/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/pict-rs/default.nix
@@ -8,6 +8,7 @@
 , imagemagick
 , ffmpeg
 , exiftool
+, nixosTests
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -36,6 +37,8 @@ rustPlatform.buildRustPackage rec {
         --prefix PATH : "${lib.makeBinPath [ imagemagick ffmpeg exiftool ]}"
   '';
 
+  passthru.tests = { inherit (nixosTests) pict-rs; };
+
   meta = with lib; {
     description = "A simple image hosting service";
     homepage = "https://git.asonix.dog/asonix/pict-rs";
diff --git a/nixpkgs/pkgs/servers/web-apps/plausible/default.nix b/nixpkgs/pkgs/servers/web-apps/plausible/default.nix
index 50d71e422872..acf3746de3fd 100644
--- a/nixpkgs/pkgs/servers/web-apps/plausible/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/plausible/default.nix
@@ -12,13 +12,13 @@
 
 let
   pname = "plausible";
-  version = "1.4.0";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "plausible";
     repo = "analytics";
     rev = "v${version}";
-    sha256 = "1d31y7mwvml17w97dm5c4312n0ciq39kf4hz3g80hdzbbn72mi4q";
+    sha256 = "1ckw5cd4z96jkjhmzjq7k3kzjj7bvj38i5xq9r43cz0sn7w3470k";
   };
 
   # TODO consider using `mix2nix` as soon as it supports git dependencies.
diff --git a/nixpkgs/pkgs/servers/web-apps/plausible/package.json b/nixpkgs/pkgs/servers/web-apps/plausible/package.json
index 7d6daeca09f1..2fb83b8e14ae 100644
--- a/nixpkgs/pkgs/servers/web-apps/plausible/package.json
+++ b/nixpkgs/pkgs/servers/web-apps/plausible/package.json
@@ -64,5 +64,5 @@
     "webpack-bundle-analyzer": "^4.4.2"
   },
   "name": "plausible",
-  "version": "v1.4.0"
+  "version": "v1.4.4"
 }
diff --git a/nixpkgs/pkgs/servers/web-apps/plausible/yarn.lock b/nixpkgs/pkgs/servers/web-apps/plausible/yarn.lock
index 9481f797e592..4e720b0eb535 100644
--- a/nixpkgs/pkgs/servers/web-apps/plausible/yarn.lock
+++ b/nixpkgs/pkgs/servers/web-apps/plausible/yarn.lock
@@ -9,32 +9,32 @@
   dependencies:
     "@babel/highlight" "^7.10.4"
 
-"@babel/code-frame@^7.0.0", "@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.0.0", "@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/compat-data@^7.13.11", "@babel/compat-data@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa"
-  integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew==
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60"
+  integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
 
 "@babel/core@>=7.9.0", "@babel/core@^7.14.3":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4"
-  integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==
-  dependencies:
-    "@babel/code-frame" "^7.16.0"
-    "@babel/generator" "^7.16.0"
-    "@babel/helper-compilation-targets" "^7.16.0"
-    "@babel/helper-module-transforms" "^7.16.0"
-    "@babel/helpers" "^7.16.0"
-    "@babel/parser" "^7.16.0"
-    "@babel/template" "^7.16.0"
-    "@babel/traverse" "^7.16.0"
-    "@babel/types" "^7.16.0"
+  version "7.16.12"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784"
+  integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.16.8"
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helpers" "^7.16.7"
+    "@babel/parser" "^7.16.12"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.16.10"
+    "@babel/types" "^7.16.8"
     convert-source-map "^1.7.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.2"
@@ -42,64 +42,65 @@
     semver "^6.3.0"
     source-map "^0.5.0"
 
-"@babel/generator@^7.16.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.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe"
+  integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.16.8"
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
-"@babel/helper-annotate-as-pure@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d"
-  integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==
+"@babel/helper-annotate-as-pure@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
+  integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882"
-  integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b"
+  integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==
   dependencies:
-    "@babel/helper-explode-assignable-expression" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/helper-explode-assignable-expression" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz#01d615762e796c17952c29e3ede9d6de07d235a8"
-  integrity sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg==
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b"
+  integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==
   dependencies:
-    "@babel/compat-data" "^7.16.0"
-    "@babel/helper-validator-option" "^7.14.5"
-    browserslist "^4.16.6"
+    "@babel/compat-data" "^7.16.4"
+    "@babel/helper-validator-option" "^7.16.7"
+    browserslist "^4.17.5"
     semver "^6.3.0"
 
-"@babel/helper-create-class-features-plugin@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b"
-  integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.0"
-    "@babel/helper-function-name" "^7.16.0"
-    "@babel/helper-member-expression-to-functions" "^7.16.0"
-    "@babel/helper-optimise-call-expression" "^7.16.0"
-    "@babel/helper-replace-supers" "^7.16.0"
-    "@babel/helper-split-export-declaration" "^7.16.0"
-
-"@babel/helper-create-regexp-features-plugin@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff"
-  integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.0"
+"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7":
+  version "7.16.10"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c"
+  integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-member-expression-to-functions" "^7.16.7"
+    "@babel/helper-optimise-call-expression" "^7.16.7"
+    "@babel/helper-replace-supers" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+
+"@babel/helper-create-regexp-features-plugin@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48"
+  integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
     regexpu-core "^4.7.1"
 
-"@babel/helper-define-polyfill-provider@^0.2.4":
-  version "0.2.4"
-  resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10"
-  integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==
+"@babel/helper-define-polyfill-provider@^0.3.1":
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665"
+  integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==
   dependencies:
     "@babel/helper-compilation-targets" "^7.13.0"
     "@babel/helper-module-imports" "^7.12.13"
@@ -110,101 +111,109 @@
     resolve "^1.14.2"
     semver "^6.1.2"
 
-"@babel/helper-explode-assignable-expression@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778"
-  integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==
+"@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/types" "^7.16.0"
+    "@babel/types" "^7.16.7"
 
-"@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-explode-assignable-expression@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a"
+  integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==
   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-member-expression-to-functions@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4"
-  integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==
+"@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-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3"
-  integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==
+"@babel/helper-member-expression-to-functions@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0"
+  integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-module-transforms@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5"
-  integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==
-  dependencies:
-    "@babel/helper-module-imports" "^7.16.0"
-    "@babel/helper-replace-supers" "^7.16.0"
-    "@babel/helper-simple-access" "^7.16.0"
-    "@babel/helper-split-export-declaration" "^7.16.0"
-    "@babel/helper-validator-identifier" "^7.15.7"
-    "@babel/template" "^7.16.0"
-    "@babel/traverse" "^7.16.0"
-    "@babel/types" "^7.16.0"
+"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
+  integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
+  dependencies:
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-optimise-call-expression@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338"
-  integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==
+"@babel/helper-module-transforms@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41"
+  integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-simple-access" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
-  integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
+"@babel/helper-optimise-call-expression@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2"
+  integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==
+  dependencies:
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-remap-async-to-generator@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.0.tgz#d5aa3b086e13a5fe05238ff40c3a5a0c2dab3ead"
-  integrity sha512-MLM1IOMe9aQBqMWxcRw8dcb9jlM86NIw7KA0Wri91Xkfied+dE0QuBFSBjMNvqzmS0OSIDsMNC24dBEkPUi7ew==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
+  integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
+
+"@babel/helper-remap-async-to-generator@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3"
+  integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.0"
-    "@babel/helper-wrap-function" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-wrap-function" "^7.16.8"
+    "@babel/types" "^7.16.8"
 
-"@babel/helper-replace-supers@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17"
-  integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==
+"@babel/helper-replace-supers@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1"
+  integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==
   dependencies:
-    "@babel/helper-member-expression-to-functions" "^7.16.0"
-    "@babel/helper-optimise-call-expression" "^7.16.0"
-    "@babel/traverse" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-member-expression-to-functions" "^7.16.7"
+    "@babel/helper-optimise-call-expression" "^7.16.7"
+    "@babel/traverse" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-simple-access@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517"
-  integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==
+"@babel/helper-simple-access@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7"
+  integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.16.7"
 
 "@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
   version "7.16.0"
@@ -213,199 +222,199 @@
   dependencies:
     "@babel/types" "^7.16.0"
 
-"@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-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.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-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/helper-validator-option@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
-  integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
+"@babel/helper-validator-option@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
+  integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
 
-"@babel/helper-wrap-function@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c"
-  integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==
+"@babel/helper-wrap-function@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200"
+  integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==
   dependencies:
-    "@babel/helper-function-name" "^7.16.0"
-    "@babel/template" "^7.16.0"
-    "@babel/traverse" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.16.8"
+    "@babel/types" "^7.16.8"
 
-"@babel/helpers@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.0.tgz#875519c979c232f41adfbd43a3b0398c2e388183"
-  integrity sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==
+"@babel/helpers@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc"
+  integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==
   dependencies:
-    "@babel/template" "^7.16.0"
-    "@babel/traverse" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/highlight@^7.10.4", "@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.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.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.7.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.0.tgz#cf147d7ada0a3655e79bf4b08ee846f00a00a295"
-  integrity sha512-TEHWXf0xxpi9wKVyBCmRcSSDjbJ/cl6LUdlbYUHEaNQUJGhreJbZrXT6sR4+fZLxVUJqNRB4KyOvjuy/D9009A==
+"@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.7.0":
+  version "7.16.12"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6"
+  integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==
 
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.0.tgz#efb7f147042aca34ce8156a055906a7abaadeaf0"
-  integrity sha512-djyecbGMEh4rOb/Tc1M5bUW2Ih1IZRa9PoubnPOCzM+DRE89uGUHR1Y+3aDdTMW4drjGRZ2ol8dt1JUFg6hJLQ==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050"
+  integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2"
-  integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9"
+  integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
-    "@babel/plugin-proposal-optional-chaining" "^7.16.0"
+    "@babel/plugin-proposal-optional-chaining" "^7.16.7"
 
-"@babel/plugin-proposal-async-generator-functions@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.0.tgz#11425d47a60364352f668ad5fbc1d6596b2c5caf"
-  integrity sha512-nyYmIo7ZqKsY6P4lnVmBlxp9B3a96CscbLotlsNuktMHahkDwoPYEjXrZHU0Tj844Z9f1IthVxQln57mhkcExw==
+"@babel/plugin-proposal-async-generator-functions@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8"
+  integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-remap-async-to-generator" "^7.16.0"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-remap-async-to-generator" "^7.16.8"
     "@babel/plugin-syntax-async-generators" "^7.8.4"
 
-"@babel/plugin-proposal-class-properties@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a"
-  integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==
+"@babel/plugin-proposal-class-properties@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0"
+  integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-create-class-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-proposal-class-static-block@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7"
-  integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==
+"@babel/plugin-proposal-class-static-block@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a"
+  integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-create-class-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-class-static-block" "^7.14.5"
 
-"@babel/plugin-proposal-dynamic-import@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1"
-  integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==
+"@babel/plugin-proposal-dynamic-import@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2"
+  integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-dynamic-import" "^7.8.3"
 
-"@babel/plugin-proposal-export-namespace-from@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222"
-  integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==
+"@babel/plugin-proposal-export-namespace-from@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163"
+  integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
 
-"@babel/plugin-proposal-json-strings@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25"
-  integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==
+"@babel/plugin-proposal-json-strings@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8"
+  integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-json-strings" "^7.8.3"
 
-"@babel/plugin-proposal-logical-assignment-operators@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd"
-  integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==
+"@babel/plugin-proposal-logical-assignment-operators@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea"
+  integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
 
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596"
-  integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99"
+  integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
 
-"@babel/plugin-proposal-numeric-separator@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734"
-  integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==
+"@babel/plugin-proposal-numeric-separator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9"
+  integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-numeric-separator" "^7.10.4"
 
-"@babel/plugin-proposal-object-rest-spread@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6"
-  integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==
+"@babel/plugin-proposal-object-rest-spread@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8"
+  integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==
   dependencies:
-    "@babel/compat-data" "^7.16.0"
-    "@babel/helper-compilation-targets" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/compat-data" "^7.16.4"
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
-    "@babel/plugin-transform-parameters" "^7.16.0"
+    "@babel/plugin-transform-parameters" "^7.16.7"
 
-"@babel/plugin-proposal-optional-catch-binding@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16"
-  integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==
+"@babel/plugin-proposal-optional-catch-binding@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf"
+  integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
 
-"@babel/plugin-proposal-optional-chaining@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0"
-  integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==
+"@babel/plugin-proposal-optional-chaining@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a"
+  integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
 
-"@babel/plugin-proposal-private-methods@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6"
-  integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==
+"@babel/plugin-proposal-private-methods@^7.16.11":
+  version "7.16.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50"
+  integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-create-class-features-plugin" "^7.16.10"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-proposal-private-property-in-object@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f"
-  integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==
+"@babel/plugin-proposal-private-property-in-object@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce"
+  integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.0"
-    "@babel/helper-create-class-features-plugin" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-create-class-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
 
-"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612"
-  integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==
+"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2"
+  integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
@@ -449,12 +458,12 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-jsx@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1"
-  integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==
+"@babel/plugin-syntax-jsx@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665"
+  integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
 "@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
   version "7.10.4"
@@ -512,313 +521,315 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.14.5"
 
-"@babel/plugin-transform-arrow-functions@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e"
-  integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==
+"@babel/plugin-transform-arrow-functions@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154"
+  integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-async-to-generator@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604"
-  integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==
+"@babel/plugin-transform-async-to-generator@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808"
+  integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==
   dependencies:
-    "@babel/helper-module-imports" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-remap-async-to-generator" "^7.16.0"
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-remap-async-to-generator" "^7.16.8"
 
-"@babel/plugin-transform-block-scoped-functions@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d"
-  integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==
+"@babel/plugin-transform-block-scoped-functions@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620"
+  integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-block-scoping@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16"
-  integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==
+"@babel/plugin-transform-block-scoping@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87"
+  integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-classes@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5"
-  integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==
+"@babel/plugin-transform-classes@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00"
+  integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.0"
-    "@babel/helper-function-name" "^7.16.0"
-    "@babel/helper-optimise-call-expression" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-replace-supers" "^7.16.0"
-    "@babel/helper-split-export-declaration" "^7.16.0"
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-optimise-call-expression" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-replace-supers" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
     globals "^11.1.0"
 
-"@babel/plugin-transform-computed-properties@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7"
-  integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==
+"@babel/plugin-transform-computed-properties@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470"
+  integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-destructuring@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c"
-  integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==
+"@babel/plugin-transform-destructuring@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23"
+  integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f"
-  integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==
+"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241"
+  integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-duplicate-keys@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176"
-  integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==
+"@babel/plugin-transform-duplicate-keys@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9"
+  integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-exponentiation-operator@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4"
-  integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==
+"@babel/plugin-transform-exponentiation-operator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b"
+  integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==
   dependencies:
-    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-for-of@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2"
-  integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==
+"@babel/plugin-transform-for-of@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c"
+  integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-function-name@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e"
-  integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==
+"@babel/plugin-transform-function-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf"
+  integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==
   dependencies:
-    "@babel/helper-function-name" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-literals@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac"
-  integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==
+"@babel/plugin-transform-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1"
+  integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-member-expression-literals@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b"
-  integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==
+"@babel/plugin-transform-member-expression-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384"
+  integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-modules-amd@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e"
-  integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==
+"@babel/plugin-transform-modules-amd@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186"
+  integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==
   dependencies:
-    "@babel/helper-module-transforms" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
     babel-plugin-dynamic-import-node "^2.3.3"
 
-"@babel/plugin-transform-modules-commonjs@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922"
-  integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==
+"@babel/plugin-transform-modules-commonjs@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe"
+  integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==
   dependencies:
-    "@babel/helper-module-transforms" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-simple-access" "^7.16.0"
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-simple-access" "^7.16.7"
     babel-plugin-dynamic-import-node "^2.3.3"
 
-"@babel/plugin-transform-modules-systemjs@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4"
-  integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==
+"@babel/plugin-transform-modules-systemjs@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7"
+  integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==
   dependencies:
-    "@babel/helper-hoist-variables" "^7.16.0"
-    "@babel/helper-module-transforms" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-validator-identifier" "^7.15.7"
+    "@babel/helper-hoist-variables" "^7.16.7"
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
     babel-plugin-dynamic-import-node "^2.3.3"
 
-"@babel/plugin-transform-modules-umd@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7"
-  integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==
+"@babel/plugin-transform-modules-umd@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618"
+  integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==
   dependencies:
-    "@babel/helper-module-transforms" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca"
-  integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252"
+  integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.16.0"
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
 
-"@babel/plugin-transform-new-target@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35"
-  integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==
+"@babel/plugin-transform-new-target@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244"
+  integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-object-super@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b"
-  integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==
+"@babel/plugin-transform-object-super@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94"
+  integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-replace-supers" "^7.16.0"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-replace-supers" "^7.16.7"
 
-"@babel/plugin-transform-parameters@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.0.tgz#1b50765fc421c229819dc4c7cdb8911660b3c2d7"
-  integrity sha512-XgnQEm1CevKROPx+udOi/8f8TiGhrUWiHiaUCIp47tE0tpFDjzXNTZc9E5CmCwxNjXTWEVqvRfWZYOTFvMa/ZQ==
+"@babel/plugin-transform-parameters@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f"
+  integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-property-literals@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1"
-  integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==
+"@babel/plugin-transform-property-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55"
+  integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-react-display-name@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676"
-  integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg==
+"@babel/plugin-transform-react-display-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340"
+  integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-react-jsx-development@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz#1cb52874678d23ab11d0d16488d54730807303ef"
-  integrity sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw==
+"@babel/plugin-transform-react-jsx-development@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8"
+  integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==
   dependencies:
-    "@babel/plugin-transform-react-jsx" "^7.16.0"
+    "@babel/plugin-transform-react-jsx" "^7.16.7"
 
-"@babel/plugin-transform-react-jsx@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1"
-  integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==
+"@babel/plugin-transform-react-jsx@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4"
+  integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.0"
-    "@babel/helper-module-imports" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/plugin-syntax-jsx" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-jsx" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/plugin-transform-react-pure-annotations@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz#23db6ddf558d8abde41b8ad9d59f48ad5532ccab"
-  integrity sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA==
+"@babel/plugin-transform-react-pure-annotations@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67"
+  integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-regenerator@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4"
-  integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==
+"@babel/plugin-transform-regenerator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb"
+  integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==
   dependencies:
     regenerator-transform "^0.14.2"
 
-"@babel/plugin-transform-reserved-words@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c"
-  integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==
+"@babel/plugin-transform-reserved-words@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586"
+  integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-shorthand-properties@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d"
-  integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==
+"@babel/plugin-transform-shorthand-properties@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a"
+  integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-spread@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb"
-  integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==
+"@babel/plugin-transform-spread@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44"
+  integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
     "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
 
-"@babel/plugin-transform-sticky-regex@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd"
-  integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==
+"@babel/plugin-transform-sticky-regex@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660"
+  integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-template-literals@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302"
-  integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==
+"@babel/plugin-transform-template-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab"
+  integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-typeof-symbol@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2"
-  integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==
+"@babel/plugin-transform-typeof-symbol@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e"
+  integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-unicode-escapes@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3"
-  integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==
+"@babel/plugin-transform-unicode-escapes@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3"
+  integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
-"@babel/plugin-transform-unicode-regex@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402"
-  integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==
+"@babel/plugin-transform-unicode-regex@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2"
+  integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
 
 "@babel/preset-env@^7.14.4":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.0.tgz#97228393d217560d6a1c6c56f0adb9d12bca67f5"
-  integrity sha512-cdTu/W0IrviamtnZiTfixPfIncr2M1VqRrkjzZWlr1B4TVYimCFK5jkyOdP4qw2MrlKHi+b3ORj6x8GoCew8Dg==
-  dependencies:
-    "@babel/compat-data" "^7.16.0"
-    "@babel/helper-compilation-targets" "^7.16.0"
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-validator-option" "^7.14.5"
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.0"
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0"
-    "@babel/plugin-proposal-async-generator-functions" "^7.16.0"
-    "@babel/plugin-proposal-class-properties" "^7.16.0"
-    "@babel/plugin-proposal-class-static-block" "^7.16.0"
-    "@babel/plugin-proposal-dynamic-import" "^7.16.0"
-    "@babel/plugin-proposal-export-namespace-from" "^7.16.0"
-    "@babel/plugin-proposal-json-strings" "^7.16.0"
-    "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0"
-    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0"
-    "@babel/plugin-proposal-numeric-separator" "^7.16.0"
-    "@babel/plugin-proposal-object-rest-spread" "^7.16.0"
-    "@babel/plugin-proposal-optional-catch-binding" "^7.16.0"
-    "@babel/plugin-proposal-optional-chaining" "^7.16.0"
-    "@babel/plugin-proposal-private-methods" "^7.16.0"
-    "@babel/plugin-proposal-private-property-in-object" "^7.16.0"
-    "@babel/plugin-proposal-unicode-property-regex" "^7.16.0"
+  version "7.16.11"
+  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982"
+  integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==
+  dependencies:
+    "@babel/compat-data" "^7.16.8"
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-validator-option" "^7.16.7"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7"
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7"
+    "@babel/plugin-proposal-async-generator-functions" "^7.16.8"
+    "@babel/plugin-proposal-class-properties" "^7.16.7"
+    "@babel/plugin-proposal-class-static-block" "^7.16.7"
+    "@babel/plugin-proposal-dynamic-import" "^7.16.7"
+    "@babel/plugin-proposal-export-namespace-from" "^7.16.7"
+    "@babel/plugin-proposal-json-strings" "^7.16.7"
+    "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7"
+    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7"
+    "@babel/plugin-proposal-numeric-separator" "^7.16.7"
+    "@babel/plugin-proposal-object-rest-spread" "^7.16.7"
+    "@babel/plugin-proposal-optional-catch-binding" "^7.16.7"
+    "@babel/plugin-proposal-optional-chaining" "^7.16.7"
+    "@babel/plugin-proposal-private-methods" "^7.16.11"
+    "@babel/plugin-proposal-private-property-in-object" "^7.16.7"
+    "@babel/plugin-proposal-unicode-property-regex" "^7.16.7"
     "@babel/plugin-syntax-async-generators" "^7.8.4"
     "@babel/plugin-syntax-class-properties" "^7.12.13"
     "@babel/plugin-syntax-class-static-block" "^7.14.5"
@@ -833,44 +844,44 @@
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
     "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
     "@babel/plugin-syntax-top-level-await" "^7.14.5"
-    "@babel/plugin-transform-arrow-functions" "^7.16.0"
-    "@babel/plugin-transform-async-to-generator" "^7.16.0"
-    "@babel/plugin-transform-block-scoped-functions" "^7.16.0"
-    "@babel/plugin-transform-block-scoping" "^7.16.0"
-    "@babel/plugin-transform-classes" "^7.16.0"
-    "@babel/plugin-transform-computed-properties" "^7.16.0"
-    "@babel/plugin-transform-destructuring" "^7.16.0"
-    "@babel/plugin-transform-dotall-regex" "^7.16.0"
-    "@babel/plugin-transform-duplicate-keys" "^7.16.0"
-    "@babel/plugin-transform-exponentiation-operator" "^7.16.0"
-    "@babel/plugin-transform-for-of" "^7.16.0"
-    "@babel/plugin-transform-function-name" "^7.16.0"
-    "@babel/plugin-transform-literals" "^7.16.0"
-    "@babel/plugin-transform-member-expression-literals" "^7.16.0"
-    "@babel/plugin-transform-modules-amd" "^7.16.0"
-    "@babel/plugin-transform-modules-commonjs" "^7.16.0"
-    "@babel/plugin-transform-modules-systemjs" "^7.16.0"
-    "@babel/plugin-transform-modules-umd" "^7.16.0"
-    "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0"
-    "@babel/plugin-transform-new-target" "^7.16.0"
-    "@babel/plugin-transform-object-super" "^7.16.0"
-    "@babel/plugin-transform-parameters" "^7.16.0"
-    "@babel/plugin-transform-property-literals" "^7.16.0"
-    "@babel/plugin-transform-regenerator" "^7.16.0"
-    "@babel/plugin-transform-reserved-words" "^7.16.0"
-    "@babel/plugin-transform-shorthand-properties" "^7.16.0"
-    "@babel/plugin-transform-spread" "^7.16.0"
-    "@babel/plugin-transform-sticky-regex" "^7.16.0"
-    "@babel/plugin-transform-template-literals" "^7.16.0"
-    "@babel/plugin-transform-typeof-symbol" "^7.16.0"
-    "@babel/plugin-transform-unicode-escapes" "^7.16.0"
-    "@babel/plugin-transform-unicode-regex" "^7.16.0"
+    "@babel/plugin-transform-arrow-functions" "^7.16.7"
+    "@babel/plugin-transform-async-to-generator" "^7.16.8"
+    "@babel/plugin-transform-block-scoped-functions" "^7.16.7"
+    "@babel/plugin-transform-block-scoping" "^7.16.7"
+    "@babel/plugin-transform-classes" "^7.16.7"
+    "@babel/plugin-transform-computed-properties" "^7.16.7"
+    "@babel/plugin-transform-destructuring" "^7.16.7"
+    "@babel/plugin-transform-dotall-regex" "^7.16.7"
+    "@babel/plugin-transform-duplicate-keys" "^7.16.7"
+    "@babel/plugin-transform-exponentiation-operator" "^7.16.7"
+    "@babel/plugin-transform-for-of" "^7.16.7"
+    "@babel/plugin-transform-function-name" "^7.16.7"
+    "@babel/plugin-transform-literals" "^7.16.7"
+    "@babel/plugin-transform-member-expression-literals" "^7.16.7"
+    "@babel/plugin-transform-modules-amd" "^7.16.7"
+    "@babel/plugin-transform-modules-commonjs" "^7.16.8"
+    "@babel/plugin-transform-modules-systemjs" "^7.16.7"
+    "@babel/plugin-transform-modules-umd" "^7.16.7"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8"
+    "@babel/plugin-transform-new-target" "^7.16.7"
+    "@babel/plugin-transform-object-super" "^7.16.7"
+    "@babel/plugin-transform-parameters" "^7.16.7"
+    "@babel/plugin-transform-property-literals" "^7.16.7"
+    "@babel/plugin-transform-regenerator" "^7.16.7"
+    "@babel/plugin-transform-reserved-words" "^7.16.7"
+    "@babel/plugin-transform-shorthand-properties" "^7.16.7"
+    "@babel/plugin-transform-spread" "^7.16.7"
+    "@babel/plugin-transform-sticky-regex" "^7.16.7"
+    "@babel/plugin-transform-template-literals" "^7.16.7"
+    "@babel/plugin-transform-typeof-symbol" "^7.16.7"
+    "@babel/plugin-transform-unicode-escapes" "^7.16.7"
+    "@babel/plugin-transform-unicode-regex" "^7.16.7"
     "@babel/preset-modules" "^0.1.5"
-    "@babel/types" "^7.16.0"
-    babel-plugin-polyfill-corejs2 "^0.2.3"
-    babel-plugin-polyfill-corejs3 "^0.3.0"
-    babel-plugin-polyfill-regenerator "^0.2.3"
-    core-js-compat "^3.19.0"
+    "@babel/types" "^7.16.8"
+    babel-plugin-polyfill-corejs2 "^0.3.0"
+    babel-plugin-polyfill-corejs3 "^0.5.0"
+    babel-plugin-polyfill-regenerator "^0.3.0"
+    core-js-compat "^3.20.2"
     semver "^6.3.0"
 
 "@babel/preset-modules@^0.1.5":
@@ -885,68 +896,69 @@
     esutils "^2.0.2"
 
 "@babel/preset-react@^7.13.13":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz#f71d3e8dff5218478011df037fad52660ee6d82a"
-  integrity sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw==
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852"
+  integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-    "@babel/helper-validator-option" "^7.14.5"
-    "@babel/plugin-transform-react-display-name" "^7.16.0"
-    "@babel/plugin-transform-react-jsx" "^7.16.0"
-    "@babel/plugin-transform-react-jsx-development" "^7.16.0"
-    "@babel/plugin-transform-react-pure-annotations" "^7.16.0"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-validator-option" "^7.16.7"
+    "@babel/plugin-transform-react-display-name" "^7.16.7"
+    "@babel/plugin-transform-react-jsx" "^7.16.7"
+    "@babel/plugin-transform-react-jsx-development" "^7.16.7"
+    "@babel/plugin-transform-react-pure-annotations" "^7.16.7"
 
 "@babel/runtime-corejs3@^7.10.2":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.0.tgz#58a7fb00e6948508f12f53a303993e8b6e2f6c70"
-  integrity sha512-Oi2qwQ21X7/d9gn3WiwkDTJmq3TQtYNz89lRnoFy8VeZpWlsyXvzSwiRrRZ8cXluvSwqKxqHJ6dBd9Rv+p0ZGQ==
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz#ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7"
+  integrity sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==
   dependencies:
-    core-js-pure "^3.19.0"
+    core-js-pure "^3.20.2"
     regenerator-runtime "^0.13.4"
 
-"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.14.8", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.0.tgz#e27b977f2e2088ba24748bf99b5e1dece64e4f0b"
-  integrity sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==
+"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.14.8", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa"
+  integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
   dependencies:
     regenerator-runtime "^0.13.4"
 
-"@babel/template@^7.16.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==
-  dependencies:
-    "@babel/code-frame" "^7.16.0"
-    "@babel/parser" "^7.16.0"
-    "@babel/types" "^7.16.0"
-
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.7.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz#965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b"
-  integrity sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==
-  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.0"
-    "@babel/types" "^7.16.0"
+"@babel/template@^7.16.7":
+  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.7"
+    "@babel/parser" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
+"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.7.0":
+  version "7.16.10"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f"
+  integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.16.8"
+    "@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.16.10"
+    "@babel/types" "^7.16.8"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.16.0", "@babel/types@^7.4.4", "@babel/types@^7.7.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.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1"
+  integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.15.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
 
 "@discoveryjs/json-ext@^0.5.0":
-  version "0.5.5"
-  resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz#9283c9ce5b289a3c4f61c12757469e59377f81f3"
-  integrity sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f"
+  integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==
 
 "@eslint/eslintrc@^0.4.3":
   version "0.4.3"
@@ -964,9 +976,9 @@
     strip-json-comments "^3.1.1"
 
 "@headlessui/react@^1.3.0":
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.4.1.tgz#0a8dbb20e1d63dcea55bfc3ab1b87637aaac7777"
-  integrity sha512-gL6Ns5xQM57cZBzX6IVv6L7nsam8rDEpRhs5fg28SN64ikfmuuMgunc+Rw5C1cMScnvFM+cz32ueVrlSFEVlSg==
+  version "1.4.3"
+  resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.4.3.tgz#f77c6bb5cb4a614a5d730fb880cab502d48abf37"
+  integrity sha512-n2IQkaaw0aAAlQS5MEXsM4uRK+w18CrM72EqnGRl/UBOQeQajad8oiKXR9Nk15jOzTFQjpxzrZMf1NxHidFBiw==
 
 "@heroicons/react@^1.0.1":
   version "1.0.5"
@@ -983,9 +995,9 @@
     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==
+  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==
 
 "@juggle/resize-observer@^3.3.1":
   version "3.3.1"
@@ -1071,17 +1083,17 @@
   integrity sha1-dvjy6RWa5WKWWy+g5vvuGqZDobw=
 
 "@types/eslint-scope@^3.7.0":
-  version "3.7.1"
-  resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e"
-  integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==
+  version "3.7.3"
+  resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224"
+  integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==
   dependencies:
     "@types/eslint" "*"
     "@types/estree" "*"
 
 "@types/eslint@*":
-  version "7.28.2"
-  resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.28.2.tgz#0ff2947cdd305897c52d5372294e8c76f351db68"
-  integrity sha512-KubbADPkfoU75KgKeKLsFHXnU4ipH7wYg0TRT33NK3N3yiu7jlFAAoygIWBV+KbuHx/G+AvuGX6DllnK35gfJA==
+  version "8.4.1"
+  resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304"
+  integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==
   dependencies:
     "@types/estree" "*"
     "@types/json-schema" "*"
@@ -1096,7 +1108,7 @@
   resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4"
   integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==
 
-"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8":
+"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@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==
@@ -1119,9 +1131,9 @@
   integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
 
 "@types/node@*":
-  version "16.11.6"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae"
-  integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==
+  version "17.0.13"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3"
+  integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==
 
 "@types/normalize-package-data@^2.4.0":
   version "2.4.1"
@@ -1259,22 +1271,22 @@
     "@webassemblyjs/ast" "1.11.0"
     "@xtuc/long" "4.2.2"
 
-"@webpack-cli/configtest@^1.1.0":
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043"
-  integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==
+"@webpack-cli/configtest@^1.1.1":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.1.tgz#9f53b1b7946a6efc2a749095a4f450e2932e8356"
+  integrity sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==
 
-"@webpack-cli/info@^1.4.0":
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223"
-  integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==
+"@webpack-cli/info@^1.4.1":
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.1.tgz#2360ea1710cbbb97ff156a3f0f24556e0fc1ebea"
+  integrity sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==
   dependencies:
     envinfo "^7.7.3"
 
-"@webpack-cli/serve@^1.6.0":
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2"
-  integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==
+"@webpack-cli/serve@^1.6.1":
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.1.tgz#0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe"
+  integrity sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==
 
 "@xtuc/ieee754@^1.2.0":
   version "1.2.0"
@@ -1321,15 +1333,29 @@ acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0:
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
 acorn@^8.0.4, acorn@^8.2.1:
-  version "8.5.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
-  integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
+  version "8.7.0"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
+  integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
+
+ajv-formats@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
+  integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
+  dependencies:
+    ajv "^8.0.0"
 
 ajv-keywords@^3.5.2:
   version "3.5.2"
   resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
   integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
 
+ajv-keywords@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16"
+  integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
+  dependencies:
+    fast-deep-equal "^3.1.3"
+
 ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
   version "6.12.6"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
@@ -1340,21 +1366,16 @@ ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
     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==
+ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0:
+  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"
 
-alphanum-sort@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-  integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
-
 alpinejs@^2.8.2:
   version "2.8.2"
   resolved "https://registry.yarnpkg.com/alpinejs/-/alpinejs-2.8.2.tgz#b14ec21ae3cd78dcee4aed0a78ed0f01b676dac4"
@@ -1412,7 +1433,7 @@ aria-query@^4.2.2:
     "@babel/runtime" "^7.10.2"
     "@babel/runtime-corejs3" "^7.10.2"
 
-array-includes@^3.1.1, array-includes@^3.1.3, array-includes@^3.1.4:
+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==
@@ -1437,7 +1458,7 @@ array.prototype.flat@^1.2.5:
     define-properties "^1.1.3"
     es-abstract "^1.19.0"
 
-array.prototype.flatmap@^1.2.4:
+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==
@@ -1462,16 +1483,16 @@ astral-regex@^2.0.0:
   integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
 
 autoprefixer@^10.2.6:
-  version "10.4.0"
-  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz#c3577eb32a1079a440ec253e404eaf1eb21388c8"
-  integrity sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==
+  version "10.4.2"
+  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b"
+  integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==
   dependencies:
-    browserslist "^4.17.5"
-    caniuse-lite "^1.0.30001272"
-    fraction.js "^4.1.1"
+    browserslist "^4.19.1"
+    caniuse-lite "^1.0.30001297"
+    fraction.js "^4.1.2"
     normalize-range "^0.1.2"
     picocolors "^1.0.0"
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
 autoprefixer@^9.8.6:
   version "9.8.8"
@@ -1486,7 +1507,7 @@ autoprefixer@^9.8.6:
     postcss "^7.0.32"
     postcss-value-parser "^4.1.0"
 
-axe-core@^4.0.2:
+axe-core@^4.3.5:
   version "4.3.5"
   resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5"
   integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==
@@ -1525,29 +1546,29 @@ babel-plugin-dynamic-import-node@^2.3.3:
   dependencies:
     object.assign "^4.1.0"
 
-babel-plugin-polyfill-corejs2@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f"
-  integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==
+babel-plugin-polyfill-corejs2@^0.3.0:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5"
+  integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==
   dependencies:
     "@babel/compat-data" "^7.13.11"
-    "@babel/helper-define-polyfill-provider" "^0.2.4"
+    "@babel/helper-define-polyfill-provider" "^0.3.1"
     semver "^6.1.1"
 
-babel-plugin-polyfill-corejs3@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz#fa7ca3d1ee9ddc6193600ffb632c9785d54918af"
-  integrity sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg==
+babel-plugin-polyfill-corejs3@^0.5.0:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060"
+  integrity sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==
   dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.2.4"
-    core-js-compat "^3.18.0"
+    "@babel/helper-define-polyfill-provider" "^0.3.1"
+    core-js-compat "^3.20.0"
 
-babel-plugin-polyfill-regenerator@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d"
-  integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==
+babel-plugin-polyfill-regenerator@^0.3.0:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990"
+  integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==
   dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.2.4"
+    "@babel/helper-define-polyfill-provider" "^0.3.1"
 
 bail@^1.0.0:
   version "1.0.5"
@@ -1604,13 +1625,13 @@ brfs@^1.3.0:
     static-module "^2.2.0"
     through2 "^2.0.0"
 
-browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4.17.5:
-  version "4.17.5"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.5.tgz#c827bbe172a4c22b123f5e337533ceebadfdd559"
-  integrity sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==
+browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.19.1:
+  version "4.19.1"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
+  integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
   dependencies:
-    caniuse-lite "^1.0.30001271"
-    electron-to-chromium "^1.3.878"
+    caniuse-lite "^1.0.30001286"
+    electron-to-chromium "^1.4.17"
     escalade "^3.1.1"
     node-releases "^2.0.1"
     picocolors "^1.0.0"
@@ -1626,9 +1647,9 @@ buffer-from@^1.0.0:
   integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
 
 bytes@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
-  integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+  integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
 
 call-bind@^1.0.0, call-bind@^1.0.2:
   version "1.0.2"
@@ -1672,10 +1693,10 @@ caniuse-api@^3.0.0:
     lodash.memoize "^4.1.2"
     lodash.uniq "^4.5.0"
 
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001271, caniuse-lite@^1.0.30001272:
-  version "1.0.30001274"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001274.tgz#26ca36204d15b17601ba6fc35dbdad950a647cc7"
-  integrity sha512-+Nkvv0fHyhISkiMIjnyjmf5YJcQ1IQHZN6U9TLUMroWR38FNwpsC51Gb68yueafX1V6ifOisInSgP9WJFS13ew==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297:
+  version "1.0.30001304"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001304.tgz#38af55ed3fc8220cb13e35e6e7309c8c65a05559"
+  integrity sha512-bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ==
 
 chalk@^2.0.0:
   version "2.4.2"
@@ -1710,14 +1731,14 @@ character-reference-invalid@^1.0.0:
   integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
 
 chart.js@^3.3.2:
-  version "3.6.0"
-  resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.6.0.tgz#a87fce8431d4e7c5523d721f487f53aada1e42fe"
-  integrity sha512-iOzzDKePL+bj+ccIsVAgWQehCXv8xOKGbaU2fO/myivH736zcx535PGJzQGanvcSGVOqX6yuLZsN3ygcQ35UgQ==
+  version "3.7.0"
+  resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.7.0.tgz#7a19c93035341df801d613993c2170a1fcf1d882"
+  integrity sha512-31gVuqqKp3lDIFmzpKIrBeum4OpZsQjSIAqlOpgjosHDJZlULtvwLEZKtEhIAZc7JMPaHlYMys40Qy9Mf+1AAg==
 
 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==
+  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"
@@ -1779,26 +1800,26 @@ color-name@^1.0.0, color-name@~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:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312"
-  integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==
+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@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/color/-/color-4.0.1.tgz#21df44cd10245a91b1ccf5ba031609b0e10e7d67"
-  integrity sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==
+  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.6.0"
+    color-string "^1.9.0"
 
-colord@^2.0.1, colord@^2.6:
-  version "2.9.1"
-  resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e"
-  integrity sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==
+colord@^2.9.1:
+  version "2.9.2"
+  resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1"
+  integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==
 
 colorette@^2.0.14:
   version "2.0.16"
@@ -1810,16 +1831,16 @@ commander@^2.20.0:
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
   integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
 
-commander@^6.0.0:
-  version "6.2.1"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
-  integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
-
 commander@^7.0.0, commander@^7.2.0:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
   integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
 
+commander@^8.0.0:
+  version "8.3.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
+  integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
 commondir@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -1853,30 +1874,29 @@ convert-source-map@^1.5.1, convert-source-map@^1.7.0:
     safe-buffer "~5.1.1"
 
 copy-webpack-plugin@^9.0.0:
-  version "9.0.1"
-  resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz#b71d21991599f61a4ee00ba79087b8ba279bbb59"
-  integrity sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==
+  version "9.1.0"
+  resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz#2d2c460c4c4695ec0a58afb2801a1205256c4e6b"
+  integrity sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==
   dependencies:
-    fast-glob "^3.2.5"
-    glob-parent "^6.0.0"
+    fast-glob "^3.2.7"
+    glob-parent "^6.0.1"
     globby "^11.0.3"
     normalize-path "^3.0.0"
-    p-limit "^3.1.0"
-    schema-utils "^3.0.0"
+    schema-utils "^3.1.1"
     serialize-javascript "^6.0.0"
 
-core-js-compat@^3.18.0, core-js-compat@^3.19.0:
-  version "3.19.0"
-  resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.0.tgz#b3b93f93c8721b3ed52b91f12f964cc410967f8b"
-  integrity sha512-R09rKZ56ccGBebjTLZHvzDxhz93YPT37gBm6qUhnwj3Kt7aCjjZWD1injyNbyeFHxNKfeZBSyds6O9n3MKq1sw==
+core-js-compat@^3.20.0, core-js-compat@^3.20.2:
+  version "3.20.3"
+  resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6"
+  integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==
   dependencies:
-    browserslist "^4.17.5"
+    browserslist "^4.19.1"
     semver "7.0.0"
 
-core-js-pure@^3.19.0:
-  version "3.19.0"
-  resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.0.tgz#db6fdadfdd4dc280ec93b64c3c2e8460e6f10094"
-  integrity sha512-UEQk8AxyCYvNAs6baNoPqDADv7BX0AmBLGxVsrAifPPx/C8EAzV4Q+2ZUJqVzfI2TQQEZITnwUkWcHpgc/IubQ==
+core-js-pure@^3.20.2:
+  version "3.20.3"
+  resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02"
+  integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==
 
 core-util-is@~1.0.0:
   version "1.0.3"
@@ -1908,15 +1928,10 @@ css-color-names@^0.0.4:
   resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
   integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
 
-css-color-names@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67"
-  integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==
-
 css-declaration-sorter@^6.0.3:
-  version "6.1.3"
-  resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2"
-  integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==
+  version "6.1.4"
+  resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz#b9bfb4ed9a41f8dcca9bf7184d849ea94a8294b4"
+  integrity sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==
   dependencies:
     timsort "^0.3.0"
 
@@ -1937,28 +1952,27 @@ css-loader@^5.2.6:
     semver "^7.3.5"
 
 css-minimizer-webpack-plugin@^3.0.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.1.1.tgz#27bafa3b75054713565b2266c64b0228acd18634"
-  integrity sha512-KlB8l5uoNcf9F7i5kXnkxoqJGd2BXH4f0+Lj2vSWSmuvMLYO1kNsJ1KHSzeDW8e45/whgSOPcKVT/3JopkT8dg==
+  version "3.4.1"
+  resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f"
+  integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==
   dependencies:
     cssnano "^5.0.6"
     jest-worker "^27.0.2"
-    p-limit "^3.0.2"
     postcss "^8.3.5"
-    schema-utils "^3.1.0"
+    schema-utils "^4.0.0"
     serialize-javascript "^6.0.0"
     source-map "^0.6.1"
 
 css-select@^4.1.3:
-  version "4.1.3"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067"
-  integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd"
+  integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==
   dependencies:
     boolbase "^1.0.0"
-    css-what "^5.0.0"
-    domhandler "^4.2.0"
-    domutils "^2.6.0"
-    nth-check "^2.0.0"
+    css-what "^5.1.0"
+    domhandler "^4.3.0"
+    domutils "^2.8.0"
+    nth-check "^2.0.1"
 
 css-tree@^1.1.2, css-tree@^1.1.3:
   version "1.1.3"
@@ -1973,7 +1987,7 @@ css-unit-converter@^1.1.1:
   resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21"
   integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==
 
-css-what@^5.0.0:
+css-what@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe"
   integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==
@@ -1983,53 +1997,52 @@ cssesc@^3.0.0:
   resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
   integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
 
-cssnano-preset-default@^5.1.4:
-  version "5.1.4"
-  resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz#359943bf00c5c8e05489f12dd25f3006f2c1cbd2"
-  integrity sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==
+cssnano-preset-default@^5.1.11:
+  version "5.1.11"
+  resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.11.tgz#db10fb1ecee310e8285c5aca45bd8237be206828"
+  integrity sha512-ETet5hqHxmzQq2ynXMOQofKuLm7VOjMiOB7E2zdtm/hSeCKlD9fabzIUV4GoPcRyJRHi+4kGf0vsfGYbQ4nmPw==
   dependencies:
     css-declaration-sorter "^6.0.3"
-    cssnano-utils "^2.0.1"
-    postcss-calc "^8.0.0"
-    postcss-colormin "^5.2.0"
-    postcss-convert-values "^5.0.1"
-    postcss-discard-comments "^5.0.1"
-    postcss-discard-duplicates "^5.0.1"
-    postcss-discard-empty "^5.0.1"
-    postcss-discard-overridden "^5.0.1"
-    postcss-merge-longhand "^5.0.2"
-    postcss-merge-rules "^5.0.2"
-    postcss-minify-font-values "^5.0.1"
-    postcss-minify-gradients "^5.0.2"
-    postcss-minify-params "^5.0.1"
-    postcss-minify-selectors "^5.1.0"
-    postcss-normalize-charset "^5.0.1"
-    postcss-normalize-display-values "^5.0.1"
-    postcss-normalize-positions "^5.0.1"
-    postcss-normalize-repeat-style "^5.0.1"
-    postcss-normalize-string "^5.0.1"
-    postcss-normalize-timing-functions "^5.0.1"
-    postcss-normalize-unicode "^5.0.1"
-    postcss-normalize-url "^5.0.2"
-    postcss-normalize-whitespace "^5.0.1"
-    postcss-ordered-values "^5.0.2"
-    postcss-reduce-initial "^5.0.1"
-    postcss-reduce-transforms "^5.0.1"
-    postcss-svgo "^5.0.2"
-    postcss-unique-selectors "^5.0.1"
-
-cssnano-utils@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2"
-  integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==
+    cssnano-utils "^3.0.1"
+    postcss-calc "^8.2.0"
+    postcss-colormin "^5.2.4"
+    postcss-convert-values "^5.0.3"
+    postcss-discard-comments "^5.0.2"
+    postcss-discard-duplicates "^5.0.2"
+    postcss-discard-empty "^5.0.2"
+    postcss-discard-overridden "^5.0.3"
+    postcss-merge-longhand "^5.0.5"
+    postcss-merge-rules "^5.0.5"
+    postcss-minify-font-values "^5.0.3"
+    postcss-minify-gradients "^5.0.5"
+    postcss-minify-params "^5.0.4"
+    postcss-minify-selectors "^5.1.2"
+    postcss-normalize-charset "^5.0.2"
+    postcss-normalize-display-values "^5.0.2"
+    postcss-normalize-positions "^5.0.3"
+    postcss-normalize-repeat-style "^5.0.3"
+    postcss-normalize-string "^5.0.3"
+    postcss-normalize-timing-functions "^5.0.2"
+    postcss-normalize-unicode "^5.0.3"
+    postcss-normalize-url "^5.0.4"
+    postcss-normalize-whitespace "^5.0.3"
+    postcss-ordered-values "^5.0.4"
+    postcss-reduce-initial "^5.0.2"
+    postcss-reduce-transforms "^5.0.3"
+    postcss-svgo "^5.0.3"
+    postcss-unique-selectors "^5.0.3"
+
+cssnano-utils@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.0.1.tgz#d3cc0a142d3d217f8736837ec0a2ccff6a89c6ea"
+  integrity sha512-VNCHL364lh++/ono+S3j9NlUK+d97KNkxI77NlqZU2W3xd2/qmyN61dsa47pTpb55zuU4G4lI7qFjAXZJH1OAQ==
 
 cssnano@^5.0.6:
-  version "5.0.8"
-  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.8.tgz#39ad166256980fcc64faa08c9bb18bb5789ecfa9"
-  integrity sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==
+  version "5.0.16"
+  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.16.tgz#4ee97d30411693f3de24cef70b36f7ae2a843e04"
+  integrity sha512-ryhRI9/B9VFCwPbb1z60LLK5/ldoExi7nwdnJzpkLZkm2/r7j2X3jfY+ZvDVJhC/0fPZlrAguYdHNFg0iglPKQ==
   dependencies:
-    cssnano-preset-default "^5.1.4"
-    is-resolvable "^1.1.0"
+    cssnano-preset-default "^5.1.11"
     lilconfig "^2.0.3"
     yaml "^1.10.2"
 
@@ -2041,9 +2054,9 @@ csso@^4.2.0:
     css-tree "^1.1.2"
 
 csstype@^3.0.2:
-  version "3.0.9"
-  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b"
-  integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==
+  version "3.0.10"
+  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5"
+  integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==
 
 d3-geo-projection@0.2:
   version "0.2.16"
@@ -2067,10 +2080,10 @@ d3@3, d3@^3.5.6:
   resolved "https://registry.yarnpkg.com/d3/-/d3-3.5.17.tgz#bc46748004378b21a360c9fc7cf5231790762fb8"
   integrity sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=
 
-damerau-levenshtein@^1.0.6:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d"
-  integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==
+damerau-levenshtein@^1.0.7:
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
+  integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
 
 datamaps@^0.5.9:
   version "0.5.9"
@@ -2101,9 +2114,9 @@ debug@^3.2.7:
     ms "^2.1.1"
 
 debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
-  version "4.3.2"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
-  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+  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"
 
@@ -2219,10 +2232,10 @@ domhandler@^2.3.0:
   dependencies:
     domelementtype "1"
 
-domhandler@^4.2.0:
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f"
-  integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==
+domhandler@^4.2.0, domhandler@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626"
+  integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==
   dependencies:
     domelementtype "^2.2.0"
 
@@ -2234,7 +2247,7 @@ domutils@^1.5.1:
     dom-serializer "0"
     domelementtype "1"
 
-domutils@^2.6.0:
+domutils@^2.8.0:
   version "2.8.0"
   resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
   integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
@@ -2266,17 +2279,17 @@ duplexer@^0.1.2:
   resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
   integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
 
-electron-to-chromium@^1.3.878:
-  version "1.3.885"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz#c8cec32fbc61364127849ae00f2395a1bae7c454"
-  integrity sha512-JXKFJcVWrdHa09n4CNZYfYaK6EW5aAew7/wr3L1OnsD1L+JHL+RCtd7QgIsxUbFPeTwPlvnpqNNTOLkoefmtXg==
+electron-to-chromium@^1.4.17:
+  version "1.4.57"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz#2b2766df76ac8dbc0a1d41249bc5684a31849892"
+  integrity sha512-FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw==
 
 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==
 
-emoji-regex@^9.0.0:
+emoji-regex@^9.2.2:
   version "9.2.2"
   resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
   integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
@@ -2415,50 +2428,50 @@ eslint-import-resolver-node@^0.3.6:
     debug "^3.2.7"
     resolve "^1.20.0"
 
-eslint-module-utils@^2.7.0:
-  version "2.7.1"
-  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c"
-  integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==
+eslint-module-utils@^2.7.2:
+  version "2.7.3"
+  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee"
+  integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==
   dependencies:
     debug "^3.2.7"
     find-up "^2.1.0"
-    pkg-dir "^2.0.0"
 
 eslint-plugin-import@^2.22.1:
-  version "2.25.2"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz#b3b9160efddb702fc1636659e71ba1d10adbe9e9"
-  integrity sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==
+  version "2.25.4"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1"
+  integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==
   dependencies:
     array-includes "^3.1.4"
     array.prototype.flat "^1.2.5"
     debug "^2.6.9"
     doctrine "^2.1.0"
     eslint-import-resolver-node "^0.3.6"
-    eslint-module-utils "^2.7.0"
+    eslint-module-utils "^2.7.2"
     has "^1.0.3"
-    is-core-module "^2.7.0"
+    is-core-module "^2.8.0"
     is-glob "^4.0.3"
     minimatch "^3.0.4"
     object.values "^1.1.5"
     resolve "^1.20.0"
-    tsconfig-paths "^3.11.0"
+    tsconfig-paths "^3.12.0"
 
 eslint-plugin-jsx-a11y@^6.4.1:
-  version "6.4.1"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd"
-  integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==
+  version "6.5.1"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8"
+  integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==
   dependencies:
-    "@babel/runtime" "^7.11.2"
+    "@babel/runtime" "^7.16.3"
     aria-query "^4.2.2"
-    array-includes "^3.1.1"
+    array-includes "^3.1.4"
     ast-types-flow "^0.0.7"
-    axe-core "^4.0.2"
+    axe-core "^4.3.5"
     axobject-query "^2.2.0"
-    damerau-levenshtein "^1.0.6"
-    emoji-regex "^9.0.0"
+    damerau-levenshtein "^1.0.7"
+    emoji-regex "^9.2.2"
     has "^1.0.3"
-    jsx-ast-utils "^3.1.0"
+    jsx-ast-utils "^3.2.1"
     language-tags "^1.0.5"
+    minimatch "^3.0.4"
 
 eslint-plugin-prettier@^3.3.0:
   version "3.4.1"
@@ -2468,29 +2481,29 @@ eslint-plugin-prettier@^3.3.0:
     prettier-linter-helpers "^1.0.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==
+  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.21.5:
-  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==
+  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.3"
-    array.prototype.flatmap "^1.2.4"
+    array-includes "^3.1.4"
+    array.prototype.flatmap "^1.2.5"
     doctrine "^2.1.0"
-    estraverse "^5.2.0"
+    estraverse "^5.3.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"
+    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.5"
+    string.prototype.matchall "^4.0.6"
 
 eslint-scope@5.1.1, eslint-scope@^5.1.1:
   version "5.1.1"
@@ -2601,7 +2614,7 @@ estraverse@^4.1.1, estraverse@^4.2.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.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==
@@ -2663,10 +2676,10 @@ fast-diff@^1.1.2:
   resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
   integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
 
-fast-glob@^3.1.1, fast-glob@^3.2.5, fast-glob@^3.2.7:
-  version "3.2.7"
-  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
-  integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
+fast-glob@^3.2.5, fast-glob@^3.2.7, 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"
@@ -2748,19 +2761,19 @@ flatpickr@^4.6.2:
   integrity sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==
 
 flatted@^3.1.0:
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561"
-  integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==
+  version "3.2.5"
+  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
+  integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
 
 foreach@^2.0.5:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
   integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
 
-fraction.js@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.1.tgz#ac4e520473dae67012d618aab91eda09bcb400ff"
-  integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==
+fraction.js@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8"
+  integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==
 
 fs-extra@^10.0.0:
   version "10.0.0"
@@ -2830,7 +2843,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
   dependencies:
     is-glob "^4.0.1"
 
-glob-parent@^6.0.0, glob-parent@^6.0.1:
+glob-parent@^6.0.1:
   version "6.0.2"
   resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
   integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
@@ -2842,7 +2855,7 @@ glob-to-regexp@^0.4.1:
   resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
   integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
 
-glob@^7.0.0, glob@^7.1.3:
+glob@^7.1.3, glob@^7.1.7:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
   integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
@@ -2883,15 +2896,15 @@ globals@^13.6.0, globals@^13.9.0:
     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==
+  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.1.1"
-    ignore "^5.1.4"
-    merge2 "^1.3.0"
+    fast-glob "^3.2.9"
+    ignore "^5.2.0"
+    merge2 "^1.4.1"
     slash "^3.0.0"
 
 globjoin@^0.1.4:
@@ -2907,9 +2920,9 @@ gonzales-pe@^4.3.0:
     minimist "^1.2.5"
 
 graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
-  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==
 
 gzip-size@^6.0.0:
   version "6.0.0"
@@ -2987,9 +3000,9 @@ hosted-git-info@^2.1.4:
   integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
 
 hosted-git-info@^4.0.1:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
-  integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
+  integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
   dependencies:
     lru-cache "^6.0.0"
 
@@ -3045,17 +3058,10 @@ ignore@^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-cwd@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92"
-  integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==
-  dependencies:
-    import-from "^3.0.0"
+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"
@@ -3065,22 +3071,15 @@ import-fresh@^3.0.0, import-fresh@^3.2.1:
     parent-module "^1.0.0"
     resolve-from "^4.0.0"
 
-import-from@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966"
-  integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==
-  dependencies:
-    resolve-from "^5.0.0"
-
 import-lazy@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
   integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==
 
 import-local@^3.0.2:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0"
-  integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
+  integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
   dependencies:
     pkg-dir "^4.2.0"
     resolve-cwd "^3.0.0"
@@ -3127,11 +3126,6 @@ interpret@^2.2.0:
   resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9"
   integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
 
-is-absolute-url@^3.0.3:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
-  integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
-
 is-alphabetical@^1.0.0:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
@@ -3199,10 +3193,10 @@ is-color-stop@^1.1.0:
     rgb-regex "^1.0.1"
     rgba-regex "^1.0.0"
 
-is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.7.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.2.0, is-core-module@^2.5.0, is-core-module@^2.8.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"
 
@@ -3241,9 +3235,9 @@ is-hexadecimal@^1.0.0:
   integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
 
 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==
+  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"
@@ -3287,11 +3281,6 @@ is-regexp@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d"
   integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==
 
-is-resolvable@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
-  integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
-
 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"
@@ -3327,11 +3316,11 @@ is-unicode-supported@^0.1.0:
   integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
 
 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==
+  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.0"
+    call-bind "^1.0.2"
 
 isarray@0.0.1:
   version "0.0.1"
@@ -3358,10 +3347,10 @@ isobject@^3.0.1:
   resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
   integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
 
-jest-worker@^27.0.2, jest-worker@^27.0.6:
-  version "27.3.1"
-  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2"
-  integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==
+jest-worker@^27.0.2, jest-worker@^27.4.1:
+  version "27.4.6"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e"
+  integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==
   dependencies:
     "@types/node" "*"
     merge-stream "^2.0.0"
@@ -3438,7 +3427,7 @@ jsonfile@^6.0.1:
   optionalDependencies:
     graceful-fs "^4.1.6"
 
-"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0:
+"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1:
   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==
@@ -3451,7 +3440,7 @@ kind-of@^6.0.2, kind-of@^6.0.3:
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
   integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
 
-klona@^2.0.4:
+klona@^2.0.5:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc"
   integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
@@ -3489,15 +3478,15 @@ levn@~0.3.0:
     prelude-ls "~1.1.2"
     type-check "~0.3.2"
 
-lilconfig@^2.0.3:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd"
-  integrity sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==
+lilconfig@^2.0.3, lilconfig@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082"
+  integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==
 
 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=
+  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==
 
 loader-runner@^4.2.0:
   version "4.2.0"
@@ -3514,9 +3503,9 @@ loader-utils@^1.4.0:
     json5 "^1.0.1"
 
 loader-utils@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.1.tgz#3b8d4386f42378d6434d32d7bc08e7a52d39575e"
-  integrity sha512-g4miPa9uUrZz4iElkaVJgDFwKJGh8aQGM7pUL4ejXl6cu7kSb30seQOVGNMP6sW8j7DW77X68hJZ+GM7UGhXeQ==
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129"
+  integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==
   dependencies:
     big.js "^5.2.2"
     emojis-list "^3.0.0"
@@ -3542,11 +3531,6 @@ lodash.castarray@^4.4.0:
   resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115"
   integrity sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=
 
-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.debounce@^4.0.8:
   version "4.0.8"
   resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@@ -3706,7 +3690,7 @@ merge-stream@^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.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==
@@ -3727,22 +3711,17 @@ micromatch@^4.0.4:
     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-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.27:
-  version "2.1.33"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb"
-  integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==
+  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.50.0"
-
-mime@^2.3.1:
-  version "2.5.2"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
-  integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
+    mime-db "1.51.0"
 
 mimic-fn@^2.1.0:
   version "2.1.0"
@@ -3802,6 +3781,11 @@ modern-normalize@^1.1.0:
   resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.1.0.tgz#da8e80140d9221426bd4f725c6e11283d34f90b7"
   integrity sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==
 
+mrmime@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b"
+  integrity sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==
+
 ms@2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -3817,15 +3801,10 @@ ms@^2.1.1:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
   integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
 
-nanocolors@^0.1.12:
-  version "0.1.12"
-  resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6"
-  integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==
-
 nanoid@^3.1.30:
-  version "3.1.30"
-  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362"
-  integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c"
+  integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==
 
 natural-compare@^1.4.0:
   version "1.4.0"
@@ -3896,7 +3875,7 @@ npm-run-path@^4.0.1:
   dependencies:
     path-key "^3.0.0"
 
-nth-check@^2.0.0:
+nth-check@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2"
   integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==
@@ -3919,9 +3898,9 @@ object-hash@^2.2.0:
   integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==
 
 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==
+  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-inspect@~1.4.0:
   version "1.4.1"
@@ -3943,7 +3922,7 @@ object.assign@^4.1.0, object.assign@^4.1.2:
     has-symbols "^1.0.1"
     object-keys "^1.1.1"
 
-object.entries@^1.1.4:
+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==
@@ -3952,7 +3931,7 @@ object.entries@^1.1.4:
     define-properties "^1.1.3"
     es-abstract "^1.19.1"
 
-object.fromentries@^2.0.4:
+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==
@@ -3961,7 +3940,7 @@ object.fromentries@^2.0.4:
     define-properties "^1.1.3"
     es-abstract "^1.19.1"
 
-object.hasown@^1.0.0:
+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==
@@ -3969,7 +3948,7 @@ object.hasown@^1.0.0:
     define-properties "^1.1.3"
     es-abstract "^1.19.1"
 
-object.values@^1.1.4, object.values@^1.1.5:
+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==
@@ -4042,13 +4021,6 @@ p-limit@^2.2.0:
   dependencies:
     p-try "^2.0.0"
 
-p-limit@^3.0.2, p-limit@^3.1.0:
-  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@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
@@ -4122,7 +4094,7 @@ path-key@^3.0.0, path-key@^3.1.0:
   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.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==
@@ -4156,16 +4128,9 @@ picocolors@^1.0.0:
   integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
 
 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@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
-  integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
-  dependencies:
-    find-up "^2.1.0"
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
 
 pkg-dir@^4.1.0, pkg-dir@^4.2.0:
   version "4.2.0"
@@ -4174,50 +4139,50 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0:
   dependencies:
     find-up "^4.0.0"
 
-postcss-calc@^8.0.0:
-  version "8.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a"
-  integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==
+postcss-calc@^8.2.0:
+  version "8.2.3"
+  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.3.tgz#53b95ce93de19213c2a5fdd71277a81690ef41d0"
+  integrity sha512-EGM2EBBWqP57N0E7N7WOLT116PJ39dwHVU01WO4XPPQLJfkL2xVgkMZ+TZvCfapj/uJH07UEfKHQNPHzSw/14Q==
   dependencies:
     postcss-selector-parser "^6.0.2"
     postcss-value-parser "^4.0.2"
 
-postcss-colormin@^5.2.0:
-  version "5.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.0.tgz#2b620b88c0ff19683f3349f4cf9e24ebdafb2c88"
-  integrity sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==
+postcss-colormin@^5.2.4:
+  version "5.2.4"
+  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.4.tgz#7726d3f3d24f111d39faff50a6500688225d5324"
+  integrity sha512-rYlC5015aNqVQt/B6Cy156g7sH5tRUJGmT9xeagYthtKehetbKx7jHxhyLpulP4bs4vbp8u/B2rac0J7S7qPQg==
   dependencies:
     browserslist "^4.16.6"
     caniuse-api "^3.0.0"
-    colord "^2.0.1"
-    postcss-value-parser "^4.1.0"
+    colord "^2.9.1"
+    postcss-value-parser "^4.2.0"
 
-postcss-convert-values@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz#4ec19d6016534e30e3102fdf414e753398645232"
-  integrity sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==
+postcss-convert-values@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.3.tgz#492db08a28af84d57651f10edc8f6c8fb2f6df40"
+  integrity sha512-fVkjHm2T0PSMqXUCIhHNWVGjhB9mHEWX2GboVs7j3iCgr6FpIl9c/IdXy0PHWZSQ9LFTRgmj98amxJE6KOnlsA==
   dependencies:
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-discard-comments@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe"
-  integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==
+postcss-discard-comments@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.2.tgz#811ed34e2b6c40713daab0beb4d7a04125927dcd"
+  integrity sha512-6VQ3pYTsJHEsN2Bic88Aa7J/Brn4Bv8j/rqaFQZkH+pcVkKYwxCIvoMQkykEW7fBjmofdTnQgcivt5CCBJhtrg==
 
-postcss-discard-duplicates@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d"
-  integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==
+postcss-discard-duplicates@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.2.tgz#61076f3d256351bdaac8e20aade730fef0609f44"
+  integrity sha512-LKY81YjUjc78p6rbXIsnppsaFo8XzCoMZkXVILJU//sK0DgPkPSpuq/cZvHss3EtdKvWNYgWzQL+wiJFtEET4g==
 
-postcss-discard-empty@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8"
-  integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==
+postcss-discard-empty@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.2.tgz#0676a9bcfc44bb00d338352a45ab80845a31d8f0"
+  integrity sha512-SxBsbTjlsKUvZLL+dMrdWauuNZU8TBq5IOL/DHa6jBUSXFEwmDqeXRfTIK/FQpPTa8MJMxEHjSV3UbiuyLARPQ==
 
-postcss-discard-overridden@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6"
-  integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==
+postcss-discard-overridden@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.3.tgz#004b9818cabb407e60616509267567150b327a3f"
+  integrity sha512-yRTXknIZA4k8Yo4FiF1xbsLj/VBxfXEWxJNIrtIy6HC9KQ4xJxcPtoaaskh6QptCGrrcGnhKsTsENTRPZOBu4g==
 
 postcss-html@^0.36.0:
   version "0.36.0"
@@ -4242,21 +4207,20 @@ postcss-less@^3.1.4:
     postcss "^7.0.14"
 
 postcss-load-config@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.0.tgz#d39c47091c4aec37f50272373a6a648ef5e97829"
-  integrity sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.1.tgz#2f53a17f2f543d9e63864460af42efdac0d41f87"
+  integrity sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==
   dependencies:
-    import-cwd "^3.0.0"
-    lilconfig "^2.0.3"
+    lilconfig "^2.0.4"
     yaml "^1.10.2"
 
 postcss-loader@^6.1.1:
-  version "6.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.0.tgz#714370a3f567141cf4cadcdf9575f5234d186bc5"
-  integrity sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==
+  version "6.2.1"
+  resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef"
+  integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==
   dependencies:
     cosmiconfig "^7.0.0"
-    klona "^2.0.4"
+    klona "^2.0.5"
     semver "^7.3.5"
 
 postcss-media-query-parser@^0.2.3:
@@ -4264,59 +4228,54 @@ postcss-media-query-parser@^0.2.3:
   resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
   integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=
 
-postcss-merge-longhand@^5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz#277ada51d9a7958e8ef8cf263103c9384b322a41"
-  integrity sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==
+postcss-merge-longhand@^5.0.5:
+  version "5.0.5"
+  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.5.tgz#cbc217ca22fb5a3e6ee22a6a1aa6920ec1f3c628"
+  integrity sha512-R2BCPJJ/U2oh1uTWEYn9CcJ7MMcQ1iIbj9wfr2s/zHu5om5MP/ewKdaunpfJqR1WYzqCsgnXuRoVXPAzxdqy8g==
   dependencies:
-    css-color-names "^1.0.1"
-    postcss-value-parser "^4.1.0"
-    stylehacks "^5.0.1"
+    postcss-value-parser "^4.2.0"
+    stylehacks "^5.0.2"
 
-postcss-merge-rules@^5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz#d6e4d65018badbdb7dcc789c4f39b941305d410a"
-  integrity sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==
+postcss-merge-rules@^5.0.5:
+  version "5.0.5"
+  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.5.tgz#2a18669ec214019884a60f0a0d356803a8138366"
+  integrity sha512-3Oa26/Pb9VOFVksJjFG45SNoe4nhGvJ2Uc6TlRimqF8uhfOCEhVCaJ3rvEat5UFOn2UZqTY5Da8dFgCh3Iq0Ug==
   dependencies:
     browserslist "^4.16.6"
     caniuse-api "^3.0.0"
-    cssnano-utils "^2.0.1"
+    cssnano-utils "^3.0.1"
     postcss-selector-parser "^6.0.5"
-    vendors "^1.0.3"
 
-postcss-minify-font-values@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf"
-  integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==
+postcss-minify-font-values@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.3.tgz#48c455c4cd980ecd07ac9bf3fc58e9d8a2ae4168"
+  integrity sha512-bC45rVzEwsLhv/cL1eCjoo2OOjbSk9I7HKFBYnBvtyuIZlf7uMipMATXtA0Fc3jwPo3wuPIW1jRJWKzflMh1sA==
   dependencies:
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-minify-gradients@^5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz#7c175c108f06a5629925d698b3c4cf7bd3864ee5"
-  integrity sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==
+postcss-minify-gradients@^5.0.5:
+  version "5.0.5"
+  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.5.tgz#a5572b9c98ed52cbd7414db24b873f8b9e418290"
+  integrity sha512-/YjvXs8PepsoiZAIpjstOO4IHKwFAqYNqbA1yVdqklM84tbUUneh6omJxGlRlF3mi6K5Pa067Mg6IwqEnYC8Zg==
   dependencies:
-    colord "^2.6"
-    cssnano-utils "^2.0.1"
-    postcss-value-parser "^4.1.0"
+    colord "^2.9.1"
+    cssnano-utils "^3.0.1"
+    postcss-value-parser "^4.2.0"
 
-postcss-minify-params@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz#371153ba164b9d8562842fdcd929c98abd9e5b6c"
-  integrity sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==
+postcss-minify-params@^5.0.4:
+  version "5.0.4"
+  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.4.tgz#230a4d04456609e614db1d48c2eebc21f6490a45"
+  integrity sha512-Z0vjod9lRZEmEPfEmA2sCfjbfEEFKefMD3RDIQSUfXK4LpCyWkX1CniUgyNvnjJFLDPSxtgKzozhHhPHKoeGkg==
   dependencies:
-    alphanum-sort "^1.0.2"
-    browserslist "^4.16.0"
-    cssnano-utils "^2.0.1"
-    postcss-value-parser "^4.1.0"
-    uniqs "^2.0.0"
+    browserslist "^4.16.6"
+    cssnano-utils "^3.0.1"
+    postcss-value-parser "^4.2.0"
 
-postcss-minify-selectors@^5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54"
-  integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==
+postcss-minify-selectors@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.2.tgz#bc9698f713b9dab7f44f1ec30643fcbad9a043c0"
+  integrity sha512-gpn1nJDMCf3g32y/7kl+jsdamhiYT+/zmEt57RoT9GmzlixBNRPohI7k8UIHelLABhdLf3MSZhtM33xuH5eQOQ==
   dependencies:
-    alphanum-sort "^1.0.2"
     postcss-selector-parser "^6.0.5"
 
 postcss-modules-extract-imports@^3.0.0:
@@ -4354,96 +4313,91 @@ postcss-nested@5.0.6:
   dependencies:
     postcss-selector-parser "^6.0.6"
 
-postcss-normalize-charset@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0"
-  integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==
+postcss-normalize-charset@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.2.tgz#eb6130c8a8e950ce25f9ea512de1d9d6a6f81439"
+  integrity sha512-fEMhYXzO8My+gC009qDc/3bgnFP8Fv1Ic8uw4ec4YTlhIOw63tGPk1YFd7fk9bZUf1DAbkhiL/QPWs9JLqdF2g==
 
-postcss-normalize-display-values@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd"
-  integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==
+postcss-normalize-display-values@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz#8b5273c6c7d0a445e6ef226b8a5bb3204a55fb99"
+  integrity sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==
   dependencies:
-    cssnano-utils "^2.0.1"
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-positions@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5"
-  integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==
+postcss-normalize-positions@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.3.tgz#b63fcc4ff5fbf65934fafaf83270b2da214711d1"
+  integrity sha512-U+rmhjrNBvIGYqr/1tD4wXPFFMKUbXsYXvlUCzLi0tOCUS6LoeEAnmVXXJY/MEB/1CKZZwBSs2tmzGawcygVBA==
   dependencies:
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-repeat-style@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5"
-  integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==
+postcss-normalize-repeat-style@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.3.tgz#488c0ad8aac0fa4f66ef56cc8d604b3fd9bf705f"
+  integrity sha512-uk1+xYx0AMbA3nLSNhbDrqbf/rx+Iuq5tVad2VNyaxxJzx79oGieJ6D9F6AfOL2GtiIbP7vTYlpYHtG+ERFXTg==
   dependencies:
-    cssnano-utils "^2.0.1"
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-string@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0"
-  integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==
+postcss-normalize-string@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.3.tgz#49e0a1d58a119d5435ef21893ad03136a6e8f0e6"
+  integrity sha512-Mf2V4JbIDboNGQhW6xW0YREDiYXoX3WrD3EjKkjvnpAJ6W4qqjLnK/c9aioyVFaWWHVdP5zVRw/9DI5S3oLDFw==
   dependencies:
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-timing-functions@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c"
-  integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==
+postcss-normalize-timing-functions@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz#db4f4f49721f47667afd1fdc5edb032f8d9cdb2e"
+  integrity sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==
   dependencies:
-    cssnano-utils "^2.0.1"
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-unicode@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37"
-  integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==
+postcss-normalize-unicode@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.3.tgz#10f0d30093598a58c48a616491cc7fa53256dd43"
+  integrity sha512-uNC7BmS/7h6to2UWa4RFH8sOTzu2O9dVWPE/F9Vm9GdhONiD/c1kNaCLbmsFHlKWcEx7alNUChQ+jH/QAlqsQw==
   dependencies:
-    browserslist "^4.16.0"
-    postcss-value-parser "^4.1.0"
+    browserslist "^4.16.6"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-url@^5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz#ddcdfb7cede1270740cf3e4dfc6008bd96abc763"
-  integrity sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==
+postcss-normalize-url@^5.0.4:
+  version "5.0.4"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz#3b0322c425e31dd275174d0d5db0e466f50810fb"
+  integrity sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==
   dependencies:
-    is-absolute-url "^3.0.3"
     normalize-url "^6.0.1"
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-whitespace@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a"
-  integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==
+postcss-normalize-whitespace@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.3.tgz#fb6bcc9ff2f834448b802657c7acd0956f4591d1"
+  integrity sha512-333JWRnX655fSoUbufJ10HJop3c8mrpKkCCUnEmgz/Cb/QEtW+/TMZwDAUt4lnwqP6tCCk0x0b58jqvDgiQm/A==
   dependencies:
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-ordered-values@^5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044"
-  integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==
+postcss-ordered-values@^5.0.4:
+  version "5.0.4"
+  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.4.tgz#f799dca87a7f17526d31a20085e61768d0b00534"
+  integrity sha512-taKtGDZtyYUMVYkg+MuJeBUiTF6cGHZmo/qcW7ibvW79UlyKuSHbo6dpCIiqI+j9oJsXWzP+ovIxoyLDOeQFdw==
   dependencies:
-    cssnano-utils "^2.0.1"
-    postcss-value-parser "^4.1.0"
+    cssnano-utils "^3.0.1"
+    postcss-value-parser "^4.2.0"
 
-postcss-reduce-initial@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz#9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946"
-  integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==
+postcss-reduce-initial@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz#fa424ce8aa88a89bc0b6d0f94871b24abe94c048"
+  integrity sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==
   dependencies:
-    browserslist "^4.16.0"
+    browserslist "^4.16.6"
     caniuse-api "^3.0.0"
 
-postcss-reduce-transforms@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640"
-  integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==
+postcss-reduce-transforms@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.3.tgz#df60fab34698a43073e8b87938c71df7a3b040ac"
+  integrity sha512-yDnTUab5i7auHiNwdcL1f+pBnqQFf+7eC4cbC7D8Lc1FkvNZhtpkdad+9U4wDdFb84haupMf0rA/Zc5LcTe/3A==
   dependencies:
-    cssnano-utils "^2.0.1"
-    postcss-value-parser "^4.1.0"
+    postcss-value-parser "^4.2.0"
 
 postcss-resolve-nested-selector@^0.1.1:
   version "0.1.1"
@@ -4473,44 +4427,42 @@ postcss-scss@^2.1.1:
     postcss "^7.0.6"
 
 postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6:
-  version "6.0.6"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
-  integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==
+  version "6.0.9"
+  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f"
+  integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==
   dependencies:
     cssesc "^3.0.0"
     util-deprecate "^1.0.2"
 
-postcss-svgo@^5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.2.tgz#bc73c4ea4c5a80fbd4b45e29042c34ceffb9257f"
-  integrity sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==
+postcss-svgo@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30"
+  integrity sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==
   dependencies:
     postcss-value-parser "^4.1.0"
-    svgo "^2.3.0"
+    svgo "^2.7.0"
 
 postcss-syntax@^0.36.2:
   version "0.36.2"
   resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c"
   integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==
 
-postcss-unique-selectors@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz#3be5c1d7363352eff838bd62b0b07a0abad43bfc"
-  integrity sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==
+postcss-unique-selectors@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.3.tgz#07fd116a8fbd9202e7030f7c4952e7b52c26c63d"
+  integrity sha512-V5tX2hadSSn+miVCluuK1IDGy+7jAXSOfRZ2DQ+s/4uQZb/orDYBjH0CHgFrXsRw78p4QTuEFA9kI6C956UnHQ==
   dependencies:
-    alphanum-sort "^1.0.2"
     postcss-selector-parser "^6.0.5"
-    uniqs "^2.0.0"
 
 postcss-value-parser@^3.3.0:
   version "3.3.1"
   resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
   integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
 
-postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
-  integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
+postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+  integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
 
 postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6:
   version "7.0.39"
@@ -4520,14 +4472,14 @@ postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.
     picocolors "^0.2.1"
     source-map "^0.6.1"
 
-postcss@^8.1.6, postcss@^8.2.1, postcss@^8.2.15, postcss@^8.3.0, postcss@^8.3.5:
-  version "8.3.11"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858"
-  integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==
+postcss@^8.1.6, postcss@^8.2.15, postcss@^8.3.0, postcss@^8.3.5:
+  version "8.4.5"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95"
+  integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
   dependencies:
     nanoid "^3.1.30"
     picocolors "^1.0.0"
-    source-map-js "^0.6.2"
+    source-map-js "^1.0.1"
 
 prelude-ls@^1.2.1:
   version "1.2.1"
@@ -4562,13 +4514,13 @@ progress@^2.0.0:
   integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
 
 prop-types@^15.5.10, prop-types@^15.6.2, 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==
+  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.8.1"
+    react-is "^16.13.1"
 
 punycode@^2.1.0:
   version "2.1.1"
@@ -4576,14 +4528,14 @@ punycode@^2.1.0:
   integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
 purgecss@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-4.0.3.tgz#8147b429f9c09db719e05d64908ea8b672913742"
-  integrity sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==
+  version "4.1.3"
+  resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-4.1.3.tgz#683f6a133c8c4de7aa82fe2746d1393b214918f7"
+  integrity sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==
   dependencies:
-    commander "^6.0.0"
-    glob "^7.0.0"
-    postcss "^8.2.1"
-    postcss-selector-parser "^6.0.2"
+    commander "^8.0.0"
+    glob "^7.1.7"
+    postcss "^8.3.5"
+    postcss-selector-parser "^6.0.6"
 
 queue-microtask@^1.2.2:
   version "1.2.3"
@@ -4639,7 +4591,7 @@ react-flip-move@^3.0.4:
   resolved "https://registry.yarnpkg.com/react-flip-move/-/react-flip-move-3.0.4.tgz#261f66101fbc305f9b7b28959c5cf8236413ca74"
   integrity sha512-HyUVv9g3t/BS7Yz9HgrtYSWyRNdR2F81nkj+C5iRY675AwlqCLB5JU9mnZWg0cdVz7IM4iquoyZx70vzZv3Z8Q==
 
-react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1:
+react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0:
   version "16.13.1"
   resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
   integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -4793,9 +4745,9 @@ regenerator-transform@^0.14.2:
     "@babel/runtime" "^7.8.4"
 
 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==
+  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"
@@ -4885,12 +4837,13 @@ resolve-pathname@^3.0.0:
   integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
 
 resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.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"
 
 resolve@^2.0.0-next.3:
   version "2.0.0-next.3"
@@ -4961,7 +4914,7 @@ schema-utils@^2.6.5:
     ajv "^6.12.4"
     ajv-keywords "^3.5.2"
 
-schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1:
+schema-utils@^3.0.0, schema-utils@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
   integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
@@ -4970,6 +4923,16 @@ schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1:
     ajv "^6.12.5"
     ajv-keywords "^3.5.2"
 
+schema-utils@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7"
+  integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==
+  dependencies:
+    "@types/json-schema" "^7.0.9"
+    ajv "^8.8.0"
+    ajv-formats "^2.1.1"
+    ajv-keywords "^5.0.0"
+
 "semver@2 || 3 || 4 || 5":
   version "5.7.1"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
@@ -5042,9 +5005,9 @@ side-channel@^1.0.4:
     object-inspect "^1.9.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==
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
+  integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
 
 simple-swizzle@^0.2.2:
   version "0.2.2"
@@ -5054,12 +5017,12 @@ simple-swizzle@^0.2.2:
     is-arrayish "^0.3.1"
 
 sirv@^1.0.7:
-  version "1.0.18"
-  resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.18.tgz#105fab52fb656ce8a2bebbf36b11052005952899"
-  integrity sha512-f2AOPogZmXgJ9Ma2M22ZEhc1dNtRIzcEkiflMFeVTRq+OViOZMvH1IPMVOwrKaxpSaHioBJiDR0SluRqGa7atA==
+  version "1.0.19"
+  resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49"
+  integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==
   dependencies:
     "@polka/url" "^1.0.0-next.20"
-    mime "^2.3.1"
+    mrmime "^1.0.0"
     totalist "^1.0.0"
 
 slash@^3.0.0:
@@ -5081,15 +5044,15 @@ source-list-map@^2.0.0, source-list-map@^2.0.1:
   resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
   integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
 
-source-map-js@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
-  integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
+source-map-js@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
 
 source-map-support@~0.5.20:
-  version "0.5.20"
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9"
-  integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==
+  version "0.5.21"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+  integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
   dependencies:
     buffer-from "^1.0.0"
     source-map "^0.6.0"
@@ -5131,9 +5094,9 @@ spdx-expression-parse@^3.0.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==
+  version "3.0.11"
+  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
+  integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
 
 specificity@^0.4.1:
   version "0.4.1"
@@ -5186,7 +5149,7 @@ string-width@^4.2.2, string-width@^4.2.3:
     is-fullwidth-code-point "^3.0.0"
     strip-ansi "^6.0.1"
 
-string.prototype.matchall@^4.0.5:
+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==
@@ -5264,12 +5227,12 @@ style-search@^0.1.0:
   resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
   integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=
 
-stylehacks@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb"
-  integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==
+stylehacks@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.2.tgz#fa10e5181c6e8dc0bddb4a3fb372e9ac42bba2ad"
+  integrity sha512-114zeJdOpTrbQYRD4OU5UWJ99LKUaqCPJTU1HQ/n3q3BwmllFN8kHENaLnOeqVq6AhXrWfxHNZTl33iJ4oy3cQ==
   dependencies:
-    browserslist "^4.16.0"
+    browserslist "^4.16.6"
     postcss-selector-parser "^6.0.4"
 
 stylelint-config-prettier@^8.0.2:
@@ -5371,31 +5334,35 @@ supports-color@^8.0.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==
+
 svg-tags@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
   integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=
 
-svgo@^2.3.0:
-  version "2.7.0"
-  resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.7.0.tgz#e164cded22f4408fe4978f082be80159caea1e2d"
-  integrity sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==
+svgo@^2.7.0:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24"
+  integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
   dependencies:
     "@trysound/sax" "0.2.0"
     commander "^7.2.0"
     css-select "^4.1.3"
     css-tree "^1.1.3"
     csso "^4.2.0"
-    nanocolors "^0.1.12"
+    picocolors "^1.0.0"
     stable "^0.1.8"
 
 table@^6.0.9, table@^6.6.0:
-  version "6.7.2"
-  resolved "https://registry.yarnpkg.com/table/-/table-6.7.2.tgz#a8d39b9f5966693ca8b0feba270a78722cbaf3b0"
-  integrity sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==
+  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.clonedeep "^4.5.0"
     lodash.truncate "^4.4.2"
     slice-ansi "^4.0.0"
     string-width "^4.2.3"
@@ -5445,21 +5412,20 @@ tapable@^2.1.1, tapable@^2.2.0:
   integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
 
 terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.1.2:
-  version "5.2.4"
-  resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz#ad1be7639b1cbe3ea49fab995cbe7224b31747a1"
-  integrity sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz#21641326486ecf91d8054161c816e464435bae9f"
+  integrity sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==
   dependencies:
-    jest-worker "^27.0.6"
-    p-limit "^3.1.0"
+    jest-worker "^27.4.1"
     schema-utils "^3.1.1"
     serialize-javascript "^6.0.0"
     source-map "^0.6.1"
     terser "^5.7.2"
 
 terser@^5.7.2:
-  version "5.9.0"
-  resolved "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351"
-  integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc"
+  integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==
   dependencies:
     commander "^2.20.0"
     source-map "~0.7.2"
@@ -5539,10 +5505,10 @@ trough@^1.0.0:
   resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
   integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
 
-tsconfig-paths@^3.11.0:
-  version "3.11.0"
-  resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36"
-  integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==
+tsconfig-paths@^3.12.0:
+  version "3.12.0"
+  resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b"
+  integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==
   dependencies:
     "@types/json5" "^0.0.29"
     json5 "^1.0.1"
@@ -5645,11 +5611,6 @@ unified@^9.1.0:
     trough "^1.0.0"
     vfile "^4.0.0"
 
-uniqs@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-  integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
-
 unist-util-find-all-after@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6"
@@ -5709,11 +5670,6 @@ value-equal@^1.0.1:
   resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"
   integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==
 
-vendors@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
-  integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
-
 vfile-message@^2.0.0:
   version "2.0.4"
   resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
@@ -5738,9 +5694,9 @@ vlq@^0.2.2:
   integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==
 
 watchpack@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce"
-  integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25"
+  integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==
   dependencies:
     glob-to-regexp "^0.4.1"
     graceful-fs "^4.1.2"
@@ -5761,14 +5717,14 @@ webpack-bundle-analyzer@^4.4.2:
     ws "^7.3.1"
 
 webpack-cli@^4.7.0:
-  version "4.9.1"
-  resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3"
-  integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==
+  version "4.9.2"
+  resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.2.tgz#77c1adaea020c3f9e2db8aad8ea78d235c83659d"
+  integrity sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==
   dependencies:
     "@discoveryjs/json-ext" "^0.5.0"
-    "@webpack-cli/configtest" "^1.1.0"
-    "@webpack-cli/info" "^1.4.0"
-    "@webpack-cli/serve" "^1.6.0"
+    "@webpack-cli/configtest" "^1.1.1"
+    "@webpack-cli/info" "^1.4.1"
+    "@webpack-cli/serve" "^1.6.1"
     colorette "^2.0.14"
     commander "^7.0.0"
     execa "^5.0.0"
@@ -5887,9 +5843,9 @@ write-file-atomic@^3.0.3:
     typedarray-to-buffer "^3.1.5"
 
 ws@^7.3.1:
-  version "7.5.5"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881"
-  integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==
+  version "7.5.6"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b"
+  integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==
 
 xtend@^4.0.2, xtend@~4.0.1:
   version "4.0.2"
@@ -5911,11 +5867,6 @@ yargs-parser@^20.2.3:
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
   integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
 
-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==
-
 zwitch@^1.0.0:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"
diff --git a/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix b/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix
index 044005f80ec2..8429259ef895 100644
--- a/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix
+++ b/nixpkgs/pkgs/servers/web-apps/plausible/yarn.nix
@@ -10,179 +10,187 @@
       };
     }
     {
-      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";
-        sha1 = "0dfc80309beec8411e65e706461c408b0bb9b431";
+        name = "_babel_code_frame___code_frame_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha1 = "44416b6bd7624b998f5b1af5d470856c40138789";
       };
     }
     {
-      name = "_babel_compat_data___compat_data_7.16.0.tgz";
+      name = "_babel_compat_data___compat_data_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_compat_data___compat_data_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz";
-        sha1 = "ea269d7f78deb3a7826c39a4048eecda541ebdaa";
+        name = "_babel_compat_data___compat_data_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz";
+        sha1 = "31560f9f29fdf1868de8cb55049538a1b9732a60";
       };
     }
     {
-      name = "_babel_core___core_7.16.0.tgz";
+      name = "_babel_core___core_7.16.12.tgz";
       path = fetchurl {
-        name = "_babel_core___core_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz";
-        sha1 = "c4ff44046f5fe310525cc9eb4ef5147f0c5374d4";
+        name = "_babel_core___core_7.16.12.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz";
+        sha1 = "5edc53c1b71e54881315923ae2aedea2522bb784";
       };
     }
     {
-      name = "_babel_generator___generator_7.16.0.tgz";
+      name = "_babel_generator___generator_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz";
-        sha1 = "d40f3d1d5075e62d3500bccb67f3daa8a95265b2";
+        name = "_babel_generator___generator_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz";
+        sha1 = "359d44d966b8cd059d543250ce79596f792f2ebe";
       };
     }
     {
-      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.16.0.tgz";
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz";
-        sha1 = "9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d";
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
+        sha1 = "bb2339a7534a9c128e3102024c60760a3a7f3862";
       };
     }
     {
-      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.16.0.tgz";
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz";
-        sha1 = "f1a686b92da794020c26582eb852e9accd0d7882";
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
+        sha1 = "38d138561ea207f0f69eb1626a418e4f7e6a580b";
       };
     }
     {
-      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.0.tgz";
+      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz";
-        sha1 = "01d615762e796c17952c29e3ede9d6de07d235a8";
+        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz";
+        sha1 = "06e66c5f299601e6c7da350049315e83209d551b";
       };
     }
     {
-      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.16.0.tgz";
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.16.10.tgz";
       path = fetchurl {
-        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz";
-        sha1 = "090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b";
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.16.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz";
+        sha1 = "8a6959b9cc818a88815ba3c5474619e9c0f2c21c";
       };
     }
     {
-      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.16.0.tgz";
+      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz";
-        sha1 = "06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff";
+        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz";
+        sha1 = "0cb82b9bac358eb73bfbd73985a776bfa6b14d48";
       };
     }
     {
-      name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.2.4.tgz";
+      name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.3.1.tgz";
       path = fetchurl {
-        name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz";
-        sha1 = "8867aed79d3ea6cade40f801efb7ac5c66916b10";
+        name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz";
+        sha1 = "52411b445bdb2e676869e5a74960d2d3826d2665";
       };
     }
     {
-      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.16.0.tgz";
+      name = "_babel_helper_environment_visitor___helper_environment_visitor_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz";
-        sha1 = "753017337a15f46f9c09f674cff10cee9b9d7778";
+        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";
+        sha1 = "ff484094a839bde9d89cd63cba017d7aae80ecd7";
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.16.0.tgz";
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_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";
-        sha1 = "b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481";
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
+        sha1 = "12a6d8522fdd834f194e868af6354e8650242b7a";
       };
     }
     {
-      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";
-        sha1 = "0088c7486b29a9cb5d948b1a1de46db66e089cfa";
+        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";
+        sha1 = "f1ec51551fb1c8956bc8dd95f38523b6cf375f8f";
       };
     }
     {
-      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";
-        sha1 = "4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a";
+        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";
+        sha1 = "ea08ac753117a669f1508ba06ebcc49156387419";
       };
     }
     {
-      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.16.0.tgz";
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz";
-        sha1 = "29287040efd197c77636ef75188e81da8bccd5a4";
+        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";
+        sha1 = "86bcb19a77a509c7b77d0e22323ef588fa58c246";
       };
     }
     {
-      name = "_babel_helper_module_imports___helper_module_imports_7.16.0.tgz";
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_imports___helper_module_imports_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz";
-        sha1 = "90538e60b672ecf1b448f5f4f5433d37e79a3ec3";
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz";
+        sha1 = "42b9ca4b2b200123c3b7e726b0ae5153924905b0";
       };
     }
     {
-      name = "_babel_helper_module_transforms___helper_module_transforms_7.16.0.tgz";
+      name = "_babel_helper_module_imports___helper_module_imports_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_transforms___helper_module_transforms_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz";
-        sha1 = "1c82a8dd4cb34577502ebd2909699b194c3e9bb5";
+        name = "_babel_helper_module_imports___helper_module_imports_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha1 = "25612a8091a999704461c8a222d0efec5d091437";
       };
     }
     {
-      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.16.0.tgz";
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz";
-        sha1 = "cecdb145d70c54096b1564f8e9f10cd7d193b338";
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz";
+        sha1 = "7665faeb721a01ca5327ddc6bba15a5cb34b6a41";
       };
     }
     {
-      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz";
-        sha1 = "5ac822ce97eec46741ab70a517971e443a70c5a9";
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
+        sha1 = "a34e3560605abbd31a18546bd2aad3e6d9a174f2";
       };
     }
     {
-      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.0.tgz";
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.0.tgz";
-        sha1 = "d5aa3b086e13a5fe05238ff40c3a5a0c2dab3ead";
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz";
+        sha1 = "aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5";
       };
     }
     {
-      name = "_babel_helper_replace_supers___helper_replace_supers_7.16.0.tgz";
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_helper_replace_supers___helper_replace_supers_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz";
-        sha1 = "73055e8d3cf9bcba8ddb55cad93fedc860f68f17";
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
+        sha1 = "29ffaade68a367e2ed09c90901986918d25e57e3";
       };
     }
     {
-      name = "_babel_helper_simple_access___helper_simple_access_7.16.0.tgz";
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_simple_access___helper_simple_access_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz";
-        sha1 = "21d6a27620e383e37534cf6c10bba019a6f90517";
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz";
+        sha1 = "e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1";
+      };
+    }
+    {
+      name = "_babel_helper_simple_access___helper_simple_access_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz";
+        sha1 = "d656654b9ea08dbb9659b69d61063ccd343ff0f7";
       };
     }
     {
@@ -194,195 +202,195 @@
       };
     }
     {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.0.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_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";
-        sha1 = "29672f43663e936df370aaeb22beddb3baec7438";
+        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";
+        sha1 = "0b648c0c42da9d3920d85ad585f2778620b8726b";
       };
     }
     {
-      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";
+        sha1 = "e8c602438c4a8195751243da9031d1607d247cad";
       };
     }
     {
-      name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
+      name = "_babel_helper_validator_option___helper_validator_option_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
-        sha1 = "6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3";
+        name = "_babel_helper_validator_option___helper_validator_option_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha1 = "b203ce62ce5fe153899b617c08957de860de4d23";
       };
     }
     {
-      name = "_babel_helper_wrap_function___helper_wrap_function_7.16.0.tgz";
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_helper_wrap_function___helper_wrap_function_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz";
-        sha1 = "b3cf318afce774dfe75b86767cd6d68f3482e57c";
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
+        sha1 = "58afda087c4cd235de92f7ceedebca2c41274200";
       };
     }
     {
-      name = "_babel_helpers___helpers_7.16.0.tgz";
+      name = "_babel_helpers___helpers_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helpers___helpers_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.0.tgz";
-        sha1 = "875519c979c232f41adfbd43a3b0398c2e388183";
+        name = "_babel_helpers___helpers_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz";
+        sha1 = "7e3504d708d50344112767c3542fc5e357fffefc";
       };
     }
     {
-      name = "_babel_highlight___highlight_7.16.0.tgz";
+      name = "_babel_highlight___highlight_7.16.10.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz";
-        sha1 = "6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a";
+        name = "_babel_highlight___highlight_7.16.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha1 = "744f2eb81579d6eea753c227b0f570ad785aba88";
       };
     }
     {
-      name = "_babel_parser___parser_7.16.0.tgz";
+      name = "_babel_parser___parser_7.16.12.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.0.tgz";
-        sha1 = "cf147d7ada0a3655e79bf4b08ee846f00a00a295";
+        name = "_babel_parser___parser_7.16.12.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz";
+        sha1 = "9474794f9a650cf5e2f892444227f98e28cdf8b6";
       };
     }
     {
-      name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.0.tgz";
+      name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.0.tgz";
-        sha1 = "efb7f147042aca34ce8156a055906a7abaadeaf0";
+        name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz";
+        sha1 = "4eda6d6c2a0aa79c70fa7b6da67763dfe2141050";
       };
     }
     {
-      name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.16.0.tgz";
+      name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz";
-        sha1 = "358972eaab006f5eb0826183b0c93cbcaf13e1e2";
+        name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz";
+        sha1 = "cc001234dfc139ac45f6bcf801866198c8c72ff9";
       };
     }
     {
-      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.0.tgz";
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.0.tgz";
-        sha1 = "11425d47a60364352f668ad5fbc1d6596b2c5caf";
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz";
+        sha1 = "3bdd1ebbe620804ea9416706cd67d60787504bc8";
       };
     }
     {
-      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.16.0.tgz";
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz";
-        sha1 = "c029618267ddebc7280fa286e0f8ca2a278a2d1a";
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz";
+        sha1 = "925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0";
       };
     }
     {
-      name = "_babel_plugin_proposal_class_static_block___plugin_proposal_class_static_block_7.16.0.tgz";
+      name = "_babel_plugin_proposal_class_static_block___plugin_proposal_class_static_block_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_class_static_block___plugin_proposal_class_static_block_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz";
-        sha1 = "5296942c564d8144c83eea347d0aa8a0b89170e7";
+        name = "_babel_plugin_proposal_class_static_block___plugin_proposal_class_static_block_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz";
+        sha1 = "712357570b612106ef5426d13dc433ce0f200c2a";
       };
     }
     {
-      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.16.0.tgz";
+      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz";
-        sha1 = "783eca61d50526202f9b296095453977e88659f1";
+        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
+        sha1 = "c19c897eaa46b27634a00fee9fb7d829158704b2";
       };
     }
     {
-      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.16.0.tgz";
+      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz";
-        sha1 = "9c01dee40b9d6b847b656aaf4a3976a71740f222";
+        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz";
+        sha1 = "09de09df18445a5786a305681423ae63507a6163";
       };
     }
     {
-      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.16.0.tgz";
+      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz";
-        sha1 = "cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25";
+        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz";
+        sha1 = "9732cb1d17d9a2626a08c5be25186c195b6fa6e8";
       };
     }
     {
-      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.16.0.tgz";
+      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz";
-        sha1 = "a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd";
+        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz";
+        sha1 = "be23c0ba74deec1922e639832904be0bea73cdea";
       };
     }
     {
-      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.16.0.tgz";
+      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz";
-        sha1 = "44e1cce08fe2427482cf446a91bb451528ed0596";
+        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz";
+        sha1 = "141fc20b6857e59459d430c850a0011e36561d99";
       };
     }
     {
-      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.16.0.tgz";
+      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz";
-        sha1 = "5d418e4fbbf8b9b7d03125d3a52730433a373734";
+        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
+        sha1 = "d6b69f4af63fb38b6ca2558442a7fb191236eba9";
       };
     }
     {
-      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.16.0.tgz";
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz";
-        sha1 = "5fb32f6d924d6e6712810362a60e12a2609872e6";
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz";
+        sha1 = "94593ef1ddf37021a25bdcb5754c4a8d534b01d8";
       };
     }
     {
-      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.16.0.tgz";
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz";
-        sha1 = "5910085811ab4c28b00d6ebffa4ab0274d1e5f16";
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
+        sha1 = "c623a430674ffc4ab732fd0a0ae7722b67cb74cf";
       };
     }
     {
-      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.16.0.tgz";
+      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz";
-        sha1 = "56dbc3970825683608e9efb55ea82c2a2d6c8dc0";
+        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz";
+        sha1 = "7cd629564724816c0e8a969535551f943c64c39a";
       };
     }
     {
-      name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.16.0.tgz";
+      name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.16.11.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz";
-        sha1 = "b4dafb9c717e4301c5776b30d080d6383c89aff6";
+        name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.16.11.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz";
+        sha1 = "e8df108288555ff259f4527dbe84813aac3a1c50";
       };
     }
     {
-      name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.16.0.tgz";
+      name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz";
-        sha1 = "69e935b2c5c79d2488112d886f0c4e2790fee76f";
+        name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz";
+        sha1 = "b0b8cef543c2c3d57e59e2c611994861d46a3fce";
       };
     }
     {
-      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.16.0.tgz";
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz";
-        sha1 = "890482dfc5ea378e42e19a71e709728cabf18612";
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz";
+        sha1 = "635d18eb10c6214210ffc5ff4932552de08188a2";
       };
     }
     {
@@ -434,11 +442,11 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.16.0.tgz";
+      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz";
-        sha1 = "f9624394317365a9a88c82358d3f8471154698f1";
+        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz";
+        sha1 = "50b6571d13f764266a113d77c82b4a6508bbe665";
       };
     }
     {
@@ -506,299 +514,299 @@
       };
     }
     {
-      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.16.0.tgz";
+      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz";
-        sha1 = "951706f8b449c834ed07bd474c0924c944b95a8e";
+        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz";
+        sha1 = "44125e653d94b98db76369de9c396dc14bef4154";
       };
     }
     {
-      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.16.0.tgz";
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz";
-        sha1 = "df12637f9630ddfa0ef9d7a11bc414d629d38604";
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz";
+        sha1 = "b83dff4b970cf41f1b819f8b49cc0cfbaa53a808";
       };
     }
     {
-      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.16.0.tgz";
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz";
-        sha1 = "c618763233ad02847805abcac4c345ce9de7145d";
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
+        sha1 = "4d0d57d9632ef6062cdf354bb717102ee042a620";
       };
     }
     {
-      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.16.0.tgz";
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz";
-        sha1 = "bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16";
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz";
+        sha1 = "f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87";
       };
     }
     {
-      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.16.0.tgz";
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz";
-        sha1 = "54cf5ff0b2242c6573d753cd4bfc7077a8b282f5";
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz";
+        sha1 = "8f4b9562850cd973de3b498f1218796eb181ce00";
       };
     }
     {
-      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.16.0.tgz";
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz";
-        sha1 = "e0c385507d21e1b0b076d66bed6d5231b85110b7";
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz";
+        sha1 = "66dee12e46f61d2aae7a73710f591eb3df616470";
       };
     }
     {
-      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.16.0.tgz";
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz";
-        sha1 = "ad3d7e74584ad5ea4eadb1e6642146c590dee33c";
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz";
+        sha1 = "ca9588ae2d63978a4c29d3f33282d8603f618e23";
       };
     }
     {
-      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.16.0.tgz";
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz";
-        sha1 = "50bab00c1084b6162d0a58a818031cf57798e06f";
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
+        sha1 = "6b2d67686fab15fb6a7fd4bd895d5982cfc81241";
       };
     }
     {
-      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.16.0.tgz";
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz";
-        sha1 = "8bc2e21813e3e89e5e5bf3b60aa5fc458575a176";
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz";
+        sha1 = "2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9";
       };
     }
     {
-      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.16.0.tgz";
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz";
-        sha1 = "a180cd2881e3533cef9d3901e48dad0fbeff4be4";
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
+        sha1 = "efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b";
       };
     }
     {
-      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.16.0.tgz";
+      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz";
-        sha1 = "f7abaced155260e2461359bbc7c7248aca5e6bd2";
+        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz";
+        sha1 = "649d639d4617dff502a9a158c479b3b556728d8c";
       };
     }
     {
-      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.16.0.tgz";
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz";
-        sha1 = "02e3699c284c6262236599f751065c5d5f1f400e";
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
+        sha1 = "5ab34375c64d61d083d7d2f05c38d90b97ec65cf";
       };
     }
     {
-      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.16.0.tgz";
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz";
-        sha1 = "79711e670ffceb31bd298229d50f3621f7980cac";
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz";
+        sha1 = "254c9618c5ff749e87cb0c0cef1a0a050c0bdab1";
       };
     }
     {
-      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.16.0.tgz";
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz";
-        sha1 = "5251b4cce01eaf8314403d21aedb269d79f5e64b";
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
+        sha1 = "6e5dcf906ef8a098e630149d14c867dd28f92384";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.16.0.tgz";
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz";
-        sha1 = "09abd41e18dcf4fd479c598c1cef7bd39eb1337e";
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz";
+        sha1 = "b28d323016a7daaae8609781d1f8c9da42b13186";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.16.0.tgz";
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz";
-        sha1 = "add58e638c8ddc4875bd9a9ecb5c594613f6c922";
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz";
+        sha1 = "cdee19aae887b16b9d331009aa9a219af7c86afe";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.16.0.tgz";
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz";
-        sha1 = "a92cf240afeb605f4ca16670453024425e421ea4";
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz";
+        sha1 = "887cefaef88e684d29558c2b13ee0563e287c2d7";
       };
     }
     {
-      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.16.0.tgz";
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz";
-        sha1 = "195f26c2ad6d6a391b70880effce18ce625e06a7";
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz";
+        sha1 = "23dad479fa585283dbd22215bff12719171e7618";
       };
     }
     {
-      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.16.0.tgz";
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz";
-        sha1 = "d3db61cc5d5b97986559967cd5ea83e5c32096ca";
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
+        sha1 = "7f860e0e40d844a02c9dcf9d84965e7dfd666252";
       };
     }
     {
-      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.16.0.tgz";
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz";
-        sha1 = "af823ab576f752215a49937779a41ca65825ab35";
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz";
+        sha1 = "9967d89a5c243818e0800fdad89db22c5f514244";
       };
     }
     {
-      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.16.0.tgz";
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz";
-        sha1 = "fb20d5806dc6491a06296ac14ea8e8d6fedda72b";
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
+        sha1 = "ac359cf8d32cf4354d27a46867999490b6c32a94";
       };
     }
     {
-      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.0.tgz";
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.0.tgz";
-        sha1 = "1b50765fc421c229819dc4c7cdb8911660b3c2d7";
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz";
+        sha1 = "a1721f55b99b736511cb7e0152f61f17688f331f";
       };
     }
     {
-      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.16.0.tgz";
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz";
-        sha1 = "a95c552189a96a00059f6776dc4e00e3690c78d1";
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
+        sha1 = "2dadac85155436f22c696c4827730e0fe1057a55";
       };
     }
     {
-      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.16.0.tgz";
+      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz";
-        sha1 = "9a0ad8aa8e8790883a7bd2736f66229a58125676";
+        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz";
+        sha1 = "7b6d40d232f4c0f550ea348593db3b21e2404340";
       };
     }
     {
-      name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.16.0.tgz";
+      name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz";
-        sha1 = "1cb52874678d23ab11d0d16488d54730807303ef";
+        name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz";
+        sha1 = "43a00724a3ed2557ed3f276a01a929e6686ac7b8";
       };
     }
     {
-      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.16.0.tgz";
+      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz";
-        sha1 = "55b797d4960c3de04e07ad1c0476e2bc6a4889f1";
+        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz";
+        sha1 = "86a6a220552afd0e4e1f0388a68a372be7add0d4";
       };
     }
     {
-      name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.16.0.tgz";
+      name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz";
-        sha1 = "23db6ddf558d8abde41b8ad9d59f48ad5532ccab";
+        name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz";
+        sha1 = "232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67";
       };
     }
     {
-      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.16.0.tgz";
+      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz";
-        sha1 = "eaee422c84b0232d03aea7db99c97deeaf6125a4";
+        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
+        sha1 = "9e7576dc476cb89ccc5096fff7af659243b4adeb";
       };
     }
     {
-      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.16.0.tgz";
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz";
-        sha1 = "fff4b9dcb19e12619394bda172d14f2d04c0379c";
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz";
+        sha1 = "1d798e078f7c5958eec952059c460b220a63f586";
       };
     }
     {
-      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.16.0.tgz";
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz";
-        sha1 = "090372e3141f7cc324ed70b3daf5379df2fa384d";
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
+        sha1 = "e8549ae4afcf8382f711794c0c7b6b934c5fbd2a";
       };
     }
     {
-      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.16.0.tgz";
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz";
-        sha1 = "d21ca099bbd53ab307a8621e019a7bd0f40cdcfb";
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz";
+        sha1 = "a303e2122f9f12e0105daeedd0f30fb197d8ff44";
       };
     }
     {
-      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.16.0.tgz";
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz";
-        sha1 = "c35ea31a02d86be485f6aa510184b677a91738fd";
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
+        sha1 = "c84741d4f4a38072b9a1e2e3fd56d359552e8660";
       };
     }
     {
-      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.16.0.tgz";
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz";
-        sha1 = "a8eced3a8e7b8e2d40ec4ec4548a45912630d302";
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz";
+        sha1 = "f3d1c45d28967c8e80f53666fc9c3e50618217ab";
       };
     }
     {
-      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.16.0.tgz";
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz";
-        sha1 = "8b19a244c6f8c9d668dca6a6f754ad6ead1128f2";
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz";
+        sha1 = "9cdbe622582c21368bd482b660ba87d5545d4f7e";
       };
     }
     {
-      name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.16.0.tgz";
+      name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz";
-        sha1 = "1a354064b4c45663a32334f46fa0cf6100b5b1f3";
+        name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
+        sha1 = "da8717de7b3287a2c6d659750c964f302b31ece3";
       };
     }
     {
-      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.16.0.tgz";
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz";
-        sha1 = "293b80950177c8c85aede87cef280259fb995402";
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
+        sha1 = "0f7aa4a501198976e25e82702574c34cfebe9ef2";
       };
     }
     {
-      name = "_babel_preset_env___preset_env_7.16.0.tgz";
+      name = "_babel_preset_env___preset_env_7.16.11.tgz";
       path = fetchurl {
-        name = "_babel_preset_env___preset_env_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.0.tgz";
-        sha1 = "97228393d217560d6a1c6c56f0adb9d12bca67f5";
+        name = "_babel_preset_env___preset_env_7.16.11.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz";
+        sha1 = "5dd88fd885fae36f88fd7c8342475c9f0abe2982";
       };
     }
     {
@@ -810,59 +818,59 @@
       };
     }
     {
-      name = "_babel_preset_react___preset_react_7.16.0.tgz";
+      name = "_babel_preset_react___preset_react_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_preset_react___preset_react_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz";
-        sha1 = "f71d3e8dff5218478011df037fad52660ee6d82a";
+        name = "_babel_preset_react___preset_react_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz";
+        sha1 = "4c18150491edc69c183ff818f9f2aecbe5d93852";
       };
     }
     {
-      name = "_babel_runtime_corejs3___runtime_corejs3_7.16.0.tgz";
+      name = "_babel_runtime_corejs3___runtime_corejs3_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_runtime_corejs3___runtime_corejs3_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.0.tgz";
-        sha1 = "58a7fb00e6948508f12f53a303993e8b6e2f6c70";
+        name = "_babel_runtime_corejs3___runtime_corejs3_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz";
+        sha1 = "ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7";
       };
     }
     {
-      name = "_babel_runtime___runtime_7.16.0.tgz";
+      name = "_babel_runtime___runtime_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_runtime___runtime_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.0.tgz";
-        sha1 = "e27b977f2e2088ba24748bf99b5e1dece64e4f0b";
+        name = "_babel_runtime___runtime_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz";
+        sha1 = "03ff99f64106588c9c403c6ecb8c3bafbbdff1fa";
       };
     }
     {
-      name = "_babel_template___template_7.16.0.tgz";
+      name = "_babel_template___template_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz";
-        sha1 = "d16a35ebf4cd74e202083356fab21dd89363ddd6";
+        name = "_babel_template___template_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz";
+        sha1 = "8d126c8701fde4d66b264b3eba3d96f07666d155";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.16.0.tgz";
+      name = "_babel_traverse___traverse_7.16.10.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz";
-        sha1 = "965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b";
+        name = "_babel_traverse___traverse_7.16.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz";
+        sha1 = "448f940defbe95b5a8029975b051f75993e8239f";
       };
     }
     {
-      name = "_babel_types___types_7.16.0.tgz";
+      name = "_babel_types___types_7.16.8.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz";
-        sha1 = "db3b313804f96aadd0b776c4823e127ad67289ba";
+        name = "_babel_types___types_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz";
+        sha1 = "0ba5da91dd71e0a4e7781a30f22770831062e3c1";
       };
     }
     {
-      name = "_discoveryjs_json_ext___json_ext_0.5.5.tgz";
+      name = "_discoveryjs_json_ext___json_ext_0.5.6.tgz";
       path = fetchurl {
-        name = "_discoveryjs_json_ext___json_ext_0.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz";
-        sha1 = "9283c9ce5b289a3c4f61c12757469e59377f81f3";
+        name = "_discoveryjs_json_ext___json_ext_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz";
+        sha1 = "d5e0706cf8c6acd8c6032f8d54070af261bbbb2f";
       };
     }
     {
@@ -874,11 +882,11 @@
       };
     }
     {
-      name = "_headlessui_react___react_1.4.1.tgz";
+      name = "_headlessui_react___react_1.4.3.tgz";
       path = fetchurl {
-        name = "_headlessui_react___react_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/@headlessui/react/-/react-1.4.1.tgz";
-        sha1 = "0a8dbb20e1d63dcea55bfc3ab1b87637aaac7777";
+        name = "_headlessui_react___react_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@headlessui/react/-/react-1.4.3.tgz";
+        sha1 = "f77c6bb5cb4a614a5d730fb880cab502d48abf37";
       };
     }
     {
@@ -898,11 +906,11 @@
       };
     }
     {
-      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";
+        sha1 = "b520529ec21d8e5945a1851dfd1c32e94e39ff45";
       };
     }
     {
@@ -1010,19 +1018,19 @@
       };
     }
     {
-      name = "_types_eslint_scope___eslint_scope_3.7.1.tgz";
+      name = "_types_eslint_scope___eslint_scope_3.7.3.tgz";
       path = fetchurl {
-        name = "_types_eslint_scope___eslint_scope_3.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz";
-        sha1 = "8dc390a7b4f9dd9f1284629efce982e41612116e";
+        name = "_types_eslint_scope___eslint_scope_3.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz";
+        sha1 = "125b88504b61e3c8bc6f870882003253005c3224";
       };
     }
     {
-      name = "_types_eslint___eslint_7.28.2.tgz";
+      name = "_types_eslint___eslint_8.4.1.tgz";
       path = fetchurl {
-        name = "_types_eslint___eslint_7.28.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.28.2.tgz";
-        sha1 = "0ff2947cdd305897c52d5372294e8c76f351db68";
+        name = "_types_eslint___eslint_8.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz";
+        sha1 = "c48251553e8759db9e656de3efc846954ac32304";
       };
     }
     {
@@ -1074,11 +1082,11 @@
       };
     }
     {
-      name = "_types_node___node_16.11.6.tgz";
+      name = "_types_node___node_17.0.13.tgz";
       path = fetchurl {
-        name = "_types_node___node_16.11.6.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz";
-        sha1 = "6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae";
+        name = "_types_node___node_17.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.13.tgz";
+        sha1 = "5ed7ed7c662948335fcad6c412bb42d99ea754e3";
       };
     }
     {
@@ -1226,27 +1234,27 @@
       };
     }
     {
-      name = "_webpack_cli_configtest___configtest_1.1.0.tgz";
+      name = "_webpack_cli_configtest___configtest_1.1.1.tgz";
       path = fetchurl {
-        name = "_webpack_cli_configtest___configtest_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz";
-        sha1 = "8342bef0badfb7dfd3b576f2574ab80c725be043";
+        name = "_webpack_cli_configtest___configtest_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.1.tgz";
+        sha1 = "9f53b1b7946a6efc2a749095a4f450e2932e8356";
       };
     }
     {
-      name = "_webpack_cli_info___info_1.4.0.tgz";
+      name = "_webpack_cli_info___info_1.4.1.tgz";
       path = fetchurl {
-        name = "_webpack_cli_info___info_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz";
-        sha1 = "b9179c3227ab09cbbb149aa733475fcf99430223";
+        name = "_webpack_cli_info___info_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.1.tgz";
+        sha1 = "2360ea1710cbbb97ff156a3f0f24556e0fc1ebea";
       };
     }
     {
-      name = "_webpack_cli_serve___serve_1.6.0.tgz";
+      name = "_webpack_cli_serve___serve_1.6.1.tgz";
       path = fetchurl {
-        name = "_webpack_cli_serve___serve_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz";
-        sha1 = "2c275aa05c895eccebbfc34cfb223c6e8bd591a2";
+        name = "_webpack_cli_serve___serve_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.1.tgz";
+        sha1 = "0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe";
       };
     }
     {
@@ -1314,11 +1322,19 @@
       };
     }
     {
-      name = "acorn___acorn_8.5.0.tgz";
+      name = "acorn___acorn_8.7.0.tgz";
       path = fetchurl {
-        name = "acorn___acorn_8.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz";
-        sha1 = "4512ccb99b3698c752591e9bb4472e38ad43cee2";
+        name = "acorn___acorn_8.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz";
+        sha1 = "90951fde0f8f09df93549481e5fc141445b791cf";
+      };
+    }
+    {
+      name = "ajv_formats___ajv_formats_2.1.1.tgz";
+      path = fetchurl {
+        name = "ajv_formats___ajv_formats_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz";
+        sha1 = "6e669400659eb74973bbf2e33327180a0996b520";
       };
     }
     {
@@ -1330,27 +1346,27 @@
       };
     }
     {
-      name = "ajv___ajv_6.12.6.tgz";
+      name = "ajv_keywords___ajv_keywords_5.1.0.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.12.6.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
-        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+        name = "ajv_keywords___ajv_keywords_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz";
+        sha1 = "69d4d385a4733cdbeab44964a1170a88f87f0e16";
       };
     }
     {
-      name = "ajv___ajv_8.6.3.tgz";
+      name = "ajv___ajv_6.12.6.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_6.12.6.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
+        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
       };
     }
     {
-      name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+      name = "ajv___ajv_8.9.0.tgz";
       path = fetchurl {
-        name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
-        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+        name = "ajv___ajv_8.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz";
+        sha1 = "738019146638824dea25edcf299dcba1b0e7eb18";
       };
     }
     {
@@ -1482,11 +1498,11 @@
       };
     }
     {
-      name = "autoprefixer___autoprefixer_10.4.0.tgz";
+      name = "autoprefixer___autoprefixer_10.4.2.tgz";
       path = fetchurl {
-        name = "autoprefixer___autoprefixer_10.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz";
-        sha1 = "c3577eb32a1079a440ec253e404eaf1eb21388c8";
+        name = "autoprefixer___autoprefixer_10.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz";
+        sha1 = "25e1df09a31a9fba5c40b578936b90d35c9d4d3b";
       };
     }
     {
@@ -1538,27 +1554,27 @@
       };
     }
     {
-      name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.2.3.tgz";
+      name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.3.1.tgz";
       path = fetchurl {
-        name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz";
-        sha1 = "6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f";
+        name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz";
+        sha1 = "440f1b70ccfaabc6b676d196239b138f8a2cfba5";
       };
     }
     {
-      name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.3.0.tgz";
+      name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.5.1.tgz";
       path = fetchurl {
-        name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz";
-        sha1 = "fa7ca3d1ee9ddc6193600ffb632c9785d54918af";
+        name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz";
+        sha1 = "d66183bf10976ea677f4149a7fcc4d8df43d4060";
       };
     }
     {
-      name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.2.3.tgz";
+      name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.3.1.tgz";
       path = fetchurl {
-        name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz";
-        sha1 = "2e9808f5027c4336c994992b48a4262580cb8d6d";
+        name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
+        sha1 = "2c0678ea47c75c8cc2fbb1852278d8fb68233990";
       };
     }
     {
@@ -1634,11 +1650,11 @@
       };
     }
     {
-      name = "browserslist___browserslist_4.17.5.tgz";
+      name = "browserslist___browserslist_4.19.1.tgz";
       path = fetchurl {
-        name = "browserslist___browserslist_4.17.5.tgz";
-        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.5.tgz";
-        sha1 = "c827bbe172a4c22b123f5e337533ceebadfdd559";
+        name = "browserslist___browserslist_4.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz";
+        sha1 = "4ac0435b35ab655896c31d53018b6dd5e9e4c9a3";
       };
     }
     {
@@ -1658,11 +1674,11 @@
       };
     }
     {
-      name = "bytes___bytes_3.1.0.tgz";
+      name = "bytes___bytes_3.1.2.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.2.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz";
+        sha1 = "8b0beeb98605adf1b128fa4386403c009e0221a5";
       };
     }
     {
@@ -1714,11 +1730,11 @@
       };
     }
     {
-      name = "caniuse_lite___caniuse_lite_1.0.30001274.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001304.tgz";
       path = fetchurl {
-        name = "caniuse_lite___caniuse_lite_1.0.30001274.tgz";
-        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001274.tgz";
-        sha1 = "26ca36204d15b17601ba6fc35dbdad950a647cc7";
+        name = "caniuse_lite___caniuse_lite_1.0.30001304.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001304.tgz";
+        sha1 = "38af55ed3fc8220cb13e35e6e7309c8c65a05559";
       };
     }
     {
@@ -1762,19 +1778,19 @@
       };
     }
     {
-      name = "chart.js___chart.js_3.6.0.tgz";
+      name = "chart.js___chart.js_3.7.0.tgz";
       path = fetchurl {
-        name = "chart.js___chart.js_3.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/chart.js/-/chart.js-3.6.0.tgz";
-        sha1 = "a87fce8431d4e7c5523d721f487f53aada1e42fe";
+        name = "chart.js___chart.js_3.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/chart.js/-/chart.js-3.7.0.tgz";
+        sha1 = "7a19c93035341df801d613993c2170a1fcf1d882";
       };
     }
     {
-      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";
+        sha1 = "1cf37c8707b932bd1af1ae22c0432e2acd1903bd";
       };
     }
     {
@@ -1842,27 +1858,27 @@
       };
     }
     {
-      name = "color_string___color_string_1.6.0.tgz";
+      name = "color_string___color_string_1.9.0.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_string___color_string_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz";
+        sha1 = "63b6ebd1bec11999d1df3a79a7569451ac2be8aa";
       };
     }
     {
-      name = "color___color_4.0.1.tgz";
+      name = "color___color_4.2.0.tgz";
       path = fetchurl {
-        name = "color___color_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/color/-/color-4.0.1.tgz";
-        sha1 = "21df44cd10245a91b1ccf5ba031609b0e10e7d67";
+        name = "color___color_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-4.2.0.tgz";
+        sha1 = "0c782459a3e98838ea01e4bc0fb43310ca35af78";
       };
     }
     {
-      name = "colord___colord_2.9.1.tgz";
+      name = "colord___colord_2.9.2.tgz";
       path = fetchurl {
-        name = "colord___colord_2.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz";
-        sha1 = "c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e";
+        name = "colord___colord_2.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz";
+        sha1 = "25e2bacbbaa65991422c07ea209e2089428effb1";
       };
     }
     {
@@ -1882,14 +1898,6 @@
       };
     }
     {
-      name = "commander___commander_6.2.1.tgz";
-      path = fetchurl {
-        name = "commander___commander_6.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz";
-        sha1 = "0792eb682dfbc325999bb2b84fddddba110ac73c";
-      };
-    }
-    {
       name = "commander___commander_7.2.0.tgz";
       path = fetchurl {
         name = "commander___commander_7.2.0.tgz";
@@ -1898,6 +1906,14 @@
       };
     }
     {
+      name = "commander___commander_8.3.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_8.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz";
+        sha1 = "4837ea1b2da67b9c616a67afbb0fafee567bca66";
+      };
+    }
+    {
       name = "commondir___commondir_1.0.1.tgz";
       path = fetchurl {
         name = "commondir___commondir_1.0.1.tgz";
@@ -1938,27 +1954,27 @@
       };
     }
     {
-      name = "copy_webpack_plugin___copy_webpack_plugin_9.0.1.tgz";
+      name = "copy_webpack_plugin___copy_webpack_plugin_9.1.0.tgz";
       path = fetchurl {
-        name = "copy_webpack_plugin___copy_webpack_plugin_9.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz";
-        sha1 = "b71d21991599f61a4ee00ba79087b8ba279bbb59";
+        name = "copy_webpack_plugin___copy_webpack_plugin_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz";
+        sha1 = "2d2c460c4c4695ec0a58afb2801a1205256c4e6b";
       };
     }
     {
-      name = "core_js_compat___core_js_compat_3.19.0.tgz";
+      name = "core_js_compat___core_js_compat_3.20.3.tgz";
       path = fetchurl {
-        name = "core_js_compat___core_js_compat_3.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.0.tgz";
-        sha1 = "b3b93f93c8721b3ed52b91f12f964cc410967f8b";
+        name = "core_js_compat___core_js_compat_3.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz";
+        sha1 = "d71f85f94eb5e4bea3407412e549daa083d23bd6";
       };
     }
     {
-      name = "core_js_pure___core_js_pure_3.19.0.tgz";
+      name = "core_js_pure___core_js_pure_3.20.3.tgz";
       path = fetchurl {
-        name = "core_js_pure___core_js_pure_3.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.0.tgz";
-        sha1 = "db6fdadfdd4dc280ec93b64c3c2e8460e6f10094";
+        name = "core_js_pure___core_js_pure_3.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.3.tgz";
+        sha1 = "6cc4f36da06c61d95254efc54024fe4797fd5d02";
       };
     }
     {
@@ -1994,19 +2010,11 @@
       };
     }
     {
-      name = "css_color_names___css_color_names_1.0.1.tgz";
-      path = fetchurl {
-        name = "css_color_names___css_color_names_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz";
-        sha1 = "6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67";
-      };
-    }
-    {
-      name = "css_declaration_sorter___css_declaration_sorter_6.1.3.tgz";
+      name = "css_declaration_sorter___css_declaration_sorter_6.1.4.tgz";
       path = fetchurl {
-        name = "css_declaration_sorter___css_declaration_sorter_6.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz";
-        sha1 = "e9852e4cf940ba79f509d9425b137d1f94438dc2";
+        name = "css_declaration_sorter___css_declaration_sorter_6.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz";
+        sha1 = "b9bfb4ed9a41f8dcca9bf7184d849ea94a8294b4";
       };
     }
     {
@@ -2018,19 +2026,19 @@
       };
     }
     {
-      name = "css_minimizer_webpack_plugin___css_minimizer_webpack_plugin_3.1.1.tgz";
+      name = "css_minimizer_webpack_plugin___css_minimizer_webpack_plugin_3.4.1.tgz";
       path = fetchurl {
-        name = "css_minimizer_webpack_plugin___css_minimizer_webpack_plugin_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.1.1.tgz";
-        sha1 = "27bafa3b75054713565b2266c64b0228acd18634";
+        name = "css_minimizer_webpack_plugin___css_minimizer_webpack_plugin_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz";
+        sha1 = "ab78f781ced9181992fe7b6e4f3422e76429878f";
       };
     }
     {
-      name = "css_select___css_select_4.1.3.tgz";
+      name = "css_select___css_select_4.2.1.tgz";
       path = fetchurl {
-        name = "css_select___css_select_4.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz";
-        sha1 = "a70440f70317f2669118ad74ff105e65849c7067";
+        name = "css_select___css_select_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz";
+        sha1 = "9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd";
       };
     }
     {
@@ -2066,27 +2074,27 @@
       };
     }
     {
-      name = "cssnano_preset_default___cssnano_preset_default_5.1.4.tgz";
+      name = "cssnano_preset_default___cssnano_preset_default_5.1.11.tgz";
       path = fetchurl {
-        name = "cssnano_preset_default___cssnano_preset_default_5.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz";
-        sha1 = "359943bf00c5c8e05489f12dd25f3006f2c1cbd2";
+        name = "cssnano_preset_default___cssnano_preset_default_5.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.11.tgz";
+        sha1 = "db10fb1ecee310e8285c5aca45bd8237be206828";
       };
     }
     {
-      name = "cssnano_utils___cssnano_utils_2.0.1.tgz";
+      name = "cssnano_utils___cssnano_utils_3.0.1.tgz";
       path = fetchurl {
-        name = "cssnano_utils___cssnano_utils_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz";
-        sha1 = "8660aa2b37ed869d2e2f22918196a9a8b6498ce2";
+        name = "cssnano_utils___cssnano_utils_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.0.1.tgz";
+        sha1 = "d3cc0a142d3d217f8736837ec0a2ccff6a89c6ea";
       };
     }
     {
-      name = "cssnano___cssnano_5.0.8.tgz";
+      name = "cssnano___cssnano_5.0.16.tgz";
       path = fetchurl {
-        name = "cssnano___cssnano_5.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.8.tgz";
-        sha1 = "39ad166256980fcc64faa08c9bb18bb5789ecfa9";
+        name = "cssnano___cssnano_5.0.16.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.16.tgz";
+        sha1 = "4ee97d30411693f3de24cef70b36f7ae2a843e04";
       };
     }
     {
@@ -2098,11 +2106,11 @@
       };
     }
     {
-      name = "csstype___csstype_3.0.9.tgz";
+      name = "csstype___csstype_3.0.10.tgz";
       path = fetchurl {
-        name = "csstype___csstype_3.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz";
-        sha1 = "6410af31b26bd0520933d02cbc64fce9ce3fbf0b";
+        name = "csstype___csstype_3.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz";
+        sha1 = "2ad3a7bed70f35b965707c092e5f30b327c290e5";
       };
     }
     {
@@ -2138,11 +2146,11 @@
       };
     }
     {
-      name = "damerau_levenshtein___damerau_levenshtein_1.0.7.tgz";
+      name = "damerau_levenshtein___damerau_levenshtein_1.0.8.tgz";
       path = fetchurl {
-        name = "damerau_levenshtein___damerau_levenshtein_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz";
-        sha1 = "64368003512a1a6992593741a09a9d31a836f55d";
+        name = "damerau_levenshtein___damerau_levenshtein_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz";
+        sha1 = "b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7";
       };
     }
     {
@@ -2178,11 +2186,11 @@
       };
     }
     {
-      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";
+        sha1 = "04266e0b70a98d4462e6e288e38259213332b664";
       };
     }
     {
@@ -2322,11 +2330,11 @@
       };
     }
     {
-      name = "domhandler___domhandler_4.2.2.tgz";
+      name = "domhandler___domhandler_4.3.0.tgz";
       path = fetchurl {
-        name = "domhandler___domhandler_4.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz";
-        sha1 = "e825d721d19a86b8c201a35264e226c678ee755f";
+        name = "domhandler___domhandler_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz";
+        sha1 = "16c658c626cf966967e306f966b431f77d4a5626";
       };
     }
     {
@@ -2370,11 +2378,11 @@
       };
     }
     {
-      name = "electron_to_chromium___electron_to_chromium_1.3.885.tgz";
+      name = "electron_to_chromium___electron_to_chromium_1.4.57.tgz";
       path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.885.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz";
-        sha1 = "c8cec32fbc61364127849ae00f2395a1bae7c454";
+        name = "electron_to_chromium___electron_to_chromium_1.4.57.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz";
+        sha1 = "2b2766df76ac8dbc0a1d41249bc5684a31849892";
       };
     }
     {
@@ -2530,27 +2538,27 @@
       };
     }
     {
-      name = "eslint_module_utils___eslint_module_utils_2.7.1.tgz";
+      name = "eslint_module_utils___eslint_module_utils_2.7.3.tgz";
       path = fetchurl {
-        name = "eslint_module_utils___eslint_module_utils_2.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz";
-        sha1 = "b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c";
+        name = "eslint_module_utils___eslint_module_utils_2.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz";
+        sha1 = "ad7e3a10552fdd0642e1e55292781bd6e34876ee";
       };
     }
     {
-      name = "eslint_plugin_import___eslint_plugin_import_2.25.2.tgz";
+      name = "eslint_plugin_import___eslint_plugin_import_2.25.4.tgz";
       path = fetchurl {
-        name = "eslint_plugin_import___eslint_plugin_import_2.25.2.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz";
-        sha1 = "b3b9160efddb702fc1636659e71ba1d10adbe9e9";
+        name = "eslint_plugin_import___eslint_plugin_import_2.25.4.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz";
+        sha1 = "322f3f916a4e9e991ac7af32032c25ce313209f1";
       };
     }
     {
-      name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.4.1.tgz";
+      name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.5.1.tgz";
       path = fetchurl {
-        name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz";
-        sha1 = "a2d84caa49756942f42f1ffab9002436391718fd";
+        name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz";
+        sha1 = "cdbf2df901040ca140b6ec14715c988889c2a6d8";
       };
     }
     {
@@ -2562,19 +2570,19 @@
       };
     }
     {
-      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_4.2.0.tgz";
+      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_4.3.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";
+        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";
+        sha1 = "318dbf312e06fab1c835a4abef00121751ac1172";
       };
     }
     {
-      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";
+        sha1 = "8f3ff450677571a659ce76efc6d80b6a525adbdf";
       };
     }
     {
@@ -2738,11 +2746,11 @@
       };
     }
     {
-      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";
+        sha1 = "a1172ad95ceb8a16e20caa5c5e56480e5129c1d9";
       };
     }
     {
@@ -2834,11 +2842,11 @@
       };
     }
     {
-      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";
+        sha1 = "76c8584f4fc843db64702a6bd04ab7a8bd666da3";
       };
     }
     {
@@ -2850,11 +2858,11 @@
       };
     }
     {
-      name = "fraction.js___fraction.js_4.1.1.tgz";
+      name = "fraction.js___fraction.js_4.1.2.tgz";
       path = fetchurl {
-        name = "fraction.js___fraction.js_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.1.tgz";
-        sha1 = "ac4e520473dae67012d618aab91eda09bcb400ff";
+        name = "fraction.js___fraction.js_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz";
+        sha1 = "13e420a92422b6cf244dff8690ed89401029fbe8";
       };
     }
     {
@@ -3002,11 +3010,11 @@
       };
     }
     {
-      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";
+        sha1 = "bd4be98bb042f83d796f7e3811991fbe82a0d34b";
       };
     }
     {
@@ -3026,11 +3034,11 @@
       };
     }
     {
-      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";
+        sha1 = "041b05df45755e587a24942279b9d113146e1c96";
       };
     }
     {
@@ -3130,11 +3138,11 @@
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
+      name = "hosted_git_info___hosted_git_info_4.1.0.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz";
-        sha1 = "5e425507eede4fea846b7262f0838456c4209961";
+        name = "hosted_git_info___hosted_git_info_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz";
+        sha1 = "827b82867e9ff1c8d0c4d9d53880397d2c86d224";
       };
     }
     {
@@ -3210,19 +3218,11 @@
       };
     }
     {
-      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 = "import_cwd___import_cwd_3.0.0.tgz";
-      path = fetchurl {
-        name = "import_cwd___import_cwd_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz";
-        sha1 = "20845547718015126ea9b3676b7592fb8bd4cf92";
+        name = "ignore___ignore_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz";
+        sha1 = "6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a";
       };
     }
     {
@@ -3234,14 +3234,6 @@
       };
     }
     {
-      name = "import_from___import_from_3.0.0.tgz";
-      path = fetchurl {
-        name = "import_from___import_from_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz";
-        sha1 = "055cfec38cd5a27d8057ca51376d7d3bf0891966";
-      };
-    }
-    {
       name = "import_lazy___import_lazy_4.0.0.tgz";
       path = fetchurl {
         name = "import_lazy___import_lazy_4.0.0.tgz";
@@ -3250,11 +3242,11 @@
       };
     }
     {
-      name = "import_local___import_local_3.0.3.tgz";
+      name = "import_local___import_local_3.1.0.tgz";
       path = fetchurl {
-        name = "import_local___import_local_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz";
-        sha1 = "4d51c2c495ca9393da259ec66b62e022920211e0";
+        name = "import_local___import_local_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz";
+        sha1 = "b4479df8a5fd44f6cdce24070675676063c95cb4";
       };
     }
     {
@@ -3314,14 +3306,6 @@
       };
     }
     {
-      name = "is_absolute_url___is_absolute_url_3.0.3.tgz";
-      path = fetchurl {
-        name = "is_absolute_url___is_absolute_url_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz";
-        sha1 = "96c6a22b6a23929b11ea0afb1836c36ad4a5d698";
-      };
-    }
-    {
       name = "is_alphabetical___is_alphabetical_1.0.4.tgz";
       path = fetchurl {
         name = "is_alphabetical___is_alphabetical_1.0.4.tgz";
@@ -3402,11 +3386,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";
-        sha1 = "0321336c3d0925e497fd97f5d95cb114a5ccd548";
+        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";
+        sha1 = "f59fdfca701d5879d0a6b100a40aa1560ce27211";
       };
     }
     {
@@ -3458,11 +3442,11 @@
       };
     }
     {
-      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";
+        sha1 = "7bf6f03a28003b8b3965de3ac26f664d765f3150";
       };
     }
     {
@@ -3522,14 +3506,6 @@
       };
     }
     {
-      name = "is_resolvable___is_resolvable_1.1.0.tgz";
-      path = fetchurl {
-        name = "is_resolvable___is_resolvable_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
-        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
-      };
-    }
-    {
       name = "is_shared_array_buffer___is_shared_array_buffer_1.0.1.tgz";
       path = fetchurl {
         name = "is_shared_array_buffer___is_shared_array_buffer_1.0.1.tgz";
@@ -3578,11 +3554,11 @@
       };
     }
     {
-      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";
+        sha1 = "9529f383a9338205e89765e0392efc2f100f06f2";
       };
     }
     {
@@ -3626,11 +3602,11 @@
       };
     }
     {
-      name = "jest_worker___jest_worker_27.3.1.tgz";
+      name = "jest_worker___jest_worker_27.4.6.tgz";
       path = fetchurl {
-        name = "jest_worker___jest_worker_27.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz";
-        sha1 = "0def7feae5b8042be38479799aeb7b5facac24b2";
+        name = "jest_worker___jest_worker_27.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz";
+        sha1 = "5d2d93db419566cb680752ca0792780e71b3273e";
       };
     }
     {
@@ -3794,19 +3770,19 @@
       };
     }
     {
-      name = "lilconfig___lilconfig_2.0.3.tgz";
+      name = "lilconfig___lilconfig_2.0.4.tgz";
       path = fetchurl {
-        name = "lilconfig___lilconfig_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz";
-        sha1 = "68f3005e921dafbd2a2afb48379986aa6d2579fd";
+        name = "lilconfig___lilconfig_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz";
+        sha1 = "f4507d043d7058b380b6a8f5cb7bcd4b34cee082";
       };
     }
     {
-      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";
+        sha1 = "eca284f75d2965079309dc0ad9255abb2ebc1632";
       };
     }
     {
@@ -3826,11 +3802,11 @@
       };
     }
     {
-      name = "loader_utils___loader_utils_2.0.1.tgz";
+      name = "loader_utils___loader_utils_2.0.2.tgz";
       path = fetchurl {
-        name = "loader_utils___loader_utils_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.1.tgz";
-        sha1 = "3b8d4386f42378d6434d32d7bc08e7a52d39575e";
+        name = "loader_utils___loader_utils_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz";
+        sha1 = "d6e3b4fb81870721ae4e0868ab11dd638368c129";
       };
     }
     {
@@ -3858,14 +3834,6 @@
       };
     }
     {
-      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";
-      };
-    }
-    {
       name = "lodash.debounce___lodash.debounce_4.0.8.tgz";
       path = fetchurl {
         name = "lodash.debounce___lodash.debounce_4.0.8.tgz";
@@ -4082,27 +4050,19 @@
       };
     }
     {
-      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";
+        sha1 = "d9ff62451859b18342d960850dc3cfb77e63fb0c";
       };
     }
     {
-      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___mime_2.5.2.tgz";
-      path = fetchurl {
-        name = "mime___mime_2.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz";
-        sha1 = "6e3dc6cc2b9510643830e5f19d5cb753da5eeabe";
+        name = "mime_types___mime_types_2.1.34.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz";
+        sha1 = "5a712f9ec1503511a945803640fafe09d3793c24";
       };
     }
     {
@@ -4178,6 +4138,14 @@
       };
     }
     {
+      name = "mrmime___mrmime_1.0.0.tgz";
+      path = fetchurl {
+        name = "mrmime___mrmime_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz";
+        sha1 = "14d387f0585a5233d291baba339b063752a2398b";
+      };
+    }
+    {
       name = "ms___ms_2.0.0.tgz";
       path = fetchurl {
         name = "ms___ms_2.0.0.tgz";
@@ -4202,19 +4170,11 @@
       };
     }
     {
-      name = "nanocolors___nanocolors_0.1.12.tgz";
-      path = fetchurl {
-        name = "nanocolors___nanocolors_0.1.12.tgz";
-        url  = "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz";
-        sha1 = "8577482c58cbd7b5bb1681db4cf48f11a87fd5f6";
-      };
-    }
-    {
-      name = "nanoid___nanoid_3.1.30.tgz";
+      name = "nanoid___nanoid_3.2.0.tgz";
       path = fetchurl {
-        name = "nanoid___nanoid_3.1.30.tgz";
-        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz";
-        sha1 = "63f93cc548d2a113dc5dfbc63bfa09e2b9b64362";
+        name = "nanoid___nanoid_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz";
+        sha1 = "62667522da6673971cca916a6d3eff3f415ff80c";
       };
     }
     {
@@ -4338,11 +4298,11 @@
       };
     }
     {
-      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";
+        sha1 = "6e2c120e868fd1fd18cb4f18c31741d0d6e776f0";
       };
     }
     {
@@ -4466,14 +4426,6 @@
       };
     }
     {
-      name = "p_limit___p_limit_3.1.0.tgz";
-      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";
-      };
-    }
-    {
       name = "p_locate___p_locate_2.0.0.tgz";
       path = fetchurl {
         name = "p_locate___p_locate_2.0.0.tgz";
@@ -4603,19 +4555,11 @@
       };
     }
     {
-      name = "picomatch___picomatch_2.3.0.tgz";
-      path = fetchurl {
-        name = "picomatch___picomatch_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz";
-        sha1 = "f1f061de8f6a4bf022892e2d128234fb98302972";
-      };
-    }
-    {
-      name = "pkg_dir___pkg_dir_2.0.0.tgz";
+      name = "picomatch___picomatch_2.3.1.tgz";
       path = fetchurl {
-        name = "pkg_dir___pkg_dir_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
-        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+        name = "picomatch___picomatch_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz";
+        sha1 = "3ba3833733646d9d3e4995946c1365a67fb07a42";
       };
     }
     {
@@ -4627,59 +4571,59 @@
       };
     }
     {
-      name = "postcss_calc___postcss_calc_8.0.0.tgz";
+      name = "postcss_calc___postcss_calc_8.2.3.tgz";
       path = fetchurl {
-        name = "postcss_calc___postcss_calc_8.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz";
-        sha1 = "a05b87aacd132740a5db09462a3612453e5df90a";
+        name = "postcss_calc___postcss_calc_8.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.3.tgz";
+        sha1 = "53b95ce93de19213c2a5fdd71277a81690ef41d0";
       };
     }
     {
-      name = "postcss_colormin___postcss_colormin_5.2.0.tgz";
+      name = "postcss_colormin___postcss_colormin_5.2.4.tgz";
       path = fetchurl {
-        name = "postcss_colormin___postcss_colormin_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.0.tgz";
-        sha1 = "2b620b88c0ff19683f3349f4cf9e24ebdafb2c88";
+        name = "postcss_colormin___postcss_colormin_5.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.4.tgz";
+        sha1 = "7726d3f3d24f111d39faff50a6500688225d5324";
       };
     }
     {
-      name = "postcss_convert_values___postcss_convert_values_5.0.1.tgz";
+      name = "postcss_convert_values___postcss_convert_values_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_convert_values___postcss_convert_values_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz";
-        sha1 = "4ec19d6016534e30e3102fdf414e753398645232";
+        name = "postcss_convert_values___postcss_convert_values_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.3.tgz";
+        sha1 = "492db08a28af84d57651f10edc8f6c8fb2f6df40";
       };
     }
     {
-      name = "postcss_discard_comments___postcss_discard_comments_5.0.1.tgz";
+      name = "postcss_discard_comments___postcss_discard_comments_5.0.2.tgz";
       path = fetchurl {
-        name = "postcss_discard_comments___postcss_discard_comments_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz";
-        sha1 = "9eae4b747cf760d31f2447c27f0619d5718901fe";
+        name = "postcss_discard_comments___postcss_discard_comments_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.2.tgz";
+        sha1 = "811ed34e2b6c40713daab0beb4d7a04125927dcd";
       };
     }
     {
-      name = "postcss_discard_duplicates___postcss_discard_duplicates_5.0.1.tgz";
+      name = "postcss_discard_duplicates___postcss_discard_duplicates_5.0.2.tgz";
       path = fetchurl {
-        name = "postcss_discard_duplicates___postcss_discard_duplicates_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz";
-        sha1 = "68f7cc6458fe6bab2e46c9f55ae52869f680e66d";
+        name = "postcss_discard_duplicates___postcss_discard_duplicates_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.2.tgz";
+        sha1 = "61076f3d256351bdaac8e20aade730fef0609f44";
       };
     }
     {
-      name = "postcss_discard_empty___postcss_discard_empty_5.0.1.tgz";
+      name = "postcss_discard_empty___postcss_discard_empty_5.0.2.tgz";
       path = fetchurl {
-        name = "postcss_discard_empty___postcss_discard_empty_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz";
-        sha1 = "ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8";
+        name = "postcss_discard_empty___postcss_discard_empty_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.2.tgz";
+        sha1 = "0676a9bcfc44bb00d338352a45ab80845a31d8f0";
       };
     }
     {
-      name = "postcss_discard_overridden___postcss_discard_overridden_5.0.1.tgz";
+      name = "postcss_discard_overridden___postcss_discard_overridden_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_discard_overridden___postcss_discard_overridden_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz";
-        sha1 = "454b41f707300b98109a75005ca4ab0ff2743ac6";
+        name = "postcss_discard_overridden___postcss_discard_overridden_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.3.tgz";
+        sha1 = "004b9818cabb407e60616509267567150b327a3f";
       };
     }
     {
@@ -4707,19 +4651,19 @@
       };
     }
     {
-      name = "postcss_load_config___postcss_load_config_3.1.0.tgz";
+      name = "postcss_load_config___postcss_load_config_3.1.1.tgz";
       path = fetchurl {
-        name = "postcss_load_config___postcss_load_config_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.0.tgz";
-        sha1 = "d39c47091c4aec37f50272373a6a648ef5e97829";
+        name = "postcss_load_config___postcss_load_config_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.1.tgz";
+        sha1 = "2f53a17f2f543d9e63864460af42efdac0d41f87";
       };
     }
     {
-      name = "postcss_loader___postcss_loader_6.2.0.tgz";
+      name = "postcss_loader___postcss_loader_6.2.1.tgz";
       path = fetchurl {
-        name = "postcss_loader___postcss_loader_6.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.0.tgz";
-        sha1 = "714370a3f567141cf4cadcdf9575f5234d186bc5";
+        name = "postcss_loader___postcss_loader_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz";
+        sha1 = "0895f7346b1702103d30fdc66e4d494a93c008ef";
       };
     }
     {
@@ -4731,51 +4675,51 @@
       };
     }
     {
-      name = "postcss_merge_longhand___postcss_merge_longhand_5.0.2.tgz";
+      name = "postcss_merge_longhand___postcss_merge_longhand_5.0.5.tgz";
       path = fetchurl {
-        name = "postcss_merge_longhand___postcss_merge_longhand_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz";
-        sha1 = "277ada51d9a7958e8ef8cf263103c9384b322a41";
+        name = "postcss_merge_longhand___postcss_merge_longhand_5.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.5.tgz";
+        sha1 = "cbc217ca22fb5a3e6ee22a6a1aa6920ec1f3c628";
       };
     }
     {
-      name = "postcss_merge_rules___postcss_merge_rules_5.0.2.tgz";
+      name = "postcss_merge_rules___postcss_merge_rules_5.0.5.tgz";
       path = fetchurl {
-        name = "postcss_merge_rules___postcss_merge_rules_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz";
-        sha1 = "d6e4d65018badbdb7dcc789c4f39b941305d410a";
+        name = "postcss_merge_rules___postcss_merge_rules_5.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.5.tgz";
+        sha1 = "2a18669ec214019884a60f0a0d356803a8138366";
       };
     }
     {
-      name = "postcss_minify_font_values___postcss_minify_font_values_5.0.1.tgz";
+      name = "postcss_minify_font_values___postcss_minify_font_values_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_minify_font_values___postcss_minify_font_values_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz";
-        sha1 = "a90cefbfdaa075bd3dbaa1b33588bb4dc268addf";
+        name = "postcss_minify_font_values___postcss_minify_font_values_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.3.tgz";
+        sha1 = "48c455c4cd980ecd07ac9bf3fc58e9d8a2ae4168";
       };
     }
     {
-      name = "postcss_minify_gradients___postcss_minify_gradients_5.0.2.tgz";
+      name = "postcss_minify_gradients___postcss_minify_gradients_5.0.5.tgz";
       path = fetchurl {
-        name = "postcss_minify_gradients___postcss_minify_gradients_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz";
-        sha1 = "7c175c108f06a5629925d698b3c4cf7bd3864ee5";
+        name = "postcss_minify_gradients___postcss_minify_gradients_5.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.5.tgz";
+        sha1 = "a5572b9c98ed52cbd7414db24b873f8b9e418290";
       };
     }
     {
-      name = "postcss_minify_params___postcss_minify_params_5.0.1.tgz";
+      name = "postcss_minify_params___postcss_minify_params_5.0.4.tgz";
       path = fetchurl {
-        name = "postcss_minify_params___postcss_minify_params_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz";
-        sha1 = "371153ba164b9d8562842fdcd929c98abd9e5b6c";
+        name = "postcss_minify_params___postcss_minify_params_5.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.4.tgz";
+        sha1 = "230a4d04456609e614db1d48c2eebc21f6490a45";
       };
     }
     {
-      name = "postcss_minify_selectors___postcss_minify_selectors_5.1.0.tgz";
+      name = "postcss_minify_selectors___postcss_minify_selectors_5.1.2.tgz";
       path = fetchurl {
-        name = "postcss_minify_selectors___postcss_minify_selectors_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz";
-        sha1 = "4385c845d3979ff160291774523ffa54eafd5a54";
+        name = "postcss_minify_selectors___postcss_minify_selectors_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.2.tgz";
+        sha1 = "bc9698f713b9dab7f44f1ec30643fcbad9a043c0";
       };
     }
     {
@@ -4819,99 +4763,99 @@
       };
     }
     {
-      name = "postcss_normalize_charset___postcss_normalize_charset_5.0.1.tgz";
+      name = "postcss_normalize_charset___postcss_normalize_charset_5.0.2.tgz";
       path = fetchurl {
-        name = "postcss_normalize_charset___postcss_normalize_charset_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz";
-        sha1 = "121559d1bebc55ac8d24af37f67bd4da9efd91d0";
+        name = "postcss_normalize_charset___postcss_normalize_charset_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.2.tgz";
+        sha1 = "eb6130c8a8e950ce25f9ea512de1d9d6a6f81439";
       };
     }
     {
-      name = "postcss_normalize_display_values___postcss_normalize_display_values_5.0.1.tgz";
+      name = "postcss_normalize_display_values___postcss_normalize_display_values_5.0.2.tgz";
       path = fetchurl {
-        name = "postcss_normalize_display_values___postcss_normalize_display_values_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz";
-        sha1 = "62650b965981a955dffee83363453db82f6ad1fd";
+        name = "postcss_normalize_display_values___postcss_normalize_display_values_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz";
+        sha1 = "8b5273c6c7d0a445e6ef226b8a5bb3204a55fb99";
       };
     }
     {
-      name = "postcss_normalize_positions___postcss_normalize_positions_5.0.1.tgz";
+      name = "postcss_normalize_positions___postcss_normalize_positions_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_normalize_positions___postcss_normalize_positions_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz";
-        sha1 = "868f6af1795fdfa86fbbe960dceb47e5f9492fe5";
+        name = "postcss_normalize_positions___postcss_normalize_positions_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.3.tgz";
+        sha1 = "b63fcc4ff5fbf65934fafaf83270b2da214711d1";
       };
     }
     {
-      name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_5.0.1.tgz";
+      name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz";
-        sha1 = "cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5";
+        name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.3.tgz";
+        sha1 = "488c0ad8aac0fa4f66ef56cc8d604b3fd9bf705f";
       };
     }
     {
-      name = "postcss_normalize_string___postcss_normalize_string_5.0.1.tgz";
+      name = "postcss_normalize_string___postcss_normalize_string_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_normalize_string___postcss_normalize_string_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz";
-        sha1 = "d9eafaa4df78c7a3b973ae346ef0e47c554985b0";
+        name = "postcss_normalize_string___postcss_normalize_string_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.3.tgz";
+        sha1 = "49e0a1d58a119d5435ef21893ad03136a6e8f0e6";
       };
     }
     {
-      name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_5.0.1.tgz";
+      name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_5.0.2.tgz";
       path = fetchurl {
-        name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz";
-        sha1 = "8ee41103b9130429c6cbba736932b75c5e2cb08c";
+        name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz";
+        sha1 = "db4f4f49721f47667afd1fdc5edb032f8d9cdb2e";
       };
     }
     {
-      name = "postcss_normalize_unicode___postcss_normalize_unicode_5.0.1.tgz";
+      name = "postcss_normalize_unicode___postcss_normalize_unicode_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_normalize_unicode___postcss_normalize_unicode_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz";
-        sha1 = "82d672d648a411814aa5bf3ae565379ccd9f5e37";
+        name = "postcss_normalize_unicode___postcss_normalize_unicode_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.3.tgz";
+        sha1 = "10f0d30093598a58c48a616491cc7fa53256dd43";
       };
     }
     {
-      name = "postcss_normalize_url___postcss_normalize_url_5.0.2.tgz";
+      name = "postcss_normalize_url___postcss_normalize_url_5.0.4.tgz";
       path = fetchurl {
-        name = "postcss_normalize_url___postcss_normalize_url_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz";
-        sha1 = "ddcdfb7cede1270740cf3e4dfc6008bd96abc763";
+        name = "postcss_normalize_url___postcss_normalize_url_5.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz";
+        sha1 = "3b0322c425e31dd275174d0d5db0e466f50810fb";
       };
     }
     {
-      name = "postcss_normalize_whitespace___postcss_normalize_whitespace_5.0.1.tgz";
+      name = "postcss_normalize_whitespace___postcss_normalize_whitespace_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_normalize_whitespace___postcss_normalize_whitespace_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz";
-        sha1 = "b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a";
+        name = "postcss_normalize_whitespace___postcss_normalize_whitespace_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.3.tgz";
+        sha1 = "fb6bcc9ff2f834448b802657c7acd0956f4591d1";
       };
     }
     {
-      name = "postcss_ordered_values___postcss_ordered_values_5.0.2.tgz";
+      name = "postcss_ordered_values___postcss_ordered_values_5.0.4.tgz";
       path = fetchurl {
-        name = "postcss_ordered_values___postcss_ordered_values_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz";
-        sha1 = "1f351426977be00e0f765b3164ad753dac8ed044";
+        name = "postcss_ordered_values___postcss_ordered_values_5.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.4.tgz";
+        sha1 = "f799dca87a7f17526d31a20085e61768d0b00534";
       };
     }
     {
-      name = "postcss_reduce_initial___postcss_reduce_initial_5.0.1.tgz";
+      name = "postcss_reduce_initial___postcss_reduce_initial_5.0.2.tgz";
       path = fetchurl {
-        name = "postcss_reduce_initial___postcss_reduce_initial_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz";
-        sha1 = "9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946";
+        name = "postcss_reduce_initial___postcss_reduce_initial_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz";
+        sha1 = "fa424ce8aa88a89bc0b6d0f94871b24abe94c048";
       };
     }
     {
-      name = "postcss_reduce_transforms___postcss_reduce_transforms_5.0.1.tgz";
+      name = "postcss_reduce_transforms___postcss_reduce_transforms_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_reduce_transforms___postcss_reduce_transforms_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz";
-        sha1 = "93c12f6a159474aa711d5269923e2383cedcf640";
+        name = "postcss_reduce_transforms___postcss_reduce_transforms_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.3.tgz";
+        sha1 = "df60fab34698a43073e8b87938c71df7a3b040ac";
       };
     }
     {
@@ -4947,19 +4891,19 @@
       };
     }
     {
-      name = "postcss_selector_parser___postcss_selector_parser_6.0.6.tgz";
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.9.tgz";
       path = fetchurl {
-        name = "postcss_selector_parser___postcss_selector_parser_6.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz";
-        sha1 = "2c5bba8174ac2f6981ab631a42ab0ee54af332ea";
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz";
+        sha1 = "ee71c3b9ff63d9cd130838876c13a2ec1a992b2f";
       };
     }
     {
-      name = "postcss_svgo___postcss_svgo_5.0.2.tgz";
+      name = "postcss_svgo___postcss_svgo_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_svgo___postcss_svgo_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.2.tgz";
-        sha1 = "bc73c4ea4c5a80fbd4b45e29042c34ceffb9257f";
+        name = "postcss_svgo___postcss_svgo_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz";
+        sha1 = "d945185756e5dfaae07f9edb0d3cae7ff79f9b30";
       };
     }
     {
@@ -4971,11 +4915,11 @@
       };
     }
     {
-      name = "postcss_unique_selectors___postcss_unique_selectors_5.0.1.tgz";
+      name = "postcss_unique_selectors___postcss_unique_selectors_5.0.3.tgz";
       path = fetchurl {
-        name = "postcss_unique_selectors___postcss_unique_selectors_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz";
-        sha1 = "3be5c1d7363352eff838bd62b0b07a0abad43bfc";
+        name = "postcss_unique_selectors___postcss_unique_selectors_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.3.tgz";
+        sha1 = "07fd116a8fbd9202e7030f7c4952e7b52c26c63d";
       };
     }
     {
@@ -4987,11 +4931,11 @@
       };
     }
     {
-      name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz";
+      name = "postcss_value_parser___postcss_value_parser_4.2.0.tgz";
       path = fetchurl {
-        name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz";
-        sha1 = "443f6a20ced6481a2bda4fa8532a6e55d789a2cb";
+        name = "postcss_value_parser___postcss_value_parser_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz";
+        sha1 = "723c09920836ba6d3e5af019f92bc0971c02e514";
       };
     }
     {
@@ -5003,11 +4947,11 @@
       };
     }
     {
-      name = "postcss___postcss_8.3.11.tgz";
+      name = "postcss___postcss_8.4.5.tgz";
       path = fetchurl {
-        name = "postcss___postcss_8.3.11.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz";
-        sha1 = "c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858";
+        name = "postcss___postcss_8.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz";
+        sha1 = "bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95";
       };
     }
     {
@@ -5059,11 +5003,11 @@
       };
     }
     {
-      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";
+        sha1 = "67d87bf1a694f48435cf332c24af10214a3140b5";
       };
     }
     {
@@ -5075,11 +5019,11 @@
       };
     }
     {
-      name = "purgecss___purgecss_4.0.3.tgz";
+      name = "purgecss___purgecss_4.1.3.tgz";
       path = fetchurl {
-        name = "purgecss___purgecss_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/purgecss/-/purgecss-4.0.3.tgz";
-        sha1 = "8147b429f9c09db719e05d64908ea8b672913742";
+        name = "purgecss___purgecss_4.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/purgecss/-/purgecss-4.1.3.tgz";
+        sha1 = "683f6a133c8c4de7aa82fe2746d1393b214918f7";
       };
     }
     {
@@ -5291,11 +5235,11 @@
       };
     }
     {
-      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";
+        sha1 = "b3f4c0059af9e47eca9f3f660e51d81307e72307";
       };
     }
     {
@@ -5403,11 +5347,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";
-        sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975";
+        name = "resolve___resolve_1.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz";
+        sha1 = "5e0b8c67c15df57a89bdbabe603a002f21731198";
       };
     }
     {
@@ -5507,6 +5451,14 @@
       };
     }
     {
+      name = "schema_utils___schema_utils_4.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz";
+        sha1 = "60331e9e3ae78ec5d16353c467c34b3a0a1d3df7";
+      };
+    }
+    {
       name = "semver___semver_5.7.1.tgz";
       path = fetchurl {
         name = "semver___semver_5.7.1.tgz";
@@ -5595,11 +5547,11 @@
       };
     }
     {
-      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";
+        sha1 = "24e630c4b0f03fea446a2bd299e62b4a6ca8d0af";
       };
     }
     {
@@ -5611,11 +5563,11 @@
       };
     }
     {
-      name = "sirv___sirv_1.0.18.tgz";
+      name = "sirv___sirv_1.0.19.tgz";
       path = fetchurl {
-        name = "sirv___sirv_1.0.18.tgz";
-        url  = "https://registry.yarnpkg.com/sirv/-/sirv-1.0.18.tgz";
-        sha1 = "105fab52fb656ce8a2bebbf36b11052005952899";
+        name = "sirv___sirv_1.0.19.tgz";
+        url  = "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz";
+        sha1 = "1d73979b38c7fe91fcba49c85280daa9c2363b49";
       };
     }
     {
@@ -5643,19 +5595,19 @@
       };
     }
     {
-      name = "source_map_js___source_map_js_0.6.2.tgz";
+      name = "source_map_js___source_map_js_1.0.2.tgz";
       path = fetchurl {
-        name = "source_map_js___source_map_js_0.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz";
-        sha1 = "0bb5de631b41cfbda6cfba8bd05a80efdfd2385e";
+        name = "source_map_js___source_map_js_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz";
+        sha1 = "adbc361d9c62df380125e7f161f71c826f1e490c";
       };
     }
     {
-      name = "source_map_support___source_map_support_0.5.20.tgz";
+      name = "source_map_support___source_map_support_0.5.21.tgz";
       path = fetchurl {
-        name = "source_map_support___source_map_support_0.5.20.tgz";
-        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz";
-        sha1 = "12166089f8f5e5e8c56926b377633392dd2cb6c9";
+        name = "source_map_support___source_map_support_0.5.21.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz";
+        sha1 = "04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f";
       };
     }
     {
@@ -5707,11 +5659,11 @@
       };
     }
     {
-      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";
+        sha1 = "50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95";
       };
     }
     {
@@ -5851,11 +5803,11 @@
       };
     }
     {
-      name = "stylehacks___stylehacks_5.0.1.tgz";
+      name = "stylehacks___stylehacks_5.0.2.tgz";
       path = fetchurl {
-        name = "stylehacks___stylehacks_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz";
-        sha1 = "323ec554198520986806388c7fdaebc38d2c06fb";
+        name = "stylehacks___stylehacks_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.2.tgz";
+        sha1 = "fa10e5181c6e8dc0bddb4a3fb372e9ac42bba2ad";
       };
     }
     {
@@ -5923,6 +5875,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";
+        sha1 = "6eda4bd344a3c94aea376d4cc31bc77311039e09";
+      };
+    }
+    {
       name = "svg_tags___svg_tags_1.0.0.tgz";
       path = fetchurl {
         name = "svg_tags___svg_tags_1.0.0.tgz";
@@ -5931,19 +5891,19 @@
       };
     }
     {
-      name = "svgo___svgo_2.7.0.tgz";
+      name = "svgo___svgo_2.8.0.tgz";
       path = fetchurl {
-        name = "svgo___svgo_2.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/svgo/-/svgo-2.7.0.tgz";
-        sha1 = "e164cded22f4408fe4978f082be80159caea1e2d";
+        name = "svgo___svgo_2.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz";
+        sha1 = "4ff80cce6710dc2795f0c7c74101e6764cfccd24";
       };
     }
     {
-      name = "table___table_6.7.2.tgz";
+      name = "table___table_6.8.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 = "table___table_6.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz";
+        sha1 = "87e28f14fa4321c3377ba286f07b79b281a3b3ca";
       };
     }
     {
@@ -5963,19 +5923,19 @@
       };
     }
     {
-      name = "terser_webpack_plugin___terser_webpack_plugin_5.2.4.tgz";
+      name = "terser_webpack_plugin___terser_webpack_plugin_5.3.0.tgz";
       path = fetchurl {
-        name = "terser_webpack_plugin___terser_webpack_plugin_5.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz";
-        sha1 = "ad1be7639b1cbe3ea49fab995cbe7224b31747a1";
+        name = "terser_webpack_plugin___terser_webpack_plugin_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz";
+        sha1 = "21641326486ecf91d8054161c816e464435bae9f";
       };
     }
     {
-      name = "terser___terser_5.9.0.tgz";
+      name = "terser___terser_5.10.0.tgz";
       path = fetchurl {
-        name = "terser___terser_5.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz";
-        sha1 = "47d6e629a522963240f2b55fcaa3c99083d2c351";
+        name = "terser___terser_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz";
+        sha1 = "b86390809c0389105eb0a0b62397563096ddafcc";
       };
     }
     {
@@ -6075,11 +6035,11 @@
       };
     }
     {
-      name = "tsconfig_paths___tsconfig_paths_3.11.0.tgz";
+      name = "tsconfig_paths___tsconfig_paths_3.12.0.tgz";
       path = fetchurl {
-        name = "tsconfig_paths___tsconfig_paths_3.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz";
-        sha1 = "954c1fe973da6339c78e06b03ce2e48810b65f36";
+        name = "tsconfig_paths___tsconfig_paths_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz";
+        sha1 = "19769aca6ee8f6a1a341e38c8fa45dd9fb18899b";
       };
     }
     {
@@ -6203,14 +6163,6 @@
       };
     }
     {
-      name = "uniqs___uniqs_2.0.0.tgz";
-      path = fetchurl {
-        name = "uniqs___uniqs_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
-        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
-      };
-    }
-    {
       name = "unist_util_find_all_after___unist_util_find_all_after_3.0.2.tgz";
       path = fetchurl {
         name = "unist_util_find_all_after___unist_util_find_all_after_3.0.2.tgz";
@@ -6291,14 +6243,6 @@
       };
     }
     {
-      name = "vendors___vendors_1.0.4.tgz";
-      path = fetchurl {
-        name = "vendors___vendors_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz";
-        sha1 = "e2b800a53e7a29b93506c3cf41100d16c4c4ad8e";
-      };
-    }
-    {
       name = "vfile_message___vfile_message_2.0.4.tgz";
       path = fetchurl {
         name = "vfile_message___vfile_message_2.0.4.tgz";
@@ -6323,11 +6267,11 @@
       };
     }
     {
-      name = "watchpack___watchpack_2.2.0.tgz";
+      name = "watchpack___watchpack_2.3.1.tgz";
       path = fetchurl {
-        name = "watchpack___watchpack_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz";
-        sha1 = "47d78f5415fe550ecd740f99fe2882323a58b1ce";
+        name = "watchpack___watchpack_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz";
+        sha1 = "4200d9447b401156eeca7767ee610f8809bc9d25";
       };
     }
     {
@@ -6339,11 +6283,11 @@
       };
     }
     {
-      name = "webpack_cli___webpack_cli_4.9.1.tgz";
+      name = "webpack_cli___webpack_cli_4.9.2.tgz";
       path = fetchurl {
-        name = "webpack_cli___webpack_cli_4.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz";
-        sha1 = "b64be825e2d1b130f285c314caa3b1ba9a4632b3";
+        name = "webpack_cli___webpack_cli_4.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.2.tgz";
+        sha1 = "77c1adaea020c3f9e2db8aad8ea78d235c83659d";
       };
     }
     {
@@ -6443,11 +6387,11 @@
       };
     }
     {
-      name = "ws___ws_7.5.5.tgz";
+      name = "ws___ws_7.5.6.tgz";
       path = fetchurl {
-        name = "ws___ws_7.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz";
-        sha1 = "8b4bc4af518cfabd0473ae4f99144287b33eb881";
+        name = "ws___ws_7.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz";
+        sha1 = "e59fc509fb15ddfb65487ee9765c5a51dec5fe7b";
       };
     }
     {
@@ -6483,14 +6427,6 @@
       };
     }
     {
-      name = "yocto_queue___yocto_queue_0.1.0.tgz";
-      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";
-      };
-    }
-    {
       name = "zwitch___zwitch_1.0.5.tgz";
       path = fetchurl {
         name = "zwitch___zwitch_1.0.5.tgz";
diff --git a/nixpkgs/pkgs/servers/web-apps/rss-bridge/default.nix b/nixpkgs/pkgs/servers/web-apps/rss-bridge/default.nix
index 649b76f871c1..89398a9edbe3 100644
--- a/nixpkgs/pkgs/servers/web-apps/rss-bridge/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/shiori/default.nix b/nixpkgs/pkgs/servers/web-apps/shiori/default.nix
index b39d7a00cedc..3da93fb28d04 100644
--- a/nixpkgs/pkgs/servers/web-apps/shiori/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/sogo/default.nix b/nixpkgs/pkgs/servers/web-apps/sogo/default.nix
index 26586fbdabe6..8af14f109a3b 100644
--- a/nixpkgs/pkgs/servers/web-apps/sogo/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/sogo/default.nix
@@ -3,13 +3,13 @@
 , oathToolkit }:
 gnustep.stdenv.mkDerivation rec {
   pname = "SOGo";
-  version = "5.4.0";
+  version = "5.5.0";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOGo-${version}";
-    sha256 = "0fwc9ia84f4ijnl5ymn4f6s1n8v3g7rqvpqaaadyw8jwj9x26a6k";
+    sha256 = "1kyfn3qw299qsyivbrm487h68va99rrb3gmhpgjpwqd2xdg9aypk";
   };
 
   nativeBuildInputs = [ gnustep.make makeWrapper python3 ];
diff --git a/nixpkgs/pkgs/servers/web-apps/wiki-js/default.nix b/nixpkgs/pkgs/servers/web-apps/wiki-js/default.nix
index bfbe46388d2d..8eb1a9e7a87f 100644
--- a/nixpkgs/pkgs/servers/web-apps/wiki-js/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/wiki-js/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wiki-js";
-  version = "2.5.268";
+  version = "2.5.274";
 
   src = fetchurl {
     url = "https://github.com/Requarks/wiki/releases/download/${version}/${pname}.tar.gz";
-    sha256 = "sha256-Ec4trrVETbgKs41aIc4Ne02c969Qc44QtoBf8tyk4+I=";
+    sha256 = "sha256-l3mvlC/DIJ2W3xLdwSV2gCRDdNGcg6OUW4e1IOihlyQ=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix b/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
index 32b63a25b0b4..343a1c345c62 100644
--- a/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/wordpress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wordpress";
-  version = "5.8.2";
+  version = "5.9";
 
   src = fetchurl {
     url = "https://wordpress.org/${pname}-${version}.tar.gz";
-    sha256 = "sha256-o9KeTmZXTHtqa/Z2KOo1n6gVCFuna42dFrvf9OBC8v8=";
+    sha256 = "sha256-RVg45GvS0wqEka6b0lv3Acgu1p28fImAbioTCGjG/7c=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/x11/xorg/default.nix b/nixpkgs/pkgs/servers/x11/xorg/default.nix
index 085048ae68dc..932372d2b3dc 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/default.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/default.nix
@@ -1345,6 +1345,21 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
+  libxcvt = callPackage ({ stdenv, pkg-config, fetchurl, meson, ninja }: stdenv.mkDerivation {
+    pname = "libxcvt";
+    version = "0.1.1";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = "mirror://xorg/individual/lib/libxcvt-0.1.1.tar.xz";
+      sha256 = "0acc7vrj5kfb19zvyl7f29rnsvx383dvwc19k70r8prm1lccxsr7";
+    };
+    hardeningDisable = [ "bindnow" "relro" ];
+    nativeBuildInputs = [ pkg-config meson ninja ];
+    buildInputs = [ ];
+    meta.platforms = lib.platforms.unix;
+  }) {};
+
+  # THIS IS A GENERATED FILE.  DO NOT EDIT!
   libxkbfile = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libX11 }: stdenv.mkDerivation {
     pname = "libxkbfile";
     version = "1.1.0";
diff --git a/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 62873ceda482..bd81f7fa513b 100755
--- a/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -23,7 +23,7 @@ my %pcMap;
 my %extraAttrs;
 
 
-my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python3", "mkfontscale", "bdftopcf", "libxslt", "openssl", "gperf", "m4", "libinput", "libevdev", "mtdev", "xorgproto", "cairo", "gettext" );
+my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python3", "mkfontscale", "bdftopcf", "libxslt", "openssl", "gperf", "m4", "libinput", "libevdev", "mtdev", "xorgproto", "cairo", "gettext", "meson", "ninja" );
 $pcMap{$_} = $_ foreach @missingPCs;
 $pcMap{"freetype2"} = "freetype";
 $pcMap{"libpng12"} = "libpng";
@@ -229,6 +229,7 @@ while (<>) {
 
     push @nativeRequires, "gettext" if $file =~ /USE_GETTEXT/;
     push @requires, "libxslt" if $pkg =~ /libxcb/;
+    push @nativeRequires, "meson", "ninja" if $pkg =~ /libxcvt/;
     push @nativeRequires, "m4" if $pkg =~ /xcbutil/;
     push @requires, "gperf", "xorgproto" if $pkg =~ /xcbutil/;
 
diff --git a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
index 27a4da9622bf..3ec0360c0638 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
@@ -604,17 +604,7 @@ self: super:
               sed -i -e "s|#include <drm_fourcc.h>|#include <libdrm/drm_fourcc.h>|" $i
             done
           '';}
-        else if (abiCompat == "1.17") then {
-          name = "xorg-server-1.17.4";
-          builder = ./builder.sh;
-          src = fetchurl {
-            url = "mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2";
-            sha256 = "0mv4ilpqi5hpg182mzqn766frhi6rw48aba3xfbaj4m82v0lajqc";
-          };
-          nativeBuildInputs = [ pkg-config ];
-          buildInputs = [ xorgproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
-          meta.platforms = lib.platforms.unix;
-        } else if (abiCompat == "1.18") then {
+        else if (abiCompat == "1.18") then {
             name = "xorg-server-1.18.4";
             builder = ./builder.sh;
             src = fetchurl {
diff --git a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
index 75503b3a7395..96a5ac712f46 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
+++ b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
@@ -181,6 +181,7 @@ mirror://xorg/individual/lib/libXaw3d-1.6.3.tar.bz2
 mirror://xorg/individual/lib/libxcb-1.14.tar.xz
 mirror://xorg/individual/lib/libXcomposite-0.4.5.tar.bz2
 mirror://xorg/individual/lib/libXcursor-1.2.0.tar.bz2
+mirror://xorg/individual/lib/libxcvt-0.1.1.tar.xz
 mirror://xorg/individual/lib/libXdamage-1.1.5.tar.bz2
 mirror://xorg/individual/lib/libXdmcp-1.1.3.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.4.tar.bz2
diff --git a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
index 98f2f3c97300..851e16beb3f7 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
@@ -43,10 +43,10 @@
 stdenv.mkDerivation rec {
 
   pname = "xwayland";
-  version = "21.1.3";
+  version = "21.1.4";
   src = fetchurl {
     url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
-    sha256 = "sha256-68J1fzn9TH2xZU/YZZFYnCEaogFy1DpU93rlZ87b+KI=";
+    sha256 = "sha256-GfZ5XzHPqOs1Kx5bPDefIu5gIOmHAf8sxnnajE8RWfc=";
   };
 
   depsBuildBuild = [
diff --git a/nixpkgs/pkgs/servers/xandikos/default.nix b/nixpkgs/pkgs/servers/xandikos/default.nix
index 4c8ad7f89b7e..d76f28f99809 100644
--- a/nixpkgs/pkgs/servers/xandikos/default.nix
+++ b/nixpkgs/pkgs/servers/xandikos/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xandikos";
-  version = "0.2.6";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "jelmer";
     repo = "xandikos";
     rev = "v${version}";
-    sha256 = "sha256-Epy6NWtRY2Oj4MHTStdv8ZJ5SvSmUo6IlwL5PJV9pD0=";
+    sha256 = "sha256-KDDk0QSOjwivJFz3vLk+g4vZMlSuX2FiOgHJfDJkpwg=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/servers/xmpp/prosody-filer/default.nix b/nixpkgs/pkgs/servers/xmpp/prosody-filer/default.nix
new file mode 100644
index 000000000000..a6de3a104740
--- /dev/null
+++ b/nixpkgs/pkgs/servers/xmpp/prosody-filer/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "prosody-filer";
+  version = "unstable-2021-05-24";
+
+  vendorSha256 = "05spkks77x88kc31c1zdg1cbf9ijymjs7qzmhg4c6lql5p2h5fbd";
+
+  src = fetchFromGitHub {
+    owner = "ThomasLeister";
+    repo = "prosody-filer";
+    rev = "c65edd199b47dc505366c85b3702230fda797cd6";
+    sha256 = "0h6vp5flgy4wwmzhs6pf6qkk2j4ah8w919dwhfsq4wdpqs78kc0y";
+  };
+
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/ThomasLeister/prosody-filer";
+    maintainers = with maintainers; [ abbradar ];
+    license = licenses.mit;
+    platforms = platforms.linux;
+    description = "A simple file server for handling XMPP http_upload requests";
+ };
+}
diff --git a/nixpkgs/pkgs/servers/xmpp/prosody/default.nix b/nixpkgs/pkgs/servers/xmpp/prosody/default.nix
index 773632328a05..5d0ed06b5ae0 100644
--- a/nixpkgs/pkgs/servers/xmpp/prosody/default.nix
+++ b/nixpkgs/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,10 +18,11 @@ let
     ]
     ++ lib.optional withLibevent p.luaevent
     ++ lib.optional withDBI p.luadbi
+    ++ withExtraLuaPackages p
   );
 in
 stdenv.mkDerivation rec {
-  version = "0.11.10"; # also update communityModules
+  version = "0.11.12"; # also update communityModules
   pname = "prosody";
   # The following community modules are necessary for the nixos module
   # prosody module to comply with XEP-0423 and provide a working
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
   ];
   src = fetchurl {
     url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
-    sha256 = "1q84s9cq7cgzd295qxa2iy0r3vd3v3chbck62bdx3pd6skk19my6";
+    sha256 = "03an206bl3h2lqcgv1wfvc2bqjq6m9vjb2idw0vyvczm43c55kan";
   };
 
   # A note to all those merging automated updates: Please also update this
@@ -42,8 +44,8 @@ stdenv.mkDerivation rec {
   # version.
   communityModules = fetchhg {
     url = "https://hg.prosody.im/prosody-modules";
-    rev = "64fafbeba14d";
-    sha256 = "02gj1b8sdmdvymsdmjpq47zrl7sg578jcdxbbq18s44f3njmc9q1";
+    rev = "bd0a1f917d98";
+    sha256 = "0figx0b0y5zfk5anf16h20y4crjmpb6bkg30vl7p0m594qnyqjcx";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -63,30 +65,32 @@ 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 = {
     communityModules = withCommunityModules;
     tests = {
       main = nixosTests.prosody;
-      mysql = nixosTests.prosodyMysql;
     };
   };
 
diff --git a/nixpkgs/pkgs/servers/zigbee2mqtt/default.nix b/nixpkgs/pkgs/servers/zigbee2mqtt/default.nix
index 379b5368a642..7ec06e365997 100644
--- a/nixpkgs/pkgs/servers/zigbee2mqtt/default.nix
+++ b/nixpkgs/pkgs/servers/zigbee2mqtt/default.nix
@@ -3,14 +3,14 @@ let
   package = (import ./node.nix { inherit pkgs; inherit (stdenv.hostPlatform) system; }).package;
 in
 package.override rec {
-  version = "1.22.1";
+  version = "1.23.0";
   reconstructLock = true;
 
   src = pkgs.fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    sha256 = "HoheB+/K4THFqgcC79QZM71rDPv2JB+S6y4K1+sdASo=";
+    sha256 = "0mf6ya5pw5gh0ld0j5dlsicx3ndhfrm3q683faqcm4ks7c5kjhax";
   };
 
   passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
diff --git a/nixpkgs/pkgs/servers/zigbee2mqtt/node-packages.nix b/nixpkgs/pkgs/servers/zigbee2mqtt/node-packages.nix
index bb988a02fa9d..82b3e50e1d3d 100644
--- a/nixpkgs/pkgs/servers/zigbee2mqtt/node-packages.nix
+++ b/nixpkgs/pkgs/servers/zigbee2mqtt/node-packages.nix
@@ -4,211 +4,220 @@
 
 let
   sources = {
-    "@babel/cli-7.16.0" = {
+    "@babel/cli-7.16.8" = {
       name = "_at_babel_slash_cli";
       packageName = "@babel/cli";
-      version = "7.16.0";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.16.0.tgz";
-        sha512 = "WLrM42vKX/4atIoQB+eb0ovUof53UUvecb4qGjU2PDDWRiZr50ZpiV8NpcLo7iSxeGYrRG0Mqembsa+UrTAV6Q==";
+        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.16.8.tgz";
+        sha512 = "FTKBbxyk5TclXOGmwYyqelqP5IF6hMxaeJskd85jbR5jBfYlwqgwAbJwnixi1ZBbTqKfFuAA95mdmUFeSRwyJA==";
       };
     };
-    "@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/compat-data-7.16.4" = {
+    "@babel/compat-data-7.16.8" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.16.4";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz";
-        sha512 = "1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz";
+        sha512 = "m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==";
       };
     };
-    "@babel/core-7.16.0" = {
+    "@babel/core-7.16.12" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.16.0";
+      version = "7.16.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz";
-        sha512 = "mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz";
+        sha512 = "dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==";
       };
     };
-    "@babel/generator-7.16.0" = {
+    "@babel/generator-7.16.8" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.16.0";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz";
-        sha512 = "RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz";
+        sha512 = "1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.16.0" = {
+    "@babel/helper-annotate-as-pure-7.16.7" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz";
-        sha512 = "ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
+        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.0" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.7" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz";
-        sha512 = "9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
+        sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
       };
     };
-    "@babel/helper-compilation-targets-7.16.3" = {
+    "@babel/helper-compilation-targets-7.16.7" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.16.3";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz";
-        sha512 = "vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz";
+        sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.16.0" = {
+    "@babel/helper-create-class-features-plugin-7.16.10" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.16.0";
+      version = "7.16.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz";
-        sha512 = "XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==";
+        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==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.16.0" = {
+    "@babel/helper-create-regexp-features-plugin-7.16.7" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz";
-        sha512 = "3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==";
+        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==";
       };
     };
-    "@babel/helper-define-polyfill-provider-0.3.0" = {
+    "@babel/helper-define-polyfill-provider-0.3.1" = {
       name = "_at_babel_slash_helper-define-polyfill-provider";
       packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.3.0";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz";
+        sha512 = "J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==";
+      };
+    };
+    "@babel/helper-environment-visitor-7.16.7" = {
+      name = "_at_babel_slash_helper-environment-visitor";
+      packageName = "@babel/helper-environment-visitor";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz";
-        sha512 = "7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==";
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.16.0" = {
+    "@babel/helper-explode-assignable-expression-7.16.7" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz";
-        sha512 = "Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
+        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
       };
     };
-    "@babel/helper-function-name-7.16.0" = {
+    "@babel/helper-function-name-7.16.7" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz";
-        sha512 = "BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
       };
     };
-    "@babel/helper-get-function-arity-7.16.0" = {
+    "@babel/helper-get-function-arity-7.16.7" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz";
-        sha512 = "ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
       };
     };
-    "@babel/helper-hoist-variables-7.16.0" = {
+    "@babel/helper-hoist-variables-7.16.7" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz";
-        sha512 = "1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.16.0" = {
+    "@babel/helper-member-expression-to-functions-7.16.7" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz";
-        sha512 = "bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz";
+        sha512 = "VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==";
       };
     };
-    "@babel/helper-module-imports-7.16.0" = {
+    "@babel/helper-module-imports-7.16.7" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz";
-        sha512 = "kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
       };
     };
-    "@babel/helper-module-transforms-7.16.0" = {
+    "@babel/helper-module-transforms-7.16.7" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz";
-        sha512 = "My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz";
+        sha512 = "gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.16.0" = {
+    "@babel/helper-optimise-call-expression-7.16.7" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz";
-        sha512 = "SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
+        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
       };
     };
-    "@babel/helper-plugin-utils-7.14.5" = {
+    "@babel/helper-plugin-utils-7.16.7" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.14.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz";
-        sha512 = "/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz";
+        sha512 = "Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.16.4" = {
+    "@babel/helper-remap-async-to-generator-7.16.8" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.16.4";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz";
-        sha512 = "vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
+        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
       };
     };
-    "@babel/helper-replace-supers-7.16.0" = {
+    "@babel/helper-replace-supers-7.16.7" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz";
-        sha512 = "TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz";
+        sha512 = "y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==";
       };
     };
-    "@babel/helper-simple-access-7.16.0" = {
+    "@babel/helper-simple-access-7.16.7" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz";
-        sha512 = "o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz";
+        sha512 = "ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==";
       };
     };
     "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
@@ -220,229 +229,229 @@ let
         sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
       };
     };
-    "@babel/helper-split-export-declaration-7.16.0" = {
+    "@babel/helper-split-export-declaration-7.16.7" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz";
-        sha512 = "0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
       };
     };
-    "@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/helper-validator-option-7.14.5" = {
+    "@babel/helper-validator-option-7.16.7" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.14.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
-        sha512 = "OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
       };
     };
-    "@babel/helper-wrap-function-7.16.0" = {
+    "@babel/helper-wrap-function-7.16.8" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.16.0";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz";
-        sha512 = "VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
+        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.16.3" = {
+    "@babel/helpers-7.16.7" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.16.3";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz";
-        sha512 = "Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz";
+        sha512 = "9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==";
       };
     };
-    "@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==";
       };
     };
-    "@babel/parser-7.16.4" = {
+    "@babel/parser-7.16.12" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.16.4";
+      version = "7.16.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz";
-        sha512 = "6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz";
+        sha512 = "VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==";
       };
     };
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2" = {
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
       name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
       packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.16.2";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz";
-        sha512 = "h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz";
+        sha512 = "anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==";
       };
     };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0" = {
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7" = {
       name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
       packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz";
-        sha512 = "4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz";
+        sha512 = "di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.16.4" = {
+    "@babel/plugin-proposal-async-generator-functions-7.16.8" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.16.4";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz";
-        sha512 = "/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz";
+        sha512 = "71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.16.0" = {
+    "@babel/plugin-proposal-class-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz";
-        sha512 = "mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz";
+        sha512 = "IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==";
       };
     };
-    "@babel/plugin-proposal-class-static-block-7.16.0" = {
+    "@babel/plugin-proposal-class-static-block-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-class-static-block";
       packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz";
-        sha512 = "mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz";
+        sha512 = "dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==";
       };
     };
-    "@babel/plugin-proposal-decorators-7.16.4" = {
+    "@babel/plugin-proposal-decorators-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-decorators";
       packageName = "@babel/plugin-proposal-decorators";
-      version = "7.16.4";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz";
-        sha512 = "RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz";
+        sha512 = "DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.16.0" = {
+    "@babel/plugin-proposal-dynamic-import-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz";
-        sha512 = "QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
+        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.16.0" = {
+    "@babel/plugin-proposal-export-namespace-from-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz";
-        sha512 = "CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz";
+        sha512 = "ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.16.0" = {
+    "@babel/plugin-proposal-json-strings-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz";
-        sha512 = "kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz";
+        sha512 = "lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.16.0" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz";
-        sha512 = "pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz";
+        sha512 = "K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.16.0" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz";
-        sha512 = "3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz";
+        sha512 = "aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.16.0" = {
+    "@babel/plugin-proposal-numeric-separator-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz";
-        sha512 = "FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
+        sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.16.0" = {
+    "@babel/plugin-proposal-object-rest-spread-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz";
-        sha512 = "LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==";
+        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==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.16.0" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz";
-        sha512 = "kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
+        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.16.0" = {
+    "@babel/plugin-proposal-optional-chaining-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz";
-        sha512 = "Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz";
+        sha512 = "eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.16.0" = {
+    "@babel/plugin-proposal-private-methods-7.16.11" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.16.0";
+      version = "7.16.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz";
-        sha512 = "IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz";
+        sha512 = "F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==";
       };
     };
-    "@babel/plugin-proposal-private-property-in-object-7.16.0" = {
+    "@babel/plugin-proposal-private-property-in-object-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-private-property-in-object";
       packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz";
-        sha512 = "3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz";
+        sha512 = "rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.16.0" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz";
-        sha512 = "ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz";
+        sha512 = "QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -481,13 +490,13 @@ let
         sha512 = "b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==";
       };
     };
-    "@babel/plugin-syntax-decorators-7.16.0" = {
+    "@babel/plugin-syntax-decorators-7.16.7" = {
       name = "_at_babel_slash_plugin-syntax-decorators";
       packageName = "@babel/plugin-syntax-decorators";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz";
-        sha512 = "nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.7.tgz";
+        sha512 = "vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw==";
       };
     };
     "@babel/plugin-syntax-dynamic-import-7.8.3" = {
@@ -598,319 +607,319 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.16.0" = {
+    "@babel/plugin-syntax-typescript-7.16.7" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz";
-        sha512 = "Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz";
+        sha512 = "YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.16.0" = {
+    "@babel/plugin-transform-arrow-functions-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz";
-        sha512 = "vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz";
+        sha512 = "9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.16.0" = {
+    "@babel/plugin-transform-async-to-generator-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.16.0";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz";
-        sha512 = "PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz";
+        sha512 = "MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.16.0" = {
+    "@babel/plugin-transform-block-scoped-functions-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz";
-        sha512 = "V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
+        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.16.0" = {
+    "@babel/plugin-transform-block-scoping-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz";
-        sha512 = "27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz";
+        sha512 = "ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==";
       };
     };
-    "@babel/plugin-transform-classes-7.16.0" = {
+    "@babel/plugin-transform-classes-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz";
-        sha512 = "HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz";
+        sha512 = "WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.16.0" = {
+    "@babel/plugin-transform-computed-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz";
-        sha512 = "63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz";
+        sha512 = "gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.16.0" = {
+    "@babel/plugin-transform-destructuring-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz";
-        sha512 = "Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz";
+        sha512 = "VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.16.0" = {
+    "@babel/plugin-transform-dotall-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz";
-        sha512 = "FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
+        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.16.0" = {
+    "@babel/plugin-transform-duplicate-keys-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz";
-        sha512 = "LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz";
+        sha512 = "03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.16.0" = {
+    "@babel/plugin-transform-exponentiation-operator-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz";
-        sha512 = "OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
+        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
       };
     };
-    "@babel/plugin-transform-for-of-7.16.0" = {
+    "@babel/plugin-transform-for-of-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz";
-        sha512 = "5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz";
+        sha512 = "/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==";
       };
     };
-    "@babel/plugin-transform-function-name-7.16.0" = {
+    "@babel/plugin-transform-function-name-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz";
-        sha512 = "lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
+        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
       };
     };
-    "@babel/plugin-transform-literals-7.16.0" = {
+    "@babel/plugin-transform-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz";
-        sha512 = "gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz";
+        sha512 = "6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.16.0" = {
+    "@babel/plugin-transform-member-expression-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz";
-        sha512 = "WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
+        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.16.0" = {
+    "@babel/plugin-transform-modules-amd-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz";
-        sha512 = "rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz";
+        sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.16.0" = {
+    "@babel/plugin-transform-modules-commonjs-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.16.0";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz";
-        sha512 = "Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz";
+        sha512 = "oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.16.0" = {
+    "@babel/plugin-transform-modules-systemjs-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz";
-        sha512 = "yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz";
+        sha512 = "DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.16.0" = {
+    "@babel/plugin-transform-modules-umd-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz";
-        sha512 = "nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz";
+        sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.16.0" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.16.0";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz";
-        sha512 = "LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
+        sha512 = "j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==";
       };
     };
-    "@babel/plugin-transform-new-target-7.16.0" = {
+    "@babel/plugin-transform-new-target-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz";
-        sha512 = "fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz";
+        sha512 = "xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==";
       };
     };
-    "@babel/plugin-transform-object-super-7.16.0" = {
+    "@babel/plugin-transform-object-super-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz";
-        sha512 = "fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
+        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
       };
     };
-    "@babel/plugin-transform-parameters-7.16.3" = {
+    "@babel/plugin-transform-parameters-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.16.3";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz";
-        sha512 = "3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz";
+        sha512 = "AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.16.0" = {
+    "@babel/plugin-transform-property-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz";
-        sha512 = "XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
+        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.16.0" = {
+    "@babel/plugin-transform-regenerator-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz";
-        sha512 = "JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
+        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.16.0" = {
+    "@babel/plugin-transform-reserved-words-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz";
-        sha512 = "Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz";
+        sha512 = "KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.16.0" = {
+    "@babel/plugin-transform-shorthand-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz";
-        sha512 = "iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
+        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
       };
     };
-    "@babel/plugin-transform-spread-7.16.0" = {
+    "@babel/plugin-transform-spread-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz";
-        sha512 = "Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz";
+        sha512 = "+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.16.0" = {
+    "@babel/plugin-transform-sticky-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz";
-        sha512 = "/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
+        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.16.0" = {
+    "@babel/plugin-transform-template-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz";
-        sha512 = "Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz";
+        sha512 = "VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.16.0" = {
+    "@babel/plugin-transform-typeof-symbol-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz";
-        sha512 = "++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz";
+        sha512 = "p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==";
       };
     };
-    "@babel/plugin-transform-typescript-7.16.1" = {
+    "@babel/plugin-transform-typescript-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.16.1";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz";
-        sha512 = "NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz";
+        sha512 = "bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.16.0" = {
+    "@babel/plugin-transform-unicode-escapes-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz";
-        sha512 = "VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
+        sha512 = "TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.16.0" = {
+    "@babel/plugin-transform-unicode-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz";
-        sha512 = "jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
+        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
       };
     };
-    "@babel/preset-env-7.16.4" = {
+    "@babel/preset-env-7.16.11" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.16.4";
+      version = "7.16.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.4.tgz";
-        sha512 = "v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz";
+        sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
       };
     };
     "@babel/preset-modules-0.1.5" = {
@@ -922,49 +931,49 @@ let
         sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
       };
     };
-    "@babel/preset-typescript-7.16.0" = {
+    "@babel/preset-typescript-7.16.7" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz";
-        sha512 = "txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz";
+        sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
       };
     };
-    "@babel/runtime-7.16.3" = {
+    "@babel/runtime-7.16.7" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.16.3";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz";
-        sha512 = "WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz";
+        sha512 = "9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==";
       };
     };
-    "@babel/template-7.16.0" = {
+    "@babel/template-7.16.7" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz";
-        sha512 = "MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.16.3" = {
+    "@babel/traverse-7.16.10" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.16.3";
+      version = "7.16.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz";
-        sha512 = "eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz";
+        sha512 = "yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==";
       };
     };
-    "@babel/types-7.16.0" = {
+    "@babel/types-7.16.8" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.16.0";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz";
-        sha512 = "PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz";
+        sha512 = "smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==";
       };
     };
     "@bcoe/v8-coverage-0.2.3" = {
@@ -985,22 +994,22 @@ let
         sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
       };
     };
-    "@eslint/eslintrc-1.0.4" = {
+    "@eslint/eslintrc-1.0.5" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz";
-        sha512 = "h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz";
+        sha512 = "BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==";
       };
     };
-    "@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";
+      version = "0.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz";
-        sha512 = "JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==";
+        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz";
+        sha512 = "3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==";
       };
     };
     "@humanwhocodes/object-schema-1.2.1" = {
@@ -1030,121 +1039,58 @@ let
         sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     };
-    "@jest/console-27.3.1" = {
-      name = "_at_jest_slash_console";
-      packageName = "@jest/console";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-27.3.1.tgz";
-        sha512 = "RkFNWmv0iui+qsOr/29q9dyfKTTT5DCuP31kUwg7rmOKPT/ozLeGLKJKVIiOfbiKyleUZKIrHwhmiZWVe8IMdw==";
-      };
-    };
-    "@jest/console-27.4.2" = {
+    "@jest/console-27.4.6" = {
       name = "_at_jest_slash_console";
       packageName = "@jest/console";
-      version = "27.4.2";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-27.4.2.tgz";
-        sha512 = "xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg==";
+        url = "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz";
+        sha512 = "jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==";
       };
     };
-    "@jest/core-27.3.1" = {
+    "@jest/core-27.4.7" = {
       name = "_at_jest_slash_core";
       packageName = "@jest/core";
-      version = "27.3.1";
+      version = "27.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/core/-/core-27.3.1.tgz";
-        sha512 = "DMNE90RR5QKx0EA+wqe3/TNEwiRpOkhshKNxtLxd4rt3IZpCt+RSL+FoJsGeblRZmqdK4upHA/mKKGPPRAifhg==";
+        url = "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz";
+        sha512 = "n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==";
       };
     };
-    "@jest/core-27.4.3" = {
-      name = "_at_jest_slash_core";
-      packageName = "@jest/core";
-      version = "27.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/core/-/core-27.4.3.tgz";
-        sha512 = "V9ms3zSxUHxh1E/ZLAiXF7SLejsdFnjWTFizWotMOWvjho0lW5kSjZymhQSodNW0T0ZMQRiha7f8+NcFVm3hJQ==";
-      };
-    };
-    "@jest/environment-27.3.1" = {
+    "@jest/environment-27.4.6" = {
       name = "_at_jest_slash_environment";
       packageName = "@jest/environment";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/environment/-/environment-27.3.1.tgz";
-        sha512 = "BCKCj4mOVLme6Tanoyc9k0ultp3pnmuyHw73UHRPeeZxirsU/7E3HC4le/VDb/SMzE1JcPnto+XBKFOcoiJzVw==";
+        url = "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz";
+        sha512 = "E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==";
       };
     };
-    "@jest/environment-27.4.2" = {
-      name = "_at_jest_slash_environment";
-      packageName = "@jest/environment";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/environment/-/environment-27.4.2.tgz";
-        sha512 = "uSljKxh/rGlHlmhyeG4ZoVK9hOec+EPBkwTHkHKQ2EqDu5K+MaG9uJZ8o1CbRsSdZqSuhXvJCYhBWsORPPg6qw==";
-      };
-    };
-    "@jest/fake-timers-27.3.1" = {
-      name = "_at_jest_slash_fake-timers";
-      packageName = "@jest/fake-timers";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.3.1.tgz";
-        sha512 = "M3ZFgwwlqJtWZ+QkBG5NmC23A9w+A6ZxNsO5nJxJsKYt4yguBd3i8TpjQz5NfCX91nEve1KqD9RA2Q+Q1uWqoA==";
-      };
-    };
-    "@jest/fake-timers-27.4.2" = {
+    "@jest/fake-timers-27.4.6" = {
       name = "_at_jest_slash_fake-timers";
       packageName = "@jest/fake-timers";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.2.tgz";
-        sha512 = "f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg==";
-      };
-    };
-    "@jest/globals-27.3.1" = {
-      name = "_at_jest_slash_globals";
-      packageName = "@jest/globals";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/globals/-/globals-27.3.1.tgz";
-        sha512 = "Q651FWiWQAIFiN+zS51xqhdZ8g9b88nGCobC87argAxA7nMfNQq0Q0i9zTfQYgLa6qFXk2cGANEqfK051CZ8Pg==";
+        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz";
+        sha512 = "mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==";
       };
     };
-    "@jest/globals-27.4.2" = {
+    "@jest/globals-27.4.6" = {
       name = "_at_jest_slash_globals";
       packageName = "@jest/globals";
-      version = "27.4.2";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/globals/-/globals-27.4.2.tgz";
-        sha512 = "KkfaHEttlGpXYAQTZHgrESiEPx2q/DKAFLGLFda1uGVrqc17snd3YVPhOxlXOHIzVPs+lQ/SDB2EIvxyGzb3Ew==";
+        url = "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz";
+        sha512 = "kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==";
       };
     };
-    "@jest/reporters-27.3.1" = {
+    "@jest/reporters-27.4.6" = {
       name = "_at_jest_slash_reporters";
       packageName = "@jest/reporters";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-27.3.1.tgz";
-        sha512 = "m2YxPmL9Qn1emFVgZGEiMwDntDxRRQ2D58tiDQlwYTg5GvbFOKseYCcHtn0WsI8CG4vzPglo3nqbOiT8ySBT/w==";
-      };
-    };
-    "@jest/reporters-27.4.2" = {
-      name = "_at_jest_slash_reporters";
-      packageName = "@jest/reporters";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.2.tgz";
-        sha512 = "sp4aqmdBJtjKetEakzDPcZggPcVIF6w9QLkYBbaWDV6e/SIsHnF1S4KtIH91eEc2fp7ep6V/e1xvdfEoho1d2w==";
-      };
-    };
-    "@jest/source-map-27.0.6" = {
-      name = "_at_jest_slash_source-map";
-      packageName = "@jest/source-map";
-      version = "27.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz";
-        sha512 = "Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==";
+        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz";
+        sha512 = "+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==";
       };
     };
     "@jest/source-map-27.4.0" = {
@@ -1156,67 +1102,31 @@ let
         sha512 = "Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==";
       };
     };
-    "@jest/test-result-27.3.1" = {
-      name = "_at_jest_slash_test-result";
-      packageName = "@jest/test-result";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-27.3.1.tgz";
-        sha512 = "mLn6Thm+w2yl0opM8J/QnPTqrfS4FoXsXF2WIWJb2O/GBSyResL71BRuMYbYRsGt7ELwS5JGcEcGb52BNrumgg==";
-      };
-    };
-    "@jest/test-result-27.4.2" = {
+    "@jest/test-result-27.4.6" = {
       name = "_at_jest_slash_test-result";
       packageName = "@jest/test-result";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.2.tgz";
-        sha512 = "kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA==";
-      };
-    };
-    "@jest/test-sequencer-27.3.1" = {
-      name = "_at_jest_slash_test-sequencer";
-      packageName = "@jest/test-sequencer";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.3.1.tgz";
-        sha512 = "siySLo07IMEdSjA4fqEnxfIX8lB/lWYsBPwNFtkOvsFQvmBrL3yj3k3uFNZv/JDyApTakRpxbKLJ3CT8UGVCrA==";
+        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz";
+        sha512 = "fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==";
       };
     };
-    "@jest/test-sequencer-27.4.2" = {
+    "@jest/test-sequencer-27.4.6" = {
       name = "_at_jest_slash_test-sequencer";
       packageName = "@jest/test-sequencer";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.2.tgz";
-        sha512 = "HmHp5mlh9f9GyNej5yCS1JZIFfUGnP9+jEOH5zoq5EmsuZeYD+dGULqyvGDPtuzzbyAFJ6R4+z4SS0VvnFwwGQ==";
-      };
-    };
-    "@jest/transform-27.3.1" = {
-      name = "_at_jest_slash_transform";
-      packageName = "@jest/transform";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-27.3.1.tgz";
-        sha512 = "3fSvQ02kuvjOI1C1ssqMVBKJpZf6nwoCiSu00zAKh5nrp3SptNtZy/8s5deayHnqxhjD9CWDJ+yqQwuQ0ZafXQ==";
+        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz";
+        sha512 = "3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==";
       };
     };
-    "@jest/transform-27.4.2" = {
+    "@jest/transform-27.4.6" = {
       name = "_at_jest_slash_transform";
       packageName = "@jest/transform";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-27.4.2.tgz";
-        sha512 = "RTKcPZllfcmLfnlxBya7aypofhdz05+E6QITe55Ex0rxyerkgjmmpMlvVn11V0cP719Ps6WcDYCnDzxnnJUwKg==";
-      };
-    };
-    "@jest/types-27.2.5" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "27.2.5";
+      version = "27.4.6";
       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/transform/-/transform-27.4.6.tgz";
+        sha512 = "9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==";
       };
     };
     "@jest/types-27.4.2" = {
@@ -1390,22 +1300,22 @@ let
         sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
       };
     };
-    "@types/babel__core-7.1.16" = {
+    "@types/babel__core-7.1.18" = {
       name = "_at_types_slash_babel__core";
       packageName = "@types/babel__core";
-      version = "7.1.16";
+      version = "7.1.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz";
-        sha512 = "EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==";
+        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz";
+        sha512 = "S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==";
       };
     };
-    "@types/babel__generator-7.6.3" = {
+    "@types/babel__generator-7.6.4" = {
       name = "_at_types_slash_babel__generator";
       packageName = "@types/babel__generator";
-      version = "7.6.3";
+      version = "7.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz";
-        sha512 = "/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==";
+        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz";
+        sha512 = "tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==";
       };
     };
     "@types/babel__template-7.4.1" = {
@@ -1471,22 +1381,22 @@ let
         sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
       };
     };
-    "@types/humanize-duration-3.27.0" = {
+    "@types/humanize-duration-3.27.1" = {
       name = "_at_types_slash_humanize-duration";
       packageName = "@types/humanize-duration";
-      version = "3.27.0";
+      version = "3.27.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/humanize-duration/-/humanize-duration-3.27.0.tgz";
-        sha512 = "ivv1EIdXz20vHPB9xftPvogUEjGLSSlgz2fipK2yyHQZvZeIgUQBZc23Kcuxa4zGbiUcRtr36Sw96CF+TO30Fw==";
+        url = "https://registry.npmjs.org/@types/humanize-duration/-/humanize-duration-3.27.1.tgz";
+        sha512 = "K3e+NZlpCKd6Bd/EIdqjFJRFHbrq5TzPPLwREk5Iv/YoIjQrs6ljdAUCo+Lb2xFlGNOjGSE0dqsVD19cZL137w==";
       };
     };
-    "@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" = {
@@ -1507,13 +1417,13 @@ let
         sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
       };
     };
-    "@types/jest-27.0.3" = {
+    "@types/jest-27.4.0" = {
       name = "_at_types_slash_jest";
       packageName = "@types/jest";
-      version = "27.0.3";
+      version = "27.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.0.3.tgz";
-        sha512 = "cmmwv9t7gBYt7hNKH5Spu7Kuu/DotGa+Ff+JGRKZ4db5eh8PnKS4LuebJ3YLUoyOyIHraTGyULn23YtEAm0VSg==";
+        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz";
+        sha512 = "gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==";
       };
     };
     "@types/js-yaml-4.0.5" = {
@@ -1570,22 +1480,22 @@ let
         sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
       };
     };
-    "@types/node-16.11.10" = {
+    "@types/node-17.0.13" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.10";
+      version = "17.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz";
-        sha512 = "3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz";
+        sha512 = "Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==";
       };
     };
-    "@types/node-16.11.11" = {
+    "@types/node-17.0.14" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.11";
+      version = "17.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz";
-        sha512 = "KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz";
+        sha512 = "SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==";
       };
     };
     "@types/object-assign-deep-0.4.0" = {
@@ -1597,13 +1507,13 @@ let
         sha512 = "3D0F3rHRNDc8cQSXNzwF1jBrJi28Mdrhc10ZLlqbJWDPYRWTTWB9Tc8JoKrgBvLKioXoPoHT6Uzf3s2F7akCUg==";
       };
     };
-    "@types/prettier-2.4.2" = {
+    "@types/prettier-2.4.3" = {
       name = "_at_types_slash_prettier";
       packageName = "@types/prettier";
-      version = "2.4.2";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz";
-        sha512 = "ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==";
+        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz";
+        sha512 = "QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==";
       };
     };
     "@types/rimraf-3.0.2" = {
@@ -1633,13 +1543,13 @@ let
         sha512 = "Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==";
       };
     };
-    "@types/ws-8.2.0" = {
+    "@types/ws-8.2.2" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "8.2.0";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz";
-        sha512 = "cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz";
+        sha512 = "NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==";
       };
     };
     "@types/yargs-16.0.4" = {
@@ -1660,112 +1570,121 @@ let
         sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.4.0" = {
+    "@typescript-eslint/eslint-plugin-5.10.1" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz";
-        sha512 = "9/yPSBlwzsetCsGEn9j24D8vGQgJkOTr4oMLas/w886ZtzKIs1iyoqFrwsX2fqYEeUwsdBpC21gcjRGo57u0eg==";
-      };
-    };
-    "@typescript-eslint/experimental-utils-5.4.0" = {
-      name = "_at_typescript-eslint_slash_experimental-utils";
-      packageName = "@typescript-eslint/experimental-utils";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.4.0.tgz";
-        sha512 = "Nz2JDIQUdmIGd6p33A+naQmwfkU5KVTLb/5lTk+tLVTDacZKoGQisj8UCxk7onJcrgjIvr8xWqkYI+DbI3TfXg==";
-      };
-    };
-    "@typescript-eslint/experimental-utils-5.5.0" = {
-      name = "_at_typescript-eslint_slash_experimental-utils";
-      packageName = "@typescript-eslint/experimental-utils";
-      version = "5.5.0";
+      version = "5.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.5.0.tgz";
-        sha512 = "kjWeeVU+4lQ1SLYErRKV5yDXbWDPkpbzTUUlfAUifPYvpX0qZlrcCZ96/6oWxt3QxtK5WVhXz+KsnwW9cIW+3A==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.1.tgz";
+        sha512 = "xN3CYqFlyE/qOcy978/L0xLR2HlcAGIyIK5sMOasxaaAPfQRj/MmMV6OC3I7NZO84oEUdWCOju34Z9W8E0pFDQ==";
       };
     };
-    "@typescript-eslint/parser-5.4.0" = {
+    "@typescript-eslint/parser-5.10.1" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.4.0";
+      version = "5.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.4.0.tgz";
-        sha512 = "JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.1.tgz";
+        sha512 = "GReo3tjNBwR5RnRO0K2wDIDN31cM3MmDtgyQ85oAxAmC5K3j/g85IjP+cDfcqDsDDBf1HNKQAD0WqOYL8jXqUA==";
       };
     };
-    "@typescript-eslint/scope-manager-5.4.0" = {
+    "@typescript-eslint/scope-manager-5.10.1" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.4.0";
+      version = "5.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz";
-        sha512 = "pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz";
+        sha512 = "Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg==";
       };
     };
-    "@typescript-eslint/scope-manager-5.5.0" = {
+    "@typescript-eslint/scope-manager-5.10.2" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.5.0";
+      version = "5.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.5.0.tgz";
-        sha512 = "0/r656RmRLo7CbN4Mdd+xZyPJ/fPCKhYdU6mnZx+8msAD8nJSP8EyCFkzbd6vNVZzZvWlMYrSNekqGrCBqFQhg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.2.tgz";
+        sha512 = "39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw==";
       };
     };
-    "@typescript-eslint/types-5.4.0" = {
+    "@typescript-eslint/type-utils-5.10.1" = {
+      name = "_at_typescript-eslint_slash_type-utils";
+      packageName = "@typescript-eslint/type-utils";
+      version = "5.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.1.tgz";
+        sha512 = "AfVJkV8uck/UIoDqhu+ptEdBoQATON9GXnhOpPLzkQRJcSChkvD//qsz9JVffl2goxX+ybs5klvacE9vmrQyCw==";
+      };
+    };
+    "@typescript-eslint/types-5.10.1" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.4.0";
+      version = "5.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.4.0.tgz";
-        sha512 = "GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.1.tgz";
+        sha512 = "ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q==";
       };
     };
-    "@typescript-eslint/types-5.5.0" = {
+    "@typescript-eslint/types-5.10.2" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.5.0";
+      version = "5.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.5.0.tgz";
-        sha512 = "OaYTqkW3GnuHxqsxxJ6KypIKd5Uw7bFiQJZRyNi1jbMJnK3Hc/DR4KwB6KJj6PBRkJJoaNwzMNv9vtTk87JhOg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.2.tgz";
+        sha512 = "Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.4.0" = {
+    "@typescript-eslint/typescript-estree-5.10.1" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.4.0";
+      version = "5.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz";
-        sha512 = "nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz";
+        sha512 = "PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.5.0" = {
+    "@typescript-eslint/typescript-estree-5.10.2" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.5.0";
+      version = "5.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.2.tgz";
+        sha512 = "WHHw6a9vvZls6JkTgGljwCsMkv8wu8XU8WaYKeYhxhWXH/atZeiMW6uDFPLZOvzNOGmuSMvHtZKd6AuC8PrwKQ==";
+      };
+    };
+    "@typescript-eslint/utils-5.10.1" = {
+      name = "_at_typescript-eslint_slash_utils";
+      packageName = "@typescript-eslint/utils";
+      version = "5.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.1.tgz";
+        sha512 = "RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw==";
+      };
+    };
+    "@typescript-eslint/utils-5.10.2" = {
+      name = "_at_typescript-eslint_slash_utils";
+      packageName = "@typescript-eslint/utils";
+      version = "5.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.5.0.tgz";
-        sha512 = "pVn8btYUiYrjonhMAO0yG8lm7RApzy2L4RC7Td/mC/qFkyf6vRbGyZozoA94+w6D2Y2GRqpMoCWcwx/EUOzyoQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.2.tgz";
+        sha512 = "vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.4.0" = {
+    "@typescript-eslint/visitor-keys-5.10.1" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.4.0";
+      version = "5.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz";
-        sha512 = "PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz";
+        sha512 = "NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.5.0" = {
+    "@typescript-eslint/visitor-keys-5.10.2" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.5.0";
+      version = "5.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.5.0.tgz";
-        sha512 = "4GzJ1kRtsWzHhdM40tv0ZKHNSbkDhF0Woi/TDwVJX6UICwJItvP7ZTXbjTkCdrors7ww0sYe0t+cIKDAJwZ7Kw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz";
+        sha512 = "zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q==";
       };
     };
     "abab-2.0.5" = {
@@ -1786,13 +1705,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" = {
@@ -1840,22 +1759,13 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
-    "ajv-8.8.2" = {
+    "ajv-8.9.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "8.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz";
-        sha512 = "x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==";
-      };
-    };
-    "ansi-colors-4.1.1" = {
-      name = "ansi-colors";
-      packageName = "ansi-colors";
-      version = "4.1.1";
+      version = "8.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz";
-        sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz";
+        sha512 = "qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==";
       };
     };
     "ansi-escapes-4.3.2" = {
@@ -1975,13 +1885,13 @@ let
         sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
       };
     };
-    "async-3.2.2" = {
+    "async-3.2.3" = {
       name = "async";
       packageName = "async";
-      version = "3.2.2";
+      version = "3.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-3.2.2.tgz";
-        sha512 = "H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==";
+        url = "https://registry.npmjs.org/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
     "asynckit-0.4.0" = {
@@ -1993,31 +1903,22 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "axios-0.24.0" = {
+    "axios-0.25.0" = {
       name = "axios";
       packageName = "axios";
-      version = "0.24.0";
+      version = "0.25.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.25.0.tgz";
+        sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
       };
     };
-    "babel-jest-27.3.1" = {
+    "babel-jest-27.4.6" = {
       name = "babel-jest";
       packageName = "babel-jest";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-27.3.1.tgz";
-        sha512 = "SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ==";
-      };
-    };
-    "babel-jest-27.4.2" = {
-      name = "babel-jest";
-      packageName = "babel-jest";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.2.tgz";
-        sha512 = "MADrjb3KBO2eyZCAc6QaJg6RT5u+6oEdDyHO5HEalnpwQ6LrhTsQF2Kj1Wnz2t6UPXIXPk18dSXXOT0wF5yTxA==";
+        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz";
+        sha512 = "qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==";
       };
     };
     "babel-plugin-dynamic-import-node-2.3.3" = {
@@ -2038,15 +1939,6 @@ let
         sha512 = "Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==";
       };
     };
-    "babel-plugin-jest-hoist-27.2.0" = {
-      name = "babel-plugin-jest-hoist";
-      packageName = "babel-plugin-jest-hoist";
-      version = "27.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz";
-        sha512 = "TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==";
-      };
-    };
     "babel-plugin-jest-hoist-27.4.0" = {
       name = "babel-plugin-jest-hoist";
       packageName = "babel-plugin-jest-hoist";
@@ -2056,31 +1948,31 @@ let
         sha512 = "Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==";
       };
     };
-    "babel-plugin-polyfill-corejs2-0.3.0" = {
+    "babel-plugin-polyfill-corejs2-0.3.1" = {
       name = "babel-plugin-polyfill-corejs2";
       packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz";
-        sha512 = "wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz";
+        sha512 = "v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==";
       };
     };
-    "babel-plugin-polyfill-corejs3-0.4.0" = {
+    "babel-plugin-polyfill-corejs3-0.5.1" = {
       name = "babel-plugin-polyfill-corejs3";
       packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.4.0";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz";
-        sha512 = "YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz";
+        sha512 = "TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==";
       };
     };
-    "babel-plugin-polyfill-regenerator-0.3.0" = {
+    "babel-plugin-polyfill-regenerator-0.3.1" = {
       name = "babel-plugin-polyfill-regenerator";
       packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz";
-        sha512 = "dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
+        sha512 = "Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==";
       };
     };
     "babel-preset-current-node-syntax-1.0.1" = {
@@ -2092,15 +1984,6 @@ let
         sha512 = "M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==";
       };
     };
-    "babel-preset-jest-27.2.0" = {
-      name = "babel-preset-jest";
-      packageName = "babel-preset-jest";
-      version = "27.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz";
-        sha512 = "z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==";
-      };
-    };
     "babel-preset-jest-27.4.0" = {
       name = "babel-preset-jest";
       packageName = "babel-preset-jest";
@@ -2191,13 +2074,13 @@ let
         sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
       };
     };
-    "browserslist-4.18.1" = {
+    "browserslist-4.19.1" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.18.1";
+      version = "4.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz";
-        sha512 = "8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz";
+        sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
       };
     };
     "bser-2.1.1" = {
@@ -2263,22 +2146,22 @@ let
         sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     };
-    "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==";
       };
     };
-    "caniuse-lite-1.0.30001283" = {
+    "caniuse-lite-1.0.30001304" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001283";
+      version = "1.0.30001304";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz";
-        sha512 = "9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001304.tgz";
+        sha512 = "bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ==";
       };
     };
     "chalk-2.4.2" = {
@@ -2308,13 +2191,13 @@ let
         sha512 = "kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==";
       };
     };
-    "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==";
       };
     };
     "chownr-1.1.4" = {
@@ -2425,13 +2308,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.7.4" = {
+    "color-string-1.9.0" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.7.4";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.7.4.tgz";
-        sha512 = "nVdUvPVgZMpRQad5dcsCMOSB5BXLljklTiaxS6ehhKxDsAI5sD7k5VmFuBt1y3Rlym8uulc/ANUN/bMWtBu6Sg==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
+        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
       };
     };
     "colors-1.4.0" = {
@@ -2524,22 +2407,22 @@ let
         sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
       };
     };
-    "core-js-3.19.1" = {
+    "core-js-3.20.3" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.19.1";
+      version = "3.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.19.1.tgz";
-        sha512 = "Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz";
+        sha512 = "vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==";
       };
     };
-    "core-js-compat-3.19.1" = {
+    "core-js-compat-3.20.3" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.19.1";
+      version = "3.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz";
-        sha512 = "Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz";
+        sha512 = "c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==";
       };
     };
     "core-util-is-1.0.3" = {
@@ -2668,13 +2551,13 @@ let
         sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
       };
     };
-    "deep-object-diff-1.1.0" = {
+    "deep-object-diff-1.1.7" = {
       name = "deep-object-diff";
       packageName = "deep-object-diff";
-      version = "1.1.0";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.0.tgz";
-        sha512 = "b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==";
+        url = "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.7.tgz";
+        sha512 = "QkgBca0mL08P6HiOjoqvmm6xOAl2W6CT2+34Ljhg0OeFan8cwlcdq8jrLKsBBuUFAZLsN5b6y491KdKEoSo9lg==";
       };
     };
     "deepmerge-4.2.2" = {
@@ -2731,13 +2614,13 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
-    "detect-libc-1.0.3" = {
+    "detect-libc-2.0.0" = {
       name = "detect-libc";
       packageName = "detect-libc";
-      version = "1.0.3";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
-        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.0.tgz";
+        sha512 = "S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==";
       };
     };
     "detect-newline-3.1.0" = {
@@ -2749,15 +2632,6 @@ let
         sha512 = "TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==";
       };
     };
-    "diff-sequences-27.0.6" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "27.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz";
-        sha512 = "ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==";
-      };
-    };
     "diff-sequences-27.4.0" = {
       name = "diff-sequences";
       packageName = "diff-sequences";
@@ -2812,22 +2686,22 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "electron-to-chromium-1.4.4" = {
+    "electron-to-chromium-1.4.57" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.4";
+      version = "1.4.57";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.4.tgz";
-        sha512 = "teHtgwcmVcL46jlFvAaqjyiTLWuMrUQO1JqV303JKB4ysXG6m8fXSFhbjal9st0r9mNskI22AraJZorb1VcLVg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz";
+        sha512 = "FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw==";
       };
     };
-    "electron-to-chromium-1.4.7" = {
+    "electron-to-chromium-1.4.59" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.7";
+      version = "1.4.59";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.7.tgz";
-        sha512 = "UPy2MsQw1OdcbxR7fvwWZH/rXcv+V26+uvQVHx0fGa1kqRfydtfOw+NMGAvZJ63hyaH4aEBxbhSEtqbpliSNWA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.59.tgz";
+        sha512 = "AOJ3cAE0TWxz4fQ9zkND5hWrQg16nsZKVz9INOot1oV//u4wWu5xrj9CQMmPTYskkZRunSRc9sAnr4EkexXokg==";
       };
     };
     "emittery-0.8.1" = {
@@ -2875,15 +2749,6 @@ let
         sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
-    "enquirer-2.3.6" = {
-      name = "enquirer";
-      packageName = "enquirer";
-      version = "2.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz";
-        sha512 = "yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==";
-      };
-    };
     "escalade-3.1.1" = {
       name = "escalade";
       packageName = "escalade";
@@ -2938,13 +2803,13 @@ let
         sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
       };
     };
-    "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-config-google-0.14.0" = {
@@ -2956,13 +2821,13 @@ let
         sha512 = "WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==";
       };
     };
-    "eslint-plugin-jest-25.3.0" = {
+    "eslint-plugin-jest-26.0.0" = {
       name = "eslint-plugin-jest";
       packageName = "eslint-plugin-jest";
-      version = "25.3.0";
+      version = "26.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.3.0.tgz";
-        sha512 = "79WQtuBsTN1S8Y9+7euBYwxIOia/k7ykkl9OCBHL3xuww5ecursHy/D8GCIlvzHVWv85gOkS5Kv6Sh7RxOgK1Q==";
+        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.0.0.tgz";
+        sha512 = "Fvs0YgJ/nw9FTrnqTuMGVrkozkd07jkQzWm0ajqyHlfcsdkxGfAuv30fgfWHOnHiCr9+1YQ365CcDX7vrNhqQg==";
       };
     };
     "eslint-scope-5.1.1" = {
@@ -3001,22 +2866,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==";
       };
     };
-    "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==";
       };
     };
     "esprima-4.0.1" = {
@@ -3109,22 +2974,13 @@ let
         sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
       };
     };
-    "expect-27.3.1" = {
-      name = "expect";
-      packageName = "expect";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-27.3.1.tgz";
-        sha512 = "MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg==";
-      };
-    };
-    "expect-27.4.2" = {
+    "expect-27.4.6" = {
       name = "expect";
       packageName = "expect";
-      version = "27.4.2";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz";
-        sha512 = "BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==";
+        url = "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz";
+        sha512 = "1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==";
       };
     };
     "fast-deep-equal-3.1.3" = {
@@ -3136,13 +2992,13 @@ let
         sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
-    "fast-glob-3.2.7" = {
+    "fast-glob-3.2.11" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.7";
+      version = "3.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
-        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz";
+        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -3253,13 +3109,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==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     };
     "fn.name-1.1.0" = {
@@ -3271,13 +3127,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.14.5" = {
+    "follow-redirects-1.14.7" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.5";
+      version = "1.14.7";
       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/follow-redirects/-/follow-redirects-1.14.7.tgz";
+        sha512 = "+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==";
       };
     };
     "form-data-3.0.1" = {
@@ -3469,13 +3325,13 @@ let
         sha512 = "uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==";
       };
     };
-    "globby-11.0.4" = {
+    "globby-11.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.4";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz";
-        sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
     "glossy-0.1.7" = {
@@ -3487,13 +3343,13 @@ let
         sha1 = "769b5984a96f6066ab9ea758224825ee6c210f0b";
       };
     };
-    "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==";
       };
     };
     "handlebars-4.7.7" = {
@@ -3577,13 +3433,13 @@ let
         sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
       };
     };
-    "http-errors-1.7.3" = {
+    "http-errors-1.8.1" = {
       name = "http-errors";
       packageName = "http-errors";
-      version = "1.7.3";
+      version = "1.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz";
-        sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz";
+        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
       };
     };
     "http-proxy-agent-4.0.1" = {
@@ -3613,13 +3469,13 @@ let
         sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==";
       };
     };
-    "humanize-duration-3.27.0" = {
+    "humanize-duration-3.27.1" = {
       name = "humanize-duration";
       packageName = "humanize-duration";
-      version = "3.27.0";
+      version = "3.27.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.0.tgz";
-        sha512 = "qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ==";
+        url = "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.1.tgz";
+        sha512 = "jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA==";
       };
     };
     "iconv-lite-0.4.24" = {
@@ -3649,13 +3505,13 @@ let
         sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
       };
     };
-    "ignore-5.1.9" = {
+    "ignore-5.2.0" = {
       name = "ignore";
       packageName = "ignore";
-      version = "5.1.9";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz";
-        sha512 = "2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==";
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
+        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
       };
     };
     "import-fresh-3.3.0" = {
@@ -3667,13 +3523,13 @@ let
         sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
       };
     };
-    "import-local-3.0.3" = {
+    "import-local-3.1.0" = {
       name = "import-local";
       packageName = "import-local";
-      version = "3.0.3";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz";
-        sha512 = "bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==";
+        url = "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz";
+        sha512 = "ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==";
       };
     };
     "imurmurhash-0.1.4" = {
@@ -3730,13 +3586,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" = {
@@ -3847,15 +3703,6 @@ let
         sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
       };
     };
-    "istanbul-lib-instrument-4.0.3" = {
-      name = "istanbul-lib-instrument";
-      packageName = "istanbul-lib-instrument";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
-        sha512 = "BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==";
-      };
-    };
     "istanbul-lib-instrument-5.1.0" = {
       name = "istanbul-lib-instrument";
       packageName = "istanbul-lib-instrument";
@@ -3883,49 +3730,22 @@ let
         sha512 = "n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==";
       };
     };
-    "istanbul-reports-3.0.5" = {
-      name = "istanbul-reports";
-      packageName = "istanbul-reports";
-      version = "3.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz";
-        sha512 = "5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==";
-      };
-    };
-    "istanbul-reports-3.1.0" = {
+    "istanbul-reports-3.1.3" = {
       name = "istanbul-reports";
       packageName = "istanbul-reports";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.0.tgz";
-        sha512 = "rgeP8yMlXeH4mfd9K/sQXZv1lvcS7xo379zntcotPDdMwkcGYwMxGHGZYo0/+YW5B/nor2YGKz2BH5ume405ow==";
-      };
-    };
-    "jest-27.3.1" = {
-      name = "jest";
-      packageName = "jest";
-      version = "27.3.1";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-27.3.1.tgz";
-        sha512 = "U2AX0AgQGd5EzMsiZpYt8HyZ+nSVIh5ujQ9CPp9EQZJMjXIiSZpJNweZl0swatKRoqHWgGKM3zaSwm4Zaz87ng==";
+        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz";
+        sha512 = "x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==";
       };
     };
-    "jest-27.4.3" = {
+    "jest-27.4.7" = {
       name = "jest";
       packageName = "jest";
-      version = "27.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-27.4.3.tgz";
-        sha512 = "jwsfVABBzuN3Atm+6h6vIEpTs9+VApODLt4dk2qv1WMOpb1weI1IIZfuwpMiWZ62qvWj78MvdvMHIYdUfqrFaA==";
-      };
-    };
-    "jest-changed-files-27.3.0" = {
-      name = "jest-changed-files";
-      packageName = "jest-changed-files";
-      version = "27.3.0";
+      version = "27.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.3.0.tgz";
-        sha512 = "9DJs9garMHv4RhylUMZgbdCJ3+jHSkpL9aaVKp13xtXAD80qLTLrqcDZL1PHA9dYA0bCI86Nv2BhkLpLhrBcPg==";
+        url = "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz";
+        sha512 = "8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==";
       };
     };
     "jest-changed-files-27.4.2" = {
@@ -3937,85 +3757,40 @@ let
         sha512 = "/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==";
       };
     };
-    "jest-circus-27.3.1" = {
+    "jest-circus-27.4.6" = {
       name = "jest-circus";
       packageName = "jest-circus";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-27.3.1.tgz";
-        sha512 = "v1dsM9II6gvXokgqq6Yh2jHCpfg7ZqV4jWY66u7npz24JnhP3NHxI0sKT7+ZMQ7IrOWHYAaeEllOySbDbWsiXw==";
-      };
-    };
-    "jest-circus-27.4.2" = {
-      name = "jest-circus";
-      packageName = "jest-circus";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.2.tgz";
-        sha512 = "2ePUSru1BGMyzxsMvRfu+tNb+PW60rUyMLJBfw1Nrh5zC8RoTPfF+zbE0JToU31a6ZVe4nnrNKWYRzlghAbL0A==";
-      };
-    };
-    "jest-cli-27.3.1" = {
-      name = "jest-cli";
-      packageName = "jest-cli";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-27.3.1.tgz";
-        sha512 = "WHnCqpfK+6EvT62me6WVs8NhtbjAS4/6vZJnk7/2+oOr50cwAzG4Wxt6RXX0hu6m1169ZGMlhYYUNeKBXCph/Q==";
+        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz";
+        sha512 = "UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==";
       };
     };
-    "jest-cli-27.4.3" = {
+    "jest-cli-27.4.7" = {
       name = "jest-cli";
       packageName = "jest-cli";
-      version = "27.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.3.tgz";
-        sha512 = "zZSJBXNC/i8UnJPwcKWsqnhGgIF3uoTYP7th32Zej7KNQJdxzOMj+wCfy2Ox3kU7nXErJ36DtYyXDhfiqaiDRw==";
-      };
-    };
-    "jest-config-27.3.1" = {
-      name = "jest-config";
-      packageName = "jest-config";
-      version = "27.3.1";
+      version = "27.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-config/-/jest-config-27.3.1.tgz";
-        sha512 = "KY8xOIbIACZ/vdYCKSopL44I0xboxC751IX+DXL2+Wx6DKNycyEfV3rryC3BPm5Uq/BBqDoMrKuqLEUNJmMKKg==";
+        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz";
+        sha512 = "zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==";
       };
     };
-    "jest-config-27.4.3" = {
+    "jest-config-27.4.7" = {
       name = "jest-config";
       packageName = "jest-config";
-      version = "27.4.3";
+      version = "27.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-config/-/jest-config-27.4.3.tgz";
-        sha512 = "DQ10HTSqYtC2pO7s9j2jw+li4xUnm2wLYWH2o7K1ftB8NyvToHsXoLlXxtsGh3AW9gUQR6KY/4B7G+T/NswJBw==";
+        url = "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz";
+        sha512 = "xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==";
       };
     };
-    "jest-diff-27.3.1" = {
+    "jest-diff-27.4.6" = {
       name = "jest-diff";
       packageName = "jest-diff";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.3.1.tgz";
-        sha512 = "PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ==";
-      };
-    };
-    "jest-diff-27.4.2" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.2.tgz";
-        sha512 = "ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==";
-      };
-    };
-    "jest-docblock-27.0.6" = {
-      name = "jest-docblock";
-      packageName = "jest-docblock";
-      version = "27.0.6";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.6.tgz";
-        sha512 = "Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==";
+        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz";
+        sha512 = "zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==";
       };
     };
     "jest-docblock-27.4.0" = {
@@ -4027,67 +3802,31 @@ let
         sha512 = "7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==";
       };
     };
-    "jest-each-27.3.1" = {
-      name = "jest-each";
-      packageName = "jest-each";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-each/-/jest-each-27.3.1.tgz";
-        sha512 = "E4SwfzKJWYcvOYCjOxhZcxwL+AY0uFMvdCOwvzgutJiaiodFjkxQQDxHm8FQBeTqDnSmKsQWn7ldMRzTn2zJaQ==";
-      };
-    };
-    "jest-each-27.4.2" = {
+    "jest-each-27.4.6" = {
       name = "jest-each";
       packageName = "jest-each";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-each/-/jest-each-27.4.2.tgz";
-        sha512 = "53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg==";
-      };
-    };
-    "jest-environment-jsdom-27.3.1" = {
-      name = "jest-environment-jsdom";
-      packageName = "jest-environment-jsdom";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.3.1.tgz";
-        sha512 = "3MOy8qMzIkQlfb3W1TfrD7uZHj+xx8Olix5vMENkj5djPmRqndMaXtpnaZkxmxM+Qc3lo+yVzJjzuXbCcZjAlg==";
+        url = "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz";
+        sha512 = "n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==";
       };
     };
-    "jest-environment-jsdom-27.4.3" = {
+    "jest-environment-jsdom-27.4.6" = {
       name = "jest-environment-jsdom";
       packageName = "jest-environment-jsdom";
-      version = "27.4.3";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.3.tgz";
-        sha512 = "x1AUVz3G14LpEJs7KIFUaTINT2n0unOUmvdAby3s/sldUpJJetOJifHo1O/EUQC5fNBowggwJbVulko18y6OWw==";
+        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz";
+        sha512 = "o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==";
       };
     };
-    "jest-environment-node-27.3.1" = {
+    "jest-environment-node-27.4.6" = {
       name = "jest-environment-node";
       packageName = "jest-environment-node";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.3.1.tgz";
-        sha512 = "T89F/FgkE8waqrTSA7/ydMkcc52uYPgZZ6q8OaZgyiZkJb5QNNCF6oPZjH9IfPFfcc9uBWh1574N0kY0pSvTXw==";
-      };
-    };
-    "jest-environment-node-27.4.2" = {
-      name = "jest-environment-node";
-      packageName = "jest-environment-node";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.2.tgz";
-        sha512 = "nzTZ5nJ+FabuZPH2YVci7SZIHpvtNRHPt8+vipLkCnAgXGjVzHm7XJWdnNqXbAkExIgiKeVEkVMNZOZE/LeiIg==";
-      };
-    };
-    "jest-get-type-27.3.1" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "27.3.1";
-      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-environment-node/-/jest-environment-node-27.4.6.tgz";
+        sha512 = "yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==";
       };
     };
     "jest-get-type-27.4.0" = {
@@ -4099,112 +3838,58 @@ let
         sha512 = "tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==";
       };
     };
-    "jest-haste-map-27.3.1" = {
-      name = "jest-haste-map";
-      packageName = "jest-haste-map";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.3.1.tgz";
-        sha512 = "lYfNZIzwPccDJZIyk9Iz5iQMM/MH56NIIcGj7AFU1YyA4ewWFBl8z+YPJuSCRML/ee2cCt2y3W4K3VXPT6Nhzg==";
-      };
-    };
-    "jest-haste-map-27.4.2" = {
+    "jest-haste-map-27.4.6" = {
       name = "jest-haste-map";
       packageName = "jest-haste-map";
-      version = "27.4.2";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.2.tgz";
-        sha512 = "foiyAEePORUN2eeJnOtcM1y8qW0ShEd9kTjWVL4sVaMcuCJM6gtHegvYPBRT0mpI/bs4ueThM90+Eoj2ncoNsA==";
+        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz";
+        sha512 = "0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==";
       };
     };
-    "jest-jasmine2-27.3.1" = {
+    "jest-jasmine2-27.4.6" = {
       name = "jest-jasmine2";
       packageName = "jest-jasmine2";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.3.1.tgz";
-        sha512 = "WK11ZUetDQaC09w4/j7o4FZDUIp+4iYWH/Lik34Pv7ukL+DuXFGdnmmi7dT58J2ZYKFB5r13GyE0z3NPeyJmsg==";
+        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz";
+        sha512 = "uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==";
       };
     };
-    "jest-jasmine2-27.4.2" = {
-      name = "jest-jasmine2";
-      packageName = "jest-jasmine2";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.2.tgz";
-        sha512 = "VO/fyAJSH9u0THjbteFiL8qc93ufU+yW+bdieDc8tzTCWwlWzO53UHS5nFK1qmE8izb5Smkn+XHlVt6/l06MKQ==";
-      };
-    };
-    "jest-leak-detector-27.3.1" = {
+    "jest-leak-detector-27.4.6" = {
       name = "jest-leak-detector";
       packageName = "jest-leak-detector";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.3.1.tgz";
-        sha512 = "78QstU9tXbaHzwlRlKmTpjP9k4Pvre5l0r8Spo4SbFFVy/4Abg9I6ZjHwjg2QyKEAMg020XcjP+UgLZIY50yEg==";
-      };
-    };
-    "jest-leak-detector-27.4.2" = {
-      name = "jest-leak-detector";
-      packageName = "jest-leak-detector";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz";
-        sha512 = "ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==";
-      };
-    };
-    "jest-matcher-utils-27.3.1" = {
-      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-leak-detector/-/jest-leak-detector-27.4.6.tgz";
+        sha512 = "kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==";
       };
     };
-    "jest-matcher-utils-27.4.2" = {
+    "jest-matcher-utils-27.4.6" = {
       name = "jest-matcher-utils";
       packageName = "jest-matcher-utils";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz";
-        sha512 = "jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==";
-      };
-    };
-    "jest-message-util-27.3.1" = {
-      name = "jest-message-util";
-      packageName = "jest-message-util";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.3.1.tgz";
-        sha512 = "bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg==";
+        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz";
+        sha512 = "XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==";
       };
     };
-    "jest-message-util-27.4.2" = {
+    "jest-message-util-27.4.6" = {
       name = "jest-message-util";
       packageName = "jest-message-util";
-      version = "27.4.2";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.2.tgz";
-        sha512 = "OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w==";
+        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz";
+        sha512 = "0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==";
       };
     };
-    "jest-mock-27.3.0" = {
+    "jest-mock-27.4.6" = {
       name = "jest-mock";
       packageName = "jest-mock";
-      version = "27.3.0";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-27.3.0.tgz";
-        sha512 = "ziZiLk0elZOQjD08bLkegBzv5hCABu/c8Ytx45nJKkysQwGaonvmTxwjLqEA4qGdasq9o2I8/HtdGMNnVsMTGw==";
-      };
-    };
-    "jest-mock-27.4.2" = {
-      name = "jest-mock";
-      packageName = "jest-mock";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.2.tgz";
-        sha512 = "PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA==";
+        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz";
+        sha512 = "kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==";
       };
     };
     "jest-pnp-resolver-1.2.2" = {
@@ -4216,15 +3901,6 @@ let
         sha512 = "olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==";
       };
     };
-    "jest-regex-util-27.0.6" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "27.0.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==";
-      };
-    };
     "jest-regex-util-27.4.0" = {
       name = "jest-regex-util";
       packageName = "jest-regex-util";
@@ -4234,85 +3910,40 @@ let
         sha512 = "WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==";
       };
     };
-    "jest-resolve-27.3.1" = {
-      name = "jest-resolve";
-      packageName = "jest-resolve";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.3.1.tgz";
-        sha512 = "Dfzt25CFSPo3Y3GCbxynRBZzxq9AdyNN+x/v2IqYx6KVT5Z6me2Z/PsSGFSv3cOSUZqJ9pHxilao/I/m9FouLw==";
-      };
-    };
-    "jest-resolve-27.4.2" = {
+    "jest-resolve-27.4.6" = {
       name = "jest-resolve";
       packageName = "jest-resolve";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.2.tgz";
-        sha512 = "d/zqPjxCzMqHlOdRTg8cTpO9jY+1/T74KazT8Ws/LwmwxV5sRMWOkiLjmzUCDj/5IqA5XHNK4Hkmlq9Kdpb9Sg==";
-      };
-    };
-    "jest-resolve-dependencies-27.3.1" = {
-      name = "jest-resolve-dependencies";
-      packageName = "jest-resolve-dependencies";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.3.1.tgz";
-        sha512 = "X7iLzY8pCiYOnvYo2YrK3P9oSE8/3N2f4pUZMJ8IUcZnT81vlSonya1KTO9ZfKGuC+svE6FHK/XOb8SsoRUV1A==";
+        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz";
+        sha512 = "SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==";
       };
     };
-    "jest-resolve-dependencies-27.4.2" = {
+    "jest-resolve-dependencies-27.4.6" = {
       name = "jest-resolve-dependencies";
       packageName = "jest-resolve-dependencies";
-      version = "27.4.2";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.2.tgz";
-        sha512 = "hb++cTpqvOWfU49MCP/JQkxmnrhKoAVqXWFjgYXswRSVGk8Q6bDTSvhbCeYXDtXaymY0y7WrrSIlKogClcKJuw==";
+        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz";
+        sha512 = "W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==";
       };
     };
-    "jest-runner-27.3.1" = {
+    "jest-runner-27.4.6" = {
       name = "jest-runner";
       packageName = "jest-runner";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-27.3.1.tgz";
-        sha512 = "r4W6kBn6sPr3TBwQNmqE94mPlYVn7fLBseeJfo4E2uCTmAyDFm2O5DYAQAFP7Q3YfiA/bMwg8TVsciP7k0xOww==";
+        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz";
+        sha512 = "IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==";
       };
     };
-    "jest-runner-27.4.3" = {
-      name = "jest-runner";
-      packageName = "jest-runner";
-      version = "27.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.3.tgz";
-        sha512 = "JgR6Om/j22Fd6ZUUIGTWNcCtuZVYbNrecb4k89W4UyFJoRtHpo2zMKWkmFFFJoqwWGrfrcPLnVBIgkJiTV3cyA==";
-      };
-    };
-    "jest-runtime-27.3.1" = {
-      name = "jest-runtime";
-      packageName = "jest-runtime";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.3.1.tgz";
-        sha512 = "qtO6VxPbS8umqhEDpjA4pqTkKQ1Hy4ZSi9mDVeE9Za7LKBo2LdW2jmT+Iod3XFaJqINikZQsn2wEi0j9wPRbLg==";
-      };
-    };
-    "jest-runtime-27.4.2" = {
+    "jest-runtime-27.4.6" = {
       name = "jest-runtime";
       packageName = "jest-runtime";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.2.tgz";
-        sha512 = "eqPgcBaUNaw6j8T5M+dnfAEh6MIrh2YmtskCr9sl50QYpD22Sg+QqHw3J3nmaLzVMbBtOMHFFxLF0Qx8MsZVFQ==";
-      };
-    };
-    "jest-serializer-27.0.6" = {
-      name = "jest-serializer";
-      packageName = "jest-serializer";
-      version = "27.0.6";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz";
-        sha512 = "PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==";
+        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz";
+        sha512 = "eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==";
       };
     };
     "jest-serializer-27.4.0" = {
@@ -4324,31 +3955,13 @@ let
         sha512 = "RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==";
       };
     };
-    "jest-snapshot-27.3.1" = {
+    "jest-snapshot-27.4.6" = {
       name = "jest-snapshot";
       packageName = "jest-snapshot";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.3.1.tgz";
-        sha512 = "APZyBvSgQgOT0XumwfFu7X3G5elj6TGhCBLbBdn3R1IzYustPGPE38F51dBWMQ8hRXa9je0vAdeVDtqHLvB6lg==";
-      };
-    };
-    "jest-snapshot-27.4.2" = {
-      name = "jest-snapshot";
-      packageName = "jest-snapshot";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.2.tgz";
-        sha512 = "DI7lJlNIu6WSQ+esqhnJzEzU70+dV+cNjoF1c+j5FagWEd3KtOyZvVliAH0RWNQ6KSnAAnKSU0qxJ8UXOOhuUQ==";
-      };
-    };
-    "jest-util-27.3.1" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-27.3.1.tgz";
-        sha512 = "8fg+ifEH3GDryLQf/eKZck1DEs2YuVPBCMOaHQxVVLmQwl/CDhWzrvChTX4efLZxGrw+AA0mSXv78cyytBt/uw==";
+        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz";
+        sha512 = "fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==";
       };
     };
     "jest-util-27.4.2" = {
@@ -4360,58 +3973,40 @@ let
         sha512 = "YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==";
       };
     };
-    "jest-validate-27.3.1" = {
-      name = "jest-validate";
-      packageName = "jest-validate";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-27.3.1.tgz";
-        sha512 = "3H0XCHDFLA9uDII67Bwi1Vy7AqwA5HqEEjyy934lgVhtJ3eisw6ShOF1MDmRPspyikef5MyExvIm0/TuLzZ86Q==";
-      };
-    };
-    "jest-validate-27.4.2" = {
+    "jest-validate-27.4.6" = {
       name = "jest-validate";
       packageName = "jest-validate";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.2.tgz";
-        sha512 = "hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A==";
-      };
-    };
-    "jest-watcher-27.3.1" = {
-      name = "jest-watcher";
-      packageName = "jest-watcher";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.3.1.tgz";
-        sha512 = "9/xbV6chABsGHWh9yPaAGYVVKurWoP3ZMCv6h+O1v9/+pkOroigs6WzZ0e9gLP/njokUwM7yQhr01LKJVMkaZA==";
+        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz";
+        sha512 = "872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==";
       };
     };
-    "jest-watcher-27.4.2" = {
+    "jest-watcher-27.4.6" = {
       name = "jest-watcher";
       packageName = "jest-watcher";
-      version = "27.4.2";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.2.tgz";
-        sha512 = "NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg==";
+        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz";
+        sha512 = "yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==";
       };
     };
-    "jest-worker-27.3.1" = {
+    "jest-worker-27.4.6" = {
       name = "jest-worker";
       packageName = "jest-worker";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz";
-        sha512 = "ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==";
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz";
+        sha512 = "gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==";
       };
     };
-    "jest-worker-27.4.2" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "27.4.2";
+    "js-sdsl-2.1.4" = {
+      name = "js-sdsl";
+      packageName = "js-sdsl";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz";
-        sha512 = "0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==";
+        url = "https://registry.npmjs.org/js-sdsl/-/js-sdsl-2.1.4.tgz";
+        sha512 = "/Ew+CJWHNddr7sjwgxaVeIORIH4AMVC9dy0hPf540ZGMVgS9d3ajwuVdyhDt6/QUvT8ATjR3yuYBKsS79F+H4A==";
       };
     };
     "js-tokens-4.0.0" = {
@@ -4603,13 +4198,13 @@ let
         sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
       };
     };
-    "logform-2.3.0" = {
+    "logform-2.3.2" = {
       name = "logform";
       packageName = "logform";
-      version = "2.3.0";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz";
-        sha512 = "graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.3.2.tgz";
+        sha512 = "V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==";
       };
     };
     "lru-cache-6.0.0" = {
@@ -4657,13 +4252,13 @@ let
         sha512 = "JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==";
       };
     };
-    "marked-3.0.8" = {
+    "marked-4.0.12" = {
       name = "marked";
       packageName = "marked";
-      version = "3.0.8";
+      version = "4.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz";
-        sha512 = "0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==";
+        url = "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz";
+        sha512 = "hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==";
       };
     };
     "merge-stream-2.0.0" = {
@@ -4792,13 +4387,13 @@ let
         sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
       };
     };
-    "mqtt-4.2.8" = {
+    "mqtt-4.3.4" = {
       name = "mqtt";
       packageName = "mqtt";
-      version = "4.2.8";
+      version = "4.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.2.8.tgz";
-        sha512 = "DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==";
+        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.4.tgz";
+        sha512 = "yAVDfVHz3Cjn6K68z54mf7fTni/AWsPhiEsRwZSvet2wO47R6NFUn2psWxYIph2JxWtL3ZKa/da8pjJKSaXPdQ==";
       };
     };
     "mqtt-packet-6.10.0" = {
@@ -4819,15 +4414,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";
@@ -4909,15 +4495,6 @@ let
         sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
       };
     };
-    "node-modules-regexp-1.0.0" = {
-      name = "node-modules-regexp";
-      packageName = "node-modules-regexp";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
-        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
-      };
-    };
     "node-releases-2.0.1" = {
       name = "node-releases";
       packageName = "node-releases";
@@ -4954,6 +4531,15 @@ let
         sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     };
+    "number-allocator-1.0.9" = {
+      name = "number-allocator";
+      packageName = "number-allocator";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.9.tgz";
+        sha512 = "sIIF0dZKMs3roPUD7rLreH8H3x47QKV9dHZ+PeSnH24gL0CxKxz/823woGZC0hLBSb2Ar/rOOeHiNbnPBum/Mw==";
+      };
+    };
     "number-is-nan-1.0.1" = {
       name = "number-is-nan";
       packageName = "number-is-nan";
@@ -5170,13 +4756,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-4.0.1" = {
@@ -5188,13 +4774,13 @@ let
         sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
       };
     };
-    "pirates-4.0.1" = {
+    "pirates-4.0.5" = {
       name = "pirates";
       packageName = "pirates";
-      version = "4.0.1";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz";
-        sha512 = "WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==";
+        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz";
+        sha512 = "8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==";
       };
     };
     "pkg-dir-4.2.0" = {
@@ -5206,13 +4792,13 @@ let
         sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
       };
     };
-    "prebuild-install-7.0.0" = {
+    "prebuild-install-7.0.1" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "7.0.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.0.tgz";
-        sha512 = "IvSenf33K7JcgddNz2D5w521EgO+4aMMjFt73Uk9FRzQ7P+QZPKrp7qPsDydsSwjGt3T5xRNnM1bj1zMTD5fTA==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz";
+        sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
       };
     };
     "prelude-ls-1.1.2" = {
@@ -5233,22 +4819,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==";
-      };
-    };
-    "pretty-format-27.4.2" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "27.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.2.tgz";
-        sha512 = "p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==";
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz";
+        sha512 = "NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==";
       };
     };
     "process-nextick-args-2.0.1" = {
@@ -5260,15 +4837,6 @@ let
         sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
-    "progress-2.0.3" = {
-      name = "progress";
-      packageName = "progress";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz";
-        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
-      };
-    };
     "prompts-2.4.2" = {
       name = "prompts";
       packageName = "prompts";
@@ -5467,13 +5035,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-cwd-3.0.0" = {
@@ -5521,6 +5089,15 @@ let
         sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
       };
     };
+    "rfdc-1.3.0" = {
+      name = "rfdc";
+      packageName = "rfdc";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz";
+        sha512 = "V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==";
+      };
+    };
     "rimraf-3.0.2" = {
       name = "rimraf";
       packageName = "rimraf";
@@ -5566,6 +5143,15 @@ let
         sha512 = "ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==";
       };
     };
+    "safe-stable-stringify-2.3.1" = {
+      name = "safe-stable-stringify";
+      packageName = "safe-stable-stringify";
+      version = "2.3.1";
+      src = fetchurl {
+        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" = {
       name = "safer-buffer";
       packageName = "safer-buffer";
@@ -5620,13 +5206,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==";
       };
     };
     "serialport-9.2.8" = {
@@ -5638,13 +5224,13 @@ let
         sha512 = "FsWpMQgSJxi93JgWl5xM1f9/Z8IjRJuaUEoHqLf8FPBLw7gMhInuHOBhI2onQufWIYPGTz3H3oGcu1nCaK1EfA==";
       };
     };
-    "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==";
       };
     };
     "set-blocking-2.0.0" = {
@@ -5656,13 +5242,13 @@ let
         sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
       };
     };
-    "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" = {
@@ -5683,13 +5269,13 @@ let
         sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
       };
     };
-    "shiki-0.9.13" = {
+    "shiki-0.10.0" = {
       name = "shiki";
       packageName = "shiki";
-      version = "0.9.13";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shiki/-/shiki-0.9.13.tgz";
-        sha512 = "WATIHzLg91SpTj6mLq5i/0NJ94/Rg1t3n9ylC8vgiJ2f5LVandqBi2vS/410SnEd6sNgPdrHLmdcCHML27pTMg==";
+        url = "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz";
+        sha512 = "iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==";
       };
     };
     "signal-exit-3.0.6" = {
@@ -5710,13 +5296,13 @@ let
         sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
       };
     };
-    "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-swizzle-0.2.2" = {
@@ -5989,6 +5575,15 @@ let
         sha512 = "6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==";
       };
     };
+    "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";
@@ -6115,13 +5710,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-4.0.0" = {
@@ -6250,22 +5845,22 @@ let
         sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
-    "typedoc-0.22.10" = {
+    "typedoc-0.22.11" = {
       name = "typedoc";
       packageName = "typedoc";
-      version = "0.22.10";
+      version = "0.22.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz";
-        sha512 = "hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==";
+        url = "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz";
+        sha512 = "pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==";
       };
     };
-    "typedoc-plugin-markdown-3.11.7" = {
+    "typedoc-plugin-markdown-3.11.12" = {
       name = "typedoc-plugin-markdown";
       packageName = "typedoc-plugin-markdown";
-      version = "3.11.7";
+      version = "3.11.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.7.tgz";
-        sha512 = "Wm3HP5gcBOGOOTeDA8GLgw+BY+GAI31RP9Lyog21BvTaSeWUcdXls5TG1MK+XDatS2/0dup9gFO+emoyoQJm9Q==";
+        url = "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.12.tgz";
+        sha512 = "gb/RuzgZ1zCnRUOqUg6firIqU7xDs9s7hq0vlU/gAsFfVCnpl3NTM9vPyPON75nnpfVFCxr/hmKQ01k1CYY/Qg==";
       };
     };
     "typedoc-plugin-no-inherit-1.3.1" = {
@@ -6286,22 +5881,22 @@ let
         sha512 = "xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA==";
       };
     };
-    "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==";
       };
     };
-    "uglify-js-3.14.3" = {
+    "uglify-js-3.15.0" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.14.3";
+      version = "3.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz";
-        sha512 = "mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.0.tgz";
+        sha512 = "x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==";
       };
     };
     "unicode-canonical-property-names-ecmascript-2.0.0" = {
@@ -6394,13 +5989,13 @@ let
         sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
       };
     };
-    "v8-to-istanbul-8.1.0" = {
+    "v8-to-istanbul-8.1.1" = {
       name = "v8-to-istanbul";
       packageName = "v8-to-istanbul";
-      version = "8.1.0";
+      version = "8.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz";
-        sha512 = "/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==";
+        url = "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz";
+        sha512 = "FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==";
       };
     };
     "vscode-oniguruma-1.6.1" = {
@@ -6511,13 +6106,13 @@ let
         sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
       };
     };
-    "winston-3.3.3" = {
+    "winston-3.5.0" = {
       name = "winston";
       packageName = "winston";
-      version = "3.3.3";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz";
-        sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.5.0.tgz";
+        sha512 = "OQMbmLsIdVHvm2hSurrYZs+iZNIImXneYJ6pX7LseSMEq20HdTETXiNnNX3FDwN4LB/xDRZLF6JYOY+AI112Kw==";
       };
     };
     "winston-syslog-2.4.4" = {
@@ -6529,13 +6124,13 @@ let
         sha512 = "zDjoKO932Yszvzq8WtbIFMXHwAT2MOxpWC9s6djw2tvjdRESWw3au6l+0xDMatMhNWVoVaVNkDXF+r/eyoBUVA==";
       };
     };
-    "winston-transport-4.4.0" = {
+    "winston-transport-4.4.2" = {
       name = "winston-transport";
       packageName = "winston-transport";
-      version = "4.4.0";
+      version = "4.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz";
-        sha512 = "Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==";
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.2.tgz";
+        sha512 = "9jmhltAr5ygt5usgUTQbEiw/7RYXpyUbEAFRCSicIacpUzPkrnQsQZSPGEI12aLK9Jth4zNcYJx3Cvznwrl8pw==";
       };
     };
     "word-wrap-1.2.3" = {
@@ -6592,13 +6187,13 @@ let
         sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
       };
     };
-    "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==";
       };
     };
     "xml-name-validator-3.0.0" = {
@@ -6664,43 +6259,43 @@ let
         sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
       };
     };
-    "zigbee-herdsman-0.13.176" = {
+    "zigbee-herdsman-0.14.10" = {
       name = "zigbee-herdsman";
       packageName = "zigbee-herdsman";
-      version = "0.13.176";
+      version = "0.14.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.13.176.tgz";
-        sha512 = "gDRj4AEMzE6wmyCR38a06F1hjks7wFUVEqRACZ6c5+8nhHLfR+C06c4nUjN61L9mCDx8pVIV1kuac6mlLbhjkQ==";
+        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.10.tgz";
+        sha512 = "exPtxyJij2fByFhrJpVro9DeL11D1OpjfvEPkEMaPF12C3/fMDdEjZZX66a2mU07KvhlTqynQ+wZFwsighrimg==";
       };
     };
-    "zigbee-herdsman-converters-14.0.336" = {
+    "zigbee-herdsman-converters-14.0.406" = {
       name = "zigbee-herdsman-converters";
       packageName = "zigbee-herdsman-converters";
-      version = "14.0.336";
+      version = "14.0.406";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.336.tgz";
-        sha512 = "FI11S4AbvOnf/i/S4mtyh9qDFm86fFuYm3p+Gj7e7dH6apnq/iqzXK8mBoXmcYP5UEkUskPtFj2Bqn9JGUS0tw==";
+        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.406.tgz";
+        sha512 = "vc5xBAI4rfv4jWBQi0Gj4gFK4LftS9J/T/mytgfh73e4N+U3rmNaiA+3syovydsDB1G0PLphIWy5CLrMKLM6UA==";
       };
     };
-    "zigbee2mqtt-frontend-0.6.46" = {
+    "zigbee2mqtt-frontend-0.6.71" = {
       name = "zigbee2mqtt-frontend";
       packageName = "zigbee2mqtt-frontend";
-      version = "0.6.46";
+      version = "0.6.71";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.46.tgz";
-        sha512 = "YlXFApufmtNNJEsHOfMeSDnjZskMQ33Iij76F4SaeavGPCqifjPy67ACVO4hDQqD7lUGeSeQ+tVAIYpw6p7V5g==";
+        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.71.tgz";
+        sha512 = "+7cbMrbxhR5sPY7/trBoY6vzjFfNL4zlgfoOvE5pDmg4t5ZcJpf5VoCnK7c9ALEMQnBCPxTFfXjkivarQktrpA==";
       };
     };
   };
   args = {
     name = "zigbee2mqtt";
     packageName = "zigbee2mqtt";
-    version = "1.22.1";
+    version = "1.23.0";
     src = ./.;
     dependencies = [
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
-      (sources."@babel/core-7.16.0" // {
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/compat-data-7.16.8"
+      (sources."@babel/core-7.16.12" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -6708,70 +6303,71 @@ let
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.16.0" // {
+      (sources."@babel/generator-7.16.8" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.0"
-      (sources."@babel/helper-compilation-targets-7.16.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" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.16.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-      (sources."@babel/helper-define-polyfill-provider-0.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-define-polyfill-provider-0.3.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-explode-assignable-expression-7.16.0"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-member-expression-to-functions-7.16.0"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.0"
-      sources."@babel/helper-optimise-call-expression-7.16.0"
-      sources."@babel/helper-plugin-utils-7.14.5"
-      sources."@babel/helper-remap-async-to-generator-7.16.4"
-      sources."@babel/helper-replace-supers-7.16.0"
-      sources."@babel/helper-simple-access-7.16.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"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-member-expression-to-functions-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.16.0"
-      sources."@babel/helpers-7.16.3"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.4"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.16.4"
-      sources."@babel/plugin-proposal-class-properties-7.16.0"
-      sources."@babel/plugin-proposal-class-static-block-7.16.0"
-      sources."@babel/plugin-proposal-decorators-7.16.4"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.0"
-      sources."@babel/plugin-proposal-export-namespace-from-7.16.0"
-      sources."@babel/plugin-proposal-json-strings-7.16.0"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.0"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.0"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.0"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.0"
-      sources."@babel/plugin-proposal-private-methods-7.16.0"
-      sources."@babel/plugin-proposal-private-property-in-object-7.16.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.16.0"
+      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/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/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"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-class-static-block-7.16.7"
+      sources."@babel/plugin-proposal-decorators-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      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-optional-catch-binding-7.16.7"
+      sources."@babel/plugin-proposal-optional-chaining-7.16.7"
+      sources."@babel/plugin-proposal-private-methods-7.16.11"
+      sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-bigint-7.8.3"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
-      sources."@babel/plugin-syntax-decorators-7.16.0"
+      sources."@babel/plugin-syntax-decorators-7.16.7"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-syntax-import-meta-7.10.4"
@@ -6784,59 +6380,59 @@ let
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.16.0"
-      sources."@babel/plugin-transform-arrow-functions-7.16.0"
-      sources."@babel/plugin-transform-async-to-generator-7.16.0"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.0"
-      sources."@babel/plugin-transform-block-scoping-7.16.0"
-      sources."@babel/plugin-transform-classes-7.16.0"
-      sources."@babel/plugin-transform-computed-properties-7.16.0"
-      sources."@babel/plugin-transform-destructuring-7.16.0"
-      sources."@babel/plugin-transform-dotall-regex-7.16.0"
-      sources."@babel/plugin-transform-duplicate-keys-7.16.0"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.0"
-      sources."@babel/plugin-transform-for-of-7.16.0"
-      sources."@babel/plugin-transform-function-name-7.16.0"
-      sources."@babel/plugin-transform-literals-7.16.0"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.0"
-      sources."@babel/plugin-transform-modules-amd-7.16.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.0"
-      sources."@babel/plugin-transform-modules-umd-7.16.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.0"
-      sources."@babel/plugin-transform-new-target-7.16.0"
-      sources."@babel/plugin-transform-object-super-7.16.0"
-      sources."@babel/plugin-transform-parameters-7.16.3"
-      sources."@babel/plugin-transform-property-literals-7.16.0"
-      sources."@babel/plugin-transform-regenerator-7.16.0"
-      sources."@babel/plugin-transform-reserved-words-7.16.0"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.0"
-      sources."@babel/plugin-transform-spread-7.16.0"
-      sources."@babel/plugin-transform-sticky-regex-7.16.0"
-      sources."@babel/plugin-transform-template-literals-7.16.0"
-      sources."@babel/plugin-transform-typeof-symbol-7.16.0"
-      sources."@babel/plugin-transform-typescript-7.16.1"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.0"
-      sources."@babel/plugin-transform-unicode-regex-7.16.0"
-      (sources."@babel/preset-env-7.16.4" // {
+      sources."@babel/plugin-syntax-typescript-7.16.7"
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      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-dotall-regex-7.16.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.16.7"
+      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      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-regenerator-7.16.7"
+      sources."@babel/plugin-transform-reserved-words-7.16.7"
+      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"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      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" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-typescript-7.16.0"
-      sources."@babel/runtime-7.16.3"
-      sources."@babel/template-7.16.0"
-      (sources."@babel/traverse-7.16.3" // {
+      sources."@babel/preset-typescript-7.16.7"
+      sources."@babel/runtime-7.16.7"
+      sources."@babel/template-7.16.7"
+      (sources."@babel/traverse-7.16.10" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."@babel/types-7.16.0"
+      sources."@babel/types-7.16.8"
       sources."@bcoe/v8-coverage-0.2.3"
       sources."@dabh/diagnostics-2.0.2"
-      (sources."@eslint/eslintrc-1.0.4" // {
+      (sources."@eslint/eslintrc-1.0.5" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."debug-4.3.3"
@@ -6846,7 +6442,7 @@ let
           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"
@@ -6860,7 +6456,7 @@ let
         ];
       })
       sources."@istanbuljs/schema-0.1.3"
-      (sources."@jest/console-27.3.1" // {
+      (sources."@jest/console-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6870,7 +6466,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."@jest/core-27.3.1" // {
+      (sources."@jest/core-27.4.7" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6880,25 +6476,23 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jest/environment-27.3.1"
-      sources."@jest/fake-timers-27.3.1"
-      sources."@jest/globals-27.3.1"
-      (sources."@jest/reporters-27.3.1" // {
+      sources."@jest/environment-27.4.6"
+      sources."@jest/fake-timers-27.4.6"
+      sources."@jest/globals-27.4.6"
+      (sources."@jest/reporters-27.4.6" // {
         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."istanbul-lib-instrument-4.0.3"
-          sources."semver-6.3.0"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jest/source-map-27.0.6"
-      sources."@jest/test-result-27.3.1"
-      sources."@jest/test-sequencer-27.3.1"
-      (sources."@jest/transform-27.3.1" // {
+      sources."@jest/source-map-27.4.0"
+      sources."@jest/test-result-27.4.6"
+      sources."@jest/test-sequencer-27.4.6"
+      (sources."@jest/transform-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6908,7 +6502,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."@jest/types-27.2.5" // {
+      (sources."@jest/types-27.4.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6924,54 +6518,60 @@ let
       sources."@sinonjs/commons-1.8.3"
       sources."@sinonjs/fake-timers-8.1.0"
       sources."@tootallnate/once-1.1.2"
-      sources."@types/babel__core-7.1.16"
-      sources."@types/babel__generator-7.6.3"
+      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/debounce-1.2.1"
       sources."@types/finalhandler-1.1.1"
       sources."@types/glob-7.2.0"
       sources."@types/graceful-fs-4.1.5"
-      sources."@types/humanize-duration-3.27.0"
-      sources."@types/istanbul-lib-coverage-2.0.3"
+      sources."@types/humanize-duration-3.27.1"
+      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/jest-27.0.3"
+      sources."@types/jest-27.4.0"
       sources."@types/js-yaml-4.0.5"
       sources."@types/json-schema-7.0.9"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-17.0.13"
       sources."@types/object-assign-deep-0.4.0"
-      sources."@types/prettier-2.4.2"
+      sources."@types/prettier-2.4.3"
       sources."@types/rimraf-3.0.2"
       sources."@types/stack-utils-2.0.1"
-      sources."@types/ws-8.2.0"
+      sources."@types/ws-8.2.2"
       sources."@types/yargs-16.0.4"
       sources."@types/yargs-parser-20.2.1"
-      (sources."@typescript-eslint/eslint-plugin-5.4.0" // {
+      (sources."@typescript-eslint/eslint-plugin-5.10.1" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."@typescript-eslint/parser-5.10.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."@typescript-eslint/experimental-utils-5.4.0"
-      (sources."@typescript-eslint/parser-5.4.0" // {
+      sources."@typescript-eslint/scope-manager-5.10.1"
+      (sources."@typescript-eslint/type-utils-5.10.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."@typescript-eslint/scope-manager-5.4.0"
-      sources."@typescript-eslint/types-5.4.0"
-      (sources."@typescript-eslint/typescript-estree-5.4.0" // {
+      sources."@typescript-eslint/types-5.10.1"
+      (sources."@typescript-eslint/typescript-estree-5.10.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."@typescript-eslint/visitor-keys-5.4.0"
+      sources."@typescript-eslint/utils-5.10.1"
+      sources."@typescript-eslint/visitor-keys-5.10.1"
       sources."abab-2.0.5"
-      sources."acorn-8.6.0"
+      sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -6985,8 +6585,7 @@ let
           sources."ms-2.1.2"
         ];
       })
-      sources."ajv-8.8.2"
-      sources."ansi-colors-4.1.1"
+      sources."ajv-8.9.0"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           sources."type-fest-0.21.3"
@@ -6997,9 +6596,9 @@ let
       sources."anymatch-3.1.2"
       sources."argparse-2.0.1"
       sources."array-union-2.1.0"
-      sources."async-3.2.2"
+      sources."async-3.2.3"
       sources."asynckit-0.4.0"
-      (sources."babel-jest-27.3.1" // {
+      (sources."babel-jest-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7011,16 +6610,16 @@ let
       })
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-istanbul-6.1.1"
-      sources."babel-plugin-jest-hoist-27.2.0"
-      (sources."babel-plugin-polyfill-corejs2-0.3.0" // {
+      sources."babel-plugin-jest-hoist-27.4.0"
+      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.4.0"
-      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      sources."babel-plugin-polyfill-corejs3-0.5.1"
+      sources."babel-plugin-polyfill-regenerator-0.3.1"
       sources."babel-preset-current-node-syntax-1.0.1"
-      sources."babel-preset-jest-27.2.0"
+      sources."babel-preset-jest-27.4.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bind-decorator-1.0.11"
@@ -7029,14 +6628,14 @@ let
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.18.1"
+      sources."browserslist-4.19.1"
       sources."bser-2.1.1"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001283"
+      sources."caniuse-lite-1.0.30001304"
       sources."chalk-2.4.2"
       sources."char-regex-1.0.2"
       sources."ci-info-3.3.0"
@@ -7047,7 +6646,7 @@ let
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.9.0"
       sources."colors-1.4.0"
       sources."colorspace-1.1.4"
       sources."combined-stream-1.0.8"
@@ -7060,13 +6659,12 @@ let
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."core-js-3.19.1"
-      (sources."core-js-compat-3.19.1" // {
+      sources."core-js-3.20.3"
+      (sources."core-js-compat-3.20.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
@@ -7080,14 +6678,14 @@ let
       sources."decimal.js-10.3.1"
       sources."dedent-0.7.0"
       sources."deep-is-0.1.4"
-      sources."deep-object-diff-1.1.0"
+      sources."deep-object-diff-1.1.7"
       sources."deepmerge-4.2.2"
       sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."detect-newline-3.1.0"
-      sources."diff-sequences-27.0.6"
+      sources."diff-sequences-27.4.0"
       sources."dir-glob-3.0.1"
       sources."doctrine-3.0.0"
       (sources."domexception-2.0.1" // {
@@ -7097,13 +6695,12 @@ let
       })
       sources."duplexify-4.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.57"
       sources."emittery-0.8.1"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -7116,7 +6713,7 @@ let
           sources."type-check-0.3.2"
         ];
       })
-      (sources."eslint-8.3.0" // {
+      (sources."eslint-8.8.0" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."ansi-styles-4.3.0"
@@ -7130,22 +6727,21 @@ let
           sources."glob-parent-6.0.2"
           sources."globals-13.12.0"
           sources."has-flag-4.0.0"
-          sources."ignore-4.0.6"
           sources."json-schema-traverse-0.4.1"
           sources."ms-2.1.2"
           sources."supports-color-7.2.0"
         ];
       })
       sources."eslint-config-google-0.14.0"
-      sources."eslint-plugin-jest-25.3.0"
+      sources."eslint-plugin-jest-26.0.0"
       sources."eslint-scope-5.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" // {
         dependencies = [
@@ -7162,13 +6758,9 @@ let
       sources."etag-1.8.1"
       sources."execa-5.1.1"
       sources."exit-0.1.2"
-      (sources."expect-27.3.1" // {
-        dependencies = [
-          sources."ansi-styles-5.2.0"
-        ];
-      })
+      sources."expect-27.4.6"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
@@ -7181,7 +6773,7 @@ let
       sources."find-0.3.0"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fn.name-1.1.0"
       sources."form-data-3.0.1"
       sources."fresh-0.5.2"
@@ -7198,16 +6790,16 @@ let
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."globals-11.12.0"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."glossy-0.1.7"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
       sources."help-me-3.0.0"
       sources."html-encoding-sniffer-2.0.1"
       sources."html-escaper-2.0.2"
-      sources."http-errors-1.7.3"
+      sources."http-errors-1.8.1"
       (sources."http-proxy-agent-4.0.1" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -7221,21 +6813,21 @@ let
         ];
       })
       sources."human-signals-2.1.0"
-      sources."humanize-duration-3.27.0"
+      sources."humanize-duration-3.27.1"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
           sources."resolve-from-4.0.0"
         ];
       })
-      sources."import-local-3.0.3"
+      sources."import-local-3.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
-      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-generator-fn-2.1.0"
@@ -7244,7 +6836,6 @@ let
       sources."is-potential-custom-element-name-1.0.1"
       sources."is-stream-2.0.1"
       sources."is-typedarray-1.0.0"
-      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."istanbul-lib-coverage-3.2.0"
       (sources."istanbul-lib-instrument-5.1.0" // {
@@ -7264,20 +6855,20 @@ let
           sources."ms-2.1.2"
         ];
       })
-      sources."istanbul-reports-3.0.5"
-      (sources."jest-27.3.1" // {
+      sources."istanbul-reports-3.1.3"
+      (sources."jest-27.4.7" // {
         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."jest-cli-27.3.1"
+          sources."jest-cli-27.4.7"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-changed-files-27.3.0"
-      (sources."jest-circus-27.3.1" // {
+      sources."jest-changed-files-27.4.2"
+      (sources."jest-circus-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7287,7 +6878,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-config-27.3.1" // {
+      (sources."jest-config-27.4.7" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7297,7 +6888,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-diff-27.3.1" // {
+      (sources."jest-diff-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7307,8 +6898,8 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-docblock-27.0.6"
-      (sources."jest-each-27.3.1" // {
+      sources."jest-docblock-27.4.0"
+      (sources."jest-each-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7318,11 +6909,11 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-environment-jsdom-27.3.1"
-      sources."jest-environment-node-27.3.1"
-      sources."jest-get-type-27.3.1"
-      sources."jest-haste-map-27.3.1"
-      (sources."jest-jasmine2-27.3.1" // {
+      sources."jest-environment-jsdom-27.4.6"
+      sources."jest-environment-node-27.4.6"
+      sources."jest-get-type-27.4.0"
+      sources."jest-haste-map-27.4.6"
+      (sources."jest-jasmine2-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7332,8 +6923,8 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-leak-detector-27.3.1"
-      (sources."jest-matcher-utils-27.3.1" // {
+      sources."jest-leak-detector-27.4.6"
+      (sources."jest-matcher-utils-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7343,7 +6934,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-message-util-27.3.1" // {
+      (sources."jest-message-util-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7353,10 +6944,10 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-mock-27.3.0"
+      sources."jest-mock-27.4.6"
       sources."jest-pnp-resolver-1.2.2"
-      sources."jest-regex-util-27.0.6"
-      (sources."jest-resolve-27.3.1" // {
+      sources."jest-regex-util-27.4.0"
+      (sources."jest-resolve-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7366,8 +6957,8 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-resolve-dependencies-27.3.1"
-      (sources."jest-runner-27.3.1" // {
+      sources."jest-resolve-dependencies-27.4.6"
+      (sources."jest-runner-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7377,7 +6968,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-runtime-27.3.1" // {
+      (sources."jest-runtime-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7387,8 +6978,8 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-serializer-27.0.6"
-      (sources."jest-snapshot-27.3.1" // {
+      sources."jest-serializer-27.4.0"
+      (sources."jest-snapshot-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7398,7 +6989,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-util-27.3.1" // {
+      (sources."jest-util-27.4.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7408,10 +6999,10 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-validate-27.3.1" // {
+      (sources."jest-validate-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."camelcase-6.2.1"
+          sources."camelcase-6.3.0"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
@@ -7420,7 +7011,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-watcher-27.3.1" // {
+      (sources."jest-watcher-27.4.6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -7430,12 +7021,13 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-worker-27.3.1" // {
+      (sources."jest-worker-27.4.6" // {
         dependencies = [
           sources."has-flag-4.0.0"
           sources."supports-color-8.1.1"
         ];
       })
+      sources."js-sdsl-2.1.4"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       (sources."jsdom-16.7.0" // {
@@ -7455,9 +7047,10 @@ let
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
       sources."lodash.merge-4.6.2"
-      (sources."logform-2.3.0" // {
+      (sources."logform-2.3.2" // {
         dependencies = [
           sources."ms-2.1.3"
+          sources."safe-stable-stringify-1.1.1"
         ];
       })
       sources."lru-cache-6.0.0"
@@ -7478,7 +7071,7 @@ let
       sources."minimist-1.2.5"
       sources."mkdir-recursive-0.4.0"
       sources."moment-2.29.1"
-      (sources."mqtt-4.2.8" // {
+      (sources."mqtt-4.3.4" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -7495,10 +7088,15 @@ let
       sources."nan-2.15.0"
       sources."natural-compare-1.4.0"
       sources."node-int64-0.4.0"
-      sources."node-modules-regexp-1.0.0"
       sources."node-releases-2.0.1"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
+      (sources."number-allocator-1.0.9" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."nwsapi-2.2.0"
       sources."object-assign-deep-0.4.0"
       sources."object-keys-1.1.1"
@@ -7520,17 +7118,16 @@ let
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
-      sources."pirates-4.0.1"
+      sources."picomatch-2.3.1"
+      sources."pirates-4.0.5"
       sources."pkg-dir-4.2.0"
       sources."prelude-ls-1.2.1"
-      (sources."pretty-format-27.3.1" // {
+      (sources."pretty-format-27.4.6" // {
         dependencies = [
           sources."ansi-styles-5.2.0"
         ];
       })
       sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
       sources."prompts-2.4.2"
       sources."psl-1.8.0"
       sources."pump-3.0.0"
@@ -7554,25 +7151,26 @@ let
       sources."reinterval-1.1.0"
       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-cwd-3.0.0"
       sources."resolve-from-5.0.0"
       sources."resolve.exports-1.1.0"
       sources."reusify-1.0.4"
+      sources."rfdc-1.3.0"
       sources."rimraf-3.0.2"
       sources."run-parallel-1.2.0"
       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."saxes-5.0.1"
       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."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."signal-exit-3.0.6"
@@ -7605,6 +7203,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-tree-3.2.4"
       sources."terminal-link-2.1.1"
       sources."test-exclude-6.0.0"
@@ -7615,7 +7214,7 @@ let
       sources."tmpl-1.0.5"
       sources."to-fast-properties-2.0.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."traverse-chain-0.1.0"
@@ -7627,7 +7226,7 @@ let
       sources."type-fest-0.20.2"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-4.5.2"
+      sources."typescript-4.5.5"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
       sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -7638,7 +7237,7 @@ let
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.3.0"
-      (sources."v8-to-istanbul-8.1.0" // {
+      (sources."v8-to-istanbul-8.1.1" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -7651,15 +7250,9 @@ let
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-8.7.0"
       sources."which-2.0.2"
-      sources."winston-3.3.3"
+      sources."winston-3.5.0"
       sources."winston-syslog-2.4.4"
-      (sources."winston-transport-4.4.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."winston-transport-4.4.2"
       sources."word-wrap-1.2.3"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
@@ -7670,7 +7263,7 @@ let
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-8.3.0"
+      sources."ws-8.4.2"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."xtend-4.0.2"
@@ -7678,68 +7271,69 @@ let
       sources."yallist-4.0.0"
       sources."yargs-16.2.0"
       sources."yargs-parser-20.2.9"
-      (sources."zigbee-herdsman-0.13.176" // {
+      (sources."zigbee-herdsman-0.14.10" // {
         dependencies = [
-          sources."@babel/cli-7.16.0"
-          sources."@babel/code-frame-7.16.0"
-          sources."@babel/compat-data-7.16.4"
-          (sources."@babel/core-7.16.0" // {
+          sources."@babel/cli-7.16.8"
+          sources."@babel/code-frame-7.16.7"
+          sources."@babel/compat-data-7.16.8"
+          (sources."@babel/core-7.16.12" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
-          sources."@babel/generator-7.16.0"
-          sources."@babel/helper-annotate-as-pure-7.16.0"
-          sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.0"
-          (sources."@babel/helper-compilation-targets-7.16.3" // {
+          sources."@babel/generator-7.16.8"
+          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" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
-          sources."@babel/helper-create-class-features-plugin-7.16.0"
-          sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-          (sources."@babel/helper-define-polyfill-provider-0.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-define-polyfill-provider-0.3.1" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
-          sources."@babel/helper-explode-assignable-expression-7.16.0"
-          sources."@babel/helper-function-name-7.16.0"
-          sources."@babel/helper-get-function-arity-7.16.0"
-          sources."@babel/helper-hoist-variables-7.16.0"
-          sources."@babel/helper-member-expression-to-functions-7.16.0"
-          sources."@babel/helper-module-imports-7.16.0"
-          sources."@babel/helper-module-transforms-7.16.0"
-          sources."@babel/helper-optimise-call-expression-7.16.0"
-          sources."@babel/helper-plugin-utils-7.14.5"
-          sources."@babel/helper-remap-async-to-generator-7.16.4"
-          sources."@babel/helper-replace-supers-7.16.0"
-          sources."@babel/helper-simple-access-7.16.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"
+          sources."@babel/helper-get-function-arity-7.16.7"
+          sources."@babel/helper-hoist-variables-7.16.7"
+          sources."@babel/helper-member-expression-to-functions-7.16.7"
+          sources."@babel/helper-module-imports-7.16.7"
+          sources."@babel/helper-module-transforms-7.16.7"
+          sources."@babel/helper-optimise-call-expression-7.16.7"
+          sources."@babel/helper-plugin-utils-7.16.7"
+          sources."@babel/helper-remap-async-to-generator-7.16.8"
+          sources."@babel/helper-replace-supers-7.16.7"
+          sources."@babel/helper-simple-access-7.16.7"
           sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-          sources."@babel/helper-split-export-declaration-7.16.0"
-          sources."@babel/helper-validator-identifier-7.15.7"
-          sources."@babel/helper-validator-option-7.14.5"
-          sources."@babel/helper-wrap-function-7.16.0"
-          sources."@babel/helpers-7.16.3"
-          sources."@babel/highlight-7.16.0"
-          sources."@babel/parser-7.16.4"
-          sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-          sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0"
-          sources."@babel/plugin-proposal-async-generator-functions-7.16.4"
-          sources."@babel/plugin-proposal-class-properties-7.16.0"
-          sources."@babel/plugin-proposal-class-static-block-7.16.0"
-          sources."@babel/plugin-proposal-dynamic-import-7.16.0"
-          sources."@babel/plugin-proposal-export-namespace-from-7.16.0"
-          sources."@babel/plugin-proposal-json-strings-7.16.0"
-          sources."@babel/plugin-proposal-logical-assignment-operators-7.16.0"
-          sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.0"
-          sources."@babel/plugin-proposal-numeric-separator-7.16.0"
-          sources."@babel/plugin-proposal-object-rest-spread-7.16.0"
-          sources."@babel/plugin-proposal-optional-catch-binding-7.16.0"
-          sources."@babel/plugin-proposal-optional-chaining-7.16.0"
-          sources."@babel/plugin-proposal-private-methods-7.16.0"
-          sources."@babel/plugin-proposal-private-property-in-object-7.16.0"
-          sources."@babel/plugin-proposal-unicode-property-regex-7.16.0"
+          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/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/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"
+          sources."@babel/plugin-proposal-class-properties-7.16.7"
+          sources."@babel/plugin-proposal-class-static-block-7.16.7"
+          sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+          sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+          sources."@babel/plugin-proposal-json-strings-7.16.7"
+          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-optional-catch-binding-7.16.7"
+          sources."@babel/plugin-proposal-optional-chaining-7.16.7"
+          sources."@babel/plugin-proposal-private-methods-7.16.11"
+          sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+          sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
           sources."@babel/plugin-syntax-async-generators-7.8.4"
           sources."@babel/plugin-syntax-bigint-7.8.3"
           sources."@babel/plugin-syntax-class-properties-7.12.13"
@@ -7756,53 +7350,53 @@ let
           sources."@babel/plugin-syntax-optional-chaining-7.8.3"
           sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
           sources."@babel/plugin-syntax-top-level-await-7.14.5"
-          sources."@babel/plugin-syntax-typescript-7.16.0"
-          sources."@babel/plugin-transform-arrow-functions-7.16.0"
-          sources."@babel/plugin-transform-async-to-generator-7.16.0"
-          sources."@babel/plugin-transform-block-scoped-functions-7.16.0"
-          sources."@babel/plugin-transform-block-scoping-7.16.0"
-          sources."@babel/plugin-transform-classes-7.16.0"
-          sources."@babel/plugin-transform-computed-properties-7.16.0"
-          sources."@babel/plugin-transform-destructuring-7.16.0"
-          sources."@babel/plugin-transform-dotall-regex-7.16.0"
-          sources."@babel/plugin-transform-duplicate-keys-7.16.0"
-          sources."@babel/plugin-transform-exponentiation-operator-7.16.0"
-          sources."@babel/plugin-transform-for-of-7.16.0"
-          sources."@babel/plugin-transform-function-name-7.16.0"
-          sources."@babel/plugin-transform-literals-7.16.0"
-          sources."@babel/plugin-transform-member-expression-literals-7.16.0"
-          sources."@babel/plugin-transform-modules-amd-7.16.0"
-          sources."@babel/plugin-transform-modules-commonjs-7.16.0"
-          sources."@babel/plugin-transform-modules-systemjs-7.16.0"
-          sources."@babel/plugin-transform-modules-umd-7.16.0"
-          sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.0"
-          sources."@babel/plugin-transform-new-target-7.16.0"
-          sources."@babel/plugin-transform-object-super-7.16.0"
-          sources."@babel/plugin-transform-parameters-7.16.3"
-          sources."@babel/plugin-transform-property-literals-7.16.0"
-          sources."@babel/plugin-transform-regenerator-7.16.0"
-          sources."@babel/plugin-transform-reserved-words-7.16.0"
-          sources."@babel/plugin-transform-shorthand-properties-7.16.0"
-          sources."@babel/plugin-transform-spread-7.16.0"
-          sources."@babel/plugin-transform-sticky-regex-7.16.0"
-          sources."@babel/plugin-transform-template-literals-7.16.0"
-          sources."@babel/plugin-transform-typeof-symbol-7.16.0"
-          sources."@babel/plugin-transform-typescript-7.16.1"
-          sources."@babel/plugin-transform-unicode-escapes-7.16.0"
-          sources."@babel/plugin-transform-unicode-regex-7.16.0"
-          (sources."@babel/preset-env-7.16.4" // {
+          sources."@babel/plugin-syntax-typescript-7.16.7"
+          sources."@babel/plugin-transform-arrow-functions-7.16.7"
+          sources."@babel/plugin-transform-async-to-generator-7.16.8"
+          sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+          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-dotall-regex-7.16.7"
+          sources."@babel/plugin-transform-duplicate-keys-7.16.7"
+          sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
+          sources."@babel/plugin-transform-for-of-7.16.7"
+          sources."@babel/plugin-transform-function-name-7.16.7"
+          sources."@babel/plugin-transform-literals-7.16.7"
+          sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+          sources."@babel/plugin-transform-modules-amd-7.16.7"
+          sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+          sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+          sources."@babel/plugin-transform-modules-umd-7.16.7"
+          sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+          sources."@babel/plugin-transform-new-target-7.16.7"
+          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-regenerator-7.16.7"
+          sources."@babel/plugin-transform-reserved-words-7.16.7"
+          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"
+          sources."@babel/plugin-transform-template-literals-7.16.7"
+          sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+          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" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
           sources."@babel/preset-modules-0.1.5"
-          sources."@babel/preset-typescript-7.16.0"
-          sources."@babel/runtime-7.16.3"
-          sources."@babel/template-7.16.0"
-          sources."@babel/traverse-7.16.3"
-          sources."@babel/types-7.16.0"
+          sources."@babel/preset-typescript-7.16.7"
+          sources."@babel/runtime-7.16.7"
+          sources."@babel/template-7.16.7"
+          sources."@babel/traverse-7.16.10"
+          sources."@babel/types-7.16.8"
           sources."@bcoe/v8-coverage-0.2.3"
-          (sources."@eslint/eslintrc-1.0.4" // {
+          (sources."@eslint/eslintrc-1.0.5" // {
             dependencies = [
               sources."argparse-2.0.1"
               sources."globals-13.12.0"
@@ -7811,11 +7405,11 @@ let
               sources."strip-json-comments-3.1.1"
             ];
           })
-          sources."@humanwhocodes/config-array-0.6.0"
+          sources."@humanwhocodes/config-array-0.9.3"
           sources."@humanwhocodes/object-schema-1.2.1"
           sources."@istanbuljs/load-nyc-config-1.1.0"
           sources."@istanbuljs/schema-0.1.3"
-          (sources."@jest/console-27.3.1" // {
+          (sources."@jest/console-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -7826,7 +7420,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."@jest/core-27.3.1" // {
+          (sources."@jest/core-27.4.7" // {
             dependencies = [
               sources."ansi-regex-5.0.1"
               sources."ansi-styles-4.3.0"
@@ -7839,31 +7433,29 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          sources."@jest/environment-27.3.1"
-          sources."@jest/fake-timers-27.3.1"
-          sources."@jest/globals-27.3.1"
-          (sources."@jest/reporters-27.3.1" // {
+          sources."@jest/environment-27.4.6"
+          sources."@jest/fake-timers-27.4.6"
+          sources."@jest/globals-27.4.6"
+          (sources."@jest/reporters-27.4.6" // {
             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."istanbul-lib-instrument-4.0.3"
-              sources."semver-6.3.0"
               sources."slash-3.0.0"
               sources."source-map-0.6.1"
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."@jest/source-map-27.0.6" // {
+          (sources."@jest/source-map-27.4.0" // {
             dependencies = [
               sources."source-map-0.6.1"
             ];
           })
-          sources."@jest/test-result-27.3.1"
-          sources."@jest/test-sequencer-27.3.1"
-          (sources."@jest/transform-27.3.1" // {
+          sources."@jest/test-result-27.4.6"
+          sources."@jest/test-sequencer-27.4.6"
+          (sources."@jest/transform-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -7875,7 +7467,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."@jest/types-27.2.5" // {
+          (sources."@jest/types-27.4.2" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -7903,36 +7495,37 @@ let
           sources."@sinonjs/commons-1.8.3"
           sources."@sinonjs/fake-timers-8.1.0"
           sources."@tootallnate/once-1.1.2"
-          sources."@types/babel__core-7.1.16"
-          sources."@types/babel__generator-7.6.3"
+          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/debounce-1.2.1"
           sources."@types/debug-4.1.7"
           sources."@types/graceful-fs-4.1.5"
-          sources."@types/istanbul-lib-coverage-2.0.3"
+          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/jest-27.0.3"
+          sources."@types/jest-27.4.0"
           sources."@types/json-schema-7.0.9"
           sources."@types/ms-0.7.31"
           sources."@types/mz-2.7.4"
           sources."@types/nedb-1.8.12"
-          sources."@types/node-16.11.10"
-          sources."@types/prettier-2.4.2"
+          sources."@types/node-17.0.13"
+          sources."@types/prettier-2.4.3"
           sources."@types/serialport-8.0.2"
           sources."@types/stack-utils-2.0.1"
           sources."@types/yargs-16.0.4"
           sources."@types/yargs-parser-20.2.1"
-          sources."@typescript-eslint/eslint-plugin-5.4.0"
-          sources."@typescript-eslint/experimental-utils-5.4.0"
-          sources."@typescript-eslint/parser-5.4.0"
-          sources."@typescript-eslint/scope-manager-5.4.0"
-          sources."@typescript-eslint/types-5.4.0"
-          sources."@typescript-eslint/typescript-estree-5.4.0"
-          sources."@typescript-eslint/visitor-keys-5.4.0"
+          sources."@typescript-eslint/eslint-plugin-5.10.1"
+          sources."@typescript-eslint/parser-5.10.1"
+          sources."@typescript-eslint/scope-manager-5.10.1"
+          sources."@typescript-eslint/type-utils-5.10.1"
+          sources."@typescript-eslint/types-5.10.1"
+          sources."@typescript-eslint/typescript-estree-5.10.1"
+          sources."@typescript-eslint/utils-5.10.1"
+          sources."@typescript-eslint/visitor-keys-5.10.1"
           sources."abab-2.0.5"
-          sources."acorn-8.6.0"
+          sources."acorn-8.7.0"
           (sources."acorn-globals-6.0.0" // {
             dependencies = [
               sources."acorn-7.4.1"
@@ -7942,7 +7535,6 @@ let
           sources."acorn-walk-7.2.0"
           sources."agent-base-6.0.2"
           sources."ajv-6.12.6"
-          sources."ansi-colors-4.1.1"
           (sources."ansi-escapes-4.3.2" // {
             dependencies = [
               sources."type-fest-0.21.3"
@@ -7957,7 +7549,7 @@ let
           sources."argparse-1.0.10"
           sources."array-union-2.1.0"
           sources."asynckit-0.4.0"
-          (sources."babel-jest-27.3.1" // {
+          (sources."babel-jest-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -7970,16 +7562,16 @@ let
           })
           sources."babel-plugin-dynamic-import-node-2.3.3"
           sources."babel-plugin-istanbul-6.1.1"
-          sources."babel-plugin-jest-hoist-27.2.0"
-          (sources."babel-plugin-polyfill-corejs2-0.3.0" // {
+          sources."babel-plugin-jest-hoist-27.4.0"
+          (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
-          sources."babel-plugin-polyfill-corejs3-0.4.0"
-          sources."babel-plugin-polyfill-regenerator-0.3.0"
+          sources."babel-plugin-polyfill-corejs3-0.5.1"
+          sources."babel-plugin-polyfill-regenerator-0.3.1"
           sources."babel-preset-current-node-syntax-1.0.1"
-          sources."babel-preset-jest-27.2.0"
+          sources."babel-preset-jest-27.4.0"
           sources."balanced-match-1.0.2"
           sources."base64-js-1.5.1"
           sources."binary-extensions-2.2.0"
@@ -7992,17 +7584,17 @@ let
           sources."brace-expansion-1.1.11"
           sources."braces-3.0.2"
           sources."browser-process-hrtime-1.0.0"
-          sources."browserslist-4.18.1"
+          sources."browserslist-4.19.1"
           sources."bser-2.1.1"
           sources."buffer-5.7.1"
           sources."buffer-from-1.1.2"
           sources."call-bind-1.0.2"
           sources."callsites-3.1.0"
           sources."camelcase-5.3.1"
-          sources."caniuse-lite-1.0.30001283"
+          sources."caniuse-lite-1.0.30001304"
           sources."chalk-2.4.2"
           sources."char-regex-1.0.2"
-          sources."chokidar-3.5.2"
+          sources."chokidar-3.5.3"
           sources."chownr-1.1.4"
           sources."ci-info-3.3.0"
           sources."cjs-module-lexer-1.2.2"
@@ -8024,7 +7616,7 @@ let
           sources."concat-map-0.0.1"
           sources."console-control-strings-1.1.0"
           sources."convert-source-map-1.8.0"
-          (sources."core-js-compat-3.19.1" // {
+          (sources."core-js-compat-3.20.3" // {
             dependencies = [
               sources."semver-7.0.0"
             ];
@@ -8049,9 +7641,9 @@ let
           sources."define-properties-1.1.3"
           sources."delayed-stream-1.0.0"
           sources."delegates-1.0.0"
-          sources."detect-libc-1.0.3"
+          sources."detect-libc-2.0.0"
           sources."detect-newline-3.1.0"
-          sources."diff-sequences-27.0.6"
+          sources."diff-sequences-27.4.0"
           sources."dir-glob-3.0.1"
           sources."doctrine-3.0.0"
           (sources."domexception-2.0.1" // {
@@ -8059,11 +7651,10 @@ let
               sources."webidl-conversions-5.0.0"
             ];
           })
-          sources."electron-to-chromium-1.4.4"
+          sources."electron-to-chromium-1.4.57"
           sources."emittery-0.8.1"
           sources."emoji-regex-8.0.0"
           sources."end-of-stream-1.4.4"
-          sources."enquirer-2.3.6"
           sources."escalade-3.1.1"
           sources."escape-string-regexp-1.0.5"
           (sources."escodegen-2.0.0" // {
@@ -8076,7 +7667,7 @@ let
               sources."type-check-0.3.2"
             ];
           })
-          (sources."eslint-8.3.0" // {
+          (sources."eslint-8.8.0" // {
             dependencies = [
               sources."ansi-regex-5.0.1"
               sources."ansi-styles-4.3.0"
@@ -8090,7 +7681,6 @@ let
               sources."glob-parent-6.0.2"
               sources."globals-13.12.0"
               sources."has-flag-4.0.0"
-              sources."ignore-4.0.6"
               sources."js-yaml-4.1.0"
               sources."strip-ansi-6.0.1"
               sources."strip-json-comments-3.1.1"
@@ -8103,8 +7693,8 @@ let
               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" // {
             dependencies = [
@@ -8121,13 +7711,9 @@ let
           sources."execa-5.1.1"
           sources."exit-0.1.2"
           sources."expand-template-2.0.3"
-          (sources."expect-27.3.1" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
+          sources."expect-27.4.6"
           sources."fast-deep-equal-3.1.3"
-          sources."fast-glob-3.2.7"
+          sources."fast-glob-3.2.11"
           sources."fast-json-stable-stringify-2.1.0"
           sources."fast-levenshtein-2.0.6"
           sources."fastq-1.13.0"
@@ -8137,7 +7723,7 @@ let
           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."form-data-3.0.1"
           sources."fs-constants-1.0.0"
           sources."fs-readdir-recursive-1.1.0"
@@ -8155,12 +7741,12 @@ let
           sources."glob-7.2.0"
           sources."glob-parent-5.1.2"
           sources."globals-11.12.0"
-          (sources."globby-11.0.4" // {
+          (sources."globby-11.1.0" // {
             dependencies = [
               sources."slash-3.0.0"
             ];
           })
-          sources."graceful-fs-4.2.8"
+          sources."graceful-fs-4.2.9"
           (sources."handlebars-4.7.7" // {
             dependencies = [
               sources."source-map-0.6.1"
@@ -8177,19 +7763,19 @@ let
           sources."human-signals-2.1.0"
           sources."iconv-lite-0.4.24"
           sources."ieee754-1.2.1"
-          sources."ignore-5.1.9"
+          sources."ignore-5.2.0"
           (sources."import-fresh-3.3.0" // {
             dependencies = [
               sources."resolve-from-4.0.0"
             ];
           })
-          sources."import-local-3.0.3"
+          sources."import-local-3.1.0"
           sources."imurmurhash-0.1.4"
           sources."inflight-1.0.6"
           sources."inherits-2.0.4"
           sources."ini-1.3.8"
           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-1.0.0"
           sources."is-generator-fn-2.1.0"
@@ -8219,20 +7805,20 @@ let
               sources."source-map-0.6.1"
             ];
           })
-          sources."istanbul-reports-3.0.5"
-          (sources."jest-27.3.1" // {
+          sources."istanbul-reports-3.1.3"
+          (sources."jest-27.4.7" // {
             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."jest-cli-27.3.1"
+              sources."jest-cli-27.4.7"
               sources."supports-color-7.2.0"
             ];
           })
-          sources."jest-changed-files-27.3.0"
-          (sources."jest-circus-27.3.1" // {
+          sources."jest-changed-files-27.4.2"
+          (sources."jest-circus-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8243,17 +7829,18 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-config-27.3.1" // {
+          (sources."jest-config-27.4.7" // {
             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."slash-3.0.0"
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-diff-27.3.1" // {
+          (sources."jest-diff-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8263,8 +7850,8 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          sources."jest-docblock-27.0.6"
-          (sources."jest-each-27.3.1" // {
+          sources."jest-docblock-27.4.0"
+          (sources."jest-each-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8274,11 +7861,11 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          sources."jest-environment-jsdom-27.3.1"
-          sources."jest-environment-node-27.3.1"
-          sources."jest-get-type-27.3.1"
-          sources."jest-haste-map-27.3.1"
-          (sources."jest-jasmine2-27.3.1" // {
+          sources."jest-environment-jsdom-27.4.6"
+          sources."jest-environment-node-27.4.6"
+          sources."jest-get-type-27.4.0"
+          sources."jest-haste-map-27.4.6"
+          (sources."jest-jasmine2-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8288,8 +7875,8 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          sources."jest-leak-detector-27.3.1"
-          (sources."jest-matcher-utils-27.3.1" // {
+          sources."jest-leak-detector-27.4.6"
+          (sources."jest-matcher-utils-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8299,7 +7886,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-message-util-27.3.1" // {
+          (sources."jest-message-util-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8310,10 +7897,10 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          sources."jest-mock-27.3.0"
+          sources."jest-mock-27.4.6"
           sources."jest-pnp-resolver-1.2.2"
-          sources."jest-regex-util-27.0.6"
-          (sources."jest-resolve-27.3.1" // {
+          sources."jest-regex-util-27.4.0"
+          (sources."jest-resolve-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8324,8 +7911,8 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          sources."jest-resolve-dependencies-27.3.1"
-          (sources."jest-runner-27.3.1" // {
+          sources."jest-resolve-dependencies-27.4.6"
+          (sources."jest-runner-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8335,7 +7922,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-runtime-27.3.1" // {
+          (sources."jest-runtime-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8346,8 +7933,8 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          sources."jest-serializer-27.0.6"
-          (sources."jest-snapshot-27.3.1" // {
+          sources."jest-serializer-27.4.0"
+          (sources."jest-snapshot-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8357,7 +7944,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-util-27.3.1" // {
+          (sources."jest-util-27.4.2" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8367,10 +7954,10 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-validate-27.3.1" // {
+          (sources."jest-validate-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
-              sources."camelcase-6.2.1"
+              sources."camelcase-6.3.0"
               sources."chalk-4.1.2"
               sources."color-convert-2.0.1"
               sources."color-name-1.1.4"
@@ -8378,7 +7965,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-watcher-27.3.1" // {
+          (sources."jest-watcher-27.4.6" // {
             dependencies = [
               sources."ansi-styles-4.3.0"
               sources."chalk-4.1.2"
@@ -8388,7 +7975,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
-          (sources."jest-worker-27.3.1" // {
+          (sources."jest-worker-27.4.6" // {
             dependencies = [
               sources."has-flag-4.0.0"
               sources."supports-color-8.1.1"
@@ -8417,7 +8004,7 @@ let
             ];
           })
           sources."makeerror-1.0.12"
-          sources."marked-3.0.8"
+          sources."marked-4.0.12"
           sources."merge-stream-2.0.0"
           sources."merge2-1.4.1"
           sources."micromatch-4.0.4"
@@ -8437,7 +8024,6 @@ let
           sources."neo-async-2.6.2"
           sources."node-abi-3.5.0"
           sources."node-int64-0.4.0"
-          sources."node-modules-regexp-1.0.0"
           sources."node-releases-2.0.1"
           sources."normalize-path-3.0.0"
           sources."npm-run-path-4.0.1"
@@ -8461,20 +8047,19 @@ let
           sources."path-parse-1.0.7"
           sources."path-type-4.0.0"
           sources."picocolors-1.0.0"
-          sources."picomatch-2.3.0"
+          sources."picomatch-2.3.1"
           sources."pify-4.0.1"
-          sources."pirates-4.0.1"
+          sources."pirates-4.0.5"
           sources."pkg-dir-4.2.0"
-          sources."prebuild-install-7.0.0"
+          sources."prebuild-install-7.0.1"
           sources."prelude-ls-1.2.1"
-          (sources."pretty-format-27.3.1" // {
+          (sources."pretty-format-27.4.6" // {
             dependencies = [
               sources."ansi-regex-5.0.1"
               sources."ansi-styles-5.2.0"
             ];
           })
           sources."process-nextick-args-2.0.1"
-          sources."progress-2.0.3"
           sources."prompts-2.4.2"
           sources."psl-1.8.0"
           sources."pump-3.0.0"
@@ -8497,7 +8082,7 @@ let
             ];
           })
           sources."require-directory-2.1.1"
-          sources."resolve-1.20.0"
+          sources."resolve-1.22.0"
           sources."resolve-cwd-3.0.0"
           sources."resolve-from-5.0.0"
           sources."resolve.exports-1.1.0"
@@ -8512,10 +8097,10 @@ let
           sources."set-blocking-2.0.0"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
-          sources."shiki-0.9.13"
+          sources."shiki-0.10.0"
           sources."signal-exit-3.0.6"
           sources."simple-concat-1.0.1"
-          sources."simple-get-4.0.0"
+          sources."simple-get-4.0.1"
           sources."sisteransi-1.0.5"
           sources."slash-2.0.0"
           sources."slip-1.0.2"
@@ -8550,6 +8135,7 @@ let
               sources."supports-color-7.2.0"
             ];
           })
+          sources."supports-preserve-symlinks-flag-1.0.0"
           sources."symbol-tree-3.2.4"
           sources."tar-fs-2.1.1"
           (sources."tar-stream-2.2.0" // {
@@ -8575,12 +8161,12 @@ let
           sources."type-detect-4.0.8"
           sources."type-fest-0.20.2"
           sources."typedarray-to-buffer-3.1.5"
-          sources."typedoc-0.22.10"
-          sources."typedoc-plugin-markdown-3.11.7"
+          sources."typedoc-0.22.11"
+          sources."typedoc-plugin-markdown-3.11.12"
           sources."typedoc-plugin-no-inherit-1.3.1"
           sources."typedoc-plugin-sourcefile-url-1.0.6"
-          sources."typescript-4.5.2"
-          sources."uglify-js-3.14.3"
+          sources."typescript-4.5.5"
+          sources."uglify-js-3.15.0"
           sources."unicode-canonical-property-names-ecmascript-2.0.0"
           sources."unicode-match-property-ecmascript-2.0.0"
           sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -8589,7 +8175,7 @@ let
           sources."uri-js-4.4.1"
           sources."util-deprecate-1.0.2"
           sources."v8-compile-cache-2.3.0"
-          (sources."v8-to-istanbul-8.1.0" // {
+          (sources."v8-to-istanbul-8.1.1" // {
             dependencies = [
               sources."source-map-0.7.3"
             ];
@@ -8636,41 +8222,39 @@ let
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."zigbee-herdsman-converters-14.0.336" // {
+      (sources."zigbee-herdsman-converters-14.0.406" // {
         dependencies = [
-          sources."@babel/code-frame-7.16.0"
-          sources."@babel/compat-data-7.16.4"
-          (sources."@babel/core-7.16.0" // {
+          sources."@babel/code-frame-7.16.7"
+          sources."@babel/compat-data-7.16.8"
+          (sources."@babel/core-7.16.12" // {
             dependencies = [
               sources."semver-6.3.0"
               sources."source-map-0.5.7"
             ];
           })
-          (sources."@babel/generator-7.16.0" // {
+          (sources."@babel/generator-7.16.8" // {
             dependencies = [
               sources."source-map-0.5.7"
             ];
           })
-          (sources."@babel/helper-compilation-targets-7.16.3" // {
+          (sources."@babel/helper-compilation-targets-7.16.7" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
-          sources."@babel/helper-function-name-7.16.0"
-          sources."@babel/helper-get-function-arity-7.16.0"
-          sources."@babel/helper-hoist-variables-7.16.0"
-          sources."@babel/helper-member-expression-to-functions-7.16.0"
-          sources."@babel/helper-module-imports-7.16.0"
-          sources."@babel/helper-module-transforms-7.16.0"
-          sources."@babel/helper-optimise-call-expression-7.16.0"
-          sources."@babel/helper-plugin-utils-7.14.5"
-          sources."@babel/helper-replace-supers-7.16.0"
-          sources."@babel/helper-simple-access-7.16.0"
-          sources."@babel/helper-split-export-declaration-7.16.0"
-          sources."@babel/helper-validator-identifier-7.15.7"
-          sources."@babel/helper-validator-option-7.14.5"
-          sources."@babel/helpers-7.16.3"
-          (sources."@babel/highlight-7.16.0" // {
+          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"
+          sources."@babel/helper-hoist-variables-7.16.7"
+          sources."@babel/helper-module-imports-7.16.7"
+          sources."@babel/helper-module-transforms-7.16.7"
+          sources."@babel/helper-plugin-utils-7.16.7"
+          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/helper-validator-option-7.16.7"
+          sources."@babel/helpers-7.16.7"
+          (sources."@babel/highlight-7.16.10" // {
             dependencies = [
               sources."ansi-styles-3.2.1"
               sources."chalk-2.4.2"
@@ -8681,7 +8265,7 @@ let
               sources."supports-color-5.5.0"
             ];
           })
-          sources."@babel/parser-7.16.4"
+          sources."@babel/parser-7.16.12"
           sources."@babel/plugin-syntax-async-generators-7.8.4"
           sources."@babel/plugin-syntax-bigint-7.8.3"
           sources."@babel/plugin-syntax-class-properties-7.12.13"
@@ -8694,17 +8278,21 @@ let
           sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
           sources."@babel/plugin-syntax-optional-chaining-7.8.3"
           sources."@babel/plugin-syntax-top-level-await-7.14.5"
-          sources."@babel/plugin-syntax-typescript-7.16.0"
-          sources."@babel/template-7.16.0"
-          (sources."@babel/traverse-7.16.3" // {
+          sources."@babel/plugin-syntax-typescript-7.16.7"
+          sources."@babel/template-7.16.7"
+          (sources."@babel/traverse-7.16.10" // {
             dependencies = [
               sources."globals-11.12.0"
             ];
           })
-          sources."@babel/types-7.16.0"
+          sources."@babel/types-7.16.8"
           sources."@bcoe/v8-coverage-0.2.3"
-          sources."@eslint/eslintrc-1.0.4"
-          sources."@humanwhocodes/config-array-0.6.0"
+          (sources."@eslint/eslintrc-1.0.5" // {
+            dependencies = [
+              sources."ignore-4.0.6"
+            ];
+          })
+          sources."@humanwhocodes/config-array-0.9.3"
           sources."@humanwhocodes/object-schema-1.2.1"
           (sources."@istanbuljs/load-nyc-config-1.1.0" // {
             dependencies = [
@@ -8714,16 +8302,16 @@ let
             ];
           })
           sources."@istanbuljs/schema-0.1.3"
-          sources."@jest/console-27.4.2"
-          sources."@jest/core-27.4.3"
-          sources."@jest/environment-27.4.2"
-          sources."@jest/fake-timers-27.4.2"
-          sources."@jest/globals-27.4.2"
-          sources."@jest/reporters-27.4.2"
+          sources."@jest/console-27.4.6"
+          sources."@jest/core-27.4.7"
+          sources."@jest/environment-27.4.6"
+          sources."@jest/fake-timers-27.4.6"
+          sources."@jest/globals-27.4.6"
+          sources."@jest/reporters-27.4.6"
           sources."@jest/source-map-27.4.0"
-          sources."@jest/test-result-27.4.2"
-          sources."@jest/test-sequencer-27.4.2"
-          sources."@jest/transform-27.4.2"
+          sources."@jest/test-result-27.4.6"
+          sources."@jest/test-sequencer-27.4.6"
+          sources."@jest/transform-27.4.6"
           sources."@jest/types-27.4.2"
           sources."@nodelib/fs.scandir-2.1.5"
           sources."@nodelib/fs.stat-2.0.5"
@@ -8731,32 +8319,32 @@ let
           sources."@sinonjs/commons-1.8.3"
           sources."@sinonjs/fake-timers-8.1.0"
           sources."@tootallnate/once-1.1.2"
-          sources."@types/babel__core-7.1.16"
-          sources."@types/babel__generator-7.6.3"
+          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/graceful-fs-4.1.5"
-          sources."@types/istanbul-lib-coverage-2.0.3"
+          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/json-schema-7.0.9"
-          sources."@types/node-16.11.11"
-          sources."@types/prettier-2.4.2"
+          sources."@types/node-17.0.14"
+          sources."@types/prettier-2.4.3"
           sources."@types/stack-utils-2.0.1"
           sources."@types/yargs-16.0.4"
           sources."@types/yargs-parser-20.2.1"
-          (sources."@typescript-eslint/experimental-utils-5.5.0" // {
+          sources."@typescript-eslint/scope-manager-5.10.2"
+          sources."@typescript-eslint/types-5.10.2"
+          sources."@typescript-eslint/typescript-estree-5.10.2"
+          (sources."@typescript-eslint/utils-5.10.2" // {
             dependencies = [
               sources."eslint-scope-5.1.1"
               sources."estraverse-4.3.0"
             ];
           })
-          sources."@typescript-eslint/scope-manager-5.5.0"
-          sources."@typescript-eslint/types-5.5.0"
-          sources."@typescript-eslint/typescript-estree-5.5.0"
-          sources."@typescript-eslint/visitor-keys-5.5.0"
+          sources."@typescript-eslint/visitor-keys-5.10.2"
           sources."abab-2.0.5"
-          sources."acorn-8.6.0"
+          sources."acorn-8.7.0"
           (sources."acorn-globals-6.0.0" // {
             dependencies = [
               sources."acorn-7.4.1"
@@ -8766,7 +8354,6 @@ let
           sources."acorn-walk-7.2.0"
           sources."agent-base-6.0.2"
           sources."ajv-6.12.6"
-          sources."ansi-colors-4.1.1"
           (sources."ansi-escapes-4.3.2" // {
             dependencies = [
               sources."type-fest-0.21.3"
@@ -8778,14 +8365,9 @@ let
           sources."argparse-2.0.1"
           sources."array-union-2.1.0"
           sources."asynckit-0.4.0"
-          sources."axios-0.24.0"
-          sources."babel-jest-27.4.2"
-          (sources."babel-plugin-istanbul-6.1.1" // {
-            dependencies = [
-              sources."istanbul-lib-instrument-5.1.0"
-              sources."semver-6.3.0"
-            ];
-          })
+          sources."axios-0.25.0"
+          sources."babel-jest-27.4.6"
+          sources."babel-plugin-istanbul-6.1.1"
           sources."babel-plugin-jest-hoist-27.4.0"
           sources."babel-preset-current-node-syntax-1.0.1"
           sources."babel-preset-jest-27.4.0"
@@ -8795,14 +8377,14 @@ let
           sources."brace-expansion-1.1.11"
           sources."braces-3.0.2"
           sources."browser-process-hrtime-1.0.0"
-          sources."browserslist-4.18.1"
+          sources."browserslist-4.19.1"
           sources."bser-2.1.1"
           sources."buffer-5.7.1"
           sources."buffer-crc32-0.2.13"
           sources."buffer-from-1.1.2"
           sources."callsites-3.1.0"
           sources."camelcase-5.3.1"
-          sources."caniuse-lite-1.0.30001283"
+          sources."caniuse-lite-1.0.30001304"
           sources."chalk-4.1.2"
           sources."char-regex-1.0.2"
           sources."ci-info-3.3.0"
@@ -8842,11 +8424,10 @@ let
               sources."webidl-conversions-5.0.0"
             ];
           })
-          sources."electron-to-chromium-1.4.7"
+          sources."electron-to-chromium-1.4.59"
           sources."emittery-0.8.1"
           sources."emoji-regex-8.0.0"
           sources."end-of-stream-1.4.4"
-          sources."enquirer-2.3.6"
           sources."escalade-3.1.1"
           sources."escape-string-regexp-4.0.0"
           (sources."escodegen-2.0.0" // {
@@ -8857,17 +8438,17 @@ let
               sources."type-check-0.3.2"
             ];
           })
-          sources."eslint-8.3.0"
+          sources."eslint-8.8.0"
           sources."eslint-config-google-0.14.0"
-          sources."eslint-plugin-jest-25.3.0"
+          sources."eslint-plugin-jest-26.0.0"
           sources."eslint-scope-7.1.0"
           (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"
@@ -8875,13 +8456,9 @@ let
           sources."esutils-2.0.3"
           sources."execa-5.1.1"
           sources."exit-0.1.2"
-          (sources."expect-27.4.2" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
+          sources."expect-27.4.6"
           sources."fast-deep-equal-3.1.3"
-          (sources."fast-glob-3.2.7" // {
+          (sources."fast-glob-3.2.11" // {
             dependencies = [
               sources."glob-parent-5.1.2"
             ];
@@ -8894,8 +8471,8 @@ let
           sources."fill-range-7.0.1"
           sources."find-up-4.1.0"
           sources."flat-cache-3.0.4"
-          sources."flatted-3.2.4"
-          sources."follow-redirects-1.14.5"
+          sources."flatted-3.2.5"
+          sources."follow-redirects-1.14.7"
           sources."form-data-3.0.1"
           sources."fs-constants-1.0.0"
           sources."fs.realpath-1.0.0"
@@ -8909,12 +8486,8 @@ let
           sources."glob-7.2.0"
           sources."glob-parent-6.0.2"
           sources."globals-13.12.0"
-          (sources."globby-11.0.4" // {
-            dependencies = [
-              sources."ignore-5.1.9"
-            ];
-          })
-          sources."graceful-fs-4.2.8"
+          sources."globby-11.1.0"
+          sources."graceful-fs-4.2.9"
           sources."has-1.0.3"
           sources."has-flag-4.0.0"
           sources."html-encoding-sniffer-2.0.1"
@@ -8924,13 +8497,13 @@ let
           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-fresh-3.3.0"
-          sources."import-local-3.0.3"
+          sources."import-local-3.1.0"
           sources."imurmurhash-0.1.4"
           sources."inflight-1.0.6"
           sources."inherits-2.0.4"
-          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-generator-fn-2.1.0"
@@ -8941,50 +8514,50 @@ let
           sources."is-typedarray-1.0.0"
           sources."isexe-2.0.0"
           sources."istanbul-lib-coverage-3.2.0"
-          (sources."istanbul-lib-instrument-4.0.3" // {
+          (sources."istanbul-lib-instrument-5.1.0" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
           sources."istanbul-lib-report-3.0.0"
           sources."istanbul-lib-source-maps-4.0.1"
-          sources."istanbul-reports-3.1.0"
-          (sources."jest-27.4.3" // {
+          sources."istanbul-reports-3.1.3"
+          (sources."jest-27.4.7" // {
             dependencies = [
-              sources."jest-cli-27.4.3"
+              sources."jest-cli-27.4.7"
             ];
           })
           sources."jest-changed-files-27.4.2"
-          sources."jest-circus-27.4.2"
-          sources."jest-config-27.4.3"
-          sources."jest-diff-27.4.2"
+          sources."jest-circus-27.4.6"
+          sources."jest-config-27.4.7"
+          sources."jest-diff-27.4.6"
           sources."jest-docblock-27.4.0"
-          sources."jest-each-27.4.2"
-          sources."jest-environment-jsdom-27.4.3"
-          sources."jest-environment-node-27.4.2"
+          sources."jest-each-27.4.6"
+          sources."jest-environment-jsdom-27.4.6"
+          sources."jest-environment-node-27.4.6"
           sources."jest-get-type-27.4.0"
-          sources."jest-haste-map-27.4.2"
-          sources."jest-jasmine2-27.4.2"
-          sources."jest-leak-detector-27.4.2"
-          sources."jest-matcher-utils-27.4.2"
-          sources."jest-message-util-27.4.2"
-          sources."jest-mock-27.4.2"
+          sources."jest-haste-map-27.4.6"
+          sources."jest-jasmine2-27.4.6"
+          sources."jest-leak-detector-27.4.6"
+          sources."jest-matcher-utils-27.4.6"
+          sources."jest-message-util-27.4.6"
+          sources."jest-mock-27.4.6"
           sources."jest-pnp-resolver-1.2.2"
           sources."jest-regex-util-27.4.0"
-          sources."jest-resolve-27.4.2"
-          sources."jest-resolve-dependencies-27.4.2"
-          sources."jest-runner-27.4.3"
-          sources."jest-runtime-27.4.2"
+          sources."jest-resolve-27.4.6"
+          sources."jest-resolve-dependencies-27.4.6"
+          sources."jest-runner-27.4.6"
+          sources."jest-runtime-27.4.6"
           sources."jest-serializer-27.4.0"
-          sources."jest-snapshot-27.4.2"
+          sources."jest-snapshot-27.4.6"
           sources."jest-util-27.4.2"
-          (sources."jest-validate-27.4.2" // {
+          (sources."jest-validate-27.4.6" // {
             dependencies = [
-              sources."camelcase-6.2.1"
+              sources."camelcase-6.3.0"
             ];
           })
-          sources."jest-watcher-27.4.2"
-          (sources."jest-worker-27.4.2" // {
+          sources."jest-watcher-27.4.6"
+          (sources."jest-worker-27.4.6" // {
             dependencies = [
               sources."supports-color-8.1.1"
             ];
@@ -9020,7 +8593,6 @@ let
           sources."ms-2.1.2"
           sources."natural-compare-1.4.0"
           sources."node-int64-0.4.0"
-          sources."node-modules-regexp-1.0.0"
           sources."node-releases-2.0.1"
           sources."normalize-path-3.0.0"
           sources."npm-run-path-4.0.1"
@@ -9039,16 +8611,15 @@ let
           sources."path-parse-1.0.7"
           sources."path-type-4.0.0"
           sources."picocolors-1.0.0"
-          sources."picomatch-2.3.0"
-          sources."pirates-4.0.1"
+          sources."picomatch-2.3.1"
+          sources."pirates-4.0.5"
           sources."pkg-dir-4.2.0"
           sources."prelude-ls-1.2.1"
-          (sources."pretty-format-27.4.2" // {
+          (sources."pretty-format-27.4.6" // {
             dependencies = [
               sources."ansi-styles-5.2.0"
             ];
           })
-          sources."progress-2.0.3"
           sources."prompts-2.4.2"
           sources."psl-1.8.0"
           sources."punycode-2.1.1"
@@ -9057,7 +8628,7 @@ let
           sources."readable-stream-3.6.0"
           sources."regexpp-3.2.0"
           sources."require-directory-2.1.1"
-          sources."resolve-1.20.0"
+          sources."resolve-1.22.0"
           (sources."resolve-cwd-3.0.0" // {
             dependencies = [
               sources."resolve-from-5.0.0"
@@ -9094,6 +8665,7 @@ let
           sources."strip-json-comments-3.1.1"
           sources."supports-color-7.2.0"
           sources."supports-hyperlinks-2.2.0"
+          sources."supports-preserve-symlinks-flag-1.0.0"
           sources."symbol-tree-3.2.4"
           sources."tar-stream-2.2.0"
           sources."terminal-link-2.1.1"
@@ -9115,7 +8687,7 @@ let
           sources."uri-js-4.4.1"
           sources."util-deprecate-1.0.2"
           sources."v8-compile-cache-2.3.0"
-          (sources."v8-to-istanbul-8.1.0" // {
+          (sources."v8-to-istanbul-8.1.1" // {
             dependencies = [
               sources."source-map-0.7.3"
             ];
@@ -9139,68 +8711,69 @@ let
           sources."yallist-4.0.0"
           sources."yargs-16.2.0"
           sources."yargs-parser-20.2.9"
-          (sources."zigbee-herdsman-0.13.176" // {
+          (sources."zigbee-herdsman-0.14.10" // {
             dependencies = [
-              sources."@babel/cli-7.16.0"
-              sources."@babel/code-frame-7.16.0"
-              sources."@babel/compat-data-7.16.4"
-              (sources."@babel/core-7.16.0" // {
+              sources."@babel/cli-7.16.8"
+              sources."@babel/code-frame-7.16.7"
+              sources."@babel/compat-data-7.16.8"
+              (sources."@babel/core-7.16.12" // {
                 dependencies = [
                   sources."semver-6.3.0"
                 ];
               })
-              sources."@babel/generator-7.16.0"
-              sources."@babel/helper-annotate-as-pure-7.16.0"
-              sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.0"
-              (sources."@babel/helper-compilation-targets-7.16.3" // {
+              sources."@babel/generator-7.16.8"
+              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" // {
                 dependencies = [
                   sources."semver-6.3.0"
                 ];
               })
-              sources."@babel/helper-create-class-features-plugin-7.16.0"
-              sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-              (sources."@babel/helper-define-polyfill-provider-0.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-define-polyfill-provider-0.3.1" // {
                 dependencies = [
                   sources."semver-6.3.0"
                 ];
               })
-              sources."@babel/helper-explode-assignable-expression-7.16.0"
-              sources."@babel/helper-function-name-7.16.0"
-              sources."@babel/helper-get-function-arity-7.16.0"
-              sources."@babel/helper-hoist-variables-7.16.0"
-              sources."@babel/helper-member-expression-to-functions-7.16.0"
-              sources."@babel/helper-module-imports-7.16.0"
-              sources."@babel/helper-module-transforms-7.16.0"
-              sources."@babel/helper-optimise-call-expression-7.16.0"
-              sources."@babel/helper-plugin-utils-7.14.5"
-              sources."@babel/helper-remap-async-to-generator-7.16.4"
-              sources."@babel/helper-replace-supers-7.16.0"
-              sources."@babel/helper-simple-access-7.16.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"
+              sources."@babel/helper-get-function-arity-7.16.7"
+              sources."@babel/helper-hoist-variables-7.16.7"
+              sources."@babel/helper-member-expression-to-functions-7.16.7"
+              sources."@babel/helper-module-imports-7.16.7"
+              sources."@babel/helper-module-transforms-7.16.7"
+              sources."@babel/helper-optimise-call-expression-7.16.7"
+              sources."@babel/helper-plugin-utils-7.16.7"
+              sources."@babel/helper-remap-async-to-generator-7.16.8"
+              sources."@babel/helper-replace-supers-7.16.7"
+              sources."@babel/helper-simple-access-7.16.7"
               sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-              sources."@babel/helper-split-export-declaration-7.16.0"
-              sources."@babel/helper-validator-identifier-7.15.7"
-              sources."@babel/helper-validator-option-7.14.5"
-              sources."@babel/helper-wrap-function-7.16.0"
-              sources."@babel/helpers-7.16.3"
-              sources."@babel/highlight-7.16.0"
-              sources."@babel/parser-7.16.4"
-              sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2"
-              sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0"
-              sources."@babel/plugin-proposal-async-generator-functions-7.16.4"
-              sources."@babel/plugin-proposal-class-properties-7.16.0"
-              sources."@babel/plugin-proposal-class-static-block-7.16.0"
-              sources."@babel/plugin-proposal-dynamic-import-7.16.0"
-              sources."@babel/plugin-proposal-export-namespace-from-7.16.0"
-              sources."@babel/plugin-proposal-json-strings-7.16.0"
-              sources."@babel/plugin-proposal-logical-assignment-operators-7.16.0"
-              sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.0"
-              sources."@babel/plugin-proposal-numeric-separator-7.16.0"
-              sources."@babel/plugin-proposal-object-rest-spread-7.16.0"
-              sources."@babel/plugin-proposal-optional-catch-binding-7.16.0"
-              sources."@babel/plugin-proposal-optional-chaining-7.16.0"
-              sources."@babel/plugin-proposal-private-methods-7.16.0"
-              sources."@babel/plugin-proposal-private-property-in-object-7.16.0"
-              sources."@babel/plugin-proposal-unicode-property-regex-7.16.0"
+              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/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/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"
+              sources."@babel/plugin-proposal-class-properties-7.16.7"
+              sources."@babel/plugin-proposal-class-static-block-7.16.7"
+              sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+              sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+              sources."@babel/plugin-proposal-json-strings-7.16.7"
+              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-optional-catch-binding-7.16.7"
+              sources."@babel/plugin-proposal-optional-chaining-7.16.7"
+              sources."@babel/plugin-proposal-private-methods-7.16.11"
+              sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
+              sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
               sources."@babel/plugin-syntax-async-generators-7.8.4"
               sources."@babel/plugin-syntax-bigint-7.8.3"
               sources."@babel/plugin-syntax-class-properties-7.12.13"
@@ -9217,53 +8790,53 @@ let
               sources."@babel/plugin-syntax-optional-chaining-7.8.3"
               sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
               sources."@babel/plugin-syntax-top-level-await-7.14.5"
-              sources."@babel/plugin-syntax-typescript-7.16.0"
-              sources."@babel/plugin-transform-arrow-functions-7.16.0"
-              sources."@babel/plugin-transform-async-to-generator-7.16.0"
-              sources."@babel/plugin-transform-block-scoped-functions-7.16.0"
-              sources."@babel/plugin-transform-block-scoping-7.16.0"
-              sources."@babel/plugin-transform-classes-7.16.0"
-              sources."@babel/plugin-transform-computed-properties-7.16.0"
-              sources."@babel/plugin-transform-destructuring-7.16.0"
-              sources."@babel/plugin-transform-dotall-regex-7.16.0"
-              sources."@babel/plugin-transform-duplicate-keys-7.16.0"
-              sources."@babel/plugin-transform-exponentiation-operator-7.16.0"
-              sources."@babel/plugin-transform-for-of-7.16.0"
-              sources."@babel/plugin-transform-function-name-7.16.0"
-              sources."@babel/plugin-transform-literals-7.16.0"
-              sources."@babel/plugin-transform-member-expression-literals-7.16.0"
-              sources."@babel/plugin-transform-modules-amd-7.16.0"
-              sources."@babel/plugin-transform-modules-commonjs-7.16.0"
-              sources."@babel/plugin-transform-modules-systemjs-7.16.0"
-              sources."@babel/plugin-transform-modules-umd-7.16.0"
-              sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.0"
-              sources."@babel/plugin-transform-new-target-7.16.0"
-              sources."@babel/plugin-transform-object-super-7.16.0"
-              sources."@babel/plugin-transform-parameters-7.16.3"
-              sources."@babel/plugin-transform-property-literals-7.16.0"
-              sources."@babel/plugin-transform-regenerator-7.16.0"
-              sources."@babel/plugin-transform-reserved-words-7.16.0"
-              sources."@babel/plugin-transform-shorthand-properties-7.16.0"
-              sources."@babel/plugin-transform-spread-7.16.0"
-              sources."@babel/plugin-transform-sticky-regex-7.16.0"
-              sources."@babel/plugin-transform-template-literals-7.16.0"
-              sources."@babel/plugin-transform-typeof-symbol-7.16.0"
-              sources."@babel/plugin-transform-typescript-7.16.1"
-              sources."@babel/plugin-transform-unicode-escapes-7.16.0"
-              sources."@babel/plugin-transform-unicode-regex-7.16.0"
-              (sources."@babel/preset-env-7.16.4" // {
+              sources."@babel/plugin-syntax-typescript-7.16.7"
+              sources."@babel/plugin-transform-arrow-functions-7.16.7"
+              sources."@babel/plugin-transform-async-to-generator-7.16.8"
+              sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+              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-dotall-regex-7.16.7"
+              sources."@babel/plugin-transform-duplicate-keys-7.16.7"
+              sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
+              sources."@babel/plugin-transform-for-of-7.16.7"
+              sources."@babel/plugin-transform-function-name-7.16.7"
+              sources."@babel/plugin-transform-literals-7.16.7"
+              sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+              sources."@babel/plugin-transform-modules-amd-7.16.7"
+              sources."@babel/plugin-transform-modules-commonjs-7.16.8"
+              sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+              sources."@babel/plugin-transform-modules-umd-7.16.7"
+              sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+              sources."@babel/plugin-transform-new-target-7.16.7"
+              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-regenerator-7.16.7"
+              sources."@babel/plugin-transform-reserved-words-7.16.7"
+              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"
+              sources."@babel/plugin-transform-template-literals-7.16.7"
+              sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+              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" // {
                 dependencies = [
                   sources."semver-6.3.0"
                 ];
               })
               sources."@babel/preset-modules-0.1.5"
-              sources."@babel/preset-typescript-7.16.0"
-              sources."@babel/runtime-7.16.3"
-              sources."@babel/template-7.16.0"
-              sources."@babel/traverse-7.16.3"
-              sources."@babel/types-7.16.0"
+              sources."@babel/preset-typescript-7.16.7"
+              sources."@babel/runtime-7.16.7"
+              sources."@babel/template-7.16.7"
+              sources."@babel/traverse-7.16.10"
+              sources."@babel/types-7.16.8"
               sources."@bcoe/v8-coverage-0.2.3"
-              (sources."@eslint/eslintrc-1.0.4" // {
+              (sources."@eslint/eslintrc-1.0.5" // {
                 dependencies = [
                   sources."argparse-2.0.1"
                   sources."globals-13.12.0"
@@ -9272,11 +8845,11 @@ let
                   sources."strip-json-comments-3.1.1"
                 ];
               })
-              sources."@humanwhocodes/config-array-0.6.0"
+              sources."@humanwhocodes/config-array-0.9.3"
               sources."@humanwhocodes/object-schema-1.2.1"
               sources."@istanbuljs/load-nyc-config-1.1.0"
               sources."@istanbuljs/schema-0.1.3"
-              (sources."@jest/console-27.3.1" // {
+              (sources."@jest/console-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9287,7 +8860,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."@jest/core-27.3.1" // {
+              (sources."@jest/core-27.4.7" // {
                 dependencies = [
                   sources."ansi-regex-5.0.1"
                   sources."ansi-styles-4.3.0"
@@ -9300,31 +8873,29 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."@jest/environment-27.3.1"
-              sources."@jest/fake-timers-27.3.1"
-              sources."@jest/globals-27.3.1"
-              (sources."@jest/reporters-27.3.1" // {
+              sources."@jest/environment-27.4.6"
+              sources."@jest/fake-timers-27.4.6"
+              sources."@jest/globals-27.4.6"
+              (sources."@jest/reporters-27.4.6" // {
                 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."istanbul-lib-instrument-4.0.3"
-                  sources."semver-6.3.0"
                   sources."slash-3.0.0"
                   sources."source-map-0.6.1"
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."@jest/source-map-27.0.6" // {
+              (sources."@jest/source-map-27.4.0" // {
                 dependencies = [
                   sources."source-map-0.6.1"
                 ];
               })
-              sources."@jest/test-result-27.3.1"
-              sources."@jest/test-sequencer-27.3.1"
-              (sources."@jest/transform-27.3.1" // {
+              sources."@jest/test-result-27.4.6"
+              sources."@jest/test-sequencer-27.4.6"
+              (sources."@jest/transform-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9336,7 +8907,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."@jest/types-27.2.5" // {
+              (sources."@jest/types-27.4.2" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9364,36 +8935,37 @@ let
               sources."@sinonjs/commons-1.8.3"
               sources."@sinonjs/fake-timers-8.1.0"
               sources."@tootallnate/once-1.1.2"
-              sources."@types/babel__core-7.1.16"
-              sources."@types/babel__generator-7.6.3"
+              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/debounce-1.2.1"
               sources."@types/debug-4.1.7"
               sources."@types/graceful-fs-4.1.5"
-              sources."@types/istanbul-lib-coverage-2.0.3"
+              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/jest-27.0.3"
+              sources."@types/jest-27.4.0"
               sources."@types/json-schema-7.0.9"
               sources."@types/ms-0.7.31"
               sources."@types/mz-2.7.4"
               sources."@types/nedb-1.8.12"
-              sources."@types/node-16.11.10"
-              sources."@types/prettier-2.4.2"
+              sources."@types/node-17.0.13"
+              sources."@types/prettier-2.4.3"
               sources."@types/serialport-8.0.2"
               sources."@types/stack-utils-2.0.1"
               sources."@types/yargs-16.0.4"
               sources."@types/yargs-parser-20.2.1"
-              sources."@typescript-eslint/eslint-plugin-5.4.0"
-              sources."@typescript-eslint/experimental-utils-5.4.0"
-              sources."@typescript-eslint/parser-5.4.0"
-              sources."@typescript-eslint/scope-manager-5.4.0"
-              sources."@typescript-eslint/types-5.4.0"
-              sources."@typescript-eslint/typescript-estree-5.4.0"
-              sources."@typescript-eslint/visitor-keys-5.4.0"
+              sources."@typescript-eslint/eslint-plugin-5.10.1"
+              sources."@typescript-eslint/parser-5.10.1"
+              sources."@typescript-eslint/scope-manager-5.10.1"
+              sources."@typescript-eslint/type-utils-5.10.1"
+              sources."@typescript-eslint/types-5.10.1"
+              sources."@typescript-eslint/typescript-estree-5.10.1"
+              sources."@typescript-eslint/utils-5.10.1"
+              sources."@typescript-eslint/visitor-keys-5.10.1"
               sources."abab-2.0.5"
-              sources."acorn-8.6.0"
+              sources."acorn-8.7.0"
               (sources."acorn-globals-6.0.0" // {
                 dependencies = [
                   sources."acorn-7.4.1"
@@ -9403,7 +8975,6 @@ let
               sources."acorn-walk-7.2.0"
               sources."agent-base-6.0.2"
               sources."ajv-6.12.6"
-              sources."ansi-colors-4.1.1"
               (sources."ansi-escapes-4.3.2" // {
                 dependencies = [
                   sources."type-fest-0.21.3"
@@ -9418,7 +8989,7 @@ let
               sources."argparse-1.0.10"
               sources."array-union-2.1.0"
               sources."asynckit-0.4.0"
-              (sources."babel-jest-27.3.1" // {
+              (sources."babel-jest-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9431,16 +9002,16 @@ let
               })
               sources."babel-plugin-dynamic-import-node-2.3.3"
               sources."babel-plugin-istanbul-6.1.1"
-              sources."babel-plugin-jest-hoist-27.2.0"
-              (sources."babel-plugin-polyfill-corejs2-0.3.0" // {
+              sources."babel-plugin-jest-hoist-27.4.0"
+              (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
                 dependencies = [
                   sources."semver-6.3.0"
                 ];
               })
-              sources."babel-plugin-polyfill-corejs3-0.4.0"
-              sources."babel-plugin-polyfill-regenerator-0.3.0"
+              sources."babel-plugin-polyfill-corejs3-0.5.1"
+              sources."babel-plugin-polyfill-regenerator-0.3.1"
               sources."babel-preset-current-node-syntax-1.0.1"
-              sources."babel-preset-jest-27.2.0"
+              sources."babel-preset-jest-27.4.0"
               sources."balanced-match-1.0.2"
               sources."base64-js-1.5.1"
               sources."binary-extensions-2.2.0"
@@ -9453,17 +9024,17 @@ let
               sources."brace-expansion-1.1.11"
               sources."braces-3.0.2"
               sources."browser-process-hrtime-1.0.0"
-              sources."browserslist-4.18.1"
+              sources."browserslist-4.19.1"
               sources."bser-2.1.1"
               sources."buffer-5.7.1"
               sources."buffer-from-1.1.2"
               sources."call-bind-1.0.2"
               sources."callsites-3.1.0"
               sources."camelcase-5.3.1"
-              sources."caniuse-lite-1.0.30001283"
+              sources."caniuse-lite-1.0.30001304"
               sources."chalk-2.4.2"
               sources."char-regex-1.0.2"
-              sources."chokidar-3.5.2"
+              sources."chokidar-3.5.3"
               sources."chownr-1.1.4"
               sources."ci-info-3.3.0"
               sources."cjs-module-lexer-1.2.2"
@@ -9485,7 +9056,7 @@ let
               sources."concat-map-0.0.1"
               sources."console-control-strings-1.1.0"
               sources."convert-source-map-1.8.0"
-              (sources."core-js-compat-3.19.1" // {
+              (sources."core-js-compat-3.20.3" // {
                 dependencies = [
                   sources."semver-7.0.0"
                 ];
@@ -9510,9 +9081,9 @@ let
               sources."define-properties-1.1.3"
               sources."delayed-stream-1.0.0"
               sources."delegates-1.0.0"
-              sources."detect-libc-1.0.3"
+              sources."detect-libc-2.0.0"
               sources."detect-newline-3.1.0"
-              sources."diff-sequences-27.0.6"
+              sources."diff-sequences-27.4.0"
               sources."dir-glob-3.0.1"
               sources."doctrine-3.0.0"
               (sources."domexception-2.0.1" // {
@@ -9520,11 +9091,10 @@ let
                   sources."webidl-conversions-5.0.0"
                 ];
               })
-              sources."electron-to-chromium-1.4.4"
+              sources."electron-to-chromium-1.4.57"
               sources."emittery-0.8.1"
               sources."emoji-regex-8.0.0"
               sources."end-of-stream-1.4.4"
-              sources."enquirer-2.3.6"
               sources."escalade-3.1.1"
               sources."escape-string-regexp-1.0.5"
               (sources."escodegen-2.0.0" // {
@@ -9537,7 +9107,7 @@ let
                   sources."type-check-0.3.2"
                 ];
               })
-              (sources."eslint-8.3.0" // {
+              (sources."eslint-8.8.0" // {
                 dependencies = [
                   sources."ansi-regex-5.0.1"
                   sources."ansi-styles-4.3.0"
@@ -9551,7 +9121,6 @@ let
                   sources."glob-parent-6.0.2"
                   sources."globals-13.12.0"
                   sources."has-flag-4.0.0"
-                  sources."ignore-4.0.6"
                   sources."js-yaml-4.1.0"
                   sources."strip-ansi-6.0.1"
                   sources."strip-json-comments-3.1.1"
@@ -9564,8 +9133,8 @@ let
                   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" // {
                 dependencies = [
@@ -9582,13 +9151,9 @@ let
               sources."execa-5.1.1"
               sources."exit-0.1.2"
               sources."expand-template-2.0.3"
-              (sources."expect-27.3.1" // {
-                dependencies = [
-                  sources."ansi-styles-5.2.0"
-                ];
-              })
+              sources."expect-27.4.6"
               sources."fast-deep-equal-3.1.3"
-              sources."fast-glob-3.2.7"
+              sources."fast-glob-3.2.11"
               sources."fast-json-stable-stringify-2.1.0"
               sources."fast-levenshtein-2.0.6"
               sources."fastq-1.13.0"
@@ -9598,7 +9163,7 @@ let
               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."form-data-3.0.1"
               sources."fs-constants-1.0.0"
               sources."fs-readdir-recursive-1.1.0"
@@ -9616,12 +9181,12 @@ let
               sources."glob-7.2.0"
               sources."glob-parent-5.1.2"
               sources."globals-11.12.0"
-              (sources."globby-11.0.4" // {
+              (sources."globby-11.1.0" // {
                 dependencies = [
                   sources."slash-3.0.0"
                 ];
               })
-              sources."graceful-fs-4.2.8"
+              sources."graceful-fs-4.2.9"
               (sources."handlebars-4.7.7" // {
                 dependencies = [
                   sources."source-map-0.6.1"
@@ -9638,19 +9203,19 @@ let
               sources."human-signals-2.1.0"
               sources."iconv-lite-0.4.24"
               sources."ieee754-1.2.1"
-              sources."ignore-5.1.9"
+              sources."ignore-5.2.0"
               (sources."import-fresh-3.3.0" // {
                 dependencies = [
                   sources."resolve-from-4.0.0"
                 ];
               })
-              sources."import-local-3.0.3"
+              sources."import-local-3.1.0"
               sources."imurmurhash-0.1.4"
               sources."inflight-1.0.6"
               sources."inherits-2.0.4"
               sources."ini-1.3.8"
               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-1.0.0"
               sources."is-generator-fn-2.1.0"
@@ -9680,20 +9245,20 @@ let
                   sources."source-map-0.6.1"
                 ];
               })
-              sources."istanbul-reports-3.0.5"
-              (sources."jest-27.3.1" // {
+              sources."istanbul-reports-3.1.3"
+              (sources."jest-27.4.7" // {
                 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."jest-cli-27.3.1"
+                  sources."jest-cli-27.4.7"
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."jest-changed-files-27.3.0"
-              (sources."jest-circus-27.3.1" // {
+              sources."jest-changed-files-27.4.2"
+              (sources."jest-circus-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9704,17 +9269,18 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-config-27.3.1" // {
+              (sources."jest-config-27.4.7" // {
                 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."slash-3.0.0"
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-diff-27.3.1" // {
+              (sources."jest-diff-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9724,8 +9290,8 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."jest-docblock-27.0.6"
-              (sources."jest-each-27.3.1" // {
+              sources."jest-docblock-27.4.0"
+              (sources."jest-each-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9735,11 +9301,11 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."jest-environment-jsdom-27.3.1"
-              sources."jest-environment-node-27.3.1"
-              sources."jest-get-type-27.3.1"
-              sources."jest-haste-map-27.3.1"
-              (sources."jest-jasmine2-27.3.1" // {
+              sources."jest-environment-jsdom-27.4.6"
+              sources."jest-environment-node-27.4.6"
+              sources."jest-get-type-27.4.0"
+              sources."jest-haste-map-27.4.6"
+              (sources."jest-jasmine2-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9749,8 +9315,8 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."jest-leak-detector-27.3.1"
-              (sources."jest-matcher-utils-27.3.1" // {
+              sources."jest-leak-detector-27.4.6"
+              (sources."jest-matcher-utils-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9760,7 +9326,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-message-util-27.3.1" // {
+              (sources."jest-message-util-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9771,10 +9337,10 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."jest-mock-27.3.0"
+              sources."jest-mock-27.4.6"
               sources."jest-pnp-resolver-1.2.2"
-              sources."jest-regex-util-27.0.6"
-              (sources."jest-resolve-27.3.1" // {
+              sources."jest-regex-util-27.4.0"
+              (sources."jest-resolve-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9785,8 +9351,8 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."jest-resolve-dependencies-27.3.1"
-              (sources."jest-runner-27.3.1" // {
+              sources."jest-resolve-dependencies-27.4.6"
+              (sources."jest-runner-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9796,7 +9362,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-runtime-27.3.1" // {
+              (sources."jest-runtime-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9807,8 +9373,8 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              sources."jest-serializer-27.0.6"
-              (sources."jest-snapshot-27.3.1" // {
+              sources."jest-serializer-27.4.0"
+              (sources."jest-snapshot-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9818,7 +9384,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-util-27.3.1" // {
+              (sources."jest-util-27.4.2" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9828,10 +9394,10 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-validate-27.3.1" // {
+              (sources."jest-validate-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
-                  sources."camelcase-6.2.1"
+                  sources."camelcase-6.3.0"
                   sources."chalk-4.1.2"
                   sources."color-convert-2.0.1"
                   sources."color-name-1.1.4"
@@ -9839,7 +9405,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-watcher-27.3.1" // {
+              (sources."jest-watcher-27.4.6" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -9849,7 +9415,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
-              (sources."jest-worker-27.3.1" // {
+              (sources."jest-worker-27.4.6" // {
                 dependencies = [
                   sources."has-flag-4.0.0"
                   sources."supports-color-8.1.1"
@@ -9878,7 +9444,7 @@ let
                 ];
               })
               sources."makeerror-1.0.12"
-              sources."marked-3.0.8"
+              sources."marked-4.0.12"
               sources."merge-stream-2.0.0"
               sources."merge2-1.4.1"
               sources."micromatch-4.0.4"
@@ -9898,7 +9464,6 @@ let
               sources."neo-async-2.6.2"
               sources."node-abi-3.5.0"
               sources."node-int64-0.4.0"
-              sources."node-modules-regexp-1.0.0"
               sources."node-releases-2.0.1"
               sources."normalize-path-3.0.0"
               sources."npm-run-path-4.0.1"
@@ -9922,20 +9487,19 @@ let
               sources."path-parse-1.0.7"
               sources."path-type-4.0.0"
               sources."picocolors-1.0.0"
-              sources."picomatch-2.3.0"
+              sources."picomatch-2.3.1"
               sources."pify-4.0.1"
-              sources."pirates-4.0.1"
+              sources."pirates-4.0.5"
               sources."pkg-dir-4.2.0"
-              sources."prebuild-install-7.0.0"
+              sources."prebuild-install-7.0.1"
               sources."prelude-ls-1.2.1"
-              (sources."pretty-format-27.3.1" // {
+              (sources."pretty-format-27.4.6" // {
                 dependencies = [
                   sources."ansi-regex-5.0.1"
                   sources."ansi-styles-5.2.0"
                 ];
               })
               sources."process-nextick-args-2.0.1"
-              sources."progress-2.0.3"
               sources."prompts-2.4.2"
               sources."psl-1.8.0"
               sources."pump-3.0.0"
@@ -9958,7 +9522,7 @@ let
                 ];
               })
               sources."require-directory-2.1.1"
-              sources."resolve-1.20.0"
+              sources."resolve-1.22.0"
               sources."resolve-cwd-3.0.0"
               sources."resolve-from-5.0.0"
               sources."resolve.exports-1.1.0"
@@ -9973,10 +9537,10 @@ let
               sources."set-blocking-2.0.0"
               sources."shebang-command-2.0.0"
               sources."shebang-regex-3.0.0"
-              sources."shiki-0.9.13"
+              sources."shiki-0.10.0"
               sources."signal-exit-3.0.6"
               sources."simple-concat-1.0.1"
-              sources."simple-get-4.0.0"
+              sources."simple-get-4.0.1"
               sources."sisteransi-1.0.5"
               sources."slash-2.0.0"
               sources."slip-1.0.2"
@@ -10011,6 +9575,7 @@ let
                   sources."supports-color-7.2.0"
                 ];
               })
+              sources."supports-preserve-symlinks-flag-1.0.0"
               sources."symbol-tree-3.2.4"
               sources."tar-fs-2.1.1"
               (sources."tar-stream-2.2.0" // {
@@ -10036,12 +9601,12 @@ let
               sources."type-detect-4.0.8"
               sources."type-fest-0.20.2"
               sources."typedarray-to-buffer-3.1.5"
-              sources."typedoc-0.22.10"
-              sources."typedoc-plugin-markdown-3.11.7"
+              sources."typedoc-0.22.11"
+              sources."typedoc-plugin-markdown-3.11.12"
               sources."typedoc-plugin-no-inherit-1.3.1"
               sources."typedoc-plugin-sourcefile-url-1.0.6"
-              sources."typescript-4.5.2"
-              sources."uglify-js-3.14.3"
+              sources."typescript-4.5.5"
+              sources."uglify-js-3.15.0"
               sources."unicode-canonical-property-names-ecmascript-2.0.0"
               sources."unicode-match-property-ecmascript-2.0.0"
               sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -10050,7 +9615,7 @@ let
               sources."uri-js-4.4.1"
               sources."util-deprecate-1.0.2"
               sources."v8-compile-cache-2.3.0"
-              (sources."v8-to-istanbul-8.1.0" // {
+              (sources."v8-to-istanbul-8.1.1" // {
                 dependencies = [
                   sources."source-map-0.7.3"
                 ];
@@ -10099,7 +9664,7 @@ let
           })
         ];
       })
-      sources."zigbee2mqtt-frontend-0.6.46"
+      sources."zigbee2mqtt-frontend-0.6.71"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/nixpkgs/pkgs/shells/bash/5.1.nix b/nixpkgs/pkgs/shells/bash/5.1.nix
index efa90b0499eb..3a11858747e6 100644
--- a/nixpkgs/pkgs/shells/bash/5.1.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix b/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix
index 2e8b49385fb4..089e5dfc702f 100644
--- a/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/dash/default.nix b/nixpkgs/pkgs/shells/dash/default.nix
index 2a0d73145607..a1f789dc3a33 100644
--- a/nixpkgs/pkgs/shells/dash/default.nix
+++ b/nixpkgs/pkgs/shells/dash/default.nix
@@ -5,6 +5,8 @@
 , fetchurl
 , fetchpatch
 , libedit
+, runCommand
+, dash
 }:
 
 stdenv.mkDerivation rec {
@@ -52,5 +54,13 @@ stdenv.mkDerivation rec {
 
   passthru = {
     shellPath = "/bin/dash";
+    tests = {
+      "execute-simple-command" = runCommand "${pname}-execute-simple-command" { } ''
+        mkdir $out
+        ${dash}/bin/dash -c 'echo "Hello World!" > $out/success'
+        [ -s $out/success ]
+        grep -q "Hello World" $out/success
+      '';
+    };
   };
 }
diff --git a/nixpkgs/pkgs/shells/elvish/default.nix b/nixpkgs/pkgs/shells/elvish/default.nix
index e94354d68045..ba03ffb4f455 100644
--- a/nixpkgs/pkgs/shells/elvish/default.nix
+++ b/nixpkgs/pkgs/shells/elvish/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, runCommand }:
 
 buildGoModule rec {
   pname = "elvish";
@@ -6,7 +6,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/elvish" ];
 
-  ldflags = [ "-s" "-w" "-X github.com/elves/elvish/pkg/buildinfo.Version==${version}" "-X github.com/elves/elvish/pkg/buildinfo.Reproducible=true" ];
+  ldflags = [ "-s" "-w" "-X src.elv.sh/pkg/buildinfo.Version==${version}" "-X src.elv.sh/pkg/buildinfo.Reproducible=true" ];
 
   src = fetchFromGitHub {
     owner = "elves";
@@ -19,6 +19,25 @@ buildGoModule rec {
 
   doCheck = false;
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out${passthru.shellPath} -c "
+      fn expect {|key expected|
+        var actual = \$buildinfo[\$key]
+        if (not-eq \$actual \$expected) {
+          fail '\$buildinfo['\$key']: expected '(to-string \$expected)', got '(to-string \$actual)
+        }
+      }
+
+      expect version ${version}
+      expect reproducible \$true
+    "
+
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
     description = "A friendly and expressive command shell";
     longDescription = ''
@@ -31,7 +50,5 @@ buildGoModule rec {
     maintainers = with maintainers; [ vrthra AndersonTorres ];
   };
 
-  passthru = {
-    shellPath = "/bin/elvish";
-  };
+  passthru.shellPath = "/bin/elvish";
 }
diff --git a/nixpkgs/pkgs/shells/fish/default.nix b/nixpkgs/pkgs/shells/fish/default.nix
index cf264f11de8c..622521781c1b 100644
--- a/nixpkgs/pkgs/shells/fish/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix b/nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix
index 9fbc09a831db..346761308583 100644
--- a/nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/fish/tests-pcre2-update.patch b/nixpkgs/pkgs/shells/fish/tests-pcre2-update.patch
new file mode 100644
index 000000000000..5e0c327c540a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/liquidprompt/default.nix b/nixpkgs/pkgs/shells/liquidprompt/default.nix
index c4a9fa141315..8575f6439b9c 100644
--- a/nixpkgs/pkgs/shells/liquidprompt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/nushell/default.nix b/nixpkgs/pkgs/shells/nushell/default.nix
index a6ca5242e498..51261ac1de8b 100644
--- a/nixpkgs/pkgs/shells/nushell/default.nix
+++ b/nixpkgs/pkgs/shells/nushell/default.nix
@@ -18,16 +18,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.42.0";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-2EBy61K/HCdCFZkVT5XrflQGuQrRWfdrevV3OPjpUcQ=";
+    sha256 = "sha256-LMG72XfDHA9dKiBbaB09v0rDdUKRy/Czu/lsYw6jUog=";
   };
 
-  cargoSha256 = "sha256-iU19rHb1td4NIF+P3wctIcZKL09H+51XwD3NaSBKK18=";
+  cargoSha256 = "sha256-wgaRTf+ZQ7alibCdeCjSQhhR9MC77qM1n0jakDgr114=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ];
diff --git a/nixpkgs/pkgs/shells/oil/default.nix b/nixpkgs/pkgs/shells/oil/default.nix
index 2a019d75e728..522acd293279 100644
--- a/nixpkgs/pkgs/shells/oil/default.nix
+++ b/nixpkgs/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "sha256-4cfRysJ202y1996TB/7jvlWO5K2vNJ70IjIkANXIpcQ=";
+    sha256 = "sha256-JtuCQM7uh4tmZrSwJj1Oh3hUzQKqKFxxWS11CDbvl+o=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/shells/tcsh/default.nix b/nixpkgs/pkgs/shells/tcsh/default.nix
index 9a5bf59f18ea..1befd2897577 100644
--- a/nixpkgs/pkgs/shells/tcsh/default.nix
+++ b/nixpkgs/pkgs/shells/tcsh/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tcsh";
-  version = "6.23.00";
+  version = "6.23.02";
 
   src = fetchurl {
     urls = [
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz"
       "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz"
     ];
-    hash = "sha256-Tr6y8zYz0RXZU19VTGUahSMEDY2R5d4zP7LuBFuOAB4=";
+    hash = "sha256-wD+AQFE2cxswkdpzWoHN2EgAhRAySrMl8jWv9wnkRus=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/shells/yash/default.nix b/nixpkgs/pkgs/shells/yash/default.nix
new file mode 100644
index 000000000000..44faf5c4e027
--- /dev/null
+++ b/nixpkgs/pkgs/shells/yash/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchurl, gettext, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "yash";
+  version = "2.52";
+
+  src = fetchurl {
+    url = "https://osdn.net/dl/yash/yash-${version}.tar.xz";
+    sha256 = "sha256:1jdmj4cyzwxxyyqf20y1zi578h7md860ryffp02qi143zpppn4sm";
+  };
+
+  buildInputs = [ gettext ncurses ];
+
+  meta = with lib; {
+    description = "Yet another POSIX-compliant shell";
+    homepage = "https://yash.osdn.jp/index.html.en";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ qbit ];
+    platforms = platforms.all;
+  };
+
+  passthru.shellPath = "/bin/yash";
+}
diff --git a/nixpkgs/pkgs/shells/zsh/default.nix b/nixpkgs/pkgs/shells/zsh/default.nix
index e0fd68f13b60..71f95472bb44 100644
--- a/nixpkgs/pkgs/shells/zsh/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/default.nix
@@ -1,12 +1,19 @@
-{ lib, stdenv, fetchurl, fetchpatch, ncurses, pcre, buildPackages }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, autoreconfHook
+, yodl
+, perl
+, groff
+, util-linux
+, texinfo
+, ncurses
+, pcre
+, buildPackages }:
 
 let
   version = "5.8";
-
-  documentation = fetchurl {
-    url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.xz";
-    sha256 = "1i6wdzq6rfjx5yjrpzan1jf50hk2pfzy5qib9mb7cnnbjfar6klv";
-  };
 in
 
 stdenv.mkDerivation {
@@ -30,6 +37,9 @@ stdenv.mkDerivation {
     })
   ];
 
+  nativeBuildInputs = [ autoreconfHook perl groff texinfo ]
+                      ++ lib.optionals stdenv.isLinux [ util-linux yodl ];
+
   buildInputs = [ ncurses pcre ];
 
   configureFlags = [
@@ -46,11 +56,9 @@ stdenv.mkDerivation {
   checkFlags = map (T: "TESTNUM=${T}") (lib.stringToCharacters "ABCDEVW");
 
   # XXX: think/discuss about this, also with respect to nixos vs nix-on-X
-  postInstall = ''
-    mkdir -p $out/share/info
-    tar xf ${documentation} -C $out/share
-    ln -s $out/share/zsh-*/Doc/zsh.info* $out/share/info/
-
+  postInstall = lib.optionalString stdenv.isLinux ''
+    make install.info install.html
+    '' + ''
     mkdir -p $out/etc/
     cat > $out/etc/zprofile <<EOF
 if test -e /etc/NIXOS; then
diff --git a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
index d15bd0245731..83ef9ea65e19 100644
--- a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2021-12-18";
+  version = "2022-01-18";
   pname = "oh-my-zsh";
-  rev = "904f8685f75ff5dd3f544f8c6f2cabb8e5952e9a";
+  rev = "22c11da108764336d92d03d3113c1f486cdb5911";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "Pos7LaNQllZrzBUx8a7QXi1sAVcIABQJOLUjIwGIP/U=";
+    sha256 = "Tnwy+3lCWjzDhjXtgLIiX3SxpJG6shxmmPFyeWkO2R0=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix
index d95ef343c17e..097fc23a12c6 100644
--- a/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix
+++ b/nixpkgs/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.0";
 
   src = fetchFromGitHub {
     owner = "sindresorhus";
     repo = "pure";
     rev = "v${version}";
-    sha256 = "1aa8aczfvclrnd0igiq48jyq4b8fdwvaaj84nzb6w6sjahzs5jcy";
+    sha256 = "sha256-d5qjJHNbZVOb7e9sv2YV6ht/0IHctWIJs/dJP6aGCa4=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
index 4df472e4afd2..b0384eccc369 100644
--- a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "3.15.0";
+  version = "3.16.2";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/9c4o9tdXtDefZ1fA62Y9Sg2cv54YVZGlZ1n6EfQWC4=";
+    sha256 = "sha256-/b+ko4d4lbjWC2rIjFBPePyzhvfHk4xyg2s86GfFNd4=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-autocomplete/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-autocomplete/default.nix
index a58a941189c9..14ea0ec8f63c 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-autocomplete/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index 4fc092330e37..6d8ea1a9de9d 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/zsh/zsh-git-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-git-prompt/default.nix
index 7fb2d7861937..6af5fe7cc66c 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-git-prompt/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-git-prompt/default.nix
@@ -25,7 +25,7 @@
 # installed.
 #
 { fetchFromGitHub
-, python
+, python2
 , git
 , lib
 , haskellPackages
@@ -45,7 +45,7 @@ haskellPackages.callPackage
      prePatch = ''
         substituteInPlace zshrc.sh                       \
           --replace ':-"python"' ':-"haskell"'           \
-          --replace 'python '    '${python.interpreter} ' \
+          --replace 'python '    '${python2.interpreter} ' \
           --replace 'git '       '${git}/bin/git '
      '';
      preCompileBuildDriver = "cd src";
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix
new file mode 100644
index 000000000000..09d2136ea26c
--- /dev/null
+++ b/nixpkgs/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix
@@ -0,0 +1,30 @@
+{ stdenvNoCC, lib, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "zsh-history-search-multi-word";
+  version = "unstable-2021-11-13";
+
+  src = fetchFromGitHub {
+    owner = "zdharma-continuum";
+    repo = "history-search-multi-word";
+    rev = "5b44d8cea12351d91fbdc3697916556f59f14b8c";
+    sha256 = "11r2mmy6bg3b6pf6qc0ml3idh333cj8yz754hrvd1sc4ipfkkqh7";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    plugindir="$out/share/zsh/${pname}"
+
+    mkdir -p "$plugindir"
+    cp -r -- history-* hsmw-* "$plugindir"/
+  '';
+
+  meta = with lib; {
+    description = "Multi-word, syntax highlighted history searching for Zsh";
+    homepage = "https://github.com/zdharma-continuum/history-search-multi-word";
+    license = with licenses; [ gpl3 mit ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-history/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-history/default.nix
index 333da40adbb0..be5c66505577 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-history/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-history/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  vendorSha256 = "13rc1afds5xg30faqz35haha4kxg73b5nvjirbrkc6kna0vhb54z";
+  vendorSha256 = "1863ad97y82fx0an1ysalkxnqjz3zfz228wag9a92wdssl1vwzws";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
index 419863044b5d..19d3e70c0a3a 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix
index 88451979cbb6..226b920b8f53 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-prezto";
-  version = "unstable-2021-06-02";
+  version = "unstable-2021-11-16";
 
   src = fetchFromGitHub {
     owner = "sorin-ionescu";
     repo = "prezto";
-    rev = "6833fcd2f2afbc7396ea7a5fa9eb3b49f4678242";
-    sha256 = "1a8gndj1f8sjnq7clc742lm4qyhp1a2zid6g6lmfr1axhcbn38v6";
+    rev = "ecaed1cfa7591d2304d7eb5d69b42b54961a7145";
+    sha256 = "+7KYBHmzXkdMgyj/x7o7Bf8f1DDFJ6nUMWe8vLUxbZo=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/stdenv/adapters.nix b/nixpkgs/pkgs/stdenv/adapters.nix
index 971be95e935d..9884c219ff60 100644
--- a/nixpkgs/pkgs/stdenv/adapters.nix
+++ b/nixpkgs/pkgs/stdenv/adapters.nix
@@ -270,4 +270,25 @@ rec {
         allowSubstitutes = false;
       });
     });
+
+
+  /* Modify a stdenv so that it builds binaries with the specified list of
+     compilerFlags appended and passed to the compiler.
+
+     This example would recompile every derivation on the system with
+     -funroll-loops and -O3 passed to each gcc invocation.
+
+     Example:
+       nixpkgs.overlays = [
+         (self: super: {
+           stdenv = super.withCFlags [ "-funroll-loops" "-O3" ] super.stdenv;
+         })
+       ];
+  */
+  withCFlags = compilerFlags: stdenv:
+    stdenv.override (old: {
+      mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
+        NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " ${toString compilerFlags}";
+      });
+    });
 }
diff --git a/nixpkgs/pkgs/stdenv/booter.nix b/nixpkgs/pkgs/stdenv/booter.nix
index 51d617354e86..f1d07e6461a9 100644
--- a/nixpkgs/pkgs/stdenv/booter.nix
+++ b/nixpkgs/pkgs/stdenv/booter.nix
@@ -124,7 +124,13 @@ stageFuns: let
       if buildPackages.stdenv.hasCC
       then
         if buildPackages.stdenv.cc.isClang or false
-        then buildPackages.clang
+        # buildPackages.clang checks targetPackages.stdenv.cc (i. e. this
+        # attribute) to get a sense of the its set's default compiler and
+        # chooses between libc++ and libstdc++ based on that. If we hit this
+        # code here, we'll cause an infinite recursion. Since a set with
+        # clang as its default compiler always means libc++, we can infer this
+        # decision statically.
+        then buildPackages.llvmPackages.libcxxClang
         else buildPackages.gcc
       else
         # This will blow up if anything uses it, but that's OK. The `if
diff --git a/nixpkgs/pkgs/stdenv/cross/default.nix b/nixpkgs/pkgs/stdenv/cross/default.nix
index 613b8d5304c0..e01ac74599ae 100644
--- a/nixpkgs/pkgs/stdenv/cross/default.nix
+++ b/nixpkgs/pkgs/stdenv/cross/default.nix
@@ -70,7 +70,7 @@ in lib.init bootStages ++ [
              # when there is a C compiler and everything should be fine.
              then throw "no C compiler provided for this platform"
            else if crossSystem.isDarwin
-             then buildPackages.llvmPackages.clang
+             then buildPackages.llvmPackages.libcxxClang
            else if crossSystem.useLLVM or false
              then buildPackages.llvmPackages.clangUseLLVM
            else buildPackages.gcc;
diff --git a/nixpkgs/pkgs/stdenv/darwin/default.nix b/nixpkgs/pkgs/stdenv/darwin/default.nix
index 24ad0cb6959f..a6f927c287da 100644
--- a/nixpkgs/pkgs/stdenv/darwin/default.nix
+++ b/nixpkgs/pkgs/stdenv/darwin/default.nix
@@ -399,6 +399,8 @@ rec {
       persistent = self: super: with prevStage; {
         cmake = super.cmakeMinimal;
 
+        curl = super.curlMinimal;
+
         inherit pbzx cpio;
 
         python3 = super.python3Minimal;
@@ -755,6 +757,9 @@ rec {
         darwin.binutils
         darwin.binutils.bintools
         curl.out
+        zstd.out
+        libidn2.out
+        libunistring.out
         openssl.out
         libssh2.out
         nghttp2.lib
diff --git a/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index 49f884cd8b3d..9bbdcbf81d5a 100644
--- a/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/stdenv/generic/check-meta.nix b/nixpkgs/pkgs/stdenv/generic/check-meta.nix
index ba3c8eef20e6..44caa6838e8d 100644
--- a/nixpkgs/pkgs/stdenv/generic/check-meta.nix
+++ b/nixpkgs/pkgs/stdenv/generic/check-meta.nix
@@ -119,13 +119,20 @@ let
         }
     '';
 
+    # flakeNote will be printed in the remediation messages below.
+    flakeNote = "
+ Note: For `nix shell`, `nix build`, `nix develop` or any other Nix 2.4+
+ (Flake) command, `--impure` must be passed in order to read this
+ environment variable.
+    ";
+
   remediate_allowlist = allow_attr: rebuild_amendment: attrs:
     ''
       a) To temporarily allow ${remediation_phrase allow_attr}, you can use an environment variable
          for a single invocation of the nix tools.
 
            $ export ${remediation_env_var allow_attr}=1
-
+           ${flakeNote}
       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allow${allow_attr} = true; }
       in configuration.nix to override this.
@@ -148,7 +155,7 @@ let
            variable for a single invocation of the nix tools:
 
              $ export NIXPKGS_ALLOW_INSECURE=1
-
+             ${flakeNote}
         b) for `nixos-rebuild` you can add ‘${getName attrs}’ to
            `nixpkgs.config.permittedInsecurePackages` in the configuration.nix,
            like so:
@@ -236,7 +243,6 @@ let
     name = str;
     version = str;
     tag = str;
-    updateWalker = bool;
     executables = listOf str;
     outputsToInstall = listOf str;
     position = str;
@@ -244,7 +250,6 @@ let
     repositories = attrsOf str;
     isBuildPythonPackage = platforms;
     schedulingPriority = int;
-    downloadURLRegexp = str;
     isFcitxEngine = bool;
     isIbusEngine = bool;
     isGutenprint = bool;
diff --git a/nixpkgs/pkgs/stdenv/generic/default.nix b/nixpkgs/pkgs/stdenv/generic/default.nix
index 49ebc67f854e..4fb98e5e8013 100644
--- a/nixpkgs/pkgs/stdenv/generic/default.nix
+++ b/nixpkgs/pkgs/stdenv/generic/default.nix
@@ -112,7 +112,7 @@ let
       # are absolute unless we go out of our way to make them relative (like with CF)
       # TODO: This really wants to be in stdenv/darwin but we don't have hostPlatform
       # there (yet?) so it goes here until then.
-      preHook = preHook+ lib.optionalString buildPlatform.isDarwin ''
+      preHook = preHook + lib.optionalString buildPlatform.isDarwin ''
         export NIX_DONT_SET_RPATH_FOR_BUILD=1
       '' + lib.optionalString (hostPlatform.isDarwin || (hostPlatform.parsed.kernel.execFormat != lib.systems.parse.execFormats.elf && hostPlatform.parsed.kernel.execFormat != lib.systems.parse.execFormats.macho)) ''
         export NIX_DONT_SET_RPATH=1
@@ -168,6 +168,11 @@ let
       inherit overrides;
 
       inherit cc hasCC;
+
+      # Convenience for doing some very basic shell syntax checking by parsing a script
+      # without running any commands. Because this will also skip `shopt -s extglob`
+      # commands and extglob affects the Bash parser, we enable extglob always.
+      shellDryRun = "${stdenv.shell} -n -O extglob";
     }
 
     # Propagate any extra attributes.  For instance, we use this to
diff --git a/nixpkgs/pkgs/stdenv/generic/setup.sh b/nixpkgs/pkgs/stdenv/generic/setup.sh
index 2951813c0f71..0777fa830c10 100644
--- a/nixpkgs/pkgs/stdenv/generic/setup.sh
+++ b/nixpkgs/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/nixpkgs/pkgs/stdenv/linux/bootstrap-files/aarch64.nix b/nixpkgs/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
index 592f8ee6bef5..aa81cbd84af3 100644
--- a/nixpkgs/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
+++ b/nixpkgs/pkgs/stdenv/linux/bootstrap-files/aarch64.nix
@@ -1,11 +1,11 @@
 {
   busybox = import <nix/fetchurl.nix> {
-    url = "http://tarballs.nixos.org/stdenv-linux/aarch64/bb3ef8a95c9659596b8a34d27881cd30ffea2f9f/busybox";
-    sha256 = "12qcml1l67skpjhfjwy7gr10nc86gqcwjmz9ggp7knss8gq8pv7f";
+    url = "http://tarballs.nixos.org/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/busybox";
+    sha256 = "sha256-4EN2vLvXUkelZZR2eKaAQA5kCEuHNvRZN6dcohxVY+c=";
     executable = true;
   };
   bootstrapTools = import <nix/fetchurl.nix> {
-    url = "http://tarballs.nixos.org/stdenv-linux/aarch64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz";
-    sha256 = "d3f1bf2a1495b97f45359d5623bdb1f8eb75db43d3bf2059fc127b210f059358";
+    url = "http://tarballs.nixos.org/stdenv-linux/aarch64/c7c997a0662bf88264db52cbc41e67884eb7a1ff/bootstrap-tools.tar.xz";
+    sha256 = "sha256-AjOvmaW8JFVZaBSRUMKufr9kJozg/tsZr7PvUEBQyi4=";
   };
 }
diff --git a/nixpkgs/pkgs/test/default.nix b/nixpkgs/pkgs/test/default.nix
index caed950c5764..4110327946d9 100644
--- a/nixpkgs/pkgs/test/default.nix
+++ b/nixpkgs/pkgs/test/default.nix
@@ -61,9 +61,12 @@ with pkgs;
     writeStringReferencesToFile = callPackage ../build-support/trivial-builders/test/writeStringReferencesToFile.nix {};
     references = callPackage ../build-support/trivial-builders/test/references.nix {};
     overriding = callPackage ../build-support/trivial-builders/test-overriding.nix {};
+    concat = callPackage ../build-support/trivial-builders/test/concat-test.nix {};
   };
 
   writers = callPackage ../build-support/writers/test.nix {};
 
   dhall = callPackage ./dhall { };
+
+  makeWrapper = callPackage ./make-wrapper {};
 }
diff --git a/nixpkgs/pkgs/test/make-wrapper/default.nix b/nixpkgs/pkgs/test/make-wrapper/default.nix
new file mode 100644
index 000000000000..6e70945ee194
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/test/vim/default.nix b/nixpkgs/pkgs/test/vim/default.nix
index cb3953a63f52..2beb75391ead 100644
--- a/nixpkgs/pkgs/test/vim/default.nix
+++ b/nixpkgs/pkgs/test/vim/default.nix
@@ -14,7 +14,7 @@ in
   ### vim tests
   ##################
   vim_with_vim2nix = vim_configurable.customize {
-    name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ];
+    name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim2nix" ];
   };
 
   # test cases:
diff --git a/nixpkgs/pkgs/tools/X11/autocutsel/default.nix b/nixpkgs/pkgs/tools/X11/autocutsel/default.nix
index 036ba8bc4e9a..61a80bcbcdd6 100644
--- a/nixpkgs/pkgs/tools/X11/autocutsel/default.nix
+++ b/nixpkgs/pkgs/tools/X11/autocutsel/default.nix
@@ -20,6 +20,5 @@ stdenv.mkDerivation rec {
     description = "Tracks changes in the server's cutbuffer and CLIPBOARD selection";
     license = lib.licenses.gpl2Plus;
     platforms = with lib.platforms; all;
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/bumblebee/default.nix b/nixpkgs/pkgs/tools/X11/bumblebee/default.nix
index 48d28562c207..534099ea5ac4 100644
--- a/nixpkgs/pkgs/tools/X11/bumblebee/default.nix
+++ b/nixpkgs/pkgs/tools/X11/bumblebee/default.nix
@@ -58,7 +58,7 @@ in stdenv.mkDerivation rec {
   version = "3.2.1";
 
   src = fetchurl {
-    url = "https://bumblebee-project.org/${pname}-${version}.tar.gz";
+    url = "https://www.bumblebee-project.org/${pname}-${version}.tar.gz";
     sha256 = "03p3gvx99lwlavznrpg9l7jnl1yfg2adcj8jcjj0gxp20wxp060h";
   };
 
diff --git a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
index cadfa2c99973..36d43ea75d4d 100644
--- a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
+++ b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
@@ -4,11 +4,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "caffeine-ng";
-  version = "3.4.2";
+  version = "3.5.1";
 
   src = python3Packages.fetchPypi{
     inherit pname version;
-    sha256="05k8smjlfjcccgmp8qi04l7106k46fs4p8fl5bdqqjwv6pwl7y4w";
+    sha256="0akzldqvxnqngpj1s6y2phgj7ch8wfm02j6z2drqvsbvaadw0jbm";
   };
 
   nativeBuildInputs = [ wrapGAppsHook glib ];
@@ -18,7 +18,7 @@ python3Packages.buildPythonApplication rec {
   ];
   pythonPath = with python3Packages; [
     dbus-python docopt ewmh pygobject3 pyxdg
-    setproctitle
+    setproctitle pulsectl
   ];
 
   doCheck = false; # There are no tests.
diff --git a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix b/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
index 06f87f0a7ae7..c7bf1c45b11e 100644
--- a/nixpkgs/pkgs/tools/X11/ckbcomp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/find-cursor/default.nix b/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
index 3f330c63b0f1..c99c86a714e2 100644
--- a/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/obconf/default.nix b/nixpkgs/pkgs/tools/X11/obconf/default.nix
index 5cbcec63c59d..8074e52c7cf1 100644
--- a/nixpkgs/pkgs/tools/X11/obconf/default.nix
+++ b/nixpkgs/pkgs/tools/X11/obconf/default.nix
@@ -1,21 +1,35 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, libglade, openbox,
-  imlib2, libstartup_notification, makeWrapper, libSM }:
+{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, gtk3, openbox,
+  imlib2, libxml2, libstartup_notification, makeWrapper, libSM }:
 
 stdenv.mkDerivation rec {
   pname = "obconf";
-  version = "2.0.4";
+  version = "unstable-2015-02-13";
 
-  src = fetchurl {
-    url = "http://openbox.org/dist/obconf/obconf-${version}.tar.gz";
-    sha256 = "1fanjdmd8727kk74x5404vi8v7s4kpq48l583d12fsi4xvsfb8vi";
+  src = fetchgit {
+    url = "git://git.openbox.org/dana/obconf";
+    rev = "63ec47c5e295ad4f09d1df6d92afb7e10c3fec39";
+    sha256 = "sha256-qwm66VA/ueRMFtSUcrmuObNkz+KYgWRnmR7TnQwpxiE=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
   buildInputs = [
-    gtk2 libglade libSM openbox imlib2 libstartup_notification
+    gtk3
+    imlib2
+    libSM
+    libstartup_notification
+    libxml2
     makeWrapper
+    openbox
   ];
 
+  postPatch = ''
+    substituteInPlace configure.ac --replace 2.0.4 ${version}
+  '';
+
   postInstall = ''
     wrapProgram $out/bin/obconf --prefix XDG_DATA_DIRS : ${openbox}/share/
   '';
@@ -23,8 +37,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "GUI configuration tool for openbox";
     homepage = "http://openbox.org/wiki/ObConf";
-    license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.lhvwb ];
+    license = lib.licenses.gpl2Plus;
+    maintainers = [ lib.maintainers.sfrijters ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
index ff2472294eed..7cfec7aaffcc 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
@@ -19,24 +19,24 @@
 
 buildDotnetModule rec {
   pname = "OpenTabletDriver";
-  version = "0.5.3.3";
+  version = "0.6.0.2";
 
   src = fetchFromGitHub {
-    owner = "InfinityGhost";
+    owner = "OpenTabletDriver";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "k4SoOMKAwHeYSQ80M8Af1DiiDSZIi3gS7lGr2ZrXrEI=";
+    sha256 = "sha256-qPlya5f12Cc1yAK8dliWelA7drAoeeIkFXOD+aDeToo=";
   };
 
   debPkg = fetchurl {
-    url = "https://github.com/InfinityGhost/OpenTabletDriver/releases/download/v${version}/OpenTabletDriver.deb";
-    sha256 = "0v03qiiz28k1yzgxf5qc1mdg2n7kjx6h8vpx9dxz342wwbgqg6ic";
+    url = "https://github.com/OpenTabletDriver/OpenTabletDriver/releases/download/v${version}/OpenTabletDriver.deb";
+    sha256 = "sha256-LJqH3+JckPF7S/1uBE2X81jxWg0MF9ff92Ei8WPEA2w=";
   };
 
-  dotnet-sdk = dotnetCorePackages.sdk_5_0;
-  dotnet-runtime = dotnetCorePackages.runtime_5_0;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+  dotnet-runtime = dotnetCorePackages.runtime_6_0;
 
-  dotnetInstallFlags = [ "--framework=net5" ];
+  dotnetInstallFlags = [ "--framework=net6.0" ];
 
   projectFile = [ "OpenTabletDriver.Console" "OpenTabletDriver.Daemon" "OpenTabletDriver.UX.Gtk" ];
   nugetDeps = ./deps.nix;
@@ -62,19 +62,30 @@ buildDotnetModule rec {
   doCheck = true;
   testProjectFile = "OpenTabletDriver.Tests/OpenTabletDriver.Tests.csproj";
 
-  # Require networking
   disabledTests = [
+    # Require networking
     "OpenTabletDriver.Tests.PluginRepositoryTest.ExpandRepositoryTarballFork"
     "OpenTabletDriver.Tests.PluginRepositoryTest.ExpandRepositoryTarball"
+    # Require networking & unused in Linux build
+    "OpenTabletDriver.Tests.UpdaterTests.UpdaterBase_ProperlyChecks_Version_Async"
+    "OpenTabletDriver.Tests.UpdaterTests.Updater_PreventsUpdate_WhenAlreadyUpToDate_Async"
+    "OpenTabletDriver.Tests.UpdaterTests.Updater_AllowsReupdate_WhenInstallFailed_Async"
+    "OpenTabletDriver.Tests.UpdaterTests.Updater_HasUpdateReturnsFalse_During_UpdateInstall_Async"
+    "OpenTabletDriver.Tests.UpdaterTests.Updater_HasUpdateReturnsFalse_After_UpdateInstall_Async"
+    "OpenTabletDriver.Tests.UpdaterTests.Updater_Prevents_ConcurrentAndConsecutive_Updates_Async"
+    "OpenTabletDriver.Tests.UpdaterTests.Updater_ProperlyBackups_BinAndAppDataDirectory_Async"
+    # Intended only to be run in continuous integration, unnecessary for functionality
+    "OpenTabletDriver.Tests.ConfigurationTest.Configurations_DeviceIdentifier_IsNotConflicting"
+    # Depends on processor load
+    "OpenTabletDriver.Tests.TimerTests.TimerAccuracy"
   ];
 
-  postInstall = ''
+  postFixup = ''
     # Give a more "*nix" name to the binaries
     mv $out/bin/OpenTabletDriver.Console $out/bin/otd
     mv $out/bin/OpenTabletDriver.Daemon $out/bin/otd-daemon
     mv $out/bin/OpenTabletDriver.UX.Gtk $out/bin/otd-gui
 
-    cp -r ./OpenTabletDriver/Configurations $out/lib/${pname}
     install -Dm644 $src/OpenTabletDriver.UX/Assets/otd.png -t $out/share/pixmaps
 
     # TODO: Ideally this should be build from OpenTabletDriver/OpenTabletDriver-udev instead
@@ -103,9 +114,10 @@ buildDotnetModule rec {
 
   meta = with lib; {
     description = "Open source, cross-platform, user-mode tablet driver";
-    homepage = "https://github.com/InfinityGhost/OpenTabletDriver";
+    homepage = "https://github.com/OpenTabletDriver/OpenTabletDriver";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ thiagokokada ];
     platforms = platforms.linux;
+    mainProgram = "otd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
index f1fc303d8cfc..1cfb58299a29 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -1,7 +1,8 @@
 { fetchNuGet }: [
   (fetchNuGet { pname = "AtkSharp"; version = "3.24.24.34"; sha256 = "1jn1vgi9xm0jp7769k6sbdi8d273kigjrsh93i6s4c03hqxv7cqs"; })
   (fetchNuGet { pname = "CairoSharp"; version = "3.24.24.34"; sha256 = "0pydn1k0cam1gclg9sc1sbnmbyzh28qlc5qanyxcylwghink3kgz"; })
-  (fetchNuGet { pname = "coverlet.collector"; version = "3.0.3"; sha256 = "1igcqqr2kh6w9qx0h89y6c2zg4g2h7g8kc2lv5pz3xk6nd8iv7pw"; })
+  (fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; })
+  (fetchNuGet { pname = "coverlet.collector"; version = "3.0.2"; sha256 = "1xf6z6izmsl4g8w3z1wbp4pa8f8qsf6sil4mf1c9fb22hq8c5hkg"; })
   (fetchNuGet { pname = "Eto.Forms"; version = "2.5.10"; sha256 = "1d71wglk4ixfqfbm6sxmj753x5iwbar8i9zzjy3bh64fy1dn8lz7"; })
   (fetchNuGet { pname = "Eto.Forms"; version = "2.5.11"; sha256 = "0h86jc19wy3ssj7pb34w1h02v92mg29gdipszwjs3y15piy66z3s"; })
   (fetchNuGet { pname = "Eto.Platform.Gtk"; version = "2.5.11"; sha256 = "1s9njz7l9zghrbzli7lbiav5ss3glqf17npj07f3jldd933nb95j"; })
@@ -12,29 +13,33 @@
   (fetchNuGet { pname = "HidSharpCore"; version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; })
   (fetchNuGet { pname = "MessagePack"; version = "2.1.194"; sha256 = "1v2gyd9sd6hppfhlzngmzzhnpr39b95rwrqq0r9zzp480b6vzaj0"; })
   (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.1.194"; sha256 = "1jkhq3hiy4brvzsywl4p4jb9jrnzs3vmgr3s8fxpb1dzafadw8b0"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "5.0.0"; sha256 = "0d7sjr89zwq0wxirf8la05hfalv9nhvlczg1c7a508k8aw79jvfg"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; })
-  (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.9.1"; sha256 = "18isx8w4kwnlk6hq5ay8i4lgzwhx0zg9brayfdk2lakagvv6yyaf"; })
+  (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.9.4"; sha256 = "11wiyy3ykgk1sa9amy3lgcsg2v7d1sz59ggw647vx8ibpjxijjpp"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.1"; sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
-  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.1"; sha256 = "1761mvkp5mwhw150fvazdhh4ybvxpvx05g9znf8n1fqx832wxrw5"; })
-  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.1"; sha256 = "1igpx7ldxqx9fkrbhakd2bybc0dgpvj86zr30vpfj31ncm6lp4id"; })
-  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.1"; sha256 = "1frx5r7l0jd3j6my4s2qas13fkljgfn87a84xk8l7sisafpfsvzp"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.4"; sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.4"; sha256 = "14110qzmypr72ywvx3npq7mf4n0gvdr4536v91z1xbapms65am6x"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "16.7.56"; sha256 = "04v9df0k7bsc0rzgkw4mnvi43pdrh42vk6xdcwn9m6im33m0nnz2"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "15.5.31"; sha256 = "1ah99rn922qa0sd2k3h64m324f2r32pw8cn4cfihgvwx4qdrpmgw"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.6.0"; sha256 = "0i4y782yrqqyx85pg597m20gm0v126w0j9ddk5z7xb3crx4z9f2s"; })
-  (fetchNuGet { pname = "MSTest.TestAdapter"; version = "2.1.2"; sha256 = "1390nyc0sf5c4j75cq58bzqjcw77sp2lmpllmm5sp8ysi0fjyfs5"; })
-  (fetchNuGet { pname = "MSTest.TestFramework"; version = "2.1.2"; sha256 = "1617q2accpa8fwy9n1snmjxyx2fz3phks62mdi45cl65kdin0x4z"; })
+  (fetchNuGet { pname = "Moq"; version = "4.16.1"; sha256 = "1m2gwbx0gsy84rl9c3hgdaw9gz8d08ffg19nwg0idsdqmmiq887l"; })
   (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.6.77"; sha256 = "13dnfwxa8syx7vfjmd5pcrqz31k0q8y3mmh6yz6bmljhjri65q5c"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
   (fetchNuGet { pname = "Octokit"; version = "0.50.0"; sha256 = "1ignj5i6a1c19qqrw00wlr9fdjmwrxkxz7gdxj0x653w84gbv7qq"; })
@@ -74,18 +79,23 @@
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
   (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
+  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
   (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta1.20253.1"; sha256 = "16saf1fm9q80bb624fkqz0ksrwpnbw9617d7xg3jib7a2wgagm2r"; })
+  (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
   (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.7.0"; sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z"; })
+  (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
+  (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
   (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
   (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
   (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.TextWriterTraceListener"; version = "4.3.0"; sha256 = "09db74f36wkwg30f7v7zhz1yhkyrnl5v6bdwljq1jdfgzcfch7c3"; })
   (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
   (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
   (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; })
   (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
   (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
   (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
@@ -135,6 +145,7 @@
   (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
+  (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"; })
@@ -172,5 +183,14 @@
   (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
   (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
   (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
   (fetchNuGet { pname = "WaylandNET"; version = "0.2.0"; sha256 = "1qjpvra08vdqdw4j1gamz6451x5sd5r1j86lsvrl8akq4nymfr8k"; })
+  (fetchNuGet { pname = "xunit"; version = "2.4.1"; sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; })
+  (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; })
+  (fetchNuGet { pname = "xunit.analyzers"; version = "0.10.0"; sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; })
+  (fetchNuGet { pname = "xunit.assert"; version = "2.4.1"; sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; })
+  (fetchNuGet { pname = "xunit.core"; version = "2.4.1"; sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; })
+  (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.1"; sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; })
+  (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.1"; sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; })
+  (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.4.3"; sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3"; })
 ]
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
index 20820eb69d2e..1524a9950166 100755
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnused jq common-updater-scripts nuget-to-nix dotnet-sdk_5
+#!nix-shell -i bash -p curl gnused jq common-updater-scripts nuget-to-nix dotnet-sdk_6 dotnet-sdk_5
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/nixpkgs/pkgs/tools/X11/ratmen/default.nix b/nixpkgs/pkgs/tools/X11/ratmen/default.nix
index 9c662a638e8a..8a07b41ac371 100644
--- a/nixpkgs/pkgs/tools/X11/ratmen/default.nix
+++ b/nixpkgs/pkgs/tools/X11/ratmen/default.nix
@@ -1,35 +1,26 @@
-{lib, stdenv, fetchurl, perl, xorgproto, libX11}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="ratmen";
-    version="2.2.3";
-    name="${baseName}-${version}";
-    hash="0gnfqhnch9x8jhr87gvdjcp1wsqhchfjilpnqcwx5j0nlqyz6wi6";
-    url="http://www.update.uu.se/~zrajm/programs/ratmen/ratmen-2.2.3.tar.gz";
-    sha256="0gnfqhnch9x8jhr87gvdjcp1wsqhchfjilpnqcwx5j0nlqyz6wi6";
+{ lib, stdenv, fetchurl, perl, xorgproto, libX11 }:
+
+stdenv.mkDerivation rec {
+  pname = "ratmen";
+  version = "2.2.3";
+  src = fetchurl {
+    url = "http://www.update.uu.se/~zrajm/programs/ratmen/ratmen-${version}.tar.gz";
+    sha256 = "0gnfqhnch9x8jhr87gvdjcp1wsqhchfjilpnqcwx5j0nlqyz6wi6";
   };
   buildInputs = [
-    perl xorgproto libX11
+    perl
+    xorgproto
+    libX11
   ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
   makeFlags = [
     "PREFIX=$(out)"
   ];
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "A minimalistic X11 menu creator";
-    license = lib.licenses.free ; # 9menu derivative with 9menu license
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.free; # 9menu derivative with 9menu license
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
     homepage = "http://www.update.uu.se/~zrajm/programs/";
     downloadPage = "http://www.update.uu.se/~zrajm/programs/ratmen/";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
index 66464ae0b532..48b3bbffd324 100644
--- a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
+++ b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "wpgtk";
-  version = "6.1.3";
+  version = "6.5.0";
 
   src = fetchFromGitHub {
     owner = "deviantfero";
     repo = "wpgtk";
     rev = version;
-    sha256 = "1jv28ygsd6ifjb096w3pm50za6wi62y45ycbizwhv7x56lr6zx1v";
+    sha256 = "0gv607jrdfbmadjyy3pbrj5ksh1dmaw5hz7l8my2z7sh0ifds0n2";
   };
 
   buildInputs = [
@@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec {
      INFO: To work properly, this tool needs "programs.dconf.enable = true" on nixos or dconf installed. A reboot may be required after installing dconf.
      '';
     homepage = "https://github.com/deviantfero/wpgtk";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = [ maintainers.melkor333 ];
   };
diff --git a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
index a5eb5e0ee0ad..3970a4f48702 100644
--- a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -9,8 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ libxslt docbook_xsl ];
+  nativeBuildInputs = [ makeWrapper libxslt docbook_xsl ];
 
   preFixup = ''
     # fallback values need to be last
diff --git a/nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix b/nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix
index 16565296e1e6..590d71b8f4a3 100644
--- a/nixpkgs/pkgs/tools/X11/xlayoutdisplay/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/xpra/default.nix b/nixpkgs/pkgs/tools/X11/xpra/default.nix
index c3cea1ed0612..656b9ee60067 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xpra/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchurl
-, fetchpatch
 , substituteAll, python3, pkg-config, runCommand, writeText
 , xorg, gtk3, glib, pango, cairo, gdk-pixbuf, atk, pandoc
 , wrapGAppsHook, xorgserver, getopt, xauth, util-linux, which
@@ -44,11 +43,11 @@ let
   '';
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "4.2";
+  version = "4.3.2";
 
   src = fetchurl {
-    url = "https://xpra.org/src/${pname}-${version}.tar.gz";
-    hash = "sha256-KkQw4FJeH4G5jZ4GdP3aXZ3zxu4GALbiOI6POKJW6fk=";
+    url = "https://xpra.org/src/${pname}-${version}.tar.xz";
+    hash = "sha256-CIHVpxZ2qC7Ct5Kmc6dxEzxH9s+63/sI07f9SbCh4a4=";
   };
 
   patches = [
@@ -57,21 +56,14 @@ in buildPythonApplication rec {
       inherit libfakeXinerama;
     })
     ./fix-41106.patch  # https://github.com/NixOS/nixpkgs/issues/41106
-    # Xorg won't start without. Remove on next version!
-    (fetchpatch {
-      url = "https://github.com/Xpra-org/xpra/commit/f9f242abad69363dfa558e1f6f7956ae99164b67.patch";
-      sha256 = "sha256-TOP9RuXPuqxyKY/7LSSrCWnAmJstEE+D5EwjMiVmchM=";
-    })
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py --replace '/usr/include/security' '${pam}/include/security'
-  '';
+  INCLUDE_DIRS = "${pam}/include";
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook pandoc ]
     ++ lib.optional withNvenc cudatoolkit;
   buildInputs = with xorg; [
-    libX11 xorgproto libXrender libXi
+    libX11 xorgproto libXrender libXi libXres
     libXtst libXfixes libXcomposite libXdamage
     libXrandr libxkbfile
     ] ++ [
@@ -143,7 +135,6 @@ in buildPythonApplication rec {
   meta = {
     homepage = "https://xpra.org/";
     downloadPage = "https://xpra.org/src/";
-    downloadURLRegexp = "xpra-.*[.]tar[.][gx]z$";
     description = "Persistent remote applications for X";
     platforms = platforms.linux;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/tools/X11/xpra/fix-41106.patch b/nixpkgs/pkgs/tools/X11/xpra/fix-41106.patch
index d0834543aa9f..81870fc1a2a1 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/fix-41106.patch
+++ b/nixpkgs/pkgs/tools/X11/xpra/fix-41106.patch
@@ -1,15 +1,15 @@
 diff --git a/xpra/server/server_util.py b/xpra/server/server_util.py
-index dd7c7c1..066b9ff 100644
+index f46998ee9f..60068f21b6 100644
 --- a/xpra/server/server_util.py
 +++ b/xpra/server/server_util.py
-@@ -37,6 +37,10 @@ def sh_quotemeta(s):
-     return b"'" + s.replace(b"'", b"'\\''") + b"'"
+@@ -157,6 +157,10 @@ def xpra_env_shell_script(socket_dir, env):
+     return b"\n".join(script)
  
- def xpra_runner_shell_script(xpra_file, starting_dir, socket_dir):
+ def xpra_runner_shell_script(xpra_file, starting_dir):
 +    # Nixpkgs contortion:
 +    # xpra_file points to a shell wrapper, not to the python script.
 +    dirname, basename = os.path.split(xpra_file)
 +    xpra_file = os.path.join(dirname, "."+basename+"-wrapped")
      script = []
-     script.append(b"#!/bin/sh\n")
-     for var, value in os.environb.items():
+     # We ignore failures in cd'ing, b/c it's entirely possible that we were
+     # started from some temporary directory and all paths are absolute.
diff --git a/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch b/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
index b5a58bb03f84..aee47a6ad53b 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
+++ b/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
@@ -1,23 +1,28 @@
 diff --git a/setup.py b/setup.py
-index f962330..b02b6dd 100755
+index fc67abb50a..c29db3a6d2 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -2224,11 +2224,7 @@ if v4l2_ENABLED:
-     videodev2_h = "/usr/include/linux/videodev2.h"
+@@ -2348,17 +2348,7 @@ if v4l2_ENABLED:
+             break
      constants_pxi = "xpra/codecs/v4l2/constants.pxi"
      if not os.path.exists(videodev2_h) or should_rebuild(videodev2_h, constants_pxi):
 -        ENABLE_DEVICE_CAPS = 0
 -        if os.path.exists(videodev2_h):
--            with open(videodev2_h) as f:
--                hdata = f.read()
--            ENABLE_DEVICE_CAPS = int(hdata.find("device_caps")>=0)
+-            try:
+-                with subprocess.Popen("cpp -fpreprocessed %s | grep -q device_caps" % videodev2_h,
+-                                     shell=True) as proc:
+-                    ENABLE_DEVICE_CAPS = proc.wait()==0
+-            except OSError:
+-                with open(videodev2_h) as f:
+-                    hdata = f.read()
+-                ENABLE_DEVICE_CAPS = int(hdata.find("device_caps")>=0)
+-                print("failed to detect device caps, assuming off")
 +        ENABLE_DEVICE_CAPS = 1
          with open(constants_pxi, "wb") as f:
              f.write(b"DEF ENABLE_DEVICE_CAPS=%i" % ENABLE_DEVICE_CAPS)
-     cython_add(Extension("xpra.codecs.v4l2.pusher",
-     
+     add_cython_ext("xpra.codecs.v4l2.pusher",
 diff --git a/xpra/x11/fakeXinerama.py b/xpra/x11/fakeXinerama.py
-index c867258..617af7c 100755
+index d5c1c8bb10..88c77e8142 100755
 --- a/xpra/x11/fakeXinerama.py
 +++ b/xpra/x11/fakeXinerama.py
 @@ -22,31 +22,7 @@ fakeXinerama_config_files = [
@@ -48,8 +53,8 @@ index c867258..617af7c 100755
 -            log("find_libfakeXinerama()", exc_info=True)
 -            log.error("Error: cannot launch ldconfig -p to locate libfakeXinerama:")
 -            log.error(" %s", e)
--    return find_lib(libname)
-+    return "@libfakeXinerama@/lib/libfakeXinerama.so.1.0"
+-    return find_lib("libfakeXinerama.so.1")
++    return "@libfakeXinerama@/lib/libfakeXinerama.so.1"
  
  current_xinerama_config = None
  
diff --git a/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix b/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix
index 5c43dc6dff4a..9539a717e611 100644
--- a/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xsecurelock/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
 , libX11, libXcomposite, libXft, libXmu, libXrandr, libXext, libXScrnSaver
-, pam, apacheHttpd, pamtester, xscreensaver }:
+, pam, apacheHttpd, pamtester, xscreensaver, coreutils, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "xsecurelock";
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    autoreconfHook pkg-config
+    autoreconfHook pkg-config makeWrapper
   ];
+
   buildInputs = [
     libX11 libXcomposite libXft libXmu libXrandr libXext libXScrnSaver
     pam apacheHttpd pamtester
@@ -32,6 +33,10 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
+  postInstall = ''
+    wrapProgram $out/libexec/xsecurelock/saver_blank --prefix PATH : ${coreutils}/bin
+  '';
+
   meta = with lib; {
     description = "X11 screen lock utility with security in mind";
     homepage = "https://github.com/google/xsecurelock";
diff --git a/nixpkgs/pkgs/tools/X11/xtruss/default.nix b/nixpkgs/pkgs/tools/X11/xtruss/default.nix
index 1af1ec925e53..9e2ee94efa4a 100644
--- a/nixpkgs/pkgs/tools/X11/xtruss/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/acme-sh/default.nix b/nixpkgs/pkgs/tools/admin/acme-sh/default.nix
index f9fda024cf16..5c78b0ee212b 100644
--- a/nixpkgs/pkgs/tools/admin/acme-sh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/afterburn/default.nix b/nixpkgs/pkgs/tools/admin/afterburn/default.nix
index 0126d68ed2d0..ea97aa5e5254 100644
--- a/nixpkgs/pkgs/tools/admin/afterburn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/aliyun-cli/default.nix b/nixpkgs/pkgs/tools/admin/aliyun-cli/default.nix
index a42ba2e73bb3..bf4fdb973851 100644
--- a/nixpkgs/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.102";
+  version = "3.0.109";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-DUNWfwLA7if9NVUaUlwfW0i2CVcZyg2gIKmi1Nu485k=";
+    sha256 = "sha256-YlJGYt/depabhMPQtS1dwmFSxoThUEXOWi7KSWx7cRo=";
   };
 
   vendorSha256 = "sha256-c7LsCNcxdHwDBEknXJt9AyrmFcem8YtUYy06vNDBdDY=";
diff --git a/nixpkgs/pkgs/tools/admin/amazon-ec2-utils/default.nix b/nixpkgs/pkgs/tools/admin/amazon-ec2-utils/default.nix
index 2dc91f037a98..f6e92bd5287e 100644
--- a/nixpkgs/pkgs/tools/admin/amazon-ec2-utils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix b/nixpkgs/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
index e661af0f949f..b70ddb76fc1f 100644
--- a/nixpkgs/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
+++ b/nixpkgs/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "amazon-ecr-credential-helper";
-  version = "0.5.0";
+  version = "0.6.0";
 
   goPackagePath = "github.com/awslabs/amazon-ecr-credential-helper";
 
@@ -10,13 +10,13 @@ buildGoPackage rec {
     owner = "awslabs";
     repo = "amazon-ecr-credential-helper";
     rev = "v${version}";
-    sha256 = "sha256-GmGse+N7QeG2sAjCumGkUAWu/KfhnMltzeh+s8o+tiw=";
+    sha256 = "sha256-lkc8plWWmth8SjeWBCf1HTnCfg09QNIsN3xPePqnv6Y=";
   };
 
   meta = with lib; {
     description = "The Amazon ECR Docker Credential Helper is a credential helper for the Docker daemon that makes it easier to use Amazon Elastic Container Registry";
     homepage = "https://github.com/awslabs/amazon-ecr-credential-helper";
-    license = licenses.asl20 ;
+    license = licenses.asl20;
     maintainers = with maintainers; [ kalbasit ];
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/nixpkgs/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix b/nixpkgs/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
index 84372423d611..9528d6e7aee4 100644
--- a/nixpkgs/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix b/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
index bdb38a45e79f..0c12e54d2530 100644
--- a/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/aws-vault/default.nix b/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
index afc493c3b6a1..7462f3506fd5 100644
--- a/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
@@ -7,16 +7,16 @@
 }:
 buildGoModule rec {
   pname = "aws-vault";
-  version = "6.3.1";
+  version = "6.5.0";
 
   src = fetchFromGitHub {
     owner = "99designs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yNmjoCq9fYzt/lZQlVgxQvxKWCh5Lxd4NSX7c+gE/As=";
+    sha256 = "sha256-PYaCbefIglzvBTeFnyz+uQnFxE61cBMWvC3RdV8rq90=";
   };
 
-  vendorSha256 = "sha256-Lb5iiuT/Fd3RMt98AafIi9I0FHJaSpJ8pH7r4yZiiiw=";
+  vendorSha256 = "sha256-GTP6KqAfESrdrtLkerRLmre2tBkG4CXMcfxL/flgya0=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
diff --git a/nixpkgs/pkgs/tools/admin/awscli/default.nix b/nixpkgs/pkgs/tools/admin/awscli/default.nix
index 754b2e8cea6a..11cf6c53076c 100644
--- a/nixpkgs/pkgs/tools/admin/awscli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli/default.nix
@@ -1,5 +1,6 @@
 { lib
 , python3
+, fetchFromGitHub
 , groff
 , less
 }:
@@ -14,17 +15,31 @@ let
           sha256 = "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9";
         };
       });
+      pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
+        version = "5.4.1";
+        src = fetchFromGitHub {
+          owner = "yaml";
+          repo = "pyyaml";
+          rev = version;
+          hash = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM=";
+        };
+        checkPhase = ''
+          runHook preCheck
+          PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all
+          runHook postCheck
+        '';
+      });
     };
   };
 
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.22.14"; # 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;
-    sha256 = "sha256-FTGtUqdjZel8XqSrO3s3XQNqR6fyTO3mc1gyIQfk9n8=";
+    hash = "sha256-GsMclLh/VtPaNjD+XDKqTYeSX29R2aRS7If9G918OWY=";
   };
 
   # https://github.com/aws/aws-cli/issues/4837
diff --git a/nixpkgs/pkgs/tools/admin/awscli2/default.nix b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
index 6726fde94f49..2a2d55dc1955 100644
--- a/nixpkgs/pkgs/tools/admin/awscli2/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
@@ -1,4 +1,9 @@
-{ lib, python3, groff, less, fetchFromGitHub }:
+{ lib
+, python3
+, groff
+, less
+, fetchFromGitHub
+}:
 let
   py = python3.override {
     packageOverrides = self: super: {
@@ -10,7 +15,9 @@ let
           sha256 = "sha256:1cmfkcv2zzirxsb989vx1hvna9nv24pghcvypl0zaxsjphv97mka";
         };
       });
+
       botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
+        # Releases: https://github.com/boto/botocore/commits/v2
         version = "2.0.0dev155";
         src = fetchFromGitHub {
           owner = "boto";
@@ -20,6 +27,7 @@ let
         };
         propagatedBuildInputs = super.botocore.propagatedBuildInputs ++ [py.pkgs.awscrt];
       });
+
       prompt-toolkit = super.prompt-toolkit.overridePythonAttrs (oldAttrs: rec {
         version = "2.0.10";
         src = oldAttrs.src.override {
@@ -27,41 +35,21 @@ let
           sha256 = "1nr990i4b04rnlw1ghd0xmgvvvhih698mb6lb6jylr76cs7zcnpi";
         };
       });
-      s3transfer = super.s3transfer.overridePythonAttrs (oldAttrs: rec {
-        version = "0.4.2";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "sha256-ywIvSxZVHt67sxo3fT8JYA262nNj2MXbeXbn9Hcy4bI=";
-        };
-      });
     };
   };
 
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.3.4"; # N.B: if you change this, change botocore to a matching version too
+  version = "2.4.9"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    sha256 = "sha256-C/NrU+1AixuN4T1N5Zs8xduUQiwuQWvXkitQRnPJdNw=";
+    sha256 = "sha256-ihmbw+gS7zZz/nebrmpEr9MR+dVabc70DBPPSrm3eeE=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "colorama>=0.2.5,<0.4.4" "colorama" \
-      --replace "cryptography>=3.3.2,<3.4.0" "cryptography" \
-      --replace "docutils>=0.10,<0.16" "docutils" \
-      --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml" \
-      --replace "s3transfer>=0.4.2,<0.5.0" "s3transfer" \
-      --replace "wcwidth<0.2.0" "wcwidth" \
-      --replace "distro>=1.5.0,<1.6.0" "distro"
-  '';
-
-  checkInputs = [ jsonschema mock pytestCheckHook pytest-xdist ];
-
   propagatedBuildInputs = [
     awscrt
     bcdoc
@@ -76,11 +64,26 @@ with py.pkgs; buildPythonApplication rec {
     pyyaml
     rsa
     ruamel-yaml
-    s3transfer
-    six
     wcwidth
   ];
 
+  checkInputs = [
+    jsonschema
+    mock
+    pytestCheckHook
+    pytest-xdist
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "colorama>=0.2.5,<0.4.4" "colorama" \
+      --replace "cryptography>=3.3.2,<3.4.0" "cryptography" \
+      --replace "docutils>=0.10,<0.16" "docutils" \
+      --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml" \
+      --replace "wcwidth<0.2.0" "wcwidth" \
+      --replace "distro>=1.5.0,<1.6.0" "distro"
+  '';
+
   checkPhase = ''
     export PATH=$PATH:$out/bin
 
diff --git a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
index 7d1935415ab7..1b270ad72949 100644
--- a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/azure-cli/default.nix b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
index 728fcf6eec5b..efd1ecfee3c1 100644
--- a/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, python3, fetchFromGitHub, installShellFiles }:
 
 let
-  version = "2.30.0";
+  version = "2.32.0";
   srcName = "azure-cli-${version}-src";
 
   src = fetchFromGitHub {
@@ -9,7 +9,7 @@ let
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    sha256 = "sha256-b4hNacraNomhiFGEiHcMweqbEq3vTHus+xbFPv5X5HQ=";
+    sha256 = "sha256-PXY32bfuK0bQGI0N+XHs9lakF6K7+WjrHMvuNgDFSJM=";
   };
 
   # put packages that needs to be overriden in the py package scope
@@ -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/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
index ab8528595a09..d27805bb257e 100644
--- a/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -68,7 +68,6 @@ let
 
         postPatch = ''
           substituteInPlace setup.py \
-            --replace "azure-mgmt-core>=1.2.0,<1.3.0" "azure-mgmt-core~=1.2" \
             --replace "requests[socks]~=2.25.1" "requests[socks]~=2.25" \
             --replace "cryptography>=3.2,<3.4" "cryptography"
         '';
@@ -119,7 +118,7 @@ let
       };
 
       azure-batch = overrideAzureMgmtPackage super.azure-batch "11.0.0" "zip"
-        "83d7a2b0be42ca456ac2b56fa3dc6ce704c130e888d37d924072c1d3718f32da";
+        "sha256-zl/bDsli7d/oXNgiBekXfLC720RSZXRuOLO7vx8W3HM=";
 
       azure-mgmt-apimanagement = overrideAzureMgmtPackage super.azure-mgmt-apimanagement "0.2.0" "zip"
         "0whx3s8ri9939r3pdvjf8iqcslas1xy6cnccidmp10r5ng0023vr";
@@ -145,20 +144,20 @@ let
       azure-mgmt-recoveryservices = overrideAzureMgmtPackage super.azure-mgmt-recoveryservices "2.0.0" "zip"
         "sha256-p9MTfVxGD1CsLUQGHWCnC08nedTKhEt3QZtXJeZeCb4=";
 
-      azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "3.0.0" "zip"
-        "sha256-GZJIayjd1tT1l/0wBCF80sr09NyKDOcSJrWudnrOOhg=";
+      azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "4.0.0" "zip"
+        "a848ac1d99c935e61dfb91ca3e1577904a3eff5820fce179eb6937df8e1019ec";
 
-      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "19.0.0" "zip"
-        "bbb60bb9419633c2339569d4e097908638c7944e782b5aef0f5d9535085a9100";
+      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "20.0.0" "zip"
+        "622dca4484be64f9f5ce335d327dffabf3e71e14e8a3f4a1051dc85a5c3ebbca";
 
       azure-mgmt-appconfiguration = overrideAzureMgmtPackage super.azure-mgmt-appconfiguration "2.0.0" "zip"
         "b58bbe82a7429ba589292024896b58d96fe9fa732c578569cac349928dc2ca5f";
 
-      azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "12.0.0" "zip"
-        "73054bd19866577e7e327518afc8f47e1639a11aea29a7466354b81804f4a676";
+      azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "13.0.0" "zip"
+        "dc6116e8394d45312c7ad5a9098ce0dd2370bd92d43afd33d8b3bfab724fa498";
 
       azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "23.1.0" "zip"
-        "sha256-N+zUTEnOyn18lDHlkUj+vRXX/sJhZR7XLd1YdV50ULA=";
+        "sha256-Sduw9RAG1VfL0LIpmcuezz6rwr5G2W78xtZRxrM3VLM=";
 
       azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
         "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
@@ -181,17 +180,17 @@ let
       azure-mgmt-eventgrid = overrideAzureMgmtPackage super.azure-mgmt-eventgrid "9.0.0" "zip"
         "aecbb69ecb010126c03668ca7c9a2be8e965568f5b560f0e7b5bc152b157b510";
 
-      azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "0.4.0" "zip"
-        "0cqpjnkpid6a34ifd4vk4fn1h57pa1bg3r756wv082xl2szr34jc";
+      azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "1.0.0" "zip"
+        "634e398de9a23e712aa27a4a59f9ea5d5091d1dfcfed5ac977230918872c4430";
 
       azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "2.1.0" "zip"
         "2724f48cadb1be7ee96fc26c7bfa178f82cea5d325e785e91d9f26965fa8e46f";
 
-      azure-mgmt-iothubprovisioningservices = overrideAzureMgmtPackage super.azure-mgmt-iothubprovisioningservices "0.3.0" "zip"
-        "sha256-0Bt3JfP2jFpv8CGEqb3ajHdYiK9mN43YMUkD0KRuMrk=";
+      azure-mgmt-iothubprovisioningservices = overrideAzureMgmtPackage super.azure-mgmt-iothubprovisioningservices "1.0.0" "zip"
+        "e5871b03488b5ae6dfc441cdbda40cb39c000635ee57c513053792b3c15826a9";
 
-      azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "9.0.0b1" "zip"
-        "sha256-WEF5HuiaUTnka/2w0cVX/VwRt8/GD0+5fqGkn1BVx4I=";
+      azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "9.0.0" "zip"
+        "64df73df449a6f3717f3d0963e5869224ed3e6216c79de571493bea7c1b52cb6";
 
       azure-mgmt-kusto = overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip"
         "1pmcdgimd66h964a3d5m2j2fbydshcwhrk87wblhwhfl3xwbgf4y";
@@ -200,16 +199,16 @@ let
         "1397ksrd61jv7400mgn8sqngp6ahir55fyq9n5k69wk88169qm2r";
 
       azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "5.1.0" "zip"
-        "7195e413a0764684cd42bec9e429c13c290db9ab5c465dbed586a6f6d0ec8a4a";
+        "sha256-MGCICI7hDobEzyTMgqnKYZ21zfwNo/ogfQDsf3fwbo4=";
 
       azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "8.0.0" "zip"
         "407c2dacb33513ffbe9ca4be5addb5e9d4bae0cb7efa613c3f7d531ef7bf8de8";
 
-      azure-mgmt-loganalytics = overrideAzureMgmtPackage super.azure-mgmt-loganalytics "11.0.0" "zip"
-        "41671fc6e95180fb6147cb40567410c34b85fb69bb0a9b3e09feae1ff370ee9d";
+      azure-mgmt-loganalytics = overrideAzureMgmtPackage super.azure-mgmt-loganalytics "12.0.0" "zip"
+        "da128a7e0291be7fa2063848df92a9180cf5c16d42adc09d2bc2efd711536bfb";
 
-      azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "19.1.0" "zip"
-        "sha256-Yu9/6LqY5WQStDTJw13HVbPF5GnywBu+0s4NEpc6BEs=";
+      azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "19.3.0" "zip"
+        "0b6a1ccdffd76e057ab16a6c319740a0ca68d59fedf7e9c02f2437396e72aa11";
 
       azure-mgmt-maps = overrideAzureMgmtPackage super.azure-mgmt-maps "2.0.0" "zip"
         "384e17f76a68b700a4f988478945c3a9721711c0400725afdfcb63cf84e85f0e";
@@ -238,8 +237,8 @@ let
       azure-mgmt-redhatopenshift = overrideAzureMgmtPackage super.azure-mgmt-redhatopenshift "1.0.0" "zip"
         "94cd41f1ebd82e40620fd3e6d88f666b5c19ac7cf8b4e8edadb9721bd7c80980";
 
-      azure-mgmt-redis = overrideAzureMgmtPackage super.azure-mgmt-redis "13.0.0" "zip"
-        "283f776afe329472c20490b1f2c21c66895058cb06fb941eccda42cc247217f1";
+      azure-mgmt-redis = overrideAzureMgmtPackage super.azure-mgmt-redis "13.1.0" "zip"
+        "ece913e5fc7f157e945809e557443f79ff7691cabca4bbc5ecb266352f843179";
 
       azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.6.0" "zip"
         "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
@@ -271,8 +270,8 @@ let
       azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "9.1.0" "zip"
         "0ba9f10e1e8d03247a316e777d6f27fabf268d596dda2af56ac079fcdf5e7afe";
 
-      azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "9.2.0" "zip"
-        "sha256-N+zUTEnOyn18lDHlkUj+vRXX/sJhZR7XLd1YdV50ULA=";
+      azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "9.3.0" "zip"
+        "54156422e618b686d52232a7989594b240bd18afd0fa381e12e4772ed4ab5ea8";
 
       azure-mgmt-cdn = overrideAzureMgmtPackage super.azure-mgmt-cdn "11.0.0" "zip"
         "28e7070001e7208cdb6c2ad253ec78851abdd73be482230d2c0874eed5bc0907";
@@ -280,8 +279,8 @@ let
       azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "8.2.0" "zip"
         "f2bcdbcf0b9fdc2df0df9eccb77cb489091d3c670ed53cba77e5ffd734e9539b";
 
-      azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "2.0.0" "zip"
-        "e7f7943fe8f0efe98b3b1996cdec47c709765257a6e09e7940f7838a0f829e82";
+      azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "3.0.0" "zip"
+        "91ddb7333bf2b9541a53864cc8d2501e3694a03a9c0e41cbfae3348558675ce6";
 
       azure-mgmt-advisor =  overrideAzureMgmtPackage super.azure-mgmt-advisor "9.0.0" "zip"
         "fc408b37315fe84781b519124f8cb1b8ac10b2f4241e439d0d3e25fd6ca18d7b";
@@ -348,11 +347,11 @@ let
       });
 
       azure-synapse-artifacts = super.azure-synapse-artifacts.overrideAttrs(oldAttrs: rec {
-        version = "0.8.0";
+        version = "0.10.0";
         src = super.fetchPypi {
           inherit (oldAttrs) pname;
           inherit version;
-          sha256 = "sha256-PU/f0L1maYT3vce8DHpgGMNaXUaoGjLdGTsHwDtSi3I=";
+          sha256 = "sha256-P3gsm1kLiuQ2eMbgA9+MqMymdYMgOdJwsLdDf/AVV/0=";
           extension = "zip";
         };
       });
@@ -467,6 +466,9 @@ let
           inherit version;
           sha256 = "sha256-109FuBMXRU2W6YL9HFDm+1yZrCIjcorqh2RDOjn1ZvE=";
         };
+
+        # sdist doesn't provide tests
+        doCheck = false;
       });
 
       semver = super.semver.overridePythonAttrs(oldAttrs: rec {
@@ -492,12 +494,22 @@ let
       });
 
       knack = super.knack.overridePythonAttrs(oldAttrs: rec {
-        version = "0.8.2";
+        version = "0.9.0";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "7fcab17585c0236885eaef311c01a1e626d84c982aabcac81703afda3f89c81f";
+        };
+      });
+
+      argcomplete = super.argcomplete.overridePythonAttrs(oldAttrs: rec {
+        version = "1.8.0";
 
         src = super.fetchPypi {
           inherit (oldAttrs) pname;
           inherit version;
-          sha256 = "sha256-TqpQocXnnRxcjl4XBbZhchsLg6CJaV5Z4inMJsZJY7k=";
+          sha256 = "sha256-SreailmO/AgRBGv3dnj4VkMnbokAzWT5xPEPEQ4QEb0=";
         };
       });
 
diff --git a/nixpkgs/pkgs/tools/admin/certigo/default.nix b/nixpkgs/pkgs/tools/admin/certigo/default.nix
index ff5d6c8f56fa..a47c9e239d8b 100644
--- a/nixpkgs/pkgs/tools/admin/certigo/default.nix
+++ b/nixpkgs/pkgs/tools/admin/certigo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "certigo";
-  version = "1.13.0";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = "square";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3VysSE4N2MlNDOZ27RbCe8rUuYChU5Z3L/CIhtvMp38=";
+    sha256 = "sha256-P6xXXY0INB3Eyuxs1LEJlm2NBfMbG/HvlbIKUMAOxZE=";
   };
 
   vendorSha256 = "sha256-0wul0f8T7E4cXbsNee1j1orUgjrAToqDLgwCjiyii1Y=";
diff --git a/nixpkgs/pkgs/tools/admin/chamber/default.nix b/nixpkgs/pkgs/tools/admin/chamber/default.nix
index 777366e16c0f..f0d90cde98a1 100644
--- a/nixpkgs/pkgs/tools/admin/chamber/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/clair/default.nix b/nixpkgs/pkgs/tools/admin/clair/default.nix
index bfeb636cb16e..484cbbb82cbd 100644
--- a/nixpkgs/pkgs/tools/admin/clair/default.nix
+++ b/nixpkgs/pkgs/tools/admin/clair/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "4.3.5";
+  version = "4.3.6";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XV1lSEg6ksa5Y1jPKpVw3l+3pWkf6iBrJ+TBqVoj60k=";
+    sha256 = "sha256-yKs/TPSu3WD34Z9fAys7ItWWcSKiUXhVWAqQXMnOrEw=";
   };
 
-  vendorSha256 = "sha256-U5uPTd9RHJnt3It7iluu73ihuDiIl3kCy/1f2bRqhBY=";
+  vendorSha256 = "sha256-C3xnBANsymSgI7l446CjJzEMY1gURGTxDNBBjNjHmaE=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/colmena/default.nix b/nixpkgs/pkgs/tools/admin/colmena/default.nix
index e95475be3395..f7ba90ac2ad2 100644
--- a/nixpkgs/pkgs/tools/admin/colmena/default.nix
+++ b/nixpkgs/pkgs/tools/admin/colmena/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "colmena";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "zhaofengli";
     repo = "colmena";
     rev = "v${version}";
-    sha256 = "sha256-WY8SYapnDcfaoLr1iFgwc9/E7xSfOFN2AvMDpk74AI8=";
+    sha256 = "sha256-5UU8iBzwO7xM8B+LulnFkJFv5j5lu7mfq0XMmOCaKcQ=";
   };
 
-  cargoSha256 = "sha256-ZNSg3hXWKHNQ9yHJS1qW3tFYwzU4ZDa1N0yvoGLmWns=";
+  cargoSha256 = "sha256-wMC2GAVVxkwrgJtOIJL0P+Uxh+ouW4VwLDrXJlD10AA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/admin/eksctl/default.nix b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
index 7208e4e8cdd5..47273cf5ab7e 100644
--- a/nixpkgs/pkgs/tools/admin/eksctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.76.0";
+  version = "0.84.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-KhAS8JUM6dobcSJ/QaRhxv2jNpn6AFqiDRCdxeKHwZE=";
+    sha256 = "sha256-sHbZHLpRG8x3mTgrg+3htq8PywGe13VYJFdcVxni7Ok=";
   };
 
-  vendorSha256 = "sha256-6eiJR7DRx3zYKT3B1wBTGSvPQwYw3815K1V/Y9aBX5E=";
+  vendorSha256 = "sha256-as3Q8umRES/XncIZbV4UKZSGvzqHF7ClKBWvnGdkYeg=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
index 182e594084ee..d6b1933a57c0 100644
--- a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/fioctl/default.nix b/nixpkgs/pkgs/tools/admin/fioctl/default.nix
index 21bf7ae6a572..03a77f624be5 100644
--- a/nixpkgs/pkgs/tools/admin/fioctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/fioctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fioctl";
-  version = "0.22";
+  version = "0.23";
 
   src = fetchFromGitHub {
     owner = "foundriesio";
     repo = "fioctl";
     rev = "v${version}";
-    sha256 = "sha256-8YIboaLFc1nliNQJPyTd/JseTbvk2aBTjVEpW3mTkZg=";
+    sha256 = "sha256-00HWby1LwKEz4BgwD3yv0IMW9mzkTj4FMFgYAn7kLac=";
   };
 
   vendorSha256 = "sha256-oA8/9LjMRM1RXKKDWhcbt2qr/4T7YgOq92U2mF9E+sw=";
diff --git a/nixpkgs/pkgs/tools/admin/fits-cloudctl/default.nix b/nixpkgs/pkgs/tools/admin/fits-cloudctl/default.nix
index a71f6e8f6347..a218f25f04e8 100644
--- a/nixpkgs/pkgs/tools/admin/fits-cloudctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/fits-cloudctl/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "fits-cloudctl";
-  version = "0.10.5";
+  version = "0.10.8";
 
   src = fetchFromGitHub {
     owner = "fi-ts";
     repo = "cloudctl";
     rev = "v${version}";
-    sha256 = "sha256-l01c1tjS0L+T/kHreYx3A5/N/oRDuDywXS/GAvUCxSk=";
+    sha256 = "sha256-vqzHZ7DW4ev5soFMcafgL/81k6vCsm6Ds5yto/VheX8=";
   };
 
-  vendorSha256 = "sha256-iJlNNovsIgTOPfAzwqkumrmCQu2xI/neqH+Z4tvSXeY=";
+  vendorSha256 = "sha256-f35Asf9l6ZfixpjMGzesTsxmANreilMxH2CULMH3b2o=";
 
   meta = with lib; {
     description = "Command-line client for FI-TS Finance Cloud Native services";
diff --git a/nixpkgs/pkgs/tools/admin/gixy/default.nix b/nixpkgs/pkgs/tools/admin/gixy/default.nix
index 65ca85b463e9..03571ac7cf75 100644
--- a/nixpkgs/pkgs/tools/admin/gixy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/google-cloud-sdk/data.nix b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/data.nix
index 4c546b0631e2..b494ed7e9974 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/data.nix
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/data.nix
@@ -1,32 +1,32 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "367.0.0";
+  version = "370.0.0";
   googleCloudSdkPkgs = {
     x86_64-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-367.0.0-linux-x86_64.tar.gz";
-        sha256 = "1zhymqk0ax8qjywwa9w3dvhia8khwkq9xaza5vnbg8arcnf8ncll";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-370.0.0-linux-x86_64.tar.gz";
+        sha256 = "0qkgny15k8bni5zwkqqcn9h7nzy9g71ykbxf33g3zni7l2icy985";
       };
     x86_64-darwin =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-367.0.0-darwin-x86_64.tar.gz";
-        sha256 = "0cq22jgmsclp6gaylbh53fbwvl8hi4zswknb6kwqmadhd35a6347";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-370.0.0-darwin-x86_64.tar.gz";
+        sha256 = "15p1gvwd1wzjl6a4pa7madbakvy5xmjd0k0mp6c7ci8rwgi431g0";
       };
     aarch64-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-367.0.0-linux-arm.tar.gz";
-        sha256 = "1vmg5665m0hwy8kd4snc1hq7qk81pdmyk94ryg8zpjliwmna65iy";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-370.0.0-linux-arm.tar.gz";
+        sha256 = "1xgxg6w7j8y7q8glzji69sh5g3bz1jhjk6jhmmv68c1l7p5na3bg";
       };
     aarch64-darwin =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-367.0.0-darwin-arm.tar.gz";
-        sha256 = "00p0ww72sn4l9cjcjcml43hj0hlbmcnc1razg99fx1s88h0v928n";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-370.0.0-darwin-arm.tar.gz";
+        sha256 = "19ywsi52sla9wprgmrhlr3q91np9pacspjj58qb7m506pl44hmk4";
       };
     i686-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-367.0.0-linux-x86.tar.gz";
-        sha256 = "1pyjb53imjrfn2izyl60kasysi11virybvnsr2sn1c5d97lx1aah";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-370.0.0-linux-x86.tar.gz";
+        sha256 = "0k4c1kgkvbhwm5fy3yfc2i9rlf7wf186v20nl428dd9742ppa92f";
       };
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/update.sh b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/update.sh
index ac6bee4dfe64..2aae6129db5e 100755
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/update.sh
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/update.sh
@@ -5,7 +5,7 @@ BASE_URL="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-clou
 
 # Version of Google Cloud SDK from
 # https://cloud.google.com/sdk/docs/release-notes
-VERSION="367.0.0"
+VERSION="370.0.0"
 
 function genMainSrc() {
     local url="${BASE_URL}-${VERSION}-${1}-${2}.tar.gz"
diff --git a/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index cec4f2981298..00566f174cfc 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.5.3";
+  version = "4.6.0";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xvTV6jZmQWs6g8Oq+IrwPZVS3fzY1/adg7IWh189ftU=";
+    sha256 = "sha256-FisQS/qbl7f4aszc2Ft6nmuHNrDreOQdN0jrWMOvaAk=";
   };
 
-  vendorSha256 = "sha256-EK2E2YWdk2X1awdUhMOJh+qr+jnnftnKuPPpiHzXZHk=";
+  vendorSha256 = "sha256-cLM4YGguQf7lO5PUPmd/at1Aqrp9m8zFG6GWqcduJmw=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/lexicon/default.nix b/nixpkgs/pkgs/tools/admin/lexicon/default.nix
index c183e3741429..4d48110e9674 100644
--- a/nixpkgs/pkgs/tools/admin/lexicon/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lexicon/default.nix
@@ -31,18 +31,18 @@ in
 
 buildPythonApplication rec {
   pname = "lexicon";
-  version = "3.5.2";
+  version = "3.9.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "AnalogJ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jsc2ybbf3mbvgzkgliria494dpj23mgqnw2lh43cnd9rgsjvzn3";
+    hash = "sha256-qJFHwFzFjZVdQv4YfrlR2cMQHsEtpQbvg/DMo6C5/z0=";
   };
 
   nativeBuildInputs = [
-    poetry
+    poetry-core
   ];
 
   propagatedBuildInputs = [
@@ -52,6 +52,7 @@ buildPythonApplication rec {
     dnspython
     future
     localzone
+    oci
     pynamecheap
     pyyaml
     requests
@@ -64,20 +65,24 @@ buildPythonApplication rec {
 
   checkInputs = [
     mock
-    pytest
-    pytest-cov
+    pytestCheckHook
     pytest-xdist
     vcrpy
   ];
 
-  checkPhase = ''
-    pytest --ignore=lexicon/tests/providers/test_auto.py
-  '';
+  disabledTestPaths = [
+    # Tests require network access
+    "lexicon/tests/providers/test_auto.py"
+  ];
+
+  pythonImportsCheck = [
+    "lexicon"
+  ];
 
   meta = with lib; {
-    description = "Manipulate DNS records on various DNS providers in a standardized way";
+    description = "Manipulate DNS records of various DNS providers in a standardized way";
     homepage = "https://github.com/AnalogJ/lexicon";
-    maintainers = with maintainers; [ flyfloh ];
     license = licenses.mit;
+    maintainers = with maintainers; [ flyfloh ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix
index 8a3ece8e0f90..f726e5669e3d 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lxd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.21";
+  version = "4.23";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz";
-    sha256 = "1b2jls3jgvgdl0136nar8zm3hfrp0gqxxq9fh7vxc52r1aslarvs";
+    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/nixpkgs/pkgs/tools/admin/meshcentral/default.nix b/nixpkgs/pkgs/tools/admin/meshcentral/default.nix
index 0b397b541e53..496f478be8a6 100644
--- a/nixpkgs/pkgs/tools/admin/meshcentral/default.nix
+++ b/nixpkgs/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.56";
+  version = "0.9.79";
 
   src = fetchzip {
     url = "https://registry.npmjs.org/meshcentral/-/meshcentral-${version}.tgz";
-    sha256 = "0yjl931yfn2cz60gh00wyv5zxzqmw9s0r4nf1friqhxs37055278";
+    sha256 = "17f34ifzdrkbap2hhd0y0rdcn8j0svxzsqw0qhcp3h68z3098hdv";
   };
 
   packageJSON = ./package.json;
diff --git a/nixpkgs/pkgs/tools/admin/meshcentral/package.json b/nixpkgs/pkgs/tools/admin/meshcentral/package.json
index 7d92ea8606d6..4a0f5bf6137a 100644
--- a/nixpkgs/pkgs/tools/admin/meshcentral/package.json
+++ b/nixpkgs/pkgs/tools/admin/meshcentral/package.json
@@ -1,6 +1,6 @@
 {
   "name": "meshcentral",
-  "version": "0.9.56",
+  "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/nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock b/nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock
index 96e80b306bfd..219114d50fef 100644
--- a/nixpkgs/pkgs/tools/admin/meshcentral/yarn.lock
+++ b/nixpkgs/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.11"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234"
-  integrity sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==
+  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"
@@ -1401,9 +1416,9 @@ bignumber.js@9.0.0:
   integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==
 
 bignumber.js@^9.0.0, bignumber.js@^9.0.1:
-  version "9.0.1"
-  resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5"
-  integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==
+  version "9.0.2"
+  resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673"
+  integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==
 
 binary-extensions@^1.0.0:
   version "1.13.1"
@@ -1459,21 +1474,21 @@ 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, 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==
+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==
   dependencies:
-    bytes "3.1.0"
+    bytes "3.1.1"
     content-type "~1.0.4"
     debug "2.6.9"
     depd "~1.1.2"
-    http-errors "1.7.2"
+    http-errors "1.8.1"
     iconv-lite "0.4.24"
     on-finished "~2.3.0"
-    qs "6.7.0"
-    raw-body "2.4.0"
-    type-is "~1.6.17"
+    qs "6.9.6"
+    raw-body "2.4.2"
+    type-is "~1.6.18"
 
 brace-expansion@^1.0.0, brace-expansion@^1.1.7:
   version "1.1.11"
@@ -1526,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"
 
@@ -1583,10 +1598,10 @@ 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"
+  integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==
 
 cache-base@^1.0.1:
   version "1.0.1"
@@ -2032,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"
@@ -2065,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"
@@ -2117,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"
@@ -2596,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"
@@ -2619,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"
@@ -2885,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.5"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381"
-  integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==
+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"
@@ -3157,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"
@@ -3171,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"
@@ -3196,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"
@@ -3284,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:
@@ -3507,29 +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.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-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==
@@ -3598,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"
 
@@ -3627,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"
@@ -3703,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"
 
@@ -4296,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"
@@ -4656,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==
@@ -4696,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"
 
@@ -4831,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"
 
@@ -4911,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"
@@ -4944,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"
@@ -5115,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"
@@ -5455,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"
 
@@ -5481,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"
@@ -5505,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==
@@ -5573,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"
@@ -5594,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==
@@ -5607,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"
@@ -5625,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"
@@ -5676,9 +5672,9 @@ please-upgrade-node@^3.2.0:
     semver-compare "^1.0.0"
 
 plivo@*:
-  version "4.25.0"
-  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.25.0.tgz#ba496e0e75dcbe5747d5770e6e07fd9eb153d7dd"
-  integrity sha512-pe3Frvgpk5ks5DwTbUN9DJTNIw2pV2Yip8DXfmBW34SCPdxyXUqsAw8TurDEjxTWEIuck4e4JizpQyv/V9T2tg==
+  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"
@@ -5741,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"
@@ -5775,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==
@@ -5825,22 +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"
@@ -5885,13 +5881,13 @@ 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==
+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.0"
-    http-errors "1.7.2"
+    bytes "3.1.1"
+    http-errors "1.8.1"
     iconv-lite "0.4.24"
     unpipe "1.0.0"
 
@@ -5929,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==
@@ -6222,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"
@@ -6383,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"
@@ -6395,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"
@@ -6427,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"
@@ -6462,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"
@@ -6602,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==
@@ -6625,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"
@@ -6636,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"
@@ -6797,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"
@@ -6949,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"
@@ -7036,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"
@@ -7059,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==
@@ -7083,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.4"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.4.tgz#68756f17d1b90b9d289341736cb9a567d6882f90"
-  integrity sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA==
+  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"
@@ -7110,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"
@@ -7183,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"
@@ -7356,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"
@@ -7543,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"
@@ -7560,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/nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix b/nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix
index fd4fe90755b5..c9d5925b6580 100644
--- a/nixpkgs/pkgs/tools/admin/meshcentral/yarn.nix
+++ b/nixpkgs/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";
-        sha1 = "0dfc80309beec8411e65e706461c408b0bb9b431";
+        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";
-        sha1 = "d40f3d1d5075e62d3500bccb67f3daa8a95265b2";
+        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";
-        sha1 = "b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481";
+        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";
-        sha1 = "0088c7486b29a9cb5d948b1a1de46db66e089cfa";
+        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";
-        sha1 = "4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a";
+        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";
-        sha1 = "29672f43663e936df370aaeb22beddb3baec7438";
+        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";
-        sha1 = "220df993bfe904a4a6b02ab4f3385a5ebf6e2389";
+        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";
-        sha1 = "6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a";
+        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";
-        sha1 = "d5f92f57cf2c74ffe9b37981c0e72fee7311372e";
+        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";
-        sha1 = "d16a35ebf4cd74e202083356fab21dd89363ddd6";
+        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";
-        sha1 = "f63e8a938cc1b780f66d9ed3c54f532ca2d14787";
+        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";
-        sha1 = "db3b313804f96aadd0b776c4823e127ad67289ba";
+        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";
-        sha1 = "1e19335dee89d413c7ffbfd29340a92930d2e9c6";
+        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";
-        sha1 = "f90cb8759c96e1d90224f29ad98f8fdc2be287f3";
+        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==";
       };
     }
     {
@@ -118,15 +126,15 @@
       path = fetchurl {
         name = "_sendgrid_helpers___helpers_7.6.0.tgz";
         url  = "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.6.0.tgz";
-        sha1 = "b381bfab391bcd66c771811b22bb6bb2d5c1dfc6";
+        sha512 = "0uWD+HSXLl4Z/X3cN+UMQC20RE7xwAACgppnfjDyvKG0KvJcUgDGz7HDdQkiMUdcVWfmyk6zKSg7XKfKzBjTwA==";
       };
     }
     {
-      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";
-        sha1 = "e74ee30110527feab5d3b83d68af0cd94537f6d2";
+        name = "_sendgrid_mail___mail_7.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.1.tgz";
+        sha512 = "F+HXpDLIU4PGZyZznOiFLDGJDwLn2qh7/wD5MvwurrldDx5DaGQHrYBKHopceOl15FVuq9ElU9VIxQJF8SMvTg==";
       };
     }
     {
@@ -134,7 +142,7 @@
       path = fetchurl {
         name = "_tootallnate_once___once_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz";
-        sha1 = "f544a148d3ab35801c1f633a7441fd87c2e484bf";
+        sha512 = "XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==";
       };
     }
     {
@@ -142,31 +150,31 @@
       path = fetchurl {
         name = "_types_geojson___geojson_7946.0.8.tgz";
         url  = "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz";
-        sha1 = "30744afdb385e2945e22f3b033f897f76b1f12ca";
+        sha512 = "1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==";
       };
     }
     {
-      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";
-        sha1 = "34077176af2b06186bd54e4a38ceb6e852387fa4";
+        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.11.tgz";
+      name = "_types_node___node_17.0.17.tgz";
       path = fetchurl {
-        name = "_types_node___node_16.11.11.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz";
-        sha1 = "6ea7342dfb379ea1210835bada87b3c512120234";
+        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";
-        sha1 = "98df2397f6936bfbff4f089e40e06fa5dd88d32a";
+        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==";
       };
     }
     {
@@ -174,7 +182,7 @@
       path = fetchurl {
         name = "_types_webidl_conversions___webidl_conversions_6.1.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz";
-        sha1 = "e33bc8ea812a01f63f90481c666334844b12a09e";
+        sha512 = "XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==";
       };
     }
     {
@@ -182,7 +190,7 @@
       path = fetchurl {
         name = "_types_whatwg_url___whatwg_url_8.2.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.1.tgz";
-        sha1 = "f1aac222dab7c59e011663a0cb0a3117b2ef05d4";
+        sha512 = "2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==";
       };
     }
     {
@@ -190,7 +198,7 @@
       path = fetchurl {
         name = "_xmldom_xmldom___xmldom_0.7.5.tgz";
         url  = "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz";
-        sha1 = "09fa51e356d07d0be200642b0e4f91d8e6dd408d";
+        sha512 = "V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==";
       };
     }
     {
@@ -198,7 +206,7 @@
       path = fetchurl {
         name = "_xmpp_base64___base64_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/base64/-/base64-0.9.0.tgz";
-        sha1 = "f5914c2b7228d833020af991a2a207267fc8fcf4";
+        sha512 = "/Naw/zQB3YryuQvSS3T3TwBV+z29Ox7RxfAs31foRcGblxw9Vkh4arTqwYpd49BLGbUzw+PBhpCgyJ4IrHPeFA==";
       };
     }
     {
@@ -206,7 +214,7 @@
       path = fetchurl {
         name = "_xmpp_client_core___client_core_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/client-core/-/client-core-0.9.2.tgz";
-        sha1 = "0176ad686358e903afefbf92d4c0f11676a90572";
+        sha512 = "mNwg3FwB2OSFxjNY445SSL9OsrKefVGtQP1o3AuL26TjioGE+C8brijBvH+g4CM84G3/FF6aDOhvetp4fJJZcQ==";
       };
     }
     {
@@ -214,7 +222,7 @@
       path = fetchurl {
         name = "_xmpp_client___client_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/client/-/client-0.9.2.tgz";
-        sha1 = "6a0c7e1d9a8f7ea670981bd66fba5e41067960f7";
+        sha512 = "b/p+1RLiPhp3mngjkaKYyLcj0B6zwvQcV6K+JysJLz8kwevspIomlEO8dwHq3k2k3vX+Be6JPfREaTp+BjABtg==";
       };
     }
     {
@@ -222,7 +230,7 @@
       path = fetchurl {
         name = "_xmpp_connection_tcp___connection_tcp_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/connection-tcp/-/connection-tcp-0.9.2.tgz";
-        sha1 = "57f1165ef729e339237522a5206b8f9439f9edbf";
+        sha512 = "qdKp9vKprcaDcs/wdGPUc4GavaRNkoIH6q3PduMpIpF2CC8faQQTGO554i0k2VITxN4AyBIBIzPL5Iht/FEUSw==";
       };
     }
     {
@@ -230,7 +238,7 @@
       path = fetchurl {
         name = "_xmpp_connection___connection_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/connection/-/connection-0.9.2.tgz";
-        sha1 = "bfa354d4c99e16032d50a95a5638e6f58897f31f";
+        sha512 = "Jlc39RhIYLqLLInV8pmUnNClaJgjh+ZZfwGrRvYTw9v0Pic7dOeE+cyT7ONZPjmfue4Jhqo8bRbKSrF7ezQbEA==";
       };
     }
     {
@@ -238,7 +246,7 @@
       path = fetchurl {
         name = "_xmpp_debug___debug_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/debug/-/debug-0.9.2.tgz";
-        sha1 = "51702dfe5d14bae327c3468ea2967cf015800840";
+        sha512 = "Fr0QPUZV/Kk3OnpSbIOOrSkDe0I4tVVE6670doKLdau6cRMP5Cx/bwkh565eSezcp9L0c9ws7gffqVnVDN7MkQ==";
       };
     }
     {
@@ -246,7 +254,7 @@
       path = fetchurl {
         name = "_xmpp_error___error_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/error/-/error-0.9.0.tgz";
-        sha1 = "3232fab6fdb7a25fe67d3e0e1962ae8742b2f2da";
+        sha512 = "W8gqCwii+SmI8h1fx0HCFgfYMtrO0hjR2DeLHchn89F1x6o2fGisllLQ38vfCZWIqy3wXfLPuf5q6WM6nHe8gQ==";
       };
     }
     {
@@ -254,7 +262,7 @@
       path = fetchurl {
         name = "_xmpp_events___events_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/events/-/events-0.9.0.tgz";
-        sha1 = "60d181390fc6b080f5487c6877c3a8fa25276d1a";
+        sha512 = "ckOtr2u4NfsJxq7cl/6aZbQh3aXkrZHXOmm4Q+hdbUECZxpE1AxRu0QuxVS8yqmx+eVjGzOX98My4c0Dbe6CfQ==";
       };
     }
     {
@@ -262,7 +270,7 @@
       path = fetchurl {
         name = "_xmpp_id___id_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/id/-/id-0.9.0.tgz";
-        sha1 = "baee9afad8ab7c5a3f3b000b2f98c02ddef67674";
+        sha512 = "h7ycA0kDYM8fTObqtys92L3JTECnv6TUoUKP7Canq9xQP1k3K//ZMnMMFXc8NlU3Jl2U7V1Ny9zJlYM9gYv25w==";
       };
     }
     {
@@ -270,7 +278,7 @@
       path = fetchurl {
         name = "_xmpp_iq___iq_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/iq/-/iq-0.9.2.tgz";
-        sha1 = "0a16cf672eb03a7b7358d74835f00cca3aca7113";
+        sha512 = "XCEuMj0JH41F7VgvKpF95lG4giXb/lyV0FbDmms3owCfWCEdaCxVJ8PzNZLq2rcUNCg/L1fvA+tUgZGqWMjnNw==";
       };
     }
     {
@@ -278,7 +286,7 @@
       path = fetchurl {
         name = "_xmpp_jid___jid_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/jid/-/jid-0.9.2.tgz";
-        sha1 = "2b87c466834e0618e226be4119b1d54fd828c7da";
+        sha512 = "mCWUhs/2C2/qB75m4x4VEEDMvs7ymcqZFjnrtgA3/i005+NLBHeZzzHiEo0n+VWVuyEE/6wrOmI/U2LkCGkEMA==";
       };
     }
     {
@@ -286,7 +294,7 @@
       path = fetchurl {
         name = "_xmpp_middleware___middleware_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/middleware/-/middleware-0.9.2.tgz";
-        sha1 = "40b0a6b9ce5473524f46c0841eed30fcb7ca956e";
+        sha512 = "ayvUm8+5gWQzq9iIh8YtzDENJAaZvIOSrmZtDfExKCewZlPSyqlMcMM96JqImyiIzXCj45q7qfaFmekZoYWt6g==";
       };
     }
     {
@@ -294,7 +302,7 @@
       path = fetchurl {
         name = "_xmpp_reconnect___reconnect_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/reconnect/-/reconnect-0.9.0.tgz";
-        sha1 = "50f5d8e791021f0d19b34a13cb9ea495eae8a6be";
+        sha512 = "c7SicqcosnXpJ+s4jjGof94FzHEChKiInTf4Colh7WkVWwXtsGrRU1PMYIbX3P/58t5EqgZvfCYQrGjsWSB0kg==";
       };
     }
     {
@@ -302,7 +310,7 @@
       path = fetchurl {
         name = "_xmpp_resolve___resolve_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/resolve/-/resolve-0.9.2.tgz";
-        sha1 = "530d8df631d3cb920abc5cc84b470966c71ce9a4";
+        sha512 = "c0Ff0PSecGNnE2yOkDMd6IXJA9EFlKJWB2qfbfT+i24NObXjFsBeUnEdxlI0F4eFkAyxQYNvn8qPRX4bfPJlCw==";
       };
     }
     {
@@ -310,7 +318,7 @@
       path = fetchurl {
         name = "_xmpp_resource_binding___resource_binding_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/resource-binding/-/resource-binding-0.9.2.tgz";
-        sha1 = "49d440ab47e886bbbee5f27966e28a4619eb60bb";
+        sha512 = "fwDY35KF6MmMSv+VJS+P5KlFd1tz5QCS/5KMo78egmlv6IiBNJILOsV36t7vnPFBj9yHNomv/lJAsNt/ApkkfQ==";
       };
     }
     {
@@ -318,7 +326,7 @@
       path = fetchurl {
         name = "_xmpp_sasl_anonymous___sasl_anonymous_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/sasl-anonymous/-/sasl-anonymous-0.9.0.tgz";
-        sha1 = "dbd38751c17c41fd5aef91c1384ce3ade8099f33";
+        sha512 = "F7t5LnSfmvybLBUsEOFkhvEJgY+CKdO09r5lmup5SvtYPIXMjLOb26qS+hn68woz2s1sk+tj5VUzEm/NbmfgAQ==";
       };
     }
     {
@@ -326,7 +334,7 @@
       path = fetchurl {
         name = "_xmpp_sasl_plain___sasl_plain_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/sasl-plain/-/sasl-plain-0.9.0.tgz";
-        sha1 = "6b8d4a2e882685e460cdfb2181d00ac00904f606";
+        sha512 = "7Jn34z88cy1khFYYFCnRQw0K10O+XxDKK13ImuOOS+tag+7ulvd2wT1cWJFcRIBsDvZJSqqROBfqXwHgd4PrYg==";
       };
     }
     {
@@ -334,7 +342,7 @@
       path = fetchurl {
         name = "_xmpp_sasl_scram_sha_1___sasl_scram_sha_1_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/sasl-scram-sha-1/-/sasl-scram-sha-1-0.9.0.tgz";
-        sha1 = "ee7acbba4393262db6a864630868948de031a4e4";
+        sha512 = "AXV+Z5nwKKfkqg/XKsVi/fpJrJvhwUdZHxz84+cSskmfmD47cZw07eWkbFubs551qlAKeM/viSRE0WEaZqe4mA==";
       };
     }
     {
@@ -342,7 +350,7 @@
       path = fetchurl {
         name = "_xmpp_sasl___sasl_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/sasl/-/sasl-0.9.2.tgz";
-        sha1 = "69b7995520c6330f4e5a8b67127ac942c94163ee";
+        sha512 = "58Fi0jkGB5o9JnRhF9SIJ3c6YdZsrxIAGMA2qksvTJfKdytx0OqmhoFU4mTxfV4fckvTOboEvYZlDSqQ26XPqQ==";
       };
     }
     {
@@ -350,7 +358,7 @@
       path = fetchurl {
         name = "_xmpp_session_establishment___session_establishment_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/session-establishment/-/session-establishment-0.9.2.tgz";
-        sha1 = "f648879236df9c95a48bb08e4eb71b3c7be21ab9";
+        sha512 = "p0WGTNxHusUOaNj72uVejAO94w8AvEwTMDfbtqHqMmotW4Lyw9xPgHgD7GFrCmU8S3OSWfyu36niXSgkrGJ2hg==";
       };
     }
     {
@@ -358,7 +366,7 @@
       path = fetchurl {
         name = "_xmpp_starttls___starttls_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/starttls/-/starttls-0.9.2.tgz";
-        sha1 = "656ec7c80928863a37e026fdd5b4f6966f3c15fc";
+        sha512 = "/rjpHb8RAN+LXug7aiMeDc8or/kBsy1Y8Cx/jVKN3aRTR6S35J/s+o9EB8apkZAPjNVO3pqcM3rh+K2wnA+f4w==";
       };
     }
     {
@@ -366,7 +374,7 @@
       path = fetchurl {
         name = "_xmpp_stream_features___stream_features_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/stream-features/-/stream-features-0.9.0.tgz";
-        sha1 = "5202943ccb9ad99c2750a705e40d80c24b2e5b7c";
+        sha512 = "kO3sUE9+E1/0SoVe5KVbA/jrMIUp8vkk7kcEIzv3TBLQLlA0nnrbaTh3Wf1fvuOtJ8L2Tj1J06haLORY6h6rHQ==";
       };
     }
     {
@@ -374,7 +382,7 @@
       path = fetchurl {
         name = "_xmpp_tcp___tcp_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/tcp/-/tcp-0.9.2.tgz";
-        sha1 = "d7810e68cca65078500f3d23ac4e8901474aae24";
+        sha512 = "5sQPK6XDrEBxGGNTbyDlowBFIz04wSgnfmgw1jtz13v6fSK6ADypSX4sHNxBwhBa9RQ5kc/xEPWUU/p47AxCPQ==";
       };
     }
     {
@@ -382,7 +390,7 @@
       path = fetchurl {
         name = "_xmpp_tls___tls_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/tls/-/tls-0.9.2.tgz";
-        sha1 = "bc826e36bd65dc3b2516e4a563dc53ac8307746c";
+        sha512 = "Iqp8xKFwV7pLYS0Bl5GAC0UtHYhGw9TZfKb4Nc4FDewkL74WdFsIcXqZuGo0Ry4xnJ8TBSkWi2oEE1hYGUytAw==";
       };
     }
     {
@@ -390,7 +398,7 @@
       path = fetchurl {
         name = "_xmpp_websocket___websocket_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/websocket/-/websocket-0.9.2.tgz";
-        sha1 = "f8f4aabaaa0ce429f573a7cc2c0534ea16b38dde";
+        sha512 = "6Bhv16psT4qZBhmhhd8T6wwCXGBhOkXCQCH2954gHqbMTKsZL3xkL6WM9O2doiHO1ffvLERy/ofOoPSLfOLPzA==";
       };
     }
     {
@@ -398,7 +406,7 @@
       path = fetchurl {
         name = "_xmpp_xml___xml_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@xmpp/xml/-/xml-0.9.2.tgz";
-        sha1 = "7d02ba15820b81853833a86531abe3e0d1f9abd5";
+        sha512 = "xhPT3/EtTK0gsOLYyYmvoQncof1EQnE8P2eVBtUy/3Mt5FKhZI+gNsTkn+ORYjgkyHWfupIa9pN0/m7A89TCdA==";
       };
     }
     {
@@ -406,7 +414,7 @@
       path = fetchurl {
         name = "_yetzt_binary_search_tree___binary_search_tree_0.2.6.tgz";
         url  = "https://registry.yarnpkg.com/@yetzt/binary-search-tree/-/binary-search-tree-0.2.6.tgz";
-        sha1 = "91b2d861c089da0bfbeceb5deeca57b81c4210ec";
+        sha512 = "e/8wt8AAumI8VK5sv09b3IgWuRoblXJ5z0SQYfrL2nap89oKihvVaP1zy3FzD5NaeRi1X0gdXZA9lB3QAZILBg==";
       };
     }
     {
@@ -414,7 +422,7 @@
       path = fetchurl {
         name = "_yetzt_nedb___nedb_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/@yetzt/nedb/-/nedb-1.8.0.tgz";
-        sha1 = "c0e03bfd5f9e76045d4e4baacbebd271cb221258";
+        sha512 = "1hUV/eIPSCRb4Vs9dgLekBCCawWNtf29immIF9kvzxnnnEoWgyFSDZgFvlFCiQ3Bzo8ifXn92HDS3l9fNvmtzA==";
       };
     }
     {
@@ -422,7 +430,7 @@
       path = fetchurl {
         name = "abab___abab_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
-        sha1 = "c0b678fb32d60fc1219c784d6a826fe385aeb79a";
+        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
       };
     }
     {
@@ -430,7 +438,7 @@
       path = fetchurl {
         name = "abbrev___abbrev_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
-        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
       };
     }
     {
@@ -438,7 +446,7 @@
       path = fetchurl {
         name = "abort_controller___abort_controller_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz";
-        sha1 = "eaf54d53b62bae4138e809ca225c8439a6efb392";
+        sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
       };
     }
     {
@@ -446,23 +454,23 @@
       path = fetchurl {
         name = "abstract_logging___abstract_logging_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz";
-        sha1 = "6b0c371df212db7129b57d2e7fcf282b8bf1c839";
+        sha512 = "2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==";
       };
     }
     {
-      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";
-        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+        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";
-        sha1 = "2a37c7c8835da259eeb0cbfd8bcb7be3b9e4725b";
+        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==";
       };
     }
     {
@@ -470,7 +478,7 @@
       path = fetchurl {
         name = "acorn_globals___acorn_globals_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz";
-        sha1 = "46cdd39f0f8ff08a876619b55f5ac8a6dc770b45";
+        sha512 = "ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==";
       };
     }
     {
@@ -478,7 +486,7 @@
       path = fetchurl {
         name = "acorn_jsx___acorn_jsx_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
-        sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+        sha1 = "r9+UiPsezvyDSPb7IvRk4ypYs2s=";
       };
     }
     {
@@ -486,7 +494,7 @@
       path = fetchurl {
         name = "acorn_walk___acorn_walk_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz";
-        sha1 = "0de889a601203909b0fbe07b8938dc21d2e967bc";
+        sha512 = "OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==";
       };
     }
     {
@@ -494,7 +502,7 @@
       path = fetchurl {
         name = "acorn___acorn_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz";
-        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+        sha1 = "ReN/s56No/JbruP/U2niu18iAXo=";
       };
     }
     {
@@ -502,15 +510,15 @@
       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==";
       };
     }
     {
-      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";
-        sha1 = "e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895";
+        name = "acorn___acorn_8.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz";
+        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
       };
     }
     {
@@ -518,7 +526,7 @@
       path = fetchurl {
         name = "aedes_packet___aedes_packet_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/aedes-packet/-/aedes-packet-1.0.0.tgz";
-        sha1 = "2eea46f97c925b0a1f4d03f4f1fe5ef887b100f1";
+        sha1 = "LupG+XySWwofTQP08f5e+IexAPE=";
       };
     }
     {
@@ -526,7 +534,7 @@
       path = fetchurl {
         name = "aedes_persistence___aedes_persistence_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/aedes-persistence/-/aedes-persistence-6.0.0.tgz";
-        sha1 = "e9eb15288a3be1a8e9fc7f231df2237ca0978eb1";
+        sha512 = "LVk80Mg6bCfQgbcyo16ipuFo5KdORVxtzFAMmaisE3Hkydwt5H9I02gmF5IPADF5zPk0RfYxumQ4IIV1+jEp7Q==";
       };
     }
     {
@@ -534,7 +542,7 @@
       path = fetchurl {
         name = "aedes___aedes_0.39.0.tgz";
         url  = "https://registry.yarnpkg.com/aedes/-/aedes-0.39.0.tgz";
-        sha1 = "125e2f1e53a600f3a0bfde26431997deed27f117";
+        sha512 = "AV7pN4Ogt4tNNgNNabKjsC7Cw7bMMNjQH1hua4zQV0TFf/QEBPVu1YDZMH3Lrrt2XziydQzmBrBc5aAQvAq5FQ==";
       };
     }
     {
@@ -542,7 +550,7 @@
       path = fetchurl {
         name = "aes_js___aes_js_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz";
-        sha1 = "db9aabde85d5caabbfc0d4f2a4446960f627146a";
+        sha512 = "e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==";
       };
     }
     {
@@ -550,7 +558,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==";
       };
     }
     {
@@ -558,7 +566,7 @@
       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==";
       };
     }
     {
@@ -566,7 +574,7 @@
       path = fetchurl {
         name = "align_text___align_text_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz";
-        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+        sha1 = "DNkKVhCT810KmSVsIrcGlDP60Rc=";
       };
     }
     {
@@ -574,7 +582,7 @@
       path = fetchurl {
         name = "amdefine___amdefine_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz";
-        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+        sha1 = "SlKCrBZHKek2Gbz9OtFR+BfOkfU=";
       };
     }
     {
@@ -582,7 +590,7 @@
       path = fetchurl {
         name = "ansi_escape_sequences___ansi_escape_sequences_2.2.2.tgz";
         url  = "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz";
-        sha1 = "174c78d6f8b7de75f8957ae81c7f72210c701635";
+        sha1 = "F0x41vi33nX4lXroHH9yIQxwFjU=";
       };
     }
     {
@@ -590,7 +598,7 @@
       path = fetchurl {
         name = "ansi_escape_sequences___ansi_escape_sequences_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz";
-        sha1 = "1c18394b6af9b76ff9a63509fa497669fd2ce53e";
+        sha1 = "HBg5S2r5t2/5pjUJ+kl2af0s5T4=";
       };
     }
     {
@@ -598,7 +606,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";
+        sha1 = "w7M6te42DYbg5ijwRorn7yfWVN8=";
       };
     }
     {
@@ -606,7 +614,7 @@
       path = fetchurl {
         name = "ansi_regex___ansi_regex_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
       };
     }
     {
@@ -614,7 +622,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+        sha1 = "tDLdM1i2NM914eRmQ2gkBTPB3b4=";
       };
     }
     {
@@ -622,7 +630,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==";
       };
     }
     {
@@ -630,7 +638,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==";
       };
     }
     {
@@ -638,7 +646,7 @@
       path = fetchurl {
         name = "anymatch___anymatch_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz";
-        sha1 = "553dcb8f91e3c889845dfdba34c77721b90b9d7a";
+        sha512 = "0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==";
       };
     }
     {
@@ -646,7 +654,7 @@
       path = fetchurl {
         name = "app_usage_stats___app_usage_stats_0.4.1.tgz";
         url  = "https://registry.yarnpkg.com/app-usage-stats/-/app-usage-stats-0.4.1.tgz";
-        sha1 = "97eb9b89b5678fa2ddc9793b1298628cc218429f";
+        sha1 = "l+ubibVnj6LdyXk7EphijMIYQp8=";
       };
     }
     {
@@ -654,7 +662,7 @@
       path = fetchurl {
         name = "append_transform___append_transform_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz";
-        sha1 = "046a52ae582a228bd72f58acfbe2967c678759ab";
+        sha512 = "P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==";
       };
     }
     {
@@ -662,15 +670,15 @@
       path = fetchurl {
         name = "archiver_utils___archiver_utils_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz";
-        sha1 = "e8a460e94b693c3e3da182a098ca6285ba9249e2";
+        sha512 = "bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==";
       };
     }
     {
-      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";
-        sha1 = "4218a602b6088480703996808484fc1fc4a60a41";
+        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==";
       };
     }
     {
@@ -678,7 +686,7 @@
       path = fetchurl {
         name = "archiver___archiver_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz";
-        sha1 = "43c72865eadb4ddaaa2fb74852527b6a450d927c";
+        sha512 = "B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==";
       };
     }
     {
@@ -686,7 +694,7 @@
       path = fetchurl {
         name = "archiver___archiver_5.3.0.tgz";
         url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz";
-        sha1 = "dd3e097624481741df626267564f7dd8640a45ba";
+        sha512 = "iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==";
       };
     }
     {
@@ -694,7 +702,7 @@
       path = fetchurl {
         name = "archy___archy_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz";
-        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
+        sha1 = "+cjBN1fMHde8N5rHeyxipcKGjEA=";
       };
     }
     {
@@ -702,7 +710,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==";
       };
     }
     {
@@ -710,7 +718,7 @@
       path = fetchurl {
         name = "arr_diff___arr_diff_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz";
-        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
+        sha1 = "jzuCf5Vai9ZpaX5KQlasPOrjVs8=";
       };
     }
     {
@@ -718,7 +726,7 @@
       path = fetchurl {
         name = "arr_diff___arr_diff_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
-        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+        sha1 = "1kYQdP6/7HHn4VI1dhoyml3HxSA=";
       };
     }
     {
@@ -726,7 +734,7 @@
       path = fetchurl {
         name = "arr_flatten___arr_flatten_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
-        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+        sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
       };
     }
     {
@@ -734,7 +742,7 @@
       path = fetchurl {
         name = "arr_union___arr_union_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
-        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+        sha1 = "45sJrqne+Gao8gbiiK9jkZuuOcQ=";
       };
     }
     {
@@ -742,7 +750,7 @@
       path = fetchurl {
         name = "array_back___array_back_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz";
-        sha1 = "644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b";
+        sha1 = "ZEun8JX3/898Q7Xw3DnTwfA8Bjs=";
       };
     }
     {
@@ -750,7 +758,7 @@
       path = fetchurl {
         name = "array_each___array_each_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz";
-        sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f";
+        sha1 = "p5SvDAWrF1KEbudTofIRoFugxE8=";
       };
     }
     {
@@ -758,7 +766,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=";
       };
     }
     {
@@ -766,7 +774,7 @@
       path = fetchurl {
         name = "array_slice___array_slice_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz";
-        sha1 = "e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4";
+        sha512 = "B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==";
       };
     }
     {
@@ -774,7 +782,7 @@
       path = fetchurl {
         name = "array_tools___array_tools_1.8.6.tgz";
         url  = "https://registry.yarnpkg.com/array-tools/-/array-tools-1.8.6.tgz";
-        sha1 = "145771f7f9c94e98cc5ea4196a99b8323aee18ae";
+        sha1 = "FFdx9/nJTpjMXqQZapm4MjruGK4=";
       };
     }
     {
@@ -782,7 +790,7 @@
       path = fetchurl {
         name = "array_tools___array_tools_2.0.9.tgz";
         url  = "https://registry.yarnpkg.com/array-tools/-/array-tools-2.0.9.tgz";
-        sha1 = "5a511de7a41be0eec9ffdcd4912d0af9f0caca35";
+        sha1 = "WlEd56Qb4O7J/9zUkS0K+fDKyjU=";
       };
     }
     {
@@ -790,7 +798,7 @@
       path = fetchurl {
         name = "array_unique___array_unique_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz";
-        sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
+        sha1 = "odl8yvy8JiXMcPrc6zalDFiwGlM=";
       };
     }
     {
@@ -798,7 +806,7 @@
       path = fetchurl {
         name = "array_unique___array_unique_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
-        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+        sha1 = "qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=";
       };
     }
     {
@@ -806,7 +814,7 @@
       path = fetchurl {
         name = "arrify___arrify_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz";
-        sha1 = "c9655e9331e0abcd588d2a7cad7e9956f66701fa";
+        sha512 = "3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==";
       };
     }
     {
@@ -814,7 +822,7 @@
       path = fetchurl {
         name = "asap___asap_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz";
-        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+        sha1 = "5QNHYR1+aQlDIIu9r+vLwvuGbUY=";
       };
     }
     {
@@ -822,7 +830,7 @@
       path = fetchurl {
         name = "asn1.js___asn1.js_5.4.1.tgz";
         url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz";
-        sha1 = "11a980b84ebb91781ce35b0fdc2ee294e3783f07";
+        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     }
     {
@@ -830,7 +838,7 @@
       path = fetchurl {
         name = "asn1___asn1_0.2.6.tgz";
         url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz";
-        sha1 = "0d3a7bb6e64e02a90c0303b31f292868ea09a08d";
+        sha512 = "ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==";
       };
     }
     {
@@ -838,7 +846,7 @@
       path = fetchurl {
         name = "assert_plus___assert_plus_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+        sha1 = "8S4PPF13sLHN2RRpQuTpbB5N1SU=";
       };
     }
     {
@@ -846,7 +854,7 @@
       path = fetchurl {
         name = "assign_symbols___assign_symbols_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
-        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+        sha1 = "WWZ/QfrdTyDMvCu5a41Pf3jsA2c=";
       };
     }
     {
@@ -854,7 +862,7 @@
       path = fetchurl {
         name = "async_each___async_each_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
-        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
       };
     }
     {
@@ -862,7 +870,7 @@
       path = fetchurl {
         name = "async_limiter___async_limiter_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
-        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
       };
     }
     {
@@ -870,15 +878,15 @@
       path = fetchurl {
         name = "async___async_2.6.3.tgz";
         url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
-        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
       };
     }
     {
-      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";
-        sha1 = "2eb7671034bb2194d45d30e31e24ec7e7f9670cd";
+        name = "async___async_3.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     }
     {
@@ -886,7 +894,7 @@
       path = fetchurl {
         name = "asynckit___asynckit_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        sha1 = "x57Zf380y48robyXkLzDZkdLS3k=";
       };
     }
     {
@@ -894,7 +902,7 @@
       path = fetchurl {
         name = "atob___atob_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
-        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+        sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
       };
     }
     {
@@ -902,7 +910,7 @@
       path = fetchurl {
         name = "aws_sign2___aws_sign2_0.7.0.tgz";
         url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+        sha1 = "tG6JCTSpWR8tL2+G1+ap8bP+dqg=";
       };
     }
     {
@@ -910,23 +918,31 @@
       path = fetchurl {
         name = "aws4___aws4_1.11.0.tgz";
         url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz";
-        sha1 = "d61f46d83b2519250e2784daf5b09479a8b41c59";
+        sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     }
     {
-      name = "axios___axios_0.21.1.tgz";
+      name = "axios___axios_0.21.4.tgz";
       path = fetchurl {
-        name = "axios___axios_0.21.1.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz";
-        sha1 = "22563481962f4d6bde9a76d516ef0e5d3c09b2b8";
+        name = "axios___axios_0.21.4.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz";
+        sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
       };
     }
     {
-      name = "axios___axios_0.21.4.tgz";
+      name = "axios___axios_0.24.0.tgz";
       path = fetchurl {
-        name = "axios___axios_0.21.4.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz";
-        sha1 = "c67b90dc0568e5c1cf2b0b858c43ba28e2eda575";
+        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==";
       };
     }
     {
@@ -934,7 +950,7 @@
       path = fetchurl {
         name = "babel_cli___babel_cli_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz";
-        sha1 = "502ab54874d7db88ad00b887a06383ce03d002f1";
+        sha1 = "UCq1SHTX24itALiHoGODzgPQAvE=";
       };
     }
     {
@@ -942,7 +958,7 @@
       path = fetchurl {
         name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
-        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+        sha1 = "Y/1D99weO7fONZR9uP42mj9Yx0s=";
       };
     }
     {
@@ -950,7 +966,7 @@
       path = fetchurl {
         name = "babel_core___babel_core_6.26.3.tgz";
         url  = "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz";
-        sha1 = "b2e2f09e342d0f0c88e2f02e067794125e75c207";
+        sha512 = "6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==";
       };
     }
     {
@@ -958,7 +974,7 @@
       path = fetchurl {
         name = "babel_generator___babel_generator_6.26.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz";
-        sha1 = "1844408d3b8f0d35a404ea7ac180f087a601bd90";
+        sha512 = "HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==";
       };
     }
     {
@@ -966,7 +982,7 @@
       path = fetchurl {
         name = "babel_helper_call_delegate___babel_helper_call_delegate_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz";
-        sha1 = "ece6aacddc76e41c3461f88bfc575bd0daa2df8d";
+        sha1 = "7Oaqzdx25Bw0YfiL/Fdb0Nqi340=";
       };
     }
     {
@@ -974,7 +990,7 @@
       path = fetchurl {
         name = "babel_helper_define_map___babel_helper_define_map_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz";
-        sha1 = "a5f56dab41a25f97ecb498c7ebaca9819f95be5f";
+        sha1 = "pfVtq0GiX5fstJjH66ypgZ+Vvl8=";
       };
     }
     {
@@ -982,7 +998,7 @@
       path = fetchurl {
         name = "babel_helper_function_name___babel_helper_function_name_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz";
-        sha1 = "d3475b8c03ed98242a25b48351ab18399d3580a9";
+        sha1 = "00dbjAPtmCQqJbSDUasYOZ01gKk=";
       };
     }
     {
@@ -990,7 +1006,7 @@
       path = fetchurl {
         name = "babel_helper_get_function_arity___babel_helper_get_function_arity_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz";
-        sha1 = "8f7782aa93407c41d3aa50908f89b031b1b6853d";
+        sha1 = "j3eCqpNAfEHTqlCQj4mwMbG2hT0=";
       };
     }
     {
@@ -998,7 +1014,7 @@
       path = fetchurl {
         name = "babel_helper_hoist_variables___babel_helper_hoist_variables_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz";
-        sha1 = "1ecb27689c9d25513eadbc9914a73f5408be7a76";
+        sha1 = "HssnaJydJVE+rbyZFKc/VAi+enY=";
       };
     }
     {
@@ -1006,7 +1022,7 @@
       path = fetchurl {
         name = "babel_helper_optimise_call_expression___babel_helper_optimise_call_expression_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz";
-        sha1 = "f7a13427ba9f73f8f4fa993c54a97882d1244257";
+        sha1 = "96E0J7qfc/j0+pk8VKl4gtEkQlc=";
       };
     }
     {
@@ -1014,7 +1030,7 @@
       path = fetchurl {
         name = "babel_helper_regex___babel_helper_regex_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz";
-        sha1 = "325c59f902f82f24b74faceed0363954f6495e72";
+        sha1 = "MlxZ+QL4LyS3T6zu0DY5VPZJXnI=";
       };
     }
     {
@@ -1022,7 +1038,7 @@
       path = fetchurl {
         name = "babel_helper_replace_supers___babel_helper_replace_supers_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz";
-        sha1 = "bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a";
+        sha1 = "v22/5Dk40XNpohPKiov3S2qQqxo=";
       };
     }
     {
@@ -1030,7 +1046,7 @@
       path = fetchurl {
         name = "babel_helpers___babel_helpers_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz";
-        sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
+        sha1 = "NHHenK7DiOXIUOWX5Yom3fN2ArI=";
       };
     }
     {
@@ -1038,7 +1054,7 @@
       path = fetchurl {
         name = "babel_messages___babel_messages_6.23.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz";
-        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
+        sha1 = "8830cDhYA1sqKVHG7F7fbGLyYw4=";
       };
     }
     {
@@ -1046,7 +1062,7 @@
       path = fetchurl {
         name = "babel_plugin_check_es2015_constants___babel_plugin_check_es2015_constants_6.22.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz";
-        sha1 = "35157b101426fd2ffd3da3f75c7d1e91835bbf8a";
+        sha1 = "NRV7EBQm/S/9PaP3XH0ekYNbv4o=";
       };
     }
     {
@@ -1054,7 +1070,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_arrow_functions___babel_plugin_transform_es2015_arrow_functions_6.22.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
-        sha1 = "452692cb711d5f79dc7f85e440ce41b9f244d221";
+        sha1 = "RSaSy3EdX3ncf4XkQM5BufJE0iE=";
       };
     }
     {
@@ -1062,7 +1078,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_block_scoped_functions___babel_plugin_transform_es2015_block_scoped_functions_6.22.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
-        sha1 = "bbc51b49f964d70cb8d8e0b94e820246ce3a6141";
+        sha1 = "u8UbSflk1wy42OC5ToICRs46YUE=";
       };
     }
     {
@@ -1070,7 +1086,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_block_scoping___babel_plugin_transform_es2015_block_scoping_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz";
-        sha1 = "d70f5299c1308d05c12f463813b0a09e73b1895f";
+        sha1 = "1w9SmcEwjQXBL0Y4E7CgnnOxiV8=";
       };
     }
     {
@@ -1078,7 +1094,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_classes___babel_plugin_transform_es2015_classes_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz";
-        sha1 = "5a4c58a50c9c9461e564b4b2a3bfabc97a2584db";
+        sha1 = "WkxYpQyclGHlZLSyo7+ryXolhNs=";
       };
     }
     {
@@ -1086,7 +1102,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_computed_properties___babel_plugin_transform_es2015_computed_properties_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz";
-        sha1 = "6fe2a8d16895d5634f4cd999b6d3480a308159b3";
+        sha1 = "b+Ko0WiV1WNPTNmZttNICjCBWbM=";
       };
     }
     {
@@ -1094,7 +1110,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_destructuring___babel_plugin_transform_es2015_destructuring_6.23.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
-        sha1 = "997bb1f1ab967f682d2b0876fe358d60e765c56d";
+        sha1 = "mXux8auWf2gtKwh2/jWNYOdlxW0=";
       };
     }
     {
@@ -1102,7 +1118,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_duplicate_keys___babel_plugin_transform_es2015_duplicate_keys_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz";
-        sha1 = "73eb3d310ca969e3ef9ec91c53741a6f1576423e";
+        sha1 = "c+s9MQypaePvnskcU3QabxV2Qj4=";
       };
     }
     {
@@ -1110,7 +1126,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_for_of___babel_plugin_transform_es2015_for_of_6.23.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz";
-        sha1 = "f47c95b2b613df1d3ecc2fdb7573623c75248691";
+        sha1 = "9HyVsrYT3x0+zC/bdXNiPHUkhpE=";
       };
     }
     {
@@ -1118,7 +1134,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_function_name___babel_plugin_transform_es2015_function_name_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz";
-        sha1 = "834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b";
+        sha1 = "g0yJhTvDaxrw86TF26qU/Y6sqos=";
       };
     }
     {
@@ -1126,7 +1142,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_literals___babel_plugin_transform_es2015_literals_6.22.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz";
-        sha1 = "4f54a02d6cd66cf915280019a31d31925377ca2e";
+        sha1 = "T1SgLWzWbPkVKAAZox0xklN3yi4=";
       };
     }
     {
@@ -1134,7 +1150,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_modules_amd___babel_plugin_transform_es2015_modules_amd_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz";
-        sha1 = "3b3e54017239842d6d19c3011c4bd2f00a00d154";
+        sha1 = "Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=";
       };
     }
     {
@@ -1142,7 +1158,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_modules_commonjs___babel_plugin_transform_es2015_modules_commonjs_6.26.2.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz";
-        sha1 = "58a793863a9e7ca870bdc5a881117ffac27db6f3";
+        sha512 = "CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==";
       };
     }
     {
@@ -1150,7 +1166,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_modules_systemjs___babel_plugin_transform_es2015_modules_systemjs_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz";
-        sha1 = "ff89a142b9119a906195f5f106ecf305d9407d23";
+        sha1 = "/4mhQrkRmpBhlfXxBuzzBdlAfSM=";
       };
     }
     {
@@ -1158,7 +1174,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_modules_umd___babel_plugin_transform_es2015_modules_umd_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz";
-        sha1 = "ac997e6285cd18ed6176adb607d602344ad38468";
+        sha1 = "rJl+YoXNGO1hdq22B9YCNErThGg=";
       };
     }
     {
@@ -1166,7 +1182,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_object_super___babel_plugin_transform_es2015_object_super_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz";
-        sha1 = "24cef69ae21cb83a7f8603dad021f572eb278f8d";
+        sha1 = "JM72muIcuDp/hgPa0CH1cusnj40=";
       };
     }
     {
@@ -1174,7 +1190,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_parameters___babel_plugin_transform_es2015_parameters_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz";
-        sha1 = "57ac351ab49caf14a97cd13b09f66fdf0a625f2b";
+        sha1 = "V6w1GrScrxSpfNE7CfZv3wpiXys=";
       };
     }
     {
@@ -1182,7 +1198,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_shorthand_properties___babel_plugin_transform_es2015_shorthand_properties_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz";
-        sha1 = "24f875d6721c87661bbd99a4622e51f14de38aa0";
+        sha1 = "JPh11nIch2YbvZmkYi5R8U3jiqA=";
       };
     }
     {
@@ -1190,7 +1206,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_spread___babel_plugin_transform_es2015_spread_6.22.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz";
-        sha1 = "d6d68a99f89aedc4536c81a542e8dd9f1746f8d1";
+        sha1 = "1taKmfia7cRTbIGlQujdnxdG+NE=";
       };
     }
     {
@@ -1198,7 +1214,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_sticky_regex___babel_plugin_transform_es2015_sticky_regex_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz";
-        sha1 = "00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc";
+        sha1 = "AMHNsaynERLN8M9hJsLta0V8zbw=";
       };
     }
     {
@@ -1206,7 +1222,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_template_literals___babel_plugin_transform_es2015_template_literals_6.22.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
-        sha1 = "a84b3450f7e9f8f1f6839d6d687da84bb1236d8d";
+        sha1 = "qEs0UPfp+PH2g51taH2oS7EjbY0=";
       };
     }
     {
@@ -1214,7 +1230,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_typeof_symbol___babel_plugin_transform_es2015_typeof_symbol_6.23.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
-        sha1 = "dec09f1cddff94b52ac73d505c84df59dcceb372";
+        sha1 = "3sCfHN3/lLUqxz1QXITfWdzOs3I=";
       };
     }
     {
@@ -1222,7 +1238,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_es2015_unicode_regex___babel_plugin_transform_es2015_unicode_regex_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz";
-        sha1 = "d38b12f42ea7323f729387f18a7c5ae1faeb35e9";
+        sha1 = "04sS9C6nMj9yk4fxinxa4frrNek=";
       };
     }
     {
@@ -1230,7 +1246,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_regenerator___babel_plugin_transform_regenerator_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz";
-        sha1 = "e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f";
+        sha1 = "4HA2lvveJ/Cj78rPi03KL3s6jy8=";
       };
     }
     {
@@ -1238,7 +1254,7 @@
       path = fetchurl {
         name = "babel_plugin_transform_strict_mode___babel_plugin_transform_strict_mode_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz";
-        sha1 = "d5faf7aa578a65bbe591cf5edae04a0c67020758";
+        sha1 = "1fr3qleKZbvlkc9e2uBKDGcCB1g=";
       };
     }
     {
@@ -1246,7 +1262,7 @@
       path = fetchurl {
         name = "babel_polyfill___babel_polyfill_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz";
-        sha1 = "379937abc67d7895970adc621f284cd966cf2153";
+        sha1 = "N5k3q8Z9eJWXCtxiHyhM2WbPIVM=";
       };
     }
     {
@@ -1254,7 +1270,7 @@
       path = fetchurl {
         name = "babel_preset_es2015___babel_preset_es2015_6.24.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz";
-        sha1 = "d44050d6bc2c9feea702aaf38d727a0210538939";
+        sha1 = "1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=";
       };
     }
     {
@@ -1262,7 +1278,7 @@
       path = fetchurl {
         name = "babel_register___babel_register_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz";
-        sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071";
+        sha1 = "btAhFz4vy0htestFxgCahW9kcHE=";
       };
     }
     {
@@ -1270,7 +1286,7 @@
       path = fetchurl {
         name = "babel_runtime___babel_runtime_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
-        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+        sha1 = "llxwWGaOgrVde/4E/yM3vItWR/4=";
       };
     }
     {
@@ -1278,7 +1294,7 @@
       path = fetchurl {
         name = "babel_template___babel_template_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz";
-        sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02";
+        sha1 = "3gPi0WOWsGn0bdn/+FIfsaDjXgI=";
       };
     }
     {
@@ -1286,7 +1302,7 @@
       path = fetchurl {
         name = "babel_traverse___babel_traverse_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz";
-        sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee";
+        sha1 = "RqnL1+3MYsjlwGTi0tjQ9ANXZu4=";
       };
     }
     {
@@ -1294,7 +1310,7 @@
       path = fetchurl {
         name = "babel_types___babel_types_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz";
-        sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497";
+        sha1 = "o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=";
       };
     }
     {
@@ -1302,7 +1318,7 @@
       path = fetchurl {
         name = "babylon___babylon_6.18.0.tgz";
         url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz";
-        sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3";
+        sha512 = "q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==";
       };
     }
     {
@@ -1310,7 +1326,7 @@
       path = fetchurl {
         name = "backo2___backo2_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz";
-        sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947";
+        sha1 = "MasayLEpNjRj41s+u2n038+6eUc=";
       };
     }
     {
@@ -1318,7 +1334,7 @@
       path = fetchurl {
         name = "backoff___backoff_2.5.0.tgz";
         url  = "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz";
-        sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f";
+        sha1 = "9hbtqdPktmuMp/ynn2lXIsX44m8=";
       };
     }
     {
@@ -1326,7 +1342,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==";
       };
     }
     {
@@ -1334,7 +1350,7 @@
       path = fetchurl {
         name = "base_64___base_64_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz";
-        sha1 = "780a99c84e7d600260361511c4877613bf24f6bb";
+        sha1 = "eAqZyE59YAJgNhURxId2E78k9rs=";
       };
     }
     {
@@ -1342,7 +1358,7 @@
       path = fetchurl {
         name = "base_64___base_64_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz";
-        sha1 = "09d0f2084e32a3fd08c2475b973788eee6ae8f4a";
+        sha512 = "kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==";
       };
     }
     {
@@ -1350,7 +1366,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==";
       };
     }
     {
@@ -1358,7 +1374,7 @@
       path = fetchurl {
         name = "base64url___base64url_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz";
-        sha1 = "6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d";
+        sha512 = "ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==";
       };
     }
     {
@@ -1366,7 +1382,7 @@
       path = fetchurl {
         name = "base___base_0.11.2.tgz";
         url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
-        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
       };
     }
     {
@@ -1374,7 +1390,7 @@
       path = fetchurl {
         name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
-        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+        sha1 = "pDAdOJtqQ/m2f/PKEaP2Y342Dp4=";
       };
     }
     {
@@ -1382,7 +1398,7 @@
       path = fetchurl {
         name = "bcryptjs___bcryptjs_2.4.3.tgz";
         url  = "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz";
-        sha1 = "9ab5627b93e60621ff7cdac5da9733027df1d0cb";
+        sha1 = "mrVie5PmBiH/fNrF2pczAn3x0Ms=";
       };
     }
     {
@@ -1390,15 +1406,15 @@
       path = fetchurl {
         name = "bignumber.js___bignumber.js_9.0.0.tgz";
         url  = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz";
-        sha1 = "805880f84a329b5eac6e7cb6f8274b6d82bdf075";
+        sha512 = "t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==";
       };
     }
     {
-      name = "bignumber.js___bignumber.js_9.0.1.tgz";
+      name = "bignumber.js___bignumber.js_9.0.2.tgz";
       path = fetchurl {
-        name = "bignumber.js___bignumber.js_9.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz";
-        sha1 = "8d7ba124c882bfd8e43260c67475518d0689e4e5";
+        name = "bignumber.js___bignumber.js_9.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz";
+        sha512 = "GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==";
       };
     }
     {
@@ -1406,7 +1422,7 @@
       path = fetchurl {
         name = "binary_extensions___binary_extensions_1.13.1.tgz";
         url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
-        sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
+        sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
       };
     }
     {
@@ -1414,7 +1430,7 @@
       path = fetchurl {
         name = "binary_search___binary_search_1.3.6.tgz";
         url  = "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.6.tgz";
-        sha1 = "e32426016a0c5092f0f3598836a1c7da3560565c";
+        sha512 = "nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==";
       };
     }
     {
@@ -1422,7 +1438,7 @@
       path = fetchurl {
         name = "bindings___bindings_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz";
-        sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df";
+        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
       };
     }
     {
@@ -1430,7 +1446,7 @@
       path = fetchurl {
         name = "bitwise_xor___bitwise_xor_0.0.0.tgz";
         url  = "https://registry.yarnpkg.com/bitwise-xor/-/bitwise-xor-0.0.0.tgz";
-        sha1 = "040a8172b5bb8cc562b0b7119f230b2a1a780e3d";
+        sha1 = "BAqBcrW7jMVisLcRnyMLKhp4Dj0=";
       };
     }
     {
@@ -1438,7 +1454,7 @@
       path = fetchurl {
         name = "bl___bl_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz";
-        sha1 = "8c11a7b730655c5d56898cdc871224f40fd901d5";
+        sha512 = "6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==";
       };
     }
     {
@@ -1446,7 +1462,7 @@
       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==";
       };
     }
     {
@@ -1454,7 +1470,7 @@
       path = fetchurl {
         name = "bluebird___bluebird_3.7.2.tgz";
         url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
-        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     }
     {
@@ -1462,7 +1478,7 @@
       path = fetchurl {
         name = "bluebird___bluebird_3.4.7.tgz";
         url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz";
-        sha1 = "f72d760be09b7f76d08ed8fae98b289a8d05fab3";
+        sha1 = "9y12C+Cbf3bQjtj66Ysomo0F+rM=";
       };
     }
     {
@@ -1470,15 +1486,15 @@
       path = fetchurl {
         name = "bn.js___bn.js_4.12.0.tgz";
         url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz";
-        sha1 = "775b3f278efbb9718eec7361f483fb36fbbfea88";
+        sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -1486,7 +1502,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==";
       };
     }
     {
@@ -1494,7 +1510,7 @@
       path = fetchurl {
         name = "braces___braces_1.8.5.tgz";
         url  = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz";
-        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
+        sha1 = "uneWLhLf+WnWt2cR6RS3N4V79qc=";
       };
     }
     {
@@ -1502,7 +1518,7 @@
       path = fetchurl {
         name = "braces___braces_2.3.2.tgz";
         url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
-        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+        sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
       };
     }
     {
@@ -1510,7 +1526,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==";
       };
     }
     {
@@ -1518,7 +1534,7 @@
       path = fetchurl {
         name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
-        sha1 = "3c9b4b7d782c8121e56f10106d84c0d0ffc94626";
+        sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
       };
     }
     {
@@ -1526,15 +1542,15 @@
       path = fetchurl {
         name = "bson___bson_1.1.6.tgz";
         url  = "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz";
-        sha1 = "fb819be9a60cd677e0853aee4ca712a785d6618a";
+        sha512 = "EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==";
       };
     }
     {
-      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";
-        sha1 = "15c3b39ba3940c3d915a0c44d51459f4b4fbf1b2";
+        name = "bson___bson_4.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/bson/-/bson-4.6.1.tgz";
+        sha512 = "I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==";
       };
     }
     {
@@ -1542,7 +1558,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=";
       };
     }
     {
@@ -1550,7 +1566,7 @@
       path = fetchurl {
         name = "buffer_equal_constant_time___buffer_equal_constant_time_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
-        sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
+        sha1 = "+OcRMvf/5uAaXJaXpMbz5I1cyBk=";
       };
     }
     {
@@ -1558,7 +1574,7 @@
       path = fetchurl {
         name = "buffer_writer___buffer_writer_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz";
-        sha1 = "ce7eb81a38f7829db09c873f2fbb792c0c98ec04";
+        sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==";
       };
     }
     {
@@ -1566,7 +1582,7 @@
       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==";
       };
     }
     {
@@ -1574,7 +1590,7 @@
       path = fetchurl {
         name = "build_url___build_url_1.3.3.tgz";
         url  = "https://registry.yarnpkg.com/build-url/-/build-url-1.3.3.tgz";
-        sha1 = "fad1ef30d8861931f85bc1f41fca0a537be31e5f";
+        sha512 = "uSC8d+d4SlbXTu/9nBhwEKi33CE0KQgCvfy8QwyrrO5vCuXr9hN021ZBh8ip5vxPbMOrZiPwgqcupuhezxiP3g==";
       };
     }
     {
@@ -1582,7 +1598,7 @@
       path = fetchurl {
         name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz";
-        sha1 = "085bdc65caf19ceece4ff365fdb951ef0c6e3db8";
+        sha512 = "XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==";
       };
     }
     {
@@ -1590,7 +1606,7 @@
       path = fetchurl {
         name = "bunyan___bunyan_1.8.15.tgz";
         url  = "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz";
-        sha1 = "8ce34ca908a17d0776576ca1b2f6cbd916e93b46";
+        sha512 = "0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==";
       };
     }
     {
@@ -1598,15 +1614,15 @@
       path = fetchurl {
         name = "bytes___bytes_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
-        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+        sha1 = "0ygVQE1olpn4Wk6k+odV3ROpYEg=";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -1614,7 +1630,7 @@
       path = fetchurl {
         name = "cache_base___cache_base_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
-        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
       };
     }
     {
@@ -1622,7 +1638,7 @@
       path = fetchurl {
         name = "cache_point___cache_point_0.3.4.tgz";
         url  = "https://registry.yarnpkg.com/cache-point/-/cache-point-0.3.4.tgz";
-        sha1 = "152db502c6bb23b5aa3f663e230d5de8ec4e4f3f";
+        sha1 = "FS21Asa7I7WqP2Y+Iw1d6OxOTz8=";
       };
     }
     {
@@ -1630,7 +1646,7 @@
       path = fetchurl {
         name = "caching_transform___caching_transform_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz";
-        sha1 = "601d46b91eca87687a281e71cef99791b0efca70";
+        sha512 = "Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==";
       };
     }
     {
@@ -1638,7 +1654,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==";
       };
     }
     {
@@ -1646,7 +1662,7 @@
       path = fetchurl {
         name = "camel_case___camel_case_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz";
-        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+        sha1 = "yjw2iKTpzzpM2nd9xNy8cTJJz3M=";
       };
     }
     {
@@ -1654,7 +1670,7 @@
       path = fetchurl {
         name = "camelcase___camelcase_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz";
-        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+        sha1 = "m7UwTS4LVmmLLHWLCKPqqdqlijk=";
       };
     }
     {
@@ -1662,7 +1678,7 @@
       path = fetchurl {
         name = "camelcase___camelcase_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz";
-        sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
+        sha1 = "MvxLn82vhF/N9+c7uXysImHwqwo=";
       };
     }
     {
@@ -1670,7 +1686,7 @@
       path = fetchurl {
         name = "camelcase___camelcase_5.3.1.tgz";
         url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
-        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     }
     {
@@ -1678,7 +1694,7 @@
       path = fetchurl {
         name = "caseless___caseless_0.12.0.tgz";
         url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+        sha1 = "G2gcIf+EAzyCZUMJBolCDRhxUdw=";
       };
     }
     {
@@ -1686,7 +1702,7 @@
       path = fetchurl {
         name = "catharsis___catharsis_0.8.11.tgz";
         url  = "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.11.tgz";
-        sha1 = "d0eb3d2b82b7da7a3ce2efb1a7b00becc6643468";
+        sha512 = "a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==";
       };
     }
     {
@@ -1694,7 +1710,7 @@
       path = fetchurl {
         name = "cbor___cbor_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz";
-        sha1 = "4cca67783ccd6de7b50ab4ed62636712f287a67c";
+        sha512 = "5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==";
       };
     }
     {
@@ -1702,7 +1718,7 @@
       path = fetchurl {
         name = "center_align___center_align_0.1.3.tgz";
         url  = "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz";
-        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+        sha1 = "qg0yYptu6XIgBBHL1EYckHvCt60=";
       };
     }
     {
@@ -1710,7 +1726,7 @@
       path = fetchurl {
         name = "chalk___chalk_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+        sha1 = "qBFcVeSnAv5NFQq9OHKCKn4J/Jg=";
       };
     }
     {
@@ -1718,7 +1734,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==";
       };
     }
     {
@@ -1726,7 +1742,7 @@
       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==";
       };
     }
     {
@@ -1734,7 +1750,7 @@
       path = fetchurl {
         name = "charenc___charenc_0.0.2.tgz";
         url  = "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz";
-        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+        sha1 = "wKHS86cJLgN3S/qD8UwPxXkKhmc=";
       };
     }
     {
@@ -1742,7 +1758,7 @@
       path = fetchurl {
         name = "chokidar___chokidar_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz";
-        sha1 = "798e689778151c8076b4b360e5edd28cda2bb468";
+        sha1 = "eY5ol3gVHIB2tLNg5e3SjNortGg=";
       };
     }
     {
@@ -1750,7 +1766,7 @@
       path = fetchurl {
         name = "cipher_base___cipher_base_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
-        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
       };
     }
     {
@@ -1758,7 +1774,7 @@
       path = fetchurl {
         name = "class_utils___class_utils_0.3.6.tgz";
         url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
-        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+        sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
       };
     }
     {
@@ -1766,7 +1782,7 @@
       path = fetchurl {
         name = "clean_css___clean_css_4.2.4.tgz";
         url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz";
-        sha1 = "733bf46eba4e607c6891ea57c24a989356831178";
+        sha512 = "EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==";
       };
     }
     {
@@ -1774,7 +1790,7 @@
       path = fetchurl {
         name = "cli_commands___cli_commands_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/cli-commands/-/cli-commands-0.1.0.tgz";
-        sha1 = "c57cacc406bbcf9ee21646607161ed432ef5a05a";
+        sha1 = "xXysxAa7z57iFkZgcWHtQy71oFo=";
       };
     }
     {
@@ -1782,7 +1798,7 @@
       path = fetchurl {
         name = "cliui___cliui_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz";
-        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+        sha1 = "S0dXYP+AJkx2LDoXGQMukcf+oNE=";
       };
     }
     {
@@ -1790,7 +1806,7 @@
       path = fetchurl {
         name = "cliui___cliui_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz";
-        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+        sha1 = "EgYBU3qRbSmUD5NNo7SNWFo5IT0=";
       };
     }
     {
@@ -1798,7 +1814,7 @@
       path = fetchurl {
         name = "cliui___cliui_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
-        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
       };
     }
     {
@@ -1806,7 +1822,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=";
       };
     }
     {
@@ -1814,7 +1830,7 @@
       path = fetchurl {
         name = "collect_all___collect_all_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.4.tgz";
-        sha1 = "50cd7119ac24b8e12a661f0f8c3aa0ea7222ddfc";
+        sha512 = "RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==";
       };
     }
     {
@@ -1822,7 +1838,7 @@
       path = fetchurl {
         name = "collect_all___collect_all_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/collect-all/-/collect-all-0.2.1.tgz";
-        sha1 = "7225fb4585c22d4ffac886f0abaf5abc563a1a6a";
+        sha1 = "ciX7RYXCLU/6yIbwq69avFY6Gmo=";
       };
     }
     {
@@ -1830,7 +1846,7 @@
       path = fetchurl {
         name = "collect_json___collect_json_1.0.9.tgz";
         url  = "https://registry.yarnpkg.com/collect-json/-/collect-json-1.0.9.tgz";
-        sha1 = "eb9906ef3160899e46e8482fac13a5e591dae9ae";
+        sha512 = "5sGzu8rjhY4uzm4FJOVsNtcAhNiyEsZ70Lz3xv+7mXuLfU41QikE0es3nn2N0knqEKg+r4K7TMFHFmR8OFGpFA==";
       };
     }
     {
@@ -1838,7 +1854,7 @@
       path = fetchurl {
         name = "collection_visit___collection_visit_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
-        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+        sha1 = "S8A3PBZLwykbTTaMgpzxqApZ3KA=";
       };
     }
     {
@@ -1846,7 +1862,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==";
       };
     }
     {
@@ -1854,7 +1870,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==";
       };
     }
     {
@@ -1862,7 +1878,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=";
       };
     }
     {
@@ -1870,7 +1886,7 @@
       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==";
       };
     }
     {
@@ -1878,7 +1894,7 @@
       path = fetchurl {
         name = "colors___colors_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz";
-        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
+        sha1 = "FopHAXVran9RoSzgyXv6KMCE7WM=";
       };
     }
     {
@@ -1886,7 +1902,7 @@
       path = fetchurl {
         name = "column_layout___column_layout_2.1.4.tgz";
         url  = "https://registry.yarnpkg.com/column-layout/-/column-layout-2.1.4.tgz";
-        sha1 = "ed2857092ccf8338026fe538379d9672d70b3641";
+        sha1 = "7ShXCSzPgzgCb+U4N52WctcLNkE=";
       };
     }
     {
@@ -1894,7 +1910,7 @@
       path = fetchurl {
         name = "combined_stream___combined_stream_1.0.8.tgz";
         url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     }
     {
@@ -1902,7 +1918,7 @@
       path = fetchurl {
         name = "command_line_args___command_line_args_2.1.6.tgz";
         url  = "https://registry.yarnpkg.com/command-line-args/-/command-line-args-2.1.6.tgz";
-        sha1 = "f197d6eaff34c9085577484b2864375b294f5697";
+        sha1 = "8ZfW6v80yQhVd0hLKGQ3WylPVpc=";
       };
     }
     {
@@ -1910,7 +1926,7 @@
       path = fetchurl {
         name = "command_line_args___command_line_args_3.0.5.tgz";
         url  = "https://registry.yarnpkg.com/command-line-args/-/command-line-args-3.0.5.tgz";
-        sha1 = "5bd4ad45e7983e5c1344918e40280ee2693c5ac0";
+        sha1 = "W9StReeYPlwTRJGOQCgO4mk8WsA=";
       };
     }
     {
@@ -1918,7 +1934,7 @@
       path = fetchurl {
         name = "command_line_commands___command_line_commands_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/command-line-commands/-/command-line-commands-1.0.4.tgz";
-        sha1 = "034f9b167b5188afbdcf6b2efbb150fc8442c32b";
+        sha1 = "A0+bFntRiK+9z2su+7FQ/IRCwys=";
       };
     }
     {
@@ -1926,7 +1942,7 @@
       path = fetchurl {
         name = "command_line_tool___command_line_tool_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.1.0.tgz";
-        sha1 = "91a11ba48ac63a4a687554367980f7c6423c149d";
+        sha1 = "kaEbpIrGOkpodVQ2eYD3xkI8FJ0=";
       };
     }
     {
@@ -1934,7 +1950,7 @@
       path = fetchurl {
         name = "command_line_tool___command_line_tool_0.5.2.tgz";
         url  = "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.5.2.tgz";
-        sha1 = "f87d6977f56bbdd2d5dfcf946345dd2cd9c6a53a";
+        sha1 = "+H1pd/VrvdLV38+UY0XdLNnGpTo=";
       };
     }
     {
@@ -1942,7 +1958,7 @@
       path = fetchurl {
         name = "command_line_usage___command_line_usage_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-2.0.5.tgz";
-        sha1 = "f80c35ca5e8624841923ea3be3b9bfbf4f7be27b";
+        sha1 = "+Aw1yl6GJIQZI+o747m/v0974ns=";
       };
     }
     {
@@ -1950,7 +1966,7 @@
       path = fetchurl {
         name = "command_line_usage___command_line_usage_3.0.8.tgz";
         url  = "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-3.0.8.tgz";
-        sha1 = "b6a20978c1b383477f5c11a529428b880bfe0f4d";
+        sha1 = "tqIJeMGzg0d/XBGlKUKLiAv+D00=";
       };
     }
     {
@@ -1958,7 +1974,7 @@
       path = fetchurl {
         name = "commander___commander_2.20.3.tgz";
         url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
-        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
       };
     }
     {
@@ -1966,7 +1982,7 @@
       path = fetchurl {
         name = "common_sequence___common_sequence_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/common-sequence/-/common-sequence-1.0.2.tgz";
-        sha1 = "30e07f3f8f6f7f9b3dee854f20b2d39eee086de8";
+        sha1 = "MOB/P49vf5s97oVPILLTnu4Ibeg=";
       };
     }
     {
@@ -1974,7 +1990,7 @@
       path = fetchurl {
         name = "commondir___commondir_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
-        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+        sha1 = "3dgA2gxmEnOTzKWVDqloo6rxJTs=";
       };
     }
     {
@@ -1982,7 +1998,7 @@
       path = fetchurl {
         name = "component_emitter___component_emitter_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
-        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+        sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
       };
     }
     {
@@ -1990,7 +2006,7 @@
       path = fetchurl {
         name = "compress_commons___compress_commons_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz";
-        sha1 = "833944d84596e537224dd91cf92f5246823d4f1d";
+        sha512 = "FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==";
       };
     }
     {
@@ -1998,7 +2014,7 @@
       path = fetchurl {
         name = "compress_commons___compress_commons_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz";
-        sha1 = "df2a09a7ed17447642bad10a85cc9a19e5c42a7d";
+        sha512 = "QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==";
       };
     }
     {
@@ -2006,7 +2022,7 @@
       path = fetchurl {
         name = "compressible___compressible_2.0.18.tgz";
         url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz";
-        sha1 = "af53cca6b070d4c3c0750fbd77286a6d7cc46fba";
+        sha512 = "AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==";
       };
     }
     {
@@ -2014,7 +2030,7 @@
       path = fetchurl {
         name = "compression___compression_1.7.4.tgz";
         url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
-        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+        sha512 = "jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==";
       };
     }
     {
@@ -2022,7 +2038,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=";
       };
     }
     {
@@ -2030,15 +2046,15 @@
       path = fetchurl {
         name = "config_master___config_master_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/config-master/-/config-master-2.0.4.tgz";
-        sha1 = "e749505c5d3f946f2fad3c76dfe71fca689751dc";
+        sha1 = "50lQXF0/lG8vrTx23+cfymiXUdw=";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -2046,7 +2062,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==";
       };
     }
     {
@@ -2054,7 +2070,7 @@
       path = fetchurl {
         name = "convert_source_map___convert_source_map_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz";
-        sha1 = "f3373c32d21b4d780dd8004514684fb791ca4369";
+        sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
       };
     }
     {
@@ -2062,7 +2078,7 @@
       path = fetchurl {
         name = "cookie_session___cookie_session_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/cookie-session/-/cookie-session-1.4.0.tgz";
-        sha1 = "c325aea685ceb9c8e4fd00b0313a46d547747380";
+        sha512 = "0hhwD+BUIwMXQraiZP/J7VP2YFzqo6g4WqZlWHtEHQ22t0MeZZrNBSCxC1zcaLAs8ApT3BzAKizx9gW/AP9vNA==";
       };
     }
     {
@@ -2070,15 +2086,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==";
       };
     }
     {
@@ -2086,7 +2102,7 @@
       path = fetchurl {
         name = "cookies___cookies_0.8.0.tgz";
         url  = "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz";
-        sha1 = "1293ce4b391740a8406e3c9870e828c4b54f3f90";
+        sha512 = "8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==";
       };
     }
     {
@@ -2094,7 +2110,7 @@
       path = fetchurl {
         name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
-        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+        sha1 = "Z29us8OZl8LuGsOpJP1hJHSPV40=";
       };
     }
     {
@@ -2102,7 +2118,7 @@
       path = fetchurl {
         name = "core_js___core_js_2.6.12.tgz";
         url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz";
-        sha1 = "d9333dfa7b065e347cc5682219d6f690859cc2ec";
+        sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     }
     {
@@ -2110,7 +2126,7 @@
       path = fetchurl {
         name = "core_util_is___core_util_is_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+        sha1 = "tf1UIgqivFq1eqtxQMlAdUUDwac=";
       };
     }
     {
@@ -2118,7 +2134,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==";
       };
     }
     {
@@ -2126,7 +2142,7 @@
       path = fetchurl {
         name = "cp_file___cp_file_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz";
-        sha1 = "40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d";
+        sha512 = "fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==";
       };
     }
     {
@@ -2134,15 +2150,15 @@
       path = fetchurl {
         name = "cpu_features___cpu_features_0.0.2.tgz";
         url  = "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz";
-        sha1 = "9f636156f1155fd04bdbaa028bb3c2fbef3cea7a";
+        sha512 = "/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==";
       };
     }
     {
-      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";
-        sha1 = "cb2db6e29b88508e32d9dd0ec1693e7b41a18208";
+        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==";
       };
     }
     {
@@ -2150,7 +2166,7 @@
       path = fetchurl {
         name = "crc32_stream___crc32_stream_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz";
-        sha1 = "cae6eeed003b0e44d739d279de5ae63b171b4e85";
+        sha512 = "mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==";
       };
     }
     {
@@ -2158,7 +2174,7 @@
       path = fetchurl {
         name = "crc32_stream___crc32_stream_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz";
-        sha1 = "c922ad22b38395abe9d3870f02fa8134ed709007";
+        sha512 = "DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==";
       };
     }
     {
@@ -2166,7 +2182,7 @@
       path = fetchurl {
         name = "crc___crc_3.8.0.tgz";
         url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
-        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
+        sha512 = "iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==";
       };
     }
     {
@@ -2174,7 +2190,7 @@
       path = fetchurl {
         name = "create_hash___create_hash_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz";
-        sha1 = "889078af11a63756bcfb59bd221996be3a9ef196";
+        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
       };
     }
     {
@@ -2182,7 +2198,7 @@
       path = fetchurl {
         name = "create_hmac___create_hmac_1.1.7.tgz";
         url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz";
-        sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff";
+        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
       };
     }
     {
@@ -2190,7 +2206,7 @@
       path = fetchurl {
         name = "cross_spawn___cross_spawn_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz";
-        sha1 = "7b9247621c23adfdd3856004a823cbe397424d41";
+        sha1 = "e5JHYhwjrf3ThWAEqCPL45dCTUE=";
       };
     }
     {
@@ -2198,7 +2214,7 @@
       path = fetchurl {
         name = "crypt___crypt_0.0.2.tgz";
         url  = "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz";
-        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+        sha1 = "iNf/fsDfuG9xPch7u0LQRNPmxBs=";
       };
     }
     {
@@ -2206,7 +2222,7 @@
       path = fetchurl {
         name = "cssom___cssom_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz";
-        sha1 = "d254fa92cd8b6fbd83811b9fbaed34663cc17c36";
+        sha512 = "iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==";
       };
     }
     {
@@ -2214,7 +2230,7 @@
       path = fetchurl {
         name = "cssom___cssom_0.3.8.tgz";
         url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
-        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
       };
     }
     {
@@ -2222,7 +2238,7 @@
       path = fetchurl {
         name = "cssstyle___cssstyle_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz";
-        sha1 = "ff665a0ddbdc31864b09647f34163443d90b0852";
+        sha512 = "AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==";
       };
     }
     {
@@ -2230,7 +2246,7 @@
       path = fetchurl {
         name = "dashdash___dashdash_1.14.1.tgz";
         url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+        sha1 = "hTz6D3y+L+1d4gMmuN1YEDX24vA=";
       };
     }
     {
@@ -2238,7 +2254,7 @@
       path = fetchurl {
         name = "data_urls___data_urls_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.1.tgz";
-        sha1 = "597fc2ae30f8bc4dbcf731fcd1b1954353afc6f8";
+        sha512 = "Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==";
       };
     }
     {
@@ -2246,7 +2262,7 @@
       path = fetchurl {
         name = "dateformat___dateformat_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz";
-        sha1 = "a6e37499a4d9a9cf85ef5872044d62901c9889ae";
+        sha512 = "jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==";
       };
     }
     {
@@ -2254,7 +2270,7 @@
       path = fetchurl {
         name = "dayjs___dayjs_1.10.7.tgz";
         url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz";
-        sha1 = "2cf5f91add28116748440866a0a1d26f3a6ce468";
+        sha512 = "P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==";
       };
     }
     {
@@ -2262,7 +2278,7 @@
       path = fetchurl {
         name = "ddata___ddata_0.1.28.tgz";
         url  = "https://registry.yarnpkg.com/ddata/-/ddata-0.1.28.tgz";
-        sha1 = "53138fafa3f01749ea2451d12b6b6dd9df1d5b1f";
+        sha1 = "UxOPr6PwF0nqJFHRK2tt2d8dWx8=";
       };
     }
     {
@@ -2270,7 +2286,7 @@
       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==";
       };
     }
     {
@@ -2278,7 +2294,7 @@
       path = fetchurl {
         name = "debug___debug_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz";
-        sha1 = "5bb5a0672628b64149566ba16819e61518c67261";
+        sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
       };
     }
     {
@@ -2286,7 +2302,7 @@
       path = fetchurl {
         name = "debug___debug_4.3.3.tgz";
         url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
-        sha1 = "04266e0b70a98d4462e6e288e38259213332b664";
+        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
       };
     }
     {
@@ -2294,7 +2310,7 @@
       path = fetchurl {
         name = "decamelize___decamelize_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+        sha1 = "9lNNFRSCabIDUue+4m9QH5oZEpA=";
       };
     }
     {
@@ -2302,7 +2318,7 @@
       path = fetchurl {
         name = "decimal.js___decimal.js_10.3.1.tgz";
         url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz";
-        sha1 = "d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783";
+        sha512 = "V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==";
       };
     }
     {
@@ -2310,7 +2326,7 @@
       path = fetchurl {
         name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+        sha1 = "6zkTMzRYd1y4TNGh+uBiEGu4dUU=";
       };
     }
     {
@@ -2318,7 +2334,7 @@
       path = fetchurl {
         name = "deep_extend___deep_extend_0.4.2.tgz";
         url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz";
-        sha1 = "48b699c27e334bf89f10892be432f6e4c7d34a7f";
+        sha1 = "SLaZwn4zS/ifEIkr5DL25MfTSn8=";
       };
     }
     {
@@ -2326,7 +2342,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==";
       };
     }
     {
@@ -2334,7 +2350,7 @@
       path = fetchurl {
         name = "deepmerge___deepmerge_4.2.2.tgz";
         url  = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz";
-        sha1 = "44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     }
     {
@@ -2342,7 +2358,7 @@
       path = fetchurl {
         name = "default_require_extensions___default_require_extensions_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz";
-        sha1 = "f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7";
+        sha1 = "9fj7sYp9bVCyH2QfZJ67Uiz+JPc=";
       };
     }
     {
@@ -2350,7 +2366,7 @@
       path = fetchurl {
         name = "defer_promise___defer_promise_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.2.tgz";
-        sha1 = "b79521c59cadadaed2d305385d30f8b05cbf9196";
+        sha512 = "5a0iWJvnon50nLLqHPW83pX45BLb4MmlSa1sIg05NBhZoK5EZGz1s8qoZ3888dVGGOT0Ni01NdETuAgdJUZknA==";
       };
     }
     {
@@ -2358,7 +2374,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==";
       };
     }
     {
@@ -2366,7 +2382,7 @@
       path = fetchurl {
         name = "define_property___define_property_0.2.5.tgz";
         url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
-        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+        sha1 = "w1se+RjsPJkPmlvFe+BKrOxcgRY=";
       };
     }
     {
@@ -2374,7 +2390,7 @@
       path = fetchurl {
         name = "define_property___define_property_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
-        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+        sha1 = "dp66rz9KY6rTr56NMEybvnm/sOY=";
       };
     }
     {
@@ -2382,7 +2398,7 @@
       path = fetchurl {
         name = "define_property___define_property_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
-        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+        sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
       };
     }
     {
@@ -2390,7 +2406,7 @@
       path = fetchurl {
         name = "delayed_stream___delayed_stream_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+        sha1 = "3zrhmayt+31ECqrgsp4icrJOxhk=";
       };
     }
     {
@@ -2398,7 +2414,7 @@
       path = fetchurl {
         name = "denque___denque_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz";
-        sha1 = "07f670e29c9a78f8faecb2566a1e2c11929c5cbf";
+        sha512 = "XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==";
       };
     }
     {
@@ -2406,7 +2422,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=";
       };
     }
     {
@@ -2414,7 +2430,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==";
       };
     }
     {
@@ -2422,7 +2438,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=";
       };
     }
     {
@@ -2430,7 +2446,7 @@
       path = fetchurl {
         name = "detect_file___detect_file_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz";
-        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+        sha1 = "8NZtA2cqglyxtzvbP+YjEMjlUrc=";
       };
     }
     {
@@ -2438,7 +2454,7 @@
       path = fetchurl {
         name = "detect_indent___detect_indent_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz";
-        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+        sha1 = "920GQ1LN9Docts5hnE7jqUdd4gg=";
       };
     }
     {
@@ -2446,7 +2462,7 @@
       path = fetchurl {
         name = "dir_cache___dir_cache_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/dir_cache/-/dir_cache-1.0.3.tgz";
-        sha1 = "89b8ca92efdcdf552ef2e14d24c38114f9df554b";
+        sha1 = "ibjKku/c31Uu8uFNJMOBFPnfVUs=";
       };
     }
     {
@@ -2454,7 +2470,7 @@
       path = fetchurl {
         name = "dmd___dmd_1.4.2.tgz";
         url  = "https://registry.yarnpkg.com/dmd/-/dmd-1.4.2.tgz";
-        sha1 = "b1304b98a5700a6bfe5dcf91be657c981700a4bc";
+        sha1 = "sTBLmKVwCmv+Xc+RvmV8mBcApLw=";
       };
     }
     {
@@ -2462,7 +2478,7 @@
       path = fetchurl {
         name = "domexception___domexception_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz";
-        sha1 = "4ad1be56ccadc86fc76d033353999a8037d03673";
+        sha512 = "A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==";
       };
     }
     {
@@ -2470,7 +2486,7 @@
       path = fetchurl {
         name = "dtrace_provider___dtrace_provider_0.8.8.tgz";
         url  = "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz";
-        sha1 = "2996d5490c37e1347be263b423ed7b297fb0d97e";
+        sha512 = "b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==";
       };
     }
     {
@@ -2478,7 +2494,7 @@
       path = fetchurl {
         name = "each_series___each_series_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/each-series/-/each-series-1.0.0.tgz";
-        sha1 = "f886e6c66dfdb25ef1fe73564146ee5cb478afcb";
+        sha1 = "+Ibmxm39sl7x/nNWQUbuXLR4r8s=";
       };
     }
     {
@@ -2486,7 +2502,7 @@
       path = fetchurl {
         name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
-        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+        sha1 = "OoOpBOVDUyh4dMVkt1SThoSamMk=";
       };
     }
     {
@@ -2494,7 +2510,7 @@
       path = fetchurl {
         name = "ecdsa_sig_formatter___ecdsa_sig_formatter_1.0.11.tgz";
         url  = "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz";
-        sha1 = "ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf";
+        sha512 = "nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==";
       };
     }
     {
@@ -2502,7 +2518,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=";
       };
     }
     {
@@ -2510,7 +2526,7 @@
       path = fetchurl {
         name = "emoji_regex___emoji_regex_7.0.3.tgz";
         url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
-        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
       };
     }
     {
@@ -2518,7 +2534,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=";
       };
     }
     {
@@ -2526,7 +2542,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==";
       };
     }
     {
@@ -2534,7 +2550,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==";
       };
     }
     {
@@ -2542,7 +2558,7 @@
       path = fetchurl {
         name = "es6_error___es6_error_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz";
-        sha1 = "9e3af407459deed47e9a91f9b885a84eb05c561d";
+        sha512 = "Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==";
       };
     }
     {
@@ -2550,7 +2566,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=";
       };
     }
     {
@@ -2558,7 +2574,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=";
       };
     }
     {
@@ -2566,7 +2582,7 @@
       path = fetchurl {
         name = "escodegen___escodegen_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz";
-        sha1 = "5e32b12833e8aa8fa35e1bf0befa89380484c7dd";
+        sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
       };
     }
     {
@@ -2574,7 +2590,7 @@
       path = fetchurl {
         name = "espree___espree_3.1.7.tgz";
         url  = "https://registry.yarnpkg.com/espree/-/espree-3.1.7.tgz";
-        sha1 = "fd5deec76a97a5120a9cd3a7cb1177a0923b11d2";
+        sha1 = "/V3ux2qXpRIKnNOnyxF3oJI7EdI=";
       };
     }
     {
@@ -2582,7 +2598,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==";
       };
     }
     {
@@ -2590,7 +2606,7 @@
       path = fetchurl {
         name = "estraverse___estraverse_5.3.0.tgz";
         url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz";
-        sha1 = "2eea5290702f26ab8fe5370370ff86c965d21123";
+        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
       };
     }
     {
@@ -2598,7 +2614,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==";
       };
     }
     {
@@ -2606,7 +2622,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=";
       };
     }
     {
@@ -2614,7 +2630,7 @@
       path = fetchurl {
         name = "event_target_shim___event_target_shim_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz";
-        sha1 = "5d4d3ebdf9583d63a5333ce2deb7480ab2b05789";
+        sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==";
       };
     }
     {
@@ -2622,7 +2638,7 @@
       path = fetchurl {
         name = "eventemitter2___eventemitter2_0.4.14.tgz";
         url  = "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz";
-        sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
+        sha1 = "j2G3XN4BKy6esoTUVFWDtWQ7Yas=";
       };
     }
     {
@@ -2630,7 +2646,7 @@
       path = fetchurl {
         name = "events___events_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz";
-        sha1 = "31a95ad0a924e2d2c419a813aeb2c4e878ea7400";
+        sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
       };
     }
     {
@@ -2638,7 +2654,7 @@
       path = fetchurl {
         name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz";
-        sha1 = "0bdd92e87d5285d267daa8171d0eb06159689692";
+        sha512 = "h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==";
       };
     }
     {
@@ -2646,7 +2662,7 @@
       path = fetchurl {
         name = "exit___exit_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
-        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+        sha1 = "BjJjj42HfMghB9MKD/8aF8uhzQw=";
       };
     }
     {
@@ -2654,7 +2670,7 @@
       path = fetchurl {
         name = "expand_brackets___expand_brackets_0.1.5.tgz";
         url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz";
-        sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
+        sha1 = "3wcoTjQqgHzXM6xa9yQR5YHRF3s=";
       };
     }
     {
@@ -2662,7 +2678,7 @@
       path = fetchurl {
         name = "expand_brackets___expand_brackets_2.1.4.tgz";
         url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
-        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+        sha1 = "t3c14xXOMPa27/D4OwQVGiJEliI=";
       };
     }
     {
@@ -2670,7 +2686,7 @@
       path = fetchurl {
         name = "expand_range___expand_range_1.8.2.tgz";
         url  = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz";
-        sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
+        sha1 = "opnv/TNf4nIeuujiV+x5ZE/IUzc=";
       };
     }
     {
@@ -2678,7 +2694,7 @@
       path = fetchurl {
         name = "expand_tilde___expand_tilde_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz";
-        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+        sha1 = "l+gBqgUt8CRU3kawK/YhZCzchQI=";
       };
     }
     {
@@ -2686,7 +2702,7 @@
       path = fetchurl {
         name = "express_handlebars___express_handlebars_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-3.1.0.tgz";
-        sha1 = "c177ee9a81f6a2abada6b550b77b3e30c6bc0796";
+        sha512 = "7QlaXnSREMmN5P2o4gmpUZDfJlLtfBka9d6r7/ccXaU7rPp76odw9YYtwZYdIiha2JqwiaG6o2Wu6NZJQ0u7Fg==";
       };
     }
     {
@@ -2694,15 +2710,15 @@
       path = fetchurl {
         name = "express_ws___express_ws_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/express-ws/-/express-ws-4.0.0.tgz";
-        sha1 = "dabd8dc974516418902a41fe6e30ed949b4d36c4";
+        sha512 = "KEyUw8AwRET2iFjFsI1EJQrJ/fHeGiJtgpYgEWG3yDv4l/To/m3a2GaYfeGyB3lsWdvbesjF5XCMx+SVBgAAYw==";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -2710,7 +2726,7 @@
       path = fetchurl {
         name = "extend_shallow___extend_shallow_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
-        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+        sha1 = "Ua99YUrZqfYQ6huvu5idaxxWiQ8=";
       };
     }
     {
@@ -2718,7 +2734,7 @@
       path = fetchurl {
         name = "extend_shallow___extend_shallow_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
-        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+        sha1 = "Jqcarwc7OfshJxcnRhMcJwQCjbg=";
       };
     }
     {
@@ -2726,7 +2742,7 @@
       path = fetchurl {
         name = "extend___extend_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
-        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
       };
     }
     {
@@ -2734,7 +2750,7 @@
       path = fetchurl {
         name = "extglob___extglob_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz";
-        sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
+        sha1 = "Lhj/PS9JqydlzskCPwEdqo2DSaE=";
       };
     }
     {
@@ -2742,7 +2758,7 @@
       path = fetchurl {
         name = "extglob___extglob_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
-        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
       };
     }
     {
@@ -2750,7 +2766,7 @@
       path = fetchurl {
         name = "extsprintf___extsprintf_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+        sha1 = "lpGEQOMEGnpBT4xS48V06zw+HgU=";
       };
     }
     {
@@ -2758,7 +2774,7 @@
       path = fetchurl {
         name = "extsprintf___extsprintf_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz";
-        sha1 = "8d172c064867f235c0c84a596806d279bf4bcc07";
+        sha512 = "Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==";
       };
     }
     {
@@ -2766,7 +2782,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==";
       };
     }
     {
@@ -2774,7 +2790,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==";
       };
     }
     {
@@ -2782,7 +2798,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=";
       };
     }
     {
@@ -2790,7 +2806,7 @@
       path = fetchurl {
         name = "fast_text_encoding___fast_text_encoding_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz";
-        sha1 = "ec02ac8e01ab8a319af182dae2681213cfe9ce53";
+        sha512 = "dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==";
       };
     }
     {
@@ -2798,7 +2814,7 @@
       path = fetchurl {
         name = "fast_xml_parser___fast_xml_parser_3.21.1.tgz";
         url  = "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz";
-        sha1 = "152a1d51d445380f7046b304672dd55d15c9e736";
+        sha512 = "FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==";
       };
     }
     {
@@ -2806,7 +2822,7 @@
       path = fetchurl {
         name = "fastfall___fastfall_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/fastfall/-/fastfall-1.5.1.tgz";
-        sha1 = "3fee03331a49d1d39b3cdf7a5e9cd66f475e7b94";
+        sha1 = "P+4DMxpJ0dObPN96XpzWb0dee5Q=";
       };
     }
     {
@@ -2814,7 +2830,7 @@
       path = fetchurl {
         name = "fastparallel___fastparallel_2.4.1.tgz";
         url  = "https://registry.yarnpkg.com/fastparallel/-/fastparallel-2.4.1.tgz";
-        sha1 = "0d984a5813ffa67f30b4a5cb4cb8cbe61c7ee5a5";
+        sha512 = "qUmhxPgNHmvRjZKBFUNI0oZuuH9OlSIOXmJ98lhKPxMZZ7zS/Fi0wRHOihDSz0R1YiIOjxzOY4bq65YTcdBi2Q==";
       };
     }
     {
@@ -2822,7 +2838,7 @@
       path = fetchurl {
         name = "fastseries___fastseries_1.7.2.tgz";
         url  = "https://registry.yarnpkg.com/fastseries/-/fastseries-1.7.2.tgz";
-        sha1 = "d22ce13b9433dff3388d91dbd6b8bda9b21a0f4b";
+        sha1 = "0izhO5Qz3/M4jZHb1ri9qbIaD0s=";
       };
     }
     {
@@ -2830,7 +2846,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=";
       };
     }
     {
@@ -2838,7 +2854,7 @@
       path = fetchurl {
         name = "feature_detect_es6___feature_detect_es6_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/feature-detect-es6/-/feature-detect-es6-1.5.0.tgz";
-        sha1 = "a69bb7662c65f64f89f07eac5a461b649a1e0a00";
+        sha512 = "DzWPIGzTnfp3/KK1d/YPfmgLqeDju9F2DQYBL35VusgSApcA7XGqVtXfR4ETOOFEzdFJ3J7zh0Gkk011TiA4uQ==";
       };
     }
     {
@@ -2846,7 +2862,7 @@
       path = fetchurl {
         name = "file_set___file_set_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/file-set/-/file-set-1.1.2.tgz";
-        sha1 = "08f700bb2c129d0e6bff90157b6556ce7c01e4f9";
+        sha512 = "xDXI09w+l+mXxWDym7dQXy3PLdo7DygHlAtRnQ6XIMa0iY/qX6+1J75jjwCArCd48yCiMx2+fRn50BTFd45+jQ==";
       };
     }
     {
@@ -2854,7 +2870,7 @@
       path = fetchurl {
         name = "file_set___file_set_0.2.8.tgz";
         url  = "https://registry.yarnpkg.com/file-set/-/file-set-0.2.8.tgz";
-        sha1 = "73a6571e9cbe51ac5926c88bd567d111f836f178";
+        sha1 = "c6ZXHpy+UaxZJsiL1WfREfg28Xg=";
       };
     }
     {
@@ -2862,7 +2878,7 @@
       path = fetchurl {
         name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
-        sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd";
+        sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
       };
     }
     {
@@ -2870,7 +2886,7 @@
       path = fetchurl {
         name = "filename_regex___filename_regex_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz";
-        sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
+        sha1 = "wcS5vuPglyXdsQa3XB4wH+LxiyY=";
       };
     }
     {
@@ -2878,7 +2894,7 @@
       path = fetchurl {
         name = "fill_range___fill_range_2.2.4.tgz";
         url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz";
-        sha1 = "eb1e773abb056dcd8df2bfdf6af59b8b3a936565";
+        sha512 = "cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==";
       };
     }
     {
@@ -2886,7 +2902,7 @@
       path = fetchurl {
         name = "fill_range___fill_range_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
-        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+        sha1 = "1USBHUKPmOsGpj3EAtJAPDKMOPc=";
       };
     }
     {
@@ -2894,7 +2910,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==";
       };
     }
     {
@@ -2902,7 +2918,7 @@
       path = fetchurl {
         name = "filter_where___filter_where_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/filter-where/-/filter-where-1.0.1.tgz";
-        sha1 = "1b042569edce36bc1c4e9f73740d2c4e2feef77d";
+        sha1 = "GwQlae3ONrwcTp9zdA0sTi/u930=";
       };
     }
     {
@@ -2910,7 +2926,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==";
       };
     }
     {
@@ -2918,7 +2934,7 @@
       path = fetchurl {
         name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
-        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+        sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==";
       };
     }
     {
@@ -2926,7 +2942,7 @@
       path = fetchurl {
         name = "find_replace___find_replace_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz";
-        sha1 = "b88e7364d2d9c959559f388c66670d6130441fa0";
+        sha1 = "uI5zZNLZyVlVnziMZmcNYTBEH6A=";
       };
     }
     {
@@ -2934,7 +2950,7 @@
       path = fetchurl {
         name = "find_up___find_up_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz";
-        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+        sha1 = "ay6YIrGizgpgq2TWEOzK1TyyTQ8=";
       };
     }
     {
@@ -2942,7 +2958,7 @@
       path = fetchurl {
         name = "find_up___find_up_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
-        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
       };
     }
     {
@@ -2950,7 +2966,7 @@
       path = fetchurl {
         name = "findup_sync___findup_sync_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz";
-        sha1 = "956c9cdde804052b881b428512905c4a5f2cdef0";
+        sha512 = "6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==";
       };
     }
     {
@@ -2958,7 +2974,7 @@
       path = fetchurl {
         name = "findup_sync___findup_sync_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz";
-        sha1 = "37930aa5d816b777c03445e1966cc6790a4c0b16";
+        sha1 = "N5MKpdgWt3fANEXhlmzGeQpMCxY=";
       };
     }
     {
@@ -2966,7 +2982,7 @@
       path = fetchurl {
         name = "fined___fined_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz";
-        sha1 = "d00beccf1aa2b475d16d423b0238b713a2c4a37b";
+        sha512 = "ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==";
       };
     }
     {
@@ -2974,15 +2990,15 @@
       path = fetchurl {
         name = "flagged_respawn___flagged_respawn_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz";
-        sha1 = "e7de6f1279ddd9ca9aac8a5971d618606b3aab41";
+        sha512 = "lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==";
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.5.tgz";
+      name = "follow_redirects___follow_redirects_1.14.8.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz";
-        sha1 = "f09a5848981d3c772b5392309778523f8d85c381";
+        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==";
       };
     }
     {
@@ -2990,7 +3006,7 @@
       path = fetchurl {
         name = "for_in___for_in_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
-        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+        sha1 = "gQaNKVqBQuwKxybG4iAMMPttXoA=";
       };
     }
     {
@@ -2998,7 +3014,7 @@
       path = fetchurl {
         name = "for_own___for_own_0.1.5.tgz";
         url  = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz";
-        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+        sha1 = "UmXGgaTylNq78XyVCbZ2OqhFEM4=";
       };
     }
     {
@@ -3006,7 +3022,7 @@
       path = fetchurl {
         name = "for_own___for_own_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz";
-        sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b";
+        sha1 = "xjMy9BXO3EsE2/5wz4NklMU8tEs=";
       };
     }
     {
@@ -3014,7 +3030,7 @@
       path = fetchurl {
         name = "foreground_child___foreground_child_1.5.6.tgz";
         url  = "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz";
-        sha1 = "4fd71ad2dfde96789b980a5c0a295937cb2f5ce9";
+        sha1 = "T9ca0t/elnibmApcCilZN8svXOk=";
       };
     }
     {
@@ -3022,7 +3038,7 @@
       path = fetchurl {
         name = "forever_agent___forever_agent_0.6.1.tgz";
         url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+        sha1 = "+8cfDEGt6zf5bFd60e1C2P2sypE=";
       };
     }
     {
@@ -3030,7 +3046,7 @@
       path = fetchurl {
         name = "form_data___form_data_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz";
-        sha1 = "93919daeaf361ee529584b9b31664dc12c9fa452";
+        sha512 = "ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==";
       };
     }
     {
@@ -3038,7 +3054,7 @@
       path = fetchurl {
         name = "form_data___form_data_2.3.3.tgz";
         url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
-        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
       };
     }
     {
@@ -3046,7 +3062,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==";
       };
     }
     {
@@ -3054,7 +3070,7 @@
       path = fetchurl {
         name = "fragment_cache___fragment_cache_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
-        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+        sha1 = "QpD60n8T6Jvn8zeZxrxaCr//DRk=";
       };
     }
     {
@@ -3062,7 +3078,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=";
       };
     }
     {
@@ -3070,7 +3086,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=";
       };
     }
     {
@@ -3078,7 +3094,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==";
       };
     }
     {
@@ -3086,7 +3102,7 @@
       path = fetchurl {
         name = "fs_readdir_recursive___fs_readdir_recursive_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz";
-        sha1 = "e32fc030a2ccee44a6b5371308da54be0b397d27";
+        sha512 = "GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==";
       };
     }
     {
@@ -3094,7 +3110,7 @@
       path = fetchurl {
         name = "fs_then_native___fs_then_native_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-1.0.2.tgz";
-        sha1 = "ac8d3807c9f1bbd1279607fb228e0ab649bb41fe";
+        sha1 = "rI04B8nxu9Enlgf7Io4Ktkm7Qf4=";
       };
     }
     {
@@ -3102,7 +3118,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=";
       };
     }
     {
@@ -3110,7 +3126,7 @@
       path = fetchurl {
         name = "fsevents___fsevents_1.2.13.tgz";
         url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz";
-        sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38";
+        sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
       };
     }
     {
@@ -3118,7 +3134,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==";
       };
     }
     {
@@ -3126,7 +3142,7 @@
       path = fetchurl {
         name = "gaxios___gaxios_4.3.2.tgz";
         url  = "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.2.tgz";
-        sha1 = "845827c2dc25a0213c8ab4155c7a28910f5be83f";
+        sha512 = "T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==";
       };
     }
     {
@@ -3134,7 +3150,7 @@
       path = fetchurl {
         name = "gcp_metadata___gcp_metadata_4.3.1.tgz";
         url  = "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-4.3.1.tgz";
-        sha1 = "fb205fe6a90fef2fd9c85e6ba06e5559ee1eefa9";
+        sha512 = "x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==";
       };
     }
     {
@@ -3142,7 +3158,7 @@
       path = fetchurl {
         name = "get_caller_file___get_caller_file_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz";
-        sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a";
+        sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
       };
     }
     {
@@ -3150,7 +3166,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==";
       };
     }
     {
@@ -3158,7 +3174,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==";
       };
     }
     {
@@ -3166,7 +3182,7 @@
       path = fetchurl {
         name = "get_value___get_value_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
-        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+        sha1 = "3BXKHGcjh8p2vTesCjlbogQqLCg=";
       };
     }
     {
@@ -3174,7 +3190,7 @@
       path = fetchurl {
         name = "getobject___getobject_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/getobject/-/getobject-1.0.2.tgz";
-        sha1 = "25ec87a50370f6dcc3c6ba7ef43c4c16215c4c89";
+        sha512 = "2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==";
       };
     }
     {
@@ -3182,7 +3198,7 @@
       path = fetchurl {
         name = "getpass___getpass_0.1.7.tgz";
         url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
-        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+        sha1 = "Xv+OPmhNVprkyysSgmBOi6YhSfo=";
       };
     }
     {
@@ -3190,7 +3206,7 @@
       path = fetchurl {
         name = "glob_base___glob_base_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz";
-        sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
+        sha1 = "27Fk9iIbHAscz4Kuoyi0l98Oo8Q=";
       };
     }
     {
@@ -3198,7 +3214,7 @@
       path = fetchurl {
         name = "glob_parent___glob_parent_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz";
-        sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
+        sha1 = "gTg9ctsFT8zPUzbaqQLxgvbtuyg=";
       };
     }
     {
@@ -3206,7 +3222,7 @@
       path = fetchurl {
         name = "glob___glob_4.5.3.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz";
-        sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
+        sha1 = "xstz0yJsHv7wTePFbQEvAzd+4V8=";
       };
     }
     {
@@ -3214,7 +3230,7 @@
       path = fetchurl {
         name = "glob___glob_6.0.4.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz";
-        sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
+        sha1 = "DwiGD2oVUSey+t1PnOJLGqtuTSI=";
       };
     }
     {
@@ -3222,7 +3238,7 @@
       path = fetchurl {
         name = "glob___glob_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz";
-        sha1 = "d15535af7732e02e948f4c41628bd910293f6023";
+        sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
       };
     }
     {
@@ -3230,7 +3246,7 @@
       path = fetchurl {
         name = "glob___glob_5.0.15.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz";
-        sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1";
+        sha1 = "G8k2ueAvSmA/zCIuz3Yz0wuLk7E=";
       };
     }
     {
@@ -3238,7 +3254,7 @@
       path = fetchurl {
         name = "glob___glob_7.1.7.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz";
-        sha1 = "3b193e9233f01d42d0b3f78294bbeeb418f94a90";
+        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
       };
     }
     {
@@ -3246,7 +3262,7 @@
       path = fetchurl {
         name = "global_modules___global_modules_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz";
-        sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea";
+        sha512 = "sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==";
       };
     }
     {
@@ -3254,7 +3270,7 @@
       path = fetchurl {
         name = "global_prefix___global_prefix_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz";
-        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+        sha1 = "2/dDxsFJklk8ZVVoy2btMsASLr4=";
       };
     }
     {
@@ -3262,7 +3278,7 @@
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
         url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
-        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     }
     {
@@ -3270,23 +3286,23 @@
       path = fetchurl {
         name = "globals___globals_9.18.0.tgz";
         url  = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz";
-        sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a";
+        sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
       };
     }
     {
-      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";
-        sha1 = "e553683315b3095eebef3a8c019c09446cb75a3c";
+        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";
-        sha1 = "c3d61c2da8e10843ff830fdb0d2059046238c1d4";
+        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==";
       };
     }
     {
@@ -3294,7 +3310,7 @@
       path = fetchurl {
         name = "google_protobuf___google_protobuf_3.14.0.tgz";
         url  = "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.14.0.tgz";
-        sha1 = "20373d22046e63831a5110e11a84f713cc43651e";
+        sha512 = "bwa8dBuMpOxg7COyqkW6muQuvNnWgVN8TX/epDRGW5m0jcrmq2QJyCyiV8ZE2/6LaIIqJtiv9bYokFhfpy/o6w==";
       };
     }
     {
@@ -3302,23 +3318,23 @@
       path = fetchurl {
         name = "googleapis_common___googleapis_common_5.0.5.tgz";
         url  = "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-5.0.5.tgz";
-        sha1 = "4c7160be1ed7e4cc8cdbcdb6eac8a4b3a61dd782";
+        sha512 = "o2dgoW4x4fLIAN+IVAOccz3mEH8Lj1LP9c9BSSvkNJEn+U7UZh0WSr4fdH08x5VH7+sstIpd1lOYFZD0g7j4pw==";
       };
     }
     {
-      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";
-        sha1 = "291b9826a5a4509a9e9a6974ef942328857bfe18";
+        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";
-        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==";
       };
     }
     {
@@ -3326,7 +3342,7 @@
       path = fetchurl {
         name = "grunt_cli___grunt_cli_1.4.3.tgz";
         url  = "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.4.3.tgz";
-        sha1 = "22c9f1a3d2780bf9b0d206e832e40f8f499175ff";
+        sha512 = "9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==";
       };
     }
     {
@@ -3334,7 +3350,7 @@
       path = fetchurl {
         name = "grunt_jsdoc_to_markdown___grunt_jsdoc_to_markdown_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/grunt-jsdoc-to-markdown/-/grunt-jsdoc-to-markdown-1.2.1.tgz";
-        sha1 = "d253ac69b61c9575364a44d7db0513ab52f8dac9";
+        sha1 = "0lOsabYclXU2SkTX2wUTq1L42sk=";
       };
     }
     {
@@ -3342,7 +3358,7 @@
       path = fetchurl {
         name = "grunt_known_options___grunt_known_options_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-2.0.0.tgz";
-        sha1 = "cac641e897f9a0a680b8c9839803d35f3325103c";
+        sha512 = "GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==";
       };
     }
     {
@@ -3350,7 +3366,7 @@
       path = fetchurl {
         name = "grunt_legacy_log_utils___grunt_legacy_log_utils_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz";
-        sha1 = "49a8c7dc74051476dcc116c32faf9db8646856ef";
+        sha512 = "lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==";
       };
     }
     {
@@ -3358,7 +3374,7 @@
       path = fetchurl {
         name = "grunt_legacy_log___grunt_legacy_log_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz";
-        sha1 = "1c6eaf92371ea415af31ea84ce50d434ef6d39c4";
+        sha512 = "GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==";
       };
     }
     {
@@ -3366,7 +3382,7 @@
       path = fetchurl {
         name = "grunt_legacy_util___grunt_legacy_util_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz";
-        sha1 = "0f929d13a2faf9988c9917c82bff609e2d9ba255";
+        sha512 = "2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==";
       };
     }
     {
@@ -3374,15 +3390,15 @@
       path = fetchurl {
         name = "grunt___grunt_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz";
-        sha1 = "7d1e17db1f9c8108777f7273d6b9359755576f50";
+        sha512 = "ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==";
       };
     }
     {
-      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";
-        sha1 = "c1c2598a826f2b5df7c6bb53d7be6cf6d50c3c78";
+        name = "gtoken___gtoken_5.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.2.tgz";
+        sha512 = "gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==";
       };
     }
     {
@@ -3390,7 +3406,7 @@
       path = fetchurl {
         name = "handlebars_array___handlebars_array_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/handlebars-array/-/handlebars-array-0.2.1.tgz";
-        sha1 = "dd58395a5261d661988e8d77520ebbfaadc6bd24";
+        sha1 = "3Vg5WlJh1mGYjo13Ug67+q3GvSQ=";
       };
     }
     {
@@ -3398,7 +3414,7 @@
       path = fetchurl {
         name = "handlebars_comparison___handlebars_comparison_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/handlebars-comparison/-/handlebars-comparison-2.0.1.tgz";
-        sha1 = "b17b95d2c298578e4aead38f5fac46e8f6005855";
+        sha1 = "sXuV0sKYV45K6tOPX6xG6PYAWFU=";
       };
     }
     {
@@ -3406,7 +3422,7 @@
       path = fetchurl {
         name = "handlebars_json___handlebars_json_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/handlebars-json/-/handlebars-json-1.0.1.tgz";
-        sha1 = "2ef87bb782551cd645bb4691b824e9653ec02504";
+        sha1 = "Lvh7t4JVHNZFu0aRuCTpZT7AJQQ=";
       };
     }
     {
@@ -3414,7 +3430,7 @@
       path = fetchurl {
         name = "handlebars_regexp___handlebars_regexp_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/handlebars-regexp/-/handlebars-regexp-1.0.1.tgz";
-        sha1 = "5f47f067260e9ba8e52f1a280917f70de39f11e4";
+        sha1 = "X0fwZyYOm6jlLxooCRf3DeOfEeQ=";
       };
     }
     {
@@ -3422,7 +3438,7 @@
       path = fetchurl {
         name = "handlebars_string___handlebars_string_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/handlebars-string/-/handlebars-string-2.0.2.tgz";
-        sha1 = "b9f92208a979cfcf51ff4a90defa183dc62942ca";
+        sha1 = "ufkiCKl5z89R/0qQ3voYPcYpQso=";
       };
     }
     {
@@ -3430,7 +3446,7 @@
       path = fetchurl {
         name = "handlebars___handlebars_3.0.8.tgz";
         url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-3.0.8.tgz";
-        sha1 = "4e6ce3650fe6c53c151d106dcff1c5a7ca79e164";
+        sha512 = "frzSzoxbJZSB719r+lM3UFKrnHIY6VPY/j47+GNOHVnBHxO+r+Y/iDjozAbj1SztmmMpr2CcZY6rLeN5mqX8zA==";
       };
     }
     {
@@ -3438,7 +3454,7 @@
       path = fetchurl {
         name = "handlebars___handlebars_4.7.7.tgz";
         url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz";
-        sha1 = "9ce33416aad02dbd6c8fafa8240d5d98004945a1";
+        sha512 = "aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==";
       };
     }
     {
@@ -3446,7 +3462,7 @@
       path = fetchurl {
         name = "har_schema___har_schema_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
-        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+        sha1 = "qUwiJOvKwEeCoNkDVSHyRzW37JI=";
       };
     }
     {
@@ -3454,7 +3470,7 @@
       path = fetchurl {
         name = "har_validator___har_validator_5.1.5.tgz";
         url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
-        sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
+        sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
       };
     }
     {
@@ -3462,7 +3478,7 @@
       path = fetchurl {
         name = "has_ansi___has_ansi_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+        sha1 = "NPUEnOHs3ysGSa8+8k5F7TVBbZE=";
       };
     }
     {
@@ -3470,7 +3486,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=";
       };
     }
     {
@@ -3478,7 +3494,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==";
       };
     }
     {
@@ -3486,7 +3502,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==";
       };
     }
     {
@@ -3494,7 +3510,7 @@
       path = fetchurl {
         name = "has_value___has_value_0.3.1.tgz";
         url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
-        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+        sha1 = "ex9YutpiyoJ+wKIHgCVlSEWZXh8=";
       };
     }
     {
@@ -3502,7 +3518,7 @@
       path = fetchurl {
         name = "has_value___has_value_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
-        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+        sha1 = "GLKB2lhbHFxR3vJMkw7SmgvmsXc=";
       };
     }
     {
@@ -3510,7 +3526,7 @@
       path = fetchurl {
         name = "has_values___has_values_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
-        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+        sha1 = "bWHeldkd/Km5oCCJrThL/49it3E=";
       };
     }
     {
@@ -3518,7 +3534,7 @@
       path = fetchurl {
         name = "has_values___has_values_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
-        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+        sha1 = "lbC2P+whRmGab+V/51Yo1aOe/k8=";
       };
     }
     {
@@ -3526,7 +3542,7 @@
       path = fetchurl {
         name = "has___has_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
-        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     }
     {
@@ -3534,7 +3550,7 @@
       path = fetchurl {
         name = "hash_base___hash_base_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz";
-        sha1 = "55c381d9e06e1d2997a883b4a3fddfe7f0d3af33";
+        sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
       };
     }
     {
@@ -3542,7 +3558,7 @@
       path = fetchurl {
         name = "hasha___hasha_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz";
-        sha1 = "52a32fab8569d41ca69a61ff1a214f8eb7c8bd39";
+        sha1 = "UqMvq4Vp1BymmmH/GiFPjrfIvTk=";
       };
     }
     {
@@ -3550,7 +3566,7 @@
       path = fetchurl {
         name = "he___he_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz";
-        sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f";
+        sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
       };
     }
     {
@@ -3558,7 +3574,7 @@
       path = fetchurl {
         name = "heapdump___heapdump_0.3.15.tgz";
         url  = "https://registry.yarnpkg.com/heapdump/-/heapdump-0.3.15.tgz";
-        sha1 = "631a8a2585588ea64778d8ec80a64c6c025f6a08";
+        sha512 = "n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==";
       };
     }
     {
@@ -3566,7 +3582,7 @@
       path = fetchurl {
         name = "home_or_tmp___home_or_tmp_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
-        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
+        sha1 = "42w/LSyufXRqhX440Y1fMqeILbg=";
       };
     }
     {
@@ -3574,7 +3590,7 @@
       path = fetchurl {
         name = "home_path___home_path_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/home-path/-/home-path-1.0.7.tgz";
-        sha1 = "cf77d7339ff3ddc3347a23c52612b1f5e7e56313";
+        sha512 = "tM1pVa+u3ZqQwIkXcWfhUlY3HWS3TsnKsfi2OHHvnhkX52s9etyktPyy1rQotkr0euWimChDq+QkQuDe8ngUlQ==";
       };
     }
     {
@@ -3582,7 +3598,7 @@
       path = fetchurl {
         name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
-        sha1 = "743298cef4e5af3e194161fbadcc2151d3a058e8";
+        sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     }
     {
@@ -3590,7 +3606,7 @@
       path = fetchurl {
         name = "hooker___hooker_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz";
-        sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+        sha1 = "uDT3I8xKJCqmWWNFnfbZhMXT2Vk=";
       };
     }
     {
@@ -3598,7 +3614,7 @@
       path = fetchurl {
         name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
         url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha1 = "dffc0bf9a21c02209090f2aa69429e1414daf3f9";
+        sha512 = "mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==";
       };
     }
     {
@@ -3606,7 +3622,7 @@
       path = fetchurl {
         name = "hot_patcher___hot_patcher_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/hot-patcher/-/hot-patcher-0.5.0.tgz";
-        sha1 = "9d401424585aaf3a91646b816ceff40eb6a916b9";
+        sha512 = "2Uu2W0s8+dnqXzdlg0MRsRzPoDCs1wVjOGSyMRRaMzLDX4bgHw6xDYKccsWafXPPxQpkQfEjgW6+17pwcg60bw==";
       };
     }
     {
@@ -3614,7 +3630,7 @@
       path = fetchurl {
         name = "html_encoding_sniffer___html_encoding_sniffer_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz";
-        sha1 = "2cb1a8cf0db52414776e5b2a7a04d5dd98158de9";
+        sha512 = "oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==";
       };
     }
     {
@@ -3622,7 +3638,7 @@
       path = fetchurl {
         name = "html_escaper___html_escaper_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz";
-        sha1 = "dfd60027da36a36dfcbe236262c00a5822681453";
+        sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
       };
     }
     {
@@ -3630,23 +3646,7 @@
       path = fetchurl {
         name = "html_minifier___html_minifier_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz";
-        sha1 = "cca9aad8bce1175e02e17a8c33e46d8988889f56";
-      };
-    }
-    {
-      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";
-      };
-    }
-    {
-      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";
-        sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06";
+        sha512 = "aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==";
       };
     }
     {
@@ -3654,7 +3654,7 @@
       path = fetchurl {
         name = "http_errors___http_errors_1.8.1.tgz";
         url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz";
-        sha1 = "7c3f28577cbc8a207388455dbd62295ed07bd68c";
+        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
       };
     }
     {
@@ -3662,7 +3662,7 @@
       path = fetchurl {
         name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz";
-        sha1 = "5129800203520d434f142bc78ff3c170800f2b43";
+        sha512 = "n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==";
       };
     }
     {
@@ -3670,7 +3670,7 @@
       path = fetchurl {
         name = "http_signature___http_signature_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
-        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+        sha1 = "muzZJRFHcvPZW2WmCruPfBj7rOE=";
       };
     }
     {
@@ -3678,7 +3678,7 @@
       path = fetchurl {
         name = "http_ece___http_ece_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/http_ece/-/http_ece-1.1.0.tgz";
-        sha1 = "74780c6eb32d8ddfe9e36a83abcd81fe0cd4fb75";
+        sha512 = "bptAfCDdPJxOs5zYSe7Y3lpr772s1G346R4Td5LgRUeCwIGpCGDUTJxRrhTNcAXbx37spge0kWEIH7QAYWNTlA==";
       };
     }
     {
@@ -3686,7 +3686,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==";
       };
     }
     {
@@ -3694,7 +3694,7 @@
       path = fetchurl {
         name = "https___https_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/https/-/https-1.0.0.tgz";
-        sha1 = "3c37c7ae1a8eeb966904a2ad1e975a194b7ed3a4";
+        sha1 = "PDfHrhqO65ZpBKKtHpdaGUt+06Q=";
       };
     }
     {
@@ -3702,7 +3702,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==";
       };
     }
     {
@@ -3710,7 +3710,7 @@
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.6.3.tgz";
         url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz";
-        sha1 = "a52f80bf38da1952eb5c681790719871a1a72501";
+        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
       };
     }
     {
@@ -3718,15 +3718,15 @@
       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==";
       };
     }
     {
-      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";
-        sha1 = "58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750";
+        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==";
       };
     }
     {
@@ -3734,7 +3734,7 @@
       path = fetchurl {
         name = "immediate___immediate_3.0.6.tgz";
         url  = "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz";
-        sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b";
+        sha1 = "nbHb0Pr43m++D13V5Wu2BigN5ps=";
       };
     }
     {
@@ -3742,7 +3742,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=";
       };
     }
     {
@@ -3750,7 +3750,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=";
       };
     }
     {
@@ -3758,15 +3758,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==";
       };
     }
     {
@@ -3774,7 +3766,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==";
       };
     }
     {
@@ -3782,7 +3774,7 @@
       path = fetchurl {
         name = "interpret___interpret_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz";
-        sha1 = "7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614";
+        sha1 = "ftGxQQxqDg94z5XTuEQMY/eLhhQ=";
       };
     }
     {
@@ -3790,7 +3782,7 @@
       path = fetchurl {
         name = "invariant___invariant_2.2.4.tgz";
         url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
-        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+        sha512 = "phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==";
       };
     }
     {
@@ -3798,7 +3790,7 @@
       path = fetchurl {
         name = "invert_kv___invert_kv_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz";
-        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+        sha1 = "EEqOSqym09jNFXqO+L+rLXo//bY=";
       };
     }
     {
@@ -3806,7 +3798,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==";
       };
     }
     {
@@ -3814,7 +3806,7 @@
       path = fetchurl {
         name = "ipcheck___ipcheck_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/ipcheck/-/ipcheck-0.1.0.tgz";
-        sha1 = "a6f942228910010f1688117b7a774b39c5222f81";
+        sha1 = "pvlCIokQAQ8WiBF7endLOcUiL4E=";
       };
     }
     {
@@ -3822,7 +3814,7 @@
       path = fetchurl {
         name = "is_absolute___is_absolute_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz";
-        sha1 = "395e1ae84b11f26ad1795e73c17378e48a301576";
+        sha512 = "dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==";
       };
     }
     {
@@ -3830,7 +3822,7 @@
       path = fetchurl {
         name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
         url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
-        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+        sha1 = "qeEss66Nh2cn7u84Q/igiXtcmNY=";
       };
     }
     {
@@ -3838,7 +3830,7 @@
       path = fetchurl {
         name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
-        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+        sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
       };
     }
     {
@@ -3846,7 +3838,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=";
       };
     }
     {
@@ -3854,7 +3846,7 @@
       path = fetchurl {
         name = "is_binary_path___is_binary_path_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
-        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+        sha1 = "dfFmQrSA8YenEcgUFh/TpKdlWJg=";
       };
     }
     {
@@ -3862,15 +3854,15 @@
       path = fetchurl {
         name = "is_buffer___is_buffer_1.1.6.tgz";
         url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     }
     {
-      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";
-        sha1 = "0321336c3d0925e497fd97f5d95cb114a5ccd548";
+        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==";
       };
     }
     {
@@ -3878,7 +3870,7 @@
       path = fetchurl {
         name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
-        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+        sha1 = "C17mSDiOLIYCgueT8YVv7D8wG1Y=";
       };
     }
     {
@@ -3886,7 +3878,7 @@
       path = fetchurl {
         name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
-        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     }
     {
@@ -3894,7 +3886,7 @@
       path = fetchurl {
         name = "is_descriptor___is_descriptor_0.1.6.tgz";
         url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
-        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+        sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
       };
     }
     {
@@ -3902,7 +3894,7 @@
       path = fetchurl {
         name = "is_descriptor___is_descriptor_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
-        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+        sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
       };
     }
     {
@@ -3910,7 +3902,7 @@
       path = fetchurl {
         name = "is_dotfile___is_dotfile_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz";
-        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
+        sha1 = "pqLzL/0t+wT1yiXs0Pa4PPeYoeE=";
       };
     }
     {
@@ -3918,7 +3910,7 @@
       path = fetchurl {
         name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz";
         url  = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
-        sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
+        sha1 = "IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=";
       };
     }
     {
@@ -3926,7 +3918,7 @@
       path = fetchurl {
         name = "is_extendable___is_extendable_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
-        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+        sha1 = "YrEQ4omkcUGOPsNqYX1HLjAd/Ik=";
       };
     }
     {
@@ -3934,7 +3926,7 @@
       path = fetchurl {
         name = "is_extendable___is_extendable_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
-        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+        sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
       };
     }
     {
@@ -3942,7 +3934,7 @@
       path = fetchurl {
         name = "is_extglob___is_extglob_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz";
-        sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
+        sha1 = "rEaBd8SUNAWgkvyPKXYMb/xiBsA=";
       };
     }
     {
@@ -3950,7 +3942,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=";
       };
     }
     {
@@ -3958,7 +3950,7 @@
       path = fetchurl {
         name = "is_finite___is_finite_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz";
-        sha1 = "904135c77fb42c0641d6aa1bcdbc4daa8da082f3";
+        sha512 = "cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==";
       };
     }
     {
@@ -3966,7 +3958,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";
+        sha1 = "754xOG8DGn8NZDr4L95QxFfvAMs=";
       };
     }
     {
@@ -3974,7 +3966,7 @@
       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 = "o7MKXE8ZkYMWeqq5O+764937ZU8=";
       };
     }
     {
@@ -3982,7 +3974,7 @@
       path = fetchurl {
         name = "is_glob___is_glob_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz";
-        sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
+        sha1 = "0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=";
       };
     }
     {
@@ -3990,7 +3982,7 @@
       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==";
       };
     }
     {
@@ -3998,7 +3990,7 @@
       path = fetchurl {
         name = "is_number___is_number_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz";
-        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
+        sha1 = "Afy7s5NGOlSPL0ZszhbezknbkI8=";
       };
     }
     {
@@ -4006,7 +3998,7 @@
       path = fetchurl {
         name = "is_number___is_number_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
-        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+        sha1 = "JP1iAaR4LPUFYcgQJ2r8fRLXEZU=";
       };
     }
     {
@@ -4014,7 +4006,7 @@
       path = fetchurl {
         name = "is_number___is_number_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz";
-        sha1 = "0026e37f5454d73e356dfe6564699867c6a7f0ff";
+        sha512 = "rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==";
       };
     }
     {
@@ -4022,7 +4014,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==";
       };
     }
     {
@@ -4030,7 +4022,7 @@
       path = fetchurl {
         name = "is_plain_object___is_plain_object_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
-        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
       };
     }
     {
@@ -4038,7 +4030,7 @@
       path = fetchurl {
         name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
-        sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
+        sha1 = "MzTceXdDaOkvAW5vvAqI9c1ua8Q=";
       };
     }
     {
@@ -4046,7 +4038,7 @@
       path = fetchurl {
         name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz";
-        sha1 = "171ed6f19e3ac554394edf78caa05784a45bebb5";
+        sha512 = "bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==";
       };
     }
     {
@@ -4054,7 +4046,7 @@
       path = fetchurl {
         name = "is_primitive___is_primitive_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz";
-        sha1 = "207bab91638499c07b2adf240a41a87210034575";
+        sha1 = "IHurkWOEmcB7Kt8kCkGochADRXU=";
       };
     }
     {
@@ -4062,7 +4054,7 @@
       path = fetchurl {
         name = "is_relative___is_relative_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz";
-        sha1 = "a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d";
+        sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==";
       };
     }
     {
@@ -4070,7 +4062,7 @@
       path = fetchurl {
         name = "is_stream___is_stream_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
-        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+        sha1 = "EtSj3U5o4Lec6428hBc66A2RykQ=";
       };
     }
     {
@@ -4078,7 +4070,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==";
       };
     }
     {
@@ -4086,7 +4078,7 @@
       path = fetchurl {
         name = "is_typedarray___is_typedarray_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+        sha1 = "5HnICFjfDBsR3dppQPlgEfzaSpo=";
       };
     }
     {
@@ -4094,7 +4086,7 @@
       path = fetchurl {
         name = "is_unc_path___is_unc_path_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz";
-        sha1 = "d731e8898ed090a12c352ad2eaed5095ad322c9d";
+        sha512 = "mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==";
       };
     }
     {
@@ -4102,7 +4094,7 @@
       path = fetchurl {
         name = "is_utf8___is_utf8_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz";
-        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+        sha1 = "Sw2hRCEE0bM2NA6AeX6GXPOffXI=";
       };
     }
     {
@@ -4110,7 +4102,7 @@
       path = fetchurl {
         name = "is_windows___is_windows_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
-        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
       };
     }
     {
@@ -4118,7 +4110,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=";
       };
     }
     {
@@ -4126,7 +4118,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=";
       };
     }
     {
@@ -4134,7 +4126,7 @@
       path = fetchurl {
         name = "isobject___isobject_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
-        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+        sha1 = "8GVWEJaj8dou9GJy+BXIQNh+DIk=";
       };
     }
     {
@@ -4142,7 +4134,7 @@
       path = fetchurl {
         name = "isobject___isobject_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
-        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+        sha1 = "TkMekrEalzFjaqH5yNHMvP2reN8=";
       };
     }
     {
@@ -4150,7 +4142,7 @@
       path = fetchurl {
         name = "isstream___isstream_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
-        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+        sha1 = "R+Y/evVa+m+S4VAOaQ64uFKcCZo=";
       };
     }
     {
@@ -4158,7 +4150,7 @@
       path = fetchurl {
         name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
-        sha1 = "675f0ab69503fad4b1d849f736baaca803344f49";
+        sha512 = "8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==";
       };
     }
     {
@@ -4166,7 +4158,7 @@
       path = fetchurl {
         name = "istanbul_lib_hook___istanbul_lib_hook_2.0.7.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz";
-        sha1 = "c95695f383d4f8f60df1f04252a9550e15b5b133";
+        sha512 = "vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==";
       };
     }
     {
@@ -4174,7 +4166,7 @@
       path = fetchurl {
         name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
-        sha1 = "a5f63d91f0bbc0c3e479ef4c5de027335ec6d630";
+        sha512 = "5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==";
       };
     }
     {
@@ -4182,7 +4174,7 @@
       path = fetchurl {
         name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
-        sha1 = "5a8113cd746d43c4889eba36ab10e7d50c9b4f33";
+        sha512 = "fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==";
       };
     }
     {
@@ -4190,7 +4182,7 @@
       path = fetchurl {
         name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
-        sha1 = "284997c48211752ec486253da97e3879defba8c8";
+        sha512 = "R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==";
       };
     }
     {
@@ -4198,7 +4190,7 @@
       path = fetchurl {
         name = "istanbul_reports___istanbul_reports_2.2.7.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz";
-        sha1 = "5d939f6237d7b48393cc0959eab40cd4fd056931";
+        sha512 = "uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==";
       };
     }
     {
@@ -4206,7 +4198,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==";
       };
     }
     {
@@ -4214,7 +4206,7 @@
       path = fetchurl {
         name = "js_tokens___js_tokens_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
-        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+        sha1 = "mGbfOVECEw449/mWvOtlRDIJwls=";
       };
     }
     {
@@ -4222,7 +4214,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==";
       };
     }
     {
@@ -4230,7 +4222,7 @@
       path = fetchurl {
         name = "js2xmlparser___js2xmlparser_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz";
-        sha1 = "5a170f2e8d6476ce45405e04823242513782fe30";
+        sha1 = "WhcPLo1kds5FQF4EgjJCUTeC/jA=";
       };
     }
     {
@@ -4238,7 +4230,7 @@
       path = fetchurl {
         name = "jsbn___jsbn_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+        sha1 = "peZUwuWi3rXyAdls77yoDA7y9RM=";
       };
     }
     {
@@ -4246,7 +4238,7 @@
       path = fetchurl {
         name = "jsdoc_75lb___jsdoc_75lb_3.6.0.tgz";
         url  = "https://registry.yarnpkg.com/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz";
-        sha1 = "a807119528b4009ccbcab49b7522f63fec6cd0bd";
+        sha1 = "qAcRlSi0AJzLyrSbdSL2P+xs0L0=";
       };
     }
     {
@@ -4254,7 +4246,7 @@
       path = fetchurl {
         name = "jsdoc_api___jsdoc_api_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-1.2.4.tgz";
-        sha1 = "5012235927bfad1e27bc88d07b0ddddb2d3a8a59";
+        sha1 = "UBIjWSe/rR4nvIjQew3d2y06ilk=";
       };
     }
     {
@@ -4262,7 +4254,7 @@
       path = fetchurl {
         name = "jsdoc_parse___jsdoc_parse_1.2.7.tgz";
         url  = "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-1.2.7.tgz";
-        sha1 = "54b7481b3cd6bcb7c173dc4fa69ee92735ea2525";
+        sha1 = "VLdIGzzWvLfBc9xPpp7pJzXqJSU=";
       };
     }
     {
@@ -4270,7 +4262,7 @@
       path = fetchurl {
         name = "jsdoc_to_markdown___jsdoc_to_markdown_1.3.9.tgz";
         url  = "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-1.3.9.tgz";
-        sha1 = "774c0ece0ebd0bcc3261b2c9a2aa8d1399a61472";
+        sha1 = "d0wOzg69C8wyYbLJoqqNE5mmFHI=";
       };
     }
     {
@@ -4278,7 +4270,7 @@
       path = fetchurl {
         name = "jsdoc2md_stats___jsdoc2md_stats_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/jsdoc2md-stats/-/jsdoc2md-stats-1.0.6.tgz";
-        sha1 = "dc0e002aebbd0fbae5123534f92732afbc651fbf";
+        sha1 = "3A4AKuu9D7rlEjU0+Scyr7xlH78=";
       };
     }
     {
@@ -4286,7 +4278,7 @@
       path = fetchurl {
         name = "jsdom___jsdom_19.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-19.0.0.tgz";
-        sha1 = "93e67c149fe26816d38a849ea30ac93677e16b6a";
+        sha512 = "RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==";
       };
     }
     {
@@ -4294,7 +4286,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz";
-        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+        sha1 = "RsP+yMGJKxKwgz25vHYiF226s0s=";
       };
     }
     {
@@ -4302,7 +4294,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_2.5.2.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
-        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     }
     {
@@ -4310,7 +4302,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
-        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+        sha1 = "597mbjXW/Bb3EP6R1c9p9w8IkR0=";
       };
     }
     {
@@ -4318,7 +4310,7 @@
       path = fetchurl {
         name = "json_bigint___json_bigint_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz";
-        sha1 = "ae547823ac0cad8398667f8cd9ef4730f5b01ff1";
+        sha512 = "SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==";
       };
     }
     {
@@ -4326,7 +4318,7 @@
       path = fetchurl {
         name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
-        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
       };
     }
     {
@@ -4334,7 +4326,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==";
       };
     }
     {
@@ -4342,7 +4334,7 @@
       path = fetchurl {
         name = "json_schema___json_schema_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz";
-        sha1 = "f7de4cf6efab838ebaeb3236474cbba5a1930ab5";
+        sha512 = "es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==";
       };
     }
     {
@@ -4350,7 +4342,7 @@
       path = fetchurl {
         name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+        sha1 = "Epai1Y/UXxmg9s4B1lcB4sc1tus=";
       };
     }
     {
@@ -4358,7 +4350,7 @@
       path = fetchurl {
         name = "json5___json5_0.5.1.tgz";
         url  = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz";
-        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+        sha1 = "Hq3nrMASA0rYTiOWdn6tn6VJWCE=";
       };
     }
     {
@@ -4366,7 +4358,7 @@
       path = fetchurl {
         name = "jsonwebtoken___jsonwebtoken_8.5.1.tgz";
         url  = "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz";
-        sha1 = "00e71e0b8df54c2121a1f26137df2280673bcc0d";
+        sha512 = "XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==";
       };
     }
     {
@@ -4374,7 +4366,7 @@
       path = fetchurl {
         name = "jsprim___jsprim_1.4.2.tgz";
         url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz";
-        sha1 = "712c65533a15c878ba59e9ed5f0e26d5b77c5feb";
+        sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==";
       };
     }
     {
@@ -4382,7 +4374,7 @@
       path = fetchurl {
         name = "jwa___jwa_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz";
-        sha1 = "743c32985cb9e98655530d53641b66c8645b039a";
+        sha512 = "qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==";
       };
     }
     {
@@ -4390,7 +4382,7 @@
       path = fetchurl {
         name = "jwa___jwa_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz";
-        sha1 = "a7e9c3f29dae94027ebcaf49975c9345593410fc";
+        sha512 = "jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==";
       };
     }
     {
@@ -4398,7 +4390,7 @@
       path = fetchurl {
         name = "jws___jws_3.2.2.tgz";
         url  = "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz";
-        sha1 = "001099f3639468c9414000e99995fa52fb478304";
+        sha512 = "YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==";
       };
     }
     {
@@ -4406,7 +4398,7 @@
       path = fetchurl {
         name = "jws___jws_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz";
-        sha1 = "2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4";
+        sha512 = "KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==";
       };
     }
     {
@@ -4414,7 +4406,7 @@
       path = fetchurl {
         name = "jwt_simple___jwt_simple_0.5.6.tgz";
         url  = "https://registry.yarnpkg.com/jwt-simple/-/jwt-simple-0.5.6.tgz";
-        sha1 = "3357adec55b26547114157be66748995b75b333a";
+        sha512 = "40aUybvhH9t2h71ncA1/1SbtTNCVZHgsTsTgqPUxGWDmUDrXyDf2wMNQKEbdBjbf4AI+fQhbECNTV6lWxQKUzg==";
       };
     }
     {
@@ -4422,7 +4414,7 @@
       path = fetchurl {
         name = "keygrip___keygrip_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz";
-        sha1 = "871b1681d5e159c62a445b0c74b615e0917e7226";
+        sha512 = "iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==";
       };
     }
     {
@@ -4430,7 +4422,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_3.2.2.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
-        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+        sha1 = "MeohpzS6ubuw8yRm2JOupR5KPGQ=";
       };
     }
     {
@@ -4438,7 +4430,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
-        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+        sha1 = "IIE989cSkosgc3hpGkUGb65y3Vc=";
       };
     }
     {
@@ -4446,7 +4438,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
-        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+        sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
       };
     }
     {
@@ -4454,7 +4446,7 @@
       path = fetchurl {
         name = "kind_of___kind_of_6.0.3.tgz";
         url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz";
-        sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd";
+        sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
       };
     }
     {
@@ -4462,7 +4454,7 @@
       path = fetchurl {
         name = "klaw___klaw_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz";
-        sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
+        sha1 = "QIhDO0azsbolnXh4XY6W9zugJDk=";
       };
     }
     {
@@ -4470,7 +4462,7 @@
       path = fetchurl {
         name = "koa_compose___koa_compose_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz";
-        sha1 = "507306b9371901db41121c812e923d0d67d3e877";
+        sha512 = "8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==";
       };
     }
     {
@@ -4478,7 +4470,7 @@
       path = fetchurl {
         name = "layerr___layerr_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/layerr/-/layerr-0.1.2.tgz";
-        sha1 = "16c8e7fb042d3595ab15492bdad088f31d7afd15";
+        sha512 = "ob5kTd9H3S4GOG2nVXyQhOu9O8nBgP555XxWPkJI0tR0JeRilfyTp8WtPdIJHLXBmHMSdEq5+KMxiYABeScsIQ==";
       };
     }
     {
@@ -4486,7 +4478,7 @@
       path = fetchurl {
         name = "lazy_cache___lazy_cache_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz";
-        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+        sha1 = "odePw6UEdMuAhF07O24dpJpEbo4=";
       };
     }
     {
@@ -4494,7 +4486,7 @@
       path = fetchurl {
         name = "lazystream___lazystream_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz";
-        sha1 = "494c831062f1f9408251ec44db1cba29242a2638";
+        sha512 = "b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==";
       };
     }
     {
@@ -4502,7 +4494,7 @@
       path = fetchurl {
         name = "lcid___lcid_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz";
-        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+        sha1 = "MIrMr6C8SDo4Z7S28rlQYlHRuDU=";
       };
     }
     {
@@ -4510,15 +4502,15 @@
       path = fetchurl {
         name = "ldap_filter___ldap_filter_0.3.3.tgz";
         url  = "https://registry.yarnpkg.com/ldap-filter/-/ldap-filter-0.3.3.tgz";
-        sha1 = "2b14c68a2a9d4104dbdbc910a1ca85fd189e9797";
+        sha1 = "KxTGiiqdQQTb28kQocqF/Riel5c=";
       };
     }
     {
-      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";
-        sha1 = "18779a9c30371c5bbea02e3b6aaadb60819ad29c";
+        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==";
       };
     }
     {
@@ -4526,7 +4518,7 @@
       path = fetchurl {
         name = "ldapjs___ldapjs_2.3.1.tgz";
         url  = "https://registry.yarnpkg.com/ldapjs/-/ldapjs-2.3.1.tgz";
-        sha1 = "04136815fb1f21d692ac87fab5961a04d86e8b04";
+        sha512 = "kf0tHHLrpwKaBAQOhYHXgdeh2PkFuCCxWgLb1MRn67ZQVo787D2pij3mmHVZx193GIdM8xcfi8HF6AIYYnj0fQ==";
       };
     }
     {
@@ -4534,7 +4526,7 @@
       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=";
       };
     }
     {
@@ -4542,7 +4534,7 @@
       path = fetchurl {
         name = "lie___lie_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz";
-        sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e";
+        sha1 = "mkNrLMd0bKWd56QfpGmz77dr2H4=";
       };
     }
     {
@@ -4550,7 +4542,7 @@
       path = fetchurl {
         name = "liftup___liftup_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/liftup/-/liftup-3.0.1.tgz";
-        sha1 = "1cb81aff0f368464ed3a5f1a7286372d6b1a60ce";
+        sha512 = "yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==";
       };
     }
     {
@@ -4558,7 +4550,7 @@
       path = fetchurl {
         name = "load_json_file___load_json_file_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz";
-        sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+        sha1 = "lWkFcI1YtLq0wiYbBPWfMcmTdMA=";
       };
     }
     {
@@ -4566,7 +4558,7 @@
       path = fetchurl {
         name = "load_json_file___load_json_file_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz";
-        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+        sha1 = "L19Fq5HjMhYjT9U62rZo607AmTs=";
       };
     }
     {
@@ -4574,7 +4566,7 @@
       path = fetchurl {
         name = "loadavg_windows___loadavg_windows_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/loadavg-windows/-/loadavg-windows-1.1.1.tgz";
-        sha1 = "e384aa8107b4ebf851bec267dd4a0789c4c54bc4";
+        sha512 = "ncSyH121LuN6OENPSohTAS2W85J3NYVIfjsVcK4spViQbHlQUXhGKd8VYhrqWyjtwwSTw4g3rrDraNoSJWRLgw==";
       };
     }
     {
@@ -4582,7 +4574,7 @@
       path = fetchurl {
         name = "localforage___localforage_1.10.0.tgz";
         url  = "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz";
-        sha1 = "5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4";
+        sha512 = "14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==";
       };
     }
     {
@@ -4590,7 +4582,7 @@
       path = fetchurl {
         name = "locate_path___locate_path_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
-        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
       };
     }
     {
@@ -4598,7 +4590,7 @@
       path = fetchurl {
         name = "lodash.assign___lodash.assign_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz";
-        sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
+        sha1 = "DZnzzNem0mHRm9rrkkUAXShYCOc=";
       };
     }
     {
@@ -4606,7 +4598,7 @@
       path = fetchurl {
         name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz";
-        sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
+        sha1 = "0JF4cW/+pN3p5ft7N/bwgCJ0WAw=";
       };
     }
     {
@@ -4614,7 +4606,7 @@
       path = fetchurl {
         name = "lodash.difference___lodash.difference_4.5.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz";
-        sha1 = "9ccb4e505d486b91651345772885a2df27fd017c";
+        sha1 = "nMtOUF1Ia5FlE0V3KIWi3yf9AXw=";
       };
     }
     {
@@ -4622,7 +4614,7 @@
       path = fetchurl {
         name = "lodash.flatten___lodash.flatten_4.4.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz";
-        sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f";
+        sha1 = "8xwiIlqWMtK7+OSt2+8kCqdlph8=";
       };
     }
     {
@@ -4630,7 +4622,7 @@
       path = fetchurl {
         name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
-        sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
+        sha1 = "+wMJF/hqMTTlvJvsDWngAT3f7bI=";
       };
     }
     {
@@ -4638,7 +4630,7 @@
       path = fetchurl {
         name = "lodash.includes___lodash.includes_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz";
-        sha1 = "60bb98a87cb923c68ca1e51325483314849f553f";
+        sha1 = "YLuYqHy5I8aMoeUTJUgzFISfVT8=";
       };
     }
     {
@@ -4646,7 +4638,7 @@
       path = fetchurl {
         name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz";
-        sha1 = "6c2e171db2a257cd96802fd43b01b20d5f5870f6";
+        sha1 = "bC4XHbKiV82WgC/UOwGyDV9YcPY=";
       };
     }
     {
@@ -4654,7 +4646,7 @@
       path = fetchurl {
         name = "lodash.isinteger___lodash.isinteger_4.0.4.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz";
-        sha1 = "619c0af3d03f8b04c31f5882840b77b11cd68343";
+        sha1 = "YZwK89A/iwTDH1iChAt3sRzWg0M=";
       };
     }
     {
@@ -4662,7 +4654,7 @@
       path = fetchurl {
         name = "lodash.isnumber___lodash.isnumber_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz";
-        sha1 = "3ce76810c5928d03352301ac287317f11c0b1ffc";
+        sha1 = "POdoEMWSjQM1IwGsKHMX8RwLH/w=";
       };
     }
     {
@@ -4670,7 +4662,7 @@
       path = fetchurl {
         name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
-        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
+        sha1 = "fFJqUtibRcRcxpC4gWO+BJf1UMs=";
       };
     }
     {
@@ -4678,7 +4670,7 @@
       path = fetchurl {
         name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz";
-        sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
+        sha1 = "1SfftUVuynzJu5XV2ur4i6VKVFE=";
       };
     }
     {
@@ -4686,7 +4678,7 @@
       path = fetchurl {
         name = "lodash.once___lodash.once_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz";
-        sha1 = "0dd3971213c7c56df880977d504c88fb471a97ac";
+        sha1 = "DdOXEhPHxW34gJd9UEyI+0cal6w=";
       };
     }
     {
@@ -4694,7 +4686,7 @@
       path = fetchurl {
         name = "lodash.pick___lodash.pick_4.4.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz";
-        sha1 = "52f05610fff9ded422611441ed1fc123a03001b3";
+        sha1 = "UvBWEP/53tQiYRRB7R/BI6AwAbM=";
       };
     }
     {
@@ -4702,7 +4694,7 @@
       path = fetchurl {
         name = "lodash.union___lodash.union_4.6.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz";
-        sha1 = "48bb5088409f16f1821666641c44dd1aaae3cd88";
+        sha1 = "SLtQiECfFvGCFmZkHETdGqrjzYg=";
       };
     }
     {
@@ -4710,7 +4702,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==";
       };
     }
     {
@@ -4718,7 +4710,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==";
       };
     }
     {
@@ -4726,7 +4718,7 @@
       path = fetchurl {
         name = "longest___longest_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz";
-        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+        sha1 = "MKCy2jj3N3DoKUoNIuZiXtd9AJc=";
       };
     }
     {
@@ -4734,7 +4726,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==";
       };
     }
     {
@@ -4742,7 +4734,7 @@
       path = fetchurl {
         name = "lower_case___lower_case_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz";
-        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+        sha1 = "miyr0bno4K6ZOkv31YdcOcQujqw=";
       };
     }
     {
@@ -4750,7 +4742,7 @@
       path = fetchurl {
         name = "lru_cache___lru_cache_4.1.5.tgz";
         url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz";
-        sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd";
+        sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
       };
     }
     {
@@ -4758,7 +4750,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==";
       };
     }
     {
@@ -4766,7 +4758,7 @@
       path = fetchurl {
         name = "ltx___ltx_2.10.0.tgz";
         url  = "https://registry.yarnpkg.com/ltx/-/ltx-2.10.0.tgz";
-        sha1 = "0b794b898e01d9dcc61b54b160e78869003bbb20";
+        sha512 = "RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==";
       };
     }
     {
@@ -4774,7 +4766,7 @@
       path = fetchurl {
         name = "make_dir___make_dir_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
-        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
       };
     }
     {
@@ -4782,7 +4774,7 @@
       path = fetchurl {
         name = "make_iterator___make_iterator_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz";
-        sha1 = "29b33f312aa8f547c4a5e490f56afcec99133ad6";
+        sha512 = "pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==";
       };
     }
     {
@@ -4790,7 +4782,7 @@
       path = fetchurl {
         name = "map_cache___map_cache_0.2.2.tgz";
         url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
-        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+        sha1 = "wyq9C9ZSXZsFFkW7TyasXcmKDb8=";
       };
     }
     {
@@ -4798,7 +4790,7 @@
       path = fetchurl {
         name = "map_visit___map_visit_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
-        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+        sha1 = "7Nyo8TFE5mDxtb1B8S80edmN+48=";
       };
     }
     {
@@ -4806,7 +4798,7 @@
       path = fetchurl {
         name = "mariadb___mariadb_2.5.5.tgz";
         url  = "https://registry.yarnpkg.com/mariadb/-/mariadb-2.5.5.tgz";
-        sha1 = "a9aff9f1e57231a415a21254489439beb501c803";
+        sha512 = "6dklvcKWuuaV1JjAwnE2ezR+jTt7JrZHftgeHHBmjB0wgfaUpdxol1DPWclwMcCrsO9yoM0FuCOiCcCgXc//9Q==";
       };
     }
     {
@@ -4814,7 +4806,7 @@
       path = fetchurl {
         name = "marked___marked_0.3.19.tgz";
         url  = "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz";
-        sha1 = "5d47f709c4c9fc3c216b6d46127280f40b39d790";
+        sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
       };
     }
     {
@@ -4822,7 +4814,7 @@
       path = fetchurl {
         name = "math_random___math_random_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz";
-        sha1 = "5dd6943c938548267016d4e34f057583080c514c";
+        sha512 = "rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==";
       };
     }
     {
@@ -4830,7 +4822,7 @@
       path = fetchurl {
         name = "md5.js___md5.js_1.3.5.tgz";
         url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz";
-        sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f";
+        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
       };
     }
     {
@@ -4838,7 +4830,7 @@
       path = fetchurl {
         name = "md5___md5_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz";
-        sha1 = "c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f";
+        sha512 = "T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==";
       };
     }
     {
@@ -4846,7 +4838,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=";
       };
     }
     {
@@ -4854,7 +4846,7 @@
       path = fetchurl {
         name = "memory_pager___memory_pager_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz";
-        sha1 = "d8751655d22d384682741c972f2c3d6dfa3e66b5";
+        sha512 = "ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==";
       };
     }
     {
@@ -4862,7 +4854,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=";
       };
     }
     {
@@ -4870,7 +4862,7 @@
       path = fetchurl {
         name = "merge_source_map___merge_source_map_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz";
-        sha1 = "2fdde7e6020939f70906a68f2d7ae685e4c8c646";
+        sha512 = "Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==";
       };
     }
     {
@@ -4878,7 +4870,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=";
       };
     }
     {
@@ -4886,7 +4878,7 @@
       path = fetchurl {
         name = "micromatch___micromatch_2.3.11.tgz";
         url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz";
-        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
+        sha1 = "hmd8l9FyCzY0MdBNDRUpO9OMFWU=";
       };
     }
     {
@@ -4894,7 +4886,7 @@
       path = fetchurl {
         name = "micromatch___micromatch_3.1.10.tgz";
         url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
-        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     }
     {
@@ -4902,7 +4894,7 @@
       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==";
       };
     }
     {
@@ -4910,7 +4902,7 @@
       path = fetchurl {
         name = "mime_db___mime_db_1.51.0.tgz";
         url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz";
-        sha1 = "d9ff62451859b18342d960850dc3cfb77e63fb0c";
+        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
       };
     }
     {
@@ -4918,7 +4910,7 @@
       path = fetchurl {
         name = "mime_types___mime_types_2.1.34.tgz";
         url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz";
-        sha1 = "5a712f9ec1503511a945803640fafe09d3793c24";
+        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
       };
     }
     {
@@ -4926,7 +4918,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==";
       };
     }
     {
@@ -4934,7 +4926,7 @@
       path = fetchurl {
         name = "minify_js___minify_js_0.0.4.tgz";
         url  = "https://registry.yarnpkg.com/minify-js/-/minify-js-0.0.4.tgz";
-        sha1 = "e960cb61083f37af856944c512d0fca546d28dda";
+        sha1 = "6WDLYQg/N6+FaUTFEtD8pUbSjdo=";
       };
     }
     {
@@ -4942,7 +4934,7 @@
       path = fetchurl {
         name = "minify_js___minify_js_0.0.2.tgz";
         url  = "https://registry.yarnpkg.com/minify-js/-/minify-js-0.0.2.tgz";
-        sha1 = "833ba28645a1cfa942536bc6de4f0294d482f639";
+        sha1 = "gzuihkWhz6lCU2vG3k8ClNSC9jk=";
       };
     }
     {
@@ -4950,15 +4942,15 @@
       path = fetchurl {
         name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
-        sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
       };
     }
     {
-      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";
-        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+        name = "minimatch___minimatch_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz";
+        sha512 = "tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==";
       };
     }
     {
@@ -4966,7 +4958,7 @@
       path = fetchurl {
         name = "minimatch___minimatch_2.0.10.tgz";
         url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz";
-        sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7";
+        sha1 = "jQh8OcazjAAbl/ynzm0OHoCvusc=";
       };
     }
     {
@@ -4974,7 +4966,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==";
       };
     }
     {
@@ -4982,7 +4974,7 @@
       path = fetchurl {
         name = "minimist___minimist_0.0.10.tgz";
         url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz";
-        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+        sha1 = "3j+YVD2/lggr5IrRoMfNqDYwHc8=";
       };
     }
     {
@@ -4990,7 +4982,7 @@
       path = fetchurl {
         name = "mixin_deep___mixin_deep_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
-        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+        sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==";
       };
     }
     {
@@ -4998,7 +4990,7 @@
       path = fetchurl {
         name = "mkdirp2___mkdirp2_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.5.tgz";
-        sha1 = "68bbe61defefafce4b48948608ec0bac942512c2";
+        sha512 = "xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==";
       };
     }
     {
@@ -5006,7 +4998,7 @@
       path = fetchurl {
         name = "mkdirp___mkdirp_0.5.5.tgz";
         url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha1 = "d91cefd62d1436ca0f41620e251288d420099def";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     }
     {
@@ -5014,7 +5006,7 @@
       path = fetchurl {
         name = "mkdirp___mkdirp_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
-        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
+        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     }
     {
@@ -5022,7 +5014,7 @@
       path = fetchurl {
         name = "modern_syslog___modern_syslog_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/modern-syslog/-/modern-syslog-1.2.0.tgz";
-        sha1 = "6e419f640efe877f73ffea1c3e987132a69cd2a2";
+        sha512 = "dmFE23qpyZJf8MOdzuNKliW4j1PCqxaRtSzyNnv6QDUWjf1z8T4ZoQ7Qf0t6It2ewNv9/XJZSJoUgwpq3D0X7A==";
       };
     }
     {
@@ -5030,7 +5022,7 @@
       path = fetchurl {
         name = "moment_timezone___moment_timezone_0.5.34.tgz";
         url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz";
-        sha1 = "a75938f7476b88f155d3504a9343f7519d9a405c";
+        sha512 = "3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==";
       };
     }
     {
@@ -5038,7 +5030,7 @@
       path = fetchurl {
         name = "moment___moment_2.29.1.tgz";
         url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz";
-        sha1 = "b2be769fa31940be9eeea6469c075e35006fa3d3";
+        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
       };
     }
     {
@@ -5046,7 +5038,7 @@
       path = fetchurl {
         name = "mongodb_connection_string_url___mongodb_connection_string_url_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-1.1.2.tgz";
-        sha1 = "a115902fee402b9b24a80c16ced94818daedad91";
+        sha512 = "mp5lv4guWuykOpkwNNqQ0tKKytuJUjL/aC/bu/DqoJVWL5NSh4j/u+gJ+EiOdweLujHyq6JZZqcTVipHhL5xRg==";
       };
     }
     {
@@ -5054,7 +5046,7 @@
       path = fetchurl {
         name = "mongodb___mongodb_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/mongodb/-/mongodb-4.1.0.tgz";
-        sha1 = "f491de5d52003f41dffbc6ebfd8b95be21174d63";
+        sha512 = "Gx9U9MsFWgJ3E0v4oHAdWvYTGBznNYPCkhmD/3i/kPTY/URnPfHD5/6VoKUFrdgQTK3icFiM9976hVbqCRBO9Q==";
       };
     }
     {
@@ -5062,7 +5054,7 @@
       path = fetchurl {
         name = "mongodb___mongodb_3.7.3.tgz";
         url  = "https://registry.yarnpkg.com/mongodb/-/mongodb-3.7.3.tgz";
-        sha1 = "b7949cfd0adc4cc7d32d3f2034214d4475f175a5";
+        sha512 = "Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==";
       };
     }
     {
@@ -5070,7 +5062,7 @@
       path = fetchurl {
         name = "mongojs___mongojs_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/mongojs/-/mongojs-3.1.0.tgz";
-        sha1 = "4242e6f5218a7301c35393b64ba9130d1d9488ef";
+        sha512 = "aXJ4xfXwx9s1cqtKTZ24PypXiWhIgvgENObQzCGbV4QBxEVedy3yuErhx6znk959cF2dOzL2ClgXJvIhfgkpIQ==";
       };
     }
     {
@@ -5078,7 +5070,7 @@
       path = fetchurl {
         name = "mqemitter___mqemitter_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/mqemitter/-/mqemitter-3.0.0.tgz";
-        sha1 = "427733ce397be39304c2279bd84358d5525cf577";
+        sha512 = "1HduoiTFngBGFEKCGvfCpGfPM/3g58xtDW9fmuHpbnRieC01uAi3yJE/F1YsUrzH8p441l10kosYzi3HhJYnrQ==";
       };
     }
     {
@@ -5086,7 +5078,7 @@
       path = fetchurl {
         name = "mqtt_packet___mqtt_packet_6.10.0.tgz";
         url  = "https://registry.yarnpkg.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz";
-        sha1 = "c8b507832c4152e3e511c0efa104ae4a64cd418f";
+        sha512 = "ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==";
       };
     }
     {
@@ -5094,15 +5086,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=";
       };
     }
     {
@@ -5110,7 +5094,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==";
       };
     }
     {
@@ -5118,15 +5102,15 @@
       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==";
       };
     }
     {
-      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";
-        sha1 = "bee5fb5737247628d39dab4979ffd6d57bf60ef6";
+        name = "multiparty___multiparty_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.3.tgz";
+        sha512 = "Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==";
       };
     }
     {
@@ -5134,7 +5118,7 @@
       path = fetchurl {
         name = "mustache___mustache_2.3.2.tgz";
         url  = "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz";
-        sha1 = "a6d4d9c3f91d13359ab889a812954f9230a3d0c5";
+        sha512 = "KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==";
       };
     }
     {
@@ -5142,7 +5126,7 @@
       path = fetchurl {
         name = "mv___mv_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz";
-        sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2";
+        sha1 = "rmzg1vbV4KT32JN5jQPB6pVZtqI=";
       };
     }
     {
@@ -5150,7 +5134,7 @@
       path = fetchurl {
         name = "mysql___mysql_2.18.1.tgz";
         url  = "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz";
-        sha1 = "2254143855c5a8c73825e4522baf2ea021766717";
+        sha512 = "Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==";
       };
     }
     {
@@ -5158,7 +5142,7 @@
       path = fetchurl {
         name = "nan___nan_2.15.0.tgz";
         url  = "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz";
-        sha1 = "3f34a473ff18e15c1b5626b62903b5ad6e665fee";
+        sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
       };
     }
     {
@@ -5166,7 +5150,7 @@
       path = fetchurl {
         name = "nanoid___nanoid_2.1.11.tgz";
         url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz";
-        sha1 = "ec24b8a758d591561531b4176a01e3ab4f0f0280";
+        sha512 = "s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==";
       };
     }
     {
@@ -5174,7 +5158,7 @@
       path = fetchurl {
         name = "nanomatch___nanomatch_1.2.13.tgz";
         url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
-        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+        sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
       };
     }
     {
@@ -5182,15 +5166,15 @@
       path = fetchurl {
         name = "ncp___ncp_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz";
-        sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3";
+        sha1 = "GVoh1sRuNh0vsSgbo4uR6d9727M=";
       };
     }
     {
-      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";
-        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+        name = "negotiator___negotiator_0.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz";
+        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
       };
     }
     {
@@ -5198,7 +5182,7 @@
       path = fetchurl {
         name = "neo_async___neo_async_2.6.2.tgz";
         url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz";
-        sha1 = "b4aafb93e3aeb2d8174ca53cf163ab7d7308305f";
+        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
       };
     }
     {
@@ -5206,7 +5190,7 @@
       path = fetchurl {
         name = "nested_error_stacks___nested_error_stacks_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz";
-        sha1 = "0fbdcf3e13fe4994781280524f8b96b0cdff9c61";
+        sha512 = "AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==";
       };
     }
     {
@@ -5214,7 +5198,7 @@
       path = fetchurl {
         name = "nested_property___nested_property_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/nested-property/-/nested-property-4.0.0.tgz";
-        sha1 = "a67b5a31991e701e03cdbaa6453bc5b1011bb88d";
+        sha512 = "yFehXNWRs4cM0+dz7QxCd06hTbWbSkV0ISsqBfkntU6TOY4Qm3Q88fRRLOddkGh2Qq6dZvnKVAahfhjcUvLnyA==";
       };
     }
     {
@@ -5222,7 +5206,7 @@
       path = fetchurl {
         name = "no_case___no_case_2.3.2.tgz";
         url  = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz";
-        sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac";
+        sha512 = "rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==";
       };
     }
     {
@@ -5230,23 +5214,23 @@
       path = fetchurl {
         name = "node_addon_api___node_addon_api_1.7.2.tgz";
         url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz";
-        sha1 = "3df30b95720b53c24e59948b49532b662444f54d";
+        sha512 = "ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==";
       };
     }
     {
-      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";
-        sha1 = "1751a7c01834e8e1697758732e9efb6eeadfaf89";
+        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";
-        sha1 = "32dea2afb3e9926f02ee5ce8794902691a676bf3";
+        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==";
       };
     }
     {
@@ -5254,7 +5238,7 @@
       path = fetchurl {
         name = "node_rdpjs_2___node_rdpjs_2_0.3.5.tgz";
         url  = "https://registry.yarnpkg.com/node-rdpjs-2/-/node-rdpjs-2-0.3.5.tgz";
-        sha1 = "6f05fa175e70095a20b59c377be34fa1fe2fa444";
+        sha512 = "ABgNbpbJlX2S4SZnsyoUd1MXINLq2y2hbrOXcoxn/NMl4/7uhM/JmXKublF3AooOgRCVKlXiefUVCIMSG/mNZw==";
       };
     }
     {
@@ -5262,7 +5246,7 @@
       path = fetchurl {
         name = "node_sspi___node_sspi_0.2.9.tgz";
         url  = "https://registry.yarnpkg.com/node-sspi/-/node-sspi-0.2.9.tgz";
-        sha1 = "5a5aab40a4062dbc95cbdbe61a44df34e91afaaf";
+        sha512 = "7wnA8J6HQlqIS6J9B4Ofk1lf/e0tZzrMQYurrYKq46WLUJP9onFnmmedpiTpCwlrtXu4EMeEi+WStIDf9tz1fQ==";
       };
     }
     {
@@ -5270,7 +5254,7 @@
       path = fetchurl {
         name = "node_vault___node_vault_0.9.22.tgz";
         url  = "https://registry.yarnpkg.com/node-vault/-/node-vault-0.9.22.tgz";
-        sha1 = "052ab9b36c29d80d1ecfad61275259fe710d179e";
+        sha512 = "/IR+YvINFhCzxJA5x/KHUDymJerFaeqvPUE2zwceRig8yEIA41qfVKusmO6bqRGFkr/2f6CaBVp7YfabzQyteg==";
       };
     }
     {
@@ -5278,7 +5262,7 @@
       path = fetchurl {
         name = "node_windows___node_windows_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/node-windows/-/node-windows-0.1.4.tgz";
-        sha1 = "23d5ee98b6b8290e0a3da9998ee638845fedcb1b";
+        sha1 = "I9XumLa4KQ4KPamZjuY4hF/tyxs=";
       };
     }
     {
@@ -5286,7 +5270,7 @@
       path = fetchurl {
         name = "node_xcs___node_xcs_0.1.7.tgz";
         url  = "https://registry.yarnpkg.com/node-xcs/-/node-xcs-0.1.7.tgz";
-        sha1 = "831d4956d6d6b958a1bc266b70760eafaa733206";
+        sha512 = "YrZOhvyrk6LKYcGFq+sSNvfLalhEBmdc8E105J3hHpn+lVUD5dRJGGf0RpsismNMgp8Mv+Vvft6tofq0mj6Ofw==";
       };
     }
     {
@@ -5294,7 +5278,7 @@
       path = fetchurl {
         name = "nodemailer___nodemailer_6.7.2.tgz";
         url  = "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.2.tgz";
-        sha1 = "44b2ad5f7ed71b7067f7a21c4fedabaec62b85e0";
+        sha512 = "Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==";
       };
     }
     {
@@ -5302,7 +5286,7 @@
       path = fetchurl {
         name = "nofilter___nofilter_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz";
-        sha1 = "78d6f4b6a613e7ced8b015cec534625f7667006e";
+        sha512 = "N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==";
       };
     }
     {
@@ -5310,7 +5294,7 @@
       path = fetchurl {
         name = "nopt___nopt_3.0.6.tgz";
         url  = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz";
-        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+        sha1 = "xkZdvwirzU2zWTF/eaxopkayj/k=";
       };
     }
     {
@@ -5318,7 +5302,7 @@
       path = fetchurl {
         name = "nopt___nopt_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz";
-        sha1 = "a375cad9d02fd921278d954c2254d5aa57e15e48";
+        sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==";
       };
     }
     {
@@ -5326,7 +5310,7 @@
       path = fetchurl {
         name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
         url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
       };
     }
     {
@@ -5334,7 +5318,7 @@
       path = fetchurl {
         name = "normalize_path___normalize_path_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
-        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+        sha1 = "GrKLVW4Zg2Oowab35vogE3/mrtk=";
       };
     }
     {
@@ -5342,7 +5326,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==";
       };
     }
     {
@@ -5350,7 +5334,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=";
       };
     }
     {
@@ -5358,7 +5342,7 @@
       path = fetchurl {
         name = "nwsapi___nwsapi_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz";
-        sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7";
+        sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
       };
     }
     {
@@ -5366,7 +5350,7 @@
       path = fetchurl {
         name = "nyc___nyc_14.1.1.tgz";
         url  = "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz";
-        sha1 = "151d64a6a9f9f5908a1b73233931e4a0a3075eeb";
+        sha512 = "OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==";
       };
     }
     {
@@ -5374,7 +5358,7 @@
       path = fetchurl {
         name = "oauth_sign___oauth_sign_0.9.0.tgz";
         url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
       };
     }
     {
@@ -5382,7 +5366,7 @@
       path = fetchurl {
         name = "oauth___oauth_0.9.15.tgz";
         url  = "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz";
-        sha1 = "bd1fefaf686c96b75475aed5196412ff60cfb9c1";
+        sha1 = "vR/vr2hslrdUda7VGWQS/2DPucE=";
       };
     }
     {
@@ -5390,7 +5374,7 @@
       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=";
       };
     }
     {
@@ -5398,7 +5382,7 @@
       path = fetchurl {
         name = "object_copy___object_copy_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
-        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+        sha1 = "fn2Fi3gb18mRpBupde04EnVOmYw=";
       };
     }
     {
@@ -5406,15 +5390,15 @@
       path = fetchurl {
         name = "object_get___object_get_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/object-get/-/object-get-2.1.1.tgz";
-        sha1 = "1dad63baf6d94df184d1c58756cc9be55b174dac";
+        sha512 = "7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==";
       };
     }
     {
-      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";
-        sha1 = "d4bd7d7de54b9a75599f59a00bd698c1f1c6549b";
+        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==";
       };
     }
     {
@@ -5422,7 +5406,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==";
       };
     }
     {
@@ -5430,7 +5414,7 @@
       path = fetchurl {
         name = "object_to_spawn_args___object_to_spawn_args_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz";
-        sha1 = "77da8827f073d011c9e1b173f895781470246785";
+        sha1 = "d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=";
       };
     }
     {
@@ -5438,7 +5422,7 @@
       path = fetchurl {
         name = "object_tools___object_tools_1.6.7.tgz";
         url  = "https://registry.yarnpkg.com/object-tools/-/object-tools-1.6.7.tgz";
-        sha1 = "52d400fc875250993dbbb3ba298d7c79bb0698d0";
+        sha1 = "UtQA/IdSUJk9u7O6KY18ebsGmNA=";
       };
     }
     {
@@ -5446,7 +5430,7 @@
       path = fetchurl {
         name = "object_tools___object_tools_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/object-tools/-/object-tools-2.0.6.tgz";
-        sha1 = "f3fe1c350cda4a6f5d99d9646dc4892a02476ddd";
+        sha1 = "8/4cNQzaSm9dmdlkbcSJKgJHbd0=";
       };
     }
     {
@@ -5454,7 +5438,7 @@
       path = fetchurl {
         name = "object_visit___object_visit_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
-        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+        sha1 = "95xEk68MU3e1n+OdOV5BBC3QRbs=";
       };
     }
     {
@@ -5462,7 +5446,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==";
       };
     }
     {
@@ -5470,7 +5454,7 @@
       path = fetchurl {
         name = "object.defaults___object.defaults_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz";
-        sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf";
+        sha1 = "On+GgzS0B96gbaFtiNXNKeQ1/s8=";
       };
     }
     {
@@ -5478,7 +5462,7 @@
       path = fetchurl {
         name = "object.map___object.map_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz";
-        sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37";
+        sha1 = "z4Plncj8wK1fQlDh94s7gb2AHTc=";
       };
     }
     {
@@ -5486,7 +5470,7 @@
       path = fetchurl {
         name = "object.omit___object.omit_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz";
-        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
+        sha1 = "Gpx0SCnznbuFjHbKNXmuKlTr0fo=";
       };
     }
     {
@@ -5494,7 +5478,7 @@
       path = fetchurl {
         name = "object.pick___object.pick_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
-        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+        sha1 = "h6EKxMFpS9Lhy/U1kaZhQftd10c=";
       };
     }
     {
@@ -5502,7 +5486,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=";
       };
     }
     {
@@ -5510,7 +5494,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==";
       };
     }
     {
@@ -5518,7 +5502,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=";
       };
     }
     {
@@ -5526,7 +5510,7 @@
       path = fetchurl {
         name = "optimist___optimist_0.6.1.tgz";
         url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz";
-        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+        sha1 = "2j6nRob6IaGaERwybpDrFaAZZoY=";
       };
     }
     {
@@ -5534,7 +5518,7 @@
       path = fetchurl {
         name = "optimist___optimist_0.3.7.tgz";
         url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+        sha1 = "yQlBrVnkJzMokjB00s8ufLxuwNk=";
       };
     }
     {
@@ -5542,7 +5526,7 @@
       path = fetchurl {
         name = "optional_require___optional_require_1.1.8.tgz";
         url  = "https://registry.yarnpkg.com/optional-require/-/optional-require-1.1.8.tgz";
-        sha1 = "16364d76261b75d964c482b2406cb824d8ec44b7";
+        sha512 = "jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==";
       };
     }
     {
@@ -5550,7 +5534,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==";
       };
     }
     {
@@ -5558,7 +5542,7 @@
       path = fetchurl {
         name = "os_homedir___os_homedir_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
-        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+        sha1 = "/7xJiDNuDoM94MFox+8VISGqf7M=";
       };
     }
     {
@@ -5566,7 +5550,7 @@
       path = fetchurl {
         name = "os_locale___os_locale_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz";
-        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+        sha1 = "IPnxeuKe00XoveWDsT0gCYA8FNk=";
       };
     }
     {
@@ -5574,7 +5558,7 @@
       path = fetchurl {
         name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
-        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+        sha1 = "u+Z0BseaqFxc/sdm/lc0VV36EnQ=";
       };
     }
     {
@@ -5582,7 +5566,7 @@
       path = fetchurl {
         name = "osenv___osenv_0.1.5.tgz";
         url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz";
-        sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     }
     {
@@ -5590,7 +5574,7 @@
       path = fetchurl {
         name = "otplib___otplib_10.2.3.tgz";
         url  = "https://registry.yarnpkg.com/otplib/-/otplib-10.2.3.tgz";
-        sha1 = "5a371da0c2b36a4a92d2bdac7bf4446dd7ccafc8";
+        sha512 = "dwQTF4SkLFVZyV85JFrzCh+zSSlWHyKQtjbHrDmldxqBo6BMZ8uMfQ+kcVTf/VCkbUx1KARvn9cR/inYM2nHTw==";
       };
     }
     {
@@ -5598,7 +5582,7 @@
       path = fetchurl {
         name = "output_file_sync___output_file_sync_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz";
-        sha1 = "d0a33eefe61a205facb90092e826598d5245ce76";
+        sha1 = "0KM+7+YaIF+suQCS6CZZjVJFznY=";
       };
     }
     {
@@ -5606,7 +5590,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==";
       };
     }
     {
@@ -5614,7 +5598,7 @@
       path = fetchurl {
         name = "p_locate___p_locate_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
-        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
       };
     }
     {
@@ -5622,7 +5606,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==";
       };
     }
     {
@@ -5630,7 +5614,7 @@
       path = fetchurl {
         name = "package_hash___package_hash_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz";
-        sha1 = "50183f2d36c9e3e528ea0a8605dff57ce976f88e";
+        sha512 = "lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==";
       };
     }
     {
@@ -5638,7 +5622,7 @@
       path = fetchurl {
         name = "packet_reader___packet_reader_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz";
-        sha1 = "9238e5480dedabacfe1fe3f2771063f164157d74";
+        sha512 = "HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==";
       };
     }
     {
@@ -5646,7 +5630,7 @@
       path = fetchurl {
         name = "param_case___param_case_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz";
-        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+        sha1 = "35T9jPZTHs915r75oIWPvHK+Ikc=";
       };
     }
     {
@@ -5654,7 +5638,7 @@
       path = fetchurl {
         name = "parse_filepath___parse_filepath_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz";
-        sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891";
+        sha1 = "pjISf1Oq89FYdvWHLz/6x2PWyJE=";
       };
     }
     {
@@ -5662,7 +5646,7 @@
       path = fetchurl {
         name = "parse_glob___parse_glob_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz";
-        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
+        sha1 = "ssN2z7EfNVE7rdFz7wu246OIORw=";
       };
     }
     {
@@ -5670,7 +5654,7 @@
       path = fetchurl {
         name = "parse_json___parse_json_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
-        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+        sha1 = "9ID0BDTvgHQfhGkJn43qGPVaTck=";
       };
     }
     {
@@ -5678,7 +5662,7 @@
       path = fetchurl {
         name = "parse_json___parse_json_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
-        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+        sha1 = "vjX1Qlvh9/bHRxhPmKeIy5lHfuA=";
       };
     }
     {
@@ -5686,7 +5670,7 @@
       path = fetchurl {
         name = "parse_mongo_url___parse_mongo_url_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/parse-mongo-url/-/parse-mongo-url-1.1.1.tgz";
-        sha1 = "66238df5f8e7c0c8ca4cd970d4ab6a1373eb75b5";
+        sha1 = "ZiON9fjnwMjKTNlw1KtqE3PrdbU=";
       };
     }
     {
@@ -5694,7 +5678,7 @@
       path = fetchurl {
         name = "parse_passwd___parse_passwd_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz";
-        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+        sha1 = "bVuTSkVpk7I9N/QKOC1vFmao5cY=";
       };
     }
     {
@@ -5702,7 +5686,7 @@
       path = fetchurl {
         name = "parse5___parse5_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz";
-        sha1 = "e1a1c085c569b3dc08321184f19a39cc27f7c30b";
+        sha512 = "Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==";
       };
     }
     {
@@ -5710,7 +5694,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==";
       };
     }
     {
@@ -5718,7 +5702,7 @@
       path = fetchurl {
         name = "parsimmon___parsimmon_1.16.0.tgz";
         url  = "https://registry.yarnpkg.com/parsimmon/-/parsimmon-1.16.0.tgz";
-        sha1 = "2834e3db645b6a855ab2ea14fbaad10d82867e0f";
+        sha512 = "tekGDz2Lny27SQ/5DzJdIK0lqsWwZ667SCLFIDCxaZM7VNgQjyKLbaL7FYPKpbjdxNAXFV/mSxkq5D2fnkW4pA==";
       };
     }
     {
@@ -5726,7 +5710,7 @@
       path = fetchurl {
         name = "pascalcase___pascalcase_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
-        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+        sha1 = "s2PlXoAGym/iF4TS2yK9FdeRfxQ=";
       };
     }
     {
@@ -5734,7 +5718,7 @@
       path = fetchurl {
         name = "passport_azure_oauth2___passport_azure_oauth2_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/passport-azure-oauth2/-/passport-azure-oauth2-0.1.0.tgz";
-        sha1 = "b391ebdf3aabb9529aa2b6c461d5a1677dd4c362";
+        sha1 = "s5Hr3zqruVKaorbEYdWhZ33Uw2I=";
       };
     }
     {
@@ -5742,7 +5726,7 @@
       path = fetchurl {
         name = "passport_github2___passport_github2_0.1.12.tgz";
         url  = "https://registry.yarnpkg.com/passport-github2/-/passport-github2-0.1.12.tgz";
-        sha1 = "a72ebff4fa52a35bc2c71122dcf470d1116f772c";
+        sha512 = "3nPUCc7ttF/3HSP/k9sAXjz3SkGv5Nki84I05kSQPo01Jqq1NzJACgMblCK0fGcv9pKCG/KXU3AJRDGLqHLoIw==";
       };
     }
     {
@@ -5750,7 +5734,7 @@
       path = fetchurl {
         name = "passport_google_oauth20___passport_google_oauth20_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz";
-        sha1 = "0d241b2d21ebd3dc7f2b60669ec4d587e3a674ef";
+        sha512 = "KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ==";
       };
     }
     {
@@ -5758,7 +5742,7 @@
       path = fetchurl {
         name = "passport_oauth1___passport_oauth1_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/passport-oauth1/-/passport-oauth1-1.2.0.tgz";
-        sha1 = "5229d431781bf5b265bec86ce9a9cce58a756cf9";
+        sha512 = "Sv2YWodC6jN12M/OXwmR4BIXeeIHjjbwYTQw4kS6tHK4zYzSEpxBgSJJnknBjICA5cj0ju3FSnG1XmHgIhYnLg==";
       };
     }
     {
@@ -5766,7 +5750,7 @@
       path = fetchurl {
         name = "passport_oauth2___passport_oauth2_1.6.1.tgz";
         url  = "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.6.1.tgz";
-        sha1 = "c5aee8f849ce8bd436c7f81d904a3cd1666f181b";
+        sha512 = "ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==";
       };
     }
     {
@@ -5774,7 +5758,7 @@
       path = fetchurl {
         name = "passport_oauth___passport_oauth_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/passport-oauth/-/passport-oauth-1.0.0.tgz";
-        sha1 = "90aff63387540f02089af28cdad39ea7f80d77df";
+        sha1 = "kK/2M4dUDwIImvKM2tOep/gNd98=";
       };
     }
     {
@@ -5782,15 +5766,15 @@
       path = fetchurl {
         name = "passport_reddit___passport_reddit_0.2.4.tgz";
         url  = "https://registry.yarnpkg.com/passport-reddit/-/passport-reddit-0.2.4.tgz";
-        sha1 = "4e5805d919a8f28f80c238f7da2d92a38067acc5";
+        sha1 = "TlgF2Rmo8o+Awjj32i2So4BnrMU=";
       };
     }
     {
-      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";
-        sha1 = "72ec8203df6dd872a205b8d5f578859a4e723e42";
+        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==";
       };
     }
     {
@@ -5798,7 +5782,7 @@
       path = fetchurl {
         name = "passport_strategy___passport_strategy_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz";
-        sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
+        sha1 = "tVOaqPwiWj0a0XlHbd8ja0QPUuQ=";
       };
     }
     {
@@ -5806,15 +5790,15 @@
       path = fetchurl {
         name = "passport_twitter___passport_twitter_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/passport-twitter/-/passport-twitter-1.0.4.tgz";
-        sha1 = "01a799e1f760bf2de49f2ba5fba32282f18932d7";
+        sha1 = "AaeZ4fdgvy3knyul+6MigvGJMtc=";
       };
     }
     {
-      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";
-        sha1 = "7914aaa55844f9dce8c3aa28f7d6b73647ee0169";
+        name = "passport___passport_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/passport/-/passport-0.5.2.tgz";
+        sha512 = "w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==";
       };
     }
     {
@@ -5822,7 +5806,7 @@
       path = fetchurl {
         name = "path_exists___path_exists_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz";
-        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+        sha1 = "D+tsZPD8UY2adU3V77YscCJ2H0s=";
       };
     }
     {
@@ -5830,7 +5814,7 @@
       path = fetchurl {
         name = "path_exists___path_exists_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
-        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+        sha1 = "zg6+ql94yxiSXqfYENe1mwEP1RU=";
       };
     }
     {
@@ -5838,7 +5822,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=";
       };
     }
     {
@@ -5846,7 +5830,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==";
       };
     }
     {
@@ -5854,7 +5838,7 @@
       path = fetchurl {
         name = "path_posix___path_posix_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-posix/-/path-posix-1.0.0.tgz";
-        sha1 = "06b26113f56beab042545a23bfa88003ccac260f";
+        sha1 = "BrJhE/Vr6rBCVFojv6iAA8ysJg8=";
       };
     }
     {
@@ -5862,7 +5846,7 @@
       path = fetchurl {
         name = "path_root_regex___path_root_regex_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz";
-        sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d";
+        sha1 = "v8zcjfWxLcUsi0PsONGNcsBLqW0=";
       };
     }
     {
@@ -5870,7 +5854,7 @@
       path = fetchurl {
         name = "path_root___path_root_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz";
-        sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7";
+        sha1 = "mkpoFMrBwM1zNgqV8yCDyOpHRbc=";
       };
     }
     {
@@ -5878,7 +5862,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=";
       };
     }
     {
@@ -5886,7 +5870,7 @@
       path = fetchurl {
         name = "path_type___path_type_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz";
-        sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+        sha1 = "WcRPfuSR2nBNpBXaWkBwuk+P5EE=";
       };
     }
     {
@@ -5894,7 +5878,7 @@
       path = fetchurl {
         name = "path_type___path_type_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
-        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
       };
     }
     {
@@ -5902,7 +5886,7 @@
       path = fetchurl {
         name = "pause___pause_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz";
-        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+        sha1 = "HUCLP9t2kjuVQ9lvtMnf1TXZy10=";
       };
     }
     {
@@ -5910,7 +5894,7 @@
       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=";
       };
     }
     {
@@ -5918,7 +5902,7 @@
       path = fetchurl {
         name = "performance_now___performance_now_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+        sha1 = "Ywn04OX6kT7BxpMHrjZLSzd8nns=";
       };
     }
     {
@@ -5926,7 +5910,7 @@
       path = fetchurl {
         name = "pg_connection_string___pg_connection_string_2.5.0.tgz";
         url  = "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz";
-        sha1 = "538cadd0f7e603fc09a12590f3b8a452c2c0cf34";
+        sha512 = "r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==";
       };
     }
     {
@@ -5934,15 +5918,15 @@
       path = fetchurl {
         name = "pg_int8___pg_int8_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz";
-        sha1 = "943bd463bf5b71b4170115f80f8efc9a0c0eb78c";
+        sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
       };
     }
     {
-      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";
-        sha1 = "0e71ce2c67b442a5e862a9c182172c37eda71e9c";
+        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==";
       };
     }
     {
@@ -5950,7 +5934,7 @@
       path = fetchurl {
         name = "pg_protocol___pg_protocol_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.5.0.tgz";
-        sha1 = "b5dd452257314565e2d54ab3c132adc46565a6a0";
+        sha512 = "muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==";
       };
     }
     {
@@ -5958,7 +5942,7 @@
       path = fetchurl {
         name = "pg_types___pg_types_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz";
-        sha1 = "2d0250d636454f7cfa3b6ae0382fdfa8063254a3";
+        sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==";
       };
     }
     {
@@ -5966,15 +5950,23 @@
       path = fetchurl {
         name = "pg___pg_8.7.1.tgz";
         url  = "https://registry.yarnpkg.com/pg/-/pg-8.7.1.tgz";
-        sha1 = "9ea9d1ec225980c36f94e181d009ab9f4ce4c471";
+        sha512 = "7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==";
+      };
+    }
+    {
+      name = "pg___pg_8.7.3.tgz";
+      path = fetchurl {
+        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.4.tgz";
+      name = "pgpass___pgpass_1.0.5.tgz";
       path = fetchurl {
-        name = "pgpass___pgpass_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.4.tgz";
-        sha1 = "85eb93a83800b20f8057a2b029bf05abaf94ea9c";
+        name = "pgpass___pgpass_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz";
+        sha512 = "FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==";
       };
     }
     {
@@ -5982,15 +5974,15 @@
       path = fetchurl {
         name = "pgtools___pgtools_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/pgtools/-/pgtools-0.3.2.tgz";
-        sha1 = "df11d54057c889e27ba891664efda69de1b7a0fe";
+        sha512 = "o9iI8CrJohpjt3hgoJuEC18oYrt/iLsc3BYtW6kP/0T7EyQ9T/WlnuzyKcC2GtfutREfXCmwaUcbqPrLw8sjng==";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -5998,7 +5990,7 @@
       path = fetchurl {
         name = "pify___pify_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
-        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+        sha1 = "7RQaasBDqEnqWISY59yosVMw6Qw=";
       };
     }
     {
@@ -6006,7 +5998,7 @@
       path = fetchurl {
         name = "pify___pify_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+        sha1 = "5aSs0sEB/fPZpNB/DbxNtJ3SgXY=";
       };
     }
     {
@@ -6014,7 +6006,7 @@
       path = fetchurl {
         name = "pify___pify_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
-        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
       };
     }
     {
@@ -6022,7 +6014,7 @@
       path = fetchurl {
         name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
-        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+        sha1 = "ITXW36ejWMBprJsXh3YogihFD/o=";
       };
     }
     {
@@ -6030,7 +6022,7 @@
       path = fetchurl {
         name = "pinkie___pinkie_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
-        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+        sha1 = "clVrgM+g1IqXToDnckjoDtT3+HA=";
       };
     }
     {
@@ -6038,7 +6030,7 @@
       path = fetchurl {
         name = "pkg_dir___pkg_dir_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
-        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
       };
     }
     {
@@ -6046,7 +6038,7 @@
       path = fetchurl {
         name = "pkginfo___pkginfo_0.3.1.tgz";
         url  = "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz";
-        sha1 = "5b29f6a81f70717142e09e765bbeab97b4f81e21";
+        sha1 = "Wyn2qB9wcXFC4J52W76rl7T4HiE=";
       };
     }
     {
@@ -6054,15 +6046,15 @@
       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 = "plivo___plivo_4.25.0.tgz";
+      name = "plivo___plivo_4.27.0.tgz";
       path = fetchurl {
-        name = "plivo___plivo_4.25.0.tgz";
-        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.25.0.tgz";
-        sha1 = "ba496e0e75dcbe5747d5770e6e07fd9eb153d7dd";
+        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==";
       };
     }
     {
@@ -6070,7 +6062,7 @@
       path = fetchurl {
         name = "pop_iterate___pop_iterate_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/pop-iterate/-/pop-iterate-1.0.1.tgz";
-        sha1 = "ceacfdab4abf353d7a0f2aaa2c1fc7b3f9413ba3";
+        sha1 = "zqz9q0q/NT16DyqqLB/Hs/lBO6M=";
       };
     }
     {
@@ -6078,7 +6070,7 @@
       path = fetchurl {
         name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
-        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+        sha1 = "AerA/jta9xoqbAL+q7jB/vfgDqs=";
       };
     }
     {
@@ -6086,7 +6078,7 @@
       path = fetchurl {
         name = "postgres_array___postgres_array_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz";
-        sha1 = "48f8fce054fbc69671999329b8834b772652d82e";
+        sha512 = "VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==";
       };
     }
     {
@@ -6094,7 +6086,7 @@
       path = fetchurl {
         name = "postgres_bytea___postgres_bytea_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz";
-        sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35";
+        sha1 = "AntTPAqokOJtFy1Hz5zOzFIazTU=";
       };
     }
     {
@@ -6102,7 +6094,7 @@
       path = fetchurl {
         name = "postgres_date___postgres_date_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz";
-        sha1 = "51bc086006005e5061c591cee727f2531bf641a8";
+        sha512 = "suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==";
       };
     }
     {
@@ -6110,7 +6102,7 @@
       path = fetchurl {
         name = "postgres_interval___postgres_interval_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz";
-        sha1 = "b460c82cb1587507788819a06aa0fffdb3544695";
+        sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
       };
     }
     {
@@ -6118,7 +6110,7 @@
       path = fetchurl {
         name = "precond___precond_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz";
-        sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac";
+        sha1 = "qpWRvKokkj8eD0hJ0kD0fvwQdaw=";
       };
     }
     {
@@ -6126,7 +6118,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=";
       };
     }
     {
@@ -6134,15 +6126,15 @@
       path = fetchurl {
         name = "preserve___preserve_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz";
-        sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
+        sha1 = "gV7R9uvGWSb4ZbMQwHE7yzMVzks=";
       };
     }
     {
-      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";
-        sha1 = "d90deb2975a8b9f600fb3a1c94e3f4c53c78a222";
+        name = "printj___printj_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz";
+        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
       };
     }
     {
@@ -6150,7 +6142,7 @@
       path = fetchurl {
         name = "private___private_0.1.8.tgz";
         url  = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz";
-        sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff";
+        sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==";
       };
     }
     {
@@ -6158,7 +6150,7 @@
       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";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     }
     {
@@ -6166,7 +6158,7 @@
       path = fetchurl {
         name = "promise.prototype.finally___promise.prototype.finally_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-1.0.1.tgz";
-        sha1 = "91182f91c92486995740fa05e0da942ac986befa";
+        sha1 = "kRgvkckkhplXQPoF4NqUKsmGvvo=";
       };
     }
     {
@@ -6174,7 +6166,7 @@
       path = fetchurl {
         name = "promise___promise_7.3.1.tgz";
         url  = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz";
-        sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf";
+        sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==";
       };
     }
     {
@@ -6182,7 +6174,7 @@
       path = fetchurl {
         name = "promise___promise_8.1.0.tgz";
         url  = "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz";
-        sha1 = "697c25c3dfe7435dd79fcd58c38a135888eaf05e";
+        sha512 = "W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==";
       };
     }
     {
@@ -6190,7 +6182,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==";
       };
     }
     {
@@ -6198,7 +6190,7 @@
       path = fetchurl {
         name = "pseudomap___pseudomap_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz";
-        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+        sha1 = "8FKijacOYYkX7wqKw0wa5aaChrM=";
       };
     }
     {
@@ -6206,7 +6198,7 @@
       path = fetchurl {
         name = "psl___psl_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
-        sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
+        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     }
     {
@@ -6214,7 +6206,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==";
       };
     }
     {
@@ -6222,7 +6214,7 @@
       path = fetchurl {
         name = "punycode___punycode_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+        sha1 = "wNWmOycYgArY4esPpSachN1BhF4=";
       };
     }
     {
@@ -6230,7 +6222,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==";
       };
     }
     {
@@ -6238,7 +6230,7 @@
       path = fetchurl {
         name = "q___q_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/q/-/q-2.0.3.tgz";
-        sha1 = "75b8db0255a1a5af82f58c3f3aaa1efec7d0d134";
+        sha1 = "dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ=";
       };
     }
     {
@@ -6246,31 +6238,31 @@
       path = fetchurl {
         name = "qlobber___qlobber_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/qlobber/-/qlobber-3.1.0.tgz";
-        sha1 = "b8c8e067496de17bdbf3cd843cf53ece09c8d211";
+        sha512 = "B7EU6Hv9g4BeJiB7qtOjn9wwgqVpcWE5c4/86O0Yoj7fmAvgwXrdG1E+QF13S/+TX5XGUl7toizP0gzXR2Saug==";
       };
     }
     {
-      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==";
       };
     }
     {
-      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";
-        sha1 = "c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe";
+        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";
-        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+        name = "qs___qs_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz";
+        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
       };
     }
     {
@@ -6278,7 +6270,7 @@
       path = fetchurl {
         name = "querystring___querystring_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz";
-        sha1 = "40d77615bb09d16902a85c3e38aa8b5ed761c2dd";
+        sha512 = "wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==";
       };
     }
     {
@@ -6286,7 +6278,7 @@
       path = fetchurl {
         name = "querystringify___querystringify_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz";
-        sha1 = "3345941b4153cb9d082d8eee4cda2016a9aef7f6";
+        sha512 = "FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==";
       };
     }
     {
@@ -6294,7 +6286,7 @@
       path = fetchurl {
         name = "queue___queue_6.0.2.tgz";
         url  = "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz";
-        sha1 = "b91525283e2315c7553d2efa18d83e76432fed65";
+        sha512 = "iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==";
       };
     }
     {
@@ -6302,7 +6294,7 @@
       path = fetchurl {
         name = "random_bytes___random_bytes_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz";
-        sha1 = "4f68a1dc0ae58bd3fb95848c30324db75d64360b";
+        sha1 = "T2ih3Arli9P7lYSMMDJNt11kNgs=";
       };
     }
     {
@@ -6310,7 +6302,7 @@
       path = fetchurl {
         name = "randomatic___randomatic_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz";
-        sha1 = "b776efc59375984e36c537b2f51a1f0aff0da1ed";
+        sha512 = "TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==";
       };
     }
     {
@@ -6318,7 +6310,7 @@
       path = fetchurl {
         name = "randombytes___randombytes_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
-        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
       };
     }
     {
@@ -6326,15 +6318,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==";
       };
     }
     {
@@ -6342,7 +6334,7 @@
       path = fetchurl {
         name = "read_pkg_up___read_pkg_up_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
-        sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+        sha1 = "nWPBMnbAZZGNV/ACpX9AobZD+wI=";
       };
     }
     {
@@ -6350,7 +6342,7 @@
       path = fetchurl {
         name = "read_pkg_up___read_pkg_up_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
-        sha1 = "1b221c6088ba7799601c808f91161c66e58f8978";
+        sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==";
       };
     }
     {
@@ -6358,7 +6350,7 @@
       path = fetchurl {
         name = "read_pkg___read_pkg_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz";
-        sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+        sha1 = "9f+qXs0pyzHAR0vKfXVra7KePyg=";
       };
     }
     {
@@ -6366,7 +6358,7 @@
       path = fetchurl {
         name = "read_pkg___read_pkg_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz";
-        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+        sha1 = "nLxoaXj+5l0WwA4rGcI3/Pbjg4k=";
       };
     }
     {
@@ -6374,7 +6366,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==";
       };
     }
     {
@@ -6382,7 +6374,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==";
       };
     }
     {
@@ -6390,7 +6382,7 @@
       path = fetchurl {
         name = "readdir_glob___readdir_glob_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz";
-        sha1 = "f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4";
+        sha512 = "91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==";
       };
     }
     {
@@ -6398,7 +6390,7 @@
       path = fetchurl {
         name = "readdirp___readdirp_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
-        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
       };
     }
     {
@@ -6406,7 +6398,7 @@
       path = fetchurl {
         name = "rechoir___rechoir_0.7.1.tgz";
         url  = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz";
-        sha1 = "9478a96a1ca135b5e88fc027f03ee92d6c645686";
+        sha512 = "/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==";
       };
     }
     {
@@ -6414,7 +6406,7 @@
       path = fetchurl {
         name = "reduce_extract___reduce_extract_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz";
-        sha1 = "67f2385beda65061b5f5f4312662e8b080ca1525";
+        sha1 = "Z/I4W+2mUGG19fQxJmLosIDKFSU=";
       };
     }
     {
@@ -6422,7 +6414,7 @@
       path = fetchurl {
         name = "reduce_flatten___reduce_flatten_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz";
-        sha1 = "258c78efd153ddf93cb561237f61184f3696e327";
+        sha1 = "JYx479FT3fk8tWEjf2EYTzaW4yc=";
       };
     }
     {
@@ -6430,7 +6422,7 @@
       path = fetchurl {
         name = "reduce_unique___reduce_unique_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-1.0.0.tgz";
-        sha1 = "7e586bcf87a4e32b6d7abd8277fad6cdec9f4803";
+        sha1 = "flhrz4ek4ytter2Cd/rWzeyfSAM=";
       };
     }
     {
@@ -6438,7 +6430,7 @@
       path = fetchurl {
         name = "reduce_without___reduce_without_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz";
-        sha1 = "68ad0ead11855c9a37d4e8256c15bbf87972fc8c";
+        sha1 = "aK0OrRGFXJo31OglbBW7+Hly/Iw=";
       };
     }
     {
@@ -6446,7 +6438,7 @@
       path = fetchurl {
         name = "regenerate___regenerate_1.4.2.tgz";
         url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz";
-        sha1 = "b9346d8827e8f5a32f7ba29637d398b69014848a";
+        sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
       };
     }
     {
@@ -6454,7 +6446,7 @@
       path = fetchurl {
         name = "regenerator_runtime___regenerator_runtime_0.10.5.tgz";
         url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
-        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
+        sha1 = "M2w+/BIgrc7dosn6tntaeVWjNlg=";
       };
     }
     {
@@ -6462,7 +6454,7 @@
       path = fetchurl {
         name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
         url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
-        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
       };
     }
     {
@@ -6470,7 +6462,7 @@
       path = fetchurl {
         name = "regenerator_transform___regenerator_transform_0.10.1.tgz";
         url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz";
-        sha1 = "1e4996837231da8b7f3cf4114d71b5691a0680dd";
+        sha512 = "PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==";
       };
     }
     {
@@ -6478,7 +6470,7 @@
       path = fetchurl {
         name = "regex_cache___regex_cache_0.4.4.tgz";
         url  = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz";
-        sha1 = "75bdc58a2a1496cec48a12835bc54c8d562336dd";
+        sha512 = "nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==";
       };
     }
     {
@@ -6486,7 +6478,7 @@
       path = fetchurl {
         name = "regex_not___regex_not_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
-        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+        sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     }
     {
@@ -6494,7 +6486,7 @@
       path = fetchurl {
         name = "regexpu_core___regexpu_core_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz";
-        sha1 = "49d038837b8dcf8bfa5b9a42139938e6ea2ae240";
+        sha1 = "SdA4g3uNz4v6W5pCE5k45uoq4kA=";
       };
     }
     {
@@ -6502,7 +6494,7 @@
       path = fetchurl {
         name = "regjsgen___regjsgen_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz";
-        sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
+        sha1 = "bAFq3qxVT3WCP+N6wFuS1aTtsfc=";
       };
     }
     {
@@ -6510,7 +6502,7 @@
       path = fetchurl {
         name = "regjsparser___regjsparser_0.1.5.tgz";
         url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz";
-        sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
+        sha1 = "fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=";
       };
     }
     {
@@ -6518,7 +6510,7 @@
       path = fetchurl {
         name = "relateurl___relateurl_0.2.7.tgz";
         url  = "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz";
-        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+        sha1 = "VNvzd+UUQKypCkzSdGANP/LYiKk=";
       };
     }
     {
@@ -6526,7 +6518,7 @@
       path = fetchurl {
         name = "release_zalgo___release_zalgo_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz";
-        sha1 = "09700b7e5074329739330e535c5a90fb67851730";
+        sha1 = "CXALflB0Mpc5Mw5TXFqQ+2eFFzA=";
       };
     }
     {
@@ -6534,7 +6526,7 @@
       path = fetchurl {
         name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
-        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+        sha1 = "wkvOKig62tW8P1jg1IJJuSN52O8=";
       };
     }
     {
@@ -6542,7 +6534,7 @@
       path = fetchurl {
         name = "repeat_element___repeat_element_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz";
-        sha1 = "be681520847ab58c7568ac75fbfad28ed42d39e9";
+        sha512 = "LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==";
       };
     }
     {
@@ -6550,7 +6542,7 @@
       path = fetchurl {
         name = "repeat_string___repeat_string_1.6.1.tgz";
         url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
-        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+        sha1 = "jcrkcOHIirwtYA//Sndihtp15jc=";
       };
     }
     {
@@ -6558,7 +6550,7 @@
       path = fetchurl {
         name = "repeating___repeating_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz";
-        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+        sha1 = "UhTFOpJtNVJwdSf7q0FdvAjQbdo=";
       };
     }
     {
@@ -6566,7 +6558,7 @@
       path = fetchurl {
         name = "req_then___req_then_0.5.1.tgz";
         url  = "https://registry.yarnpkg.com/req-then/-/req-then-0.5.1.tgz";
-        sha1 = "31c6e0b56f4ddd2acd6de0ba1bcea77b6079dfdf";
+        sha1 = "McbgtW9N3SrNbeC6G86ne2B5398=";
       };
     }
     {
@@ -6574,7 +6566,7 @@
       path = fetchurl {
         name = "request_promise_core___request_promise_core_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha1 = "339f6aababcafdb31c799ff158700336301d3346";
+        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
       };
     }
     {
@@ -6582,7 +6574,7 @@
       path = fetchurl {
         name = "request_promise_native___request_promise_native_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz";
-        sha1 = "a49868a624bdea5069f1251d0a836e0d89aa2c59";
+        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
       };
     }
     {
@@ -6590,7 +6582,7 @@
       path = fetchurl {
         name = "request___request_2.88.2.tgz";
         url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
-        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
+        sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
       };
     }
     {
@@ -6598,7 +6590,7 @@
       path = fetchurl {
         name = "request___request_2.88.0.tgz";
         url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
-        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     }
     {
@@ -6606,7 +6598,7 @@
       path = fetchurl {
         name = "require_at___require_at_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz";
-        sha1 = "9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a";
+        sha512 = "7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==";
       };
     }
     {
@@ -6614,7 +6606,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=";
       };
     }
     {
@@ -6622,7 +6614,7 @@
       path = fetchurl {
         name = "require_main_filename___require_main_filename_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz";
-        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+        sha1 = "l/cXtp1IeE9fUmpsWqj/3aBVpNE=";
       };
     }
     {
@@ -6630,7 +6622,7 @@
       path = fetchurl {
         name = "require_main_filename___require_main_filename_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
-        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     }
     {
@@ -6638,7 +6630,7 @@
       path = fetchurl {
         name = "requires_port___requires_port_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
-        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+        sha1 = "kl0mAdOaxIXgkc8NpcbmlNw9yv8=";
       };
     }
     {
@@ -6646,7 +6638,7 @@
       path = fetchurl {
         name = "requizzle___requizzle_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.3.tgz";
-        sha1 = "4675c90aacafb2c036bd39ba2daa4a1cb777fded";
+        sha512 = "YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==";
       };
     }
     {
@@ -6654,7 +6646,7 @@
       path = fetchurl {
         name = "resolve_dir___resolve_dir_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz";
-        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+        sha1 = "eaQGRMNivoLybv/nOcm7U4IEb0M=";
       };
     }
     {
@@ -6662,7 +6654,7 @@
       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==";
       };
     }
     {
@@ -6670,15 +6662,15 @@
       path = fetchurl {
         name = "resolve_url___resolve_url_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
-        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+        sha1 = "LGN/53yJOv0qZj/iGqkIAGjiBSo=";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -6686,7 +6678,7 @@
       path = fetchurl {
         name = "ret___ret_0.1.15.tgz";
         url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
-        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
       };
     }
     {
@@ -6694,7 +6686,7 @@
       path = fetchurl {
         name = "retimer___retimer_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/retimer/-/retimer-2.0.0.tgz";
-        sha1 = "e8bd68c5e5a8ec2f49ccb5c636db84c04063bbca";
+        sha512 = "KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==";
       };
     }
     {
@@ -6702,7 +6694,7 @@
       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==";
       };
     }
     {
@@ -6710,7 +6702,7 @@
       path = fetchurl {
         name = "right_align___right_align_0.1.3.tgz";
         url  = "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz";
-        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+        sha1 = "YTObci/mo1FWiSENJOFMlhSGE+8=";
       };
     }
     {
@@ -6718,7 +6710,7 @@
       path = fetchurl {
         name = "rimraf___rimraf_2.7.1.tgz";
         url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
-        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     }
     {
@@ -6726,7 +6718,7 @@
       path = fetchurl {
         name = "rimraf___rimraf_2.4.5.tgz";
         url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz";
-        sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da";
+        sha1 = "7nEM5dk6j9uFb7Xqj/Di11k0sto=";
       };
     }
     {
@@ -6734,7 +6726,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==";
       };
     }
     {
@@ -6742,7 +6734,7 @@
       path = fetchurl {
         name = "ripemd160___ripemd160_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz";
-        sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c";
+        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
       };
     }
     {
@@ -6750,7 +6742,7 @@
       path = fetchurl {
         name = "rootpath___rootpath_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/rootpath/-/rootpath-0.1.2.tgz";
-        sha1 = "5b379a87dca906e9b91d690a599439bef267ea6b";
+        sha1 = "Wzeah9ypBum5HWkKWZQ5vvJn6ms=";
       };
     }
     {
@@ -6758,7 +6750,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==";
       };
     }
     {
@@ -6766,7 +6758,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==";
       };
     }
     {
@@ -6774,7 +6766,7 @@
       path = fetchurl {
         name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz";
-        sha1 = "356e44bc98f1f93ce45df14bcd7c01cda86e0afd";
+        sha512 = "gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==";
       };
     }
     {
@@ -6782,7 +6774,7 @@
       path = fetchurl {
         name = "safe_regex___safe_regex_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
-        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+        sha1 = "QKNmnzsHfR6UPURinhV91IAjvy4=";
       };
     }
     {
@@ -6790,7 +6782,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==";
       };
     }
     {
@@ -6798,7 +6790,7 @@
       path = fetchurl {
         name = "sasl_anonymous___sasl_anonymous_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/sasl-anonymous/-/sasl-anonymous-0.1.0.tgz";
-        sha1 = "f544c7e824df2a40d9ad4733829572cc8d9ed5a5";
+        sha1 = "9UTH6CTfKkDZrUczgpVyzI2e1aU=";
       };
     }
     {
@@ -6806,7 +6798,7 @@
       path = fetchurl {
         name = "sasl_plain___sasl_plain_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/sasl-plain/-/sasl-plain-0.1.0.tgz";
-        sha1 = "cf145e7c02222b64d60c0806d9cd2ae5380426cc";
+        sha1 = "zxRefAIiK2TWDAgG2c0q5TgEJsw=";
       };
     }
     {
@@ -6814,7 +6806,7 @@
       path = fetchurl {
         name = "sasl_scram_sha_1___sasl_scram_sha_1_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/sasl-scram-sha-1/-/sasl-scram-sha-1-1.2.1.tgz";
-        sha1 = "d88d51feaa0ff320d8eb1d6fc75657653f9dcd4b";
+        sha1 = "2I1R/qoP8yDY6x1vx1ZXZT+dzUs=";
       };
     }
     {
@@ -6822,7 +6814,7 @@
       path = fetchurl {
         name = "saslmechanisms___saslmechanisms_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/saslmechanisms/-/saslmechanisms-0.1.1.tgz";
-        sha1 = "478be1429500fcfaa780be88b3343ced7d2a9182";
+        sha1 = "R4vhQpUA/PqngL6IszQ87X0qkYI=";
       };
     }
     {
@@ -6830,7 +6822,7 @@
       path = fetchurl {
         name = "saslprep___saslprep_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz";
-        sha1 = "4c02f946b56cf54297e347ba1093e7acac4cf226";
+        sha512 = "/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==";
       };
     }
     {
@@ -6838,7 +6830,7 @@
       path = fetchurl {
         name = "sax___sax_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
-        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     }
     {
@@ -6846,7 +6838,7 @@
       path = fetchurl {
         name = "saxes___saxes_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz";
-        sha1 = "eebab953fa3b7608dbe94e5dadb15c888fa6696d";
+        sha512 = "5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==";
       };
     }
     {
@@ -6854,7 +6846,7 @@
       path = fetchurl {
         name = "scmp___scmp_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/scmp/-/scmp-2.1.0.tgz";
-        sha1 = "37b8e197c425bdeb570ab91cc356b311a11f9c9a";
+        sha512 = "o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==";
       };
     }
     {
@@ -6862,7 +6854,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=";
       };
     }
     {
@@ -6870,7 +6862,7 @@
       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==";
       };
     }
     {
@@ -6878,7 +6870,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==";
       };
     }
     {
@@ -6886,23 +6878,23 @@
       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==";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -6910,7 +6902,7 @@
       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=";
       };
     }
     {
@@ -6918,15 +6910,7 @@
       path = fetchurl {
         name = "set_value___set_value_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
-        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
-      };
-    }
-    {
-      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";
-        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
       };
     }
     {
@@ -6934,7 +6918,7 @@
       path = fetchurl {
         name = "setprototypeof___setprototypeof_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz";
-        sha1 = "66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424";
+        sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
       };
     }
     {
@@ -6942,7 +6926,7 @@
       path = fetchurl {
         name = "sha.js___sha.js_2.4.11.tgz";
         url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz";
-        sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7";
+        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
       };
     }
     {
@@ -6950,7 +6934,7 @@
       path = fetchurl {
         name = "shortid___shortid_2.2.16.tgz";
         url  = "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz";
-        sha1 = "b742b8f0cb96406fd391c76bfc18a67a57fe5608";
+        sha512 = "Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==";
       };
     }
     {
@@ -6958,15 +6942,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.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";
-        sha1 = "24e630c4b0f03fea446a2bd299e62b4a6ca8d0af";
+        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==";
       };
     }
     {
@@ -6974,7 +6958,7 @@
       path = fetchurl {
         name = "slash___slash_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
-        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+        sha1 = "xB8vbDn8FtHNF61LXYlhFK5HDVU=";
       };
     }
     {
@@ -6982,7 +6966,7 @@
       path = fetchurl {
         name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
-        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
       };
     }
     {
@@ -6990,7 +6974,7 @@
       path = fetchurl {
         name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
-        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
       };
     }
     {
@@ -6998,7 +6982,7 @@
       path = fetchurl {
         name = "snapdragon___snapdragon_0.8.2.tgz";
         url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
-        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
       };
     }
     {
@@ -7006,7 +6990,7 @@
       path = fetchurl {
         name = "sort_array___sort_array_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/sort-array/-/sort-array-1.1.2.tgz";
-        sha1 = "b88986053c0170a7f9de63f18a49ec79c24c3e64";
+        sha1 = "uImGBTwBcKf53mPxiknsecJMPmQ=";
       };
     }
     {
@@ -7014,7 +6998,7 @@
       path = fetchurl {
         name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
         url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
-        sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a";
+        sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==";
       };
     }
     {
@@ -7022,7 +7006,7 @@
       path = fetchurl {
         name = "source_map_support___source_map_support_0.4.18.tgz";
         url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz";
-        sha1 = "0286a6de8be42641338594e97ccea75f0a2c585f";
+        sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
       };
     }
     {
@@ -7030,7 +7014,7 @@
       path = fetchurl {
         name = "source_map_url___source_map_url_0.4.1.tgz";
         url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz";
-        sha1 = "0af66605a745a5a2f91cf1bbf8a7afbc283dec56";
+        sha512 = "cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==";
       };
     }
     {
@@ -7038,7 +7022,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.1.43.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz";
-        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+        sha1 = "wkvBRspRfBRx9drL4lcbK3+eM0Y=";
       };
     }
     {
@@ -7046,7 +7030,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.5.7.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
-        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+        sha1 = "igOdLRAh0i0eoUyA2OpGi6LvP8w=";
       };
     }
     {
@@ -7054,7 +7038,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==";
       };
     }
     {
@@ -7062,7 +7046,7 @@
       path = fetchurl {
         name = "sparse_bitfield___sparse_bitfield_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz";
-        sha1 = "ff4ae6e68656056ba4b3e792ab3334d38273ca11";
+        sha1 = "/0rm5oZWBWuks+eSqzM004JzyhE=";
       };
     }
     {
@@ -7070,7 +7054,7 @@
       path = fetchurl {
         name = "spawn_wrap___spawn_wrap_1.4.3.tgz";
         url  = "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz";
-        sha1 = "81b7670e170cca247d80bf5faf0cfb713bdcf848";
+        sha512 = "IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==";
       };
     }
     {
@@ -7078,7 +7062,7 @@
       path = fetchurl {
         name = "spdx_correct___spdx_correct_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz";
-        sha1 = "dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9";
+        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
       };
     }
     {
@@ -7086,7 +7070,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==";
       };
     }
     {
@@ -7094,7 +7078,7 @@
       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==";
       };
     }
     {
@@ -7102,7 +7086,7 @@
       path = fetchurl {
         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";
-        sha1 = "50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95";
+        sha512 = "Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==";
       };
     }
     {
@@ -7110,15 +7094,15 @@
       path = fetchurl {
         name = "split_string___split_string_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
-        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+        sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
       };
     }
     {
-      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";
-        sha1 = "bf2cf2a37d838312c249c89206fd7a17dd12365f";
+        name = "split2___split2_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz";
+        sha512 = "VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==";
       };
     }
     {
@@ -7126,7 +7110,7 @@
       path = fetchurl {
         name = "sprintf_js___sprintf_js_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz";
-        sha1 = "da1765262bf8c0f571749f2ad6c26300207ae673";
+        sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     }
     {
@@ -7134,7 +7118,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=";
       };
     }
     {
@@ -7142,23 +7126,23 @@
       path = fetchurl {
         name = "sqlstring___sqlstring_2.3.1.tgz";
         url  = "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz";
-        sha1 = "475393ff9e91479aea62dcaf0ca3d14983a7fb40";
+        sha1 = "R1OT/56RR5rqYtyvDKPRSYOn+0A=";
       };
     }
     {
-      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";
-        sha1 = "4dc559ba98a1cbb420e8d42998dfe35d0eda92bc";
+        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";
-        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+        name = "sshpk___sshpk_1.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz";
+        sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
       };
     }
     {
@@ -7166,7 +7150,7 @@
       path = fetchurl {
         name = "static_extend___static_extend_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
-        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+        sha1 = "YICcOcv/VTNyJv1eC1IPNB8ftcY=";
       };
     }
     {
@@ -7174,7 +7158,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=";
       };
     }
     {
@@ -7182,7 +7166,7 @@
       path = fetchurl {
         name = "stealthy_require___stealthy_require_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
-        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+        sha1 = "NbCYdbT/SfJqd35QmzCQoyJr8ks=";
       };
     }
     {
@@ -7190,7 +7174,7 @@
       path = fetchurl {
         name = "stream_connect___stream_connect_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz";
-        sha1 = "18bc81f2edb35b8b5d9a8009200a985314428a97";
+        sha1 = "GLyB8u2zW4tdmoAJIAqYUxRCipc=";
       };
     }
     {
@@ -7198,7 +7182,7 @@
       path = fetchurl {
         name = "stream_handlebars___stream_handlebars_0.1.6.tgz";
         url  = "https://registry.yarnpkg.com/stream-handlebars/-/stream-handlebars-0.1.6.tgz";
-        sha1 = "7305b5064203da171608c478acf642a149892a2f";
+        sha1 = "cwW1BkID2hcWCMR4rPZCoUmJKi8=";
       };
     }
     {
@@ -7206,7 +7190,7 @@
       path = fetchurl {
         name = "stream_via___stream_via_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.4.tgz";
-        sha1 = "8dccbb0ac909328eb8bc8e2a4bd3934afdaf606c";
+        sha512 = "DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==";
       };
     }
     {
@@ -7214,7 +7198,7 @@
       path = fetchurl {
         name = "stream_via___stream_via_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/stream-via/-/stream-via-0.1.1.tgz";
-        sha1 = "0cee5df9c959fb1d3f4eda4819f289d5f9205afc";
+        sha1 = "DO5d+clZ+x0/TtpIGfKJ1fkgWvw=";
       };
     }
     {
@@ -7222,7 +7206,7 @@
       path = fetchurl {
         name = "string_tools___string_tools_0.1.8.tgz";
         url  = "https://registry.yarnpkg.com/string-tools/-/string-tools-0.1.8.tgz";
-        sha1 = "70884e86a26ee5103a078bef67033d558d36e337";
+        sha1 = "cIhOhqJu5RA6B4vvZwM9VY024zc=";
       };
     }
     {
@@ -7230,7 +7214,7 @@
       path = fetchurl {
         name = "string_tools___string_tools_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/string-tools/-/string-tools-1.0.0.tgz";
-        sha1 = "c69a9d5788858997da66f1d923ba7113ea466b5a";
+        sha1 = "xpqdV4iFiZfaZvHZI7pxE+pGa1o=";
       };
     }
     {
@@ -7238,7 +7222,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";
+        sha1 = "EYvfW4zcUaKn5w0hHgfisLmxB9M=";
       };
     }
     {
@@ -7246,7 +7230,7 @@
       path = fetchurl {
         name = "string_width___string_width_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
-        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     }
     {
@@ -7254,7 +7238,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==";
       };
     }
     {
@@ -7262,7 +7246,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==";
       };
     }
     {
@@ -7270,7 +7254,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";
+        sha1 = "ajhfuIU9lS1f8F0Oiq+UJ43GPc8=";
       };
     }
     {
@@ -7278,7 +7262,7 @@
       path = fetchurl {
         name = "strip_ansi___strip_ansi_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     }
     {
@@ -7286,7 +7270,7 @@
       path = fetchurl {
         name = "strip_bom___strip_bom_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz";
-        sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+        sha1 = "YhmoVhZSBJHzV4i9vxRHqZx+aw4=";
       };
     }
     {
@@ -7294,7 +7278,7 @@
       path = fetchurl {
         name = "strip_bom___strip_bom_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+        sha1 = "IzTBjpx1n3vdVv3vfprj1YjmjtM=";
       };
     }
     {
@@ -7302,7 +7286,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=";
       };
     }
     {
@@ -7310,7 +7294,7 @@
       path = fetchurl {
         name = "strnum___strnum_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz";
-        sha1 = "5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db";
+        sha512 = "J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==";
       };
     }
     {
@@ -7318,7 +7302,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
-        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+        sha1 = "U10EXOa2Nj+kARcIRimZXp3zJMc=";
       };
     }
     {
@@ -7326,7 +7310,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==";
       };
     }
     {
@@ -7334,7 +7318,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
-        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
       };
     }
     {
@@ -7342,7 +7326,15 @@
       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 = "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==";
       };
     }
     {
@@ -7350,7 +7342,7 @@
       path = fetchurl {
         name = "symbol_tree___symbol_tree_3.2.4.tgz";
         url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
+        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
       };
     }
     {
@@ -7358,7 +7350,7 @@
       path = fetchurl {
         name = "syslog___syslog_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/syslog/-/syslog-0.1.1.tgz";
-        sha1 = "675d8210898e785fd14c831de2d9a6aec0a35cbd";
+        sha1 = "Z12CEImOeF/RTIMd4tmmrsCjXL0=";
       };
     }
     {
@@ -7366,7 +7358,7 @@
       path = fetchurl {
         name = "table_layout___table_layout_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/table-layout/-/table-layout-0.3.0.tgz";
-        sha1 = "6ee20dc483db371b3e5c87f704ed2f7c799d2c9a";
+        sha1 = "buINxIPbNxs+XIf3BO0vfHmdLJo=";
       };
     }
     {
@@ -7374,7 +7366,7 @@
       path = fetchurl {
         name = "taffydb___taffydb_2.6.2.tgz";
         url  = "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz";
-        sha1 = "7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268";
+        sha1 = "fLy2S1oUG2ou/CxdLGe04VCyomg=";
       };
     }
     {
@@ -7382,7 +7374,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==";
       };
     }
     {
@@ -7390,7 +7382,7 @@
       path = fetchurl {
         name = "telnyx___telnyx_1.23.0.tgz";
         url  = "https://registry.yarnpkg.com/telnyx/-/telnyx-1.23.0.tgz";
-        sha1 = "0d949a11f7c819b0d5ce8ae8c36b80bd02e351c8";
+        sha512 = "hmXxXVyj+Fi+ips7KwmgUYQrzHCIyGo8bjm/B8tsCAJ7PZ0V3LO330CVOk0gPdlcZxIkITaXWB51swrbK09Wew==";
       };
     }
     {
@@ -7398,7 +7390,7 @@
       path = fetchurl {
         name = "temp_path___temp_path_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz";
-        sha1 = "24b1543973ab442896d9ad367dd9cbdbfafe918b";
+        sha1 = "JLFUOXOrRCiW2a02fdnL2/r+kYs=";
       };
     }
     {
@@ -7406,7 +7398,7 @@
       path = fetchurl {
         name = "test_exclude___test_exclude_5.2.3.tgz";
         url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz";
-        sha1 = "c3d3e1e311eb7ee405e092dac10aefd09091eac0";
+        sha512 = "M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==";
       };
     }
     {
@@ -7414,7 +7406,7 @@
       path = fetchurl {
         name = "test_value___test_value_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz";
-        sha1 = "a09136f72ec043d27c893707c2b159bfad7de93f";
+        sha1 = "oJE29y7AQ9J8iTcHwrFZv6196T8=";
       };
     }
     {
@@ -7422,7 +7414,7 @@
       path = fetchurl {
         name = "test_value___test_value_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz";
-        sha1 = "11da6ff670f3471a73b625ca4f3fdcf7bb748291";
+        sha1 = "Edpv9nDzRxpztiXKTz/c97t0gpE=";
       };
     }
     {
@@ -7430,7 +7422,7 @@
       path = fetchurl {
         name = "then_fs___then_fs_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/then-fs/-/then-fs-2.0.0.tgz";
-        sha1 = "72f792dd9d31705a91ae19ebfcf8b3f968c81da2";
+        sha1 = "cveS3Z0xcFqRrhnr/Piz+WjIHaI=";
       };
     }
     {
@@ -7438,7 +7430,7 @@
       path = fetchurl {
         name = "thirty_two___thirty_two_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/thirty-two/-/thirty-two-1.0.2.tgz";
-        sha1 = "4ca2fffc02a51290d2744b9e3f557693ca6b627a";
+        sha1 = "TKL//AKlEpDSdEueP1V2k8prYno=";
       };
     }
     {
@@ -7446,7 +7438,7 @@
       path = fetchurl {
         name = "through2___through2_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz";
-        sha1 = "99f88931cfc761ec7678b41d5d7336b5b6a07bf4";
+        sha512 = "enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==";
       };
     }
     {
@@ -7454,7 +7446,7 @@
       path = fetchurl {
         name = "thunky___thunky_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz";
-        sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d";
+        sha512 = "eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==";
       };
     }
     {
@@ -7462,7 +7454,7 @@
       path = fetchurl {
         name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
-        sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
+        sha1 = "uDVx+k2MJbguIxsG46MFXeTKGkc=";
       };
     }
     {
@@ -7470,7 +7462,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=";
       };
     }
     {
@@ -7478,7 +7470,7 @@
       path = fetchurl {
         name = "to_mongodb_core___to_mongodb_core_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/to-mongodb-core/-/to-mongodb-core-2.0.0.tgz";
-        sha1 = "3596ec7613ac9ad3b98a89dcb9aefba569cd27eb";
+        sha1 = "NZbsdhOsmtO5ioncua77pWnNJ+s=";
       };
     }
     {
@@ -7486,7 +7478,7 @@
       path = fetchurl {
         name = "to_object_path___to_object_path_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
-        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+        sha1 = "KXWIt7Dn4KwI4E5nL4XB9JmeF68=";
       };
     }
     {
@@ -7494,7 +7486,7 @@
       path = fetchurl {
         name = "to_regex_range___to_regex_range_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
-        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+        sha1 = "fIDBe53+vlmeJzZ+DU3VWQFB2zg=";
       };
     }
     {
@@ -7502,7 +7494,7 @@
       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==";
       };
     }
     {
@@ -7510,15 +7502,7 @@
       path = fetchurl {
         name = "to_regex___to_regex_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
-        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
-      };
-    }
-    {
-      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";
-        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+        sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
       };
     }
     {
@@ -7526,7 +7510,7 @@
       path = fetchurl {
         name = "toidentifier___toidentifier_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz";
-        sha1 = "3be34321a88a820ed1bd80dfaa33e479fbb8dd35";
+        sha512 = "o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==";
       };
     }
     {
@@ -7534,7 +7518,7 @@
       path = fetchurl {
         name = "tough_cookie___tough_cookie_2.5.0.tgz";
         url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
       };
     }
     {
@@ -7542,7 +7526,7 @@
       path = fetchurl {
         name = "tough_cookie___tough_cookie_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz";
-        sha1 = "d822234eeca882f991f0f908824ad2622ddbece4";
+        sha512 = "tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==";
       };
     }
     {
@@ -7550,7 +7534,7 @@
       path = fetchurl {
         name = "tough_cookie___tough_cookie_2.4.3.tgz";
         url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
-        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
       };
     }
     {
@@ -7558,7 +7542,7 @@
       path = fetchurl {
         name = "tr46___tr46_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz";
-        sha1 = "fa87aa81ca5d5941da8cbf1f9b749dc969a4e240";
+        sha512 = "15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==";
       };
     }
     {
@@ -7566,7 +7550,7 @@
       path = fetchurl {
         name = "tr46___tr46_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz";
-        sha1 = "555c4e297a950617e8eeddef633c87d4d9d6cbf9";
+        sha512 = "l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==";
       };
     }
     {
@@ -7574,7 +7558,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=";
       };
     }
     {
@@ -7582,7 +7566,7 @@
       path = fetchurl {
         name = "trim_right___trim_right_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz";
-        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+        sha1 = "yy4SAwZ+DI3h9hQJS5/kVwTqYAM=";
       };
     }
     {
@@ -7590,7 +7574,7 @@
       path = fetchurl {
         name = "tsscmp___tsscmp_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz";
-        sha1 = "85b99583ac3589ec4bfef825b5000aa911d605eb";
+        sha512 = "LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==";
       };
     }
     {
@@ -7598,7 +7582,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=";
       };
     }
     {
@@ -7606,7 +7590,7 @@
       path = fetchurl {
         name = "tv4___tv4_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz";
-        sha1 = "d020c846fadd50c855abb25ebaecc68fc10f7963";
+        sha1 = "0CDIRvrdUMhVq7JeuuzGj8EPeWM=";
       };
     }
     {
@@ -7614,7 +7598,7 @@
       path = fetchurl {
         name = "tweetnacl___tweetnacl_0.14.5.tgz";
         url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+        sha1 = "WuaBd/GS1EViadEIr6k/+HQ/T2Q=";
       };
     }
     {
@@ -7622,15 +7606,15 @@
       path = fetchurl {
         name = "tweetnacl___tweetnacl_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz";
-        sha1 = "ac0af71680458d8a6378d0d0d050ab1407d35596";
+        sha512 = "6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==";
       };
     }
     {
-      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";
-        sha1 = "a446d2b49f8c1ed60b0dd830c919921358c17203";
+        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==";
       };
     }
     {
@@ -7638,7 +7622,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=";
       };
     }
     {
@@ -7646,7 +7630,7 @@
       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==";
       };
     }
     {
@@ -7654,7 +7638,7 @@
       path = fetchurl {
         name = "typical___typical_2.6.1.tgz";
         url  = "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz";
-        sha1 = "5c080e5d661cbbe38259d2e70a3c7253e873881d";
+        sha1 = "XAgOXWYcu+OCWdLnCjxyU+hziB0=";
       };
     }
     {
@@ -7662,15 +7646,15 @@
       path = fetchurl {
         name = "uglify_js___uglify_js_2.8.29.tgz";
         url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz";
-        sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
+        sha1 = "KcVzMUgFe7Th913zW3qcty5qWd0=";
       };
     }
     {
-      name = "uglify_js___uglify_js_3.14.4.tgz";
+      name = "uglify_js___uglify_js_3.15.1.tgz";
       path = fetchurl {
-        name = "uglify_js___uglify_js_3.14.4.tgz";
-        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.4.tgz";
-        sha1 = "68756f17d1b90b9d289341736cb9a567d6882f90";
+        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==";
       };
     }
     {
@@ -7678,7 +7662,7 @@
       path = fetchurl {
         name = "uglify_to_browserify___uglify_to_browserify_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
-        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+        sha1 = "bgkk1r2mta/jSeOabWMoUKD4grc=";
       };
     }
     {
@@ -7686,7 +7670,7 @@
       path = fetchurl {
         name = "uid_safe___uid_safe_2.1.5.tgz";
         url  = "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz";
-        sha1 = "2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a";
+        sha512 = "KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==";
       };
     }
     {
@@ -7694,7 +7678,7 @@
       path = fetchurl {
         name = "uid2___uid2_0.0.4.tgz";
         url  = "https://registry.yarnpkg.com/uid2/-/uid2-0.0.4.tgz";
-        sha1 = "033f3b1d5d32505f5ce5f888b9f3b667123c0a44";
+        sha512 = "IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==";
       };
     }
     {
@@ -7702,23 +7686,23 @@
       path = fetchurl {
         name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
-        sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
+        sha1 = "5z3T17DXxe2G+6xrCufYxqadUPo=";
       };
     }
     {
-      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";
-        sha1 = "fc2ad255b8bd309e239cbc5816fd23a9b7ea4023";
+        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";
-        sha1 = "0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1";
+        name = "underscore___underscore_1.13.2.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz";
+        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
       };
     }
     {
@@ -7726,7 +7710,7 @@
       path = fetchurl {
         name = "underscore___underscore_1.8.3.tgz";
         url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz";
-        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+        sha1 = "Tz+1OxBuYJf8+ctBCfKl6b36UCI=";
       };
     }
     {
@@ -7734,7 +7718,7 @@
       path = fetchurl {
         name = "union_value___union_value_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
-        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+        sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==";
       };
     }
     {
@@ -7742,7 +7726,7 @@
       path = fetchurl {
         name = "universalify___universalify_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
-        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     }
     {
@@ -7750,7 +7734,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=";
       };
     }
     {
@@ -7758,7 +7742,7 @@
       path = fetchurl {
         name = "unset_value___unset_value_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
-        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+        sha1 = "g3aHP30jNRef+x5vw6jtDfyKtVk=";
       };
     }
     {
@@ -7766,7 +7750,7 @@
       path = fetchurl {
         name = "upper_case___upper_case_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz";
-        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+        sha1 = "9rRQHC7EzdJrp4vnIilh3ndiFZg=";
       };
     }
     {
@@ -7774,7 +7758,7 @@
       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==";
       };
     }
     {
@@ -7782,7 +7766,7 @@
       path = fetchurl {
         name = "uri_parser___uri_parser_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/uri-parser/-/uri-parser-1.0.1.tgz";
-        sha1 = "3307ebb50f279c11198ad09214bdaf24e29735b2";
+        sha512 = "TRjjM2M83RD9jIIYttNj7ghUQTKSov+WXZbQIMM8DxY1R1QdJEGWNKKMYCxyeOw1p9re2nQ85usM6dPTVtox1g==";
       };
     }
     {
@@ -7790,7 +7774,7 @@
       path = fetchurl {
         name = "urix___urix_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
-        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+        sha1 = "2pN/emLiH+wf0Y1Js1wpNQZ6bHI=";
       };
     }
     {
@@ -7798,15 +7782,15 @@
       path = fetchurl {
         name = "url_join___url_join_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz";
-        sha1 = "b642e21a2646808ffa178c4c5fda39844e12cde7";
+        sha512 = "jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==";
       };
     }
     {
-      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";
-        sha1 = "71c1303d38fb6639ade183c2992c8cc0686df862";
+        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==";
       };
     }
     {
@@ -7814,7 +7798,7 @@
       path = fetchurl {
         name = "url_template___url_template_2.0.8.tgz";
         url  = "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz";
-        sha1 = "fc565a3cccbff7730c775f5641f9555791439f21";
+        sha1 = "/FZaPMy/93MMd19WQflVV5FDnyE=";
       };
     }
     {
@@ -7822,7 +7806,7 @@
       path = fetchurl {
         name = "urlsafe_base64___urlsafe_base64_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz";
-        sha1 = "23f89069a6c62f46cf3a1d3b00169cefb90be0c6";
+        sha1 = "I/iQaabGL0bPOh07ABac77kL4MY=";
       };
     }
     {
@@ -7830,7 +7814,7 @@
       path = fetchurl {
         name = "usage_stats___usage_stats_0.8.6.tgz";
         url  = "https://registry.yarnpkg.com/usage-stats/-/usage-stats-0.8.6.tgz";
-        sha1 = "ec92559f648845c2021cbf5b4adea17af7513830";
+        sha512 = "QS1r7a1h5g1jo6KulvVGV+eQM+Jfj87AjJBfr1iaIJYz+N7+Qh7ezaVFCulwBGd8T1EidRiSYphG17gra2y0kg==";
       };
     }
     {
@@ -7838,7 +7822,7 @@
       path = fetchurl {
         name = "use___use_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
-        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+        sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
       };
     }
     {
@@ -7846,7 +7830,7 @@
       path = fetchurl {
         name = "user_home___user_home_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz";
-        sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190";
+        sha1 = "K1viOjK2Onyd640PKNSFcko98ZA=";
       };
     }
     {
@@ -7854,7 +7838,7 @@
       path = fetchurl {
         name = "utf8___utf8_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz";
-        sha1 = "1fa0d9270e9be850d9b05027f63519bf46457d96";
+        sha1 = "H6DZJw6b6FDZsFAn9jUZv0ZFfZY=";
       };
     }
     {
@@ -7862,7 +7846,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=";
       };
     }
     {
@@ -7870,7 +7854,7 @@
       path = fetchurl {
         name = "utils_igor___utils_igor_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/utils-igor/-/utils-igor-1.0.4.tgz";
-        sha1 = "59197669fd1e51a05ddbd3febb4789498cc42f03";
+        sha1 = "WRl2af0eUaBd29P+u0eJSYzELwM=";
       };
     }
     {
@@ -7878,7 +7862,7 @@
       path = fetchurl {
         name = "utils_igor___utils_igor_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/utils-igor/-/utils-igor-2.0.5.tgz";
-        sha1 = "51fae3fd0a754be33f7f4a05a6a4905f229e3d80";
+        sha1 = "Ufrj/Qp1S+M/f0oFpqSQXyKePYA=";
       };
     }
     {
@@ -7886,7 +7870,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=";
       };
     }
     {
@@ -7894,7 +7878,7 @@
       path = fetchurl {
         name = "uuid___uuid_3.4.0.tgz";
         url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
-        sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
+        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
       };
     }
     {
@@ -7902,7 +7886,7 @@
       path = fetchurl {
         name = "uuid___uuid_8.3.2.tgz";
         url  = "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz";
-        sha1 = "80d5b5ced271bb9af6c445f21a1a04c606cefbe2";
+        sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
       };
     }
     {
@@ -7910,7 +7894,7 @@
       path = fetchurl {
         name = "v8flags___v8flags_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz";
-        sha1 = "aab1a1fa30d45f88dd321148875ac02c0b55e5b4";
+        sha1 = "qrGh+jDUX4jdMhFIh1rALAtV5bQ=";
       };
     }
     {
@@ -7918,7 +7902,7 @@
       path = fetchurl {
         name = "v8flags___v8flags_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz";
-        sha1 = "b243e3b4dfd731fa774e7492128109a0fe66d656";
+        sha512 = "mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==";
       };
     }
     {
@@ -7926,7 +7910,7 @@
       path = fetchurl {
         name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
       };
     }
     {
@@ -7934,7 +7918,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=";
       };
     }
     {
@@ -7942,7 +7926,7 @@
       path = fetchurl {
         name = "vasync___vasync_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/vasync/-/vasync-2.2.1.tgz";
-        sha1 = "d881379ff3685e4affa8e775cf0fd369262a201b";
+        sha512 = "Hq72JaTpcTFdWiNA4Y22Amej2GH3BFmBaKPPlDZ4/oC8HNn2ISHLkFrJU4Ds8R3jcUi7oo5Y9jcMHKjES+N9wQ==";
       };
     }
     {
@@ -7950,7 +7934,7 @@
       path = fetchurl {
         name = "verror___verror_1.10.0.tgz";
         url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
-        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+        sha1 = "OhBcoXBTr1XW4nDB+CiGguGNpAA=";
       };
     }
     {
@@ -7958,7 +7942,7 @@
       path = fetchurl {
         name = "verror___verror_1.10.1.tgz";
         url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz";
-        sha1 = "4bf09eeccf4563b109ed4b3d458380c972b0cdeb";
+        sha512 = "veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==";
       };
     }
     {
@@ -7966,7 +7950,7 @@
       path = fetchurl {
         name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
-        sha1 = "0a89cdf5cc15822df9c360543676963e0cc308cd";
+        sha512 = "z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==";
       };
     }
     {
@@ -7974,7 +7958,7 @@
       path = fetchurl {
         name = "w3c_xmlserializer___w3c_xmlserializer_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz";
-        sha1 = "06cdc3eefb7e4d0b20a560a5a3aeb0d2d9a65923";
+        sha512 = "3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==";
       };
     }
     {
@@ -7982,7 +7966,7 @@
       path = fetchurl {
         name = "walk_back___walk_back_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz";
-        sha1 = "554e2a9d874fac47a8cb006bf44c2f0c4998a0a4";
+        sha1 = "VU4qnYdPrEeoywBr9EwvDEmYoKQ=";
       };
     }
     {
@@ -7990,7 +7974,7 @@
       path = fetchurl {
         name = "weak_daemon___weak_daemon_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/weak-daemon/-/weak-daemon-1.0.3.tgz";
-        sha1 = "d922b7c0dfb8f6bf027c463ea875584d2b085f19";
+        sha512 = "9OLYp5qQSxpnTIyuA1zJ7at3DV2DSBcbdXduC/3QFPeYjF30Lh1nfBrG+VLf4QUvZPz2lXFPu08oIRzWQfucVQ==";
       };
     }
     {
@@ -7998,7 +7982,7 @@
       path = fetchurl {
         name = "weak_map___weak_map_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz";
-        sha1 = "79691584d98607f5070bd3b70a40e6bb22e401eb";
+        sha1 = "eWkVhNmGB/UHC9O3CkDmuyLkAes=";
       };
     }
     {
@@ -8006,15 +7990,15 @@
       path = fetchurl {
         name = "web_push___web_push_3.4.5.tgz";
         url  = "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz";
-        sha1 = "f94074ff150538872c7183e4d8881c8305920cf1";
+        sha512 = "2njbTqZ6Q7ZqqK14YpK1GGmaZs3NmuGYF5b7abCXulUIWFSlSYcZ3NBJQRFcMiQDceD7vQknb8FUuvI1F7Qe/g==";
       };
     }
     {
-      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";
-        sha1 = "3964c72c1d5dc9854c0031b43e464f260f22476e";
+        name = "webdav___webdav_4.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.8.0.tgz";
+        sha512 = "CVJvxu0attEfoQUKraDiNh3uMjNPNl+BY0pbcKbyc/X+8IXDnqAT4tT4Ge12w+j49fYuVpFVkpEGwBZabv7Uhw==";
       };
     }
     {
@@ -8022,7 +8006,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=";
       };
     }
     {
@@ -8030,7 +8014,7 @@
       path = fetchurl {
         name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz";
-        sha1 = "9111b4d7ea80acd40f5270d666621afa78b69514";
+        sha512 = "qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==";
       };
     }
     {
@@ -8038,7 +8022,7 @@
       path = fetchurl {
         name = "webidl_conversions___webidl_conversions_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz";
-        sha1 = "256b4e1882be7debbf01d05f0aa2039778ea080a";
+        sha512 = "VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==";
       };
     }
     {
@@ -8046,7 +8030,7 @@
       path = fetchurl {
         name = "whatwg_encoding___whatwg_encoding_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz";
-        sha1 = "e7635f597fd87020858626805a2729fa7698ac53";
+        sha512 = "p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==";
       };
     }
     {
@@ -8054,7 +8038,7 @@
       path = fetchurl {
         name = "whatwg_mimetype___whatwg_mimetype_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz";
-        sha1 = "5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7";
+        sha512 = "nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==";
       };
     }
     {
@@ -8062,7 +8046,7 @@
       path = fetchurl {
         name = "whatwg_url___whatwg_url_10.0.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-10.0.0.tgz";
-        sha1 = "37264f720b575b4a311bd4094ed8c760caaa05da";
+        sha512 = "CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==";
       };
     }
     {
@@ -8070,7 +8054,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=";
       };
     }
     {
@@ -8078,7 +8062,7 @@
       path = fetchurl {
         name = "whatwg_url___whatwg_url_8.7.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz";
-        sha1 = "656a78e510ff8f3937bc0bcbe9f5c0ac35941b77";
+        sha512 = "gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==";
       };
     }
     {
@@ -8086,7 +8070,7 @@
       path = fetchurl {
         name = "which_module___which_module_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz";
-        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+        sha1 = "u6Y8qGGUiZT/MHc2CJ47lgJsKk8=";
       };
     }
     {
@@ -8094,7 +8078,7 @@
       path = fetchurl {
         name = "which_module___which_module_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
-        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+        sha1 = "2e8H3Od7mQK4o6j6SzHD4/fm6Ho=";
       };
     }
     {
@@ -8102,7 +8086,7 @@
       path = fetchurl {
         name = "which___which_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
-        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     }
     {
@@ -8110,7 +8094,7 @@
       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==";
       };
     }
     {
@@ -8118,7 +8102,7 @@
       path = fetchurl {
         name = "wildleek___wildleek_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/wildleek/-/wildleek-2.0.0.tgz";
-        sha1 = "85eb93c9c1822da963bc3c3c8d09ae9d12b48a47";
+        sha512 = "wtHhfuGeWH9diQsQoprX5tr2+y5lyqyzMpiTFu4gJVQIK+L4jE8Phmr50sFmk7ewhZzbbQj2pCwbUcceq+IEIg==";
       };
     }
     {
@@ -8126,7 +8110,7 @@
       path = fetchurl {
         name = "window_size___window_size_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz";
-        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+        sha1 = "VDjNLqk7IC76Ohn+iIeu58lPnJ0=";
       };
     }
     {
@@ -8134,7 +8118,7 @@
       path = fetchurl {
         name = "window_size___window_size_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz";
-        sha1 = "b4315bb4214a3d7058ebeee892e13fa24d98b075";
+        sha1 = "tDFbtCFKPXBY6+7okuE/ok2YsHU=";
       };
     }
     {
@@ -8142,7 +8126,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==";
       };
     }
     {
@@ -8150,7 +8134,7 @@
       path = fetchurl {
         name = "wordwrap___wordwrap_0.0.2.tgz";
         url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+        sha1 = "t5Zpu0LstAn4PVg8rVLKF+qhZD8=";
       };
     }
     {
@@ -8158,7 +8142,7 @@
       path = fetchurl {
         name = "wordwrap___wordwrap_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
-        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+        sha1 = "J1hIEIkUVqQXHI0CJkQa3pDLyus=";
       };
     }
     {
@@ -8166,7 +8150,7 @@
       path = fetchurl {
         name = "wordwrap___wordwrap_0.0.3.tgz";
         url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz";
-        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+        sha1 = "o9XabNXAvAAI03I0u68b7WMFkQc=";
       };
     }
     {
@@ -8174,7 +8158,7 @@
       path = fetchurl {
         name = "wordwrapjs___wordwrapjs_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-1.2.1.tgz";
-        sha1 = "754a5ea0664cfbff50540dc32d67bda3289fc34b";
+        sha1 = "dUpeoGZM+/9QVA3DLWe9oyifw0s=";
       };
     }
     {
@@ -8182,7 +8166,7 @@
       path = fetchurl {
         name = "wordwrapjs___wordwrapjs_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-2.0.0.tgz";
-        sha1 = "ab55f695e6118da93858fdd70c053d1c5e01ac20";
+        sha1 = "q1X2leYRjak4WP3XDAU9HF4BrCA=";
       };
     }
     {
@@ -8190,7 +8174,7 @@
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
-        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+        sha1 = "2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=";
       };
     }
     {
@@ -8198,7 +8182,7 @@
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
-        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
       };
     }
     {
@@ -8206,7 +8190,7 @@
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+        sha1 = "tSQ9jz7BqjXxNkYFvA0QNuMKtp8=";
       };
     }
     {
@@ -8214,7 +8198,7 @@
       path = fetchurl {
         name = "write_file_atomic___write_file_atomic_2.4.3.tgz";
         url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz";
-        sha1 = "1fd2e9ae1df3e75b8d8c367443c692d4ca81f481";
+        sha512 = "GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==";
       };
     }
     {
@@ -8222,23 +8206,23 @@
       path = fetchurl {
         name = "ws___ws_5.2.3.tgz";
         url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz";
-        sha1 = "05541053414921bc29c63bee14b8b0dd50b07b3d";
+        sha512 = "jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==";
       };
     }
     {
-      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";
-        sha1 = "e59fc509fb15ddfb65487ee9765c5a51dec5fe7b";
+        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";
-        sha1 = "7185e252c8973a60d57170175ff55fdbd116070d";
+        name = "ws___ws_8.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz";
+        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
       };
     }
     {
@@ -8246,15 +8230,15 @@
       path = fetchurl {
         name = "xml_crypto___xml_crypto_2.1.3.tgz";
         url  = "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-2.1.3.tgz";
-        sha1 = "6a7272b610ea3e4ea7f13e9e4876f1b20cbc32c8";
+        sha512 = "MpXZwnn9JK0mNPZ5mnFIbNnQa+8lMGK4NtnX2FlJMfMWR60sJdFO9X72yO6ji068pxixzk53O7x0/iSKh6IhyQ==";
       };
     }
     {
-      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";
-        sha1 = "4cad44a59bf8bdec76d7865ce0b89e13c09962f4";
+        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==";
       };
     }
     {
@@ -8262,7 +8246,7 @@
       path = fetchurl {
         name = "xml_name_validator___xml_name_validator_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz";
-        sha1 = "79a006e2e63149a8600f15430f0a4725d1524835";
+        sha512 = "ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==";
       };
     }
     {
@@ -8270,7 +8254,7 @@
       path = fetchurl {
         name = "xml2js___xml2js_0.4.23.tgz";
         url  = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz";
-        sha1 = "a0c69516752421eb2ac758ee4d4ccf58843eac66";
+        sha512 = "ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==";
       };
     }
     {
@@ -8278,7 +8262,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_13.0.2.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-13.0.2.tgz";
-        sha1 = "02ae33614b6a047d1c32b5389c1fdacb2bce47a7";
+        sha512 = "Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==";
       };
     }
     {
@@ -8286,7 +8270,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
-        sha1 = "9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5";
+        sha512 = "yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==";
       };
     }
     {
@@ -8294,7 +8278,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
-        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+        sha1 = "Ey7mPS7FVlxVfiD0wi35rKaGsQ0=";
       };
     }
     {
@@ -8302,7 +8286,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_11.0.1.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz";
-        sha1 = "be9bae1c8a046e76b31127726347d0ad7002beb3";
+        sha512 = "fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==";
       };
     }
     {
@@ -8310,7 +8294,7 @@
       path = fetchurl {
         name = "xmlchars___xmlchars_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz";
-        sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb";
+        sha512 = "JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==";
       };
     }
     {
@@ -8318,7 +8302,7 @@
       path = fetchurl {
         name = "xmldom___xmldom_0.1.31.tgz";
         url  = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz";
-        sha1 = "b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff";
+        sha512 = "yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==";
       };
     }
     {
@@ -8326,7 +8310,7 @@
       path = fetchurl {
         name = "xpath___xpath_0.0.32.tgz";
         url  = "https://registry.yarnpkg.com/xpath/-/xpath-0.0.32.tgz";
-        sha1 = "1b73d3351af736e17ec078d6da4b8175405c48af";
+        sha512 = "rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==";
       };
     }
     {
@@ -8334,7 +8318,7 @@
       path = fetchurl {
         name = "xtend___xtend_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
-        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     }
     {
@@ -8342,7 +8326,7 @@
       path = fetchurl {
         name = "xtraverse___xtraverse_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/xtraverse/-/xtraverse-0.1.0.tgz";
-        sha1 = "b741bad018ef78d8a9d2e83ade007b3f7959c732";
+        sha1 = "t0G60BjveNip0ug63gB7P3lZxzI=";
       };
     }
     {
@@ -8350,7 +8334,7 @@
       path = fetchurl {
         name = "y18n___y18n_3.2.2.tgz";
         url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz";
-        sha1 = "85c901bd6470ce71fc4bb723ad209b70f7f28696";
+        sha512 = "uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==";
       };
     }
     {
@@ -8358,7 +8342,7 @@
       path = fetchurl {
         name = "y18n___y18n_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz";
-        sha1 = "b5f259c82cd6e336921efd7bfd8bf560de9eeedf";
+        sha512 = "JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==";
       };
     }
     {
@@ -8366,7 +8350,7 @@
       path = fetchurl {
         name = "yallist___yallist_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz";
-        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+        sha1 = "HBH5IY8HYImkfdUS+TxmmaaoHVI=";
       };
     }
     {
@@ -8374,7 +8358,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==";
       };
     }
     {
@@ -8382,7 +8366,7 @@
       path = fetchurl {
         name = "yargs_parser___yargs_parser_13.1.2.tgz";
         url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz";
-        sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38";
+        sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==";
       };
     }
     {
@@ -8390,7 +8374,7 @@
       path = fetchurl {
         name = "yargs_parser___yargs_parser_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-3.2.0.tgz";
-        sha1 = "5081355d19d9d0c8c5d81ada908cb4e6d186664f";
+        sha1 = "UIE1XRnZ0MjF2BrakIy05tGGZk8=";
       };
     }
     {
@@ -8398,7 +8382,7 @@
       path = fetchurl {
         name = "yargs___yargs_13.3.2.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz";
-        sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd";
+        sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==";
       };
     }
     {
@@ -8406,7 +8390,7 @@
       path = fetchurl {
         name = "yargs___yargs_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-5.0.0.tgz";
-        sha1 = "3355144977d05757dbb86d6e38ec056123b3a66e";
+        sha1 = "M1UUSXfQV1fbuG1uOOwFYSOzpm4=";
       };
     }
     {
@@ -8414,7 +8398,7 @@
       path = fetchurl {
         name = "yargs___yargs_3.10.0.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz";
-        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+        sha1 = "9+572FfdfB0tOMDnTvvWgdFDH9E=";
       };
     }
     {
@@ -8422,7 +8406,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=";
       };
     }
     {
@@ -8430,7 +8414,7 @@
       path = fetchurl {
         name = "yubikeyotp___yubikeyotp_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/yubikeyotp/-/yubikeyotp-0.2.0.tgz";
-        sha1 = "8bdc51122cd00ed8c919b9c9caeba851b272aa7d";
+        sha1 = "i9xREizQDtjJGbnJyuuoUbJyqn0=";
       };
     }
     {
@@ -8438,7 +8422,7 @@
       path = fetchurl {
         name = "zip_stream___zip_stream_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz";
-        sha1 = "cb8db9d324a76c09f9b76b31a12a48638b0b9708";
+        sha512 = "r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==";
       };
     }
     {
@@ -8446,7 +8430,7 @@
       path = fetchurl {
         name = "zip_stream___zip_stream_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz";
-        sha1 = "51dd326571544e36aa3f756430b313576dc8fc79";
+        sha512 = "zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==";
       };
     }
   ];
diff --git a/nixpkgs/pkgs/tools/admin/mycli/default.nix b/nixpkgs/pkgs/tools/admin/mycli/default.nix
index e128b9803c20..355bdf8ef2c6 100644
--- a/nixpkgs/pkgs/tools/admin/mycli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/mycli/default.nix
@@ -7,11 +7,11 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "mycli";
-  version = "1.24.1";
+  version = "1.24.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-dI2Yvj2llI9TlMFbs35ijYeFuGqoTovZyRh+ILhNMmY=";
+    sha256 = "sha256-Qk2qOXfAM7xJv1fDt/mnb2NZFf5S/ExonQtLE4m22a4=";
   };
 
   propagatedBuildInputs = [
@@ -29,7 +29,7 @@ buildPythonApplication rec {
     sqlparse
   ];
 
-  checkInputs = [ pytest mock glibcLocales ];
+  checkInputs = [ pytest glibcLocales ];
 
   checkPhase = ''
     export HOME=.
diff --git a/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix b/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
index be4bef1e1609..6ff6c8387081 100644
--- a/nixpkgs/pkgs/tools/admin/nomachine-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/oci-cli/default.nix b/nixpkgs/pkgs/tools/admin/oci-cli/default.nix
index 729f0aa8fd91..d94abe504d24 100644
--- a/nixpkgs/pkgs/tools/admin/oci-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/oci-cli/default.nix
@@ -1,59 +1,74 @@
-{ lib, fetchFromGitHub, python3Packages, locale }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
 let
-  # https://github.com/oracle/oci-cli/issues/189
-  pinned_click = python3Packages.click.overridePythonAttrs (old: rec {
-    pname = "click";
-    version = "6.7";
-    src = python3Packages.fetchPypi {
-      inherit pname version;
-      hash = "sha256-8VUW30eNWlYYD7+A5o8gYBDm0WD8OfpQi2XgNf11Ews=";
-    };
+  py = python3.override {
+    packageOverrides = self: super: {
+
+      click = super.click.overridePythonAttrs (oldAttrs: rec {
+        version = "7.1.2";
 
-    postPatch = ''
-      substituteInPlace click/_unicodefun.py \
-      --replace "'locale'" "'${locale}/bin/locale'"
-    '';
+        src = oldAttrs.src.override {
+          inherit version;
+          hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo=";
+        };
+      });
 
-    # Issue that wasn't resolved when this version was released:
-    # https://github.com/pallets/click/issues/823
-    doCheck = false;
-  });
+    };
+  };
 in
+with py.pkgs;
 
-python3Packages.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "oci-cli";
-  version = "2.23.0";
+  version = "3.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "oracle";
     repo = "oci-cli";
     rev = "v${version}";
-    hash = "sha256-XRkycJrUSOZQAGiSyQZGA/SnlxnFumYL82kOkYd7s2o=";
+    hash = "sha256-udvYfYFUulGfnc1gzjG3UxOc68JuecpPJ1/s57qvX0k=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
-    oci arrow certifi pinned_click configparser cryptography jmespath python-dateutil
-    pytz retrying six terminaltables pyopenssl pyyaml
+  propagatedBuildInputs = [
+    arrow
+    certifi
+    click
+    configparser
+    cryptography
+    jmespath
+    oci
+    pyopenssl
+    python-dateutil
+    pytz
+    pyyaml
+    retrying
+    six
+    terminaltables
   ];
 
-  # https://github.com/oracle/oci-cli/issues/187
-  doCheck = false;
-
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "configparser==4.0.2" "configparser" \
-      --replace "cryptography==3.2.1" "cryptography" \
+      --replace "cryptography>=3.2.1,<=3.4.7" "cryptography" \
       --replace "pyOpenSSL==19.1.0" "pyOpenSSL" \
-      --replace "PyYAML==5.3.1" "PyYAML" \
-      --replace "six==1.14.0" "six" \
-      --replace "arrow==0.17.0" "arrow"
+      --replace "PyYAML>=5.4,<6" "PyYAML" \
+      --replace "terminaltables==3.1.0" "terminaltables"
   '';
 
+  # https://github.com/oracle/oci-cli/issues/187
+  doCheck = false;
+
+  pythonImportsCheck = [
+    " oci_cli "
+  ];
+
   meta = with lib; {
     description = "Command Line Interface for Oracle Cloud Infrastructure";
     homepage = "https://docs.cloud.oracle.com/iaas/Content/API/Concepts/cliconcepts.htm";
+    license = with licenses; [ asl20 /* or */ upl ];
     maintainers = with maintainers; [ ilian ];
-    license = with licenses; [ asl20 upl ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/procs/default.nix b/nixpkgs/pkgs/tools/admin/procs/default.nix
index 7f4068afca19..382ce503622a 100644
--- a/nixpkgs/pkgs/tools/admin/procs/default.nix
+++ b/nixpkgs/pkgs/tools/admin/procs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "procs";
-  version = "0.11.13";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OgV4iqtGpia8l+GCySDD+aRIk1mNnJCB0OqZzITTj2I=";
+    sha256 = "sha256-hJe9JAUZZY2fx4I6+pVg1BYwzZrUWCkqPvQUT2OQXDo=";
   };
 
-  cargoSha256 = "sha256-d5GsCzigR5A1pJnvs6rjqMJqUB+H52Gaa1SzkHK5X+Y=";
+  cargoSha256 = "sha256-BChYzSnM9jnLioRhRDez6XOjJwGrU+giV4Ld3rp/57M=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/data.nix b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
index 0786f5b017a5..9bb3ef46d928 100644
--- a/nixpkgs/pkgs/tools/admin/pulumi/data.nix
+++ b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
@@ -1,100 +1,100 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.19.0";
+  version = "3.22.1";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.19.0-linux-x64.tar.gz";
-        sha256 = "12q3zhwpy8hrg8ivihzqac82xpgj216nscfz66rwhys1aajdvlih";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-linux-x64.tar.gz";
+        sha256 = "0yxjlkvyxap4c7ny5x0ch0j4d5360qapb670f6im7vnaqhc00by0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.10.1-linux-amd64.tar.gz";
-        sha256 = "0hl67xg538arbn7p7qqlx6my9c1ql1q62azwiivrjpj81pfkvx76";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.4.0-linux-amd64.tar.gz";
+        sha256 = "02k3ars9i8pfby3070rnnldfcb5hbh32kd5xnbmgd0202yg5y3pd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.7.0-linux-amd64.tar.gz";
-        sha256 = "1xw8yq4q7d727zqyvc6lfrlf1pl4j0wzmcx5r3gqgv5p44w858vm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.34.0-linux-amd64.tar.gz";
+        sha256 = "0c61m2q7944a29dkcqcv5fv9jn2bz8mdfhnd33z8qaybhw2804rd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-linux-amd64.tar.gz";
-        sha256 = "05nfdwgfzi5f3hgj2g6dccaidqf9a9xzlv5vp3cd1rsxd159yk9j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.33.0-linux-amd64.tar.gz";
+        sha256 = "0k5bpg6lmhj3cxsg43dkyw9jlwyllwwdhml3brkyfgb307cypl9b";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.29.0-linux-amd64.tar.gz";
-        sha256 = "1y5qspns2zab5k1ajkqkh48li0mvyz1wxjx5svdrzca89bnz63rq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.2.0-linux-amd64.tar.gz";
+        sha256 = "161g5gsr64idz17ffixbjrm0gnbpvpsf440yr26ci4bzdk0s81gh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.0-linux-amd64.tar.gz";
-        sha256 = "1f21pz6v6bkx5vb02g113l97q5gw9aj459klq4dc9j75mgfdzvfz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.5.0-linux-amd64.tar.gz";
+        sha256 = "0yfbiv6q2rfm27gwc4vsg2112m1vll5rkk1zwpg510dzvrnjqqn6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-amd64.tar.gz";
-        sha256 = "1p21963qr8rdl5jp7f05j02yq0ab3flybvzjn7xadcl7m85mkyxh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.5.0-linux-amd64.tar.gz";
+        sha256 = "1pi98naks37cc0nsrjfrnsknskwzsfj5ia01nhaj44caxzvnd8mh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-linux-amd64.tar.gz";
-        sha256 = "14kz4ywhwb0lcsf3nbr9c884x83jdlbxmcg3g9jaq7r739fawpi9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-linux-amd64.tar.gz";
+        sha256 = "19y5gm5s7ps0cwdv8j7lnlx1r4c94qf6cdc28z725wpyyq1grc38";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.30.0-linux-amd64.tar.gz";
-        sha256 = "1brn2xfvjds5vfpy08r9syss723jw2whn82c8jsfggzfr978i2xh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "0ffqah4anhdacmfb8n3hdq17jhqq0qclc0l0cq77hvhvgn39yy4r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-amd64.tar.gz";
-        sha256 = "1ixmsxawp0qbyjs37c74gcvj2icpbda6znl17yp9bhiyvnrdvxn7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
+        sha256 = "0hnardid0kbzy65dmn7vz8ddy5hq78nf2871zz6srf2hfyiv7qa4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-linux-amd64.tar.gz";
-        sha256 = "0wzbwpnnjm8lnph6kh2nrb0ns2v4y70sp10pp9qnwhcxggqjpb5r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.7.0-linux-amd64.tar.gz";
+        sha256 = "074ihk1c3g580grbipy0acryjsmaz8n65siyc7yz4gcgcwqwb5mj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-amd64.tar.gz";
-        sha256 = "0nri27c71kf3pjivd0w9ymkl4rn39flh5n2rphi4gn6v4kfb1192";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.9.1-linux-amd64.tar.gz";
+        sha256 = "0ffbsnpgr6wz9xj5yq6m55xj4mqji7hir6dylyjcpdkrxnigyiss";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.6.0-linux-amd64.tar.gz";
-        sha256 = "1z43qiwyh9ql1kkmdxxnlbsimfihlr8iby93kzipf62wg9y9ag3b";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-linux-amd64.tar.gz";
+        sha256 = "14kz4ywhwb0lcsf3nbr9c884x83jdlbxmcg3g9jaq7r739fawpi9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.0-linux-amd64.tar.gz";
-        sha256 = "195259nlcpwl84kl7bf8k4das4444kc3pigv9jzz9z4cynpdqqp4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.1-linux-amd64.tar.gz";
+        sha256 = "0qv3a4d6hnpga7lli7xnbwiig56h080hxrxjr8jbqsy9ymsqb39a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.4.0-linux-amd64.tar.gz";
-        sha256 = "0cn25lrd9f8x7ygaq2074dqv59hh71mfprzjpscl8l7zz3ssh8y9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.14.0-linux-amd64.tar.gz";
+        sha256 = "02xgkwfsfkqv38cjyc62rlsldbdd5j801gmlh9pf3qjdjj5d1fl3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0ffqah4anhdacmfb8n3hdq17jhqq0qclc0l0cq77hvhvgn39yy4r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-amd64.tar.gz";
+        sha256 = "0nrpxd2hnpd3r17938vjkx36fs7bgli4gmzbz5lz27666zzizhmz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-linux-amd64.tar.gz";
-        sha256 = "19y5gm5s7ps0cwdv8j7lnlx1r4c94qf6cdc28z725wpyyq1grc38";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "0nri27c71kf3pjivd0w9ymkl4rn39flh5n2rphi4gn6v4kfb1192";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
-        sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "0lj01hyjyq3qazkryvvxkx6nwai3bac9shqxb6hcqv4pfdjzzxhr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "0w4604mgkq56ilr1k088piwkk676iwqwy2mync9di5iyig0cnrr1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.7.0-linux-amd64.tar.gz";
+        sha256 = "0xaa2gaqgx5lf1vfg0s8y0nr6ygjcy7dbksf0jszizn08ifgpy8h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.3.0-linux-amd64.tar.gz";
-        sha256 = "1a2529yxrjj0gv89sbk74j1nrphwbbbl6x3hl3pv525xqg6j3r95";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
+        sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0lj01hyjyq3qazkryvvxkx6nwai3bac9shqxb6hcqv4pfdjzzxhr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "05nfdwgfzi5f3hgj2g6dccaidqf9a9xzlv5vp3cd1rsxd159yk9j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.3.1-linux-amd64.tar.gz";
-        sha256 = "0kx0scva1r44ibfqjl7wwcy0fyywrmixdnx0c57fmf5qm2vlfr34";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-amd64.tar.gz";
+        sha256 = "1ixmsxawp0qbyjs37c74gcvj2icpbda6znl17yp9bhiyvnrdvxn7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.0.0-linux-amd64.tar.gz";
-        sha256 = "16y17hkzp6i3dqv3b41xkl05awkmhpki1bqnnwgl5318hbkvnwab";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.1.0-linux-amd64.tar.gz";
+        sha256 = "0b44kfvl01b5cmf9ii6zzcj28i1dd4dx4angdah3hghbsc5hypby";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-linux-amd64.tar.gz";
@@ -103,96 +103,96 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.19.0-darwin-x64.tar.gz";
-        sha256 = "0sp519ks3glfpmdpmss4pnfnd41ab28k7lm74yl9g96980pcrypd";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-darwin-x64.tar.gz";
+        sha256 = "0b68pfrd83x02rs2saybxycpkirjciilp4a94ps3788y1plinyih";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.10.1-darwin-amd64.tar.gz";
-        sha256 = "0pqcra8fi3kfg1d6ndpbgmzd3przsxrnypa84vsr933x9cp1748l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.4.0-darwin-amd64.tar.gz";
+        sha256 = "02s2lyd8rlz86rjraxk5g3g55qhih38kmvq0k2gwkdb2d11npf6r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.7.0-darwin-amd64.tar.gz";
-        sha256 = "0pk15lbjnrq5ria8c6j8ygbq5gngmmb9g9c1sigfxp9iwlfbpa6k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.34.0-darwin-amd64.tar.gz";
+        sha256 = "1a26schi28ci0zbm85yx4hlhwlwx0j0kk6d6nk9x1zldc3qzhw4y";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-darwin-amd64.tar.gz";
-        sha256 = "0q19sh7l1mjl40i5vdsrjfldncxnicalmlgv3yjkw5xpxkgr98z0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.33.0-darwin-amd64.tar.gz";
+        sha256 = "04sblbjnxvxhxvzvsgjm83p6qahswwb2mvlylfpgq74ay86l6hki";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.29.0-darwin-amd64.tar.gz";
-        sha256 = "1c47ihgvz95r2dzd1s856l0bxh3myvqxmm2izjkpx9il7cqrf1rf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.2.0-darwin-amd64.tar.gz";
+        sha256 = "0cri2vqvqh4aghs4j66ykw8f4vm2fg1106xkq4q269ilxdd5ia8l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.0-darwin-amd64.tar.gz";
-        sha256 = "09hb618pjfz930i9f9vb5qw9im7c8fwrrz5gbpm37zaskamvx7cw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.5.0-darwin-amd64.tar.gz";
+        sha256 = "1kgk48k4898zxsnhfg6z949m3mgicdm2zfg8ba7z1lbidzc6g3sq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-amd64.tar.gz";
-        sha256 = "1idvdcmbbia0cwkw5v7zp7695p1a6sfmrgsfmzn0r9p8lyg66k8w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.5.0-darwin-amd64.tar.gz";
+        sha256 = "16dllbbmih9dm728wq86cpq2gkbyhlmpiwyh3r20jzhclrx4mgcw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-darwin-amd64.tar.gz";
-        sha256 = "15aj3vpafrb6hfrmi46pf6z3wj4y84dljsfzrvd6b5v0svmlr90d";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-darwin-amd64.tar.gz";
+        sha256 = "115lcaqkliaxqg27hb1j773299kgs44d3l7p2da9kzla3sk7dps0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.30.0-darwin-amd64.tar.gz";
-        sha256 = "050iqf2fls9r81kq5rimnh41gs8pp29scx31l8i2ff0bq5gvbg3h";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "0j8ysk4wh78xhk3nv6c1dvvyw5ihs7amwlyqicch52yc6jq3v5a6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-amd64.tar.gz";
-        sha256 = "1dy4n03xvirg6fihiid786d88qlkyqkvk4fq6ggnxc92620x7342";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
+        sha256 = "1m5lh59h7nck1flzxs9m4n0ag0klk3jmnpf7hc509vffxs89xnjq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-darwin-amd64.tar.gz";
-        sha256 = "0p3zkgr557ngl6pjdidrp76b741nkdsw4s7wf1aj4mpw74fshm3g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.7.0-darwin-amd64.tar.gz";
+        sha256 = "046j20xl3ibfyqkcra242a5rpix14n4w3h9w9x618fbznk24bcxb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-amd64.tar.gz";
-        sha256 = "06s58xlwm3wf7895bzsqx4jsfb0kbxanzlaf21jff45y62nk1f1p";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.9.1-darwin-amd64.tar.gz";
+        sha256 = "100rqkz0g1w0fhvgvgys9r6a7bqphzizn28lg7pbbkrwjh7s0bxq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.6.0-darwin-amd64.tar.gz";
-        sha256 = "0x74zlpzy1ajc9y0jkj32vhn4yn2rhldapdn0zlky7ss844a2gfk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-darwin-amd64.tar.gz";
+        sha256 = "15aj3vpafrb6hfrmi46pf6z3wj4y84dljsfzrvd6b5v0svmlr90d";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.0-darwin-amd64.tar.gz";
-        sha256 = "0rggsafqsby8jy905xj0f6m75f2n0mf2z2wcjrsns3fcgcw322q1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.1-darwin-amd64.tar.gz";
+        sha256 = "1xminhpv7b4nnvfdy5ahlcfrkan1fsmn0sp6gzkp5y4kkjd4a6vy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.4.0-darwin-amd64.tar.gz";
-        sha256 = "1pmkwii8bsrr5k3lm0j2hr2fpzrcrwbbfisygr49w5cngx44k5sa";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.14.0-darwin-amd64.tar.gz";
+        sha256 = "1dpr4h35zby8say0kcvin5y5k4yryx06p3qcx16zrlsjaz6lj84k";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "0j8ysk4wh78xhk3nv6c1dvvyw5ihs7amwlyqicch52yc6jq3v5a6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-amd64.tar.gz";
+        sha256 = "15zf53m0mgrk11qp3dvkrrh86j48hqs1p7x552gkqfqkn291d5z8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-darwin-amd64.tar.gz";
-        sha256 = "115lcaqkliaxqg27hb1j773299kgs44d3l7p2da9kzla3sk7dps0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "06s58xlwm3wf7895bzsqx4jsfb0kbxanzlaf21jff45y62nk1f1p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
-        sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "0fhhc2k0g8mpxzcgci4jl3m59q3n8w3nka94l0n7r9cvs81099n6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "03f0k13qyi40hvhkfnwrdadxv5r1r2jphrf49nq81l35knqvs7fs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.7.0-darwin-amd64.tar.gz";
+        sha256 = "0fbc60l3v7mar0g16mbwgqckp9i4kckwlacv165kkwrkvj8nrbym";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.3.0-darwin-amd64.tar.gz";
-        sha256 = "1vdfvybqnvd0s8ln6340608vg00l2zhsndg8r03js57a5asmakyf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
+        sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "0fhhc2k0g8mpxzcgci4jl3m59q3n8w3nka94l0n7r9cvs81099n6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "0q19sh7l1mjl40i5vdsrjfldncxnicalmlgv3yjkw5xpxkgr98z0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.3.1-darwin-amd64.tar.gz";
-        sha256 = "0bdhzbhzjdypf5xr756wx061myml9w765zmff7k7pw438hpzln2p";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-amd64.tar.gz";
+        sha256 = "1dy4n03xvirg6fihiid786d88qlkyqkvk4fq6ggnxc92620x7342";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.0.0-darwin-amd64.tar.gz";
-        sha256 = "0wry626g455r4lp8cfhjlg2zqwbgvbm2pk1qf9kwsisg1fszpq7a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.1.0-darwin-amd64.tar.gz";
+        sha256 = "1f2m3zdxbdn7gb0xb3f0rgj7h54nay1wyrn3bk2nzvrdv5c3bhcm";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-darwin-amd64.tar.gz";
@@ -201,93 +201,93 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.19.0-linux-arm64.tar.gz";
-        sha256 = "1s0k743s7b6d2dccbia8909h7a7xjr8526h3ywkncqxam1gfjjlv";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-linux-arm64.tar.gz";
+        sha256 = "0551zp5n77jzh8k3jbqq75zj734faryxxdd2fvw881cxf95v39aj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.10.1-linux-arm64.tar.gz";
-        sha256 = "1zcpqjlgpkjzk2bdy8gcnhpfgzadc7r8z2vb5xc4vvf5q3q25sxy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.4.0-linux-arm64.tar.gz";
+        sha256 = "0rlbcxympplq1gwikxalz3c686kpy2vrsc2phfnm45vvrkl22k8j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.7.0-linux-arm64.tar.gz";
-        sha256 = "07j1gbmmciw9nyy4khhcfj8ayb91pwgrvghwr2i67f9prs570a79";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.34.0-linux-arm64.tar.gz";
+        sha256 = "0639dl0hj2l33mc4vqbcyywpkfn30fikmiw10zjikcdg1jxzj4nd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-linux-arm64.tar.gz";
-        sha256 = "0j2c23ii4dn9yhpw6nymij65gv82y1xp4gi8lgxxf41b1i9bpb2i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.33.0-linux-arm64.tar.gz";
+        sha256 = "15lxfilkgh9ansy9n2yv693fms3x718lrxz0g2nxi32hz9hq0ysl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.29.0-linux-arm64.tar.gz";
-        sha256 = "1fr593m1g2y3k8qw1j20ssv2jd3c5m3cr6h4p5v6fng2ph3m3v7i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.2.0-linux-arm64.tar.gz";
+        sha256 = "08wasnpm5j1rrpsgdlw2h2rx5m7fl4vrm2js5a1vsaxx35374a6h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.0-linux-arm64.tar.gz";
-        sha256 = "1m5gnc0a6svhzd27z0m151pzws6n3vsgj8bha7jl77znzxqrlxz1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.5.0-linux-arm64.tar.gz";
+        sha256 = "1wwv6v9srzsdlcxv92kwv4drkx8w1h5xcvcwqqn6gi2mvsf3kj9n";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-arm64.tar.gz";
-        sha256 = "0k4yi9xqrmd5m99lr27h672ycwyh138d9jhh3wvgpmnjpdxy28jm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.5.0-linux-arm64.tar.gz";
+        sha256 = "1s77az1b965lca69gqmmx8zfh63rf8vm2bkbzgfkj320zwbfbgj2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-linux-arm64.tar.gz";
-        sha256 = "06ii12cl7wsfs9pwjkwz01szacg686vfzc6i253l6xvmmiqp6q0j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-linux-arm64.tar.gz";
+        sha256 = "1hik4456fdln7hxiw02856v02v0m33zsyiad40c9wg4n772ybchy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.30.0-linux-arm64.tar.gz";
-        sha256 = "02whsgdx0cd8nblfjgymsay9vyfmv8aah2y5nqkl7c6dzrlqllav";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "1lh1g90ab4blqmvx0yfp516hfsd6n1y751ab7fzhv7hcajf3klvi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-arm64.tar.gz";
-        sha256 = "12iv8vjnal2ym70rxmdnvi02x6md7fxi8jbzhzfw526pzqs1dc47";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
+        sha256 = "111pia2f5xwkwaqs6p90ri29l5b3ivmahsa1bji4fwyyjyp22h4r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-linux-arm64.tar.gz";
-        sha256 = "1hiqcy51ag4y8j47di5h07mnplrhpc5f406ab6car2c06fwr2wdn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.7.0-linux-arm64.tar.gz";
+        sha256 = "0r53qwf1w68bnqii20b44q1xlgxggsisnlr46463nxm0jb0wwyn9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-arm64.tar.gz";
-        sha256 = "14v7wm2gkhd064drw2l894dacdsm5lnndii5qzl5hsl6p9a5m970";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.9.1-linux-arm64.tar.gz";
+        sha256 = "1zr9vcr6qiql90bysapmrlafl7xmlv49bgp197w4w2290i5q7f6n";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.6.0-linux-arm64.tar.gz";
-        sha256 = "0rp8qfrm3kgmr19ryg259m3n48wf5fyyff1bvnjinivq5irvl4j9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-linux-arm64.tar.gz";
+        sha256 = "06ii12cl7wsfs9pwjkwz01szacg686vfzc6i253l6xvmmiqp6q0j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.0-linux-arm64.tar.gz";
-        sha256 = "0al7hrf3ymsq0h611j4f5i8k94rr19i44ym1gschmn7byn0v3ksa";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.1-linux-arm64.tar.gz";
+        sha256 = "14xqlgy0wy223hg9wp1rc4hbj1pvxrqnzxzv901dqjf5434n6aa0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.4.0-linux-arm64.tar.gz";
-        sha256 = "0sfnic280p76d2aa635h1jgjx5lbf1fgm6bkrvq5nx6i5x9vy05x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.14.0-linux-arm64.tar.gz";
+        sha256 = "12lnh8hk02w1n28v6i46kxxpkzw1j9zp84ha5p6bnarza6g4wxnk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "1lh1g90ab4blqmvx0yfp516hfsd6n1y751ab7fzhv7hcajf3klvi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-arm64.tar.gz";
+        sha256 = "1glpxiq8v1fgjnh0r9hkl89s81iv44r24pha2jfvk1ww2jf54gwq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-linux-arm64.tar.gz";
-        sha256 = "1hik4456fdln7hxiw02856v02v0m33zsyiad40c9wg4n772ybchy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-arm64.tar.gz";
+        sha256 = "14v7wm2gkhd064drw2l894dacdsm5lnndii5qzl5hsl6p9a5m970";
       }
-      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.0-linux-arm64.tar.gz";
-        sha256 = "1cz42cbvx4nah5jj712rf1r8r6p35ip6xl1kjgvxlrr23kq5vdjk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "17iaf72dzy108v1njan21n72a5gzxbycq396hjh293a141kppn1m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.3.0-linux-arm64.tar.gz";
-        sha256 = "06pag44k2rg5dhq2x0xrcqs365p49f9fkbp78rb8k31skvlc27jh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.7.0-linux-arm64.tar.gz";
+        sha256 = "1xh93187s86x4pjm4j9djh2mfqqxrmkal761fhj2bldkgki2rkq8";
       }
+      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "17iaf72dzy108v1njan21n72a5gzxbycq396hjh293a141kppn1m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-linux-arm64.tar.gz";
+        sha256 = "0j2c23ii4dn9yhpw6nymij65gv82y1xp4gi8lgxxf41b1i9bpb2i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.3.1-linux-arm64.tar.gz";
-        sha256 = "13p2gg9ihwkyx35r7ilkp56qrrj4kcg4x1v8gspsbbahb9cbagvk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-arm64.tar.gz";
+        sha256 = "12iv8vjnal2ym70rxmdnvi02x6md7fxi8jbzhzfw526pzqs1dc47";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.0.0-linux-arm64.tar.gz";
-        sha256 = "01rxaqzb72y56cwah90ypgrlg8jlajvyb7n6cakhvnn98nb281fi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.1.0-linux-arm64.tar.gz";
+        sha256 = "15ambcwhrvv30ykkz9pizfrl4pri7iwvgs6s8f5416vgdj0k26fc";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-linux-arm64.tar.gz";
@@ -296,93 +296,93 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.19.0-darwin-arm64.tar.gz";
-        sha256 = "097sqsm53wdal1vnklqcxz8ys95w5ffw0n2gcx5rrgcld3fnrrc6";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-darwin-arm64.tar.gz";
+        sha256 = "00jzqrnw6khbw5hsaqwi73hx9h3yxdhy2n3jn3h76az27wfjkhkz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.10.1-darwin-arm64.tar.gz";
-        sha256 = "1laqs75i8fnzg7zzf3v73xxvg1k4n5qazays1wh6id3wamx5mgk4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.4.0-darwin-arm64.tar.gz";
+        sha256 = "116f1psg3wdl81apxlhgz6w1ykhlqxwqk6ahp82mca1h2qc7bg0h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.7.0-darwin-arm64.tar.gz";
-        sha256 = "12xnw6gp38dfgc6qvxbipbsv7yqidjazrzjj40aaknk5cqgr0b0f";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.34.0-darwin-arm64.tar.gz";
+        sha256 = "1rzds5wrq51mzs7sgzwna016qcay3dzp5ys25cxmr47025kyv84p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-darwin-arm64.tar.gz";
-        sha256 = "1i5ipmidg0yspayxyglbjaihajhj1bsk46saxkncfrkvqnh4iq50";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.33.0-darwin-arm64.tar.gz";
+        sha256 = "1lqmjkqqq3rlsixv2kam50d5m95c81mn23y3dblbkh8d6qpwkfdp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.29.0-darwin-arm64.tar.gz";
-        sha256 = "0dz698vijizcrfrv4ss4qadxnmklxpz78bwgv4x4crvwr3hjlamr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.2.0-darwin-arm64.tar.gz";
+        sha256 = "18h8k6wz1givlkrd2fh6mpyc6syzsqr3a29c36cbly103nvr43jy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.0-darwin-arm64.tar.gz";
-        sha256 = "1ziyhvjwkzq0wvxfxbprpprm8hcch75ifrij6fzlw3z0hxdd1bjf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.5.0-darwin-arm64.tar.gz";
+        sha256 = "16nnb6ql4j2207dgwmrhgx8mg19asf2n450lrmwvdzyvcy5zjm7p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-arm64.tar.gz";
-        sha256 = "0fsmmgq0hvzyrw6vrdf3pppxjcj94fxxp52dl73r4f5wjkays33c";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.5.0-darwin-arm64.tar.gz";
+        sha256 = "1z74a9j7ih444lsg4zy3wf8vqqk67jf4cis14x6vpzbpyqpdsyvz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-darwin-arm64.tar.gz";
-        sha256 = "0sgg8bnsi5yyfv8gwzy8jw3f0fmkvizrgzh4jyc802qqc449p1ix";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-darwin-arm64.tar.gz";
+        sha256 = "1agi0dpck35rqsvxikdcl6xl2fpha2l4144mzgyslki4q86rqmhs";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.30.0-darwin-arm64.tar.gz";
-        sha256 = "11bhs20hpmgcyvpha8pbg8gd9v2r1fahjsaiif5fdx9dvpqmnsmi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "1z0gd0fagv55dl3ki340h0ljw7dqj8818w4072pc5xxy5id90gb0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-arm64.tar.gz";
-        sha256 = "0jrihnwfh5wvc95nipqv7ak77kq9xj0pk5hlapv9w2ls5pwykv0r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
+        sha256 = "12bzicm43l7yvh02v5fx3z8v46l9i7a9f677735xi5rjbmd2an4c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-darwin-arm64.tar.gz";
-        sha256 = "18ggnqx9zh8kl5h6nn2sa4zxvyby9pvscrvqnsam2l9yjv86r7i0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.7.0-darwin-arm64.tar.gz";
+        sha256 = "1w5nhmc6bzfw0ihv5mwn316sj7w27psknnyffqm1pyw6drp0z58v";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-arm64.tar.gz";
-        sha256 = "0n60fk2nyb1idf4rdc61jxjpzpw4v9106gwn6r1by10g8f1712yr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.9.1-darwin-arm64.tar.gz";
+        sha256 = "13w91xxma00zi7llk0hnqi10m90a5b2zhb08j6l0dn7x5a33dqay";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.6.0-darwin-arm64.tar.gz";
-        sha256 = "1kg60sfa570k55p3fvqa952k1m17z9amr168m4lzqcdp63bfrzay";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.4.0-darwin-arm64.tar.gz";
+        sha256 = "0sgg8bnsi5yyfv8gwzy8jw3f0fmkvizrgzh4jyc802qqc449p1ix";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.0-darwin-arm64.tar.gz";
-        sha256 = "13wxbpsqsh3prq6j12ih6cx6pcrfp97d0i5b7mk3d9imj3qdyf8x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.7.1-darwin-arm64.tar.gz";
+        sha256 = "0n0303423gkwi3b6dwzaqmzsbn2rh4vki6n54mmgd44a3cxbhkak";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.4.0-darwin-arm64.tar.gz";
-        sha256 = "0830la5hb84nv077mlsymrhl4ny4j1xvmqlpvy4r5kldrx0h9pa8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.14.0-darwin-arm64.tar.gz";
+        sha256 = "1rq2wxw0kch7xrk0sr1l6fyz1sslyvk44l3jilzbm7mgi0d77w23";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "1z0gd0fagv55dl3ki340h0ljw7dqj8818w4072pc5xxy5id90gb0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-arm64.tar.gz";
+        sha256 = "0287l9snqwq801h44vxqawk0bpniszd41rw600jb1vp5h7qpksgf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.10.0-darwin-arm64.tar.gz";
-        sha256 = "1agi0dpck35rqsvxikdcl6xl2fpha2l4144mzgyslki4q86rqmhs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-arm64.tar.gz";
+        sha256 = "0n60fk2nyb1idf4rdc61jxjpzpw4v9106gwn6r1by10g8f1712yr";
       }
-      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.0-darwin-arm64.tar.gz";
-        sha256 = "1hinrhq950ah3ngszm2d9hn6i327lxfl0f9d83nxiknzpw395glw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "0kym9f36h8b7s1smlmgazbzv8jjfpwxk6wv036bhx2xm3ysc7rgp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.3.0-darwin-arm64.tar.gz";
-        sha256 = "094zffj64rymjcgncbxwkdh6vp7g8s6f1nync9066jh29qzll6mf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.7.0-darwin-arm64.tar.gz";
+        sha256 = "0w7gbdzs47ndvfig8qcnn5mar22plxjjsx0d4dgyhf1k391fz1jh";
       }
+      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "0kym9f36h8b7s1smlmgazbzv8jjfpwxk6wv036bhx2xm3ysc7rgp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-darwin-arm64.tar.gz";
+        sha256 = "1i5ipmidg0yspayxyglbjaihajhj1bsk46saxkncfrkvqnh4iq50";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.3.1-darwin-arm64.tar.gz";
-        sha256 = "1qixa4vsak042vxqv7xsggvdcqyfs8sl10hnf3chdx2xwspm8hjy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-arm64.tar.gz";
+        sha256 = "0jrihnwfh5wvc95nipqv7ak77kq9xj0pk5hlapv9w2ls5pwykv0r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.0.0-darwin-arm64.tar.gz";
-        sha256 = "0lh4b6z75yg7zss59bfwmsp2dfryk867845jw5655g7ya15n99da";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.1.0-darwin-arm64.tar.gz";
+        sha256 = "1zc8jhrf7vm2p9mjldvgcnfrzh53zvinpikhsc8b206j3pm6gmbl";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-darwin-arm64.tar.gz";
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/update.sh b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
index 051cf4c90b00..c2b0818e5b9f 100755
--- a/nixpkgs/pkgs/tools/admin/pulumi/update.sh
+++ b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
@@ -1,86 +1,117 @@
-#!/usr/bin/env bash
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p gh
+# shellcheck shell=bash
 # Bash 3 compatible for Darwin
 
-# For getting the latest version of plugins automatically
-API_URL="https://api.github.com/repos/pulumi"
+if [ -z "${GITHUB_TOKEN}" ]; then
+  echo >&2 "usage: GITHUB_TOKEN=… ./update.sh"
+  exit 1
+fi
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="3.19.0"
+VERSION="3.22.1"
 
-# A hashmap containing a plugin's name and it's respective repository inside
-# Pulumi's Github organization
+# An array of plugin names. The respective repository inside Pulumi's
+# Github organization is called pulumi-$name by convention.
 
-declare -A pulumi_repos
+declare -a pulumi_repos
 pulumi_repos=(
-    ["auth0"]="pulumi-auth0"
-    ["aws"]="pulumi-aws"
-    ["azure"]="pulumi-azure"
-    ["cloudflare"]="pulumi-cloudflare"
-    ["consul"]="pulumi-consul"
-    ["datadog"]="pulumi-datadog"
-    ["digitalocean"]="pulumi-digitalocean"
-    ["docker"]="pulumi-docker"
-    ["equinix-metal"]="pulumi-equinix-metal"
-    ["gcp"]="pulumi-gcp"
-    ["github"]="pulumi-github"
-    ["gitlab"]="pulumi-gitlab"
-    ["hcloud"]="pulumi-hcloud"
-    ["kubernetes"]="pulumi-kubernetes"
-    ["linode"]="pulumi-linode"
-    ["mailgun"]="pulumi-mailgun"
-    ["mysql"]="pulumi-mysql"
-    ["openstack"]="pulumi-openstack"
-    ["packet"]="pulumi-packet"
-    ["postgresql"]="pulumi-postgresql"
-    ["random"]="pulumi-random"
-    ["vault"]="pulumi-vault"
-    ["vsphere"]="pulumi-vsphere"
+  "auth0"
+  "aws"
+  "azure"
+  "cloudflare"
+  "consul"
+  "datadog"
+  "digitalocean"
+  "docker"
+  "equinix-metal"
+  "gcp"
+  "github"
+  "gitlab"
+  "hcloud"
+  "kubernetes"
+  "linode"
+  "mailgun"
+  "mysql"
+  "openstack"
+  "packet"
+  "postgresql"
+  "random"
+  "vault"
+  "vsphere"
 )
 
 # Contains latest release ${VERSION} from
 # https://github.com/pulumi/pulumi-${NAME}/releases
 
-# Dynamically builds the plugin array, using the hashmap's key/values and the
-# API for getting the latest version.
+# Dynamically builds the plugin array, using the GitHub API for getting the
+# latest version.
+plugin_num=1
 plugins=()
-for key in "${!pulumi_repos[@]}"; do
-    plugins+=("${key}=$(curl -s ${API_URL}/${pulumi_repos[${key}]}/releases/latest | jq -M -r .tag_name | sed 's/v//g')")
-    sleep 1
+for key in "${pulumi_repos[@]}"; do
+  plugin="${key}=$(gh api "repos/pulumi/pulumi-${key}/releases/latest" --jq '.tag_name | sub("^v"; "")')"
+  printf "%20s: %s of %s\r" "${plugin}" "${plugin_num}" "${#pulumi_repos[@]}"
+  plugins+=("${plugin}")
+  sleep 1
+  ((++plugin_num))
 done
+printf "\n"
 
 function genMainSrc() {
-    local url="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-${1}-${2}.tar.gz"
-    local sha256
-    sha256=$(nix-prefetch-url "$url")
-    echo "      {"
-    echo "        url = \"${url}\";"
-    echo "        sha256 = \"$sha256\";"
-    echo "      }"
+  local url="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-${1}-${2}.tar.gz"
+  local sha256
+  sha256=$(nix-prefetch-url "$url")
+  echo "      {"
+  echo "        url = \"${url}\";"
+  echo "        sha256 = \"$sha256\";"
+  echo "      }"
+}
+
+function genSrc() {
+  local url="${1}"
+  local plug="${2}"
+  local tmpdir="${3}"
+
+  local sha256
+  sha256=$(nix-prefetch-url "$url")
+
+  {
+    if [ -n "$sha256" ]; then # file exists
+      echo "      {"
+      echo "        url = \"${url}\";"
+      echo "        sha256 = \"$sha256\";"
+      echo "      }"
+    else
+      echo "      # pulumi-resource-${plug} skipped (does not exist on remote)"
+    fi
+  } > "${tmpdir}/${plug}.nix"
 }
 
 function genSrcs() {
-    for plugVers in "${plugins[@]}"; do
-        local plug=${plugVers%=*}
-        local version=${plugVers#*=}
-        # url as defined here
-        # https://github.com/pulumi/pulumi/blob/06d4dde8898b2a0de2c3c7ff8e45f97495b89d82/pkg/workspace/plugins.go#L197
-        local url="https://api.pulumi.com/releases/plugins/pulumi-resource-${plug}-v${version}-${1}-${2}.tar.gz"
-        local sha256
-        sha256=$(nix-prefetch-url "$url")
-        if [ "$sha256" ]; then  # file exists
-            echo "      {"
-            echo "        url = \"${url}\";"
-            echo "        sha256 = \"$sha256\";"
-            echo "      }"
-        else
-            echo "      # pulumi-resource-${plug} skipped (does not exist on remote)"
-        fi
-    done
+  local tmpdir
+  tmpdir="$(mktemp -d)"
+
+  local i=0
+
+  for plugVers in "${plugins[@]}"; do
+    local plug=${plugVers%=*}
+    local version=${plugVers#*=}
+    # url as defined here
+    # https://github.com/pulumi/pulumi/blob/06d4dde8898b2a0de2c3c7ff8e45f97495b89d82/pkg/workspace/plugins.go#L197
+    local url="https://api.pulumi.com/releases/plugins/pulumi-resource-${plug}-v${version}-${1}-${2}.tar.gz"
+    genSrc "${url}" "${plug}" "${tmpdir}" &
+    ((++i))
+  done
+
+  wait
+
+  find "${tmpdir}" -name '*.nix' -print0 | sort -z | xargs -r0 cat
+  rm -r "${tmpdir}"
 }
 
 {
-  cat <<EOF
+  cat << EOF
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
diff --git a/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
index 2e8eabfc1a36..4a11d1e5440f 100644
--- a/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch b/nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
index e011a15b43f9..e2d22fed7e51 100644
--- a/nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
+++ b/nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
@@ -1,13 +1,13 @@
-diff --git a/salt/utils/rsax931.py b/salt/utils/rsax931.py
-index f827cc6db8..b728595186 100644
---- a/salt/utils/rsax931.py
-+++ b/salt/utils/rsax931.py
-@@ -74,7 +74,7 @@
+--- a/salt/utils/rsax931.py	2021-11-24 00:39:57.940790184 +0100
++++ b/salt/utils/rsax931.py	2021-11-24 00:38:35.436728341 +0100
+@@ -85,6 +85,10 @@
      """
      Attempt to load libcrypto.
      """
--    return cdll.LoadLibrary(_find_libcrypto())
-+    return cdll.LoadLibrary('@libcrypto@')
++    try:
++        return cdll.LoadLibrary('@libcrypto@')
++    except OSError:
++        pass
+     return cdll.LoadLibrary(_find_libcrypto())
  
  
- def _init_libcrypto():
diff --git a/nixpkgs/pkgs/tools/admin/scaleway-cli/default.nix b/nixpkgs/pkgs/tools/admin/scaleway-cli/default.nix
index 2576208e8d22..436c62906261 100644
--- a/nixpkgs/pkgs/tools/admin/scaleway-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/scaleway-cli/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "yYzcziEKPSiMvw9LWd60MkHmYFAvN7Qza6Z117NOOv0=";
   };
 
-  vendorSha256 = "0V9sHi/E095txnfF8YFW5O7o0e1H3sdn3tw5LqB92tI=";
+  vendorSha256 = "7cGVeja1YE96PEV1IRklyh6MeMDFAP+2TpYvvFkBYnQ=";
 
   # some tests require network access to scaleway's API, failing when sandboxed
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/admin/ssmsh/default.nix b/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
index 6c4785c81c59..e42e2e06de66 100644
--- a/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
index e843c0d347a0..ed20f688260a 100644
--- a/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.7.9";
+  version = "1.7.12";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rCo3iHLfiEH/+APNztKKSdoJerz161jF7sNx8qTFw3U=";
+    sha256 = "sha256-xDhLd1tCw+W3xXxBgHDKZtMZszXsNelv2dMygHNVq64=";
   };
 
-  vendorSha256 = "sha256-Duu6lP87KKLC1eGIebycBSIPw7FN6BBxPexize9+jPE=";
+  vendorSha256 = "sha256-AsEem/KuA+jxioG96Ofn0te93fyZ9sebPkLPA+LAUkk=";
 
   subPackages = [
     "cmd/stripe"
diff --git a/nixpkgs/pkgs/tools/admin/syft/default.nix b/nixpkgs/pkgs/tools/admin/syft/default.nix
new file mode 100644
index 000000000000..f3a1c6d10c33
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/syft/default.nix
@@ -0,0 +1,64 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "syft";
+  version = "0.38.0";
+
+  src = fetchFromGitHub {
+    owner = "anchore";
+    repo = pname;
+    rev = "v${version}";
+    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)"
+      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-dT+MPuMQoA8Spx8CkF3OBhWdXXssg62ZHIZBrokUkp4=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  subPackages = [ "." ];
+
+  ldflags = [
+    "-s"
+    "-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
+  doCheck = false;
+
+  postInstall = ''
+    # avoid update checks when generating completions
+    export SYFT_CHECK_FOR_APP_UPDATE=false
+
+    installShellCompletion --cmd syft \
+      --bash <($out/bin/syft completion bash) \
+      --fish <($out/bin/syft completion fish) \
+      --zsh <($out/bin/syft completion zsh)
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/anchore/syft";
+    changelog = "https://github.com/anchore/syft/releases/tag/v${version}";
+    description = "CLI tool and library for generating a Software Bill of Materials from container images and filesystems";
+    longDescription = ''
+      A CLI tool and Go library for generating a Software Bill of Materials
+      (SBOM) from container images and filesystems. Exceptional for
+      vulnerability detection when used with a scanner tool like Grype.
+    '';
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/synapse-admin/default.nix b/nixpkgs/pkgs/tools/admin/synapse-admin/default.nix
index 8ca0816f9e42..52b2183222ed 100644
--- a/nixpkgs/pkgs/tools/admin/synapse-admin/default.nix
+++ b/nixpkgs/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 = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Admin UI for Synapse Homeservers";
     homepage = "https://github.com/Awesome-Technologies/synapse-admin";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ mkg20001 ];
   };
diff --git a/nixpkgs/pkgs/tools/admin/trinsic-cli/default.nix b/nixpkgs/pkgs/tools/admin/trinsic-cli/default.nix
index fb129760dc2f..d8e084218d43 100644
--- a/nixpkgs/pkgs/tools/admin/trinsic-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/trivy/default.nix b/nixpkgs/pkgs/tools/admin/trivy/default.nix
index 957ad7f51efc..47320eff7798 100644
--- a/nixpkgs/pkgs/tools/admin/trivy/default.nix
+++ b/nixpkgs/pkgs/tools/admin/trivy/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DH4vr6WiGwzT9zTMs/UqVoCHhpOSoT5t8P9plTPt8ZQ=";
+    sha256 = "sha256-6eOoFZ2ms1upnbO4brKYKBSPw/9cnQT1Cz/0A4dwoxc=";
   };
 
-  vendorSha256 = "sha256-1m3izHfxMUvUiz21NRjqdNS95sXf8Rwlu5TuQ411190=";
+  vendorSha256 = "sha256-ZHVcLmjz7cfL5CjUwCEoWr5fgWZmNsCzHL83Mr+p7kA=";
 
   excludedPackages = "misc";
 
diff --git a/nixpkgs/pkgs/tools/admin/winbox/default.nix b/nixpkgs/pkgs/tools/admin/winbox/default.nix
index 38b7318746d0..64b58ee9093a 100644
--- a/nixpkgs/pkgs/tools/admin/winbox/default.nix
+++ b/nixpkgs/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
diff --git a/nixpkgs/pkgs/tools/archivers/7zz/default.nix b/nixpkgs/pkgs/tools/archivers/7zz/default.nix
index 8d23b3a5c3c3..c93a750e48f0 100644
--- a/nixpkgs/pkgs/tools/archivers/7zz/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/7zz/default.nix
@@ -1,32 +1,37 @@
-{ stdenv, lib, fetchurl, p7zip }:
-
-# https://sourceforge.net/p/sevenzip/discussion/45797/thread/7fe6c21efa/
+{ stdenv, lib, fetchurl, p7zip, uasm, useUasm ? stdenv.isx86_64 }:
+
+let
+  inherit (stdenv.hostPlatform) system;
+  platformSuffix =
+    if useUasm then
+      {
+        x86_64-linux = "_x64";
+      }.${system} or (throw "`useUasm` is not supported for system ${system}")
+    else "";
+in
 stdenv.mkDerivation rec {
   pname = "7zz";
-  version = "21.04";
+  version = "21.07";
 
   src = fetchurl {
-    url = "https://7-zip.org/a/7z${lib.replaceStrings ["." ] [""] version}-src.7z";
-    sha256 = "sha256-XmuEyIJAJQM0ZbgrW02lQ2rp4KFDBjLXKRaTfY+VCOg=";
+    url = "https://7-zip.org/a/7z${lib.replaceStrings [ "." ] [ "" ] version}-src.7z";
+    sha256 = "sha256-0QdNVvQVqrmdmeWXp7ZtxFXbpjSa6KTInfdkdbahKEw=";
   };
 
   sourceRoot = "CPP/7zip/Bundles/Alone2";
 
-  # we need https://github.com/nidud/asmc/tree/master/source/asmc/linux in order
-  # to build with the optimized assembler but that doesn't support building with
-  # GCC: https://github.com/nidud/asmc/issues/8
-  makefile = "../../cmpl_gcc.mak"; # "../../cmpl_gcc_x64.mak";
+  makeFlags = lib.optionals useUasm [ "MY_ASM=uasm" ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
+  makefile = "../../cmpl_gcc${platformSuffix}.mak";
 
-  nativeBuildInputs = [ p7zip ];
+  nativeBuildInputs = [ p7zip ] ++ lib.optionals useUasm [ uasm ];
 
   enableParallelBuilding = true;
 
   installPhase = ''
     runHook preInstall
 
-    install -Dm555 -t $out/bin b/g/7zz
+    install -Dm555 -t $out/bin b/g${platformSuffix}/7zz
     install -Dm444 -t $out/share/doc/${pname} ../../../../DOC/*.txt
 
     runHook postInstall
@@ -40,7 +45,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Command line archiver utility";
-    homepage = "https://7zip.org";
+    homepage = "https://7-zip.org";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ anna328p peterhoeg ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/tools/archivers/tarlz/default.nix b/nixpkgs/pkgs/tools/archivers/tarlz/default.nix
index 1e1842d2907e..7f41a05a9a88 100644
--- a/nixpkgs/pkgs/tools/archivers/tarlz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/archivers/unrar/default.nix b/nixpkgs/pkgs/tools/archivers/unrar/default.nix
index b0c8a5b9ef6d..8c886b0e2dc7 100644
--- a/nixpkgs/pkgs/tools/archivers/unrar/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/unrar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unrar";
-  version = "6.1.3";
+  version = "6.1.4";
 
   src = fetchurl {
     url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "sha256-0FAiRCAJICp5LliL7FiSHBI/8Eb8dV9/InKHGlvXljY=";
+    sha256 = "sha256-wO1YYpJDlhw/HskMCLEf+TJh5Wjb/c4r87dZ7npKO3w=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/archivers/unzip/default.nix b/nixpkgs/pkgs/tools/archivers/unzip/default.nix
index 584f981aff70..2f2581f04a59 100644
--- a/nixpkgs/pkgs/tools/archivers/unzip/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/unzip/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     })
   ] ++ lib.optional enableNLS
     (fetchurl {
-      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-arch/unzip/files/unzip-6.0-natspec.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d";
       name = "unzip-6.0-natspec.patch";
       sha256 = "67ab260ae6adf8e7c5eda2d1d7846929b43562943ec4aff629bd7018954058b1";
     });
diff --git a/nixpkgs/pkgs/tools/archivers/unzoo/default.nix b/nixpkgs/pkgs/tools/archivers/unzoo/default.nix
index a24b490279b7..c8fd4364ea33 100644
--- a/nixpkgs/pkgs/tools/archivers/unzoo/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/unzoo/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://github.com/museoa/unzoo/";
+    homepage = "https://github.com/museoa/unzoo/";
     description = "Manipulate archives of files in Zoo compressed form";
     license = licenses.publicDomain;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/nixpkgs/pkgs/tools/archivers/wimlib/default.nix b/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
index fa698c1d3e5a..bb8c6b8952fd 100644
--- a/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wimlib.net";
     description = "A library and program to extract, create, and modify WIM files";
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
     license = with licenses; [ gpl3 lgpl3 cc0 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/archivers/zpaq/default.nix b/nixpkgs/pkgs/tools/archivers/zpaq/default.nix
index 150633e620ae..6d0f00f51490 100644
--- a/nixpkgs/pkgs/tools/archivers/zpaq/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/zpaq/default.nix
@@ -13,17 +13,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ perl /* for pod2man */ ];
 
-  preBuild = let
-    CPPFLAGS = with stdenv; ""
-      + (lib.optionalString (!isi686 && !isx86_64) "-DNOJIT ")
-      + "-Dunix";
-    CXXFLAGS = "-O3 -DNDEBUG";
-  in ''
-    buildFlagsArray=( "CPPFLAGS=${CPPFLAGS}" "CXXFLAGS=${CXXFLAGS}" )
-  '';
+  CPPFLAGS = [ "-Dunix" ] ++
+    lib.optional (!stdenv.isi686 && !stdenv.isx86_64) "-DNOJIT";
+  CXXFLAGS = [ "-O3" "-DNDEBUG" ];
 
   enableParallelBuilding = true;
 
+  makeFlags = [ "CXX=${stdenv.cc.targetPrefix}c++" ];
   installFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/archivers/zpaq/zpaqd.nix b/nixpkgs/pkgs/tools/archivers/zpaq/zpaqd.nix
index 1d674911f49e..6896897be3b1 100644
--- a/nixpkgs/pkgs/tools/archivers/zpaq/zpaqd.nix
+++ b/nixpkgs/pkgs/tools/archivers/zpaq/zpaqd.nix
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ unzip ];
 
   buildPhase = ''
-    g++ ${compileFlags} -fPIC --shared libzpaq.cpp -o libzpaq.so
-    g++ ${compileFlags} -L. -L"$out/lib" -lzpaq zpaqd.cpp -o zpaqd
+    $CXX ${compileFlags} -fPIC --shared libzpaq.cpp -o libzpaq.so
+    $CXX ${compileFlags} -L. -L"$out/lib" -lzpaq zpaqd.cpp -o zpaqd
   '';
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
index b94d514e8ece..0a62020b3ba0 100644
--- a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix
@@ -1,25 +1,28 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, which, docutils, freetype, pango }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, docutils
+, pkg-config
+, freetype
+, pango
+}:
 
 stdenv.mkDerivation rec {
   pname = "abcm2ps";
-  version = "8.14.12";
+  version = "8.14.13";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "sha256-RELWtI+S2cbG7cXCehXymvWRdair28UaDZRVr5xt9Tk=";
+    hash = "sha256-31cEBtVn7GlNIsPkRiW0DyKA/giLeJ86EUZr8zjYy3s=";
   };
 
   configureFlags = [
     "--INSTALL=install"
   ];
 
-  buildFlags = [
-    "CC=${stdenv.cc}/bin/cc"
-  ];
-
-  nativeBuildInputs = [ which pkg-config docutils ];
+  nativeBuildInputs = [ docutils pkg-config ];
 
   buildInputs = [ freetype pango ];
 
diff --git a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
index 48b4e88b0ae8..7237ba880cef 100644
--- a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2021.12.12";
+  version = "2022.01.28";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-34yRMa68x93u8/fGTzflh1L/Lf7ULPXsDaC7GUy+i8g=";
+    hash = "sha256-+g5oKUfm6vRuRQfOx0QDueYMabgScL8Mfw5GJcXQztg=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix b/nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix
new file mode 100644
index 000000000000..3a66791932d5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, hidapi
+}:
+
+stdenv.mkDerivation rec {
+  pname = "headsetcontrol";
+  version = "2.6";
+
+  src = fetchFromGitHub {
+    owner = "Sapd";
+    repo = "HeadsetControl";
+    rev = version;
+    sha256 = "0a7zimzi71416pmn6z0l1dn1c2x8p702hkd0k6da9rsznff85a88";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    hidapi
+  ];
+
+  /*
+  Test depends on having the apropiate headsets connected.
+  */
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Sidetone and Battery status for Logitech G930, G533, G633, G933 SteelSeries Arctis 7/PRO 2019 and Corsair VOID (Pro)";
+    longDescription = ''
+      A tool to control certain aspects of USB-connected headsets on Linux. Currently,
+      support is provided for adjusting sidetone, getting battery state, controlling
+      LEDs, and setting the inactive time.
+    '';
+    homepage = "https://github.com/Sapd/HeadsetControl";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ leixb ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/audio/mididings/default.nix b/nixpkgs/pkgs/tools/audio/mididings/default.nix
deleted file mode 100644
index 9913ea911ebb..000000000000
--- a/nixpkgs/pkgs/tools/audio/mididings/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, python2Packages, fetchFromGitHub, pkg-config, glib, alsa-lib, libjack2  }:
-
-python2Packages.buildPythonApplication {
-  version = "2015-11-17";
-  pname = "mididings";
-
-  src = fetchFromGitHub {
-    owner = "dsacre";
-    repo = "mididings";
-    rev = "bbec99a8c878a2a7029e78e84fc736e4a68ed5a0";
-    sha256 = "1pdf5mib87zy7yjh9vpasja419h28wvgq6x5hw2hkm7bg9ds4p2m";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib alsa-lib libjack2 python2Packages.boost ];
-  propagatedBuildInputs = with python2Packages; [ decorator ]
-    # for livedings
-    ++ [ tkinter pyliblo ]
-    # for mididings.extra
-    ++ [ dbus-python pyinotify ]
-    # to read/write standard MIDI files
-    ++ [ pysmf ]
-    # so mididings knows where to look for config files
-    ++ [ pyxdg ];
-
-  preBuild = with lib.versions; ''
-    substituteInPlace setup.py \
-      --replace boost_python "boost_python${major python2Packages.python.version}${minor python2Packages.python.version}"
-  '';
-
-  meta = with lib; {
-    description = "A MIDI router and processor based on Python, supporting ALSA and JACK MIDI";
-    homepage = "http://das.nasophon.de/mididings";
-    license = licenses.gpl2;
-    maintainers = [ ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/audio/mpd-discord-rpc/default.nix b/nixpkgs/pkgs/tools/audio/mpd-discord-rpc/default.nix
new file mode 100644
index 000000000000..9b8fc94d2edc
--- /dev/null
+++ b/nixpkgs/pkgs/tools/audio/mpd-discord-rpc/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mpd-discord-rpc";
+  version = "1.2.3";
+
+  src = fetchFromGitHub {
+    owner = "JakeStanger";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-FkdndkXj48JLKRwZ9lLVQrGU7QvBZvYC9Y2iYS0RiCY=";
+  };
+
+  cargoSha256 = "sha256-w6Usc86yn7mq/wxljSpko/JPnLHmkyeILKa31YsQrFg=";
+
+  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/nixpkgs/pkgs/tools/audio/mpris-scrobbler/default.nix b/nixpkgs/pkgs/tools/audio/mpris-scrobbler/default.nix
index 072482132137..93960a5278fd 100644
--- a/nixpkgs/pkgs/tools/audio/mpris-scrobbler/default.nix
+++ b/nixpkgs/pkgs/tools/audio/mpris-scrobbler/default.nix
@@ -52,9 +52,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Minimalistic scrobbler for libre.fm & last.fm";
-    homepage    = "https://github.com/mariusor/mpris-scrobbler";
-    license     = licenses.mit;
+    homepage = "https://github.com/mariusor/mpris-scrobbler";
+    license = licenses.mit;
     maintainers = with maintainers; [ emantor ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/mpris-scrobbler.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/tools/audio/spotdl/default.nix b/nixpkgs/pkgs/tools/audio/spotdl/default.nix
index 2ecfba8772f6..c9270ce58357 100644
--- a/nixpkgs/pkgs/tools/audio/spotdl/default.nix
+++ b/nixpkgs/pkgs/tools/audio/spotdl/default.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "spotdl";
-  version = "3.7.2";
+  version = "3.9.3";
 
   src = fetchFromGitHub {
     owner = "spotDL";
     repo = "spotify-downloader";
     rev = "v${version}";
-    sha256 = "sha256-ftSnlruSv+RtvjTpZPYg9Z2EK4th8NbDhVlG2eIc87s=";
+    sha256 = "sha256-sx6UtblpsetKPwhlXB3Kj3OMIOyW9QluzB+YbtQGdYQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -22,11 +22,10 @@ python3.pkgs.buildPythonApplication rec {
     rapidfuzz
     mutagen
     ytmusicapi
-    tqdm
     beautifulsoup4
     requests
     unidecode
-    youtube-dl
+    yt-dlp
   ];
 
   checkInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/audio/tts/default.nix b/nixpkgs/pkgs/tools/audio/tts/default.nix
index 40399f26998e..4ee8644d7129 100644
--- a/nixpkgs/pkgs/tools/audio/tts/default.nix
+++ b/nixpkgs/pkgs/tools/audio/tts/default.nix
@@ -13,38 +13,62 @@
 # 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.4.2";
+  version = "0.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = "TTS";
     rev = "v${version}";
-    sha256 = "sha256-8a68iFbqqKwtZvufu1Vnv6hGHIQ3HU34wjuQsmr1NUA=";
+    sha256 = "sha256-9fNYNhHS9wqrk2bZnrkkGU1OaDu/16RA8fz+Zj9xsyQ=";
   };
 
-  postPatch = ''
-    sed -i requirements.txt \
-      -e 's!librosa==[^"]*!librosa!' \
-      -e 's!gruut\[.*\]~=2.0.0!gruut!' \
-      -e 's!mecab-python3==[^"]*!mecab-python3!' \
-      -e 's!numba==[^"]*!numba!' \
-      -e 's!numpy==[^"]*!numpy!' \
-      -e 's!umap-learn==[^"]*!umap-learn!'
+  postPatch = let
+    relaxedConstraints = [
+      "gruut"
+      "librosa"
+      "mecab-python3"
+      "numba"
+      "numpy"
+      "umap-learn"
+      "torch"
+    ];
+  in ''
+    sed -r -i \
+      ${lib.concatStringsSep "\n" (map (package:
+        ''-e 's/${package}.*[<>=]+.*/${package}/g' \''
+      ) relaxedConstraints)}
+    requirements.txt
   '';
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = with python.pkgs; [
     cython
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with python.pkgs; [
     anyascii
     coqpit
     flask
     fsspec
-    gruut
     gdown
+    gruut
     inflect
     jieba
     librosa
@@ -54,15 +78,17 @@ python3.pkgs.buildPythonApplication rec {
     pandas
     pypinyin
     pysbd
-    pytorch
+    pytorch-bin
     pyworld
     scipy
     soundfile
     tensorboardx
     tensorflow
+    torchaudio-bin
     tqdm
     umap-learn
     unidic-lite
+    webrtcvad
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/audio/video2midi/default.nix b/nixpkgs/pkgs/tools/audio/video2midi/default.nix
index e8f5af70c87d..f8c50fda29c3 100644
--- a/nixpkgs/pkgs/tools/audio/video2midi/default.nix
+++ b/nixpkgs/pkgs/tools/audio/video2midi/default.nix
@@ -8,7 +8,7 @@ let
   });
 in pythonPackages.buildPythonApplication rec {
   pname = "video2midi";
-  version = "0.4.0.2";
+  version = "0.4.6.5";
 
   format = "other";
 
@@ -16,7 +16,7 @@ in pythonPackages.buildPythonApplication rec {
     owner = "svsdval";
     repo = pname;
     rev = version;
-    sha256 = "174ijn8bc306529scd23szvgx1apanm2qmwk4lwmi64rhkm6dapx";
+    sha256 = "0qzrxqhsxn0h71nfrsi9g78hx3pqm3b8sr6fjq01k4k6dd2nwfam";
   };
 
   propagatedBuildInputs = with pythonPackages; [ opencv3_ midiutil pygame pyopengl ];
@@ -28,7 +28,7 @@ in pythonPackages.buildPythonApplication rec {
   meta = with lib; {
     description = "Youtube synthesia video to midi conversion tool";
     homepage = src.meta.homepage;
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = [ ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/audio/yabridge/default.nix b/nixpkgs/pkgs/tools/audio/yabridge/default.nix
index c468a845a1a6..40c3b594dc98 100644
--- a/nixpkgs/pkgs/tools/audio/yabridge/default.nix
+++ b/nixpkgs/pkgs/tools/audio/yabridge/default.nix
@@ -1,6 +1,7 @@
 { lib
 , multiStdenv
 , fetchFromGitHub
+, fetchpatch
 , substituteAll
 , pkgsi686Linux
 , libnotify
@@ -34,28 +35,28 @@ let
   tomlplusplus = fetchFromGitHub {
     owner = "marzer";
     repo = "tomlplusplus";
-    rev = "47216c8a73d77e7431ec536fb3e251aed06cc420";
-    sha256 = "sha256-cwAzWu5j3ch/56a6JmEoKCsxVNTk6tiZswNdNT6qzX0=";
+    rev = "8e669aa6990e0ed219c169d491472d749f54c393";
+    sha256 = "sha256-l8ckbCqjz3GUfwStcl3H2C+un5dZfT2uLtayvdu93D4=";
   };
 
   # Derived from vst3.wrap
   vst3 = fetchFromGitHub {
     owner = "robbert-vdh";
     repo = "vst3sdk";
-    rev = "v3.7.3_build_20-patched";
+    rev = "v3.7.4_build_25-patched";
     fetchSubmodules = true;
-    sha256 = "sha256-m2y7No7BNbIjLNgdAqIAEr6UuAZZ/wwM2+iPWKK17gQ=";
+    sha256 = "sha256-oHRJZItw+he5M+beVZkUrhJir6rgFZ80ORzA73mJT2A=";
   };
 in multiStdenv.mkDerivation rec {
   pname = "yabridge";
-  version = "3.7.0";
+  version = "3.8.0";
 
   # NOTE: Also update yabridgectl's cargoHash when this is updated
   src = fetchFromGitHub {
     owner = "robbert-vdh";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dz7kScNrVUsjokJntzUCJzDIboqi3vQI+RpXl0UFmUQ=";
+    sha256 = "sha256-XacJjHxsp60/l36pFPGonUyOsyFF2lmqplAaisHXZDY=";
   };
 
   # Unpack subproject sources
@@ -77,6 +78,14 @@ in multiStdenv.mkDerivation rec {
       libxcb32 = pkgsi686Linux.xorg.libxcb;
       inherit libnotify wine;
     })
+    # Remove with next yabridge update
+   (fetchpatch {
+      name = "fix-for-wine-7.1.patch";
+      url = "https://github.com/robbert-vdh/yabridge/commit/de470d345ab206b08f6d4a147b6af1d285a4211f.patch";
+      sha256 = "sha256-xJx1zvxD+DIjbkm7Ovoy4RaAvjx936/j/7AYUPh/kOo=";
+      includes = [ "src/wine-host/xdnd-proxy.cpp" ];
+    })
+
   ];
 
   postPatch = ''
@@ -105,11 +114,7 @@ in multiStdenv.mkDerivation rec {
     "-Dwith-bitbridge=true"
 
     # Requires CMake and is unnecessary
-    "-Dtomlplusplus:GENERATE_CMAKE_CONFIG=disabled"
-
-    # tomlplusplus examples and tests don't build with winegcc
-    "-Dtomlplusplus:BUILD_EXAMPLES=disabled"
-    "-Dtomlplusplus:BUILD_TESTS=disabled"
+    "-Dtomlplusplus:generate_cmake_config=false"
   ];
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/audio/yabridge/hardcode-dependencies.patch b/nixpkgs/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
index 255b0eb88cb1..9f6bc0c9a9d5 100644
--- a/nixpkgs/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
+++ b/nixpkgs/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
@@ -1,8 +1,8 @@
 diff --git a/meson.build b/meson.build
-index 8eae0442..ec0649da 100644
+index 95ecb728..cb30f3af 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -196,6 +196,7 @@ if with_32bit_libraries or with_bitbridge
+@@ -201,6 +201,7 @@ if with_32bit_libraries or with_bitbridge
        'boost_filesystem',
        static : with_static_boost,
        dirs : [
@@ -10,7 +10,7 @@ index 8eae0442..ec0649da 100644
          # Used by Arch based distros
          '/usr/local/lib32',
          '/usr/lib32',
-@@ -219,7 +220,7 @@ if is_64bit_system
+@@ -224,7 +225,7 @@ if is_64bit_system
    xcb_64bit_dep = dependency('xcb')
  endif
  if with_32bit_libraries or with_bitbridge
@@ -20,7 +20,7 @@ index 8eae0442..ec0649da 100644
  
  # These are all headers-only libraries, and thus won't require separate 32-bit
 diff --git a/src/plugin/utils.cpp b/src/plugin/utils.cpp
-index 6e32b4c9..f6eb09eb 100644
+index 1a457f03..20ca1e63 100644
 --- a/src/plugin/utils.cpp
 +++ b/src/plugin/utils.cpp
 @@ -107,7 +107,7 @@ std::string PluginInfo::wine_version() const {
diff --git a/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix b/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix
index 902734de0bd0..d2e8438e0c9e 100644
--- a/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix
+++ b/nixpkgs/pkgs/tools/audio/yabridgectl/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
 
   src = yabridge.src;
   sourceRoot = "source/tools/yabridgectl";
-  cargoSha256 = "sha256-/VREh/f4bAt2DXCqK0noEjn+4hcK5VZUn+gdbYbeAmk=";
+  cargoSha256 = "sha256-pwy2Q2HUCihr7W81hGvDm9EiZHk9G8knSy0yxPy6hl8=";
 
   patches = [
     # By default, yabridgectl locates libyabridge.so by using
diff --git a/nixpkgs/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch b/nixpkgs/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch
index 7b8e10b2ba81..905068f75f8c 100644
--- a/nixpkgs/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch
+++ b/nixpkgs/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch
@@ -1,5 +1,5 @@
 diff --git a/tools/yabridgectl/src/config.rs b/tools/yabridgectl/src/config.rs
-index bc5ccfc4..c6d119bc 100644
+index bc5f6a81..0fcd38d3 100644
 --- a/tools/yabridgectl/src/config.rs
 +++ b/tools/yabridgectl/src/config.rs
 @@ -23,6 +23,7 @@ use std::collections::{BTreeMap, BTreeSet, HashSet};
@@ -10,7 +10,7 @@ index bc5ccfc4..c6d119bc 100644
  use std::path::{Path, PathBuf};
  use which::which;
  use xdg::BaseDirectories;
-@@ -233,34 +234,24 @@ impl Config {
+@@ -235,34 +236,27 @@ impl Config {
                  }
              }
              None => {
@@ -20,6 +20,8 @@ index bc5ccfc4..c6d119bc 100644
 -                // in the error message when `libyabridge-vst2.so` can't be found.
 -                let system_path = Path::new("/usr/lib");
 +                // Search through NIX_PROFILES & data home directory if no path was set explicitly.
++                // NIX_PROFILES is iterated in reverse from the most specific (the user profile) to
++                // the least specific (the system profile).
 +                let nix_profiles = env::var("NIX_PROFILES");
                  let user_path = xdg_dirs.get_data_home();
 -                let lib_directories = [
@@ -35,6 +37,7 @@ index bc5ccfc4..c6d119bc 100644
 -                ];
 +                let lib_directories = nix_profiles.iter()
 +                    .flat_map(|profiles| profiles.split(' ')
++                              .rev()
 +                              .map(|profile| Path::new(profile).join("lib")))
 +                    .chain(iter::once(user_path.clone()));
 +
@@ -56,12 +59,12 @@ index bc5ccfc4..c6d119bc 100644
                          ));
                      }
 diff --git a/tools/yabridgectl/src/main.rs b/tools/yabridgectl/src/main.rs
-index 8c273f92..432619ec 100644
+index 48cce4fa..209e40e4 100644
 --- a/tools/yabridgectl/src/main.rs
 +++ b/tools/yabridgectl/src/main.rs
-@@ -148,7 +148,7 @@ fn main() -> Result<()> {
-                         .about("Path to the directory containing 'libyabridge-{vst2,vst3}.so'")
-                         .long_about(
+@@ -151,7 +151,7 @@ fn main() -> Result<()> {
+                         .help("Path to the directory containing 'libyabridge-{vst2,vst3}.so'")
+                         .long_help(
                              "Path to the directory containing 'libyabridge-{vst2,vst3}.so'. If this \
 -                             is not set, then yabridgectl will look in both '/usr/lib' and \
 +                             is not set, then yabridgectl will look through 'NIX_PROFILES' and \
diff --git a/nixpkgs/pkgs/tools/backup/autorestic/default.nix b/nixpkgs/pkgs/tools/backup/autorestic/default.nix
index 8aed05cd6aef..aebcc608c76d 100644
--- a/nixpkgs/pkgs/tools/backup/autorestic/default.nix
+++ b/nixpkgs/pkgs/tools/backup/autorestic/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "autorestic";
-  version = "1.5.0";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "cupcakearmy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6/t7k0PNcRuCsIAV1iyDxDqsgm2fpBj+26MfvebNEBM=";
+    sha256 = "sha256-JOiFsH9r92Gac7DH7h/4Q6hwXBtqLwHNQpW3gKBybHo=";
   };
 
-  vendorSha256 = "sha256-eKsPdmPJXiCwvb2A28tNxF4xStry3iA6aLb+XYFJYSg=";
+  vendorSha256 = "sha256-WzmgV0wUsGfMVeho6M8wXJKD9adaAKRYmaJYaAcXwFc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/backup/btrbk/default.nix b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
index 69f745ecc1bd..b04263a7168a 100644
--- a/nixpkgs/pkgs/tools/backup/btrbk/default.nix
+++ b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
@@ -7,7 +7,6 @@
 , perl
 , perlPackages
 , util-linux
-, asciidoc
 , asciidoctor
 , mbuffer
 , makeWrapper
@@ -19,14 +18,14 @@
 
 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 = [ asciidoc asciidoctor makeWrapper ];
+  nativeBuildInputs = [ asciidoctor makeWrapper ];
 
   buildInputs = with perlPackages; [ perl DateCalc ];
 
diff --git a/nixpkgs/pkgs/tools/backup/dar/default.nix b/nixpkgs/pkgs/tools/backup/dar/default.nix
index 067c01366077..8b2428ebcc70 100644
--- a/nixpkgs/pkgs/tools/backup/dar/default.nix
+++ b/nixpkgs/pkgs/tools/backup/dar/default.nix
@@ -1,27 +1,30 @@
 { lib, stdenv, fetchurl
+, which
 , attr, e2fsprogs
-, curl, librsync, libthreadar
+, curl, libargon2, librsync, libthreadar
 , gpgme, libgcrypt, openssl
-, bzip2, lzo, xz, zlib
+, bzip2, lz4, lzo, xz, zlib
 }:
 
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "2.7.1";
+  version = "2.7.3";
   pname = "dar";
 
   src = fetchurl {
     url = "mirror://sourceforge/dar/${pname}-${version}.tar.gz";
-    sha256 = "sha256-dtreitvrgX/8eL9ZLIIASHq1ZQI0z1OVOanLxdNGvu8=";
+    sha256 = "sha256-w7005RdZKjP7XrO/h43yM0Lsho4MOKWLynJimD2oHwY=";
   };
 
   outputs = [ "out" "dev" ];
 
+  nativeBuildInputs = [ which ];
+
   buildInputs = [
     curl librsync libthreadar
-    gpgme libgcrypt openssl
-    bzip2 lzo xz zlib
+    gpgme libargon2 libgcrypt openssl
+    bzip2 lz4 lzo xz zlib
   ] ++ optionals stdenv.isLinux [ attr e2fsprogs ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
index 38dfd55783de..3c16fb1e0eda 100644
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -8,17 +8,19 @@
 
 buildDotnetModule rec {
   pname = "discordchatexporter-cli";
-  version = "2.30.1";
+  version = "2.32";
 
   src = fetchFromGitHub {
     owner = "tyrrrz";
     repo = "discordchatexporter";
     rev = version;
-    sha256 = "JSYIhd+DNVOKseHtWNNChECR5hKr+ntu1Yyqtnlg8rM=";
+    sha256 = "xRoF/HJ4ekHL/Uk6ISQP+65nChRT+n9xLTYcZMJxyvo=";
   };
 
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+  dotnet-runtime = dotnetCorePackages.runtime_6_0;
+
   projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
-  dotnet-runtime = dotnetCorePackages.runtime_3_1;
   nugetDeps = ./deps.nix;
 
   nativeBuildInputs = [ autoPatchelfHook ];
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
index 172fe928dd77..a360d0099fd2 100644
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
@@ -1,16 +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.1.0"; sha256 = "1fqxb2jdbvjgg135wmy890qf63r056dq16jy7wgzkgp21m3j0lgy"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.21"; sha256 = "01kbhi29lhv6mg1zfsyakz3z8hfbxnc0kxy0fczl8xqviik9svx7"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
-  (fetchNuGet { pname = "MiniRazor.CodeGen"; version = "2.1.4"; sha256 = "1856hfw2wl3ilxmpg4jmwpigmq0rm50i9pmy3sq8f1xc8j44kzl2"; })
-  (fetchNuGet { pname = "MiniRazor.Runtime"; version = "2.1.4"; sha256 = "1pc3kjbnz810a8bb94k6355rflmayigfmpfmc4jzzx6l6iavnnc4"; })
-  (fetchNuGet { pname = "Polly"; version = "7.2.2"; sha256 = "0s15n5zwj44i6sw3v40ca8l6j0ijydxcakvad49j52rp49iwrmkn"; })
-  (fetchNuGet { pname = "Spectre.Console"; version = "0.41.0"; sha256 = "104vyzwbbq5m75dm31xk7ilvmik8hw1cj3bc301a8w6gq8i0fpk3"; })
-  (fetchNuGet { pname = "Superpower"; version = "2.3.0"; sha256 = "0bdsc3c0d6jb0wr67siqfba0ldl0jxbwis6xr0whzqzf6m2cyahm"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; })
-  (fetchNuGet { pname = "Tyrrrz.Extensions"; version = "1.6.5"; sha256 = "1yzsii1pbp6b066wxwwws310p7h809apl81bhb8ad55hqlzy1rg3"; })
-  (fetchNuGet { pname = "Wcwidth"; version = "0.2.0"; sha256 = "0p7zaisix9ql4v5nyl9gfc93xcyj74j01rwvgm7jw29js3wlj10s"; })
+  (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.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/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
index 1fc261c29803..c33b318d25b1 100755
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk_5
+#!nix-shell -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk_6
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/nixpkgs/pkgs/tools/backup/gh2md/default.nix b/nixpkgs/pkgs/tools/backup/gh2md/default.nix
new file mode 100644
index 000000000000..5306080aa6be
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/gh2md/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "gh2md";
+  version = "2.0.0";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "7a277939d4781f4ca741eccb74fc70f0aa85811185da52219878129cba7f1d77";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ six requests python-dateutil ];
+
+  # uses network
+  doCheck = false;
+
+  pythonImportsCheck = [ "gh2md" ];
+
+  meta = with lib; {
+    description = "Export Github repository issues to markdown files";
+    homepage = "https://github.com/mattduck/gh2md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ artturin ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/backup/kopia/default.nix b/nixpkgs/pkgs/tools/backup/kopia/default.nix
index a878bcf6c043..1eac3f04325d 100644
--- a/nixpkgs/pkgs/tools/backup/kopia/default.nix
+++ b/nixpkgs/pkgs/tools/backup/kopia/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "kopia";
-  version = "0.9.8";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7Bvgtp6egZqpTv4Ac+OUkhKzTZhRRMwpdvwOCBA6Dso=";
+    sha256 = "sha256-9H57NlvyEEOX2F3ooWWqDAo7MnS9J+XrYv/cIyNo6+Y=";
   };
 
-  vendorSha256 = "sha256-/dCRM61Zl5YbIb0mKhcyLU15nQhR31QAaq+5TwRK4pM=";
+  vendorSha256 = "sha256-c8WohMyaOicPq2q+DkgNBBulMEJCZFNFe+xECUEpelI=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/backup/percona-xtrabackup/8_0.nix b/nixpkgs/pkgs/tools/backup/percona-xtrabackup/8_0.nix
index 2878e93fe70c..648074eb5b96 100644
--- a/nixpkgs/pkgs/tools/backup/percona-xtrabackup/8_0.nix
+++ b/nixpkgs/pkgs/tools/backup/percona-xtrabackup/8_0.nix
@@ -5,7 +5,7 @@ callPackage ./generic.nix (args // {
   sha256 = "0cj0fnjimv22ykfl0yk6w29wcjvqp8y8j2g1c6gcml65qazrswyr";
 
   extraPatches = [
-    ./../../../servers/sql/mysql/abi-check.patch
+    ./abi-check.patch
   ];
 
   extraPostInstall = ''
diff --git a/nixpkgs/pkgs/servers/sql/mysql/abi-check.patch b/nixpkgs/pkgs/tools/backup/percona-xtrabackup/abi-check.patch
index de45d9c3ea21..de45d9c3ea21 100644
--- a/nixpkgs/pkgs/servers/sql/mysql/abi-check.patch
+++ b/nixpkgs/pkgs/tools/backup/percona-xtrabackup/abi-check.patch
diff --git a/nixpkgs/pkgs/tools/backup/s3ql/default.nix b/nixpkgs/pkgs/tools/backup/s3ql/default.nix
index 50b5279383db..6816d37a2af8 100644
--- a/nixpkgs/pkgs/tools/backup/s3ql/default.nix
+++ b/nixpkgs/pkgs/tools/backup/s3ql/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "s3ql";
-  version = "3.8.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "release-${version}";
-    sha256 = "0a6ll5vs7faj1klfz3j674399qfbhy3blp3c5wwsqvcdkpcjcx11";
+    sha256 = "0kk8jjb9zir4wfxv4zsa4ysj77322l73vddcx4y6czjq1j9jz9f2";
   };
 
   checkInputs = [ which ] ++ (with python3Packages; [ cython pytest pytest-trio ]);
diff --git a/nixpkgs/pkgs/tools/backup/tarsnap/default.nix b/nixpkgs/pkgs/tools/backup/tarsnap/default.nix
index 1b151ece3d95..e55823e59ae4 100644
--- a/nixpkgs/pkgs/tools/backup/tarsnap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/backup/tsm-client/default.nix b/nixpkgs/pkgs/tools/backup/tsm-client/default.nix
index e298751facab..c684b34ec4e5 100644
--- a/nixpkgs/pkgs/tools/backup/tsm-client/default.nix
+++ b/nixpkgs/pkgs/tools/backup/tsm-client/default.nix
@@ -1,15 +1,20 @@
 { lib
+, callPackage
+, nixosTests
 , stdenv
+, fetchurl
 , autoPatchelfHook
+, rpmextract
+, openssl
+, zlib
+, lvm2  # LVM image backup and restore functions (optional)
+, acl  # EXT2/EXT3/XFS ACL support (optional)
+, gnugrep
+, procps
+, jdk8  # Java GUI (needed for `enableGui`)
 , buildEnv
-, fetchurl
 , makeWrapper
-, procps
-, zlib
-# optional packages that enable certain features
-, acl ? null  # EXT2/EXT3/XFS ACL support
-, jdk8 ? null  # Java GUI
-, lvm2 ? null  # LVM image backup and restore functions
+, enableGui ? false  # enables Java GUI `dsmj`
 # path to `dsm.sys` configuration files
 , dsmSysCli ? "/etc/tsm-client/cli.dsm.sys"
 , dsmSysApi ? "/etc/tsm-client/api.dsm.sys"
@@ -18,7 +23,7 @@
 
 # For an explanation of optional packages
 # (features provided by them, version limits), see
-# https://www-01.ibm.com/support/docview.wss?uid=swg21052223#Version%208.1
+# https://www.ibm.com/support/pages/node/660813#Version%208.1
 
 
 # IBM Tivoli Storage Manager Client uses a system-wide
@@ -40,22 +45,33 @@
 # point to this derivations `/dsmi_dir` directory symlink.
 # Other environment variables might be necessary,
 # depending on local configuration or usage; see:
-# https://www.ibm.com/support/knowledgecenter/en/SSEQVQ_8.1.8/client/c_cfg_sapiunix.html
-
-
-# The newest version of TSM client should be discoverable
-# by going the the `downloadPage` (see `meta` below),
-# there to "Client Latest Downloads",
-# "IBM Spectrum Protect Client Downloads and READMEs",
-# then to "Linux x86_64 Ubuntu client" (as of 2019-07-15).
+# https://www.ibm.com/docs/en/spectrum-protect/8.1.13?topic=solaris-set-api-environment-variables
+
+
+# The newest version of TSM client should be discoverable by
+# going to the `downloadPage` (see `meta` below).
+# Find the "Backup-archive client" table on that page.
+# Look for "Download Documents" of the latest release.
+# Here, two links must be checked:
+# * "IBM Spectrum Protect Client ... Downloads and READMEs":
+#   In the table at the page's bottom,
+#   check the date of the "Linux x86_64 client"
+# * "IBM Spectrum Protect BA client ... interim fix downloads"
+# Look for the "Linux x86_64 client" rows
+# in the table # at the bottom of each page.
+# Follow the "HTTPS" link of the row with the latest date stamp.
+# In the directory listing to show up, pick the big `.tar` file.
+#
+# (as of 2021-12-18)
 
 
 let
 
   meta = {
-    homepage = "https://www.ibm.com/us-en/marketplace/data-protection-and-recovery";
-    downloadPage = "https://www-01.ibm.com/support/docview.wss?uid=swg21239415";
+    homepage = "https://www.ibm.com/products/data-protection-and-recovery";
+    downloadPage = "https://www.ibm.com/support/pages/ibm-spectrum-protect-downloads-latest-fix-packs-and-interim-fixes";
     platforms = [ "x86_64-linux" ];
+    mainProgram = "dsmc";
     license = lib.licenses.unfree;
     maintainers = [ lib.maintainers.yarny ];
     description = "IBM Spectrum Protect (Tivoli Storage Manager) CLI and API";
@@ -74,34 +90,53 @@ let
     '';
   };
 
+  passthru.tests = {
+    test-cli = callPackage ./test-cli.nix {};
+    test-gui = nixosTests.tsm-client-gui;
+  };
+
+  mkSrcUrl = version:
+    let
+      major = lib.versions.major version;
+      minor = lib.versions.minor version;
+      patch = lib.versions.patch version;
+      fixup = lib.lists.elemAt (lib.versions.splitVersion version) 3;
+    in
+      "https://public.dhe.ibm.com/storage/tivoli-storage-management/${if fixup=="0" then "maintenance" else "patches"}/client/v${major}r${minor}/Linux/LinuxX86/BA/v${major}${minor}${patch}/${version}-TIV-TSMBAC-LinuxX86.tar";
+
   unwrapped = stdenv.mkDerivation rec {
     name = "tsm-client-${version}-unwrapped";
-    version = "8.1.8.0";
+    version = "8.1.13.3";
     src = fetchurl {
-      url = "ftp://public.dhe.ibm.com/storage/tivoli-storage-management/maintenance/client/v8r1/Linux/LinuxX86_DEB/BA/v818/${version}-TIV-TSMBAC-LinuxX86_DEB.tar";
-      sha256 = "0c1d0jm0i7qjd314nhj2vj8fs7sncm1x2n4d6dg4049jniyvjhpk";
+      url = mkSrcUrl version;
+      sha256 = "1dwczf236drdaf4jcfzz5154vdwvxf5zraxhrhiddl6n80hnvbcd";
     };
-    inherit meta;
+    inherit meta passthru;
 
     nativeBuildInputs = [
       autoPatchelfHook
+      rpmextract
     ];
     buildInputs = [
+      openssl
       stdenv.cc.cc
       zlib
     ];
     runtimeDependencies = [
-      lvm2
+      (lib.attrsets.getLib lvm2)
     ];
     sourceRoot = ".";
 
     postUnpack = ''
-      for debfile in *.deb
-      do
-        ar -x "$debfile"
-        tar --xz --extract --file=data.tar.xz
-        rm data.tar.xz
-      done
+      rpmextract TIVsm-API64.x86_64.rpm
+      rpmextract TIVsm-APIcit.x86_64.rpm
+      rpmextract TIVsm-BA.x86_64.rpm
+      rpmextract TIVsm-BAcit.x86_64.rpm
+      rpmextract TIVsm-BAhdw.x86_64.rpm
+      rpmextract TIVsm-JBB.x86_64.rpm
+      # use globbing so that version updates don't break the build:
+      rpmextract gskcrypt64-*.linux.x86_64.rpm
+      rpmextract gskssl64-*.linux.x86_64.rpm
     '';
 
     installPhase = ''
@@ -113,7 +148,7 @@ let
 
     # Fix relative symlinks after `/usr` was moved up one level
     preFixup = ''
-      for link in $out/lib/* $out/bin/*
+      for link in $out/lib{,64}/* $out/bin/*
       do
         target=$(readlink "$link")
         if [ "$(cut -b -6 <<< "$target")" != "../../" ]
@@ -126,14 +161,19 @@ let
     '';
   };
 
+  binPath = lib.makeBinPath ([ acl gnugrep procps ]
+    ++ lib.optional enableGui jdk8);
+
 in
 
 buildEnv {
   name = "tsm-client-${unwrapped.version}";
-  inherit meta;
-  passthru = { inherit unwrapped; };
+  meta = meta // lib.attrsets.optionalAttrs enableGui {
+    mainProgram = "dsmj";
+  };
+  passthru = passthru // { inherit unwrapped; };
   paths = [ unwrapped ];
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   pathsToLink = [
     "/"
     "/bin"
@@ -144,7 +184,7 @@ buildEnv {
   #   to the so-called "installation directories"
   # * Add symlinks to the "installation directories"
   #   that point to the `dsm.sys` configuration files
-  # * Drop the Java GUI executable unless `jdk` is present
+  # * Drop the Java GUI executable unless `enableGui` is set
   # * Create wrappers for the command-line interface to
   #   prepare `PATH` and `DSM_DIR` environment variables
   postBuild = ''
@@ -152,13 +192,13 @@ buildEnv {
     ln --symbolic --no-target-directory opt/tivoli/tsm/client/api/bin64 $out/dsmi_dir
     ln --symbolic --no-target-directory "${dsmSysCli}" $out/dsm_dir/dsm.sys
     ln --symbolic --no-target-directory "${dsmSysApi}" $out/dsmi_dir/dsm.sys
-    ${lib.optionalString (jdk8==null) "rm $out/bin/dsmj"}
+    ${lib.optionalString (!enableGui) "rm $out/bin/dsmj"}
     for bin in $out/bin/*
     do
       target=$(readlink "$bin")
       rm "$bin"
       makeWrapper "$target" "$bin" \
-        --prefix PATH : "$out/dsm_dir:${lib.strings.makeBinPath [ procps acl jdk8 ]}" \
+        --prefix PATH : "$out/dsm_dir:${binPath}" \
         --set DSM_DIR $out/dsm_dir
     done
   '';
diff --git a/nixpkgs/pkgs/tools/backup/tsm-client/test-cli.nix b/nixpkgs/pkgs/tools/backup/tsm-client/test-cli.nix
new file mode 100644
index 000000000000..0858083c9f90
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/tsm-client/test-cli.nix
@@ -0,0 +1,58 @@
+{ lib
+, writeText
+, runCommand
+, tsm-client
+}:
+
+# Let the client try to connect to a server.
+# We can't simulate a server, so there's no more to test.
+
+let
+
+  # 192.0.0.8 is a "dummy address" according to RFC 7600
+  dsmSysCli = writeText "cli.dsm.sys" ''
+    defaultserver  testserver
+    server  testserver
+      commmethod  v6tcpip
+      tcpserveraddress  192.0.0.8
+      nodename  ARBITRARYNODENAME
+  '';
+
+  tsm-client_ = tsm-client.override { inherit dsmSysCli; };
+
+  env.nativeBuildInputs = [ tsm-client_ ];
+
+  versionString =
+    let
+      inherit (tsm-client_.passthru.unwrapped) version;
+      major = lib.versions.major version;
+      minor = lib.versions.minor version;
+      patch = lib.versions.patch version;
+      fixup = lib.lists.elemAt (lib.versions.splitVersion version) 3;
+    in
+      "Client Version ${major}, Release ${minor}, Level ${patch}.${fixup}";
+
+in
+
+runCommand "${tsm-client.name}-test-cli" env ''
+  set -o nounset
+  set -o pipefail
+
+  export DSM_LOG=$(mktemp -d ./dsm_log.XXXXXXXXXXX)
+
+  { dsmc -optfile=/dev/null || true; } | tee dsmc-stdout
+
+  # does it report the correct version?
+  grep --fixed-strings '${versionString}' dsmc-stdout
+
+  # does it use the provided dsm.sys config file?
+  # if it does, it states the node's name
+  grep ARBITRARYNODENAME dsmc-stdout
+
+  # does it try (and fail) to connect to the server?
+  # if it does, it reports the "TCP/IP connection failure" error code
+  grep ANS1017E dsmc-stdout
+  grep ANS1017E $DSM_LOG/dsmerror.log
+
+  touch $out
+''
diff --git a/nixpkgs/pkgs/tools/backup/znapzend/default.nix b/nixpkgs/pkgs/tools/backup/znapzend/default.nix
index 5ea220f9e255..e4e7124477ae 100644
--- a/nixpkgs/pkgs/tools/backup/znapzend/default.nix
+++ b/nixpkgs/pkgs/tools/backup/znapzend/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "High performance open source ZFS backup with mbuffer and ssh support";
-    homepage    = "http://www.znapzend.org";
+    homepage    = "https://www.znapzend.org";
     license     = licenses.gpl3;
     maintainers = with maintainers; [ otwieracz ];
     platforms   = platforms.all;
diff --git a/nixpkgs/pkgs/tools/backup/zrepl/default.nix b/nixpkgs/pkgs/tools/backup/zrepl/default.nix
index 59dbfc0be72e..999dd6ccb6ee 100644
--- a/nixpkgs/pkgs/tools/backup/zrepl/default.nix
+++ b/nixpkgs/pkgs/tools/backup/zrepl/default.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "zrepl";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "zrepl";
     repo = "zrepl";
     rev = "v${version}";
-    sha256 = "5Bp8XGCjibDJgeAjW98rcABuddI+CV4Fh3hFJaKKwbo=";
+    sha256 = "4q/wwlF11HPDS2lTXUizJ3RFQ9sX5qNnWZUKAgnvDiE=";
   };
 
-  vendorSha256 = "MwmYiK2z7ZK5kKBZV7K6kCZRSd7v5Sgjoih1eeOh6go=";
+  vendorSha256 = "xToq9pKAxxknh4kE8S3uUg5ySPMbJkLftkMhofNxotc=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix b/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
index 2ef7fedefc40..5616560108cf 100644
--- a/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix b/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
index e6c2fabeae90..74ebb04f7474 100644
--- a/nixpkgs/pkgs/tools/bluetooth/blueman/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix b/nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix
deleted file mode 100644
index d9664f1072fb..000000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/bashburn/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, stdenv, fetchurl, util-linux
-, cdparanoia, cdrdao, dvdplusrwtools, flac, lame, mpg123, normalize
-, vorbis-tools, xorriso }:
-
-stdenv.mkDerivation rec {
-  pname = "bashburn";
-  version = "3.1.0";
-
-  src = fetchurl {
-    sha256 = "0g5va5rjdrvacanmqr6pbxk2rl565ahkfbsvxsp1jvhvxvhmv3dp";
-    url = "http://bashburn.dose.se/index.php?s=file_download&id=25";
-    name = "${pname}-${version}.tar.gz";
-  };
-
-  nativeBuildInputs = [ util-linux ];
-
-  postPatch = ''
-    for path in \
-      BB_CDBURNCMD=${xorriso}/bin/"xorriso -as cdrecord" \
-      BB_DVDBURNCMD=${dvdplusrwtools}/bin/growisofs \
-      BB_ISOCMD=${xorriso}/bin/"xorriso -as mkisofs" \
-      BB_DVDBLANK=${dvdplusrwtools}/bin/dvd+rw-format \
-      BB_CDIMAGECMD=${cdrdao}/bin/cdrdao \
-      BB_CDAUDIORIP=${cdparanoia}/bin/cdparanoia \
-      BB_READCD=${xorriso}/bin/"xorriso -as mkisofs" \
-      BB_MP3ENC=${lame}/bin/lame \
-      BB_MP3DEC=${mpg123}/bin/mpg123 \
-      BB_OGGENC=${vorbis-tools}/bin/oggenc \
-      BB_OGGDEC=${vorbis-tools}/bin/oggdec \
-      BB_FLACCMD=${flac.bin}/bin/flac \
-      BB_EJECT=${util-linux}/bin/eject \
-      BB_NORMCMD=${normalize}/bin/normalize \
-    ; do
-      echo $path
-      sed -i BashBurn.sh \
-        -e "s,\(''${path%%=*}:\).*,\1 ''${path#*=},"
-      sed -i menus/advanced.sh \
-        -e "s,\(''${path%%=*}|\).*\('.*\),\1''${path#*=}\2,"
-    done
-  '';
-
-  installPhase = ''
-    sh Install.sh --prefix $out
-  '';
-
-  meta = with lib; {
-    description = "Bash script CD Burner Writer";
-    longDescription = ''
-      It might not be the best looking application out there, but it works.
-      It’s simple, fast and small, and can handle most things you throw at it.
-      Currently (and with the right dependencies installed), BashBurn can:
-      - burn data CDs/DVDs (Including CDRWs)
-      - burn music CDs
-      - burn CD/DVD-images
-      - rip data/music CDs
-      - manipulate ISO-files
-      - and probably more...
-    '';
-    homepage = "http://bashburn.dose.se/";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix b/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix
index 2107d4ed0824..decd4352ad45 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/brasero/default.nix
@@ -4,7 +4,7 @@
 
 let
   major = "3.12";
-  minor = "2";
+  minor = "3";
   binpath = lib.makeBinPath [ dvdauthor vcdimager ];
 
 in stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/brasero/${major}/${pname}-${version}.tar.xz";
-    sha256 = "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8";
+    hash = "sha256-h3SerjOhQSB9GwC+IzttgEWYLtMkntS5ja4fOpdf6hU=";
   };
 
   nativeBuildInputs = [ pkg-config itstool intltool wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvdisaster/default.nix b/nixpkgs/pkgs/tools/cd-dvd/dvdisaster/default.nix
index e6f98bdee319..e7869965c708 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/dvdisaster/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/dtrx/default.nix b/nixpkgs/pkgs/tools/compression/dtrx/default.nix
new file mode 100644
index 000000000000..392c2b960f27
--- /dev/null
+++ b/nixpkgs/pkgs/tools/compression/dtrx/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+, gnutar
+, unzip
+, lhasa
+, rpm
+, binutils
+, cpio
+, gzip
+, p7zip
+, cabextract
+, unrar
+, unshield
+, bzip2
+, xz
+, lzip
+, unzipSupport ? false
+, unrarSupport ? false
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "dtrx";
+  version = "8.2.1";
+
+  src = fetchFromGitHub {
+    owner = "dtrx-py";
+    repo = "dtrx";
+    rev = version;
+    sha256 = "sha256-ayQ52teXWpw3ZvPhfqxFHxMZatQK9NKv/97ovANFZcE=";
+  };
+
+  postInstall =
+    let
+      archivers = lib.makeBinPath (
+        [ gnutar lhasa rpm binutils cpio gzip p7zip cabextract unshield bzip2 xz lzip ]
+        ++ lib.optional (unzipSupport) unzip
+        ++ lib.optional (unrarSupport) unrar
+      );
+    in ''
+      wrapProgram "$out/bin/dtrx" --prefix PATH : "${archivers}"
+    '';
+
+  buildInputs = [ python3Packages.twine ];
+
+  meta = with lib; {
+    description = "Do The Right Extraction: A tool for taking the hassle out of extracting archives";
+    homepage = "https://github.com/dtrx-py/dtrx";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.spwhitt ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/compression/lrzip/default.upstream b/nixpkgs/pkgs/tools/compression/lrzip/default.upstream
deleted file mode 100644
index 1b8345986374..000000000000
--- a/nixpkgs/pkgs/tools/compression/lrzip/default.upstream
+++ /dev/null
@@ -1,8 +0,0 @@
-url http://ck.kolivas.org/apps/lrzip/
-version_link '[.]tar[.]bz2$'
-
-do_overwrite () {
-  ensure_hash
-  set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH"
-}
diff --git a/nixpkgs/pkgs/tools/compression/lzip/default.nix b/nixpkgs/pkgs/tools/compression/lzip/default.nix
index aa6b6d31a897..17abb6503c9b 100644
--- a/nixpkgs/pkgs/tools/compression/lzip/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/lziprecover/default.nix b/nixpkgs/pkgs/tools/compression/lziprecover/default.nix
new file mode 100644
index 000000000000..e322a1905901
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/nx2elf/default.nix b/nixpkgs/pkgs/tools/compression/nx2elf/default.nix
index 8b7f094bf39a..d4963487ada1 100644
--- a/nixpkgs/pkgs/tools/compression/nx2elf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/zstd/default.nix b/nixpkgs/pkgs/tools/compression/zstd/default.nix
index 1f9b4a505ac4..0bff5110c935 100644
--- a/nixpkgs/pkgs/tools/compression/zstd/default.nix
+++ b/nixpkgs/pkgs/tools/compression/zstd/default.nix
@@ -7,17 +7,18 @@
 # these need to be ran on the host, thus disable when cross-compiling
 , buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform
 , doCheck ? stdenv.hostPlatform == stdenv.buildPlatform
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "zstd";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "zstd";
     rev = "v${version}";
-    sha256 = "0icc0x89c35rq5bxd4d241vqxnz2i1qj2wwy01xls63p0z93brj7";
+    sha256 = "sha256-yJvhcysxcbUGuDOqe/TQ3Y5xyM2AUw6r1THSHOqmUy0=";
   };
 
   nativeBuildInputs = [ cmake ]
@@ -28,12 +29,6 @@ stdenv.mkDerivation rec {
     # This patches makes sure we do not attempt to use the MD5 implementation
     # of the host platform when running the tests
     ./playtests-darwin.patch
-
-    # Fixes linking for static builds
-    (fetchpatch {
-      url = "https://github.com/facebook/zstd/pull/2724/commits/e1f85dbca3a0ed5ef06c8396912a0914db8dea6a.patch";
-      sha256 = "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg=";
-    })
   ];
 
   postPatch = lib.optionalString (!static) ''
@@ -90,6 +85,12 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.hostPlatform.isUnix "man"
     ++ [ "out" ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "Zstandard real-time compression algorithm";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/compression/zstd/playtests-darwin.patch b/nixpkgs/pkgs/tools/compression/zstd/playtests-darwin.patch
index bcb895a697ca..454489a24a12 100644
--- a/nixpkgs/pkgs/tools/compression/zstd/playtests-darwin.patch
+++ b/nixpkgs/pkgs/tools/compression/zstd/playtests-darwin.patch
@@ -1,6 +1,6 @@
 --- a/tests/playTests.sh
 +++ b/tests/playTests.sh
-@@ -112,22 +112,12 @@ case "$OS" in
+@@ -112,29 +112,19 @@ case "$OS" in
  esac
  
  case "$UNAME" in
@@ -16,6 +16,13 @@
 -    Darwin | FreeBSD | OpenBSD | NetBSD) MTIME="stat -f %m" ;;
 -esac
  
+ assertSameMTime() {
+     MT1=$($MTIME "$1")
+     MT2=$($MTIME "$2")
+     echo MTIME $MT1 $MT2
+     [ "$MT1" = "$MT2" ] || die "mtime on $1 doesn't match mtime on $2 ($MT1 != $MT2)"
+ }
+ 
  GET_PERMS="stat -c %a"
 -case "$UNAME" in
 -    Darwin | FreeBSD | OpenBSD | NetBSD) GET_PERMS="stat -f %Lp" ;;
diff --git a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
index cb8d74aa1618..9e0752b5482c 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "unstable-2021-12-25";
+  version = "unstable-2022-01-12";
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "07b18011cc885f0ef5cadc299d0321322f442388";
-    sha256 = "0yvdbjasl05w1afiszygrfv7hn39fxx7kcy42vk39rb6fb3xpvzy";
+    rev = "7b15324de1095f3e2e423e9c53da076d208b52d5";
+    sha256 = "0glpq0n1xv7ck28v0gahl1fak9dhyp04id8d1l8yxvnriyw19zxa";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
index bdd26041d33a..936555f93a4d 100644
--- a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,14 +1,17 @@
-{ lib, stdenv, fetchurl, pkg-config, attr, acl, zlib, libuuid, e2fsprogs, lzo
-, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd, python3
+{ lib, stdenv, fetchurl
+, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, pkg-config, python3, xmlto
+, zstd
+, acl, attr, e2fsprogs, libuuid, lzo, systemd, zlib
+, runCommand, btrfs-progs
 }:
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.14.1";
+  version = "5.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-1UqTRlRcpG3xKOPMt31gwJfZDJO34xSZAjbijPr4xVs=";
+    sha256 = "0cqqlcq9bywfi3cpg5ivxiv7p9v6z1r6k4nnmin24mj1kp8krarq";
   };
 
   nativeBuildInputs = [
@@ -16,7 +19,7 @@ stdenv.mkDerivation rec {
     python3 python3.pkgs.setuptools
   ];
 
-  buildInputs = [ attr acl zlib libuuid e2fsprogs lzo zstd python3 ];
+  buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ systemd ];
 
   # for python cross-compiling
   _PYTHON_HOST_PLATFORM = stdenv.hostPlatform.config;
@@ -29,12 +32,25 @@ stdenv.mkDerivation rec {
     install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs
   '';
 
-  configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace";
+  configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace --disable-libudev";
 
+  makeFlags = lib.optionals stdenv.hostPlatform.isGnu [ "udevruledir=$(out)/lib/udev/rules.d" ];
+
+  enableParallelBuilding = true;
+
+  passthru.tests = {
+    simple-filesystem = runCommand "btrfs-progs-create-fs" {} ''
+      mkdir -p $out
+      truncate -s110M $out/disc
+      ${btrfs-progs}/bin/mkfs.btrfs $out/disc | tee $out/success
+      ${btrfs-progs}/bin/btrfs check $out/disc | tee $out/success
+      [ -e $out/success ]
+    '';
+  };
   meta = with lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = "https://btrfs.wiki.kernel.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/filesystems/catcli/default.nix b/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
index 7bd6265851c4..540c4ba6c5f9 100644
--- a/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/catcli/default.nix
@@ -7,13 +7,13 @@
 buildPythonApplication rec {
 
   pname = "catcli";
-  version = "0.7.4";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "deadc0de6";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mzhfcf67dc5m0i9b216m58qg36g63if6273ch5bsckd0yrwdk8x";
+    sha256 = "1hkgf692h3akdxiwhzm3vqibh1ps661qllilf55nyk109cx79gna";
   };
 
   propagatedBuildInputs = [ docopt anytree ];
@@ -23,7 +23,7 @@ buildPythonApplication rec {
   meta = with lib; {
     description = "The command line catalog tool for your offline data";
     homepage = "https://github.com/deadc0de6/catcli";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ petersjt014 ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix
index 2eaa59b27e57..28d8e36f9502 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph-csi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/ceph/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
index 2c6175bec13e..1162c4e69b12 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
@@ -85,7 +85,7 @@ let
   };
 
   getMeta = description: with lib; {
-     homepage = "https://ceph.io/";
+     homepage = "https://ceph.io/en/";
      inherit description;
      license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
      maintainers = with maintainers; [ adev ak johanot krav ];
diff --git a/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix b/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
index 5f1775e77e09..d630c7d43f61 100644
--- a/nixpkgs/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 28109560ac29..0e6f5ad88346 100644
--- a/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "1.8";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VqtBJ8HRyhjwKVoRu6+EArZMVbzXkaK89yV56MzRUJo=";
+    sha256 = "sha256-FqlSMTCKtcG2HOA6KaPYArK/rxHG9eJSQmNOWIzJzCs=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/filesystems/garage/default.nix b/nixpkgs/pkgs/tools/filesystems/garage/default.nix
new file mode 100644
index 000000000000..fbeac15a38e2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix b/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
index b22273095fa1..772d91a83452 100644
--- a/nixpkgs/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
index dab69649fdcf..3c1e0c50d614 100644
--- a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/ioztat/default.nix b/nixpkgs/pkgs/tools/filesystems/ioztat/default.nix
new file mode 100644
index 000000000000..e87b96482c69
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/irods/common.nix b/nixpkgs/pkgs/tools/filesystems/irods/common.nix
index 87bb2b9051ce..fa80e024e3db 100644
--- a/nixpkgs/pkgs/tools/filesystems/irods/common.nix
+++ b/nixpkgs/pkgs/tools/filesystems/irods/common.nix
@@ -17,7 +17,7 @@
     "-DIRODS_EXTERNALS_FULLPATH_CPPZMQ=${cppzmq}"
     "-DIRODS_EXTERNALS_FULLPATH_CATCH2=${catch2}"
     "-DIRODS_LINUX_DISTRIBUTION_NAME=nix"
-    "-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=${builtins.nixVersion}"
+    "-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=1.0"
     "-DCPACK_GENERATOR=TGZ"
     "-DCMAKE_CXX_FLAGS=-I${lib.getDev libcxx}/include/c++/v1"
   ];
diff --git a/nixpkgs/pkgs/tools/filesystems/lfs/default.nix b/nixpkgs/pkgs/tools/filesystems/lfs/default.nix
index 38746981588e..d7cac06b5bd2 100644
--- a/nixpkgs/pkgs/tools/filesystems/lfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/lfs/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lfs";
-  version = "1.3.1";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3zGCVT3SfQm72CF2MasT7k5r1Jx9DRUrXKHBSpvcv10=";
+    sha256 = "sha256-UGeIY/wms4QxIzt+ctclUStuNNV6Hm3A4Wu+LfaKgbw=";
   };
 
-  cargoSha256 = "sha256-Q4eNvOY5c4KybDKVhcOznxGPUgyjgEYPD8+9r6sECXA=";
+  cargoSha256 = "sha256-c4rT6Y7XsmNrCtASkt6KWGTwGXwTM2berfdmSC61Z7s=";
 
   meta = with lib; {
     description = "Get information on your mounted disks";
diff --git a/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix b/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
index 2e58018bf18d..1a6ca5f87000 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/mtools/default.nix b/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
index 1f474f5beb07..0cafb0c83f0d 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix b/nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix
index a2dc01f8c097..58c5a8d54a2c 100644
--- a/nixpkgs/pkgs/tools/filesystems/mtpfs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/nilfs-utils/default.nix b/nixpkgs/pkgs/tools/filesystems/nilfs-utils/default.nix
index 3c2dfaf2f1d3..fe2047a6f139 100644
--- a/nixpkgs/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -47,6 +47,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license =  with licenses; [ gpl2 lgpl21 ];
     downloadPage = "http://nilfs.sourceforge.net/en/download.html";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/sdat2img/default.nix b/nixpkgs/pkgs/tools/filesystems/sdat2img/default.nix
new file mode 100644
index 000000000000..44e884201d4a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/sdat2img/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication {
+  pname = "sdat2img";
+  version = "unstable-2021-11-09";
+
+  src = fetchFromGitHub {
+    repo = "sdat2img";
+    owner = "xpirt";
+    rev = "b432c988a412c06ff24d196132e354712fc18929";
+    sha256 = "sha256-NCbf9H0hoJgeDtP6cQY0H280BQqgKXv3ConZ87QixVY=";
+  };
+
+  format = "other";
+  installPhase = ''
+    install -D $src/sdat2img.py $out/bin/sdat2img
+  '';
+
+  meta = {
+    description = "Convert sparse Android data image (.dat) into filesystem ext4 image (.img)";
+    homepage = "https://github.com/xpirt/sdat2img";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.xaverdh ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/smbnetfs/default.nix b/nixpkgs/pkgs/tools/filesystems/smbnetfs/default.nix
index bb042a95ecc4..a1831d44ada4 100644
--- a/nixpkgs/pkgs/tools/filesystems/smbnetfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     downloadPage = "https://sourceforge.net/projects/smbnetfs/files/smbnetfs";
-    updateWalker = true;
     homepage = "https://sourceforge.net/projects/smbnetfs/";
   };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/smbnetfs/default.upstream b/nixpkgs/pkgs/tools/filesystems/smbnetfs/default.upstream
deleted file mode 100644
index d56fa42f1d1b..000000000000
--- a/nixpkgs/pkgs/tools/filesystems/smbnetfs/default.upstream
+++ /dev/null
@@ -1,6 +0,0 @@
-url https://sourceforge.net/projects/smbnetfs/files/smbnetfs/
-version_link '[-][0-9.]+[a-z]*/$'
-version_link '[.]tar[.][a-z0-9]+/download$'
-SF_redirect
-version '.*[-]([0-9.]+[a-z]*)[.]tar[.].*' '\1'
-do_overwrite () { do_overwrite_just_version; }
diff --git a/nixpkgs/pkgs/tools/filesystems/snapraid/default.nix b/nixpkgs/pkgs/tools/filesystems/snapraid/default.nix
index 9f5980a07e7d..30283d560f85 100644
--- a/nixpkgs/pkgs/tools/filesystems/snapraid/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/snapraid/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapraid";
-  version = "12.0";
+  version = "12.1";
 
   src = fetchFromGitHub {
     owner = "amadvance";
     repo = "snapraid";
     rev = "v${version}";
-    sha256 = "sha256-CcJaxnbRvGYiQjU38qnTgNyim5aDQWmxhQv16ZT1F00=";
+    sha256 = "sha256-DaFL5YxKdL7swfiWAHNufkeQ7mNd/MdZ6E0yAtC58lc=";
   };
 
   VERSION = version;
diff --git a/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix b/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix
index 9c49c4677d2a..5825f8b25eeb 100644
--- a/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, boost, fuse, openssl, cmake, attr, jdk, ant, which, file, python
+{ stdenv, boost, fuse, openssl, cmake, attr, jdk, ant, which, file, python2
 , lib, valgrind, makeWrapper, fetchFromGitHub, fetchpatch }:
 
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   version = "1.5.1.81";
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ which attr python ];
+  buildInputs = [ which attr python2 ];
 
   patches = [
     (fetchpatch {
diff --git a/nixpkgs/pkgs/tools/games/minecraft/optifine/default.nix b/nixpkgs/pkgs/tools/games/minecraft/optifine/default.nix
index b7ca74822c40..7152cb1eec46 100644
--- a/nixpkgs/pkgs/tools/games/minecraft/optifine/default.nix
+++ b/nixpkgs/pkgs/tools/games/minecraft/optifine/default.nix
@@ -1,39 +1,67 @@
-{ lib
-, stdenv
-, fetchurl
-, makeWrapper
-, jre }:
-
-stdenv.mkDerivation rec {
-  pname = "optifine";
-  version = "1.18.1_HD_U_H4";
-
-  src = fetchurl {
-    url = "https://optifine.net/download?f=OptiFine_${version}.jar";
-    sha256 = "325168569b21a2dcde82999876f69ec9d8af75202a7021691f2abede4d81dcec";
-  };
-
-  dontUnpack = true;
-
-  nativeBuildInputs = [ jre makeWrapper ];
-
-  installPhase = ''
-    mkdir -p $out/{bin,lib/optifine}
-    cp $src $out/lib/optifine/optifine.jar
-
-    makeWrapper ${jre}/bin/java $out/bin/optifine \
-      --add-flags "-jar $out/lib/optifine/optifine.jar"
-  '';
-
-  meta = with lib; {
-    homepage = "https://optifine.net/";
-    description = "A Minecraft optimization mod";
-    longDescription = ''
-      OptiFine is a Minecraft optimization mod.
-      It allows Minecraft to run faster and look better with full support for HD textures and many configuration options.
-    '';
-    license = licenses.unfree;
-    maintainers = [ maintainers.ivar ];
-    platforms = platforms.unix;
+{ recurseIntoAttrs
+, callPackage
+}:
+
+recurseIntoAttrs rec {
+  optifine-latest = optifine_1_18_1;
+
+  optifine_1_18_1 = callPackage ./generic.nix {
+    version = "1.18.1_HD_U_H4";
+    sha256 = "sha256-MlFoVpshotzegpmYdvaeydivdSAqcCFpHyq+3k2B3Ow=";
+  };
+
+  optifine_1_17_1 = callPackage ./generic.nix {
+    version = "1.17.1_HD_U_H1";
+    sha256 = "sha256-HHt747bIHYY/WNAx19mNgvnLrLCqaKIqwXmmB7A895M=";
+  };
+
+  optifine_1_16_5 = callPackage ./generic.nix {
+    version = "1.16.5_HD_U_G8";
+    sha256 = "sha256-PHa8kO1EvOVnzufCDrLENhkm8jqG5TZ9WW9uYk0LSU8=";
+  };
+
+  optifine_1_15_2 = callPackage ./generic.nix {
+    version = "1.16.5_HD_U_G8";
+    sha256 = "sha256-PHa8kO1EvOVnzufCDrLENhkm8jqG5TZ9WW9uYk0LSU8=";
+  };
+
+  optifine_1_14_4 = callPackage ./generic.nix {
+    version = "1.14.4_HD_U_G5";
+    sha256 = "sha256-I+65vQO6yG4AQ0ZLAfX73ImsFKAQkTyrIOnQHldTibs=";
+  };
+
+  optifine_1_13_2 = callPackage ./generic.nix {
+    version = "1.13.2_HD_U_G5";
+    sha256 = "sha256-sjUQot8fPdbZTiLqt+exbF5T8kI5bLQevu7atW9Xu3E=";
+  };
+
+  optifine_1_12_2 = callPackage ./generic.nix {
+    version = "1.12.2_HD_U_G5";
+    sha256 = "sha256-OwAGeXdx/rl/LQ0pCK58mnjO+y5zCvHC6F0IqDm6Jx4=";
+  };
+
+  optifine_1_11_2 = callPackage ./generic.nix {
+    version = "1.11.2_HD_U_G5";
+    sha256 = "sha256-1sLUBtM5e5LDTUFCRZf9UeH6WOA8zY6TAmB9PCS5iv4=";
+  };
+
+  optifine_1_10 = callPackage ./generic.nix {
+    version = "1.10_HD_U_I5";
+    sha256 = "sha256-oKOsaNFnOKfhWLDDYG/0Z4h/ZCDtyJWS9LXPaKAApc0=";
+  };
+
+  optifine_1_9_4 = callPackage ./generic.nix {
+    version = "1.9.4_HD_U_I5";
+    sha256 = "sha256-t+OxIf0Tl/NZxUTl+LGnWRUhEwZ+vxiZfhclxEAf6yI=";
+  };
+
+  optifine_1_8_9 = callPackage ./generic.nix {
+    version = "1.8.9_HD_U_M5";
+    sha256 = "sha256-Jzl2CnD8pq5cfcgXvMYoPxj1Xjj6I3eNp/OHprckssQ=";
+  };
+
+  optifine_1_7_10 = callPackage ./generic.nix {
+    version = "1.7.10_HD_U_E7";
+    sha256 = "sha256-i82dg94AGgWR9JgQXzafBwxH0skZJ3TVpbafZG5E+rQ=";
   };
 }
diff --git a/nixpkgs/pkgs/tools/games/minecraft/optifine/generic.nix b/nixpkgs/pkgs/tools/games/minecraft/optifine/generic.nix
new file mode 100644
index 000000000000..d33e7d75126d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/games/minecraft/optifine/generic.nix
@@ -0,0 +1,44 @@
+{ version
+, sha256
+, lib
+, runCommand
+, fetchurl
+, makeWrapper
+, jre
+}:
+
+let
+  mcVersion = builtins.head (lib.splitString "_" version);
+in
+runCommand "optifine-${mcVersion}" {
+  pname = "optifine";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://optifine.net/download?f=OptiFine_${version}.jar";
+    inherit sha256;
+    name = "OptiFine_${version}.jar";
+  };
+
+  nativeBuildInputs = [ jre makeWrapper ];
+
+  meta = with lib; {
+    homepage = "https://optifine.net/";
+    description = "A Minecraft ${mcVersion} optimization mod";
+    longDescription = ''
+      OptiFine is a Minecraft optimization mod.
+      It allows Minecraft to run faster and look better with full support for HD textures and many configuration options.
+      This is for version ${mcVersion} of Minecraft.
+    '';
+    license = licenses.unfree;
+    maintainers = [ maintainers.ivar ];
+    platforms = platforms.unix;
+    mainProgram = "optifine";
+  };
+} ''
+  mkdir -p $out/{bin,lib/optifine}
+  cp $src $out/lib/optifine/optifine.jar
+
+  makeWrapper ${jre}/bin/java $out/bin/optifine \
+    --add-flags "-jar $out/lib/optifine/optifine.jar"
+''
diff --git a/nixpkgs/pkgs/tools/games/opentracker/default.nix b/nixpkgs/pkgs/tools/games/opentracker/default.nix
index a66d6f4aef53..6386d5daaf0e 100644
--- a/nixpkgs/pkgs/tools/games/opentracker/default.nix
+++ b/nixpkgs/pkgs/tools/games/opentracker/default.nix
@@ -41,6 +41,7 @@ buildDotnetModule rec {
   buildInputs = [
     stdenv.cc.cc.lib
     fontconfig
+    gtk3
   ];
 
   runtimeDeps = [
@@ -58,5 +59,7 @@ buildDotnetModule rec {
     homepage = "https://github.com/trippsc2/OpenTracker";
     license = licenses.mit;
     maintainers = [ maintainers.ivar ];
+    mainProgram = "OpenTracker";
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/games/weidu/default.nix b/nixpkgs/pkgs/tools/games/weidu/default.nix
index d325746dc8ca..0a144604b13d 100644
--- a/nixpkgs/pkgs/tools/games/weidu/default.nix
+++ b/nixpkgs/pkgs/tools/games/weidu/default.nix
@@ -11,7 +11,7 @@ let
   # 1. Needs ocaml >= 4.04 and <= 4.11
   # 2. ocaml 4.10 defaults to safe (immutable) strings so we need a version with
   #    that disabled as weidu is strongly dependent on mutable strings
-  ocaml' = ocaml-ng.ocamlPackages_4_10.ocaml.overrideAttrs (old: {
+  ocaml' = ocaml-ng.ocamlPackages_4_11.ocaml.overrideAttrs (old: {
     configureFlags = old.configureFlags ++ [
       # https://github.com/WeiDUorg/weidu/issues/197
       "--disable-force-safe-string"
@@ -21,13 +21,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "weidu";
-  version = "247.00";
+  version = "249.00";
 
   src = fetchFromGitHub {
     owner = "WeiDUorg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vAIIYn0urQnnL82mdfwJtahrS3uWPFferm+0F13TKcw=";
+    sha256 = "sha256-+vkKTzFZdAzY2dL+mZ4A0PDxhTKGgs9bfArz7S6b4m4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/graphics/adriconf/default.nix b/nixpkgs/pkgs/tools/graphics/adriconf/default.nix
index 74ff4f1ed666..738c53168826 100644
--- a/nixpkgs/pkgs/tools/graphics/adriconf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/agi/default.nix b/nixpkgs/pkgs/tools/graphics/agi/default.nix
index f1fcf458e63d..0365a8073277 100644
--- a/nixpkgs/pkgs/tools/graphics/agi/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/agi/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "agi";
-  version = "2.1.0-dev-20210924";
+  version = "2.2.0-dev-20220120";
 
   src = fetchzip {
     url = "https://github.com/google/agi-dev-releases/releases/download/v${version}/agi-${version}-linux.zip";
-    sha256 = "sha256-OX26qoyJMG54BA/62GbGRjqdYA7n56SUVVOcdyVAGmM=";
+    sha256 = "sha256-0f17CAANxomtx1fvhj+mI6k4IqwIimmcTSTXZGbbWDY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/graphics/barcode/default.nix b/nixpkgs/pkgs/tools/graphics/barcode/default.nix
index 2906304a6d2a..eed06602a5dd 100644
--- a/nixpkgs/pkgs/tools/graphics/barcode/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/barcode/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "0.99";
@@ -7,6 +7,14 @@ stdenv.mkDerivation rec {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
     sha256 = "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8";
   };
+  patches = [
+    # Pull upstream patch for -fno-common toolchains.
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "http://git.savannah.gnu.org/cgit/barcode.git/patch/?id=4654f68706a459c9602d9932b56a56e8930f7d53";
+      sha256 = "15kclzcwlh0ymr7m48vc0m8z98q0wf4xbfcky4g1y8yvvpvvrfgc";
+    })
+  ];
 
   hardeningDisable = [ "format" ];
 
@@ -15,7 +23,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux; # Maybe other non-darwin Unix
     downloadPage = "https://ftp.gnu.org/gnu/barcode/";
-    updateWalker = true;
     homepage = "https://www.gnu.org/software/barcode/";
     license = licenses.gpl3;
   };
diff --git a/nixpkgs/pkgs/tools/graphics/cuneiform/default.upstream b/nixpkgs/pkgs/tools/graphics/cuneiform/default.upstream
deleted file mode 100644
index 4fb85a2a1e89..000000000000
--- a/nixpkgs/pkgs/tools/graphics/cuneiform/default.upstream
+++ /dev/null
@@ -1,8 +0,0 @@
-url https://launchpad.net/cuneiform-linux/+download
-
-do_overwrite () {
-  ensure_hash
-  set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH"
-  set_var_value ' url' "$CURRENT_URL"
-}
diff --git a/nixpkgs/pkgs/tools/graphics/dpic/default.nix b/nixpkgs/pkgs/tools/graphics/dpic/default.nix
index fa6880f6f910..59518942963f 100644
--- a/nixpkgs/pkgs/tools/graphics/dpic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/findimagedupes/default.nix b/nixpkgs/pkgs/tools/graphics/findimagedupes/default.nix
new file mode 100644
index 000000000000..19a80434be1e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/findimagedupes/default.nix
@@ -0,0 +1,70 @@
+{ lib, stdenv, fetchurl, makeWrapper, perl, perlPackages, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  pname = "findimagedupes";
+  version = "2.19.1";
+
+  # fetching this from GitHub does not contain the correct version number
+  src = fetchurl {
+    url = "http://www.jhnc.org/findimagedupes/findimagedupes-${version}.tar.gz";
+    sha256 = "sha256-5NBPoXNZays5wzpQYar4uZZb0P/zB7fdecE+SjkJjcI=";
+  };
+
+  # Work around the "unpacker appears to have produced no directories"
+  setSourceRoot = "sourceRoot=$(pwd)";
+
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  buildInputs = [ perl ] ++ (with perlPackages; [
+    DBFile
+    FileMimeInfo
+    FileBaseDir
+    #GraphicsMagick
+    ImageMagick
+    Inline
+    InlineC
+    ParseRecDescent
+  ]);
+
+  # use /tmp as a storage
+  # replace GraphicsMagick with ImageMagick, because perl bindings are not yet available
+  postPatch = ''
+    substituteInPlace findimagedupes \
+      --replace "DIRECTORY => '/usr/local/lib/findimagedupes';" "DIRECTORY => '/tmp';" \
+      --replace "Graphics::Magick" "Image::Magick"
+  '';
+
+  buildPhase = "
+    runHook preBuild
+    ${perl}/bin/pod2man findimagedupes > findimagedupes.1
+    runHook postBuild
+  ";
+
+  installPhase = ''
+    runHook preInstall
+    install -D -m 755 findimagedupes $out/bin/findimagedupes
+    installManPage findimagedupes.1
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/findimagedupes" \
+      --prefix PERL5LIB : "${with perlPackages; makePerlPath [
+        DBFile
+        FileMimeInfo
+        FileBaseDir
+        #GraphicsMagick
+        ImageMagick
+        Inline
+        InlineC
+        ParseRecDescent
+      ]}"
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.jhnc.org/findimagedupes/";
+    description = "Finds visually similar or duplicate images";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ stunkymonkey ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/gifski/default.nix b/nixpkgs/pkgs/tools/graphics/gifski/default.nix
index fcbed6d4fa13..7571db85400f 100644
--- a/nixpkgs/pkgs/tools/graphics/gifski/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gifski/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gifski";
-  version = "1.5.1";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = "gifski";
     rev = version;
-    sha256 = "sha256-x2p+6m1pwXhmI9JvGUgLhxrGwpJa/e2wb5wOFdKQ2xg=";
+    sha256 = "sha256-TD6MSZfvJ8fLJxvDh4fc4Dij5t4WSH2/i9Jz7eBmlME=";
   };
 
-  cargoSha256 = "sha256-8t7VhPby56UX2LlD2xcJKkWamuJxN9LiVEQPEa78EQQ=";
+  cargoSha256 = "sha256-kG0svhytDzm2dc//8WTFm1sI3WS0Ny9yhYTSMoXnt8I=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix b/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix
index 1d26379c396a..8cc39c1f44af 100644
--- a/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gmic-qt/default.nix
@@ -1,10 +1,8 @@
 { lib
 , mkDerivation
 , fetchurl
-, fetchpatch
 , variant ? "standalone"
 , fetchFromGitHub
-, fetchFromGitLab
 , cmake
 , pkg-config
 , opencv3
@@ -20,6 +18,12 @@
 , gimp ? null
 , qtbase
 , qttools
+, writeShellScript
+, common-updater-scripts
+, gnugrep
+, gnused
+, coreutils
+, jq
 }:
 
 let
@@ -52,61 +56,42 @@ assert lib.assertMsg (builtins.all (d: d != null) variants.${variant}.extraDeps
 
 mkDerivation rec {
   pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
-  version = "2.7.1";
+  version = "3.0.0";
 
   gmic-community = fetchFromGitHub {
     owner = "dtschump";
     repo = "gmic-community";
-    rev = "3fd528f20a2a7d651e96078c205ff21efb9cdd1a";
-    sha256 = "08d37b49qgh5d4rds7hvr5wjj4p1y8cnbidz1cyqsibq0555pwq2";
+    rev = "df23b08bc52767762f0e38d040cd8ffeea4b865e";
+    sha256 = "euk5RsFPBgx2czAukPRdi/O4ahgXO8J8VJdiGHNge5M=";
   };
 
-  CImg = fetchFromGitLab {
-    domain = "framagit.org";
+  CImg = fetchFromGitHub {
     owner = "dtschump";
     repo = "CImg";
     rev = "v.${version}";
-    sha256 = "1mfkjvf5r3ppc1dd6yvqn7xlhgzfg9k1k5v2sq2k9m70g8p7rgpd";
+    sha256 = "dC4VuWTz0uyFxLjBQ+2ggndHaCErcoI7tJMfkqbWmeg=";
   };
 
   gmic_stdlib = fetchurl {
     name = "gmic_stdlib.h";
     url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h";
-    sha256 = "0v12smknr1s44s6wq2gbnw0hb98xrwp6i3zg9wf49cl7s9qf76j3";
+    sha256 = "CAYSxw5NCmE29hie1/J1csBcdQvIrmZ/+mNMl0sLLGI=";
   };
 
   gmic = fetchFromGitHub {
     owner = "dtschump";
     repo = "gmic";
     rev = "v.${version}";
-    sha256 = "0pa6kflr1gqgzh8rk7bylvkxs989r5jy0q7b62mnzx8895slwfb5";
+    sha256 = "PyeJmjOqjbHlZ1Xl3IpoOD6oZEcUrHNHqF7Ft1RZDL4=";
   };
 
   gmic_qt = fetchFromGitHub {
     owner = "c-koi";
     repo = "gmic-qt";
     rev = "v.${version}";
-    sha256 = "08a0660083wv5fb1w9qqhm4f8cfwbqq723qzqq647mid1n7sy959";
+    sha256 = "nENXumOArRAHENqnBUjM7m+I5hf/WAFTVfm6cJgnv+0=";
   };
 
-  patches = [
-    # Install GIMP plug-in to a correct destination
-    # https://github.com/c-koi/gmic-qt/pull/78
-    ./fix-gimp-plugin-path.patch
-  ];
-
-  unpackPhase = ''
-    cp -r ${gmic} gmic
-    ln -s ${gmic-community} gmic-community
-    cp -r ${gmic_qt} gmic_qt
-    chmod -R +w gmic gmic_qt
-    ln -s ${CImg} CImg
-
-    cp ${gmic_stdlib} gmic/src/gmic_stdlib.h
-
-    cd gmic_qt
-  '';
-
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -130,15 +115,54 @@ mkDerivation rec {
     "-DGMIC_QT_HOST=${if variant == "standalone" then "none" else variant}"
   ];
 
+  unpackPhase = ''
+    cp -r ${gmic} gmic
+    ln -s ${gmic-community} gmic-community
+    cp -r ${gmic_qt} gmic_qt
+    chmod -R +w gmic gmic_qt
+    ln -s ${CImg} CImg
+
+    cp ${gmic_stdlib} gmic/src/gmic_stdlib.h
+
+    cd gmic_qt
+  '';
+
   postFixup = lib.optionalString (variant == "gimp") ''
-    echo "wrapping $out/${gimp.targetPluginDir}/gmic_gimp_qt"
-    wrapQtApp "$out/${gimp.targetPluginDir}/gmic_gimp_qt"
+    echo "wrapping $out/${gimp.targetPluginDir}/gmic_gimp_qt/gmic_gimp_qt"
+    wrapQtApp "$out/${gimp.targetPluginDir}/gmic_gimp_qt/gmic_gimp_qt"
   '';
 
+  passthru = {
+    updateScript = writeShellScript "${pname}-update-script" ''
+      set -o errexit
+      PATH=${lib.makeBinPath [ common-updater-scripts curl gnugrep gnused coreutils jq ]}
+
+      latestVersion=$(curl 'https://gmic.eu/files/source/' | grep -E 'gmic_[^"]+\.tar\.gz' | sed -E 's/.+<a href="gmic_([^"]+)\.tar\.gz".+/\1/g' | sort --numeric-sort --reverse | head -n1)
+
+      if [[ "${version}" = "$latestVersion" ]]; then
+          echo "The new version same as the old version."
+          exit 0
+      fi
+
+      # gmic-community is not versioned so let’s just update to master.
+      communityLatestCommit=$(curl "https://api.github.com/repos/dtschump/gmic-community/commits/master")
+      communityLatestSha=$(echo "$communityLatestCommit" | jq .sha --raw-output)
+      communityLatestDate=$(echo "$communityLatestCommit" | jq .commit.committer.date --raw-output | sed 's/T.\+//')
+      update-source-version --source-key=gmic-community "gmic-qt" "unstable-$communityLatestDate" --rev="$communityLatestSha"
+
+      for component in CImg gmic_stdlib gmic gmic_qt; do
+          # The script will not perform an update when the version attribute is up to date from previous platform run
+          # We need to clear it before each run
+          update-source-version "--source-key=$component" "gmic-qt" 0 "$(printf '0%.0s' {1..64})"
+          update-source-version "--source-key=$component" "gmic-qt" $latestVersion
+      done
+    '';
+  };
+
   meta = with lib; {
     description = variants.${variant}.description;
     homepage = "http://gmic.eu/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch b/nixpkgs/pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch
deleted file mode 100644
index ac0600fb76c3..000000000000
--- a/nixpkgs/pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1483056..26d2b9a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -473,6 +473,7 @@
- 
-     execute_process(COMMAND gimptool-2.0 --libs-noui OUTPUT_VARIABLE GIMP2_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE)
-     execute_process(COMMAND gimptool-2.0 --cflags-noui OUTPUT_VARIABLE GIMP2_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
-+    execute_process(COMMAND pkg-config gimp-2.0 --define-variable=prefix=${CMAKE_INSTALL_PREFIX} --variable gimplibdir OUTPUT_VARIABLE GIMP2_PKGLIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
-     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GIMP2_INCLUDE_DIRS}")
- 
-     set (gmic_qt_SRCS ${gmic_qt_SRCS} src/Host/Gimp/host_gimp.cpp)
-@@ -484,7 +485,7 @@
-       ${GIMP2_LIBRARIES}
-       ${gmic_qt_LIBRARIES}
-       )
--    install(TARGETS gmic_gimp_qt RUNTIME DESTINATION bin)
-+    install(TARGETS gmic_gimp_qt RUNTIME DESTINATION "${GIMP2_PKGLIBDIR}/plug-ins")
- 
- elseif (${GMIC_QT_HOST} STREQUAL "krita")
- 
diff --git a/nixpkgs/pkgs/tools/graphics/grim/default.nix b/nixpkgs/pkgs/tools/graphics/grim/default.nix
index f678b2bcae98..43824e169047 100644
--- a/nixpkgs/pkgs/tools/graphics/grim/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix b/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix
index 9af99a58098b..74a0943afe33 100644
--- a/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gromit-mpx/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gromit-mpx";
-  version = "1.4";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "bk138";
     repo = "gromit-mpx";
     rev = version;
-    sha256 = "1xn14r7lhay720y78j1fs4amp5lia39kpq7vzv02x4nnwhgbsd9r";
+    sha256 = "sha256-K+NJagRdxnFw410pHDP+OY6yyFu/7mhLvZ8DIz08dsA=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix b/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
index fc7d909ca0dd..13ebb018d595 100644
--- a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
+++ b/nixpkgs/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.96.2";
+  version = "10.97.3";
 
   outputs = [ "bin" "out" "dev" ];
 
   src = fetchsvn {
     url = "https://svn.code.sf.net/p/netpbm/code/advanced";
-    rev = "4158";
-    sha256 = "NK8GXCvCEnbQJWvVngB5UMOVmfsiyU4Fq0JIY9UNSjo=";
+    rev = "4263";
+    sha256 = "qELSUQqzufKjaWwXgkrVFROozD4Wjj/BzN8iUuVffwQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/graphics/pikchr/default.nix b/nixpkgs/pkgs/tools/graphics/pikchr/default.nix
index ca4f647dfa2d..6e2517beccec 100644
--- a/nixpkgs/pkgs/tools/graphics/pikchr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/cmakelists.patch b/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/cmakelists.patch
new file mode 100644
index 000000000000..5ee94a917262
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/cmakelists.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a234caa..cd9d2c5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -114,6 +114,8 @@ if(USE_SYSTEM_NCNN)
+             include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
+         endif()
+         include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
++        include("${GLSLANG_TARGET_DIR}/SPIRV-Tools/SPIRV-ToolsTarget.cmake")
++        include("${GLSLANG_TARGET_DIR}/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake")
+         include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
+ 
+         if (NOT TARGET glslang OR NOT TARGET SPIRV)
diff --git a/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix b/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix
new file mode 100644
index 000000000000..d66a06b7eed2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchzip
+, fetchFromGitHub
+, cmake
+, spirv-headers
+, vulkan-headers
+, vulkan-loader
+, glslang
+, libgcc
+, libwebp
+, ncnn
+}:
+
+stdenv.mkDerivation rec {
+  pname = "Real-ESRGAN-ncnn-vulkan";
+  version = "0.1.3.2";
+
+  src = fetchFromGitHub {
+    owner = "xinntao";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-eLAIlOl1sUxijeVPFG+NscZGxDdtrQqVkMuxhegESHk=";
+  };
+  sourceRoot = "source/src";
+
+  models = fetchzip {
+    # Choose the newst release from https://github.com/xinntao/Real-ESRGAN/releases to update
+    url = "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.3.0/realesrgan-ncnn-vulkan-20211212-ubuntu.zip";
+    stripRoot = false;
+    sha256 = "sha256-17k6fewVEXxx7hi+vPXjHAOq4IIUHLh7WC80CwTeFKI=";
+  };
+
+  patches = [
+    ./cmakelists.patch
+    ./models_path.patch
+  ];
+
+  cmakeFlags = [
+    "-DUSE_SYSTEM_NCNN=1"
+    "-DUSE_SYSTEM_WEBP=1"
+
+    "-DGLSLANG_TARGET_DIR=${glslang}/lib/cmake"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ vulkan-headers vulkan-loader glslang libgcc libwebp ncnn ];
+
+  postPatch = ''
+    substituteInPlace main.cpp --replace REPLACE_MODELS $out/share/models
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share
+    cp realesrgan-ncnn-vulkan $out/bin/
+    cp -r ${models}/models $out/share
+  '';
+
+  meta = with lib; {
+    description = "NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration.";
+    homepage = "https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tilcreator ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/models_path.patch b/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/models_path.patch
new file mode 100644
index 000000000000..43b8e4503be2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/realesrgan-ncnn-vulkan/models_path.patch
@@ -0,0 +1,22 @@
+diff --git a/main.cpp b/main.cpp
+index eb6f6c8..b230bed 100644
+--- a/main.cpp
++++ b/main.cpp
+@@ -110,7 +110,7 @@ static void print_usage()
+     fprintf(stderr, "  -o output-path       output image path (jpg/png/webp) or directory\n");
+     fprintf(stderr, "  -s scale             upscale ratio (can be 2, 4. default=4)\n");
+     fprintf(stderr, "  -t tile-size         tile size (>=32/0=auto, default=0) can be 0,0,0 for multi-gpu\n");
+-    fprintf(stderr, "  -m model-path        folder path to pre-trained models(default=models)\n");
++    fprintf(stderr, "  -m model-path        folder path to pre-trained models(default=REPLACE_MODELS)\n");
+     fprintf(stderr, "  -n model-name        model name (default=realesrgan-x4plus, can be realesrgan-x4plus | realesrgan-x4plus-anime | realesrnet-x4plus | RealESRGANv2-animevideo-xsx2 | RealESRGANv2-animevideo-xsx4 | RealESRGANv2-anime-xsx2 | RealESRGANv2-anime-xsx4)\n");
+     fprintf(stderr, "  -g gpu-id            gpu device to use (default=auto) can be 0,1,2 for multi-gpu\n");
+     fprintf(stderr, "  -j load:proc:save    thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu\n");
+@@ -438,7 +438,7 @@ int main(int argc, char** argv)
+     path_t outputpath;
+     int scale = 4;
+     std::vector<int> tilesize;
+-    path_t model = PATHSTR("models");
++    path_t model = PATHSTR("REPLACE_MODELS");
+     path_t modelname = PATHSTR("realesrgan-x4plus");
+     std::vector<int> gpuid;
+     int jobs_load = 1;
diff --git a/nixpkgs/pkgs/tools/graphics/resvg/default.nix b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
index 11cdb85ca5fb..67fe03728463 100644
--- a/nixpkgs/pkgs/tools/graphics/resvg/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "resvg";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pw6qxOpujpljZyDnS7PFFhBbOSTYlX7R7Nn1GyxYQYI=";
+    sha256 = "sha256-I0I6gb2jG0ZeEp6WwDipe43wuek43CWm0zGBX2hAros=";
   };
 
-  cargoSha256 = "sha256-Jhco7KdEQOxfHOAPNIHZfAED5LOZD5kelaDSBeuT41E=";
+  cargoSha256 = "sha256-EdbyaVrHjjVUNmQM96VKCeU3ss1G/N4OZxFMLvFgRqY=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/scrot/default.nix b/nixpkgs/pkgs/tools/graphics/scrot/default.nix
index aa525abacb07..11d2a3c0b89b 100644
--- a/nixpkgs/pkgs/tools/graphics/scrot/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/scrot/default.nix
@@ -1,25 +1,46 @@
-{ lib, stdenv, fetchFromGitHub, giblib, xlibsWrapper, autoreconfHook
-, autoconf-archive, libXfixes, libXcursor, libXcomposite }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, imlib2
+, xlibsWrapper
+, autoreconfHook
+, autoconf-archive
+, libXfixes
+, libXcomposite
+, pkg-config
+, libbsd
+}:
 
 stdenv.mkDerivation rec {
   pname = "scrot";
-  version = "1.5";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "resurrecting-open-source-projects";
     repo = pname;
     rev = version;
-    sha256 = "sha256-4vguodLnCj0sOBLM4oJXTfX1p8hIo3WTwIuViPtZxHQ=";
+    sha256 = "sha256-oVmEPkEK1xDcIRUQjCp6CKf+aKnnVe3L7aRTdSsCmmY=";
   };
 
-  nativeBuildInputs = [ autoreconfHook autoconf-archive ];
-  buildInputs = [ giblib xlibsWrapper libXfixes libXcursor libXcomposite ];
+  nativeBuildInputs = [
+    autoreconfHook
+    autoconf-archive
+    pkg-config
+  ];
+
+  buildInputs = [
+    imlib2
+    xlibsWrapper
+    libXfixes
+    libXcomposite
+    libbsd
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/resurrecting-open-source-projects/scrot";
     description = "A command-line screen capture utility";
     platforms = platforms.linux;
     maintainers = with maintainers; [ globin ];
-    license = licenses.mit;
+    license = licenses.mitAdvertising;
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/svgbob/default.nix b/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
index 2e3740dabb7c..52ef4230fd3a 100644
--- a/nixpkgs/pkgs/tools/graphics/svgbob/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/timg/default.nix b/nixpkgs/pkgs/tools/graphics/timg/default.nix
index 7c2d004144dc..136b5a241511 100644
--- a/nixpkgs/pkgs/tools/graphics/timg/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/timg/default.nix
@@ -1,18 +1,18 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, graphicsmagick, libjpeg
-, ffmpeg, zlib, libexif }:
+, ffmpeg, zlib, libexif, openslide }:
 
 stdenv.mkDerivation rec {
   pname = "timg";
-  version = "1.4.2";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "hzeller";
     repo = "timg";
     rev = "v${version}";
-    sha256 = "1zjcaxnik8imkn22g5kz6zly3yxpknrzd093sfxpgqnfw4sq8149";
+    sha256 = "1gdwg15fywya6k6pajkx86kv2d8k85pmisnq53b02br5i01y4k41";
   };
 
-  buildInputs = [ graphicsmagick ffmpeg libexif libjpeg zlib ];
+  buildInputs = [ graphicsmagick ffmpeg libexif libjpeg openslide zlib ];
 
   nativeBuildInputs = [ cmake pkg-config ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     "-DTIMG_VERSION_FROM_GIT=Off"
     "-DWITH_VIDEO_DECODING=On"
     "-DWITH_VIDEO_DEVICE=On"
-    "-DWITH_OPENSLIDE_SUPPORT=Off" # https://openslide.org/ lib not yet in nix
+    "-DWITH_OPENSLIDE_SUPPORT=On"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/graphics/transfig/default.nix b/nixpkgs/pkgs/tools/graphics/transfig/default.nix
deleted file mode 100644
index 617ecbf90ee9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch b/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch
deleted file mode 100644
index 9c1895b15196..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch b/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch
deleted file mode 100644
index 87f01f70d302..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch b/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch
deleted file mode 100644
index 5bd05c97be8e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch b/nixpkgs/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch
deleted file mode 100644
index 3f330c164e7e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch b/nixpkgs/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch
deleted file mode 100644
index 4639658dccd8..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/graphics/unpaper/default.nix b/nixpkgs/pkgs/tools/graphics/unpaper/default.nix
index 20dfe15dc6c6..fdd8cb80e567 100644
--- a/nixpkgs/pkgs/tools/graphics/unpaper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/vips/default.nix b/nixpkgs/pkgs/tools/graphics/vips/default.nix
index 26d63791be8e..270f508a88b5 100644
--- a/nixpkgs/pkgs/tools/graphics/vips/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vips/default.nix
@@ -38,7 +38,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.12.1";
+  version = "8.12.2";
 
   outputs = [ "bin" "out" "man" "dev" ];
 
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "sha256-Zo1Y4pYa+o55+ASrAiDUO7SAC4zpcAniEKkTFvIoU6o=";
+    sha256 = "sha256-ffDJJWe/SzG+lppXEiyfXXL5KLdZgnMjv1SYnuYnh4c=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix
index ed7655763262..df41ecd485db 100644
--- a/nixpkgs/pkgs/tools/graphics/vulkan-extension-layer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix b/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
index 9f9593b2cf70..987511b1cc96 100644
--- a/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vulkan-tools";
-  version = "1.2.189.1";
+  version = "1.2.198.0";
 
   # It's not strictly necessary to have matching versions here, however
   # since we're using the SDK version we may as well be consistent with
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
       owner = "KhronosGroup";
       repo = "Vulkan-Tools";
       rev = "sdk-${version}";
-      sha256 = "0izmzyj6gb51d71vbdjcgd9qw34aidvbmz0mg4bkc13n48w8s9vj";
+      sha256 = "sha256-oNJm9Gi41aA5krkpkQI0EYdIlMcQpdodv9yqXhnNURA=";
     });
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/graphics/zbar/default.nix b/nixpkgs/pkgs/tools/graphics/zbar/default.nix
index e17580d9c000..b75df56e4327 100644
--- a/nixpkgs/pkgs/tools/graphics/zbar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/inputmethods/emote/default.nix b/nixpkgs/pkgs/tools/inputmethods/emote/default.nix
index 79831d7ef1ec..b2c0fe6cc61c 100644
--- a/nixpkgs/pkgs/tools/inputmethods/emote/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
index 2767b4c7c0ef..422b1148d05b 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx-libpinyin";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-libpinyin/${pname}-${version}.tar.xz";
-    sha256 = "196c229ckib3xvafkk4n3n3jk9rpksfcjsbbwka6a9k2f34qrjj6";
+    sha256 = "1wvsc21imbgq3chlxfw4aycmkb2vi1bkjj9frvhga2m5b5pq82k5";
   };
 
   nativeBuildInputs = [ cmake pkg-config  ];
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
index bae542cefbae..f00da6045a3c 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
@@ -41,13 +41,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "fcitx5";
-  version = "5.0.11";
+  version = "5.0.14";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-81FuV6wBDQcOG5TLEJBqSG09BRgLekAo3tqZA40AQYo=";
+    sha256 = "sha256-Trpye+jTu+l8ieUK6IX+ZqNe4H2DvoJ10juiMkEGRKM=";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
new file mode 100644
index 000000000000..7d3ef954b272
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, gettext
+, fcitx5
+, libchewing
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fcitx5-chewing";
+  version = "5.0.9";
+
+  src = fetchFromGitHub {
+    owner = "fcitx";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-wPfod0BNvNy1gwSJyu7N0sS61StnmXLrMNFgmHk9A0M=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    gettext
+  ];
+
+  buildInputs = [
+    fcitx5
+    libchewing
+  ];
+
+  meta = with lib; {
+    description = "Chewing wrapper for Fcitx5";
+    homepage = "https://github.com/fcitx/fcitx5-chewing";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ xrelkd ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
index b52d03b7743f..7f75748df57b 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
@@ -31,13 +31,13 @@ in
 
 mkDerivation rec {
   pname = "fcitx5-chinese-addons";
-  version = "5.0.9";
+  version = "5.0.11";
 
   src = fetchFromGitHub {
     owner = "fcitx";
-    repo = "fcitx5-chinese-addons";
+    repo = pname;
     rev = version;
-    sha256 = "sha256-GnFIbvbLkL8YkLA3ziS8gBia9juDOkQWRcrXIPJAjLc=";
+    sha256 = "sha256-PBKTc6yxCaLYZxfR7158rTkR7GsDCapjCKBuLxNu4dU=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
index 7a7801b35270..42a7ffd0100e 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
@@ -19,13 +19,13 @@
 
 mkDerivation rec {
   pname = "fcitx5-configtool";
-  version = "5.0.9";
+  version = "5.0.11";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QPRaATx6TaysfZrFCR/Itc+4hx3sx7kLbahacQGrccE=";
+    sha256 = "sha256-8Yj4ueLyfPlvjI3HLH5qudY5BEQaBkM5rNgqjH1ihV8=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
index 43224553753d..eaec4463ca59 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-gtk";
-  version = "5.0.10";
+  version = "5.0.12";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QR2ZHP6dP7XcOCJw2BE1ak+mnRL0njV2T1+iBeMA+do=";
+    sha256 = "sha256-wSYYVQMuydtxMQ/v9b6bBMesyfKlsqUqpqf/y74Q4zc=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
new file mode 100644
index 000000000000..2357c73b764c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, gettext
+, fcitx5
+, libhangul
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fcitx5-hangul";
+  version = "5.0.7";
+
+  src = fetchFromGitHub {
+    owner = "fcitx";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-vjKQ0h85gvlE+inHuzkIBLgluwA6c/XADtyMi6nQNc8=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    gettext
+  ];
+
+  buildInputs = [
+    fcitx5
+    libhangul
+  ];
+
+  meta = with lib; {
+    description = "Hangul wrapper for Fcitx5";
+    homepage = "https://github.com/fcitx/fcitx5-hangul";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ xrelkd ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
index 879e6ffa78fa..8f53508a0433 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-lua";
-  version = "5.0.5";
+  version = "5.0.6";
 
   src = fetchFromGitHub {
     owner = "fcitx";
-    repo = "fcitx5-lua";
+    repo = pname;
     rev = version;
-    sha256 = "0x7b78rz9mdyhm3y8yi7kihah7fgqzjyfgqwjyfx3i90wxflnmmc";
+    sha256 = "sha256-6znDtU/yVAJByhCanW7KVg5Tk615aCLbFbxDMESVOlY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
index a8a1cd0eb7a3..ab2219bfb9a8 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-m17n";
-  version = "5.0.6";
+  version = "5.0.8";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-w806Xy7S8rhw7ZtMRzHfUD9BDzj3VmCxlP+kHMZgFpc=";
+    sha256 = "sha256-Mh3a7PzfNmGGXzKb/6QUgLmRw7snsM3WSOduFdxj6OM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
index 15b6f51126d9..24e06028a45a 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "fcitx5-qt";
-  version = "5.0.8";
+  version = "5.0.10";
 
   src = fetchFromGitHub {
     owner = "fcitx";
-    repo = "fcitx5-qt";
+    repo = pname;
     rev = version;
-    sha256 = "sha256-S7hbcAyoS+gagqoL+C3YgcyjODnE+ZvHEFIoAqAmOxo=";
+    sha256 = "sha256-KSnbwXMyAnya0Os/xrmjzK/wD6/dpM48rs1nS9SL5hs=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
index f25a41306365..ecbe4d5c67b4 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
@@ -6,22 +6,21 @@
 , gettext
 , fcitx5
 , librime
-, brise
 }:
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-rime";
-  version = "5.0.9";
+  version = "5.0.11";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-DRT4e59sMgS1xOIVx4t8I4aJGPprvRS6CYcNssIU2iY=";
+    sha256 = "sha256-kEqooOSLMp2LF911M1q67GYRGx421V6iExXOQk1pcl0=";
   };
 
   cmakeFlags = [
-    "-DRIME_DATA_DIR=${brise}/share/rime-data"
+    "-DRIME_DATA_DIR=${placeholder "out"}/share/rime-data"
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
index 65ad408adeba..fd91a9bafb4a 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-table-extra";
-  version = "5.0.7";
+  version = "5.0.8";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-K+MeFfst+vxgaHkYgLzfj7wqHYP6dIbh5ZOYHaV0cXo=";
+    sha256 = "sha256-8ad7A6MHkVfQEVMrbuAv2sJlc7t3rlz4EFqaMe51YSw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
index b6ba9bfd1632..dc601aca8060 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-table-other";
-  version = "5.0.6";
+  version = "5.0.7";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-NePb2tDy8mSR+cPxhOF4xBnxFRjLKdNs8YNGlvfFKmg=";
+    sha256 = "sha256-XpQ/5OLNEcJTu1LvGBM6arGZrBl6XSIWx9MDKH9WIt4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
new file mode 100644
index 000000000000..d9517ce214d6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
@@ -0,0 +1,34 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, fcitx5
+, fcitx5-qt
+, gettext
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fcitx5-unikey";
+  version = "5.0.8";
+
+  src = fetchFromGitHub {
+    owner = "fcitx";
+    repo = "fcitx5-unikey";
+    rev = version;
+    sha256 = "sha256-UdhTIVRLEqzxh9aafqwLhA8EOKiO/tD5QksdVd0rvqI=";
+  };
+
+  nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ];
+
+  buildInputs = [ fcitx5 fcitx5-qt gettext ];
+
+  meta = with lib; {
+    description = "Unikey engine support for Fcitx5";
+    homepage = "https://github.com/fcitx/fcitx5-unikey";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ berberman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py b/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py
index 9f54e313fd34..205705700404 100755
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py
@@ -6,8 +6,24 @@ import json
 import requests
 import subprocess
 
-REPOS = [ "libime", "xcb-imdkit", "fcitx5", "fcitx5-gtk", "fcitx5-qt", "fcitx5-configtool", "fcitx5-lua",
-          "fcitx5-rime", "fcitx5-chinese-addons", "fcitx5-table-extra", "fcitx5-table-other" ]
+REPOS = [
+        "libime",
+        "xcb-imdkit",
+
+        "fcitx5",
+        "fcitx5-chewing",
+        "fcitx5-chinese-addons",
+        "fcitx5-configtool",
+        "fcitx5-gtk",
+        "fcitx5-hangul",
+        "fcitx5-lua",
+        "fcitx5-m17n",
+        "fcitx5-qt",
+        "fcitx5-rime",
+        "fcitx5-table-extra",
+        "fcitx5-table-other",
+        "fcitx5-unikey"
+        ]
 
 OWNER = "fcitx"
 
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index b5a10a83d860..a81602b3cfee 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , autoreconfHook
 , gettext
@@ -11,6 +12,10 @@
 , glib
 , gtk3
 , python3
+, lua
+, opencc
+, libsoup
+, json-glib
 }:
 
 stdenv.mkDerivation rec {
@@ -31,6 +36,11 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
+  configureFlags = [
+    "--enable-cloud-input-mode"
+    "--enable-opencc"
+  ];
+
   buildInputs = [
     ibus
     glib
@@ -42,6 +52,10 @@ stdenv.mkDerivation rec {
     ]))
     gtk3
     db
+    lua
+    opencc
+    libsoup
+    json-glib
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 410774e3897b..9712b56b01e1 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/inputmethods/input-remapper/default.nix b/nixpkgs/pkgs/tools/inputmethods/input-remapper/default.nix
new file mode 100644
index 000000000000..82664c3700e2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/inputmethods/kime/default.nix b/nixpkgs/pkgs/tools/inputmethods/kime/default.nix
index 6cac37da7db2..68a91d2bfca7 100644
--- a/nixpkgs/pkgs/tools/inputmethods/kime/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/kime/default.nix
@@ -16,18 +16,18 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "kime";
-  version = "2.5.5";
+  version = "2.5.6";
 
   src = fetchFromGitHub {
     owner = "Riey";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-u2CmehJipXSH1dey5oIyQf8CsRveeae5cSjpY8vWYRs=";
+    sha256 = "sha256-r5luI6B4IjNTbh2tzpqabokgwkmbyXrA61+F2HDEWuo=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
-    sha256 = "sha256-ROzEEfIPeWoWDi5McNwub5E/UCAeJpOx5nZS9r/q4K4=";
+    sha256 = "sha256-GvBnNPY51RPt+I73oet5tB/EE2UsEPKbelJZkSY3xNw=";
   };
 
   # Replace autostart path
diff --git a/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix b/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix
index 6606f1f0011f..0028fa6b7b23 100644
--- a/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/remote-touchpad/default.nix
@@ -9,19 +9,19 @@
 
 buildGoModule rec {
   pname = "remote-touchpad";
-  version = "1.0.4";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "unrud";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VgTjQXjJn17+BhREew62RTjNo8UWc4Fn9x+924nGD+I=";
+    sha256 = "sha256-XyE8N+YVwfgxToKkhpe8zJ0e3HFDpKt7cfERxWCfbfU=";
   };
 
   buildInputs = [ libX11 libXi libXt libXtst ];
   tags = [ "portal,x11" ];
 
-  vendorSha256 = "sha256-Cw4uMnID0nDhSl+ijHMo1VcXLdY1bHFpEkqDQDJOJOw=";
+  vendorSha256 = "sha256-zTx38kW/ylXXML73C2sFQciV2y3+qbO0S/ZdkiEh5Qs=";
 
   meta = with lib; {
     description = "Control mouse and keyboard from the webbrowser of a smartphone.";
diff --git a/nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix b/nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix
index a50770c73559..c78890772717 100644
--- a/nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/touchegg/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, lib
+{ stdenv
+, lib
 , fetchFromGitHub
 , fetchpatch
+, nix-update-script
 , systemd
 , libinput
 , pugixml
@@ -16,15 +18,28 @@
 
 stdenv.mkDerivation rec {
   pname = "touchegg";
-  version = "2.0.12";
+  version = "2.0.13";
+
   src = fetchFromGitHub {
     owner = "JoseExposito";
     repo = pname;
     rev = version;
-    sha256 = "sha256-oJzehs7oLFTDn7GSm6bY/77tEfyEdlANn69EdCApdPA=";
+    sha256 = "sha256-wfXA4+HSLFHMvdsnyiTfRxPqdSsvd0RMkKIacf+rLZI=";
   };
 
-  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
+  patches = lib.optionals withPantheon [
+    # Disable per-application gesture by default to make sure the default
+    # config does not conflict with Pantheon switchboard settings.
+    (fetchpatch {
+      url = "https://github.com/elementary/os-patches/commit/7d9b133e02132d7f13cf2fe850b2fe4c015c3c5e.patch";
+      sha256 = "sha256-ZOGVkxiXoTORXC6doz5r9IObAbYjhsDjgg3HtzlTSUc=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+  ];
 
   buildInputs = [
     systemd
@@ -43,19 +58,13 @@ stdenv.mkDerivation rec {
     libxcb
   ]);
 
-  nativeBuildInputs = [
-    pkg-config
-    cmake
-  ];
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
 
-  patches = lib.optionals withPantheon [
-    # Disable per-application gesture by default to make sure the default
-    # config does not conflict with Pantheon switchboard settings.
-    (fetchpatch {
-      url = "https://github.com/elementary/os-patches/commit/ada4e726540a2bb57b606c98e2531cfaaea57211.patch";
-      sha256 = "0is9acwvgiqdhbiw11i3nq0rp0zldcza779fbj8k78cp329rbqb4";
-    })
-  ];
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
 
   meta = with lib; {
     homepage = "https://github.com/JoseExposito/touchegg";
diff --git a/nixpkgs/pkgs/tools/misc/adrgen/default.nix b/nixpkgs/pkgs/tools/misc/adrgen/default.nix
new file mode 100644
index 000000000000..08fec93b5871
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/adrgen/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, testVersion
+, adrgen
+}:
+
+buildGoModule rec {
+  pname = "adrgen";
+  version = "0.4.0-beta";
+
+  src = fetchFromGitHub {
+    owner = "asiermarques";
+    repo = "adrgen";
+    rev = "v${version}";
+    sha256 = "sha256-2ZE/orsfwL59Io09c4yfXt2enVmpSM/QHlUMgyd9RYQ=";
+  };
+
+  vendorSha256 = "sha256-aDtUD+KKKSE0TpSi4+6HXSBMqF/TROZZhT0ox3a8Idk=";
+
+  passthru.tests.version = testVersion {
+    package = adrgen;
+    command = "adrgen version";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/asiermarques/adrgen";
+    description = "A command-line tool for generating and managing Architecture Decision Records";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.ivar ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/aescrypt/default.nix b/nixpkgs/pkgs/tools/misc/aescrypt/default.nix
index 2a8b8b0b024d..0ced53804643 100644
--- a/nixpkgs/pkgs/tools/misc/aescrypt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/android-tools/default.nix b/nixpkgs/pkgs/tools/misc/android-tools/default.nix
index de526cf0ccfc..5bc9e1d820fa 100644
--- a/nixpkgs/pkgs/tools/misc/android-tools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/android-tools/default.nix
@@ -9,11 +9,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "android-tools";
-  version = "31.0.3";
+  version = "31.0.3p1";
 
   src = fetchurl {
     url = "https://github.com/nmeum/android-tools/releases/download/${version}/android-tools-${version}.tar.xz";
-    sha256 = "0adhws565ny90vzh5jpkbcai8sfs3b9acs0bgl6bm9z1nr2xklnp";
+    sha256 = "1f2svy381r798hjinrc2xiwz13gkkqxfill343zvv8jqkn8rzxhf";
   };
 
   patches = [
@@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     install -Dm755 ../vendor/avb/avbtool.py -t $out/bin
-    install -Dm755 ../vendor/mkbootimg/mkbootimg.py $out/bin/mkbootimg
   '';
 
   meta = with lib; {
@@ -56,6 +55,8 @@ stdenv.mkDerivation rec {
       - fastboot
       - mke2fs.android (required by fastboot)
       - simg2img, img2simg, append2simg
+      - lpdump, lpmake, lpadd, lpflash, lpunpack
+      - mkbootimg, unpack_bootimg, repack_bootimg
     '';
     # https://developer.android.com/studio/command-line#tools-platform
     # https://developer.android.com/studio/releases/platform-tools
diff --git a/nixpkgs/pkgs/tools/misc/antimicrox/default.nix b/nixpkgs/pkgs/tools/misc/antimicrox/default.nix
index e248ac4a0c78..6d1ae6cfe3b7 100644
--- a/nixpkgs/pkgs/tools/misc/antimicrox/default.nix
+++ b/nixpkgs/pkgs/tools/misc/antimicrox/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "antimicrox";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "AntiMicroX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-brG3DTpWRYmDemTeteuuNbF0JoDAXdcFwO12JC6/0/Q=";
+    sha256 = "sha256-dj/6bIJfNt/ZBVucjLRu2FYLoyuWZ72MB20eVCRvo0Y=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config itstool ];
diff --git a/nixpkgs/pkgs/tools/misc/anystyle-cli/default.nix b/nixpkgs/pkgs/tools/misc/anystyle-cli/default.nix
index 7a437cafc281..379ed14f8ef6 100644
--- a/nixpkgs/pkgs/tools/misc/anystyle-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/anystyle-cli/default.nix
@@ -30,7 +30,7 @@ buildRubyGem rec {
   propagatedBuildInputs = [ deps ];
 
   preFixup = ''
-    wrapProgram $out/bin/anystyle --prefix PATH ${poppler_utils}/bin
+    wrapProgram $out/bin/anystyle --prefix PATH : ${poppler_utils}/bin
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/apt-offline/default.nix b/nixpkgs/pkgs/tools/misc/apt-offline/default.nix
index d59134a033b7..122ca0abcff9 100644
--- a/nixpkgs/pkgs/tools/misc/apt-offline/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/bash_unit/default.nix b/nixpkgs/pkgs/tools/misc/bash_unit/default.nix
index e77bf22d826c..a64a457cdf76 100644
--- a/nixpkgs/pkgs/tools/misc/bash_unit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bash_unit/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bash_unit";
-  version = "1.8.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "pgrange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QWZnzliiqUfg6kXq1VGTNczupxNCgz1gFURrB/K2b4A=";
+    sha256 = "sha256-TtpVldIAqyv+apXmbI+1L0NgZxoKdc6Ffrl4WOqRI9c=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/bashplotlib/default.nix b/nixpkgs/pkgs/tools/misc/bashplotlib/default.nix
index 44d7e93355bb..d35d9ebcbcc0 100644
--- a/nixpkgs/pkgs/tools/misc/bashplotlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/bat/default.nix b/nixpkgs/pkgs/tools/misc/bat/default.nix
index a46a32d6a88b..b6801be35481 100644
--- a/nixpkgs/pkgs/tools/misc/bat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bat/default.nix
@@ -12,15 +12,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bat";
-  version = "0.18.3";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3XwnlSPlyEE4oznXK59/rooZLtj1+VbozprXU2W0J5I=";
+    sha256 = "sha256-XF5wMLHdiyasB2H6thk6OrkAm5bZZmlPFlBl02k52qU=";
   };
-  cargoSha256 = "sha256-g5yfE/s1N6EgI2ikiJbypI4iQbXPu6zGNoSVC6ldoWo=";
+  cargoSha256 = "sha256-GipH9CBzvfaDqov1v9bKtrsRhUfiQ/AhBi1p+gBTwzM=";
 
   nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
 
diff --git a/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix b/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix
index 735508fed216..aca0a6b687f5 100644
--- a/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bdf2sfd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2sfd";
-  version = "1.1.6";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "fcambus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-f3IdTk1GEo1GlbiJMCpqwheNJrndm7aCojA+GuKMTao=";
+    sha256 = "sha256-q+FLmu2JCDTJ6zC8blkd27jAKWbNpPyKzmUj1bW1mfA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/misc/bfr/default.nix b/nixpkgs/pkgs/tools/misc/bfr/default.nix
index 7bda1d92afbe..5308d2098d5e 100644
--- a/nixpkgs/pkgs/tools/misc/bfr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bfr/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   patches =
     [ (fetchurl {
-        url = "https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/bfr/files/bfr-1.6-perl.patch?revision=1.1";
+        url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-misc/bfr/files/bfr-1.6-perl.patch";
         sha256 = "1pk9jm3c1qzs727lh0bw61w3qbykaqg4jblywf9pvq5bypk88qfj";
       })
     ];
diff --git a/nixpkgs/pkgs/tools/misc/blink1-tool/default.nix b/nixpkgs/pkgs/tools/misc/blink1-tool/default.nix
index fc82d8244970..44cfa2fbfe72 100644
--- a/nixpkgs/pkgs/tools/misc/blink1-tool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/blink1-tool/default.nix
@@ -1,32 +1,45 @@
-{ lib, stdenv, fetchFromGitHub, libusb1, pkg-config, ... }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libusb1
+}:
 
 stdenv.mkDerivation rec {
   pname = "blink1";
-  version = "1.98a";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "todbot";
-    repo = "blink1";
+    repo = "blink1-tool";
     rev = "v${version}";
-    sha256 = "sha256-o4pOF6Gp70AL63ih6BNOpRTCs7+qzeZrEqaR4hYDTG8=";
+    fetchSubmodules = true;
+    hash = "sha256-xuCjPSQUQ/KOcdsie/ndecUiEt+t46m4eI33PXJoAAY=";
   };
 
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "@git submodule update --init" "true"
+  '';
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libusb1 ];
 
-  configurePhase = ''
-    cd commandline
-  '';
+  makeFlags = [
+    "GIT_TAG=v${version}"
+    "USBLIB_TYPE=HIDAPI"
+    "HIDAPI_TYPE=LIBUSB"
+  ];
 
-  installPhase = ''
-    PREFIX=$out make install
-  '';
+  hardeningDisable = [ "format" ];
+
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  meta = {
+  meta = with lib; {
     description = "Command line client for the blink(1) notification light";
     homepage = "https://blink1.thingm.com/";
-    license = lib.licenses.cc-by-sa-30;
-    maintainers = [ lib.maintainers.cransom ];
-    platforms = lib.platforms.linux;
+    license = with licenses; [ cc-by-sa-40 ];
+    maintainers = with maintainers; [ cransom ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix b/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix
index 2acc8dabbef9..b71b5b444e31 100644
--- a/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "broadlink-cli";
-  version = "0.17.0";
+  version = "0.18.0";
 
   # the tools are available as part of the source distribution from GH but
   # not pypi, so we have to fetch them here.
@@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
     owner  = "mjg59";
     repo   = "python-broadlink";
     rev    = version;
-    sha256 = "sha256-b3A36BdIvyl1RxNO5SyxLIpQmu1UHHekyh6vrFjwpp4=";
+    sha256 = "0nh9rn1zpc44qsc50360ycg02gwbgq59784mnkp01nhavnwwwx10";
   };
 
   format = "other";
diff --git a/nixpkgs/pkgs/tools/misc/broot/default.nix b/nixpkgs/pkgs/tools/misc/broot/default.nix
index d1cc0503efc2..9961416e0d3d 100644
--- a/nixpkgs/pkgs/tools/misc/broot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/broot/default.nix
@@ -15,14 +15,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.7.4";
+  version = "1.9.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-laFLm6A0EeprSHuqBi3p4ykgBbCinYU1sf0iRV0PY/M=";
+    sha256 = "sha256-oIStnwbfp48QHkSlXgveH9AM2fmmrrSmwdvXxvbV/tg=";
   };
 
-  cargoHash = "sha256-0ybig1S56cJjf6QGWuDasfsIiwRhK+bpWNKOjs4D7P8=";
+  cargoHash = "sha256-DOPFVa2w+ldG7fnundBGb+jM0t2E2jS0nJIIzekD2QE=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/tools/misc/btdu/default.nix b/nixpkgs/pkgs/tools/misc/btdu/default.nix
new file mode 100644
index 000000000000..d297af0d4402
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/btdu/update.py b/nixpkgs/pkgs/tools/misc/btdu/update.py
new file mode 100755
index 000000000000..aa3b149d733e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index 932d9c19f302..1ac88f3ab92d 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.9.4";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-idkPhBGrLz4xv/DnFt4iiO4jVRTsBmMXGhM0MQmVtpw=";
+    sha256 = "sha256-wBt3tlEKN5Woid43hdXm0+JPdb7axRPYCJD6KQEOZ3M=";
   };
 
-  vendorSha256 = "sha256-9uOlNgMsz4UklSk7UJDKZMjszoxQZK6mLQwhtK8I+Mc=";
+  vendorSha256 = "sha256-7PwqekYz/Um67gKeU7v8p9gIEYGCQ4l9K0jew5HCSo4=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/cht.sh/default.nix b/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
index e9c045638e44..08769893272a 100644
--- a/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cht.sh/default.nix
@@ -10,15 +10,15 @@
 
 stdenv.mkDerivation {
   pname = "cht.sh";
-  version = "unstable-2021-11-17";
+  version = "unstable-2022-01-01";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "chubin";
     repo = "cheat.sh";
-    rev = "e0010117ca3eeb22e79346cb37f3897b7404ed12";
-    sha256 = "GJSJyIQ+8kz/+8/3lgPVr+V6zoo7iW739Z2frLpMTJI=";
+    rev = "46d1a5f73c6b88da15d809154245dbf234e9479e";
+    sha256 = "6uEbxkkNV5EGhiCSoWJgfRUUqUS3OFTVOZFlVyMp/x8=";
   };
 
   # Fix ".cht.sh-wrapped" in the help message
diff --git a/nixpkgs/pkgs/tools/misc/clickclack/default.nix b/nixpkgs/pkgs/tools/misc/clickclack/default.nix
index 0bcea9a2e8ea..c7e1cbee79a5 100644
--- a/nixpkgs/pkgs/tools/misc/clickclack/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix b/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
index 5eff549a6517..005e1f4d02af 100644
--- a/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "cloud-sql-proxy";
-  version = "1.27.1";
+  version = "1.28.1";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "cloudsql-proxy";
     rev = "v${version}";
-    sha256 = "sha256-xVPs7D639KY2ryDZpivineH4yZSNXi78FWk2SFKX1sk=";
+    sha256 = "sha256-mQYzc5OPYEsxBeSRiPHvYvh8grPOgB5sWB9EBrY3a6A=";
   };
 
   subPackages = [ "cmd/cloud_sql_proxy" ];
 
-  vendorSha256 = "sha256-913GJ/rPvDavQQMqDDTe4gBXziPPeQRPpUUG3DAz96g=";
+  vendorSha256 = "sha256-+vuhOrUvA6W6y/6oEvJtsYixyvRzFPzpbw0Qn0AnYRI=";
 
   checkFlags = [ "-short" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/code-minimap/default.nix b/nixpkgs/pkgs/tools/misc/code-minimap/default.nix
index 6723ad98f489..dc264307e7d8 100644
--- a/nixpkgs/pkgs/tools/misc/code-minimap/default.nix
+++ b/nixpkgs/pkgs/tools/misc/code-minimap/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "code-minimap";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nUEmlKqCskPEQCOS2NC6jF4yVDarJeb3p+BKZq/2qvw=";
+    sha256 = "sha256-XhewfU3l/n2wiF9pKm1OOKQ7REzz3WzcBiVgOiYnAYU=";
   };
 
-  cargoSha256 = "sha256-yjjoQYYWK9/9fOP5ICnhpuF/07SyCszB9GCDr0GJ0v0=";
+  cargoSha256 = "sha256-Z3bc0w8slI9lHbDbrIK65xurtmTK4Y4caF7kxxJBA3Q=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/nixpkgs/pkgs/tools/misc/colord-gtk/default.nix b/nixpkgs/pkgs/tools/misc/colord-gtk/default.nix
index d77204836b2f..097605026ee3 100644
--- a/nixpkgs/pkgs/tools/misc/colord-gtk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/colord/default.nix b/nixpkgs/pkgs/tools/misc/colord/default.nix
index 89435332c9cb..f3d7503b9c9d 100644
--- a/nixpkgs/pkgs/tools/misc/colord/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/coreutils/default.nix b/nixpkgs/pkgs/tools/misc/coreutils/default.nix
index e6809b474ea2..befe53b9d907 100644
--- a/nixpkgs/pkgs/tools/misc/coreutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/coreutils/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation (rec {
     ./fix-chmod-exit-code.patch
     # Workaround for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51433
     ./disable-seek-hole.patch
+    # Workaround for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52330
+    # This patch can be dropped, once we upgrade to the next coreutils version after 9.0
+    ./fix-arm64-macos.patch
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/coreutils/fix-arm64-macos.patch b/nixpkgs/pkgs/tools/misc/coreutils/fix-arm64-macos.patch
new file mode 100644
index 000000000000..d8880b23dcbf
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/coreutils/fix-arm64-macos.patch
@@ -0,0 +1,124 @@
+diff --git a/src/uname.c b/src/uname.c
+index ae9b8e29d..e84fc477a 100644
+--- a/src/uname.c
++++ b/src/uname.c
+@@ -27,7 +27,7 @@
+ # include <sys/systeminfo.h>
+ #endif
+ 
+-#if HAVE_SYS_SYSCTL_H && ! defined __GLIBC__
++#if HAVE_SYS_SYSCTL_H && ! defined __GLIBC__ && ! defined __APPLE__
+ # if HAVE_SYS_PARAM_H
+ #  include <sys/param.h> /* needed for OpenBSD 3.0 */
+ # endif
+@@ -44,11 +44,6 @@
+ # endif
+ #endif
+ 
+-#ifdef __APPLE__
+-# include <mach/machine.h>
+-# include <mach-o/arch.h>
+-#endif
+-
+ #include "system.h"
+ #include "die.h"
+ #include "error.h"
+@@ -167,6 +162,24 @@ print_element (char const *element)
+   fputs (element, stdout);
+ }
+ 
++/* Print ELEMENT, preceded by a space if something has already been
++   printed.  But if the environment variable ENVVAR is set, print its
++   value instead of ELEMENT.  */
++
++static void
++print_element_env (char const *element, char const *envvar)
++{
++#ifdef __APPLE__
++  if (envvar)
++    {
++      char const *val = getenv (envvar);
++      if (val)
++        element = val;
++    }
++#endif
++  print_element (element);
++}
++
+ 
+ /* Set all the option flags according to the switches specified.
+    Return the mask indicating which elements to print.  */
+@@ -287,26 +300,36 @@ main (int argc, char **argv)
+         die (EXIT_FAILURE, errno, _("cannot get system name"));
+ 
+       if (toprint & PRINT_KERNEL_NAME)
+-        print_element (name.sysname);
++        print_element_env (name.sysname, "UNAME_SYSNAME");
+       if (toprint & PRINT_NODENAME)
+-        print_element (name.nodename);
++        print_element_env (name.nodename, "UNAME_NODENAME");
+       if (toprint & PRINT_KERNEL_RELEASE)
+-        print_element (name.release);
++        print_element_env (name.release, "UNAME_RELEASE");
+       if (toprint & PRINT_KERNEL_VERSION)
+-        print_element (name.version);
++        print_element_env (name.version, "UNAME_VERSION");
+       if (toprint & PRINT_MACHINE)
+-        print_element (name.machine);
++        print_element_env (name.machine, "UNAME_MACHINE");
+     }
+ 
+   if (toprint & PRINT_PROCESSOR)
+     {
+       char const *element = unknown;
++#ifdef __APPLE__
++# if defined __arm__ || defined __arm64__
++      element = "arm";
++# elif defined __i386__ || defined __x86_64__
++      element = "i386";
++# elif defined __ppc__ || defined __ppc64__
++      element = "powerpc";
++# endif
++#endif
+ #if HAVE_SYSINFO && defined SI_ARCHITECTURE
+-      {
+-        static char processor[257];
+-        if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
+-          element = processor;
+-      }
++      if (element == unknown)
++        {
++          static char processor[257];
++          if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
++            element = processor;
++        }
+ #endif
+ #ifdef UNAME_PROCESSOR
+       if (element == unknown)
+@@ -316,26 +339,6 @@ main (int argc, char **argv)
+           static int mib[] = { CTL_HW, UNAME_PROCESSOR };
+           if (sysctl (mib, 2, processor, &s, 0, 0) >= 0)
+             element = processor;
+-
+-# ifdef __APPLE__
+-          /* This kludge works around a bug in Mac OS X.  */
+-          if (element == unknown)
+-            {
+-              cpu_type_t cputype;
+-              size_t cs = sizeof cputype;
+-              NXArchInfo const *ai;
+-              if (sysctlbyname ("hw.cputype", &cputype, &cs, NULL, 0) == 0
+-                  && (ai = NXGetArchInfoFromCpuType (cputype,
+-                                                     CPU_SUBTYPE_MULTIPLE))
+-                  != NULL)
+-                element = ai->name;
+-
+-              /* Hack "safely" around the ppc vs. powerpc return value. */
+-              if (cputype == CPU_TYPE_POWERPC
+-                  && STRNCMP_LIT (element, "ppc") == 0)
+-                element = "powerpc";
+-            }
+-# endif
+         }
+ #endif
+       if (! (toprint == UINT_MAX && element == unknown))
diff --git a/nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix b/nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix
deleted file mode 100644
index 3fbdcfae0fe4..000000000000
--- a/nixpkgs/pkgs/tools/misc/cpuminer-multi/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, curl, jansson, autoconf, automake
-, aesni ? stdenv.hostPlatform.aesSupport }:
-
-stdenv.mkDerivation {
-  pname = "cpuminer-multi";
-  version = "unstable-2016-03-16";
-
-  src = fetchFromGitHub {
-    owner = "hyc";
-    repo = "cpuminer-multi";
-    rev = "8393e03089c0abde61bd5d72aba8f926c3d6eca4";
-    sha256 = "11dg4rra4dgfb9x6q85irn0hrkx2lkwyrdpgdh10pag09s3vhy4v";
-  };
-
-  buildInputs = [ autoconf automake curl jansson ];
-
-  preConfigure = ''
-    ./autogen.sh
-  '';
-
-  configureFlags = [ (if aesni then "--enable-aes-ni" else "--disable-aes-ni") ];
-
-  meta = with lib; {
-    description = "Multi-algo CPUMiner";
-    homepage = "https://github.com/wolf9466/cpuminer-multi";
-    license = licenses.gpl2;
-    # does not build on i686 https://github.com/lucasjones/cpuminer-multi/issues/27
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/misc/csvs-to-sqlite/default.nix b/nixpkgs/pkgs/tools/misc/csvs-to-sqlite/default.nix
index b351b6e4efb6..1deae6b3f833 100644
--- a/nixpkgs/pkgs/tools/misc/csvs-to-sqlite/default.nix
+++ b/nixpkgs/pkgs/tools/misc/csvs-to-sqlite/default.nix
@@ -7,7 +7,8 @@ let
   # Workaround the issue by providing click 7 explicitly.
   python = python3.override {
     packageOverrides = self: super: {
-      click = self.callPackage ../../../development/python-modules/click/7.nix { };
+      # Use click 7
+      click = self.callPackage ../../../development/python2-modules/click/default.nix { };
     };
   };
 in with python.pkgs; buildPythonApplication rec {
diff --git a/nixpkgs/pkgs/tools/misc/czkawka/default.nix b/nixpkgs/pkgs/tools/misc/czkawka/default.nix
index 4ad51baefe8c..fbe3a68d5842 100644
--- a/nixpkgs/pkgs/tools/misc/czkawka/default.nix
+++ b/nixpkgs/pkgs/tools/misc/czkawka/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "czkawka";
-  version = "3.3.1";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "qarmin";
     repo = "czkawka";
     rev = version;
-    sha256 = "0p1j5f5jk0cci6bg4jfnnn80gyi9039ni4ma8zwindk7fyn9gpc8";
+    sha256 = "sha256-UIgyKWMVSKAgUNqfxFYSfP+l9x52XAzrXr1nnfKub9I=";
   };
 
-  cargoSha256 = "1q35c5szavpsnzflw33radg6blzql3sz3jyzyqqz97ac69zns920";
+  cargoSha256 = "sha256-jPrkNKFmdVk3LEa20jtXSx+7S98fSrX7Rt/lexC0Gwo=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/tools/misc/ddccontrol/default.nix b/nixpkgs/pkgs/tools/misc/ddccontrol/default.nix
index 2a85c0dc2b8f..f89626c55ffd 100644
--- a/nixpkgs/pkgs/tools/misc/ddccontrol/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ddccontrol/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddccontrol";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "ddccontrol";
     repo = "ddccontrol";
-    rev = "0.5.2";
-    sha256 = "sha256-kul0sjbwbCwadvrccG3KwL/fKWACFUg74QGvgfWE4FQ=";
+    rev = version;
+    sha256 = "00pmnzvd4l3w6chzw41mrf1pd7lrcwi1n7320bnq20rn8hsnbnxk";
   };
 
   nativeBuildInputs = [
@@ -39,10 +39,17 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = ''
-    oldPath="\$""{datadir}/ddccontrol-db"
-    newPath="${ddccontrol-db}/share/ddccontrol-db"
-    sed -i -e "s|$oldPath|$newPath|" configure.ac
-    sed -i -e "s/chmod 4711/chmod 0711/" src/ddcpci/Makefile*
+    substituteInPlace configure.ac              \
+      --replace                                 \
+      "\$""{datadir}/ddccontrol-db"             \
+      "${ddccontrol-db}/share/ddccontrol-db"
+
+    substituteInPlace src/ddcpci/Makefile.am    \
+       --replace "chmod 4711" "chmod 0711"
+  '' + lib.optionalString (lib.versionAtLeast "0.6.0" version) ''
+    # Upstream PR: https://github.com/ddccontrol/ddccontrol/pull/115
+    substituteInPlace src/lib/Makefile.am       \
+      --replace "/etc/" "\$""{sysconfdir}/"
   '';
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/misc/ddcutil/default.nix b/nixpkgs/pkgs/tools/misc/ddcutil/default.nix
index 0a956a325197..9ee56a2d509a 100644
--- a/nixpkgs/pkgs/tools/misc/ddcutil/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/dialog/default.nix b/nixpkgs/pkgs/tools/misc/dialog/default.nix
index dd31fed35832..3cbea01be8a7 100644
--- a/nixpkgs/pkgs/tools/misc/dialog/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dialog/default.nix
@@ -8,15 +8,15 @@
 }:
 
 assert withLibrary -> libtool != null;
-assert unicodeSupport -> ncurses.unicode && ncurses != null;
+assert unicodeSupport -> ncurses.unicodeSupport && ncurses != null;
 
 stdenv.mkDerivation rec {
   pname = "dialog";
-  version = "1.3-20210621";
+  version = "1.3-20211214";
 
   src = fetchurl {
     url = "ftp://ftp.invisible-island.net/dialog/${pname}-${version}.tgz";
-    hash = "sha256-w68izPzZuso4QGIQjdk1ToaZCSnuJwwjnu9pUYxdp8g=";
+    hash = "sha256-zCll4FxqjDcHCza1ZBTqpWDfjYfyzqIXWeKJUOmyeks=";
   };
 
   buildInputs = [
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     description = "Display dialog boxes from shell";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ AndersonTorres spacefrogg ];
-    platforms = ncurses.meta.platforms;
+    inherit (ncurses.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index 8e10a8476287..dd458c0d511f 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -4,16 +4,18 @@
 , gzip, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, ocaml, oggvideotools, openssh, openssl, pdftk, pgpdump, poppler_utils, procyon, qemu, R
 , radare2, sng, sqlite, squashfsTools, tcpdump, ubootTools, odt2txt, unzip, wabt, xmlbeans, xxd, xz, zip, zstd
 , enableBloat ? false
+# updater only
+, writeScript
 }:
 
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "197";
+  version = "204";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-EKTknFa6gGqd1kpy/k1Vh1Zya+XvBMlU5G6Rg2p66es=";
+    sha256 = "sha256-JYo/4pqe2ISpLHn90hTBtr0ffviX8m4lWgVb6zwceP4=";
   };
 
   outputs = [ "out" "man" ];
@@ -48,7 +50,7 @@ python3Packages.buildPythonApplication rec {
       xz zip zstd
     ]
     ++ (with python3Packages; [
-      argcomplete debian defusedxml jsondiff jsbeautifier libarchive-c
+      argcomplete black debian defusedxml jsondiff jsbeautifier libarchive-c
       python_magic progressbar33 pypdf2 rpm tlsh
     ])
     ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit dtc ]
@@ -75,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"
@@ -91,6 +96,19 @@ python3Packages.buildPythonApplication rec {
     "tests/comparators/test_macho.py"
   ];
 
+   passthru = {
+    updateScript = writeScript "update-diffoscope" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p curl pcre common-updater-scripts
+
+      set -eu -o pipefail
+
+      # Expect the text in format of "Latest release: 198 (31 Dec 2021)"'.
+      newVersion="$(curl -s https://diffoscope.org/ | pcregrep -o1 'Latest release: ([0-9]+)')"
+      update-source-version ${pname} "$newVersion"
+    '';
+   };
+
   meta = with lib; {
     description = "Perform in-depth comparison of files, archives, and directories";
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/ignore_links.patch b/nixpkgs/pkgs/tools/misc/diffoscope/ignore_links.patch
index b88d6e0231ea..2830acdd9655 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/ignore_links.patch
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/ignore_links.patch
@@ -6,7 +6,7 @@ index 5f34d62..36999a3 100644
          FILE_RE = re.compile(r"^\s*File:.*$")
          DEVICE_RE = re.compile(r"Device: [0-9a-f]+h/[0-9]+d\s+")
          INODE_RE = re.compile(r"Inode: [0-9]+\s+")
-+        LINKS_RE = re.compile(r'Links: [0-9]+\s+')
++        LINKS_RE = re.compile(r"Links: [0-9]+\s+")
          ACCESS_TIME_RE = re.compile(r"^Access: [0-9]{4}-[0-9]{2}-[0-9]{2}.*$")
          CHANGE_TIME_RE = re.compile(r"^Change: [0-9]{4}-[0-9]{2}-[0-9]{2}.*$")
          BIRTH_TIME_RE = re.compile(r"^\s*Birth:.*$")
diff --git a/nixpkgs/pkgs/tools/misc/direnv/default.nix b/nixpkgs/pkgs/tools/misc/direnv/default.nix
index e9d38cbdcc2c..1920dac54343 100644
--- a/nixpkgs/pkgs/tools/misc/direnv/default.nix
+++ b/nixpkgs/pkgs/tools/misc/direnv/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "direnv";
-  version = "2.30.2";
+  version = "2.30.3";
 
   src = fetchFromGitHub {
     owner = "direnv";
     repo = "direnv";
     rev = "v${version}";
-    sha256 = "sha256-lQcy3EXl6KicAzRbypyX8sh39vNbZE2aUHBtwx07s9g=";
+    sha256 = "sha256-cLDafCZH0WKexO6jCdzUhRWaxmQYb1ay9w9lje3cQ+U=";
   };
 
   vendorSha256 = "sha256-YhgQUl9fdictEtz6J88vEzznGd8Ipeb9AYo/p1ZLz5k=";
@@ -29,6 +29,9 @@ buildGoModule rec {
 
   checkInputs = [ fish zsh ];
 
+  # temporarily disable tests, check if they can be reenabled with the next release
+  doCheck = false;
+
   checkPhase = ''
     export HOME=$(mktemp -d)
     make test-go test-bash test-fish test-zsh
diff --git a/nixpkgs/pkgs/tools/misc/disfetch/default.nix b/nixpkgs/pkgs/tools/misc/disfetch/default.nix
index 96f2b28b5e3f..57ab08971861 100644
--- a/nixpkgs/pkgs/tools/misc/disfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/disfetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "disfetch";
-  version = "2.15";
+  version = "3.6";
 
   src = fetchFromGitHub {
     owner = "q60";
     repo = "disfetch";
     rev = version;
-    sha256 = "sha256-1BxBeZfZK/vjUgTZknQLTLyWnI4LYyc1BmQeMcbwFP8=";
+    sha256 = "sha256-/Not2jNwk3jX8TLN7CT3JXDilatSYXPaudGKNAgQDPY=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/dua/default.nix b/nixpkgs/pkgs/tools/misc/dua/default.nix
index e94fabd01569..f0984696fe3f 100644
--- a/nixpkgs/pkgs/tools/misc/dua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dua/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.14.11";
+  version = "2.17.0";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
 
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    sha256 = "sha256-XMhgTJiP4whw1r+WtdG5CsQl/GIZPEg7/ElIEMZyWqM=";
+    sha256 = "sha256-yac/WUVL10JU1V5f9LYh57yYzZ2JMf24jMd8Mun7OMU=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-B4e8wT/RhpwtCb11HqN8vksshBaF/CmpMPT62aBuFnw=";
+  cargoSha256 = "sha256-Q0ZLMbnQeG/64QvAIPpa3k+lI6dbSSQcdYb5e2rX8U0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/duf/default.nix b/nixpkgs/pkgs/tools/misc/duf/default.nix
index e95edb08b84a..3bcb4cdfeb29 100644
--- a/nixpkgs/pkgs/tools/misc/duf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/duf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "duf";
-  version = "0.6.2";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "muesli";
     repo = "duf";
     rev = "v${version}";
-    sha256 = "sha256-aRXm31sGHvHPpqPck5+jplbWT52OzaiQIgU/C7llJs8=";
+    sha256 = "sha256-bVuqX88KY+ky+fd1FU9GWP78jQc4fRDk9yRSeIesHyI=";
   };
 
-  vendorSha256 = "153z0ccd556c0wpnxgyjq7m0c4y2z6fxsqq2p77kly9nr8cpzdb9";
+  vendorSha256 = "sha256-oihi7E67VQmym9U1gdD802AYxWRrSowhzBiKg0CBDPc=";
 
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/ent/default.nix b/nixpkgs/pkgs/tools/misc/ent/default.nix
index de2f2cc8a865..6904d4667721 100644
--- a/nixpkgs/pkgs/tools/misc/ent/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ent/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Pseudorandom Number Sequence Test Program";
-    homepage = "http://www.fourmilab.ch/random/";
+    homepage = "https://www.fourmilab.ch/random/";
     platforms = platforms.all;
     license = licenses.publicDomain;
   };
diff --git a/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix b/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix
index 43f71c2d69ee..dfb61ca29ad9 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix
+++ b/nixpkgs/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 = "20211211.0";
+  version = "20220209.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-xF1/gUJCr4qRO+AnWeFO6b1YnQBOgve/23ZaGmCa910=";
+    sha256 = "sha256-FkFu3SvsowcsOFXvqWmpY3KEypXSb6KcpC/nJbQpDBA=";
   };
 
   # no tests
diff --git a/nixpkgs/pkgs/tools/misc/esphome/default.nix b/nixpkgs/pkgs/tools/misc/esphome/default.nix
index d1b00e74ef7f..4d93a592d501 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/default.nix
@@ -1,5 +1,4 @@
 { lib
-, pkgs
 , python3
 , fetchFromGitHub
 , fetchpatch
@@ -11,25 +10,29 @@
 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 = "2021.12.2";
+  version = "2022.2.4";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Uq+VzU/j14+3LegEA9bQ1JGe5tUBuP0IX34LdritJdA=";
+    sha256 = "sha256-RG5wTWEpBEC4zTGJ7XTmnjnhSVAllqXjcr3qYbmhqP4=";
   };
 
   patches = [
-    # fix missing write permissions on src files before modifing them
-    ./fix-src-permissions.patch
+    (fetchpatch {
+      # Fix ESPHOME_USE_SUBPROCESS usage in the ESP32 post build script
+      # https://github.com/esphome/esphome/pull/3246
+      url = "https://github.com/esphome/esphome/commit/dcd3f42eda5828c42feadbaa04b703c63899be54.patch";
+      hash = "sha256-rF1YHRRHVHfoRs492zmIOmRGPUzxx3s673UVx5UJ3+M=";
+    })
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/esphome/fix-src-permissions.patch b/nixpkgs/pkgs/tools/misc/esphome/fix-src-permissions.patch
deleted file mode 100644
index 5e92350105dd..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/misc/etcher/default.nix b/nixpkgs/pkgs/tools/misc/etcher/default.nix
index 7f746b9a49bb..c9d746cc96f6 100644
--- a/nixpkgs/pkgs/tools/misc/etcher/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/fd/default.nix b/nixpkgs/pkgs/tools/misc/fd/default.nix
index 15af17524840..e8d77f0e612c 100644
--- a/nixpkgs/pkgs/tools/misc/fd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fd/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fd";
-  version = "8.3.0";
+  version = "8.3.2";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "fd";
     rev = "v${version}";
-    sha256 = "sha256-MSkQYsBZkQOFkOnjGY+VuifUZnzloSysAO/hsp+fy1A=";
+    sha256 = "sha256-aNAV0FVZEqtTdgvnLiS1ixtsPU48rUOZdmj07MiMVKg=";
   };
 
-  cargoSha256 = "sha256-nwgAgyVaxs1ebu9ndUN3FlFiycyEbRgvUhZ8iGmrVhQ=";
+  cargoSha256 = "sha256-A8MAgV7/6Vf+PaND+gaZz8IEq4Cw9ETEY+lF8R77lA4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/misc/fdtools/default.nix b/nixpkgs/pkgs/tools/misc/fdtools/default.nix
index f55c7f6d3b39..0815ae04d623 100644
--- a/nixpkgs/pkgs/tools/misc/fdtools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fdtools/default.nix
@@ -78,9 +78,9 @@ in stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = "https://code.dogmap.org./fdtools/";
+    homepage = "https://code.dogmap.org/fdtools/";
     description = "A set of utilities for working with file descriptors";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Only;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.Profpatsch ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/fend/default.nix b/nixpkgs/pkgs/tools/misc/fend/default.nix
index 8d6b2d382964..40ad6851f733 100644
--- a/nixpkgs/pkgs/tools/misc/fend/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/flameshot/default.nix b/nixpkgs/pkgs/tools/misc/flameshot/default.nix
index 1c0fd19ad2aa..82cf7a3b78fd 100644
--- a/nixpkgs/pkgs/tools/misc/flameshot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flameshot/default.nix
@@ -1,7 +1,6 @@
 { mkDerivation
 , lib
 , fetchFromGitHub
-, fetchpatch
 , qtbase
 , cmake
 , qttools
@@ -11,32 +10,15 @@
 
 mkDerivation rec {
   pname = "flameshot";
-  version = "0.10.2";
+  version = "11.0.0";
 
   src = fetchFromGitHub {
     owner = "flameshot-org";
     repo = "flameshot";
     rev = "v${version}";
-    sha256 = "sha256-rZUiaS32C77tFJmEkw/9MGbVTVscb6LOCyWaWO5FyR4=";
+    sha256 = "sha256-SlnEXW3Uhdgl0icwYyYsKQOcYkAtHpAvL6LMXBF2gWM=";
   };
 
-  patches = [
-    # Use absolute install path for `Exec=` in the desktop file.
-    # This is required since KWin relies on absolute paths in `Exec=` to find a process'
-    # corresponding desktop file and check if it's allowed to take screenshot.
-    # Should be removed when the next release comes out.
-    (fetchpatch {
-      url = "https://github.com/flameshot-org/flameshot/commit/1031980ed1e62d24d7f719998b7951d48801e3fa.patch";
-      sha256 = "sha256-o8Zz/bBvitXMDFt5rAfubiUPOx+EQ+ITgrfnFM3dFjE=";
-    })
-    # Fix autostart write path.
-    # Should be removed when the next release comes out.
-    (fetchpatch {
-      url = "https://github.com/flameshot-org/flameshot/commit/7977cbb52c2d785abd0d85d9df5991e8f7cae441.patch";
-      sha256 = "sha256-wWa9Y+4flBiggOMuX7KQyL+q3f2cALGeQBGusX2x6sk=";
-    })
-  ];
-
   passthru = {
     updateScript = nix-update-script {
       attrPath = pname;
diff --git a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
index f6dd32396d84..d860fe8cf365 100644
--- a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, flex, bison, systemd }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, flex, bison, systemd, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.8.9";
+  version = "1.8.11";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "sha256-b+MZuZQB/sl0HcioU1KCxH3TNiXYSPBfC9dBKqCVeXk=";
+    sha256 = "sha256-DULXfkddBdCvTWkuWXjSTEujRZ3mVVzy//qeB3j0Vz8=";
   };
 
   patches = lib.optionals stdenv.isDarwin [
@@ -32,7 +32,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake flex bison ];
 
-  buildInputs = lib.optionals stdenv.isLinux [ systemd ];
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isLinux [ systemd ];
 
   cmakeFlags = [ "-DFLB_METRICS=ON" "-DFLB_HTTP_SERVER=ON" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/fortune/default.nix b/nixpkgs/pkgs/tools/misc/fortune/default.nix
index aa18409525d2..988483fbd6a1 100644
--- a/nixpkgs/pkgs/tools/misc/fortune/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/fpp/default.nix b/nixpkgs/pkgs/tools/misc/fpp/default.nix
index 6c2abbf6c644..ff514ceafb20 100644
--- a/nixpkgs/pkgs/tools/misc/fpp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/fselect/default.nix b/nixpkgs/pkgs/tools/misc/fselect/default.nix
index 0dc15ed603d8..c02ceaac119c 100644
--- a/nixpkgs/pkgs/tools/misc/fselect/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fselect/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fselect";
-  version = "0.7.8";
+  version = "0.7.9";
 
   src = fetchFromGitHub {
     owner = "jhspetersson";
     repo = "fselect";
     rev = version;
-    sha256 = "sha256-L5Ka4nbzLAdiHigb9ByTonCmACtyWgduWOmp9tCqrz8=";
+    sha256 = "sha256-Z1F63tMO3qzi/PrdVR0WCcPXx5E6PwjYPF99Bolnxc8=";
   };
 
-  cargoSha256 = "sha256-kyA/d9h/FCiX/AliIaMvkNNPqzl19v2WPEYcRWuivNU=";
+  cargoSha256 = "sha256-tGzfIQ4nAFA/mXPL6cOaz97W5tjtPGsmbTSkUDFSAzY=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/nixpkgs/pkgs/tools/misc/gay/default.nix b/nixpkgs/pkgs/tools/misc/gay/default.nix
new file mode 100644
index 000000000000..799473a4b9f2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/gay/default.nix
@@ -0,0 +1,25 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "gay";
+  version = "1.2.8";
+
+  src = fetchFromGitHub {
+    owner = "ms-jpq";
+    repo = "gay";
+    # The repo doesn't have any tags
+    # This references version 1.2.8
+    rev = "1e3e96815c68214533a925c86a52b0acf832a359";
+    sha256 = "sha256-vouEFybcz27bcw/CpAGjFY8NYWQC+V0IE7h1a8XufZ0=";
+  };
+
+  meta = with lib; {
+    description = "Colour your text / terminal to be more gay";
+    longDescription = ''
+      Applies pride flag colors to text, ala lolcat or displays a pride flag.
+    '';
+    homepage = "https://github.com/ms-jpq/gay";
+    maintainers = with maintainers; [ CodeLongAndProsper90 ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/geekbench/default.nix b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
index 2cfd2cdac8bb..355d3e348852 100644
--- a/nixpkgs/pkgs/tools/misc/geekbench/default.nix
+++ b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.4.3";
+  version = "5.4.4";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "sha256-A/+XnLusceJXik86EiYeVFi4iplp4+izbYpWNp8QPiM=";
+    sha256 = "sha256-2kiaP7V/dGDHiYTqvVEwAaAMrSoLzYtvR4hgtG6iUoQ=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/tools/misc/gh-ost/default.nix b/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
index 16594f898b97..948132416ab5 100644
--- a/nixpkgs/pkgs/tools/misc/gh-ost/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/git-town/default.nix b/nixpkgs/pkgs/tools/misc/git-town/default.nix
index 27eb1275a2da..1afacc4b4b89 100644
--- a/nixpkgs/pkgs/tools/misc/git-town/default.nix
+++ b/nixpkgs/pkgs/tools/misc/git-town/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "git-town";
-  version = "7.6.0";
+  version = "7.7.0";
 
   goPackagePath = "github.com/git-town/git-town";
   src = fetchFromGitHub {
     owner = "git-town";
     repo = "git-town";
     rev = "v${version}";
-    sha256 = "sha256-yarJWIEIZuBcXXxltkiM7LwrEM8fveD3+JVoPGarhJQ=";
+    sha256 = "sha256-FpBEBx2gb33fGDndvZmvG1A61NoJ4Qy4V3YQSb+Ugsc=";
   };
 
   ldflags = [ "-X github.com/git-town/git-town/src/cmd.version=v${version}" "-X github.com/git-town/git-town/src/cmd.buildDate=nix" ];
diff --git a/nixpkgs/pkgs/tools/misc/gnokii/default.nix b/nixpkgs/pkgs/tools/misc/gnokii/default.nix
index 9803e8db0169..82bc79a77fdb 100644
--- a/nixpkgs/pkgs/tools/misc/gnokii/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gnokii/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Cellphone tool";
-    homepage = "http://www.gnokii.org";
+    homepage = "https://www.gnokii.org";
     maintainers = [ lib.maintainers.raskin ];
     platforms = lib.platforms.linux;
     broken = true; # 2018-04-10
diff --git a/nixpkgs/pkgs/tools/misc/goaccess/default.nix b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
index fd1c80a35a09..0515a2bbb805 100644
--- a/nixpkgs/pkgs/tools/misc/goaccess/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/goreleaser/default.nix b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
index fb8253919181..6ba612070431 100644
--- a/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.2.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-p+QLZ0G75Mk0Z9G+u+qcxTTWzPZnuM+inLO0Lkojs84=";
+    sha256 = "sha256-H7LgADzES5Zi5+lcooix+WCjDxqkThIIGvwa8IiHDHo=";
   };
 
-  vendorSha256 = "sha256-mAJrUGgO0iprQnYOa3TMENNJbJcgM1eiV/AG+TYP0Mg=";
+  vendorSha256 = "sha256-4Hb+SmmPk4+c4QoOJADinKGD1xd0RYzn2wniuBxatAw=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
index 7f5eef3b442b..e52744223dea 100644
--- a/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gotify-cli/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-X41m7bCilDgnTMJy3ISz8g7dAtaz/lphwaCPZDGMDXk=";
   };
 
-  vendorSha256 = "sha256-EKscJM8r1dbKRQPSZFwFqJYACkQynIS347460PuxQiU=";
+  vendorSha256 = "sha256-DvpdmURhOxDVFJiRtTGVw6u6y+s5XteT1owmdBJcKHA=";
 
   postInstall = ''
     mv $out/bin/cli $out/bin/gotify
diff --git a/nixpkgs/pkgs/tools/misc/grc/default.nix b/nixpkgs/pkgs/tools/misc/grc/default.nix
index bb44c800a312..7692c49fa696 100644
--- a/nixpkgs/pkgs/tools/misc/grc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/grc/default.nix
@@ -1,4 +1,7 @@
-{ lib, fetchFromGitHub, buildPythonApplication }:
+{ lib
+, fetchFromGitHub
+, buildPythonApplication
+}:
 
 buildPythonApplication rec {
   pname = "grc";
@@ -27,7 +30,7 @@ buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    homepage = "http://korpus.juls.savba.sk/~garabik/software/grc.html";
+    homepage = "http://kassiopeia.juls.savba.sk/~garabik/software/grc.html";
     description = "A generic text colouriser";
     longDescription = ''
       Generic Colouriser is yet another colouriser (written in Python) for
diff --git a/nixpkgs/pkgs/tools/misc/grub/2.0x.nix b/nixpkgs/pkgs/tools/misc/grub/2.0x.nix
index ea983d6f0437..745689e312fe 100644
--- a/nixpkgs/pkgs/tools/misc/grub/2.0x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/grub/trusted.nix b/nixpkgs/pkgs/tools/misc/grub/trusted.nix
index edb94891fbe9..13f3c42faa46 100644
--- a/nixpkgs/pkgs/tools/misc/grub/trusted.nix
+++ b/nixpkgs/pkgs/tools/misc/grub/trusted.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchgit, fetchpatch, autogen, flex, bison, python, autoconf, automake
+{ lib, stdenv, fetchurl, fetchgit, fetchpatch, autogen, flex, bison, python2, autoconf, automake
 , gettext, ncurses, libusb-compat-0_1, freetype, qemu, lvm2
 , for_HP_laptop ? false
 }:
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
           sha256 = "0yrfwx67gpg9gij5raq0cfbx3jj769lkg3diqgb7i9n86hgcdh4k";
         };
 
-  nativeBuildInputs = [ autogen flex bison python autoconf automake ];
+  nativeBuildInputs = [ autogen flex bison python2 autoconf automake ];
   buildInputs = [ ncurses libusb-compat-0_1 freetype gettext lvm2 ]
     ++ optional doCheck qemu;
 
diff --git a/nixpkgs/pkgs/tools/misc/h/default.nix b/nixpkgs/pkgs/tools/misc/h/default.nix
index 3f5878472a79..7a7ac2002544 100644
--- a/nixpkgs/pkgs/tools/misc/h/default.nix
+++ b/nixpkgs/pkgs/tools/misc/h/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "h";
-  version = "1.0.0";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "zimbatm";
     repo = "h";
     rev = "v${version}";
-    sha256 = "10y42nn9lgkwdjia74qfyf937nam4md3pkyfjinj7jybvcran4bj";
+    hash = "sha256-RyQZ9F+rZ0a/90hljSyNCzYK8eA3rYJlJkV7B5NPRzY=";
   };
 
   buildInputs = [ ruby ];
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/default.nix b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
index 5671e73c85f8..d34282259026 100644
--- a/nixpkgs/pkgs/tools/misc/hdf5/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/hexd/default.nix b/nixpkgs/pkgs/tools/misc/hexd/default.nix
index 467e85128b82..e3a3f79f3268 100644
--- a/nixpkgs/pkgs/tools/misc/hexd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/hidrd/default.nix b/nixpkgs/pkgs/tools/misc/hidrd/default.nix
index 74bb771c1d48..0c58a5e42f98 100644
--- a/nixpkgs/pkgs/tools/misc/hidrd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hidrd/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pacien ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/hidrd.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/hiksink/default.nix b/nixpkgs/pkgs/tools/misc/hiksink/default.nix
index 3b4fb8b0af35..0fcdb2fdca07 100644
--- a/nixpkgs/pkgs/tools/misc/hiksink/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix b/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix
index 9f7fa31d3f2c..c2c48bfa7d80 100644
--- a/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix
@@ -28,7 +28,7 @@ buildGoPackage rec {
 
   meta = with lib; {
     description = "An implementation of blockchain technology, leveraging familiar and proven technologies";
-    homepage = "https://wiki.hyperledger.org/projects/Fabric";
+    homepage = "https://wiki.hyperledger.org/display/fabric";
     license = licenses.asl20;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/inav-blackbox-tools/default.nix b/nixpkgs/pkgs/tools/misc/inav-blackbox-tools/default.nix
index 5f2fb65f9f3d..43524f6a3fe2 100644
--- a/nixpkgs/pkgs/tools/misc/inav-blackbox-tools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/inav-blackbox-tools/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ expipiplus1 ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/inav-blackbox-tools.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/infracost/default.nix b/nixpkgs/pkgs/tools/misc/infracost/default.nix
index a22e6eab06cc..293ee08a2752 100644
--- a/nixpkgs/pkgs/tools/misc/infracost/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/interactsh/default.nix b/nixpkgs/pkgs/tools/misc/interactsh/default.nix
index 7da2a7fe729e..39511f567fd3 100644
--- a/nixpkgs/pkgs/tools/misc/interactsh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/interactsh/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "interactsh";
-  version = "0.0.6";
+  version = "0.0.7";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9h2RdP0rVmStl+obMbBHcbfiOBiJ/2sbk2XvH3YaHRo=";
+    sha256 = "sha256-TP2U2gQHmpAFHr5uh7MCNXZ22k8+U4h0bBxkMiMzof0=";
   };
 
   vendorSha256 = "sha256-9ehliyOCrWSDHVtmuUFBdw4BY6ygOvr2JxxJ3TvmSFU=";
diff --git a/nixpkgs/pkgs/tools/misc/ised/default.upstream b/nixpkgs/pkgs/tools/misc/ised/default.upstream
deleted file mode 100644
index 6539bf477e54..000000000000
--- a/nixpkgs/pkgs/tools/misc/ised/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url http://ised.sourceforge.net/web_nav.html
-SF_version_tarball
-SF_redirect
-minimize_overwrite
diff --git a/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix b/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
index 05abfeaeebad..772eb520869b 100644
--- a/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/kalker/default.nix b/nixpkgs/pkgs/tools/misc/kalker/default.nix
index 4df8e03f2a15..b4a84adb457f 100644
--- a/nixpkgs/pkgs/tools/misc/kalker/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kalker/default.nix
@@ -6,16 +6,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "kalker";
-  version = "1.0.1-2";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "PaddiM8";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fXTsCHqm+wO/ygyg0y+44G9pgaaEEH9fgePCDH86/vU=";
+    sha256 = "sha256-NnX4+VmV4oZg/8Z3ZCWHGZ6dqDfvH30XErnrvKMxyls=";
   };
 
-  cargoSha256 = "sha256-Ul21otEYCJuX5GnfV9OTpk/+3y32biASYZQpOecr8aU=";
+  cargoSha256 = "sha256-nSLbe3EhcLYylvyzOWuLIehBnD6mMofsNpFQVEybV8k=";
 
   buildInputs = [ gmp mpfr libmpc ];
 
diff --git a/nixpkgs/pkgs/tools/misc/kepubify/default.nix b/nixpkgs/pkgs/tools/misc/kepubify/default.nix
index 3a9c83a8dad3..cd30674b31a8 100644
--- a/nixpkgs/pkgs/tools/misc/kepubify/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/keymapviz/default.nix b/nixpkgs/pkgs/tools/misc/keymapviz/default.nix
index c31fbd6e3256..d0c308c2471a 100644
--- a/nixpkgs/pkgs/tools/misc/keymapviz/default.nix
+++ b/nixpkgs/pkgs/tools/misc/keymapviz/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "keymapviz";
-  version = "1.9.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "yskoht";
     repo = pname;
     rev = version;
-    sha256 = "sha256-lNpUH4BvlnHx0SDq5YSsHdcTeEnf6MH2WRUEsCWWHA0=";
+    sha256 = "sha256-I16iJ6/CrjpDOmlewIxa5Xu/b/97VNH3ATwDNi3SuP8=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [ regex ];
diff --git a/nixpkgs/pkgs/tools/misc/krapslog/default.nix b/nixpkgs/pkgs/tools/misc/krapslog/default.nix
index a499c3eb46b4..5aec73bde5cb 100644
--- a/nixpkgs/pkgs/tools/misc/krapslog/default.nix
+++ b/nixpkgs/pkgs/tools/misc/krapslog/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krapslog";
-  version = "0.3.0";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "acj";
     repo = "krapslog-rs";
     rev = version;
-    sha256 = "sha256-IXbOmeWLhGOijO1xLItw1wzbHxl0Zyd0dHvfcaPWE8U=";
+    sha256 = "sha256-bzpZuLFSoIjZpK9cbxQEeyRwzuP7aDRG/xn/0056j+c=";
   };
 
-  cargoSha256 = "sha256-2XCtjMV8ko6jnvXYtJhLlNvB1uc0QLO/aYsQX40deBk=";
+  cargoSha256 = "sha256-o9e0EakIbi+qk0gPxlPGfNvRidmCklieJ94sYBSR3IY=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/nixpkgs/pkgs/tools/misc/latex2html/default.nix b/nixpkgs/pkgs/tools/misc/latex2html/default.nix
index 126d5bd4c49b..8765506ce305 100644
--- a/nixpkgs/pkgs/tools/misc/latex2html/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/lazydocker/default.nix b/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
index 2a63074c8d71..cfdce8e3c0bd 100644
--- a/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/less/default.nix b/nixpkgs/pkgs/tools/misc/less/default.nix
index 3c64f4240ea8..cdea90ef5bb2 100644
--- a/nixpkgs/pkgs/tools/misc/less/default.nix
+++ b/nixpkgs/pkgs/tools/misc/less/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "less";
-  version = "596";
+  version = "600";
 
   src = fetchurl {
-    url = "https://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-QhqP1ZfnIELu/P6OV2NnerxL6EM/bA321zmhbMDk1cM=";
+    url = "https://www.greenwoodsoftware.com/less/less-${version}.tar.gz";
+    sha256 = "sha256-ZjPWqis8xxevssIFd4x8QsRiD2Ox1oLz0SyYrwvnTSA=";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc.
diff --git a/nixpkgs/pkgs/tools/misc/licensor/default.nix b/nixpkgs/pkgs/tools/misc/licensor/default.nix
index 93983c8fe40b..510a169f2150 100644
--- a/nixpkgs/pkgs/tools/misc/licensor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/lookatme/default.nix b/nixpkgs/pkgs/tools/misc/lookatme/default.nix
new file mode 100644
index 000000000000..b046e1569044
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/lookatme/default.nix
@@ -0,0 +1,57 @@
+{ lib, python3, fetchFromGitHub }:
+
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      self = py;
+      # use click 7
+      click = self.callPackage ../../../development/python2-modules/click/default.nix { };
+      # needs pyyaml 5
+      pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
+        name = "${oldAttrs.pname}-${version}";
+        version = "5.4.1";
+        src = fetchFromGitHub {
+          owner = "yaml";
+          repo = "pyyaml";
+          rev = version;
+          sha256 = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM=";
+        };
+        checkPhase = ''
+          runHook preCheck
+          PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all
+          runHook postCheck
+        '';
+      });
+    };
+  };
+in
+with py.pkgs;
+
+buildPythonApplication rec {
+  pname = "lookatme";
+  version = "2.3.2";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-qIZMkgOm5jXmxTFLTqMBhpLBhfCL8xvUxxqpS6NjcVw=";
+  };
+
+  checkInputs = [ pytest ];
+
+  propagatedBuildInputs = [
+    click
+    pyyaml
+    pygments
+    marshmallow
+    mistune
+    urwid
+  ];
+
+  meta = with lib; {
+    description = "An interactive, terminal-based markdown presenter";
+    homepage = "https://github.com/d0c-s4vage/lookatme";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ameer ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/lottieconverter/default.nix b/nixpkgs/pkgs/tools/misc/lottieconverter/default.nix
index aae27cb652eb..ad2721c36e3a 100644
--- a/nixpkgs/pkgs/tools/misc/lottieconverter/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lottieconverter/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ CRTified ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/lottieconverter.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/lsd/default.nix b/nixpkgs/pkgs/tools/misc/lsd/default.nix
index c0d1c278bfdd..d72fad1a666c 100644
--- a/nixpkgs/pkgs/tools/misc/lsd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lsd/default.nix
@@ -2,20 +2,22 @@
 , fetchFromGitHub
 , rustPlatform
 , installShellFiles
+, testVersion
+, lsd
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "lsd";
-  version = "0.20.1";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "Peltoche";
     repo = pname;
     rev = version;
-    sha256 = "sha256-r/Rllu+tgKqz+vkxA8BSN+3V0lUUd6dEATfickQp4+s=";
+    sha256 = "sha256-4pa8yJjUTO5MUDuljfU9Vo2ZjbsIwWJsJj6VVNfN25A=";
   };
 
-  cargoSha256 = "sha256-O8P29eYlHgmmAADZ/DgTBmj0ZOa+4u/Oee+TMF+/4Ro=";
+  cargoSha256 = "sha256-P0HJVp2ReJuLSZrArw/EAfLFDOZqswI0nD1SCHwegoE=";
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
@@ -25,18 +27,9 @@ rustPlatform.buildRustPackage rec {
   # Found argument '--test-threads' which wasn't expected, or isn't valid in this context
   doCheck = false;
 
-  doInstallCheck = true;
-  installCheckPhase = ''
-    runHook preInstallCheck
-
-    testFile=$(mktemp /tmp/lsd-test.XXXX)
-    echo 'abc' > $testFile
-    $out/bin/lsd --classic --blocks "size,name" -l $testFile | grep "4 B $testFile"
-    $out/bin/lsd --version | grep "${version}"
-    rm $testFile
-
-    runHook postInstallCheck
-  '';
+  passthru.tests.version = testVersion {
+    package = lsd;
+  };
 
   meta = with lib; {
     homepage = "https://github.com/Peltoche/lsd";
diff --git a/nixpkgs/pkgs/tools/misc/macchina/default.nix b/nixpkgs/pkgs/tools/misc/macchina/default.nix
index 2dc6ba9f89e4..a38644f32dfd 100644
--- a/nixpkgs/pkgs/tools/misc/macchina/default.nix
+++ b/nixpkgs/pkgs/tools/misc/macchina/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "macchina";
-  version = "5.0.5";
+  version = "6.0.6";
 
   src = fetchFromGitHub {
     owner = "Macchina-CLI";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-si+5LvRUIWp48vsD1WxGWl2O/2bpaBX+ArkZPbBqtME=";
+    sha256 = "sha256-G95eQ5cIa5313k8YcuicbzPeq9VXVo2DgPMwfFMNXtk=";
   };
 
-  cargoSha256 = "sha256-CN7PxPUkfyDGxVaf879Sp6w0UbqwL/is15xcfH2fm1w=";
+  cargoSha256 = "sha256-mkAklLtG/sB0eLla5cveMqyPXwMCE5ufer8qA5L9chg=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
diff --git a/nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix b/nixpkgs/pkgs/tools/misc/mailman-rss/default.nix
index f71b62c67fc4..f71b62c67fc4 100644
--- a/nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mailman-rss/default.nix
diff --git a/nixpkgs/pkgs/tools/misc/mandoc/default.nix b/nixpkgs/pkgs/tools/misc/mandoc/default.nix
index 2d974b8af63d..dc564776d893 100644
--- a/nixpkgs/pkgs/tools/misc/mandoc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mandoc/default.nix
@@ -1,12 +1,6 @@
 { lib, stdenv, fetchurl, zlib, perl, nixosTests }:
 
 let
-  # check if we can execute binaries for the host platform on the build platform
-  # even though the platforms aren't the same. mandoc can't be cross compiled
-  # (easily) because of its configurePhase, but we want to allow “native” cross
-  # such as pkgsLLVM and pkgsStatic.
-  executableCross = stdenv.hostPlatform.isCompatible stdenv.buildPlatform;
-
   # Name of an UTF-8 locale _always_ present at runtime, used for UTF-8 support
   # (locale set by the user may differ). This would usually be C.UTF-8, but
   # darwin has no such locale.
@@ -16,9 +10,6 @@ let
     else "C.UTF-8";
 in
 
-assert executableCross ||
-  throw "mandoc relies on executing compiled programs in configurePhase, can't cross compile";
-
 stdenv.mkDerivation rec {
   pname = "mandoc";
   version = "1.14.6";
@@ -57,7 +48,7 @@ stdenv.mkDerivation rec {
     printf '%s' "$configureLocal" > configure.local
   '';
 
-  doCheck = executableCross;
+  doCheck = true;
   checkTarget = "regress";
   checkInputs = [ perl ];
   preCheck = "patchShebangs --build regress/regress.pl";
@@ -67,6 +58,19 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
+    # check if we can execute binaries for the host platform on the build platform
+    # even though the platforms aren't the same. mandoc can't be cross compiled
+    # (easily) because of its configurePhase which executes compiled programs
+    # for gathering information about the host system. Consequently, we can only
+    # allow “native” cross such as pkgsLLVM and pkgsStatic.
+    # For a lack of a better predicate at the moment, we compare the platforms'
+    # system tuples. See also:
+    # * https://github.com/NixOS/nixpkgs/pull/140271
+    # * https://github.com/NixOS/nixpkgs/issues/61414
+    # We need to use broken instead of, say a top level assert, to keep splicing
+    # working.
+    broken = stdenv.buildPlatform.system != stdenv.hostPlatform.system;
+
     homepage = "https://mandoc.bsd.lv/";
     description = "suite of tools compiling mdoc and man";
     downloadPage = "http://mandoc.bsd.lv/snapshots/";
diff --git a/nixpkgs/pkgs/tools/misc/mandown/default.nix b/nixpkgs/pkgs/tools/misc/mandown/default.nix
new file mode 100644
index 000000000000..08755ede14db
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/mandown/default.nix
@@ -0,0 +1,20 @@
+{ lib, rustPlatform, fetchCrate }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mandown";
+  version = "0.1.3";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-8a4sImsjw+lzeVK4V74VpIKDcAhMR1bOmJYVWzfWEfc=";
+  };
+
+  cargoHash = "sha256-Wf1+dxwgPZ4CHpas+3P6n6kKDIISbnfI01+XksjxQlQ=";
+
+  meta = with lib; {
+    description = "Markdown to groff (man page) converter";
+    homepage = "https://gitlab.com/kornelski/mandown";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ zowoq ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix b/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
index 01a6d2933222..62c8ca86e6f0 100644
--- a/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
+++ b/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
@@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec {
     # No API changes.
     substituteInPlace pyproject.toml \
       --replace 'python-frontmatter = "^0.5.0"' 'python-frontmatter = "^1.0.0"' \
-      --replace 'genanki = "^0.10.1"' 'genanki = "^0.11.0"' \
+      --replace 'genanki = "^0.10.1"' 'genanki = "*"' \
       --replace 'typer = "^0.3.2"' 'typer = "^0.4.0"'
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix b/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix
index 0e75af62231c..cdcdad99477a 100644
--- a/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/marlin-calc/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = with maintainers; [ gebner ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/marlin-calc.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/mc/default.nix b/nixpkgs/pkgs/tools/misc/mc/default.nix
index be24d3e2c0b7..3b12175fb567 100644
--- a/nixpkgs/pkgs/tools/misc/mc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mc/default.nix
@@ -58,6 +58,9 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace src/filemanager/ext.c \
       --replace /bin/rm ${coreutils}/bin/rm
+
+    substituteInPlace misc/ext.d/misc.sh.in \
+      --replace /bin/cat ${coreutils}/bin/cat
   '';
 
   preFixup = ''
@@ -91,6 +94,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ sander ];
     platforms = with platforms; linux ++ darwin;
     repositories.git = "https://github.com/MidnightCommander/mc.git";
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/mcfly/default.nix b/nixpkgs/pkgs/tools/misc/mcfly/default.nix
index 612d35ffeb38..583e415f093c 100644
--- a/nixpkgs/pkgs/tools/misc/mcfly/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.5.11";
+  version = "0.5.13";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    sha256 = "sha256-JyNrEIgvL4TQHpAEefDnLirXplGjJcUqsmALKY44VuM=";
+    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-7wyRHViPL+Hb9Rwrb1dAmmz+faOl9ddNlTdQ/XvTWE8=";
+  cargoSha256 = "sha256-dpDuM+kGuCC2xm5EdV2OoxLNbKgi8wmTGrr8K16AnpM=";
 
   meta = with lib; {
     homepage = "https://github.com/cantino/mcfly";
diff --git a/nixpkgs/pkgs/tools/misc/mimeo/default.nix b/nixpkgs/pkgs/tools/misc/mimeo/default.nix
index d8e09e72f735..46e0ce92809a 100644
--- a/nixpkgs/pkgs/tools/misc/mimeo/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mimeo/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mimeo";
-  version = "2021.2";
+  version = "2021.11";
 
   src = fetchurl {
-    url = "https://xyne.archlinux.ca/projects/mimeo/src/${pname}-${version}.tar.xz";
-    sha256 = "113ip024ggajjdx0l406g6lwypdrddxz6k3640y6lzqjivcgybjf";
+    url = "https://xyne.dev/projects/mimeo/src/${pname}-${version}.tar.xz";
+    sha256 = "1fi8svn4hg2hmvv28j026sks1hc0v8wh974g7ixcwfcg2xda6c4p";
   };
 
   buildInputs = [ file desktop-file-utils ];
@@ -23,9 +23,14 @@ python3Packages.buildPythonApplication rec {
 
   installPhase = "install -Dm755 Mimeo.py $out/bin/mimeo";
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/mimeo --help > /dev/null
+  '';
+
   meta = with lib; {
     description = "Open files by MIME-type or file name using regular expressions";
-    homepage = "https://xyne.archlinux.ca/projects/mimeo/";
+    homepage = "https://xyne.dev/projects/mimeo/";
     license = [ licenses.gpl2 ];
     maintainers = [ maintainers.rycee ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/misc/miniserve/default.nix b/nixpkgs/pkgs/tools/misc/miniserve/default.nix
index 542af55ad95d..89607f13ac97 100644
--- a/nixpkgs/pkgs/tools/misc/miniserve/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/mmctl/default.nix b/nixpkgs/pkgs/tools/misc/mmctl/default.nix
index 50648716e1c3..71e4de7479c0 100644
--- a/nixpkgs/pkgs/tools/misc/mmctl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mmctl/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub, buildGoModule }:
 buildGoModule rec {
   pname = "mmctl";
-  version = "6.2.1";
+  version = "6.3.3";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mmctl";
     rev = "v${version}";
-    sha256 = "sha256-DhkBiczQ+4iwoufHMuy6Fn3a4q7gvkKGXTfLcUCCKis=";
+    sha256 = "sha256-V2p6diXymu37aJdHs0ZQJ7ak4LWe55KYCq15JRzMF48=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix b/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
index c243e5584125..5528bb2f97c3 100644
--- a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
@@ -14,7 +14,6 @@ fontconfig,
 freetype,
 gdk-pixbuf,
 glib,
-gnome2,
 gtk3,
 lib,
 libdrm,
@@ -34,7 +33,7 @@ xorg,
 }:
 
 let
-  version = "1.29.6";
+  version = "1.30.1";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -50,7 +49,6 @@ let
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libdrm
     libnotify
@@ -84,7 +82,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb";
-        sha256 = "sha256-yLbuHvZrI8C4X/burIo5cI+H8KEv++4FyRgtISpmPxE=";
+        sha256 = "sha256-MwkYgkDZmzZsthJxSK6c+0us0D4cPuDfuV1XBbeTNXE=";
       }
     else
       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/tools/misc/mongodb-tools/default.nix b/nixpkgs/pkgs/tools/misc/mongodb-tools/default.nix
index a4dc2ba905c1..b59a466e3d17 100644
--- a/nixpkgs/pkgs/tools/misc/mongodb-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/mrtg/default.nix b/nixpkgs/pkgs/tools/misc/mrtg/default.nix
index ee6c9776c54b..343a3d5c2a25 100644
--- a/nixpkgs/pkgs/tools/misc/mrtg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix b/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix
index f4dbf2cef6e1..61dba7569867 100644
--- a/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mysqltuner/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Make recommendations for increased performance and stability of MariaDB/MySQL";
-    homepage = "https://mysqltuner.com/";
+    homepage = "https://github.com/major/MySQLTuner-perl";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ peterhoeg shamilton ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/default.nix b/nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/default.nix
new file mode 100644
index 000000000000..321b139ca157
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, pkg-config
+, dbus
+, dconf
+, fetchFromGitHub
+, glib
+, gnome
+, gobject-introspection
+, gsettings-desktop-schemas
+, gtk3
+, python3
+, substituteAll
+, wrapGAppsHook
+}:
+
+python3.pkgs.buildPythonPackage rec {
+  pname = "nautilus-open-any-terminal";
+  version = "0.2.15";
+
+  src = fetchFromGitHub {
+    owner = "Stunkymonkey";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-cc6Lh5XeAuU5Os4eJ0QcL6XJYB6DqxeUGaOf6m1OnpY=";
+  };
+
+  patches = [ ./hardcode-gsettings.patch ];
+
+  nativeBuildInputs = [
+    glib
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    dbus
+    dconf
+    gnome.nautilus
+    gnome.nautilus-python
+    gobject-introspection
+    gsettings-desktop-schemas
+    gtk3
+    python3.pkgs.pygobject3
+  ];
+
+  postPatch = ''
+    substituteInPlace nautilus_open_any_terminal/open_any_terminal_extension.py \
+      --subst-var-by gsettings_path ${glib.makeSchemaPath "$out" "$name"}
+  '';
+
+  postInstall = ''
+    glib-compile-schemas "$out/share/glib-2.0/schemas"
+  '';
+
+  PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
+
+  meta = with lib; {
+    description = "Extension for nautilus, which adds an context-entry for opening other terminal-emulators then `gnome-terminal`";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ stunkymonkey ];
+    homepage = "https://github.com/Stunkymonkey/nautilus-open-any-terminal";
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch b/nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch
new file mode 100644
index 000000000000..402f78ed04b1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch
@@ -0,0 +1,32 @@
+diff --git a/nautilus_open_any_terminal/open_any_terminal_extension.py b/nautilus_open_any_terminal/open_any_terminal_extension.py
+index b02a995..a616399 100644
+--- a/nautilus_open_any_terminal/open_any_terminal_extension.py
++++ b/nautilus_open_any_terminal/open_any_terminal_extension.py
+@@ -125,9 +125,10 @@ def set_terminal_args(*args):
+ 
+ class OpenAnyTerminalShortcutProvider(GObject.GObject, Nautilus.LocationWidgetProvider):
+     def __init__(self):
+-        source = Gio.SettingsSchemaSource.get_default()
+-        if source.lookup(GSETTINGS_PATH, True):
+-            self._gsettings = Gio.Settings.new(GSETTINGS_PATH)
++        source = Gio.SettingsSchemaSource.new_from_directory("@gsettings_path@", Gio.SettingsSchemaSource.get_default(), True)
++        if True:
++            _schema = source.lookup(GSETTINGS_PATH, False)
++            self._gsettings = Gio.Settings.new_full(_schema, None, None);
+             self._gsettings.connect("changed", self._bind_shortcut)
+             self._create_accel_group()
+         self._window = None
+@@ -232,9 +233,10 @@ class OpenAnyTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
+         return items
+ 
+ 
+-source = Gio.SettingsSchemaSource.get_default()
+-if source is not None and source.lookup(GSETTINGS_PATH, True):
+-    _gsettings = Gio.Settings.new(GSETTINGS_PATH)
++source = Gio.SettingsSchemaSource.new_from_directory("@gsettings_path@", Gio.SettingsSchemaSource.get_default(), True)
++if True:
++    _schema = source.lookup(GSETTINGS_PATH, False)
++    _gsettings = Gio.Settings.new_full(_schema, None, None);
+     _gsettings.connect("changed", set_terminal_args)
+     value = _gsettings.get_string(GSETTINGS_TERMINAL)
+     if value in TERM_PARAMS:
diff --git a/nixpkgs/pkgs/tools/misc/netbootxyz-efi/default.nix b/nixpkgs/pkgs/tools/misc/netbootxyz-efi/default.nix
new file mode 100644
index 000000000000..1394a8e745cb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/netbootxyz-efi/default.nix
@@ -0,0 +1,21 @@
+{ lib
+, fetchurl
+}:
+
+let
+  pname = "netboot.xyz-efi";
+  version = "2.0.53";
+in fetchurl {
+  name = "${pname}-${version}";
+
+  url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${version}/netboot.xyz.efi";
+  sha256 = "sha256-v7XqrhG94BLTpDHDazTiowQUXu/ITEcgVMmhlqgmSQE=";
+
+  meta = with lib; {
+    homepage = "https://netboot.xyz/";
+    description = "A tool to boot OS installers and utilities over the network, to be run from a bootloader";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Enzime ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/nix-direnv/default.nix b/nixpkgs/pkgs/tools/misc/nix-direnv/default.nix
index fcb44333941e..f0fa2529f06f 100644
--- a/nixpkgs/pkgs/tools/misc/nix-direnv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/nncp/default.nix b/nixpkgs/pkgs/tools/misc/nncp/default.nix
index 8470837278b0..a9c2a43734e9 100644
--- a/nixpkgs/pkgs/tools/misc/nncp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/nncp/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nncp";
-  version = "8.0.2";
+  version = "8.5.0";
   outputs = [ "out" "doc" "info" ];
 
   src = fetchurl {
     url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
-    sha256 = "sha256-hMb7bAdk3xFcUe5CTu9LnIR3VSJDUKbMSE86s8d5udM=";
+    sha256 = "sha256-6IUNJ3DE+nRc+bmpDO7l1gXlD6UDGggTSYRMFT57v/Q=";
   };
 
   nativeBuildInputs = [ go redo-apenwarr ];
diff --git a/nixpkgs/pkgs/tools/misc/odyssey/default.nix b/nixpkgs/pkgs/tools/misc/odyssey/default.nix
index 788f30067358..f154cffa9c6b 100644
--- a/nixpkgs/pkgs/tools/misc/odyssey/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/onefetch/default.nix b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
index 6e7484a7e40d..860a9758d4f4 100644
--- a/nixpkgs/pkgs/tools/misc/onefetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
@@ -3,6 +3,8 @@
 , lib
 , stdenv
 , fetchpatch
+, pkg-config
+, zstd
 , CoreFoundation
 , libiconv
 , libresolv
@@ -11,18 +13,24 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "onefetch";
-  version = "2.10.2";
+  version = "2.11.0";
 
   src = fetchFromGitHub {
     owner = "o2sh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lrRp01ZeK9bGn7L7SqAxJAU9qugpHnC06CWChhVPGGQ=";
+    sha256 = "sha256-16oiZAyj6haBk6mgUT25pPDUrCMd7pGo2kAQ0gTe2kM=";
   };
 
-  cargoSha256 = "sha256-vNa1OF1x/MCTo9B4DTDZNWyHTsOl7Za3EgjnpsL/gWg=";
+  # enable pkg-config feature of zstd
+  cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation libiconv libresolv Security ];
+  cargoSha256 = "sha256-6wnfn33mfye5o/vY1JQX1Lc4+jzHiKKgGsSLxeJWyFc=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ zstd ]
+    ++ lib.optionals stdenv.isDarwin [ CoreFoundation libiconv libresolv Security ];
 
   meta = with lib; {
     description = "Git repository summary on your terminal";
diff --git a/nixpkgs/pkgs/tools/misc/onefetch/zstd-pkg-config.patch b/nixpkgs/pkgs/tools/misc/onefetch/zstd-pkg-config.patch
new file mode 100644
index 000000000000..0ad7542bca64
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/onefetch/zstd-pkg-config.patch
@@ -0,0 +1,31 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 202cda0..bc864cc 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -872,6 +872,7 @@ dependencies = [
+  "tokei",
+  "toml",
+  "yaml-rust",
++ "zstd-sys",
+ ]
+ 
+ [[package]]
+@@ -1678,4 +1679,5 @@ checksum = "2141bed8922b427761470e6bbfeff255da94fa20b0bbeab0d9297fcaf71e3aa7"
+ dependencies = [
+  "cc",
+  "libc",
++ "pkg-config",
+ ]
+diff --git a/Cargo.toml b/Cargo.toml
+index 8e0b5ff..48959b4 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -57,6 +57,8 @@ libc = "0.2.112"
+ [dev-dependencies]
+ more-asserts = "0.2"
+ paste = "1.0.6"
++# Specify that the indirect dependency ztsd-sys should pick up the system zstd C library
++zstd-sys = { version = "1", features = [ "pkg-config" ] }
+ 
+ [features]
+ fail-on-deprecated = []
diff --git a/nixpkgs/pkgs/tools/misc/opencbm/default.nix b/nixpkgs/pkgs/tools/misc/opencbm/default.nix
index 2512747e74aa..434b3d421de2 100644
--- a/nixpkgs/pkgs/tools/misc/opencbm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/nixpkgs/pkgs/tools/misc/opentelemetry-collector/contrib.nix
new file mode 100644
index 000000000000..ddd21cbab5a0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -0,0 +1,45 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "opentelemetry-collector-contrib";
+  version = "0.44.0";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-collector-contrib";
+    rev = "v${version}";
+    sha256 = "sha256-JRkS51ybFnvCn3pKhDeXO0R23wzT1uso1PtXZllF1fA=";
+  };
+  # proxy vendor to avoid hash missmatches between linux and macOS
+  proxyVendor = true;
+  vendorSha256 = "sha256-4MnUDakBfo3nhSqMjDYiqx6FNZvAB/9DE1yxOvmQAAk=";
+
+  subPackages = [ "cmd/otelcontribcol" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/open-telemetry/opentelemetry-collector-contrib/internal/version.Version=v${version}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-collector-contrib";
+    changelog = "https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v${version}/CHANGELOG.md";
+    description = "OpenTelemetry Collector superset with additional community collectors";
+    longDescription = ''
+      The OpenTelemetry Collector offers a vendor-agnostic implementation on how
+      to receive, process and export telemetry data. In addition, it removes the
+      need to run, operate and maintain multiple agents/collectors in order to
+      support open-source telemetry data formats (e.g. Jaeger, Prometheus, etc.)
+      sending to multiple open-source or commercial back-ends. The Contrib
+      edition provides aditional vendor specific receivers/exporters and/or
+      components that are only useful to a relatively small number of users and
+      is multiple times larger as a result.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ uri-canva jk ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix b/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix
index 6c83d72976d9..72aea5c44d9a 100644
--- a/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -1,30 +1,52 @@
 { buildGoModule
 , fetchFromGitHub
 , lib
+, writeScript
 }:
 
+let
+  otelcontribcol = writeScript "otelcontribcol" ''
+    echo 'ERROR: otelcontribcol is now in `pkgs.opentelemetry-collector-contrib`, call the collector with `otelcorecol` or move to `pkgs.opentelemetry-collector-contrib`' >&2
+    exit 1
+  '';
+in
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.40.0";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
-    repo = "opentelemetry-collector-contrib";
+    repo = "opentelemetry-collector";
     rev = "v${version}";
-    sha256 = "sha256-YFgAS4WReyMnzb6FOeRUXHf1LUgknH5gWObiZNKMbv8=";
+    sha256 = "sha256-uwQR38L81galqrOEF2qWxKi1UelaUmpkeg0WbkcbYfs=";
   };
+  # there is a nested go.mod
+  sourceRoot = "source/cmd/otelcorecol";
+  vendorSha256 = "sha256-wzGv46wcPjpxiQsiNZQGC4DMHcMrWOEmacC5E0F2YCs=";
 
-  vendorSha256 = "sha256-DTZLYF3BoQGou59KaL56pkxySsoQ0xeJ5aF/SkewziE=";
-  proxyVendor = true;
+  preBuild = ''
+    # set the build version, can't be done via ldflags
+    sed -i -E 's/Version:(\s*)".*"/Version:\1"${version}"/' main.go
+  '';
 
-  CGO_ENABLED = 0;
+  ldflags = [ "-s" "-w" ];
 
-  subPackages = [ "cmd/otelcontribcol" ];
+  postInstall = ''
+    cp ${otelcontribcol} $out/bin/otelcontribcol
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/open-telemetry/opentelemetry-collector";
-    description = "OpenTelemetry Collector";
+    changelog = "https://github.com/open-telemetry/opentelemetry-collector/blob/v${version}/CHANGELOG.md";
+    description = "OpenTelemetry Collector offers a vendor-agnostic implementation on how to receive, process and export telemetry data";
+    longDescription = ''
+      The OpenTelemetry Collector offers a vendor-agnostic implementation on how
+      to receive, process and export telemetry data. In addition, it removes the
+      need to run, operate and maintain multiple agents/collectors in order to
+      support open-source telemetry data formats (e.g. Jaeger, Prometheus, etc.)
+      sending to multiple open-source or commercial back-ends.
+    '';
     license = licenses.asl20;
-    maintainers = [ maintainers.uri-canva ];
+    maintainers = with maintainers; [ uri-canva jk ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/opentsdb/default.nix b/nixpkgs/pkgs/tools/misc/opentsdb/default.nix
index bc7baa55fecd..bffcd5e1dca4 100644
--- a/nixpkgs/pkgs/tools/misc/opentsdb/default.nix
+++ b/nixpkgs/pkgs/tools/misc/opentsdb/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, autoconf, automake, curl, fetchurl, fetchpatch, jdk8, makeWrapper, nettools
-, python, git
+, python2, git
 }:
 
 let jdk = jdk8; jre = jdk8.jre; in
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ autoconf automake curl jdk nettools python git ];
+  buildInputs = [ autoconf automake curl jdk nettools python2 git ];
 
   preConfigure = ''
     patchShebangs ./build-aux/
diff --git a/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
index a0803a36839f..0a3103cd4f94 100644
--- a/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/nixpkgs/pkgs/tools/misc/osm2pgsql/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0mUGvu5o2MhlriNAUAUoyDrFgTw2weGGbQcBzaauKEQ=";
+    sha256 = "sha256-6FVMv+DowMYdRdsQFL2iwG/V9D2cLWkHUVkmR3/TuUI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/misc/pandoc-drawio-filter/default.nix b/nixpkgs/pkgs/tools/misc/pandoc-drawio-filter/default.nix
new file mode 100644
index 000000000000..1279296143cc
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pandoc-drawio-filter/default.nix
@@ -0,0 +1,78 @@
+{ buildPythonApplication
+, drawio
+, fetchFromGitHub
+, lib
+, pandoc
+, pandocfilters
+, runCommand
+, runtimeShell
+, texlive
+, writeScriptBin
+, xvfb-run
+}:
+
+let
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "tfc";
+    repo = "pandoc-drawio-filter";
+    rev = version;
+    sha256 = "sha256-2XJSAfxqEmmamWIAM3vZqi0mZjUUugmR3zWw8Imjadk=";
+  };
+
+  wrappedDrawio = writeScriptBin "drawio" ''
+    #!${runtimeShell}
+
+    # Electron really wants a configuration directory to not die with:
+    # "Error: Failed to get 'appData' path"
+    # so we give it some temp dir as XDG_CONFIG_HOME
+    tmpdir=$(mktemp -d)
+
+    function cleanup {
+      rm -rf "$tmpdir"
+    }
+    trap cleanup EXIT
+
+    # Drawio needs to run in a virtual X session, because Electron
+    # refuses to work and dies with an unhelpful error message otherwise:
+    # "The futex facility returned an unexpected error code."
+    XDG_CONFIG_HOME="$tmpdir" ${xvfb-run}/bin/xvfb-run ${drawio}/bin/drawio $@
+  '';
+
+  pandoc-drawio-filter = buildPythonApplication {
+    pname = "pandoc-drawio-filter";
+
+    inherit src version;
+
+    propagatedBuildInputs = [
+      wrappedDrawio
+      pandocfilters
+    ];
+
+    passthru.tests.example-doc =
+      let
+        env = {
+          nativeBuildInputs = [
+            pandoc
+            pandoc-drawio-filter
+            texlive.combined.scheme-tetex
+          ];
+        };
+      in
+      runCommand "$pandoc-drawio-filter-example-doc.pdf" env ''
+        cp -r ${src}/example/* .
+        pandoc -F pandoc-drawio example.md -T pdf -o $out
+      '';
+
+    meta = with lib; {
+      homepage = "https://github.com/tfc/pandoc-drawio-filter";
+      description = "Pandoc filter which converts draw.io diagrams to PDF";
+      license = licenses.mit;
+      maintainers = with maintainers; [ tfc ];
+    };
+  };
+
+in
+
+pandoc-drawio-filter
diff --git a/nixpkgs/pkgs/tools/misc/panicparse/default.nix b/nixpkgs/pkgs/tools/misc/panicparse/default.nix
new file mode 100644
index 000000000000..95bfc54fbb4b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/panicparse/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "panicparse";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "maruel";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Bwvxj9Ifcq2WpicUBK+03fbGuoVAVF2Zmtpy/utUxoo=";
+  };
+
+  vendorSha256 = "sha256-ZHUxzGqsGX1c4mBA4TBO2+WnGDhwAOGi0uYQx+3OgL8=";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "Crash your app in style (Golang)";
+    homepage = "https://github.com/maruel/panicparse";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/parallel/default.nix b/nixpkgs/pkgs/tools/misc/parallel/default.nix
index 40599ff9c4e4..a52ad6920bb1 100644
--- a/nixpkgs/pkgs/tools/misc/parallel/default.nix
+++ b/nixpkgs/pkgs/tools/misc/parallel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "parallel";
-  version = "20211222";
+  version = "20220122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-BYSRz0xSpIVZd73oA8Y2iLLKnFmRvhDnuLDArt5G0Zw=";
+    sha256 = "sha256-uCIaIUErylcq2ERbeYHf1iWjxtSHcs2kaN+1uIYzfgA=";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/nixpkgs/pkgs/tools/misc/pferd/default.nix b/nixpkgs/pkgs/tools/misc/pferd/default.nix
index 5c88ea2349f7..76df2a688273 100644
--- a/nixpkgs/pkgs/tools/misc/pferd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pferd/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pferd";
-  version = "3.2.0";
+  version = "3.3.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Garmelon";
     repo = "PFERD";
     rev = "v${version}";
-    sha256 = "0r75a128r8ghrccc1flmpxblfrab5kg6fypzrlfmv2aqhkqg1brb";
+    sha256 = "162s966kmpngmp0h55x185qxsy96q2kxz2dd8w0zyh0n2hbap3lh";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
index e0375e2349e3..821cf8d21d5e 100644
--- a/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/nixpkgs/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "10.6.1";
+  version = "10.8.2";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ixDMd9/tO793yVvIE60n5gytfDAmcuA631/ZON9v6LA=";
+    sha256 = "sha256-hmgTQ9IEFYMasW72w9HDF+I0XncZJeBpiukgoDqeqrY=";
   };
 
   buildInputs = [ php ];
diff --git a/nixpkgs/pkgs/tools/misc/phrase-cli/default.nix b/nixpkgs/pkgs/tools/misc/phrase-cli/default.nix
new file mode 100644
index 000000000000..d5a4c0e42985
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/pinsel/default.nix b/nixpkgs/pkgs/tools/misc/pinsel/default.nix
new file mode 100644
index 000000000000..de6cc3700838
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/pinsel/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, gtk3, lua, glib }:
+
+stdenv.mkDerivation rec {
+  pname = "pinsel";
+  version = "unstable-2021-09-13";
+
+  src = fetchFromGitHub {
+    owner = "Nooo37";
+    repo = pname;
+    rev = "24b0205ca041511b3efb2a75ef296539442f9f54";
+    sha256 = "sha256-w+jiKypZODsmZq3uWGNd8PZhe1SowHj0thcQTX8WHfQ=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ pkg-config glib ];
+
+  buildInputs = [ lua gtk3 ];
+
+  makeFlags = [ "INSTALLDIR=${placeholder "out"}/bin" ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Minimal screenshot annotation tool with lua config";
+    homepage = "https://github.com/Nooo37/pinsel";
+    # no license
+    license = licenses.unfree;
+    maintainers = with maintainers; [ lom ];
+    mainProgram = "pinsel";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/pipectl/default.nix b/nixpkgs/pkgs/tools/misc/pipectl/default.nix
index c5fb8c124f8a..f65941e784b2 100644
--- a/nixpkgs/pkgs/tools/misc/pipectl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pipectl/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pipectl";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "Ferdi265";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wa/SKKNXkl8XxE7XORodoAlrMc2QNGXGPE+/yya209Y=";
+    hash = "sha256-+o5hIDtDAh4r+AKCUhueQ3GBYf2sZtMATGX73Qg+tbo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/misc/plantuml/default.nix b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
index 82b0e3dea105..42b673e5b18b 100644
--- a/nixpkgs/pkgs/tools/misc/plantuml/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/plocate/default.nix b/nixpkgs/pkgs/tools/misc/plocate/default.nix
index faff84e52fa6..f4504a73637e 100644
--- a/nixpkgs/pkgs/tools/misc/plocate/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plocate/default.nix
@@ -1,4 +1,5 @@
-{ stdenv
+{ config
+, stdenv
 , lib
 , fetchgit
 , pkg-config
@@ -8,20 +9,21 @@
 , liburing
 , zstd
 }:
-
+let
+  dbfile = lib.attrByPath [ "locate" "dbfile" ] "/var/cache/locatedb" config;
+in
 stdenv.mkDerivation rec {
   pname = "plocate";
-  version = "1.1.7";
+  version = "1.1.15";
 
   src = fetchgit {
     url = "https://git.sesse.net/plocate";
     rev = version;
-    sha256 = "sha256-5Ie4qgiKUoI9Kma6YvjXirvBbpbKVuaMSSAZa36zN3M=";
+    sha256 = "sha256-r8/LivQhJkMTE8ejznr+eGplXFrQl4xwCgXOwbR4wlw=";
   };
 
   postPatch = ''
     sed -i meson.build \
-      -e "s@unitdir =.*@unitdir = '$out/lib/systemd/system'@" \
       -e '/mkdir\.sh/d'
   '';
 
@@ -30,16 +32,16 @@ stdenv.mkDerivation rec {
   buildInputs = [ systemd liburing zstd ];
 
   mesonFlags = [
-    # I don't know why we can't do this but instead have to resort to patching meson.build
-    #   "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
-    "-Dsharedstatedir=/var/lib"
+    "-Dsystemunitdir=${placeholder "out"}/etc/systemd/system"
+    "-Dsharedstatedir=${builtins.dirOf dbfile}"
+    "-Ddbpath=${builtins.baseNameOf dbfile}"
   ];
 
   meta = with lib; {
     description = "Much faster locate";
     homepage = "https://plocate.sesse.net/";
     license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg SuperSandro2000 ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/pmbootstrap/default.nix b/nixpkgs/pkgs/tools/misc/pmbootstrap/default.nix
index 32595e17c06f..913bfc00a158 100644
--- a/nixpkgs/pkgs/tools/misc/pmbootstrap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/popsicle/default.nix b/nixpkgs/pkgs/tools/misc/popsicle/default.nix
new file mode 100644
index 000000000000..e9369270fcd0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/popsicle/default.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, fetchFromGitHub
+, rustc
+, cargo
+, rustPlatform
+, pkg-config
+, dbus
+, glib
+, cairo
+, pango
+, atk
+, lib
+, gdk-pixbuf
+, gtk3
+}:
+
+rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
+  pname = "popsicle";
+  version = "unstable-2021-12-20";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = pname;
+    rev = "b02ebf5f2e6c18777453ca9a144d69689a6fa901";
+    sha256 = "03ilhvnr4mwy7b8bipp616h16m2ilxzxz2zjpkzy3afwvh9bz1mx";
+  };
+
+  cargoSha256 = "1c54wxyrfxk5chnjhxw6vaznm7ff9dkx1rxlgp417jfygiwijjs4";
+
+  nativeBuildInputs = [ gtk3 pkg-config ];
+
+  buildInputs = [
+    gtk3
+    dbus
+    glib
+    cairo
+    pango
+    atk
+    gdk-pixbuf
+  ];
+
+  # Use the stdenv default phases (./configure; make) instead of the
+  # ones from buildRustPackage.
+  configurePhase = "configurePhase";
+  buildPhase = "buildPhase";
+  checkPhase = "checkPhase";
+  installPhase = "installPhase";
+
+  postPatch = ''
+    # Have to do this here instead of in preConfigure because
+    # cargoDepsCopy gets unset after postPatch.
+    configureFlagsArray+=("RUST_VENDORED_SOURCES=$NIX_BUILD_TOP/$cargoDepsCopy")
+  '';
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "DESTDIR=${placeholder "out"}"
+  ];
+
+  postInstall = ''
+    # install man page, icon, etc...
+    mv $out/usr/local/* $out
+    rm -rf $out/usr
+  '';
+
+  meta = with lib; {
+    description = "Multiple USB File Flasher";
+    homepage = "https://github.com/pop-os/popsicle";
+    maintainers = with maintainers; [ _13r0ck ];
+    license = licenses.mit;
+    platforms = [ "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/pre-commit/default.nix b/nixpkgs/pkgs/tools/misc/pre-commit/default.nix
index 41d3ecf17872..307e5e9c7461 100644
--- a/nixpkgs/pkgs/tools/misc/pre-commit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pre-commit/default.nix
@@ -3,7 +3,7 @@
 with python3Packages;
 buildPythonPackage rec {
   pname = "pre-commit";
-  version = "2.16.0";
+  version = "2.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "pre_commit";
-    sha256 = "sha256-/piXysgwqnFk29AqTnuQyuSWMEUc6IRkvKc9tIa6n2U=";
+    sha256 = "c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/misc/pspg/default.nix b/nixpkgs/pkgs/tools/misc/pspg/default.nix
index 882ea148b201..871398822a5c 100644
--- a/nixpkgs/pkgs/tools/misc/pspg/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "5.5.1";
+  version = "5.5.3";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "sha256-EQOIbpP80t/SVwrY/iEYTdfE1L/VmI5VxBrr+mBvICo=";
+    sha256 = "sha256-vjcAvTdqrZFmtVDkG/K4mHiInF63BPOyUXLVKIOq7qU=";
   };
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/misc/qflipper/default.nix b/nixpkgs/pkgs/tools/misc/qflipper/default.nix
index 78bb6c839e6e..d0125377763d 100644
--- a/nixpkgs/pkgs/tools/misc/qflipper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/qmk/default.nix b/nixpkgs/pkgs/tools/misc/qmk/default.nix
index 5067e1e0fabe..21eb7bdab292 100644
--- a/nixpkgs/pkgs/tools/misc/qmk/default.nix
+++ b/nixpkgs/pkgs/tools/misc/qmk/default.nix
@@ -1,5 +1,11 @@
 { lib
 , python3
+, pkgsCross
+, avrdude
+, dfu-programmer
+, dfu-util
+, gcc-arm-embedded
+, teensy-loader-cli
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -30,6 +36,16 @@ python3.pkgs.buildPythonApplication rec {
     milc
     pygments
     pyusb
+  ] ++ [ # Binaries need to be in the path so this is in propagatedBuildInputs
+    avrdude
+    dfu-programmer
+    dfu-util
+    teensy-loader-cli
+    gcc-arm-embedded
+    pkgsCross.avr.buildPackages.binutils
+    pkgsCross.avr.buildPackages.binutils.bintools
+    pkgsCross.avr.buildPackages.gcc8
+    pkgsCross.avr.libcCross
   ];
 
   # buildPythonApplication requires setup.py; the setup.py file crafted below
@@ -61,6 +77,6 @@ python3.pkgs.buildPythonApplication rec {
       - ... and many more!
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ bhipple babariviere ];
+    maintainers = with maintainers; [ bhipple babariviere ekleog ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/rates/default.nix b/nixpkgs/pkgs/tools/misc/rates/default.nix
index 8ead57a07eb9..6db1675fe02c 100644
--- a/nixpkgs/pkgs/tools/misc/rates/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/remind/default.nix b/nixpkgs/pkgs/tools/misc/remind/default.nix
index a94a4c9bd35b..22b669e4fdc6 100644
--- a/nixpkgs/pkgs/tools/misc/remind/default.nix
+++ b/nixpkgs/pkgs/tools/misc/remind/default.nix
@@ -16,11 +16,11 @@ let
 in
 tcl.mkTclDerivation rec {
   pname = "remind";
-  version = "03.03.11";
+  version = "03.04.00";
 
   src = fetchurl {
     url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
-    sha256 = "sha256-CCZ7CENeI8zNUgtBYesGWbqf53OCr9hBTN1ibegB4lo=";
+    sha256 = "sha256-uIpIygxV5l122FN8sz+OMeQh8iL4Vy87EM1/CjFvLVI=";
   };
 
   propagatedBuildInputs = tclLibraries;
diff --git a/nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix b/nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix
index 400a63f7dfe3..4b56dec9d521 100644
--- a/nixpkgs/pkgs/tools/misc/rpcsvc-proto/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/rpi-imager/default.nix b/nixpkgs/pkgs/tools/misc/rpi-imager/default.nix
index c67dddf536fc..3a7baa62bae8 100644
--- a/nixpkgs/pkgs/tools/misc/rpi-imager/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
index bfc2ce2c0e99..09422cd2d4bc 100644
--- a/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rpm-ostree/default.nix
@@ -29,7 +29,7 @@
 , bubblewrap
 , pcre
 , check
-, python
+, python2
 , json_c
 , zchunk
 , libmodulemd
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2021.14";
+  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-WOG21wSbjXMc/6OHJBEKFOhvnIt+SFpZikB8XkfN32Y=";
+    sha256 = "sha256-wy6zmVy7+31+wadLldWdf/IyT0dyLArYLmGw/Kgd+sU=";
   };
 
   nativeBuildInputs = [
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
     librepo
     pcre
     check
-    python
+    python2
 
     # libdnf # vendored unstable branch
     # required by vendored libdnf
diff --git a/nixpkgs/pkgs/tools/misc/screen/default.nix b/nixpkgs/pkgs/tools/misc/screen/default.nix
index dd61b82d4080..e7e0e420810d 100644
--- a/nixpkgs/pkgs/tools/misc/screen/default.nix
+++ b/nixpkgs/pkgs/tools/misc/screen/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, fetchpatch, ncurses, utmp, pam ? null }:
+{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, ncurses, utmp, pam ? null }:
 
 stdenv.mkDerivation rec {
   pname = "screen";
-  version = "4.8.0";
+  version = "4.9.0";
 
   src = fetchurl {
     url = "mirror://gnu/screen/${pname}-${version}.tar.gz";
-    sha256 = "18ascpjzsy70h6hk7wpg8zmzjwgdyrdr7c6z4pg5z4l9hhyv24bf";
+    sha256 = "1x1hqy4h47i7hk85f779lkwkm7gkq8h8mxwd0znkh5adpf0m4czr";
   };
 
   configureFlags= [
@@ -16,34 +16,20 @@ stdenv.mkDerivation rec {
     "--enable-colors256"
   ];
 
-  patches = [
-    (fetchpatch {
-      # Fixes denial of services in encoding.c, remove > 4.8.0
-      name = "CVE-2021-26937.patch";
-      url = "https://salsa.debian.org/debian/screen/-/raw/master/debian/patches/99_CVE-2021-26937.patch";
-      sha256 = "05f3p1c7s83nccwkhmavjzgaysxnvq41c7jffs31ra65kcpabqy0";
-    })
-  ] ++ lib.optional stdenv.hostPlatform.isMusl
+  patches = lib.optional stdenv.hostPlatform.isMusl
     (fetchpatch {
       url = "https://gist.githubusercontent.com/yujinakayama/4608863/raw/76b9f89af5e5a2e97d9a0f36aac989fb56cf1447/gistfile1.diff";
       sha256 = "0f9bf83p8zdxaa1pr75jyf5g8xr3r8kv7cyzzbpraa1q4j15ss1p";
       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'
-    ''; # "
-
-  buildInputs = [ ncurses ] ++ lib.optional stdenv.isLinux pam
-                            ++ lib.optional stdenv.isDarwin utmp;
-
-  # Build fails due to missing dependencies on autogenerated header:
-  #   screen.h:48:10: fatal error: comm.h: No such file or directory
-  # It will be fixed in next screen-4.9.0 release. The patches are
-  # invasive. Disabling parallelism for 4.8.0.
-  enableParallelBuilding = false;
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  buildInputs = [
+    ncurses
+  ] ++ lib.optional stdenv.isLinux pam
+    ++ lib.optional stdenv.isDarwin utmp;
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/misc/scrub/default.nix b/nixpkgs/pkgs/tools/misc/scrub/default.nix
new file mode 100644
index 000000000000..baa3732b5840
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/sfeed/default.nix b/nixpkgs/pkgs/tools/misc/sfeed/default.nix
index 394cd8a8ede3..85bc57d3556d 100644
--- a/nixpkgs/pkgs/tools/misc/sfeed/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/sharedown/default.nix b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
index 2fb9553a7fea..048e8eb6008a 100644
--- a/nixpkgs/pkgs/tools/misc/sharedown/default.nix
+++ b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
@@ -3,6 +3,10 @@
 , fetchFromGitHub
 , ffmpeg
 , yt-dlp
+, libsecret
+, python3
+, pkg-config
+, nodejs
 , electron
 , makeWrapper
 , makeDesktopItem
@@ -13,13 +17,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "Sharedown";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "kylon";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0moxrRxydH/g3J5cQmaFSDhTZh9OnUi8ncPVw7q1JC0=";
+    sha256 = "sha256-wQEP3fdp+Mhgoz873cgF65WouWtbEdCdXfLiVSmrjyA=";
   };
 
   nativeBuildInputs = [
@@ -55,6 +59,34 @@ stdenvNoCC.mkDerivation rec {
           "--production"
         ];
 
+        pkgConfig = {
+          keytar = {
+            nativeBuildInputs = [
+              python3
+              pkg-config
+            ];
+            buildInputs = [
+              libsecret
+            ];
+            postInstall = ''
+              yarn --offline run build
+              # Remove unnecessary store path references.
+              rm build/config.gypi
+            '';
+          };
+        };
+
+        preBuild = ''
+          # Set up headers for node-gyp, which is needed to build keytar.
+          mkdir -p "$HOME/.cache/node-gyp/${nodejs.version}"
+
+          # Set up version which node-gyp checks in <https://github.com/nodejs/node-gyp/blob/4937722cf597ccd1953628f3d5e2ab5204280051/lib/install.js#L87-L96> against the version in <https://github.com/nodejs/node-gyp/blob/4937722cf597ccd1953628f3d5e2ab5204280051/package.json#L15>.
+          echo 9 > "$HOME/.cache/node-gyp/${nodejs.version}/installVersion"
+
+          # Link node headers so that node-gyp does not try to download them.
+          ln -sfv "${nodejs}/include" "$HOME/.cache/node-gyp/${nodejs.version}"
+        '';
+
         packageJSON = "${src}/package.json";
         yarnLock = ./yarn.lock;
         yarnNix = ./yarndeps.nix;
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/update.sh b/nixpkgs/pkgs/tools/misc/sharedown/update.sh
index 584cb8511a7c..d08a258a6a83 100755
--- a/nixpkgs/pkgs/tools/misc/sharedown/update.sh
+++ b/nixpkgs/pkgs/tools/misc/sharedown/update.sh
@@ -1,9 +1,19 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p nix-update yarn yarn2nix-moretea.yarn2nix
+#!nix-shell -i bash -p common-updater-scripts curl jq yarn yarn2nix-moretea.yarn2nix
 
 set -euo pipefail
 
-nix-update sharedown
+owner=kylon
+repo=Sharedown
+latestVersion=$(curl "https://api.github.com/repos/$owner/$repo/releases/latest" | jq -r '.tag_name')
+currentVersion=$(nix-instantiate --eval --expr 'with import ./. {}; sharedown.version' | tr -d '"')
+
+if [[ "$currentVersion" == "$latestVersion" && "${BUMP_LOCK-}" != "1" ]]; then
+    # Skip update when already on the latest version.
+    exit 0
+fi
+
+update-source-version sharedown "$latestVersion"
 
 dirname="$(realpath "$(dirname "$0")")"
 sourceDir="$(nix-build -A sharedown.src --no-out-link)"
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/yarn.lock b/nixpkgs/pkgs/tools/misc/sharedown/yarn.lock
index 5b5638db5055..58cfe65b3dd2 100644
--- a/nixpkgs/pkgs/tools/misc/sharedown/yarn.lock
+++ b/nixpkgs/pkgs/tools/misc/sharedown/yarn.lock
@@ -109,14 +109,14 @@
   integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
 
 "@types/node@*":
-  version "16.11.10"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.10.tgz#2e3ad0a680d96367103d3e670d41c2fed3da61ae"
-  integrity sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==
+  version "17.0.10"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab"
+  integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==
 
 "@types/node@^14.6.2":
-  version "14.17.34"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.34.tgz#fe4b38b3f07617c0fa31ae923fca9249641038f0"
-  integrity sha512-USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==
+  version "14.18.9"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz#0e5944eefe2b287391279a19b407aa98bd14436d"
+  integrity sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==
 
 "@types/plist@^3.0.1":
   version "3.0.2"
@@ -137,9 +137,9 @@
   integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==
 
 "@types/yargs@^17.0.1":
-  version "17.0.7"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.7.tgz#44a484c634761da4391477515a98772b82b5060f"
-  integrity sha512-OvLKmpKdea1aWtqHv9bxVVcMoT6syAeK+198dfETIFkAevYRGwqh4H+KFxfjUETZuUuE5sQCAFwdOdoHUdo8eg==
+  version "17.0.8"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c"
+  integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw==
   dependencies:
     "@types/yargs-parser" "*"
 
@@ -179,10 +179,10 @@ ansi-align@^3.0.0:
   dependencies:
     string-width "^4.1.0"
 
-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@^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"
@@ -239,11 +239,24 @@ app-builder-lib@22.14.5:
     semver "^7.3.5"
     temp-file "^3.4.0"
 
+aproba@^1.0.3:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+  integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
 arch@^2.1.1:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
   integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
 
+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@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
@@ -266,6 +279,11 @@ assert-plus@^1.0.0:
   resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
   integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
 
+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-exit-hook@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3"
@@ -440,9 +458,9 @@ cacheable-request@^6.0.0:
     responselike "^1.0.2"
 
 camelcase@^6.2.0:
-  version "6.2.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e"
-  integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
+  integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
 
 chalk@^2.4.2:
   version "2.4.2"
@@ -491,13 +509,13 @@ cli-boxes@^2.2.1:
   resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
   integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
 
-cli-truncate@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086"
-  integrity sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==
+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 "^1.0.0"
-    string-width "^2.0.0"
+    slice-ansi "^3.0.0"
+    string-width "^4.2.0"
 
 clipboardy@2.3.0:
   version "2.3.0"
@@ -524,6 +542,11 @@ clone-response@^1.0.2:
   dependencies:
     mimic-response "^1.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:
   version "1.9.3"
   resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -612,6 +635,11 @@ configstore@^5.0.1:
     write-file-atomic "^3.0.0"
     xdg-basedir "^4.0.0"
 
+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=
+
 core-util-is@1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -659,7 +687,14 @@ crypto-random-string@^2.0.0:
   resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
   integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
 
-debug@4, debug@4.3.2, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
+  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"
+
+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==
@@ -680,6 +715,13 @@ decompress-response@^3.3.0:
   dependencies:
     mimic-response "^1.0.0"
 
+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"
@@ -702,15 +744,25 @@ delayed-stream@~1.0.0:
   resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
   integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
 
+delegates@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+  integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
+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-node@^2.0.4:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
   integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
 
-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==
+devtools-protocol@0.0.937139:
+  version "0.0.937139"
+  resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.937139.tgz#bdee3751fdfdb81cb701fd3afa94b1065dafafcf"
+  integrity sha512-daj+rzR3QSxsPRy5vjjthn58axO8c11j58uY0lG5vvlJk/EiOdCWOptGdkXDjtuRHr78emKq0udHCXM4trhoDQ==
 
 dir-compare@^2.4.0:
   version "2.4.0"
@@ -737,17 +789,16 @@ dmg-builder@22.14.5:
     dmg-license "^1.0.9"
 
 dmg-license@^1.0.9:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz#a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f"
-  integrity sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q==
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz#89f52afae25d827fce8d818c13aff30af1c16bcc"
+  integrity sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A==
   dependencies:
     "@types/plist" "^3.0.1"
     "@types/verror" "^1.10.3"
     ajv "^6.10.0"
-    cli-truncate "^1.1.0"
     crc "^3.8.0"
-    iconv-corefoundation "^1.1.6"
-    plist "^3.0.1"
+    iconv-corefoundation "^1.1.7"
+    plist "^3.0.4"
     smart-buffer "^4.0.2"
     verror "^1.10.0"
 
@@ -780,7 +831,7 @@ ejs@^3.1.6:
   dependencies:
     jake "^10.6.1"
 
-electron-builder@^22.13.1:
+electron-builder@^22.14.5:
   version "22.14.5"
   resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496"
   integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==
@@ -823,10 +874,10 @@ electron-publish@22.14.5:
     lazy-val "^1.0.5"
     mime "^2.5.2"
 
-electron@^15.3.1:
-  version "15.3.2"
-  resolved "https://registry.yarnpkg.com/electron/-/electron-15.3.2.tgz#4f0cbad781d14e0194f5dfef1709e09a70c8074a"
-  integrity sha512-sEpOX10gjAyvq33HDxJrq2HhYZT3qndZjUrHkzG16QTLjykP7lMvGnJ/bt6wn+T75f4wwv59FUbQx2hW3Xz5TQ==
+electron@^16.0.6:
+  version "16.0.7"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-16.0.7.tgz#87eaccd05ab61563d3c17dfbad2949bba7ead162"
+  integrity sha512-/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==
   dependencies:
     "@electron/get" "^1.13.0"
     "@types/node" "^14.6.2"
@@ -892,6 +943,11 @@ execa@^1.0.0:
     signal-exit "^3.0.0"
     strip-eof "^1.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==
+
 extract-zip@2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
@@ -951,9 +1007,9 @@ find-up@^4.0.0:
     path-exists "^4.0.0"
 
 follow-redirects@^1.14.4:
-  version "1.14.5"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381"
-  integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==
+  version "1.14.7"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
+  integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
 
 font-awesome@^4.7.0:
   version "4.7.0"
@@ -1007,6 +1063,20 @@ fs.realpath@^1.0.0:
   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
+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"
@@ -1026,6 +1096,11 @@ get-stream@^5.1.0:
   dependencies:
     pump "^3.0.0"
 
+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@^7.1.3, glob@^7.1.6:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
@@ -1092,9 +1167,9 @@ got@^9.6.0:
     url-parse-lax "^3.0.0"
 
 graceful-fs@^4.1.2, 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==
+  version "4.2.9"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
 
 "graceful-readlink@>= 1.0.0":
   version "1.0.1"
@@ -1111,15 +1186,20 @@ has-flag@^4.0.0:
   resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
+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-yarn@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
   integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
 
 hosted-git-info@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
-  integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
+  integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
   dependencies:
     lru-cache "^6.0.0"
 
@@ -1136,12 +1216,12 @@ https-proxy-agent@5.0.0:
     agent-base "6"
     debug "4"
 
-iconv-corefoundation@^1.1.6:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz#27c135470237f6f8d13462fa1f5eaf250523c29a"
-  integrity sha512-1NBe55C75bKGZaY9UHxvXG3G0gEp0ziht7quhuFrW3SPgZDw9HI6qvYXRSV5M/Eupyu8ljuJ6Cba+ec15PZ4Xw==
+iconv-corefoundation@^1.1.7:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a"
+  integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==
   dependencies:
-    cli-truncate "^1.1.0"
+    cli-truncate "^2.1.0"
     node-addon-api "^1.6.3"
 
 iconv-lite@^0.6.2:
@@ -1213,10 +1293,12 @@ is-docker@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
   integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
 
-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@^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"
@@ -1350,6 +1432,14 @@ jsonfile@^6.0.1:
   optionalDependencies:
     graceful-fs "^4.1.6"
 
+keytar@^7.7.0:
+  version "7.7.0"
+  resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.7.0.tgz#3002b106c01631aa79b1aa9ee0493b94179bbbd2"
+  integrity sha512-YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A==
+  dependencies:
+    node-addon-api "^3.0.0"
+    prebuild-install "^6.0.0"
+
 keyv@^3.0.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
@@ -1443,6 +1533,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
   resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
   integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
 
+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, minimatch@^3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
@@ -1450,12 +1545,12 @@ minimatch@3.0.4, minimatch@^3.0.4:
   dependencies:
     brace-expansion "^1.1.7"
 
-minimist@^1.2.0, minimist@^1.2.5:
+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.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==
@@ -1477,16 +1572,33 @@ ms@2.1.2:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
+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==
+
 nice-try@^1.0.4:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
   integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
 
+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-addon-api@^1.6.3:
   version "1.7.2"
   resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
   integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
 
+node-addon-api@^3.0.0:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
+  integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
+
 node-fetch@2.6.5:
   version "2.6.5"
   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd"
@@ -1514,6 +1626,26 @@ npm-run-path@^2.0.0:
   dependencies:
     path-key "^2.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:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
 object-keys@^1.0.12:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -1602,7 +1734,7 @@ pkg-dir@4.2.0:
   dependencies:
     find-up "^4.0.0"
 
-plist@^3.0.1:
+plist@^3.0.1, plist@^3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
   integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
@@ -1610,6 +1742,25 @@ plist@^3.0.1:
     base64-js "^1.5.1"
     xmlbuilder "^9.0.7"
 
+prebuild-install@^6.0.0:
+  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"
+
 prepend-http@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
@@ -1655,13 +1806,13 @@ pupa@^2.1.1:
   dependencies:
     escape-goat "^2.0.0"
 
-puppeteer@11.0.0:
-  version "11.0.0"
-  resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-11.0.0.tgz#0808719c38e15315ecc1b1c28911f1c9054d201f"
-  integrity sha512-6rPFqN1ABjn4shgOICGDBITTRV09EjXVqhDERBDKwCLz0UyBxeeBH6Ay0vQUJ84VACmlxwzOIzVEJXThcF3aNg==
+puppeteer@13.0.1:
+  version "13.0.1"
+  resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.0.1.tgz#9cd9bb8ec090bade183ca186bf342396bdffa135"
+  integrity sha512-wqGIx59LzYqWhYcJQphMT+ux0sgatEUbjKG0lbjJxNVqVIT3ZC5m4Bvmq2gHE3qhb63EwS+rNkql08bm4BvO0A==
   dependencies:
     debug "4.3.2"
-    devtools-protocol "0.0.901419"
+    devtools-protocol "0.0.937139"
     extract-zip "2.0.1"
     https-proxy-agent "5.0.0"
     node-fetch "2.6.5"
@@ -1673,7 +1824,7 @@ puppeteer@11.0.0:
     unbzip2-stream "1.4.3"
     ws "8.2.3"
 
-rc@^1.2.8:
+rc@^1.2.7, rc@^1.2.8:
   version "1.2.8"
   resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
   integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
@@ -1694,7 +1845,7 @@ read-config-file@6.2.0:
     json5 "^2.2.0"
     lazy-val "^1.0.4"
 
-readable-stream@^2.2.2:
+readable-stream@^2.0.6, readable-stream@^2.2.2:
   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==
@@ -1761,16 +1912,16 @@ roarr@^2.15.3:
     semver-compare "^1.0.0"
     sprintf-js "^1.1.2"
 
+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-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.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==
-
 "safer-buffer@>= 2.1.2 < 3.0.0":
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
@@ -1800,7 +1951,7 @@ semver-diff@^3.1.1:
   dependencies:
     semver "^6.3.0"
 
-semver@^5.5.0:
+semver@^5.4.1, semver@^5.5.0:
   version "5.7.1"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
   integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -1824,6 +1975,11 @@ serialize-error@^7.0.1:
   dependencies:
     type-fest "^0.13.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=
+
 shebang-command@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -1853,12 +2009,28 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
   integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
 
-slice-ansi@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
-  integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
+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:
-    is-fullwidth-code-point "^2.0.0"
+    decompress-response "^4.2.0"
+    once "^1.3.1"
+    simple-concat "^1.0.0"
+
+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"
 
 smart-buffer@^4.0.2:
   version "4.2.0"
@@ -1888,15 +2060,16 @@ stat-mode@^1.0.0:
   resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465"
   integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==
 
-string-width@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
-  integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+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:
-    is-fullwidth-code-point "^2.0.0"
-    strip-ansi "^4.0.0"
+    code-point-at "^1.0.0"
+    is-fullwidth-code-point "^1.0.0"
+    strip-ansi "^3.0.0"
 
-string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2:
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, 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==
@@ -1919,12 +2092,12 @@ string_decoder@~1.1.1:
   dependencies:
     safe-buffer "~5.1.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=
+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 "^3.0.0"
+    ansi-regex "^2.0.0"
 
 strip-ansi@^6.0.0, strip-ansi@^6.0.1:
   version "6.0.1"
@@ -1964,7 +2137,7 @@ supports-color@^7.1.0:
   dependencies:
     has-flag "^4.0.0"
 
-tar-fs@2.1.1:
+tar-fs@2.1.1, 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==
@@ -2029,6 +2202,13 @@ truncate-utf8-bytes@^1.0.0:
   dependencies:
     utf8-byte-length "^1.0.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"
+
 tunnel@^0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
@@ -2161,6 +2341,13 @@ which@^2.0.1:
   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"
+
 widest-line@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
@@ -2222,23 +2409,23 @@ yallist@^4.0.0:
   resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
   integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
 
-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-parser@^21.0.0:
+  version "21.0.0"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55"
+  integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==
 
 yargs@^17.0.1:
-  version "17.2.1"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea"
-  integrity sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==
+  version "17.3.1"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9"
+  integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==
   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"
+    string-width "^4.2.3"
     y18n "^5.0.5"
-    yargs-parser "^20.2.2"
+    yargs-parser "^21.0.0"
 
 yauzl@^2.10.0:
   version "2.10.0"
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix b/nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix
index 046a6c71bad2..153a9282427d 100644
--- a/nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix
+++ b/nixpkgs/pkgs/tools/misc/sharedown/yarndeps.nix
@@ -6,7 +6,7 @@
       path = fetchurl {
         name = "7zip_bin___7zip_bin_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz";
-        sha1 = "9274ec7460652f9c632c59addf24efb1684ef876";
+        sha512 = "sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==";
       };
     }
     {
@@ -14,7 +14,7 @@
       path = fetchurl {
         name = "_develar_schema_utils___schema_utils_2.6.5.tgz";
         url  = "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz";
-        sha1 = "3ece22c5838402419a6e0425f85742b961d9b6c6";
+        sha512 = "0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==";
       };
     }
     {
@@ -22,7 +22,7 @@
       path = fetchurl {
         name = "_electron_get___get_1.13.1.tgz";
         url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz";
-        sha1 = "42a0aa62fd1189638bd966e23effaebb16108368";
+        sha512 = "U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==";
       };
     }
     {
@@ -30,7 +30,7 @@
       path = fetchurl {
         name = "_electron_universal___universal_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz";
-        sha1 = "b812340e4ef21da2b3ee77b2b4d35c9b86defe37";
+        sha512 = "zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag==";
       };
     }
     {
@@ -38,7 +38,7 @@
       path = fetchurl {
         name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz";
-        sha1 = "504af200af6b98e198bce768bc1730c6936ae01d";
+        sha512 = "RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==";
       };
     }
     {
@@ -46,7 +46,7 @@
       path = fetchurl {
         name = "_malept_flatpak_bundler___flatpak_bundler_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz";
-        sha1 = "e8a32c30a95d20c2b1bb635cc580981a06389858";
+        sha512 = "9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==";
       };
     }
     {
@@ -54,7 +54,7 @@
       path = fetchurl {
         name = "_sindresorhus_is___is_0.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz";
-        sha1 = "9fb3a3cf3132328151f353de4632e01e52102bea";
+        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
       };
     }
     {
@@ -62,7 +62,7 @@
       path = fetchurl {
         name = "_szmarczak_http_timer___http_timer_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha1 = "b1665e2c461a2cd92f4c1bbf50d5454de0d4b421";
+        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
       };
     }
     {
@@ -70,7 +70,7 @@
       path = fetchurl {
         name = "_tedconf_fessonia___fessonia_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/@tedconf/fessonia/-/fessonia-2.2.1.tgz";
-        sha1 = "24499e69c3aeda4926670675b9fdfeb9ab15f19d";
+        sha512 = "eX+O8P/xIkuCDeDI3IOIoyzuTJLVqbGnoBhLiBoFU7MwntF02ygQcByMinhUtXv2zm0pOSy6zeKoQTKAVBK60A==";
       };
     }
     {
@@ -78,7 +78,7 @@
       path = fetchurl {
         name = "_types_debug___debug_4.1.7.tgz";
         url  = "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz";
-        sha1 = "7cc0ea761509124709b8b2d1090d8f6c17aadb82";
+        sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
       };
     }
     {
@@ -86,7 +86,7 @@
       path = fetchurl {
         name = "_types_fs_extra___fs_extra_9.0.13.tgz";
         url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz";
-        sha1 = "7594fbae04fe7f1918ce8b3d213f74ff44ac1f45";
+        sha512 = "nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==";
       };
     }
     {
@@ -94,7 +94,7 @@
       path = fetchurl {
         name = "_types_glob___glob_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz";
-        sha1 = "bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb";
+        sha512 = "ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==";
       };
     }
     {
@@ -102,7 +102,7 @@
       path = fetchurl {
         name = "_types_minimatch___minimatch_3.0.5.tgz";
         url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz";
-        sha1 = "1001cc5e6a3704b83c236027e77f2f58ea010f40";
+        sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     }
     {
@@ -110,23 +110,23 @@
       path = fetchurl {
         name = "_types_ms___ms_0.7.31.tgz";
         url  = "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz";
-        sha1 = "31b7ca6407128a3d2bbc27fe2d21b345397f6197";
+        sha512 = "iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==";
       };
     }
     {
-      name = "_types_node___node_16.11.10.tgz";
+      name = "_types_node___node_17.0.10.tgz";
       path = fetchurl {
-        name = "_types_node___node_16.11.10.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.11.10.tgz";
-        sha1 = "2e3ad0a680d96367103d3e670d41c2fed3da61ae";
+        name = "_types_node___node_17.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz";
+        sha512 = "S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==";
       };
     }
     {
-      name = "_types_node___node_14.17.34.tgz";
+      name = "_types_node___node_14.18.9.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.17.34.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.34.tgz";
-        sha1 = "fe4b38b3f07617c0fa31ae923fca9249641038f0";
+        name = "_types_node___node_14.18.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz";
+        sha512 = "j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==";
       };
     }
     {
@@ -134,7 +134,7 @@
       path = fetchurl {
         name = "_types_plist___plist_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz";
-        sha1 = "61b3727bba0f5c462fe333542534a0c3e19ccb01";
+        sha512 = "ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==";
       };
     }
     {
@@ -142,7 +142,7 @@
       path = fetchurl {
         name = "_types_verror___verror_1.10.5.tgz";
         url  = "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz";
-        sha1 = "2a1413aded46e67a1fe2386800e291123ed75eb1";
+        sha512 = "9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==";
       };
     }
     {
@@ -150,15 +150,15 @@
       path = fetchurl {
         name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
-        sha1 = "3b9ce2489919d9e4fea439b76916abc34b2df129";
+        sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
       };
     }
     {
-      name = "_types_yargs___yargs_17.0.7.tgz";
+      name = "_types_yargs___yargs_17.0.8.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_17.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.7.tgz";
-        sha1 = "44a484c634761da4391477515a98772b82b5060f";
+        name = "_types_yargs___yargs_17.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz";
+        sha512 = "wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw==";
       };
     }
     {
@@ -166,7 +166,7 @@
       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==";
       };
     }
     {
@@ -174,7 +174,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==";
       };
     }
     {
@@ -182,7 +182,7 @@
       path = fetchurl {
         name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
         url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
-        sha1 = "31f29da5ab6e00d1c2d329acf7b5929614d5014d";
+        sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==";
       };
     }
     {
@@ -190,7 +190,7 @@
       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==";
       };
     }
     {
@@ -198,15 +198,15 @@
       path = fetchurl {
         name = "ansi_align___ansi_align_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz";
-        sha1 = "0cdf12e111ace773a86e9a1fad1225c43cb19a59";
+        sha512 = "IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==";
       };
     }
     {
-      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      name = "ansi_regex___ansi_regex_2.1.1.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";
+        name = "ansi_regex___ansi_regex_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "w7M6te42DYbg5ijwRorn7yfWVN8=";
       };
     }
     {
@@ -214,7 +214,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==";
       };
     }
     {
@@ -222,7 +222,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==";
       };
     }
     {
@@ -230,7 +230,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==";
       };
     }
     {
@@ -238,7 +238,7 @@
       path = fetchurl {
         name = "app_builder_bin___app_builder_bin_3.7.1.tgz";
         url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz";
-        sha1 = "cb0825c5e12efc85b196ac3ed9c89f076c61040e";
+        sha512 = "ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==";
       };
     }
     {
@@ -246,7 +246,15 @@
       path = fetchurl {
         name = "app_builder_lib___app_builder_lib_22.14.5.tgz";
         url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz";
-        sha1 = "a61a50b132b858e98fdc70b6b88994ae99b4f96d";
+        sha512 = "k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==";
+      };
+    }
+    {
+      name = "aproba___aproba_1.2.0.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
       };
     }
     {
@@ -254,7 +262,15 @@
       path = fetchurl {
         name = "arch___arch_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz";
-        sha1 = "1bc47818f305764f23ab3306b0bfc086c5a29d11";
+        sha512 = "Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==";
+      };
+    }
+    {
+      name = "are_we_there_yet___are_we_there_yet_1.1.7.tgz";
+      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";
+        sha512 = "nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==";
       };
     }
     {
@@ -262,7 +278,7 @@
       path = fetchurl {
         name = "argparse___argparse_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz";
-        sha1 = "246f50f3ca78a3240f6c997e8a9bd1eac49e4b38";
+        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
       };
     }
     {
@@ -270,7 +286,7 @@
       path = fetchurl {
         name = "asar___asar_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz";
-        sha1 = "70b0509449fe3daccc63beb4d3c7d2e24d3c6473";
+        sha512 = "vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==";
       };
     }
     {
@@ -278,7 +294,15 @@
       path = fetchurl {
         name = "assert_plus___assert_plus_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+        sha1 = "8S4PPF13sLHN2RRpQuTpbB5N1SU=";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_2.0.0.tgz";
+      path = fetchurl {
+        name = "astral_regex___astral_regex_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz";
+        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
       };
     }
     {
@@ -286,7 +310,7 @@
       path = fetchurl {
         name = "async_exit_hook___async_exit_hook_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz";
-        sha1 = "8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3";
+        sha512 = "NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==";
       };
     }
     {
@@ -294,7 +318,7 @@
       path = fetchurl {
         name = "async___async_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz";
-        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+        sha1 = "rqdNXmHB+JlhO/ZL2mbUx48v0X0=";
       };
     }
     {
@@ -302,7 +326,7 @@
       path = fetchurl {
         name = "asynckit___asynckit_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        sha1 = "x57Zf380y48robyXkLzDZkdLS3k=";
       };
     }
     {
@@ -310,7 +334,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==";
       };
     }
     {
@@ -318,7 +342,7 @@
       path = fetchurl {
         name = "axios___axios_0.24.0.tgz";
         url  = "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz";
-        sha1 = "804e6fa1e4b9c5288501dd9dff56a7a0940d20d6";
+        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
       };
     }
     {
@@ -326,7 +350,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==";
       };
     }
     {
@@ -334,7 +358,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==";
       };
     }
     {
@@ -342,7 +366,7 @@
       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==";
       };
     }
     {
@@ -350,7 +374,7 @@
       path = fetchurl {
         name = "bluebird_lst___bluebird_lst_1.0.9.tgz";
         url  = "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz";
-        sha1 = "a64a0e4365658b9ab5fe875eb9dfb694189bb41c";
+        sha512 = "7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==";
       };
     }
     {
@@ -358,7 +382,7 @@
       path = fetchurl {
         name = "bluebird___bluebird_3.7.2.tgz";
         url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
-        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     }
     {
@@ -366,7 +390,7 @@
       path = fetchurl {
         name = "boolean___boolean_3.1.4.tgz";
         url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz";
-        sha1 = "f51a2fb5838a99e06f9b6ec1edb674de67026435";
+        sha512 = "3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==";
       };
     }
     {
@@ -374,7 +398,7 @@
       path = fetchurl {
         name = "bootstrap___bootstrap_5.1.3.tgz";
         url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.1.3.tgz";
-        sha1 = "ba081b0c130f810fa70900acbc1c6d3c28fa8f34";
+        sha512 = "fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==";
       };
     }
     {
@@ -382,7 +406,7 @@
       path = fetchurl {
         name = "boxen___boxen_5.1.2.tgz";
         url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz";
-        sha1 = "788cb686fc83c1f486dfa8a40c68fc2b831d2b50";
+        sha512 = "9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==";
       };
     }
     {
@@ -390,7 +414,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==";
       };
     }
     {
@@ -398,7 +422,7 @@
       path = fetchurl {
         name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz";
-        sha1 = "bd7dc26ae2972d0eda253be061dba992349c19f0";
+        sha512 = "TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==";
       };
     }
     {
@@ -406,7 +430,7 @@
       path = fetchurl {
         name = "buffer_alloc___buffer_alloc_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz";
-        sha1 = "890dd90d923a873e08e10e5fd51a57e5b7cce0ec";
+        sha512 = "CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==";
       };
     }
     {
@@ -414,7 +438,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=";
       };
     }
     {
@@ -422,7 +446,7 @@
       path = fetchurl {
         name = "buffer_equal___buffer_equal_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
-        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
+        sha1 = "WWFrSYME1Var1GaWayLu2j7KX74=";
       };
     }
     {
@@ -430,7 +454,7 @@
       path = fetchurl {
         name = "buffer_fill___buffer_fill_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz";
-        sha1 = "f8f78b76789888ef39f205cd637f68e702122b2c";
+        sha1 = "+PeLdniYiO858gXNY39o5wISKyw=";
       };
     }
     {
@@ -438,7 +462,7 @@
       path = fetchurl {
         name = "buffer_from___buffer_from_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz";
-        sha1 = "2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5";
+        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
       };
     }
     {
@@ -446,7 +470,7 @@
       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==";
       };
     }
     {
@@ -454,7 +478,7 @@
       path = fetchurl {
         name = "builder_util_runtime___builder_util_runtime_8.9.1.tgz";
         url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz";
-        sha1 = "25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a";
+        sha512 = "c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==";
       };
     }
     {
@@ -462,7 +486,7 @@
       path = fetchurl {
         name = "builder_util___builder_util_22.14.5.tgz";
         url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz";
-        sha1 = "42a18608d2a566c0846e91266464776c8bfb0cc9";
+        sha512 = "zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==";
       };
     }
     {
@@ -470,15 +494,15 @@
       path = fetchurl {
         name = "cacheable_request___cacheable_request_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha1 = "20ffb8bd162ba4be11e9567d823db651052ca912";
+        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
       };
     }
     {
-      name = "camelcase___camelcase_6.2.1.tgz";
+      name = "camelcase___camelcase_6.3.0.tgz";
       path = fetchurl {
-        name = "camelcase___camelcase_6.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz";
-        sha1 = "250fd350cfd555d0d2160b1d51510eaf8326e86e";
+        name = "camelcase___camelcase_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz";
+        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     }
     {
@@ -486,7 +510,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==";
       };
     }
     {
@@ -494,7 +518,7 @@
       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==";
       };
     }
     {
@@ -502,7 +526,7 @@
       path = fetchurl {
         name = "charenc___charenc_0.0.2.tgz";
         url  = "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz";
-        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+        sha1 = "wKHS86cJLgN3S/qD8UwPxXkKhmc=";
       };
     }
     {
@@ -510,7 +534,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==";
       };
     }
     {
@@ -518,7 +542,7 @@
       path = fetchurl {
         name = "chromium_pickle_js___chromium_pickle_js_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz";
-        sha1 = "04a106672c18b085ab774d983dfa3ea138f22205";
+        sha1 = "BKEGZywYsIWrd02YPfo+oTjyIgU=";
       };
     }
     {
@@ -526,7 +550,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==";
       };
     }
     {
@@ -534,7 +558,7 @@
       path = fetchurl {
         name = "ci_info___ci_info_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz";
-        sha1 = "b4ed1fb6818dea4803a55c623041f9165d2066b2";
+        sha512 = "riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==";
       };
     }
     {
@@ -542,15 +566,15 @@
       path = fetchurl {
         name = "cli_boxes___cli_boxes_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz";
-        sha1 = "ddd5035d25094fce220e9cab40a45840a440318f";
+        sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
       };
     }
     {
-      name = "cli_truncate___cli_truncate_1.1.0.tgz";
+      name = "cli_truncate___cli_truncate_2.1.0.tgz";
       path = fetchurl {
-        name = "cli_truncate___cli_truncate_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz";
-        sha1 = "2b2dfd83c53cfd3572b87fc4d430a808afb04086";
+        name = "cli_truncate___cli_truncate_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz";
+        sha512 = "n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==";
       };
     }
     {
@@ -558,7 +582,7 @@
       path = fetchurl {
         name = "clipboardy___clipboardy_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz";
-        sha1 = "3c2903650c68e46a91b388985bc2774287dba290";
+        sha512 = "mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==";
       };
     }
     {
@@ -566,7 +590,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==";
       };
     }
     {
@@ -574,7 +598,15 @@
       path = fetchurl {
         name = "clone_response___clone_response_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz";
-        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+        sha1 = "0dyXOSAxTfZ/vrlCI7TuNQI56Ws=";
+      };
+    }
+    {
+      name = "code_point_at___code_point_at_1.1.0.tgz";
+      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 = "DQcLTQQ6W+ozovGkDi7bPZpMz3c=";
       };
     }
     {
@@ -582,7 +614,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==";
       };
     }
     {
@@ -590,7 +622,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==";
       };
     }
     {
@@ -598,7 +630,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=";
       };
     }
     {
@@ -606,7 +638,7 @@
       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==";
       };
     }
     {
@@ -614,7 +646,7 @@
       path = fetchurl {
         name = "colors___colors_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz";
-        sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+        sha1 = "BDP0TYCWgP3rYO0mDxsMJi6CpAs=";
       };
     }
     {
@@ -622,7 +654,7 @@
       path = fetchurl {
         name = "combined_stream___combined_stream_1.0.8.tgz";
         url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     }
     {
@@ -630,7 +662,7 @@
       path = fetchurl {
         name = "commander___commander_2.9.0.tgz";
         url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
-        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+        sha1 = "nJkJQXbhIkDLItbFFGCYQA/g99Q=";
       };
     }
     {
@@ -638,7 +670,7 @@
       path = fetchurl {
         name = "commander___commander_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz";
-        sha1 = "46abbd1652f8e059bddaef99bbdcb2ad9cf179ae";
+        sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
       };
     }
     {
@@ -646,7 +678,7 @@
       path = fetchurl {
         name = "compare_version___compare_version_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz";
-        sha1 = "0162ec2d9351f5ddd59a9202cba935366a725080";
+        sha1 = "AWLsLZNR9d3VmpICy6k1NmpyUIA=";
       };
     }
     {
@@ -654,7 +686,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=";
       };
     }
     {
@@ -662,7 +694,7 @@
       path = fetchurl {
         name = "concat_stream___concat_stream_1.6.2.tgz";
         url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
       };
     }
     {
@@ -670,7 +702,7 @@
       path = fetchurl {
         name = "config_chain___config_chain_1.1.13.tgz";
         url  = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz";
-        sha1 = "fad0795aa6a6cdaff9ed1b68e9dff94372c232f4";
+        sha512 = "qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==";
       };
     }
     {
@@ -678,7 +710,15 @@
       path = fetchurl {
         name = "configstore___configstore_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz";
-        sha1 = "d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96";
+        sha512 = "aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==";
+      };
+    }
+    {
+      name = "console_control_strings___console_control_strings_1.1.0.tgz";
+      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 = "PXz0Rk22RG6mRL9LOVB/mFEAjo4=";
       };
     }
     {
@@ -686,7 +726,7 @@
       path = fetchurl {
         name = "core_util_is___core_util_is_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+        sha1 = "tf1UIgqivFq1eqtxQMlAdUUDwac=";
       };
     }
     {
@@ -694,7 +734,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==";
       };
     }
     {
@@ -702,7 +742,7 @@
       path = fetchurl {
         name = "crc___crc_3.8.0.tgz";
         url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
-        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
+        sha512 = "iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==";
       };
     }
     {
@@ -710,7 +750,7 @@
       path = fetchurl {
         name = "cross_spawn___cross_spawn_6.0.5.tgz";
         url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
-        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+        sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
       };
     }
     {
@@ -718,7 +758,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==";
       };
     }
     {
@@ -726,7 +766,7 @@
       path = fetchurl {
         name = "crypt___crypt_0.0.2.tgz";
         url  = "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz";
-        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+        sha1 = "iNf/fsDfuG9xPch7u0LQRNPmxBs=";
       };
     }
     {
@@ -734,7 +774,15 @@
       path = fetchurl {
         name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
-        sha1 = "ef2a7a966ec11083388369baa02ebead229b30d5";
+        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
+      };
+    }
+    {
+      name = "debug___debug_4.3.3.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
+        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
       };
     }
     {
@@ -742,7 +790,7 @@
       path = fetchurl {
         name = "debug___debug_4.3.2.tgz";
         url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz";
-        sha1 = "f0a49c18ac8779e31d4a0c6029dfb76873c7428b";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     }
     {
@@ -750,7 +798,7 @@
       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==";
       };
     }
     {
@@ -758,7 +806,15 @@
       path = fetchurl {
         name = "decompress_response___decompress_response_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz";
-        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+        sha1 = "gKTdMjdIOEv6JICDYirt7Jgq3/M=";
+      };
+    }
+    {
+      name = "decompress_response___decompress_response_4.2.1.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";
+        sha512 = "jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==";
       };
     }
     {
@@ -766,7 +822,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==";
       };
     }
     {
@@ -774,7 +830,7 @@
       path = fetchurl {
         name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
-        sha1 = "331ae050c08dcf789f8c83a7b81f0ed94f4ac591";
+        sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
       };
     }
     {
@@ -782,7 +838,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==";
       };
     }
     {
@@ -790,7 +846,23 @@
       path = fetchurl {
         name = "delayed_stream___delayed_stream_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+        sha1 = "3zrhmayt+31ECqrgsp4icrJOxhk=";
+      };
+    }
+    {
+      name = "delegates___delegates_1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates___delegates_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "hMbhWbgZBP3KWaDvRM2HDTElD5o=";
+      };
+    }
+    {
+      name = "detect_libc___detect_libc_1.0.3.tgz";
+      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 = "+hN8S9aY7fVc1c0CrFWfkaTEups=";
       };
     }
     {
@@ -798,15 +870,15 @@
       path = fetchurl {
         name = "detect_node___detect_node_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz";
-        sha1 = "c9c70775a49c3d03bc2c06d9a73be550f978f8b1";
+        sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
       };
     }
     {
-      name = "devtools_protocol___devtools_protocol_0.0.901419.tgz";
+      name = "devtools_protocol___devtools_protocol_0.0.937139.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.937139.tgz";
+        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.937139.tgz";
+        sha512 = "daj+rzR3QSxsPRy5vjjthn58axO8c11j58uY0lG5vvlJk/EiOdCWOptGdkXDjtuRHr78emKq0udHCXM4trhoDQ==";
       };
     }
     {
@@ -814,7 +886,7 @@
       path = fetchurl {
         name = "dir_compare___dir_compare_2.4.0.tgz";
         url  = "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz";
-        sha1 = "785c41dc5f645b34343a4eafc50b79bac7f11631";
+        sha512 = "l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==";
       };
     }
     {
@@ -822,15 +894,15 @@
       path = fetchurl {
         name = "dmg_builder___dmg_builder_22.14.5.tgz";
         url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz";
-        sha1 = "137c0b55e639badcc0b119eb060e6fa4ed61d948";
+        sha512 = "1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==";
       };
     }
     {
-      name = "dmg_license___dmg_license_1.0.9.tgz";
+      name = "dmg_license___dmg_license_1.0.10.tgz";
       path = fetchurl {
-        name = "dmg_license___dmg_license_1.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz";
-        sha1 = "a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f";
+        name = "dmg_license___dmg_license_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz";
+        sha512 = "SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A==";
       };
     }
     {
@@ -838,7 +910,7 @@
       path = fetchurl {
         name = "dot_prop___dot_prop_5.3.0.tgz";
         url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz";
-        sha1 = "90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88";
+        sha512 = "QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==";
       };
     }
     {
@@ -846,7 +918,7 @@
       path = fetchurl {
         name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
-        sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0";
+        sha512 = "YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==";
       };
     }
     {
@@ -854,7 +926,7 @@
       path = fetchurl {
         name = "dotenv___dotenv_9.0.2.tgz";
         url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz";
-        sha1 = "dacc20160935a37dea6364aa1bef819fb9b6ab05";
+        sha512 = "I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==";
       };
     }
     {
@@ -862,7 +934,7 @@
       path = fetchurl {
         name = "duplexer3___duplexer3_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz";
-        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
+        sha1 = "7gHdHKwO08vH/b6jfcCo8c4ALOI=";
       };
     }
     {
@@ -870,7 +942,7 @@
       path = fetchurl {
         name = "ejs___ejs_3.1.6.tgz";
         url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz";
-        sha1 = "5bfd0a0689743bb5268b3550cceeebbc1702822a";
+        sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     }
     {
@@ -878,7 +950,7 @@
       path = fetchurl {
         name = "electron_builder___electron_builder_22.14.5.tgz";
         url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz";
-        sha1 = "3a25547bd4fe3728d4704da80956a794c5c31496";
+        sha512 = "N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==";
       };
     }
     {
@@ -886,7 +958,7 @@
       path = fetchurl {
         name = "electron_osx_sign___electron_osx_sign_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz";
-        sha1 = "fc258c5e896859904bbe3d01da06902c04b51c3a";
+        sha512 = "icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==";
       };
     }
     {
@@ -894,15 +966,15 @@
       path = fetchurl {
         name = "electron_publish___electron_publish_22.14.5.tgz";
         url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz";
-        sha1 = "34bcdce671f0e651330db20040d6919c77c94bd6";
+        sha512 = "h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==";
       };
     }
     {
-      name = "electron___electron_15.3.2.tgz";
+      name = "electron___electron_16.0.7.tgz";
       path = fetchurl {
-        name = "electron___electron_15.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-15.3.2.tgz";
-        sha1 = "4f0cbad781d14e0194f5dfef1709e09a70c8074a";
+        name = "electron___electron_16.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-16.0.7.tgz";
+        sha512 = "/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==";
       };
     }
     {
@@ -910,7 +982,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==";
       };
     }
     {
@@ -918,7 +990,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=";
       };
     }
     {
@@ -926,7 +998,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==";
       };
     }
     {
@@ -934,7 +1006,7 @@
       path = fetchurl {
         name = "env_paths___env_paths_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz";
-        sha1 = "420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2";
+        sha512 = "+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==";
       };
     }
     {
@@ -942,7 +1014,7 @@
       path = fetchurl {
         name = "es6_error___es6_error_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz";
-        sha1 = "9e3af407459deed47e9a91f9b885a84eb05c561d";
+        sha512 = "Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==";
       };
     }
     {
@@ -950,7 +1022,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==";
       };
     }
     {
@@ -958,7 +1030,7 @@
       path = fetchurl {
         name = "escape_goat___escape_goat_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz";
-        sha1 = "1b2dc77003676c457ec760b2dc68edb648188675";
+        sha512 = "8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==";
       };
     }
     {
@@ -966,7 +1038,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=";
       };
     }
     {
@@ -974,7 +1046,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==";
       };
     }
     {
@@ -982,7 +1054,15 @@
       path = fetchurl {
         name = "execa___execa_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
-        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+        sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
+      };
+    }
+    {
+      name = "expand_template___expand_template_2.0.3.tgz";
+      path = fetchurl {
+        name = "expand_template___expand_template_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz";
+        sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
       };
     }
     {
@@ -990,7 +1070,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==";
       };
     }
     {
@@ -998,7 +1078,7 @@
       path = fetchurl {
         name = "extract_zip___extract_zip_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz";
-        sha1 = "556cc3ae9df7f452c493a0cfb51cc30277940927";
+        sha512 = "xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==";
       };
     }
     {
@@ -1006,7 +1086,7 @@
       path = fetchurl {
         name = "extsprintf___extsprintf_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz";
-        sha1 = "8d172c064867f235c0c84a596806d279bf4bcc07";
+        sha512 = "Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==";
       };
     }
     {
@@ -1014,7 +1094,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==";
       };
     }
     {
@@ -1022,7 +1102,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==";
       };
     }
     {
@@ -1030,7 +1110,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=";
       };
     }
     {
@@ -1038,7 +1118,7 @@
       path = fetchurl {
         name = "filelist___filelist_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz";
-        sha1 = "80202f21462d4d1c2e214119b1807c1bc0380e5b";
+        sha512 = "z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==";
       };
     }
     {
@@ -1046,15 +1126,15 @@
       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==";
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.5.tgz";
+      name = "follow_redirects___follow_redirects_1.14.7.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz";
-        sha1 = "f09a5848981d3c772b5392309778523f8d85c381";
+        name = "follow_redirects___follow_redirects_1.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz";
+        sha512 = "+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==";
       };
     }
     {
@@ -1062,7 +1142,7 @@
       path = fetchurl {
         name = "font_awesome___font_awesome_4.7.0.tgz";
         url  = "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz";
-        sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133";
+        sha1 = "j6jPBBGhoxr9B7BtKQK7n8gVoTM=";
       };
     }
     {
@@ -1070,7 +1150,7 @@
       path = fetchurl {
         name = "form_data___form_data_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz";
-        sha1 = "93919daeaf361ee529584b9b31664dc12c9fa452";
+        sha512 = "ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==";
       };
     }
     {
@@ -1078,7 +1158,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==";
       };
     }
     {
@@ -1086,7 +1166,7 @@
       path = fetchurl {
         name = "fs_extra___fs_extra_10.0.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz";
-        sha1 = "9ff61b655dde53fb34a82df84bb214ce802e17c1";
+        sha512 = "C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==";
       };
     }
     {
@@ -1094,7 +1174,7 @@
       path = fetchurl {
         name = "fs_extra___fs_extra_8.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
-        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
       };
     }
     {
@@ -1102,7 +1182,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==";
       };
     }
     {
@@ -1110,7 +1190,15 @@
       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=";
+      };
+    }
+    {
+      name = "gauge___gauge_2.7.4.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "LANAXHU4w51+s3sxcCLjJfsBi/c=";
       };
     }
     {
@@ -1118,7 +1206,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==";
       };
     }
     {
@@ -1126,7 +1214,7 @@
       path = fetchurl {
         name = "get_stream___get_stream_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
-        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
       };
     }
     {
@@ -1134,7 +1222,15 @@
       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==";
+      };
+    }
+    {
+      name = "github_from_package___github_from_package_0.0.0.tgz";
+      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 = "l/tdlr/eiXMxPyDoKI75oWf6ZM4=";
       };
     }
     {
@@ -1142,7 +1238,7 @@
       path = fetchurl {
         name = "glob___glob_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz";
-        sha1 = "d15535af7732e02e948f4c41628bd910293f6023";
+        sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
       };
     }
     {
@@ -1150,7 +1246,7 @@
       path = fetchurl {
         name = "global_agent___global_agent_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz";
-        sha1 = "ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6";
+        sha512 = "PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==";
       };
     }
     {
@@ -1158,7 +1254,7 @@
       path = fetchurl {
         name = "global_dirs___global_dirs_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz";
-        sha1 = "70a76fe84ea315ab37b1f5576cbde7d48ef72686";
+        sha512 = "v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==";
       };
     }
     {
@@ -1166,7 +1262,7 @@
       path = fetchurl {
         name = "global_tunnel_ng___global_tunnel_ng_2.7.1.tgz";
         url  = "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz";
-        sha1 = "d03b5102dfde3a69914f5ee7d86761ca35d57d8f";
+        sha512 = "4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==";
       };
     }
     {
@@ -1174,7 +1270,7 @@
       path = fetchurl {
         name = "globalthis___globalthis_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz";
-        sha1 = "2a235d34f4d8036219f7e34929b5de9e18166b8b";
+        sha512 = "ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==";
       };
     }
     {
@@ -1182,15 +1278,15 @@
       path = fetchurl {
         name = "got___got_9.6.0.tgz";
         url  = "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz";
-        sha1 = "edf45e7d67f99545705de1f7bbeeeb121765ed85";
+        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     }
     {
-      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==";
       };
     }
     {
@@ -1198,7 +1294,7 @@
       path = fetchurl {
         name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+        sha1 = "TK+tdrxi8C+gObL5Tpo906ORpyU=";
       };
     }
     {
@@ -1206,7 +1302,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=";
       };
     }
     {
@@ -1214,7 +1310,15 @@
       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==";
+      };
+    }
+    {
+      name = "has_unicode___has_unicode_2.0.1.tgz";
+      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 = "4Ob+aijPUROIVeCG0Wkedx3iqLk=";
       };
     }
     {
@@ -1222,15 +1326,15 @@
       path = fetchurl {
         name = "has_yarn___has_yarn_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz";
-        sha1 = "137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77";
+        sha512 = "UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==";
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
+      name = "hosted_git_info___hosted_git_info_4.1.0.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz";
-        sha1 = "5e425507eede4fea846b7262f0838456c4209961";
+        name = "hosted_git_info___hosted_git_info_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz";
+        sha512 = "kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==";
       };
     }
     {
@@ -1238,7 +1342,7 @@
       path = fetchurl {
         name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha1 = "49e91c5cbf36c9b94bcfcd71c23d5249ec74e390";
+        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
       };
     }
     {
@@ -1246,15 +1350,15 @@
       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==";
       };
     }
     {
-      name = "iconv_corefoundation___iconv_corefoundation_1.1.6.tgz";
+      name = "iconv_corefoundation___iconv_corefoundation_1.1.7.tgz";
       path = fetchurl {
-        name = "iconv_corefoundation___iconv_corefoundation_1.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz";
-        sha1 = "27c135470237f6f8d13462fa1f5eaf250523c29a";
+        name = "iconv_corefoundation___iconv_corefoundation_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz";
+        sha512 = "T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==";
       };
     }
     {
@@ -1262,7 +1366,7 @@
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.6.3.tgz";
         url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz";
-        sha1 = "a52f80bf38da1952eb5c681790719871a1a72501";
+        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
       };
     }
     {
@@ -1270,7 +1374,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==";
       };
     }
     {
@@ -1278,7 +1382,7 @@
       path = fetchurl {
         name = "import_lazy___import_lazy_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
+        sha1 = "BWmOPUXIjo1+nZLLBYTnfwlvPkM=";
       };
     }
     {
@@ -1286,7 +1390,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=";
       };
     }
     {
@@ -1294,7 +1398,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=";
       };
     }
     {
@@ -1302,7 +1406,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
-        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     }
     {
@@ -1310,7 +1414,7 @@
       path = fetchurl {
         name = "ini___ini_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz";
-        sha1 = "e5fd556ecdd5726be978fa1001862eacb0a94bc5";
+        sha512 = "7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==";
       };
     }
     {
@@ -1318,7 +1422,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==";
       };
     }
     {
@@ -1326,7 +1430,7 @@
       path = fetchurl {
         name = "is_buffer___is_buffer_1.1.6.tgz";
         url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     }
     {
@@ -1334,7 +1438,7 @@
       path = fetchurl {
         name = "is_ci___is_ci_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
-        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
       };
     }
     {
@@ -1342,7 +1446,7 @@
       path = fetchurl {
         name = "is_ci___is_ci_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz";
-        sha1 = "db6ecbed1bd659c43dac0f45661e7674103d1867";
+        sha512 = "ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==";
       };
     }
     {
@@ -1350,15 +1454,15 @@
       path = fetchurl {
         name = "is_docker___is_docker_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz";
-        sha1 = "33eeabe23cfe86f14bde4408a02c0cfb853acdaa";
+        sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
       };
     }
     {
-      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.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";
+        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 = "754xOG8DGn8NZDr4L95QxFfvAMs=";
       };
     }
     {
@@ -1366,7 +1470,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==";
       };
     }
     {
@@ -1374,7 +1478,7 @@
       path = fetchurl {
         name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
-        sha1 = "9a0fd407949c30f86eb6959ef1b7994ed0b7b520";
+        sha512 = "iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==";
       };
     }
     {
@@ -1382,7 +1486,7 @@
       path = fetchurl {
         name = "is_npm___is_npm_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz";
-        sha1 = "43e8d65cc56e1b67f8d47262cf667099193f45a8";
+        sha512 = "WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==";
       };
     }
     {
@@ -1390,7 +1494,7 @@
       path = fetchurl {
         name = "is_obj___is_obj_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz";
-        sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982";
+        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
       };
     }
     {
@@ -1398,7 +1502,7 @@
       path = fetchurl {
         name = "is_path_inside___is_path_inside_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz";
-        sha1 = "d231362e53a07ff2b0e0ea7fed049161ffd16283";
+        sha512 = "Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==";
       };
     }
     {
@@ -1406,7 +1510,7 @@
       path = fetchurl {
         name = "is_stream___is_stream_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
-        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+        sha1 = "EtSj3U5o4Lec6428hBc66A2RykQ=";
       };
     }
     {
@@ -1414,7 +1518,7 @@
       path = fetchurl {
         name = "is_typedarray___is_typedarray_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+        sha1 = "5HnICFjfDBsR3dppQPlgEfzaSpo=";
       };
     }
     {
@@ -1422,7 +1526,7 @@
       path = fetchurl {
         name = "is_wsl___is_wsl_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz";
-        sha1 = "74a4c76e77ca9fd3f932f290c17ea326cd157271";
+        sha512 = "fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==";
       };
     }
     {
@@ -1430,7 +1534,7 @@
       path = fetchurl {
         name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
-        sha1 = "d502d3382590ea3004893746754c89139973e232";
+        sha512 = "VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==";
       };
     }
     {
@@ -1438,7 +1542,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=";
       };
     }
     {
@@ -1446,7 +1550,7 @@
       path = fetchurl {
         name = "isbinaryfile___isbinaryfile_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz";
-        sha1 = "5d6def3edebf6e8ca8cae9c30183a804b5f8be80";
+        sha512 = "8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==";
       };
     }
     {
@@ -1454,7 +1558,7 @@
       path = fetchurl {
         name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz";
-        sha1 = "5d34b94865bd4946633ecc78a026fc76c5b11fcf";
+        sha512 = "53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==";
       };
     }
     {
@@ -1462,7 +1566,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=";
       };
     }
     {
@@ -1470,7 +1574,7 @@
       path = fetchurl {
         name = "iso8601_duration___iso8601_duration_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/iso8601-duration/-/iso8601-duration-1.3.0.tgz";
-        sha1 = "29d7b69e0574e4acdee50c5e5e09adab4137ba5a";
+        sha512 = "K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==";
       };
     }
     {
@@ -1478,7 +1582,7 @@
       path = fetchurl {
         name = "jake___jake_10.8.2.tgz";
         url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz";
-        sha1 = "ebc9de8558160a66d82d0eadc6a2e58fbc500a7b";
+        sha512 = "eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==";
       };
     }
     {
@@ -1486,7 +1590,7 @@
       path = fetchurl {
         name = "js_yaml___js_yaml_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz";
-        sha1 = "c1fb65f8f5017901cdd2c951864ba18458a10602";
+        sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
       };
     }
     {
@@ -1494,7 +1598,7 @@
       path = fetchurl {
         name = "json_buffer___json_buffer_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz";
-        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+        sha1 = "Wx85evx11ne96Lz8Dkfh+aPZqJg=";
       };
     }
     {
@@ -1502,7 +1606,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==";
       };
     }
     {
@@ -1510,7 +1614,7 @@
       path = fetchurl {
         name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+        sha1 = "Epai1Y/UXxmg9s4B1lcB4sc1tus=";
       };
     }
     {
@@ -1518,7 +1622,7 @@
       path = fetchurl {
         name = "json5___json5_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz";
-        sha1 = "2dfefe720c6ba525d9ebd909950f0515316c89a3";
+        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
       };
     }
     {
@@ -1526,7 +1630,7 @@
       path = fetchurl {
         name = "jsonfile___jsonfile_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
-        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+        sha1 = "h3Gq4HmbZAdrdmQPygWPnBDjPss=";
       };
     }
     {
@@ -1534,7 +1638,15 @@
       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==";
+      };
+    }
+    {
+      name = "keytar___keytar_7.7.0.tgz";
+      path = fetchurl {
+        name = "keytar___keytar_7.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/keytar/-/keytar-7.7.0.tgz";
+        sha512 = "YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A==";
       };
     }
     {
@@ -1542,7 +1654,7 @@
       path = fetchurl {
         name = "keyv___keyv_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz";
-        sha1 = "ecc228486f69991e49e9476485a5be1e8fc5c4d9";
+        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     }
     {
@@ -1550,7 +1662,7 @@
       path = fetchurl {
         name = "latest_version___latest_version_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz";
-        sha1 = "119dfe908fe38d15dfa43ecd13fa12ec8832face";
+        sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
       };
     }
     {
@@ -1558,7 +1670,7 @@
       path = fetchurl {
         name = "lazy_val___lazy_val_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz";
-        sha1 = "6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d";
+        sha512 = "0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==";
       };
     }
     {
@@ -1566,7 +1678,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==";
       };
     }
     {
@@ -1574,7 +1686,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==";
       };
     }
     {
@@ -1582,7 +1694,7 @@
       path = fetchurl {
         name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha1 = "6f9e30b47084d971a7c820ff15a6c5167b74c26f";
+        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
       };
     }
     {
@@ -1590,7 +1702,7 @@
       path = fetchurl {
         name = "lowercase_keys___lowercase_keys_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha1 = "2603e78b7b4b0006cbca2fbcc8a3202558ac9479";
+        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
       };
     }
     {
@@ -1598,7 +1710,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==";
       };
     }
     {
@@ -1606,7 +1718,7 @@
       path = fetchurl {
         name = "make_dir___make_dir_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz";
-        sha1 = "415e967046b3a7f1d185277d84aa58203726a13f";
+        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
       };
     }
     {
@@ -1614,7 +1726,7 @@
       path = fetchurl {
         name = "matcher___matcher_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz";
-        sha1 = "bd9060f4c5b70aa8041ccc6f80368760994f30ca";
+        sha512 = "OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==";
       };
     }
     {
@@ -1622,7 +1734,7 @@
       path = fetchurl {
         name = "md5___md5_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz";
-        sha1 = "c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f";
+        sha512 = "T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==";
       };
     }
     {
@@ -1630,7 +1742,7 @@
       path = fetchurl {
         name = "mime_db___mime_db_1.51.0.tgz";
         url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz";
-        sha1 = "d9ff62451859b18342d960850dc3cfb77e63fb0c";
+        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
       };
     }
     {
@@ -1638,7 +1750,7 @@
       path = fetchurl {
         name = "mime_types___mime_types_2.1.34.tgz";
         url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz";
-        sha1 = "5a712f9ec1503511a945803640fafe09d3793c24";
+        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
       };
     }
     {
@@ -1646,7 +1758,7 @@
       path = fetchurl {
         name = "mime___mime_2.6.0.tgz";
         url  = "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz";
-        sha1 = "a2a682a95cd4d0cb1d6257e28f83da7e35800367";
+        sha512 = "USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==";
       };
     }
     {
@@ -1654,7 +1766,15 @@
       path = fetchurl {
         name = "mimic_response___mimic_response_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha1 = "4923538878eef42063cb8a3e3b0798781487ab1b";
+        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
+      };
+    }
+    {
+      name = "mimic_response___mimic_response_2.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_response___mimic_response_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz";
+        sha512 = "wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==";
       };
     }
     {
@@ -1662,7 +1782,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==";
       };
     }
     {
@@ -1670,7 +1790,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==";
       };
     }
     {
@@ -1678,7 +1798,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";
+        sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
       };
     }
     {
@@ -1686,7 +1806,7 @@
       path = fetchurl {
         name = "mkdirp___mkdirp_0.5.5.tgz";
         url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha1 = "d91cefd62d1436ca0f41620e251288d420099def";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     }
     {
@@ -1694,7 +1814,7 @@
       path = fetchurl {
         name = "ms___ms_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
-        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+        sha1 = "VgiurfwAvmwpAd9fmGF4jeDVl8g=";
       };
     }
     {
@@ -1702,7 +1822,15 @@
       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==";
+      };
+    }
+    {
+      name = "napi_build_utils___napi_build_utils_1.0.2.tgz";
+      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";
+        sha512 = "ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==";
       };
     }
     {
@@ -1710,7 +1838,15 @@
       path = fetchurl {
         name = "nice_try___nice_try_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
-        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+        sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
+      };
+    }
+    {
+      name = "node_abi___node_abi_2.30.1.tgz";
+      path = fetchurl {
+        name = "node_abi___node_abi_2.30.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz";
+        sha512 = "/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==";
       };
     }
     {
@@ -1718,7 +1854,15 @@
       path = fetchurl {
         name = "node_addon_api___node_addon_api_1.7.2.tgz";
         url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz";
-        sha1 = "3df30b95720b53c24e59948b49532b662444f54d";
+        sha512 = "ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==";
+      };
+    }
+    {
+      name = "node_addon_api___node_addon_api_3.2.1.tgz";
+      path = fetchurl {
+        name = "node_addon_api___node_addon_api_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz";
+        sha512 = "mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==";
       };
     }
     {
@@ -1726,7 +1870,7 @@
       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";
+        sha512 = "mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==";
       };
     }
     {
@@ -1734,7 +1878,7 @@
       path = fetchurl {
         name = "normalize_url___normalize_url_4.5.1.tgz";
         url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz";
-        sha1 = "0dd90cf1288ee1d1313b87081c9a5932ee48518a";
+        sha512 = "9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==";
       };
     }
     {
@@ -1742,7 +1886,7 @@
       path = fetchurl {
         name = "npm_conf___npm_conf_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz";
-        sha1 = "256cc47bd0e218c259c4e9550bf413bc2192aff9";
+        sha512 = "Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==";
       };
     }
     {
@@ -1750,7 +1894,31 @@
       path = fetchurl {
         name = "npm_run_path___npm_run_path_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
-        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+        sha1 = "NakjLfo11wZ7TLLd8jV7GHFTbF8=";
+      };
+    }
+    {
+      name = "npmlog___npmlog_4.1.2.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+      };
+    }
+    {
+      name = "number_is_nan___number_is_nan_1.0.1.tgz";
+      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 = "CXtgK1NCKlIsGvuHkDGDNpQaAR0=";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      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 = "IQmtx5ZYh8/AXLvUQsrIv7s2CGM=";
       };
     }
     {
@@ -1758,7 +1926,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==";
       };
     }
     {
@@ -1766,7 +1934,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=";
       };
     }
     {
@@ -1774,7 +1942,7 @@
       path = fetchurl {
         name = "p_cancelable___p_cancelable_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha1 = "d078d15a3af409220c886f1d9a0ca2e441ab26cc";
+        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
       };
     }
     {
@@ -1782,7 +1950,7 @@
       path = fetchurl {
         name = "p_finally___p_finally_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
-        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+        sha1 = "P7z7FbiZpEEjs0ttzBi3JDNqLK4=";
       };
     }
     {
@@ -1790,7 +1958,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==";
       };
     }
     {
@@ -1798,7 +1966,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==";
       };
     }
     {
@@ -1806,7 +1974,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==";
       };
     }
     {
@@ -1814,7 +1982,7 @@
       path = fetchurl {
         name = "package_json___package_json_6.5.0.tgz";
         url  = "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz";
-        sha1 = "6feedaca35e75725876d0b0e64974697fed145b0";
+        sha512 = "k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==";
       };
     }
     {
@@ -1822,7 +1990,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==";
       };
     }
     {
@@ -1830,7 +1998,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=";
       };
     }
     {
@@ -1838,7 +2006,7 @@
       path = fetchurl {
         name = "path_key___path_key_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
-        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+        sha1 = "QRyttXTFoUDTpLGRDUDYDMn0C0A=";
       };
     }
     {
@@ -1846,7 +2014,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==";
       };
     }
     {
@@ -1854,7 +2022,7 @@
       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=";
       };
     }
     {
@@ -1862,7 +2030,7 @@
       path = fetchurl {
         name = "pify___pify_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+        sha1 = "5aSs0sEB/fPZpNB/DbxNtJ3SgXY=";
       };
     }
     {
@@ -1870,7 +2038,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==";
       };
     }
     {
@@ -1878,7 +2046,15 @@
       path = fetchurl {
         name = "plist___plist_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz";
-        sha1 = "a62df837e3aed2bb3b735899d510c4f186019cbe";
+        sha512 = "ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==";
+      };
+    }
+    {
+      name = "prebuild_install___prebuild_install_6.1.4.tgz";
+      path = fetchurl {
+        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==";
       };
     }
     {
@@ -1886,7 +2062,7 @@
       path = fetchurl {
         name = "prepend_http___prepend_http_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz";
-        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+        sha1 = "6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=";
       };
     }
     {
@@ -1894,7 +2070,7 @@
       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";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     }
     {
@@ -1902,7 +2078,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==";
       };
     }
     {
@@ -1910,7 +2086,7 @@
       path = fetchurl {
         name = "proto_list___proto_list_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz";
-        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+        sha1 = "IS1b/hMYMGpCD2QCuOJv85ZHqEk=";
       };
     }
     {
@@ -1918,7 +2094,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==";
       };
     }
     {
@@ -1926,7 +2102,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==";
       };
     }
     {
@@ -1934,7 +2110,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==";
       };
     }
     {
@@ -1942,15 +2118,15 @@
       path = fetchurl {
         name = "pupa___pupa_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz";
-        sha1 = "f5e8fd4afc2c5d97828faa523549ed8744a20d62";
+        sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
       };
     }
     {
-      name = "puppeteer___puppeteer_11.0.0.tgz";
+      name = "puppeteer___puppeteer_13.0.1.tgz";
       path = fetchurl {
-        name = "puppeteer___puppeteer_11.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-11.0.0.tgz";
-        sha1 = "0808719c38e15315ecc1b1c28911f1c9054d201f";
+        name = "puppeteer___puppeteer_13.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.0.1.tgz";
+        sha512 = "wqGIx59LzYqWhYcJQphMT+ux0sgatEUbjKG0lbjJxNVqVIT3ZC5m4Bvmq2gHE3qhb63EwS+rNkql08bm4BvO0A==";
       };
     }
     {
@@ -1958,7 +2134,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==";
       };
     }
     {
@@ -1966,7 +2142,7 @@
       path = fetchurl {
         name = "read_config_file___read_config_file_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz";
-        sha1 = "71536072330bcd62ba814f91458b12add9fc7ade";
+        sha512 = "gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==";
       };
     }
     {
@@ -1974,7 +2150,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==";
       };
     }
     {
@@ -1982,7 +2158,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==";
       };
     }
     {
@@ -1990,7 +2166,7 @@
       path = fetchurl {
         name = "registry_auth_token___registry_auth_token_4.2.1.tgz";
         url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz";
-        sha1 = "6d7b4006441918972ccd5fedcd41dc322c79b250";
+        sha512 = "6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==";
       };
     }
     {
@@ -1998,7 +2174,7 @@
       path = fetchurl {
         name = "registry_url___registry_url_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz";
-        sha1 = "e98334b50d5434b81136b44ec638d9c2009c5009";
+        sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
       };
     }
     {
@@ -2006,7 +2182,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=";
       };
     }
     {
@@ -2014,7 +2190,7 @@
       path = fetchurl {
         name = "responselike___responselike_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz";
-        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+        sha1 = "kYcg7ztjHFZCvgaPFa3lpG9Loec=";
       };
     }
     {
@@ -2022,7 +2198,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==";
       };
     }
     {
@@ -2030,23 +2206,23 @@
       path = fetchurl {
         name = "roarr___roarr_2.15.4.tgz";
         url  = "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz";
-        sha1 = "f5fe795b7b838ccfe35dc608e0282b9eba2e7afd";
+        sha512 = "CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==";
       };
     }
     {
-      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      name = "safe_buffer___safe_buffer_5.2.1.tgz";
       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";
+        name = "safe_buffer___safe_buffer_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     }
     {
-      name = "safe_buffer___safe_buffer_5.2.1.tgz";
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
       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";
+        name = "safe_buffer___safe_buffer_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     }
     {
@@ -2054,7 +2230,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==";
       };
     }
     {
@@ -2062,7 +2238,7 @@
       path = fetchurl {
         name = "sanitize_filename___sanitize_filename_1.6.3.tgz";
         url  = "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz";
-        sha1 = "755ebd752045931977e30b2025d340d7c9090378";
+        sha512 = "y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==";
       };
     }
     {
@@ -2070,7 +2246,7 @@
       path = fetchurl {
         name = "sax___sax_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
-        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     }
     {
@@ -2078,7 +2254,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=";
       };
     }
     {
@@ -2086,7 +2262,7 @@
       path = fetchurl {
         name = "semver_diff___semver_diff_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz";
-        sha1 = "05f77ce59f325e00e2706afd67bb506ddb1ca32b";
+        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
       };
     }
     {
@@ -2094,7 +2270,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==";
       };
     }
     {
@@ -2102,7 +2278,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==";
       };
     }
     {
@@ -2110,7 +2286,7 @@
       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==";
       };
     }
     {
@@ -2118,7 +2294,15 @@
       path = fetchurl {
         name = "serialize_error___serialize_error_7.0.1.tgz";
         url  = "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz";
-        sha1 = "f1360b0447f61ffb483ec4157c737fab7d778e18";
+        sha512 = "8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      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 = "BF+XgtARrppoA93TgrJDkrPYkPc=";
       };
     }
     {
@@ -2126,7 +2310,7 @@
       path = fetchurl {
         name = "shebang_command___shebang_command_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
-        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+        sha1 = "RKrGW2lbAzmJaMOfNj/uXer98eo=";
       };
     }
     {
@@ -2134,7 +2318,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==";
       };
     }
     {
@@ -2142,7 +2326,7 @@
       path = fetchurl {
         name = "shebang_regex___shebang_regex_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
-        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+        sha1 = "2kL0l0DAtC2yypcoVxyxkMmO/qM=";
       };
     }
     {
@@ -2150,7 +2334,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==";
       };
     }
     {
@@ -2158,15 +2342,31 @@
       path = fetchurl {
         name = "signal_exit___signal_exit_3.0.6.tgz";
         url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz";
-        sha1 = "24e630c4b0f03fea446a2bd299e62b4a6ca8d0af";
+        sha512 = "sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==";
+      };
+    }
+    {
+      name = "simple_concat___simple_concat_1.0.1.tgz";
+      path = fetchurl {
+        name = "simple_concat___simple_concat_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz";
+        sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
+      };
+    }
+    {
+      name = "simple_get___simple_get_3.1.0.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";
+        sha512 = "bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==";
       };
     }
     {
-      name = "slice_ansi___slice_ansi_1.0.0.tgz";
+      name = "slice_ansi___slice_ansi_3.0.0.tgz";
       path = fetchurl {
-        name = "slice_ansi___slice_ansi_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz";
-        sha1 = "044f1a49d8842ff307aad6b505ed178bd950134d";
+        name = "slice_ansi___slice_ansi_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz";
+        sha512 = "pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==";
       };
     }
     {
@@ -2174,7 +2374,7 @@
       path = fetchurl {
         name = "smart_buffer___smart_buffer_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz";
-        sha1 = "6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae";
+        sha512 = "94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==";
       };
     }
     {
@@ -2182,7 +2382,7 @@
       path = fetchurl {
         name = "source_map_support___source_map_support_0.5.21.tgz";
         url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz";
-        sha1 = "04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f";
+        sha512 = "uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==";
       };
     }
     {
@@ -2190,7 +2390,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==";
       };
     }
     {
@@ -2198,7 +2398,7 @@
       path = fetchurl {
         name = "sprintf_js___sprintf_js_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz";
-        sha1 = "da1765262bf8c0f571749f2ad6c26300207ae673";
+        sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     }
     {
@@ -2206,15 +2406,15 @@
       path = fetchurl {
         name = "stat_mode___stat_mode_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz";
-        sha1 = "68b55cb61ea639ff57136f36b216a291800d1465";
+        sha512 = "jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==";
       };
     }
     {
-      name = "string_width___string_width_2.1.1.tgz";
+      name = "string_width___string_width_1.0.2.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";
+        name = "string_width___string_width_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "EYvfW4zcUaKn5w0hHgfisLmxB9M=";
       };
     }
     {
@@ -2222,7 +2422,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==";
       };
     }
     {
@@ -2230,7 +2430,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==";
       };
     }
     {
@@ -2238,15 +2438,15 @@
       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==";
       };
     }
     {
-      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      name = "strip_ansi___strip_ansi_3.0.1.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";
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "ajhfuIU9lS1f8F0Oiq+UJ43GPc8=";
       };
     }
     {
@@ -2254,7 +2454,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==";
       };
     }
     {
@@ -2262,7 +2462,7 @@
       path = fetchurl {
         name = "strip_eof___strip_eof_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
-        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+        sha1 = "u0P/VZim6wXYm1n80SnJgzE2Br8=";
       };
     }
     {
@@ -2270,7 +2470,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=";
       };
     }
     {
@@ -2278,7 +2478,7 @@
       path = fetchurl {
         name = "sumchecker___sumchecker_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz";
-        sha1 = "6377e996795abb0b6d348e9b3e1dfb24345a8e42";
+        sha512 = "MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==";
       };
     }
     {
@@ -2286,7 +2486,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==";
       };
     }
     {
@@ -2294,7 +2494,7 @@
       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==";
       };
     }
     {
@@ -2302,7 +2502,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==";
       };
     }
     {
@@ -2310,7 +2510,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==";
       };
     }
     {
@@ -2318,7 +2518,7 @@
       path = fetchurl {
         name = "temp_file___temp_file_3.4.0.tgz";
         url  = "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz";
-        sha1 = "766ea28911c683996c248ef1a20eea04d51652c7";
+        sha512 = "C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==";
       };
     }
     {
@@ -2326,7 +2526,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=";
       };
     }
     {
@@ -2334,7 +2534,7 @@
       path = fetchurl {
         name = "tmp_promise___tmp_promise_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz";
-        sha1 = "60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7";
+        sha512 = "RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==";
       };
     }
     {
@@ -2342,7 +2542,7 @@
       path = fetchurl {
         name = "tmp___tmp_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz";
-        sha1 = "8457fc3037dcf4719c251367a1af6500ee1ccf14";
+        sha512 = "76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==";
       };
     }
     {
@@ -2350,7 +2550,7 @@
       path = fetchurl {
         name = "to_readable_stream___to_readable_stream_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
-        sha1 = "ce0aa0c2f3df6adf852efb404a783e77c0475771";
+        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
       };
     }
     {
@@ -2358,7 +2558,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=";
       };
     }
     {
@@ -2366,7 +2566,15 @@
       path = fetchurl {
         name = "truncate_utf8_bytes___truncate_utf8_bytes_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz";
-        sha1 = "405923909592d56f78a5818434b0b78489ca5f2b";
+        sha1 = "QFkjkJWS1W94pYGENLC3hInKXys=";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      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 = "J6XeoGs2sEoKmWZ3SykIaPD8QP0=";
       };
     }
     {
@@ -2374,7 +2582,7 @@
       path = fetchurl {
         name = "tunnel___tunnel_0.0.6.tgz";
         url  = "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz";
-        sha1 = "72f1314b34a5b192db012324df2cc587ca47f92c";
+        sha512 = "1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==";
       };
     }
     {
@@ -2382,7 +2590,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.13.1.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz";
-        sha1 = "0172cb5bce80b0bd542ea348db50c7e21834d934";
+        sha512 = "34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==";
       };
     }
     {
@@ -2390,7 +2598,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==";
       };
     }
     {
@@ -2398,7 +2606,7 @@
       path = fetchurl {
         name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
         url  = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha1 = "a97ee7a9ff42691b9f783ff1bc5112fe3fca9080";
+        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     }
     {
@@ -2406,7 +2614,7 @@
       path = fetchurl {
         name = "typedarray___typedarray_0.0.6.tgz";
         url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
-        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+        sha1 = "hnrHTjhkGHsdPUfZlqeOxciDB3c=";
       };
     }
     {
@@ -2414,7 +2622,7 @@
       path = fetchurl {
         name = "unbzip2_stream___unbzip2_stream_1.4.3.tgz";
         url  = "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz";
-        sha1 = "b0da04c4371311df771cdc215e87f2130991ace7";
+        sha512 = "mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==";
       };
     }
     {
@@ -2422,7 +2630,7 @@
       path = fetchurl {
         name = "unique_string___unique_string_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz";
-        sha1 = "39c6451f81afb2749de2b233e3f7c5e8843bd89d";
+        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
       };
     }
     {
@@ -2430,7 +2638,7 @@
       path = fetchurl {
         name = "universalify___universalify_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
-        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     }
     {
@@ -2438,7 +2646,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==";
       };
     }
     {
@@ -2446,7 +2654,7 @@
       path = fetchurl {
         name = "update_notifier___update_notifier_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz";
-        sha1 = "4ab0d7c7f36a231dd7316cf7729313f0214d9ad9";
+        sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
       };
     }
     {
@@ -2454,7 +2662,7 @@
       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==";
       };
     }
     {
@@ -2462,7 +2670,7 @@
       path = fetchurl {
         name = "url_parse_lax___url_parse_lax_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
-        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+        sha1 = "FrXK/Afb42dsGxmZF3gj1lA6yww=";
       };
     }
     {
@@ -2470,7 +2678,7 @@
       path = fetchurl {
         name = "utf8_byte_length___utf8_byte_length_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz";
-        sha1 = "f45f150c4c66eee968186505ab93fcbb8ad6bf61";
+        sha1 = "9F8VDExm7uloGGUFq5P8u4rWv2E=";
       };
     }
     {
@@ -2478,7 +2686,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=";
       };
     }
     {
@@ -2486,7 +2694,7 @@
       path = fetchurl {
         name = "verror___verror_1.10.1.tgz";
         url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz";
-        sha1 = "4bf09eeccf4563b109ed4b3d458380c972b0cdeb";
+        sha512 = "veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==";
       };
     }
     {
@@ -2494,7 +2702,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=";
       };
     }
     {
@@ -2502,7 +2710,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=";
       };
     }
     {
@@ -2510,7 +2718,7 @@
       path = fetchurl {
         name = "which___which_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
-        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     }
     {
@@ -2518,7 +2726,15 @@
       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.5.tgz";
+      path = fetchurl {
+        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==";
       };
     }
     {
@@ -2526,7 +2742,7 @@
       path = fetchurl {
         name = "widest_line___widest_line_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz";
-        sha1 = "8292333bbf66cb45ff0de1603b136b7ae1496eca";
+        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
       };
     }
     {
@@ -2534,7 +2750,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==";
       };
     }
     {
@@ -2542,7 +2758,7 @@
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+        sha1 = "tSQ9jz7BqjXxNkYFvA0QNuMKtp8=";
       };
     }
     {
@@ -2550,7 +2766,7 @@
       path = fetchurl {
         name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha1 = "56bd5c5a5c70481cd19c571bd39ab965a5de56e8";
+        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     }
     {
@@ -2558,7 +2774,7 @@
       path = fetchurl {
         name = "ws___ws_8.2.3.tgz";
         url  = "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz";
-        sha1 = "63a56456db1b04367d0b721a0b80cae6d8becbba";
+        sha512 = "wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==";
       };
     }
     {
@@ -2566,7 +2782,7 @@
       path = fetchurl {
         name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
-        sha1 = "4bc8d9984403696225ef83a1573cbbcb4e79db13";
+        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
       };
     }
     {
@@ -2574,7 +2790,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
-        sha1 = "9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5";
+        sha512 = "yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==";
       };
     }
     {
@@ -2582,7 +2798,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
-        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+        sha1 = "Ey7mPS7FVlxVfiD0wi35rKaGsQ0=";
       };
     }
     {
@@ -2590,7 +2806,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==";
       };
     }
     {
@@ -2598,23 +2814,23 @@
       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==";
       };
     }
     {
-      name = "yargs_parser___yargs_parser_20.2.9.tgz";
+      name = "yargs_parser___yargs_parser_21.0.0.tgz";
       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";
+        name = "yargs_parser___yargs_parser_21.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz";
+        sha512 = "z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==";
       };
     }
     {
-      name = "yargs___yargs_17.2.1.tgz";
+      name = "yargs___yargs_17.3.1.tgz";
       path = fetchurl {
-        name = "yargs___yargs_17.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz";
-        sha1 = "e2c95b9796a0e1f7f3bf4427863b42e0418191ea";
+        name = "yargs___yargs_17.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz";
+        sha512 = "WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==";
       };
     }
     {
@@ -2622,7 +2838,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=";
       };
     }
   ];
diff --git a/nixpkgs/pkgs/tools/misc/shunit2/default.nix b/nixpkgs/pkgs/tools/misc/shunit2/default.nix
index 1895acacac27..a0ec572a409d 100644
--- a/nixpkgs/pkgs/tools/misc/shunit2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/skim/default.nix b/nixpkgs/pkgs/tools/misc/skim/default.nix
index 63931914e942..e7a39709630e 100644
--- a/nixpkgs/pkgs/tools/misc/skim/default.nix
+++ b/nixpkgs/pkgs/tools/misc/skim/default.nix
@@ -32,6 +32,9 @@ rustPlatform.buildRustPackage rec {
     chmod +x $out/bin/sk-share
   '';
 
+  # https://github.com/lotabout/skim/issues/440
+  doCheck = !stdenv.isAarch64;
+
   meta = with lib; {
     description = "Command-line fuzzy finder written in Rust";
     homepage = "https://github.com/lotabout/skim";
diff --git a/nixpkgs/pkgs/tools/misc/snapper/default.nix b/nixpkgs/pkgs/tools/misc/snapper/default.nix
index 37361abf2b2f..80d9e191c8a6 100644
--- a/nixpkgs/pkgs/tools/misc/snapper/default.nix
+++ b/nixpkgs/pkgs/tools/misc/snapper/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config, docbook_xsl, libxslt, docbook_xml_dtd_45
 , acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2
-, lvm2, pam, python, util-linux, json_c, nixosTests
+, lvm2, pam, python2, util-linux, json_c, nixosTests
 , ncurses }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2
-    lvm2 pam python util-linux json_c ncurses
+    lvm2 pam python2 util-linux json_c ncurses
   ];
 
   passthru.tests.snapper = nixosTests.snapper;
diff --git a/nixpkgs/pkgs/tools/misc/snore/default.nix b/nixpkgs/pkgs/tools/misc/snore/default.nix
index 5efeafcd26f6..92c3de77c842 100644
--- a/nixpkgs/pkgs/tools/misc/snore/default.nix
+++ b/nixpkgs/pkgs/tools/misc/snore/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "0.1";
+  version = "0.2";
   pname = "snore";
 
   src = fetchFromGitHub {
     owner = "clamiax";
     repo = pname;
     rev = version;
-    sha256 = "1ic1qy6ybnjlkz5rb1hpvq6dcdmxw5xcx34qcadrsfdjizxcv8pp";
+    sha256 = "sha256-EOwbRqtQEuGZ+aeCBNVfLUq4m/bFWJTvMDM6a+y74qc=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/nixpkgs/pkgs/tools/misc/spigot/default.nix b/nixpkgs/pkgs/tools/misc/spigot/default.nix
index a088705036d0..b2abec09741d 100644
--- a/nixpkgs/pkgs/tools/misc/spigot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/spigot/default.nix
@@ -1,36 +1,54 @@
 { lib
 , stdenv
-, buildPackages
-, fetchgit
-, autoreconfHook
+, fetchurl
+, cmake
 , gmp
-, ncurses
 , halibut
+, ncurses
 , perl
 }:
 
 stdenv.mkDerivation rec {
   pname = "spigot";
-  version = "20200901";
-  src = fetchgit {
-    url = "https://git.tartarus.org/simon/spigot.git";
-    rev = "9910e5bdc203bae6b7bbe1ed4a93f13755c1cae";
-    sha256 = "1az6v9gk0g2k197lr288nmr9jv20bvgc508vn9ic3v7mav7hf5bf";
+  version = "20210527";
+  srcVersion = "20210527.7dd3cfd";
+
+  src = fetchurl {
+    url = "https://www.chiark.greenend.org.uk/~sgtatham/spigot/${pname}-${srcVersion}.tar.gz";
+    hash = "sha256-EBS3lgfLtsyBQ8mzoJPyZhRBJNmkVSeF5XecGgcvqtw=";
   };
 
-  nativeBuildInputs = [ autoreconfHook halibut perl ];
+  nativeBuildInputs = [
+    cmake
+    halibut
+    perl
+  ];
 
-  configureFlags = [ "--with-gmp" ];
+  buildInputs = [
+    gmp
+    ncurses
+  ];
 
-  buildInputs = [ gmp ncurses ];
+  outputs = [ "out" "man" ];
 
   strictDeps = true;
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    [ `$out/bin/spigot -b 10 -d 10 e` == "2.7182818284" ] || exit 1
+    [ `$out/bin/spigot -b 10 -d 10 pi` == "3.1415926535" ] || exit 1
+    [ `$out/bin/spigot -b 10 -d 10 sqrt\(2\)` == "1.4142135623" ] || exit 1
+
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
-    description = "A command-line exact real calculator";
     homepage = "https://www.chiark.greenend.org.uk/~sgtatham/spigot/";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.all;
-    maintainers = with maintainers; [ mcbeth ];
+    description = "A command-line exact real calculator";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres mcbeth ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/starship/default.nix b/nixpkgs/pkgs/tools/misc/starship/default.nix
index 89d4bb662da7..d61fd9ddda98 100644
--- a/nixpkgs/pkgs/tools/misc/starship/default.nix
+++ b/nixpkgs/pkgs/tools/misc/starship/default.nix
@@ -6,26 +6,26 @@
 , openssl
 , installShellFiles
 , libiconv
+, nixosTests
 , Security
+, Foundation
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "1.1.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Rr0HCr/uJDsBQiKJIPdEL3WOaLgMY2Nq2JGOq4dEUxQ=";
+    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
@@ -34,16 +34,20 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "sha256-UT6t1GbyON/wrIF/oXXhsT3Z61LFjggSPWKpSDHp+PI=";
+  cargoSha256 = "sha256-hQNDiayVT4UgbxcxdXssi/evPvwgyvG/UOFyEHj7jpo=";
 
   preCheck = ''
     HOME=$TMPDIR
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) starship;
+  };
+
   meta = with lib; {
     description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
     homepage = "https://starship.rs";
     license = licenses.isc;
-    maintainers = with maintainers; [ bbigras davidtwco Br1ght0ne Frostman marsam ];
+    maintainers = with maintainers; [ bbigras danth davidtwco Br1ght0ne Frostman marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/steampipe/default.nix b/nixpkgs/pkgs/tools/misc/steampipe/default.nix
index f3cd9b785f2f..554822ba8de3 100644
--- a/nixpkgs/pkgs/tools/misc/steampipe/default.nix
+++ b/nixpkgs/pkgs/tools/misc/steampipe/default.nix
@@ -2,16 +2,17 @@
 
 buildGoModule rec {
   pname = "steampipe";
-  version = "0.11.0";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "steampipe";
     rev = "v${version}";
-    sha256 = "sha256-P/Fys9/V71+VL5Az3EGGaW+tdeQbr2wO+jvVSVZmJT0=";
+    sha256 = "sha256-xLw3y9DYkei0MoErsMpSDhEK73lK9b13st+DqHvvhys=";
   };
 
-  vendorSha256 = "sha256-PYaq74NNEOJ1jZ6PoS6zcTiUN4JA9JDjO7GB9tqgT6c=";
+  vendorSha256 = "sha256-hqjjwYBVnuw7Bt2901tPIkfvYLy955IdeMbeSWTjtL0=";
+  proxyVendor = true;
 
   # tests are failing for no obvious reasons
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/misc/synth/default.nix b/nixpkgs/pkgs/tools/misc/synth/default.nix
index 8bfca884f1f8..1d922a218433 100644
--- a/nixpkgs/pkgs/tools/misc/synth/default.nix
+++ b/nixpkgs/pkgs/tools/misc/synth/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "synth";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "getsynth";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MeZ5bkOMTJVvaBfGahKsXvaYhfMKcYzPFsBp/p2dPQQ=";
+    sha256 = "sha256-TtIZwGHSfY7Xz6hmrsmaB7dXfjSPcBD4yDyC27TJ4B4=";
   };
 
-  cargoSha256 = "sha256-lNeDpUla/PfGd/AogdcOtrmL1Jp+0Ji9LH1CF7uOEe0=";
+  cargoSha256 = "sha256-V5GA5XR3wkcBdbxRjO8PkF7Q3yg1NVUjXsdAHVip4Bc=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/misc/taoup/default.nix b/nixpkgs/pkgs/tools/misc/taoup/default.nix
index 969df132be82..df61794185d1 100644
--- a/nixpkgs/pkgs/tools/misc/taoup/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/thefuck/default.nix b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
index a3aa31d4dedd..87d6dcfb0c2e 100644
--- a/nixpkgs/pkgs/tools/misc/thefuck/default.nix
+++ b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "thefuck";
-  version = "3.31";
+  version = "3.32";
 
   src = fetchFromGitHub {
     owner = "nvbn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eKKUUJr00sUtT4u91MUgJjyPOXp3NigYVfYUP/sDBhY=";
+    sha256 = "sha256-bRCy95owBJaxoyCNQF6gEENoxCkmorhyKzZgU1dQN6I=";
   };
 
   propagatedBuildInputs = [ colorama decorator psutil pyte six ];
diff --git a/nixpkgs/pkgs/tools/misc/tlp/default.nix b/nixpkgs/pkgs/tools/misc/tlp/default.nix
index 84c927260c06..151b8292a596 100644
--- a/nixpkgs/pkgs/tools/misc/tlp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tlp/default.nix
@@ -24,19 +24,19 @@
 , networkmanager
 }: stdenv.mkDerivation rec {
   pname = "tlp";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "linrunner";
     repo = "TLP";
     rev = version;
-    sha256 = "sha256-Blwj4cqrrYXohnGyJYe+1NYifxqfS4DoVUHmxFf62i4=";
+    sha256 = "sha256-hHel3BVMzTYfE59kxxADnm8tqtUFntqS3RzmJSZlWjM=";
   };
 
   # XXX: See patch files for relevant explanations.
   patches = [
     ./patches/0001-makefile-correctly-sed-paths.patch
-    ./patches/0002-tlp-sleep.service-reintroduce.patch
+    ./patches/0002-reintroduce-tlp-sleep-service.patch
   ];
 
   buildInputs = [ perl ];
@@ -50,12 +50,11 @@
   # [1]: https://github.com/NixOS/nixpkgs/issues/65718
   # [2]: https://github.com/linrunner/TLP/blob/ab788abf4936dfb44fbb408afc34af834230a64d/Makefile#L4-L46
   makeFlags = [
-    "DESTDIR=${placeholder "out"}"
-
     "TLP_NO_INIT=1"
     "TLP_WITH_ELOGIND=0"
     "TLP_WITH_SYSTEMD=1"
 
+    "DESTDIR=${placeholder "out"}"
     "TLP_BATD=/share/tlp/bat.d"
     "TLP_BIN=/bin"
     "TLP_CONFDEF=/share/tlp/defaults.conf"
diff --git a/nixpkgs/pkgs/tools/misc/tlp/patches/0002-tlp-sleep.service-reintroduce.patch b/nixpkgs/pkgs/tools/misc/tlp/patches/0002-reintroduce-tlp-sleep-service.patch
index 40d89e207dc4..08bbafc4b9da 100644
--- a/nixpkgs/pkgs/tools/misc/tlp/patches/0002-tlp-sleep.service-reintroduce.patch
+++ b/nixpkgs/pkgs/tools/misc/tlp/patches/0002-reintroduce-tlp-sleep-service.patch
@@ -57,23 +57,6 @@ index ab05720..075b42f 100644
  	rm -f $(_ELOD)/49-tlp-sleep
  	rm -f $(_SHCPL)/tlp-stat
  	rm -f $(_SHCPL)/bluetooth
-diff --git a/tlp-sleep b/tlp-sleep
-deleted file mode 100644
-index e548d55..0000000
---- a/tlp-sleep
-+++ /dev/null
-@@ -1,11 +0,0 @@
--#!/bin/sh
--
--# tlp - systemd suspend/resume hook
--#
--# Copyright (c) 2021 Thomas Koch <linrunner at gmx.net> and others.
--# This software is licensed under the GPL v2 or later.
--
--case $1 in
--    pre)  tlp suspend ;;
--    post) tlp resume  ;;
--esac
 diff --git a/tlp-sleep.service.in b/tlp-sleep.service.in
 new file mode 100644
 index 0000000..79c202c
diff --git a/nixpkgs/pkgs/tools/misc/topgrade/default.nix b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
index 99d6a0100e56..e1b96d971779 100644
--- a/nixpkgs/pkgs/tools/misc/topgrade/default.nix
+++ b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "8.1.2";
+  version = "8.2.0";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2ID3VVT4cQ1yZAD2WVKqkoE7qbe2nNMp1nlwfTxmlZo=";
+    sha256 = "sha256-WyiEKC5WUwIGCaxXqiqNyOcGVZgfd2lVFMxQxhgJhMc=";
   };
 
-  cargoSha256 = "sha256-o1V6u7FmP+p+ApL0AmaqTQTZ2f0sZTpx2ro4lR/DFi8=";
+  cargoSha256 = "sha256-ZcOSHEZHGa1XhGQlW4pR5hBJ2SpSbkKuRS6OSHGg9Lo=";
 
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
diff --git a/nixpkgs/pkgs/tools/misc/topicctl/default.nix b/nixpkgs/pkgs/tools/misc/topicctl/default.nix
index 0a51eda48570..41ee4ead7bd2 100644
--- a/nixpkgs/pkgs/tools/misc/topicctl/default.nix
+++ b/nixpkgs/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-1VRK8tmsbOuP5t5uJ1h+KPcS4K9D+y6UQKeUP2HPXrQ=";
+  vendorSha256 = "sha256-i1ir/aT/jaK//rmH9k/eK4LIRh0OmEytc0mGO7IrpqI=";
 
   ldflags = [
     "-X main.BuildVersion=${version}"
diff --git a/nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix b/nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix
index fc0062185b23..50954dab7ae8 100644
--- a/nixpkgs/pkgs/tools/misc/traefik-certs-dumper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix b/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix
index fe121c2d51ce..9d2036b97f78 100644
--- a/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ttfautohint/default.nix
@@ -23,6 +23,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ ''--with-qt=${if enableGUI then "${qtbase}/lib" else "no"}'' ];
 
+  # workaround https://github.com/NixOS/nixpkgs/issues/155458
+  preBuild = lib.optionalString stdenv.cc.isClang ''
+    rm version
+  '';
+
   enableParallelBuilding = true;
 
   dontWrapQtApps = true;
diff --git a/nixpkgs/pkgs/tools/misc/ttygif/default.nix b/nixpkgs/pkgs/tools/misc/ttygif/default.nix
index 226109ab20c0..d9a97f6c2350 100644
--- a/nixpkgs/pkgs/tools/misc/ttygif/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ttygif/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ttygif";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "icholy";
     repo = pname;
     rev = version;
-    sha256 = "1w9c3h6hik2gglwsw8ww63piy66i4zqr3273wh5rc9r2awiwh643";
+    sha256 = "sha256-GsMeVR2wNivQguZ6B/0v39Td9VGHg+m3RtAG9DYkNmU=";
   };
 
   makeFlags = [ "CC:=$(CC)" "PREFIX=${placeholder "out"}" ];
diff --git a/nixpkgs/pkgs/tools/misc/txr/default.nix b/nixpkgs/pkgs/tools/misc/txr/default.nix
index d5a37e2e67f0..d8ba08611207 100644
--- a/nixpkgs/pkgs/tools/misc/txr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/tz/default.nix b/nixpkgs/pkgs/tools/misc/tz/default.nix
index 8148dfdec702..30e2fa3ece21 100644
--- a/nixpkgs/pkgs/tools/misc/tz/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tz/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-D0rakLZ+swrDwBMcr+EJPgaYsQTWob50QteW1PoIdNk=";
   };
 
-  vendorSha256 = "sha256-gMHPWf/kFb55GyyMciLWRzvrQXUGDQ72RNkIhkMVe54=";
+  vendorSha256 = "sha256-PGsj7pLtd+xpy9Dhv6qJX5sHin4YAOdXaYj4QCSFte4=";
 
   meta = with lib; {
     description = "A time zone helper";
diff --git a/nixpkgs/pkgs/tools/misc/unparam/default.nix b/nixpkgs/pkgs/tools/misc/unparam/default.nix
new file mode 100644
index 000000000000..5840a0d82be8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix b/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
index 628106067553..2fb3196b1f4f 100644
--- a/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -12,19 +12,19 @@
 
 stdenv.mkDerivation rec {
   pname = "uutils-coreutils";
-  version = "0.0.8";
+  version = "0.0.12";
 
   src = fetchFromGitHub {
     owner = "uutils";
     repo = "coreutils";
     rev = version;
-    sha256 = "0hx5ypy58d182gxpgs0dxcw03pdgvrcikbhczg6yqpdjjh7163as";
+    sha256 = "01zwvadfd570vbsy52svp0vi5r2p873c33vn2h4mr7868myl6q9g";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256:1ynw97dr40yg18jaqgvz3shs0s0j6pvvlkrbka2ganiv8c9fvbyw";
+    hash = "sha256:19li3gmb5dmrmiiiy9ihr1rl68lz14j2gsgqpjcsn52rkcy17dzh";
   };
 
   nativeBuildInputs = [ rustPlatform.cargoSetupHook sphinx ];
diff --git a/nixpkgs/pkgs/tools/misc/vector/default.nix b/nixpkgs/pkgs/tools/misc/vector/default.nix
index 379c89621016..90f4505e027f 100644
--- a/nixpkgs/pkgs/tools/misc/vector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vector/default.nix
@@ -29,7 +29,7 @@
 
 let
   pname = "vector";
-  version = "0.19.0";
+  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-A+Ok/BNEs0V00B8P6ghSHZ2pQ8tumfpkurplnvjpWZ8=";
+    sha256 = "sha256-OkT1Gj66Z4sj3YtaMlU1lbquTECPG34qydXGbx24Ig4=";
   };
 
-  cargoSha256 = "sha256-B9z+8TqAl0yFaou1LfNcFsDJjw7qGti6MakDPhz49tc=";
+  cargoSha256 = "sha256-O2uy0wK4pdwjAYzIKJnCzJVsA3n+U+dw731y7OPJfP0=";
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
     ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
@@ -71,8 +71,10 @@ rustPlatform.buildRustPackage {
 
     # flaky on linux-x86_64
     "--skip=sources::socket::test::tcp_with_tls_intermediate_ca"
-
     "--skip=sources::host_metrics::cgroups::tests::generates_cgroups_metrics"
+    "--skip=sources::aws_kinesis_firehose::tests::aws_kinesis_firehose_forwards_events"
+    "--skip=sources::aws_kinesis_firehose::tests::aws_kinesis_firehose_forwards_events_gzip_request"
+    "--skip=sources::aws_kinesis_firehose::tests::handles_acknowledgement_failure"
   ];
 
   # recent overhauls of DNS support in 0.9 mean that we try to resolve
diff --git a/nixpkgs/pkgs/tools/misc/via/default.nix b/nixpkgs/pkgs/tools/misc/via/default.nix
index 5667c8a4c46c..4e5641e304ce 100644
--- a/nixpkgs/pkgs/tools/misc/via/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/viddy/default.nix b/nixpkgs/pkgs/tools/misc/viddy/default.nix
index 4b65a63431bd..f882ce4b5be3 100644
--- a/nixpkgs/pkgs/tools/misc/viddy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/viddy/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-V/x969wi5u5ND9QgJfc4vtI2t1G1ETlATzeqnpHMncc=";
   };
 
-  vendorSha256 = "sha256-iSgFDTNeRPpCMxNqj2LhYV+6/eskGa58e+rT0Nhg+pE=";
+  vendorSha256 = "sha256-LtRHnZF0ynnIp77K9anljqq42BumXohDMwlU7hzSxZk=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/misc/vivid/default.nix b/nixpkgs/pkgs/tools/misc/vivid/default.nix
index d0a6114316fc..71d67ed7489b 100644
--- a/nixpkgs/pkgs/tools/misc/vivid/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vivid/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2rdNjpJrBuj6toLFzFJScNh6od5qUhkSaZF+NbPBlQA=";
+    sha256 = "sha256-83ff0T2P5aRQ6cM9z7IEuoi7syvJldIuzzdiTrygckA=";
   };
 
-  cargoSha256 = "sha256-1aox1eiF3hu5guBjRcM3qb6mHJOutI+yargW7X4cFfg=";
+  cargoSha256 = "sha256-W1tLQTTMOKB/BR9P3y3goPIdOe12Qdkf4wYPlhbQjzY=";
 
   meta = with lib; {
     description = "A generator for LS_COLORS with support for multiple color themes";
diff --git a/nixpkgs/pkgs/tools/misc/vttest/default.nix b/nixpkgs/pkgs/tools/misc/vttest/default.nix
index a78b68569647..a1811629af89 100644
--- a/nixpkgs/pkgs/tools/misc/vttest/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/wakatime/default.nix b/nixpkgs/pkgs/tools/misc/wakatime/default.nix
index 5cd52a6a4ac3..b9c9d73006aa 100644
--- a/nixpkgs/pkgs/tools/misc/wakatime/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wakatime/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wakatime";
-  version = "1.18.7";
+  version = "1.35.4";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime-cli";
     rev = "v${version}";
-    sha256 = "171x4pixmh5ni89iawdjl1fk9gr10bgp5bnslpskhspcqzyl1y5b";
+    sha256 = "sha256-MG2ROWQh8A7LrdOnDWLG9AsHjzfv84KjmjZXhJlMrLQ=";
   };
 
-  vendorSha256 = "01c2vbnafhhm345nyfmvbvj5mga6laf9w46lhh0flq6kdgdw168s";
+  vendorSha256 = "sha256-8FaM83+d1VQ/9le2hD0nqErhH/jOHMxbNz2o4D3qWb8=";
 
   meta = with lib; {
     inherit (src.meta) homepage;
diff --git a/nixpkgs/pkgs/tools/misc/wimboot/default.nix b/nixpkgs/pkgs/tools/misc/wimboot/default.nix
index 538f5113fd8d..67df4056b5f4 100644
--- a/nixpkgs/pkgs/tools/misc/wimboot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/writedisk/default.nix b/nixpkgs/pkgs/tools/misc/writedisk/default.nix
new file mode 100644
index 000000000000..34f4581ba09d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/wyrd/default.nix b/nixpkgs/pkgs/tools/misc/wyrd/default.nix
index 491c362eed40..d1244cc73c47 100644
--- a/nixpkgs/pkgs/tools/misc/wyrd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wyrd/default.nix
@@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "0zlrg602q781q8dij62lwdprpfliyy9j1rqfqcz8p2wgndpivddj";
   };
 
-  NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1";
-
   preConfigure = ''
     substituteInPlace curses/curses.ml --replace 'pp gcc' "pp $CC"
   '';
diff --git a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
index 31d5712e5b33..1c49d68cd00a 100644
--- a/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yle-dl/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "yle-dl";
-  version = "20210917";
+  version = "20220213";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "sha256-l8Wv15DLWRvJ+I6KeTNbIjp+S5EgoqhLOWd0wEyXckk=";
+    sha256 = "sha256-lFb8NwKg8GBgkVsg01rlGrP31APwhFaCFT7QdqiT6J0=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix b/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
index b8e838b4d228..b73b41acd88d 100644
--- a/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix
@@ -20,12 +20,12 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2021.12.27";
+  version = "2022.2.4";
 
   src = fetchPypi {
     inherit pname;
     version = builtins.replaceStrings [ ".0" ] [ "." ] version;
-    sha256 = "sha256-IkTfN1l1FIfnlrI7ZyFr7pjnCDKjpDwlJrCw4Lv7y1s=";
+    sha256 = "sha256-gbUO18+c/MBC2PWhrS0c17E8SLNsB/rxiAaW6sCn3bU=";
   };
 
   propagatedBuildInputs = [ websockets mutagen ]
diff --git a/nixpkgs/pkgs/tools/misc/ytarchive/default.nix b/nixpkgs/pkgs/tools/misc/ytarchive/default.nix
index ef4d212a6201..633fd2fb7e37 100644
--- a/nixpkgs/pkgs/tools/misc/ytarchive/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ytarchive/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ytarchive";
-  version = "0.3.0";
+  version = "unstable-2021-12-29";
 
   src = fetchFromGitHub {
     owner = "Kethsar";
     repo = "ytarchive";
-    rev = "v${version}";
-    sha256 = "sha256-7D92xKxU2WBMDJSY5uFKDbLHWlyT761xuZDiBJ1GxE4=";
+    rev = "2d87608c0b159da876538380b3e613bce2797599";
+    sha256 = "sha256-/cnyKcbgd6I0Ad5aZQd2pCbnU6HZYfuPHK2Ty7yYgHs=";
   };
 
   vendorSha256 = "sha256-r9fDFSCDItQ7YSj9aTY1LXRrFE9T3XD0X36ywCfu0R8=";
diff --git a/nixpkgs/pkgs/tools/misc/ytfzf/default.nix b/nixpkgs/pkgs/tools/misc/ytfzf/default.nix
index 95b4a8907230..3bb0f4382bbf 100644
--- a/nixpkgs/pkgs/tools/misc/ytfzf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ytfzf/default.nix
@@ -16,30 +16,25 @@
 
 stdenv.mkDerivation rec {
   pname = "ytfzf";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ytfzf";
     rev = "v${version}";
-    sha256 = "sha256-JuLfFC3oz2FvCaD+XPuL1N8tGKmv4atyZIBeDKWYgT8=";
+    hash = "sha256-NJLXXam7FmBWj9sM+S71e5o5e6OtVpw0m32kUo3Fbec=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  makeFlags = [ "PREFIX=${placeholder "out"}/bin" ];
-
   dontBuild = true;
 
+  installFlags = [ "PREFIX=${placeholder "out"}" "doc" ];
+
   postInstall = ''
     wrapProgram "$out/bin/ytfzf" --prefix PATH : ${lib.makeBinPath [
       chafa coreutils curl dmenu fzf gnused jq mpv ueberzug yt-dlp
     ]}
-
-    gzip -c docs/man/ytfzf.1 > docs/man/ytfzf.1.gz
-    gzip -c docs/man/ytfzf.5 > docs/man/ytfzf.5.gz
-    install -Dt "$out/share/man/man1" docs/man/ytfzf.1.gz
-    install -Dt "$out/share/man/man5" docs/man/ytfzf.5.gz
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
index 23b040f26097..66fd783a00e5 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
@@ -2,22 +2,23 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "yubikey-manager";
-  version = "4.0.7";
+  version = "4.0.8";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     repo = "yubikey-manager";
     rev = version;
     owner = "Yubico";
-    sha256 = "sha256-PG/mIM1rcs1SAz2kfQtfUWoMBIwLz2ASZM0YQrz9w5I=";
+    sha256 = "sha256-OszXOu/NhoX4WutsT4Z1LsY54KTOWRKt13yDo2fzDbA=";
   };
 
   postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'cryptography = "^2.1 || ^3.0"' 'cryptography = "*"'
     substituteInPlace "ykman/pcsc/__init__.py" \
-      --replace '/usr/bin/pkill' '${procps}/bin/pkill'
+      --replace 'pkill' '${procps}/bin/pkill'
   '';
 
-  format = "pyproject";
-
   nativeBuildInputs = with python3Packages; [ poetry-core ];
 
   propagatedBuildInputs =
@@ -60,6 +61,6 @@ python3Packages.buildPythonPackage rec {
 
     license = licenses.bsd2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ benley mic92 ];
+    maintainers = with maintainers; [ benley lassulus pinpox ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/z-lua/default.nix b/nixpkgs/pkgs/tools/misc/z-lua/default.nix
index 751f68bf089d..16d126e4dd75 100644
--- a/nixpkgs/pkgs/tools/misc/z-lua/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/zellij/default.nix b/nixpkgs/pkgs/tools/misc/zellij/default.nix
index 2fb985c79162..6a09ba4e0ec5 100644
--- a/nixpkgs/pkgs/tools/misc/zellij/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zellij/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-DJ7FGtcsWGk4caS22aXo+8chCcvEdRlVrSRmIHsETD4=";
+    sha256 = "sha256-GYbRu2ZEFswyOBUbg6jdAZQRogIDT/YolEElZT8h744=";
   };
 
-  cargoSha256 ="sha256-dWdFBSZwTEvxrPiXtTWcYLtC+4XFb5R7Wu4r1YpHQRk=";
+  cargoSha256 = "sha256-ogWFAO3xMH4vho9SRjyeHCDxRtAx6exGkMpNhz2VOLA";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix b/nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix
new file mode 100644
index 000000000000..fd557ba24112
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "aardvark-dns";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-RFA/C0Q4u1WMQ0bsFKbkyzar0vDRfQ6YPpu/Np3xXWA=";
+  };
+
+  cargoVendorDir = "vendor";
+
+  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/nixpkgs/pkgs/tools/networking/amass/default.nix b/nixpkgs/pkgs/tools/networking/amass/default.nix
index c15633a4f5d4..7b8e6e07dcc9 100644
--- a/nixpkgs/pkgs/tools/networking/amass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/amass/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.15.2";
+  version = "3.16.0";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    sha256 = "sha256-0zTnknpjTvUEai06JsRfQASclxpvaJnEfYK7biZeqU0=";
+    sha256 = "sha256-V3FqiAvHnd3q3yhrhDaeka22R+mBqFdPjGqY4FGCx9M=";
   };
 
-  vendorSha256 = "sha256-Lh/VN+IBXpT8e7ok5Qjfk5tgXEUVwKMHYcp9WrChN3A=";
+  vendorSha256 = "sha256-0hor9Sldl8HhlKfYhWhb79wnZSMn5/Hg0Ux937qQkT4=";
 
   outputs = [ "out" "wordlists" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/aria2/default.nix b/nixpkgs/pkgs/tools/networking/aria2/default.nix
index db239e034f51..8fabea35ba90 100644
--- a/nixpkgs/pkgs/tools/networking/aria2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/aria2/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ErjFfSJDIgZq0qy0Zn5uZ9bZS2AtJq4FuBVuUuQgPTI=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ pkg-config autoreconfHook sphinx ];
 
   buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = ''
-    patchShebangs doc/manual-src/en/mkapiref.py
+    patchShebangs --build doc/manual-src/en/mkapiref.py
   '';
 
   checkInputs = [ cppunit ];
diff --git a/nixpkgs/pkgs/tools/networking/assh/default.nix b/nixpkgs/pkgs/tools/networking/assh/default.nix
index 4300f8797b84..0d3b08ae478a 100644
--- a/nixpkgs/pkgs/tools/networking/assh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/assh/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "assh";
-  version = "2.12.0";
+  version = "2.12.2";
 
   src = fetchFromGitHub {
     repo = "advanced-ssh-config";
     owner = "moul";
     rev = "v${version}";
-    sha256 = "sha256-FqxxNTsZVmCsIGNHRWusFP2gba2+geqBubw+6PeR75c=";
+    sha256 = "sha256-KVxEhA9tXAUhqMZ+MLX7Xk5aoaOcukiVFMLme9eHTUw=";
   };
 
-  vendorSha256 = "sha256-AYBwuRSeam5i2gex9PSG9Qk+FHdEhIpY250CJo01cFE=";
+  vendorSha256 = "sha256-xLsiYM0gZL5O+Y3IkiMmzJReNW7XFN3Xejz2CkCqp5M=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/bgpq3/default.nix b/nixpkgs/pkgs/tools/networking/bgpq3/default.nix
index 16bebda7d3dc..1fe2f83f8a18 100644
--- a/nixpkgs/pkgs/tools/networking/bgpq3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/boundary/default.nix b/nixpkgs/pkgs/tools/networking/boundary/default.nix
index 8851a4a87406..f22817c3b3a3 100644
--- a/nixpkgs/pkgs/tools/networking/boundary/default.nix
+++ b/nixpkgs/pkgs/tools/networking/boundary/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "boundary";
-  version = "0.7.1";
+  version = "0.7.4";
 
   src =
     let
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
         x86_64-darwin = "darwin_amd64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-5m5ckeX3gVY82q9aQWusnq3o/+UBPJSPDdISL86OfV8=";
-        aarch64-linux = "sha256-+dnQh89kg3JcDL8sucMceCMRFyUjoAIYuZtDM8AUMYw=";
-        x86_64-darwin = "sha256-ZoWW8y048+5Ru3s7lUxLTMxuITFBC9AgwqafyHPDc54=";
+        x86_64-linux = "sha256-5owLce0A7AwKDXB/JsUJZeHJHhrHT4/kA6XG+ZwhuyU=";
+        aarch64-linux = "sha256-WDFIr+GOip70Di5u9fRu2lVWPMJe9urYTcuc2hTMD7g=";
+        x86_64-darwin = "sha256-FGsY7+bC7n3fu1SsLl92FPytj8MgL4nT95CC6GM6vss=";
       };
     in
     fetchzip {
diff --git a/nixpkgs/pkgs/tools/networking/chaos/default.nix b/nixpkgs/pkgs/tools/networking/chaos/default.nix
index dc46032dcde6..1b88625e6925 100644
--- a/nixpkgs/pkgs/tools/networking/chaos/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/checkip/default.nix b/nixpkgs/pkgs/tools/networking/checkip/default.nix
index 94d83b9f3981..82a418d5de91 100644
--- a/nixpkgs/pkgs/tools/networking/checkip/default.nix
+++ b/nixpkgs/pkgs/tools/networking/checkip/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "checkip";
-  version = "0.16.2";
+  version = "0.17.3";
 
   src = fetchFromGitHub {
     owner = "jreisinger";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ktAb5kUwEE4xCgsuj0gO4jP6EybOBLjdlskUF/zwrqU=";
+    sha256 = "sha256-sSXl2I5vZ8PVLaZWlMl5phcqQ1k1OBy5v+X0O8nHtvw=";
   };
 
-  vendorSha256 = "sha256-4XA7B0gmFE52VoKiPLsa0urPS7IdzrTBXuU4wZv/Lag=";
+  vendorSha256 = "sha256-aiqnJ1PjrwSC6YtixNvyTxgbs8z2radcETNhKHGlPk0=";
 
   # Requires network
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/networking/chisel/default.nix b/nixpkgs/pkgs/tools/networking/chisel/default.nix
index 9df5625c2355..d7dac44b2802 100644
--- a/nixpkgs/pkgs/tools/networking/chisel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/chisel/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "chisel";
-  version = "1.7.6";
+  version = "1.7.7";
 
   src = fetchFromGitHub {
     owner = "jpillora";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hUurgwbSUcNZiSi+eVTG/Ija/yxPeWuvEE5pUiG7Dls=";
+    sha256 = "sha256-3EaVUGcwkJWX0FxIaHddUehJIdbxAPfBm8esXKCUuhM=";
   };
 
-  vendorSha256 = "sha256-GzsQ6LXxe9UQc13XbsYFOWPe0EzlyHechchKc6xDkAc=";
+  vendorSha256 = "sha256-Oko9nduKW76NIUCVyF0lPzEH+TFT1el9VGIbm5lQXtM=";
 
   ldflags = [ "-s" "-w" "-X github.com/jpillora/chisel/share.BuildVersion=${version}" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/circus/default.nix b/nixpkgs/pkgs/tools/networking/circus/default.nix
index f24c0e629cb0..c9aba8dc4e8b 100644
--- a/nixpkgs/pkgs/tools/networking/circus/default.nix
+++ b/nixpkgs/pkgs/tools/networking/circus/default.nix
@@ -34,7 +34,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "A process and socket manager";
-    homepage = "https://github.circus.com/circus-tent/circus";
+    homepage = "https://github.com/circus-tent/circus";
     license = licenses.asl20;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cmst/default.nix b/nixpkgs/pkgs/tools/networking/cmst/default.nix
index fb50316f7139..06ef6675ceb4 100644
--- a/nixpkgs/pkgs/tools/networking/cmst/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cmst/default.nix
@@ -1,17 +1,17 @@
-{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }:
+{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qttools }:
 
 mkDerivation rec {
   pname = "cmst";
-  version = "2019.01.13";
+  version = "2022.01.05";
 
   src = fetchFromGitHub {
     repo = "cmst";
     owner = "andrew-bibb";
     rev = "${pname}-${version}";
-    sha256 = "13739f0ddld34dcqlfhylzn1zqz5a7jbp4a4id7gj7pcxjx1lafh";
+    sha256 = "0d05vrsjm30q22wpxicnxhjzrjq5kxjhpb6262m46sgkr8yipfhr";
   };
 
-  nativeBuildInputs = [ qmake ];
+  nativeBuildInputs = [ qmake qttools ];
 
   buildInputs = [ qtbase ];
 
@@ -21,11 +21,11 @@ mkDerivation rec {
     done
   '';
 
-  meta = {
+  meta = with lib; {
     description = "QT GUI for Connman with system tray icon";
     homepage = "https://github.com/andrew-bibb/cmst";
-    maintainers = [ lib.maintainers.matejc ];
-    platforms = lib.platforms.linux;
-    license = lib.licenses.mit;
+    maintainers = with maintainers; [ matejc romildo ];
+    platforms = platforms.linux;
+    license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/connman/connman.nix b/nixpkgs/pkgs/tools/networking/connman/connman.nix
index c92cceeabc6f..bfe609f85268 100644
--- a/nixpkgs/pkgs/tools/networking/connman/connman.nix
+++ b/nixpkgs/pkgs/tools/networking/connman/connman.nix
@@ -56,10 +56,10 @@ let inherit (lib) optionals; in
 
 stdenv.mkDerivation rec {
   pname = "connman";
-  version = "1.40";
+  version = "1.41";
   src = fetchurl {
     url = "mirror://kernel/linux/network/connman/${pname}-${version}.tar.xz";
-    sha256 = "sha256-GleufOI0qjoXRKrDvlwhIdmNzpmUQO+KucxO39XtyxI=";
+    sha256 = "sha256-eftA9P3VUwxFqo5ZL7Froj02dPOpjPELiaZXbxmN5Yk=";
   };
 
   patches = lib.optionals stdenv.hostPlatform.isMusl [
@@ -172,9 +172,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A daemon for managing internet connections";
-    homepage = "https://01.org/connman";
+    homepage = "https://git.kernel.org/pub/scm/network/connman/connman.git/";
     maintainers = [ maintainers.matejc ];
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/corerad/default.nix b/nixpkgs/pkgs/tools/networking/corerad/default.nix
index 81fe5cacda25..03962f1e9e24 100644
--- a/nixpkgs/pkgs/tools/networking/corerad/default.nix
+++ b/nixpkgs/pkgs/tools/networking/corerad/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "corerad";
-  version = "0.3.4";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "mdlayher";
     repo = "corerad";
     rev = "v${version}";
-    sha256 = "0sf2r4q57hwdakv0b4skn76b0xy7bwj2j9rpj6frs5fkk6gsi6sm";
+    sha256 = "sha256-23f+WJcTf+x9GW+hGUU3/j4Qi9MfcsfQuS7aEU4uGU4=";
   };
 
-  vendorSha256 = "123f9y1pfayfd5amkw5b8jzi8dbn7a16kbf7lzbmw69c1gj4gx9z";
+  vendorSha256 = "sha256-SSa+yBZjZ+5vRfzfCtNhF+kRyJ/VMgd9uWqKPwIi8+Y=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/croc/default.nix b/nixpkgs/pkgs/tools/networking/croc/default.nix
index 57b2f8be52c6..eb7a4f859ebe 100644
--- a/nixpkgs/pkgs/tools/networking/croc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/croc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "9.5.0";
+  version = "9.5.1";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BgUurfzgezbbH0pCTuRINocc5y6ANCM91VlWht86QeE=";
+    sha256 = "sha256-86uM58MCdmt0sSEIgRRQYPr6Gf4lphFOcqRU7WD5HnI=";
   };
 
-  vendorSha256 = "sha256-MstlmaMEbbAY9+h5pNVCXqDOqoSv5hjuRSFS/MTg6lo=";
+  vendorSha256 = "sha256-xL7aiMlnSzZsAtX3NiWfNcrz8oW7BuCLBUnJvx1ng2Y=";
 
   doCheck = false;
 
@@ -19,7 +19,8 @@ buildGoModule rec {
 
   passthru = {
     tests = {
-      local-relay = callPackage ./test-local-relay.nix { };
+      # test fails
+      #local-relay = callPackage ./test-local-relay.nix { };
     };
   };
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/networking/curl/default.nix b/nixpkgs/pkgs/tools/networking/curl/default.nix
index a5abbc26a741..bfd48893165c 100644
--- a/nixpkgs/pkgs/tools/networking/curl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/curl/default.nix
@@ -1,12 +1,8 @@
-{ stdenv, lib, fetchurl, pkg-config, perl
-, http2Support ? true, nghttp2
-, idnSupport ? false, libidn ? null
-, ldapSupport ? false, openldap ? null
-, zlibSupport ? true, zlib ? null
-, opensslSupport ? zlibSupport, openssl ? null
+{ lib, stdenv, fetchurl, pkg-config, perl
+, brotliSupport ? false, brotli ? null
+, c-aresSupport ? false, c-ares ? null
 , gnutlsSupport ? false, gnutls ? null
-, wolfsslSupport ? false, wolfssl ? null
-, scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
+, gsaslSupport ? false, gsasl ? null
 , gssSupport ? with stdenv.hostPlatform; (
     !isWindows &&
     # disable gss becuase of: undefined reference to `k5_bcmp'
@@ -17,8 +13,17 @@
     # not worth the effort.
     !(isDarwin && (stdenv.buildPlatform != stdenv.hostPlatform))
   ), libkrb5 ? null
-, c-aresSupport ? false, c-ares ? null
-, brotliSupport ? false, brotli ? null
+, http2Support ? true, nghttp2 ? null
+, http3Support ? false, nghttp3, ngtcp2 ? null
+, idnSupport ? false, libidn2 ? null
+, ldapSupport ? false, openldap ? null
+, opensslSupport ? zlibSupport, openssl ? null
+, pslSupport ? false, libpsl ? null
+, rtmpSupport ? false, rtmpdump ? null
+, scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
+, wolfsslSupport ? false, wolfssl ? null
+, zlibSupport ? true, zlib ? null
+, zstdSupport ? false, zstd ? null
 }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
@@ -26,31 +31,37 @@
 # cgit) that are needed here should be included directly in Nixpkgs as
 # files.
 
-assert http2Support -> nghttp2 != null;
-assert idnSupport -> libidn != null;
-assert ldapSupport -> openldap != null;
-assert zlibSupport -> zlib != null;
-assert opensslSupport -> openssl != null;
 assert !(gnutlsSupport && opensslSupport);
 assert !(gnutlsSupport && wolfsslSupport);
 assert !(opensslSupport && wolfsslSupport);
-assert gnutlsSupport -> gnutls != null;
-assert wolfsslSupport -> wolfssl != null;
-assert scpSupport -> libssh2 != null;
-assert c-aresSupport -> c-ares != null;
 assert brotliSupport -> brotli != null;
+assert c-aresSupport -> c-ares != null;
+assert gnutlsSupport -> gnutls != null;
+assert gsaslSupport -> gsasl != null;
 assert gssSupport -> libkrb5 != null;
+assert http2Support -> nghttp2 != null;
+assert http3Support -> nghttp3 != null;
+assert http3Support -> ngtcp2 != null;
+assert idnSupport -> libidn2 != null;
+assert ldapSupport -> openldap != null;
+assert opensslSupport -> openssl != null;
+assert pslSupport -> libpsl !=null;
+assert rtmpSupport -> rtmpdump !=null;
+assert scpSupport -> libssh2 != null;
+assert wolfsslSupport -> wolfssl != null;
+assert zlibSupport -> zlib != null;
+assert zstdSupport -> zstd != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.80.0";
+  version = "7.81.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "170qb2w2p5fga0vqhhnzi417z4h4vy764sz16pzhm5fd9471a3fx";
+    sha256 = "sha256-Hno41wGOwGDx8W34OYVPCInpThIsTPpdOjfC3Fbx4lg=";
   };
 
   patches = [
@@ -70,17 +81,22 @@ stdenv.mkDerivation rec {
   # "-lz -lssl", which aren't necessary direct build inputs of
   # applications that use Curl.
   propagatedBuildInputs = with lib;
+    optional brotliSupport brotli ++
+    optional c-aresSupport c-ares ++
+    optional gnutlsSupport gnutls ++
+    optional gsaslSupport gsasl ++
+    optional gssSupport libkrb5 ++
     optional http2Support nghttp2 ++
-    optional idnSupport libidn ++
+    optionals http3Support [ nghttp3 ngtcp2 ] ++
+    optional idnSupport libidn2 ++
     optional ldapSupport openldap ++
-    optional zlibSupport zlib ++
-    optional gssSupport libkrb5 ++
-    optional c-aresSupport c-ares ++
     optional opensslSupport openssl ++
-    optional gnutlsSupport gnutls ++
-    optional wolfsslSupport wolfssl ++
+    optional pslSupport libpsl ++
+    optional rtmpSupport rtmpdump ++
     optional scpSupport libssh2 ++
-    optional brotliSupport brotli;
+    optional wolfsslSupport wolfssl ++
+    optional zlibSupport zlib ++
+    optional zstdSupport zstd;
 
   # for the second line see https://curl.haxx.se/mail/tracker-2014-03/0087.html
   preConfigure = ''
@@ -89,23 +105,28 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
+      # Build without manual
+      "--disable-manual"
       # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback
       # to nss-cacert from the default profile.
       "--without-ca-bundle"
       "--without-ca-path"
+      (lib.enableFeature c-aresSupport "ares")
+      (lib.enableFeature ldapSupport "ldap")
+      (lib.enableFeature ldapSupport "ldaps")
       # The build fails when using wolfssl with --with-ca-fallback
       (lib.withFeature (!wolfsslSupport) "ca-fallback")
-      "--disable-manual"
-      (lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
+      (lib.withFeature http3Support "nghttp3")
+      (lib.withFeature http3Support "ngtcp2")
+      (lib.withFeature rtmpSupport "librtmp")
+      (lib.withFeature zstdSupport "zstd")
+      (lib.withFeatureAs brotliSupport "brotli" (lib.getDev brotli))
       (lib.withFeatureAs gnutlsSupport "gnutls" (lib.getDev gnutls))
+      (lib.withFeatureAs idnSupport "libidn2" (lib.getDev libidn2))
+      (lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
       (lib.withFeatureAs scpSupport "libssh2" (lib.getDev libssh2))
-      (lib.enableFeature ldapSupport "ldap")
-      (lib.enableFeature ldapSupport "ldaps")
-      (lib.withFeatureAs idnSupport "libidn" (lib.getDev libidn))
-      (lib.withFeature brotliSupport "brotli")
+      (lib.withFeatureAs wolfsslSupport "wolfssl" (lib.getDev wolfssl))
     ]
-    ++ lib.optional wolfsslSupport "--with-wolfssl=${lib.getDev wolfssl}"
-    ++ lib.optional c-aresSupport "--enable-ares=${c-ares}"
     ++ lib.optional gssSupport "--with-gssapi=${lib.getDev libkrb5}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
diff --git a/nixpkgs/pkgs/tools/networking/davix/default.nix b/nixpkgs/pkgs/tools/networking/davix/default.nix
index 1cdb5677eecd..66c912b47f1e 100644
--- a/nixpkgs/pkgs/tools/networking/davix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/davix/default.nix
@@ -71,8 +71,8 @@ stdenv.mkDerivation rec {
     Davix provides an API and a set of command line tools";
 
     license = licenses.lgpl2Plus;
-    homepage = "http://dmc.web.cern.ch/projects/davix/home";
-    changelog = "https://github.com/cern-fts/davix/blob/devel/RELEASE-NOTES.md";
+    homepage = "https://github.com/cern-fts/davix";
+    changelog = "https://github.com/cern-fts/davix/blob/R_${lib.replaceStrings ["."] ["_"] version}/RELEASE-NOTES.md";
     maintainers = with maintainers; [ adev ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/tools/networking/dcap/default.nix b/nixpkgs/pkgs/tools/networking/dcap/default.nix
new file mode 100644
index 000000000000..bad1b9ee1c5a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/dcap/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoconf
+, automake
+, libtool
+, zlib
+, cunit
+}:
+stdenv.mkDerivation rec {
+  pname = "dcap";
+  version = "2.47.12";
+
+  src = fetchFromGitHub {
+    owner = "dCache";
+    repo = "dcap";
+    rev = version;
+    sha256 = "sha256-pNLEN1YLQGMJNuv8n6bec3qONbwNOYbYDDvkwuP5AR4=";
+  };
+
+  nativeBuildInputs = [ autoconf automake libtool ];
+  buildInputs = [ zlib ];
+
+  preConfigure = ''
+    patchShebangs bootstrap.sh
+    ./bootstrap.sh
+  '';
+
+  doCheck = true;
+
+  checkInputs = [ cunit ];
+
+  outputs = [ "bin" "dev" "out" "man" "doc" ];
+
+  meta = with lib; {
+    description = "dCache access protocol client library";
+    homepage = "https://github.com/dCache/dcap";
+    changelog = "https://github.com/dCache/dcap/blob/master/ChangeLog";
+    license = licenses.lgpl2Only;
+    platforms = platforms.all;
+    mainProgram = "dccp";
+    maintainers = with maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix b/nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix
index 12ac37af7105..412995b710f6 100644
--- a/nixpkgs/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
index d60c87e51ff9..1cd1918e3c87 100644
--- a/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
@@ -34,12 +34,16 @@ stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
     "--localstatedir=/var"
   ]
-  ++ lib.optionals enablePrivSep [
-    "--enable-privsep"
-    # dhcpcd disables privsep if it can't find the default user,
-    # so we explicitly specify a user.
-    "--privsepuser=dhcpcd"
-  ];
+  ++ (
+    if ! enablePrivSep
+    then [ "--disable-privsep" ]
+    else [
+      "--enable-privsep"
+      # dhcpcd disables privsep if it can't find the default user,
+      # so we explicitly specify a user.
+      "--privsepuser=dhcpcd"
+    ]
+  );
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
@@ -50,7 +54,10 @@ stdenv.mkDerivation rec {
   # Check that the udev plugin got built.
   postInstall = lib.optionalString (udev != null) "[ -e ${placeholder "out"}/lib/dhcpcd/dev/udev.so ]";
 
-  passthru.tests = { inherit (nixosTests.networking.scripted) macvlan dhcpSimple dhcpOneIf; };
+  passthru = {
+    inherit enablePrivSep;
+    tests = { inherit (nixosTests.networking.scripted) macvlan dhcpSimple dhcpOneIf; };
+  };
 
   meta = with lib; {
     description = "A client for the Dynamic Host Configuration Protocol (DHCP)";
diff --git a/nixpkgs/pkgs/tools/networking/dibbler/default.nix b/nixpkgs/pkgs/tools/networking/dibbler/default.nix
index 1633505763c6..4175de2e23cc 100644
--- a/nixpkgs/pkgs/tools/networking/dibbler/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dibbler/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Portable DHCPv6 implementation";
-    homepage = "http://www.klub.com.pl/dhcpv6/";
-    license = licenses.gpl2;
+    homepage = "https://klub.com.pl/dhcpv6/";
+    license = licenses.gpl2Only;
     platforms = platforms.all;
     maintainers = with maintainers; [ fpletz ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix b/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
index 131a645d838c..b746bf557c1a 100644
--- a/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "dnsmasq";
-  version = "2.85";
+  version = "2.86";
 
   src = fetchurl {
     url = "https://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz";
-    sha256 = "sha256-rZjTgD32h+W5OAgPPSXGKP5ByHh1LQP7xhmXh/7jEvo=";
+    sha256 = "sha256-KNUs/J4gBKxPhSdPUrMuFke028l2G4Ln3h5BxJkH6wg=";
   };
 
   postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
diff --git a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
index 8a98600f0dcf..4e88b652e318 100644
--- a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.40.1";
+  version = "0.41.2";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tvYurE+/ZPJeV/ZKMIC0yrwzomxd/3y0KtChei/HO6c=";
+    sha256 = "sha256-Bo6OxHNZYA1cP2iP/QnaN80DcwBGIVCQXH/mc75hFUY=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/dnstake/default.nix b/nixpkgs/pkgs/tools/networking/dnstake/default.nix
index d32cf0fedbbb..9ddf853b7d9b 100644
--- a/nixpkgs/pkgs/tools/networking/dnstake/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstake/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dnstake";
-  version = "0.0.2";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "pwnesia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mjwnb0zyqnwk26f32v9vqxc9k6zcks9nn1595mf2hck5xwn86yk";
+    sha256 = "sha256-XfZDRu1UrH5nVh1GQCQVaEamKorWSOxQZs556iDqfS8=";
   };
 
-  vendorSha256 = "1xhzalx1x8js449w1qs2qdwbnz2s8mmypz9maj7jzl5mqfyhlwlp";
+  vendorSha256 = "sha256-l3IKvcO10C+PVDX962tFWny7eMNC48ATIVqiHjpVH/Y=";
 
   meta = with lib; {
     description = "Tool to check missing hosted DNS zones";
diff --git a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
index 597592b4d7ce..d52a6d4fc73c 100644
--- a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     description = "Determines where a given Domain Name Server (DNS) gets its information from, and follows the chain of DNS servers back to the servers which know the data";
     homepage = "http://www.mavetju.org/unix/general.php";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnstwist/default.nix b/nixpkgs/pkgs/tools/networking/dnstwist/default.nix
index 034b69d2ecd7..3fa6e352bc8e 100644
--- a/nixpkgs/pkgs/tools/networking/dnstwist/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstwist/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dnstwist";
-  version = "20211204";
+  version = "20220131";
 
   src = fetchFromGitHub {
     owner = "elceef";
     repo = pname;
     rev = version;
-    sha256 = "sha256-D7qesxkJMx/N0oyaw3ev007SLCm4RKhZSNW22CNgKPw=";
+    sha256 = "sha256-2sRKRzYR6F2cvz9K7MBe2JIorJkPQ5M2/SRKXGTBVGk=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/networking/dogdns/default.nix b/nixpkgs/pkgs/tools/networking/dogdns/default.nix
index c101615855f6..0adca07798f2 100644
--- a/nixpkgs/pkgs/tools/networking/dogdns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dogdns/default.nix
@@ -5,36 +5,45 @@
 , stdenv
 , pkg-config
 , openssl
+, just
+, pandoc
 , Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "dogdns";
-  version = "0.1.0";
+  version = "unstable-2021-10-07";
 
   src = fetchFromGitHub {
     owner = "ogham";
     repo = "dog";
-    rev = "v${version}";
-    sha256 = "088ib0sncv0vrvnqfvxf5zc79v7pnxd2cmgp4378r6pmgax9z9zy";
+    rev = "721440b12ef01a812abe5dc6ced69af6e221fad5";
+    sha256 = "sha256-y3T0vXg7631FZ4bzcbQjz3Buui/DFxh9LG8BZWwynp0=";
   };
 
-  nativeBuildInputs = [ installShellFiles ]
+  nativeBuildInputs = [ installShellFiles just pandoc ]
     ++ lib.optionals stdenv.isLinux [ pkg-config ];
   buildInputs = lib.optionals stdenv.isLinux [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "0zgzaq303zy8lymhldm6dpm5hwsxi2ph42zw5brvsdjmgm9ga0rb";
+  outputs = [ "out" "man" ];
+
+  postBuild = ''
+    just man
+  '';
+
+  cargoSha256 = "sha256-agepQVJbqbjzFbEBKbM7BNxc8FlklOrCsTgCAOcuptc=";
 
   postInstall = ''
     installShellCompletion completions/dog.{bash,fish,zsh}
+    installManPage ./target/man/*.1
   '';
 
   meta = with lib; {
     description = "Command-line DNS client";
     homepage = "https://dns.lookup.dog";
     license = licenses.eupl12;
-    maintainers = with maintainers; [ bbigras ];
+    maintainers = with maintainers; [ bbigras ma27 ];
     mainProgram = "dog";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/drill/default.nix b/nixpkgs/pkgs/tools/networking/drill/default.nix
index beb931f8d1b6..fce409dc2dc4 100644
--- a/nixpkgs/pkgs/tools/networking/drill/default.nix
+++ b/nixpkgs/pkgs/tools/networking/drill/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "drill";
-  version = "0.7.0";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "fcsonline";
     repo = pname;
     rev = version;
-    sha256 = "07zz0dj0wjwrc1rmayz7s8kpcv03i0ygl4vfwsam72qd4nf6v538";
+    sha256 = "sha256-LqqtSmmXr48jB7HyWi954fDNKOynEpQupGYl7QbXUAI=";
   };
 
-  cargoSha256 = "04gj9gaysjcm2d81ds2raak847hr8w84jgfdwqd51wi8xm32w5jf";
+  cargoSha256 = "sha256-SUF/gDy9t2B5N234HZHxMl0Hc0GrVUBw3xeI43c++Nc=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [
     pkg-config
diff --git a/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix b/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
index 7724d2d89fdc..63560ce7ad6a 100644
--- a/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/nixpkgs/pkgs/tools/networking/eternal-terminal/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
 , gflags
@@ -10,32 +11,46 @@
 
 stdenv.mkDerivation rec {
   pname = "eternal-terminal";
-  version = "6.1.9";
+  version = "6.1.11";
 
   src = fetchFromGitHub {
     owner = "MisterTea";
     repo = "EternalTerminal";
     rev = "et-v${version}";
-    sha256 = "0kpabxpy779ppkaqaigq0x34ymz1jcwpsa78rm6nr55mdap2xxv6";
+    hash = "sha256-cCZbG0CD5V/FTj1BuVr083EJ+BCgIcKHomNtpJb3lOo=";
   };
 
-  cmakeFlags= [
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    gflags
+    libsodium
+    openssl
+    protobuf
+    zlib
+  ];
+
+  cmakeFlags = [
     "-DDISABLE_VCPKG=TRUE"
     "-DDISABLE_SENTRY=TRUE"
     "-DDISABLE_CRASH_LOG=TRUE"
   ];
 
-  CXXFLAGS = lib.optional stdenv.cc.isClang "-std=c++17";
-  LDFLAGS = lib.optional stdenv.cc.isClang "-lc++fs";
+  CXXFLAGS = lib.optional stdenv.cc.isClang [
+    "-std=c++17"
+  ];
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ gflags openssl zlib libsodium protobuf ];
+  LDFLAGS = lib.optional stdenv.cc.isClang [
+    "-lc++fs"
+  ];
 
   meta = with lib; {
     description = "Remote shell that automatically reconnects without interrupting the session";
-    license = licenses.asl20;
     homepage = "https://eternalterminal.dev/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dezgeg ];
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ dezgeg pingiun ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/fakeroute/default.nix b/nixpkgs/pkgs/tools/networking/fakeroute/default.nix
index 6e5fbdb13d28..73e75627c031 100644
--- a/nixpkgs/pkgs/tools/networking/fakeroute/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fakeroute/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       Makes your machine appear to be anywhere on the internet
       to any host running a (UDP) unix traceroute
     '';
-    homepage = "https://moxie.org/software/fakeroute/";
+    homepage = "https://github.com/museoa/fakeroute"; # Formerly https://moxie.org/software/fakeroute/
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/tools/networking/findomain/default.nix b/nixpkgs/pkgs/tools/networking/findomain/default.nix
index 09524b80895f..108cd769a735 100644
--- a/nixpkgs/pkgs/tools/networking/findomain/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/flannel/default.nix b/nixpkgs/pkgs/tools/networking/flannel/default.nix
index 3bb1ab38e6b3..2f406f97b34c 100644
--- a/nixpkgs/pkgs/tools/networking/flannel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/flannel/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoModule rec {
   pname = "flannel";
-  version = "0.15.1";
+  version = "0.16.3";
   rev = "v${version}";
 
   vendorSha256 = null;
@@ -13,7 +13,7 @@ buildGoModule rec {
     inherit rev;
     owner = "flannel-io";
     repo = "flannel";
-    sha256 = "1p4rz4kdiif8i78zgxhw6dd0c1bq159f6l1idvig5apph7zi2bwm";
+    sha256 = "sha256-Akh1IlpLG9AZBtcZnOUfRnIvan8C9W1Dg9PqT7/VhYA=";
   };
 
   ldflags = [ "-X github.com/flannel-io/flannel/version.Version=${rev}" ];
diff --git a/nixpkgs/pkgs/tools/networking/fping/default.nix b/nixpkgs/pkgs/tools/networking/fping/default.nix
index 8e87eaf6942f..f04bae13ce09 100644
--- a/nixpkgs/pkgs/tools/networking/fping/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/frp/default.nix b/nixpkgs/pkgs/tools/networking/frp/default.nix
index 80108f77fe53..1ef3c13172b3 100644
--- a/nixpkgs/pkgs/tools/networking/frp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/getmail/default.nix b/nixpkgs/pkgs/tools/networking/getmail/default.nix
deleted file mode 100644
index fc06ba0363d8..000000000000
--- a/nixpkgs/pkgs/tools/networking/getmail/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, fetchurl, python2Packages }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "getmail";
-  version = "5.14";
-
-  src = fetchurl {
-    url = "http://pyropus.ca/software/getmail/old-versions/${pname}-${version}.tar.gz";
-    sha256 = "1hcrd9h4g12f5gvl1djsbchcjry02ghq4icdr897s8v48pkrzagk";
-  };
-
-  doCheck = false;
-
-  postPatch = ''
-    # getmail spends a lot of effort to build an absolute path for
-    # documentation installation; too bad it is counterproductive now
-    sed -e '/datadir or prefix,/d' -i setup.py
-  '';
-
-  meta = {
-    description = "A program for retrieving mail";
-    maintainers = [ lib.maintainers.raskin ];
-    platforms = lib.platforms.linux;
-
-    homepage = "http://pyropus.ca/software/getmail/";
-    updateWalker = true;
-    license = lib.licenses.gpl2Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/networking/getmail6/default.nix b/nixpkgs/pkgs/tools/networking/getmail6/default.nix
index 15fa401ec062..dc508ff53efe 100644
--- a/nixpkgs/pkgs/tools/networking/getmail6/default.nix
+++ b/nixpkgs/pkgs/tools/networking/getmail6/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "getmail6";
-  version = "6.18.5";
+  version = "6.18.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bckrnvjkkbrybs9ccknd4vakzvd7vpp541p2cpv4isaizyxp2ji";
+    sha256 = "08a5yw6ll1kmd1ardj8rzhsw4wl48zzdc87g5lh4p5snv8w2m4ja";
   };
 
   # needs a Docker setup
@@ -28,7 +28,6 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "A program for retrieving mail";
     homepage = "https://getmail6.org";
-    updateWalker = true;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbe dotlambda ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix b/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
index d4fc1b22e8f1..28125ce113da 100644
--- a/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gmrender-resurrect/default.nix
@@ -4,9 +4,7 @@
 let
   version = "0.0.9";
 
-  makePluginPath = plugins: builtins.concatStringsSep ":" (map (p: p + "/lib/gstreamer-1.0") plugins);
-
-  pluginPath = makePluginPath [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ];
+  pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ];
 in
   stdenv.mkDerivation {
     pname = "gmrender-resurrect";
diff --git a/nixpkgs/pkgs/tools/networking/godns/default.nix b/nixpkgs/pkgs/tools/networking/godns/default.nix
index fffcbbb528b7..a20d63af233d 100644
--- a/nixpkgs/pkgs/tools/networking/godns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/godns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "godns";
-  version = "2.5.3";
+  version = "2.6";
 
   src = fetchFromGitHub {
     owner = "TimothyYe";
     repo = "godns";
     rev = "v${version}";
-    sha256 = "sha256-C2Auk0BJLhW8r4cnmoZiUddb8rcZqND5fER9L+3ooH4=";
+    sha256 = "sha256-U8fmjcPeTcKlf721UIbA4/JYeM4l+OIyAPGNp8IPvSk=";
   };
 
-  vendorSha256 = "sha256-/egdqQCkbmrxuQ3vPfHOtHxAgW143Y2eZEzKAsBVmaI=";
+  vendorSha256 = "sha256-OyqkjA90zcfqRL6pfISR/6WXbv5LwVhKDECBtlqords=";
 
   # Some tests require internet access, broken in sandbox
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/networking/godspeed/default.nix b/nixpkgs/pkgs/tools/networking/godspeed/default.nix
index 011d09848d8e..44cac245927f 100644
--- a/nixpkgs/pkgs/tools/networking/godspeed/default.nix
+++ b/nixpkgs/pkgs/tools/networking/godspeed/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
     sha256 = "sha256-y/mCfNWe5ShdxEz8IUQ8zUzgVkUy/+5lX6rcJ3r6KoI=";
   };
 
-  vendorSha256 = "sha256-MCr1ShhkxM9CeSmqqtgAW0qv0QaIPRSOzASj8gt2ZAg=";
+  vendorSha256 = "sha256-DCDAuKvov4tkf77nJNo9mQU/bAeQasp4VBQRtLX+U6c=";
 
   buildInputs = [
     libpcap
diff --git a/nixpkgs/pkgs/tools/networking/gost/default.nix b/nixpkgs/pkgs/tools/networking/gost/default.nix
new file mode 100644
index 000000000000..13cac7444617
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/gost/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "gost";
+  version = "2.11.1";
+
+  src = fetchFromGitHub {
+    owner = "ginuerzh";
+    repo = "gost";
+    rev = "v${version}";
+    sha256 = "1mxgjvx99bz34f132827bqk56zgvh5rw3h2xmc524wvx59k9zj2a";
+  };
+
+  vendorSha256 = "1cgb957ipkiix3x0x84c77a1i8l679q3kqykm1lhb4f19x61dqjh";
+
+  # Many tests fail.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A simple tunnel written in golang";
+    homepage = "https://github.com/ginuerzh/gost";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pmy ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/gping/default.nix b/nixpkgs/pkgs/tools/networking/gping/default.nix
index 24dc47176e89..4703aaf0e086 100644
--- a/nixpkgs/pkgs/tools/networking/gping/default.nix
+++ b/nixpkgs/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.2.7";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = "gping";
     rev = "gping-v${version}";
-    sha256 = "sha256-Sxmwuf+iTBTlpfMFCEUp6JyEaoHgmLIKB/gws2KY/xc=";
+    sha256 = "sha256-7o7Tj0jWFIOLmpHXWT6zcyowm7vnqMDTf0S4zHkWQ2Q=";
   };
 
-  cargoSha256 = "sha256-xEASs6r5zxYJXS+at6aX5n0whGp5qwuNwq6Jh0GM+/4=";
+  cargoSha256 = "sha256-t+68Rea74RE43TXTSyhZCLXCdBfh7K92Z/amO+wBUuI=";
 
-  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/nixpkgs/pkgs/tools/networking/grpcurl/default.nix b/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
index d075482638f4..40c28a2a1d15 100644
--- a/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/gvpe/default.nix b/nixpkgs/pkgs/tools/networking/gvpe/default.nix
index 59748f6f9676..37f698386e24 100644
--- a/nixpkgs/pkgs/tools/networking/gvpe/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gvpe/default.nix
@@ -1,25 +1,24 @@
-{ lib, stdenv, fetchurl, openssl, gmp, zlib, iproute2, nettools }:
+{ lib, stdenv, fetchurl, openssl, gmp, zlib, iproute2, nettools, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "gvpe";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchurl {
     url = "https://ftp.gnu.org/gnu/gvpe/gvpe-${version}.tar.gz";
-    sha256 = "1v61mj25iyd91z0ir7cmradkkcm1ffbk52c96v293ibsvjs2s2hf";
+    sha256 = "sha256-8evVctclu5QOCAdxocEIZ8NQnc2DFvYRSBRQPcux6LM=";
   };
 
-  patches = [ ./gvpe-3.0-glibc-2.26.patch ];
-
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl gmp zlib ];
 
   configureFlags = [
     "--enable-tcp"
     "--enable-http-proxy"
     "--enable-dns"
-    ];
+  ];
 
-  preBuild = ''
+  postPatch = ''
     sed -e 's@"/sbin/ifconfig.*"@"${iproute2}/sbin/ip link set $IFNAME address $MAC mtu $MTU"@' -i src/device-linux.C
     sed -e 's@/sbin/ifconfig@${nettools}/sbin/ifconfig@g' -i src/device-*.C
   '';
diff --git a/nixpkgs/pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch b/nixpkgs/pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch
deleted file mode 100644
index 9cfb6472c4e1..000000000000
--- a/nixpkgs/pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/lib/getopt.h b/lib/getopt.h
-index 2d02142..5e7d8d4 100644
---- a/lib/getopt.h
-+++ b/lib/getopt.h
-@@ -101,13 +101,6 @@ struct option
- #define optional_argument	2
- 
- #if defined (__STDC__) && __STDC__
--#ifdef __GNU_LIBRARY__
--/* Many other libraries have conflicting prototypes for getopt, with
--   differences in the consts, in stdlib.h.  To avoid compilation
--   errors, only prototype getopt for the GNU C library.  */
--extern int getopt (int argc, char *const *argv, const char *shortopts);
--#else /* not __GNU_LIBRARY__ */
--#endif /* __GNU_LIBRARY__ */
- extern int getopt_long (int argc, char *const *argv, const char *shortopts,
- 		        const struct option *longopts, int *longind);
- extern int getopt_long_only (int argc, char *const *argv,
diff --git a/nixpkgs/pkgs/tools/networking/haproxy/default.nix b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
index 529339e34650..b702c5113660 100644
--- a/nixpkgs/pkgs/tools/networking/haproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.3.14";
+  version = "2.5.2";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "0ah6xsxlk1a7jsxdg0pbdhzhssz9ysrfxd3bs5hm1shql1jmqzh4";
+    sha256 = "sha256-LeNCT9dFK+HBwT1eCZQGEoUFXFcEaxyzwiDWdhHQ2n4=";
   };
 
   buildInputs = [ openssl zlib ]
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     "USE_SYSTEMD=yes"
     "USE_GETADDRINFO=1"
   ] ++ lib.optionals withPrometheusExporter [
-    "EXTRA_OBJS=contrib/prometheus-exporter/service-prometheus.o"
+    "USE_PROMEX=yes"
   ] ++ [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/networking/horst/default.nix b/nixpkgs/pkgs/tools/networking/horst/default.nix
index 331738be5329..5e4568914d84 100644
--- a/nixpkgs/pkgs/tools/networking/horst/default.nix
+++ b/nixpkgs/pkgs/tools/networking/horst/default.nix
@@ -34,9 +34,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Small and lightweight IEEE802.11 wireless LAN analyzer with a text interface";
-    homepage = "http://br1.einfach.org/tech/horst/";
+    homepage = "https://github.com/br101/horst";
     maintainers = [ maintainers.fpletz ];
-    license = licenses.gpl3;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/htpdate/default.nix b/nixpkgs/pkgs/tools/networking/htpdate/default.nix
index cd2b3a18d421..482d01342bb8 100644
--- a/nixpkgs/pkgs/tools/networking/htpdate/default.nix
+++ b/nixpkgs/pkgs/tools/networking/htpdate/default.nix
@@ -1,26 +1,25 @@
-{ lib, stdenv, fetchurl }:
+{ stdenv, lib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.2";
+  version = "1.3.3";
   pname = "htpdate";
 
-  src = fetchurl {
-    url = "http://www.vervest.org/htp/archive/c/${pname}-${version}.tar.xz";
-    sha256 = "0mgr350qwgzrdrwkb9kaj6z7l6hn6a2pwh7sacqvnal5fyc9a7sz";
+  src = fetchFromGitHub {
+    owner = "twekkel";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-/xZxwEui8V5kyfGsmwRRkiyhj7lcJQaTmOjBihvdWg8=";
   };
 
   makeFlags = [
-    "INSTALL=install"
-    "STRIP=${stdenv.cc.bintools.targetPrefix}strip"
     "prefix=$(out)"
   ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Utility to fetch time and set the system clock over HTTP";
-    homepage = "http://www.vervest.org/htp/";
+    homepage = "https://github.com/twekkel/htpdate";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ julienmalka ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/httpie/default.nix b/nixpkgs/pkgs/tools/networking/httpie/default.nix
index 8e289b7bab11..f3488ae402be 100644
--- a/nixpkgs/pkgs/tools/networking/httpie/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httpie/default.nix
@@ -7,13 +7,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "httpie";
-  version = "2.6.0";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "httpie";
     repo = "httpie";
     rev = version;
-    sha256 = "1y77dg27dn6bajwp3w6qvw1ls5wfhd1j1788l3fjhxg7j4qjki4g";
+    sha256 = "sha256-s3IFzEUQmPBocgspVGx1nINkUamsi7tzwW37IqdBMxo=";
   };
 
   nativeBuildInputs = [
@@ -24,6 +24,7 @@ python3Packages.buildPythonApplication rec {
   propagatedBuildInputs = with python3Packages; [
     charset-normalizer
     defusedxml
+    multidict
     pygments
     requests
     requests-toolbelt
diff --git a/nixpkgs/pkgs/tools/networking/httplz/default.nix b/nixpkgs/pkgs/tools/networking/httplz/default.nix
index 1d482f2bebf1..8f081a1141cb 100644
--- a/nixpkgs/pkgs/tools/networking/httplz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/hurl/default.nix b/nixpkgs/pkgs/tools/networking/hurl/default.nix
index 1264bc107ea6..ee9aa9c49017 100644
--- a/nixpkgs/pkgs/tools/networking/hurl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/i2p/default.nix b/nixpkgs/pkgs/tools/networking/i2p/default.nix
index fc1280be6c78..de332843c04e 100644
--- a/nixpkgs/pkgs/tools/networking/i2p/default.nix
+++ b/nixpkgs/pkgs/tools/networking/i2p/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "i2p";
-  version = "1.5.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "https://download.i2p2.de/releases/${version}/i2psource_${version}.tar.bz2";
-    sha256 = "sha256-JuX02VsaB2aHD5ezDlfJqOmGkCecO/CRmOMO/6vsxFA=";
+    sha256 = "sha256-cZYGxMtRDeT+dPJLv6U5EacFMYIfwe55op49luqhZzM=";
   };
 
   buildInputs = [ jdk ant gettext which ];
diff --git a/nixpkgs/pkgs/tools/networking/i2pd/default.nix b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
index 7c034a03e2e9..8bdd18c8eab0 100644
--- a/nixpkgs/pkgs/tools/networking/i2pd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchFromGitHub
+, installShellFiles
 , boost, zlib, openssl
 , upnpSupport ? true, miniupnpc ? null
 , aesniSupport ? stdenv.hostPlatform.aesSupport
@@ -21,6 +22,10 @@ stdenv.mkDerivation rec {
   buildInputs = with lib; [ boost zlib openssl ]
     ++ optional upnpSupport miniupnpc;
 
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
   makeFlags =
     let ynf = a: b: a + "=" + (if b then "yes" else "no"); in
     [ (ynf "USE_AESNI" aesniSupport)
@@ -32,6 +37,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -D i2pd $out/bin/i2pd
+    install --mode=444 -D 'contrib/i2pd.service' "$out/etc/systemd/system/i2pd.service"
+    installManPage 'debian/i2pd.1'
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/networking/imapproxy/default.nix b/nixpkgs/pkgs/tools/networking/imapproxy/default.nix
deleted file mode 100644
index ca0ce6f933fc..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/networking/inadyn/default.nix b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
index 359c13435942..3d5a54c41f5c 100644
--- a/nixpkgs/pkgs/tools/networking/inadyn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inadyn";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "inadyn";
     rev = "v${version}";
-    sha256 = "sha256-WYl602gDcPKxjQAlBedPHEOCNtaGgcaVZ/KbxcP2El4=";
+    sha256 = "sha256-mHqy/cBw+pwJwzMzAmqIQcLkpc87dtYD11TMRXeWdUg=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = "https://troglobit.com/project/inadyn/";
+    homepage = "https://troglobit.com/projects/inadyn/";
     description = "Free dynamic DNS client";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/tools/networking/innernet/default.nix b/nixpkgs/pkgs/tools/networking/innernet/default.nix
index 5baaf2e12205..67f9a9d793bf 100644
--- a/nixpkgs/pkgs/tools/networking/innernet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/innernet/default.nix
@@ -13,15 +13,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "innernet";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "tonarino";
     repo = "innernet";
     rev = "v${version}";
-    sha256 = "141zjfl125m5lrimam1dbpk40dqfq4vnaz42sbiq1v1avyg684fq";
+    sha256 = "sha256-dpoSjGtjGJTF/sQ8vbeAUCjnkYqz4zGnfO8br8gJbsQ=";
   };
-  cargoSha256 = "0559d0ayysvqs4k46fhgd4r8wa89abgx6rvhlh0gnlnga8vacpw5";
+  cargoSha256 = "sha256-EmAlm3W9r6pP1VIxeM2UP1ZG9TjopTarckMfLDonr1k=";
 
   nativeBuildInputs = with llvmPackages; [
     llvm
diff --git a/nixpkgs/pkgs/tools/networking/ipv6calc/default.nix b/nixpkgs/pkgs/tools/networking/ipv6calc/default.nix
index bb0d7e698f21..6df96e268eff 100644
--- a/nixpkgs/pkgs/tools/networking/ipv6calc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/kapp/default.nix b/nixpkgs/pkgs/tools/networking/kapp/default.nix
index 1c3f2de7212b..f8aab394700d 100644
--- a/nixpkgs/pkgs/tools/networking/kapp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kapp/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 buildGoModule rec {
   pname = "kapp";
-  version = "0.43.0";
+  version = "0.46.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-kapp";
     rev = "v${version}";
-    sha256 = "sha256-9e5vgOIB8PHbM5nsDaasyEfWP5dr7j3vU3+WzFua6bI=";
+    sha256 = "sha256-Z0BjwzTdKHAeETHya6M5OcsIIY//y6dDbbyZe/irCAY=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/keepalived/default.nix b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
index 22606ec78b69..647378f1a046 100644
--- a/nixpkgs/pkgs/tools/networking/keepalived/default.nix
+++ b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "2.2.4";
+  version = "2.2.7";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "sha256-WXKu+cabMmXNHiLwXrQqS8GQHIWYkee7vPddyGURWic=";
+    sha256 = "sha256-erpYC4klkgvZ9D+4qM/qIHajsyOGKRbX7lhs6lfWFTQ=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/networking/lftp/default.nix b/nixpkgs/pkgs/tools/networking/lftp/default.nix
index f51c6f034dd0..88ee2d44cb93 100644
--- a/nixpkgs/pkgs/tools/networking/lftp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lftp/default.nix
@@ -6,9 +6,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
-      "https://lftp.tech/ftp/${pname}-${version}.tar.xz"
-      "https://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${pname}-${version}.tar.xz"
       "https://lftp.yar.ru/ftp/${pname}-${version}.tar.xz"
+      "https://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${pname}-${version}.tar.xz"
       ];
     sha256 = "03b7y0h3mf4jfq5y8zw6hv9v44z3n6i8hc1iswax96y3z7sc85y5";
   };
@@ -31,8 +30,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A file transfer program supporting a number of network protocols";
-    homepage = "https://lftp.tech/";
-    license = licenses.gpl3;
+    homepage = "https://lftp.yar.ru/";
+    license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/nixpkgs/pkgs/tools/networking/libreswan/default.nix b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
index 766a1030fd7e..4df0471bbd8d 100644
--- a/nixpkgs/pkgs/tools/networking/libreswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
@@ -14,6 +14,7 @@
 , curl
 , nspr
 , bash
+, runtimeShell
 , iproute2
 , iptables
 , procps
@@ -42,11 +43,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "libreswan";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchurl {
     url = "https://download.libreswan.org/${pname}-${version}.tar.gz";
-    sha256 = "18whvmaxqfmaqbmq72calyzk21wyvxa0idddcsxd8x36vhdza0q7";
+    sha256 = "1zsnsfx18pf5dy1p4jva2sfl0bdfx5y9ls54f9bp70m64r46yf96";
   };
 
   strictDeps = true;
@@ -70,11 +71,15 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional stdenv.isLinux libselinux;
 
   prePatch = ''
-    # Correct iproute2 path
-    sed -e 's|"/sbin/ip"|"${iproute2}/bin/ip"|' \
-        -e 's|"/sbin/iptables"|"${iptables}/bin/iptables"|' \
+    # Correct iproute2 and iptables path
+    sed -e 's|/sbin/ip|${iproute2}/bin/ip|g' \
+        -e 's|/sbin/\(ip6\?tables\)|${iptables}/bin/\1|' \
+        -e 's|/bin/bash|${runtimeShell}|g' \
         -i initsystems/systemd/ipsec.service.in \
+           programs/barf/barf.in \
            programs/verify/verify.in
+    sed -e 's|\([[:blank:]]\)\(ip6\?tables\(-save\)\? -\)|\1${iptables}/bin/\2|' \
+        -i programs/verify/verify.in
 
     # Prevent the makefile from trying to
     # reload the systemd daemon or create tmpfiles
diff --git a/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix b/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix
index 1f92fd0ce320..a19789651c2e 100644
--- a/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/linux-router/default.nix b/nixpkgs/pkgs/tools/networking/linux-router/default.nix
index a378a729c7b5..1f274d640dc7 100644
--- a/nixpkgs/pkgs/tools/networking/linux-router/default.nix
+++ b/nixpkgs/pkgs/tools/networking/linux-router/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "linux-router";
-  version = "0.6.2";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "garywill";
     repo = "linux-router";
     rev = "${version}";
-    sha256 = "193bnlwmjxsk0cri6xdylf218qayldn02pdnppvbd39ls361776z";
+    sha256 = "sha256-QBxlqKNaCUMVkm8rVTZ5z6tTN9WxgDQxeNkbgCe9KEg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/networking/lychee/default.nix b/nixpkgs/pkgs/tools/networking/lychee/default.nix
index 657fd108b9a0..d8376016bbfd 100644
--- a/nixpkgs/pkgs/tools/networking/lychee/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lychee/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lychee";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "lycheeverse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TjjSysG4UCXVi5ytWaJVL31TFLHC3Ro5OEB56pzbn7s=";
+    sha256 = "sha256-zgIFJLdYHSDsO34KFK51g4nVlSkc9/TFdXx2yPJ7kRQ=";
   };
 
-  cargoSha256 = "sha256-apRXxd7RBnNjhZb0xAUr5hSTafyMbg0k1wgHT93Z66g=";
+  cargoSha256 = "sha256-r4a+JkaXVYsynBiWUHaleATXvfxyhRHfR/qcooD0FmI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/networking/mailutils/default.nix b/nixpkgs/pkgs/tools/networking/mailutils/default.nix
index 74d4b61064bd..532c8c14ab5b 100644
--- a/nixpkgs/pkgs/tools/networking/mailutils/default.nix
+++ b/nixpkgs/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 = [
@@ -47,6 +82,8 @@ stdenv.mkDerivation rec {
     "--with-gsasl"
     "--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/nixpkgs/pkgs/tools/networking/minio-client/default.nix b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
index 535deea0a01a..be67bca63cf3 100644
--- a/nixpkgs/pkgs/tools/networking/minio-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2021-12-20T23-43-34Z";
+  version = "2022-02-13T23-26-13Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-9/8h7KlvGRyxFiGLd5YAOjvzGsrkDUJDei6WQtrgY2s=";
+    sha256 = "sha256-1Led0OTJO/nN8NisLD/of5IybwYOygsL4xwQmXYCxfs=";
   };
 
-  vendorSha256 = "sha256-hC/HMS585eICdxXKpSPQaL0/+3/GMmhA3bXwKo1dN2s=";
+  vendorSha256 = "sha256-DDtpRKBetVyeUYk0OGddKkAEe3mqL7d+cbSdIbXeZ2s=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/tools/networking/modemmanager/default.nix b/nixpkgs/pkgs/tools/networking/modemmanager/default.nix
index 299342197897..126b3b513a86 100644
--- a/nixpkgs/pkgs/tools/networking/modemmanager/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/mqttui/default.nix b/nixpkgs/pkgs/tools/networking/mqttui/default.nix
index 7945cd168d42..1d350ee4403d 100644
--- a/nixpkgs/pkgs/tools/networking/mqttui/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mqttui/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mqttui";
-  version = "0.13.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "EdJoPaTo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-taGpVLO9K5VmthWadstQcujcLHTb3fhEWDxKGd3Pj+E=";
+    sha256 = "sha256-Uts9hKhnFNYdQhxeUoTOehCcfgqQwStSoGWixgY3dPU=";
   };
 
-  cargoSha256 = "sha256-aAMDl8GZ+XqA4uBiDm2eHQsNFiqCrMBO66X0ruEjpJg=";
+  cargoSha256 = "sha256-YxXniyuQEM+vrCbflqCLlnXpH3ClAd9O496SFVKRvBs=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix b/nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix
new file mode 100644
index 000000000000..0243774262af
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchurl, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "mtr-exporter";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "mgumz";
+    repo = "mtr-exporter";
+    rev = "3ce854a53a44780d2294f59284d21b06aeae6940";
+    sha256 = "sha256-PZCSuvtTBD7yoUE1fR9Z/u3aa1BZgbrcj18smnWRYf4=";
+  };
+
+  vendorSha256 = "0njn0ac7j3lv8ax6jc3bg3hh96a42jal212qk6zxrd46nb5l1rj8";
+
+  meta = with lib; {
+    description = ''
+      Mtr-exporter periodically executes mtr to a given host and
+      provides the measured results as prometheus metrics.
+    '';
+    homepage = "https://github.com/mgumz/mtr-exporter";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jakubgs ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/mtr/default.nix b/nixpkgs/pkgs/tools/networking/mtr/default.nix
index 177fdee99b37..9ce71df109e0 100644
--- a/nixpkgs/pkgs/tools/networking/mtr/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mtr/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config
-, libcap, ncurses, jansson
-, withGtk ? false, gtk3 }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, pkg-config
+, libcap
+, ncurses
+, jansson
+, withGtk ? false
+, gtk3
+}:
 
 stdenv.mkDerivation rec {
   pname = "mtr${lib.optionalString withGtk "-gui"}";
-  version = "0.94";
+  version = "0.95";
 
   src = fetchFromGitHub {
     owner = "traviscross";
     repo = "mtr";
     rev = "v${version}";
-    sha256 = "0wnz87cr2lcl74bj8qxq9xgai40az3pk9k0z893scyc8svd61xz6";
+    sha256 = "sha256-f5bL3IdXibIc1xXCuZHwcEV5vhypRE2mLsS3A8HW2QM=";
   };
 
-  patches = [
-    # pull patch to fix build failure against ncurses-6.3:
-    #  https://github.com/traviscross/mtr/pull/411
-    (fetchpatch {
-      name = "ncurses-6.3.patch";
-      url = "https://github.com/traviscross/mtr/commit/aeb493e08eabcb4e6178bda0bb84e9cd01c9f213.patch";
-      sha256 = "1qk8lf4sha18g36mr84vbdvll2s8khgbzyyq0as3ifx44lv0qlf2";
-    })
-  ];
-
   # we need this before autoreconfHook does its thing
   postPatch = ''
     echo ${version} > .tarball-version
diff --git a/nixpkgs/pkgs/tools/networking/n2n/default.nix b/nixpkgs/pkgs/tools/networking/n2n/default.nix
index aec4a1c5f530..77c7d4161d1f 100644
--- a/nixpkgs/pkgs/tools/networking/n2n/default.nix
+++ b/nixpkgs/pkgs/tools/networking/n2n/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "n2n";
-  version = "2.8";
+  version = "3.0";
 
   src = fetchFromGitHub {
     owner = "ntop";
     repo = "n2n";
     rev = version;
-    hash = "sha256-2xJ8gYVZJZoKs6PZ/9GacgxQ+/3tmnRntT1AbPe1At4=";
+    hash = "sha256-OXmcc6r+fTHs/tDNF3akSsynB/bVRKB6Fl5oYxmu+E0=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/networking/nebula/default.nix b/nixpkgs/pkgs/tools/networking/nebula/default.nix
index a30c9f3bbdcd..494fb946ea6e 100644
--- a/nixpkgs/pkgs/tools/networking/nebula/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/netavark/default.nix b/nixpkgs/pkgs/tools/networking/netavark/default.nix
new file mode 100644
index 000000000000..e29acd23dc41
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/netavark/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, mandown
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "netavark";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-E3Mdrc8/IwuOOwwVf4LaLrNFzuO95MEvy8BbStQRgoE=";
+  };
+
+  cargoVendorDir = "vendor";
+
+  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/nixpkgs/pkgs/tools/networking/netboot/default.nix b/nixpkgs/pkgs/tools/networking/netboot/default.nix
index cfd768e40ab6..995c7ff72678 100644
--- a/nixpkgs/pkgs/tools/networking/netboot/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netboot/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  # Disable parallel build, errors:
+  #  link: `parseopt.lo' is not a valid libtool object
+  enableParallelBuilding = false;
+
   meta = with lib; {
     description = "Mini PXE server";
     maintainers = [ maintainers.raskin ];
diff --git a/nixpkgs/pkgs/tools/networking/netdiscover/default.nix b/nixpkgs/pkgs/tools/networking/netdiscover/default.nix
index 1a7b93eef8ab..2146dd63b99e 100644
--- a/nixpkgs/pkgs/tools/networking/netdiscover/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/networkmanager/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/default.nix
index ac261f83d570..67cd874d6fd4 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/networkmanager/l2tp/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/l2tp/default.nix
index bfcc2d8ae86e..5f00c1fa9d8c 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/l2tp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/l2tp/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, substituteAll, fetchFromGitHub, autoreconfHook, libtool, intltool, pkg-config
 , file, findutils
 , gtk3, networkmanager, ppp, xl2tpd, strongswan, libsecret
-, withGnome ? true, libnma }:
+, withGnome ? true, libnma, glib }:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ networkmanager ppp ]
+  buildInputs = [ networkmanager ppp glib ]
     ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
 
   nativeBuildInputs = [ autoreconfHook libtool intltool pkg-config file findutils ];
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/libnma/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/libnma/default.nix
index 14a7e11aade1..9cee2fbdab07 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/libnma/default.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/libnma/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnma";
-  version = "1.8.32";
+  version = "1.8.34";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Cle5Oi+tQ6zHY/Mg3Tp6k8QpsOMRjfpUnWeCTN3E6QU=";
+    sha256 = "9eLnOOD8p/KlSQeSkLLYAXUR1IWoMiDDbfOAo7R1MwQ=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix
index ca5ec7abffa5..20a90fffed25 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/openvpn/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkg-config, file, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome, kmod, libnma }:
+, glib, gtk3, withGnome ? true, gnome, kmod, libnma }:
 
 let
   pname = "NetworkManager-openvpn";
@@ -19,7 +19,7 @@ in stdenv.mkDerivation {
     })
   ];
 
-  buildInputs = [ openvpn networkmanager ]
+  buildInputs = [ openvpn networkmanager glib ]
     ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
 
   nativeBuildInputs = [ intltool pkg-config file libxml2 ];
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/tray.nix b/nixpkgs/pkgs/tools/networking/networkmanager/tray.nix
index e8ce8ad342fd..ea9ff73b4e33 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/tray.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/tray.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qttools, qtbase, networkmanager-qt, modemmanager-qt }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, qttools, qtbase, networkmanager-qt, modemmanager-qt }:
 
 mkDerivation rec {
   pname = "nm-tray";
@@ -15,7 +15,7 @@ mkDerivation rec {
     sed -i -e '1i#include <QMetaEnum>' src/nmmodel.cpp
   '';
 
-  nativeBuildInputs = [ cmake qttools ];
+  nativeBuildInputs = [ cmake pkg-config qttools ];
 
   cmakeFlags = [ "-DWITH_MODEMMANAGER_SUPPORT=ON" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/notemap/default.nix b/nixpkgs/pkgs/tools/networking/notemap/default.nix
index 040f26752b51..726b24469ab5 100644
--- a/nixpkgs/pkgs/tools/networking/notemap/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix b/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix
index e112b8c1df12..3c6eff4d601c 100644
--- a/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nss-pam-ldapd/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl
 , pkg-config, makeWrapper, autoreconfHook
-, openldap, python, pam
+, openldap, python2, pam
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook ];
-  buildInputs = [ openldap pam python ];
+  buildInputs = [ openldap pam python2 ];
 
   preConfigure = ''
     substituteInPlace Makefile.in --replace "install-data-local: " "# install-data-local: "
diff --git a/nixpkgs/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch b/nixpkgs/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
deleted file mode 100644
index d794efeac08a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch b/nixpkgs/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
deleted file mode 100644
index 50ed1daebd48..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch b/nixpkgs/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch
deleted file mode 100644
index 51c9a706f898..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/networking/ntopng/default.nix b/nixpkgs/pkgs/tools/networking/ntopng/default.nix
index 46dd586c0fa1..652ad4e28867 100644
--- a/nixpkgs/pkgs/tools/networking/ntopng/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/nttcp/default.nix b/nixpkgs/pkgs/tools/networking/nttcp/default.nix
index c5a4c4c1cd1f..7c7302cf19c6 100644
--- a/nixpkgs/pkgs/tools/networking/nttcp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix b/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
index 163341d06466..84327c8f5eef 100644
--- a/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/ocserv/default.nix b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
index 5391ec03ae7c..d99fe89a47ae 100644
--- a/nixpkgs/pkgs/tools/networking/ocserv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
@@ -5,22 +5,22 @@
 
 stdenv.mkDerivation rec {
   pname = "ocserv";
-  version = "1.1.2";
+  version = "1.1.5";
 
   src = fetchFromGitLab {
     owner = "openconnect";
     repo = "ocserv";
     rev = version;
-    sha256 = "gXolG4zTnJpgI32SuudhvlP9snI0k4Oa1mqE7eGbdE0=";
+    sha256 = "sha256-mb1xmv2jM8XpKiUX/IlVctKUimMeF1oMDnT6YMZ0nCY=";
   };
 
-  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/nixpkgs/pkgs/tools/networking/ofono/default.nix b/nixpkgs/pkgs/tools/networking/ofono/default.nix
index de8b3d699603..80e37782154c 100644
--- a/nixpkgs/pkgs/tools/networking/ofono/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/oha/default.nix b/nixpkgs/pkgs/tools/networking/oha/default.nix
index 4f59810a7623..315a4b6084b6 100644
--- a/nixpkgs/pkgs/tools/networking/oha/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oha/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oha";
-  version = "0.4.7";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "hatoo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/gcNVTfLJKA5qzRgAqFSlSI618QBsJTxFE1doOKR7e8=";
+    sha256 = "sha256-wCoBlbi4/EiTAA1xiZ/taVrokE0ECf8STAlA1sk/pm0=";
   };
 
-  cargoSha256 = "sha256-o5VKj69Wp7zLR3TS+wNA0D8nP6Cynlr4KtW4JSUm0VE=";
+  cargoSha256 = "sha256-tcORdyxGViUhKbtxVJaZ1G3uUpyr1pRLu5j8v52lMg8=";
 
   nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
 
diff --git a/nixpkgs/pkgs/tools/networking/oneshot/default.nix b/nixpkgs/pkgs/tools/networking/oneshot/default.nix
index 9c0f4469982b..006fd3b259a8 100644
--- a/nixpkgs/pkgs/tools/networking/oneshot/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oneshot/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     description = "A first-come-first-serve single-fire HTTP server";
     homepage = "https://github.com/raphaelreyna/oneshot";
     license = licenses.mit;
-    maintainers = with maintainers; [ edibopp ];
+    maintainers = with maintainers; [ milibopp ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix b/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
index 30495b918462..15711e8d43b2 100644
--- a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix b/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix
index 27d3a6ce5181..e636950cd981 100644
--- a/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/opensnitch/go-mod.patch b/nixpkgs/pkgs/tools/networking/opensnitch/go-mod.patch
deleted file mode 100644
index 290e92ca755f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/networking/opensnitch/ui.nix b/nixpkgs/pkgs/tools/networking/opensnitch/ui.nix
index d211a10d2c5a..8c0b7686d8a7 100644
--- a/nixpkgs/pkgs/tools/networking/opensnitch/ui.nix
+++ b/nixpkgs/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 # dpendency missing but not mandatory
   ];
 
   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/nixpkgs/pkgs/tools/networking/openssh/common.nix b/nixpkgs/pkgs/tools/networking/openssh/common.nix
index ee8d2a92697f..bd127b9092cc 100644
--- a/nixpkgs/pkgs/tools/networking/openssh/common.nix
+++ b/nixpkgs/pkgs/tools/networking/openssh/common.nix
@@ -4,6 +4,7 @@
 , src
 , extraPatches ? []
 , extraNativeBuildInputs ? []
+, extraConfigureFlags ? []
 , extraMeta ? {}
 }:
 
@@ -62,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
@@ -94,7 +79,10 @@ stdenv.mkDerivation rec {
     ++ optional withFIDO "--with-security-key-builtin=yes"
     ++ optional withKerberos (assert libkrb5 != null; "--with-kerberos5=${libkrb5}")
     ++ optional stdenv.isDarwin "--disable-libutil"
-    ++ optional (!linkOpenssl) "--without-openssl";
+    ++ optional (!linkOpenssl) "--without-openssl"
+    ++ extraConfigureFlags;
+
+  ${if stdenv.hostPlatform.isStatic then "NIX_LDFLAGS" else null}= [ "-laudit" ] ++ lib.optionals withKerberos [ "-lkeyutils" ];
 
   buildFlags = [ "SSH_KEYSIGN=ssh-keysign" ];
 
@@ -105,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/nixpkgs/pkgs/tools/networking/openssh/default.nix b/nixpkgs/pkgs/tools/networking/openssh/default.nix
index 4bc181717168..e8cad75698f4 100644
--- a/nixpkgs/pkgs/tools/networking/openssh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openssh/default.nix
@@ -19,29 +19,30 @@ in
 
   openssh_hpn = common rec {
     pname = "openssh-with-hpn";
-    version = "8.4p1";
+    version = "8.8p1";
     extraDesc = " with high performance networking patches";
 
-    src = fetchFromGitHub {
-      owner = "rapier1";
-      repo = "openssh-portable";
-      rev = "hpn-KitchenSink-${builtins.replaceStrings [ "." "p" ] [ "_" "_P" ] version}";
-      hash = "sha256-SYQPDGxZR41m4g603RaZaOYm4vCr9uZnFnZoKhruueY=";
+    src = fetchurl {
+      url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
+      sha256 = "1s8z6f7mi1pwsl79cqai8cr350m5lf2ifcxff57wx6mvm478k425";
     };
 
     extraPatches = [
-      ./ssh-keysign-8.4.patch
+      ./ssh-keysign-8.5.patch
 
-      # See https://github.com/openssh/openssh-portable/pull/206
-      ./ssh-copy-id-fix-eof.patch
+      # HPN Patch from FreeBSD ports
+      (fetchpatch {
+        name = "ssh-hpn.patch";
+        url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/a981593e/security/openssh-portable/files/extra-patch-hpn";
+        stripLen = 1;
+        sha256 = "sha256-+JvpPxktZAjhxLLK1lF4ijG9VlSWkqbRwotaLe6en64=";
+      })
     ];
 
     extraNativeBuildInputs = [ autoreconfHook ];
 
-    extraMeta.knownVulnerabilities = [
-      "CVE-2021-28041"
-      "CVE-2021-41617"
-    ];
+    extraConfigureFlags = [ "--with-hpn" ];
+    extraMeta.maintainers = with lib.maintainers; [ abbe ];
   };
 
   openssh_gssapi = common rec {
diff --git a/nixpkgs/pkgs/tools/networking/openvpn/default.nix b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
index 46375b60fe46..e2805f0ccf05 100644
--- a/nixpkgs/pkgs/tools/networking/openvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
@@ -24,7 +24,7 @@ let
 
   generic = { version, sha256 }:
     let
-      withIpRoute = stdenv.isLinux && (versionOlder version "2.5");
+      withIpRoute = stdenv.isLinux && (versionOlder version "2.5.4");
     in
     stdenv.mkDerivation
       rec {
@@ -83,7 +83,7 @@ in
   };
 
   openvpn = generic {
-    version = "2.5.2";
-    sha256 = "sha256-sSdDg2kB82Xvr4KrJJOWfhshwh60POmo2hACoXycHcg=";
+    version = "2.5.5";
+    sha256 = "sha256-EZvWn6AhCDj2zaonNpbcc476IA9FTb4R6237dd+2ADs=";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix b/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
index c2e5f4568242..fc389f2c4dc4 100644
--- a/nixpkgs/pkgs/tools/networking/p2p/amule/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/pcapc/default.nix b/nixpkgs/pkgs/tools/networking/pcapc/default.nix
index 48dc96bb3f71..e0cef5402089 100644
--- a/nixpkgs/pkgs/tools/networking/pcapc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pcapc/default.nix
@@ -1,27 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, libpcap, cmake }:
+{ lib, stdenv, fetchFromGitLab, libpcap }:
 
 stdenv.mkDerivation rec {
   pname = "pcapc";
-  version = "1.0.0";
+  version = "1.0.1";
 
-  src = fetchFromGitHub {
-    sha256 = "137crs0bb7kh9a8p9g168yj2jrp0h3j3073nwh31jy4nk0g5hlfp";
+  src = fetchFromGitLab {
+    owner = "post-factum";
+    repo = pname;
     rev = "v${version}";
-    repo = "pcapc";
-    owner = "pfactum";
+    hash = "sha256-oDg9OSvi9aQsZ2SQm02NKAcppE0w5SGZaI13gdp7gv4=";
   };
 
-  nativeBuildInputs = [ cmake ];
   buildInputs = [ libpcap ];
 
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  doCheck = false;
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with lib; {
-    homepage = "https://github.com/pfactum/pcapc";
+    homepage = "https://gitlab.com/post-factum/pcapc";
     description = "Compile libpcap filter expressions into BPF opcodes";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/persepolis/default.nix b/nixpkgs/pkgs/tools/networking/persepolis/default.nix
index 5e4f0542d364..f8e5e33eb465 100644
--- a/nixpkgs/pkgs/tools/networking/persepolis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/philter/default.nix b/nixpkgs/pkgs/tools/networking/philter/default.nix
index 60bd2f8cc7e8..dc447f3a86b9 100644
--- a/nixpkgs/pkgs/tools/networking/philter/default.nix
+++ b/nixpkgs/pkgs/tools/networking/philter/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python }:
+{ lib, stdenv, fetchurl, python2 }:
 
 stdenv.mkDerivation rec {
   pname = "philter";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p "$out"/{bin,share/philter}
     cp .philterrc "$out"/share/philter/philterrc
-    sed -i 's@/usr/local/bin@${python}/bin@' src/philter.py
+    sed -i 's@/usr/local/bin@${python2}/bin@' src/philter.py
     cp src/philter.py "$out"/bin/philter
     chmod +x "$out"/bin/philter
   '';
diff --git a/nixpkgs/pkgs/tools/networking/proxify/default.nix b/nixpkgs/pkgs/tools/networking/proxify/default.nix
index 36db5037a44c..dabe0b40d25d 100644
--- a/nixpkgs/pkgs/tools/networking/proxify/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/proxychains-ng/default.nix b/nixpkgs/pkgs/tools/networking/proxychains-ng/default.nix
index cc1cc9daf656..35a6c7d7f875 100644
--- a/nixpkgs/pkgs/tools/networking/proxychains-ng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/proxychains-ng/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "proxychains-ng";
-  version = "4.15";
+  version = "4.16";
 
   src = fetchFromGitHub {
     owner = "rofl0r";
     repo = pname;
     rev = "v${version}";
-    sha256 = "128d502y8pn7q2ls6glx9bvibwzfh321sah5r5li6b6iywh2zqlc";
+    sha256 = "sha256-uu/zN6W0ue526/3a9QeYg6J4HLaovZJVOYXksjouYok=";
   };
 
   meta = with lib; {
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/rofl0r/proxychains-ng";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ zenithal ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ [ "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pssh/default.nix b/nixpkgs/pkgs/tools/networking/pssh/default.nix
index a17701644c87..1d7d006f537a 100644
--- a/nixpkgs/pkgs/tools/networking/pssh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pssh/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchFromGitHub, pythonPackages, openssh, rsync }:
+{ lib, fetchFromGitHub, python2Packages, openssh, rsync }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "pssh";
   version = "2.3.1";
 
diff --git a/nixpkgs/pkgs/tools/networking/py-wmi-client/default.nix b/nixpkgs/pkgs/tools/networking/py-wmi-client/default.nix
index 7a2774002891..8f5958193db8 100644
--- a/nixpkgs/pkgs/tools/networking/py-wmi-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/py-wmi-client/default.nix
@@ -1,6 +1,6 @@
-{ lib, pythonPackages, fetchFromGitHub }:
+{ lib, python2Packages, fetchFromGitHub }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "py-wmi-client";
   version = "unstable-20160601";
 
@@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "1kd12gi1knqv477f1shzqr0h349s5336vzp3fpfp3xl0b502ld8d";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ impacket natsort pyasn1 pycrypto ];
+  propagatedBuildInputs = with python2Packages; [ impacket natsort pyasn1 pycrypto ];
 
   # no tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/networking/qodem/default.nix b/nixpkgs/pkgs/tools/networking/qodem/default.nix
new file mode 100644
index 000000000000..3b16e30ac180
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/qodem/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, ncurses, SDL, gpm, miniupnpc }:
+
+stdenv.mkDerivation rec {
+  pname = "qodem";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "klamonte";
+    repo = "qodem";
+    rev = "v${version}";
+    sha256 = "NAdcTVmNrDa3rbsbxJxFoI7sz5NK5Uw+TbP+a1CdB+Q=";
+  };
+
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ ncurses SDL gpm miniupnpc ];
+
+  meta = with lib; {
+    homepage = "http://qodem.sourceforge.net/";
+    description = "Re-implementation of the DOS-era Qmodem serial communications package";
+    longDescription = ''
+      Qodem is a from-scratch clone implementation of the Qmodem
+      communications program made popular in the days when Bulletin Board
+      Systems ruled the night. Qodem emulates the dialing directory and the
+      terminal screen features of Qmodem over both modem and Internet
+      connections.
+    '';
+    maintainers = with maintainers; [ embr ];
+    license = licenses.publicDomain;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/ratman/default.nix b/nixpkgs/pkgs/tools/networking/ratman/default.nix
new file mode 100644
index 000000000000..e2b2966f78b0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/ratman/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchurl
+, installShellFiles
+, libsodium
+, pkg-config
+, protobuf
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ratman";
+  version = "0.3.1";
+
+  src = fetchurl {
+    url = "https://git.irde.st/we/irdest/-/archive/${pname}-${version}/irdest-${pname}-${version}.tar.gz";
+    sha256 = "0x1wvhsmf7m55j9hmirkz75qivsg33xab1sil6nbv8fby428fpq6";
+  };
+
+  cargoSha256 = "1dkfyy1z34qaavyd3f20hrrrb3kjsdfkyzd535xlds9wivgchmd0";
+
+  nativeBuildInputs = [ protobuf pkg-config installShellFiles ];
+
+  cargoBuildFlags = [ "--all-features" "-p" "ratman" ];
+  cargoTestFlags = cargoBuildFlags;
+
+  buildInputs = [ libsodium ];
+
+  postInstall = ''
+    installManPage docs/man/ratmand.1
+  '';
+
+  SODIUM_USE_PKG_CONFIG = 1;
+
+  meta = with lib; {
+    description = "A modular decentralised peer-to-peer packet router and associated tools";
+    homepage = "https://git.irde.st/we/irdest";
+    platforms = platforms.unix;
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ spacekookie yuka ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/reaver-wps/default.nix b/nixpkgs/pkgs/tools/networking/reaver-wps/default.nix
index ec226f50668b..37215c37b93d 100644
--- a/nixpkgs/pkgs/tools/networking/reaver-wps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/reaver-wps/parallel-build.patch b/nixpkgs/pkgs/tools/networking/reaver-wps/parallel-build.patch
new file mode 100644
index 000000000000..086298a49d83
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/shadowfox/default.nix b/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
index a75936a15204..4b270998a6b1 100644
--- a/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowfox/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "125mw70jidbp436arhv77201jdp6mpgqa2dzmrpmk55f9bf29sg6";
   };
 
-  vendorSha256 = "06ar9ivry9b01609izjbl6hqgg0cy7aqd8n2cqpyq0g7my0l0lbj";
+  vendorSha256 = "17m0ssfw9n3g2lkv63qajz3adrk5yp0c9hx66x7dl79snwqd49yg";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
index b6d91da334e4..8c14352c05db 100644
--- a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.12.5";
+  version = "1.13.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "sha256-whPaFb+4mYOWmtFc/a+NkH9avCfOnGnAvqz3UFTt+RY=";
+    sha256 = "sha256-4lOEft1uiGN7OgFQzSn+QV8/wHl+W2yM3RAc5t8bUtk=";
   };
 
-  cargoSha256 = "sha256-w7AqNsa9lolPEiHEv7E4XGaFV/UbCeYvmWekr9YzO6Q=";
+  cargoSha256 = "sha256-NKq/lnpGrCLZjWdKquysoi25SsFtmtDrPIioDgQoMjw=";
 
   RUSTC_BOOTSTRAP = 1;
 
diff --git a/nixpkgs/pkgs/tools/networking/sish/default.nix b/nixpkgs/pkgs/tools/networking/sish/default.nix
index 45d1479e86fe..b3e6ff4cb93f 100644
--- a/nixpkgs/pkgs/tools/networking/sish/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sish/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "sish";
-  version = "1.1.7";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "antoniomika";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-v/7DhakTVlcbnhujZOoVx5mpeyMwVI4CfYV12QqR7I4=";
+    sha256 = "sha256-vsW0zQczsYTTlvYkyvYMwYaIOu6JnXH3ZOwUgdeu+u0=";
   };
 
-  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/nixpkgs/pkgs/tools/networking/snowflake/default.nix b/nixpkgs/pkgs/tools/networking/snowflake/default.nix
new file mode 100644
index 000000000000..8535f18567da
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/snowflake/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildGoModule, fetchgit }:
+
+buildGoModule rec {
+  pname = "snowflake";
+  version = "2.0.1";
+
+  src = fetchgit {
+    url = "https://git.torproject.org/pluggable-transports/${pname}";
+    rev = "v${version}";
+    hash = "sha256-ULkqsh0DeFI1GsaVaHGSjoEY38EktvDVC52Sx6cQLOE=";
+  };
+
+  vendorSha256 = "D5A19UHL1WEE1ODT80jKT+PJ5CTXPjc9Eg6v2Nfm4aw=";
+
+  meta = with lib; {
+    description = "System to defeat internet censorship";
+    homepage = "https://snowflake.torproject.org/";
+    maintainers = with maintainers; [ lourkeur ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/socat/default.nix b/nixpkgs/pkgs/tools/networking/socat/default.nix
index b26760a72941..c52bdb0802d1 100644
--- a/nixpkgs/pkgs/tools/networking/socat/default.nix
+++ b/nixpkgs/pkgs/tools/networking/socat/default.nix
@@ -9,20 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "socat";
-  version = "1.7.4.2";
+  version = "1.7.4.3";
 
   src = fetchurl {
     url = "http://www.dest-unreach.org/socat/download/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-ZpCp+ZkEV7UFCXonK78sv0zDVXYXb3ZkbjUksOkcF2M=";
+    sha256 = "sha256-1HMYEEQVB3Y1EZ3+5EvPtB3jSXN0qaABsa/24vCFgAc=";
   };
 
-  patches = [
-    # This adds missing feature checks for TCP_INFO, a Linux feature
-    #
-    # Discussed in https://github.com/Homebrew/homebrew-core/pull/88595
-    ./socat-fix-feature-check-tcpinfo.patch
-  ];
-
   postPatch = ''
     patchShebangs test.sh
     substituteInPlace test.sh \
diff --git a/nixpkgs/pkgs/tools/networking/socat/socat-fix-feature-check-tcpinfo.patch b/nixpkgs/pkgs/tools/networking/socat/socat-fix-feature-check-tcpinfo.patch
deleted file mode 100644
index ec0ea88359c8..000000000000
--- a/nixpkgs/pkgs/tools/networking/socat/socat-fix-feature-check-tcpinfo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/filan.c b/filan.c
-index 3465f7c..77c22a4 100644
---- a/filan.c
-+++ b/filan.c
-@@ -905,6 +905,7 @@ int tcpan(int fd, FILE *outfile) {
- #if WITH_TCP
- 
- int tcpan2(int fd, FILE *outfile) {
-+#ifdef TCP_INFO
-    struct tcp_info tcpinfo;
-    socklen_t tcpinfolen = sizeof(tcpinfo);
-    int result;
-@@ -930,6 +931,8 @@ int tcpan2(int fd, FILE *outfile) {
-    // fprintf(outfile, "%s={%u}\t", "TCPI_", tcpinfo.tcpi_);
- 
-    return 0;
-+#endif
-+   return -1;
- }
- 
- #endif /* WITH_TCP */
diff --git a/nixpkgs/pkgs/tools/networking/sockperf/default.nix b/nixpkgs/pkgs/tools/networking/sockperf/default.nix
index d58bcb2f3cac..598fb482c382 100644
--- a/nixpkgs/pkgs/tools/networking/sockperf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/strongswan/default.nix b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
index 9edc1c79fb0c..560457bdaa5d 100644
--- a/nixpkgs/pkgs/tools/networking/strongswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/strongswan/default.nix
@@ -7,6 +7,7 @@
 , enableTNC            ? false, trousers, sqlite, libxml2
 , enableNetworkManager ? false, networkmanager
 , darwin
+, nixosTests
 }:
 
 # Note on curl support: If curl is built with gnutls as its backend, the
@@ -17,13 +18,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "strongswan";
-  version = "5.9.4"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
+  version = "5.9.5"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
 
   src = fetchFromGitHub {
     owner = "strongswan";
     repo = "strongswan";
     rev = version;
-    sha256 = "1y1gs232x7hsbccjga9nbkf4bbi5wxazlkg00qd2v1nz86sfy4cd";
+    sha256 = "sha256-Jx0Wd/xgkl/WrBfcEvZPogPAQp0MW9HE+AQR2anP5Vo=";
   };
 
   dontPatchELF = true;
@@ -101,6 +102,8 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = optionalString stdenv.cc.isGNU "-lgcc_s" ;
 
+  passthru.tests = { inherit (nixosTests) strongswan-swanctl; };
+
   meta = {
     description = "OpenSource IPsec-based VPN Solution";
     homepage = "https://www.strongswan.org";
diff --git a/nixpkgs/pkgs/tools/networking/stunnel/default.nix b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
index 5b73e7d3fb48..c42e78c933d9 100644
--- a/nixpkgs/pkgs/tools/networking/stunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stunnel";
-  version = "5.61";
+  version = "5.62";
 
   src = fetchurl {
     url    = "https://www.stunnel.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "sha256-keoMpkgtj359lx7mSrT4aigX0DijcvCJPigxXvIBXXo=";
+    sha256 = "sha256-nPW7lJAiqmbHNsEyZVTMon0GQWBaY3AnTtxJUetb0zk=";
     # please use the contents of "https://www.stunnel.org/downloads/${name}.tar.gz.sha256",
     # not the output of `nix-prefetch-url`
   };
diff --git a/nixpkgs/pkgs/tools/networking/subfinder/default.nix b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
index 7960324cbd71..d38200a53da4 100644
--- a/nixpkgs/pkgs/tools/networking/subfinder/default.nix
+++ b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-BtyPy6ow3flHl4jM9cfF+y3JCtLYx2c+a8f7ol3nQj4=";
   };
 
-  vendorSha256 = "sha256-jIU5UZdmBUqyjva+g7zoijPqHF2p3vzImEFQCP/CFwE=";
+  vendorSha256 = "sha256-lgbTfIsfYFSToCaDppMGaxfE1Bmk52eShQ+40g2VNw0=";
 
   modRoot = "./v2";
 
diff --git a/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix b/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix
index 499b829b4376..9aedd77aff7f 100644
--- a/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix
+++ b/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.31";
+  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-GZJLS+gy23FcSS2twF4fnRf5QkVEpx23UaN7pdJIudM=";
+    sha256 = "sha256-1oGir5F3wgwRQxz3eXI58wMIKYwvtHrRW4VJh0hIVyE=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix b/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix
index 6e2fb35fd4c2..45bc3a033945 100644
--- a/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcpreplay/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcpreplay";
-  version = "4.3.4";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://github.com/appneta/tcpreplay/releases/download/v${version}/tcpreplay-${version}.tar.gz";
-    sha256 = "sha256-7gZTEIBsIuL9NvAU4euzMbmKfsTblY6Rw9nL2gZA2Sw=";
+    sha256 = "sha256-y2e2SRphiGf8T5hI9YYBnxuy69FJ85OvrFVE7lXkVE8=";
   };
 
   buildInputs = [ libpcap ]
diff --git a/nixpkgs/pkgs/tools/networking/telepresence2/default.nix b/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
index 9a2e1b4bbc78..06a36473ec14 100644
--- a/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "telepresence2";
-  version = "2.4.6";
+  version = "2.4.10";
 
   src = fetchFromGitHub {
     owner = "telepresenceio";
     repo = "telepresence";
     rev = "v${version}";
-    sha256 = "09w7yk7jk5m6clq3drbgdr61w60b21jmfd635brfahms8pykmmzl";
+    sha256 = "sha256-OM0kMQYYHjk17x4VmrIXyTq/DxXnTrt6oRHEdV+1+Ns=";
   };
 
   # The Helm chart is go:embed'ed as a tarball in the binary.
@@ -21,7 +21,7 @@ buildGoModule rec {
     go run ./build-aux/package_embedded_chart/main.go ${src.rev}
   '';
 
-  vendorSha256 = "0przkcqaf56a0sgan2xxqfpbs9nbmq4brwdv1qnag7i9myzvixxb";
+  vendorSha256 = "sha256-J7Qj0g479K6k0pXmZzQ3T4VG4Vdj7Sc9Xhuy4Ke/xkU=";
 
   ldflags = [
     "-s" "-w" "-X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}"
diff --git a/nixpkgs/pkgs/tools/networking/tendermint/default.nix b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
index 12eb1a7f0a64..17e8d9b9fba2 100644
--- a/nixpkgs/pkgs/tools/networking/tendermint/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tendermint";
-  version = "0.35.0";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "tendermint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fSDmwZNKAHXcMtNZlqJmUFkuFdZLkDbnn+ZrNtnszgU=";
+    sha256 = "sha256-eEvSELCzpAm9Me46U54MQEQiAPCFlBa5iG2AZMn5BbE=";
   };
 
-  vendorSha256 = "sha256-DktuZ0NUyg8LbYklxde2ZZJ8/WOyBq50E9yEHtS+Hqw=";
+  vendorSha256 = "sha256-aYY3rGm2Wvd5v1QrfhN0jWzAO9JYu4j5ZHk9UyEPjH8=";
 
   subPackages = [ "cmd/tendermint" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/termscp/default.nix b/nixpkgs/pkgs/tools/networking/termscp/default.nix
index 58bbfe5e46c6..4883cc042cde 100644
--- a/nixpkgs/pkgs/tools/networking/termscp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/termscp/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termscp";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "veeso";
     repo = pname;
     rev = "v${version}";
-    sha256 = "131kij6pnw9r0p2a28g00z85dh758h4rm9ic09qmp61cq7dphkc1";
+    sha256 = "sha256-fVZDpzgcpMWOoUtoq7go/NFWfoR1aONuRtTba0sqPZk=";
   };
 
-  cargoSha256 = "1k2vwmfy6dczgs3bz8k4j24cc8l7l9fdh3ymp79ril4rp1v6kfp2";
+  cargoSha256 = "sha256-iLm73dWF9z/obtAXe5dZlvJcxU6hB5N0vaSc/HLuTuQ=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix b/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix
index 190950e37ecc..4587d40a5197 100644
--- a/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/tinyssh/default.nix b/nixpkgs/pkgs/tools/networking/tinyssh/default.nix
index 9bfa8aa3ab53..e09a181d0076 100644
--- a/nixpkgs/pkgs/tools/networking/tinyssh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tinyssh/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tinyssh";
-  version = "20210601";
+  version = "20220101";
 
   src = fetchFromGitHub {
     owner = "janmojzis";
     repo = "tinyssh";
     rev = version;
-    sha256 = "sha256-+THoPiD6dW5ZuiQmmLckOJGyjhzdF3qF0DgC51zjGY8=";
+    sha256 = "sha256-3GW7WNUy7539dN2ckd/0PejzsiaCXcOIMR5FlZKBkMo=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/networking/traceroute/default.nix b/nixpkgs/pkgs/tools/networking/traceroute/default.nix
index c941aad258cc..eeb96936aeab 100644
--- a/nixpkgs/pkgs/tools/networking/traceroute/default.nix
+++ b/nixpkgs/pkgs/tools/networking/traceroute/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6";
   };
 
-  makeFlags = [ "prefix=$(out)" "LDFLAGS=-lm" ];
+  makeFlags = [ "prefix=$(out)" "LDFLAGS=-lm" "env=yes" ];
 
   preConfigure = ''
     sed -i 's@LIBS := \(.*\) -lm \(.*\)@LIBS := \1 \2@' Make.rules
diff --git a/nixpkgs/pkgs/tools/networking/tuntox/default.nix b/nixpkgs/pkgs/tools/networking/tuntox/default.nix
new file mode 100644
index 000000000000..8870f0e32ce7
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/twa/default.nix b/nixpkgs/pkgs/tools/networking/twa/default.nix
index b6038aa54353..ab73eae70046 100644
--- a/nixpkgs/pkgs/tools/networking/twa/default.nix
+++ b/nixpkgs/pkgs/tools/networking/twa/default.nix
@@ -1,25 +1,25 @@
-{ stdenv
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
 , bash
 , curl
-, fetchFromGitHub
+, dnsutils
 , gawk
-, host
 , jq
-, lib
-, makeWrapper
 , ncurses
 , netcat
 }:
 
 stdenv.mkDerivation rec {
   pname = "twa";
-  version = "1.9.1";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "twa";
-    rev = version;
-    sha256 = "1ab3bcyhfach9y15w8ffvqqan2qk8h62n6z8nqbgygi7n1mf6jzx";
+    rev = "v${version}";
+    hash = "sha256-8c1o03iwStmhjKHmEXIZGyaSOAJRlOuhu0ERjCO5SHg=";
   };
 
   dontBuild = true;
@@ -28,12 +28,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ bash
                   curl
+                  dnsutils
                   gawk
-                  host.dnsutils
                   jq
                   netcat ];
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm 0755 twa "$out/bin/twa"
     install -Dm 0755 tscore "$out/bin/tscore"
     install -Dm 0644 twa.1 "$out/share/man/man1/twa.1"
@@ -41,10 +43,13 @@ stdenv.mkDerivation rec {
 
     wrapProgram "$out/bin/twa" \
       --prefix PATH : ${lib.makeBinPath [ curl
-                                                 host.dnsutils
-                                                 jq
-                                                 ncurses
-                                                 netcat ]}
+                                          dnsutils
+                                          gawk
+                                          jq
+                                          ncurses
+                                          netcat ]}
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/networking/unbound/default.nix b/nixpkgs/pkgs/tools/networking/unbound/default.nix
index f9ff82735b90..416d8863cb4a 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/default.nix
+++ b/nixpkgs/pkgs/tools/networking/unbound/default.nix
@@ -40,11 +40,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unbound";
-  version = "1.13.2";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "https://nlnetlabs.nl/downloads/unbound/unbound-${version}.tar.gz";
-    sha256 = "sha256-ChO1R/O5KgJrXr0EI/VMmR5XGAN/2fckRYF/agQOGoM=";
+    sha256 = "sha256-bvkcvwLVKZ6rOTKMCFc5Pee0iFov5yM93+PBJP9aicg=";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
@@ -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/nixpkgs/pkgs/tools/networking/urlwatch/default.nix b/nixpkgs/pkgs/tools/networking/urlwatch/default.nix
index 705b2397c6ac..46093f2c5b94 100644
--- a/nixpkgs/pkgs/tools/networking/urlwatch/default.nix
+++ b/nixpkgs/pkgs/tools/networking/urlwatch/default.nix
@@ -17,6 +17,7 @@ python3Packages.buildPythonApplication rec {
   propagatedBuildInputs = with python3Packages; [
     appdirs
     cssselect
+    jq
     keyring
     lxml
     markdown2
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/default.nix b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
index d3ea5a071e10..ba1fcb6d0362 100644
--- a/nixpkgs/pkgs/tools/networking/v2ray/default.nix
+++ b/nixpkgs/pkgs/tools/networking/v2ray/default.nix
@@ -12,7 +12,7 @@ let
     sha256 = "1yk02n2lllbcwqkz4f3l3d2df1w3m768zxvdawgmafjgmbqf0gjf";
   };
 
-  vendorSha256 = "sha256-7zSIAKcMwtaTvokKuLJ8orqJc2jGuaw5FglEJadeZ9I=";
+  vendorSha256 = "sha256-kTwISKPIFpb/OPh9rIzLH8a6mqpyDBJo2stSu5bc02Q=";
 
   assetsDrv = symlinkJoin {
     name = "v2ray-assets";
diff --git a/nixpkgs/pkgs/tools/networking/vpnc/default.nix b/nixpkgs/pkgs/tools/networking/vpnc/default.nix
index f67d29f09d49..31a4262d8a64 100644
--- a/nixpkgs/pkgs/tools/networking/vpnc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/weighttp/default.nix b/nixpkgs/pkgs/tools/networking/weighttp/default.nix
index 7c3d23c0d17f..7a26ffdeb436 100644
--- a/nixpkgs/pkgs/tools/networking/weighttp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/weighttp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, python, libev, wafHook }:
+{ lib, stdenv, fetchgit, python2, libev, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "weighttp";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ wafHook ];
 
-  buildInputs = [ python libev ];
+  buildInputs = [ python2 libev ];
 
   meta = with lib; {
     description = "Lightweight and simple webserver benchmarking tool";
diff --git a/nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix b/nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix
new file mode 100644
index 000000000000..57a611664b95
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin, wireguard-go, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wg-netmanager";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "gin66";
+    repo = "wg_netmanager";
+    rev = "wg_netmanager-v${version}";
+    sha256 = "sha256-2LO1OCGlkjdszwgNBZ+Qwp126VfDq3pxf0Gz+6kzuPI=";
+  };
+
+  cargoSha256 = "sha256-EM0TPMyWMVpLFhan0boAQoAvMHBVgXp6mnYJLHOHiV8=";
+
+  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/nixpkgs/pkgs/tools/networking/whois/default.nix b/nixpkgs/pkgs/tools/networking/whois/default.nix
index 0caa0af061b8..3d742a2a90cf 100644
--- a/nixpkgs/pkgs/tools/networking/whois/default.nix
+++ b/nixpkgs/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, perl, gettext, pkg-config, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.10";
+  version = "5.5.11";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "179hgmh9yqk8jq26ybik4cr3lgryd5p6kdwccc3r7mfssk3yp8lz";
+    sha256 = "sha256-+fNld+stSniuQV2zx+Qd4s2ZSwNLmnve/tXg36MC2nM=";
   };
 
   nativeBuildInputs = [ perl gettext pkg-config ];
diff --git a/nixpkgs/pkgs/tools/networking/wifite2/default.nix b/nixpkgs/pkgs/tools/networking/wifite2/default.nix
index 4069e378a29b..98ca976fd3e8 100644
--- a/nixpkgs/pkgs/tools/networking/wifite2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/wuzz/default.nix b/nixpkgs/pkgs/tools/networking/wuzz/default.nix
index 156841be3344..7e86b4438a1f 100644
--- a/nixpkgs/pkgs/tools/networking/wuzz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/wuzz/deps.nix b/nixpkgs/pkgs/tools/networking/wuzz/deps.nix
deleted file mode 100644
index 8904596a712d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/networking/xh/default.nix b/nixpkgs/pkgs/tools/networking/xh/default.nix
index ad6d02399efe..2a5708c8d052 100644
--- a/nixpkgs/pkgs/tools/networking/xh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/xh/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xh";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "ducaale";
     repo = "xh";
     rev = "v${version}";
-    sha256 = "sha256-zq1jpkMcq7WHc6weht2iEFMlxIJSoDreWqJCi8F+Lxs=";
+    sha256 = "sha256-+GiVehgU0g/rHeikSyACbTdCdpjHd8WxjkP+uxCylnY=";
   };
 
-  cargoSha256 = "sha256-NcznWWMcgK4RixqvumPEQUlvIFRyYkbeTTGvjQ91ggE=";
+  cargoSha256 = "sha256-G3jaM6U7O+GLAiAbaWMIyh6Ksu4ypTK50s/RNe2wT3c=";
 
   buildFeatures = lib.optional withNativeTls "native-tls";
 
diff --git a/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix b/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
index 5abe4ea09673..2f270f8161fa 100644
--- a/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/xl2tpd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xl2tpd";
-  version = "1.3.16";
+  version = "1.3.17";
 
   src = fetchFromGitHub {
     owner = "xelerance";
     repo = "xl2tpd";
     rev = "v${version}";
-    sha256 = "sha256-1Hipek50qjcr0vgTNr4PQyCf1qLZ3UKqu+DLuDNjRUc=";
+    sha256 = "sha256-ibHiQn6YBd80rXIxZeUSTNs9KOJXVGRlUIr753mLURk=";
   };
 
   buildInputs = [ libpcap ];
diff --git a/nixpkgs/pkgs/tools/networking/xrootd/default.nix b/nixpkgs/pkgs/tools/networking/xrootd/default.nix
new file mode 100644
index 000000000000..6347a18c6fbf
--- /dev/null
+++ b/nixpkgs/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.0";
+
+  src = fetchFromGitHub {
+    owner = "xrootd";
+    repo = "xrootd";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "A2yUz2KhuRBoo5lMpZwPLNCJlYQXqsZSBR+Knj+gWAk=";
+  };
+
+  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/nixpkgs/pkgs/tools/networking/xrootd/test-runner.nix b/nixpkgs/pkgs/tools/networking/xrootd/test-runner.nix
new file mode 100644
index 000000000000..5bcf1ae86759
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/xxh/default.nix b/nixpkgs/pkgs/tools/networking/xxh/default.nix
new file mode 100644
index 000000000000..386b8cafbd12
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/xxh/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchFromGitHub
+, buildPythonApplication
+, pexpect
+, pyyaml
+, openssh
+, nixosTests
+, pythonOlder
+}:
+
+buildPythonApplication rec{
+  pname = "xxh";
+  version = "0.8.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    hash = "sha256-Uo7xFwE9e5MFWDlNWq15kg+4xf/hF4WGUNTpTK+rgVg=";
+  };
+
+  propagatedBuildInputs = [
+    pexpect
+    pyyaml
+    openssh
+  ];
+
+  passthru.tests = {
+    inherit (nixosTests) xxh;
+  };
+
+  meta = with lib; {
+    description = "Bring your favorite shell wherever you go through SSH";
+    homepage = "https://github.com/xxh/xxh";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ pasqui23 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
index 0284e5117d31..5f30c4d7f82f 100644
--- a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/nix/alejandra/default.nix b/nixpkgs/pkgs/tools/nix/alejandra/default.nix
new file mode 100644
index 000000000000..d1ad257568ff
--- /dev/null
+++ b/nixpkgs/pkgs/tools/nix/alejandra/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, testVersion
+, alejandra
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "alejandra";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "kamadorueda";
+    repo = "alejandra";
+    rev = version;
+    sha256 = "sha256-IQ+hv/R6uRPEPr7+SRXyYol4/cQo1ZqcqJxy26CpOoY=";
+  };
+
+  cargoSha256 = "sha256-PIqdjtqbSVQoxLj5jGSbrzRQ3qddZvp1Y7tIuFs7UEg=";
+
+  passthru.tests = {
+    version = testVersion { package = alejandra; };
+  };
+
+  meta = with lib; {
+    description = "The Uncompromising Nix Code Formatter";
+    homepage = "https://github.com/kamadorueda/alejandra";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ _0x4A6F kamadorueda ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/nix/statix/default.nix b/nixpkgs/pkgs/tools/nix/statix/default.nix
index fd219935aeeb..0f3a1c10e355 100644
--- a/nixpkgs/pkgs/tools/nix/statix/default.nix
+++ b/nixpkgs/pkgs/tools/nix/statix/default.nix
@@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec {
   pname = "statix";
   # also update version of the vim plugin in pkgs/misc/vim-plugins/overrides.nix
   # the version can be found in flake.nix of the source code
-  version = "0.4.2";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "nerdypepper";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4hVEwm2xuuHFy38/EJLKjGuxTYCAcKRHHfFKLvqp+M0=";
+    sha256 = "sha256-9208bR3awxXR1MSh9HbsKeen5V4r4hPuJFkK/CMJRfg=";
   };
 
-  cargoSha256 = "sha256-15C/ye8nYLtriBlqbf1ul41IFtShGY2LTX10z1/08Po=";
+  cargoSha256 = "sha256-f1/PMbXUiqjFI8Y0mvgEyNqGGYqGq3nV094mg1aZIHM=";
 
   buildFeatures = lib.optional withJson "json";
 
diff --git a/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix b/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
index eda95f25529c..252036a9e9d7 100644
--- a/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/apk-tools/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "apk-tools";
-  version = "2.12.8";
+  version = "2.12.9";
 
   src = fetchFromGitLab {
     domain = "gitlab.alpinelinux.org";
     owner = "alpine";
     repo = "apk-tools";
     rev = "v${version}";
-    sha256 = "1bqrvdyqqllzsyx9gdkqmd17wxcmli6ljwxxa8wj9gzg9pqhlhqz";
+    sha256 = "sha256-WmL2sjBUwk9qw8+vHgaufaElQnbDAtOCZHoBXLcvJ18=";
   };
 
   nativeBuildInputs = [ pkg-config scdoc ]
diff --git a/nixpkgs/pkgs/tools/package-management/apt/default.nix b/nixpkgs/pkgs/tools/package-management/apt/default.nix
index d19315a89f49..511643e38af4 100644
--- a/nixpkgs/pkgs/tools/package-management/apt/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/apt/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "apt";
-  version = "2.3.8";
+  version = "2.3.15";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
-    hash = "sha256-SFrxQwx14xWLcV5EJNv5bRtWQdxNzMUPVxssd5qDfyw=";
+    hash = "sha256-JWIAfREJk91+eobdgeplDmEhAXm1nqxytu3/Y2TAu6Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/package-management/bunny/default.nix b/nixpkgs/pkgs/tools/package-management/bunny/default.nix
deleted file mode 100644
index 8ef808610db7..000000000000
--- a/nixpkgs/pkgs/tools/package-management/bunny/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchFromGitLab }:
-
-stdenv.mkDerivation rec {
-  pname = "bunny";
-  version = "1.3";
-
-  src = fetchFromGitLab {
-    owner = "tim241";
-    repo = "bunny";
-    rev = version;
-    sha256 = "0nh2h5kj9b0nkb6yrzf4if7anfdmy9vijzy4bl3s7qck0nzbpy8s";
-  };
-
-  dontBuild = true;
-
-  makeFlags = [ "prefix=$(out)" ];
-
-  meta = with lib; {
-    description = "A simple shell script wrapper around multiple package managers";
-    homepage = "https://gitlab.com/tim241/bunny";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ buffet ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-about/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-about/default.nix
index 74f59d16a4da..17c9f690d0af 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-about/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
index dffe16242a10..0c791bbf80fb 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.18.6";
+  version = "0.20.2";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-4ZXur3Hja5nlJ2GLGei9r7ZPz+bvw41rm9xzaIo68gw=";
+    sha256 = "sha256-KWLZdFpRwtdP17x71IU2MGFwd1SNnTRcgTUoW1p5Px4=";
   };
 
-  cargoSha256 = "sha256-vBr3RYBFoeCJquS8ugVpl29J7CUraN/HuxtKv8Dqi/k=";
+  cargoSha256 = "sha256-CTaEWANx3s7YCm8pqGWuvGqR362YtVjmbnc9V3kC8pI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/package-management/cde/default.nix b/nixpkgs/pkgs/tools/package-management/cde/default.nix
index f2c308de5a76..acebe4726755 100644
--- a/nixpkgs/pkgs/tools/package-management/cde/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cde/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://pg.ucsd.edu/cde/manual/";
+    homepage = "https://github.com/usnistgov/corr-CDE";
     description = "A packaging tool for building portable packages";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.rlupton20 ];
diff --git a/nixpkgs/pkgs/tools/package-management/comma/default.nix b/nixpkgs/pkgs/tools/package-management/comma/default.nix
new file mode 100644
index 000000000000..1cd8ac8ccd48
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/comma/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchFromGitHub
+, linkFarm
+, nix-index
+, fzy
+}:
+
+let
+
+  # nix-index takes a little while to run and the contents don't change
+  # meaningfully very often.
+  indexCache = fetchurl {
+    url = "https://github.com/Mic92/nix-index-database/releases/download/2021-12-12/index-x86_64-linux";
+    sha256 = "sha256-+SoG5Qz2KWA/nIWXE6SLpdi8MDqTs8LY90fGZxGKOiA=";
+  };
+
+  # nix-locate needs the --db argument to be a directory containing a file
+  # named "files".
+  nixIndexDB = linkFarm "nix-index-cache" [
+    { name = "files"; path = indexCache; }
+  ];
+
+in stdenv.mkDerivation rec {
+  pname = "comma";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-WBIQmwlkb/GMoOq+Dnyrk8YmgiM/wJnc5HYZP8Uw72E=";
+  };
+
+  postPatch = ''
+    substituteInPlace , \
+      --replace '$PREBUILT_NIX_INDEX_DB' "${nixIndexDB}" \
+      --replace nix-locate "${nix-index}/bin/nix-locate" \
+      --replace fzy "${fzy}/bin/fzy"
+  '';
+
+  installPhase = ''
+    install -Dm755 , -t $out/bin
+    ln -s $out/bin/, $out/bin/comma
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nix-community/comma";
+    description = "Run software without installing it";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Enzime ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
index 85d8c259d677..459f21756bdf 100644
--- a/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.11.2";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ycb5331o/ILz+eUGGipBrjI7/pYnmHUSDRc4UNpJO5s=";
+    sha256 = "sha256-7wEwTw/CMKS9K377oXfGkJoRnAmBLjvZTNZzRMorWEM=";
   };
 
-  vendorSha256 = "sha256-RaAb8QDFp/7TolsNZqcXurozr3vvK0SRyyy2h8MPhnk=";
+  vendorSha256 = "sha256-VzkfqIWkcMwQeGzisw7JBQyTNVz+m7wF6N65MtOFyEc=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix b/nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix
index fbab464afd6b..dfcf11045cb1 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-eval-jobs/default.nix
@@ -11,12 +11,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nix-eval-jobs";
-  version = "0.0.2";
+  version = "0.0.3";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-kZw/nPJqWuBMMnDWsWF3oMY93QYVRem1XTbaxdbQ2oM=";
+    hash = "sha256:0flnqn1vkr55sipii82vwjfkhv4p835d01f6yhlpbalxwy2kr14r";
   };
   buildInputs = [
     boost
diff --git a/nixpkgs/pkgs/tools/package-management/nix-top/default.nix b/nixpkgs/pkgs/tools/package-management/nix-top/default.nix
index eedd4f97db61..523f15bd4662 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-top/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-top/default.nix
@@ -16,13 +16,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "nix-top";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "samueldr";
     repo = "nix-top";
     rev = "v${version}";
-    sha256 = "0560a9g8n4p764r3va1nn95iv4bg71g8h0wws1af2p5g553j4zps";
+    sha256 = "sha256-w/TKzbZmMt4CX2KnLwPvR1ydp5NNlp9nNx78jJvhp54=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/package-management/nix/common.nix b/nixpkgs/pkgs/tools/package-management/nix/common.nix
new file mode 100644
index 000000000000..842ef5de3285
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nix/common.nix
@@ -0,0 +1,212 @@
+{ lib, fetchFromGitHub
+, version
+, suffix ? ""
+, sha256 ? null
+, src ? fetchFromGitHub { owner = "NixOS"; repo = "nix"; rev = version; inherit sha256; }
+, patches ? [ ]
+}:
+assert (sha256 == null) -> (src != null);
+let
+  atLeast24 = lib.versionAtLeast version "2.4pre";
+  atLeast25 = lib.versionAtLeast version "2.5pre";
+  atLeast27 = lib.versionAtLeast version "2.7pre";
+in
+{ stdenv
+, autoconf-archive
+, autoreconfHook
+, bash
+, bison
+, boehmgc
+, boost
+, brotli
+, busybox-sandbox-shell
+, bzip2
+, callPackage
+, coreutils
+, curl
+, editline
+, flex
+, gnutar
+, gtest
+, gzip
+, jq
+, lib
+, libarchive
+, libcpuid
+, libsodium
+, lowdown
+, mdbook
+, nlohmann_json
+, openssl
+, perl
+, pkg-config
+, Security
+, sqlite
+, util-linuxMinimal
+, xz
+
+, enableDocumentation ? !atLeast24 || stdenv.hostPlatform == stdenv.buildPlatform
+, enableStatic ? stdenv.hostPlatform.isStatic
+, withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin), aws-sdk-cpp
+, withLibseccomp ? lib.meta.availableOn stdenv.hostPlatform libseccomp, libseccomp
+
+, confDir
+, stateDir
+, storeDir
+}:
+stdenv.mkDerivation {
+  pname = "nix";
+
+  version = "${version}${suffix}";
+  VERSION_SUFFIX = suffix;
+
+  inherit src patches;
+
+  outputs =
+    [ "out" "dev" ]
+    ++ lib.optionals enableDocumentation [ "man" "doc" ];
+
+  hardeningEnable = lib.optionals (!stdenv.isDarwin) [ "pie" ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ] ++ lib.optionals atLeast24 [
+    autoconf-archive
+    autoreconfHook
+    bison
+    flex
+    jq
+  ] ++ lib.optionals (atLeast24 && enableDocumentation) [
+    (lib.getBin lowdown)
+    mdbook
+  ] ++ lib.optionals stdenv.isLinux [
+    util-linuxMinimal
+  ];
+
+  buildInputs = [
+    boost
+    brotli
+    bzip2
+    curl
+    editline
+    libsodium
+    openssl
+    sqlite
+    xz
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
+  ] ++ lib.optionals atLeast24 [
+    gtest
+    libarchive
+    lowdown
+  ] ++ lib.optionals (atLeast24 && stdenv.isx86_64) [
+    libcpuid
+  ] ++ lib.optional (atLeast27) [
+    nlohmann_json
+  ] ++ lib.optionals withLibseccomp [
+    libseccomp
+  ] ++ lib.optionals withAWS [
+    aws-sdk-cpp
+  ];
+
+  propagatedBuildInputs = [ boehmgc ];
+
+  NIX_LDFLAGS = lib.optionals (!atLeast24) [
+    # https://github.com/NixOS/nix/commit/3e85c57a6cbf46d5f0fe8a89b368a43abd26daba
+    (lib.optionalString enableStatic "-lssl -lbrotlicommon -lssh2 -lz -lnghttp2 -lcrypto")
+    # https://github.com/NixOS/nix/commits/74b4737d8f0e1922ef5314a158271acf81cd79f8
+    (lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux" || stdenv.hostPlatform.system == "armv6l-linux") "-latomic")
+  ];
+
+  preConfigure =
+    # Copy libboost_context so we don't get all of Boost in our closure.
+    # https://github.com/NixOS/nixpkgs/issues/45462
+    lib.optionalString (!enableStatic) ''
+      mkdir -p $out/lib
+      cp -pd ${boost}/lib/{libboost_context*,libboost_thread*,libboost_system*} $out/lib
+      rm -f $out/lib/*.a
+      ${lib.optionalString stdenv.isLinux ''
+        chmod u+w $out/lib/*.so.*
+        patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.*
+      ''}
+    '' +
+    # On all versions before c9f51e87057652db0013289a95deffba495b35e7, which
+    # removes config.nix entirely and is not present in 2.3.x, we need to
+    # patch around an issue where the Nix configure step pulls in the build
+    # system's bash and other utilities when cross-compiling.
+    lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform && !atLeast24) ''
+      mkdir tmp/
+      substitute corepkgs/config.nix.in tmp/config.nix.in \
+        --subst-var-by bash ${bash}/bin/bash \
+        --subst-var-by coreutils ${coreutils}/bin \
+        --subst-var-by bzip2 ${bzip2}/bin/bzip2 \
+        --subst-var-by gzip ${gzip}/bin/gzip \
+        --subst-var-by xz ${xz}/bin/xz \
+        --subst-var-by tar ${gnutar}/bin/tar \
+        --subst-var-by tr ${coreutils}/bin/tr
+      mv tmp/config.nix.in corepkgs/config.nix.in
+    '';
+
+  configureFlags = [
+    "--with-store-dir=${storeDir}"
+    "--localstatedir=${stateDir}"
+    "--sysconfdir=${confDir}"
+    "--enable-gc"
+  ] ++ lib.optionals (!enableDocumentation) [
+    "--disable-doc-gen"
+  ] ++ lib.optionals (!atLeast24) [
+    # option was removed in 2.4
+    "--disable-init-state"
+  ] ++ lib.optionals stdenv.isLinux [
+    "--with-sandbox-shell=${busybox-sandbox-shell}/bin/busybox"
+  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform ? nix && stdenv.hostPlatform.nix ? system) [
+    "--with-system=${stdenv.hostPlatform.nix.system}"
+  ] ++ lib.optionals (!withLibseccomp) [
+    # RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50
+    "--disable-seccomp-sandboxing"
+  ];
+
+  makeFlags = [
+    "profiledir=$(out)/etc/profile.d"
+  ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "PRECOMPILE_HEADERS=0"
+    ++ lib.optional (stdenv.hostPlatform.isDarwin) "PRECOMPILE_HEADERS=1";
+
+  installFlags = [ "sysconfdir=$(out)/etc" ];
+
+  doInstallCheck = true;
+
+  # socket path becomes too long otherwise
+  preInstallCheck = lib.optionalString stdenv.isDarwin ''
+    export TMPDIR=$NIX_BUILD_TOP
+  ''
+  # See https://github.com/NixOS/nix/issues/5687
+  + lib.optionalString (atLeast25 && stdenv.isDarwin) ''
+    echo "exit 99" > tests/gc-non-blocking.sh
+  '';
+
+  separateDebugInfo = stdenv.isLinux && (atLeast24 -> !enableStatic);
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Powerful package manager that makes package management reliable and reproducible";
+    longDescription = ''
+      Nix is a powerful package manager for Linux and other Unix systems that
+      makes package management reliable and reproducible. It provides atomic
+      upgrades and rollbacks, side-by-side installation of multiple versions of
+      a package, multi-user package management and easy setup of build
+      environments.
+    '';
+    homepage = "https://nixos.org/";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ eelco lovesegfault ];
+    platforms = platforms.unix;
+    outputsToInstall = [ "out" ] ++ optional enableDocumentation "man";
+  };
+
+  passthru = {
+    inherit boehmgc;
+
+    perl-bindings = perl.pkgs.toPerlModule (callPackage ./nix-perl.nix { inherit src version;  });
+  };
+}
diff --git a/nixpkgs/pkgs/tools/package-management/nix/default.nix b/nixpkgs/pkgs/tools/package-management/nix/default.nix
index 146b9311fca6..f7bb530480cc 100644
--- a/nixpkgs/pkgs/tools/package-management/nix/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix/default.nix
@@ -1,303 +1,77 @@
-{ lib, fetchurl, fetchFromGitHub, fetchpatch, callPackage
+{ lib
+, aws-sdk-cpp
+, boehmgc
+, callPackage
+, fetchFromGitHub
+, fetchurl
+, fetchpatch
+, Security
+
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
 , confDir ? "/etc"
-, boehmgc
-, Security
 }:
-
 let
+  boehmgc-nix_2_3 = boehmgc.override { enableLargeConfig = true; };
 
-common =
-  { lib, stdenv, perl, curl, bzip2, sqlite, openssl ? null, xz
-  , bash, coreutils, util-linuxMinimal, gzip, gnutar
-  , pkg-config, boehmgc, libsodium, brotli, boost, editline, nlohmann_json
-  , autoreconfHook, autoconf-archive, bison, flex
-  , jq, libarchive, libcpuid
-  , lowdown, mdbook
-  # Used by tests
-  , gtest
-  , busybox-sandbox-shell
-  , storeDir
-  , stateDir
-  , confDir
-  , withLibseccomp ? lib.meta.availableOn stdenv.hostPlatform libseccomp, libseccomp
-  , withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin), aws-sdk-cpp
-  , enableStatic ? stdenv.hostPlatform.isStatic
-  , enableDocumentation ? lib.versionOlder version "2.4pre" ||
-                          stdenv.hostPlatform == stdenv.buildPlatform
-  , pname, version, suffix ? "", src
-  , patches ? [ ]
-  }:
-  let
-     sh = busybox-sandbox-shell;
-
-    is24 = lib.versionAtLeast version "2.4pre";
-    is25 = lib.versionAtLeast version "2.5pre";
-
-    nix = stdenv.mkDerivation {
-      inherit pname version src patches;
-
-      VERSION_SUFFIX = suffix;
-
-      outputs =
-        [ "out" "dev" ]
-        ++ lib.optionals enableDocumentation [ "man" "doc" ];
-
-      hardeningEnable = [ "pie" ];
-
-      nativeBuildInputs =
-        [ pkg-config ]
-        ++ lib.optionals stdenv.isLinux [ util-linuxMinimal ]
-        ++ lib.optionals (is24 && enableDocumentation) [
-          (lib.getBin lowdown) mdbook
-        ]
-        ++ lib.optionals is24
-          [ autoreconfHook
-            autoconf-archive
-            bison flex
-            jq
-           ];
-
-      buildInputs =
-        [ curl libsodium openssl sqlite xz bzip2
-          brotli boost editline
-        ]
-        ++ lib.optionals stdenv.isDarwin [ Security ]
-        ++ lib.optionals is24 [ libarchive gtest lowdown ]
-        ++ lib.optional (is24 && stdenv.isx86_64) libcpuid
-        ++ lib.optional withLibseccomp libseccomp
-        ++ lib.optional withAWS
-            ((aws-sdk-cpp.override {
-              apis = ["s3" "transfer"];
-              customMemoryManagement = false;
-            }).overrideDerivation (args: {
-              patches = args.patches or [] ++ [
-                ./aws-sdk-cpp-TransferManager-ContentEncoding.patch
-              ];
-            }));
-
-      propagatedBuildInputs = [ boehmgc ];
-
-      NIX_LDFLAGS = lib.optionals (!is24) [
-        # https://github.com/NixOS/nix/commit/3e85c57a6cbf46d5f0fe8a89b368a43abd26daba
-        (lib.optionalString enableStatic "-lssl -lbrotlicommon -lssh2 -lz -lnghttp2 -lcrypto")
-        # https://github.com/NixOS/nix/commits/74b4737d8f0e1922ef5314a158271acf81cd79f8
-        (lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux" || stdenv.hostPlatform.system == "armv6l-linux") "-latomic")
-      ];
-
-      preConfigure =
-        # Copy libboost_context so we don't get all of Boost in our closure.
-        # https://github.com/NixOS/nixpkgs/issues/45462
-        lib.optionalString (!enableStatic) ''
-          mkdir -p $out/lib
-          cp -pd ${boost}/lib/{libboost_context*,libboost_thread*,libboost_system*} $out/lib
-          rm -f $out/lib/*.a
-          ${lib.optionalString stdenv.isLinux ''
-            chmod u+w $out/lib/*.so.*
-            patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.*
-          ''}
-        '' +
-        # On all versions before c9f51e87057652db0013289a95deffba495b35e7, which
-        # removes config.nix entirely and is not present in 2.3.x, we need to
-        # patch around an issue where the Nix configure step pulls in the build
-        # system's bash and other utilities when cross-compiling.
-        lib.optionalString (
-          stdenv.buildPlatform != stdenv.hostPlatform && !is24
-        ) ''
-          mkdir tmp/
-          substitute corepkgs/config.nix.in tmp/config.nix.in \
-            --subst-var-by bash ${bash}/bin/bash \
-            --subst-var-by coreutils ${coreutils}/bin \
-            --subst-var-by bzip2 ${bzip2}/bin/bzip2 \
-            --subst-var-by gzip ${gzip}/bin/gzip \
-            --subst-var-by xz ${xz}/bin/xz \
-            --subst-var-by tar ${gnutar}/bin/tar \
-            --subst-var-by tr ${coreutils}/bin/tr
-          mv tmp/config.nix.in corepkgs/config.nix.in
-          '';
-
-      configureFlags =
-        [ "--with-store-dir=${storeDir}"
-          "--localstatedir=${stateDir}"
-          "--sysconfdir=${confDir}"
-          "--enable-gc"
-        ]
-        ++ lib.optional (!enableDocumentation) "--disable-doc-gen"
-        ++ lib.optionals (!is24) [
-          # option was removed in 2.4
-          "--disable-init-state"
-        ]
-        ++ lib.optionals stdenv.isLinux [
-          "--with-sandbox-shell=${sh}/bin/busybox"
-        ]
-        ++ lib.optional (
-            stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform ? nix && stdenv.hostPlatform.nix ? system
-        ) "--with-system=${stdenv.hostPlatform.nix.system}"
-           # RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50
-        ++ lib.optional (!withLibseccomp) "--disable-seccomp-sandboxing";
-
-      makeFlags = [ "profiledir=$(out)/etc/profile.d" ]
-        ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "PRECOMPILE_HEADERS=0";
-
-      installFlags = [ "sysconfdir=$(out)/etc" ];
-
-      doInstallCheck = true; # not cross
-
-      # socket path becomes too long otherwise
-      preInstallCheck = lib.optionalString stdenv.isDarwin ''
-        export TMPDIR=$NIX_BUILD_TOP
-      ''
-      # See https://github.com/NixOS/nix/issues/5687
-      + lib.optionalString (is25 && stdenv.isDarwin) ''
-        echo "exit 99" > tests/gc-non-blocking.sh
-      '';
-
-      separateDebugInfo = stdenv.isLinux && (is24 -> !enableStatic);
-
-      enableParallelBuilding = true;
-
-      meta = with lib; {
-        description = "Powerful package manager that makes package management reliable and reproducible";
-        longDescription = ''
-          Nix is a powerful package manager for Linux and other Unix systems that
-          makes package management reliable and reproducible. It provides atomic
-          upgrades and rollbacks, side-by-side installation of multiple versions of
-          a package, multi-user package management and easy setup of build
-          environments.
-        '';
-        homepage = "https://nixos.org/";
-        license = licenses.lgpl2Plus;
-        maintainers = with maintainers; [ eelco lovesegfault ];
-        platforms = platforms.unix;
-        outputsToInstall = [ "out" ] ++ optional enableDocumentation "man";
-      };
-
-      passthru = {
-        is24 = lib.warn ''nix package: attribute .is24 is deprecated. Please use lib.versionAtLeast X.version "2.4pre".'' is24;
-        is25 = lib.warn ''nix package: attribute .is25 is deprecated. Please use lib.versionAtLeast X.version "2.5pre".'' is25;
-
-        perl-bindings = perl.pkgs.toPerlModule (stdenv.mkDerivation {
-          pname = "nix-perl";
-          inherit version;
-
-          inherit src;
-
-          postUnpack = "sourceRoot=$sourceRoot/perl";
-
-          # This is not cross-compile safe, don't have time to fix right now
-          # but noting for future travellers.
-          nativeBuildInputs =
-            [ perl pkg-config curl nix libsodium boost autoreconfHook autoconf-archive nlohmann_json ];
-
-          configureFlags =
-            [ "--with-dbi=${perl.pkgs.DBI}/${perl.libPrefix}"
-              "--with-dbd-sqlite=${perl.pkgs.DBDSQLite}/${perl.libPrefix}"
-            ];
-
-          preConfigure = "export NIX_STATE_DIR=$TMPDIR";
-
-          preBuild = "unset NIX_INDENT_MAKE";
-        });
-        inherit boehmgc;
-      };
-    };
-  in nix;
-
-  boehmgc_nix_2_3 = boehmgc.override {
-    enableLargeConfig = true;
-  };
-
-  boehmgc_nix = boehmgc_nix_2_3.overrideAttrs (drv: {
-    patches = (drv.patches or []) ++ [
-      # Part of the GC solution in https://github.com/NixOS/nix/pull/4944
-      (fetchpatch {
-        url = "https://github.com/hercules-ci/nix/raw/5c58d84a76d96f269e3ff1e72c9c9ba5f68576af/boehmgc-coroutine-sp-fallback.diff";
-        sha256 = "sha256-JvnWVTlkltmQUs/0qApv/LPZ690UX1/2hEP+LYRwKbI=";
-      })
-    ];
+  boehmgc-nix = boehmgc-nix_2_3.overrideAttrs (drv: {
+    # Part of the GC solution in https://github.com/NixOS/nix/pull/4944
+    patches = (drv.patches or [ ]) ++ [ ./patches/boehmgc-coroutine-sp-fallback.patch ];
   });
 
-  # master: https://github.com/NixOS/nix/pull/5536
-  # 2.4: https://github.com/NixOS/nix/pull/5537
-  installNlohmannJsonPatch = fetchpatch {
-    url = "https://github.com/NixOS/nix/pull/5536.diff";
-    sha256 = "sha256-SPnam4xNIjbMgnq6IP1AaM1V62X0yZNo4DEVmI8sHOo=";
-  };
-
-in rec {
-
-  nix = nixStable;
-
-  nixStable = nix_2_5;
+  aws-sdk-cpp-nix = (aws-sdk-cpp.override {
+    apis = [ "s3" "transfer" ];
+    customMemoryManagement = false;
+  }).overrideDerivation (args: {
+    patches = (args.patches or [ ]) ++ [ ./patches/aws-sdk-cpp-TransferManager-ContentEncoding.patch ];
+  });
 
-  nix_2_3 = callPackage common (rec {
-    pname = "nix";
+  common = args:
+    callPackage
+      (import ./common.nix ({ inherit lib fetchFromGitHub; } // args))
+      {
+        inherit Security storeDir stateDir confDir;
+        boehmgc = boehmgc-nix;
+        aws-sdk-cpp = aws-sdk-cpp-nix;
+      };
+in lib.makeExtensible (self: {
+  nix_2_3 = (common rec {
     version = "2.3.16";
     src = fetchurl {
-      url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz";
+      url = "https://nixos.org/releases/nix/nix-${version}/nix-${version}.tar.xz";
       sha256 = "sha256-fuaBtp8FtSVJLSAsO+3Nne4ZYLuBj2JpD2xEk7fCqrw=";
     };
+  }).override { boehmgc = boehmgc-nix_2_3; };
 
-    boehmgc = boehmgc_nix_2_3;
-
-    inherit storeDir stateDir confDir;
-  });
-
-  nix_2_4 = callPackage common (rec {
-    pname = "nix";
+  nix_2_4 = common {
     version = "2.4";
+    sha256 = "sha256-op48CCDgLHK0qV1Batz4Ln5FqBiRjlE6qHTiZgt3b6k=";
+    # https://github.com/NixOS/nix/pull/5537
+    patches = [ ./patches/install-nlohmann_json-headers.patch ];
+  };
 
-    src = fetchFromGitHub {
-      owner = "NixOS";
-      repo = "nix";
-      rev = version;
-      sha256 = "sha256-op48CCDgLHK0qV1Batz4Ln5FqBiRjlE6qHTiZgt3b6k=";
-    };
-
-    boehmgc = boehmgc_nix;
-
-    patches = [ installNlohmannJsonPatch ];
-
-    inherit storeDir stateDir confDir;
-  });
-
-  nix_2_5 = callPackage common (rec {
-    pname = "nix";
+  nix_2_5 = common {
     version = "2.5.1";
+    sha256 = "sha256-GOsiqy9EaTwDn2PLZ4eFj1VkXcBUbqrqHehRE9GuGdU=";
+    # https://github.com/NixOS/nix/pull/5536
+    patches = [ ./patches/install-nlohmann_json-headers.patch ];
+  };
 
-    src = fetchFromGitHub {
-      owner = "NixOS";
-      repo = "nix";
-      rev = version;
-      sha256 = "sha256-GOsiqy9EaTwDn2PLZ4eFj1VkXcBUbqrqHehRE9GuGdU=";
-    };
-
-    boehmgc = boehmgc_nix;
-
-    patches = [ installNlohmannJsonPatch ];
-
-    inherit storeDir stateDir confDir;
-  });
+  nix_2_6 = common {
+    version = "2.6.1";
+    sha256 = "sha256-E9iQ7f+9Z6xFcUvvfksTEfn8LsDfzmwrcRBC//5B3V0=";
+  };
 
-  nixUnstable = lib.lowPrio (callPackage common rec {
-    pname = "nix";
-    version = "2.6${suffix}";
-    suffix = "pre20211217_${lib.substring 0 7 src.rev}";
+  stable = self.nix_2_6;
 
+  unstable = lib.lowPrio (common rec {
+    version = "2.7";
+    suffix = "pre20220127_${lib.substring 0 7 src.rev}";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "6e6e998930f0d7361d64644eb37d9134e74e8501";
-      sha256 = "sha256-RZSWOJUPkXIlMNYMC5a+WNrOjpqAHyhzyqD57BGfNY8=";
+      rev = "558c4ee3e370c9f9a6ea293df54ed6914a999f1c";
+      sha256 = "sha256-hMzKQflpgf3P7OdYKSnD1VMBSnF48XSRjaNX3bUJct4=";
     };
-
-    boehmgc = boehmgc_nix;
-
-    patches = [ installNlohmannJsonPatch ];
-
-    inherit storeDir stateDir confDir;
-
   });
-
-}
+})
diff --git a/nixpkgs/pkgs/tools/package-management/nix/nix-perl.nix b/nixpkgs/pkgs/tools/package-management/nix/nix-perl.nix
new file mode 100644
index 000000000000..069a22d3a853
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nix/nix-perl.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, perl
+, pkg-config
+, curl
+, nix
+, libsodium
+, boost
+, autoreconfHook
+, autoconf-archive
+, nlohmann_json
+
+, version
+, src
+}:
+
+stdenv.mkDerivation {
+  pname = "nix-perl";
+  inherit version src;
+
+  postUnpack = "sourceRoot=$sourceRoot/perl";
+
+  # This is not cross-compile safe, don't have time to fix right now
+  # but noting for future travellers.
+  nativeBuildInputs = [
+    autoconf-archive
+    autoreconfHook
+    boost
+    curl
+    libsodium
+    nix
+    nlohmann_json
+    perl
+    pkg-config
+  ];
+
+  configureFlags = [
+    "--with-dbi=${perl.pkgs.DBI}/${perl.libPrefix}"
+    "--with-dbd-sqlite=${perl.pkgs.DBDSQLite}/${perl.libPrefix}"
+  ];
+
+  preConfigure = "export NIX_STATE_DIR=$TMPDIR";
+
+  preBuild = "unset NIX_INDENT_MAKE";
+}
diff --git a/nixpkgs/pkgs/tools/package-management/nix/aws-sdk-cpp-TransferManager-ContentEncoding.patch b/nixpkgs/pkgs/tools/package-management/nix/patches/aws-sdk-cpp-TransferManager-ContentEncoding.patch
index 59cc305a60bc..59cc305a60bc 100644
--- a/nixpkgs/pkgs/tools/package-management/nix/aws-sdk-cpp-TransferManager-ContentEncoding.patch
+++ b/nixpkgs/pkgs/tools/package-management/nix/patches/aws-sdk-cpp-TransferManager-ContentEncoding.patch
diff --git a/nixpkgs/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch b/nixpkgs/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch
new file mode 100644
index 000000000000..e659bf470d39
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch
@@ -0,0 +1,45 @@
+diff --git a/pthread_stop_world.c b/pthread_stop_world.c
+index 4b2c429..1fb4c52 100644
+--- a/pthread_stop_world.c
++++ b/pthread_stop_world.c
+@@ -673,6 +673,8 @@ GC_INNER void GC_push_all_stacks(void)
+     struct GC_traced_stack_sect_s *traced_stack_sect;
+     pthread_t self = pthread_self();
+     word total_size = 0;
++    size_t stack_limit;
++    pthread_attr_t pattr;
+ 
+     if (!EXPECT(GC_thr_initialized, TRUE))
+       GC_thr_init();
+@@ -722,6 +724,31 @@ GC_INNER void GC_push_all_stacks(void)
+           hi = p->altstack + p->altstack_size;
+           /* FIXME: Need to scan the normal stack too, but how ? */
+           /* FIXME: Assume stack grows down */
++        } else {
++          if (pthread_getattr_np(p->id, &pattr)) {
++            ABORT("GC_push_all_stacks: pthread_getattr_np failed!");
++          }
++          if (pthread_attr_getstacksize(&pattr, &stack_limit)) {
++            ABORT("GC_push_all_stacks: pthread_attr_getstacksize failed!");
++          }
++          if (pthread_attr_destroy(&pattr)) {
++            ABORT("GC_push_all_stacks: pthread_attr_destroy failed!");
++          }
++          // When a thread goes into a coroutine, we lose its original sp until
++          // control flow returns to the thread.
++          // While in the coroutine, the sp points outside the thread stack,
++          // so we can detect this and push the entire thread stack instead,
++          // as an approximation.
++          // We assume that the coroutine has similarly added its entire stack.
++          // This could be made accurate by cooperating with the application
++          // via new functions and/or callbacks.
++          #ifndef STACK_GROWS_UP
++            if (lo >= hi || lo < hi - stack_limit) { // sp outside stack
++              lo = hi - stack_limit;
++            }
++          #else
++          #error "STACK_GROWS_UP not supported in boost_coroutine2 (as of june 2021), so we don't support it in Nix."
++          #endif
+         }
+         GC_push_all_stack_sections(lo, hi, traced_stack_sect);
+ #       ifdef STACK_GROWS_UP
diff --git a/nixpkgs/pkgs/tools/package-management/nix/patches/install-nlohmann_json-headers.patch b/nixpkgs/pkgs/tools/package-management/nix/patches/install-nlohmann_json-headers.patch
new file mode 100644
index 000000000000..8b92de229032
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nix/patches/install-nlohmann_json-headers.patch
@@ -0,0 +1,36 @@
+From 3884f7a69a57d8ecfcbcaae476ec2ff53ffbd549 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 11 Nov 2021 11:03:21 +0100
+Subject: [PATCH] Install nlohmann_json headers
+
+These headers are included by the libexpr, libfetchers, libstore
+and libutil headers.
+Considering that these are vendored sources, Nix should expose them,
+as it is not a good idea for reverse dependencies to rely on a
+potentially different source that can go out of sync.
+---
+ Makefile              | 1 +
+ src/nlohmann/local.mk | 2 ++
+ 2 files changed, 3 insertions(+)
+ create mode 100644 src/nlohmann/local.mk
+
+diff --git a/Makefile b/Makefile
+index 5040d288485..e6ce50cbdb7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,6 +10,7 @@ makefiles = \
+   src/libexpr/local.mk \
+   src/libcmd/local.mk \
+   src/nix/local.mk \
++  src/nlohmann/local.mk \
+   src/resolve-system-dependencies/local.mk \
+   scripts/local.mk \
+   misc/bash/local.mk \
+diff --git a/src/nlohmann/local.mk b/src/nlohmann/local.mk
+new file mode 100644
+index 00000000000..63c427e000e
+--- /dev/null
++++ b/src/nlohmann/local.mk
+@@ -0,0 +1,2 @@
++$(foreach i, $(wildcard src/nlohmann/*.hpp), \
++  $(eval $(call install-file-in, $(i), $(includedir)/nlohmann, 0644)))
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix
deleted file mode 100644
index 462c9e615a13..000000000000
--- a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
-, python
-, azure-mgmt-common
-}:
-
-buildPythonPackage rec {
-  version = "0.20.1";
-  pname = "azure-mgmt-compute";
-
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "97298fc7f133f1d50a974ed6299151eda494a574b0f7fdf8192a388015c2215a";
-  };
-
-  preConfigure = ''
-    # Patch to make this package work on requests >= 2.11.x
-    # CAN BE REMOVED ON NEXT PACKAGE UPDATE
-    sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/compute/computemanagement.py
-  '';
-
-  postInstall = ''
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py
-  '';
-
-  propagatedBuildInputs = [ azure-mgmt-common ];
-
-  meta = with pkgs.lib; {
-    description = "Microsoft Azure SDK for Python";
-    homepage = "https://azure.microsoft.com/en-us/develop/python/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ olcai ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix
deleted file mode 100644
index fd47f8895fd4..000000000000
--- a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
-, azure-mgmt-common
-, python
-}:
-
-buildPythonPackage rec {
-  version = "0.20.1";
-  pname = "azure-mgmt-network";
-
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "10vj22h6nxpw0qpvib5x2g6qs5j8z31142icvh4qk8k40fcrs9hx";
-  };
-
-  preConfigure = ''
-    # Patch to make this package work on requests >= 2.11.x
-    # CAN BE REMOVED ON NEXT PACKAGE UPDATE
-    sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/network/networkresourceprovider.py
-  '';
-
-  postInstall = ''
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py
-  '';
-
-  propagatedBuildInputs = [ azure-mgmt-common ];
-
-  meta = with pkgs.lib; {
-    description = "Microsoft Azure SDK for Python";
-    homepage = "https://azure.microsoft.com/en-us/develop/python/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ olcai ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix
deleted file mode 100644
index aa037b48b4f5..000000000000
--- a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
-, azure-nspkg
-}:
-
-buildPythonPackage rec {
-  version = "1.0.0";
-  pname = "azure-mgmt-nspkg";
-
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "1rq92fj3kvnqkk18596dybw0kvhgscvc6cd8hp1dhy3wrkqnhwmq";
-  };
-
-  propagatedBuildInputs = [ azure-nspkg ];
-
-  meta = with pkgs.lib; {
-    description = "Microsoft Azure SDK for Python";
-    homepage = "https://azure.microsoft.com/en-us/develop/python/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ olcai ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix
deleted file mode 100644
index b60e3aee3402..000000000000
--- a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
-, python
-, azure-mgmt-common
-}:
-
-
-buildPythonPackage rec {
-  version = "0.20.1";
-  pname = "azure-mgmt-resource";
-
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "0slh9qfm5nfacrdm3lid0sr8kwqzgxvrwf27laf9v38kylkfqvml";
-  };
-
-  preConfigure = ''
-    # Patch to make this package work on requests >= 2.11.x
-    # CAN BE REMOVED ON NEXT PACKAGE UPDATE
-    sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/resource/resourcemanagement.py
-  '';
-
-  postInstall = ''
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py
-  '';
-
-  propagatedBuildInputs = [ azure-mgmt-common ];
-
-  meta = with pkgs.lib; {
-    description = "Microsoft Azure SDK for Python";
-    homepage = "https://azure.microsoft.com/en-us/develop/python/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ olcai ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix
deleted file mode 100644
index 2e0523bb25cc..000000000000
--- a/nixpkgs/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
-, python
-, azure-mgmt-common
-}:
-
-buildPythonPackage rec {
-  version = "0.20.0";
-  pname = "azure-mgmt-storage";
-
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "16iw7hqhq97vlzfwixarfnirc60l5mz951p57brpcwyylphl3yim";
-  };
-
-  preConfigure = ''
-    # Patch to make this package work on requests >= 2.11.x
-    # CAN BE REMOVED ON NEXT PACKAGE UPDATE
-    sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/storage/storagemanagement.py
-  '';
-
-  postInstall = ''
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py
-  '';
-
-  propagatedBuildInputs = [ azure-mgmt-common ];
-
-  meta = with pkgs.lib; {
-    description = "Microsoft Azure SDK for Python";
-    homepage = "https://azure.microsoft.com/en-us/develop/python/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ olcai ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix
deleted file mode 100644
index c6f3d71e98ea..000000000000
--- a/nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
-, python
-, azure-common
-, futures
-, python-dateutil
-, requests
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  version = "0.20.3";
-  pname = "azure-storage";
-
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "06bmw6k2000kln5jwk5r9bgcalqbyvqirmdh9gq4s6nb4fv3c0jb";
-  };
-
-  propagatedBuildInputs = [ azure-common python-dateutil requests ]
-                            ++ pkgs.lib.optionals (!isPy3k) [ futures ];
-
-  postInstall = ''
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
-  '';
-
-  meta = with pkgs.lib; {
-    description = "Microsoft Azure SDK for Python";
-    homepage = "https://azure.microsoft.com/en-us/develop/python/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ olcai ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/default.nix
index 5b4729e2abd7..2ec98b82c690 100644
--- a/nixpkgs/pkgs/tools/package-management/nixops/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixops/default.nix
@@ -1,8 +1,15 @@
-{ lib, python2Packages, libxslt, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
+{ lib, python2, poetry2nix, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
 , fetchurl, fetchpatch
 }:
 
-python2Packages.buildPythonApplication rec {
+let
+  inherit (poetry2nix.mkPoetryPackages {
+    projectDir = ./python-env;
+    python = python2;
+  }) python;
+  pythonPackages = python.pkgs;
+
+in pythonPackages.buildPythonApplication rec {
   pname = "nixops";
   version = "1.7";
 
@@ -19,23 +26,22 @@ python2Packages.buildPythonApplication rec {
     ./optional-virtd.patch
   ];
 
-  buildInputs = [ libxslt ];
+  buildInputs = [ pythonPackages.libxslt ];
 
-  pythonPath = with python2Packages;
+  pythonPath = (with pythonPackages;
     [ prettytable
       boto
       boto3
       hetzner
-      libcloud
+      apache-libcloud
       adal
       # Go back to sqlite once Python 2.7.13 is released
       pysqlite
       datadog
-      digital-ocean
-      typing
+      python-digitalocean
       ]
       ++ lib.optional (!libvirt.passthru.libvirt.meta.insecure or true) libvirt
-      ++ nixopsAzurePackages;
+      ++ nixopsAzurePackages);
 
   checkPhase =
   # Ensure, that there are no (python) import errors
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/python-env/poetry.lock b/nixpkgs/pkgs/tools/package-management/nixops/python-env/poetry.lock
new file mode 100644
index 000000000000..7cc195c95f57
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nixops/python-env/poetry.lock
@@ -0,0 +1,644 @@
+[[package]]
+name = "adal"
+version = "1.2.7"
+description = "Note: This library is already replaced by MSAL Python, available here: https://pypi.org/project/msal/ .ADAL Python remains available here as a legacy. The ADAL for Python library makes it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+cryptography = ">=1.1.0"
+PyJWT = ">=1.0.0,<3"
+python-dateutil = ">=2.1.0,<3"
+requests = ">=2.0.0,<3"
+
+[[package]]
+name = "apache-libcloud"
+version = "2.8.3"
+description = "A standard Python library that abstracts away differences among multiple cloud provider APIs. For more information and documentation, please see http://libcloud.apache.org"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
+
+[package.dependencies]
+"backports.ssl-match-hostname" = {version = "*", markers = "python_version < \"2.7.9\""}
+enum34 = {version = "*", markers = "python_version < \"3.4.0\""}
+requests = ">=2.5.0"
+typing = {version = "*", markers = "python_version < \"3.4.0\""}
+
+[[package]]
+name = "backports.functools-lru-cache"
+version = "1.6.4"
+description = "Backport of functools.lru_cache"
+category = "main"
+optional = false
+python-versions = ">=2.6"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-checkdocs (>=2.4)"]
+
+[[package]]
+name = "backports.ssl-match-hostname"
+version = "3.7.0.1"
+description = "The ssl.match_hostname() function from Python 3.5"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "boto"
+version = "2.49.0"
+description = "Amazon Web Services Library"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "boto3"
+version = "1.17.112"
+description = "The AWS SDK for Python"
+category = "main"
+optional = false
+python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+botocore = ">=1.20.112,<1.21.0"
+jmespath = ">=0.7.1,<1.0.0"
+s3transfer = ">=0.4.0,<0.5.0"
+
+[[package]]
+name = "botocore"
+version = "1.20.112"
+description = "Low-level, data-driven core of boto 3."
+category = "main"
+optional = false
+python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+jmespath = ">=0.7.1,<1.0.0"
+python-dateutil = ">=2.1,<3.0.0"
+urllib3 = ">=1.25.4,<1.27"
+
+[package.extras]
+crt = ["awscrt (==0.11.24)"]
+
+[[package]]
+name = "certifi"
+version = "2021.10.8"
+description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "cffi"
+version = "1.15.0"
+description = "Foreign Function Interface for Python calling C code."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+pycparser = "*"
+
+[[package]]
+name = "chardet"
+version = "4.0.0"
+description = "Universal encoding detector for Python 2 and 3"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "configparser"
+version = "4.0.2"
+description = "Updated configparser from Python 3.7 for Python 2.6+."
+category = "main"
+optional = false
+python-versions = ">=2.6"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2)", "pytest-flake8", "pytest-black-multipy"]
+
+[[package]]
+name = "contextlib2"
+version = "0.6.0.post1"
+description = "Backports and enhancements for the contextlib module"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "cryptography"
+version = "3.3.2"
+description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+category = "main"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
+
+[package.dependencies]
+cffi = ">=1.12"
+enum34 = {version = "*", markers = "python_version < \"3\""}
+ipaddress = {version = "*", markers = "python_version < \"3\""}
+six = ">=1.4.1"
+
+[package.extras]
+docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
+docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
+pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
+ssh = ["bcrypt (>=3.1.5)"]
+test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
+
+[[package]]
+name = "datadog"
+version = "0.42.0"
+description = "The Datadog Python library"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+configparser = {version = "<5", markers = "python_version < \"3.0\""}
+requests = ">=2.6.0"
+typing = {version = "*", markers = "python_version < \"3.5\""}
+
+[[package]]
+name = "enum34"
+version = "1.1.10"
+description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "futures"
+version = "3.3.0"
+description = "Backport of the concurrent.futures package from Python 3"
+category = "main"
+optional = false
+python-versions = ">=2.6, <3"
+
+[[package]]
+name = "hetzner"
+version = "0.8.3"
+description = "High level access to the Hetzner robot"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "idna"
+version = "2.10"
+description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "importlib-metadata"
+version = "2.1.2"
+description = "Read metadata from Python packages"
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+
+[package.dependencies]
+configparser = {version = ">=3.5", markers = "python_version < \"3\""}
+contextlib2 = {version = "*", markers = "python_version < \"3\""}
+pathlib2 = {version = "*", markers = "python_version < \"3\""}
+zipp = ">=0.5"
+
+[package.extras]
+docs = ["sphinx", "rst.linker"]
+testing = ["packaging", "pep517", "unittest2", "importlib-resources (>=1.3)"]
+
+[[package]]
+name = "ipaddress"
+version = "1.0.23"
+description = "IPv4/IPv6 manipulation library"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "jmespath"
+version = "0.10.0"
+description = "JSON Matching Expressions"
+category = "main"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "jsonpickle"
+version = "2.0.0"
+description = "Python library for serializing any arbitrary object graph into JSON"
+category = "main"
+optional = false
+python-versions = ">=2.7"
+
+[package.dependencies]
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["coverage (<5)", "pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-black-multipy", "pytest-cov", "ecdsa", "feedparser", "numpy", "pandas", "pymongo", "sklearn", "sqlalchemy", "enum34", "jsonlib"]
+"testing.libs" = ["demjson", "simplejson", "ujson", "yajl"]
+
+[[package]]
+name = "pathlib2"
+version = "2.3.6"
+description = "Object-oriented filesystem paths"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+scandir = {version = "*", markers = "python_version < \"3.5\""}
+six = "*"
+
+[[package]]
+name = "prettytable"
+version = "1.0.1"
+description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[package.dependencies]
+wcwidth = "*"
+
+[package.extras]
+tests = ["pytest", "pytest-cov"]
+
+[[package]]
+name = "pycparser"
+version = "2.21"
+description = "C parser in Python"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "pyjwt"
+version = "1.7.1"
+description = "JSON Web Token implementation in Python"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.extras]
+crypto = ["cryptography (>=1.4)"]
+flake8 = ["flake8", "flake8-import-order", "pep8-naming"]
+test = ["pytest (>=4.0.1,<5.0.0)", "pytest-cov (>=2.6.0,<3.0.0)", "pytest-runner (>=4.2,<5.0.0)"]
+
+[[package]]
+name = "pysqlite"
+version = "2.8.3"
+description = "DB-API 2.0 interface for SQLite 3.x"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "python-dateutil"
+version = "2.8.2"
+description = "Extensions to the standard Python datetime module"
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
+
+[package.dependencies]
+six = ">=1.5"
+
+[[package]]
+name = "python-digitalocean"
+version = "1.17.0"
+description = "digitalocean.com API to manage Droplets and Images"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+jsonpickle = "*"
+requests = "*"
+
+[[package]]
+name = "requests"
+version = "2.27.1"
+description = "Python HTTP for Humans."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+certifi = ">=2017.4.17"
+chardet = {version = ">=3.0.2,<5", markers = "python_version < \"3\""}
+idna = {version = ">=2.5,<3", markers = "python_version < \"3\""}
+urllib3 = ">=1.21.1,<1.27"
+
+[package.extras]
+socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
+use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
+
+[[package]]
+name = "s3transfer"
+version = "0.4.2"
+description = "An Amazon S3 Transfer Manager"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+botocore = ">=1.12.36,<2.0a.0"
+futures = {version = ">=2.2.0,<4.0.0", markers = "python_version == \"2.7\""}
+
+[package.extras]
+crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
+
+[[package]]
+name = "scandir"
+version = "1.10.0"
+description = "scandir, a better directory iterator and faster os.walk()"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "six"
+version = "1.16.0"
+description = "Python 2 and 3 compatibility utilities"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "typing"
+version = "3.10.0.0"
+description = "Type Hints for Python"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <3.5"
+
+[[package]]
+name = "urllib3"
+version = "1.26.8"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
+
+[package.extras]
+brotli = ["brotlipy (>=0.6.0)"]
+secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
+
+[[package]]
+name = "wcwidth"
+version = "0.2.5"
+description = "Measures the displayed width of unicode strings in a terminal"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+"backports.functools-lru-cache" = {version = ">=1.2.1", markers = "python_version < \"3.2\""}
+
+[[package]]
+name = "zipp"
+version = "1.2.0"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
+optional = false
+python-versions = ">=2.7"
+
+[package.dependencies]
+contextlib2 = {version = "*", markers = "python_version < \"3.4\""}
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^2.7"
+content-hash = "4d572971089aafa023518c48b1048ea91ffb2d35c9737d0f43bf1b0395ae2769"
+
+[metadata.files]
+adal = [
+    {file = "adal-1.2.7-py2.py3-none-any.whl", hash = "sha256:2a7451ed7441ddbc57703042204a3e30ef747478eea022c70f789fc7f084bc3d"},
+    {file = "adal-1.2.7.tar.gz", hash = "sha256:d74f45b81317454d96e982fd1c50e6fb5c99ac2223728aea8764433a39f566f1"},
+]
+apache-libcloud = [
+    {file = "apache-libcloud-2.8.3.tar.gz", hash = "sha256:70096690b24a7832cc5abdfda1954b49fddc1c09a348a1e6caa781ac867ed4c6"},
+    {file = "apache_libcloud-2.8.3-py2.py3-none-any.whl", hash = "sha256:a3414c1ecc9bb9643fd11af18018b23922f4a2585babf9a4450c3531994935f2"},
+]
+"backports.functools-lru-cache" = [
+    {file = "backports.functools_lru_cache-1.6.4-py2.py3-none-any.whl", hash = "sha256:dbead04b9daa817909ec64e8d2855fb78feafe0b901d4568758e3a60559d8978"},
+    {file = "backports.functools_lru_cache-1.6.4.tar.gz", hash = "sha256:d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271"},
+]
+"backports.ssl-match-hostname" = [
+    {file = "backports.ssl_match_hostname-3.7.0.1.tar.gz", hash = "sha256:bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2"},
+]
+boto = [
+    {file = "boto-2.49.0-py2.py3-none-any.whl", hash = "sha256:147758d41ae7240dc989f0039f27da8ca0d53734be0eb869ef16e3adcfa462e8"},
+    {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
+]
+boto3 = [
+    {file = "boto3-1.17.112-py2.py3-none-any.whl", hash = "sha256:8716465313c50ad9e5c2ac1767642ca0ddf7d1729c3d5c884d82880c1a15a310"},
+    {file = "boto3-1.17.112.tar.gz", hash = "sha256:08b6dacbe7ebe57ae8acfb7106b2728d946ae1e0c3da270caee1deb79ccbd8af"},
+]
+botocore = [
+    {file = "botocore-1.20.112-py2.py3-none-any.whl", hash = "sha256:6d51de0981a3ef19da9e6a3c73b5ab427e3c0c8b92200ebd38d087299683dd2b"},
+    {file = "botocore-1.20.112.tar.gz", hash = "sha256:d0b9b70b6eb5b65bb7162da2aaf04b6b086b15cc7ea322ddc3ef2f5e07944dcf"},
+]
+certifi = [
+    {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
+    {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
+]
+cffi = [
+    {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
+    {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
+    {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
+    {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
+    {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
+    {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
+    {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
+    {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
+    {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
+    {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
+    {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
+    {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
+    {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
+    {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
+    {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
+    {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
+    {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
+]
+chardet = [
+    {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
+    {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"},
+]
+configparser = [
+    {file = "configparser-4.0.2-py2.py3-none-any.whl", hash = "sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c"},
+    {file = "configparser-4.0.2.tar.gz", hash = "sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df"},
+]
+contextlib2 = [
+    {file = "contextlib2-0.6.0.post1-py2.py3-none-any.whl", hash = "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b"},
+    {file = "contextlib2-0.6.0.post1.tar.gz", hash = "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"},
+]
+cryptography = [
+    {file = "cryptography-3.3.2-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:541dd758ad49b45920dda3b5b48c968f8b2533d8981bcdb43002798d8f7a89ed"},
+    {file = "cryptography-3.3.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:49570438e60f19243e7e0d504527dd5fe9b4b967b5a1ff21cc12b57602dd85d3"},
+    {file = "cryptography-3.3.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a4ac9648d39ce71c2f63fe7dc6db144b9fa567ddfc48b9fde1b54483d26042"},
+    {file = "cryptography-3.3.2-cp27-cp27m-win32.whl", hash = "sha256:aa4969f24d536ae2268c902b2c3d62ab464b5a66bcb247630d208a79a8098e9b"},
+    {file = "cryptography-3.3.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1bd0ccb0a1ed775cd7e2144fe46df9dc03eefd722bbcf587b3e0616ea4a81eff"},
+    {file = "cryptography-3.3.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e18e6ab84dfb0ab997faf8cca25a86ff15dfea4027b986322026cc99e0a892da"},
+    {file = "cryptography-3.3.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:c7390f9b2119b2b43160abb34f63277a638504ef8df99f11cb52c1fda66a2e6f"},
+    {file = "cryptography-3.3.2-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:0d7b69674b738068fa6ffade5c962ecd14969690585aaca0a1b1fc9058938a72"},
+    {file = "cryptography-3.3.2-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:922f9602d67c15ade470c11d616f2b2364950602e370c76f0c94c94ae672742e"},
+    {file = "cryptography-3.3.2-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:a0f0b96c572fc9f25c3f4ddbf4688b9b38c69836713fb255f4a2715d93cbaf44"},
+    {file = "cryptography-3.3.2-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:a777c096a49d80f9d2979695b835b0f9c9edab73b59e4ceb51f19724dda887ed"},
+    {file = "cryptography-3.3.2-cp36-abi3-win32.whl", hash = "sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c"},
+    {file = "cryptography-3.3.2-cp36-abi3-win_amd64.whl", hash = "sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433"},
+    {file = "cryptography-3.3.2.tar.gz", hash = "sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed"},
+]
+datadog = [
+    {file = "datadog-0.42.0-py2.py3-none-any.whl", hash = "sha256:140b51f5db3f46d6f3ec022c05830c6b3e13e4f62c19c823e1227ac322b26667"},
+    {file = "datadog-0.42.0.tar.gz", hash = "sha256:7a6fac17a7d09f1883ab9a45ce4ff7a16aa1a5eb3cc4c6cddac7f8c53e7d1e9b"},
+]
+enum34 = [
+    {file = "enum34-1.1.10-py2-none-any.whl", hash = "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53"},
+    {file = "enum34-1.1.10-py3-none-any.whl", hash = "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328"},
+    {file = "enum34-1.1.10.tar.gz", hash = "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248"},
+]
+futures = [
+    {file = "futures-3.3.0-py2-none-any.whl", hash = "sha256:49b3f5b064b6e3afc3316421a3f25f66c137ae88f068abbf72830170033c5e16"},
+    {file = "futures-3.3.0.tar.gz", hash = "sha256:7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794"},
+]
+hetzner = [
+    {file = "hetzner-0.8.3.tar.gz", hash = "sha256:9a43dbbeb4a1f3efc86c5fe1c1d7039aaa635dfdb829506ec3aa34382d3a7114"},
+]
+idna = [
+    {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
+    {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
+]
+importlib-metadata = [
+    {file = "importlib_metadata-2.1.2-py2.py3-none-any.whl", hash = "sha256:cd6a92d78385dd145f5f233b3a6919acf5e8e43922aa9b9dbe78573e3540eb56"},
+    {file = "importlib_metadata-2.1.2.tar.gz", hash = "sha256:09db40742204610ef6826af16e49f0479d11d0d54687d0169ff7fddf8b3f557f"},
+]
+ipaddress = [
+    {file = "ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc"},
+    {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"},
+]
+jmespath = [
+    {file = "jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"},
+    {file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"},
+]
+jsonpickle = [
+    {file = "jsonpickle-2.0.0-py2.py3-none-any.whl", hash = "sha256:c1010994c1fbda87a48f8a56698605b598cb0fc6bb7e7927559fc1100e69aeac"},
+    {file = "jsonpickle-2.0.0.tar.gz", hash = "sha256:0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a"},
+]
+pathlib2 = [
+    {file = "pathlib2-2.3.6-py2.py3-none-any.whl", hash = "sha256:3a130b266b3a36134dcc79c17b3c7ac9634f083825ca6ea9d8f557ee6195c9c8"},
+    {file = "pathlib2-2.3.6.tar.gz", hash = "sha256:7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f"},
+]
+prettytable = [
+    {file = "prettytable-1.0.1-py2.py3-none-any.whl", hash = "sha256:e7e464e8f7ecfd9a74c67f8da35f2a7da3d827235ba0a4737bb6d4b19f4a04bb"},
+    {file = "prettytable-1.0.1.tar.gz", hash = "sha256:6bb7f539903cb031fecb855b615cbcac8cd245ebc6fa51c6e23ab3386db89771"},
+]
+pycparser = [
+    {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
+    {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
+]
+pyjwt = [
+    {file = "PyJWT-1.7.1-py2.py3-none-any.whl", hash = "sha256:5c6eca3c2940464d106b99ba83b00c6add741c9becaec087fb7ccdefea71350e"},
+    {file = "PyJWT-1.7.1.tar.gz", hash = "sha256:8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96"},
+]
+pysqlite = [
+    {file = "pysqlite-2.8.3.tar.gz", hash = "sha256:17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490"},
+]
+python-dateutil = [
+    {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
+    {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
+]
+python-digitalocean = [
+    {file = "python-digitalocean-1.17.0.tar.gz", hash = "sha256:107854fde1aafa21774e8053cf253b04173613c94531f75d5a039ad770562b24"},
+    {file = "python_digitalocean-1.17.0-py3-none-any.whl", hash = "sha256:0032168e022e85fca314eb3f8dfaabf82087f2ed40839eb28f1eeeeca5afb1fa"},
+]
+requests = [
+    {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"},
+    {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"},
+]
+s3transfer = [
+    {file = "s3transfer-0.4.2-py2.py3-none-any.whl", hash = "sha256:9b3752887a2880690ce628bc263d6d13a3864083aeacff4890c1c9839a5eb0bc"},
+    {file = "s3transfer-0.4.2.tar.gz", hash = "sha256:cb022f4b16551edebbb31a377d3f09600dbada7363d8c5db7976e7f47732e1b2"},
+]
+scandir = [
+    {file = "scandir-1.10.0-cp27-cp27m-win32.whl", hash = "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188"},
+    {file = "scandir-1.10.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"},
+    {file = "scandir-1.10.0-cp34-cp34m-win32.whl", hash = "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f"},
+    {file = "scandir-1.10.0-cp34-cp34m-win_amd64.whl", hash = "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e"},
+    {file = "scandir-1.10.0-cp35-cp35m-win32.whl", hash = "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f"},
+    {file = "scandir-1.10.0-cp35-cp35m-win_amd64.whl", hash = "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32"},
+    {file = "scandir-1.10.0-cp36-cp36m-win32.whl", hash = "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022"},
+    {file = "scandir-1.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4"},
+    {file = "scandir-1.10.0-cp37-cp37m-win32.whl", hash = "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173"},
+    {file = "scandir-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d"},
+    {file = "scandir-1.10.0.tar.gz", hash = "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae"},
+]
+six = [
+    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
+    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
+]
+typing = [
+    {file = "typing-3.10.0.0-py2-none-any.whl", hash = "sha256:c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308"},
+    {file = "typing-3.10.0.0-py3-none-any.whl", hash = "sha256:12fbdfbe7d6cca1a42e485229afcb0b0c8259258cfb919b8a5e2a5c953742f89"},
+    {file = "typing-3.10.0.0.tar.gz", hash = "sha256:13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130"},
+]
+urllib3 = [
+    {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"},
+    {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"},
+]
+wcwidth = [
+    {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
+    {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
+]
+zipp = [
+    {file = "zipp-1.2.0-py2.py3-none-any.whl", hash = "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921"},
+    {file = "zipp-1.2.0.tar.gz", hash = "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1"},
+]
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/python-env/pyproject.toml b/nixpkgs/pkgs/tools/package-management/nixops/python-env/pyproject.toml
new file mode 100644
index 000000000000..2c216e402259
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nixops/python-env/pyproject.toml
@@ -0,0 +1,24 @@
+[tool.poetry]
+name = "nixops-python-env"
+version = "0.1.0"
+description = ""
+authors = ["Your Name <you@example.com>"]
+license = "MIT"
+
+[tool.poetry.dependencies]
+python = "^2.7"
+prettytable = "^1.0.1"
+boto = "^2.49.0"
+boto3 = "^1.17.97"
+hetzner = "^0.8.3"
+apache-libcloud = "^2.8.3"
+adal = "^1.2.7"
+pysqlite = "^2.8.3"
+datadog = "^0.42.0"
+python-digitalocean = "^1.17.0"
+
+[tool.poetry.dev-dependencies]
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/python-env/shell.nix b/nixpkgs/pkgs/tools/package-management/nixops/python-env/shell.nix
new file mode 100644
index 000000000000..13fcab0e0faa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/package-management/nixops/python-env/shell.nix
@@ -0,0 +1,8 @@
+let
+  pkgs = import ../../../../../. { };
+in pkgs.mkShell {
+  packages = [
+    pkgs.python2
+    pkgs.poetry
+  ];
+}
diff --git a/nixpkgs/pkgs/tools/package-management/packagekit/default.nix b/nixpkgs/pkgs/tools/package-management/packagekit/default.nix
index b62597e7e508..15f94aceaa4e 100644
--- a/nixpkgs/pkgs/tools/package-management/packagekit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/pdm/check-update.patch b/nixpkgs/pkgs/tools/package-management/pdm/check-update.patch
new file mode 100644
index 000000000000..9bc216177e5b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/pdm/default.nix b/nixpkgs/pkgs/tools/package-management/pdm/default.nix
new file mode 100644
index 000000000000..e9db7f63fba6
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/protontricks/default.nix b/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
index 125b96953734..4ddd758c59bd 100644
--- a/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/protontricks/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.6.2";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "sha256-XC5ip12wlXRo/AaTFJWEZvEZPPC1WtXTyeYivvyHZaE=";
+    sha256 = "sha256-StI9UdSILcCUmViQnxteOJr6xLSz+EgtxRpJis57lBY=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch b/nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch
index d27289bb3f5c..92565f88fdd0 100644
--- a/nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch
+++ b/nixpkgs/pkgs/tools/package-management/protontricks/steam-run.patch
@@ -1,5 +1,5 @@
 diff --git a/src/protontricks/cli/main.py b/src/protontricks/cli/main.py
-index bd651aa..2b82aea 100755
+index 8be6c71..f5772df 100755
 --- a/src/protontricks/cli/main.py
 +++ b/src/protontricks/cli/main.py
 @@ -14,8 +14,8 @@ import sys
@@ -10,7 +10,7 @@ index bd651aa..2b82aea 100755
 -                     find_steam_path, get_steam_apps, get_steam_lib_paths)
 +from ..steam import (find_proton_app, find_steam_path, get_steam_apps,
 +                     get_steam_lib_paths)
- from ..util import is_flatpak_sandbox, run_command
+ from ..util import get_running_flatpak_version, FLATPAK_BWRAP_COMPATIBLE_VERSION, run_command
  from ..winetricks import get_winetricks_path
  from .util import (CustomArgumentParser, cli_error_handler, enable_logging,
 @@ -60,8 +60,7 @@ def main(args=None):
@@ -23,7 +23,7 @@ index bd651aa..2b82aea 100755
              "PROTONTRICKS_GUI: GUI provider to use, accepts either 'yad' "
              "or 'zenity'"
          ),
-@@ -147,17 +146,9 @@ def main(args=None):
+@@ -151,17 +150,9 @@ def main(args=None):
      if not steam_path:
          exit_("Steam installation directory could not be found.")
  
@@ -43,7 +43,7 @@ index bd651aa..2b82aea 100755
      else:
          use_steam_runtime = False
          logger.info("Steam Runtime disabled.")
-@@ -218,7 +209,6 @@ def main(args=None):
+@@ -222,7 +213,6 @@ def main(args=None):
              proton_app=proton_app,
              steam_app=steam_app,
              use_steam_runtime=use_steam_runtime,
@@ -51,7 +51,7 @@ index bd651aa..2b82aea 100755
              command=[str(winetricks_path), "--gui"],
              use_bwrap=use_bwrap
          )
-@@ -286,7 +276,6 @@ def main(args=None):
+@@ -290,7 +280,6 @@ def main(args=None):
              proton_app=proton_app,
              steam_app=steam_app,
              use_steam_runtime=use_steam_runtime,
@@ -59,7 +59,7 @@ index bd651aa..2b82aea 100755
              use_bwrap=use_bwrap,
              command=[str(winetricks_path)] + args.winetricks_command
          )
-@@ -297,7 +286,6 @@ def main(args=None):
+@@ -301,7 +290,6 @@ def main(args=None):
              steam_app=steam_app,
              command=args.command,
              use_steam_runtime=use_steam_runtime,
@@ -68,7 +68,7 @@ index bd651aa..2b82aea 100755
              # Pass the command directly into the shell *without*
              # escaping it
 diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py
-index be5322b..552f894 100644
+index a291762..8af06c5 100644
 --- a/src/protontricks/steam.py
 +++ b/src/protontricks/steam.py
 @@ -12,8 +12,8 @@ from .util import lower_dict, is_flatpak_sandbox
@@ -82,7 +82,7 @@ index be5322b..552f894 100644
      "find_proton_app", "get_steam_lib_paths", "get_compat_tool_dirs",
      "get_custom_compat_tool_installations_in_dir", "get_custom_compat_tool_installations",
      "find_current_steamid3", "get_appid_from_shortcut",
-@@ -318,37 +318,6 @@ def find_steam_path():
+@@ -326,37 +326,6 @@ def find_steam_path():
      return None, None
  
  
@@ -121,31 +121,27 @@ index be5322b..552f894 100644
  APPINFO_STRUCT_SECTION = "<LLLLQ20sL"
  
 diff --git a/src/protontricks/util.py b/src/protontricks/util.py
-index f2482fc..f9c1c33 100644
+index cb531fd..9f35aba 100644
 --- a/src/protontricks/util.py
 +++ b/src/protontricks/util.py
-@@ -5,15 +5,14 @@ import shutil
+@@ -5,13 +5,13 @@ import shlex
+ import shutil
  import stat
- 
  from pathlib import Path
--from subprocess import check_output, run, PIPE
-+from subprocess import run, PIPE
+-from subprocess import PIPE, check_output, run
++from subprocess import PIPE, run
  
  __all__ = (
-     "SUPPORTED_STEAM_RUNTIMES", "is_flatpak_sandbox", "lower_dict",
+     "SUPPORTED_STEAM_RUNTIMES", "is_flatpak_sandbox",
+     "get_running_flatpak_version", "lower_dict",
 -    "get_legacy_runtime_library_paths", "get_host_library_paths",
 -    "RUNTIME_ROOT_GLOB_PATTERNS", "get_runtime_library_paths",
--    "WINE_SCRIPT_RUNTIME_V1_TEMPLATE",
--    "WINE_SCRIPT_RUNTIME_V2_TEMPLATE",
--    "create_wine_bin_dir", "run_command"
 +    "get_host_library_paths", "RUNTIME_ROOT_GLOB_PATTERNS",
-+    "get_runtime_library_paths", "WINE_SCRIPT_RUNTIME_V1_TEMPLATE",
-+    "WINE_SCRIPT_RUNTIME_V2_TEMPLATE", "create_wine_bin_dir",
-+    "run_command"
- )
- 
- logger = logging.getLogger("protontricks")
-@@ -47,24 +46,6 @@ def lower_dict(d):
++    "get_runtime_library_paths",
+     "WINE_SCRIPT_RUNTIME_V1_TEMPLATE",
+     "WINE_SCRIPT_RUNTIME_V2_TEMPLATE",
+     "create_wine_bin_dir", "run_command"
+@@ -81,24 +81,6 @@ def lower_dict(d):
      return {k.lower(): _lower_value(v) for k, v in d.items()}
  
  
@@ -170,7 +166,7 @@ index f2482fc..f9c1c33 100644
  def get_host_library_paths():
      """
      Get host library paths to use when creating the LD_LIBRARY_PATH environment
-@@ -76,7 +57,7 @@ def get_host_library_paths():
+@@ -110,7 +92,7 @@ def get_host_library_paths():
      # Since that command is unavailable with newer Steam Runtime releases,
      # do it ourselves here.
      result = run(
@@ -179,7 +175,7 @@ index f2482fc..f9c1c33 100644
          check=True, stdout=PIPE, stderr=PIPE
      )
      lines = result.stdout.decode("utf-8").split("\n")
-@@ -94,7 +75,7 @@ RUNTIME_ROOT_GLOB_PATTERNS = (
+@@ -128,7 +110,7 @@ RUNTIME_ROOT_GLOB_PATTERNS = (
  )
  
  
@@ -188,7 +184,7 @@ index f2482fc..f9c1c33 100644
      """
      Get LD_LIBRARY_PATH value to use when running a command using Steam Runtime
      """
-@@ -117,7 +98,7 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
+@@ -151,7 +133,7 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
              )
          )
  
@@ -197,7 +193,7 @@ index f2482fc..f9c1c33 100644
          return "".join([
              str(proton_app.proton_dist_path / "lib"), os.pathsep,
              str(proton_app.proton_dist_path / "lib64"), os.pathsep
-@@ -133,14 +114,19 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
+@@ -167,14 +149,19 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
      ])
  
  
@@ -224,7 +220,7 @@ index f2482fc..f9c1c33 100644
  # Helper script created by Protontricks to run Wine binaries using Steam Runtime
  set -o errexit
  
-@@ -208,7 +194,9 @@ if [[ -n "$PROTONTRICKS_INSIDE_STEAM_RUNTIME" ]]; then
+@@ -242,7 +229,9 @@ if [[ -n "$PROTONTRICKS_INSIDE_STEAM_RUNTIME" ]]; then
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PROTON_LD_LIBRARY_PATH"
    "$PROTON_DIST_PATH"/bin/{name} "$@"
  else
@@ -235,7 +231,7 @@ index f2482fc..f9c1c33 100644
    "${{mount_params[@]}}" -- \
    env PROTONTRICKS_INSIDE_STEAM_RUNTIME=1 \
    "$PROTONTRICKS_PROXY_SCRIPT_PATH" "$@"
-@@ -274,7 +262,6 @@ def create_wine_bin_dir(proton_app, use_bwrap=True):
+@@ -308,7 +297,6 @@ def create_wine_bin_dir(proton_app, use_bwrap=True):
  def run_command(
          winetricks_path, proton_app, steam_app, command,
          use_steam_runtime=False,
@@ -243,7 +239,7 @@ index f2482fc..f9c1c33 100644
          use_bwrap=True,
          **kwargs):
      """Run an arbitrary command with the correct environment variables
-@@ -353,7 +340,7 @@ def run_command(
+@@ -387,7 +375,7 @@ def run_command(
              os.environ["STEAM_RUNTIME_PATH"] = \
                  str(proton_app.required_tool_app.install_path)
              os.environ["PROTON_LD_LIBRARY_PATH"] = \
@@ -252,7 +248,7 @@ index f2482fc..f9c1c33 100644
  
              runtime_name = proton_app.required_tool_app.name
              logger.info(
-@@ -374,11 +361,8 @@ def run_command(
+@@ -408,11 +396,8 @@ def run_command(
                      "Current Steam Runtime not recognized by Protontricks."
                  )
          else:
@@ -265,7 +261,7 @@ index f2482fc..f9c1c33 100644
  
          # When Steam Runtime is enabled, create a set of helper scripts
          # that load the underlying Proton Wine executables with Steam Runtime
-@@ -386,8 +370,6 @@ def run_command(
+@@ -420,8 +405,6 @@ def run_command(
          wine_bin_dir = create_wine_bin_dir(
              proton_app=proton_app, use_bwrap=use_bwrap
          )
@@ -275,7 +271,7 @@ index f2482fc..f9c1c33 100644
          os.environ["PATH"] = "".join([
              str(wine_bin_dir), os.pathsep, os.environ["PATH"]
 diff --git a/tests/cli/test_main.py b/tests/cli/test_main.py
-index 605ae26..4bf7e80 100644
+index 8b62a61..cc27f9b 100644
 --- a/tests/cli/test_main.py
 +++ b/tests/cli/test_main.py
 @@ -116,15 +116,10 @@ class TestCLIRun:
diff --git a/nixpkgs/pkgs/tools/package-management/rpm/default.nix b/nixpkgs/pkgs/tools/package-management/rpm/default.nix
index 9c0da87a90ae..3deda8d7c5da 100644
--- a/nixpkgs/pkgs/tools/package-management/rpm/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/rpm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib
 , pkg-config, autoreconfHook
 , fetchurl, cpio, zlib, bzip2, file, elfutils, libbfd, libgcrypt, libarchive, nspr, nss, popt, db, xz, python, lua, llvmPackages
-, sqlite, zstd
+, sqlite, zstd, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -37,6 +37,13 @@ stdenv.mkDerivation rec {
     "--sharedstatedir=/com"
   ];
 
+  patches = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ # Fix build for macOS aarch64
+    (fetchpatch {
+      url = "https://github.com/rpm-software-management/rpm/commit/ad87ced3990c7e14b6b593fa411505e99412e248.patch";
+      hash = "sha256-WYlxPGcPB5lGQmkyJ/IpGoqVfAKtMxKzlr5flTqn638=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace Makefile.am --replace '@$(MKDIR_P) $(DESTDIR)$(localstatedir)/tmp' ""
   '';
diff --git a/nixpkgs/pkgs/tools/security/age/default.nix b/nixpkgs/pkgs/tools/security/age/default.nix
index fd59f9534fe7..2e9d988500f1 100644
--- a/nixpkgs/pkgs/tools/security/age/default.nix
+++ b/nixpkgs/pkgs/tools/security/age/default.nix
@@ -3,7 +3,7 @@
 buildGoModule rec {
   pname = "age";
   version = "1.0.0";
-  vendorSha256 = "sha256-cnFDs5Qos1KHn7TqaEgmt4sSzpjZor615euwxka14mY=";
+  vendorSha256 = "sha256-Hdsd+epcLFLkeHzJ2CUu4ss1qOd0+lTjhfs9MhI5Weg=";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
diff --git a/nixpkgs/pkgs/tools/security/agebox/default.nix b/nixpkgs/pkgs/tools/security/agebox/default.nix
index fcc63e6f772f..9e0c7c48e592 100644
--- a/nixpkgs/pkgs/tools/security/agebox/default.nix
+++ b/nixpkgs/pkgs/tools/security/agebox/default.nix
@@ -10,7 +10,7 @@ buildGoModule rec {
     rev = "v${version}";
     sha256 = "1gi6lj3dpckhsx6hdpdnr8rclqgfkbdmkzx966nlxyi52bjfzbsv";
   };
-  vendorSha256 = "1gw83bd14ig18y8si3f94iivx2ir1vw4b5b95fp6r7qhfp0rgbih";
+  vendorSha256 = "1jwzx6hp04y8hfpwfvf9zmhqjj3ghvr3gmgnllpcff1lai78vdrw";
 
   ldflags = [
     "-s" "-w"
diff --git a/nixpkgs/pkgs/tools/security/aide/default.nix b/nixpkgs/pkgs/tools/security/aide/default.nix
index 40f43c7b054f..0724a756b919 100644
--- a/nixpkgs/pkgs/tools/security/aide/default.nix
+++ b/nixpkgs/pkgs/tools/security/aide/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "aide";
-  version = "0.17.3";
+  version = "0.17.4";
 
   src = fetchurl {
     url = "https://github.com/aide/aide/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ousYg8r6rQVvvkPuHorgn9NsqjCgvI7f6l1HvWfEZPg=";
+    sha256 = "sha256-yBUFJG8//C52A21Dp3ISroKJW1iB2bniXBNhsam3qEY=";
   };
 
   buildInputs = [ flex bison libmhash zlib acl attr libselinux pcre ];
diff --git a/nixpkgs/pkgs/tools/security/amber/default.nix b/nixpkgs/pkgs/tools/security/amber/default.nix
index 76b0c1fa9824..5fb88ca9921b 100644
--- a/nixpkgs/pkgs/tools/security/amber/default.nix
+++ b/nixpkgs/pkgs/tools/security/amber/default.nix
@@ -3,16 +3,16 @@
 rustPlatform.buildRustPackage rec {
   # Renaming it to amber-secret because another package named amber exists
   pname = "amber-secret";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "fpco";
     repo = "amber";
     rev = "v${version}";
-    sha256 = "1l5c7vdi885z56nqqbm4sw9hvqk3rfzm0mgcwk5cbwjlrz7yjq4m";
+    sha256 = "sha256-+vipQl/HWoYnOPkQLjeIedpnnqPVYaUWhks9eCgMOxQ=";
   };
 
-  cargoSha256 = "0dmhlyrw6yd7p80v7anz5nrd28bcrhq27vzy605dinddvncjn13q";
+  cargoSha256 = "sha256-xWEQvCyd8auE0q9rBt9iDgU8Dscf4pq/gsAINH2eQY4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix b/nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix
index 476d248c4343..b1f5d8b56c30 100644
--- a/nixpkgs/pkgs/tools/security/aws-iam-authenticator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/b3sum/default.nix b/nixpkgs/pkgs/tools/security/b3sum/default.nix
index b6792763c231..0749cba209c3 100644
--- a/nixpkgs/pkgs/tools/security/b3sum/default.nix
+++ b/nixpkgs/pkgs/tools/security/b3sum/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "b3sum";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "sha256-v6OCUXes8jaBh+sKqj1yCNOTb1NQY/ENGzKf5XWGZ3w=";
+    sha256 = "sha256-Vb4W1TfHppKm2Ib2VHm+917A09JY1oNebymzcQpPm8Q=";
   };
 
-  cargoSha256 = "sha256-y5QVgu716p8TFoEeWIzX9aJWeT3FKwlh5vUQkKR6pdE=";
+  cargoSha256 = "sha256-cpY69NsbsHgQITdElsNjrhjaih9rgOVpFEv4Pfp9OPw=";
 
   meta = {
     description = "BLAKE3 cryptographic hash function";
diff --git a/nixpkgs/pkgs/tools/security/beyond-identity/default.nix b/nixpkgs/pkgs/tools/security/beyond-identity/default.nix
index 121c71fab351..a9e554ff42cc 100644
--- a/nixpkgs/pkgs/tools/security/beyond-identity/default.nix
+++ b/nixpkgs/pkgs/tools/security/beyond-identity/default.nix
@@ -5,7 +5,7 @@
 
 let
   pname = "beyond-identity";
-  version = "2.45.0-0";
+  version = "2.49.0-0";
   libPath = lib.makeLibraryPath ([ glib glibc openssl tpm2-tss gtk3 gnome.gnome-keyring polkit polkit_gnome ]);
   meta = with lib; {
     description = "Passwordless MFA identities for workforces, customers, and developers";
@@ -21,7 +21,7 @@ let
 
     src = fetchurl {
       url = "https://packages.beyondidentity.com/public/linux-authenticator/deb/ubuntu/pool/focal/main/b/be/${pname}_${version}/${pname}_${version}_amd64.deb";
-      sha512 = "852689d473b7538cdca60d264295f39972491b5505accad897fd924504189f0a6d8b6481cc0520ee762d4642e0f4fd664a03b5741f9ea513ec46ab16b05158f2";
+      sha512 = "sha512-+9vwH1r5WW+MqyiwsAFInboaM7o2dc7zvRaKwHC/o2LOBugvUHmUzmZ6uSHilc9zQ5FcHUIIglhkASbFtsvPeA==";
     };
 
     nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/bitwarden/default.nix b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
index 198295fcdfe0..40552d149043 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden/default.nix
+++ b/nixpkgs/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 {
diff --git a/nixpkgs/pkgs/tools/security/boofuzz/default.nix b/nixpkgs/pkgs/tools/security/boofuzz/default.nix
index 353758c3d5f9..572a9e888fd3 100644
--- a/nixpkgs/pkgs/tools/security/boofuzz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/bypass403/default.nix b/nixpkgs/pkgs/tools/security/bypass403/default.nix
deleted file mode 100644
index 5bf40766883a..000000000000
--- a/nixpkgs/pkgs/tools/security/bypass403/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ buildGoModule
-, fetchFromGitHub
-, lib
-}:
-
-buildGoModule rec {
-  pname = "bypass403";
-  version = "1.4.0";
-
-  src = fetchFromGitHub {
-    owner = "drsigned";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1x3a4lnxjxbv80kaydy57809n9r7vzci9ki4f98smf3w04s86rcl";
-  };
-
-  vendorSha256 = "1bp6bf99rxlyg91pn1y228q18lawpykmvkl22cydmclms0q0n238";
-
-  meta = with lib; {
-    description = "Tool to bypass 403 Forbidden responses";
-    homepage = "https://github.com/drsigned/bypass403";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fab ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/security/cariddi/default.nix b/nixpkgs/pkgs/tools/security/cariddi/default.nix
index 670a03c88810..9f29826808db 100644
--- a/nixpkgs/pkgs/tools/security/cariddi/default.nix
+++ b/nixpkgs/pkgs/tools/security/cariddi/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-PXQljC9rwlxXQ96fII3EjD4NXu61EMkYvMWqkcJZ4vU=";
   };
 
-  vendorSha256 = "sha256-yVfRjUlw90oUsbF2P6pW6FhMXok9ZwcKmAWyTFLI/cY=";
+  vendorSha256 = "sha256-zNUdglsfy6lEV54afCAoigxa3rR0qf/e3+B4PvVRIa4=";
 
   meta = with lib; {
     description = "Crawler for URLs and endpoints";
diff --git a/nixpkgs/pkgs/tools/security/ccid/default.nix b/nixpkgs/pkgs/tools/security/ccid/default.nix
index d1b5f4a83c0f..b8d0baf5a55d 100644
--- a/nixpkgs/pkgs/tools/security/ccid/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/certipy/default.nix b/nixpkgs/pkgs/tools/security/certipy/default.nix
index 9e3d4573df22..536a1a502adb 100644
--- a/nixpkgs/pkgs/tools/security/certipy/default.nix
+++ b/nixpkgs/pkgs/tools/security/certipy/default.nix
@@ -5,22 +5,23 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "certipy";
-  version = "unstable-2021-11-08";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "ly4k";
     repo = "Certipy";
-    rev = "c2f5581505c54f3bf9fe4e6f07c17fa9ef501cab";
-    sha256 = "0m2n30prqd9d02kmryk8vry4cabcad1892qr8a02qfg6r98x8q3q";
+    rev = version;
+    hash = "sha256-xN0DrLrxWNCEy3HodA1pOJHYhDyA1sMRVIfefbXq45E=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
     asn1crypto
-    pycryptodome
+    dnspython
+    dsinternals
     impacket
     ldap3
     pyasn1
-    dnspython
+    pycryptodome
   ];
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/tools/security/cfripper/default.nix b/nixpkgs/pkgs/tools/security/cfripper/default.nix
new file mode 100644
index 000000000000..8959d6627de4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/cfripper/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+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.3";
+
+  src = fetchFromGitHub {
+    owner = "Skyscanner";
+    repo = pname;
+    rev = version;
+    hash = "sha256-y3h/atfFl/wDmr+YBdsWrCez4PQBEcl3xNDyTwXZIp4=";
+  };
+
+  propagatedBuildInputs = with py.pkgs; [
+    boto3
+    cfn-flip
+    click
+    pluggy
+    pycfmodel
+    pydash
+    pyyaml
+    setuptools
+  ];
+
+  checkInputs = with py.pkgs; [
+    moto
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "click~=7.1.1" "click" \
+      --replace "pluggy~=0.13.1" "pluggy" \
+      --replace "pydash~=4.7.6" "pydash"
+  '';
+
+  disabledTestPaths = [
+    # Tests are failing
+    "tests/test_boto3_client.py"
+    "tests/config/test_pluggy.py"
+  ];
+
+  pythonImportsCheck = [
+    "cfripper"
+  ];
+
+  meta = with lib; {
+    description = "Tool for analysing CloudFormation templates";
+    homepage = "https://github.com/Skyscanner/cfripper";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/chipsec/default.nix b/nixpkgs/pkgs/tools/security/chipsec/default.nix
index fbb9c421e353..64d8885eedd4 100644
--- a/nixpkgs/pkgs/tools/security/chipsec/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/clamav/default.nix b/nixpkgs/pkgs/tools/security/clamav/default.nix
index 8fb66ebcb3ff..cc1eaf8265cf 100644
--- a/nixpkgs/pkgs/tools/security/clamav/default.nix
+++ b/nixpkgs/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.103.3";
+  version = "0.103.5";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "sha256-n249GESfPRo5kncdaWaFJJ36EnNv4rKSmFjyx9gnauk=";
+    sha256 = "sha256-HnSx4dKoqQVkScMT9Ippg7nVug1vte8LK+atPIQaVCY=";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/nixpkgs/pkgs/tools/security/cloudlist/default.nix b/nixpkgs/pkgs/tools/security/cloudlist/default.nix
index fd9741ddd94b..203b044a6ded 100644
--- a/nixpkgs/pkgs/tools/security/cloudlist/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/corsmisc/default.nix b/nixpkgs/pkgs/tools/security/corsmisc/default.nix
deleted file mode 100644
index 4c64677f3240..000000000000
--- a/nixpkgs/pkgs/tools/security/corsmisc/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ buildGoModule
-, fetchFromGitHub
-, lib
-}:
-
-buildGoModule rec {
-  pname = "corsmisc";
-  version = "1.3.0";
-
-  src = fetchFromGitHub {
-    owner = "drsigned";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "18a70v093jl85vnih80i50wvac8hsg3f2gmcws9jyhj2brndq2qj";
-  };
-
-  vendorSha256 = "1bp6bf99rxlyg91pn1y228q18lawpykmvkl22cydmclms0q0n238";
-
-  meta = with lib; {
-    description = "Tool to discover CORS misconfigurations vulnerabilities";
-    homepage = "https://github.com/drsigned/corsmisc";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fab ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/security/cosign/default.nix b/nixpkgs/pkgs/tools/security/cosign/default.nix
index 0c934e3c6953..5bfc16718bf7 100644
--- a/nixpkgs/pkgs/tools/security/cosign/default.nix
+++ b/nixpkgs/pkgs/tools/security/cosign/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cosign";
-  version = "1.4.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WjYW9Fo27wE1pg/BqYsdHd8jwd8jG5bk37HmU1DqnyE=";
+    sha256 = "sha256-37jahAGgQn7HwwdRTlAS/oJQ3BxTkMViI6iJMBYFgjI=";
   };
 
   buildInputs = lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite)
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
 
-  vendorSha256 = "sha256-6T98zu55BQ26e43a1i68rhebaLwY/iFM8CRqRcv2QwI=";
+  vendorSha256 = "sha256-d3aOX4iMlhlxgYbqCHCIFKXunVha0Fw4ZBmy4OA6EhI=";
 
   excludedPackages = "\\(sample\\|webhook\\|help\\)";
 
@@ -24,6 +24,13 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" "-X github.com/sigstore/cosign/pkg/version.GitVersion=v${version}" ];
 
+  postPatch = ''
+    rm pkg/cosign/tuf/client_test.go # Require network access
+    rm internal/pkg/cosign/fulcio/signer_test.go # Require network access
+    rm internal/pkg/cosign/rekor/signer_test.go # Require network access
+    rm pkg/cosign/kubernetes/webhook/validator_test.go # Require network access
+  '';
+
   postInstall = ''
     installShellCompletion --cmd cosign \
       --bash <($out/bin/cosign completion bash) \
diff --git a/nixpkgs/pkgs/tools/security/dalfox/default.nix b/nixpkgs/pkgs/tools/security/dalfox/default.nix
index 2919354db4ec..5ce633d3cec9 100644
--- a/nixpkgs/pkgs/tools/security/dalfox/default.nix
+++ b/nixpkgs/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-QtSWlGsbCxLpb4+TZgV0/wfSb5flGG3qHquO2maIOKU=";
+  vendorSha256 = "sha256-4ot9qvTsUMxbcbu1y+5Tkvgo3t0MWA1EPSGqM0CM2DU=";
 
   meta = with lib; {
     description = "Tool for analysing parameter and XSS scanning";
diff --git a/nixpkgs/pkgs/tools/security/dnspeep/default.nix b/nixpkgs/pkgs/tools/security/dnspeep/default.nix
index 4af91f8070a2..58abf25b858d 100644
--- a/nixpkgs/pkgs/tools/security/dnspeep/default.nix
+++ b/nixpkgs/pkgs/tools/security/dnspeep/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dnspeep";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "jvns";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lz22vlgi1alsq676q4nlzfzwnsrvziyqdnmdbn00rwqsvlb81q6";
+    sha256 = "sha256-QpUbHiMDQFRCTVyjrO9lfQQ62Z3qanv0j+8eEXjE3n4=";
   };
 
-  cargoSha256 = "sha256-I1m+6M2tmmTZuXlZaecSslj6q2iCsMBq7k9vHiMd3WE=";
+  cargoSha256 = "sha256-w81FewtyweuSNYNPNr2uxB0uB1JoN5t252CAG1pm4Z8=";
 
   LIBPCAP_LIBDIR = lib.makeLibraryPath [ libpcap ];
   LIBPCAP_VER = libpcap.version;
diff --git a/nixpkgs/pkgs/tools/security/dnsx/default.nix b/nixpkgs/pkgs/tools/security/dnsx/default.nix
index 5b4f0a5da146..9ba91d186530 100644
--- a/nixpkgs/pkgs/tools/security/dnsx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/doas/default.nix b/nixpkgs/pkgs/tools/security/doas/default.nix
index f88abbd7e1ba..b79dba7c325f 100644
--- a/nixpkgs/pkgs/tools/security/doas/default.nix
+++ b/nixpkgs/pkgs/tools/security/doas/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "doas";
-  version = "6.8.1";
+  version = "6.8.2";
 
   src = fetchFromGitHub {
     owner = "Duncaen";
     repo = "OpenDoas";
     rev = "v${version}";
-    sha256 = "sha256-F0FVVspGDZmzxy4nsb/wsEoCw4eHscymea7tIKrWzD0=";
+    sha256 = "9uOQ2Ta5HzEpbCz2vbqZEEksPuIjL8lvmfmynfqxMeM=";
   };
 
   # otherwise confuses ./configure
diff --git a/nixpkgs/pkgs/tools/security/dontgo403/default.nix b/nixpkgs/pkgs/tools/security/dontgo403/default.nix
new file mode 100644
index 000000000000..d1595d9de2b7
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/dontgo403/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "dontgo403";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "devploit";
+    repo = pname;
+    rev = version;
+    hash = "sha256-QHkmnhOLdyci3PAhf/JIiYlCta8DJ3cZb1S6Sim0qGQ=";
+  };
+
+  vendorSha256 = "sha256-jF+CSmLHMdlFpttYf3pK84wdfFAHSVPAK8S5zunUzB0=";
+
+  meta = with lib; {
+    description = "Tool to bypass 40X response codes";
+    homepage = "https://github.com/devploit/dontgo403";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/doppler/default.nix b/nixpkgs/pkgs/tools/security/doppler/default.nix
index 27b44ce6042a..8b21ef160a2f 100644
--- a/nixpkgs/pkgs/tools/security/doppler/default.nix
+++ b/nixpkgs/pkgs/tools/security/doppler/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.36.2";
+  version = "3.38.0";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-T8WqQTB3ogxGiImkyZUUbKcXTdSgGM0Vb4OkckslzYE=";
+    sha256 = "sha256-GKsq6AhkhacG+5XIELpe58bDe5l3BnLCwJHMkCzTzJU=";
   };
 
   vendorSha256 = "sha256-VPxHxNtDeP5CFDMTeMsZYED9ZGWMquJdeupeCVldY/E=";
diff --git a/nixpkgs/pkgs/tools/security/duo-unix/default.nix b/nixpkgs/pkgs/tools/security/duo-unix/default.nix
index 40645ce089d8..0ec07371df38 100644
--- a/nixpkgs/pkgs/tools/security/duo-unix/default.nix
+++ b/nixpkgs/pkgs/tools/security/duo-unix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "duo-unix";
-  version = "1.11.4";
+  version = "1.11.5";
 
   src = fetchurl {
     url    = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz";
-    sha256 = "1hqklf6jzrxn5hgh69bbl6962hwwgf06dlrb0ry7n5iy8w8imnsg";
+    sha256 = "sha256-7pE4EnyV22qQ13RFKHv0ah/BQYHJE1jdTwXBeqpBFgs=";
   };
 
   buildInputs = [ pam openssl zlib ];
diff --git a/nixpkgs/pkgs/tools/security/ecdsautils/default.nix b/nixpkgs/pkgs/tools/security/ecdsautils/default.nix
index 6c126673259a..6bdac96811a0 100644
--- a/nixpkgs/pkgs/tools/security/ecdsautils/default.nix
+++ b/nixpkgs/pkgs/tools/security/ecdsautils/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
     description = "Tiny collection of programs used for ECDSA (keygen, sign, verify)";
     homepage = "https://github.com/tcatm/ecdsautils/";
     license = with licenses; [ mit bsd2 ];
-    maintainers = with maintainers; [ andir ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/eid-mw/default.nix b/nixpkgs/pkgs/tools/security/eid-mw/default.nix
index 2b373360965b..925931e6a3e3 100644
--- a/nixpkgs/pkgs/tools/security/eid-mw/default.nix
+++ b/nixpkgs/pkgs/tools/security/eid-mw/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Belgian electronic identity card (eID) middleware";
-    homepage = "https://eid.belgium.be/en/using_your_eid/installing_the_eid_software/linux/";
+    homepage = "https://eid.belgium.be/en";
     license = licenses.lgpl3Only;
     longDescription = ''
       Allows user authentication and digital signatures with Belgian ID cards.
diff --git a/nixpkgs/pkgs/tools/security/encryptr/default.nix b/nixpkgs/pkgs/tools/security/encryptr/default.nix
deleted file mode 100644
index 92d783dd5fdf..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/security/enpass/data.json b/nixpkgs/pkgs/tools/security/enpass/data.json
index bb74f73fb757..20d252bce580 100644
--- a/nixpkgs/pkgs/tools/security/enpass/data.json
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/exploitdb/default.nix b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
index a6d5a3855a87..fc92019292d4 100644
--- a/nixpkgs/pkgs/tools/security/exploitdb/default.nix
+++ b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-12-21";
+  version = "2022-02-19";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-HTs8dGDSYU/Ih/8CS+4C4AtERxQHwlmpfrA0YrrKoyY=";
+    sha256 = "sha256-cHAvExbZqqLGPRsa578Po1G3uX2EIcx/visOB0RgNQc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/extrude/default.nix b/nixpkgs/pkgs/tools/security/extrude/default.nix
new file mode 100644
index 000000000000..e8d2b0784117
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/extrude/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "extrude";
+  version = "0.0.12";
+
+  src = fetchFromGitHub {
+    owner = "liamg";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-7gCEBhnNU5CqC5n0KP4Dd/fmddPRwNqyMFXTrRrJjfU=";
+  };
+
+  vendorSha256 = "sha256-8qjIYPkWtYTvl7wAnefpZAjbNSQLQFqRnGGccYZ8ZmU=";
+
+  meta = with lib; {
+    description = "Tool to analyse binaries for missing security features";
+    homepage = "https://github.com/liamg/extrude";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/fail2ban/default.nix b/nixpkgs/pkgs/tools/security/fail2ban/default.nix
index 92848def1d1c..6c3fb0727091 100644
--- a/nixpkgs/pkgs/tools/security/fail2ban/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/faraday-agent-dispatcher/default.nix b/nixpkgs/pkgs/tools/security/faraday-agent-dispatcher/default.nix
new file mode 100644
index 000000000000..aecdbf8dd250
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/faraday-agent-dispatcher/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "faraday-agent-dispatcher";
+  version = "2.1.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "infobyte";
+    repo = "faraday_agent_dispatcher";
+    rev = version;
+    hash = "sha256-lqCW1/wRXfN7C9c6TPvninueOgrhzNdjRJ9fuueMyH0=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    aiohttp
+    click
+    faraday-agent-parameters-types
+    faraday-plugins
+    itsdangerous
+    python-gvm
+    python-owasp-zap-v2-4
+    pyyaml
+    requests
+    syslog-rfc5424-formatter
+    websockets
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"pytest-runner",' ""
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  disabledTests = [
+    "test_execute_agent"
+  ];
+
+  disabledTestPaths = [
+    # Tests require a running Docker instance
+    "tests/plugins-docker/test_executors.py"
+  ];
+
+  pythonImportsCheck = [
+    "faraday_agent_dispatcher"
+  ];
+
+  meta = with lib; {
+    description = "Tool to send result from tools to the Faraday Platform";
+    homepage = "https://github.com/infobyte/faraday_agent_dispatcher";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/faraday-cli/default.nix b/nixpkgs/pkgs/tools/security/faraday-cli/default.nix
index c220fe4ded0f..276252777528 100644
--- a/nixpkgs/pkgs/tools/security/faraday-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/faraday-cli/default.nix
@@ -7,35 +7,36 @@ python3.pkgs.buildPythonApplication rec {
   pname = "faraday-cli";
   version = "2.0.2";
 
-  disabled = python3.pythonOlder "3.7";
-
   src = fetchFromGitHub {
     owner = "infobyte";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jq8sim0b6k830lv1qzbrd1mx0nc2x1jq24fbama76gzqlb2axi7";
+    hash = "sha256-J3YlFsX/maOqWo4ILEMXzIJeQ8vr47ApGGiaBWrUCMs=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
+    arrow
     click
+    cmd2
     colorama
     faraday-plugins
     jsonschema
+    log-symbols
+    packaging
     pyyaml
     simple-rest-client
-    tabulate
-    validators
     spinners
+    tabulate
     termcolor
-    cmd2
-    log-symbols
-    arrow
+    validators
   ];
 
   # Tests requires credentials
   doCheck = false;
 
-  pythonImportsCheck = [ "faraday_cli" ];
+  pythonImportsCheck = [
+    "faraday_cli"
+  ];
 
   meta = with lib; {
     description = "Command Line Interface for Faraday";
diff --git a/nixpkgs/pkgs/tools/security/firefox_decrypt/default.nix b/nixpkgs/pkgs/tools/security/firefox_decrypt/default.nix
new file mode 100644
index 000000000000..3ca0774e22ea
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/firefox_decrypt/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, fetchFromGitHub
+, stdenvNoCC
+, nss
+, wrapPython
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "firefox_decrypt";
+  version = "unstable-2021-12-29";
+
+  src = fetchFromGitHub {
+    owner = "unode";
+    repo = pname;
+    rev = "a3daadc09603a6cf8c4b7e49a59776340bc885e7";
+    sha256 = "0g219zqbdnhh9j09d9a0b81vr6j44zzk13ckl5fzkr10gqndiscc";
+  };
+
+  nativeBuildInputs = [ wrapPython ];
+
+  buildInputs = [ nss ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm 0755 firefox_decrypt.py "$out/bin/firefox_decrypt"
+
+    runHook postInstall
+  '';
+
+  makeWrapperArgs = [ "--prefix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ nss ]) ];
+
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    homepage = "https://github.com/unode/firefox_decrypt";
+    description = "A tool to extract passwords from profiles of Mozilla Firefox and derivates";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ schnusch ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/firefox_decrypt/update.sh b/nixpkgs/pkgs/tools/security/firefox_decrypt/update.sh
new file mode 100755
index 000000000000..a56807f0ba0c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/firefox_decrypt/update.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p common-updater-scripts git jq nix nix-prefetch-git
+git_url='https://github.com/unode/firefox_decrypt.git'
+git_branch='master'
+git_dir='/var/tmp/firefox_decrypt.git'
+nix_file="$(dirname "${BASH_SOURCE[0]}")/default.nix"
+pkg='firefox_decrypt'
+
+set -euo pipefail
+
+info() {
+    if [ -t 2 ]; then
+        set -- '\033[32m%s\033[39m\n' "$@"
+    else
+        set -- '%s\n' "$@"
+    fi
+    printf "$@" >&2
+}
+
+old_rev=$(nix-instantiate --eval --strict --json -A "$pkg.src.rev" | jq -r)
+old_version=$(nix-instantiate --eval --strict --json -A "$pkg.version" | jq -r)
+today=$(LANG=C date -u +'%Y-%m-%d')
+
+info "fetching $git_url..."
+if [ ! -d "$git_dir" ]; then
+    git init --initial-branch="$git_branch" "$git_dir"
+    git -C "$git_dir" remote add origin "$git_url"
+fi
+git -C "$git_dir" fetch origin "$git_branch"
+
+# use latest commit before today, we should not call the version *today*
+# because there might still be commits coming
+# use the day of the latest commit we picked as version
+new_rev=$(git -C "$git_dir" log -n 1 --format='format:%H' --before="${today}T00:00:00Z" "origin/$git_branch")
+new_version="unstable-$(git -C "$git_dir" log -n 1 --format='format:%cs' "$new_rev")"
+info "latest commit before $today: $new_rev"
+
+if [ "$new_rev" = "$old_rev" ]; then
+    info "$pkg is up-to-date."
+    exit
+fi
+
+new_sha256=$(nix-prefetch-git --rev "$new_rev" "$git_dir" | jq -r .sha256)
+update-source-version "$pkg" \
+    "$new_version" \
+    "$new_sha256" \
+    --rev="$new_rev"
+git add "$nix_file"
+git commit --verbose --message "$pkg: $old_version -> $new_version"
diff --git a/nixpkgs/pkgs/tools/security/fprintd/default.nix b/nixpkgs/pkgs/tools/security/fprintd/default.nix
index 1340ec26ca29..b0339846a67d 100644
--- a/nixpkgs/pkgs/tools/security/fprintd/default.nix
+++ b/nixpkgs/pkgs/tools/security/fprintd/default.nix
@@ -25,7 +25,7 @@
 
 stdenv.mkDerivation rec {
   pname = "fprintd";
-  version = "1.92.0";
+  version = "1.94.1";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "libfprint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bqzxxb5iq3pdwdv1k8wsx3alirbjla6zgcki55b5p6mzrvk781x";
+    sha256 = "sha256-XHfHPffVp0jV3Md9Gui9v/nyOJ/bTWM3+hiR7WdEsgQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/fwbuilder/default.nix b/nixpkgs/pkgs/tools/security/fwbuilder/default.nix
new file mode 100644
index 000000000000..66d7a5a7537a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/fwbuilder/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub, cmake, qtbase, wrapQtAppsHook }:
+
+stdenv.mkDerivation rec {
+  pname = "fwbuilder";
+  version = "6.0.0-rc1";
+
+  src = fetchFromGitHub {
+    owner = "fwbuilder";
+    repo = "fwbuilder";
+    rev = "v${version}";
+    hash = "sha256-j5HjGcIqq93Ca9OBqEgSotoSXyw+q6Fqxa3hKk1ctwQ=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    wrapQtAppsHook
+  ];
+
+  meta = with lib; {
+    description = "GUI Firewall Management Application";
+    homepage    = "https://github.com/fwbuilder/fwbuilder";
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = [ maintainers.elatov ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gau/default.nix b/nixpkgs/pkgs/tools/security/gau/default.nix
index 95d5f228c803..59dc202e694a 100644
--- a/nixpkgs/pkgs/tools/security/gau/default.nix
+++ b/nixpkgs/pkgs/tools/security/gau/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gau";
-  version = "2.0.6";
+  version = "2.0.8";
 
   src = fetchFromGitHub {
     owner = "lc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-d9Cfd2KD+ymGnzOjlVQkSm3XBamoJIUKQLnRZzSDBtk=";
+    sha256 = "sha256-GkPAv6JrgzlblSw4oIvPvNSboOmvZCMKyFwAMD3W0fQ=";
   };
 
-  vendorSha256 = "sha256-u5ketxHPwZN2mV0uTgwJbY+ImusGZ9GTTmFAGvdH5yA=";
+  vendorSha256 = "sha256-HQATUCzYvhhlqe4HhNu9H4CqmY2IGLNJ9ydt3/igSmQ=";
 
   meta = with lib; {
     description = "Tool to fetch known URLs";
diff --git a/nixpkgs/pkgs/tools/security/gfshare/default.nix b/nixpkgs/pkgs/tools/security/gfshare/default.nix
index 3079c7fb57f2..e0da2fdaf35b 100644
--- a/nixpkgs/pkgs/tools/security/gfshare/default.nix
+++ b/nixpkgs/pkgs/tools/security/gfshare/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = [ maintainers.rraval ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gfshare.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch b/nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
new file mode 100644
index 000000000000..b3106802bd5c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
@@ -0,0 +1,130 @@
+From 913e74b8682f77da94ed7b7d459482b9b23a5d88 Mon Sep 17 00:00:00 2001
+From: roblabla <unfiltered@roblab.la>
+Date: Tue, 28 Dec 2021 14:20:30 +0100
+Subject: [PATCH] Use protobuf gradle plugin
+
+---
+ Ghidra/Debug/Debugger-gadp/build.gradle | 76 +++----------------------
+ build.gradle                            |  6 ++
+ 2 files changed, 15 insertions(+), 67 deletions(-)
+
+diff --git a/Ghidra/Debug/Debugger-gadp/build.gradle b/Ghidra/Debug/Debugger-gadp/build.gradle
+index 1b4922f66..3d2ef8856 100644
+--- a/Ghidra/Debug/Debugger-gadp/build.gradle
++++ b/Ghidra/Debug/Debugger-gadp/build.gradle
+@@ -23,42 +23,19 @@ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle"
+ 
+ apply plugin: 'eclipse'
+-eclipse.project.name = 'Debug Debugger-gadp'
++apply plugin: 'com.google.protobuf'
+ 
+-configurations {
+-	allProtocArtifacts
+-	protocArtifact
+-}
++eclipse.project.name = 'Debug Debugger-gadp'
+ 
+ def platform = getCurrentPlatformName()
+ 
+-dependencies {
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.17.3:windows-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.17.3:linux-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.17.3:linux-aarch_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.17.3:osx-x86_64@exe'
+-	allProtocArtifacts 'com.google.protobuf:protoc:3.17.3:osx-aarch_64@exe'
+-
+-	if (isCurrentWindows()) {
+-		protocArtifact 'com.google.protobuf:protoc:3.17.3:windows-x86_64@exe'
+-	}
+-	if (isCurrentLinux()) {
+-		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.17.3:linux-x86_64@exe'
+-		}
+-		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.17.3:linux-aarch_64@exe'
+-		}
+-	}
+-	if (isCurrentMac()) {
+-		if (platform.endsWith("x86_64")) {
+-			protocArtifact 'com.google.protobuf:protoc:3.17.3:osx-x86_64@exe'
+-		}
+-		else {
+-			protocArtifact 'com.google.protobuf:protoc:3.17.3:osx-aarch_64@exe'
+-		}
+-	}
++buildscript {
++  dependencies {
++    classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
++  }
++}
+ 
++dependencies {
+ 	api 'com.google.protobuf:protobuf-java:3.17.3'
+ 	api project(':Framework-AsyncComm')
+ 	api project(':Framework-Debugging')
+@@ -68,43 +45,8 @@ dependencies {
+ 	testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
+ }
+ 
+-/*protobuf {
++protobuf {
+ 	protoc {
+ 		artifact = 'com.google.protobuf:protoc:3.17.3'
+ 	}
+-}*/
+-
+-task generateProto {
+-	ext.srcdir = file("src/main/proto")
+-	ext.src = fileTree(srcdir) {
+-		include "**/*.proto"
+-	}
+-	ext.outdir = file("build/generated/source/proto/main/java")
+-	outputs.dir(outdir)
+-	inputs.files(src)
+-	dependsOn(configurations.protocArtifact)
+-	doLast {
+-		def exe = configurations.protocArtifact.first()
+-		if (!isCurrentWindows()) {
+-			exe.setExecutable(true)
+-		}
+-		exec {
+-			commandLine exe, "--java_out=$outdir", "-I$srcdir"
+-			args src
+-		}
+-	}
+ }
+-
+-tasks.compileJava.dependsOn(tasks.generateProto)
+-tasks.eclipse.dependsOn(tasks.generateProto)
+-rootProject.tasks.prepDev.dependsOn(tasks.generateProto)
+-
+-sourceSets {
+-	main {
+-		java {
+-			srcDir tasks.generateProto.outdir
+-		}
+-	}
+-}
+-zipSourceSubproject.dependsOn generateProto
+-
+diff --git a/build.gradle b/build.gradle
+index dce3a5149..7a2e637ce 100644
+--- a/build.gradle
++++ b/build.gradle
+@@ -76,6 +76,12 @@ if (flatRepo.isDirectory()) {
+ 			jcenter()
+ 			flatDir name: "flat", dirs:["$flatRepo"]
+ 		}
++		buildscript {
++			repositories {
++				mavenLocal()
++				mavenCentral()
++			}
++		}
+ 	}
+ }
+ else {	
+-- 
+2.33.1
+
diff --git a/nixpkgs/pkgs/tools/security/ghidra/build.nix b/nixpkgs/pkgs/tools/security/ghidra/build.nix
new file mode 100644
index 000000000000..831ec3b6133e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ghidra/build.nix
@@ -0,0 +1,178 @@
+{ stdenv
+, fetchzip
+, fetchurl
+, fetchFromGitHub
+, lib
+, gradle
+, perl
+, makeWrapper
+, openjdk11
+, unzip
+, makeDesktopItem
+, autoPatchelfHook
+, icoutils
+, xcbuild
+, protobuf3_17
+, libredirect
+}:
+
+let
+  pkg_path = "$out/lib/ghidra";
+  pname = "ghidra";
+  version = "10.1.2";
+
+  src = fetchFromGitHub {
+    owner = "NationalSecurityAgency";
+    repo = "Ghidra";
+    rev = "Ghidra_${version}_build";
+    sha256 = "sha256-gnSIXje0hUpAculNXAyiS7Twc5XWitMgYp7svyZQxzE=";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "ghidra";
+    exec = "ghidra";
+    icon = "ghidra";
+    desktopName = "Ghidra";
+    genericName = "Ghidra Software Reverse Engineering Suite";
+    categories = "Development;";
+  };
+
+  # postPatch scripts.
+  # Tells ghidra to use our own protoc binary instead of the prebuilt one.
+  fixProtoc = ''
+    cat >>Ghidra/Debug/Debugger-gadp/build.gradle <<HERE
+protobuf {
+  protoc {
+    path = '${protobuf3_17}/bin/protoc'
+  }
+}
+HERE
+  '';
+
+  # Adds a gradle step that downloads all the dependencies to the gradle cache.
+  addResolveStep = ''
+    cat >>build.gradle <<HERE
+task resolveDependencies {
+  doLast {
+    project.rootProject.allprojects.each { subProject ->
+      subProject.buildscript.configurations.each { configuration ->
+        resolveConfiguration(subProject, configuration, "buildscript config \''${configuration.name}")
+      }
+      subProject.configurations.each { configuration ->
+        resolveConfiguration(subProject, configuration, "config \''${configuration.name}")
+      }
+    }
+  }
+}
+void resolveConfiguration(subProject, configuration, name) {
+  if (configuration.canBeResolved) {
+    logger.info("Resolving project {} {}", subProject.name, name)
+    configuration.resolve()
+  }
+}
+HERE
+  '';
+
+  # fake build to pre-download deps into fixed-output derivation
+  # Taken from mindustry derivation.
+  deps = stdenv.mkDerivation {
+    pname = "${pname}-deps";
+    inherit version src;
+
+    patches = [ ./0001-Use-protobuf-gradle-plugin.patch ];
+    postPatch = fixProtoc + addResolveStep;
+
+    nativeBuildInputs = [ gradle perl ] ++ lib.optional stdenv.isDarwin xcbuild;
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+
+      # First, fetch the static dependencies.
+      gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk11} -I gradle/support/fetchDependencies.gradle init
+
+      # Then, fetch the maven dependencies.
+      gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk11} resolveDependencies
+    '';
+    # 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/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/maven/$x/$3/$4/$5" #e' \
+        | sh
+      cp -r dependencies $out/dependencies
+    '';
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "sha256-UHV7Z2HaVTOCY5U0zjUtkchJicrXMBfYBHvL8AA7NTg=";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit pname version src;
+
+  nativeBuildInputs = [
+    gradle unzip makeWrapper icoutils
+  ] ++ lib.optional stdenv.isDarwin xcbuild;
+
+  dontStrip = true;
+
+  patches = [ ./0001-Use-protobuf-gradle-plugin.patch ];
+  postPatch = fixProtoc;
+
+  buildPhase = (lib.optionalString stdenv.isDarwin ''
+    export HOME=$(mktemp -d)
+
+    # construct a dummy /etc/passwd file - something attempts to determine
+    # the user's "real" home using this
+    DUMMY_PASSWD=$(realpath ../dummy-passwd)
+    cat > $DUMMY_PASSWD <<EOF
+    $(whoami)::$(id -u):$(id -g)::$HOME:$SHELL
+    EOF
+
+    export NIX_REDIRECTS=/etc/passwd=$DUMMY_PASSWD
+    export DYLD_INSERT_LIBRARIES=${libredirect}/lib/libredirect.dylib
+  '') + ''
+
+    export GRADLE_USER_HOME=$(mktemp -d)
+
+    ln -s ${deps}/dependencies dependencies
+
+    sed -i "s#mavenLocal()#mavenLocal(); maven { url '${deps}/maven' }#g" build.gradle
+
+    gradle --offline --no-daemon --info -Dorg.gradle.java.home=${openjdk11} buildGhidra
+  '';
+
+  installPhase = ''
+    mkdir -p "${pkg_path}" "$out/share/applications"
+
+    ZIP=build/dist/$(ls build/dist)
+    echo $ZIP
+    unzip $ZIP -d ${pkg_path}
+    f=("${pkg_path}"/*)
+    mv "${pkg_path}"/*/* "${pkg_path}"
+    rmdir "''${f[@]}"
+
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+
+    icotool -x "Ghidra/RuntimeScripts/Windows/support/ghidra.ico"
+    rm ghidra_4_40x40x32.png
+    for f in ghidra_*.png; do
+      res=$(basename "$f" ".png" | cut -d"_" -f3 | cut -d"x" -f1-2)
+      mkdir -pv "$out/share/icons/hicolor/$res/apps"
+      mv "$f" "$out/share/icons/hicolor/$res/apps/ghidra.png"
+    done;
+  '';
+
+  postFixup = ''
+    mkdir -p "$out/bin"
+    ln -s "${pkg_path}/ghidraRun" "$out/bin/ghidra"
+    wrapProgram "${pkg_path}/support/launch.sh" \
+      --prefix PATH : ${lib.makeBinPath [ openjdk11 ]}
+  '';
+
+  meta = with lib; {
+    description = "A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission";
+    homepage = "https://ghidra-sre.org/";
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    license = licenses.asl20;
+    maintainers = [ "roblabla" ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/tools/security/gitleaks/default.nix b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
index e37accbe7c35..cb8155e5a1fa 100644
--- a/nixpkgs/pkgs/tools/security/gitleaks/default.nix
+++ b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.2.5";
+  version = "8.2.7";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lHKdIQyGbQt6PmMaTRIUx1q/81Q4KOfQ8zLnpt9aGbk=";
+    sha256 = "sha256-kCKkPx0JEzmQn0y6UbVuwZXre7rDd4vKTudh6J3AxYA=";
   };
 
-  vendorSha256 = "sha256-cIwte59AdVOWMBUWE4gKZSHhU37HgEW4k0v+jUUyj1Q=";
+  vendorSha256 = "sha256-zJ9Xl4tRUWntQwco+EHzqmL1aVcOjp70LCCmRsboxQ4=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
index 36a3c07faa80..1e46df40f85f 100644
--- a/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg-pkcs11-scd/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnupg-pkcs11-scd";
-  version = "0.9.2";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "https://github.com/alonbl/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1mfh9zjbahjd788rq1mzx009pd7p1sq62sbz586rd7szif7pkpgx";
+    sha256 = "sha256-Kb8p53gPkhxtOhH2COKwSDwbtRDFr6hHMJAkndV8Ukk=";
   };
 
   buildInputs = [ pkcs11helper pkg-config openssl ];
diff --git a/nixpkgs/pkgs/tools/security/gnupg/22.nix b/nixpkgs/pkgs/tools/security/gnupg/23.nix
index 83b04a9fe790..ef7a5cf85e71 100644
--- a/nixpkgs/pkgs/tools/security/gnupg/22.nix
+++ b/nixpkgs/pkgs/tools/security/gnupg/23.nix
@@ -3,10 +3,10 @@
 
 # Each of the dependencies below are optional.
 # Gnupg can be built without them at the cost of reduced functionality.
-, guiSupport ? true, enableMinimal ? false
-, adns ? null , bzip2 ? null , gnutls ? null , libusb1 ? null , openldap ? null
-, pcsclite ? null , pinentry ? null , readline ? null , sqlite ? null , zlib ?
-null
+, guiSupport ? stdenv.isDarwin, enableMinimal ? false
+, adns ? null, bzip2 ? null , gnutls ? null , libusb1 ? null , openldap ? null
+, tpm2-tss ? null
+, pcsclite ? null , pinentry ? null , readline ? null , sqlite ? null , zlib ? null
 }:
 
 with lib;
@@ -15,12 +15,11 @@ assert guiSupport -> pinentry != null && enableMinimal == false;
 
 stdenv.mkDerivation rec {
   pname = "gnupg";
-
-  version = "2.2.27";
+  version = "2.3.3";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
-    sha256 = "1693s2rp9sjwvdslj94n03wnb6rxysjy0dli0q1698af044h1ril";
+    sha256 = "0dz9x0r5021bhk1kjh29m1q13xbslwb8yn9qzcp7b9m1lrnvi2ap";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -28,21 +27,27 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libgcrypt libassuan libksba libiconv npth gettext
     readline libusb1 gnutls adns openldap zlib bzip2 sqlite
-  ];
+  ] ++ optional (!stdenv.isDarwin) tpm2-tss ;
 
   patches = [
     ./fix-libusb-include-path.patch
-    ./0001-dirmngr-Only-use-SKS-pool-CA-for-SKS-pool.patch
     ./tests-add-test-cases-for-import-without-uid.patch
     ./allow-import-of-previously-known-keys-even-without-UI.patch
     ./accept-subkeys-with-a-good-revocation-but-no-self-sig.patch
+  ] ++ lib.optional stdenv.isDarwin [
+    # Remove an innocent warning printed on systems without procfs
+    # https://dev.gnupg.org/T5656
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/Homebrew/formula-patches/890be5f6af88e7913d177af87a50129049e681bb/gnupg/2.3.3-proc-error.patch";
+      sha256 = "sha256-oiTa7Nf+AEmhZ683CJEaCb559PXJ6RpSSgRLpxz4CKU=";
+    })
   ];
   postPatch = ''
     sed -i 's,hkps://hkps.pool.sks-keyservers.net,hkps://keys.openpgp.org,g' configure doc/dirmngr.texi doc/gnupg.info-1
     # Fix broken SOURCE_DATE_EPOCH usage - remove on the next upstream update
     sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.am
     sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.in
-  '' + lib.optionalString ( stdenv.isLinux && pcsclite != null) ''
+  '' + lib.optionalString (stdenv.isLinux && pcsclite != null) ''
     sed -i 's,"libpcsclite\.so[^"]*","${lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   '';
 
@@ -53,12 +58,12 @@ stdenv.mkDerivation rec {
     "--with-libassuan-prefix=${libassuan.dev}"
     "--with-ksba-prefix=${libksba.dev}"
     "--with-npth-prefix=${npth}"
-  ] ++ optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}";
-
+  ] ++ optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}"
+  ++ optional ( (!stdenv.isDarwin) && (tpm2-tss != null) ) "--with-tss=intel";
   postInstall = if enableMinimal
   then ''
     rm -r $out/{libexec,sbin,share}
-    for f in `find $out/bin -type f -not -name gpg`
+    for f in $(find $out/bin -type f -not -name gpg)
     do
       rm $f
     done
@@ -73,12 +78,17 @@ stdenv.mkDerivation rec {
     ln -s $out/bin/gpg $out/bin/gpg2
 
     # Make libexec tools available in PATH
-    ln -s -t $out/bin $out/libexec/*
+    for f in $out/libexec/; do
+      if [[ "$(basename $f)" == "gpg-wks-client" ]]; then continue; fi
+      ln -s $f $out/bin/$(basename $f)
+    done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     homepage = "https://gnupg.org";
-    description = "Modern (2.1) release of the GNU Privacy Guard, a GPL OpenPGP implementation";
+    description = "Modern release of the GNU Privacy Guard, a GPL OpenPGP implementation";
     license = licenses.gpl3Plus;
     longDescription = ''
       The GNU Privacy Guard is the GNU project's complete and free
diff --git a/nixpkgs/pkgs/tools/security/gnupg/allow-import-of-previously-known-keys-even-without-UI.patch b/nixpkgs/pkgs/tools/security/gnupg/allow-import-of-previously-known-keys-even-without-UI.patch
index 723a6952044e..98dda54fc7fa 100644
--- a/nixpkgs/pkgs/tools/security/gnupg/allow-import-of-previously-known-keys-even-without-UI.patch
+++ b/nixpkgs/pkgs/tools/security/gnupg/allow-import-of-previously-known-keys-even-without-UI.patch
@@ -17,10 +17,10 @@ Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
  1 file changed, 11 insertions(+), 33 deletions(-)
 
 diff --git a/g10/import.c b/g10/import.c
-index 95d419a..4fdf248 100644
+index 5d3162c..f9acf95 100644
 --- a/g10/import.c
 +++ b/g10/import.c
-@@ -1792,7 +1792,6 @@ import_one_real (ctrl_t ctrl,
+@@ -1788,7 +1788,6 @@ import_one_real (ctrl_t ctrl,
    size_t an;
    char pkstrbuf[PUBKEY_STRING_SIZE];
    int merge_keys_done = 0;
@@ -28,12 +28,12 @@ index 95d419a..4fdf248 100644
    KEYDB_HANDLE hd = NULL;
  
    if (r_valid)
-@@ -1829,14 +1828,6 @@ import_one_real (ctrl_t ctrl,
+@@ -1825,14 +1824,6 @@ import_one_real (ctrl_t ctrl,
        log_printf ("\n");
      }
  
 -
--  if (!uidnode )
+-  if (!uidnode)
 -    {
 -      if (!silent)
 -        log_error( _("key %s: no user ID\n"), keystr_from_pk(pk));
@@ -43,16 +43,17 @@ index 95d419a..4fdf248 100644
    if (screener && screener (keyblock, screener_arg))
      {
        log_error (_("key %s: %s\n"), keystr_from_pk (pk),
-@@ -1911,17 +1902,10 @@ import_one_real (ctrl_t ctrl,
+@@ -1907,18 +1898,10 @@ import_one_real (ctrl_t ctrl,
  	  }
      }
  
--  if (!delete_inv_parts (ctrl, keyblock, keyid, options ) )
+-  /* Delete invalid parts and bail out if there are no user ids left.  */
+-  if (!delete_inv_parts (ctrl, keyblock, keyid, options))
 -    {
 -      if (!silent)
 -        {
--          log_error( _("key %s: no valid user IDs\n"), keystr_from_pk(pk));
--          if (!opt.quiet )
+-          log_error ( _("key %s: no valid user IDs\n"), keystr_from_pk(pk));
+-          if (!opt.quiet)
 -            log_info(_("this may be caused by a missing self-signature\n"));
 -        }
 -      stats->no_user_id++;
@@ -65,7 +66,7 @@ index 95d419a..4fdf248 100644
  
    /* Get rid of deleted nodes.  */
    commit_kbnode (&keyblock);
-@@ -1931,24 +1915,11 @@ import_one_real (ctrl_t ctrl,
+@@ -1927,24 +1911,11 @@ import_one_real (ctrl_t ctrl,
      {
        apply_keep_uid_filter (ctrl, keyblock, import_filter.keep_uid);
        commit_kbnode (&keyblock);
@@ -90,7 +91,7 @@ index 95d419a..4fdf248 100644
      }
  
    /* The keyblock is valid and ready for real import.  */
-@@ -2006,6 +1977,13 @@ import_one_real (ctrl_t ctrl,
+@@ -2002,6 +1973,13 @@ import_one_real (ctrl_t ctrl,
        err = 0;
        stats->skipped_new_keys++;
      }
diff --git a/nixpkgs/pkgs/tools/security/gnupg/fix-libusb-include-path.patch b/nixpkgs/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
index a5432f8e3d95..f20249b1cad1 100644
--- a/nixpkgs/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
+++ b/nixpkgs/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
@@ -1,6 +1,6 @@
 --- a/configure
 +++ b/configure
-@@ -8987,8 +8987,7 @@
+@@ -9281,8 +9281,7 @@ fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking libusb include dir" >&5
  $as_echo_n "checking libusb include dir... " >&6; }
     usb_incdir_found="no"
diff --git a/nixpkgs/pkgs/tools/security/go365/default.nix b/nixpkgs/pkgs/tools/security/go365/default.nix
index 432dfb49da1e..02e4c32c6cee 100644
--- a/nixpkgs/pkgs/tools/security/go365/default.nix
+++ b/nixpkgs/pkgs/tools/security/go365/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildGoModule
 , fetchFromGitHub
 }:
@@ -16,7 +17,7 @@ buildGoModule rec {
 
   vendorSha256 = "0fx2966xfzmi8yszw1cq6ind3i2dvacdwfs029v3bq0n8bvbm3r2";
 
-  postInstall = ''
+  postInstall = lib.optionalString (!stdenv.isDarwin) ''
     mv $out/bin/Go365 $out/bin/$pname
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/gomapenum/default.nix b/nixpkgs/pkgs/tools/security/gomapenum/default.nix
index f77b513c42da..ecfc74cac54c 100644
--- a/nixpkgs/pkgs/tools/security/gomapenum/default.nix
+++ b/nixpkgs/pkgs/tools/security/gomapenum/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gomapenum";
-  version = "1.0.0";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "nodauf";
     repo = "GoMapEnum";
     rev = "v${version}";
-    sha256 = "sha256-6WZTmRse3mj1bimHE81JdSc4VKpMFbcJN3U4zgHMzJc=";
+    sha256 = "sha256-AjHqD9r4ZU5NCqXEovvQuV4eeMLBy2jO/uqZQiCTyNI=";
   };
 
-  vendorSha256 = "sha256-Z/uLZIPKd75P9nI7kTFOwzWFkRTVwUojYEQms4OJ6Bk=";
+  vendorSha256 = "sha256-65NF814w1IUgSDuLLIqfbsf22va4AUC2E05ZgmuOHGY=";
 
   postInstall = ''
     mv $out/bin/src $out/bin/$pname
diff --git a/nixpkgs/pkgs/tools/security/gopass/default.nix b/nixpkgs/pkgs/tools/security/gopass/default.nix
index 3555f65c40d0..50dfe3b8ce63 100644
--- a/nixpkgs/pkgs/tools/security/gopass/default.nix
+++ b/nixpkgs/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.13.0";
+  version = "1.13.1";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,7 +21,7 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MBpk84H3Ng/+rCjW2Scm/su0/5kgs7IzvFk/bFLNzXY=";
+    sha256 = "sha256-g/ICT489uW3a5EnsxJPYOnV+yeOFfaFPMowdIK0M1Fc=";
   };
 
   vendorSha256 = "sha256-HGc6jUp4WO5P5dwfa0r7+X78a8us9fWrf+/IOotZHqk=";
@@ -59,7 +59,7 @@ buildGoModule rec {
     description = "The slightly more awesome Standard Unix Password Manager for Teams. Written in Go";
     homepage = "https://www.gopass.pw/";
     license = licenses.mit;
-    maintainers = with maintainers; [ andir rvolosatovs ];
+    maintainers = with maintainers; [ rvolosatovs ];
     changelog = "https://github.com/gopasspw/gopass/raw/v${version}/CHANGELOG.md";
 
     longDescription = ''
diff --git a/nixpkgs/pkgs/tools/security/gopass/summon.nix b/nixpkgs/pkgs/tools/security/gopass/summon.nix
new file mode 100644
index 000000000000..c1be7c9eb081
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gopass/summon.nix
@@ -0,0 +1,39 @@
+{ lib
+, makeWrapper
+, buildGoModule
+, fetchFromGitHub
+, gopass
+}:
+
+buildGoModule rec {
+  pname = "gopass-summon-provider";
+  version = "1.12.0";
+
+  src = fetchFromGitHub {
+    owner = "gopasspw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-mRZXczIlW1s0VGZJ+KQue4Dz6XCXGfl56+g6iRv2lZg=";
+  };
+
+  vendorSha256 = "sha256-fiV4rtel2jOw6y/ukOZHeFuNVqxHS3rnYhXJ6JZ+a/8=";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}"
+  ];
+
+  postFixup = ''
+    wrapProgram $out/bin/gopass-summon-provider --prefix PATH : "${lib.makeBinPath [ gopass ]}"
+  '';
+
+  meta = with lib; {
+    description = "Gopass Summon Provider";
+    homepage = "https://www.gopass.pw/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix b/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
index 636358f6ea63..8e0fb95c7c43 100644
--- a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/gpgstats/default.nix b/nixpkgs/pkgs/tools/security/gpgstats/default.nix
deleted file mode 100644
index f6f6d3678109..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/security/grype/default.nix b/nixpkgs/pkgs/tools/security/grype/default.nix
index 9d327f37af6a..30206fab0eb9 100644
--- a/nixpkgs/pkgs/tools/security/grype/default.nix
+++ b/nixpkgs/pkgs/tools/security/grype/default.nix
@@ -1,39 +1,71 @@
 { lib
 , buildGoModule
-, docker
 , fetchFromGitHub
+, installShellFiles
 }:
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.28.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Mc0bO9BDcIXEoHwhQDbX9g84kagcT3gVz8PPxXpG7dw=";
+    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;
+    postFetch = ''
+      cd "$out"
+      commit="$(git rev-parse HEAD)"
+      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-su0dg9Gidd8tQKM5IzX6/GC5jk8SCIO+qsI3UGlvpwg=";
+  vendorSha256 = "sha256-2T2fw1nOycP1LxUuMSmz1ke2bg4yox/tIAveXCNJG9Y=";
 
-  propagatedBuildInputs = [ docker ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
   ldflags = [
-    "-s" "-w" "-X github.com/anchore/grype/internal/version.version=${version}"
+    "-s"
+    "-w"
+    "-X github.com/anchore/grype/internal/version.version=${version}"
+    "-X github.com/anchore/grype/internal/version.gitTreeState=clean"
   ];
 
+  preBuild = ''
+    # grype version also displays the version of the syft library used
+    # we need to grab it from the go.sum and add an ldflag for it
+    SYFTVERSION="$(grep "github.com/anchore/syft" go.sum -m 1 | awk '{print $2}')"
+    ldflags+=" -X github.com/anchore/grype/internal/version.syftVersion=$SYFTVERSION"
+  '';
+
   # Tests require a running Docker instance
   doCheck = false;
 
+  postInstall = ''
+    installShellCompletion --cmd grype \
+      --bash <($out/bin/grype completion bash) \
+      --fish <($out/bin/grype completion fish) \
+      --zsh <($out/bin/grype completion zsh)
+  '';
+
   meta = with lib; {
+    homepage = "https://github.com/anchore/grype";
+    changelog = "https://github.com/anchore/grype/releases/tag/v${version}";
     description = "Vulnerability scanner for container images and filesystems";
     longDescription = ''
-      As a vulnerability scanner is grype abale to scan the contents of a container
-      image or filesystem to find known vulnerabilities.
+      As a vulnerability scanner grype is able to scan the contents of a
+      container image or filesystem to find known vulnerabilities.
     '';
-    homepage = "https://github.com/anchore/grype";
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ fab ];
+    maintainers = with maintainers; [ fab jk ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/haka/default.nix b/nixpkgs/pkgs/tools/security/haka/default.nix
index 809902e88976..3ea38e060407 100644
--- a/nixpkgs/pkgs/tools/security/haka/default.nix
+++ b/nixpkgs/pkgs/tools/security/haka/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake, swig, wireshark, check, rsync, libpcap, gawk, libedit, pcre }:
+{ lib, stdenv, fetchurl, cmake, swig, wireshark, check, rsync, libpcap, gawk, libedit, pcre, nixosTests }:
 
 let version = "0.3.0"; in
 
@@ -24,6 +24,8 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ swig wireshark check rsync libpcap gawk libedit pcre ];
 
+  passthru.tests = { inherit (nixosTests) haka; };
+
   meta = {
     description = "A collection of tools that allows capturing TCP/IP packets and filtering them based on Lua policy files";
     homepage = "http://www.haka-security.org/";
diff --git a/nixpkgs/pkgs/tools/security/haveged/default.nix b/nixpkgs/pkgs/tools/security/haveged/default.nix
index b088f07c6e3d..2386bb90d1ac 100644
--- a/nixpkgs/pkgs/tools/security/haveged/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/honggfuzz/default.nix b/nixpkgs/pkgs/tools/security/honggfuzz/default.nix
index 62b335ef5c7c..7333c20fd7b8 100644
--- a/nixpkgs/pkgs/tools/security/honggfuzz/default.nix
+++ b/nixpkgs/pkgs/tools/security/honggfuzz/default.nix
@@ -1,17 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, callPackage, makeWrapper
-, clang, llvm, libbfd, libopcodes, libunwind, libblocksruntime
-}:
+{ lib, stdenv, fetchFromGitHub, callPackage, makeWrapper, clang, llvm, libbfd
+, libopcodes, libunwind, libblocksruntime }:
 
 let
   honggfuzz = stdenv.mkDerivation rec {
     pname = "honggfuzz";
-    version = "2.4";
+    version = "2.5";
 
     src = fetchFromGitHub {
       owner = "google";
       repo = pname;
       rev = version;
-      sha256 = "sha256-sU5lmlfmvVWo4K96sI+xQsPfTMd1wsLbihcKI4aTj6g=";
+      sha256 = "sha256-TkyUKmiiSAfCnfQhSOUxuce6+dRyMmHy7vFK59jPIxM=";
     };
 
     postPatch = ''
@@ -28,7 +27,8 @@ let
     makeFlags = [ "PREFIX=$(out)" ];
 
     meta = {
-      description = "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer";
+      description =
+        "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer";
       longDescription = ''
         Honggfuzz is a security oriented, feedback-driven, evolutionary,
         easy-to-use fuzzer with interesting analysis options. It is
@@ -42,9 +42,9 @@ let
         fuzzing), and it will work its way up, expanding it by utilizing
         feedback-based coverage metrics.
       '';
-      homepage    = "https://honggfuzz.dev/";
-      license     = lib.licenses.asl20;
-      platforms   = ["x86_64-linux"];
+      homepage = "https://honggfuzz.dev/";
+      license = lib.licenses.asl20;
+      platforms = [ "x86_64-linux" ];
       maintainers = with lib.maintainers; [ cpu ];
     };
   };
diff --git a/nixpkgs/pkgs/tools/security/httpx/default.nix b/nixpkgs/pkgs/tools/security/httpx/default.nix
index 3e9164befc96..1e57679b4ad4 100644
--- a/nixpkgs/pkgs/tools/security/httpx/default.nix
+++ b/nixpkgs/pkgs/tools/security/httpx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "httpx";
-  version = "1.1.4";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "httpx";
     rev = "v${version}";
-    sha256 = "sha256-Mis3DQwcTazHVF7hkTRQ2OtQxeGut5LRUAloBXCdq3s=";
+    sha256 = "sha256-XA099gBp52g0RUbbFSE8uFa7gh56bO8H66KaFAtK1RU=";
   };
 
-  vendorSha256 = "sha256-53Mvc637J306MJLw+l1amAuZhUE/NdDvuWEe0fg4Hog=";
+  vendorSha256 = "sha256-Qx0QaPKpEq4U+G3qdfMN4EVyY5zI2SyzcK/U6o6loHE=";
 
   meta = with lib; {
     description = "Fast and multi-purpose HTTP toolkit";
diff --git a/nixpkgs/pkgs/tools/security/ipscan/default.nix b/nixpkgs/pkgs/tools/security/ipscan/default.nix
index a2ec75cfd2e2..1d1d4797a9bb 100644
--- a/nixpkgs/pkgs/tools/security/ipscan/default.nix
+++ b/nixpkgs/pkgs/tools/security/ipscan/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ipscan";
-  version = "3.7.6";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "https://github.com/angryip/ipscan/releases/download/${version}/ipscan_${version}_all.deb";
-    sha256 = "sha256-IjbuCCwcAOlCM2XbM5qBGjaGn8xNNDjoyJmCzP5JF/Q=";
+    sha256 = "sha256-064V1KnMXBnjgM6mBrwkezdl+Tko3Xri0D4fCk9iPbk=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/tools/security/jadx/default.nix b/nixpkgs/pkgs/tools/security/jadx/default.nix
index ec94b0e73d4f..eae06ea64910 100644
--- a/nixpkgs/pkgs/tools/security/jadx/default.nix
+++ b/nixpkgs/pkgs/tools/security/jadx/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "jadx";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "skylot";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-6I8pK1DZkjAf6XljREMasoZQGR9YGDxn6+sdQ/nf31A=";
+    hash = "sha256-5meBBBijX49EQc9VejySwiIKsyCBEKGKIXvH7en6XuU=";
   };
 
   deps = stdenv.mkDerivation {
@@ -40,7 +40,7 @@ let
     '';
 
     outputHashMode = "recursive";
-    outputHash = "sha256-i+vK085P1T182wW4PajpDyZgyupKHlrx1yJgzJdHETU=";
+    outputHash = "sha256-t+CkjoZqWqphxbg/4E3/7U8nKoV0AlITyRScLN8x6yY=";
   };
 in stdenv.mkDerivation {
   inherit pname version src;
diff --git a/nixpkgs/pkgs/tools/security/jaeles/default.nix b/nixpkgs/pkgs/tools/security/jaeles/default.nix
new file mode 100644
index 000000000000..4580f08248d2
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/jaeles/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "jaeles";
+  version = "0.17";
+
+  src = fetchFromGitHub {
+    owner = "jaeles-project";
+    repo = pname;
+    rev = "beta-v${version}";
+    hash = "sha256-IGB+TYMOOO7fvRfDe9y+JSXuDSMDVJK+N4hS+kezG48=";
+  };
+
+  vendorSha256 = "sha256-R2cP5zNuGUs0/KeaGhbQm1m5gVBVhpcFrS/jsph3EBk=";
+
+  # Tests want to download signatures
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tool for automated Web application testing";
+    homepage = "https://github.com/jaeles-project/jaeles";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/john/default.nix b/nixpkgs/pkgs/tools/security/john/default.nix
index e56e99909fff..be6514630f56 100644
--- a/nixpkgs/pkgs/tools/security/john/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/jwt-cli/default.nix b/nixpkgs/pkgs/tools/security/jwt-cli/default.nix
index bf9a93f162b9..77e5ce08913e 100644
--- a/nixpkgs/pkgs/tools/security/jwt-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/jwt-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jwt-cli";
-  version = "5.0.0";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "mike-engel";
     repo = pname;
     rev = version;
-    sha256 = "0za4mpzry6i5gki524kp4by0n74pbc96cvzrkq286v8w033wj01i";
+    sha256 = "0w7fqmh8gihknvdamnq1n519253d4lxrpv378jajca9x906rqy1r";
   };
 
-  cargoSha256 = "1l5fhr5c2ygdlnpwsx62fm8di8li0wf15nvvcnnivjcic7f9b5j0";
+  cargoSha256 = "0b7m23azy8cb8d5wkawnw6nv8k7lfnfwc06swmbkfvg8vcxfsacs";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/nixpkgs/pkgs/tools/security/kbs2/default.nix b/nixpkgs/pkgs/tools/security/kbs2/default.nix
index 5cccc1dd5f52..beaa06fd8360 100644
--- a/nixpkgs/pkgs/tools/security/kbs2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/keybase/default.nix b/nixpkgs/pkgs/tools/security/keybase/default.nix
index 058ed8d1487a..1f53dc2a8aec 100644
--- a/nixpkgs/pkgs/tools/security/keybase/default.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, substituteAll, lib, buildGoPackage, fetchFromGitHub
+{ stdenv, substituteAll, lib, buildGoModule, fetchFromGitHub
 , AVFoundation, AudioToolbox, ImageIO, CoreMedia
-, Foundation, CoreGraphics, MediaToolbox
-, gnupg
+, Foundation, CoreGraphics, MediaToolbox, gnupg
 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "keybase";
-  version = "5.8.1";
+  version = "5.9.3";
 
-  goPackagePath = "github.com/keybase/client";
-  subPackages = [ "go/kbnm" "go/keybase" ];
+  modRoot = "go";
+  subPackages = [ "kbnm" "keybase" ];
 
   dontRenameImports = true;
 
@@ -17,8 +16,9 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "sha256-SeBZtrRsWTv5yBBsp18daKCNAr70OalH3shlKf+aiEU=";
+    sha256 = "sha256-vPQ1hBd33DwsW0b79kNH1yd7mrwkoftIYFgmMVxC+78=";
   };
+  vendorSha256 = "sha256-ckAnSSSEF00gbgxnPAi2Pi8TNu3nmAahK7TP6HnfmNo=";
 
   patches = [
     (substituteAll {
@@ -30,12 +30,13 @@ buildGoPackage rec {
 
   buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
   tags = [ "production" ];
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     homepage = "https://www.keybase.io/";
     description = "The Keybase official command-line utility and service";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ avaq carlsverre np rvolosatovs Br1ght0ne ];
+    maintainers = with maintainers; [ avaq carlsverre np rvolosatovs Br1ght0ne shofius ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/keybase/gui.nix b/nixpkgs/pkgs/tools/security/keybase/gui.nix
index 8912961e3520..d5f04099f756 100644
--- a/nixpkgs/pkgs/tools/security/keybase/gui.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/gui.nix
@@ -4,16 +4,16 @@
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20210930160723.fefa22edc1";
+  versionSuffix = "20220120174718.95a3939b3a";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "5.8.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "5.9.0"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "cqbGvnJ6wx5boVe78Ju8CimH1H08DfkM5nmwbV0uKG0=";
+    sha256 = "sha256-Wdl5pZFIz+mDkkE0EDpLGH/eGWYoBbLV05LYJgkwpI4=";
   };
 
   nativeBuildInputs = [
@@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.keybase.io/";
     description = "The Keybase official GUI";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ avaq rvolosatovs puffnfresh np Br1ght0ne ];
+    maintainers = with maintainers; [ avaq rvolosatovs puffnfresh np Br1ght0ne shofius ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/keybase/kbfs.nix b/nixpkgs/pkgs/tools/security/keybase/kbfs.nix
index dc49f9d9e77d..52fedf3feef4 100644
--- a/nixpkgs/pkgs/tools/security/keybase/kbfs.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/kbfs.nix
@@ -1,22 +1,21 @@
-{ lib, buildGoPackage, fetchFromGitHub, keybase }:
+{ lib, buildGoModule, fetchFromGitHub, keybase }:
 
-buildGoPackage {
+buildGoModule {
   pname = "kbfs";
 
-  inherit (keybase) src version;
+  inherit (keybase) src version vendorSha256;
 
-  goPackagePath = "github.com/keybase/client";
-  subPackages = [ "go/kbfs/kbfsfuse" "go/kbfs/redirector" "go/kbfs/kbfsgit/git-remote-keybase" ];
-
-  dontRenameImports = true;
+  modRoot = "go";
+  subPackages = [ "kbfs/kbfsfuse" "kbfs/redirector" "kbfs/kbfsgit/git-remote-keybase" ];
 
   tags = [ "production" ];
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     homepage = "https://keybase.io/docs/kbfs";
     description = "The Keybase filesystem";
     platforms = platforms.unix;
-    maintainers = with maintainers; [ avaq rvolosatovs bennofs np ];
+    maintainers = with maintainers; [ avaq rvolosatovs bennofs np shofius ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/keycard-cli/default.nix b/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
index 93384df9b42e..7e28bb7c0bfc 100644
--- a/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/keycard-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub, pkg-config, pcsclite }:
+{ lib, stdenv, buildGoPackage, fetchFromGitHub, pkg-config, pcsclite }:
 
 buildGoPackage rec {
   pname = "keycard-cli";
@@ -26,5 +26,6 @@ buildGoPackage rec {
     homepage = "https://keycard.status.im";
     license = licenses.mpl20;
     maintainers = [ maintainers.zimbatm ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/keycard-cli.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/knockpy/default.nix b/nixpkgs/pkgs/tools/security/knockpy/default.nix
index eedd436dc2df..5b4a2cbc33b3 100644
--- a/nixpkgs/pkgs/tools/security/knockpy/default.nix
+++ b/nixpkgs/pkgs/tools/security/knockpy/default.nix
@@ -6,13 +6,12 @@
 python3.pkgs.buildPythonApplication rec {
   pname = "knockpy";
   version = "5.2.0";
-  disabled = python3.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "guelfoweb";
     repo = "knock";
     rev = version;
-    sha256 = "sha256-QPOIpgJt+09zRvSavRxuVEN+GGk4Z1CYCXti37YaO7o=";
+    hash = "sha256-QPOIpgJt+09zRvSavRxuVEN+GGk4Z1CYCXti37YaO7o=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -27,7 +26,9 @@ python3.pkgs.buildPythonApplication rec {
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "knockpy" ];
+  pythonImportsCheck = [
+    "knockpy"
+  ];
 
   meta = with lib; {
     description = "Tool to scan subdomains";
diff --git a/nixpkgs/pkgs/tools/security/kube-hunter/default.nix b/nixpkgs/pkgs/tools/security/kube-hunter/default.nix
index 6f15bde0104e..cbd4e4e3150f 100644
--- a/nixpkgs/pkgs/tools/security/kube-hunter/default.nix
+++ b/nixpkgs/pkgs/tools/security/kube-hunter/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "kube-hunter";
-  version = "0.6.3";
+  version = "0.6.5";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OXiFWdbp6L9S57gRIROzuvXZ0R16lvKDqZR0kW0eEYQ=";
+    sha256 = "sha256-2pmViizQLwyTdP6J92ynvdIdqkfgc6SIhsll85g9pHA=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/security/kubescape/default.nix b/nixpkgs/pkgs/tools/security/kubescape/default.nix
index 0a13b54d2bfa..d41884242137 100644
--- a/nixpkgs/pkgs/tools/security/kubescape/default.nix
+++ b/nixpkgs/pkgs/tools/security/kubescape/default.nix
@@ -6,20 +6,20 @@
 
 buildGoModule rec {
   pname = "kubescape";
-  version = "1.0.136";
+  version = "2.0.147";
 
   src = fetchFromGitHub {
     owner = "armosec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-g7gM+fZIDb6YK3QDiBqiQaTEyFtIQ30mTe6AAR3S3iw=";
+    hash = "sha256-5ESAvLCAQ6ttpuc3YGkUwUvvhHZj+QYXyx30fhVSP1Y=";
   };
 
   nativeBuildInputs = [
     installShellFiles
   ];
 
-  vendorSha256 = "sha256-hEj69RsYj+KxfZPri2j+vFxUU2S8wuK85EYGND5wtWg=";
+  vendorSha256 = "sha256-xbOUggbu/4bNT07bD3TU/7CIDvgi6OtZLQzSqQykwRY=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/security/kubesec/default.nix b/nixpkgs/pkgs/tools/security/kubesec/default.nix
index d15fab720f96..001e851912a7 100644
--- a/nixpkgs/pkgs/tools/security/kubesec/default.nix
+++ b/nixpkgs/pkgs/tools/security/kubesec/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-z1v+xm0ZWs8F5KtltBSDx9W+xNqRsfvAgQUKgrZa+28=";
   };
 
-  vendorSha256 = "sha256-/2u92KvfzbJxJjh1cy9+4AuM5Qw1tK9Hu0xjRs0nhBE=";
+  vendorSha256 = "sha256-t2GZaLa/Pc/TCjqTNGuLnOFSepExmE2xA8pc9HkUtcs=";
 
   # Tests wants to download the kubernetes schema for use with kubeval
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/libmodsecurity/default.nix b/nixpkgs/pkgs/tools/security/libmodsecurity/default.nix
index 03aed8c50e06..65512eb8be67 100644
--- a/nixpkgs/pkgs/tools/security/libmodsecurity/default.nix
+++ b/nixpkgs/pkgs/tools/security/libmodsecurity/default.nix
@@ -1,34 +1,57 @@
-{ 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
+}:
 
 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;
 
   meta = with lib; {
+    homepage = "https://github.com/SpiderLabs/ModSecurity";
     description = ''
       ModSecurity v3 library component.
     '';
@@ -40,7 +63,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/nixpkgs/pkgs/tools/security/libtpms/default.nix b/nixpkgs/pkgs/tools/security/libtpms/default.nix
index b49ce7305deb..d93f0135c20a 100644
--- a/nixpkgs/pkgs/tools/security/libtpms/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/lmp/default.nix b/nixpkgs/pkgs/tools/security/lmp/default.nix
index 6fd544df20a4..2f7f0283f904 100644
--- a/nixpkgs/pkgs/tools/security/lmp/default.nix
+++ b/nixpkgs/pkgs/tools/security/lmp/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-VL/Hp7YaXNcV9JPb3kgRHcdhJJ5p3KHUf3hHbT3gKVk=";
   };
 
-  vendorSha256 = "sha256-K3jD+r/JFQH5QeLHatCzTdgiABbmKOd/jR3Di10w6mo=";
+  vendorSha256 = "sha256-3NTaJ/Y3Tc6UGLfYTKjZxAAI43GJyZQ5wQVYbnXHSYc=";
 
   meta = with lib; {
     description = "Scanning and validation toolkit for the Log4J vulnerability";
diff --git a/nixpkgs/pkgs/tools/security/log4j-sniffer/default.nix b/nixpkgs/pkgs/tools/security/log4j-sniffer/default.nix
index 07d966353abf..0bc08fb6e3c8 100644
--- a/nixpkgs/pkgs/tools/security/log4j-sniffer/default.nix
+++ b/nixpkgs/pkgs/tools/security/log4j-sniffer/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "log4j-sniffer";
-  version = "1.0.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "palantir";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2scESCuENM4m3YrxPjoXcPKEkBPTMWOGJR3WenkTNBA=";
+    sha256 = "sha256-NojFXonov/80p+6kimfbiMK/v4najiMe//xFDnOi5KE=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/security/log4j-vuln-scanner/default.nix b/nixpkgs/pkgs/tools/security/log4j-vuln-scanner/default.nix
index 67bfa89ad2eb..a33848b5d487 100644
--- a/nixpkgs/pkgs/tools/security/log4j-vuln-scanner/default.nix
+++ b/nixpkgs/pkgs/tools/security/log4j-vuln-scanner/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "log4j-vuln-scanner";
-  version = "0.11";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner = "hillu";
     repo = "local-log4j-vuln-scanner";
     rev = "v${version}";
-    sha256 = "sha256-YGo2dhfqLPNP8O9gdRJfxKmEK/pKd17WNTXQ2cq78qg=";
+    sha256 = "sha256-YMD2233EdrrF1SLjwiRcNr53b7Rf5Tu8CZC43QhSY7c=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/security/lynis/default.nix b/nixpkgs/pkgs/tools/security/lynis/default.nix
index fbca5633fcad..3c198e9b7010 100644
--- a/nixpkgs/pkgs/tools/security/lynis/default.nix
+++ b/nixpkgs/pkgs/tools/security/lynis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lynis";
-  version = "3.0.6";
+  version = "3.0.7";
 
   src = fetchFromGitHub {
     owner = "CISOfy";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RIz0GTuw3QJKSk25zl4c34o+HgMkpclzoPEbzKhCNqg=";
+    sha256 = "sha256-tO9/egY4eNwQpCZU0zx8G3k4UYsf7S3tUdr6pCMTAWU=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/maigret/default.nix b/nixpkgs/pkgs/tools/security/maigret/default.nix
index 08ef82ff9d6e..316fbad81ba2 100644
--- a/nixpkgs/pkgs/tools/security/maigret/default.nix
+++ b/nixpkgs/pkgs/tools/security/maigret/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maigret";
-  version = "0.3.1";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "soxoj";
     repo = pname;
     rev = "v${version}";
-    sha256 = "cq7pATICVQa2yTx2uiP58OBTn4B6iCjIB6LMmpaQfx0=";
+    sha256 = "0igfxg238awdn1ly8s3r655yi3gpxink7g2hr6xb0c1nrm7z0kad";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
index a5808532cafc..eb6e90ac7758 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile
+++ b/nixpkgs/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.21"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.30"
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
index 84330722835e..5711b8756e3f 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 0b16a2cd771a6afd286188da1c60c9fd772ab0f1
-  ref: refs/tags/6.1.21
+  revision: aab66244adaadb275bd780c1301fea51f444426a
+  ref: refs/tags/6.1.30
   specs:
-    metasploit-framework (6.1.21)
+    metasploit-framework (6.1.30)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -31,9 +31,9 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.66)
+      metasploit-payloads (= 2.0.74)
       metasploit_data_models
-      metasploit_payloads-mettle (= 1.0.17)
+      metasploit_payloads-mettle (= 1.0.18)
       mqtt
       msgpack
       nessus_rest
@@ -47,7 +47,7 @@ GIT
       openvas-omp
       packetfu
       patch_finder
-      pcaprub (= 0.12.4)
+      pcaprub
       pdf-reader
       pg
       puma
@@ -75,7 +75,7 @@ GIT
       rex-text
       rex-zip
       ruby-macho
-      ruby_smb (~> 2.0)
+      ruby_smb (~> 3.0)
       rubyntlm
       rubyzip
       sinatra
@@ -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,23 +128,23 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.543.0)
-    aws-sdk-core (3.125.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.288.0)
-      aws-sdk-core (~> 3, >= 3.125.0)
+    aws-sdk-ec2 (1.299.0)
+      aws-sdk-core (~> 3, >= 3.126.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.65.0)
-      aws-sdk-core (~> 3, >= 3.125.0)
+    aws-sdk-iam (1.67.0)
+      aws-sdk-core (~> 3, >= 3.126.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.53.0)
-      aws-sdk-core (~> 3, >= 3.125.0)
+    aws-sdk-kms (1.54.0)
+      aws-sdk-core (~> 3, >= 3.126.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.110.0)
-      aws-sdk-core (~> 3, >= 3.125.0)
+    aws-sdk-s3 (1.112.0)
+      aws-sdk-core (~> 3, >= 3.126.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.4)
     aws-sigv4 (1.4.0)
@@ -152,17 +152,17 @@ GEM
     bcrypt (3.1.16)
     bcrypt_pbkdf (1.1.0)
     bindata (2.4.10)
-    bson (4.13.0)
+    bson (4.14.1)
     builder (3.2.4)
     concurrent-ruby (1.0.5)
     cookiejar (0.3.3)
     crass (1.0.6)
     daemons (1.4.1)
-    dnsruby (1.61.7)
+    dnsruby (1.61.9)
       simpleidn (~> 0.1)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
-    ed25519 (1.2.4)
+    ed25519 (1.3.0)
     em-http-request (1.1.7)
       addressable (>= 2.3.4)
       cookiejar (!= 0.3.1)
@@ -175,29 +175,33 @@ GEM
     eventmachine (1.2.7)
     faker (2.19.0)
       i18n (>= 1.6, < 2)
-    faraday (1.8.0)
+    faraday (1.10.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
-      faraday-httpclient (~> 1.0.1)
+      faraday-httpclient (~> 1.0)
+      faraday-multipart (~> 1.0)
       faraday-net_http (~> 1.0)
-      faraday-net_http_persistent (~> 1.1)
+      faraday-net_http_persistent (~> 1.0)
       faraday-patron (~> 1.0)
       faraday-rack (~> 1.0)
-      multipart-post (>= 1.2, < 3)
+      faraday-retry (~> 1.0)
       ruby2_keywords (>= 0.0.4)
     faraday-em_http (1.0.0)
     faraday-em_synchrony (1.0.0)
     faraday-excon (1.1.0)
     faraday-httpclient (1.0.1)
+    faraday-multipart (1.0.3)
+      multipart-post (>= 1.2, < 3)
     faraday-net_http (1.0.1)
     faraday-net_http_persistent (1.2.0)
     faraday-patron (1.0.0)
     faraday-rack (1.0.0)
+    faraday-retry (1.0.3)
     faye-websocket (0.11.1)
       eventmachine (>= 0.12.0)
       websocket-driver (>= 0.5.1)
-    ffi (1.15.4)
+    ffi (1.15.5)
     filesize (0.2.0)
     gssapi (1.3.1)
       ffi (>= 1.0.1)
@@ -212,12 +216,12 @@ GEM
       domain_name (~> 0.5)
     http_parser.rb (0.8.0)
     httpclient (2.8.3)
-    i18n (1.8.11)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
-    io-console (0.5.9)
+    io-console (0.5.11)
     irb (1.3.6)
       reline (>= 0.2.5)
-    jmespath (1.4.0)
+    jmespath (1.6.0)
     jsobfu (0.4.2)
       rkelly-remix
     json (2.6.1)
@@ -225,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)
@@ -247,7 +251,7 @@ GEM
       activemodel (~> 6.0)
       activesupport (~> 6.0)
       railties (~> 6.0)
-    metasploit-payloads (2.0.66)
+    metasploit-payloads (2.0.74)
     metasploit_data_models (5.0.4)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -258,12 +262,12 @@ GEM
       railties (~> 6.0)
       recog (~> 2.0)
       webrick
-    metasploit_payloads-mettle (1.0.17)
+    metasploit_payloads-mettle (1.0.18)
     method_source (1.0.0)
-    mini_portile2 (2.6.1)
+    mini_portile2 (2.7.1)
     minitest (5.15.0)
     mqtt (0.5.0)
-    msgpack (1.4.2)
+    msgpack (1.4.5)
     multi_json (1.15.0)
     multipart-post (2.1.1)
     mustermann (1.1.1)
@@ -274,11 +278,11 @@ GEM
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.8)
-    nokogiri (1.12.5)
-      mini_portile2 (~> 2.6.1)
+    nokogiri (1.13.1)
+      mini_portile2 (~> 2.7.0)
       racc (~> 1.4)
     nori (2.6.0)
-    octokit (4.21.0)
+    octokit (4.22.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
     openssl-ccm (1.2.2)
@@ -287,20 +291,20 @@ GEM
     packetfu (1.1.13)
       pcaprub
     patch_finder (1.0.2)
-    pcaprub (0.12.4)
-    pdf-reader (2.7.0)
+    pcaprub (0.13.1)
+    pdf-reader (2.9.1)
       Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
-    pg (1.2.3)
+    pg (1.3.2)
     public_suffix (4.0.6)
-    puma (5.5.2)
+    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)
@@ -309,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)
@@ -330,7 +334,7 @@ GEM
       rex-core
       rex-struct2
       rex-text
-    rex-core (0.1.20)
+    rex-core (0.1.26)
     rex-encoder (0.1.6)
       metasm
       rex-arch
@@ -349,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
@@ -372,15 +376,15 @@ GEM
       rex-text
     rexml (3.2.5)
     rkelly-remix (0.0.7)
-    ruby-macho (2.5.1)
+    ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (2.0.12)
+    ruby_smb (3.0.4)
       bindata
       openssl-ccm
       openssl-cmac
       rubyntlm
-      windows_error
+      windows_error (>= 0.1.3)
     rubyntlm (0.6.3)
     rubyzip (2.3.2)
     sawyer (0.8.2)
@@ -388,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)
@@ -400,7 +404,7 @@ GEM
       daemons (~> 1.0, >= 1.0.9)
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
-    thor (1.1.0)
+    thor (1.2.1)
     tilt (2.0.10)
     ttfunk (1.7.0)
     tzinfo (2.0.4)
@@ -418,7 +422,7 @@ GEM
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     win32api (0.1.0)
-    windows_error (0.1.2)
+    windows_error (0.1.3)
     winrm (2.3.6)
       builder (>= 2.1.2)
       erubi (~> 1.8)
@@ -428,12 +432,12 @@ 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.1)
+    zeitwerk (2.5.4)
 
 PLATFORMS
   ruby
@@ -442,4 +446,4 @@ DEPENDENCIES
   metasploit-framework!
 
 BUNDLED WITH
-   2.2.24
+   2.3.6
diff --git a/nixpkgs/pkgs/tools/security/metasploit/default.nix b/nixpkgs/pkgs/tools/security/metasploit/default.nix
index e2659abe6ab3..dcaeafc428a0 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/default.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.1.21";
+  version = "6.1.30";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-43abc6XUmLZZ+KuaAqyT/fJT+79JWKeRRA41NJOWoPY=";
+    sha256 = "sha256-QSKJIcHaWsxbHe2uTW5MnZFMoK1fOa6TejIT2Mq0z7k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
index 9e6f49e96d7f..531b0b6c24e8 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
+++ b/nixpkgs/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,60 +104,60 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07ydbhiyncl0l1dwy09z8inf72x1k961qlcwwg62l4yacv0a74wq";
+      sha256 = "0r3ihnddcizpf34mcfggyjii8lmjyy1q89mswpbzqa5mxvws85qg";
       type = "gem";
     };
-    version = "1.543.0";
+    version = "1.555.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mkw688mrhz4j2d2ajzigr87041hxczy2w45j0iv1mnvs5yrhan";
+      sha256 = "19xi4dr675f7x9dmk1fc10jmjdgv45j3dn9k44m5xavd3qnpzx7v";
       type = "gem";
     };
-    version = "3.125.0";
+    version = "3.126.2";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s67sgpv7b6asg3am157brsclq15p8r3fm2gc741zz546xfbfpm3";
+      sha256 = "13kl993psm21mni2g3llyj6b1nzway8kcabnrblnrjkd4d4fg3v7";
       type = "gem";
     };
-    version = "1.288.0";
+    version = "1.299.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gss3wi1csngmd2iirxznnhafr0yvgqnkr0cksz7dk9kqrly04gl";
+      sha256 = "1iv8db2wb3lajcnqx6icn7bdvhrfd7di01c329r95kgw6gzsf7sc";
       type = "gem";
     };
-    version = "1.65.0";
+    version = "1.67.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "044nzbh16x4vx7kbjv1hfh553sp126kcdk2x99apr52j506sk87c";
+      sha256 = "0h2mn5ywrla2wqsvzvp9m8jhzr93ywqmyi2l0b538hrq6pmdhjq2";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.54.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1587v0xh0hcrxn0ki0ahx70kkpny4pm32fj4bh7500wzvjki6d6v";
+      sha256 = "09fc16hdvripmpn1bj5bayqvmfz0pj2l1h2w954id9c9ar7vv7f5";
       type = "gem";
     };
-    version = "1.110.0";
+    version = "1.112.0";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -204,10 +204,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ir2fml3d6gjzqhiqpxl8rqmgrp5lqrx8xdwz9cmcnxhfzmqgxbp";
+      sha256 = "03n3w96vpblaxvk1qk8hq7sbsmg4nv7qdkdr8f7nfvalgpakp5i5";
       type = "gem";
     };
-    version = "4.13.0";
+    version = "4.14.1";
   };
   builder = {
     groups = ["default"];
@@ -264,10 +264,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pbhj4xmj4262in6c1nwl5ssw0qypg8ysjrrkwn2akkzbxzy9rfq";
+      sha256 = "0v8jfxamsdvs8rdl28ylcp5xphb03kmf5f1aqrnr2020ras618kc";
       type = "gem";
     };
-    version = "1.61.7";
+    version = "1.61.9";
   };
   domain_name = {
     groups = ["default"];
@@ -284,10 +284,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
+      sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.3.0";
   };
   em-http-request = {
     groups = ["default"];
@@ -344,10 +344,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi";
+      sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.10.0";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -389,6 +389,16 @@
     };
     version = "1.0.1";
   };
+  faraday-multipart = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
@@ -429,6 +439,16 @@
     };
     version = "1.0.0";
   };
+  faraday-retry = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   faye-websocket = {
     groups = ["default"];
     platforms = [];
@@ -444,10 +464,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   filesize = {
     groups = ["default"];
@@ -544,20 +564,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.8.11";
+    version = "1.10.0";
   };
   io-console = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pmafwxh8z1apnk7bb1ibnbhfrgb1jgilxm4j8d0fcqlc2ggmbja";
+      sha256 = "0r9kxrf9jccrr329pa3s37rf16vy426cbqmfwxkav1fidwvih93y";
       type = "gem";
     };
-    version = "0.5.9";
+    version = "0.5.11";
   };
   irb = {
     groups = ["default"];
@@ -574,10 +594,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      sha256 = "1gjrr5pdcl3l3skhp9d0jzs4yhmknpv3ldcz59b339b9lqbqasnr";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.6.0";
   };
   jsobfu = {
     groups = ["default"];
@@ -624,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"];
@@ -664,12 +684,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "0b16a2cd771a6afd286188da1c60c9fd772ab0f1";
-      sha256 = "1xm0js9k8d8f8j8sfn29pzxm7wpxjfn056mbz1cvd66llmrrnxp3";
+      rev = "aab66244adaadb275bd780c1301fea51f444426a";
+      sha256 = "1ffgnk5dh4rjga9swfazmnh4r4cx9ip4vbpd3mdwqnnsq4hqj8j1";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.21";
+    version = "6.1.30";
   };
   metasploit-model = {
     groups = ["default"];
@@ -686,10 +706,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gpsxysd6lg4falybci1fwlxjmxazjx5birqppdyc9wkqha58j9r";
+      sha256 = "03q70mqn38chhm9cmjh6k4ch5jsrgf2id09jv0ylkn3vsrrjfzpg";
       type = "gem";
     };
-    version = "2.0.66";
+    version = "2.0.74";
   };
   metasploit_data_models = {
     groups = ["default"];
@@ -706,10 +726,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06v72lyj08haqzs5a12ds6vadq6r2kxy50s7jxp1vxq5i2j4p2gm";
+      sha256 = "09mm8wbp7yaaqpz16bhsag3q5xd4aqx5l1n2p06zg55nph1dgy0s";
       type = "gem";
     };
-    version = "1.0.17";
+    version = "1.0.18";
   };
   method_source = {
     groups = ["default"];
@@ -726,10 +746,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
+      sha256 = "0d3ga166pahsxavzwj19yjj4lr13rw1vsb36s2qs8blcxigrdp6z";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "2.7.1";
   };
   minitest = {
     groups = ["default"];
@@ -756,10 +776,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6";
+      sha256 = "1cshgsx3hmpgx639xyqjqa2q3hgrhlyr9rpwhsglsx529alqq125";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.5";
   };
   multi_json = {
     groups = ["default"];
@@ -857,10 +877,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
+      sha256 = "1zqzawia52cdcmi55lp7v8jmiqyw7pcpwsksqlnirwfm3f7bnf11";
       type = "gem";
     };
-    version = "1.12.5";
+    version = "1.13.1";
   };
   nori = {
     groups = ["default"];
@@ -877,10 +897,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
+      sha256 = "1nmdd7klyinvrrv2mggwwmc99ykaq7i379j00i37hvvaqx4giifj";
       type = "gem";
     };
-    version = "4.21.0";
+    version = "4.22.0";
   };
   openssl-ccm = {
     groups = ["default"];
@@ -937,30 +957,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pl4lqy7308185pfv0197n8b4v20fhd0zb3wlpz284rk8ssclkvz";
+      sha256 = "0886fcc5bi0kc0rbma5fj3wa3hbg2nl7ivnbi2j995yzg36zq7xy";
       type = "gem";
     };
-    version = "0.12.4";
+    version = "0.13.1";
   };
   pdf-reader = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c8s9p3s7z39zv9s6avaf5ddqncpglraqpqn50yhb1lrnna3akgi";
+      sha256 = "0pn5l3ayjfn4mv2079q80q0x3q39q25nxcc5l9cjqz4lf5anhlfi";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.9.1";
   };
   pg = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
+      sha256 = "0m776cj2hik15wi730vhgczd5v9s0xmi45q2hgcf5m5cnqvfih35";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "1.3.2";
   };
   public_suffix = {
     groups = ["default"];
@@ -977,10 +997,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xblxnrs0c5m326v7kgr32k4m00cl2ipcf5m0qvyisrw62vd5dbn";
+      sha256 = "1np2myaxlk5iab1zarwgmp7zsjvm5j8ssg35ijv8b6dpvc3cjd56";
       type = "gem";
     };
-    version = "5.5.2";
+    version = "5.6.2";
   };
   racc = {
     groups = ["default"];
@@ -1007,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"];
@@ -1047,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"];
@@ -1127,10 +1147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hy7xrd3pwyfk2199zkgfa6kz1fsx7ngf6s512gpk8gadjc8hq6j";
+      sha256 = "1hjc70q6wb580k0jk4g4s9aqwd25l48kr0pcyjjs2ffax0zcm4d0";
       type = "gem";
     };
-    version = "0.1.20";
+    version = "0.1.26";
   };
   rex-encoder = {
     groups = ["default"];
@@ -1197,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"];
@@ -1307,10 +1327,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jgmhj4srl7cck1ipbjys6q4klcs473gq90bm59baw4j1wpfaxch";
+      sha256 = "0sg0kzqrldx9mlpvymif3dcgz8j8q1nc8jaszrd03nfh5bvp3fd5";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "3.0.0";
   };
   ruby-rc4 = {
     groups = ["default"];
@@ -1337,10 +1357,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "103rm0p44w8q2gyw3yigb6k2v12hi7gkj71b2wkj4859jzi96vyb";
+      sha256 = "0w7ywnf3b3dsfqarj9yc21q1f5p29vs359x5d7sipvc0ljdwn95l";
       type = "gem";
     };
-    version = "2.0.12";
+    version = "3.0.4";
   };
   rubyntlm = {
     groups = ["default"];
@@ -1387,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"];
@@ -1437,10 +1457,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
   tilt = {
     groups = ["default"];
@@ -1567,10 +1587,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kbcv9j5sc7pvjzf1dkp6h69i6lmj205zyy2arxcfgqg11bsz2kp";
+      sha256 = "1dy35rfdmj6pfhdicix1kcgpj5y7844a43i6bnklngn7b1wmy3av";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "0.1.3";
   };
   winrm = {
     groups = ["default"];
@@ -1587,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"];
@@ -1607,9 +1627,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj";
+      sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.4";
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/mkp224o/default.nix b/nixpkgs/pkgs/tools/security/mkp224o/default.nix
index 17d8e8ad4ffb..6f836271c0ab 100644
--- a/nixpkgs/pkgs/tools/security/mkp224o/default.nix
+++ b/nixpkgs/pkgs/tools/security/mkp224o/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
         { suffix = "donna";         configureFlags = ["--enable-donna"]; }
       ] ++ lib.optionals stdenv.hostPlatform.isx86 [
         { suffix = "donna-sse2";    configureFlags = ["--enable-donna-sse2"]; }
-      ] ++ lib.optionals stdenv.isx86_64 [
+      ] ++ lib.optionals (!stdenv.isDarwin && stdenv.isx86_64) [
         { suffix = "amd64-51-30k";  configureFlags = ["--enable-amd64-51-30k"]; }
         { suffix = "amd64-64-20k";  configureFlags = ["--enable-amd64-64-24k"]; }
       ];
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "Vanity address generator for tor onion v3 (ed25519) hidden services";
     homepage = "http://cathug2kyi4ilneggumrenayhuhsvrgn6qv2y47bgeet42iivkpynqad.onion/";
     license = licenses.cc0;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ volth ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/modsecurity-crs/default.nix b/nixpkgs/pkgs/tools/security/modsecurity-crs/default.nix
new file mode 100644
index 000000000000..124eca09ca48
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/naabu/default.nix b/nixpkgs/pkgs/tools/security/naabu/default.nix
index 83bb83e4e2c0..5acd0a93ac22 100644
--- a/nixpkgs/pkgs/tools/security/naabu/default.nix
+++ b/nixpkgs/pkgs/tools/security/naabu/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
     sha256 = "0kbpfb1ryfqy8a54ksm7zm8pqy8f4adh06jc1ccpdxks3k0rygid";
   };
 
-  vendorSha256 = "0kkkx8p0r04gg3pp0qy835afaxnqxjggnr7q7l6azdvg8qvgxfms";
+  vendorSha256 = "17x60x68hd2jm84xw5mgsclv6phn6ajkp92kpcz013vlkcdaqrxs";
 
   buildInputs = [
     libpcap
diff --git a/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix b/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix
index bc7731a0a7aa..d6f2e20611d2 100644
--- a/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix
+++ b/nixpkgs/pkgs/tools/security/nitrokey-app/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description      = "Provides extra functionality for the Nitrokey Pro and Storage";
     longDescription  = ''
-       The nitrokey-app provides a QT system tray widget with wich you can
+       The nitrokey-app provides a QT system tray widget with which you can
        access the extra functionality of a Nitrokey Storage or Nitrokey Pro.
        See https://www.nitrokey.com/ for more information.
     '';
diff --git a/nixpkgs/pkgs/tools/security/nmap-formatter/default.nix b/nixpkgs/pkgs/tools/security/nmap-formatter/default.nix
index 3f3835b9649d..5b9494bf9d37 100644
--- a/nixpkgs/pkgs/tools/security/nmap-formatter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/nmap/default.nix b/nixpkgs/pkgs/tools/security/nmap/default.nix
index 69bea2ac54ff..0a6733e993d6 100644
--- a/nixpkgs/pkgs/tools/security/nmap/default.nix
+++ b/nixpkgs/pkgs/tools/security/nmap/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, fetchpatch, libpcap, pkg-config, openssl, lua5_3
-, pcre, liblinear, libssh2
+, pcre, libssh2
 , graphicalSupport ? false
 , libX11 ? null
 , gtk2 ? null
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     (if withLua then "--with-liblua=${lua5_3}" else "--without-liblua")
+    "--with-liblinear=included"
   ] ++ optionals (!graphicalSupport) [ "--without-ndiff" "--without-zenmap" ];
 
   makeFlags = optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
@@ -53,7 +54,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkg-config ] ++ optionals graphicalSupport [ python2.pkgs.wrapPython ];
-  buildInputs = [ pcre liblinear libssh2 libpcap openssl ] ++ optionals graphicalSupport (with python2.pkgs; [
+  buildInputs = [ pcre libssh2 libpcap openssl ] ++ optionals graphicalSupport (with python2.pkgs; [
     python2 libX11 gtk2
   ]);
 
diff --git a/nixpkgs/pkgs/tools/security/nuclei/default.nix b/nixpkgs/pkgs/tools/security/nuclei/default.nix
index 396b8e03792c..91dba36e332d 100644
--- a/nixpkgs/pkgs/tools/security/nuclei/default.nix
+++ b/nixpkgs/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.5.4";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r6nOVTg/vZr2somTCoEJQHtbMMZ1RCkdDzGQeTISreU=";
+    sha256 = "sha256-NTqpj97M61hJP44gr0mRIOI0Syw3oSQeH0ooNHkLgSE=";
   };
 
-  vendorSha256 = "sha256-/TFg+ztubfZfyUbRabVr943oF9R0Xg8mIDxUl/MFbJE=";
+  vendorSha256 = "sha256-/mucUSk8+uAD+lIIKtt9+iNZKE4Y12a7GI6PHlnaPAQ=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/nixpkgs/pkgs/tools/security/orjail/default.nix b/nixpkgs/pkgs/tools/security/orjail/default.nix
new file mode 100644
index 000000000000..adcbf5ae4f9f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/otpauth/default.nix b/nixpkgs/pkgs/tools/security/otpauth/default.nix
index b8974bc720de..e4c42a83f045 100644
--- a/nixpkgs/pkgs/tools/security/otpauth/default.nix
+++ b/nixpkgs/pkgs/tools/security/otpauth/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "otpauth";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "dim13";
     repo = "otpauth";
     rev = "v${version}";
-    sha256 = "sha256-LGDeNkCxVLDVpwi5VFFL0DFsf8CexI7Nc5l+l2ASHaw=";
+    sha256 = "sha256-qSu0kGRi1es9OciN1s9Eh1Z3JkxbcKO8W5cAC7c7n0k=";
   };
 
-  vendorSha256 = "sha256-fwO3cmlnmuD682vGB8X06yGHZqBadeltRrsEUjQWazc=";
+  vendorSha256 = "sha256-TU5crhmQAhSfURdfPe/xaa3RgGyc+UFn2E+jJ0flNsg=";
   doCheck = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/pass/extensions/audit/0001-Set-base-to-an-empty-value.patch b/nixpkgs/pkgs/tools/security/pass/extensions/audit/0001-Set-base-to-an-empty-value.patch
new file mode 100644
index 000000000000..ce6849d677f8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix b/nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix
index 415a4b9e79d1..c4c16b8ff848 100644
--- a/nixpkgs/pkgs/tools/security/pass/extensions/audit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/pass2csv/default.nix b/nixpkgs/pkgs/tools/security/pass2csv/default.nix
index 50de7dc7e821..1817d63f1ee6 100644
--- a/nixpkgs/pkgs/tools/security/pass2csv/default.nix
+++ b/nixpkgs/pkgs/tools/security/pass2csv/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonApplication rec {
   pname = "pass2csv";
-  version = "0.3.1";
+  version = "0.3.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qY094A5F7W2exGcsS9AJuO5RrBcAn0cCrJquOc6zGZM=";
+    sha256 = "03a11bd0b0905737f4adb21d87aa1653d84cc1d9b5dcfdfb8a29092245d65db8";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/passphrase2pgp/default.nix b/nixpkgs/pkgs/tools/security/passphrase2pgp/default.nix
index 55e19b94813f..f1dce116a6d3 100644
--- a/nixpkgs/pkgs/tools/security/passphrase2pgp/default.nix
+++ b/nixpkgs/pkgs/tools/security/passphrase2pgp/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     hash = "sha256-VNOoYYnHsSgiSbVxlBwYUq0JsLa4BwZQSvMVSiyB6rg=";
   };
 
-  vendorSha256 = "sha256-7q5nwkj4TP7VgHmV9YBbCB11yTPL7tK4gD+uN4Vw3Cs";
+  vendorSha256 = "sha256-7q5nwkj4TP7VgHmV9YBbCB11yTPL7tK4gD+uN4Vw3Cs=";
 
   postInstall = ''
     mkdir -p $out/share/doc/$name
diff --git a/nixpkgs/pkgs/tools/security/pbis/default.nix b/nixpkgs/pkgs/tools/security/pbis/default.nix
index 7561b1fae98f..acd1fc5607bc 100644
--- a/nixpkgs/pkgs/tools/security/pbis/default.nix
+++ b/nixpkgs/pkgs/tools/security/pbis/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   # curl must be placed after openssl_1_0_2, because it pulls openssl 1.1 dependency.
   buildInputs = [
     pam popt libiconv libuuid openssl_1_0_2 cyrus_sasl
-    curl sqlite popt tdb libxml2 /*libglade2 for gtk*/
+    curl sqlite popt tdb libxml2
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/security/pcsclite/default.nix b/nixpkgs/pkgs/tools/security/pcsclite/default.nix
index 1488e6561c9a..db3ddd167a60 100644
--- a/nixpkgs/pkgs/tools/security/pcsclite/default.nix
+++ b/nixpkgs/pkgs/tools/security/pcsclite/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pcsclite";
-  version = "1.9.4";
+  version = "1.9.5";
 
   outputs = [ "bin" "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://pcsclite.apdu.fr/files/pcsc-lite-${version}.tar.bz2";
-    sha256 = "sha256:0jqwnpywk9ka3q88b1k93p8s0xhmx1isdpcqa80nd8p04z1am34a";
+    sha256 = "sha256:024x0hadn0kc0m9yz3l2pqzc5mdqyza9lmckg0bn4xak6frzkqwy";
   };
 
   patches = [ ./no-dropdir-literals.patch ];
diff --git a/nixpkgs/pkgs/tools/security/pcsclite/no-dropdir-literals.patch b/nixpkgs/pkgs/tools/security/pcsclite/no-dropdir-literals.patch
index 6e6734c95432..4c6d5554d77a 100644
--- a/nixpkgs/pkgs/tools/security/pcsclite/no-dropdir-literals.patch
+++ b/nixpkgs/pkgs/tools/security/pcsclite/no-dropdir-literals.patch
@@ -1,8 +1,8 @@
 diff --git a/src/hotplug_libudev.c b/src/hotplug_libudev.c
-index a8ba1b8..a53700b 100644
+index 51bd95f..84f959b 100644
 --- a/src/hotplug_libudev.c
 +++ b/src/hotplug_libudev.c
-@@ -119,7 +119,8 @@ static LONG HPReadBundleValues(void)
+@@ -120,7 +120,8 @@ static LONG HPReadBundleValues(void)
  
  	if (NULL == hpDir)
  	{
@@ -12,7 +12,7 @@ index a8ba1b8..a53700b 100644
  		Log1(PCSC_LOG_ERROR, "Disabling USB support for pcscd.");
  		return -1;
  	}
-@@ -722,7 +723,7 @@ ULONG HPRegisterForHotplugEvents(void)
+@@ -741,7 +742,7 @@ ULONG HPRegisterForHotplugEvents(void)
  
  	if (driverSize <= 0)
  	{
@@ -22,10 +22,10 @@ index a8ba1b8..a53700b 100644
  		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd");
  		return 0;
 diff --git a/src/hotplug_libusb.c b/src/hotplug_libusb.c
-index eff8519..8dd496d 100644
+index 0ada9f5..d49a407 100644
 --- a/src/hotplug_libusb.c
 +++ b/src/hotplug_libusb.c
-@@ -138,7 +138,8 @@ static LONG HPReadBundleValues(void)
+@@ -142,7 +142,8 @@ static LONG HPReadBundleValues(void)
  
  	if (hpDir == NULL)
  	{
@@ -35,7 +35,7 @@ index eff8519..8dd496d 100644
  		Log1(PCSC_LOG_ERROR, "Disabling USB support for pcscd.");
  		return -1;
  	}
-@@ -265,7 +266,8 @@ static LONG HPReadBundleValues(void)
+@@ -282,7 +283,8 @@ static LONG HPReadBundleValues(void)
  
  	if (driverSize == 0)
  	{
@@ -45,29 +45,3 @@ index eff8519..8dd496d 100644
  		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd");
  	}
  #ifdef DEBUG_HOTPLUG
-diff --git a/src/hotplug_linux.c b/src/hotplug_linux.c
-index bf69af8..64b0ed7 100644
---- a/src/hotplug_linux.c
-+++ b/src/hotplug_linux.c
-@@ -130,8 +130,8 @@ static LONG HPReadBundleValues(void)
- 
- 	if (hpDir == NULL)
- 	{
--		Log1(PCSC_LOG_INFO,
--			"Cannot open PC/SC drivers directory: " PCSCLITE_HP_DROPDIR);
-+		Log2(PCSC_LOG_INFO, "Cannot open PC/SC drivers directory: %s",
-+			PCSCLITE_HP_DROPDIR);
- 		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd.");
- 		return -1;
- 	}
-@@ -219,8 +219,8 @@ end:
- 
- 	if (bundleSize == 0)
- 	{
--		Log1(PCSC_LOG_INFO,
--			"No bundle files in pcsc drivers directory: " PCSCLITE_HP_DROPDIR);
-+		Log2(PCSC_LOG_INFO, "No bundle files in pcsc drivers directory: %s",
-+			PCSCLITE_HP_DROPDIR);
- 		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd");
- 	}
- 
diff --git a/nixpkgs/pkgs/tools/security/pcsctools/default.nix b/nixpkgs/pkgs/tools/security/pcsctools/default.nix
index cf8ecf180b3a..d5fe8c4faa44 100644
--- a/nixpkgs/pkgs/tools/security/pcsctools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/pinentry-bemenu/default.nix b/nixpkgs/pkgs/tools/security/pinentry-bemenu/default.nix
new file mode 100644
index 000000000000..0cc3f9bcf047
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/pinentry/default.nix b/nixpkgs/pkgs/tools/security/pinentry/default.nix
index 351a99a7cdc0..ca9a5862cc59 100644
--- a/nixpkgs/pkgs/tools/security/pinentry/default.nix
+++ b/nixpkgs/pkgs/tools/security/pinentry/default.nix
@@ -3,7 +3,7 @@
 , ncurses, gtk2, gcr, libcap, libsecret
 , enabledFlavors ? [ "curses" "tty" "gtk2" "emacs" ]
   ++ lib.optionals stdenv.isLinux [ "gnome3" ]
-  ++ lib.optionals (stdenv.hostPlatform.system != "aarch64-darwin") [ "qt" ]
+  ++ lib.optionals (!stdenv.isDarwin) [ "qt" ]
 }:
 
 with lib;
diff --git a/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix b/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
index 34352f74b55f..c473ccf02a5c 100644
--- a/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
+++ b/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
@@ -7,13 +7,13 @@
 
 mkDerivation rec {
   pname = "proxmark3-rrg";
-  version = "4.14434";
+  version = "4.14831";
 
   src = fetchFromGitHub {
     owner = "RfidResearchGroup";
     repo = "proxmark3";
     rev = "v${version}";
-    sha256 = "sha256-QscV/RxycpU8ypP1Pv6eKtQrOVC+oikass4tvxUszMI=";
+    sha256 = "sha256-s0D04V6vlGW7SVkJwzMKaVfXQoT3Wi0lu7RC61Es89A=";
   };
 
   nativeBuildInputs = [ pkg-config gcc-arm-embedded ];
diff --git a/nixpkgs/pkgs/tools/security/pynitrokey/default.nix b/nixpkgs/pkgs/tools/security/pynitrokey/default.nix
new file mode 100644
index 000000000000..b50550e74368
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/pynitrokey/default.nix
@@ -0,0 +1,44 @@
+{ python3Packages, lib }:
+
+with python3Packages;
+
+buildPythonApplication rec {
+  pname = "pynitrokey";
+  version = "0.4.9";
+  format = "flit";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-mhH6mVgLRX87PSGTFkj1TE75jU1lwcaRZWbC67T+vWo=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    cryptography
+    ecdsa
+    fido2
+    intelhex
+    pyserial
+    pyusb
+    requests
+    pygments
+    python-dateutil
+    urllib3
+    cffi
+    cbor
+    nkdfu
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pynitrokey" ];
+
+  meta = with lib; {
+    description = "Python client for Nitrokey devices";
+    homepage = "https://github.com/Nitrokey/pynitrokey";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ frogamic ];
+    mainProgram = "nitropy";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/quark-engine/default.nix b/nixpkgs/pkgs/tools/security/quark-engine/default.nix
index 00e495f718d9..4db3ce4167f3 100644
--- a/nixpkgs/pkgs/tools/security/quark-engine/default.nix
+++ b/nixpkgs/pkgs/tools/security/quark-engine/default.nix
@@ -7,8 +7,7 @@
 python3.pkgs.buildPythonApplication rec {
   pname = "quark-engine";
   version = "21.10.2";
-
-  disabled = python3.pythonOlder "3.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
@@ -31,10 +30,17 @@ python3.pkgs.buildPythonApplication rec {
     tqdm
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "prompt-toolkit==3.0.19" "prompt-toolkit>=3.0.19"
+  '';
+
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "quark" ];
+  pythonImportsCheck = [
+    "quark"
+  ];
 
   meta = with lib; {
     description = "Android malware (analysis and scoring) system";
diff --git a/nixpkgs/pkgs/tools/security/rbw/default.nix b/nixpkgs/pkgs/tools/security/rbw/default.nix
index 919fda9c67c5..9e3f0523473a 100644
--- a/nixpkgs/pkgs/tools/security/rbw/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/rekor/default.nix b/nixpkgs/pkgs/tools/security/rekor/default.nix
index d982d73f5411..663cc38291cb 100644
--- a/nixpkgs/pkgs/tools/security/rekor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/rng-tools/default.nix b/nixpkgs/pkgs/tools/security/rng-tools/default.nix
index 76aea2bbd514..f77417aaaa45 100644
--- a/nixpkgs/pkgs/tools/security/rng-tools/default.nix
+++ b/nixpkgs/pkgs/tools/security/rng-tools/default.nix
@@ -1,63 +1,79 @@
-{ lib, stdenv, fetchFromGitHub, libtool, autoreconfHook, pkg-config
-, sysfsutils
-, argp-standalone
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libtool
+, pkg-config
+, psmisc
+, argp-standalone ? null
+, openssl
+, jitterentropy ? null, withJitterEntropy ? true
   # WARNING: DO NOT USE BEACON GENERATED VALUES AS SECRET CRYPTOGRAPHIC KEYS
   # https://www.nist.gov/programs-projects/nist-randomness-beacon
-, curl ? null, libxml2 ? null, openssl ? null, withNistBeacon ? false
-  # Systems that support RDRAND but not AES-NI require libgcrypt to use RDRAND as an entropy source
-, libgcrypt ? null, withGcrypt ? true
-, jitterentropy ? null, withJitterEntropy ? true
+, curl ? null, jansson ? null, libxml2 ? null, withNistBeacon ? false
 , libp11 ? null, opensc ? null, withPkcs11 ? true
+, librtlsdr ? null, withRtlsdr ? true
 }:
 
+assert (stdenv.hostPlatform.isMusl) -> argp-standalone != null;
+assert (withJitterEntropy) -> jitterentropy != null;
+assert (withNistBeacon) -> curl != null && jansson != null && libxml2 != null;
+assert (withPkcs11) -> libp11 != null && opensc != null;
+assert (withRtlsdr) -> librtlsdr != null;
+
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "rng-tools";
-  version = "6.11";
+  version = "6.15";
 
   src = fetchFromGitHub {
     owner = "nhorman";
-    repo = "rng-tools";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qheJaeVX2zuv0mvKEd6wcbSHFjiJE0t5hVCJiRSKm3M=";
+    hash = "sha256-km+MEng3VWZF07sdvGLbAG/vf8/A1DxhA/Xa2Y+LAEQ=";
   };
 
-  postPatch = ''
-    ${optionalString withPkcs11 ''
-      substituteInPlace rngd.c \
-        --replace /usr/lib64/opensc-pkcs11.so ${opensc}/lib/opensc-pkcs11.so
-    ''}
-  '';
-
   nativeBuildInputs = [ autoreconfHook libtool pkg-config ];
 
   configureFlags = [
-    (withFeature   withGcrypt        "libgcrypt")
-    (enableFeature withJitterEntropy "jitterentropy")
-    (withFeature   withNistBeacon    "nistbeacon")
-    (withFeature   withPkcs11        "pkcs11")
+    (enableFeature (withJitterEntropy) "jitterentropy")
+    (withFeature   (withNistBeacon)    "nistbeacon")
+    (withFeature   (withPkcs11)        "pkcs11")
+    (withFeature   (withRtlsdr)        "rtlsdr")
   ];
 
-  # argp-standalone is only used when libc lacks argp parsing (musl)
-  buildInputs = [ sysfsutils ]
-    ++ optionals stdenv.hostPlatform.isx86_64 [ argp-standalone ]
-    ++ optionals withGcrypt        [ libgcrypt ]
-    ++ optionals withJitterEntropy [ jitterentropy ]
-    ++ optionals withNistBeacon    [ curl libxml2 openssl ]
-    ++ optionals withPkcs11        [ libp11 openssl ];
+  buildInputs = [ openssl ]
+    ++ optionals (stdenv.hostPlatform.isMusl) [ argp-standalone ]
+    ++ optionals (withJitterEntropy) [ jitterentropy ]
+    ++ optionals (withNistBeacon)    [ curl jansson libxml2 ]
+    ++ optionals (withPkcs11)        [ libp11 openssl ]
+    ++ optionals (withRtlsdr)        [ librtlsdr ];
 
   enableParallelBuilding = true;
 
-  # For cross-compilation
-  makeFlags = [ "AR:=$(AR)" ];
+  makeFlags = [
+    "AR:=$(AR)" # For cross-compilation
+  ] ++ optionals (withPkcs11) [
+    "PKCS11_ENGINE=${opensc}/lib/opensc-pkcs11.so" # Overrides configure script paths
+  ];
 
   doCheck = true;
   preCheck = "patchShebangs tests/*.sh";
+  checkInputs = [ psmisc ]; # rngtestjitter.sh needs killall
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    set -o pipefail
+    $out/bin/rngtest --version | grep $version
+    runHook postInstallCheck
+  '';
 
   meta = {
     description = "A random number generator daemon";
     homepage = "https://github.com/nhorman/rng-tools";
+    changelog = "https://github.com/nhorman/rng-tools/releases/tag/v${version}";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ johnazoidberg c0bw3b ];
diff --git a/nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch b/nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch
deleted file mode 100644
index 733b093de5ea..000000000000
--- a/nixpkgs/pkgs/tools/security/rnp/cmake_nogit.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git i/cmake/version.cmake w/cmake/version.cmake
-index 0ed123b5..4348e7e1 100644
---- i/cmake/version.cmake
-+++ w/cmake/version.cmake
-@@ -90,41 +90,12 @@ function(determine_version source_dir var_prefix)
-   else()
-     message(STATUS "Found no version.txt.")
-   endif()
--  # for GIT_EXECUTABLE
--  find_package(Git REQUIRED)
--  # get a description of the version, something like:
--  #   v1.9.1-0-g38ffe82        (a tagged release)
--  #   v1.9.1-0-g38ffe82-dirty  (a tagged release with local modifications)
--  #   v1.9.0-3-g5b92266        (post-release snapshot)
--  #   v1.9.0-3-g5b92266-dirty  (post-release snapshot with local modifications)
--  _git(version describe --abbrev=${GIT_REV_LEN} --match "v[0-9]*" --long --dirty)
--  if (NOT _git_ec EQUAL 0)
--    # no annotated tags, fake one
--    message(STATUS "Found no annotated tags.")
--    _git(revision rev-parse --short=${GIT_REV_LEN} --verify HEAD)
--    if (_git_ec EQUAL 0)
--      set(version "v${base_version}-0-g${revision}")
--      # check if dirty (this won't detect untracked files, but should be ok)
--      _git(changes diff-index --quiet HEAD --)
--      if (NOT _git_ec EQUAL 0)
--        string(APPEND version "-dirty")
--      endif()
--      # append the commit timestamp of the most recent commit (only
--      # in non-release branches -- typically master)
--      _git(commit_timestamp show -s --format=%ct)
--      if (_git_ec EQUAL 0)
--        string(APPEND version "+${commit_timestamp}")
--      endif()
--    elseif(has_version_txt)
--      # Nothing to get from git - so use version.txt completely
--      set(version "${version_file}")
--    else()
--      # Sad case - no git, no version.txt
--      set(version "v${base_version}")
--    endif()
-+  if(has_version_txt)
-+    # Nothing to get from git - so use version.txt completely
-+    set(version "${version_file}")
-   else()
--    set(has_release_tag YES)
--    message(STATUS "Found annotated tag ${version}")
-+    # Sad case - no git, no version.txt
-+    set(version "v${base_version}")
-   endif()
-   extract_version_info("${version}" "${local_prefix}")
-   if ("${has_version_txt}" AND NOT ${base_version} STREQUAL ${local_prefix}_VERSION)
diff --git a/nixpkgs/pkgs/tools/security/rnp/default.nix b/nixpkgs/pkgs/tools/security/rnp/default.nix
index 38e6c80428fc..a18571c80404 100644
--- a/nixpkgs/pkgs/tools/security/rnp/default.nix
+++ b/nixpkgs/pkgs/tools/security/rnp/default.nix
@@ -15,17 +15,15 @@
 
 stdenv.mkDerivation rec {
   pname = "rnp";
-  version = "0.15.2";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "rnpgp";
     repo = "rnp";
     rev = "v${version}";
-    sha256 = "1jph69nsz245fbv04nalh1qmhniyh88sacsf3nxv1vxm190314i9";
+    sha256 = "u0etVslTBF9fBqnpVBofYsm0uC/eR6gO3lhwzqua5Qw=";
   };
 
-  patches = [ ./cmake_nogit.patch ];
-
   buildInputs = [ zlib bzip2 json_c botan2 ];
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/security/rucredstash/default.nix b/nixpkgs/pkgs/tools/security/rucredstash/default.nix
new file mode 100644
index 000000000000..14ecfa085fbd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/rucredstash/default.nix
@@ -0,0 +1,30 @@
+{ lib, rustPlatform, fetchFromGitHub, pkg-config, openssl, stdenv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rucredstash";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "psibi";
+    repo = "rucredstash";
+    rev = "v${version}";
+    sha256 = "1jwsj2y890nxpgmlfbr9hms2raspp5h89ykzsh014mf7lb3yxzwg";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ]
+    ++ lib.optional stdenv.isDarwin Security;
+
+  # Disable tests since it requires network access and relies on the
+  # presence of certain AWS infrastructure
+  doCheck = false;
+
+  cargoSha256 = "0qnfrwpdvjksc97iiwn1r6fyqaqn0q3ckbdzswf9flvwshqzb6ih";
+
+  meta = with lib; {
+    description = "Rust port for credstash. Manages credentials securely in AWS cloud";
+    homepage = "https://github.com/psibi/rucredstash";
+    license = licenses.mit;
+    maintainers = with maintainers; [ psibi ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/saml2aws/default.nix b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
index 6d96025f0ce3..2f1127fd68a2 100644
--- a/nixpkgs/pkgs/tools/security/saml2aws/default.nix
+++ b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "saml2aws";
-  version = "2.33.0";
+  version = "2.34.0";
 
   src = fetchFromGitHub {
     owner = "Versent";
     repo = "saml2aws";
     rev = "v${version}";
-    sha256 = "sha256-99URhGJJKO4l+ztMGljiuNKVTYIG2iyWUMBXG1WTPdI=";
+    sha256 = "sha256-JRJjuVF0MkV7KVmbAZhiWPWVwDORByCsZqPwdTuVRoA=";
   };
 
-  vendorSha256 = "sha256-oUEgJ1DDzhKUpYevylIr+1X28xFGaWMh5+q1HTqOHaU=";
+  vendorSha256 = "sha256-/N/RYqt+lhhECK+uq99vkm3Mg7PWpdE0GYLXkIYthNw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ AppKit ];
 
diff --git a/nixpkgs/pkgs/tools/security/scallion/default.nix b/nixpkgs/pkgs/tools/security/scallion/default.nix
deleted file mode 100644
index 6f0dcd1bb013..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/security/scilla/default.nix b/nixpkgs/pkgs/tools/security/scilla/default.nix
index 791792195830..ab31624c6c96 100644
--- a/nixpkgs/pkgs/tools/security/scilla/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/scorecard/default.nix b/nixpkgs/pkgs/tools/security/scorecard/default.nix
index e08ff55bc18b..a865e441f1ea 100644
--- a/nixpkgs/pkgs/tools/security/scorecard/default.nix
+++ b/nixpkgs/pkgs/tools/security/scorecard/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "scorecard";
-  version = "3.2.1";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "ossf";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MVFhw/r1sws82oofV4LHmiSlKxyYd8abYq8oFiB0HH8=";
+    sha256 = "sha256-xZBK2gIIxuvO2fuSYyWitO1xT8ItfBVqt2JRJoyH+gg=";
     # populate values otherwise taken care of by goreleaser,
     # unfortunately these require us to use git. By doing
     # this in postFetch we can delete .git afterwards and
@@ -27,7 +27,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-WrM2aE0z6SnfoPEBqgn1TO6sSGPMrQvL6+ddvOS2w1k=";
+  vendorSha256 = "sha256-NSV7mDn1efQAO4jm6bJm12ExDFTN76TkmD4r61V6D2Q=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/security/secp256k1/default.nix b/nixpkgs/pkgs/tools/security/secp256k1/default.nix
index e88187f84651..890518126d84 100644
--- a/nixpkgs/pkgs/tools/security/secp256k1/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/sigurlx/default.nix b/nixpkgs/pkgs/tools/security/sigurlx/default.nix
deleted file mode 100644
index b6908c274228..000000000000
--- a/nixpkgs/pkgs/tools/security/sigurlx/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ buildGoModule
-, fetchFromGitHub
-, lib
-}:
-
-buildGoModule rec {
-  pname = "sigurlx";
-  version = "2.1.0";
-
-  src = fetchFromGitHub {
-    owner = "drsigned";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1q5vy05387qx7h4xcccvn2z2ks1kiff3mfbd2w3w0l0a4qgz74xs";
-  };
-
-  vendorSha256 = "1bp6bf99rxlyg91pn1y228q18lawpykmvkl22cydmclms0q0n238";
-
-  meta = with lib; {
-    description = "Tool to map the attack surface of web applications";
-    homepage = "https://github.com/drsigned/sigurlx";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fab ];
-  };
-}
diff --git a/nixpkgs/pkgs/tools/security/snallygaster/default.nix b/nixpkgs/pkgs/tools/security/snallygaster/default.nix
index 31619ea7f543..e469e4b004e6 100644
--- a/nixpkgs/pkgs/tools/security/snallygaster/default.nix
+++ b/nixpkgs/pkgs/tools/security/snallygaster/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "snallygaster";
-  version = "0.0.11";
+  version = "0.0.12";
 
   src = fetchFromGitHub {
     owner = "hannob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xUWnu+T6+5Ro6TrmtFD/Qd40FffY5rfuAvWzNkBhTME=";
+    sha256 = "sha256-JXuRCUWpoGhBbU38XMEQovCiVfbyBMJ+SIrt3iqFuAo=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/security/snow/default.nix b/nixpkgs/pkgs/tools/security/snow/default.nix
index 6d264c09ade9..6dce95f8cf0f 100644
--- a/nixpkgs/pkgs/tools/security/snow/default.nix
+++ b/nixpkgs/pkgs/tools/security/snow/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Conceal messages in ASCII text by appending whitespace to the end of lines";
     homepage = "http://www.darkside.com.au/snow/";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ siraben ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/security/solo2-cli/default.nix b/nixpkgs/pkgs/tools/security/solo2-cli/default.nix
new file mode 100644
index 000000000000..eaa2bc659a56
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/solo2-cli/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, pkg-config
+, pcsclite
+, udev
+, PCSC
+, IOKit
+, CoreFoundation
+, AppKit
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "solo2-cli";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "solokeys";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-3GIK0boxGD4Xa5OskP1535zCQyhMQ/oXbgThRivJzww=";
+  };
+
+  cargoSha256 = "sha256-MYxVegXUVeZ4AzDz+Si5TtTjUDEPTO0Nh008rgLtsLw=";
+
+  nativeBuildInputs = [ installShellFiles pkg-config ];
+
+  buildInputs = [ ]
+    ++ lib.optionals stdenv.isLinux [ pcsclite udev ]
+    ++ 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}
+  '';
+
+  doCheck = true;
+
+  buildFeatures = [ "cli" ];
+
+  meta = with lib; {
+    description = "A CLI tool for managing SoloKeys' Solo2 USB security keys.";
+    homepage = "https://github.com/solokeys/solo2-cli";
+    license = with licenses; [ asl20 mit ]; # either at your option
+    maintainers = with maintainers; [ lukegb ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/spire/default.nix b/nixpkgs/pkgs/tools/security/spire/default.nix
new file mode 100644
index 000000000000..bb165c41d07b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/spire/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "spire";
+  version = "1.2.0";
+
+  outputs = [ "out" "agent" "server" ];
+
+  src = fetchFromGitHub {
+    owner = "spiffe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "01ph9jzh18bnidrsbnnxm3gxh0cgfllnjvf7a5haqz51lm6a9pny";
+  };
+
+  vendorSha256 = "1fd1k5by4wcjmzfgi3gnrwnb38b0wa3w67kzjlx8s0nwapyfgx0b";
+
+  subPackages = [ "cmd/spire-agent" "cmd/spire-server" ];
+
+  # Usually either the agent or server is needed for a given use case, but not both
+  postInstall = ''
+    mkdir -vp $agent/bin $server/bin
+    mv -v $out/bin/spire-agent $agent/bin/
+    mv -v $out/bin/spire-server $server/bin/
+
+    ln -vs $agent/bin/spire-agent $out/bin/spire-agent
+    ln -vs $server/bin/spire-server $out/bin/spire-server
+  '';
+
+  meta = with lib; {
+    description = "The SPIFFE Runtime Environment";
+    homepage = "github.com/spiffe/spire";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jonringer fkautz ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/spyre/default.nix b/nixpkgs/pkgs/tools/security/spyre/default.nix
index 112e0afd1455..e74d8bc9a6ec 100644
--- a/nixpkgs/pkgs/tools/security/spyre/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/step-ca/default.nix b/nixpkgs/pkgs/tools/security/step-ca/default.nix
index d403d7283171..97a42646312e 100644
--- a/nixpkgs/pkgs/tools/security/step-ca/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/step-cli/default.nix b/nixpkgs/pkgs/tools/security/step-cli/default.nix
index 900469909271..e91a35b808ce 100644
--- a/nixpkgs/pkgs/tools/security/step-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/step-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "step-cli";
-  version = "0.17.7";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-Qg71JcnA+20zme1ltG4J6qht4P46J5sHPjV3w4HCKPc=";
+    sha256 = "sha256-gMJFzfqQsxOXPRdRj48c3FKhXsPLEmegiENa2OHWEGo=";
   };
 
   ldflags = [
@@ -25,7 +25,7 @@ buildGoModule rec {
     rm command/certificate/remote_test.go
   '';
 
-  vendorSha256 = "sha256-kVvbSTybO23zb1ivCrjZqkM44ljPGD1GdBv76qCpTEQ=";
+  vendorSha256 = "sha256-wnMQPnL8M57BOY9QmawLpqtWv+n3GdfIadJ3PwuicOU=";
 
   meta = with lib; {
     description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
diff --git a/nixpkgs/pkgs/tools/security/stoken/default.nix b/nixpkgs/pkgs/tools/security/stoken/default.nix
index f5f733d70b91..04e47dcb8409 100644
--- a/nixpkgs/pkgs/tools/security/stoken/default.nix
+++ b/nixpkgs/pkgs/tools/security/stoken/default.nix
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
     autoconf
   '';
 
-  nativeBuildInputs = [ pkg-config ];
+  strictDeps = true;
+  nativeBuildInputs = [ pkg-config autoconf automake libtool ];
   buildInputs = [
-    autoconf automake libtool
     libxml2 nettle
   ] ++ lib.optional withGTK3 gtk3;
 
diff --git a/nixpkgs/pkgs/tools/security/sudo/default.nix b/nixpkgs/pkgs/tools/security/sudo/default.nix
index e5207ea9d7b1..7baf1cf6b815 100644
--- a/nixpkgs/pkgs/tools/security/sudo/default.nix
+++ b/nixpkgs/pkgs/tools/security/sudo/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, buildPackages
 , coreutils
 , pam
 , groff
@@ -13,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sudo";
-  version = "1.9.7p2";
+  version = "1.9.9";
 
   src = fetchurl {
     url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
-    sha256 = "sha256-KLXucl2/iaeFL0LzCcqHfSgQqVMbTuz+WfOoS2tK/Kg=";
+    sha256 = "sha256-bW7oY6O8Jsh2YQk6dOxj4Q/QMc66cUZC0hY23+JePgA=";
   };
 
   prePatch = ''
@@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
       installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy DESTDIR=/"
     '';
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ groff ];
   buildInputs = [ pam ];
 
diff --git a/nixpkgs/pkgs/tools/security/swtpm/default.nix b/nixpkgs/pkgs/tools/security/swtpm/default.nix
index f05658f8a98e..648165d8262e 100644
--- a/nixpkgs/pkgs/tools/security/swtpm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/terrascan/default.nix b/nixpkgs/pkgs/tools/security/terrascan/default.nix
index da338ba347ca..ea431f7272d7 100644
--- a/nixpkgs/pkgs/tools/security/terrascan/default.nix
+++ b/nixpkgs/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.12.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DYWp7D2CQxasEYkoCEa0KdFQDvo4rNgRcTKzxYLsYFg=";
+    sha256 = "sha256-GIonoedad/ruKN8DaFfFdW4l3ZWIM1NI5DtgBYPw+38=";
   };
 
-  vendorSha256 = "0vx406y3kj1qmgr1y9vg3rprwjpm5g8p9shmhq28gp7sxz3j82ry";
+  vendorSha256 = "sha256-h/mSF4hJ3TS+4b3CCUEXVin8MRcPg8qEe90Mcxk0uVo=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/nixpkgs/pkgs/tools/security/thc-hydra/default.nix b/nixpkgs/pkgs/tools/security/thc-hydra/default.nix
index f60d5374648f..b6e3056e0232 100644
--- a/nixpkgs/pkgs/tools/security/thc-hydra/default.nix
+++ b/nixpkgs/pkgs/tools/security/thc-hydra/default.nix
@@ -3,13 +3,13 @@
 
 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=";
   };
 
   postPatch = let
@@ -40,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.linux;
+    platforms = platforms.unix;
+    badPlatforms = platforms.darwin; # fails to build since v9.3
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/traitor/default.nix b/nixpkgs/pkgs/tools/security/traitor/default.nix
index e056b556aadf..8132364298b6 100644
--- a/nixpkgs/pkgs/tools/security/traitor/default.nix
+++ b/nixpkgs/pkgs/tools/security/traitor/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "traitor";
-  version = "0.0.8";
+  version = "0.0.9";
 
   src = fetchFromGitHub {
     owner = "liamg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eUeKkjSpKel6XH3/VVw/WPCG/Nq8BcZwMNFG9z9FUuU=";
+    sha256 = "sha256-SHfAPPVq5OmS0yPaSXGsMjskQdosoBN4XRLSzkrviJM=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/security/uddup/default.nix b/nixpkgs/pkgs/tools/security/uddup/default.nix
index 60c3609738d9..5cde218bacfe 100644
--- a/nixpkgs/pkgs/tools/security/uddup/default.nix
+++ b/nixpkgs/pkgs/tools/security/uddup/default.nix
@@ -1,13 +1,12 @@
 { lib
-, buildPythonApplication
-, colorama
 , fetchFromGitHub
-, pytestCheckHook
+, python3
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "uddup";
   version = "0.9.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rotemreiss";
@@ -16,15 +15,17 @@ buildPythonApplication rec {
     sha256 = "1f5dm3772hiik9irnyvbs7wygcafbwi7czw3b47cwhb90b8fi5hg";
   };
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     colorama
   ];
 
-  checkInputs = [
+  checkInputs = with python3.pkgs; [
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "uddup" ];
+  pythonImportsCheck = [
+    "uddup"
+  ];
 
   meta = with lib; {
     description = "Tool for de-duplication URLs";
diff --git a/nixpkgs/pkgs/tools/security/vault/default.nix b/nixpkgs/pkgs/tools/security/vault/default.nix
index b50604bf15fa..6f1de7b45a94 100644
--- a/nixpkgs/pkgs/tools/security/vault/default.nix
+++ b/nixpkgs/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-vuwVPBB7zxpmJsBZ+J/vl0E49gx7CUGGi5j1Grgv2Jo=";
+    sha256 = "sha256-2pysQsJynuedqX9Yi4BjTnWuJZ5XTq11UEgkSh7eZyw=";
   };
 
-  vendorSha256 = "sha256-OHGQ6v51jfxEhe7v8b9/yh7aPZmgTod+WFKFzwXk4LU=";
+  vendorSha256 = "sha256-LNN0u48B6xGjrUasxGF+4sw1HxiR22hj8H2/mSyh1SI=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/tools/security/vaultwarden/default.nix b/nixpkgs/pkgs/tools/security/vaultwarden/default.nix
index 13399698c0ed..49e02a4e1c26 100644
--- a/nixpkgs/pkgs/tools/security/vaultwarden/default.nix
+++ b/nixpkgs/pkgs/tools/security/vaultwarden/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vaultwarden";
-  version = "1.23.1";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    sha256 = "sha256-UMeltpuGUPdB5j4NBxA6SuLUqzinrF8USCaJk9SjDJA=";
+    sha256 = "sha256-zeMVdsTSp1z8cwebU2N6w7436N8CcI7PzNedDOSvEx4=";
   };
 
-  cargoSha256 = "sha256-8SjCWioOK/bk6G+0Yfl0ilgbLu83hn+AtuX9QWrnQEc=";
+  cargoSha256 = "sha256-Sn6DuzV2OfaywE0W2afRG0h8PfOprqMtZtYM/exGEww=";
 
   postPatch = ''
     # Upstream specifies 1.57; nixpkgs has 1.56 which also produces a working
diff --git a/nixpkgs/pkgs/tools/security/volatility/default.nix b/nixpkgs/pkgs/tools/security/volatility/default.nix
index 4abbbd2d1d1f..9c73f8a00195 100644
--- a/nixpkgs/pkgs/tools/security/volatility/default.nix
+++ b/nixpkgs/pkgs/tools/security/volatility/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "volatility";
   version = "2.6.1";
 
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
 
   doCheck = false;
 
-  propagatedBuildInputs = with pythonPackages; [ pycrypto distorm3 pillow ];
+  propagatedBuildInputs = with python2Packages; [ pycrypto distorm3 pillow ];
 
   meta = with lib; {
     homepage = "https://www.volatilityfoundation.org/";
diff --git a/nixpkgs/pkgs/tools/security/volatility3/default.nix b/nixpkgs/pkgs/tools/security/volatility3/default.nix
index d6a99dd71072..393ac90d3164 100644
--- a/nixpkgs/pkgs/tools/security/volatility3/default.nix
+++ b/nixpkgs/pkgs/tools/security/volatility3/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "volatility3";
-  version = "1.0.1";
+  version = "2.0.0";
 
   disabled = python3.pythonOlder "3.6";
 
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "volatilityfoundation";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1k56izgkla9mrjrkp1saavajdx9x1wkqpwmbpvxv9rw5k80m5a4a";
+    sha256 = "141n09cdc17pfdhs01aw8l4cvsqpcz8ji5l4gi7r88cyf4ix2lnz";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/security/vulnix/default.nix b/nixpkgs/pkgs/tools/security/vulnix/default.nix
index 037adda92eb6..90d4e0f509b9 100644
--- a/nixpkgs/pkgs/tools/security/vulnix/default.nix
+++ b/nixpkgs/pkgs/tools/security/vulnix/default.nix
@@ -6,11 +6,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vulnix";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1d5mqpc4g1wkqcwxp8m9k130i3ii3q7n1n4b1fyb5wijidmyn3xv";
+    sha256 = "07v3ddvvhi3bslwrlin45kz48i3va2lzd6ny0blj5i2z8z40qcfm";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/nixpkgs/pkgs/tools/security/wafw00f/default.nix b/nixpkgs/pkgs/tools/security/wafw00f/default.nix
index dae4f5a5ad0c..0e363b608fd4 100644
--- a/nixpkgs/pkgs/tools/security/wafw00f/default.nix
+++ b/nixpkgs/pkgs/tools/security/wafw00f/default.nix
@@ -1,13 +1,12 @@
 { lib
-, buildPythonApplication
 , fetchFromGitHub
-, pluginbase
-, requests
+, python3
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "wafw00f";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "EnableSecurity";
@@ -16,14 +15,17 @@ buildPythonApplication rec {
     sha256 = "0526kz6ypww9nxc2vddkhpn1gqvn25mzj3wmi91wwxwxjjb6w4qj";
   };
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     requests
     pluginbase
   ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "wafw00f" ];
+
+  pythonImportsCheck = [
+    "wafw00f"
+  ];
 
   meta = with lib; {
     description = "Tool to identify and fingerprint Web Application Firewalls (WAF)";
diff --git a/nixpkgs/pkgs/tools/security/witness/default.nix b/nixpkgs/pkgs/tools/security/witness/default.nix
new file mode 100644
index 000000000000..571685afb400
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/wprecon/default.nix b/nixpkgs/pkgs/tools/security/wprecon/default.nix
index 401692bdf67d..bd343a5f1b12 100644
--- a/nixpkgs/pkgs/tools/security/wprecon/default.nix
+++ b/nixpkgs/pkgs/tools/security/wprecon/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     # https://github.com/blackbinn/wprecon/blob/master/LICENSE
     license = with licenses; [ unfree ];
     maintainers = with maintainers; [ fab ];
+    broken = true; # build fails, missing tag
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix b/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix
index fa243e4b048f..d2496df94c72 100644
--- a/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix
+++ b/nixpkgs/pkgs/tools/security/yubikey-agent/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
     substituteInPlace main.go --replace 'notify-send' ${libnotify}/bin/notify-send
   '';
 
-  vendorSha256 = "0cpj4nj2g0ick6p79h4pnjg7ybnyz9p26jivv0awi6bmn378nbxn";
+  vendorSha256 = "1v4ccn7ysh8ax1nkf1v9fcgsdnz6zjyh6j6ivyljyfvma1lmcrmk";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/security/yubikey-touch-detector/default.nix b/nixpkgs/pkgs/tools/security/yubikey-touch-detector/default.nix
index 8a06c363faf0..476ea3dbfb50 100644
--- a/nixpkgs/pkgs/tools/security/yubikey-touch-detector/default.nix
+++ b/nixpkgs/pkgs/tools/security/yubikey-touch-detector/default.nix
@@ -10,7 +10,7 @@ buildGoModule rec {
     rev = version;
     sha256 = "sha256-f6j+YNYASH0Adg3236QijApALd/yXJjNMYEdP0Pifw0=";
   };
-  vendorSha256 = "sha256-bmFbxMU3PEWpYI0eQw/1RRDP+JGfUY8kOCeTWbdVt9k=";
+  vendorSha256 = "sha256-H05EJwYDdg4lq6+psXiwujQd5g294epdRPjqviHhLWs=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
index 2374aa1489fa..3559595f556f 100644
--- a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
+++ b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20210930";
+  version = "20211217";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "08a8q174ac3jwxnd8q8iqc3cckwc2f7ncrc6f3171g0n38l2mn1w";
+    sha256 = "14jrrdrl3sw438791zf2v6rjvhiq78yl7hz2ldzp83c251cgh495";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/nixpkgs/pkgs/tools/system/bfs/default.nix b/nixpkgs/pkgs/tools/system/bfs/default.nix
index 4b1bcec96a7b..bf98e5dcece1 100644
--- a/nixpkgs/pkgs/tools/system/bfs/default.nix
+++ b/nixpkgs/pkgs/tools/system/bfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bfs";
-  version = "2.2.1";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     repo = "bfs";
     owner = "tavianator";
     rev = version;
-    sha256 = "sha256-3E1EXtI8QvHRDoVSV21K1/Rknp3E+GV1n5iorrv5jNY=";
+    sha256 = "sha256-V82UdCG0J04sZP3FTVQqANrez/LCwOLQY6zzFOoIeNo=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libcap acl ];
diff --git a/nixpkgs/pkgs/tools/system/bottom/default.nix b/nixpkgs/pkgs/tools/system/bottom/default.nix
index 6a6ae20dfa98..766b5afd4e6e 100644
--- a/nixpkgs/pkgs/tools/system/bottom/default.nix
+++ b/nixpkgs/pkgs/tools/system/bottom/default.nix
@@ -11,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bottom";
-  version = "0.6.6";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "ClementTsang";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nE718NA3oLkBTTjewypYyUVRgTm4xiDTui5kEPYYCBc=";
+    sha256 = "sha256-zmiYVLaXKHH+MObO75wOiGkDetKy4bVLe7IAqiO2ER8=";
   };
 
   prePatch = ''
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
     libiconv
   ];
 
-  cargoSha256 = "sha256-M6LgriXjhxlnoky+TNU7Eb15M+uTgbVKk3g/Sk90xsg=";
+  cargoSha256 = "sha256-GMG6YBm/jA5D7wxC2gczMn/6Lkqiq/toSPNf86kgOys=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/system/bpytop/default.nix b/nixpkgs/pkgs/tools/system/bpytop/default.nix
index eb0630d33eea..f0df9fa2e314 100644
--- a/nixpkgs/pkgs/tools/system/bpytop/default.nix
+++ b/nixpkgs/pkgs/tools/system/bpytop/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A resource monitor; python port of bashtop";
     homepage = src.meta.homepage;
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ aw ];
     platforms = with platforms; linux ++ freebsd ++ darwin;
 
diff --git a/nixpkgs/pkgs/tools/system/btop/default.nix b/nixpkgs/pkgs/tools/system/btop/default.nix
index 9ffdd46c6b48..c7db9e363f9d 100644
--- a/nixpkgs/pkgs/tools/system/btop/default.nix
+++ b/nixpkgs/pkgs/tools/system/btop/default.nix
@@ -8,13 +8,14 @@
 
 stdenv.mkDerivation rec {
   pname = "btop";
-  version = "1.1.3";
+  version = "1.2.3";
+  hash = "sha256-vH167BL2ekWwxIhQWXkgJxl8z77S8SkmHVclW6XGc+8=";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uKR1ogQwEoyxyWBiLnW8BsOsYgTpeIpKrKspq0JwYjY=";
+    sha256 = hash;
   };
 
   hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
diff --git a/nixpkgs/pkgs/tools/system/collectd/data.nix b/nixpkgs/pkgs/tools/system/collectd/data.nix
index 3867bd6bb3d9..52e394db40b8 100644
--- a/nixpkgs/pkgs/tools/system/collectd/data.nix
+++ b/nixpkgs/pkgs/tools/system/collectd/data.nix
@@ -1,14 +1,14 @@
 { stdenv, collectd }:
 
 stdenv.mkDerivation {
-  inherit (collectd) meta version;
-
   pname = "collectd-data";
+  inherit (collectd) meta src version;
 
-  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+  dontFixup = true;
 
   installPhase = ''
-    mkdir -p $out/share/collectd
-    cp ${collectd}/share/collectd/*.{db,conf} $out/share/collectd/
+    install -Dm444 -t $out/share/collectd/ src/*.{db,conf}
   '';
 }
diff --git a/nixpkgs/pkgs/tools/system/collectd/plugins.nix b/nixpkgs/pkgs/tools/system/collectd/plugins.nix
index 6438a545a485..1455feb1c32f 100644
--- a/nixpkgs/pkgs/tools/system/collectd/plugins.nix
+++ b/nixpkgs/pkgs/tools/system/collectd/plugins.nix
@@ -31,7 +31,7 @@
 , perl
 , postgresql
 , protobufc
-, python
+, python2
 , rabbitmq-c
 , rdkafka
 , riemann_c_client
@@ -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
 , ...
 }:
@@ -102,7 +102,7 @@ let
     pinba.buildInputs = [ protobufc ];
     ping.buildInputs = [ liboping ];
     postgresql.buildInputs = [ postgresql ];
-    python.buildInputs = [ python ];
+    python.buildInputs = [ python2 ];
     redis.buildInputs = [ hiredis ];
     rrdcached.buildInputs = [ rrdtool libxml2 ];
     rrdtool.buildInputs = [ rrdtool libxml2 ];
@@ -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/nixpkgs/pkgs/tools/system/dd_rescue/default.nix b/nixpkgs/pkgs/tools/system/dd_rescue/default.nix
index ce996bf7c6f4..f7501d768034 100644
--- a/nixpkgs/pkgs/tools/system/dd_rescue/default.nix
+++ b/nixpkgs/pkgs/tools/system/dd_rescue/default.nix
@@ -36,6 +36,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     homepage = "http://www.garloff.de/kurt/linux/ddrescue/";
     license = licenses.gpl2Plus;
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ddrescue/default.nix b/nixpkgs/pkgs/tools/system/ddrescue/default.nix
index 6191947ac32f..829d249da5b0 100644
--- a/nixpkgs/pkgs/tools/system/ddrescue/default.nix
+++ b/nixpkgs/pkgs/tools/system/ddrescue/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ddrescue";
-  version = "1.25";
+  version = "1.26";
 
   src = fetchurl {
     url = "mirror://gnu/ddrescue/ddrescue-${version}.tar.lz";
-    sha256 = "0qqh38izl5ppap9a5izf3hijh94k65s3zbfkczd4b7x04syqwlyf";
+    sha256 = "sha256-5RPNOpDZgQ392RGX1AqkD23wFZe/tez9+yBd4RJ8VR8=";
   };
 
   nativeBuildInputs = [ lzip ];
diff --git a/nixpkgs/pkgs/tools/system/di/default.nix b/nixpkgs/pkgs/tools/system/di/default.nix
index 6dcd3e87f68f..06d91305909c 100644
--- a/nixpkgs/pkgs/tools/system/di/default.nix
+++ b/nixpkgs/pkgs/tools/system/di/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
     description = "Disk information utility; displays everything 'df' does and more";
     homepage = "https://gentoo.com/di/";
     license = licenses.zlib;
-    updateWalker = true;
     maintainers = with maintainers; [ manveru ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/tools/system/evemu/default.nix b/nixpkgs/pkgs/tools/system/evemu/default.nix
index c01a909668ec..61ef270df794 100644
--- a/nixpkgs/pkgs/tools/system/evemu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/fakechroot/default.nix b/nixpkgs/pkgs/tools/system/fakechroot/default.nix
index 382a47039ba8..fd8fa04d21d2 100644
--- a/nixpkgs/pkgs/tools/system/fakechroot/default.nix
+++ b/nixpkgs/pkgs/tools/system/fakechroot/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, perl }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, nixosTests, perl }:
 
 stdenv.mkDerivation rec {
   pname = "fakechroot";
@@ -44,6 +44,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ perl ];
 
+  passthru = {
+    tests = {
+      # A lightweight *unit* test that exercises fakeroot and fakechroot together:
+      nixos-etc = nixosTests.etc.test-etc-fakeroot;
+    };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/dex4er/fakechroot";
     description = "Give a fake chroot environment through LD_PRELOAD";
diff --git a/nixpkgs/pkgs/tools/system/fakeroot/default.nix b/nixpkgs/pkgs/tools/system/fakeroot/default.nix
index c4d3845df803..bbf0dc2b0808 100644
--- a/nixpkgs/pkgs/tools/system/fakeroot/default.nix
+++ b/nixpkgs/pkgs/tools/system/fakeroot/default.nix
@@ -1,47 +1,28 @@
-{ lib, stdenv, fetchurl, fetchpatch, getopt, libcap, gnused }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, getopt
+, libcap
+, gnused
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.23";
+  version = "1.27";
   pname = "fakeroot";
 
   src = fetchurl {
-    url = "http://http.debian.net/debian/pool/main/f/fakeroot/fakeroot_${version}.orig.tar.xz";
-    sha256 = "1xpl0s2yjyjwlf832b6kbkaa5921liybaar13k7n45ckd9lxd700";
+    url = "http://http.debian.net/debian/pool/main/f/fakeroot/fakeroot_${version}.orig.tar.gz";
+    sha256 = "1p5d3jq6l1pzk96agkf05dck7dbgvldx5sg2d4h7d8h230nyni9w";
   };
 
   patches = lib.optionals stdenv.isLinux [
     ./einval.patch
-
-    # glibc 2.33 patches from ArchLinux
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/15b01cf37ff64c487f7440df4e09b090cd93b58f/fakeroot/trunk/fakeroot-1.25.3-glibc-2.33-fix-1.patch";
-      sha256 = "sha256-F6BcxYInSLu7Fxg6OmMZDhTWoLqsc//yYPlTZqQQl68=";
-    })
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/15b01cf37ff64c487f7440df4e09b090cd93b58f/fakeroot/trunk/fakeroot-1.25.3-glibc-2.33-fix-2.patch";
-      sha256 = "sha256-ifpJxhk6MyQpFolC1hIAAUjcHmOHVU1D25tRwpu2S/k=";
-    })
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/15b01cf37ff64c487f7440df4e09b090cd93b58f/fakeroot/trunk/fakeroot-1.25.3-glibc-2.33-fix-3.patch";
-      sha256 = "sha256-o2Xm4C64Ny9TL8fjsZltjO1CdJ4VGwqZ+LnufVL5Sq8=";
-    })
-  ]
-  # patchset from brew
-  ++ lib.optionals stdenv.isDarwin [
     (fetchpatch {
-      name = "0001-Implement-openat-2-wrapper-which-handles-optional-ar.patch";
-      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=0001-Implement-openat-2-wrapper-which-handles-optional-ar.patch;att=1;bug=766649";
-      sha256 = "1m6ggrqwqy0in264sxqk912vniipiw629dxq7kibakvsswfk6bkk";
-    })
-    (fetchpatch {
-      name = "0002-OS-X-10.10-introduced-id_t-int-in-gs-etpriority.patch";
-      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=0002-OS-X-10.10-introduced-id_t-int-in-gs-etpriority.patch;att=2;bug=766649";
-      sha256 = "0rhayp42x4i1a6yc4d28kpshmf7lrmaprq64zfrjpdn4kbs0rkln";
-    })
-    (fetchpatch {
-      name = "fakeroot-always-pass-mode.patch";
-      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=2;bug=766649;filename=fakeroot-always-pass-mode.patch;msg=20";
-      sha256 = "0i3zaca1v449dm9m1cq6wq4dy6hc2y04l05m9gg8d4y4swld637p";
+      name = "also-wrap-stat-library-call.patch";
+      url = "https://sources.debian.org/data/main/f/fakeroot/1.27-1/debian/patches/also-wrap-stat-library-call.patch";
+      sha256 = "0p7lq6m31k3rqsnjbi06a8ykdqa3cp4y5ngsjyk3q1269gx59x8b";
     })
   ];
 
@@ -53,17 +34,12 @@ stdenv.mkDerivation rec {
     sed -i -e "s@getopt@$(type -p getopt)@g" -e "s@sed@$(type -p sed)@g" ${pname}-${version}/scripts/fakeroot.in
   '';
 
-  postConfigure = let
-    # additional patch from brew, but needs to be applied to a generated file
-    patch-wraptmpf = fetchpatch {
-      name = "fakeroot-patch-wraptmpf-h.patch";
-      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=3;bug=766649;filename=fakeroot-patch-wraptmpf-h.patch;msg=20";
-      sha256 = "1jhsi4bv6nnnjb4vmmmbhndqg719ckg860hgw98bli8m05zwbx6a";
+  passthru = {
+    tests = {
+      # A lightweight *unit* test that exercises fakeroot and fakechroot together:
+      nixos-etc = nixosTests.etc.test-etc-fakeroot;
     };
-  in lib.optional stdenv.isDarwin ''
-    make wraptmpf.h
-    patch -p1 < ${patch-wraptmpf}
-  '';
+  };
 
   meta = {
     homepage = "https://salsa.debian.org/clint/fakeroot";
@@ -72,5 +48,4 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [viric];
     platforms = lib.platforms.unix;
   };
-
 }
diff --git a/nixpkgs/pkgs/tools/system/fio/default.nix b/nixpkgs/pkgs/tools/system/fio/default.nix
index c15c623f374d..859fbe72d631 100644
--- a/nixpkgs/pkgs/tools/system/fio/default.nix
+++ b/nixpkgs/pkgs/tools/system/fio/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ python3 zlib ]
     ++ lib.optional (!stdenv.isDarwin) libaio;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper python3.pkgs.wrapPython ];
 
   strictDeps = true;
 
@@ -29,9 +29,14 @@ stdenv.mkDerivation rec {
     substituteInPlace tools/plot/fio2gnuplot --replace /usr/share/fio $out/share/fio
   '';
 
-  postInstall = lib.optionalString withGnuplot ''
-    wrapProgram $out/bin/fio2gnuplot \
-      --prefix PATH : ${lib.makeBinPath [ gnuplot ]}
+  pythonPath = [ python3.pkgs.six ];
+
+  makeWrapperArgs = lib.optional withGnuplot [
+    "--prefix PATH : ${lib.makeBinPath [ gnuplot ]}"
+  ];
+
+  postInstall = ''
+    wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/system/freeipmi/default.nix b/nixpkgs/pkgs/tools/system/freeipmi/default.nix
index 9d2e66876239..09b7b3127994 100644
--- a/nixpkgs/pkgs/tools/system/freeipmi/default.nix
+++ b/nixpkgs/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 ];
@@ -37,7 +37,5 @@ stdenv.mkDerivation rec {
 
     maintainers = with lib.maintainers; [ raskin ];
     platforms = lib.platforms.gnu ++ lib.platforms.linux;  # arbitrary choice
-
-    updateWalker = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gdu/default.nix b/nixpkgs/pkgs/tools/system/gdu/default.nix
index a771e3967c80..4204bf8994b2 100644
--- a/nixpkgs/pkgs/tools/system/gdu/default.nix
+++ b/nixpkgs/pkgs/tools/system/gdu/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.12.1";
+  version = "5.13.2";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pXHMNyebUkHEZvUWtDkyp5Fqk07GA5sd+254fls8PjU=";
+    sha256 = "sha256-2HADEp1nDkIl56e5oxY6bC+lRWanQwjlCChm0aI0N9Q=";
   };
 
-  vendorSha256 = "0ls0pw1m6hy203cdkmp9847h2fmvc4hjkv5x2v6r7516cqbs25ac";
+  vendorSha256 = "sha256-9+Zez33oET0nx/Xm3fXh1WFoQduMBodvml1oGO6jUYc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -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/nixpkgs/pkgs/tools/system/go-audit/default.nix b/nixpkgs/pkgs/tools/system/go-audit/default.nix
index 9670a4d06848..e9c74e0b9812 100644
--- a/nixpkgs/pkgs/tools/system/go-audit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/goreman/default.nix b/nixpkgs/pkgs/tools/system/goreman/default.nix
index 22918f14145c..9613ab8d6504 100644
--- a/nixpkgs/pkgs/tools/system/goreman/default.nix
+++ b/nixpkgs/pkgs/tools/system/goreman/default.nix
@@ -1,18 +1,27 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-buildGoPackage rec {
-  pname = "goreman";
-  version = "0.2.1";
+{ lib, buildGoModule, fetchFromGitHub }:
 
-  goPackagePath = "github.com/mattn/goreman";
-  subPackages = ["."];
+buildGoModule rec {
+  pname = "goreman";
+  version = "0.3.9";
+  rev = "df1209e7cdbad10aecc0aa75d332bc32822925f5";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "goreman";
     rev = "v${version}";
-    sha256 = "1h7ip788j7bkygahpp7ylgnrx9jrbhwjzqpjhd1pflmlaxcbflcy";
+    sha256 = "1irjf5i5ybdchyn42bamfq8pj3w00p633h1gg202n0vsr39h0bxw";
   };
 
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.revision=${builtins.substring 0 7 rev}"
+  ];
+
+  vendorSha256 = "sha256-+RFh6Ppxxs7P7DWqOBeEJTvPsBgOfopMjx22hPEI1/U=";
+
+  doCheck = false;
+
   meta = with lib; {
     description = "foreman clone written in go language";
     homepage = "https://github.com/mattn/goreman";
@@ -20,4 +29,3 @@ buildGoPackage rec {
     maintainers = with maintainers; [ zimbatm ];
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/system/gotop/default.nix b/nixpkgs/pkgs/tools/system/gotop/default.nix
index 27b24b869cf2..f2da1c788a44 100644
--- a/nixpkgs/pkgs/tools/system/gotop/default.nix
+++ b/nixpkgs/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=";
   };
 
-  runVend = true;
-  vendorSha256 = "06hl1npwmy9dvpf4kljvw8lwwiigm52wf106lmf9k6k2gi5ikprz";
+  proxyVendor = true;
+  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/nixpkgs/pkgs/tools/system/gptman/default.nix b/nixpkgs/pkgs/tools/system/gptman/default.nix
index ed486fbf4c52..db15f8b02522 100644
--- a/nixpkgs/pkgs/tools/system/gptman/default.nix
+++ b/nixpkgs/pkgs/tools/system/gptman/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gptman";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "cecton";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MWrTwVXlV2B8GzYRgI3np6NqqSGPbRZCKpLU7aC1mX0=";
+    sha256 = "sha256-hI3F1E1vdbNDEeJ4FrU0EvR0t64svzUIpI6zaf0CquM=";
   };
 
-  cargoSha256 = "sha256-dVvZTYk17fyurtrJxjUgkxU37rxJubiTAQ1AWMnFP4s=";
+  cargoSha256 = "sha256-3PRGPZGymccRo9dtQZgMMEL29x+GiUkTzgc8uAB/ocQ=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/nixpkgs/pkgs/tools/system/iops/default.nix b/nixpkgs/pkgs/tools/system/iops/default.nix
deleted file mode 100644
index b2be488673eb..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream b/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream
deleted file mode 100644
index 45e3a936825a..000000000000
--- a/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url https://sourceforge.net/projects/ipmiutil/files/
-SF_version_tarball
-SF_redirect
-minimize_overwrite
diff --git a/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix b/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
index 5d4df37a2b66..43aa2b10cc3f 100644
--- a/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
+++ b/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "java-service-wrapper";
-  version = "3.5.46";
+  version = "3.5.48";
 
   src = fetchurl {
     url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
-    sha256 = "sha256-guHQyFSI0TidAuOr4zWaf3WRGeNW4+Or1sbWdhWuWtg=";
+    sha256 = "sha256-woANhwLOhvTnq+Bnc8zCIDZEJOv3swNfeI/3nQ7Y1SM=";
   };
 
   buildInputs = [ jdk ];
diff --git a/nixpkgs/pkgs/tools/system/logrotate/default.nix b/nixpkgs/pkgs/tools/system/logrotate/default.nix
index 72e6f5ec71be..97d920ce918e 100644
--- a/nixpkgs/pkgs/tools/system/logrotate/default.nix
+++ b/nixpkgs/pkgs/tools/system/logrotate/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "logrotate";
-  version = "3.18.1";
+  version = "3.19.0";
 
   src = fetchFromGitHub {
     owner = "logrotate";
     repo = "logrotate";
     rev = version;
-    sha256 = "sha256-OJOV++rtN9ry+l0c0eanpu/Pwu8cOHfyEaDWp3FZjkw=";
+    sha256 = "sha256-YAoMRLgKPqHsXdXBigl6dPJDkZIAMYK/likhTd/LpkY=";
   };
 
   # Logrotate wants to access the 'mail' program; to be done.
diff --git a/nixpkgs/pkgs/tools/system/monit/default.nix b/nixpkgs/pkgs/tools/system/monit/default.nix
index 93cdbe6d546e..96c1c91591dd 100644
--- a/nixpkgs/pkgs/tools/system/monit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/natscli/default.nix b/nixpkgs/pkgs/tools/system/natscli/default.nix
index 97a690690ac4..ad10f0c6c9bf 100644
--- a/nixpkgs/pkgs/tools/system/natscli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/netdata/default.nix b/nixpkgs/pkgs/tools/system/netdata/default.nix
index 3c025247377d..79f829ffdfb1 100644
--- a/nixpkgs/pkgs/tools/system/netdata/default.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/default.nix
@@ -16,14 +16,14 @@ with lib;
 let
   go-d-plugin = callPackage ./go.d.plugin.nix {};
 in stdenv.mkDerivation rec {
-  version = "1.31.0";
+  version = "1.33.1";
   pname = "netdata";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "netdata";
     rev = "v${version}";
-    sha256 = "0735cxmljrp8zlkcq7hcxizy4j4xiv7vf782zkz5chn06n38mcik";
+    sha256 = "sha256-4rx8EHtOSd/lHcSHZCtiXkjJjL7B175cVGvFOZ9Bzi8=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix b/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
index 53ab6d6982d6..edbe39c09f52 100644
--- a/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "netdata-go.d.plugin";
-  version = "0.28.1";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "go.d.plugin";
     rev = "v${version}";
-    sha256 = "0i77nvqi3dcby0gr3b06bai170q2ibp5390qfjijrk1yqz6x6sd5";
+    sha256 = "sha256-wS8+C03K/qn8zKIAQvZ7nF7CmFfIvKU/dtm80bTeniM=";
   };
 
-  vendorSha256 = "1q8z4smaxzqd5iwvbnkkr33c3b94rjwa3xjirwlr595g0wn93wc7";
+  vendorSha256 = "sha256-17/f6tAxDD5TgjmwnqAlnQSxDhnFidjsN55/sUMDej8=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch b/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
index 1d0c5cfba582..eb7b4f8bb60f 100644
--- a/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
+++ b/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
@@ -25,10 +25,10 @@ index 03c7f0a94..01985db01 100644
  
  chartsconfigdir=$(libconfigdir)/charts.d
 diff --git a/collectors/ebpf.plugin/Makefile.am b/collectors/ebpf.plugin/Makefile.am
-index 18b1fc6c8..b4b0c7852 100644
+index 2d5f92a6b..8b11c7502 100644
 --- a/collectors/ebpf.plugin/Makefile.am
 +++ b/collectors/ebpf.plugin/Makefile.am
-@@ -13,7 +13,7 @@ SUFFIXES = .in
+@@ -9,7 +9,7 @@ SUFFIXES = .in
  userebpfconfigdir=$(configdir)/ebpf.d
  
  # Explicitly install directories to avoid permission issues due to umask
@@ -36,7 +36,7 @@ index 18b1fc6c8..b4b0c7852 100644
 +no-install-exec-local:
  	$(INSTALL) -d $(DESTDIR)$(userebpfconfigdir)
  
- dist_plugins_SCRIPTS = \
+ dist_noinst_DATA = \
 diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am
 index c3142d433..95e324455 100644
 --- a/collectors/node.d.plugin/Makefile.am
@@ -75,7 +75,7 @@ index 71f2d468d..2c9ced2bf 100644
 +no-install-exec-local:
  	$(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir)
 diff --git a/health/Makefile.am b/health/Makefile.am
-index b963ea0cd..6979e69bf 100644
+index 349b86d61..514f1874f 100644
 --- a/health/Makefile.am
 +++ b/health/Makefile.am
 @@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \
@@ -88,16 +88,28 @@ index b963ea0cd..6979e69bf 100644
  
  healthconfigdir=$(libconfigdir)/health.d
 diff --git a/system/Makefile.am b/system/Makefile.am
-index 5323738c9..06e1b6a73 100644
+index a88ccab65..bda6ee2b6 100644
 --- a/system/Makefile.am
 +++ b/system/Makefile.am
-@@ -20,11 +20,10 @@ include $(top_srcdir)/build/subst.inc
+@@ -3,7 +3,6 @@
+ 
+ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
+ CLEANFILES = \
+-    edit-config \
+     netdata-openrc \
+     netdata.logrotate \
+     netdata.service \
+@@ -20,15 +19,13 @@ include $(top_srcdir)/build/subst.inc
  SUFFIXES = .in
  
  dist_config_SCRIPTS = \
 -    edit-config \
      $(NULL)
  
+ dist_config_DATA = \
+-    .install-type \
+     $(NULL)
+ 
  # Explicitly install directories to avoid permission issues due to umask
 -install-exec-local:
 +no-install-exec-local:
diff --git a/nixpkgs/pkgs/tools/system/proot/default.nix b/nixpkgs/pkgs/tools/system/proot/default.nix
index cf5a845827f4..d11cd8382c9e 100644
--- a/nixpkgs/pkgs/tools/system/proot/default.nix
+++ b/nixpkgs/pkgs/tools/system/proot/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
+{ lib, stdenv, fetchFromGitHub
 , talloc
 , pkg-config
 , libarchive
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "proot";
-  version = "5.2.0";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     repo = "proot";
     owner = "proot-me";
     rev = "v${version}";
-    sha256 = "1ir3a7rp9rvpv9i8gjrkr383sqadgl7f9nflcrfg7q05bxapwiws";
+    sha256 = "sha256-89d1a5QBusra0vd3Ph0lQalXrblBwogi6bNgvvpQL+Q=";
   };
 
   postPatch = ''
@@ -26,13 +26,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses libarchive talloc ] ++ lib.optional enablePython python3;
   nativeBuildInputs = [ pkg-config docutils ] ++ lib.optional enablePython swig;
-  patches = [
-    # without this patch the package does not build with python>3.7
-    (fetchpatch {
-      url = "https://github.com/proot-me/proot/pull/285.patch";
-      sha256= "1vncq36pr4v0h63fijga6zrwlsb0vb4pj25zxf1ni15ndxv63pxj";
-    })
-  ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/system/ps_mem/default.nix b/nixpkgs/pkgs/tools/system/ps_mem/default.nix
index 1752aba240f3..073a0921f98e 100644
--- a/nixpkgs/pkgs/tools/system/ps_mem/default.nix
+++ b/nixpkgs/pkgs/tools/system/ps_mem/default.nix
@@ -1,9 +1,9 @@
-{ lib, pythonPackages, fetchFromGitHub }:
+{ lib, python2Packages, fetchFromGitHub }:
 
 let
   version = "3.13";
   pname = "ps_mem";
-in pythonPackages.buildPythonApplication {
+in python2Packages.buildPythonApplication {
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/tools/system/rsyslog/default.nix b/nixpkgs/pkgs/tools/system/rsyslog/default.nix
index acf56b1558f1..f11a05fdbd64 100644
--- a/nixpkgs/pkgs/tools/system/rsyslog/default.nix
+++ b/nixpkgs/pkgs/tools/system/rsyslog/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, libestr, json_c, zlib, pythonPackages, fastJson
+{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, libestr, json_c, zlib, docutils, fastJson
 , libkrb5 ? null, systemd ? null, jemalloc ? null, libmysqlclient ? null, postgresql ? null
 , libdbi ? null, net-snmp ? null, libuuid ? null, curl ? null, gnutls ? null
 , libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null
@@ -14,18 +14,18 @@ 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 ];
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
   buildInputs = [
-    fastJson libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc
+    fastJson libestr json_c zlib docutils libkrb5 jemalloc
     postgresql libdbi net-snmp libuuid curl gnutls libgcrypt liblognorm openssl
     librelp libksi liblogging libnet hadoop rdkafka libmongo-client czmq
     rabbitmq-c hiredis mongoc libmaxminddb
diff --git a/nixpkgs/pkgs/tools/system/skeema/default.nix b/nixpkgs/pkgs/tools/system/skeema/default.nix
new file mode 100644
index 000000000000..0b6bf003e5b0
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix b/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix
index 0f8db091d616..affb4bca6cec 100644
--- a/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix
+++ b/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, syslogng
-, eventlog, perl, python, bison, protobufc, libivykis, libcap, czmq
+, eventlog, perl, python2, bison, protobufc, libivykis, libcap, czmq
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config autoreconfHook bison ];
 
   buildInputs = [
-    glib syslogng eventlog perl python protobufc libivykis libcap czmq
+    glib syslogng eventlog perl python2 protobufc libivykis libcap czmq
   ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/system/syslog-ng/default.nix b/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
index 51f8cd94da1e..d0a22203aa9c 100644
--- a/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, openssl, libcap, curl, which
-, eventlog, pkg-config, glib, python, systemd, perl
+, eventlog, pkg-config, glib, python2, systemd, perl
 , riemann_c_client, protobufc, pcre, libnet
 , json_c, libuuid, libivykis, mongoc, rabbitmq-c
 , libesmtp
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     eventlog
     glib
     perl
-    python
+    python2
     systemd
     riemann_c_client
     protobufc
diff --git a/nixpkgs/pkgs/tools/system/thermald/default.nix b/nixpkgs/pkgs/tools/system/thermald/default.nix
index 312c31d671c0..eb1e8ab5a346 100644
--- a/nixpkgs/pkgs/tools/system/thermald/default.nix
+++ b/nixpkgs/pkgs/tools/system/thermald/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "2.4.6";
+  version = "2.4.8";
 
   outputs = [ "out" "devdoc" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "sha256-ZknZznoYVX3dNBIUvER6odv5eNrCV3//CXH1ypCf6tE=";
+    sha256 = "sha256-Mup88vNS0iApwsZTdPnpXmkA0LNpSOzxBmbejcWIC+0=";
   };
 
   nativeBuildInputs = [
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Thermal Daemon";
-    homepage = "https://01.org/linux-thermal-daemon";
+    homepage = "https://github.com/intel/thermal_daemon";
     changelog = "https://github.com/intel/thermal_daemon/blob/master/README.txt";
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/nixpkgs/pkgs/tools/system/thinkfan/default.nix b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
index 8da87ecfa719..a564c946bcf4 100644
--- a/nixpkgs/pkgs/tools/system/thinkfan/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/tuptime/default.nix b/nixpkgs/pkgs/tools/system/tuptime/default.nix
index 0d3b6f4d6b82..7c13df3ec15e 100644
--- a/nixpkgs/pkgs/tools/system/tuptime/default.nix
+++ b/nixpkgs/pkgs/tools/system/tuptime/default.nix
@@ -1,16 +1,18 @@
 { lib, stdenv, fetchFromGitHub
 , makeWrapper, installShellFiles
-, python3, sqlite }:
+, python3, sqlite
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
   pname = "tuptime";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "rfrail3";
     repo = "tuptime";
     rev = version;
-    sha256 = "sha256-2Q1czKvwdVq+2+64k4SOghw05CUlT5HdZpvKMRbGdDY=";
+    sha256 = "sha256-6N4dqgLOhWqVR8GqlBUxHWy10AHBZ4aZbdkw5SOxxBQ=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
@@ -34,6 +36,8 @@ stdenv.mkDerivation rec {
       --prefix PATH : "${lib.makeBinPath [ sqlite ]}"
   '';
 
+  passthru.tests = nixosTests.tuptime;
+
   meta = with lib; {
     description = "Total uptime & downtime statistics utility";
     homepage = "https://github.com/rfrail3/tuptime";
diff --git a/nixpkgs/pkgs/tools/text/chars/default.nix b/nixpkgs/pkgs/tools/text/chars/default.nix
index c8d1b1064acd..78caf67bc434 100644
--- a/nixpkgs/pkgs/tools/text/chars/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/chroma/default.nix b/nixpkgs/pkgs/tools/text/chroma/default.nix
index 42784d65a739..8b8a8a7b7753 100644
--- a/nixpkgs/pkgs/tools/text/chroma/default.nix
+++ b/nixpkgs/pkgs/tools/text/chroma/default.nix
@@ -6,7 +6,7 @@ in
 
 buildGoModule rec {
   pname = "chroma";
-  version = "0.9.4";
+  version = "0.10.0";
 
   # To update:
   # nix-prefetch-git --rev v${version} https://github.com/alecthomas/chroma.git > src.json
@@ -17,7 +17,7 @@ buildGoModule rec {
     inherit (srcInfo) sha256;
   };
 
-  vendorSha256 = "1l5ryhwifhff41r4z1d2lifpvjcc4yi1vzrzlvkx3iy9dmxqcssl";
+  vendorSha256 = "09b718vjd6npg850fr7z6srs2sc5vsr7byzlz5yb5qx0vm3ajxpf";
 
   modRoot = "./cmd/chroma";
 
diff --git a/nixpkgs/pkgs/tools/text/chroma/src.json b/nixpkgs/pkgs/tools/text/chroma/src.json
index 9bfc8d9c2c73..224bb4328d71 100644
--- a/nixpkgs/pkgs/tools/text/chroma/src.json
+++ b/nixpkgs/pkgs/tools/text/chroma/src.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/alecthomas/chroma.git",
-  "rev": "6520148857c2ae3106ff371e527abea815b23915",
-  "date": "2021-10-17T08:46:20+11:00",
-  "path": "/nix/store/0s8a46d1nyjl3yhsgni2jz5vdv95cka8-chroma",
-  "sha256": "1iy6mymdjxbl5wbll1mivv7gqdyqhl6xpfqps99z307m7y38r1ni",
+  "rev": "36bdd4b98823bd1d7be96767cde3dd575e60b406",
+  "date": "2022-01-12T21:49:38+11:00",
+  "path": "/nix/store/951ya4wlxp217a2j3qdni29zwqfq0z7v-chroma",
+  "sha256": "0hjzb61m5lzx95xss82wil9s8f9hbw1zb3jj73ljfwkq5lqk76zq",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/nixpkgs/pkgs/tools/text/colordiff/default.nix b/nixpkgs/pkgs/tools/text/colordiff/default.nix
index 364d3c6edc45..9d56e2e4c192 100644
--- a/nixpkgs/pkgs/tools/text/colordiff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/crowdin-cli/default.nix b/nixpkgs/pkgs/tools/text/crowdin-cli/default.nix
index 9b2726443f40..e73b58d4e6ba 100644
--- a/nixpkgs/pkgs/tools/text/crowdin-cli/default.nix
+++ b/nixpkgs/pkgs/tools/text/crowdin-cli/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "crowdin-cli";
-  version = "3.7.4";
+  version = "3.7.8";
 
   src = fetchurl {
     url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
-    sha256 = "sha256-zsd95dkKzuhqtWFwc84tjZ05MnzE25UvfF459gfp+lA=";
+    sha256 = "sha256-z9c12KKrh4hV7A92qinNCQGTxZI6IsmJ3Z+3ZcZZljk=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
diff --git a/nixpkgs/pkgs/tools/text/csview/default.nix b/nixpkgs/pkgs/tools/text/csview/default.nix
index 58d1fe2a7a68..41ddcfac50a4 100644
--- a/nixpkgs/pkgs/tools/text/csview/default.nix
+++ b/nixpkgs/pkgs/tools/text/csview/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "csview";
-  version = "0.3.10";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ezN/hU8SdC/ox+l1KJQixzFwGvfmg3zfUjf/bAtnYRU=";
+    sha256 = "sha256-tllwFUC+Si3PsYPmiO86D3PNdInuIxxhZW5dAuU4K14=";
   };
 
-  cargoSha256 = "sha256-gEiZIwISlazkBwQPFaIWM6dViumc55no8RQ8E30JfUo=";
+  cargoSha256 = "sha256-j9CwldmxjWYVuiWfAHIV0kr5k/p1BFWHzZiVrv8m7uI=";
 
   meta = with lib; {
     description = "A high performance csv viewer with cjk/emoji support";
diff --git a/nixpkgs/pkgs/tools/text/difftastic/default.nix b/nixpkgs/pkgs/tools/text/difftastic/default.nix
index ee86bcd635e3..729a0900f851 100644
--- a/nixpkgs/pkgs/tools/text/difftastic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/discount/default.nix b/nixpkgs/pkgs/tools/text/discount/default.nix
index 805876bd21e2..dd03bcfa6a35 100644
--- a/nixpkgs/pkgs/tools/text/discount/default.nix
+++ b/nixpkgs/pkgs/tools/text/discount/default.nix
@@ -26,11 +26,17 @@ stdenv.mkDerivation rec {
     "--pkg-config"
     "--shared"
     "--with-fenced-code"
+    # Use deterministic mangling
+    "--debian-glitch"
   ];
 
   enableParallelBuilding = true;
   doCheck = true;
 
+  postFixup = lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id $out/lib/libmarkdown.dylib $out/lib/libmarkdown.dylib
+  '';
+
   meta = with lib; {
     description = "Implementation of Markdown markup language in C";
     homepage = "http://www.pell.portland.or.us/~orc/Code/discount/";
diff --git a/nixpkgs/pkgs/tools/text/gnugrep/default.nix b/nixpkgs/pkgs/tools/text/gnugrep/default.nix
index bb0c90197d3c..efb3be1c8fb2 100644
--- a/nixpkgs/pkgs/tools/text/gnugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/gnugrep/default.nix
@@ -58,7 +58,10 @@ stdenv.mkDerivation {
 
     license = licenses.gpl3Plus;
 
-    maintainers = [ maintainers.eelco ];
+    maintainers = [
+      maintainers.eelco
+      maintainers.m00wl
+    ];
     platforms = platforms.all;
     mainProgram = "grep";
   };
diff --git a/nixpkgs/pkgs/tools/text/goawk/default.nix b/nixpkgs/pkgs/tools/text/goawk/default.nix
new file mode 100644
index 000000000000..b665c1823329
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/gpt2tc/default.nix b/nixpkgs/pkgs/tools/text/gpt2tc/default.nix
index 3714a4185485..4d6ac33d61d9 100644
--- a/nixpkgs/pkgs/tools/text/gpt2tc/default.nix
+++ b/nixpkgs/pkgs/tools/text/gpt2tc/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Text completion and compression using GPT-2";
-    homepage = "https://bellard.org/nncp/gpt2tc.html";
+    homepage = "https://bellard.org/libnc/gpt2tc.html";
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ anna328p ];
diff --git a/nixpkgs/pkgs/tools/text/hottext/default.nix b/nixpkgs/pkgs/tools/text/hottext/default.nix
index 6fe7a686c100..5472c8a36cf5 100644
--- a/nixpkgs/pkgs/tools/text/hottext/default.nix
+++ b/nixpkgs/pkgs/tools/text/hottext/default.nix
@@ -12,15 +12,8 @@ nimPackages.buildNimPackage rec {
   };
 
   buildInputs = with nimPackages; [
-    bumpy
-    chroma
-    flatty
-    nimsimd
     pixie
     sdl2
-    typography
-    vmath
-    zippy
   ];
 
   HOTTEXT_FONT_PATH = "${gentium}/share/fonts/truetype/GentiumPlus-Regular.ttf";
@@ -38,6 +31,7 @@ nimPackages.buildNimPackage rec {
   '';
 
   meta = with lib; {
+    broken = true; # Needs to be updated to latest Pixie API.
     description = "Simple RSVP speed-reading utility";
     license = licenses.unlicense;
     homepage = "https://git.sr.ht/~ehmry/hottext";
diff --git a/nixpkgs/pkgs/tools/text/icdiff/default.nix b/nixpkgs/pkgs/tools/text/icdiff/default.nix
index c051560151a9..715a4dbaae2a 100644
--- a/nixpkgs/pkgs/tools/text/icdiff/default.nix
+++ b/nixpkgs/pkgs/tools/text/icdiff/default.nix
@@ -28,7 +28,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://www.jefftk.com/icdiff";
     description = "Side-by-side highlighted command line diffs";
-    maintainers = with maintainers; [ aneeshusa ];
+    maintainers = with maintainers; [ ];
     license = licenses.psfl;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/kdiff3/default.nix b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
index c230278c0a02..1362591e24c1 100644
--- a/nixpkgs/pkgs/tools/text/kdiff3/default.nix
+++ b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
@@ -1,26 +1,38 @@
-{
-  mkDerivation, lib, fetchurl,
-  extra-cmake-modules, kdoctools, wrapGAppsHook,
-  kcrash, kconfig, kinit, kparts, kiconthemes
+{ mkDerivation
+, lib
+, fetchurl
+, extra-cmake-modules
+, kdoctools
+, wrapGAppsHook
+, boost
+, kcrash
+, kconfig
+, kinit
+, kparts
+, kiconthemes
 }:
 
 mkDerivation rec {
   pname = "kdiff3";
-  version = "1.8.5";
+  version = "1.9.4";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-vJL30E6xI/nFbb4wR69nv3FSQPqZSHrB0czypF4IVME=";
+    sha256 = "sha256-oTBxLO7wdN9pFCaQn8SjMrZvTD8UkKVIq1v7RjFsOFo=";
   };
 
+  buildInputs = [ boost ];
+
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
 
   propagatedBuildInputs = [ kconfig kcrash kinit kparts kiconthemes ];
 
+  cmakeFlags = [ "-Wno-dev" ];
+
   meta = with lib; {
+    description = "Compares and merges 2 or 3 files or directories";
     homepage = "https://invent.kde.org/sdk/kdiff3";
     license = licenses.gpl2Plus;
-    description = "Compares and merges 2 or 3 files or directories";
     maintainers = with maintainers; [ peterhoeg ];
     platforms = with platforms; linux;
   };
diff --git a/nixpkgs/pkgs/tools/text/languagetool/default.nix b/nixpkgs/pkgs/tools/text/languagetool/default.nix
index 3c130162ca15..96dc84e94dbe 100644
--- a/nixpkgs/pkgs/tools/text/languagetool/default.nix
+++ b/nixpkgs/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "LanguageTool";
-  version = "5.5";
+  version = "5.6";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${pname}-${version}.zip";
-    sha256 = "sha256-v9p+G1aSzrvuoJLfRqWQXGVJ+2vysxdTgrD+ZUt6Yg4=";
+    sha256 = "sha256-HsRAu8exGXCGF0P7wZaDtuAKRDmNjMF9P2hFliZ1RXo=";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/nixpkgs/pkgs/tools/text/link-grammar/default.nix b/nixpkgs/pkgs/tools/text/link-grammar/default.nix
index 3a6686dba5f2..c685ef603319 100644
--- a/nixpkgs/pkgs/tools/text/link-grammar/default.nix
+++ b/nixpkgs/pkgs/tools/text/link-grammar/default.nix
@@ -13,13 +13,13 @@ let
 
 link-grammar = stdenv.mkDerivation rec {
   pname = "link-grammar";
-  version = "5.9.1";
+  version = "5.10.2";
 
   outputs = [ "bin" "out" "dev" "man" ];
 
   src = fetchurl {
     url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-4D/rqoIGlvR+q7Az8E1xPYSQQMJMRVeRM9HQIbjssLo=";
+    sha256 = "sha256-KM7HUuqg44l66WEzO2knRZ+Laf7+aMKqUnKYPX24abY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/mark/default.nix b/nixpkgs/pkgs/tools/text/mark/default.nix
index a0abd672559e..5e4bd7becc52 100644
--- a/nixpkgs/pkgs/tools/text/mark/default.nix
+++ b/nixpkgs/pkgs/tools/text/mark/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "mark";
-  version = "6.5.1";
+  version = "6.7";
 
   src = fetchFromGitHub {
     owner  = "kovetskiy";
     repo   = "mark";
     rev    = version;
-    sha256 = "sha256-NTe7J08Lu4uVI/mLj4m87n1BZXiUPDvi5OtjJfddJw8=";
+    sha256 = "sha256-ZPKYZbWrR69V4SkXTiAK59Q2xpxkOC6KyAuspjzERwQ=";
   };
 
   vendorSha256 = "sha256-Yp47FBS8JN/idBfZG0z0f2A1bzob8KTPtZ7u0cNCrM8=";
diff --git a/nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix b/nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix
index d61daf262d9c..353c2b99ee91 100644
--- a/nixpkgs/pkgs/tools/text/mdbook-graphviz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/mdbook-linkcheck/default.nix b/nixpkgs/pkgs/tools/text/mdbook-linkcheck/default.nix
new file mode 100644
index 000000000000..b37b16876b0f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix b/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix
index 741bc652e518..05bf89e30189 100644
--- a/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook-mermaid/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-mermaid";
-  version = "0.8.3";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "badboy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-maYFOlWNqKFmyDM2nDF25rzYnUXMlV9Ry9TMoXReUUg=";
+    sha256 = "sha256-dXeu/e92lafurA/bqKoszIjK/3qw/ZvVKnDxYALRpTk=";
   };
 
-  cargoSha256 = "sha256-GL5Z4KfRu0zQAzVCWRIhaYtG5FrDdQabsbyFX7SjZvg=";
+  cargoSha256 = "sha256-LVfeQPRpwv1l3Brm8HJYoYvv26fJhsfR4I9Ds4NuWQM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/tools/text/mdcat/default.nix b/nixpkgs/pkgs/tools/text/mdcat/default.nix
index 6cdd90f2be3d..f6dcd72d7bf2 100644
--- a/nixpkgs/pkgs/tools/text/mdcat/default.nix
+++ b/nixpkgs/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.0";
+  version = "0.26.1";
 
-  src = fetchFromGitHub {
-    owner = "lunaryorn";
-    repo = pname;
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "flausch";
+    repo = "mdcat";
     rev = "mdcat-${version}";
-    sha256 = "sha256-wrtvVFOSqpNBWLRGPL+08WBS4ltQyZwRE3/dqqT6IXg=";
+    sha256 = "sha256-vB49EwQltonR9Uw8RRMZTPR4WkcylnIqiE0/8+t2R1Q=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "sha256-9I6/lt5VXfZp2/W6EoXtagcNj2kfxB5ZT2GkWgsUyM8=";
+  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/nixpkgs/pkgs/tools/text/opencc/default.nix b/nixpkgs/pkgs/tools/text/opencc/default.nix
index cbb055323a68..5ad14295e872 100644
--- a/nixpkgs/pkgs/tools/text/opencc/default.nix
+++ b/nixpkgs/pkgs/tools/text/opencc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python }:
+{ lib, stdenv, fetchFromGitHub, cmake, python2 }:
 
 stdenv.mkDerivation rec {
   pname = "opencc";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-q/y4tRov/BYCAiE4i7fT6ysTerxxOHMZUWT2Jlo/0rI=";
   };
 
-  nativeBuildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python2 ];
 
   # let intermediate tools find intermediate library
   preBuild = lib.optionalString stdenv.isLinux ''
diff --git a/nixpkgs/pkgs/tools/text/patchutils/generic.nix b/nixpkgs/pkgs/tools/text/patchutils/generic.nix
index 923dd06d1826..d1cd4334e119 100644
--- a/nixpkgs/pkgs/tools/text/patchutils/generic.nix
+++ b/nixpkgs/pkgs/tools/text/patchutils/generic.nix
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl ] ++ extraBuildInputs;
   hardeningDisable = [ "format" ];
 
+  # tests fail when building in parallel
+  enableParallelBuilding = false;
+
   postInstall = ''
     for bin in $out/bin/{splitdiff,rediff,editdiff,dehtmldiff}; do
       wrapProgram "$bin" \
diff --git a/nixpkgs/pkgs/tools/text/qprint/default.nix b/nixpkgs/pkgs/tools/text/qprint/default.nix
index 19f2d7b1cbd6..56f5b5becbd6 100644
--- a/nixpkgs/pkgs/tools/text/qprint/default.nix
+++ b/nixpkgs/pkgs/tools/text/qprint/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "http://www.fourmilab.ch/webtools/qprint/";
+    homepage = "https://www.fourmilab.ch/webtools/qprint/";
     license = lib.licenses.publicDomain;
     description = "Encode and decode Quoted-Printable files";
     maintainers = [ lib.maintainers.tv ];
diff --git a/nixpkgs/pkgs/tools/text/ruplacer/default.nix b/nixpkgs/pkgs/tools/text/ruplacer/default.nix
index ccf1abe53962..11cb4e6db075 100644
--- a/nixpkgs/pkgs/tools/text/ruplacer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/sad/default.nix b/nixpkgs/pkgs/tools/text/sad/default.nix
index fcf75ed7a877..0de0f745a233 100644
--- a/nixpkgs/pkgs/tools/text/sad/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/shfmt/default.nix b/nixpkgs/pkgs/tools/text/shfmt/default.nix
index 5309ee01b9ac..061e1f709ebb 100644
--- a/nixpkgs/pkgs/tools/text/shfmt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/shocco/default.nix b/nixpkgs/pkgs/tools/text/shocco/default.nix
index 11d8194bb702..1359db98978c 100644
--- a/nixpkgs/pkgs/tools/text/shocco/default.nix
+++ b/nixpkgs/pkgs/tools/text/shocco/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, perlPackages, pythonPackages }:
+{ lib, stdenv, fetchFromGitHub, perlPackages, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "shocco";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace PATH= NIRVANA=
   '';
 
-  buildInputs = [ perlPackages.TextMarkdown pythonPackages.pygments ];
+  buildInputs = [ perlPackages.TextMarkdown python3.pkgs.pygments ];
 
   meta = with lib; {
     description = "A quick-and-dirty, literate-programming-style documentation generator for / in POSIX shell";
diff --git a/nixpkgs/pkgs/tools/text/txt2tags/default.nix b/nixpkgs/pkgs/tools/text/txt2tags/default.nix
index eb299caade9c..9f237066d7c1 100644
--- a/nixpkgs/pkgs/tools/text/txt2tags/default.nix
+++ b/nixpkgs/pkgs/tools/text/txt2tags/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python }:
+{ lib, stdenv, fetchurl, python2 }:
 
 stdenv.mkDerivation rec {
   version = "2.6";
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   # Python script, needs the interpreter
-  propagatedBuildInputs = [ python ];
+  propagatedBuildInputs = [ python2 ];
 
   installPhase = ''
     mkdir -p "$out/bin"
     mkdir -p "$out/share/doc"
     mkdir -p "$out/share/man/man1/"
-    sed '1s|/usr/bin/env python|${python}/bin/python|' < txt2tags > "$out/bin/txt2tags"
+    sed '1s|/usr/bin/env python|${python2}/bin/python|' < txt2tags > "$out/bin/txt2tags"
     chmod +x "$out/bin/txt2tags"
     gzip - < doc/manpage.man > "$out/share/man/man1/txt2tags.1.gz"
     cp doc/userguide.pdf "$out/share/doc"
diff --git a/nixpkgs/pkgs/tools/text/ugrep/default.nix b/nixpkgs/pkgs/tools/text/ugrep/default.nix
index 38e534932a44..8fc299fa6c00 100644
--- a/nixpkgs/pkgs/tools/text/ugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ugrep/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ugrep";
-  version = "3.4.0";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-G9MM5dIc1B8tggCQKIk+f39cv/Xb0rTLOqDYEsHwI4A=";
+    hash = "sha256-5ZlZ/nCUOiyOWagF1Vla945d7zKbMsHp56ZE4HwdEP4=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index 7b4cde33f5d1..4ed12b5b1344 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.13.0";
+  version = "2.15.1";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    sha256 = "sha256-I1hrmlNZUDhjWTsOzmp8xIc8rv2gTGRx2/yiAmCy9IY=";
+    sha256 = "sha256-akJgIS+jf2n9NC4A+/gNQR62BaJ6T9vvdxJggOTRHn8=";
   };
 
-  vendorSha256 = "sha256-tZarz6xwZo9IFfKB9qGxqezYaFrPyQp3wcug5jGaElY=";
+  vendorSha256 = "sha256-2vYe943HHybOLcP8nDJe7RimMRIJdND2UPwtwB2mttE=";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/nixpkgs/pkgs/tools/text/vgrep/default.nix b/nixpkgs/pkgs/tools/text/vgrep/default.nix
index 928f401c3839..8da1917fdd01 100644
--- a/nixpkgs/pkgs/tools/text/vgrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/vgrep/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vgrep";
-  version = "2.5.5";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "vrothberg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pWRc1EjL09zFT/8HLrosuCJ5qTDj2VaizoI/Eu8jsgM=";
+    sha256 = "sha256-RLyEOvNhb1oXPYYxVZKc+xN2uCgUaWMxh8dPEOUfAFA=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix b/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix
index 96aa01abe6dd..f535449daf1d 100644
--- a/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/nixpkgs/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "html-xml-utils";
-  version = "8.0";
+  version = "8.2";
 
   src = fetchurl {
     url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz";
-    sha256 = "sha256-dJBZkGwzHCx/us7uAkZiRaI3uRvUCN/485bQc0oGCuI=";
+    sha256 = "sha256-ANs8xod8iFv81ACZM859Qn1HIVbyUConyha8rwH6rmQ=";
   };
 
   buildInputs = [curl libiconv];
diff --git a/nixpkgs/pkgs/tools/text/xml/rxp/default.nix b/nixpkgs/pkgs/tools/text/xml/rxp/default.nix
index 5940bc6d60f9..918a491ede38 100644
--- a/nixpkgs/pkgs/tools/text/xml/rxp/default.nix
+++ b/nixpkgs/pkgs/tools/text/xml/rxp/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     license = lib.licenses.gpl2Plus;
     description = "A validating XML parser written in C";
-    homepage = "http://www.cogsci.ed.ac.uk/~richard/rxp.html";
+    homepage = "https://www.cogsci.ed.ac.uk/~richard/rxp.html";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/yaml-merge/default.nix b/nixpkgs/pkgs/tools/text/yaml-merge/default.nix
index e5794b439a53..85ea3cd360da 100644
--- a/nixpkgs/pkgs/tools/text/yaml-merge/default.nix
+++ b/nixpkgs/pkgs/tools/text/yaml-merge/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages }:
+{ lib, stdenv, fetchFromGitHub, python3Packages }:
 
 stdenv.mkDerivation {
   pname = "yaml-merge";
-  version = "unstable-2016-02-16";
+  version = "unstable-2022-01-12";
 
   src = fetchFromGitHub {
     owner = "abbradar";
     repo = "yaml-merge";
-    rev = "4eef7b68632d79dec369b4eff5a8c63f995f81dc";
-    sha256 = "0mwda2shk43i6f22l379fcdchmb07fm7nf4i2ii7fk3ihkhb8dgp";
+    rev = "2f0174fe92fc283dd38063a3a14f7fe71db4d9ec";
+    sha256 = "sha256-S2eZw+FOZvOn0XupZDRNcolUPd4PhvU1ziu+kx2AwnY=";
   };
 
-  pythonPath = with pythonPackages; [ pyyaml ];
-  nativeBuildInputs = [ pythonPackages.wrapPython ];
+  pythonPath = with python3Packages; [ pyyaml ];
+  nativeBuildInputs = with python3Packages;  [ wrapPython ];
 
   installPhase = ''
     install -Dm755 yaml-merge.py $out/bin/yaml-merge
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix b/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
index 0618a55df441..be7f978a42aa 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile
index feb1437d6d40..cfeefff2f0a3 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile
@@ -1,11 +1,14 @@
 source 'https://rubygems.org'
 gem 'asciidoctor'
+gem 'asciidoctor-bibtex'
 gem 'asciidoctor-diagram'
-gem 'asciidoctor-pdf'
 gem 'asciidoctor-epub3'
+gem 'asciidoctor-html5s'
 gem 'asciidoctor-mathematical'
-gem 'asciidoctor-bibtex'
+gem 'asciidoctor-multipage'
+gem 'asciidoctor-pdf'
 gem 'asciidoctor-revealjs'
+gem 'asciidoctor-rouge'
 gem 'coderay'
 gem 'pygments.rb'
 gem 'rouge'
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile.lock b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile.lock
index 14829ed7b0a6..5b0e79aa2bd5 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/Gemfile.lock
@@ -5,7 +5,7 @@ GEM
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     afm (0.2.2)
-    asciidoctor (2.0.16)
+    asciidoctor (2.0.17)
     asciidoctor-bibtex (0.8.0)
       asciidoctor (~> 2.0)
       bibtex-ruby (~> 5.1)
@@ -23,11 +23,16 @@ GEM
       asciidoctor (>= 1.5.6, < 3.0.0)
       gepub (~> 1.0.0)
       mime-types (~> 3.0)
+    asciidoctor-html5s (0.5.1)
+      asciidoctor (>= 1.5.7, < 3.0)
+      thread_safe (~> 0.3.4)
     asciidoctor-mathematical (0.3.5)
       asciidoctor (~> 2.0)
       asciimath (~> 2.0)
       mathematical (~> 1.6.0)
-    asciidoctor-pdf (1.6.1)
+    asciidoctor-multipage (0.0.15)
+      asciidoctor (>= 2.0.11, < 2.1)
+    asciidoctor-pdf (1.6.2)
       asciidoctor (~> 2.0)
       concurrent-ruby (~> 1.1)
       prawn (~> 2.4.0)
@@ -41,6 +46,9 @@ GEM
       asciidoctor (>= 2.0.0, < 3.0.0)
       concurrent-ruby (~> 1.0)
       thread_safe (~> 0.3.5)
+    asciidoctor-rouge (0.4.0)
+      asciidoctor (>= 1.5.6, < 2.1)
+      rouge (>= 2.2, < 4)
     asciimath (2.0.3)
     bibtex-ruby (5.1.6)
       latex-decode (~> 0.0)
@@ -56,7 +64,7 @@ GEM
       rexml
     csl-styles (1.0.1.11)
       csl (~> 1.0)
-    css_parser (1.10.0)
+    css_parser (1.11.0)
       addressable
     gepub (1.0.15)
       nokogiri (>= 1.8.2, < 2.0)
@@ -69,14 +77,14 @@ GEM
       ruby-enum (~> 0.4)
     mime-types (3.4.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2021.1115)
-    mini_portile2 (2.6.1)
+    mime-types-data (3.2022.0105)
+    mini_portile2 (2.7.1)
     namae (1.1.1)
-    nokogiri (1.12.5)
-      mini_portile2 (~> 2.6.1)
+    nokogiri (1.13.1)
+      mini_portile2 (~> 2.7.0)
       racc (~> 1.4)
     pdf-core (0.9.0)
-    pdf-reader (2.6.0)
+    pdf-reader (2.8.0)
       Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
@@ -98,10 +106,10 @@ GEM
       pdf-reader (~> 2.0)
       prawn (~> 2.2)
     public_suffix (4.0.6)
-    pygments.rb (2.2.0)
+    pygments.rb (2.3.0)
     racc (1.6.0)
     rexml (3.2.5)
-    rouge (3.26.1)
+    rouge (3.27.0)
     ruby-enum (0.9.0)
       i18n
     ruby-rc4 (0.1.5)
@@ -120,9 +128,12 @@ DEPENDENCIES
   asciidoctor-bibtex
   asciidoctor-diagram
   asciidoctor-epub3
+  asciidoctor-html5s
   asciidoctor-mathematical
+  asciidoctor-multipage
   asciidoctor-pdf
   asciidoctor-revealjs
+  asciidoctor-rouge
   coderay
   pygments.rb
   rouge
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix
index 6bb0eac62f12..c4aa7fa4a271 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix
@@ -10,8 +10,9 @@ bundlerApp {
 
   exes = [
     "asciidoctor"
-    "asciidoctor-pdf"
     "asciidoctor-epub3"
+    "asciidoctor-multipage"
+    "asciidoctor-pdf"
     "asciidoctor-revealjs"
   ];
 
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix
index 6bd49e099623..498653c12f2e 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10h4pmmkbcrpy7bn76wxzkb0hriabh1k3ii1g8lm0mdji5drlhq2";
+      sha256 = "0g8gn3g6qy4bzjv1b14sj283kqynjgwq62bgq569jr4dkqwmwnzd";
       type = "gem";
     };
-    version = "2.0.16";
+    version = "2.0.17";
   };
   asciidoctor-bibtex = {
     dependencies = ["asciidoctor" "bibtex-ruby" "citeproc-ruby" "csl-styles" "latex-decode"];
@@ -93,6 +93,17 @@
     };
     version = "1.5.1";
   };
+  asciidoctor-html5s = {
+    dependencies = ["asciidoctor" "thread_safe"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zfbfcqyrsk8bnd526ang3b4j3m5pbns7x3fdxarrm8vv1qplss1";
+      type = "gem";
+    };
+    version = "0.5.1";
+  };
   asciidoctor-mathematical = {
     dependencies = ["asciidoctor" "asciimath" "mathematical"];
     groups = ["default"];
@@ -104,16 +115,27 @@
     };
     version = "0.3.5";
   };
+  asciidoctor-multipage = {
+    dependencies = ["asciidoctor"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1372213kxw1b9k120dmyackafzsk80h1y2n0r1hmfrri26kczgfb";
+      type = "gem";
+    };
+    version = "0.0.15";
+  };
   asciidoctor-pdf = {
     dependencies = ["asciidoctor" "concurrent-ruby" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "safe_yaml" "treetop"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17d3fa6ix6r5ikydqz41r620mm98s076wdg4w6ydsr655r7mvnpk";
+      sha256 = "1inl7cykm542jb7a6kraxkgfqn4y3185wrabh5pd5m68rdv56f04";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "1.6.2";
   };
   asciidoctor-revealjs = {
     dependencies = ["asciidoctor" "concurrent-ruby" "thread_safe"];
@@ -126,6 +148,17 @@
     };
     version = "4.1.0";
   };
+  asciidoctor-rouge = {
+    dependencies = ["asciidoctor" "rouge"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "197sbzs9km58pgfqdnnglhqr7anhb0m330cv1vxfc3s2qz106zjz";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
   asciimath = {
     groups = ["default"];
     platforms = [];
@@ -217,10 +250,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q8gj3wkc2mbzsqw5zcsr3kyzrrb2pda03pi769rjbvqr94g3bm5";
+      sha256 = "1qbdgp36dhcyljhmfxrvbgp1ha9yqxhxgyg3sdm48y9m371jd2an";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.0";
   };
   gepub = {
     dependencies = ["nokogiri" "rubyzip"];
@@ -291,20 +324,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03m3fkix2haah20kvh1jgv262yg9jlzn6wq0y31kafxk8fysfy27";
+      sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q";
       type = "gem";
     };
-    version = "3.2021.1115";
+    version = "3.2022.0105";
   };
   mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
+      sha256 = "0d3ga166pahsxavzwj19yjj4lr13rw1vsb36s2qs8blcxigrdp6z";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "2.7.1";
   };
   namae = {
     groups = ["default"];
@@ -322,10 +355,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
+      sha256 = "1zqzawia52cdcmi55lp7v8jmiqyw7pcpwsksqlnirwfm3f7bnf11";
       type = "gem";
     };
-    version = "1.12.5";
+    version = "1.13.1";
   };
   pdf-core = {
     groups = ["default"];
@@ -343,10 +376,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zgv9pp9cqd1cf8bwk7pb5lkm81gn7znnan0a7s42wd0qavs4nnz";
+      sha256 = "18vsmybpvyi0favlabjipznpc8hgprsm7jpw3s7xr01c3lpjli7y";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.8.0";
   };
   polyglot = {
     groups = ["default"];
@@ -428,10 +461,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mshqjh8v0v8k29f8annqfr4qlgkp39nbwx3sgm69aymv4skfddb";
+      sha256 = "047mjyzz8v4kkgi1ap6fsjf7kcp6dwirpnigif00ss0hxsxchhac";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   racc = {
     groups = ["default"];
@@ -458,10 +491,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "197k0vskf72wxx0gzwld2jzg27bb7982xlvnzy9adlvkzp7nh8vf";
+      sha256 = "0530ri0p60km0bg0ib6swkhfnas427cva7vcdmnwl8df52a10y1k";
       type = "gem";
     };
-    version = "3.26.1";
+    version = "3.27.0";
   };
   ruby-enum = {
     dependencies = ["i18n"];
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
index 5c607d269b22..7652239b998d 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
@@ -5,8 +5,8 @@ GEM
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     afm (0.2.2)
-    asciidoctor (2.0.16)
-    asciidoctor-pdf (1.6.1)
+    asciidoctor (2.0.17)
+    asciidoctor-pdf (1.6.2)
       asciidoctor (~> 2.0)
       concurrent-ruby (~> 1.1)
       prawn (~> 2.4.0)
@@ -18,11 +18,11 @@ GEM
       treetop (~> 1.6.0)
     coderay (1.1.3)
     concurrent-ruby (1.1.9)
-    css_parser (1.10.0)
+    css_parser (1.11.0)
       addressable
     hashery (2.1.2)
     pdf-core (0.9.0)
-    pdf-reader (2.6.0)
+    pdf-reader (2.8.0)
       Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
@@ -44,9 +44,9 @@ GEM
       pdf-reader (~> 2.0)
       prawn (~> 2.2)
     public_suffix (4.0.6)
-    pygments.rb (2.2.0)
+    pygments.rb (2.3.0)
     rexml (3.2.5)
-    rouge (3.26.1)
+    rouge (3.27.0)
     ruby-rc4 (0.1.5)
     safe_yaml (1.0.5)
     treetop (1.6.11)
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
index b57d1e5ac4ad..d87c6c1fa995 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10h4pmmkbcrpy7bn76wxzkb0hriabh1k3ii1g8lm0mdji5drlhq2";
+      sha256 = "0g8gn3g6qy4bzjv1b14sj283kqynjgwq62bgq569jr4dkqwmwnzd";
       type = "gem";
     };
-    version = "2.0.16";
+    version = "2.0.17";
   };
   asciidoctor-pdf = {
     dependencies = ["asciidoctor" "concurrent-ruby" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "safe_yaml" "treetop"];
@@ -46,10 +46,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17d3fa6ix6r5ikydqz41r620mm98s076wdg4w6ydsr655r7mvnpk";
+      sha256 = "1inl7cykm542jb7a6kraxkgfqn4y3185wrabh5pd5m68rdv56f04";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "1.6.2";
   };
   coderay = {
     groups = ["default"];
@@ -77,10 +77,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q8gj3wkc2mbzsqw5zcsr3kyzrrb2pda03pi769rjbvqr94g3bm5";
+      sha256 = "1qbdgp36dhcyljhmfxrvbgp1ha9yqxhxgyg3sdm48y9m371jd2an";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.0";
   };
   hashery = {
     groups = ["default"];
@@ -108,10 +108,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zgv9pp9cqd1cf8bwk7pb5lkm81gn7znnan0a7s42wd0qavs4nnz";
+      sha256 = "18vsmybpvyi0favlabjipznpc8hgprsm7jpw3s7xr01c3lpjli7y";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.8.0";
   };
   polyglot = {
     groups = ["default"];
@@ -193,10 +193,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mshqjh8v0v8k29f8annqfr4qlgkp39nbwx3sgm69aymv4skfddb";
+      sha256 = "047mjyzz8v4kkgi1ap6fsjf7kcp6dwirpnigif00ss0hxsxchhac";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   rexml = {
     groups = ["default"];
@@ -213,10 +213,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "197k0vskf72wxx0gzwld2jzg27bb7982xlvnzy9adlvkzp7nh8vf";
+      sha256 = "0530ri0p60km0bg0ib6swkhfnas427cva7vcdmnwl8df52a10y1k";
       type = "gem";
     };
-    version = "3.26.1";
+    version = "3.27.0";
   };
   ruby-rc4 = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile b/nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile
deleted file mode 100644
index d5290dcb0093..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile
+++ /dev/null
@@ -1,2 +0,0 @@
-source 'https://rubygems.org'
-gem 'nokogiri', '~> 1.11.7'
diff --git a/nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile.lock b/nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile.lock
deleted file mode 100644
index 07b58b649f4c..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/docbookrx/Gemfile.lock
+++ /dev/null
@@ -1,38 +0,0 @@
-PATH
-  remote: .
-  specs:
-    docbookrx (1.0.0.dev)
-      nokogiri (~> 1.11.7)
-
-GEM
-  remote: https://rubygems.org/
-  specs:
-    diff-lcs (1.4.4)
-    nokogiri (1.11.7-x86_64-linux)
-      racc (~> 1.4)
-    racc (1.6.0)
-    rake (13.0.6)
-    rspec (3.9.0)
-      rspec-core (~> 3.9.0)
-      rspec-expectations (~> 3.9.0)
-      rspec-mocks (~> 3.9.0)
-    rspec-core (3.9.3)
-      rspec-support (~> 3.9.3)
-    rspec-expectations (3.9.4)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.9.0)
-    rspec-mocks (3.9.1)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.9.0)
-    rspec-support (3.9.4)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  docbookrx!
-  rake (~> 13.0.0)
-  rspec (~> 3.9.0)
-
-BUNDLED WITH
-   2.2.24
diff --git a/nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix b/nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix
deleted file mode 100644
index 059233d09b08..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/docbookrx/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib
-, fetchFromGitHub
-, stdenv
-, ruby
-, bundlerEnv
-}:
-
-let
-  env = bundlerEnv {
-    name = "docbookrx-env";
-    gemdir = ./.;
-
-    inherit ruby;
-
-    gemfile = ./Gemfile;
-    lockfile = ./Gemfile.lock;
-    gemset = ./gemset.nix;
-  };
-
-in stdenv.mkDerivation {
-
-  pname = "docbookrx";
-  version = "unstable-2018-05-18";
-
-  buildInputs = [ env.wrappedRuby ];
-
-  src = fetchFromGitHub {
-    owner = "asciidoctor";
-    repo = "docbookrx";
-    rev = "83d1d1235e3bb44506123eda337780a912581cd0";
-    sha256 = "sha256-OdPRh7ZIhgM7hs5qPiuxLEUuMEtaXcgZ83M6i6CV6AY=";
-  };
-
-  # TODO: I don't know ruby packaging but this does the trick for now
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    cp -a bin/docbookrx $out/bin
-    cp -a lib $out
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "(An early version of) a DocBook to AsciiDoc converter written in Ruby";
-    homepage = "https://asciidoctor.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-  };
-
-}
diff --git a/nixpkgs/pkgs/tools/typesetting/docbookrx/gemset.nix b/nixpkgs/pkgs/tools/typesetting/docbookrx/gemset.nix
deleted file mode 100644
index fde67f2d4ee9..000000000000
--- a/nixpkgs/pkgs/tools/typesetting/docbookrx/gemset.nix
+++ /dev/null
@@ -1,107 +0,0 @@
-{
-  diff-lcs = {
-    groups = ["default" "development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz";
-      type = "gem";
-    };
-    version = "1.4.4";
-  };
-  docbookrx = {
-    dependencies = ["nokogiri"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      path = ./.;
-      type = "path";
-    };
-    version = "1.0.0.dev";
-  };
-  nokogiri = {
-    dependencies = ["racc"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "4976a9c9e796527d51dc6c311b9bd93a0233f6a7962a0f569aa5c782461836ef";
-      type = "gem";
-    };
-    version = "1.11.7";
-  };
-  racc = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  rake = {
-    groups = ["development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
-      type = "gem";
-    };
-    version = "13.0.6";
-  };
-  rspec = {
-    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
-    groups = ["development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h";
-      type = "gem";
-    };
-    version = "3.9.0";
-  };
-  rspec-core = {
-    dependencies = ["rspec-support"];
-    groups = ["default" "development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0b8891149l4rdlaz58k1dprc09rhpvq98bblk4qpd3dvcvqklkvh";
-      type = "gem";
-    };
-    version = "3.9.3";
-  };
-  rspec-expectations = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    groups = ["default" "development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0gjqa3h4r8jna8dh22al4f6ks4x6l4knshx2b8jygkd1gk68n92q";
-      type = "gem";
-    };
-    version = "3.9.4";
-  };
-  rspec-mocks = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    groups = ["default" "development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr";
-      type = "gem";
-    };
-    version = "3.9.1";
-  };
-  rspec-support = {
-    groups = ["default" "development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ig6wk1ln6wy0d6fjlbfwxibps1nidc6111fcnm0jfa1z5nkqczl";
-      type = "gem";
-    };
-    version = "3.9.4";
-  };
-}
diff --git a/nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix b/nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix
index cd48a3fd8765..9ce2de02d302 100644
--- a/nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/odpdown/default.nix b/nixpkgs/pkgs/tools/typesetting/odpdown/default.nix
index 85dcece956fb..252167fcea97 100644
--- a/nixpkgs/pkgs/tools/typesetting/odpdown/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/odpdown/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchFromGitHub, pythonPackages, libreoffice }:
+{ lib, fetchFromGitHub, python2Packages, libreoffice }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
 
   pname = "odpdown";
   version = "0.4.1";
@@ -12,9 +12,9 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "r2qbgD9PAalbypt+vjp2YcYggUGPQMEG2FDxMtohqG4=";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ libreoffice lpod lxml mistune pillow pygments ];
+  propagatedBuildInputs = with python2Packages; [ libreoffice lpod lxml mistune pillow pygments ];
 
-  checkInputs = with pythonPackages; [
+  checkInputs = with python2Packages; [
     nose
   ];
 
diff --git a/nixpkgs/pkgs/tools/typesetting/pdftk/default.nix b/nixpkgs/pkgs/tools/typesetting/pdftk/default.nix
index fd801527e112..192b5424e9a6 100644
--- a/nixpkgs/pkgs/tools/typesetting/pdftk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/sile/default.nix b/nixpkgs/pkgs/tools/typesetting/sile/default.nix
index 27c8aada14c9..958ba9f88d8d 100644
--- a/nixpkgs/pkgs/tools/typesetting/sile/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/sile/default.nix
@@ -38,11 +38,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sile";
-  version = "0.12.0";
+  version = "0.12.2";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "1rkdzf4khyvsn5qg455mdhnlacxlqgi9vchy369a66qp5nrs50y9";
+    sha256 = "0ilnb4gmrj5h5i4q7pl2pyd6n2rdc358x7r163ap0dszypq6f0si";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix b/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix
index e80c4326651c..85031f900849 100644
--- a/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix
index dbd4fed1474d..99ef9a8a71a9 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
index 9aa2cde0f3c9..2827f808678d 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -104,7 +104,7 @@ core = stdenv.mkDerivation rec {
 
   # TODO: perhaps improve texmf.cnf search locations
   postInstall = /* links format -> engine will be regenerated in texlive.combine */ ''
-    PATH="$out/bin:$PATH" ${texlinks} --cnffile "$out/share/texmf-dist/web2c/fmtutil.cnf" --unlink "$out/bin"
+    PATH="$out/bin:$PATH" ${texlinks}/bin/texlinks --cnffile "$out/share/texmf-dist/web2c/fmtutil.cnf" --unlink "$out/bin"
   '' + /* a few texmf-dist files are useful; take the rest from pkgs */ ''
     mv "$out/share/texmf-dist/web2c/texmf.cnf" .
     rm -r "$out/share/texmf-dist"
@@ -136,6 +136,8 @@ core = stdenv.mkDerivation rec {
   + /* doc location identical with individual TeX pkgs */ ''
     mkdir -p "$doc/doc"
     mv "$out"/share/{man,info} "$doc"/doc
+  '' + /* remove manpages for utils that live in texlive.texlive-scripts to avoid a conflict in buildEnv */ ''
+    (cd "$doc"/doc/man/man1; rm {fmtutil-sys.1,fmtutil.1,mktexfmt.1,mktexmf.1,mktexpk.1,mktextfm.1,texhash.1,updmap-sys.1,updmap.1})
   '' + cleanBrokenLinks;
 
   setupHook = ./setup-hook.sh; # TODO: maybe texmf-nix -> texmf (and all references)
@@ -360,7 +362,7 @@ pygmentex = python3Packages.buildPythonApplication rec {
 
 
 texlinks = stdenv.mkDerivation rec {
-  name = "texlinks.sh";
+  name = "texlinks";
 
   src = lib.head (builtins.filter (p: p.tlType == "run") texlive.texlive-scripts-extra.pkgs);
 
@@ -373,7 +375,7 @@ texlinks = stdenv.mkDerivation rec {
     # Patch texlinks.sh back to 2015 version;
     # otherwise some bin/ links break, e.g. xe(la)tex.
     patch --verbose -R scripts/texlive-extra/texlinks.sh < '${./texlinks.diff}'
-    install -Dm555 scripts/texlive-extra/texlinks.sh "$out"
+    install -Dm555 scripts/texlive-extra/texlinks.sh "$out"/bin/texlinks
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
index 9569ec88854f..d4c9d0cde80b 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -223,17 +223,17 @@ in (buildEnv {
     sed "1s|$| -I $out/share/texmf/scripts/texlive|" -i "$out/bin/fmtutil"
     ln -sf fmtutil "$out/bin/mktexfmt"
 
-    perl `type -P mktexlsr.pl` ./share/texmf
-    ${bin.texlinks} "$out/bin" && wrapBin
+    perl `type -P mktexlsr.pl` --sort ./share/texmf
+    ${bin.texlinks}/bin/texlinks "$out/bin" && wrapBin
     perl `type -P fmtutil.pl` --sys --all | grep '^fmtutil' # too verbose
-    #${bin.texlinks} "$out/bin" && wrapBin # do we need to regenerate format links?
+    #${bin.texlinks}/bin/texlinks "$out/bin" && wrapBin # do we need to regenerate format links?
 
     # Disable unavailable map files
     echo y | perl `type -P updmap.pl` --sys --syncwithtrees --force
     # Regenerate the map files (this is optional)
     perl `type -P updmap.pl` --sys --force
 
-    perl `type -P mktexlsr.pl` ./share/texmf-* # to make sure
+    perl `type -P mktexlsr.pl` --sort ./share/texmf-* # to make sure
   '' +
     # install (wrappers for) scripts, based on a list from upstream texlive
   ''
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
index 4851a346c048..c1530856096a 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -125,8 +125,8 @@ let
 
   snapshot = {
     year = "2021";
-    month = "04";
-    day = "08";
+    month = "12";
+    day = "27";
   };
 
   tlpdb = fetchurl {
@@ -136,7 +136,7 @@ let
       #"ftp://tug.org/texlive/historic/2019/tlnet-final/tlpkg/texlive.tlpdb.xz"
       "https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/tlpkg/texlive.tlpdb.xz"
     ];
-    sha512 = "1dsj4bza84g2f2z0w31yil3iwcnggcyg9f1xxwmp6ljk5xlzyr39cb556prx9691zbwpbrwbb5hnbqxqlnwsivgk0pmbl9mbjbk9cz0";
+    hash = "sha512-PcXTctrO0aL5C7Ci1J2Z5fa5WqKONhOK2q0FnSbT5+iP9WWSCljyQiHE8C4LYMMHii48y6AJVRkjVIukI3+rUQ==";
   };
 
   # create a derivation that contains an unpacked upstream TL package
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
index 22e6daacb2e5..0967ef424bce 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
@@ -1,9095 +1 @@
-{
-"amsfonts-3.04"="0l3ypclhv5qdpcpy29xwda2m3cjfn5l996agas6yhpdr2m58q211";
-"amsfonts.doc-3.04"="1v7chx5rvvqmcf7j35qi55wxwxkbfkbv34b15yrgn6bflniziicm";
-"amsfonts.source-3.04"="064gndy9lnmsq2srw5hh97sbdk8gk0qv9zzki00ms3c6rzhd9sjl";
-"bibtex-0.99d"="1w7vpf0kw6vi3hgmlmk0dpzk82kns7a77appx8yg76xcip2xid51";
-"bibtex.doc-0.99d"="13xh14d3v8a9ik4z5kn0y3qff9j6zb83671411in78v46dh3d75y";
-"kpathsea-58622"="0jgwbbcbazam4c0hspbi15j2ndjzvxzirgbk0zpp8ffma0xhhcjx";
-"kpathsea.doc-58622"="121f7nv9zq4dsy0krd1wkq5yjpbynjav6asafpq5idp1l5haw67h";
-"cm-57963"="1i70pxbx7bp7lzpd4skdymv1a7h8njsr42v8l8jvh4bs3gkmlbgi";
-"cm.doc-57963"="1s5jagrajx29zmpdbqc6qpbcpwgp7g4c3d59ilg4sgcqgd9n5v1j";
-"colorprofiles-20181105"="05nf7y425f8ric57c3afq7ymc7ndxcdahbx9n32jnaz9j3qq2ypl";
-"colorprofiles.doc-20181105"="152vrbm5km4ymj5h41x8cjyypj06g4xq3vyvmgakai9qz270dvyz";
-"dvipdfmx-58645"="1zgddb27zzdd3ycvmdfzph4khlcjlfdbp3a0nwhjf2682kf9hryl";
-"dvipdfmx.doc-58645"="09mi9lfp4sj8jv6h3rzh1dzfryfixsppan9pavj4w6drkf25rd4m";
-"glyphlist-54074"="12nmmyh77vr2622lzi11nm1z1k2bxs7jz018yl4rwjlpg0sxg1ja";
-"dvips-57972"="0k89qqz9zx5zh13azpjndfzszgl85hq4513kaayf4k3spy9fn5yw";
-"dvips.doc-57972"="1j0k0sg0j5zhcw2k8aznp9kflmmvw06qhwwlmbhsj1ii3847vxsh";
-"ec-1.0"="0l9zf4zs8yw84x5rnyzaggz4idl4kmvj40c03jyxbsxsx6bi8jks";
-"ec.doc-1.0"="013w8hdsln91k13c3ilv36p4vp1263knkxf4m3hh6vaaqcr55aw9";
-"enctex-34957"="02a26lzlkkw3dabxci7w77117n2bagsdk5rlcn4cps45xdbjqikj";
-"enctex.doc-34957"="068qh474lirr3yzh8ggpavqsmzdv5yvlc1i93f5cx49cd9j7dm0w";
-"etex-56291"="1zk4dp55r1yjwy1bpigyzbfm9nh3np544hfmzzfhdg4i4yps87k8";
-"etex.doc-56291"="1nsh69hzpk33ljng9g6drrrb5c59cm58a058damk3s3gzfy7a8a1";
-"etex-pkg-2.7"="01aa6bn8d46ql8aw8kg9k2c3x611jpd5hx3h6g2fqb2lvjqnr1zp";
-"etex-pkg.doc-2.7"="1hcir648vyypvqa8r710mj9qldir9yp2lq7biv3s9w1vl2ssw18d";
-"graphics-def-58539"="11slfvdq8p0i5kfvakqpdq7vrpda1d03mzav69fwia32g9rhpjan";
-"graphics-def.doc-58539"="1hdg052zf2nbnjmc3lfpn7lr7ndjwsp9wsqs38as94caggy6adqp";
-"hyph-utf8-58619"="14jj24fr6v74vj8wi2a9k9zk9vnrvmy1ni4zn24dl5fdfw75n5ik";
-"hyph-utf8.doc-58619"="11n1blnx9i7q2dlhyhf1dxs2vnldc9r8f3k6diix0i1np8hpz05q";
-"hyph-utf8.source-58619"="1cff5ijmpxc752n6cmpfzn1a10ihrkz7n9l55gz2k2q0a00m2ssh";
-"hyphen-base-58630"="1sagn9aybs34m1s6m3zwya5g5kbiwfnw8ifcgxssygmzzs88dgjp";
-"hyphenex-57387"="08f915yqpx6qhc2dzbicbv9cijzpgcl4jpifydqcc0x68y51qrzi";
-"hyphenex.source-57387"="0lqn354bskaa6g0bn9g1r3lbb1hj9si5n1ki38awayzp1yj8a3q0";
-"ifplatform-0.4a"="0abhpfw3w1mvpg52xaw3cngl55sszk5ji9a38yab8vhknh3d3jby";
-"ifplatform.doc-0.4a"="1b41nzn666askfc1kkm1lwf05ggf2ml8gz3rrki4yw6ch52sl2sc";
-"ifplatform.source-0.4a"="0g0qvbvv4j87rxps9yypair00z6il5hfjczkrmf4fkycw714sdqa";
-"iftex-1.0d"="1jcwlnm5wzzwr3r67v6d873c0619bhll93qd7f342xw503vqwlsy";
-"iftex.doc-1.0d"="136jnij0z3xk2kp2ldglg6g1qyp66rzzibmm5rpdk24rkrrakg1f";
-"knuth-lib-57963"="0dl8z340n6m6xn7wari4hir0syxqi0kl2fhnf0bvnmkqhqwyzpca";
-"knuth-local-57963"="02cf32f57fr6bngiv9xiw8bh4sq53p9br034ap74s80h3bgcmn1f";
-"lua-alt-getopt-0.7.0"="17czrz46xlbj3xkh4jwdq269mqaq7165kpkhhqa498hrkcgdgaak";
-"lua-alt-getopt.doc-0.7.0"="1zfwvs979c7s16vpv2k9l81mcmm9y4qdjk46l8ik3123dalchv6f";
-"luahbtex.doc-57972"="0w4hfjmjgiw42bpz1b59cla8v4s6kik54q6wdhmdjy6jp91rfl2i";
-"luatex-58702"="0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg";
-"luatex.doc-58702"="14bz6h1jrnf4azwb17ny8aj5i8vjm0pxrm3p2g2ai7iscmcibsi7";
-"plain-3.141592653"="1mn5cfiaj7wrjij4y0g2mipc6v8dk7l7nc25s1gmgvvyfqwd3byv";
-"tex-ini-files-40533"="0q1g62jg0qiqslm93ycvm30bw8ydmssjdshzsnzl7n2vpd62qfi2";
-"tex-ini-files.doc-40533"="198f4y0bjw9azzck8rz6ml0rpq7g67r37rw8825y8crhpykchp6n";
-"unicode-data-1.14"="023gy5ldjs0pc4a6ffdjrk5y245sxsqn51g21is5cicj9xihysmk";
-"unicode-data.doc-1.14"="1dmjrfqs0gnrqh8dj765j0dlv46jg9z3rbqk7c278njmr7nx87wm";
-"makeindex-52851"="0lpqnw6nr19p08pf52rcx1xvvsywkpf1rqrkjdsgrv55d1afsd36";
-"makeindex.doc-52851"="1zzi53l4sp5zs57bcmylj7ydv3h2638y46g5dfxkhhzpl6zkhvxm";
-"mflogo-2.0"="0swy70pm0pyqzy1i5wf5hc6cbzn91ihw8hwh9kavdfawb4qzjxxw";
-"mflogo.doc-2.0"="1xqk3nwpi3drkzrnr172i660yx541lxxw3wps0jqbqficqn4fiw4";
-"mflogo.source-2.0"="145hmbxr5x5pj2whra9yify9lyx0ak1az31gvwr3gp5klcmna8p0";
-"mfware-57972"="0kcz1gy17819w77sf0l9m5f6rw8dcapkdbvwaknnrmy50v0jfs1n";
-"mfware.doc-57972"="08bx2bl2xm1bqkrs1b80inzdf4q5djwa8nn0fhbir80z1a3cbf0f";
-"modes-4.2"="0xg6jpyxni3r3fl6r7iq1vz97pp1w3gh8ccp7w5k51igs3dpvcvv";
-"modes.doc-4.2"="1lgmgg6hhq5h3zgpc9vrbb6j0pif03cjs6gwj20df8md69hzr184";
-"pdftex-57973"="079pv90lpakdn10p2vddzdvi9z5grx3c9yrjfg4k3iii7zdjagx4";
-"pdftex.doc-57973"="0v47bnyd6r2i4z3gy9as7nvl3gylsniikp55ywbr9p13q1s4pwkn";
-"dehyph-48599"="0fkqlsknrlxk8zazcqy4q3nisxr3a4x21aiwqhz8s237rdf3w39g";
-"tex.doc-3.141592653"="0njmxc6l84j44k48qh7d79n3qznzriz2pf8lkj09i7mkkj9fw9lf";
-"texlive-common.doc-58055"="1k8ssl78b6jkjvzr0s6nihkyri0xan65pwn8p00sw6iilg058jk8";
-"texlive-docindex.doc-58780"="0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
-"texlive-en.doc-58572"="1r6ikz0lga85lw7dk4wh5mzvpjgs9lfi0yyiaij876zvrciziczv";
-"texlive-scripts-58791"="0cmq2d033pm7hydi0k35f9asfaqkid1z3i5fdil90gfnsknpqgzk";
-"texlive-scripts.doc-58791"="12b4bmzsfvscp3badkd77xpk9znjww30c5h2rq7n20dmbg3b8j4v";
-"tlshell-58792"="00vyz5kkvbdivgaiy5yyllpi9q9rv1i3f90ypyxd6nfdcmjdjfw7";
-"tlshell.doc-58792"="1h5mk09sakbmgsppl9fnry28xnzqya3bmp3r1nkzg44cv7kl98vz";
-"aaai-named-52470"="1xs2iki0v1mh0kbqjxnv9r24bcfmgj6myfw7h368h8g0s1n8d5v6";
-"aichej-15878"="1pr92pq3yjsrbax6ah01cqg7131fp2rkqqjnxwcrm4119z2ic0gf";
-"ajl-34016"="1xkrvy06lw4ngj94zybs14ysal2pg7g71h864gq9bjw0zwq2yjzs";
-"amsrefs-2.14"="015spycf9ycxav8r046yn7lrc892nhkkrf1say1yy9karsji6dnw";
-"amsrefs.doc-2.14"="11fc87kbdm440v4qyhxnv654mh0m6rpz42zji38qspcqj19rck71";
-"amsrefs.source-2.14"="02q2x8zpwxkyrh9v7xqw35vdjx0b4fzz95xcv6vfjmynm8cpklxf";
-"annotate-52824"="12q3xk08ycz57vsrcr2glk7y48w8sbc4n8lrqaicd46cxfd4jdqm";
-"apacite-6.03"="013769hi9alyizx08a0v1hbl03h5vkwi6a6ar3ghw8m6l445xb8m";
-"apacite.doc-6.03"="0d49bmdiiriklmh99kavvm48zh29bgiw7zr5jbcwk5bw42qarlqa";
-"apacite.source-6.03"="0hsrhw50sb8lphxib4jmjgplfrmy95m56a1phiac4kwxphlj9di2";
-"apalike2-54080"="0mn84ahwjg8gvw5lifvcrnch11q79d4bgw3nmhrh4v8slwgip5l7";
-"archaeologie-2.4.5"="1g0r3y1s7759lx75fhmc2v38ks4mgbldpjkkxnk7rq0ljdqy38x9";
-"archaeologie.doc-2.4.5"="1hccakjvh7ldyja2nfi68926yn175fhawiwc76qk5fksggj568rg";
-"archaeologie.source-2.4.5"="1gv9495g29hqc0g6in438g8sdkaxwwn2vvp8f41mz033dzfln5bs";
-"authordate-52564"="0caz9s2ra7qqlzdnahhv50z050iyp62ypyrfpbj1p9ih7zmcdg23";
-"authordate.doc-52564"="14wxjyrighkhg51m9jpdyjdwz2ipz4zr1rfgmdnxbpg31rbg2x7s";
-"beebe-58697"="0v87mxm1qj1ffz6d6sdcw3m318d3kib7bi1dz27grcmvj8hih3hx";
-"besjournals-45662"="1jpp3ayblhwwqzndss91rcns3axr60b8zzxdd6f4qqifhaqczk3l";
-"besjournals.doc-45662"="02s7qd7vvdr6wf00cm7026984s6vphp88iaqhnhk0iiafpr3lk3i";
-"bestpapers-1.0"="00ig29wqb4fn6qw7szmwmv92s19nc2wpapv4pgv8nwsby8nplyrm";
-"bestpapers.doc-1.0"="08yv29s2cx89nq0lvykx8z6szs72d2ph97g75bqni3l7b4n0wng7";
-"bib2gls-2.7"="09v0k5ldpyhwmzspidnfz34p4m7vmjkinbvrzs304crb2p9xb0wc";
-"bib2gls.doc-2.7"="01f2ll1pjzwjyj51ngijm4vaq06l1hgbw1ajdyaq7anach1z242m";
-"bib2gls.source-2.7"="01d40yrhncjh1jg743av8drmbycmdsfxf3bfpzq89di5hyaj821r";
-"bibarts-2.2"="1zwb8ras2mqv0yn880php3wizs79y1y6fwvjd09jwc9a0j62p1pa";
-"bibarts.doc-2.2"="0p2fn08wz1ng9jgwmvxp93kkb86wnwzh9snbcm1vhf09b8l1klxk";
-"bibarts.source-2.2"="009gysrkfaiwisb5ac89q9n7rhmdvcy4lc1jr5pgka21qp3rhwb9";
-"biber.doc-2.16"="11507rlq3rcvag1xxf8cn55rnnxdaag03hfd6mq42mnki5w54zjh";
-"biber.source-2.16"="1lsvh76vskf50aij9i2vgysnnc75qdc9c0vyb7m4y46zhrx0lvrn";
-"bibexport-3.03"="1zbsilzaz68zvmbf2xw7jqw4l66clcplz3l46ggxw95gns8mgqlg";
-"bibexport.doc-3.03"="17a5w095vkpp7j54h8m7f74l7vycsqbv6zzschdb3dd34scq1s5w";
-"bibexport.source-3.03"="1pqs7j4xdhx3pqsc8i0wqnz9jkyg891dzl7g3cv19a6wv82k0xjv";
-"bibhtml-2.0.2"="1sg9x0jrgh2jng9b1pd08i0f8kzhy94sq0mf33as91gr43dzws88";
-"bibhtml.doc-2.0.2"="0is3q2m1xg52h5s9n9403c85yfmpjaqqbh8lgyfqfwhl5qqmgrf9";
-"biblatex-3.16"="1yhh1h1ir9g1p2njcqqnkkzadpl8hphakv17n6igkwmjpdxwycy2";
-"biblatex.doc-3.16"="0h2i50a483ipbvc8wnhqp5sar1kwvhj0na7cgzf0yhxs8r7rfl76";
-"etoolbox-2.5k"="1g944zizyl05qz6lq1k13hv9952r97gc1i7is9s5fckz664075jl";
-"etoolbox.doc-2.5k"="05c3kvfwvbg4bxf3wza5rdvh98mnxadf818rsklxa5g2lz44jm76";
-"kvoptions-3.14"="10rv33msjbxkxyvxckxbwzf7y011cgdqgpfqh724m9554s6rlqkl";
-"kvoptions.doc-3.14"="1j9jszxr3cbpjgdr2z42zf4yi33bbqs2yga6nrdjykpfi6n8i9wq";
-"kvoptions.source-3.14"="06z7r2100z6k2cgp4slynr7w5vardb3jm2wpxd0zm68b1p9spzq2";
-"logreq-1.0"="1zj1vn0yfklngvfvcr0p8hchar220lwfrznsq73jbw9zzjx47v4f";
-"logreq.doc-1.0"="143b5bb1jkc9j1gd46c28q4zq8jlh9wrngjw8q4prw5dkfnf1s8m";
-"pdftexcmds-0.33"="1fpijk36lx5czl6bpbawlm8f34zp264l1fli095wha41fil25hks";
-"pdftexcmds.doc-0.33"="00xzyvl66fds400dm5zryrv3m5s42mv6658zx7fnx2wbd0jxs738";
-"pdftexcmds.source-0.33"="11516wkglckyrz41pz9cqj0xa2bd6v2l234k28ynnmfjsg56vph9";
-"url-3.4"="189lixyamvrcpds2i7nlh4w83mk5lnk73158kcw3qjanpncnnn1f";
-"url.doc-3.4"="1xragd7gak0vzj14f7dcx5hxg8plh47ncqdb1m5liaibrdlhgpql";
-"biblatex-abnt-3.4"="1dn2929wlyzwb96iq5lj8x9zr2fi1c4qk1rldc0vrr5s3cxfn3x7";
-"biblatex-abnt.doc-3.4"="000akwyh992yxzn51jlvnc20g12ypq2zmffvnbwxjy3cyq0aggq8";
-"biblatex-ajc2020unofficial-0.2.0"="1csx7vad5svflb76ssdkvd8y3r2n9agqqynw88wvzhzj61fkd2cr";
-"biblatex-ajc2020unofficial.doc-0.2.0"="03wzlpr5v6y67syy0bx87z123ark524fm6kqjw83v0sa4y4kwq7l";
-"biblatex-anonymous-2.6.2"="02fssl0l50s94y6x7rv2rm0227ivgr7kfnim435j4k1l0av4gb3n";
-"biblatex-anonymous.doc-2.6.2"="0dffdxp04shrh7fsl4dilqcsnnxbjpbayy9r87hxmq3yk605lvki";
-"biblatex-apa-9.14"="08sldd3qp9d5riz038s5bn8mqhpvws449fk7q86fvfn9hwy5igxw";
-"biblatex-apa.doc-9.14"="1xnfsi2nk33dmqmbl46qaqiv71yxhxq31pf3srdidxn0ymfa6g2h";
-"biblatex-apa6-8.5"="1a1kynyy1gdmsfnwlnxws74hwyqc6sq29wv6ybalpipdzn7dg73i";
-"biblatex-apa6.doc-8.5"="1qvn9bnzvx88qbmbdgds53q08v7ml42mbqbcn7bzzq6mnz9ra2mx";
-"biblatex-archaeology-2.2"="1kf5aqc8mv28k0aiipwm6yc1vkgzyikp0bsmpmgdhy5acz3whfxc";
-"biblatex-archaeology.doc-2.2"="022l37hplzmvkcpnr06n4fz509w8wm24py0c05qljs6jz7smyhh6";
-"biblatex-archaeology.source-2.2"="0shn0bacflcaayajxpdiv9ik994aizpdmlc010shm3fzjdlay79c";
-"biblatex-arthistory-bonn-1.2"="1j0wy272dkzcb96i74qh54ap2hs5wdhmln8akh749fyydsazr43h";
-"biblatex-arthistory-bonn.doc-1.2"="094s5c55lfc7ssmz3mzj61zkxpnn1haj2vh582apzffppgd3fd0m";
-"biblatex-bath-4.0"="1vlkj2gvrki82mg77h1kyk4ngg2r9yfbrr887kvypn4wl32hm372";
-"biblatex-bath.doc-4.0"="0y0j1hdk7kj236civ1ngb03sf24hxd5dxgv4af6xdll6r2ljikpd";
-"biblatex-bath.source-4.0"="119vi9nxizn2l04ghiajp8kpzrvkgrn4yl4qn9brq99drn6hnlr9";
-"biblatex-bookinarticle-1.3.1a"="1gas58hi5ycchbpamm0z9mn5jc2hbry682i4wmba242wm55digyq";
-"biblatex-bookinarticle.doc-1.3.1a"="1s39gixpryiqf44riq5bk3hnp6nc8pdqbdylh594k9xk3770p77z";
-"biblatex-bookinother-2.3.3"="1vb9m88z3cck9gi8d41lsv4ckqli4wjdgwkklfds2z189vbncc4k";
-"biblatex-bookinother.doc-2.3.3"="0zzmlsikzv5zxvd5xh12fzynmkl0bzzvl2s2y2r4kfn6s08xncja";
-"biblatex-bwl-0.02"="1ii8jacddlj15sm45g5rnk7yqbsd7i8c6a1pxy34vpb6bgsfb69m";
-"biblatex-bwl.doc-0.02"="11cspr9i8q1da0x23bplsy88nfmn1x87zvrqdc28gbk4ybi6fc4s";
-"biblatex-caspervector-0.3.5"="158ba1fhzfaqq056wzs6af6hx92h7yscliddmz1y1dlm1as8x1hz";
-"biblatex-caspervector.doc-0.3.5"="123l0nk56vs2i153q9bwplqb2jyg66bl7b6xm60dz7k16l81w3ky";
-"biblatex-chem-1.1z"="0kv44yng5wff1xkgw8nya64jizfcf1ipxrgnf46pd1dak5vlsiq0";
-"biblatex-chem.doc-1.1z"="0amx09qlk78kw6iam8b83xx0kw12k5p7q6wn267imr2rsibbs3l7";
-"biblatex-chicago-2.1"="04qcxjvvfdsfib5cwh4vk6s5rkpalk3vzz9gldgl3xych1k5dg8a";
-"biblatex-chicago.doc-2.1"="081fs68vjvzmbwj6y2vb7782q5w1kvgbnfsnh6hngx04m0f5sazc";
-"biblatex-claves-1.2.1"="0saj8s7q9lzjnydjh3x2hcnhj0wfm2p4rvxk5n6hi2ccfw78d3c1";
-"biblatex-claves.doc-1.2.1"="0g4x5jblj664ngppqpbks3d0ahn818ck871q2aqir6jgkrd13cpw";
-"biblatex-dw-1.7"="17d0mayflv3hwf9ik3z7vjpgp2cv1iyva5iy1nrlf8j7008azmka";
-"biblatex-dw.doc-1.7"="1879390m7ivmb49fkvkhl7233a33q89hpb2pnyvsscz5km3vv4w0";
-"biblatex-enc-1.0"="0kvya1xzxpcmvwgacb726jqzmgr944y9ljai45f0gdkw855ylmb8";
-"biblatex-enc.doc-1.0"="0mmc5sd1jjnj42aa2q1g1zaps1hla6yayl769i4bya6i1w9r99yf";
-"biblatex-ext-0.12"="12x0018lzqvszw17i0id8g8k5dv9lhxj2g8fvw82x503fbll51ag";
-"biblatex-ext.doc-0.12"="1ira281yxvsnqba46avnxign9fbfxl0v4ddxhp3wvx3p7q4axjzq";
-"biblatex-fiwi-1.7"="16grb6hqmrhvzryijg6p4q4vf47a0lxa8bw59avlib5j7mqpg0wc";
-"biblatex-fiwi.doc-1.7"="10skq20bmpqymbgxs47z8ac0q5nckyph7s4xwqmpfd7pi2sksb4a";
-"biblatex-gb7714-2015-1.0x"="06fcpl6q4sa0a848bsglq5qiaxm2jig7mhpxw8wfikrxkp09hipl";
-"biblatex-gb7714-2015.doc-1.0x"="07n042g8ch0xc513mphmxn8ys56mxlgr1aav530fk03fs139a2z5";
-"biblatex-german-legal-002"="1x7x5vpicvxdjbbx17s8va3j0m9mig9ilwim2sp674yxjhfdpw48";
-"biblatex-german-legal.doc-002"="0jgkxjcx6z9nc0c6ms1cn1j7h94d2frxmj9i5rd3h37cj5rax25y";
-"biblatex-gost-1.21"="0v399j9kxdjx5z22mj3zn3cjj48a9f4qjhcx6dkm393a7v63ysb2";
-"biblatex-gost.doc-1.21"="1b0av4hfbh17kp768cyll3cb63gw688rvsimyidvssni0cn27s81";
-"biblatex-historian-0.4"="14p27qb8rdx479pj7zdvl00ir1zg8f0bzp107zfwv61ypq8zrvbl";
-"biblatex-historian.doc-0.4"="0hcghqxbjah4lyjzlrkixs6iqbkjx4d8r3hv16lgnddkndbgq663";
-"biblatex-ieee-1.3e"="00hzyr8c444gplwpjm1rzi613zdxpc839xkbbf13mcli150jk66r";
-"biblatex-ieee.doc-1.3e"="1257hkmzixhsqsax1i5ngj541vn9cixj1flaflkrnxs895l6j95h";
-"biblatex-ijsra-0.1"="0gnm3h0918lvbqwnzk9wkdcafpzz5q3cln2z1sjaylr3mgypykdw";
-"biblatex-ijsra.doc-0.1"="0jl8mr3ai1ybc3lmp7x477znv59az94hlbzaqmvix54rxf6k8f4k";
-"biblatex-iso690-0.4"="0ap3l1j8l45f0wlar9gp537v5dzlhc9b805bp3ijm700csclj0hv";
-"biblatex-iso690.doc-0.4"="1ng5dqk0ch57yrz8macbmm3djm55r4jkrq82bi065a5mxdll1cag";
-"biblatex-jura2-0.4"="1wwhlys3s1zb1zp675ikgydpwzkzgpk51phwd67nx9zphdd9h55q";
-"biblatex-jura2.doc-0.4"="14rpa74dq13g4wjd5b28pwivf7frz5w4712p0mld15z9cvlsi5hn";
-"biblatex-juradiss-0.23"="0zi9b67y0p9zdz2n4j1lr5qgd54p3l13c132wjz749mlrv6njfx3";
-"biblatex-juradiss.doc-0.23"="0a6d7awx49cy86ndwfkfq280dwh846ssjkkkrgbq4vxlbmbh2zpx";
-"biblatex-license-0.1"="1fg16xc32kbg493y91sjxjnxpi6jb7kki7yvy3d796w7vy86ljfn";
-"biblatex-license.doc-0.1"="0iy8ad7k9j5x5wnnk196dwsyc5hhz8fl88wq56x80cgfdkg20jrh";
-"biblatex-lni-0.5"="1dg4xa0xkblf3iy9hipjp4wwk46zwq5yhwfsmiwxa63bkjavpzg6";
-"biblatex-lni.doc-0.5"="0d0cx0jvgy2shly976ypmr0k1rrpmiiqc01m2sb9scj558vrf3fn";
-"biblatex-luh-ipw-0.3"="13hh4x8p8hxnyz6cr22lb3djl5advrl5c9dyx6f491d2mjz7vibs";
-"biblatex-luh-ipw.doc-0.3"="0xb2wmg5psd0wi21j1vmn1y8sy8gw78350fqbmpgd6l4xw7bb4gn";
-"biblatex-manuscripts-philology-2.1.2"="0wrhgwkbi468nzh41278mxh1ljsycz0vvch583jaksf26cxi6cpd";
-"biblatex-manuscripts-philology.doc-2.1.2"="1ybl7drbymw9sr019w8jyxir0827kbr8w9swvz64shjzhblkcdzg";
-"biblatex-mla-1.9"="1r6bx64w9j70wkjbfq1gm7hzr1xlzai3ynfb25kgwcm9bzxb4kwb";
-"biblatex-mla.doc-1.9"="0xpak1x5yzsax39dyr2kwm2lkcgp6fj18jdmndmh0kzxwdmxqbi3";
-"biblatex-morenames-1.3.1"="1imryzaywyvdr67qcspys9r3mhl5k94vhqjsl16pmz86klq1bs1w";
-"biblatex-morenames.doc-1.3.1"="03p7154s44ga7rlf8ya69qvbwkb6gsiwz8j2wycgzljj0z3plnjh";
-"biblatex-multiple-dm-1.0.1"="11rl82yv0bfy69cmij15np3wc15jss82ghf965r0b1py37vsj0s4";
-"biblatex-multiple-dm.doc-1.0.1"="1jypgpaid18g09xxryriaj4n1ql0759jfv4jshjbkbk5fgf4c2yi";
-"biblatex-musuos-1.0"="0zs2dwsid3xhcl01a2hqrr0mdfr1q9j0zga4rjlarfzkgznkqrwc";
-"biblatex-musuos.doc-1.0"="172kvn0rpmk331yvpf3zbyisv1qlykz8icxgr1xkq5z9bxn9qmkc";
-"biblatex-nature-1.3d"="0pfpm5am4dwj04fwdjrw30dx8qrmfx56s7gkl9h9qyj2qadsx533";
-"biblatex-nature.doc-1.3d"="1mga7yx3radxwqhfmxzh2hmsyvx9qmal394cv31mlb3yd5ww1sv4";
-"biblatex-nejm-0.5.0"="02v8bfdxslcgilfsnw0g516zl2rfqx0d87hjb0dbm4md5qbry0km";
-"biblatex-nejm.doc-0.5.0"="1znfnxizc22dgpp3bkl1iim2ksi3w9klw4jam84103bpbl3vwxgr";
-"biblatex-nejm.source-0.5.0"="02q97wss9bm6xj9lvr8vx8jvp8bszkxgk4ayxk5zc4lrnjzw2i51";
-"biblatex-nottsclassic-0.1"="00valazq56srfggfw1mq8h7285lrx8iyk44kb8bhqr1q7nhl6pzi";
-"biblatex-nottsclassic.doc-0.1"="1c5634p7knwv8zrpqh39zlpglbdbx9a5y5gw54gj37x3r1ij769x";
-"biblatex-opcit-booktitle-1.9.0"="1xciw0zxkp2034lccvhr6irkr333s0qqqacxqx20v51vjjg8ywkg";
-"biblatex-opcit-booktitle.doc-1.9.0"="1rbswdipirzv68ckh69cc29k908ifpkzp3vxgd2j0bjl3qvbwcyq";
-"biblatex-oxref-2.2"="02071anv1xni90hi5lzkmsrnkm8m57n1svkslghljy33yxabzfv3";
-"biblatex-oxref.doc-2.2"="1ih3hia7x5ghs10g2gg75d9mhvr4fkmncwi6sp0q4zpl6zz6sg9q";
-"biblatex-oxref.source-2.2"="0qhgzzz69bndzxhy3z7mj1yafxz5r9ihhx90phn4lwcrg5db8lcy";
-"biblatex-philosophy-1.9.8c"="00ad8xawypgdzjj45lfr3w6na8f0rbma5svq3cycb86fr2vwnv2k";
-"biblatex-philosophy.doc-1.9.8c"="0di059liq7v435kcwhf7a5nyp8v6m2czapz18xjr810pblhgqvqr";
-"biblatex-philosophy.source-1.9.8c"="13xrj5izz0qr4p37c6ffdph2k23jqvn3zywsh1qijwrj09w9s0kp";
-"biblatex-phys-1.1b"="1vj1rrhzh7ncvi2dap2cjk88vdj0dmlpakjiz953rvb7szx0h40r";
-"biblatex-phys.doc-1.1b"="0z3y7gmcmp2p5g25jha6kwkd7ma4pzgqybxra4402p6aid823fws";
-"biblatex-publist-1.21"="0z20z9j59w7i8gx95div23jrqdpz5yjb8ndc7y74xx1msrqbd7w1";
-"biblatex-publist.doc-1.21"="0iqqsshqgfz4yxqb8xxbavf1fg3fzs0w4v9swwgffj9cawa4yzsq";
-"biblatex-realauthor-2.7.1a"="1xv65ic8ywf18fdb246sr8pvq60hv4wmg7ris1glr5104g5yhg7p";
-"biblatex-realauthor.doc-2.7.1a"="06nvybm142cd1shgpcabddbrfyvzcc3yxk9zyq9hr3rfhzcqf05q";
-"biblatex-sbl-0.12"="16r9sh92qbbx2caxrzwspqlskwpznlx1b0ni8xfrxq08cdr2m548";
-"biblatex-sbl.doc-0.12"="0fqldbd4n43md8jilf179r1a64r8idw95n14179xrgr585x5wic6";
-"biblatex-science-1.2"="0llhz0jmncjp8c2r255mxh09rvff1s0kx1lacxvy7svwj7fl6qgq";
-"biblatex-science.doc-1.2"="0daq39wcjryhcapsx7n216yr591scjcwg7z4cihpb10igx15kbkb";
-"biblatex-shortfields-1.0.1"="1766zipaps96ks920y5zggc0zhk8vkclqh2c3zc2y8x7jdbah1vj";
-"biblatex-shortfields.doc-1.0.1"="1fs56vf86wwpaz1ik846r83zd9bpidrzzwv4l6jhxss8hgww6y0w";
-"biblatex-socialscienceshuberlin-0.0.1"="0fj2l2wxawps79v81s74jr4d8wz4pf45mmpry1pflm2zcica3ajd";
-"biblatex-socialscienceshuberlin.doc-0.0.1"="09sf6k9qghwll84bj6m7v0xw6zm040y6n878x0ywiq64jc33h0np";
-"biblatex-software-1.2-3"="146mr457mnvjsycsy10842mvn0gd81ij2wglkyqf5rvbx4dwra3z";
-"biblatex-software.doc-1.2-3"="176vrl0vw1f9jgln390y2554kbpmdyw87zsv7i7mc99y311sz3j1";
-"biblatex-software.source-1.2-3"="0jig20hy40f90iq3ywp1cf7ms7xcm5ccw90f17iayz8g2hrn2nrf";
-"biblatex-source-division-2.4.2"="09wsi1nj7hcf5nswkd6syn63xhk2ghaxikz5xb5sfyci0lmnqgxc";
-"biblatex-source-division.doc-2.4.2"="1mfz2bxfwx24a2652n4jrdw1mhrm1y7i5vq54rs7sp5a1xfg2d9q";
-"biblatex-subseries-1.2.0"="1c92azsgrp1cmq82ga3cvnca5s4j902hcncp64g9psgl9fm74nwx";
-"biblatex-subseries.doc-1.2.0"="0ri6vvzcpcm2hz73dkam0fgbnfm7i650x983qcngkr0jqa43xr41";
-"biblatex-swiss-legal-1.1.2a"="1sqskc93a3vdxvycmdz494kddxvzpf6rgw6l184lizwnrz9mr8v0";
-"biblatex-swiss-legal.doc-1.1.2a"="1k0xgd5gi421zvh8bvyvq5naapb6v7216k2sn5aqhca93sifgvqm";
-"biblatex-trad-0.5"="1000rdnm9jqk89snffsf4ldl47wry8k5akm75aqhd9r7qbn73car";
-"biblatex-trad.doc-0.5"="1m32xykdgms8i4aqny35w0happr6vbkkra9m4nasxp1vzykf0n63";
-"biblatex-true-citepages-omit-2.0.0"="1lqs1swmdmnhard0589k0r8gz3hp9bd88dz5z0kd0586vl7z2l82";
-"biblatex-true-citepages-omit.doc-2.0.0"="0madnjxwjlz9hs6jzgaady4sv0878v7fyjs3sn1bcnzyw4krfxgx";
-"biblatex-unified-1.00"="094ddmm1g0lq4dblgp8a87y8gyiab9flcca98fwnyh6jw2nmgk08";
-"biblatex-unified.doc-1.00"="1iip60hifs3xcrpv9zp9d7p3wn4iw8bfjiwqw3z7rhfk02fqn8yw";
-"biblatex-vancouver-0.1"="19ymkk94c4l5sav1lb66f2lxjyfzzi1s78qd2a8drjp9q1c6i0j8";
-"biblatex-vancouver.doc-0.1"="0wn26kl4nli220lfs663rdqmv49xgi76kjgnlwh99yljx7v47n09";
-"biblatex2bibitem-0.2.0"="1fbvrdldp9w6ll568960c4jvpjq7dhwny0ca6mka6vn2r1p4rp1z";
-"biblatex2bibitem.doc-0.2.0"="0mksck3h53zmisabmk06qnbn3p5vk74g1r2p8p0iz6sifa2hqx2n";
-"biblist-17116"="0z69a5x3czy0hb59c93jrkmmg6i66vc7rw6szvchsbsj1c6gwjfb";
-"biblist.doc-17116"="0wp7x8qj7bh1pgcy01jmq35r2i1f8yvrv6bcr8p68d70sr1jqspn";
-"bibtexperllibs-1.6"="0c083hg8hczwc28q0c9gw4z1bwj5w3krhrs5zg15h0s808ji32xq";
-"bibtexperllibs.source-1.6"="1pb46v09ik8cd5kbhl79qfnj9p2wl19g9vpjkdxqvzsb04i7lf0f";
-"bibtopic-1.1a"="0rzz1c1c6vgjm2r0gv65rwvbcv0asc5049agv75yyvqihvn51018";
-"bibtopic.doc-1.1a"="0hzy6353n1rzirfdjd8dgjhnp496i14b0z0n2x7gnisf3qksr0wx";
-"bibtopic.source-1.1a"="0abpdz3ir7l9dvc6vy5zi9ay103ga7i92vg3z69agd758xnz0v3y";
-"bibtopicprefix-1.10"="0vy9cah5mmr1vf4sm16212h36wz4623s07cagjqnmyprgm44sz66";
-"bibtopicprefix.doc-1.10"="070shh1cg3hdk097v9jr37f06q0qaaxji3vjdv8v24a1rg3rrpdr";
-"bibtopicprefix.source-1.10"="1v35hawmsgm12sv80wq2ld0rzz5l4shvky44l8wkxxh7i7vy43sx";
-"bibunits-2.2"="0znv09kqrwvmsjsw3lx9d3mp6fm8444zbn317q5yn5hzg2dyj61f";
-"bibunits.doc-2.2"="1zgj4jpl0fpmsrcp3h4qlkilflmy8zqhjamghidwzkkg1i9jsfz1";
-"bibunits.source-2.2"="04lswyalfivh01hp1wj3fq1q8960dmsvnbi8k856v3dhz0pv0whz";
-"biolett-bst-42217"="1ap5arz0s65bqqfllzwxisp3wa327kgivw1jh1gkc4wljq7v4jq1";
-"biolett-bst.doc-42217"="03hj647j6b7y43djqvb28rkjixpr0y7i02420piskp3cg90hn5dj";
-"bookdb-0.2"="1qky1ccqyni9x3dgjn6s36qyqdqzkj65m2glzzqdc4qs2h1hqr0q";
-"bookdb.doc-0.2"="00fr2fid8yg3ww2gmgadxx90y032vrgicjh23ia41r159clg7fqp";
-"breakcites-21014"="0f3zhwrk0wapckz83304anlp2ssii7nvzjdakbxfdj51cd6schpg";
-"breakcites.doc-21014"="1f8x16qy5v27asch2jhbgh080vmv7mza4z5w63h31gdglbkwdp11";
-"cell-42428"="1y2bxxx73r1h9rhsyar81r4s9nhgqjlvs5rwnkpk148rwwar7l56";
-"cell.doc-42428"="1ri21dk1wgfaay1hblmn8akmq8ccxpbp5lrfnprkqqrvkxnmaylg";
-"chbibref-1.0"="01gyfwsfrjy7fs160zxvzhr517wwbsgh381hk626kvf87wssz2nv";
-"chbibref.doc-1.0"="0h5vlzfw5lfg7chqfmbisqydmjn513rjrvw8pax4xlm75c0p6drv";
-"chembst-0.2.5"="1dg8dasw0r96rnv4pnmm2k96rxmsdfhvkbxc5m358x3i5i4pcpm0";
-"chembst.doc-0.2.5"="1zmqlm8vr2f1mga0b33wikv1wn9lx3lpx4y7pjhgdqk84lhfqyh2";
-"chembst.source-0.2.5"="11qxmd7b1h7fwam9sclazzjhmzf5fiw5ykw6ry553xm1jp7vhvhb";
-"chicago-15878"="0mwrphf2g7v5yc0qij76dkzalgm3fhcm8zs7akgaypyk98cvxw8k";
-"chicago-annote-15878"="1fz95s0d48qb1pzmwy7cdnccvadwsqj3pyvx02bkip5l0mg54kgg";
-"chicago-annote.doc-15878"="1lwrlb5axxqzrj1azyw6bsy9f3lq2n5acwnzmx8z7aw5sj19ls07";
-"chicagoa-52567"="1za4fqlpirbr3qs894abnlwmrhsqbahniyyimy1dxal0cp61cfil";
-"chscite-2.9999"="0db7nrmm5r4b2cvcyjfra1fmskjaspbgymjsl4vvif9j3kwaa0ba";
-"chscite.doc-2.9999"="1q5s4qj508nqy74cdcg8380vjbhs4v70a4jkr9wdirqcxjxs6yfn";
-"chscite.source-2.9999"="009a8y3lxpxjhkd05fcf308k3fihl95pcn7r2bgy57jr4nalmixx";
-"citeall-1.4"="05nb6pywcrhqi1c9xfzkv46j2fq9y1lqmqawi75v3z56h2v6c136";
-"citeall.doc-1.4"="1p54cr0khq72z396r3vl0p9qqn2k82pmx4pjaszlzhni5v54hbdr";
-"citeref-1.1"="05bxlkylmilyzvbl99nsw16saqjsqb4bcaa68qkz8m59wz1ji4rj";
-"citeref.doc-1.1"="064c9zg2rhnym0wy2kxj0617mwb3mxpc1rr13lqpwb1f1qhghm6f";
-"ae-1.4"="1nbhlv1qp7z8j9bhfrljmpjlcrl346z1r7f4hdxijdql0wxs6a8z";
-"ae.doc-1.4"="1qgq32xw5micjri99zmznmq8gsli6y9fqdi2l7sv530ri9i7kgxk";
-"ae.source-1.4"="1ljkgb4qj0wa6yxddx4w8w15z0nw5vnyh0cpzc4vwkc0m03xbrm4";
-"amscls-2.20.6"="0k3di45cn0g6v5j7ccgl0nys6ni1h17dkhmkz5b5lsz4zzbi05fi";
-"amscls.doc-2.20.6"="1lb1q967zwgqn21ix4gxbzw8a8649p9hky4ckd61l0bxxil3mhjd";
-"amscls.source-2.20.6"="0g1i4nj0y32sihf7hnb8jwyh3d3qmff394xgw8v8x5jp8q0rh2bh";
-"amsmath-56514"="0hvfxm97szbj5mll7vmz1gv6h6x6hqpk8z4kn51yamda61bvgmfj";
-"amsmath.doc-56514"="15j4p7jh5xd9281vpagvwcx7v25b1y5b5rrx4rg5gklkvf7j3j5h";
-"amsmath.source-56514"="1sancw41dcbzfkgax8ygbc3s07gr9j3c3a3d1clipw5dpbp0jh8d";
-"atbegshi-1.19"="00r3ayn5qa2p2j4hyxbp2mm1aqhbkjpwk15gan1b4szmm2wk54h5";
-"atbegshi.doc-1.19"="1pjfmnrssaw20sdq801x9jb9qh7s8l2mnhcvla4bxglckgwz2na9";
-"atbegshi.source-1.19"="0b0sxs3jpc6a9pw1z44iv2bwvyxm02yfl8j0mc5qw0asdp773vrg";
-"atveryend-1.11"="06q5b28q5m9i29yqqx1l1y0vjc20i0n6p2k47z66jf3s6abrqnrj";
-"atveryend.doc-1.11"="1nn08cfh3n63xd45rkmzvdmf5580lm7kfd08z9gawgaibh6nii80";
-"atveryend.source-1.11"="0fgzxwc6jlijf0mzjh7pm2afd85np1rwy4xziz26s0gi6i5pdmvp";
-"auxhook-1.6"="0c92za082vzi47m5dlwq8bss4jjgfzmbbaaz5j1yb4ngli9qj08y";
-"auxhook.doc-1.6"="0l6xga3hr1lvhgli259ma78rq394jplnkn5j8fgrfapvzrhsh2kp";
-"auxhook.source-1.6"="18q0lawz00fbv9mgcbp21zk6fm1hsprmrkvhnl34ac1qj1rx6x3p";
-"babel-3.56"="1a9kylk1xjahqiyq9lwqcxgndgmbvcp9sjp8z5nkyrbf2b74jyry";
-"babel.doc-3.56"="0qd33vywp9hvlxzwznf3y7xcshspq214ywa5y7b61frww2r0vchq";
-"babel.source-3.56"="18kf6znikvrysyngk129jim9irgkd14idi5w1l3m3qxf0b56l7ac";
-"babel-english-3.3r"="1nb3c0yikcfhlpfsqgx2c6549ra7wcbcjs614d7gvk5fyh0cds8y";
-"babel-english.doc-3.3r"="0jfjdsiqkg0sfy326nz6rncq9sk1ssjzb0w2frybkp348gif3rv4";
-"babel-english.source-3.3r"="1q9bgs6mdgjlg3pv2ddrwbnfb628dr6rhdsgkf7rnwm5m6ncxkxh";
-"babelbib-1.34"="1ka976ag8w02yrbbgldzlqa5852ag04i39w9wv9bhprn84xy5cl8";
-"babelbib.doc-1.34"="16iznzd8hk1hxxp08zcifn9v5bvh3dy70nyas804z8av306s1h0z";
-"bigintcalc-1.5"="01vz3qrhxb28v86np3a0spq9yxxc7faav32m136nax2vkm5ff8f3";
-"bigintcalc.doc-1.5"="1wa6750qyggvx7nlwq9n7s1rfdm1h6i5hv91y1aq6mn26sw68l1s";
-"bigintcalc.source-1.5"="00gnanfnw66bfrd5gk072z9rn6nhmqnjwf2dwnamvy3dpxgg86jn";
-"bitset-1.3"="0ynyw8fyb5cidlz00f42cf21gakm2ir9ilddaaz12s7qq99lhj65";
-"bitset.doc-1.3"="135dcx0b51br6lf9dxd66jq2xa21bpb1mi4y4kk5z6ngsd1imdag";
-"bitset.source-1.3"="0yds3rhgq52sxvwn5kc32iizapbs5g21cw6avbppiip0s5x0b538";
-"bookmark-1.29"="1vari4mh0ijss50sa103ppz9a7mhbn72gl7sfgs6y9fm0rw2b457";
-"bookmark.doc-1.29"="1habxdliv4vw5xsm3ki8m43fbqxkvpj4wfm2j7nkg01nsl8q2zm4";
-"bookmark.source-1.29"="0ygfyjpz90vpavg4ifalbnw2fl06j6v93906ragk48g711dzhyvp";
-"carlisle-56753"="0pwd4yqhwi3nmp19zyv69pg46xlk7s2n6m001v312vri5f9k40ir";
-"carlisle.doc-56753"="10vxpk4dxf055s1ffpviav8sh56b36znr63npf40c9gbaxp9gcmh";
-"carlisle.source-56753"="1j685lwam6pgkmv0bwsym7a1w01bgraqk5iymv678ax5m0a7f5bn";
-"colortbl-1.0e"="0i2i6rfhbllc5imdaghm4jkfq0yxc6zszm02l49aikg7qi6zmmyl";
-"colortbl.doc-1.0e"="0i8bsb0q3ga7p8mr1wg3l64x9rq7qlg9f16m7x6a7ys4ppd8qhn5";
-"colortbl.source-1.0e"="0s5c1qr1bi835g9a89x08wxsg9y3837xqfkj0dnpg6rs2qz302q9";
-"epstopdf-pkg-2.11"="1bd7bkkk5hbp0bfzrvjpmfrrvil9i2pzmzl7aaa324q7w4f1w67k";
-"epstopdf-pkg.doc-2.11"="1lwv6av0b4v4vzzk3i27diw42hcdqzgvis1fk4fclkyqz7w0ai4d";
-"epstopdf-pkg.source-2.11"="1qmvc299bzgfrf31sa4027rgkq3yjg57318mbx4gl4cwznxr7zh0";
-"etexcmds-1.7"="0m0kf57wcmy50qcca2v5jb8z4h7z82pja82igmf6gsm7fksm3wrb";
-"etexcmds.doc-1.7"="0grl3svqzjh5bdg4jwzmqaxz7chkqka0vn0hnjwpyvm52ngmckyk";
-"etexcmds.source-1.7"="1s7avnnlr4g8xjdfmkm82aanz0k0cnhv2dyar30439x2indyw68c";
-"fancyhdr-4.0.1"="1xcw1bkfh3xh1yysqp8syvl2pnfm6wvam5j44vp31rsa38pyk8yp";
-"fancyhdr.doc-4.0.1"="1bjxd9gvzy4yz5mld4vdc5ik3f049il8046s7kqsz4pb1278y09z";
-"fancyhdr.source-4.0.1"="0rw0lq99kvj5lkkjp7k67q7sxksdx3yyqhpv09l1g21r7f0rw86l";
-"firstaid-1.0j"="1kxd6wg4v9fsngr94cqswn6a73ccf63gkxc313z7vzfqcllgclj6";
-"firstaid.doc-1.0j"="0b81kjvisimw7c07lfvyasi7jspywmm2l7bagxyx8r2k234pcr1w";
-"firstaid.source-1.0j"="0zx37rrl978ip4pmnmccdjvr45aq5q4ri8xlwfwagd3k2n8a9ihk";
-"fix2col-0.04"="14n020dmfn2s54h5xvc9lrynijcwnj3d2w4kg2w52v0kf037hmln";
-"fix2col.doc-0.04"="089pdfpk0bi23yb7grjv4w1agkssfczwvv2vhk3piy43qpk9h09v";
-"fix2col.source-0.04"="0wi711gb3bc5pc2kb7q2hz8y09g4phjxggrqjbl6i432z42fc061";
-"geometry-5.9"="0wv4c77fvaz8qg1ffjg3y06r3q4xjfxkh3m7a5s9ynwmfchcirgi";
-"geometry.doc-5.9"="1npbvp9g9b4mp8w768gzx1vxsdsi9zlrlfgc65xmb0rqx7z19zvy";
-"geometry.source-5.9"="0dm5zakrp71rxfa8xgj7ks0gfvmrm93sqi6f8m4hw7ls7yqm3y9f";
-"graphics-56514"="0ig3v1wcxv21lw3fyfadbnj13bnx36njssc4cdyyhrcljamq6l9i";
-"graphics.doc-56514"="1aqrxbaz3hj5b06vklgb3p02211rvqdzc04cx762636zrkh9l6fd";
-"graphics.source-56514"="0pjal4akvbk5axlrw1sndfpf7c9n7r1z1ipx1mr03hs4pg0s5xmj";
-"graphics-cfg-41448"="09yifx2ww4jjjhl5k8b5vz78711289755mw0r1rcshk596qvn9r5";
-"graphics-cfg.doc-41448"="0rfjgc83ryg3s5q01xnkk8bzw7rx7m96hfxq85xjjn5qxsgy8yqy";
-"gettitlestring-1.6"="0kg2p7ys50ms0li3vnrabywnrjjgllpyr8sf9cz3rnv8zsab4b68";
-"gettitlestring.doc-1.6"="0xkk16ncsyv2s3klv316fprld0d5aqaldh3g10p5gcicmccd9061";
-"gettitlestring.source-1.6"="153bkg899ikkg5zhfw1nc48nzk3c0x5iycxspxcrrj52dpgq22kx";
-"grfext-1.3"="03ff5n3yc3fxrayhyapm9qhd665r15v57vri6ajb5xb4m18rkfqw";
-"grfext.doc-1.3"="1f5kvnnv604qllqim8qv40cfpx0xaxanigqnqwmjfwf0n44akcfp";
-"grfext.source-1.3"="0i5pkqrc4jm3cgwzyhw1r3kh6b0b7sb352bnzid7h8msiwx32y8k";
-"hopatch-1.4"="05v819zywc2g1155yvrzql7i7c99605kxnkgaq0mm62if6a0rsda";
-"hopatch.doc-1.4"="0jc2amxm8c1j6mwcn64x7rpjl61yxvsk4fchyl2pxrn4wa69z5mv";
-"hopatch.source-1.4"="02pr8bd87ri7x0w2bgzd2vlzrq3b42r3l7na4vq7lnikr1p3x550";
-"hycolor-1.10"="1dfd149g2k8cq3lw95z6r4knyq1mgirdqnk9c4lmd7ip4rcs0vi5";
-"hycolor.doc-1.10"="1pc12vbn1yak6l6c1fgpnj0s88fg94nagj4b95mvclad6b546g71";
-"hycolor.source-1.10"="1f5jv91vsib5vk4byr0481a8j5pvbwmhfqz2qd14ck2vw8laz4ap";
-"hyperref-7.00k"="0jyb5s1ry6fw8wlmvsxhgw9gjxc8x92jcqx4rr7h792jbpdxn2ih";
-"hyperref.doc-7.00k"="02fqchjah6997g2d3qj3ly0cxykjb4wzfvmz7xbqj73l1c18rs54";
-"hyperref.source-7.00k"="1mplajf3p3ybhx63dsdlhl80y1sgf6m5vi8mh80a58krp6p4bw6x";
-"intcalc-1.3"="0llrnayqwdqxi91yh7panbbiljina3bynv2hxhi6sssaw3pyd92l";
-"intcalc.doc-1.3"="1vav25plm639410p59bi7bsihsyys9yaddz0bcawxn72zi9b96r4";
-"intcalc.source-1.3"="059pqs3f821javya7brxvl9v2mifdyw1vg18hr1zgzhj7bmlxh14";
-"kvdefinekeys-1.6"="12nn74skhwiszbdhawqds31caz6d59a5pjmwar0r8lmk4f1jr3xh";
-"kvdefinekeys.doc-1.6"="0x3h28xqgsmngs51m666mvxb8jg9vwk0wyhijcw84v1szyd0m7d6";
-"kvdefinekeys.source-1.6"="13cb0xvqhz5w1hv6hamr7rh1q1cp6abqfsdqzd0xw0my9mxvwk97";
-"kvsetkeys-1.18"="149vpmv4vms269dzq4sghlngg380sasvxnb3sx9rfs7d9j0finvi";
-"kvsetkeys.doc-1.18"="0fw9qrf2cnyiqkpfgs3p3v6ghb4jvckwr4ils2syk8hm6flk3rya";
-"kvsetkeys.source-1.18"="0inw89igbpvpiyhyj5jrgv2n7gs11flkx1bf39aakkcw5lb0pwr5";
-"letltxmacro-1.6"="0p16zmxngzzp9hbg7bxrh087gxj7hg4avf4a9akjkg56834hna5h";
-"letltxmacro.doc-1.6"="1gxldiflxvhy6ca87f8z3a3zzisrwz6f9vrx2r9gsfw72jyfa99y";
-"letltxmacro.source-1.6"="00ykjx412119jxwf1zaz5bismfr0i52psf5fagdiybbshs5ac88x";
-"ltxcmds-1.25"="1lr77yai2qivlx26s5094czpfxmg96bhxps5wbm8xn7cpsw0zbd9";
-"ltxcmds.doc-1.25"="1hxclaafsgj1wiw1hrqzn6p227x22wp679z5sm8507wlys53v49h";
-"ltxcmds.source-1.25"="1k1kwmyn2k11bn5dp3cx8wjdiqrnb0f84rbv8xbsba199k51ws86";
-"pdfescape-1.15"="1vbdjmm9bi9ngzz2z1b8jnf6nzf9xsaj5pvyswg13y4dr00mnz6n";
-"pdfescape.doc-1.15"="1v81nw121acyv6mvpykgrcdvsgqmby8acpby5lj75ih4zya9gs4d";
-"pdfescape.source-1.15"="0jk7rnf3z1hlrqlrcx0bzic46v57d8vpm4w5fn4c37q1f4v5zmpi";
-"refcount-3.6"="1r4lv6yhybqb8wkqyaysimb79kbdgvv393kn7dkjqr46b5w4fzcf";
-"refcount.doc-3.6"="10vn481rkdwv63z4n67gch55w8x44v125kf3v7299j92fm8fdznk";
-"refcount.source-3.6"="1rf8yk9xc1qhiiq30jhvjqmg5773g5d33fpcpih4i9c1l7kad3sy";
-"rerunfilecheck-1.9"="1c8x5cp12axkkb65b0xfwgachflngj2kxah47alslzjxwzh85fv2";
-"rerunfilecheck.doc-1.9"="0pn3fmjhf3mxx3f42zg34ibfnr1dlxhbddssg4si2y1f67yfi24p";
-"rerunfilecheck.source-1.9"="1m3p6zcl37xyvszf61yv7vrhm7a81g34vjj55161zfwypqba57sg";
-"uniquecounter-1.4"="1g7ix0pnd52dsykq5na5d4kfi49zm8gmampf5yn281mn901p3wjc";
-"uniquecounter.doc-1.4"="099clvqs76hiwl8i2gqj2hdmj2m77v03pc82sls2xpwvrs1dqd4s";
-"uniquecounter.source-1.4"="0cgpfgv4yybrq1ryhjrzwfwf97805dw6if2s1qivhry94lb96vn2";
-"stringenc-1.12"="01xnfg0mcp94dh33rfzphk50kjb68bw76kf7jnbsnjwlqf2cr5pq";
-"stringenc.doc-1.12"="00hbmjwhas4fpcx1yg016ggqv324hdc2aklr2nx5m5x0i68xq6qa";
-"stringenc.source-1.12"="1ir6041286fiz8c5zpsbl4cq62gzdrdpj50aqv5p6b1lqd8bsfp6";
-"zapfding-31835"="17mls8wilz9api9ivsbcczpiqp1f39qy8wa6ajssi8zhnc5lq7zn";
-"l3backend-58509"="1k3xfwlpjcsa6lk5b5b1k1dih8vn915nhy9jprfxjdsr6jha072j";
-"l3backend.doc-58509"="1jn5a4brv3y0nnalvd42p45n32mzm8a3kvw1y13kz73ksfhy08qm";
-"l3backend.source-58509"="071mb9g9wid2jlmzrjg09vjcii170gmxq632mpj9ffb54fp36sgi";
-"l3kernel-57789"="0kg9v51jxw5bdy84klkydsiyyibkyxb8fdw1q9pk22i6nasx8xx0";
-"l3kernel.doc-57789"="0lpcda0dh1igb5irlfk7swf9kghazlazc03k5f8x6qjh6c2vhzsv";
-"l3kernel.source-57789"="0v6w15xka4k8fmh94vf876az2r9zfzh9fx65d5d0xbzjwjf6wb7r";
-"l3packages-58296"="005nlbw61qqj9aqbh50jyygfdf306jx52d66ssrmwfsfppcyv2my";
-"l3packages.doc-58296"="1bw620alsjsva2i0wjv1264vx1vcsm1i89lkfgabvjw00ap9rp0v";
-"l3packages.source-58296"="1c7vgyvq1y656payk1mkwsdx5w4n4r3v865aivlmjbzxaqk34az1";
-"latex-2020-10-01-PL4"="1mrlnxah6sw35zrgjplzyqji6pwkbxv3whd89kz409ncfin7zkda";
-"latex.doc-2020-10-01-PL4"="1psh86s3gf8rps8m3l4168xsd6lwy76196iganrbqlcw1yvlabdz";
-"latex.source-2020-10-01-PL4"="1xig50ldj7pfyg689q4qs2d9b5rnapl856lg7xwr6qh723vxc47m";
-"latex-fonts-28888"="0dh4kgy4mfarlsrgqw4dm5zgfhcfg9qzh8s2wjk6w2g0jfc8rf3v";
-"latex-fonts.doc-28888"="0243qbrs2w7qh17nh8m4ivj35gfgxsnqxza281cvhh7g2fv47f5l";
-"latexconfig-53525"="10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx";
-"latex-bin.doc-57972"="1mkiqwq28lbw9iaisfza1xg9wss4zazx9i2szprqgjfkw5c0yipi";
-"everyshi-4.00"="0y738zcqy85ww3mhwgrj1qh0vgpwfh2ib676wlr514xglvmp9l3n";
-"everyshi.doc-4.00"="0ynjq4ibx6rr0qh5lajb5n9skqa3j4zyi533mxc10axp5zpxsjkx";
-"everyshi.source-4.00"="0iqxf73n3l1jf32x571rw5wqwvz7nj3bvyqzgizvfpbnavqhrxfb";
-"lm-2.005"="1b4lc6ipij5iws4rgpv3sjjwrdbaxnwiqdbyyj62jzc3yk999m4y";
-"lm.doc-2.005"="053xga559cmqggdifabingd1f7q1lfad1pkk9nmkximclq5igg2d";
-"luaotfload-3.17"="01b2d8zsxga3f68h4dpkvyh2c72s8yrv1ff5nchipi8ka6bv5h2r";
-"luaotfload.doc-3.17"="1qsvd1d1257gnq2jjj7ifa8a4k33zjynk9c0vvhahdgkggyzhlrj";
-"luaotfload.source-3.17"="1jmvglj1mv766cxzj6bnagrlby2z7w3gkpqls19ic2g9a154i62c";
-"lualibs-2.73"="04fdy6p2cm134vs0s0ahzl5rpyh7akwzwil0r0y74r2lckqxmn0h";
-"lualibs.doc-2.73"="0bmnyk1i4cxvqdvgwwd0qzwzav64zh43lzfqjn5mqimmqwb85zdb";
-"lualibs.source-2.73"="081kcsvnzm0fj46aihixahyg0vpn6jiv068y7bxq1y2brinbq5rj";
-"ltxmisc-21927"="14llkpla8gpx7q6a53sd8a0a42wgk93fg4mbl6pc0v7v1kjblr5m";
-"mfnfss-46036"="1m0yza8nw5r3ph8k5nihgf93vf54cb0cnw4c5gkqy0rsd23hk4dd";
-"mfnfss.doc-46036"="1ppjjma5dc5i9ly5y7h91647nw9c2y9w65k0dn1ks92xsvnzf1mv";
-"mfnfss.source-46036"="0qjz8dz76abwqspab89z3a50nndh6gflanr8hn31z5fra3kzfp90";
-"mptopdf-57347"="1r7m71i3cnyf3q5nlg6c3ialw6vmch48sgf0flmd63y6n21zjsi9";
-"mptopdf.doc-57347"="0hw66p8gbd91ddpiifgm4qbd4vv2dbc149k299nb6xxp93hh44yp";
-"natbib-8.31b"="1wxpcyr1b6k1rzizbz2g452klrmr6xh98csqr6pawlnx2zy3sx5x";
-"natbib.doc-8.31b"="1hai95c7ah61rqrsvzvn0ppvr7pn10830dp7wn7fc0j678z9r3js";
-"natbib.source-8.31b"="1qaxwivq95pf014w39igh070cnbs7n0k5am4waxvdwkzql1fafpy";
-"oberdiek-56291"="0qz842nvhzpiiwqgrn4hjbb5hb2k37nfpxrhgjhbnm2d5pi96qb5";
-"oberdiek.doc-56291"="0bmpz28w3pbwh7p12mhx47k0w6wyppj2bgcw917ajvddigla86aj";
-"oberdiek.source-56291"="0h70q3xd2i8fa94ai30vzhpzb91h99xrq273cp1fln03wwiix5rs";
-"grffile-2.1"="02cmm9q14h87dv5h5ci7ny7v4plrry54mz15jddx1zkfx4myykww";
-"grffile.doc-2.1"="119xqz1n57mghhp7db19ffrv1cdk1fgpznlyrn3qgvg2926mx104";
-"grffile.source-2.1"="0pmg9140plqv27mp936ca0193ihggd243mmprj3l0d6rf5dajm8j";
-"infwarerr-1.5"="19nlrbfmqbkjrrx9x75s9nd6crg1lzimb2fr3hfblaivj6lx8p4r";
-"infwarerr.doc-1.5"="0p1s0v6p7ygkvz5f3vgarcrl85clfrj3ivzrka62djqyzn4bb3yb";
-"infwarerr.source-1.5"="1x2mkqyx7gz0bz31na6mcdyrlj11mxpjlzc6gb9pk51sdqjj0bbv";
-"pagesel-1.10"="1j6rg25mhaiamlff4j4lw8pbp6x3mcg00biqz2apsbi6kmbiljw8";
-"pagesel.doc-1.10"="09s7r6dzv95689ysdw442gyqsd2jpdyr8hkrigmn9c4sx32alq5n";
-"pagesel.source-1.10"="177j2s6chsdhhw63q9g6ryc06vn6rsi29n4prrn2w14fgr3wnhcc";
-"pslatex-1.3"="1wfk27qb4x8aafph0lgnkq3bkz5fy4cmaiivd924mk92l1wfg6dp";
-"pslatex.source-1.3"="0qg1055zpy3pi3hljrrhzixhzi19rca2jchg0q04xi0vq3vslpcz";
-"psnfss-9.3"="0ng5pkk6m2l8yqd58wggbakbs4hp4400r4ihyi9akf8j4kmq2s5y";
-"psnfss.doc-9.3"="0vfv9x1qsivwi6c6hi23vw0jcjz9dclx0vxnifslyzlrh7592dzc";
-"psnfss.source-9.3"="0cqpzra8jwdn9d6w4mhmfrfw2zia2nbpyxjfrcz8m1disd10lhsf";
-"symbol-31835"="1pdkpr86bhia5hcmf7q3nhvklnsga4mqqrrirgl8a7al7x6q3ivs";
-"pspicture-15878"="0i41lg0nw9xya0gfiwjd3xgbk0w723g90gnsvnfg764s2dl371b8";
-"pspicture.doc-15878"="1p27zx0svlcm4p12xjq35g2lgj1j485c3x363gciqb4aswmlsl65";
-"pspicture.source-15878"="1f8lhyhfcywn5y78354r37bgalyq57bm1fill5vzny3l7cyqxxn4";
-"tools-56514"="0lw5s1g7rjnfn3a9cmfc2q60dl9mn1m67inv71zr32nh3cq2kkdn";
-"tools.doc-56514"="0aa2wmj8hlkm7iafjbh9caa5r0vbc382x6vzhwyfsz16jszzhhfm";
-"tools.source-56514"="19ic4fc3bvkpl9wxivv3i6vfv8bw8rgydqpmzlvn28cygi958vj7";
-"collref-2.0c"="0q1g0x0bm0qjh568fp45b1ljy3w3jgy6s09ji1d1m5yrbs4dm7qn";
-"collref.doc-2.0c"="0vcfrdg9mqrfv2jlxh88g0nhpsrfwgdg9wjdn0l9b4c5h8zq030c";
-"collref.source-2.0c"="156gdfrd09kyxjiplcm38s3zj8v6bygwlpr9g952m0r72q7cq54v";
-"compactbib-15878"="077l73vb0rcxy1n51r3wmcb7gma6nn3xrl543a67n96lpp5xvnnk";
-"crossrefware-47861"="16c50pw2cgr9zldfhwhhvgvs896d8rl26s2frjxb7mfgzmby23ca";
-"crossrefware.doc-47861"="17i45ivhsmnhsmj594hxkzcm27mciri6xkrnzxk8lx1fs28vnxmp";
-"custom-bib-4.33"="1m25bdq11g8jin9qfib12h77sg8lb87p5680d5dkqzsf5y3iq7vl";
-"custom-bib.doc-4.33"="1ydbi1r0jvl936ziypnjqw4fsr7gvc1gksaqr05wj1bchh28cyaj";
-"custom-bib.source-4.33"="0sjpwz9zhr0kd4qn454nm1s4rw4a6n4qnackkrq4qkriwzv9asha";
-"din1505-19441"="1ki5xzdxgvy34pg345f1577cj93ps4mgcakjgqra8jshnnfrfqs6";
-"din1505.doc-19441"="0wh1zkzzm3d9s5gvff6j847jsqpr436sw7ysvrlv0r5s3fb10xl9";
-"dk-bib-0.6"="0b0ypkq5c3bvbz6633csljj2zqibcm0nqj4dkskikzv0dzqkilh7";
-"dk-bib.doc-0.6"="034zpjn14wia2zl5flgndr1p89b8jg0w91wzqhw5zfzmdh4k3pn5";
-"dk-bib.source-0.6"="1aj8d2r3myp74x71jkgi8ckzcr6ngsqfqqpv5id43awrffxicsjw";
-"doipubmed-1.01"="05zcv1db1bbxp6qnw4ni3qjx6yhflad1syqabqbdccrfk5xim20n";
-"doipubmed.doc-1.01"="07pd08qaggy6q58as1aqfnbk77mc2b4kavbzqk4v11f5vp5v0bdq";
-"doipubmed.source-1.01"="1hzv0iaj8rxblqxiak3n855yw8gqmxz7l8jwf98qnbpb9cm01f0i";
-"ecobiblatex-1.0"="0mrrb3bm54d6rpwg8i534wmwkh7v6qzysvd020pi5pph967lqp54";
-"ecobiblatex.doc-1.0"="0mhwspy6k7ixjjxk5frwklasm0xzwbwk2lx684ikv195nrpb6y8b";
-"econ-bst-2.8"="0wqkkd4ylv71x5qqaq8hqxs71c63gffdnks6xhdhhbhj6b4vsjzl";
-"econ-bst.doc-2.8"="16qmwd8w8ggjn8slq1dp5gjmcq27m5bi7qxfp3rf4nyh51zlh0p5";
-"economic-32639"="0jyw807d23b22md2ib7xkgi2jh4mr50pczjbsylh2gdgsplxgaw9";
-"economic.doc-32639"="18jn833w1chbi0qamdxbrrp39945drslxd2jkzi2g8wcca7l5b71";
-"fbs-15878"="18h6n8azrnk2qabv30kpa8gmj2ljkvx0nqs8qb9r8dxxnhng78ch";
-"figbib-19388"="1lxg05j9c56rrinl5gc4y7sc4r9gc5gyq59d3yxq4ggmq9q9l3dw";
-"figbib.doc-19388"="16qbipciqc6vv5hg1fm9rda4kk7x827nlmzha8c9i3dz7gy0cnan";
-"footbib-2.0.7"="1vr72sl8q1ccql2p42v3a9qw01a50v1c1rxpgmz39pp65w4z8s1n";
-"footbib.doc-2.0.7"="1xyq88jcg6p7lc44n2ky7538r23d4n0nhfkq25q7xg0dh8whbm34";
-"footbib.source-2.0.7"="0ps56l6ah0i398f38bxy4yg2i1p0ajcwczxq222hl5176g2z28jb";
-"francais-bst-1.1"="1jpqkxaplcjrvc8647rj4xh9kyaqrk3yj7r3nrkyf4r7b0vwq2sd";
-"francais-bst.doc-1.1"="0v2828gxvwhljsf578a06pbk1fr3dfl15s9xchy5gpb3cmv2xg1n";
-"gbt7714-2.1"="12jq5g2hhx4138px12c9bxs98jfqvnvpsk2y7lh6f4dwg0l1qikh";
-"gbt7714.doc-2.1"="0xa6jbpxalvygvd447gmkgkcr1k00appaapzb8k8rgdw9gfbg8v9";
-"gbt7714.source-2.1"="0b8n05n7ibikmjb3kjkdgaq4din5s5ckwzng2k8agf0jjvy9f3ps";
-"geschichtsfrkl-1.4"="0vnxskd0vlslm3jhvpvb4ihzlssdrz5bywrxxysk6c391vyq3w0q";
-"geschichtsfrkl.doc-1.4"="182m0m7lfz5wz017kb6kk2jn5vkmsll3js0sd4pqmr6gb8av44m9";
-"geschichtsfrkl.source-1.4"="0hdq1lkgmcpjk7f8pl2q3c6rin97hdzwhfwacc43m1l3c8zbmqfr";
-"harvard-2.0.5"="0jpxqyrw9skg7jpw2d46f8nrh7jaa3r9lviv848nfnn6h35vs61n";
-"harvard.doc-2.0.5"="10vxj1cna040i520wj7c0flbk0d4hr22jyxqrv88616xqqkg3b6g";
-"harvard.source-2.0.5"="1j754jjwdil45pr032xjmwhf1i2phspv2swnjbyxgnssl6i370r7";
-"harvmac-15878"="1ky0vc92z3i7l64hkdm4jrlaz3acna747lfd2w3b0ybdsz8514wl";
-"harvmac.doc-15878"="19sfcgshwcvn4z3cih6ha2kgdbb5282zgf244678rl1gkmqjblj3";
-"historische-zeitschrift-1.2"="1zh8jhsmn4klaqn18zxbk3ajxvr99djavz4cww5wjm8lh5sv473g";
-"historische-zeitschrift.doc-1.2"="1gfymz7b2khfnn94qkd3dawb7ppqll9qg7nsx3qac8pqba539pv8";
-"icite-1.3a"="1aszs6kbmwx7k322a2yzk4l8d2gdb84aq7f9sk4bpiljgi9gpclr";
-"icite.doc-1.3a"="0bc1r733c6g8y8r2kam7in3p3cb9y8frph85s26kcgdxqw7j069i";
-"icite.source-1.3a"="0l3gx6sm1inyzyb6z2rb1zrhrnyg0i3xim0dn80360fkxxsz7739";
-"ietfbibs.doc-1.0.0"="18ypa96z1gclq4amka28sv26pm7lycak68zf4b3sf1bx4ldnzmxq";
-"ijqc-1.2"="0h67131gbqr971hln3imf3dljh5jaqmdp23hb60zxnlxllf6msjs";
-"ijqc.doc-1.2"="0l0pvaiqgyxk5fv2carjhvp6f45clrnah5sla7rdslf134d8ciza";
-"inlinebib-22018"="0v37ifnjpvsrcbrjd57yk3qqq195jqvr1cgvfz2fsrjrd2ima822";
-"inlinebib.doc-22018"="0w4j64dxh11fysqpkldksv2qg816shz0dj16jqgbksxkjsig1i16";
-"iopart-num-2.1"="1fx5sw6xzsamlrnm7nl965xrgmgffq85kkxr7ayka1w578p6f8jz";
-"iopart-num.doc-2.1"="06hrw0c3arhssabm3l6fhb1kh8bg4vp5hpafqlbyz064a60m1p9y";
-"is-bst-2.03"="1acvwcg568iv9lskld9hjnyvqvlsmgnbg2akrd59kmh8mmbkydk9";
-"is-bst.doc-2.03"="1hlprbjkamq1w3f1n2dzayy9v14kxj8f1nr6d3z99c7v7kg19m75";
-"jbact-1.30"="0z0x6jrxaayp3w441r1zwlqirvv23g0b8h9xgy6r3ppi71glzqvp";
-"jmb-1.21"="1a5nz825jppq3pl1263w2sbm0a48kmmndppfpp7vi69n5j2248dy";
-"jneurosci-1.00"="0ywl1nlysc5fk7v5cdmy5g5hylz4ll20nnqxsvymsxnayjm4civ7";
-"jneurosci.doc-1.00"="0a8almw0x4b7v3dsdi9cjv8vzg518fl90zyyxn24p614w3zr01sj";
-"jurabib-0.6"="18s5jsi5wp0cac968ysqajwrway4sv1scf6m1g2l86jkp8gl6jm8";
-"jurabib.doc-0.6"="0klv7f8rbcw9qlqgpylyh64ir0zayf5ralpjd26g85w1pyi1c8m6";
-"jurabib.source-0.6"="07s3z6lxhkizgv0wrz0iiv1443dfyz29x9wssxa6y5lg72w279fj";
-"ksfh_nat-1.1"="1qzn0n19lslf2qg8fvm844xx5k7s8a275a77z2ynbb0vs1w4prpw";
-"listbib-2.2"="09rs3zkymlnn9fgsclnfpn1mrmxnqy8kd5pmdiphlga1iwfj5z11";
-"listbib.doc-2.2"="1nz6p8z4yvh91hvk02y184xl6fd8pyjlpjmlv5zpmcjillv176yj";
-"listbib.source-2.2"="14jrkykx2myp5fghh9qj66i5g291azm6cihi12c53bv1ijcyl1ik";
-"ltb2bib-0.01"="0glj7g6zyvm08paszjk45kp65aac6i3f8spf6zn12idf1h0b76j2";
-"ltb2bib.doc-0.01"="0j1p6bcwwgz00n3wyv3vm02z295sj9xf93v946k1xrv5jc6pg6lf";
-"ltb2bib.source-0.01"="0g05r6b662jx2s2kal26b3lv0dd6r54fb8m09yv5d021y1fm2nqg";
-"luabibentry-0.1a"="19rvhs12gw5vdq2vvcdzbz4qd3y87qjvl9x4bcqbncqcvwg82cyk";
-"luabibentry.doc-0.1a"="1raq564ad633c0xbwx6r9hhwmx1r7vis283rfh67lixq3prl0nfl";
-"luabibentry.source-0.1a"="0gqbmg1c4wm57ga8gx9g00dfbczfvhqsyl13q0ba451d3kmh6klg";
-"margbib-1.0c"="114ifix2wa74ix9zz1ml9bpyd0pqzj2983h29n3h425yq98aiqs8";
-"margbib.doc-1.0c"="01zam8vg63igvhdzf3gwgm3gjrnd23i8ra2cwdj4w44lcvapdlss";
-"margbib.source-1.0c"="0qjpbhs7g4qdhna3kmlv4pg5fk0b3xwpwagyvnl91gn3q4aml4s6";
-"multibib-1.4"="0ma2fwy3p9b6ijf727iw2xqsadk1jvh1g27snqvyrzhz7702b6xd";
-"multibib.doc-1.4"="1mwl9yziadzflq29nwv7bnbdb07d8bsxl16agj7ydmiw59ykv1xg";
-"multibib.source-1.4"="1g4d3hf8s1df57yhpw04j6bgc8n7hc16dc6qz8jcyj264vfv6fgp";
-"multibibliography-1.03"="1pmvlk1rvr98ig2zj2mgq91a61l0hib9aaly2irfzl28m092r3fg";
-"multibibliography.doc-1.03"="067wp2cmmrcgwkaxy2ngmhkfbiykr1lr0zii3i6xyyd6z2aidrfg";
-"multibibliography.source-1.03"="1p25yixvajkyksrbl8zax1jrb292prpjm97b6vh74v478bk21kgv";
-"munich-15878"="1dns8n2xybkf1m3j82adid2nr8ngvg5nnlxr5ky8ha706bmz1lra";
-"munich.doc-15878"="0dzwmrv636nca34b39mpxyhh99sr3s5k2rkj7jwms2knlfn81djm";
-"nar-3.19"="1nwk71qirapkg3h6jwlv53fm6zwb2vq0fvmc4xcanf19sm3331mk";
-"nmbib-1.04"="0kmrgd4w63x0f5j5l624j53mhivc7wllzi346c3ny7by6h7mh8in";
-"nmbib.doc-1.04"="0fzg9jm7hd3zx5naf487xxfyg2yg0w9wmc60265av5v97qkghirx";
-"nmbib.source-1.04"="1m3pnml7wdk0p6vqiyxssqi7rz0vkcvbd2z63wqy28r78w9js34x";
-"notes2bib-2.0m"="02iwnpiq918izkssa8j7fiz2jbfjn87xdjh9spwys98q2cvvxd53";
-"notes2bib.doc-2.0m"="1md7zvcnlb2sf8zw0vlnsnia1l22gr69jgksy5yg30jis3zm2gjp";
-"notes2bib.source-2.0m"="1fb70w9y6gj1a0y4w3zd7yfmk5gygx10y8xjmdj06ky7k0r87qlx";
-"notex-bst-42361"="14r3q4z35k5n0rl2igjs4lj5ic4yd14xksg1qam5klb6raaf1jkh";
-"oscola-1.7"="06jgk12q9hmbqcmwb837n8l96f3bafc7mgnv4v9amnh4ajlg6i5x";
-"oscola.doc-1.7"="0qzn7d70vl0lxyql152pzzhi72ivdslmxvfwr70186lh6fjxr4nb";
-"perception-48861"="1dqr68wkf70aj11g4ywr56si8g82bxi2xc9zdnw0nm0wbimy5zv3";
-"perception.doc-48861"="00g96wswsnpd0smv1s23hqiq4lg407m80nybmig4ibcrafjkrqrf";
-"plainyr-52783"="09py8psdqqnxmq2nkczxz092668zscvf9hbr6fcvrnj0blvz3wxy";
-"pnas2009-1.0"="0yl475rlfhlnd9d0pyzm1gj2gixrdzyn6858j1ndvkhr8vc055ns";
-"rsc-3.1f"="1ljdc1qyy9ziqsq2z6p13jlspjpalbkk9i5xmqrjwhbqz88fa1d9";
-"rsc.doc-3.1f"="0ckvfgw88jhfr91ii6zahrziigwsxfaz4f9rmc7ca2a5vk5yqc90";
-"rsc.source-3.1f"="01v5zc947vqa8xpsam5pyg8vxm4yygphyv5hji0r5dmplak0q5gx";
-"showtags-1.05"="04m7f6i3992p93xz9rlfa0vnil6h9dyk7gy1v7ih47f1m2awjak8";
-"showtags.doc-1.05"="0i0iaz4hlgf52g68znl5a3q366hd8ygad2khjs3y7hk1fwqpz45h";
-"sort-by-letters-27128"="0gjmbx6bk2c3nygcbvwn3wfsdj1lscpnqzfl6w8li26hws1ravii";
-"sort-by-letters.doc-27128"="1p0dfvh0l4z4bd86wcvph1fcjip2rvsm22j890y607lfbqhc72kv";
-"splitbib-1.17"="0z2vnb51ksqp3i11903mvgaknvxl1azwqsch5aaq14y7fp9kcrah";
-"splitbib.doc-1.17"="1vb7snjy518hcv3x0cvr40bzlxr0nqb1ssqagqncyzzpg55nv9gl";
-"splitbib.source-1.17"="1sgl95vwqrp6k4y355d9mwkqm6zpw0g69p87hnsmdbd9bqkjvsv4";
-"turabian-formatting-58561"="0bfl9fgj0adpcm405a9b1819463nrzqplzzdlvwy6yanyqfqcp3i";
-"turabian-formatting.doc-58561"="1dam5fm94hdyzi4ai0wq03pkarb6lbrykych3ixcsz8r2z04g7nx";
-"uni-wtal-ger-0.2"="1jyba7g6qmngn4lx7mrmk0j190zkjv8lw775w13hxr2yky31cf1z";
-"uni-wtal-ger.doc-0.2"="0kncfbrs663qcpc0nsfhf0asjri8103laj9zpaayk3by612lfgj4";
-"uni-wtal-lin-0.2"="1rc0dc1g1fwhz8qa550ykc8azzc4i748jh37a8ppgrf4x2lgxzjq";
-"uni-wtal-lin.doc-0.2"="1ja9a6fjrlh1lbjkcsal7ahw24w1gs1mzma6jiiw5p5kbmc4zpz1";
-"urlbst-0.8"="1l34pkg2m14k8qck4mrgwkgcci51b3ar6kld5rsh26qqdw7yfcav";
-"urlbst.doc-0.8"="10bckc81yrjg2cilm7d72l8bz5ds02hb41fi0pcj657345rsv7sf";
-"urlbst.source-0.8"="1wsf4q095mb7lqsvj5gx0vh54bvm4jlmabdp3nmx2xy4nl5f80fm";
-"usebib-1.0a"="1q38qzz87nh2hbmml3b0a4919dgk6d5rn0z5bhrc4ip27dscvw07";
-"usebib.doc-1.0a"="0byl3xhiz3b4hqqmq2wi5fdbshh5prvqfnhjcgjk619bn99cijxm";
-"usebib.source-1.0a"="0asby43xsd35aazh2sncg639x91f91shs25f6f1127rskx5fd7vp";
-"vak-23431"="122crp1ipxwmxp6pd0x04dxnaf3hb822znbx8v9gh93x8db4khf2";
-"vak.doc-23431"="1jxbijc1kn7mx1p167zd5rdczayz5xxxfdd2pwbsmav8zql32aqp";
-"windycity-57577"="07bcpb8v1i3d1pijc8y3dcq239m7l5x25kg45wkz2h0m1cwbyh17";
-"windycity.doc-57577"="0qz90nmpy6lig06i9qn8qpl1lyr1znw71kfkfwq9xjna2jjq1lz8";
-"xcite-16383.99998"="0zsfyaxs0w2xy6fa1s6hlrcnzw1q9n4n676bv6j80cwp5cw7nnhg";
-"xcite.doc-16383.99998"="1sfziwn05dii3gviiahvmg67kb04hzhz4cd1cwjsrrvnjii0dqb5";
-"xcite.source-16383.99998"="0j5blcycs86vgmi54z0b06il06zzyjp4v15lmdwfnx0amb9y8jr9";
-"zootaxa-bst-1.0"="0lwin7dfd3nk0r3drznmhkqd7fhfvizxqy3z2xv616spg1jh9sgj";
-"zootaxa-bst.doc-1.0"="1s4v9azi1pvvh1fizp2azkbwh35xvqh8qcnnn1xwi0g1xhcp38pa";
-"a2ping-2.84p"="1h9i49m7v83ppifkcr4cncjfkrpx0hs8b11qyjn9s9y4mi8ra0w0";
-"a2ping.doc-2.84p"="0yxs2va1v4s6picfqkq2k9l7295np46lc35yx1dcmddy2667k3kl";
-"adhocfilelist-29349"="08fnrvnbrp7534b56hn8w0nm8pbgjli62v34mkalp4qkfb559kh7";
-"adhocfilelist.doc-29349"="1n7nah8vr691k56z0jkgyav4lc8w45rlg8k9shhqhnnpqi8zxv1m";
-"adhocfilelist.source-29349"="1xl0f33yhmbsrnmy9pby092js83vxcdaq2gfny08pjlq57arphr4";
-"arara-6.1.0"="0lfy3sp7zlglsgyrckmlj535sm0wvy9g98kszrvcaw64vfqswsa9";
-"arara.doc-6.1.0"="0xyiirkan7snj78qv5q7841nfb9kbcjj8j9fa252qlg1sx04pf3w";
-"arara.source-6.1.0"="10qr2izmzchpq1p8aw301da3483d89d1bvkph7a8ppk35952g49p";
-"asymptote-2.70"="1a9m3rkmsw5msfj289931x4f6j5lbz711avx956vi0kn01ppcrs2";
-"asymptote.doc-2.70"="0cbcr51gl3s2g2aqh60jsp6jicvvkdl0hya88wkkjanyw3dzbv3z";
-"bibtex8-3.71"="1hi24b8mmpnz17cfj0p40ipyvzqhgkkhhgh7qkcgr1bz9k82q7sk";
-"bibtex8.doc-3.71"="1acay8y0l6gnczznxprl4h3bx7jaxdqrczyvdgin5z8yqhx0q13q";
-"bibtexu.doc-52851"="1h0kh81vf5z752v1s46zs0qvlqhqqzq8ip427317xhq186i71ymw";
-"bundledoc-3.4"="1x5jh8qi3xd4mja7grsyy1qd1vd389dzikxk9b806b5lhmzhlcd1";
-"bundledoc.doc-3.4"="19a297ijq3cw2k7b9xc2f0rmaz05ygi50r3c3q9pj55yfrsysfi2";
-"checklistings-1.0"="0hs740rpar4jckxc2p8wwd8x39v8bghgc2jjrbca9m5zbr0prvpg";
-"checklistings.doc-1.0"="1riyj6x57jb28sjswnnfyqf80jnkvyr2cvckav29j9ni8l970qp5";
-"checklistings.source-1.0"="1ghb0pv2zmznyg12zqgljwd2pc5lbajgdnzr6zf2rrmvlrsgr38w";
-"chklref-3.1.2"="1045jsyhp39js54xmyr1wxh7qp3z5hzasyqi33nvrc4g7rb9126j";
-"chklref.doc-3.1.2"="0pmgdkdn930lzyn8j3diwwam8c7ikm4fga3fh1vpigqddykj7hqy";
-"chktex-1.7.6"="0ij96wg5j3grphp71f3casa8nlkfia7hz34njvi007pzy00kgvr8";
-"chktex.doc-1.7.6"="0ln3in6f2j0bbk1n2lha7s6mv31cqjchbg1ck0cq10aabhvx9fz9";
-"clojure-pamphlet-1.3"="15q1hx198bxr5ip9ssfyf9wbccqrgwknijcbnqsm9mp082d0vc1x";
-"clojure-pamphlet.doc-1.3"="04740xhx1gd88x7qxry0vw186dzqf8p44kss4z4q6bx7dyc79v97";
-"clojure-pamphlet.source-1.3"="096whv58b2g15m6mzg689d0mp6p9yvj8z83w431zbg204h0kx0w5";
-"cluttex-0.5"="1khiy9ih2ij4rb6mpgnpvbkg93fy9h333j5sfmbmfz0q6jj7cpzj";
-"cluttex.doc-0.5"="0zjcdmz6x8g2c5q5kds9hbs4x4a8fmr4z3j3mily8lqzqfnvkz9v";
-"ctan-o-mat-1.2"="1iya9r04n18i8jdzqkn2i1rxfxxmpzcpga03rp0i6ykjj65v4q4r";
-"ctan-o-mat.doc-1.2"="1j053gvvcznrk0fhg21ddyx1b1m1xj743b3w8z01lpjihihzq0l8";
-"ctan_chk.doc-1.0"="09ngqgs08q8bld334jrzhnd558lv7fajfppmfrkp4kv9hc5iyz9a";
-"ctanbib-0.1d"="0skwvk7khk4w4sb17a47zffp5bhd0fy9lqhfhd4ki1dxzz94kgs7";
-"ctanbib.doc-0.1d"="1gk91x395bh4ylhg1vm67w37a66v7xwj4cgzrffm4ld91sd35dlw";
-"ctanify-1.9.1"="159jchim2b5idpzj5fxxc9hvrbddm6n00rpqsqffzdiijvp9jbif";
-"ctanify.doc-1.9.1"="0wnyp4rl4cg2wgaq83xwm0vzm1b5xlgbrjchg4s3glh2zzl4mpg5";
-"ctanupload-1.2c"="1dvqr96ir3gakxrf4fk0dka80inl6aj3kydcf0128vlq168zgvsg";
-"ctanupload.doc-1.2c"="1gzfib72lfbgzcp5r8130k1n2d00v2kds0x8zdkqnikn22fq4jxm";
-"ctie.doc-1.1"="1xz0b4ja9vmx42d6391zdvrfvvnn82qb3xdjhpyly6b9j02bbq3c";
-"cweb-57972"="0ds2kanfw343zlyc28sfmshp4g1gvdvnhqlil45azjaqyz3603w1";
-"cweb.doc-57972"="1qhszwv7lqxxg3v5ddsa50xdda2cs9dlx8h0i46pisnik4sg71jb";
-"de-macro-1.4"="1zlmrrb1x4sm0y6igxxcgh7drf7c6rqfgm8pk1a7bfv5fdmv4fln";
-"de-macro.doc-1.4"="02zxl4xpbyjs5vwg5cskgfh3w2ls2bxlyn50smh0kcqas46vn9a4";
-"detex.doc-57972"="05hgi700kd7072h4x96bc7lx2p4cbwlfgfkmng0jdssiygkwrmyh";
-"dtl.doc-0.6.1"="1fjk69m1dyzhc8arygk26kwqv1p1yac2l9pca0x7xg3awc8nhgp9";
-"dtxgen-1.08"="19c9w97wjyrq6g1j8n8qgaclx141lv2j6z6l5h13gmkmyw08vwhh";
-"dtxgen.doc-1.08"="04z9dy0aada8zsp8ckz3agqcsm29dnlx770xyl51rsvk2qwsxgka";
-"dvi2tty.doc-6.0.0"="17lfphwzjcfpdkxcri20xks7z4j2xd7gm6kwshsc29xw4bw2l4wc";
-"dviasm-56373"="1j8cbyzchrjcflcs9z0208s4wi415i8iycxzag0bpd3h0zl5ppb4";
-"dviasm.doc-56373"="08czd7rm2rksx3xay7hrxsqcm133dqr9jj8nqw33a2bpnz0mrx7m";
-"dvicopy.doc-1.5"="1s4ia6034mdzif2lq9jwwcd4ai5il41yyv7h0cv9cxdbmra8ck4n";
-"dvidvi.doc-52851"="1w153rqm7nlmcf6162glxz282nbb6b6hjf5h0p7mbzr0j1357sxj";
-"dviinfox-1.04"="0c2gv6lgh4r57z955zdgganifr6q3z0gsgdcnvfpbrnqawydan74";
-"dviinfox.doc-1.04"="029y7pm218w83gq9srswb1hkdw8a2bi1837rvxa3cnsmsl5rkqri";
-"dviljk.doc-52851"="15l05cggcnawyqg38a1hpyng88qh9gck4jvl78n1rdk4qdcgp891";
-"dviout-util.doc-52851"="0niv5zy6vksm2qqqz3bjd417ylq46bxz6sra3abp9k4c2bpr0pz9";
-"dvipng.doc-1.17"="0clgfwglxqs4xgzh2d9jjb91dfm0awigg0mv1r4sbyr4l21vciaj";
-"dvipos.doc-52851"="0izv95mvzky166xpalw897z3lgl3424ixbabz5pikrhn6i2q6zmf";
-"dvisvgm.doc-2.11"="1qc8sd9y1zj2wq5lxqr4z8ybr137vi8ihs6n3cyyhbll8zsfqh32";
-"findhyph-3.4"="0b7qqz0p0l70r6dl4jhx086dxywb0vlln3r166pj0yl5jfjzhpna";
-"findhyph.doc-3.4"="0n7cpjxz3adj4bcmc1vd548lggcchhqfahdcvn4w9invw296hhlc";
-"fragmaster-1.6"="1d59sjzlvygwq9b02gbrfra4cnvmygza80b5rkghhhpa0n3xnx9p";
-"fragmaster.doc-1.6"="0j1a2d4ssj3y42f0rsyhd7yl3pak9cz12fy16k2h8v02cvc96529";
-"git-latexdiff-1.6.0"="0b7hafll82widr8vibaqqavwwzi7m488ypm5wx14y6jncfl8py9y";
-"git-latexdiff.doc-1.6.0"="1cbny4qkr8dg8vnxjnjawq9cjb0h3816ad66q8b5652rpxn3zqcl";
-"gsftopk-1.19.2"="0n6nnfn3fwi5dz9vdqk4mv97hwnyybj3wsv3bipqfsxl31yjp51j";
-"gsftopk.doc-1.19.2"="0xdb0h557sgi56gik24izsr5xlbmlfya1w93yih61a5422rv198c";
-"hook-pre-commit-pkg.doc-1.1.2"="0mikg4p9wxb28vgwh1acgdhwa2fqnc8rw3jg355d6s137m40awc6";
-"installfont-1.7"="0lszqj128c3f4wbcrvzzlvj25jl5rm0n5qfj8rsn65ycxvymbf91";
-"installfont.doc-1.7"="15x8jzcd7bwvbjid0hr56h7dw39n2rg6wbfz4b02y7shp1pn7hgp";
-"ketcindy-20191225.0"="0v3sz01qwd2pnnqbf4v8g0xwhs3zqxc9qihfa13df43rw644m65v";
-"ketcindy.doc-20191225.0"="0ch1zjmg04pdz96dhyl2iy380hyjqcscxn0kafj94aldin20256w";
-"lacheck.doc-54070"="16xahphvhdl2xmvicr73lcswm5rdmxqaf5xj4gsdv2wjfqjrp4fk";
-"latex-git-log-1.0.0"="015f1jrfnwr7i7jn6g0cfl3zs73xw30h14fr2pyjhn9pr8kd3mgi";
-"latex-git-log.doc-1.0.0"="0pj2834ax404f0nnlfbg75f2h80wvnz23s8nr9vxr24vr745xpf6";
-"latex-papersize-1.63"="0axx2lkwi1xq3qdaazhb6i7dssx8q2k0nm5vf4b9p5ldl1ky0dzl";
-"latex-papersize.doc-1.63"="1dkra9b0wv8s4f7xn36j1x1p849ziwlm4chf5mrayp0wmx8qshc0";
-"latex2man-1.29"="04m5ccx6z8nvp6z8dm7dqhqyf8h9snmaz4cvd8i8fcwfba9znf9c";
-"latex2man.doc-1.29"="11nl9ldkw3f90iz8r23jbgxaa6yq5p61f1db344nfhy0wimx15si";
-"latex2nemeth-1.0.2"="1r2nwwfjpja96ix7r2qckqh0ix1jnaackkanp0w12k9syn5ggy6l";
-"latex2nemeth.doc-1.0.2"="11x97kfriq9xwj1lnw2q3km4qg9bixg9ik03nghg4h9pdl513b4h";
-"latexdiff-1.3.1.1"="1ipi5laj8r0k72l89dymyrpw8lv89c1lkcz73innqncqahfji3yd";
-"latexdiff.doc-1.3.1.1"="15724mm377xma69cvr18dkk9q0v2fis5bim6671pw098naniksds";
-"latexfileversion-0.3"="1yy159skv29hp0qxpghmq5zmay9yi0ndkgz7lbllj1ymkgxs5138";
-"latexfileversion.doc-0.3"="0k20c2kw0xarjlkdhjyx9h9kvjm2f3rd98lz097xj8xvk0fs0zp6";
-"latexindent-3.9.2"="1j0llil09scga949f6h0xxqp1rm7pm83c5lgsmr6mplh94lhpj6m";
-"latexindent.doc-3.9.2"="0gvwbx9hr2nawmabkydn70dcr48336c8f3vz0rwy9kq3bsjnamjy";
-"latexmk-4.70b"="0gc91rlxs4jhbx0cnjr3np6pqz2myybc99bfdjnnnxpadra2xc6i";
-"latexmk.doc-4.70b"="1fraqhxv3b7jmijc66mils33jhd79m3zc6rva01vkb126qscjz5m";
-"latexmk.source-4.70b"="0v9l5qad73mnv76ccp6fnlwc7cqyq4f55syc52s9yyxs6i7jcxxw";
-"latexpand-1.6"="0n8gjx86fxr03i4pg6dwxr48f12q2s2v32pszg8qc2rw8gkvniy2";
-"latexpand.doc-1.6"="1j7s8f3iw2y8g8inm2f7a5lm1bxfv10l4zmhnfay66xi01py2cbc";
-"light-latex-make-0.2.0"="0cq5gjii0af6kpi7prajh6l6bjz8a48rbck9as3200yrnzzps36r";
-"light-latex-make.doc-0.2.0"="0y9w00qfqaa60iml5h4mqyg6452cf6h4700vqbshm0kajrwcygj1";
-"listings-ext-67"="1r5nq62k8rwllcpxwpkh2z0gcb1rlydp9nry8wx7r0h93hbmm2z7";
-"listings-ext.doc-67"="0jyk8z0nsdx2yljly8nd4g8wnw7ggi6mdjw0wb7y0mb5wq47sbpp";
-"listings-ext.source-67"="0hd117168f5s1cb2iim6y198lnh05ph4ib7p666yxvv48wr0mfpc";
-"ltxfileinfo-2.04"="0f11qjq1a3s5nxd7z9k19yhbl5219nn4fr1vfcqq1zs8pwnsgqzx";
-"ltxfileinfo.doc-2.04"="1qjs959a28cqjigdml0jgyhllyxd5kj276akz93hdbcd6gzs9ss5";
-"ltximg-2.0"="0aifhzn6gmmbmdlf7kv8dcvjdn7xs8sc4cjv6hpnzfrjy290na3m";
-"ltximg.doc-2.0"="102zvry2wj1hq47k22ss3i29m0f06cdcsjysnvq0cpm5225mgf32";
-"luajittex.doc-57972"="1nqhgkh91g3sdsdysb768vw01ikbjviwlmhm4j2a2cdwxp81hffd";
-"make4ht-0.3g"="089vcp6pfqzf9agghvr70v1qiq1zmqqmzgbln8a3dn5b7b5fv09y";
-"make4ht.doc-0.3g"="1qjdq862mlaqkjqx36nvid8ph126i4fmvb9xin4qszk9j5av6b82";
-"match_parens-1.43"="0b0vq9lgr9xxwvzvlhlky7fg66r2y1qhikiywddkd06rmw71yvi1";
-"match_parens.doc-1.43"="0i8dnjn5kfqhp51i255s3q2cd6jwzqy4rfdrhaxl15dhj4il9k7h";
-"mflua-54074"="0ngbhdh8hgpjfqnrjlnp27x3qziks3yf2zp1qq7r4bjfa5jx9gr6";
-"metafont-2.71828182"="1kw37drhnk7qajmivvjwdrh5awns571wclv8b354zk71axf6cr35";
-"metafont.doc-2.71828182"="1aw460fzh0c8kwfsn9f2afpmaymb2krjjr67wzx28w56f6slarl7";
-"mkjobtexmf-0.8"="19nxq3k9jf4bypk2al38n6igpca369lxqcn3da8cm8c3m511nsmm";
-"mkjobtexmf.doc-0.8"="042a29h6sq9mpy6chfkl6893zcpb3gd3gsl60xfwglivib706qwz";
-"mkjobtexmf.source-0.8"="0q2i2xgpnjcx8qdkk47q7v0lmjdv88jjvl7zcybnhcaa9km8f9na";
-"patgen.doc-2.4"="1nc7m02ygwyphfy3d1ifpfdcdfmvzl6g75nh2ydgxjw0xhck8c4w";
-"pdfbook2-1.4"="027mgmbd3gnnc6gqk8vjnz8j52cvx71z5y6flrc4zd7g0syivdad";
-"pdfbook2.doc-1.4"="0al7sc4rxwd7g1cmyh8v4qhmlngz19f0f08x8n3wbfnvk2f8n33x";
-"pdfcrop-1.40"="1pmh9zjxn4xplnwzl5rcb6g7lkqm19kzd1dfm08992c719clx38q";
-"pdfcrop.doc-1.40"="0qayjkyn9sb9r5cvznpml0gd7vwpip0kf1b9r4jrd4vyfqkk6qqn";
-"pdfjam-3.03"="09h4s1kz13migq0slimh805pvnbfaazv9y6w1q5bcplyw0vibn1p";
-"pdfjam.doc-3.03"="0zpj2wzkx4mzrsmr7j0qx3zmq04ayxmdgj05a57pyc7gj7kwmb4q";
-"pdflatexpicscale-0.32"="1z19y34c0x05yp49jqn0z8i3ghv0sz8zm0arb576rz7mskpivjqz";
-"pdflatexpicscale.doc-0.32"="0d1zzym0mgsbicp92qf60fq8l2sdbdx47517k9pj3v8g91svxlpw";
-"pdftex-quiet-1.1.0"="00df842vapzylgavkk2c0j8yg562n2jawwznvyf3qq6dznwf1chn";
-"pdftex-quiet.doc-1.1.0"="0sa2gs440h3jd5i51hhbfvpqjpfwvzz5m32x3ld5q9k6zi88b395";
-"pdftosrc.doc-57972"="0jw910h146s9fzr5z1jbc6kgylprqfwl3ab4pv27p3p86rnrz6p6";
-"pdfxup-2.00"="0shz9ivcifvg12y7pvq7iv1d5d97i0n5xw0kkjapmgfcvf3f1kng";
-"pdfxup.doc-2.00"="07d7vnbgbz7yldlmz7hsbfsfnggbfgwryrhh6gq6l7i2hjjis60j";
-"pfarrei-r36"="1b3jbb5ahwr0sgbgckmrfwbk3ir1g41n6j4mybc78iisxnqrx0br";
-"pfarrei.doc-r36"="1jrg8k3n0mfc157nmv2n1d4b8aijvgr4av90ds0g2m7px65yd92z";
-"pfarrei.source-r36"="1jgrhv8xgai1y81ddnqcrifk8wz47asvr3mh615wgsis38y6k2ny";
-"pkfix-1.7"="1sgss755cf1zrpv3x74x5qnqc6w81cvr1x0w7875ijh4c1xxkn9v";
-"pkfix.doc-1.7"="0bxijxbbj9v4c5p1rg4gkqnm75rq516vxln6s6174ph7abqrhvys";
-"pkfix-helper-1.6"="0hf9hnjw7ws0mx9w5s6ik17zlq27fyc3p9bgya1wxbh8lcvrygn2";
-"pkfix-helper.doc-1.6"="0fh59nzzl58fgpkkfzvi603sfsfnqrj8s39k4nn97567gpv4a22a";
-"purifyeps-1.1"="125dn66xsrnv4acvk2mbwfl26sy42jw7fngm3p8qmzya93sp0vwl";
-"purifyeps.doc-1.1"="0lzw7ajxkx78v5dhlsddb0ahq6a9975f4mzmsgp23qczmz28878w";
-"pythontex-0.17"="1hahcx7k67bzakifbavqclcy1wdl5w5h68insbg736jxbfz98wvf";
-"pythontex.doc-0.17"="04xpslmv41chz7g0nxkz2gjpg67s0jlc33jy9mnwl789xi4k7832";
-"pythontex.source-0.17"="04a5809sx2qq56c394g36fw6ygf3wi3khmqp56lw2yrwhqmhph0a";
-"seetexk.doc-57972"="1bhv5xgv8jpam5apdybd0cggnvcizk2r6zs7lim1hmhzafpqqlcx";
-"spix-1.1.0"="0gqvjc05sl4hrgflb3xx8ly2pmj7r7cv86diwpz65gvdvdq0iyzx";
-"spix.doc-1.1.0"="1mggb1nirihvcqqxfjnsc5jck6qwqz0n1vzgnlyfxqgja6flad8g";
-"srcredact-1.0"="1rqmgpxcvvcmzxdj6k15v8z4i4iq4wv95whddpi93l3n0zv2ihmq";
-"srcredact.doc-1.0"="082ff60lfnapb570ps3g6vjy2xn0gjjih6y4nm3ry9i0k1isbk0w";
-"sty2dtx-2.3"="0l948m9xwn6pkxkwfcay98vapqa1p77rkjijyv6wqkbxr7zxh1i3";
-"sty2dtx.doc-2.3"="0ngfnvbznd1gyiljapflbgw9iq91jrcvjxxvaqcgfh6dilbpy2gk";
-"synctex.doc-54074"="13fc91avs09za1y5rrn50wfr2bf1csnf3p4dn0r3mkny46bdfw7c";
-"tex4ebook-0.3c"="0dgai37h4ssmblk1cg3g0js14mghivxbrp54ffzg5vznhi3b7s9i";
-"tex4ebook.doc-0.3c"="1x4x7b8rp04x0g0dcrnn1lx3w868y2nfya9y7r1aacq2kmxw6axh";
-"texcount-3.1.1"="1bi484kbrcfx3hyflr4f2w0plhz58p2206rz4r1wjllhhhwzc7pl";
-"texcount.doc-3.1.1"="12a3j0sk7nysd3bd7mwnbifyrcvjjkfjy3b8f1caf6k0pf1mz8b0";
-"texdef-1.9"="0wi60appvgs0h5690h8qqvcmsq2r6fcxais2jqps92ryy41s2v68";
-"texdef.doc-1.9"="124azfh1332lq18g40d291gczx2agh2b1cxq07ldmizi8pmvjaza";
-"texdef.source-1.9"="0hanvqdj2dgpgl3wa6sz3qa542882h3mv9709spl8q2glmyip5b1";
-"texdiff-0.4"="1jjzd4grr3ip6gd8xmhlawhdcjfj1sqfsa06rxrpziklwirw6bq4";
-"texdiff.doc-0.4"="0f7q7cszy6ca6fmwzi7fn6p72szgzyj9fldvzz1rk3ywkhsnpakr";
-"texdirflatten-1.3"="0q2m138gpk9cvfp19jvsw746mkxa613c2204qfxw1bxw8b454d7m";
-"texdirflatten.doc-1.3"="19iiznql82a34d2yhzqcp339zszbhfz9fh0h4mb11696mj8rx3v7";
-"texdoc-3.3"="1l46wg9pp0aw5qrx0vh022n5xx269cpr5ms2qqkkcihfh8dln0jb";
-"texdoc.doc-3.3"="164a6fvh75six3bmssq84ax781l9zy9nz6y2fhzcd1jy5hqvvspd";
-"texdoctk-0.6.0"="1k0gl06da0v60hsp2saphkmr2ma5yf1g6azwdl33ddbw4r8ssk10";
-"texdoctk.doc-0.6.0"="1k41z2lbfjsar5rl47xnk1adbcnnb4w97bzbgf2rnjhimd1gn9hq";
-"texfot-1.40"="1005cj268ciihv5942wrn4yqizrkq8vcyn9cqb1wzn228dzjqhjp";
-"texfot.doc-1.40"="119a8l3yah2vnp22x3r0d87plhi93f9c0mmgpa1zdzzlghnf8s69";
-"texlive-scripts-extra-54744"="193v0r4i3p4psn5b4q0ggpgaazwn6jadjlzh5gjm3igg9k73i1wj";
-"texlive-scripts-extra.doc-54744"="1svrpyy75ksx0777k6mn6a3c54kcqlf92fnfn10x8wkvv7fkghd3";
-"texliveonfly-55777"="03i9pzqv2dz4z9nlq60kzwiyfvzhhaalhczqa9146jp4wvcib9l3";
-"texliveonfly.doc-55777"="1fsabzkbcrk42rsp8ssx0kvap31y1rqnkq582129946q3njvmylx";
-"texloganalyser-0.11"="0icav63nll0lj85cqlbg1lx1r6ysjf1lyv5bydxr3flr1c7yqx2r";
-"texloganalyser.doc-0.11"="1s7952n2brrz3s1qca9r5qk8fnjlmrmrn8b06dhjxdb7wdqis6g0";
-"texosquery-1.7"="0jszy2f076hrc29kk8qcr9616hyk2cvys3kg2qfhvblxf07ziw62";
-"texosquery.doc-1.7"="11rz21m720pp97vb457pxaq5yxf3j4v8vfcd77w0bjpc632lh1xx";
-"texosquery.source-1.7"="1q7spgr1xk2lnx2xqksjh979n7r2v1n1441fkrc479zyi69ncn33";
-"texplate-1.0.3"="1javijzp7v9dyjvgfb3prshryiw7446mpzdn08hd8czp7f6c9x8q";
-"texplate.doc-1.0.3"="03wg5ckb3zjdghh52f0i7cjwx7rrgwxw9av7xsa8zi0qsyh5wgcx";
-"texplate.source-1.0.3"="1pmx38grc50fszsgkbpb3p7jxy0d1hfpr5m4czvkzjyzgapqfi2c";
-"texware.doc-57972"="1zv8m1y6gvnk7nbqmzkvg83iq1pgncg1qvxg572pxnqlm0lf779y";
-"tie.doc-2.4"="0lfjracp8ifkaj0pyg4i5lccqwybsrgxn11ji3p1g6kfxcy5hmgn";
-"tlcockpit-1.2"="0sm882jxczx8q4dvqaxnyb2wzlpxd249ayv77gj9vgq4lx9v0l27";
-"tlcockpit.doc-1.2"="0zd8hx3f6jhm5rklhr5dxb84y17p4rbgwa7wh95ab5f6n8i5pgwb";
-"tlcockpit.source-1.2"="0kldzbbyjvj0n60jgff8y6y27nxnzihjyq10gnx2gi62qn9bia7i";
-"tpic2pdftex.doc-52851"="02nf2fg4xzh8lbbddvm44qyvcvfn5b7kzcyg729a58l29gd88pbs";
-"typeoutfileinfo-0.31"="0w48qf9d7qh57s7b1745z6d5abc8rlgcjpmf402gqxv636589dcr";
-"typeoutfileinfo.doc-0.31"="1pffnydxqlkjixa71g09f7754ay0gnyphay51dys9gvvmwzv5npq";
-"web.doc-4.5"="0ssyalwg7jb01pmbr309n656paxcd4dhrr1m0m1iwc70ml70k5sp";
-"xindex-0.28"="02srw8v22x4gcm1j306agd9cgpv5mp6bjdx5jvsirq7914fqvfxp";
-"xindex.doc-0.28"="1rqb81xnswipw6qakzm4mhniqvk0iqyzw8y25fs26p64k9ch09rw";
-"xindy-2.5.1"="0rn0s6m6zl0j5vak7rrzm114kb7cr82rcln0rq9faby48isxpynq";
-"xindy.doc-2.5.1"="119lq9mqczsh1np0876fz4gdfyq1rxmc0ghaqyriwl4fzj6lka1n";
-"xpdfopen.doc-0.86"="130wvaypfrg9sav0pdcdy1g10fll8pqcsqsy70fxlzzr937glsh1";
-"context-58167"="16ba0cbqz8w513yijaf8ka9zinzakgvbkpibhilnvmlcsxzcqsk3";
-"context.doc-58167"="0r15aa12cm049ly148sd48vaigqh1z9mbasjf8xc21ravq08jq16";
-"lm-math-1.959"="0vsmzr71d5iqhr9bwjnp7khzlg939mvfnbg846854cxk8wfm9hzn";
-"lm-math.doc-1.959"="1j6jcki1hxdr17njy8sfpb82mxh6bpllccf3hnjvylvpjf45nxm3";
-"manfnt-font-45777"="1cdd2a3xj00bwsby9z5iz5f2iy2iwsjl35gcack9q83hacbf3ssb";
-"metapost-57972"="1sk771ll9kv7sdrgg1xp8bmr1c0yd8g2g796pzyksfrjzbvs6fdn";
-"metapost.doc-57972"="0y7wfxi4l8dbmfmr570x3gx268nav4zhhlg83qv7blh9p8x6h822";
-"mflogo-font-1.002"="1dx834zwbrwgp2v61fagf5m4zmxf2qkhib4mkpw6iadcgfqv6x7f";
-"mflogo-font.doc-1.002"="03b3qg42axqhs1lvm3pz69m4jmhd1385gzg1sw8bqyajlrdnydyh";
-"stmaryrd-22027"="1vvnhyk7fq6kh1jb2zd19r6qq1j8zzp14gyrqvw7yqm5amjff7fp";
-"stmaryrd.doc-22027"="0dvcn4yw7qlb7gh3b3z9vk4rx12b1086glkk0x21cks87kphdxib";
-"stmaryrd.source-22027"="1wmn7bwahn28lwipkpsla74wn3a018808rmh7yvxdkbxfbzcwqcz";
-"xetex-57972"="08l3cyxr61pcr1791d0x93qzd9pifgy842ij3pf3sing6qp3irz1";
-"xetex.doc-57972"="02f44pj53aq3wc6i398sa5a64c53i6gc9h0k14alr6qmdbkzw1ad";
-"xetexconfig-45845"="1253njshiwdayzq0xir9cmbi8syhjb3sc4pyrw9p6kzyqvckkcxm";
-"context-account-47085"="1j1rvgcznn8c637dayxpdagpwjq6fbn52sjmrb0wn4gd4b4q3nk8";
-"context-account.doc-47085"="0lfx6aa235jx7sz27qh0328n68ra3z2bw3dsh5p2wzkg1wxbaa6g";
-"context-algorithmic-47085"="10rj0ac7gqzqmqndvapnhn0jnm2538r5bzmhnfqia259qs2p0qj8";
-"context-algorithmic.doc-47085"="1s84vb55yhxlw6dvzrs4y6bf2cvwp6pp0mhy778k5zyzh2kcfzqy";
-"context-animation-47085"="1cy0jc6wk9kfxahndf82wwns4dhn1nbrxqx8v5bfb57m23id8vff";
-"context-animation.doc-47085"="03mdp7233r9snsz5g43h3axyhcf4vgpivfhfv4fy3vh1ya5fx8fy";
-"context-annotation-47085"="1c2jgc8r9b0inqa5cslmxhrqzh23jkdn9s9xq1q3v5qvlh4vcn73";
-"context-annotation.doc-47085"="1a9ba8l6jl7hjaiv5mmf5jvsvxxj0y6j2s222qaqa62crcbqc9g1";
-"context-bnf-47085"="1g8gdrqaq2iyc2aj4a3a6abs3vkcbkh44y6mnbjq55pl45ja8wp8";
-"context-bnf.doc-47085"="015wnsmz8fyshyrva3n31iz6hbifszi6cxgixlq17nxkpcnc5899";
-"context-chromato-47085"="1qf3a4p63zs4sr5acrfnmxdagf3x04l7rfd9d7pfcmq261fqsy3z";
-"context-chromato.doc-47085"="1w807zh4s7bbsx16v3h5gqc1wg9v92dkg9anysbsh1m9rc6hnhri";
-"context-cmscbf-47085"="1l8c4jcrwmsacr712zql2rp1sirjn0dwbn2r0w83v4fhrpyfifl9";
-"context-cmscbf.doc-47085"="0nim43d7b7bv8xmarilzhm4al3lngvlf7cwazhkwpg80zqzavb4c";
-"context-cmttbf-47085"="1pr47vcz2ix9s3nvmi015bh2w52gayf8962c025vhh9brinxdzsz";
-"context-cmttbf.doc-47085"="0m71dv1rj1dji5skq2pyvlkq0sz3w9lyhn076nnmvjkq8vh9gkpk";
-"context-construction-plan-47085"="0q97h6lz072gfbnlv99r570kkba82qyx493flln24rrs7js5szmj";
-"context-construction-plan.doc-47085"="0pmvwb3dax78wa6v8amadxr36fs68wf3rq5k54sfczxf6k93sbhw";
-"context-cyrillicnumbers-47085"="1gk4ncbfzilj98s7k7s43k6vb3il511k434aj34fsvqh5x9x4aw2";
-"context-cyrillicnumbers.doc-47085"="0f7r9qgfc8h92jprjqa24q4vpz4bqrrns3glhmwh3qmk1f2gyw73";
-"context-degrade-47085"="0r7bgy2fliqhywgqc1blcabmhjz3g0ys1rfk8mggkh7908lvvlmp";
-"context-degrade.doc-47085"="0d0fy68hk20az7vh2z87h76hc8x1hmgfl1r5saxg54l20a31a96j";
-"context-fancybreak-47085"="00zdyzfb70fvgrdna9z4958pxhmjv85jxl5vhfryprqkrbw05pr4";
-"context-fancybreak.doc-47085"="15igbqj52g2ybpykqzkzm8b9gqayccip5p6srv30458zmxhci9jw";
-"context-filter-55718"="1apna9ll4acvg8c1rhgp2fzrfjrr1zx65x865f12mgkh68m0ng4b";
-"context-filter.doc-55718"="1p6iah7wk7nk50bhiqssd1vwyvm8y224a4dlxjplpv05ksjskwb8";
-"context-french-54215"="1wdn7ajvmfj413x51v0zcnbibr4378s1sla7f097xllak9iyd9yy";
-"context-french.doc-54215"="1lyi3hwijhc0jl93ygldpjm44fbiw4c7zky2ydrm4s56l3di2sil";
-"context-fullpage-47085"="0i7cwd0q9fcdnh58w6hgdbnxxwv8g01nk33j7naqwc0f087az7qn";
-"context-fullpage.doc-47085"="0pyhpp94adp1rfn7pl7fwa03n119jp455y1brmsww9wfpniz60di";
-"context-gantt-47085"="1x3glv3nanxic9p0xi2dqz6k5awwbhxzzfnj0d9sqwkcr5gfa8h0";
-"context-gantt.doc-47085"="12wbzw4j11fsx412qjjy0g36hq6db7f61937s8k8qrqpgpfjaz4n";
-"hatching-0.11"="11sdpa2fbxqz8diiwyjvx5fwfycby0rdav6941pgfbzsbqd3ys62";
-"hatching.doc-0.11"="1fq1wkq7q5f8jbhx7p49jnpnfprb4z2wmawyjbvcnrnmr8jbrdny";
-"context-gnuplot-47085"="1pahxhbliz6fsj2va5pgwcs55b3rhsmfnjb9qjxkz3gqzrzdkfdp";
-"context-gnuplot.doc-47085"="0l0qp9c0yvdrf8398wyac98ghrdc86lxgzr5l327gmgnk8572gxn";
-"context-handlecsv-51306"="1xx7jq1lqzgnm4jicc270g884qrnsaxg2cc86r2zh5ar584qv9yd";
-"context-handlecsv.doc-51306"="1frlxxqd93p2dipsvg1gi1g3l4b57wgwz9j5r2f31vn9p6dxh06v";
-"context-inifile-47085"="0qakf92qk90nnqnvvada10z6r49dsjyq25mcyd1742b3m64blvd7";
-"context-inifile.doc-47085"="11ds2hvs2mx7xzanzpj9il4piiqwhqj6gc00r8g618m0s2fvkp5b";
-"context-layout-47085"="0j7f5krz8n3192z8iysr7cc8hz0v1zw2gidd9ag0l3ifxl570hn8";
-"context-layout.doc-47085"="16ava246cbx60q43brkfgbfw1vbyszqv42x3k027hlzk3hv4vahr";
-"context-letter-56073"="0sxndnc2sbb10k2s81nkmfpvs0zim508fvh4rdakkcsnp824gpcy";
-"context-letter.doc-56073"="189knf3ng7wpilr8dzl5ahbw6bazfnpmksjgpdbn60ij4v00ckfn";
-"context-lettrine-47085"="1ab6hwgnl4s1524li669sgn06gsvgc6vdlxajnbxj7gby4qh9fr2";
-"context-lettrine.doc-47085"="1x2plp67i8ayw7v3nxf9njlj6fpwy0vvp5cd3k3vp9y0qf6is6cf";
-"context-mathsets-47085"="11r30c6lpcvkx7awgm70cb5darl90fvpnf37hj2mb7h69d281hv6";
-"context-mathsets.doc-47085"="16qckniq5v52m36m05bpnqypfz2jn4430n5x5zazx54j8makv827";
-"context-notes-zh-cn.doc-23171"="16f2ax1vwz0cihiyl9cg0hsgl1la6mgh6lavw7zx1x0kljz3ajl2";
-"context-rst-47085"="1lcxad4kjhdgqny5qcvwdd968wkls96qjmi7m8yrla0nmr44y5gp";
-"context-rst.doc-47085"="1k31vj6wk18ccrnrhw46j98i19iprjk6h770a2y9w6710zlw3pdl";
-"context-ruby-47085"="176si5c7a44r7j23kp5sdg9h7yd5dpf1pp7rzivbhhgiwqinx7r3";
-"context-ruby.doc-47085"="1mnzdbcaccdylxc47s88wpq25xj867j2p4rziw5w4pbvk88h8a02";
-"context-simplefonts-47085"="1kfn5dl43qg64f2nx319xgxyl71wsxq1mvfxr20a9f2w0hvkvwpp";
-"context-simplefonts.doc-47085"="1wy9qncb4swqxhgi263pv1d6f62zsbvfl9lajf0jljvkb1888167";
-"context-simpleslides-47085"="1zzrbypanrckbfnxv70bdn6ypkai213acq1ksa1jq5mfb53r50g9";
-"context-simpleslides.doc-47085"="03lhmixdn1wrfdw8a1ayw4rd7gfy03m4v33ch9i59zzz2w3v2s6c";
-"context-title-47085"="1vpr86mkdd8ib5vvdak3kn19fi8vxz1023ld6axhwq4x0cxzb0ll";
-"context-title.doc-47085"="03higvjmk1b400flddaxdmk5pkfq6vz6445q53qw86px82g17may";
-"context-transliterator-47085"="1hwbj8csxmfm9ih0cz1aqjmg0967irfrlw9xff2nggwmzkcjf92d";
-"context-transliterator.doc-47085"="0l2yrn7jq9641j3bj49w8axlvh7n2wsjy3hgg0v0h9afj8nyc1qp";
-"context-typearea-47085"="1m33wbnajm4s9x098a72xsg38sil61slpp1kk25f9w29vjrs18aj";
-"context-typearea.doc-47085"="1sblwx44pardqrp265xzg5hjpiflgic7k5xfai0q9nga9qi56n0l";
-"context-typescripts-47085"="0bpm824hbmfrwx2svq486nqwk15h1fkh3wgvq526h2pqi3x82g5w";
-"context-typescripts.doc-47085"="0pfvlba9bgrcsz6nqwmwfn1pq7j9qm8hc7dqbk8ax1c0gxbbh8dp";
-"context-vim-58082"="1xzym5nwazvwmgjx36vdgrlkiw9vmzgj6fz6qj1662f29i6zdbfw";
-"context-vim.doc-58082"="1vrb35hq2x5r1cncwsdvrxlnpqs1j7lgrfqi9pmi4kdna7x9k5ax";
-"context-visualcounter-47085"="0n20r8315py52ghivwy9kh7g7yj4ixakmkn97phw1fxgz21jk6qg";
-"context-visualcounter.doc-47085"="18ncq5d4chmnmxmhazbjh9ypsm4c3577vgcmnx0y1pmzgb2g8pn9";
-"context-visualcounter.source-47085"="18yyv9974cxzpw45rzw6ia2jamrb07bzw6gqchdprdjs0xmhz308";
-"jmn-45751"="0iq5ky3llx50smw80lpylv11jmqc51m5yrhlslz3sakmgdqgg1yi";
-"npp-for-context.doc-0.98"="11bzcxi27yia87ia7ych62gi2y59jx379fz63avc4qyq4m9686ag";
-"Asana-Math-000.958"="1ydx3x568dw336nhv7nkl99y10hplvf79jxbpj02607pgz81nd0q";
-"Asana-Math.doc-000.958"="1dpx3w4kxmdwlscck08m9s0samiwkm08mlg46v7nlwqab3mbw8pr";
-"academicons-1.9.0"="19k93f7nyfni9jkg2pwfzsnwwfwydrkqivwskzjmsn0dih3ss8l6";
-"academicons.doc-1.9.0"="19jp1r3h8irg6fzl6n4rr5pxsn5na2b3g1x5vmsfd4hxdz5c01q6";
-"accanthis-32089"="1vwz3c8xgd4arx0c41b4d0pzh00ds7y1npwlq4rz8rqyabg0ix55";
-"accanthis.doc-32089"="0za0ja43vv6yn7wmw7m0f7xmjkcly1ml7f9d3352i8lk3gj8i7r9";
-"adforn-1.1b"="1cb6w50xb9wkl6x384dhldrhpjbk5l73x5gzpbm8za4gmh1pc94v";
-"adforn.doc-1.1b"="0a1f1rrii1zvd58h2slk2zj032vjqpi480d38rgi2k2j9wlbbyyg";
-"adfsymbols-1.2b"="19rr3zdgqlmnrvd61g9bjiqiyn2gpn82fhj4219gqb1l06nqa0ka";
-"adfsymbols.doc-1.2b"="059fjvdmd1jgr1flv5181ac3wvby93hyykfshcmr1j06zs8j9kyx";
-"aesupp-1"="10yd16v85zbkzkxb17gr4kf4li28ims33i1zrkpygbdf10nclxcm";
-"aesupp.doc-1"="1dydcjdz57kn3gwb3pfm4yp6hr69pyqhy5lhm9pnlcrycvqsn8qr";
-"aesupp.source-1"="1s41gd7ansh80z6mmwwha7pypaxwxxvrz3sdfj24pa5b2agprq68";
-"alegreya-54512"="14zxpvvbvax65njqsh762x68ixlsn10990lib4a1dy84507jvfkr";
-"alegreya.doc-54512"="1cpxgdl6wqppg3f44v9bg1856db0zph3vx0jyisaajfixgjv7d8r";
-"alfaslabone-0.0.1"="11va28ww6qk97wx8fh0iqbm8b5s14vf923ydpglx4gann4w9bkiz";
-"alfaslabone.doc-0.0.1"="0wfhd5pi1p5xnkq8lgpp3fhqn8y76h5jp3h5qhlaqygal70fw9kw";
-"algolrevived-1.052"="0qsxy2az8d0sr07mz7yxca17gl1y3kaqmvlckjdckvwq1idh7h0v";
-"algolrevived.doc-1.052"="10m3rgczhnkalf2f945jwrpwvv9szxh3v4wggl1rdxj12ng0svlq";
-"allrunes-2.1.1"="0xgh3y7h57lkzxrhddn5wll339b4zih4nb6a36ymx38a6md7b8ph";
-"allrunes.doc-2.1.1"="0dki14g1607a432549kly1wcy1p6j63lrxfd3m5nyz868kg3hjmc";
-"allrunes.source-2.1.1"="1d49w7lybkn7sfig7i27mfwaccr9vjs7ab2ds27jmhp5wjl7w02w";
-"almendra-56035"="14v5sbjsnvihyaan3jclsaa1kg39c5s3rssclrmvr5a2jzn38pzm";
-"almendra.doc-56035"="1g32m3b6nhydxw0siwc7bw59da6cwav2xrypj636i16hvlck9kg6";
-"almfixed-0.92"="0qrai75pdkf4py7nhggvwzaarv4jlh04dqsy1b593jabq7ngaap1";
-"almfixed.doc-0.92"="0arhvv7z8yf8kcikzybhbsgsj6m9zy4is5ryr6hcf6a6incnkp1d";
-"anonymouspro-2.2"="1qk10w52722yzlyvk2k733sp1h2vic3rjcswkhx8j21a2g9xgmjh";
-"anonymouspro.doc-2.2"="0ijsn9cbkg1f29x0pj6a4p5d4q14rqrh2mjid57cb9qjhvgvqrm8";
-"anonymouspro.source-2.2"="0fl9sd9adhjx49hja3k4iy9pcx3hal0wjzxg10kjmi4j6qvz829s";
-"antiqua-001.003"="16pb6v297iqx09lb6w6zfcyzhwidd1cln14rqc3fblbmdaggpays";
-"antiqua.doc-001.003"="0pwyp1j02zh51crp46rlhbdnwc2m0blcrg0yk43yfc687q3jx91y";
-"antt-2.08"="1clzmvpglsirsvm8nsc3m4dkz2va90877gmsrm7jfkhm62xv9mpi";
-"antt.doc-2.08"="0kpiba7awkrjr2rdgxilni1yi8p4ycmqyy09c1p9j1ld82idsjcm";
-"archaic-38005"="030a281kl48ixl4vh378bf0341lrrpvh73ws5pjxyhvs6cvyxp7i";
-"archaic.doc-38005"="0m64lsmx3sryzdmbsmz7biwmndpn66x9is8apqn7w64y4b1jjcpk";
-"archaic.source-38005"="1231mqascj96yi4jj11p4zcxgkpzxi3p0zxnjq8x5fpajz386kq5";
-"archivo-0.0.2"="19hr6vc7x9csjjd3i6mz9z27cyq4pz1qvhmiwbql2xhvmbcd871q";
-"archivo.doc-0.0.2"="00cs206zp27vpw06wqg7adwj73124zbp8zwfvgqsh9n544npvfmg";
-"arev-15878"="1nx33blp0nfqfmv2akj7w79qg1rhds40k7b58v5yvyrkx0hpn0hm";
-"arev.doc-15878"="1vscwahxzdcb6879pbrxdlfpgapc0bia2fl3jwilrm1has0ffjz3";
-"arev.source-15878"="1k524nfr5zb0nmhhq8dfaha4kv9f2ika192scllnn1bywhbpn2x5";
-"arimo-42880"="0ngpcv1824bwipjpx8qbx4lj1kyb81xw9dj0nqmpfq12a6q01nvj";
-"arimo.doc-42880"="06la48idihifm1n8yzn4b85x1y5y7qssq8d36fwvyr54kl5prh0r";
-"arvo-57213"="0i9x668hjr2b6brdysl35rxgjji1zdsn6wbf21ql0xmn53frk4ic";
-"arvo.doc-57213"="0g4lpx8mra2qk9c1qwijilscq48n5n252m6s0hxfraj5rshrhc1j";
-"asapsym-1.0"="1m4ky7x5pavf8kpyqrjqa5ara2iwzqc3aglvbsjblny7n2az3dr4";
-"asapsym.doc-1.0"="07n000aa7yjvx74vspqq1rrqw444z3f9pkwk3hdmmqm3p1rrw912";
-"asapsym.source-1.0"="0cacvd85rh2j0j6d1zjrisffwyzh0pphzsgb5bxfq3dzycsww0iw";
-"ascii-font-2.0"="190ma5qhshn71vhsjzjb2gxb54qjabili5m9v98vwj173sdj9cjv";
-"ascii-font.doc-2.0"="0nrnfvrcgwmv46x8f9ybk1gv6vgv8jgzhc8480fl7y17dii3jl9a";
-"ascii-font.source-2.0"="0xcv04inym8230k2ljb16g4ajj73gggg13w6zkxxq8a1fa9lwrw7";
-"aspectratio-2.0"="17y22131b9nzzq1skfdyr7cfcq823nqn3ssqrbc3bglggdfibf2p";
-"aspectratio.doc-2.0"="0mw7v1m9afyk462rjcimvwwikdpj0f4gjw5pbw2g9c60vbjhz61j";
-"astro-2.20"="0cjf53gbin9z10g63x2kingsclgnwr6idc4x0m473hf4fvakk34x";
-"astro.doc-2.20"="07kad1fzv7p6inh7nkrq6b34c1792h4v49rxaaxqyldmf4pwjr84";
-"atkinson-57624"="1c1z9cj1vs4jczjcg9vaq52qy6y77217153i1ivd00v73bsfsmc6";
-"atkinson.doc-57624"="1hx779qjjabgsmg5a0halwxd074qdkh0c3qp47yb4ahjsys38c15";
-"augie-18948"="08m2n7wqqj1pvvrw6q8j514mgr1168brckm1dl44yp78afgm6vra";
-"augie.doc-18948"="0ygmvlk1h6n071lq8jnlpdqaxhcxvwrzf1kgvacj78kijaqd0lix";
-"auncial-new-2.0"="0nqz71wdm0w34xdg5p34ph6na12jlvxz7v1bfigjm2v87pbn5lwz";
-"auncial-new.doc-2.0"="1dw0gbhk3hwfapdzysf12kz5g3dfsr5pxpnga9s1ksqicck26b5w";
-"auncial-new.source-2.0"="1gyilj1ldx6c5lfn8vrzsbss4gl77grr2mw4v6xhimv2vsyp29a1";
-"aurical-1.5"="1ffl7fji5r74k80hl3d62qj7f0h439jb7zmsv4f21w7b6cfyj74i";
-"aurical.doc-1.5"="0l19hfh5g2dc3digkbjvrh90h3vwx6zsbadjl7zzzlnhsaq44nlf";
-"b1encoding-1.0"="104n1g3qnx2dj91zylj5byz7yaai6dw6v0pl9240mgk1h8i0xr2p";
-"b1encoding.doc-1.0"="0sdr25vv9svm3r6yqyalqza4awr8k26g7fmh8078bbxkddycchkm";
-"b1encoding.source-1.0"="0mbzrasvppl17965dmkp2f9cbi03539p83989d40kl5p11ih6dgy";
-"barcodes-15878"="12gzzkj2nkkzw4q6jw0nvzil67f83myhwas37s71dnpqm5n1yqdp";
-"barcodes.doc-15878"="0yzqllbvdmymqv61mc740hwjz76m7sncw4mkvpld1i9kv48f0nvn";
-"barcodes.source-15878"="1m9mifdmxc07rmlg9pav8mx856jg1g2jk48hyxkd1zs6b8za6ani";
-"baskervald-1.016"="1wvdsq2qngbrm2nibvmssk62kqvjkk50cxi2d7lx3nb6jgmj33c0";
-"baskervald.doc-1.016"="0zj9xj7y1srb58lr9brmi2m7nw63n798m7mmzibjvn50kfw3qc8i";
-"baskervald.source-1.016"="185jgbk6rg6vkdwhwb8i0inb32qr3rgsdi3xhgj4vj0iah9mdkbn";
-"baskervaldx-1.076"="0nnqkki5ff5jn9bi8xddqpf5r1cj0r6rjgb83ab8x49di3y5qjsy";
-"baskervaldx.doc-1.076"="1q8yv0725j3sfnqgznnjjbkm57hxq5n9xvga1f7kf5c0jkp52742";
-"baskervillef-1.051"="108yndp9v2awi5vw29zbin82bcvx2fzkkhypg7f4dcl9lziwdbg1";
-"baskervillef.doc-1.051"="0divl9d4bgpjvc6yy2yawcrigkvv7pwdnxy1gvf8mypwhkp17anc";
-"bbding-1.01"="17na9lw0yaqn7i5dnlvbfg2yn74j8kr4w526z10bzp4kpynnpnlp";
-"bbding.doc-1.01"="0pg135sdbs1zbsyv1cp69akk7kazr5937ysik38dyhhc8f7vj49d";
-"bbding.source-1.01"="1kgz94yy0gm19x59vh24f9zv95gy53ayc1906r28s067mknmc46q";
-"bbm-15878"="1l1yyiqy3izbzbrpz55dgd46szkj55g8wkjr5xh7g3jc59y5kq13";
-"bbm.doc-15878"="053jc17hvq8vphm6jqr929hf45xkb3rk7yplq4i55x57vkf8bvdq";
-"bbm-macros-17224"="0h1qqr82ihqn7i8r6pk2mrxkpf4cnil1dj1a0y4y3ydph174v4l9";
-"bbm-macros.doc-17224"="0pxrzpbwpfzk9jhb544zmya41vzdzyn0s5dcyynajnf8lii3kivr";
-"bbm-macros.source-17224"="0wc6wf1qi6kxbd5a30n926gkagyjsk7mji9g9nzv3jwrshqihspw";
-"bbold-1.01"="14dz70qh8kawzlb1h8lrm0a4dpqkn9b03czd51s74z01a3cdmn7z";
-"bbold.doc-1.01"="0pfrhps4yirpg244lcpf10ilz53714ic1fvpk3nkp2ihjbaxbzy1";
-"bbold.source-1.01"="0qhfqg6kynfq6jzx93mili9kpgikq39wmlhgiav3bdzqhp6v0q3a";
-"bbold-type1-33143"="0zvkzp43awkf5vbnrvhibkw185zg7h1rcfqav38z720cls2vgd7w";
-"bbold-type1.doc-33143"="1dj0vqnhmk8n383y426ma1y89r8y69y1lc2vkg58gaffjfrpxwxs";
-"belleek-18651"="16vq207gnh24axsmh2nnh8lgy1lz2dn2kfn1sx51cbl28qv3wy2b";
-"belleek.doc-18651"="064l5x679az55jb808yq36n28qhf0gv0xm21iz8rnz4qxymwsx0f";
-"belleek.source-18651"="1w1jbq0l49qd2wwc0xmravrid4rfba52yw29z5ki7p46j51dw7i8";
-"bera-20031"="1i3mahkkb858i6a3wyrilcbswdp8mhclvixdxgc0wpkqvxa6qwya";
-"bera.doc-20031"="0llhr464l0akf2dx1avnm3d7adzcz7ml3x95glafpk0nfgb98qgd";
-"berenisadf-1.004"="05ibwmiklbdkffb1d85w9097sv215afgbr63fka2iqzcnm5lzbk4";
-"berenisadf.doc-1.004"="18awb9xgra9qmrsrm9l090c5lsx14xp7dh034k1fq1g1767w68ms";
-"beuron-1.3"="0zfkx9iiiz7h501ls3z1fxk2ga8kjhi21vpmlng6vvw4v3dd1xhy";
-"beuron.doc-1.3"="0d0mll620s40695kikaykj4w3ngm6rcb4xzrgk3apl43pcf7mss5";
-"bguq-0.4"="1spl6qnixrb6vcdgaaxx0fk740kkxv7y73xamlkprdnrsmqrswwm";
-"bguq.doc-0.4"="10za9hbwigcbxyjwyy5cd760hqabyyj3g74w355akhfpyd20m55v";
-"bguq.source-0.4"="1vaw8sa12c94ia6fknnpbj7xxng3q3lj3h61akm590riffklw2kv";
-"bitter-56026"="1xl5174fppijqlfi1qqdhr251flx8jngnmc3sk4i4vv4d7gfanaq";
-"bitter.doc-56026"="01j95jkb334yf4rwkljfw4sa2dwg43fjln35rm6c7h62cis4vi0p";
-"blacklettert1-15878"="1gvdw5gwjzgxa332ih2rp4whdcx1rdn5mig5q9cyiy28zvm1zrp2";
-"blacklettert1.doc-15878"="1m6qp3bkwl77khvanw498bfrydmyvf1qx5a9sp66x7l7xgjnndlc";
-"blacklettert1.source-15878"="1c38hmva1ffzani4mjg7zad0mr6lphncspn57m55n28hwfq7x8i5";
-"boisik-0.5"="0xqr3sgmzklqsvd26f2800ifs674lf0a4kgr44na2l0lf5msww2c";
-"boisik.doc-0.5"="0l0hi4n5cfm1zdkr68c6ks3gxkda5bgwlnf62y7x96q5jkscdyxg";
-"bookhands-46480"="08nsfgwhlyv9whaipx74hr4w6dhpdlvwcd6kxzcznxc66mlrnpk5";
-"bookhands.doc-46480"="1z0rir98r4fm8vhx26hw7l22p2z7swj5b2i3jdfy3c6cj0pi4g0g";
-"bookhands.source-46480"="17clfn8g2f48v944jlvwl3jsz9ixkw7x1xjxqkpaqnng0wsm6fyj";
-"boondox-1.02d"="1x8xd0q0yg1w1y06gx9fq25jakf7s3nz5lf2vryh5zlan2fz0ic9";
-"boondox.doc-1.02d"="1sc5bwpvgz28q2ym65vccyr5pdg8fn680kd83zgcbcwd85n8nhrf";
-"braille-20655"="0cy4bxpg284blfpmpgh1v9vyh5bczdyz9zdsc1almc51nv6c6zgf";
-"braille.doc-20655"="1ygyzvyz4am70n57hs8xhrkdd8hpn2mvg7hg3rdr5b6dvis2ibj7";
-"brushscr-28363"="04vpb4yvbazm9lb7k2rbv4wr372k3l6brx37fx5283fpzj3wvhxv";
-"brushscr.doc-28363"="0dv19f5hfzwnw6fd32glqc71rbjwi1y66p5fl1r17pxsj16nlyc4";
-"cabin-55907"="179j2kjh2lil2ahp67pd8hj8j5w7khfnfaahn1za8bp59f18xb5b";
-"cabin.doc-55907"="0xxs274z4wk1n3a11ybsp3im81wp0a9rk5ppnrwnxm2hgfwsyk87";
-"caladea-34991"="0cxvzpygsf5p619fd7z2wpi2bahiaqs3yly83n4ma88gac3m4plz";
-"caladea.doc-34991"="0v14bqll7iqx9czwamyw4wzl4grf2vc5y08n787p98856vaqdy5k";
-"calligra-15878"="0x3wvp6crh6rg2sxzwil3jr13h73sjgbf7ar4y35na5ksgz1z2j7";
-"calligra.doc-15878"="0pp4i750ga99x72kzy818062jvldylyfanjaf8nxgkglbyiw3l7r";
-"calligra-type1-001.000"="0liaz2jv1ad3xvmaxdp3vd2b3wvyg0wm1jlrrhxljzazsxzs5d3p";
-"calligra-type1.doc-001.000"="085bcvvz7269v68r8a153cgwgs18bgpqrd40k5xy7k7f5wy7d0c5";
-"cantarell-3.2"="1p5idl8vqp84g7vw3q6ybwnddv8q7a0ijy6vny8jfd6583bjx6pb";
-"cantarell.doc-3.2"="1r6mlr4qq61cclliz4h86bc86zkb5kr5r9bixwnj88pbvbalayff";
-"carlito-35002"="17qyhmp24afg30z3b377n1dcihxvs3x7gvykxc7g43z8cm9ins8i";
-"carlito.doc-35002"="0ixh7s656l5hdl07gcckxh2q40gjmh9kkirkc5sn36ynyd17zldw";
-"carolmin-ps-15878"="1wq22k55696jbawhlcqxj839vx1kla2xsik32pv5i2371dsn7211";
-"carolmin-ps.doc-15878"="1kai31i0pvrvp44y06hl3mj20hwjzj2mav6zs36afz81b491aw79";
-"cascadia-code-0.0.1"="1dld0cvrpdky97ycnci27z4pk2adfflbgp5r43fxkwbh3l45am9n";
-"cascadia-code.doc-0.0.1"="0i5ancv04gr9ryc6kmrm197n6kkhq7m2gs7bj3kmfza0r8725sd8";
-"ccicons-1.6"="0xqq8dk5czaazzjlf601fs4d2z81yn02ama07js7wrxb21vvjz2r";
-"ccicons.doc-1.6"="15hlqk9rir37m45ajfwfpw2w2ngsc6nfyh8g76vmbc6j48zmc4mg";
-"ccicons.source-1.6"="091ayhgprp5w5g59c0zfy51lhas4gf3spya77k9fbr9gxp3phl4c";
-"cfr-initials-1.01"="1wf5lcqh3jysn0fbzpmh429gmicqhh1kvz26jfl37f1z53g07shs";
-"cfr-initials.doc-1.01"="1akblgsix6a59as4z5z6hhsncnsfxqh78s8gw0m3xqv6wrbv417k";
-"cfr-lm-1.5"="1inzb3q94b42n1g3hchqld687qhs33m2zxvxvgyciwqnwfn3h968";
-"cfr-lm.doc-1.5"="1ska7y1xg6qq86kccplwxjd70bdbiw492d9y9n17d7hryg2nxw66";
-"cfr-lm.source-1.5"="10layppddcanvyzjbgn6grgba9ff47kn7fqdxmwfkwnpw0qlw5k4";
-"charissil-5.0"="0nxrcgi0w17p7wwn09nfcx3v9b7ddsw9sp5224hbax0g5h0r9569";
-"charissil.doc-5.0"="13mpl0w0nvr6gqbjgicqcqwwrd5vlc26lc06gzq1s73lrpbjz5sg";
-"cherokee-21046"="1h8q9ysfnwdc29kfc6yj4545xk8cyncl9ns5a465kh6li01zw5i0";
-"cherokee.doc-21046"="0ijq61im5wsv64qibwcllc2mi69d72915c5qjk0dcnsn7k823si5";
-"chivo-2.1"="1nva1995nzxs9mqahqhsqr5ipfg7swi9mms2gy0ir4miv17fpi1h";
-"chivo.doc-2.1"="01p4s3psbi5900cma2xxpsq42f3r6j4a21nsrb17lqx7hhrxq0by";
-"chivo.source-2.1"="1s60n5whsv9b10zlmdr6cpi81giyzh36s9y3b9bxphja0hm7zhnd";
-"cinzel-54512"="18bgd13ly5sb87wixcp3n2403m400xngl20vxa9pfg2xykda1haa";
-"cinzel.doc-54512"="0mad5alznwa0ix3nkbpiivalfyblywl0f7gkjbhmhssvq5z6dyp3";
-"clara-54512"="19g2vpxwjjc3y88ghw8yv0abkm69x6lnjj4p1cqbdjiyy4n83677";
-"clara.doc-54512"="0dkqqps72wws7dhynan243wf86gxn4chn1v5iiishkar33xvvlzp";
-"clearsans-54512"="15f5x2kn3sfzd84gg14f85bh52i9ca93m9hcvfw9nvna1wbz02q4";
-"clearsans.doc-54512"="1h87j7b7r8zvcm1zyn7y3s9432ll6k6a14kz2vvwmy5rf0p4vcij";
-"cm-lgc-0.5"="126k3nr39xvgbzjws9x9xs01rj738lvgpy9r2wjvalxqvd2sahw5";
-"cm-lgc.doc-0.5"="1xffcgb60kvbg07hsw3dc6kzjqh907fj97qrrj2586b66asna5il";
-"cm-mf-extra-bold-54512"="1l1cm32z8wcpj0cl7czqkhnwil3ail7a2bbzn70dnswpj0ka8k9n";
-"cm-unicode-0.7.0"="1y71gdk369hs2yzbfnj5i6yy2xjzv4n65vcfb8z7x596kpjm5jz7";
-"cm-unicode.doc-0.7.0"="0zc7fv9p1m7dgi3vwkra2d8x18c4gkqzkd06gp9c18jgf0m6ahm5";
-"cmathbb-1.0"="03da7ak8q3qyvwnk52mn2a79q2mfbfk0bfrkvmjpqnlagw35qmbi";
-"cmathbb.doc-1.0"="1i54xpnvygfmwbvdnj5wwd2fwfl1y4f99afvs283lz1ki2857aj0";
-"cmbright-8.1"="1ypjv6wfj1nm6wj6laniv304zri75q9gaik95sxbz0wh5cxzwgr8";
-"cmbright.doc-8.1"="05cwyxmh6mqj0xf4awhif1vvms0j1lmadd1fgil7b14l46mcd99c";
-"cmbright.source-8.1"="1y5is2678czhhkw4y5nrg05qqfi3n7fbric9m6pszfkh4iw0ml6c";
-"cmexb-54074"="1hfslkscqr01dkgnckfcr8c04s053s6f8z5xk35lcgbqj1l7ygag";
-"cmexb.doc-54074"="1f6nrlnnq3c8mwsxz58pk05ginjkdjpgpnnw2alky20s78cc5kyq";
-"cmll-17964"="1mv2npq85fmm8ff3n2czs1mfjqcqpy5rx6dwy9c5ra1nybx0a5ak";
-"cmll.doc-17964"="0ps62xbzac6k9hk0s7wlk14iq70h922sxgagy5m8an9vqp94mjzi";
-"cmll.source-17964"="1vhh0ds96n1yy3nby8np7v4i747cana8acvcnik1zz9h4xnf4brj";
-"cmpica-15878"="1j8jsl3g76wxdpzsj8w68ln2i386cjzclcvvj1nl7z9k5bxf4s34";
-"cmpica.doc-15878"="1rj4g0kzy0ci440bjkh7b7lyh52xx6v737chzhps9w8q1b07wvca";
-"cmsrb-4.0"="077f185vcrklhnchlw694113fpgaxy8paxms37rp2br8mbhczy00";
-"cmsrb.doc-4.0"="13nd3vhxim71kcl2n02fcrm5vwakkrn0f5nfw8irl9i9r9bgy6ll";
-"cmtiup-2.1"="16wg8nw15f1pfcrm49xnna6finbvl0jr0wyapqg9i2jh39c1gizw";
-"cmtiup.doc-2.1"="0rr69cqg5pblx5h8xyw1zkap1fj3pmdznycplxx0kd4wqzbdd47z";
-"cmupint-1.1"="0y3pf2mbhxhn67skzy89850fhn17xr0b0ghcxn1ayq19qr66yrj7";
-"cmupint.doc-1.1"="0v180y0j3md4iyx54fvjr7g00mavmkw6b99bsm07nncfq0anajms";
-"cochineal-1.066"="191c7l30cs859xy9vy4pn5281c2v860d77fp0hn4yx1nq7fhvyym";
-"cochineal.doc-1.066"="1vxsa2cffypkibx7sl0b6k79kax07li4zp2qr6v4554gj3fca581";
-"coelacanth-0.005"="1flbg98xil54zvjdcig4allc9pqlliz43a681kx3wacn8c48nqp6";
-"coelacanth.doc-0.005"="1py3h3hx20jfpjxy3mylzz31vrxf4fs851ffprymf6rs9c5n6hm8";
-"comfortaa-3.2"="1kfxl806y2g6axx8csnd7njyd0skxx1gpw7fm3paz8yrzvyyw89g";
-"comfortaa.doc-3.2"="0irfhf9qw81m9x03nybk7br1nrsk4gx1dccd8ay7wd3sgw00kg0a";
-"comicneue-1.2"="0w2jbwfzfhbm5375852zv9rqih3p7grvi0s79sxr6gpzh7iyvlxr";
-"comicneue.doc-1.2"="0wr71zjk337h9p38nm67ga8js60vqyqfslwn7dqvzg06p0741bfk";
-"concmath-fonts-17218"="061kfzds7clbxyq62ilxwcrdkfghi2lx8afik7vi9gg0hysbki7y";
-"concmath-fonts.doc-17218"="1x6wb92k4da01sv8b35p3bly9hj46hh8k9wr22m7lj3rxnndnpcq";
-"cookingsymbols-1.1"="0kz8aaf7bp0y2ph0iia5lkrxnxch9r63iy7y4zpqcawh1ajl10ji";
-"cookingsymbols.doc-1.1"="0dws0sdcg13jpz23zvkw6vfnc34qc1s464nm2nbdybhjwc9gdbdl";
-"cookingsymbols.source-1.1"="1l1jkd6mcxdldvjyk9myig4jsi89mg6n4ab6ymq5lqf25d260h0j";
-"cormorantgaramond-3.601"="16fwq3iwv3alp5frk7hzn4j7bdax8zfvrmkn7sh9hqn8w18gmw0l";
-"cormorantgaramond.doc-3.601"="110f56v8mb2yjyfpdqa82905h0fmra1k5895bl8f9b1va9p89b5h";
-"countriesofeurope-0.23"="0387czqiyawxcjqh22czyd8f7y55kcrscxmp28rcm8wqqdh2ra0z";
-"countriesofeurope.doc-0.23"="0h06f5rpizsdqddqdvvvh5p3nhm4y5aixjnxl8s0b90wpcldwrpg";
-"courier-scaled-24940"="0gfqc90fq1nk7w5rvy3fqd5799aaxh48ia4wxcf01bhs4l7nrl1i";
-"courier-scaled.doc-24940"="17zr8bdv5dv8hybbjfvkrn1skn6xpl41yfrb4q1nq491nwbppb14";
-"courierten-55436"="1maxj7wsjqh2ni75pjpzsbwh1f9abndka1ilaiwik1c21kgb44g6";
-"courierten.doc-55436"="1lq4clwd38f8l4722khgnldjfk11mn1m4m82ppb1qk04qyh1v8sp";
-"crimson-54512"="0aicj6z25yvrnsn15xyn4920z8k5kbxlzrfk7x914rdq9s9s5i8h";
-"crimson.doc-54512"="1sz0f737kkqlx5d1pn5007y78y3xkblibsrkw61pp8aa1cl1mmjl";
-"crimsonpro-54512"="0d3jpr2hkkp9yhznnx0ijxi2pc18fszzcdqxkyri8na15laflbfq";
-"crimsonpro.doc-54512"="115w24lpx8xv6gkyvjmxyjlv2kd8z90036726nfci4wc2d1fr3fw";
-"cryst-15878"="1jd8ny0a0mlhjdbigkkkkz1xn51s3l8w3dpcx5kwg10m29b3vwc6";
-"cryst.doc-15878"="1rdclk91d2hps0xiqj4p0i4najjz9llq0nr9qvlj57h7ipyrahcj";
-"cuprum-49909"="0gqrwdh2gpxgc74zq97zm728ykadkrl066v77hjllmw7x6cjxrng";
-"cuprum.doc-49909"="1126yz6ks0rk92jcsbg2m3ibvv64xznrii9kxf6ss36hm1qwkgbi";
-"cyklop-0.915"="1krjgk4a920bpgb7c6qw6jx5b7gv97raxpaby1vx1lh5zvbybfn0";
-"cyklop.doc-0.915"="1fnsd0p8wp58imrn22zbswk8bdjgp0w9v4hcv8f7x5ks1czcas8x";
-"dancers-13293"="0nni21f6y9gynx1lsymb3pmh6w761q21idq60fib90hvv9jjd85q";
-"dantelogo-0.03"="03a5l0hdlr69knnp6q464x9610mwjkcl3cw3i2q10nfm5ywr7nsx";
-"dantelogo.doc-0.03"="19y2vbi5wwia1lg16rbwzkfd2chi9vw3m3xig48h0bsyy5y9pgbh";
-"dejavu-2.34"="1pxcrv98xgy9hkqhclyp0q5dgpgc80bvjzs378f0dqzc1037lghn";
-"dejavu.doc-2.34"="1f42z94n6dpdq481n5wmsx5hx000klmbklghz77x8pc9shgvlka8";
-"dejavu-otf-0.04"="06cdqjqj0vcxrr2nlqs2qszssiibzr0pbimhvqjpqfdv2hhdxd0d";
-"dejavu-otf.doc-0.04"="0x9j42zm6dagn4wv8hz34x7cgybi6bb86whxvmmwx5slsbb6yqfy";
-"dice-28501"="12j86mgn8zph5w1gd1lmmz0dcka36b187vld6r2srnj9f398h7ac";
-"dice.doc-28501"="068pzhi6a4mnq8bj5xvg4pdgqb4kvdggybs16hpk8jla03ny18zp";
-"dictsym-20031"="1ipmlwgma06nd1rk4y38r40y01csq1myqavmpd1f3c53k1n0v42s";
-"dictsym.doc-20031"="0rljzx70rbvlcirxr2kf0fmrks6g04zc1mz5hzfkjcn6xivpawh3";
-"dingbat-1.0"="18yzigyd9s0c7qs34x1km0am9ii7xywvyd9miicbdr6s4bjrjdz2";
-"dingbat.doc-1.0"="0fxbmx6nz2ib6qfka1qsb9ky9r3xw5hvss532hn89yx40gb6qx5r";
-"dingbat.source-1.0"="130qj3fs12j3sj93xlnqxch9lgywgwk3qchlil72dgmh24kg6ij8";
-"domitian-1.0.1"="0rcyfp46ar0qd2jiir3vmwqmkcj8zrhnrivr0xsi7nf9xbl0xj1v";
-"domitian.doc-1.0.1"="0q7lbpc0lh2i6jw6dwr26d9kxpwqxcrv6szsqfk73h8bpv123ghz";
-"doublestroke-1.111"="1nfbbh7kid345jkcqdhh72q3fg2fh39fzchcbhfkvisvqmqs3cgp";
-"doublestroke.doc-1.111"="1vs6gkv9bzya3hnclqbwx44nf5s8vir0hs499dsya2q64qrmcp2p";
-"doulossil-0.1"="1lajwxs0i5971bvc2jmdi1ljpp3545hq9ckyrr93lrk0ghdv65qy";
-"doulossil.doc-0.1"="1wv1718k51wpbzrlxy8qm169q7brbx0gy7x0mil18a8ik53r7c6c";
-"dozenal-7.2"="10ghknq4nnyvly55mwcisb64cadb0afmsqjh8z026izs684rbsjr";
-"dozenal.doc-7.2"="01m1ljwbzmzq0hcj6p95rl4rrgnjrxlxnf72f49f725xhfsn57pb";
-"dozenal.source-7.2"="016lxqwf1cm7a7ny5znkgibpna1r13zw0cmzs3wk49zhqhkqmzvp";
-"drm-4.4"="0j0r5b2b6js88gy04d12w8wp14g7z9xcgc43y0ysn2xglcsja3fj";
-"drm.doc-4.4"="04i8mw2lsirvzf3n8xgddd2jr2s45fbg6m6wiwjdz4d2i1pi98cs";
-"drm.source-4.4"="0l3j52ypvsc8ma06a2z2dkqsa3vd7afqkmyrd6b3z6w3dgjlnz3v";
-"droid-3.2"="1fmm1k3sxdn2h6v56hqdn0l84rz1cgxmj586wd4ff41vfzbdnn5z";
-"droid.doc-3.2"="14inm79ljwnr36dz97356iz4257vbvkwmbbaq7wdza1yf07gijs6";
-"dsserif-1.01"="1ps8rvv1i9qn8ka8idfhbsb0frnrl35cp8kdimdwzk9hp86s1anv";
-"dsserif.doc-1.01"="0px6acw5p19sn1s69864lpdlciyr4p6bbd9r69kykq2xfb94dfgm";
-"dsserif.source-1.01"="0znglnigrb3fhxd3w7bb4b13hd3yycx4lj7w645j20c89hfnqx96";
-"duerer-20741"="1v6ja2q8bi0w0jkyl3j960gkvv2m5b7n9lg6ql9rxz7sfjcxa3ih";
-"duerer.doc-20741"="020q5ln31smf228xx27gbbw0xdcx9f5zh6qjriakxa9mhixksjjb";
-"duerer-latex-1.1"="1f23mz3nd7icknkz4dircn38y1k2k0pwq3r79ja4h85si6i13ynx";
-"duerer-latex.doc-1.1"="1arjf6dzzkvql0jhxg09f4yq9vgx7ag9l69csrindj8sksvj18f2";
-"dutchcal-1.0"="0j49mha6lif07hnfn2wdfl949kfal4hbmzg6zal4w5rgw366szrm";
-"dutchcal.doc-1.0"="110rbvidl53naa31ndgh6nx19i3rkawbipz9rpxyasqk61kvv6mi";
-"ean-20851"="19w54ch23s75mhn94hxf4nphl5dcz2w1jx138kr0phfzpc6fri36";
-"ean.doc-20851"="1rylr9m7jrv0qq6pzigpm73z34p9n80fg5rf7andmvv0fcpmggk7";
-"ebgaramond-54721"="1q2cshrq5lsm0vmhb30yg3pyc0dkpjxgl44ylxmp2b9ilak471nr";
-"ebgaramond.doc-54721"="173b7f7pbv3liwa22v29r122ckyhqms6zhklg2hna9ld61nnmf6a";
-"ebgaramond-maths-1.2"="1n8xfa9qmxsrpy78h98x95wks24fck3mykq5n8x0qasi4fabclnx";
-"ebgaramond-maths.doc-1.2"="1x4l9mi2cc1fx3qbis2ibshh5wlfn3sypxcrbcr9cwwhpkg07sqb";
-"ecc-15878"="0sa6f5dbq3p0nskxwy8namy7hckd9ihz4j440v06fyfk6wd2dxn8";
-"ecc.doc-15878"="0v95nvyv5ygfrwwr2mnaja7vxng3d5byglikkirympgqpkc59rv4";
-"eco-1.3"="0vp39dva31kjs4ckqdy49smhicq4599mqly7y9d9xfz6gly6z9zh";
-"eco.doc-1.3"="1wb866ilp8hmxndqys1lpw6zb3l1nyl583z06vh8nfys1hp0x0m7";
-"eco.source-1.3"="1j3ik11vjxc1dahd0p7jdcjjqq9i89fnd9514s1lq5499h8jg159";
-"eczar-0.1"="1hpwjxsr5n7f6zdc3ap00d9l4346yvavsy4wjicj41b1g7wl46v5";
-"eczar.doc-0.1"="1hvw36i6szhia91xq2y2jzkngy0aawxw5azpa77026byqm8mrs2i";
-"eiad-15878"="15l4wi5hfbx8lp91jddxwg073z0r42qf93kvrqv7bwhqisk36x2g";
-"eiad.doc-15878"="074iirkf7fzdxik5yq4jjk2p8c5k9jj8a6n178aw767j18h4n2n1";
-"eiad-ltx-1.0"="1ifiigww9nk6hw342qj1rxzl2b94f54cm4vvrpffxy9qggwkd2zx";
-"eiad-ltx.doc-1.0"="1h4cm5b0mllqflsgfcjdh97zn3nn3d9gwa55w5kyimmxgz516mng";
-"eiad-ltx.source-1.0"="1bpy6f6d81n95x81rgpz2r1vzg9gw04309shnx8a9jsx17fnm4nk";
-"ektype-tanka-0.2"="0qnkc2i6zxhx0i5mqx57qf7792ffg246yxcm14g1fa1nlryhdqwd";
-"ektype-tanka.doc-0.2"="1cmsd75pzv0bfr9y868cbpxx39ixs64pc2i8dsi6k90wfzq2bq55";
-"electrum-1.005-b"="0ckfb8xq10bx44zfdjy1p1hfcw18mlfli8zgjks81kfsgv7hzfxj";
-"electrum.doc-1.005-b"="12mq0mn56xi4h8dwnfnlhg0bn7qn6b6wxx20nqd73qgm0p1h945s";
-"electrum.source-1.005-b"="12ys4fdn1kyml62rcwpb424l86kspnzb5xq850ppbb82ng4146js";
-"elvish-15878"="0hz3cfydpm0sq6s2xp8q44k81xxhqm5mmrx5aqn5wzm0kr52pmsy";
-"elvish.doc-15878"="1zzzqgs30gbhy8ja13zq9b2s6mf1m47ms5rp33jc5xp70w5cjp45";
-"epigrafica-1.01"="1kawqgy9kbr535q1v84kk29q2fwhg6yzmgjd5i7dyg06cy0g6rci";
-"epigrafica.doc-1.01"="06ichmfivx1v2y67f5nxx02v75wzci6m3hhg87kc4qik61yp8lgw";
-"epsdice-2.1"="02i2fv7c0kxg9d96k8gwcvm56vd4rjkndc68k1x2wa19f1ymsmi4";
-"epsdice.doc-2.1"="1cxrwbnrfg161ddc707msjya678fvvmvgsrrigdzmqrngpi7vh61";
-"epsdice.source-2.1"="0nj3d8nqc8x41lmqmicqf67wc4wirg0q0djzi0nbk77g2m1qjs0l";
-"erewhon-1.115"="0fq96r0ka5dj0phvp4i3f0sjag9fzv51hp28mc0pslvgna9cna3x";
-"erewhon.doc-1.115"="1gg99y6lpr7xxi88jn6mgzkgdnyj96ka00pz725hspxrfj9460ns";
-"erewhon-math-0.45"="1bjqllw4nk2h2qv9mmc5va93mp356n9ibj06l114f6la81k1h7aw";
-"erewhon-math.doc-0.45"="1mxx4g97m1r4jn2j0315ajncvydly0sj9fwkdsxhnjcyh7jvbx8r";
-"esrelation-37236"="1gjwrnd63bb66vy7f74alxshcr5pqz8g8q178wkgyrm37xql6kni";
-"esrelation.doc-37236"="1nnwpgjy0mzc2h7sp2igqwain2nz6374qn4mjvj6g8x02lkc1hsa";
-"esrelation.source-37236"="0aqb63mzvx5hl178kmy6aawyv5ri8favficfjjmkpq3d4hgnrwl8";
-"esstix-1.0"="1qqs88wpabdx0y92md1w8klmk7ncbpm2jqmi0j5sj1c2cn82mp1a";
-"esstix.doc-1.0"="1zzbwvv8lbd27cxafj6qc5sml4r44ymrdvaqn2h966alzga9ify2";
-"esvect-1.3"="0fgcy91ypllj3i706znwwzri36ja2ca2inx838q08zbs8gqq4zah";
-"esvect.doc-1.3"="00xpfzzhyrh5p563faa7ks0vrrc08ndcpn72a72jmlhk8y8bn7sb";
-"esvect.source-1.3"="1han75c642d3qmr47ppn11f7q1lnz8lcwj3q39nh1f81vi2w6li8";
-"etbb-1.051"="0lblwfavj6awhbw75sn571gbjkmg91xrnf27xaizqlqgf4jj84js";
-"etbb.doc-1.051"="0chxvmpzkxgvik87dbw51lhd2cfq9wikny53sc2jcb4l7xr2bbzk";
-"eulervm-4.0"="1x0zgqw15r5z9mf4pcpnf1bdbwbpwbc49ij7gjrhf9jzzlkwraf8";
-"eulervm.doc-4.0"="1bbd7f4dz3xp7ylgpi2wh9jf8nz4z6i2cvphfx53xvg555ln5v1m";
-"eulervm.source-4.0"="1if22m5h8ma3bvrlp4jzzhjm410r5r7r2ij17prycj3cpj4r2nl7";
-"euxm-54074"="10dqknqlqrga9m2lgd74zx5hk4qcbkfvlzjgr304p94w3k7pclqc";
-"fbb-1.16"="101yfs3np0mlwgfhiz74jh2jngxnb395wkcm9fvpmrs4rp7wxx4l";
-"fbb.doc-1.16"="0b48vqwyhmygv70gsbiknmmysd8pz8m27pfj52zqzzb0kphibynl";
-"fdsymbol-0.8"="19kqkmjsi5kw5s6kkgf4y7nrwjhyd9pgq02y3f43wfdml9jwlvx1";
-"fdsymbol.doc-0.8"="0ddy5d074fjmkvl3pm4akqfq7d3f57y09cfmrs5wfgvvb51gfcvp";
-"fdsymbol.source-0.8"="18hiwralhdsp8sj8yr0c5pj4xmjaiyyha1y36sgca2xlacpw8ah3";
-"fetamont-43812"="08c8xjgam1fx3aa4ikx62jfh3f4bws0ngk428bqzbrd8q445c3jz";
-"fetamont.doc-43812"="1zlhg0wgchgkk6j8v23wd29hklpzb8q4p690pfswg3zakc0dcbgp";
-"fetamont.source-43812"="024bwgb36iz2ylwsfzz4wfgsyr9djdd0p23phadzmc8qzxqsslph";
-"feyn-0.4.1"="0pmj7cz0bdfrkx50mkndiidwcabndkvx6kr38yjwwamagi9mpjx1";
-"feyn.doc-0.4.1"="0hjnn0w34gv04xr4lg11699qiz3fj1m0lq3yn5688dnn8bxkdsgx";
-"feyn.source-0.4.1"="1azybd7v6jml6afrgzfmn6iac5hlx9d286hmkw4cw711id9qki2x";
-"fge-1.25"="1f6ibw87kbhpf3qxjh17jr1lsh9kk9ynf1rngzyjwbq2rk2id94f";
-"fge.doc-1.25"="1c8nnpdvkxcm6218mrs18ipjf9mrl1cqyvv3p31x41ii8wxkvjm3";
-"fge.source-1.25"="119d70668gw3za0mksr93wcq9gpzjn4gyv8vmizlabi0ip1ycgy8";
-"fira-4.3"="0g0ncn5f5r7l2z5qqbddawkdbgxhs0y8p73ai26608736hvdcgqk";
-"fira.doc-4.3"="01h0m3s6dywhx6pbbi1cckbcccz0d5lzy8pwyy67c8blzw5bj94w";
-"firamath-0.3.4"="1d9l5nsx0qswn1hcalzsrxkvc7mvpdqk3h72bfk50h91lfm2i567";
-"firamath.doc-0.3.4"="1w6zlskvs54x192nyxa83qnlqhvq98g64k5fv6ch406nkivifmgz";
-"firamath-otf-0.02a"="1mr9s4cmjflvvglq48nwxrnn4mnh27mh4j5y0sjyjhz5bwcs87pk";
-"firamath-otf.doc-0.02a"="05b5xzbcnb2g0sx5nzydvf0x29yiz5ssbzv178iz1ri74sk55lnf";
-"foekfont-15878"="1vb2j10j6ra47gyp5a7fpv3868b1rgk2w54w0cd8iczvshbzva88";
-"foekfont.doc-15878"="0yr9xzq9pxgaw14r6494162acj4yavyd7r123fabwf4dgj1xf46c";
-"fonetika-21326"="0fmhazwrjh427g0hz8br5b05ccxv523n1ar5ib9hp3ndqh6svpgs";
-"fonetika.doc-21326"="06mbkp04rwpb2jg6kbq2bxdsagbwl3vajzh0nbq5bfg9lgdv14l0";
-"fontawesome-4.6.3.2"="1s1lkmpmb9fj4qmdhll2mn1hz8xk89z9rwga5zqpjb9was4vrg1y";
-"fontawesome.doc-4.6.3.2"="19xjkzn9vgx2sgv5sypwcmwyx9f7rg4q58f913rjwrh8gvncv07m";
-"fontawesome5-5.13.0"="1hya456zi238bm0srhw9c6kkvxbav90w2nh7y2qq84b1fm702ljg";
-"fontawesome5.doc-5.13.0"="1864y6kn1f96fadjbwikf0wl3wqplczknj67gvnkcl7l3g61fmcj";
-"fontmfizz-43546"="1ccfywcywrrim1hk7g0kg0bljq034fh27qrr8w8ypcyjdnafkhxg";
-"fontmfizz.doc-43546"="1fcsrwbn8kiyw4032kkjg2668ax0kfcb6g4kzgp6bjcmqzy6q1zc";
-"fonts-churchslavonic-2.2"="1rqsbwbqfkd53yaxnmp17vygxd049livqj71c2cszzzqq8fsxpif";
-"fonts-churchslavonic.doc-2.2"="1zjd1v8kq1v1sf4wfqb13x8jz12wpkpydmvldjn8l1i5rn0d7d4k";
-"forum-56025"="1kjzmzjnxwmcrgbcs23kn8p4z2izp1sp7xjv7ya6kl0wbza6fsbb";
-"forum.doc-56025"="0x8z7k4xbi1skzz6nw2r4lsmv28aih3hm98bhpgv50q97dyzx3rk";
-"fourier-2.2"="1f5pj59r1wa4fsx2nnbx8dn9gi1hsjpcyxwbfb6mzrcji2lzqhpz";
-"fourier.doc-2.2"="0fjhgfg23g79rfhcwnvi3k2nsiqqr14mzdw497ppxbcmnlknj8ks";
-"fouriernc-29646"="1vv4whd3axfacbmm8nksdc37d5zras4gwa6ykgw1svplqgg3zjk3";
-"fouriernc.doc-29646"="128n1cnv9h1hr4s6bp3xs1v9p7skhxlfy8afslpay2bm0ixf0cs3";
-"frcursive-24559"="063909r7iga0cirxq8qx538407qly4p2a440xq7c603fmgcb8n6k";
-"frcursive.doc-24559"="147sa2wcixanwrhdh3ns8fg447zh5f42z8x0aw41xhk7pxncqrml";
-"frederika2016-1.000_2016_initial_release"="1pi2bhbxw9xg78w6d6k4l6p1qnm4nh6m8k3bn76kv4ascydc9hfg";
-"frederika2016.doc-1.000_2016_initial_release"="1vyy278j376swl2sjwxygqm6mi6s51aa6qypgpw3w2g5kpsqqxqb";
-"frimurer-1"="0d2534172sqpzg4zj2fz0k1qa2m627jzqdnpgcak4fxighvx1733";
-"frimurer.doc-1"="15g0293xz99w400l3rj99849va3swi2j8hcj522qiyzfcx5j7k74";
-"frimurer.source-1"="0qxpdybwz0rp748rqfs026jvps026sffq3c7zi7bdy8a34mqmgsb";
-"garamond-libre-1.4"="01q3jymj6npbip8n20ql4icr26ws8hz3nnd6mkcr5r5l5z0yd3bs";
-"garamond-libre.doc-1.4"="1lcpnra1rabi8xyvw7khky3fkdc6vq6i1ccjy3v7pl829q0fabhq";
-"garamond-math-52820"="14cfrwk0xqrs5ij0fkg0nb9lx6g5z8lbmacjw4h68s4zm2nhas6r";
-"garamond-math.doc-52820"="1bipgq1vh2si94hsylckq1jcmdn3j7c9pnf2ig7fpi41lylpc4kl";
-"genealogy-25112"="0w15jrd6aycdjh8qznvm549kzwl15v2zvs7awgk96380nzcsmhqf";
-"genealogy.doc-25112"="08fxhib7wydjbd3bf24kw6zbbz2sv6fhgmg4q2c1lgxddmm8mpzy";
-"gentium-tug-1.1.1"="1i6qxccddl61vlrfm1lvqaxy3yahqh9qd3zkinn93dmwdll4axgz";
-"gentium-tug.doc-1.1.1"="0b2xqhfl684k501ghwsk1pv328ywvxi4hzgg8lzysj1f4qx9vkb3";
-"gentium-tug.source-1.1.1"="1wwwjxi58yc1wfirvfhrpn1qaswz6w09ay2rnrx5x1q0xph5l5an";
-"gfsartemisia-1.0"="0b200snkvdkrywgn3j613zxyx16prqczw106hfh7pzpr7w717lyr";
-"gfsartemisia.doc-1.0"="03gi2v0vfcdar6qsp7xff9s5pd023i3kh4b8asxh9lah998qm3z7";
-"gfsbodoni-1.01"="00r9b46m6h4vac788vfz6jixrd4wbmscblhqi1pxhg76id33xdgd";
-"gfsbodoni.doc-1.01"="1s0lq3ac01zcaqyvswn12fxhvqarq2b3lni1xza3yyk2p6y95g1s";
-"gfscomplutum-1.0"="02c0zs2xl2hy5wrrj25w22q1fj6q8w4qjbvlpx05pzzh3y63n3ip";
-"gfscomplutum.doc-1.0"="0h9i4v3sag4fmvlnkk0wjxmgsq4kbiikzv0rzfrhzfwaifpznkcf";
-"gfsdidot-54080"="1ks352cxsapibfm3y4rnw3k7izkjzpdc5fd2faq314qh5cpjhyy5";
-"gfsdidot.doc-54080"="0nhjndir8y8s9lpnad05h2crc41la5hqg8ml1rm0j5mn6jwgznwl";
-"gfsdidotclassic-001.001"="03p2w06s9kca35jdby74q4x8if5gs39gb387rjgqbv3vdn7zxi4s";
-"gfsdidotclassic.doc-001.001"="0qnkxqr8r9spg3xl2ifr2sb32hbvmka979c4f8aw4z1i810bs0kx";
-"gfsneohellenic-54080"="1374w2w8vjhyd6ya2jws86fbvzs3wz4v7nyfhj28lijf9d5y86gg";
-"gfsneohellenic.doc-54080"="1pi2k0yks1f15y17hx7q3w36y4z93pwv071ibmgmqmnmk16ymd4b";
-"gfsneohellenicmath-1.0.1"="1f3pls8cpix7yzc9r6fi8kha26mq89sm6wmiamm4r238srwrwhi7";
-"gfsneohellenicmath.doc-1.0.1"="13v53xs4znh9zhywh443rlmi56596yrw665032lp7kh03rmd8sf1";
-"gfssolomos-1.0"="1hn8k9majggqcis32nw2krnqpqdgy3y0dk777i8fqn28517ygxcx";
-"gfssolomos.doc-1.0"="01cw6sq180cjjzwgi7p2qr9pf6rq0r5zmnb39bch2g0n0rjxqwgl";
-"gillcm-1.1"="11aph8kbrsjl4ax5hbpirsgc4aznj0nkk76v1ax6d52f8bxjsgjx";
-"gillcm.doc-1.1"="1qbhq72bip77lsa5pk05g676c08wc0y1ix3c2iw1h5g5fk20i5y9";
-"gillius-32068"="1i2awm02frznjssniqjplhy6wp0jaw8f6y58a5hwyz2gh754hsw6";
-"gillius.doc-32068"="0x8qr4lw81qlyz0w14hc8s88ihm8ax13cw1av53gl1vkax421mrg";
-"gnu-freefont-29349"="1gq5dcbc92cxvlqddspc9m8v5biyafgvjc1k7fy8z31vll6wnfzi";
-"gnu-freefont.doc-29349"="0czpqlipbwnqsh5hp6yaq4ypqzipm0xfsvrfc36pri0d2hb77clb";
-"gnu-freefont.source-29349"="1cmd2p7krwhkg1f8xf0y4z2ik9g0pjc0qgi3c5van9zva0bn84k2";
-"gofonts-54512"="0sashibrwwfhd4f103qhc5w0z9bz0q3cqm22cvqp7mjqp4jrs1nj";
-"gofonts.doc-54512"="0j5ncdvzg0dr0jpqx9m3iyx14jdjazwn7xb1in5ivcd20s2bn4l2";
-"gothic-49869"="0kgzx9qh17hcm33bx8r6wh3c9j6d8v0xs4fhi3w5vwmmlmyv9dni";
-"gothic.doc-49869"="111pz7iz7zckzsdjaxz6p7chp98144727vh9b3y8v2yqfz06vzid";
-"gothic.source-49869"="1r61rnird0n9iz9kg5ky4b602wmvsyg1y94h6az314ax7zdccm23";
-"greenpoint-15878"="0l27vvxzyiar7y1x1a3hk0sswfazi356wsbnx86dp8l766qcc3d6";
-"greenpoint.doc-15878"="0zlrfv2y5ixhyqyr5hxycalg6bygvw1f6bfaxqdpakwiz7k3zabd";
-"grotesq-35859"="0f3nmf0flj20xaxz8g73zp0qcm78yvqx1idyawrarpz3q7zdvqfq";
-"grotesq.doc-35859"="05fy8hg21wq7z2zfsbyjszamif7ixk8aj5bbjsjinyxzfkdack3m";
-"gudea-0.0.1"="00565sv65b64h18cib0hbxh73ylg07lk7wxl9l9gvdczdz7a4xk6";
-"gudea.doc-0.0.1"="0rk9g6kcb8wjhf6is5wcbrr95hv7ahwl9xa9vqnfq6m1yy1bah13";
-"hacm-0.1"="05layzjb8ngwmqvg49abdi55j9gl1l74sm5baipm0yi0k1kr8xy0";
-"hacm.doc-0.1"="1d1znq8r384b4xpc9f81023asq6yrkbvyif70wjn7h64x1wpnnn0";
-"hands-13293"="0x0vdn7hq6k7wr7yxn8pnkvjhjq3mfl781ijrs2mpvjqygqffzag";
-"heuristica-1.092"="1sxpr7f4s5a1q2r76r7rj43drsmljmd32wxwgwj1x97a5k7x3jxf";
-"heuristica.doc-1.092"="1ws9r2hhcqdgcdplhgvwhhl7c834i4rkk0xrsf14c3gwxg0x1ip6";
-"hfbright-29349"="0qwwr02q170q29rlq7fw61888k1pm867vgj70ijckivibl0j2snp";
-"hfbright.doc-29349"="19zdznha8bfwqfyrhq18ad7ri8nd240hjs9kslswg70xfrync877";
-"hfoldsty-1.15"="0ar4swzfczqafanfzhwyw7kx765w743r1davbypc7lglcxwjw5y4";
-"hfoldsty.doc-1.15"="0f9gcdi8wqq5g3camccbdzfyjppyqbvvv0z10grazq463lv83jq7";
-"hfoldsty.source-1.15"="1prpbq8833njsmqanxzf25136g46i2yb4bqpvlps52294pjh0l0s";
-"hindmadurai-0.0.1"="1z3590pi02n90hwsjmihxk957hcqgc3kry3cdwpwaci43hxcvp2m";
-"hindmadurai.doc-0.0.1"="0zws4bzz6fkhxnpsjxj15wwnvbd6rhxqilabzzvm43lv0y21hvlx";
-"ibarra-55820"="0swgfxfgbqxv6vjan8dgh3v3n9164xn144wprblhy6ka00xd3h0i";
-"ibarra.doc-55820"="0ca0p2r4rhk4yqpw68fjs8ci3r31qxnv930jr89xv6ly05b7vs5j";
-"ifsym-24868"="1bs3974l1jdv0b2wwa94861hnb05kb69bsyhvsgh6k9xgmgwfrla";
-"ifsym.doc-24868"="11k9jfqrfmshwpmni6bm0324zj7c939k6shvi2l69k4w0kx6phlb";
-"imfellenglish-38547"="08x5z9s9mc2zq6la6dls3g37b2wn24ihplzhpz6207sczg1cz6vd";
-"imfellenglish.doc-38547"="0s6vzdh5amsyb0anw7m61m3wlan8skglh84a678ha5h7rs0qfqfr";
-"inconsolata-1.121"="1mbf4m3ll3r4nhxnmd3ridq7kdqlcjcm3g2q2s6qxgn4b6j9ikvn";
-"inconsolata.doc-1.121"="1rh7kisvs33v91r19lnqgma705dc3gari0g153ws8bd1px3ivsdm";
-"initials-54080"="13d5pvc2q6xc0i8nbjpifn5xyn7wzln7gng98nnpjxhk5y67bcz9";
-"initials.doc-54080"="0676gq5dx4pqs6c0z7i48gi53mlapplmms8s66qwpdq1aksswdcq";
-"inriafonts-1.0"="0kbf9rvrml10qk5pckz21ag217wimqhdxjfk35ll0a17hc9yzj68";
-"inriafonts.doc-1.0"="1hbhfhmnjya1cmj1wzhvbny7maw9m2dr7sv74g2ka6gnl1n4rx1x";
-"inter-57213"="03fjlav3f0ydw3hy01mwg67klxlny2cj7746vh456v8hx8py0zi6";
-"inter.doc-57213"="051bvp87905b9764q9wv42lfpkn8pgsygkgxzyrx3p34dvi0r4ix";
-"ipaex-type1-0.5"="094z08ygcklbk7nzklfmdz3lfmicrr40i0wzxmia93v1vpsjb4gh";
-"ipaex-type1.doc-0.5"="0946rj1bh2hi0779ss6d003wi4xcb79i9p432jkry07xkr3fpy7d";
-"iwona-0.995b"="1gf8kmpmp2cjz5sg0lx8j0kr67a5xshjkghpiy70jnaz7k8fbrgb";
-"iwona.doc-0.995b"="1skk4p2pblh8h37rz2pjx18h8pgbagvr9w8h9d83299byvjggpi3";
-"jablantile-16364"="07f298cfha42q2d12xihaqkga2iv1id2wa5ph8a61z6ckhchzz69";
-"jablantile.doc-16364"="1lp90rbrji8nld0wzry2nn0m2zb2nrqnqyy85p9sh9rmrplhj8f5";
-"jamtimes-1.12"="1sn588j6v6gxfgk31r861s7cpfk2ir7ip75hm31rxi8s8hv8s7s7";
-"jamtimes.doc-1.12"="1n91f0b0bjwbkm1rq5w2vwy6wlaizlp7qb8pxm2wn08b5a825hvs";
-"josefin-57152"="01l57ps37gpy0zriq62b0z897hxwajfvxc0c9npk3i0y5sqa0j6m";
-"josefin.doc-57152"="1k3g8ani121fbr6n9ql2gbrym3a5k7vhac2zz21kf5rxwdyvk19v";
-"junicode-1.0.2"="05prh0zpnp9llpd1hgpisdad2na8q4qpvsbxg3lcldvs3s61ndnr";
-"junicode.doc-1.0.2"="17z7wdsyrc3pxjqpl361ijfp9zj50g3j66q4sjddg21p1dmcqmi4";
-"kixfont-18488"="02zwdm6zja38n41pvzay09f38cam28rr9ag6yy1m5kmw8421xp11";
-"kixfont.doc-18488"="1dvv4hdgkzmdn7waq4djsgdd8p1cwq3j0bddgxq2y94pq64maq0q";
-"kpfonts-3.33"="08fid7im3qbhcn3lshcm439xbh7m39ic30s9xgh3x46a5rvfxn4g";
-"kpfonts.doc-3.33"="17byn04jy585vy3l61r8xfxcz5y7c3qf90z4kpp8fadbjy8ax7a7";
-"kpfonts.source-3.33"="0agjd63ryjbrhq9iq9k0avqjfm98c6p3ds8j6bc7mv69sd57vxh4";
-"kpfonts-otf-0.35"="0b3g68jhdh4387z00klr613hhp6wzxhihn4q4mi9khkpq9gh4yq2";
-"kpfonts-otf.doc-0.35"="0ixaiwdkc7yj2r1s5s6606lrr1kkicqnxva66562lmyw1w4cmxfh";
-"kurier-0.995b"="0x9270xgsk28i5dxp29r0awf72l5p0786mbx7gb5d4vppkf0v9gx";
-"kurier.doc-0.995b"="1d3lfxixhcrkk94m7ljfcb90yvdwjbp2axjnpr2bbh32xv9zzsnk";
-"lato-3.3"="1w70dgmvcwm9jff2ap7s78qgqs9ip4a6dx5wz8iyd7hn2mwf1v80";
-"lato.doc-3.3"="1fj4n1y16x7hxyd63myk902iwm6lr074rkdybv03qwxl12p9ykxs";
-"lexend-1.1.0.70"="1lqqn007dpp24jcgpn9fdf7ysb99lgrz9zxjw27qm2439wrzhc1w";
-"lexend.doc-1.1.0.70"="1h7s17x7grhdb1hxxg6wql3pwy1w08iywpynymrqn8748s93yy4m";
-"lfb-1.0"="080305sym5mppkmgvpxw3ddn51c7gh07b5b9vs2qsikv616077ml";
-"lfb.doc-1.0"="1a5y79xx9fw1mcinbkj7wv4gmvb2gmlm7sbnxc07603dc0lrhjww";
-"libertine-5.3.0"="0gq2gg3xw6k47s0gcl6gv3kdw98d87k85k8qimpvr8zg7crkrzr7";
-"libertine.doc-5.3.0"="0pqkaz9izdmc22q83ldm637bi4g02s70di8wm7cg15z64cd7aq53";
-"fontaxes-1.0e"="1xm9a33imgfsj1r6ky6c02ir857ccv5llqgjyfh2rlvk9xprmcjx";
-"fontaxes.doc-1.0e"="135xhw9vda8l3cc76ja8akfj33wfmmys9wf2f1j5n1p742zj0g3s";
-"fontaxes.source-1.0e"="0mq9rmi02p8lnkg0a8s1bi7rn34dg82n9cqr14sjrhqfvpl3hzr3";
-"mweights-53520"="1i4jp9yy9yy1miyzcq25nwm4zqd3936v4mi2acv4g1rgzvai86vs";
-"mweights.doc-53520"="11114i98f0qscg9796df1vwkf2m6ycbaimk4qfwv47mrxhvwq5qg";
-"xkeyval-2.8"="09db1yisjxlw2ck3ypjzilgc1g2qlrfk99wkgfagx4k1cb1fn1r9";
-"xkeyval.doc-2.8"="167wjc2qmna55lca5gsbbnagdm5g8f15hn6kf39vxk9h0i7jvl56";
-"xkeyval.source-2.8"="1qs4lnkiafxm7likx3pxrfxkdgi6cz8pqlv7b2rwvyrz4kbixj2z";
-"libertinegc-1.01"="14fdpxgsmq9dhgl2065rdsp0fnh9h0xcr0jzg4k5gka9irazxrzx";
-"libertinegc.doc-1.01"="0isvl0ghjji427p1fd1w0yy04c6zjmp058k5gkpsa3xkhq3ijvv0";
-"libertinus-0.02"="00f4wjqqz4hqh2ic8g162mnn95s0p2v1qshbm0zrnzjy2gr51hi6";
-"libertinus.doc-0.02"="0zkv3fgkirq6jcz7ywb1sjnnw8vfwfgd3y41lm4ds547ra8zp2q6";
-"libertinus-fonts-7.040"="0izp1qihx1arqkgbdp18ks0xz7jlyd5cc4r3d5nhdnpph1nry9r7";
-"libertinus-fonts.doc-7.040"="1zn6nlpr95syxmijr7w0cljq21qfv09b2rp8j6n0rvyzm50gc4fg";
-"libertinus-otf-0.28"="1wh5wwf0p2halvh4vyg4iqrxnz9z8zfm08pa3pn9iv0m0g9yv7zl";
-"libertinus-otf.doc-0.28"="1r52ijg0rvhk15hd3i74csdmmclid4hj6v6a0436g84510879jfh";
-"libertinus-type1-57754"="1xy94cck1rhid4a06n3kygy047xwlw5l17mj40n92dg188azfxkc";
-"libertinus-type1.doc-57754"="0fkn8p60m8761mcm3wa3nggag4h9rq0df1bdndafqazwvwnfc9m1";
-"libertinust1math-1.2.2"="12ghc0ap5n6yfb9jj8lsx93khc0ry4c87frpv2n2qs5vz1qddk03";
-"libertinust1math.doc-1.2.2"="0y0vnjhw0a8xwhgmrp917wf3r8b4vm4s59nldmnmjqj8l0yar6rw";
-"librebaskerville-56018"="1xv6f8bw0ygvwjlxcr0pciz6gamw8xvaqrryj87jqhl9phm12y33";
-"librebaskerville.doc-56018"="1331px6bv7zz8ijq8l368r6jml3rm4f81mrpw0hj93x90asa2fhy";
-"librebodoni-39375"="143ccap2ah0akw3gznf99bcw8dri83vrh1fsgzwmw3qdvqg73ynk";
-"librebodoni.doc-39375"="1wigr8r4z4a0cy8m2psz79fdm4dxpj4ara1am8zdvi5rb0nga4as";
-"librecaslon-56003"="1rla3bnpr548phkcq98h57bj57pk6x59dhpjcadrybhjg02hgx79";
-"librecaslon.doc-56003"="1y1rkqwpjbd7kq14zm8n6z9f37ybvy2g51axfkfx5q1cqc4cx8ml";
-"librefranklin-54512"="1p5nc0vbrrv4ak42hm6h8wi8nn4m9sfrbppxyry5dsx7bpilkndy";
-"librefranklin.doc-54512"="1wkvgzymak63ldng757vibkylzvg10jv0gs6qyzcv83psxwch4xs";
-"libris-1.007"="0nprmwx67zbq7xhjbb4xiw5da3i0k958zvb3z32s71jdd6psnphr";
-"libris.doc-1.007"="1vg5jgllfxh3rdqjvgmzn6ak887ar7a4kc1k5cwwwgmgdsfam1zl";
-"libris.source-1.007"="1dfm4q73p8q8bgn33z025sgna1jq428d5dvmfagjjwc7sjd93ncb";
-"linearA-15878"="18dvv5vnzbpl9aavz6z9ybwds2plr6k5s57z9xiqw14482bdv1ih";
-"linearA.doc-15878"="1lksqvncx3n3bab7hhk47fxnwy1bgfbz998j1v1zf1zq0lb3dnh3";
-"linearA.source-15878"="0ayv5d7sb8ilc7si05a4bdwv06fkc4s80dsr7lggg47n4dvl75fr";
-"linguisticspro-54512"="1xqjb65ny71bq6i3vv7xarm8i7mnmfxkzjd1dnl5sxlfcrlfq3zg";
-"linguisticspro.doc-54512"="1y0fy78msvgkssbp612gmcdaz8mb11nv87hgwg0iqp2wpc4jrh99";
-"lobster2-56019"="01a5kxpnqkr9zghg3pybm4nzhqyhpw5qj566viqj7hz2cwyx7rw1";
-"lobster2.doc-56019"="066zv0ln2288smhmcgj66mdl86a2apmx4l6sdz8ag2z920y2bh3f";
-"logix-1.08"="0yyc9rir63lnnfppgw688rpvw0z4sf9nmm9blvv1praks83cnhzj";
-"logix.doc-1.08"="0ivym2xs8725sm2w65ryf0ymk37l3j2q6sm8slv9af7s5plkj4db";
-"lxfonts-2.0b"="1hl703cxwldq4ams7044m02bmnvm8vkym7xyz9cb8xkaqfyqp8cp";
-"lxfonts.doc-2.0b"="1lfrcfpn9a260bx47nw6msvksjzqjqms5d31nprc800wk2vb8sf6";
-"lxfonts.source-2.0b"="17j1kys5hrvkymba91kp8f1kq5vshc8blv5pm0m6yk6p4kdnfkyh";
-"ly1-47848"="00c2i2adn86dlgmi94ar26nba8kjrsclgzmf7hdmgr01y6hr8mp9";
-"ly1.doc-47848"="1lmy309am46cc0ryx6yr5jri9sqn364czgpjwzrcg06ykjwsx9y5";
-"magra-0.0.1"="02zwkxc94lzi5wf29wws8ia863ljq9bq9swkh8k8318v5z4dv5ig";
-"magra.doc-0.0.1"="0q6ss5ff86ckqyv8l2iy6mrrigzz7yavizqcy3w5s6jhjadz5v69";
-"marcellus-56016"="06xn7rc0qx13g188jp2y7wb9jr69x9k52y8ljxrqidfc1bxsyh30";
-"marcellus.doc-56016"="129f6m3nxszvgpg10p6qyxir9y1wyj0y4q6p6848dnhm8bjqqhsz";
-"mathabx-15878"="0x0amwdxr6mh6j1m1q6wawljzjf1683xp1fxfqyxmsk0spx032mn";
-"mathabx.doc-15878"="107fimmxvfmdjdi1rlk0h0m88q1dbc9q1qwqhx1fwfjwdn62kvsi";
-"mathabx-type1-21129"="026pnrn2y7zrl8qfhjv504bjk114z6kd6ich2ic97l5f3lhl9nj2";
-"mathabx-type1.doc-21129"="172dhvsqql6fk2hfqcw19bxsqwqjfd7376a5wwzcvdgvx44s294v";
-"mathdesign-2.31"="0jd7xfwavfn4dsss35splcxrqj6qwk18jw7qgkwshpifp7m79l2v";
-"mathdesign.doc-2.31"="02fsi2hinjfcf4pb0r1d0r82s50734srpkk0i9c566zx3m52v2vf";
-"mdputu-1.2"="1ihwhdcmk3gd081yn4wimg7yadvxkygybr3bypqrvllwa92lay3j";
-"mdputu.doc-1.2"="1hsd74svpxxmjps3fng679hq7dm35mz9glcwwhk1carzafmm2ppm";
-"mdsymbol-0.5"="1rckczggrdd977n7dr223zfvp7dl683p7d6wfija8ln4d1ll3lz8";
-"mdsymbol.doc-0.5"="0v8d92kpka138yzy4a8hg5yf6zrz267hhsakpm2f0bamdzqkp4kc";
-"mdsymbol.source-0.5"="0xh9d4xpdyacmb3kxmqh71qfx0b5qbrgxrw3fj2nh2rzh35smsy8";
-"merriweather-56365"="1rligpcik7vjvzwv5m9j6ws28f6bh1nxmbsc96f5hrh3b9fmw33h";
-"merriweather.doc-56365"="177al50mr35l1i9fqr0wivjkhd3idqsh4wqkpwkgj1q44v4vq7af";
-"miama-1.1"="0138r1yrv1880nmcpgcgb80nzd29xchm09s8wxb53j71q0vvdswh";
-"miama.doc-1.1"="0dd32q8clxgkd7cdk0699fzplnib4waydx9y9i33lxxwjkfnfsbl";
-"miama.source-1.1"="14d7ryxz6q17jn94wlj5vf2hzif6i08yjbxh5z7pdcgrnl035gxj";
-"mintspirit-32069"="1qapq7j9vf8pmnhdn16c51r5spcssx1vchlfqffcqapbja6fx5vl";
-"mintspirit.doc-32069"="1qqcw9zq18y5pgnrc8mks78s2qws9dz39wixj1hf7c55ryhd6aak";
-"missaali-2.0"="13y2dm6phd9c77j3rajvz4qma2h2k4nwhb520j3mm98bgmbkphf7";
-"missaali.doc-2.0"="16487s0ijkk6va22rhhyhxdqik863n1i25p0f67gcb8xp1s5l1wk";
-"mlmodern-1.2"="16f5cpczawzx4p44svpzy205l9m9g06w8r0554cgdpqdbwr139fx";
-"mlmodern.doc-1.2"="1rqb0g16wj7jg65xm0rk68cfz9r00zwy4r73wbkn0fqrchg08yn8";
-"mnsymbol-1.4"="08b0ypa29zkbch5isk39bbakg76yp5g7w4caahphdljkqy4k27zd";
-"mnsymbol.doc-1.4"="0pv7717qcjd5ps6vnlmxk1bqvkhi9lx6j92i6ggnak8i1izd75fw";
-"mnsymbol.source-1.4"="15ksx2lxxyklg4dcckm82hysin9r2v7pa3v8gjns4wabj4hx7v4m";
-"montserrat-1.03"="1blgdkfjjjhzk41myfp7bb7x5wf3arwapas4mm1770d46nab1wwr";
-"montserrat.doc-1.03"="0blk6jxz1xrascrdalssqd9pdrvpai3k9bqbvgkyngqhp4rzndv9";
-"mpfonts-54512"="1z5ws1kr5s07xwcs39w049yvhfwadybjxb32kf9qd8818pgd4zkc";
-"mpfonts.doc-54512"="1hjy2jqm8mlrwiipl4f1rp10nya3zcy2vsyibhs7f280h4zhdwxz";
-"newcomputermodern-3.02"="1vwbvr7ywbc1fjj9wmjva1h8fxaixklzwcks5d9fzpd2825i3mpq";
-"newcomputermodern.doc-3.02"="0x94jcrwvg0jj8mi4j4xms2jgig651kk0yj9r1gpkwbwyhkwqkf2";
-"newpx-1.414"="1l8l65fdc474xdphldqvllcx1w0a22fsbgpnjvliyjwwh4xb233f";
-"newpx.doc-1.414"="1b6pm2ngc3a47sa4xwjmvf911562sdsmkr0j569rr1kl7d0xkz26";
-"newtx-1.642"="16d93k8xzvkam7apcbq2fpxccym5pgnjm1kjz7d7khwc221jh48w";
-"newtx.doc-1.642"="0gk3zhiga878qc6gf9p61d8fli7hh9mrrdmbf70fc7rzxy72s6yw";
-"kastrup-15878"="139ynj6jr5iniwg4ry57b61bpalchwmk2lvxpzi6rzhp42ifv1j1";
-"kastrup.doc-15878"="1bzjky4plcl24fg5rwbjizixwfn7nkbzb6wwydxd7s2053zba07a";
-"kastrup.source-15878"="1c4ijjifc4lwimzrhp7ym5804fz5afmccn4bnfayypmjqpc8x6jw";
-"newtxsf-1.053"="1dw182jxwcmbg2qzv49w27lm5d639iiv0ms2qxigjiwakw714yz0";
-"newtxsf.doc-1.053"="1xk4n0hwg7hgzqzh03as1bayqx58rs2sa7d58xn0wd514blz71lm";
-"newtxtt-1.056"="1rydma1iqcb7k8ihyhpgdbrq4vpsy2dwyij2pr5p3bbmsc60kc42";
-"newtxtt.doc-1.056"="12mvwqmpb1hyn3l98z74qhyqzkinzw4q4f4q0mx1z586238q4klj";
-"niceframe-type1-44671"="0lcah795iqxkmdkr46gk76fypawz1mwiw3nxvgvbx9wrsdfccxy0";
-"niceframe-type1.doc-44671"="0prjzgj1fg71kf38asq8622l6yjvn1pn6am1nxkwrpfmn3bmn76n";
-"nimbus15-1.013"="0w94j8wh65aprww4vsk4q56g6ra8rhbhbpdw5zhhs24i4vrgl1x1";
-"nimbus15.doc-1.013"="0b96wcvh8kgiyxlhzdgpwrh59hmxkmhkpjgiwwxi9f251cp0iq5r";
-"fontools-58747"="1wjf1zjlk33avhvh3mlws1ni3kfq80hkvlclj0w2qc432hy5b0wv";
-"fontools.doc-58747"="003yajraa1bpvxqy0n09hy1rfjn6an01jl05alabkglra2hqwcrx";
-"nkarta-0.2"="0mhi640hsr7dy7jbvkqq2yl224i9ialf01jkcma0cq527nvrnm3f";
-"nkarta.doc-0.2"="0bqix170zf7lgiv11v4mqyq3iva707zv91z154bi71cvnlknbkns";
-"nkarta.source-0.2"="0f6m2wz1cd99s4nxppzdq9jm1hg02xzswgm85dmi18jffgrd2chp";
-"noto-54512"="176cz2x9aizx2wf70zzbb1b9im0xvmkm42zi7n4h2l7kknlig743";
-"noto.doc-54512"="148kbjzwhmkghdlqzj2vww02z73rbr5rpbcr3yryggn3nlf6y3wq";
-"noto-emoji-2019-11-19-unicode12"="08wv3k0gkhd9mb8b3l2p4ag0wvjj0f8iraf1wnfc6i1757h40i14";
-"noto-emoji.doc-2019-11-19-unicode12"="19iwbi47c1vr3jhffqvdsg5ymq2w9ks1n52lap78bp32akipjpaq";
-"notomath-1.02"="1ky2wk10mpbhjpqcsagm6sydkb5n8czpryfs32xf6w64nzy5hivh";
-"notomath.doc-1.02"="1wjnrksgn1qmalqq1c11wdlpwq34hw8zx07cyi2jw26qvyh9fpdf";
-"nunito-0.0.1"="08hnxivx7ixmvp7l6kxfr0vxy7c78i9jqkam0xxg5mkxs9ip481k";
-"nunito.doc-0.0.1"="0xhv3rws4kp5s4q4c10ykkf3yyl9i9ndxjavjx9xxxwm1iap9m3f";
-"obnov-0.11"="14cz2rqp4sf4f880d49yhvqjkzm5aw91cdijmqwf283cqgzhdmlf";
-"obnov.doc-0.11"="0k20zh42vcm449dh662frdmspmycx0mi81ml8qkvnncy8h40jxr8";
-"ocherokee-25689"="1xhb9y2m6sahkqlng98f9rqi94hrj66594zqdd2sv82902vfgl9p";
-"ocherokee.doc-25689"="1fqjs1zwf9rgdzzc0wk39y3jcn150ssh6yvda4jfyqg3sv17wwgg";
-"ocr-b-20852"="0y62xmxbw7573fwvfr69r7bhfcywvhcb4mg7am5c3j96ipq5vqzh";
-"ocr-b.doc-20852"="13r2chskacbnfawlc9xwskrl8lqj3dx8gzzpyjjk09rx1g5q9gc1";
-"ocr-b-outline-20969"="11lv3dba2g8mrnfh1y6agg8ipivhnppd3s7gqljlpdbdbk40zbyn";
-"ocr-b-outline.doc-20969"="0017l87j9g42cjy1ki2xksh6xq0hl3rsxcrdyrddvvxp520p02x4";
-"ocr-b-outline.source-20969"="0yn2mcwj73mazk503f13qmfy2bqkq0gz264ckr33bc88f1i1518b";
-"ogham-24876"="0hl3xjmd2bagcn2wnmr2rs1hzmgvm421rkdaimplzdnwj0r64j49";
-"ogham.doc-24876"="0phm6xdxl1a6nh6g17nyz6p7f2ymll39k42588dzw45z7zwan40i";
-"oinuit-28668"="1wr3r06hbxrc0v9cwyp7ad6jimw05x3yn6vqpnzchk5l0ixnlkaf";
-"oinuit.doc-28668"="1919kmp5sxd9q49m6dd8zrnjx0cqgav1i87gag1rffd5hz9w4fys";
-"oinuit.source-28668"="1mymvxv4721nhmfdlbl9bgc76dainzykggf93jx6xfwlld0krgis";
-"old-arrows-2.0"="1immbai327l7vkq67nz6mcnyqmx3ajg3blrhbmffkbl92482bv4d";
-"old-arrows.doc-2.0"="01kdfgiqp5n74lipiviv2alzallba37gyzfp1sqrvwwvrp3a3z63";
-"oldlatin-1.00"="0cxpm5qvbn0a643x2h4dc0pf00kqqk1z540j6dp7mbiwv48qqzdb";
-"oldlatin.doc-1.00"="1my5h8wq241dm3d6czb1spznrxmrclwgn8i391pwmc11z2ijqgjk";
-"oldstandard-2.6"="0pzn7g28sgidxiaapd4zl8pb8brr6djvvs70vhbi7902pbvc0bf5";
-"oldstandard.doc-2.6"="1cy73ycz7dbmbl8c6m8hs5nigvi30dkjz0nwwkqqqwa6gyjz6dw3";
-"opensans-2.2"="0xj7v9lv1ni7mq175l29a039a2ifmdsy1wnv1h0gfni5c34knm1w";
-"opensans.doc-2.2"="178pa2kjvp15la857iblh9qc195z3byd1wxxyn7c5bzmndvypgxn";
-"orkhun-15878"="0x78b5d70cxy7binl5iq2jwgsjh9rzs87wc8ib18jxscqick5jgk";
-"orkhun.doc-15878"="0q9hwwf80hq6wffyvd26kq2053vs5czly9zlsclh93hsmzg3vj9g";
-"oswald-57253"="1nl8lrvxxjwhmavycz25znzff1qsv4br83w661fplzp5nqy2xmh1";
-"oswald.doc-57253"="03jhmikwzb86xrm01vsx1an0bcrkpcy8m0ivy1nkc5gjq94zilzr";
-"overlock-56079"="1p0r7sviizbc2kraq4a0k92hrzyjq5qijacfddpj3fhf0sx340ij";
-"overlock.doc-56079"="0zg9lqn4853sd5829v4wf8c8n3nyac0l9xsd4bg6mx6zwm4jbw7z";
-"pacioli-24947"="1fc15ygzkdbv5mykgrmzb6filkl3aipk7i9k1syh2ssr37ldxcjz";
-"pacioli.doc-24947"="0pknnd02q244pxyc2vapdx04adz7gwf41swda2xi3039x82pm8fd";
-"pacioli.source-24947"="0zl6l5yc7v5w1xjd83prvfmy8jf3jyblallphyglgb4vkqq6mxxr";
-"paratype-32859"="1cwcw13xdarisjslsp8aayb984fk4qhx1ihg887fzli0wn7kpvvr";
-"paratype.doc-32859"="0kz4nzz3v6a4qk2svgqyx02j0pni92qpm5agb6k0vwylmvx6yyzi";
-"phaistos-1.0"="064gh7pwrsp37dxvjfiar9bl1i30a1kngirgywndss8xmrvqin9m";
-"phaistos.doc-1.0"="01wd0636h2xs465rypc5q7saxhind14krmk9dp9rqc9129k7rc0q";
-"phaistos.source-1.0"="0l6nmd3v9x3j8if5aryak2kh42zza0g73plwv6im6hpxkhhb21jf";
-"phonetic-56468"="1cd8x4qajx3896a1bzyhnrhkg8j73lffri0fzks5h8s27jlnl6al";
-"phonetic.doc-56468"="01hnb97dwbd7g4lflb9kz3w0vhnk5nzni31sfiqbg35lypa0pbwl";
-"pigpen-0.2"="0zd90dp5bx1l5d5ka8lzx83yprl1anh7r4qc0laa455dix3swfq7";
-"pigpen.doc-0.2"="0z0a78akxkigpw7289692sr3z8g2vnyc6hwcznn2963vmsrayv6c";
-"playfair-56005"="1zsvd8mczjg8az9gp7srpq6nwr3gkr1v2xl9d9zjdnczwhjmyqjx";
-"playfair.doc-56005"="0wjzinx1akf83i60ayj8riw2isara4319pikj52naq8d155npj3a";
-"plex-54512"="1c932nw4v39wnzdxjlvicg5pllyjxgwpdg44kc9dw7jv313ph2c0";
-"plex.doc-54512"="1f6vdcqbxmpz5kzkxnj75g4jjhgizqrjzcz2g1j1z1yd78k0bh2v";
-"plex-otf-0.07a"="1xlckvvrv9j03gzg7b4jw2ff8zpp8qi1996xlm6ixxj6kiipk9c9";
-"plex-otf.doc-0.07a"="16yr6amxalcsjnkphfwyn140k7q1lgbnch6w5iv1b106q2wqxx69";
-"plimsoll-1"="0x39p7fhfyxnz95g44ci8xdiwiq0w2n7z3vq2vm26l9ia9q9m6d6";
-"plimsoll.doc-1"="0rjjk5l0zvqmj32m1xcyrawzzllbs11bzb4i4cvzmnakzlwkwcrr";
-"plimsoll.source-1"="1b703r0ssg8q021z9dc8n7p1w7hk5b548icc269gjrpad622acmk";
-"poiretone-56070"="0wxqymp27c173h3qs7if47mwmfa11d52z07fl0pxlxk1fiy3vwrd";
-"poiretone.doc-56070"="0w3ypjqybh9i711c7zhf6iq30xc2xfp4ppxh83fgp71wzb0qqyx2";
-"poltawski-1.101"="018iqwz4apkj8pwc3ws7k00zldnz4k02h1hv0ry9d83z34xswfsn";
-"poltawski.doc-1.101"="1kx83mgwkxd0sv2xjzvn6wdsbdng6skw71z2xc3xk16lk356q8hc";
-"prodint-21893"="06s9qbfy0rkfby9ff3dylykl81yb3fxpwxrwa8hn1aa2gd9bj2n9";
-"prodint.doc-21893"="0z8ibz668zjjjypcn0kiy488wzgwzxqackz5z996r3sq5x5zzgh5";
-"punk-27388"="0jywh76pckajz8m9c9li6vvybjwljyzhk7hsn437mswbfdd5f2yz";
-"punk.doc-27388"="0lbly72hl8a5996dkjr5ssnzklbshbypxymp4zgdvb0i033pd0r0";
-"punk-latex-1.1"="1wfs3li3h0fv6dmpvfjvf0bhq72iy82gpjbxhp3ssm7sj41y07cf";
-"punk-latex.doc-1.1"="1agngq3shcszz054gmikza54ny6zki30rsww8mp7h9ab5nmm6wsf";
-"punknova-1.003"="19qc4ypax7jlr0hw7aim6p0afy9a2qz1ifasx9dh5rnqhjf0q5hl";
-"punknova.doc-1.003"="1x432js1hj43nrxg2bvp4wrrmgpi6p44ckrfic1gk7ki8wzcx4s4";
-"pxtxalfa-1"="07i7xk5v73r30bn2nmyk730pib1d9gwgpg0kqchp2pz27vfjc0f4";
-"pxtxalfa.doc-1"="0jvw6sj4dw08cmifddba2fdq300a4x6vkczj0b1qirrq5vx87iij";
-"qualitype-54512"="1r59cbk6rmdy0zhljcfqxksf101rkzib8ll20ak0sshc3f1jj64y";
-"qualitype.doc-54512"="1jxcqd48v11b74drv0lh2gv65aqsjv5zziph2s9g5ldd1733fgl5";
-"quattrocento-56020"="0z5497g9msnfv3rmydr5aa217vbpqpd4x26q1qy71wllpa08gmk5";
-"quattrocento.doc-56020"="0jfykx42rcfzqnafz6497dpfwh0g05sivfi7lkwrnlbjz5zyslb8";
-"raleway-1.4"="1d8zv0x1j2c996ql8g7zc38s7fpc61ibk5zdixhj7kbfrz5cbc1b";
-"raleway.doc-1.4"="1i8hja5817kzy894j25hy5cjnw31y4kcahcymx5hrbi0aplhizx0";
-"recycle-15878"="0pj6xvdd30b4y1fa01vmhczinw48d6psfd8iy0rpzpaq89rbjrvq";
-"recycle.doc-15878"="0sylgv7viy4qgl0krhsf8q1gkxiz91wpn0l5jyq5y1zg92x8jk1b";
-"roboto-54512"="0gckp6jfkl7lfhff9300nr4zx1wdp4v49a4341hiapc8151jrfry";
-"roboto.doc-54512"="0lmi8yig397zs56v5s834plz50l27rm9ml5qfa1w2zcrims59zcc";
-"romande-1.008-v7-sc"="1bmqvxmlv2065ifn6bdy8i3mj1g6pkg44dhjrfr4sj5g8dihhqq0";
-"romande.doc-1.008-v7-sc"="0fgbq36nzkvfw56rvqajvz8krfd84msx8iykkjizn1m5zkqb4iv5";
-"romande.source-1.008-v7-sc"="1v8360kqvxidzkq8sgcg8k2cqhl59q7bmrk3gvf9vg0shrbvdr39";
-"rosario-2.1"="1jqgz4cxiq3md1dldlil6pslxxrp7brr9hl28qcf6akymnfxx37f";
-"rosario.doc-2.1"="050yna9vb9cz026cyi44f1qc596svxvf6fgyxlby2isl1jqy89zx";
-"rosario.source-2.1"="1bzcpxygwsmcg91nxx8lxc9skm5cr8hbz47qmydwznkkzldkdbh6";
-"rsfso-1.02"="1h1hzsf74jll793qs51pq03b2l9szbqagn2p03bcg0f3lgx0cxx2";
-"rsfso.doc-1.02"="0ibld15imrqmrs36ch31d5a4kdaspjk03vbb667r045ds43q8a5v";
-"sansmathaccent-53628"="0653qd7c2lb63lbgjrbac7kwl2lzygz694li1clwxlkrf0bnv1q7";
-"sansmathaccent.doc-53628"="1r7dqwn7vxgg51jlsgx82kv79fxskcdz6cyhkdbwgd2f3rmkcm5x";
-"sansmathfonts-51356"="1w8sv0jaxgr5pjz0mnllmkd9gpbrg220flr2j5lnz4vlcyvlskw7";
-"sansmathfonts.doc-51356"="18ag0933q07w5l7li369j0a8lz69hf1i6paa30470pf41i1gyxvr";
-"sauter-2.4"="037skfr46198y0vczwcy6dzq9ry8w5imj1ih9nfy9mrb0hmj8caq";
-"sauterfonts-15878"="0x2j4rz8n2v5qw1j71h2yasjv2yh5g503svjrcy70n27njcic2dy";
-"sauterfonts.doc-15878"="0r3xc4128x9nz9wqqs9y7a45lfgll99l7n6k87cb2zkyckr0kk6f";
-"sauterfonts.source-15878"="1k5fix44afwcx3rihmipji2zalc2zhz8m0rcpybpz76mzqsrc1fi";
-"scholax-1.030"="1znmi5l96dis86x5b5ff9yr2ghvnylrl7gn0x02qj8s0j52w07gj";
-"scholax.doc-1.030"="1f110d56spi8gjsniimxjpcnbklxqlck9nqnc8fm3r4h7rrm715x";
-"schulschriften-4"="19nh81mzd8bddd921h5qjn0jrkggy67s1crsjz16pi0l7nmai1qv";
-"schulschriften.doc-4"="0jkgsphbmyy82vxpp0a4a9i2pyn9plxpng6ygpgnipr98v5vf8ra";
-"semaphor-18651"="1fk3qdnkpv28zc8q172w9yn1aq8ff9ag6ql2ghh8aa64j9gygdsc";
-"semaphor.doc-18651"="1bq53xa67jshwlynsbqhf73jgy6pcd8hhdc5dbh83cgma804fyyh";
-"shobhika-1.05"="128p64d6bc0m65nwdrjr35b7rxlx21c025vj8bk6n1frfg4k4lzx";
-"shobhika.doc-1.05"="1zxg9rxsdf15jn0hn81p20j0dbq1095vqrmh7d5mzhlhnybkr1kg";
-"skull-0.1"="0v3kvrk5aqsfna30z920k237jql1byy12qkb5i8zlr73z4cy1ll3";
-"skull.source-0.1"="17iby2rcnqakykglv9k1q5zmcj0h4gj4h2vadihvyyz6m6bvcx0c";
-"sourcecodepro-2.7"="0vzs79a6bhvxap9xw9nm4csqm8x6m83nmsxffqckihkrbcbwnkz5";
-"sourcecodepro.doc-2.7"="04g53xmi3afzv76dn4pg9vjsd903rl0hbzqw32gr7hhgh60xwb8d";
-"sourcesanspro-2.8"="0j0qgb04yvwf265hwiiv581fy39cpr6i9f21k38xdgdi0dl7ghzl";
-"sourcesanspro.doc-2.8"="1lg7jxxcymnvbrhgdf6ddj0nahbr6g5vnz7ahav8v8zfyfw87z6z";
-"sourceserifpro-1.4"="1zwvz4yqvs5pcqwsig4sjkp4chsc089j0dl9mn8ah047nhr2d7z1";
-"sourceserifpro.doc-1.4"="11q4ppkw8m56bpn8s08w0zkiilfz6s5jv0rkqjnqbzn47nm3dqij";
-"spectral-57296"="0rgn8svjcimqm7ji3ga28gmz8dk2frhgnhs99wlsi3qch8ds9pwq";
-"spectral.doc-57296"="14jxmfi62ddhxj9551m13r54k97ms2dd2wqbdsfn3v171c7va1j6";
-"starfont-1.2"="1bf89j0qqyzih5w9ban03k85v8ih0d16sil1sf7smzmqk3nhmrz8";
-"starfont.doc-1.2"="0rjx4wj021ri26zxdlhkh71q3d0ygf3hvcqghq9fwkbi0gnig1r1";
-"staves-15878"="0pb7cghd2p1f7y5x19x3zyvaz63k3nmrwd04g0yqrl3774fvnh1r";
-"staves.doc-15878"="11i1rcc30lnm8fqmnpmk1hgz2fmm54hgf23ich279aqfsk2pm8iq";
-"staves.source-15878"="1y87sw1qrmvgvayzwz2i6qjzvx952h68123fhhv67ga0kpxf9fwi";
-"step-2.0.5"="1r2mf2qlcksllpaakrycmcrpxfq9c4g7n18ip13ykp92fmrbcz4h";
-"step.doc-2.0.5"="0f0hph5cjwhwdn2yyfzvn1jbkh8xm71jw10zagbncapfqfgx5h62";
-"stepgreek-3.0b1"="04xldk3dzcr1vg1xld4hhwx5xzi2pr0v7gn526xr8ca3m3x5mwnd";
-"stepgreek.doc-3.0b1"="179zz295nxpp21p6xhrn1r9ka68i3l9l8bphrb2833a2x6qgmil3";
-"stickstoo-1.034"="0di39yfsk63bhvx7aiicc2m11yjr3l79cb7fzxh2yxlz56xw6x7z";
-"stickstoo.doc-1.034"="0n5p7311vckk3w7d0ffg7hbr1ljlj07z6f3qvaic4z73gr3qv7xn";
-"stix-1.1.3"="1jqrvkx444hvfh7246g22k02jm00m2cnc6ffj36k8qdi1s5m9dkj";
-"stix.doc-1.1.3"="0vmiariam5zd37zq2ni9560kjgia89p52cm1phxqp6gp7avfyl7q";
-"stix.source-1.1.3"="0jjxifyrkdwgbv6xvgpk9ji6qwn4wr91lkdprcdjpmw9b2mwflj2";
-"stix2-otf-2.12"="03ilzmkskp2fj3jwyvlwz8b2ryvb1rfj08ciqhkhi9ddygzjk8xx";
-"stix2-otf.doc-2.12"="18cqnpabka16kfq09rspzgwmyh0fva77i8676myf4wg805953zgh";
-"stix2-type1-2.0.2"="0xrpb3y7wbpxdc627gn9h6s3sjymczbhxqqi0dbicrcrd4065kp7";
-"stix2-type1.doc-2.0.2"="0kqh52jkqgsfdwj83wks80h9v326hxz1zqh2ls346kc6gz0r2p9n";
-"stix2-type1.source-2.0.2"="0ajs9ri4v4jw3hp64hflxwqd9sw75sk2a56lv57qjzzjzkc51243";
-"superiors-1.06"="056i8jrpfs79g2n4fb3kabkkbqbpyii1g0z63mciqyfbs0wvpasm";
-"superiors.doc-1.06"="1459za0bj73lgz7nqv0ys0zimfw1nmmzzcyhydi9km7mjv5sf5r3";
-"svrsymbols-2.0b"="00wr6lyncnpvw806ff8s49w239sqpc8c5zg1776qyhjcpypkfgym";
-"svrsymbols.doc-2.0b"="03jdqja9hm58w65vp6mf2q4dd2i1n6gq7yr9p2qrzjm33dxycjx8";
-"svrsymbols.source-2.0b"="1dsw2z368hj4sixfy733r19yvnx0mi2qzff8647i6faj70lrj6ry";
-"tapir-0.2"="0ad1qkbvvswq7msx9889sz8n7wf8iszigd0vmk2yycykbf0axzii";
-"tapir.doc-0.2"="1m5g6bsijqris8r7z2dw3cj74ajcny2wjysq8ql26531z61hj9ss";
-"tempora-1.05"="025smp68d941hqdxqsd4qpaxvk4z8ybg14xwc47i36k04244rarh";
-"tempora.doc-1.05"="14k350dyiqjcfg5fx09i2i9cqsdw4mh1qcrv8cglf1gf2d0b3jl8";
-"tengwarscript-1.3.1"="0v6mpqkyp7fr1nb5myjs4alz8f7y56rnd1vlsgvp0m2shvnvhy2f";
-"tengwarscript.doc-1.3.1"="0225gpdqbbmcpgxmpjcj2blbpzxcnr7vmm38jkkpyan3gfw52n2w";
-"tengwarscript.source-1.3.1"="0jzzn01c5gwkc8n6naaddm793sm8vs67vsjd30lj4ls7djpnixkc";
-"tfrupee-1.02"="1q0z0as8gd9qb3p10rf5kwzljg5z790cgmxi5dbz1piy0lcnj4hn";
-"tfrupee.doc-1.02"="04zmcfp1xqq53wl41rw199yj47nf7l396qcnsp8dsrvf7d0n0pfc";
-"tfrupee.source-1.02"="19bgxgg9cdgfdvdr4kzmp4na0n6p28dq0iq4nqi849j4ij5lwmnj";
-"theanodidot-54512"="0i3z98npv4f0gmvkfshr26bnj0wj80r6ffdj8s2qdpdfq0m2227n";
-"theanodidot.doc-54512"="041dib8a3y9y5jn32rm5kvfp5vzs20z8kalki5jgr83l07ib734c";
-"theanomodern-54512"="05xc05nsas25sn8f3ra0jaw09zr0kjxzjmx2fdlwdyr2xipdpmga";
-"theanomodern.doc-54512"="1wcvbv2jicvfcr4f6hkh35p6gg3hfb67sphzh29ysvy8mdm3l663";
-"theanooldstyle-54512"="1nzn0j53nl62f03m47k8dwk7qiz9zh8x2mpj804496qd307cmsl4";
-"theanooldstyle.doc-54512"="10vvf59wggqfbq3svc852s9qicwxhh2hbv03vv55fyl8jg9dqxrc";
-"tinos-42882"="16w7c1a7nsm2i6riwgcl39l2r0kz8cp6xydr7xqzxpfxkzhav42m";
-"tinos.doc-42882"="0aq2wyh5cvmi6gnvwwgm8ch6r17ncwihb9f5vjclsj94almpp4gb";
-"tpslifonts-0.6"="14cpw6n2j16mq1742lyjb09zynyjhq1wcljhpbb4c6brwnqvb05q";
-"tpslifonts.doc-0.6"="1wwmxwb2y6zyp1h5hskl7b6bb58ydasv3gq2bj0jcnqhdphgii9l";
-"tpslifonts.source-0.6"="158innbi79r298sj1r4qk9c0g4gv1wzdkcmxf511sdb8ipar6xk5";
-"trajan-1.1"="1hnk1qb46hihc3ga6klxghqf7yvn6zschp6w36a08mz1hfsdb8sj";
-"trajan.doc-1.1"="017v3bmngyh8wydjl7hmxqh2rz61dg2imcl0gabsfs98l8fnwsfb";
-"trajan.source-1.1"="01qgax96y0sklbbb8mdfv5yc0i2k90i23yg75vhjmb7xlwx60q7k";
-"twemoji-colr-0.5.1"="1009mh8kw7ch8gr80pcc9xhdjvsj3062vyzjy0bn8cb3qvhr3k2j";
-"twemoji-colr.doc-0.5.1"="126na3n7zbzngx4zpimq8lr32anwixl571yp0cj0c7clkqa3c6ky";
-"txfontsb-1.1.1"="0g2hjxcqhgynzmvj44q9d1wpxwpwy52a6rbl3nhnq06w2v1lh637";
-"txfontsb.doc-1.1.1"="1yls8kb1bglfqa7yiqidanyjgj3xb1isc7z99ybw2j2kbmvvcjbn";
-"txfontsb.source-1.1.1"="07bapd1i9rwf3946pj54s0m0841ximmj60ic266mcmj5gipw2q1q";
-"txuprcal-1.00"="1l1khap1kpgjsjrbsa3d9hgd61lw4x7pi771mchszkaklqx8qarn";
-"txuprcal.doc-1.00"="1j2y6scl5pa25yk00zf64nqgngrvvb4hbig3qi50rzf5kpq56pxp";
-"typicons-2.0.7"="0acmp2zpg1734c6719jpmcccyq4325h2023bc87xmj7jxqq0xlp6";
-"typicons.doc-2.0.7"="1r9wabmkqvzdj6dcxl9syymp0rzz8kj0lfmqn9j4njghclndkfdf";
-"umtypewriter-001.002"="02b53ljrirn1248ycpagrwg7fw5n96kg3m9y4gh94d36v4bnc870";
-"universa-2.1"="1r8rh4jbx3lxciszf93klg3zwv06qqgnzikhp11c2qmrjrk9gznh";
-"universa.doc-2.1"="0acfyvdbqagda11730d5bmr5qlfq7hiqw7dajq143i54k9ln8mvi";
-"universa.source-2.1"="1ydba7wjiqnjc8drv5j8skv5q8hjrliwd38s6xj2jd12i0zp3gyc";
-"universalis-33860"="1xig6xi179vm2rnp6qimrjy5y4kigyl1r1f6b62jiqlvj7ii31wg";
-"universalis.doc-33860"="15j9fv12ch2vpzmjyaiq3hqx4cg6xlkvn3d0wn7v75y4si86lcaa";
-"uppunctlm-0.1"="1a71nsc5dnaa8gb4xmnlhvdsvid2h9gwmxr0xa8blh4xd0vwi2d9";
-"uppunctlm.doc-0.1"="0d1qs7krblmnf9r2afvzx5ir94aqgxv8p2d9sf9p18nlz9f5h06q";
-"urwchancal-1"="0hlaimb12imiv0h7khcaar4xi5dma11bqcrb2b6imd4srgg9b50g";
-"urwchancal.doc-1"="1mzfmfwny5mzag8wf1h3k4xbmbzphwqv6r74sql8wyqw53s337jf";
-"venturisadf-1.005"="0a80pz2ng6grjj97hgk277d25ijgc7swjjsr4rjbd1ljnfjdvf51";
-"venturisadf.doc-1.005"="1b50h04xl2nwlpclfxl7m1wnyl1ysf9d7p8jbahglnxaxxn8ib3r";
-"venturisadf.source-1.005"="07isrwhzw538w4asc5baw6wbfydzdrflrp3pk1qilq3a5wcj1n00";
-"wsuipa-25469"="1grz4s0zi7dlgbks7rx0h0rkjvchilhjabs59h81f92f835lafm4";
-"wsuipa.doc-25469"="1zw7ibbqc75k4hplbvqpdmnqg5ks9bw75mrwcg14q1rb1807sp8w";
-"xcharter-1.216"="1rfry7xnl1byh6f3r949xbvq00cmijmlblihhgsyy3bv5r4pvy4q";
-"xcharter.doc-1.216"="0q5yl9fqqh00jijmsrfh2bkrslz0qji02fxaxipsmsf4h5lm80g0";
-"xits-1.302"="0hnjyncrb0r9ssp6aj9lih23b0z031fjhc7fjjsjc89igbxb8v58";
-"xits.doc-1.302"="0iv1bs2i1fn0pr3gkz07xaqsdfw9idcyfdd6bzqjryynas25aia2";
-"yfonts-1.4"="1k7b78fr6x8kp6354viqfni3k77d96qmx9r76249m5j140hi6fk1";
-"yfonts.doc-1.4"="0a7fy4z790fr6q4z5qnzv578x48kqs128wl5znd5bn3mbg0n0cq0";
-"yfonts.source-1.4"="1ph8vc09vg0zxc9x1xydrm9wn6q5vml2bc3wln15v69p8nm52d7z";
-"yfonts-t1-1.0"="08fbdd97n2h649kvks6q03zrsjvb1f7qwys3955g6iznf4y8pyv6";
-"yfonts-t1.doc-1.0"="0h0gi1j5fcn1nkvf0abf2aimj2q3h6bw4rx7kzg5xra735fqpl4n";
-"yinit-otf-1.0"="1yjz72nixv6di0ifsimbnc34wlw6s8nqkwflkag2p75q0jw52qrg";
-"yinit-otf.doc-1.0"="15yjqa1s4zrpz8cj199ak9dgriys76q8iccspw3909g2ci4xyyfv";
-"zlmtt-1.02"="0ka4hx95138c3aarinsivmz13jfkbm4lyqcgza96cmwx3r3hs076";
-"zlmtt.doc-1.02"="034fjal61sy3f87cj0wx4z1qgiivdr1h84yn0s6ygfpdvxrrqd20";
-"avantgar-31835"="0zqa5rz9rzczpnifcq4rwj6ybvpl365371jnz65wvaq0l5zgnlip";
-"bookman-31835"="12wkjwpzxn1a1k3bb41gpnky1jjsh7gzj4xahsjd087fpmrsj9p9";
-"charter-15878"="1z9145ri2g732bs4fb8i74gc0ymak33k7sclahln2bhdpxi286fm";
-"charter.doc-15878"="0gm9pwanxvzv0zmxq6pf54ygxaxvg56kh1ym6f5ij9akwvhf6nwb";
-"cm-super-15878"="0vpxkin8zvanasm0n6zzgmy7wssca6bm5yia2mjdi7nxzqyawlwr";
-"cm-super.doc-15878"="1ygbv3gwijyaaj8yzwxzsjqsfjdf52m3lm3f7rp1503d2wvq2qzx";
-"cmextra-57866"="00my52lh3cn8bn211fpn7373b7khaylx4fgkrd2m72xgaymil308";
-"courier-35058"="08g6lm12b0k6333pxcaqdf67v87fz5mrqp3jgal8qhrls5ym8q6r";
-"euro-1.1"="02kkwf4psrmp7n5mqyrc3745kj82p3nxswad9x8rw1hd7a278y3n";
-"euro.doc-1.1"="1ajqx7axgqpmbq4kl2gmk97ibwbijqsq6z8ln71qla61j0mkgj32";
-"euro.source-1.1"="1hkzjy4vmvh06pk8bhkpz09ln5jygvyhwzyznqkrzffay3i89cll";
-"euro-ce-3.0b"="00ypq57ri9vkmc85c5l5qzq098has90qllm9lnv4jd73l1my7pmc";
-"euro-ce.doc-3.0b"="03pcwrjrjp74s2xl7pahpr76dls17x76xvhck9izgsr29j6kny4d";
-"eurosym-1.4-subrfix"="1bf4vwygyakr999k95ki53fykknizakz9npz2i1h3r5ci805l7z4";
-"eurosym.doc-1.4-subrfix"="0vmh23f3ksc3b3hym7iv7m8rsddk8vdbqr5ib49bjqylppvxrsnz";
-"fpl-1.003"="1jpbgs674zkjayx5xbg4ymnmygxcc15ysvr4cpz3abp333cqzjb4";
-"fpl.doc-1.003"="1860bzvxbajy3r5gpz6hwy0vib632fkdig2zcb51yy2qgg3vbal8";
-"fpl.source-1.003"="1fr7ydvn8ql0jhplkwxzrl5cppxbklg97nqb2rjigvmqqidjk0i3";
-"helvetic-31835"="0c3f1ly7y6404z0akbfbbfql13sz717v0n0g69qjpr69hi4n0nsl";
-"marvosym-2.2a"="14i2alqxpz0imgdlx03gyg2nn56wrhlc0rziyx93h4ya9nz6xzbl";
-"marvosym.doc-2.2a"="0qyfyz8qfcchnf78r71fp5p16hmsrq6xf54g5mnwjb4p5ipbd9np";
-"marvosym.source-2.2a"="0vbiq807pazw2c1ck799w8sy3q8wcpb6smmq5qqw4nqcxzwsxk78";
-"mathpazo-1.003"="05j5qgq8fralghp5wkx6bha1cm59vha29ppq96nllq2k2nqhpi3d";
-"mathpazo.doc-1.003"="1z76cb473nb6r0vjjxjwiymnk9wsf7pnycc3ad3ba4vd3yl1827g";
-"mathpazo.source-1.003"="0lmyc1q7jswlhlzz4fd6ia407jj4pzi7wvmrcgfyw20j2nghfcgp";
-"palatino-31835"="12jc0av7v99857jigmva47qaxyllhpzsnqis10n0qya2kz44xf22";
-"ncntrsbk-31835"="0i6a48zbn9lg4pwbw8ya2wjjgppwac816fnbpmahm67kknx4d7ij";
-"pxfonts-15878"="0vkhx82ywv17rflmq119jxs3ib08rfw6lkjgr3mp9vf6vplgqzki";
-"pxfonts.doc-15878"="1afcy7c1n63zi5czbpnajrrgwfp9xdymkgwf5h9865adjbb3lm82";
-"rsfs-15878"="0q1iqlkq6swy905jh73y42ya9zb55xvg9w991x7lsmdxc0bzdf8z";
-"rsfs.doc-15878"="069cpd747d6bk7jmmn1im7jvfb00bd597l34p87vdjcwbk3bzfvh";
-"tex-gyre-2.501"="08578kyph2grc2ca9bdg6271iqpjyjg1qcrivfk5r27sq5c8cwf0";
-"tex-gyre.doc-2.501"="1i6383n8w3h7rjhdzhj0zc8xfd7ngmbqyvzcm0xibqpsdmzis4yy";
-"tex-gyre.source-2.501"="0f9gzhlawkpn4cg284n2sad05aary5pwyczi1qdgnvk9v8sbjax3";
-"tex-gyre-math-41264"="0vqg04im4s6k1sjfclrn855liilgayh5kca774aicifzjgsigs1d";
-"tex-gyre-math.doc-41264"="0s6s2bs6q2ar4y53fyckz104y8rbvz3msjvyb4sv2p4j6x0kwz4g";
-"tex-gyre-math.source-41264"="0vl9ggi62bn1cpnjmqanx62b6an5294375jg68gskg8fwi8j6gir";
-"times-35058"="13g41a7vbkvsf7ki9dgl7qm100w382mnlqkcngwgl3axp6s5s8l0";
-"tipa-1.3"="1vax0padc42ks1b4rvl0ikfqmb5i04ii27k1711vfdbzmg87j217";
-"tipa.doc-1.3"="0wwnbarpvjcq8ibbn8sr0zqrlg3clplc9nyh46r5gsr06qgd1prf";
-"txfonts-15878"="1dfrd8dzrzj9y5qnz9c554xn2g9931slhj9ylan2i71k5asxmkiv";
-"txfonts.doc-15878"="13v5hhk0nzj38nfgyz9ijmz9gb9703izrgb617z274d744qwqx73";
-"utopia-15878"="1hsvl3la37nbb0b2q9995w1hlgvrc0gkyjkgqbsp99rk0ry392v6";
-"utopia.doc-15878"="0yyxzyg38z6kip43gxlj3j55rdabqjrzl33yp1z043rblfw5b9mc";
-"wasy-2.5"="1gvk9gdx32sm4q2f2k4i6yj45c6zyf0hjkq7r6ysygmd2zsvf9lh";
-"wasy.doc-2.5"="1ah93bb5gr4di1jbq316cm4d5iaijj4f06vcjj4x44jajirlaq6m";
-"wasy-type1-001.002"="1zkhqyh72q1w6lr94a7164myp5qfmj119qim58cal1h48n3wypcw";
-"wasy-type1.doc-001.002"="0rhkbkmn7xg044aw1cm44vbwiqfpcixpdpcdvz8yq6in8kmgs0lv";
-"wasysym-2.4"="1i8pvf5yfw5j0rkcpy6v8czvr85p1yk18c8h18iljgsdvfj786h7";
-"wasysym.doc-2.4"="07lhw9ss609gjlhv9f0bbyv3z327v3jqblfwhcspwg2sjvazzx8l";
-"wasysym.source-2.4"="1i7y0si6mbd6kxbbyvcfak46hrcf95xv8x6nc29nc6adqjbygkiw";
-"zapfchan-31835"="1753lvv2bq29g43s4chc884n742695agvgal0b99gsrvlkyfp8gn";
-"accfonts-0.25"="10z7c7cgwm62dyzxfnj0jiy328zj3wccqjick37lz641vqifrd4v";
-"accfonts.doc-0.25"="17mbr2ydbkc4md6zd34km3d4s2vjmqzfwb2l01n4y30vjz2lzsn1";
-"afm2pl-54074"="1nbb9lcxqxj2aary7a65fai3hgj4nwzm690iy0xv62v580krdbck";
-"afm2pl.doc-54074"="0cp8il19l9sz997v9lcxkl6r94mnlnbj2lzdrffwd1fv63gkxc6x";
-"albatross-0.3.0"="1krqfxy24n96xzzrdq512mc78va4isi2xvhmvrzp3hisdvysbdk0";
-"albatross.doc-0.3.0"="0xvfa182yi2hjfxs80z6kmsn7lbg6nxqnc947y8p0kcbikzqbwc3";
-"albatross.source-0.3.0"="1599i51cdzqgcmshvghacflivqbxj1gxnbl9sr373nz60jsqj8sl";
-"dosepsbin-1.2"="0qknrackr7m0s431vrygphzrk99wkrgdp6kl04q7f4lsffq12k9r";
-"dosepsbin.doc-1.2"="1lhrlgyn9sg88052ib0jkwd88zvjpzqnz0ac5whl5gpr5zw2y2c3";
-"dosepsbin.source-1.2"="0lqmcndd5m4hxslvpq4r9g1bal12vfdsncfcii71glv45c2hl2x2";
-"dvipsconfig-1.6"="02vgk91y80ch4pkj83vbiz1b2ccigf152hm83p607y4n4qn2xzsf";
-"epstopdf-2.28"="11xw0f2hl64scpd14iicdq9z1gm3s1q16y6mbm6n9v07zhz4pv82";
-"epstopdf.doc-2.28"="1gjb9xl4kwqwcb26200xdz3gl5ghsdmv70cwzw1zd3aakhba00rl";
-"fontinst-1.933"="1jqhfib1ml33wq292x9ff03shyjrn2b3grw44cxzxndg4vq7mn1l";
-"fontinst.doc-1.933"="1ff19m49rawz7jlqi85nly05d9k8940ld94six21c1ik0v7cxn74";
-"fontinst.source-1.933"="133myqzr4xlp4a3pw8ld815mpl7l9y6rhz620ja77sv4fmci76v0";
-"fontware.doc-57972"="06n3am526l1g44db1pyjj0y3jj7792z4z0xd9crc8w7khqc0jmna";
-"lcdftypetools.doc-52851"="0yjbc6rsf8c62qa1lyi9kjyjy2p0xlps19llnvly3xyhla08j76f";
-"metatype1.source-0.56"="1nhbsn33w6zbzbvi3a32ng6ib5dbh0vll9g2c5ssiv1ysxqrg6yq";
-"mf2pt1-2.6"="0gqs7xg46iwnwsx4shsdl2zsac604nzi05gn3fnh978wi409kvrz";
-"mf2pt1.doc-2.6"="0sh0pkdi95yrg0s624dahn51ljli2aszh8np544alzzkdivhwr9a";
-"ps2eps-1.68"="0aifwqbw8r3i4db5pfj51nfjgbz6d8qjz4l2nc3zkl67g0kmhrf2";
-"ps2eps.doc-1.68"="1k731khcjkavaqfrh8pqyzc82b4x355rxri1s2m4ilnvizbwifx7";
-"ps2pk.doc-52851"="11jchhii2z34ikw0jaddg6kni13linnar4bwdrp6k9kl8zm0h2hq";
-"psutils-p17"="04xwjilc64d5zpbngcsr6c6gvm3857wf2hsyag32v8bk1pjag97f";
-"psutils.doc-p17"="0hb0bjnk53i2q5wkkcn4rkjbpvyv90d41ynxbgsk8hp2gli8b0zj";
-"t1utils.doc-57972"="0hdk57179nn57wnmvr3jasjavkvmrn6ryph6jvjhsfqprn7bhf1y";
-"ttfutils-57972"="188gcwglfgl7yi4026n9l3zkpgwx034vfr4damxpfr6n630rixw1";
-"ttfutils.doc-57972"="1y86pg5lxz5qk2bd2zhknxip1jwj9d3y84xmvg7ydxkbp8kimf5s";
-"aleph.doc-57972"="1ba94ifw2vny6d5cyvh71g98r01v1wswzn44mrjnh6d3q4vp02il";
-"lambda-45756"="1ajx5g5cd5s9jqr4b196689k7zmlxmhhksly88qps31s7lzaprvn";
-"antomega-0.8"="08if5plzpj7g8m1afhq8ci6m4yba4nnsgglngq94ka3ga8czfk6g";
-"antomega.doc-0.8"="1mrr1vqkyic5nyzyxkw7zq67yz4njx9x68cqr3vjd9d77qv85i00";
-"antomega.source-0.8"="0s0dzmb00hqbp71nhl94w0ns1dqj5fmfqw63z789iihqznyxkii0";
-"omega-33046"="047w29bij6g9k9fl7ymap4arhdmm9kvjfsikvjkf9nd7shd6k4kl";
-"omega.doc-33046"="0r686ck7z6vxcajrjihp4a4mh3z23xr8ic34dv9yp039dh0kbm71";
-"edmac-3.17"="0cvxirrcf7qxa1a6r4fzklqrmala7pdj9i8wywapy0anak8lpd9d";
-"edmac.doc-3.17"="1s33bml7f2lsfrj3fprpazjgjiyiblfcjr554fwq8aadsvgz2xxy";
-"edmac.source-3.17"="0hywrvvxaqb52hd29r0dkixj9fcczhr8b1rj6wxj3wcgdcbfhlm0";
-"eplain-3.11"="0gxqyf4v9d18qk1bgg8g0gajkwz9wx0pj7a627lgbgack0wk4ghv";
-"eplain.doc-3.11"="0mgrscj49zqq97xkg0yqis9afhcagra0vsmdycwp2fbz6fhizxfl";
-"eplain.source-3.11"="0y86s9spkyqqidwjs55q1vwhkmxb7zgnfpqri0rwdyl6rln7ckfi";
-"jadetex-3.13"="0gsmhql8p421dyyv1b021sv0hsnl2y4m8wj3vkcabhpiql76yfyf";
-"jadetex.doc-3.13"="18ljn0p607hm9655v6z6xs2apkai20l2mlxwyb2asqa72s6x79yb";
-"jadetex.source-3.13"="0vrqpjn64qlyszf7d2vwkbd1y2lj5lld6w9zz1jqz1f0arhq33lj";
-"cyrillic-47350"="0p9fbfxgkb0pcxs0rp6bcj6j51m820a772b199w5zcg2w1dfn4a4";
-"cyrillic.doc-47350"="0k8sz5blks5l6xbffw69kg0dql04jya14q0q9kkrkjb2ccp5dj8m";
-"cyrillic.source-47350"="1fy9cyi79z4naijng1pccxa4wrrgrfsvfinmy9hflcz9c40fk6am";
-"cyrillic-bin-53559"="1m8ci739229igk1mgx2n5dqywijfs2dxafjxsmlpdyafj2vbryaw";
-"cyrillic-bin.doc-53559"="1clxm22f85q7qqkcdbij2kihiifin6wis4b71ba53xlbx2x89b81";
-"passivetex-15878"="1h49v6sqbm27isfwwcql9dzxn4vmcn2algkqh7f1pzj860xw3ygn";
-"ulem-53365"="0v6p4hj3hij0qvq7vpsbnk11rhwwlx80p3g575jy4sn2vfw5zzsm";
-"ulem.doc-53365"="18ny9kfv3w2ag97czcj2gaqqy1gj2f7rd8r72vd7wsdihgqd5wzb";
-"lollipop-1.07"="170q59wqy0x5zhziaycmfglv1wnc5kf252ni1r4vgrrs3rlwiirr";
-"lollipop.doc-1.07"="1wj858kqp27amx3jpndsqma152r40agfymh9ah8s42pn6kfl4dkq";
-"mltex-2.2"="0j5282big4df396xvk2xaasl7cwnjn2sa14xj22xgzvrz3hr4dvj";
-"mltex.doc-2.2"="13c7a99jl0y75nkciir5zqdiz8dgjl8znbyrb485xrwlkzm6ygq2";
-"mxedruli-3.3c"="0xyp3zxzd55h0m201a189rj9h7js6ky3vzikb4yaa7z8hwsad7hz";
-"mxedruli.doc-3.3c"="0ydh0292i72lb9vcglwq0pl734qgrh9sqdy7qvdds6a84jwc5w7a";
-"omegaware.doc-57972"="1wjxih538kp4pdj770pw590041xrnbb1vwsyh93rm8fbc2kqr19d";
-"otibet-45777"="0fg3gc7614r1b304g78ipq6d84bml2q4mvl2yc49jjnz13nr05js";
-"otibet.doc-45777"="07l6475b8z98pkmn5labv4i4q6g92lh5bdsdqcwd28v5y1jizhmy";
-"otibet.source-45777"="0lfwadx3a1ni2k91dpzsdh297j3viq5dazaz78acb879lgz61ik5";
-"psizzl-0.35"="0pzbip08246id09mm0chi0gjjgdc7yzj0bd7q8qh5yfdbhjn8yc8";
-"psizzl.doc-0.35"="03slfkyrb0pil00n55n6yp5vxxxl8adjbxxmg1c2zl261lci107v";
-"psizzl.source-0.35"="1h2hrjxc3ck75cigh82rmi3558dmpliwxzzsaabb178bh76m2n3a";
-"startex-1.04"="1d6c54hm9jdi882srj87drkcxm7lldb4g60lbic9wwzn9kpa0ynk";
-"startex.doc-1.04"="0ikmb30ndmj0yhzxy9mba3kqxdc5f8i66sji51ihjcrlplj3jk73";
-"startex.source-1.04"="0304dzv4nzlcqi5k1gbfnx823xaxq84ja4gwh7qg941q152y7w9n";
-"texsis-2.18"="08sn35x8wab41mdv67ra3hahrsf4v4brp9n5z0l4bk3k27rl4q0m";
-"texsis.doc-2.18"="1bgngwqj3kkr196sp8i59yrkqpambijr4a54jfrgxb6595hiadsj";
-"xmltex-0.8"="06rhg0mgxsv4061w8k6parag7fkhrja81aj900mi65bdwmxqxxql";
-"xmltex.doc-0.8"="0zjaf8nvsid88nrvzgprwjcm6nirs6glyy25xws57fa9yhza8di2";
-"xmltexconfig-45845"="0drgvmn27snq43kjkpg5k4igkcdi56p1q3fwkrv3ivsiqfp6cdz3";
-"bartel-chess-fonts-20619"="0xd51ighrn01kwb4n20dsvrjhh7a0y31py2mfl1dq34v8l6yvn9l";
-"bartel-chess-fonts.doc-20619"="1sjwli00iffizzwaiszwyd42aya7c4vz5as8k21lmk054x9afjpc";
-"chess-1.2"="0r1danvrc979bbpcka5fdbnmxwiv54inxyd4rcsjkz6z03srbwvg";
-"chess.doc-1.2"="0h6zcs8g6gg4fq0sp2s6gihbyrs9kkvrbqr6pdpb7j3fkb2jr9m2";
-"chess-problem-diagrams-1.15"="19zdm4wzwcvsxqldvjhydk6fxh6gh4iycvwnvnlx72wqzn602z1r";
-"chess-problem-diagrams.doc-1.15"="0aldvbjgjs1i55lmnhgh03i266cwlh82w1h9aynw7m8aa6k1pc23";
-"chess-problem-diagrams.source-1.15"="03r2s0y6rlj3inq07jmgwsf7ylv1h7i6ynjikp20rwl7ngch85j4";
-"chessboard-1.9"="119dsa2mjv5kjw15349bjjz2xacnd82szwdb4m1hjqb3pkc8053c";
-"chessboard.doc-1.9"="0gny7vq5cm7ibvw8fjnpbysqs81bf2s8nvjhs56qq3j7yg7ljapk";
-"chessboard.source-1.9"="05wcy7c9arj8w9zsflr3byy31p0nl8g6i78bbkvw38rl9azpj20l";
-"chessfss-1.2a"="1bi0lzxr3lr8nbrxj8189ycadm16l66isgslqjh1mfqyggz65gkz";
-"chessfss.doc-1.2a"="1xrdlw5z6dal81pdkhx8lwg18fzyfy1v4agq93bw09i94045cvih";
-"chessfss.source-1.2a"="0ryd536x30rv71pqvji805f9fm8ix6g6b5jravshrrksk9q8qw9j";
-"crossword-1.10"="1dk5c9x2nriphmnps7srd8my1g6103japkbdvfi2afkic5q4ird9";
-"crossword.doc-1.10"="0y4vxlyf9dk86kfrqwgvdh7diwkgi2jhbq9cwyhv1vvxd5rl8ipx";
-"crossword.source-1.10"="0ygclxr774akkp6601vxs0pbqq4yiclvwmxj653bjcgn4ib057lg";
-"crosswrd-3.0"="1c85733q3x56s1fvag4kw39r6lnx4hr1wmhsrjs0jnyf5j6lf38w";
-"crosswrd.doc-3.0"="1abqbdfk7c7cx1ij56q8dhz87bc8ppb3hkfmc2z5r6zv94l34n2i";
-"crosswrd.source-3.0"="16didvmnjfbd103skc6i9qbim4kav9vw76954yfqijz1q74c880s";
-"egameps-1.1"="0y6naagmi9qii1k4qcp4svczxy5vbramd9wg1ixr8xckp806kn58";
-"egameps.doc-1.1"="0i36znlwls01ch6kns5ikw90nbq68pn71gpvfizf0x9ipymqwisl";
-"gamebook-1.0"="0ccsyi63paf40lxphmb60k5xciw8v7vd1hqllgq84mry7igzb9np";
-"gamebook.doc-1.0"="1c2m4009fralq8ahhczwfxhh1cmsdh0c5072yrirda46khd5wy91";
-"gamebook.source-1.0"="1dk3fpg5038jv5bs7c2f82vll0bdd7c1jrajwhlfk1v16p2f5i1c";
-"go-28628"="0lqgz9r0vxjbq1nyg77zjfsglwbd44zdpwz56smalb6lp2ra3r5z";
-"go.doc-28628"="1mf49wywa32chr8q4c0s4fdkmzd88a1fj3hxcf3zx7bnsi5r4gl9";
-"go.source-28628"="0vslzmpj94qlh5g2jirwj8b4w93vx33j8xdadyc32s6b9rrdwnyl";
-"hanoi-20120101"="09a7cv76naxzdach5507wdqnjp12amvlia7kw0jh224ydmkzfx9x";
-"havannah-36348"="0zdbwl36d8a374yhaqfb4f3561ncch10v0vh7nxj22f267lgl2n3";
-"havannah.doc-36348"="1pkkslz2f66j606j44rq32dp9qhfqcr959wrp8j9xgkw76i9lprh";
-"havannah.source-36348"="0gyndaw2g2j2j22njn32839mihqx3pl7sij35vhsyahyamnipk2h";
-"hexgame-1.0"="0s68961p0dsaila2a3symqswvgdhh4ah08aphqjfs7licn50yy4d";
-"hexgame.doc-1.0"="1bfrm8mz98l8nrxgnvp8q54pr09ixm81wy1ds1ww4syczpw7jypm";
-"hmtrump-1.2a"="13pq5h9pwnp8hynsc35ib8wzblh3y4gx2lmrrvd0big80wwsdhsm";
-"hmtrump.doc-1.2a"="1bzgqgrjlpskqydqdj26lsn55pkznmbbiq0w4ybr9r0djdmqbn1a";
-"horoscop-1.01"="02kazmk5sa40x0a4zb30gk9lkky0ak825gczbr5z8wchwpy4i1ac";
-"horoscop.doc-1.01"="0w9sgk2j1fzkcfzn76zpygrlyi9fnimp92mygsq2z6rpblzd1qyv";
-"horoscop.source-1.01"="0c6zkcb2057y9x7mz4q3nwin8h8ax71yaam21m91gk6ad9k8l4ij";
-"jigsaw-0.1a"="1ikkihqdpcsxca0hr57jsa9kwbf3b28w4zpgf12dj3achv4jshrn";
-"jigsaw.doc-0.1a"="1vr3qhzvl4hs9jz36lx5n3a5wx2vdhkj83y232jf7vg3i622mjr6";
-"labyrinth-1.0"="1r5za0nrvcpmx7bbnvvxf4l78pv4ciq83ck9k9qh32pawv5jn8sp";
-"labyrinth.doc-1.0"="14405x5dcm2k4m74jjhwd3f1836d79qz3w9m1zfj3gnvzx2kij9w";
-"logicpuzzle-2.5"="0zsg11lw5x28sik6ifj2v1zjvm3pcv4vf7w2pfxcr395vmw33qm9";
-"logicpuzzle.doc-2.5"="08vgi2s2cy09dhqdmvmq1ijlw83dgjd7xjfdhj28vm9ny16zmydz";
-"musikui-1"="0z2ya761bf0n7l45dqkc626s9d66qwr810fnwf34lr1876y3sfyi";
-"musikui.doc-1"="09sdb98m3j5wkl4p7hdpdrnrr0l25ni46nlhkhg1g54hdggcpjb9";
-"nimsticks-1.1"="090gx9753q9cc9kr973yjsbq3g1bli0qigsw4k2n0a3wb9392frm";
-"nimsticks.doc-1.1"="0s36pkz37qwjrmfw1sykwz9nf7z91jdmfvllgzaymz745ssh42bz";
-"nimsticks.source-1.1"="12xvmydh6p79xjfyv67bnkiqi0qcgk2xwby6ysw06nrn6r4y37qh";
-"onedown-1.4"="1arb5vsppgnfv1802m0iqv5y5vwljg8pfwr1pxmgkaff0vc34m2r";
-"onedown.doc-1.4"="0xgkcmllgxbncd49yl956pah6cl8rbbn74870rpnvxg6h36n0f90";
-"onedown.source-1.4"="114h8a0hfv9awf1l5lan5nkbiipvhkwhxpyf3jxsis47frma4wrb";
-"othello-15878"="17y68qzxifgnh8k1q6qfn97ka7703ac8nqk62ridn1wbxc6fb80r";
-"othello.doc-15878"="022pv02lvlphl8168rrcdzk6w7d9wd52riybfvvy537ifwp7kqr9";
-"othelloboard-1.2"="00cybd6dg10bwl2k87i2lj9jq1nmq4jc9v4qhjwqij5zv0l5yz4v";
-"othelloboard.doc-1.2"="0g5k2q33r726xyj1mp08qmyb4xdihiyzsm52mgbdn95iz08b2989";
-"pas-crosswords-1.03"="0nq8wqxrsgpdnmi2yqcs45mb93gp2lad6p0b6ifqr744hycq4njm";
-"pas-crosswords.doc-1.03"="154ifvbrx2z4ig8k00agjsgpsplrjlf8glcxipbgai9wqf82i2k5";
-"psgo-0.17"="18h614dasdg19jnwwl5swih2dxp4wis66fkscq8jjmpvjnckpck2";
-"psgo.doc-0.17"="0naza2kxcgm9wdcyibs36qnwwgwpsbj2m9qkk3l9d54kml3wiznp";
-"realtranspose-1.1"="1m3gmj9bay3a1b7fidjs6rs2077m7csaszz11g6y5i2sjpjyx2aa";
-"realtranspose.doc-1.1"="08w4ad33pycaaiwhrnmx3sfx2c6kv417ijhqgxdsja1mrhcp0nxw";
-"realtranspose.source-1.1"="0s4lbg2jg5fa4x8f9cnp5zcb4yi92g4981dwdksqsilcd0in4ksh";
-"reverxii.doc-24976"="15bfdyvyzh5ynnx16bwr401bw6dbsl60rh40f8l1wgnbh93cdpy3";
-"rubik-5.0"="03qnnbqas5qrf6jmj90kgdn9kkliq8ap70z2b9jyr4rzq8m19ryw";
-"rubik.doc-5.0"="16jzhkbh8m8v8cb0jyifhz6dcdn0sxzi898dcyjrvf245zfwk618";
-"rubik.source-5.0"="1cnkay6vn88p5l5jzhf5lzzfd39p7pbmz9psc814jvlpqlzx90fy";
-"schwalbe-chess-2.7"="08fgxr8f37hl9773m3920876nys1xdp6b84kbmsqhrbw35g49f50";
-"schwalbe-chess.doc-2.7"="18vqhcicndhyaxgndd098h9imwcz16wc6yj6jjn9mg4xip36p94b";
-"schwalbe-chess.source-2.7"="130d6m37x08fphq4qf3jjnsad43jrr3s8735n71gm4ivazas8px6";
-"sgame-2.15"="1axbv7ss7nh6nj6dzs4v0g6lqccm8vyvpc4qfv2aqij37qlyv23y";
-"sgame.doc-2.15"="0nj8n049lmin4j90an75p9bqillwx7wgpvxdm0jb1janfip4r5qj";
-"skak-1.5.3"="1lh97kc1hmz3ybb67zr7vr74z1zngwl2cppkhmp9cagm48j24am1";
-"skak.doc-1.5.3"="0abiardppn7hx6l5h4zh92b9m2yf3w16y15rcvsspv1cb9sf4lfw";
-"skaknew-20031"="14j42hifh60p6glfp24c2f5k9k34vcm0l3alqfqhvv68l31i05rx";
-"skaknew.doc-20031"="0i144akq7sgs6kwayl8c2yir0kc7czjs49vj6l5lwdcwbyryhh21";
-"soup-1.0.2"="00glliinyi7m5m6gkr0szzsp5drgnqww4k50yfb6p3qv1mlkqgvi";
-"soup.doc-1.0.2"="0470i396sk8a6lnx189zcazns280qgyw3yvwiyxc1gs2wd812qr1";
-"soup.source-1.0.2"="09db050wsnmpqxmba7w23h3g92xyzg0sqv57yhns5nwxb2cmbr2g";
-"sudoku-1.0"="1nyh5rv8fgs0lgmsjgkfx24s3lh8pph6jcp7dx8nb8q2ij8ia4pi";
-"sudoku.doc-1.0"="0hdvzb1vcrlbis4xsgzdnbidapqp7kdaqdskdha5szjw53xz77ys";
-"sudoku.source-1.0"="1rwwqpqvmwvq26ycj2glk0k4m1vlbjrxjp0l20qnh5vad98a1x7p";
-"sudokubundle-1.0a"="18y4x1g050ircqh3nd95m45scb8zgjzi03cj3n7whn207dvapsdw";
-"sudokubundle.doc-1.0a"="17mdxysiwjp3ii1qhknrxw07dcds57qbm986583xh69bhq08c4sr";
-"sudokubundle.source-1.0a"="17g96rhis66gvgbm1857ck4ri8nz3isdlqshfx9rdbpgs8x58i0h";
-"xq-0.4"="165zyviwxybpgfx9ycngv9nml482faz766q1skgmligx05qzkhyl";
-"xq.doc-0.4"="01yhk07lrcbl7ppkqvks5j7wjpwyy0zc69q46wh42gbp65vp24a4";
-"xskak-1.5"="1hirv11b76xl7jx4swpa7imhjncfn81i9qc118qfrn26n890dgr4";
-"xskak.doc-1.5"="0hzyv8gy91avmpf2fgjwpqfkkbi8255gy86xzn5cz3y948l3m5vl";
-"xskak.source-1.5"="1gw6xqbpcsgdi5s7d239j0ds18w674z4zfibsvbgqjb70lixnyv6";
-"adtrees-1.1"="1j38apxxk3klabxrm9kpdf6zbmiqb17is5yqgg1a4576n8paqg4y";
-"adtrees.doc-1.1"="1851rqb9gs1wf8wl8f7pqbnxgpikzxzw1n5mg5w0kcwd889g17yc";
-"bibleref-1.25"="0ds1a91dm11y93dy46gflzgdx5rgzzm8j50q2aghbhfiqmb4vx83";
-"bibleref.doc-1.25"="18zif1ciynp47z8hbhc2p6r8jiqisj46as052scb5q6p49fc1ibb";
-"bibleref.source-1.25"="11brqv3pgzzk3j09z6ps6ggwsqm89y82s3cl6xldnyvx2ngc5ym8";
-"bibleref-lds-1.0"="18x44jyar9dnfmw4a5ijhfipscydqj2hybl79ngw1b88k9iq2wxb";
-"bibleref-lds.doc-1.0"="0yr2kwzbfbak1c5x202w8jpgr3y6fq63vkjngb0k2y5ivmjs636p";
-"bibleref-lds.source-1.0"="008hvab2f0xw9bg4ry74g19bfsrhp5ync4ilpya2h79smrwp5xra";
-"bibleref-mouth-1.0"="11x3ldyg77xzpx8yl27sxn6x5gb3jdngd5hgm42p8ac0x57x7ymz";
-"bibleref-mouth.doc-1.0"="0vrpyl0s13sw0hi9s14qamzk69c2vxwjy0zzafzmlfd0pzxhmx28";
-"bibleref-mouth.source-1.0"="1mdhq4qchr8gvdalf3rgns43b2lhniyp9d5lm3c9dnnlaim59hsv";
-"bibleref-parse-1.1"="0xa6nkbydiczmhphdi3rpipiva94x2pwmqgqcwmr6a66y1gk0d1x";
-"bibleref-parse.doc-1.1"="1mn4hyfyialzmzm0syizq1vps07z4zxd853v3aljn6zwqcwfpkxs";
-"covington-2.5"="0vad21mlpf4r0hn3010fg2bmvrhambkrlkiww0cc7n2wby4l9bnf";
-"covington.doc-2.5"="0kpxk5kgpg03bj5f8jpnfzpbkczffq9l7z1pfzw5q14sd2bbl8bp";
-"diadia-1.1"="0gygfg9vs4gbp3r0h9v6dqc18np331c0hjfmc5rbh29i74jcm8jh";
-"diadia.doc-1.1"="0bm0sb3fjj73mcdmrsvan9pdla2ki7j1wwpjpc4kpfc116a9lzy2";
-"dramatist-1.2e"="0zrkdhvx7f1261r5b2d08bd6a3pzldvpi69iym5k6f79ziz0602q";
-"dramatist.doc-1.2e"="0vwk6zfvf89773bwcxnpsd8crbkmq4lr6hksp4dn0hn6rf4smyyf";
-"dramatist.source-1.2e"="1xy8fm9h9qgjna6z5gz28rj0cq65wpxpxcs4vsfr4vr1p3vmig05";
-"dvgloss-0.1"="0fgc0i7cn0kd4f682xny0968l220ypam3z33mwac6ifqaaqbiy9d";
-"dvgloss.doc-0.1"="0l467jcanablvj95l0sbdib6dblc6ns2jcbg41kv0nxpah2i5ms8";
-"dvgloss.source-0.1"="0b106p2a8xr3c0vxwx3j0qmxh2z842h5x1z22509jabry3sf1y98";
-"ecltree-1.1a"="170bf0i0g2fnmmv9qh0jrdv7xn2xd5xmsw8dpvw8rbxfmn94l52b";
-"ecltree.doc-1.1a"="016hlxjhfzn2pgcpxi7hw0wnfd25idp70jvig7p8614pvkv3bsby";
-"edfnotes-0.6b"="0aljhm0wiks5v2s9qkwbp0ma8p6230ahsyr38w9akwy4j9ziiq75";
-"edfnotes.doc-0.6b"="1260dir3aba5wv12a4xidx6ld0vizl7n9m7agwrkmbanpzcqscf4";
-"edfnotes.source-0.6b"="0wm2hynpa4xk464rl5ikxdh5p71mp2cwzac2xl582q8fik7vjx0s";
-"ednotes-1.3a"="1kk0n2hdbi9cz8ag0v3g0a4w70ccjwlmgj2sqjmpv8yr8j9i7zz5";
-"ednotes.doc-1.3a"="1z0wpmq9rxx3zp0m5i934cpkcfipr0qx8iyk4gj8cb67ind1kxh2";
-"ncctools-3.5.3"="14wam15z6jdl97dxibf789ji0mk59mn96fn5x0vns63d8y65fh6y";
-"ncctools.doc-3.5.3"="1j5j6zsawp9i62kwb8xxzxsvh0qczx6qd1ppq38nlha3cj8k2rfw";
-"ncctools.source-3.5.3"="15anl5wwds08h2msz7m0a11xlcqdqgqpihvcrmy41kdzgnzgc56b";
-"eledform-1.1a"="04sd6m6ay9iav3scf72i6id726gn12qgv19hbaav7dvbkx73s10c";
-"eledform.doc-1.1a"="0f8inf12l7f8cg51adr269qs9zc0imsk9g08zh793aarvrpfh4gm";
-"eledform.source-1.1a"="13phf594kj5a9ql14wvd7pzi3vcrwg61lmc4fb7079j2xpx7drmk";
-"eledmac-1.24.12"="01is22hyay4xl1bp58g08kn99478fz5l22xdlbaqyr5yg0k4rgmc";
-"eledmac.doc-1.24.12"="0x2h38mlixff4yacqrvz7k4q57cwigal3x10f3k4qdr91q9frd24";
-"eledmac.source-1.24.12"="00pkybywz4j1qcki9gv9mfxqvm6q3m60b4lj2ms44c4mric77wk7";
-"expex-5.1b"="1vdbsxn85gkg24rx3qhkwcc658zjyhkymfspysxkxmmb8rn42y8n";
-"expex.doc-5.1b"="1mgq1knfx1lf0vr32wa2r6v0sr49m0xjnsdy0y42zngfi1mizp20";
-"gb4e-19216"="1mi8nwxa418wqp9w64ya1i0ag0pdm4cx08fkmaa302bkhym92bal";
-"gb4e.doc-19216"="0nzmhjqdhl0x29c70iqb8b96pjnx2vm94nk3xgid942pmx44skxb";
-"gmverse-0.73"="06v5fxz15byps13vm1afrpx365nfmq57200gspqpdch2sji2n4k2";
-"gmverse.doc-0.73"="1f8hccasv9f1wbjn7cjkwa2z9rwn8lwkv657i8n533ccjk6s5xvy";
-"jura-4.3"="1mmdx5zjrsrvh90kkdgigddvb4ih3cflygv70al0jy0mpm6iwha5";
-"jura.doc-4.3"="0zy4rafc7lhdb4gig1y53fsmk6faa2zh3s7b1la7z7qdw7s2gyai";
-"jura.source-4.3"="036ac5chvg67hdj8g82nra7p5jickwq041jixbprf080i0mywvdp";
-"juraabbrev-15878"="1rla1p46nb04flc2grrh1j0wvwk84cd2h1v767xzg2rdsinaxw68";
-"juraabbrev.doc-15878"="1708lfrryhlj2d3in4gvhfl8c6yvhhgi0lb3yz63h0n7flsb4a6m";
-"juraabbrev.source-15878"="0i5xhmx4j6ry4plcgdn8sc9vvbai9vzk9jr0mc54dhqaby2slyxa";
-"juramisc-0.91"="00dkagnyz7xrkn1kdzb7612qsdc00h2mkkhfv2xnw1fhrcsy11gf";
-"juramisc.doc-0.91"="02prrfg5vvy5d9y45hjx877438r8syymjj9q8465c3y3jn4ka9fc";
-"jurarsp-0.52"="0ylww99b12splqpkci2hps4zzi4myfy0agxzz4m3s8q74h4bqj32";
-"jurarsp.doc-0.52"="08bvr93ax4p00lmjkhy09bfm403lmzhq729gjjw6skla4wbvkmci";
-"jurarsp.source-0.52"="0fdxnj42qk4cywsxj8x40bfrkp0yqm7qh54jp3qf79gkj4hj6yp7";
-"ledmac-0.19.4"="0ipf7h58bylrfwg8yzarqvpkl0kr4k3z9hl6cjzxwlh16s5fs76i";
-"ledmac.doc-0.19.4"="0pgkv08nsq0rmcpck9vq1hfb4gnfqh274hclq4grk182fpn4ggiv";
-"ledmac.source-0.19.4"="07fl3lypnxz7sa4kjf3xllwqakhrwgx8z8r7l6x8id96n48zri9n";
-"lexikon-1.0c"="0ql4hzzf94v0pxr0jma4bnkgh73napz4np2zd1jhfsf55sm3axzd";
-"lexikon.doc-1.0c"="0fbz7v6a5pw20p22vyx1mjdr4z39wgf902ph9f9nwawxwsl24v9a";
-"lexref-1.1a"="1whic6s54279zypip228xyw7da5iq8p7lw090z71d8nywjsgllqm";
-"lexref.doc-1.1a"="1vqygg7hqn64d3dxj1sj4nj37k3w7y8r23d8l8x0lb909y285jpl";
-"ling-macros-42268"="1qr7bpa2wcp1hqx3ckid8h41lp8idhqqnnbdv42j2nhcy6f409wf";
-"ling-macros.doc-42268"="0lk4whkamzsf9mriiz06ynpp962w5473ppf4n36q3bb13amyp5vk";
-"linguex-4.3"="16rqzqipzng4xd7yz3i6416231cfphqbwq8n6pfal83awzd660jk";
-"linguex.doc-4.3"="1l0m6k9adq0zr88zbqrj4jl286mwarr6fiy4181bwxm9w9kkxs04";
-"liturg-1.0"="11l8ccpq2mcnpsfxry6zzjihj3s7s76p9plh7afprd7j2nnq1a79";
-"liturg.doc-1.0"="0rhyz3162nzh43nrxwkynr45i4w5pqb5ip53x5j2k2a4cb4k1z86";
-"liturg.source-1.0"="1hn89rf3xi66bfc3kzwbvllfzrxr62gx60ywbh8gkrw813n18lll";
-"metrix-1.5"="11hcw66f3r4rvxy8h0znwgrdvlfvibc6j73pcdb3bvyywb3774gz";
-"metrix.doc-1.5"="0hx74wi8vf57ly8yrzdq6x5qm8l5gi9km4v0ma66i5v40i9jwgcf";
-"metrix.source-1.5"="0i0xzmhqbs91qpznbanlhrnqvgxc45llk0wwb4mfcvmj622d47bp";
-"nnext-0.0"="0vf53wnrjday1q3hrplqklfp5kg57ibyjiijqw0jc074gzhyw0z7";
-"nnext.doc-0.0"="1rxxrnm8vb274c9l6lki1bxd6pij92klryigd40wwwwxzh8fc10r";
-"nnext.source-0.0"="1w3p9ig1jivwyy9rlbzfgcy82h3wlj2ig3rdlaq9k9fx8vd6znah";
-"parallel-15878"="0hja3k53n8v8qzj1vym1j2b4pj7hqszda82s83kw1v5av6kcy4da";
-"parallel.doc-15878"="1i0ls71ib0l3igd52cgn5z0cjz0j17hsj0qc5y4sqg2nvivvw7gy";
-"parallel.source-15878"="1slmdxldvxrvf61aa1b7m09cxpv6jsaw5lvbgqsby6jvgfp4r4g8";
-"parrun-15878"="08cbzlfy5cfkxpgr4igv3282k1dx9bsvsjfdi8b5dhl2gacg4i7a";
-"parrun.doc-15878"="0wvbmjzi8jwx5gdg8zgb4p3gz8v8rfp2hw67q0rm5f9rkza1a3ds";
-"parrun.source-15878"="0d79vvc4j1sysbpy1qdqwd27fai14820z0hqkkd6hrxzq39x6xza";
-"phonrule-1.3.2"="0xv49vfvlfjad65gngbk5022vcdi0w86mzqk60nbz3i8npvncplf";
-"phonrule.doc-1.3.2"="15bgpzfxjm22f4vqq9nbjhldvxzflrpayv51g383nr41j3k4m3xx";
-"plari-15878"="0jybi5dvl6ksjpgfqfrdnx5q25gl5xgqhwax4dk1shf6rbafkgyg";
-"plari.doc-15878"="1js29imppwx2jny1hcvjbkz7cc9qrafgniy9qd11bvjyp3n1vly8";
-"plari.source-15878"="0br0vm2ncrdyqgazdr2p1kvgl6lq124b8h82245jc8yz7mnrz2nw";
-"play-15878"="0gs6iibb9jkmynhvwldwrh8rvalayv8vk8ziyx9qyqsdsgh53bz1";
-"play.doc-15878"="1dvi29x0fdnb83bkqfsv6l2jp9rvvnqpf1paznx9pli8gvgwa1rz";
-"play.source-15878"="0nlyi6ra8v3pgk5lhhvar848mcd5zqbnc6mbqnbxsj409jczd0rw";
-"poemscol-3.1415926"="1k1vq2hki8jq70d0lmw9sbzwhp7mi5sx735wkrz9046xd0qmhq7w";
-"poemscol.doc-3.1415926"="1cdbv1ls20p764vkllgw710fm4v8nbkw8ryw2546lqa21v9ki4sx";
-"poemscol.source-3.1415926"="1l6zsi6x6akb4z37iyllg99schd90bny8r3pz8vddqjyacnf1j7q";
-"poetry-2.2"="1z36zzm75zidsb8zixmsdgngvg1gyasxdz4lcw4ikdwvjmswqzqr";
-"poetry.doc-2.2"="03cal4780m1r6i1g86d2gil5h6n0h8dkiv8phfjcp890y9vdw2y3";
-"poetry.source-2.2"="0y93c9fvjhfs70qvnk9ff7hwq7zyq8hw8h65bwgr3f26b6skfxyj";
-"poetrytex-3.0.1"="06h9aqwryssmzkagr5af598ic2rr5j0m5h5mwaw3ssrxwry86mxz";
-"poetrytex.doc-3.0.1"="07jkb5z8sdc8gp3j2fls8hcqrh5g67wimb0nfmmz5287why1br3w";
-"poetrytex.source-3.0.1"="02x9gadfnianaq3hjrhllrql20p1aa81jv8lc033qj47wml9fajd";
-"qobitree-15878"="0irdc2w96ad7mkgm6jqwia7lk1x4557fm60l98mc6kpd3a9djzgc";
-"qobitree.doc-15878"="001w9a4kxbrx11298gnvjamx8c6plag1gp5b7x9vq35s25kdy0i8";
-"qtree-3.1b"="10a9v90yspc1pq3ja9bzixdq6wxl6q4jxz5na7x9yw9g44z3xaf3";
-"qtree.doc-3.1b"="0ja3xpng871h96q220nrlq2iypk2spjs4qr5vpmri89b5nvngf6m";
-"reledmac-2.37.2"="0lvyd8kag3qmwpvf4ya6np2j71mjl11a3plavcpvsj9zgcmdmpy4";
-"reledmac.doc-2.37.2"="16d2brl9dqv9v88x81xc3lx0a9g84222xz4vayjggppcv2cydm3c";
-"reledmac.source-2.37.2"="1y2i6sn1hjjdw997axbcf5w5368hrc6nc9hrc9macgc5bpal1kki";
-"rrgtrees-1.1"="0jihs23929pzbgpgnb2v9i16fcil9kxkggdv1dvg6xq9f2fh21md";
-"rrgtrees.doc-1.1"="1skw79hvvh0xkjff4bfl0nqdd8znwhhwpdx33v8ns43xxamzmnwy";
-"rrgtrees.source-1.1"="1q7y5mbvnrykrp87kljcxw7zdglh08cqz92iahdsaac4xffnz6bc";
-"rtklage-15878"="0wrvj1d1dmdff3kqph59jbyg22gvz3bhpnyvjd7ih7vzfi4b8861";
-"rtklage.doc-15878"="0nc926q2arbszwsq88dd96spaj5xzkrfng34m84x0l8wbiidbvlh";
-"screenplay-1.6"="14p99gph5jvm0h9x8irh0c4mxb7q4208j5q0d8pd1dpmlvxvzsh8";
-"screenplay.doc-1.6"="18i460n3p05mx325nh7br1fl3i1lfviy7jgl24yc5hwqyx3wwdpk";
-"screenplay.source-1.6"="1fdw0bpf4q294yqnc4svbpyiza9bq7x2m0x5rc0x709c1wylqsyr";
-"screenplay-pkg-1.1"="1xzwvnf16djzsif7ff8b51dq98h2844nzkj2f9y6c75g6rhnyls1";
-"screenplay-pkg.doc-1.1"="0hkxa7gz3sammjdvglvafwczn54m6vcywz6rwqng8qa2hlvb2c3k";
-"sides-15878"="11anl2mfkzkdv5qb0rfw7940z7hy5i43d8hh9nsvzgwfsw0x1qkr";
-"sides.doc-15878"="0gsqb1hzhy1qk29lhq57arzivkwxw1achz08ms1q8q9vxwcsf0sz";
-"stage-1.01"="0i2nq4mxbwlp474iglwyixxs8aac6wwxzaa16i698vy5v0840bz4";
-"stage.doc-1.01"="18v7j7likkwkhwsccvarp9sjg8y7insgpngy765w56zdzw2r5m66";
-"stage.source-1.01"="10ln9mp7rf8z7xg0f7hrssns6kb5psf59r5vbb05xxn68h90j9cy";
-"textglos-1.0"="08932gszahdc5q6pckg9q8bdxs39gacjw9cljjlvghs8vn7jjwjj";
-"textglos.doc-1.0"="1c88my4j07b7ihn07bcii9xxckdv04g3c6jycm0ffhjffw4p7609";
-"textglos.source-1.0"="19hc7lalmbr85pbz3pd3dm696fsbdl7y8v9g1c4l2k7b0i5mc8zf";
-"thalie-0.10b"="0v12fsh5hf77x6r105n2cvjv26hzsn26yc5gwjmcl3gy5b74x38a";
-"thalie.doc-0.10b"="1n082iqbynx9sq563b1d9kkjh19wvbmrhcnfr3h314gfgdmw6fkx";
-"thalie.source-0.10b"="15qb05nv0ac34vjk6b9y2l4ag6sa25wj3vnq3gkrzbvvfy929kad";
-"theatre.doc-0.1"="1nhm56spqvryhmhwmzly939mzv5yv3398lh2lyfhf40rr02mzgi5";
-"tree-dvips-.91"="1l7vgcgbh31hdaaqb9kqi9jmvbyr5429wchyjg5pjjgpffj599qv";
-"tree-dvips.doc-.91"="17l7mmvb03zi7am3nnp60ychx224kn5i3bdl2yv2v1dywbsnl7yw";
-"verse-2.4b"="19yp18fl88zcph3r53ajbnwcr8lbvgahs2kfdg733l5zw3k5pj16";
-"verse.doc-2.4b"="063lkcis5m4zs509hn4z1zg1faz1lsxvjak6c574xasspm45v559";
-"verse.source-2.4b"="1r9pn4dqpr42ng4xk899kxph5sci82dkdx834lyrhi8lsj32g9b4";
-"xyling-1.1"="0gixafnkq15xgkqm2y8qxljfpy1n5nq4ll0lq19sb9635czak427";
-"xyling.doc-1.1"="0s38yqc0xfhf6ap8jc60s24vvmsqhn6f4dsslsdk8i4nq1dmsw92";
-"alkalami-1.000"="1llldpmc485zxlw1k996g3gfffb0ixx72afz3zkj83i78dpx180j";
-"alkalami.doc-1.000"="1315idl4yricb06bh689hhdf9jkc0ckmdygacsx3ywzxj1zcrcch";
-"alpha-persian-1.3"="0673i0l6vq1h37g9jqcp7am5kl4dfbcrfqp42c7cr6a10zhvfqyr";
-"alpha-persian.doc-1.3"="0cfl47cqpwxn1k87h19a0ggayf6c52sl60sdrmpa7sfydhg9w4qg";
-"amiri-0.113"="0s6ri9lsbzym1q6rhqqacypmlad0npxjrr9wf0dc4cnrciz56a4i";
-"amiri.doc-0.113"="0ygizd5qywk8fzpx5cnjrykav75p217aybhdsfhr70l6bcsqhy0w";
-"arabi-1.1"="0jmx0xsb3hz5i25mmqnxgg3bikyr1w26i3364cqrp50x9sqvkgfm";
-"arabi.doc-1.1"="1yipdaiai9fbmrxkacqwnbibdiaa5vskzj40d1hxv6wnkxvj2qkw";
-"arabi-add-1.0"="1ylvj2w98dly6blpk2aicz206rfg5xzqbcjx00j3jnmw7g847kxh";
-"arabi-add.doc-1.0"="1d1wngc0179p7ij7ibnyvq3cxb954sqywxyv5k7a3dg5np9zlg7j";
-"arabluatex-1.20"="1s66v0qns84vhpwvb9if07b9s7957jmxxd643g1mddg36z6pkqfj";
-"arabluatex.doc-1.20"="1rfwl55la33ag9plqwssjvgq47mab2h7ljrw5w6l96vq965c2csa";
-"arabluatex.source-1.20"="1g84xxm5fvp6dzdrkyxcjn4wlih0iydrdyxn93dffx1a9n1c3yyg";
-"arabtex-3.17"="12vl66hn2lhc825fp5z6sv1gxlmcivzh8v0qksjmnlkgrbvj7f66";
-"arabtex.doc-3.17"="15ajpzcyxn55f3knzm5zyqnkd32dbylp6zgg98wphvrxmggcjh1a";
-"bidi-36.3"="1nyd4zz12gxlk5n1bg6vinkm4isy1zi0iq9d6vfk2p6w3qwy9dm2";
-"bidi.doc-36.3"="0wx2bpygghmjxz938qs4gb8739accp7hnwlinrbids3pc38mxhl0";
-"bidi.source-36.3"="08apy9pwz55b1r2ab706slvjnmyc8ik0qz451jyrvlb48gf3g89i";
-"bidihl-0.1c"="09wrzqlldxy3lcxp21rdqi9bnjzza9wvdgssqynynjdmfggahd34";
-"bidihl.doc-0.1c"="1k67d2zd16ash4krnkwvmwx4wl668r0pdg720vr9xq6q3b139y9d";
-"dad-1.2"="1sj53bp0fp8d2d3qnwvl0lm7c6pzbvv8ds9ww3x6qhrna630iwaw";
-"dad.doc-1.2"="1yykrywq662s311l9daq9wpxdcr8l6qifi5bzbnv0vx2372hhhw9";
-"ghab-0.5"="0skiyyxr8l6a6n34lic42lf0rnv4jm5rpmzm08gv0qqq4ha67zki";
-"ghab.doc-0.5"="15vpkpbpnj1w3nlc5wzy2k4fh8jw1a21asc24lj0j6dpb4mzja1n";
-"hvarabic-0.01"="1h8y4wg07bhjcn42z5bgiw8nkgfsb08h80mhsyg0mg3dqrkpx93v";
-"hvarabic.doc-0.01"="04ngis91nsdrlb2cq0hn9vada37ciqsydwaknbjynb5s1a5p172w";
-"imsproc-0.1"="0pkhmc596xrmfwp90w7brrzbjn5rzn70kdpnjlxbyf2j85dr7gz3";
-"imsproc.doc-0.1"="04qasn12qqg69k6isnv2qjpcnfs1nd27vvdpqqdb23z97k38x2xn";
-"kurdishlipsum-1.1"="0b5x438l4m396pmd427zcnl7jyy5ag5c004gyn0n1zzwbz5lcnfk";
-"kurdishlipsum.doc-1.1"="0kw9664fm4gzv7cspj2psczyn7m09qz95agn4j953q39l0qyz6ls";
-"lshort-persian.doc-5.01"="0b1b45nh2d3d3zv735dymgyllj6m8i57icbihjkl1im0nghrzklk";
-"luabidi-0.5"="0flk2g56wfdsc8330grmpgxxmik0sgq9vbw2r51mlzj00dl4wz7a";
-"luabidi.doc-0.5"="0qdbn058p7xlr7s7ivaz4pf0rw4w2lywfxh4nkrr8lxjlszbqsmz";
-"na-box-1.0"="08xixk2hl5w876x6hmp6h044spi0qw1qbgrqklwrmkxkgpa27i3s";
-"na-box.doc-1.0"="0i1p5f2nchl9hyrkc6s3hsqcvmyxsi4dbwyr0mph8slhw2rzl711";
-"persian-bib-0.9"="1yzbap8fwmlz46ngqcy6hwjw98z1cxlprpzk6vg2qw7wvs57b143";
-"persian-bib.doc-0.9"="1rn6p3zbfx6vxdjzxavvbf9405cxk1kv56971n6i2bysb5h22w0y";
-"quran-1.81"="1cgig3cq5057q0mrs0h5mz8l9zpp5xjjzw42kv1v88556wxc564c";
-"quran.doc-1.81"="1n20l8366iisgnn9zdzfcwhqrlg5zz84w30ddm1zjhwnjsycin17";
-"sexam-1"="007lxpvam03cvldnq9q8l2p60iymfijs2yc30cgj7i1lx44630va";
-"sexam.doc-1"="17rn2wf68f16zsr8p1dk3klqapw251zpqc2a7z3b7lgl4164q57w";
-"simurgh-0.01b"="1nhdmdi6qbvx1nd92hxl8vkly82a9nxi7ghj0zpm31c15z5pb7rq";
-"simurgh.doc-0.01b"="1cw434sxnbgq5dbaidn3zn8i9az4q35blcx9lr6yf3m0yy2rl8by";
-"texnegar-0.1e"="0qrnysss751vsbgd794gwh8lwrq6gq09p55qkkfngc5ly29icx9c";
-"texnegar.doc-0.1e"="0jidhqlklr8yd48san5iyy3i5pxg8lygf4xi0gcp3ps7xcb0m5g1";
-"texnegar.source-0.1e"="1bayaa5vffnkmvdmg64q5rsnh69grr8qirwd41mlfi9symh9gm2j";
-"tram-0.2"="1bk233y9pin9r76vsbkg5j2wadp3c6p2x3mgqchnmlz2ip54x336";
-"tram.doc-0.2"="17b0vw6r2ijgxs3dix1ff9r342vkz1gsa603mxixxxik62j5crk5";
-"xepersian-23.1"="0y3r7hy2sxwim38msy87rd338hncygc920140i8bs9ii9qyxddwx";
-"xepersian.doc-23.1"="0g9n3pkd5zj705iyyw6rp4k88mnqc8kl4ng0jvcma1wj48xjzl83";
-"xepersian.source-23.1"="0yj8z89hhf083fzw4kr2475zl7q0zg5frh04hkj617a3cylc3r12";
-"xepersian-hm-1.1a"="0qj98xrbnh9bam0a6c6vy7ffaia3iqsx5s71bjlmbnyl6y2h8lwp";
-"xepersian-hm.doc-1.1a"="16f5x8jv8mqf5a32gvrzqwh1xz4s5nxwqsq4q8sg1za6micqniyg";
-"xepersian-hm.source-1.1a"="0zcq75xzkr0bgpf1xdsphrkcv70q17vs8jkhzxvjrfzilh9h3iqr";
-"arphic-15878"="04a15kip51zp4bhrbpiv4m5pm587xbia792ckj17gj281ysd4817";
-"arphic.doc-15878"="1z1z7nnncp4dpb91bajxf3li47k011jn5jbxzgdaspa5mjvw32k8";
-"arphic-ttf-42675"="1z8fa90baasp8j8539a4kzilah602lik012az7i3pc0dnm4m2w1h";
-"arphic-ttf.doc-42675"="0nfbjnprd71dwp2dxmkmdggfipa36w4qbps82czn506xpzh07lav";
-"asymptote-by-example-zh-cn.doc-15878"="0854pbh3rm21rzzbhai7xijzw26qawffj4wd3mrwbva1406106ff";
-"asymptote-faq-zh-cn.doc-15878"="0z09f5as68dz66dlj370xfx593bv50ihxx10zxmm9lk27ymr52hb";
-"asymptote-manual-zh-cn.doc-15878"="047l3bh8vvk185wkazyfw4dm6893xpa2ksn5vfc57r5rv4x16wmb";
-"cns-4.2.0"="1b9hs7svh6zm22vw5zv6nqmdnmw453xv15gl5bgm4n3f1pz757wv";
-"cns.doc-4.2.0"="0zdjgg2njgcf35jvbhkfgiv3b9cccf7ds8d50ga3v1ia9i4h9xq3";
-"adobemapping-51787"="0xarfk18da0rl44i2w9acvnivdbm1sj04v1arc40yywdy6pyb8sg";
-"c90-54074"="0dwi568dsqyc7qw1k59f6i6dp8d22130zgppzqpm4xwp1x11r4f0";
-"c90.doc-54074"="08mnypp4hgyq62wrir0fma2gaw9c57nibc54hkzknvzkkc02slxg";
-"c90.source-54074"="12bn9sy8dcji52jnzicjrwdp0j1m6c6pl6fk7i505djgrxs000ab";
-"cjk-4.8.4"="189r8lxgrdl710k6cvnnsazhmp767da75qn2xax59mcfg5nq3z32";
-"cjk.doc-4.8.4"="1kbchcf6i4svr0ilhh8h0q31js77hkprx8wjz0grc0j35rsclgp5";
-"cjk.source-4.8.4"="08lx49bj7jy5yki8zkynssi8k03z5c27782ajr49chw9slyrs49d";
-"garuda-c90-37677"="1yz7zpwdvvhzcsfcz4dc40nnaagwrsxvskc5bymmdxv1zf6m3npf";
-"garuda-c90.source-37677"="1ngmq35xjs1ipr9y9agxxj3kzncbz3f8wbrkhpml45r52jds2vnf";
-"fonts-tlwg-0.7.2"="15npkl9qypfrvsjwwqi9awl56di7wpr200pi4p0rsr2bx1117mlf";
-"fonts-tlwg.doc-0.7.2"="1rv1dy6phfx807df03d1fbhydcddqpdply2a270gsqh4agax69f8";
-"fonts-tlwg.source-0.7.2"="15b8j3fbhdgz3lksra822igy4hwy5gyynpl5wzbs5zh1yhzr517w";
-"norasi-c90-37675"="1bsx31al77ci58p1zavp5q9dl8msdjqilb19fglnkhgg8bjbqh7d";
-"norasi-c90.source-37675"="19zfqq52ky4m5hcgzyy830jr1bgpbrhc43ygdvqyb28pdfgm6sd1";
-"uhc-16791"="1xvkp384p0xcba1lbi3b2najk6d2w1s78yi6vgppmcjrd5limif2";
-"uhc.doc-16791"="0q1wxcn2zclpj4bsn47jgd78xmp82a6x8w068j4ihza9pfvbqacm";
-"wadalab-42428"="01lf8nlga2nycr23xpzl6xas2nlgajjmia4lk4zvjdgcxqnipfrq";
-"wadalab.doc-42428"="0m8x6plkry0p3jabvhgkccb2rvlsz941di4ihfc8schkq7iyjlxq";
-"cjk-gs-integrate-20201206.0"="00rdlkwkaclzwawnsqzyf07l2lvxl1drfw4qvq2lg25ld3xni1b2";
-"cjk-gs-integrate.doc-20201206.0"="0x1q9kgl7y2nc6pq3a7bzb9na6i6kw629g544k8a5rgfhkzk9g4p";
-"cjk-gs-integrate.source-20201206.0"="1h788aq405c44alpj85lyhmlnvdslc21n6h89vx5dggdfypbq18r";
-"cjkpunct-4.8.4"="0wvqmf60gjm5m7fcc2qqz14lfzxcrqci3lrla96hxkqnqraiyb84";
-"cjkpunct.doc-4.8.4"="1ja16xaqfg5158155flfvayr39k7grij13r1r89g59va53mpsgrk";
-"cjkpunct.source-4.8.4"="1pn85n7n4fp2p5pq3w66kb5zlnjk1bdz7fz4xsa6z31d5216j39b";
-"cjkutils-4.8.4"="0wl33vh7pcrbyvxy6bfcjfv0xnawp4gb76cmq2304n9mp2w8dg2h";
-"cjkutils.doc-4.8.4"="1gvbw4yc0knc86rydscpwclirg0mbvl3yk4fphwx0wwr4vzi3my6";
-"dnp-54074"="0jlvb0nps1ij4sgbg3clgbk34p80la1fhh9zihn9fhl9nrqk637r";
-"fixjfm-0.8"="1v4gn6bwlb294sxrqgy6j9vx2dp7plbagkvmw7vbvp6wk8dkza72";
-"fixjfm.doc-0.8"="0wiihlpjzvmh8dynf0nbhmn8raxflqxmzpk97s1qv7kkvpc79sy9";
-"jfmutil-1.3.1"="0mgx44gr6dm8mp35k2z766lcmc4pmkb7jwbpamvz3x6zv0f925n7";
-"jfmutil.doc-1.3.1"="0y4hfngr23gf5spzjjfj9c6f863x2hvjrf5v7m80zjpr1r9x4p1a";
-"pxtatescale-0.4"="15swkjxfxznb101hvlqcxpplxngfaf0nbpkw7j2fgccyqjs5fhfn";
-"pxtatescale.doc-0.4"="1j6yrpyfhn75qkv03bnwj9i3s4lmsh47sw696y13cflvdmsgs8n6";
-"xcjk2uni-1.0"="1x77gmg738r2zbyd0mc7q079hz5wbvabyszmwizfdj6vflm86w3y";
-"xcjk2uni.doc-1.0"="0xig1w251dsn2qd9iywcdc20plibadiw8hl1iwygpzfa3187djjf";
-"xcjk2uni.source-1.0"="12hbjjdypk0s5k5iaac80n2n4z1zlkg5lp59y58dwnn4y1dx6m6z";
-"zxjafont-1.2"="1blq826xrv3wqkpdndd21wmd5v4gp1b45yw9rkb1g2ypsighmbwg";
-"zxjafont.doc-1.2"="1vaavdxhjq72ri2aw5qnsf8jiijwn1y36fhgnpb1x0dhkhwz8076";
-"ctex-2.5.6"="0ckxf94x3117m4fwrjyzww0diwwfsx1hg1wpmh2l2zc3pdg69r5h";
-"ctex.doc-2.5.6"="0p1xx2zpj5nzklsx063j51yh7pfr14iicsv99aa4lpjvdad55rkc";
-"ctex.source-2.5.6"="0nzs5bllvbf8mki5j79cqq1wbybgdxf1y66k870llvp851w0can6";
-"beamer-3.62"="1jl89gvk3ka810d0jxk8c30rw2xkv92jikhdz9150xkw9slk5rq4";
-"beamer.doc-3.62"="1n3i17rm82s2is8csh467y69f2n0s9kwi82m3l81l7a78xivzgkq";
-"pgf-3.1.8b"="0llrxra7574cli878z67rvm5wab8ny595sl6m3k79gzv1zlp8k10";
-"pgf.doc-3.1.8b"="0ky0rk0mx66m2124b4jjrcjb3w05rsjw2sfrnrz3kj21vyiijlb5";
-"pgf.source-3.1.8b"="0g81wcsn7dx21q44b29jscikxayw1pa5vqclwxvd54p1x5f98ch0";
-"fp-2.1d"="07qzdfrk2y499cz9jbpnj024r43japqdngbxg4mbapw9cp8066d3";
-"fp.doc-2.1d"="1y1xwqf6mskg10h31ws2pvn5y6g9asflc7l9r24fp2fi4254mvhq";
-"ms-57473"="0km07va23z5vzx87ndrv9mj0fq4yw0kv7qygd59smhm4q71yspkl";
-"ms.doc-57473"="122xwapvjzv9qyh3p1884bzdpalvqzzkmzd18gqr3q3r4cmk2q20";
-"ms.source-57473"="1myxaybppzkdl14h4g12xcp57zqjzkzijryv9nd6hy6ggl9y8i99";
-"xcolor-2.12"="0jaiwkqynbi9f7j4kacvhzcahndmzvrb063r9524p2imv3gia8c7";
-"xcolor.doc-2.12"="024avysbkx4h1z1l451pfy9hdwny2bks5c34m14qlsb97qhi1smw";
-"xcolor.source-2.12"="0jjdrs6q191dmnk941di50pby0mifriz247g0dflf1a78il2j4sq";
-"translator-1.12c"="07lw6zy3gwv3w5v8qpjd6fyzlz1qp6rk4qf70lrsd567ybw0vmzl";
-"translator.doc-1.12c"="0icgx47gy6m3b92q7knvqjb4pdxikj3i8lj35kw9irhzrg9yvndr";
-"everyhook-1.2"="11r4932kly5zmksmicapqxndqw4cdq1sg2x9hgffms6v8m5cwkfs";
-"everyhook.doc-1.2"="1g9p36ki26vqdfiwnr77jxk1bna7733dml5k4s8nxq1drsklwqwn";
-"everyhook.source-1.2"="0hv04cn2j7sf6032jxv18py368zbpp4ya15wv18qymbk6yv5najs";
-"fandol-0.3"="1l6h2brl2d6bnam6p6j0p1d2s13jnva5zkr1xr4sarzzxj6zlz2r";
-"fandol.doc-0.3"="01ax7za7wcr644ncpv3rpfvl2ndqlppqnjzbjp8y2d0hawc3k5m0";
-"fontspec-2.7i"="14fl3r5zvx2va4wl3jikvlkan9w8cc1g6ri7rm2rizlksi0dad53";
-"fontspec.doc-2.7i"="0bwfq45mx5cdxjpwjdhdjxyw400933ns0zynxkijcvkvzhjx4pha";
-"fontspec.source-2.7i"="062mm06inkgmpv58c2rqc9cpbr5fkg7bznabdvyq8rvvy4qiwd5n";
-"euenc-0.1h"="0lh0k5g6icbbzl1xzzcj4sw7vjhqpn59y9xbc6cn58klpww8ywdh";
-"euenc.doc-0.1h"="0likhzn8afsq302aiyjk6adhjimz0naqffjrj2s06c6681z2inh1";
-"euenc.source-0.1h"="0bwr4cabh3w4jbx476ygxv6afxj6sblszr47awr2nixx0m018ndj";
-"xunicode-0.981"="1h8ixz9zy9izv5j7555094jiwfp5js5y8mp4bh993gn9xn1rb6b2";
-"xunicode.doc-0.981"="0jrxnpas07np9a30cybk6jqv4ng96vjqpyyadbl55szkiylzwwfi";
-"luatexja-20210319.0"="016glnf76gbbhb7japvk3p8x37i31pw8hz58qvn610cg88w2r755";
-"luatexja.doc-20210319.0"="04zjjfm3yd3kkscspfjcplbflv9nsv6iyain3fyv2z4lk97i8169";
-"luatexja.source-20210319.0"="1ld91sfhyavw0v6zs77df97mnkfip4alyr7a66qgzrgn1vpp920q";
-"luatexbase-1.3"="1zrwz661gilr4iizcfsxwmfr9dgx7v28lypaslmvp3zaf52zl2q1";
-"luatexbase.doc-1.3"="118azb2x20gyaj42r5w0749dx8rzhhri1nz3szy9vv64h0fig603";
-"luatexbase.source-1.3"="0vsg8q5k8l66sy3d0bskr6cv1f95lnhap3b9yl754x7ynv272xcd";
-"ctablestack-1.0"="0b739h1ndkisr49d8y4q0vnbl9j3diqwl9r1ah8wk2za1ww2mi54";
-"ctablestack.doc-1.0"="0qmshnvbyfjhi8bb989hbffwn3447r91jp46z1yhhmcbjpr7clk9";
-"ctablestack.source-1.0"="0133xxb7470lyfssi1kp81yr1zsz4d8ai3qjy72wki0p7ijkypw9";
-"platex-tools-57729"="1vzhnp93lpvv59qlj3kd90lb5blyxfq32k1x6g8301yqmqpxf4q3";
-"platex-tools.doc-57729"="1rk37vwds2qhvlj8r9gz6x7vzsp8zjbwr560adjh5981a03d0rib";
-"svn-prov-3.1862"="0r4s76i89wh1fjrmf9imf6y2sf96xznznyjfcivi3sp8dvf5ln5v";
-"svn-prov.doc-3.1862"="1al7qiwd5ajjpvs2f90p7frlkd389p1ama019yl0nnxc1l45m067";
-"svn-prov.source-3.1862"="0cg7qwgv20jvvw6bibkskj3p8jc5l2mhgzwq6x0wzy1ds7x1f6b7";
-"uplatex-57972"="0l8vw2fcsvrq0zjixwizijib9v7yz9fh6ac5hs76bjm3r4xvj870";
-"uplatex.doc-57972"="0386xnw7fazkax5zp929mqmwqzhanysip8zycflg5n9gl3p9rmfm";
-"uplatex.source-57972"="1fzr3vh98nnkr3f4xh6cs3i5fkqqh08530kx8rr70325714mrjkg";
-"latex-base-dev-2021-05-01_pre-release_2"="15z8vjz6a6ymkmkxma5p16gjvr9nsqx6wkxbgq95ljpp74hg3j72";
-"latex-base-dev.doc-2021-05-01_pre-release_2"="1s94lk12cyrnkfb3wjvjhzxg4dwfic17pmsqbnyladc6qx3r10ys";
-"latex-base-dev.source-2021-05-01_pre-release_2"="0zbnz9j2qzmkw7j4wimflg04lh14jxhzvssimgxqvc352zhh62pd";
-"platex-57972"="1nfkv6g4193wlyq4r1wa70k4ilvkkgi0iv6ka59s2c7avr9ji0j9";
-"platex.doc-57972"="0w6kqw1xdw9wgn4890lspskm4cvznr6d1cbi8nqgv8dfwxvkl0wa";
-"platex.source-57972"="0q1hnnkjchx1c6pkpwr6fqp2lyhyiz9izs9x2m5g68p0764zvk0d";
-"ptex.doc-57972"="0c4gyjrwcxhiim557m13kfnlbp9hc6781z78nhabgg6zd7qb7m6m";
-"ptex-base-56487"="09j5xw5j57zv733n9r6ac54fn8aiv18xdvhbphzpgry98kh0clwk";
-"ptex-base.doc-56487"="0nkk67k9h8iiiplg5jcvb1gh8j1flnzdg40kdq475zlhigima33c";
-"ptex-fonts-46940"="1vvgb6kxl4py4knh9jqnwjy5a9xf0r0yr8n6rihpxmmw3lymwrip";
-"ptex-fonts.doc-46940"="1fys51jjzzmcxrkkc2iq6yx5p68mspqnhm3gap292f7qbh2n9jp7";
-"uptex.doc-57972"="1w0wvd77mvba1qszvz8j6kpbrsyjx413ldpi7bz87al8qcqhj9p3";
-"uptex-base-56832"="1sp3jqkxhylcqxm5hlc0gvgzs7h6xfirclppzhdwm7g4v1ckf0ni";
-"uptex-base.doc-56832"="0d82xasqjq2mmmlcn833jjqrpb7cab2d36rnw02ivbrf07m8i1hy";
-"uptex-fonts-54045"="0q4rn470yg1d892mb6g9z1y8y3w1rw7a66ag5gal6j0ndxllgghc";
-"uptex-fonts.doc-54045"="1nc9fmaq2vyp6387k7rdpvpzclabr2g30cpng5ry17k3qmliiaqz";
-"xecjk-3.8.6"="0whcqadziv4xdilgcl59dgfdd9m79944wjk73j3ynl6djvihxiwj";
-"xecjk.doc-3.8.6"="0w8vq96qg7z6brf5q3ckqdxwczc5cgl19jakn9i70p27nxci6dny";
-"xecjk.source-3.8.6"="0wwymwnkdfhmmc0c6zb5r3nbiznka0kykcm404hyjixjqqcri3mp";
-"xpinyin-2.9"="107l74kvfwhk3r325hpvvs9p92s07mxq46qlvdvaq4yr6gjvlh6s";
-"xpinyin.doc-2.9"="0w5pwgw1hd8bpl4j8nm6qmv4jdj25rdv549dfhkwncxwb10ds5xq";
-"xpinyin.source-2.9"="1qi4paa3bvwhny0xysq8a88czzdn736mm7fg7cvxlclfn5v9r0xx";
-"zhmetrics-r206"="094afdf0mwb6f5jvg7z7cs5xinia71cnlaixcihliai37kdn1qss";
-"zhmetrics.doc-r206"="0achyp4i8dfhrkr9jddp7qzdifcqsf28qaqdnyb76525mvgkip5y";
-"zhmetrics.source-r206"="0hic8n6kq4sx2dc8vb34fhyjrbbxp50lllyj5sh2ld9s5fwgm3yk";
-"zhmetrics-uptex-1.0"="06g61qm3ryy6mvvaq4whk7084hjp544dig57mwcxlgp6cfs0fq8l";
-"zhmetrics-uptex.doc-1.0"="0ybijj2hjm4byli3yh8q9lgb40bdpq16d9273nrmiyy8szxa20qc";
-"zhnumber-2.8"="0ijvfd7pkg9hqxl0s3h5yj9zqw6p5kinbang8v14h6bbb0nzvhxs";
-"zhnumber.doc-2.8"="1qvqm1plnxjv4ag7japic9kzf27c69hdsy92dqad6n66q3v22kn3";
-"zhnumber.source-2.8"="11ydch2nd0l1w62c78v9i64zcl16crvx7r1gq2lj5zjfa5wc9bg8";
-"ctex-faq.doc-15878"="15c0g0x8w7vm3hyn6lk60jf66akyfcq6x8jc2lnbjx8ydwgb26br";
-"fduthesis-0.7e"="1dcvn1ydpqf01vgfbnyx83bwcf8yq0p1v7b0hx7bd47ssj9kn6xq";
-"fduthesis.doc-0.7e"="13n0f40hfg9h9yplhwv00ggxb3633inx4k8w9yx7ffzf74gjf7d6";
-"fduthesis.source-0.7e"="0816bas2p5n3x6601b3sin7kiaxm40a549gr4xydxh1ijdxxn52a";
-"hyphen-chinese-58652"="08sbasjp9b4wl15zmx0diayqfa9i7pf65nnsa98lbc9rpyydvhn3";
-"impatient-cn.doc-2020"="1pc20pb0las3slam1d9hmqigipmr6r98wwif12m33mm750vmq65i";
-"install-latex-guide-zh-cn.doc-2021.2.1"="06lz1mrziimfgng5sls31i8z0g06zsvmbmjvng42ra34ybmy1xvw";
-"latex-notes-zh-cn.doc-1.20"="0w9rmd7b5fnfvix653n9vbnn1k8yxlaaak79ipvm8p53dx75xfxd";
-"lshort-chinese.doc-6.02"="1lmj130hybwidxp1kba2684vm4bqvzd1ylnnj80w2wc60j8d1xkd";
-"nanicolle-2.03y"="1sk2frvlsxzrl5cv1c1azqpxbpfr4b06ssli54j0p5aikf0rls1f";
-"nanicolle.doc-2.03y"="14zsfxcyw2ckdsi3fg5qwxfy6d0yja310ycxsi3xrdyxyia9nrd5";
-"njurepo-1.1.2"="070jmqsm9caidgc0n1cmcj2v0x8dlxxwv54hcqkrisaf4nlkyyk1";
-"njurepo.doc-1.1.2"="04hg7gxg0nplqpmmagqynnddxv12qadamjy3rj1sxhwxgjma9c5f";
-"njurepo.source-1.1.2"="08fan5igmdc43s82s1adq7ymxpvahnp08f90p3p4qlqanj41yh65";
-"pgfornament-han-54191"="097i0gyxxvnajwfbblr52s8qw2y5ld52i4rybg4lk130qggx2v5g";
-"pgfornament-han.doc-54191"="12vayalf8hjaapdfdnhr6jnc2x14l0kxak3qwi7xsn3cafrsfm1i";
-"qyxf-book-3.1.0"="08v4n8lc3qcxjzfvwqypnky9zhia7ylwq5f31arxgdf0wq4gyhia";
-"qyxf-book.doc-3.1.0"="0i6g7v0xdy26rdy1kap0b4pnsz8xjm1h90dwby8y0bqlxjhd509w";
-"texlive-zh-cn.doc-54490"="1r8n9k1cy7798g1rg1hyj6g945j9649c5hhqf8hm7a7abzx7w6ll";
-"texproposal.doc-1.4"="1yxb3yagljsdp4s07fzd6498889i7cscch68fb77jbfc2z4srvsy";
-"upzhkinsoku-0.5"="13fm9r3s01003n8ykbq8plx3xzj7p9bz958ylkl9f10kd9favr57";
-"upzhkinsoku.doc-0.5"="0hd55x231kpcl1rmds601a2k1yzvhvfks7sg0424gzw7wirhns75";
-"xtuthesis-1.0"="1d68hx38gwwscshdm07rcg75zjbsvk5kyliy5rx6z5jp75k0fra4";
-"xtuthesis.doc-1.0"="1fdr5k60zxjb75vv4m6mj1kalka1kg7cw3k5j9a53n01m2w7q6r5";
-"zhlineskip-1.0e"="1j3wkvd57kdwhhny0dzw0hqqnv2ghx1mdjgyzrhfj8gf3fifdaym";
-"zhlineskip.doc-1.0e"="0hy14njxpzffcnyciyc4zbil6372b640bshfw9jq4wyskwk3i45h";
-"zhlipsum-1.2.0"="0rvwbnqzgbdihdavscn8mcc7hy6yjdzj2fc2h3xs3i77lfa5140d";
-"zhlipsum.doc-1.2.0"="177l81c3zbgdvjgr861jn917ps174zg8bab824f7dx2gj5mhdzgf";
-"zhlipsum.source-1.2.0"="098fqbcr9fdv6f6hjaczm3q28dpx0g8xqjykg5hyx7nfp7nh6yjk";
-"zhspacing-41145"="0h588z408lggk7370l9kcssz2hn9lz19bnakadygrklsyhqh9pzh";
-"zhspacing.doc-41145"="0s5qyrsi5nw0vppgx90lzz3ra121jgm9hgzg3z791imlxgjn8pzr";
-"babel-belarusian-1.5"="1jad77cas2x8nlkh72rkxi3bqdlqzichqkxd3bdxk9bsqfhvj80s";
-"babel-belarusian.doc-1.5"="08lb1909wm2r4psppcbn1sf3zg4a8qp5y4i0b6kksfp0n7v1nckn";
-"babel-belarusian.source-1.5"="018jayyq2mzb89l60h7f9vzx2zgy2skklbqqx9zs3krg23xy2i6g";
-"babel-bulgarian-1.2g"="1lflnrgn8si78aj9ms8lh9lb07maghvqlnrc7i3lmgn1qjrlvzqx";
-"babel-bulgarian.doc-1.2g"="1lb0kxx7bxrllyb7sqs1gjkqv7414jvs2kl06cnrdwsrfbr1g0kz";
-"babel-bulgarian.source-1.2g"="1wck40na2vczwni0kk1a8c1naczrcwx8sql7j0la1b4c5dcikgxd";
-"babel-russian-1.3m"="02zvg65m1g15a1fbin635gvx2mxw2ljv4srd0wjjfcpdyfg53sl6";
-"babel-russian.doc-1.3m"="1bs2q9xxqyjvpqxr3zfbmk0lkf58jg1ksi5a9mp07vznzplz01i2";
-"babel-russian.source-1.3m"="12ik2dwkih2g0gqpbg83j0kcfwsb5grccx27grgi0wjazk0nicq6";
-"babel-serbian-2.0a"="1bpk4v943cc349clqlrqk3z4qgys9hcy6i8f0dih5sf3m4rkz33g";
-"babel-serbian.doc-2.0a"="098v5c5ncjbbihz2anzpnxv0agvyvp2i2zp4n95madqwjwj9hy9w";
-"babel-serbian.source-2.0a"="1pzmq241c4ra9ms9q0w8rfjihszz84yh34wg0lbn1w2f82zmvmp4";
-"babel-serbianc-3.0a"="1i691hb5pjis0g9vahxi6f4dbi1rxjl8wd497hnwq6ca4qv68yq0";
-"babel-serbianc.doc-3.0a"="10bdkiq26h6ack65g0xfn7s8vbbj2chdbcdphzhb5s7w8wa3217v";
-"babel-serbianc.source-3.0a"="1dn73rsdf2mrzcd5ggz33fbqfmd7rqvwbsm4var8s7zlgfw386ir";
-"babel-ukrainian-1.4e"="0fm0sbr6i1lx2zg90w3mlwlyg0j0f11ya6as2n1w4gbm1inmc62w";
-"babel-ukrainian.doc-1.4e"="1h3ag9pybhzysb65xg3m217jll1h02ks04icrlhkp97sx3gs9wqn";
-"babel-ukrainian.source-1.4e"="1v7w99b86iclp16qxdjfqsxnh2p9zg669pwdlman1467y2z13p8s";
-"churchslavonic-0.2.1"="0f405qij680p4jjacjryjgqvb6ysra52qmydqk5zgqyljrm9h6hh";
-"churchslavonic.doc-0.2.1"="1k7imx74l512fwd97bsqy1k8jkbkf2b97lr1iy4pp8jibam534rm";
-"hyphen-churchslavonic-58609"="0yh63znzx0bqqqr6x70c7laikxx82ph85jw48i0jh9ziv0n5gq8s";
-"cmcyr-39273"="1fdsd6ks48rvbvg44ac01z89rbd4w887lg2f9wqca1byx142jg3h";
-"cmcyr.doc-39273"="12bg7k2gf206gwlg89mqwfadsyznpwl2nbzcz2vrnvrh21z81s1c";
-"cyrplain-45692"="1wdcibxs0g53warxs6vz39s3chldzh05p7v1ksskppghg5qzgh8z";
-"disser-1.5.0"="0kksdx0m0lgb7f45g21yzfh90id3pzq17bhff8x7az0djb6n7zk1";
-"disser.doc-1.5.0"="1pb4gzw1yx3kx6yxabm4wj99gmnwmx9vw30m3l21304axdxgk7w4";
-"disser.source-1.5.0"="02awlfmhyi2cahd0dkhxkfiqqg6jwmkksv6134lyms798j0akv0z";
-"eskd-15878"="0cpaix3x3qw5mgaim5574pc39hypi42kmk7yvnbvf3qj5bv7jkyz";
-"eskd.doc-15878"="1zwpxmr721b3ij4b4zvkncddy85d9s9ma7llajp36qh4vl0bc0cf";
-"eskd.source-15878"="1kfyrzs1swin4ph70ifm1mnsm77dprd96rsw228liq1cybn5bgii";
-"eskdx-0.98"="0h11378qh1y4c4ac3vd9pcl93a09kpsh0vyqcg7mfn01dgmqfam1";
-"eskdx.doc-0.98"="19bcl4szagigbd2jrlz60vhhphm86667chciwlk05k6hkflg595w";
-"gost-1.2l"="0b495h3wwvwzn7dilj2am4h934y7b4fm3g3j85bb6i8fpqxbpikp";
-"gost.doc-1.2l"="1as0a9pc9bv0aya47ir77vlwv2hqaapl1ks70gslfqj57082whwa";
-"gost.source-1.2l"="07jn8ji4fa68mlq381lcmvk5qcamiczain2jlmpqcc9cfxd31s3z";
-"hyphen-belarusian-58652"="1n5md9kf7iiwqm236bkdsl4fb4vd6a03b6q1arvfa4l4yh8jvr13";
-"hyphen-bulgarian-58685"="19h61n6ip8ja8kn8p1fb79lfv15pfzdhhzih0hg15cp1891nzlql";
-"hyphen-mongolian-58652"="1mdgs6gcvzly6y2i5rlxajk2qxjac0m91ayqb079mz8yxwvmq6xp";
-"hyphen-russian-58609"="0vlnw1xn92ncl31yh6i7k386n0hp6vx90lgb1kxs0a3zrxcds0wa";
-"ruhyphen-1.6"="0pizl8szphgyq12sbpgsw25x88svj6vmf8j7ry23hvc9bvjibck7";
-"ruhyphen.source-1.6"="1s0wscvjg6hj9f8arjsp7b9m7nqszqxh2wyjrx9i2qb60n2kaaac";
-"hyphen-serbian-1.0a"="1v0v281ws9dyivqd1nrb5ms106vlvmsrvka5jmnzl1wnpw34z92c";
-"hyphen-ukrainian-58652"="1jpi7argypmrx4yvc23dx777r157c7kxgwpsix7cjjihakmx1s6k";
-"ukrhyph-21081"="1fnh98jcbn9l09mi952qrdw0dq0pjykwgwi35zz2lz8h8r750ihw";
-"ukrhyph.doc-21081"="0bbj125zb494g9x160n3lsivims28w0drhfmp0c2920cwhk4m0xh";
-"lcyw-1.1"="1c0js52z8mgfbr3lgbvnhc646ggvsvgr7w1mq83lyx0pvnlqm3aq";
-"lcyw.doc-1.1"="02h21pl11ax04q5psazgxpm6xpb8lljm4b08bbmivpwbm0z1namn";
-"lcyw.source-1.1"="0zf06l74fzlici5dzm3ggvz3h66dx3yjxmb7qz8xlsk5fppyhcb4";
-"lh-3.5g"="1k2nn4zpxdgj3b10xdqzldcdbw56ws9735wp0yajkhxl72ms0705";
-"lh.doc-3.5g"="0zvcl1zfbn7qv9069hff2a2r2d33xmqr31l4di24y4p33y3ylprf";
-"lh.source-3.5g"="040n2hbkaypam4fhyb82ncy1sfyvg7fdhykw9fnvy42mlzxv1p3y";
-"lhcyr-31795"="0civwbn156gky4k51189s9lpqcs06wjr32pviwb1gzsfr6rc7vws";
-"lhcyr.source-31795"="1pwlcsilza9f2f73qsvbr2xxxbs2dcms08jxjlnpk8fxcpiy8j6z";
-"lshort-bulgarian.doc-15878"="0qg23asq2i5mqhp9xblv5hm3qxmd5886d5x0gq1fkdbyy9gsawi3";
-"lshort-mongol.doc-4.26"="153k4dzia30fpx847wli7i5p407a808gmj3p7jifq5bpx479qg1g";
-"lshort-russian.doc-55643"="02abh69xl43p56fcciyan4j0z4mqq2j7ynwazq1nywhz37d6zn7y";
-"lshort-ukr.doc-4.00"="1nsah1h3z3sy96a9x0mfdwby7pvvjwq7zxfv2s8nvsbvnn1al17s";
-"mongolian-babel-1.2"="0qv413sx05pz5ri4p9znb020nhb8m2ybapcdgnxvkdamgbfvi17s";
-"mongolian-babel.doc-1.2"="1zprq4x55rbd667ll7a1rcscbqvg3i4wafmxnv4bksdm8p512w5z";
-"mongolian-babel.source-1.2"="0qf83v7iphfavxh7kh1zav95r6q3k0aiilzwnc0mm607bkjzc2x5";
-"montex-IVu.04.092"="0rgf1rflrf98jayyhj1gxz0mkw74qhd88b4i2ccf3mm0kzwlvw0a";
-"montex.doc-IVu.04.092"="0w9izkjmb90d4x5j1azhlskhgfmxh67jq1awsdv2s52psgscpfm9";
-"cbfonts-54080"="06641hiw3yahh28yq3bnz3dc6d25als1d8kbjh1ldab55gb3vz6i";
-"cbfonts.doc-54080"="1vlhqfx3y85ym7xaqzr7bxkzm3am8806s6bkp50mv58r914xmlz3";
-"cbfonts-fd-1.2"="0gaw2v82im1k7addx320xhwwq28mcm2xkz4z90pw09r848s9fsyx";
-"cbfonts-fd.doc-1.2"="1arnjpk1n9mkva1f9gsh5834kjb7m9rd49kgn3jf6acmdac67rv7";
-"cbfonts-fd.source-1.2"="056b2x1fv2gvy7ldi9v1kgsla7jzhvl3lsd5wl1v0sb2rqr2jngv";
-"mpman-ru.doc-1.004"="1x3drpi21zcmkhkscvl4l7805wskqa4zskydb33i0asss5p62396";
-"numnameru-44895"="151c13r8arj094jw3zaymz6i7invgpyqr95p0qnwhj22z418pj1m";
-"numnameru.doc-44895"="1rrargznsmgq1h6a2ixxr9bg57zcrs9zwhxgz0ssbscdyvjqik8n";
-"pst-eucl-translation-bg.doc-1.3.2"="06c9ajnfl01sl81z5r8a5lzmaygq9rdmgym2v40y7xp7z033gwwv";
-"russ-25209"="0jr0x81xc1zi9vhgvqy0hcga48nhkj9z2n4rd5303b8h68n92yfd";
-"russ.doc-25209"="02dl5mh45z9n2b59clcqnaj9fsv79jw46ph3303mlx7plyvdqj8z";
-"serbian-apostrophe-23799"="0anhf0xj3pm516sxiby2j3pbh0cp50ipch2s5dh037h8bfmjgsbv";
-"serbian-apostrophe.doc-23799"="1r7fsgsggbr8gf973a8nzpq4rjjpmzbcqnwc8qrlynfiscwc2mjf";
-"serbian-date-lat-23446"="1766dw6c8skacjbbcd0d2lvy1s57vjl84c12xf1w2q8kh6p4lqk2";
-"serbian-date-lat.doc-23446"="1k8lnnhb010rq872yc9d4m8s3vd1my93qydv7x8l80xyp64sq203";
-"serbian-def-cyr-23734"="1zxl15y1j964sp4iys1rl4gyaqs13hi5ms9rhc7944p36rdf32p4";
-"serbian-def-cyr.doc-23734"="0nwfxr85nf19ddk9b7hhin84jpimsx2hm45nzh136qr5jnr1g3hz";
-"serbian-lig-53127"="004bfyajczp11w6bpb7zfyjwfpqwlwzian0m68qhmb3j95vrs3nv";
-"serbian-lig.doc-53127"="1yrwmr8mjhqnizsgvar8s4xaaw1f70x6zij5z394a86ygx1gx06r";
-"t2-47870"="0s6zn41dp7vzilfyk92yy5mbb74lcrpnmhrwl9xcj1dbadi97nm6";
-"t2.doc-47870"="0wfm1gy3dyhfv2xzjfsky2fvdhki5r2ndgvzliq2n0kvfxf1sgna";
-"texlive-ru.doc-58426"="0c77yyfj87fajran8jppj0x8krk6b5195iscpn8z2n94spz2fcc9";
-"texlive-sr.doc-54594"="0icavs9jkcr5b5cx5kv202k95j0ydgby9lqrw8wm9h936mbn9bkj";
-"xecyrmongolian-1.0"="1m20p5x1s92cwhsixaz3s0y00r8n0j6172bi8vpyzcpf8mc886br";
-"xecyrmongolian.doc-1.0"="0kiyjcqlajmpj80n8wkk0ziri83811ivl380i3cyz7rxmsh1hqhg";
-"xecyrmongolian.source-1.0"="0dj2191iqcm9qpi45h45r3cp4nz5gdviw6xf9iz261b3pn515prp";
-"babel-czech-3.1a"="1qk6k4y1rkay2fcn39i99pxsip4k68xac4axznl07pbgx46v3h64";
-"babel-czech.doc-3.1a"="1hvp785ly718fd1f0ig092rldcqglpb3mrygarww5bnl6fpp2ffm";
-"babel-czech.source-3.1a"="1274pzgdya7gkvxjmdm3v5rb7hc0sj6mqn9pd8y9418yx5449spg";
-"babel-slovak-3.1a"="0724h8hnc4z0l0kkafjczzc69rh6h825wn0srfpy1zmqimybvaff";
-"babel-slovak.doc-3.1a"="15v2hdmpbivcdwrm3mlyb3bb3p1298swq7vwxqb9b5ylv8907sd9";
-"babel-slovak.source-3.1a"="1k4w34wq8n06ck9z81wa490fy52a1dcgi98pcvdmfggkalwr7ml2";
-"cnbwp-32550"="1xn9s2scd7x714c178p3p8bmv5bjdqzpbyz75nmn50d8irjg1zk6";
-"cnbwp.doc-32550"="0cs6jp079acnjj0292xba0gjkykva6grviwnm36vhxy93732cls8";
-"cs-41553"="0nzzcg1yvbslhqm5lsfcpqh6sbzkmnmmgyakg9l8855qpa8g9bf3";
-"csbulletin-54433"="002dpnpxvppdrx5g523n17fj4f7jdyhfam85zvrf3qbqiahij3n4";
-"csbulletin.doc-54433"="0p2wbn2ndsmzrwry79408qfmfaipnkg4cjsd9phifpz1hygc0a96";
-"cslatex-57972"="1qdcnf755fak3kppl02yi2q9ghb17kxr2cyxc2y80idaafqgr9sf";
-"cslatex.doc-57972"="0b2a9hrbqzhd7k4ac9sqphs6zvj1hc03acgm5afyijy2mkx865v0";
-"cslatex.source-57972"="0ig4a8nksmsm7pb1hxfy6gksfv27bgayqx60ygiaphcz0ir73546";
-"csplain-Mar._2021"="068g31l2ralz03gsv58j67dm85vy0ad58dvdkh93ws0yzf0rnr5f";
-"luatex85-1.4"="0ss7c5x0x7sx6lsn1iq6lyyp6w0xb1iy01s1f7zf7mlb9n1yzffi";
-"luatex85.doc-1.4"="126y3priwz6anp8sj0296bnxd53lz20nchpxw74zphfpwrv4hzih";
-"luatex85.source-1.4"="15bc8g0pgrkqpb8q2dhb6zml2d4jwrripih9898mmalsjixy62x7";
-"cstex.doc-58354"="0j3ifcz9myixr875rf71nh4ly2mxa5yz7cs3w8waapif82yybj3x";
-"hyphen-czech-58609"="050b4vmp8n9nwqzagpw7mq1ciin9rwgdicmbk1ajl9gvci7q1q8b";
-"hyphen-slovak-58609"="1vn6i784fdz35dcbxdcv85886mbg8vbjvx0w6sx230gjjxs1s571";
-"lshort-czech.doc-4.27"="0ar9qa0cg0mjv6ydgx1phaa1qpiy25s3jciznbylgi5xprvnnfa9";
-"lshort-slovak.doc-15878"="0b5gn95i32dyn8r7v2cdcz759fllp3b0zwx17adjs282n06vfymq";
-"texlive-cz.doc-54496"="1m442mx60ksmrani152rfj05mara20jjd4hba06qyk69716gqli6";
-"vlna.doc-54074"="0g6x2m8c5mjwjfrbqcndjj45alslin7a0vqasc1j7rhfmqr3issd";
-"MemoirChapStyles.doc-1.7e"="04m56f629sh38khc771jc50q5fv1fmbyqkww1p6cr617626m2f4x";
-"Type1fonts.doc-2.14"="0a4fq8sx73nbgb5lmbsbxsjv3n4ax5x7l284yw8qzqha9l0sqni3";
-"amiweb2c-guide.doc-1.0"="0cxwsx49p3c162ysv0ydyxdncfg8ij9sx2x7c4pvzb0yidvad01c";
-"amscls-doc.doc-46110"="0allim05cp20zhn480df2mivd3p9gnc069d7hbjlzv660bw7mapx";
-"amslatex-primer.doc-2.3"="1kzayyh1bycmq43s2xn81jf05r18azidbk3gv6igf2vaq37fmxil";
-"around-the-bend.doc-15878"="00nc6kx4ylz9g6vmjlgyjvmy1ls86pjblbcpm5z40wh5xl7l184f";
-"ascii-chart.doc-20536"="1m2x7iwz80plq6hbhp9xia6bp8wbi03iifs0pkr7ji3gn8hqgh1r";
-"biblatex-cheatsheet.doc-44685"="0y2ry2q1kvpy8dqglqdfq3rc849hmbni0k78wr1xnjbpd102l3k9";
-"components-of-TeX.doc-15878"="05wq82pa2m1hdpjxx2bhj61nkwcyynjn3fprbnngf2llv8yzb9ag";
-"comprehensive.doc-13.0"="130s89hkcr2im2k282crcpgx892dciw8b2cblpgw0fh7akr5c05h";
-"dickimaw.doc-32925"="1mxjqn4lblnpbmad3jk453lyx1qzcmrddis59j3jsgc5sp929w4k";
-"docsurvey.doc-57362"="11qir5haz6k0caa7c3gf1iads9z5nwqli7gvblzclxv6g97n9374";
-"dtxtut.doc-2.1"="1szg0xvwm0jbzs8waillijzrff4kv04a73gsqh9c12ap427xfryr";
-"first-latex-doc.doc-15878"="13ngk5pia5vbrbb4jrrlq1lmyja08m7cy4ydcjasxha8kns001ss";
-"forest-quickstart.doc-55688"="1bjy0bfkb90nv2dbdw8hdrm3dvm1v0r0m7a0l44ckw48vnc6amvk";
-"gentle.doc-15878"="1l5fyfdbkpqlgpgi1hrnn2sz8hchlnp7z5s5584czafvs10jg6vx";
-"guide-to-latex.doc-45712"="1wc5pclv27af2zr6kjjahjzxxlab31d8970jvxr9lxiqllvkxyab";
-"happy4th.doc-20120102"="1x950scxbvcgwycpakflpklc775pknjab620g099dnsfrpb76f4a";
-"hyphen-english-58609"="13h2gli0pfjg797i4i86dihmnrpp52fjr1apj71fgjiq2453zsdq";
-"impatient.doc-2020"="03cjl3lg7k7p4h8drw7vcbw6ymgmm2clv6sgfs3hdixs8dmab1b2";
-"intro-scientific.doc-5th_edition"="0bzgi3zg0lm6zwjnac90ihaqwcvhindfdphjijv7mh11ii0qxlmf";
-"knuth-errata.doc-58682"="0rcyw7dqcwlnf9q421k017hrx5c0d9rra6rcr3n6wqmhxmdy5mn9";
-"knuth-pdf.doc-1.1"="0x2m2q8bjjfn8i05nn68pia1v5gsf4zcxgymymmd840xfziih838";
-"l2tabu-english.doc-1.8.5.7"="0dqmdr3lffhiaq7pg5pn6ia46miwq4nh5vimhd0qbf936amiv1mm";
-"latex-brochure.doc-40612"="0xba20sy8q10ac9hxwnz9axh853hrj06vp7mfn12ajax31miznmy";
-"latex-course.doc-2"="0z6q95l2vvxrspc04ki9wnrzhz76nynb5ai6969pgw6ihl68384f";
-"latex-doc-ptr.doc-57311"="0mamlfnxzi4lwh5cpss8zcfr64jdnf6vnj9fp48accrqdj2rpfs2";
-"latex-graphics-companion.doc-29235"="01zs32gck1sl9zlbhghyjmjwxyvw0jha5vl2hd10knyrb3z4dhxc";
-"latex-refsheet.doc-1.2"="169h1syday30qiw032k14fhxikdwszggvqz8b9ga4i9wwxf1vh4m";
-"latex-veryshortguide.doc-0.7"="17i8zmr7mjfrx911psdy9cbn05c5inn4ixqmnjkpr9sbgsninyc4";
-"latex-web-companion.doc-29349"="0v018lwf88z3qmzyqpyvfql7dbwk5a9r0wj3jfjc9cp2ksl8zf8f";
-"latex2e-help-texinfo.doc-57213"="1blnnx7bnabb8yqpx3sv62n8xygibyxva9d9s7iw8w7rr74w7650";
-"latex4wp.doc-1.0.10"="0xyk6w8jmmcsccbd9q4ikblfq6nacjjyrmf58ddjxkb6v0lzndph";
-"latexcheat.doc-1.13"="1383rsi21ma0291asi779bjr33m7fii019di8gv8kxwgci692fz0";
-"latexcourse-rug.doc-1.1"="027siznmshk60flxgra7dgzvwbmgwvckwb6r257b91x3rm77anv5";
-"latexfileinfo-pkgs-0.22"="0lf6pkxjqdilg10i3fwmlb1nvvag6c5bm6pbcd50jjbd1q39iih0";
-"latexfileinfo-pkgs.doc-0.22"="0qh84r86pszscg96gri652y6p5xx245lfzvx50qvzw77xn4iv6ra";
-"latexfileinfo-pkgs.source-0.22"="1x1sj91sd5bb0jihvp0qg52q8ybak4flvijj5hdq84jf0bw3gryi";
-"lshort-english.doc-6.4"="0pzqdbzynlwvpamd69cmfpa8jdcvq96qjr9k1fy3dxpzi2mapvhd";
-"macros2e-0.4a"="186qfgd6p825fjnwivvzvvpx1ydiiw4k4lkvs9gqvm5gmas7kcv1";
-"macros2e.doc-0.4a"="0faj1gxhrc1fsqniy56c35jjzmxbpgyc27ai6xipbdp8sjdqm6pa";
-"math-into-latex-4.doc-44131"="0k11j92h9hpxnyciczknhl83b05avc0rqdnwn82ssqi1k3qixibd";
-"maths-symbols.doc-3.4"="0z83qf1rz84cr0b1zvwlacf24pc5r8dn1cxiiyl0xrqncl3279ka";
-"memdesign.doc-48664"="0aij1b7l1kb2x44qn33m39k0kbhdrclmr25nmvzfn6yw42lh9fz7";
-"metafont-beginners.doc-29803"="12hhvlnvh8dj1396242m6yi0341cina7sxrv7pwzqxzzahwdvmgm";
-"metapost-examples.doc-15878"="1rslyjnw27b5br17cbf6mjjkcgyr49yav4kw12spm3vdwyzb7gxr";
-"patgen2-tutorial.doc-16490"="12b78p7jsrfi88rr2hf4118x3myxbiq741k2kdasrs40fzvfjz5s";
-"pictexsum.doc-24965"="00yd0945qiss5jizkxncg8a9bdsld7mkhaipi92bbn1ghqicsw5a";
-"plain-doc.doc-28424"="062d6hg4npy57307avvyd2sdxnmyrh5ia2rdb17p6cx555k8zxwq";
-"short-math-guide.doc-2.0"="1wjcjgw0xk4zx57f364cpl57qpxj3lq4lahlkbk6iiin1h9v2prf";
-"simplified-latex.doc-20620"="1cgf1p7p2ikda1nb0c2vhhx7ai6rd973pz6a00pr9yanxsvghp6d";
-"startlatex2e.doc-56809"="1nn9mcazsmhlb7gdw06qcyf3grf8sbgqll9j8825p64ahy35al6q";
-"svg-inkscape.doc-32199"="1gw3jp7wph0ys6372z2rgjwlpmmawdax7xpgrp4hzg5hxz748pn5";
-"tamethebeast.doc-1.4"="13shw7hcimckn7pp8pj0cr1zsi1wq6r400x1v6akpmwwjxkw09g5";
-"tds.doc-1.1"="10j98fv34p0mwgsgjps8mfpn81kbzghfchz9nr7r5bwz93s3ycsz";
-"tex-font-errors-cheatsheet.doc-0.1"="0pfd5qphmizhxb2p4gg6809xcx1rlfkwqa6vs4f74457chcwljwn";
-"tex-nutshell.doc-0.6"="1yv4l3il5wpfijr9h4k2wfvrvk5g472p6p94kcb6azfmrnxda6h2";
-"tex-overview.doc-0.2"="1agfya9rwvyjvip0alvibimz75jivpf19hp4jvlv7z0n9m26m9jd";
-"tex-refs.doc-0.4.8"="1w7hcd3qsdhmb2siakjg2hm3h6kxa90ncsaif9spr4xkxs03ib6l";
-"texbytopic.doc-15878"="0pnh1hsd6k434c8i1xdjq3ywrwylmryrsl86d6h7i1cnmzz4pwlx";
-"texonly.doc-2"="0h40f8hj03ha0ilpj2fx5kzzvdv0yplmr4528s2rmmy62l9kgdkd";
-"titlepages.doc-19457"="17ib7rpb2dhb2m724x66fdzddv8cqd808wxy5kkvx0vb3rl27hyh";
-"tlc2.doc-26096"="1ysb233rjb8gpl9s35qql1dny5rj6fn8ssy2dqdqsn5xj9pdasyy";
-"tlmgrbasics.doc-56221"="0sgbmlrzr0v9d09h04z9mpqxcidv9ggdfi1ibv83y85f5blwqirq";
-"undergradmath.doc-57286"="1z8my3fwqc8rfc1843j7lcmfka2023z9k0js4ygh1m8kilc2nrr7";
-"visualfaq.doc-38647"="168agj8vspwb6496rxx6gh5prdwx64ihc34rw74hwdr67nxh7ihm";
-"webguide.doc-25813"="0wid2sxrif3mm3lrs0s6pil949byviq4d7924yzvmf9hkrs5f03v";
-"xetexref.doc-56291"="15gb91s8zmqh1zwar2r3yca3ywp1lz654h8ha6xg52lg83vjzr2v";
-"armtex-3.0-beta3"="0m8z77lvwkrmk6zdlbxy1gcic8sgn3xwcnkgv9nfwxrjnxxmbhyr";
-"armtex.doc-3.0-beta3"="03inlslwgi0zgnndz4p23r40rdwpl4lxbxpc1w683c673b258hnc";
-"babel-albanian-1.0d"="170mxpwnnsc1g9s7qnlhjcryw79cy72d8c4m8bhr36i5c78my0zg";
-"babel-albanian.doc-1.0d"="0x5z4gfi6m9h5gml6wxq3531i1k0sfqrd4hxrzbz68ijzyjnzk5j";
-"babel-albanian.source-1.0d"="1w8bassqn35bxyhpw6cg65ya64x1dn9h35p4fxclcjjhmv53xgg8";
-"babel-bosnian-1.1"="1q9nplgxfyv877y5q5hm4g6i5dla5c3a9s5cax27pr1riccgh5dh";
-"babel-bosnian.doc-1.1"="127g44ww87gaizsak6lbmbr9yhjhy8k32zkah3189yi21w7ncs4q";
-"babel-bosnian.source-1.1"="0mlllv7k35vyqpa9r4yz6y23cgfarqbyk47blfc5b3dill1imx6b";
-"babel-breton-1.0h"="1qqayklpx89qmva8j6l6rhwinr0jik9lq1sgr6av9w0qzy9y1ifd";
-"babel-breton.doc-1.0h"="1q5xlc5cm91wa5lpg5wysqyhiq71ghf6sb8b3syxsqzxdicqwqrl";
-"babel-breton.source-1.0h"="19rafbvhd4fp6vb1pbgvaxrmiw1miw4j2n0dsi8fnmn1554zb25f";
-"babel-croatian-1.3l"="1d6xi12v3qr7gsknkfcb77q0wx5hyqpp0cyqq1spq44yf507nnlk";
-"babel-croatian.doc-1.3l"="1h15dzgmm5230ypaznk44607naj611n0mrhp9mjabjdqbsb71qdb";
-"babel-croatian.source-1.3l"="05zhbrvq0iwg7vbccq59rx2yfbaznixgr5nfh37k3584iwaqipwi";
-"babel-danish-1.3s"="1q5gl9dxl5qky0g263yfa4gwb992ngd7vwsb24cw9fd513j50b9h";
-"babel-danish.doc-1.3s"="1xmp93khcz4my2i1wrnzcb13bnxd9mnjm50s2jhbh8qaiywls7m7";
-"babel-danish.source-1.3s"="00dryb078fqckqjnxa2riq478j6d5i28j5cclv4bw7dn5naa3lz7";
-"babel-dutch-3.8j"="1hiv1r65zvn3hqql6pglm209nq9qhh5iidbm9x8ikl3q272f8y2v";
-"babel-dutch.doc-3.8j"="1pbg8gfc3z0k5caixlz5vfybhfxy8wbc0xls9kjld53ia9mvyy4r";
-"babel-dutch.source-3.8j"="1a40rz6rznawgarnhk0wh751sln2x9js4420i0758y2clf4rlhg9";
-"babel-estonian-1.1a"="0j7z04mcvjk72cad5l3np0x862nvgh7jxha8mll55cf18k9aj64j";
-"babel-estonian.doc-1.1a"="1nmjvvms0zijpc15rs0fkzli3pmidc4v4kzfp9sswvh43622p1b1";
-"babel-estonian.source-1.1a"="0x2a379m1b1ll16dr62dg5ai353p362dw9js4n0dn3x2wjbndmzg";
-"babel-finnish-1.3s"="1z49ix8w96walkq5p915amii7n73ahzhy4ijxa1b2bb0wzz4b1l7";
-"babel-finnish.doc-1.3s"="00aij1bdybgcg69995mjrdddzlr3hqbhmg8q9nq86cd29y1gx029";
-"babel-finnish.source-1.3s"="1930zxk4l6k5q4wcbvpvijv4s0gxp2mkxvblczn4gcbar10vfd4x";
-"babel-friulan-1.3"="0gfq4gyi720kp45vcbial0yrn9i2jyx1lzh39lci0ga77y01j3mp";
-"babel-friulan.doc-1.3"="0hnj5scfsvisf9k6iwh4awzqccm96apxrbwzlknpxn7x3zv93l0k";
-"babel-friulan.source-1.3"="09bzwmc1jnal4ikxciwas8y342rix0xksd7qcp39nwajyg8njdmc";
-"babel-hungarian-1.5c"="18hc7z7gki6jyglywmljlf37aff3cndszywa32kmprbn2qlfc87k";
-"babel-hungarian.doc-1.5c"="1imn8zlk18fcs2nsy4ml20xzkhpmv5lzzh28i2c2zv6klm1kmfba";
-"babel-icelandic-1.3"="12v78k2l9vmc07mx0wy8g0mjwryp1jf6ij06502h7jr55my6y5s5";
-"babel-icelandic.doc-1.3"="1mbgan8gv7hld0jym7qks13yph9lz0clkgpb199x3cdxmbvawpb7";
-"babel-icelandic.source-1.3"="09wz6pfk3vb4c0az1lgq35vmzf8v49iz9cd1ys7rhdssbcz6flv3";
-"babel-irish-1.0h"="0ih96jfa66jn1s8c3dpr0631pa17r9sch1lv1qqwpmsridp8dl8q";
-"babel-irish.doc-1.0h"="19k6gps25d8i28vcpbp59k47mxdzjn9d89amccr5si5hvg1c2qnp";
-"babel-irish.source-1.0h"="043ias6pyv22g8ywv5krlzj5ma98wpi0r44lmi4gfpqllkay5g1a";
-"babel-kurmanji-1.1"="0jp1aivn0pzn8yq1q79gvzwdlcz871apjg6yxx9x4wf8yqr8q1g8";
-"babel-kurmanji.doc-1.1"="054b2pj4iv2mnaffw1a6zqihp18765rdx6d56k6vj9kxf2gqrz1n";
-"babel-kurmanji.source-1.1"="0v6nh14816ai72rqc7nxd8k16bi75dvx2kbvnaavknxyr53pjwb3";
-"babel-latin-3.5"="15hnxn0660dbds675xrd0zsak4bjvlcw43bs6g87c4m6dqkcg8c0";
-"babel-latin.doc-3.5"="077jr35smbzmarsjl9qqjlbq2q6x4s65r82s42ds9nzfbgjmg0za";
-"babel-latin.source-3.5"="17xc21mb70aaks09cgpwg8qdqz1ll3gksah6fpz337qfmd1v4z9v";
-"babel-latvian-2.0b"="127649mzw9jp35mq1yqpavlvkvcvxvp61sn0yl4nvhn30d0dws68";
-"babel-latvian.doc-2.0b"="1dvcwyqvx5xw4fl58accykkmd9ksbg5a3yqalb6x86hdv2fgsnq8";
-"babel-latvian.source-2.0b"="1w8w1ayk1ixwsixlsar5nmhv70fqahx06ydraiyz543gm3vrk6br";
-"babel-macedonian-39587"="11wiv5aw0k77rvqwcgh4xdiwcr67q42rwq0mq5vcpfz2hb0v8i6n";
-"babel-macedonian.doc-39587"="0nsvnmjx8397xb02h2l00nd7ynz11f9qiqrpim2f18r55qmr0hb3";
-"babel-macedonian.source-39587"="08z4ca7kja5kb2azf3whgh0w7fabxs3jcijihm0vnzhb1809napi";
-"babel-norsk-2.0i"="0n173mskrn15pz6pnxyysavwc93w5cz57wywdnn2xvb574ka8jhf";
-"babel-norsk.doc-2.0i"="0a3ka4hfvjv7w2s90y7rk2vb4jsaqz85sfbnlmkfxlhamr937c0d";
-"babel-norsk.source-2.0i"="1d5h7zm7d3d58lmkn3qy8aazx4a93fxmziz68cckrxa7izni7s1f";
-"babel-occitan-0.2"="0s13mw7w48zq91kcx3pk5rzfg7d9dcjr8n8bvqsk5dvs0k4hk1dk";
-"babel-occitan.doc-0.2"="132kk66ya2j6d7cwzd3p21qvjqm96dvb83ny4yj5q7vjqiflkn0z";
-"babel-occitan.source-0.2"="1slny81jf77g32nxkvbwr429yi51gfpia6d1qllni978ivc9lagx";
-"babel-piedmontese-1.0"="0kcb4h1xsm8qcgqmqpgkqqxii5xvzpa2dvx6l41g3025ybbp558w";
-"babel-piedmontese.doc-1.0"="0c6ql4g2i43zxx2ffnvg2rwac5hshvwngj7999g371fndhfzs31n";
-"babel-piedmontese.source-1.0"="1xqfd8s659plyijsc13014zjhd9ndpi82jwgd597lw5d9jzwxf6a";
-"babel-romanian-1.2m"="0pmjpy2p30299a10njvnpl954kdazir149b3aggcljaq0j4zdnzz";
-"babel-romanian.doc-1.2m"="1wgimmy2vwg66kjm0kx0lcx3zvvhdczxc19nnwqfbwchbpfhflyb";
-"babel-romanian.source-1.2m"="1qq1j0hb6vp8cdiigc425m6k8wpf7rxzdcgq14p064xlxnmqrbp1";
-"babel-romansh-30286"="1hh4ashx2fban828gj37y46rm0q7w2j18785in1fwpir3cjcab8b";
-"babel-romansh.doc-30286"="0w4x7c9vws6k799ilw2w1p5d4qv2z9wb3bkaixb0p4gxmp6khamb";
-"babel-romansh.source-30286"="08v3db9g43pviw7fi87gcgj5xb5b2f07sll1slcvy94ffnmwlpww";
-"babel-samin-1.0c"="07h531h0n7lyi8jhc3v9clcn66nwg8x50k2absmqzlq4adpgdqmc";
-"babel-samin.doc-1.0c"="0rjzia85w9jz8hj6d6kvapcm1y74gq5wxirrlyqqs7ar7i11yp2l";
-"babel-samin.source-1.0c"="1p6br0ki7xpzrs4cpsak9n4mn39fzxja93dxb6dl00rv8f9snj3f";
-"babel-scottish-1.0g"="0qkki9838204xy9ac4rm5v72615iz63wclgpw49srwwzf698z3nj";
-"babel-scottish.doc-1.0g"="0vag7zmwsmp6pc6xd4p7i55na39nhmmkcg2mlg4xp81hgladi3rq";
-"babel-scottish.source-1.0g"="0k3dj8awj55azynbdbray872pigjs8m9l86imdx5hj7dvl6svdjj";
-"babel-slovenian-1.2n"="1zpw0zp4f5wggaqb5wb9r3hjsxx8b4f892z5w7wirazqwgmxzn2j";
-"babel-slovenian.doc-1.2n"="1lmjr0cs0j48d0l2qflg8hxcaqfbqfxlqsl5fj4g5icpha4nji96";
-"babel-slovenian.source-1.2n"="1brwg8sr19048wgn0fdbi2y1rn5ls99kij8i71i789qf32hb1jvh";
-"babel-swedish-2.3e"="0h6p32rjvsqzy8kdhr0f1zi301xnrsvb8l9k7g6gfwv26fpdcnzr";
-"babel-swedish.doc-2.3e"="11kshqcqn2187q8h1hc7ifjnf8cz774wdnd9m2ncfvhf52h2l6mj";
-"babel-swedish.source-2.3e"="03rp4n9wkqyckman765r8v8j2pg5fg9frbfxsnhq0i2mr0yhbr6v";
-"babel-turkish-1.4"="013k4sv2xj0ky344frgbkl2h836dzjl72hacgb6rcdlkzwyh5sqa";
-"babel-turkish.doc-1.4"="0qdcg64lykk0g0gr3y4sc9zml58spq2y4yvlhc3md20mp6l3ji8b";
-"babel-turkish.source-1.4"="0xk8c1l61vs547x7586m60x2hfqil8zq3ikpsj9733ykayfclifl";
-"babel-welsh-1.1a"="1778pckqmd6fwd3xh3yk1dzhxbaqnffbk9arhm9qy9qxass1nnf4";
-"babel-welsh.doc-1.1a"="1p27zrk4dacj67lfim236mpv2s08j1n5w1wdpyziz60hxv5phmaw";
-"babel-welsh.source-1.1a"="1gkryz7dng4919w9wn73bvc5cfcly4g7dcwh1ilci0pbr55k1x4b";
-"finbib-15878"="1dr1ivhfb83ky3q82dzzv5vvc8bl84iq7am0p1rc8fjlbj95i4wm";
-"gloss-occitan.doc-0.1"="1q00j5r6d2y3gf8rbh7f7rdfjg3mg1c3rrfqd69rxyam9n92h41r";
-"gloss-occitan.source-0.1"="1cb92fpzv7cqqxxa0img0la6hrgxw6azb6j2rslszk9hjghbcjdg";
-"hrlatex-0.23"="0klc0pb2b2dcixaqhgxinhy18rp0lwck7129zi5qnpygzfslpdws";
-"hrlatex.doc-0.23"="1dlxj4rv9gaxd6i4ns4zmhykhxwsacw6m3m2jmk2lkc3sw68hsyh";
-"hrlatex.source-0.23"="14cw35brx8mqv05zbgrvfmmjhxyryx7dmj8dk0fkimqbyvhvv9sj";
-"hulipsum-1.1"="1wfcsaff7rja3n0151ddzbfl9b3gkfkwq0vp35zcrd80xsqlw935";
-"hulipsum.doc-1.1"="0994kin6fvbk4j9rp53vjp6ci050zxsf6z3qi7zdfxifd269fhx5";
-"hulipsum.source-1.1"="1a5mkkl36dk60baffj3an2sa382p39j2sdrgadczj5r9pm9q0am2";
-"hyphen-croatian-58652"="0fqwf7val8hfdcqww828cfq3706wi0w0ypmvwkkllsx1nv2mqiia";
-"hyphen-danish-58652"="142jxvssj44xh1p8d0b298l0ri33blvac5syvqgx71cvsbwpc6lb";
-"hyphen-dutch-1.1"="1hxwpb67c2hzzfk6jchhzbj2mfxzywz4zqm3z1hz9r2ywahram59";
-"hyphen-estonian-58652"="1x8by00sb45acj1rkd5az408i0i2wjdabd992p4d599sf8b9dk05";
-"hyphen-finnish-58652"="06c9r6dfihycr4vb4bvnf08d3p94h5n5g0ayjpha6gl08ab6wmv6";
-"hyphen-friulan-58652"="102sxp8901hln47nj7wng556bmrn0hqsljlf0v0ll8lsngf85h33";
-"hyphen-hungarian-58652"="0d0bg0h78ij9b9anmdlwrlddd1xg09c2k5ganwnydbpj81c4z425";
-"hyphen-hungarian.doc-58652"="1r10gjxyk8bkqjiiz7pij7zy4cvspvhnimkszl2sv0zgrkgayw68";
-"hyphen-icelandic-58652"="00lnbm193g0zv7c1m47yz90gik1bd80718y8cmz5jhxz9ny1l271";
-"hyphen-irish-58609"="0kaf1as4jrs8kc7rr2jg3cjkxr0x4fxn88gqjxdjdac6xhlvg0w1";
-"hyphen-kurmanji-58652"="164q51fkcfslh1vdz19ilwjbrs0v96a4pn45d6n0cvv9vw6gi791";
-"hyphen-latin-3.1"="0l7lsp9igylrk4cvjff8lx8jk5biisss3wkcil26cca4hb1612aj";
-"hyphen-latvian-58652"="1p5kaf7pb5qxj6h3bglgnsqx9rys35i02piswwvayf4bdmv9sqx7";
-"hyphen-lithuanian-58652"="09a4636b77fc2rmgc2b4jxl174bjc4ji69xply0yls4b69727i1x";
-"hyphen-macedonian-58652"="006fg0snc4h98fzdzwdhk6ibhyrvqhs502wn2c1dnizlry05fdv6";
-"hyphen-norwegian-58609"="1sp47h5syhcb12nik26iy6xs5dyxrj5a53vzr0scbc0s746qi4gw";
-"hyphen-occitan-58652"="0v0yivzx0xl48isjlnxfzvlrx9gslg6srids1aywfqmybffmfw95";
-"hyphen-piedmontese-58652"="04sva2d6dxaick0j30izd7z71vpw8q7xx0xvihcvcgb62gb5bc7a";
-"hyphen-romanian-58652"="1720vcpvmm086k0ndlbp0rkzmz7f7mnmb4wn67jm53357iamkchr";
-"hyphen-romansh-58652"="0dxcw56bkl7ddqj9fahmghwsdkmi7ncr5j319hgcgnlbp1717rkc";
-"hyphen-slovenian-58652"="0fyzw8r6v07p04m44ky3n4vkkq1dmfkl58xyx65pcpj9399bdjy3";
-"hyphen-swedish-58652"="19rdzs7w80gf7q2xdkp1z2zc2hgq7mklfkrfdwzch2i50zzfxy6l";
-"hyphen-turkish-58652"="0zqizvrri9r9bldqds768bslyipqrs06hx96b0nn9k6wm1y8pvsf";
-"hyphen-turkish.source-58652"="0rjwv5b0jwnwhlp6ifzd6p8iid59zylp2wbfk5crfjnknrl48qn9";
-"hyphen-uppersorbian-58609"="0rvb1k16rs9hvb9xgf3yv79mh2gkndvk85blmjjsq49awwgkd8y5";
-"hyphen-welsh-58652"="1klj6ir4b918cx96jd772ps9fl2fljh8kwkakdwaqqi8szzr65d5";
-"lithuanian-46039"="09dncv4i7jqc2c28k992qm94iqg3x3nbnw5wqiva3xn3jiwx0fg5";
-"lithuanian.doc-46039"="17kac4d54nvd0bh0kqz00j7bm26vi4gnkbl5il1zb12g76r5afv6";
-"lshort-dutch.doc-1.3"="160r060gmw6f6lgbnyvfxafjpqvyr4jwd56ddkjfm3ir2bfl973d";
-"lshort-estonian.doc-5.05"="0dfwp7kkynpskb345i3yz7h5pvc8iljqg3q6l546vrwla0bmb95c";
-"lshort-finnish.doc-15878"="06madlm869kmwxprmy2c78ma4s8zk8mclzmd4xdl0r4mlhk4vdsl";
-"lshort-slovenian.doc-4.20"="0cwjg0z5vr4x93bz1khwl27rk8k7kpjm978iyzn6w7gx3wi87zr0";
-"lshort-turkish.doc-4.20"="00r6pv4z4933jw072djdasd2wp5j05wghln62ga4g6y6jblf6zks";
-"nevelok-1.03"="0c4zij8ihx3mz615jr4z150d61mj4ln88zrdbsjx9hlnandqkij1";
-"nevelok.doc-1.03"="1x7jwmp32f1wph9k03q6ly9nbmdpsrkhyvn5j83n1fj6nj6hmzqf";
-"nevelok.source-1.03"="15di74y4h7qgjh7gmmaingbg71jrlaiz1qxf960589k2xshslbi4";
-"rojud-1.2"="1cmpg4w2pqwvr624kc4rv7kvnf45c2ffqrryh0i7kbqgc22xly08";
-"rojud.doc-1.2"="12y4cph62b8rag4dxajpzy7y29kvnb3n0z99s2vcq1hfscyijn12";
-"swebib-15878"="1y5rrhrhcvjzz17lsl2y9h5qz0zl9gn34xwwprnns7503d1d2nfy";
-"swebib.doc-15878"="1w3fl5qg5hng8gsnykb9q86ddz48jdbyghizf5x31rjwiim53q6l";
-"turkmen-0.2"="0jhg6nd47y8igsn10m3bcsn61zydlwk3g1qfqpy8snz80rkyn9d7";
-"turkmen.doc-0.2"="1rs4jmqy5zrgk2awvvw8lsvdkzjwbfq65bm3m9c02158q63bw2i9";
-"turkmen.source-0.2"="1kz5qhyjax82mv74qxhsiwj83jijnfhgijdl2w8ic8lwc31q5ihl";
-"aeguill-15878"="1klri7b3isxwa9lpc2j857y8r9n9x1av865jm93ha6nrwlzqk7a3";
-"aeguill.doc-15878"="09lcp9in9v7vxck9kaql008qmcvba3g8glbm6rr5iag7nn2vbvj6";
-"annee-scolaire-1.6"="0lwc36v09a4ji5fz3pq9939jm39729k0k7hha4kkk20jc3j4jnds";
-"annee-scolaire.doc-1.6"="1f0qc5qvsrnjddp1kyrcigd8is2y9nsxc9x8a215p5xds2z5gc30";
-"annee-scolaire.source-1.6"="01mga2nif61mpkf7ifzhsj5pq7wzm2imlljap4c6wcrzb9zlhfx1";
-"apprendre-a-programmer-en-tex.doc-57179"="05779lk9v849k712wfjv0mhyzahwpl4n892ydamfdc5yg05bsnyv";
-"apprends-latex.doc-4.02"="1xzy7svb2xz6bdfg0f1r3whwda118pl7qdwygx1l7h4d1vqm2rcq";
-"babel-basque-1.0f"="11a26db60bwfhbx6zj42yrzzvf8nn8a96nq5mpw29xhxlpbhrcp0";
-"babel-basque.doc-1.0f"="04jf1brw3ljipdyxv3d001slc0iggjmq6hkr4b5jsa3z8gcivzvw";
-"babel-basque.source-1.0f"="17mz3bqi50ayia4nb2ikf60vgpnwl3i90gfbaq4692y354yvlnfy";
-"babel-french-3.5l"="1g2zhhkh0gl7d46fykrrwznl91g2wav93kmsw2gnlp1izwdsyb6l";
-"babel-french.doc-3.5l"="0hhrhspwbpcqkal88g55iakc5gn9jwlnm8xq4lvgq9qai98y9fcw";
-"babel-french.source-3.5l"="1cf9vnz87qxran7mpzhgjbk7wpb8wv2wsfd3xippxfkvrqh1a0n8";
-"basque-book-1.20"="03jh24rrjczpgj9d4w5fy9fv8w29wbqylx5s9n14jwdsf6f588ip";
-"basque-book.doc-1.20"="0sza7d2qx89saj6rx591ys15b8gvrnalrbrkk2wcjln1x2cb95jn";
-"basque-book.source-1.20"="15lgh24zyqlmqkw7wdigwvvkv6qwlpv4zrm2zqwgxj93bffa4fs6";
-"basque-date-1.05"="1hikrfz1z6y294zg00arnnc6any1iyn0gkhmv9j9wsnlvylcbnxk";
-"basque-date.doc-1.05"="0gifh2wlhxl5s2p816w06w5h51pg6gn2mdskhpgkq16shaj4xqcq";
-"basque-date.source-1.05"="1vjq5pqkan433wisv0d437m6hbmfqyds27dzwkyd233zq73fpjxb";
-"bib-fr-1.5"="0csd9a4j3hvgyczgnfnhp8n49j4baym7nw8sck38m86r3kn8n7ar";
-"bib-fr.doc-1.5"="1inpqvmf6c5zb091q5fxg0r2w87kacvg1yy1lyai7wq3ll0axvp7";
-"bibleref-french-2.3.3"="1r12767ayfh073559p6pdrfs9fs9g2dxcliyx06j7r8lyfab8d83";
-"bibleref-french.doc-2.3.3"="0kiijl5jhd024znr80g3xqdhz3jyg4vm4kyf1rcpa7dis4ffazpn";
-"bibleref-french.source-2.3.3"="17xih976gi8my8mdr8n1nfvq6hacicdk8a01s23a0sarj4qwxz0q";
-"booktabs-fr.doc-1.00"="1xkqh6r2q835xaa92b24fzf61jsm85280570hivvwnch96i4fnh3";
-"droit-fr-1.2"="1wz883z4a7g4na18z50vd0156gj6zpkkl49h4k0dhxwgqibh13mk";
-"droit-fr.doc-1.2"="1ss2j5jsr4h96rqcqmm89mprnr6w98zbsxy87jlmqavjjc8k8jq8";
-"e-french-6.11"="1pm1k7qb1a3h2b8kay9jwby382jxp3866b9m890rj9gfqdmwbfd2";
-"e-french.doc-6.11"="14719qp1qjcx4wjwcarirj7iz6qmjgwb95b308zqdr197y1cvymc";
-"epslatex-fr.doc-19440"="1xs9977g9g3i6sipkf7i9jdl8sdm69ci3161a4p7k66qbizi7zvb";
-"expose-expl3-dunkerque-2019.doc-1.2"="0xij1ycxnc3hfzkl0bfs03s0zzzv6xsj3myvykb6n836j1g66g2y";
-"facture-1.2.2"="1x0jqxq6jn2y5lzbk2y576g2wgaaqwlb11kpq16avvhxybgiywwg";
-"facture.doc-1.2.2"="1kcnzmssdnzfp8szs4c3psnxaih36clifln5kpdkgwd3hnkizl60";
-"facture.source-1.2.2"="0h2274fc7h8si7rzrinz94hddzfn073yvkv9hnvd9zlq35cyxif2";
-"formation-latex-ul.doc-2020.10"="1g964xll3y7llhcq1xih2zk916ikhx5jkq60il65z89fsb6v5jj9";
-"formation-latex-ul.source-2020.10"="184d2dnzcvx0f9di67433jw6b505mh3iv9g5fh30gq0344lfivx8";
-"frenchmath-1.5"="1fla63xk7qv8mx6lrmmqlwfkfz3z2gnym1vbyr2idaa7zpwn5y6h";
-"frenchmath.doc-1.5"="15ijjp0r7s3c32rr92cjc04rn871786wszsdbr6v0f42qic7jy7n";
-"frenchmath.source-1.5"="1p6c0ff81w671rp0cglvvsz29km4lxrxbhjv8wbq25ml09fn8vn6";
-"frletter-15878"="11gxmdwwzwwdlrmycdxi0y123hfikhp9jv1jjmhgsmsmmxsx13ly";
-"frletter.doc-15878"="1pzpz0q1hplni18m6wkwrhknw15h555qfdxfnnfrnrmsa7n2q2bl";
-"frpseudocode-0.3.0"="0ypiw6sfap27hpflbk0drnd412ylv9r307jbkkbhnm5lsmwaax2l";
-"frpseudocode.doc-0.3.0"="1cf6424l655rykyfvca2yl0lwdifgj5kgvl0fvw9ikayf02wh3qg";
-"hyphen-basque-58652"="1dy9fgbh4i3d9ar8wazwjvhhwzyhbys68icz3zjvk7gk9nvbm9aj";
-"hyphen-basque.source-58652"="1yhsbzf1g9dm70jfixsz51hsfvn26cwfkfxvhg7xv2piynr4v51l";
-"hyphen-french-58652"="0j41s8jl6449lys7zvjy9psynxlxlbcf23qh9sxf81rk5srzwkdq";
-"impatient-fr.doc-2020"="1qwdllmi0ci304smf4yl6g8ah083jrch9clkyav7r5qsxnhwxbxh";
-"impnattypo-1.5"="0kmyjdasybcvr77jrirp3s1i8jwvhk7j04wz6blawihidz55myvq";
-"impnattypo.doc-1.5"="1cgk3wk3flpmlw3wa4sg1s9ry6bz9vjanzw8kpyhj3d8yl7cnzbn";
-"impnattypo.source-1.5"="0qc5wz5a4rgvrzv361gq3i6h4hp3v176klgn6fhiwshk84zqccn4";
-"l2tabu-french.doc-2.3"="0c6fbmgwv2adlxbhl1shvpa1w6xd36gmrwvkjgdp9xc3q999l4dj";
-"latex2e-help-texinfo-fr.doc-57275"="1kbp36h6nlnw1h1lbi783jmwsznvi6xmv7szlvdc3fkc96qn5cgn";
-"lshort-french.doc-5.01fr-0"="1hdl0w7b1ablx7qfcvgniz7dcbgazb49b8wfw7c08hlb38gxfqh7";
-"mafr-1.0"="117qd3a06lpiqimizj12lxd0vba82lsc211b46ags0mwgrqhcyz9";
-"mafr.doc-1.0"="1m6y9mpsp4w9cnbln8pv1pn86vqj9piki4kg2q2rq5m9q0g57vsd";
-"matapli-1.1"="0hjrcjkihb29z0z2xspvkbmq8qj18z3yww3lgifxlc9ydp7bppd3";
-"matapli.doc-1.1"="1r0szrdmmdwjjmhhy97bdyxkbcx0xy1c6papnh58hllx45lbznk7";
-"profcollege-0.98"="0zacshfs8fdacplknwmsq9yckvlrfvn06azf71i0m6fjp7vxf14h";
-"profcollege.doc-0.98"="0pc8kghlnm3imch7kqds8rkxvf8ln4wgjgwfgc79bblz2bqkbgqb";
-"tabvar-1.7"="0350mqq0hnqcx7afgy2phs4zl1x8ipzkmkmg7lkabrhhwq2haa6g";
-"tabvar.doc-1.7"="1qrr3j2b86shaka288mhz4hdbfm0kz4fkjfyz2xf90cpgl0ly5ql";
-"tabvar.source-1.7"="1v39fas0k1wmjjzkyii54j5ycafm5kwcriq65j26vzkwz4ykb0px";
-"tdsfrmath-1.3"="18qqjmdh4hgzar37imn811i7nbk93zx5w7f7agwnzbxgy1kx2plb";
-"tdsfrmath.doc-1.3"="1vvbsq5aql1f5q0q6v5z1xm16bmb20w2jnn0d0rc64dw4dxnwpxw";
-"tdsfrmath.source-1.3"="03r9f335gb31zb2frpv6hk50c01sz6rwlqw9vdxf4ch2np90fd9z";
-"texlive-fr.doc-58579"="0ccpwl4wpp2py5x5sp240mbgdv33fhs1avc41lmwzgv7m4z5b2f9";
-"translation-array-fr.doc-24344"="128k8isyn4s0v496sykn22fqn0gfwyyk19kcrmxnc6clgxxfbdy6";
-"translation-dcolumn-fr.doc-24345"="0xakssrkxb2wc6xyy1yvx4mm398x3yq032b7vapqxl82h992fjll";
-"translation-natbib-fr.doc-25105"="0f0r1n8q3jkxsdcddabsgz9h9ndq4yffdpxdqxvqjmhfafhzwgkg";
-"translation-tabbing-fr.doc-24228"="1cih442gp6zf8nwb2lbgjn7a64aglyrcw3aciqy5pkdw09pwn0an";
-"variations-0.3"="0cij0zdvlv3icymqxsfn6mfzdmb3jrxnfa3lz2kz0xx3x8yn0sx7";
-"variations.doc-0.3"="0dwsw8j2bhk5cdw61xlcvlg152z6k6306zpbap2gjlfhf0z57syj";
-"visualtikz.doc-0.65"="1q0a1mhc330z8cnhghp2p46bxsmzz8cdba8hcvssglz0gsq5z5fc";
-"apalike-german-54080"="143ipz8vajbakcbr3rr4kwdh4xl939q0gxwyq0kajvkdgzax9yw6";
-"apalike-german.doc-54080"="0i1wiibv0v3c4r94mq95wv8q6yb8mil0pr6cmj66gab5np8m8x1i";
-"babel-german-2.13"="120912c0nk3zdvnrxp7pv78vnywbw68d0xc9iv8x2cwdl2hfwzrj";
-"babel-german.doc-2.13"="0nkblrxgckb1kxrxvj02v0mx18f3cmv905xpd56i3lsp7rhi2wjm";
-"babel-german.source-2.13"="05nwdy9ly2cdl2aayf573hc8v380avxlw568np9kfvf7nag3p7al";
-"bibleref-german-1.0a"="1vki9hg39xhn8xzbd4wq6vn6zk3x9gl9bm9n3wr214c5n5mpxkq2";
-"bibleref-german.doc-1.0a"="0q69vfak1yrv564qcw3nrklhq4sf62hi6l7z8w2hcj3c325kii56";
-"booktabs-de.doc-1.61803"="1ld7zdr88xjhnnl2x734rxr7h0fz84awapmv50p1kzn6fczrwyam";
-"csquotes-de.doc-1.01"="087c08c44811vd8p00l1xrkg5w6fsl8as64jq83m6gf1hfan9w4c";
-"dehyph-exptl-0.7"="00h4zwp6pdpxiwdck11vyglnhymkmlahzvk2pk6nvqafsmwz5rzp";
-"dehyph-exptl.doc-0.7"="1niraycxd0myvxh3p6dn90j21mzdrd2hrdvh8nxm7rn3npm1kl4s";
-"dhua-0.11"="16gq48zlsfk9llafs8379797v908khv954q8lw2dvzk0v69d0qki";
-"dhua.doc-0.11"="16l76rvba4fz3vfw8mzkmks7b7206h2dva5dgw3m0j30ds8d6vm2";
-"dhua.source-0.11"="06vws91qfar1h87d57c9f9cw04isjk0szhg2aiw7sc8ligs0v907";
-"dtk-bibliography.doc-2021-01"="1fhvvq3kan1zg5m4qh4ckhx2r05bz95fa7pbdm8l0jx9r5qhbmfq";
-"etdipa.doc-2.6"="1jp35apalaa1lh44dbn1zayavv1n3wkm0v69hgy8vdz73yp5yvhz";
-"etoolbox-de.doc-1"="1vchha7ymvj51jfnvl76rxv466lzfpxr6xcvwafxhi78w4bk9yry";
-"fifinddo-info.doc-1.1b"="15zp4xvszy07cy1b5r3k5x256lbalr5acrrdj1gx33llfmvm469a";
-"fifinddo-info.source-1.1b"="02pmj7a9hx4xnfjbhwg273a3wx4449542rs7rxkii4hk78xs5lwr";
-"german-2.5e"="0w1s582hpvmri7im4jsi75xjz8iij7yxs3n6nad2png1xaxxq3ic";
-"german.doc-2.5e"="0hclzvfgrc4ii80ywgjb8z1byn2ccqckvgk26fzdvcgg5j7v9x9a";
-"german.source-2.5e"="1a5svzkxqqnqzva8nb1r3z1rfhjyl5w4sgkfwj7by83df7fwgnhh";
-"germbib-15878"="1nrmmmq9j52yjasjjsxx40gjdbz617j66kwsiv7qzpkh9p2jy9sc";
-"germbib.doc-15878"="1sbvvjxls934s1rxk0aq46glzvrn46cdznh26mhpa3i28c8xv3hy";
-"germkorr-1.0"="1bqzh9zklr0y1fj7lh6izbzsswsx00wlwgkg9wl8dxvxmzhrj6y2";
-"germkorr.doc-1.0"="0fx39c00hmwv2wvngf3agz3gl1qs5jhcbfc377nxd0v44kbl6wga";
-"hausarbeit-jura-2.1.0"="09nf6pz7xqhzs0n7nafmmkpsy5ksvqvnwha80yv6rxasnazd940b";
-"hausarbeit-jura.doc-2.1.0"="1na417f6avcar3dmgk5wrggj99mpskc1j7fj4qkh33rii7yw6f4g";
-"hausarbeit-jura.source-2.1.0"="05f4qr5cz06k7hnjranx6sbqniv4h77dy0rrm6bg4dd6hrk474q6";
-"hyphen-german-58652"="12x6z459lmns56s7h15lhz0fvz4dw1v51l1a4akynlbs3wh1adiv";
-"koma-script-examples.doc-47523"="1s95a3vgjxrn34cpcinkyr1yw2rj8s2973np71yxrwzi9dqdjpn1";
-"l2picfaq.doc-1.50"="0mk8d082gcqlxw2x7d2w85sm6i51928pijybzbsh9fy2rfcv99xz";
-"l2tabu.doc-2.4"="1jl0n43bqbys0c9v0xb4sjql0gvk4r14ldzp2rbwzjsk8a39q8v8";
-"latexcheat-de.doc-35702"="1cpqcvqkkyb2bf87yjvc2migxawnacx5mva8dapma7hmwx0z7rhm";
-"lshort-german.doc-3.0c"="073v7zvk8xri0f05mr0ad770p81akl9b9cnia1q4hcma9fk89k10";
-"lualatex-doc-de.doc-1.0"="0vnmgs475bzbqi14m9sm45cwjfsbvbk45wkb8m73j1bnk7wg7hh4";
-"microtype-de.doc-2.4"="069d2f0jcg9m4fv8dli2dr9ags9gz6mkwy6fzz37ns4jzrqfsvwi";
-"milog-1.0"="0v5rxsa182n28dzd3l3y4qdsz6rinv3r6p94iy73r26j7jgsqd5d";
-"milog.doc-1.0"="04z8ya5gba7f5q86ch57zqbiz81s62hpdbn7b8jmkyy953g5l8vb";
-"quran-de-0.2"="1a9dqgrdh6vw6zpygslfq9d9z8qws9n614b5adr7pkjcdwm8zsaf";
-"quran-de.doc-0.2"="0fq3yd3grj31wyjvac4qkvs38hjjnlsygiihrxw22ddhsa4cl2jv";
-"r_und_s-1.3i"="04icw2n2vz98bk48kbqybb6x3wgzz8fr045133vinybx49nk8xxa";
-"r_und_s.doc-1.3i"="16ksw9wid0sr9gjhjkxk3696fcy19gky3cp9ia6rsfh20f9f2yw2";
-"schulmathematik-1.1"="175z2363f6bb0cqhcjrfc0cwbkcwpgxf1rwanx9hsjip0qc3v73p";
-"schulmathematik.doc-1.1"="1rhn4rh3dpb15xx7s862acppslj7qsliyr0fz137g1mbclhqxg3a";
-"templates-fenn.doc-15878"="1s91swqsysva49cjrb9khgik5mvhxcb3wr2wz4l2683gdgxlbgkf";
-"templates-sommer.doc-15878"="0z75xhawsmcxv4f24cqcvfi0r22gavjpg4si6nwrgc8sg82x24m6";
-"termcal-de-2.0"="13a79lp2lp0r1r1j5nc94adbir463rhprdlc9p6rk3qa7lh445pf";
-"termcal-de.doc-2.0"="0krnv111d82razivjks8ip9m6z1bllqhx47yzjw6b5af9ps1k6a5";
-"termcal-de.source-2.0"="0nn9vgxv5awzqx1zndl7zvgd5nhllw7kp8zj7snd1nqvz3wgc5n6";
-"texlive-de.doc-58648"="1wq56zn8i9kc9a4yawgb3rawnc59x5rdgf971wwjf0rm3l9iy6ph";
-"tipa-de.doc-1.3"="16gwc0dpdls6s2vdl3hmd6307d88gfzsa3kbw3vhl0z5iawvwj4h";
-"translation-arsclassica-de.doc-23803"="1ix5lafy3ay2bc9zkkbqw2rrw6ng3izb8d9p6rki6h2j7n0qj47s";
-"translation-biblatex-de.doc-3.15a"="12wmiwhrjw6m01jh6qy0qdsvh4n5rx52q5h4qs0nmzryqsgn1yac";
-"translation-chemsym-de.doc-23804"="01liazqafs3lh9ppipw6i6sljcjzr31nq70r83qgknqmb9j0yfl0";
-"translation-ecv-de.doc-24754"="06b4vhsgdphi6kdh5x4a2kl74b64z3y5qzxcpkn0hj40038z1av7";
-"translation-enumitem-de.doc-24196"="121raikamd33gabvbgwygrc8hyi3qhvx4hhv4h8wq2chrglj37dq";
-"translation-europecv-de.doc-23840"="0n3x8g6k3qq3f4drkhzygz4khxyw6isgxmz963xqp91s0y667gws";
-"translation-filecontents-de.doc-24010"="0d2ds8kc98yd1can0gzcngm7gsn2gwhriaxnnds5kz3z3al71gkc";
-"translation-moreverb-de.doc-23957"="1jbpmvcm9q73kh09mhrbsb2wlycwwm4n8il342hz4jd15gwhmy8f";
-"udesoftec-1.7.1"="1lq0n05v6q0p78jnq1wf67pgzh214lllcas4jxlpz8hrwk9n9v1h";
-"udesoftec.doc-1.7.1"="1gd4qhdr4wxgjalxgqp0d404w65x7r3ipdkdq82lfcyclqyab8fh";
-"udesoftec.source-1.7.1"="16fgvdzlxrcaxbbk9m9yxviv8v3qhki2s5kq8j065xx88zd181aw";
-"uhrzeit-0.2c"="11ysijqpnm3b4z7pnyg7m7kpzp6fiw42dc36gxk1aq55wsv7kk7g";
-"uhrzeit.doc-0.2c"="0rln5amx6vkny0pm4yhgvnmmr9akwcrd93db7bifxdp07hjbvj83";
-"umlaute-2.1"="0k1pjakg7x49lyvpabjaspwa73z659gj4qvgysm3rd1smkar6vy5";
-"umlaute.doc-2.1"="1x9l84zk5jnfasgqc4d35g10a5la79z5q6q55f364chc7bibyzis";
-"umlaute.source-2.1"="0ajdnhbdw7b0d8qxnbalv3867p5lrk4mk6xl9skmvmkzpbf4s9an";
-"voss-mathcol.doc-0.1"="1c7kzk2m2i8f6vqywnzfvcmv11ckanhcjxf72p4rgivw8f0lbwjm";
-"babel-greek-1.10"="1jp0a1pr0zasii7xzhrdin7m628xihaj3bf1w75y35qhq4lb19q7";
-"babel-greek.doc-1.10"="1463n58g9c0y1vcxc7p1q08kdqhkqzvb8l557xk8cmn3j8wcafrm";
-"babel-greek.source-1.10"="1sgwqxzsybx3l2hlj5cdc61z26cqxmjz8kfsbiavzfwa94mka2d1";
-"begingreek-1.5"="0mwcgc16dkm7r082ng69babnjzdhh60hwsryvxl17prj03l861zl";
-"begingreek.doc-1.5"="1dzgzpdrpkkn928kkzdxj2wdc99wmq720vakb8v2ssj4vabn2s3w";
-"begingreek.source-1.5"="1v6gb2jp2fkczrqzgwqyhlxyc6s5yps7zqqvb9ph68hvn85bngki";
-"betababel-0.5"="0m2m3m59a2ma30zkyqjc3h076dp74m4igks0dvrlpgx4sfqg90zb";
-"betababel.doc-0.5"="1zi2yxvxhyazjncfjv6dv8c733hb0g5sxr9x7wqqrkxlxgp549wz";
-"gfsbaskerville-1.0"="0n68mfx7026ymxlyhdyg9ppylh5g4bkwj95c9bfmp5bmym0q6dfi";
-"gfsbaskerville.doc-1.0"="0v0widjs2w65ppvzm04wzinrcyp8hcicgxp6brydjmx9d32yrzcq";
-"gfsporson-1.01"="0h2zy85jalpx2vyjszw0kkrav82zv549c82qik9iylgfwfk1amx8";
-"gfsporson.doc-1.01"="1zy50pqr9bzfncs03fg98ws41v0v5c9y36rnjm5d9i7q2zljapy9";
-"greek-fontenc-2.0"="14qib531ac429szahk2q1y6dk452s7c0fqs84k21al6yczvk0si7";
-"greek-fontenc.doc-2.0"="1ly26mysxxr3jfp6fn3zypb3b1fywmfzxz9h7j624fhx5ajxjlsc";
-"greek-fontenc.source-2.0"="1w6afry8y3yfps6as8xd55lwprqavi8xn1s1pm5g3mqkh2m99rqz";
-"greek-inputenc-1.7"="11pi613m7ny46l7v5c0sy55dyh7jw26bpy06h8arxgimnvms8gnp";
-"greek-inputenc.doc-1.7"="0zg48vvgdi9ad1p5iiiqi3pbhvn6fsk8148dc33sl8f70b72fpfw";
-"greekdates-1.0"="0g8cgyrw6lacr9cjig3q1g7rvjdwb0p40b41rsqg6lj6y7m25ya8";
-"greekdates.doc-1.0"="1sh4dgxfn55gg9vp163qj9nd6kbp03cb3nkg3hqlf6b1az486nh5";
-"greekdates.source-1.0"="0k8vyyxvi1i6kqnanfm1nfhbwllgn22ik57r2p357y69hfj3bs4f";
-"greektex-28327"="1v39z550xynw4kkqjqcj7izj2cghkk1g2swsy9x9c71sz95r2bw6";
-"greektex.doc-28327"="0g4m7sb6ppjj0nxgv7pwwvc5p07jdkablcqasdmj8p44ikg9vp59";
-"greektonoi-39419"="1dhbslqclyk5d8a9v9s4af4gxdy39b35zbbr3k5m53gsd0kcs5w9";
-"greektonoi.doc-39419"="0hmxx4pcirm2v5xpl3zyij8r1zm45f373dv18vxj4xr3sn6b7p14";
-"hyphen-ancientgreek-58652"="0lhy1zrg27748mrx8yz5qxpxl3nl460l5l6impiz3lbrgnld487n";
-"hyphen-greek-5"="0yknyhys5j5d34hlzw5wqdm1gw74p6bvx4dfx5kylvwjahj6ys5x";
-"hyphen-greek.doc-5"="16ikyzvd161hn95mi1swg0a390liwz1cq9534i5nvzh1vkyy4wrx";
-"ibycus-babel-3.0"="0az75laq5fxnvn12348c3985148isz4n7nv6hd0d8amanm80h779";
-"ibycus-babel.doc-3.0"="1256n1qa6zpq509rk02llcixw3qh3sgi9f649pv1hjk6xdy7nxfl";
-"ibycus-babel.source-3.0"="08x3knpkwifgi2zxv78bnfn10ix7l6rf5nhfqi6w5xck09l7fiaj";
-"ibygrk-4.5"="0krpzjn96r70z8rwsq52j0v1x7ppd766ngvf6xhny2kd7mshl9ka";
-"ibygrk.doc-4.5"="0prn5b6cjc9ljxdnd1ckfgzqwlc5vv4w435zvyz75r3f1dvbhh9m";
-"kerkis-1.11"="0hcaw35viqpsbpy82knib5lbf3ngvmmkga96d48v5s1zd6m7fwdk";
-"kerkis.doc-1.11"="079i5x6liqgnkc3ii65ka44r9pfpf7k2gxhkbklsb3hm51zs06ld";
-"levy-21750"="184jkjwm17ms75j86njpkr17ipcamca3r5l1fcg8vfv00ffj9fp0";
-"levy.doc-21750"="1wbxdyfxm80w3h8bq8z5yavdwdbgccvhf4hm697ss5yshp7l8gfs";
-"lgreek-21818"="0ry70b47s9bn8ixcjzsj0qvyvlbava2dn2jpmp5nrqqycihb6jvp";
-"lgreek.doc-21818"="0r86kjbayji1cha84dg37ajn1hnlidyw3cf4byq3x63vyvx0ag3c";
-"mkgrkindex-2.0"="01db35xmg9583hkr9bpflr6rj8bmvidaqahpvkr38bks21466sxz";
-"mkgrkindex.doc-2.0"="04p2xaycwszq5dp8s2h6gdm36l800ipvigblkm8m58bgycm553fw";
-"teubner-5.4"="19a788wm84k5gb1k7fn9sm53b5h3hwj45316di0gy3m4h8bafpby";
-"teubner.doc-5.4"="1hsq7x9g26b6rs9796n411dpm6hvylyr4vsryr0sbk67cnf30spd";
-"teubner.source-5.4"="114jgsrdvs5klrq2vd51mvwy2v7j9mhsmsq6fxamanm2asgvzxs7";
-"xgreek-3.0.1"="0xrk16l7mbkdm3mfi2qlx6pyqg23209nkzbpxiah04j1prchzdws";
-"xgreek.doc-3.0.1"="16fdvfzg0aly82svna22iryq9n5raiqgr5mshgl3ic104sy4z4g4";
-"xgreek.source-3.0.1"="0i9ca29dglp7cy0p7nnmp0zi9cm80bnrbdqqcskv3bfmdkqb8c3g";
-"yannisgr-22613"="0h61qn97l6k97zbgk0ghqgr4bf8fhbrb037gdskg2sgxb7zsl5wl";
-"yannisgr.doc-22613"="1vw8p9xk3aj3lfsq8a2qv7qd00aqx22fs3427j31wnl1iymwycag";
-"amsldoc-it.doc-45662"="0d4hwb7hywy56d6934448lcr6fdx7qchkfzs806dr7wfzfy36yix";
-"amsmath-it.doc-22930"="0xcwsk8q9q3nsz8wbklgpbw0vzjw7iw0chffzcbp2zsk6rypqf7w";
-"amsthdoc-it.doc-45662"="0ic88gs89m3d9ys40c4k7sgx6wy82c8isg2qkmd4snw5yms6fpaz";
-"antanilipsum-0.8.1"="0xz42icnw36dvkxlh31g8hvy37mrbafgihm7l3ivh1z4hg6gabrh";
-"antanilipsum.doc-0.8.1"="1rfx3aqdvl4gvcrpsqzjh9dglk34ll6qc1a889yz0np93psnwmkh";
-"antanilipsum.source-0.8.1"="02qpjks29b4fmma6qm43p3w1k8h28wv1blpwjnnsfq4ii6xrkn5s";
-"babel-italian-1.4.04"="15c2ii2pyg054jyn8miyqrbd02gazc9kz6hpdjgqz1mi4agpdm75";
-"babel-italian.doc-1.4.04"="1sjwk67gsqzn3b3q348k25a5gfgzdq84c5mcrmlr401h5knv9d93";
-"babel-italian.source-1.4.04"="0y5ixa44561h29lfqhb372by8zlpn85l9dssg3rlx5qz5n7bvssf";
-"codicefiscaleitaliano-1.2"="0im75yz3sw89ky5lcrcjhg6k6j4sgkjfn6v4srmqzcfdmn2qyx7m";
-"codicefiscaleitaliano.doc-1.2"="068234c0shvblzkcgl67a9s9whcbyjy3mjw60i8ljhs5z5wjrnc2";
-"codicefiscaleitaliano.source-1.2"="1vsb7dk4mlaacl9ls17lm4xdw27xzdgvng02gkfjvja1ja3cq4zr";
-"fancyhdr-it.doc-21912"="117826hd9zl15i8qf6d1pz2qz57l68a9nxqldxyk21acc29ifalr";
-"fixltxhyph-0.4"="1lvr7r5adw566q0hbvmmvmh7igcm8asl0ispd3lflik886ycmmlr";
-"fixltxhyph.doc-0.4"="0yfa6a6dvzx2jjy1jcw7phps4wxz3ysfhk5mxc65qss9kmc94mwq";
-"fixltxhyph.source-0.4"="0ksb42pc0bm64pgszgph6g0rnksd9fhb48z97bnd9jcsg5rhzi12";
-"frontespizio-1.4a"="1rdgh6wvxk0rhkadcrb1f3ymgxn81vbx489z16k88wkk1p0r4749";
-"frontespizio.doc-1.4a"="0mwdqry0h2f65vrki3kvqpjnf1nm5n9v3ljmn77nlvkarqp2kb57";
-"frontespizio.source-1.4a"="1p2c8sdrm0ay9nz0dqrcjigzsjki15fry6mmhqcm3gqrcscsk5x2";
-"hyphen-italian-4.8g"="0xxlpfvcy4frkvxjgx85nz86z0n9cwhgsdfmhgzi66w8c9c2r9fs";
-"itnumpar-1.0"="09cv6x74vs8m10fhk5ka6i1c6gzbs5qaqbk7i7mf2zsdg5w447r4";
-"itnumpar.doc-1.0"="14273y8zl42gkqm915271n15pc6srsjvfbnc3jhp5xcjcqnq3yfk";
-"itnumpar.source-1.0"="1wg714a0ipv9g81wgmjdrm4l4yar0z2nqxr5khiwihk9nrg26yc2";
-"l2tabu-italian.doc-2.3"="0bgfmn5v80rdhs9wmjj6mki29p28ip1d29rmgbw4jh4z6gd4sf22";
-"latex4wp-it.doc-1.0.10"="14r86fwhb9zafmyv05pqfi9962dpxj7wq94acm43gv8m2rsjp52k";
-"layaureo-0.2"="0ggab1drpspvqwkijlj2d7k1iwacd8bihgrj9qvrmsvdlswdjsd1";
-"layaureo.doc-0.2"="0vxa87pk0fq67zlnbzbpnig221isp1fy6qp30fphk7igvnjw8v70";
-"layaureo.source-0.2"="0mdibdz7hawfmc6bzvk3qfhs22pnmsnvkvvag31p3b4n25zshmry";
-"lshort-italian.doc-6.2"="085ydria5q7s648r7frl54sa1y4kyr569zvqjjkancfd83h873cg";
-"psfrag-italian.doc-15878"="0ssx8rw7fwln02zzscywivnhizgrb6w05awscvv9gf9n1qj6avsf";
-"texlive-it.doc-58653"="0vmwn6n8bxpzcfrzic5qg5k2vklbm6rhl9861zxsli0rd9396qn6";
-"verifica-1.3"="0i5bh8j5yjvql6mywfs617mh3pywnqd7z1m6158r3jpwyn6ki25g";
-"verifica.doc-1.3"="0sinc5ha8k3nk307q0piqwj56r2bh4pbxxyww29ygalfqjr755bb";
-"verifica.source-1.3"="1zn10fr9kv131w4id0djycy7492ch7gis27gbr5r02ydwm7nny1c";
-"ascmac-2.1"="18hw5yyqbr8ji39y39293z7a70czipzw00fzfsqcrhgdlid79sc0";
-"ascmac.doc-2.1"="0xzwc7kw7hqpcmisw5wm3n508n4zr4s207pizdhfm2q9mjij0jvr";
-"ascmac.source-2.1"="1rd5qmy9miximwv1n96h6djjmd3mdgn4b0955marf2k457bb71d2";
-"babel-japanese-57733"="079bhnmpcgaml555dgrmiigack6qfqx20fy85c75p4fsn2c93bmw";
-"babel-japanese.doc-57733"="0a479m8rq8l02q1w73d6lpfpi0gs5qdqfbl132483f2wwzznvnrl";
-"babel-japanese.source-57733"="0kjv78h69422dj1jh7s74pkdr3qrdxxbzk3czzfsc5rax71x9jhm";
-"bxbase-1.2"="1jbhxfaqpmjakvda2knxvgwli8crkwlhqa1i29mkzaal74f03i96";
-"bxbase.doc-1.2"="0ny2xzg6z92fpw4s012pf2h90a77d96csi4x0cqdlvzv1f7bqhiq";
-"bxcjkjatype-0.3"="1b2srzs5pwaind8pjsghkbq6hwf42ipx4bmcim2zbfxmzyb1ga44";
-"bxcjkjatype.doc-0.3"="163farvip06haph6dhwf123dk12rnls1mgvdsyvvszgyy9m96bgp";
-"bxghost-0.3.0"="0xkc69hq51qgdmjqnlyrgaird7p5lfd4mf84mkb726nnm1hhgq49";
-"bxghost.doc-0.3.0"="1b4sja3wz9782cny96lfbi6r41mfzmybc95b0dnd2vv09w96d00j";
-"bxjaholiday-1.1.0"="1y3rfdwf969381vn3i0si5268j298bjrn7b8wpcj0zp178scjv2y";
-"bxjaholiday.doc-1.1.0"="19qm278v8d1kvk3fbvs07bdwv0n5waxd7pvkspbw3yfsg0yy4ws4";
-"bxjalipsum-0.3a"="1j43iihid2akjgd9npyqmg14g0m57izzp8lnrpqz2ybbp3mbh0r0";
-"bxjalipsum.doc-0.3a"="06w601s7x4c6cc0wyrgmkz1vj19aynsq9l66h0hbi4hp52bh1ka4";
-"bxjaprnind-0.3b"="1q29bkdjw19iimdggy4s0h8h5vl2s9zm40q965r99b86r6nwf3fs";
-"bxjaprnind.doc-0.3b"="0f5lb2z10p9ayk5nka8bngzvr2qxpfwnh5b1wfdq00ra1khssqqn";
-"bxjatoucs-0.2"="19n1wr7i1mfrabmrsgnmvk5wgdqhbc9lfpz3s5qhnsqsz69rzi00";
-"bxjatoucs.doc-0.2"="0icd5zj0cabkvwjgncsjmqwx79d2rqsm7ddp54ahczfl6mfg7fwj";
-"bxjscls-2.5"="0hamg91pckfjm6222rgcdjvjh14z5sjv0h25hncivgciw0j6ci5f";
-"bxjscls.doc-2.5"="019bmkhv0cmzajq73nhc4gv7yv7c959dann36436y97znzgvryqw";
-"bxjscls.source-2.5"="0wh3b5cg5zvja5fxdy8bpdch777491i60xl9jj7v4rkd9sg9hsm0";
-"bxorigcapt-0.3"="0z4yyfrw0ga1gd8xmdj0npd40zrnhw1g4anfyswypkdnh4l87jxy";
-"bxorigcapt.doc-0.3"="16hzvpff790qsaxnwrxbv773pcr06gbavqirac8021g2sgn6h2h5";
-"bxwareki-0.6"="0b0n3yhq6y4dq13nwm40zyw6hn1jz5r3bawsrnaw691amvfb2blh";
-"bxwareki.doc-0.6"="0ay0rsjnvpi1g7iyn6dvwc4awfswd48n379qqys5xhzd19bncs0j";
-"convbkmk-0.30"="1hb4ahbgihnzqmcszxlq67bsiqprrxa9vf25q8yz31j70sg7s18r";
-"convbkmk.doc-0.30"="1h1iqcc1rjcvwg9p7xg5zq6sj5bi68s2cknsbwr6dbkx25ihwi4i";
-"endnotesj-3.0"="1rjraz5m7zqyj1j7c640ngxv7i73d03xh5wsmcaakc10h36n3pyr";
-"endnotesj.doc-3.0"="1sss0shcnz2knzghjqw41s17v0bs7dfcmg6x566fdwdm4mdg4dkv";
-"gckanbun-1.2"="0bf42j8ismm450431pqvqgwzd04xsr7qlhb9di867qdyiy6hbrpv";
-"gckanbun.doc-1.2"="1rpgm6jclifxzs4k5ybkn9pxsl60vl167jjhffg6d319g3miy7al";
-"gentombow-56665"="0pzvwd6qpp5r7is7iwahpjgqyc3ikgq1jy248kbn4g2kq38hffhh";
-"gentombow.doc-56665"="19sqdvw9fazb8aw8ss9v9sxc185dqcvw8pnimm0bkzkmz9jnp5ws";
-"haranoaji-20210130"="0r11mqkhdcvmv44z919w91qm27l8l48ra8014c6594lvwkwv3pba";
-"haranoaji.doc-20210130"="15b0v3p3dgb0008cjk811lwxbwqzxn73dm6zcqs3bdyq9xcdv6x4";
-"haranoaji-extra-20210130"="1n0wa9kkcx7d8jbczii8v8pnpgdj1hgnx73pi0m7ni10mm2sfn1z";
-"haranoaji-extra.doc-20210130"="1qmxiz95sivgkwy3y61fpki0vaq6fzl4w8brdzq48grb7mqbj6n7";
-"ifptex-2.0"="1skabihim6l8c3iifzk45pdsid1kkd24kdqvjmnba1qr40ywgda0";
-"ifptex.doc-2.0"="09nh0bkvbam80vsm13p2f6y30bjxai6p7n87xz04r9bgi6sdpbcj";
-"ifxptex-0.2"="1wb1laq1nn02klvjgwvjgansi4anmjaik04fl0lylr7x5996qa9k";
-"ifxptex.doc-0.2"="0bh8bqly3zzzzgs21cb51a06023l9xfig5qjfzrlyvfqms7wj19z";
-"ipaex-52032"="12rd8b6kbnn2hvsimmfirfq3nj436h2ckg5129qxnfnqfqr9pkl6";
-"ipaex.doc-52032"="1g2z2ichh3wdjmn9jjd48jic1b2xw5sb8sksqv0hm043hk5makaw";
-"japanese-otf-1.7b8"="1c0xz9mwgl1ywfks446647gndkwifh5kc0132a1g2p226mzs8hhh";
-"japanese-otf.doc-1.7b8"="016v8wnhxk8l57fcxh7p6hpvqlrwn93dsrxr736xkz4kvrzznjqq";
-"japanese-otf.source-1.7b8"="0pdsmlcy1h76nfvh19pibxywnmm50474g9yk9rj05p1amapnpkja";
-"japanese-otf-uptex-0.26"="0y0bv7m11g1nh11il7b74v65vfzh8fh3lzvv1ssbika8w83zjw6y";
-"japanese-otf-uptex.doc-0.26"="1qgkfqx1fbnsnyjgxg5iwcax1gz64nzq2sjlz38pi55h5gka4nrx";
-"japanese-otf-uptex.source-0.26"="1pn7k97px1b97lsydw5dwxkx3r8a2aa8cjrm2ffxijgdslb1nys8";
-"jlreq-58472"="1l63k8d3iwj5sf44cirmi4sy412ha54gs77mw6slzbxh2lg0z52d";
-"jlreq.doc-58472"="06r0k89qxx7hsvadah9xis2v858kz6imbn5w1jcwmb05skjmq19q";
-"jlreq.source-58472"="0g4689j7ica7vxkmhxyvlxwmn7k75bvgdzcb382s8ippp2c4vq99";
-"jlreq-deluxe-0.4.0"="0v27w13xymviphq1168x3kvc9anw1z1sa5l237nffj2cv7spg8gk";
-"jlreq-deluxe.doc-0.4.0"="11n5l1f3y8b7ak6yy3z0iy8cqslii7w9v52bnryi68yhn58kgyv6";
-"jsclasses-56608"="1m0nm7fh8i31qap9l95v919kj6kx13mgw3gpzvan0sh1fcby2dkz";
-"jsclasses.doc-56608"="12ncwpjgmiyy1rkmz3q0hvhykinlsnscjn3idhixf8s4qrji1qvw";
-"jsclasses.source-56608"="07imccrb44yv0lzcls2fvxkah419yqfp51dwzfj2if5jgh9kb3cm";
-"lshort-japanese.doc-36207"="0mfxig980jyzhay1i83d69p294hgbr92v3kk2a4z8ca3fwzy8w74";
-"mendex-doc.doc-50268"="0xgg4iwg8dvsl8i2dm4pxkpwylhk8m901nqfyw5q84hslfb92agx";
-"mendex-doc.source-50268"="117lm6mvjpfz36irl2j1i96lc9hfcjv18bryk6nw41sv4y6n26if";
-"morisawa-46946"="19b8nzkwdnqk61p1fc7yygjlrdimawmbam18akphcm70qx2h01dj";
-"morisawa.doc-46946"="1y218bablhn06njs5zqmsl6jvvsgyihm4il1x9722pqvvyxxf9q0";
-"morisawa.source-46946"="1flrf2c2jxpq33g26i0m2h63yd5jfy9bdh80idpx1m6bi6hhq7ac";
-"pbibtex-base-40986"="0h5yi27rmh7ajih3ww4wn3z746mkdwrvz1pn44kklrz9nqryqwhl";
-"pbibtex-base.doc-40986"="0980gdzdygb1frw0drf2pkk27xv4qq238syxpsbcf5rp78855byi";
-"platexcheat.doc-3.1"="04hvm19x4z7vq2md3p3r2wwa7iqkgkxnvvj1xx3s9145m6fjib5a";
-"plautopatch-0.9n"="19pd0p9g5bg7ycix2h0a8q3riwq69jb82bnc2i12ip0cy3nzjimv";
-"plautopatch.doc-0.9n"="0zr69jihpnd49cfr5s18p0av79ghxj36ppfjfjzwhgw4yfd4imy9";
-"ptex-fontmaps-20201227.0"="1ppzlsi0bv0nhx8lfx8hkg047vyrzm6jr5syhl5pwrifjq1wdwxw";
-"ptex-fontmaps.doc-20201227.0"="1b96r79zv61skxn4x1wp3jcvbz72syz02g4yq5f8bgsjarkgsbcr";
-"ptex-fontmaps.source-20201227.0"="046jbs402n7g7dyd1akqwx382rkn9m7cs6qr6nz1cpd7c56kfb9n";
-"ptex-manual.doc-57128"="0hh4g8v0j1dk4saga9wkpjjmw7vnfknzrbmap7fla5y06dzadfix";
-"ptex2pdf-20200520.0"="0s4b60gc0wg4wgxczzr2h1xlic0rk23a9wvfy76vysqzlsfmh0xl";
-"ptex2pdf.doc-20200520.0"="0ky2zh6a5d6w2aq8k9wg7p3cvp8l4wihfjlz3sir3ggj1rx2x6j4";
-"pxbase-1.1b"="1ppl310g2l5k318a23zdj7n7yadbv1zjrrr42fszwj7xri0zrwvw";
-"pxbase.doc-1.1b"="0lkgyn6l1xkfk5578i7wq2arp3wrlf4kvrmr88z86si915clqzbs";
-"pxchfon-1.7e"="02x4y5jl3gzgyyjkzd0dbhzb5k91a5vyvzb1i3n71dhmghqjw578";
-"pxchfon.doc-1.7e"="1dqwykwymgnlslmwh4m5bm1hlhczvi1f7nq974by8ipq8l3djc4h";
-"pxcjkcat-1.1"="03rci00d4p56ibg7yn18jn86mji3yj5mnq89niwiaixzb9x2s9g9";
-"pxcjkcat.doc-1.1"="0lj0s8q357gw05i0xfldzm7wgwc6x2b4jka2hjpayqshh1zm01wa";
-"pxjahyper-0.7b"="1hknk5s9z8ygrymhdgrzwx14b5pj1l82q1ia9pp6rm70x5d03s6r";
-"pxjahyper.doc-0.7b"="1icb67qaznbhwn84hjg9mks42calxk61lyybnj4459vhzjr8gmyz";
-"pxjodel-0.3"="0gywpypmv9c6bqyygyz336v7dn6bnx5ibz2p6f38paamk6bqbyf4";
-"pxjodel.doc-0.3"="16nf7za81mq77irbdqkxw2iwxgi3jpy5vh1fijp67bq3lx0az7is";
-"pxrubrica-1.3d"="1xz98vzi6cng9f2gj1xqbsvk3cw1h98q3yn1ijq2xkphkjv1sfhi";
-"pxrubrica.doc-1.3d"="0m7y1m7prfgcg20f8bmhqxpslxycw7qg7si4wr3pvcmmgv2skd09";
-"pxrubrica.source-1.3d"="1grr42aixxrxccjq1119ir0d0yialj89svd8yl0lzz852pp2jycg";
-"pxufont-0.6"="19d5bm980iqx0m54fdybllq1f842hmp7976zc6v5w7dbfhndybgj";
-"pxufont.doc-0.6"="0vnvdvpdwkwjqds23bif51h9myq4bzgj2k9xmzqzvan8xj446jxf";
-"texlive-ja.doc-58581"="0vbxdm3kai3qfxdvdsji2fnqx3wkis4yb49072mla26q4xf81jwf";
-"zxjafbfont-0.2"="1zcyvwsqn2w9x9w79lvi736r2zwrsk2xdk6nrrmkiaq3cakd81p9";
-"zxjafbfont.doc-0.2"="0dfh592niw8s6zxmxj1sf8h02s2vz8s2ywd291946bb72xidb4gq";
-"zxjatype-0.7"="1ap4f0yq4cmkz5djy7mpgp32l24jr7xbxd9zc0nv1fvnywxpxfcq";
-"zxjatype.doc-0.7"="005rr69f433bllggj997rhbwlbmsglaywi55az5j02x0036aj2dd";
-"baekmuk-2.2.1"="0gfj79zhyg7p300bw27akxzgimvqmagk7y6b4nd7jq5wvrv4g5y0";
-"baekmuk.doc-2.2.1"="00y0iglv170b8pz79xjc0kz3yjphbb6a9alk5gg6hsdwvc6gf1by";
-"cjk-ko-1.9"="00mnybbajapn25gmgk2m49skfmd0vi6j198sqmvjspz38b4z44sg";
-"cjk-ko.doc-1.9"="0lnldm3zarq2php9k1a3kdsw6iy3znldbcws7zwq7dinfhvbbjc0";
-"kotex-oblivoir-3.0.1"="0f0cgjjjg0ipka5c08qac3zb5mgwds9blska2rh6ps9i9ahknsbj";
-"kotex-oblivoir.doc-3.0.1"="0bkh1yyrlia2v606kw6hzbg7f6547rzpsgb5px31fg0jab05alay";
-"kotex-utf-2.1.2"="12klbs9as0immwm6v75ibjdhq7g5ybv276ab1ffd5a6nx0nksxas";
-"kotex-utf.doc-2.1.2"="0ppqzzzhkf9cqa6sqd5ys6m146xdnsz5v326g7d7m2b9104z9k62";
-"memoir-3.7o"="1gaz197gaqkr0207sxkfk84h5fzdsc90bapiqfinfbj5scman3ps";
-"memoir.doc-3.7o"="0vghqh2aywj3x197hr9m9rs6v9431anql5kg9f8qckg5lhrv472v";
-"memoir.source-3.7o"="0330h0xndrbsc7cxw3c2fzal0i1p7j4a5z4dq9qvl9byqprqlwjf";
-"kotex-plain-2.1.1a"="02y214iy349yz9x2l541ynhypwc0rlq3y97sk35dzhdy3cnvsmrp";
-"kotex-plain.doc-2.1.1a"="0hj3mbh74nzk1s2sff2sv1k7b2mrcs3bg8vn7kka89q8yf56gwmq";
-"kotex-utils-2.1.0"="021hgi7iw47b3c637mk0g4v52h5ygx5w1060bpcknjlbg0qb09aw";
-"kotex-utils.doc-2.1.0"="0l7dby446xxjwk7vl1h3w4xsid4dqd8zdspj1f457jy4qwjaqf88";
-"lshort-korean.doc-58468"="07660lrss97hswmis7rgc419h05mgrvsfrrwmnrwk5yn97flhhqd";
-"nanumtype1-3.0"="1izx9cjsd46ydhrl0ixsjz23nbk7mfv3swfk5ada0d4adcm7b73h";
-"nanumtype1.doc-3.0"="1sxap924dzf17vslp3n71r4mj4f98m9cmchq603c7ara1cyjk2mp";
-"pmhanguljamo-0.3.4"="0lvpdxn17n64ihznkkwrzj3qzqg8b7l9mr17f26a7slly5fjh93s";
-"pmhanguljamo.doc-0.3.4"="1aqbgy84q490br3r3660ggjm9bw1lvdvkgqzm0g6hfcvi0p4lf89";
-"unfonts-core-56291"="0pyrnydswlqhxacwqpbc1m3bzm8v4gcl3ka7w2mppp77l8a70drl";
-"unfonts-core.doc-56291"="0225vsqaj8l0g1igc4h8m94cfk6wv17vlnappdgxwws1fknz0x5m";
-"unfonts-extra-56291"="1i7skyjqlprf6m1pnz5l2hn67f1cix4n3pai6v1a8adrrx7vcfdx";
-"unfonts-extra.doc-56291"="0d3cxfm110lg12n3c9hc88lqmx77rcsil1s6yph384scxadlg3bn";
-"aalok-0.2"="039x5s8x01srm6z34wjcg9snhvkf3m4msbapacjgz8j35anvr5l1";
-"aalok.doc-0.2"="10wsnqdg3q7wjwpsrq9pakzzl7pc0y95vd8mnbdsgazcla2c08br";
-"aalok.source-0.2"="13g7d2jpx9sgm9f4q0js1ivg567nl9d000n648jr60fsg55jxms3";
-"akshar-0.2"="0g1pbihbpl3b7k7c19qiq7lcgx3zrfn15065dyan85bs8h85c2cw";
-"akshar.doc-0.2"="11a18b7a592sx3wha1lpy659hgh1wnka16zf8m0cbc99f867xfln";
-"akshar.source-0.2"="0g8j0015dm3mhphg06ma9dkgc28ywlihr6pcbi254qaxgk7kdn9g";
-"amsldoc-vn.doc-2.0"="1iz0zjn1v7izwbsq0zb6cvpnkbvk0nxw1b24j7dzqwk3m9j43i6x";
-"aramaic-serto-1.0"="0j1i5snrgj579zx3cn7z7dhi9rrq0ssl392r2vxykcxalcc8cmg2";
-"aramaic-serto.doc-1.0"="025nkiqh91laaj3yx2qkl5z0jcm2w0qwgqm545dd98i5y1a78lfx";
-"babel-azerbaijani-1.0a"="15siklcjg7wmpzgy059d8r6ivg6cib5by9a4l6n31c9pxncj7xka";
-"babel-azerbaijani.doc-1.0a"="0dncpgvjqqa41rk80n6wif8nzdqw7vkxp2056l6sblzxgh87fvz0";
-"babel-azerbaijani.source-1.0a"="176r483598gd2dfmfc2qhmknj913n3k6rk58mpfq69af72jq5rjw";
-"babel-esperanto-1.4t"="0p11qa0d496xb6hpj6qc2lisr3xk3k1rbnj7b88wcivfjwf5ypmp";
-"babel-esperanto.doc-1.4t"="0ra2iyai9vyjksfsdcv5b9ifvqmhlc4aikyzf3wq073sh9crhxh7";
-"babel-esperanto.source-1.4t"="0i1hzj701rii0hbp05h25633vs2cbmqgyc113m3g78i24vh2rkbx";
-"babel-georgian-2.2"="1mdsi9mq6ka6ahrgnasik0sxkhq97qa223q5iy4fkfccan30kb07";
-"babel-georgian.doc-2.2"="1iw1hbn5i0c7xhvcmap4hgiaar9rznr76h2mrgya8xj0czppxwv0";
-"babel-hebrew-2.3h"="1mzjkrjasm6i7qp8pvl9l0dwd4597hnhsnjljfqn2mf39836i6s6";
-"babel-hebrew.doc-2.3h"="1w45vylwaiy2bn457fcc8c4fv33lnjbznsk69z3ky8r6sgxra63y";
-"babel-hebrew.source-2.3h"="0cy281g25mn3pcm5m3d340rp9l82472zyqk09xdi05mxz2hwvnxh";
-"babel-indonesian-1.0m"="1nmz2vl80cs7d58hl22y9m2hlf4xzdw2brl2z9k56w2mk6rg510k";
-"babel-indonesian.doc-1.0m"="1bd7v0wrp85bchni7sbn4b7manybq1by8sb4bhzcmbw4b9dnc3yz";
-"babel-indonesian.source-1.0m"="0p89lrfyqfhmnvijf9mdhmjsr8wzb4hxr40rf33wn50ak3m8gm7l";
-"babel-interlingua-1.6"="0zbyfhfs222i1wdsfbik33m1asdaa71rg700s9vfbvfdvjcikciv";
-"babel-interlingua.doc-1.6"="1z7j47zmp5y3406da831kwxqq30mgxh2wwxsrkdjycnsswsywgv7";
-"babel-interlingua.source-1.6"="1y3xsscz9zxaih3752sk6jhh77ljnllmikiwgqb3xsvzj7b5fs8v";
-"babel-malay-1.0m"="1h4n9m38s560iw86cr88xzflizkd37nhgyl51xvniyvkz6nkhrxr";
-"babel-malay.doc-1.0m"="0c0jriwwkrll6sknd1c90bhipcjr3inc7vdn6cd2szlbx72ir12a";
-"babel-malay.source-1.0m"="0r1gzyi40yx8ikxkrdqa1hg33vciz1qbvibd8dv3qbia7mm11hqv";
-"babel-sorbian-1.0i"="11vbl2ybqkiq133xsl44waj9y718g1snv3k2jf640gxihpzkqj5a";
-"babel-sorbian.doc-1.0i"="0jv1p1k7wlq5i87isj0lhxcj3wxrz13wvjqnlfg2sksxa0pay56g";
-"babel-sorbian.source-1.0i"="09xk5fhfh9mgrlmma4w1z5d3w2fshdpvg5hg2ffyzz0w7jvpvsma";
-"babel-thai-1.0.0"="02n0zl8xa4y7r2n8zb1870b95inclcdmwq0llcspl54vjgds2yig";
-"babel-thai.doc-1.0.0"="157r19z20gn3fy9si8mn0c4zhgf1kpkz6jv8ag6y26qjp1c5g4kc";
-"babel-thai.source-1.0.0"="04x6d8q4glkb4w8ic5qcywxi009zy0f7dcczp2fibs0prhw1kmi4";
-"babel-vietnamese-1.4"="0xb8w1dm525xrvpsxy6y4n6m8rr6g895hysxbjcvv5x8bjvl2vx6";
-"babel-vietnamese.doc-1.4"="12cj6335qj5igap6hff1qrfz4ms4s94xv7vlwdcv1hs5gabqylaw";
-"babel-vietnamese.source-1.4"="1xdkjigwmmkbihczgd0hawszzmnn3j7fypsv3sx634ham8j02zzx";
-"bangtex-55475"="0gbjmkkidm8xk6hpkd0i0b778my5xf7hfwq3fdq2v7ca39bii0d5";
-"bangtex.doc-55475"="1xizgjqmwafjvcf0j25xh2gzcqzcipymhmhh0r56lwv02fd34b4b";
-"bengali-55475"="1rqwjn1vim77r30nmdmw5v50phpsfzdcx8nlxhxlvqsca3yqzsvz";
-"bengali.doc-55475"="1zxczyil1izzj9pnz9c6my76mggg8maxdign07qn4kzf8c0fq8jp";
-"bengali.source-55475"="0b4v7jrngga8znbfiafazxq6z333wa98prp7hwzzhpv3nxj6kbl8";
-"burmese-25185"="109492p6k58bdgs4y0nb1hfnk63pdpf0x4b7az8frfff4wg2jvb1";
-"burmese.doc-25185"="1lwgifmixkyxscy6ichwmc8lv26dwmcvy2nm68z2wq0cz7cihjli";
-"burmese.source-25185"="1iwnsjnacafq1w3n6asj93n7nfxxyslf69jj0rfrl05fai0iq458";
-"chhaya-0.2"="0vnq4i5sz147db3nvld8rqmyvni3dwzmzxwy94a9d5x7dm1b6819";
-"chhaya.doc-0.2"="1c0j4izh7y4ss79aipg7206q1m0fjjj0x3myc5xyfz8a2nnvh6k1";
-"chhaya.source-0.2"="0bppya8cng8mqjbchbgnbjp15clkcd6rfzwrk6z6rn060jwk0d41";
-"cjhebrew-0.2a"="0my3jp6pi5lbbhn24jn07gx95laq2p7fqk88pwic7wwyji097vxw";
-"cjhebrew.doc-0.2a"="09ldma056ipsamrd558z24k63p187ziw2bh8qgy4na20pp22wj0g";
-"ctib-15878"="0vm3aw2havsabkrr8sx4m6px9hi189vgsmqy0s922dlm479d8bcy";
-"ctib.doc-15878"="0q7jss1ai1jjr66yk5927psyvvmp1dwbr54llvwyc4z131g7qrnb";
-"ctib.source-15878"="1im0zhrw1lvzp9j26d9nh4m1mjhs5by6nai0dh2mrmdjw1i2222k";
-"ebong-55475"="1khaz8whw26znba0il6cam65q5sq9fb69clsk0s8qh26hp9xmlnw";
-"ebong.doc-55475"="0fa0kdipnn5hgfpjh8rz3l9zz97i94v45xmsxjgjn40xqnai3v27";
-"ethiop-0.7"="0h1h286nq6f2bplxxkpdg8mr70ip92c7mkj9lakxzcwacsj849xy";
-"ethiop.doc-0.7"="1aqgl8hvapg3p0f3knpirlgnifpkpw4jb22zncp1s26jqjc9wdcr";
-"ethiop.source-0.7"="1cc66b7ad2kfs4whzbnqdzfswn32y8h19bj3ad20ia24dggir5mv";
-"ethiop-t1-15878"="1xbkh7xx71d19ghwfq8bhjnf7jmapm13hp2gr6ggzavcmzf12ffz";
-"ethiop-t1.doc-15878"="1lafizx606kv455bhf125hl2xqhndd5mblkd0zyvqgyir9bawcd9";
-"fc-1.4"="0bw8ifh6sxgii5s3vx9d87m4rdfmifdvw70wmj2kwqzrij1ri568";
-"fc.doc-1.4"="19p5r28fzw0i7kmvvv93hiw7cm3lkcsn2hdn90k8m7jwy758qrdd";
-"hindawi-latex-template.doc-1.0"="0q35drybrlcfcrhrd5691m66nd17b0m6hkcsqazpb1ck227zih61";
-"hyphen-afrikaans-58609"="1kn57mzrbk0qhz69b1ysdqjv8xirsb40yz61jx146kqc4p1y96lf";
-"hyphen-armenian-58652"="02x9p12zc78w1x7k2kz019as42d5kn6gxfl4s72rd6dyrqii7bc1";
-"hyphen-armenian.source-58652"="0z666y580w1kpxssdanz67ykq257lf11a1mnp1jrn08zijvfrw9c";
-"hyphen-coptic-58652"="1ry5srs6qr7z1xj1km0jsc3z278iylrfq79ji31kxmf1qs7rwpnd";
-"hyphen-esperanto-58652"="1vfrf4wby1gmw5gm8h4qkyqa3hsx00nwj2qs05m1kn119k0sg70m";
-"hyphen-ethiopic-58652"="08dyf72ygqh24h15na2ssl2f4w9jlffh4vhy6lvrw2y6kss1xr8r";
-"hyphen-ethiopic.source-58652"="0j55k0sh4dc53wbngadz4wy86k046bsi4l5a329044hk24v4ydm0";
-"hyphen-georgian-58652"="1ja7skdhwwdy3idgjf508dbhbpyl3a7cj9mx8x1rswywy924liqf";
-"hyphen-indic-58652"="02xnj4lrkvy7gs4vlnsvili90p6p6byh659mzci1ad4x36z4362k";
-"hyphen-indonesian-58609"="047j1835ny6l0ris6j5haw41m9id38r854mx384kfm48sa70bs9x";
-"hyphen-interlingua-58609"="1gc3c86zbjv6j1kw353xwhzrqrmq41rbw2ah1xrl7rxvksmzmsnr";
-"hyphen-sanskrit-58652"="1svx84qj9vr2s6pyxn8zz587ph37g615hi3g1m4q6glw9hgzsmkr";
-"hyphen-sanskrit.doc-58652"="1k6vsa9xakzwmjma4f2vm685cyb28rjjj5qmpb7l0fpqpmvndp1d";
-"hyphen-thai-58652"="0k35mjibmsrahiv71dbl82r9v978gwkm42xjnp3zb4kgc0h79kc8";
-"hyphen-turkmen-58652"="17bhr58r8sl4fw8w3gqsb8lvpw48vdijr16bdk7n6ma0183vd1bv";
-"hyphen-turkmen.source-58652"="1wlqx8wb0wsqhdv823brc3i8w1vf4m4bkb2vg917j5dq8p8p71aw";
-"latex-mr.doc-1.0"="1zd948d9y63js7980g2bvxpf67hshh2xa3n2ihbzwhpw6l9cbh1w";
-"latexbangla-0.2"="0jh2x97r6j8lrl5kq5m4bvk139229fwf7r8g8xq7n0qywnfdr9zh";
-"latexbangla.doc-0.2"="0hgcqd8vqq67zzdn7mq4bps3q56ad3nmaq71mkcyricgrkn5xxmb";
-"latino-sine-flexione-1.2"="1k8inj0rl7mhsjyzc39w789jlafqshh9sgy99szxqbs0jilgfb78";
-"latino-sine-flexione.doc-1.2"="1wccb0ksrrysqjp68l3wnf6l4n3s64ny3cvxiqgalrf0mlfipxmi";
-"lshort-thai.doc-1.32"="16r9gx902a342q2mj570y269yw97yaj6hrbqrk4h49ihm695z30i";
-"lshort-vietnamese.doc-4.00"="094lfry6cqvpk02c3acss6581mgb7j30fnja1b3qwzxmyxjdblwa";
-"marathi-1.6.2"="0b1s7nhsmvia6sy4m3lj4iijacp4x40dp8ssp29cpr1hajb9cpxy";
-"marathi.doc-1.6.2"="158j3rxmy6n3j2hljwqqra1797d3b5j5ny5kgamkn2ffbhnfwmi8";
-"marathi.source-1.6.2"="0n15j37016xzq6yyik97h0kwawmwvhzs2nxg9whk0sjwbcj956ns";
-"ntheorem-vn.doc-1.203"="13lkgb4qjiblbfm4jcxgkxsf08zk90lqz02bxrmim1n8gvyihwcc";
-"padauk-3.002"="1yjqxzqsvk2mdsk837bgwqf3nfm9gh873bnir19wj5kj622zfh4d";
-"padauk.doc-3.002"="0331w1z1b5x15yb3xyxv008l95idv5yq9xb87da5r9p5fzfh1z0y";
-"quran-bn-0.1"="0dlwf4jnm9jmxa0q3fpcnq496zqn2z66jrmsch520xyxf3bsgk49";
-"quran-bn.doc-0.1"="00466c408q27rz6yw4wkiqarbf0z5rk2cxs2ahhnhxzgw6pi7va6";
-"quran-ur-0.21"="02r06www7n8mb8z7cx0wgvhawnskchnq28mdqmnyk4a7f59gl1yp";
-"quran-ur.doc-0.21"="1d86p5dkj9l2g8y1lq48bs92by5925w3zgh94mcl59i156jywlcz";
-"sanskrit-2.2.1"="1w2qni1pgzj2mafglzyvwfk11csfwz83gbcq1ihqabxsy3wqvpqw";
-"sanskrit.doc-2.2.1"="0i62fzaa6qy05qgb8p4vpv37lrivqnshhiy42zc75kldacbjivy1";
-"sanskrit.source-2.2.1"="1xzsgbx5z3z6zi7q9s4gjkq7xxvngifkrbqyva8m15nc0rz38hl0";
-"sanskrit-t1-55475"="17mqm0iapkf04z5wlj3qpk9qlz8nnq50bfbibikacdanv3852m8i";
-"sanskrit-t1.doc-55475"="14g53969gw2azpn7z81kdwc1m1hz8mafrz15kzrfiw9w6hh7s6jk";
-"thaienum-0.2"="16awnv395nhgm8s3n7w1x7x0h32033258bb0jp81v5nrnmn344wi";
-"thaienum.doc-0.2"="0jvggbnxinc81bn8glmyli746asqcpclgmvyl8gzbdarrnabij3b";
-"thaispec-2021.03.01"="1inic6cpbf1kf1hi6brhq5fj3fkwn95cvgjqwh7bxk9dxk1rzsh8";
-"thaispec.doc-2021.03.01"="0ki2jl9spv70f5hkzr762nkcylplb9z70c8gdp97whqg9l9mb8bs";
-"thaispec.source-2021.03.01"="0j69dwrn3qk82xgnwabq30ab1pf4xs3sfnxgnrksgmhd0ly4lpjv";
-"unicode-alphabets-54236"="1lmjf3yyr0zyg2b4bdx0n97vqfbnzyd929ginqrjxsgk7imi6l9p";
-"unicode-alphabets.doc-54236"="1sygp8b5191llj96lr24w58hvxsacsddah8a5w43a8g1cdqi0dgv";
-"velthuis-2.17.1"="1ki27wimj82h2dgw6c1f6hs93yg794j711x1w3vmgiwz3mdqkzdf";
-"velthuis.doc-2.17.1"="133f9scdzjncbvqqf9c5nj6vjszp1f235vrapg2pjlg018hlhv9x";
-"xetex-devanagari-0.5"="0i6hkzl2jbiixzrw2gvngnyzqkz0lfdilj1zz5xi6ypffi4vyihx";
-"xetex-devanagari.doc-0.5"="0ahcawr9872lipz33jrv870lj2601j593fwfqcn5x0jhas93ch6c";
-"vntex-3.2"="1hvpvfndmhbv0d25a26syp36a1035kv5wbbb7pq7ljnbaf4a9qfh";
-"vntex.doc-3.2"="0ssdvddzj738m6z86861dfnh1xvg3blfj7vb2z8iq1md01zvk005";
-"vntex.source-3.2"="1slib4ha6avplxfhmnvv7k7dbamlr8m8q6aijx9b83fy6vxjvmf2";
-"wnri-22459"="16hcapjdb5dx48gbcvk2bkpnp1w9knswni2vs8v1l9shxz03nnxa";
-"wnri.doc-22459"="0wpf06is1vkaw4ivhrz4hfii3qrgs71cawgn1fnm8fdzalgb2frc";
-"wnri-latex-1.0b"="06m6xwvm1pxz2bjf2xa7k3x6m70p1f5866wn5imipmhw4wjs2jp2";
-"wnri-latex.doc-1.0b"="15d9mcvdhs1jd574gm6a9ppxyy7avclvq54ikcmlf4vn20lygidx";
-"wnri-latex.source-1.0b"="02x8fdavhkxfnxhvr891adpn93yhqccs31w05h8f9hyg34jlnb30";
-"babel-polish-1.2l"="07b286ssppna5gvv5l9gg9lwprrzh9wn28jnr65ixr9w817kphml";
-"babel-polish.doc-1.2l"="1ssr8wgk8csj7fkjr0d4s9szm8mvap2ps8vbf4lr72z34bb6zmf8";
-"babel-polish.source-1.2l"="1jymxl98mwxmq0yq90mhrr7bq7c613rh1rnhl7l3bih36af55rwr";
-"bredzenie-1.0"="1mcl52mlbbw0yxbs53x9a7kh3xlaka9c7nszfajlhpvj4s3jr1pd";
-"bredzenie.doc-1.0"="1zgmhhyqf2bwlf0mi509nrnzqqa5g4qxr3zj46rsa8jz0giaig44";
-"cc-pl-1.02.3"="0cvyi72p74qx82qqw6cwn6kdrrsfw83ngwwkjrgywqr08q65v1an";
-"cc-pl.doc-1.02.3"="07s3lnrl1n7pjbm81bqg6n6q6lnv5r04df0xjc6v6dqbdq08s51d";
-"gustlib-54074"="1kqlqxwlx12hyyhsxyn470rgpzg6xw25ix1v5j4sski6nwspvn9c";
-"gustlib.doc-54074"="13yx3bzmbm1b1p5rbjdfsdlwxdpzdhhmm2xd05hi79wdfxbbby7p";
-"gustprog.doc-54074"="07qx4xvyqb4p0cx0macjgyg0pcxgcmdxmzfsx9ah5s0dqvminwrc";
-"hyphen-polish-3.0b"="121aayyqidlz8kprwkb4ydzqakw1m7a5ysz9zvw7clb65z5yd69i";
-"lshort-polish.doc-55643"="1d6q7xjplyhynicd599cqa44qhncpxyqca4d7lfbjq2p6rgx5if5";
-"mex-1.05a"="1azsp6n01qhph2my75r05sby7r3lsafydsxv8f5532dkb9r86p5a";
-"mex.doc-1.05a"="1nkr92d761c7yfb9aysni3ihidzw334w4180d6r15k1iwinrn2al";
-"mex.source-1.05a"="1nd7p7ssh79rrpv5i0z4246cv4wmjgy3by66bbrv7w2xhmh5819k";
-"pl-1.09a"="1j2a3vz3wabv3ai0k9xvf8brwljr5r2bi57nk0bba476vkvxbrbd";
-"pl.doc-1.09a"="08qkn286bx6akfrxrlbj52xylbvv00bvmmpin1sbpy342ij57lrq";
-"utf8mex-15878"="0inwvyrizq3mr4c78l036ib15d6v2bnrakm08hvxx6ck753kn1hj";
-"utf8mex.doc-15878"="1nj94nn4s662jh2wykvrwkiiv2xzg6v8q4iax18d20p75yfcn3v6";
-"mwcls-0.75"="13a1vldimwdjq9lna63gy6gcc9gnwirb2zrm8m4g170q9r2b01rw";
-"mwcls.doc-0.75"="10nc7ai9brm36hqhf1czs1vvhp9nqvbk4h8r9l02jsdjbf4rrml3";
-"mwcls.source-0.75"="1fdg5j1jrsdaavg20sai9ffrq4qyffkkpkij5czab5zkbmiz8kv9";
-"polski-1.3.4"="0p94rbih64pnfx7mnsqh8girkvx35p5d2jimi9q0dax8d28g6jav";
-"polski.doc-1.3.4"="01j8yak6swkwkf1pnk948si7ymc4hifd092236nv59l1vv4c77b7";
-"polski.source-1.3.4"="1svpvdcvb89l8i90sf2kdc9x0jc9a7969a36mcg3ckhxxhjji516";
-"przechlewski-book-23552"="0qn5agid0s57a8bdlha8y9m99xpcvlqknq473r6995qkdsrrdxl6";
-"przechlewski-book.doc-23552"="1bp9yqs9y28nbzwb183yf8h5862pm3iw1jsi8c6qzhsrcwr2b2jn";
-"qpxqtx-45797"="123dfaqzpl8h5ia08swjmj4h05ncz3ishsh6rbcm5px35ccrgjld";
-"qpxqtx.doc-45797"="0ng1h0yhclki35v1w08r2di3dvf9rp78r43dfa752zr8agrfd713";
-"tap-0.77"="1ci65i2k6n0h9lklgk41sdq4acp5655mps77j9gcb65yk4mdl6c5";
-"tap.doc-0.77"="0r8y4jzri83qypvnmgchnhrd0yi7j0k753zmnwhzxqg4bvki10gp";
-"tex-virtual-academy-pl.doc-34177"="1kb86nn5vp1b0sy21aw9wlla1dwlaijppzq7728bmfs5nk1dnbjv";
-"texlive-pl.doc-58649"="0wwyap4jnj80adj1a6b1gp5l0a0nzkdyi11am5dpviy1ij3wbw0y";
-"babel-portuges-1.2s"="05vvgp1vblxr50hxgv7sl4dy3pvvhlagjgxsg1nrhsapw0j3vgm3";
-"babel-portuges.doc-1.2s"="1pksfsiv020dikrj49l70annfc4vjxmaykj800bsaklnsvb2j1mv";
-"babel-portuges.source-1.2s"="1k4kmkdcrrrxf51rhs7wrv6irhyfv0vaxiwps0k17cxr7qsm5a3y";
-"beamer-tut-pt.doc-15878"="0ayh3kbh11l4nyyzp2kcwzn0phqhzawppy044iyl1wwwc2v3zx5b";
-"cursolatex.doc-24139"="048s5fg8c19s3zbl2dkmh8ffkicb8fd9n46m0iqrc39i0wrh7p12";
-"feupphdteses-4.0"="0sgg5wi5iylsz0y2495cajqdp8nzlsps3x7lzalx0qpjid91lij3";
-"feupphdteses.doc-4.0"="0ish03jv00i0crfzhjh2l32cspk2r5ifysz5prd6fwhdrmwmvm93";
-"hyphen-portuguese-58609"="06dxp3qddbh26wv1wpwml41vpbm4y6386vgd4xn2107shhbvhqpy";
-"latex-via-exemplos.doc-0.5.6"="0d5c0bvg71nw6zasl70sdq62xhimc4acsq7vi7mlkjx3q8x7s6q6";
-"latexcheat-ptbr.doc-1.13"="0m636j9gdfpm4j1b679z5qw5ygbm6jp8xl9dzy6v5zzy695fcgaf";
-"lshort-portuguese.doc-5.01.0"="0wg51rjcayiizkz0vvjkirrx19q8fbnfrwilgh13prlbpams1hsh";
-"numberpt-1.0"="1f4hmqlkfzqm8c4q9cbcqsh9pkchnylfv6gfzafgn9v3rdksg2dj";
-"numberpt.doc-1.0"="04hdl6zrzw4zm8cihvfidlnjirfj7zlmh9mb7nzzq68cyxn30256";
-"numberpt.source-1.0"="0ha3v5lgn8sycfxs6hlbdf7n0b8mcl2mny2kx37s1bib0h8i0bxg";
-"ordinalpt-2.1"="0nia32ms50727kn080xm2v0kjzws5sj6jdy7kglp8wkipvc6nw82";
-"ordinalpt.doc-2.1"="1nwfz0q6csg7rg3hqgddjbiz8f1nfcgghiqvj2wxqf0cfjh8zb95";
-"ordinalpt.source-2.1"="0rzlbngvszl1sjrigpn55i7a8rwnj9sy76c7gwb43d4im1ybd14d";
-"xypic-tut-pt.doc-15878"="0d9ivdz5jnhnh3pg8qb2jn7qfxad06hxff65scyhdd6wbsfaizi9";
-"babel-catalan-2.2p"="0brmmav2iwsw46p9bhbq5nc09w8wxfbsnpb6nrbx7zx76h599fwl";
-"babel-catalan.doc-2.2p"="06lb6gkmidlps7vs7ihqg94jqnpxyih2dkypbr0j46whs5nb80cv";
-"babel-catalan.source-2.2p"="0l4c6wxszawd0a7dd7fpljkngmmh1p7i7imyhgfsjyli6fpxmah0";
-"babel-galician-4.3c"="0mk67w9lhp4nfbhrzyb1ngm3rmdknvv8nlqb8601hrglj4hzmrda";
-"babel-galician.doc-4.3c"="0pzpk8d8hhvgsjssy67hpgvjb6sh3lfbn6f5cbpqbhxrgllhpgva";
-"babel-galician.source-4.3c"="1awy39dlr086hc807zc57l7xk6zqbkwrayvzfv8ch1mqnl0d3a6c";
-"babel-spanish-5.0p"="0r21656nzsxsacspkc7bf6hfq49l7cv2in2icd7z274dj75b9a15";
-"babel-spanish.doc-5.0p"="1jgdkprm15mfcbc2dbds5nprir4vhzsqd8gfk42ga2ayiw9yn6sh";
-"babel-spanish.source-5.0p"="189rzw1f7d9scw16ryp5hplbg27rhhp427wqh9c8bg70mam81pcb";
-"es-tex-faq.doc-1.97"="0wp5jx1qs4yp3y4qpwqhpw7rnilw3vb2z5xb4lzwph6zw27jf6sd";
-"hyphen-catalan-58609"="1aqn66448bbiycmjyhbxikr4l5pvjvl5vm8gpzjinngiw82v9j98";
-"hyphen-galician-58652"="1l0z14m9j9w1c9kkm61r1s4q9fvbblhdbrqhg8gcddfh0b85qllq";
-"hyphen-galician.source-58652"="1979y5x7b1x8j9v4ifc7k24zb6pxd00z0c6j9knndcaj428mf135";
-"hyphen-spanish-5.0"="17gq675kb397kqd87qg4x03wj2b5zkjy8ynzpq2h1flh1lf2zfwp";
-"hyphen-spanish.doc-5.0"="13kmgf0lwxm54gs39lm8vgg2hhajvqwviql1chhv2l7d66mxrcrm";
-"hyphen-spanish.source-5.0"="05r3c2m5xfs6yl52ms6kc95v3x82zbs4py9ip6xznshfs5xakb85";
-"l2tabu-spanish.doc-1.1"="1p83xflgv8x7nq9mylh468zn3hz5pv3zxprc63q51fwx0ylxfdbk";
-"latex2e-help-texinfo-spanish.doc-57213"="19rxbwk1xqhsp7wkgrx50q984n77lqx9zxy5s4741wfma69p7g9i";
-"latexcheat-esmx.doc-2.00"="1d6nk9p9adlhgr28mnnizrxzzqlk20zw2clcddqlaa8pn73dqhcm";
-"lshort-spanish.doc-0.5"="0ls50syrg3dl5dl5a3fi33cr9j990l2xr6pribn1vqglsqrh191l";
-"texlive-es.doc-58221"="025q4pn9x88qb4jxlczwxhw94fz780cxkyf19z6c06wbvwgv9cy1";
-"2up-1.3a"="1phamhfskhhyg5s3ab00mv3wsz3wg18j1dskq3x1mpkc5ys9a022";
-"2up.doc-1.3a"="0ijr2gsi7ywp72ydpyj0cyxwv06vc612cpm1inkx8rhnn6hjxbw6";
-"ESIEEcv-15878"="1zg2i7xl2fkbf01a9h9wsmajj56m2vif7sl63f9008i9k3nw1774";
-"ESIEEcv.doc-15878"="0vr6jmxwx8jhn1zcnry5qlm952dvvac52a1ms7xxgcrhphl157m9";
-"ESIEEcv.source-15878"="0yp924d13y4prbn1sqlbbazlfy09n5r4rbha4fhrsav7x1iyf9p0";
-"GS1-22"="0l3dyhv7mab9c91bl2zzcwgjzqhjw9v5xz7riy5066xw0w9zf382";
-"GS1.doc-22"="1cal802485nr6hydaf5irbn91wrcqg3d5j6n4pinwmapcrw9kjpr";
-"GS1.source-22"="0dsy733m8lyk9b0rybxvs6iacn25c8gjyyllx9wxjacxkyzcsjll";
-"HA-prosper-4.21"="13kia2sxxlfmlwawkzb11ypcqjllcz61sw5hlqwh0wq938hbkjwn";
-"HA-prosper.doc-4.21"="09jpdzznzyy3w8gzh8yls94y89il06jy0wl263xs9px38000ifik";
-"HA-prosper.source-4.21"="1rcihawsrxakxdh56by0p1vd8hzz1np654r8jsj6m10l4gcmvwd0";
-"Tabbing-17022"="0rf6prndsh7wqkkl97qnkq3i7791rysrnvgzq7ir3bnpighdnxk5";
-"Tabbing.doc-17022"="0ic0ksmgf39sw7312j6frl58iw75kbf0fi1f63z5q30yl94hbm8f";
-"Tabbing.source-17022"="1fx1lklvdzl39bb85vgdlvcrjvs0ph05qazslv8k4sb7ad4lmd5l";
-"a0poster-1.22b"="026ia95qflhgfbd9c32yagm1f08lnr9iyh1l2sd2b0hf5z27z4g8";
-"a0poster.doc-1.22b"="029mw747qln0xcnwalw2mw8iz5zzarv9qghcwsx9jzhqijmcspg5";
-"a4wide-20943"="0jw1d021vrr4f2sv94mw1jk7ma72m84idmq62imwqy23x8nfccy1";
-"a4wide.doc-20943"="03g0vwfdcczgkpbrri3wfhfbrq6r6iljpz5j9rllr2z5svlrjf4d";
-"a5comb-4"="00801lhrnv2qkg6ly949csp4ign89cpsbd70fcyb7r7zkd8lxczi";
-"a5comb.doc-4"="0bz9x4297mpvv082d0qjfvynflrcgj6rn9jikwikpvq8wlhz0fph";
-"abraces-2.0"="03283ybi97v520l84jwrn75lf0f5f1mjfnc8j6rnqmpghphynrkf";
-"abraces.doc-2.0"="10n4252lliivzxf1zi487jiaamabmlx29p2r2qr9y0z6bgkr2ahk";
-"abstract-1.2a"="173bimxd0923191xfjjk7x29j8xs5kxy7ih55l1k6dbj0iwlb9g7";
-"abstract.doc-1.2a"="166lhh2vi36qbhc5gm3xx96sigksslzb17bpzncycf0zgkh7j0gi";
-"abstract.source-1.2a"="14f2s393nd8q5kb909rj8r15apf48rg6na8yc45z2hl9ksfwx172";
-"accessibility-2.0.3"="0d7xrsdanx7wnnmc983rfy00r4290rigwx5ils6pfm0br2g5kfsr";
-"accessibility.doc-2.0.3"="17gxz1lm39wh2a235wk0s03jc7jxd4bl0iqj04v02m994gz43y3x";
-"accessibility.source-2.0.3"="14av24zcjqxq8v92yni6aj66cblnfzb1f07hbcd3ljbycw14ii44";
-"accsupp-0.6"="156yax2q84naj394xzr8m7hfyl1j7pziw8d6rzkrjjgxs9p9az1j";
-"accsupp.doc-0.6"="1ak7xv0hhghgbwmcviirhh1x5y9pb4is8h0a32kdd4hdxjdm7c92";
-"accsupp.source-0.6"="0spz8640bdzmirlnc3rwynzvgy5fi58vfs802jzbqxb0ypdg14s7";
-"achemso-3.13c"="08m9sl0smkn6nm4693pwmd33aqrxnz9yg95pg6w1v1c8m5y7pw55";
-"achemso.doc-3.13c"="0f34lgxfjgd37qzmkymm34kjipw42l7dhfcqjc4wg15zhdbr7654";
-"achemso.source-3.13c"="154d6siflvq22gz5dyvcxp601zr4wjr6as0as1iwy7w8yrhpd8lq";
-"acro-3.5"="0cpajq4ifx584qd6wrmpv0ga4g069hw8387sa6gda4kmzck9l387";
-"acro.doc-3.5"="196gs8x2hsdvrz9l99fdwwkjg5pa4payqga1yhvk7176rjxqln84";
-"acronym-1.47"="1gq7j83gjzlfbnrnz1cl0lihpdalsn6ww6hqxdfxikm28vynk88g";
-"acronym.doc-1.47"="0zscjwg22s81awq27lhqs14davwbhf5y4zsl9dsq2135rppmmyvv";
-"acronym.source-1.47"="16dds23mj3ha1b64fxz2dnxk7wsrcmhpmpz0zgqda46vaab9qiw9";
-"acroterm-0.1"="0snnpamdf0qqqf3nabl2f4pnabpjxjn949s44lb8wb4lifndyj8d";
-"acroterm.doc-0.1"="1ybgfy3x0a3dz5p2gac2w4ai2yc84i28vi6x0bq61ff3v74iqdhc";
-"acroterm.source-0.1"="1gja9j0a0v22qqdqy5f3ivrwablrz550gp7nf20054cirjzgr6f2";
-"actuarialangle-2.1"="1cb333pky7vq83gfriza8afy17ag9lm81zr2f3nbjz4vrk7sidqd";
-"actuarialangle.doc-2.1"="0bwyj15r2bf3bqc7y0dbz03bwccwlh9ygcv1frnq6bc758rfksb1";
-"actuarialangle.source-2.1"="169m5msyy0braf61jz721isba94fx5wxinzfsr2yz9hs6ic62dg7";
-"actuarialsymbol-1.1"="0g8vm5wynrlj0764w7l9wfx2zw6ir0hik8nv8djlc96qlp8cm80r";
-"actuarialsymbol.doc-1.1"="1kqfn2c7rws75yk01962nx2ra94vfh2j8rnfqk7qkip45x7ya172";
-"actuarialsymbol.source-1.1"="02s6fiv0i0a1jzx4jkbv18rbmnld4gzhv2dfa1gijvzwzr1rpvp2";
-"addfont-1.1"="05a413mb0ksviwbl0y1a14j8y3np5ra5sgjcnbrslrvavf4q2spw";
-"addfont.doc-1.1"="069vk1d1ig38r6a5a87fblq4m429crp79xqccrsk48ixswxafj95";
-"addlines-0.3"="1rkcpk1c8in0g6dgyc1m6pyz01jbx19gv98jmaiybxgvsa3z11jc";
-"addlines.doc-0.3"="1gaf9ljzkdhwjg460hl79hlwdwi0mrvgs51si8k8gvialng8b1fv";
-"addlines.source-0.3"="1m3l2s1l671n9j7jdsxfljjhrsvh81bayw40v81dm0f68g5hslnf";
-"adjmulticol-1.2"="141whgxnp67y4wnhxp4a947rqfyxw2vy57mk60dn1cpx28f07fyn";
-"adjmulticol.doc-1.2"="1akcng99rg1sl6k4kqkivaikl7sjx9ilslnakgz68vc7jqyarfan";
-"adjmulticol.source-1.2"="0py3ygz3s723r2d1w31zlwjnp6ilshyr7jcx2hxnqqms61lsk34i";
-"adjustbox-1.3"="0pjwhzgfg0lzvsd7iisjvhq96yh5ip7bzwzvl7z63dyq276z2rk7";
-"adjustbox.doc-1.3"="0afbqxq4ni9wfcsbimmpwk89f1gikxvd7vj48pz0j2pzwn5249yb";
-"adjustbox.source-1.3"="14f4abqmbxyv07lfmig1daq3199dnvd1divii8di2b4wdaxzgksl";
-"adrconv-1.4"="1wx9a00jky9v8xmjhrjlhbl3kcdxh1n9yybpsr74g2vw4bwdyr70";
-"adrconv.doc-1.4"="1ny594a3dvx3jba0lf72kjny60ix6hnnw8gj479ccfj3gw2wv0mp";
-"adrconv.source-1.4"="1cndbrbw5hss1qi7z9mgymqrcmvlhj8hxw16qjjzch85xw1nrwzg";
-"advdate-20538"="0wgr84y3k10g6622sm11c4m4wxj73vpklf5i5gnp14yamwi19cn8";
-"advdate.doc-20538"="0hyq7kn10ajqabmz2r363wfpdi71a9zkv6yr30s9lda0vy5vz4k8";
-"akktex-0.3.2"="1npcfjjg9nwrb392g8pa4yq6i76aq4ys67zil4qgkf4jyzrixln9";
-"akktex.doc-0.3.2"="10ma4ic5bazlmizxvwks6w3qqxbbir0rrhzj1yw2j68p0600nmvn";
-"akletter-1.5i"="0gigzlxkqmiqz4nwpxj98rcrxmi6yfipf5bifg1mywchnw7a1f2h";
-"akletter.doc-1.5i"="0ngj7d4vdnvh99inw2vggqdgx6h2hv5z77glxjcpx8kmxf8h47sv";
-"alertmessage-1.1"="1mj3wiz4fff3ry5q4dk3k0kcx4bcqfwdvgaa9x3vczs746q57dcg";
-"alertmessage.doc-1.1"="1ga46r20zyb1bq7pvhq4348d2prdshy5m3yx6d00v5zzis1dmx1r";
-"alertmessage.source-1.1"="0n36cfjgh1byik8zn997lmyz2w4wmz48f5bzqrhcps7bg3kmp4zz";
-"alnumsec-0.03"="08i891g4b3k1qqicbsgd3h3sy98cpk6g1cfn17g9ysws8k20a0sy";
-"alnumsec.doc-0.03"="0fanq66cm0r2dgpdrblrhqkchxpy2dxykq1g8zrk5ddx27v6r9pd";
-"alnumsec.source-0.03"="1ssw0pi7hn3s7pqcqkm36jjgmd5g2x5rqyf2khhdscfwrsjh07a7";
-"alphalph-2.6"="10gkh6nnhsrlqx8b6k3dylings3q97ky4qsv03nk7hn41zkqsyq0";
-"alphalph.doc-2.6"="0v36l765s4lc5r2xfi8a3i7vxf79yxy29xy52cbhx4ps0av4dxpi";
-"alphalph.source-2.6"="08yagdxgqvhvq50cc7rvb2629g4n2qjga86dpa43x2vjnmmz08vm";
-"altfont-1.1"="1nrcjmf59r672gmqks8spqwz3vn4jrwc272zvx7ncylphsjmip70";
-"altfont.doc-1.1"="0c5hz0zjcar69w489zz2a04rbnc3j2lp8yccw9zv41ninzl94ifv";
-"altfont.source-1.1"="144m2ph835fl9x3ypc7wfc444719rv4clfdar3bk73gvf53rmjr6";
-"amsaddr-1.1"="1f5w9dhlmni4qp1snqb7l8c6h2ffhicpq74dhb79q18b00dlfi8x";
-"amsaddr.doc-1.1"="04rq59d00gqyzg6a6v17ifmcn45y01r6f426izkgbq50gky9xlxd";
-"amsaddr.source-1.1"="15v1xh051j16qgpm7s33d8hsz73pxv4qq58i6kxwq63mkrnwgac5";
-"animate-56583"="0rqhhw61bmp5r5j2fz0k15lbi4877k1jgyffnsf8qzz261dr1xjp";
-"animate.doc-56583"="1pmk280p1z2d6z3cxx4v0mfhy206h450y5rprrdjbldak99631a6";
-"animate.source-56583"="1fqlk70b71x2zjysk77hfp7xhf3bi4s813vjhkq04b2yfqr835jp";
-"anonchap-1.1a"="0nz53v74sigvlb4dhgk5qcalw7nrc1vafbjx754j3gfyp2ilaf1j";
-"anonchap.doc-1.1a"="06khbq6p3drxsbjwgkm1sd163f7nl8hc52pjsm55g2vknib5caa9";
-"answers-2.16"="18s0c7hdk5qnj3svni93m9lpj81dhla9v7nsmcgh0jabhwy8n3v2";
-"answers.doc-2.16"="02pfg28dz10w21ap4pi2csvy32pcvmp0baiciavp354ky4avjbdd";
-"answers.source-2.16"="0mcczai8da24jvmakc7glr2c56yhq2jv58y1xqv6ny9hg4ph8v61";
-"anyfontsize-17050"="08dnpzjajn0k6hrf12l1p3ncsqjiwafzssa205k2zgsz61m3sis6";
-"anyfontsize.doc-17050"="0zmiklc2adbx5klyyjdivicd5j19i35b51ddm3nhfrcqrfvjrxwg";
-"appendix-1.2c"="1xcnin7414mb1jvgs7f1x27zkl73sabmqb31i79n88gi245bp5lz";
-"appendix.doc-1.2c"="144hblxkrfp8g040yiw1k7nr3anqb80pd9c2g15m88gbb1xzyay7";
-"appendix.source-1.2c"="10gnkpwvm08zqwi83s4xiqshp93v5ai0qg22n7zcwgaq86mzs44w";
-"appendixnumberbeamer-1.2"="198sc0fmnx7b31j2mgzjbjyjjfsn0imw2j8pkg8m0r2rlphqx72x";
-"appendixnumberbeamer.doc-1.2"="1b1rwcxrs8cm3zfadi9jpxgzcgai36rlnfragc9l5wcbdsaw1qp2";
-"apptools-1.0"="0b6yzpk2d79qg2irgfhns0w05i54z5z22ik5yyx4w6wg45v0j389";
-"apptools.doc-1.0"="1n8ak9cw66780zkk384vpjkxm9j8f9dzlqzshy48q7hhprsg4p9a";
-"apptools.source-1.0"="1ba08rixibjcpi420blw8a0v4c4zi2byll7dqlvwb7azqr6dz720";
-"arabicfront-1.1"="16426cyvrk461z9jb728w6glfm0ahss82kkq6fqkhajjc0cflhwi";
-"arabicfront.doc-1.1"="0ck7nl7v6kvibiahh3szf3nbibwajg2pjwrbcz06frpfwhizsnp4";
-"arcs-1"="0qahab6a041wn6s6isnjn93yrs6zk82g90x5aqpv742b2y8cj5ix";
-"arcs.doc-1"="05wgq5pkzxg3vj9anlzjq1jvwj7b6wvsp7a02syca6n4qvy1v5a7";
-"arcs.source-1"="0jnvkhhcqv7qgs4knwx1kz38x305a19kh13wn47zqlqn65991bpp";
-"arraycols-1.1"="0i7vm2znai3wgc3h44vhwd3wrrw0az86b3g3ndhy8yyyl17jk3hg";
-"arraycols.doc-1.1"="0gq5ss2rq7qgj4zqvf6n9a45j1kqsh0k9myphfjhdrf0s1sq8w9x";
-"arraycols.source-1.1"="08vfglpdhjc0b33b5r8x0mqpjamciq4g83m49gxwn1dd71hvwqiz";
-"arrayjobx-1.04"="1ry1gix4nz11kyrfpbhy160c8dir2y68jbmnds64qcdafhfv4b9m";
-"arrayjobx.doc-1.04"="1hqjhkjh5ryhjpi98hyi92raffmish9n9193ry75mgfx1p2b2w0g";
-"arraysort-1.0"="00wbmciwdnafwknxxrnprxj4xvs24xxwdwmn5y5xh1c8c3q8rn09";
-"arraysort.doc-1.0"="1yn9kbq8icd5gxix4kzp0qszhg1xy59s4m8p66a88h3cwcs7fjba";
-"arraysort.source-1.0"="08gbn5s8c7a8klg605kalr2mdpijy73pxvfsndaw9jdnr9ipc5my";
-"arydshln-1.76"="1f2y02l7fkhrc005ib1s94z0yxgql2m515zy3mlx6ba4mqadh9c8";
-"arydshln.doc-1.76"="0xw13bdw67n2nsahi85bvh5p1xrd8fpb1aj79vss9zgdslzb6j4s";
-"arydshln.source-1.76"="1xhnh7jw0sxy6vkw31gcxyxg06dm7bgw0njsfkailbxgndwcp6zs";
-"asciilist-2.2b"="0ni7182xwr3ns1dk8i75kf1cw9wpfagrf1y7w20hk8fpfymx2669";
-"asciilist.doc-2.2b"="11gyi8mcqvfpn07f4cypv05f77vhzr44zn6y1idlbz4mgzjw3kp6";
-"asciilist.source-2.2b"="07k13s9y5nvbp7w1ylyj3mlpn80682yhxgf27hz9aayk3hs77d58";
-"askinclude-2.7"="0s1938harm9sgna3cggllpa1g85yl9jv2wy4b4c5v6fksiivxzs1";
-"askinclude.doc-2.7"="0gkbk6j2wv05kgfbjd4mqx5k7rc22bmqn47vk7pvr5z60dr4nay5";
-"askinclude.source-2.7"="067dpl3v0ipspfm5f2fmcmg5cb6lhqg6n8216id9j1blir1ys3mg";
-"assignment-20431"="1nxgpadadzf3d30ydc9rndwm4v53s4v10a6sbqf6yfqds7ry13vz";
-"assignment.doc-20431"="1wyyvay22r68hfspaqv0a43s9icg8a3pj8wii3snn90svbsjfajn";
-"assoccnt-0.8"="0im3x8im6kkjmvibh57hkn8nljcfc4mzp0hpimiqn29ys1yrhj98";
-"assoccnt.doc-0.8"="11p081b0b6mcigqsmvgf6kc9ik2480c74madjli19rw9i5nzf0vf";
-"association-matrix-1.0"="0i3rfbmdh0hmnng19jzl1z6mhxpq3d0y1kdgwa80hwpzvl1chbg0";
-"association-matrix.doc-1.0"="1bkx5pydr88zy386malg4vza9syqhqrz6f5js9dwpvxmy4igjr12";
-"atenddvi-1.5"="1lw42kgkviwh5gl0fnc4kp8x578bss6fj4d3jqp3jh0iqj53wwf4";
-"atenddvi.doc-1.5"="1f4210s4llsbgnnf6s91j7gpdajclscnqlkrmrsmiphhvgjihcws";
-"atenddvi.source-1.5"="11sxy0c5vmbf17w1h46dc033lisp4aa8sjqfi1zdzlp7ha4c6rr3";
-"attachfile-1.9"="0akvm9al5rz67b81bsl0k92gjqwxjrd6dwxj9qmwrb9c6pd311n8";
-"attachfile.doc-1.9"="169kh9zrf5ykal633zn8n3i41dqbyv7jdrm905a7q47icvd4ar03";
-"attachfile.source-1.9"="1b9s69vvclpvdm02gi9x7zv5mf77q68xv7zd784cldns8h1a553l";
-"aurl-41853"="0dxsldgnijrjrm97a0k33cliqpl09b70xf2dccigyzyyps82h0d9";
-"aurl.doc-41853"="0rw2vhp4r9sb6pliqc3xxjc5hsznz4j7i2w3qk227ibg92qx4a8z";
-"authoraftertitle-1.0"="1gikfjhxkz21qb32hrhyrdymkn29x7bjcsml5clsw4cgi4b67fcq";
-"authoraftertitle.doc-1.0"="105sk016n6sh7llhk3fjcz63hbwms50l7906qxdddjq67qpgrvgn";
-"authorarchive-1.1.1"="0da6hacxksxy3f4ag9bv408hlvq3m811k2824dc3phzr972sfwba";
-"authorarchive.doc-1.1.1"="1r2kzr0h9mrhlz6kj5a3r331ikh76ppjbdqipl5i5xvibbfzhfmn";
-"authorindex-51757"="0dhdd84hdf4iz67acyarzf0asb7c8dmp09s286rq0ylgn7lb9xx6";
-"authorindex.doc-51757"="0hhffkmldhhm46xi8d1bvjp5v15cg5kid383g7s1dbjxqyd9vbvd";
-"autofancyhdr-0.1"="091dwnql2fy1zfkr92ww01hjylx6in8ay56gq7ywjlwb84r6sbm2";
-"autofancyhdr.doc-0.1"="04fjrbsa9nqf5rj0gqgm96c8wg3dl8cpfzyilqrfqmim26rviskp";
-"autonum-0.3.11"="0y1x4j7fyssmhlqf9974yprqxvplxihbs879qiwa13x0zmwhnp55";
-"autonum.doc-0.3.11"="1a73xg2csfq051lnjnxkplnpfvl9vhfm05qvgxz4i79qmgs7a3b6";
-"autonum.source-0.3.11"="1q58d514bdm0mbqkmyngxh0nzzg7kxxc0z7bllnlkqb99h3x3xb4";
-"autopdf-1.1"="0fd1dw6h409ffn2prcsmq4rsgjshhs9if0igsz3ibxb6wkngbphv";
-"autopdf.doc-1.1"="1rf0l15pp475f41si7qkx9rw7n6938jj2k1wybx4ck7pf6hs7i9l";
-"autopdf.source-1.1"="1vw58d9g41ra5j2av1vdkzqhh7g5nrprr27qgdrn8nlirvwzbx9m";
-"avremu-0.1"="1j7mg5in2jhpb07jpky76qriyb4m0qq0rlkacs6amrhh57299prx";
-"avremu.doc-0.1"="1p7z2vj25fnx23rl6m76h82q8kli8nfl2vail4mpkx0brimn4j7l";
-"avremu.source-0.1"="1zz9b5d08i3sjj74q609k5kyi9nr7yyczk00i3dqfz5x3rlyljsm";
-"axessibility-3.0"="001z3ra1zgsrvhlnvg9lmvc56s72b3kip71c1cnpl6qzqcc2y6s1";
-"axessibility.doc-3.0"="0s77mr42dli8vfc9h6gslq5g103rp5vk94hx9cw3w3shxazib73r";
-"axessibility.source-3.0"="1bh92wig3grw2bkkdd3fxwlky7rrfabzis1rwwdzgk3bmmrl9554";
-"background-2.1"="0rxb5vdfgxxadgd3isbghsmycdh4ia9yjx66mc48n396b4psbrcy";
-"background.doc-2.1"="0a1zxpw8wjq1mc87glp7kwdvkrg618ybwyagdkg7xnp8r7wisnjr";
-"background.source-2.1"="1mb6radqhhaw7k0ay4i0mrj4bm4n0v4lj6dwbk8h898ypnmdirx1";
-"bankstatement-0.9.2"="0r9yfjq0m55bd973gqvjpy3qfdhwglwm8zki37ppj1dvca7rzrbc";
-"bankstatement.doc-0.9.2"="1qyrb00m7rlqkn77hw6sb3r9b8aap2qj13ni3bwy4qv2s12sfmyy";
-"bashful-0.93"="0cp0lvqb88myspsbp7s3xd0rrkr1jlqcqq846mk8p7r6r4apl1ca";
-"bashful.doc-0.93"="19dbyg9njh2lwckmqnmy52gllsdwv2nvcp20marsjv5hps80946r";
-"basicarith-1.1"="10cjfm3v6b7rkzc0wngg635xbyfmrnzs5y6f3sn0akdfxj0d3x28";
-"basicarith.doc-1.1"="0qm4qnxp3n42zvkxyzanl4psiph9z9dxz5b2i32fpn7p3jhn2qh4";
-"basicarith.source-1.1"="1my6sp0mvbmpn2bakr93qwasqh7rwmzy8lhl608lssnxk33h8x8j";
-"bchart-0.1.3"="0knv4byfxfalyhmsqiq4wjcin0q0hyj9gs7f167cddjyzcg4z23i";
-"bchart.doc-0.1.3"="0zyiw3f37i3shf8ihhzxagvzwnsdaymbkpcizdm2ryziglahh1jy";
-"beamer-rl-1.4b"="0ah2skzc5kd7dxaj30q1bmjk6r6c3qzswjf59h3mn3fy0w081knh";
-"beamer-rl.doc-1.4b"="1kdrhcx16xlkqfx0m8kz6qc55nginrhr7kxcr6cv2zmw6h747771";
-"beamer2thesis-2.2"="1rz02mxmvrq0x06xbrdqvfgs21nhkcislcnpdwx9gvrdmwpcyccq";
-"beamer2thesis.doc-2.2"="1ialsnm6qc9bwry5575b8l9ifgymidrsvy2dc786ixndc0fzn84h";
-"beamerappendixnote-1.2.0"="1mqx0wwb38h1aaxc4xzzq6430xhrxb70qcdqs5yj1sa7k9638ags";
-"beamerappendixnote.doc-1.2.0"="0nvf6m7d6v8mbpnpz8bdam9bz4h9d84nsf17s1k13zv846rsp34w";
-"beamerappendixnote.source-1.2.0"="01lkwbk5vpnpbrmjdarnz137n5sbaxw0xaich2jvcjlin46vfly0";
-"beameraudience-0.1"="1p3bpgkdbm3dlh7pj5w6yvgr0iqjshn6kchdpx86zicywwd2hqpg";
-"beameraudience.doc-0.1"="1qs882ypjg9cp19mrpr3nl54h1zry3pawjfwx8si2b6bsngz3wk9";
-"beamerauxtheme-1.02a"="1a8q3a0z2wckyr3694nnkry0waqzqsgp3cmaf8ijcrfs42khxjcf";
-"beamerauxtheme.doc-1.02a"="19r7vjma15p3vw0nr3w51ghy7hq4pv6x92iway5rxmlx97dw4piw";
-"beamercolorthemeowl-0.1.1"="0kb2pvj9caszn40njgq99779ynp5kdq8ynqa0q6vhrh9l0r7d1i0";
-"beamercolorthemeowl.doc-0.1.1"="1crml0lvdyk56zf1ylk8d4441237kfpnn7v9sah98w8s7rlk37r1";
-"beamercolorthemeowl.source-0.1.1"="0l171ahdzizwpq8lq4rai2naj0h66q16p69nwhlwabynjkmfhhzv";
-"beamerdarkthemes-0.5.1"="07zg346brdpckcfr1vnmvqcahjmp87cb2sizvyx4jvxv19qqwpkb";
-"beamerdarkthemes.doc-0.5.1"="08zkfvjvrjh8wffv7qjqmv6p0997kriz6lxz06dnsp7l5j3p675j";
-"beamerposter-1.13"="19h0zh583chawpzm59xv7243vzkz597df68yy0zmn3r6ha8k0qz7";
-"beamerposter.doc-1.13"="0xspyywk813ndrd5xps7fxwggkmdl078fmn1cvxfx3cxpnmdf822";
-"beamersubframe-0.2"="06csqdbh272jbh3zpi0f8zblbmi0sp5iiz1r1qa9qc0lw81mdh7m";
-"beamersubframe.doc-0.2"="1g29xay21yr8aap2fzklkg8q3ybz0xmz22xx5cd9md93c8k9kg7l";
-"beamersubframe.source-0.2"="1zb42dsisab4234s79xvva74rlicd1gg4pbh867rxd15ajgy14k5";
-"beamertheme-cuerna-42161"="1r6c3ar29s06b0yfn85wssxccayxn2706y9jxdx2pxsr85ndc4js";
-"beamertheme-cuerna.doc-42161"="0a8mmg184chg2lljv1k7ffydg4sgcjpjbnfjzqcg43cqd01v5dmx";
-"beamertheme-cuerna.source-42161"="1avywir51zks1hygqypsfi6lkrba9ld6x5mkr8lln7b2s4ijnysw";
-"beamertheme-detlevcm-1.02"="149ya5raar4xfkb910lk85pqpm6mrc5n5ghh6350knbmaa6bdwg3";
-"beamertheme-detlevcm.doc-1.02"="1wfq3wc7b3516s81sbp6md6mx9szbzq5ycqvsr50y3s2wfvvj2lv";
-"beamertheme-epyt-1.0"="07pjgzgkjmr4hdf16m7kx2cf1448253jwgc522akfvvnmx9fi26p";
-"beamertheme-epyt.doc-1.0"="1a987h1cg48bw05zjh79ga23qb37s82dkqhhgvp7gsnwz10pax2j";
-"beamertheme-focus-2.8.1"="0xfn2xl9bbghw0kcbgjv7x3cl99bscwsfkfva48l94j4zhn3b8ji";
-"beamertheme-focus.doc-2.8.1"="11x05d09j14r1ax4as2q6qs0kd3xcc9q3if7srhjwpvkjrw5a7rp";
-"beamertheme-light-1.0"="133mvm4cayp49l8xvh33q0jp4qzhmvd3q2kq2aij3sh6i0bzh5aj";
-"beamertheme-light.doc-1.0"="15s2s3b10w0czq513mm2y7qrczm7y91qhghd0zsfvmy129mwfarv";
-"beamertheme-metropolis-1.2"="1pmvcyjn04pgcmvanj369hxqjha0s7lh1z4b6fbhaj2aj32l52r7";
-"beamertheme-metropolis.doc-1.2"="195jhmhzr4gbi04zmss5nl0lm9rkg8spynwz5vqlgbci1xc2cw15";
-"beamertheme-metropolis.source-1.2"="1smxiqwdvz4bj5rk9cmsqmy3kwa722ab5fhns67jllvzrkzy8zcd";
-"beamertheme-npbt-4.1"="0m1mpavq8p4pswibgfhsbnvg59kn4sxz0m4p2w6zjkmy80s3naq2";
-"beamertheme-npbt.doc-4.1"="15kc24d21d1r34hd07zr65rp1k55fwrxr59h0ayiiwgc9fkjjsd9";
-"beamertheme-phnompenh-1.0"="1smqwy1f7jz012x5hmsknvarykalz58iysnwf3px7kwg83fr8mb3";
-"beamertheme-phnompenh.doc-1.0"="1pg8242n3z6x1n4kp8my2nfllriijxwmwfn7d9hccfnsvjj25gdl";
-"beamertheme-pure-minimalistic-2.0.0"="1z283v6ipp7c7h1qhm043g0sdfcq2dwzk9l0lyy5951y1kj965bc";
-"beamertheme-pure-minimalistic.doc-2.0.0"="1chzf3lgd4sx26nbmacb7dadpk1m1rm913dj01648vbd2bz9y4zb";
-"beamertheme-saintpetersburg-45877"="1d48158ladllzj6a1np20irl0r0syksb3wnisxbbwv3kwzr7fgj3";
-"beamertheme-saintpetersburg.doc-45877"="1qkzpbc29587lmckjkl3lx08f2j0q3aaidqz22r6bg896j8q8pr4";
-"beamertheme-saintpetersburg.source-45877"="1r4cw99zffqsvppc9l7z9k8l93sfk1nk8pzj50nm2bmkrdbfk32x";
-"beamertheme-upenn-bc-1.0"="09a7da5ghgf5q4qp0djp3pya35zsm45wkiy5srz8p9q8pwg04bdx";
-"beamertheme-upenn-bc.doc-1.0"="1m1bc9mxdwfdm0v2lb0i3pfxgf5as1lpm8a05icrm7bdvii0vsiv";
-"beamerthemejltree-1.1"="02ccd8qqyjkvqqyxr94p1gc6qjryl83vpa72wcm5ywr8gmxci0pi";
-"beamerthemelalic-1.0"="10wv3820avgviic0mcxn38yycyxqfvmf7qhb5ybz1x84jrw8k9hm";
-"beamerthemelalic.doc-1.0"="1wz984il1z42ck69xn6rnxww3x4xx127syyx37wdy246i1ji75vw";
-"beamerthemenirma-0.1"="0ivhbhybc99hacnrfw1fb9412f6614an1955rglkcbwxwkji6nyn";
-"beamerthemenirma.doc-0.1"="04155wbw6ix7an8sblw4a8q9hbn7vzwffady4vc23vzccc2i2f4a";
-"beamerthemenord-0.2.0"="1kb3485dv7kcj04bkgz8cv15kv7jmdjy0jcilvi5zc1vn690cyba";
-"beamerthemenord.doc-0.2.0"="0ls5ivdcgayz9pqm6j1wd5f45s063kfknzxf594rdipz1jnmvj4q";
-"bearwear-0.2"="1xaq0bmv8jv1zss6lwx2ccx8inrmyw1r9bjv3sbqfhp2x4d5xjrl";
-"bearwear.doc-0.2"="0vm9lm6389jnmcgzx0ffmay2bw4d0h1wfmsfbj3x1s1vrfl62r8j";
-"bearwear.source-0.2"="0dzmlcrc4izb63862dcafshzsaglq5m88z3cxmwivmwpikhh0gb5";
-"beaulivre-58503"="0ik54162qvk6chijfxlwdgyabxaq7d5yr0kp3p1g7jkl99zhpiqb";
-"beaulivre.doc-58503"="1p8zdsrm8ha1d2nm22n7h7p046x72zl4h6gay4habfiw8ax5kcyx";
-"colorist-58434"="1yhhpyvxwlv95grqsnpb2y9ndsp3r6z4f37yr6j0xlbb9khbrwzf";
-"colorist.doc-58434"="0x71nwnla6wpi2jxgxs17c2ikipg027ivdm3x0pnnbzwnnp9kqb4";
-"beton-15878"="1rjj64wnd9xvh940rl9scidhv9ridqz38n8ndzs35hyjm8n2lx5f";
-"beton.doc-15878"="0i8lg2iyjkzpxjzz9ym61v4zkqczkhvs6qjb7zf5xw557l2i55gw";
-"beton.source-15878"="1l82y1fz86qsnv58gjq9rm58zf3ki80xmcqkwlmgfp334j9jqz8y";
-"bewerbung-1.2"="1gqj9cxjx8sn94rqlmhg6f4a8a4wnjccf6cjc4kbi9p3p27s8smz";
-"bewerbung.doc-1.2"="1g2nkv66926yh9fcnv4yhmrbs220cidw6bilcz50f6jyv6zj6lr6";
-"bewerbung.source-1.2"="1678hss1pfp9bijrsn1ll7fh3y3vxjm6d80x6lnqjm51igczl7a2";
-"bez123-1.1b"="13l8qvnhfq575pg1nvcpbrwyv5wvq3bhpkmh2306mds784hvcib2";
-"bez123.doc-1.1b"="0qrskibmq7sv07g60gzd5cp34p21ragr6yn9g6384gib8vx60nqf";
-"bez123.source-1.1b"="0ab153h8i8nmc6v5g9xwvpymjvpp605mbj9dmxdyl3ic49cpnl08";
-"bhcexam-0.4"="01amhwjvy2w4738kn71ananprbgg025l1ciwnbx8nymp8w97byc9";
-"bhcexam.doc-0.4"="0lnrnwjilkm4xiwpj23r5c003ddm8zxsr96hsdry9inhi7pqih1k";
-"bhcexam.source-0.4"="0jaq63yy6rwp79sk34cx5pknk5l3lppqrzvca79s08jgi9aw2c58";
-"bibletext-0.1.2"="1p2cz95815vkvvc9fsa1qm3sc5grkxzdsyw30qkilff1nivb3cd9";
-"bibletext.doc-0.1.2"="0czz3l0m314a25i242kixy9f9spcj72h3bibfdib55gg05iw102c";
-"bigfoot-2.1"="1md91jivqvgf5kvwizc30wns9y9krk5pzvaihxkn9qs41j907wx8";
-"bigfoot.doc-2.1"="1lj6lv7iizbsaj00hvrcrdk9w0iak3wmx6mdpfb77jkzgp9dgg1d";
-"bigfoot.source-2.1"="112kj1669xl7qd2vrpgbi19cw00rkhj64ik6rrr885qr7bq5w79v";
-"bigints-29803"="10lsfqfzg0klg59s9zkrrxv4qjhnk74x90rkk2w5pi8zn83k6xac";
-"bigints.doc-29803"="0xj6vnqfd5rb8ahxbjaqz7jd5kpvihr4dx88avrfvdfr0qhg3zlm";
-"biochemistry-colors-1.00"="0d4bbm1p3j6q28ckkl7ilkywrjx6iqvmx0qb27rpldw3jabf1lp4";
-"biochemistry-colors.doc-1.00"="10pa8jwpxr37hs0wcywzsq14x1jgjx1cqg94lpghi505mlrikcg1";
-"bithesis-1.0.1"="1vx34f7qfrw9wnq5r5n7kd1234a6dfvm8l0ah6f05x2hs5xs4jrb";
-"bithesis.doc-1.0.1"="0fi84nykn22jsc37z1h15zcqy5asj91jgxbwsgd6z0svhilrxmpy";
-"bithesis.source-1.0.1"="0vpzsjzzin5rfavidfl3ak278ibmp8l8fn1hqqqjyblib6y83x3g";
-"bizcard-1.1"="0s6c3s99hid9pkilskd8ssc4hv5d5yg5lvw6kqz9szyii4rb6a18";
-"bizcard.doc-1.1"="0ic6c43nng4lxsznkpj7w86ampdzjrqqcsdsm1f758rfds7wbnf3";
-"bizcard.source-1.1"="0ywip83r43a721yfzrfnkfms0saly4p2ihagyp6259h2kji3vdjs";
-"blindtext-2.0"="0nwxq33ffivn2ywxwx2w4y7ny5nv4af9p5cwn6c21jadrdj1rysp";
-"blindtext.doc-2.0"="0gg45ayj3bibxvlghnz3vs0yj29zyr50bf6la0m26ma8ff0pw40c";
-"blindtext.source-2.0"="09ppqs9mdkmax1s20m43hdi6yfcnpy0ylwdi9h9lw676gr65cn0m";
-"blkarray-0.07"="096mlldfyi6hxsnp3flkr1gfqhvhxm2vzk81zw6dl64xihkvl6aa";
-"blkarray.doc-0.07"="1km35jnmh1iwya05s3ilhikzvz5yspxf18jh3f4v6iv5g8rxf9gd";
-"block-17209"="146ava8k2z6mlr2aq5vydax1i2sy6spn4avshcblgr5ph49iirp4";
-"block.doc-17209"="1nwb1z6df3y0anzrl6b45fs2k069i42bcmx0i4p9z9fsbgqqfw1j";
-"blowup-1.0"="0ynw0n297iy02597g6pp9ghwdbn8aw1xmyjr0dwdzn3r79aad336";
-"blowup.doc-1.0"="0b9zb3kq41brzsfqrhyn7h52x8salaq2kmsyc4457v2mnvbg8pf5";
-"blowup.source-1.0"="124cy91k3m7vc15jvn5y9nhiz7pd8g41d8qxjcbqys9d2qmcdjr0";
-"bnumexpr-1.2d"="11ishmbzhcvfxj2y7q0z6z5lwfb4qndyw0fwzm2acxv9v8wra7xs";
-"bnumexpr.doc-1.2d"="0l77jkgqvcnd2flxdbjiyk3wga3a1awgfxar5gcj1v9khkbs2gl3";
-"bnumexpr.source-1.2d"="011qy8vbk5jwr3snfwmklkhja8hmr0iw8wfvp2cnjxx0hn5g33s7";
-"boites-1.1"="1176j9ikh36s0cgvsflayik1xp0zycbp8m9hg0c7jmzkm5haqw41";
-"boites.doc-1.1"="0visqy0qg18sa4mxszdl601yy0ilfgglv872dhzy8bnqqs8x7zzp";
-"boites.source-1.1"="1zirqghkw8kk8fa3xahd27dh60phxg3blp98iavh6bdhj0rm7iar";
-"bold-extra-0.1"="0samckbdgi91y5ay98h6jcaywcqfbmzcdb90kksjxv160nsvf5ca";
-"bold-extra.doc-0.1"="1101922s78y5d9rjf5immfir46vf0i1ig20wp360zcal571csgjl";
-"bookcover-3.3"="0bna2navb27gzc30bcmgc5hjg6g6njcnq96s8s60b2lhbjigldpz";
-"bookcover.doc-3.3"="11wyk4r1z6m47j3a2yncjwq9vgz6vj752px33pc46qsm2xfllb0l";
-"bookcover.source-3.3"="0rp0fbv1hhaijb0mc077dg9g34dial6l7ldfxnpg8px4b33iwy67";
-"bookest-1.1"="1n6n322vb157fz11djcnfz07ykarin7n8mdr7v04wlsj2gfvv5hi";
-"bookest.doc-1.1"="1n94n8pv5s0w12w7yiws7sv8vwg06r245b7lka3g1j74p3xyc5g0";
-"booklet-0.7b"="093kp4ryfp8q1hg8ddmvaxxsw75wplgz4rrmmwmzcj3hcgyynr1f";
-"booklet.doc-0.7b"="0cd1mvkv29r2aqdy4bs02m3ck90rdv0nz01cq2x5xvqk0i8j5dhx";
-"booklet.source-0.7b"="1c67lj35yh0w9bfgiba9ank6wk9zqq3l3vvgwn8f3v6kygyqha63";
-"bookshelf-0.5"="10sjmi94cc4ix3a2c0qpavs1sc0mqfqfbbw4qygf9w1wdivrijfz";
-"bookshelf.doc-0.5"="0j0lqi7bjlivivvrvswlw89vav6fx8wg95bn18amlwy5l8d7kyiw";
-"bookshelf.source-0.5"="0jx8dfl4j4k2av1syngad6narkdjksqcr71q92h3090rf58njgj3";
-"boolexpr-3.14"="1jd298qazp3q0r9dwn7m35yrzvkl988c41l0r0vdq4g3nv4ppv79";
-"boolexpr.doc-3.14"="1cwj9473nazkz0acz4x7j1xp50139xs1ifqck40f2vb1gvhasly1";
-"boolexpr.source-3.14"="03kaz41353m40rbmars31pkbrrj6zwiajbv6fkabq0gsd9gy7bq0";
-"bophook-0.02"="02wgw8462aaqknrnfsv1y8l6q7b9qvscnarysg2hw51l9g349idb";
-"bophook.doc-0.02"="1j5xyh11h3wsidfjnpw2wr8pc5xazf5wbbzi04r3wkw3v0haar2p";
-"bophook.source-0.02"="0mansjz0a6g02k9n7ijyami0gppkha80mnyaf9sqqzl6ppqygvn0";
-"boxedminipage-1.1"="1sn8liypm113jvmxsb0bl07cprrvdgq4rhbnp85lb5671djr63gr";
-"boxedminipage.doc-1.1"="06wan6b11z6g2nbw73z5l27mb42cd417bq2vmmmxla2fyksjqqa3";
-"boxedminipage.source-1.1"="17lk6ns0zl83nhdi8g6sgij4ajghksblqx2aac1gx6fmq60p7pn6";
-"boxhandler-1.30"="0ab7kp5xpsvn0i796xbsvnz8lc1ka1wqayva54sfbsv9bg9n0xg9";
-"boxhandler.doc-1.30"="0wsl8ivnyxf38rj2xv11jzyiqd5pgcpjnb3nnabl8a3ijdynzsci";
-"boxhandler.source-1.30"="1l875jplpql2bq0h55nl9ddmia31069chxc4w86pzh4acqn2c60k";
-"bracketkey-1.0"="03mq7rfgkgv06m25hkvlhaw1mqw3xr0ghfjj2jb4nlpkwn6945nq";
-"bracketkey.doc-1.0"="0kr9il6ac79kvqdds4rn4g98qxy7nvas62364sv75zv0hb6wl0kw";
-"braket-17127"="1ml5xz6pyj66kc2jby0bg02m79vfv9z3r91da808n1zb22mmnjkf";
-"braket.doc-17127"="09vqvl0v1qkrhv65bh9ym1zm254iigl21d4c98df8ayvffjf6bx8";
-"breakurl-1.40"="0a3np519c1knm8i60z1d6rmmzdhfl340gkf6c4m1yss68didq0cn";
-"breakurl.doc-1.40"="0dk4hgl3411q0k9dz9f9p5f7r5a59rpjcicz9h7ynpc4g3nhn019";
-"breakurl.source-1.40"="1hx73iw3n5wgvaz2niqargiw36p068pjl8x65cajn081831syzfc";
-"bubblesort-1.0"="1qs3y6vs5z5m988cj6dl9n74m0j5d4hsmnrz6xfbpw2cs9g86jj5";
-"bubblesort.doc-1.0"="0pcbzg1p1wpw00h7h1va4j6iivz1ky31k8aq1jw4z9s5rwz64p9h";
-"bubblesort.source-1.0"="11g2brc46977w61sk0q9j2wmn5q9x9s3mv6fcgj8ywql3g4r85pv";
-"bullcntr-0.04"="0djfn002j12nb84svd414zng3rnjp79ssrdhfb6j62mx0p9j2hk7";
-"bullcntr.doc-0.04"="0c88in90fy65pd9shbf09bl5dm6yd3z7g535ni5js251bqa9wijh";
-"bullcntr.source-0.04"="00pdz4i2pkn1fbihaz16vbhsnwaybpcavvmndg7nj47jlcfplhfq";
-"bxcalc-1.1"="1lgk3zfraip1jx7hpkkxwzril5sqc1hn00km3ybicsvi53z1q19f";
-"bxcalc.doc-1.1"="09x2b2cdxgf7lil1vlw4bmmjn2kl84cgxd75w2js2y1znsfgsivz";
-"bxdpx-beamer-0.3"="05zpcwq6syy612w8jw10fqym4w4b4qxrd2i4n4hqwxv2sqgsw4n2";
-"bxdpx-beamer.doc-0.3"="0g0ld901kdq3558ngzy6mf2f2vgjjcngiig2pbjb8xakcq933jj6";
-"bxdvidriver-0.2a"="06rw5wwp5ky30s31f23gl4hpyzakn5b3vvgna8iw2iyy6rw5cl7a";
-"bxdvidriver.doc-0.2a"="1qwxy88fnfsx9na6c8r56n6zhs13d8apkjq7hhydsfs7qy54q4vn";
-"bxenclose-0.2"="1mii9n7x232y5398zl9xysg81hflamrj3dflrngs94mm4akmcv2d";
-"bxenclose.doc-0.2"="19nmr2ripjifpjw8xrr5dhll392llqbfqjd2vj2zdgkvqj4bar4j";
-"bxnewfont-0.2b"="0mc8akfajlyl6vfh620h8rcyfv02gdg4ycqx18lhb9vfivi3j4py";
-"bxnewfont.doc-0.2b"="18na6f8nqlagfszk9miy5bbx2bylgspck3pgglbkqb9cgkdf4qq7";
-"bxpapersize-0.5"="1l086n38f6c5sf33fckl02zcbdsmcy96yl0vi06vacb81g958k9w";
-"bxpapersize.doc-0.5"="0c1ga0v995k92z3bdnrldbp27h2w4mxvwchyjwbgiy86dknaz9wj";
-"bxpdfver-0.5a"="167xwjk3rchf7z9sh53i89lnkmixlaq4n52zd2drvf392pwir8zy";
-"bxpdfver.doc-0.5a"="1wnmdzwm5qan70i2hcll06hnhrqhk9adbj0hmsxy0y9jdjypsfbq";
-"bxtexlogo-0.4"="0s3dv2vadhqm54nssazwp419lm7k9030ggb09bxs1rjlpw7j3cfv";
-"bxtexlogo.doc-0.4"="1ym41dys4yzj6l9fqmssdxx8qxi4yvkhy1z8069639pi0xkjibfs";
-"calcage-0.90"="18rp330i29cw8pkfv4gzlr4lz5rlcvc4k0l8mvsvs0xa767fd3h3";
-"calcage.doc-0.90"="01xp6i814bnzgbcghdpyzb9f0zx3fwmqd3p97rk4qlf3g378l8y8";
-"calcage.source-0.90"="05lcg7mix6z6cw85bpzcqgxlgb1vzb3irhljlfcvq08lrdfjy71x";
-"calctab-0.6.1"="0rs028w20fcg5jmmnhwhvasb701j763pk4bwv09lj3g78769k25l";
-"calctab.doc-0.6.1"="07fxrnpnzn23lb3lrlvil6a8624vcvam1lq6sf8nrgs52fzl2grh";
-"calculator-2.0"="0zzir6kp8bkj9w8jyrh16w8bdgzk6scrdqljxvq2fpvw87fdxrcm";
-"calculator.doc-2.0"="10a961z9llgnrbsny9ia0yi5ikzqi6d3vrpd5dc1x6swxmfayv3i";
-"calculator.source-2.0"="0bgg0hyp0vj8b9d9rl19qr4nqi43rmslvg7fva1wh5ywm9x6ax3h";
-"calrsfs-17125"="12b13dhwdxr5dc37l7imlhn4sparyrnz0d3vagjxlsiinm7hakf9";
-"calrsfs.doc-17125"="1295qb7s41y2abs2ip87ipcvq15pzza0bwvj6pwpwxkxq5yrr83q";
-"cals-2.4.2"="03100nskddcxi7z48iwm7vnwlrdkxj7xh8wgbb8bx3vfcrz731jr";
-"cals.doc-2.4.2"="08y10p0i7y0jndknkwrwdws6ja78sz1qf8vxvhhhcpivxc7a5gl5";
-"cals.source-2.4.2"="19sh899dbk4z728h9v72xrf54cij8jhnb4k4a035xfb7ijc0jcrq";
-"calxxxx-yyyy-20.21a"="0zlz35ni88p5zb0318mr6hl432d30mjkz0c10nr04bsl930w9hjg";
-"calxxxx-yyyy.doc-20.21a"="1kd2kxrhv602pb0d82h00dl3hj87wdcxpajb6s9f1866g9b70qqx";
-"cancel-2.2"="18bkqkdf888nd6j187kd39g0vgfhfh118bky8r5wwzy2aq843061";
-"cancel.doc-2.2"="1x6dhr2xyx66i8qwk98li3vp40rlalfrf5lk8ah4gq03ndhmygfk";
-"canoniclayout-0.5"="0smvc9bmcqybim01h2r6lx6xdr6y7218lfl7hhjrl0w25hiszaa4";
-"canoniclayout.doc-0.5"="0yh37kqxksann7gjvc1kfwnnkv1lqhx2aj52b2skv960visx5m4q";
-"canoniclayout.source-0.5"="15iyr0bcymylnbdfqvavjiazmm2zp8f93zx4fb5jvi5hz5bryy6z";
-"capt-of-29803"="1b89cznanql6vmcn1jyr1nqkva40i61lsgjswsqjgdqnlbmvsm43";
-"capt-of.doc-29803"="091qchrgwikiissyrbb5i14634130vn08rkj2v7cnqzsb9c44f2k";
-"capt-of.source-29803"="0dlgrkl1vcvf8qck0pn20ic7cmsvxqkmvgp04f9hn3dmk0yrzc3r";
-"captcont-2.0"="00zp59ypp753b17wcn9212gxk0w11g2a7rn9gi2mn4k5c3djc10w";
-"captcont.doc-2.0"="02n200ziiq4lbfa3mc8yk7icayl7l5ci3kpl8mlkdyg9r0a14j1d";
-"captcont.source-2.0"="04wilkx7vd5bn05cww36lywb10xq6b2nbhlxnjq5xbmdrdf9ckyv";
-"captdef-17353"="0gjbxdn70qskb3xl6gmags3gjq4pks44k8c48lxljx3avpvxnfp5";
-"captdef.doc-17353"="1wl56hjc0204d6xrpvypgra7md18db4bz7657m49893m2pmc2x7x";
-"carbohydrates-0.1"="08fsn3xp2bmkkhhqq0l8808j92vibkc27mi8frhzb7g253fnmbwc";
-"carbohydrates.doc-0.1"="1ygfgsik471prmbnv7cwak72w8daj7zgvdw50hjn4c6mqsi6g3xa";
-"cases-3.2"="15f3mngrmvd0h6yy3jiifyzfrgi014g4dsqz9c5g1mw65yyssl8s";
-"cases.doc-3.2"="1vq4x3lc7zrxsh3b7dy6w53aikx5vfzx26fi288b44g99f3h37jy";
-"casyl-2.0"="1cmz40n2h7nckjw9x8wjrj0kkig4xhjslqjachsdgidd151m65c8";
-"casyl.doc-2.0"="1y1gc2a1fw8fmrs4milnqvn0i099khhjq8pmsycj4bxpbsbpwqva";
-"catchfile-1.8"="0dx2smqpw2jmzbsfl1g1zpa790qaxas4cz1xb5r905pvpca4q9h7";
-"catchfile.doc-1.8"="1xhzw6ahzn8fgv2rxn30xszzpdjqgr97njvx7fz9bs9z7xr8f3si";
-"catchfile.source-1.8"="1gbcl7bfr1zdvn69zzhsbfa808qdfq10c11qc3qgihpzz8s99fr9";
-"catchfilebetweentags-1.1"="0xvk581zl6wk04amq4q6s4mhpb4d3f239ihk16m9fglabhq34xwx";
-"catchfilebetweentags.doc-1.1"="1bd9dgjp2rvsv6mn40m7i2s5s84wj7hbk8rka2a5djb00fv4fgzq";
-"catchfilebetweentags.source-1.1"="0lvxhx6id5ka9r3zp8h0xgrs05jax4r5rcyqcs1f77zfc2s6s8iy";
-"catechis-2.5"="098swk90wbnnnlxs529ixbjrhxkaa8s06f3g4rfazbv8ij28g27b";
-"catechis.doc-2.5"="1chl62idixljdf0kiicnb5mwdq1yxla13j6j0s53sbp6shxsgps8";
-"catechis.source-2.5"="13l8lnwirsyah34nh5scz1p6hrr8brpiddlxzj407lfcav7x1n1m";
-"catoptions-0.2.7h"="0739w56yv2rrz9958xhargjjknkf4bs2rgw1d9122ixrp1vw3241";
-"catoptions.doc-0.2.7h"="1jfv3946gqfbph8lzpzp8q1n6nhd2dcjprjylzw9kwxj5i42qqcj";
-"cbcoptic-0.2"="0y4y76b69ila35ak85wkakk6w1idjy92jhbnj01i82xpjnq9qrss";
-"cbcoptic.doc-0.2"="08c3v6rppp3qfmg4nz0abwn2ka60wc6zrdx6qh1b591xgfwcm4jr";
-"ccaption-3.2c"="06xbcnwyh6s417dc5kdf9h2qhi557fp0w5ikjdwkzsdq8q3ybd00";
-"ccaption.doc-3.2c"="1319qx3dz57f9hs21lxicwr8ql8131yk97zdps9rpnr5c6b0pgdy";
-"ccaption.source-3.2c"="0is0wzbqijcyi703k3va7icjxmf3v2rmrlhdlbhs1wzfyz1cmd2h";
-"cclicenses-15878"="1rsj1gknw2ib42h1jn5zdhwv1n5hg2fdny08wpkwyyn14r5n52r7";
-"cclicenses.doc-15878"="0vdr7nw2w4mqh3hiinywmrcszav7b0nc6jgrky1l3pgja9h78cj7";
-"cclicenses.source-15878"="090smmkqiaam8k5jfk30xk6jrzdz6y75bcawm94x5l4sc8mqihir";
-"cd-1.4"="1h6x7mm7bvvd9za8vsr0dnbll2m404hbp7g3bwh6z5dr15y0hw8q";
-"cd.doc-1.4"="1ws4qpknk8zz7cm0mfi9g9viy1f6r14y8hfi7dw2fl1lzi56j4d9";
-"cd.source-1.4"="00mi6aazb16bq9b68n0jh2vs9n5kv7mizgp61n7r9mpk90hcaws8";
-"cd-cover-1.0"="1x1z64h0473bf4dvyiraym65h15n0jkqbc24kr0xw4i0fk0q4l2i";
-"cd-cover.doc-1.0"="0lsxmkaldpc89sm9pq4zi8j3fd2aszglx06mqn3y81qjil9h7xvp";
-"cd-cover.source-1.0"="1060k65sxs323zkjv8pvx6b98v6bq3h51r84dmn960v9xaw8pp3y";
-"cdpbundl-0.36d"="1f3375jl826gm4arxsv0saigl8230d35dmkzvqyg2kldz5ig24s0";
-"cdpbundl.doc-0.36d"="1yhc82i1n44fp375vqyzrq47qdzwxc3x3zg10a791s4p25frzcn8";
-"cdpbundl.source-0.36d"="14aw67ah211c1simgsz0i3j6jxmnsj4arjfy5g20i05l892sb2xw";
-"cellprops-2.0"="05gr1jgr9m7yfrl1d8pgnh0z8xm7rk8522vl5wck2s2slmk8schy";
-"cellprops.doc-2.0"="15f1mbagh41qvzkqf1bdzlvchfn4dibsa2qj7zwaqszc6smscl1c";
-"cellprops.source-2.0"="0yb9gjglaqfivifxi6n1al6w1nm0ah3r4d9y8bc7xnfxikhx3sym";
-"cellspace-1.8.1"="01sm0xv3jbh0n45xql6p22dz1i4j9qxzsz7mkl8rgrypbdhv5f2c";
-"cellspace.doc-1.8.1"="02i83pfa5pvvky3bhw0fx4pplws8s03v4zpjawls4vwmgz012lpn";
-"censor-3.22"="0vb23lr2ny6713ab825xrd1vqnq1g93axn3x6ywgdap4c0idfzzm";
-"censor.doc-3.22"="1v82y130k7w3piq3ppn2h9dr7pxr6yxbpmfg35j3f89l9zkhwbd7";
-"centeredline-1.1"="15paqcr4acypfgisqrcbd4qg5ma2z0msz7d76shzlc8a8bxahkph";
-"centeredline.doc-1.1"="0zfj31277wg4ymlzc3z3skq4c20b5c6yw69460knw4jj1qi9pp0v";
-"centerlastline-1.0"="0wc1pwppiwycm5w3hp5ysnv3wgsw9s8m9p9ra3xbmlkqxd6zjwnz";
-"centerlastline.doc-1.0"="0f1x3wzxvgjxsgqparyjq4x32zbqjm88v5xdxm5qkiasai68r7q3";
-"centerlastline.source-1.0"="0ngxhlawj8igq7d2mhijpfcybfr6lv1jl82vs9kk7j8xrdf2nyr2";
-"changebar-3.6c"="1xdc20v3sgpk59q2rdjc3lmn08shvsicaa1xqcxyyrfvpw8gh4fz";
-"changebar.doc-3.6c"="0vyngv1ljprxv18awpaxzs4kip7l9zyd1dnmnph43s92nqa6bj66";
-"changebar.source-3.6c"="0gmgcbsb913g0bw3a4bvpha6gmhsf6z77yhrrs6k2k1lj0pyr96g";
-"changelayout-1.0"="08bapli8zvv8p15bv3sj7l646fagzbj44dbq81apb8lhqanvlf0i";
-"changelayout.doc-1.0"="1s304gpjg30kpygvg4r8r2j4bk9fg8vlb331lypd3dfd6slphm60";
-"changelog-2.4.0"="04djmbwcl4llwry38km6qcxz0akwx8y7smvpz0bp7fnvcc8knxnx";
-"changelog.doc-2.4.0"="12yfrxiiramv0d2l0fyy7m38f0llmlivbfarl6xr18ncbxr0g0qf";
-"changepage-1.0c"="070rd3drhaaw6z386v9z5rs7dmf15ci05lmlxsaay3s1ry1425bc";
-"changepage.doc-1.0c"="1149csn0iphkxj7p1bhkza8v6xj39k49rylp84d1ilckf1q4imng";
-"changepage.source-1.0c"="1slacsdfrjyy7hmhj4ssjkh0ln846b2ds11g446hmdvckyvz4363";
-"changes-4.0.2"="1r1iprf67b0x7iwc6d8ljb04j4rgp668cj9z80j6wi7abd2fk60c";
-"changes.doc-4.0.2"="1c3qan4rw25838mi9pgb3aqf8mzj4yv1lfvhc3z8b5bkhjbbhlqx";
-"changes.source-4.0.2"="0xqmwy0bnpvnhb7j9j27rpiphzy4yxn8p2431ipkl3gc8dvrc546";
-"chappg-2.1b"="1lx2yw7xyvbhvmcaj5qk2bjfmgyr4dn7q0v8q3xfkrnbzbzmcajm";
-"chappg.doc-2.1b"="1c9qkc2m4rcixnif8y1zvcc0mzwjhzsbrbmy1cqv598cysc2yaig";
-"chappg.source-2.1b"="0fzy53whj61n52k1ashphabpa076244dqjy1v7icrb27gd1y86mg";
-"chapterfolder-2.0.1"="1lphi7j367ga43j95vlph7ywzj93lppnn4n83xhbvwp56azryqm1";
-"chapterfolder.doc-2.0.1"="1ns01x1y3dq3r37q783ha7xsnlg50vfw5knh2saw1rv40wf9vf1j";
-"chapterfolder.source-2.0.1"="0zc9fa6xgs0s6g3rfzq3p32dlr3ay4k6y443z4zslkpmnv0hprjc";
-"cheatsheet-0.8"="1cqv885i4crrramly68wamd9fcx0lj96vzys39aplars3pjv0glz";
-"cheatsheet.doc-0.8"="1ykadvnpwkyj701xwfpnlnqr313d33r0yigmsscshgr1dd52jjf0";
-"cheatsheet.source-0.8"="01hd52i399c9nsk68ymr8hmllxq1vl6v01fvs1gpm90pgvgdc9gy";
-"checkend-1.0"="1g4kx83kkpdd4fbd70b29hv82gbf19avd04b3bcxy8d0r7zyyyad";
-"checkend.doc-1.0"="1hzllxf7pnp7kg2623i5yhl2xq6phifc4jc57f2zfgfvvw0hqihy";
-"chet-2.2"="1ngh07j5kjp5v1pmymckqnj9knjadqzs8ia4h4vdyxp4zprgyqv3";
-"chet.doc-2.2"="0l628j4b4m7a5p3vvzz8rwc236wqqs7vrf698gfj8gjdbbv0c9cz";
-"chextras-1.01"="0jb9dl29m57hby3hi2cfwks99xhrnf74d3fpan64852gvk0shb4j";
-"chextras.doc-1.01"="1ijm0ymdd4hh8sh4m5kxmny9nfn704prawr1c8x7445k9j1m2d82";
-"chextras.source-1.01"="0kkbsx2rqakaxq00nkvws7lpilzysxkmsijfxp1vyh73fz9cb8jk";
-"childdoc-2.0"="0vvf825w9081qcibwgyjdm57rs6083axqnr3lz9g8hd5s1h26s78";
-"childdoc.doc-2.0"="0hh51g80vlr0malbfqbfb0m5nln84bvnqa2d847khncxh0azlr2f";
-"childdoc.source-2.0"="1gaisc49xfpk37nrnm33wazihv61b61yhi40wwyblmhvwimmx6qy";
-"chkfloat-0.1"="1bv0gfqa1bhrwq7vmjn0ih49lzb5g3sxv1fdnp25lxp5fxck31k5";
-"chkfloat.doc-0.1"="02s4m1ngjcw8w0ywyqislxs6cb5vj5zgczg3dnfpqsypvxg2xr12";
-"chletter-2.0"="01gvs00kjr313a09y65hif15vqvxidi6ri11ypsbnsc0man6dhwd";
-"chletter.doc-2.0"="0mc8nlph24bh90l4x5bfc9dyldd4jjn46y08xgf194482dz2q8gy";
-"chletter.source-2.0"="03s40qmlbnlslcv8na5vwz67fad1chagal1pjq6lk0glhn5211dq";
-"chngcntr-1.1a"="1a61sdmfbbryqd2gj87bm4qsva0xjmf9mkxhxnjixpqmr4gixq8r";
-"chngcntr.doc-1.1a"="1rrkyvwbgfxxrnsdjybjqxqg15xyzr4s7qydx1ky2k7d2yxhiy41";
-"chronology-1.1.1"="0scb55ph1k2hm5bp1kvj203c1f27a6d263x39cmb79n9a6idynrk";
-"chronology.doc-1.1.1"="1rxwljr8jh5q3id04vg4abl0h19dkbzx8m04iq7500syf2xsgl7a";
-"circ-1.1"="1m6siikjprch991sqbchbrmhvh2knjh3895w48wjp9par050cbgr";
-"circ.doc-1.1"="1zmyxc0iz7ljrkklqdmpiax9alk56pf1i4dm6ljpyisd95blcys2";
-"circ.source-1.1"="1vdj8qzym1ihkhm628zz99w6xwzhav8ci0vlckqpz3y91nkkpxaz";
-"circledsteps-1.3"="03cz4fk8lnqdqnvx870f3anrg024jrymziwxz5n2nzmfv20smwc5";
-"circledsteps.doc-1.3"="1lq6w8879n19ilp45ajjq4nq8bsl5nn18n3cbwa38305w4a72vzh";
-"classics-0.1a"="1l5p09agmrik9dkhwghjg8qh407bjw5q9hviykq7kf3y006dpzky";
-"classics.doc-0.1a"="0xp87xj7328ipwq0l8xgxn2baqm9zmp8dqyhv1iy68k9wgqr2f5w";
-"classpack-1.19"="045fl18pbqs3rxjp05mcmzhrqs94xgqnim96g8mij5v82fc7c99r";
-"classpack.doc-1.19"="1875ak0yjxlvsn1gs97np1vhy2jr2yymjxgr72p25g548sgi64q4";
-"classpack.source-1.19"="06r1kpanvp3y43jc8vrskba6qrsi115akw7yjal528fxn1lypq8n";
-"clefval-0.1"="1wdxl93z0svgg6h7vdhzqp74clcldxqh95yimqb190cbm6v5ll05";
-"clefval.doc-0.1"="1d1pw87hszspsfrl5c14q3c2iy1fkbh77dzldhajx71iqjfza634";
-"clefval.source-0.1"="1x7dvg6q0hy6pg05qpi2qaxw7y7a2dcfa4khddvbfcngp1dirrzi";
-"cleveref-0.21.4"="1d4qp3jl9mgv4afgdgcns5rr7agn5smiwqkmrasqchj4hqzwxhwd";
-"cleveref.doc-0.21.4"="10wy2zndm51fy3d80cqnwsjxyczqjjffx61ir6ky3nkmiikiyypn";
-"cleveref.source-0.21.4"="1qyyvn226dj4yq25cf5f7yzc3gx9qmxmnlnjijydgmmwam71s3xl";
-"clipboard-0.3"="1i9facsdigll3rzl8xv1i85cqyvlc54xhia69cv5cv0gly00p1dl";
-"clipboard.doc-0.3"="1b6wvadihwglj0653bn8fnnq18whx2hymigvyknw00fyn3xjgvgk";
-"clock-15878"="0w5z1ffi25nabsaqh91glby7ifn40c9rhzxlz2kbyvbrdg6a3and";
-"clock.doc-15878"="1wp9hglx1vw8zfa182m2103xb0rhg9hmp51rc7bzm6fh3iyz52is";
-"clrdblpg-1.0"="0p38c8p426dn4i40wwhi5hisx3yc8bqdi7vwxdbya02smixkpp5f";
-"clrdblpg.doc-1.0"="1l0avfhvabq1mm9yqrpr29ps9iks84j7mbfgrbrd6kfgpdpqqhx1";
-"clrdblpg.source-1.0"="0iphx9hbs4ld49d24f2i8dcyjxaqgvxznq3i34ik2ywampr2a5k1";
-"clrstrip-53537"="04k0wdzbj2a0cvjxyzb0msrx4l7jaxnzrl8b1ly2q9bmmwmd5ch2";
-"clrstrip.doc-53537"="12wdxik5rqmrrrlab5mzmn02k8ksgwn01n4kfa56w150qn00jxgg";
-"clrstrip.source-53537"="0vhbf3ml1f6s2hi8m77d6cdsq5iyn8f5n5lfswj5wdxr12sq1313";
-"cmdstring-1.1"="08wyaqfyjp482gwkwfq2xw3skazfzlv0nn59qri9728rmgykd3wn";
-"cmdstring.doc-1.1"="0236d4ngq70xrgsaxg0b0yqgcnq55blkq7d4hgw3sx6s6hkxfkn5";
-"cmdtrack-28910"="0ygl30hj8rczxj8sxis9cfq419rscvndj5fwyrls3c1d2mnscizd";
-"cmdtrack.doc-28910"="03gp5n28lg10h6amf4vxamvnsr7hvrkhmscfcdf4jyp3kkkvnv4w";
-"cmdtrack.source-28910"="1m8kfxys9nh3xml6inyn4qyhqmw3h572lvlbh7g4z0zzqgiah3qx";
-"cmsd-18787"="0zykh9s50cgsxsv2958qyvwck5lw9s2a6fdx7yb14b95wkryqssd";
-"cmsd.doc-18787"="1mp1lxxhb489appwqsbg2g3lym4xvffg047lg7rpyw4msw3m87ak";
-"cnltx-0.15"="09czgnx6jqn856sr0hg5j9azaxc4i22yp1dz95nn4s331khl3z2a";
-"cnltx.doc-0.15"="1ly2cl3srazzynhikk6myzsfhffz3k63ddw2x9sbnvw6j7syd545";
-"cntformats-0.7"="0mx4rgzk4av74s906andw0h9ga5zl2c3ip0vi4q9349yj643k2q1";
-"cntformats.doc-0.7"="0015ynn7mw1y8v14qckbqkvb1fn5xqaz7rcs6gid1n19f1qsbh6f";
-"cntperchap-0.3"="0g7211nljimm9a5fvry89ch4nf49xhad9ka7prdmlpj87h9ygas4";
-"cntperchap.doc-0.3"="1fmq2r8ssvp99ykil3aak8w301qvh4nldsph389m7qar2pviy1sk";
-"codedoc-0.3"="1zz70vp8ssblnacrqdsq9nwvf1lw69mlk9d94cfjc818szcgi9v6";
-"codedoc.doc-0.3"="1f3i3vw1cmdvgp05xckr748kzbairhvdpfvr844y7wnmxzr4rfzg";
-"codepage-51502"="0kxf5zr3mhn5pd8pzmzslgnngk8gms27ax6cqn1z0n35zvh0p17h";
-"codepage.doc-51502"="1sd01q8lzrzgk9v1dyhf4m7a4fspjll3w8wwkbzp7gc693xg3lm6";
-"codepage.source-51502"="0b38lcswx2x1jl6ydmvs6yr1y0kiv6gdicnbrx5qs8xhwd93bcag";
-"codesection-0.1"="0qp4k2z442idg0mjnancfskj0j0k75w327fixjgdq1kl9q6jm9p5";
-"codesection.doc-0.1"="1fs5qhcm1cil5cqi8dh04zxcnv2imq4m77287amq0mbh3j5h9i77";
-"codesection.source-0.1"="1qfnls0g4z3xsmh89wjcw31gm09c7yh1g99ksf0x9ml6yx1j8f3l";
-"collcell-0.5"="0f0dzdnmmi4cpyg2qfdxkdl83qrcsddpqm7z9g9mxfnx4lf86y3i";
-"collcell.doc-0.5"="0wyvhcw36arrgnwq7zc8vck3m37qrn7my4r6959p4i7zhpvsazzz";
-"collcell.source-0.5"="1k7s9rkbp829wlby7h1hwlv48bzxwwghcsnmlxrs7qnh374dwb02";
-"collectbox-0.4b"="000fwzzw018nfijir6hzwr30szlqgr3glmpnl56rrjxbxapixhyx";
-"collectbox.doc-0.4b"="0d12j4mh3m3qhdzxabxigfqi2r8hc7jrw2d8lnfz16jp4yjhp3x0";
-"collectbox.source-0.4b"="1k0bbphvr20k9hgpr3dv869h9ygxx3g8vjapkc63nq8i13crpsvz";
-"anysize-15878"="0kkjzsk03bvnap54gdf0i797zqq6bdz39yh4dn810l5hyfqxbhwc";
-"anysize.doc-15878"="15z3sa1zj1hbi7cy9q9wn4mcrf0pb3n39q2lhkx0ijhzaxn0rmvy";
-"attachfile2-2.11"="17kxgd9f4q7qwciayq465wm1akrc4a5c3lwswhria540lim2sn8c";
-"attachfile2.doc-2.11"="1p66kvz1k17hvkkh5n1ygj9fcfygipsdqlpi4fpllc2q04w79y4r";
-"attachfile2.source-2.11"="0k1j5yiz71zzwpnm37pklmr4h8bavyfjay396pkqvjwrmpxbxfkz";
-"booktabs-1.61803398"="04bfbj0v47hiww6z8xlzphm2yh4vidf9gcp3rvh81j66s7wybffj";
-"booktabs.doc-1.61803398"="1hp3fbvg2v2hk1bns9b28hdjb2bcvn5d83apkr503ahln6rigf8a";
-"booktabs.source-1.61803398"="0p0hym0xn4zcmq8q5v93z1zi8n7hxz9kg58fq53y96hf6isigdb5";
-"breqn-0.98k"="0iilwmz8nc837cdya0hydkg031q18igda96m3bzjmh9slrgzj4xl";
-"breqn.doc-0.98k"="1xk6kivqrm3qvbik1h0gbff8ypn2g6w5s8vhmwpw5vza49hr7wr4";
-"breqn.source-0.98k"="1373k3iyglxk95hqj8zyi367cy49j21ghrqydjcaj3b5qqs61qcg";
-"caption-56771"="1y0rvpimkhzwjgc7v4f5dvsl4dmsydzikfk151wn5pfsv7y4282i";
-"caption.doc-56771"="1kg5jmrvwnajmmgcilgzncw3bda7kv0n6kchl415bl7l6s1yqkbm";
-"caption.source-56771"="1bjhsn8gzb37mm5j55cmqrwljjx7wfdqlcpqvdqhqc7gyfbnw6z9";
-"cite-5.5"="07nw7axvgir19ayi3zy0b2sp8bb9pq1nl36x0wv3nrqjilvgrwr5";
-"cite.doc-5.5"="0pg5fc41iwqc1y9m9b47nh48fqp5dpnjbx14ny7ch9irxblg5d31";
-"cmap-1.0j"="11ki3gqlk6hjbpffmi2zdlj0rg5z5drcx8zw9nc480mxz931h273";
-"cmap.doc-1.0j"="1ykxc5bg6s1c2p52fyl2dkmkg25ylngsfrhsw05yzskj1l8v32yh";
-"crop-1.10.2"="1hnf65q6mg5fq75l4g81zvp4qqdb092zb41m6nl3zw2cvp8gal23";
-"crop.doc-1.10.2"="1w6ql3bnghj633ar1zwbv580py4f1fmdm4vk7pa3q7vpnrwrgh5n";
-"crop.source-1.10.2"="15fxivp8d1xww6j5nbfkmsb0b2c2ldmkdy3ikw3m6jjk269nwy4h";
-"ctable-1.31"="1xqhq2ww64h8vpqqzg3zbhh0z7xpjbcqcvxxm4a6kyasyhc9iyr2";
-"ctable.doc-1.31"="1nfdrjjb3j1n8w3x4v92v9l1k0smnygwj47ry717qgf2sq7f2b8n";
-"ctable.source-1.31"="0smcvvlq8n9ahx0z1kmf37p8zi5bjsh5q4x5mk7npay96s87z9s8";
-"eso-pic-3.0a"="01q25ka4aqpz46z84ldhd5rs3xcqjk6rl7j0nhgw4s2lznrvrpry";
-"eso-pic.doc-3.0a"="1fglwrzd52fv11i3bq60d9fzfm4h4zh003nks9wgprdj9cz0s0cf";
-"eso-pic.source-3.0a"="1si3j1cylgck60rqlk5ral8mfdv348xp7ialwakynqzf5yv1ak25";
-"euler-2.5"="0f63sy9zs0myb76wqgzww48g7clq6ni9kwnrfjkyyc4lacvd36in";
-"euler.doc-2.5"="1rl4bxzlmw95pgcf7va9gsrgz89602a9pqvhiym15b5hdwc5cb07";
-"euler.source-2.5"="0fy3dx3bf8idddxsj29yqd7bsv7cyyg8q9njmb3p0mw7laqrkjxl";
-"everysel-2.1"="090nizak865w2mgrflmz91kc0b2zmc6fq0xxrlpz68xwb214lzwx";
-"everysel.doc-2.1"="0bhqpzw5dpgq3842jbba9y21yj1808nxrg50339lx7b8vc5d2i8y";
-"everysel.source-2.1"="0aibvqmg2n26dici3adi849a5k20ck68v25vx1bz2f15q4gggd6g";
-"extsizes-1.4a"="1249x8lklry9ibil9crfvy2x3hk5afnc3g3khixqf54jcb29zpg8";
-"extsizes.doc-1.4a"="06a01bmilk7hqr2k9237i6x53f6wz4z4vhr8n0qc0i3j09n5i0ps";
-"fancybox-1.4"="077xd75n1lpy5a4gdgk88p0ai2is5aj4lf2cfxn7nsyhdvc1y6gv";
-"fancybox.doc-1.4"="1giimlw8zfksar2hwarpnhy2sd0jsdlxzfw6gz1lmdb8xmwkx2nz";
-"fancyref-0.9c"="1ns9b3viqg45w3pmnh69fdrjc9p39pfnqwwsfl9nnx04pf8b0p8i";
-"fancyref.doc-0.9c"="07g7ynr4qjv5l8v71ymbhx3vf000g5qq63c4i8q0iq35gird9yac";
-"fancyref.source-0.9c"="1p5xd5a6lwv71hp1sx490qwqbjn720gc1fpkk2inmmq6h6vwgpdy";
-"fancyvrb-3.7"="1i7rk7wna0yi9najpjabridl1wa8yfhp166p7plyls8afcqh5fzq";
-"fancyvrb.doc-3.7"="0g1i8r7cxjdqnzwfppgc42dr00fdp3q1njxhs0k5lv0mih0hrh9x";
-"filehook-0.8a"="149wsy6d4qzjra3m6cl0f9p25mwb3b6fc9d6vqqps99ysc9nvmia";
-"filehook.doc-0.8a"="0r4phnzx8y2swlyyjk59hxbvas73r9m2k81v330zxfigll94a7lb";
-"filehook.source-0.8a"="0lk1qzv2j1g3qmf91b5axcpjilagck5k7b7hfnmqj7p95gkdlb95";
-"float-1.3d"="08jb0v6lsyff09hid3whah0i0fk5znsik5rigl4l7vflnvc6km8y";
-"float.doc-1.3d"="0pqj9qq5yprg0xfxga8ck1s2wyjzz4ymhpqgzhzbxbdslh475vg4";
-"float.source-1.3d"="0774d7gmb8c7fc3f8yzarlx1m8nld1vg4gpd3dfyw5b39ra4aq4h";
-"footnotehyper-1.1d"="1341gjq4lqkzgq3n40z8zdy2qyz26wnyyjcgyddh93dv71xhynah";
-"footnotehyper.doc-1.1d"="1jf8ri15nx4hxzi4bqxrfi3m4izqyjgbpjfmpyxg18sshhypqx6l";
-"footnotehyper.source-1.1d"="1683x6gd0z7fjrdffs783b5sqy4xsyfxjq0r5i2ag9kgkz7rzah3";
-"hologo-1.14"="00d4dciklw6npr3wrsncak44nw3mcwx15c8kgglqjwpgpi6knn7a";
-"hologo.doc-1.14"="05if4ff6nk9adz1s061a4yall8fjq2piapn694q6g84wb9w3syrh";
-"hologo.source-1.14"="0by96mq2whsflfva842givdb92swmhpfiniysxck17g9dwlq6qmq";
-"index-4.1beta"="0lx5jl7nckbn0brsijlq78mm0gjshf8m1dqjhgl0l59qi56x5f4x";
-"index.doc-4.1beta"="117h2g30zbw5g6x3xlmpgq0k4fqixh0l8ah7350q1sxvddxfcc24";
-"index.source-4.1beta"="06acw1yb5z4f887p44l9afk78kpnjv9djmbwj55bac23ml2k3ddr";
-"jknapltx-19440"="1jw24izfsw3l8bn27qci3mblmhpkal9wcldhjll7h84fgjb9q396";
-"jknapltx.doc-19440"="0m3blfj4ninra6zn501x17q6b2qzckzcavgihgqmk9q51yibd5aw";
-"koma-script-3.33"="0k8mhikpll066x3683gmg3xas7a2mz93b9fip4k56hacxxb6map1";
-"l3experimental-57789"="1wbswk80mh7a5hys1kgapzz03mfsrdsvb6li1cpi7z11l1sh16cl";
-"l3experimental.doc-57789"="19f5d2zx2cg3gnb5n8q4dg476ps15a0r3s1fzlk6p0zs2q62j84s";
-"l3experimental.source-57789"="0hlqkkg1hxr8dn6l9lzsjfcbcrksqp8qnjz8y16b6irpwd6smxds";
-"latexbug-1.0j"="1jlrv9pzvfi9d2sr04sqymcysb40kygbry8wgpdy641mlkygcr9k";
-"latexbug.doc-1.0j"="1y8340ry27s2ga549w0c24s4lpr0l4mjinzkynf7rxcp6549j39h";
-"latexbug.source-1.0j"="1kxhfkgnr6b5d7hkxj4ckmd00r2ani29j1c82v5idccm4bqv3mjk";
-"lineno-4.41"="1krdnz6742d36818qhwn9i5f0wr9wqpjgh6qq1dnbjpx5589djnv";
-"lineno.doc-4.41"="1mgl7ali64f8mq2hl3gnwnirwc3r8ibb1fmd3w3fp0c3r15alyc5";
-"lineno.source-4.41"="0whh2rf7q6c6afw4qb68dfzq0bpqxmrp97f6fpb28i57m3f7fq35";
-"listings-1.8d"="1xlqk347698pq8w7rqgdd9fq39a279hjixcnxz93nzhcp9v93jzi";
-"listings.doc-1.8d"="1c3b3mhbaz5nk58wb569b6r9hwjb65wyjf3r70hrn6z2y06rq9lw";
-"listings.source-1.8d"="1q7k6dmma7l3vraic7k6gycb1jbpfzy09njj4g5pjc7j89qfk3sj";
-"lwarp-0.895"="1p2i08d5i7a41f6vkkbfn4shv6c4bhz36sxy2f5nqz9lbqxm13ll";
-"lwarp.doc-0.895"="1fbjaajyy7aibp4cxq3b4f9xwjxi8f05vak0nd5p7k7dm9yjzzmf";
-"lwarp.source-0.895"="0k6b44x1s2sgbq3rw2lid2hk95s6hcrnm73sdfm7psaiqhn9n3p5";
-"mathspec-0.2b"="0gspy6kjnx7bs5dxap8ym8s0k9i8hczi6s4s97y7av7vc8j1fb5w";
-"mathspec.doc-0.2b"="07mmfcd0fvhrhafsfk4sb4dvs5x8x1rjk1a2xl20kwpfpp8l1rb6";
-"mathtools-1.26"="171iwsrxs8l0qqkkppwvk4hq60x6n1iil9nhm6p1lqvc5g1in7yi";
-"mathtools.doc-1.26"="1rw7bllfd28si9axmydmjdcqpivdrqhqzqvxzj1ciwx2ggksmwvd";
-"mathtools.source-1.26"="175xg321lcrmc9fz3zbfc0734qab6fbfvcxpm4b33zi8kil4bqpf";
-"mdwtools-1.05.4"="0l40ydzljgydp8qfq1lm9v8nz0mrz4zxpjxicypn2hx7bxs2b9rq";
-"mdwtools.doc-1.05.4"="09d2ahrpksnjd4x7gqfx7yw51ivfpv4pwi6ms5c394c3v30xak94";
-"mdwtools.source-1.05.4"="1w3sjwa0n3pyn33k4lwnzcswm86zj9givshk0raq2qdb4znvxsk4";
-"metalogo-0.12"="03crm3sswv7mz5akghqvkq1zpiy9jdpy32ivwwmf14sfrrri2cz7";
-"metalogo.doc-0.12"="08vgbmjhynb4ramaj68i27hpgijg51j80lm0qf1jrfpapz7lrzij";
-"metalogo.source-0.12"="1ak8qbcbqgirljfwhq7ylxk1w2frxfkjvadjq00cclj007idr3x8";
-"microtype-2.8c"="1c2g1xzm914kawss1my0irmp9b05aj0c75prp65iqazmgs2niqrs";
-"microtype.doc-2.8c"="02hgl0zkmy351dp8y1v6da57d4lk6hm2834hpns62ai4xl9ffjx3";
-"microtype.source-2.8c"="1is19v3w7a4kfdw9criahs00j7ynkfzisjpdh1pxa1dy3i0a3fh7";
-"newfloat-1.1l"="01l6gl8hjml0q2kf3wzdnypr96ib3dryspgqd6hhfg33h26dji5d";
-"newfloat.doc-1.1l"="0lagdv0hd7kjxf221a2vzpgskvfr2h2wcdps0l90ycr48g9s1j68";
-"newfloat.source-1.1l"="151qai42ssn1ngn4fqi7098hmfb9v858bkbxh0qrszawhrz4w5q4";
-"ntgclass-2.1e"="0hi8qb8xqxkpy2xa3ggc8fbbraar7xxwi3n9zy4zmjwq9p9r97bn";
-"ntgclass.doc-2.1e"="1dk7y25pvmavvwaxnvsf0wqm7vwz5wqmqd1gb7zbklmwszd2pbm9";
-"ntgclass.source-2.1e"="1pzp4daznyj38karq0vj8a1jpja0jbdsdyr1136nzi7bh3q92i0c";
-"parskip-2.0h"="037404fa7flsznyidn6vpp5r5rw6wpzrg6sc8zppj9hqciqlbd52";
-"parskip.doc-2.0h"="1pw9mgg04lxmrin7vplqyfhxa2bb73yf7qj8l3bwc9yiw78v5h4m";
-"parskip.source-2.0h"="1ysz2jfdi49qjyrfkx5k1vjcykk4774i581d7kynw7q9r25lyq9g";
-"pdflscape-0.12"="04r7pgna2bziz6jsxkm0kkva37gbnz5q42ib1r23pah9knhw584d";
-"pdflscape.doc-0.12"="128rzqfkvx5ys3f5402fi7qf7iw2rrgmrs3jvrglmj9719fv8g94";
-"pdflscape.source-0.12"="1idx3b5ndgnfnyafhvi6xjqvgsyjp2cvmhd7dwd6qn6m88c3dhki";
-"pdfmanagement-testphase-0.95c"="088pzj43hq8rjn8db370b1wp82zdbjv5l9c06j9jbnlsi6m1hpf0";
-"pdfmanagement-testphase.doc-0.95c"="0l3nazd7ykqrrpaq7hkvlzpmib9xj8lr9lapc91p751155sb5gdr";
-"pdfmanagement-testphase.source-0.95c"="0srl7w0dbzadckjxgf842n7cf223s2b8b4ahcb98c5yipnv48wi9";
-"pdfpages-0.5t"="0p41hryggm71xlfjv7cbp9dq59wjsc7l4nvzyvzb2d20qnvgv9v7";
-"pdfpages.doc-0.5t"="1mc18d74fcw273lcpklpy1iyxjz2ijvl7yp5wm2sn8cj0dnywb2z";
-"pdfpages.source-0.5t"="16wlid55jihy0xglhc63fwv1c1nr3scy8p64yyxwz0gc00l2sipp";
-"polyglossia-1.52"="03hw0zcl90xc2m9npcrpmpmkiay65hmkc5d75lhpwybx9fiz31r9";
-"polyglossia.doc-1.52"="143yhjrndb77vy51rfwwsnk62ri91m34bc47qsymh596sjcrszzm";
-"polyglossia.source-1.52"="02b2jsvwvs0pk96cvv1a7byc6yq5808q4g173xvv72kj7lvczlsk";
-"makecmds-15878"="1z4m1kg7zy5q8l0a5d0fr7jl46wrw0rbwkxq1d0lm2s13xdn71dm";
-"makecmds.doc-15878"="1hqwvilvx61w47schnchlbgrj5snlp0lahsq5a1g2c1grmzpirnc";
-"makecmds.source-15878"="17c66isk18ch47syhsihj96yzi1jpr84946gck7r8ivpmk3cmmza";
-"psfrag-3.04"="0m5dlnjf7gmikg4nyxzzfz999gphkg41qm2sksq9ly2rspbdcs8s";
-"psfrag.doc-3.04"="135c7sr4i8617vwr4nnz8vcy5qv8icr0r0cmqsj6r1hpkm67zqhk";
-"psfrag.source-3.04"="0d68rzpxax5n0da8sg1nh50li7rc0m7syz0kvpsgzqbdp1clbcjn";
-"ragged2e-3.0"="0bx5fd1bpqkgzh1ixsri0w3hd0i7fdsbwps9qbzilwawhf788kpq";
-"ragged2e.doc-3.0"="0dnxij4vyfgrl7y06g56cikz8iql22rzfdcm6yxzx1i9zbvhbp4c";
-"ragged2e.source-3.0"="01arnx366ig5md4rk39f78zm2wr0h4s6mv0rx8xv3fks51nsaiar";
-"rcs-15878"="1kri1q5b36d00k1pmpkpa0dmbv7qqprycxzmlmqvp7fx82s5awwk";
-"rcs.doc-15878"="1x6m7v28p3lslral4wk595clg3kjf2nwk2mi1sva2fl56mny7mzx";
-"rcs.source-15878"="176fvqs3r8wysrqlqwjdnm0xqgqdyjq7wfwnfb2iv3c3rmpr7ab0";
-"sansmath-1.1"="09zi9xps6pv6pjwp8pjiz6w4zqa9d3rwqn38167k2dlwnc3ij6g8";
-"sansmath.doc-1.1"="103h78a075lh094slfwlh2yk4dbl0wryzmsksvbp80gbv8w7llpv";
-"section-20180"="0rqlczfl443z7mjmnmndclbjy6qnqvla89s8yqwngzyms4z1h3v8";
-"section.doc-20180"="14d7576idcbpxlw7hy3hsdd41gpiyksb9ajwnn0jm1mk2snzb51b";
-"seminar-1.62"="044c6chman0w57y8lz7j3n4s3ajg1zz81qf3ndz5pfakyivqywlk";
-"seminar.doc-1.62"="1wc34683392vnd1hb2lqk9p1ydxbs05njkqygwfkncb1q0bwdi1p";
-"sepnum-2.0"="1gawca8sqgvkgc92hrv0mjhdhh9nqiafxg2ssk7m1r5dqc091qg7";
-"sepnum.doc-2.0"="19skfqlaz82ji5fzqzgnfaz642ms71hqhv2pavm6a8ifish8wcj6";
-"setspace-6.7a"="07dpjjwslfjz4vr7g04gdy3n5f886hb8x6x2h6q593mdzy3l47sv";
-"setspace.doc-6.7a"="16zqyfv4jwrzcamns4lz684g5fijhilwnx2wywim197rw396pvz7";
-"subfig-1.3"="16fs6ax4rjnv446x56jydx59ahw9ylkpq22a1dfnnyf8s4jm7a08";
-"subfig.doc-1.3"="0jm594akhy2b1w8i7ccv23z4z94lbd6rwpmr62mg1h80af806biq";
-"subfig.source-1.3"="1aprv7xqcwnl6076w71x5x8kspa1sb5hlpbcdrws3slfzm40skcw";
-"textcase-1.00"="1d12a3wqsm2qqkd4x97j1b42ngwljh0k7y3qjpnrjfs4rd2pkgxz";
-"textcase.doc-1.00"="0gzyjqj3i5lpj46qw9q4ivhswmb0d6v2pm7c005fc1ngy2y9dy86";
-"textcase.source-1.00"="1sfwq47axxrwgwmiyxjgkyzd7hm2p0nzyy29wab3c6ab184v6avg";
-"thumbpdf-3.17"="1zj2733wnq4zydf22qhza9j0nywh6fmn8xd3dc6nwfzm68pdn9ic";
-"thumbpdf.doc-3.17"="1j3grkd8vvz6ynajk9d4nss86qsx53xw9pzkn2mbm1smddbdh8cc";
-"typehtml-17134"="1lv5bl9bq1413bbbsjvh8gz1p3qd075y7asi9x0nja36rmcags11";
-"typehtml.doc-17134"="1cgx2prk9ggw3wkbabrm0sbsfb4ablglzh2ckvg5s0chgkilcnyf";
-"typehtml.source-17134"="1ihc1dq38rklrmw8h4k4i6pq3qy9dlwn7nwzmjblpsghszfivxqb";
-"ucharcat-0.03"="0xiryrx3pjx2nq01f4f0x3anx3zvkdarp87103z9zvpf6aa27slw";
-"ucharcat.doc-0.03"="0k1aqic1ljafdk8xralygdyjapkqa0qiainrbf982233kjqclpvd";
-"ucharcat.source-0.03"="08xxmm2rrpyi9a601bzxka226fnhmyqfv8cfbc1qdivn8658785y";
-"underscore-18261"="0a93sgddm7xy8iby50yficparkr6hnzj46w70madbwpjkpnfya78";
-"underscore.doc-18261"="1lqg7j0hnnhqnfzdv0zzgpnmbysypdind3fmr6axkw0czix1pz5n";
-"unicode-math-0.8q"="1ix7yd0yiss2j5gm6s8njqp3287v1h27xxall0ya34ip1n85wkmx";
-"unicode-math.doc-0.8q"="16w4qsgvgq8vi0ylivi3j5b80y4in205ysyq8xaa2ksa8rbbaa4b";
-"unicode-math.source-0.8q"="0isg86y341w2p4a8lpsra9djb2ldn9w5cxffwzbprri33j2yqs82";
-"xltxtra-0.7"="0zpvlsdsrn6pnlfd3aa23hcrjfnnrjivi7r61g25j9sqcx7cmkym";
-"xltxtra.doc-0.7"="12wp6zwqa5mi5i5ridd2amnr48xrkqmi92xdhh95ydijpzyslhli";
-"xltxtra.source-0.7"="0vwlj6f7z7fh1vx257v0gnxj29rp3xqjpxlnn156xp9i8i29v0hn";
-"adigraph-1.7.1"="077iqsmfa1fpgmnppb7bcnskpa9ap4wa53ip67b4d21pa1arzszq";
-"adigraph.doc-1.7.1"="11z48jaj6xcwrzv8y2byjcs88mdvqi2fqk0nqw3cy5pq7b5m7rap";
-"aobs-tikz-1.0"="0fiq64szq6243gy7vg99gi9zhz5c0svrwjwj92qnv131zj71lcg8";
-"aobs-tikz.doc-1.0"="0yy2nlq6d6q5cijdswkn3b1f2a3j5sbl3fdv599vxna5pgywsw6s";
-"aobs-tikz.source-1.0"="1dj665gs9cbx3mf3nqr0944kg59gwg43ll1dz9ci3jra0nsr8w5q";
-"askmaps-0.2"="1r6lk9szs7jm57b4hl9w4ngb9dqcsi6pvp37rcnwnznj5m2daj50";
-"askmaps.doc-0.2"="1ryw8yy59mfi13rrwgrfg5y5dy3cafz2a3f8zmq5fbl7zhbylq6p";
-"asyfig-0.1c"="0zy0vxxmzg7nzwzw8z84sym5wdfbs7kyf06r6vnn05ga06wwn603";
-"asyfig.doc-0.1c"="03nby6d7cjczj3irqql5wpxs4fx9z77bb03lys5j1kg63ccq5msp";
-"asyfig.source-0.1c"="1rzicq0w7byrxqvv8pympxkwq575zqs01s02z205azaqdgrzdhss";
-"asypictureb-0.3"="1ls5ryz8c68liyyyqkjvmzyyblh9m8c5b62igz8frrj4m5vhi3aa";
-"asypictureb.doc-0.3"="03d4l74m9qwjvl71xfkhspf0d2xaafl9d2kcqhmil5yg85hsq069";
-"asypictureb.source-0.3"="1jzpagmnv21k761r52m2f708275k4pwa9sqlp88l6pgv6s6p4pab";
-"autoarea-0.3a"="07fi6gdnl9srrhmj5v28kfvjs3skf8g693hbdrfzjkyw76iji46x";
-"autoarea.doc-0.3a"="0chpz1mj3sjqjq931i7wkddgs0b96nwnfisv8r3q56ln35m2g1g6";
-"bardiag-0.4a"="1lwa55zrl4pqyvl754j4wz076gn9rbl0kfchad5pzhckm27vvp6n";
-"bardiag.doc-0.4a"="1q3ng4j9g4bp3vvbs9d4md4296vi2xhzxji8nbvq1ibkzbplgd01";
-"beamerswitch-1.7"="019j2jbww7sc5lj6h1smsvf4r55ir4k7x71nklny4s71a4sirb1w";
-"beamerswitch.doc-1.7"="13qjgjm5k9ly5wllbl5naa7pj6gmskmqgcwgkipa2gd3zninms5p";
-"beamerswitch.source-1.7"="1d9ayi5zhv8vihd6jd9lbj3z50ih640x3fm02k5qrpz6k0nv0xrn";
-"binarytree-1.01"="04q8h54dl0fmczrv6fqvvisim1mz9lnvkdmij6b3jcn60z722k84";
-"binarytree.doc-1.01"="0j8gn6mqaf1zfi9y5ahfzmywa64kzl9jxpdcdz1fl98ailbzywf3";
-"binarytree.source-1.01"="17nc2whi2nh2r17gi9jn0qya8nyfjnn6d5r10klkp42b75jff993";
-"blochsphere-1.1"="0lifkhwl8rigg1w2k915yv1r9xylsj0qnj48cx58likwanvl8s2k";
-"blochsphere.doc-1.1"="0dbh11c3fjrdypam15gjlqwf3n9wxwhjqdd1h01f2f8yams42xfl";
-"blochsphere.source-1.1"="17bkqf64qvjhbids04bm3qhghqrrwf4m2bsl3gjxxc4h6sfih259";
-"bloques-1.0"="1gr3521mxmabcwvkqxn7f0wcpcmzy5jdpypyafyklmnhc2ij6zqj";
-"bloques.doc-1.0"="1jmvan6ja2zf01lm0dmh3dg4rf1cagfniqjfrmzpxc062khf97w3";
-"blox-2.51"="0p3ci3xf1vndbdf147r9l1s68x72g7r2np6znizj3qqxd22h3wxx";
-"blox.doc-2.51"="0hskpi2wnlrrqmv0s8i4g4bh03ka18w3czvnjjvhvmf7im9wq2ha";
-"blox.source-2.51"="06zimj2liix2y0f6a35kb8q9d9asp48c58mhc3pssa185bcc7bv4";
-"bodegraph-1.4"="022m4w5rpn7n9fndddjjlyfxrwgirw5x6k7vl40nnyc8swkjwb62";
-"bodegraph.doc-1.4"="0v79v2ijgx7qs3xbsp6h1nw3rn9rry5j0qkk07bvyz5aqnzx290q";
-"bondgraph-1.0"="0ryp004w9bbphqwddprw8c3v1vndl0r34gx7ag36hlqipl6r79pm";
-"bondgraph.doc-1.0"="1hk7lp72x6skzvknhndz6f4lppamd3frl2f4dbs4hlvi4wfwjgc0";
-"bondgraphs-1.0.1"="0dhm5g508wi8r8hsk753bqflc4rvm4zi8iv0564pfsfz40fh3xnn";
-"bondgraphs.doc-1.0.1"="1wnjhyr6r7jkmxzry9my2mw8i7q2nwq26zqyfi9mh6cv3x2p8siy";
-"bondgraphs.source-1.0.1"="0qqs868saap9zsl70bwzfpmq8rnyvq2k45nc31ddzq3563djhfi7";
-"braids-2.0"="1037lf47r7w0q8j3gdxcv032vyyqvw75zacqy6p61ydp43cj587c";
-"braids.doc-2.0"="0k8r3mdimm0yqv4wkswngc2yzg3rkgvrfxgq2ny3gcndqb10gp7d";
-"braids.source-2.0"="1xf8jn4mv0ds6bcaqlr59265r83984h9kqj9bsb8h3izfbpfx7qz";
-"bxeepic-0.2"="18by54j2rg04n19whsb2zjkksrdh6f6i54fq257i2mvcp0qpxwr5";
-"bxeepic.doc-0.2"="0117dzkqs1sy8si4dbal9p5p6csskcby2swmf2911c0vbpdl51zm";
-"cachepic-1.0"="1j93lljbpwca363sjk5qmljrfq4f671kg4qrnfyv9zqcxcpyfmmg";
-"cachepic.doc-1.0"="00j7j75zq3wa6z1liy0y6wzxjv96sq5r4dh7kp9f9icmxzs0x8xy";
-"callouts-44899"="19khsdal0siv0vvj56bxgkrj7bk1yyd3lw8iz6zijchp0by6gbbr";
-"callouts.doc-44899"="18zy2yzjlgn9g2wzlc9i52x8g3dv32hvbybjkm9fmklsgnw8fang";
-"celtic-1.1"="1vg75zj6p9bhp9qg4c7nvgncs7iiki5jizx27ld26yni9m2cd0sb";
-"celtic.doc-1.1"="1llinw15fnpjshks9yzlmbi04pkn6s87jfwgpnh5vb9hfws1ira5";
-"celtic.source-1.1"="1w3wm5ci6kzpnvlaxbpqndclhxlbs4xiwq90iig98wf97b85lfi9";
-"chemfig-1.6a"="1j5m660a1pcc1cy9gkcszv402iflwc98838nrah90ww5zbnkk1d4";
-"chemfig.doc-1.6a"="0x4sawnsi06v2k4qm8fmyxx1jn1d22c42v2na99j3ay0lk5384vg";
-"circuit-macros-9.5"="07cbpxyawy44ds1vy6kpp9cxgv2mlh78i1wakzw30q0bj4rksw7b";
-"circuit-macros.doc-9.5"="1ffj1cg743606s14nizqsl45vmp4rcir4lk29jl1wm9csw03fhxi";
-"circuitikz-1.3.3"="176mlnx0qr2hpb5vikyna5w0vzri7ba2dbhcd0mrv2akaziiwq0b";
-"circuitikz.doc-1.3.3"="0yixqi5mhwyypq03lrcsdbi2x89nmsphffkdf7zk6c26ibgdnwyp";
-"combinedgraphics-0.2.2"="12569y2i0q2lbmnwlwjfc02x0drpa3vcy58wbch4j2xzv1cih69s";
-"combinedgraphics.doc-0.2.2"="1jn4vdnlz0mwjv09ry0phbisf5zv5valwd3779cqbh1dzpnpl7lq";
-"combinedgraphics.source-0.2.2"="0xacdk2xsdlzgrxh0sa8sgjkwhwasvahgdgjjxa9p82bfjhr1f4d";
-"curve-1.16"="1h1mfx67i3d2jr6l8qlfys9m6bqzn4x1wb74cjbrkdclyqn3lmd7";
-"curve.doc-1.16"="1jv8f3izp9pvzh5qs3sh33c95v0z3wn88f278qxi0f1bc1k8990m";
-"curve.source-1.16"="0l9cq8aji7z8qh0p45af8rnz0iw9m1hgc118482x699iqrvg96y2";
-"curve2e-2.2.15"="1kxd01qfcj2ii7qics40g78xwb0d1scdlkc8a2mx2zsqyhnwgs12";
-"curve2e.doc-2.2.15"="1y75vjq25yj5pzddxgakdj8b18bq0rykfsv4j724aicmpfs8z6dl";
-"curve2e.source-2.2.15"="0dk1iksqd5chp9b221zq54n7flalwr91f6pgb2k5amwfy6i98qh3";
-"curves-1.55"="150iv654y4x5lb3njd7dfjf8i0axlpf7zz6gx4wqgq06kddjr7w7";
-"curves.doc-1.55"="1ddgy7gzw2871qsh99m0k90lgh8kf5883skcqxww0bl7b335qc8y";
-"curves.source-1.55"="1r9c0rpi7q6ishzaaw7qnil0lzqgdvc0ybmr3j083af17snkq0v6";
-"dcpic-5.0.0"="0yfjhpn8hr3yk4dyjfzbc8g7cki64039lb96naacyv8mjhqdpgyd";
-"dcpic.doc-5.0.0"="0vxqvnkxm00k0xqpllcnq01si33wyg2mkhpb7l8jxxxizn3wf5vi";
-"diagmac2-2.1"="00jzm6pdzxbg33fbj19ih813j9wvb1g9hr01g9xjc0d6nprq9mcs";
-"diagmac2.doc-2.1"="0vpm9lc33x5xyip25kay38fhld0a0z4l6g3nvhbdh65apb4j4wfs";
-"ditaa-0.9"="00ym9qcrzq9g72r5dkvqwsxig9gryizzznjfzarq9x9dvd7x1r48";
-"ditaa.doc-0.9"="13cw5a4wvv5fyknckvm6qzhl2lvaqvqvlwi711ix6zq6db3ghfsw";
-"doc-pictex.doc-24927"="0fdvqhkgi5j33rx0r4fifj69f4smn5w0n99vx90a3fw15qzxsg5y";
-"dot2texi-3.0"="0hb9mv8ai85smn9viig88f5hprj3dyj574amy9nzdr8f52lrbg2z";
-"dot2texi.doc-3.0"="0wa63gs8h9a5d94chiq1gr4lam8p0338lyqbw3bmf3ix3v1bzyvm";
-"dottex-0.6"="1ykjw55qzv5vk1wk90qddswvj3ai1s5xx674vkf5r07nw07dca76";
-"dottex.doc-0.6"="0vk0qgwvmny4fpa9d0gwg4s8z68aaiw1bn135d5msgikbkhbbmw7";
-"dottex.source-0.6"="1ph52wyv7fqri6pxsi289s7svy4p4zap1bdzbwqpbsrp6v4ngjqa";
-"dpcircling-1.0"="11qhxh5pgjyc98hnlbq8hfsb77bavs0z3yjx4809z6aypah5cd92";
-"dpcircling.doc-1.0"="1qrx0pnk1p046mx6nzjwgrfxaq1hmdgalqsp3cr6d6zgqwzsnms1";
-"dratex-15878"="02nyg30awmpp2yi4m6r9gbgz04irjzpbjhpp72j0qxzly8c8frqn";
-"dratex.doc-15878"="1a5knp5hylpb1i7hkd9160bah7pps9b0hm00zgn9fk33g5xrvhbz";
-"drs-1.1b"="17jp9fvj86sp4ywgc6j1dp3pnvgllilbq75298qamnnj3f403vlr";
-"drs.doc-1.1b"="158wkgnrgwfg2ikbj98hmcaaymrwpmnmaxillksv1b7gxmdrphk5";
-"duotenzor-1.00"="0p9gq8i6xcfg4pxdnqfswjcnc17x7pzsp4iya9b3fjq4kplqv28s";
-"duotenzor.doc-1.00"="1bc1pycds7r45c2bzmjhxs2wv0f2wqyxbycfrl6g4fycr341h8gi";
-"dynkin-diagrams-3.1415926535897932"="02s19zsjsql9qhlhf94z2smlr0j40z4rrx33iiwc54xx3j55asap";
-"dynkin-diagrams.doc-3.1415926535897932"="1gk31brjcrw88a2fb3y7jq47g9lkpr7dq7b2rmvkbwxd0yyf789i";
-"ecgdraw-0.1"="09affkfqlsrjgn546h6fkbzi4y7dy9zgf4i5a8kw6lbgl631gvid";
-"ecgdraw.doc-0.1"="1m42ngbia5ilcx6hjd0xid07vdvxmrb2vd4qmzr8bzzflj2janhf";
-"ecgdraw.source-0.1"="0825jfxsmicfqv1amnjx69wmfw893pcdqihqx7vv6yd9xs4bqciy";
-"eepic-1.1e"="07hg546cp5ab7x4zq25m7z184mvg7hyql7dsbwvgpq6hyz5pqzyq";
-"eepic.doc-1.1e"="13v8n27iw1b7qvs3baqqyls9cp2mqbycrbax7jnr8mfvp83jmpkz";
-"ellipse-1.0"="0hp6gm0na1gjxdjivxgakbkrq48mp9zblbfxxw68l2aa4jm1x1a6";
-"ellipse.doc-1.0"="0invkczwak9b89n6w8ny9bh1mg7amk418cf6b0552pb5rpkbby8m";
-"ellipse.source-1.0"="0143mncfyss0cyzq0aim8lvzxhq5q8a0cpsh92llqjl19s30d3fd";
-"endofproofwd-55643"="1dz3kfsjalq9419l9sdjws5bjisy8pmy93my8m8acdf3d4ryr11x";
-"endofproofwd.doc-55643"="1m5wq64v14cz4i29smnw742ak6sraxq9rzwcqkg40vgzsss73lxc";
-"epspdf-0.6.5"="0c6p7gqzkqdyii0jh11pvkzqjlvb7c82rpm4qh9mz8l7b9xfrzzd";
-"epspdf.doc-0.6.5"="0hdr1pvpdyxrs01438azgbj5sbysi3bxbiisdrqrlbsxvwijp7wr";
-"epspdfconversion-0.61"="0arf6kmziarh1sgani0bnp2jm8psxj937hrkaslfj8fm2s46gcmz";
-"epspdfconversion.doc-0.61"="1xpj5lymdh9w2ary36sx66ib0hwbjfbbhhcipdq4nkikq7a8zmpg";
-"esk-1.0"="007jcqvxp41h0ky25mgn2k3qdvyiyr3vj9mn6ml1zsvy1ymxq4dj";
-"esk.doc-1.0"="075wb7q7z5idhqh39isvkacpgacfcv966af904yk9ralin5fwbr0";
-"esk.source-1.0"="022n8rh8rwn9y4yx1rqpdynw2lpm8npwd45y88r2q29qcd9f62qb";
-"euflag-0.8"="168c6y6rivahj6cw377l54jsykpxaxvv3nbmr80w19d90h4sqa5l";
-"euflag.doc-0.8"="1a65rasxx88bkz3bg51bmzdbq67yphljaa8mgkp2b69fjsifm229";
-"euflag.source-0.8"="09g2gn9ci11dca9s8bgdrjaprzb66vb47ssfnj6n061glz9a244z";
-"fast-diagram-1.1"="13c2r5prb7dg05j0r4lkdz36v51zj6v5p2c7q22gfkbz1lj1s6s2";
-"fast-diagram.doc-1.1"="1f3ghs0l6mj2q3iw74rjjb12y8151cccvhww13h4kzc30vacr3r2";
-"fig4latex-0.2"="1bq3hj1gnc1g70jvrrvxsg1lkxrdnj81h08qr7hqwlwll37qlha6";
-"fig4latex.doc-0.2"="0ddaikx7qphb98xc3nswyv01d0xh5g4vf95fqsnbhg811c83jpk4";
-"figchild-1.0.0"="0ha1ca8npa8pis6dp54cn7sz08x3q5h2b113h2afifmcinv7iy6v";
-"figchild.doc-1.0.0"="096zwf8wp643dk7rkkwmksx5y4d4d168ww2csmmm87hwnnvhsznj";
-"fitbox-1.02"="0jk46rrq01bbqkwfqf1rdrzwv475mdmz4hqvbffkivnbwj1vz18g";
-"fitbox.doc-1.02"="0gb5gpdrdagilxsklq1aijr5zfl5n82nwal1h9qls0iqzjvgizka";
-"fitbox.source-1.02"="039q5as7939zc5nby6m6piz5h0zphm19hqjkdyrgzw1q4r9ypzc6";
-"flowchart-3.3"="1b6gwbnd9xjcvjxgnl6xjq6lja1a0p2xnrdlbrhs6ka6f6pnrbl2";
-"flowchart.doc-3.3"="06i32gmsqgvqgy0l0qbdjybnp4rmz2cn1c7zw76w3mhd9z220d77";
-"flowchart.source-3.3"="14ikpr9fga193y2vgr5sisvzc5scf04b1xc9hcv6zmkcph8dvnnk";
-"forest-2.1.5"="0q1xd07z1ccqrrfl3x0fg35sdv2kcyl6vgps7f6gpk5yp8j7d392";
-"forest.doc-2.1.5"="1s9i1kxd5zhdqv5xx29kh8i5fis642hcw76ya5bh94qffhwwg7j3";
-"forest.source-2.1.5"="1i6r6i8zh70zxz6sk0c9b07345vcfr9aapw8q5kzd3k76fzcqfdl";
-"elocalloc-0.03"="0jj85nyrq2y7w7pm9pq8qdj3xszg5s3a1j8zx2dvsy6a1s7mzd8i";
-"elocalloc.doc-0.03"="0rgf8vijb0dl48x4rwbzg7gd1apjs7vwl8rj7zyv60vx53zzkp5i";
-"elocalloc.source-0.03"="100hs4drnz5jy657crs8g62281sbgza7k78pvk1qfds2y8la2968";
-"environ-0.3"="0in2a7ar0c6ji7qhrbgp4bglcr2cmb9imxch8fcrwkims4g3vjp3";
-"environ.doc-0.3"="1pb6nmprhz3j9dx2h7sw0y66y1qlvhkjl3ip28bxa133fgqab148";
-"environ.source-0.3"="1jkbi2g2s13rngwqvr435i9n94ycnzp9xa8szik0nnmj482ah2hn";
-"trimspaces-1.1"="10rx6pcvwn1lzyivn312j76lsrw3lb40jgzyj861gl3r3pcls0nw";
-"trimspaces.doc-1.1"="13zf5bz4pp0lwp44kxdj1zw44h978bdpaiskbma752603jlznaqs";
-"trimspaces.source-1.1"="0nfwqm4a7c1ks5sqypkwmffqasjaw008pxjb5spr49h3sv7sp04w";
-"inlinedef-1.0"="0k6190v8lv2l96qpmh3pkblhwn6camcq83w75rz09517bnysm4yz";
-"inlinedef.doc-1.0"="0gz9m7fwcdxs6q5a33v7n32x5jr4hbxsy4j2shwv39j1j2amr1vl";
-"inlinedef.source-1.0"="007648wrb4ar04g0851yw663cvlmdyifidp854y87yzh536hfwi1";
-"pgfopts-2.1a"="0g7a22d0ppdzcazrif8yjic19lvz143p6vwflz16p6zh88yhcdm7";
-"pgfopts.doc-2.1a"="17q1mlaql7f510pz86n64sm4m97nii72jghf75qs5yr9h9lqrq6v";
-"pgfopts.source-2.1a"="1mz5nzbhmbgzjkpkglz2w3s9s8kzrigg3wrd91dmdhjsm4d4kczi";
-"genealogytree-2.01"="01z2gfczggyhm7anfiax6w9d0da2ph8xxx13yc9agnshv1p5x28n";
-"genealogytree.doc-2.01"="0q3yd8ljwzqhnxid8xpzgd35hn80jm67vdjw6nvkad5nb2z112m7";
-"getmap-1.11"="158fwravmqda1zwzw6qzvq7lrd1xsjm9cdw3qgif2jjq6zsrnjqd";
-"getmap.doc-1.11"="0s9djdlchnp6w7wr7w2b4jj6iq3v6f8r1ri5kbp5q3hfshjgah22";
-"gincltex-0.3"="0w1pk80idhws2yva3zvlbnwy2xbrqa0dckhwj8d9sdqxn5j2va4a";
-"gincltex.doc-0.3"="0zdv33r7r6x39p80jwjxk4k2yi4rqyv9w3nzkn7si5ckw223gz4a";
-"gincltex.source-0.3"="0m1yd9b6qlbmrxqnyk7kgxx7227zy6v10sf1vw856gpx1r6xbc22";
-"gnuplottex-0.9.5"="1ck4r4inr8ac82p0r8062z3hwf9187sv43ym9586sk3ip6kqb3yj";
-"gnuplottex.doc-0.9.5"="198g23i6k5f353w2aa9f9cw6cj8b4f93nsk7iq2hvhvk6ia876vx";
-"gnuplottex.source-0.9.5"="0iz43zdvzfs7spc6zvgclyh0vjnzkwcixgk5mg2a3wrig8r4q6fq";
-"gradientframe-0.2"="0c77ymahnfqix4h3i5q8fyzra5vr1fc2rygycwsz9zrf332ca5qw";
-"gradientframe.doc-0.2"="15lf5hlw760cqwqjf91wjzfbplp5npv586k967bpzm17pkmw6pqq";
-"gradientframe.source-0.2"="022x1whvyd9gqw2kj3m8pncn0m0c839bdwysw4sq5xx9nw6ixib2";
-"grafcet-1.3.5"="0yz1f2p8dn3a1ws5skmznbd4ih9bri6r7vr6rx3zcspmad1fjg4d";
-"grafcet.doc-1.3.5"="0inzw5cw5759c4l3ikzgn0zx47b0l575yjpz2613fh9l5ys800nl";
-"graph35-0.1.1"="0xa99vmdhmh77dyr63a3rqz79mr6lxa1sq74x8d9sj041gdmryq4";
-"graph35.doc-0.1.1"="08h1v6f44z3m31qdgb4b8p2z4d331d8ccqxii85dzmih25w9jwvh";
-"graph35.source-0.1.1"="14ch24l1prmpwfv7bwd8l96c8mf0cwdwlmz37br0b2qcb4kbjr95";
-"graphicxpsd-1.2"="1fganh87hpkac141i4c8f5bw06sfhy3qs14blx466h1nmc6308az";
-"graphicxpsd.doc-1.2"="12d820bdrnlq0v6rzd72icvac73vq7b7sq2kq0nab05xsdi2418c";
-"graphviz-0.94"="1gpl57lb4wkysxdhvqajzxjb4w0m5nxdxi841dzg0sg2igchfab6";
-"graphviz.doc-0.94"="09aa9yl3zmcc5vlvjvgaxfmhj83qk4wgp4fx90bgn28kxnzhicxx";
-"graphviz.source-0.94"="1w878b21va1y0mz08wr7mgdxl09hmbmxbzfnpv2mdqyy01lwpzks";
-"gtrlib-largetrees-1.2b"="0l0fqpw6sd1gg3da8s7wz324q5bdd9l80zxg835gfw0vvrn912im";
-"gtrlib-largetrees.doc-1.2b"="1mq4pbmsfvm4y7g4ar3a438469yy6x4ciksrns05dnkk54adyyj8";
-"gtrlib-largetrees.source-1.2b"="02x48sgx6vfwbdvgj0f5b9sc0kmkwcl6jyqzv0ascc77av9w41na";
-"harveyballs-1.1"="0d3wc82qamnc2pivkr23njai42vbn7xip2rlsj4kc8p75zh9da3h";
-"harveyballs.doc-1.1"="1792wp7zx6a9f19lplca1b7pdyf8zjvqndl26s84sfv3w4fmbr8z";
-"here-16135"="1l6xh4jl2nipnswdn78378vhr41ikj7qk07j7iaqkyigk5ndl0vx";
-"here.doc-16135"="0i454862gik3jy1g3v21laf8qag2cadvapqz0mn68hl9ymly4b13";
-"hf-tikz-0.3a"="13232m6hybqv16f6v0bmgiyfqdfj407mn0h4m9wgh9pzwy3g1rmz";
-"hf-tikz.doc-0.3a"="070h5rdgfffjs8sb2gaximsqjzby2vcf9ffvpljkd3jzc8rznlbm";
-"hf-tikz.source-0.3a"="1df36m347jl9640jig0qrk445s0gxyk6rl74i19xxv567bxh9n69";
-"hobby-1.8"="02p8xxqxkq486dxz2fy3vghm9qnc13pznz84w3grn1b1cys1sbmv";
-"hobby.doc-1.8"="08q2nn1av4wcqnlacjjh6bgbx57qrc9vigb695x5zrrydcqdac0g";
-"hobby.source-1.8"="1pbzsba0z0i3zf9np60fjx0wvpvimslal8xq15pf5p9lrjq946r5";
-"hvfloat-2.19"="1575cs79d6pcnf6a2g9bvlijrqz2kxskly4771j9haa4gg9g8gnw";
-"hvfloat.doc-2.19"="0ha1lnzsy9yh6qv78wdpv9zgqyzn4dxc8rn2lb2j4nfdwcciards";
-"istgame-2.0"="0zr94dl9q3whjlsjmkcdjyhxndcj4dx0d2ynm21inksavhxc9xbs";
-"istgame.doc-2.0"="1a0xrxblfh2kz1bx3iqw908cifhh0gwvxxpxcfrvjsilzbd6hc7w";
-"kblocks-2.0"="001mn33pf532iwp3d8likhbc5a4nsgq72dirbilbdgaxqxndmx12";
-"kblocks.doc-2.0"="14qyg0sqrr5b04j2ramw9zcfhbgmc9qfyy5im9la4id4b4zxrk25";
-"knitting-3.0"="10x5yxlrnj67gzd5kz7fvnz0nykvvi26sdm7i3n3d0si1vjzvczs";
-"knitting.doc-3.0"="1zm6s0rd3zkir9vxvbc37big9ygnyhcqpr4p306vqavvmf5g7p57";
-"knittingpattern-17205"="1ydq16bmviqkbf9zkrlxsh33bfn8nmyzbbi1xwfd7nsg1bhdf6d1";
-"knittingpattern.doc-17205"="1x1bswn2sd1w19g1szc573zayk43zi3718a9yqfzqnxa0qxvxsqd";
-"ladder-44394"="0a2sxy3rvc4w4a625wa000g4mjm00d8fpjff49v08kw1ddadv6fh";
-"ladder.doc-44394"="16dg0nz4k3491mj7ccvw32r71vyjz2hdgdh4xgs7p3n9jg4jdp95";
-"lapdf-1.1"="1lfmn6axzbfk03j6f12yqa0vy3gzvw1ylpq7k2ki4prb3zwhx9sx";
-"lapdf.doc-1.1"="0h9wy3amir9wdqv0b8678mfmcd172zll9p5v7sf1l0w3zlbw5msy";
-"latex-make-2.4.2"="0xsickz9392cgsq4jrbil9k6d1xk1dlgq7d4mfmw36lxgkwgkhks";
-"latex-make.doc-2.4.2"="0asg616gsk2dv6mlz79mj9glg8w1nim58qdrwkhnbr7ibwyplxn6";
-"latex-make.source-2.4.2"="02d0d09wy1zvsqv6w8nb07b5yy5lrfp3igxzf3prxyxlrzy6zdjy";
-"lpic-0.8"="0axszk7cpnc58rs7w7pwy3vpj39l6zc27g8lfxjzkzlnc8hbnycd";
-"lpic.doc-0.8"="0hyg9v30h6n38j8a4pbqfjxkqfc9ls3hcp1cf8n8dwr3ajyhvins";
-"lroundrect-1.0"="0s44pbvm6iwl2jyffnxriqlmpp6zs1y70z4aix8wwfasx86gq131";
-"lroundrect.doc-1.0"="01ncbhr1x995763d1dnarhy56d7mq3r8k1b56whqs6kq55115w2w";
-"lroundrect.source-1.0"="1sh8ypnfq4pwaqd934vdh77svs9d3a4114vghg6m4sz5fxh11i39";
-"luamesh-0.6"="1di01y6p60r52nr8jqlgrj9sf1fcc4mhkzlf2fjx533ss6qsm7si";
-"luamesh.doc-0.6"="0ybcj2yny2ljd1kzb4waf01h0w0n1wk8r77dv4a74v60px99k6km";
-"luasseq-37877"="0z0p4a0cr7id3i3wfbg0r7p20d742980k7mipiawqs8a3b18x0g8";
-"luasseq.doc-37877"="07chcsawrnayyskhf5x4bm5mdz7c71prh4176gg18ym9jf7kpvjp";
-"luasseq.source-37877"="0jdq2nrsc1svjcbx34r6n38zl1a8nf74wb9hf9nr89a2mdl3aj71";
-"maker-1.0"="1fymg22y0w2kghmqh5pgxkrncdcbbmhhxappc72g5q337hcky0xa";
-"maker.doc-1.0"="1yz72c1ghqjs06nagngpp2q62gh67c3klwm73bcbc090vdfkw7mf";
-"makeshape-2.1"="1fy1ccz3707f8wxilh95k8sc3a93gl93qcpvpxl833mbkamkx3kj";
-"makeshape.doc-2.1"="17dnkldg0v2qp3hdy4bw1k48p8xx3v566pm088g8qb0df6kx4217";
-"makeshape.source-2.1"="1yd3ssh3cpy54gm0nkp2ah0nqarbnk9hqw2kkwdf96dj8vjlsgwd";
-"mathspic-1.13"="104vf0cbxhfbgabxjpypyx16fbpyi05k14dhw5ynmlh4rv3ck7li";
-"mathspic.doc-1.13"="10j7z7yb5fjqlldf8w5sm5kic6v842dijd7f4v0b2q5h1gbhwyim";
-"mercatormap-1.02"="1gw28rgsdllh8h9cg70nayj12aqw356svv34lhvfj5b52y7ykabs";
-"mercatormap.doc-1.02"="0v9v54qz9m9hnfid2k9xl7fwgwhjxnk0g7wndxypd73b63mvfhpi";
-"milsymb-1.02"="04r9xbgsc8w783zf8nn5d6c5fiwmzhlqdw5a36wk7l9ll2rvbvgd";
-"milsymb.doc-1.02"="14wj7l4bykfy8nsayl105g61xc8zvnrvd13mbcd1qv9x5j8vvp4d";
-"miniplot-17483"="1hl5nd6p9c1xhm1kpw9sh1s81ymdy8lxfn7wh1sdvildcvclvd4q";
-"miniplot.doc-17483"="068s76gnva6rsnd7gfwswxfam56dbiw9s9ymqr2hcqx7i4dl87x4";
-"mkpic-1.02"="0sib2pckayb4i7lxga35rkxvy05ix6idifcqrlcbmddfix3djrzp";
-"mkpic.doc-1.02"="11pj8q1zvblsc2dyd68a0nri9zpqzrp9a6lha5dk91a2aygzaf87";
-"modiagram-0.3a"="1d3sz2yxc1n3xk6haja2yz14jgcl15pp21y985h7dflk2yjflabx";
-"modiagram.doc-0.3a"="1a42ylnkigyvvkk0yrxcpypz1qlki9r4jzpy6lpky0fa6bfbl4yc";
-"neuralnetwork-1.0"="0rhvhk46z3wgz5w7xrbmlmgk2px8mvajbrrj4ygpqa58g37wl0v7";
-"neuralnetwork.doc-1.0"="1apv7bhss9ilqcm5fxwg83gxm9i8563671jcsmhkl13gcii1lpv8";
-"nl-interval-1.0"="1lrj178yhmd4ajwvpdlbsr97sg39k39b8n30wib0ww2lagyw6rgq";
-"nl-interval.doc-1.0"="0b439r5r8zzhgd5k0n1bzag3naxs2bjd6hlm3sw60viq8fs5wgy0";
-"numericplots-2.0.2"="1c127aalh7jcx9rxhsyhi2k1qdz6fg8d6qj0kvf564s9c0npgar6";
-"numericplots.doc-2.0.2"="045z6l4dmn3bzfsn7gi6bdhwvp3cbf9nj8fcs6q07vi4by71bk98";
-"pb-diagram-5.0"="07l8172hqnv9dq6qg1ipbjjbmkpv7s589gci6q82zb8a0y6kyqvy";
-"pb-diagram.doc-5.0"="05h5i0b1y03j5y0nf8iv8hb5qnq1lh5a55nn8xggx2rknnq0d1b9";
-"penrose-1.4"="0swjzbd10xvab086m7zjbxgq0jjzrxds534rsv6nkmsm3zr9qdfg";
-"penrose.doc-1.4"="1xmylw0prazylvqmqklhpfxhwy6wvbz9jln1cyd23m66297f8q66";
-"penrose.source-1.4"="1l9x5l78zcgrqf9xi1w518j6l24zbb6mh51fv3g7xcymr6miljvk";
-"petri-nets-39165"="1hi46pzd5cjvpakya2bl52w7m84xm8h03m01jfrry3vnp9hqbc11";
-"petri-nets.doc-39165"="0ixpads25k51rlb2kapxgv75w5igbnv5isn61c29qpm51dpaq012";
-"pgf-blur-1.02"="1w9p9l2nw9bf0rhn70y70h6lqqqx3qravgarmmz1z86ara26k49w";
-"pgf-blur.doc-1.02"="0fq1w85wqqrml9jzi7s2n888165pg4ds8ysvgh56kbkd2zzahnw3";
-"pgf-blur.source-1.02"="1pc8x23l6qcq356s843si16yc6yfrvdxg7v821271dndkg7d2vvh";
-"pgf-cmykshadings-1.2"="1v9cpsh206r45hjn53hvxixi3kh3l094xgj5yq9vqsviiprassd2";
-"pgf-cmykshadings.doc-1.2"="07p9glm33cz2dk4891r338z45y1wqbfbmmdk51if8jaq52dp9w18";
-"pgf-cmykshadings.source-1.2"="1fpa9iqc6rz6j9qja43yfhrcahgg21ij3jscbpsvwq5iy7j96n46";
-"pgf-pie-0.3"="1n98jvahq7sd19vxhzmg7pz6cr796k8r8dgb7p05r4znxaq5k520";
-"pgf-pie.doc-0.3"="0qlpzxpl4r8g59297xldndryw2al05sbwnsycnpv904jllypsi83";
-"pgf-soroban-1.1"="1y1c70a9v9zy8i58j19g5c8nc7f00zcdrdjmdcbm19r8vi2r09fr";
-"pgf-soroban.doc-1.1"="1r1rgd313fijmjqy468j25d55p76vxmcrgkp968riknych16y1pl";
-"pgf-spectra-2.0.0"="174in1jgiy165dqpqvm6gqwcpz2nlr6s7garwvqqrwphjsj766g2";
-"pgf-spectra.doc-2.0.0"="1jbhxjqqxkcnh8svzpk37lfnyvq1fm70zdnvvghbssy76940340a";
-"pgf-umlcd-0.2.1.1"="0dd5llczfvn64kp6iqfmlgig1g9lsryz078hz2rakjfzlhbbvgdr";
-"pgf-umlcd.doc-0.2.1.1"="086qcz59zznqg7a40l8y2hi7ijajkwq3ppfbckl65niz0rmqzjhn";
-"pgf-umlsd-0.7"="0rs0iskzhmlgydk4i9idql66sk9dyiqrglp429b2sjaw0mbjyxvz";
-"pgf-umlsd.doc-0.7"="0vl7wjrgnfz0y0pfp4izqi1528i81fssak85w1sl2n97lhyq8mkk";
-"pgfgantt-5.0"="18snhw1hvff64xq6jaq6wjdxcrkjwjv39hif31zj2r0ghsajqaqs";
-"pgfgantt.doc-5.0"="1xhls9kyhf314rrmd8r3065qaffbm48mc746lwhsrh6vmq548baq";
-"pgfgantt.source-5.0"="0hgjiy1gs8nx0211ar38qr3ql5yx32mcdvms0yibpglr2ncv4x39";
-"pgfkeyx-0.0.1"="0gh229dsrbxw6brfz5m2zz6x3zfsa03iqps5bgcr4bz0qfjl0a2s";
-"pgfkeyx.doc-0.0.1"="1cbldr5x9n649sk9dfcp143jrzxh6l4ibzndx4yr8f7id5nx3nag";
-"pgfmolbio-0.21"="1arhxgwpsw9ifj3yy36mv52r8843bm3v1lrda17r44zjf4fhimfk";
-"pgfmolbio.doc-0.21"="0kxp1gqd09q5h4ixjlfmda9jm25wd3s7dsxcqc32sw3qay4d84cp";
-"pgfmolbio.source-0.21"="0lxbszlky3q27cyzfnnvglmzim4lfjh14p62j43sj5w2arv9w3v7";
-"pgfmorepages-1.20"="0xarflkdk2xvfmmsafv1hhpdrfyddjxlqjjwps9yzzcwblpjnali";
-"pgfmorepages.doc-1.20"="1wsa6iqyrcjq7zyanjgaq6a1i5d7lm1bk9y07mz0bjwc2yv359zi";
-"pgfornament-1.2"="0hvr6cbp4mzajmqz6fyd3x7qr9b2vlwdhkpc62axgm2sww8igp70";
-"pgfornament.doc-1.2"="0i1fncv9saflkvib43jp02mh94cv0nnq6k8psrf4l1yx95sdxnky";
-"pgfplots-1.17"="0hdr9ykdy7vl2gjxakcs0wziqvpn192hx1msj1fxsa7mg29nflfm";
-"pgfplots.doc-1.17"="1dybzp5icvg2i23kqx9pp1lzmhf7vnznb88y708v2a6xm1lzf686";
-"pgfplots.source-1.17"="0sjfj0zg91s5gq8fs88p16h60zxs07nmfwshb494q2bwcsf3br7p";
-"picinpar-1.2a"="1hw5yx5pwz92mfxd5z1fr91dv3dbsqq1522xkflc8kjwl72qmmk3";
-"picinpar.doc-1.2a"="1h4z08ws3r1kfrfg2qz47zsv26hb92qv1gd3bi7f7jidczvnwgph";
-"pict2e-0.4b"="02rhm6a26vgpscasrbz25vjimlnkh9s18pq6a9025k65iwp5f08z";
-"pict2e.doc-0.4b"="15k5w2l4c9mxay416bgj745g45pqyaw749mn69dchg2pqh77yz1j";
-"pict2e.source-0.4b"="007yb70j4ay0qdls8kqb4wxf1g3672yasjjlqc10zsywc005f0nw";
-"pictex-1.1"="029xdg1c8g9xxycsbx0av6ir3pxn13pbjvwfmckrsd7gspcf2j2n";
-"pictex.doc-1.1"="11p0ypwhf7yvjmydn6g9f5d7i9jlm0ic14ljkkhksw7v19w4aahf";
-"pictex2-15878"="1qqf08yharknq6csk01jdff62mg011bryqlq5mbmjwqwh7wxs0wy";
-"pinlabel-1.2"="0dlg15b6cjykp481xn03kg3p1zqwccwnm2la710xdwf87p1k4bp6";
-"pinlabel.doc-1.2"="0jw94fl3awpyla0flmw9f72j3ssrqh1scfrbx34mxlbmnl4z3pfc";
-"pixelart-0.2.0"="0pv055wzvaj7zymqnb9zd2fzvbb4c7my1kablpldirksp1wh15xl";
-"pixelart.doc-0.2.0"="0ak3djrw28lqrc6bgmfziqcpbbhz05qi8shvlxy41l3hjiy6mycx";
-"pixelart.source-0.2.0"="0nmbvm8z8j5q3ghggkxk6y2b3syq2wyqws5n44wmsk6p3kvsiczw";
-"pmgraph-1.0"="0mrvf2r4bv4qa9pzv90ardy5ncq2kgy3y89pgr1acsm5cspgryr5";
-"pmgraph.doc-1.0"="1pizlqyb0n20apwb6rvh6yfncyxnh6vfhnvc10il9j4894rii6mw";
-"postage-1.0"="10s3lcypskq2qmlyqcgldkg4i4a4qbbqn27v6cr6h3j4z93zir3x";
-"postage.doc-1.0"="1zy7hrrwmdlr3vib8i8vliznri4p8dhfgkz0fx5qgc3ji15ks095";
-"postage.source-1.0"="0h89r91diqwc1z9wzvbsynazv5k9spg2rfvg39kzb83lipxiqwjf";
-"prerex-54512"="0nri97arzym6z3pjzidlr6svyk1dpr4yrlgqzh2jcsrqhwliifwl";
-"prerex.doc-54512"="1wcf96nc4zvmydn9d628s9bffq3lnhnllci0v9pci03cs5p1zscz";
-"productbox-1.1"="1idarj7sxqkqzlnwaqv9f192r228fclilz01fjy444ly765k0cbk";
-"productbox.doc-1.1"="1pzba2ymna70gflrnw6hs35dgkv17qfjs8gh4g6van44wjykhfvg";
-"productbox.source-1.1"="1fnqp2sx0wmyd9130j5zbqw2dk1nkajp4qs46qm47b90wga8pkkj";
-"ptolemaicastronomy-1.0"="13zs1n17jsiaavw98g2ggfrmb4pbd48qscqb918shai2ffkpx8lw";
-"ptolemaicastronomy.doc-1.0"="1r0c5rixwam85wchqhf405h7mwim88616ycy1i4zv03hby18156a";
-"ptolemaicastronomy.source-1.0"="1aacl5pvqww0j2kvk7k5ikn43qhj2pqsxh47kid443g56hclkzwf";
-"puyotikz-1.0.1"="04s6878wblhz3m7xc7zgqv0ziwx76r22c4sa974ismfqjbdh6xdc";
-"puyotikz.doc-1.0.1"="0wikdmv19kj62vc5bd0n2dl91cqg44lwlfs41nw808hnk96a02q3";
-"pxpgfmark-0.2"="0mkcc99fwi8n63fghw3mz2alhgpakc3hqyd40s2fpwisvh15rbbr";
-"pxpgfmark.doc-0.2"="16sapygswd6mr0pr04c86jzngw6gdf62bgv2xlrfzfpq7cnjafxb";
-"pxpic-1.2"="0ny14rjzj9vidwkgkcx1jn66m3gk1ppbr62vafgcfy8mlrj6hnjv";
-"pxpic.doc-1.2"="1d0f0zqq2l774rv5f6844xcfci9pls428i86xy85z3hgfmjzcjh1";
-"pxpic.source-1.2"="1fk1mqscrz7la2b6pgrwcsll6pdm9p02hwgkca2yjjnfwdz5l44b";
-"qcircuit-2.6.0"="0vxsppwbmhh03mq9k3zb2hgl3628q4i51dz98j2s73z19693266a";
-"qcircuit.doc-2.6.0"="0571vlvpvmpjhjbbrd1ybzckhfy7ymralr017d09kf9p5gk0y677";
-"qrcode-1.51"="0vs5sg5hch0c2rxy27yiy1c543l2fnqinr8nvsyr288fja0pfrig";
-"qrcode.doc-1.51"="1rmwz89yxlgrypmki8xanqc3xxm10m9zc2shh5r0fzwmsfssri9r";
-"qrcode.source-1.51"="115wlgvpxx0vkb9d4gfwbqamk7sfmcfd11hxbfr8khd5hv8asvpi";
-"quantikz-0.9.6"="12g2vq2sckjidabs2ivi1r87mzj2rvqk89632szgr8vccjjk7yqb";
-"quantikz.doc-0.9.6"="0ckdbfx2fz0kjja2sanhmmrr61ald26gw4v5d4fw4bqrph8mpbq9";
-"randbild-0.2"="07ix44c2zm185byn868bmm6fcbwq9q37h31brfa4839hpklg41pp";
-"randbild.doc-0.2"="1cpyzrmswxawxk6x2vfjy7y8qj3mjrxgmr9lgjvz11f5fvvdb0i0";
-"randbild.source-0.2"="0yzz5awhhw52zg877nl76410a4q6gy7mrri0hccicj529kk0d1x5";
-"randomwalk-0.6"="10ivivbyrxm50svqdhv9lm623pvmnifpwpnbhpmx2nvf4crxxbcm";
-"randomwalk.doc-0.6"="1lvff00h8c2fxyf7if1d2xqkk87lb6396w6mb4yfxwsk0j8j2jhf";
-"randomwalk.source-0.6"="169x0wy0k91kmfbisqh4ciz8n4knhkxmz2d227gzwbf80sr2a80y";
-"realhats-5.0"="1afqmzxnp3bagbhwp6xl8155snqh29r60iy6vaqk212nr7l66jfa";
-"realhats.doc-5.0"="0h1n9p7pzdj38cd1s6s1cw784xrhkidrdangn2zfk8sallj0xv0b";
-"realhats.source-5.0"="13knaq4jzjd3f6fhvayfzva61svkra12z4wfiiwii5wdk60pi0rm";
-"reotex-1.1"="113nfw6md0v4522n54q63smd2g2iwm89qsqld237f32r3rdkbcl0";
-"reotex.doc-1.1"="0lapzgfp019a7qihfhf1cp2szwq98j8kmcy80c3gf1fa1x0c3x1q";
-"rviewport-1.0"="06nc81iapfymbp0kxfk0srpxilfhk94xwhslv6az8n5a3bvp2mq5";
-"rviewport.doc-1.0"="1m4xvkafdf2skhclg60fjgvyd6vd5y9jrn3186q0hdi66pa7dl66";
-"rviewport.source-1.0"="1hijca49b0cvh3w8dqwng6wdssmg2fjjj7ga9ifmziznb2k4qng6";
-"sa-tikz-0.7a"="1hmxifd6zkq4scfwybz0j4za911r76v56pczgym1shx8lqadsjcx";
-"sa-tikz.doc-0.7a"="16yjn7zpfwsnwg0mpqzwqrlz6v2bf1gf7qd9hhj28kzp0qgdnka6";
-"schemabloc-1.5"="0bpcrivkkwqb6kg09rkwhqzmc101c64g1j5kicfp11r9ha1fbwc5";
-"schemabloc.doc-1.5"="0cvbwk285i01brrbpalclm0bfhxs4hnngrmn9aw42ywdi44ls624";
-"scratch-0.41"="1gd2yq2w2v7n3kfsid71qv2v5q1rvpfm49rsk4815pk4k16kxhg9";
-"scratch.doc-0.41"="0jhy08h2v2qf3p8dvh8mz5yqqrdzxnzlx1p50ng7xn88d9ihpqdb";
-"scratch3-0.18"="0z7adggc9lc9j98ljpgfz36ys0bz2119cmfxdyx8gljaray22w70";
-"scratch3.doc-0.18"="1687l1infxryaf6hngfgm72wx2xqzn48ka4si18x4acj79nqipz3";
-"scsnowman-1.2d"="0991pn476g7pqhj6njgyal21fn0k5ig3c0bwzv2vfric6v52nk9g";
-"scsnowman.doc-1.2d"="0kn1dhgq8qkfvfhg4ip2zsz6x3w31ax92nwypcg9scd1p5s125r7";
-"setdeck-0.1"="149m9s33isx98vkl3498ywjy6f9q31jkw8schc16hxxm1z0jadnh";
-"setdeck.doc-0.1"="1rp64i0nrrxn7l2g6dlcmfvwbq3rg62h2ifxrzfp3k5ifnlkhpz1";
-"signchart-1.01"="1qg1r76v1llj68iqk5imp7f63774ky68sv64xa6j4w52jkkswn1v";
-"signchart.doc-1.01"="0scpaw7l26fcqylcqspd0g5va331yf88a8wc69diw78haywwgp4f";
-"signchart.source-1.01"="1lx77qldn3d23dvs11giircs2pafm54094h6ipxlc4g39g7xc0zl";
-"simpleoptics-1.1.1"="051635sr8yp7n44hw9wza6hw0b4av87yp42wkxwq0rshxldqgsq6";
-"simpleoptics.doc-1.1.1"="1lwk3qq1rgkgi7qd8qxdjjfrnk44c1gj4vl01m1jl181dxjs7lp2";
-"smartdiagram-0.3b"="0b9rq06c0xm9dpd6yljvgay0p7xpglpddw10vlf5c50wma4xqjda";
-"smartdiagram.doc-0.3b"="1gkgpgnsyxv9nmhnpalshf23g0iz7bcp4agkh7l368j2h48d5xmm";
-"smartdiagram.source-0.3b"="0chpnchdqvljj7h44ybpkln3b7kjzr7b18cj2qhj66ng9cwpywwd";
-"spath3-2.4"="1aq6vfhwkvqgjbyfv7x29dwr5iiby3iswsbw33pj351hzjp78a9k";
-"spath3.doc-2.4"="0xbhh91d0rwzhjwlmnrcszva6z4h8cnvnv6di31k6s5cs0akla1n";
-"spath3.source-2.4"="140g4blf80szkkyc7l2lpz8vcd1q32slha9d6wh4f02akg5kx157";
-"spectralsequences-1.2.2"="1sgrasl22ifbmgl483kg6zaknabwjszpjrjfb8jx6ii2ns6cvgd3";
-"spectralsequences.doc-1.2.2"="1k258c12k1jm2ignq7h09g4y8i3iq8k5wmw1dyi6ppwpc3i6fpd5";
-"swimgraf-25446"="065y4xxg85kdcv3gwp4xiqd1xdxjkng9xkdyvlk61zfjv5pks03r";
-"swimgraf.doc-25446"="17qxnzimwb828pby8mx2xlmjd2lnnpd60rdn45455x8zfxdll3s1";
-"syntaxdi-0.8.2"="11l8609xj9gz2zkd6b0ah41lgw4qhrvdjj47vwpzb4sb1sirsfgw";
-"syntaxdi.doc-0.8.2"="04hnwc8hc4z88wxrp81balza27xjj56ymv4wb8lvl7kg0087ldw2";
-"table-fct-1.1"="1kpmd1qynxq29aanvaanq35ihiv0d55k6wamxdz3lssicrn3f2vr";
-"table-fct.doc-1.1"="06jr9wmjppzd9m0d8hgmchnf78k8r7cxiqlyf3i6apdhjf6hcxiz";
-"texdraw-v2r3"="14vg45kci5pffvwdqnnb0dv3fznfaay3rg0fjiwfill24ifms14s";
-"texdraw.doc-v2r3"="0mz605k5n9angywvay4nck8ixq36gpbmixqa742a3ch2cr66ddkw";
-"ticollege-1.0"="1mivwaf3ngmdr1zdkl9xif1rl4fy0b062r43064645idpkk4120d";
-"ticollege.doc-1.0"="0xy35cggk34ziagi1m60ymckknls2wwil0wdzlswn0aw2zca9lc7";
-"tikz-3dplot-25087"="06ij3bk1aham4iv0wm14z9dhcq1v60qiv9n6idfcmjqz6m05cdf8";
-"tikz-3dplot.doc-25087"="1mq9drqg2z9khxfylsgpz32binla5abq88938jcjk9y21d46r31h";
-"tikz-among-us-1.1.0"="1w2afhv7qs9n77bfy0mybg59hhca7vxzmy831rzj8lxlzlla21f5";
-"tikz-among-us.doc-1.1.0"="13bkmfbwgjpw0q2d5c2wi6hlz0v634yiq220m7y1zh25kxnn69c8";
-"tikz-bayesnet-0.1"="1sdal5mq1s3xkklj09hy0j41xymprmh78z3923f55bg0kzdc2i0v";
-"tikz-bayesnet.doc-0.1"="0kwlqx1bys43hzwpwj8snrn5693grfih18fcw3d74a6x7s5k0h8m";
-"tikz-bbox-0.1"="023xrf65s1c4g63ggpmsdyckp6zspgjz1ad7pk7jf56zdnhqaxb1";
-"tikz-bbox.doc-0.1"="0ilj988mh0w1ws8ancnxsz0ig4s5k0yi3ywihn6vsk3z94k51yfm";
-"tikz-cd-0.9f"="0il2dpd5fmwvvhmzrq2zcdxqbcl4jsq2gh06hjq90mf9l6ybrgvy";
-"tikz-cd.doc-0.9f"="1v8nhl4q48gjig1z25ba73wwaxh4mfpfl8di9fsrcdisdfdvqk6d";
-"tikz-dependency-1.2"="0v471rprwnqlhwvx0lqxvpsgh8ph16lbvrpcrynx2hx71n9daqla";
-"tikz-dependency.doc-1.2"="0h3mnxwcb1k1ilw9pi1xcwmryjpci0kwlaqfxx2i8lcggsdrxfxi";
-"tikz-dimline-1.0"="0mp6xg317m0dkrw73609xdn7r9hbf8bdmyp0bdj2xzpynpvxisxd";
-"tikz-dimline.doc-1.0"="05rikgrm1f0f0rx7ir1nn4cy3a93bwrck2xqnms26dg4dqddnrbk";
-"tikz-feynhand-1.1.0"="16bb4h6wbmyv9mz68sywgw18h2dcyxkmkcyjjshkbagimf3ikb58";
-"tikz-feynhand.doc-1.1.0"="15h182ywc8ihahv76khphah6awpahbsrdi0hin578jmg1582rzp4";
-"tikz-feynman-1.1.0"="1kh3riwk5iksldsg6ljk27lhh6fka473k958q9781m65isdzhwa9";
-"tikz-feynman.doc-1.1.0"="0cjl1zvn2q39khh4afzvh6nh8dlhrkd6vn3i8n2ywv4xldpb2k0b";
-"tikz-imagelabels-0.2"="1xg2malb3ybgcvmr1gksgg93i4d8fvr7pqjky1b98n0abfxybxv9";
-"tikz-imagelabels.doc-0.2"="1fqkzfbbm4ckbjpgjrg5fa9ggam2lcy5gzvnhc4njyjxwx1hjcsd";
-"tikz-imagelabels.source-0.2"="0cqcbwccfq65zsbnkcdjfqwj9h8ndjhan1ghnzp9by8z41qj2fvv";
-"tikz-inet-0.1"="02xbywhzzkiica13d2dzingz9qm2v1w3fjrj9kbjn9q9fmw2xw64";
-"tikz-inet.doc-0.1"="15mvq4gpd22nah4p84dazld4ncdshygmffz7sx42s2zqyjwrm6wi";
-"tikz-kalender-0.4f"="0lkvvwzfilmhcamy00jdfrwhxr75d3jzppyhvvb26ymnzm6v1inv";
-"tikz-kalender.doc-0.4f"="1pxc1wii1hqmhr42yskil16ahjslkn7y6q8qj8hbq85y7ymm3lxi";
-"tikz-karnaugh-1.2"="0qabbn2hs4wp5pkzpjrr6g26nd8qmykljy4j46snm36ixj600lfy";
-"tikz-karnaugh.doc-1.2"="0z974a95hc2z72brn7nd5c42b2rdhf40sag725m5bi504v1sz0gs";
-"tikz-ladder-1.1"="0a1bbsfk9dqdmp5y3qgc2i9r9fl3wdj4fbag7yisxlgrh447k4nj";
-"tikz-ladder.doc-1.1"="15pjhbyfwr6029bnkilx35wz1nc07440zy6w0wg3fhaa1ynn5jnn";
-"tikz-lake-fig-1.0"="0miw1aws614ffb4q8szr6zh5rb0216hz1scl50ambx1qv97azsgm";
-"tikz-lake-fig.doc-1.0"="14yb48ylr5rv4n6ikqh704vvzxx8k68l8ww2vnv9lx5nl2nhybp7";
-"tikz-layers-0.9"="1ym859l9bzzd2rack9kcbckzbpmqxyglaa0jggpf3hlbsgzy33h6";
-"tikz-layers.doc-0.9"="1lnlfl8k4czvxz1vyfmnqk3k1arc7jpw7cbgrnh5xbanhvyjfzl0";
-"tikz-nef-0.1"="1i1l0rk7k6kc9vyx9jbpj25bkl77ml5ay1wvwff7a51rr8c87s99";
-"tikz-nef.doc-0.1"="1nsbycqfai72xbrzy6vz7lzpywdavbcyz7x3h1kfhby10s2h136k";
-"tikz-network-1.1"="1mf196mmkg097slc5aslpjlpih2kdq5wkmcpznsyhg7s20mf11yy";
-"tikz-network.doc-1.1"="05dzfw2x5j1i3534qmhp6wcymba5mwilv2vf7vrw5fmrgd4h1gy2";
-"tikz-opm-0.1.1"="04ch55a4jvvif7c74s8bbsq0bkw3v3zjh6wdlmij30cfyxn114jg";
-"tikz-opm.doc-0.1.1"="0ajrvamsj1is4lh0xf25wjylnjg8kd02b7kwj40nq1kawnp0hlxb";
-"tikz-optics-0.2.3"="0r5z7vp05s92hk87m01vcxfa0kkvfmzxyzfx397b3lwmlavzws8q";
-"tikz-optics.doc-0.2.3"="1zjlpblczvr9390fmz0vh8zf0pbf1zc4d01l4ykhdpvljf7ndrmd";
-"tikz-page-1.0"="0971kcdlavr24lkf9wdzgwb97cf952iw1d5ls6zz7fsfj6pigqjn";
-"tikz-page.doc-1.0"="19g4b944wzahnabpw2kighd1vr63c7im3xgcjz3l53yrz89nhjmk";
-"tikz-page.source-1.0"="10v67pn2zvpxl3817h1rvn0y4wb7dj07p4nv6wf1jhchgvmb8bdz";
-"tikz-palattice-2.3"="0pfp30l373li523l0skr52fa397h2wkizvggsls3kv3p087j16an";
-"tikz-palattice.doc-2.3"="0krdfwivibibgpxsjnlsl11yppmsynanj2lgf892izxj2m3hld7d";
-"tikz-planets-1.0.2"="0gjkapcls19839jrjimshd3cqdl9x0ld27i2d51s7k8f0rcakkmh";
-"tikz-planets.doc-1.0.2"="0xx18gdj4r9jj7qvwlrd237nhcbazprhqgzn6m6cy8m36xy6yc09";
-"tikz-qtree-1.2"="1x638b7a71mwlcrn50w86j649qlzjm121ap6jgccr5vck6q9wcms";
-"tikz-qtree.doc-1.2"="0khnzjc78v1p8ahyii5rsqx29797jv3ycdan2d55bvw87p4iyrra";
-"tikz-relay-1.2"="0lyln2ifd27njc497kndz6wr2fwz1i3j8vw6b8f7ca2qh71b9zcz";
-"tikz-relay.doc-1.2"="14ds9xrf62zl87gi7w3kdh0lw8bqkvg92b7pjjab68aqs949k1zj";
-"tikz-sfc-1.0.1"="0kkfds07qskfbd7yxfyc6spylnd0nnhjyfa8s7i44y4d2x1skik5";
-"tikz-sfc.doc-1.0.1"="0b5cf8kcchp8h33x5ih1wvwdrgdhbkz589d55454i1470b3h4f79";
-"tikz-timing-0.7f"="145r878hxqfx1sdn4hdagmcnfx8xqcihfz775zabn5sbzki87ywq";
-"tikz-timing.doc-0.7f"="0na0rjgnala2lyww8chnkqyp26c1y2siaj7gqh6h8fjpi5bpamdf";
-"tikz-timing.source-0.7f"="17wzwm58194p5jlwb74z30864q7nzg9fi4q4dbcp26b3p6kn5cxs";
-"tikz-trackschematic-0.6"="0bvl0ijxkq1300n35dnq6hnc23d2vb6538bqf8adqwh8981iahz9";
-"tikz-trackschematic.doc-0.6"="0xivh3nr8z7g29k9rsxib2qs26ryfayhzv8hbiw44zmxkyicp5cc";
-"tikz-truchet-50020"="00yf9044lpsazd8wnmcz39lnazrxpqd7lpyr8ss24gk9gm33b563";
-"tikz-truchet.doc-50020"="1vlsyyh7xj1fn6wkafh7ps4ys439n1lmvmgk63pya18laxkphxxk";
-"tikz-truchet.source-50020"="1zbp1xb9sbbnr4iiqgg352ymn9ybfmkwmwd49r1ws3w7iy3qdvrz";
-"tikzcodeblocks-0.13"="0q10q8gfbdw20ysv40pj9c1ks4mnb4dqvvz39fvyji3f4s4xd60n";
-"tikzcodeblocks.doc-0.13"="1imd5qf95ykqs89zqb32yg7p61in242vkjx5wv6r2xh2dkjpvv9h";
-"tikzducks-1.5"="1sdryfjchphbk6w838pfn7ddqxg5gq4hgh4k7b8k99avnxkckll7";
-"tikzducks.doc-1.5"="14rmpx2xwww8v0lpdgv6nz0kp43w1wlxzpr3i11gi1didd78nbm9";
-"tikzinclude-1.0"="0s0mhfshfzl28z6lgwn7f540pbmdxl51gqf7nw1s88738mx3m4z1";
-"tikzinclude.doc-1.0"="11jj75nnzw9m3i6nndbfscllfxzn5bd636s85q17gds03jbqkhfc";
-"tikzinclude.source-1.0"="1v1bvpfqhvn3hp3zjx3sqv4kg288aviy1b9zl3s8r64zmai86bfy";
-"tikzlings-0.5"="19gcgnccnfy6wx449cmwgbvbwmh36iggap4pc801w8060662j7yh";
-"tikzlings.doc-0.5"="1hsvpnvnrr9grrpvqlssvajy8v1qi66pw9hil0pwq586g9sy11ld";
-"tikzmark-1.10"="1y0ciyb31z8cixb4cqzh0580bqjalpdy95nqspwrn7l7zgcf43y2";
-"tikzmark.doc-1.10"="158lkrd42j80wz5fmm0v59m677rrvzyxsgz63d0645qs0wcjr1cn";
-"tikzmark.source-1.10"="16h9ddm3i5b1nz2f2a835p6baxl4wdsckd6hmampb54163i00d15";
-"tikzmarmots-1.0"="1m33y48cs82f2z19gwhr89qyaa9n5qlrps9ash5ijjgra9dkfj8q";
-"tikzmarmots.doc-1.0"="1jp10kd7vpx68z9i1j1pk904yjb078yr60hkfk0vxhwhnpychlgz";
-"tikzorbital-36439"="17g4bd556kkhrxir4c2q6f7qxa8rigkf41dj979nb5k3a7w4k3b4";
-"tikzorbital.doc-36439"="0h1s5dnyv8n4hv608c5rspdgy2h10ilqknddai779h9biwhfzh3m";
-"tikzpackets-1.0"="1kidqyd1d7wvs1f3cp6ixp397ipaj7jd19djhy3q4dvbnzq1xm4b";
-"tikzpackets.doc-1.0"="0rlpz3m4vsyin6ckyjkxjp9a40gxhhi44z18hrw2blmp0mg011v5";
-"tikzpagenodes-1.1"="197sijaabaa3sf5syasf4ciwz8hkgy2pyr7lp78gzhlv950drghh";
-"tikzpagenodes.doc-1.1"="0y9ik1r203inp74hx4xznkypw0p88zhg9fq6b9205i053vvla239";
-"tikzpagenodes.source-1.1"="01bjvk944nlld4zbrld35n45dzljqf1rng83y14ipn3wcdxa0plx";
-"tikzpeople-0.4"="12i0m8jilbl8ldji9xmxm5hgsl0bd5vkjly1ykmj6w2rzgmjfbbp";
-"tikzpeople.doc-0.4"="1a3cjadvnrv9hslwgihxv8z16awkikinv44zcj4fd5drnqjsvcrq";
-"tikzpfeile-1.0"="1rwv1i6yb0jd5gw16db3kqar4ykzbwcyw51hv781iz358hgww5mc";
-"tikzpfeile.doc-1.0"="1530vkp14lpv0hnv8qcxalibsi1pkcj9xp1pa87lisrillxs7kwb";
-"tikzpfeile.source-1.0"="180cp8vp26shmnjxg9qs9n28v4xy0qhqgm1bvbkqrpagykzzhsrf";
-"tikzposter-2.0"="1r6pia3sjl9xcixnsr5pk8cma4f18mvpn60dxmpzpn2nn1sk4p26";
-"tikzposter.doc-2.0"="06vy5vmzrqhl6zk6z9a4kyqfvjqc4s9pslvl9zfl17cdqsfvbdf6";
-"tikzposter.source-2.0"="1idiz8izn9m9h7kyiavw836v9x1vzg58vap42wpj7yd74izwvf1d";
-"tikzscale-0.2.6"="0h8hpk0nv712vydxrzyhvqxrrqb34hw5qjgq9baagqj42ka06qfg";
-"tikzscale.doc-0.2.6"="02sz63v9zxr58417jn00ypm3myga7x29q31xbnz7p7mmq5q1r94h";
-"tikzscale.source-0.2.6"="0rf6rsrcpapmhz3q5wkgcivhvswy1kb3mql94xs372qc08bxsi3h";
-"tikzsymbols-4.10c"="1q0dycjw1njbwlji717k2n9dpmmjk5bwic12x9zhywx8hily9cg1";
-"tikzsymbols.doc-4.10c"="02gyp8pgl5c08jyvmvqngzvpbvy0g9pac3c388i9ky1vm1ylrrh3";
-"tikzsymbols.source-4.10c"="1q62sf2mrx29xif25imb8qnpxyg1j61nv3wnzyyairry74s5w89h";
-"tikztosvg-0.2.0"="1ic82cfsd0zc478gvwkx25lwxyvzr07hn8hg70j60d602ml31d2h";
-"tikztosvg.doc-0.2.0"="0asjk337l699bkv1jchmpvcc5jnihcill8yzasgvmvf05i0pvzaj";
-"tile-graphic-55325"="1l87pqfzgyr8apcs9f2gssf5rh1mvknkr5jim98zj5f93ca5mjpq";
-"tile-graphic.doc-55325"="0rq35cpk9l7rc30l1hk55r7x07f96ishr3dzdi7x4d50gv7675ah";
-"tile-graphic.source-55325"="01xqc704g5pqwmlfifzvv61nypgvnabxv6xw7ljgv9vvpyvfh0ni";
-"timing-diagrams-31491"="04yal5fdbwwdq5i7frmvxm0z7zy379gpwbc5383xn0nfdyzrq91b";
-"timing-diagrams.doc-31491"="1w3qzl1j3viaj6qi50qcyx51w2ms23j27p17h526iz11x39w0gw7";
-"tipfr-1.5"="1a9vj3r5b15chzyrpfd7rn0f19qkq9lqklzxvzm4xc5b5n802zbw";
-"tipfr.doc-1.5"="02x8fikl1vnirfcrw42xq2cbkf6wpciary55xyk6xwnnhh3abbgb";
-"tkz-base-3.06c"="0bff82v1gpdjyclklkfd1ns90dinwdhlr7k4jr6amql1vqh04jqi";
-"tkz-base.doc-3.06c"="0hi30szzssy594m6i45lk5418a23xhb689j353dxfml4rc9hgm2h";
-"tkz-berge-2.0"="1c9kgzsagh5ww0zlwywpddwn3mx0wrf8yc627gjap3f7nyyvixn4";
-"tkz-berge.doc-2.0"="07bsfmh9qyn8q9z4brd4si1clmw7sn2vh2nr8idqnm1z1jqdnq40";
-"tkz-doc.doc-1.43c"="02p765y97adxc354hn4fw40hhcx42j3xavxjyv5swz8jn26dys19";
-"tkz-euclide-3.06c"="1kcd294pqi2plkgs9gs2lp9n5baca62l2yzkmj53wk8ql1028886";
-"tkz-euclide.doc-3.06c"="1m95b6bz31fcbwyp9xvhqw03abw1x2jbd9wsglkgdn95ggvjlarv";
-"tkz-fct-1.3c"="03rd7731f4kvln990bbjfy3xhjbprplyxwwvnvr97ks6i504phfy";
-"tkz-fct.doc-1.3c"="1p47gkq52l1kh1mvychjyfrzakrpckcb2g55gxg3pnglqbj7p5ca";
-"tkz-graph-2.0"="08kfjaniwrlw23vmz24yq9gbdks9fwcf0g4jyy98ikfqh9phhhs9";
-"tkz-graph.doc-2.0"="1drk9va3bgq62qfkcvp5z30gvnscl7mbjz66m27wmgagb2ki2f0q";
-"tkz-orm-0.1.4"="020bi7dgjipd2ancqji6fa1zcf9lh9d8n4zbacy5l5nclxfiphcl";
-"tkz-orm.doc-0.1.4"="1zgmsl11cf4fgkfilflw8c4wrcfwnvk1f88l90hwgclfj5q0ashr";
-"tkz-tab-2.12c"="142fjk2kdv02b7whr2m5a53z6b7rhh2zfv2fi55q1sy4xaa1wia1";
-"tkz-tab.doc-2.12c"="1p0h1l1jca83j27wa79ncjarczissgp1jh9f9ylqhbi7y5mk8abw";
-"tqft-2.1"="0v14gsk9nwyppdyvcd4ngx6mavd4sa1y8zzmjbb8gcf5dlnz2vg9";
-"tqft.doc-2.1"="1wwvklsd7aqn36vym38m3q6gqf8fgf16axy627vdfqgg30jsml3m";
-"tqft.source-2.1"="155kv0h90zkymc6b3r1iambxsfx3y3rci6nrk01yd185ml21dvdy";
-"tsemlines-1.0"="1c7sjdrgqbjw6f2s3185k5rlkig643pkkahjisx16h0akbbdm4k3";
-"tufte-latex-3.5.2"="1azsqa3qa1w2k0r4sp83xp9b7g1xjw47wv9l0sk065zq0bdjr9yy";
-"tufte-latex.doc-3.5.2"="10h41jbfmjg7p8k3m98l2jyhl7365qym844y8f38g0f9sr1pyxvn";
-"ifmtarg-1.2b"="0wxhdmd2h7rs3fck9yq1g48kyd33m7xzz3g7ixg046azai8f90m0";
-"ifmtarg.doc-1.2b"="0h8li5c5lxccf2a325p4vg7xgalzwryk8czdzcf637sbbkfhd53d";
-"ifmtarg.source-1.2b"="1yh0c42glrw5cgqk22h8lrc12lriz436wz9vrc4145gjcxm6p09s";
-"paralist-2.7"="19m0ddw80vjzm8p0z5rrd3jf9kqzq653h3jdqlnjw4g81r0z730p";
-"paralist.doc-2.7"="03kv1n9m1b6r0r5drp81hv2i8dgnlcsz81rhi4h6a3xyxnyhw6bj";
-"paralist.source-2.7"="069mn3mk34rxxhl1c1878zs61pk7asa21iwwk6r2v88yziczkhlm";
-"placeins-2.2"="1mlx2wlm5j7qhhz8q1fvxd4zvjmjpzhk2aajql3wqvamrawba6k4";
-"placeins.doc-2.2"="0libqvl13md069fjbx3gl17fyzpn6v4jk4vk5086szbi93dr692m";
-"sauerj-15878"="1bd9cvx40skqlx71hnfrnc87b2p1wrw3587fjxlp6a22yhzghhvq";
-"sauerj.doc-15878"="1swlcqm2z289ijbxnv7aib0v0aisqdn4l2bfymvn268siz58l4cg";
-"sauerj.source-15878"="0l5p9c0fl1p7gy815l5064x93msfgb6z2lnvm2x24mwfnfpykrqg";
-"xifthen-1.4.0"="0ys8yq13vhval5jg9a4n4pv7b3v11w1yh63ssvyx3pnr767ay5r8";
-"xifthen.doc-1.4.0"="1miqc1bfwi2ssl6yp9aqw7ygnars27vks0grpyfns494yimy8nc0";
-"tzplot-1.0.1"="131aj29l8crs9xxppb36pzrwqfyb6d7ch2iwch4izxjphb8pycfj";
-"tzplot.doc-1.0.1"="0kkl95g9749a6bz63yy86kf1q3s6p2dak0ndpsxdybvx03b2psj7";
-"utfsym-0.8.3"="1bkrmrd31r2r8aq2ldqvwrlx0k9pgnh8hnm0qzgjxb5mqj7rhwwj";
-"utfsym.doc-0.8.3"="1qllclbkqvr6nqjvfxkr1xdv2af6vi90sc40igxssf4d0gcbkp1s";
-"venndiagram-1.2"="1v4hbkc214fjh5wc2myqxa6jcvr6sa31c7nz9avzj2kf40kp3ip0";
-"venndiagram.doc-1.2"="0as35w7fd9xjqhrr3v3nzld9bnhz6xg7rqgs2hyzx150xndy6cb9";
-"venndiagram.source-1.2"="0ci3ajx316b6iin315z1xkdfmxbbflnj8sf2ww7gkxf853qakwlc";
-"visualpstricks.doc-2.3"="1wfri908smlw1ngqq1mjll2b80b29piicqmv67x0xs1v3kc2sz3s";
-"xpicture-1.2a"="1z3hbmqlamcm9wgwan834hggks2b73s73h3r2pppp00a1sz3g343";
-"xpicture.doc-1.2a"="0ymdwdspdhrhgyxw7h7f8nal6h0kjw6i8zicmll5vj8vbmi44dv6";
-"xpicture.source-1.2a"="1yjvqrpp7a0d3nldqidqrk2xk1lp5vbla865l3lxw1xd5b08y40r";
-"xypic-3.8.9"="1srvrq5biqczvyi7k0ilbray7ilzi6gsmvk3b2hmf5qmv8hk0cs1";
-"xypic.doc-3.8.9"="1js0fkhn60fnxgbgviri58c4q63a0ycq37r4hynxhyix17h51kff";
-"colophon-1.1"="0v8q22qxjrbc1mpsmfvdp13iwkjxp11cxs86h2b7b9rjs0cjxy6s";
-"colophon.doc-1.1"="0s2kz7q6nkwc19jyl32rzcbbcm7ykhkglanx010xfz08vgirk1pz";
-"colophon.source-1.1"="1z2dihgwd4vbk87n0hzpipm2359fwl1z13fjs4g9r5ys7iv36wsq";
-"color-edits-1.1"="0p465bc127rlm53xngrynmrxswzmp1xsivkfy3mj22h4ij6db03c";
-"color-edits.doc-1.1"="04zfa0jryyw79rz9s1c0yzr1i8zla7ivvfw701f8la1rab7z6q94";
-"color-edits.source-1.1"="0279n81xyiz4ipjbr1jdl0wipfy1lkl18jx8mbqcbwczw8k4fbn1";
-"colordoc-18270"="1hay7bb0xh2n2j9clvbn5ayz3jq0yjaixi35isdsf9ysvj81rx0m";
-"colordoc.doc-18270"="14bw1g3dna2ykyv4fl32gvqjs0n75vlfpc9icdk09l7zhdspsvfn";
-"colordoc.source-18270"="1bssn8rjrp34nm6qhmzcrcn6a0ah9lv5n94d1jxqhhaj4pmimd2j";
-"colorinfo-0.3c"="0ip7py03xrsrn40cgkl4dnj3q9g0f9fbw71c9rsg9j7vl82fdn46";
-"colorinfo.doc-0.3c"="1185m34382n9rk6w81ppb414vl77kikkhwvn78aahlyli4il51l8";
-"coloring-0.2"="1ld6gknb8a59pkz50wlil5p11mnv6ss0zsjbajbw63dg0zlwaglb";
-"coloring.doc-0.2"="18y8apbkh7yqzxrzpraqhd76k93xnvgq5rana8lq4xh5z3f7skjq";
-"colorspace-1.3"="17pahq2wh9vqwpkaqkzc3ypcz90i9qpmw7867qz4k8a87sp7wgji";
-"colorspace.doc-1.3"="0g766c50w7xpfvqpp6lxjc6lm2cyr8yl28g7n357j1d1lxgnv0x7";
-"colortab-1.0"="0hiq8wgqiwxnw1gsrymshkldspdnizcci56ihn22h0hcwz76hgzv";
-"colortab.doc-1.0"="1cj84k7cl6cww25yy2lynjrbicn0qy4y09rh6dx2zq19972fggi3";
-"colorwav-1.0"="18svrj3bfsa8m5q3hl5njc8ac2n1qw5lk01qlc45by8vd0y55s1g";
-"colorwav.doc-1.0"="0jprx7kl9vi0497xfnvrswcx5d3ij9474iq2xqvnl5yhw4mz0v49";
-"colorwav.source-1.0"="1wls4ixd2q85yawkm0brbwiiipb4avgfjgi2mi8ix1hwawycqacr";
-"colorweb-1.3"="1rz9ay86z5bf8m4j5w5prvvk1nmlaakj3g0qfsrl0cdqk7hwsfsf";
-"colorweb.doc-1.3"="0vzcwhbq1a6pczvrv21z0q3y1akfwm45fclf0857c8jvpikkzb1m";
-"colorweb.source-1.3"="1z0h3l9gdxsg6lbw7j6nqhafxq8b8smcn4nmq7ywdzryp8b6fbw2";
-"colourchange-1.22"="0y8r7789xaj16cdmsz4q0zyq9l09ihgzzgk4alnggsyx1ny45ybv";
-"colourchange.doc-1.22"="0zj9b8xcnjlvadams6a2z3pvnzjci5l10kran8mg79ncvzq386cj";
-"combelow-0.99f"="0s14rmmv44js6vc2l8h7gb9f8h5w4as71qgxbadaxw641xfs0ys3";
-"combelow.doc-0.99f"="0pwrqhd8m7c2444czsllk4sqai3i2scll94y6qy7m51jvjycyf26";
-"combine-0.7a"="0rk76f508pwhq4crcimw6mvqw40j31g2nsrxj17pld7ygxf9a5ah";
-"combine.doc-0.7a"="1kbvk5wdpjxw9slhz63pgz65kkxcn0lkr6i5gv8gcjh2w61xizq7";
-"combine.source-0.7a"="13z1yd5mb4jdsa3kjl49412zj2g0nkprmmv8d6ibnjg6zdf9s0xn";
-"comma-1.2"="1xaq59fm295wwnpls4qfw364qf9iyg97xhsvglgnnx8w7ydhr68a";
-"comma.doc-1.2"="0g8jpwf1ilkbk59p4l372is00qwhfbsf8f3db1mxysmlxyf0m535";
-"commado-r0.11a"="00by3sskyr1hfc9wqazn2rii739bhl2fhlwwp83h6wx98h51rfx3";
-"commado.doc-r0.11a"="0mk7k9gyv2xxd3l7m58dsirk32cn7wbmdy9c0nc6i1jyfpsfhmq4";
-"commado.source-r0.11a"="0719a7bp07vf5jgx00cjdgvzfnv7wbxrxna2bdjjsfyvipyr4z8a";
-"commedit-1.02"="00anqgix8vydq5ssblg5w5i8pziy8fvlva2kpwy5cjjiqgpprcd3";
-"commedit.doc-1.02"="0vvnkp8r0xbsyvzps4a20fr43cj2559cs6mq7jhja6jzvqqc6mic";
-"commedit.source-1.02"="1kzc8i6nmvw7xwz9fbfanabypissbm7hnmmgp2m8r462ywzpa79c";
-"comment-3.8"="14k4y4abv5mlhn1i8f90bxfymp9vz0aha4p2gql148wj2hh7h96m";
-"comment.doc-3.8"="1589g0dah13lw4p18cqprhfnh1184m79ddrgvc2l22bq6vb1dsb6";
-"competences-1.0"="0hijar81j2jpwk5j2hrgaxb1fnbk6qh2qb0qbbmhsqrdrfcl6xdl";
-"competences.doc-1.0"="0ywq9f2a1fb584kpvzwg8b16qc7bpcn3dzsscs6ndqbgcy0zc2yf";
-"competences.source-1.0"="01dccp2wqdy52kp79n099v9lh1vfambg0b63amq37ac68pwn3qp9";
-"concepts-0.0.5-r1"="18vjncdrbp7m7m08dnfmk6sgv79jx83bc4yvvcqb0j9mn9niy1f0";
-"concepts.doc-0.0.5-r1"="1bq82dgsl6gqnrs88dzg07dn4rmc4y5by8122zqaqpdrpjxhnvax";
-"concprog-18791"="08yr8yk9gp35d0nvh54ysgv61s062vj446fyb87n8jipfm49mj2x";
-"concprog.doc-18791"="197p2bdn1rqmxva56sagvb1z7kc8gwxr9zf612r6g8yb07xg5riq";
-"conditext-1.5"="0g6clck3v75yvg7gv42w24zv18vi5jcg1q9k663cxldix77lkgbc";
-"conditext.doc-1.5"="1qc7w7xfpxarb82hf66f3i63v7ypdybqwg5g3j8qswj1a39cy1wm";
-"constants-1.0"="11naj0z8ppb6h07r7cff0lcmr8zgc29kp3x7spi60zi6cq2546gk";
-"constants.doc-1.0"="1wgvq0x1kjgd0bs0024fkh7wis9aw9qryd7y0igrbgdgc722pjnp";
-"constants.source-1.0"="01skagh044v62vw12kmibgd6y42z5r1glrsvi9y0h76vs52jz7hr";
-"continue-0.2"="0vwz01gmbid6b2aj32qnz1xrlk9h0nicjv9ix1rvqdad20m1i4wa";
-"continue.doc-0.2"="1mzsj70v9f6srmc8ja62pph9j67p644hl54fx6nyahvr2h9vdik2";
-"continue.source-0.2"="1q835904qai3r49yi8hrfxkh4bjf6913qs5fd2dv7myp1w93j5ir";
-"contour-2.14"="0xb8a0y3jazrq5gxfnxjl7qkyaqjnmyhjshgngqcsrw2sq4j4li5";
-"contour.doc-2.14"="03rxkl9vhhqa7gpigar8w2h78qvx4k68chhf0881ws3bm6lg15sy";
-"contour.source-2.14"="17sfl4npipzgc7jwqx740nny7fnd8bv8k4vav9ds765ky1xcs521";
-"contracard-2.0.0"="1qvpz8ybjc7yx8zx4kzcpjchvxrb949rqb3905rhl61shpqv22hm";
-"contracard.doc-2.0.0"="1jg8kgp9wvxksjz9kxyh3qqxhgjmalkpj8y004qvrxna2r2idj50";
-"contracard.source-2.0.0"="1v6ffg84czajnl6p6a1j8khnfmzssjkhbndz5ajkww64iiw060i4";
-"conv-xkv-43558"="13clac7dhg2p69ccv2yjzdh64yjx02y0fb0imx9lsd0knnb1j3aa";
-"conv-xkv.doc-43558"="12dln1r2qyadxr4cy3xbwn18s5y8yxgxid22wpb2i42n5qc8j1fy";
-"conv-xkv.source-43558"="02hz64vbcy7vg363vb86vydaa29g5cgji2mfpn640dgmqq0s91vb";
-"cooking-0.9b"="053wbmf3xrhwjxp77f1myfvz3f474kpk626p8gds939yx50jqzvs";
-"cooking.doc-0.9b"="1db5wxixparr81vanwkvg097ll58fqpp3qkh0wz7mbqjkansp6km";
-"cooking.source-0.9b"="1gka18njp7ipa0jp1527mhig43hhvz5bcdpvs95c61cvjrmwcdm3";
-"cooking-units-1.46"="0j20rj1s5ip6sr90n3v72kphqg6hlvi02md80gycnkc3kl0p2saf";
-"cooking-units.doc-1.46"="0wg611s2c6x97lf8bnf2cx7gl2rddldjhy42czz2kpp7rvjzfapm";
-"cooking-units.source-1.46"="0skifnmjh3jl6008j7zblijyywm5is7k7p8nlpsx22j2x0zv1g5z";
-"cool-1.35"="1lakvsarqhicdcfx306xp94m4hsypdabr0fggakqv7adcwmd734j";
-"cool.doc-1.35"="00mqaavadqb2m2rf8j00z3dclflk191gd70qb1674pyd0a82z2qv";
-"cool.source-1.35"="12r4d15nzd3r1dxnwz7vzgmxgpl12gkq88hdzqwnbpan4y90p9zh";
-"coollist-1.4"="0hv9qi4d40vyi5shga53czm887adq9h8vmq6m0n087iijqnlxkk1";
-"coollist.doc-1.4"="14r6h8zsdwsirmpz435py6a2hsc8qkw39krp419b6v0sdnk2lby5";
-"coollist.source-1.4"="107mpivrah9m65pa29wafwjjhcql9lwhrrmn8ny51p2b0w4xs8kr";
-"coolstr-2.2"="1ivmy6jmjbbbzfakfz5ib58qg4xd2pyka90zskzcwzf5a87r22ih";
-"coolstr.doc-2.2"="0pb30nqgfijdkgsmddb14n6aviz331wab2cd32vpqsb9jnc4rz3d";
-"coolstr.source-2.2"="0fakgk7g7c9kkgd0xdm9fpcrnx7jsczddbvypwxkppll2wfsnamn";
-"coolthms-1.2"="1z62gl39f9cvmwap70q05jml1657jxg7lvq81rgqh878z63d0rzi";
-"coolthms.doc-1.2"="0zqpx1c0lcrkp1zpwl776hd8gln7i5f5m5k5kjhcwxwngd8w8df0";
-"coolthms.source-1.2"="1bir9kbsvayk3xkchg7kjbwqkhda81vay9d70hmqxgwpa0l38j6x";
-"cooltooltips-1.0"="02cyrv06a8j85x8r9s0rf1wxl1npdwhjkcxdry7p6w65xwi4m4k0";
-"cooltooltips.doc-1.0"="0z73crjs5b9wkcl5ymkrp5qsbm852ajgdabxjagvnwckxdz0nkr5";
-"cooltooltips.source-1.0"="069xj8l41anzl1cxckhikfhq8azysjs614nv0ma4da5lvczx77ij";
-"coordsys-1.4"="12vpxh6ll7q2jpsv85j68ij0m3b0335hflpqahk40dagybjkp426";
-"coordsys.doc-1.4"="1jcjvd577886q8sqzcsqil81b2lm31vjxhbdrgs38fw8n6q9g0sq";
-"coordsys.source-1.4"="0npd3qqigvp0i5zdgizm68sr1g5xcplgwfahrkak0kq4g882qmdd";
-"copyedit-1.6"="1rl23bq3fbn4rajc744ra2prvm4rmh0wvhc7jjsiw7sw2hzv467a";
-"copyedit.doc-1.6"="1ihvynh96vgl8ik237pf2pdfzclslrn0i7lc64skx3q7pmyv11in";
-"copyedit.source-1.6"="0i2pwjj4bdfsykwv6bchp2p7x0gpdbnyx37ri1d27vl72yi72pw8";
-"copyrightbox-0.1"="0n9z6dngf0z98bnzn6nl8yvy7dh1jmcdbqfxnzxarxzqq16f99ch";
-"copyrightbox.doc-0.1"="1clg6jq9cja76j5x9laykndfqp0i5a4bfmqrxaa8rp6y2gnvpign";
-"coseoul-1.1"="0wqxvh5mnrl59ry0qahxzlfajgpp0yj27h0falxnr4m5iygv7699";
-"coseoul.doc-1.1"="0l3z0fxsdlln0hjwkxf9ka9hw8zmmixml9lfy4kbrn88xq6z62yw";
-"counttexruns-1.00a"="0qmm8902apb9ks1ik1dxmzb3ivkivpj7a8f8mkn5xdyxbnqvm5pq";
-"counttexruns.doc-1.00a"="0kpasflvbal7x4r1ni3jf30fh7w6wi68109m5ajcjqrjzxkpgmdm";
-"counttexruns.source-1.00a"="0840fyw71mw3l5k5g01wd6hn41a079f83wmbyg64f4yhgjdjxjnf";
-"courseoutline-1.0"="0mwv6bslzgm5ys4gl32mxcw42gkpzwkzrvxk6934682v85qi6f4k";
-"courseoutline.doc-1.0"="1k135zma8aacd0mf6l5v4zac2blqzf6z5xa40094by61455x48ha";
-"coursepaper-2.0"="0n8gikcli14inz5q85n6k63yg6dczlpi837mbxrv5552hqzpivwv";
-"coursepaper.doc-2.0"="1d8k6yj45x0wx790y46b46nhjb3zvv2ncbkhlzckq71fsi5ayp32";
-"coverpage-1.01"="1739rmdrj07q8s9xpxarwwds13hciyv3q41p18cm7md8qrdd74xk";
-"coverpage.doc-1.01"="19hw1mx7ghigybh23b8v65y0zx28p9armynkw9s7mgpbsq0wld32";
-"coverpage.source-1.01"="0spllq6j5rxqc6a96x0dx3n7skm4gqpp6fgas9vflywiw6i5vk75";
-"cprotect-1.0e"="016z5zz8njkk2cra768jlh2s9l3r4wmn50nk3psmk3v0i0cy0197";
-"cprotect.doc-1.0e"="1wjyrb0z85yighkw9a1pxxwilp31c5fjra7y07y0v1z20q6g3rlm";
-"cprotect.source-1.0e"="0lrf75hvlp6jpwfppkj0dwv7a9q51n897bwrf3gzwswb7icvqnf2";
-"crbox-0.1"="0ni16ldwni2gyzlivd5ii2fdq15h6np4mv73raa5g76i5rw42sbb";
-"crbox.doc-0.1"="1yk96bajna3ihvyhx482jrwiccbmqdr9852w11x00xkcvvc6azfp";
-"crossreference-15878"="0xc8d3g8j86dzpfxzfcildiyk8zi2apc9af88v2zg6zjra6vra1x";
-"crossreference.doc-15878"="1iahzjwns9zapa5y7z6yy2wjdcy6qiqrqvp9q9v4ky2zgsf7n5pi";
-"crossreference.source-15878"="0yajk2dxnsfy74r6a50zs4lc064aha0lzfqp26gpgnsx2h0bvpix";
-"crossreftools-1.0"="0pdhi9yij4n6bwcwbk077sdvwi1v8ww51g2r9ssfnmvmxs4zjw27";
-"crossreftools.doc-1.0"="0q80k648b967q9gcy7c3lb8ywk257zbsw04kc2gazlc61scviy49";
-"csquotes-5.2l"="12yxrcyh0igs9khkpms447k2p7b388p2vqb5bxxmcxp6fxvfq9lr";
-"csquotes.doc-5.2l"="0m4ync4sjrlv0qccls24brba7w6zd4d8hmh7h5nbwwv2lynqxf4q";
-"css-colors-1.02"="1q3vmcppk86v2y72g47ifp129fj4rgdq3rvzgkzdzwhs1q06ipfr";
-"css-colors.doc-1.02"="0rjqim8zdmgrz5dff8bjkz9kk456l699k5nplhc8bxa6dn7yrfdx";
-"csvmerge-1.0"="0fyrqx85mklws5zny7gmmyscnsivjfvwmgwi52k3jk2c97nvsy8z";
-"csvmerge.doc-1.0"="18pmc5h44jmlh583cg0hjr24k2pj369l6ya4hqm9kwka0bhg29nm";
-"csvmerge.source-1.0"="0mggp5xankhif93firc5g01c6b160bkwqwbhc04wcm4ndlamvip1";
-"csvsimple-1.21"="1h7zdribbh96iff296dl3n69xc8cdai9xxcnf0h3wndv775wv07r";
-"csvsimple.doc-1.21"="1cvcldm2ci1y107z5bwxsrhyybqdrvvpy5apmd8zc07nn51ymlyj";
-"cuisine-0.7"="16kvfkx5sj6xp5dz0gqlbp5079vh6snkpixmphvz2gzyaqnmafi0";
-"cuisine.doc-0.7"="1mbsgn7mvy39pwq5gn7l3h6l3lc53vjyqyvc50xj8h9gs1gpdrb3";
-"cuisine.source-0.7"="1r14f44bjdry108f6iy7byzms4dybc0wi936dwkg5ahwyq07pmck";
-"currency-0.4"="0673ji0kw0j0a764kjvla157mf5lcxa02wd0ypj82gfz617sn0r9";
-"currency.doc-0.4"="0v8sfvj7g65r7iyjijimbg855rbbg5d1zdkp7vc58q14y8f34a8c";
-"currency.source-0.4"="00p52nbdv0x1v71fb0ln63wb9mxdhy7zgagbpmcn2ca3xb83m16k";
-"currfile-0.7d"="02fb49hd8dh25yf2wajnzfni0p4krjnc9scjvnzazpsq1iygl55w";
-"currfile.doc-0.7d"="0mlrlxa66jx9dqh6m7b5rlw0vd0437wyjkizxw12xqi5a2656izb";
-"currfile.source-0.7d"="0zhxf7r1hlgj133ckyk1n7ki3814z91k546js2fkkmglr9s0bpf7";
-"currvita-15878"="0xrcc3pash4g8mkmnzqi0llhix63hqk12vlwn98ipww68qnhfbky";
-"currvita.doc-15878"="16v8r2vhvb9ssmnyj4zzgv2b2m10d3zg7wm2v6cn0p65hn5i76f1";
-"currvita.source-15878"="0xrsqmaan5h60970d12bwm7k9nlf7h0flzmqhl0j3kbnclm0x8w0";
-"cutwin-0.1"="1wzw6xp767mf85b8x6i37wfdi3gjnn95xcvhyfalcbjw19d8fwn3";
-"cutwin.doc-0.1"="0p4z4yjjs0hyl2ywd1n77kzz8mwslrmyb9fy5scpn4ac101xkf52";
-"cutwin.source-0.1"="06l4zx4k2jpqj09k7qjkgq6zl8rxgg86hkyj531h78sw4190g5nv";
-"cv-15878"="1w9gx9mhg9wp47rhb6kf1w03mypydp01rxmypv6yvcrk551b5jm0";
-"cv.doc-15878"="1b16zaypfphbn9x2fwh2v0i212jx3pn84vj513lkxzzfh0if78iz";
-"cv4tw-0.2"="0nli9s73cns9x44vr2npb7zgfinnywgwajlr1k2hf9jldzm09dm0";
-"cv4tw.doc-0.2"="1b9zd0ky6h8mlcigfwj49c4chsznvbycsphs9lkpdhxv8mx9wgyq";
-"cweb-latex-28878"="0cd2rgn25s02p2ga3509pnbc70iad936qznr2yl5q6wnlvd78lbr";
-"cweb-latex.doc-28878"="0vc5f0h9mq7p9040ksql4clcb9y1dxq7s1a4gzgpsjyla05ps3qd";
-"cyber-2.2"="0vlx0r57ay6jpybs6wlc1w1qpbd62cjq3snaqplaj6dkah98kcbq";
-"cyber.doc-2.2"="007g12qa9v04z3b11cdrd9z7pc7iba0aa2g7z460i0hi2fg4gv3l";
-"cyber.source-2.2"="1kivc83wjpm2rf2myk4079f1l8pyw1pm9a2j0iqbwshic2qfm86q";
-"cybercic-2.1"="1g7iv7xyl0a30kjmrwvcz2kg6y7q3r51344nf53r6ln1asagm68r";
-"cybercic.doc-2.1"="1nman70rpgd0wqhgw84qg8acm243y45nhxd32dmh9y8ywabynvc1";
-"cybercic.source-2.1"="12pbrk2bmgv25fa0llpk6pfgmz5jljmy1w5b6j0md0ni46ldjxpb";
-"dashbox-1.14"="034nwqqbd4q99mzdd6958w6a3jcvvpvamdycda5blh7in1gwm1b5";
-"dashbox.doc-1.14"="01zb6bc407282xhfc6ccrm38jjz2vyl96h552435b6cap68jv48m";
-"dashbox.source-1.14"="1lgpiyfizg0vgfgz51wk3mhhc344gwra79k1xp95c2p6w32bgf5y";
-"dashrule-1.3"="050scy57rjz5pvwd8bbl4h32w1paigyyy7dazr33v28061yap9b2";
-"dashrule.doc-1.3"="1ryclmf2l90n20qf516p4qz02znnp5rgjx6pfw4p3wrkamnh6xwr";
-"dashrule.source-1.3"="1f05m420qbbk25pc5snh3nb4dx7bd38nwfix1p8ndngn7l9dfkcs";
-"dashundergaps-2.0h"="000fzv5a00nap8ybzyijz7kx1ky4qx418jmkmyz5nm2rpnz8ckg9";
-"dashundergaps.doc-2.0h"="0zj18ikjshyd9jdrn4a8h1l8d9kypr38kx2cfsd9gllppp27m4c4";
-"dashundergaps.source-2.0h"="0n43mz7bnf05j31p99dmxr26rl6xzkc4maxra1aavg8s19x9pmd8";
-"dataref-0.6"="0isa7vgl7ic6fckj6i40llzp0cfr8j2lw7xyl4yd3fbha332sy34";
-"dataref.doc-0.6"="1qpkfaii2hk0ycpcycb2fl7aal7wn7ynzr8hpsnvfg7xv3dkvsmj";
-"datatool-2.32"="0c4f0byqwfkldxc1430qixy52xsidzw8s78igrxxrqhvvls4ywh1";
-"datatool.doc-2.32"="07gg85s1sv5zq1n766av958fc1qqlc9ifmyz8kd99b27yf9im4l1";
-"datatool.source-2.32"="1w5rdaqnx1mrf0vagxq5gvpxskwm5m4mbj2h4xhz78p3varn2i6i";
-"substr-1.2"="1qialx52sccay00z85z001xsm62ajvbfxqxc9ps0bpmjkcvvgad4";
-"substr.doc-1.2"="0zfcggj17bf26dxihkmqwn80pdir4n216x0nhkb3v17q889q903n";
-"xfor-1.05"="0m4y0caa22fps0r6735kb9pr2f89z5a8wflzrvpbms4nh3a61zgc";
-"xfor.doc-1.05"="0c0qg60h631d3m9rqr0nwj9772zjv3ch0d2p1ksnqnjf30idydl1";
-"xfor.source-1.05"="16xp7hziirlnd507g9bjvszm90wk9iv6ankq8bx27qkyk1shhjfq";
-"datax-1.1.1"="1lmm4dg5y198p9hhkhrb0nzahyk2i2779h9cnpdydirh07j6bpl6";
-"datax.doc-1.1.1"="1d1b4igfq7ly3d2qywj0j9yjlw0lxbpnif2zq1z38mzq9w3abybd";
-"datax.source-1.1.1"="0rjyskib7g16zc3dkdw56a189whhqzrxwlw9b9b8vdld8g0rn1cp";
-"dateiliste-0.6"="0vzq9y9ilc6pnhg60psvwsand6sd4w5238rq3xhwnj2nq80yi38s";
-"dateiliste.doc-0.6"="1gxjc45zim6vykmskmhrhnkviw9i7la56d2zfyi89c5nyjbry5a2";
-"dateiliste.source-0.6"="0ks8aka4km6z6xcn6sihsff935z8kg74cyf3czk31wmr9qay4yq0";
-"datenumber-0.02"="1wc1cixsvcb6346jvvy5811my0kgpc60hrs355w9v3z5a9c2vl4s";
-"datenumber.doc-0.02"="1lhqb3fj5dazlmnnxgxk80lq4n5gbbwkcf2dd228d25pnmx7jirv";
-"datenumber.source-0.02"="16cx0wgn2mxxp1wrfb51ngmxvj9r8fmfb1gxyqp1sd5pxiwdshnd";
-"datetime-2.60"="0xwh0sl6x8fqvaxahh8356dfwqkzk8g9dkxyaax5gz8ar9p3xb6b";
-"datetime.doc-2.60"="1j8zlxbyqpdrwm3z4pgdv3gz2firffk8wwr3ih1vcgn7nqxkcd78";
-"datetime.source-2.60"="0f644wc3c6zx6dgdam4wh6ap4gzzf5qn02krp90hkqmbrg080zxz";
-"datetime2-1.5.7"="12854by3m3pr6j7s6zm8inj2panr7c9h3ngm19gzybwy7cdb34nq";
-"datetime2.doc-1.5.7"="1pk1k3rsd9h5csnmnhlwi73i6dbwhlpqmf5z7kxgy9czmarbfg56";
-"datetime2.source-1.5.7"="1n60n0i9iwh8qyhv78z4d2afsfk04k912ixjciblgnik1gnd4xjh";
-"datetime2-bahasai-1.01"="13xslpv73cvxfs9m010qnnqsrz9ncgci65ha89y1zsi87fld4xfw";
-"datetime2-bahasai.doc-1.01"="080zpliqc8wb85gqx86klrq9rj7p73m5vnka5qmxzj60kvicwlk3";
-"datetime2-bahasai.source-1.01"="1jhxyrxl2f7qnld898b1hhga80wl6b6xfhi9vd9ka3w373qgqfjg";
-"datetime2-basque-1.2a"="0m9sf0ghni3c2qmr6byjjy88f6bjj4hhpiy9c5bgisc0ccb11jn2";
-"datetime2-basque.doc-1.2a"="0krgk4krb8yglk1a0fvzhgrj6b2n38gn8kxin23p98b9928wmcl3";
-"datetime2-basque.source-1.2a"="1q9h4jli6fcsd0vqlh88khv10gd6gz0vxd4gx9ikbrvgsx9wx25y";
-"datetime2-breton-1.2"="11hd7fq61g7j7nxsgrw94hdrrn54dnjvh10rfwcn0x6ck1vxawfg";
-"datetime2-breton.doc-1.2"="1h50bi7q6gvv3c2qchrx81ybly1svzyirhdcyy2swzqda2w1x7xs";
-"datetime2-breton.source-1.2"="03ppqjw69xbkvqnjfkqj0zlxsg4m5q0cx2magq88f3wmjp7kw2l4";
-"datetime2-bulgarian-1.1"="1vx3n6n46kzcspc10fwysq7xij5dnlrv2wn6b7pkfbl4yh1001yz";
-"datetime2-bulgarian.doc-1.1"="1yfgdcr1l6qji2x0i9gs17zb5scc9p91cgyk1w6brhy5sk4syns4";
-"datetime2-bulgarian.source-1.1"="00za8skfwr1mhjpizgslppnlg05rwab3nbak4kbsqglcv0nivm93";
-"datetime2-catalan-1.1"="1lj6407mzspkhh18yxxmvk3srgdpf8c5r06sycy128dqjkix4ma8";
-"datetime2-catalan.doc-1.1"="103nx5macgfrj8hkvyyra24378g5n1x4vnxi30pjkawapwjwk982";
-"datetime2-catalan.source-1.1"="0pc165ql0aa2wdwkz8wyk4yafxr0j3vnp98vxybq1x3fwfqvipv5";
-"datetime2-croatian-1.0"="1h8nxr5n9k278pngb36sswi6655p0vq442x6ixlw8h4mirlrq9jk";
-"datetime2-croatian.doc-1.0"="1lma00vhrjkvldgc6iq5p9k2ky4cfjywxdzy897308yxrbahm0rv";
-"datetime2-croatian.source-1.0"="1xcdaz38mm09i8zc8jpfxpbs3l2n5hhv8nk5xxw108x5k8vb8fnw";
-"datetime2-czech-1.1"="0q8f1ksl8lhkfxb2si8l84l94w4nfgav1ybfryd596kmcbpf6iga";
-"datetime2-czech.doc-1.1"="1wz7sznkpk9rik6612vibk2zc832qxrq4yq09rqwp6y2nar0p3vj";
-"datetime2-czech.source-1.1"="1bism4aqd05cjjrxmsqxxpq10sw72855fk5v2wjkij62yawklp15";
-"datetime2-danish-1.1"="18shs9bi583590a50jszym2pwcwgbz39p75j4nj5g32bwap262hd";
-"datetime2-danish.doc-1.1"="0dr9jv99c51na0b4ds6ac4rc26na0v0rbjybna25fiy4b0k7dgli";
-"datetime2-danish.source-1.1"="1h71ibvmhsxi1j5h2sq1zs29d466hylm7w9pl5xb491d091nxfl9";
-"datetime2-dutch-1.1"="1s5ff3wc9lgvz8md4kwwlqc792s4dqr2mcf0sif0dv0z8ssi079p";
-"datetime2-dutch.doc-1.1"="1562fdf0c1w556mwr5gfbc5qqnrbw0f8i7dc4lwh8gfnp7skirc8";
-"datetime2-dutch.source-1.1"="0i1kv624yr4zc184vy2y42qnycsqq57349d49glxc9lh0bpc9fgd";
-"datetime2-en-fulltext-1.0"="1bnmzpll7s2pv62hafbwxcj9i0c4s7vk1090xg2zvf80d0k0biyi";
-"datetime2-en-fulltext.doc-1.0"="1szzn4jcgchf1h8bg507lmb4mzdqx60k94v84z2g8h2pv7d5ip9z";
-"datetime2-en-fulltext.source-1.0"="1vrhcgsjhb6vfh44lqh2hx22zaw5qiwiwms7lnzwism5zghdkaxs";
-"datetime2-english-1.05"="1xjjv46vk4s3drlzvs7iprw3zhn1zk30bwi2dgczjqzk0fxyiql9";
-"datetime2-english.doc-1.05"="0iyq0385pj2lqmd5rwyanry6brbwrii4zg2jjnhp2ib404jwjqf7";
-"datetime2-english.source-1.05"="00sjzcpsp9jjfn9fnc1fmq19448qm0p0ggi2yy7qmz426mqb3g7x";
-"datetime2-esperanto-1.1"="05691xa25qp015w0cm5mzi3qrb88hlaq5jxjrxqgid1ni9rpgwh8";
-"datetime2-esperanto.doc-1.1"="1c0dhq8ll04pl3ics7d3p8r73mdawnyridapfr9540cs2a1xjjbb";
-"datetime2-esperanto.source-1.1"="11xg3v8dk7aiv9ms4nggsm1xs898m0zzi7lszi7jx8pcmxqnz851";
-"datetime2-estonian-1.1"="0vdnvfswgm92ncrkh11p523s6vczz1vdxyjqjl9cpm1nfj7wp14j";
-"datetime2-estonian.doc-1.1"="010i5rcy8pc5y16rwhpzzywlyna031g6s9xsdpgg0avci1yvw20h";
-"datetime2-estonian.source-1.1"="0xsgj8l6hipdb0f75ckqw1h2lmdkjxxgz0mw38pc1kg6sr4r3sdf";
-"datetime2-finnish-1.2"="01hjh5lmd2461n0g2a67z31h80wcfj14b9y9amxkx4k01b1268li";
-"datetime2-finnish.doc-1.2"="1cihjhhm37f38rknm45ndli3kmgrb1waxfncl1fg9l95hn929cnh";
-"datetime2-finnish.source-1.2"="0zi9ydsj0zjrg3c7618fxxabas6zhvdimbsd42n8fc5acvddhi36";
-"datetime2-french-1.03"="0iznh6qv41xcaryyh70lk26rmrk2j0j3239hib8g924zqgyi83p7";
-"datetime2-french.doc-1.03"="0f1j72g2xqaq64wi1jkllhkpxbjm1j3d7wraq42x13giv72g95w8";
-"datetime2-french.source-1.03"="018a641mqcpj1maqhpcrp09msf9rbr8a5nd16hk8c375sh2lqpap";
-"datetime2-galician-1.0"="1g5qmiy094yrid6jh3xvy783kq331bzk0lqzci7jsb2izymz0lqm";
-"datetime2-galician.doc-1.0"="0im51qyxg5dbc6p1w3k4vs63d7nyyipd2ad7z9czlfid0n4ywksf";
-"datetime2-galician.source-1.0"="0j4i3b3mp1bpqir7imsfw2y1098ak0j8zs7gjhm16xdrb4n1xhcl";
-"datetime2-german-3.0"="1n7s5fj27rlz61r63s1mwbkxm62ddb2izz7ip4fb165d0bbba8xr";
-"datetime2-german.doc-3.0"="057p9xgdbxq31ff43qi7lr4wy17nk625dnpczrinfd80xn92dhsd";
-"datetime2-german.source-3.0"="07dv92w3rfg0xi6d8n6ykp0rn4pj6k8knp9sx8an9bhzmwqw2yw1";
-"datetime2-greek-1.1"="13a1lpvg680881xpgphzni3hcdymvph56mhgy0jbsri14fw0mdyi";
-"datetime2-greek.doc-1.1"="1kkl386rd0h5psr1z4aw32r7m55in62hql8x9c8njzajm5frhf44";
-"datetime2-greek.source-1.1"="0kmwn8mawmxvrgx5d39j92p3r1nlk1z378z1h2lx129yz4qbsv56";
-"datetime2-hebrew-1.1"="1b04g9lm0g5128phix3mnx9yphg07ig7p9d149rw0b1imly7f6mv";
-"datetime2-hebrew.doc-1.1"="1lslls4q5j1l9a5m0gzv351jfc93ii0zzcb62p3icq2qjig3rz37";
-"datetime2-hebrew.source-1.1"="11q13hms2mnqyxg6hc3279a8hs88j2d7v7wl90v5avwgh8923q55";
-"datetime2-icelandic-1.1"="0qdzn3sg7wamii3gkjgq7sas1fb3ixpy3b2p6qfz37a38phb4nyc";
-"datetime2-icelandic.doc-1.1"="0fxwl3q2gb9pxvhgsd7xmcf78ql67c4ajws944rwvsh6bn7m7w5v";
-"datetime2-icelandic.source-1.1"="1jkcxsas9x43zafrl8bmc56800487p037793k58kcf7w6vlr9lax";
-"datetime2-irish-1.1"="0k40sibvdqhg333l0iyhg3zs0fkhfbkqhs64ch9hs0kpw1mah48g";
-"datetime2-irish.doc-1.1"="18yd4icn0vmmizims17lsailn0gjqnhx4c7yy5jgrycammbjns03";
-"datetime2-irish.source-1.1"="1hs18kcmzgif8jcfp3v87h6rvrhskcvi5jzzspp7zgpq73izb1nj";
-"datetime2-it-fulltext-1.6"="03nr1l5gzwzdg4simif6wrwzg9716vfy1nbp8xfl98hs3sznhdhi";
-"datetime2-it-fulltext.doc-1.6"="1rqkdp81zg5sq5klz10v00c9xzb162dsmqgic2y3v4mxi482iy89";
-"datetime2-it-fulltext.source-1.6"="0y50s2mnyyx5kxb0bjbbr4pr7ywnfq3aqhqybqhd5x6rqpwagnd9";
-"datetime2-italian-1.3"="1if93khnpiwn2qpk66i431aw55y43qr603kdfdfq76v4sq4zrcys";
-"datetime2-italian.doc-1.3"="1r7gbm3ik84ny6nk3fb36g337imfq7w53cmk47qg1cpmff6c800c";
-"datetime2-italian.source-1.3"="1ckrmbv22dm7998r9p3b730zyk7ldzzbf1ds8ac5syqibh8wh0dl";
-"datetime2-latin-1.0"="1xgjcby4kyr6pb7zmwvwyhcq5y468vvja64l8bfivhv0n1s6q2cs";
-"datetime2-latin.doc-1.0"="07lvgcnpi7z36l21dwbs1s19f3afg55i18wdjcc9d02566g2fjv3";
-"datetime2-latin.source-1.0"="1gi5n1sf6v965hd4p0c6d8v92myhh218ql6bgaarsba1axp2c1as";
-"datetime2-lsorbian-1.1"="0vpqvd3fcmd8kqs2cj6ix5g3ci9zjr7i9ym31whryras2cm6r24m";
-"datetime2-lsorbian.doc-1.1"="1ysrjnw655p1jplcxajrjgd48sndqssm8j7gv869nf0ngx4mx1rc";
-"datetime2-lsorbian.source-1.1"="0875nzp676qv8vi3f37k2cbf7vszsrws6clyldqqayxkr7gnin63";
-"datetime2-magyar-1.1"="06y57br6g9clfscqma0lqp38fzp6rrxja3sz5x6jgi0acyljxzxx";
-"datetime2-magyar.doc-1.1"="1mcw5rzb573qav00jz611576lvy8nkfl3g92wj02szb6fxq66g60";
-"datetime2-magyar.source-1.1"="1697h8jh2gx1ybcfhz8cqzvk70h83qa3028hqi3c1rhkcbxbrabb";
-"datetime2-norsk-1.1"="1kcdkppmc5h3w09bwcrvlsxcbcawksmdam0x5w6zbqibvhlhvh78";
-"datetime2-norsk.doc-1.1"="1vrip0mq47w2qn8i14ckazpzhzrl79dpyj7zv01b43xw5zkyqg4q";
-"datetime2-norsk.source-1.1"="0rkjhbqppncaw67pfiihy2grzlcsaszi8jnxhhvb2sf4i3dpqlr9";
-"datetime2-polish-1.1"="1mndpf6vnb7lbziaj64aa3q796bv17mh4r9s3p0y2k8yjrllql3m";
-"datetime2-polish.doc-1.1"="1cn5qrcl4jxcnn90llhn6x7rd5zdnzz9h5szv4hhzbn9i4k1ci0f";
-"datetime2-polish.source-1.1"="1c42vallyqmpjzivcfvaxidhi2rs05sw6xbkb319dznl1jmdby6c";
-"datetime2-portuges-1.1"="0ikj36y2n7zlxgvwxd8z8vmkm4gwdan3si8bz98ajc1z5yncb7ha";
-"datetime2-portuges.doc-1.1"="1m4ij8xjshi23hrm723m6vsbijd9cbd49b29fr2466sbxmnkyv22";
-"datetime2-portuges.source-1.1"="1r0nw953bwgdz3w150s78s0rpd9c88djygwc68sr3dkfd6iih05k";
-"datetime2-romanian-1.02"="04jypimj3pcvnalkgzwzxvgav8s0g6c7br1w5hk769k7aqjf7qx7";
-"datetime2-romanian.doc-1.02"="0nv47vpf5gcnj86f1m24xbmlvhf7iciyjaz2kxbbsn4yz55zmbmv";
-"datetime2-romanian.source-1.02"="14324lrmh75g4jigcbcgx9zyxn0318k6my6ndvymamldwln7gmmv";
-"datetime2-russian-1.1"="0m3cmm2ikili85z44mmsnaxhv3x2s6xyk6kkfr3kaczn3w8srqim";
-"datetime2-russian.doc-1.1"="01rfdj3wf69j976mkv2yxw0ns4pzf852miykknni4zw7lbcki00g";
-"datetime2-russian.source-1.1"="1x931h6rnzm11ipfa747x306iwn3381ahcf7bfzhg75p8707glgs";
-"datetime2-samin-1.1"="0wqnsvx33d68j18lm0fmvjrdg8g5hv0xwzv6wqnb8wwz1l5zmqvj";
-"datetime2-samin.doc-1.1"="1wfij9j00pqs8bapbjpmg8xzah9509vrsb9h8sqc2abdjnqgkmdc";
-"datetime2-samin.source-1.1"="037gm3s8rxk4chj2q9yilbkvg46dxnd2jpr886ibydfp1ndnqcp1";
-"datetime2-scottish-1.1"="18c3y6968css1zm1pryn3cfbdqfn9px0n62bq6mapmgbd7fi2plh";
-"datetime2-scottish.doc-1.1"="04dy9syy4qmn36mfy1agxjzd41prwqzlx5f8vpyq3148w51kpp1j";
-"datetime2-scottish.source-1.1"="0nhfk8b19dqa08lb10sbfwp3c2f4rn493dgp4sm254bk00nil1gh";
-"datetime2-serbian-2.1.0"="1akyl3r70rwdyjjqvpsmh5m9g7xsdmdmx7l9qyh54x8c7gir7wd7";
-"datetime2-serbian.doc-2.1.0"="1kgkpfgfqj99m0262zcc6b7fnik83vr45973720dbf9f5gvyin95";
-"datetime2-serbian.source-2.1.0"="0hn4w3rw6mqzcj14a55m2hch3ra1ax0kb3l254pfgk4x9l3x028v";
-"datetime2-slovak-1.1"="004s60h3zi0a947ayc7kk2slxwl6bmpba8lxm8000f6yaf00wyk8";
-"datetime2-slovak.doc-1.1"="1wblf0fd2lb6b05vvb31a33lz7dxakd5k6y5pcvs6iwjjb755n52";
-"datetime2-slovak.source-1.1"="17hwr9yzpdkcvqvm1fa4qvacgica9mm29npmcl7xc3c503h4z6wi";
-"datetime2-slovene-1.1"="1lcpx7nz5lqb6pdw2j0dybkilavp535pxijs13nfl043xizh4brq";
-"datetime2-slovene.doc-1.1"="0i6p83lixs6maiww4fdsm09nql3xx8xvs2qz38r5md4r5zzikyb0";
-"datetime2-slovene.source-1.1"="0grv3gcm8wjdcx9smsq3dzd916pg8kcvgmh6s47xh83wz00qqi36";
-"datetime2-spanish-1.1"="0ggb24w3sljmmydnjdkbg34n9mszjwrqny8vl70fcin1dj69njcj";
-"datetime2-spanish.doc-1.1"="1iglnacrcwwmc43shhsaamwajlb3mzj9dgqnd5qg3v7ynlp5zblq";
-"datetime2-spanish.source-1.1"="0fjkhxqgw1yb1nzfiymwv8bsv6zlnwvdjl7crd78n3yx1fgv9wd8";
-"datetime2-swedish-1.0"="1srl9lm3hbsg3bwdkdw4bz7rhhnkkl6pihjky5p2h0jr9mribczm";
-"datetime2-swedish.doc-1.0"="15ya3082by696ysi8gj7d0x5n5g93przna74r0g8yv3qpqkv52j6";
-"datetime2-swedish.source-1.0"="0yswvrgh6xg34iryy0anhb4jac8q0iyvdfw9bsbhaz1xbldn7xw9";
-"datetime2-turkish-1.1"="158prpx4ma56qvq6ivq7ffwp0llll5x34af194qygxs0ldsgjlwy";
-"datetime2-turkish.doc-1.1"="0n47wgnw5kvcn85s1983dg3fbixh7i4p3lxrfnd7qvaxyrph6lw5";
-"datetime2-turkish.source-1.1"="1hnwws0y43d9hpdgb63y5pxr6d0ahis2q40z705b199051lg2qfw";
-"datetime2-ukrainian-1.2a"="08ba6xbivl8gv2a3g0p4ch969zq1lid4zq3vqqvgzkhkdsvc2zkg";
-"datetime2-ukrainian.doc-1.2a"="0biih09p6a90qbjck5w0qs4k8lnqdha0xd3f6kdjmlljqxk24g5j";
-"datetime2-ukrainian.source-1.2a"="0mrysl74pfbs533h08jv5wld57s30nsq6mar2n07668nmplqj0ss";
-"datetime2-usorbian-1.1"="1dynq4qqi7mpckzcmwvfc17hvnfjlv3n93dwypp2sxl1596vili4";
-"datetime2-usorbian.doc-1.1"="0pvf7lx3g09jy5nxlzvgsixmaz9bkcq0zlhq8r3ijd743sq4y048";
-"datetime2-usorbian.source-1.1"="0888x4b0wjqwfrg96rcpxfj6mycdpwwyk9fjavj3j535nxb5hjxr";
-"datetime2-welsh-1.1"="01p4mxn78ynyan6pb9598qmi000alyaiw3bh83w0l5682v2fi7ip";
-"datetime2-welsh.doc-1.1"="0rkibaqirq4xgy6r7a1aws6awyamllg5z5zixb3imapj3x6c8p1h";
-"datetime2-welsh.source-1.1"="0d21jimjq8sipg1qh4fxwb9cmq3sga0wjlrcqapjpy559bnfgmrx";
-"dblfloatfix-1.0a"="1r8s36il4bmqvvvlrsdbhdp4nanbyd1lh71dac4f774bf5pkhzi3";
-"dblfloatfix.doc-1.0a"="0znp5j2v20q7bsic5j7cjqxmbi1dannffl0b14g2w0jp3p6hpfxn";
-"decimal-23374"="00byxbhi2pqccd1vd6hsh4ri0vzvq1mwjnvqmqqlrbr3qfv05zla";
-"decimal.doc-23374"="15v078s3d3aawihdmd0l1ndqinlsqz11xxbvbw0dyh0arw6d1rc3";
-"decimal.source-23374"="1k88s0r82livblqfb140npf2p7lvmsqkpasbr93ihwjj9vp54xb5";
-"decorule-0.7"="0r5pxcpx29l8x1bw4hj4xp66zgkjgm0qn2ryvxy1d30dyjgp34zb";
-"decorule.doc-0.7"="0a3qvnknhcx0jx8x9gk7bh4sbnzv1mnqvdr8l03nzjcbmysvc3hy";
-"decorule.source-0.7"="1lj47s4k44pjnr0n06xdcb37625hkjclrsj4ccmkgcr61d85vkwk";
-"delimtxt-16549"="0s2bbxhbfvq0jm4i90sh6krcik8yk2nl0c39lzr1nrakal0k5lkh";
-"delimtxt.doc-16549"="1wswrw94n5l1azs2aczv6vf56ksbagniry4rwq9b16bmvdy7slyz";
-"delimtxt.source-16549"="0sfwmd0mj359qkchqgm8zc80ayqp0p8ppdgfn3cmayhf2pml6gyj";
-"denisbdoc-0.9.1"="0nqajj7nq19s74m3qlsrii126gp6kqakf9qb9pianbdq9xqpd1yk";
-"denisbdoc.doc-0.9.1"="1f21z0638dnlc6wlpchkx16zbl2fx7mpbkppkpzmfafdhql2i77k";
-"denisbdoc.source-0.9.1"="1zqjcmqllbj3yig5a8zwjm4q3r4c9jw1zyaab64w7fvcav825h6l";
-"diabetes-logbook-54810"="0rmahxnjnjd677z42ra1mcp86na41sz9ir4chkpmaikhdvnbi4qa";
-"diabetes-logbook.doc-54810"="0qb2nyjc7fpc7yc632bblbjryxdx39xr64c4kxncdisi34am82z9";
-"diagbox-2.4"="1p7wfkhdcgdc1gifr4im390w039609j6mg99sixgpq8f0mqqnlsf";
-"diagbox.doc-2.4"="04i03qdy9gfzf14w1vz8nqqgw4hn191w423jf2ck5ibljwlwa214";
-"diagbox.source-2.4"="1x1ixmmixi2sal1iajwnf0wvg97kj08hi5vv4swdiwqpd14g1i53";
-"diagnose-0.2"="16pikxgaf40vm6l5r0wk5jxbfyzy1jgpq2qhpl859srxrygdar4q";
-"diagnose.doc-0.2"="0k6vxzd3biyrfwnfr3p2zvj5j10r4xsda65qf6ppdrjr8cvmjx6l";
-"dialogl-28946"="0vdx7qnpp5s6j5c96207px2fdhylj2kv3ph9mr3jcb6jyrsiyi0q";
-"dialogl.doc-28946"="15082p9pi47vdwrdqz4kdcl59ymsgnanrrnil9p97c1wbmc9saqb";
-"dialogl.source-28946"="1g9c68a7pqpk5vfcnr95zi11km3bhjll06zminw2knk2naxlykhh";
-"dichokey-17192"="0bvv3893jxpblddqi75hppb9s0rxaiqbq70jns2x7d79afl7xkwj";
-"dichokey.doc-17192"="0m5zc521shp00wld4kyhp9xipsqfq00q1dqd3qp9ki1b2kmr5w7j";
-"dimnum-1.0.1"="0mrcnz3s214a4yxljlbrzpqyrsjlh8gd0llj96wsirlc1kpsb3jq";
-"dimnum.doc-1.0.1"="13j2pbbpsnd70gmn3ap4sad4bvbwg3r00ix9s1m2kvx4k7j3zwii";
-"dimnum.source-1.0.1"="0sx3y3g7jn0dbbfw3a8sga2fs9pz9710jlckmc464a5zlxmcyldh";
-"dinbrief-15878"="1msbw91lljb18c10bia4zclgb1klhmnck6kf23dgpv5ihpdmzla0";
-"dinbrief.doc-15878"="1m3dvm2d0s7xbnvywwwcnjcl3hr8sczp1lmpcdx8m6gyjspllbfn";
-"dinbrief.source-15878"="13dcia7rzw0djajb71b9gq2isgys63zs6g89rnwxfvn41a0nkgh3";
-"directory-1.20"="0z2kczyvd4h3751ndfywzfvxl16xrjl3alvqxpscjsplrrrq53l4";
-"directory.doc-1.20"="0w5rhczldn9p28dys7pjn3lgs0a6dq4yr59n1969qbffbcyv2m5q";
-"dirtytalk-1.0"="10msaqhpb66l95vk8l172mpglilhdrqc4qcvmq3v58ssj19kksjp";
-"dirtytalk.doc-1.0"="13yv6x3v4is4l0z5b7a83r173jq7mkyqc8nn52sfdkr168saxylz";
-"dirtytalk.source-1.0"="1jw485pgqr0l60rnd39jfn4gmac5n9k67q8ykn2fk3s38nklyzib";
-"dlfltxb-17337"="0yql8krlb6cbi5vhds9s8qwy4010vlsi3szbiqlzrby82bnfpxnz";
-"dlfltxb.doc-17337"="0c4nvwlf5k1q34gsn3z0pb00b0yhprhp3a1mcrg9i53yw7chwsy3";
-"dnaseq-0.01"="0vsifiirz1mwmjnav8k6m27mm5qsn3iw01a9c056p4g4ji8w2v2y";
-"dnaseq.doc-0.01"="1n05sb0yvq1hm2wa5vdnkhr54fgdkxv2s4kd8dhzk2zqx6sdv4jb";
-"dnaseq.source-0.01"="07vdyylb7j94sphfz6c2szxhx7l5swvyzly3afky69lm356988zd";
-"doclicense-2.3.0"="01mb0y2mpgbpf0rv6xfwq8yiwibm9n3sh23r5xnf49agbw2zgynm";
-"doclicense.doc-2.3.0"="158rqgavljjck3ydfmagxmira7l6vvdi31xvv9n1fkypjxggdsi9";
-"doclicense.source-2.3.0"="1bc58ih6p32lj6lr3n6n4cq14kzdgzq4jh53ycv6b7frd21j8304";
-"docmfp-1.2d"="13cxjhbafm0xvnng6gc9g03p4j79sia7jvygxmphgnf7wfndv4sz";
-"docmfp.doc-1.2d"="1j2b530wcpr8252lcpmy0c5w83kqbi9xzsrfbdngi1jmkfy4nlgv";
-"docmfp.source-1.2d"="1w8g6m2whza3w62ngsaslv7h2x7asijznwb9glx6g2vjv456sgf8";
-"docmute-1.4"="15ad8274dwgzk7fzs7i5g3ss02ld8in8f86339rb314zmraj5kv3";
-"docmute.doc-1.4"="1mrwispvif8nwjbq12jgzpwjn9xf7mr91pwg5bfdcnpwwy8l1bh3";
-"docmute.source-1.4"="1nfv31h23mp7alrm9saz5abakjsvs7rqva3q9zvxlczix7yn63qw";
-"doctools-0.1"="1rdwmdah8rb2yiicd9mbqz0mmf56rpgnp5vwyjhax7m0zqjgqkgm";
-"doctools.doc-0.1"="02jrr4wbkdx8r44dpfn4g83j03n6yrska79ljnwigs77p5jqlyl8";
-"doctools.source-0.1"="03y13bijva11hqil84l2p4cap7fcm8wk6ds53nx1qizh66h8g9vr";
-"documentation-0.1"="088imchmqchi1ilwfzlhk8d4am2xjjgacnyw5w4mb6sirbckhi3d";
-"documentation.doc-0.1"="103rpywyl1h30c7jamp3cfi1rg89y48krdjbxc0calz8iq5n0460";
-"documentation.source-0.1"="1fzk62clv9ij07cfjcrwn94cqvz2piysij09y2wlkcs06lgk2m69";
-"docutils-56594"="1pxswkjs901clnd8l3n13ghqypv6l8gxr3pnwn9i0zakvxz6gdh3";
-"docutils.doc-56594"="11fzx9kyxgxr20hnyqy9nvl5rczdfyb43j1bjwxnim68kmy5bjyz";
-"doi-48634"="0rxsgmqmkpabw1qw7k0ssxjmzkia323dl0p73zw7qbwdpgs4xx5v";
-"doi.doc-48634"="0h6k3bg9wg4wa4shyijr0xsx935s8s8igad0zzyk57q5g7lhhka4";
-"dotarrow-0.01a"="0wjan8m1171m5bl5x6pygfn0lm3pyq87vmjjgzl1zd337l3wz45w";
-"dotarrow.doc-0.01a"="18d9y7mzfwsmy9c14ihj2blmikiwcwp2y462wjnmm8hb6gm58cpc";
-"dotarrow.source-0.01a"="0f8dmgsrd2wbcmxipj0p40d09sgcl8i5indbzsmkfz7fxvnpr15d";
-"dotlessi-1.1"="1ii8ilc2hqdwck9z1lpbyjsgh47pkfh62r1yv6kdkafqqrxzpxxb";
-"dotlessi.doc-1.1"="1vc8bpzzad2k222ghdcqmkbd7541b88wccc108avzj9v85wfpjbk";
-"dotseqn-1.1"="0n0hgp5saipf42kwx4hxxgx66irmy91pdzcznc8vmnnlayly8s61";
-"dotseqn.doc-1.1"="1an4s3v47f08z7v5gmz49g4bbz26xcvadn74052nhrbmj8xm8fav";
-"dotseqn.source-1.1"="05zxrzpm7mcms2skh9mpv4nga9ysqwin8qjc7yy9prcaban00y33";
-"download-1.2"="0dwivfcjvg12gsf4zikyvlyb0p1pks6a2fxdqgji2x79ashxsm24";
-"download.doc-1.2"="00p9cjzqqh95nlda8193111aa5kjagszbf65wfm3jfy4dahqxfwz";
-"download.source-1.2"="15shcpxz2h0i34pnm2nz47h37gy4xdws87p8yrxbfi4j10qr8c62";
-"dox-2.4"="1vv1arqah132cns24s99s18ixcrjqfkbq551d94pjs8di7fiik2p";
-"dox.doc-2.4"="08x3h0750nbh20wsnlkfz59na5kvi9jsm63l8dh3l7b0szzq88cb";
-"dox.source-2.4"="1p5xmacd5phv5ig0ga1wj32fqpji9fl21lbygb39qdjr6v3g7vs2";
-"dpfloat-17196"="00agcljhzafzhbcfk1jbxaxyc3znwxd1j1sdhr982m3s1nd8733g";
-"dpfloat.doc-17196"="1nydmlbk1p4gywq0hh7jnvd9hs9lxl73khbpi4zn5j4blzkb31x9";
-"dprogress-0.1"="1sz7msvh7wyf5k8ag857lr11dqwf12p1wzi6kdkwma05i8wwni88";
-"dprogress.doc-0.1"="1s356ffii215bybc5cqg91gril5am5zzh5w4s1nf875yl4yjxbji";
-"dprogress.source-0.1"="1f7ym5lr0gn24jaca509hbhg9xr5mhbr5wgncvvf937jmq6w2jxp";
-"drac-1"="0p8li8cln7674zd40w8x6izn2kf63wsxpwg3dpbjnp5jccifvsnr";
-"drac.doc-1"="1lhibs5s6h0a97ggjkp1i8j02ry9p0zdq6pzjxm4ijx3fqj1p3rq";
-"drac.source-1"="1478yizwfvzrpi50k3fxbs9vq7g39170jdh7l3ynkbq0fkbssxhd";
-"draftcopy-2.16"="0fxh7h37akz0s33vjmnzxjp04m7ynb0z6650p5wd399lfg5bi11k";
-"draftcopy.doc-2.16"="1z7cjzk75d3gwcb4dgvg7a8jl9bvzqnc7zn0ginqcl0aih37yg5j";
-"draftcopy.source-2.16"="11gswnpz0azxb2d1clmpk9bis9cijsd1hajll7jxm5fhnk6vigfn";
-"draftfigure-0.2"="0dhjlykc6p6jm6p0s0h0d74097ny29w84ns1pxbb7f8iwr8hhkvf";
-"draftfigure.doc-0.2"="0gnazf3bmbgnygn3pv0lzrlrcic3j2yfqxq1kaijkkhsr9w57jy9";
-"draftwatermark-3.0"="1xrsh755whbaxizzljcpk5an5k9s09f6hcndp1lhw2z9mfnl2na7";
-"draftwatermark.doc-3.0"="0cnzbj2wg5kifqg08i081d0043462vswbxr68spnnxp2y3b5ysdj";
-"draftwatermark.source-3.0"="1k66347n1cf3ap8406dw2qa21k6mazwhv6brr569i0khsxypfw0a";
-"dtk-2.08h"="1dn61q1kxyahl9xd5aqscbz0p499iavp0fr726v2zdy191wk38n1";
-"dtk.doc-2.08h"="1pn9v2chglsggi98d6n9b9j5zsl6fqms5ykmqr9x908nixlavlmz";
-"dtxdescribe-1.02"="0xl8q9rb9nsfac6cjlbg2ind900agza2n8zid4ss4vr8g8zxaadv";
-"dtxdescribe.doc-1.02"="02hh98qbdymaxfp0nc8dg2yiw7kl94jam56636kig6ik7305zhwj";
-"dtxdescribe.source-1.02"="0fij0m7yrwc391imbafhzc7iynpc230myfjb2j3czzaklan46p7c";
-"dtxgallery.doc-1"="07c403zbx7sxkhhrwrfw3np20xlqhdk893b4bd6r8lqb0zipp5b5";
-"ducksay-2.5a"="0m8dznw00in6hpsw3qwv42aqn7srxrzl54azby1a0wpf1c1nivpg";
-"ducksay.doc-2.5a"="0d4a3ldjvblq0n4mjkdvizswklhaz67z8myak8clc60fd2pv5f80";
-"ducksay.source-2.5a"="1j4bjigfj3a81h54xwi7ciiixr4fcl5g4vz85lxfwyqb8gw01mc0";
-"duckuments-0.5"="17fz5mkr812ig337m2q40dcsj98qpczw53vjrsqk1skmknk0q4g8";
-"duckuments.doc-0.5"="1pbq66k699v3b6c02qx89dvzsh45knr4y9s6a45gkm4a7mkk5nkx";
-"duckuments.source-0.5"="0xcdlvm247d3hl7bvb981fv07nb5g24c0n0171vsk3hacxpshcsk";
-"dvdcoll-1.1a"="1b07xplza4b3ngh50czq8vwmhpr2qvkl5xbgd93a9acvsf5pyg6b";
-"dvdcoll.doc-1.1a"="0fhkdwyvlizlb66bd24pfncbg58a31ygnfg0f9dw5z9ccfrf50hd";
-"dynamicnumber-0.1.3"="0y779azvla68n692x0gybg74cp3dk32219v67qfamfzz389nbs7s";
-"dynamicnumber.doc-0.1.3"="1appm3ddbv9ll0mbnid4xa459w9q89swmdlvdzy1fxdps4y0vpz9";
-"dynamicnumber.source-0.1.3"="0ydmlz697c46fx0xpnvcdcfm9sm0j3jmk47xz8znd2ghzg395fgk";
-"dynblocks-0.2b"="1zb7vk34k3z0cvw6kz74s7831fz17mg3j9hw60diabc0q47pwyr0";
-"dynblocks.doc-0.2b"="1m69hys2b7fvwn9h6q3whkpcnvi04hnhx7811s5fqhdfi76v4zk4";
-"ean13isbn-57514"="0bzvkzpi10d9sjlsc4df5v3y7qycbz1qkn7ngy97prq58wg047gc";
-"ean13isbn.doc-57514"="1gf076ybmni0wzhh0fsf5w4sj4pv3c3w7g7m09k9607y4havv20a";
-"easy-0.99"="0jrza9lf3yf4d1wm6nzwv5iyfia6625fjvflfmxsscbmwqickjhx";
-"easy.doc-0.99"="0f72bawmxrxqk60xb61y079bqpxj8kmvn167plbq5whq5b1fsxfl";
-"easy-todo-32677"="0fkwlzgx20lj44cvwv8hqv79v528k1gghx30lvqhg44wqirkmy86";
-"easy-todo.doc-32677"="1yj3c25mhkp16n49riza4qchr2pqycqmb2k80syn5w3dzrj021s2";
-"easybook-1.24g"="0gjpknhsjkyfnhd0xv73k1vq5j6kii7c3ms4yim119ac831bwzj3";
-"easybook.doc-1.24g"="0rrsx7v0gsilsq2z104zyfp2021zwm511gj038zj059k4ri2hsvy";
-"easybook.source-1.24g"="17rlywp9452hsagpf4cn9p2z5ap8348nyccmidxxqfiys5ydhhn6";
-"easyfig-1.2a"="164ncaq1l6hdrjp0zinynf825hwsky1xam2yqxphhk90438n5hzk";
-"easyfig.doc-1.2a"="0hc63z5456f00a2x70ckvf3r54zld4d3r63a8d4ra7502kk8s9n6";
-"easyfig.source-1.2a"="18f4bb9yf3f7q96w79rhx8h4svlxnv0xc6xwcawav63zsk40mk7q";
-"easyfloats-1.0.0"="0vbg5dz6wxzk20rn51xv7v526qg8m0ih3wikabdf1bfb4n093k2k";
-"easyfloats.doc-1.0.0"="1ncmmmf2w313cpsc9s4w0c3gzvx09r26gwlxhr9rszksvd4y7fay";
-"easyfloats.source-1.0.0"="1ih161wrkxf8sfm0zyl2m9xgmff4qs6qvsz7mzxbjl1j2zxzhhf3";
-"easyformat-1.4.0"="181x0sycxhwcfna2wblvijjs32zvqs6xl2am4hz8204mk321rjsb";
-"easyformat.doc-1.4.0"="0fg7y02717rk6ikw32qxn6iw7l59h5vc22aif6hs9xjnbm3nhhfr";
-"easylist-1.3"="1ghjps30fa1jvfkxrzaxqvy5ilacdyms6dl8bf2qg6195w2sgm33";
-"easylist.doc-1.3"="13wgq2pz9jw761p2yipf23k6lrx66bp25l50446rp1xz47yk386g";
-"easyreview-1.0"="10wl0aihr4c55b08mxafr0jd1xaz640p2kj7n63w3wqxzxlpq42i";
-"easyreview.doc-1.0"="0nnnr4l1b6qhp75n646pd446s7c3pc4fxsxw84gvfqgankfsx3zz";
-"easyreview.source-1.0"="0p7xrqivvb685d0xcljyi4whh5vr6yahskdl63ynw836bmin1b3z";
-"ebezier-4"="1zmsrs7dpw5gwh6h0707gxcpsnbb8qklsqnyr0q30mziz1wqhdvb";
-"ebezier.doc-4"="03afnc0nw7yzv03n4gq38js3y6x5v0kaxi5psmnzpf2lj0kfa7l5";
-"ebezier.source-4"="0492q2l7yrv1h51x4swqzfp74k9kb989m0lxbgvgffh4gl7zhi5w";
-"ecclesiastic-0.3"="008agcka4wj694snynfgak1ycm49rbkwn3z58470adc4rwi99klf";
-"ecclesiastic.doc-0.3"="1xmbxkmia5pcr2l5m3rd12qzpq92f75rcbipgpvck6sqpp7psc8j";
-"ecclesiastic.source-0.3"="0c32d6fzzn090hi9nxdj3qbbhp4q11siziwr7m6lp2l285n91wj6";
-"econlipsum-0.8.2"="0xca6dhbz49zxn58g5bc2yis2zci9v5iypfh3h53rxhlkbfbcqln";
-"econlipsum.doc-0.8.2"="1pb6z051r40wp8rv5makhaxbf23aq5j5gm6pw1khvhk806rdig4w";
-"econlipsum.source-0.8.2"="0j26l888qx5q5j39875iab4106fkn3ign9fmbcmcvf42yzx7mav9";
-"ecv-0.3"="1rvj3rf5vrjhqsz070id4i3l9svwsgclfhkjzxlb42va1bqxkcdk";
-"ecv.doc-0.3"="0cp3h8pagsxpr0i28v8x9dh9j6imbprd2hxrl6ln2m75c9ki2wmk";
-"ecv.source-0.3"="149jwhqpmfn6gwzkcqpilxp7hqnidjlvhi1khqxnvq3k947x33js";
-"ed-1.8"="0wb34cch7jfgvfql5jy6vvfalj9bv6pjyd9dg2i9msq1azvrjjv4";
-"ed.doc-1.8"="09kn8cykfsyk14g428v72l2ppwffcdrrycnyl65kixv8hj0vsdy6";
-"ed.source-1.8"="0ldjyl7gpa5fswzabzmklkwmz94z8al7pm97hh0yjzdqgjxfsdbx";
-"edichokey-2.01y"="0c4hwpvassgrlycrjygwywp6ws91vhhb2wq1jwdla8x3sk7hkdr4";
-"edichokey.doc-2.01y"="1b79022plz2a6gbf1grrcg4j6794fd0a45lmq68lci64mz33b66n";
-"edmargin-1.2"="19dmfw76l03v87igfhmh81kbfsp5zbznk62vqpanpppspchlx7p8";
-"edmargin.doc-1.2"="0v9lbfynw840xampn4sgxmq413357wjwjr5slzrlpv9mh1f8z0jr";
-"edmargin.source-1.2"="00b7b5c4n7baw4c973d0b3d4gzkr5k7m4xj258sw2bhfgaqnrjd0";
-"eemeir-1.1b"="0hxnd2rxrm56vblrkvg01c1pf5gccbmvd9lvrwlch89flxp3fiyd";
-"eemeir.doc-1.1b"="1s576bk99sw867ywkq1qhk31yycc19zqr34ry2zix25cs3hk4pia";
-"eemeir.source-1.1b"="01z6p0ndp3nc3pbbwchchfn9nlk86kp35qvb5hkqb3ha59wlfyzs";
-"efbox-1.0"="1jss3bkgyl365rkgzil7xp4pab8k00w57p60s2sh8wrdy10qjsda";
-"efbox.doc-1.0"="051s9yc05ai0yipwm5f5kdqxgiyiyzmzyxf8rbfwl9ir90k84fq8";
-"efbox.source-1.0"="0fcrnrfk6yrdhj25xmchlaimc5qqyhri287b9pwdwsxlr58wgx9c";
-"egplot-1.02a"="06i2jh1srww8111c2axcwn2lcs7lwdgp7npn2qpi2x7g38i2kkzv";
-"egplot.doc-1.02a"="1silqbylbkxfyzacmyvc3kf8g3md8931ax1s877p5x5zi0vpwbz5";
-"egplot.source-1.02a"="0qsyqhmx0gcl13hlhbia9rq82kkkhc6mhmzp56g9b62qy2wl1ss8";
-"ehhline-1.1"="11db4dh948g744bynf1ydlg6jk562picrzfbh5pszxvfdag91kar";
-"ehhline.doc-1.1"="18jr25hnp8hg3dbjgf16cskdhm6kx9nxliiggqixb7c1ii6mmn2v";
-"einfart-58414"="03a8c7b2nd4mpcipvnvv13f6prji5kd0382f57hkyliyn4ak9dmb";
-"einfart.doc-58414"="09c3a1wri0li7fzxxaj30hzxypn9rn3xlb03cy5vzwis0ga5rrly";
-"minimalist-58395"="0pqhsxvnjmlaciavxnj6z8na259w3ibbbcjk8binb977i3g5rcyf";
-"minimalist.doc-58395"="10yk6v8603ssficdjhl0hky6wcyisimjymggi0cjb2gfvzsn9faq";
-"elegantbook-3.11"="0hw23xwfgc6wvrqks0sws2aczpzi988i9i5drv9cngnlrj0wi2qr";
-"elegantbook.doc-3.11"="0imczlqh7rwd37vrv3dbhds2bvl7526ba2fhvggld9srsymciswj";
-"elegantnote-2.30"="0wdhwn4c1brqalghyj2mlpvn32kln9rck1nai16inihq41zqnz1m";
-"elegantnote.doc-2.30"="1byqlpjxz53c29sdc48073agpy9pg88yfbhvp0wf4fp7l9jl2m0l";
-"elegantpaper-0.09"="15mi33d8ml27axgkfqdvddwa6hyg02w4bqyd5wnsvai9fisigivd";
-"elegantpaper.doc-0.09"="140mrxwr89gkdswizwrgn0dirq0lm3gf5vvrwr5f7p961swqzk6h";
-"elements-0.3"="13hcg8vysd5ljbkpjicxpnvrdc1dg1c2vcf8lz1m7x25g2sgwq1x";
-"elements.doc-0.3"="1fp0jjgyd5f46pxs80wnz550jg6vv0dmpr45zn87anbq8mkxzcyi";
-"ellipsis-1.8"="1zbasvm792cghiji6gkg27ixjx7ms46rgqbi3wphpm9dix9296ap";
-"ellipsis.doc-1.8"="1w9hp2k4qvhg5275iq5kq79ws5z6i7jb1536h0qrznm0lkw33c4y";
-"ellipsis.source-1.8"="1z8f3x734nc364gybhslxzvvv4502a29dmb4nlz39hm0kzgqq3h9";
-"elmath-1.2"="04vacr9c71nmrbq6hnhpcgk8g75jzdvwf6z513mqabr9d0gf84l5";
-"elmath.doc-1.2"="1da0lrbzy598yy9jisjq0yk2qfjfiqpj32l1v63l3x7dff6yi4dn";
-"elmath.source-1.2"="19q44k909mkxrwsqx4zvraa8cv8jbq8z46xnm53agk0jr94bpiqk";
-"elpres-0.8"="17iqfpd37yhal9mwz6rwws4v8cdkv91iali8jxcjbg4xsxnsv6pg";
-"elpres.doc-0.8"="16ca64sw810if3vx2a2vcpnl9yilav2k8czbh5bmv8wb2ys9yg3l";
-"elzcards-1.60"="14vd8vnnss12flbszsg8357831r986pk7hhpcwqln53r6x5kd543";
-"elzcards.doc-1.60"="084zcf7dqig379cqc6ahiqkm8f5jwqgiizd6h5ki28pcbshi49rr";
-"elzcards.source-1.60"="1ipavy4km50d8larywyb63dldmawawzfw3x6m5nzvi70zkx1f6rw";
-"emarks-1.0"="1qf1qrbw2fsxc137g8dfsx1c202ylvg2ijdwcmxq1fv1pd2zjjwz";
-"emarks.doc-1.0"="00fkdarm7i16vlmjzvjpkyp5v4mbdc6isv12g07shx3nz5v4zgp5";
-"emarks.source-1.0"="1lznlfqhcwd3r8dp4cix5jav3dq63v4wspr1ks3pm0bkycy8wr5a";
-"embedall-2.0"="1078qszq99jdcy2vsaxmg1fbnr9fdbd32y5lyxl4bwl0ja62m459";
-"embedall.doc-2.0"="1c17d4bpzxws6j9z5p7x97zfggyzyadfjygbhi7ykfiy55qywhdd";
-"embedall.source-2.0"="02vdmjb6vqvqmfq7fhn5gb09x2lzpmrfhx6dspv33wmwzv99kzr0";
-"embedfile-2.11"="050xldq8z85rq6ma1bk2acnirnfbjn8yx3v3x1s2sz3qilcxmdha";
-"embedfile.doc-2.11"="0mmq1yrhfjhbna9g8cpywrz76jhv34mrxhrgnwvwlhac2krs7w4d";
-"embedfile.source-2.11"="1dshj04gn4krv7fvbi5yxbirc0di5v326hn6ij19pcmjj9afj29v";
-"embrac-0.9a"="0n2ll7mxgw228qb3j0x111yyiaa4ikq4797g5k8xyakjmv0w3sv0";
-"embrac.doc-0.9a"="1lqapcz7iv8z7df7cyddg6ylh2b61ndgbfhnfa8abzgsqz1h8sjy";
-"emptypage-1.2"="10h1mlhk0841wgc70hp51jnah14si7rf2mwpkp8lfc1xr7jwwvi8";
-"emptypage.doc-1.2"="00l43lhrr246hiwa717b72rc4ignqd3kljkw6ka3l8z1nzbcbni6";
-"emptypage.source-1.2"="16nzgkvl9gqsnhx38dp71c3cz5rrgm73n99g2vg7rapg0vb623xi";
-"emulateapj-28469"="11yv57sv6ys3g8h2ix5xjnjrbnyfvcma4i7vzdsj160rzi12n06v";
-"emulateapj.doc-28469"="15zm7jqpk917l1r2qfkqdkbsxa2q7w4640h9115v4jis0zwgj0s9";
-"endfloat-2.7"="1vqy4ii3dz79ffpjc5n234z9v0lqpkq93vla0lbq0791h71gv53d";
-"endfloat.doc-2.7"="0y3hkihs6pc0g835nk21qj8v3g27f6rrvadwmvqkhchvgh02bwnl";
-"endfloat.source-2.7"="0mdr1ga2p1ikbcs0zzznb1c89n8shrha87qm49sgzbj4d0f2gdbx";
-"endheads-1.6"="15dkd3ky14phrc9cndisa88vbmcp48wly8l27k4wvbbd0221rxwr";
-"endheads.doc-1.6"="0yp1rm4ly2005mw488yscrgc0y8awsis83wwcfh3qh8rcgm8jzhy";
-"endheads.source-1.6"="0578fyav3h5wz40c12r3rqzbsba7vqvk0r5jlw6wymk2m9n9n5np";
-"endnotes-53319"="0hm5mwxdvxhj9v51y88g6mm5fs9p2kaksmhps032cbc1inn5asj6";
-"endnotes.doc-53319"="0354v4klgz5yn1v9hkk3zpvv3x1l4b6jzla7iwxpnk9qb0bvfh4g";
-"endnotes-hy-54758"="194n7n7xcjpsxijzsjpgsxrpshilki0ixkwlbn6hxd92jjq7amz7";
-"endnotes-hy.doc-54758"="1mj4lfvn86676s3sv0v3hx07cjb4mm3j3i3swwzxg0i48acpch52";
-"endnotes-hy.source-54758"="1qhf4zzhk7kf0wcpacl82przkcf7g8z6jwirrzlwd39876jmhbwk";
-"engpron-2"="1jxk1j23v2c2ffqp9x948gkjkqvifp9lhd1wlp2nhmr4k0k3pgmq";
-"engpron.doc-2"="1j580xz1jgw088xah57zv8mrn3wgm6xipj1jf3c0rxyd3fkkk29v";
-"engpron.source-2"="0gg46lfqprs6jr2dgpa1c882wz9k8jjzrs281npy8hk4hhqgrg0y";
-"engrec-1.1"="18qzqg4i4f2dcpqdw4zs9lk8cxlxxn01wbh8a275wiaqj5fi7hzn";
-"engrec.doc-1.1"="038a925h1047a8wnwm54mmyq12332waxx8nbrg9m3pacr45hwmgy";
-"engrec.source-1.1"="0x32a3cgh7pidln750qbwxl7bkzcjwj4brxbqmhyfydnhzw1xzar";
-"enotez-0.10c"="16qlbi1s3sa8m1zmns78n2hv05f3qm93xhcmagix2aya7srifv4k";
-"enotez.doc-0.10c"="1iygaqm1gdiyk6s786nby1ahwc0rgaps2b1h4b141gdczm03dyn8";
-"enumitem-3.9"="0hp6sk3i0a1jwwvlr0lk4w75fc57c2fvqw9x5ir8db049380ixyp";
-"enumitem.doc-3.9"="1byxv6d9g38fhd83f4g23yqha8nvr5iv6lv97w40jn58i492dyrq";
-"enumitem-zref-1.8"="1isvqbp7wvib81r0yn7sngxa2dygkfm4jn4rdvw0kp8rknam91qh";
-"enumitem-zref.doc-1.8"="12ffsw4mzwg8gnw264kvc9gpxcmrhda5pwfyml2ih50g1dj6fwv0";
-"enumitem-zref.source-1.8"="02y3rlxcsdmafy4n4iiaz2j3syg5x7bzwzfvfk87xxg0n3bvahl6";
-"envbig-15878"="1szn3ngy2iwzbc9y5fpchr5vpx5alr908q8bfg94lylmb8lx2kb2";
-"envbig.doc-15878"="1y778gc6wl11afjjv2szypc8jf1g7gg2s0lvhv2skl1n3wpb3x7a";
-"envlab-1.2"="0q84vy7zbjqrrvy0r2j2hpbg9b5vwbwk860q24azms2zxy50a8vd";
-"envlab.doc-1.2"="16fnyfvvixp6lfgvz32w92q35s21c92556qxbgpcd94fd1pw2bki";
-"envlab.source-1.2"="1fygp7wpyzhzh070sa61qk17h05rqr4m1wqp78vpp0awgkmdji56";
-"epigraph-1.5e"="1lb4wzjcag59dcfvizvng9s47v3x2af6v62hc1x3ck3fqzx9haa4";
-"epigraph.doc-1.5e"="1h13sgi2bxknx2m5kxxlv9p4fxf1pxh1zdwm98h3kamzb4a4gm81";
-"epigraph.source-1.5e"="0kqfrmx732m0a6k21iiq1ar47ff50ri3f5wy8ib6ssbbvd9agx4l";
-"epigraph-keys-1.0"="0p4m2z9v0ckjncy5mpfs85nzpzzi9lx30a4dh6rjkhgmnk574n6m";
-"epigraph-keys.doc-1.0"="0gd3mcw13r3245dmd3fsgyww30f4anwff6vj14xsy75zcs9k0ywy";
-"epiolmec-15878"="0wn2pi3n9ls945i4v3x36kgg34sqhi1x4az5gq6lbvviin4lnrvf";
-"epiolmec.doc-15878"="1j9n7g9z2wbbq04wh2x0cxx7m4zggh1scblwrx9g69sd8r0b7582";
-"epiolmec.source-15878"="0qairwq1jfl5jrkrwlblmsc9gb34wpanz61zmsawz94yf3plwxxs";
-"eq-pin2corr-1.0"="10g0hf98f9mrp9k918nra9yvr8jrp2kbj78rn51cr5kgar17q1ji";
-"eq-pin2corr.doc-1.0"="0rzl206gg2h63rmdxyix4x0k3k21fn2bd7gp21ys757vd4q53jdz";
-"eq-pin2corr.source-1.0"="036ff4gi94g0a2qkww32dw4j3cq9gz05ah44n6pv550p8b9ssfy3";
-"eqell-22931"="0i0n1vb43vq2axghik3sbs2cja2fi78jl0q5xcrkbn5gr6vi49md";
-"eqell.doc-22931"="044bm3jyll74jrxh8va8g38shjn3b7wzchjq39n4rjp3238wirsm";
-"eqlist-2.1"="1cxas8g683y4i22rdakgji1r282mivmnap2l0b80rv3adg3ccvrl";
-"eqlist.doc-2.1"="11lbz2s5v35w13vvcf2bs4y59hsdd0haai1244jqswyfxgamybgg";
-"eqlist.source-2.1"="1lw20i1iqb0lxqpv2g7dw62ff4xd8w8k4y2ccpqmsb987sk223d0";
-"eqnalign-1.0a"="0214pwf689rj7ycjzrafkhpj1rrn74h043vryihyscci03lf46fs";
-"eqnalign.doc-1.0a"="128yh629nnxn2ca799s9zxbvbp0zam1lrz8nciinfbb10m8igwv9";
-"eqnalign.source-1.0a"="0pdzvs4hyyxr229jlcw7766qd4npasc676hf74nx0msxwm5iq2yr";
-"eqname-20678"="1qryjgmn2cw2indmmybgzrcrakqi6a3crvdcyvj769mciz8lsdwy";
-"eqparbox-4.1"="1bg49m7nzw20g2g51g07d7sgq0sjiisrbaq4ca31qbybr2rxcp12";
-"eqparbox.doc-4.1"="0z86nwj06zn55gk32wwlxbqfb12a1fcgqizrpagm7yp0xr99b8wm";
-"eqparbox.source-4.1"="1ny9mcnb76yds4l7q35wdm0x2vzia80aaqr12idybkzi75a7b2yp";
-"errata-0.3"="0hp8pls350swslim7m3cpnw23v94vnqj9avfvx9hq0bgl99szc5c";
-"errata.doc-0.3"="0h30iip57km31074cya5fyhlmyamix8anpk19rqbsfb43h3988g8";
-"errata.source-0.3"="00bdq20dwwmq0nw3c271ah0bclzkzkwbr5ak4y9asnab1g6fl5yw";
-"erw-l3-3.1"="1103f0mwhjwq575fg099v1xsqmm3jg0rfgmz7d8xqpjjy3y6g7gd";
-"erw-l3.doc-3.1"="0zhbp441kw9h9xmhfvzxkzisx4kzq3ba4jgkkdrlnd6zxl82fdgm";
-"erw-l3.source-3.1"="1yhz5jmbapzjr5xk27pqjs6y1cg0civ78gzz8h0g6klp4jjgsigx";
-"esami-2.5"="1qc8vwxmbhppzpvqbnf7c7163jhhw7fqva423f3yr0nmhhzdkj9d";
-"esami.doc-2.5"="1i7qdy6q824hb5nl21d5j5p91ll7ki5x47w5l8lr3cch81mkwxqi";
-"esdiff-1.2"="0p5d89r6pzsf0hzaky89843pa4z2n4dgq3yg8li4gb5m2b4fjfkg";
-"esdiff.doc-1.2"="0jw4rhkshni47zdk18b3gd4amyhh6v9a1mgja58wmp2vrwv1nn2f";
-"esdiff.source-1.2"="0iwkbkmkl31wmdrd1wapd94p70mwd45lqld3b7pfb0j287nzkzl6";
-"esindex-1.7"="1vxdlbqc3j33gdvy04pifd0cdfvnjwmpqbmz305g79733hvlbw55";
-"esindex.doc-1.7"="059y8wnnzqn1kfy5jhbpk8zi4lgx7r5s6xg6b7x3iih1ccdyhwma";
-"esint-1.2d"="1i9bmx7sk3fzzdb1ny4a9b3sq9mjjk2x78gk18y77rxq16d2bjnr";
-"esint.doc-1.2d"="1sdklwvw46yj8xbli4yl6qqp5jdm9a32fkspk72p5186swwkwnc9";
-"esint.source-1.2d"="0j4ms51a3qzk7mrc9vh5psk83jxnlh5xa8vq36y9iihha0d6rz6x";
-"esint-type1-15878"="0nfvka430084h72w0gdlvbxxlay9lp5z76bckmr5vd1vqi4jz8kn";
-"esint-type1.doc-15878"="0lp2hc76adxdl44nn4g8hb19cflndzg9ir004di3wggh6s2yx40a";
-"etaremune-1.2"="1l3xz9zh5f3wj3v3mvq9xk4q6vc7k01pq3ivsvm0qlkni4bffyja";
-"etaremune.doc-1.2"="16v4vsd7dzihnx72bdz99994kpw6r5im659hm51w5wyh8gf8mp29";
-"etaremune.source-1.2"="18rcvjpyks01d6qkq61rmngmwwyxksh4i5dmnvq8ihx4vj3zlgqx";
-"etextools-3.1415926"="04x0a0wy3avac8cgjgq7npiy06b0vrkxa0hizpn4vkzv7xbq79yd";
-"etextools.doc-3.1415926"="0z04a5f4c1xygqsgkss4bh0s41aqv0i61sh6x9h0isrqlhbvrzs5";
-"etextools.source-3.1415926"="1f0jr38lbsrdjxhihxks57y6xw37ghgmydcq48ll14nywx07qa2l";
-"etoc-1.09c"="17bqav13vx2jlp31qwv7nh5sp4ga8spwm6x48vxqh4zwwc9fkyrq";
-"etoc.doc-1.09c"="0jngh1s0b2iz1xizbidd5wlwcidyda9r5filn3qflcxkh3mhkms1";
-"etoc.source-1.09c"="0j55yrbaswhmjixjmkj3pb652w34nh6pjgdm484a9s2337399rld";
-"eukdate-1.04"="17r61096angayvbdi9r3d7ljb1a5z9q9r093kpgdsi11ahcgsr26";
-"eukdate.doc-1.04"="0071bi5m6v5ak6g5pxjxzq5y5353mpdjx4f2dbznkmfd23wp8j7d";
-"eukdate.source-1.04"="1p6vg8nj8qipj59jwvp4izf2dv0l8490773h6j87wlclnnnlh2gq";
-"eulerpx-0.2.1"="04lcc883va515zqv2ql7wwffr352qrlg585q2p0i6hkdwhc3s4lv";
-"eulerpx.doc-0.2.1"="192dagl43ni38591fky5ywird1vlphqzw6iakj24awffnxi3sm8v";
-"europasscv-56829"="06vqrnfzcq04mjk38q75n1k1dw3ap7z5xnzpjmgss8rl6mjn4v3d";
-"europasscv.doc-56829"="032298ir415l36gakqalg5n1nk70c47xbm2svvg1ygb32sgn4afp";
-"europecv-57641"="16mdycdlk7nvb5g1mpz0lz4vcf0g117sifivr4bz9aqmnsfsw242";
-"europecv.doc-57641"="0f98qm36flvns48z6cn0v7n0fiqcwb6ji4gvr31xhbgf697kzs25";
-"everypage-2.0b"="1i8fjcbk3flywzd55y0cbsdmzymvkynvgc5cvv6yh5y6nr514rjd";
-"everypage.doc-2.0b"="13drphjv7gzgdzzwd6fxlngm2rprhls60gj4lz1v69sqifymnn4h";
-"everypage.source-2.0b"="0vdi8yd0r33ajnym0f3j42ajkc2xs8b5yn3kmklmgx19kpc93ln5";
-"exam-2.7"="1ybbxy46wn1xz4b6vd6g7y01ijl8a5yrgc6v48jilnhwdh25yklg";
-"exam.doc-2.7"="0lva2zbslf01bsd0jz8k1k0xqmbf1jxjsqridayv9pq0ysn2m97a";
-"exam-n-1.1.4"="01yw3s29jkvrcaa8krhdyf4k53kmlx4mb5x2p933jm73whvlmwqa";
-"exam-n.doc-1.1.4"="134d4g914gw2gll8x78z06is7lhihxcxyp94jf3mpkn569m608jb";
-"exam-n.source-1.1.4"="1qd2gaq55rz3x69lidf4lyifq2m9nzizly0wqg3y9wygb7xs8sc6";
-"exam-randomizechoices-0.1"="1cj863bz3sh9xz6g0kpi0131z2zf302vrzjfhsj02d903zh0f2nm";
-"exam-randomizechoices.doc-0.1"="0bsdysbdy8ghmirwxagfgfp46aqqk6pqmwhmm0pkllb2vmf961sw";
-"examdesign-1.101"="0y9kqiihidv24553zlijr6fspbayvram1mqgy9kmd1wwskvbza3w";
-"examdesign.doc-1.101"="0ddgn0f086qdsyssg4gm6ynlcnnsd16qpvn2g3wzija7ai5sqkig";
-"examdesign.source-1.101"="0z5539hv1li9vw0d3jx7q9s844f29wi9xr5z30hvzl3721rnkvzg";
-"example-33398"="06ld0b9gi8s7y6igijylfvj2qvj3d45z2ml9wd1zfzkpf32pghmy";
-"examplep-0.04"="1a3pdaqzc9jx2yf66vmjg9r4w07b8afyqijl21np6sf7rrsn7zg8";
-"examplep.doc-0.04"="06jqa848zzswd5pbfrvr9lh3i4l5h8wf3v9g179g3q2yb4dmvjwv";
-"exceltex-0.5.1"="1075b0wm708wj537pgki1hvj58l0pfrdiglalbjnk3gmf18rk22d";
-"exceltex.doc-0.5.1"="1s48mcj49j9jm8vs5nhvljb972vhfng09xvd6kiw01a7i4zpw3h1";
-"excludeonly-1.0"="0zfml40br991mijcmplxlff2lzkn8fdgwgxcam7vnr23kag7lzxm";
-"excludeonly.doc-1.0"="0argzz7nwadm11qp642r454w8p0swyhvscic71fhwi47n69cfbgz";
-"exercise-1.6"="18f7mgc2lmm1lg13dm858nqsqzga52sw0r6zlz7f0pv5hpc0mgak";
-"exercise.doc-1.6"="1y50izz1z2s52knqn9a1jianq36isyafviv0yxqqx6zdfckqca0p";
-"exercise.source-1.6"="0lpslsk9a7dx5xzr5iif1prvrn399j70wfcqhgbypz970zzpril7";
-"exercisebank-0.3.0"="1algypm3nhkbccd9k1w5qr6y75hqiinw5dj1h4fbmripmhdwircs";
-"exercisebank.doc-0.3.0"="0szpxkmx8qi3zpcrjzd1nzn7jcp30wf9nv8rp77x7rd2yd0sw0dy";
-"exercisepoints-1.2.3"="0vr2yxqx2ng1f9qybapz61146lvsniv6mjwl1yfxk10qyvdw3pnv";
-"exercisepoints.doc-1.2.3"="17kz9fyd7cc4pa4j6dsm8h5zpwfr68wg3ndbswgh2pgwwvf63777";
-"exercises-1.1"="1yvdj03hr40732swfsg2br9f4wx9855n7a3whlqjdnczp6545lvi";
-"exercises.doc-1.1"="137g1gvwfxm3gid5xvikrqk0iw75csrkqgrwmh0hda28dd4zbdwg";
-"exercises.source-1.1"="1lryxm36phhp7p269zzf9a200k9k0v8zw8qyqvyk784vmvyilv7z";
-"exesheet-1.0"="0mhdvkhyk80ikdw1j11yvghhb8pgja78yjxsh3savf39grnnw7vs";
-"exesheet.doc-1.0"="130pczqsc1a0awy7yi0yy2wk9467nr762j9my6f1w0qi7vb5i8dg";
-"exesheet.source-1.0"="0x8ydqs3xgg8zzh30bbmz9yj7h7q6jb6xvic8lp309kd72vhk0cb";
-"exframe-3.4"="0sc11jk94l0nmjjd69k6nl7j68szdkihim194pdxlyiybwqf9bbh";
-"exframe.doc-3.4"="02s61k5lpjw121cyxkkhlbm5d6wv0gl009abkjbidpgxbnd5yl4z";
-"exframe.source-3.4"="19y20l5g814cvn9z0axpkynxp0vwkay782dmn05g6a6qzjb49i0j";
-"exp-testopt-0.3"="0g7q4ccfamsd7sr7wb0qsw74dnwiyz0rjrniaxm5jvgaadiinc7q";
-"exp-testopt.doc-0.3"="18i2ym0da8vp3xxy5q2gaykvja3dga4l64q9zjxknkm50vj6dj23";
-"exp-testopt.source-0.3"="1xfp15q94icdq773ivdvk4n47i2k3g3y9smdvmxw5m9f35nayypl";
-"expdlist-2.4"="09yhcdbx3n7gj3g2v2yh4navgdf5ik4x281h51kd1lzdzbbnf3aa";
-"expdlist.doc-2.4"="1qgwn2ignri6wh67wwjsqpbk28jch01m8fn0nw6lpc6kfa4a9g6v";
-"expdlist.source-2.4"="1m8dww4i5w0hivs904v8ls1dhs35vp3qpbb44ihwha0zsbvghabk";
-"export-1.8"="0la9v2m3n15hgds8mmp1c56dz0a7iqygjk2qnd99n5924n187wyd";
-"export.doc-1.8"="0ipbs7rdwjp6jrr4drgcs73mc8fy6bav24qfda1an7byglgcf2nm";
-"export.source-1.8"="1q3xbj3zicbizadihwb6b75c4d95b6wq0adi45wbqf6hzj05bd5x";
-"exsheets-0.21k"="1ymcfy9i2ll048sc0gyljcbwa06m9q0g6nxp3csvk4a367wv9cxa";
-"exsheets.doc-0.21k"="1l3ln3xkniyfgmhrs37rixszacsvalwq78fyh72v8ca61krxd35q";
-"exsol-1.4"="1jlkz4c29bn3wrzlbyxzz9jl7f6iiyvz89r5r2cvnlhfai83lk6c";
-"exsol.doc-1.4"="1z663c69w62v8fcm25ikaw58q3kxrh2mh357zjhgi8ki72wjwja3";
-"exsol.source-1.4"="1ja9w1k43v1yjfa1jhbzghdqha6i19lc6hsgsncr0zjm4ky104w9";
-"extract-1.9a"="0yfxyzmicqczvn6pc7ykakpm2hjsrsb243n1bs0crjsvacw29hb2";
-"extract.doc-1.9a"="0lkljkwf22vq88nj21ca023ysa0hmgcsh7a0xhk210ba01a9433f";
-"extract.source-1.9a"="1h06ji378l32a18nbf2plhk4q3vzihc541d0wkw80ik53m0frn0k";
-"facsimile-1.0"="0mfzqrn76b2nhz60rqjdr55s6i9fzw96ya74nncvdjjcvaqpjrjk";
-"facsimile.doc-1.0"="1i3vv6a8r1mmkmpjwr66r0isha7s5ksp5cwgx3rj9sl3wfnywsfz";
-"facsimile.source-1.0"="0icxnmiwmrjsp1lhhdkcgsjif1s396lkdxp73vz59afzhwdm6l0b";
-"factura-4.00"="1jlql1yfkcrsbfbgjdwhaz8rjcmm1d64z0na93ycgldv7k8q87ly";
-"factura.doc-4.00"="0cw8gkcacf93xhj58j8zxnf6xn8cp27z98jlhdha3kic4k2w79q9";
-"factura.source-4.00"="1gzhz8ighvggbybjcvcnbnk79j679i1vjqizwdvbky1qpykgiz96";
-"fancyhandout-46411"="0fgyvrww1h79bvwf77h83p2lwff5b564gk8cjjnkp26zjpphah22";
-"fancyhandout.doc-46411"="0r5wzyw7z8gsm2k1y06h9gj5cfxnclawicxdjpq50dnb6233ac08";
-"fancylabel-1.1"="0fyrhiknwb658rg4lkdkfb221yrvzfs5g2rmxfas69p6aambyv36";
-"fancylabel.doc-1.1"="0fpxag39xa2piybkb19fldg3ykwb26sg700jp8hy6kgb8afp4hrw";
-"fancylabel.source-1.1"="13hx2k4i8ji3a9kxd8j2j177l4d5asz79r9v707d8i8vkxcm1ild";
-"fancynum-0.92"="0vfis38yawys70hv4vrrnyy820dj89dqp38jbg199pbb8y0qf1kc";
-"fancynum.doc-0.92"="01f7d3him9gcm7p8567ljamwrg2jl25xs7w6jm05l89dkcb34fdh";
-"fancynum.source-0.92"="0cfm5da0gk4y8plad5khzhf9gjyayxmca67qpvdj296p86xxdi32";
-"fancypar-1.2"="0d0yl486lw3lwk5p893s91z954065j0yjx23a3na1j9ngw1lbijs";
-"fancypar.doc-1.2"="012m4rrp9j89ahkm4nh40kn6xfd9rxqsyyf5kpf0n5yii9yb2qwj";
-"fancypar.source-1.2"="0rbzph490cfwybjdqndnm7xdgb1ffbciv9pxs21wbvgvyh1cc9gd";
-"fancyslides-1.0"="0hfa5jklvybgx9rji032rdmyh2qr63fkyanvvs0jmg1bkpqw7s03";
-"fancyslides.doc-1.0"="0nqqvkv9gsl3jp22rjkxrzklpz6dfmm3wy3mc9f15jv9iy2zlrr9";
-"fancytabs-1.9"="0yxr24fnjabfzhyvfj7nhn26cc7hi08byw7zzmky3nnynxnxc2p6";
-"fancytabs.doc-1.9"="0f9b7rvnz5syq5dghj426k9ypppjg4q9wzs8v3jl8af94xy7zrig";
-"fancytabs.source-1.9"="10p8hb18qrwp2dxsjybrawnlryl97k854l11c0327r39qiya61ns";
-"fancytooltips-1.8"="18hygq6ks8pihlamr1pyvmsrbsl8wa0kx2qy8san53hd450lqn0y";
-"fancytooltips.doc-1.8"="0q28xlckjlm231r14ysl05ic3kb6aa5qnwv9x0qj3iz3lmyfq9zs";
-"fancytooltips.source-1.8"="0nhmjrivw8a2xhblhxnjbyvmz4hp68sjxnnfzmqyrf1agjgwz8m0";
-"fbox-0.05"="18974iy4qh17kmhzjrbnzm208y5wv4bq7aq9l4cdqnvzacnkad0i";
-"fbox.doc-0.05"="1m81a4n1ar5k5rpsjfbmqnwd2mnrhidl4bfgd8jmmlxnsfd59q4q";
-"fcolumn-1.3"="19in9l9wg7wb454ffmfhnmhrchf2m5fbw0kzk637k4bb5w8c48xs";
-"fcolumn.doc-1.3"="1fqgwd0lw8g1w0bifz6wdl6mx4378phzdpr5xbinzflmzzj2s700";
-"fcolumn.source-1.3"="156wmyx2i9fgvzfc9b9h3xxfii6jda2q7rhjqpbcqb650q3nfy6v";
-"fetchcls-1.0"="1pccfz68chmnbfi9qnrmdnyq5kvkq6ir5dl09jqbjlcw7hw82ka0";
-"fetchcls.doc-1.0"="0if19dgb2k75qhyka4jiijnl3msk8y8kj0fzhriarsicivwd47ds";
-"fetchcls.source-1.0"="1qb9ymkvbxmxlpcs3drcyk02bc372s0vhw6wwpig2bchb1hwdl44";
-"fewerfloatpages-1.0b"="04903zr0lk50i88vywpbzpg908zkmy0w8vcfks55cmbfb2ja37qd";
-"fewerfloatpages.doc-1.0b"="16hb3xm2aszwlagzq9w3bi2hyanbss3s4f09sypg07dkilifdnv8";
-"fewerfloatpages.source-1.0b"="17rcaydy16vqnlgn76ijhjlv2jcnw962wrsssca8z8y6dfvy0aqs";
-"ffslides-38895"="1mpfpawdhh16rl6pnvxnkj95gf9hjs49gj7cwfyngmqkjc2idi8j";
-"ffslides.doc-38895"="0z5kpim798zxj20p70dpcgmwg4vx9mb0zrmq620sprxxdr2gd059";
-"fgruler-1.3"="0cicjknd9djh0csq1s7fx90a91yx4q25nllsyamsmp8br2c5rsyb";
-"fgruler.doc-1.3"="16lgfpapgn487yilf94lg029mcc0xqgyc2jv928fbwvs3lwgsc95";
-"fgruler.source-1.3"="1xg8zr5rjcmyz9qh9q7pd1scrxk2ld7gyrq86p9nfhn4nfcgybb4";
-"fibeamer-1.1.8"="06gb540hvfywk1y4n6apcxn4890ya7jvc5pvjdr57896pqrs3sdw";
-"fibeamer.doc-1.1.8"="1rili08dmdl4h093m7x281hzb7g3218qsq5llc0a012ak738r4pp";
-"fibeamer.source-1.1.8"="00qzawg66pm81f3w9ick6asab9nh7axmgbpc0ckdlj89bcziqpzg";
-"fifo-stack-1.0"="14d714q6mzpag5rcn2b2454pad3mpvdz6ii8k7jdvx74ay24zphv";
-"fifo-stack.doc-1.0"="0pgvcyss7h1mynawdhpm8xid0albf5cajhz423ygz3ifi2dfrasx";
-"fifo-stack.source-1.0"="03hkqd4s9dm2h10i8pw3a6qgrjskiyhnkp4wh9r55l60wnqm80bc";
-"figsize-0.1"="1hb2fck0pz1gz6vm0ffpzn3vcm7lclagsi599bi2f2bc9ly2372p";
-"figsize.doc-0.1"="1zdncnl8nmkazvqjyamzgj1x1f5fm3kyw5m5fi669rk9dqhsiq69";
-"filecontents-1.5"="062jaqszh5fr1pjrl2hms9yngcr9xwhkfn9if53kb3wal1dn4x48";
-"filecontents.doc-1.5"="0i3fjb81chwiz6msm1k0frkfaqqcla49xhg1xq0z617y3rb59pgg";
-"filecontents.source-1.5"="1zryw6mx9vmikba8za8981h3nnx4gbbb2g3m6lm3cws0ak1h5jwy";
-"filecontentsdef-1.5"="0lrdmz5fnmrlzga1w2hr3ksydnz52lmqlnnmix7xrcp81qv9xmx0";
-"filecontentsdef.doc-1.5"="1nxb4wm4wd223f9wn7x8j805ybximrk0v6n1l56xysz4k30jxcba";
-"filecontentsdef.source-1.5"="0n7zq8plqn1yki6azmncgdlg2lxcprfpdq5dv0qnxvpvw5dawdvp";
-"filedate-29529"="03fwpi529pp6bqwr37ns8nas236nhh7nm592rpjyrvlyv1w30ifp";
-"filedate.doc-29529"="1dywknjhl2p9590nvcpg1vi8r0iaj52dv7sn8c2y8337w37c6ny9";
-"filedate.source-29529"="0fwqs6wqw93ih2icg9b5zxgya1zbaj2sn0jd3dc8b8dm59cwggk1";
-"fileinfo-0.81a"="0x922migfx9y1nqqs9lv4ygk3cvqj88a92cj1kb9xkgykp8c6cqx";
-"fileinfo.doc-0.81a"="0rw1pdrqghgdwzyfrc0y44cj1989lrvpab4n42qxbbb9srhmary4";
-"fileinfo.source-0.81a"="0kssla41sryd278w12syrhsi5aalld94vjcmddldcc0l8l71sz5f";
-"filemod-1.2"="05lipahmxgd7cy76rz1j3p2z4k31gj4q7ihvb0zbi44g4n26hz6v";
-"filemod.doc-1.2"="138481q84a436a9ns587qcmmsv7p9fb5wzz1gwla25jigx8fb4fr";
-"fink-2.2.1"="1pk9qp2cbc1yagrgnjz6rnldn6zgcb6bw3vi452ks4fwic4pgwz8";
-"fink.doc-2.2.1"="19fnaw32vgjpj991n5nlb0hwac92kmny3zc483wffbhbca1nkdck";
-"fink.source-2.2.1"="1dm06hhp311xjfjjjpw66hmm52yivjhgkpwpif25cvq1z8dfgw2h";
-"finstrut-0.5"="148pca47nggxv9dyg5n0p40ri1mqz5chj4ir49472w62c8zh83fk";
-"finstrut.doc-0.5"="1jrxyksw0bldvf5faykbpcngjfx06y83q81rs3k3m6vldm3rw23d";
-"finstrut.source-0.5"="179640qn5swml0wrc1glvbf94ia5y6s1qlyf3hf2vmr3vih7k2mh";
-"fithesis-0.3.51"="0f57kk9w709j938sndpjaqqkk4ma41c3mhr7cxw9hyabis41n92k";
-"fithesis.doc-0.3.51"="1jxhk1jv5v328zqvcnzl1hhlv6izx5cirs2knl9qv21mz3fwk6v4";
-"fithesis.source-0.3.51"="1iin58ilwrdvirarh53wdawd6zwc5pas5p5p67vgy83qf39cf214";
-"fixcmex-1.1"="063a2mwh75mdbh8syvrdldb7cj4iyvqkbkda4jm6cq3nwbq9kly0";
-"fixcmex.doc-1.1"="1c9q5srhfil0wnk84k072ridssgwbmzpskk6pwpaq8id36dydvlm";
-"fixcmex.source-1.1"="1h3xrdz9anb2cxr8p175rrcjvaawv80cj3bp9l6bcpli6yb6fdfr";
-"fixfoot-0.3a"="1zszczpwcggczq428ha84g71rvgml2zrx2v74nmk1damcp35pzlv";
-"fixfoot.doc-0.3a"="07zdbq43l9yddc9gi4i2qqpvz0xxmkhxgg3wl329j25p4h58amra";
-"fixme-4.5"="167003w7a4xhy35fj6xm7mx1hvqn1bh1b563sih3adrwyrdnqjbd";
-"fixme.doc-4.5"="03qddrr56q77h8qhrx9kryx1d0cab6lzcngsbmyzaj1g81hvwsxl";
-"fixme.source-4.5"="01rpq9xd8rhy4fz8g1l6354pyibjsl90h591w7l7cz7v0yxldy17";
-"fixmetodonotes-0.2.2"="1pca7qpkqfd8506jcjgr1kwcymbcljzvsq47xlvvly3qzac374vv";
-"fixmetodonotes.doc-0.2.2"="0icin53y7xj0dddsi90n3hkd2wrcpymlyhfllyqfz7ac8y4xn8r2";
-"fixmetodonotes.source-0.2.2"="0aphhsamc6x1k891ybxhnqmhiwh0my9sj90x3w22gp7zhavgrww1";
-"fjodor-53207"="0gnmdc2i49529hniklcyqrfyrkfh83wbv9zmiqngw8hqmdw3zv68";
-"fjodor.doc-53207"="0dag2ial9cx9hnrhxc40nb31jvkv618jklwahgj6ckqfl89410i8";
-"flabels-1.0"="1aawdjmk8rinhjwnkjz67bq7rcp15i15dsbb9xll59nij849ppjg";
-"flabels.doc-1.0"="1yzlhd6c5b9y1r1gy7kvbrxygrkia0cz98p496nj1kdg1wr1xzbl";
-"flabels.source-1.0"="1vyjgbn2kihvzf85fg4fdg0v46nh0flic1amk7k3sdcxirn0fzvb";
-"flacards-0.1.1b"="1k1h06a22jc8wdcxf1066rn4sfgy4m3wh479f4by1zrp773gykzl";
-"flacards.doc-0.1.1b"="11hadqdf0s7zaidaxfhd6lqhl3qf7zkalf9wimi3j3plp8ln5499";
-"flagderiv-0.10"="1rnnj84vl29061hnbayz5sxp6h1civl9c9w2n3b0s56i9kxv3dd6";
-"flagderiv.doc-0.10"="0djwrp2rjyyd0wk0sg55w2l75fwj3gabd6bim1smpvjwsps0fcd0";
-"flagderiv.source-0.10"="1q0g5127vyhkjb1g0v20kd0x3p0b67a9haich1a6yp71iikl1s8p";
-"flashcards-1.0.1"="0jq9xq3i2rsrajmvlxziwijf75np9y6q6rvg1rxk620q3dzghwp4";
-"flashcards.doc-1.0.1"="1cwy5g4rxydlayaw5b68m2qrj1h5l6nzs3h4cawdgh2hdi6zd7li";
-"flashcards.source-1.0.1"="0vkldfg44kyw02zpbc66496yd8zxx68gfh40k0b592hha7ch4y4s";
-"flashmovie-0.4"="01rmqf1rg5vbxzs9wap7m8d19fw73mh3k7min4msbipvg1vqhgi5";
-"flashmovie.doc-0.4"="1lza6mv55da69v8jwjlcd08v5y2gs2s87z5h1hrsp3p3mx3chya1";
-"flipbook-0.2"="15b2nzhpgj6018769ggajya6qmhq9rnyzha0sic9fff24jwdq62x";
-"flipbook.doc-0.2"="0lf04giwsgjq0fsk6wrms4c3dg53v1lq3n0q1ij5pw4390llsqd3";
-"flippdf-2.0b"="114xvv7sv9fhqxgfz5ckydn95mrg4049ml3kg6vjjiwbilmszr2h";
-"flippdf.doc-2.0b"="1fgk3g74arazrmw6swfyq38s5gdw8knnwwf5ij0dl566cwmcfvmj";
-"flippdf.source-2.0b"="0hbw3wgdva8vkic4sz0349mdyx8dpz3k5kk0fn80m0yqpldwgkid";
-"floatflt-1.31"="15v2m2mchki2gcz0fcp3myyr806fqyy77nv9g6rqm11aqp6212bw";
-"floatflt.doc-1.31"="1d7v1m23p47rl9lln02c6bsi5mkqi7c03dhmnjhg8bqp6xfkfmaj";
-"floatflt.source-1.31"="1j53lkr1j3fp5wlb41x2vimncv2l1pc8qm7qy74i0r1xf7kfibzz";
-"floatrow-0.3b"="177knmgpv583xajihdd5q5spaainn8h35kgydq2sfi6ch6cadirh";
-"floatrow.doc-0.3b"="0py5a36gdbsd91679k4chfxy6ykj2wkjqlg4zkp5xsww6fxglskx";
-"floatrow.source-0.3b"="1mpskdqhghmgh7i3425xb985pwrcqcbfw3hlfhbyx3bhwwx5pnqx";
-"flowfram-1.17"="1ccmry6f8danw6jqdsck7pzwjsrh5vcfy99f8kzyqcbbrzl5rn8h";
-"flowfram.doc-1.17"="19rrav68s3wlwgaa4mhgqsdlr1syfpvp4jzc80cygi0fhv2hn7yi";
-"flowfram.source-1.17"="1hrs58xhwawxqd96jb5hjywbfra6az2qkap0p5zap9zkck8ixz81";
-"fmp-15878"="07ml6i8lqcz737fm33g95nx1hz1p0z251h7pgxvvvdmn5dml1l94";
-"fmp.doc-15878"="13i7axi1s8qqgdvdky20dckmsa95q2q54z7cf6zgd0znzjy6d4mp";
-"fmp.source-15878"="1fd8h6dndrc7hphs87y1lfplmkrwgn1pxgmvf00gfhgkg1zf127b";
-"fmtcount-3.07"="11d9pq2cqd1qv20wr5789bzmk0a82j4rf8y9xh4l6nf2nk9p5c3g";
-"fmtcount.doc-3.07"="09ikawga4sg27ch8rvdf9ni0k8b3nk3k84mgydlv4lrg5gb2hv12";
-"fmtcount.source-3.07"="0ijsl21nsx2kkgbcc00bzs637rq3x92ax0xbrdagkfvnrna0bg69";
-"fn2end-1.1"="0cj26s7555q49fi382pbvy65xa0yp0wbihk3y0magblyxjn72wdx";
-"fn2end.doc-1.1"="1kafhgr4c9d4pjpydd27ha1pdbxk364qv8dmcr7k3l7xlv31jv4f";
-"fnbreak-1.30"="10fh7d75a3628jrsbl04g2pc4015nsnrw1gda0ndv8bz603qc01k";
-"fnbreak.doc-1.30"="1vsv8prgd37bj141p0h92wjc7sqxxzw04czbwyk12xzpbg7d7gyp";
-"fnbreak.source-1.30"="1jf28rb0vv2xvp06awiglg4ggk6mzc6pyr1irfgyyniha54gi0ab";
-"fncychap-1.34"="0x3sjslvz1gsrr8607q9r6k8683p9zcz7p0kxvr92j9ls1prl5c4";
-"fncychap.doc-1.34"="0is37brbbdqb1szx3rwgmaqbl8vlqr82sy8svam39yrbnzd9v1k3";
-"fncylab-1.1"="13l9jmcwabifc7m9klgwl2gqypwlizy1mb7glsvp3jslpkhfj267";
-"fncylab.doc-1.1"="11w7z5q433lnzfm4c72697f82yb7rljk9zq41dl5bdb7l9wd7325";
-"fnpara-25607"="0rn4yk1zd4h2r5xhghv7v0ph0raspq4r6mw812hn80bn8rhjjrlq";
-"fnpara.doc-25607"="1w0pkqqgkq379nnqk0wx419z961l3g81ldkh8ivfhn9q5vk04p0s";
-"fnpct-1.0"="1kwfzz1mfk9700rs3hcq0l2px9qcbqlj3wv66v0bgj176g2mpjkp";
-"fnpct.doc-1.0"="1ilj77lbr7qa9wjf1m045grs7334q17xy03q73rf3si3lcdz8mqf";
-"fnumprint-1.1a"="1i04c2j1jnw9qkbv92nd4rr0zzvwwdwwk0ya5f4g4rarvw9h4z5q";
-"fnumprint.doc-1.1a"="1cwc4jv9jxxinradairp45rlr97h52vxghfxin6dwszw51ac8p7n";
-"fnumprint.source-1.1a"="15d3jpxs8zgsj40xipg3mfgir41p46c3ppwh4629a1dv4skxg2nj";
-"foilhtml-1.2"="1qnh70h01ys26spbjcq71zdhq8j7lszinv26v6ikpccsaaxnfdl8";
-"foilhtml.doc-1.2"="09b3lmxzhfa1h7nwjvidq2pd11dkz4aq3l4ciz0xh7gyslfdwvgd";
-"foilhtml.source-1.2"="0zhva600hf43h01n9ycjcjair84y0wzpn00z6ihyh8s6g199g428";
-"fontsetup-1.009"="107sk7dnbfxv564n7xggi3m7qyzv9vlpn4knnsimra6dcnk8zlp6";
-"fontsetup.doc-1.009"="04b6rzah9vcaixl88ybgx99fqiiw1kb2wcdl1lqm03f3vmfxa4d9";
-"fontsize-0.8.1"="08c2zgkicn7i82q2y9m0pv6ld103yjhq6vw2yvldivayjgzrkzs6";
-"fontsize.doc-0.8.1"="161ccr3rpjgdax47bl4lspn13ivzg8jl0qjn54b3srcjj3cwzrhf";
-"fontsize.source-0.8.1"="0yp7j3480ka17kqadfkvhjmwmxrqzgzaz88qfya8b81b4b19xhwf";
-"fonttable-1.6c"="1vz99pfw4akid9hjf7dcqf1fx5h30sr25i1f9q6a9frk0wpwff72";
-"fonttable.doc-1.6c"="1inb0ai6q8rjsrcwgv8ns6as60ifdidqzqb8x9ygaw3j5ykzr02q";
-"fonttable.source-1.6c"="1qjilvy77072jpbdc4p4qfy5d4n2ww2wcm5drwvai6p2aclqf29x";
-"footmisc-5.5b"="1lnvcwxyq3328m7lrdv8plzzvphwz6206y1y3c025g50k11jvkil";
-"footmisc.doc-5.5b"="01bcysxxzlvmya4npjryflgbn9bqiza3b9hjin5csljfmgpkkypn";
-"footmisc.source-5.5b"="1wh9sq39amiqp79wy23flqv7a415k56ik7hdrgvfxgq8sk6aysml";
-"footmisx-20161201"="0f6csxzkwbf4nlw6z9rfyys1f7fc0vpdi2m36g7y3k9l3j6wb3mq";
-"footmisx.doc-20161201"="1962sivh4jipsxd0z0cpzpd0jdw8v4afbpzfinklivnla2c9hp4g";
-"footmisx.source-20161201"="09w5bfx94533q36z3k0a1sf9jx6acz85qgqypgn6b0b5mkhjsmar";
-"footnotebackref-1.0"="12vxch1i8x0k8d760vgq61i7j3kkylgbcxj6ggdv8wzd20h4izyc";
-"footnotebackref.doc-1.0"="09dvvnjvika3617zx438ca8z3fmdkqbxx9y73pdhn6gaggfmzr72";
-"footnoterange-1.0c"="1k5xz3xjcgr3a23yfyw3zrh28hxqcr5djl4g3zly5ackq7q2m19p";
-"footnoterange.doc-1.0c"="05rwaqpnfsmgcyx9f88vw766iz57g8vy1il0vp6cky787lr047zd";
-"footnoterange.source-1.0c"="15asynssisdgz6py0f024g7fjf1rpsv9v0k1v4l3fjw8ppp5ddns";
-"footnpag-15878"="1qdl7lpfy5nn6qx026b9aqz8nfs958grh443lkqyxnrnws0n2nww";
-"footnpag.doc-15878"="006w2w6aga9zazlk8sv8maqi4s1rdzqyphp0lpa8qv5q23vcdhl6";
-"footnpag.source-15878"="1hh2754as2yrmfz4hiyyl8nlshsfdhpgpg3ifhs6h5s0xz947rw0";
-"forarray-1.01"="0cn062f805lgy5m45q6flxj5w6gjfa4w1ip7zmhxd2z09s962jf8";
-"forarray.doc-1.01"="1d6m425lfg1g8arjyz4j3q9253rdmfaabaasbpd2ynhjr1abfh3c";
-"forarray.source-1.01"="0dpqr0hff33ddfw6vs0pnk8yhaa4gxkxgn43qgx06mx1srv6rz1i";
-"foreign-2.7"="1hqmhy3l2hsjf2hkxhrsdc3z1mn3zx8718w90g8152x9k84bf7jw";
-"foreign.doc-2.7"="1gnaazl1ds76sqdpbj773k80isyf5hmjxh22p3hs9zxcpnvdhng7";
-"foreign.source-2.7"="1ziafjxcncsba0gbn1qjf2w2gn2g9z55bpcff71hr9axhp8xgpgf";
-"forloop-3.0"="1s89z93fvsj2h4w1g8ak512mnnfmd3pjvwbgwym6y0dc428sp5k6";
-"forloop.doc-3.0"="03s4w726zmx10s1xdwyrag86lw84qf4rc3vcdn4g1mhm1cwqg756";
-"forloop.source-3.0"="07bjxa18cszvffxbvrzg26fpp77a5vvmywrr625qyx8v84khcs4f";
-"formlett-2.3"="1gjdgl26ma0sh15yrgi8kpy4sq268jkz9jmyw66iy3d4k9ybggsm";
-"formlett.doc-2.3"="1mm2m4qgiz0aplbyf3rwzhpfzhyg3mfmzc00z35kv6s5phcmlnf1";
-"forms16be-1.3"="140xh5578cpjn6mfwnghy38alz4av25gha09gl7c7qxljgpc2a7i";
-"forms16be.doc-1.3"="0wa6pyn8l8d14d47kqvwvsnkv2s9mxfhmzan7jgzfrmkb74h7xlx";
-"forms16be.source-1.3"="1l3ci86wl6an48a68vfh4ynajq6j3br8wbafm8w8c0x810hb141w";
-"formular-1.0a"="16h5hf50ngqarcxk4gjs9x9mcycmj5cqwy5pb6ffpj9xbsxn4r8i";
-"formular.doc-1.0a"="19aq7sbghvrif72x7vzvabrhwj7lgsddsbdqbkv9vhmp82452vyy";
-"formular.source-1.0a"="1s8ngbw6s163dzj9mi629yd4fisxr1gl8w8i618my426szc1vrcx";
-"fragments-15878"="02m23bx1p090m6w1frb2k6m0cv6jk8d9fdbmjscwa7c9c55qh5gd";
-"fragments.doc-15878"="11kj5gczbhb0imfsf30hc74s50iwq4zfs79j6kv62ib6v3p32mm5";
-"frame-1.0"="17r35x914f3h72drsszy74ir5phcxmkrcvwlrfd11li0lsmiyj62";
-"frame.doc-1.0"="0888jcccsnlpzkynpg8mvxy2mnb2d3xz41bi341q9fdbbzs5lmnn";
-"framed-0.96"="0fp0zbq3bjfqx87zb01m5ffn8kw8044vkz8b9cfndz1ki64d9x4r";
-"framed.doc-0.96"="1pjnqy8zl5zkadpkvwa35khwjk1nxg9pq0h1wqwgrdvqk6gj0cbi";
-"frankenstein-15878"="0zj1gcl4gab78qcs2rv5i9y4q234iz731x2hnab169ygql4d95i8";
-"frankenstein.doc-15878"="0x1fp5xc2qlx0pac2vqm8567fdh8i97k25ixr28w7fzwl9xnm91x";
-"frankenstein.source-15878"="0ag37z3klcy0jvcvvj7v14clx2dvv6q43lh6gw83rpsx51v9wza4";
-"frege-1.3"="1n0qak8xsi8wlg7r2daszdvi3hv9gmp7i04phcnx4hnlr68842d9";
-"frege.doc-1.3"="0hb7a6c0i0jk8cvv2vfr743ysqn2vh1y6amy7arc4zafi097nwly";
-"froufrou-1.2"="1790fjq69nmbgh9ghychrkcc5mq6pnvb7szcj4ikgmajdaxa3kza";
-"froufrou.doc-1.2"="11s2hrxr7byzhk66qczgwazqyb8rwpba1r1i0g6psnzmh0pfdgw1";
-"froufrou.source-1.2"="1g9lrwwrjczak9003dvrzqps5agylasjvvzg8dwmckm627jya6ir";
-"ftcap-1.4"="0dbrhynslppw5nrdvikzdkfvilzr909ypc9v8nxpa3yh4zln182d";
-"ftcap.doc-1.4"="0iq7lq25gzyc85wpmr93a8ivgc9038rs80mvhm46zdrrixh5ry21";
-"ftnxtra-0.1"="07fazshsyqng62sfbnjhxglscw707jmn5lz1ws6avq8c5chs70pb";
-"ftnxtra.doc-0.1"="0a100iy3imy2x6rgv8pgkid75ah21684ddm6vda58gv8yzfz9fyd";
-"ftnxtra.source-0.1"="1ips0zm2cka9wh4474sc283102s6r9hvr4if7lhd04c92f40r3my";
-"fullblck-1.03"="1bxnzkidpszq5l2kfilrn8ny1gw680gcx9gz9975vylh5kissrmh";
-"fullblck.doc-1.03"="0zj229qkv3zdf2gz6qkgblj33zdhf8zixy59gqm4v69ld491wvh1";
-"fullblck.source-1.03"="0arshfc79aljbpfnnq5rhi7gc9sqhlx002xqg46wrq125cgdj13q";
-"fullminipage-0.1.1"="0zy9vk5a0bljq3my17fw4jl8rhd7vdzcmw550ps8zbjbhxphssrc";
-"fullminipage.doc-0.1.1"="1n9lzacq920lmc18rhavz17xnm92lm964pglf6j8i7yyj5aib61c";
-"fullminipage.source-0.1.1"="16q6f9nss1jx3pw1xq0j82y4gn70hdjaj9m7pq3947m6bkyz92vd";
-"fullwidth-0.1"="1kis1p158phkwxdfhpb4ihfs2w7wywj1lighc44sfkpima9c4nmx";
-"fullwidth.doc-0.1"="056k7w66rh0z1kxf1m91sbjhg8kdy9jvfkwm3jmi5mkclil5ihi9";
-"fundus-calligra-1.2"="1rnrqblg06qkwcy7f460pd1hnh4bwl47zyswa1iv4iknx00rd8a2";
-"fundus-calligra.doc-1.2"="0jvbvalqyj0kyf6cwr6zf18ylckh3fwpshwhmnv7ldg5r1ylia9j";
-"fundus-calligra.source-1.2"="14a0d7d8mlsw7qwpspqc2rmcdyhnfy6l7f57bk9v9jc8pg9fxb6m";
-"fundus-cyr-26019"="02zz37h71nqq0f4sf00fiw80pq1q3yadnhqm2j3niz13gms9ydl2";
-"fundus-sueterlin-1.2"="1zpcss3lzhc9zkh8b91138ycwj8pihch318zr9pc6bl3ifq37wq1";
-"fundus-sueterlin.doc-1.2"="1pjka7j1378bqa32h0b2dcinf6ayjmzcbm4c1sdw6dsvrzbnda3f";
-"fundus-sueterlin.source-1.2"="1y4bg8r2hmpa38hdgkrk99v87cphikdb7sq5x9aczbmwwgmgw8fp";
-"fvextra-1.4"="0qx1rzvaai2571c3fmlc9whij7wjmgqznrddannpfim6vrnsiklx";
-"fvextra.doc-1.4"="17096sy285z8qy8556ji6zgwn4wcmqchdshxn3s6b3gz9gpmdz00";
-"fvextra.source-1.4"="1x2vswnng9v8ngvfwy1zpg2ivid9xdrk605gahp8h9gxlrkhsm8n";
-"fwlw-29803"="1qwlknaljj8f1cpnln328az913cdwypr7w8m8iqbqiqhsl49siap";
-"fwlw.doc-29803"="1cib3id21xblai43gkn78ypz6n99vwzhzmpdifdm8wv001x7wb82";
-"g-brief-4.0.3"="0w0i9mqc5wg9za3n99i3fkn4bw78l8kf6glh0k6rvrzss0sg79cj";
-"g-brief.doc-4.0.3"="1ikasv5w1xr5ms6836q1bnk7b87s24m15mnwsbdyf7cnsh267x6k";
-"g-brief.source-4.0.3"="01j6zxs8vpiiimc10hhl93xcixwlzsih5k56n7v9a1a3czgymad6";
-"gatherenum-1.8"="1b5j4106mjdswm519nb9sswnpnna5v6wcy4p8xbccv01044iqlk1";
-"gatherenum.doc-1.8"="0afd1c352075ix46y0jrhfwlbsaibchvz3xs916qi3hd8a90hbpx";
-"gatherenum.source-1.8"="05dri0sgr8h29q3zxcsyhplhrkj1wllfb42d8scy6hp4mkmbsr06";
-"gauss-32934"="0jsbvm7sh7bhs5yfl17fj1gbdqgpm7qchf07y3p7k0rxxg0f482z";
-"gauss.doc-32934"="1f6ycdq3lpylkdwja4f89plz7wpnz73wzgjz74far6r9wr026443";
-"gcard-15878"="1pcxw9mg6hadr5c6m4z3pdzs0b9jw22injdlk46xxhqy5gsafa7v";
-"gcard.doc-15878"="03686fg2fw1k1j5rrskxpb0yjn2n5l697l66gww90jysq9546iag";
-"gcite-1.0.1"="0dl1plmbn4i5hzmjz48hyfl5wj819pg6k1kjsdycx4wi0d9ff2pr";
-"gcite.doc-1.0.1"="175151qpcykxsf1a6g9v6mkhr6m9cm5miw3ys6j5csrqm3vsl604";
-"gcite.source-1.0.1"="08h5kxah5q9105n1awlrmiy0zrl3rafb8v3nwp4qfakr83q3vf3k";
-"gender-1.0"="0skwbiclrpl1n55dr3lkw86dvqy3f1n0b271ygsz6rr3qa43478r";
-"gender.doc-1.0"="1gamaakkqqf37cwwzxjbyfhz25gdzayzdkqk60xls9flp7227hbr";
-"gender.source-1.0"="1l5p8ib5lbvq2b8pizpwpbcv8aslmi8dd554win7ssd6vhgb68j1";
-"genmpage-0.3.1"="0fr4m2y3vfymlwk7ik7rymifyam2jhbxn3qr2sj40zbcr9wbah6n";
-"genmpage.doc-0.3.1"="12fxwrz5gpswyf523wm1pg99zilkgrpq8z3ls5gw9j7bdb71nj1l";
-"genmpage.source-0.3.1"="0q7acjs7g1xh5kcmrg20k9jayaf5vxz5p5amjjd4xj4rnb1wdlj1";
-"getfiledate-1.2"="1bhqqsvykrmqlgd8whfwxm8bkcqdfzm182ryngq8s6yl9vx39ck5";
-"getfiledate.doc-1.2"="1jdsnf020iyiyxaabyaxp0nzf02s4kqmm8qf02vaclmbqhciicf2";
-"getitems-1.0"="1n02xiwch25vv9qk3rqddsm54nhp4fkwi3i5a7r3285md2b4vsiw";
-"getitems.doc-1.0"="1m2wfxyqkbfk7zk1czmqp8wwmqd091zijqxvanjxf7azxfmlnvwz";
-"getitems.source-1.0"="0njzl590bsmdnvm1gfqfjf5xpj9mj5ijjxjjxiya0741ylhwv6p1";
-"gindex-0.2"="0llk0aaa43n4in5am3ziqvkl1c35q27am5xk1naszwlqxcn4lx42";
-"gindex.doc-0.2"="0fpy0kvkj84vg1jz80jaz26k73rijrldy4m1p1xl3ccc7dxvr299";
-"ginpenc-1.0"="1brakvxxrm1gahl609psp4na8ylkggfs534nysnrijq6vf4r1ryc";
-"ginpenc.doc-1.0"="0d4q0n0wh45ndqgd2zk254791lcvzrxz4alr2bnm9akcfbv03jz2";
-"ginpenc.source-1.0"="0jw7qa8wrb20wf8dsaxinkrvfyjdsndd9izxs549dj19whf1jmfy";
-"gitfile-info-0.5"="0qk6r9fiv44hamlqvsgpm75nd68sgj81sgy93zsylypp15283z2b";
-"gitfile-info.doc-0.5"="053x23sq6657lddjyk9bzadwydfh4zxl78gxl1payxmbl9pj925i";
-"gitfile-info.source-0.5"="0fnrwcjfji5pbkh4kdsishfy85gqcvcmfqxwr5s1n3bm3prgfc8b";
-"gitinfo-1.0"="1n8mm4g7bmiawd7l7xhx9fcxv7z3l629bj21i6j9s0rfd6c7mzz2";
-"gitinfo.doc-1.0"="1ip59qxlqzrn8y211691cv4bg8d0yxkyvbpxw8xpzg99fpp3isqx";
-"gitinfo2-2.0.7"="0k3vw12yh13q1v21bz7i3m32s1w49pk13rg3c0d0l1pcx0wwz20i";
-"gitinfo2.doc-2.0.7"="0586h9c1kp5cg7gk67xhy5fbshpskrmfb81m4xncaxg6ajaljk7n";
-"gitlog-0.0.beta"="1v0zpfry2rz6xvm92gzhabc9sa157kylvp6jg298kdsbr2limn3k";
-"gitlog.doc-0.0.beta"="0pd1f42qmka0wh9b8m15nk69p6isqp74b5qkjg6ymwbabqxbcbl0";
-"gitver-1.3"="1iazzsks5ki7xvc6sm9mbf7ry2rw4xlnjcypb8gxpv55cf6mxnbn";
-"gitver.doc-1.3"="0b9dc6rbfrh2r4hvy9hmyg190229gva32cn9j1bsg1jf633l2yvh";
-"globalvals-1.1"="1kgzrymfd5lzvb9dqlb4cgxfszpzhvad859r7sl0dl282596apgl";
-"globalvals.doc-1.1"="0c2qf5fqn4n8lhifvi4731r3vifwxp7h9sfd4c26d2nm1w42hv7d";
-"gloss-1.5.2"="09d8r16dwl26a76a2gky152bafjip3r3hf41bxxcb60sjvnz2qva";
-"gloss.doc-1.5.2"="10vgsm0cvcbfxwi7ly38lsvvg139y6abmdsv91qxq3s1pn1qxg6d";
-"glossaries-4.46"="1jmydwbz5rqf2ljbhi1af2r9fjpni1kym3fv3rikr7mqawqsp6ir";
-"glossaries.doc-4.46"="11ccsky6m4flpjcfic54569pmgqdqllaivh8czxl6znc79lzq46b";
-"glossaries.source-4.46"="1cghqqd09n5raz1y71v2z04hwva0vsgl0nrxm14mh0396k3cp0ry";
-"glossaries-danish-1.0"="0qdyvkx33a9jgfa7y1pbm1lg5v1ba4xrxxg0hyfqi0pmpkajqb87";
-"glossaries-danish.doc-1.0"="0gvpcl8881g9xfcxhpa3h3c5zc3467ak8mhmr4szgjrsi4nsrnv6";
-"glossaries-danish.source-1.0"="1823i0b0firwzz9038wag2qg2h39az1xsj8484w36kbij8q7ygld";
-"glossaries-dutch-1.1"="1ipxgp919h2jh5jajq72dwaf6v5qi7xjplcihjy8j88zakd9iacs";
-"glossaries-dutch.doc-1.1"="10k1xh64rzgcddzaz7qawb2qd353j79xn3754byhn4d1kz6nihxw";
-"glossaries-dutch.source-1.1"="0g2kfnxmnnqz8y095b125d7ira54s5dpb5shfqld7m52cranscy8";
-"glossaries-english-1.0"="15nm7bz90ijx674p16d596jssi5915iy43wc1qb6gbbk4s8y9h3c";
-"glossaries-english.doc-1.0"="1dckvl8g0visp5j8ip9kvmis7qw1n81xpjw136bnbm28y7a5m4sn";
-"glossaries-english.source-1.0"="0x2iw6g9a6dzw22p05n3v7vbif8svhnw9sjqfmxn020jqnajza0d";
-"glossaries-estonian-1.0"="1p2d21rx6vs8gcsalbf5kjyhmz71gbbn10c4j4lsy7rqcb97zi99";
-"glossaries-estonian.doc-1.0"="0q8rsf08snd2p4nkfz2ry7rmsbdpixgn14n1mk4wkjclrbnjszgs";
-"glossaries-estonian.source-1.0"="15xi0xl53jxfqsz7dwbmcrnlshvs2zbdq38v3izlyz47aaf6ajdx";
-"glossaries-extra-1.45"="0asj8vhfb6bbjbdvcfjv7wh7wpgp29ldm9x45hjkj3iib8f8z6pm";
-"glossaries-extra.doc-1.45"="05i9mll0qszgdkkpmckk55qwy5i9hc8jz985w61a1cf45w2wwixn";
-"glossaries-extra.source-1.45"="1nrs8rkf0wdmdvga9d3ala1hvs9vxpbsmi309374i80wqhczfcda";
-"glossaries-finnish-1.0"="18la9s6gblpqdqa1vcvsddzfxadssnd1mrg6iwl4aarq57605cql";
-"glossaries-finnish.doc-1.0"="0zjwasnxi1fzc3xq8xjmgyrfcxpf3sbfgh6nzz60zdxd8sz1wvfz";
-"glossaries-finnish.source-1.0"="0jfvjka4i94vh88jfpyysm6r1q9wwg7q29s5ik8d3da9g3n1bhyj";
-"glossaries-french-1.1"="03i8xx80d740c5yv3i83zbxpm9kckzj2kbdsakxa3sp9b0j0jk0b";
-"glossaries-french.doc-1.1"="1k5gkdj5madigzvs138r360nrg6d3fn145xf8g708bk43r92100r";
-"glossaries-french.source-1.1"="0fhi17x6kk73mismll255b9nsr8hm147zd0n3rcndbih9ray6c6a";
-"glossaries-german-1.0"="0h30icsisgk45ghhmngda0nqsjzsm23hay0sxch00ix5qcd19s27";
-"glossaries-german.doc-1.0"="0jmkcq9h2kfjzfwysfps7nqjl7f0zmh5s60ww9kll8ypdd4a1n0s";
-"glossaries-german.source-1.0"="085xarcnj5cvkljz70m27c7390jpj8kwndpyb762pr26dxvgspqh";
-"glossaries-irish-1.0"="0xyijjl1mffhmwlx7b7rprzl4rvhb2h8jdsx2jq86qg5gxd6c4r6";
-"glossaries-irish.doc-1.0"="0kic0jhmwiik3y2gipncii6j4348qkxbvkzs3sp9678xjl6j5zl8";
-"glossaries-irish.source-1.0"="12qdj6wfgrw6j4vdlkv0bcknnamb09vsyxdmyd094hwgi4cs7wi1";
-"glossaries-italian-1.0"="1dwvjb91jn93jbvh0idvn3nxm6s7frxyvc5a7yszyisfbaxx917v";
-"glossaries-italian.doc-1.0"="0sb6kzw87nh2vznwhky087017c6338jhqahgh4ljmzan9h3imk84";
-"glossaries-italian.source-1.0"="0hj3wdzdrjv9aciqgj68ihaalvarimi85vff0hf6isnmja5pwg28";
-"glossaries-magyar-1.0"="0y1540a4f531mc8fqpxv50d25a78waipkhhjvgnilbh7p1l3cf04";
-"glossaries-magyar.doc-1.0"="1sgndhgxlbhfjg22hpqazyd4zrqmkiahjfwhhwv1nk4dnn1rflcp";
-"glossaries-magyar.source-1.0"="08m0srsv9nspqfzab0g276rimzw64hg9i6dddi7fy9pc55iikfky";
-"glossaries-nynorsk-1.0"="19di0liyrqgi4vb0aiw3p507klaszwbdmsxjh09snp7jyri2rd43";
-"glossaries-nynorsk.doc-1.0"="18l362siz2p65qhb2vfgqdnczqwcgcd33qq8c0c1h3vqmsmcjfvb";
-"glossaries-nynorsk.source-1.0"="1diq7h06jw2s26jrbb44amniqyipdndzidf2z122xyc9cgcwzcwm";
-"glossaries-polish-1.0"="1pm5c1i0zfzj32p75cj014n2kdlfhfp6zlh09y5y8a7cfdsbcjdj";
-"glossaries-polish.doc-1.0"="1r0igixgkwcp7h3aslj7kmchxz32qp09vdan6w2garkgj1nspnv8";
-"glossaries-polish.source-1.0"="0zg3pfjg03kcrqm4b3s2bb9z3jhlga85hzd1n83pbrvf7fph4ld2";
-"glossaries-portuges-1.1"="1gjadmklh6lsx5drjqgph31z3x0g4xy11g074hm4y2zgziidkbyd";
-"glossaries-portuges.doc-1.1"="1cbzpx932chvxrf4myhy6bg4jrj05nkr2l2g893k6k7xgm2i1m7y";
-"glossaries-portuges.source-1.1"="0cz40x5s9whyr7r7w8gmw9gm119xmbb1qkhz19zfijg6nnq2yig2";
-"glossaries-serbian-1.0"="1nbpnq50kki9i2i2dlj2x9ldy6g0in0mz54ii107m8fc66g90vi8";
-"glossaries-serbian.doc-1.0"="1cx33aqm3qcj94rl6n71wm0sq2kc29r1wny3bwwpqg5mp3bw2g8g";
-"glossaries-serbian.source-1.0"="1vgihxf778vvf86rka345qmnbv5s2ma1b5h47s2f15x8bjx4xy9r";
-"glossaries-slovene-1.0"="0i74cn88m4llskd371z5xakw0s1gdgfmc01i55xqmc3j1n5cayh6";
-"glossaries-slovene.doc-1.0"="1bfw6dnj6vcz0v6i8dhy2ffd6vbjqihqshkzhnwrrc858rzgahiv";
-"glossaries-slovene.source-1.0"="02c4gvv1qvhbznxlxff6kx976whcv80c15k2jxsgd6bira50414r";
-"glossaries-spanish-1.0"="1wg894gdkqkm2mpzixgpnsd5hzbvvviba7izbshiihhldsijs60d";
-"glossaries-spanish.doc-1.0"="0zkfg3zk204q8a4xj00ibixqi0j3ll4531vrbavafm8b9qjl93xr";
-"glossaries-spanish.source-1.0"="01hnx7zkqlb4r549252y3nsqrj8ywi30ci27r5n1p846jv366lxc";
-"gmdoc-0.993"="07hf9413bmj1iv1g13wnngfb07fjb11162pz1769dz5si4av5nmm";
-"gmdoc.doc-0.993"="1p3zpf3rmmmvaam534vyw2n8r3klfxlk36jk19pk5akqwxwv754r";
-"gmdoc-enhance-0.2"="15c1bah1lxa4ap43287qm24nmcml5g8a62plq0wsdhbd07w51h34";
-"gmdoc-enhance.doc-0.2"="1fy3y1f53frsv09vz74n7v8gv1wscga6h4di9wfspwan1x3kdp76";
-"gmdoc-enhance.source-0.2"="067ind9qmah7w93bhwg9vfj8nyps60gsvbxmx7qhkr6c1cxqa8wr";
-"gmiflink-0.97"="1b7gbvkhscb2p4yhcwd8mlh3fsvgfq8g6876s1brygnp9lsz7cxn";
-"gmiflink.doc-0.97"="189srmaykk4pmm3p65p0i00ycisr2bdvb51r6ddn4rjbliv6i9gd";
-"gmutils-0.996"="1yf7r1bqv7kid7v65bv56w4an5nx22fhxzh67fh7r9y8msrz86lh";
-"gmutils.doc-0.996"="1xplwkdjdcz76rmmmnv8zfp3fj104b1vag6rzrxj7ap9k8zzc40f";
-"gmverb-0.98"="1mqmi97imyr63ff0qyv797sipncqizbx9cvlg49wxnf3bjyk2ki2";
-"gmverb.doc-0.98"="0r9sygczigi52piyk4zgw807zjr0jl4babj3qmnnsg0qclhvaqnq";
-"grabbox-1.4"="1w9gmzwzy8dmk5rymwhn75rlciszk2wyx9yiiqn3npz872b55sf2";
-"grabbox.doc-1.4"="1h4fzi0199gfzdsx3f4pz76q14lv90sgad8ixfixn4kq6zywg4cs";
-"grabbox.source-1.4"="0sg5ahgxmm6vwa2ng0w8dmgxb4d3x14929i8apkm21bainhaxg4d";
-"graphbox-1.1"="1hvhadbpd988nvrlcppvv3bnm5lzmlnxgwmfp6r4mgsr1q7xgg6j";
-"graphbox.doc-1.1"="1gls7j4753s16q6lgdsaa3yg8fc4vzxh74z7qr2ykz9b8ij0sdr5";
-"graphbox.source-1.1"="0nfmfn7y1qqbm4yifqxfpxn9yw2xb9yj4smv9fmxrs57ism8d9dp";
-"graphicx-psmin-1.2"="1sz53s8j6rn37xz1kkw0zr85625qki05zfvj6zpyw1yxay86r89w";
-"graphicx-psmin.doc-1.2"="1fjg0pwh8qxk79mmrpgnwps50r8hvw6hqsjd2cp021wkqcyk5zb1";
-"graphicx-psmin.source-1.2"="1rjl35jhy6dwja782xwh0qp3bxyw6ziha6fw5qbaq16jfy8hs95q";
-"graphicxbox-1.0"="1pl1x7n7yv7grkplpx7fflfi4cwzmkmh8nnd77i2n5wdlylyabxd";
-"graphicxbox.doc-1.0"="0f1w22m5r1xz6n70yb1p21qq3fi2rfj9mdcyqq8s40km1i40yxkd";
-"graphicxbox.source-1.0"="163isaz9zh1jr5wbhsw3ppicxsq4v92d6516dqgiwjhf6hdgay94";
-"graphpaper-1.0"="0gb5vwg422w53njdn8f2ng0rj5klbwfl4hw7xkqdj7g8cybnib4m";
-"graphpaper.doc-1.0"="0cdxw7yxb6i72j0mhlnmbnarpwricwmc4j6r90jlazaf6pb6dxiy";
-"graphpaper.source-1.0"="0r0rzdbc13i5hjqnmyx57s70pmgg8ql2z609c8awcvfb08x12fwd";
-"grayhints-49052"="0p65f12y0v9s13gkmd0limdcsz36lnbf0975c4pxcsc42i8smvqk";
-"grayhints.doc-49052"="07qpkj60rrl1pc651qa8kpym3bzcc0qkfwaggcyin9a65a5snnhf";
-"grayhints.source-49052"="1g32xq2f1ncq124j2j8xm3vdkhv4sxynxc3wzx7x6s9i91p5l59y";
-"grfpaste-0.2"="0y1zw0l245chmlgmi7cmg2yp7s30z8055wnrbm6f45aizcvgdya9";
-"grfpaste.doc-0.2"="152b029w1203lgfmxdmhq3nh9h2hcdx4xanklv59rih9ha5l8j5v";
-"grid-1.0"="17yxgnwlxi16vkhhy0mij2f07cib589305iz3kzf0gfha2x1fnxg";
-"grid.doc-1.0"="0h3pfv1hilyn9c9mlqm9nbfd0l0s1n8w7hgaa6cab43y8n60z8gy";
-"grid.source-1.0"="1ah419141p76qjl1q82l2v6i5z34mj19rvsbwldp8fawfkl093k1";
-"grid-system-0.3.0"="11l07viwfi88i7c05yjb39wxzdgvg6xvxlcgbmqpvc4fbwmr45bi";
-"grid-system.doc-0.3.0"="1a72i4af612w28wkbsvqvss5462ar8g27y83w2h7y65nqv42wi9d";
-"gridpapers-1.0.2"="1nshsbv4qf8vxsvrqidwr4rqny5lp0cxijx018bcskhh3xra7r6n";
-"gridpapers.doc-1.0.2"="0z3vns6jk1ihiqf12i46n8yhfyjmnkb4l5wyc18phbh9l6879b7q";
-"gridpapers.source-1.0.2"="1bnb38mgi6pzm6gvxf0k60z1dal3kgi2rjgwfrcg2h5vmb5rpdk0";
-"gridset-0.3"="1hg92rhf2jl3yp9y85pm0hrbc2a43ysxkhdakfv51a3bynd7ym51";
-"gridset.doc-0.3"="19aq6g6dnbmgz6a4pgxm2c2vbwc0m3hicg7qcbjpchahj8278w5y";
-"gridset.source-0.3"="1gmgaql1wyd6kbhhv0ssyhg5dz9jls0y895h7yg8pyjqg4d0i2rh";
-"gridslides-0.1.1"="1y5bngrqi46yii7807nw2y6vr7xavmbnk7x3bpfj5fjm8vpnw4aj";
-"gridslides.doc-0.1.1"="0ringj34cl8lqdfa3qwfcq4jdfzsghw4haw7c9dq9acqnpc6sh3f";
-"guitlogo-1.0.0-alpha.4"="1zjlfd49hkq9qc1l3g974wxzw200qyiy9vbiai0v9gs627hxckwj";
-"guitlogo.doc-1.0.0-alpha.4"="0awpik3x75rky5w6rk9zg3cy83dgxs2l57wfg8sq9h35zmni875w";
-"guitlogo.source-1.0.0-alpha.4"="1hi4rb31mc3820fafyhk2158y67b90xp5wl6xxd0b5fqz2z28qnj";
-"hackthefootline-46494"="1l2iq2k1bil4l5nzxrfi4pg831kxn22ld7402y285hlhv7cj6qfc";
-"hackthefootline.doc-46494"="0w10yipva3ixyp91iy2y15n312gk5fw90960p3adla2w1p4qhs4c";
-"halloweenmath-0.11"="0sfcggpqhai8xzpnbyz1vlvh7cfl3n2m7z0av4drd7wqzas0mcw2";
-"halloweenmath.doc-0.11"="0k7qfv036aa691902chj1rgcf3z2xd58xfb2r0b5z80g6944xjrk";
-"halloweenmath.source-0.11"="0ir0xr3aiyjiashy6jl39f401ccgx3dhlyiqx4h2myiwq45ay2ka";
-"handin-0.1.1"="0xcsmfa4jjhrl3xkglqwbgvi844q1f9zjgpyix5akx058qjvwl7g";
-"handin.doc-0.1.1"="1k3ar5yzyndnfqkv3bhl7q8aczfbaaghv9mkhzpfri4za5ks6fnn";
-"handout-1.6.0"="1563x16fgw29vzw9bzjrc8maj1r8337p288y7v066qjaq886x3xz";
-"handout.doc-1.6.0"="1y1wpkpjwhq7aya9b98ym4xsv15zavmv8k1i6q0vx302awi2r5yr";
-"hang-2.1"="097qbqwbib8gj53qlydflff7sqp5ghcg5812hjnav9a0rgklpw8y";
-"hang.doc-2.1"="19falj7rm7diwr24q5rpab3rp39awnyg0hdxfhhalkpdmjwqk2iy";
-"hanging-1.2b"="0s86yaxyfv9zxf4svwg9s13by9vrw38apfg0hsfchsimsdd6gsbb";
-"hanging.doc-1.2b"="086lzvx4g6bj04xdqnadmb8832klmq362k9lqh4pz7ym34mzh5c7";
-"hanging.source-1.2b"="0wwfnkb66m7r77723kkkdp7yxkl789g310m5lhllwx33fbhm8vhj";
-"hardwrap-0.2"="1kwsns5vg5pkplcl5nhmvpm2ccdv0f9431qxjxq1k6zfsknpy60v";
-"hardwrap.doc-0.2"="0h1n80c9l34isgyzl36hf4nigxcsykfgqv6i9jjdf6dqpp23bpw9";
-"hardwrap.source-0.2"="0hiqsj0vpfkmi8z048ymlnxrxaam8raq2f48wlyk67x4w2gv72k8";
-"harnon-cv-1.0"="125885fg7frl37pmxxj51i7d22xydj5wsva9i27126903y3qdm8m";
-"harnon-cv.doc-1.0"="07i4qv95fcfnlfj18qljwbkv1cm5r00mzmq570ra3bgjc301gk9a";
-"harpoon-1.0"="18p0xqjxix4ka9a9ja513il0wrpqrqh8v9v13cc89kh8qfjlf9m7";
-"harpoon.doc-1.0"="0l2y9l8wn55dg06fbxjnv16bkhgbg9rpfclawfh4p7m2cf2h1k44";
-"hc-15878"="04qricj1nmmmhxwsam901cr43h96ymc7qdb1m52byniv51i8g0yn";
-"hc.doc-15878"="06q64drrpgm7lzp45hrl33cs2dj4mx1mjpsd3paqgsn2xxqls2yj";
-"hc.source-15878"="0knqx9smbx7lyr1r6vn50x3x9zldv14gb3484jqk28jvm92njnij";
-"he-she-1.3"="1rr8pdpizasdcb1sfg74nsqs67xh2lcwd8w2rjaf719bpx9372yb";
-"he-she.doc-1.3"="1lmahrp33iv7bbnkbiwpkagy3rm7j0wric7m1fbzdvkgkzv274na";
-"hhtensor-0.61"="13mx7mg5jqrlyxnx19n0rs2crpxx2gp6m7l41m6l2ig5vlgc0x1r";
-"hhtensor.doc-0.61"="0k5fg9ad5avnsg84xwlcbzffrzf6y8l8a2m0dqw3clg7zjmq4prp";
-"hhtensor.source-0.61"="1pay0c1z6avkb44h0iibfn6xskiglym0fckfqrdv0bablk3cghjn";
-"highlightlatex-58392"="1pmhvjxp5038nnxd9bnk3s30wgzxvbzq6z8cfmvz0k8h1nzkc1a1";
-"highlightlatex.doc-58392"="0q4v0dvr50wd0qbk8xvn7bayyq00kj8b8wwyn6axia3mpjmr7a41";
-"histogr-1.01"="11zbm3d05j6nrzwb3hpahli54lf06aly60arh4fi9k52qcbsylv3";
-"histogr.doc-1.01"="046gw7h51w5s8p3rh6kwwi22xxj8bspbh7anf2cdzg4w88dardl4";
-"histogr.source-1.01"="153lhmgh0n224xkg7dmcajj7bydnv21spihh371hj5a461d4h9k7";
-"hitec-0.0beta"="1rzv2baizqa6fj063knxhac39slaaxk5lbgpl6zwk60nbp1lxq3l";
-"hitec.doc-0.0beta"="1p6vcgy1l1avz05h6r7bqwr7hl3jrnyryl3vn1i0qad25jryf7qn";
-"hitreport-1.0.0"="01xxw91175ffcix6s7ji2600j966dbm6zl8fbnfwabb1rvn39nq5";
-"hitreport.doc-1.0.0"="1wpscl97hpc3s1s34bskz088ph3x83qq7m6qgjj0xa2hbm2g77ci";
-"hitreport.source-1.0.0"="1hxcw8n5aa4jfpd8r8f3442diww9zhnywd6kbbqjs7928bb51vk4";
-"hletter-4.2"="02v906vgbidc2s1mgz1k3666riwb27vsl7dp24rd8q2m167xjd29";
-"hletter.doc-4.2"="1x8q4jkrbw6ddkqqlaz6mxj4q105vjs8k8ifphvkvhawl9iikki3";
-"hobsub-52810"="11j0fxsxmyd93px9j5fdarz1231nczdkfpf1qf33kcdpyb44jrs3";
-"hobsub.doc-52810"="0hdidvz42acsgy021c1dzlvshcmw6fz3pkqrwpk66qk2nnh30dal";
-"hpsdiss-1.0"="1l7mbnhds4c6y1w5vylsx8j7b4syl2j785l3xzvk89nc5g6ck2qh";
-"hpsdiss.doc-1.0"="1cxdd1340b1gkn915id7xcdac2zp79r1yi5g3wjwmj4kbn7z6sbp";
-"hpsdiss.source-1.0"="1dar4y0ajqz93znww0fkf36li50b82hbxixi30hi8fm8y2hc3j2j";
-"hrefhide-1.0f"="1b9p4qwbclsgd61qqnifqaid1s93r0yqkwi95f24snvklm8gw7zk";
-"hrefhide.doc-1.0f"="0x3md2dm04kvnf4dfs2i6gpplpsayjcw4qz9qwayad7nbnpr9i61";
-"hrefhide.source-1.0f"="0jcf8pvsndvhqa77bi4i8wl5lvgca8w0h74pmaqvs1d0vc8nlja8";
-"hvindex-0.04"="1wk4q29iyqrk83kafwhah5gvvj2ywpnqzvnza6cwrkb85fd1q2i8";
-"hvindex.doc-0.04"="0vcdmn3xc4cm3rkdkzi0qvqakgkc3hrgy8nycr5c8vcb6xaiw0gr";
-"hvqrurl-0.01a"="0ckdgawrb76r4fszzsrjlapnd2m9zcmy2la2621c4gwrgyskjvs8";
-"hvqrurl.doc-0.01a"="1bxcgwllrpknm4akd85sm13y6wn36n86r04y8kc9ymv7i0c77gis";
-"hypdestopt-2.7"="1753c7vjx3smnhl1iylg4x0sdcqfg6gb0wdbwqmlass4qdn494w1";
-"hypdestopt.doc-2.7"="07a2dpvvyj2r2691v8izjnqjksna1nm00za4sva1npcrhkc2qq1q";
-"hypdvips-3.03"="0ax6n7ki47jyzp5g8781c7rv54hwrl0fg7d1bwzbj9bmqi39df4v";
-"hypdvips.doc-3.03"="15vnypyl6g50d4mycz3s41h8ccpmknr0vh9bwacr6nxbzlyyykrk";
-"hyper-4.2d"="12737gd2nmnalkgl4d2sh45r4d621zl6g2zcih98m7dw8qr38w2v";
-"hyper.doc-4.2d"="0hzl3fzgmn6kyl6p4d98l9ycisfhb9v50a1m6n8q1k6jpvr10z9f";
-"hyper.source-4.2d"="09m0kdcs4kqksqwxf29yq4l52kb2mj5pxkry010ibwqw64cs5p74";
-"hyperbar-0.1"="1bj0v54k85isn3p48vmiygcvd3n06r4mqcp75hf96mmp0wvmczg5";
-"hyperbar.doc-0.1"="0fmrz4hlzd8clxx150fk4zbkdgbnhg3b7ck10225b0n1lqgnlh0h";
-"hyperbar.source-0.1"="19x81f6bki5mnx1nblrl0ji663q0pzkacy5lbjsqyr7krdc33fyh";
-"hypernat-1.0b"="09lnsw7ycwkk71fyjk8zwgzdjv8ff3k028q7hr27dqsiyg4hjg7a";
-"hypernat.doc-1.0b"="150ayv12ym9h68a09h1xakdfzccpix1pff9blkzjq6iz5imzzpr1";
-"hyperxmp-5.9"="1p3pj50iq61bdbqvm4bijj48bwg2n6sn2dhlq5xgp04w8jxc29v0";
-"hyperxmp.doc-5.9"="1sqsss76f9mhxv8vlp1dh8gnjpv8i4mzy74146hhfjwvaf5zygmk";
-"hyperxmp.source-5.9"="0n7xzbq57kaqnm1aafrz58am7s6wn9pcxbgfiqdc6yniz8680jl2";
-"hyphenat-2.3c"="0ckfvjxdv4rb8156x2vmwl15mk9057i2lyg9xhqkmvqh1ani4lc4";
-"hyphenat.doc-2.3c"="1lzpdz05dw5m8ljxf5f846m1x4nv5yrqbg3sixf7dgyhsmpfxnls";
-"hyphenat.source-2.3c"="1ddwv26nfl4jwz8vxs4fwc9qw8gds1sg275g2bg9ci8dfflk16k7";
-"identkey-0.1.0"="1vs6sr25ybmrfkg5v3m021hlhw9x3gpynh89q12a5pl2ka094hn1";
-"identkey.doc-0.1.0"="0r33gzfwrj4j8a2i8kdddbhgljf3hz1b7cjfxgmv5gdqmmjywnx2";
-"idxcmds-0.2c"="179mvb95a1cxkn7ncgs7xwhh04d36s9nb5jjxvaszcfkp9rnlkcg";
-"idxcmds.doc-0.2c"="1ym6yi4cpw9flz4si6blg5bfj85sf0p3y6nipc886ixkwiyvsgm7";
-"idxlayout-0.4d"="1y1vzyb1l5b8q3qqs62zfiw7vfd9c1pdha9z4nm5xpsar1nk69qx";
-"idxlayout.doc-0.4d"="11qiyzcj4zi8kd9h2k2jhg8i8rzfwdam9rhr7cmvbxqsqirf0fp2";
-"idxlayout.source-0.4d"="0fkpj4gn06wkq3saprsb3gm7myj04yll4spz3j7yi28yniv4cr5c";
-"iffont-1.0.0"="1a4zx0mysk6i7awvcjv2y1yid1k160icrkqkvw34qsgs35qnqbbq";
-"iffont.doc-1.0.0"="1iqchl5nra5ldmv5ddpwjcm84whpsxym34vphj2zxvzl0hqwrc2n";
-"iffont.source-1.0.0"="1x187pafzgg7h2vvy5dfc44y37q45lkzqfkxh8b52pysxxl23014";
-"ifmslide-0.47"="1n4dmmslpsx9fv9wqiipcg04lasym2fbgsqkvvffqmx5rszgdpha";
-"ifmslide.doc-0.47"="0n7hsymjs1zfjc5gbn26z2wdl5qicc7pd251s0h4qnfigq3nhr08";
-"ifnextok-0.3"="0sf9dmz303pbxfi24z6fb1wxia89qaf4svgp4sbpi1yl3gkxwrmj";
-"ifnextok.doc-0.3"="11r5zrs467h3rv5j8c7b5iav19v9hbcxbspgfdbd061g871xxd5y";
-"ifnextok.source-0.3"="047pc422qhh9d80rjgmjgmn5xsapf9azvqrl0cjn28qw4m5ccs12";
-"ifoddpage-1.1"="16n7s8cmsfd5ylxmz2f87mx6f5szr8na3zygji8izvi4g0pfc1zf";
-"ifoddpage.doc-1.1"="1z7x0qyn7g96isqgkdwwkp45mzplqixgm9d84fhizfzx7sw9r6a7";
-"ifoddpage.source-1.1"="14x0haj3xjsk9dn2djg117sl7x5nbwgbivhjj3ichnxlgrlf1bis";
-"ifthenx-0.1a"="0bp087nfq5hb3a60ayprbz621nmk0acisizkw5i25n4kryi6vc63";
-"ifthenx.doc-0.1a"="1hzz8s2xlz2pij81cfgjad8yaamv8l4iaripj7bbifkq7gy38afj";
-"iitem-1.0"="1sdsc28fw1lrr72s4wwgwk0zxk9720ll5xbvap2na4i3lp4vjghf";
-"iitem.doc-1.0"="0grgh5bslsl67ygvz2cd3xb9adn3w4amhpkkxnh035vkld91fxh8";
-"iitem.source-1.0"="1fk3c5rc8ylf9jg5id4jnm1gjnrvafiivhr0lpfws4ddr2pmir06";
-"image-gallery-1.0j"="097brbh3xf2xi4s151iy8g6abnf0ba4yar78jz607f9dfni95i8c";
-"image-gallery.doc-1.0j"="0f8a7jzj6w25al9c13mxd04bg2c701s0ynsd1rvnqdik6d98s0l0";
-"imakeidx-1.3e"="0w0q18bxpbsqrj97309b9lyfcf4has5ldjvs0dwn45lciav8a7rr";
-"imakeidx.doc-1.3e"="0h2wqdg6navbpzjq38ks2b9lz3hkmgi7v1y8ihbbv3aisyvp5r93";
-"imakeidx.source-1.3e"="0l7q94z5a3lsy4kh7vxyr6mmywc43p681p1vjry1f9vi0s6ljwpy";
-"import-6.2"="0if5vrbx6456ydarw57p1jpkcj2d7csmiffgll6fgxf2kllqga6v";
-"import.doc-6.2"="11hi1yk9xhqks4i3rhc4s8bbaakxbbmddb7j5sym780y45qm79c3";
-"incgraph-1.12"="0ydcq3pk37a6mimv85vm3nrl7b53sgs7m1d78705swk0hfh2z3x7";
-"incgraph.doc-1.12"="0mc5c6g5af1ri0hx66bcx5lnh2hhl0lgdj6xwsjhwkyik49lvagq";
-"indextools-1.5.1"="155l4azvgwbk4h70x6bkbddq8k4jxhh485xa7jajz9vq11lkvhs0";
-"indextools.doc-1.5.1"="11n3knyzdamz9nz00i2rck6gffqrzwcycah0ds2a2wmcm7wl6yvk";
-"indextools.source-1.5.1"="08qifym1c39rk935hdsm7kqxdy3gaphq34bm3w6klr92cz6w0n1p";
-"inline-images-1.0"="1nq64ymrmfiw19bcbb25gmll36xbv58ynzvv140089pw7xn5x7bm";
-"inline-images.doc-1.0"="1rjppia3m0kvf433ansxhmwvii70i4k53iqk9jphhk2xv2gfd16v";
-"inputenx-1.12"="0jjf29lj8ha99r2x0vz85swkr2aq6v2jwis27irsi79syfq8bpbc";
-"inputenx.doc-1.12"="1kkblvi4dhfxsij5lmbdvmnapskvd5yahha5im2nlllh8crypwv5";
-"inputenx.source-1.12"="1681djxj8c43i93ip864bi1p1fpn2dngkvh18zs0234ls0gkwiy1";
-"inputtrc-0.3"="1qy90zwai5ciajsiph6sgmzmfi16qgvx389hvxsfi28wccpm5bh3";
-"inputtrc.doc-0.3"="0fcxac4jsvhnc85p9nwpp44ij0yq4q1lxlw42dzhg88fdkl57srg";
-"inputtrc.source-0.3"="0b6kl9a6ilv0i5xnlcfjgia40ynl28dbz1rvcvak3637fva07ghk";
-"interactiveworkbook-15878"="0dibc16gdam4yxil37y2zsz4cnfiq2grm6qqj512nng4zqnwcdj0";
-"interactiveworkbook.doc-15878"="0nh4zm37xipvmv5h6yxy1ir2gkjy23h22j8dnz7m04w021sgx7i2";
-"interfaces-3.1"="1d2sg377lxrwv0w0zdhxdjsnb8sbkzadpp29h4jcm7v6qpirs1wj";
-"interfaces.doc-3.1"="00dmb0jq7vvf7xfppwmw1pps6453rv438qkpv5qhlamqlvx2b28h";
-"interfaces.source-3.1"="0s5gfwv1izv3y3z3lmfbxdw06830lzy85f7vza4i8zcdwf775pl3";
-"intopdf-0.4.0"="1qd594mdjbzpfcv7km0m5n60h5nqj0mcza8j766h84dp3vw3ni8i";
-"intopdf.doc-0.4.0"="1dwlpcjh71y8v9k0yqmlk9zr7wgyamg77hz0nyb7k0syhaw6q263";
-"intopdf.source-0.4.0"="1g39qdshq616g7s3c31maihwmdiayny5kbm3rf0djmfpgs1rxk8w";
-"inversepath-0.2"="08xivnvbyhaihb24w14b908927fr73kbk66x82nv9j332lpmfgmd";
-"inversepath.doc-0.2"="097fyhn6dj9d8hq26xads2s7vz7hvixwl27psqrqqvhdlq3bvj7n";
-"inversepath.source-0.2"="09d3dzckxrg9vdxh84nx3xzwj3rfarvf0bpda4qib179bgnqrf7d";
-"invoice-48359"="0z2ixjxicphaya7244mi0gdnxnv3qawyxpa1kwv6s0r8li4604k0";
-"invoice.doc-48359"="0ki54z1rlb9xwvsgd2bxv2sb135cc6zh44kpww0mx76vcky4az1r";
-"invoice-class-1.0"="05vbh1iclf9gj6nzradfvnqa7yp7r5c3ccahg3j7qrdkkb0xj8ig";
-"invoice-class.doc-1.0"="0myl8pvvfzd5jrlva1cxkps9g6jr0lpfw79wr3ghv2idz8ba85x0";
-"invoice2-46364"="0646sb8da53x6aybbfijk35cibay4pnryq1xq2nzikdsf8i5x0x1";
-"invoice2.doc-46364"="057a73iw33rpsgpxcg13jlpcfmcmsq68jdz0fa3dhz964nf2xkpz";
-"invoice2.source-46364"="1z4lilb3h8gp64lgw7xbcnqfjf0lmzv760ggdjhmh5ibdc4ic58l";
-"iso-2.4"="04ifwh4vn074cnibyafzq59zjlnlmdfyq03mqwk44r1mgmizizdi";
-"iso.doc-2.4"="1bnh34708psjpbhcddv87axjhxiyfjic0mamlpn3z58qcm0jb2pz";
-"iso.source-2.4"="0gaxih730r70xgy84vbqz1fqbdr1w9fg9d1hszp0kqvqaypfmcyg";
-"iso10303-1.5"="14wjjp2iwb7l8m01cinmpm3g9hk1rpjx4a0rc41y614ah5bmi4ry";
-"iso10303.doc-1.5"="12m0rri6l538iyphsh2abcvllckg566aj1487sa9jc4m56armvj7";
-"iso10303.source-1.5"="1nnfz5r5hk0rf1gvwrgp4m7jb5lln1cf9pnb46x9l9hyiagq5din";
-"isodate-2.28"="0xw8356im72iqi67nspwkhafrwl46gb3i41yapnj0hqb672gk4lj";
-"isodate.doc-2.28"="06m8ic0nsiy5bsymzfhpia9i47kbpwqmnbrvmsp44mw5g2ccjk41";
-"isodate.source-2.28"="14b1ymqd6qbcksnim642py5qs5n6g2sy207apkx9mnhhbqa15an8";
-"isodoc-1.12"="06ikl5zl5l6fmzwak6vq6zcfz4z2scpw6gx7nvdrd6y1s8vp5h27";
-"isodoc.doc-1.12"="0ybkmdz34nxyxsnxjhd1z2riywfkrxv77969mnwxip60lny6mkrs";
-"isodoc.source-1.12"="1yxp0k3bvy4fynvnlpyg482sd2xjb0d5nnkcfxjqq8wkscgr3vxl";
-"isonums-1.0"="0nqzapahfvqg59zxrgjiyywkh8zb8mz9gdc2733r78rxnz81m1ba";
-"isonums.doc-1.0"="1axq0acxk6qhq42ayr0zjs3356ww3ryidvj2wii2c00isw0qip1w";
-"isopt-0.01"="03skmw4hmib197p3cfbhf3mbhq5hrjavwinwc22drqmca370v305";
-"isopt.doc-0.01"="0jxwzfysw4qsfd1694grnzs2jfqcbhm40w1xlgcsrq2ylgcjhr8q";
-"isorot-15878"="19x89d5fvjpn66y8ma1h24dwapw2x6a4nxbw4ixp7xqkycyhy0wg";
-"isorot.doc-15878"="0jrglpxxks1fbwgvmx0w3fjcnsfbf805jv95kawvgz1ix3mm71v3";
-"isorot.source-15878"="0rfc2jdd4f5yds516lr9m28izg3lbf6wwvpsh9hrl466dakgdayz";
-"isotope-0.3"="066b5jw98ynyc15jigxc1idp79i89hwrq19rdizzx90s6xfnxlgn";
-"isotope.doc-0.3"="00w5bxh4dkph9d4z0x8h6akcv1i2a3b5vfr4xbvq1n8k4i8ss7jb";
-"isotope.source-0.3"="0x8vrmprpgpgbxp3n886yajdd9mv27r9shkyz9mp1bd4zakdgc8f";
-"issuulinks-1.1"="07rpm9kcfj3dxsax8kp5r5mvrgg1c5yrpbiirsk44ybjjkhhjscy";
-"issuulinks.doc-1.1"="0qlz8y0sszp1jsnbbgaj9h2zcz1yqk827pwzccfi4wdj4rcpvvam";
-"issuulinks.source-1.1"="051b05k40zs5amjxnqav6ibdvj64wfhcf16a2hlkaf5kpmpkmh54";
-"iwhdp-0.50"="1snry29lnq4cm6ybwqi29lhyvn8g3zmqbsig0kwnywa92dl3mnl0";
-"iwhdp.doc-0.50"="110x1wm1ii7b5r23zng2dx4ly8vqqwr137gfl15a6v6hcr4zxvqg";
-"jlabels-24858"="03fpym9q84g1b0pns6sdsb4jx78aq7sclr5fkm05ckvkk4v3wmsj";
-"jlabels.doc-24858"="09qa8y6axg9pvma507b9w63dwd2jrxnmd64f5rfd7wpznamhbc0w";
-"jslectureplanner-1.12"="1kciz53cg9p1f710j5rw8pilfmbiz755a24dqxckam98jy5g4b8s";
-"jslectureplanner.doc-1.12"="0lcq9dygfjrs63yjwdkjkssxyfx6phmbydh6c8lcfpkg984pfg5c";
-"jumplines-0.2"="1d5w5nh0pkmhjjjq9x2n4r72ygjh2mrbdr23vsrh8cyvj3xym4w1";
-"jumplines.doc-0.2"="1q0mzjyfj8vfp42f8m11g6fyx60mb33g5n4i7pw9r0dfx8y4jvpd";
-"jvlisting-0.7"="0ry7gnzgl2d6id7xgpbdhg8pj920105fd9qyx1a0riagp0pgyryb";
-"jvlisting.doc-0.7"="16z6amx6czmipal3sbqmdsc1v5x1p4nyy5wxalicy1dki1f4zpyn";
-"jvlisting.source-0.7"="13al33s01bw43sa2ffz5zlxgaqvhj8lrcz8y7x9xx43wvvxjmdz9";
-"kalendarium-1.0"="11f8zkjfxbk5w4y49vy712ivfqx66m86jdddygfjskp47gxcxby2";
-"kalendarium.doc-1.0"="0rbac32h90cnp318a0chj1wfzfrvz2y140siqv5slld90f7d5546";
-"kalendarium.source-1.0"="0virfajl7xr8yiksxzmr68dm11m4240drg7xn72gxbs7jfh48wqy";
-"kantlipsum-0.8a"="1k4ilpfxa6a5prm0rgbrjw5jsr55wyadj8aq1r4hl3q953n64mqz";
-"kantlipsum.doc-0.8a"="0pwwrjffc2525krx7p2d2y0zx3zp2yj4x0010ah8k88ix78h47xf";
-"kantlipsum.source-0.8a"="01p1gccy0a7nsyph5l1g370bsk2d9pxc45c87j88g8zjizllfkja";
-"kerntest-1.32"="15695a4q6ikdy6f9149rblfc4fx25hmpyczgr1z1q8x4s5ar7dr4";
-"kerntest.doc-1.32"="1fmpngs3q7pwf4z284gg9b4cfw55afdsnzg6qpanlryk6czbch16";
-"kerntest.source-1.32"="0gwz65xgxii7vriw5sf1zi4r97prf2c3dwawr3ghhgchmblimf8l";
-"keycommand-3.1415"="062i4fr9h2sc1zy3ybyqrq5hw4g3g54gx708rrznkl4zmpf93ppr";
-"keycommand.doc-3.1415"="0ls9fbm0815aar19hg40p91n1iyyfhn68ndhvapmwfsxhi6f2d9j";
-"keycommand.source-3.1415"="11blfbqdn1a00bfdv3nwd7501pd5qrkk7pqn2ffir1461xivz26f";
-"keyfloat-2.01"="1zw3wmhjx6inalww7dy5564w6yv87cjdn8kb06b7qnzgh1xyk3w9";
-"keyfloat.doc-2.01"="1wbb6i1l31193i83x9jd6qggiyklvns6ma0ing2b2gqsmwaisbyg";
-"keyfloat.source-2.01"="11yylandkr8cryv5yvwa4x356vzrgm5wkabcvqasmndid849i55p";
-"keyindex-1.0"="0fsszjcw1r3kws565pgc5j7chifbkf3dh1hnlclwwsjpxbji4n6c";
-"keyindex.doc-1.0"="02n7lxz8pd49q9nf6pavhs01410zj9pbszqqbmk5c1ld077276x7";
-"keyindex.source-1.0"="0k3img6kb6v853wzmhsrrhx7lrh275ssx57b83vk3yx9m831qwmb";
-"keyreader-0.5b"="17cfxcn374q0pgf7bbqwc0yrk6r15d79h39hzbvf7yrgj4r3880y";
-"keyreader.doc-0.5b"="0fp2hv3azi287gz129gqlsirw4dr1d5lqhzxliyzfy8dd9b2cqb7";
-"keystroke-1.6"="0h0ci8pslybspsnpmv73qml22592vp5lr50qqppyhw8qkng22gsg";
-"keystroke.doc-1.6"="1ig565mxjnji3ng8vsc2wa3jyp6mrhma4hnb3shwnrj9g2kvj84w";
-"keyval2e-0.0.2"="05ssgrl08d55in1wkam99bfdfkjhjrda6j96b6nmj61sp97yg3ig";
-"keyval2e.doc-0.0.2"="02ajr27zgfjk5hwmqm05gdapkg3d3rk1k9k3nqm4nbvwhx5sahg5";
-"keyvaltable-2.2"="1wxrxa1qfk9c18vnd75kvw62w3jcjyw8x7z5jbr3854v2s7dr8xa";
-"keyvaltable.doc-2.2"="19262vqgi7d5lyki08rqznpx0442i8z280grs0l8y04hdivlr3mf";
-"keyvaltable.source-2.2"="1j14vyp20r7wnylpmik8zfg5zcbva4rzxckazk21xjapgpy9w951";
-"kix-21606"="0w5qaq50wki5b3s3j7p11akx7mb8z1khchhy6093pzzrny0hd5c0";
-"kix.doc-21606"="1jblprmz9vfriqdmi9ihh3ihi7pc9wf9cp8qfli89iir2xy7lv3d";
-"knowledge-1.25"="1zi402k1sm97fc3wmvwzrwkx1sipik15nb30rm884q721mlamw0x";
-"knowledge.doc-1.25"="0vkjyjn900iwmazsy7jjqb0s0y8xizv2vhfb9a4sd7c4y2lcr0vf";
-"knowledge.source-1.25"="1d73hr632ml7v8y4sphl82vrpjk8z9ync10q82xhykd8wdxfzlnv";
-"koma-moderncvclassic-0.5"="0kgsbg4is158j1ssjwabicw38mh2cd4n1ggxinflb8i18xsmlgh0";
-"koma-moderncvclassic.doc-0.5"="0f070dxww75g36il70gmrx9bn0f0d3mmh26fmzqb5zmf93hyhcsf";
-"koma-script-sfs-1.0"="14qhq2h6pfjy878nkglbif7yjc12g6q32kl4xfc7kk3kf9syp0kf";
-"koma-script-sfs.doc-1.0"="1cjraqcc13bcq451a36i5x2sbwj97zy4srrpaxybmlisvnza7vz9";
-"komacv-1.1.2"="06df0hx1rm87vgsb1g8b00ak77n6zs34c7mb76k22fis41qmm3a2";
-"komacv.doc-1.1.2"="07sxwgrrik3vadlp9a4lk3jmcqnvfzz5ir8l33zi7sjrapr7mxxa";
-"komacv.source-1.1.2"="0vd6ha60dz9ddmf3rkbbw5h602fkch3zifcjip9nyfs7wgnkg3r2";
-"komacv-rg-0.9.2"="0hcf3aw9r3hr01f9109rid9c1c36gmg9z0258zlqgq9l8qs0bryz";
-"komacv-rg.doc-0.9.2"="1g985pnkhlhyf1285w9g1zx86vldyg45r4dyp1dq02pka5nf33fs";
-"komacv-rg.source-0.9.2"="15v5y47jj0393vkikpv5mqdrrygs66b20gsmp03j6v6iih52w7fk";
-"ktv-texdata-05.34"="1md2iv0csmr5f2mcdlb3lacccwifd6iv7yp6123gra5xcp06k4y0";
-"ktv-texdata.doc-05.34"="14sk7x2va8ja65a65fpksj2nd16v6rc1f0828gmm8j81d13cci6y";
-"ktv-texdata.source-05.34"="1ws256l59plnhmw1rycfznwpndni5i47liqhazddwbg2hragfahh";
-"l3build-55426"="1a2lib52a16c42hbcj7n8hddbbb94r5ghhj1kw75czxixlgrqgvz";
-"l3build.doc-55426"="1ka2lkcmq33933gz8r8kvsaarsgczcv8bp5jplmq9mjwnxdgig8d";
-"l3build.source-55426"="0rbkhc3lcf8zniqn4crdqjrmsl3gqyhzb2bpp0sn28sa6wm4x99f";
-"labbook-15878"="1qh16jjmpyqdfndfs91nmbfhwxif5ygk35zlsailngpgnp1r2x7s";
-"labbook.doc-15878"="0za4mp2zq9s1z90sgqcvf6zac7w0wqbf8y5w1qrwmlv6r6kg3s1s";
-"labbook.source-15878"="0w7nff8c2ffrn2ywz1dahd8n4cb959b6zf3ka0s913nv04ifdkgi";
-"labels-.13"="1d1lxzif4f3qxkall0qzsn4lh55ljr45zba0xwzyvfbwighp1vvm";
-"labels.doc-.13"="0fl3as2lwdga814fdlg2pwyw600cvrii9hd0f4vscfzq7lmw01k9";
-"labels.source-.13"="0y6mkg18jqsbqj14h52317d1vvzvn3mv89q2gl4i3i89ka3dfajh";
-"labels4easylist-1.0"="10pfzxw0d856ki2krsdpidnfsk27mg4k0vj3jx7pry5cfirx6m0m";
-"labels4easylist.doc-1.0"="145n7vy3d0vk3cq3qd44l3a6hjmazipm7wmr4aa2knxvs4nyvw2l";
-"labelschanged-1.0"="1z8gjaqqydwf0mkbnlbzd7q49fdj8c83pmcwfhi27w5lnyb897a6";
-"labelschanged.doc-1.0"="1rv3vx641hzfkckkjkf31xdb8zx3sarcdpnsjzhnafzy0y1vg8c0";
-"labelschanged.source-1.0"="0n0fdxj14kb1bk8zj3mnhnj6q5nf6h4swb7lwgn8jv0l5z5qmp25";
-"lastpackage-0.1"="0wjpjd3b48fj4mqqdx38sqalbaa9ab3c6rywyjqhvrd1pxfap2g0";
-"lastpackage.doc-0.1"="1123lz0ki4kww93952wqrhrw9l2cnk4wrrwyi0dxc5w1yfn2gg87";
-"lastpackage.source-0.1"="176fk84mbb6w5ql94381kz05lh8q8im7ri6rfjff7f4ymfjnh2jk";
-"lastpage-1.2m"="1wmfi6qz5d58vfk7yvvaj9dp6hrcnf0zsscgb1y52hprkq5cx1np";
-"lastpage.doc-1.2m"="10fnb5b85r1ypyfx0c3a119da12ay2412kld6rxqckir6nfx9v4r";
-"lastpage.source-1.2m"="1nysnljrg0irgmjddsyhpk8d9s02wr9g0h9ldpdwlxkrvvj82nk8";
-"latex-amsmath-dev-2021-05-01_pre-release_0"="1q29iyi6hiff7qyprffz0i527rhnfvyfxszsc9dpqvpgw20zwdqx";
-"latex-amsmath-dev.doc-2021-05-01_pre-release_0"="19k9bdm04kba8in8vd1xmw045nl4p74r0c73kf18z14b8aa3iw0q";
-"latex-amsmath-dev.source-2021-05-01_pre-release_0"="04cq98iz15f2yr2749yfxlvljzq3hb5fmk6r7mzz806z7pvy0vig";
-"latex-bin-dev.doc-57981"="0kig2hc245vnmhfnpqvxiskbaaqf0fv8j569ihsfr1fv3x94bdzq";
-"latex-firstaid-dev-1.0k"="0spc5czykhc13hfr6fw1lmdxv2m2g0fiymz2s3ch61ad6263p54i";
-"latex-firstaid-dev.doc-1.0k"="0jy0h4njarfv4w1rdl1y35p7i3la0hfafvwnms3c3j8jj2rf3zh5";
-"latex-firstaid-dev.source-1.0k"="0cdbcj16w2h0mqm5j8a5g5z4v0gb8mrgjamw50a2rb7g07qwwkca";
-"latex-graphics-dev-2021-05-01_pre-release_0"="05wyr9z08sld644dfdzj9m6v4j59b75yzj5541lcfkp8rl4ailiq";
-"latex-graphics-dev.doc-2021-05-01_pre-release_0"="1idfhdlhdxd3lbbgvjpb19cg2bfa2244q8nkqqpdqw7zd4vg6afz";
-"latex-graphics-dev.source-2021-05-01_pre-release_0"="1ylzclvgzrhyyfgsch0hh98zbnd9y4jrf0q8fq2xzyhll5nnmzlp";
-"latex-tools-dev-2021-05-01_pre-release_1"="0zfxs0axp7rzw5xibh60cfjywi50slap3y6gqi0nlwhibp7655vb";
-"latex-tools-dev.doc-2021-05-01_pre-release_1"="1ggh78ifrn52yyz1fr4j2k0zkmhizwgfvabrr2bfmpxm2a458yrw";
-"latex-tools-dev.source-2021-05-01_pre-release_1"="0wmp1cvpbbm4xfmbc2mj64k3dby7yr0q3w0axkfw2bv3qlrvp4nr";
-"latex-uni8-0.03"="1sv4n2v0m3lck7x320cwbay23k7r9fh4wm1vxg9m4grphc72n2b0";
-"latex-uni8.doc-0.03"="1y3p08mni1ng6dyp0g98in7hh3mbzqq42249idy90vjhc177rjc1";
-"latexcolors-0.1a"="1wpa7vw8vphdghdv1ap5ilcgzj5n6vyvn4a6lfvswg2d47s5y1a9";
-"latexcolors.doc-0.1a"="10bbk7bs1km97hpzqzzfasxzp0w202y8w7pwyd465ygr4y19wj6l";
-"latexcolors.source-0.1a"="1j7vfvyj2k4q9drmkmh3mfk1g3vs7czn1x16fx9jyinbdxnwblnh";
-"latexdemo-0.1"="1dw7p679126br9gl9pmjcc0f596314h67dzbbq0ypsd2yb0y7x1a";
-"latexdemo.doc-0.1"="0bnh076zi1mqmvf2x24wp45zndyak6y04z3x56ah0p6z96bg29lr";
-"latexdemo.source-0.1"="0ddchhzfg9s15i9qvxban35ncavcn8bj0dyhkvr3m8g9farv5mh6";
-"latexgit-54811"="1kg9cbz6h70496snqqa2h9xfknm70qf96xyvnc829k5v34jskmi1";
-"latexgit.doc-54811"="09rlc9nprx6590snfg7gakycsam37wmmscybvm48vdn271vvla9l";
-"latexgit.source-54811"="1pn4gv4prwsnnr377xg2x3kf3kmi8pxgczbi9knzavkd53653akx";
-"layouts-2.6d"="1ab9azs06k1p0s3n5zjhrykpqac9fi3kr3w31xmh698zpsg3jq4c";
-"layouts.doc-2.6d"="0ydpj4mbjyg6qy2wmj90rqfpkcq30pws5d11kdr1gcwbzqqkgbbh";
-"layouts.source-2.6d"="10mfwi1wv5v0qdwqj1mh5q8izgavlhclnz2aj8h02ijy4kzgfg5w";
-"lazylist-1.0a"="06p4r8q0a0m7pmbbcddxn5xc22f9zhvl2a9q0iv7ibkvgyy6pqja";
-"lazylist.doc-1.0a"="04x6ai73z7cqs7k9vgicxfcnvslr5812dlzqrspafy8w8qfx37jy";
-"lccaps-1.0"="1iy7ijsfpxcfr3d824j66ahcvmc3p21nl0k94x8bhfrq98qzxmrp";
-"lccaps.doc-1.0"="168yq8y5c31d9h31x081wh7aifsq0bs66cvk464wciy91sxyf34y";
-"lccaps.source-1.0"="0q3jn7h2b1dhdshdj3gxwwdg3gfrz6n5c5sflacgpzc16pn9gbca";
-"lcd-0.3"="1r911gvxiwwh7vvjhgi034j3x49n2dxxvf38zsldmqaj4sccfky9";
-"lcd.doc-0.3"="08id9jhafkmhypjy72d79v2yr2jgm6pjf4yhaw5279a4063a4f1r";
-"lcd.source-0.3"="0vkgnhkc1774d3g7r6sv7km81dvdrbvzdlk7jca6q40nnqw4zbw6";
-"lcg-1.3"="1zgpbj9zim5dcc5c2lf6hy33hzzk8cmirqh8kv60bsvha4hwvzi6";
-"lcg.doc-1.3"="0fnpj3mdxd0v1lrkp2ywb184bay0j6vc5m50jlnipjfjhry68n15";
-"lcg.source-1.3"="1al9wmw475g30jw8lwx709r0p4lq6p2p9n1ky69ncyy42zp79ld7";
-"leading-0.3"="1ky6c51dcx0gsj8f6zrwb242d940cjml0gb258ags5xi5iaq40yk";
-"leading.doc-0.3"="1l31zpglr1bz0gif3w7kqzhd37zpcgjig2ly84fcyk805sf7nncd";
-"leading.source-0.3"="0f4ayaz2m0y87ifddl4622rpf858zmh13xafp53nh96b8pyvcip0";
-"leaflet-2.1a"="04fvi31wwpsnkpsni3r6f9m3vr8b6h71f2znb79aban9g1qvnyh6";
-"leaflet.doc-2.1a"="0f82hm37i7w547jpmxkl8a2k4f92bw29vdzq4ywwllk2hdcq3sv6";
-"leaflet.source-2.1a"="0igkl1rjl14raf3xv631c7sn0mc1smyc44mldwgzgnzxxkv5kzzf";
-"lebhart-58503"="04gx4wmrcs6xmw6jh4zd47425f44z9vj6hkrwyj0p0naqvs9wzb3";
-"lebhart.doc-58503"="140sq1pyn8walsyhxrmz6kz87y4dw2gcc5rbwiykz7dgb1diikd7";
-"lectures-1.0.5"="0qdhkf7z1rnxm2ql0ywfk11y3aqp8yr1p9202d4ha6729n5pyima";
-"lectures.doc-1.0.5"="1xakcm4mmhl4ahnvcpn7k748v4j2m8p6d4p455claqhf7xg4jz15";
-"lectureslides-0.1"="17a0zn4hnkr8mp6rhmm5snjq85i023r6fjpmhpzbkw37l40lfjf6";
-"lectureslides.doc-0.1"="1rwcpga5xk5kns62mcrkrcnsmb13klvykzvclnm7w76hnybd0f4l";
-"leftidx-15878"="05fi4rp3s0s9ank7pphdwxnlnanc2r88dxhyxbz64fb26sja25gy";
-"leftidx.doc-15878"="047a5clwf0r43r1j87k2zfv0pa3nrii213y0zhv5r3zkmwvm1qky";
-"leftidx.source-15878"="0a8rzkycppx8qayqw3s7ndzz2xp4zqgx3qd8dp9s5ynlm10020nv";
-"leftindex-0.1beta"="16p8n98cw5kxah37wv263mq0jg4jq9f2dfzjyy06sadjwsbf4psp";
-"leftindex.doc-0.1beta"="1g5ykrfix8d6k2cg3nsh6fp5ibpgfajxgf9qgff4s99ir2fgyhrw";
-"leipzig-2.3"="0wml5k749fgx3vq10v4vc970h6nqm6qflg2z4jajph1h38kj2ryf";
-"leipzig.doc-2.3"="0znm18pkrf592jfgshmr0d7vk4d4yq4wvj9hqsfg9nrjd4l6a66x";
-"leipzig.source-2.3"="1sxqsgahdr0srk52iqdacsqn7sc73iv0n70nsnpvgfsczmxa2djj";
-"lengthconvert-1.0a"="0zjyynjlq48sywr5gyi6nhryrp8hcl41q1djjp73ingi2h2svz47";
-"lengthconvert.doc-1.0a"="1id32l1ipcilhkk4w9w2q8rfjlk99f5jphvq1hjvqdnhz4q1rk69";
-"lengthconvert.source-1.0a"="1zy9bnibswz834k24fk5srl0ahx4i4hlrqv6vnvwb3h8z71izc3b";
-"lettre-3.002"="13h1jsgjp5k82cq4rpx8gd114l49m1pzplksrwjylx0bzimlzgwn";
-"lettre.doc-3.002"="1w82fhhcdgsxwsnprx2p61ygsyh525im8j1zalcw0bji3i6pm06i";
-"lettrine-2.23"="150hglc6slr9ddy0fxs4r89p1x1fmzafr3anxi2c3qi117mljmra";
-"lettrine.doc-2.23"="06ni6clial2kx4gbzp7jd0x30vmzqhlgwdl0dfrgg88a6d2xdsxy";
-"lettrine.source-2.23"="0jcc7h3nphqivw47wllykffgdzx0hbap374hmmmkxrarmbligcrs";
-"lewis-0.1"="0ws9vk38j3m0sprl9lak2sjlq13nalcysk95gv68h90x04jj5zdl";
-"lewis.doc-0.1"="043kmzddal693kl6fds0xl2wwmyzvd9cqs8dmy1jzp0mdi6qw6vn";
-"lhelp-2.0"="0j55ilp7wn1w8vs60k6iangc9h637f2jrnpshh9glryxj9jjgxqn";
-"lhelp.doc-2.0"="1is5s8iqyb41fr2hr1kxf68xrlb8hqw3v1fifl8645dcgp8lac33";
-"lhelp.source-2.0"="0iyp664cy3n04nn4499ryzx00sr1iip1qmdlpvjx010r7hq4dyb7";
-"libgreek-1.0"="02a2jmvyi04d36v1v126z2mmyqn21vv9s7hblf5l8xsrzrgp309s";
-"libgreek.doc-1.0"="1g8bqscj526xlb5r6y3zsrdsh5d3xq7hj4yj6zhddnwang524ikc";
-"libgreek.source-1.0"="1xpppa9c0rk9bhx9pdq274x2zmyrjr0fr0idj935p9a65294ypps";
-"limap-2.2"="1hdv2rlvxbqm2wnn3x2xrmwxpwbs03qnlfj7k1s8mfpp5smmhd2i";
-"limap.doc-2.2"="1qj9ddllgvm9zqjvfdgg2sfdyfzpp8raf8n1l0zrg9vpiy2imdn3";
-"limap.source-2.2"="0l41pd8xl969ax257lrcnkxs0pzb3q1fmiy8ijz9jfrval3rqqbw";
-"linegoal-2.9"="1arnfkijq4324jzyq2sn681rk9ncbgv6zqfrvlbs3vic8wxj5c20";
-"linegoal.doc-2.9"="0mjpbkf6vw0n4ddd9abrah7rxf51gmgayspy6jpnai1wrzv0aby5";
-"linegoal.source-2.9"="18v5r4hj2jpqay98njcyijwvrbc067c49jrhja6i52ddj6h9q4wz";
-"linop-0.1"="1dff205vbsayq2jfyk0vvbz5yks6gy2bm4ylwwk28wmi55fqjycp";
-"linop.doc-0.1"="134jxv5bqklpdhd3wfbqibsp21jspmq9iv3fik2igwsbn20dzw4c";
-"lipsum-2.3"="0d5pm9v9ipmnzn08h18g8k30mqsf48la63m4amq16smbcrjcz31q";
-"lipsum.doc-2.3"="1q2iyvhh36f2jg4m3cfhszb3slfnv7hksf3ckyykfm3h25lj324q";
-"lipsum.source-2.3"="0z9f2cgmimixwml3h51bs6yvz0zjvy1b634hjhpqyy1b64lvsmph";
-"lisp-on-tex-2.0"="0g33w5hwgpw7hd62lij0h5n89n9r9ynlxswb34j0aqf3x7nsdh8m";
-"lisp-on-tex.doc-2.0"="0rgjcldb2rg330cp8m5vxbi380xla73jb36nn94b2awl4g34bpvd";
-"listing-1.2"="0kpf5svycd71r8p61y83wx1k99fwxm95qz5fbnqkfrq3c0113h3p";
-"listing.doc-1.2"="1zd0mxh0gxlvqrwxvycqr5yzs5fns0hrkn6g6b4m1v6njv2f9lna";
-"listingsutf8-1.5"="0scs9dnkl2hj95zgjiggn2ikq2nf62q97nnml3hbvmwdargassmh";
-"listingsutf8.doc-1.5"="1s7k2gr69xlxln2yi5wyvd69l2qa8v33d92b6ahgxxpid3437prz";
-"listingsutf8.source-1.5"="1bq197100f74sal26w0r4iv6ys2qa1ylbwbyw3hm9dlpb6kmdmgq";
-"listlbls-1.03"="19v8vx2ffza3icqlj0y710zc17lls87l3k2mkj6lc28qvz0kfp3f";
-"listlbls.doc-1.03"="0pd3812k1rqnq5hmsrcj32x9fk72jw1j3brcm8ajiczgv5f3gciy";
-"listlbls.source-1.03"="0vic2ffczicfdifdhd34ysdzcxprnafs4k9dpjlnfgfchh9jjwqd";
-"listliketab-15878"="088f2lm5lfbns7hd1m06f3zn1cjcbaw427z7zl5n47ahrvcz9p94";
-"listliketab.doc-15878"="1llrdgxp9mghs51sz4jjhbdllzlr1xgnfskask532zwn1cm6f4vd";
-"listliketab.source-15878"="04xfgaqpcskx5m8byysvd2rji31km9c6cbkfzf3ybj4a5bmbnq58";
-"listofsymbols-0.2"="1qp5y4rbnlpaa3nghlxjn5yzhskvan9rg0g45wqmg6yk9sdll5b2";
-"listofsymbols.doc-0.2"="15sr2n0bsvwz6jqgyspj6kxg511jy3fr18705pyp815hg4maxizp";
-"listofsymbols.source-0.2"="1sjg64imcxxqq8bsqm98954g47nfambr6vsyizkz8zqzmnr5vd80";
-"lkproof-3.1"="12bj60lfqlqvyk020lv1l6iinvqx4cvd6lfz4vhblfx3gs3xmcqf";
-"lkproof.doc-3.1"="05sppy6q0c2iangbzmxv5qxla8slc2k0fx62f6n2fg1ncgvfl7qh";
-"lmake-1.0"="1fk98049965cqqyzdl3yl9iblk87gwwrfccr5jqpdm5v6m8mcwrj";
-"lmake.doc-1.0"="19yqngjn320sng4pg835rffk6d2g3c5wyma46x1jr0bccv8s1990";
-"lmake.source-1.0"="1p002ywz3pxip5v4cd346nmpg0gi7wamlcl7bc6f4zvzqp0cg41g";
-"locality-0.2"="1b6xi8zzc9x8bc54bs2s6ryn7g2zfpy1zsdddlx3j8kvmbmgv6j9";
-"locality.doc-0.2"="0z0vrx1dy5qqgb2kx08qc2r06ljqnfsgiz58hpy6ylnlyay39ipl";
-"locality.source-0.2"="16xp8pc62jzgcmdhqpmfi54y5aaf7mx6bqgwslpwixgwym0i69qy";
-"logbox-1.0"="17qbkfkbz35c1a2v3agrpbkk1bxifacj4ccn3mh2w4kv8z8zvww3";
-"logbox.doc-1.0"="0kc0gldcfy4bshfkl7vprg80ywwsqhac4f81f2f0i6ql4jmlqwsj";
-"logbox.source-1.0"="1cj2gb5apapmhxc9vkypnq17w5fhnwdpp0qhi595gm5j5q1wqcq0";
-"logical-markup-utils-15878"="0nc8kgyplffng9429h0g4hynlwwxpcvnirxg7rj62zcjcg5ijqvv";
-"logical-markup-utils.doc-15878"="0x3j3fy8zd2vydzfa47ra9w8bqvklr2im8aq725nwpxbyyg3m8v5";
-"logpap-0.6"="0xrv4x46m54b4gfa805naab6fgpd72fwqnyjjxw0idy9kb3s3x5v";
-"logpap.doc-0.6"="1zb6qyxrqy07m65i18dcli30gb42y6c3ffr22cpxa7r8xmaprcg4";
-"logpap.source-0.6"="07cm2gcnv6d7pzc9d2v3bdvsmykqf00bbw177mqyjaq1chc0xpna";
-"longfbox-1.0"="1cm2zp8sina312n72bd1xza75yi38n1s2ach2f9sjxdx0m5c3ywx";
-"longfbox.doc-1.0"="1wd6hdarh4nm6x4qn789flnq69gq5p2r2pgybsynbna7ywar0l5x";
-"longfigure-1.0"="09pnqp0jfhsg7i8z241ggnx04j452zsg1zqmwy0i40fp2s36a61c";
-"longfigure.doc-1.0"="08y2a2922zk61iirlw24kdsf473sx0b44pjzxihmpcrf19vg2c12";
-"longfigure.source-1.0"="1p10y4nwz9wj321mf36avl3w6zwvspnb9cc92h9jf4iawnqyp8p8";
-"longnamefilelist-0.2"="1nz5n1g65fs7xxd4l0c9xdr2z46mxhb0fkmf5id4hrifrbl3jxbw";
-"longnamefilelist.doc-0.2"="1v8i6ax2qwz7d7mi0bnpyllbqyksdd749s8pr95jfw1fhi07i5fj";
-"longnamefilelist.source-0.2"="1615gzf3rjfr1nlmpgcrvmlzhif13g3kn210xq8p0vsv20irnqa3";
-"loops-1.3"="0hml4j8l5gdz1c2qfpsqdpha5dqjqx545am8x4vzs57ga7j2va4h";
-"loops.doc-1.3"="1jf63snh8bnyi1j16mjs14nyqr4bj4rjbwd3bs1xd30i54d5584s";
-"lsc-15878"="129vlr2gnirf47vs1drcsml3w4jcwg78hmya4r3nspaqm00b17gd";
-"lsc.doc-15878"="09faqnv9k96nwjcvgmml9f02vdj5hadbmb1lp59xk6jikvybv436";
-"lstaddons-0.1"="1yyfgn2bdlb5gjb2qicx837wl03djpi2cwxzds3bp3n37h52k48c";
-"lstaddons.doc-0.1"="1lxcah5zmmgv25hm6a3yfls7ysgg9dfzdbc3whdvw11mh3pwkiw4";
-"lstaddons.source-0.1"="0bbppx159q28sak5i6hj6zm1kqdgcn61a6kw4gcvhj536vnd947h";
-"lstfiracode-0.1c"="07fdzwb4k0dv2mf6yl31h58i61hmw0gfpgrjdnz3v2rnw1ip8kgq";
-"lstfiracode.doc-0.1c"="17a8sg0srw7096r3h7qa23msi6pq0dagap3a0rcpclp73z3gh3wh";
-"lt3graph-0.1.9"="1w5n9y7pqy5zmn6w9bx58nnawvhp5467d150qxnj3c92gh0qbj5i";
-"lt3graph.doc-0.1.9"="157y7a7gpgm6dc7hawdhxr0v3ns5kibykhkg3wfb5r5fay47jj4n";
-"ltablex-1.1"="11gazci0c064iav6124v4szdbj38anqwnfgh8pfpdq9zff0h9g5n";
-"ltablex.doc-1.1"="0jjd5f3r67lrbl4vyxjakm8l8pdrw9vm1dzhl5305ga8vvwb7gn2";
-"ltabptch-1.74d"="06ww90fh24s6lmzyvmqjh5gcr7vp3lq6cg9q6k6194g4kay6yx5i";
-"ltabptch.doc-1.74d"="0yb41cgqpgcxk27259gfz14v9bpndjg51i9nmwr1qwyvaqd6jvjw";
-"ltxdockit-1.2d"="1krcr5qlz0648ibj5c1jd0y4rf6rg33r0clyvdjm70kq26y1lqww";
-"ltxdockit.doc-1.2d"="19jc49p978z0hrx7p19h33nc65a7vjhlrfszwvr6mln01la3ivmq";
-"ltxguidex-0.2.0"="0qv1p01y18ia4w53dvlfhdrgy1xsicaigcas33xs6yqipr8cwgkp";
-"ltxguidex.doc-0.2.0"="0j4h20bblkwgdjvr2ihfy32mzyb9parbjgiijqf9sfg2k2p7xpib";
-"ltxkeys-0.0.3c"="0yc0c6hh8aiqm695by6229qqhv7ym1ssz6gpysy6hb10qrqbywkx";
-"ltxkeys.doc-0.0.3c"="10v6gw41aa4ndw2x4rwyq9x66hsdl4l4j0682dcfm4cpc903caga";
-"ltxnew-1.3"="1sidvpbqn5b8szbgysi1afbw5lw1cm8ivhq12sig0z4z4ljp3qf5";
-"ltxnew.doc-1.3"="1f69xq5753iszfa2yr6dfmz1agic26j4qx7kkw9j23nhm7f0lvva";
-"ltxnew.source-1.3"="000dh3d8i57vsa46np49ml0sb4j1n3gnpcfi1ghj7pz5bn9br8w5";
-"ltxtools-0.0.1a"="0ldvvkvyw1khfvg80ana7wj20917sjzf0lsp4699hf4jvw71w6x9";
-"ltxtools.doc-0.0.1a"="1j51wpw06jz7xb6qf6nc52r5fl31q6zhsdm3v2ngc1hd03dcxpic";
-"lua-check-hyphen-0.7a"="01q4j9bb19lf838pd7l26rkz1xr7mxcx4fsgf5xd4sdif18h56qk";
-"lua-check-hyphen.doc-0.7a"="0iaihbrppn1ap7bqvn37rk8b6m4lwdi8w4zkshiqya1mphhsfjg2";
-"lua-physical-1.0.3"="1c9dxz9l92gmgy9zgjsq22481k2pphwdglhk3z6c2d7wsihps0kl";
-"lua-physical.doc-1.0.3"="005b7qmyv2rqp2zs5gi8ikxfqhk7cr7havyg9ni0jl5wlwn1a4sh";
-"luatodonotes-0.5"="15syf4k00shgi159j6ja182k24xhfw71zk167wwmy57y7kwm5cam";
-"luatodonotes.doc-0.5"="1jcybpcd500lzkwa33zdmsq3svb9hrh8f56j4qgwm9cq4wb721f3";
-"luatodonotes.source-0.5"="01km6y8ajgaaab9j1bdp4s8gj3iw5b7cfdl1yngp41ph22888aw2";
-"macroswap-1.1"="0p35inib3yiblfhiy1cpvwahiqrr309fks7r515s21ybmw409v05";
-"macroswap.doc-1.1"="0w03lydl6vwslr17h4px8ddjld0dqs5zd15sysv0hvqajw2fs0kh";
-"macroswap.source-1.1"="02zfswma4h70swyy6znvhr54a38wq1px3f5ypz7zy1k26nqi25r7";
-"magaz-0.4"="0ah5blj8qfjqgnmygn35r38nj20sjyi6yjci4j9b90d8pz9w7d6n";
-"magaz.doc-0.4"="041cb5rqk5ldvbcqr8w7jnfi4krlc7g72ygq5j7pi9gy04d98mm0";
-"magicnum-1.7"="1bl7lhjk9glvbcn4lqanb3zprqigvxj07f5nm8zn9vpja90fyn6n";
-"magicnum.doc-1.7"="1as8l73v9bamajin552xb4xqs08ik8sq22kqdc3psisv4f874kk6";
-"magicnum.source-1.7"="1kp0d8wgphbh4mkv1qf9h2c1f2nkzqn9q8fln4v35yx2cay679qs";
-"mailing-15878"="0x2mgcmfmppzqlwkg5jd1zfyvfdjnrvnk8glby93s5nvp6i6g8c1";
-"mailing.doc-15878"="1aif16654381jcczmfn44k8v8x60clq94z4hcwjsqhai6s441hbr";
-"mailing.source-15878"="1cx0pq1qmkn6k09x1r8mx7dmpwvdvprmvwj45p1k7mmfcvq2834d";
-"mailmerge-1.0"="06z9cb353sl9q6a7jbvwwdd0zk3kw5xmww0r3sjiqampxib19i9j";
-"mailmerge.doc-1.0"="1dk2a71x04nbc0rcmd3axhz8yikzlw9ab1nd5k1ki7pmclwkscdr";
-"mailmerge.source-1.0"="1qkmlfc2dvjhrh2xcypnp9wansxrb9wzvniwfb7sll2bxjcfbs8c";
-"makebarcode-1.0"="1ixhl4k89mng2dqfc0wa0fq52xpafp15gghnyx28d9j1163wxr7d";
-"makebarcode.doc-1.0"="088wkffs4b8y0clgcx1impzbxck8klm32dbf6p1jyc2vpi848irk";
-"makebase-0.2"="1nmlgv76zy1ajfzbdv7hizby3hhciw41s10hbnlbrfdl27w14dpp";
-"makebase.doc-0.2"="1vxwgjk3dj853qbvy2fyqzni2qkkjhslf17xvxskq97w8fcqr13j";
-"makebase.source-0.2"="1f8aliax01b9ir5wzk0bjhqzicl26xa63khx84s9haplh183qk2m";
-"makebox-0.1"="1v2xpiabjcgyi1d0ifpvzcll8y01lzs48bs19nalv37jw7hkrr4m";
-"makebox.doc-0.1"="078bz2pism9harcyb9lq8kkrkq984zx2ya47yhpqxnrd85kgcxfb";
-"makebox.source-0.1"="11gjpqmc6dzccv3yc539ki64hzpn8ns0zzjvanw7afbn5bkyrs91";
-"makecell-0.1e"="0238il37zzshzl3qn50hav3wa6rd25k7rp5l93lb9g7r476sgvrj";
-"makecell.doc-0.1e"="0mf4jc9rv66qjnm3ldrpx5lbfw1yfqy0jsvg8d3wdcwvlxpcrvwf";
-"makecell.source-0.1e"="1vkfkfgjnhx5byipkrzb202w9jvmnjc2z3zjih6y61yizccwm543";
-"makecirc-15878"="17y2hm6p280azgjvskyig34jyj90zngswcgxc7xa2h8pljh1fqka";
-"makecirc.doc-15878"="035l3s20mvy61rnmsxy62k6iid8lxzwhbkyxa1hblfnmya7rs0xf";
-"makecookbook.doc-0.85"="1abzwzsm2jh11qj2qr31bznfc344ynjrdagqayrcgifg4725fa0f";
-"makedtx-1.2"="0yir2j268vdaa44flps15l739ngv97lws6n6yk3w4pz4jn5gylyd";
-"makedtx.doc-1.2"="02ir7wf6v6znly9c36z8k0djrzpkd74ssphkggmp8fj338fk41cj";
-"makedtx.source-1.2"="0jwdsfx2l8sz8y90bz3gfi51vswyzmwdvfmnlaa2gplhcjjbv4yy";
-"makeglos-15878"="0jp0207q1p0znw1w86g6m8ifkpgh3hi1yhkzq117kwl5ybswq8w9";
-"makeglos.doc-15878"="18zl45jdpsvvldxvfx79ijldh3g03acw254m6i8a3dxgxj2p76hb";
-"makerobust-2.0"="0nm751w11p7cqg8ihckn338i6908kcn513644c6a1qc9rg847hlp";
-"makerobust.doc-2.0"="0bidk4f0q6486vgwqvifzchkn0xi1l9j65yqwgcdnl3yg6vamqzw";
-"mandi-2.7.5"="0idg4r8wa8xa4025xa20xjcrzvahnrspg4qif4lqywijv8921h25";
-"mandi.doc-2.7.5"="117gassgkzz11c12ba562iipw6winx7fbrwr1s5kmjlcx48xpzqw";
-"mandi.source-2.7.5"="0jsh3czwmvyvpr52zj97kx7h7c2nsi4zl3hmdpmdarhkcwzjfqdp";
-"manfnt-54684"="1fzfcvifh013xs6dm6xq2gpvmf3v0qn8scrbjj3yak2ba98bcy18";
-"manfnt.doc-54684"="15rs74sfnyq2k27bs3dvjiachwamima3q4vp0dp0ic95as2n61gp";
-"manfnt.source-54684"="1v3j47xa7k66dadz8dyy9gm3k4s6465zgqpzb320isjpb77p7r48";
-"manuscript-1.7"="12r1b0hqs1kqdxvyg8lv8yrsdycfxs03j0lwfmlhbg6lmgz32pss";
-"manuscript.doc-1.7"="10dczs60ncdk5z76w5jxgis9m9qilxp8xi53gixki4i82yd4l9va";
-"manuscript.source-1.7"="08fpv1i9vz6fbf9vy48k6y45xz67kbqb5f30c8pxbvyzlicixdjk";
-"manyind-49874"="0c5badlrh2321958z75wi4ggb289hnyy0i17bpf4qw9sjym08pz4";
-"manyind.doc-49874"="1x65nnkmqp2x04n9rg2n8yh324vdbcsbv68xfbb3ppx2462wrls3";
-"marginfit-1.1"="0x8ias8bv1zaavin929782cjvp7aw94r18lqvv10v3vgq20n7kjw";
-"marginfit.doc-1.1"="1cj1fidjvvhhzn9fxbvyh75dfb78wxi83bdxnwbpc6rf3ax5bl03";
-"marginfit.source-1.1"="0rrn2lrqg3a1yz6l88qkh8sljr18p1wx1vxyrzg04pzj21lw8kkh";
-"marginfix-1.2"="0arldbc20d1sncwanx3szam53yv1d5wxgihj8lm4jmda1858bmgy";
-"marginfix.doc-1.2"="0kk9cghi0y1zfk6ya3pfs08npdy7v95i4db5a89v2177cd6z7a78";
-"marginfix.source-1.2"="1k1384nxhiywlvyndnvhj6a35q433ddc019ckf8al2b1ngg13y0w";
-"marginnote-1.4b"="1vyv2n265y8j8r9ch7h9qjhwlmlzmqx62gc4zzm4zxrk0mvigpa4";
-"marginnote.doc-1.4b"="1cl1xrb8d7dpr4mwa56664wdkabzx8zr8cn6kxcn9bgl543ka3bc";
-"marginnote.source-1.4b"="152bwxhnssj40rr72r6cfirvqbnc0h7xnagfrbz58v2xck53qhg1";
-"markdown-2.9.0"="0zspbmkkqzab4mqj4id65gzh2fm3mhc0444r7kan1010jzhfd0hg";
-"markdown.doc-2.9.0"="0d0jpi27g01cr7xsr6qb79b7fkfbxhbnjbwgdl57sblixgmcysfq";
-"markdown.source-2.9.0"="0406cj0wc151f3cj4c9x76g5i34krarp3nmxfqw0626zj03irp6h";
-"mathalpha-1.13"="16r82mxl1lvv77j77hbqiy74xcclklxia8x3da7by1a8j1yvr78b";
-"mathalpha.doc-1.13"="11nqf75xd42rspvfdnw039j9i9akf5zncjnnqw54blb3s6xcrk0i";
-"mathastext-1.3w"="078rlq72ivyavgmghk3nswracjhp3args4z2lv61z22x4q9qhvbi";
-"mathastext.doc-1.3w"="0zpxl6kk0ljyqms0vssh5myd60g58wwqjx24z2n8xlncassbsnn4";
-"mathastext.source-1.3w"="14q68iv2y35p0i3xz59b4nljp2r2a7j6a6ww494nbifsp215xm47";
-"mathexam-1.00"="11rn665k5vg9w9rfgcp602v6cg659d4c22gikkgjpslc7bzrlrkh";
-"mathexam.doc-1.00"="1lv8zdp1fajq1nms16v3nk7f0bc8az525nnjjjzags4rpl8wkzh8";
-"mathexam.source-1.00"="1p0lalc0ny1zb8gc4bbg7z9pm6airbg63l1k0qqmwg10wvxpsjn9";
-"mathfam256-0.5"="0s97k46ysqvgs6a8aq5q8iwab390s90drd3g0ixd8zmv9a4hy1z2";
-"mathfam256.doc-0.5"="1zk42fsknkbzyx4m7xn3yjw9lrdvf6m7crnqsp1q7qb2nv3hn1br";
-"mathfont-1.6"="1cchrbpzjkvdfvn5qnzy9q9x39x9fvggf2hil6msqrri8wahspk2";
-"mathfont.doc-1.6"="1lrb88kx05ckyn9pf9w0d4snjydggfsg9qy3cm95288xxhn8z26f";
-"mathfont.source-1.6"="0vk88801illr345nvxi6adw27m1dj9v1l5s0j137gbyqb53cqdyg";
-"maybemath-15878"="0qb9nr6m819axi9qn8i32fynlmkjvyvc45gyp6pckwj54kxzx06q";
-"maybemath.doc-15878"="078s9v2bly2q802wdidzpvwaqfdkz00wkgyhn6867bkbq89g4aa8";
-"mcaption-3.0"="0bfcl1swwgz83y4f80a1kydmxhdyqxld0d5cjfgxfhnn9dxp3wc9";
-"mcaption.doc-3.0"="1afldwg6dghvkwd8gik8dmag4g2pb6ag3aks26qi0ygph05j9cwz";
-"mcaption.source-3.0"="0i6sd9vm1pn9h570am4lkr2br81bhmqqwwvymb8r37xpmmp9yvsk";
-"mceinleger-15878"="1a16g83g9wd5vdx70bq8zbr4hwm8fk46dpsna97r9fgh44n85pv9";
-"mceinleger.doc-15878"="09z7srskh57mz055ywyxwg4zcx07vq36jdy8z9w6w74af4icpll9";
-"mcexam-0.4"="02qj4fb3xg9h74z9wc2agisp5cp2fbis2h5ci8j09d22ak60rh8b";
-"mcexam.doc-0.4"="0f4d54kf4svyq54qcd1xqpx6zl9h99ahfzz1l72jyjhlqf4v6rj2";
-"mcite-1.6"="18did9achsp32k7wq4q75a9q43jxdm8k40q41j242gndnkn8axw1";
-"mcite.doc-1.6"="1gdsa91a4snk3f22mh06mr811b1kb0vpi30ss84d3mrnsvd1p0ha";
-"mcite.source-1.6"="0q1bv5nx9xf6r1fvgnxb1x720dm0xqrqg3kya0504q8qb0kgxqfj";
-"mciteplus-1.2"="0xbk5zrd9mbk4xid03j7a0c96s311rb1vjawhvk5waqw9y6dn476";
-"mciteplus.doc-1.2"="15aldir7viryb2f8vi0a83vgbdwbp5gcdg0slhp6j6ka6xv7ayhs";
-"mdframed-1.9b"="073gcxy2s8mskf4mvvs1jr8fkijci1ayg0b5r5xzcjw0s5azny1m";
-"mdframed.doc-1.9b"="0m8k7h5c0h1fdrpdf2a4vhgr8saqspk81c0cdjm2cmbsfm8zlc3s";
-"mdframed.source-1.9b"="0p96sl69p5342yy9fgw5cnkfi2xabdwb74mw7i1gbxvj0vx1f2q6";
-"media4svg-0.5"="11017yr6jwy9dy2ann36zxpzcgv816w3ma05i7plha3rdqsyxlay";
-"media4svg.doc-0.5"="15dva4jl5hiq0xcgfwryhz5zyc1v12rvp9mpr6njwzvax96vwnks";
-"media9-1.15"="1kqlxl1ny5xd86w4rnh3xgs1yf75mlgxvddr5skfywqcx23kxxwl";
-"media9.doc-1.15"="0avks17bchaj14k86bkikqphz56zzbjh8bk4mdbq5rm6faq41fb9";
-"media9.source-1.15"="06prhfr2aha2v176g4nm72b1rzl1xxdv5164n5lfdsahaqdb1r4r";
-"medstarbeamer-38828"="1cndcpdvkdvjx07rfan5dd7yg6sv532b6vvd97cm7ag2g1aqcilq";
-"medstarbeamer.doc-38828"="0i995yaqv91h4iv3h7r5m73vb7xvpjkzrh6nddcjjcsv2gvpjcxi";
-"meetingmins-1.6"="0za2aqj7gbmxxdm3hqkq2sqkhl3c1q8a3s778hw164dfpi8jx85r";
-"meetingmins.doc-1.6"="13kqp3561k9pcz7lmh7izmxw8iqq0s1jlhvq12dh00wvr7vwr8dr";
-"meetingmins.source-1.6"="0fkgaqldjdry08wl8al8d0kppbsqqhig83mgwfk20rzpji298b5x";
-"memexsupp-0.1"="0h3n1bnvyxr0ylg05fm819lzhzd7kbip5p5mr9kc5af8pd6yci9k";
-"memexsupp.doc-0.1"="04zwmw6varldbg5cxzk4bv8mbh80i9gdysfxpn1i4xb1la38b0bf";
-"memory-1.2"="1zgfjz995jbji8hycizbp614dn0g13rimh9csgrga86f1ivgcpmx";
-"memory.doc-1.2"="164nnsi25jk25p3kh54w2l8zk0rri50p0s9g4r5f50c3wzxi1g4h";
-"memory.source-1.2"="0mhxxhiqq5miqskb6c4hmjdjki280yyin2dh0md59ai1aprgd4p7";
-"mensa-tex-45997"="0gg38ls6fil67d0ln2yfjbpi2r6cbrnavfl926jbpxjfh4qxvqcq";
-"mensa-tex.doc-45997"="05krm8b1ylr8wjr0xy361whm0kn6mj4y6yrycjj47927xnij5qfz";
-"menu-0.994"="09mnnssvb83l1jhjbb4rb6lbzhwf4y4y0mq5h36dj4h2hp4qfi55";
-"menu.doc-0.994"="1g0ihkjlnf9v90x39mm2jn2ziijildyiqfda5bkm441pjh40x0pc";
-"menu.source-0.994"="091a0akja0y153lhhplb4v0n4z77qvxh9nchlr0v5sm9bbpvpiyd";
-"menucard-0.1"="13dirr45ysvi196wgsrdrcxspynzvrk88rdacrfq84l4imbsh683";
-"menucard.doc-0.1"="0sbgrk1l2b9mdhiymwvp6zci4nb86rn2r06chdbhgy9lzija4wdv";
-"menucard.source-0.1"="1pg4c26pij7p218a0r6mcwbmnsgdj7i63z8z7gq71i8jqpfcmlrg";
-"menukeys-1.6.1"="0cj7fgb05bwacxwh7p326d0gcgvkpxikbqkqgcbqz0fjsa7hl28z";
-"menukeys.doc-1.6.1"="0ks3fdxjc648mcp91i3jiph2zaaxghpkpnaknx7rpcmfyha6hlb4";
-"menukeys.source-1.6.1"="0d89ldwlkz41d4ai2vimpjq5vm4w9zbwgxvbqdx1zssps4fxgqff";
-"metalogox-1.00"="0imfkjfk1fbcpxsa3hfcn9f7i3dq9vmjzhl82v1c7i9h36y60jsm";
-"metalogox.doc-1.00"="04zvsg40zj93399hdn7w5cf1vavdwk2pzji4k647hrp4klcqv94w";
-"metalogox.source-1.00"="02yd2vz2m4iy6ndcibgvpxvfsq8hncclrf9ggfkb376h8x6vcy34";
-"metanorma-0.5.0"="17vg55m4yj3xcfgvmm2kw8a81fblwykgnbcn65drll10b89wx6xp";
-"metanorma.doc-0.5.0"="0z3mr4aw6gqdj4621dlghb4bsc5i44mlg81w81by98783fn4xdyl";
-"metastr-1.1.2"="0ci2qs1iyyn55zl6n12yn20xsff42dim744sjkxml7xad38vpnkz";
-"metastr.doc-1.1.2"="1jhvf4xngi5mjycbrbijn72p8anx15r1n6vh5hrjai95xp9jn88a";
-"metastr.source-1.1.2"="12rv9fayml2kjy7rmdh6d7g4xr2yg3r5ngky467y663p893nxk0w";
-"method-2.0b"="1aafzyca2l34p8jxgdhwm54yw16znd1085lx58wrm2fjw727946k";
-"method.doc-2.0b"="18sjh2kvy1f3c72w6k2m60jf60zbz7bz91xgq20wjigfagdmsqkd";
-"method.source-2.0b"="0ckvvf1h80mlzyqbd12yagfl8hph9l7k35mghr1ri4k317sm3ls1";
-"metre-1.0"="0vfb01vwb6x5wf4sq5j1rrl3jpzw0mwfqy1jkkirxkhbim5gln25";
-"metre.doc-1.0"="0zkr3wymlzxnk2n9h6nz65a1gsg0k4pfabdrkc15wfdn0yczicj1";
-"metre.source-1.0"="15cvprv3zg5nfsd5l5sj2s2hgx5gljn1jqzgcr4lpadpans14pkx";
-"mfirstuc-2.06"="1v7b4g2xqq0icci5kk9w920hqlkl0cw9z7mhpzd6bax8mbkaqih8";
-"mfirstuc.doc-2.06"="10dym0f52kkscvshnd7y9cqmycrsha3vjzqxbypjgklm0fg663bq";
-"mfirstuc.source-2.06"="1jx2pk3c4zg9gcslc2gqnmw6019jk3hd79qa79dc85jcwzdv0chn";
-"mftinc-1.0a"="0yhw7zpmbc3780qm46p5sc2qq71s2vhmfmi3kqscck876h4935fy";
-"mftinc.doc-1.0a"="0yxpbp501d6vwsxpm83zjhypvz3xz51f91q414zxjvsy1cvvprr1";
-"mftinc.source-1.0a"="1zamx3658d8vaik5w30hvia5y0hp119vhvqhj4h5kkwnwmz8hs45";
-"mi-solns-0.6"="1bv7gr2wa11cbsznz414x35n5yy5jw7q9kngnb2h5y73v8bnzvc6";
-"mi-solns.doc-0.6"="1byfb723572whq315zwybwm1bcvcn49km80gn5bi081gy81r75hw";
-"mi-solns.source-0.6"="12xrddxlrngjnk0yk35spk886yd9p3nnz6jrp51dfzw1xz6pkivr";
-"midpage-1.1a"="0hh4r2sgdgzm0nryzqymd66a7hr74rvcsn58y7dc7di6mhikrysn";
-"midpage.doc-1.1a"="0jfw5wd6qbxhf90mpi8fmv0nbazkbg9h65z91613j1ynqqf0087y";
-"mindflow-58475"="18ghcxff1sziazalm9sw367dgifbwqyca4vc6y0a7bf8gb14wq89";
-"mindflow.doc-58475"="0pc1hc1r9wzqfgj0m82rp1yb64j9r2q4dicfs7fvi8846hkfx67l";
-"mindflow.source-58475"="0d4dgx7mp66mr63q66wc5mnkjcncam60gkdgy9j6ag54j7kibbds";
-"minibox-0.2a"="0r94l5sy4n97p895xk33ir3dli1ngy3p67w2d3i7f6hi6czvykm2";
-"minibox.doc-0.2a"="0bzd55wkdxw8spw4706nj0sk478zbnvq9cnkpid638cwb6csb21c";
-"minibox.source-0.2a"="1dm8p6rjivm0xxa7px5dvsnrqs48zwn2kiq3vr6gdqmiy0ld1v93";
-"minidocument-1.0"="1mrzcxa59kpmrkhnnv08z7h48bj74gk2b0q3bvhmvddd6047yxwy";
-"minidocument.doc-1.0"="0dl4l8skhz7fm23mpmgmy593f34w78mm5qwab5bc41sg0xc0lyy3";
-"minidocument.source-1.0"="1n0qf2r1mjp8vx3s750fw5h2q51pp3qxf90gds8bzq2cv6mi61sv";
-"minifp-0.96"="1vpq8mh443hhmnf5cgj37jm362m90zdhm55jzqh1x84dadqpmivf";
-"minifp.doc-0.96"="08f3hp3knyc37a2fy87i11q62dlb35ri197gxm3ghl5h28zvzpfb";
-"minifp.source-0.96"="1l837v8c70s8x1xn4xhag6nkfpayamgzk95fb23qw23xpf6zp2wv";
-"minipage-marginpar-0.2"="1qpymibkrwdbyf2rlvfjj0g8agxisd2ym3xi7lzx3g953g5whg5r";
-"minipage-marginpar.doc-0.2"="06rivjd4x8mdpzv9h1yzkjbs317jvxa78zbv1kzyia7fps74wi1b";
-"minipage-marginpar.source-0.2"="13k27b7avz3v2jadjh84w74rsyh4gz2x22b8j5lv6yvrjnwv09f6";
-"minitoc-62"="0v80ga66rg4cgifmyfa5vq52v5wz48lj4js0ym9197x2w98ra6ry";
-"minitoc.doc-62"="07dah8lz54ccvrgigrvgcmbj76ppxaismbllfwyxcgkrkvqzxqkj";
-"minorrevision-1.1"="1mcgql832xmgpcwha6l0d282mhyva6xmyf75gbb6inwbgg6qkv9m";
-"minorrevision.doc-1.1"="0x9lw8xzmnn015n9hyzajnl9gicafj06gr2msk6vxwk136ayqfiy";
-"minted-2.5"="0n6ni5pl2fxchy2g2s9pbxa48wscviilbqi83pysymq7hdwcw1p0";
-"minted.doc-2.5"="1yyp2kmiw3b52gjnck07pzcz717srn21z15jh6ikx77a0m4nl6la";
-"minted.source-2.5"="0c8gn4ch0yq3pa5x863g6yshl6q44b8jqqv0vm82pqr1s35fh2im";
-"minutes-1.8f"="0yc7dkvbn0g7gm07h9r62ma3aagbgparrlamh462a9ckdc7jzivp";
-"minutes.doc-1.8f"="1m8blswmxhcm2ya966ajknx9arz3yh1sn62wnyxls220af3401ss";
-"minutes.source-1.8f"="12qvfyiscs3y1wk3r2mdq7vgkmz1ldsbg3wz4agib97lc30qqmif";
-"mla-paper-54080"="0yzfqb3x58qzw5lcyw3f6c3xyd98zx7zmz9j2rmv42r5wj1g668p";
-"mla-paper.doc-54080"="0kzi1gnla04shaiysrgyz4ak3l96h11shkrxcj0hbav43ndj2xhl";
-"mleftright-1.2"="14lvlhhjj50v31lgf7ywk5dx7d5gbnivssl15qzpa6s619q2h6l7";
-"mleftright.doc-1.2"="13vvfx4wxvf5liv641lwdm3hdba31rfrwsmirl36qwbrqsrl8xic";
-"mleftright.source-1.2"="004ficd5chakwcklbdx83qp3985s1imlz5knc7f3m51zxgr4lmw5";
-"mlist-0.6a"="044pjvbyabzqashbzag37ymqa9mr0c1qg3p7rb1j91r0y5s8ra8d";
-"mlist.doc-0.6a"="1vlxzzg6f3jmcmp8fjn58gciywc2qgw9v1kxpm7qr3vlv40pdb13";
-"mlist.source-0.6a"="0jim2g5qc9cdks4r3yi67hhszx3kkh26hhc0zgm2kx9syhdjv057";
-"mmap-1.03"="19hnkczxhxcr7pa7880mfgjfhjwiyl2yxhfz67dsrljqsfpi19nl";
-"mmap.doc-1.03"="1f861w6clfn3k8gc6piil6bq6admbyr4kxqnkw8hh29s63rdn76j";
-"mnotes-0.8"="1vzc4p8vki02himcvqja44lv3rhf9wh9gxi6aw39g7qbf3j9k28c";
-"mnotes.doc-0.8"="0wwf1651zb4jigmg2l64wh9j0y68fppfzn4gaq8apn5b47b68vl9";
-"mnotes.source-0.8"="1ihlcxhzms48lmqy169qx2d7cavwwf4k96q93cd4dxrxdph0ccz4";
-"moderncv-2.1.0"="11azbzdfi8fdnb2gwchdywv226j2ii7iz7cn41ls2q5kds41apfj";
-"moderncv.doc-2.1.0"="1214g042annbjmfbdnmxxcdlwyhwzig6lqdd06nfv59qr9gy2bi0";
-"modernposter-1.03.1"="1qc422hbqiyy6b539r7kyrshcja58mifdvs3bva1ikdxanxhnaq1";
-"modernposter.doc-1.03.1"="1z9b3fanm97c3ik1q6v06qfwrgqcqwyi79h5dlhcnpwsm5dxqj0s";
-"moderntimeline-0.11"="10alhs944akmqfslqzi09436mmnjz8nm85r8jpjwpfcx28vfdwnh";
-"moderntimeline.doc-0.11"="1bnz01q5rib9gr724gq6saxvzpg3lfmimh14rw5fn0fcn9bxlwsl";
-"moderntimeline.source-0.11"="0y2kfxcpacslpn1ly6anv0hlil2x6wlsi37w9b8hj7xfx95qh51r";
-"modref-1.0"="0pd0qd9yjhvdl3icrgl40lgyjsgahjw1jgc2ah75bfcwj02qm4v1";
-"modref.doc-1.0"="0caqpnyg5gbv3b6336w59nn0w9ic4p12f5ig2n7r6kg8ydhp53d8";
-"modref.source-1.0"="0n28d6x8w9rh3hah7p1imairyyywssajg7zwssp03dla0xlgxrql";
-"modroman-1"="17ijrx7f87pbkwbyjwigz3jr85fwzq6rr0pz1591fk9i36jhjaal";
-"modroman.doc-1"="044v0nkz0h1c7xsb66kmpqvr5gg4lg1qkx1x2qm9ijdpsbc4zsng";
-"modroman.source-1"="15xy8jpp2ac07qq0nl3nskpv62c59xb8qkl51irvpb0m01d97y39";
-"modular-44142"="0khqcm28cq8cr51wmyv954zy85k9dxvmiszz5w4izxvyk14d56sq";
-"modular.doc-44142"="08qhmna1mbra9395gvaqbaqi3rmyhhckx781x4zw5439z2bpmg39";
-"monofill-0.2"="0kpzszxph3bx34flvhz746xkdpcc9mj0srifki9y8fa6vgsk2rz1";
-"monofill.doc-0.2"="0czdlvrwav8n3p9afa40icddh37md6g39kmy02vcnwmn9k3izp4p";
-"monofill.source-0.2"="1x5raychfhcjibln59x01fay8r25fwxba4lwi0bnd51drvzs76pn";
-"moodle-0.9"="0j7xxp92c4j66h2bg5f6pkcsgqskldbw5d125iahiy5hm3p4lq4q";
-"moodle.doc-0.9"="01cwv06w4f06ykspidm03mbqr97x42gf1qysnrrcxgs3hpfj1vdz";
-"moodle.source-0.9"="108fvgc2fvlqwjabvbky7y8sqwi3hn0f5vc34mi9lzsn2y1j8xr8";
-"moreenum-1.03"="0cjq1a222c813l93yzf9757dcai55vh24r17cv6awv0d1xf6jggf";
-"moreenum.doc-1.03"="1g71dcnbcjb2x8ilhyfbkbb55x8740pz6n9gzdd8h6kyxm879zvl";
-"morefloats-1.0h"="0zdlkd53zl0y69d3manicnd8ch8qls6jxgr4mncqg5r57lqp10kd";
-"morefloats.doc-1.0h"="09xmhl2zaxzyvys63n6r71g6qp281f6y69gy4zbkjwb1n68js1i1";
-"morefloats.source-1.0h"="109wx7axxf1pgpxq34pz9i1cg357il0rbz8h0xqacn2yykh9q565";
-"morehype-r0.83"="1yssb0c3l0sqyv775mjnbba3wv1h6497x125li68q8iwjc529wdr";
-"morehype.doc-r0.83"="14s0bvxj2fjrkcrdp576c0ka1appg9g4ri4mc2isfb73yc6bmgh0";
-"morehype.source-r0.83"="1sljhzy05akipng9lfajapvdm8jf2jf50v1awl38ld0wfkdqvcdq";
-"moresize-1.9"="07vq0wf250ixhrg70vdvaz7zh33zaq5sm32ka8qh1ab590c8w7h8";
-"moresize.doc-1.9"="1qa9y7q1wi7f9klziwgj6dw9c7bh453srljsx9m106nbyd1cvnpr";
-"moresize.source-1.9"="1gzj5bh16afgl8dg5z44h7d4m79i5naj4wl09m17x6snvfz7ifah";
-"moreverb-2.3a"="14srw73gbfr0c3miizzs1rml2ms504hkv970p4dhp1wpk8ywc5f3";
-"moreverb.doc-2.3a"="0bp2lmzbd3zxqhijfqc7im10476xc50yc8amh0vf017ll7prcmjh";
-"moreverb.source-2.3a"="1snpyn7bc4qbmamxybv1j1h407fp597m26v2jq6yzijszfanh3rq";
-"morewrites-49531"="1b6pfqhqn3hadnkb28kcl9k5hc7mynbk1ik7njicrbxwlx3qqm5y";
-"morewrites.doc-49531"="1iqmxgzvrhmfmf6jmc5dckziwzvk1ygyzbr94sp0209x11sw9fb2";
-"morewrites.source-49531"="03dd4cv0x0lw4xbzqpv26nm5q2bn50wbjjgiqnif2wg2smfap9sw";
-"movie15-26473"="1x48h56mw1pzllzz5b8fx5ikhp08gx9jybdn7qk3jvfy13a4r5yr";
-"movie15.doc-26473"="0bhyfgsjwmvvl7lnam0k254w2rzn01wf5gzn38ymmlcbw4ajkkxl";
-"mparhack-1.4"="10zmkhymx023jj7isni49sc06g9g2pjkf6c421rv64jqis34jvzv";
-"mparhack.doc-1.4"="0rcx478bxy70mvzrqp2vp5yl17r3arvywp4bsn3c8652cl92qqlm";
-"mparhack.source-1.4"="0jw5imcp3dd4csjp5pvbqh7pbz119q8f2jgg9j743b80l59rmlnw";
-"mpostinl-1.5"="01p16dzg5izjgd64l4qgrhx0dm99hp5lrn9v2rlghs8m249fwmv8";
-"mpostinl.doc-1.5"="1a1rhz5q1i69bi1blvwzz404h7mgjkjcp9c07dd8w6xri304gi1s";
-"mpostinl.source-1.5"="18rfna80lz3zrf7wynr8zdbiv36k2n6a8wd430r81ybr9233dhxp";
-"msc-1.16"="1svx3k22rlcrgm7fm0xx45f5q40ngrfpvlabfkicdpnh2mwcfy4s";
-"msc.doc-1.16"="0l4941csa7xfxx4p9s7sbfk6xkv5cm2945y6pqvhj01wqcdghmnc";
-"msg-0.51"="1g418z3slb3cjf0wzgwgv0zkq0jnj647zqh6iqvlv42r7bil9001";
-"msg.doc-0.51"="0miycfpf7s74jz831kqbh6qlkkzq31l1x0fkf9d04b8zp26mzilp";
-"msg.source-0.51"="18djwd3g50ys4ckgzc3dp0y344qy86ni327jmyz3lpnqai8w1c8w";
-"mslapa-54080"="0ayfh1yv1a8wsq9qldgcmvq9d12sxwaa7df5p3bhsp0klbqf7pzz";
-"mslapa.doc-54080"="1hiag2x2br0c0qpmm347cyxmi58mwg2x0lyqfakm87f68lbbxdq5";
-"mtgreek-1.1+"="17k0lvghiw4milj4cnf6wjhsj7c1banw550dvlw9spv60lccvqqz";
-"mtgreek.doc-1.1+"="1qkl09lkdl9z6lm5hkn5c2xry7xd0f0ijx6xnyq3l6q99cnbafzq";
-"mtgreek.source-1.1+"="13h8knsfbl91g20gxjw3c0m6j33wh4zkmm32ybfvzlm8q7nf2lhh";
-"multenum-21775"="1jn6xqrc31zzaj9yk244g3sbi8fj2klswbg24fkclgj0cjr1xi5j";
-"multenum.doc-21775"="1pnjjbfwgy6ksdl76n9iiqla2wl0qa4370n49h4xy3rmrnbjmdqs";
-"multiaudience-1.03"="01g9ynwghq4a40jfb8qvcslgc0wa6qsfwfxr2m3cqyp5f7z27mar";
-"multiaudience.doc-1.03"="1bspy5q8n1n1vdd2570vh1xkfp2nrd12v17x9jfqxy5dbhggbfpy";
-"multiaudience.source-1.03"="07c5281w68jna67wsf71xafmk7yjw808ninnkzqs13csl5vkyjwj";
-"multibbl-1.1"="1aj6j8rp94mh210pdwd9d4a5s5z9v5f36wpylwjv4v2ghmyrgyap";
-"multibbl.doc-1.1"="0r4hnp4sgpx9x0hmrl3qlw55xlchav3r8sym2vnv4sqjnx4dc740";
-"multibbl.source-1.1"="1c7cvjabssssy8wq6x6lr909zq4f0bkhdzx1x37n3rxm2ngdqpbs";
-"multicap-15878"="0ky6hrdsc7wl65zk9krv5bf5z5lbiv1xfn4g9q8b3pp6ri874hzc";
-"multicap.doc-15878"="15zkw0sh0lf5vdi219h32nw0icq88cj0vnz9g9j7zb7xqq31f5g9";
-"multicap.source-15878"="0d3gyjr7kwx25gzsl4j5z887c952zxrsh3qk2j0cbs6yahzscxim";
-"multicolrule-1.3a"="01k425dsahhikw9n03dfarnlqc1irz33rm9am6w3gx8pd2d2q6zx";
-"multicolrule.doc-1.3a"="0h5is5lmqqybyp9c8kr0d12x27lgm761dcjhi63i7pv37hk0kylj";
-"multicolrule.source-1.3a"="0blj75rh7vqy8s8c87dqpbz7d279hngzl99272cyskmj8m4y6jpa";
-"multidef-1.10"="13rv808x0bz97cm45r2rjxy0yhmjycswcf89pl7z182acrbs30zq";
-"multidef.doc-1.10"="1jcm11pjx3d8105k12r120nqjjyk0ncmbry8pvkcpwf8kpxcqgp7";
-"multidef.source-1.10"="14y2vk3y8f35wxka65fmj1i235hbb4sviq8g0j300d24nlp32xsz";
-"multienv-1.0"="0j0s86c6xqpww1x46l2vn66l0wflqjsl5q4jqa4089xhzaxzhdy0";
-"multienv.doc-1.0"="02j3gripplimgh9qj3mjy9nlifdi6frj6cawxnjsm35r19m9ia5q";
-"multienv.source-1.0"="1s28zxxvbi5yg6iigdixc5kmn5w7h4hss3xrv04hr2838xpma3wc";
-"multiexpand-1.5"="04v8qz91w4fayy3llr20dqwvdx835wl9fmxpcg45sd3yrik2s4nf";
-"multiexpand.doc-1.5"="0pw7kqc1r0mvnb03fp5l3gpy5m5zvrynaqkg4xsdrhw4gqxlpfy9";
-"multiexpand.source-1.5"="1n1bngipr1sjjqnzsdgyyy08hnk53f81j0fqffjlr5siy4by1p6b";
-"multilang-0.9b"="0zkkfvkybq5hxbdwkwy5n7gal1ir7ixg8342wynk3ga9z6lb9shw";
-"multilang.doc-0.9b"="026d5yxli87f2svfyqmfzbhydwd4c929n2v11wk5prg4zc3vp08k";
-"multilang.source-0.9b"="1v4ql5jxlmpc6458qcqvbsrb9pf3dss60z3i3ylmyp6mx0kjmchr";
-"multirow-2.8"="0bsn4xzliq9gllmac4wqqsnws9slywc0d94abh81awpzv6vy8jwj";
-"multirow.doc-2.8"="070q5s39pfdq5wiq7crhdqhcyjalpd8kydig4djgji975b0xn0bk";
-"multirow.source-2.8"="08q074bixnkvn7hsi1n8vx0r6pqwwkdjsjnxz0n3lam30x4j1jib";
-"mversion-1.0.1"="12mvnkij2q08j50ka3nngmcz0p07lmvqg3jl8fxrfdzyy0h7zhdd";
-"mversion.doc-1.0.1"="1z9d4bcylv4sk79hfzgy36bza0r9lkzw93mis2m6ypgdbsaa3n2a";
-"mversion.source-1.0.1"="01dbma0p4lhygs64aym66j3vp3c0hpbci4x42mpr0yvjnglymbj6";
-"mwe-0.5"="1rk5530j3cnmf46i3gb6wc198ay99pwlbb80ynj33dypfiwsvhcb";
-"mwe.doc-0.5"="0bnw57l8bb6x4k8i4icc8g215bxrccmn39vyhj888ijygdw2hgmv";
-"mwe.source-0.5"="1fl2xlmqdas5rijzrail9yqlqz1s75z9fzkip5zjb8s0gfnbg3qa";
-"mycv-1.5.6"="1nnm6ns6qx6ny4xb7z61pajysfb0nfl7gs5dw292bwi7daxs98xx";
-"mycv.doc-1.5.6"="1d3rra14k69l5pfmcw4fwbkn257935zdiyd2p9gzx0bc28ivsajm";
-"mycv.source-1.5.6"="02ailkp9jr5r70aphfzp6kjm83ni6gigyqn2nr0zlsa098frpxg9";
-"mylatex-56751"="1zihhgy4xaj04qr6rfv73050rvb8a77zglaqgjby5b4a1j5vyw7x";
-"mylatex.doc-56751"="1bdigldcdk3rz4p58w7g4qssbx13jbhqxbavf3x38r71r1pys5x9";
-"mylatexformat-3.4"="0nns88lk6wdq053aljg9k17d3g9fvi75n82swglq3jxmxx2k7r89";
-"mylatexformat.doc-3.4"="09dnsxwdhdnpwf0y7cfj6xh8gws32xn12fc1rh1xiy3ivlynj8c4";
-"mylatexformat.source-3.4"="14rd6zn88zaaznnqh577zgbbmmdmbkzn03201i459v3jzcvijfp7";
-"nag-0.7"="1l31y7mr00s6md7a68cz51yv0qfd26xaj04ax1ph6dqc97r3fv1w";
-"nag.doc-0.7"="0gc56zgva7kziny3ridswnp8rscqi1mg51d8x580pidb11mp7dw2";
-"nag.source-0.7"="1fh9nfjbkvw907ra1crqfhm7hl4k703g80w3c8qvd18r86wmn2i4";
-"nameauth-3.6"="1p4jrwadp6hiv0z3ql92nc7n9qxc9fgg5nig6l6lpk9pd2z5b04b";
-"nameauth.doc-3.6"="1p4nw3w39p6l5mzkb9mz31hgbzrnx2a48vgrnrq5gjwdh8kggwz9";
-"nameauth.source-3.6"="03zn8f859x0dm8jx6cvnzqfm9fvsws62xvpyy1ls50kwjpqyf88c";
-"namespc-15878"="10sbvwc0r3lm90qdxds13iyfcddq1vjx2p8vvs4g3sav4fk8p02k";
-"namespc.doc-15878"="1z34xb5s5fgl4rag0fmc5i5j3jb810f543096mxpq46j98rcp5mz";
-"namespc.source-15878"="0xjcnrrrrw4032sd6wscxvar9y3kd4547rsd79dpkbb0ksmqbqrx";
-"ncclatex-1.5"="00w3g79rn2xa33al7cma09b8l9na6xd5b7w40j8z9day31i2p89p";
-"ncclatex.doc-1.5"="14fvmjnnw8n22c3j2mc44bqrdlsxn28dasfk9zmajvmxgic4w12m";
-"needspace-1.3d"="0abcqdcykpq4wa5a95c8w1bn6cz90zlsy146186v0s54njc5g3mb";
-"needspace.doc-1.3d"="1r9mn0flqdnaca1w2g4lsy0pk5a9l2sjnkpzzg72qgll9dsqqkmq";
-"needspace.source-1.3d"="02j2f9wl2ljyi82dxk7qk71dmjvgl17vp1d3hgvlc54gl5qcwqi0";
-"nestquot-27323"="0l2glc6aykd492rspxphgscx0ykc8cakvqkm8z99jq7xxi80l1x8";
-"newcommand.doc-2.0"="1vlxm26393psl4kjfh533q03sb4klnfq84nld9ggs8l5x08dks58";
-"newenviron-1.0"="0vij59qibxvl81r367yxfl4mgp8fjzd99x3aq008hwh3g1d8ciaq";
-"newenviron.doc-1.0"="1nvra7lh4zvxy70hf4ndj4nl3ij3ar8g2fxrc0951qvixz9jx7mm";
-"newfile-1.0c"="0gah9qbkpib651rjfrakzldi4wd7gv74y8j455n1yi6wnr0yq570";
-"newfile.doc-1.0c"="0vqlij71kfjzbl08sh38rzs9k714xigjc1cdvvpj2m6bhimazp76";
-"newfile.source-1.0c"="0sw9cqids994lscbjif8h7npp4cmzrhrcvccspag2aa78gsvz04i";
-"newlfm-9.4"="12mryj5w7dpn0mdv91grkrd24n2pn68p54bl70bg3pddvz5ab6gy";
-"newlfm.doc-9.4"="0afpxw78vijnhx2rwv94ar6x4ivcrgz7873vdc5n4dafgg18z78s";
-"newlfm.source-9.4"="0z081mn0zf92ana2v99sdyyqjz4lqnm2ymndp76xwih9p1z8233s";
-"newspaper-1.0"="1afj267dlvgcw8028b4c0v9rdj77w47zjgpk0grbapy7wjgpyjb2";
-"newspaper.doc-1.0"="12hlji06sd7bvw7r664cg8ijxabc2q1rb7z516ph18ayjl5vca82";
-"newspaper.source-1.0"="1h8abnmiai3c66cjndm6xawz00z1pfmgwlp6w43amjrk1rm4r5vm";
-"newunicodechar-1.2"="1zr5w047xqg9bi6drl2rw414m9bzpa5r7n5270zr8k8jj74xcv7x";
-"newunicodechar.doc-1.2"="11vk77c83xy40i9vclw4v1h5wnr03mb77fa8s2lhi0p4sq0c3vgr";
-"newunicodechar.source-1.2"="060kbd07al8cwns5877ap7irpf3r3bkw0w62cwvl67y03gcmgr70";
-"newvbtm-1.1"="0d9q6mvczacdxykp381181mnra49qa0y0mngr0dnqp24hfw9j9l6";
-"newvbtm.doc-1.1"="0k6j4xpvjwwvz8cipgrqvrs2dj66n7yzlr9mcfsgd5w6rm1p1h4i";
-"newvbtm.source-1.1"="1p3g9qyq4x0ffv68501zlpf1w0ffm816pa0wqjpqf8pz2jmgcg5y";
-"newverbs-1.6"="1n3qdw6n18kci7j9ib7iniymr78i9dzk6iiyc3pj4iy3n9s0xx3g";
-"newverbs.doc-1.6"="0i8vx3hac230w9a13sm3p8l5bv0sipyfzwfvkk3na53l6izdqsbp";
-"newverbs.source-1.6"="17hy171m0ka9j9spj3p292b0zg445zwxc93jj12y82yyd294rdzd";
-"nextpage-1.1a"="1p9dvw7fqspkg6hk6rdmsb5k5m9mkj0kz5a47wg5dgfqgrqpixf8";
-"nfssext-cfr-43640"="1qp85vnmzsn967iqvzsf7yzsq1a4zxvyim7r0xb8pncak805fs61";
-"nfssext-cfr.doc-43640"="1jac2k7nldxq11rcf53glb5y3haqdsxzzxmgmvyzhbrzmnx0bsms";
-"nicefilelist-0.7a"="0p26s3qbxbiz7nyf13lbjzvgjbw5cm9wwq2ji1i6sfjppv3vl8pi";
-"nicefilelist.doc-0.7a"="08zij33sv0pidl6fhbqypx53clzqjdbfnvrrd0yq8m9b527fcd7z";
-"nicefilelist.source-0.7a"="1d2l47v2qm7mzbkhk7x5wzzibnks7n0hz1g8sjxvabyaiqfpk6nz";
-"niceframe-1.1c"="047y9dh0p51lyrrq5fkvp4dpiszvf2nmx53hccl8hzgr2bs3kbwi";
-"niceframe.doc-1.1c"="14fapa38pffkj1hs58b7r1zkjn3dql9d98jzh13cybyfynd5crjp";
-"niceframe.source-1.1c"="095frb90nryk4m2iia4sq3kfrcfg2k3nq079770xlp720zqy07rc";
-"nicetext-r0.67"="0aqfg8phvhlgvyy71flqsaqwmmc6lsl9vsxpxd61v69hp2qhvggh";
-"nicetext.doc-r0.67"="0c078pfiw1nz11krcgwbdlp2brdy2xmq6rda9yahfjjg54xgdbg5";
-"nicetext.source-r0.67"="112ji0zwy54nqswil8lvvcrq0ai7jsmdagvf2786zg9n14h5kr75";
-"nidanfloat-48295"="15l4rdj7bk1279xjjkgh9a7scfmm6w88civ48shh7gwx8gsvcscb";
-"nidanfloat.doc-48295"="06ccf5yhrqvshj3d8ic3pbnvmdpjxq54i57y3141wgqcj5h062dp";
-"nidanfloat.source-48295"="04q480lddynb2gqz8azmyik8170vl056fhfjsnq8ydqj0rchnnqi";
-"nlctdoc-1.07"="0jgnmp6pfjz2jmlvrvnbqsmxk0bj276044hzdgkxl635ilzkzds6";
-"nlctdoc.doc-1.07"="07yl0i42zzb7xw0wbdwzpm7ibz6imds379ag1s77zii5zvlir1x8";
-"noconflict-1.0"="1flkwyz36xycq4aidj9v6ga29ghbww8ss5dkz4lzsr96nv38q78r";
-"noconflict.doc-1.0"="1v3q7xbss5ra1dizg2mz66zq97cfsv5lgnd136xqbbmn5vphl0dj";
-"noindentafter-0.2.2"="14z62mn7fyfj7m8wk7w8faq7lwixwfaf1mlk9bcc1rrpvm5hqn85";
-"noindentafter.doc-0.2.2"="1r6a40hxbkhm539b0yw4kmmg2wxlbnlrfa0wpkicp2yi2zy9xiif";
-"noitcrul-0.2"="1whs120vlg4cdjmb1x363g92ira9nc8j2h65qnvwv8qrmh2hrwnp";
-"noitcrul.doc-0.2"="0y3j12rb8ks8sjs1ikw3sccq7p7zmixc10nhdy9yg9rzwcgmicva";
-"noitcrul.source-0.2"="1dsjxs73xf79sjq9xynnv78jws1j39l240lvcvpir1k8vnzwfa13";
-"nolbreaks-1.2"="15qa4nf5c9gl3ha4prajqxl2p1ks6fpql03d52prm9vqkwphzgyy";
-"nolbreaks.doc-1.2"="1h9n7ki3iznbzq519cliw03fcn2k40f2rldjkhnp5vlzma81inh3";
-"nomencl-5.5"="04wp75pbkhk90137k93s24sl7iggzp2x36ym02y7x6g2cyfpf6v8";
-"nomencl.doc-5.5"="1qvn7ih059frjnm2cdk3sria70dyraqi9g4c6bw2qw8amcwc1bnd";
-"nomencl.source-5.5"="1ygv511l2sifvbx7iv0xn58s51ifzh19l0cjd8ibb89a8i8s9cxv";
-"nomentbl-0.4"="08jvfyn4vd8qwlnbsqhlxnwnl4qv5b8r32slcbfwshc4kyi2hn9a";
-"nomentbl.doc-0.4"="0g48qyrrj6npsjcnnzn3mgsmd5fq4v5vzzsgxvvx9x15446987cm";
-"nomentbl.source-0.4"="10b41ax3ynpdbn9bawkp43whqjkygh8f2p6qdjiwa47w1acca8zh";
-"nonfloat-1.0"="1ay9s9xrf27sgan2gan86g68i91rwa8spmmj2l13pb3zl5qikw66";
-"nonfloat.doc-1.0"="0jjil5rbxzcpkyid8y5dahab2ca9r77sw2scgrc4mf2h4nhrjfyz";
-"nonfloat.source-1.0"="0vyvpxyrqjqmlw2fj4b9avy7sn79m4q8gcbgzdkzzp8d0rng5i8s";
-"nonumonpart-1"="0dyf0nl16j7vp955g64rbvvjyqq31x5iv7dbkh8cikwvgn9g85s5";
-"nonumonpart.doc-1"="06j6sc8q18mnnnpbj57ykays69n78z0iz1r3vink7qaw4a8fbyba";
-"nonumonpart.source-1"="0p3gicf0fzmk0f7lblydf31pi9x0f6x0k5rvdd2ia8hrjdaqv1dz";
-"nopageno-18128"="098q0visa9g5lh3vp6bp484fglrq8g21v4cb71cnc30f7avkg1v7";
-"nopageno.doc-18128"="0n7p2f039vmd060ncc81yi2hnn7qyk6b7z2hpxh9pp78dwklgx98";
-"normalcolor-r11"="1yvbqc6px76phjgy9cwpqwy035nb61nvcxy32v9xa9wfcp36nw7g";
-"normalcolor.doc-r11"="0919aan1qxp5lfqm902ijn6sflkzv1dgxi12hjfixd8d1d7rlfgs";
-"normalcolor.source-r11"="13lqp3zjnhm1wmf5id1bbr86l5qi13xgij455l38l55is468sv8j";
-"notes-1.0.1"="058316ialcra7m56ww7imzqqhk318abwscw5g60hr73x3x7d9dgq";
-"notes.doc-1.0.1"="1zq11rygqkbx85cf79ixwcv1w971w4hx8zfsv7z16am4mlxcdz5j";
-"notes.source-1.0.1"="1ycxa3m2l13z6a3a4a88wpznvwdb78qyxkh879cvg85apb11rffq";
-"notespages-0.8.1"="1zn3ygkiyqax88azc7vcrkfw5hfzbbq3jkacnv50c8z5xllk2nwz";
-"notespages.doc-0.8.1"="0556azchy0yc8757wcy687vn82q0jmyf7n38vyx3admpawyk1pxk";
-"notespages.source-0.8.1"="052p17fbdpbdpzaai5xn8r0v6lamv7ps78svd27216p71djsfr66";
-"notestex-1.0"="08b59wvl0n718vbzj6azwmj5cn4jk57yzzzzgxkgkjj3kq2926ig";
-"notestex.doc-1.0"="1n7qdz9sf7jdvrrcvixbvk1yjjqdwsr8c4vlw0glwabjyzj9hi3v";
-"notoccite-18129"="0cbvwvgh3rkms6akamnrmzwm6796ly5fa93qsb30bqafgmx56il9";
-"notoccite.doc-18129"="1h14fkdn5kvxagkjx8h6f6a06v7y9z48s87x52cblwykgfm70qxz";
-"nowidow-1.0"="1w18i36ynsyldb9gs0yhv6plyrjs4762y7bglncv7bhqjmyy7y3g";
-"nowidow.doc-1.0"="1l2zq2ain8nhkaa8aagpm22nvg8p1vk2cdgs6pmrydk0hhmjh01h";
-"nowidow.source-1.0"="01qjfpps7ahmrwvg142mspj8gsyx21l3nr75g0v7qsqxbfjjy6gk";
-"nox-1.0"="06036p9059x0lzliq9b2pqahnbp8jlkd1gnq300rq0syj37mjk5f";
-"nox.doc-1.0"="1qfjlzczcnmf3pgqf4qr5v9c6ws6qba9hm28h3xwf2s3099drxjd";
-"ntheorem-1.33"="1mbrpw822ibb7wpzbl3fhnxg4djwy32knn9hqcvw1kpahgfbks66";
-"ntheorem.doc-1.33"="1f1cridxgv2rwv3f305hsd5pm59im1ik8qmpqhq4rpvwph8ny140";
-"ntheorem.source-1.33"="1pkrhkl9iq0giyvk6lqjxx5x681rjl9zmc0kmcypwgbqww59hp0i";
-"numberedblock-1.10"="11v5n8s9glczglmqm4bfykg5v0qdqr2wfnymb15aichqqvbfcgsd";
-"numberedblock.doc-1.10"="0rh954i5167pmwmisn3v26zqqgdrk5bcn2pc16m3wyrdgvq02kzw";
-"numname-18130"="0sj8plvx36i2azwnk9zhxd16x7dxk2419rdzc93pl3f68kxdmy5y";
-"numname.doc-18130"="18iarxgxxi5dj0cj1bf0il74ndn5lng3axf7zz0jwqpl5d84pz6b";
-"numprint-1.39"="0wkijyxl1zzay8vqvsyhk6kf5247qr8k55rz91dn1ph7b597d952";
-"numprint.doc-1.39"="1jra448iyyvc8qgc9z49brb6j9c89fzf5zhgz48k9959bv8izs8r";
-"numprint.source-1.39"="1svwh456nbswkrmj98s91vr2x05fvs58chkr5d5slq14wg1cpa0q";
-"numspell-1.4"="0lzzdhdw5rz36d83v0y0g75h4mjldsjzmd0zdjbv3hxsjplywdyy";
-"numspell.doc-1.4"="0jvywqs9bxrc2bm1f61liqrimbhvm5akl8lyc3xr8gqmk84v82jh";
-"ocg-p-0.4"="1cfg5253i7rb0ng65fwm6v0yhs2l91gv0a3d8bra1bkwz2f1mfmj";
-"ocg-p.doc-0.4"="185fgw41dbw1hsbv5lr84spv1qcfglm0xhrgwk92g0dgh20d0kfd";
-"ocgx-0.5"="0a1mvlgn1vql9w8ziks677ysir9fc904ihxhn2hy5qsk9j8wc5w9";
-"ocgx.doc-0.5"="06d3hdgvwymvxq7vv7ccjiyay6vf2v6c8wznqxyjjb8sv64mzlgd";
-"ocgx.source-0.5"="0z2jgksb5pccxs2bf94vbzb04b1k6a2ssrx3fxc3fwl3z8afqq9q";
-"ocgx2-0.50"="18m9m5nyr8npgv88di7bhr2bajsygrw102ycyy5rd52bqvlcrnhr";
-"ocgx2.doc-0.50"="1ah8qwa28qxjznw111ifhxnka51smqackhkwkzydk40nvjvpzawd";
-"ocr-latex-15878"="1l5s8wlqk4fc9i3fizhbm3c7nafq36w39693xm1x07giqqw8q8cl";
-"ocr-latex.doc-15878"="0ai4kr65ls66ywxncb63jr6gy6lcw6zjvlgsbp4wd6kfjxs27bh7";
-"octavo-1.2"="16pwz513a39630p51n84761asli9kba5z3pmbgfkcz7yfk9iiq22";
-"octavo.doc-1.2"="0rdb58jnyyp12i7ndd6qibs2jc1f0zcw42jh9j48aid6nwslvrbr";
-"octavo.source-1.2"="1f13rhvd2l3v7fdivk1ybw0gnacv9y2pzwnbw8ykmaq3x7m3x2j6";
-"oldstyle-0.2"="14lm3ghfgfqafqivam1dqf3gqgkchnbnc84z5i0whg2p18x9zns5";
-"oldstyle.doc-0.2"="1qj8nbcx1krpha49k4yzyix13vs9s41g96r7kpdmv52vlpfgs4lx";
-"oldstyle.source-0.2"="13c4dxvikdxx7qv7y9rfpgj4fgzp21q71xpmq1jzx7phwrsn6wcw";
-"onlyamsmath-0.20"="158p92zgnmicfwibiyr5qbkwwkxhvfpvngkbpbw6grbdhlwsn63g";
-"onlyamsmath.doc-0.20"="1d2znlhbz509rqzlwqnbz9b64mpbhckh8pv23fqr8058xlbazkh6";
-"onlyamsmath.source-0.20"="08znvq2bzapn0dfa7f4sd08gm5k7m3sh6hkwy17zwkc0987wx487";
-"opcit-1.1"="1g54f5sv05rg1xxpydsakjrlckmh1wq0p15w4q0935iw0aq7rn8g";
-"opcit.doc-1.1"="1rx3ap93f4570d006qci6j6qi88zwxc8504gg554aak1lffazw5m";
-"opcit.source-1.1"="0242ajp415h3y20dyvi2lrp38saq10dgb6hpnmadzs7wrwxhma55";
-"optidef-3.1"="1jvalzi2gid20wn253swvhil05m273x6685n0b5wbrz5kbvzk212";
-"optidef.doc-3.1"="0sdd6rsdfx1fcw1493b12ww5llww6mv0rij3f1ik290c6qbmyr3w";
-"optional-2.2b"="1mv65cqcrjhykpl565z96s57z05635q513qr440crbh61rp93chs";
-"optional.doc-2.2b"="1ks001q2b1yw87q0frhqq6yv77mskng6v1sm6kd8r22cv5g49xbx";
-"options-1.0"="1v2j59zcv5cplh3czd6r7cs4n79yvw3448492bxk446j4lx2mfcx";
-"options.doc-1.0"="1za038prpjb3s74ryr25q7hmz881gr8abmf68h7xdjq6bdk73da5";
-"orcidlink-1.0.3"="0ajvvwlkick7cm54bwp93vbn74a77jc4yb5vpy481pgl3c1f3rs7";
-"orcidlink.doc-1.0.3"="0d4y49d9h7l1h0d187g2pixrk9midqdfm79lyh3mxh2w2l19hv9c";
-"orcidlink.source-1.0.3"="0byrhilaxyisxdkxrb1zzv7r3snihw552n7ypsl67jjmw0593vzw";
-"orientation-1.0"="0qcqyr76wiks50i1zr3skp7bsnjzi6snsyvsm2za3l08kbdi3ixx";
-"orientation.doc-1.0"="02cmfz42sdd1gr4yaha603rppdh4c4wjj0jbcrmwlfgl9a47rj11";
-"outline-18360"="1q5dr9xlsn3fz7bcv08biv5cv71qf8brzgg4468mksh8lc8r2kli";
-"outline.doc-18360"="103sijg9ib5qfwaxkdgf11zsdg2c46dv00hn08sspl56a08j54sl";
-"outliner-0.94"="03j0mshhrchrgpa2z7j7q6n783va5v0w16gp401rzbvvdn0l2qni";
-"outliner.doc-0.94"="0vi80qhq10yy051sfzh6pmn34laghhvx6plnggrwvcmpp4fcw14h";
-"outlines-1.1"="0wzrf2fkf9kh0d3jjbc3kxvsmkynwzg622ghwcabaps097r9z45i";
-"outlines.doc-1.1"="1avkpx77sis4hrrs9dqizq2sz4vjzvn19ks8q7l32qyz6lnxwk2b";
-"outlining-0.1"="0kc3x4zq24f2dzwzypdi4ysgsfi40l54zxpaxdfgd662wxangrsp";
-"outlining.doc-0.1"="177xwyzq3mha4061dxxshszsyysmb6nl5b2grg4m55mn19qlw2f0";
-"outlining.source-0.1"="029wnd1px0wdgffblxcbs33r1ffv761sgma7bap9g2d1n3dwja2c";
-"overlays-2.12"="1xfbb4953ab25dbccfsp9ban67vrq79j443mlglnzqmg1njrckk9";
-"overlays.doc-2.12"="1nm0d47vclan46q0zvigxri5zqmfpv0qkk0arsg836vnv7l53q0g";
-"overpic-1.3"="1szm75fc37634pky5sm2l8b30zqw38n1h0y01w7c5is5s0a9zmgk";
-"overpic.doc-1.3"="1lixa20fskjpbc6clgr4sm74d76bqyyxc6y1drzhm9xnkggd29x1";
-"overpic.source-1.3"="0q48v02rvx1w95c077r7mdxzmvg7za151fxym24qsbdbqd3gr9ja";
-"padcount-1.0"="15p8g5hjwlm80xnm9py3ss6afl6c8rdq8f92z7518hp0yp7d3zfw";
-"padcount.doc-1.0"="1crpv27a9rfmh4dcliqvi7aa4h4lvkv48k5zk0kx6ahhxa2zkzaa";
-"padcount.source-1.0"="0vkk0c7gvzihlmw3f8ni4awj9r6xrysj9rrsbqk6dkngrg02x4xz";
-"pagecolor-1.0i"="0s7x69f89xfs8zlpnqg3igjjp8cdjpbg0666knz1bglvchihaav0";
-"pagecolor.doc-1.0i"="0lkc1s21l352wjgzvg4psi2ivh5lid9q613sccc4nvbbxj3vp8wd";
-"pagecolor.source-1.0i"="0dlrm09asm6y9kwcarn7b3lp5fxs26c3mr6dgxc7dy0k63kqnmpw";
-"pagecont-1.0"="1fh6bplg468dandbyvmwf13sh27r6x4dmrwslldlc9580h8jv02k";
-"pagecont.doc-1.0"="1vrcr5l1facyyf9p8977q0i5m7cn7y40dbmiv99314iyawa3rr1g";
-"pagecont.source-1.0"="1qc105f5v0jiahk8gpgr77lqfaladba4hmqnfizbblzbjhhgg05p";
-"pagenote-1.1a"="0jd80dz0jl2gmfr74lw6jy1x2hj6zlji9az956gkj8bxxc6zir54";
-"pagenote.doc-1.1a"="1s7imj4fi08487xmcsicsa4cknpsgd10dbcyn6vkggm95qn6119w";
-"pagenote.source-1.1a"="07ngnfinv2mki203in54l4gx7r4qx9rm8k4x7856gr7jy1wkw16f";
-"pagerange-0.5"="1nixc1dn9cbdi3pa5yxajii6c9ljgc2jrnknsa7wb66kj5j1lqch";
-"pagerange.doc-0.5"="1vy3c498j95miksm254a1sh7d8bp3g5p7lvncc1xad4g388q6hak";
-"pageslts-1.2f"="1lm8707bl8a9kxrbbr6sap3p66zwjklqv13invm4gcsg92yf7yhi";
-"pageslts.doc-1.2f"="163h2h9n4cvap2c369f2yxv3idij6wzjqwf0wd7w5024h1vvj683";
-"pageslts.source-1.2f"="01nwizj0vlnwzbqyl5dn02vg5xl2aw60wyvp4plm0agg8kxmsi3a";
-"paper-1.0l"="1d8w8aicx5drrgqdcrsb7vdy39xh6xmnnpympy1db5i2mc2nkjca";
-"paper.doc-1.0l"="1r03wy4harxplfhqp0dsqfpp0s4j5gn6k2p43fpw7wndna8lnhyc";
-"paper.source-1.0l"="0c1iv6aynpfi37bg30q235zdpbyhj83rkir4kdg4vl8q27c8gpwg";
-"papercdcase-15878"="0gfkn87avjnfjx2k6hz5k2s9iy2lxwx9x4r0cp1lcwjgjsavf2y3";
-"papercdcase.doc-15878"="1hm0i4vvxhxn0wvsrbxd2lkqspqkq7ik3sxxm1nd575p5l3zgl69";
-"papercdcase.source-15878"="0mkadgjk395z280220zndpbbks331d5hcsxqnarpjmh00mkhdj7f";
-"papermas-1.0h"="0x4h95w4znr0qkbmh18ws13c49fq9wmx1g0rhkwbkg5yxibyhbk1";
-"papermas.doc-1.0h"="0vv07vzfsgmpm748si100rbsfp0ipvnnnqidg6c5b4fgydz2dcdk";
-"papermas.source-1.0h"="1z2wvpy8r0qq0zjf48i2z93iyz6vjnzc0vm8g5pd5zrq961hfj4r";
-"papertex-1.2b"="144zirbvdpq1q8an6i5rngycmlrgicf9skh6mnwyz45n4zyyzyg1";
-"papertex.doc-1.2b"="1aip8lhazpmmvdib6yqivbgjagyyhmava29q9hrlx833385vvnhj";
-"papertex.source-1.2b"="0bfkh8vwqh6jx34fmqfqf2qz5wjpmq9bpzbppf0cphs5frbwg10b";
-"paracol-1.35"="0lbdk9wbs6c6kq0iyf6amc72m1njdf3h8yvcnka9dkhjp228ldf0";
-"paracol.doc-1.35"="0fnby29nnrasv32p9xwwwax57ijzscpnsv43rwajlqwcdhi3s2nj";
-"paracol.source-1.35"="0q9izjw8lrwcbx0cpq66pr33cn02wl4daxsjvlkrjzw8zzrijl64";
-"parades-40042"="1vmjda4cvajsqai47wvl0byi552gdcy0j4m36p58gjn3d9bc8818";
-"parades.doc-40042"="1lz9dsy94x5cvv55nk975fw7dlg4bm6d8ls0p6gy5b58sjd6vcp8";
-"paresse-5.0.1"="0kxlx7p8949msfiafqf0j2ayg41cmgnk1g8023af9rlxbf69swmr";
-"paresse.doc-5.0.1"="1v04rmmmy8lsvmbvnqgiivdr5rxfh97k3fb0zc0rs3jfg0jl290g";
-"paresse.source-5.0.1"="0lvwpyc8fdp3y1h7jrmlymajjd40a8kc4nv94wg6nx5xq2rksd7i";
-"parnotes-3b"="0d8600ssj90rwl9rxd27i23f58lmxyf5r1sn8yrl8fjnq42q447b";
-"parnotes.doc-3b"="089i9fwzjcv98pnqmhca26wpvn71zcgb79y3jg5w8szagli38839";
-"parsa-1.3"="1n2yh9v3d8s32ylicq5vn76m91s6648zgvys6vg8m63pafzl8rlm";
-"parsa.doc-1.3"="0i3d87kajjcw9mallswncp113jz9jn35jkj2y10dmx6z5sv3x3qx";
-"parselines-1.4"="0ymcapxlfyb6xi4k0z1y42cyzan67yg5v4nnc2f1ac35yw4z57pz";
-"parselines.doc-1.4"="0396j4dscv2pqk9vxmz0p4xm4l3v9ln98cwv32r615l1k68vafsg";
-"parselines.source-1.4"="0cg77iddyvl6p818j74ci2zg4zdddp82wddhxqh57qg8vcvi9g5c";
-"pas-cours-1.9"="0gyw81drxs56dwqh6v1gqgs4xcwq78v9isgg38djxq17km075y3g";
-"pas-cours.doc-1.9"="1zn71815y5pkp24l0cd4283zb3i85mqqzbxmhxj19v5s4jx3ywsn";
-"pas-cv-2.01"="01aqcqyw0h459xq18gc0y00z2j13zwdn72qpfmajps7ppadlcbxw";
-"pas-cv.doc-2.01"="0mwgvj4hbq9b6ih6l6hg6gl5qrxyyf0mimwv50vpy1z7bhdq2l6a";
-"pas-tableur-2.01"="0w4760s1z3nqnyf449vmd7x7inhsp08n9i794177rx7kc2yj2l7j";
-"pas-tableur.doc-2.01"="0fish3403ixq2mp3l69qij4c74s999mimh7majfcw58b0y6nizpw";
-"patch.source-42428"="02xfy1fs30nha0l03lqwl8xrpd81855kb5nb660ks83aj187dghy";
-"patchcmd-1.05"="0v0033zpp4w75lbxk8w2byhgy3s6qvm9281xc2c75bryp0ar5pfq";
-"patchcmd.doc-1.05"="0vw698r5q5ai4lx4vrb24x8j9dc7iwaml8scsh9c22cpqn2sn26s";
-"patchcmd.source-1.05"="1cb90y0i5k9s4jj3f9vnj6rhxphjc14p5nm6hllibww3h1khnrxr";
-"pauldoc-0.5"="14p0lnn5hvn6szhgr0ngdc31dbjrfk7r8m8n2jn5n8nirsrdzjxf";
-"pauldoc.doc-0.5"="16ls36m6c8v4x46bz26ysl0ndi9jmby2gl8b9wglw9ba2gf97xjw";
-"pauldoc.source-0.5"="17440237dyqhxpszm6rcpdhb8dib6l9qfqj5ls2m0bk3vqm7xv8q";
-"pawpict-1.0"="0sx3lwgm3d3cm4s5408x5dhf45kngls8izzkqjrqjy074736968d";
-"pawpict.doc-1.0"="17zf7acasv8h9crzg6jw3d2grmhi689476z9x6872h7kzkn3whj1";
-"pawpict.source-1.0"="1vxmq9s2q6sq6qza6lhkd6lmj6pg4bw8qvcpqr8zr12nqcfy4z3g";
-"pax-0.1l"="1d212favd0c9g6hfiy2kc45knsa8x7n3yldkp5xp5xvfa98bckp6";
-"pax.doc-0.1l"="1646yl4nn4fr1i4wjdyikzbr254fxiga72ihf9jkiafjibxrrl8z";
-"pax.source-0.1l"="1g565cpblg4dkdrrrs79qnfd5ips1rm1785nyvjf4m1p4cpffdgg";
-"pbalance-1.0.1"="16i5d309dad5g00kwwsv9yfwvf3qaqs5vb9s80iizk6bicgf35yz";
-"pbalance.doc-1.0.1"="1f87jlzha44v1z2p94faijcpaak85fvnyyp694da4d3d4bvg2f34";
-"pbalance.source-1.0.1"="1iy7xzs5azgprmy4jdfpncsnvksygnqya61gzjiw02ddhr8rmh5d";
-"pbox-1.2"="1b6xli52wbqlhxf2sk4ryighd6jaj6znvpfv6n9s1iq40ag943dc";
-"pbox.doc-1.2"="1qa0h3ahh8q990wbwyrp4glwhdhbcgzz9yp436083w8c9ang0lg4";
-"pbox.source-1.2"="15gqbvrsigqqyzcf8rda0z0kcw5h6cnk1l9pxjh7apz7i3k00i5c";
-"pbsheet-0.1"="04z9iszj9hx7la9zqqqxrsfq3b6asld4zxvrszyjqw7z3fj7pyz3";
-"pbsheet.doc-0.1"="02an134idar5ndk2kk2d446bxawv0xkrwg8xvgxgpp8s1pqdzai5";
-"pbsheet.source-0.1"="0ad7zs28d47p3swvl6kz2v1p2nskrcf8fjwy0igwy8d8qalk0dix";
-"pdf14-0.1"="0gpbf1jxfjl56pn3sj50b6x0z3fqhb7d1dl8dhf31vgcj8sn9n08";
-"pdf14.doc-0.1"="15rgv0fw23c4zbwlx149hhbq711hq39v1nka52mjpl7lgvvzny98";
-"pdf14.source-0.1"="1wm9nlqws9g02zkk3rgrpaic293vfskfrxsn3s2jb3iz0f12bp2w";
-"pdfcolmk-2.0"="09rqw5csr4c63w5z5c019rm8h4plqzwy0icxbzgap048a7x02kqh";
-"pdfcolmk.doc-2.0"="1nslm2frwxqcrm3spr601p2r6ga2b91d7v1v0rbi7h06h14mvxa6";
-"pdfcomment-2.4a"="13cknk58kksg605m2jjkvmkfm47sdk56irj8xa3p0alx8c4cn67m";
-"pdfcomment.doc-2.4a"="011l19b3lhc8zn3dn071gnlg2300174xaqkdn83r631zz45yriv7";
-"pdfcprot-1.7a"="0m4lf1rb2j81ry7v2g9lfqs42rizifd64q7xw9dzhnixp900ldfk";
-"pdfcprot.doc-1.7a"="0b9ac68snrs7fs8g8nqrs62h8jjfyjsa07psk8qc20nvpya3hjq9";
-"pdfcprot.source-1.7a"="00nmdx6l66w895fjir6r2pwrnh0vpn706i9wi5qxx143h75rgifl";
-"pdfmarginpar-0.92"="0mhf21dcz4ndhbh1g0h3kcqza4ni6iigrkif0iryyzg1zcx60d19";
-"pdfmarginpar.doc-0.92"="0arfch7gb07grg0n8ij0wfzbfzc8bv5izvhp3vjz8hl8ha3wyzgd";
-"pdfoverlay-1.2a"="1gyrwbv8xnqd4kb70d070q0siissyvw0v9w84di6v9wb27s8yg97";
-"pdfoverlay.doc-1.2a"="0nj5ahamxmqv1vqibjai30a18429a9f3dhngw3pg1aa9s34f9c9s";
-"pdfoverlay.source-1.2a"="1kh26sl5w11p1vg85spvy4ppw0h8fm8n1bh58jhbmp5d9cgrkw53";
-"pdfpagediff-1.4"="1a4qmaypz1indb2pw4vz0hv8ihanhf9z0azs3zkv2ya6qkc0kphp";
-"pdfpagediff.doc-1.4"="12di5a3976bkilcyfg0imx3w8771ky0acgrag7xp9rpcggbi3r08";
-"pdfpc-0.6.0"="1v4zrirfjyl2ffhpkxyd1pv5vb5m8azfzj3spgp9d39jmkf9w06w";
-"pdfpc.doc-0.6.0"="1hs0ws6v5713wsb57x003dg2yl27gfw794mw4p62bhrghpsgfrkw";
-"pdfpc-movie-1.0"="07d7d7h8zfap39dd3nks1bnpnfpgs8nrzzdsmchy6isqfmfrypgn";
-"pdfpc-movie.doc-1.0"="1la9fvzrlik4ar3fdaxla5gbwpa2v49xrrwc4wy60i7h80vqv80d";
-"pdfpc-movie.source-1.0"="07lw20wp5cqr0pvjsw3ds75n3hggxgcp9rbvw026lj5k54wik1bv";
-"pdfprivacy-1.0"="1l1nqf4ihwfycnb1x44l1dl2h9f3iy1ppvr0l4zb8qcjqhl4j63y";
-"pdfprivacy.doc-1.0"="15w8jwhksfiv0h2iixk07xvvmk1g2j322xqid753bcyks48xffjz";
-"pdfprivacy.source-1.0"="1nqjj51h0pcrjnybj3cqb8zwi0r1ipzzw8ic2clnf3in88pjzjhs";
-"pdfreview-1.2"="0saxaxhma5gdn150l934y0q8x0nigbcn9r7ixr8rwz4d85g05m9a";
-"pdfreview.doc-1.2"="1kdyc7h2dpr4gjzf9g0rx66gsxaiwran9k7vj8942pr3x2d2jbaa";
-"pdfscreen-1.5"="0kkdnwgwc9z1rqsz8cjsmfjdi3ycwi7n7pl2929yvvwixp10rr6f";
-"pdfscreen.doc-1.5"="1zhg4vqfjjmg4z4blrr2zl6jp7m2c24m5diifgn5j3m8nwxp6m2j";
-"pdfslide-15878"="1za0jp9dbrv0c875zddgcvddlk7gm47crmn97k4zx2s7glx24wj7";
-"pdfslide.doc-15878"="1rv7wbzrlgj55n7r6i9bm1vxjvjr38v67lizmbdcxz1lfqbv0rw1";
-"pdfsync-20373"="1wwndjn0058hflw73y8xfsmnspvaz61r55k96fmsdfb7xfncv1vn";
-"pdfsync.doc-20373"="1dz826gclpf2knrgks0lhvm6rs1xjxqpzgbz4nkv1f8li7379y2q";
-"pdfwin-54074"="1mxfvchz2h9wrybvb0ri4iygwn1ljs2jzsr9hi7j7ych0sjq1c3j";
-"pdfwin.doc-54074"="1wn4fj00lpfw6jvfr3144gjvghdjvqxc13ji6kcf8q18vcdjfcbd";
-"pdfx-1.6.3"="1pim1kiilydijs57zcsd1cnhzvcq5y621fb15hwg9y69s624wjwk";
-"pdfx.doc-1.6.3"="1rb38sw6lyvy24hkdyw7xrbm99bplvcp4cfcdr80pdwf51g10faq";
-"pdfx.source-1.6.3"="1y55s7h2cc39vp36ickpkc8dl42rmq77l1d47h1dxximyihl96x9";
-"pecha-0.1"="1ia3q7gygbg4scgja2qf5p7wbgd429cj78b8ffjcz68vgdg86jjy";
-"pecha.doc-0.1"="07b7kmf1if59nrqnsws5hklv0idjjxwp37a16dbjpcfdirb4s2m0";
-"perltex-2.2"="09vc7pbfjl0zjmbra41p5lmr6l6r4gh2x5h9h5hg1i76n4mfkd8d";
-"perltex.doc-2.2"="0sndaglhb92b4jvp0jzpvdiwzc49ijh309aysahrw0pwkdl2lv5d";
-"perltex.source-2.2"="14rv37h9qwgba7dqq8zzvm0dc9y4hmyr6yvvkfbh2il5zs7m8nrn";
-"permute-15878"="17ky79fz5pb9xr4gwrfpnpxj16mzj6f3wnh9dfhddzlmbllw1djs";
-"permute.doc-15878"="0m83nafyxbixsyg37ia535h3axvf2vp6ky0yg1xcv8ppsl72fd8m";
-"permute.source-15878"="0k1h40himliydiqssvmzl18g28w0hfsxc6kv7wn1q41sm54knhay";
-"petiteannonce-1.0001"="0xvpw8lh1zlkc89chbyjsfszr7ix06afh1fajp5iiqiyxb021v7y";
-"petiteannonce.doc-1.0001"="0nnf9bw4jdm3w28957bdfsl9z94a3dxz5kvmjrg0jkrp3r3cyrgv";
-"phffullpagefigure-1.0"="10vdd225whr0y166xbfc8qbm39vmw3ksvcjm7ylkafyp670ckc3a";
-"phffullpagefigure.doc-1.0"="008q8mf85s4dfbjxbc0k9zpwazbvhbfcc0hqvn679v23kxgfphnx";
-"phffullpagefigure.source-1.0"="1xwiygkhf3ggmgl21dsqmpq6238whn20wzhwn8znhh9sxwa58pyl";
-"phfnote-1.0"="0sik9q24cr32xc3v88rbfqp9q6whv8pr2acg95g94r2nh800ldml";
-"phfnote.doc-1.0"="0rdzcdp6xax2p15ilqpk6yc84rag379ik6zivqh9aivcmpsl8ak9";
-"phfnote.source-1.0"="1lf2g3ka3090s9pwv6kryqzczw3bnrrm9g1f826bdr5ic83k85w7";
-"phfparen-1.0"="00is93n463f5iv4gxd18sc3w338h6a38xahrd1r5j8mv2d419wq2";
-"phfparen.doc-1.0"="10ninpjl9ij19kw8y8pvbma34b1y462qdigpslid2g3gyagkrs8v";
-"phfparen.source-1.0"="00bd1j7zn84d0lfkw08mc93q2ayg7j7bq9klcvvcd5m189spj30h";
-"phfqit-2.0"="10m4s3xsyg57dpxnlsxfr6wrr05p2jny6rw386dhgy8dxc1pdazq";
-"phfqit.doc-2.0"="00kr0rirmjkhhbdvwifzxwj0ifbj82kh59skfxpcls0kd08kd74l";
-"phfqit.source-2.0"="1mshxyi4yplr0hc0sfssjm27mi0dr59zkhf4gar3a12y831c4m36";
-"phfquotetext-1.0"="01na6w8kspl4i0i1s4cgnl4r5fdcybqxx7mzdd6mwbd24mh971a2";
-"phfquotetext.doc-1.0"="091rcqssy0snh6m0z2pwpflfvvf7fsrriyb9lq0f5pnpqqhya8ds";
-"phfquotetext.source-1.0"="07q96xkawcsiipr87nbwfawkcqmgch8h695gg8wlq091q2wrp452";
-"phfsvnwatermark-1.0"="1jmq6l0hb895bfqh2qycxpimwdgp44c64cyxs3vnfzxsb4ii4sz8";
-"phfsvnwatermark.doc-1.0"="0bcj2m5x107sswwg54zhyfdfdhxn14klnxkvb1hc56qi4wc4vkwy";
-"phfsvnwatermark.source-1.0"="1q2l9w8lll3i4bjna6csx4kdpai58i25gn1yn0z4p0pbzqvi08xp";
-"phfthm-1.0"="057x1rjr18yw83gsrp9gvgzk3vq95dr2z3pjrdaq3rm0j9m3a2vd";
-"phfthm.doc-1.0"="1xr1588xc5pmnmcxjxpym4qhsq1h8cc08b4b6vyw7w0z5a304z2z";
-"phfthm.source-1.0"="1n33br6n6ffzksqri0xskyj9x9q93lgzr7cy7rsn0c2aksnmca4l";
-"philex-1.3"="01m80gaawlxnga76rkqwwrg9bg0szyd3qi0d3zyvk1n41h6inijx";
-"philex.doc-1.3"="12s81zvlsddzscvlwqm080y6iv1wm5vrffp9aqdlkpcf0fwlriva";
-"phonenumbers-2.2"="1npdf1am3604gk6anrwpkcsjcchg7cb7m6gqijp53mw64mbka1jy";
-"phonenumbers.doc-2.2"="0p1k4i67rvn1458gnlq49v79m5rjadjsvifabjzz1clww4dxlnmp";
-"photo-18739"="0d9mkavi2x4wha1c9zi2fswv7vsi4hr0588gj82vwmwlrb6v8gsa";
-"photo.doc-18739"="0xnxkv1rkz4c7wh7dm8rna2g2zf9i97aaajlfqsr6ls1d9by4zn2";
-"photo.source-18739"="0vxja102ajrygarqfg0y7bmmhx2my66dlnfp7rsc4kldi1g2fs3j";
-"picture-1.6"="1i2775x39n5vxspy555rwn86384yyapl70kcfir96prp1846rfjd";
-"picture.doc-1.6"="09gid4bb2wbmaqday94qj4r44cpk57rxpzg6grdcjg4y1dkjph0b";
-"picture.source-1.6"="150wv3jb6hspwhkjnbxff5izskvqfvhvqxbw773qikjjxsaidqgb";
-"piff-21894"="1q0xdl6ip1706wxprpd85vycyksbnn1ws091gvmpdhn6as4fxg9i";
-"piff.doc-21894"="1sa2l82yndb9pl8bfmnna20ackv9rxp7y6ljjyix3bpksqp20rwq";
-"pkgloader-0.7.0"="1vmpxv6x2dq9b4ddj3xxqzkxz213bvz7qn24jlx04svdrq0cnpjn";
-"pkgloader.doc-0.7.0"="064qsri65nyy25sz8y9avpxyg3rzcspjr1cfc5jp0vfd07905zix";
-"plantslabels-1.0"="16hzr9zavc26mqddsq4yzb2y60r2lh1yjlna1qyaxqrq7fr76g1z";
-"plantslabels.doc-1.0"="0pvy9gaarrwr4f0bzdhj3xgisfmpd73rfcv9mlw87k3l9y2vly0f";
-"plates-0.1"="1238w5267spw6liidzxd550hjdjxsg3d1231l9vf5fmcifllsnmg";
-"plates.doc-0.1"="0w1jn22gd938zqifhbiikgggbly2fjhiwjdh2jq66yax7p76pjc3";
-"plweb-3.0"="0yimmz965gsb0ddvq3ck28x73p9fn08c42f4331088130l43dkx5";
-"plweb.doc-3.0"="0ad3z41r1a3wkwr7lr9hf7n4bcas10fdjky7f9ykam0244r5q4pw";
-"plweb.source-3.0"="1zpnyzxf125qqz6j3m2182yn71nkrlaan1qfwl98v020iia6vyv1";
-"pmboxdraw-1.4"="0a1mp38f2562yq3nzv39ffwhnzwpamy74pvqnigg7hv2v7blkijh";
-"pmboxdraw.doc-1.4"="07f1n2wpfqrd62agh0ddw67fnl5qczw16640h3v5x7yw31dx4n29";
-"pmboxdraw.source-1.4"="0mqg8xkhqy18m2sbp2i2sv58n2hxf05qr215kbmh0b53lbp16pzc";
-"polynom-0.19"="0vn9k3vci15lq0f6r2354ag4bs55jcq6571wvz3k4daym5ka57s1";
-"polynom.doc-0.19"="1cxsw0b5vxy191xy5clf15hb2cpyyqj5ipvgcw9n0hm8ka3g9l1i";
-"polynom.source-0.19"="0qh4w6q9qch3r41ps38yzlv850wcqvf6b0b6vqirk9lq978k387i";
-"polynomial-1.0"="10w1vq7101hnp2ifaa0j9mfccg9y4s3cyms4m63sx54lbpj6rc1r";
-"polynomial.doc-1.0"="1vn0i77hzr72xkj6ka4r8n0g0nbz382z729v269x6p5j9qqmiz21";
-"polynomial.source-1.0"="0hsb8yyk6ssih7fpc6qiwaf40cwn8xx4jgwqgpmfgkc0x1qkpri2";
-"polytable-0.8.6"="02gsan2wakxsw1niq6l82ag2rkkasi1nclf5yad2kl6c5654gp47";
-"polytable.doc-0.8.6"="03k3qz08bfqjyw4ymmibabbaciqz3srd2hll9np7xdphjhf4d2i2";
-"polytable.source-0.8.6"="1sh5wsb5i1f60sqdych0b3zjcli2h4g46znb0q6n68r4ma7xqixm";
-"postcards-21641"="1glfwj94drccwmmsx6icc9vyzq7w8kvq6flkkbg1bp0rrkjf448j";
-"postcards.doc-21641"="0cvhgz34mplpjzzdpy2bxblmz6qxxlshadj8in810g3y22v39khl";
-"poster-mac-1.1"="1b1zq9ay8fxqn9593f8n10zlkirw2b0piic71b9fx6s9a7x82w7a";
-"poster-mac.doc-1.1"="0wc0194ixbrl722a0djm704fmbf49p7vxk5fyv6d3gyznja54fxz";
-"powerdot-1.6"="0m81n5syr8p99wn8x0yf6h3qjc9n5rdmlrd0mg778m2ccmjzim82";
-"powerdot.doc-1.6"="0npmh2sld6kgjnylv9bbrm01ff877mi86qj83kc14bcs1wf8709l";
-"powerdot.source-1.6"="075ab8yw6pdxgr1h1dxw9wicmdhzlhlvqhja4z07j43x2f6cvbjc";
-"ppr-prv-0.13c"="05xs41xfm5hjpx9dzrngaj824rr8cpwcpvzxsyp1xpzlsv3gk1m4";
-"ppr-prv.doc-0.13c"="0rfrxzfm34kn4sgj1dzvdyjx7s7nkyjc785j7pgb609svld6jvyk";
-"ppr-prv.source-0.13c"="0miijdgcsn709kpp0zjyqxyxfgk0f798v748brmqshb6mfxbryzn";
-"practicalreports-2.0.3"="0rv5rsba1xdwcv89fl640yyqqk8c8vf2w647yqz8xawm358la42n";
-"practicalreports.doc-2.0.3"="1a7p22pkmb365haizgg3ainxlr2626mg6p9962cy0933hb59llcv";
-"prelim2e-2.00"="0fws0ssw09yzmzlvkz4sl571yi6yvynnr91s76vsfxk9xrzvkb98";
-"prelim2e.doc-2.00"="0madkchnll3aymjfk002ika9awnxqwglwa30mrvbdd3rvghqnm53";
-"prelim2e.source-2.00"="1bbcnrlhvqldvacxms4jclk5khh618wqkkyyib1fz2c93maxmz6g";
-"preprint-2011"="0qs03jsxjp1cl48lxnvzh7p3pnpxfv8143979pknr06r24g25csd";
-"preprint.doc-2011"="0zkaw9x3ziwddsv03acbmc02isp74ikpdva2azzsl1nzk0c3qs3d";
-"preprint.source-2011"="0y0mk3118yrm95bn22hdwn9qay3j7j1ijkr30hpysf9l11z5ck2c";
-"pressrelease-1.0"="0hrx80i1nfwyhhda415v67qxkgj6fqbg4bicirdn749bwc0anhar";
-"pressrelease.doc-1.0"="05spvrh6dfq16z9jlswzqrwnscnywp482cv3bhak4vavbxs8bf35";
-"pressrelease.source-1.0"="1c7nhvaxs4xlycsx2n6bkyy6rhnzc9ddcnw6cccpgilds546ns4v";
-"prettyref-3.0"="0akbp6wsxn4swk0kwxw27x3lpf5anwk49bb8pvssaj4xy68hyq1h";
-"prettyref.doc-3.0"="1wmvvsz7y0idwfki553qkfhg8j7k5h79nlhmaz6ln448x8gym8y8";
-"prettyref.source-3.0"="1w9qckaw403a8nyqyx8qyqdn3zfkxzgfzj1hdw5vwi2805bbfy1f";
-"preview-12.3"="1jfhsdygkfnsf454rgsvgdh15vi4qa9yhlm7h2chkaid8rq5ig69";
-"preview.doc-12.3"="11xcl7k24ymm12g3s8g3qkwldn6w60km0rvq5xc3draim95qs254";
-"preview.source-12.3"="1hvvv7qbmq47kx94jxyrkwqi8lv95z7khk6hb808kwyjkrq5jzg2";
-"printlen-1.1a"="1h6q95dvpldmrfbpdv9v19p34iwq3jzz7vs0z7b6fnijyybjxnpm";
-"printlen.doc-1.1a"="08p9zwkgjpkh7ip3i54qjdazgnwq79v15hvz4j4y2dvh294nmrgn";
-"probsoln-3.05"="15zsh16v5rs0baqvy9jwn59d95qj6glvc5h054ldb8sy5nwkl3sk";
-"probsoln.doc-3.05"="1l5mq047bpdg21mjdjwfs6ghdh1cb19bf9y5939nlw1wyy1flcfk";
-"probsoln.source-3.05"="1lzai2ynjnfinf38jdqb0bdccrh58jbhnwnpm9ikskxpzy7v262d";
-"program-3.3.14"="0ay2z8ga10zr5p453ss0w5qqqyknsgqd2hifa7lq0gih4rml14pa";
-"program.doc-3.3.14"="102c9fir3hn0m7y3lkj9j0vwf0srbv6inq87lcxwfkvc7yw0rr2m";
-"progress-1.10"="0wgkyvyf24666kg79h7wq1piq6yq2nkw6k5g0ydk3y4gwzzkfhlz";
-"progress.doc-1.10"="0r303dr6yf1r5kk38c1njjra7vgvp9qrblxj7zd8fw1vlq2sc7fg";
-"progressbar-1.0b-4"="1d0d6dy9ssiij19s259d2ns2k5v2ccc45anhz1qm7iqli12ij0m3";
-"progressbar.doc-1.0b-4"="0bxsgvql8hqv4qw1pv18vdxcshphdpbb29mqp3pbbsd4crp4qb5z";
-"proofread-1.04"="0gnn7zkzrszglcqcwz8c4i13apildg7s93rkp1z3h5m2gr9w9v42";
-"proofread.doc-1.04"="05g3k77vczdqk19gigs9b6w8rccvcr0d382ysqn0yg6cgd70bi43";
-"proofread.source-1.04"="1mggrm4cfji364ylra3ffdhwbx6phcxwfzw2mwls00msk7jdzpsg";
-"properties-0.2"="1pxl101mc318ivzszyycwb79rqghx4x8xr9fvq216ambs7gq4sji";
-"properties.doc-0.2"="1arkdafwmhg0hm11as4mb75pjz2mnah1l5msy5xnlk4asbwfc4sb";
-"prosper-1.0h"="1vsjb2r4xnlwwdjbnkpvl42c86rkzs2imsq762n2w6x41i591ics";
-"prosper.doc-1.0h"="1f5w1vb4d7z990mz6iicjakqhszcwirphwv966c66j2jc3yvalfn";
-"protex-41633"="0i3dvmvyxfwjrp6fy5bl1kx2c9vapj19vs97jg3rkfrkdbk0mhdc";
-"protex.doc-41633"="0wpkhhp2asi3761nvl5gp53j3vr4iakfy4rhciv5l1z4gw7d4j29";
-"protocol-1.13"="0kv4ndgdfmwah88sspp4maca6z1l39fg41bf803kapp34nfxqggr";
-"protocol.doc-1.13"="0mz77awxgv9jk97xnl16rs34b1zdqldfi3m2qgdi9y3synrn25x7";
-"protocol.source-1.13"="0q0vxm79xpxkgr7yf12mqkpj69b75smyr9kl5jw2c1j1wqxzxh16";
-"psfragx-1.1"="1kb769ai57d7zg3bp0r0mspz0a2l87qiyg04a87iqk7vxrwv0bd7";
-"psfragx.doc-1.1"="110n7a7jgfmzps5ng4gibxigmm3dpkqlz6jpbnphrw1pnlskwjsv";
-"psfragx.source-1.1"="180yrq0rnsb9cd8j70jym06k543q211fzzswzg0dq8fzn3hk2wwh";
-"pstool-1.5e"="1g8pmd13f73v8bsrcpf4a6hh00pww6isz00gj8cxnj0xnd4p9xwf";
-"pstool.doc-1.5e"="0vwxrcm29w8fiw4mmr5jcxrlc122k4s1wg1sqvmzqypwpvyls59c";
-"pstring-42857"="1f7a26xxxzwfgprhzxq4ay597sln18hjk8cmlzjy342jy45g6dpj";
-"pstring.doc-42857"="0ngxd95s8lzpsgirgrq4dg0p1dwh4l0gs99nhich12v6l19jd29b";
-"pxgreeks-1.0"="1j93gwgk66k3fwkhraapis7ddj8a4bliqh783psdv1054j5fspqi";
-"pxgreeks.doc-1.0"="1md7q2q0b2lhffjm39cxzxf86rw8759zxwj5sbgavzdhyc70ssli";
-"pxgreeks.source-1.0"="04vdi4wf7lw15v05jqycm66j1iiy6g13qrc1ynrnq0df8b0zfs1g";
-"pygmentex-0.10"="12byiwqxbg46wajl8qd55qp5khr0dmpmq38vkv75anc8ffap306c";
-"pygmentex.doc-0.10"="14nv8i6vnpjhdfs09ba0lwqhf1ndfxkhm5p81lfliy7mlpqgqi60";
-"python-0.21"="0qi09d9zyqfimr5p3jlzs2xbhz0gbxz2g5v8vszx0k7ysn791f4m";
-"python.doc-0.21"="0x1nfbv7fmyhzhgy6xsndhd9nja8xbip436kg7ygscjxml6gibgh";
-"qcm-2.1"="17pryjm0r6w559lgkf03aws720zsap95azfbixm7p8lr1gy5nwlq";
-"qcm.doc-2.1"="0wx14xsj4sy6xpcs87bji6xfarfhlzqdzgyyx2p8439m6ay3cpx1";
-"qcm.source-2.1"="1gsfa9bby33a5qgi4p2awr91gn8p4d2qylz32xmzhp0x6fpqhig3";
-"qstest-15878"="1xk4vqqics2iwzxck416za70cksx836qrsm4v8idyg9kscvjr1jp";
-"qstest.doc-15878"="19ddnrz4wjd51h8g0z40db53wh0zlr6m1nfczghc5b26vvcj14y0";
-"qstest.source-15878"="198xvadvk9fb36kxzv1wpis5qb38dqaxsqva6l7l23kz3sb6k849";
-"qsymbols-15878"="11jlwr2pwrxck0xcw2szql0rdynjr2pk4jgzlqkpcardibfr385x";
-"qsymbols.doc-15878"="078qxbmv1zgg73a923sbfqnwmdwg1qkfxra5r8dzi8wlq1cv29ii";
-"qsymbols.source-15878"="01lmlclv9rlkga19mw4ikngdpkxhmhq77kylln8kjhcpa1cylk5c";
-"quicktype-0.1"="16qy6rxxkdkkli1knibhbm28jg80l0qjsn9lsb36b7z5xwxj9f21";
-"quicktype.doc-0.1"="0ic0lkhj3rdpwfsrysm5qidw0gby11kmfnzbh5k2fpkfarwfhxxb";
-"quiz2socrative-1.0"="1s6g0svlkg503r5mqn3iw90qyw5lwpv7dj92yck7ymziv9p59qkz";
-"quiz2socrative.doc-1.0"="0v9x0jxrgiscblh8w9wip07di78glgzd0rn2fp1hpzabi8x94dvc";
-"quotchap-1.3"="1284ldj6pfqq6mz2a62pi81k1jca8xkc6wa1wbrv3kqwfdcc8cwa";
-"quotchap.doc-1.3"="1bnhvp91adi4bhzwddzl16qw6d74in94jq2h16lk06aakcwr72hd";
-"quotchap.source-1.3"="1g2cfb5j1qjqads2m9ad9a8n0j7ihrvd55q9b56jd141a23layb6";
-"quoting-0.1c"="1sghajwgfdc1p0gifii8wz1rvzsiy38f4jpfmh5pys9w6nr9a8bj";
-"quoting.doc-0.1c"="0aknicilv5rn3claf77l5br5mr21yg1dhdc1j1yxigz9k8pljzm6";
-"quoting.source-0.1c"="1h01p11ahr4ykqnhgl0kwc5i68mw9wznswrxy9ab5rpma1agjkzp";
-"quotmark-1.0"="1v48482b57w6f1cx0b5av9cq26zhgcqkwi8yllnl9p8pnrjngc9x";
-"quotmark.doc-1.0"="1jmdv5i67hsbmybjr8j2sv7f7z8bm3a30yy0ycyp6b5c3ycqx04n";
-"quotmark.source-1.0"="02bg50nj945gycxf8kb7s9c87xwszprq3zynrxxpzixrxqd06pf3";
-"ran_toks-57520"="14i202062jq45h0dcwr7pkxpw1crjklwrvv2fbl2p7c9wpd3ch73";
-"ran_toks.doc-57520"="07xs3spnmv4623i61gij565l7asl85519163b2470bidy152p034";
-"ran_toks.source-57520"="01jv80p4hbl4idffr6b9g567wqzwdvlklkjb05kh1360d708lkcv";
-"randtext-15878"="11a4j40zaixjklf4rkzb17cxnfmm6lp9kph3kkp2kalz41qamc0k";
-"randtext.doc-15878"="1g8nwiz06w4a1sdvdfch5yavar11mj5xpk631n5ym2d5g7hp0dm9";
-"rccol-1.2c"="04nw4h7z4k4rnvqh5s602l8h05n85iri3p3cpic4ss71ccn8c2dw";
-"rccol.doc-1.2c"="0q3qb0sbhnbqwgc0i9bw27s317rbz05k6pmvhad3m8mvlsbgh285";
-"rccol.source-1.2c"="0ss2436k5fbd25cynhw13lq4ns4payl8fi8lc96vi0kvn6jmkwrq";
-"rcs-multi-0.1a"="1n60pzx6qrbabksj2aqqf1j4i1b298ldsyjg8z6pmhladq2r3ia2";
-"rcs-multi.doc-0.1a"="06lqyy8igbiyl86b8fsl968sv94xcnl1amppyf8hmr52dhdqcysc";
-"rcs-multi.source-0.1a"="1pdds0kh3p3rkdn2nrpyfrw224q3rfnahypif8n0aijkcxdlw3w0";
-"rcsinfo-1.11"="04j1sq20960w5yyf37pnzvwaknl8f18mx6rmj2s2vch8bcncdzjh";
-"rcsinfo.doc-1.11"="02zyrgcd0m77xp5p95v63b58mv0h0miqlziagwv1rz3ywvmgwhk7";
-"rcsinfo.source-1.11"="1fgmppgp0n4arrilxmrjn7h7pf5jq7gm6drdz6njq8w1l1qxlxg7";
-"readablecv-3.0"="1za8mnyi0vvwfn1i4wcrmba904jxi805f0v3507nfav55h1x343x";
-"readablecv.doc-3.0"="1ixyxxiv5pcyhqx1ddwankc8ymfm83123v8d5i4lpwdr9g9h4jc7";
-"readarray-2.0"="0pcbbbp4q1vqc9p7qwdcml484a03w1836rcr0d33f0rrxy6xgif5";
-"readarray.doc-2.0"="151gnl2p3a45mlrjm2fvql8p6a59alpdfvgykyxwf2dnhpcibz8s";
-"realboxes-0.2"="0xyp6w8kbycaqmrkkrl8701c7shvd9i16vvgs28cvr61nkv3mv4s";
-"realboxes.doc-0.2"="0xd95j7wgv3yzrzq9lvdxpzvvvki2an8kg0zm29yz01m397vmys1";
-"realboxes.source-0.2"="0r0phiq8v15ra9a429j63kyjv3w2p96myr8czijfcb9g4920jvmm";
-"recipe-0.9"="1pnyia45nx32r1ng711k2l3g2h4r6n67nfxvg193z4mz1i20hq85";
-"recipe.doc-0.9"="0hhm5l89naj8vzjnvf2ambpawq7scp9bgpfjzszgb6069c486bvp";
-"recipebook-37026"="0ianmda3ji60acckagmlsmrsvi4sxp3prznvzqkkkvv88w1xbm8n";
-"recipebook.doc-37026"="0fmc59fddgfs4v6lsba04g334xlkhsl1liph7v3yx4qj6l9dxlkp";
-"recipecard-2.0"="195lg2kvww7amwls014s21l2pnyp24c8cfyb3glrxphcvcdhhr6q";
-"recipecard.doc-2.0"="1h13vn2zw880gvzi1pc8j41wa21ygja43hrjmyav4zxziiisrnwq";
-"recipecard.source-2.0"="0fkwvjxjhaywk61j750a05x0s5fgb96q5n3afcq056yf01jbvsxi";
-"rectopma-19980"="1ivjyfhl4g3j1j0xnq31rcnl66z3xwaixyzs8wwmbf1y18lgzyb9";
-"rectopma.doc-19980"="0gfvsjszqrn2r1cm7blk0xnrnv94l1a7ialwhvf733vm1m699lja";
-"refcheck-1.9.1"="0v82jjddvis01n2ngw7yngv4kh2impw77s1yq360sxqjym2m34ng";
-"refcheck.doc-1.9.1"="0ckmd4wnjl0zbyqr5q18whb927sjbz1xgdg1hg5w4ih0g36sra63";
-"refenums-1.1.2"="1dlfd5dx3mqfhn73y04lafcbiprqicv9kfz2ylnd4fhhm62svb7a";
-"refenums.doc-1.1.2"="03d3p9d1f0pr6gk918qiq7p5p6k0cf1zh209akl6a35042a6nms9";
-"reflectgraphics-0.2c"="11kcq0dijnwwxf6d3s0fhk7nfhvn3v36lly2wf21vgsl387dkkaf";
-"reflectgraphics.doc-0.2c"="0iwcljjlk1741kw6cayrbjhqalv74apppw612gh3nhh242nn9bwi";
-"reflectgraphics.source-0.2c"="0hy76c57w4lw0v77qaf064j7xz327fprdijljd7myy02idlszbmv";
-"refman-2.0e"="1adim1622bngp214hsdzjgjkjcv7b24a6aaqzihlms76vfq0hklj";
-"refman.doc-2.0e"="1jpx3yka29lpssvhjl12h1bxj0k996x7a7rf1742wph6w1n5ymmy";
-"refman.source-2.0e"="134hq9c9kdr7rgzmp5jkjccqgfw10zwv33zmj25b91xljn5afc6w";
-"refstyle-0.5"="0nx762gng6bmlrala884r4mjh2vjh4r20yy00bpjzq0il98hs2lh";
-"refstyle.doc-0.5"="16dm6n9mh488li57ighbd3badiavxlmy1ffz2hln6lkd9qp2y6i7";
-"refstyle.source-0.5"="09mxinjwbidd8sr6g8hb4gdq81ifzp67jbw24xc69x82kh48r8pq";
-"regcount-1.0"="19n0gwvh87pb2fanw52rc5j540v9yw10h2r8svczim9sdginy56r";
-"regcount.doc-1.0"="0qnxcyh2vhkylaav056lc2vg24y5h11svzy6hrk6rr3sza9k6z2k";
-"regcount.source-1.0"="1xfk7qs4x302lfi93a1n8nzpsmzmypyb34d8hd7h8y6nm7q2g4y3";
-"regexpatch-0.2f"="0i8dfsr32f4w3lfh88z45sdhvwzqgh52xqfqgj53fvynblpz9msw";
-"regexpatch.doc-0.2f"="0qh2g9sdj971a75dv3jfxi3ga3mf6fmb4azphkdgxmm690dblx35";
-"regexpatch.source-0.2f"="1iq45q093v1n421r37w42815yxjb7iby426a48mvgzyc1c82rd37";
-"register-2.0"="0i084dij80m292c9f57hb0y3gs870520l8awl3wb21ss76vs5501";
-"register.doc-2.0"="0zi950xii9qbscbv5030aw02arc77c8inwxmzkslcmapdqxq5wr4";
-"register.source-2.0"="1jz02c2c5xpinxninb1a2bkgan21gijs48rks4xv17y7k6z9h00v";
-"regstats-1.0h"="0rxapv9sd1i5wvb7ybaq84bjjcy5widjrgsfbkgg2w3zcanb6k61";
-"regstats.doc-1.0h"="08iqkmpa3pg17ik8x49v5xwg8a08806xvp9d2xyamf8ndrcljnh4";
-"regstats.source-1.0h"="00k0b24g1c1kpzpvqka53h6c19pxw5cf4sw0ymgllr21agri6mni";
-"relenc-22050"="13ym795q37rmxhmr0d8834y272si11f0qh7lmhffrpsf4d3bhf74";
-"relenc.doc-22050"="1hb2sdm9lgzfkj2kkbrlb3alnfjq4rw3islgdzkqbcgqp9s06f67";
-"relenc.source-22050"="1gk7nbczw9b897idmsgqx6i8xdmi7wizhb3dyc0hir7qmivaqv6s";
-"relsize-4.1"="06sy6v0jscrj2qs7axm770xv8fkiivvj5lwb8mkf58gd5jwc5bgb";
-"relsize.doc-4.1"="1sgv3x3dky3i7xivh6pzqh3lrqjhb62g0ji0hdgmy9blfrdf3api";
-"repeatindex-0.01"="1z4z6bpfjmgn8mkpcl1rsd9m1jxdx6lx2kz83r43d1ks5zjc6wn7";
-"repeatindex.doc-0.01"="1vcq9vbfw4dwif9q5ki0bq378yd4sg5g2yxr24bjav97shd9iaxk";
-"repltext-1.1"="19h9qfzz9idywv1bi4qpl8yqv73lwj6s6aqxqhb8jlh3b2scp4y7";
-"repltext.doc-1.1"="0nhr1lpbb5nvi7mfzrjxfq7ii2kib8klzcsqg99b4pj3hcwhv93v";
-"repltext.source-1.1"="1phbwgyvdm6a616wzvlc24jm40k4hbyjsnim5g5jr15phlsa6r2f";
-"returntogrid-0.2"="0cfik8imjgrhgilc7005cgy31h1azjk15jrcvd4vpf3g5ml1hpsg";
-"returntogrid.doc-0.2"="1plnz793nhiq9y89x7i51bgp9d18kbi0bpwslg982hf65yklmiwr";
-"rgltxdoc-1.3"="10wpra4vdjvjsq8n6iz33mnl69b13jbslp6ccf5b61va4v66z78l";
-"rgltxdoc.doc-1.3"="0xsz70p88ij6djhlf7n1718fxqcngfxnyl60h3ia0xi1gjzrbk1c";
-"rgltxdoc.source-1.3"="1vzldzdqyiqfaims3a8w378k4bfwxyznmw6028xvwrk7abq1nr4f";
-"rjlparshap-1.0"="1af2a5fmzx1mmk0vprx8w18rqgab0dcm1c7sfvnh7v59lgvkh6rv";
-"rjlparshap.doc-1.0"="1is0ny6a5ndhgl441vrv7ik4i0br90nlcddiabgmshwyn87kiciz";
-"rjlparshap.source-1.0"="19kvfg03r3nr99a9ylk3yr6nnq8r7cvfp3rsi2vi10m19jz60ssl";
-"rlepsf-19082"="0ycf0md4d2bz8003s0q4xi6qdjspi8z1dp5040cm3qm25p7jsrf4";
-"rlepsf.doc-19082"="1asi443gvl34m648ap9j5an6fx5x94s3v4dp8bqvygn615jhd0na";
-"rmpage-0.92"="0y292gcfkj0nk8090iqnlrx9mhvh545im2xms080kz0l1847frpc";
-"rmpage.doc-0.92"="0rq7xjizq8nwg9zk60gjd9vcjvxyc0xaldc4304nyihfjxfyd00b";
-"robustcommand-0.1"="1vxsxdg6122psbplm22l7f193fv7rd3dadcg6ys4ngzy957acvig";
-"robustcommand.doc-0.1"="13d5rsj95yx81bfbansh964dig4hjp5raxagzws58f24l8imvfzn";
-"robustcommand.source-0.1"="1zgnyglhz8i6hgzxlj19kdw31z9kx44zj2vziwkhcpr9clxl8as8";
-"robustindex-49877"="1fl9vr5mynjg8w74sk2jh8vgj5yjpmyhyr107iblmcicgwv1sd9y";
-"robustindex.doc-49877"="0xf592xvmh6xmw08zwwcsn9xyadd9637vicnz95fbfpp03p9qjnq";
-"romanbar-1.0f"="0p4a1g1s22s7jq4ahvpqspx5gkd6nhwifbf1shjp53f38myy0bm5";
-"romanbar.doc-1.0f"="157glkgzh4c5zv15akrlvfl2m03i99hfrm952x919137jkvjbpkd";
-"romanbar.source-1.0f"="0w70p08k9k1bwf9ls4wgnclp4iqj4hzn132ny4s11lzcaj4v8p5l";
-"romanbarpagenumber-1.0"="0m2772qfl5862l6m81rrx4xcbj1s7vhk9x0ywsqnr8qxl1kmv3h3";
-"romanbarpagenumber.doc-1.0"="0mj7kh8jvhscc4clf2199594994xdx557q0nnsk95srwmncq8f50";
-"romanbarpagenumber.source-1.0"="0hq151qq6wb0q1xhbq6jqzxfh3zss9iyya5wxv883a8pd79rancj";
-"romanneg-20087"="0y9nlxbjyiwivw9jkc0vz0lj3b0nvj9dcd4sj0gxgxa1dg853rlp";
-"romanneg.doc-20087"="0bi3b9991x1pvh8s8yrw5031jkvvwkrwah78qfd5rlywh2ylnrr4";
-"romannum-1.0b"="15zjf8wbjif83vnib3y6vqxc138aplb93nfkh95wl2rmahaigmw5";
-"romannum.doc-1.0b"="0a8zsbh28jl761ir6is1l05n9jyvzr31y86qwaa714yxwpzak0s4";
-"romannum.source-1.0b"="1gnvnj1l88l66mrhvd50cx44wws4a45708jmrncb5mnf0i6v7ci5";
-"rotfloat-1.2"="01ycgag2ip0kxdsaymfcndmbhfcc95ppkmwhm3imryibm9112bv3";
-"rotfloat.doc-1.2"="17x7jdnrnm333cq706cdkgzcyscq1k162l0rg3qgvknig6991v64";
-"rotfloat.source-1.2"="0ymb6xbsqqj91b9vkfzdab1ip0xqqj72zm1kd812gjgkpgxc3jfv";
-"rotpages-3.0"="1pqfkyqs8ymfqsvq35cpv438g8a3az6sajh2bszxncl7m3rqa10d";
-"rotpages.doc-3.0"="069jlj27xa7vnl83bx5m4k79lky0ayvcl13gqxlk8an5kdwmdr3j";
-"roundbox-0.2"="0607rknc69dnzwajmgaq1n8ixv884bqp5n9m1g6n2d9frmmh057i";
-"roundbox.doc-0.2"="1vyna8wndg79vman54sv24hbdlv2jnrdkiwyxgzcwc2zv29asxs9";
-"rterface-30084"="0wlscg6lhqar791sz1d63mnprxvaqvjx0mfk1pi1c2zsk0lnpghs";
-"rterface.doc-30084"="1ghwg489y801j2c1s5c7qpv9yyh4g6higapzjw95nmmyf32aka0h";
-"rtkinenc-1.0"="0q024qcai2slxd0ral92pzzl4apqn5gr8gj3vw7whz7432m4z7gj";
-"rtkinenc.doc-1.0"="0kr27a2294bj80f3qria15bjpsvgifgaj27zv9wj11rqr5g4zm7g";
-"rtkinenc.source-1.0"="1kwg3qbk2ldq5mirpvg0cmhd3nyz79jfdbw7y37s2c86g3c5j0i1";
-"rulerbox-1.01"="0srxrij0sxvm04n6zk4vq4qqmxbjz3v425nx191z96fpjcssx2cn";
-"rulerbox.doc-1.01"="030wrw1ry800yixlgb11xbm5834njv3ad9gl4jv08x1pxkj29vcp";
-"rulercompass-1"="0ky611n65rvaii9b5ic498p7divfm71h843bv9h70v363mki9a0q";
-"rulercompass.doc-1"="0wqgnb9czbmymzmv7j48lgdv8s280id5sh8mwv6p0jqn69zcpdd8";
-"rulercompass.source-1"="19943zfp2rm3gdm6w5db01w6r1nl0kn4zkrnnxg4ic4n3gvv76px";
-"runcode-1.0"="0fa32j3ippwdfg7sh02nhnjb1ajmdfa39nm15rb7ss11v7167da6";
-"runcode.doc-1.0"="1j7mf48wdpl23d84rwkmb13c8rjvi4c7v7gvk07rl92xg8pc9vzg";
-"rvwrite-1.2"="0gb5j3hn1s28ar9d30g158xfc2vaavhm8cbmivr1ba32njdmmqcq";
-"rvwrite.doc-1.2"="09n9p9q4pjil70ydk9cjh2gqxdslnhrg9avfhj0vvfacknbmh312";
-"sanitize-umlaut-1.10"="1bzm60z3gyd3s75dc8n7z7rjqr05713lna6i1z9l55fqnbxz0m9g";
-"sanitize-umlaut.doc-1.10"="04vgqh10ydvincbfiqfq5cb77f9mqdlpjgbr8a2dhnb7v02pfiag";
-"savefnmark-1.0"="09i4rxdm2agj06fwggg9jznjwdgvqlafhmf8krncc6vsj8h4ih8n";
-"savefnmark.doc-1.0"="07w3im9nz2s72p502gzryyrccj4g980axvihrk5b5b3w0qzlpn4b";
-"savefnmark.source-1.0"="0wdb9xsrfddi3sw3g4gppv7vn70f3czjplgbr7pj1hna8grig5p8";
-"savesym-1.2"="18z0xwarbkb6cm7n29wasa04d92g2pirlzsr0icnzfip2f4j7524";
-"savetrees-2.4"="0bzr06y314xa1r105vrc9nd37akqcsq58j0qxzlyhc8jvbji9ajc";
-"savetrees.doc-2.4"="0c00z409by0qp0if8ccrah81601w8njlsdylj42achqr1f9q8rvg";
-"savetrees.source-2.4"="101p1q1in7qp2nrkz48c7wqfdrg6mj7iqxwg44aqaib1wb27g5ak";
-"scale-1.1.2"="0al9axcipchrzc9a3dscmv3yvzwz2388w8knr4vw51mn72ws12jj";
-"scale.doc-1.1.2"="1fbbdksmcrd91sixwkkgljnbk08i9jfhc751vzggrj87l38ym67c";
-"scale.source-1.1.2"="19nfy1dcq5bd23dnl9aa8jimyif5sil9lf8b4hspyq7cvzcjcplm";
-"scalebar-1.0"="1q9jqf46j12f9rav2j4ngr52pqfyrc4h9xj66cgb3mcc7nqgmc4w";
-"scalebar.doc-1.0"="042xgbjlibp1273400sg7p6fzdzbnv344dgnrs3y93gk6g7vf8k6";
-"scalebar.source-1.0"="088k5a86279b7iwci0wzxv5wnqifqiwc5kc85701987x5qiaajhm";
-"scalerel-1.8"="0b4ppffs7zcg3y6i3c6dnjb2rl1xm5rz7k5mxm08qj4dpdhyjfpi";
-"scalerel.doc-1.8"="1js1z2fkxy7ixh069hmg5cxm33xjwwg002y64m32wj4ldb7shfk8";
-"scanpages-1.05a"="15q22kfwbw6scnx8q9dj3p0hr0m86lj2asy9fp9s0a15xsbhq1is";
-"scanpages.doc-1.05a"="03lpz3836rwk5nk2sbbyv9s0kvjbw5ld9cvw1n40b5hggivc2sgf";
-"schedule-1.20"="1p36glmixr7qadjj91j9rlzph03rp8hfrrfdqcg1ayyzkinr9a6i";
-"schedule.doc-1.20"="198yxgq4255q9bqjj141d5rvzjxq4rw1363gcwy40yagqs4xhxs1";
-"schedule.source-1.20"="1gc4zpw7ylnnv9k9kbqjf8r83srxbiqmqyy10xnp8gx7xrnbmnyx";
-"schooldocs-1.0"="11pf882l3rp7h14l2w2j3b2gcmxwf6bqv5kc23shzyl4008xx3gs";
-"schooldocs.doc-1.0"="08cswnn7fh5j260f3vyix22x8i6l12waj3z9pfliij8kr39j77w6";
-"schooldocs.source-1.0"="1zijm0iwqcpzrl4ixzmd9dbg0q78nhz6r4rc4ydr9w06xsr4w4g6";
-"scontents-1.9"="0jjc5q254c4qqvhv23r6f92dqh8fgza9kas6vpc7j9kiklkjilmd";
-"scontents.doc-1.9"="1l1206yvlyf59hcjf8y3gsanwxims96jp4k52g3wbr0pqgq3dfh6";
-"scontents.source-1.9"="04wzz12zh694ds8p7x2rmymg352ahkf5hcx1xacz3craf3p0sjcc";
-"scrlayer-fancyhdr-0.2.1"="1fzlwlzkqhzdhnz2gdh399a6kmp9f3czd96s6ydl0k5v47zph90a";
-"scrlayer-fancyhdr.doc-0.2.1"="0y37kwqsaci2wpklz2xhkh7x1f1v1ql84sx90ssd6fpq8saf25za";
-"scrlayer-fancyhdr.source-0.2.1"="0dvilqmf5xfq0djxy0mv8q1bhr94v5m765a6iz3bniyr585zgrvw";
-"scrlttr2copy-0.3a"="1as8ipxhssfx4hqa4s246gfim09nl35dx1wanfc6p0yk79nm5lz1";
-"scrlttr2copy.doc-0.3a"="0hsyiicb359blk6m4kj5gddlzwphxr12hbrwbp34cjfzkbh5ib5m";
-"sdaps-1.9.8"="13n084nchrk9awap3bnywd9b7qnq5zvka71vp96h1yibry4n6qq5";
-"sdaps.doc-1.9.8"="03nbkcb3rjmgnirdyqn6pp85qbqg8p591n2412zxhvjmd74x1295";
-"sdaps.source-1.9.8"="1dggzllm84lpqcl0zbrk9j4hdb1d369rr9wpilk5zjff6p7nvch7";
-"sdrt-1.0"="15p0i40aa82f9lgdiy7wn5vbkbb4z5hzmmr4g52w6jisx8c1w45v";
-"sdrt.doc-1.0"="0y1gxcyms3wprp47y2mlfcc68gijyvyc6h10ivif1yydmxq1b2ki";
-"secdot-1.0"="0pnimi0vfgp5zsp0iwak0r0j562w59cl1fn3pnp1gwjz65q2229i";
-"secdot.doc-1.0"="1v8j3l2bh055b18zxl3287ardn0ns5qjgbqkj08qxz5ls912y2br";
-"secnum-53657"="1xp02rh3wxix7hx05avjxxphzmcqpwhalmzm0mw4rrhwp5jwaajw";
-"secnum.doc-53657"="16m37g00k226wfi1zjdw6yhdvxcwjlzhzz8lbyc53fk17q8k9dzm";
-"secnum.source-53657"="1g0cnxa3xd3lbrwl7pcappnw8mx5ihig7pd47ffxsscdg4h8vvav";
-"sectionbox-1.01"="178z63iys35al6g5lavqgdd1lcadha9rp25bzm41gyg84f2hpljk";
-"sectionbox.doc-1.01"="0mk0ijbrvmvky4awh03y2q14ks4x9hr2pa84ia0380xfx56849kp";
-"sectionbreak-0.1d"="097mwp2iqg6rk1xxlppqnks0j1k45b0hlrg84x12y0cgrkd7cdbn";
-"sectionbreak.doc-0.1d"="0kmfpgcga24kpzm9kwc066a6m4kzw2sfkhr815yc0y2a1agj3zfw";
-"sectsty-2.0.2"="03ixlxxs2ss5lrmkcwilrzi7r46krh21rli07y2j79p8l23n7vrh";
-"sectsty.doc-2.0.2"="12xkczxiw3spyljn1ay9z0xrxdg9ziidnyryri4pkmsh5k60wxw8";
-"sectsty.source-2.0.2"="0h94wh43pf8bphafhcmpsjzj26592c30pih0x3p7csv8dwbv6js4";
-"seealso-1.2"="1mqy9br1fz73q2l6czmhly8j6dnw51d50dkfh9622793z0a2cl71";
-"seealso.doc-1.2"="13sg11r8d8bd9gmscprqai5lbjwfvr17ida17836zagz83b6y16k";
-"seealso.source-1.2"="1yv4zwq6aic2wb5wiz2564mh531i34r9sl87y07yk1ad89kgjbv0";
-"selectp-1.0"="16kcbpvjsdc1ndhhflfmnz0igjyjc5k62gcfly447w7d13qsg2s6";
-"selectp.doc-1.0"="1frpv5dbxfg708xp03hs4vkgqsxjihn3yk3qvcpns6awjlfi2n9d";
-"selinput-1.6"="13pxqr1mzkblniv9rcrr5aslx887xjahjj9f27h7hpx6r4g7hk17";
-"selinput.doc-1.6"="0pbqch586hfwfjbm68g7i56d0jcgg6w26k6g2qlfdbk8mjpc4r4v";
-"selinput.source-1.6"="0na8byym8s2y2jyi1691cnw46izri0y6ybf3g0pmil2hpxy544ry";
-"semantex-0.463"="17qb4jzxx41ixcq8xdvn96qxj7y5hdcjky05lq52d99mrr48d9g8";
-"semantex.doc-0.463"="0qzw56k0lj5kqi4vc2znwsnf3wp9c1hdmc3n3mq9yhbbf5vgbblg";
-"semtex-0.45"="151sfla597g5n0nv676sbv5m4kfpmjli7ddhd1yzsiqa3axw7vhm";
-"semtex.doc-0.45"="1mm9ya9ls0ryfxzkss3lfmslw9wrbcq9d5abf022ifbs5184rgnr";
-"semantic-2.0"="1vf341vlmgc00d6srdwjm0a2spad674439ml9k6ir24pll39ia73";
-"semantic.doc-2.0"="0rr5kbn1yzil4h0j42v48m4mkqk8rzwcn05rkn8vs2s13az6djna";
-"semantic.source-2.0"="0x2qal3q0m886lw5xd9w200fkq4hn34qs2kqsr7i7dcq9xwl57qp";
-"semantic-markup-53607"="10ahkdiwm4h5mwigkzgjiq2xmy1lzgjdif11zajwckv2xng5ckgc";
-"semantic-markup.doc-53607"="14gv3pgdyjjjj8l8vfa2pgzafyqlq0666hbk0cz6497g99z4ga15";
-"semesterplanner-1.0"="1d69y3s4hhv0lpf4ljxg7r5zg0g1fhjw9b30hhpkxvsbfdbl030p";
-"semesterplanner.doc-1.0"="1a7a927gwspc21drqqb72rymyncip4b15w4q9cy654zdp16b5i10";
-"semesterplanner.source-1.0"="0v66xizbjvlzvxdwamny8rggwb0ivwmhlzpjkmm7p26s5l9kd5m1";
-"semioneside-0.41"="0lmr3fxahcln1sf6fg4mkrg8dl3k3670wmz14kpyzd131g73l1iv";
-"semioneside.doc-0.41"="1n7iy5qvd0f1hxp025w9x51llx8cwly4lc107iq5yz9njdwn1g30";
-"semioneside.source-0.41"="0vshjv6nzbp29yza2vj4g8hfx0sbbgnd1s7ck8ms68zcv23534j6";
-"semproc-0.1"="0yvs0kqk3jwq5yw7b8wwycfrg1v5q47mdq3bprx7rb1yh83ip53s";
-"semproc.doc-0.1"="1ycq0qdrhxk9x9gbhigz3vpldc0dfhb3nwmz5v9i45v0l2m5l3bc";
-"semproc.source-0.1"="19v3w2y9406r5bhjchc6rsfb2brrw7f7sb8ikmr8586gdsnwykk4";
-"sepfootnotes-0.3c"="028x18s5c1jxsw97idpj8fmlzs6h46nsgd8zg0awikhdmypl9ac0";
-"sepfootnotes.doc-0.3c"="0mb7fidrjns48c06pk7yfq3csac74a13i3d2cgfdvn7lxz6lp419";
-"seqsplit-0.1"="0m1vlslfac4n7fwhrmcl0swx1rf80ks2p3psrszwd8rz79q6xlc8";
-"seqsplit.doc-0.1"="1wbmr7hayx3kzwmbr1w1hlhyyzz84skbahd03bw0akbgk0qziz1p";
-"seqsplit.source-0.1"="1ibiys9lfj92mklzf4lvdzn192wv843zxkv91grjjba8cvn12w5d";
-"sesstime-1.12"="0nrwgky0rh7lazd41h3jxlb0kgpk5q7hhbgkfdab41zrawjp9y86";
-"sesstime.doc-1.12"="1a353bn7z135bnk2a8q57x4z8d03aimyjfqx3w9x0r81rwzns605";
-"sesstime.source-1.12"="0vrwbbmfwfqpvsfz31yid9rxzdc19749fwhlpimx30arqpd88jhg";
-"sf298-1.3"="05px7n24nn9rlrc02mgsndzxc5a397m6c0n3sbsihq0qy9zl6nqg";
-"sf298.doc-1.3"="0d3fh5dglipskc7cjcdg2n836qnhfcdfkzpalkck7b85kgq0zrbg";
-"sf298.source-1.3"="0afcavg1zs5ldi9fjhsnvsph4xqwy8jkhil8jlcqcqbq39z73pq6";
-"sffms-2.0"="0av956vbxjwf0pywp4hrxag1ypaj59314i3xqinq7xhwwxlr7g6b";
-"sffms.doc-2.0"="1aq8bs7bsbrzzl2bp7mg2ckccazk107ckjl7118m5d2rk0mf09pi";
-"sffms.source-2.0"="0fl3z3f3pm7060cfxn218ycnf1y7id8kcll960h9jvpqkq3dhx26";
-"sfmath-0.8"="05m3whw5xkml48yx93j9h46qmspnr5hwsfszb59l4wy4jfj66zk4";
-"shadethm-53350"="1miq7szfh1nya53vcn9kv3m8jb1sx8p1v7z5m3829ynbyiwr7z9v";
-"shadethm.doc-53350"="1gbjisy9miqp0mrciz793vvhj0a04vaai1ixi6vzplhlx9gknv6i";
-"shadow-20312"="1avy8291hmmvbrqdn4yza9w8w7a7hbwlh38sl7288c6gh1hkyibr";
-"shadow.doc-20312"="0rjfdi2hm07j418q3fvrf5pxflh1nfkhrk58nsa23fixxzaw5nlk";
-"shadowtext-0.3"="1pnnskcw1nq6m3rlvsa69dxq828dx0bgggg8n2p2bxnr9gmnba3c";
-"shadowtext.doc-0.3"="0lfvn68d48yh8smf4w8c1is67chsfnipxc82fx6mal1czlyn73hf";
-"shapepar-2.2"="0siq7d3d5gr91s3bc5873540b1ia73ggkf1y1bs47zb3mh4z9g0b";
-"shapepar.doc-2.2"="08bwm9a4rq70swqibj9s0i4042fnribqz93jx02xd0638wa51pph";
-"shdoc-2.1b"="0casdf6vn89la2vgqy5zcc04nlsrqpiz0zj7mwlf6w2zqcpmr1x6";
-"shdoc.doc-2.1b"="1vzz7q88xq2dg3r1xf4idgvdqs4q4w5lplg9rvi867qa8qcf3ly2";
-"shdoc.source-2.1b"="0wxd21fs45f9d5y2ml3w50d7z8ig25gv34iy3mldarnqi2v64p7z";
-"shipunov-1.2"="01mckfm6ikchmld5r8mdy5x472avh473bfc7lk4rqan8p4wivjrl";
-"shipunov.doc-1.2"="0k6x9nxsqcg74z9i462qix58qycf3wjii5ld13xajn04g52bwvpy";
-"shorttoc-1.3"="0y1sa1l5g19arc5wdnqp0jzvqn51m4gb07acpcp3ajqq7n7yaf3y";
-"shorttoc.doc-1.3"="13nlpmb1asrx8vi08kb6kcqg6szhnzb6667crj9xchbk3zm9iyil";
-"shorttoc.source-1.3"="0a3hl98rl5qadx1mqqla9hw6i1s3324i4la2kwdazhxhvi6nxm0q";
-"show2e-1.0"="0mhpxhvgfnzwwzd9ahyzdhqxzqz9sj6vldrnbjy4n0r4fv6c67pi";
-"show2e.doc-1.0"="0zfir9yzh3mgpkldcak7hzal0mwls90h1m5vxiax6h2izfkrixfm";
-"show2e.source-1.0"="1lnhqxazyz2gfgkgbj7l2140x81bgsxb71y8dagcqazjzdmqgcdl";
-"showcharinbox-0.1"="013an5sq2kxrfs04k51ldc9vkixag1lbicl614sbj3n3ixgk15db";
-"showcharinbox.doc-0.1"="1zdxvlj1jspgkws4xmwa8yy7aaxqwr33lmzkicg6ayy465jmfk9b";
-"showcharinbox.source-0.1"="0b8hq68lbd0xjyd1cj3qsw1rd4rvjsihd6s9ab5v3a0q1sm5kaw3";
-"showdim-1.2"="1pb5qddnvv4kl79fcp20zkcfgxm8p4zix82g9431db3bbavvmkri";
-"showdim.doc-1.2"="1hc208xi8c4ihxb9nsk6y5p6p43yyylqh7jgy8lai2a526xm2hgw";
-"showexpl-0.3s"="0gg8bp3pddkp3z79z8wkh9263gnxhcn6vxhgp2mq7w8i166rrsyc";
-"showexpl.doc-0.3s"="0dv60pc2p19bzr1fj2hqkgyjry9j8ykcgsi0v3xpvzh91ic9v5q9";
-"showexpl.source-0.3s"="002v6m0gzzx4kr8vnw75czn58cmzjnyyfyzi2hvfx9ykh7nmibng";
-"showhyphens-0.5c"="0imf6fpfw30wh3x18c6s62qcf3avyca3sh43nd10rqb51rxq9y7r";
-"showhyphens.doc-0.5c"="0fcjqbpmxccf2r9idx2gzf0vwix0w271qsw74wq0pcnwi0qx41ni";
-"showlabels-1.8"="1sjwjrgsc6wpbk713l127wwbicx7yj291jz91r7babmbjxj433ym";
-"showlabels.doc-1.8"="1q8sa587iv6smdkr2xxb2qq0zc2l9k3mq4kabs3lls0jd238wriq";
-"showlabels.source-1.8"="0h25cly3r6vczm941ig6d51n3qcpb804snns943k7pl2yc41yzw2";
-"sidecap-1.6f"="0ars40rnriqyqiakw7fcd7fq5xz0wmhwgg4m255fawvyyyq5d0n2";
-"sidecap.doc-1.6f"="0873j451nsgbh4jvzjs5ppfyzmrskn7rfh29m7p8la0z686driw8";
-"sidecap.source-1.6f"="178l2mniiniwp5irg31m47janniv182m30llyzp5gplv3vfv93pp";
-"sidenotes-1.00a"="1ip6ybhfihbbzflafcqfhspr1d1x44285msahf7f9ilmhd4536x5";
-"sidenotes.doc-1.00a"="0f4nqbw2y36ymgcj7ywy9gf94pcg09aqk4kjpankksgwmvyjbsxg";
-"sidenotes.source-1.00a"="15kz5d5038vi03siq6lbbf97nng1024hx8zzgrasm304sf2c0ggl";
-"silence-1.5b"="1zixww8d87jymdvxjzjhvhjjr5f8fxhbjwqyzivki2rhw6dpsp2v";
-"silence.doc-1.5b"="01qb2z62da0ji751i3wbhq10rfin23q20r7wr0fzvqv163niy93v";
-"silence.source-1.5b"="1m5xiy5j8l0xy9731mf0jvk4f6bh7d22vbsgpjpvy5r0vxafgxwv";
-"simplecd-1.4"="0d6gw59xd1mqc991yy6k5jva88j66pd69k5sl5jrysl4rw1mxxng";
-"simplecd.doc-1.4"="11fzk8p911v1myphghzpmkj7k62vk4sdicirys1jh8rd2cpnnwcl";
-"simplecd.source-1.4"="16g6fcsr0nw7isqimjq29g0zyf72z11qx9xz36zq8z4khxsl09ln";
-"simplecv-1.6a"="0b7p6d8y7xa8xs9i2qyljk2s992gprsr3a5pjalkkssa5kiz3371";
-"simplecv.doc-1.6a"="02x3nwmxdk9spx5crlaw1xdqlwah04m88zrrw4wdg0qjnhvv4mvr";
-"simplecv.source-1.6a"="05ikxmvflqz5m3qallwgyncda49dzq4fibllgc1j77pdh99cy3vq";
-"simpleinvoice-45673"="1mdc6aij1id1jxlbkwfdvdv87yh55v5qyazfciffpbf91qm87z0s";
-"simpleinvoice.doc-45673"="0lvk87l3xafl4s303rhmksfajnw77qd90yvzhdk126dp1prh7i6p";
-"simplivre-58414"="070a2vjnkd4zz3aanwscf20fmap9sy0bbfvw4wvv2ajf7lcybgch";
-"simplivre.doc-58414"="1ishzi609rl4f611w6axdg9qhx0sr83m3ff8cx5rf473wa0rvnhx";
-"sitem-1.0"="19z6zmwriwrlcpgdgn5yl2bzbz0fkn3p8g5hrwd368bq7wyfc8mi";
-"sitem.doc-1.0"="1wwnqhl3ffqnp5qxddicqwsr7515g6j53rx1rgi9b5z3cv42f5qj";
-"sitem.source-1.0"="0y249krv2h241wy8xbi5xjrxypa56zipi8fbmqbziw9cjjnz993v";
-"skb-0.52"="0k441znw2bn13aiyc6b5hskl76hbhcpilc1xg4jw837dbj2v6qiv";
-"skb.doc-0.52"="0qi7l9ky0y65cmcp32j93lhwlvflvz8didq9c77faq7ffgzz51s8";
-"skb.source-0.52"="1rnraidwhkxlhk09ppa5k0ndqhrra4asbpjwv2j5dgf70wfm5vmh";
-"skdoc-1.5d"="1bqgnqqv5806f375xjny7vjd831ymdnhra2rbgh5hwls7v9hwp4j";
-"skdoc.doc-1.5d"="08g7qrmasrl302pxq94dk13y2bdbg6ipxg4f774kzbp8zwqa2xwv";
-"skdoc.source-1.5d"="1qnyh8gqbk6dhkga2v9gg97q0cbbv8hpcc7nwjskwckc4jxplqwy";
-"skeldoc-0.1.2"="0fnkq85bidvd6m14m90w428ndx54fj2855sxsajfzyid63jrfa9h";
-"skeldoc.doc-0.1.2"="1jgg6h4cdz6ir7ks61lyq9ixczmhdcs34mi4llh767baffvb8340";
-"skeycommand-0.4"="0z5jpznmx09vc5klsvp4hldmlgyp4bwz25gp775kbmad8azad1x2";
-"skeycommand.doc-0.4"="09gmmakvxhvrh7k06vjh6ly1hmax1z5x7vqxyqdwi90ajh2zkmgc";
-"skeyval-1.3"="1an6ghhsq5nibwas1csypz9vmrmsj7jviamig1r9zzjrb5kzs65a";
-"skeyval.doc-1.3"="107higin87d7kca6753f8f61yk3ypk5hkidrbckm1vzn2ci515w9";
-"skills-1.0.0"="15ra36iiz7i9qb4669j32b26hzmjyx0hann3kd12769f2khb3ial";
-"skills.doc-1.0.0"="03j6cj9xg2fhab2a048hb2cs2ddqac6x7zfcf7p9s8zgzyqqi8s5";
-"skrapport-0.12k"="03y0arbbj95jnicmz9d89vsyw178hw1410vy3ydvf8j88j8z57sy";
-"skrapport.doc-0.12k"="03b3zp8w0m5kffx10j7qnikdfy6yznvvzlg5hj30nxam4za51n91";
-"skrapport.source-0.12k"="0vwhckxi676ygxc18rhcsfnr5kp1j5697zyn7ir5qxhm8vdmqf33";
-"slantsc-2.11"="1a05zrd8bqiqgh2bwlll2wspmd4xnvl7p8mz3g4j7nkvx8bp4844";
-"slantsc.doc-2.11"="196sqfqgxc7pfyi75d0nqy151if55k3wlvpq8ai7647rmapn17np";
-"slantsc.source-2.11"="1jw70y8052qvjkr796sz9w0c6kdyammi3gy5v8iq0wwmf38jl8qf";
-"smalltableof-20333"="1g0kh262h9xv5zr2yix9as4ghfsrqnhj8y9gzb66xk90i82pri0j";
-"smalltableof.doc-20333"="1q96blk44d3nv5bihz81a25a43vbf9b86d9w00cl9kkin1zzkf6w";
-"smartref-1.9"="0g8dy72b8q65pw2zmcs2yipclpx3g445v9snjnyxbb3q82asqy5v";
-"smartref.doc-1.9"="1nwl85jj0d97djdqkczdw3544vhazy57fx8psdcvfdncbvpk84jy";
-"smartunits-1.2"="0jiz4mhyf4zaikq0fi4jvan27ngksrv7z5gmch88qj7fapg4xhna";
-"smartunits.doc-1.2"="1cw6k8bvj5xakh909jq3x527jnmma8wa7dwp1za8hsajwmmfzxgp";
-"snapshot-2.14"="0598yminjxp01imxrbzydqjli0i2ws1f9hw6f3qhs7xykfacbaml";
-"snapshot.doc-2.14"="0j614bp2fydpzr2lx9xamn36fn4x0wwi5a58013ds2a8iiha6k1l";
-"snapshot.source-2.14"="0bh7gy9inl30h8y9v072fh2malc07cjwizgxc6wvm07n2x3vidfh";
-"snotez-0.5a"="1dgwmqwxsr0drs1qyh8v6q7v0yxa24jxrg3dm5lyzx39d98mh24s";
-"snotez.doc-0.5a"="07hhfh7d081d1jmzxcnynszwgjp2x683ki6f5q5pj7rzvlnhmm14";
-"soulpos-1.1"="1p9ql9w4q3kihm34gz7wrqf3zlwgdljmwl9lsd7mzc7hxhby7lwx";
-"soulpos.doc-1.1"="0wgf20csnp8xygx6qm20n3rwhnmsdk06h5jfwmcpsm7rnwj5fq9b";
-"soul-2.4"="076n834lx41qw6p661dgq6massdxycq8b3gl4564pkh5c1s98ggp";
-"soul.doc-2.4"="0rgd9ij3hd5934gi2m23hj8rxgqamprlkb3gj921kslx32rixm5y";
-"soul.source-2.4"="03ggiykhjpxnklnzyhc36b3pf83nfa6nn1swxygkn6jnyqcypf8p";
-"soulutf8-1.2"="11phsqx1vqm41d8cvasn53j1zyl4lkwsqnbpk1hmhn7pd6ypv9yh";
-"soulutf8.doc-1.2"="0fkzw127xjxx1z3q9ixqrx93i2j0mn85h7xbfdxkjh6f9k52s333";
-"soulutf8.source-1.2"="1k4xal0bk73z1zkgnfydjh0m8x92s1jx36nqqddfmykycxij7ypl";
-"spacingtricks-1.3"="0y2pipy43fns9fcqmcwsx2k8ikgkznf1nq4cw77rzcgzpizaqhp3";
-"spacingtricks.doc-1.3"="0lh4507lis4m9ggmacqiqcqbqzp42bdcli6q83gc780j669sgxfi";
-"spacingtricks.source-1.3"="19wg8n0mim29pxwf98gz4s292qjazrj7lsnq98idy0cg34gk3d7b";
-"spark-otf-0.05"="0kgfj9kmsyi501a8xl41c9dqw0msqn60wsh99znhh4b1b0hk0qw7";
-"spark-otf.doc-0.05"="01pa2m9q90amkpcpa90z8azhz9hcb2k7i3yh67a7yh2ndi97qn8r";
-"sparklines-1.7"="1mb6c3mial9ashhvmjhynczjpb462j18qyy2an4ckgwgc46pwhp3";
-"sparklines.doc-1.7"="03j6xdkvsv5p71bifmggf69w3s1n7758yii1caz9p9bcqmqbnrk9";
-"sphack-20842"="18vav5d5846hzn6ry7ypnbj9vmxxxxjxm8wpxah9mlml6kjy5hc0";
-"sphack.doc-20842"="0caz10cwphajhni7rq8klh7x9m46hynbrgyr0c7fjqs8jfdva4k7";
-"splitindex-1.2c"="03x58nb9bqd1fn3k9fqq5rdafsna9rbxjhp44dwzig8kp81f0g0i";
-"splitindex.doc-1.2c"="1v2wwls8fgb1rhk91hrjsabxj6plx2bq7h07fyqxvl3982am9wm5";
-"splitindex.source-1.2c"="06ksmac3dxacfq7j4ad7vy9kls2rnay1hww3kgbp2sgadqvwmz0z";
-"spot-1.1"="18ich1w6d68xa2p65lh22yfwdkvgbl9zz9qmd4yx84ljzby49zhg";
-"spot.doc-1.1"="1flizmkafy77g30ffsispr2m4yaqyfw5hvynf7ppph1q07jqdy0v";
-"spot.source-1.1"="01sx1j1sxr1bgi5h48ij02nwawg2wgg1c7mx22q9r4sbn9mprlbr";
-"spotcolor-1.2"="19xicma97v309pbwgdyizrjwwnlas95wq0d2qlyw7m9wrq295lpb";
-"spotcolor.doc-1.2"="1qsdgagx45z4gha0y7z37687jxrc121pr592b1xcy8bhf86nimhm";
-"spreadtab-0.5"="0zgiys6ry7szi6rvrj6kbnlysr8nss66j3xspqwc9j2jdp5c9lp7";
-"spreadtab.doc-0.5"="13c2rgms44wmbqvfi1yi7ini69kjv55bg3czwgx2rn99shafzh4d";
-"spverbatim-1.0"="0s7042ln9l7jvb0vyrmg4h4fdgzy6vaabr62n7zlkr8pf7zd8nvh";
-"spverbatim.doc-1.0"="1rb6gyq7j5m14d8707gkqv1n5ifk1y497mwflhigqgyi9lgcvgxc";
-"spverbatim.source-1.0"="0f3spbpb6icwm84v4lq0skkx53nw3i0b90ik0svd9dhg31y24c43";
-"srbook-mem-45818"="0znvycl1land17f2c9cq09hhhg4b677rixzjc0hsq34c91s3xdq5";
-"srbook-mem.doc-45818"="1nf53sq2ic8y70z0n28kz27lji35slwkxrn8rz0dsaas73ga5k2y";
-"srcltx-1.6"="054b8g0vvhbzazxs8913dzir7qb6x5q5pfsiwdp1z1awkpafwkmv";
-"srcltx.doc-1.6"="0fidv12pgqck21fffgrrz2a0pfsb01fsyld8qhf5r00915aai6h3";
-"srcltx.source-1.6"="1sj23lc6k8kwd11q3sq6wbslwl4fsc3wzp45w4by3mw5k1q5xqcf";
-"sseq-2.01"="01vqjmi5vpd2s00sqqj6nlwgqvz9c43igg09w282khlca471253l";
-"sseq.doc-2.01"="08xq5fjn951hdpbrvzx6p09a173radfh8a4wzhmifd5rca9l7asy";
-"sseq.source-2.01"="0a1rh7s1fjxn3bblqz4lzhd9812d9p71wwww5hg9nnpn3gjvdr6n";
-"sslides-32293"="12vg8fdv0di8vgnw8wj1y6rad6izmczfqzy5pr6gpflzmn14fbq4";
-"sslides.doc-32293"="1dssqc7f6260hl527hhqq8zbiyszb13z3bny3rwjblscl9ia29yf";
-"stack-1.00"="1wadfhja3yji011aawrp3jgiqdxil7lzvkd1pzy9c9y63lzknfg5";
-"stack.source-1.00"="1qv2bvjs01lk9b86rzb7n0lk2a4gr870qsnahyrd9dqdnvvz4n9n";
-"stackengine-4.01"="1hivczypj6glpy2qja23a9f21s9j178l0v2ggk1hlnj1g62p8g4h";
-"stackengine.doc-4.01"="0ypg4nc7y07h68l8frwrl8sc7jz85rhnfj56gdi63chrnqsjwc57";
-"listofitems-1.63"="19qh891v470h4617fj9ajddpf119qh087ng7ay9q73qhk90fhs62";
-"listofitems.doc-1.63"="1s7gl5ai3xdpj05lxhj80hc1i48x2lhcanwh4v3w10yyzf13axyc";
-"standalone-1.3a"="18il89hp4lcxyvcyafh9mfisqsxfr03y8vjjp5d0q222aw1ah2gf";
-"standalone.doc-1.3a"="0z7mvcbrfcvb7livkv5qqv2d3mkgkajzknxlp9ail4wf3k19lb0v";
-"standalone.source-1.3a"="0g1n118l3v6g4amdazpjk4qw1y67j1v39hi35rw487yabz5qlv7n";
-"stdclsdv-1.1a"="1130sj024qfsszjx4adr3bmmr6594d21bcv3ixmw75y85djha1iz";
-"stdclsdv.doc-1.1a"="01li1x0cc820y0m6dmivjabnbhz6v1j696cwx3d08fiw4x7n4jiz";
-"stdclsdv.source-1.1a"="1ypihjm5r0v2isrrv8152fp59ynjn9wmhp0ffx508n7kih9yisbn";
-"stdpage-0.6"="13q3jc6snrscq7bl22myd8rb04q9q5b0a3xvr609j1lxczbs1xnc";
-"stdpage.doc-0.6"="1kr7851lc6lp4aq78xc61nw495qnhnrbsz0w2yyldwfh07h4byzb";
-"stdpage.source-0.6"="0ygk73pk79wgn4qpg0niv3d0a4l8bdhrdvv1a9s8g6ayngfr0nsd";
-"stealcaps-1.0"="1cfq6w2s7yxdsjr2c61zwndcnlhin57y48k8y3lr3m5affhcrac8";
-"stealcaps.doc-1.0"="1jj9g83q6g7pv0k35jfa0wiq8ypqymh9sjjhppnnagd5zxvysr3x";
-"stealcaps.source-1.0"="19pnsn1w7bvpghnc8gg3zw5m29hyacls94gp3lh1aa3avmsks21b";
-"stex-50489"="04ranihj8is2md5ag94iiwak16ld7v1vr98fnzd5jcs28sjxngrc";
-"stex.doc-50489"="1rzss5g5j6avn2946g1dl4cciry6fc5dlcscrx48sz8incf9l84v";
-"stex.source-50489"="05chvd8rb9i17lbrqlwg7nxsqqhsxivcsgxxkv8pxv90zycbd5v7";
-"storebox-1.3a"="0vy7iavq6qqxpmwhm9cz4gxp67nriq230kcf1mr1gq2w0ncy7kjc";
-"storebox.doc-1.3a"="1crb1bkra0y2gjzf9wndr5c3nvc83v57lkdglxb8v1pzpy7halmx";
-"storebox.source-1.3a"="1ybpjfrria57fwvr9kriiw6y76ivwvsyb6ayp0bi750smsv8k5n1";
-"storecmd-0.0.2"="00xk8l8l99qpsmkdxcpccf8g7av2asa26qrh3bi0kkmapm7agk8x";
-"storecmd.doc-0.0.2"="1n5vw689y9y2kakhkyqv47d5cin7f3xqfz8bc3yncdrmgh4kq82j";
-"stringstrings-1.24"="178qqf3ii5kaw5rpjazvf78mjb0aw4vnqzxpsv9ahbqfxpa16894";
-"stringstrings.doc-1.24"="0x6hcdp3hlfnd0vn3inq92nja4hirvhg9m37zmsh9ilnnz7dk8lp";
-"stringstrings.source-1.24"="1aryr9b5d4jrj6mc9cmbpc11l2mqxlxsc16c5h68ql0i6z0bpsz1";
-"sttools-2.1"="1r8bf4q6q5wz9403wrxr44719scrxjmashv6ivsiv5xvsxw9fbk3";
-"sttools.doc-2.1"="0kmjxdw1k8bswqravr2iw98dxhf18fyryv9dxwvxfddqpappplif";
-"sttools.source-2.1"="07jb7sj9mh7xg32fpymb6bgs8s2ryq1sdd5gyx4137hxlhssclvm";
-"stubs-0.1.1"="1p454rfdp2v4zq3vx1716x2w1cr1a6dkcwnj2hx7w2jn8118vqkb";
-"stubs.doc-0.1.1"="03la45gxcy1l1qik7kgcb518n3yvzwgdi5x3ffzfpj4yp2rq994a";
-"studenthandouts-1.0"="1007rr5m0lbfib30bkb21nvpq1h7didqijg6jsbprmkgsz1xfdkm";
-"studenthandouts.doc-1.0"="0sqfqxypkrcyp8fc60xsb1v9nbw7h1xrdai626dlpknhnm00kzmj";
-"subdepth-0.1"="1l79nf05yrvpzsbsjyrvyhsc4kx7dfbvx57qc1ymzk2zphnfw4fl";
-"subdepth.doc-0.1"="0g8apcawmna380iwys0dvshrdi51k50gavh8wgwybcvfjib82h4w";
-"subdepth.source-0.1"="0ac0l63sisx6ry7m3qlf0f98dn7gml3pfxlyiab8664cv43df2s7";
-"subdocs-0.1"="1mc1zqvqpw5ln494c6afx88gigkby4zlb5i4gbizs75irgyrs01y";
-"subdocs.doc-0.1"="05m9pcg8dhk8rayald2mnzl0wa7z3w8znwzw2b9ifbxz3cp5k4d8";
-"subeqn-2.0b"="17jhiyzv75q79mdkpn6vj60j61wr8yf8qxz63g16dl4xf1xvlqpv";
-"subeqn.doc-2.0b"="107jnszs764j7zr9hywn7dhjdyqd9mb6mwyqcilhgyz8ggpqpz68";
-"subeqn.source-2.0b"="1gwz9pp8jzb7fsj4dg797rsqynjbk8q69m8xjzz4pbmsysi01ijq";
-"subeqnarray-2.1c"="1bj51jrpvid2k3pd8sgrg85aq4iqachah22izpn949zvjvhrk81s";
-"subeqnarray.doc-2.1c"="08aaqv3ca0b6pnj3f6h7c0l2z7spg0hmzaflxrgxbnndn1zh0yhj";
-"subeqnarray.source-2.1c"="1slm6rfgf599d1mkww44kcd3lj88z43dr8i15imamxr0dz05jiav";
-"subfigmat-1.0"="1vx7qh6na1il98gla65c42j8r00ihy277l3s79jab917b3xmrr85";
-"subfigmat.doc-1.0"="09n91ami9skfmrrrl6j7p7wy62ds64zrr0m66c2wn0pnm6lanmxc";
-"subfigure-2.1.5"="02b2y8isk2irxdm7bcmx22v5lbkbhc15jqpx0dhs61dnzb5x7ag6";
-"subfigure.doc-2.1.5"="0lhpw3ayq5p15blz7pwkg2z44g300fd2k42lvyf7zii67x2rgjh9";
-"subfigure.source-2.1.5"="1mvp7i150kxin5819cvyfwwzgwmiq1r89m2ywjhv87rgg1v31kx3";
-"subfiles-2.2"="10nslhm56kp5bmzr2nlbm40rlp3i02zj4z6vxj8w6cj1vv7jrd9j";
-"subfiles.doc-2.2"="08r52aci5ab4cv70kbrqq1ak4ny627ks43nhqk6kn649pcahjqlw";
-"subfiles.source-2.2"="1hmli1qvgpnn2bmllf1w53wjh63zk92dv2wvvi6fzjpq0q6lqhwg";
-"subfloat-2.14"="1ibpaj98ibx67x4kff1p0cnzpxmhs4yyqs2y4vj6as5jx43qnwj9";
-"subfloat.doc-2.14"="18ps2xbqdf7pgyhj848zw1sbk36drwkpa0g1s9mw882ynz16gl9g";
-"subfloat.source-2.14"="01c11mbfyynpa1yi0arlqcaklikr4sr83j69piznabj5jhb45nci";
-"substitutefont-0.1.4"="1djss6q6l864sj8mbvavdxd6fpmcblhb666hyskwciha6naja8xg";
-"substitutefont.doc-0.1.4"="094ywcg880qdryi970cx12hrnkjawhmpz6mmh8p7cxir80ah37n7";
-"supertabular-4.1g"="10r18kzg7p8s2wp1nydvn5f5vfbailcypqb7hkhxyjzpkdfrp12w";
-"supertabular.doc-4.1g"="0cw3vfh4mxd39n2w1yk0nxjq67pb8s0kzv6syr2s4x3p3nrml822";
-"supertabular.source-4.1g"="06r03i93j8rxw6ddiwmshb88q3h1dc3srlh4djwwycjbgp66xx87";
-"suppose-1.2"="0mzw5b2aackc2xjcxbi45m20v3xh1wmh08nnn0kfjs1fdm47wq9z";
-"suppose.doc-1.2"="1v86jg194kpdgbfngaxn1mzwa0r8vxwjprgiw6sxypks6vnqz79x";
-"svg-2.02k"="0h7ciy6qc3awr2317npp2xi958s4rz8kfr137s2rwpabmkriypsg";
-"svg.doc-2.02k"="0c2ibjsnjffp6rr4fk6b74j1vm6vfi0awvhbpz4yc5cvgjw733nc";
-"svg.source-2.02k"="1dh1857r254hiyi0sjdm3271h26wah74b67fvhmkwwr0wxz7w7vr";
-"svgcolor-1.0"="1jjsjh5qsra0pi57k4430j5fcjdsdb9gwrzgf9bhkfrwr1gfsmvs";
-"svgcolor.doc-1.0"="12q998m0irshvh46ndv4zzpxamg6jwaxx8c054av5zgpvb9g5x1d";
-"svn-43"="1yvgad3kgly04sm9cwjmp1g1sbnsa8rqqb6wvsip285x9kc6lfjz";
-"svn.doc-43"="06qfqmcdgdaf9ghlpc2x8w43w2f0sbaylyzcwyb3krw1d8p0zixl";
-"svn.source-43"="1f37y92ikznxblq6nyy2nkhl88d818z6wbkf901cpw8sjf79a35j";
-"svn-multi-2.4d"="1c1gq7li7p3m16xv5ad3s08k5wvzjij72yl8gdpjxlc8z3hxxarw";
-"svn-multi.doc-2.4d"="1fwagcrmfhz8qwajrpj3bh4r64hm1637kxsqrwfxjnxfrk95v9d9";
-"svn-multi.source-2.4d"="1799jhirlv8gvnnfdh4mwsclcsrr8919wl7wn8y88xwdamiib282";
-"svninfo-0.7.4"="1npqdiwj6lnwgfnzb4iiyjl6bl55pjc8mml3gyrvd36j2f6cl1z2";
-"svninfo.doc-0.7.4"="0728psfyzblwp3nciax4hncbf7sw4ww4rmrlz4jyrpmnv80qjp37";
-"svninfo.source-0.7.4"="18rcrh0kkqfz1k84my8adn2a8y7ppjprcy77pfqayix4lyzw6syn";
-"swfigure-0.9.18"="0ryiifcsxkiwgmq2apa1pfabgmw2g52agylf45b622q97akgknjw";
-"swfigure.doc-0.9.18"="1xbbjxm49ja41cbz08b0zvmwgp3dm6asckwjgqj8yv93a2fmxx02";
-"swfigure.source-0.9.18"="116cdphwhm29jp8rbf2p4zmnwj1sb3xby698jgkj52ha45qixs38";
-"syntax-15878"="1gd38myk5lf5fxlx1j8cvjv6pcpcr15r0370ikxf7fczv8s4ab2l";
-"syntax.doc-15878"="0l6rkyidqvvhkrjxs8y316rssayihqimbyqwvmdzqpnfd16rdxpv";
-"syntrace-1.1"="19vx1iz2zxv49znddhcsl7aw4i267fmxhxpszzg2i9z0klm9b3nq";
-"syntrace.doc-1.1"="1dzy8pazcp3lfc009g0n1h0a6q3v99ii43pza3m2gkjvbrb5sk00";
-"syntrace.source-1.1"="0hb5iklz2c7zqrl8zrhkn8k7dj1zgk5gvf4wpr7h32sa83ajqrdr";
-"synttree-1.4.2"="1n2n1q2pwx3fi0dhh3h5dj7s5wrz2r5zpx77fmxjk0c3d45c8wan";
-"synttree.doc-1.4.2"="0rnghg1459nlliwbcy8r60rc9si3ya35c7sl5zqh67sfwla2ixps";
-"synttree.source-1.4.2"="022b2sn42mfdnska1cvqjsafakah9a908rvyw0d326d7lxx8wrx3";
-"tabfigures-1.1"="0fgdwqd2qqqg8k077p6cjdv2ag5z0953jh0d69gjxfn0bc11yyjq";
-"tabfigures.doc-1.1"="1j1klsqcig3gdb4jvcqvm4kzb5zj3fm0mkliflkgm7sla99zw564";
-"tabfigures.source-1.1"="1zkisnxdfdvx7gwgqjddp27sgj3a2qy6mc9vzfx75qf4c6y3q7za";
-"tableaux-42413"="09pi8sm17m1v4h362al448ayhj1h5n0krdaa7zsys00l0w55qm3h";
-"tableaux.doc-42413"="06173sm4yx2a3mfadax16nqj6ggn6yak85l63jiaqdczwyb09kxi";
-"tablefootnote-1.1c"="0i1mj9bq2hj4d7y7za2zj64p5dfdvsfi51147as5kfb6ci90rc56";
-"tablefootnote.doc-1.1c"="071xk16ck9r0jip847ikb2qjyv3ghf1m73w4s619zilvm752c0ak";
-"tablefootnote.source-1.1c"="14vrh8c322skk3rpjpr03fgzbm03khmhf3ifh2fm72yb5cqgbbqr";
-"tableof-1.4b"="0imbkzdjpwj6z0lnw5zdc8hlhgr9hbc63a55pn4rcykb5zvf9hqn";
-"tableof.doc-1.4b"="0grdp4xs7dlrgpnlqmlssicncfrs74bv8gqbw9sa0r39cgd0rjir";
-"tableof.source-1.4b"="0pfzqhcyap7754lisgzdd795vfni4w5jpg8d9yyxv0wg0z2w7cpj";
-"tablestyles-0.1"="05vlmkazizr31l57zm9q4lsw5kinqd4wrmyjgrlgxl130hy3chxx";
-"tablestyles.doc-0.1"="04wiizp4giyh938rfs5j3s9jm6fjz45bxas3nq3lnmh5akcnpy10";
-"tablestyles.source-0.1"="03bxnqry8imwj5ihs7n61b9f689x3c0p6yx0lza71cawh5jx6zh8";
-"tablists-0.0e"="02sffbb22hirw8mdijf7scxbivipmqw828qzdbc49vaxq7ggmzib";
-"tablists.doc-0.0e"="1fwhps6a0j8r5zqcksdqw8gwa55rh2r2la3iz7wc451zk3ddbxpr";
-"tablists.source-0.0e"="1wpir71xwq7xhg41l6sigp55n93v94lashgi6lgr0g9ad8hh3y4j";
-"tabls-3.5"="17bg083653km6v92hifll78vs0p9zwfnj5rbw1pcl2siizf3pfj6";
-"tabls.doc-3.5"="1gnk4blwfikqshqjv4zd4cykp1k6k025h7vnbjrvia11l6kcnavn";
-"tablvar-1.2"="1c3q074gli4k8a9665i9da7rpv8rdqd6x1kffnzm8n3l3nws6y6b";
-"tablvar.doc-1.2"="1jakhzygr71avs9syz6hlrlrabxa0l4061w5x8kzk03bdgygnhc4";
-"tablvar.source-1.2"="0mk3s6fxj1vpi8pr2pvg504wrw13adav02p2l6313d14zfzgp6nj";
-"tabstackengine-2.10"="0zd7gp1k40wg6b5aln30qxbk84ks3ys0d31vlw3wijvh31qbw6xz";
-"tabstackengine.doc-2.10"="1n26fdj1lxwwx1abslxl3vkcvhk6lbnbi0wqi5mhx2n6g6ir8b89";
-"tabto-ltx-1.4"="1ayysa2dfm6q6wli0ldk45mfw9jvj79mdx5kcpiay69xjl96j89v";
-"tabto-ltx.doc-1.4"="0rgk0znx33lk2gafzjbwwvl61xl4kw36h9f66kay0y91cy9ra9n8";
-"tabu-2.9"="1x22myjp1rpg0in3jgjj4wy0xyva8xd5hsy5c1rqqpy67wy83k0a";
-"tabu.doc-2.9"="076ivdvaac2snb4dgkf4hzpnbjqli28hll6s4r6z609c5v34mf1j";
-"tabu.source-2.9"="1pb4kibjcmwn8snfhcm49jjp38i979dac06p471w9bjnsp0khs85";
-"varwidth-0.92"="032izb0vpcwiydg7lli6hnawij95s5ygkwdp4bfk1c9j17d749cr";
-"varwidth.doc-0.92"="1ysrbpv2mmi8fcyhdabvs2jiqj2mkajapjvsf10c8rw6i3yaplnx";
-"tabularborder-1.0a"="1p7iwpalamif71mrznbmsig5g9lxs3l16dcpwj2kzhiixsh78vfv";
-"tabularborder.doc-1.0a"="0rd6k4b00aj398hy247x84jj9c3d0dm00xnaw69p7wvlprzricwc";
-"tabularborder.source-1.0a"="1lrvp6128j70fzwqr61nnwiivgllbbkw7pd53l11sqzqwzxppgi5";
-"tabularcalc-0.2"="057720z8l7ss0kpkg7l16fc2v82xr0wqlxzxbcak5m3hl5k03g7a";
-"tabularcalc.doc-0.2"="0539rar83mprammyilmclcbjxr657z6q2xmmwmlik990imf78lqc";
-"tabularew-0.1"="0g9pbr0vhhjj2lz9bbgwvm49wl8bdwvv1jjggq2dnwwqbr4vc4p8";
-"tabularew.doc-0.1"="1ff62dxvnhi4q1gy8f7qhc0zz1jiayl6f8j96dp0rz38l2is7m86";
-"tabularew.source-0.1"="0sfpx5w61xrmmgip0c746mghhj06r2mn2jmj56zingymm2djiad1";
-"tabulary-0.10"="0z57030pg4pfvghjii8bgqba589cabnj8qsr9w1abpwp3pfy4zbs";
-"tabulary.doc-0.10"="08r21q2h7sjrk875x84lngcqgiy5ijik56ly7g7wyzhq3jyxds0f";
-"tabulary.source-0.10"="0lsdypidawyhzj73c3yjs8k4xy2sds7gz8gazxfy460zndsz675m";
-"tagging-1.1.0.1"="0sws4x1h52cd313apfzydqpj6c8xrb8x5881cfhwir000n48crb6";
-"tagging.doc-1.1.0.1"="1pv7savkzm6jhaliw5ilb7qmhlj3iyiz2w6kxchanwrg4pnqabx7";
-"tagpair-1.1"="08qjcwyjs90sg8agmpmm3122h20898hy6dwkm0lk3dba1j3w5drj";
-"tagpair.doc-1.1"="1dkn4gq6zxfqw9h64h7ggkbyrk9vzyax8gmnk9qk8dccdvf5n2sv";
-"tagpdf-0.80"="0qz31vkvb1i729kvmalrhh33nk3f6wr76jmcykwica0m1yz39nh6";
-"tagpdf.doc-0.80"="0vc3v5chgghf9vx4ljvw1caqf78h8nj49b7c6j88r7gk9dlbazzx";
-"tagpdf.source-0.80"="092rd4g51w9wnny5s5527wqvbi35xqnzzlbnarn43il17hazxvn7";
-"talk-1.1"="0i9whk49bahsm2kbj53pjdh3fpg1ixfyxmfvcp563ylr8j2ibimb";
-"talk.doc-1.1"="0rgil00i39p2agz9fybg0h3xmpq0wxcpjcqpbpzjw5lcf4mpcni5";
-"talk.source-1.1"="0kdrknwwivyxiyn8xqappf3k5l1brkwkkhjqa0l5n0abzafkjcy9";
-"tamefloats-0.42"="0mhiz5lxz0szi8ygmajjmldz1bjf6f1lpyxj3b9zb17h9aw8gr4x";
-"tamefloats.doc-0.42"="0s5cy9m8jpxh81c10fgdvn8wy7pnv7sa25hy8wbv6qkr1qwz8dss";
-"tasks-1.3a"="0n9byy7yai7cpyqghp1warj134r9m83kk9qrzs8plfb604lbznvr";
-"tasks.doc-1.3a"="0fradxaivwq5vvqm37n97rm07ja4p6gxk9zz07yixj3nnsbspczp";
-"tcldoc-2.40"="0gz5v5hi7r6wr8qas79lakwr7gnf8d5kypf7cp62qvrybp0ljgqs";
-"tcldoc.doc-2.40"="1vy7k0f6ri4kbjrhby0napsas9wwlq5by2q1dakbz7r80zr7dc3k";
-"tcldoc.source-2.40"="150p69vd9465icda6p0wp37gg9vl8y3c2ys3b8f9ij9a88x5775j";
-"tcolorbox-4.42"="01xkk2zwxlccrv09z2da28vnpjaq994bwsdsi2c6gf8v4sxb3mda";
-"tcolorbox.doc-4.42"="1cyqf6a805sccm21ihz9b85nncziq92g777yayzrbdxm44llyvn5";
-"tdclock-2.5"="05w49l1kvs73sxchbwrlfs9n6mn7qshx102gkjk4jslhnw9lc48z";
-"tdclock.doc-2.5"="1n0ir0l10p9fai1cssri11bpzpjabpsrpfji6w826l8i3xlqkdkg";
-"technics-1.0"="1fr932788zvxhvkvmq4m9kzc834w4xzdjq4p80kda3fsk7a7iv2v";
-"technics.doc-1.0"="172pqpm2i2wfv3qgvz9hvg8wqz8q7kqy5afmms4xvxhrd0xyaf2l";
-"ted-1.06"="0m9dv66nl6q4kq8jq08ayx4hrkh9r2i7hmr290s5d7bkyicdkgpw";
-"ted.doc-1.06"="08yjlfrblhralk4b9ji4g47cr9r1zj8dp6sjha0169395wn4820l";
-"ted.source-1.06"="1cifrswbfk6714m63kvmrsyvz3q29wd1bgl48f5d9ay7pz07wjyq";
-"templatetools-34495"="1djj67vbfjrhk273yqc9ss38bz9bq1sasxs8bsd47acvfkgq45n6";
-"templatetools.doc-34495"="087ib1pxgryfx03057yfj3mfm3sgy885s5nwy21cmdniwqsk0i3x";
-"templatetools.source-34495"="1cpa3yvrjlh4l8w0bfyznpk6bvg6fmyhplzsz7jxv9s01w642455";
-"termcal-1.8"="1sxzpnrgc7f325w0ww0b92y8ih6jrzpvgp6b5ilvcpyriym89j8d";
-"termcal.doc-1.8"="0nv2s95n2h67j4zd5i2iiz5ygkc1s0xp5wjnnvbb27cxqw1h4sic";
-"termcal.source-1.8"="078bs0l7615z66h5fr1fcd1ydyjbc3lddl1z7j80dngnx5j0vf28";
-"termlist-1.1"="00dw7p9623kxpsvqs1yqk6n95hfl0b166l09djibybxx43fbk6dw";
-"termlist.doc-1.1"="05rbr62rvl0shhdxvscsgqci6b6n60pfzbsmikan6v2bh31d8mbn";
-"termlist.source-1.1"="0dl6bl28wvg9fcdlfqhchcxg98s3d668pm0sp7rmxzz97nf4fi9k";
-"testhyphens-0.7"="1sqq2rf8amsn6zdp8l1vg5v5jxcn7ipp78qbzzkikiamlxv89nkv";
-"testhyphens.doc-0.7"="1nzimg7bz6h9dm7hb9r9fzs130dw5y7cjzmb4rc5dp5a5xhiliv5";
-"testhyphens.source-0.7"="0s92imbkb4p70fd629bbg2cma72ys853qby1nwk6rvdw8gp47pgg";
-"testidx-1.2"="022w2n8zw6vwfbsg3fa38ba4mng3jv2prk9yv7ald23hyhmsnmnv";
-"testidx.doc-1.2"="05w8pfdb733sb15vb7ryi63x5ka4m38jqvq3rlhyxnr7ahrw3inq";
-"testidx.source-1.2"="0h88x6mmid6nmhl4pw9p4p9nlh90p86g1k44a6bbcyzdlxc8n6ac";
-"tex-label-16372"="0flvmmh0lzkwvwksmnb8m4ix6pzw6f18flybkgidkyf9mf0gg8xc";
-"tex-label.doc-16372"="1ppvdq0cj62zk3b0i76lc35r9pizzli7mm4j2zvdabysn0prlyyb";
-"tex-label.source-16372"="0ysjsk73ksninqk2dyrw06arl692x66rsrr8vb4l2ri3m0lyivlf";
-"tex-locale-1.0"="05l4frsxpdmsrbn50q87db878bwpi076wagj5r8kdnmdwmcanr6l";
-"tex-locale.doc-1.0"="0j9m67n83f4h5yhfh3a51s9yhqh6kpjz8y5vlxhyabyf7rcpybd3";
-"tex-locale.source-1.0"="1x0wmqsrbgdgy67gln4jd0518cbd2cxp36gqrjrqgn574qsl5cx9";
-"texlogos-1.3.1"="0rp4l8da3dn6djdjajavxqr5mmi3fsyadcqrpmd9cfggdvb9i8qz";
-"texmate-2"="06hnwj11ify60gx92zqky28spdhppgai5v08l73kiabrryzdn8w5";
-"texmate.doc-2"="13d6rlazx3qx9zwbb60z1f6dk64n6rph610s97hha5kpc0v2vkm9";
-"texmate.source-2"="0faabcm8lyfvzn5jb7vbpkpa31gjb1czkr0g391vbdmx9lrllxar";
-"texments-0.2.0"="0vhwraxncqx74akzmjcww4akisn3zjgi5b6ac8c350flhl0nsh5p";
-"texments.doc-0.2.0"="0xn17gjnb7n3ryc28p8vg2hshcwa660482pzm9byq8k6s3a78yny";
-"texments.source-0.2.0"="1kq5zw31sv0i87h30ahyasqy1qh4m36f0j37f8532s20n5llcq0z";
-"texpower-0.2"="1w1yn4is019rjnj137ckmkas48xblmhpn0gvp8dac2hmsvqfl06f";
-"texpower.doc-0.2"="16j3xy98k9hb3p7bg9inzqmsl07csa6lx1lgym4h6rcjh247llqn";
-"texpower.source-0.2"="0nkbapkzq4knxhs63fiqg0rcxyp72vmd35jz46dha87s2v5w2km5";
-"texshade-1.26"="06rwsg8jzklnrxwahqhp1wybx03p4brxgg9xaaran8lsjfwr3gp6";
-"texshade.doc-1.26"="09368xgwa3vddlbavl7mcbfgag7i89g58nlg27fxcpd3rq36lss2";
-"texshade.source-1.26"="1ffpah2ylppfs4g4ina6x6xd44r8lqzpdni5h79a1kd9nwhi3apg";
-"textfit-5"="0vmffs1a9zspg3hcnd7p0mffa0cw4nnbx8s4vari3n8npmdxrf26";
-"textfit.doc-5"="0dcb63v0yhlhvjmcbsfnw3px6qizmq95rq67i64dgks85d4dhi6m";
-"textfit.source-5"="1h2yql1gy6hvwv0rirm9v996j3clrywsg9dzgnvrkrvnkf1b6dqi";
-"textmerg-2.01"="1bwlcaggagg811sbsi2wrfsz31rd6x92m47aszikmkzfzx4ina7k";
-"textmerg.doc-2.01"="00p7r1y0npb8xfq1mcw5apccb6xznww3ya8q0qgg5irqyxs7d9fc";
-"textmerg.source-2.01"="1972gkv933fmy32ys96qg6p1yp7551mc4cilvnaasnrwyr776f8p";
-"textpos-1.10"="054xx9dxq3d5872rrnyjdqpiwf6jgsnddah8i57l18wrls8l3jyk";
-"textpos.doc-1.10"="1ih0f5rfwys7pi57l5i03g08qh6avza9sy2khwd58bgqyfdk3m7f";
-"textpos.source-1.10"="116aq86hyd3s6mygg1sig4lg3jynpymrngas59497raxd5w7n7c4";
-"textualicomma-1.1"="06myfm4l1k1ms5bmgswbqikg3kkrz6qah97ncjv0s32inkqjcicc";
-"textualicomma.doc-1.1"="157m953qh08i0a8lhrk3228ir2clyk32zd6x9ar2fgbkggjll9ch";
-"textualicomma.source-1.1"="1zp5qj4b8fn5y8a7aylz7bpkg6jnmqifral9l3h5g8ka1727ng9h";
-"texvc-1.1"="12knhsx5y5n6wlzlmzvym6bza5dry1z8qlszka0f93wx8hpvk7cg";
-"texvc.doc-1.1"="1852x7zd684h6jjhq3f465z4q7d75871hh5gc8abvdk9p6srnwsz";
-"texvc.source-1.1"="05532lckvznsv4slyvsn4jrv93y4gxbcy3q3r8c7g0lgya255s9q";
-"theoremref-54512"="1dfv3pz7pjkazp0czzpzhga9j201gwvx785v3qvqasrvpa0vwyyq";
-"theoremref.doc-54512"="0zs8q0xzinp2ih68c75yj9mbjh1pmpqc77xg9hmj8n3gpf1kmmi5";
-"thinsp-0.2"="19d23nm17nybk0dda4l05dsbs1695fk0kl86vc713l19mzw4l7fw";
-"thinsp.doc-0.2"="139v4dmnbhsd3nqlp9qknml0glfmh1f9dg0nnixggf19lsayn27p";
-"thmtools-72"="12nwkxgv50ifzcfidpqbwz9kz25ji4h9dn2n0n0dbp5d56axp93h";
-"thmtools.doc-72"="0dywknaalhw3vfaq8gsmk2iyig5k7k47vc5jq8ihh55bcpw1wr84";
-"thmtools.source-72"="1fz15j6710mwp0wli7cm1g5bmwz1a5v4m4rpfwf866af6b92i8zg";
-"threadcol-1.0"="1whvgb3901wciijafawy5pgnr4adpix2a6ph2v52kwglg68s2ixa";
-"threadcol.doc-1.0"="0dky94vqbqrba5hsvgs1sllwy6cxmr6mlr6zv6qgn1yrrmjxs0by";
-"threadcol.source-1.0"="1qd96xl0h8bnp5mqbh8mprdfbw1bhvp60dhj46hqyl4w7f61jj20";
-"threeparttable-17383"="043vgdllz4k8fcclyw49515rcwl03albnmszbqi7sbsskmxnzck4";
-"threeparttable.doc-17383"="1mlhxgv9q1gnkp383vinybzh95fd49dgz4x14jnjilhjabvhgyid";
-"threeparttablex-0.3"="0ipmhy0jpx38sy1jyyw3ab953cyh95ix4qwrz1ywhi54dn6ahygs";
-"threeparttablex.doc-0.3"="19mk0y6nn6bn7gmn7vvlbijqdcjp2br0s632lmhnyhwz0d4xz6mi";
-"thumb-1.0"="1khi4j0as028c7fhzkdc6dmbgdyj45lbasbv4ksnxmf2kylmbhxz";
-"thumb.doc-1.0"="1h4b21mmp2bx1vp8n3556lxm16x7acy3srs9khgq24nrfkagwrp9";
-"thumb.source-1.0"="0f2z9w9mxfj0b3s9mvch95cv49bkyv6mxmdzmkyc1zr8bwwqdahy";
-"thumbs-1.0q"="15k7rn5fygvsrjln614jndldmq47zq75zqlv71f2gvr8nqgil93n";
-"thumbs.doc-1.0q"="0c70k96v2m6nbx9b8qx09pky9g0s0ipqsxy3fsn8spjjrqkwk0v9";
-"thumbs.source-1.0q"="1ns05c3ji4svj4x9y2qy9hn0f2bvlllbvg98xsr2xv7gylr2pkmw";
-"thumby-0.1"="0q3h6cwbw90adw3c8ggyb707l23qvsfl3dl8zrzhg78dm9l8q3gi";
-"thumby.doc-0.1"="1v1934z064ar7zgjpnpxvmc7bkaq080h0hka0snkj7kwqm6sfry7";
-"ticket-0.4d"="0qpqzff2hj01g2k8nq9vc91l4zvg7kx4p7nf0gd6ji9lf0q5caaw";
-"ticket.doc-0.4d"="07xa7nf2qgvjq5pzaj7k75wzg2ldcpxb47ypx53swssz277ixvp7";
-"titlecaps-1.2"="0rvggjj8rwdk0nln1c2f5ljvimvrk2bg0kqpc007lwajd71aw175";
-"titlecaps.doc-1.2"="1acn8ch0n29isx36ndpdksc5v9cfavn4ganv6a3vdhrrnc6mksr2";
-"titlefoot-15878"="0c0nhhxhb3hmvg3a64lr5npbqsmrmprqqj9pic91j007k4s1in4y";
-"titlepic-1.2"="1pj4mavc06r5ghcvyjjhvn7x2xrccgdfjr3961al7420ymaqb726";
-"titlepic.doc-1.2"="06s1r8xy54129y7fvzaym2vkfbyw2x31r91i8cyxyra0chzh8ngl";
-"titleref-3.1"="1y2aw2m7jg7l9vcr35nd2qpbafyff1bc8acy2cm9k7fcjm4rcr17";
-"titleref.doc-3.1"="0rv9hsx5p460pa3ry50fnrcb0kf08rzdl7bq47n5nhm8frpmczad";
-"titlesec-2.13"="1r0g5yd7ylacn2r78y90vlggy0w6hlngki7f8jhiykji616l1281";
-"titlesec.doc-2.13"="17y6kxsz8kl2y4hdsirz6m7zxsgsb55714whpzrw11rhjdv03363";
-"titling-2.1d"="15iw3giwxg658pzb6basjkp4v92m3qvzk1fcarnzikc649bjcbch";
-"titling.doc-2.1d"="1r75nwakbkwf32qva6icp3pq3y8bgfl6cqw304lcw8p6bih74y5j";
-"titling.source-2.1d"="1jdgyn9zyf5rwbaz004g85rr2jpd5gi5iyn111s0r22ml41ci3hk";
-"tocbibind-1.5k"="1swxyai6gqlz8zjah2qnz9c5dkd1smpk163b56rba0kx7zcmvzc5";
-"tocbibind.doc-1.5k"="189qi2qyp1nasg9w902ydk7rlzxl2qww9w3p5s3p9ywchvm1l9cf";
-"tocbibind.source-1.5k"="08sr335sgs7hrhd6cbdc4dh3f8m9fpplv72fk54y57rx59l8wxbs";
-"tocdata-2.04"="0h5j04ycxrzycc0wa6mrzh03xlg4hrqgqnbm749q6wd0qzx3ic2n";
-"tocdata.doc-2.04"="0m5r2livan96g4p489qrgh3jf7k6fsn551hapj5qv796lljzv1rk";
-"tocdata.source-2.04"="0bwcv3hq5ldjx3bx88sw1ls3svrgql8zrngp8bqfj181b96fcms6";
-"tocloft-2.3j"="1vp3s7q0fcyfj2ksk61gxdjjnwhd62dzfd94yp7y3qfy7x8hyqxq";
-"tocloft.doc-2.3j"="0zjs0ldib6hm3b9msb5x7r64ddknqwf6kkc9cc82hbla9wshq4qq";
-"tocloft.source-2.3j"="1764cq3d9ad5gy3qag6f6wxgnna0dhk3rx186jqjpqyqli8b4lgh";
-"tocvsec2-1.3a"="157m17r777cfqjn5p4j1rbj10ysbyms87jrhk0wjkahag9rgny1b";
-"tocvsec2.doc-1.3a"="0dvzcynpfn9fvfkks5idncgbdqbhxj0vp1d3mfzymhiw4sds31xk";
-"tocvsec2.source-1.3a"="0gjpdjkl73ip3jkhr9sx94mwxz3rvxaacn553xwa9gvk3xh5rav9";
-"todo-2.142"="0chmi45gcs8y2zh24072y37g3z62ixpv8cg7ck7knmkzwfzv5i13";
-"todo.doc-2.142"="0n6dy738cj08laf4cg4y0sadzzzrz9wa9m87hwkya6c95znl0091";
-"todo.source-2.142"="06xpbraybhf1wbl979653waznvgq697jq61xcpz29gn159li0pdb";
-"todonotes-1.1.3"="1i2n4cijpm2s8x2carxh12a2ci4xy276avwc5g8qjl3qckwssn01";
-"todonotes.doc-1.1.3"="1xaq4zvjvy4fx66jlij2gqd468n62w8a4glzylfisplakg50fmib";
-"todonotes.source-1.1.3"="1qf822l6z7askd74n0ndvvlr2y4ap7mzj7nn55zviba95gln0jxv";
-"tokcycle-1.3"="0pqzrn7s3vjdv6f75afrfyqzaz7j00lmp06pbwirixmn9g7qkqlx";
-"tokcycle.doc-1.3"="0slgpw0ml9rxd6zqr8s6cmy4vm8b5c7978a3i7dpabf8hvkd7s2p";
-"tokenizer-1.1.0"="04b3jy76qdvbq9c6yc0lmq99jqcprmcfd602zm6xsr0lwmxrp1cd";
-"tokenizer.doc-1.1.0"="0lpbfdvmib9ykdcwrcd5inpibgkm99avqyn94zadbasr54k62gna";
-"toolbox-5.1"="1qpbidjji1rj056700iyrbhgmqvw8is5kp2mmm5r9f455dmgm390";
-"toolbox.doc-5.1"="17n7dxi0j8razw5s12s4drz22wd63xffx1x6w0a4jhiq87na4jq0";
-"toolbox.source-5.1"="0l9w43kp3h1mbas4pab9qk6b18ny5r1k8vmm9nq2j95gm7z5p77f";
-"topfloat-19084"="0md1db8a7ifx2vg269y2dhcf4l07qa35jg57x4q9nsn8ac9gy4v0";
-"topfloat.doc-19084"="1q7fssdrg5r2i51b722mw6wydd17qd8b41iv9rqa7s8r9brf8f8i";
-"topiclongtable-1.3.2"="1p71kg4882rjzlbq9rfgvppz532s227xs2jmg8zbgplfd3j96mnj";
-"topiclongtable.doc-1.3.2"="1q12jsaxs9d15qc19wjca7xhq6qajdp7573lv9dc6y9il84r1izs";
-"totalcount-1.0a"="0zd8h2sanc98qzhgkzgaxjyzfh969lb2935778c80n0w8g53ipn7";
-"totalcount.doc-1.0a"="1cwk1dnpin4zz0zc4rbf7a1spz5wzvza3nc9d4jrpxqbzgs36nb9";
-"totalcount.source-1.0a"="1cp1fkvs1gbif9brdwxd1dyx81ylshayq6gad4fw6npzqynppk6f";
-"totcount-1.2"="1mj04hqxi81i1pwjrn10ipm6b0xwv2081paa4kvq7yma8g2kmi9p";
-"totcount.doc-1.2"="1c1941vfi2pf0wsbfhhzpahyxjzb4jx4lr85k7g6r8vk64qahy9i";
-"totcount.source-1.2"="1f6r2ci4dqri4fxd5mwmfmqmw2k5jfr5vzf2mazynixxp809mjwq";
-"totpages-2.00"="1z6brrn4kb6w6an8iz6das0yykwj2cbaswa9wy2p3rfc0w95x0ms";
-"totpages.doc-2.00"="0nm7x3rv5rxg40k0xls5d3s5dqrpc8vw9g93sa3jkdn18xkxh2zs";
-"totpages.source-2.00"="1b0glns220jsmn1607d5f44k2lijjp95cd0dkxabdc3p576ipmmv";
-"translations-1.10a"="06dj29zxiggxg3j7mprg7w764i1gr7j39gp92igs0j9cywq8bwqv";
-"translations.doc-1.10a"="169asrvl2r8297a46q4vg141055m0yb81p62q5h08ha0d3zcnvky";
-"transparent-1.4"="1285prqgw1gl2z9rlvamlca10xxy2x8l9aj63q3zvvz97jbza3kr";
-"transparent.doc-1.4"="05zb4vc7ab9am2dl66xkj23cmk7kylcanicf0fcs57znzyy2l444";
-"transparent.source-1.4"="08j4c9c211s18ljacgvp8ck8wn6rdpdy4g057g0czfgdvg9b7w0k";
-"trfsigns-1.01"="0g1xdyhin39sqbgi7x5m5r5786x2822sf49271arhnv58md7ns76";
-"trfsigns.doc-1.01"="1nr4pypsglxi17kpxh6y9xh0b1ky0w41f2i6h5fi7y63h9gjl87z";
-"trfsigns.source-1.01"="0v1yc2zq5kqcbx8dp12nzfipw2cd7f6z2p9wxxydgjd4xp6s8cny";
-"trivfloat-1.3b"="0s74sisq1bg9n593az435chspj55ysx9b0vqywl30mk60hray6zm";
-"trivfloat.doc-1.3b"="09szjgdcy2fc4ddkw09vsa2am5m98mgm606i6s2nrkjgldm0x4ap";
-"trivfloat.source-1.3b"="067ab9d2vc3m950587iqcfismjnl8fp0jxw0ssdsz3gqxys6vgz8";
-"trsym-1.0"="0crl9ik3bd9jwvy6x9sl102bvp5pgj2rq9mywlrcpbxrvvffw1ab";
-"trsym.doc-1.0"="1pd0r5j26xj63qvj7mrifcxjrzazdi702ang8k6npq0cc8v29iar";
-"trsym.source-1.0"="06aavqqczg63yc0s1mwry4nd2ml94424a2qxswcz60y57m68yq61";
-"truncate-3.6"="13hzrndx2myazl7f30i736zs8vk12203hv9rskwncl77hxrqqqpm";
-"truncate.doc-3.6"="0l5hgx3207h54s4n5193zc6ssj6l49xwx2hd9jfpqh1f73kpn6hf";
-"tucv-1.0"="08m364pqd2imqfi5jalxjrwbjnphjihnmlpnpqg8vaz2rsmddlh7";
-"tucv.doc-1.0"="0rfpmrlh7wbpmpqp5j6iai3g9x1zkhqvwfnwjfskknx5an1ad79c";
-"tucv.source-1.0"="1s0shpwhb7q4zhn6kq2010a4d3jwck3liir5jn5h0gzqbsafai11";
-"turnthepage-1.3a"="0zsgmi4akjkhwqas45r7ppbx5c8i5fyvpmk6a8wmpk99ib58pipq";
-"turnthepage.doc-1.3a"="0jkv2zs1m6bggjhf3g71g9cyvrnmgmr549fqsvc4lf8fp9kp3ayn";
-"twoinone-17024"="02na16ki3n7gcbzi45dk6nwna3dqzgxwc73aha1zncm05bnj3n4q";
-"twoinone.doc-17024"="15ldj27nb6pp90abilsybzg7hn0z8xfv7mmwrmwdq20qw8ss75ay";
-"twoup-1.3"="11zxz1wlnqia071kg3d70glp167k2c210gc4r2755sh6m23wp8p7";
-"twoup.doc-1.3"="02zg1rq2ylm9qvgwh530d5l0pq9a377z943s66apyf3jz8z55sj6";
-"twoup.source-1.3"="0lmqla1wrsrzq900c4fhjzbvg7iwbd3y05g40j0lmfrj8w8lqvng";
-"txgreeks-1.0"="1872zrdb80wfkjh2bdblv31k6cm83cmsnqns8f3hwf3vr0ymvb62";
-"txgreeks.doc-1.0"="1gswhcdlf8n4wpnzy0fx4maxvy3n4dcbag9r0igrcvcbqnp9sfcm";
-"txgreeks.source-1.0"="0n4r3zn19z62qkd2njxqj74k60jr59704mnhrlvmmxi9x3b5g5sv";
-"type1cm-21820"="0xdbj0yivyb7advckx6k2iwbn8xqkxrlapjrqrx51jcqhzqshknp";
-"type1cm.doc-21820"="1zw172nb8jym439sz8fb2nnfxmazbnr5mjpmffwkfnasi2f7b4in";
-"type1cm.source-21820"="114wlrzzvlnd1la16mgdp88f7a6h6v8l5ddq72is0hcddw80g2g8";
-"typed-checklist-2.0"="0k5niz1agw13ybzk0yc1wdbnp4wc8fsclcs8xdns3wgj8yk8x3fx";
-"typed-checklist.doc-2.0"="1ppi49lwwzmh6y03xykqz168iv0f88wrmnx0m8ww1d4ah3kq09dc";
-"typed-checklist.source-2.0"="1m4m1bq32z8m2bh28v20fmyw4w5q1r1c6ywsjgkm7zkq44zxg7yk";
-"typeface-0.1"="06i3zhnc42zbzb5lk0pqgiwq0y7wgds4hs27jybizw9y3yhv9nf6";
-"typeface.doc-0.1"="0z9q8q87iybb4b6g1xnnryr5aihic0vdsjq5xv55i3gbgrd15kr2";
-"typeface.source-0.1"="15igfb6xy0g7jykb50086as2drjr76jcprj3kafcf347427026dv";
-"typoaid-0.4.7"="0m7nvdni7nsmbmlbpf51cb3s4s5qaszbn7mw62dfvvawgd2d1y0j";
-"typoaid.doc-0.4.7"="1b24irgw2779j43pc15cwpazx0mdjy2zla9n6lqvmwyhl5xnaswz";
-"typogrid-0.21"="1p3if64qmyhflwlf4gy59wl3xajaza5xpllxy5f3a7n1pzca46rx";
-"typogrid.doc-0.21"="1v9az7ln7z1w3d2bcfn02kxqcwwl4kg4zjri2pmvicc7skzkplr9";
-"typogrid.source-0.21"="147flz7xlwjxbq7wkaw83mxr8qbcqvjknr27a0aaq5zs81jcyy8f";
-"uassign-1.01"="1xwinmh3a8scfgxm40505zn85r0052pcykcs0lcvazn91007dl8i";
-"uassign.doc-1.01"="1b89rvsspkgs60rkmqjad7n2pwwmviiizpqr2si02kwnsqfspqdw";
-"ucs-2.2"="10m8lwdnmff7xqvyakkczlyp3km8hy29vmz3w9mz7n1mjbjkd0q3";
-"ucs.doc-2.2"="03s4inp7iikyr3qx3wx74z0rag1kwm1mlh6ngxrsl4slajg7wsn5";
-"uebungsblatt-1.5.0"="198bz1875qhh366ddvdxj72jpcdinfxsrb2mzirr17fq6liwbwhq";
-"uebungsblatt.doc-1.5.0"="0814xqw1iglvwn5y29fsvgbrm5clhgiz6ivbh8a8rayscbjwixmj";
-"umoline-19085"="0xx4v6w2sw43nqrzdpww561511dcaigsz5blywqg72giw0x2v3la";
-"umoline.doc-19085"="0zpn7ii50w0bfh3cr84w6nk5zj0g8y55r577wnkdmzpm51qxznxc";
-"umoline.source-19085"="00nb73pq0s7xychc84438aa9472mp1h7drafg27wm916f10832cs";
-"underlin-1.01"="0gm9cikysz83sdkhhwd6x9zbs278gwfw8mxh7z22l3c0nvfkxbfa";
-"underlin.doc-1.01"="1rvryx13hyif7hw2wgb88n95qycip95xh92jdy1jm2l6pl3c5q3i";
-"underlin.source-1.01"="1mczvxrhlipisffdi9jv5m3d2i7h34jpm6vi4dbl58cg9sasc4a4";
-"underoverlap-0.0.1-r1"="14cknh021b4qsymflf0mnv8q2vvhgsf2088s1g6pm8ckpx7diq0r";
-"underoverlap.doc-0.0.1-r1"="1h1qvk9m04sp0nm4acj7kfib5cfpch1mkpvs55mnqqsgasgnymjn";
-"undolabl-1.0l"="0arbapmf5dfxaiakj12nkca4qbyyhc3idjjhsahv8brj886jg8zz";
-"undolabl.doc-1.0l"="1sx0q3084dkfx1hkbjfc0cwhj4mim0gpwr448iafs11czi316x6r";
-"undolabl.source-1.0l"="12msg1fh7f978rw1mjsrprqrr1wbvlfai3vg61dzl329a1wc39mq";
-"unitconv-0.01"="07nmxxclxvx28w8w7gmgfs5vqgbkxxavw8c31nk54dvskd6l6zlk";
-"unitconv.doc-0.01"="0yfcqw1fx38kbc4kcw1620h6mydzzxi1y67x1yr6wa0aiwsd6il0";
-"unitipa-0.3"="1wdgnpllyrkacm64z6sbpgfwzsij525y8qf5nx2lw973bpczrxlm";
-"unitipa.doc-0.3"="0ydj67f0gb8v8yhaqyp5i5k1846jkcvl2mp962mrc0c46wd5am7a";
-"unitipa.source-0.3"="1rg62iidfq4wlhmjkq8yf1r6i3sd1j0d92rh02biw1655qazs38j";
-"units-0.9b"="0rblvdf1cgsm4fda44vvldy6my58dnars88wv2blgnzny8s00jhn";
-"units.doc-0.9b"="0nn5y3w25sjxq0bxq07d6453awgm4m4gih5678lfxf9yvnmvigq8";
-"units.source-0.9b"="0mmqp3vhly9v02fv4q4d3bq7zzx8nmm33nlvbn7137jgc7p5vlbd";
-"unravel-0.2h"="07qdrdr98l6la49zqnqy3cbn90lxg5h3wbcxn8dwfsw2g2vf1xk8";
-"unravel.doc-0.2h"="0q8dfnz6rdk1ml1nibivh6lr1g1w2m70dl376myc4dhqh2g8s217";
-"unravel.source-0.2h"="0fnbc9h330vs4fvpnacjy4waa5gzar28kz6k20pvicfizvq5nhgy";
-"upmethodology-20200406"="0a3jlv480lj2h836wj2paqyqh3ia3bc86431gb4gsp1jd8yrn53v";
-"upmethodology.doc-20200406"="1qzqc2mib1pavlmvs8rcn3f7hk21sfmlg4s9i9ss54wdayxgyg2r";
-"upquote-1.3"="1zglh6pb1fq0ipsivhj0knhcwcg04mjkxca5s2adbbfk2xs1iqgy";
-"upquote.doc-1.3"="125756iaikya3v0wk9a712klp39ndw7i68bybnrif2klm4c695lm";
-"upquote.source-1.3"="137lbzacpmkm1fdmp548m6r83mnhclsrcyqk1s0rkp558fpnqpp1";
-"uri-2.0b"="1mmxhxm4y7qsvq4kgdnq2vhid360gcgq0yxbcgw46k56hxd61kln";
-"uri.doc-2.0b"="1zadcddyfrgfbrsyl4461zwz8g3rjwypixvmi5ny8f80z4igal6a";
-"uri.source-2.0b"="1w5hbpzc5xka2z834hnzx16ky0kdx3x4y0xxs61l9gx0ygqkzbpa";
-"ushort-2.2"="0235a399vqry1vdyfyva9anav8axs1pxwf9v4hhhazsf85m23qqn";
-"ushort.doc-2.2"="0r0jib3fclxjaczcbzkb8ywmnz0xkrj02blg0f5i065h2s1qa10b";
-"ushort.source-2.2"="1sp8z5jnb5qlihv2hz0j2gs4rfqpy0ka3npph1dvvjvi5520c94c";
-"uspace-0.04"="1yd3a8fj29f1n7zwqvpp3nm07vpdw0lhkq08l6pnsfwb883cjkqv";
-"uspace.doc-0.04"="0s5scd5j011z6c4x7mmqvz43wan9fgm76zdddlihs27ja2xsvdxi";
-"utf8add-55291"="1js79n29vap5vfqpczrwi54jvsc8c76lj5dcv2agmpi6nsarg2a2";
-"utf8add.doc-55291"="19fwiahqadl9xmbzp3ividqcsf09smg9rrb6pq1d8b7vbh8yybmg";
-"uwmslide-27354"="1kpbdd8q3q0qkz6alvlnl24jjx6shc8z8p36d9grd3idyx0h18r6";
-"uwmslide.doc-27354"="1m41j80x7cj8h87fkyw4mwhvqhxvxx5dql596s7xay8lcwlxq5i6";
-"variablelm-1.1.2"="1z8nkkljglajrjxvw15r91w1x32dc5nswir7rjqmhghhsngv7x4a";
-"variablelm.doc-1.1.2"="1h4a4lqqdrhgwi0dmg6d59v6nc3baarvjdb5mvnji27jxi4yz3jq";
-"varindex-2.3"="1s3ff9i7w7dga61hrkd7m2rfjq7wrkx1b7alx68kxkjcnl92rb9p";
-"varindex.doc-2.3"="1567hz8fpjbjsra7fxg8dlqkd39d0p0a6lj9kpglv31chws6w2sl";
-"varindex.source-2.3"="0gdrsb0n4sr7a4n4wxrvnxh34a6b1wzpqcp2m39rvw9my3h07vhy";
-"varsfromjobname-1.0"="19j2avb7jqb9ndnfskwqfm508maqa6kd9qmqydflcb9hgjkz47xc";
-"varsfromjobname.doc-1.0"="0mcv48nbly7ihd8q8652v2gm6drvpjv42h0jrw9dpzraljzvpgff";
-"vcell-1.0.1"="176j001aqr4dkz4h23ygdiqqycf5kjwywa08hhmlq13bpk5ia14c";
-"vcell.doc-1.0.1"="1sksy8a9y1jdldnj7w8zz7skzwikgwh8gway3078g574janq24nf";
-"vdmlisting-1.1"="10fzab1jn6hk6ah7h9kyv9cyrv2l0gvlmask1c90njhvgqi2526s";
-"vdmlisting.doc-1.1"="0b0vrxv5mlf721mfdvw46ixidgzh0bq88sgrvxb10y05wjcjqiwc";
-"verbasef-1.1"="1bb1ddwlix4v6knmz68yy7i2jsismqdz189p1664q78h12rxcpx3";
-"verbasef.doc-1.1"="1rd4mhi7w3nsvvx0zxv43nd4ldw7if1zadh0xxbzbjaljypmshi4";
-"verbatimbox-3.13"="0sc53aigy5jx7yvxpms4f0s9msn6szkqmy2jm2ydh8ac02f2lqpb";
-"verbatimbox.doc-3.13"="1gbli0qqgff2ph1lc6nhykz3bh8f0sl18rnk39jqs4xpzr7m641d";
-"verbatimcopy-0.06"="07syldn58zwnwxwdsmq63qgr2nb0bkl9di09knska9jk0c50ql1j";
-"verbatimcopy.doc-0.06"="06awpisb1y773xsijrifh0121pq6fdzp2ai0snxny5vrpmyp412n";
-"verbdef-0.2"="1dy1h0vcknnizm2f3zggga85slga5p77aw3ll5ca3kx5qxp1xqhl";
-"verbdef.doc-0.2"="06zh9v72ywrg84wlb96p0y28sn9919pn2xjgqhaii6irdf3hmlma";
-"verbments-1.2"="1iv716hb41cy7bc7bk2420lwdykpccyg6wxvbxb8vk904fsgdk2a";
-"verbments.doc-1.2"="0hzrzb6m8iakip93in80x6k15b08z9xwjrbki12d28xdadqkpqcc";
-"verifiche-4.1"="0pch9ihs7qvqqsq9iswb4zjirll71ld4w7nxdhjbm6v2242dkf8p";
-"verifiche.doc-4.1"="1yghyb6wy5ip9ifpb0hgyhmn81lm9ak76v7dzz84zh3q8vnvqnp9";
-"verifiche.source-4.1"="08rn6x5acqva4hzs3j6wkdr9gjadvl047capkwrvdzaclfg7zffq";
-"version-2.0"="19b4h22lqvgzqqm0pivjjhmpxmijrr5rfy0xc9g9y7czsrp810hb";
-"version.doc-2.0"="17bsgyjvnna790nz3x94wbwslxkkz3958vj2l3jbyphm5vv92fxz";
-"versions-0.55"="07bxhbpsqgdbpwph2w7gam699605m181xmj8jhpcsf4rwcpnjik7";
-"versions.doc-0.55"="0pjz8nk7dnf2jp6yixhi55zbrlmhv477qsx6p52dwkf74vxgv5ki";
-"versonotes-0.4"="0kw6ydfy7fycfrr5i8p38farwjrhkfvdlvmaxcxzk0cgnn7102mh";
-"versonotes.doc-0.4"="13crgm6g52n4d92rmw7w08j1c5l2nnhp17816w4csb3fjsrr83w2";
-"versonotes.source-0.4"="0vvkxga9jzv87dzsv1rac75x147lcf84mkfcx2npz8sbbsc1rj9v";
-"vertbars-1.0c"="0a5fc0a4z482fcxx27wrn20fsdvx9xclsy36623h80pxnfw49aji";
-"vertbars.doc-1.0c"="0y8vfa23ld199r45pqd56rv7b0iskskpaqc08lix2zss6a082iy1";
-"vgrid-0.1"="0yb2hr83xvy19j43kmjrx9kf2cadyairjr45vg5a0pbr9nwpzdsr";
-"vgrid.doc-0.1"="0ymfdbqws78n3mm9cbf7zrcdbn4hb9pzzjsw77hlg023h4hkddh0";
-"vgrid.source-0.1"="0rwsi6lmd4yhgpa6605631ld2bn8pzij7radk8vhwsa1sn19326g";
-"vhistory-1.6.1"="0hli68fad0zj6dp9l9sshz657i30l5xqwhskvkv1zh9mwsrkdh0s";
-"vhistory.doc-1.6.1"="0vjskzdg9523fnj4r4zhg7w6wsldcn9xi4xfk6wplvjsafgfpqhn";
-"vmargin-2.5"="0k0qp68wnfr13i2prx64n463g9xa4cf6y656m2bc735pvsa5ln78";
-"vmargin.doc-2.5"="0l1lv0szznc9l5jz261nkcpq6dq28869s6h616rama40kqpdm0bh";
-"vmargin.source-2.5"="1vwydnpsd5ha4g86dg2q5s012d6l3yrksc580m41q3i67npb8chb";
-"volumes-1.0"="0jl7n29bdwi7m74zb6alp0c4aamic3776n5bd9xcnf5ihfmh9ssv";
-"volumes.doc-1.0"="0052j7zhnbi20x6hsxv68ls2byqci2n4crssb243diid8yc763ac";
-"volumes.source-1.0"="1lvc7fhdblb5ys2blbm0fdib5y311nz4l6xll1zzpsvbwpcc8imp";
-"vpe-0.2"="1w2pxz5dg3q42cdydj10fzf9hmwbc1xy8655s7ngzhnj0vljrj1l";
-"vpe.doc-0.2"="00n8almyx5g71gwxcn05vpfvvisqpr4k1lp123ys810p5n25s31z";
-"vruler-2.3"="1di4a3czay9gj5dbps78iik9r5p0n5vxk9dagc2ak6gdbc3rz1ls";
-"vruler.doc-2.3"="1885iaxgfbc08ldwrzv50jpmczhnjjvhq460vspdp33f3z5i7ifq";
-"vtable-1.0"="1bdf5h2nsw76y2w4gw1ap0ncg9ibydaqdhlpynj4qyy2c9qkb55q";
-"vtable.doc-1.0"="1w144as1s1kfd9a8z92kl8v2qm6il09k5myz9siq5dqxdfs3k9hk";
-"vwcol-0.2"="1wfqcin8xmxrby5mxn9s5j32zmr4ka4k0h9ps4kdddpq238db89n";
-"vwcol.doc-0.2"="1zyndap37lq6jk9pafpzd3q5bib2x7yrnz6wk7wlgmgiyb6smj1b";
-"vwcol.source-0.2"="17apnly4vihdn7dzh6hibgairrnvzadxlv724cgb5lqaci74gnqh";
-"wallcalendar-1.3.1"="04rck2mzvzpm2f934iz4nni9s5w9g7a0qcp3kvp3bsqa6nhhcf6v";
-"wallcalendar.doc-1.3.1"="1b2nn4cwsb6vi29a49cnnazpzffwbpyw48wffklv11frbmk74dnj";
-"wallpaper-1.10"="00cixdnwr4vpfpqfdcbra4gwz0i36kddak8ywv8l4q4d4yd567c9";
-"wallpaper.doc-1.10"="0ngsn8an7gqzkw96sdxb4q24h7bvbjw0gsqk6dzrdphclvsjy8w4";
-"warning-0.01"="1qmymyl01vd3hqvgkzzwffffawbwms0zhs0na7nhvlv59f1316rm";
-"warning.doc-0.01"="1d27zqh4cn9sa5ivp5a47d8dji73dzvirp6pl7cgcihy62ll34v1";
-"warpcol-1.0c"="1dr0ic0pskvw6397q1yy1ibbpl1c1kndqaw5y72zzzy52x4l4j71";
-"warpcol.doc-1.0c"="1jc7rilhf61irh8kgc437mp45ryz0yr63z11r9ixbsj04dmfk2xr";
-"warpcol.source-1.0c"="1lnd9b42xyzfnrz94x10vxrmfy6r2l4wlxbfc1c02fmnchj2wq6c";
-"was-21439"="0g1a285svl2pnvg9g75rgwrr2lhq5dzpf814mkivigsywf02vwqj";
-"was.doc-21439"="1gkk6x7zijd3k10abn0xrchxhv2qbf7ln04civ8lvklwar7wjj60";
-"was.source-21439"="11yqamgxd7zxirlivzwayb3hvn7f52v09ah6ng05phwj4lb4cx9f";
-"webquiz-5.2"="1v3yhi4p102l59lfnyn8yiq8995s6fhr39018m1bbgljvcvm6bl9";
-"webquiz.doc-5.2"="0lwc3r3w2d7lzz39ilncbckmvx536z3wvz84jlnv3flm2dll2z7s";
-"widetable-2.1"="1k1jnl3jbrbcc55cl34wj3znfay2wnf8k8sgdslicvnan2j717zm";
-"widetable.doc-2.1"="1giy0gvhngsmfwc87j9k2p820j6bm2mc2r1kbcl4ci0c3383mify";
-"widetable.source-2.1"="0krkcnxzjrn7lqd0qh8lgjixfpd3c5glvj1ilqhak9ifd3lq8r4s";
-"widows-and-orphans-1.0d"="0pi09xfryird716sfw1gl1fy623br6nrz6szh6gp5rg1vm5m4mi1";
-"widows-and-orphans.doc-1.0d"="0llr7v338qadj3d1d98bl9vq9xzm3ax7disrq1ygiignpq6nsr4z";
-"widows-and-orphans.source-1.0d"="0fpd0h85lrn89y3s7klfhmyzz1h6shkrml8px95l5xwg4q9jdirh";
-"williams-15878"="0pbij6hwk82pmddl199sxin34fk22wzvgfj0dpjsg0i5qrsg0qcl";
-"williams.doc-15878"="0vvz6fsh4vlhwirz27gyni6xnqinhl6iymgmfhlcc808y7fawcvq";
-"willowtreebook-1.01"="1w5fhwfirnjims0n0wdm0mpg36dz329wb639c3ydhnynyvsxssg9";
-"willowtreebook.doc-1.01"="0af76d9zkasgx5jbi6l572irad1d9r7lxszs822x6l8fa8121hgi";
-"withargs-0.3.1"="1b49fag0ivb5srlsxcbmy8ssqsrcbgadkvcxd6xn9l9bk28wpfwr";
-"withargs.doc-0.3.1"="12n87c9181kskqvx7bzvqjimg7agcm8n2z7rxnh1g4kh9bjr57ms";
-"wordcount-1.7"="16vxb87jyj7006akcd7fdvnqihz9rjyw2pl43mdvr5lxp22fpxdx";
-"wordcount.doc-1.7"="1yv9lj7k7m446knp2ghsj0dj95splsc6071w2iarh8cq1xlbj3kz";
-"wordlike-1.2b"="1mdgcdiwnqcsrqrzbl27v56xpnzvxb7gg7a8vass31srk8n10ssq";
-"wordlike.doc-1.2b"="0i9k22hwjkq3pb6z8hiff6zz8l3yjp4vh8x89z5mcbg8iw5gjacd";
-"wordlike.source-1.2b"="1azirdir33aixw7zh9ps9npxy1v8ckgsdjb96ri1ma0cy2z5d1ij";
-"worksheet-1.1"="1rsh38fx4ayai0mlakqgpzxpnwp6ckzjcpiwy7aqlpia0504jgpc";
-"worksheet.doc-1.1"="1hagdjrf472ip4jjkrjv6mgycwjlhbggval7kkk449i0xd9kiz39";
-"wrapfig-3.6"="1axad52pzzsx9d32rivasl5d49dj51adk5kcnb1rr8mz59421rk3";
-"wrapfig.doc-3.6"="1c3xd0ja4063qzag0v07mxkk52yczlcwdbwn84gsfp5hdmd5cibr";
-"wtref-0.4.0"="118ajsdd1d1g1fr23pnq1zrdczl5qgdcrqp4ly6kp8w2iwjhqdn0";
-"wtref.doc-0.4.0"="1nk1w4w8x9xfyr8wdr68gx24vw3arf89ak72rbiwjkspzjl1h9fa";
-"xargs-1.1"="1r4giz5gp4pcnxw12lr8hnsa45yv1lm1ddq6g33rkgs1qjzkhv02";
-"xargs.doc-1.1"="06kfclbfr2kc95c431hn54g0c6vcv7vscsskg9myrp94ilq1qglk";
-"xargs.source-1.1"="0k58hqv0jmk3v2jmx212idnfrs9rxqz93zq34f5kqx8dwhnss9pp";
-"xassoccnt-1.8"="1vrnw8yszs9x1c9mm95a1j3g5zhm61a1l4qibwwvaw85r1r8557n";
-"xassoccnt.doc-1.8"="00jvwvm78l9czk29if8qxckzbavyfx4zmvxr2ax6x5bj2i6vm25q";
-"xbmks-53448"="0pv35b38frgwbi4ijn1x8w5mx48fcy709adlrkzhy641bw4isv86";
-"xbmks.doc-53448"="1nr1m8mhqwkjl9l9pw72ls8xrvg8w2gi8rar4chk3xmh6kphi7ra";
-"xbmks.source-53448"="0waizijqrvg7qigh317vr56bi2b795p5k3h779p0kbl53k3f9f6i";
-"xcntperchap-0.5"="0hqagjlxphvfqmslg91fpxngbm15i3kmawglszj8z585i0j570di";
-"xcntperchap.doc-0.5"="0yf5ak4xr07jzlh8s087c7g8rfa71isziy1z13qy8ifv2882p9qa";
-"xcolor-material-0.1"="0sa38kjyy4iywgd9lwhd1aqw48laqj9h2crcarvjd8hr4xwhrbcw";
-"xcolor-material.doc-0.1"="00jfvs4r7hsclvy49r6waanq1q9vszdi5fhlnbg5arhkf53lzii6";
-"xcolor-material.source-0.1"="1jiyl9vry12fl3y2c6l8z5ic8jaahshbvaha8c98h1h2d8mqk6vx";
-"xcolor-solarized-0.4"="0ggm9s8vqw80jfsmw5jn143xcbrx226rwkarjkfqhnlzx85k2d36";
-"xcolor-solarized.doc-0.4"="1vmr5y6c5mi7hgkb33daamag2y4j6vpiyxnh0cpya824l6miichq";
-"xcolor-solarized.source-0.4"="06f2x0w9k87wd75vm6gjxg2pdrcv3g6406nraq2mnlf9sial9mnh";
-"xcomment-1.3"="0hxbf6hid76d1gm7ngjbrrcb0x7faxsqa44560f93n6arhj1nmwm";
-"xcomment.doc-1.3"="11zcprsby27n8dh78658r6xmmkpqzmx28f6sqc7jhg403jq0j27f";
-"xcookybooky-1.5"="0hx5n7rz2aw460m9cqk2f2p4d3v7fhr02cjf8wk471fp8jwn5bx9";
-"xcookybooky.doc-1.5"="0x9aa92w7b43n49d6m0rlac86f3hsgsrhvq82g3zixvffypyvm1i";
-"xcookybooky.source-1.5"="1z951i4sad1i8bjmw7bgbkanzg04icjj0qfjrshr3m8a67wlxgjz";
-"xcpdftips-1.1"="02g4rm81gf314ds6yzrgasj1ighbyvka7p0vb8mrl78m1ybqjab0";
-"xcpdftips.doc-1.1"="0wcbx6qx288448h2rffv87xgzfj8i30z1v2j6qcp8nlqq21lmw38";
-"xcpdftips.source-1.1"="1h60va01gkm2m9jz521wx93libahh9fi3a8pyb67l6zgjd8dllxi";
-"xdoc-prot2.5"="18nqhig2kiwa1yzk06v65hzriq6la8c31j6f7caxzjrhjkzx0rvm";
-"xdoc.doc-prot2.5"="09i5zcp7qisgf5rj6ys4rqvj8v8lxcxr16ddmzzvibgdc8kpc3za";
-"xdoc.source-prot2.5"="0vxkqg2jl0qfnahfs82764z7npvsyc0ys3qlz6xk61ylhyqvycns";
-"xellipsis-2.0"="1slakkdjh4c88caxcdznir5gkw0v7aahfpqksp4l9as9bsl52980";
-"xellipsis.doc-2.0"="1jlndanic0xc16ba1hg1lswcxa2b20hibd25bs65wyag04rbh8lb";
-"xellipsis.source-2.0"="0768vqhmxgra190g0k3k4hhzgkhkxwwnvwmdpymphsqm9lvxbl95";
-"xfakebold-0.08"="0dd7dj7nrdxrnznly4qvsayfb9n0cd70zr41jm8b7n800rn8z0v0";
-"xfakebold.doc-0.08"="00k39478xw7hldrhdvi2g8gl1745msxhfiln04q64m6ahpabca92";
-"xhfill-1.01"="00lb01b27h1bg8h37rcm7wmqh5pc3gz7rkw0l6xrfai0mb8ypq2k";
-"xhfill.doc-1.01"="0alaqaiz2dfk4sh4xgrxfrwxgisv2p0bfdz7ppiqmli10al1h2gd";
-"xint-1.4d"="0mxv89x10fav03059zrxv40ccc5c4dzmdqda51fivnfkyqvd2ysb";
-"xint.doc-1.4d"="1jhbhhzg80rr4s1k9wf0v83zi11ragvyi9wgvcv7d0qs5h6lhsln";
-"xint.source-1.4d"="1vlgci9gbjknaijpg7hkk9id2lmivf855q2jqpa4i20a3w5cc906";
-"xkcdcolors-1.0.1"="0471difnr81ihdan9qm8a15pgiy33fcc8qpwwigkhqby1f2sl6kl";
-"xkcdcolors.doc-1.0.1"="1s6xza7ci8gazqhrnhqj1c4kqd8b7dbhwy01qds9wjxbwrvxrm9y";
-"xltabular-0.2e"="12skn3ld5cjd8jvh32l1h86mcqmx03v2w04189rkxh2q90kyjmfw";
-"xltabular.doc-0.2e"="1lps5w6p2j0c1bszyrbwdfn9r7mii9k9k6ap9s2ssb2rrfzf291f";
-"xmpincl-2.2"="1sm9ls98cz83nc1s6xymbiirzdawslwd6cr2khh5w265h3kgpgin";
-"xmpincl.doc-2.2"="1k532g5b8fm6ly9whah5133g6yngadb9w6cvf2apwm9hwx1pmnxj";
-"xmpincl.source-2.2"="1972vmvsd3ch9qc78kw8dbf9rm56g6mbd18dvfa118bv2a5m114m";
-"xnewcommand-1.2"="1hqpc8p8bl56gzcmar6m670l6yq5arlh382s3m649lya35yydmms";
-"xnewcommand.doc-1.2"="1r4wlg8368ax3p492qyh0nzxkfgkgvm5bzrbm0jhh9ayk9sp7ryf";
-"xoptarg-1.0"="1ykc3mdg45hhyk5x8lv06zggfv88kyrr1zqnv8s9j8cb5c4r71jj";
-"xoptarg.doc-1.0"="1g42s8mgr7yqdziwza1g241vjgygzddk6ly8md6c22kj8g0sq9jg";
-"xpatch-0.3"="1almf1wif49mi3yqr4qsdffd6m3q8xcma8x9v737ffczsffhs923";
-"xpatch.doc-0.3"="1lxsqxzajkcfw4b9i89bk0gmhrsprkmgqqbj5v34bgvkvh0n5pm0";
-"xpatch.source-0.3"="1cf161h6g6m3q8bq38imvmja7ral7lpyb26byb8nn26lgixkprad";
-"xpeek-0.2"="185jan9h82hrc8bai9h0k09dj2q8p2klqvz042h7xrh2napk060m";
-"xpeek.doc-0.2"="0sag912jjxpiwbsgmp0l4p0kw4jfhp1j3sy0lb4kdxcqrzf3m1aj";
-"xpeek.source-0.2"="144glnmckvjm24smk4d2xmnkfz8n3r4k7zjmsd0iwa004n28il5h";
-"xprintlen-1.0"="0ywzhbp0b40cq395x5bv348f5dbbv29cqvlh6gkznr6qkjm6ai3b";
-"xprintlen.doc-1.0"="0dslr7n1mfbclyxic7pl1i425hbcb925jfbag0sfaal03pbczq7z";
-"xpunctuate-1.0"="0bqv9l0f3fwvzv2hcp2913spilawj21zbhdfgs9k04knda4xb7wm";
-"xpunctuate.doc-1.0"="0r06jwsc38qac0k4b2rmm56phxi0qgmmvlixgk3w3mk51d26jz0f";
-"xpunctuate.source-1.0"="1i5xcn13kr9nbfx8nc34n7qn7zj3p1hggws1yd1bqjpvj2dbssk4";
-"xsavebox-0.16"="0qw2fsic14k7wcb50wpf8apkv97rx9jldgqavvrmk63wzmv3hn7i";
-"xsavebox.doc-0.16"="0vx8k47bj3pqn1j09hz1mimp2jpk44dqyc6wivlrqkhrjqwla4n8";
-"xsavebox.source-0.16"="109n0kvp3a4gb0wqpml2glmb9b6xsagnh4s4kcnwvia72h5fwf0g";
-"xsim-0.20c"="0ckr4ygax1452xqfai6yxrbq6cqk23yvlasrs95nfsiflsl2xrsv";
-"xsim.doc-0.20c"="19ydl87qxpgrqxhfqp9jmvspha2zv7rh1n09dgcqxw4f5hfcylaz";
-"xstring-1.83"="1ckbhk2psw5bn0agpsmy4zc59s8yadja7wr659s39r7r7y8mwcab";
-"xstring.doc-1.83"="1z5z2mcg5c9sd7ykfy6r9ybzvmg3g1aq8k42zvgdx5fhmkrbz0sv";
-"xtab-2.3f"="1cpcs7k8liapv68cghfwj5fw80rz71qrld7l9lsnli50h7ph42sz";
-"xtab.doc-2.3f"="1z3wp3hqy98a4l34kgm604zajdyv0b2vq0jipywmdc12115cw63f";
-"xtab.source-2.3f"="1im5cv88g6n88rxzx8lqcxfmhkihywrv2h9gclmv0jx2mmwvwafv";
-"xurl-0.09a"="1430pz7rliwv0x8mx52v5xznkzjsxh2xxj71106ga6skczcszp4w";
-"xurl.doc-0.09a"="13j7y5j4grjw5zn0rk3ad6yyhadbb4f107zw090dy8wwnvgmfd1v";
-"xwatermark-1.5.2d"="013zwh6gz8npgyvdj8daa6y9pb8554lqvbskchsc366k0m6xrwd8";
-"xwatermark.doc-1.5.2d"="01x4rkl6h9afsbfis3ixbqi9inb1sgvavd0wld9jbwcrmv4qxc76";
-"xytree-1.5"="14f3vxkfmv2s944qpdhxpvbrpxq2p259bnk5sxlcv8lbsk2fvvcx";
-"xytree.doc-1.5"="1aq5lbx0x5v2f4fmhp0bcvasy5569mrbf75xk6m6vjpnls49zjfv";
-"yafoot-1.1"="05b2niwqs6c43gl4ag811ljdd0nasmbdinz6dx2d488nl4jiifaj";
-"yafoot.doc-1.1"="0mbg6y7qsdsq5nwgdh32kd9x3ghvf8qlbrm84rg6269ff0b5achv";
-"yafoot.source-1.1"="1p3zwyg1pf3ad35w25ahlk1r4c18k6vvllcv8ccm952mjg79mj83";
-"yagusylo-1.2"="12p2kxrqa4479wrwcbbxsn5hknr1ai9rf1x76psfs43k9fh1pnn7";
-"yagusylo.doc-1.2"="0g0vx5zjrfxrf595c0kz378n2h9hrlaf9sx1ypw3iv90zns1sp35";
-"yagusylo.source-1.2"="1js0slg00sr0bc0gysxvlp3jwlfa57lldi6q7a8fvqjfg9bkclvm";
-"yaletter-1.1"="13xizdiq8dj7iyjw7a9srhr24c1z6g50r44a7hjz0909z3b58j65";
-"yaletter.doc-1.1"="1jgv50mssx6g94fh5fcysi884w1iah2qdwb0vrkg6952266gdkvw";
-"yaletter.source-1.1"="0byfxy8h76m0jwgd4q0s1ar08sr9ys9jhvsz2l44id321w5276dj";
-"ycbook-46201"="1ajhl8vkd94yajib69s3jw6v2jbbn7h6g92m0yc86gfri3qcff2r";
-"ycbook.doc-46201"="0zf71gmxj1hwywlw5h8klgyrn9mww12hc4bic0l0gmwixvn6k56k";
-"ydoc-0.6alpha"="1yv4cdl0xak9ag4hw18xvzzkn2bnf6dccvd8vz4xl4a2rkzz5fl8";
-"ydoc.doc-0.6alpha"="10v3h8csdl78qax3l2vimy2xni2zg0qjhzgrf7j5h5f5nijw626r";
-"ydoc.source-0.6alpha"="0jai53ykd4q3k56psl6hs8xw07jb47g3h4jbkv9d42ayr5laj2fh";
-"yplan-34398"="1f2kxbb32hxwgin5bn7b78r8sqdj4v1q80sh1c87425zw8jyd73z";
-"yplan.doc-34398"="1ls02mng1jwihz8s505brmaqcjn4abqys6bwl22dy855bw5rgr5k";
-"zebra-goodies-0.8.0"="1f8iv32wgmkzqr75m44hiagz34d9h8qz38ylh3jaq2d9hxf0l1fq";
-"zebra-goodies.doc-0.8.0"="1fz5bz0k6ymj32wc6lkikk0b36b6l9n893xqhbhac4y5gxd1r8z0";
-"zebra-goodies.source-0.8.0"="1as545i691hxy3kqnn72gksgqc9hswz7n48zzhmaz77q6ilnkpkm";
-"zed-csp-17258"="0wr6dxb5ks34x8rzr7s2cnanxc5jawqcq0zhkmxrh8cjqcfkk1w9";
-"zed-csp.doc-17258"="05gm4s4svqa4wds0ichfm6lk39i0y54y33b96bnycrabggqfw77g";
-"ziffer-2.1"="0nalr6i8yqd1iq713gigafnh1k0h8kgiml1zwpk8rjyya606capw";
-"ziffer.doc-2.1"="1cr63lkqi9kpkbpnrwmbppipsmw6wy732wsaha0y9y5ia2934nck";
-"zref-2.32"="0s0306k858i40v3hwvq4z66ip2y023npd4nl4xf31bilqh240p19";
-"zref.doc-2.32"="1rb9jbj2lj8z8iplnjz1qi5qvhn32qvphgmw872qxn9gm0hx82r3";
-"zref.source-2.32"="0lrxqvqj7s8ia0fhzkf00pqgxgi2wnrxdclfc3k865nfj59ybshn";
-"zwgetfdate-15878"="1fgz3z1f9ifcbrwiq166hnff23gmlgp5vn0djm2znci26bcip4s9";
-"zwgetfdate.doc-15878"="0gda7xd1sbiaaspb253xgl47jm6bcn8hj101m6ih69mxrka6sz60";
-"zwpagelayout-1.4d"="1vw3fq52fyn59n4ia99pwdhpah1l4nql88l578zrcmarhjviwvvc";
-"zwpagelayout.doc-1.4d"="1389mx7bln9rgn7iwsjlrpal7gfxv85yvck3xd4f8flspqy0mjiw";
-"addliga-1.0"="1w9wv0wbv8acc7qvcc5pb5kjxmy2nz95cb990mmgc2lxvvsaw2rl";
-"addliga.doc-1.0"="0q41i3cd16ahpklr1ddmzmfs741x5k30vaz7gz7k8jrf0579nv7w";
-"auto-pst-pdf-lua-0.03"="1vh8q7spf251yfc0maaw9xcm1r7w8qyf3vw7nr6gafmv6si2i4fk";
-"auto-pst-pdf-lua.doc-0.03"="0vmwaflyaj4crqb98gc9smngrpk1hlhpq3acfw6bnpdwsm5862mi";
-"barracuda-0.0.10"="07x3j8hcsa0i0gw5rrp5j05i1qhcl91z7543pwzjaxvplakxbj0z";
-"barracuda.doc-0.0.10"="1gyzr84bpnkxn6q2rzwgg6i10qm6sixg0935ai8jqwb3k5bskxs9";
-"bezierplot-1.4"="0iz8zsifxrwbv35jlgq3qb4hdf2sqgj7smcc3bfll655zq0hqmab";
-"bezierplot.doc-1.4"="070nxd9n0i9r7h195lkm45zfpdbaqz4lf0k69qg6qj5adwrdqbvr";
-"checkcites-2.4"="1s2yiqslhli97wh3b1fgnbv6rw59dwyyf4pmfkxx0csn0bgdmvpg";
-"checkcites.doc-2.4"="0hj1phvdqyr43z70nnzk6vqa5x8vpbkb0wvp4jzdk5ry31x08484";
-"chickenize-0.3"="08qxlyxghdzsbrqk9zhj6wr2ffbzd3nq7299z3q7s39z9azrr1z7";
-"chickenize.doc-0.3"="1k4pqd8paq4zqygws1ihpsklxrmsxlqvi3y60zvaghq0r3iiqqqs";
-"chickenize.source-0.3"="1j4sgh23sai4qzhpxibz2zl4a82nfiq7asgcz42ab5qdlz5vnh8n";
-"chinese-jfm-1.1.1"="0lgpg27qnc59i1lkbis5jr3z4fy2cl86x1dm320q5kfjm6z06vla";
-"chinese-jfm.doc-1.1.1"="0bpl9vkjvn3bq1dmrgm4f0kgmbvxrxxhd1alfd4yw30xib24aq31";
-"cloze-1.6"="1w0wydk9kimnihll4r8nx1kp6fccgmhybxl3qzrqxk58x4imp3sk";
-"cloze.doc-1.6"="1pprx0mdxfn8gwdsi03ifscinnvj7p3w8nwir20z5q5121clss95";
-"cloze.source-1.6"="1ijnnfq0xrcnysc9sf54nc9a2xg42jqfiqawb8a5jnc62dx9zwyf";
-"combofont-0.3"="051xpkjszw281gcpacc5s6wpbvwx66hkbr5fpg72205raa454bjf";
-"combofont.doc-0.3"="076niz8w1i6zwq1938iplhcv41qfasqhw8darlr84fr08d3hjwl9";
-"cstypo-0.03"="0lfg2c985h1xlnx1fa3kx1jjrhw7kmgwvalqh5127w20r0lrh8c5";
-"cstypo.doc-0.03"="18yx6l49qk1ayaz13qqw72r8l8z348d20yqdm305nalhqyksv1bb";
-"ekdosis-1.2"="1s2wzjlrbg5yfz54wn9nwfcwx39d1qvp8c26gbr4q3df07s6w7z1";
-"ekdosis.doc-1.2"="1248iz3kjjf3wnfh7zhxv8xljv5mqf8gigxf4i91fkpi0v1wwc9h";
-"ekdosis.source-1.2"="027wx7w1723klnd2nymk6kfch8251vjk608wc0xl9g5h5v6dlsam";
-"emoji-0.2.1"="0kb1xvzk1zgym9ajihrvvap6s39r4ypjp60gn3b91a28g80qkrx6";
-"emoji.doc-0.2.1"="0sba7wi4vb6k1jamc7k42zy6b1fy7z6s17viifwcan2h8z4hpc4v";
-"emojicite-0.3"="08y8qg37m8b3qf2wkbg802kmx359i6ki445ljjnxybs7apvxjpn5";
-"emojicite.doc-0.3"="1iwlxc5ygq7l4qag7yxxas0rpcywmjcv5pcayrk5mz34xr06x5f8";
-"enigma-0.1"="0cl7a0xh9y1lg55wdkj03n3ayyb0853nad04fpgjla6z9c9l1lrm";
-"enigma.doc-0.1"="1cnbi0n8pw2m8xvxk51j4rlyvj112cdz5zjhc9n8znj25iva8in1";
-"innerscript-1.1"="0ig7y528vl2r4dc4xqx16qbl28hy1vfhyk1b0f0ifnrg41hqs61v";
-"innerscript.doc-1.1"="01y491bx14p1b4pylx4v6ilszj3v88j404fxg3wh2pfi1m5cn6sd";
-"innerscript.source-1.1"="1wsj16c896rba9xjm9f0kfbj6hafkb8l0p41412vdzbhqv6zby6y";
-"interpreter-1.2"="1an61a9gdja2h19m13i4024d4x4f741x4yxk983phl97nfadv900";
-"interpreter.doc-1.2"="1vgdgriiwv3lbdwp72pdc7yz5f702xxykqdp4ih1ssx1sl9pcw05";
-"kanaparser-1.0"="1cwik91vx5bzq5jn8xjgr4ffz7n9d2qpx9v9xr298afmadg65h0x";
-"kanaparser.doc-1.0"="0y7j8qp9j33hw80dypc10nr28x2zn174sq1rbbbr8gc7vsvz5pyw";
-"lua-typo-0.32"="0ab8g7s7bcbgri9bil31s10y33vla1zphlgl6b9954gkvr9rvabv";
-"lua-typo.doc-0.32"="1sdj9klzr2vgqwdvklpkcpwbg7s1kbacr8mfp8hi4zfsfzbj8gwg";
-"lua-typo.source-0.32"="1m7pjfkg48n1kngbfr7l0mxkyw1fki2w5qj1vgr6kv4b77r004wi";
-"lua-uca-0.1"="0728k7rjl3g43j2g3mzc02nwmwhsl5rgw8mr2snjiyh55p07wfxl";
-"lua-uca.doc-0.1"="0r9khvjlidjxgjwziw29z5r2pj50h4rivg2zbpl9cv6i2khp3w7r";
-"lua-ul-0.1.2"="0cz8774npl6rxzb5p1w527qki60gasim7slmmd1qzrcvkwf6wa01";
-"lua-ul.doc-0.1.2"="1jaxvbzyfnmaaj1dv7f9yf7vx8jj058qiin38jwbgwm7kyj6rhxa";
-"lua-ul.source-0.1.2"="0cbiv5qlnfp9svwpxc8sf6dnpxh14cn69g6rq6q5d5pplhaaagsc";
-"lua-uni-algos-0.2"="0yx2zskmia6891ksdnyk67f3j4d9dbhgknzyi787v408g6q7hmln";
-"lua-uni-algos.doc-0.2"="1d71cfj4dqq0dyk3a452vzghw4341drcgmyxhhlx4g3kbm2qak85";
-"lua-visual-debug-0.8"="0qnp6zvfdwc2jy642a42npwjwzlz5nl0kq67zc5ajylc8pvd9xbb";
-"lua-visual-debug.doc-0.8"="0iac45h1d6szsgm8xj4nz9xcd6gwz6c3d7bn2kxifyh1lpxnq7hw";
-"luacode-1.2a"="0qk8vadwymhcm7yw3sffdh9i171hl8vg07j1b5gbsl1sa70cpam1";
-"luacode.doc-1.2a"="11d6ak1dvdx64k0i12k4c5kh24f5vqy0ihvj9a5lxa9gqypflrga";
-"luacode.source-1.2a"="1fafh2nq66cz01jsbkb0mk907sppahlswsbb35pa3q5j7iqjzyav";
-"luacolor-1.17"="170b7537yv0c8g2raar6yf5npnbf21blp16vc75v1x1196mblz18";
-"luacolor.doc-1.17"="0vcjrmxqc67j9kkgm3yqs78qndzskqnbjlwgrshdmdms6lij47qj";
-"luacolor.source-1.17"="0m4hzd0rhp9vychlixr46kx7rahqvrrfi2cx5jl53gr0w9gp1l7i";
-"luahyphenrules-1.1"="0msfn7s35xhpacx745w0zbr6g5pbhhm4pccd5cmqdhq6dh0fjw2w";
-"luahyphenrules.doc-1.1"="0y2rxs5mqyw6cyrmgsqqibsw45qjlzsrcwpd74m9l9d4731nyn37";
-"luaimageembed-0.1"="14xmb1cjqvpqwl33qx7376ndsbkql48v6094r66ksr7vlyap5hgp";
-"luaimageembed.doc-0.1"="0r0w2lzxf4avfsv5s6fx64bw300vnmympfdfzz1k05c5c2kjy9x9";
-"luaindex-0.1b"="08kckg0129ksr8pdm0a2yawwb3fa5js3mkp6jd8f90y0w7acrvis";
-"luaindex.doc-0.1b"="02w8s71qdkxznkmqv7c62dhar2x6ia9zsiwd29qxjf51dpwj3mg2";
-"luaindex.source-0.1b"="1v09zszin9f4k3gczrfs86zv019l42d6khacjdb3qjp2gg8w9qn6";
-"luainputenc-0.973"="1wsz8aw4dyhiw5p7gyf26lcixk1a8czr06akd1h6dwj6s5vq4vka";
-"luainputenc.doc-0.973"="0h6wjb0kjdqfrmzikvbddq4w31d55mxlcl5n3phr56fa9i49qmgm";
-"luainputenc.source-0.973"="1yps04v6fvqspq3rip0c6pw5a5y3annwfaij7w27i53419h83lbd";
-"luaintro.doc-0.03"="0xab7yymknvhsh4c30xnhrlvk798mbnl9fbf7njqx8mbmnv869bi";
-"luakeys-0.1"="1ccdb5pr542lxzazw10qf6dldwdy95p7qdlz40vmv3zqyav6zc43";
-"luakeys.doc-0.1"="0brlbzw6inxgqn5arb6m8a5lw2hrxgiqq1jcjndcbd7hxnzkyz3a";
-"lualatex-doc.doc-30473"="12kg6l5lrq791qnh9gzmfbqn693fpnbp1nn8fddd5ybw6gr61qr5";
-"lualatex-doc.source-30473"="0q34k7x3lwhx2m7n0xl3c0jqv3hzz9zpx6hi5dy06k305qjr2lv8";
-"lualatex-math-1.9"="0fhi53ysw6q939d4slq2ryiw5c9bs7kidar62vphm8d7yag6ny7y";
-"lualatex-math.doc-1.9"="159ly8gyrk2jhn1dvg7ppc6fslvkxkwmmvkir11rhfwyvjxxcs7l";
-"lualatex-math.source-1.9"="0yz17h5bp5pybh2d8h8w45x1vl60xqfdfq8jsg1bhqahxd7c3qz8";
-"lualatex-truncate-1.1"="02plqfp0xi406wya3c6cdgj0777m11fzkbk9nbharima6zhsc1nb";
-"lualatex-truncate.doc-1.1"="0gkgbliv8bzpdk27mkff02v1d03vggyq4nk50yawrimz0k7q64bn";
-"lualatex-truncate.source-1.1"="159wcqiyb5rs9a7wfm5mj5vcqh4kr9gv4pv6w0d7vfylkrlh76nf";
-"luamplib-2.20.7"="13xiip2dddnm12r4q5rb2cmsjxl6qg67h1m5bi00rvrhz64x5pzy";
-"luamplib.doc-2.20.7"="0gf6q2jan1h2nbwwr1cg6rl5gbjw98700cdp58d8q2snlmbf3xjh";
-"luamplib.source-2.20.7"="1j9in4gvhr15xq00vplzv8if1fsipyijb0lpdss6vv5jkg45ps38";
-"luapackageloader-0.2"="1ynqy88drl04ld2lycrpvjj3cxddmbycznfamhl1bmn01c1q9784";
-"luapackageloader.doc-0.2"="1fn9kqab5hyvscjqmd34vxjkdcr7bapgw7w3ckwvlsslxrv22rfs";
-"luaprogtable-1.0"="16jmy3cvn7rmzf5i03x51yp5l90kmrdy0iqg8ji4z3xwrf0iq79x";
-"luaprogtable.doc-1.0"="1d0k83dyiml9abnfc3b9l4n6w18lgm37bijr8xj3chyv04v85392";
-"luarandom-0.01"="08pmalwh5w1gih9f29crnwqx40x6npizpr8vnjmjfw3iy442gbhx";
-"luarandom.doc-0.01"="0kgwqk2mh8c2hkv2x1gzl3a04q7azi0aqcv6ab3nf60ipmq81n1s";
-"luatexko-3.0"="113n3ydasq5w93bcw7hjigi4gg3b21n8cxr13nhashix8f2ramm8";
-"luatexko.doc-3.0"="1jz9lx2gnf5jdb60qavahvy1lbivy0qxnp37slizh22rx88s25xc";
-"luatextra-1.0.1"="1dx2hc1md8csvb37lckxj4987zaldfd73c86y0ni8fzd4zg55s7z";
-"luatextra.doc-1.0.1"="02dl0skcr30hh9wgm7bkdv5zvx3czcdkxv3zdqnasdk0b7r7mqh7";
-"luatextra.source-1.0.1"="1yq5i4v2dxayhfzn1yw987i3zjm6gy4fqckx5kybzh8f6jr9167b";
-"luavlna-0.1i"="19qndfkfid3xmqs3jaa5nxdsh7rg4dcrki9dkdfmff1b03z0pfxk";
-"luavlna.doc-0.1i"="1xv8gzjxl0awaqhhs1ls7lvxy48v8k5lsvxq4lzlvd452r8i82k0";
-"luaxml-0.1n"="0fjs7g0m4fi7cdqlkjgp26k3xn7d1rb0y4ih3vpzirsf4g6arar7";
-"luaxml.doc-0.1n"="07fqr933ndv2ni6h8kgl4nq61hzilcb3cr7nqqyzadzdray583xm";
-"newpax-0.51"="1i4ss5q9afxpskqdvz97svq2535i7dx4a7jhbxi1s50qr8f9fba8";
-"newpax.doc-0.51"="1zwpazpzqz3inkfx3vj0nbh8041jjch6daiqb8mcy80gchq3fcw8";
-"newpax.source-0.51"="1lc8j1s43327sy8wxqhmkvp6v4qx66zmsi4fan15w7sljznwd1pg";
-"nodetree-2.2"="0p3lm3sf89w1amlaxknpgrsd0w65sgxa30avxv5lc13ry25hflry";
-"nodetree.doc-2.2"="0xcb6b8a0w3hv98mxd5lh20yi7l7bm8fi230dh7vgv9rdvagz9ja";
-"nodetree.source-2.2"="14p1zfzf1wrw20b8dsb8ppalw5djqrj2k6xw5di3zbggr3zzjcjy";
-"odsfile-0.6"="03x3kfvm31l8lc0n7bic06xf1ypgkd22x4yv331vam9r8kw2i9wf";
-"odsfile.doc-0.6"="0p5iqdqrlxkq7zq5h8jk8csdsghkc71jhdwqhn151n92zxn6lg2w";
-"optex-1.01"="0s83rnrnvl62sb3c8s9zdh3q9gjc1kzz5wdsbz97kkk1w5x2bygk";
-"optex.doc-1.01"="1lkprlmchcwc7fi1hss724fyw28z5ivyjxcg08ramabhak0riy8r";
-"pdfarticle-1.0"="123b9f0nl8wyyxfnbs5krr5ayrgl02hg9z8w87lj6g0lxch7dfhf";
-"pdfarticle.doc-1.0"="1pg4iix7i0m3smy27xk5p03x8m6rq737kyhpf5qzckm276n88fzf";
-"placeat-0.1d1"="0vmvw0k1s023siwsrl4hr32wyla5xmkvz449p7vlfv1n63383c1g";
-"placeat.doc-0.1d1"="0j9xm75xv0lqkqzm4g8aqxy6cs8vxydmm50vsjj4g4aah7n8jygk";
-"placeat.source-0.1d1"="0118s2p8vfam65fwynf3vabqj4kz0kkw9kbq49k7akwwj1wpyd7f";
-"plantuml-0.3.1"="0pr3i90wdf440x5pdxn695xjz4cpc17y12mkvnyd1rxpw09003jr";
-"plantuml.doc-0.3.1"="1z0pgf56601gyhmqqq2mcil4rp1n6r6nsrvxpw0kra6lnvkppisr";
-"selnolig-0.302"="1xrndff5if1jbk5vzycj2alj72r123xjwmyr1lrsjkpkp6jqjg0y";
-"selnolig.doc-0.302"="14ppr67fbhsqi6d5x0f40awac7j3i90kk7mwrjm1ch1572im5dhc";
-"spelling-0.41"="08zkbw4fdfmfz1pxcr96xjhrs8lfbf6sydp8crp8110fikksjv9i";
-"spelling.doc-0.41"="1wm6r4rhkmxmc66zx9nvvdmjaarx789c33vzm26mbd6ylv5qs1is";
-"stricttex-0.2beta"="0igsjl8gsdld0way8nry9r50ibvm0aj8g46ki547c1jhdgmw67fn";
-"stricttex.doc-0.2beta"="11pyyvsxi2d4dfzv4pmapa2ffyp5fky32823fklcffd2i6jnvsbh";
-"typewriter-1.1"="1cgyi8q0w8j6xywby39g4nprg7p7p2dpgfdb58qr5nsppa2i31m8";
-"typewriter.doc-1.1"="0lz81r7jv8frdgb1aglxlr98cngacacjvsa4wjzwr9cvahc1q5r0";
-"uninormalize-0.1"="0ai1w8n010sq2fmwvp7625dfmmlvzx9d67ji34zwxdl2cyjlgsw3";
-"uninormalize.doc-0.1"="1dksyk07zjmwbzgc7c2d5lz7fkvrllbj1nrpb34vd54yxl4azgip";
-"12many-0.3"="1lh034gihn9gmpzf5sz9anrxqlb7qifaasa98dira5vccizs4axd";
-"12many.doc-0.3"="10f5f3xf2bmrf794ipj5xjsv73j7gqmhgg2fjrdmmsvqij7ljjk4";
-"12many.source-0.3"="01nldk50shy8ynkcjz0176rzkrjhxssi7x37bd7x1gbw6pd32m3a";
-"SIstyle-2.3a"="0w3aywnn3l1yis6h6ck1vnmyfl90s3wkr4ixgrgj1plmxlvgqwpp";
-"SIstyle.doc-2.3a"="08r6ngi4xdvqm3pyyg6h47b7zfwq2fb48d4yf114sggd2ncaksll";
-"SIstyle.source-2.3a"="18g7igxi3y1hz988kzd2bkpmdri6qm513pkx1pv72abfgqi3gvks";
-"SIunits-1.36"="0msw4324hfzdq87rqahl6wwv8jlswyz2jbkx0ph22jx5rxyjvwii";
-"SIunits.doc-1.36"="1zikq0h32838mppih4iw40j8gjy1zphbn5ynhb1677ccbi1vxyl8";
-"SIunits.source-1.36"="09a6fa5vjb79mvmrcjfxl2y5jgi6kxxgk6sl4s9grzkd93id9s1f";
-"accents-1.4"="1xl7fkm5gc36mm0bhx7rm9v4g2d9j22gr5fjxjbzmr6byjfgw71k";
-"accents.doc-1.4"="0il1ccxa2ndnfxn2caz9d4mv39y21rh360lynra7q2v5j1cyqrw5";
-"alg-15878"="0lrzrij15s989hy2j9wi1fzkpzvqjfhmgj6ryry0gy7nk3azhhrq";
-"alg.doc-15878"="1lgi63jx57arpz688i22razcrzarl96id8xf45vznh8iraba3sja";
-"alg.source-15878"="0mjrh4mnx8q9x40vr4csj3h3w7wh3hs8hidbklym29d0scd5rkx6";
-"algobox-1.3"="0xplb7wlbizzy95s4pk1nhl2w1b3g80frkd8p4na2rv7awp0da3d";
-"algobox.doc-1.3"="1bp5b0zr6shhaifkqdliw9qa18ym4s68xfk6k2njjnwdqyrxyd01";
-"algobox.source-1.3"="13cwnl7nxxrs0jsvfrvcy7a5pg8a92qnhxjsbarcx3jmg43d4zp5";
-"algorithm2e-5.2"="1iw3yhdk9nk1y41hw1qcpqiqaxadjc0nf6cgb23kd75ah2cpd53n";
-"algorithm2e.doc-5.2"="19xsi1dgxfi06wxls70pvnys20i2na2y7m2hq8y6v947pc5kbb1b";
-"algorithmicx-15878"="111iyi2j8qnzha97r1grxpcbnfkpvcwndczx043c4gw5wqmrknbj";
-"algorithmicx.doc-15878"="1rb46zi4islfbykhr68rnrkj4q966papin0c5m752gh6kzx5r57p";
-"algorithms-0.1"="1va2ic75nf0dfh0dr576lpgqhzqv5203frr37079q648871zqav5";
-"algorithms.doc-0.1"="0fqif0nb9ypd4sw2i9qsxl81h3g4h0gm0yqq67d5n9wrpic8dnjg";
-"algorithms.source-0.1"="14jgc7vnww5xhnd76cwix5c599sfdjil2i916cfpmsd5yn5qqdx3";
-"algpseudocodex-1.0"="0mqlh4jbjvay1qk2vp7wcszdl3m74ph1p6563qqfr9zf6qmz4b16";
-"algpseudocodex.doc-1.0"="1cxxswskyp7s1iql7g2dncskq6adx6s70iy6b6shjng9m77fbzp8";
-"algxpar-0.91"="048yw7nk0bnc05swjbmncrrlns3gij9a4851fbj9civlc8silpby";
-"algxpar.doc-0.91"="13r04cc5d04ya1c6cm2h9a1f5c62ln5b7zlidiw51zg6200rrl2d";
-"algxpar.source-0.91"="0bl51gdyi1i44j2cfz432z5cf63mp4yjr21cc2hwihyfd9vas3z1";
-"aligned-overset-0.1.0"="04gjl08y9wbv5qls9z2plxx5n4abi4nzd8qik88via4xghhqiy7i";
-"aligned-overset.doc-0.1.0"="0il97kycqgqqimqjvjhnhc2mxy2nja20vlspsqrl9zaah71p1b3d";
-"aligned-overset.source-0.1.0"="0zbaa3m06kfkj7kkv6iy71d20n0kqq1dwy63dwfj4l49wv427z08";
-"amscdx-2.2x"="0ncbf7ss4iwyjzp6lgzgzn3azy5iasl03565kgsm1pcbgprqibgy";
-"amscdx.doc-2.2x"="0nfpbma3cawyy7gw6v0w81maz1jgicb2r4cm5gmlipzxwzl747if";
-"amscdx.source-2.2x"="0jg2qk0a9y15hl4w753yhjff28w9wc2vbmd564lkikvg60b9yiqi";
-"amstex-57972"="0l078b9fkaai7kn2szn5hblqp3amlafr7ha0hjcn48657wsjq4jb";
-"amstex.doc-57972"="1s93yy1v49b9r2zfkdinsp0i70bhmjmrm876srvhgqs6k95f4d6c";
-"apxproof-1.2.1"="1ds9qv2a6klgl0vdcca8b1zm3lyf59amcyqpi89l1rj729p4qkvw";
-"apxproof.doc-1.2.1"="11r9acw77v8i04baysvl8cnhfcqn00hbqrd4mfxas6r8yd1jl1ns";
-"apxproof.source-1.2.1"="1ara6fxxbdv84anb2v81hhvhx9sicjmny10267wbz3y1crms1cly";
-"autobreak-0.3"="0dzr4wbwy018f97kzmfvza9i7m9mbpn97mjzi336sgq440v01hrd";
-"autobreak.doc-0.3"="099vqvdh2djk7fm6y4x5m7cma71b2anpqkc3lfzjazpv15kpnlq6";
-"autobreak.source-0.3"="03kqdrwznx3k65nf5z3p2z6d80rki7w4v5lhdfk8rin3112gn68r";
-"axodraw2-2.1.1c"="0dcls4qqm7pl0iyg7mkflqa2rd86wsafshx41xlg62din6fmybwa";
-"axodraw2.doc-2.1.1c"="1l1kwxd8zq5xxhw7zyig0b8nna4fwr6615h4jjwpywcaqsnms6if";
-"axodraw2.source-2.1.1c"="00nq53ahf63lazavijry572yii3jix1df9c604xnqpga9z22bbq2";
-"backnaur-3.1"="1sj9a62s7mqms6i2gv52dls1jncc478ki51wlnp6j5hq34g8sw8s";
-"backnaur.doc-3.1"="0mzpammz9ic3d56ylxl40b3m8rc0s0ilhzx25h1y781kya0n6wb5";
-"backnaur.source-3.1"="06aw2vvmkl1jprdznc5cwmyaw890csjsbkqmy814ddx6py7pxni8";
-"begriff-1.6"="1hl6jb8gg3acsj6rs1z0w5v0i6ivvas87hij4n64jdwgf1lf02ja";
-"begriff.doc-1.6"="0bd8gwf3ifqkjpr8wnrp0xx78169b8yc1ppdnyg9v6n4l1b0x0s9";
-"binomexp-1.0"="1mx2g0s4y5y9abmj2b7smz0xc2nzyvnx4x3f4h5v3w1x1kp5y0hz";
-"binomexp.doc-1.0"="1yi68q48p39v20rzny1603j20n8k6ddpjqi773955wmh1p4mqsb7";
-"binomexp.source-1.0"="00rmdk466a4kc1492b947q1f97d7cwd2svvc9wr6w1agzz8w890r";
-"biocon-15878"="0g6r8rh12pbnbhddcv6sz9h8wnv31q6jqs2xbj5fjj7vcb46z694";
-"biocon.doc-15878"="15wd9arkdxsh8aral3zgl83627yl4f0wdx2r8b6xb5ivvrbwaslj";
-"bitpattern-39073"="1j01vh1jy41714k3hms4nkk8j5c5d4nizgrm5syi20n8pcn3l9pi";
-"bitpattern.doc-39073"="0a9120z9rsq8pqi33iv7f4j79gimjgxfqf5jhnrnmz0hgqdpl2mi";
-"bitpattern.source-39073"="16bjmxm11kh0ww6ymk82qs947zgavm100nsfnjl60hxwjl3yknzn";
-"bohr-1.0"="1fbrgfp1xnxa5cf5yqk9735wp0qwkjkpf8sv8gdjg6a06mpixn6m";
-"bohr.doc-1.0"="1jbmck8ld3rg0nw5rs9lbnr0i34gi2sxncri2fmcdpl8pp3xnw55";
-"boldtensors-15878"="0nywpj03fzn31fffyfy9plxgq9008hhs2v1d3nsy3ggas5kvrm5c";
-"boldtensors.doc-15878"="1vdj6217qwal5005zsmj0jm32s7scii7nmawljqi1j1a7lzlv86b";
-"bosisio-16989"="10dbj6gzv7z1na2bynrdz9971k5fr2vr4njcnsm16nlhyjzypfhh";
-"bosisio.doc-16989"="1a0vyxnhbbdm2hi8gydz0vyasvzzh3k2scyv2kxx4qbwvv4liyk4";
-"bosisio.source-16989"="12f99cgcf4mphvbqi2ffh7nwj627c5cxc9v8xrcg8nwfxr81h7hv";
-"bpchem-1.1"="13l29qi6w99d47cv0ky9hsm6356vk7n88xkxjx5v5pb6vrg8zblw";
-"bpchem.doc-1.1"="0n8w0dvfqal6k8syw9inaykdj2ndmkjqgg0fi7himam2q5qa36y6";
-"bpchem.source-1.1"="1fbbs8lfzr3nih6m623r1wxdm8vgzfli2q97kp5jl998pz0ipwin";
-"bropd-1.2"="0l7ifzaqvqhk2dr31757ias4w4vzpdz15kma0bj2fm7k4sjx7d5y";
-"bropd.doc-1.2"="080g65q0v34rbfl67mpvqfcwfvr5znwv0rys8m3fys1s9d4yyryw";
-"bropd.source-1.2"="1kk38an662s7blxrnk4nhfvr49aymanj3qcm288ca6kfabg84w8a";
-"bussproofs-1.1"="0d783i6srwanhm806hk0y5igbw99rf5x9anl7ib29pijrqvg8kjx";
-"bussproofs.doc-1.1"="10mn4g6dap1rksl5jnsp8pv3n0hhfrb9imldjyrmiika2d0prfp9";
-"bussproofs-extra-0.4"="0ndqiz033c8dxkdknf7hy1d42y0g2hgdb091wxrvpla7ryawcb8v";
-"bussproofs-extra.doc-0.4"="1bg3sh0r7kqkb0hljc5m3x9gn3wkfyjr9b0d8myjwwyf4g9hzi0d";
-"bussproofs-extra.source-0.4"="0p1imkwz82zwzp0p49a2vj7gdywv7mxr3b6nbmvkpz1n2qxs2hsg";
-"bytefield-2.6"="1ag4x4saicjq5jbw26m39gqfj1sv6661slsp6lnk1cyvn3ym2j36";
-"bytefield.doc-2.6"="1rypz5a1ll05f0k1gzjsrbvlpvmj8k4gc3vr99b1crcnsx94pc00";
-"bytefield.source-2.6"="1cgh261syqgb18f6568q7aq6g2pql45iarpwwf413x29v5vz10j8";
-"calculation-1.0"="0v7f5qx319zrwhy85lvk354a7x2vcainiq90y1jkm5cscs23xqjx";
-"calculation.doc-1.0"="1bk9yqx607vp65ifdawaldcsxm065hmyrgzwyy90wkn4kmyq1snq";
-"calculation.source-1.0"="1y5a2n2asfhwm8jylfg5zm5dy4v5s8gjl5ndizwk1ywwl0am2dxx";
-"cascade-1.1"="1gffas6hpj012cd9wvsw5a24bkw8iqxmp64pgj8rhl7xa0n94hr1";
-"cascade.doc-1.1"="1q8hf1bvq0h9qcc5876ddc7hlygqqd1i99drxfk9f07gc99dpg64";
-"cascade.source-1.1"="1y0drfj70ghw71z6054w364bzgzd875i387x0j8p299c88hjp6lm";
-"causets-1.1"="0l7dlry3np34gcgwn14rzzkhhyf8wp69ffanlyqc5n9v1nzzpzjy";
-"causets.doc-1.1"="0afqh4mhixi7lyzii8z3yx9zndm4lzdg24d72y3cqrym4lzf5dsj";
-"ccfonts-1.2"="1rwzpbv0vaf4p77k4hf9ac14l9sw8hsvvqx5diq9dirsfq2js0rb";
-"ccfonts.doc-1.2"="0wccdc79b4qzm3xcwfa8nbbvcp248xgwhh7dszlxw3wh1ggl2lp6";
-"ccfonts.source-1.2"="0avnik79dw3p1wvrg5rlqcaxr3w06mr5jvyms54ha18l2d63yw7q";
-"ccool-3.1"="1dzc7z7q6m58pdjs99170nv0cs8ddi96nkn57qmgqcyvsz5r3wqf";
-"ccool.doc-3.1"="1b7cjrnza7jh4npn31a8311c2m1hgdmpsrs5wcj6lnlkz3g70bsv";
-"ccool.source-3.1"="17dvd32jjh58w75mlccx59ailpwpx89vbzydzjdmzf1x73vf1x63";
-"chemarrow-0.9"="0vy1y1f8czyp36ssicmn1w2px76x47afrfqjfn024jmbs54fwfxq";
-"chemarrow.doc-0.9"="059c8r7vhs6765h0x0ycqhkd65nxb6sqq7xhi7y8jyb7i6q3rbbw";
-"chemarrow.source-0.9"="1ds3yx6mbwjvhzj6ximgglgccndqjbimprf7iszhkz3w5vxq6qz6";
-"chemcompounds-15878"="05rqpsyf12yrhpnzip0ywzflrvsjfdqhpi74iwpwb98d3q82ckai";
-"chemcompounds.doc-15878"="11264rxfhbf36jfkqdfyl2dyqal86bhjbm1zsy9ps8w4fsgdw94a";
-"chemcompounds.source-15878"="044gavw3i9xsa073bwpg11xy75dip172ih6h2p1mbpp8i7bzsrg0";
-"chemcono-1.3"="08cch2gr35wclm1l0j05lfbjskqw43jzz3aj4wi1dhpm31b855q4";
-"chemcono.doc-1.3"="1kcgfx2clh4x59h4scw5mg035wqr2cp5kidn7f6p2aaf5607xid5";
-"chemexec-1.0"="0yj6sygdzs247fpajjl8gk3c6yhk52npbjahgngchqmblhmhlkc0";
-"chemexec.doc-1.0"="0pqksv69yk7vf622x2p2ah735p0a93agfnfyg8hm2jadwjmhzikj";
-"chemformula-4.16"="1cxg6qf8yxgjjj407n983n3lnnldnrwrlwqzisg588apmdjl01df";
-"chemformula.doc-4.16"="117yw6acki6pkb4gybayvw31bmxgkckr0a1gpciyqm75vb8j8gvz";
-"chemgreek-1.1a"="0di3w4yqnjs49im28g2a2qk31d6cqhrbwpq1jcxykk8am7g2sn1c";
-"chemgreek.doc-1.1a"="065mwb7ah9h4qwqp36n0sdlkjv435bwrljz3yzsgym7a4xqvhfwh";
-"chemmacros-5.11a"="113zzfnrbg20ymvb8lp9dy66krymdnvsv13zs974h0xjwhb2kz5z";
-"chemmacros.doc-5.11a"="1rmyhq5fqg13z7b5nalf2d29y85sz8rlj068kxwby9i8xhz0cn6a";
-"chemnum-1.3a"="05z6i3cva4cq45z280ls3y5hrqk9m3a1v5yq51rdj1ilk3yh1a4g";
-"chemnum.doc-1.3a"="0g0q6a845xgpfwkhi31dg6w2rrza8cgxj925rm5m6mg026rd7v03";
-"chemplants-0.9.8"="0dsyymbacp2ffa9lcn7snb1hzxiz3qzqaziij42knpnag4m28fyz";
-"chemplants.doc-0.9.8"="0l4diz19076ijainyh8gck153460bjn4m0jxyjqki3hjs7f15d15";
-"chemschemex-1.2"="1xs0vmk03pmlw7hcnm0llgq7gpg1wlack2k3cry0fnw8jqi6ls8r";
-"chemschemex.doc-1.2"="1gz7sdykvl3s6c5l1vhx2zyjljqrcs2h02s15nly8kjfcmvcncq0";
-"chemschemex.source-1.2"="0wkrpfipgl4yx3d5a5pvfrsxbp3dh9wwm0i34z2y6cra8xd4m58v";
-"chemsec-1.12a"="0rl9aqh35pr0pr82vaq605ii09cxk73mjf3qs1dwcb51hjz51f35";
-"chemsec.doc-1.12a"="1fh5fplxlkzcly15kwzji7ym1ri8q33rs9k6wpbszyr2przn52sy";
-"chemsec.source-1.12a"="053j5riyl07jxzm2l44ns7wyck2y0680p9p73054szd859q86v8h";
-"chemstyle-2.0m"="0a0sd2sv9g68alicfvm28b13kdipyrlck9ipdb3ybjjsi8fn99fg";
-"chemstyle.doc-2.0m"="0gdvvkfjbzf0kdbl5f4j30cvddfbwiashz520g7kpkv460swvz0x";
-"chemstyle.source-2.0m"="06ws8xqy1y609hzfc90l9zn2i1h3a6yq2hxcg1bfsbsqagh11rnz";
-"clrscode-1.7"="0kk8hsrd8rr5vadvh58fdlzpz29cnpr5nhcl5il8fj466dw0igv0";
-"clrscode.doc-1.7"="08wps3rkrx4isg7abr6icfj9pcnhpnpylnk3wvwb42pqah8975xd";
-"clrscode3e-51137"="1f7p04gaccyynqm0wzfz8jinsrrwn6i4amc51s835gxkjv2d8gwv";
-"clrscode3e.doc-51137"="1kryc0ay3bx1maydfha6wm4qw2l9xprnhs3901qbz904l21yawhg";
-"codeanatomy-0.4-Alpha"="00p5rnl1xcyv1bp2db8a5r9ch00iyimdcmqaj7knrgm73i2cvbx4";
-"codeanatomy.doc-0.4-Alpha"="08qh0xd50snbrr92wrd12w3jdingv4ryv6bk5n2sfxk8mcada2ag";
-"codeanatomy.source-0.4-Alpha"="0h4xj1sqimnkk2bdbhayxdsm8qvqsv3qzzpm91acb16ra7kqw1wz";
-"commath-0.3"="0k3s00r4l8bypv1166p8jkdj1wrx4ar4w0y1fggmpzivqicc02g3";
-"commath.doc-0.3"="1n2929g5jhkrrp7fs237h80571m31dd9x0n2dhnqfgynnc9vasrd";
-"commutative-diagrams-1.0.1"="08jd1dzi1y72dhpwng3p11vw8jl98n9h9npyypgc58n2djla8nb6";
-"commutative-diagrams.doc-1.0.1"="1405ya2nynfbzrypjm7i9grp5k53nvrx11wzg3xy82z32cvds0y3";
-"complexity-0.81a"="062xi5wlg3axhrzc9a6nj068z7nskb7qwwk2wr0fzvsflqa9cp0i";
-"complexity.doc-0.81a"="0yzdyn9j1jk0nsw0l4r06cr4brhz1f3lfxc918zalx6h9wnkxi2b";
-"computational-complexity-2.25f"="10as8msnqa06dp3hp945m42rgbaqsja8z4sc79x7n77z6qzmznvl";
-"computational-complexity.doc-2.25f"="0dq56zzw1xzzpm1rdjkqwhr6v93xiv00c1g2rmlmfj5dnbzng7wq";
-"computational-complexity.source-2.25f"="02mapvsz8j1979gy7pmwkdr6wq55v0al71ffl9bi2bl7f5nsz0vc";
-"concmath-17219"="0m98kyji3v4gg1a30phmn7fwssnnbdvyjxvfpl36lnljnicpg28l";
-"concmath.doc-17219"="1392wq35zidk71vxybrwjq79p2gf4spcv0qqb07dsgapbhr2g0aw";
-"concmath.source-17219"="1zn35da4jlplqg7fb5ibzaah2yh1cwjqvzmx45jxg0hnsc7xmlfd";
-"concrete-57963"="06m8d6z5z3dpj9i0nvp50g6pn9j0m4n0n1j3w94nml137qghawyg";
-"concrete.doc-57963"="06z5hh9ksr9jpkfchyh2zp8b827klb4v282ipizrm1dvlv2r1603";
-"conteq-0.1.1"="1h7b98qw9hl73gh4zidy59z4rly9afnvmah75jgvh0k1v1hm09df";
-"conteq.doc-0.1.1"="0kgdggc8gpd1h7kdbh3ala5kz8rs56bgmwgv9wvxsqx4sn19q2fy";
-"conteq.source-0.1.1"="1y0g7sj696d6qhcw8vrpxr8gwik54slp7lijbxz64ksqbw5xjqv8";
-"correctmathalign-1.1"="0dvgaqy8pkk3plhqlxgkxkiwyhfzwcyn391grbqv764mvh4iar69";
-"correctmathalign.doc-1.1"="1fd32yzxj3l4sp5cp9rnwv3175jz5m5hxwlfm10x282g44l7mjid";
-"cryptocode-0.40"="1kmia37x8w4wlx2yaqj2g9mjxmyafhwr8b3l32j3ri44rs3wr2j5";
-"cryptocode.doc-0.40"="1yfzqvcfqdbfz5mvfnlcy11j6bg3vqzirz89jbxmv27bdkdnh0ad";
-"cryptocode.source-0.40"="0c5d5fj72l7b31590119nwf47vwh0d92s90af1w7l78ncr5k37aw";
-"decision-table-0.0.3"="178vrp6436d9an3d1v4p3s8fw1ifi9hz586pbl9qbnbg09x46fyv";
-"decision-table.doc-0.0.3"="0hwi8a89vgpz2zb3dg39gglb16250aiip3j9gk7bayr2gywdd9xa";
-"decision-table.source-0.0.3"="0jki68fx6sw818700gcdz06flr95xfwcvcmdhw8mqxivm7h9rff2";
-"delim-1.0"="0k5h5wk4fn4qzhjcgraqjzf6ggq7rvr8d4c1j2vwxi37fa83642b";
-"delim.doc-1.0"="167hklrsm9dh68nvl6inqck07zfg8w4gr9p5c2n8i6y6v9xlj3q5";
-"delim.source-1.0"="1xh63b78kxngcc3qgzmcfrf4pw2saipw054pzq47vp2ajppp1sq3";
-"delimseasy-2.0"="013r0cgz7ivrjfhmpcf5rdfl2573q35qmw0bhprnamij2jpvggzr";
-"delimseasy.doc-2.0"="02s406bh59qy6g8ckpxhgl0b4xxyr4zf91a6prhzlmbbhf96xbp1";
-"delimset-1.1"="126ax3z4c36z83479zk56jcvdj5r95y182rv42wkm4lm6sy8v24j";
-"delimset.doc-1.1"="1mb85h29fp7nxrkfylfg59jbvjva7lmr7vvgd8nz7k09w1gf4x0b";
-"delimset.source-1.1"="00hp5f5pfad36n4lkmra8mc2n0ynnq9ynnspqfb9378cx3m81cxq";
-"derivative-0.98"="1kcjldvyyrlqh2f3z2x6q0r8km0ly4l1kz7kmpkp0x19dk2lh1r6";
-"derivative.doc-0.98"="07h6jk6yly17zl6a6w3s5l6dykzhvi8dywvhv8krkgakkm5157jf";
-"diffcoeff-3.2"="12k33yfzk814ans730pj9q6h8valvaa11b87f73zn6cd0qyljpwx";
-"diffcoeff.doc-3.2"="04ffwi85qva4r6adddp1hkd28isv5pcrazsj1rdidkagd7gg2q89";
-"digiconfigs-0.5"="1irv3jc87bpnc289r5zh7pgfdgk4bvfwbyv6666kyq8f8yl7m1kh";
-"digiconfigs.doc-0.5"="0fnibq45xgwrha5vfav8lylnb6p2i0brd2k1yp8jm8id6xdsxmq8";
-"dijkstra-0.12"="18gg38x09m7xi80wkpd1sdlk9p1bsnlcx84s7nc1wpar88w4irrk";
-"dijkstra.doc-0.12"="0qr39gb0cwy4kisddkphw8j11j9rpm104af5cpxdcd7w0kljaidf";
-"drawmatrix-1.5.0"="1806y5cdgnj61fy0lilm424x936dz2q5f2j2s3w71kzl5ivyf569";
-"drawmatrix.doc-1.5.0"="16pql717cz27sic494xvmsw2mw9jxn71xka0k8fjys8j52pklqnk";
-"drawmatrix.source-1.5.0"="1x8lc07xccf73vcvywmrqk8ivg5xb1g75gqhff12zgrp2vqzh6g7";
-"drawstack-28582"="1lirkdnsp35l4dwsir1xyf4a2s608ymfc3r0hmgg9phiy9i1664z";
-"drawstack.doc-28582"="127c98z547disxksvhabrpnddrp5ax5dwbgy7nmyja2dg65yax9i";
-"dyntree-1.0"="13imdfv22qsy9jq5vksi9qsx8spcc6h2v9qlc6an9p93cq84fwka";
-"dyntree.doc-1.0"="13wn9lyjqds36ff8lyv125i0qqqqg0az71h7g871zylppfy7iqyc";
-"dyntree.source-1.0"="1r7g555bhgkx29hgp78v31nljg9yaz3fjjy9qbk9kvz6wcphim6l";
-"ebproof-2.1.1"="12dqzyi84jlzm75d77crxbwv2nzyw8raypdj60bjrn6kifav7v0m";
-"ebproof.doc-2.1.1"="1d6g3v3hskgd9wrddkhf7qxg160n6qrfgzxfswajswk0kg2w3675";
-"ebproof.source-2.1.1"="130d3af0n0gjvnm0ad3g6pm8dy1w8zp0q7im3gv1kqbm7k5h0hny";
-"econometrics-1.0"="09zlc6943vf9r2n096x6s0xwbyl4lnpcv8a1hmn81s5czawkrqbs";
-"econometrics.doc-1.0"="1bv3m38gp92cdwhvpwrhs4p34hrmr8800js6myif4r52gnd1q4mb";
-"eltex-2.0"="0k782lxa85dsmqbcw5q8gdny1lygfsv5h2d1d70f6y0df17r57ad";
-"eltex.doc-2.0"="1hshzr96sn318b7ssv6f5md23v997xahm2232c3kns3rzpfssy21";
-"emf-1"="1w7whsff28cf3p0i8hii1lklb8i541di3g4z5iv2rfm4xa5m6i2s";
-"emf.doc-1"="04qq6ljidaqs2i4lxp3m1varm232rhd026qirvr8q10vpkd6grad";
-"endiagram-0.1d"="0vgyl6rbgrq0jslb5k1796hlnzxjpavl5ab6vj6zizinr2rvh0dc";
-"endiagram.doc-0.1d"="1gz8ri82sx9nn2adb7sv434im46cb0ld9r4j9fz07kqn6gxzzr2j";
-"engtlc-3.2"="14lz7dw8wgksbihdvga2yyqa3qxbs382s5pzrfycx9z7503dfy0w";
-"engtlc.doc-3.2"="04lv0x4psfpivxfx5asf40pn0d80cwfwc1pwl21jxihdvc6jhihf";
-"eqexpl-1.1"="0q20g2zh9whs8vpc2mqdxpyk1223jd1ygvchrw2p71d17xhxj45m";
-"eqexpl.doc-1.1"="0bryz6gxw08nx7h1b5as1s52i8zr9l95zlfr4gm98n3yzbr3nzx6";
-"eqnarray-1.3"="13vm2xqfm36a1fpljchnmjnl6m4fia8x5bia0h0yxh7yw740vbzv";
-"eqnarray.doc-1.3"="05vh8d0yyqhn7d45ykrql4dbn07f8yh4jmr6qmx1mkhyiz44c9x6";
-"eqnarray.source-1.3"="109ds6zn3nl17kb4z6m1xpa5ds2iwqaxqbf5jmw54547wv34havy";
-"eqnnumwarn-1.0"="1mv50r9g43si8kmdmf3kgcjmw10kzipq67ssd3vllja4pn9yzmz6";
-"eqnnumwarn.doc-1.0"="1ypvd357npccz8vbbq8ss92cmxphq16isvw4ax0ppgxp2bh7cr4g";
-"euclideangeometry-0.1.8"="1yra81pj5irg2fd4m2d5n9152rlghp8rhhbx3z66syxg20i0mszs";
-"euclideangeometry.doc-0.1.8"="1c06vg35mb637hw1viaq08f2x1mi7nbn1y53h72k6sg01a8yzz9s";
-"euclideangeometry.source-0.1.8"="14054b687yrgdmwx4dgr3srjgm6ibw2fdkwbbndvcr1k27zalib9";
-"extarrows-1.2.0"="151qmfsqqj516ky9j4wbzh1618r769b1bqn4rc5fh51p1s28k8f7";
-"extarrows.doc-1.2.0"="1iw3750iikf6dc6kyid86r7kdzkpi1z4la4zlj63z26fczivif91";
-"extpfeil-0.4"="0n2j976a2607zsgf2cda5vljl497c1562rn7cih11h6vpx76jx9k";
-"extpfeil.doc-0.4"="0irjpxz1zk30myk0h1wjhzcxdpyqjfzxj0lx1nz56v4f157myn50";
-"extpfeil.source-0.4"="1yf2kcx73zp24wrjb59zd1f35809k52cdwym9xlf5fy32rh69y08";
-"faktor-0.1b"="078fxihxiy9bnszy2nj5ca8ys9hhhazkawwi7x2hzwfh3n4dyqz0";
-"faktor.doc-0.1b"="1hj13l2g7za8n3bkxmg04npi5fnp4jv8viyym1076wify7hrwc73";
-"faktor.source-0.1b"="1r8wksjr0q1nm118fzkn527lak31j3sjrbsahpdmvxfir7936njx";
-"fascicules-1"="0zlkjn8kg6vb58xp2xh7jwjk6dmk6knzqh8v7lrdbmzhw9j28vwb";
-"fascicules.doc-1"="1jkhj04gpwcckp9zqanaa9zhplgs2a5xqnn2xf6ir6qifiv3403y";
-"fascicules.source-1"="0d7crimrdcxlh8hd24qfwqnadxfjsfrfnjr4hx5rrj75mm946zmj";
-"fnspe-1.2a"="1w5ibha9cxychlvqrbj2v49kizc7hg14lhn1smky2m9ijqrrdwyn";
-"fnspe.doc-1.2a"="1ix8midc7hy8443fh3vkrl875h1v9hqfwmgjw750gdy9x7y06fmv";
-"fouridx-2.00"="033f2yhslmm70byg4pkw64g976vgssc6yiizmh2f1chlfhsz1qhz";
-"fouridx.doc-2.00"="1k6zirff9bqbz7assfrlq0r83bjqgzblgxix7697lmp6ww2rj4l8";
-"fouridx.source-2.00"="0il905sqxqvqk0fgsns3yb9hjh740h69imykxd84p92fndaha5mn";
-"functan-15878"="0vxwabhbnw3dlxzlqz4yi4l4iw17a0w7lj3gh2q4l3p9lhzr9qmp";
-"functan.doc-15878"="1jxx1inlzrbzm784zwkz55ykdqhn9ncz6cixs2wqh2sx1dih7cwn";
-"functan.source-15878"="1a2x71qhjdr2ayii65qivjmwmxzw6id3vljd8nv3l04xnp6p5dnq";
-"galois-1.5"="1knks42bg72lj8nqdy2iyaqkq5a76yf4zxql24mwxq5fq5xv1vmx";
-"galois.doc-1.5"="1nqhf3si1kljbr0s1sb22kq6nfrp9ycvm6smiyxbw5lyl3spqkxv";
-"galois.source-1.5"="1rlgf9bv4rjkyifz3xvvkv6xnqxl0pl973mq0zqxaiqfkh0i5xwk";
-"gastex-3.0"="08xba3pqif87wn23vacj7amqi97yk2qgsmmawpm3r3iirir2l1d9";
-"gastex.doc-3.0"="1b5qvkpvdlsq85yllixs638p1bwv9xfqy2mkzyckqcwfcdcv7i21";
-"gene-logic-1.4"="0fxddiswkvfzbmcckl6mhyipxjlr0yf0579i792c6rvrqs5avyak";
-"gene-logic.doc-1.4"="1nd4bxrq1g1gxcrs9lvnakaivla37p218pa4ns6jyjmimfl31gxi";
-"ghsystem-4.8c"="02hvpf3idwmm4hjkbvcz0w9n6sb6iy1xcj0iiqa51fzg8kimpkzj";
-"ghsystem.doc-4.8c"="1lld29kqvfgl4fmj70z52l1b5sqcb3fr8d2aim5l88grnypn9gb5";
-"glosmathtools-1.0.0"="07s9jh24m9d9y01kk6z5lw9acri8g8vjmfw0mgdw3mwpffmba5mx";
-"glosmathtools.doc-1.0.0"="1ya15q1nb7xzjxq7cgnl9q8pwfr1xbih6shd89krijr2l3rrycws";
-"gotoh-1.1"="1k3z1b1nyyk4jr2aj60d9p3fvx9ijpi21780wbbzmn5gydmivvm2";
-"gotoh.doc-1.1"="0kcx815006v0azrn7vvbldplg7z4bgsibz921k20pdz2fqy88lnw";
-"gotoh.source-1.1"="04frszj42vxnn5mf0mi5izwqw7mh57w0npp6n77kciyk84qjca7b";
-"grundgesetze-1.02"="0nl7qj5h707mzwr57rz2jqar5p26fg8ba14yp5bm5zvih4s674q6";
-"grundgesetze.doc-1.02"="0a1dfdac2hpfhrmlw5gvvi22jklcv1g9bx50n3pcvhw5jxcsr8zz";
-"grundgesetze.source-1.02"="1mnk3iab43846akkgvkfjfd46kn7ax7wg5hvb08k583bppw8711l";
-"gu-15878"="0h37ilpkqlb6z4fdjldnbwpz2j15izz0wb70n4zmmp2162qqbjni";
-"gu.doc-15878"="1gx36ngw3mbbw9i2xdi2glx80xfvj6pv5frh6fmsqlnvhgni13nf";
-"helmholtz-ellis-ji-notation-1.1"="19szfdy3r6i0ayfr4qjv99dy6h97pqcfr08xhy3v9kzqm4d2b5nb";
-"helmholtz-ellis-ji-notation.doc-1.1"="15d4dil3r44v5xds0n1lnqml7cyncpyr92prb56rfaav669hflbr";
-"helmholtz-ellis-ji-notation.source-1.1"="01zdhy1p6idpksjh1ak1lyw9j536bzr130bjgay471k9d76n38dr";
-"hep-1.0"="016jjvmmc679sk23dy0g09a0s0n176a5pyq18snvi9xajh2c4xw5";
-"hep.doc-1.0"="0czpwbhpgpbij9b97dlb3qq0aa9vyh12p81sdm0hwkj3i16yawav";
-"hepnames-2.0"="0almnyzzdf0q50r6qi7i6c4pp9aakyzdzj2jxkj1y0h5smi602ii";
-"hepnames.doc-2.0"="144wikhsm6mm6f459r4paf0chas0crzvd2rylpynhsmkp9sk3fck";
-"hepparticles-2.0"="076w3wmdywai4pc02k8nk0qyc4vmvn9x6lvidmp4z6as0jir7ydh";
-"hepparticles.doc-2.0"="027pgn4i7n6b2zk8ikyqj4wlkkw1njq4qcfkmy0bgqz3al08zr0b";
-"hepthesis-1.5.2"="165n2pwn04vsln5xy6lkg61c1bp65zyqsd37fmmd3xs7yhv7xc2d";
-"hepthesis.doc-1.5.2"="1cql3rp42bb5c33sdfip69g9rd06107zg6wmsmzkv8c019xwg4y7";
-"hepunits-2.0.0"="11szf1jiralk8jdp45bzksgd76bxcf8xgdk707spbyqf6fzafrz9";
-"hepunits.doc-2.0.0"="071xs04zgnw5ir33qzfn0wxxfsk75d9di0ssl394ksmrm14ny3vi";
-"includernw-0.1.0"="1w51v1v8x7wzibcy40ss7ldra83wbil8w1p978yvs5kzbky3vw2f";
-"includernw.doc-0.1.0"="1zl5fsgzb7nm1wi6ddc3cngqj3apmjwn1wkmsz785nss56vk9f7w";
-"interval-0.4"="04rj730lnkgj4xfm3mldyyf6bb6rr1f3dhms0rnaiq2pzv77cqyw";
-"interval.doc-0.4"="01ngbaw0lbh4dn8kk1vnv49isd7wk8gjh2qvzw6x9yk9nl46gzla";
-"ionumbers-0.3.3"="0pfs5064cya5i6h3bcypsm8fy1bas542kpy742gmbd4rdw8cbxgr";
-"ionumbers.doc-0.3.3"="1sks9qdrl5kivcgn9mgrv3f2gfifmp3icc4wjha4n1va1fqcqcma";
-"ionumbers.source-0.3.3"="1nimrr8b242h11nfxi9si1pg0wc6c0aaa0dl23hjjci89n8y89aq";
-"isomath-0.6.1"="1bzw4l364z6avihhihiprbaslnn49v1rrllf5cj0cg35r3jppz3c";
-"isomath.doc-0.6.1"="1d77wksfk5pidb24cjgak0mv1k09dqmszksrv4q997iwxkwckkna";
-"jkmath-0.1"="00nh8cf002lysvn6qiyy5mcs2n2z5ppr0x5vp1akbz0wwhkhw9h8";
-"jkmath.doc-0.1"="07n2xxfwk0krbiaphfkkfnc8mgc8iqmmmdiz0cj6s7688rlwij0h";
-"jupynotex-0.1"="0dir4hbh5sviw5spsh80cms12rppv3wfqp8cyg5fxkj65mr3akni";
-"jupynotex.doc-0.1"="0xar0qf1czdpzbjn13x2hwrby18qh6s1909nv2q24rl3nrrpzpcc";
-"karnaugh-21338"="0a8bbdd8khib2bfk4n6527d5ggx31gva1fkqbfw2jwc5194rk360";
-"karnaugh.doc-21338"="0n9jqsfn3v78flgqc6ir3w0lymh1j2kl2pcjxq4wnhzgjy8blbq7";
-"karnaugh-map-1.1"="1762fik0bi2530ws92jqfg3bh516wn9pdcyjy6wq2pr3hw33sqfb";
-"karnaugh-map.doc-1.1"="0vpa9xg98ab29lswrwh50i40q7zkkfjcg8jahay7mjbc1w7k882p";
-"karnaugh-map.source-1.1"="0f42riy86dbjcpls7ic4j9z26xqg8310l5r3n28x605jsbm3bwar";
-"karnaughmap-2.0"="01b0ndcd6vcg4y6v4zbi6cymfprv0s4vhh20hwlghh3wy5aknwvl";
-"karnaughmap.doc-2.0"="1xk80qqqpxagvwp1vfh9vgrqihakp7bkd89alb3j9bqaikgdiqdf";
-"karnaughmap.source-2.0"="11b5bjdccy4p3w65268c8im3c6bam9ql60mik8pifwfbn36bhpqd";
-"kvmap-0.3.5"="0ph45hs3x468lhrhsdwikqrw681y9zd3q0b5r088lrb8wsc5pd40";
-"kvmap.doc-0.3.5"="0n0ls3c5w662f95yam6q6rh9gv0vdyzf7rmnkd6dgz5gl1z99q1a";
-"kvmap.source-0.3.5"="0y6mcxixqyqmkk1iq0ys2i174ki4ygss62fx435lwm56xff7mvp3";
-"letterswitharrows-53709"="1d1as1lna9zhxmwvldn64wvkakcnhbr8d76f1cb9lc1s0j6gy493";
-"letterswitharrows.doc-53709"="06awkizz1i7z3g3db5ri67z2nhgccq9cwv97g63q2fbr0zwhps89";
-"letterswitharrows.source-53709"="0a1svwqw035fzrr0n1aybxwx42csdsmkqk8dmygg1nqzkhxcnmw6";
-"lie-hasse-1.0"="1bqc4gpk1f5b7afsqii6ny1xyh4zpc5347v0xv618svjh7dpyzpx";
-"lie-hasse.doc-1.0"="1jfrig40w3ac4j6y8aiwjyvsv9q8lvgvn1977f2yg12lsjdzcpyg";
-"logicproof-33254"="10b55lwrrq1aqmp9njiabqg59xdrd5g8skbcrlhs621s1999dq2g";
-"logicproof.doc-33254"="119zgxwx0q6c4ghpb30mvpdwrpr0xvk54hmj6qfpih0kxj0zp1az";
-"logicproof.source-33254"="19j00a28pz5dp29sx61dnrpqyl24sx9apf2ck334ap5sw7awnc70";
-"longdivision-1.2.0"="12cwjmn61kyzvi4p71n6sndw91x43pkcr959fpwj8wz09frva5j2";
-"longdivision.doc-1.2.0"="0vrx824jwwhq3p2p2yl2q60ssv1zlkj4ji4psypj62kfw3vnyh59";
-"lpform-36918"="033w5cd8z7r02h4r2p8lha6z81qqvky69a7aiahjpd15smss4wjp";
-"lpform.doc-36918"="0vnz4simqdsznciymkqyy0cpbnxfpkd54wdrcn5ra257a37x1f4z";
-"lplfitch-0.9"="1qjj043c943pj0pvzyhs152795zyskcrxkkmp49jxxm0hi8ww51g";
-"lplfitch.doc-0.9"="1nq554c0vjmcdb9xyprjvvvcwrkbbh8s1x0ypkzi0gqds4m4a38p";
-"lplfitch.source-0.9"="0cc04s2ndbs8j2xg4afxxyi2l8mmnxvgfaflak64v6i92n9icfg1";
-"lstbayes-48160"="1kpkr8xd1k1iinrp1ljj1wjphn0c58l8f6hci0axvxdklr02s3h3";
-"lstbayes.doc-48160"="0x288aij80j9vy6bscj3w257nj0y3z1hf0rf9yncs13jsxr8rz05";
-"lstbayes.source-48160"="1hcgcvnki1xkh4ni6jqcazl0rjbhfmm6gbgsp9n5qavdgnv7qzmk";
-"mathcommand-1.03"="1wvswr6dygg8piyrbvmd1vmdcwzy21wr4ij8xc8rl1fg3nkpwscc";
-"mathcommand.doc-1.03"="013i0qbw40n0nj6l93f6n7hqmjj4q7bc7s35imdb79r8favvwp88";
-"mathcommand.source-1.03"="138lqlcadfnydxyaqi20qzacd363avji0c4pygnc0m9xamxxxv7l";
-"mathcomp-0.1f"="0ciipbbi89n9aakg86czfmasfnx0k6rq7f8v0wkxk3zk2m441cb9";
-"mathcomp.doc-0.1f"="16q0b81y748qnyc2gycrb3jhw1i5yphmf6rpivwikzpk2nrg3ndv";
-"mathcomp.source-0.1f"="0xdivrbkhn1fh75ws54i2vxgx3xqaqkpfjir5q84vwxgmxfv4cja";
-"mathfixs-1.01"="1vvyka8kilv92hfsx8ahb200cl50kp1r4qdiaqgzkjag5kfxy1ka";
-"mathfixs.doc-1.01"="0gbh6yicv1mf0llfipqymy930zpq9jqc2ix2gfbjdh909l1y34rw";
-"mathfixs.source-1.01"="1k49pdi4kivk707i7fb2banj0qaqc5qx8zl2l8b41i6q2ir90a4i";
-"mathlig-1.0"="0pyaqwr2h9knxf1axi55vm6wr9xj15d5j5pagb2011k3b830f91b";
-"mathpartir-1.3.2"="1a934cglbiahnmqxjg2695rmp8fxlg3m19zka8ayc743ckv92prd";
-"mathpartir.doc-1.3.2"="1aw9sbhgca7hnshkd2vyzf5lrq2xql25mwp9qyishkzq9ayv7p13";
-"mathpartir.source-1.3.2"="0bn3zragwja3hh32fbrsdsswlf07a8i6qrpnv2c1c47m86xk3764";
-"mathpunctspace-1.1"="1vlbw77bqi0qlm6i6hk0kz1syjzjk41mmj9nhnsbm3l8f5fy44bp";
-"mathpunctspace.doc-1.1"="09m2w7pzcahncazlw16c0bh6v3xgnm7rqf71lpvl8p33krasaj9z";
-"matlab-prettifier-0.3"="1q7i44n15pvpc65k41nw6z8gxj0nwk39mhafnmsibxh41yyxz9ns";
-"matlab-prettifier.doc-0.3"="15x6lbj54597f8wm0vgf0yy0iwh7g7xv7cnllnay651zwg3z7h9l";
-"matlab-prettifier.source-0.3"="0vr8cll1v3hgikrng1rilqb5d3kbggcmdy92hsdnip7dr0hxc39y";
-"matrix-skeleton-1.0"="1ixn62c0jj73wjh41r5p5vazhpkh1pq5lp1hmzlch74cynw509h8";
-"matrix-skeleton.doc-1.0"="04fm0506pvrqw11lpsdpjn3386dnjmn49g7lhjhbz4ny5k42ky56";
-"mattens-1.3"="13rjfhj9im0rag45b8dlp9sxhd8c77m2qhszdxpg1myagzhqi81m";
-"mattens.doc-1.3"="037kj0fhgy66mcpdwi5hkx1gfdsczqb9hd6zdn3gfid0cm3kylsq";
-"mattens.source-1.3"="1brp2vf133py1a1vbi6rz254008pxi2q9ya6igahfbkj8mh20cqy";
-"membranecomputing-0.1"="0rr1wxfv1ry1dvv7bigcvvfv18s1pxq0nng188c5khnab25js6dc";
-"membranecomputing.doc-0.1"="1agmb82bxrzf9dxh93vd2cxjkzlyvl9h91aav29d02774xm7zqhx";
-"memorygraphs-0.1.1"="1ph43wp3h3pz5hh6dp3n6dzmmbn0fw11w3v2fjf6d07a73jqh97j";
-"memorygraphs.doc-0.1.1"="1k8gppgv5kkx7i799mwc9iclp2rv9hgdk2bwnqcyc3j3rmnpyiwa";
-"mgltex-4.2"="11xl6nw76hana2mdcq7m4h6kx6zx91apxcqkgjczcw9f7ip6m3cl";
-"mgltex.doc-4.2"="10jqlxxdp5kszxpwxyjf5mqaz6pzbp559kdzicm6qvif23cfgacx";
-"mgltex.source-4.2"="1pdlxf2qfyzm3pjjpl0wir4sr255lqnspbsvxfy7wz78aii2ik5y";
-"mhchem-52662"="0cp7dfkry418kb0md1bvkv5b7x8m5r5ygj6lnz3arym2fzmmrp7z";
-"mhchem.doc-52662"="1n1zviwdcdlg33lx8k6q3q70ccjqhk15dcbnvxrq6mh7hs5d61d6";
-"mhequ-1.7"="0r670dwmnr70dwxq4si58km2znp1dj6xy40w45q0bdiqzs5rbc8r";
-"mhequ.doc-1.7"="037is4p9k9x9my8migiiw6n5yzrb9zfkhhyjjgmh855fdnsri26r";
-"miller-1.2"="1nk31l9g231c3dk70fqph444z9x5rdjy6g7wazy4ygl3q4gfh6fj";
-"miller.doc-1.2"="1vvxnbbjn325y9s5h7qp6v2z1xy6wwppwqv6iwdak7mf47gww2gf";
-"miller.source-1.2"="0jpyvjpaqz1x5avqy1dzf22qwss7ksbp917ncmgjdxhj82jhy2d7";
-"mismath-1.8"="1c54n9sa0ksprq34f8a9k856a1nmgk1wyakdliibxgf797akwwns";
-"mismath.doc-1.8"="0xp93lv93gdd33y7g7izi92lkzs1gxaqd0wknyg35a0pxjmgpi8n";
-"mismath.source-1.8"="02qga9637ncaxggwpqnhf3720jwxg8jqqf4qfm271illi07hl2z6";
-"multiobjective-1.0"="072zpfc1achwj0b1dv8yskdcbg92a2imnmn9z492l7xxyz889n5x";
-"multiobjective.doc-1.0"="161nkl1q2kc91is8y6h2j71hnbly6hv1fjfmlhb50xypjgrv1ibs";
-"multiobjective.source-1.0"="1nps6rl8di10mr5r1hd71svlj0dxd51bk0plszk094a3r3l6z4z4";
-"natded-0.1"="1vxqyyfrmrkwyzil0a3xvlrmfzyfxdkfl10rlfzgwdwd63bb99kk";
-"natded.doc-0.1"="1anh6k76h573yci4lcw5wyf552zfqdrf75vpg19vrr3nijhj9k8v";
-"nath-15878"="13j02zq77fv4c5f45qn3hgb7v20xi0d0dpj0m2pfdc7fj74k8ib3";
-"nath.doc-15878"="1ppyrz9y2hkv6pq18w4chm90f9x9d3qscw679281si2phmnkl1mn";
-"nicematrix-5.13"="006xrx4jjayz7c8ingrhk2j1s0zd5hgjp954w29ql7bx5skrzf50";
-"nicematrix.doc-5.13"="1phqas7q2c71rbg061rn8ws46y2g6bqafsyz15imi4nxgrwjz6sm";
-"nicematrix.source-5.13"="010d2nr7zaczzv3140r4sf9ry8vij4cfjyxndvz3bxaipqnl8br9";
-"nuc-0.1"="1918fk7bh6pz1grm1655fag16i0ir67ywcx28jsggsly6641nkm9";
-"nuc.doc-0.1"="0r4345bpjdb9f5gmcdjf6zav64gab5f9i4nfql01yg7b7mhk487x";
-"nucleardata-1.1"="0rrxpz66rf6g9cp6ix4rrbjqj9s357qsbv87dhri62iy3alw5bv9";
-"nucleardata.doc-1.1"="0kfi9c6isdlf188zsk2yx38z43zjzxf8fhvl3hm2y87di2kihdax";
-"nucleardata.source-1.1"="1lai682rycff3hm954x482hzn1mq1lrik3g1fwkbm73s99nljyj1";
-"numerica-1.0.0"="14pccmir9j8vyvhky8awcp7y5rs8lc1l3bspw286lvib6k41rs0g";
-"numerica.doc-1.0.0"="1v4lpvkzxlcycphdaqy4bra0x7r04xjxkw334girhgbig34s3r4b";
-"objectz-19389"="0s93jjwcmyjd126wmf2rw3776jgq0ldk40f269cp29968q00sfn3";
-"objectz.doc-19389"="1qxqphnsgh412lizx6jij6qhnlx1d558bzd3klqf950bp2hy3cm6";
-"objectz.source-19389"="1l8afdawrrcnbpqdhjls28ncksg8lzs7g59viqygwixwplha0fb9";
-"oplotsymbl-1.4"="1x5wqngjdmc4751ci5qaivzgqynmmg00kg2clngxjqf48n4fakdd";
-"oplotsymbl.doc-1.4"="0bj6w6h4g991rfddmrxgc02090vay2h2qjx36cb0hfx55gwkmh3b";
-"ot-tableau-44889"="05pg1sn48m2h88wl2gw0lxrf7magnzz70f0ggsidjzdbmg01l7bv";
-"ot-tableau.doc-44889"="0b628crydy3flq7scsv3s6anxx3fpnjhiwq12v6yqjzdanh1f5vn";
-"oubraces-21833"="1rhavggv1c50krafvh7lwnvarh7lh59x7lwkipw24qakq7l2a6mg";
-"oubraces.doc-21833"="1bw3b54cn5dk0j4diq8qxfba0w3p0f78h4kycb2bqd2gq7258vyq";
-"perfectcut-2.3"="1hjppa3dv8a5740nr5jya445y5nb0nb2z1jlkqh386bnvgby8393";
-"perfectcut.doc-2.3"="1ly3zrrrfb3jihf02p2j5ym3m2gnr18pf2v5qg8rsj2l258xlark";
-"physconst-1.1.2"="0078ggfyyr2vh5ni05la8jaxnyxaz2jn0rlahwkw05ng1h5nwl0s";
-"physconst.doc-1.1.2"="0d10kzi278b6yf7dvm3j2nsks43jm6jfjql5jyv51l8bq5grkmr8";
-"physconst.source-1.1.2"="1qvhif2amxfqvwj6vd82f9mjgrk79crnz4sw5v19v02xzxv66fsj";
-"physics-1.3"="06nwz84201w9vky4s877fsiw4pk1kf6iq9yp1jcap7j57nb4l23j";
-"physics.doc-1.3"="09zmpxkrrv9j2ip034vqwblazl4kyprvp24k0f2k0xgc4fja2pqn";
-"physunits-1.2.0"="0fzx8c7sgd6incgwdbzyd3pb9dmdajb3qdfd3mj8sascilr0c2h4";
-"physunits.doc-1.2.0"="0ha1zp0lzx2q10m0wp492sf45pw5cfd98s9pnzn2wxx3k970agf8";
-"physunits.source-1.2.0"="00p7p4hh49i9xwnfd8y7nsgxajjcpdlxw1asyxb8q20x1w1wy2cs";
-"pinoutikz-1.1.2"="1kj24i32ql4jfhzfxyrcj0nmyyhf4ipic7zdzcz71za6njqv3gql";
-"pinoutikz.doc-1.1.2"="15farzmd27gp8ms5vck6xcjs0cx7rp47nww0shs6r0b0l99946m1";
-"pm-isomath-1.0.07"="14rjv3xkjpd5qszczmn1pqn9g70qx1xc137y3wxwi9p39rqwdfbb";
-"pm-isomath.doc-1.0.07"="19vra984m1gkmvbp2ih6nrfgcy9hqg761k0s795x1arwcl36qrc9";
-"pm-isomath.source-1.0.07"="00yi8a1a2rzrxkx4gvy7gmih48xd3pv6l43yz7hj8921n1nz3akc";
-"polexpr-0.7.5"="1wsnbcwgkn81jmrgifkhqyqxgm7bna2psk2dgscai9wfmgpj70ab";
-"polexpr.doc-0.7.5"="0ymb8l7dg6ilv2x9570kf9sy50c6j8d7vpflv7s2k99v682bk5fm";
-"prftree-1.6"="1sdb56cvlfrys3f884hg6qpv1nwd6ywfyiq8168bs78g4q2ah4by";
-"prftree.doc-1.6"="137f5nbcm6p428an3v20j5cx5djvdri12ph07czj13877pjy9ccf";
-"principia-1.2"="1ar643rfr612dx8yam9qwcqj66jqphbqf1rq7d2k2ap7m9k5y95x";
-"principia.doc-1.2"="0qya8p6arna3jqvlys3qs78pnl6q574j92z8b54668s7krja22r5";
-"proba-15878"="15d8n2ik6m5sc4vlp3k2w3h5h8h5s4agijgcnlkmklw3qv172vii";
-"proba.doc-15878"="1m2mbbn1fa616dfxkb7x8azqsvczyifygjmbblsyfkd5kl6f8dwp";
-"proba.source-15878"="0wbnfa1i6vbpbq2a4yhsvpyifiw1pirz72qasxm1nwmgfg5dndx7";
-"proof-at-the-end-51194"="1z6288wnaj3k0ql1797l6c72nrzrvg1x8py46g93q0awlihka6cs";
-"proof-at-the-end.doc-51194"="0vpjp1s66ns81qd03nqkw4782i7pl2va7w4nbngdmn38fs18l2gw";
-"proof-at-the-end.source-51194"="14d7xbxsm61f6z05442jhx47zblpc1d8yi57ns3vcbggaiv23h3q";
-"prooftrees-0.7_svn_8641"="08ijsd4gfkgczfgz3wmlyk6pb61cqdc7f36v5131xv12x6s2kd4l";
-"prooftrees.doc-0.7_svn_8641"="0ldhmf22q3m3nhxw2m1z9f19xzw753qrm0nw8hch6wzk419p29k9";
-"pseudo-1.1.3"="1yiqgp1ymhfjh2c1j8qa64bj6cq74jv6ba1wz3i6akngyvbmgqpf";
-"pseudo.doc-1.1.3"="1w8p88j2i8ngqgqv5pilbi3x9nrcjyiliwgjigk3acq0qv9vns2s";
-"pseudocode-54080"="0x2p2bq7cqajrn8s03dgikxg2nb94hk7mzmi7l911xdgdprlg6qb";
-"pseudocode.doc-54080"="1qzvdp0qmmlljahg6hqn7c67sszvjvp3v8zvg7nwam58by39l3k1";
-"pythonhighlight-43191"="1bf3jf05zyggcbz5c6hr06wd8dhf0q5m1i4i7p026s1b7dxxq1qk";
-"pythonhighlight.doc-43191"="0qw1rnyg5pawmp7hd3b0dyjzmbrlxa0hzg7bxnmvrz1akn1cas3q";
-"qsharp-0.3.1901.1401"="1lrnzvlalznyxmkwrn9nh3x2zz74bakiq09dg374js5yni36igf5";
-"qsharp.doc-0.3.1901.1401"="091kiiicfinn5cxpfhhb66j3hkmv80gsqd1b66xcz4ghxan43ywk";
-"qsharp.source-0.3.1901.1401"="13923qlhbx52x7h3v0iv6y8q0dz8g2ikvfz9m0lh9zwjcwv4mpxy";
-"rank-2-roots-1.0"="1fy1zv4yf2gqz4im40r19m1mmgagkvmfhxpzj44csasdcd2w1415";
-"rank-2-roots.doc-1.0"="0mrj96c11vrp0b6df17fkiwnbnxpis3rwk5ji8wwa1klg5han5kf";
-"rec-thy-3.7"="1pcs8j22l18pnfk1a0yyply6w6fs1rb5jxbz1i1cp42nhdrih6r1";
-"rec-thy.doc-3.7"="1bn4hjvfyyyi4ry9lzh70s1s8vnkh49xm439gy23mkz1ij8qa95h";
-"rest-api-1.4"="04y8xai39hlhj6y78cxq2fqy7fis7mbpwzyk4jmgqd3365738615";
-"rest-api.doc-1.4"="1w33inmwr66p81g66zxqiqccks965060034sx8rmjnjfgwqqgcgn";
-"rest-api.source-1.4"="06c06pbqa8m58r0lcr2xc6zahf6gjdc1r2zfgs3q1b6czy6rns34";
-"revquantum-0.11"="00mcqs4zd33larynscqza6p18a8payrgarwbgdsnnvaqf3c2rjnf";
-"revquantum.doc-0.11"="1nbs15bl80yl7hrav0awm43q4brdfqm83bpyf2zg00yz5pjm1497";
-"revquantum.source-0.11"="0dqxvcd5yinnsal4wydb5ybsldsax18zp016p2yzk212rk61rikd";
-"ribbonproofs-1.0"="1f7j2v5233fvjzlrlfliy18gy890mlr2n2fbqfhh88f2w3z4nw2b";
-"ribbonproofs.doc-1.0"="0gqbakw5jdamy0q4rx8y19xkdnb7v5arpkjmmsxhvv12pk2kb3d3";
-"rmathbr-1.1.1"="1jlafpdjryj0sic2zpn5f90754ydnfbb74x8b3q19klm3n20bsr2";
-"rmathbr.doc-1.1.1"="1nfcd9ypyscqv3ghlaljrnj4rm2md5h5k6yl173n15zrr56sxkfd";
-"rmathbr.source-1.1.1"="08mzgxkwk6frzgd2hq8fz30dliwrkrk23xmqy9p0qjmq9vi7vbf9";
-"sankey-3.0"="1f336mia2nr3sz3xcr878ymm4anyja94lmglz86skvl75jmh8p83";
-"sankey.doc-3.0"="0yb8sm559fqskd06lgkn3zc8zm24p9869f9d1gimfsk373hb6mjf";
-"sankey.source-3.0"="1q73vwvc2f6a820fixyg35mw0wp8z649zn8p6k4bd5hfzg7a3s7j";
-"sasnrdisplay-0.95"="0qhvx1nc7v6l2gq8c3av4sqsjlzm1raw6cmrf2lls7dg4dpz60pm";
-"sasnrdisplay.doc-0.95"="10f3cr5vfdgb7g0yw3pjqdfiaciwb81m2gssn0in1hv8izy09krn";
-"sciposter-1.18"="1pihppjlynvdlsin8brrhl2mg2jif3fa1mvsard686m4ar6id25f";
-"sciposter.doc-1.18"="0cpyz5n70hsp5hjdja3pl1lal1i2akn7xawwcp983mqfgnp8jm7c";
-"sclang-prettifier-0.1"="164sdqd7msilg6jk1ivjzvv49amji4hb5r6wg51vcxmg069apcr5";
-"sclang-prettifier.doc-0.1"="07s0y5dfmp26j0ayz2bhksdybpqb4cn439cvyifxillkq277dqk2";
-"sclang-prettifier.source-0.1"="1y67y73f2whg663hw56fwrn6jhhpdpm81w32kzwc7r6sk79bnq3a";
-"scratchx-1.1"="1rhqiix6dmdf9i8wan5xh0sw9ynawzb080b4izlp06d8vkfzx6rb";
-"scratchx.doc-1.1"="1p263dcjk8mjfxzgppkbkh7l2p89kavdk6llkffkj0z8gvg8xaiy";
-"sesamanuel-0.6"="1a6673xpr0q8v7wr1rrq3n6acydsfsc3q6kmj0qg6hm7lzqc1f2r";
-"sesamanuel.doc-0.6"="164hkrwdgpq5azhr9z2ganiwhzqxfaljm89igzprgcg23cy0l3vh";
-"sesamanuel.source-0.6"="0n1akz8757l5k2rv188rnqd90dkmy3xppzcfwahiy22p4bzaw2aq";
-"sfg-0.91"="0ldw6c8aqqd7m4ahziqv857zkjk3ap12xnnl5k43dcg8n7apb3ix";
-"sfg.doc-0.91"="1d627ks3av63b142f8kd7g0fi1f4xzq0yg219fj8qxja4mm5jrv6";
-"shuffle-1.0"="0laiw8v6izp53c8y0jf4k1nb8brvs36gd937nz2i2cvnpghz98if";
-"shuffle.doc-1.0"="1wd46l86h8vlxpasvhnvjimsfrhrbs56i767v2h7bdl8yp751ycl";
-"shuffle.source-1.0"="13qz2jc0f084acxdsf99fj22kbsjkr6i3y7pqzh1g2jd4d8bbw8m";
-"simplebnf-0.2.0"="0jjymrg2vs6jibfg6k21ckcznzf4ga0zqcvwwghyaqcxbmq7sh91";
-"simplebnf.doc-0.2.0"="05nkaf2p60a7k94vhqs71d75gl5aljyddlf1yjrbdigfmpsyagja";
-"simpler-wick-1.0.0"="0lm22wdxiwasv4igfsyjfi338qc7m985da7a9a6q8cm63hks2alm";
-"simpler-wick.doc-1.0.0"="18hmx8b6zpsc98mmjvimdayqpkffwjjch4sjajbz4csjpza7nl98";
-"simplewick-1.2a"="07rzphj6ffla4qz9pa31xnn25d420lvsnmgj7l78ryxai5amdfvw";
-"simplewick.doc-1.2a"="1ch7yqh3bv2y6282cgvqzm4pf5hgpfvlmpg66zcp44wnkq1sw67d";
-"simplewick.source-1.2a"="070f0zrnrf2sh0dx5dlbz6072b76f8iw03pvywhyryfgghfdfv7d";
-"siunitx-2.8c"="0dz02vigfl2k2l924kcfb912rf91fb054px2vxms3l2c3niq5wld";
-"siunitx.doc-2.8c"="1ds3xr22sn6h9754xczdl1jajcjl3g4cfhc73sq5sxbmbcqsmck9";
-"siunitx.source-2.8c"="0v1zxiylg0hzsww3n1d2p28qb0xslbvnfpz8yh4hjsnb6qzr5prw";
-"skmath-0.5a"="144iwn9hv4d71420878y7dzygmyyyr2l12gsqrbb44mdal68q58p";
-"skmath.doc-0.5a"="0an8w64z7dvbxgagga33zar0m2l44327q4lpz59n75g7c6qswnv5";
-"skmath.source-0.5a"="0finxgy2sj5wpzmjh5zfcq9l3dzka1mlffbgmhzp7yk57rrz9lr4";
-"spalign-42225"="0wy2kliv3mrcqvandk3qbbqjbri6xq69d5jsi80l7qdiij86z3g2";
-"spalign.doc-42225"="0jp34h19q4588rli6k0v5kg47j6i1gjpjgk772fkb7l0f5wln7k3";
-"spalign.source-42225"="02qzd21qzb8s2jsip2fr1jgf11xd7xmiyi7fv0s9ylyfr259c5b1";
-"stanli-3.0"="05mq6zhs6x5qjqk58gwws9lw3p876bd1f8a5c2jvb2azjl7d9r4f";
-"stanli.doc-3.0"="091knxhx7jsjiv4ip0z2jbazvv3xmbvandbraxbipp4zqqakb8bj";
-"statex-1.6"="11qpdrcszbsrasbasmk6h9wg5r2a11pm116i16h7mvw73vjaq76f";
-"statex.doc-1.6"="0dkb7c7wavn3qgndl0g8jpkx1qr00c3iwp6d0r72znggl4cznhsd";
-"statex2-2.1"="1949zszdv000dw1dx1jjznbd79q73fjiqnkq2axdbxffh47ls1dp";
-"statex2.doc-2.1"="0fkzbs76yfyygscazn4dgphs8g1byzg9n3fbdg6pizzncirbgh6c";
-"statistics-2.2"="11szmc6f380si38il9vw78n30yyfmmvgxpp8f8p8kzb373d3hs9f";
-"statistics.doc-2.2"="0z8mx2gar2fn97n3x01dw23l7r4ckqwgfksgmfdj7vhgs51wsv16";
-"statistics.source-2.2"="1dkz9vdcnadd1xd4k9i37a3mpn1bwm4zf3c6bg6rvzxaarrrci4m";
-"statistik-0.03"="1c0469cxfvyg5jl9q1pyzras6fk3f6zbgigaby0iav34imhg7zy6";
-"statistik.doc-0.03"="0fih9k7mpzg25h56x6zzdbdnhybd25b7hlv0pdbnlfb73s7h4mcv";
-"statistik.source-0.03"="0i68y5ynymx339zgxc9r8dgcflm5468gd6cwn9ngpnjvqqbas3kf";
-"statmath-0.1"="0imcx9nx9h5fi53nwg82n2d9s21vlngdab7znyg1z5pdll0df043";
-"statmath.doc-0.1"="10mxwgvjjnk2ci05ikml35q64c82c7dv7rjwajhk03gq8ljq939j";
-"statmath.source-0.1"="1himjc8cn3j5jr073qpp4mfyi2cpr0czf7iykr0w6b7722kkqdh1";
-"steinmetz-1.0"="0g9ll1hsf82wll1ng5lc2v6il3l6pdy3dppz7k7piqqmifzc8ifz";
-"steinmetz.doc-1.0"="0gyyqmllgp6dg2g4nh5q5ycnixlyzc6xfmi3szypmr1rai1dvx2s";
-"steinmetz.source-1.0"="07fj431nraf7f9qcmm5bvk03cblmj15xcsbnhgish4rxqbf7clsj";
-"structmech.doc-1.0"="1s384frn43m2vv0cqf9lm7vkg6911pj5v8d6h5zg9didfgv8pc8z";
-"struktex-2.3c-0-g7d3fc5b"="0qkfh53rhy29zapn4zr6n14nmximfyv8rbgxm16qq3l6mid5jnyc";
-"struktex.doc-2.3c-0-g7d3fc5b"="1nbbqh3g42qvrk478q2v6snl1lbmfjnb07jhx6z53yk87pna8gmb";
-"struktex.source-2.3c-0-g7d3fc5b"="0j3bprncnkp7iar2dh46bqr3v9zdvkk9c2w9kgj523bcyzw48zyx";
-"substances-0.2a"="13nl4xc0spsg4bq3ld0fv0612kac2z017zp8hwck2d8413jwkj8y";
-"substances.doc-0.2a"="0xbrs7qpbs5314j79nzcv408ghhayqxj2n0nfify6isxh85r1ks5";
-"subsupscripts-1.0"="14v5a89iwm2ykjsm3jxgbqsm5nba444yh8mzqf23s23z7fmcmsqb";
-"subsupscripts.doc-1.0"="10swcywyb0jdsjhm0cybvmyc9g2ksxq60bqaqnp23kfxp39g9rq2";
-"subtext-1.1"="030f7sq37qjn99l1z6nx7qbivhczpzhjm7drxhhhsssw4n3mci7k";
-"subtext.doc-1.1"="1m6zyy09a3193w0p91y8g66n8bnm80awzg2g8l195n4p41l8vnkw";
-"susy-19440"="06q7nw6bh9dkknj1jzvy1wljh9vn49z7mbhr5d0ydv10mp9y9zlv";
-"susy.doc-19440"="0dsr3yd5v6i240f7fgpbdlp0dig4dl0376ssd7nbg86scl63k9iy";
-"syllogism-1.2"="01x5kjyfm5ksqig5h2b8sgmn05ws0a65idv1xh5l709yp2i35120";
-"syllogism.doc-1.2"="1zqljwv03f755lzc9fhps5xh2dy6r0jdsvp6a21ka11kqq696vjw";
-"sympytexpackage-0.3"="0d77xd1xl9wc6qbd335kvhq8gbvvqzgqxblhcmyd5khhg3azk6sk";
-"sympytexpackage.doc-0.3"="1y743lffzk65wl5nwi490wnmf4xaxcnkpicmhadcvjcadvhrnlxn";
-"sympytexpackage.source-0.3"="0q3cl06b2mcpn5an1m7c68c4c0swmgacj3afqb38984dcvap5abv";
-"synproof-1.0"="01bx52ckyg4abigyzfcxi83jqdkczvsj9b80rznqz8vm9yrbv951";
-"synproof.doc-1.0"="1kvd3vvj6yx1bfqbi858qglc31dx03ish49q0lai0mp1814n6fqh";
-"t-angles-15878"="1p1h0gz1k4lr7rmadhdgb7l3gp55w12m3p88hy9d4d0ryzld299q";
-"t-angles.doc-15878"="1n01pg82p0yz0b7ph82k5ha7a9j0a4hc0489xq9pf4kbizh7ap4d";
-"tablor-4.07-g"="15xinskbqjj1dmi1fpvb6slg8kk3g66dm70z9f7dx8bzb1v65zwz";
-"tablor.doc-4.07-g"="0lmi8mn5k7b5i0n7bqhagjkkzs2niy9852r8r0vv2c8qfbpm4hpm";
-"tensind-1.1"="05vgqn5wcynyp8gy80icnkrdrgb0wsr3h0db033yx4yk3c8lhwaf";
-"tensind.doc-1.1"="1vns4k813ffccps5vrrpfmb7rm4fmfs8zgs7cnw2hqg08dmzijfn";
-"tensor-2.1"="1lw3dxk7ar07d4mb02rvv5r2zdkx8pz0w3dzf9s2pa2slbjx5dlx";
-"tensor.doc-2.1"="17xg416ccniiwvq0schcmp53a9hdxvds2pfn6q1q5xw78r983r62";
-"tensor.source-2.1"="1xh8fk3z37wc0jhz8jhz12d35xq6a8fsmn64ga4iv7pi1lhvaagq";
-"tex-ewd-15878"="1pmf17bxw6i4a9pfi32fjk0hd3p44kw2scwmr7p38320r6dv7srk";
-"tex-ewd.doc-15878"="0ss7nljpn8k3cz3av5qanc966q90v3qj9qy0akmdzbiy7q8ml7na";
-"textgreek-0.7"="0r7jcv38749xndr6sigy8zw96kwqw63k4m33c09hikawf2728jzd";
-"textgreek.doc-0.7"="12pwr5b8269hrwgpr9g4chw273wv81cfa52wvp3nhkd2cvbhfcp4";
-"textgreek.source-0.7"="0wq69l55462snrkpbpnlg03mrn2yxvibw38lkplgfc65gzaa07sw";
-"textopo-1.5"="10g5i5mg9898q091w9svm7gk4hgd6dja3dwy5dwc7s78pv0qcd68";
-"textopo.doc-1.5"="0r94ivbqmvs9lyw1ipwzcb4f0v9npvyfll7r8c9g627ikk9fmpa4";
-"textopo.source-1.5"="19p7sgz34dkvjqkld38x8li539kx140w1nj9l3ai5chilxz4lvy1";
-"thmbox-15878"="16c6p3n4zc2726adj8z131h03gbzyhmh5bj8hzc286p96131swdw";
-"thmbox.doc-15878"="15mkfzmy0141k5wgspngbwnnldf0i1rvbmq2bkzcpb72v9vcj8fd";
-"thmbox.source-15878"="0lv5mr23wwhig6r9fyy7rlv2cqxlr35y3g89i938w35s9q25xx08";
-"turnstile-1.0"="1br0ny72qsv5fpfw4x0v7q3dqy2jgicyd97ibzpxc04mp967njjr";
-"turnstile.doc-1.0"="1iv8ysamcqzc7lavhskf8kwi29jn9xcda0am0ak9s1c7nz7pb3ly";
-"turnstile.source-1.0"="0aadq0w193hl3rlb1d8xv60yy0fam4aprz4j96dphnanbb9g27ll";
-"ulqda-1.1"="1mpjwq43dj2am9llszy1yzz2jbhdskf14ki881j6q6h5zfwwacdv";
-"ulqda.doc-1.1"="0kkxa9sv2xg6d31bj00wszkchkk6raj2pvqji930098jray3zdc7";
-"ulqda.source-1.1"="1gb2r4zzr3q2kfigrb4j528jmr5paj38swhnp1dlb2dqr8y1szfc";
-"unitsdef-0.2"="1ck9awf9mzjhq0x4c3cpan79imh7ijpffii90955jc78h3bhcwkg";
-"unitsdef.doc-0.2"="15svjszg72axskaa3yg91gvh9y01s1nh5x6nhwqbr9mz3bn3npck";
-"unitsdef.source-0.2"="07v6xpwkag6fp8p331gcfbb0p1ca36rvrs9kbkayc986k6nds688";
-"venn-15878"="0kfq2wnjsbvk0ciwrm4923fpr7whmzyv240r4zps41vzpc4mykiy";
-"venn.doc-15878"="0izj8qsnxj9jgslwzz37xwr9n812y3cxmfs52yd7p4638qid50im";
-"witharrows-2.6c"="0zvrvhyn2c1s8h9a74g0dhnipbpkgzwld3l6ara2zfisx8rhs0dp";
-"witharrows.doc-2.6c"="18nxizvzlfhhsili06h19x1p2jy0dy4h1q6zaap3b013sipljhii";
-"witharrows.source-2.6c"="1815k8n2m6bsdw4ks9az3af4mcazqgxx1mi2mmrp3dypjkysa17x";
-"xymtex-5.06"="01432q9vnzbxzli9bdkdsd7ccvw3ksc76cs3568lsr35bkq1yy1n";
-"xymtex.doc-5.06"="0bx00qsgnndw8kq59nbihlzlnwvdf6gncdl3ljckcdn07i4mhl7i";
-"xymtex.source-5.06"="0gxi985kgkfyybg90f14y2w068ysy5vk4irc8lfvdgil3y8jwi4l";
-"yhmath-1.6"="02p5rzh9n92pjznrqia9b6jnlwmn14189m7fiabvinjakaxmwxwn";
-"yhmath.doc-1.6"="024p61b5i55m6n8fmk4j9r3q7dprp3lcyzkhag0wch6vgjkrajzq";
-"yhmath.source-1.6"="0y74zwc1pkw3dp56jnzzy4zx1ilw5qx9msm1bf55mvdfc045a17s";
-"youngtab-1.1"="18h6a4b4psbm0hjxq2xnk4bkmsa1wd2fvarrzfkhcj01hgn8bz17";
-"youngtab.doc-1.1"="00jkdw02iary6s5szh7hf4qjlr7r8y9lfmvlnrpqkhh6pdhsy3jh";
-"youngtab.source-1.1"="1hjqkj12jx9imfqm7y1mqdvp1knhf69kbixr88varbh09d6r9p66";
-"yquant-0.4"="1ifp06l401fvbmlsdqwvywp54jq8iaqmx946bk6gdlx1bs3ywryq";
-"yquant.doc-0.4"="1xq6m3n0cic2pg7jh694z55qms61sbc754yrqv43nx4gqp9hpfa9";
-"ytableau-1.3"="0265mnd3m8dsz89qgalc92jx3h7201617wdxym8nfj7xymn7rq3q";
-"ytableau.doc-1.3"="1lw3llx9jnkil3ji4jv3h0cvb2lgmlqg68mw9jcmi1ymk1qgrkzp";
-"ytableau.source-1.3"="1fd8qxvrx8hmxkjil4f0ry86zdn25220xrp7w4j258nv1j7b2y8x";
-"automata-0.3"="0jqsvxn561fwz44gd0rwxyjwh1nanpmfsvd3kslw87h54hzlizf0";
-"automata.doc-0.3"="1w428b0wyxf0v7bf1yr9dfm4x8q3xas9fgv1q9sxbhgri8daj8px";
-"bbcard-19440"="0snfsyslxnz84a6lgwi21rg0f5vbs6h8yfyywih18vmlbjpba3zx";
-"bbcard.doc-19440"="0rbx7mpns7pgidx3g5pi0r7d638lwykjw0inpldb5g3dz1ipnpvc";
-"blockdraw_mp-15878"="11977c2f4100xfbrs5vcwz3vbijdvybq80zmfansdmxc0w3w6sq6";
-"blockdraw_mp.doc-15878"="1qb23f08wxmw3miys4sn89h48imzcqz720xfs3ihnbk2v75q3rd0";
-"bpolynomial-0.5"="16rzvfjwc5lrr6fvxjwp383ayi4pwhqk4x6k9blqzn0c0cakqmvc";
-"bpolynomial.doc-0.5"="08d7was7ly4wgy04np72f9pn4kz20hgfsprvzlpyp2rfxvixphfc";
-"cmarrows-0.9"="19r3r86vdlkjgx98dsf8c3crq14p8ljdfq6cijqqsvj6p4p6nfy6";
-"cmarrows.doc-0.9"="0svllk1cvjn1mw68yfhbd1na6grp4hlqbybqnmw7igw8ilpshl1b";
-"drv-0.97"="10dqig3wmp340m9h3n4yl6scg1p2a7ccazsqp7p8a4fkfw0cziiz";
-"drv.doc-0.97"="04kgfqhilxpcc0h6rhpw55s1j14wsb5v8b6ykq7ajmacrpmyi50h";
-"dviincl-1.00"="1qb2cl5jbgzjfgwqnvnfbbrbzxi4m64lajvz6pyybnrwv4bax0km";
-"dviincl.doc-1.00"="046c2cl9azgfg7y2022lj8x7yw8kg2pgjdixxk5989ai850k2j9n";
-"emp-23483"="13iaipg8n1njzbnd8s622irizd4cc1cbkyc735mplvwq10q2jxqq";
-"emp.doc-23483"="148l1xq42avnf5gz1sqjcdprnkcbgsii3fm1jiamx18175zygsdc";
-"emp.source-23483"="023jc6v2l580x2d480x11z6rlknjjvx8g3qkcrvdi778h5m5bb94";
-"epsincl-0.2"="0cmjwns5hnlqi1rk6py4s07kbgflm046pycpr1lr5c1dacmiycxj";
-"epsincl.doc-0.2"="06cyyhnphdxigpq4bkg28rx8h9kgmb3ywpbdak6v6ivvlksxgnaa";
-"expressg-1.5"="1hcrzh5xhvzhf7d9gfqfxj7bi89ds5rxa8m6al12mdr5qpffzzkb";
-"expressg.doc-1.5"="0kla1swvhd43xcvns17wlcvq33wvjidhkqnd4i587x9mdn69s8bv";
-"expressg.source-1.5"="07w45g2nbldwnbrbrmdq9pwi3xbi6cl2mqxaiyk78jfgr033rmqf";
-"exteps-0.41"="1pmipr1444l1yai8d9hhrncvimzb5scn80pqij2g90lz160962r0";
-"exteps.doc-0.41"="0ymkwhbl6r64pxhr95wdw10dvn6q95mkz1pwa1nb42sdcljizrsg";
-"featpost-0.8.8"="1p8xb6kmfhhqvxcmgf4bkw60p1py2s1pyn54700zs8vlkbxlqy6f";
-"featpost.doc-0.8.8"="1hy7n0jfdidj3an25j0m5bbv2ks40iviwzwijlk6qqdll0k26z33";
-"feynmf-1.08"="14bl9c8yz1z596281kysyyjbf727pi6mdnwag6gfqs1nsinq0a2i";
-"feynmf.doc-1.08"="1ql099wrlddb4fyfrsirx0vnhcbh0wgwp9yixhvgxfk5pbah8v8n";
-"feynmf.source-1.08"="0f9ghmp0hcmzadsfljfq7pinn69251dwhcdk4n62jrd07qdgqsyl";
-"feynmp-auto-1.1"="1yhvcxiq6ajjmlsvnznzvp35sap1qsnj54zv70dwpl29rkrgrmsp";
-"feynmp-auto.doc-1.1"="1y1pwlplkz2z7lqz84ay7ch1lw4plh4n69isqzsvhilnr31fkf0a";
-"feynmp-auto.source-1.1"="0ja5yqs9szyk4s2mk9cbjf6p98dagwk7pycma84y48kinkl96s0s";
-"fiziko-0.1.3"="1raicsznsws4rykrl9azi9lysb107cfbff6sqpp53y4m326xvn1f";
-"fiziko.doc-0.1.3"="0hfw1l9scfmr5k6jka8v5kajxqzcvdp31j65w3p9dsz9xvlslgc4";
-"garrigues-15878"="0qr2ak20416p5zlavcbihxkjvifzwj3cf03ipsnxlp4a0r3m0hgy";
-"garrigues.doc-15878"="03cx077kcvny07dkg9dpgvdb5vh4z7v0c80rn82vqj1l3i0qrxkn";
-"gmp-1.0"="1c98y5fhnq5w9b6kkpnrag364269s90kccgbqwr33bn9ixhsf0dq";
-"gmp.doc-1.0"="0wir24czbym76b9fcbzd29m0749lbh26n44yfl48k5pxy6pkqjcb";
-"gmp.source-1.0"="1qg01aaf4s939ixzl7wdariaxxg1d5z4s76cz50rpw0p7rgdqbay";
-"latexmp-1.2.1"="03rgabck8mcxnbg1avl638nhxdk6smvyd21v2ns61hx3jn09cpv5";
-"latexmp.doc-1.2.1"="1ad9axqv8h2s2xckrdxcnl8kazpgijrgpxmbwsb3h0hqb3liznsg";
-"mcf2graph-4.62"="167nj1q4kx3lpf75pv3ll8gb1zcml5xsggvsjg4l629jh43c7fs5";
-"mcf2graph.doc-4.62"="0znry4sigsfahr2qd92njgz39yg0ni8vmc5yryv89gfsdalz6lrx";
-"metago-0.9"="0km18bf69rf3rs42b0azc7i8bypy14201vk13yf5ahsypcjcgqns";
-"metago.doc-0.9"="1bx240q75pq9v23gz82i26vrp7z4cb00f9nb3cvvknbndk8y7hy2";
-"metaobj-0.93"="07p2r8975ps1ricqralyw2qz1zq5lmaaf50xqd68qwxmgrs3541z";
-"metaobj.doc-0.93"="17kqa3h13p9vba6sa5s29v29gkm0zbm5wngb0zx1lxwkpkgqaqv5";
-"metaplot-0.91"="01blkf01b89a2f1c7fw6dbp49iw9qw94krv1hiqg7ckkj8j06sp8";
-"metaplot.doc-0.91"="1fm27sy0zz3ppzz95bngipkq4m498g409igx4xcbkmqaghci1pin";
-"metapost-colorbrewer-48753"="154yj9pmwlmdq91kw5xllqah7pkccayv8r1zgvlqgk472x66zrzf";
-"metapost-colorbrewer.doc-48753"="1y0ml5ldridhcg8k811dqq2dh4xsx48cwfkliygq0q1kkl34vdag";
-"metauml-0.2.6"="064cyc53izb7fqc6xfk7pygr2k7wqivx29rkxzrb7sakafwmnkq4";
-"metauml.doc-0.2.6"="10n2xhjfysqihmkrzgcg96vsh0mh76h1jjcxx2nghydihjdggzjr";
-"mfpic-1.10"="1r8xq6npgnlvcyimi0xlqmqa140p94m5x832x0nfm9d550l1zrgi";
-"mfpic.doc-1.10"="07h8j6afl5sd7hz4gw0rkix1c39vdkg8376jgi7ypwvk1xr0wgp0";
-"mfpic.source-1.10"="0ynnc1p2xihrwzfyg46dljbc2f28l152la8f2z2y5zfvd08ir49k";
-"mfpic4ode-0.4"="0jdqbdi2gqb1v4cqahwss1rj44iw0753cq262j8zmaarski351a0";
-"mfpic4ode.doc-0.4"="0sbsb9lysz6hysrpf9dfgm2zn5qcsv7aaf5llmy9kan0m4h84afm";
-"mfpic4ode.source-0.4"="0iya4y3msmyq468zj2msq93xpa01044kmnv4dspz1fmh0324iklm";
-"mp3d-1.34"="18wgwwvh2vj1adbvbl1q6lh0wy0cynfvrx6cgq0m5nqps7b3idra";
-"mp3d.doc-1.34"="032ywwjrv21ypnlidvn95dcnq179pdiail86s4nxxllkjrryc2db";
-"mparrows-0.1"="1hmbpfw1wn13zp8dksnlc86vb19zs0dbwx9hy0sbiyfmb7hidznc";
-"mparrows.doc-0.1"="0ly0sw1c6i3k5nh26a260qw27x6rmv5p2zs11yh5076ziwdxnnlj";
-"mpattern-15878"="045sji1qqwalvmiinqkfm3x4rk2jc7m9nya48brcc0rc5icq7xqn";
-"mpattern.doc-15878"="05b9pr86yy3hl14jymk4g4mf6f5v85b4nv2bc68m02dflvm4wnsj";
-"mpcolornames-0.20"="0bg59x762rfsl3whzqdpajakjnnx5jbh55m73dw23id1g7cs5rsx";
-"mpcolornames.doc-0.20"="1n78abrsj5xj1gd2psgph7x4dm8nscvwmlp6ijz5p6xgphgqs5bf";
-"mpcolornames.source-0.20"="0q74zsx3ni8bzl0k1iwrr19k7f9vkwqfm0bp24m91wlzvh4vlk7r";
-"mpgraphics-0.3"="0ymwcn16n44y47ngdsyb0vvfp9vjnwixhxk67z6ni5d19f23jqli";
-"mpgraphics.doc-0.3"="0q04yj9j9f9j9rndqn9k95jwjm41g1rf5raqlrr1cn14bax0lr4p";
-"mpgraphics.source-0.3"="1hacfhb2dbflvmg0c1lif1hmhxkj3g6j1mdlb3wm43zczgaavnmm";
-"mptrees-17.06"="0cvlsframcnv6i7k7pa2pia8bdl7r8q50dr07p3jw6p5ym8ckc59";
-"mptrees.doc-17.06"="0d1pp6zgq75a1844b6rrkcldfr03pfjl6c9g26f2xbv5np3rpdxp";
-"piechartmp-0.3.0"="1sl8mz26cglbsqmpd8qz0l9yycxgcimi0yhkgnc04n2iik1xc6b3";
-"piechartmp.doc-0.3.0"="0g8sh91ki495mqv7zxxz2q40bk9dl150a9hi7yv0kbpiy45h3af4";
-"repere-19.06"="04y1qz2l2pa3qcmid8s97mp86rpwy4qxjkakhvqdkq6lvgfv6714";
-"repere.doc-19.06"="1mgmfdib0bylyxya3fzpwi53cpqhc1gir6xlva05fmsli2jslzjx";
-"roex-45818"="06mry55hqrakkc7yb7b174cx45n0frk3isxw96p4v77n9pyvlffk";
-"roex.source-45818"="0fwcb1fgz4kxbgcqm34s5glswj43wzg5j56ak5an39lsw0wirs94";
-"roundrect-2.2"="1xjfigxkgcszkcja58jd2w1rhhnccsl665p0k20lssb97wmdzjxg";
-"roundrect.doc-2.2"="0sg1ck97k8pbg2fjf99mhpvd251plphr5pk1dywmjniy9vmhv1ih";
-"roundrect.source-2.2"="02kk3h77drvkqanc04bjlfzg0scprcs78z3m2zf8gs6q8w95k7pv";
-"shapes-1.1"="0ww9akd1cf6nr9jk00qrjc8j0d9ryf7f8hc5ywmnz1q1z6mk1fqd";
-"shapes.doc-1.1"="0qh721vhyny3xmkwiaif3gdmk2bhy67mvyfkc4hxrba8lddnkfqm";
-"shapes.source-1.1"="0g3xfni1lmwdkl2jmprnhl3yxdrmilr6nb59kvznwph10h1c7iqd";
-"slideshow-1.0"="1v39pb9qdivrj26hpjbysg3hbdxfd247a346s5gdffraymiy9lcl";
-"slideshow.doc-1.0"="1s40c102kkaa24w05lmlg1kw8fwlfnd5vwbfqlrf4y8807izbj4s";
-"splines-0.2"="1dynq4y6crzmnn7wcana8klczvzzd2gkya41qpy9w6nxwa2b6kk5";
-"splines.doc-0.2"="0lyg56rnhrq620f083bayssdm36h6wl05d8wld67lf42056kxy8j";
-"splines.source-0.2"="05b9dwykc91q4d7xmvq5hg6vznsy4axpi4w6awr6l6qrrqh6wz71";
-"suanpan-15878"="18nzb8qbs7q233f68983q6988inwc0fm79clnpfpr37z2p7im95v";
-"suanpan.doc-15878"="0xria0g6qzx528dgwb2q23l5iqjzj8xix1215ciz5kmrp2h4fh7n";
-"textpath-1.6"="12f8qn2ncw0drx5r48ddb0xcc6fdm7jpmv5i1n0ihfcqaqa1l8xb";
-"textpath.doc-1.6"="0qhyflskr978qp01apai5r3qjhsj5q4mrvwck60jr79yasxa109k";
-"threeddice-1.0"="1r5cssaj6qxv17n04pgvib12a7b7fnxfk3qbf87mhs1xpxsh6v1s";
-"threeddice.doc-1.0"="0w7f2dfy6sbircp8dbw8s28s4bxbqnmz469c71v3qcaw6hgw3y2y";
-"abc-2.0b"="0fxnxavk76gayahflpa8f61j63x9y6aym7gqnmn6xfgggyab4qmd";
-"abc.doc-2.0b"="0ipxihm9jkb5dvlrk217275p7r6amnkbh352k07s7k7i7rjg9pmd";
-"abc.source-2.0b"="0461ci1zg2wq3f9qypwkxmyi0rciv8p2zk9rcajs0591fwz3drj5";
-"autosp.doc-58211"="16szmbffp9pwzv7zq3l4yvnsfk4m7w57wib7pqpgv1v5fzhlaahs";
-"bagpipe-3.02"="0i3f9f7a38vcsypmf0yv2cdsb1c8n3qin4n8ac73gwdknhhibxjd";
-"bagpipe.doc-3.02"="0fagwknqzl3k6vc2x9axng5zljhc4jhlqd1x59cjkbrwp8xvf8kf";
-"chordbars-1.1"="0n7ycv6wkkd4nr7d6w55375c0ym1pinqjyxx92dwllkmi5w2wr1w";
-"chordbars.doc-1.1"="1hg3kzyyw3ra6qqf9fh2rvv5rn2jaglzjvf10hwkv84a21hlfvq9";
-"chordbox-1.0"="09sghgyq6mv3w0m1vlcf82vjbdkb00gpiqr6iwlimpqjrv09bp3l";
-"chordbox.doc-1.0"="1fykwcz8d0ja7f5px60qf7pfzfcw447mrfpbq8awymr1ilwgmz05";
-"ddphonism-0.2"="09s324nj6g8nlib9wilpy01prixrw1ilwlvl638hgv5rxsspza5y";
-"ddphonism.doc-0.2"="0iirifr55s86nm5512ii0qm8lm4zy3jbrbk333hw27y8m4v9qd4i";
-"figbas-1.0.3"="1bgpchwgj10609ld6i4my2b6ynzlhqrfqi10g7pbqjaypyzbjs6h";
-"figbas.doc-1.0.3"="0ncmqsdvhssd1v77m0jhx48fk6ssxq5yggd29dd7k3jrypaf3bck";
-"gchords-1.20"="130b2svqilpj14jl5slw11b9dqhq1nvdph6y3qcq71pgng5lhjjy";
-"gchords.doc-1.20"="10mbr14bjxcl4p42r0zsqag5sg8yzp1mpi0s7fq7i9197kg8i77b";
-"gregoriotex-6.0.0"="1z3az5in2izkai2bf627zj5966ypv1z9z9510ynallfi5q6yah49";
-"gregoriotex.doc-6.0.0"="15qh7jfz42bj450zngw556z57dzq99cfsna5008yymgqsyvy5jxl";
-"gregoriotex.source-6.0.0"="0p6xm22hr6ka4jm9zrg4yifsc4125g22n4x9zjvmarbxixj04573";
-"gtrcrd-1.1"="095v007lhv0yyni3cqvc14iv9jqi0aqfmlr0zgxh45xfpqbsglnv";
-"gtrcrd.doc-1.1"="1ivw62rpgfyxmlrzvjvmhf4hxfrlgskzq3qr0p6g48ilv3is7sb5";
-"guitar-1.6"="1cjrmz39cpwj6kfq3r9868prd5bx0ppsxdydc7327247n4f270qg";
-"guitar.doc-1.6"="0gqck2vifa7r4wb9q63kw7mp8b33hza1jjyn3kighk2rrjbrg3ah";
-"guitar.source-1.6"="1pfcf4r1vwv80zc1p8fjvf8nqadiijsl8fjaxjanjgzl3zyy25i1";
-"guitarchordschemes-0.7"="0jhqamb3lmpzplvxwy7aydg6sv81b4xl81ss5q1nk66lxki714a1";
-"guitarchordschemes.doc-0.7"="0939llps22ir6bfxqjcbr22kvb6qxid7dzfqjxigl86y8amvv7lf";
-"guitartabs-48102"="1akm3sbrwnbg9mzlm98zpgh187w61g74zdyq6lb21w7bw30jkxbk";
-"guitartabs.doc-48102"="1mrifbwkv0vh4cl1jg92v7006bh3rfrgy7gqpz0byd5nc0vfrm5n";
-"harmony-15878"="11vh6dy95n049bfr46yyb6a5ziawmh3n8dr8l7cqhj4pqmkpgad8";
-"harmony.doc-15878"="00kf7kbrfr2cqv7izx1v90mpa81ncsn0r9jkxkhz8df8fsizaigl";
-"latex4musicians.doc-1.0.1"="1zvy2pa93kyn056d5n0irzdq5xmzki6d35zxacxfy19r0g9rwq6f";
-"leadsheets-0.6"="0y4g6k85p411qcp5lg9jwz4z7caw4g906xgqf9813xcnry8y82a3";
-"leadsheets.doc-0.6"="052bjwhdl1gb2bsnhm40h4xi7hp6xw3kdwz62rm8lsb446kz7v5r";
-"lilyglyphs-0.2.4"="11mb49rcsi051k7yd7s02k9ca5g4mmifdjx1nqkvs6rl922wcyki";
-"lilyglyphs.doc-0.2.4"="1wl5ppgazb27s3wxgmz1xw8cwwmnnn0s582k5swx8qy91qdl08r0";
-"lilyglyphs.source-0.2.4"="0657barhxkzh3jj3b8rk5rl9i47k2h0p1wa2vxj00fdfqfdjn161";
-"lyluatex-1.0f"="02w276n1kdvx6l2gp9r40r561kfvh2jlivgb20q1xlvwpyjm8f9j";
-"lyluatex.doc-1.0f"="1c68c3hjmlzyd2pz1rgxwwpnlv0s3mmxb9y68ws9n2hnfx6zm5p4";
-"m-tx-0.63c"="1znv3xc5462jmm3ydrcnfj1nj7dld9f617xw3fl2gdwn083ivawh";
-"m-tx.doc-0.63c"="0svgf4a6rgisj614py6l9hm4ij7b4x75jn84s2ydbxzyv61bmmrd";
-"musical-3.1"="0rn4b1m1c58phyj9zzvyxdxbilma1bnncscwmxc8sdgb9iiwmlzm";
-"musical.doc-3.1"="022s1z7d5ins4gpklg9hadlp1gqxpr6862i1g4wp036db0457l78";
-"musicography-53596"="00kc6wq05k3vz07dn2hchq1fgnvmkj4as52v19jjqzakp3a7j8fk";
-"musicography.doc-53596"="0b43y731m3h29j9b9mjijrjs3hf430cc9big7b4jqcvm0kaxsq6z";
-"musixguit-1.2.2"="02cz225x5s3spj0wf9c51ka0i1ysmcrvlpa2b8vxd59f4pwz36am";
-"musixguit.doc-1.2.2"="1g8hay5rdkpa4pjj0lj5gfs7xmqwzmzxnc8k023ahlz38gdczgnz";
-"musixtex-1.31"="17w0rc0sjnwx0mc5k4h7sv46xbc31clg0fnri7zk64363k7f43rb";
-"musixtex.doc-1.31"="02707dmfdqax3lcss4k56qyc2x3fgxypyycndl3lxjzzin87am35";
-"musixtex.source-1.31"="0ari7nwxlyj0lnqhzcpq4vh9xn0kdzqn9c1a5ih5hp1q2zwx2m7l";
-"musixtex-fonts-37762"="13z6qdism1kbs0bmmabl112d3cv536s1vqh0sm8j8yi9l752y1xv";
-"musixtex-fonts.doc-37762"="0vq2mc7q897c9c7x80anbqy68bs897gjfkmdmqm87ykp0xas9kcg";
-"musixtnt-40307"="0g2y52s0151br5vr7hjv5dfcyr96cjxp4n9ya3s1jj81q6q01jjq";
-"musixtnt.doc-40307"="1y933975hv5vzwrgjizq315bkgnhlky21blv9kbnzf6kadic8ys7";
-"octave-45674"="0sw5r5gqvpmrn96rfz8y8hdbrwasv751p7ga5dary1v1kp4brcr0";
-"octave.doc-45674"="1r9wywnqhgrg2jjlzyafhdnyxd3fa17zjbbw1bj2a3r2jzd201h5";
-"piano-1.0"="10gfxklfwf60p54wcbs4l1jpwasxvvbnkjhjpiygnk6mvzjx7dyl";
-"piano.doc-1.0"="0czqrjlfx1i6k02aa1r1crvkw7k2fl17vzqzrkc97msprrymxwgk";
-"pmx-2.94a"="1dwg3v91z6q6hcbv8imrddncxcf9kmyfsra589drnjldcxcl5629";
-"pmx.doc-2.94a"="0v52qrsc2qif5av3jnb7gs6ph6ixmh97j8bscxxhaip4dv2hi6sd";
-"pmxchords-2.0.2"="0yv1c0s3zjy5w65cpv9gmdr13wkfg04jc0g7b1f0mh8ychhdab1a";
-"pmxchords.doc-2.0.2"="0n6g5f4szxsr6zqqp2czi29m1dncfgib1pd90mbrjprvwh0filf2";
-"songbook-4.5"="1qknajn3s4vpw68hwn0mjf9zllhba035gjgiwj807nifhgm2bvpv";
-"songbook.doc-4.5"="08p61v1jgw0s2bdfwgmb1zw5pyldfsy61d09n6qq93wclgaim7lk";
-"songbook.source-4.5"="1xzx3jxp4791imxw6h7gs1ach94k1w33f4p8pd4rvlcnwglnv9s4";
-"songs-3.1"="1q2fddi3z3d6f03y110ah1lc5j64cgg16w4hcxdd1q6sc6ccc61r";
-"songs.doc-3.1"="06y36cnx42yms6b3mnpkvbwrl1rrpjy1jlafycy33ijx0sbpizql";
-"songs.source-3.1"="0airs4wvpv2wmm2398sfy5sh40q0r2skha33999fkk2s9jc99jbb";
-"xml2pmx.doc-57972"="1d3ralqh0b71scd59b4hmm707yfrz1rj28ni2lzkhbb1ql73bvah";
-"xpiano-1.0"="11vk7k3n3np2wxx7gv9rvlgfmipmh1x0bjq5b2yvgsfxii65kwz3";
-"xpiano.doc-1.0"="0hq4v45nacdxygxpjby6s8smlfkkp63yg83zfmwcl3dgxzayb2s3";
-"xpiano.source-1.0"="00xnkxm6ijk1i0h3q0yadklc7f2np19bx3yzq4dzrfavdkxjz8f0";
-"abbr-15878"="1irhcs2zkam6sdl92wk07v5ckg56r6n10hgcjn5im2jpsinsad5k";
-"abbr.doc-15878"="1z45fraywqqnc0v28jxk3bzv9cndwgs7nmlgbf3b8frr4x18mza6";
-"abstyles-15878"="0v4wwf9w542scqx298gcvvngl0ncal0wds5m8h96x9cz7p9wjlph";
-"abstyles.doc-15878"="0zxygi2wfrwlgv9dj69m3v5ily0av65f3qiy9vfpbjlradak48yy";
-"apnum-1.7"="0qqm8np0jr2q3dyxapd49g35vk6ch3k9ar43yq740cfa7gs23ss7";
-"apnum.doc-1.7"="1jjk8a2aif4f7gmbj5laph0q60xpb0yv26j22z4ay2p6yf6a4fy5";
-"autoaligne-1.5"="1y4xlxgcj82g3cvy23wyacm91kx1fnc8b9y0r8vhf6pwvj4fk6h1";
-"autoaligne.doc-1.5"="0srhzzycrh9awp39cgfqzc3z12vxj33qgbnpprx06y6bx94956wv";
-"barr-38479"="09pzipw0qmsh0p5y7m63gwvca92g09r8pq6zhq25k62x3s8y6a4z";
-"barr.doc-38479"="0w4kvjv2zbsg5jppqky6yx0wr7xq61xj2gk5yqi1mbbagnra72rh";
-"bitelist-0.1"="1vbz2c27jjc94i23s1dzl9j0zf0n2935sgxgc5hq3bpaz1qxvm7h";
-"bitelist.doc-0.1"="19p9f9bzn60nf5163rdlw166zpk7qlfwhnc51bpkppb0w4rni2ai";
-"bitelist.source-0.1"="0r3lccpampra8dardrr7sb0swbx72aasaras43q4nx4jv6z2561k";
-"borceux-21047"="0hx755ghdd697fdc48hlvr21la4s9wvsn4v9c0n6sirlansba8ca";
-"borceux.doc-21047"="0fcsjy8yi8zhrl75zb2wb17v1ilpgipdr85vhi4dsjmw18whp03h";
-"c-pascal-1.2"="1gbijcvhkfc9jhdjs07l1mz4p8lchrhnrl1yj2gmzkskp4v2pkbw";
-"c-pascal.doc-1.2"="17ddnb3k2q279xrrsy3y5n8qyk7r8hlrw8vd446a11qiwypjvxy7";
-"catcodes-r0.2"="0sqwy110bqmy1npqqp6m7x4m632zmg4n52snrbzzz87jp59k6kwm";
-"catcodes.doc-r0.2"="19drsfj7f4lfmjhpmivyyzaps3yhxsy5xppgbm67vk4368sgsmpg";
-"catcodes.source-r0.2"="1c9269586s85v3swr33s28wb74xxaxy3mzp4153by2y5hpj250xs";
-"chronosys-1.2"="0ii3r31dii1252bg0xfh4818az1snrzfx7h4ibr6rd5q3a83yisx";
-"chronosys.doc-1.2"="1c120hcadb7xpkspmixhfrdlcmhl79jrf1wc0vsjqbq3wxjq1p55";
-"colorsep-13293"="0nf72pf2bjn8pcps45sn5dcjf1dkrww9wlpp1xbzl1h9i68p3h3h";
-"compare-54265"="0isr7gmskv55cr4f1fa7s478v6fh65q9ijxkmbpxj0448g9817w4";
-"cweb-old-49271"="0vx235zpflqpnrfa9kqq7wmc1rylg5bw1r26knfzvh3w1swbp4ai";
-"dinat-2.5"="0m040ib86lk9ccd4m2r33k8rgdi7dgga80skv2qif43ssws330r2";
-"dinat.doc-2.5"="1hvc4f56mi0drmdqr7qlab68b9dqkmczhj28d3lpyn2l2hx4dncx";
-"dirtree-0.32"="1j91nhdnf4zvqpn6a3jqrcvfpfb0ml18n2g474n5d2k1017mdz4n";
-"dirtree.doc-0.32"="05yd1fkkgyspqxi2ddmq3s0nwnyh1xk55lbzzk6pwxjx1s1cd5k5";
-"dirtree.source-0.32"="1pl4s67bwf5vbf0ccfhd05yrmfss59kng0ys871yq74rxm4abing";
-"docbytex-34294"="19f8kxa8pb7ai7npxxavcw8hbsskmnchi7vynzkbd0imcjvay476";
-"docbytex.doc-34294"="0q3by29jmymrf4pirwmfqxr6bdglh936yb1phficxlpm07ibp8mz";
-"dowith-r0.32"="1ffadlm7fzm72svbpln7lms9dl5pbrv6xjzhwbcsjbwy4smx8s6x";
-"dowith.doc-r0.32"="12sis4raxlfwzdl5jqg6x7fa7wsd9phaawm9ydf91wf7d8md6z2j";
-"dowith.source-r0.32"="1qm2v2lw05jk4nnfns9l1hldamjka6plg2zyly6vi0jlns741hpx";
-"eijkhout-15878"="00y3y01jpgzww1x6zjh748hpvizlrbgrv04p8aq3cm2pzs0g17qk";
-"encxvlna-1.1"="165xjggnbpc9baj9xbdkxzxsb9gdsxffmakffw0gzp82acxgfwsv";
-"encxvlna.doc-1.1"="0jc0wlhmc7f1vrabzk6ql62iian2n8s32r2crq34w2cjglmf69xj";
-"epigram-20513"="1zps5067mgi7xq3fpjvjln8i0rz53j7qn660khraq8ribv4glnpf";
-"epsf-2.7.4"="1i973a2hp5ms1lzgf3g2b73j34xymak9f8wz88fqczcvdfnnag2g";
-"epsf.doc-2.7.4"="0d6jhhvw882kq9l2a4vrfrnxxvkidfjkmp3zm7kj1ir8mk9qvva2";
-"epsf-dvipdfmx-2014"="1p0syahj7liknn447lb83p2rdv8xazpgabk39rjxga05pfn3csh5";
-"epsf-dvipdfmx.doc-2014"="192x6cg0dh0j9dknwb320g73hid9px635p79idr33x2zq3gaaw4r";
-"expkv-1.6"="18wgk5n2w2nfvdy3v5qcgvdwr50j5q28p2c5q2ff2rswljh044b9";
-"expkv.doc-1.6"="0dpaawa3388jslh1yymz4v7cq85n8aw8lpb4hshf35hirack7kih";
-"expkv.source-1.6"="04rzg273ls173kyp5vanmj27bwg59f1yjnl1w9m8ry6ynf8s158b";
-"expkv-cs-0.6"="18788maj4j6724scqyfds2z65f6s0r5i3k0yzbq78mj60kps5gkn";
-"expkv-cs.doc-0.6"="1l72x7z2ba2kbqdvwvnc451scw53qk3jsgpqbg4rj261imjn2i64";
-"expkv-cs.source-0.6"="1bsxi8cij8flqsj81lx87hbgvn1nnf2yvig4yqwgwfg95byzkmbx";
-"expkv-def-0.7"="05wi9b6nds4axc87lw2qf77q5188b82ccbj4v7mzwhmhc10ppvm0";
-"expkv-def.doc-0.7"="15hfzwn6kfwprkrhk0i6y2fbxyizcw697y498k2rylhv6n7gcm9n";
-"expkv-def.source-0.7"="1flgvk5ims1fj56b3y2mxkgs7zmmgphfk3pkslj8cm76wlfam3zh";
-"expkv-opt-0.2"="0qxk3nbwizvczjrqkch6r1d53bxrnnjxkjyakj0rrlbaqpyw4859";
-"expkv-opt.doc-0.2"="05r8p2k94fh4fs6bmf75g4njpppqya51kvqnznzlhf17b82lf5iv";
-"expkv-opt.source-0.2"="1z8plih94z428g95avckmpd29g3byq1r20d37sw379adwfzdcwci";
-"fenixpar-0.92"="1l79py58dih05c4kjb8cngzs3bzpbhc72f4hnz2r7nfwmjp86c56";
-"fenixpar.doc-0.92"="0fbx9wms2n0ff1cdpfavqhjg56przd7hr515vh81g8jgnz68s24l";
-"figflow-21462"="1w2wccxfjbas2yyp8sscxfb875kz3mwqjlma46v4328sd9vw4pwc";
-"figflow.doc-21462"="0nkdz047vypv0b47wbin7nz3cbcriv89w05d6yn26wvq5svlxgw9";
-"fixpdfmag-15878"="0s5ilsmnhvi57x9cqwp7nwpagfribmgkbl0z1ci55aw2a6bff9hn";
-"fltpoint-1.1b"="13zin0r1hcfihji2h33q039mpcf86lw2q017ss8848xpqs41fb0p";
-"fltpoint.doc-1.1b"="1yr5d1hs3bdd20df25c1jyb0hcizwq7bxjbcn804b97sjk2fk8gp";
-"fltpoint.source-1.1b"="19qy8da4ppsd1agh1c3xs9fxsl6z8c60lcyw4dd88mymk7yk4ysd";
-"fntproof-20638"="1gq483namx453zg5yv7acvhy9hb93z68fyfb54ayqkka2n35q80h";
-"fntproof.doc-20638"="1qzxky8jjvnlznm11rjzgxmhib0psv7lfk3nfb8ys2wl0zjcrg2w";
-"font-change-2015.2"="0955bj8r9jzzyyzn3shs3y7iyaxjzs9m3b9l2b33hpd4qxzzp03r";
-"font-change.doc-2015.2"="0khs319ifwl7gfkmv7y27ysqkadz04l7zvcjxn08qzmhsxhjpz6w";
-"fontch-2.2"="09jpw4fc3kk2w1rxs0lm5sfvl8v12y9gch4viy6hva3sh3w8yzin";
-"fontch.doc-2.2"="18si3pz2crkyx075cfnz3ddwbgyccgvyxfzqd70njxqspz8xwf23";
-"fontname-53228"="0ylpryn5wnjnf6acjl6kp67i0vl1dz59xk2xbxb0fqhx5ib1gdgy";
-"fontname.doc-53228"="08vfa7n2bzjsay7b7zaigkq7imlfmq92f4firwc3rx9hfm7hjbn6";
-"gates-0.2"="1vxn3j957za9j6ryf3nhy5r744gr63m78xzvlh0z10sr0bpw46v9";
-"gates.doc-0.2"="0igxfdxyiz280ryivffq6c7y84c16ip1av8wn11j6x62dcsrm58x";
-"getoptk-1.0"="0rh7b66fn37nkcy2y6q8h3j7i8njwdmizn68iy1bg2l080ns1nw4";
-"getoptk.doc-1.0"="0dmjwgv0qghhs7fa0a9jvk2mqbg4m3br1dk2x7q5mxyjzk9878da";
-"gfnotation-2.9"="0n2g1kjig7rg9bkry1hyq9jap95jb9crzxh4yd9jylgrygva6wr4";
-"gfnotation.doc-2.9"="0lfdm66xrvkphqnzmymym0s79bwap5x4h57q6ndb7h97p5pxhfby";
-"gobble-0.2"="1qg0qpgs9llmnajyvycadkvshnw9w5p10ndjhd8b7ddvy2jrp9rn";
-"gobble.doc-0.2"="1nqi3q73zayl5sb4iwip341rhccydhjxvp7c66ac764sx5wxdld9";
-"gobble.source-0.2"="0k42x8ni36gq51aw55ywy36jl89brhsc0177kn56zpvv2zmghqiw";
-"graphics-pln-56823"="0liz3zzg4w5pqfzfsf46209cxjbmb33nlraghjyi5cshpccmn914";
-"graphics-pln.doc-56823"="10vada0gcayyncpb918g1j8yhnyzay4aphq4bipj2jiscqcqaqs1";
-"gtl-0.5"="0hj1xzsny4qx2j6j7ac1b39whjcn3z1m97xyavmz9w7ak4pgnh74";
-"gtl.doc-0.5"="1aj1s3d53y0wsivmavam28zm0q1bxgk4hndr6ifv9fy4m52dw89f";
-"gtl.source-0.5"="1qvyhmywdwyaazcz7kvk321pbsqhcj69852a8zq0hkvgcadrb853";
-"hlist-0.11"="0ac4n38nnimrs14k1s2yizbqvqky905qcv0kgs0aq043kkmpi0v4";
-"hlist.doc-0.11"="1fnqm6kxr79y6bpymafr2s3m8sx5mviys06hcs8sfn2gzagg88bl";
-"hyplain-1.0"="1kpaxdya6m7x4dmrxqzrs6k6agxsg8lcg5yqqdlips887lf609cl";
-"hyplain.doc-1.0"="1q5dh42gpv4n9ps0yqyhcscjn47qz4zf35jlg56xgq2w5229k742";
-"insbox-2.2"="0ylnp3l21zx4y1bwrr33v8d79vlgz5frna9dkg62gz1bhjbw7f7i";
-"insbox.doc-2.2"="07iw7py0p0jfq5np89dx9fdvia3yk5mi0py77xrgb8v4gx7k5g3k";
-"js-misc-16211"="1b26v330702mbd9bviq6sr7pg0338hddzc84z55fsqjd85fp7zcz";
-"js-misc.doc-16211"="0bs30a1m8cbv2824xhj6k3jiv6dmdp6jjzsinhfdwiizc2kzriwv";
-"lambda-lists-31402"="17srvv0v10mczvvmxr6sfhlr8zks589c86v472g4rnmf4bl4my88";
-"lambda-lists.doc-31402"="1yq4kn0nfcgy0qh33qakv7c12lcdzbj4x9xj357yn8c0ijqkx789";
-"langcode-0.2"="1hj7zyjxh64fax5rv32558sp2ss986fxx0fqd5xb9c07s189cs3d";
-"langcode.doc-0.2"="06bygnvh4sdv7mp17c94wx9v1lj4zgih1db6mknc3wiifi5jcx8m";
-"langcode.source-0.2"="1bi25gqx2yi8f6g8hpnqp9f52qnfpyafi0r16scap8w0sbnwrib1";
-"lecturer-23916"="0alcmds4ds3m0rpq6r46ff56x78kv0nbdnfn80s9q638pf1vvnvb";
-"lecturer.doc-23916"="0ksqm6ibcakjf2dir19hr066gg2dxa5blfiikr1j8x966lfdjb09";
-"letterspacing-54266"="0ry7rri76dgbrkzr6na2kkh7bn0jpwkhh9b5qw0cl5xwyp81rddg";
-"librarian-1.0"="1rri0fb9ssj413w1g8c7p79hn72gqzncihhhg3ws3ldl9s3nm54d";
-"librarian.doc-1.0"="1i4m0gp38f64y59zcsyg2j7bb6zycyf9z5yr5wf86l6kh40cc2fq";
-"localloc-56496"="0ynzcib8hsflpjhykfl348pmc508g4i3ig38wjsb3gfm97mlhq24";
-"localloc.doc-56496"="08aiqc04rwinqr510r1wkzz43qq4nks1varmxyjbnw9acndn94ak";
-"localloc.source-56496"="1wcl06i82xkp6m5m311pn1ax42avlp6n54ad1j450apgygdszmik";
-"mathdots-0.9"="1wbxvraw5lp77chgzslrrz022zgqn2fhmzk85cn7ggafip1hr9s1";
-"mathdots.doc-0.9"="1ldl9l92y893dg2ksqn6n82w43a2l8pylz3iq4glcphalhggydcb";
-"mathdots.source-0.9"="0dkpj8cychzl7gg4bp41qqi3y50x0dyz2pxanfli4a2anh2dy06q";
-"metatex-1.1"="14s2my2zs3sx3hy0vapi8zvxb6d15fl7wqsnis58w11a3kni4f1d";
-"metatex.doc-1.1"="0z0s4ys1zsa2s2m4slpjdikzbkw8k8m780gb5mh2j2azc7yxlsdq";
-"midnight-15878"="05hzxlzr19snz16sddzpyh5f7vvs6jcdsqyqvqga17rr8y04sdwz";
-"midnight.doc-15878"="1ky8k2ys88n6hn2q9v9gr71g772gm5zvxlbzmibvajq0hhqm41l8";
-"mkpattern-1.2"="061y05sa0a12x23f68g7rinllkggjfghgmrq2qnan34f1ind1g36";
-"mkpattern.doc-1.2"="0b3ahrhxmm6lwijc7kgvn0k17fm9rkp7i754zrhfj7w4xgq6i50f";
-"modulus-1.0"="03sssw7yg7pa7i3l29l049qavwxphih5jvc86nysdzzng4a4dd7n";
-"modulus.doc-1.0"="1ylrs9705mgb8ijj9fq5w1yyd2fi4ykx8gpf4ckdr78h6rvzkr1h";
-"modulus.source-1.0"="0gm8vwidnls0z31zxcd348xyc4rrvcffncnwmazi9p1zplhg9ggk";
-"multido-1.42"="0rb320bxzg83nq66dx4d2jy3cmz83zdmv7xfw5n1chcswpi6l39p";
-"multido.doc-1.42"="1s8jhzznsqq8kjw19l6gdr12x1p63v3fyzfdrgmd9z66a45d6hsa";
-"multido.source-1.42"="1ypcg93f9n9cv3y6rj92l46b61zaj8wm9cfps1c86w675xs76zaf";
-"namedef-1.0"="06nr8bwymbc3ps7whpxnsnbnl1fayz36hlgcy5isg0gcx8bdspfh";
-"namedef.doc-1.0"="080m0d24cish4an6p4q7rcrqpr2r1yvwvzk431nszhm39h7d8z80";
-"namedef.source-1.0"="03kg4zv07ch01n0nc7qwk99n32ifwf89z2976wg5k12yq51prplh";
-"navigator-1.1"="0ank98y3a7b5dpc6gxqpgshi5qvkbys4nyx41gf6hkinmi094097";
-"navigator.doc-1.1"="15370abnfjvql6gkcamgq8q3p4kycgzlgdla57w2swzwn1bd6x2h";
-"newsletr-15878"="0hl73l6cv94g9k4qnldxad6nl56n9c1r9rkwh2c38sr31d6fn8z5";
-"newsletr.doc-15878"="15bd97zlny5p212naaig42li7ki3f9bfr9b5pqk0vhbf17pik9za";
-"nth-54252"="0716sd99xjdkplm7jdmg4lx8lpfnnx6mxjp1l1sp2bfqcg73p4hm";
-"ofs-16991"="0g2rxji8g1nafyg1nzpy18vzk20p4p6r754m89naygs1qn5n4h01";
-"ofs.doc-16991"="1v1z08m2ha071kb8zia1wlgkflkzj4hjws8rqnq7asvhi1s2p1rj";
-"olsak-misc-May_2019"="13kixnh85x2qzzfgdhhdk417hjz3aid2q678adlar2ha8a6vbspp";
-"olsak-misc.doc-May_2019"="1cfzdy18f34z3p717jc9mcgs8snhsl6j6x0jw95ff6ds7d2pzfly";
-"outerhbox-1.2"="1867xhxlbskiysifmwlr10lay8khragzi36fm552cwc4vjz2ybcz";
-"path-3.05"="14k9dqvcc2nazjysff0s1jrass14d2r9i9cgfx46ss09cw53h71s";
-"path.doc-3.05"="0kacibdjhmz39klvxr244n42c5vlaz1z71a8vnssmwmdzzwfzs5x";
-"pdf-trans-2.4"="0dr8d6szds3hlrnrw0rb7il23rxw5haz37dg3iacgcdkffnglkis";
-"pdf-trans.doc-2.4"="1dcmcd57zv90jafx3whd0nn9hm5x7aynb5npassjqbglb9lfml87";
-"pitex-24731"="1g91l1z71481hlwz8vmdac0g4vm5d6940gy1ly44qny626k9j079";
-"pitex.doc-24731"="070qn9b6bq4szqa9wqfmb3qbfxcgif79dzbb3qqhvs7fh9bivqdv";
-"placeins-plain-2.0"="1lhc72zdm2cjynx6lf6kafmf00nw17z3mnfhagh41h76cnm338g9";
-"plainpkg-0.4a"="0dq20a8nyyyy1342s8sc1z1i1gdfz49dmv2w9fl5dbnligzxgdfl";
-"plainpkg.doc-0.4a"="145249b9w3jpf9swgc4293r05p7r5ylmxvx1a5qlv3fgni945vms";
-"plainpkg.source-0.4a"="040m08y54xr4966f8b6z38spdhjh197l56am3wpza5qff4nbcj6a";
-"plipsum-4.3"="1byjqmx68gb2xcb4nw429z7wnagv5l0pi3v13dlwp57sgfkxrz0j";
-"plipsum.doc-4.3"="0gmq7rc2r3r50b7w5kqglaqmrqnxv6wav8gz09a2skkir6v1mpgl";
-"plnfss-1.1"="0l4kjidsxzp14ii850m23q3yz1z8my9svqrpd5hi6v7qnv73vdnw";
-"plnfss.doc-1.1"="0iw938rnvcfly3z5v5gikd3svx4mxwfhw0gsyv26m37l5slqvf1w";
-"plstmary-0.5c"="0cda8irxd0gxa18x47v6d1wiwwwh6w30fl9ipxdz112h67l342k0";
-"plstmary.doc-0.5c"="02ql0pxjkp5a803f9ayvr9splfchzk6yhzjfrmh2nxzwgczy9s50";
-"poormanlog-0.05"="0k4j77q0h7c4y3aa21ngkkrida8l0lp9k42489kilxzpx6ppjb4i";
-"poormanlog.doc-0.05"="1p1ri0x1j0r5f22nzhplgb87nr5zpc7gwa12p8xwcx51ncmn2db0";
-"present-2.2.1"="0irxkzfg19h5pn0drgl5dlpz34j1p5jpyii05b2xjz4810gnl79h";
-"present.doc-2.2.1"="0c7pmcjhc3p4ilx3fr6pxc4708kl7iw1lds5ngh8mlrwz0hhsd96";
-"pwebmac-4.6.2"="0syrvzqrrk7d83ddms2mc9wsawmcki14vgffdysi5j5gx0ppagr7";
-"pwebmac.doc-4.6.2"="00k4mp5r63i4jrv2pkf9wkrqkrmfvlj6xhngx54dnl2jk60h7nv9";
-"random-0.2"="1y4dn1i3kmd99b5br7a2j6ppf0ikzp744si5p6m5rmvg4vh1jh69";
-"random.doc-0.2"="1gfcswp2krrfswyjbyhck4pb0lq03jh2mfwzm2iwvd3zlndvccbz";
-"randomlist-1.3"="1kwbg73d8hk4wh69fajl1zqyvkfyfxzyv5xykknpa5s67pxkh9c5";
-"randomlist.doc-1.3"="0r8i0ywq21c1h317b3yx5ixr4b1fllgwams4yy5z13alda4wxqdx";
-"randomlist.source-1.3"="1s86m5hcncfqkwlr8mwdyh3fsnyzisiw5dlg52r499wr77r5z56j";
-"resumemac-15878"="0nixlk46dpyay8zsxrfkcng23rdyx48mnq8s84xs5whlrg369s3d";
-"resumemac.doc-15878"="1yln2mz6awzafpmrlzi3s12zj9m7qfj4laqgjpy4783rxdxy8w57";
-"ruler-1.1"="1ikap9dkdw9lzpda0f2krizqbfkyjxvyddils7clim9nhg77aq71";
-"schemata-1.4"="1idrxgfzwcy31cdw07f1axv9qxiy2m2j039rj7m6gqqjwnzpdyfw";
-"schemata.doc-1.4"="0wc4vcn0gbwwgf5c7cxcb66w66yl4s815d6m1cj3dv2mcm83cjyd";
-"schemata.source-1.4"="1qblgn5msrnnaap7w1r6szdzphf7dgij48g0h7cyj12dxy8gm9a3";
-"shade-1"="1dcpvvk5216znr2i0nn302da6vjixkih5nwix9m3hlmrd69z6hcm";
-"shade.doc-1"="0xs86yjd9f6wlgz0dlc89iryh4rba3752blz07zrxzrm89fdq22c";
-"simplekv-0.2"="0a46f1y88fs70msaydv270z33gxyx7v7dswar50s5syd4sbmid5w";
-"simplekv.doc-0.2"="07aba6adwigls3rakhrsamdcpyghr606mr8m0nlgfg5rjjljnjhz";
-"swrule-54267"="075mshpyi9gxbi3n0hbh3ygidzw1daxy697lhc7cc99i39y8scpi";
-"systeme-0.34"="0agy0h2zq8n6723w27psm3azigf2bsw4s80701xr0zz6kmlyrfg2";
-"systeme.doc-0.34"="1xxycz86kxljxg1np3zd6jzwanvp3f67la1k267z3w39f5i63x1z";
-"tabto-generic-15878"="0i65jflbnhqpqf1w7pkagicic1s39gcl319z7g9zr1g80f9532dv";
-"termmenu-37700"="0rw7a9ydsckjv6lc8q8yc5c4lq45bwczy98c6g6mzdcdl2dnhh81";
-"termmenu.doc-37700"="1r4901slsjhg0kzcy07qkm730g1bax1p2410mhh9ly8cix0hcxr4";
-"termmenu.source-37700"="0fvv10j1s49swvif5prjiqvk699l82js29n09scv0x1ixcy40h14";
-"tex-ps-15878"="0i35b4pp38d1l5rac059znlkazrcqa62qm8brhdmx7zzkbhyysi7";
-"tex-ps.doc-15878"="0kgf7y3nxkw8x42wpc1g5mmmbz28n73vgwd9d6rf6fjpzrycc2zx";
-"tex4ht-58348"="1bqhc6r94lnbz5x9hkb8kqnhpj97qy0rx0kc6wzzlys26i3z6s4h";
-"tex4ht.doc-58348"="1a7cm288jzxjz03v7iz9rzsddx5g6y5qxi1k5kqvhwyjb3fsafn0";
-"texapi-1.04"="09cnhqn4gxf0alkx0276jkpcsd0myypbn94jzsavnjq8jknp6850";
-"texapi.doc-1.04"="0529cncxbw53km02pymj57iphgziri3d9cj54pqmjqjx9qmgwfmm";
-"texdate-2.0"="06bqyfl1vnj4gadqsx94lj8cm1ia3w3bmlsfjwwfaad0al3ncxdp";
-"texdate.doc-2.0"="0kks8hswbwhp8dpjdbwr4nm55md4wgabl5ypzpx5arj41x8halhl";
-"texdate.source-2.0"="0mbcap5nfj5ap8gxn4pyv8w37hcfnq4bm5m6jx43cwkzf2hiwar5";
-"texinfo-5.1"="0wbbhjr1jqiicnssiy6n5s4v5p6axhlilpkfhix4kavbj8mb6mfn";
-"timetable-15878"="1lnl8gi2rrzcy688qb8b1ff9yivwxdqmbcfx2ph49aymkxfym97b";
-"tracklang-1.4"="0dlfwsysadr78dkdrm96ibv3gjizwkqbm8m7pjipmp637vjb70ry";
-"tracklang.doc-1.4"="1dygdc8rj4kmh1gwpkpmqkih35yzx262n9f5n06k0ydf5rr96fqm";
-"tracklang.source-1.4"="0hdfmlmazyaxqhy8rv5ng3f4xkpbycbw79cqwbh0mw4nyclsf1aj";
-"treetex-28176"="1gl79r8h5brqmkw5paf26vm6s5ipa0f7g7cxxh3v68qg5cm2dink";
-"treetex.doc-28176"="1prh07qqn92il09fbam3c66czcgi3ssa6kd02mb62mczzf5k594f";
-"trigonometry-43006"="1z4sk50nzdplwarbv7ha3gi5v6g2sh2nf85ipdz2rbj3cnz0j53n";
-"trigonometry.doc-43006"="12pm2720vyk1c79qbgk935nridg3z48cbzmzbx9ak66araz9y901";
-"upca-22511"="1px88kyvr7jkzzcbd32pi7zlak9wwzf3b55yhnh9bi03pk0il33s";
-"upca.doc-22511"="07gsza0vhs52qjj8im4i1fg2v2lch9iwk424ik9c1xak1v7s9d23";
-"varisize-15878"="0sd1znd4c2254fsj6i2snj3ys1h5vss2wzylqcp2pv31kbgpfh0r";
-"varisize.doc-15878"="19w6h5w08iyc2kg61h5q4j4djwwm2x0bhhp6k60kfxnk4glccrmy";
-"xdvi-54338"="10aldzxy02d9phqr9qwpxxwci7vf5q9z7sgxcz50kf44asa28fcm";
-"xdvi.doc-54338"="10fxcamxf5nabfsirwvc289kc1lyb6n7mja7mjpd919f7az1knaj";
-"xii.doc-45804"="19jhzv5hqzj59wrfcr1dsj6z56qfckax694idgf8arri5lnbkdd8";
-"xii-lat.doc-45805"="1nn54xv71kcmn9jbkcslz6a64cvjcay9x96rrxnakdj9qcqd27r5";
-"xlop-0.28"="1clpl22vxgqjpzs0ypgak0d6z0sr6hw3gj18r7sgs2q0jf5m6715";
-"xlop.doc-0.28"="1acnr4yfcakpnr8pb8g26qh7z9xr4dms4nfy50ig7r7azmdpz9py";
-"yax-1.03"="058i478l85ilq0asix6mkdn1kfzh2abqn9ngar6s339db4h81lxy";
-"yax.doc-1.03"="06i376649jszpwgvb0bq8wxchjmhwjfvc78pl5q6q1ic2jpkq5pj";
-"zztex-17.7"="0qh6a0jgrf1b2363dw66m8v8r0yq2sab2qm3wk008pvvlajdj45w";
-"zztex.doc-17.7"="1agivqj1mqnhv3w70a292pypm2w5xcbf67wwfz3ywaaaq5amjbwq";
-"auto-pst-pdf-0.7"="0f212m856rdfzflq1bw3vfpy38d8qylaa3vqnfs595h3x5r0dsx3";
-"auto-pst-pdf.doc-0.7"="1f7kj4rga7x14w8v3cjn7lh95inliy2ms0q9vnfnv95jvp5a7kh8";
-"auto-pst-pdf.source-0.7"="10l3ld4jvpg1982f2a80ssl4hkdzi9szxv3y8l1i13pdfdhirv91";
-"bclogo-3.1"="1lnfpy6fvw51cfy7zc1bpqhgca8mcgnhyvh5l1s3712xl91hsvwq";
-"bclogo.doc-3.1"="0vf9fvm607fzw3rvc93crxjg9ilm6d7x7q5n1qrfmkzmkm5mjj89";
-"dsptricks-1.0"="074z88g37hq9xjlvbncmiccq5klr3x8ffprps8xnzvhk7cdwld2f";
-"dsptricks.doc-1.0"="0jj47j46l587hr11n764wl167rkp7w8q9z16zwnnb63dp0gi18s2";
-"makeplot-1.0.6"="0qp0qgcli40hd2dxgbd8fv9s03r81dlhh48pb8la9sh28qrb9i51";
-"makeplot.doc-1.0.6"="112chsx5wxrc7k4w3qzf23pjgr0np1ip1ylqs2igdcihchz6syyd";
-"makeplot.source-1.0.6"="1zksg7iqb9g6my9zyyrmwkhx04qy0118lxf60cm00njwmsi8w1pq";
-"pdftricks-1.16"="0vji4gmlg9b67yj8gb3aj2291ll1xg9p5vq2kvclj3xpy1vnna8k";
-"pdftricks.doc-1.16"="1hzd05l4yyz5giw9kqxaw410na7k85wj0cyw0bbwzxynpzxqllfa";
-"pdftricks2-1.01"="1dlzm7ivhxvz404nm61kxjn5arqgfw5z184qaxwn28yk6ri07s8a";
-"pdftricks2.doc-1.01"="0k0zr8mv3xq6ibc7s016qnk78b1d22jgyq35jwimj3rm2aykdmww";
-"pedigree-perl-1.0"="0mi97av4zk6vgxwyph81dq5wrwv1smqidfd5jrjjaiqvj60pq6ls";
-"pedigree-perl.doc-1.0"="1knhp254w8a3hqg1kyg009kmym55s8hln9qnzn3lwq4b24929ivy";
-"psbao-1.0"="0il4qhmc00ny1syfhid0mvmcz42sqp58zi8gf5hm6p3dsf5jy0z9";
-"psbao.doc-1.0"="0zrmprbhrbj3m0q0swlnk581ka3mws13dsha60izi7bfqxc6crqc";
-"pst-2dplot-1.5"="00y967mflrd0y38mqyv8r7h489jrl38rgaiq871wf9k3cbmf0f1g";
-"pst-2dplot.doc-1.5"="0j1c2kxc63nf33gi1f146pa6hw7fm5x9h4yc30dqg8hsd2v0bni6";
-"pst-3d-1.10"="0mh6xbrvwxx7nxp4yqm71hhpqjb41g4kinxkj2vmspw9wrwclbj4";
-"pst-3d.doc-1.10"="1dp9l6vwhb306j998hydb07c6ig10ibn7h0wwiaisgabn0s69xqh";
-"pst-3d.source-1.10"="0m9lvgmjzzc2lmp63vnly30j9886qabgbhqwpbbyl035cy6k684n";
-"pst-3dplot-2.06"="01v1qldms53663lib4b8sc7il7iyma7hgk19lmn7i42cid6gx56m";
-"pst-3dplot.doc-2.06"="0xww4khaqai4wx2wlrbyis25qgj7ykfamf7vvg9fvrkdh1cv4pll";
-"pst-abspos-0.2"="0pjh72cjpim4v0ri92b7nbjdmilpfa7d49vsvhfqddq68k02m0yc";
-"pst-abspos.doc-0.2"="1nwjynxlpxgqld6slhhrzlsalp9296nbnj2kzr6a9c9b4sjxxbp1";
-"pst-abspos.source-0.2"="1p9i5bg4jx8s6bb6ilbaa702l2mn911g09pjdmk6mnb405d908fy";
-"pst-am-1.02"="1vk1dpvm5bcnxc6k7kpqq5xb6a227bwhlrwd6mdbdapk58jh876f";
-"pst-am.doc-1.02"="10acmb6wm7z9bpgh76hlsjks9v2rzp0qqbcklrjx3iw0jqdk53vf";
-"pst-am.source-1.02"="06xvv8fh818ldzqccf911hw4wr6nyzxdmghynlsg4hjn54ff3x0l";
-"pst-antiprism-0.02"="1b8yxfyc4cac5992a3cc4xkj0ip35z63rqxdw2jx748qs7c3gyxf";
-"pst-antiprism.doc-0.02"="0d4v65fsk28hyiljr6fpk6yw7sac7n9jmx4bmdfgpkagspb7ygpf";
-"pst-arrow-0.01"="0xq79kh2rvgm1abb3j6c075hbcaw5lz44kbyj5gbd1sypvgzh935";
-"pst-arrow.doc-0.01"="1pr55ipihx9zv3vjv617vlzfg85mihnz6aj6c2gxvj6bwqqbmvri";
-"pst-asr-1.3"="0sk8hchv1p7vrpyjslpc45mhjg7l2r66mlmmvhc0s89q1khm08rf";
-"pst-asr.doc-1.3"="1a6d4g9gqjslnfr8fp0dpw72pp7c14qzq5l5i80kv36w5axks7pd";
-"pst-bar-0.92"="1aj1vvp5gwpnbj7nd2gdja6vpy27wg6m3yx4d7r9jqm6kn0sxd4h";
-"pst-bar.doc-0.92"="050nblwwni28rv31zj871i6kji2b15hvsk5n7f7q2q1hhprygc1k";
-"pst-bar.source-0.92"="0k5dw6a31ppa4qqq923pifcblx9wbldq405pglcd61a94pcixm06";
-"pst-barcode-0.18"="1kq92hkqzclr7lrfb6bdfcfpsp5sqvd85sqgl05ikzgcd9bpsgis";
-"pst-barcode.doc-0.18"="11fab07zcqp7g91hxs9awgmz30gzz0k9hh5j6i36aq58ym7j6pw2";
-"pst-bezier-0.03"="13w3hqzfim53nrh5bn82fb4gxx32gfayiaqjk5dx49xc4l3rvq6z";
-"pst-bezier.doc-0.03"="0xjs89hfkf7ak8izf59sl5gh5lawv04nxlajn7sskh187qwbqkgw";
-"pst-blur-2.0"="09fl784hqyvbvs2w9ymd4rda1dfykc1l8g5dpac00da1788ypzim";
-"pst-blur.doc-2.0"="1x881z1z4ra5bcms1yn2p7svs82h5ckwwvlw30jfdwxp4bgs5y28";
-"pst-blur.source-2.0"="17f9k4vqqk6mrh3dny6qfhb6b45g6sg7w50i3c7d9k0djz2wi5jk";
-"pst-bspline-1.62"="05ys29amaikrm31avlz0kcra9j48nwvqwr5fwl75ljydjf6drdaw";
-"pst-bspline.doc-1.62"="1czq6932fmx76c82ylrbh92qs2nnipll8piah0c7f35xl9y5xgls";
-"pst-calculate-0.02"="1knbqbysc6f3csy1y2vf413cw2jpf722l0hhs20yzm8mi8x279yw";
-"pst-calculate.doc-0.02"="1jyxfqc18whihn8jkp041bvpp1b4f7jwi2zdj8abnmx45d16i6jc";
-"pst-calendar-0.47"="19z0czaw9x8hnb1wm042mnlnhzidklyx49py8jm1gfqfk4bv6yy6";
-"pst-calendar.doc-0.47"="0f1lw3ls3ikp8r4ifplxbxcf5bbapv89k1ajz4cbna2y9axnw1b3";
-"pst-cie-1.06a"="0hy5a65lcfs2dcrr6jfd049zf355cygwpsaq5g946qw5sca30lm1";
-"pst-cie.doc-1.06a"="026x180f9w6i2ndmhpaa8yj8vh0zf0nd1nsii7jbhg2gql0pcsxg";
-"pst-circ-2.17"="0kxg1337z9ijqv05h4hmxz7w2qgriripppg16rzg3l3cssbyj5g0";
-"pst-circ.doc-2.17"="013y3b2sdscbgpf46rjf70rwxfqiigcz3d2wnhflrf7drrgrpahz";
-"pst-coil-1.07"="019hda59xplvwvc2jrk6zjlvx26y2m8l7j42sr8w6ydgs49y1m7x";
-"pst-coil.doc-1.07"="1rlp43hi4fs3gkfaic8r49774g7rgg97mkyxzqmi8qak8fz1v3v8";
-"pst-contourplot-0.6"="1cav44hw38rnyi1yjj5z0yqw2ilbrq328xrj4fdipkfd0km0bf1i";
-"pst-contourplot.doc-0.6"="15p3znj8z0s3d336ib264c3w0m200igsq1aq2bbcj92v43rzffrz";
-"pst-cox-0.98_Beta"="07662sjbviwbplb7mjvvb18v8lf67v997hn78q6gz262z41daf3n";
-"pst-cox.doc-0.98_Beta"="0iwvk4db5girx2fn6fhgx6irx288jw2jnd28j4zh8x3f5hf3xfg9";
-"pst-dart-0.02"="0zlm23bjm7danf07330xsc59lkyi51kh89jpxhgcxikgjm4cq3wz";
-"pst-dart.doc-0.02"="0w00zb309hnv2gz32rkirmvn3c1yy2j167939x4kvp9nr0ccw5cc";
-"pst-dbicons-0.16"="1mq523ngyxlds1jaq1cnwkp6hynlz72imc1sh1f2fch0v91a3kc1";
-"pst-dbicons.doc-0.16"="0j4p340dxlyj53s18xqp81cqwy6awpnw6k4q68yk4zx915v24l0p";
-"pst-dbicons.source-0.16"="1c071qx2ira6hd9mkh07k4kaqhy0a3cbhr6k1b4wkmlfswjynppd";
-"pst-diffraction-2.03"="0ccy05jagh7kpra07bai1j8drwn2701qdfgki925mcifsa74r3y4";
-"pst-diffraction.doc-2.03"="12xx19vaygrby5475la4nzygcbf6cf1mq3g14sxyhg997x9q4ha9";
-"pst-diffraction.source-2.03"="0wf4kpdn7vyaf9cy7dq6qf3lq37fgkcg91njfbqy9n9v8k87fv1x";
-"pst-electricfield-0.14"="0kk0jjlcfyvz5dws08wnm3qlhvgifrby88idssjhgvqgg8zpz3yq";
-"pst-electricfield.doc-0.14"="0zx7x15p6vxj1f9v8id7ba49878xjmbqzh762v1sy1bxygj9yb21";
-"pst-electricfield.source-0.14"="0n1rxq6jx331b0qlnpjy7mh84m9vdlrs8ckr2b3slwcwp63cs0sz";
-"pst-eps-1.0"="14grlhaxxhwmpw3xi3xv7n3bq3zx3qwd9rh707wfgz87iaj7jzvw";
-"pst-eps.doc-1.0"="0dz6543q5g4wsqcwcwablr7w7w5l6dk19m9qpgrhb1w8sg7hgc31";
-"pst-eps.source-1.0"="1cn9yl1prwzjvxwgyzs5jdywyirg9hy8g76cnl62gkk9ndmcpryq";
-"pst-eucl-1.75"="0h23rkrdnpybpqjksy411c028g54a5i8l3wjr85p1jlv4fph3kn9";
-"pst-eucl.doc-1.75"="1rspj40d3rx0xwv0sjy2rbgkkhccrayaj38pbr4l001dbpxk3h7z";
-"pst-exa-0.06"="1s94fbqpgv58zks5jfq3dbzhpw4p3gchhm32498m6bsp52kzzl7w";
-"pst-exa.doc-0.06"="1m7gwxbhnii3s7aqi8v09sq49010yasx6k4p7bx43rhir08v1zjv";
-"pst-feyn-0.01"="0qi5zll29rfc7jkmz4hs0y22if5qjn13whaf7a62rdfvbdp1l87x";
-"pst-feyn.doc-0.01"="184d371rhqn549a9vgvdh92ikzphmdsbskny0dnh0pcgxzwdabzz";
-"pst-fill-1.01"="14rdbc3mpi3mqc9vlwnrnp5lz1d0p55w9gqnkiv7dd8yqfrxvay7";
-"pst-fill.doc-1.01"="0b3swpsp6b323594q9rfrpyzlv4rsalnjs0qpij3fvmngpr6baj8";
-"pst-fill.source-1.01"="12xvv4knjv17b7am4csyy005lhmbxdz8s6kz7w54gcjf7py1kh4v";
-"pst-fit-0.02"="1sqdysxpzdlaph42725hvdgy672mzdmhz7scizb0jr5wnq3rn9x6";
-"pst-fit.doc-0.02"="0lvvy353s1py998a7vr01pgvkl29qp60w2gyrxxwjig7j7ihn5lw";
-"pst-fr3d-1.10"="1m0zz9bqdqw1hzwp06s4hma68wwm5mmswrp9jj3xc9r5xjyq7fk8";
-"pst-fr3d.doc-1.10"="1gpijw1iv0pg30kws1vclsy5yjd7rk0j3qspcjlmkj1bhq3fjrgh";
-"pst-fr3d.source-1.10"="1zvssd11fg4hf53rz4c6imsgi77kfcc7l9hh0ni8jnznlgmdjkf9";
-"pst-fractal-0.11a"="0hv8i75hnbpbf05sw4zjf2gal5pc0bzc4mf92mjdkvgnwbrpy58f";
-"pst-fractal.doc-0.11a"="07i2fma5sj2g63asl7rvaczdcqdfprw8s1z8q13s1v9i2rzq3asd";
-"pst-fun-0.04"="1r1zvnyg5m16fifi5xbzn5iypr4n4d9vbnqi42h6a4m4y1wb3qdh";
-"pst-fun.doc-0.04"="1gb9rz3kz13xzflr7r00dalqri10lbn830v3xcpmb4n29a2bf0qv";
-"pst-fun.source-0.04"="07kpm9irvp7dn0hd1wh08p7lfbgn78jj63yqzzxn1jb4wrb4qkx3";
-"pst-func-0.96"="0avpfmvnxcmqvxk8379gk37pnhg4yq760va1ly9vqbqzz4mxrf8v";
-"pst-func.doc-0.96"="0k9q302b633sc0h460h33h53k78v37a0hpkjkicsv9prxkbvckcz";
-"pst-gantt-0.22a"="1hkrmdwg7kc4xiif4fvhjwbj2ryxlrbyqb7h2n3rk2jmmky4hv7p";
-"pst-gantt.doc-0.22a"="1fqkwzsliv1mg3lyidgcsy652l5d2qy7x1rjix9swvk4vblx4fjs";
-"pst-geo-0.06"="1s6bqzsvq12jmji737lr3yc5l91ksffz1wgqy8i4r258x9s1qmc8";
-"pst-geo.doc-0.06"="1any48dgybc60dsfkcccgbai5rhgqga9q6fm4s8xlc6im2si4aw5";
-"pst-geometrictools-1.1"="025ai7cw5vv9a4n2gdp68gavmplp4cj3s3n14jhk5ga26a411s0n";
-"pst-geometrictools.doc-1.1"="1z2pgbf426p5qqqcpd3iqhdhk5izgxshqilm0bky4b459wagh9wx";
-"pst-ghsb-54074"="1cn63i49wi6ddq59vfk96jq8kbziivfdgyvvvvj4fq4g7qqs6rbp";
-"pst-ghsb.doc-54074"="03j0c92kfklj161wv59f9x4npsbkvmv39xvza5mi7s63m1ma23wl";
-"pst-gr3d-1.34"="10jn2wdc908z2imnpcv03ffm83228fam0cqgmgmcss1774r2nc18";
-"pst-gr3d.doc-1.34"="0985ydi7jfsvlynjs5ddjhyhbh11nficfphy6qnvbv0jj367rabq";
-"pst-gr3d.source-1.34"="1z981d54aclpbq9ggy28qgnsspgwkavalm0j68pj69jxbcfxrpby";
-"pst-grad-1.06"="0bzq77vj333dsgilfw9k7lslhpmk67id6p1z14aw7nfrhyc80082";
-"pst-grad.doc-1.06"="03v585i28dc65xrydsp5jj9nd6kfpmhrjkwm3w89dv0p32xyzh11";
-"pst-graphicx-0.02"="1d7zvrnhch7vj1l9xscg4ynj5alml7pb38zwqns403wvcdnmb1an";
-"pst-graphicx.doc-0.02"="1mly0nr5yc5rdghy04sarhrwlxiwnndk644s4czf862n92ammh5d";
-"pst-infixplot-0.11"="133806cabfd6c44b0sdhchcmqjqswy2q2j2ry5kr78dzdna40y23";
-"pst-infixplot.doc-0.11"="1cd3i5ishy7pawv3ah6486kb63351p1g2d7iwx9zh5vwywi1ymqm";
-"pst-intersect-0.4"="1wbipiav79g5cal64bny5ba872rr4848i32w64bhrl7awsddyq0f";
-"pst-intersect.doc-0.4"="1y45r9pdddh4pbb3bfp6mzss7whapf4bv7zbkrx7wmyjaal73s5y";
-"pst-intersect.source-0.4"="09pbicmzmx0nraf5s8b19grra8p2vvdl903kc582dwn7xvqrk3rn";
-"pst-jtree-2.6"="0082prldszninnbksndf6y5mklvp4zgdyk31v78axp5fl3mq437n";
-"pst-jtree.doc-2.6"="1hgy8iavrhzw6w8r0avf3h9x52fdl3lqshf6mxqpffaq1b0s6xqc";
-"pst-knot-0.2"="1m1bzq66jan3miyp6r9j1pkk7mim9xjn28ldd1nni06v65hdcz48";
-"pst-knot.doc-0.2"="0gfxyryyf75p89y2l1ar5yfy5c6qawbz503bnpnw7n575rhsz36d";
-"pst-labo-2.04"="1wman8073p41gxn5aa0jilpz8jl7zpk69vwid6f0981m3vc1jdk0";
-"pst-labo.doc-2.04"="1zdyp20x78zxqp07dcf6hiynlsq04s5fd2jjgjcs3mbjfz96yi6p";
-"pst-layout-.95"="0199jrw7b58x6qby4k48n8sd2rffxlkhrp334q2dmalqsi701l89";
-"pst-layout.doc-.95"="1346ww24d9c64h03zgz7m7xdsnvkjy27cq4nbjn56bqcrl88982d";
-"pst-lens-1.02"="0220idbrzzslcmlyxxzj52mj9iai0p2ya10ykgkssyd8nfbl2jin";
-"pst-lens.doc-1.02"="02hbbhdnaz6cc5zkp2zmm92kbk0ppzwljivr1grx4g0jqqw8c2h4";
-"pst-lens.source-1.02"="1pwn8wx5w65xdz46qf5mzjkg74q296bkmzwsxw2aml406iksy890";
-"pst-light3d-0.12"="0glqibq1h8ynfkgn9r2p0yvgplydsigg5chj5gl2vq2hsb38sqg3";
-"pst-light3d.doc-0.12"="1njiml3v4vb7jxpnai69b08pdikasjk30g3xp31vixqrzr56i4am";
-"pst-light3d.source-0.12"="0rrgfxsbvfbyc1g1xsakmiiy7f8skmv2bkgq6vbji9y1f5s3b4zl";
-"pst-lsystem-0.02"="02m2g6kjs8fxifsdxld6ivjxch7vj137828xpax8s7abr9f4dyiq";
-"pst-lsystem.doc-0.02"="1apcp1ms40xhypxr4fq6xrh91ff15gplzllh3zs5b1w153xq3w8l";
-"pst-magneticfield-1.16"="0ppqqvvnyr49y7m7y0b4cbzld1r2l5y19y7j9pv1hixd3a8n0ghr";
-"pst-magneticfield.doc-1.16"="06bymmj54rrkv4alh6hdqj25gjwqs1sx1iaw5lv6ih1ys6fnnyar";
-"pst-marble-1.6"="0d7xlygws5f1hipyc2ba7spr2y8h3rprigbrryny3mw2ycdh1yqv";
-"pst-marble.doc-1.6"="18jzc9fpjcrhya1knqsxxmaix8sglfbcsiszxc949pf4zdpm50ym";
-"pst-math-0.65"="0xg3fkk9kmhyqnrp1iyblqc3a7jx7xhy6692nx9ffq3mkg7z9vak";
-"pst-math.doc-0.65"="1gpfqhs2vjbflrriyiwywhq3dd17rf8pdp9g2n02g8ygxgzqhv9r";
-"pst-mirror-1.01"="1z7apfya920d82mqzrivckavxviazngxz0n05yavkzslv07qsil6";
-"pst-mirror.doc-1.01"="046mk74wj1qxkgz7wf8d3cglrds9krm0v2mkl0hqp86n2rr45nnp";
-"pst-moire-2.1"="1i0fs9whsqjb9s7b3g2gm2mparw809nzfvz0ddl61qr6zg7vbdzz";
-"pst-moire.doc-2.1"="10xpgzpi9ihl53gzyvz07jbnz9hk9piv6jcbk5pah57g91ffs70m";
-"pst-node-1.42a"="0ma3q1l68v5dzch9z6z3idixgs8v9vp0rqij4fqafp3lx3vcpdi8";
-"pst-node.doc-1.42a"="00cmh35ciz3vmy814id8i0phj0j4hfjkbsm18wjyxj83spy24pyw";
-"pst-ob3d-0.22"="0pglxl2prdi347qqrjpyk6hr3arhfc4rrcz1mnyz7q5jyamlskp5";
-"pst-ob3d.doc-0.22"="0s0jyb1s21pkmdnz4wdz793lbvidl9qdfh9cfqa0bwx9mmjvhpnb";
-"pst-ob3d.source-0.22"="0v9kih4gxk7aqwynihipm1595iswwkv5y6qj262aikhr6bz8v0sa";
-"pst-ode-0.15"="19kqlpsrrzbisg7wjk2z3a9f1xdl3msx01x861yw9nrqh3qn1ddc";
-"pst-ode.doc-0.15"="1bgc5hi7q0sjjq1qfdkfa80nfb7d4k964k7wx4382b9cg6m87zlr";
-"pst-optexp-6.0"="0j41zdqyv33mdk70i8smkhznz2bn9h4gzamgcrv0744ydibyijg5";
-"pst-optexp.doc-6.0"="1rbz7x37y20xnabd233frd4w1zpssd70mvl8pzzclyr40d8s66vw";
-"pst-optexp.source-6.0"="1sbpjr2d8k7ycg072hvl535lhh0093nnmhvb935p66r7ipcqx2lf";
-"pst-optic-1.02"="1591vaw8y2k99vr0g8dy11grrp98hvgqw5rl9zp501dh3hnf181d";
-"pst-optic.doc-1.02"="0q76b92w32x744y6ri1nf2dnzv00kyw32xyv3l5snvs728qdvayd";
-"pst-osci-2.82"="0gz1ac21gwhv2xqf5ny0zzgi83yg84qlxgx8mdj9xpnnpv6mccig";
-"pst-osci.doc-2.82"="1gdx6a07wg5bmfpx9myf7wxa309j64q5y2q1ikzfgf5czy0mxpa3";
-"pst-ovl-0.07b"="0p4yyrvagfjamwd1f81qyfhz6wwjpqi6nfazyl8ml1fd7qjv1g18";
-"pst-ovl.doc-0.07b"="0pqh9sz0l0j0bzvsva6kba6gm7cssy36i17px2zrr3lc9k6yajf4";
-"pst-pad-0.3b"="09z2dkb2h8hmf46b0h1b235d1yjv42dgx55pj5s4dbpxzgam7ljz";
-"pst-pad.doc-0.3b"="1c597riwdggb0fli4w4ay2iwkqhaiwxy3mcl9diz8lijy0h4fpk8";
-"pst-pad.source-0.3b"="0b2w0pgp8njbndx6x3hq0rwxsr1gwf848l6gk3vrkksq419j2506";
-"pst-pdf-1.2f"="1klgwqpc3m5k5ciiqb070h48r9mp4hmssp4s82k79n6kq45ar33m";
-"pst-pdf.doc-1.2f"="06b1kpazsfn7gv2npfrnrmxlky5mhw6dfyzip2lwd243m08jdagq";
-"pst-pdf.source-1.2f"="04b0kpxmzi42116pxmkdjl87bm6j22wr62w7bka9qww2ifj18na8";
-"pst-pdgr-0.4"="0k7i88srnysbkk62mr3w0fgv3dz8hlz96nlxbrfm4arhxs6ah2pb";
-"pst-pdgr.doc-0.4"="08lj4bd028bzwi25j21h98ma5zw72hiarpcn0nbxwhbbqz865q2m";
-"pst-pdgr.source-0.4"="0q2cadndr14x2sjjdsc07xizrb9cv8i5q8w14lrwr4xkamagav19";
-"pst-perspective-1.05"="0g88w41dpz9607g286ahba11af2a1x9zya4saxhjd75j9il0h4k7";
-"pst-perspective.doc-1.05"="04gim8i8fmy3ysyl1y237cn0xfdsiii2pwkl6y79abz1gscn0pfj";
-"pst-platon-0.01"="1crl7q5r89vl99jj5f6ki8vnz5f5i15x631ra811033xmi32z4yh";
-"pst-platon.doc-0.01"="08d0g6mwkqrc81g5dhk016bi2dvr3jz389f32kx89w6n11iw5pqr";
-"pst-platon.source-0.01"="1c4pmwrfk9yxg8jshhy5y4bwvlwwm6xn39lgr3xdvsl9bn5pfz2b";
-"pst-plot-1.92"="00kczby29pw6kgsva5xfz7db98r39g3z88vwxm851dlv4mmvxadg";
-"pst-plot.doc-1.92"="0axc5gm6icivnrb3ncyy36b6qyllaacifml2p1ik0k0smk9ff8kv";
-"pst-poker-0.03a"="1lbrwf66hsk6pylp0cij3yxzn6y9z7m8wrsjwpz9xgshwqqjffga";
-"pst-poker.doc-0.03a"="0rhp30incxzsg7xv5j5isb6z79xpsbyv1qp1i1ihscwx2xd6iaiz";
-"pst-poly-1.63"="168ydw08wgqsy642w7nf8nyzlmxccpcbdvyc5h8vqc6i8xwrlzyz";
-"pst-poly.doc-1.63"="0ls2nf4h4p1dc00mmplc73bv5vanddvxkmxv5kix9b471xx0y696";
-"pst-pulley-0.02"="12w7rcb0z564xlf17258dx1q290i3p79bv4vhqpq5pp3wxf46c5p";
-"pst-pulley.doc-0.02"="1x3c2n8js6kvnmdrhnm5ng6amkwxmdlbnz4wsh807q5agqmq8q6k";
-"pst-qtree-15878"="1bv3xxysk2jw5n41i0c0zm2kx2r6qpyfqmpaf6dqzm08rn7ax1lw";
-"pst-qtree.doc-15878"="1kkcrdm930lr128ffzcqd3qvh11mrikiar3kqszzscpyfkhi8vc1";
-"pst-rputover-1.0"="0ahx2fjnwgamdb4r6v6q3bg72xpgvpfan3ivvbi0gvvnah98l4zv";
-"pst-rputover.doc-1.0"="18gaman0znqzxdqw0r2czb30l18wh5740skvsclvn28b5wfa0i2k";
-"pst-rubans-1.2"="09lmil6ishwjaybj5nqabxm20xwx8nw1l9dj9bbjxg42h1wz26mi";
-"pst-rubans.doc-1.2"="0l6w0hssg5qmi93inh3n7wk7hps44l8w5xvj4x4rblh3fdlrrb26";
-"pst-rubans.source-1.2"="0phh3kkxrr74y6fim8ak28sdxd5fn11c1nyn3pksd7ddq0qy5gva";
-"pst-shell-0.03"="1j97kcw8w52q1ispkpbwblxza7q8v25288pzxkyc4yf7802a3zj1";
-"pst-shell.doc-0.03"="1i5dbbnzadhc47mg7bdv6vas7ynkx2c4qpz0khcvrz393kszjkdm";
-"pst-shell.source-0.03"="0rc6j6cy5kwh9sq2gp5scxpb58ycjqdycnmnqpy67xha62fnhcsp";
-"pst-sigsys-1.4"="1v3yz2vhazp04xjd0bp4pyyiz0v4yq7hbr9mq0m2s8pg3hisfbwr";
-"pst-sigsys.doc-1.4"="08m72w1jxrafcbr19fp0yvii9aama1rfl9czys6gr3sii9ks6qxa";
-"pst-slpe-1.31"="18f99ravk128r2cg84yxv3cjx2df8fgzq1f054z5g5ig1s5ginws";
-"pst-slpe.doc-1.31"="0g8dhw27n2vf73289y8rah5xakb60cy23993vl3ygz1cgrn356i5";
-"pst-slpe.source-1.31"="1mxninpgycpbakvmc9qc6032mncz890k5ggsfm507jzyfxrdp5lg";
-"pst-solarsystem-0.13"="0n6w3fyggf7favnr90239b6dp2j7q31qi5yjilxdw35s001m1ghj";
-"pst-solarsystem.doc-0.13"="1bm77lqaqbjnhwv6fra0g05ij4l9vj9hh7gs3sljgdmwy4syqq24";
-"pst-solides3d-4.34a"="1sayghfxhng2kh2yn2j095c7bymcfzwa0w6wd31llvp0pqzym1rk";
-"pst-solides3d.doc-4.34a"="1kz4855a4b9pjf35wvdb3b5vi3c7zwv8pf3d38n613yg3gmpmr9h";
-"pst-soroban-1.0"="0fygllzq9gp37nkffgk3am2vygl5d5dwyr4avf1gvh0s698jj8by";
-"pst-soroban.doc-1.0"="16a1w9ci7ivqf30hvr23fv6j6clqjb4y7nmjgcbfz20xzxk3aa1c";
-"pst-soroban.source-1.0"="1h6srvvl3s1prswlj608y7pj5l4zzn13yqrhdv41956ikd1wbb14";
-"pst-spectra-0.91"="0nd87bnxf8giakadg457p10idbnn0m982l0pgyx23495qfxywax5";
-"pst-spectra.doc-0.91"="1y40d08nwnpkmrm0jdj69drpip1gwkd8n9hqmairl1wccs6r6dhk";
-"pst-spinner-1.02"="1nkmvjy19cpxqs3ii3djmrr6yj8naf54a97jbprs37afml3zql2d";
-"pst-spinner.doc-1.02"="1sff7bhnxjj7cmixl9qbfvglya79187gx28swxr7mby9ybf941j0";
-"pst-stru-0.13"="16i39r6vivs0z1l5l48c3vky9bac22n5k7gddfj7vlllfg6llgzs";
-"pst-stru.doc-0.13"="1cl5sq39pfvwhww488kq0cgnlihf63jkhqdd4rciaa8vf55mc6wm";
-"pst-support.doc-15878"="1470n03zanpw35dnfzyjqm7d5lgddrimypz28x0zsk9nqpamnqnv";
-"pst-text-1.02"="1s0dqi2mpzlk8069piv4z7jg370navi4r5z8aysy9vx8n0vm27zf";
-"pst-text.doc-1.02"="0ia6h49lfi9394sfr29wmafbhvgdm5zj7q13zll4d1agakn48j27";
-"pst-thick-1.0"="107cprs3hg9jmkdq00w9wc6bbkqmrdi91zm7bjhih461jmqax88c";
-"pst-thick.doc-1.0"="1irf2v4yg0w5v40m2przdcbhr51qjcrbj0s0i53rq4w4v3gl03hm";
-"pst-thick.source-1.0"="1qwxccyqzhl6mikl6jp9s2asz1aj96l86yq9s8nfacjg14vk5n4c";
-"pst-tools-0.10"="1x5c96fr17krqqhla1bw9qlgd29r6a97nmjcb5xy3qnfhg988mq8";
-"pst-tools.doc-0.10"="15pfzrg0xab8psbbw41lvxk4r8rfi180575cnmj3hvgklnsrx69d";
-"pst-tree-1.13"="0j41snn7zf7nrxkry85g1viac03cryhc6ixrsjqfx6n92l2l2fgi";
-"pst-tree.doc-1.13"="18m5a9gm3sdhz2dzdlxc6k2rjnjazd869gsmq6rg83davgj5hp4a";
-"pst-turtle-0.02"="1b5948sqlh4yaf4j3id2zq9r43v6s3azhbjkww7vmxc53rfcqfpa";
-"pst-turtle.doc-0.02"="1wfka7rwysdd4pyb4nhp1fy4f1lnqg32l6rjmqfd17fzpkmb3035";
-"pst-tvz-1.01"="0ly1mqlv7fx1xjivacx5dwwb1fjhqfplps9n0wzypvbwyd4nbaia";
-"pst-tvz.doc-1.01"="18pcvx7rlvad0a6hp0q8sq5pf1y1rfydyqd11bqn94d56nqw6api";
-"pst-tvz.source-1.01"="00i2akla1ibrk6hc0rby5q9n3ji4zlrs52d77y9iyazj0v3fab5i";
-"pst-uml-0.83"="06bll6q06szfsaib7jf09915qvz0rzf0gp5c9crwb139gbpzvxwq";
-"pst-uml.doc-0.83"="1c0pna78alfhi8i7bqr9zwcxx7sksi3idin5wyqa9dr95a2pwd80";
-"pst-uml.source-0.83"="0q5x7m84qdv8sy7x2nqfbhwp1lryr5vkji4hf74a0ialc617nfvd";
-"pst-vectorian-0.4"="16ljzar4sqq025z9ff4nvsxz4izvm6421jmndlz9908jbycqq8f0";
-"pst-vectorian.doc-0.4"="1b58x9dn16waw2vr24cgrc4kssfavwiryanp9ljdvsq3h0rwwics";
-"pst-vehicle-1.2"="0ibvvjlfnlxdrsfhm35r60r66jms2y674libsqlpk7f5bww19x4v";
-"pst-vehicle.doc-1.2"="034zhw30ii840mzg2ix2gf3xlqrkiffpjfsszw0w9nqqyp8r6vls";
-"pst-venn-0.01"="1i9frqc6b4wg3pb0ks4v0xxsfzs348ddhncr31mhfs39nbj6029d";
-"pst-venn.doc-0.01"="1y2pz45hlm2gd1lvj8p40ldnl04pzccgbsa3asnbpcifkx3gj4s7";
-"pst-vowel-1.0"="1p1adlrg62jsqzkjkl8avb79w26kkd5jdssmkcsd65dg5qfa9x50";
-"pst-vowel.doc-1.0"="0wyl0mvx2d0zd8q0sdmyrqgr72i2igv0669ajv0gz8miv04vr41k";
-"pst2pdf-0.20"="1rm0frzi52i3irfy5703kw38d3f1grby27nryjpb4ziiw6n5yizb";
-"pst2pdf.doc-0.20"="1sll10kps82b47npv2g2r1l3kkm5y75mp2p2pzqsnxxivgl5kp2l";
-"pstricks-3.01a"="0dlfwvlcwl3ygrxrvfhdkpksdicg7zwvijyhkq2f1a456ainz69p";
-"pstricks.doc-3.01a"="1jva7s7fw9kyx1i5l6l9n37k4p5pcypjsjn26ci4p41405z2h2dz";
-"pstricks-add-3.89a"="0b702qc6i9ic26n1wxsl40r0mjck73ibsnpsbwq14lzq5yjw21mc";
-"pstricks-add.doc-3.89a"="0h2wi9604ajmc8801yb382i2fy5krrq0bsqnncwy606j11w834np";
-"pstricks_calcnotes.doc-1.2"="00vgcdf73p4143dfjcvs4b5v4phvisv76ink3iiijl6s6f9zbmy3";
-"uml-0.11"="0gl1063pjxrif7qpq9wxwajpsp32idmnlsq27y668lwpkpm0vmzn";
-"uml.doc-0.11"="0n3flbps3s8lhr9pimdw41kmyrfvn51pddm4d3yc08v96sgg65bn";
-"uml.source-0.11"="0ylzxyl44p0574qvga9arjl84ip8nsafpgabbwjrk2kcbs47jsi2";
-"vaucanson-g-0.4"="10dk1ff3swbnx6l6c30s1ryn2dbyx9harmrcg7whmqdys1mahsbq";
-"vaucanson-g.doc-0.4"="1dlf50f0hpislqkcbr685y5xg7iz2y6zvlzjdkjq3af4qv7ncf5n";
-"vocaltract-1"="0af79zsabml28hwhf2nq19s1sf7p6kljyvz6c2zlbx96a5k9mjs6";
-"vocaltract.doc-1"="1sjvklf54r6znggylk2wyf1fw806v8msc2g24ibv4p1ia3da2giq";
-"IEEEconf-1.4"="1w544ygz9wiw8680f7q6iqpi40nblx7jl208spxmpmyf4p1xfgdn";
-"IEEEconf.doc-1.4"="1s08cgfch5z3giimyrz88p9p88p7967cm2cs6avxls9sm4a9y9aq";
-"IEEEconf.source-1.4"="1ngzyzyk23xsrmnyvxbfk3jafhparpqlg8wp5qcd1n063ln8h4ch";
-"IEEEtran-1.8b"="1s37a8b870d5pjc54cjczcrlli25j6hgnxxxljab4fa2b5b7y4xr";
-"IEEEtran.doc-1.8b"="15xi8241lp45mvnbl6nay60mbdzww811sj6dvqby7236vyi7lr39";
-"aastex-6.3.1"="0w077r2lsir646ix8n40wy5vy0lnw8vdlw1nmc6fvw2hmrf3w4vi";
-"aastex.doc-6.3.1"="1rdpiv6rlcbd06flc3rk7a1y3xi899h53r6binbjd0krvrss48s3";
-"abnt-55471"="0zw8vdmqcb5qddc0rf8qd67fwprwjagzy8s9ildgisb7arqmbj5w";
-"abnt.doc-55471"="00m174q9gxsm23j3fla7m7lj5fbr7iqfw02dz9s6481nfsjh1wgy";
-"abntex2-1.9.7"="1q7r2j7c5p1f0gbrc3sjd5gjq2mhljf1nj5n5760snhwj3qblr66";
-"abntex2.doc-1.9.7"="1id5yj5kh0qgjywbiajaf5hf9ix9jq8178fv2kvp1yslra7r20s2";
-"acmart-1.75"="0mylq7szpa7hz9wzgfj2j5lfd7vh7w3g2vlk84alvplfkgha8ac5";
-"acmart.doc-1.75"="05zh7vx3hz9raa2jgxg1p6pwwk2g8r5lmzp3glv5c50rskcjaj6v";
-"acmart.source-1.75"="0sq2dq2a675wryy3j59c133qzns82a6hvga8zcvqw85hn7f1fifj";
-"acmconf-1.3"="17l1kcwv6wk5p752lmanlx0bmh2py4hfxranapgbdrhjpis4jm9i";
-"acmconf.doc-1.3"="1vyhkwqg0v3pxjnlwzwnmiffh6b3d9nrwnpaqjm24j9d2sc6cxcx";
-"acmconf.source-1.3"="1n8cf6n2fdb88xmnj2m5r3cjz3jlp9n7bn1yr717fsp2ks81pr3f";
-"active-conf-0.3a"="1chi30gbr7xjcs7y3p2y8vfg6hany4wbacdm4drha9pa9m5sxqgw";
-"active-conf.doc-0.3a"="1css89hbdg8zgl7zf2x7vfgbl90x7bjvf0c0m0akjk8fzx936g7k";
-"active-conf.source-0.3a"="0anxqifjlf96z4vvr031v26s73d1a1sgjp8xv9xxv0kia4l7048n";
-"adfathesis-2.42"="0j60iq9nzk5kbs12dqx5jk84n14kdlx93mcypwi9b2gn7kyqzn5i";
-"adfathesis.doc-2.42"="0c6k4xsy0jg95qg45bqk9527kb3k3azyxwpl2zrkw0ld6k47sswz";
-"adfathesis.source-2.42"="17irbcz9wjnc6rj9f736i2hw4qrjwa1gz5z6w7gvq26b68pkxrw4";
-"afparticle-1.3"="0516hjm1v88vk70ggagkj0s00n465y08fr2ys3f2gychrax425a5";
-"afparticle.doc-1.3"="1ajpc55z02q8wgriwzzm4f96dmn5bpi9n81zad6kay7c7vwfa9g5";
-"afparticle.source-1.3"="03cx2ak956rdwdd5ya49fh81vdwrzq9y813r1h8qcp618sr3h14n";
-"afthesis-2.7"="16jyz1skb9l78dwphggq23jm14zwhycmkx3kn0sm13dcfifrkxpd";
-"afthesis.doc-2.7"="091f4flclyahjlxwa640l7vmrfiyb4wqgkh19caq8fld96zkbjir";
-"aguplus-1.6b"="0z7mgsm9pa33gykhwzlmpa3shg7ragrz3jdp8qfakp5ck2mbjysh";
-"aguplus.doc-1.6b"="1105vsng0yramk84pfcg9pvzjbm3cbyp84m6sxr9wadw02z5kj8j";
-"aiaa-3.6"="1z91l7lhi5pnh2ignmskd24asaalhyhdywkl9j6a7dp6cplswhy5";
-"aiaa.doc-3.6"="1sz6inilvyaqhnj1z88rws7xwkhhpw35il4ppxw9kn9pwvnrn0vf";
-"aiaa.source-3.6"="1lsbfp2zvhpyf1vb1ia9hdz1i796dbfqpndcfy8lay48f89n3njg";
-"ametsoc-4.3.2"="1ma0kxya5gxirqh9dliz1g00bgkpfy4jkj1npjgwqvgs335rri81";
-"ametsoc.doc-4.3.2"="1jv1sdd8p9q4qk20k2id5zbnwacxicp7xmj1j9vyp6cm7z6sza8p";
-"anonymous-acm-1.0"="0blyv8pj41qa3fvhwsk9kq8qwp8x0b1iz7vyc3lxcpcv626aqr2h";
-"anonymous-acm.doc-1.0"="1j0fhwv26ziw6rvg1s2x0ry5yq2sfa8a55xvpyrzl6pjmzrj3czm";
-"anufinalexam.doc-26053"="1v1k74vxidgxn5zzqz6v9zga468kcf7hwdrnvw44cd318221y396";
-"aomart-1.24"="1dczk7aan6kcczp3jdb2x7lkrbjaxk8vbbqzcjfvrmigh6fdy636";
-"aomart.doc-1.24"="0ka345n7kbqsnpgcyzbswg2g3a328ksvdwvqqkwvxbns1l6g5f99";
-"aomart.source-1.24"="0pzpbn7s9m4s6cy9nd9jg90s3km23nl3ywffp7p2hq8p2ms72rpj";
-"apa-1.3.4"="0g7y5l9908l4aikm0mqgwfcdg19dbllcgdp94cl1aha7h4jq0971";
-"apa.doc-1.3.4"="0bzicm0x6sf78jbrqp66mgfjmcd7kw0rgkv0c6ah9945b9lh4ly5";
-"apa6-2.34"="08gk55f1a52az88nckdljp67vqv5i1k3n6wwxhgqb0m66j0aax8a";
-"apa6.doc-2.34"="1lk20c5lr1l3niccfcagn4pbfqgixivnz6sx1kafvljxg5gw2k8g";
-"apa6.source-2.34"="0qbwizqyyjc72c8sd2p7pyhdcqnv4xzsapjyhyryaifpm7x6dck8";
-"apa6e-0.3"="1da46dhvpwmjvm3ma4zbnfgsc2yiqg9d6rdrw3bd5h2ibs3vnlmg";
-"apa6e.doc-0.3"="17m97m9v0pcs58i3k7sdj9h1vifv3f0cxxyn4fzi8pxvzljwl5qm";
-"apa6e.source-0.3"="1155ic0k6f6gw6zmqq8pv74hcn45skjzyarf9vpkcksj96qr07ba";
-"apa7-2.11"="11ikpp9l7w0iv6bxdl1m4r3zbh9r2rilig56187q7fd1x7x9pngq";
-"apa7.doc-2.11"="0fvfl5ag5d0rdax4aa4x1xz1q6vcvdzlj2k58x08qk6gvv1qqvzr";
-"apa7.source-2.11"="00zyvd1q8zpmqrx244ljh7caxhdfzz0yv7ph8vc0c0x5rrbz5r0s";
-"arsclassica-45656"="13fql9q89zkdhid841hwxyrdbj6bd692lnc52d0yiibrd9gd9f4a";
-"arsclassica.doc-45656"="13cqb49296wzph7msrhpzswlyknvhrjaa81509l4j4mx1snxyk4b";
-"articleingud-0.3"="1ydj9dysf2qgk36ssp8pdr4c6dh5iw27kcw4ykzkx22ih5an0n01";
-"articleingud.doc-0.3"="0mkv9fq0hixkjf40la5na4dh0yqi3adgr8fyi1x74sbyi78gmfhn";
-"articleingud.source-0.3"="1h1w0fxa1cyw5d943mg8na7hxwyq2ki40gql9y0f7fdx31faiavv";
-"asaetr-1.0a"="05ff3l9qhk7bc2k2kk0acpyy4fxdfh3crngj7lgnvwbxa5wh8dn2";
-"asaetr.doc-1.0a"="0whp9d9pas44j775i4vn7zh5ss0yr4q5vbx51kz768zwgs5x8222";
-"ascelike-2.3"="039w1lm3bpfrrb5inrmzklmr9yic7x1fs0lpjl8z49mijvqsv1df";
-"ascelike.doc-2.3"="1hb732idc36m86qgss7wwsyqj6zgirh9qvf7ybpmqz6arwsml46j";
-"asmeconf-1.26"="0czrnypfx3yxcl1l8pmlp10nic8m6q3hd9rq3kc978xas5ijpcbk";
-"asmeconf.doc-1.26"="1awjrmffg318hzfkw8qj0zsm8gfvr06gjmyn1x2wfz71wylvgr66";
-"asmejour-1.15"="0vn60anrwncmiayxl69m89ndh6id7sarm74lymkgq2sfdqm8yhdj";
-"asmejour.doc-1.15"="10zw3qvdd8ax3k8js8k0acsnp7v19faypf403bg7waxi6if5i9iq";
-"aucklandthesis-51323"="1zlsa80vbby0jp46jicygq2fn64f1mgppbw6bq4qm9ncsapdz92j";
-"aucklandthesis.doc-51323"="09n2pdviw6xvh9ymka32pyscn16vgcxbij79nq0hxn6b6msxnlq1";
-"bangorcsthesis-1.5.3"="1n59ivvxhdafbryz22llxbgkpgc38ks5bfkhqcmb3yckk50awyq6";
-"bangorcsthesis.doc-1.5.3"="1jnhnf8vzqwyfnxl4bn666ak1fkfw3igncpv2g9569ky47f3133h";
-"bangorcsthesis.source-1.5.3"="0q5gbp2zbmz9i33xhhpf3ir66jzcqqdr7r6zi9gz3biqr4wm8q3v";
-"bangorexam-1.4.0"="0aq9bswsygpbsjsi3m8gg3gsgwhp8i1hfapdvlf9055i7d09lyxb";
-"bangorexam.doc-1.4.0"="0x5bhac4gryhmld733dk6zhz2z9w7gawy7yv432v57hc9vvbhhw0";
-"bangorexam.source-1.4.0"="18w8zf29fz1ilas7h9nzvn0saj52n825c8vkqsq4np40sa2ccn4w";
-"bath-bst-4.0"="1psaz3dw0qd9z8cp888hyfl68j6rk8nn3pldvalfpyb1bmzr6aza";
-"bath-bst.doc-4.0"="0v4vap8rvcmlkz147y60pc0prc8ggc0v78laags7jnjpw6f887xx";
-"bath-bst.source-4.0"="1m0j1rm20q6h8ywcsf0d63srgbnr93kxacs53jllan4pc7vjd7vc";
-"beamer-FUBerlin.doc-0.02b"="1ragp50ky0p240cyx9cbwhri5k4ghzbvclps9p40wzgjlqf8a5ws";
-"beamer-verona-0.2"="018ckad1q7ffkixvf6q9a5d4fzgpkpf9qv06cfv0rjwp80k7psyg";
-"beamer-verona.doc-0.2"="11vv18n971pcmn8lf2cya7jf55x8zw1d9s4sg2l3q76rdj7l53ra";
-"beilstein-2.1"="1xh2955zfnss2n9g8rsa0m1kad4b4xpsdrjj891kj97hhgd9hpdf";
-"beilstein.doc-2.1"="0k78mwjqqib6hx7c6lcxkzrbg3gfw64a68fj32g0wpvdyj406ssf";
-"beilstein.source-2.1"="120gcmpz53l2pzagh40nsji9g86fq4xvahzhwqqw7p01r03wc0cl";
-"bgteubner-2.11"="0a8zhnl1nxzg5r525sn8sz44crjdm5fmy09glp8cjj7nic5xj32g";
-"bgteubner.doc-2.11"="04nh6c3q2w984x7kmgj023dbpjq9mqciyg4xrypgc4zv8wvcgv1w";
-"bgteubner.source-2.11"="11g65q55cv4s72cpraxw7yj4qskkhqhc0mz0sfy6c8jrq7255ils";
-"br-lex-44939"="0pdhzadajg5vx5da6ildn9k2nfvf1ks4pxjgm32ajpcpfxbjpwk3";
-"br-lex.doc-44939"="001822zh0f18zvf6b51qdh4ykkv6ywqa5pm8q2vsmjv8rayjralg";
-"brandeis-dissertation-3.11"="0lil19vpr4c7lsx4vysszc8knqzp06hb80qxk4q9w3ljg6k096s4";
-"brandeis-dissertation.doc-3.11"="0ngzpw5mwfg2qz3r8gz275wc6i434h5agcpw6h265pdv2hgx9qnp";
-"brandeis-dissertation.source-3.11"="0qdj81sxhj43ajq4zflka7b1cbchl6djz2lqq5psa2z3rf49kv4i";
-"brandeis-problemset-0.5.5"="155al8iph3949h9859w32q6v885f0p6wd18m53rkliqvzc6d9f71";
-"brandeis-problemset.doc-0.5.5"="168ywrm0cnk1l5fmqzpk9mxf4732mjb488gnqiz128dbsshh37yr";
-"brandeis-thesis-3.1"="0h7n5gfm76vzq50g6bkz99l5wbqv97rmcb8wqkpjwqs0sg3m02sc";
-"brandeis-thesis.doc-3.1"="099cwm9spgfdy222kp5m71wf74a744jb39wkhxgmyqmv8jdlz7hh";
-"brandeis-thesis.source-3.1"="1cfg5vk58csi6cpkkiwbikan438zjaac6vw33kxqv73h8af4kz1r";
-"cascadilla-1.8.2"="013x6his54n8q3qp2xx12c0s2fbjca1ffmcb1kjy0yr0qy0y698z";
-"cascadilla.doc-1.8.2"="1l8xpfmdp2sc54qxx0ywh7im342nd3kbmgkx2pfzwmqz3xhpybfd";
-"cesenaexam-0.2"="15n0abwviaz213q00nv6faxc67fyqz44mvp28zcyysrhmrcxw159";
-"cesenaexam.doc-0.2"="0vqxkqgyg79kzfcxh40knxh5a3d2j6q3f778k2npfz70d2kaizj9";
-"cesenaexam.source-0.2"="069n1sk2g5n9cqq9rchk9w5y40igh620a1j5miscgykcczv2y0jw";
-"chem-journal-15878"="01s4sbmc4g96cmnbhx9a6bqjskkrr6saq91cly2pfy5gr256vmnq";
-"chifoot-1.0"="05p6x3l0vpzgxqw4pkl5b8hhkfg4jqv83435z8db140gsk2sz2p0";
-"chifoot.doc-1.0"="02x1z9dbnzvbvwfyqk8axkqhzchd1dfjdqsf4xkajxvjc13dhcwy";
-"chs-physics-report-54512"="19ci498mf3yy0xhmq4ghy8yh138dzs8953ki2mqn9hj6jjx71yfm";
-"chs-physics-report.doc-54512"="1nfmbhp3gqmf2pdallpnrx9hqlb8cwkndfri8i0mh411hrh72jp1";
-"cje-1.06"="1vs4752d8c8jsj2yrrzk5xq43vs5sy4byp4fjgczlxas0vj0v9bb";
-"cje.doc-1.06"="16vyabyjacg4i2a362nf78dp59r1dgyj3k5rcs13ilq62dy67ia1";
-"classicthesis-4.6"="181s8s8yk6y9haxz66ks1v6wwhpff2vs7lxrc8kshg1mn26bya4q";
-"classicthesis.doc-4.6"="1nxj2qflzs40mwnpd02bnbnh0ndm8rx12mr1vyyy6v3sc6g28yn2";
-"cleanthesis-0.4.0"="0wsib3c130m19r4z3ghipvgqvmfhi1cx86670ad3ama3rdmc3zpn";
-"cleanthesis.doc-0.4.0"="0hhvak1l5zc4bj874rd0i6v15v70i3aq2dlv736csvd2b764g6y8";
-"cmpj-3.03"="0hn69a35zkfrgy2gndhqlrclhx13c7515wqw28j4fk6ffpmn6arh";
-"cmpj.doc-3.03"="06yhinxa4s8hswzzh7d9x8v768fzk171fgi6kxgm76hfi4ydlw9w";
-"confproc-0.8"="1s4mv0g2x5mfxnkp0i29wa3ncbx9fa05qqf734fjppdzsgic079i";
-"confproc.doc-0.8"="021kbis3c73gnavrjhqa34fsbq5c94lmjym2d4ny2wpk9xagh994";
-"confproc.source-0.8"="0dpghxh9mq2sr7aqgcj15h6b4xh7x5hvdzph6606izpff8ac7h8c";
-"cquthesis-1.50"="143w42d3xw31dy8wdpqx01r8q9vs2an1ixnyil8n0q0af29j49bs";
-"cquthesis.doc-1.50"="1b7k2s3ils5s5yb3fdd6h0is494pss7s76awfn3dj6yxiaps5zvn";
-"cquthesis.source-1.50"="05gypg8zsdpfhp11rk7nii2vdw4rand5lw6ijkm23lbq2b5nwvwj";
-"dccpaper-2.1"="0k9qkl7jqiv3lf6z5f8532l1km1y144xx0dbz85qhdpz4zrbaikp";
-"dccpaper.doc-2.1"="1plk09cyld7xbxj2qppj4svqfdn9brmg6y30bf4iydr5zqznbcw1";
-"dccpaper.source-2.1"="1q0qxwcairm5jrqhwaq5hd5kbmh0vx20aaw9gv3i5f0j4fw4ldrp";
-"dithesis-0.2"="0spbmfqf2i12sp0qvh6875vp2zrgpkrhvbmjzwyxj6mjn1yr7r9b";
-"dithesis.doc-0.2"="0w9xgl8y2w1f7ns2nn9j5rs7hd39w6as2drcjmw4dc0vdbklkayd";
-"ebook-29466"="1jy79jrf8cd1rljg9f3g0hzkihxkpybvbgjnkzd5y6cfz7zaynp4";
-"ebook.doc-29466"="13cj8a88qqgi6kl1d7kb0cizl4i2pjm51hqnz9q03249av3z377q";
-"ebsthesis-1.0"="0vg8n4xrlxyjx88yzlsr82drlrigdnb870p0rxd1nv2ik2i1jzri";
-"ebsthesis.doc-1.0"="0gqh1zxb1w050a9dqnc5vhx1jgmk9kqk9k591s05xckidhnpp2v2";
-"ebsthesis.source-1.0"="0rg2bs23051ravdqv14k6yrrc993xpxf61zi8b94f0rjm3mg8f89";
-"ecothesis.doc-1.2"="1avnq2y5l2bc2lkf2g16p2vh77dabv52jr6jrm4jfm1wdapc6fmq";
-"ejpecp-1.9.0"="1wsbr5cc3msgvwn8p5f0jzbxg1qpx5hqs4xqk8hycxf9cf1gvc5j";
-"ejpecp.doc-1.9.0"="0jviim06vwag6d5kj7f8xmlgracqw0r4b8iv3w8x38yaqgbln7fh";
-"ejpecp.source-1.9.0"="1i826k5pwaj29yjg4kc0zgbay4b4xsjmlv7icn8d39zci4zf6lqg";
-"ekaia-1.06"="009wk5qyv26rdi9gjbaqxcpsyzz6l5w8b0wrg9avspq81hrjkg9h";
-"ekaia.doc-1.06"="1rbcnilarzap8kdsvypjwin1d13xskqq33wg6p0p02b8gaxzf3a8";
-"ekaia.source-1.06"="15fl2jhhv01vl7ggwmddpldkmwdj6gj99851aczv47lj24w093bc";
-"elbioimp-1.2"="1vfg29q8b20zi9lhn9nsr55hgx710ysk0dvfqpipqjf53fjsp0gs";
-"elbioimp.doc-1.2"="066g7g84fna6wy1slyh2sp9hmwjhp57hc3qf59gj5mwqvaaym8bc";
-"elbioimp.source-1.2"="1ysvjlmik0kclmcdf738vhl7xigsq8c6lqpgl3z2daarlqx6b8c1";
-"els-cas-templates-2.1"="1abq2g167zk3j6hv8dmbhaklfyv65j5i91k4mc7xrg2rlgjibdcs";
-"els-cas-templates.doc-2.1"="1xzhiyxd1dz3mmwhlkpf6h7qszgjdyxxbn67kbzvy0vb7s1c6fs6";
-"elsarticle-3.3"="1jjayypcaczxw69dk3v69fj31apics2356l934kmag49rwfzxail";
-"elsarticle.doc-3.3"="0z7iywirs24112fmdl8fm818320s3ilqlgc7xi6nl4idjakhfmi7";
-"elsarticle.source-3.3"="03pw09cw4hd0ixfa88mj7bijj9r3b6a6kg53q4hzzzl97bf6v5yc";
-"elteikthesis-2.1"="0q8s05q36825g2h7lci12zvss38izjshr76fb686h287pl1fylz1";
-"elteikthesis.doc-2.1"="12j0zbg2kq1dqf9b9qg9kifbajhc6p3gh1b4kixljbmvz2hqp7md";
-"emisa-2.3.0"="120aa7a4m1psqx3wclwzghq0fcyxs8djlf79mp2ds56y0mpsqx5m";
-"emisa.doc-2.3.0"="0lfx3hkpgl726bdp7kq874vch5bwpmnpypk7fch4bwqsi2x59iw3";
-"emisa.source-2.3.0"="0jqand86y23qs7yldi656xhl6da09ff8d260qz92dlqpngghpzrx";
-"erdc-1.1"="02sf80cadhv7if8arbjcsgqkb0hhdrlpq6izqgcai6vb7xsc6niy";
-"erdc.doc-1.1"="0nv1yqxjmp4mfksmxm373pmy3zzbfcfvi683dalpslzq2qyz20yv";
-"erdc.source-1.1"="1vpghcpm9a2pvi3plh7pjki7sna3hkzvq2xj9gzmhqxcpw3jskwx";
-"estcpmm-0.4"="1v027r6j4vxxvdccq83irjdj1gf6kzy5i9jb1bhsv7c2gdf3ihyx";
-"estcpmm.doc-0.4"="03q3z9if5hswrr086zi907xmjaijh266l5g9a140q0fivjai4hcx";
-"estcpmm.source-0.4"="1qb1v30ijky1xhh5dahgprp3fhxfm6kvlxgb059429idvm5ap90g";
-"etsvthor-1.0"="19iza3bimr7xxbajmq50iqd6cc1h82kz2lixwphn9568d5k5vjm1";
-"etsvthor.doc-1.0"="13cijd5cx7sks5jdy67hp1a08f4y223l0hxd3w7ljnvd5azzyc1f";
-"facture-belge-simple-sans-tva-2.1"="0n8wwl82w7hn11l3c3fg7nr088v2mv4s2d3ynwahgy18k6953pxm";
-"facture-belge-simple-sans-tva.doc-2.1"="10yh7528nms60ypc2zh9viamk9cihi0a67jcvwzb2i8f88sx4cfq";
-"fbithesis-1.2m"="0qzf6ch5b25qrhzflh8rwrljhlj87i6xaldnpj8j9iq83y1xh4jr";
-"fbithesis.doc-1.2m"="0wvnm716qi0y54h95zlqr7m1q9dgmjnl9f0ghvjgm886hljq752z";
-"fbithesis.source-1.2m"="02zmk6yx4v47ngd6ba6mjn1rnhm2w6p330rfz6nkq8shcky7sy72";
-"fcavtex-1.1"="1rnfrvbm4baslmmakf3s1n37razfzbc6d11b5yfhhdhskq2aci5c";
-"fcavtex.doc-1.1"="05ixrg17jwd315q5c52c4b8smcihj4rzrxjparrgfimivd85i3h6";
-"fcltxdoc-1.0"="0bnz5b9ibr3lh5qazdanlvvpp8d1h2apzkw61qxr6kg9ymmk2w68";
-"fcltxdoc.doc-1.0"="0dvr57jz38v5wflcjjp19rwjbisbzkdc91fji9s1yrv27drawijp";
-"fcltxdoc.source-1.0"="0k54q30f7qp40fh3clxyaa40xhsa28qyavn13km65s1hwvg4hg9g";
-"fei-4.10.1"="0bf9y73y9m7npl2bdnx5xqwxiv1apdpvnlqygvas8xcjx1gs7a4q";
-"fei.doc-4.10.1"="0w8m2mvsp68z6kylnn4waccnyn3fb766jipxcq6mhrgpv5jkxay6";
-"fei.source-4.10.1"="041ay6v82k6pmmxvdjyxj8drgv208fspnnrpmjijnlnn37bjc2k6";
-"ftc-notebook-1.1"="07ng7dgbr1swsx0zwm831wijqjq4x6hnr02354jdy9z59k6d4lyg";
-"ftc-notebook.doc-1.1"="0w9jxcfvkpif1fyd4xgwbfba9b2sf77mqr9symwby31lxqwrbys6";
-"gaceta-1.06"="1yimj3mxyjj36ib4lfdh65sz5w71rlp41hhnzz84kgb5y103wpaj";
-"gaceta.doc-1.06"="0vvadcqjj3hvjll9nqn3mam9ycas0zs810qi2jnq6smpm300c3l9";
-"gammas-1.1"="1wcvzihv3xh52s3ydni4gs3lcp9icmxinqj6znwyy680izmw67ba";
-"gammas.doc-1.1"="1al5rvpfavkc1p7ayknxnrs4r7jzx7f7dbm3hayqwg0d7jdanp8r";
-"gatech-thesis-1.8"="09bkni09mafpmmkw9hmfnn5894cjlpj418f44dpi0yriskx0aqbm";
-"gatech-thesis.doc-1.8"="0z6m0sw0wb87vcrp63kjmmivk6ya75mxh2jjwl31p80q8inyvz0z";
-"gradstudentresume-38832"="1i3rbv9ixnr60yrjzbj31aaq758638k5xvlarkaqsjvacc3wx88f";
-"gradstudentresume.doc-38832"="0nvih6lkbgc7jkkj303119fyxnajl4iha2baz2yhy62h4mq8lhd0";
-"grant-0.0.5"="1whd5f3fc72balvgifnb37583v0882xq51qa0fbb92b0a0c71nid";
-"grant.doc-0.0.5"="0zfz8gj8di6sx9k48zdn5hv5x2fj5rd8dm7x4h2k6xssrj4aw7bx";
-"grant.source-0.0.5"="0pmg6kjzy6wahhz3lk742qzx8m5afz8lqsl05zpkcmi7ris9m9ah";
-"gsemthesis-0.9.4"="1y9wj43qpcgp82sfi5s7izyf284hzkn5py0v145jx03l2kxhv90c";
-"gsemthesis.doc-0.9.4"="0fyadx4x8d64h75fq3xgmfxympcbfjhwwmwg4bpj20d3dbf0rh32";
-"gsemthesis.source-0.9.4"="1i5w77zwb9c4qc90hxz7sna8g2c11mkf3vnkkm3scm6pkbg9z0av";
-"gzt-1.0.1"="1d96hgipk69b0b342knnmahz84px2lh12mvqpy9jg4kb0d3pfhd7";
-"gzt.doc-1.0.1"="137b9cjdvi8f2pyhw036dslxbspq9sy88bgby33yasa7xcnyx9jn";
-"gzt.source-1.0.1"="1492wlfh9f67w1zfpmzy1c1c4iivf91a8fwhi9247yr2yaix06rn";
-"h2020proposal-1.0"="1yz8bz4nmccv0v700zz7x11fjdqhs4hgkz8cd6bnqr3v0n8k4xrf";
-"h2020proposal.doc-1.0"="0yd0iffrvahaci04bmnd20bszgshx28apsij1i35l1wjr1hlnfcz";
-"hagenberg-thesis-56798"="0zfp35s1mmi3qa3r7xwlyynncbrqbgxr1mxbcpf01fszyx5y3lw3";
-"hagenberg-thesis.doc-56798"="1brvzchb8zxnhrz2mksy9a2h0wqsa7k7w6bymi20jrzq3kgblln2";
-"har2nat-1.0"="0zaqsnvg46pdf98gzlxa8l6z8v9l3fd7jmf60nbrfba7jrzpy1bh";
-"har2nat.doc-1.0"="00n5qcljlpw2rq8x921vhsk7xvz8z43gxiq41qfzin696ysn7xj5";
-"hecthese-1.4"="06cpw0cfxmrzgp2ykkmabw9a4w1cy5lykh3c4fvh6i101czv9mv7";
-"hecthese.doc-1.4"="0227fi4qj5383jggcqrl3yj2rgi0chjggbzc6izfz782v0livd92";
-"hecthese.source-1.4"="0igfzr6qn6hnx7m4wzwgsgzfdv17k96m3zn7c71cm0fhqjzx0wpf";
-"hep-paper-1.6"="03b9l3101gzw5m0jhikn8aq18riy8z07yjnlcqnrgqrk72i515ss";
-"hep-paper.doc-1.6"="10af63x3awg87fzd83kqhz3bb1zpkhrm9kyjz42dnkm6pjn969f1";
-"hep-paper.source-1.6"="0m1kwilnja5rvb2xcjhl1kyibird9wz9yyq028kv5x3wbia68ihp";
-"hithesis-2.0.11"="1krjq1saz92ca0xcqzmjz6v0j1iyfx1g50c16bw2sa9kcm589kai";
-"hithesis.doc-2.0.11"="0liw73mp94dh4cfm2q739k4cy9k05fw21187f6iyp9d576hfv8nz";
-"hithesis.source-2.0.11"="1izdz82iv9q0xgg6i000j6sgywhvhhmmkwsi60k1vj7w6rkfa833";
-"hitszbeamer-1.0.0"="0nw7ch41rjp0wz0k508x2kkg4yqfpy6yfcl7n3rb88ps8fiqd786";
-"hitszbeamer.doc-1.0.0"="15kkzvgn1n09i7nnfd9mll1l6xqwrbpc252k54gi791nc30acaip";
-"hitszbeamer.source-1.0.0"="1ysr0z079l5k61v5r77hy2r150did3a1a29k1xppxrjr5ry3f4nk";
-"hitszthesis-3.2"="1cpjy8vdzmina141n5j0jqjls4rnvwabwj4by59j6vx5fq8d9ygz";
-"hitszthesis.doc-3.2"="1zps27q5x5z68d3s5wmhs4ihdhdv5fjr6ra0xyfaznbl1qz7n481";
-"hitszthesis.source-3.2"="0q3rqd2645fv81sw3090gama6wp0w1q4xn86shy9nrmc877z1ja2";
-"hobete-27036"="0825ng1xcpdmjihiffzjrvcvx2fqdz9mryq2bwffas22kf0zlx46";
-"hobete.doc-27036"="0il6kl26r8wmm6jzii7gmr61af84bl9dn4szlnw34dgsdg0an5hh";
-"hu-berlin-bundle-1.1.1"="0fyzil2b9qsi0qrahdias38w2k7flai2p1r8afqimsg16vix5ndj";
-"hu-berlin-bundle.doc-1.1.1"="0j6icx6ffy5lxy11myb1addsd0yz8y1n6fxzgyynqd6zd86w5pc9";
-"hu-berlin-bundle.source-1.1.1"="17x425hywz0gkzpg04v3cghq47ps89ckg4ywim98z4hy3pqvlacx";
-"hustthesis-1.4"="0c5akc97v3fh3skxpgmffywca8kyswmaypkyxdzwrqb1k2z4xknp";
-"hustthesis.doc-1.4"="1llsyhbgdz9k6swry84q539yjsvcxj6hgirqcw4vbvsdxxxsbyn1";
-"hustthesis.source-1.4"="0nqs1ifkhhzspdwg5nbqgpd2309aw9r65cav51vxpn2abss1q6a1";
-"icsv-0.2"="0gv7wrghqivfm8yb3nkm6r8jnvx7klbhr1nbp27cjaliz70aapa4";
-"icsv.doc-0.2"="0dlsqkdmx4nhgs15hhn0nw6vk6h3q3hhhwdymy8nnxraph2mvyl4";
-"icsv.source-0.2"="1fh1znhlacpci7v23aj9zdczhc87sg3l0s1gsvrbgznpadgbzbim";
-"ieeepes-4.0"="0nipchw9hdlc7am3n052bszilwj192pfcnc9p5alqnffrd8c4rdj";
-"ieeepes.doc-4.0"="0ff8xa7w5dmp356klm3lfr9dnfplxjqpq7aiczp6xj092vmjrhdi";
-"ijmart-1.7"="1j4i7f745nk80nghnpajkib2y6ddrzg16h0gn5cd215pibjaml6c";
-"ijmart.doc-1.7"="01ds6p3byc9j5sgjhh7yhbpv36idlp5g9afsqryvhfrwy3r9900g";
-"ijmart.source-1.7"="18saabw9v60rly8qp8vcgj84rjz88gbz4g2sda4i15lsjpmz4dis";
-"ijsra-1.1"="09dszs5ha929aws50zq2k7kia529bxfczs6j8bi0fvjnmf6kx3yy";
-"ijsra.doc-1.1"="0lb3rlqsscmnqn65l1aq5x5ismsplgbm1ks1pn6cs2sxdjy2s0ly";
-"imac-17347"="1v7zpbzgxz42b6zv0y3d2cmzzsal5mmzd3lb1nk779i82dhs6pi1";
-"imac.doc-17347"="0s64w9wkfmrbvkd8mij3y0asrkzcg2k58xjl36vfvcf07aw5wcr6";
-"imtekda-1.7"="1hhxwaykslzmf70lvmrmpnn2kq3xa114lyvazgfg9sccc990gnlf";
-"imtekda.doc-1.7"="0lzkiirxgvl2m0vnqpspr25qk1wyq1bs2sl3zi6704q3fvp6sqbq";
-"imtekda.source-1.7"="19h57cyxs47awil222i5svqgwdmw9mrm16wja9f1j980nzzaq7wn";
-"inkpaper-1.0"="10989ja1vy9ca451gc0v0mrkqi25dwv4fdvw9y4k6z26g7902hap";
-"inkpaper.doc-1.0"="1dmvkq44kyxd5y4l2kc9wvgrhgk4kkfw0qfqzi2faf9xd6jssrhk";
-"iodhbwm-1.2.2"="1d18fjqgingshxvsawkz9idybfz5fdzcd41qxk5hpqms7zcjymi1";
-"iodhbwm.doc-1.2.2"="0iqw7insxma8pmj5v12zjgs72j60z99g7w5kfkb1h6biwlx33s5c";
-"iscram-1.1"="0h6pciksfrabg7wgxsgzciw22cp6gmz9cb3ifdsqb4n4qk9fga6m";
-"iscram.doc-1.1"="1p0p4w7pkyc9xp5af1afmsibbbrylcfrdcbn16adscw8y6wmds05";
-"jacow-2.4"="06w817m1ll5p4bs3jngq8csy7xc97h918r9z5a2n43whc6azpw3v";
-"jacow.doc-2.4"="1vsc0nhdyzjjl4ajynl68cqvkcfal8ndknkb2zrzfmx2iic443g9";
-"jmlr-1.28"="14j317nhlc0ihr6d413ly2n8p2a38q8g25pii2a2j3jvdyyas83s";
-"jmlr.doc-1.28"="162cglkqy9dz0iydzk5f2g6dfwhi574xqw8xhq5i7mrrq111211n";
-"jmlr.source-1.28"="09wxsfm0x3l3y68brdp4jn3lg5w9kg23b1mjsvscls6pi0ac5sw5";
-"jnuexam-1.0"="0550skzwdanpzxa22rv8mx6c1ihr930rfaq51yp82dijgd211sql";
-"jnuexam.doc-1.0"="0ghypsr9h50cxafhca7h8pdvzh8jn02gh889zw6avk5wx5vixav5";
-"jpsj-1.2.2"="0yv7lkv7sr7qhqv0rmyislf0a5rcd125kqwbnfj3696cwhm5aqf4";
-"jpsj.doc-1.2.2"="1bmms10hgyl4gs91i2kpds2mn9x41ks8fjrislj2zl8y3vqdkc81";
-"kdgdocs-1.0"="1p1rcb0lzcsmgyqz5750pl2r73fd18k76gry45zfsr7750kwx7x9";
-"kdgdocs.doc-1.0"="0b2j3mw8z0f3d4pffqw2r9zxpmyvykd36sskkhfg7wa4q521nf3d";
-"kdgdocs.source-1.0"="0sipsvbi9254zpg0bmcfin60szx9q0vnx07a9bdm9ma11qb1djpb";
-"kluwer-54074"="15av38sb3pzffxvrxlbwxzgvhnxhsjhkr3qwrlqswwq1sy4a2ssc";
-"kluwer.doc-54074"="1cx0xya0s27mybl37gw3yx1rmcyvrxnrp8c4012gvmqiyqyx4sjx";
-"kluwer.source-54074"="17w0ybfzs9x8yixzl8cfldqi42sq2jpkyap8i08mvp8krqgviz1n";
-"ksp-thesis-1.0.2"="0hcsni8p92pm3l7mi56jj7mlcv5rvdpzwbv1jv5f1hb6xyx2pn4i";
-"ksp-thesis.doc-1.0.2"="01pbmmwwjzd5cq4xxmx3fknk8d4q3fda3680g344g5s6ra5i45nj";
-"ku-template-0.02"="1f45rknbzb3d3h72vznfzspg7vx9im59w5s5lwv4z0b4sk7n1d18";
-"ku-template.doc-0.02"="04gpy6a0mpjhbl9h2rnflvhxsj5b7x7fwll8z211fl10cnvalcxv";
-"langsci-58476"="031xf53v0w58k29xz1v6lin1yq1ya95raqxzxfcg665mp4ks55l3";
-"langsci.doc-58476"="1547xim0yrill63vw9h93aw7d0w3q5yl3wbg1cigbc3rk2v1a9yp";
-"langsci-avm-0.2.1"="1ayf5xbplhjgf2fcpxzhmdz2sz9bcjdnn64x4pc1k2yrk7zrva89";
-"langsci-avm.doc-0.2.1"="1b780ydqh0v0phapnjk1p044cn4hs4ww9ahx0fm2d0gj77fqsd31";
-"langsci-avm.source-0.2.1"="0rkhl4pkcs6cjvrd3f14l18rwk0ylq15kfc8k1n97bvhwy7azk5v";
-"limecv-0.1.8"="02wknvixw2p6sik6s21c6vpkw3nv0xflgrniiahjm4bali7dk3vi";
-"limecv.doc-0.1.8"="0bqw9ynszgyqq49hgr41n63flvgmrx7mb2ida76yyx0zziv1b6w2";
-"limecv.source-0.1.8"="0syp2l3d5nr9002whpq95ld5wrqj5mgrcd5vvbrva0sm3lbr761m";
-"lion-msc-0.30"="02xxyl35xl6c48x0fdlfkcv4bfhz4hghp1v3ff6pf9yl3cvqlh15";
-"lion-msc.doc-0.30"="0nycprcfi6769r47llwma71hzdb9a6sprdkkk6p898pmk367wbnf";
-"llncsconf-1.1.0"="0c1xjmpr9jb0k7xj6nj5p9qli3lxl98gnyq0dr94m2h31zs5hpdp";
-"llncsconf.doc-1.1.0"="1a4l8piav4ihc628ac3sjxz1v0rkva7in6q10xw3vhwdxsxbkhvz";
-"lni-1.7"="1y1g323qij5xdjw1c4n31lkzldj5bkfg5k1vs0snnqppmznp4afg";
-"lni.doc-1.7"="11q1sfq1ks61fjik6wq99yqpc2z5crxdw87pbv3khb3i0m3hfkqg";
-"lni.source-1.7"="0l1khvrpzwsg26ldxfx97qv8q03g100iq27lp0wr2qqqyrwy7sb6";
-"lps-0.7"="146a42clkjyrg046bz43b2rpvz3i2dvhcsd132bzc76d3x0sqps6";
-"lps.doc-0.7"="1nwn4dff3szxlvw7ydqp1ylw818maj0ij1g08zlz2i1gclizwpa1";
-"lps.source-0.7"="0hzmjvgd9y746d9983y73jnc7pl4y85lk37h5d6j3jznnrdgk7b8";
-"matc3-1.0.1"="1mp6k50lm020xqrq2vwl9xyzr5jwp9p85c6ng3k22g4rqsxhrb3c";
-"matc3.doc-1.0.1"="17xh063gahp5m83vj6x8waqwvf4hrvg3wi80z70r94bag0nqqf2v";
-"matc3.source-1.0.1"="0pq4l1ays56ry5v3ig76h49kn7hdk1gi0wqx9b29vkdvzmzrmq02";
-"matc3mem-1.1"="1asybbjj93wpbcn577cqkbfi2bkiq2hzv5b2lqs31igawaa0vdhg";
-"matc3mem.doc-1.1"="1fgngv22falzvrsynzzj51jaf4gfcw88jwbljywixqb9xcg9igcm";
-"matc3mem.source-1.1"="03x6cm78yhgfljhcfrvn49favgf6h11w96s9agr96xmngzh4z40m";
-"mcmthesis-6.3.1"="1pjllpvmqva7yk4zi4gl91blwbciw4f0fhq7rjc214iglyghl9fr";
-"mcmthesis.doc-6.3.1"="0np4zsrlb5xxlwc37dldrcawd9ldmjqgq1qhbpdz639n3j4gmnq4";
-"mcmthesis.source-6.3.1"="0acxvqka48id5fhr9p07qh01h44vhq3kapczr0i49pyn2ihibnyk";
-"mentis-1.5"="1pjpgn0lmyd7y7qbri8f7s01a1akgdif0s9v56ia2rsimn5fgbzr";
-"mentis.doc-1.5"="1r6799zz3y0iw020wwwl8a7az2j5b894i7w0pqqvsq05g4g00fcs";
-"mentis.source-1.5"="1ajy89hkvcika3aybpz93myylwlgfilg1d432my0jvmsa40ikcdc";
-"mlacls-0.9"="00cm8gvw3q7jl9sxanqrps2xfxpkc5555clc6gg2dh8c3n0hliah";
-"mlacls.doc-0.9"="11248ijy391rzc4srxaci7c7511lyyzc296bdifmpl26lgfvvf97";
-"mlacls.source-0.9"="1rm1ajh2cm7f8mvbyny40li7wwbqiw73cgf5c0jqai81zg58xc40";
-"mluexercise-2.0"="1yhgp5cidpkh4ihz20d1p445q370bh25jwc8ikqdq6g1qnf8sdv8";
-"mluexercise.doc-2.0"="0xcifm779nln96bmx0kvkmnzc9yk2314yc6nn98wm7gqdw2bf21s";
-"mluexercise.source-2.0"="0mq8fa0vd762q2h981mj6is4d5vry2qgggbbmffvmfb4h76z5gh2";
-"mnras-3.1"="18pjsph7xpdvmnpq098vv4gl69k27ad7yxxsb60945zhgw9yjrk0";
-"mnras.doc-3.1"="1ml220k5md4hpj6lcmx297pbmdbyp1dj1j9vb55dcl5ypc6jr3sy";
-"modeles-factures-belges-assocs-1.0.1"="06n2871v6jx29r8qjgcpg4h3qbnc6kw24kfk2f08wbc2rg2xdkxn";
-"modeles-factures-belges-assocs.doc-1.0.1"="1509xrny3xvy7nii0v1rga8ip18g8bv3d6vf8a3qn0cayfa9p248";
-"msu-thesis-2.8"="1aqdhw56gmkqmnwkyxk7q4xjk8k28srdqpf9rlwfrz8vwpicsqrq";
-"msu-thesis.doc-2.8"="1lay1hg2r28y9zmq7r3zs87spiab8zcd3k6smjrbcj9127910s91";
-"mucproc-1.02"="06x3hqdp6d6nm3n296wnj4j4w93cwgjpz0nlw5qj0z44zlghs483";
-"mucproc.doc-1.02"="0y33jak5lzhjp4v5d4pzfj7jlrr87dl6wdnkqcc0p9fr4fd2h1z1";
-"mucproc.source-1.02"="0xzv1m01rj74gg188snznshir510lj5myckfjx7am6sxwlfni63i";
-"mugsthesis-34878"="04r4y2xvwfmfa23cadgkz6v0q5djlhm291dqmnmmqq7lp569037j";
-"mugsthesis.doc-34878"="1wjlcgb5lvfjmxz6dngd76bj6046sr8lfzrnpg4pjbw3s5v2jd1n";
-"mugsthesis.source-34878"="0fyslrcw5f9fzchjlw5pccf32vybh7vn1jl9dpc8y86x8gg7ngf9";
-"muling-0.2"="0mh2iyjikxmcnag0ww3n1zw2j8vyky8q148nhrmjcacbb6q6xgwc";
-"muling.doc-0.2"="1grdqc0i4jiprspfwjq7qlvnbz3z6wzgl9x81r9fxzp6ic6zl86r";
-"muling.source-0.2"="0d69hrm92c3j83jz14zv40rv8hrshaw8gxx8jmgwf4avrq5civgv";
-"musuos-1.1d"="0hfrgx3lk7mf9kzf6n8hswzh116pmllx0k3djbfinvvvhnqy972s";
-"musuos.doc-1.1d"="0zxdnzd8x42z5fpvkarhsvdw3x4bz6qppn0iyjff1fjzwl8q8dzh";
-"musuos.source-1.1d"="0igksc3i5ydqps0g172i2hkb854bnkf7xh4jqvwlimrlnhs7nnkk";
-"muthesis-23861"="0bbv49nnngkpnzq7kq15spn4x67yigpyfk8ymcgv647z0bvbladf";
-"muthesis.doc-23861"="1nx1qbgp67n73k54ppyi4li4flnsyi8jmy1lil0gaza38m5y8aak";
-"mynsfc-1.01"="1pv51wyvrwb4aadwa4wdq8cjlvbxgcl4h146lrjafvyqayr8r8rz";
-"mynsfc.doc-1.01"="04h49pz1w3wqh7rxd0zzrcwi5m2hpcx33pay0iaybq6vf73ajr1v";
-"mynsfc.source-1.01"="0iisnbgaijc17nqrd4pqfvl6h81v9h72m3f0f57rkq7995k37mya";
-"nature-1.0"="0b1ra8babjwpn7v22rjc22pjrjczh1wflhq9ihbj5ag3d10sil6s";
-"nature.doc-1.0"="053m69fwgcfpa5gcp3dnf7k37175jcsclfkh87lb0zwcymjghlw5";
-"navydocs-1.1"="0isw46fzvk85i3mimwsc3x7wg8g7ifbi23i0d4v676nd92j1i72n";
-"navydocs.doc-1.1"="1aiyz3z489bdsx4rh79gxbdb986hff75qik97fq0xrpk3w6x6cjq";
-"navydocs.source-1.1"="0x1n44brcy38fnfp03j9xl1awfawwa8d0c5cg739yr404qbq8dp4";
-"nddiss-3.2017.2"="0d1maznv4yqpjzxm90vdl68h6h7zr7m0k24dirq2nc1cky6l0j1z";
-"nddiss.doc-3.2017.2"="1apqd332kj67rpa09md0gb025kx4d7arvqj7f4l8krgsizxfxcck";
-"nddiss.source-3.2017.2"="0x2abanmpp7sv4qbwl6in3yp9k99fx453f2fn8xw9b0z053ivvp3";
-"ndsu-thesis-46639"="1bjrvsdmv68zlm2xd9v4jpkg39zvjhcrd7435r0jh0sffai4pdlc";
-"ndsu-thesis.doc-46639"="01jfadx1dcmm3q8pdwpxmxfmmp94xm9y0r77220ffrlf1iczadkg";
-"nih-15878"="1rlhnhdz58qqjv563wjpp11ppyqa5smjpzjdzfcra0wd6cxv9384";
-"nih.doc-15878"="16klyjxzxj4mipql71admicnzlnasnv9hb5pl52wyk4ic8ggdgwh";
-"nihbiosketch-54191"="17gggbkag8y4fjvj248wc8kqiklsqmilcyisx9lwcf5irngql646";
-"nihbiosketch.doc-54191"="17lfnfkgjdhj8i5zv08v6lgxrrjg8hzbbq9ihnpcbhj2scn96g7s";
-"nostarch-1.3"="181a6pjdr7ffsngv7j84ddps84csv7ir3wr49qjax3lr5fhiw7qi";
-"nostarch.doc-1.3"="1sjd4yz3j70pncr47ryis4w4459lbs4jpbb75wdzvgygv9qxz3w2";
-"nostarch.source-1.3"="0f6qrlydiajnla9n4mqnv8f1iyl0f8ip98hbx6dzmmjz0k5i9bhj";
-"novel-1.52"="1xlglq5lifj088v3skmvzpsg44s0a3jnz6y3j4mw92wfbmzwnzhp";
-"novel.doc-1.52"="13pbk3amwpxzrhnsv779pcyf2aiih2iqicbp1ajc5fyyr3mr52z2";
-"nrc-2.01a"="01pczvyzfc2vnrfsab180fg0nz13cmry0dvdxmq3lxzp75ji5aqj";
-"nrc.doc-2.01a"="0l6lpvddg25k8dynqr26gj7fnaq7k6zbzp5p62684sz9351pvz6c";
-"nrc.source-2.01a"="0lzfw45m3mw7yd9sx6lya6cvan696p74wrxgvmqa73prc2lhmbv8";
-"nwejm-1.0.1"="1f33ykxdzgx2c9w97albyaisf3lv69x5d1jgjrnvbd6r3xrwlvls";
-"nwejm.doc-1.0.1"="0asg8g8gvgb290z1if71sj440k4fyiydmvq9420vmh4w11kyg3l7";
-"nwejm.source-1.0.1"="1x47sgablq02j47i1cgin5dl16qcgf0k2qkaabgrza7l3jr67jq7";
-"onrannual-1.1"="0bj29lk2nlsmky82ablxl0r6k6wl627zrsv9g97hydgdmi5nxasz";
-"onrannual.doc-1.1"="08c3xmyiz91623lnps3iahi5ga9941nc6bvxmdihadxhm2lk769z";
-"opteng-1.0"="07a6dja6s7c1759i9afgacx4v0fli98s6mcq5zig689hpkw841fg";
-"opteng.doc-1.0"="1125aj55p7n6b03mn6p6845yvx2jbjkwwldgwiixypklndqsf6cm";
-"oup-authoring-template-1.0"="0bamzc98y8vb7s0sw45ampcijva64j0y7p8v8y7l0rby77hra8pz";
-"oup-authoring-template.doc-1.0"="1z5ac2fxzh5fjrl2d4di50lk39rwrwl36irad6k1jm4zxm5260a3";
-"philosophersimprint-1.5"="1cdnlyf9cf591bqp1dqdxl10i3im014vhxv77m8mviklayjyq1lw";
-"philosophersimprint.doc-1.5"="17j2zh4p8xhf619slqpm6bzycwd9zpr8qj066c4wm63la6fy7lyx";
-"philosophersimprint.source-1.5"="1zdcwyknfjxw3vmlipklrvfadw5ahh4i4ns95kyqs1x57c7wgamp";
-"pittetd-1.618"="1s8865g4fv04ha7vls9frkkmx8dyn0l7z1rqvh3dkyy7fdgq4vff";
-"pittetd.doc-1.618"="1jkdny3kqljfjnf9ywpz7xqvfka8kwi33jy3z2yiq1fvp8k60ar5";
-"pittetd.source-1.618"="07k0ilmwkg3wvgfpqyqc60hn5mlsj8z5lsx8mq8h3igwm4j8krzi";
-"pkuthss-1.9.0"="111qribw5ycq7q88l41cpm25vp7zak6cp29ivim637qx2qxzhwap";
-"pkuthss.doc-1.9.0"="0w970jgsa4a5ahx1bjk3y0gkmrcb576xmasp53z1sr342lr8qbrk";
-"powerdot-fuberlin-0.02a"="1gx04y9ysvwzghy38k6izhs9gm1hzssnb5zh8qjjh8v99mk6cqwa";
-"powerdot-fuberlin.doc-0.02a"="03ci0lcgw777kfmnzas13q75n03z8v2im1wzrd8hpbcwq18mmn2v";
-"powerdot-tuliplab-1.0.0"="08f25qa5fdacsd8i0bs8y0p3k0zjgja0qp4ak0x3bixz7yivg5nx";
-"powerdot-tuliplab.doc-1.0.0"="04b546i32k1cs6armmnvr8aqbfvs0ysarlsjmsci9xdrz3clm5w5";
-"pracjourn-0.4n"="1idcncspb2dcmrfsr8bf1ar413mc51lliq9xgpv0ybsiv91yd4lj";
-"pracjourn.doc-0.4n"="1hks8p9vksn88daqyn7rnsaza4i05dgfb3ngd5yrvvw0v40s3acj";
-"pracjourn.source-0.4n"="1jbicfqvvyi4nnmpqafzlzlx459v5cyv62wmq67c2692am8a04v8";
-"procIAGssymp-51771"="0fc3r6h5h5vq5af131ij5zq5mpm9yl220nnq0hr4q4krxzmc0hnk";
-"procIAGssymp.doc-51771"="0nz98xjwlx1srfakqymgyxr3smqlrk2qgk6ikwbdqs07prpiszay";
-"proposal-40538"="1y5i7xl1z706fcv82s5dyx1ksfvp9dq2m0shwy3an2r94qszcwmg";
-"proposal.doc-40538"="1haa55hhz11j9m3lxp84yzlpyalrc3hlb7wxvmngqhn2j2mi0b3c";
-"proposal.source-40538"="1n3z0rvhnc76grih3jy5h5ax7rffxjwmafd92fnp10jinr9riapx";
-"prtec-1.06"="09izjx2g6gyckmgzrvg9bzlwz1yvwr0nc40s6wsbb898wa6cswxx";
-"prtec.doc-1.06"="1cv2knhl8xrsyzcywypr6dqgdxqss0r9mxl6wv4clpzpsyvmfzbg";
-"ptptex-0.91"="1p3bahmdkxbdgczvx52qhyn2w0wmdzr8061idf0kpbwvl0nkw75p";
-"ptptex.doc-0.91"="1ldg6ljwf0iivd0cxb22sld2q2afwfb83ac5r6jxjcfr5ac7dv0q";
-"qrbill-1.02"="1n8rv168mhkml0xrf1l7vg9a56wqpyn428j8mlpyaksd6imbd95s";
-"qrbill.doc-1.02"="1xpg81mbpaps61cx25cd8dix1c7i2piyqfyvhy7a11z7n11ad6bw";
-"qrbill.source-1.02"="00pfbhadhk6ji7k4fmasqi60ms6pl5w26yamxszbl3j1057vrx17";
-"quantumarticle-5.1"="15h1aflvl5mgcd9l096l3s56pp1ryjjm83xcaqfc67kyxgjxkapf";
-"quantumarticle.doc-5.1"="15vwy9m5b1vv2mr4wwqsfqqx0zrwgffbh6f9q8bbm55xdgshyrr2";
-"resphilosophica-1.35"="00qqwp5n5a8hpz4zpcmh3avbm0wh2csdwdf450hmqnhpv2hn2z18";
-"resphilosophica.doc-1.35"="1s5r4s8ja16vsz3ssqk0klfm1vfxrxbcj45mlszq5r3k5gsa1y5b";
-"resphilosophica.source-1.35"="0nkxh1yc6nnjlh5bmf9w5k6hzg62f4i7x7nbf2019vlwvqn7r4yp";
-"resumecls-0.4.1"="19cw19c4a3zn5gvsngcxj6xvh2qq5n5am0sdmg9zajy9lqqp5nnf";
-"resumecls.doc-0.4.1"="17z14r8yj33mjjkydzaad1bm5nhvrv5154n5n6snjszd13vgdyh5";
-"resumecls.source-0.4.1"="1mm53893g9nqp3wdks6qa22k4pk71v09rg98nm1i1bz5ppn6kj18";
-"revtex-4.2e"="1kph9xdp7ax4pv24ixxrsivhk9xqd5ln23c96cnn4qwvs65jygj1";
-"revtex.doc-4.2e"="1s7i1lr8ra692jwjx2bf61h1jfndqwpqfqjr91v28vh3w7cg0m7a";
-"revtex.source-4.2e"="0vishjx0cymhnb4lsnx05zdghfs9h2bhbz2jwsbdma81p66lx4jx";
-"revtex4-4.0a"="1v1km5grdg72mqf7sha1laprwhhwplrklax9mabhg13q4c9k8dlk";
-"revtex4.doc-4.0a"="1709bsjlka0d8x405fyac8vpmklf92qhw0qgmzvbhynhq4sc85b7";
-"revtex4.source-4.0a"="031vqkbg38iwi92yhvd5xdmmkbjhrr9lm7ncmlwgizf1y0ib7wpa";
-"revtex4-1-4.1s"="13azycwjj9ihirfkcgmjrpvjha4wngmgkm6irh3388zwjs2sh7sj";
-"revtex4-1.doc-4.1s"="057yf32dsx1j3b89wl9jqrafvib8p0x6l3w3zk1c98p9vp8c0lm8";
-"revtex4-1.source-4.1s"="03dy16s50bkgj2l2zkm3z6mzf9qwhrax7cxll2p0rxxwfgvpgh8a";
-"rutitlepage-2.3"="1h6z0p6m4a1ivr57165w48b9rp5jiad37cdp2z9akk3pxdg3ywq6";
-"rutitlepage.doc-2.3"="0d8gi3ks8wjjbc6zhw4gmpsx44pr93iw7bw9ak5xfnm04p9vw81r";
-"rutitlepage.source-2.3"="098n2wkddrc7f74jlbrfvxzvplyj05dr1i7czah2ciw2z93m53z1";
-"ryersonsgsthesis-1.0.3"="0zn3hp9ipjq3624h1kdz1r55wxhawylxkmh6fi7v6cz37cnn36wx";
-"ryersonsgsthesis.doc-1.0.3"="08bylz7p9ygmzy6m8h7w33l4lch9iqnaqnb3nxw30d5gp0rsb3j9";
-"ryethesis-1.36"="18d9lw5inr4fxxk4x4xjxnnvbp2agz25c9h328gi1c3afsmi4lsr";
-"ryethesis.doc-1.36"="1jy3vsin13lpd8q5piia1klc08nfmhnx0hp9hl8gnz86h53mc5xa";
-"ryethesis.source-1.36"="0chmpps2q20bkwf7p0yxwp1y6mak5hga459vpji5sl754nzbvxb6";
-"sageep-1.0"="0yavixnkhy1y69l38xj6pbihzm83ncvnsl6pyr3l310hif6r0wcg";
-"sageep.doc-1.0"="0z2n1511lr2m39vn4bdamw8xbxlw92p5hrsxzrnjlrg39ysymsyd";
-"sageep.source-1.0"="19547avrh6yv2v86w8f7b0pbvh8xvwa5z8q69bxcvhwj0jqjicps";
-"sapthesis-4.1"="05lql3yqxpld4f1j0745aglvnfn7jr3914m4s5579s5q99aa2m5j";
-"sapthesis.doc-4.1"="1vjmq2r7a55v1msj2ca1lpz855zbiaiv485204bwh3hq6k3vajrj";
-"schule-0.8.2"="0qvq3029ghky49vq85wkpdd58ha20gag33drbmahnbmfa541fqb9";
-"schule.doc-0.8.2"="0906b4pl0rkkk9nbp4p0ds16zdw318xr9gh8al22yjf31f31dww6";
-"scientific-thesis-cover-4.0.2"="1ggghh7w9grb1l1r7xg1igdw79jswcanyn49rpnwiq5rj4a09r2j";
-"scientific-thesis-cover.doc-4.0.2"="1slsn30sbhxlvr73fk9infwjkw66p5sgv0ydkmarkp1ncybqzr6s";
-"scientific-thesis-cover.source-4.0.2"="1qlxpsy3rdb10xxv1nsn817srdfywq6z1zgb4vb0hy3qnbd2rjwv";
-"scrjrnl-0.1"="1p858dfbqas8x4ddpw81mf59p47iqj30yban2g70rims1wqy4f45";
-"scrjrnl.doc-0.1"="1rfx2x3kir9qxp74halcwrn9zg8c4lm72jljspw040gpvjpiydm0";
-"scrjrnl.source-0.1"="0b48zv36kn7bg2n94yl2dzwh9ba1fx7phpzljqpn44ybj1ng966w";
-"sduthesis-1.2.1"="1i8rdk8m8bc5lk35p7qd4pqddi3knpq1ylbxv67ij7g8sgrl9xwg";
-"sduthesis.doc-1.2.1"="0i7f9zjxs297hx3hd6cm70hkkc50wb1pcr83xk54cy72yqiq119p";
-"sduthesis.source-1.2.1"="1j6asblirf0x4f5zp8zbmpm7ak5nsilqf4ksxr4bgrca70vfava3";
-"seuthesis-2.1.2"="0yfan3cpx7h7hrnqncn152ccawlrsaccj0c53kzza0wnkr3hc9rc";
-"seuthesis.doc-2.1.2"="1hnrl455lz61y9ybhmrvxjb66y5816sq3yqb76zszrscxh5a8h5f";
-"seuthesis.source-2.1.2"="0dw7ipk6l0mwgrwrj9sxg8vidwmmy22vmpwm6j2ksnznz0238yf7";
-"seuthesix-1.0.1"="07vjbiycd00r1daqg8m0b6g9k97ja0wn3s4zx7774av6p2hdhllj";
-"seuthesix.doc-1.0.1"="0j1vphdi9z6anvw7d3a20nasrdfgg8vrn9jh9wi787f9vy2xzdlz";
-"seuthesix.source-1.0.1"="09qpilk53k37c8dzc3q3pgvm6yf7i7a09ln0yn586wslvm2dmmhr";
-"shortmathj-0.5.0"="19rscnl84f9x6r7kajj6wjh80di5y1mc4g4nybafnisap76r3c06";
-"shortmathj.doc-0.5.0"="1kzzbkv36hj2wc9kz1wjr5dlgx3r21vlyj7sy8m8i72yfnmajgbx";
-"shtthesis-0.3.2"="0kyhf8pb542mlpf1jd14lral76vlkya1iv3jyw59x11vw9c911vi";
-"shtthesis.doc-0.3.2"="02xqm4dkikb18ha2z0r63i41czjmxm7sr2gzpcgcvf7ql3n49cp2";
-"soton-0.1"="03vldli7z2bsvznmqw5y6gi81ln5v54jbiqm53z464v76kp9w29f";
-"soton.doc-0.1"="1i7b5i8vv88cjxvcm1adlxikqwvbzpzkiiksdn36in8msj23vjkm";
-"sphdthesis-1.0"="1a0a4mwf14f4076gwiqhgdq436l5fxw588rigif0mcpnmmmlkxwz";
-"sphdthesis.doc-1.0"="0b6cgkwb4v4v78nvwg2n1zgc3ww9fnkh43s4qb3g3pdjc399dj3s";
-"spie-3.25"="11s8phbfna7wwx1gji1mpl93arvxlgfpxif4c46xia5spn4i44ji";
-"spie.doc-3.25"="05myxi72wcagb55fk8p8461vag4yl79ilyhfri8il4i72419ip22";
-"sr-vorl-1.1"="1qvq1pb4hr8gqwjcjy71p9mqina8d0zp8gqq2xgnc9p0kgch4wa3";
-"sr-vorl.doc-1.1"="16xbvgc2cyxsbbxg3xi0p8v6p9zcw6wj4l6rsns4hmlnljlgpsm7";
-"sr-vorl.source-1.1"="174bmffj961fsyz8m35y6ps634612sv8dn0ihvlmbyxx7apbj4bf";
-"srdp-mathematik-1.9.0"="1igzl2ws9lg0nbnq20j48zb2zaaay8k8x2bhw1gdiq98qpc028pl";
-"srdp-mathematik.doc-1.9.0"="13gh9xx6qd45r6a27bsr4v088fnrljvba61b74wn676vx87028sl";
-"stellenbosch-11a"="07j555jrcg91nk6rgr6c9dq8y9b3i0677j339hlcb6mk7949nz3m";
-"stellenbosch.doc-11a"="0xrpmbzaa4y3v86zzdws9al13v723k5yjbxgnd9l985fgq5w21bz";
-"stellenbosch.source-11a"="16mmz7pq4y9blxskrxjq8w15zq9vrbcr6nj8ynfy13b7wxvqqrcn";
-"suftesi-3.0.2"="16ys7hdias3f5si5pwk60af86mpdbvmnpmyxnfvj4va6427qf84v";
-"suftesi.doc-3.0.2"="1rkwx6aiq8mip4qyf9aq1fqsp63wz3203mrkny0qgkmgcb07hc8w";
-"suftesi.source-3.0.2"="04c5r1rk628f0fpdxmya47rg33x8jngis44z10apkc1grsqszjf0";
-"sugconf-58752"="1x2nrvqnl65jk3amclgwrk2x1dscncxajdf074a2d410w1vikrck";
-"sugconf.doc-58752"="16w8nfyixsr7l2dn1lbwcscbs6m4mczql9gmg9wi16nr8d7pm8si";
-"tabriz-thesis-1.1"="1jrxxmd38369qrhg2a8w4j9m3ldp08wrblbpmc08f35zwlrackbs";
-"tabriz-thesis.doc-1.1"="1rzl7y6p7n46r7ljcycr4k40qxbih06bli90mdjwn96vn60m1jym";
-"technion-thesis-template-1.0"="1w004bdgaag02kqhsdksw7qy93lyjihhlbxiccavp7m2aj1h9xly";
-"technion-thesis-template.doc-1.0"="1fa280wcainx6z15w199fbvzn8ya3zplgfw41mmvp8cv3y2njnq6";
-"texilikechaps-1.0a"="1z9nvv2y2nzpkpxyf18p426wcl0g6gbg7qppq70b285kdbczbijd";
-"texilikecover-0.1"="04bljvhvmrxh1a4sfqw57yysaw03c5ldi1bq63mlqqvd9p3hmyck";
-"thesis-ekf-4.1"="1liag94i7zc29m4j5vcilzwv13bspwzgslhkf92w807r1k20qi7c";
-"thesis-ekf.doc-4.1"="1ijgnpikan6zk5pc5b5x0sxi7rg8zbyw03q93m0pkd4lz4wf6126";
-"thesis-ekf.source-4.1"="00zchl3hj4a3ir226ph4521x9phpfwbw2jbr9sp1qfyy5vj80fnd";
-"thesis-gwu-1.7.0"="16vb94z3svvnsxmv43d3xy6rz8ki3dmk01iz553q949f4dfig1l7";
-"thesis-gwu.doc-1.7.0"="0xfl7s0i4ni5lwxlsmlldl96jnhfxjyay99w3qc3vc4az9vdqfmc";
-"thesis-qom-0.42"="1iflj5y6vlgrgibp3mrafh3xrz5hzqd5p1iyqc8q10lqr3b5qfyb";
-"thesis-qom.doc-0.42"="1cz04c6qnd88cv2s5qfg0bvc4qcbzhdj0hkxx4xhskqjjj17vhxj";
-"thesis-titlepage-fhac-0.1"="1s9g6h020ahv404mxsfvqic2im68qnvb425cyvz0bj2rwn1fwnc8";
-"thesis-titlepage-fhac.doc-0.1"="0pjvm3d2l9715q50nbbza5l6vzhj6zaf9payimk1lr6k94357v1s";
-"thesis-titlepage-fhac.source-0.1"="0bhf68pc8c41ih92sajva48m9fq7a05x4y9qqanbidvmb6jmvhbn";
-"thuaslogos-1.2"="0p5xs731fjvd413rg4lcp289ijk1lxa5f0c9arj949f6s0pgdqfj";
-"thuaslogos.doc-1.2"="03a24gn5zzr6ma9q391s0vsg7qqn53kbmpw86a3wlyycsrz9ipl7";
-"thucoursework-2.6"="18f3gbydg1z6hiaidqw3j9yqybzvcp9ykq5a7frbd3ww051rz9xq";
-"thucoursework.doc-2.6"="0pq5i3kd19ng122nf1gd97xsc8gd58l5gplg7iswfjykdk5zv562";
-"thucoursework.source-2.6"="016r76nsk9lnr2zkkwz27r2i35j154rlnk5izd11rlmsyw3ix7l0";
-"thuthesis-7.2.2"="0ck6z0fkcsrw22f3qh3lpdw3gma9gmq51ppi4rwd2qnayl2ffs1h";
-"thuthesis.doc-7.2.2"="1xr0m24dxi6i4fbhh5mjs2b54xnpd0xm00ssix9sqv366skkaxg5";
-"thuthesis.source-7.2.2"="0ncw054rzd2byc4sqj83pmg4yyxsckr2bh0rp2spc8bp9j49zir6";
-"timbreicmc-2.0"="0inffnb824kv9lswj46b8p0zb36f4s3pfix4m7x7v0d216xa75pw";
-"timbreicmc.doc-2.0"="05x699cyrkfnygbwfifzz4ih0g5nm7pzlj6ygkh6pysyzxkb5w94";
-"timbreicmc.source-2.0"="0hznll8725wbjmayxilg0hvjw2vf63wj4cxmznvfly9lk8z5zh5m";
-"tlc-article-1.0.17"="1kzizgzmi7swzhjq9dasz392wga0w1qdb4x3x812lbshzg235vyh";
-"tlc-article.doc-1.0.17"="0w07p4rv12ila4ix4pymysbig3yl1apb6cxmb2cp9ziwv9c2184j";
-"topletter-0.3.0"="13ggrw7s7k476sp8fzbj5if20wa1x75m68ip17f1srihnfks3903";
-"topletter.doc-0.3.0"="0f45rz9n6fsg2c429n3hmzqx4cqv9jvrhwgmbfhznn6zrlip3qy8";
-"topletter.source-0.3.0"="0p6gvk4xj7bsazb7ipfgp6by60br9lyha53lj0z7rz16f7f2ar0w";
-"toptesi-6.4.06"="00qd8ap3dgrj16g831458m2kp0jivvbvmya2xzcyp560njsvqqca";
-"toptesi.doc-6.4.06"="09hnbj0g7x76m9lnn47z3cjjnlbbfmapmln3hi6ykb6lh534c4wa";
-"toptesi.source-6.4.06"="1nr54n7hsij9rjn54wgnij16xgay0dda2h6vl2qc44s8yz892jc2";
-"tuda-ci-3.13a"="0f5a9pxrflq3y7q76xscfp5mnzx5k5jv2kqx193r98azzsp958js";
-"tuda-ci.doc-3.13a"="02z3mp8jcks8wbnsq9z8v0n4p89m7i4bywp222wc7p23n37813dk";
-"tudscr-2.06l"="18ajhs99l6f6jh76izkn6g3xllnc739hcdgz0qqr6q4d5i36xplh";
-"tudscr.doc-2.06l"="12mfhhri2pp9cc1pc2sqhx7jbqrcq5js6frsilnkar55v7jnkd38";
-"tudscr.source-2.06l"="16wj8pwsm3f5fcgw498qay8icq0hqrajp1n9bilybc56h5b5m1c5";
-"tugboat-2.24"="1jq8zpm76rbamkpq1dhsj7il40h46bfpxhmh7mrfd2a9pxkzviia";
-"tugboat.doc-2.24"="1s2b5zs6b7dvwwq4gwwb03vjdmdwmyfhn8n31wqdjs338ia7ndsz";
-"tugboat.source-2.24"="0idn2zayjwa00hyhlpn16mqvm7aa04n2gcqk9mx9cksrydhj7733";
-"tugboat-plain-1.25"="1nq7lzyxy4nazdbdxk62jcsk76ysvqaqwi9vb5iwkl2c6bpgw3lz";
-"tugboat-plain.doc-1.25"="1bvgxf460pdxp312n0yv9l95jiq5hr0mkmphf7925d2w3n724rrh";
-"tui-1.9"="0liczx2jcdks6r5040r7dqcyrcj225xq0035ccdb9kjmp0rmc90b";
-"tui.doc-1.9"="1m73fc2nj7qsy144fmbqhld3hx431ry64jv5p7h0r4p0giadwxgc";
-"turabian-0.1.0"="0fjqr88a51699p57d9mpkpf2hn9rrmdchsxhpjng8hkx3yjl647g";
-"turabian.doc-0.1.0"="193qbhcgh63kfnrivzjyyk8vp66wb5k4791qdii7brp59xsy6l7a";
-"uaclasses-15878"="015wxmrjfykv7j2bvmb42491i137h513q826f5czmcf1c8gk8bl9";
-"uaclasses.doc-15878"="0x6krd94wrdwc1zkyvqzznwvnvxx4agwinr5fhshav6r8jfsn4rg";
-"uaclasses.source-15878"="06nsdpmp8qqsrcbbcdpm82gcc3z8y5dlhv2lgwr4i01srwkd91r6";
-"uafthesis-12.12"="0fj2rfdzldav8m1ac7wv8n1k8pcgj4yy4zxx0g8sg1mb5i7if0k6";
-"uafthesis.doc-12.12"="0g096y6dvxfzbjrvvwpb92z4hrxp1p9jvbgkap5gra61msacqawq";
-"uantwerpendocs-3.2"="0cfgvai7y520h99ljxi3jlavis7sl5qlgkw49xk8ng24v6js93d9";
-"uantwerpendocs.doc-3.2"="1ra4930lc9bx36qj3l48lmx7dbi6mk58xwci15l6mk34wbxhvq0r";
-"uantwerpendocs.source-3.2"="1h473sc1g98sca046jv4hs3p8dv6md1hvyfzang8yipm6yp4m6cq";
-"ucalgmthesis-52527"="17pqf8p5wq7szg81iqmimgz8hac49yqlla40g5lf9s8f2pjagjmz";
-"ucalgmthesis.doc-52527"="1fzb7b9v81y0q8pqpvrpsbrk64831pf393hca1j17amsnv5al0c2";
-"ucbthesis-3.6"="19g7wv3iypbkcxhlybizkis6yivgn6z0mvz4rgsi72zaahpxmg7y";
-"ucbthesis.doc-3.6"="0nlpc0vm12h7pni3lw3jqq7fsh273nc63abw8yzw69crh3fspyqg";
-"ucdavisthesis-1.3"="0kdrwdk7mg3yd7hm2xmq63kgikr2p2izibfgw1whai921za4wlm4";
-"ucdavisthesis.doc-1.3"="1chajx1i2zmfh4ypnf8jspwr8kjwbfv7z07qrfasrf73r775yxnh";
-"ucdavisthesis.source-1.3"="08525i86hrv1387jn9ayz3mpwnh4z8kvjvb590y7gqv3cdvrsa2b";
-"ucsmonograph-1.3.0"="1jkcyhrh5zf8p205xgs10azhp69vrz613ln9ssrb4485b7a25b3d";
-"ucsmonograph.doc-1.3.0"="1hhr0z3sy8vn6cv2i7g8nfpnsdpyrsbqrclc8j8g6qidh83x2y5q";
-"ucsmonograph.source-1.3.0"="0x465kyz3chdcj705v9gc8s0w3pmawaza93pcm8nxy3k7dwx920j";
-"ucthesis-3.2"="1mqj65aps995issvi1vgn7f7pvxq39pwxaqqwh7pxnki26k8czrv";
-"ucthesis.doc-3.2"="1hv02nxak4laz9az2kr5lvd97l4mcnixdmpysiz6xqvc13ivkjl7";
-"uestcthesis-1.1.0"="0dsdzhf9pp2x4xbprii9rvl0h0jwwwd03va8mg7c3cjgr2nvy1dl";
-"uestcthesis.doc-1.1.0"="11z3ac2pnxg8qqy4shmdks7h33257nbkgj4h1rq49gc2ssqmp8pc";
-"uhhassignment-1.0"="0pb7hw9krpri3ky7hfshjkkbk36cilf31iv00l5iynsnrw70lwyy";
-"uhhassignment.doc-1.0"="1106wbx02mbnkgzwwiypfz7fg1a3rmwyhlgnsxf4z081q891p3fm";
-"uhhassignment.source-1.0"="1ck8c7jx3qkxnm0a82qfql92s05bg5p352fw1yv3y7v86z2kh6ad";
-"uiucredborder-1.00"="1zklnahb3inyf5qnavccqvkc02iwqw8mz7w1iam0lz2jmzgc1c41";
-"uiucredborder.doc-1.00"="1lxyssdc3sxsfhizm3f74lxcgpkaskljqpybwl1zw8m347p1qf85";
-"uiucredborder.source-1.00"="1rbxxliaaggn4rk6093lhmndas1xy111z9bjrgjrhjhxw19lc0ib";
-"uiucthesis-2.25"="19fif7a2xb3qrmkg8yfjg1hpisif4znc64765d6jrqgb9fqqzlnz";
-"uiucthesis.doc-2.25"="1w20kjwdgppl39axgwks373j3dsnidamhvqy1wn3yilzfb9vjjxj";
-"uiucthesis.source-2.25"="185mzcsh598dxnf2sb4mmvc3qy4pi43qrlim5jhn3n90qvwp62cw";
-"ulthese-5.3"="0wbdhwnjydq4v66jlfrjz0d9845060wk847z6y0jx1q69gvcn3qi";
-"ulthese.doc-5.3"="08l2769vnkzbma0p97i7sdslvnd31fcxv6sadcqmqww3vdn1xl6m";
-"ulthese.source-5.3"="023vd313y72i3zqv8rmdbxah580id2vgi4i91nh4fqrmfkm7n8zw";
-"umbclegislation-2016-6-8"="1lsvsxjhjlfxlqvlmy4pqbgsr2jv3imzgv7zfa2p3gj382hj1qlb";
-"umbclegislation.doc-2016-6-8"="1a3cjb20ycjs1nsghc9fsiz4kc8f6awah0bksqyh2ik4fnkydxb2";
-"umich-thesis-1.20"="0k1jl1v6nqyg4ld1f470x96pjm68hs5fnl3kab383363mly5ypy0";
-"umich-thesis.doc-1.20"="182vclnb9yja2jgh6j2b2f7421w0xi567s0jrzaqvbnaik5sk5x6";
-"umthesis-0.2"="0iby3d7f8mm4p5z4jgnxzqnfmwhsws6hg3yb2l0mrknlj98ww4yx";
-"umthesis.doc-0.2"="0vf8ikxi8706hc0sv1h53wzpd4mfiz607hzbhwq607k4hc71iz8f";
-"unam-thesis-0.5"="05lb63wclgxqr7jn7c38plhg3r806b7888zyifcivv85q143j191";
-"unam-thesis.doc-0.5"="0kxdr723xvg0lzhmzwpyik9vxy584y41pmwy8bi7197gz1hgdlzz";
-"unamth-template.doc-2.0"="018vpcbxfzch8qsrrqakcxxir53nalvj39l2kn45kn26p5nfkfbn";
-"unamthesis-2.1"="0wqi46mdjsl06q7hyvy4wpihvrr040f5g23bgc6lm6lq11jadj6l";
-"unamthesis.doc-2.1"="1l71n80psc2hzjs1lnfgpfpg13355sk9ld86104dkyrl645qx07r";
-"unifith-1.2"="02s92p2c57iz05dsc9al1f83scd2cxarxscsg9zn38yy1kbiqf31";
-"unifith.doc-1.2"="1daj6hs3jsawp08mw3071c3sb9w60dkb0w8bwav177s80c08vd7z";
-"unitn-bimrep-45581"="0vv9vc9cvw3bjfndlfyr69kpziymlgalyvc11av9kq2x5b4jlc5b";
-"unitn-bimrep.doc-45581"="1wyiar6xjhsjcfnxhlz8y1l9xvlcpgmkh360am85llfqlnar5w5f";
-"univie-ling-1.13"="0qpcgq3myfcm6zqn7vvl32hs4v9miqv2ryl29dkwq9rk83rkih6k";
-"univie-ling.doc-1.13"="04cw8kg5zhgd2fsd44vkgv1isb0ca1726mfpr8j5qha1kqs6wha3";
-"unizgklasa-1.0"="0clwxzngdy6n7iwk9zrn21i1frmahdf0s9qq2nqlhk4h6rxwb8jb";
-"unizgklasa.doc-1.0"="1q7q2fpgpjdsmbfj9zijccqpl2m6n0dch72wl05a64hxg117jbl4";
-"unswcover-1.0"="05nkk3xgpjcdlsk8xrj0mn5r3kwzi15awish2hd205v1rnbjiaz6";
-"unswcover.doc-1.0"="1jsxc55wrfczcc9mnf5yl2yqbbzbk10jcdly5z5nyfvg51427adw";
-"uothesis-2.5.6"="1wgs3fxg01cxcpnhk43ik12sjdip77fkxdaik6w4w926i8z0np7s";
-"uothesis.doc-2.5.6"="1zmpx6biaxlm7fys5a3qahglpbqgn6ml07z6q8vplyqgn213hd6d";
-"uothesis.source-2.5.6"="137c9av6i6b6hg97wmqd2iwqzd1dq6lvg2992wnbm2bp2m9r20zl";
-"uowthesis-1.0a"="0iv9s5dfmbrhxbx4kqbhxjf23rln4ymcx4kkk5fmc67qi51i8jnq";
-"uowthesis.doc-1.0a"="1xcqs2h6qs2lca74mg1jvqza77xrph53bk9dwkk0bprhkxn1all1";
-"uowthesistitlepage-3.0.1"="17xh2myc3xj2zwbc7jjdmnfqhmhzkqj3dwwn2q04hcyr4bm7vnfz";
-"uowthesistitlepage.doc-3.0.1"="1gm1clfvd0g45fpgf6h4nmyy2vrc0d9lqfy9h3nn2pnh0ki2z0ir";
-"urcls-2.1"="15hnqy2fxqblr9db4h2r38v1h4iwhk5kcm8qm9war1c1pgwg2a6l";
-"urcls.doc-2.1"="0axb3cpbqbksrixhksdhbjyqyic0176lyxxk5di268jbr58203xp";
-"uspatent-1.0"="043az1c7bs194w7frr768pwaliiaikfibxh6zqiznc85ax6q3d94";
-"uspatent.doc-1.0"="1q04i3q9693ykpgsx1fl11w0y0kxffqyljns1qy04935s5b8vskv";
-"ut-thesis-3.0.1"="0ras7l4xhd4smys0fwp8hymzadrvyh4js8k1fcclvci3aprhh64y";
-"ut-thesis.doc-3.0.1"="0mm90mryz38kw3zjbmgc9lhknkzjmgglf69q5l9g1hsk1djgca7a";
-"ut-thesis.source-3.0.1"="15y2hzfgzg961lp4zmwivl8var64d392kzs1rvv89d1axf0k0xl7";
-"utexasthesis-1.0"="0j8jjy8i5i9lgy7m9wnvj36ms597amnvb9a0ac2a2wh7vqf3dxgd";
-"utexasthesis.doc-1.0"="0131pn2531bwmsv3ak1kf9nc4v86icxjg19d28sqfmlnfvl73v4y";
-"uwthesis-6.13"="0x6j9savd25v7s1nxzs0yqv10i1bbd89pnb0ldjmwilrfr78yw9c";
-"uwthesis.doc-6.13"="1plbn6dkqwl4bdvsyskzylww9j8akxh120yrnkfamk56ij9dd0py";
-"vancouver-0.8"="0vsvg7aplpj9gjlgn9mcx6r2fzli53bqmd2cdjf8l6kv2b9smmjb";
-"vancouver.doc-0.8"="1zm7bnlwns945nzngv7x851fcmbzc400v81d52fg9p1q8k5f8458";
-"wsemclassic-1.0.1"="0zpqx8gi2yf8cm5rmvchz0jprfwcc0gjkwcrygrvlqhqqn7qmc07";
-"wsemclassic.doc-1.0.1"="0h7vz6pza8bv8y8ihfplbsq8ip9ds2z63s7j7qh84vf325ci5chm";
-"wsemclassic.source-1.0.1"="1522cvwkw0ryvhgdqqd7k8lrbrayrmm3h31c77v7x8a81cry2bj9";
-"xduthesis-1.00"="08cxhw5lhklv7vxl30fhwmlgq4kmv53a8qppcmsap1v8jc8vjrdk";
-"xduthesis.doc-1.00"="1j8pqz4l85qiziry85w7a23i6s577nb2cpbq4v5jgvp5l8x8lhzk";
-"xduthesis.source-1.00"="0zdlq46z2l3y5zydal9nsawv7nhhp113hdia15d9fd23j8gq4jdp";
-"xmuthesis-0.4.1"="05z3pbc9gqfnzp4y4a5p6bmprsr1r63w9l442hgk3pshswc2dflp";
-"xmuthesis.doc-0.4.1"="0dqmbdz0ydlq1hkz0s3lr12sia1qj7p912carwq4pjg9rrw98z7s";
-"xmuthesis.source-0.4.1"="1c3a90gpb2siww65yc2l3kf91bf5xvxk9iq1s9cnx1ngxjbs7835";
-"yathesis-1.0.7"="139kcsylhr597r1jga5izsr1ysj29asjawp7z9d2sz85qf9hapyn";
-"yathesis.doc-1.0.7"="0f2lkj60gqyps85ajvxz59ncb9pbcv2i0cpmcncq5cv5x66irl97";
-"yathesis.source-1.0.7"="15rz47rdjs6br84jvj9i5nvng23d009d3l2a3dr0gw1w142iq0zb";
-"yazd-thesis-0.3"="1bhjqd6k4lqk4sypssmrsjl9lqrbha9d0n42qbaq1mg5whpl2b8x";
-"yazd-thesis.doc-0.3"="0krsm9s3ym6f3d323scvxn8cf1wjqppglhmzbxwn0cpjq5nl01pg";
-"york-thesis-3.6"="04c8g1wkl795caadm8kqfy6kdqqgwlk46lijpmyiiykbb8z54wq7";
-"york-thesis.doc-3.6"="0zp6pfr3giqm4nbsidg06q0c3x9gr4bk3g8qq7wxl9a2pgk3z45p";
-"york-thesis.source-3.6"="0105amrybkm78pwb9hrd7n8r69sj6lkh1zm7c9sskibb13lqrk9p";
-"texworks.doc-54074"="0n0ydn8v42q3wcxmhjv5nwmmzf5yfg77qlc1v5bmkpb04dn4055y";
-"arabxetex-1.2.1"="15c8nmmv87x87dbjwm1q0acf7pbbh8w9gpiw77fs2i51gab592xy";
-"arabxetex.doc-1.2.1"="1ns1y2lf87gspaablh4lm3kj33ggpfp7hcxbdv4vxf8hhfc4pp7d";
-"arabxetex.source-1.2.1"="077r71723zlzfjmc471a8hbxs1v2g6j2xpiim3g2klxsj589bxfn";
-"awesomebox-0.6"="0bjnvgqj4g1i6djzzzdjdrnlvli3dm1v2w2mi59s5s8pyc5pag60";
-"awesomebox.doc-0.6"="1m1cjic1dqf2zvym1ma83xy66b5irqma2fb6fy0qnl31f9bfg6x2";
-"bidi-atbegshi-0.1"="0lcg9h78shrfk11dqjr9mccyh8n2264vyl4fnjl0cyc0ccsciv25";
-"bidi-atbegshi.doc-0.1"="1xzb3v8fc82p2s3hwkfxz7jz1za2cy4slyp490dbwzq9hrrvs5wl";
-"bidicontour-0.2"="1yj7vl5z4xh8i420y1ycz21rw0yy83z0v9nlvi8k3ph2qis7lp8m";
-"bidicontour.doc-0.2"="085xfi5w350vbp4vnq8kgbilnz3jxwf4g0incvziy5hxh4isqirz";
-"bidipagegrid-0.2"="1nh14lla3xv9zikqqpnw7nb26kshjd186ijlz9snz19nkgddq28x";
-"bidipagegrid.doc-0.2"="0jgd9mfwar486gl7imm1m87a167c06cdhxg9qqp8m8nk6xdys8f9";
-"bidipresentation-0.3"="0kpwhs3dvmjhpv2n6kjly5cpj56gnwv3iyhiiwffd4bphzyrnyjb";
-"bidipresentation.doc-0.3"="0hp0zbr5mpwsrd4rh3rc8qmy4srp93838k38phmsm6dwgqkda2z3";
-"bidishadowtext-0.1"="0jpz5a5q9c9c569ssyzk48y77msvfkd5csdvv0cd0r62ivrai5jh";
-"bidishadowtext.doc-0.1"="1bcbz6fiydj6dx8xzkrdsrm2vgcvn1jj4fk2jh1333la6rygvvav";
-"businesscard-qrcode-1.2"="0xv56yqqj8y4270955srbiw7qy8bm9r3ih0zazlkrxnrxyh82jlk";
-"businesscard-qrcode.doc-1.2"="0nfvak5730q4ci88dyqln97ljhjbwxn3gk34rq2b5rk5cy2inabi";
-"cqubeamer-1.0"="1r63ahd6m6ll0phqaxc02hnbrf3f6xjdghrhn7wdqxnf8n9k34ff";
-"cqubeamer.doc-1.0"="0rgfjw69is9i06blv1dr2ki6d8lgfwg3w57r3620r7yffj7z9hpy";
-"fixlatvian-1a"="1qm1jj803a7zgqbjn4q4sg4mn3pvd600pfkqabjvp0ck24r1pw1p";
-"fixlatvian.doc-1a"="160bb2khxfhl4g48a5cbj8xdxslgxvav1c0wiq3w1ajla278qj28";
-"fixlatvian.source-1a"="1zfdr8kahxgkhxzg925lgls50prcgyp6hz1vhis1241f9rd6r3qs";
-"font-change-xetex-2016.1"="1xjxrpqfxll7wfkgm5ksjfavk7zr5a36qfjm5aw5a92wgqzpmbrp";
-"font-change-xetex.doc-2016.1"="00ikhz2nafa2ck1j6vb564ij61lnqa64l9xnl4h7v12g11j0h2k1";
-"fontbook-0.2"="12dcha7gkyl4ycizd2469i628l8qvh1xzacg7bv7b55q0dip2hlb";
-"fontbook.doc-0.2"="1ywxxp2ygc6xjrjsmq1ax4p9v0z3hpmbcgsnqm3vdnnda1c0gn33";
-"fontbook.source-0.2"="04ny0n1wgs27ky6fpf0i8ivhkj6ypad537mlx7rz39kkjpl6mz96";
-"fontwrap-15878"="185mzghp8xckdq7z6cdwznrg1pswflvfy61bhsnpaxx8wagny1zk";
-"fontwrap.doc-15878"="01knmxqj88g87ljvxmf8rr72i2gh9qdmx7zsbwyjmibiw71l6pcm";
-"interchar-0.2"="040zhi6rq7l8s04zcq2vfxricbvakkxnx0bzihbj1ss21pmyrv82";
-"interchar.doc-0.2"="18lpyq26zc9b2ypcb98k578wyg2fp1fllsfyrp67b4v9lnz1m7q6";
-"na-position-1.2"="1amvifgadhq73avh1dq9mj2v4s5r3hlr6a3z4wcbhw32jd31ncbx";
-"na-position.doc-1.2"="0pcn0r0p0z7lxyfsvcnl9skm5aa5xi6362vydpx9kv8m11gl7pjb";
-"philokalia-1.2"="08z5hrp8a0551s0qfj02l79cpkdnsll5k60di132addymsl2p0lw";
-"philokalia.doc-1.2"="0pgy5y3b6ramrkr8r7bvw5byviy50fprjsj4cj5h3l888inj8kkx";
-"philokalia.source-1.2"="168r0ygbvwbwxlqvjqqma0q3w4172jpif1sr8p54h70crqx2310j";
-"ptext-1.1"="137amhihk598rhaf0qmbahd9spqivzqrmi53y6q3mlzhlrxg0p1r";
-"ptext.doc-1.1"="12crg85znvmpr5yhvr4yr6riw037zwcpwpavp1vb1nnd9zy99ya5";
-"realscripts-0.3d"="0ph678nf5k03xl63z66gkmg5f8agxy201y6bvabhdnb1zhvfrfmm";
-"realscripts.doc-0.3d"="1kmlaym3vxb9mx0jp7wvmsk13i30wyyazhny5zzk14bwx8rk3kf4";
-"realscripts.source-0.3d"="1qzqr2q2bkq4pchin1xivg8gwx5qkgip4kq74rswfz5a5iimyh0n";
-"simple-resume-cv-43057"="09xsryzpnq33wja6fkrxy4ajrci6xcn0bx0mbsw37h0q0h65rp9z";
-"simple-resume-cv.doc-43057"="0gbf0rg3v1ivw631yl133iamh7kadclr089rby72al50xwnbi559";
-"simple-thesis-dissertation-43058"="16byfnhfd1j14911xs1448yampvvplxy8l54by4qwq01wp7pjjmf";
-"simple-thesis-dissertation.doc-43058"="1wrxjkgbvps1wyicwlhkx59xwb3vcy1n0wf7r7dllw11r7hdg6f4";
-"tetragonos-1"="0l8b3kjk0jk70mmmv37zrdb16id6yrjvgsgsmji7pzdqiixy7jh5";
-"tetragonos.doc-1"="1g2zcx3b1pfc9dh76p5iprdgsxp0yndp7rn5ksbq4s9k4m7ikpzp";
-"ucharclasses-2.4"="1w04lfm8bjgrg9qndfz2zwhd7yakrlps1kk29ldvvd0200ns7db4";
-"ucharclasses.doc-2.4"="1arp54hwrfjm7x1d5cz5qvc4r83x9kdla5z81p7ld2zixjdsbph5";
-"unicode-bidi-0.01"="1prl0i2a9dg5yc2yl1x1k0zmz9lww051w1zwy8cbyvk3rd765a72";
-"unicode-bidi.doc-0.01"="0ab0gym9sjllmqdclkjfbc4fh9n20999mv7z2gylfybirm0n7i7c";
-"unisugar-0.92"="1dx088b21apj2rpij4pxa9srx29irzsfmlp9vn8fjpm1ag60md98";
-"unisugar.doc-0.92"="1mnpbd68i0112hhcgiwc2j5jkwffrfdqlrdl896ybd0cpwq5d8sp";
-"xebaposter-2.51"="058zna623x9x87yb9wgdkc88gigwapxbyff3dwsdqaam28rakm0h";
-"xebaposter.doc-2.51"="1lgzp70wr3rfw552dniwnlqf4bqpjvfmacy6gjiyj4blf3wgni9p";
-"xechangebar-1.0"="03d1wmvldpfk6y52sd2pvw3ipglbl8cc851rqlz5jgk82c2frxg0";
-"xechangebar.doc-1.0"="0cnc62nff1vljwkk6gb6r0cwxq17b2yl4v9ilb7kxapaa6apbp14";
-"xecolor-0.1"="0ws34zr158nkpghiwlvigb44zzi5qymfqxzsnayw78i6zpqal55x";
-"xecolor.doc-0.1"="0hz9kk36ap7szbsd0jp6a59lnaxgnmwl0jg8gmz8s1pjf77jf5ww";
-"xecyr-1.2"="1qqfdi6pxlkx6pxi2q61i0diwmsy9n95x4bvj9r3pgaf851p7cjx";
-"xecyr.doc-1.2"="08b2xahg1agfczvqpdkvi3641g3pd2w2yc245bnyk0nccfcnf3k1";
-"xeindex-0.3"="06ipq7m9mnal497j3awdspqim3fs7v695pf2x7v4l92vqz3hh1sa";
-"xeindex.doc-0.3"="1pa1fa8vjgbzmgphx3fmm93dd5wr3adxrrld5xibk2qrp7fgkbsr";
-"xesearch-0.2"="1rszh3svj87vw5lskxv8bvnkzzj6k9rbikl6rr87ry9apmymsklg";
-"xesearch.doc-0.2"="0cb73d981aa0s0hg2ynrg3zybsaw28f5b29zmqgvzqidi8vxfbhl";
-"xespotcolor-2.1"="0w7nns136gfz1dvq6iplk0jbza85lpzlpvsxf1bzjhqw5sk6v4p9";
-"xespotcolor.doc-2.1"="1fai2v8x4g9cmda5m6nvf6g8w6qg64qfdq1rvjlz1qiqmy71c8jy";
-"xespotcolor.source-2.1"="14yachqawnmpldkwc3f3q4krj2sr1kad7wzy1lfxwqggvpbdcjkh";
-"xetex-itrans-4.2"="17476frf0r4w50bfbk6g6ic40kv3x3i6qpl642glb3vyzyjd5dbg";
-"xetex-itrans.doc-4.2"="0bs67djfa9pi1k2900y2ybnv6lgjd031cyczks0jjzfnav2g4df6";
-"xetex-pstricks-17055"="0i37r4lk1l36cch6kjz12mfzgpg6hd7n903fzbj9h7mwmjwnrylk";
-"xetex-pstricks.doc-17055"="17kiv64h94hf83ailbw29wf15r7gv9yq06h3l53c38rn0n20vdz9";
-"xetex-tibetan-0.1"="0r8xgnagsqrkxr0ij0mcv30vhf7c3amyf9lk895lgwsvz6cysmma";
-"xetex-tibetan.doc-0.1"="0p5l36zb8l3h4x8sjk8cwxj5psvfa4j0kg6jb93sj1ln3yfrwfr2";
-"xetexfontinfo-15878"="1sc0lm5w94320f5abv2hw2bzqprhk73fjv2lkv380fgkpdfi7pdv";
-"xetexfontinfo.doc-15878"="14mc9snykdwzcmq013bs8vzn5w80lblpg05jk57g7fl2z9x6xl38";
-"xetexko-3.1"="1q2kzx54b3fshqsdblw03kx2qp57qjnps9hf3cbdm3l4gq2h0qcx";
-"xetexko.doc-3.1"="1vlf5raawir2bi9nnpa1q2d9fxaq1cf3ixwfmhcgpqa1kd55ynzv";
-"xevlna-1.1"="16ayk70kxk2s23r6nxva1hkb1z7aw7zz1zhmcis1bsijx657kw25";
-"xevlna.doc-1.1"="09aaf3mpbh07mix5xvr20zybbbrbgbwcmkd5q0rfsd0ac8cm72fh";
-"zbmath-review-template-1.0"="14fpdxb26lcyhfiy189a4135i8x5vb7fq6d35vcj13vjrxsk5np9";
-"zbmath-review-template.doc-1.0"="16chwapj61zf74ma9794i96afnhnpm8h73lx0rj4rbkd6d37zl00";
-}
+{}
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
index a42b384803ac..a0714b2fbad5 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/pkgs.nix
@@ -16,97 +16,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.3a";
 };
-"Asana-Math" = {
-  revision = 50999;
-  stripPrefix = 0;
-  sha512.run = "e1ee08540790685aab85c8acb407526f5936478c37d86b266728fdf39bb906bc7f6566bf5eae90b631eb59f59d65d414943a6faab922681199af76102078ed4f";
-  sha512.doc = "69a6615dda5f7e47fdff1b0b1afc4211f749a929b81f19a554246033e6f5f4a482c3c03a6903b64d83c4daeccb70983dacb35467047a467314637e65a19c917c";
-  hasRunfiles = true;
-  version = "000.958";
-};
-"ESIEEcv" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "79fe8175d0adf25ebf30421eca323f9042bc98792290763b06ba53978bf4962dabab228b9aa6220f859f64356eabd2cc94e71351aac441e64afa3fca8f73f742";
-  sha512.doc = "85d731182d5284da69254744a7d9e23326f5344a6585ae95410671cd5721961958480fab4b621d58fe01ff9bf0a602b3f94089dafaf5614fc8d57ad243e9b223";
-  sha512.source = "a63bc1de05f659d72f9fc297436e7aad36db6124f22c2a29c65418a1233c37a0a995bba3267fca6fc83f04efa119315c25937aff733b64b7c78275313209d42c";
-  hasRunfiles = true;
-};
-"GS1" = {
-  revision = 44822;
-  stripPrefix = 0;
-  sha512.run = "c71acefcb0ff1cd97792c27435e7eb4f4e32f072a275e5eb7dd13d7b9928ca00318d0acdf605f35cc4a3d7099247c290155d6963ac1560f4b11f37a123fde0b6";
-  sha512.doc = "6e714b1087d228923f38dc3c8680e57de314eab79ab15f0aa247ad002a3aa6a9dac2a253c5688c904408c8d14dadbe307b3d3446b38db767a650989d5ed9e878";
-  sha512.source = "3ad67dc4bd1033f828cbc11196a6ce9a25b2abc90348f727423effd6d97acd7fbf617b88740afb9050f481fb403401033c3dc60c3b9ac326467697f9b1d09a49";
-  hasRunfiles = true;
-  version = "22";
-};
-"HA-prosper" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "330df0a8d9b7b7ed5e4d2b74c626576ca8ac852cc84f9c79296141b14892819869cbd0e7f68050b4f3e5d107c43f9939ec9c9248c19ddd20da8d16ee2c25104e";
-  sha512.doc = "55822b9703d44481ae62dcb690adaba29cee5432b5b8b9f549884f55e943b1575064419712745166a6c0fd0fdfadac60473c6642816e1efac92c8e27c2cca76c";
-  sha512.source = "646cea88f8d725e30257c15bcd198c0a2c9cd6477b956279a38443d5b22ac4c64e795a2ded53649b3d1504bbc66639946c331ba978e775a5fea33696c9bc6c2d";
-  hasRunfiles = true;
-  version = "4.21";
-};
-"IEEEconf" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "bd35025cabe78886f78333cb4ff186d0363480ea0c1f825456e9b6debc08c0a2dbfc7c703fc9caebaf2a20c47925141cb090d50146f054a76e1aecd861408517";
-  sha512.doc = "0316a52d380555afb04358cadd56e6fabe23293bd3b6dd0f0d4e4df9db75e26708dfc7df4c280a8a9759e4c8518050805f197357b2efa43664a984f56dfabb05";
-  sha512.source = "18d0204a051b8c1d0ea034b7c3357228b0dd2f40d44ffc059ee270fc22f284a833eec72527874be0c1414e01ca91f403726c801f75e2f6cd2d0a2b097db5c53a";
-  hasRunfiles = true;
-  version = "1.4";
-};
-"IEEEtran" = {
-  revision = 51065;
-  stripPrefix = 0;
-  sha512.run = "7db183824e4a62a9f90046d62d33940573a25d2ebe72de0d57a68340e82e2b4b21fe74e74608cc73fe53b0d889019884aec8e1b11060849a38107280e0fce2f1";
-  sha512.doc = "0fab8351fce31d36fc1cee91feea7d09e1acd78d80b0500d8c3fc7f3ce322055b952423e7f39d09f86e99b22aa24405ff5a0f00207f88a3cae8cf39593e9b326";
-  hasRunfiles = true;
-  version = "1.8b";
-};
-"MemoirChapStyles" = {
-  revision = 25918;
-  stripPrefix = 0;
-  sha512.run = "83455766eb557edebad28b73c5decb0a7a23f097bdfb795cad9cc0847af916ab012fd044a63dc9893932ce0f161e831a2a8e7c0138a2157e0f1f4f2211667c16";
-  sha512.doc = "32b171486838a762b2cd49af46d3f2a152e9d592735a15a407784cde02e5be9281798302eb094f0c045f895a8f6e86464e9c214bd06f9061c313807ec36cbb1f";
-  version = "1.7e";
-};
-"SIstyle" = {
-  revision = 54080;
-  stripPrefix = 0;
-  sha512.run = "69bc838535facdc8ba17db91ead53dbc233f7d53e453164611fcd7e194692212ff74f57979023fe14ed8c8df347caeb42d99fae0b14c3cc54c60c8411bdef80d";
-  sha512.doc = "6fb33be5371932e95e5e3002bb2696d0707d62425f1a539764d195ee119f37441bf288a502770667624746631bd75227a245bbcc2050c1c2d815ce4c8fa6ec85";
-  sha512.source = "f1e23a9d04b637afd72056e1792a0c795f1b02b96ddd0170e6f412a8159389f8cd79bfdbfd2860fb5b6ca6b1794ff5c0bc59fbaabcdffbd8d69d26b205e60df5";
-  hasRunfiles = true;
-  version = "2.3a";
-};
-"SIunits" = {
-  revision = 15878;
-  stripPrefix = 0;
-  sha512.run = "b804d61bcdcc9d6f4559a05d8bfa7d8f7a3c378a618e5cd068b29e2661968b7564c36ce2e3d97f7fc7af15c11e89ac61e88ff25318d8c08536181d1f546f260d";
-  sha512.doc = "09c35a6d2e2d90701ac099eaf06116d4bf5b93652c512969dfe2afae74c9c04d70dcda8a5053d707aed0724fba0a8d9c3487a51fc617fd1a757c596a99b974dc";
-  sha512.source = "82081b1c503098847bc5f24c2749fb6abd1a739ccd21b01464119b7b6a92bfbb51666d0f5d14aa335e23a03b72b5eae8fefccf9c790819a4f8cf14b37ff297ad";
-  hasRunfiles = true;
-  version = "1.36";
-};
-"Tabbing" = {
-  revision = 17022;
-  stripPrefix = 0;
-  sha512.run = "10d3c274c5838c48bd47f651bfc57aeded8246787e23091307dcabf2794fc9eec19bc3a3af9ae08b812688ebc4fffd295fb01c7be7d61fcd06ccb46ce4f6b739";
-  sha512.doc = "1f4eb22039e3bae3897502fe541e595c802fffa94d2cdefed451cf24883e1f41d29e9ea0065d1d68ddee3e166aaa1ba7896dd84bf612e9c007ecc5c1e2d5f616";
-  sha512.source = "a4c7b558e6e5ad9eeb8b4e3d81c20edb09d66cd8aaec2b501224fb7f93a40c3771f8e23d2fbfb910158464f98d8172bc691787ef1c2256066fb85e96068f368a";
-  hasRunfiles = true;
-};
-"Type1fonts" = {
-  revision = 19603;
-  stripPrefix = 0;
-  sha512.run = "858836fc8a955b87f823c25b22fbb4b07f119186ab437e0e7ef7d387bb8295b8a65deb237c649d93afe7d72213745d4cfbe48a51372c69c12d088f5403f22dc3";
-  sha512.doc = "5448b85539d29ace8365bd0e197693c0c4c53a145d5182c3f125e11cb3ca8194675ca9553ad53bf7e503b1636f17614ea2e338113f61474d9744dfa91800390e";
-  version = "2.14";
-};
 "a0poster" = {
   revision = 54071;
   stripPrefix = 0;
@@ -144,13 +53,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "aalok" = {
-  revision = 57728;
+  revision = 59602;
   stripPrefix = 0;
-  sha512.run = "f25d1ac4e5de93e910a445e1830694c8f3a4de7976731a334c2bcb32b6fccac9d4386700b037c6c12556a9f9b575f90616cebc00d05f00f1db0273cc708379c6";
-  sha512.doc = "80b48b0a8eb1a75d0860d18d3ee4dbd93df3e7b11f3d22f8ec442bea6e16d0dbd1a4bed74450b7683d5e1eb05b43b1e2ffbe04ca15c52c3b7091746c45cb4675";
-  sha512.source = "389c3ad43370e282bf29b0c80fab0324c66b00c2f379404836f91f77113b0c736c502578317a1b56f37dd25da3f89ac233eab5d21e71f1204c9ce159703f264b";
+  sha512.run = "9e202d3c3e33c38c1cc7ce5fac9ab9759c2dc684d17c9b450ade236ed392acda87b11a2d028c65da74c6fbca2d962a09b2bbd854b7dc298865791009ee18b1b4";
+  sha512.doc = "db2a25f5a83a7e2f85c439186327a7a663156631af38c6c9945a2783b6b7d02539f762dc4c946497368f828f615c31a6a4d392ed78489111230169e18357a78f";
+  sha512.source = "856e4b95df45104f0c8e2112e06d2ffd6b878312e6159bfc204c875db1e2c34722b7c9fa4e3e0cc344300263b1639dbb26a43c7db26dede6532b3051f7cf41ee";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.5";
 };
 "aastex" = {
   revision = 58057;
@@ -191,6 +100,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.9.7";
 };
+"aboensis" = {
+  revision = 60059;
+  stripPrefix = 0;
+  sha512.run = "3874fe3b3c1b9d8541ca68bbcfb33eebbe52afe1b7ab26a7c90edf3250eb69d80445a829f638c0f61c4b494a281c1a571c012b2e78e070b6c617c788a50e92eb";
+  sha512.doc = "32189a8bd005651ed2b99c367111839acf2595fc8375e1984d8f45f278b2d88d4da3fcad64676baa3dcb91955055f5fd30608f7f7d26cd13a9f10fb5421882b6";
+  hasRunfiles = true;
+};
 "abraces" = {
   revision = 58761;
   stripPrefix = 0;
@@ -216,12 +132,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "academicons" = {
-  revision = 56119;
+  revision = 61159;
   stripPrefix = 0;
-  sha512.run = "87e2c5436f92e288c94d612380a2bd6736a19b7a6ba714c0d33bfad27aaab79cdf264b585e722055b1d8402be5c0001c1d8759ac3b79d6c2759c90d6a36d2f6a";
-  sha512.doc = "55f9e0192b8e50126fd573aee69ce5d7f389448f7af9e2973515ae49c552adaadd3eb8f06f019e42d0caa23c2d9a7841ae5fb7f6c0b6eed9a43eb60f7b0dd964";
+  sha512.run = "99d9fb8730b61fe18ce7bdc74777f259f6d322895909dc320555e0db9543c6daf63ad3dbe6231c7f43dd531db3b6dab9cd795a37f97ca8049156235831e1761f";
+  sha512.doc = "d1e82a45769adb3f000a100523f38a8017f3d060f28cd618792b6ff3df8d782e2fa473c0c7a5f2df5e5c83564aec6db290ab15f0ae414cd82977d1eb6d3aa065";
   hasRunfiles = true;
-  version = "1.9.0";
+  version = "1.9.1";
 };
 "accanthis" = {
   revision = 32089;
@@ -273,13 +189,13 @@ tl: { # no indentation
   version = "3.13c";
 };
 "acmart" = {
-  revision = 56946;
+  revision = 61233;
   stripPrefix = 0;
-  sha512.run = "cda16a82e6416cc92773ad39e1998bace936aced37a7b1208c48857b18447993bb14bdb31a5632fd1700e4fdd9fabd4c3e39c6af27fb355285bf824974e9d2c3";
-  sha512.doc = "27e241160fcad9cffb962f0204bda5384f81946bb82ffd99fc3c35d58e95109a15586214c774d6af57a9a12e8a1fc9f230d7c18f66dfb13ef2a45deed957cf55";
-  sha512.source = "b8c9b62228bb844373e972a24ec9bea3bbb81a028d0700bc61a42a4298241ac96483ee52cda42744ae3e453e1eaa2e7564299554fa535fae5ba15f77750f881f";
+  sha512.run = "1054235daaac6026efb3592fc08ac68095b61ea21bc884ee9af4142bde1e7527864eb64325c21a3bab404bea320ce5fe35e9aefc21bded7360ec43e83bb33f73";
+  sha512.doc = "f98d64df2f1cb7c82fb1cd4b99d3e8f1ca102f2ab6dd55ff8da92c42b889ea62dd0269b0f584d251ad5c639cf11ce24114c9409dfa65551b267d1140af0b4b31";
+  sha512.source = "8373736287dbbbf0919169c0b4c4e9a256eea82d9f54d821f1cfbddeae7433ece647e931374538a4d1545d626e08c2db6f3c6510f9abbc94189be651ede1bc1f";
   hasRunfiles = true;
-  version = "1.75";
+  version = "1.81";
 };
 "acmconf" = {
   revision = 15878;
@@ -562,12 +478,12 @@ tl: { # no indentation
   version = "0.2";
 };
 "albatross" = {
-  revision = 57416;
-  sha512.run = "78f4df49c5d7e4bc942ee80e1e9e7282d3b90b00af2cb946c52fca223b224dbf26c385f81d7a5c05e27e8e52b8de7c1197667e6ee699f8e8834d0d8739bc5f83";
-  sha512.doc = "3501da3f5dd2ed9830029f4880e59ec6a837ae6063fc7abf6b3d2cee0357c2fab2c7747676a0a1d719e68cb512e680fd0a2eb77ba09993f86f5e32ae5f8e40bc";
-  sha512.source = "fadc69184b89a4d664f9fc8b3d7d18ca3bf9cfc49c62ada68f7b265cf3cc9b196e06b086058bce2f842200f754e8c5f1eb16b5c4f17a9cfa00166d3ae64ceef1";
+  revision = 61175;
+  sha512.run = "8c3556c5c59c049a295790042f72b929484962b622a00c3a3dd39817978fe1cb2f56ddee9863f65429b507350c197740306fd0e28be322d26d6f30ff8d77c10f";
+  sha512.doc = "beef301cbcccedda3b3a625a87a572fda75d8c28a6d76d45bab4333b17a1a581e1fc42abb169b6fbc8b461334f9b83063f6fd26e445ef42f56904c051b65d311";
+  sha512.source = "69b966e2cc59ad0f5f46500c4b2a21e3ea4e627f03b2b7b99e5e313dbdb35c5758762821cf3d776a39a9cdd930a80b964ff70bb956b8fc528113c354a88b9934";
   hasRunfiles = true;
-  version = "0.3.0";
+  version = "0.4.0";
 };
 "alegreya" = {
   revision = 54512;
@@ -655,12 +571,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "algpseudocodex" = {
-  revision = 56125;
+  revision = 61230;
   stripPrefix = 0;
-  sha512.run = "e1cffa46708ef8d6479aeabca45e5d17bf14edfb25973fba5e3e006c0067138a432adfde0ad76f6ec0bafd327d1b2d74dddaf1b131732b5aa267b7fd898b4ef7";
-  sha512.doc = "5fa75ffc7847685bdc124faabf54a9bb45a8cc7dfda7df07f9d6c5180038be318190b20ad1fad3fa6d1f6b2e3a267ebf82505e7ff1626546b3846dcf935cae90";
+  sha512.run = "c0b39409522f8a1785aa853f57f4a770bdf4c1502212e4cea6054d77db371b83652b6d076c9274a04ff6204a5dea7ec0a9fb0ceeadb8184c8bb6f0c99044a7f4";
+  sha512.doc = "adbef4ce83faa9383a6030b2feb7e64ed5148ebd2c0dff60c4e8d4fef76fa3ac6c09fe5417ab2d1a46557fb3304f4c673d481d9cf7043e7857021bc42a0c94a1";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.0.1";
 };
 "algxpar" = {
   revision = 56006;
@@ -738,6 +654,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.6";
 };
+"alterqcm" = {
+  revision = 59265;
+  stripPrefix = 0;
+  sha512.run = "6af82517cdbc64453b7e546afe4886ba6816d44492ca4fce9cec98035166b45bc432503db0c09c44e2e41f3bf8cf18c33a37199025a6f09dce6fdd2849973fcd";
+  sha512.doc = "f16c2591c79aa8d9f98f36c613617b3068495f814db73bc330d11f6a52b4a6b394a663040de328e6251f16d21acf683adb6cc80a5ce6524c09fac8397439f8b9";
+  hasRunfiles = true;
+  version = "4.42c";
+};
 "altfont" = {
   revision = 15878;
   stripPrefix = 0;
@@ -833,11 +757,11 @@ tl: { # no indentation
   version = "2.0";
 };
 "amsmath" = {
-  revision = 56514;
+  revision = 61041;
   stripPrefix = 0;
-  sha512.run = "6cf5b39f9b94f5f9d0ffeb021422ee7c04a15c6cbfc0e29e58386c386f356cb311b4cea9134c5211a6aa9e8b6f8a6d7af61960c6aa378887754d2450261b0665";
-  sha512.doc = "eb71c5f8e5a05b76cc5cc1eb554843160d6592e4c802f8d0c4fa009489966350698b7fa37fd1fcac1a70e0ecebafd08dfadc81d069bd1a1867e09dd09295128c";
-  sha512.source = "2566262754978f25ba0bde06a1d6b161ff60e3306400a40e054c0408d932499ce54933e7b0a39875c0bd54ea8a88234e2503bee8a319a5b12388193eab1b0eda";
+  sha512.run = "7e1fbc02ed67b0d881900776c78e13f18537b778c22308d66e59094ce8e3dc3163de3d9544951db618103caf604e71b311c036b2979fea3242566910837ee534";
+  sha512.doc = "f57674e0cbe84d2966bf822db1772259c3d0bf747304ceea67234d3eee1eeb4704f73d3a78c0b3a4b1746cd1ea4b1e42525b49e0086e5c3e9d6ac9f54d861d23";
+  sha512.source = "2f1008185aaf06af9a770062da6ffa7602f4c1bbe2ddaa0cb97fb06226045a369c806e91f34b63e1de6109ce96680d61324e24098e5b59b7f96d4ee64d1d37cd";
   hasRunfiles = true;
 };
 "amsmath-it" = {
@@ -875,11 +799,11 @@ tl: { # no indentation
   sha512.doc = "2d35f87da43f957d7ec3d1e61d052d14b4dc207207fc2e6dc4de08b699e5211db17a84f0305888294ae163691e4dee2d067fb1c3a29fadcc34214033fe8e22eb";
 };
 "animate" = {
-  revision = 56583;
+  revision = 61019;
   stripPrefix = 0;
-  sha512.run = "29739e0c995ef6c00efdaa730a1e866b13efdb4005db8b8088ce4f1826899adabae41e2b7c0659df256817274ee11dfb7a033eb7b2f11302591a1fd541e1c1be";
-  sha512.doc = "95fc8d11094fc1e339ebe7c7db4ea88237790358bbd9bbec8420e3f53bac986ad2b8e6dc5e962c2d0c3f0de348b7b1cbc39b0289cee26276009e914e3ce15943";
-  sha512.source = "68a330fe39398265a10c25d452a6a26da8f4bfb28fd0826293c710e90259a401d55dc2b5adb1f29301bd809ccc2176a2e8b4e82a324a098fb9a29ec7f17bd8dd";
+  sha512.run = "e3f2fa0de9986b7cd50088dcf4c325636e4b42d0668757a6e86ae60caf4550da231f9b46d4a5e35ad1646e63200949923c60a8ee5f9350707bd3280fa0d63b9b";
+  sha512.doc = "9703ee826860bc0022682a29d9e192a09331ded997d6f650706dbd466ee74108d9642126ebe989f10102b5e34be4b9121dc146f61f8a27045a08429fffb90cd6";
+  sha512.source = "03710b40488d70d07653938e3ad3fda38c3373d084582d1c3d2f81de23f3fb5f1e0dc3475a5c33f489af714615c6114ecc456818e36a18aec5d2cd091813d21c";
   hasRunfiles = true;
 };
 "annee-scolaire" = {
@@ -996,13 +920,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "aomart" = {
-  revision = 56102;
+  revision = 58855;
   stripPrefix = 0;
-  sha512.run = "5b29c240180a4bd2c19ce3ac7d59bddc3e394b8eb92d0723ab044058e06b9ad8ce415f230e3d929c0425b70e544a2b9ce98168c594093113e6bc7574b2e1ba95";
-  sha512.doc = "b32c3bcade372d00f78c8e97e0061a882c3773ccd1730180fcb09a397c635075445b0d5e0584c42531e1352df721d2db77870e965ecd25b55b252b380c1d7ef2";
-  sha512.source = "67636895d4fb4bf64130fb021953117ed29dd69a82b991ba05d6f40a2cfb3653d11c78d0ef60023cf00a7c44de87cb247d384231ef44265dfdf85083e0a49643";
+  sha512.run = "ed3914fe0a5cc10f93b4ee248e7b2300fe9bc7b816d0a803042cfa9d035879f34f2a45de5e317c0ee9f4e18017a5f06ca7f9c6d69d932c8019a68ac158739a87";
+  sha512.doc = "19b8331437c2678668e46ff3ac8a2522cc5cb98ef29a04799f29cea76020187b340db5063e44ba82387d03ace41f00ebdc0601eefcead9d4186c702ab87db855";
+  sha512.source = "47d0a4f4cbd7713d7913b5197e66d00a14029da2b1a71e3c3c442bdbfc0c338454eeae4e00f7cc97dbf4d82dcf151cda14bb1eb2824b1091da85989087196b8c";
   hasRunfiles = true;
-  version = "1.24";
+  version = "1.25";
 };
 "apa" = {
   revision = 54080;
@@ -1031,13 +955,13 @@ tl: { # no indentation
   version = "0.3";
 };
 "apa7" = {
-  revision = 58787;
+  revision = 61110;
   stripPrefix = 0;
-  sha512.run = "f061ae445a26f93d4e9eb7144a29ef394edfc9ec9b7f011e08299335fab1390e9294315b6eb922dedb7e2137b7bbe1fd5d5fd15f68018f1becf8265590e9d96b";
-  sha512.doc = "a2ff51ac949c3914589ea6f71c1b992b92276edf6775275b6cd89c899c4b3b9cd0a161c67fc28da29ffa877956e656f6370f6e86eda1b7009a09046bddf92a39";
-  sha512.source = "7ec37970c094c7af02ce371b83905006b92e25c2056d2172e27d4bd3ba0a91920021e7d459c79a9996ddc277248eaca706461e716a9fa3c6d56a01ddf8f61848";
+  sha512.run = "12d161bcf16690019766e5bdee9d043dde811a7983bf0143d23f58c28673257463e03b617ab3b7d22d6e7d20753b32c8dd3ba62b94c7ce0b62a8c5481f0f668b";
+  sha512.doc = "71c6326f67344b4bc48a3e79f3ba5e60a170634855fbff881da5d58f527cec77c1fa9b1095860f23b82fa8b3af00a92a2b2dd262d96741d57bc5529f10946e6f";
+  sha512.source = "594271b545da974f3a8fd01fc31054aae21fef5b5e57d28e08284c29da0fc1119aba122b1506c9c169d2b262344974e2f10bc614e581765ad5617111f30090d9";
   hasRunfiles = true;
-  version = "2.11";
+  version = "2.14";
 };
 "apacite" = {
   revision = 54080;
@@ -1048,6 +972,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "6.03";
 };
+"apalike-ejor" = {
+  revision = 59667;
+  stripPrefix = 0;
+  sha512.run = "b04f10bb77365327f326f2bb6c67347802fe6f9628644711d72b85576f59e06ec9fec168ba382a187f51cb7bc2d619b2d971d55024e4ba82d7f5e3c73f556bc8";
+  sha512.doc = "a9e091123eaa359ef7ca22d47ce3e069ebdd9e74835e54dc2abbe92073edbb9989d408d5f52f5e83b52f7137b4cbc50fc38e56606f72541ee46aaabbdafb3a40";
+  hasRunfiles = true;
+  version = "1.2.0";
+};
 "apalike-german" = {
   revision = 54080;
   stripPrefix = 0;
@@ -1109,13 +1041,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "apxproof" = {
-  revision = 56673;
+  revision = 60412;
   stripPrefix = 0;
-  sha512.run = "0a81e01bc885b8e7d4bd69361b185beb8cde62f7a10db4e5441312dfea15c0da7c352a4cb412102bdbedc60d974ddaee6f44451042283f577b9a4b4f54a263c1";
-  sha512.doc = "a6131b7889d7882a9bfe253f3bfd380498310dc9f0d13ae382d786e3604201c887b98b8555d69cf62067b4c6d5975b16f14169dc10cf4ca5933af3fb843b60b0";
-  sha512.source = "0895ef3552dea3685c529a2adbe8efc7a7010e63b277b8e3740d1a123bbaef1609f05d2085887d013ba9f75155108397153b187f13b6bea8e49954bc75938a2d";
+  sha512.run = "7ff4cc55770d1b713e63bc6323e6c55b8ddd13841e2410a28b4135b26d8d5d1aac1c5e443820d85fa5502bae4aa60082714a912a3aa975235e5336ae300ad2ba";
+  sha512.doc = "3d27042dfeb73eca1dff70ca554bb6346d881a027d59ee6f241d57f32e611baf7238f815abd9eb660d8ad62c488954f730b19374bf6d90a4a48aafa32398d7c6";
+  sha512.source = "2730ef4187d1f8fb5bda8cab3b807e523faad855267204f0059302cbfa585d22857681c8c482620b9861839b1240cc4290d99a97053aeaf33e13cc0f7863c4fb";
   hasRunfiles = true;
-  version = "1.2.1";
+  version = "1.2.3";
 };
 "arabi" = {
   revision = 44662;
@@ -1133,6 +1065,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"arabic-book" = {
+  revision = 59594;
+  stripPrefix = 0;
+  sha512.run = "ac60431be9ebb42e2329c954805ecaef988bb6724eba7638ace659a973de3de9dbffc9ee85b2847531c3fca44e97e7099b1d9412ec754d9d27bde1432480f133";
+  sha512.doc = "5ed647dc625397baf5db5cd05c87b2ce5dd44b4acf67ff6337b96989aaf210775f3870b5f1f376219cbbce96e486eed5dd24dc893684aeb7d3490ae62df15f14";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "arabicfront" = {
   revision = 51474;
   stripPrefix = 0;
@@ -1151,10 +1091,10 @@ tl: { # no indentation
   version = "1.20";
 };
 "arabtex" = {
-  revision = 25711;
+  revision = 59150;
   stripPrefix = 0;
-  sha512.run = "2dedbd482c223f65e13aae104e2014d2d28bf9f4ae6b90f1a4cf0718eb245d8a94899982f15de326f2eb19e2696045ba8ca9a19a6d903ef7c3e9b575a01d6bbc";
-  sha512.doc = "f20af64239df9bdb82b7fdac6c5f6a222f1277eb877fa1907cbadd4ec6e426745b40733fd2ae726d3050e6f992b14cc91d6386ee02e2bf841d1f249d09df0c71";
+  sha512.run = "1266c1824595e29a96a00f21da756d7ff12ab361bb9a719ff08f2d10c341826757965dda77c32cf03bb565a3ec61ef991fe2b5cf97d26f4ff89bf35dec65e3d6";
+  sha512.doc = "f878af124d3e7f65a09e681e9d66f4b9c6bdf678d194f130a944de3e3c208574388411a5f47e849518ce7be78d88c8d9e462667573e9517db953b0b9faa60a91";
   hasRunfiles = true;
   version = "3.17";
 };
@@ -1176,12 +1116,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "arara" = {
-  revision = 58764;
-  sha512.run = "e898d9e3ba290a4bcc136307f8bdfd21b3500de3449c6971f832b42e984abb7acf81efc350b0f9868bf3a1f020ad6c1f9904aa2d48c14e9c58d15afcc1c9d5b4";
-  sha512.doc = "8832a9e0c92100505af47653510c319964edf07c4ee228608b7797dfa297c70347d5111320e57e6ad96cbefbeaaf895938d785fee0821156bd5db6bf6bad6b6d";
-  sha512.source = "3fee3982b1f18fadabd062d95670a9950d912fc6d3859bdd0d0b08aab5cf5be4ebe45d410326fadf0c21693fc1938d361b8f451feadd6ee3221cc1eb17eac414";
+  revision = 61370;
+  sha512.run = "2d32be197013bd1280c5bd1475847e653f29549c2776b3cbd353796a0c2eb86a08dadaa80b69f7c40a68a5670b69e33ca44e4c0a468f84b336a06959f2c05a11";
+  sha512.doc = "82218fa054ba54b2e3a33f85c236970a42495d3948a89e0385110679aef541b4cdeb33f05cf1813a83d3218e83ebbec4176ad5ef006100d23b444f749c19b70c";
+  sha512.source = "487aad824c0feabaa06c2b3a2ab3e144c0e5cc1da9fa77d069d2afa1be22c186c7b7a346574cf37d5c4fc69f8253926ff00380947d717e982aaed86d174d2400";
   hasRunfiles = true;
-  version = "6.1.0";
+  version = "6.1.5";
 };
 "archaeologie" = {
   revision = 57090;
@@ -1326,6 +1266,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0a";
 };
+"asana-math" = {
+  revision = 59629;
+  stripPrefix = 0;
+  sha512.run = "2bbf3e139418db06578af5fc8d3925d96bbe1bd9d472a82d428a059b1a206db131734f1b0e762ca49c896f403faf279b2e47465061dc5bcf0eaa8058474017a3";
+  sha512.doc = "86b064ede8b8d77b9722d967de612e4a0e8758a29a6a3909b625fe2fa8ebe9551359a442376e8ee8a9dadf5d295d197328914411144c6f94e0b0fe16692eb128";
+  hasRunfiles = true;
+  version = "000.958";
+};
 "asapsym" = {
   revision = 40201;
   stripPrefix = 0;
@@ -1394,18 +1342,18 @@ tl: { # no indentation
   version = "0.2";
 };
 "asmeconf" = {
-  revision = 57833;
+  revision = 61412;
   stripPrefix = 0;
-  sha512.run = "c9a11e0e1d2fb5ef9c674b571bf8de631fd1b329fef165cd5a1a0028f80a9447757bb769b743c69e29405b1688ae292110cf958f6bfc9092026a3277bcd78b8d";
-  sha512.doc = "11db98dc9a9556e7e03b5b5e5284b19ef97c295ba3f21a9e3e0ee2cac712d81a9bbc485b27133f8f2bba158037d4388c1bfbf4dde241715a2386b564a51c45f0";
+  sha512.run = "17ae6017f0f6535a9448592a7f515283fdf859453ee93a7bc20cc5b9b4dacb0d9201666a9035366a2344493131a931635201921feb8888d49920a924db6b87b6";
+  sha512.doc = "604fb5e989c1cf9f8007fbe04947cb1211a2f009e4f07b96e2c1435d4dca295db0bb05ddb8f1c3e94c9326c5f9b8475d1445da1b305dff079ea75a8475e58d08";
   hasRunfiles = true;
-  version = "1.26";
+  version = "1.27";
 };
 "asmejour" = {
-  revision = 57598;
+  revision = 61388;
   stripPrefix = 0;
-  sha512.run = "9453ee840ea08b6987c40df52f5b011f57642b5e1ee464a52308febbed71c3c3fb8953d2bdf98bb575900005aaa0cc6ea4146b930be5fb2f309474ad5002f39e";
-  sha512.doc = "2322b31e9c1d619c0e4eee7336aeb37a22d9d3c86684044c318762a3a2887c02bab2a7eb86a512e222f22955c568b587442c15c79e77c205dbf50914e8b9c682";
+  sha512.run = "417d78b244f15b4a4687954a8011a7c955f125ea2d04a4cf33585daa8266aece1f02ea5e9e92d1b7c5a2519427126f1881d6275b0e8633a677defbba8a3f20b0";
+  sha512.doc = "dce1af7422529f34bd9451a3a90fdb64784d59d027f2077556b517a00b26e1d8eaa5f45a53950d346fe9f4ecf63d72e655051813a458b8bdaa5552721c202275";
   hasRunfiles = true;
   version = "1.15";
 };
@@ -1639,10 +1587,10 @@ tl: { # no indentation
   version = "1.5";
 };
 "autoarea" = {
-  revision = 15878;
+  revision = 59552;
   stripPrefix = 0;
-  sha512.run = "81a6e2d2c241056cdb5ca7e54b33b523aa3bebe08d83e3418080659d316720a6bdcbb63d82c337175e6f0591a81ea322289333c5b8f125360c5ed4ae99843c4d";
-  sha512.doc = "8b3cb3def1945ae63b7d29614b868d07c64fba6ef50e266f92e3f1de1aa536084f5af5ff095bd467ef83d33701f780dcaed8a7d1c60dc68dcb5323444158b3b3";
+  sha512.run = "dadd69326335b6fe6e425a867e2e62a0b1df2f3179801bcc726c6ceebc15c24e3a7c9ecb3034209e25e503be47a9ad8639addfb628f720bd0c0d64c15177043d";
+  sha512.doc = "1b0f6ab0c7b1c69b7a802e9685db50e6b54361acf68ce2c2803419b165be1dd01f52a5b3fa9ccbe273e859509f7b7faa0c7c6b88bfec8f51f0bb66adf7b94e90";
   hasRunfiles = true;
   version = "0.3a";
 };
@@ -1689,6 +1637,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"autopuncitems" = {
+  revision = 61381;
+  stripPrefix = 0;
+  sha512.run = "c23d52218f03abe396954e3eb4685f2f66c4c7da0f57ae8887e4f518fe27134c02eb0e0ffa7a89b7959fe17b70885e0994d165d8cd843c63371c9adcd3228eea";
+  sha512.doc = "0fb4c362a6d0312d2d48d35c0389625c9b73da16271703742fea55a1178407dbe6e10b7568e944935ed8f86d090b6c5cdf9f35557f8934e5f465fcd0ef622308";
+  hasRunfiles = true;
+};
 "autosp" = {
   revision = 58211;
   sha512.run = "67587e8b456257be9b924a5bb8c8f4def22fa9aa9678663975ef74e346dc186ae7848a9dc043733cf1244f254750ef4f34204575f62195d4b966ed8336781bce";
@@ -1753,13 +1708,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "babel" = {
-  revision = 58684;
+  revision = 61186;
   stripPrefix = 0;
-  sha512.run = "d7a08a9733b008436529ca481535497d0e6bf53362711224dcc4cd2449b3041ea71f1cf94bf86a45a9fcfac54ed523f06afea91f0df42775a0315af3a2f6390a";
-  sha512.doc = "66e09bf630ea04e94158813baddc8aece0afe65d5f2a713ed6d9d59c3c494d11245c2467ee17a180075ac7e5468d0f3006e5e4defdeb0f5d86d29058aa3803c7";
-  sha512.source = "18ee85e8865f065fcbb36e1232c5f3bc5e97a40e97504f6baa7c7f59099260998e257f21a8f97608c819d6279eb4823c2791668c2fb46bd564e007f729ecf99f";
+  sha512.run = "092fbe0ad51a12b48d5726b7be1e5a5261d10eb69e1a7c4f45ff3447ef4bed8a8b65833a062c4375acc02c5530c7f11821600b60753bd123d41a2a21f436f6e0";
+  sha512.doc = "b46c03ba4611cfba32a7748c190afc5f0a7db7e62cc170063879986221988488e2f727af1e4948fac70a63ac0e2667bf4552e0be4850bda7e176da466c599ff7";
+  sha512.source = "21c55ddba7bb6ed1d90b3e51fedaacec756b4cd8a3597a5a6c02cf5c921949756021d63f50262482c4eeba1c81b93ae87d28e71d96f2a07f527a92b8b7dcbaef";
   hasRunfiles = true;
-  version = "3.56";
+  version = "3.67";
 };
 "babel-albanian" = {
   revision = 57005;
@@ -1861,13 +1816,13 @@ tl: { # no indentation
   version = "1.3s";
 };
 "babel-dutch" = {
-  revision = 56827;
+  revision = 60362;
   stripPrefix = 0;
-  sha512.run = "4bdebadb6dabd378fb52eedacd8181623e40bd0a8215aa77c34f7a051a020d6c60230fa0203c2d519bfffcb9a374702ccb1d7c6b0482a232f1eeda5ff52f6c1e";
-  sha512.doc = "92bb3f2df9706bc6af7d20df200174a4b3f0b3237a8f1d9259886272deeab4109e85245a0cf6cf5b43bee93b14b581b1fe5e0d4f7198b88a77e2fbf0c8156090";
-  sha512.source = "5942ba0dff02c632f0a09e240b3576eb425ed1c74924c007572b2a7b8b95701777bf20b2a943acd0028682d5cf422988c51752c3c80806413c0227daf2f8fff6";
+  sha512.run = "bef13adf26cbbd16604af041fc7af866c82e88cd9d7d05318abd10f7d6f0ae718e1186f5527b4b38f1f099ba5da3d85b5e2f6d1ac0dfe8fe64ea52fcf6f06df1";
+  sha512.doc = "a78535f95bbbf6228014471a473a7e38b2cfa2da0160adb906b8f75c803b3e9396ca52322100102bebc179ec1e863a78c1b102ae932ea324ea58fd57bf9e9b06";
+  sha512.source = "724746e2e05c5de5184125068b2637c14c58c83f86fc92d75521089298a26290ecebbb6f0c61f7452da659dbcbfa1c36789e428aba500fa2211e354747fb017c";
   hasRunfiles = true;
-  version = "3.8j";
+  version = "3.8l";
 };
 "babel-english" = {
   revision = 44495;
@@ -1906,13 +1861,13 @@ tl: { # no indentation
   version = "1.3s";
 };
 "babel-french" = {
-  revision = 56607;
+  revision = 59997;
   stripPrefix = 0;
-  sha512.run = "eaf680b5828b069907c0edf2b62c49475648f973f1ed220e47f6c05907e4b813021b0b18f66b3926ddea4266654dc91055913f3d6be1a799ef0bb2ac8241b9e3";
-  sha512.doc = "67c54e55985a756ad52c6c904271a0b54b95e36f2da793d8804771c1606a354c075c8cb547d261c291fb70996fa818573f9f4e0e2c6f0e4a72be0ce71b65b724";
-  sha512.source = "676c38f93a87b0fde0d7527f5a4e7db38744cd72e069dfa093e1bc91e365a219fe00a2d523ba06522f31aa106df1f391c669215bc4617a59df606f1cf3df179c";
+  sha512.run = "50181d5bd1766b6a9d8ee20cfecd96ae6c4464528d450eaf3ee3a61e7ec08fe0d4d112794bbb2845ff3164c41030e35f6970634b8e17c98af7799e297c4fc8d4";
+  sha512.doc = "4753dab0c5ba92f99d9de2b33cf46b859bad541e1aa8171c7efb959da406a346b1448a41c4f2f0ac698b921316929d70b0ba0adcd9333ee9cdf30b2dd888fd0c";
+  sha512.source = "79c1254e16c2043f334733e0041e1b5b7b90a306383f532f0ec1d547c762a9194af9d35a927b7055fd6a9f4735a5d7eda4f4adb172ef5a643b14471a77301482";
   hasRunfiles = true;
-  version = "3.5l";
+  version = "3.5m";
 };
 "babel-friulan" = {
   revision = 39861;
@@ -2038,13 +1993,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "babel-latin" = {
-  revision = 38173;
+  revision = 59800;
   stripPrefix = 0;
-  sha512.run = "56ede1f441e96e3f17c165de65a7703c8e8897c17ef775fef1e30e1d2382eee0738ba91c97717694edc7e932ee0dbbfd1600d16ff86d6bbea1ccd5cfcec82ed2";
-  sha512.doc = "6dc352b57346f0caaebc0832d12a9c1f13743e5cc39285b4d81edc23cd5f21692165040becf4ec12ca6d1acf6c19f1b2ab1da8d79e3e82ccc2dc865322bfaacb";
-  sha512.source = "9f04205ee8e5c18a0ec6e20fdd7ab0d89d4e1ea28d5c3ad819ca9d09358466215b4d0c2b18d77ba5cca604b3997814ce39b33fe7f438b5b554500b5f4edd783a";
+  sha512.run = "09a08dd3f90f83490867b786870b9591cdb3fc8d83c0e68446e2c97ba665a70f45c8b2553cfd6d965d31e6b2c435876ca569f4c24a8ddad4188ebd8b27b261b9";
+  sha512.doc = "5a57f5b070cc86950002c40c5dc35407b0ace14ebe8ce64662260615bf5ae069237f5b0b6ae0fc795e72d9d1d3d9bbf7b30fd9cb762e56595058bebe436e5b92";
+  sha512.source = "e7444e7c98837fc989a5db187a5769bffa993487c47f56ac5a686a92fc1b25f084966b411340de869a8325dc13fb6f85ce22e65c43debb63a2dfab2568d36cdd";
   hasRunfiles = true;
-  version = "3.5";
+  version = "4.0";
 };
 "babel-latvian" = {
   revision = 46681;
@@ -2109,13 +2064,13 @@ tl: { # no indentation
   version = "1.2l";
 };
 "babel-portuges" = {
-  revision = 57644;
+  revision = 59883;
   stripPrefix = 0;
-  sha512.run = "d415a75ca4504cb219ac55b7a03b9b00667747fa39dfd4650e2f93ef7919cb79c701e52d947823016151b340a66f52550a0903a861540d0d6474e4f4ecda6adf";
-  sha512.doc = "3b3c40f55953d3ba46ee96ab05789a86a42fb3e806b06d9938a57f2e5d210b2f38745273cb71e224a7c251e2d6ce96c4d17bdb089a4d9180cbabd5bd8716259d";
-  sha512.source = "fc1b7c2c116e23612475dfb657dc167bec59bd81bb44d925faf6a5ff4103459f2e34de49aab8422eda69f263033923b7a4ae3f102ab9dab0fd9e35fbc76c10bc";
+  sha512.run = "8b63140bf59669873f55ed65925eff65cab3bd6bb404b7dec962b7072243c2b2be8d2918e379ba02b557f7e07d1d490b3cd0bcf3756bbfc3f4e63ff540e73c28";
+  sha512.doc = "1fd6cdd08c2c00340b04ddaf078d1e9f0b1c51dee22f805f00bb46e63c46c4461fe4d9df174c2844a6ed01f7b52333a6290cd0c8aff3820a1659839668308b91";
+  sha512.source = "863f5c222f11288cb4f041a04cf543494409bc69df67a65b71ccd79411e4a292653a6bc48644d3b7700c0a01d1a456fa56c0ce867d6177983a8b7c98b5e66aab";
   hasRunfiles = true;
-  version = "1.2s";
+  version = "1.2t";
 };
 "babel-romanian" = {
   revision = 58776;
@@ -2162,22 +2117,22 @@ tl: { # no indentation
   version = "1.0g";
 };
 "babel-serbian" = {
-  revision = 53140;
+  revision = 58836;
   stripPrefix = 0;
-  sha512.run = "7c2e8e6cf0cf320f5907d3f39c21072c1d478ff77ed78b6ab461fabfc38e2d93fce7c3cd93ddb66adb768bb10c64dc69f2f83709e36163f9376f89811c77eb97";
-  sha512.doc = "7acaf09d1583c59fc61ad05009e4829b0f1c320529fc093b749408bf1ffea347c1f440b1174c6340d4d128ff7ff1017b28403cc55dd4aebf3467b629f8f46171";
-  sha512.source = "5038823f38991cc0fc3977ef719347d394cf7eb6dea84a3a79fb98de8ba1f5039d2a1992659ec90914d823984ba71f5d17bf48ee7d832705aa7cfd9cead12a9b";
+  sha512.run = "d754a40fa68732f70582b6ca548f4ce8ba43af39ed299dba4a4cad5b10afbacdfea2bd79d332ab29a2a0a81422d6784fa5beb57e5a5a90c6a29c88407c8e008b";
+  sha512.doc = "371cbe277b92b229816dadfc417137269a06cc49a0c7db3eb4e50cc21be01afe215bd2f378df89752600c8864c95126950ff42b0a3abc85064a4cdfe8b788352";
+  sha512.source = "2f96e458d6dc3770bac7319d7ddc5a7105a3809b5a85523c1465da7a07443c5c61fda4034485202f1f57db5251de72cea1e32e58303552ceeb8e2ef3dfacd337";
   hasRunfiles = true;
-  version = "2.0a";
+  version = "2.1";
 };
 "babel-serbianc" = {
-  revision = 53139;
+  revision = 58816;
   stripPrefix = 0;
-  sha512.run = "b449ff8aea679484585ca92e47c256efc589657333818f2a4dd47344b4df8926149718520fce18a99ff2c37809873f112784b0b034abf73b1fe6c0410843bcc6";
-  sha512.doc = "a692cbaf4f42d6829bc89972dfab6a7045119b9e7f75c2416aa15492e73bcbb51687d6a3a9b7a860ea618602573d0fbbc6251068fe59e91473e9a8cedee7295d";
-  sha512.source = "8457f2f0b79989905ea8eb706fea487018609ed03c7cd70764beb0c940d32a3de642bb4bfd4032c974ea086ce31b1cdcb75a092fac29c66e92161c495662e931";
+  sha512.run = "d0c1abd87fc2d8284bd3369398b3bd5d22d8bd6453aa315c4100fbcb88e3a7166e639c31876677fb656a8123049324a87cc9a68a227ac771951a3249fe0d68dd";
+  sha512.doc = "e025cd674a8fa6c9c14a311c8132c98db6e84ebb2391171f8441683fc3ae1eddc0a3905d73ea48231ea9eb0eccacf168acf48413d60456fc8a30b81d451f88b2";
+  sha512.source = "470d88336301b2a95beb6f854924972be2c54067d02307629b635288c64baf542404c17833d60782a2a2c4e3a832766bef1f35602567a5942e541a034d0e6c21";
   hasRunfiles = true;
-  version = "3.0a";
+  version = "3.1";
 };
 "babel-slovak" = {
   revision = 30292;
@@ -2198,22 +2153,22 @@ tl: { # no indentation
   version = "1.2n";
 };
 "babel-sorbian" = {
-  revision = 57646;
+  revision = 60975;
   stripPrefix = 0;
-  sha512.run = "a19f913f590ea66b411a2215ac555590b3ac9f23480096236ccf9c84714bc7b64c0649c1bbeef36bef4f1e56b0e16f3d2abf6c929992fc4accd708ecd6f54681";
-  sha512.doc = "36c648ef7a2671bf06511d56fef32a7dad13ad176cf5689774807291b5908a23724c7d26a18d5a21d9d9cb5d9ae9864f321e8703e8ea55cb65cc424e79747bc9";
-  sha512.source = "146b868a32adbafaf82217db99c1d260874ab1192fb50cf1ca670981d0bab116dd2d959fc77b496adfbcfa898253e91ccfa9837a619292dec7ad50abbbb7915f";
+  sha512.run = "629a4f09de7ba1a444af0fc4e6db9f53635b0e000d375296697096c2debd782496d7b36f7745af42a8a19f6cc24c6a832595bc6c89ae20d79701c7181d1a5d68";
+  sha512.doc = "ebb371730cafbd37a4c54dd0ccfe9d6e187aae747d1b6de9202fd09a85b5b38f8814e0bd27cd86e51c5aa62e6816ac725e28eff9117d6dc474a9e32f3b6fdaa3";
+  sha512.source = "57d29eb253398abf3210acf390cc80e97b444c370718bda75108fd1d70c1c7d2fbfb43f6387751cfc90b9cb9020eb4222fca0821d10c4d52750bfde05a2557e1";
   hasRunfiles = true;
-  version = "1.0i";
+  version = "1.0j";
 };
 "babel-spanish" = {
-  revision = 54080;
+  revision = 59367;
   stripPrefix = 0;
-  sha512.run = "f71d329928253e6a1edf34fb9406473b83a5c8120982a4aca7b1caee76e261e78f94521716eecfb59171912121314dabf0ce164938e5fe83b722ff7eacbf9b1e";
-  sha512.doc = "fe60634e76d9e539df4813d5c6a240f36e017a5926016189d23da56b723ba92a317e85ef2912ad76707943e0ec0918dbe1a1dba62acee7ea2db99dc7ad69c4f5";
-  sha512.source = "0ad444d85a0c93b3e484701ffc8a934dbe85d3e2bc2e5bf348b33e0247682071ca366c438177beaf192f6c687e4847ebfcc3c325e2e28c15f67ca34d08671395";
+  sha512.run = "2da1b62772f462c8e058edac7d305804be6234a720446288fbcbe2e574a1cd9f905e4220b4008dad64c0e59b15194e2627cd1e295003c1bcbdd523c8498fa26b";
+  sha512.doc = "9c3e87e7de6fa46b0c6b9da65d4c23e31640628fd6fce844b53d896ad85813e9b804fe4a36c7c2c1cf26550a51551b39150a12467e26fad4f9bb9094dc0af817";
+  sha512.source = "48e4293f6c7aafed829e273e0e5ac2709a082e648988bb40e5bd0b36aba6d84aa036d07108a2bc76c65b4ca029a9652ab38268b7e7a87abddc03f00ad55a7fec";
   hasRunfiles = true;
-  version = "5.0p";
+  version = "5.0q";
 };
 "babel-swedish" = {
   revision = 57647;
@@ -2311,14 +2266,24 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.02";
 };
+"bangla" = {
+  revision = 60159;
+  stripPrefix = 0;
+  deps."charissil" = tl."charissil";
+  deps."doulossil" = tl."doulossil";
+  sha512.run = "adeed1b1f42ef1c76406c376d5f672870feedd4ccdc8db382b057dea6dceecca6e53de7d2c0ca154def6b0be67c05aa46e959c89829f564a3acc6805462bb4bc";
+  sha512.doc = "d62d6a72c268421033767b3d2c131583e62e0c139ea3e101094752616498111badc5f0544294e836715dc7b3fffd5da9d9e4d3a4103fd2090f38e7ee31afe5be";
+  hasRunfiles = true;
+  version = "2.0";
+};
 "bangorcsthesis" = {
-  revision = 48834;
+  revision = 61037;
   stripPrefix = 0;
-  sha512.run = "3d8dd2648361f74ec6af8727f0895ad1e1008ce0e8612d879634b196d5e4cdadff20e33e60e27d9812d7b6fe3762026ee46139f3ade3a3a3cd5d27a941355a62";
-  sha512.doc = "97c98bb791018631b7c5bb282aa3585ae68ab1d2d81f56e1be91ad92d6dead30885c478856f59651b533590eca2f80e3596d09f0277ea6dbd6ec44b97ed64fb9";
-  sha512.source = "b48f9e854297a3effe72c3e4f5b26d1a48b5023b25691727ab6c735379a092f8a6ce1b7dee1eb87b5cdc10866591b35c83df579147d3ecf36e6a27356d50381c";
+  sha512.run = "da60a3d264abf24f91f2a4a0bd12c99962dd618324e7b26c59c4df1a57456691fcd801ba234e5cec305c4bc1eb05f3beefe1ff1ff57440dae6c97a4c70531426";
+  sha512.doc = "b8d12c8f2351b615d94a5da9a46b6ed4a9d28d23decc1188f7fba36dc6166ac0d0a6247a7caadca8409a52cccf643e21e6a80f25833feeb9ef0782141ca892a3";
+  sha512.source = "2b652b8cc16285d7a367ea07b8dbf3e77503b6f6efa80ced52219816d80dd4f9ff6ea2cdf6326c5ac7888546f21dc009709e2b43d35558a29be599a300d7770f";
   hasRunfiles = true;
-  version = "1.5.3";
+  version = "1.5.4";
 };
 "bangorexam" = {
   revision = 46626;
@@ -2498,6 +2463,14 @@ tl: { # no indentation
   sha512.doc = "ad841ac652a7985ab907572f66462091b1c40f7cdab2b00086209a2d96056e0a9e32842dfbc22c829b27799882252da95e3d10d4a9dd174f487327d5f3ac3899";
   hasRunfiles = true;
 };
+"bboldx" = {
+  revision = 60919;
+  stripPrefix = 0;
+  sha512.run = "4414cca525a587cee177ad7629b5ae3ab0317b5ca9266c49da852bab595c8f076249908ef071c91f398e2f1441904393b0d0baad3a92fb53da5a34fd729136d9";
+  sha512.doc = "85d590c60b708bc35924259bbf6e670d70abd48548f02ef1520e83be9fecfe3cb34c2b6e3f0c4b72384d062829aae7b4255c15e0f35a9f0e98f8dbc28882795e";
+  hasRunfiles = true;
+  version = "1.031";
+};
 "bchart" = {
   revision = 43928;
   stripPrefix = 0;
@@ -2515,7 +2488,7 @@ tl: { # no indentation
   version = "3.1";
 };
 "beamer" = {
-  revision = 58537;
+  revision = 60801;
   stripPrefix = 0;
   deps."amscls" = tl."amscls";
   deps."amsfonts" = tl."amsfonts";
@@ -2528,10 +2501,10 @@ tl: { # no indentation
   deps."pgf" = tl."pgf";
   deps."translator" = tl."translator";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "569d6ce4661185964583f9be628df4ce898d70d198c2cbfd0f687f60e38b59beac6b7fbe4db49b16a0ba7d5dac837f62df33d38131d8c729044b320c3ecc041e";
-  sha512.doc = "2b74cd7cb7c4481d2b9070e93c7c265244b9d8b9168470754c6a0df5d457e412c00e041e4643f644f942189268d360121ac01c001a2fb55760df326e06be940b";
+  sha512.run = "9880737a29ef84dcb4f7e987e6e0672330aba2aa01bf82bdfb7051e9603576fde1c6c559a8c897e2edd8447309df2dd8bc9ef52f2debe8a7b967448efdb6e80e";
+  sha512.doc = "ceb5458b1fe57a9ed366db89cfda611cf6187ee77a7cd8afed7a4dfb30a4c9d9f23781dcaecee616183bd6771c14c29abf880333bb45250f7bfead17fd4722ec";
   hasRunfiles = true;
-  version = "3.62";
+  version = "3.64";
 };
 "beamer-FUBerlin" = {
   revision = 38159;
@@ -2541,12 +2514,12 @@ tl: { # no indentation
   version = "0.02b";
 };
 "beamer-rl" = {
-  revision = 58513;
+  revision = 60262;
   stripPrefix = 0;
-  sha512.run = "bb16a10b5c5edf3df3163bb5f177eaff4e1235263d758528691aaa49b3388412c380721239ebd73f965d4306860b1de95b25b7c1eade36d216da1e3974563e9e";
-  sha512.doc = "a7032533474476f480a685decaa62da74ca37100a8f6f15ce56ba5ab8bafa3a8a58499023de2bef5eb3e7eaf4afc978287188ed57ff4fb02906254211713fa88";
+  sha512.run = "d077e06a2f7a9f70cbfa31b18f13a055d230c1b1bd6d932f8715b723d6db9773d3954519e29326a843daaf7bb89d3c8eee749a61ec9b3539c06dbafa5e3c9713";
+  sha512.doc = "0af0108749a6a8c9ae2c3b3eb8aca832e68fe8dd3a5cf0a23664f762b20779d8c32ed6b78b754a16a8bab40e157be8a85904aaff23a5dee65d2317f1a327f5fd";
   hasRunfiles = true;
-  version = "1.4b";
+  version = "1.5";
 };
 "beamer-tut-pt" = {
   revision = 15878;
@@ -2630,13 +2603,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "beamerswitch" = {
-  revision = 55441;
+  revision = 58873;
   stripPrefix = 0;
-  sha512.run = "7f7851b146d4dd5db03f372b0014c3bc60f253a302ed157643ba0dcab31c966cecd2b80cf341208cfb25d885bf58dad9c6487ef0e36d1ef1dd86c235156dd761";
-  sha512.doc = "2e87e27d88297b74a6c5d9c17059134bc23d6ec4f0aa987bc7e72269ed153c0dcd9a3cd86ec17b8a6e8b0c280cd89cc40a9209732ebfe192d7b6c763fc2882e4";
-  sha512.source = "22b7e89d43ac5266189c47104a6f5da3e2a489afac705b1ca83be0825fbee29818ecdb3c893f04001e48ad95694cf21e1666a90a1fb27701d0d0ef9ee40fb59a";
+  sha512.run = "9fff5ac8406dd4bc0e76f3b01678c1c2d4dc089ba819e873121b6ae43054356a666101c0e044fc06f4ce40a49468c08b1436370a0836f54705da4df610b610dc";
+  sha512.doc = "59e94176d8d2197be538aead029ad03d77632fa062a1fcfd911fdf7a2e1f27e54cab4b816f36ce4b4c6b63c7244333e2d0ae8448fb3f85edccc79309e76fb5a1";
+  sha512.source = "c81324917cb69eb02ceef698c5b2f1efc42a055328c5a67882ef2d315769388e311c5c58f3a532f644d166af28aff98830cc39ed94bd8851d79247aaa68c1af4";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "beamertheme-cuerna" = {
   revision = 42161;
@@ -2663,12 +2636,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "beamertheme-focus" = {
-  revision = 56967;
+  revision = 61258;
   stripPrefix = 0;
-  sha512.run = "b3b9be62e244fe4288e77113aa8488e24f83932d5e2b31accd30d62ced1cc8bff4b44183fe2be375e69375862237f18b6f0b40c6201f1199cd1423b09c2a60f4";
-  sha512.doc = "57e8e51ac4a4eed778796c916713420e9372429fe7d310d9acae988c6d540ee516e64ca290dc6feebe28ad81877ee7e8919b1145e626821c4ef72c226b3cdbde";
+  sha512.run = "8dc4696a6276fab4b86697e294a9c22dde3f27218499affa985dce72692356ebab3b58764ac05bff2eab10397643a989dcab56b12671a65465783b47e1acfa44";
+  sha512.doc = "3d95d14097caeec36bc971f04b69a7f1af2ee95aa40bc4af22620dd5ff6589d89878d415f7270a73bdb62a5d03f6e634cbeb06b69e33ee67e1d29d4961a2b897";
   hasRunfiles = true;
-  version = "2.8.1";
+  version = "3.1.0";
 };
 "beamertheme-light" = {
   revision = 49867;
@@ -2719,6 +2692,22 @@ tl: { # no indentation
   sha512.source = "6cd3ed424b3a724e397de3fb7b47de33a5c9f0c5ac0e0f8b26bde55ef69b66015874dbd438912c682c9aa1c33e4e916fb895458964dea11fe228e29c1afc40e8";
   hasRunfiles = true;
 };
+"beamertheme-simpledarkblue" = {
+  revision = 60061;
+  stripPrefix = 0;
+  sha512.run = "c75bb4c0f0eecf2aea0e24d30410ca1edcf645c323d88433bc6c12adf116740f2f6bc7d8517db764b0b33d9d9227db93ddddd1c521dde3343fce6d807b0e642d";
+  sha512.doc = "9f8f642ebe4cafed03699377be6bb647cbdfb80f99e075e2863b69a4d6b6f59cab6dd4dc831b0fb015302b3737b32d08cf37b3034365b021e8fd9f086f7e6ddf";
+  hasRunfiles = true;
+};
+"beamertheme-trigon" = {
+  revision = 61020;
+  stripPrefix = 0;
+  sha512.run = "f5c1d49ffb30e06b7494d07fb8762e8eb9499f2960d0775b0067ab524817ce2a7092993438e8dfc4aa243ba057a545179b042762a2116c9afad73b65e53a7f15";
+  sha512.doc = "763f9f0b3739995950dfee6e3d5c262c29781f9c1b0ae77f4dcda33022889a80091010b706b8cb3a52ac091ccad8abc2b7de510d7c3f78605a5fe19180b6fc33";
+  sha512.source = "406f580ac238dd70047fe1c2bf54fdd7579d37bceedd2da38a1f0b034c42937b9c7ab8402b19ccbb04b5fa056c134004d51daa2285e331a53cb6e2ffa2e55c16";
+  hasRunfiles = true;
+  version = "0.6.2";
+};
 "beamertheme-upenn-bc" = {
   revision = 29937;
   stripPrefix = 0;
@@ -2768,17 +2757,17 @@ tl: { # no indentation
   version = "0.2";
 };
 "beaulivre" = {
-  revision = 58503;
+  revision = 61338;
   stripPrefix = 0;
   deps."colorist" = tl."colorist";
-  sha512.run = "68117aaa40fb49c0fa7da73fb4f5cd1445191efadb4ed1ad08a12878fc1681cea13804fbf949484a63834cb0a14b3d306bb6def553e3dfe2420ef7e2b84614ab";
-  sha512.doc = "263b5b5bd27c13db1247354429ccc93953e522213a2b154c08918489eb4c2ee3fc36f5a2922a901f1113b2bffd11301b4d3d71f90876886c32e07a38f28e30b9";
+  sha512.run = "3a54eaa79fb61977464f32553aee7b32c873b17fc40145756d7afd9244f81a3aaf96c18aabfc68c6239f2cdc327bbb304a146fe2faa5fd5b9ffd326f40639926";
+  sha512.doc = "cfa878fc8055c35555e0b0db494f5b0da312406cc76586aefa5fbe87dc65f1643c0636e107c04bed9ad3c28dd27a5638b12a641bdebc61b9bd96a944a37038d2";
   hasRunfiles = true;
 };
 "beebe" = {
-  revision = 58697;
+  revision = 61345;
   stripPrefix = 0;
-  sha512.run = "03ff9ba89d188869abf6a610ba7064fbdf4fee229149aee49b00ba4ceeab31c4b991297a75b9c4d5e795155932080aca4894c0b8b738b5edf0a0ad8a923c767e";
+  sha512.run = "d95597c7afa63585202d1f415073ec6b004d5481bef3fb0307ec10631d18b43a351b7d8b06ed5d92014ea5fc076611b5091a968fb16387974ac2fb0b92744a10";
   hasRunfiles = true;
 };
 "begingreek" = {
@@ -2903,6 +2892,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4";
 };
+"bfh-ci" = {
+  revision = 61397;
+  stripPrefix = 0;
+  sha512.run = "8904deed16eaf205b0adb9e8c169301da6a7e9584d326e911a57beb7d1c8d260aaf5c77dcdad9a44036b1245924ff3343957bd6ac6f80ce783d0ba79097d4583";
+  sha512.doc = "cba4417ae2ed8397dd2e0fa700e8d05749fab8bddc66c7fa38d8386eacb91fd0fafeb5511b0510ac3ed2cdd23edc2f3aa7b8510d0c205d071f99fba06243be24";
+  hasRunfiles = true;
+  version = "2.0.0";
+};
 "bgteubner" = {
   revision = 54080;
   stripPrefix = 0;
@@ -2939,21 +2936,21 @@ tl: { # no indentation
   version = "1.5";
 };
 "bib2gls" = {
-  revision = 55811;
-  sha512.run = "a4b697b6f4a2b809699081b6992b702b736bb82883a487f58b6b71cbc0e12cbbab5340001fa96e30075a823b4b6a7f37e514fcebb591a950f814658682e2fb2e";
-  sha512.doc = "8f6c1e6647ff35cf167072d89af35930d51eb62968643aebbfcc189446d76b10f49d0db270c43b0c787889069decc1ef844d79bae5df38c3619a92904aaff8b1";
-  sha512.source = "fbce6911efaf89c5a734c6a56bf9656bdf52f40e795f57e5997a93b1b83b8543b35330368697a7e8054648d52f0814accf57fbe059570903f092abb6182276fa";
+  revision = 61134;
+  sha512.run = "00fc6245cc46f70c379aac828002ce6ec5a84a3d09125d987af086da35f6dbb7e0439e4ebddef48d011e90fa87f67d0f447c70f60985955f5d7de5170d7f4a77";
+  sha512.doc = "ce3e00941d2c67ed581bcc3c90da84ec6d864106c16fe77795eb8e7c8a637ab1bf5745c766f2dfaca9aec4c475f751daa3be35f3394f3c5edff0b1efb06fa7a9";
+  sha512.source = "aa19fd66c5d3782a4d0d4de2f1dcf2d0d5aab6fbe421f54cc59554f10b37f99ba693716b266e8d216f33223aeef27ec40addf85baeaac1441fb999772c6c2579";
   hasRunfiles = true;
-  version = "2.7";
+  version = "2.9";
 };
 "bibarts" = {
-  revision = 54080;
+  revision = 61242;
   stripPrefix = 0;
-  sha512.run = "2e85d46a2d27d1016dc6e304eeb47a1a6927d38cd5105916c61c86415d8fd92ebdb8a48b5fe4b5bb58856202b5d3ade4c0997e238cefcc67a879b27f27cbd27c";
-  sha512.doc = "7f77175f1b9cc2dbf9957ebb99d2b471e51965c5861e64c6841e3a88eff033d3a9e0791b93919346b3c0d26c1035482b1e5300be2232b69d988e6a4ee5bd96df";
-  sha512.source = "724de91be680017f04a2255e25cd3158c5fdff39ae1684ccdba2421010155ea9e2fbedd4ca1baecc8a56514c5b8fdfb964fddfc0b14d9e48a649d4e7da8eeee3";
+  sha512.run = "87795521571e106ee08d611c8c4baa5709150aa146b17065aaa6251493906065ffae78408034d2954d0e37768c27b54b75bfe8139e62105fc93ffecf5b28c84a";
+  sha512.doc = "e735b3bbcb43501451633d8eea303db52d82ecf56b919ac284476ea8803bfdcd87732b564732959005a1d52c42f7cc48922a3841884f7878ddc06f45a588876f";
+  sha512.source = "0575256f662942ccf3a93a31e9f66c4cc461b03b01ef25c7223119d0bb2e07c416bd671dd547a0dd8faa43074f20cf03cb64f4341643ccde79e03cba2dbfe609";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "biber" = {
   revision = 57273;
@@ -3016,12 +3013,12 @@ tl: { # no indentation
   version = "2.6.2";
 };
 "biblatex-apa" = {
-  revision = 56208;
+  revision = 61406;
   stripPrefix = 0;
-  sha512.run = "59ffdb263b02b4934955037f377164297871b10ab3794dd8a11b70cecaf9e773bdd2b3b2aef24d5085672614a51956ed8083866c6f56c72a8c8eb4c1ef6a775a";
-  sha512.doc = "eec8f6cfd0244639f91142b3ac45be28eae14e10881a549d97f0711235cc46b6c25983f0d7742ec1c8894dc8c3c189070138874a6215f630f5e3fb710516290f";
+  sha512.run = "ca4a3692e206075f07f172c2aed183ca61e900dbf297cedf5c28bd4a73b65a7e7149db60a6f67c57cbbe5233dfb8df571c285a4d279c0614187c428ce39a37c6";
+  sha512.doc = "63333edc1f627c14ddd6b0172776167868cd8480d79d47ab659a74318998e7e49c02bfd1b37a340b20ce97dd8f251e2ec70ac3998dfd5a9811c66dc112bc4a87";
   hasRunfiles = true;
-  version = "9.14";
+  version = "9.15";
 };
 "biblatex-apa6" = {
   revision = 56209;
@@ -3104,12 +3101,12 @@ tl: { # no indentation
   version = "1.1z";
 };
 "biblatex-chicago" = {
-  revision = 58715;
+  revision = 59772;
   stripPrefix = 0;
-  sha512.run = "27d9ce6b00b71ebf751a720d42ebb16c3f7d6bba7b494acb3acf2232849342b992aa7fb9de35d7de4c12ef94956aa80be8a5d61366d9ef897257a6c4e26de6d3";
-  sha512.doc = "adb23e2fca96e703aef93385c48e82279e411e266b4a0d147be34fbf4b2fc781dd93ed4323b044a51660a94a2fd832f02f5ff16cfe13389b6058805190c881a1";
+  sha512.run = "382cf692c6faac9b72966b90cebbb7573a29f03fd8630c74bcd3f74cc8d885bfab3f6b6bc47c654468374a0856bf4a799452980a5c51180b99a847ead78421d9";
+  sha512.doc = "c9e658e4f29894ed32f360ba044aa13442f7e86f7dea21dfb88a268ae3c55846bfaf22bedc49b34c2d25c77ef6ab73c9f97330402e55514d2cc9c27d2752865b";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "biblatex-claves" = {
   revision = 43723;
@@ -3119,6 +3116,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2.1";
 };
+"biblatex-cv" = {
+  revision = 59433;
+  stripPrefix = 0;
+  sha512.run = "d034400abf6c0342a37e6e5de09d5eed252e80cfb93b4707f6e879edf6e190180046d28830fe382a6240d6000bcfb9277a66bf2e21b92ce9fe9deff0596f1c03";
+  sha512.doc = "23093f0e8f472eac5db45026266c17b3337d478af6dc1776515417a2539ad671a67dba4ebee9f83407ee4c126cef5a6245106916188093ced89a52c44afba339";
+  hasRunfiles = true;
+  version = "0.01";
+};
 "biblatex-dw" = {
   revision = 42649;
   stripPrefix = 0;
@@ -3136,12 +3141,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "biblatex-ext" = {
-  revision = 57979;
+  revision = 60379;
   stripPrefix = 0;
-  sha512.run = "77af6dc892d2071b1124af08d2eb6de4c95782c2599cfb9f6c018da51637ef3c43d3451185379a3ce6677ab504681c5a48dff073891097c96b70ad7e02a7687a";
-  sha512.doc = "2a47f80356c2cfd770e05f9bde969b8c8c694a1acf8f3f3a8292851ea6ed12da5107e5a2053a301a6131a9fda72312646ed885b22ae869b0e3af75a4a2306f82";
+  sha512.run = "5cdd74fbd738385a63f9fe78185e4e883f0ea1a7957dee30783f93bd3549eb179d44ac1d0f4f13cd66788ccd78e83ce512f6b1cbb955bdd195d9f08398ac2c9e";
+  sha512.doc = "f782583a1f77c361dfce7abb03679bfaf18e4574e7670cd910840051db316d8f74bc190c1b2aeb6e9870302480f33c9a5e792b07e5013f541b700ea704265ab2";
   hasRunfiles = true;
-  version = "0.12";
+  version = "0.14";
 };
 "biblatex-fiwi" = {
   revision = 45876;
@@ -3152,12 +3157,12 @@ tl: { # no indentation
   version = "1.7";
 };
 "biblatex-gb7714-2015" = {
-  revision = 58753;
+  revision = 61274;
   stripPrefix = 0;
-  sha512.run = "c4bd497d3ea4c27fe8f9382ac54f865da57576b08fadd28e10d93a7dbabb935a877e4c45058f4055dfe319e3e29df3995b8fce7496f12765b9c1c5120943c6a5";
-  sha512.doc = "b88722523465025454afa64841f00df9cb8cdfd9aaa81dfa75cdcbc9a7362f980b9d51d874dccda310a0afe5f25f1ad9955dc6ae6317a4d0bba2deb47fda02a5";
+  sha512.run = "c1229f94727c82d0cd8d089cfa5dfd8685e1953b4b26983227483eebe250387ea05d2ccb3089a2b949811334349281befd2b3596111adb77ae56fd0377474d8a";
+  sha512.doc = "1ec8fad46855d2b069a26c7e45cece0c9968f1b04a358900aad3399ae9f57f45aafc18576557aadf04672f03d4ea7d580823f44cfca86a2b4511ac8ccaf1800c";
   hasRunfiles = true;
-  version = "1.0x";
+  version = "1.1b";
 };
 "biblatex-german-legal" = {
   revision = 56939;
@@ -3168,12 +3173,12 @@ tl: { # no indentation
   version = "002";
 };
 "biblatex-gost" = {
-  revision = 56790;
+  revision = 59135;
   stripPrefix = 0;
-  sha512.run = "c9dad05fd20f6147215805df07cbcea228d023b2051a2b8fdac28e55d0d3424d81d71f48d7dbbd679f3a306c1385dd2d1c50d8d128432d3d64abc9fa96373350";
-  sha512.doc = "90220ec8159d1621e54ffd83c587d111bafdd54ed3d104146992cef5340d55093166283367e4dc3cb21ea2621122b4080d0a849f7ca2b116f262b96b6d177ce1";
+  sha512.run = "72da076da250a07f89364ecdc65649ab845f7ec90eac0207af902beb42625c7ef69612d444628a0c9472063ae9485d9518cd6934ce1124d25549a64a0eab91d6";
+  sha512.doc = "4cb101c69ffc07d14d653cbd6bcc33deb797987dcae399535bea5bc14d1149705cbf6b1e21a7fd95d9edfc7c558eaf744e1715157a62fc2e1978476db0af4e75";
   hasRunfiles = true;
-  version = "1.21";
+  version = "1.22";
 };
 "biblatex-historian" = {
   revision = 19787;
@@ -3184,12 +3189,12 @@ tl: { # no indentation
   version = "0.4";
 };
 "biblatex-ieee" = {
-  revision = 58716;
+  revision = 61243;
   stripPrefix = 0;
-  sha512.run = "2348c59f6b68e7846f3da93ef008f856b899173281281a1d061f5d98bad3c2b18216987e4aa366c2a2bf9f53f6daa6b29aeca202ff385058676572b8f3702317";
-  sha512.doc = "70efd20bcdc08f1872242e77a389c207e048921b9a9741e11c4e81298fec1ff1a2c724e0485da5e3adf218ddc5171930170f9e4bf6e2503088a1fce5287403fe";
+  sha512.run = "2f4dd68ea556dc56fde888294bd9a3368efcf4099b95b0c90e60225c3b99181de52b406a7e40a09792b6b58410174d74d774a0aeb1feb4c8bef69fd513861303";
+  sha512.doc = "ef24c360fd211b79538aba8394a831a48c4b518bcecc516fee91191aad5b2eef06ce9e0e2e033134499a94dac4542803c32a207b2b71d48b14401b20f5aca549";
   hasRunfiles = true;
-  version = "1.3e";
+  version = "1.3f";
 };
 "biblatex-ijsra" = {
   revision = 41634;
@@ -3231,6 +3236,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"biblatex-lncs" = {
+  revision = 60303;
+  stripPrefix = 0;
+  sha512.run = "4eb20f0094dde1739568f8dafd47e861c4e440f9f34021e889c399e27c72247c04f8ba2711750a41450db52bbfff7a001100d5cbd81842d00357b22597b953fa";
+  sha512.doc = "a454a1b4237070aa0f939b121dfa4e03996b2db922659c8db2fb86de83847d952fc28481c4271cb251380428af403b453de1f6108e94ee792765fe6ccfaed7b1";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "biblatex-lni" = {
   revision = 49935;
   stripPrefix = 0;
@@ -3256,12 +3269,12 @@ tl: { # no indentation
   version = "2.1.2";
 };
 "biblatex-mla" = {
-  revision = 42445;
+  revision = 59529;
   stripPrefix = 0;
-  sha512.run = "b6e3f7b5323e0246c1b2e1ee1c767b624e59d4d1ab9aac4bc24d59c15d1f8228695ccc072b30bbe1f4a2de24fb6eeee3c81095fa572f3e27a09f0de7c5b3994e";
-  sha512.doc = "87e9b73615b404f8b676b8a4158edac551f8dd3712e1f6ecaec473789df884c85d6ba48eafad428eebce10ff6f0c13b382fb4e4c79cc960b860565bedf7f935f";
+  sha512.run = "3f9ce622de66c8bc936954e9f29381fd8a604c5ba94ce425c577ec5850a4099ee5f09e6b5b2bdf05eae9c4fa6549878b3061c25da916ccc0041d302534512623";
+  sha512.doc = "1f9ee8d696dcc31e56d47edcb9e53fac525fe1ff5408f0d649ca090fcdce5d132dc3191c82f43aff94e02ee34e3445b2dd0be3513a21b963f72ef1f2ac058d5e";
   hasRunfiles = true;
-  version = "1.9";
+  version = "2.0";
 };
 "biblatex-morenames" = {
   revision = 43049;
@@ -3330,13 +3343,13 @@ tl: { # no indentation
   version = "2.2";
 };
 "biblatex-philosophy" = {
-  revision = 56493;
+  revision = 60976;
   stripPrefix = 0;
-  sha512.run = "bb17f04a770a28ae5f136ff0849d18526fdf740bf47fd30f0149cf91c23e2b321b2dd4bc4c0bcf4db45b3985610544fb0c577f945d000475751a3903fbb1e595";
-  sha512.doc = "aee20e15d7daf56cea581c7a71f93edf0325607642e78664cc7e12861af7539c3b28c51b21a7ff52e09576c0c743cf1120ae2e8ac8804c1f94cc3dcee598c04d";
-  sha512.source = "a5be7057eb1856a63ea5d89e51f19f586e038967c718475da65afb9441d8f6e56a862e7f42fc045dbb3aa85026d80b3aca73d6e554df32cb1446b026a0ec16bd";
+  sha512.run = "64d77f351906e62d7192172e5f13de33336eb4a3103a283102f2dc5e101b9822813bec9bd7d6bd5b4e1a3c568b735fb3135290ea91457bdecdfbeaf62815ecda";
+  sha512.doc = "3044dbec27fb4016d7e93645d648b4221662a6d8adc8277cbe7de4b8aaa847d6bb806010d0e0b402f188e014ec7c8f4dd89f46e7c9db9e8583f95fe6c3d4dfa0";
+  sha512.source = "9422513b22c759bf016a0fc8b10fff153b5c484752b94ce01f360058521383c6d458e8ea3c31bed90793511759e37504a552d24aac8a00f71856657f48c1982c";
   hasRunfiles = true;
-  version = "1.9.8c";
+  version = "1.9.8f";
 };
 "biblatex-phys" = {
   revision = 55643;
@@ -3347,12 +3360,12 @@ tl: { # no indentation
   version = "1.1b";
 };
 "biblatex-publist" = {
-  revision = 56392;
+  revision = 61302;
   stripPrefix = 0;
-  sha512.run = "dff83dc4b8ed279e2b5ad3a0d8e995500df08f3f21c72853ccf392624e40a20e058d06310fdb1384cf2bab319e93c9004cf7641a212aabeed21e31e50bd76934";
-  sha512.doc = "a5dc972074b40eb402076bcbc570ca36470a856317f7618643b8281f0b7bb8ab1b58c4ef7fa1141cde6b5ea5ab98c179ad9607b621eb43b52d172bb2e730a4b9";
+  sha512.run = "65718066f32eaf114b9e00a2ca0ccdef328846594eed522c6fad7438be0d382623a4182d0c284763e83a0c77c43cfedddcae70a8cc4af42eddbb5cc4c682b2e4";
+  sha512.doc = "4cd41e01c75b897f88d78a56a0909de3a8df6511ca89c4f7cd68925a3bb88c8324f1dc9763d4eaf4d5bc6cc6cc8238868db66c838a80ad0b687b689698b70640";
   hasRunfiles = true;
-  version = "1.21";
+  version = "1.25";
 };
 "biblatex-realauthor" = {
   revision = 45865;
@@ -3363,12 +3376,12 @@ tl: { # no indentation
   version = "2.7.1a";
 };
 "biblatex-sbl" = {
-  revision = 56853;
+  revision = 61295;
   stripPrefix = 0;
-  sha512.run = "b13fc1b54270fd7b79c3dc71388152b9dd81ee868ce382063fef690c828dcac8a11127dc3cb1c02b138a16d17dd5a5e311d8639efaf8f84e50aac4de6cebcc93";
-  sha512.doc = "815f16ab2f6edc7767fc1bd95f4e792c435e605ddb777e65ed54f66f8cea4e15b6cb80938276b1fa30184a498e628d32e2c226d97b7afa99b6022c6f6eb2522b";
+  sha512.run = "fa48d7e3455e1500254d3b3dc5f2c27b7d3f8a4ce29f9e9a63ac512e28ddb0e56ccf42d97328db1fa97534de0aca1a9c1f4fb6a64b0a33a5addd73b0a54ef2ff";
+  sha512.doc = "a7c0b00c36427be247812db4bf1a7f94cf28b0cc87a4bb32d0b470d7502c01c1e0077d2ed7a927f03305ea8e69116d04dfe91e367e8a85f8a225bec2597a615b";
   hasRunfiles = true;
-  version = "0.12";
+  version = "0.13";
 };
 "biblatex-science" = {
   revision = 48945;
@@ -3411,6 +3424,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.4.2";
 };
+"biblatex-spbasic" = {
+  revision = 61380;
+  stripPrefix = 0;
+  sha512.run = "642ab8915e4b94f7c57fb9ee27577f41f65c118c60e44476935386fbb4806a4b5f30d54f39668b698ef310c53a48a22d02da8681c3439de1da89a1851a9a0f57";
+  sha512.doc = "9a7681c9528d74c70c5ccc1eb11449cd8a3a17a0799bf37ed2f5685182655fea80eb2b387fc399562d8403851d9857c73cb2fe4c8ab4aa2110dc909d65f4b168";
+  hasRunfiles = true;
+  version = "0.03";
+};
 "biblatex-subseries" = {
   revision = 43330;
   stripPrefix = 0;
@@ -3460,12 +3481,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "biblatex2bibitem" = {
-  revision = 54030;
+  revision = 60890;
   stripPrefix = 0;
-  sha512.run = "4d27fc2bc55a031f571096fed58757de74e5fcbdbb485b327d8a34c8033b2a2ac316b7257ea369d41373d887152a1a84201f28c817abdd2ca84716ebdc4e111a";
-  sha512.doc = "b7f37db4271ea7fe0b6208cca2dfd66f7c2f70966081c85fb35d34f927690ae435574f566accdc0ee358c9f74920f18916bf558f3d97cc1f6a27f540d337d90d";
+  sha512.run = "33cee5b052448e46173eee2622c5b4aabc20f0590f6d17d450359e8a13704bdc79d209de49ba112243b50f820e69dec8fce79e91c12a296b9f0222dd007a6cf3";
+  sha512.doc = "60605625c4c8fe1923fd415e1afc827348d1e3ce59ed94f2f916f29d9a37dc8c17380e5153c8f591655b369b8feab3fc62d2b0e7032c6d0f3b479fd59634fd44";
   hasRunfiles = true;
-  version = "0.2.0";
+  version = "0.2.1";
 };
 "bibleref" = {
   revision = 55626;
@@ -3558,9 +3579,9 @@ tl: { # no indentation
   version = "1.6";
 };
 "bibtexu" = {
-  revision = 52851;
-  sha512.run = "9f1e27f1d7a76700aaa4f0f19c4e999070dbce873203b80e3ce5d2f4ed14c9b685515b6c648ece8942ba429d698f66f492b58373f348bcfef2523ffec270f466";
-  sha512.doc = "0c0f0db13c18029bc822c5cf82b358e7784992f5799e03f1312a550ae3d40d4c59a01bda0355698f7ebbfb0488a426f20833d2b075675a83b5ae01e4a949c4a4";
+  revision = 60002;
+  sha512.run = "e7b804373bec6e1d001a1cea5a2d846560213e424a25426d604b719d56f9cc9f667641ea0a554f829f042001bc24b5be158cbf8b03818afbf5ed61c614496cc0";
+  sha512.doc = "69d1a4cacd85dfb93b89ae7aaef4ec551467ad8a2cde4674180cd3105a7bc963574d6d0138ac2794397f7a49c9f7560c503de96d7eecebfa4fe7e4e6be9647f8";
 };
 "bibtopic" = {
   revision = 15878;
@@ -3671,6 +3692,14 @@ tl: { # no indentation
   sha512.doc = "46799d5c6758657eadca7fb30d214baf47c237b63655a71ad19e188fd54b664397babbbc5cf6d9897e81decd027dea1e0d1a6fea97384461ec8976fc19c7fd8d";
   hasRunfiles = true;
 };
+"bilingualpages" = {
+  revision = 59643;
+  stripPrefix = 0;
+  sha512.run = "e7d92cd1e11e1604f94b3a825953ed1f876a39dce3dd383e7ea1e4e166b9ffb21786911f4b408ab5d53e6f770225176251096ca9df0a187feb530a27ad167b5c";
+  sha512.doc = "bcbd9f48dad1b84c96fef7d6b5e0a343a261a20ff35434c5e01d4b200229764adff383f2a718c6cbd89e4b208e6de1c403fd7c614dc1c247bc5a344cd3f3d504";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "binarytree" = {
   revision = 41777;
   stripPrefix = 0;
@@ -3721,13 +3750,13 @@ tl: { # no indentation
   version = "0.1";
 };
 "bithesis" = {
-  revision = 57388;
+  revision = 60452;
   stripPrefix = 0;
-  sha512.run = "71f653b8fc691e24943605f2ab3bc9ce86c399302283382f34be8364ad4ffb39edc64a7e17e1b3ef81d34c3977290032739d4f38702397c70679693c22cae577";
-  sha512.doc = "4c39f70287765a61ec3819223bf61aed3c3035b646c9a00df456160307dc5be962bbbff64383c79baa903cabe566405639672d669fc505efe6883a64638f8b66";
-  sha512.source = "681c9cda9aa111f809c33fccffd567c846fd13afddd5a09bb81d69390adc0ff6d1870b68f4a141e5ebbd7d83846423a0c1d21f43350b0c55cde1973fd2a9437c";
+  sha512.run = "c7e3b1d0550c8f9fe33167d01fdd531c7711592de2c1bead232f00a4175c12d542785c18d66dfbc63916fa1668516339a7f3d9a29de4a9f688333ca7ad8fbd6c";
+  sha512.doc = "9eef61914627c4c0fca3a7c6847853ae6b21685777cc0a0c21218a41c179c0a4a25c1c94c4dbcf9481206bc253363b6498d1388f6769f83ab8a9573d65b23063";
+  sha512.source = "93486e82d66f648a7adec186377adad47282abf6dbe624d18bff32b638947c36a273fb89aba5325eb4a978b72dac0349f71399a39644eae40d9a25d49ad5394c";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.1.0";
 };
 "bitpattern" = {
   revision = 39073;
@@ -3763,6 +3792,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"bjfuthesis" = {
+  revision = 59809;
+  stripPrefix = 0;
+  sha512.run = "e017032edb4e87ae31318179de5da789cbe2164ea5679d69e928a138242adb1afa8dfb3f8b9b7796bc6d5bf21c143f51e931656439a451ddf868c77c7a7ac559";
+  sha512.doc = "657e45d4faf201c2d878c5323e3fd7a283bbe4bb4f868b1413e9b8eaa1db00d03771a4d4211e23549121c5dd480cfcfd8ee8e0edd7e56615a3c941c100465c44";
+  hasRunfiles = true;
+  version = "1.2.1";
+};
 "blacklettert1" = {
   revision = 15878;
   stripPrefix = 0;
@@ -3837,14 +3874,22 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.51";
 };
+"bmstu-iu8" = {
+  revision = 59576;
+  stripPrefix = 0;
+  sha512.run = "5bbadf510d8b3880603e9f45a93a3f126175c4b6825a65488df95ba15bd138d37a7511b845dc6c93095b405189c876427a6dfa883a7b4b6d2c1d99824f33963b";
+  sha512.doc = "d7decc544efc16600ddf75c5cffbc8602230379a9e86553f2c532732e5874450c976ad562e37b06a023fcaadfea88571f3b0bc36f2c38f6947e76936c7acb466";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "bnumexpr" = {
-  revision = 49643;
+  revision = 59244;
   stripPrefix = 0;
-  sha512.run = "c4bf69cf261c8545aeffe69c22e0a018afab5f919aa186efbdae0d0eff6728f36f0ca94831cbef7828e9df349bc2e7eed22c284cb41924b83464efa51418b22e";
-  sha512.doc = "2e1430651869f89d3b1ecd146858b004ea04e6506cad29bcc131761b975a89671504b22e7bbe8bdd9e6be1d513f28f85e073a0f123e21e12584782db5242a50c";
-  sha512.source = "25488522b3ad578b8c2fe5e418c5a6d1bf6295de7f16e743dbe90417ca36a8888309a8b6e56bcd93f72c89b02841f0b1326351f6d47840a1fc59042d11641186";
+  sha512.run = "a868239dada7f16d52c5d16705ad796d6bc536b1943b5c0bb9538fc72242f3fdbe2cd579367e9230e20e2b3e53725ba8cf25d7d2aaca660a338d7863f4661d46";
+  sha512.doc = "a367968a29bfe0d1496a8d444d6809a1ddb6f91031f1aafed30fdd2cd8ba929972554b186dfc897b273cb347f569922b7d59d3c472b385bd2ac1fadfadaa122e";
+  sha512.source = "447c6dccda5a51d86be058cdbfbd7e38d46964754df21f155f8a41892dd0492efab2fb391b7144a0c5876cc5852176fa14310f78cf4fc8e4ffc9d28fe9f75e87";
   hasRunfiles = true;
-  version = "1.2d";
+  version = "1.5";
 };
 "bodegraph" = {
   revision = 20047;
@@ -3854,6 +3899,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4";
 };
+"bodeplot" = {
+  revision = 61092;
+  stripPrefix = 0;
+  sha512.run = "6c9b59a70f65588af78c36675063b85ba2336c8ade9708d2e699ed64f522a94df7650c4f3adbaf279d78da0c211a53d177b1e7090dae013c196f2ecc291a00ef";
+  sha512.doc = "4dc0a31631809f10ec08d284bb75cfbb159518cd3e2fea0c60ca67758e090dbfab100edc3cf476d864879531121642bdd0a96d09d9040d9be1288c05b78c6765";
+  sha512.source = "fcc50625372e7c41f3a691cd85c7619b6548caf1eebe60298bb83faf9016ac2c4b9508ddd9c08a7426e3c96792f52b5d260590972d5e32bdc7be2c230b55d224";
+  hasRunfiles = true;
+  version = "1.0.6";
+};
 "bohr" = {
   revision = 54512;
   stripPrefix = 0;
@@ -3911,6 +3965,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0.1";
 };
+"book-of-common-prayer" = {
+  revision = 59742;
+  stripPrefix = 0;
+  sha512.run = "0760350b49c1487d35ae04ff0ee57d552f6ffa0c7df9d02c7f74147d3c459926881a0252fd95d5b7acf3064fc63eca92f72aa088f8fca418d86f5e6f9b9febca";
+  sha512.doc = "ae73dba4c8bd043772ea4bf78ff9cfb0fa210d3de15b2e045356522349f11930e34dede648022be75d015893a91ecf9d57812b19475352f59a4f84de5a520055";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "bookcover" = {
   revision = 57326;
   stripPrefix = 0;
@@ -4115,13 +4177,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "brandeis-dissertation" = {
-  revision = 54758;
+  revision = 61215;
   stripPrefix = 0;
-  sha512.run = "26dde7d29bdc60ae3b4c70b14b6b6c35b0319422cdcbda1ed1f4beec7a3056e145985e7a1b3aa4870b8fcc1e6d75da2e5d879b9a5c26ab85de59710d322647ff";
-  sha512.doc = "49b84e3fc0264f2a74704dbfa90c8c6bea44f436afc88387ff5c7cbf01d5feb207b1ba77e661f6db974e28cc41e3d8054524eed35f948aac3af4dbd24cdffc14";
-  sha512.source = "18cf0e74d51021dda950b2fa0c95807550aa69b1de57f5989b88ed1236c433483291dcb7158beccad9fa72903708212ea50c606d187199ccce589010b02915e3";
+  sha512.run = "fc8d06b0d5f7e24680e6c08f7ac59b59b19b2232e61175092f63e3d19bd43e080b84777e6305d1ec3a110b367b135a80e2d7bc6e13bbb875855b732fec796bb5";
+  sha512.doc = "219fd04d81a64c85b1bb6d26d2ce1dba07fdb07d1df370e01e7683d7bb29da90dbde18ddb509415ab55454e1b112b7053a6b3f179ba32b362ec19a43433caf4e";
+  sha512.source = "c545f4d71ed630207492f68fc79a054c7a57121335aae12449106a1cc5554631d247b8a5a1cffb03f8288d3b3ceef1f45bad561a1a1ce0da67cceb12d7391f01";
   hasRunfiles = true;
-  version = "3.11";
+  version = "3.13";
 };
 "brandeis-problemset" = {
   revision = 50991;
@@ -4132,13 +4194,13 @@ tl: { # no indentation
   version = "0.5.5";
 };
 "brandeis-thesis" = {
-  revision = 54758;
+  revision = 59832;
   stripPrefix = 0;
-  sha512.run = "8dc788bdd5d3b0e16b525f217de177e711abfb5c558382b12e4328fb690e2a16cf1d9fe403b40c392b9b745d605dce30e1c297d5f694cd977b992f585e50e6cc";
-  sha512.doc = "a56e02eaadb1bfe1315d4813fcbab0dc73202de0126d8fc64ee947770ac1866857194ad842fff7a47dfff4650c6f6aed8ab711eed6a47b0b6e8e93b421a8fe1f";
-  sha512.source = "7586d766af63eb1797cb35b0fbcf87ad78065e4564c138eb2159c475ce7e7dabe09a0d1140fe80c0fabed5a00713d23869f3071be8b834c1a503463e215a3827";
+  sha512.run = "f1fbb296da700ba3cf4c9e6818898624576b9a58803754d77909031e7bf3b207790f4818e247fdabade5927687e8c6a186e887f595f536c1c4a8ba8e1ba03ec7";
+  sha512.doc = "51bfa4fbc6d5900d92b3c7d5530b166dbd653af2017153c5ccd18d9ac49e124178378d1a2ecc867ece7ae758812f5c030dac00d55c46275e79c2bf4e9cf77c78";
+  sha512.source = "b5a5b294470869862855b4e9ddfaa6c7213d91ea69ee99834b5eb2e09c595d12fc5df0742cf52e19af156bf1db29744b9a320ecacb036843f2169891fa42fd41";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.2";
 };
 "breakcites" = {
   revision = 21014;
@@ -4165,13 +4227,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "breqn" = {
-  revision = 56422;
+  revision = 60881;
   stripPrefix = 0;
-  sha512.run = "ea1df2ebb14d755225368fafac24e2068b317b56c4a42fb10011f1fb9f233a7d40bd83b0063271ac8efcac67725f32e12e0ef63467cb045bd460abe5f84638f7";
-  sha512.doc = "9e5903493b727972dbc5b18b1be6179ae72d23e59eb047c41562461e5800d5c66d83eb017f410b73f42fd12c219d09dfc95e4cd3375f584820ad0e600cdafc91";
-  sha512.source = "5640578e4a42535331094955073d42db502299d25e6f69b4a9caa31b5dd858e2860372bfd123614243b5d1d370eda791c178cb0b6d8c036655febc7c1ce0fbcb";
+  sha512.run = "c280871916bf0689794cba9640a7666a0f7b295635b85d99d08f04cc0c4cb7ac82552360b0c8b3d677b138779239c4ac4a2583db26fe194870c0c97a9a53395f";
+  sha512.doc = "70ab6500b714c0e91c597b43d934942c39c23cfc9993702b6eefa19b8c9027aa0e7eaa55cb48413e2cb42e468167492e7a401380c1cb4a711daae364ae01283b";
+  sha512.source = "aa4922ba1ebcbfe00716b02b567da4b17ab1b0d22cd5fe8332d147496f93dbe0a94e9e38964b13b6b4944ccfb2ce49bfb32ed5602ca1f147fc99163eaedadf46";
   hasRunfiles = true;
-  version = "0.98k";
+  version = "0.98l";
 };
 "bropd" = {
   revision = 35383;
@@ -4198,6 +4260,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"buctthesis" = {
+  revision = 60708;
+  stripPrefix = 0;
+  sha512.run = "015f93fe7b7c5aafff34a0a24166022b9e1d5cfc6f983bcacda2da5b4ac8a5315fc00320708dab53da32d0573859fbe3e0d692966d76369dda11f2c08a9c2cf7";
+  sha512.doc = "d94312d06d2228f97c0a5c05d004e53dcc8dc0c6ef80f56d08d41cfd4c88ab38aa4df8b6cdf07de8aa6b5b6e9a8afcd86e9824d193f317eba380f4656f810c1e";
+  sha512.source = "b35809ecf963481cdde1ef6dbb0b215a306ebc5595b988b883e70b06d8f0f6f80079d7bf3d340f8c301330471444af6614cf5588347c22e896651d43de9917ee";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "bullcntr" = {
   revision = 15878;
   stripPrefix = 0;
@@ -4312,12 +4383,12 @@ tl: { # no indentation
   version = "0.3.0";
 };
 "bxjaholiday" = {
-  revision = 57025;
+  revision = 60636;
   stripPrefix = 0;
-  sha512.run = "e062446514cdcf8e817f06a33cd02a29cd1985dff450a89baaf2e230fd9dbe20e92d3a34b661ec12c764c5a6230b1fede49034847fcac2d2db2377eb7d4450cb";
-  sha512.doc = "3b44cf93b4afbbf97263b091509a5486bcbc6fc7091bc8a583be73f35487962af93f071547a78895231fb576054e440271abea20a7b07d111c197382b52ee746";
+  sha512.run = "4f5dc4081f989b73e5334d62af403922e2918424cff24480644f1e9016e3e20fb044cb22da91a035b198aa92edd0a51e985fe791a4c99ffbde2d339ca46a3918";
+  sha512.doc = "6d3ccd7c279e9dd8063296d843dbb6b42af90359b16f421eaddc7b2ddf23e2dc6077d4748abbef3c67c9672536d58a20746848237525a4cf8ec87ed19117a618";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.1.1";
 };
 "bxjalipsum" = {
   revision = 43369;
@@ -4328,12 +4399,12 @@ tl: { # no indentation
   version = "0.3a";
 };
 "bxjaprnind" = {
-  revision = 45291;
+  revision = 59641;
   stripPrefix = 0;
-  sha512.run = "77f754e9d9cfc643286df17c7102685ee4c893b5b99308da7a8a9033fc043a7ac95a34dc4a253da4f5e6ed29b35a04376eba1635abbbbe6a6e2670d0d47f50b8";
-  sha512.doc = "0010c6e9d1041013401f59820795e338d9e0f852b2d29212fda0c66cda3e2dbdf59593547a8d83d9c6d78d48fb0372a4335976ad1fcc190c3c71a3b5607a47a4";
+  sha512.run = "90d69860d7017c414cae328806e4d6e9a788dfe46f7a6a5792a0e8df563471b5d60aa6b7d2ea45caea3caf954a809f64549f24105d9856d6b89f96d366a02fcf";
+  sha512.doc = "40c81a58de05b25b5ec537ee6ce8feaa9476ce64898e7ebc67ff1d5497e53eab341734438160e578487753ec9bb747d8c69cbd4365895326b081588b92f6677e";
   hasRunfiles = true;
-  version = "0.3b";
+  version = "0.4a";
 };
 "bxjatoucs" = {
   revision = 52509;
@@ -4344,13 +4415,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "bxjscls" = {
-  revision = 57625;
+  revision = 59253;
   stripPrefix = 0;
-  sha512.run = "589b5b44ad6a4743a039b427d8caabae51c070591f808218f432a21df4c442df9878fd5fa882d6e5090ed808c0f689ecb8d9ee11e131415c7dd69ef992e6d898";
-  sha512.doc = "e999fa0ccac37f7f5793e5f0ebf096615ef9c92cb1311e885edfced06ddd5c21ef3220bc5ac760e99dc4b49dd8d4d1d4b612d4f686433ce15e73a7222b8605d0";
-  sha512.source = "27a1df36d928544d84ac322104c723cddaae3eada19d7b205150463c6c6e2c4da33d87c34547b02fc06b01eae4b67f3356c31132bbcb1538ec8b4cbd495855c3";
+  sha512.run = "55dd819a17df692beaeccc41eb9c9258b2ce6df426eb476457eddea117551698ecbfb5a34c339891e276fe0c98f8ee0a676640d7dd066778d0f6e74b6c5fc9cf";
+  sha512.doc = "6c922c350ba11095dfa1c0ca9ef6b7b3b23ff7b3a265246cd4938bc85c9c98589d1d423136194341ebc888b57aa8f0a0503ab4283f9ecba023ecf19c728bfe40";
+  sha512.source = "e030c2a706035e6bf894f7c92a5f5fbbaf5c5a887e654bc33769fb27412265dc8ac84ea5f283131e7071287244c983cd72e3cbebfd73d3f6b17ba12b41b8e948";
   hasRunfiles = true;
-  version = "2.5";
+  version = "2.5a";
 };
 "bxnewfont" = {
   revision = 44173;
@@ -4400,14 +4471,23 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.6";
 };
+"byo-twemojis" = {
+  revision = 58917;
+  stripPrefix = 0;
+  sha512.run = "5d9330d36bef34d5deb7fae5413741de09050bc9a0fb3bef7874b0d44f397e900f626fa64b8903038d3131e5b9ae66f121a1dbaa6f25668f73bdf7d3aeed409d";
+  sha512.doc = "a0329476031945d9fb694522b3bb08cfded7ee117033f758ca7a9d1dc423d66f8ca749b295e1d420b737da886b57b1bf2dbbed20d3bacfbef94d57061a22f4bc";
+  sha512.source = "7971ba8678358883fba70f2394417f2cbaef639fa0a1fb13f1cef8d0cb182c91fc3097450bc29011c4b939afe6cb6ae5ce3c8c50f183fc92f10f3d0a46adc3ad";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "bytefield" = {
-  revision = 56821;
+  revision = 60265;
   stripPrefix = 0;
-  sha512.run = "a36c81313224ac79fdd7d51f954aef437f011314061473455f0cc2be0cc52659c83400140a3b924a75c76d825b14ce3135e324438d9bf8830cf40a1c4d536a32";
-  sha512.doc = "1aa94c8da8ca322cac0360205fc2724a9108aa0ebd3332fd0cd749123d7a1fde7467006595240e65937e0a6deb78a810efa677ce27b51ef62f5f15ebd620e593";
-  sha512.source = "be5993e9addb0f22a0e618b934ba77e4169f5dac3f07ca8e3986ddd4a001c7483b52fb5b3f1575c5b07339c9227891dc7794653c9be5fe531c7375dbee43ca30";
+  sha512.run = "6f128c419989627e6ba7329932588121f88a63d89761d5cc912b8d53371ee5c80651dd6a3e0f8e9fb16d77ef3818baa65c317b1629b954a45743c993849732d9";
+  sha512.doc = "e7a496c61fde7af9d5ffb96b4dc1c2dfff8dc3883b07ece63007b2987f1ecb5d0d751daa001b0d2c045c9ca5be9ce074d37aefde8981fa88a2c9e91f7c3bdbe7";
+  sha512.source = "e017a2d0ea3b04682a2c5e8c0f1fc76d3d45f25161c00695f134947da31d98fd89967be43785c307893f34dee0f29ecce99c3aa539370463b31093c03b2e78ab";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "c-pascal" = {
   revision = 18337;
@@ -4418,11 +4498,11 @@ tl: { # no indentation
   version = "1.2";
 };
 "c90" = {
-  revision = 54074;
+  revision = 60830;
   stripPrefix = 0;
-  sha512.run = "9ad45614fa33b2272b0975cd8a044342d7d59d3dcef0b051f7aa49b5821764f838d1ed3f2b69e577a3c5cad1c471f412d4a312ad884ed4f9f29fe0a0782eeb02";
-  sha512.doc = "8b92590067d8c36b9d91a035c1eb88510327bade43f2458b12c64a74d6f0d74f23a33b61fe9ac8949d9a05137976a22e8a513ed3c6d40bb6138ccf3975ab0b8d";
-  sha512.source = "bd250ed720d900551167efe6f17844e2ef89005e9f8014d46b50e6abde74fdf84f0960ae452befdf018d6b39f3efb58dbe600b73261c935a4c35f0228a3d0b46";
+  sha512.run = "2350e99bfd047ea514586894d20bd37dc778c74fd4c1848063ba7d53cb59ed5df36cd20fd51140ede8af7f32ed7efc44e1d4f3db4a0baaa7d1439941ed5297a9";
+  sha512.doc = "9561381312a2e3fcd6a03da1082e9bdb5a2c30e241078adbb70d06060a21674fc8a40c5cb81ce87d31ff99c168d73e9b4074cb3a6114439d5a441dd0054cc682";
+  sha512.source = "774c2aae917343ba9dd78785d2dc9123bf1dfd0920b638ee991a92a9a87199205fea04ea36304806c7213a2bb4ef06459f385558c9691a7dddff69cfe4d35fa0";
   hasRunfiles = true;
 };
 "cabin" = {
@@ -4593,11 +4673,11 @@ tl: { # no indentation
   version = "0.1";
 };
 "carlisle" = {
-  revision = 56753;
+  revision = 59577;
   stripPrefix = 0;
-  sha512.run = "679a07121b01b5ef1ad15b5713bf2b38374d49458d754eb204c914bc02dfd4ed429e30826efd980be0bfd1cefad7607804a04e8a820980877bea68286b23961f";
-  sha512.doc = "55265a53e2ae899bb6f856626f155c96084328b7967e6c599e56d53faa5b746efda2f98b6f9b4571d7473da8c664799c259d2f052776b4da218dddc03265df2b";
-  sha512.source = "350e30ed75ab3f6b3e33d4d0c16f84cc7cf887b022175437ab11bf561698c3d06d624f02971652ff370de1c4e6454e0a3cdbb75530e08bbf141ba9ef7298b942";
+  sha512.run = "345c61b7eb6637e73a66b5f9183ec39188d4e2ffdd418f12d8ae70394f447eaf8a5d8c62e1adfa515ab7879e1afac4163957ae0b6facafd9ae6ad6f300acbe03";
+  sha512.doc = "54c785d458a5a2848c2ae5c730215df4a66a7dc523605d3a9a8985cbd65677627a2a5f5800f055da65ecfaf096fda609f4a7f3a5ce22339f0ee6bec635250ec7";
+  sha512.source = "9acfe2c47c7a6a9ee358bc79482f2b21f6ab735fe25696e04a996cfad798a0461dcc0bccf6ee7fff9a6b9e22307f5312e26f9c4fba46a03f0289b8031a6bb97d";
   hasRunfiles = true;
 };
 "carlito" = {
@@ -4614,14 +4694,23 @@ tl: { # no indentation
   sha512.doc = "284d9f740d1e4b1a4c989b527bac80e54afa74013d1234bf9e1c2d42ac2ca4387c3b0d24004818e1fb92b001582114a4432480804c721cc7df0bd3b85835f111";
   hasRunfiles = true;
 };
+"cartonaugh" = {
+  revision = 59938;
+  stripPrefix = 0;
+  sha512.run = "354baf8e8cffc0849494e4f79a64111bc0fd4a63e2454b4d4763bcf0c25511e4fe70caf048c628695a90c55c04fea0fcb026a57e72131e746f9d795fbf54fc82";
+  sha512.doc = "3811c97d39d7738ee26cc40f839eaf9f51d798d7f14a93c5906ea977a20ff864f84772adf3815216827894fec67f21c488797b4cf0b4db3c7ef6c551637d0493";
+  sha512.source = "9e417dd74451cf07d406f0c085231c175ba5bed083456a06cf9e0e3539ff32b2c6d596190ff7421b879572f0f568fd775c66e4eedeb776e69d6e5dff461dffdf";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "cascade" = {
-  revision = 55759;
+  revision = 60310;
   stripPrefix = 0;
-  sha512.run = "2c108ed478340c3605848c67dced82eb09040632e63dc59aa00c2ff52d0a0ff9c174240adb096ffdfbce8449c4b612df4ad0da05e41bfdf0040ed4e510a0ea19";
-  sha512.doc = "f3b650bc8ffcb089b09a94bdeda3e188df26c5494cbcc515c095670e6f13be31e6d18a19b781d98fd78ea9df7144f9d5e8bed13a79da99de1f2d0329079438f6";
-  sha512.source = "3b5b9fc20b90dee62d281ba4d25953e660b52488271a812e595215f255c7947131ae33d3cbc65036242d25996bdfe40a980650cd942af2cf6029e408f0f7f915";
+  sha512.run = "261849263f2e07077ce67daa2ac5f7e1b05245a45386473e91867e30f071d7d0c103fabaa04b02b8033aff42169998193b56728ea2bdd98beb1851ba010c1f79";
+  sha512.doc = "08f630b077b01b3db0136446b65ca5dbd53d7814187e792e86e6f678663c2bd204db3f92f9e4937ca22645933fea851363a5bb897f6d44072d02a48f9f27d8a6";
+  sha512.source = "7c8fa6fcb3a1543cf7b5ca000c59eeab7924f0a68178b0825abc4d720b09e0179087299bde63540bc3f5faf8664234a1135d32b4f7b7b19b005c63a991101182";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "cascadia-code" = {
   revision = 57478;
@@ -4683,13 +4772,13 @@ tl: { # no indentation
   version = "r0.2";
 };
 "catechis" = {
-  revision = 49061;
+  revision = 59998;
   stripPrefix = 0;
-  sha512.run = "2fb8f8ae6f9e597740edbdd0e686f9715dbd4ad2df2cf9d3737b09d1ef496582e243b8e21414fab8cb89d3d5a8ad30a4d82276551ad6fa548895c6cbc7612cb9";
-  sha512.doc = "2273842b6b0222c98736fe6338eec505e5a75ca45d180c259bb3073ed47a5d0bab65fbb95630076f764db64d978ad8b3dbdb6a12775d2af3ea730c9d1b938bf6";
-  sha512.source = "bd78292392877d0694fc085ab92e64ea47df555103ac745c8a0751ac445d0c74a034bfa9be1b39a3e16c0578da7bb68c7635a359f3caf69a2dd3d03ad21b51fb";
+  sha512.run = "3994f92840c261d92ad8ebcf3205491146ab64cc65b7685557d2b84e3ef73058f3e968726b157d13e986a5ca40aeac2a9ffd48d019664ed2da4f01589ef4f0df";
+  sha512.doc = "8b44ed2ca1ed8abbd5acc75074a2e297cc72632cda43a7049009631a79e459052808e51b169bd0be7932245ea2539223587b38cdc6d06e67c16da457b7036560";
+  sha512.source = "43827e136677ad8523499d0b102a7ad4be3b95a9818a8720065d98beb07c5cf1a7f6b36c0985b7f4c6fef43fdb233a6980a5899697297cf3ad39e0da6db6c33a";
   hasRunfiles = true;
-  version = "2.5";
+  version = "2.6";
 };
 "catoptions" = {
   revision = 35069;
@@ -4776,13 +4865,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "ccool" = {
-  revision = 56636;
+  revision = 60600;
   stripPrefix = 0;
-  sha512.run = "4571aa4b0d83f6651784f43e5b9b982a9d42494f9ddd5006a794d4eaa94c4217ef0e85ec2170eb2502c243c02b7b67f0e8dcacdf2ad2714f70e7f6cbbc24aa3b";
-  sha512.doc = "99c777464f24e2cc5775a342d682f43686d13dd13db606c30126408de8521cf68ae62acdeecf351dee510ab6550b247100bbe6cfdc2e04cbd183270fc91c62af";
-  sha512.source = "31f6f051fbff8806df6bc84c03fbf5b33440800cea7083b8d6d36e585140dfe24e7fbb192531614dc65d27f23f53e46349b0c020a2cddf4817fe9d3b7b23be44";
+  sha512.run = "2b125b2e1fa1bf91abd3968749d422873993a6d34df66bccd2fdf8b71338cd6039be8e584f801fa12cfc90a59e32b3ca0de53ba07bdaeeac745aa2a73d05467e";
+  sha512.doc = "05db77b09aba0d4ccb3712a5f5086c93de9ce70e067bab00030e96a23b058b76b69f54b379ac0ad8d03e68a3986687b1ce18a980d9ee5b7e4cb80dd2064294ef";
+  sha512.source = "dad84e19fabb04f783276ad11c389c9ab0425d81fd1e91eed87b6659247613bf759064e94de39904d13148393ec34ed0567e2d680c8b794113e844feb86d8932";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.2";
 };
 "cd" = {
   revision = 34452;
@@ -4802,6 +4891,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"cdcmd" = {
+  revision = 60742;
+  stripPrefix = 0;
+  sha512.run = "677fd271bd209933428d0b655529b7e6c4bfd6022c37c3ef5456e1ce6fe25c599a9883474c28dc9510e293a2ee5e87a49b797bb562b750e888c622bf6ac6d37f";
+  sha512.doc = "bf6d3bb4422dae82e06d440713518dafa98ab7ef7b527268050ebe51880f90e45b76281c1d693f1b40e85f07d7f6d395f51ce2c642094e326c3b1d08534fcba2";
+  sha512.source = "50a2f50cc7432505c608aac180f7631d831742c8047a8f3da25bbdf6e83efd9121fe3b5256a2b139b1c3a29da4b2003304148f5f48c745734b811c1d853016de";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "cdpbundl" = {
   revision = 46613;
   stripPrefix = 0;
@@ -4845,12 +4943,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "censor" = {
-  revision = 49168;
+  revision = 61389;
   stripPrefix = 0;
-  sha512.run = "03b94dea9f5f69f0fde8dbd198e73a1ccc1e7b118b26c8272b217bfe76b7cec7eb0c8706dfbca7dd2a9438ea7337482cb55d631d3cabfaff3dab19d1cc565780";
-  sha512.doc = "131b995300b302f482359820bb9dab62188be11f46470e2c9d25753a22d6b81def5e272cdca4f2057adbacb3bb9aa777e758ebfe8a95205db7de36b378369bdb";
+  sha512.run = "1d3aec8389a5c2c85a68ceb5b69cba5292f7f53913c2f1c79fa1dd3e1d37c2368401d5bbb58869ad281f981a663d55a8dcf792e71fc2440278d58f9ee65f4b3f";
+  sha512.doc = "78fccd2b3e36161eb80340134978017e0091c085aa53d58ddd65ea068e77eb4e7d54d2ebb50496feaa12d825c3580563e145d38ff903376a36447ab6b50687a3";
   hasRunfiles = true;
-  version = "3.22";
+  version = "4.0";
 };
 "centeredline" = {
   revision = 50971;
@@ -4930,13 +5028,13 @@ tl: { # no indentation
   version = "1.0c";
 };
 "changes" = {
-  revision = 58773;
+  revision = 59950;
   stripPrefix = 0;
-  sha512.run = "946a37d1b66fd2fa900a6683d08ccdabc88304c9dcb9d48a3f6b2d83208f73cb3b9f7d2c8e86565db16356e3a1b128e53f5d8ddfc6979129ed30e56f120b9442";
-  sha512.doc = "a653f0e5f3b03252d30d24dec3a6623621858b433734c437a3ae6bd56e293ab00503fb7e2a92e51a0f88ed906fc0c05484577fb09c5348a44248eb7b12f41cf0";
-  sha512.source = "a74ee0bd131301f12a674155d87ffec87b88916e242e80a4daa18fca251d8479e05dc8ddd343943c96055cb3c54fdaa37f91198c8daab1a0c85eb8029d8f9f9b";
+  sha512.run = "4fe27f5c76d1ae374b1d3f3d75cb7e61a82baff34ea0fbc6c7ea87eede785f83dff23f3f56fed9323b9d364cc2bdc533640552c8b454f7a821a80e830244f97f";
+  sha512.doc = "f35b3e0eb4318a97bc09361be9561a3b195678559f8311fb0d2bab4211f86853b1210e515e02e6312a8d46e52d7534ad9573b9bb3ed5611f1766a55e54d22c3f";
+  sha512.source = "a8ee2f4efa5caad223bd543a0bcad42eed02d2aaa143826ebbb13000d820083ed416cd7399d07c8865301708fcb87febc5d211ae8b0a6a6f08b5b9143d8c430c";
   hasRunfiles = true;
-  version = "4.0.2";
+  version = "4.2.1";
 };
 "chappg" = {
   revision = 15878;
@@ -4957,12 +5055,12 @@ tl: { # no indentation
   version = "2.0.1";
 };
 "charissil" = {
-  revision = 55920;
+  revision = 60294;
   stripPrefix = 0;
-  sha512.run = "c12562bce62a161bf261cc3a899c16f71f2c26091531a30626f7a0021cb0b321e1068cb9b2ff48cfd0128f1502d4e7012c12847b303295abe6758a970a759d3c";
-  sha512.doc = "ccaa2f0bfb3c76e9fd6ba2fcb35e926bdaa70ddd65abc14b2ccd2ab5db9eeef8ecdd4aadbf245fea4674265f6c616e7c42a2b1251214548f91bf72cc881bdcbb";
+  sha512.run = "71c215dbbfc5d846ef00c9d4f40e22904dffb0b28587630527fddc7cf0cc40d4c68b7b913b8494a2fdb782e56048f5cc352ddc9b33ea2a2c9b7c3c97a4328507";
+  sha512.doc = "74d9d178c12d85f91805d46bdd6fb07f1367a14ae75f00377b97455c904b1436b068abf3ae52a4d9c6e2e7886e2f2211f09a2733422c05eef4d71e7a8a925b38";
   hasRunfiles = true;
-  version = "5.0";
+  version = "6.0";
 };
 "charter" = {
   revision = 15878;
@@ -5060,12 +5158,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "chemfig" = {
-  revision = 58014;
+  revision = 60135;
   stripPrefix = 0;
-  sha512.run = "ac0f3fff6f24fe83c3a1cd7bfd456cf187c57ae66776c672aab980d267d9552b7b480b0244e3d2e1c8d9f39f1d6524f9e882fc8a71be9fc8a5c0263d4899f718";
-  sha512.doc = "c8721852c551909c7ded202793a5c1c999d522f3217e9c4fe7a9c4307b7ee054ca360ae72d0d12ea09ac3b538445d79a5d103493c7e14f669762debd2eb92536";
+  sha512.run = "95a57f962e6f15d5e2bebc00491c60ab904afb739a0ae438346c57ffc47ed23109d436ff0f1f0ec2226d6e215d185a39e014ed24413066157c2830a1fabcee2c";
+  sha512.doc = "f94ed7e4133a3c7122580f01a415922480257110e6c675ea816c15eebb3efe0ce40675bc6d6c99f02d3605dcb53c63426c6fbe23373336aeb29979a75f323e31";
   hasRunfiles = true;
-  version = "1.6a";
+  version = "1.6b";
 };
 "chemformula" = {
   revision = 57206;
@@ -5101,12 +5199,12 @@ tl: { # no indentation
   version = "1.3a";
 };
 "chemplants" = {
-  revision = 52863;
+  revision = 60606;
   stripPrefix = 0;
-  sha512.run = "271a8f113b9c722f08c750d77aa6d70c5342396c6bfee815f94e90cbd7f6ed7f9793dfcaed9f5ce49612e15924298f2e995b2b5f504b975c8081338076a61272";
-  sha512.doc = "18eb6cbbab95af45040cbf66384e32701e83e509c62bc3a68b82e760f131827740a16d5da35175eaea20810d4a66e8b1cc586baa10f372f1ad2a043c8f9f3f54";
+  sha512.run = "6d5794cdacdf71db6cef86b9bc99af2edb1a13f2b209d7693a7f37cb5161596de37b656b3e4ae690102cc64cb7245b21004c72943fb8f5e08fc1ed1479d98947";
+  sha512.doc = "50cdbc24501b61b81c2cde97c851df785599f5c2f5c3e4eab75bdebd2a81501edb9e3223dacb2042682a066f5640e8b1377c43ca61ec643b342f6de2972ec4cf";
   hasRunfiles = true;
-  version = "0.9.8";
+  version = "0.9.9";
 };
 "chemschemex" = {
   revision = 46723;
@@ -5195,13 +5293,13 @@ tl: { # no indentation
   version = "1.01";
 };
 "chhaya" = {
-  revision = 57508;
+  revision = 59566;
   stripPrefix = 0;
-  sha512.run = "55d70033c02029065f6a619249a14febe37b0960e25c248cdd35fdc7e0afcb6d7e128ae9113001e19c2cc22172aa19002d8f06f0671628edd4bb811edfc92f29";
-  sha512.doc = "eac6b06915dccdcd74cb98cdf45073c06cd63fe48ac88fd50aa652ededaa1df36efc8604ac7dd335347b56bf10339d8397a9ec2db304c55e6c07132ff18a0b4a";
-  sha512.source = "f6117bcbfda21aebbbe90db0932f93792fb343fb0831d8b02c4c61114cc3d10631c3b548cbd2ea12349e4dfb694597f657dd2a2c0b3a126d01b23bf19b228ed1";
+  sha512.run = "b5b85d8a65922ebb610bb49ae574138f93efb4cfd0bb5bf0610ebaa6f31fa14e393d47a27b831b6e894f4210222809e5d5d50f0e6df5cdba377f9d8695db38c6";
+  sha512.doc = "c255cd6183edd207ea269f32bde1a3f613b39cfe460695527957bcd42228ba97844eac4fcbb691affb91718e3c3720226cf3e60ffd8b49875644089ac7a7b8b2";
+  sha512.source = "3034b556c8932cc645fba70bc5a00b2fef63922c47a88c19dfc1d9c11793abc5ce24be30e420ecce16053970bab82df624c47bf964b20d6280690dabeeae6f2c";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "chicago" = {
   revision = 15878;
@@ -5382,28 +5480,28 @@ tl: { # no indentation
   version = "1.1";
 };
 "circledsteps" = {
-  revision = 53382;
+  revision = 59608;
   stripPrefix = 0;
-  sha512.run = "f8e34dbb7167f4d9b6a9585c856f57cadcde9ccbde1d28a1918ff3f4c04916fe347acd2377cdfc5d0cb03ca2a8f5ed3389ca134e8621084da6504e0a5fa10622";
-  sha512.doc = "b7a50fa849e89393ebc6624623743ee7be737805c7807dd57957c05bd3489d908731c37c87d950615e5d6b835035169717a2648ba876ae458a0d4b0f779f0eea";
+  sha512.run = "a677f83e00e92f11de361cfd4334a73ec915a1e242d4ee0ab5c3a01992b34b3872d7801ce552ddf926187c8198dc93daf8f814b27ec16c0d1cc9c23ce3927225";
+  sha512.doc = "1a0fb47608b126519576447b648dbe6153a64ecf428d1d2a74eecf88985c97b3905f09ec010ce185dc5da3aa85970c2409feb45a7f3902c77f36a6208bbc208e";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.3.1";
 };
 "circuit-macros" = {
-  revision = 57308;
+  revision = 60690;
   stripPrefix = 0;
-  sha512.run = "38e9ed7362e27f836d3a364ea50f54593aac93f30b7a2b90a7bab9f0dd72f28a14cae86fd5d3dad2f47c00ef511afb458c2da29c5da203c3d65c9829b32aad52";
-  sha512.doc = "44251146179c9021159523d00acc93969c1caeb92bd0efca9701d95804fe57c8ba218f41cdab878aad8b942cdb21ace7d0266ed7c7c9373d0eb9676b9e636492";
+  sha512.run = "1487a935b764969c641e308aec9dc82c0b68df03f427dd2b9871b1035728303e7f16cabcd6f48d5a1c9289ef4541038b8a73cad66f77a7cafb8ba5b125afb406";
+  sha512.doc = "1f7d2dcbff417fbdb3a0f3208339236bbdc2066c1fa94520ee006f0f326faaaa3bb5f037a70a3c7eaa04e7a07319c58c8346613da8d0170bb36abd2aedc6e3f2";
   hasRunfiles = true;
-  version = "9.5";
+  version = "9.7";
 };
 "circuitikz" = {
-  revision = 58757;
+  revision = 61231;
   stripPrefix = 0;
-  sha512.run = "bbe6be9fb82ea663e25e30b7ed4938f68295a3b69e4a1586cf0baadeb0e31e92d2f775927167704a2145d0f495a546a378ba9b0cc62b8c13422e7bb8f9af8b9c";
-  sha512.doc = "08644573bae57d53903c1ab41962048201e84cab9c075670c568b20a5afb4ee35cb00346f329136827f377451edd8b2eaa11c68b2ad2df7af3cd9adbc124b801";
+  sha512.run = "d67f5c1285401bb8bee981b943bfcb248eb5f184fe2682dedd9639a391dfda0129c940a28f05542869cf1a211ce6e6f4ac8504c82d8111099e11f080fe133194";
+  sha512.doc = "8af04c7a0b5897b20179270e31c50dd4b0a152cd309a3201c60cb0447e8544b51dc7d0621bfa913e312b28017b19d407b266edadca3648ebb225e3b70c75fea4";
   hasRunfiles = true;
-  version = "1.3.3";
+  version = "1.4.5";
 };
 "cite" = {
   revision = 36428;
@@ -5446,7 +5544,7 @@ tl: { # no indentation
   version = "0.2a";
 };
 "cjk" = {
-  revision = 36951;
+  revision = 60865;
   stripPrefix = 0;
   deps."arphic" = tl."arphic";
   deps."cns" = tl."cns";
@@ -5454,27 +5552,28 @@ tl: { # no indentation
   deps."norasi-c90" = tl."norasi-c90";
   deps."uhc" = tl."uhc";
   deps."wadalab" = tl."wadalab";
-  sha512.run = "c35be1fc1d9f9d44e78effd6e7e539591020d785ae255a1cfa0d7e2508fcdd496d94e4bb0096bc7a281ee93b0b8e461efc6724c82f49d589dbcbdda35143c811";
-  sha512.doc = "d598d599d02ca95b1375b8e989649b441980ae6467348270c366a670d79d606b1ca79801febdf5c8c636f2d1c7fa30eb87bd87f90f75b5b4436443ecdab53b73";
-  sha512.source = "bebcc4f77716c92fdff317d926b0ab47ff32efc8b235f721d7d3d1808dff5672127b4c80bb729aa1023f25949cee2c4d508adb40574a3d606f3d5840642eb604";
+  sha512.run = "b13712912e479dab68cab9027042be8cb11047ebf9c034f532c857e83d28f19dfea5a1748685cfe1847c7372f2d0982f79736525694d937c88962c5262094585";
+  sha512.doc = "a8c6b2d4d0899b841ccc32b378855d61bdaa65d5f68fd408df3894d386bcde18f384410f34e6f33ee2a5ce770e1e663a05ab038d9b7483012a3cb414739c3705";
+  sha512.source = "88be587328daedfed3bdcb289b1a03343bd7257ae180a9e0857a6b00f173f601eccd8e5978dd29c2d95fbab180fcfd5135a682c5218325fc6b664f2cd505213c";
   hasRunfiles = true;
-  version = "4.8.4";
+  version = "4.8.5";
 };
 "cjk-gs-integrate" = {
-  revision = 57081;
-  sha512.run = "f2b8db61f861942df199cdb6e51ca7458f22d385396382bfda6291d2f2abe5555b6b35102629c4c0d478dc01b873ae917acf10b150bae7972a6fbb03ffd03f41";
-  sha512.doc = "80f8054e0841bc5605faf0abd3b17ddd16919d0228d520af00c4117f884e1105e6b818d6ec92f312b38246f591f0e6743a76ff02ac05a9e93624e8f4bfaa31f4";
-  sha512.source = "5d26311844626499997323d15806a31e5144b1dc6f6c18fc5dbab10f898382eff33dc316ac8429a3d76f57867720061cb8594d5c80510b7776dbad8970f0c0da";
+  revision = 59705;
+  sha512.run = "376a1b287955a801cb223c761fc9bee8af0f587f27f8c3e6cb32ef009fa575fdaf54f5e3847d7b4ca414e3eb4d58d3611ee2194736dcfafe8afb2dd6230c1999";
+  sha512.doc = "c1165f2ecd08b279cd0d0b028682eecbb3953659426a1885bbe5aab9838a90107c576a3b9bf80b0d54dbe3fc438c8af8a8c82f5faf79052c37d2c5e85ea9ae42";
+  sha512.source = "ee53a480230824eb7aa1ff270652eba4f39e5f160fdd091d596b9da610d8c8c211db3aa3d89931ec16edd36b2662d07a93513563efb3bb5a9ffc9dba0d274ee4";
   hasRunfiles = true;
-  version = "20201206.0";
+  version = "20210625.0";
 };
 "cjk-ko" = {
-  revision = 58081;
+  revision = 60079;
   stripPrefix = 0;
-  sha512.run = "5666ea878afe5ffec519ea1bb732f123a8e1dbe539d1b42919f0d0e73efb26f66850c446bfc3be5aa9e34138611da5701adf43b1f474e590dfe20a6784b3dbbf";
-  sha512.doc = "3985b243f47a964dde86cea55ff35bef042fe4f66171188dff03e7bebfe06369604fbad9dc0acf551778bcfffb7fed77250035f28b1f033b5f64e5577960aa44";
+  deps."cjk" = tl."cjk";
+  sha512.run = "7a41d66a62eac6cd97479da22481c57c85f12f65ffe18995a22ec56a64b03d95aee3e6b3b0d0edcfeab89b3f3d64e95f26b8910905b9085b55c7f371b1b9c1b7";
+  sha512.doc = "4d81968baa644ee9966e2498bcb788920b013d0ffbbaf3df8b09b40c6b2b286a5e749d19c11c0f5828432b376f3acc480ea5eb0c8fe8db9ba2413c7077a64b39";
   hasRunfiles = true;
-  version = "1.9";
+  version = "2.2";
 };
 "cjkpunct" = {
   revision = 41119;
@@ -5486,11 +5585,11 @@ tl: { # no indentation
   version = "4.8.4";
 };
 "cjkutils" = {
-  revision = 52851;
-  sha512.run = "84ae942d24c6a5b6dc8a5ae9a7aed0e1da511e68a2730c26d022d935974869c810600321f4ec1b8c5aeb00d17c6eb360d2735b2ac529bee6aaf85bbf4e44ec2b";
-  sha512.doc = "f135a594a95a0d30262a00bbe8279a2d58c6549dba65533b6d1032f99b517b9ff91217ff3ece3768bffdd086e50ce99b56db494aea24dc460c7b077771e97921";
+  revision = 60833;
+  sha512.run = "36b0d0ef4bae2a9e5f2238c5c9aa125eabfca509462b65a159f66cbafc690939e16760a86e7e7dcce22ffda2f301c039059cdff1af8ed862017f18552e13e728";
+  sha512.doc = "636e6486f9661061d22d248b0b7a8debdb81cd08c56b449067782568fcc7db58922f7c9d40fbc992bdd008908f22a6733af4a8115d85c0572556d01e925c5587";
   hasRunfiles = true;
-  version = "4.8.4";
+  version = "4.8.5";
 };
 "clara" = {
   revision = 54512;
@@ -5557,6 +5656,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.21.4";
 };
+"clicks" = {
+  revision = 60539;
+  stripPrefix = 0;
+  sha512.run = "b7fd97c8d60387f6da26c8d5bcbae3f31a212a6fb7dea4ebe2ca6d6f101432a61fbb462ccf9eb3a0b919e0fe90d1ee47de8c439ccc8d7503ffe2afa5f35962a6";
+  sha512.doc = "08418330a9359dce285969996f8ca57d955b2249d398be8064c6f814a3f9bbbae50a661829c8dffd29383d26dd42adf01ab74559ca09fe86f6b77c15b7f2c309";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "clipboard" = {
   revision = 47747;
   stripPrefix = 0;
@@ -5573,10 +5680,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "clojure-pamphlet" = {
-  revision = 52082;
-  sha512.run = "a420e5548af550ef91103a82c5bf8e43345abfce69bb438d488ed9a3a62db1e6763ea1c17b246ef307cc62d28b5c575b5da07d5857241e21ce7d789e9a2a055d";
-  sha512.doc = "23f6cd97dc5d521689555ec95a695db0f9cae8873d28e2bac2969f07e9e8d2f7ca9a6c8105ca127da202d811717b3c1f4219fe15f9af01036800a083f065cd09";
-  sha512.source = "32f90dabd0e73206930f589a97e8630c25ce2f95f1657d08ce71cd36241bafd6c2a79c483805f7574ccab29deb478d1ef8837fdf2e922592e6d8f18f43121a14";
+  revision = 60981;
+  sha512.run = "67047118c74e1d19426d99bd3a716d6076d977156f1e686bbd991d6b1cba464897f662e950c86218910b485300d40a5cb80d8d43868fb7920cc99a6d7f1c5735";
+  sha512.doc = "02ab33398a87a47c76fd34df9eccde47b60b028b3a659294968b35beaead85908d958ccd94b8f706f6f2173c9af3d7f7382c510134dabde4bfab9be20f85998d";
+  sha512.source = "5848f7ace83c5bbf5017f7a760fdc464e848511717f5fcca5e17f95421429a5608c590fcbc1e7a0d49bb5996def552f16515edfbfa5a2673fef962529141e5a2";
   hasRunfiles = true;
   version = "1.3";
 };
@@ -5614,19 +5721,19 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "clrstrip" = {
-  revision = 53537;
+  revision = 60363;
   stripPrefix = 0;
-  sha512.run = "34893bc3758fa010c34523284d73e18d347cc51a46236599c5e6df7bde4ea196da4ae8731b316c13cb9d225d353f1b3ee9bf0357ba9f30e400a9f16783a6bbe5";
-  sha512.doc = "8a18217808e2dbe8e6f96fff8c93458c14fa8bc97e6a8d460eb75c051b982bb2f423d46ea5c4b77bb45942896b126b8782bbbe1ab1a0f5fdc4831a5b8435d59d";
-  sha512.source = "b5cfa0234c7960718b4d201dc1896c8a92c437cdcd531e8decc783470df2e1a932f923a49ee3434dcf540263c9238374e455a14a0f64e84c41cd3985e1f21084";
+  sha512.run = "5a26232ede7efdd9ebb4ca89adaa2f0c507cb4eb883fc59662abca448a9bd09894cf52e850a0f57af101fd22ebf239ef82d4fb4a761b11448b846a82858fee96";
+  sha512.doc = "9d52efc5bec01766d81240bc4087d76b08b1a07c1b89c3a197291e7f7b9e1d4e10214ba7640b591cc82c67406c487c39b571ddcc89adbdf377a3e3fb4063b21a";
+  sha512.source = "db0be0ba5c5686846abc9eabfffcbe24c1b3f0e62554328c254126f7b0450ad0f066f7b3da20aabd83c80545e3400d0d52b639cc23b55a64e6b5735be79ea21f";
   hasRunfiles = true;
 };
 "cluttex" = {
-  revision = 53698;
-  sha512.run = "e211cd6fc89751628b0ebf0bd599ddffd18e39e24292fa896bd2394bbc1fe60c35d5230662a53fa685f051963db3966f27dd752cc63877585880a62483f6f93d";
-  sha512.doc = "d26a6fe183999987b2a1d375d1061fadd78d23a1bddb0582d8f70561c5d1bd745d33e0c41e8256adb00e2dc5b9f4904e7de4f2c03a00a6688b6c4a433f1d359c";
+  revision = 60964;
+  sha512.run = "35c8ec3711963131bb50fe67ef95705a1d40a6dfd831a33d863bde16f16e66086e204725154d0deaed13e94fdc28dd59497561673542151c1574f7fe87f516f9";
+  sha512.doc = "c8e395e087f9ca511db96b96dee3de4a51fdfc9374ddaf40703db0980724000f1987298dc8253d0c5a8d7c97e46cc2a8165b7cad6560fa560213cd5ce85205de";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.5.1";
 };
 "cm" = {
   revision = 57963;
@@ -5698,10 +5805,10 @@ tl: { # no indentation
   version = "8.1";
 };
 "cmcyr" = {
-  revision = 39273;
+  revision = 60630;
   stripPrefix = 0;
-  sha512.run = "452551d8563b53408a058f847a4a8d3738ac7f0de1da15aea05208c030c67f904b848d71bacca2f6f5ec3e882cdf0be58a4037ed7dea7c7bbd2aeb08776427b9";
-  sha512.doc = "748c60e2e54f49bc6afd2867574919003ad6412d721613dacf6f8dc48cb187ca915b1a5e7286a47db7087fe1133c8ceabd998a8c60b91e4d60264b6fc6253190";
+  sha512.run = "ecb1662bf6861744fa07126fa9cbcccfc0d53a1a9c1bd6b91a3c5482ccd83ec45b1dc17976d2d6c9cffc1dfb6aeb8ee583d753c427eb367b2c294defda98f519";
+  sha512.doc = "8db204fd976f23f99871dde1523ea0d46c2471ffd55f7bc1dd65e6728bd09be609b659f2044e5650d8f4c89c169569b4a4ab5535e975f3bb824a1faddb8a97a4";
   hasRunfiles = true;
 };
 "cmdstring" = {
@@ -5827,12 +5934,12 @@ tl: { # no indentation
   version = "0.3";
 };
 "cochineal" = {
-  revision = 58717;
+  revision = 61309;
   stripPrefix = 0;
-  sha512.run = "51596bff44f2aeb5720d6723283cd2c7a4c81419b0391af9aeda3231fd429c8bb8a6342278fab7f1cf17ed4cb752a25bd7c55c085671ef205bf9a28c429cfdc9";
-  sha512.doc = "930c4bcbcec523c8800f3c52b286197758f7721aa511a7f0617fff68f2e1a86cabc7cc9f8ba2887f64edd0e61fff9c17a05eb615043d0a2de9a56e03e72b5e65";
+  sha512.run = "8dad7837aaad184ece6f54ee03b39e1e988693d64b2cb31b370e2577b20a10bb2aa14c8575150ae71c218626f3d3f75be2d9a6af59eacb564860406d4abdeb1e";
+  sha512.doc = "76dccdc0895a2f69bde1fec39ccc8ef5af68241c4938e49f69d8647f30539b21cedb58629ce136340f4114b78a0c7b1384d17f1e073332d4f0b077090f4f0656";
   hasRunfiles = true;
-  version = "1.066";
+  version = "1.074";
 };
 "codeanatomy" = {
   revision = 51627;
@@ -5843,6 +5950,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.4-Alpha";
 };
+"codebox" = {
+  revision = 61415;
+  stripPrefix = 0;
+  sha512.run = "1d5ac25299755e3fff1adf6e0d06daf87d5f2885ed59f65374c97a89f3060f83353fe53eef5cd9c73c680b817d8cb8b4cab090d702e0e98875f8fb5565c508b3";
+  sha512.doc = "335ecc7cb568e2f06be995148a1da0e979e3fb07e294c734ec7298b9d4ca70eb270a5bcb01dadffc3bd33cde298bf44ca33009caacfc66df8a7a1edbd9ae7d8d";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "codedoc" = {
   revision = 17630;
   stripPrefix = 0;
@@ -5851,6 +5966,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.3";
 };
+"codehigh" = {
+  revision = 59173;
+  stripPrefix = 0;
+  sha512.run = "715c81105caba420b192d9223fb4be038e11a2a434dd73c033280ce9908de91659b41faea92299eb656b7d3974ad7f29393591bff8c87945d6ffb1d9199dad0f";
+  sha512.doc = "147abe790b005630f48f84f589453e526f2b92b81ae311eb29a2be3304cb97c546b35a311b55a45a51e5d7b184469ace286cbdd90b20a6034335fb60dd436e75";
+  hasRunfiles = true;
+  version = "2021C";
+};
 "codepage" = {
   revision = 51502;
   stripPrefix = 0;
@@ -5885,6 +6008,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.005";
 };
+"coffeestains" = {
+  revision = 59703;
+  stripPrefix = 0;
+  sha512.run = "7a8213810b8bb30c0b863ce996aab92a9031dd9961513d25822904c6e71dd2fa1b79f050f1840e8d88e8f8e8e87c7736369f3fa7a6873cbaa57fb8dca7c71d47";
+  sha512.doc = "fab8a2aeae8dd1c6f0f501d894f90d5b6f7785bf8b3fcf86837f4bc41da8002427c69094676870ea7dfe9186b3bb92433f5c66f0cedd08f57954487db8bb162b";
+  hasRunfiles = true;
+  version = "0.5.1";
+};
 "collcell" = {
   revision = 56291;
   stripPrefix = 0;
@@ -5904,7 +6035,7 @@ tl: { # no indentation
   version = "0.4b";
 };
 "collection-basic" = {
-  revision = 56569;
+  revision = 59159;
   stripPrefix = 0;
   deps."amsfonts" = tl."amsfonts";
   deps."bibtex" = tl."bibtex";
@@ -5939,17 +6070,16 @@ tl: { # no indentation
   deps."tex" = tl."tex";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."texlive-common" = tl."texlive-common";
-  deps."texlive-docindex" = tl."texlive-docindex";
   deps."texlive-en" = tl."texlive-en";
   deps."texlive-msg-translations" = tl."texlive-msg-translations";
   deps."texlive-scripts" = tl."texlive-scripts";
   deps."tlshell" = tl."tlshell";
   deps."unicode-data" = tl."unicode-data";
   deps."xdvi" = tl."xdvi";
-  sha512.run = "39ff4680cb002b6e29dac2fd5005d0d63b279deab21f025a87a7e860110a7eba04748adc11c9bf12f580cfc991380d2f301819801c32f681353c43053f98af48";
+  sha512.run = "4241bc3a3ef21502faa9a2e0b16295126c357fc15813a625306552b40f9da804164abccce642f4ec1e677092f81d61381958b87fcf515120a12f9b7a19055370";
 };
 "collection-bibtexextra" = {
-  revision = 58437;
+  revision = 61166;
   stripPrefix = 0;
   deps."aaai-named" = tl."aaai-named";
   deps."aichej" = tl."aichej";
@@ -5957,6 +6087,7 @@ tl: { # no indentation
   deps."amsrefs" = tl."amsrefs";
   deps."annotate" = tl."annotate";
   deps."apacite" = tl."apacite";
+  deps."apalike-ejor" = tl."apalike-ejor";
   deps."apalike2" = tl."apalike2";
   deps."archaeologie" = tl."archaeologie";
   deps."authordate" = tl."authordate";
@@ -5984,6 +6115,7 @@ tl: { # no indentation
   deps."biblatex-chem" = tl."biblatex-chem";
   deps."biblatex-chicago" = tl."biblatex-chicago";
   deps."biblatex-claves" = tl."biblatex-claves";
+  deps."biblatex-cv" = tl."biblatex-cv";
   deps."biblatex-dw" = tl."biblatex-dw";
   deps."biblatex-enc" = tl."biblatex-enc";
   deps."biblatex-ext" = tl."biblatex-ext";
@@ -5998,6 +6130,7 @@ tl: { # no indentation
   deps."biblatex-jura2" = tl."biblatex-jura2";
   deps."biblatex-juradiss" = tl."biblatex-juradiss";
   deps."biblatex-license" = tl."biblatex-license";
+  deps."biblatex-lncs" = tl."biblatex-lncs";
   deps."biblatex-lni" = tl."biblatex-lni";
   deps."biblatex-luh-ipw" = tl."biblatex-luh-ipw";
   deps."biblatex-manuscripts-philology" = tl."biblatex-manuscripts-philology";
@@ -6020,6 +6153,7 @@ tl: { # no indentation
   deps."biblatex-socialscienceshuberlin" = tl."biblatex-socialscienceshuberlin";
   deps."biblatex-software" = tl."biblatex-software";
   deps."biblatex-source-division" = tl."biblatex-source-division";
+  deps."biblatex-spbasic" = tl."biblatex-spbasic";
   deps."biblatex-subseries" = tl."biblatex-subseries";
   deps."biblatex-swiss-legal" = tl."biblatex-swiss-legal";
   deps."biblatex-trad" = tl."biblatex-trad";
@@ -6063,6 +6197,7 @@ tl: { # no indentation
   deps."geschichtsfrkl" = tl."geschichtsfrkl";
   deps."harvard" = tl."harvard";
   deps."harvmac" = tl."harvmac";
+  deps."hep-bibliography" = tl."hep-bibliography";
   deps."historische-zeitschrift" = tl."historische-zeitschrift";
   deps."icite" = tl."icite";
   deps."ietfbibs" = tl."ietfbibs";
@@ -6084,6 +6219,7 @@ tl: { # no indentation
   deps."multibibliography" = tl."multibibliography";
   deps."munich" = tl."munich";
   deps."nar" = tl."nar";
+  deps."newcastle-bst" = tl."newcastle-bst";
   deps."nmbib" = tl."nmbib";
   deps."notes2bib" = tl."notes2bib";
   deps."notex-bst" = tl."notex-bst";
@@ -6104,10 +6240,10 @@ tl: { # no indentation
   deps."windycity" = tl."windycity";
   deps."xcite" = tl."xcite";
   deps."zootaxa-bst" = tl."zootaxa-bst";
-  sha512.run = "0a0b978dcb21f9c26e0931c14b7faf7b0d8b5e1229d4180127c6b53899e001620246f2c0a7b0f6f1dc81639aee94701a637ac7af4ab20f144b661686c7d321a3";
+  sha512.run = "4a1af72d2fe5b01c48edef29cfda816dfeb9b5f7b247080bd93a590b7829e17863698b1a5e3c714837da6190072cfc5cac8927528c6c80923c422ea06a4151e4";
 };
 "collection-binextra" = {
-  revision = 56352;
+  revision = 61328;
   stripPrefix = 0;
   deps."a2ping" = tl."a2ping";
   deps."adhocfilelist" = tl."adhocfilelist";
@@ -6169,6 +6305,7 @@ tl: { # no indentation
   deps."match_parens" = tl."match_parens";
   deps."mflua" = tl."mflua";
   deps."mkjobtexmf" = tl."mkjobtexmf";
+  deps."optexcount" = tl."optexcount";
   deps."patgen" = tl."patgen";
   deps."pdfbook2" = tl."pdfbook2";
   deps."pdfcrop" = tl."pdfcrop";
@@ -6198,6 +6335,7 @@ tl: { # no indentation
   deps."texlive-scripts-extra" = tl."texlive-scripts-extra";
   deps."texliveonfly" = tl."texliveonfly";
   deps."texloganalyser" = tl."texloganalyser";
+  deps."texlogsieve" = tl."texlogsieve";
   deps."texosquery" = tl."texosquery";
   deps."texplate" = tl."texplate";
   deps."texware" = tl."texware";
@@ -6209,7 +6347,7 @@ tl: { # no indentation
   deps."xindex" = tl."xindex";
   deps."xindy" = tl."xindy";
   deps."xpdfopen" = tl."xpdfopen";
-  sha512.run = "6c6b6344f7d294bf74f3601850f036543ae6f8dc78bf01e32867d46d7c20089a388f779c445173c5d54e874278e718b697691eb94a5a2029ef64acdb914461ae";
+  sha512.run = "2c43f846d80779eec53041c31be14285a361f5f7087f2f33856084875f1b3f941bfa6a9968731d53e28aeb4a1f0a2777b8d8a9a8a7fea2eea28f22f474b60664";
 };
 "collection-context" = {
   revision = 54074;
@@ -6255,9 +6393,9 @@ tl: { # no indentation
   sha512.run = "5bd74e1a434549cf31ce31777e9a32f90baa14148e6658633945508a46dbf6611644c4212b53812bb32a399e850517369e3d89bb0e495c89e6f2a979090ed765";
 };
 "collection-fontsextra" = {
-  revision = 58253;
+  revision = 61165;
   stripPrefix = 0;
-  deps."Asana-Math" = tl."Asana-Math";
+  deps."aboensis" = tl."aboensis";
   deps."academicons" = tl."academicons";
   deps."accanthis" = tl."accanthis";
   deps."adforn" = tl."adforn";
@@ -6277,6 +6415,7 @@ tl: { # no indentation
   deps."arev" = tl."arev";
   deps."arimo" = tl."arimo";
   deps."arvo" = tl."arvo";
+  deps."asana-math" = tl."asana-math";
   deps."asapsym" = tl."asapsym";
   deps."ascii-font" = tl."ascii-font";
   deps."aspectratio" = tl."aspectratio";
@@ -6295,6 +6434,7 @@ tl: { # no indentation
   deps."bbm-macros" = tl."bbm-macros";
   deps."bbold" = tl."bbold";
   deps."bbold-type1" = tl."bbold-type1";
+  deps."bboldx" = tl."bboldx";
   deps."belleek" = tl."belleek";
   deps."bera" = tl."bera";
   deps."berenisadf" = tl."berenisadf";
@@ -6431,6 +6571,8 @@ tl: { # no indentation
   deps."gudea" = tl."gudea";
   deps."hacm" = tl."hacm";
   deps."hands" = tl."hands";
+  deps."hep-font" = tl."hep-font";
+  deps."hep-math-font" = tl."hep-math-font";
   deps."heuristica" = tl."heuristica";
   deps."hfbright" = tl."hfbright";
   deps."hfoldsty" = tl."hfoldsty";
@@ -6588,7 +6730,7 @@ tl: { # no indentation
   deps."yfonts-t1" = tl."yfonts-t1";
   deps."yinit-otf" = tl."yinit-otf";
   deps."zlmtt" = tl."zlmtt";
-  sha512.run = "27d3200f8bab180da6c0ce7b6fc9773950fa0755d8f7ae3b43b76eeaa7f960a99ab1941793bb50e3d7eaf0b2b3fe0bd6b5261ba9ed645d839cf8a3075b2aaa2a";
+  sha512.run = "e539f0113027096949bb29bcf4d05d6baea025203689ad9031df999357b72aaff2caf655bb694f759ab88f24fc76446f58932c351daab6dd66199fae564588c2";
 };
 "collection-fontsrecommended" = {
   revision = 54074;
@@ -6630,7 +6772,7 @@ tl: { # no indentation
   sha512.run = "eaa6e54780a0813a88102258ee3bd7a4640787be0b89eff4ba2c9cc19298bf3e2799ffab4e03e49f20131d07fbac9f601a7223fc1b47257dd0feeb04797c56a8";
 };
 "collection-fontutils" = {
-  revision = 57089;
+  revision = 61207;
   stripPrefix = 0;
   deps."accfonts" = tl."accfonts";
   deps."afm2pl" = tl."afm2pl";
@@ -6643,6 +6785,7 @@ tl: { # no indentation
   deps."fontools" = tl."fontools";
   deps."fontware" = tl."fontware";
   deps."lcdftypetools" = tl."lcdftypetools";
+  deps."luafindfont" = tl."luafindfont";
   deps."metatype1" = tl."metatype1";
   deps."mf2pt1" = tl."mf2pt1";
   deps."ps2eps" = tl."ps2eps";
@@ -6650,7 +6793,7 @@ tl: { # no indentation
   deps."psutils" = tl."psutils";
   deps."t1utils" = tl."t1utils";
   deps."ttfutils" = tl."ttfutils";
-  sha512.run = "9bc0964c2ce55e4bcab2b2ad0ae1c784a49ffc981620ef3cd549052a5e2b201325ddc444d9afbe57da6dc64d1890d61be5e97caa2c9c63ebbafc5f5d0322acae";
+  sha512.run = "430c95b7e104cb837b7424ebb17ab7ee1aefd99d70aaceefff8a1924fa949329aebe0d5a28b939fabf28d3c5dfc2dcb466147e1396514d5dcf4f64af231db8a7";
 };
 "collection-formatsextra" = {
   revision = 54074;
@@ -6678,7 +6821,7 @@ tl: { # no indentation
   sha512.run = "7700a6cc293a1d45208794db34a276d5de5c975fe91cb00e5b1896515f288b05437344f00997501a54ad2af515bccc983930a75ddda55c6951edc625cd6bda35";
 };
 "collection-games" = {
-  revision = 56623;
+  revision = 60276;
   stripPrefix = 0;
   deps."bartel-chess-fonts" = tl."bartel-chess-fonts";
   deps."chess" = tl."chess";
@@ -6690,6 +6833,7 @@ tl: { # no indentation
   deps."crosswrd" = tl."crosswrd";
   deps."egameps" = tl."egameps";
   deps."gamebook" = tl."gamebook";
+  deps."gamebooklib" = tl."gamebooklib";
   deps."go" = tl."go";
   deps."hanoi" = tl."hanoi";
   deps."havannah" = tl."havannah";
@@ -6699,6 +6843,7 @@ tl: { # no indentation
   deps."jigsaw" = tl."jigsaw";
   deps."labyrinth" = tl."labyrinth";
   deps."logicpuzzle" = tl."logicpuzzle";
+  deps."mahjong" = tl."mahjong";
   deps."musikui" = tl."musikui";
   deps."nimsticks" = tl."nimsticks";
   deps."onedown" = tl."onedown";
@@ -6718,7 +6863,7 @@ tl: { # no indentation
   deps."sudokubundle" = tl."sudokubundle";
   deps."xq" = tl."xq";
   deps."xskak" = tl."xskak";
-  sha512.run = "654787f158be7c9d7b019fb7091b8c9f7d4319262fc21f5e324c52e7484b4bcec3a6f211a60a2b13abfe964e09f7eb69b94ab8ef8a3a598fd50dcb587e3ca813";
+  sha512.run = "18d6ed96d053855a6aaad235f953a77bff3717aefdbdaef7782aa9144255ce26be628accf440b2b4c5d2887b74abeebd47923c494bb8a844e1a3adf0312a0cdd";
 };
 "collection-humanities" = {
   revision = 56575;
@@ -6779,13 +6924,14 @@ tl: { # no indentation
   sha512.run = "8239a85051576d691f7a367b2858dbc191e0545d88e0f193107cf68ccc527c7f4980a6a18cd14bf7735277ea2552955d7be50520290a96a24ff3bc856a13742e";
 };
 "collection-langarabic" = {
-  revision = 56215;
+  revision = 59594;
   stripPrefix = 0;
   deps."alkalami" = tl."alkalami";
   deps."alpha-persian" = tl."alpha-persian";
   deps."amiri" = tl."amiri";
   deps."arabi" = tl."arabi";
   deps."arabi-add" = tl."arabi-add";
+  deps."arabic-book" = tl."arabic-book";
   deps."arabluatex" = tl."arabluatex";
   deps."arabtex" = tl."arabtex";
   deps."bidi" = tl."bidi";
@@ -6809,10 +6955,11 @@ tl: { # no indentation
   deps."tram" = tl."tram";
   deps."xepersian" = tl."xepersian";
   deps."xepersian-hm" = tl."xepersian-hm";
-  sha512.run = "3c9a530b444eb34dd9c5a1a0b49e662edda54868820633e281c0501146a59b0d0671a61ac6407049913640320d28d4c6e2afbf6907b152176de55d865da5fafb";
+  deps."xindy-persian" = tl."xindy-persian";
+  sha512.run = "3fdcf41fafd94373254281f3f7ee9f2a2e136cfa1adc1dd38e4b5cd6f90d0364e6a20d3284fcf255f245158352421e28cfb794c673b8b96399a20343ed991fc2";
 };
 "collection-langchinese" = {
-  revision = 56196;
+  revision = 60575;
   stripPrefix = 0;
   deps."arphic" = tl."arphic";
   deps."arphic-ttf" = tl."arphic-ttf";
@@ -6825,6 +6972,7 @@ tl: { # no indentation
   deps."ctex-faq" = tl."ctex-faq";
   deps."fandol" = tl."fandol";
   deps."fduthesis" = tl."fduthesis";
+  deps."hanzibox" = tl."hanzibox";
   deps."hyphen-chinese" = tl."hyphen-chinese";
   deps."impatient-cn" = tl."impatient-cn";
   deps."install-latex-guide-zh-cn" = tl."install-latex-guide-zh-cn";
@@ -6836,6 +6984,7 @@ tl: { # no indentation
   deps."qyxf-book" = tl."qyxf-book";
   deps."texlive-zh-cn" = tl."texlive-zh-cn";
   deps."texproposal" = tl."texproposal";
+  deps."tlmgr-intro-zh-cn" = tl."tlmgr-intro-zh-cn";
   deps."upzhkinsoku" = tl."upzhkinsoku";
   deps."xpinyin" = tl."xpinyin";
   deps."xtuthesis" = tl."xtuthesis";
@@ -6845,10 +6994,10 @@ tl: { # no indentation
   deps."zhmetrics-uptex" = tl."zhmetrics-uptex";
   deps."zhnumber" = tl."zhnumber";
   deps."zhspacing" = tl."zhspacing";
-  sha512.run = "a3d86f05a7ed20b18321709e4fde225977c37f409aa701467c9c0a13008957755befc873bd1aacf2db7dd8eea1e43e0c610864ddc1acfc5a0eff8e51444aa4fb";
+  sha512.run = "37c2d9098d0436881a60f5b23506cd973902b6cfd61e21d2d60841b41a939290fe4b03c660ceb0b9698b5be9bb0603e819800a6b1cc80afa2ac63f21e8996dc6";
 };
 "collection-langcjk" = {
-  revision = 54191;
+  revision = 60595;
   stripPrefix = 0;
   deps."adobemapping" = tl."adobemapping";
   deps."c90" = tl."c90";
@@ -6864,8 +7013,9 @@ tl: { # no indentation
   deps."norasi-c90" = tl."norasi-c90";
   deps."pxtatescale" = tl."pxtatescale";
   deps."xcjk2uni" = tl."xcjk2uni";
+  deps."zitie" = tl."zitie";
   deps."zxjafont" = tl."zxjafont";
-  sha512.run = "d6186e42081f4a1c2e15cf196de053108e7f8e046bab631e122b3d44ad8217bf83aeaf915c4fda7ebcb1d4be2a8f6dd1fa7027ed8624d31f16257ab8357d4a0b";
+  sha512.run = "c8ac36a28cf38e9cab5069a396777821a07ad58bb9b00eeebd8520971933ae57a53ddac267805196687993ac0403f68d1236ffe6de9321c2c0a3c659a1659ffa";
 };
 "collection-langcyrillic" = {
   revision = 54074;
@@ -6941,10 +7091,8 @@ tl: { # no indentation
   sha512.run = "719c321173ca12660891080dae509080934f72d13a9417b2c40a22add963c7c5a1ee95d3b306f0d6c26b0db97d69979c27fbb15d1690849aa03b06d4b0193a67";
 };
 "collection-langenglish" = {
-  revision = 58290;
+  revision = 60687;
   stripPrefix = 0;
-  deps."MemoirChapStyles" = tl."MemoirChapStyles";
-  deps."Type1fonts" = tl."Type1fonts";
   deps."amiweb2c-guide" = tl."amiweb2c-guide";
   deps."amscls-doc" = tl."amscls-doc";
   deps."amslatex-primer" = tl."amslatex-primer";
@@ -6958,6 +7106,7 @@ tl: { # no indentation
   deps."docsurvey" = tl."docsurvey";
   deps."dtxtut" = tl."dtxtut";
   deps."first-latex-doc" = tl."first-latex-doc";
+  deps."fontinstallationguide" = tl."fontinstallationguide";
   deps."forest-quickstart" = tl."forest-quickstart";
   deps."gentle" = tl."gentle";
   deps."guide-to-latex" = tl."guide-to-latex";
@@ -6985,6 +7134,7 @@ tl: { # no indentation
   deps."math-into-latex-4" = tl."math-into-latex-4";
   deps."maths-symbols" = tl."maths-symbols";
   deps."memdesign" = tl."memdesign";
+  deps."memoirchapterstyles" = tl."memoirchapterstyles";
   deps."metafont-beginners" = tl."metafont-beginners";
   deps."metapost-examples" = tl."metapost-examples";
   deps."patgen2-tutorial" = tl."patgen2-tutorial";
@@ -7000,6 +7150,7 @@ tl: { # no indentation
   deps."tex-nutshell" = tl."tex-nutshell";
   deps."tex-overview" = tl."tex-overview";
   deps."tex-refs" = tl."tex-refs";
+  deps."tex-vpat" = tl."tex-vpat";
   deps."texbytopic" = tl."texbytopic";
   deps."texonly" = tl."texonly";
   deps."titlepages" = tl."titlepages";
@@ -7009,7 +7160,7 @@ tl: { # no indentation
   deps."visualfaq" = tl."visualfaq";
   deps."webguide" = tl."webguide";
   deps."xetexref" = tl."xetexref";
-  sha512.run = "6d8bd7a5722a0720003c831c38ddc66c4af4fdc465c676050d71fb2bfec9c66791044b8d7c62399953ec4017c1935062ccbffd4c66028df79c9dd59fe42073b3";
+  sha512.run = "b5d9f13c65fb79f647204e5dadb7cbf9c72cfa8408a92fec25423400ec238e823a851b7a83f24c2482cfcd58e81ff92c9bd6f352c2a09b65181c6e85135fe52a";
 };
 "collection-langeuropean" = {
   revision = 58626;
@@ -7084,7 +7235,7 @@ tl: { # no indentation
   sha512.run = "a1fe7a0531b3a0581591988c62cba7c3032bab5ed8291edbff2c8573adae0ce96ea9087c7f4b018ad0ae341070a826501fb6a92d768ae939a632bae41c0d84f4";
 };
 "collection-langfrench" = {
-  revision = 57491;
+  revision = 60273;
   stripPrefix = 0;
   deps."aeguill" = tl."aeguill";
   deps."annee-scolaire" = tl."annee-scolaire";
@@ -7125,8 +7276,9 @@ tl: { # no indentation
   deps."translation-natbib-fr" = tl."translation-natbib-fr";
   deps."translation-tabbing-fr" = tl."translation-tabbing-fr";
   deps."variations" = tl."variations";
+  deps."visualfaq-fr" = tl."visualfaq-fr";
   deps."visualtikz" = tl."visualtikz";
-  sha512.run = "da9bc3d0e81b2848a4517aecefd8dbdf98b04f46b3a9631c3d7f07256a9454db59e9f80379fbb07827b3c178f671b21b087a0e2fd780e1e10611cbc8ddfbad3c";
+  sha512.run = "1c2f420219068bafd0ef9050514b070e932de1e818666409f87985b92fbaee75e54e84b117c28982fbd0fc9791267d8e7d494386393935944722975d6f652642";
 };
 "collection-langgerman" = {
   revision = 55706;
@@ -7313,7 +7465,7 @@ tl: { # no indentation
   sha512.run = "2d93df728d34137c8f9a884aa2871a2980e806672006f2c5f0c5f79412d5789c6f94958363cfc9a78b5a97a7d76bbb6cb157b2cb2a8a283f7afdfd838fa24883";
 };
 "collection-langother" = {
-  revision = 57757;
+  revision = 59564;
   stripPrefix = 0;
   deps."aalok" = tl."aalok";
   deps."akshar" = tl."akshar";
@@ -7329,6 +7481,7 @@ tl: { # no indentation
   deps."babel-sorbian" = tl."babel-sorbian";
   deps."babel-thai" = tl."babel-thai";
   deps."babel-vietnamese" = tl."babel-vietnamese";
+  deps."bangla" = tl."bangla";
   deps."bangtex" = tl."bangtex";
   deps."bengali" = tl."bengali";
   deps."burmese" = tl."burmese";
@@ -7374,7 +7527,7 @@ tl: { # no indentation
   deps."wnri" = tl."wnri";
   deps."wnri-latex" = tl."wnri-latex";
   deps."xetex-devanagari" = tl."xetex-devanagari";
-  sha512.run = "0594347c16da942376cecee568ca57700245e744b84eeec39b5381025743de24f4954005fe5778dca3f0c44a5e2cd918eaf5f38db1c8771e5850a395e3040f7c";
+  sha512.run = "3db7709c3545df3713dc0a7df73f676f9f34df5fdc157c6a2d6a124a5bbd14f6f5f1f2938092e76be19417f9dd5ff4f84513c84beddafbe5c9747abd7fa597c0";
 };
 "collection-langpolish" = {
   revision = 54074;
@@ -7498,13 +7651,9 @@ tl: { # no indentation
   sha512.run = "0568a3251d71fb3106fbb3961427200419ae1df22d39b5e72c608e2d94fc35a0e5c77fbe41bbb6fa33610321f2620624264d99675e2f88e72f9d156693143a7e";
 };
 "collection-latexextra" = {
-  revision = 58777;
+  revision = 61415;
   stripPrefix = 0;
   deps."2up" = tl."2up";
-  deps."ESIEEcv" = tl."ESIEEcv";
-  deps."GS1" = tl."GS1";
-  deps."HA-prosper" = tl."HA-prosper";
-  deps."Tabbing" = tl."Tabbing";
   deps."a0poster" = tl."a0poster";
   deps."a4wide" = tl."a4wide";
   deps."a5comb" = tl."a5comb";
@@ -7529,6 +7678,7 @@ tl: { # no indentation
   deps."alertmessage" = tl."alertmessage";
   deps."alnumsec" = tl."alnumsec";
   deps."alphalph" = tl."alphalph";
+  deps."alterqcm" = tl."alterqcm";
   deps."altfont" = tl."altfont";
   deps."amsaddr" = tl."amsaddr";
   deps."animate" = tl."animate";
@@ -7558,6 +7708,7 @@ tl: { # no indentation
   deps."autofancyhdr" = tl."autofancyhdr";
   deps."autonum" = tl."autonum";
   deps."autopdf" = tl."autopdf";
+  deps."autopuncitems" = tl."autopuncitems";
   deps."avremu" = tl."avremu";
   deps."axessibility" = tl."axessibility";
   deps."background" = tl."background";
@@ -7584,6 +7735,8 @@ tl: { # no indentation
   deps."beamertheme-phnompenh" = tl."beamertheme-phnompenh";
   deps."beamertheme-pure-minimalistic" = tl."beamertheme-pure-minimalistic";
   deps."beamertheme-saintpetersburg" = tl."beamertheme-saintpetersburg";
+  deps."beamertheme-simpledarkblue" = tl."beamertheme-simpledarkblue";
+  deps."beamertheme-trigon" = tl."beamertheme-trigon";
   deps."beamertheme-upenn-bc" = tl."beamertheme-upenn-bc";
   deps."beamerthemejltree" = tl."beamerthemejltree";
   deps."beamerthemelalic" = tl."beamerthemelalic";
@@ -7598,6 +7751,7 @@ tl: { # no indentation
   deps."bibletext" = tl."bibletext";
   deps."bigfoot" = tl."bigfoot";
   deps."bigints" = tl."bigints";
+  deps."bilingualpages" = tl."bilingualpages";
   deps."biochemistry-colors" = tl."biochemistry-colors";
   deps."bithesis" = tl."bithesis";
   deps."bizcard" = tl."bizcard";
@@ -7652,6 +7806,7 @@ tl: { # no indentation
   deps."cclicenses" = tl."cclicenses";
   deps."cd" = tl."cd";
   deps."cd-cover" = tl."cd-cover";
+  deps."cdcmd" = tl."cdcmd";
   deps."cdpbundl" = tl."cdpbundl";
   deps."cellprops" = tl."cellprops";
   deps."cellspace" = tl."cellspace";
@@ -7680,6 +7835,7 @@ tl: { # no indentation
   deps."classpack" = tl."classpack";
   deps."clefval" = tl."clefval";
   deps."cleveref" = tl."cleveref";
+  deps."clicks" = tl."clicks";
   deps."clipboard" = tl."clipboard";
   deps."clock" = tl."clock";
   deps."clrdblpg" = tl."clrdblpg";
@@ -7690,7 +7846,9 @@ tl: { # no indentation
   deps."cnltx" = tl."cnltx";
   deps."cntformats" = tl."cntformats";
   deps."cntperchap" = tl."cntperchap";
+  deps."codebox" = tl."codebox";
   deps."codedoc" = tl."codedoc";
+  deps."codehigh" = tl."codehigh";
   deps."codepage" = tl."codepage";
   deps."codesection" = tl."codesection";
   deps."collcell" = tl."collcell";
@@ -7740,8 +7898,10 @@ tl: { # no indentation
   deps."coverpage" = tl."coverpage";
   deps."cprotect" = tl."cprotect";
   deps."crbox" = tl."crbox";
+  deps."crefthe" = tl."crefthe";
   deps."crossreference" = tl."crossreference";
   deps."crossreftools" = tl."crossreftools";
+  deps."crumbs" = tl."crumbs";
   deps."csquotes" = tl."csquotes";
   deps."css-colors" = tl."css-colors";
   deps."csvmerge" = tl."csvmerge";
@@ -7764,6 +7924,7 @@ tl: { # no indentation
   deps."datax" = tl."datax";
   deps."dateiliste" = tl."dateiliste";
   deps."datenumber" = tl."datenumber";
+  deps."datestamp" = tl."datestamp";
   deps."datetime" = tl."datetime";
   deps."datetime2" = tl."datetime2";
   deps."datetime2-bahasai" = tl."datetime2-bahasai";
@@ -7809,6 +7970,7 @@ tl: { # no indentation
   deps."datetime2-usorbian" = tl."datetime2-usorbian";
   deps."datetime2-welsh" = tl."datetime2-welsh";
   deps."dblfloatfix" = tl."dblfloatfix";
+  deps."debate" = tl."debate";
   deps."decimal" = tl."decimal";
   deps."decorule" = tl."decorule";
   deps."delimtxt" = tl."delimtxt";
@@ -7911,11 +8073,13 @@ tl: { # no indentation
   deps."erw-l3" = tl."erw-l3";
   deps."esami" = tl."esami";
   deps."esdiff" = tl."esdiff";
+  deps."esieecv" = tl."esieecv";
   deps."esindex" = tl."esindex";
   deps."esint" = tl."esint";
   deps."esint-type1" = tl."esint-type1";
   deps."etaremune" = tl."etaremune";
   deps."etextools" = tl."etextools";
+  deps."etl" = tl."etl";
   deps."etoc" = tl."etoc";
   deps."eukdate" = tl."eukdate";
   deps."eulerpx" = tl."eulerpx";
@@ -7956,9 +8120,9 @@ tl: { # no indentation
   deps."fcolumn" = tl."fcolumn";
   deps."fetchcls" = tl."fetchcls";
   deps."fewerfloatpages" = tl."fewerfloatpages";
+  deps."ffcode" = tl."ffcode";
   deps."ffslides" = tl."ffslides";
   deps."fgruler" = tl."fgruler";
-  deps."fibeamer" = tl."fibeamer";
   deps."fifo-stack" = tl."fifo-stack";
   deps."figsize" = tl."figsize";
   deps."filecontents" = tl."filecontents";
@@ -7994,6 +8158,7 @@ tl: { # no indentation
   deps."fnpct" = tl."fnpct";
   deps."fnumprint" = tl."fnumprint";
   deps."foilhtml" = tl."foilhtml";
+  deps."foliono" = tl."foliono";
   deps."fontaxes" = tl."fontaxes";
   deps."fontsetup" = tl."fontsetup";
   deps."fontsize" = tl."fontsize";
@@ -8068,6 +8233,7 @@ tl: { # no indentation
   deps."gmverb" = tl."gmverb";
   deps."grabbox" = tl."grabbox";
   deps."graphbox" = tl."graphbox";
+  deps."graphicscache" = tl."graphicscache";
   deps."graphicx-psmin" = tl."graphicx-psmin";
   deps."graphicxbox" = tl."graphicxbox";
   deps."graphpaper" = tl."graphpaper";
@@ -8078,11 +8244,14 @@ tl: { # no indentation
   deps."gridpapers" = tl."gridpapers";
   deps."gridset" = tl."gridset";
   deps."gridslides" = tl."gridslides";
+  deps."gs1" = tl."gs1";
   deps."guitlogo" = tl."guitlogo";
+  deps."ha-prosper" = tl."ha-prosper";
   deps."hackthefootline" = tl."hackthefootline";
   deps."halloweenmath" = tl."halloweenmath";
   deps."handin" = tl."handin";
   deps."handout" = tl."handout";
+  deps."handoutwithnotes" = tl."handoutwithnotes";
   deps."hang" = tl."hang";
   deps."hanging" = tl."hanging";
   deps."hardwrap" = tl."hardwrap";
@@ -8090,6 +8259,11 @@ tl: { # no indentation
   deps."harpoon" = tl."harpoon";
   deps."hc" = tl."hc";
   deps."he-she" = tl."he-she";
+  deps."hep-acronym" = tl."hep-acronym";
+  deps."hep-float" = tl."hep-float";
+  deps."hep-math" = tl."hep-math";
+  deps."hep-text" = tl."hep-text";
+  deps."hep-title" = tl."hep-title";
   deps."hhtensor" = tl."hhtensor";
   deps."highlightlatex" = tl."highlightlatex";
   deps."histogr" = tl."histogr";
@@ -8098,10 +8272,14 @@ tl: { # no indentation
   deps."hletter" = tl."hletter";
   deps."hobsub" = tl."hobsub";
   deps."hpsdiss" = tl."hpsdiss";
+  deps."href-ul" = tl."href-ul";
   deps."hrefhide" = tl."hrefhide";
+  deps."huawei" = tl."huawei";
   deps."hvindex" = tl."hvindex";
+  deps."hvlogos" = tl."hvlogos";
   deps."hvqrurl" = tl."hvqrurl";
   deps."hypdestopt" = tl."hypdestopt";
+  deps."hypdoc" = tl."hypdoc";
   deps."hypdvips" = tl."hypdvips";
   deps."hyper" = tl."hyper";
   deps."hyperbar" = tl."hyperbar";
@@ -8111,6 +8289,8 @@ tl: { # no indentation
   deps."identkey" = tl."identkey";
   deps."idxcmds" = tl."idxcmds";
   deps."idxlayout" = tl."idxlayout";
+  deps."iexec" = tl."iexec";
+  deps."ifallfalse" = tl."ifallfalse";
   deps."iffont" = tl."iffont";
   deps."ifmslide" = tl."ifmslide";
   deps."ifmtarg" = tl."ifmtarg";
@@ -8154,6 +8334,7 @@ tl: { # no indentation
   deps."keycommand" = tl."keycommand";
   deps."keyfloat" = tl."keyfloat";
   deps."keyindex" = tl."keyindex";
+  deps."keyparse" = tl."keyparse";
   deps."keyreader" = tl."keyreader";
   deps."keystroke" = tl."keystroke";
   deps."keyval2e" = tl."keyval2e";
@@ -8170,6 +8351,7 @@ tl: { # no indentation
   deps."labels" = tl."labels";
   deps."labels4easylist" = tl."labels4easylist";
   deps."labelschanged" = tl."labelschanged";
+  deps."lambdax" = tl."lambdax";
   deps."lastpackage" = tl."lastpackage";
   deps."lastpage" = tl."lastpage";
   deps."latex-amsmath-dev" = tl."latex-amsmath-dev";
@@ -8235,6 +8417,7 @@ tl: { # no indentation
   deps."lua-check-hyphen" = tl."lua-check-hyphen";
   deps."lua-physical" = tl."lua-physical";
   deps."luatodonotes" = tl."luatodonotes";
+  deps."macrolist" = tl."macrolist";
   deps."macroswap" = tl."macroswap";
   deps."magaz" = tl."magaz";
   deps."magicnum" = tl."magicnum";
@@ -8249,6 +8432,7 @@ tl: { # no indentation
   deps."makecookbook" = tl."makecookbook";
   deps."makedtx" = tl."makedtx";
   deps."makeglos" = tl."makeglos";
+  deps."makelabels" = tl."makelabels";
   deps."makerobust" = tl."makerobust";
   deps."mandi" = tl."mandi";
   deps."manfnt" = tl."manfnt";
@@ -8361,6 +8545,7 @@ tl: { # no indentation
   deps."niceframe" = tl."niceframe";
   deps."nicetext" = tl."nicetext";
   deps."nidanfloat" = tl."nidanfloat";
+  deps."ninecolors" = tl."ninecolors";
   deps."nlctdoc" = tl."nlctdoc";
   deps."noconflict" = tl."noconflict";
   deps."noindentafter" = tl."noindentafter";
@@ -8408,6 +8593,7 @@ tl: { # no indentation
   deps."pagenote" = tl."pagenote";
   deps."pagerange" = tl."pagerange";
   deps."pageslts" = tl."pageslts";
+  deps."palette" = tl."palette";
   deps."paper" = tl."paper";
   deps."papercdcase" = tl."papercdcase";
   deps."papermas" = tl."papermas";
@@ -8450,6 +8636,9 @@ tl: { # no indentation
   deps."perltex" = tl."perltex";
   deps."permute" = tl."permute";
   deps."petiteannonce" = tl."petiteannonce";
+  deps."pgfmath-xfp" = tl."pgfmath-xfp";
+  deps."phfcc" = tl."phfcc";
+  deps."phfextendedabstract" = tl."phfextendedabstract";
   deps."phffullpagefigure" = tl."phffullpagefigure";
   deps."phfnote" = tl."phfnote";
   deps."phfparen" = tl."phfparen";
@@ -8486,6 +8675,7 @@ tl: { # no indentation
   deps."program" = tl."program";
   deps."progress" = tl."progress";
   deps."progressbar" = tl."progressbar";
+  deps."projlib" = tl."projlib";
   deps."proofread" = tl."proofread";
   deps."properties" = tl."properties";
   deps."prosper" = tl."prosper";
@@ -8562,6 +8752,7 @@ tl: { # no indentation
   deps."schedule" = tl."schedule";
   deps."schooldocs" = tl."schooldocs";
   deps."scontents" = tl."scontents";
+  deps."scrambledenvs" = tl."scrambledenvs";
   deps."scrlayer-fancyhdr" = tl."scrlayer-fancyhdr";
   deps."scrlttr2copy" = tl."scrlttr2copy";
   deps."sdaps" = tl."sdaps";
@@ -8617,9 +8808,11 @@ tl: { # no indentation
   deps."skrapport" = tl."skrapport";
   deps."slantsc" = tl."slantsc";
   deps."smalltableof" = tl."smalltableof";
+  deps."smart-eqn" = tl."smart-eqn";
   deps."smartref" = tl."smartref";
   deps."smartunits" = tl."smartunits";
   deps."snapshot" = tl."snapshot";
+  deps."snaptodo" = tl."snaptodo";
   deps."snotez" = tl."snotez";
   deps."soulpos" = tl."soulpos";
   deps."soulutf8" = tl."soulutf8";
@@ -8649,6 +8842,7 @@ tl: { # no indentation
   deps."sttools" = tl."sttools";
   deps."stubs" = tl."stubs";
   deps."studenthandouts" = tl."studenthandouts";
+  deps."styledcmd" = tl."styledcmd";
   deps."subdepth" = tl."subdepth";
   deps."subdocs" = tl."subdocs";
   deps."subeqn" = tl."subeqn";
@@ -8671,6 +8865,7 @@ tl: { # no indentation
   deps."syntax" = tl."syntax";
   deps."syntrace" = tl."syntrace";
   deps."synttree" = tl."synttree";
+  deps."tabbing" = tl."tabbing";
   deps."tabfigures" = tl."tabfigures";
   deps."tableaux" = tl."tableaux";
   deps."tablefootnote" = tl."tablefootnote";
@@ -8685,6 +8880,7 @@ tl: { # no indentation
   deps."tabularborder" = tl."tabularborder";
   deps."tabularcalc" = tl."tabularcalc";
   deps."tabularew" = tl."tabularew";
+  deps."tabularray" = tl."tabularray";
   deps."tabulary" = tl."tabulary";
   deps."tagging" = tl."tagging";
   deps."tagpair" = tl."tagpair";
@@ -8700,6 +8896,7 @@ tl: { # no indentation
   deps."templatetools" = tl."templatetools";
   deps."termcal" = tl."termcal";
   deps."termlist" = tl."termlist";
+  deps."termsim" = tl."termsim";
   deps."testhyphens" = tl."testhyphens";
   deps."testidx" = tl."testidx";
   deps."tex-label" = tl."tex-label";
@@ -8709,6 +8906,7 @@ tl: { # no indentation
   deps."texments" = tl."texments";
   deps."texpower" = tl."texpower";
   deps."texshade" = tl."texshade";
+  deps."texsurgery" = tl."texsurgery";
   deps."textfit" = tl."textfit";
   deps."textmerg" = tl."textmerg";
   deps."textpos" = tl."textpos";
@@ -8724,12 +8922,14 @@ tl: { # no indentation
   deps."thumbs" = tl."thumbs";
   deps."thumby" = tl."thumby";
   deps."ticket" = tl."ticket";
+  deps."tipauni" = tl."tipauni";
   deps."titlecaps" = tl."titlecaps";
   deps."titlefoot" = tl."titlefoot";
   deps."titlepic" = tl."titlepic";
   deps."titleref" = tl."titleref";
   deps."titlesec" = tl."titlesec";
   deps."titling" = tl."titling";
+  deps."to-be-determined" = tl."to-be-determined";
   deps."tocbibind" = tl."tocbibind";
   deps."tocdata" = tl."tocdata";
   deps."tocloft" = tl."tocloft";
@@ -8768,8 +8968,9 @@ tl: { # no indentation
   deps."underlin" = tl."underlin";
   deps."underoverlap" = tl."underoverlap";
   deps."undolabl" = tl."undolabl";
+  deps."uni-titlepage" = tl."uni-titlepage";
+  deps."unicodefonttable" = tl."unicodefonttable";
   deps."unitconv" = tl."unitconv";
-  deps."unitipa" = tl."unitipa";
   deps."units" = tl."units";
   deps."unravel" = tl."unravel";
   deps."upmethodology" = tl."upmethodology";
@@ -8861,9 +9062,11 @@ tl: { # no indentation
   deps."zed-csp" = tl."zed-csp";
   deps."ziffer" = tl."ziffer";
   deps."zref" = tl."zref";
+  deps."zref-check" = tl."zref-check";
+  deps."zref-clever" = tl."zref-clever";
   deps."zwgetfdate" = tl."zwgetfdate";
   deps."zwpagelayout" = tl."zwpagelayout";
-  sha512.run = "b4cfddef7a005b82ebc5892a23fe214155794814301008fa66215acfe8d93c484a6d75765a19614a7a6ab193aae70b032eddbf8cee5cd2073ba32868aae6e1eb";
+  sha512.run = "87e0f99ccb8a1c83daca15bc5922588dee935eecd6e30a8d4841113a6077a621fa71a73937022ef6d5d1c9bde8f8915bd00d678c7c8402a95cd388b1abd774a2";
 };
 "collection-latexrecommended" = {
   revision = 57862;
@@ -8943,7 +9146,7 @@ tl: { # no indentation
   sha512.run = "f763ff9a6832abce7a148bc5e8b9e5860f883ce0a56ad2119d9e18e7fb4dad794456fdc07b3ea107dca17d4174910ebf1613f1072b946a80f29d291ae513d097";
 };
 "collection-luatex" = {
-  revision = 58124;
+  revision = 60764;
   stripPrefix = 0;
   deps."addliga" = tl."addliga";
   deps."auto-pst-pdf-lua" = tl."auto-pst-pdf-lua";
@@ -8969,6 +9172,7 @@ tl: { # no indentation
   deps."lua-ul" = tl."lua-ul";
   deps."lua-uni-algos" = tl."lua-uni-algos";
   deps."lua-visual-debug" = tl."lua-visual-debug";
+  deps."lua-widow-control" = tl."lua-widow-control";
   deps."luacode" = tl."luacode";
   deps."luacolor" = tl."luacolor";
   deps."luahyphenrules" = tl."luahyphenrules";
@@ -8992,26 +9196,35 @@ tl: { # no indentation
   deps."luatextra" = tl."luatextra";
   deps."luavlna" = tl."luavlna";
   deps."luaxml" = tl."luaxml";
+  deps."lutabulartools" = tl."lutabulartools";
+  deps."minim" = tl."minim";
+  deps."minim-math" = tl."minim-math";
+  deps."minim-mp" = tl."minim-mp";
+  deps."minim-pdf" = tl."minim-pdf";
+  deps."minim-xmp" = tl."minim-xmp";
   deps."newpax" = tl."newpax";
   deps."nodetree" = tl."nodetree";
   deps."odsfile" = tl."odsfile";
   deps."optex" = tl."optex";
   deps."pdfarticle" = tl."pdfarticle";
+  deps."pdfextra" = tl."pdfextra";
+  deps."penlight" = tl."penlight";
   deps."placeat" = tl."placeat";
   deps."plantuml" = tl."plantuml";
+  deps."pyluatex" = tl."pyluatex";
   deps."selnolig" = tl."selnolig";
   deps."spelling" = tl."spelling";
   deps."stricttex" = tl."stricttex";
+  deps."truthtable" = tl."truthtable";
   deps."typewriter" = tl."typewriter";
   deps."uninormalize" = tl."uninormalize";
-  sha512.run = "9534a3381a1dcbe324bb6a7f01645c92a2e922dbfe5787692ae8b10d1668be87120419e4cac48f68db9fe0d1f1c3dd396792ddf221253cc290b86564b87d322d";
+  deps."yamlvars" = tl."yamlvars";
+  sha512.run = "525f00fc9e24e6b20fd7933061f3456a15cbca6e2df6ea9666dd62edd8d006c247f05492236de64bae5bf9517e73997af6f884a5f03d63e28bec631fb94d2803";
 };
 "collection-mathscience" = {
-  revision = 57759;
+  revision = 61288;
   stripPrefix = 0;
   deps."12many" = tl."12many";
-  deps."SIstyle" = tl."SIstyle";
-  deps."SIunits" = tl."SIunits";
   deps."accents" = tl."accents";
   deps."alg" = tl."alg";
   deps."algobox" = tl."algobox";
@@ -9031,6 +9244,7 @@ tl: { # no indentation
   deps."binomexp" = tl."binomexp";
   deps."biocon" = tl."biocon";
   deps."bitpattern" = tl."bitpattern";
+  deps."bodeplot" = tl."bodeplot";
   deps."bohr" = tl."bohr";
   deps."boldtensors" = tl."boldtensors";
   deps."bosisio" = tl."bosisio";
@@ -9040,6 +9254,7 @@ tl: { # no indentation
   deps."bussproofs-extra" = tl."bussproofs-extra";
   deps."bytefield" = tl."bytefield";
   deps."calculation" = tl."calculation";
+  deps."cartonaugh" = tl."cartonaugh";
   deps."cascade" = tl."cascade";
   deps."causets" = tl."causets";
   deps."ccfonts" = tl."ccfonts";
@@ -9081,6 +9296,7 @@ tl: { # no indentation
   deps."drawmatrix" = tl."drawmatrix";
   deps."drawstack" = tl."drawstack";
   deps."dyntree" = tl."dyntree";
+  deps."easing" = tl."easing";
   deps."ebproof" = tl."ebproof";
   deps."econometrics" = tl."econometrics";
   deps."eltex" = tl."eltex";
@@ -9096,6 +9312,7 @@ tl: { # no indentation
   deps."faktor" = tl."faktor";
   deps."fascicules" = tl."fascicules";
   deps."fnspe" = tl."fnspe";
+  deps."formal-grammar" = tl."formal-grammar";
   deps."fouridx" = tl."fouridx";
   deps."functan" = tl."functan";
   deps."galois" = tl."galois";
@@ -9124,6 +9341,7 @@ tl: { # no indentation
   deps."kvmap" = tl."kvmap";
   deps."letterswitharrows" = tl."letterswitharrows";
   deps."lie-hasse" = tl."lie-hasse";
+  deps."linenoamsmath" = tl."linenoamsmath";
   deps."logicproof" = tl."logicproof";
   deps."longdivision" = tl."longdivision";
   deps."lpform" = tl."lpform";
@@ -9138,6 +9356,7 @@ tl: { # no indentation
   deps."matlab-prettifier" = tl."matlab-prettifier";
   deps."matrix-skeleton" = tl."matrix-skeleton";
   deps."mattens" = tl."mattens";
+  deps."mecaso" = tl."mecaso";
   deps."membranecomputing" = tl."membranecomputing";
   deps."memorygraphs" = tl."memorygraphs";
   deps."mgltex" = tl."mgltex";
@@ -9148,15 +9367,19 @@ tl: { # no indentation
   deps."multiobjective" = tl."multiobjective";
   deps."natded" = tl."natded";
   deps."nath" = tl."nath";
+  deps."nchairx" = tl."nchairx";
   deps."nicematrix" = tl."nicematrix";
   deps."nuc" = tl."nuc";
   deps."nucleardata" = tl."nucleardata";
   deps."numerica" = tl."numerica";
+  deps."numerica-plus" = tl."numerica-plus";
+  deps."numerica-tables" = tl."numerica-tables";
   deps."objectz" = tl."objectz";
   deps."oplotsymbl" = tl."oplotsymbl";
   deps."ot-tableau" = tl."ot-tableau";
   deps."oubraces" = tl."oubraces";
   deps."perfectcut" = tl."perfectcut";
+  deps."pfdicons" = tl."pfdicons";
   deps."physconst" = tl."physconst";
   deps."physics" = tl."physics";
   deps."physunits" = tl."physunits";
@@ -9173,6 +9396,7 @@ tl: { # no indentation
   deps."pythonhighlight" = tl."pythonhighlight";
   deps."qsharp" = tl."qsharp";
   deps."rank-2-roots" = tl."rank-2-roots";
+  deps."rbt-mathnotes" = tl."rbt-mathnotes";
   deps."rec-thy" = tl."rec-thy";
   deps."rest-api" = tl."rest-api";
   deps."revquantum" = tl."revquantum";
@@ -9189,9 +9413,12 @@ tl: { # no indentation
   deps."simplebnf" = tl."simplebnf";
   deps."simpler-wick" = tl."simpler-wick";
   deps."simplewick" = tl."simplewick";
+  deps."sistyle" = tl."sistyle";
+  deps."siunits" = tl."siunits";
   deps."siunitx" = tl."siunitx";
   deps."skmath" = tl."skmath";
   deps."spalign" = tl."spalign";
+  deps."spbmark" = tl."spbmark";
   deps."stanli" = tl."stanli";
   deps."statex" = tl."statex";
   deps."statex2" = tl."statex2";
@@ -9217,6 +9444,7 @@ tl: { # no indentation
   deps."textgreek" = tl."textgreek";
   deps."textopo" = tl."textopo";
   deps."thmbox" = tl."thmbox";
+  deps."tiscreen" = tl."tiscreen";
   deps."turnstile" = tl."turnstile";
   deps."ulqda" = tl."ulqda";
   deps."unitsdef" = tl."unitsdef";
@@ -9227,10 +9455,11 @@ tl: { # no indentation
   deps."youngtab" = tl."youngtab";
   deps."yquant" = tl."yquant";
   deps."ytableau" = tl."ytableau";
-  sha512.run = "6d82088780ac299028a33232fe067408c2140cb8d17a8d40a2d3d510bb5d29b41f1c11299de31c061701aaa723d85a71b1f26f7bb45b7a4b500168bbd50c91d2";
+  deps."zx-calculus" = tl."zx-calculus";
+  sha512.run = "c703c298d694651ccd82d803ccf2324a95d84186e889cabad13c12f74c0fe3b8b5081e93917f7ffc9c18ce58ba0b45dd04e857bf5bfa5290b852fb7c142c7959";
 };
 "collection-metapost" = {
-  revision = 50293;
+  revision = 59531;
   stripPrefix = 0;
   deps."automata" = tl."automata";
   deps."bbcard" = tl."bbcard";
@@ -9261,6 +9490,7 @@ tl: { # no indentation
   deps."metauml" = tl."metauml";
   deps."mfpic" = tl."mfpic";
   deps."mfpic4ode" = tl."mfpic4ode";
+  deps."minim-hatching" = tl."minim-hatching";
   deps."mp3d" = tl."mp3d";
   deps."mparrows" = tl."mparrows";
   deps."mpattern" = tl."mpattern";
@@ -9277,7 +9507,7 @@ tl: { # no indentation
   deps."suanpan" = tl."suanpan";
   deps."textpath" = tl."textpath";
   deps."threeddice" = tl."threeddice";
-  sha512.run = "09dfaa35971f85134d0854c08a99c4d2b01ddf08e8ab97449460bb99d1236a38c48643501e7bb56197a844491509af301da6c4f75a33d9286601633211ec7d93";
+  sha512.run = "ee47dbed65feb3bb1dd76628eb42508660714984742835afaeceae583bc2c81cb2570d41b1d5e8963f2a5eb6a2c63adb9bd7e9f50b827cc9e57b95aead54b31d";
 };
 "collection-music" = {
   revision = 57878;
@@ -9319,7 +9549,7 @@ tl: { # no indentation
   sha512.run = "bc842942513a72c6a0f2346025739f09477ae1e920eaefc5e396e0b68ba53465b745db9d9c4534ec39b70f43410a0ae036c69a4e2226944b8f128b507340cc15";
 };
 "collection-pictures" = {
-  revision = 58759;
+  revision = 61392;
   stripPrefix = 0;
   deps."adigraph" = tl."adigraph";
   deps."aobs-tikz" = tl."aobs-tikz";
@@ -9338,12 +9568,14 @@ tl: { # no indentation
   deps."bondgraphs" = tl."bondgraphs";
   deps."braids" = tl."braids";
   deps."bxeepic" = tl."bxeepic";
+  deps."byo-twemojis" = tl."byo-twemojis";
   deps."cachepic" = tl."cachepic";
   deps."callouts" = tl."callouts";
   deps."celtic" = tl."celtic";
   deps."chemfig" = tl."chemfig";
   deps."circuit-macros" = tl."circuit-macros";
   deps."circuitikz" = tl."circuitikz";
+  deps."coffeestains" = tl."coffeestains";
   deps."collection-basic" = tl."collection-basic";
   deps."combinedgraphics" = tl."combinedgraphics";
   deps."curve" = tl."curve";
@@ -9391,6 +9623,7 @@ tl: { # no indentation
   deps."hvfloat" = tl."hvfloat";
   deps."istgame" = tl."istgame";
   deps."kblocks" = tl."kblocks";
+  deps."kinematikz" = tl."kinematikz";
   deps."knitting" = tl."knitting";
   deps."knittingpattern" = tl."knittingpattern";
   deps."ladder" = tl."ladder";
@@ -9410,6 +9643,7 @@ tl: { # no indentation
   deps."modiagram" = tl."modiagram";
   deps."neuralnetwork" = tl."neuralnetwork";
   deps."nl-interval" = tl."nl-interval";
+  deps."nndraw" = tl."nndraw";
   deps."numericplots" = tl."numericplots";
   deps."pb-diagram" = tl."pb-diagram";
   deps."penrose" = tl."penrose";
@@ -9462,6 +9696,7 @@ tl: { # no indentation
   deps."smartdiagram" = tl."smartdiagram";
   deps."spath3" = tl."spath3";
   deps."spectralsequences" = tl."spectralsequences";
+  deps."strands" = tl."strands";
   deps."swimgraf" = tl."swimgraf";
   deps."syntaxdi" = tl."syntaxdi";
   deps."table-fct" = tl."table-fct";
@@ -9469,6 +9704,7 @@ tl: { # no indentation
   deps."ticollege" = tl."ticollege";
   deps."tikz-3dplot" = tl."tikz-3dplot";
   deps."tikz-among-us" = tl."tikz-among-us";
+  deps."tikz-bagua" = tl."tikz-bagua";
   deps."tikz-bayesnet" = tl."tikz-bayesnet";
   deps."tikz-bbox" = tl."tikz-bbox";
   deps."tikz-cd" = tl."tikz-cd";
@@ -9493,9 +9729,11 @@ tl: { # no indentation
   deps."tikz-qtree" = tl."tikz-qtree";
   deps."tikz-relay" = tl."tikz-relay";
   deps."tikz-sfc" = tl."tikz-sfc";
+  deps."tikz-swigs" = tl."tikz-swigs";
   deps."tikz-timing" = tl."tikz-timing";
   deps."tikz-trackschematic" = tl."tikz-trackschematic";
   deps."tikz-truchet" = tl."tikz-truchet";
+  deps."tikzbricks" = tl."tikzbricks";
   deps."tikzcodeblocks" = tl."tikzcodeblocks";
   deps."tikzducks" = tl."tikzducks";
   deps."tikzinclude" = tl."tikzinclude";
@@ -9522,6 +9760,7 @@ tl: { # no indentation
   deps."tkz-graph" = tl."tkz-graph";
   deps."tkz-orm" = tl."tkz-orm";
   deps."tkz-tab" = tl."tkz-tab";
+  deps."tonevalue" = tl."tonevalue";
   deps."tqft" = tl."tqft";
   deps."tsemlines" = tl."tsemlines";
   deps."tufte-latex" = tl."tufte-latex";
@@ -9529,12 +9768,14 @@ tl: { # no indentation
   deps."utfsym" = tl."utfsym";
   deps."venndiagram" = tl."venndiagram";
   deps."visualpstricks" = tl."visualpstricks";
+  deps."worldflags" = tl."worldflags";
+  deps."xistercian" = tl."xistercian";
   deps."xpicture" = tl."xpicture";
   deps."xypic" = tl."xypic";
-  sha512.run = "929201dfc9a1d096afe3308c3d824031effc31ed8d0cb103f669704dad2109c0884d496c18a6ad07827338d5730533dec6f55360e362122c623c45da3562d61d";
+  sha512.run = "b53fb9863bdf0d488c6848967c7787912cf66416e8957e1b301a5b47f45d37534e3425061e24eca1b8d4d49d9abfd9a7faaf2699ffac1eb57797c5e7c224d546";
 };
 "collection-plaingeneric" = {
-  revision = 56496;
+  revision = 59850;
   stripPrefix = 0;
   deps."abbr" = tl."abbr";
   deps."abstyles" = tl."abstyles";
@@ -9579,6 +9820,7 @@ tl: { # no indentation
   deps."gtl" = tl."gtl";
   deps."hlist" = tl."hlist";
   deps."hyplain" = tl."hyplain";
+  deps."inputnormalization" = tl."inputnormalization";
   deps."insbox" = tl."insbox";
   deps."js-misc" = tl."js-misc";
   deps."kastrup" = tl."kastrup";
@@ -9629,6 +9871,7 @@ tl: { # no indentation
   deps."tex4ht" = tl."tex4ht";
   deps."texapi" = tl."texapi";
   deps."texdate" = tl."texdate";
+  deps."texdimens" = tl."texdimens";
   deps."texinfo" = tl."texinfo";
   deps."timetable" = tl."timetable";
   deps."tracklang" = tl."tracklang";
@@ -9639,19 +9882,21 @@ tl: { # no indentation
   deps."varisize" = tl."varisize";
   deps."xii" = tl."xii";
   deps."xii-lat" = tl."xii-lat";
+  deps."xintsession" = tl."xintsession";
   deps."xlop" = tl."xlop";
   deps."yax" = tl."yax";
   deps."zztex" = tl."zztex";
-  sha512.run = "e70cb404a4beb339c772d7d0d1eb6c096abae4715c807791c84dbea0528c95419398f49d32c8889ac50eff1e3c75f5460e067d848272996f0a3e3c059ddb1630";
+  sha512.run = "3513b00f6c81b941389c3bb2b2e2dd1eb1d93c63edcc8c77f3aefbb15132e9b49274167b4f799ed71e3618a1b05a58b9074c11a55d681eea2056ed7a0a9f15a0";
 };
 "collection-pstricks" = {
-  revision = 54455;
+  revision = 61329;
   stripPrefix = 0;
   deps."auto-pst-pdf" = tl."auto-pst-pdf";
   deps."bclogo" = tl."bclogo";
   deps."collection-basic" = tl."collection-basic";
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."dsptricks" = tl."dsptricks";
+  deps."luapstricks" = tl."luapstricks";
   deps."makeplot" = tl."makeplot";
   deps."pdftricks" = tl."pdftricks";
   deps."pdftricks2" = tl."pdftricks2";
@@ -9694,10 +9939,10 @@ tl: { # no indentation
   deps."pst-gantt" = tl."pst-gantt";
   deps."pst-geo" = tl."pst-geo";
   deps."pst-geometrictools" = tl."pst-geometrictools";
-  deps."pst-ghsb" = tl."pst-ghsb";
   deps."pst-gr3d" = tl."pst-gr3d";
   deps."pst-grad" = tl."pst-grad";
   deps."pst-graphicx" = tl."pst-graphicx";
+  deps."pst-hsb" = tl."pst-hsb";
   deps."pst-infixplot" = tl."pst-infixplot";
   deps."pst-intersect" = tl."pst-intersect";
   deps."pst-jtree" = tl."pst-jtree";
@@ -9759,13 +10004,11 @@ tl: { # no indentation
   deps."uml" = tl."uml";
   deps."vaucanson-g" = tl."vaucanson-g";
   deps."vocaltract" = tl."vocaltract";
-  sha512.run = "653143f95761352dc349c66f618b01a77650b20bf8b2cf45137e72b2f05ba3dcefbf0238f1b2757297ac37ec6cbd4a05283c0bfc03d6e153e57f4be23ca8f87f";
+  sha512.run = "54e2b23dfd58d514d577f535e4f8bab08b2a124c43abdea796847d5c8cdf5c7519c277db49ca65c2d50751c03c9ffaa6ce7493c82eba7863047ae969ee5e1bc5";
 };
 "collection-publishers" = {
-  revision = 57312;
+  revision = 61397;
   stripPrefix = 0;
-  deps."IEEEconf" = tl."IEEEconf";
-  deps."IEEEtran" = tl."IEEEtran";
   deps."aastex" = tl."aastex";
   deps."abnt" = tl."abnt";
   deps."abntex2" = tl."abntex2";
@@ -9798,11 +10041,15 @@ tl: { # no indentation
   deps."beamer-FUBerlin" = tl."beamer-FUBerlin";
   deps."beamer-verona" = tl."beamer-verona";
   deps."beilstein" = tl."beilstein";
+  deps."bfh-ci" = tl."bfh-ci";
   deps."bgteubner" = tl."bgteubner";
+  deps."bjfuthesis" = tl."bjfuthesis";
+  deps."bmstu-iu8" = tl."bmstu-iu8";
   deps."br-lex" = tl."br-lex";
   deps."brandeis-dissertation" = tl."brandeis-dissertation";
   deps."brandeis-problemset" = tl."brandeis-problemset";
   deps."brandeis-thesis" = tl."brandeis-thesis";
+  deps."buctthesis" = tl."buctthesis";
   deps."cascadilla" = tl."cascadilla";
   deps."cesenaexam" = tl."cesenaexam";
   deps."chem-journal" = tl."chem-journal";
@@ -9838,7 +10085,7 @@ tl: { # no indentation
   deps."ftc-notebook" = tl."ftc-notebook";
   deps."gaceta" = tl."gaceta";
   deps."gammas" = tl."gammas";
-  deps."gatech-thesis" = tl."gatech-thesis";
+  deps."geradwp" = tl."geradwp";
   deps."gradstudentresume" = tl."gradstudentresume";
   deps."grant" = tl."grant";
   deps."gsemthesis" = tl."gsemthesis";
@@ -9855,7 +10102,9 @@ tl: { # no indentation
   deps."hu-berlin-bundle" = tl."hu-berlin-bundle";
   deps."hustthesis" = tl."hustthesis";
   deps."icsv" = tl."icsv";
+  deps."ieeeconf" = tl."ieeeconf";
   deps."ieeepes" = tl."ieeepes";
+  deps."ieeetran" = tl."ieeetran";
   deps."ijmart" = tl."ijmart";
   deps."ijsra" = tl."ijsra";
   deps."imac" = tl."imac";
@@ -9868,6 +10117,7 @@ tl: { # no indentation
   deps."jnuexam" = tl."jnuexam";
   deps."jpsj" = tl."jpsj";
   deps."kdgdocs" = tl."kdgdocs";
+  deps."kdpcover" = tl."kdpcover";
   deps."kluwer" = tl."kluwer";
   deps."ksp-thesis" = tl."ksp-thesis";
   deps."ku-template" = tl."ku-template";
@@ -9899,9 +10149,12 @@ tl: { # no indentation
   deps."ndsu-thesis" = tl."ndsu-thesis";
   deps."nih" = tl."nih";
   deps."nihbiosketch" = tl."nihbiosketch";
+  deps."njuthesis" = tl."njuthesis";
+  deps."njuvisual" = tl."njuvisual";
   deps."nostarch" = tl."nostarch";
   deps."novel" = tl."novel";
   deps."nrc" = tl."nrc";
+  deps."nwafuthesis" = tl."nwafuthesis";
   deps."nwejm" = tl."nwejm";
   deps."onrannual" = tl."onrannual";
   deps."opteng" = tl."opteng";
@@ -9936,6 +10189,7 @@ tl: { # no indentation
   deps."seuthesix" = tl."seuthesix";
   deps."shortmathj" = tl."shortmathj";
   deps."shtthesis" = tl."shtthesis";
+  deps."smflatex" = tl."smflatex";
   deps."soton" = tl."soton";
   deps."sphdthesis" = tl."sphdthesis";
   deps."spie" = tl."spie";
@@ -9953,6 +10207,7 @@ tl: { # no indentation
   deps."thesis-qom" = tl."thesis-qom";
   deps."thesis-titlepage-fhac" = tl."thesis-titlepage-fhac";
   deps."thuaslogos" = tl."thuaslogos";
+  deps."thubeamer" = tl."thubeamer";
   deps."thucoursework" = tl."thucoursework";
   deps."thuthesis" = tl."thuthesis";
   deps."timbreicmc" = tl."timbreicmc";
@@ -9984,6 +10239,7 @@ tl: { # no indentation
   deps."unam-thesis" = tl."unam-thesis";
   deps."unamth-template" = tl."unamth-template";
   deps."unamthesis" = tl."unamthesis";
+  deps."unbtex" = tl."unbtex";
   deps."unifith" = tl."unifith";
   deps."unitn-bimrep" = tl."unitn-bimrep";
   deps."univie-ling" = tl."univie-ling";
@@ -9996,6 +10252,10 @@ tl: { # no indentation
   deps."uspatent" = tl."uspatent";
   deps."ut-thesis" = tl."ut-thesis";
   deps."utexasthesis" = tl."utexasthesis";
+  deps."uwa-colours" = tl."uwa-colours";
+  deps."uwa-letterhead" = tl."uwa-letterhead";
+  deps."uwa-pcf" = tl."uwa-pcf";
+  deps."uwa-pif" = tl."uwa-pif";
   deps."uwthesis" = tl."uwthesis";
   deps."vancouver" = tl."vancouver";
   deps."wsemclassic" = tl."wsemclassic";
@@ -10004,7 +10264,7 @@ tl: { # no indentation
   deps."yathesis" = tl."yathesis";
   deps."yazd-thesis" = tl."yazd-thesis";
   deps."york-thesis" = tl."york-thesis";
-  sha512.run = "22a96671004c2a06fd5935793ee274ec06f3801b18ad6b3af8181667ba37eead921b84e4e1d1206f213a5ea4ccdaaa7082e8fa3b8923c266389bbda4d34e3da4";
+  sha512.run = "b079111174e27c874c78f905ba43f30471027a4afaa960613fe894f99e4468dbf3c5cdb3efb0d63c43d7d2c9e48c43b0f927d0180b447e19f9ab2af4086e3095";
 };
 "collection-texworks" = {
   revision = 54074;
@@ -10019,7 +10279,7 @@ tl: { # no indentation
   sha512.run = "9bf4c58094748424c1b60a3731d9cb2b1ad1d24764469072da693de26a4e4e857df3bcab6d4c2b5ae7454a69f9730fc596fd156b46b7704eafb1421f6936d66a";
 };
 "collection-xetex" = {
-  revision = 58543;
+  revision = 59742;
   stripPrefix = 0;
   deps."arabxetex" = tl."arabxetex";
   deps."awesomebox" = tl."awesomebox";
@@ -10028,6 +10288,7 @@ tl: { # no indentation
   deps."bidipagegrid" = tl."bidipagegrid";
   deps."bidipresentation" = tl."bidipresentation";
   deps."bidishadowtext" = tl."bidishadowtext";
+  deps."book-of-common-prayer" = tl."book-of-common-prayer";
   deps."businesscard-qrcode" = tl."businesscard-qrcode";
   deps."collection-basic" = tl."collection-basic";
   deps."cqubeamer" = tl."cqubeamer";
@@ -10064,7 +10325,7 @@ tl: { # no indentation
   deps."xetexko" = tl."xetexko";
   deps."xevlna" = tl."xevlna";
   deps."zbmath-review-template" = tl."zbmath-review-template";
-  sha512.run = "a312699117932ac031f6b09fb0456518dec5c92fa046df27cfc0439f686c0dd26a362075b78b3b8d08dfbdf54f073c2ee4643801d63c67a79d728ee52db3dffb";
+  sha512.run = "701b40c44e9292bdcad0fc09645d1d7b2e99364a8c54dc84f6ddceee3b512e708d9a82d7c820a8c14efcdacfc8893b8dc0e6c14d697590686a43291a98e5054c";
 };
 "collref" = {
   revision = 46358;
@@ -10118,10 +10379,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "colorist" = {
-  revision = 58434;
+  revision = 61338;
   stripPrefix = 0;
-  sha512.run = "9787be368fba699437305f4757434ad5e8cd19bbf200bd42517478a46ce01173cef8d7fdef204c1b02fbec0b09f40d44a84a7e79ba98b54705f5864dcbe511db";
-  sha512.doc = "e6991e2a45b789f907d4534e86970d6a0abb63e98fc1e281f2568303d83bcde569881f808813ead6c09f598a62b2d0411589355db2529a90e2f48d22594f29f3";
+  sha512.run = "bc06f7c4caa41a7bb8c6ebc0fd3c3f0b211d65ef4ac9ab7e39cb4ca63d78afe8ee18bcf1ccc12cdb2d3ef5fb088b5d136d0ee37656f73cd68fcfd07a78b0d0d8";
+  sha512.doc = "faff9fe25109e0613096fa4aa124f7b7519bc05ec84f97f7fea9c8354798db7a454274b1b430cb4d235a0debd4b5ea25cabea5065aa6c6924a25606058e27253";
   hasRunfiles = true;
 };
 "colorprofiles" = {
@@ -10325,11 +10586,11 @@ tl: { # no indentation
   sha512.doc = "5da762a898a6cb95d5da95f444e862c8d0ac351ca63eca776fc1a9e35e2fb00389d414a85fa1bef357abc3d68b691a36ddac8c6aba20b7ea6f398c9017ac13fb";
 };
 "comprehensive" = {
-  revision = 55667;
+  revision = 59099;
   stripPrefix = 0;
-  sha512.run = "57046d6981bcda498ff025644fe915ce67a01b60c6fe58431060754e801b51b9332eb718fca263fd39b9b728b9db6702d83e227d8ed579c03d58f6d653c76a0d";
-  sha512.doc = "a2c4c855c0321e2d57d430f6788e762ab1bc8d51a5513fbbf0f6f4b53874d8816b877d9e4d5f3222e1014b8ea8384ff16a9d52742e9bebfc7932e08ab170e53e";
-  version = "13.0";
+  sha512.run = "9c414012e570fac3a3aee90cc7b6983d6791dcdcda0709722dc5354068815b2407fd4ed9196b8e961164698597324b9da8ff85b741eca86a4962701e0ce40d1a";
+  sha512.doc = "24c7c0fdda00f5f5dd7c66c383d95a4fd99b41c5470482d1e53e8f061796cab5955b8043f80a2a57c9f045765ff1d10f0c7b48b10705a2677b80b67d01dafa96";
+  version = "14.0";
 };
 "computational-complexity" = {
   revision = 44847;
@@ -10527,11 +10788,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-filter" = {
-  revision = 55718;
+  revision = 60786;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "cfd8b7f1276464a8593dce148e170105c2da3d20a755a4d197999b2c00610a3ee0227a8820e5eb34c09ac3537381c8cc984a67efba2c3fe8b85f7c57cb13c720";
-  sha512.doc = "20279aeab1d574ff034b208d8657b02d35efc7f6ab1a92847bc3a7d0453e152571fec214cbfc90a70cd8e8debd2ec57317fda47183a10f644776949c295fc1a9";
+  sha512.run = "294286db1d374f99e49fd249234ca19a5fae95cade586ff08771c2f9ecfdcb9bb729d6a3da546d8c85989104dcd1433568e31359d44fcf2447c8d4a0a0c8db85";
+  sha512.doc = "8328312ae81748e38dfffeaef00b9aa20638ef7536357eeafa94cc86c21ac3af4fb908e79f4ef5e61ac2e02414780edb82185b9504181f0fa2393a1fb23cccab";
   hasRunfiles = true;
 };
 "context-french" = {
@@ -10592,11 +10853,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-letter" = {
-  revision = 56073;
+  revision = 60787;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "12c0e37865f241eb37b46989346e16c75cd49672e76e22f511d2a146ea221e0279c93ebacd0b85e0377cffab0ae07e26515fe3a6abb86bc85df52b87569dec2a";
-  sha512.doc = "81e18af260a8441aedc04e48f120c69ea9fadf08fd69b18d95caeb1e98d5de8d0d37aadcb7589273122c4cf8a8b8832ed55675426f5cb29dfa3f9e60dd3012f4";
+  sha512.run = "558836a8c95743270f627a18dfe7a29ffc7a2eaeb4cf663d589ef5c07eab4dad6f09db31511379c90a41d1e9e7da5766e8dc3c8bb0902fa06bda4fb33caa97c9";
+  sha512.doc = "94e1bf68371f3e8c426cfff5c471f93c86ce51fdd92dfad59669d32cc73d86de606113ece55d13a0f25ac4a26f16916407de9175b84acc79ba107156c20cd20a";
   hasRunfiles = true;
 };
 "context-lettrine" = {
@@ -10663,11 +10924,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-transliterator" = {
-  revision = 47085;
+  revision = 61127;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "d41cd0ebcb99670bd48f8becde633c21401dd9044bbf93618a031da10c59bb8f6d4d6bbc68eecac75965b26f5052f797609d67d791cd7a281f72cd062d3d7388";
-  sha512.doc = "4dd501af23511dc81853ddd48ace2aa572c553aea0ba09cf2895b8bd05c4bdf08a6f5e254eab88d4098d441f1d410c0161b1e8b24e3ebf88a38bf364e90b8539";
+  sha512.run = "f919d3f9e6ab25932cfaeadfc07f86ebdbe00d84dc21236e4775930fc3866cee69cf9a25d373e13655f4396a3c395ea6ea103a28ffb4f00a4e95b7ceaec155c9";
+  sha512.doc = "8473c1ca7b48009055f5c33031ec60f80d84dc43396789b0c0c7e6d65bcf014a237088dca07211beae4bfb80377f55cf12a9f379995cff50f52143fc4bc81295";
   hasRunfiles = true;
 };
 "context-typearea" = {
@@ -10679,20 +10940,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-typescripts" = {
-  revision = 47085;
+  revision = 60422;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "f2d43256997cfba2ab2fe0fc8ebe90a3798bb42e6d455fbe84540654a95fb06a170aa19cf11e4f3477517473b21fc05426247b1f1d39c9132e703c0f1a9a5d0c";
-  sha512.doc = "de15432472678cd9c7bdc0e2597f1fe02275fa986767f269fb4237e8d0095a1100908e0b46429741c8ffebfa84fcc27272045314cfc185ccaadf5ffbbe030f69";
+  sha512.run = "a13d06b9a792cbd2352016df508a7860e45b541d04cef1c9d9c8b5a6199120a71dfd69f990700c4a76ac31ec11209caef431a190b9045bdc46cc44f88cbef0a3";
+  sha512.doc = "3d948f22da14b1d481817477235657cee714e4a2a69834729c20e18157f1175890ddc7fce992e8f5f27e26cd6d08186ff1521e2186681557cfff1a4778267324";
   hasRunfiles = true;
 };
 "context-vim" = {
-  revision = 58082;
+  revision = 61301;
   stripPrefix = 0;
   deps."context" = tl."context";
   deps."context-filter" = tl."context-filter";
-  sha512.run = "47f6ef2dec0048dc5b858ac32bee045f3b0c62ac8ea4b8684f3e219b9df924f507889d69516bd03c582a36d62b1d5d213678871be58bd6792bf19edcd5a9dab4";
-  sha512.doc = "f67ae9f7864db3398f1dfaaa9b79cd7faa208d40531d6501c977fc45b4ae45ac2c73695fa7e2e35e446494009f38f5e7b1fe82075cccbaed92a1a312eb00e3b2";
+  sha512.run = "788e36df52b815e35f01fe09207f9b8f34021879aad5992d06f20561af6f111458a9e21c76a8f985cc3aa3c4ea344f54e9c283b73b6c325ad38a688714ea9966";
+  sha512.doc = "9a8638d773b3d27937d5f9e2a7a1b93a226aa8e95d33bbb6fcdb4e89d14e5b89388838831a47c79e334ba55af5b5f231e7ad71c0d0791abe9f0dd5becd122eda";
   hasRunfiles = true;
 };
 "context-visualcounter" = {
@@ -10756,13 +11017,13 @@ tl: { # no indentation
   version = "0.9b";
 };
 "cooking-units" = {
-  revision = 53403;
+  revision = 59542;
   stripPrefix = 0;
-  sha512.run = "4182a43bc869dca19d022ae019fd479ac658c609a792677b9cfe5e3271af890ee353974b15b9cd4bb667f39fb38b96ee1a31359ca4a89986a3c03053ffd1974c";
-  sha512.doc = "71e7ab3f1a89984063e26d5532eb1c1533efb06b8d8164548b7b46eab966e88e8ce5300ca0c91c639ae896b95bf5e9487c8c149d2f90af7cca0168b674052c8e";
-  sha512.source = "8eb0c4698cf35fcb24b4e02db44f284c51f953ce1debc5f334fa514e4cee0ccb3278c74bdded88cfe379a47ac1f32efe089711f11fafa477f7a053e2e45a0092";
+  sha512.run = "b49ea95a00d3db95a67f32b2833d4e48feb26cabdf12670cbe7988af51f299c7c60f1f4ad42161b9be533d4e79db6b5fdc6676d99eea290214910f7cf3c6cbf0";
+  sha512.doc = "9583096d5d88ba4703aa82c29ecbc28ce917457a2c528e1990add753f179e7a51b2e628719d6a4836e3ff7f6b3389a490bf2d0b029a0c167ae66b48595749a48";
+  sha512.source = "4f2cc334c5f1698bd61af7d17f5fff362a4c4138ed90a3e4eb4850a680569f8da2e744b6ce6620ccee90cab787bb9b689815ffe548302acfc14e948f042dd7c4";
   hasRunfiles = true;
-  version = "1.46";
+  version = "2.00";
 };
 "cookingsymbols" = {
   revision = 35929;
@@ -10810,13 +11071,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "cooltooltips" = {
-  revision = 15878;
+  revision = 60201;
   stripPrefix = 0;
-  sha512.run = "c17cb15979b575ece2c16dac8d56991c7cb32d99e165205c099b5058b658c60b393696fee5f7178611d5ccdf1d812522640dee56c1c4c881a73a11edc2ec8799";
-  sha512.doc = "6a091ed9c41f4cf31d9db7cb2c1c76a342583f9d568ed89380bb624fba35cb3b788abde47f746b0e8a0402da19171fce72c7f356da2a2e4cb8264452f727eff7";
-  sha512.source = "8aad4d9623d41caee76932db0a9436760ee5aef346c68e393e39fbc1ebdebb643b7b5215c232ef04f7968c34e3d0b73e0f4a23d2e060930d97b3a047d1bce149";
+  sha512.run = "fde90a48c95ee35a7b9c9dfc1359df09646cd9f5cf1a44a7eba7ffd9aaf98c2bee400dd7ee6796583bea5a874c2693d25d3e502cdd4c3a207949f46ba7525505";
+  sha512.doc = "0b9d55f41afb738f1503e232e06809cc2354775c6793c1f5f3f3c65d4aa349294b5e9ad4d223f588dbda0b0f53091cbee4855804273a8d8f21a6689760a556e0";
+  sha512.source = "584d4880126bbca5343a4a8df85ca348d397dfb5cd5fe8a62d61224f9c95c5a0aed20f8c522d65ed68c6435506613fd0decc35acd848bedf2bf89de6842a7f27";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "coordsys" = {
   revision = 15878;
@@ -10931,12 +11192,12 @@ tl: { # no indentation
   version = "1.01";
 };
 "covington" = {
-  revision = 58589;
+  revision = 60388;
   stripPrefix = 0;
-  sha512.run = "505e6d4ce7e009173d14eb2288bebd3805d1bdf39819f7c9dc58abea1687e4ea7ec816ed3c2e3c7dcd8c98bbc8cad3f59cba103404457ab9c8726e14cfa1d3cb";
-  sha512.doc = "73fdb576dfb6337c9500d8c92a2be2216d84da12fd04b1cfe7044f4e24fca0120c3bb98f18aa4263617721ec3449cdf98a39e441ece77c2adff63930182a1673";
+  sha512.run = "f1eb01e6c178fe46c73b119ae05abd8defc28e2e3f8778a364917540961d530d09ce7b5fb3dde7a82882a8c526dbecae369edc0aa1223207ae322e9e9b915a85";
+  sha512.doc = "0793a3fb9c025a139420eeaf4cd5c6b2c119f1c6efbe767ec19fdb28cb184e3fb838e3d8a5fa741de709b637fbaf3c62803f1075b3768c60dc5fc169476e6b51";
   hasRunfiles = true;
-  version = "2.5";
+  version = "2.7";
 };
 "cprotect" = {
   revision = 21209;
@@ -10972,6 +11233,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"crefthe" = {
+  revision = 60961;
+  stripPrefix = 0;
+  sha512.run = "ef69535427477153ed4608755634b6c45eed64b64df70f250da79ba98e65ea4f674b17de527a48f091cdcf5508c8c391304c591f489013eaa7018e53f36763fe";
+  sha512.doc = "beea700aa21468283615cab567ab199ebc365f15e7cd9d46d149a689aba4f4bc50223a45fb5bf2395147e332a818543a89a7a57951af35ecdcf3e540d9b4cb69";
+  hasRunfiles = true;
+};
 "crimson" = {
   revision = 54512;
   stripPrefix = 0;
@@ -11012,9 +11280,9 @@ tl: { # no indentation
   version = "1.0";
 };
 "crossrefware" = {
-  revision = 47861;
-  sha512.run = "351f123bab2b83614b660959e86573845e32b6ac894ddabf24484cc3bbb68d71fef1e543b4d14a3684804f8b4b8e4a5123c8acc46fd813048320ab50f245475a";
-  sha512.doc = "cef9694f4e984ee077902852143e2c88bb533739c6b53c010eae74c32b486faf7806010beecee49bfce07d5f35270bd312852f6d5701860073854a5fec949125";
+  revision = 60689;
+  sha512.run = "3f0afe8125298c89ec874acb29577525ddc2ab27072961b3303d51db27ffe78b7a39f18b6a41e86da0bfcde01fc288f160b8b524ccc1b91901ed0f91f32affc4";
+  sha512.doc = "3c244948a38296789c812a38b669da9709501a21981b84f569e749b77f5de69e20fce332a0c794408f0efa00adaeb120e6887b8459c3bfc0962af8cfcc85c8d3";
   hasRunfiles = true;
 };
 "crossword" = {
@@ -11035,14 +11303,24 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.0";
 };
+"crumbs" = {
+  revision = 60499;
+  stripPrefix = 0;
+  deps."catchfile" = tl."catchfile";
+  deps."etoolbox" = tl."etoolbox";
+  sha512.run = "583e335d4501e7cdc15708aea14741d2106a8bb475868a5b283458baf302a818abb8bec702236fbb32da7b0bdc50865d82da1bfdd9f8aa7f1f4faa7dc4baced6";
+  sha512.doc = "9183bb7940e9e61bee823ca54eaa36e2905ff236a9f87190d807aa6a97fbb1ac9e87c315e33ea1bd38c6ae5fe5b46850775dfb9aac0ec4f0f2dfa2e798ef2d20";
+  hasRunfiles = true;
+  version = "0.3.1";
+};
 "cryptocode" = {
-  revision = 55920;
+  revision = 60249;
   stripPrefix = 0;
-  sha512.run = "df6a8f1f92357f235ce6ab120925c4e833985ba8ec487f8477a06ac8808997c3f34e2955178f505460cc008183966ffb06280b41a9ead249e8f03062cf2f7140";
-  sha512.doc = "1369982ed17f6205ed2206b082faa902b8d0b2fa88669f215cc113a4bdb7e027f9e696311a3a0a19e5a48151a858d5c7a151bf4d42eff04a807c32f8559d67bf";
-  sha512.source = "e9849dd4382b51e6f2d19bea2e074c2918fd4aefbab9f7add357cc6a122a4b4c35416d50886b7fb68a2db899d00ff8892a38ab91833d1a694969f946ce415a56";
+  sha512.run = "d4d85db9f631bd2f3c78654e88b9c77df7af991f304732ec92b58d08111baf2548bd7d27e6187b0fb6dac7cb0517d27ef3973293cb76088ee8824cb28b1493b0";
+  sha512.doc = "8516c946f2a72a898a6320be3b9037b3e94ec1e4c4624ac0c7f67f64855308f793275d682e2c16b5566abc17ab58200ec1ddc32dbb9fe2c08fe21183bac2986a";
+  sha512.source = "ec51e316bbeaa2a28f7fea918fcfd3338fdff0153325b93309d79300b9df1655620227596cddb429952ee2d9074da8eebe6dd64207e2f300f475215eb33b9f3a";
   hasRunfiles = true;
-  version = "0.40";
+  version = "0.44";
 };
 "cryst" = {
   revision = 15878;
@@ -11151,12 +11429,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "csvsimple" = {
-  revision = 51010;
+  revision = 60470;
   stripPrefix = 0;
-  sha512.run = "c071fb93d269e27c7059919213a858d82bb5fc381d8a9a0faf82ad0b05eaac808dbfc19c30c8530a98582f3179a01774de78b0f290a15d4ef79e06eef0a9aba8";
-  sha512.doc = "da691d9d44e1624ccab48e5979ae9ecb8697387a19280602c28467c8f2aefbafc494067217836a09a6ba1a653c8fd3a7903e3607ca56922ebf47870bea49c583";
+  sha512.run = "25c21f971f3315025c7f6d3fb757f77d3ed53755d6e5cbc7dcdb62afee34c3dc2a3539758f048d01caf42c3f777e1a997a12df4765d85f511c2a9e7b3175d8e7";
+  sha512.doc = "f419c39966466b73cf7eb95a12853cf9b25b581a23e0c4116cdb905787e949ed5b9aa4be599a2ccf94962fd04d6170c0d011e39e5460365dfd7debedac6909fd";
   hasRunfiles = true;
-  version = "1.21";
+  version = "2.2.0";
 };
 "ctable" = {
   revision = 38672;
@@ -11191,11 +11469,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "ctanbib" = {
-  revision = 52145;
-  sha512.run = "af03e3079304d24b7cf996158ce7344a15aa2f17efc46378132bedc5e9bb4488f89210c24a8a5ef0c21a293600589aef78b7a8c7a7673ad09ceab2077b0a351d";
-  sha512.doc = "1a971e49827476b5ae419189f7acff4c17ab41159d60c5627663d435368b28aa7dc4aeeb5fcc2c4a9f34f648ac9f2de229b250660333ca2f32bfd0808f24e732";
+  revision = 59782;
+  sha512.run = "e885d005007314c5dff56e8e3c96eaf2d4eaaf9ab87722a882ec4fe8752e3c7f909f58d3b92b58ff3f5b0c439f12e82f5eb76f90424d5696dddaf6e5a70d9efd";
+  sha512.doc = "237371b1483922498bcc41d0730f7e707f97154044d20c3514f11aecd6b82e1d796602d67a2774a019bc5d13f7790016f759d50a9f1a17e45843e5770c198a48";
   hasRunfiles = true;
-  version = "0.1d";
+  version = "0.2a";
 };
 "ctanify" = {
   revision = 44129;
@@ -11212,7 +11490,7 @@ tl: { # no indentation
   version = "1.2c";
 };
 "ctex" = {
-  revision = 58583;
+  revision = 61285;
   stripPrefix = 0;
   deps."adobemapping" = tl."adobemapping";
   deps."atbegshi" = tl."atbegshi";
@@ -11251,11 +11529,11 @@ tl: { # no indentation
   deps."zhmetrics" = tl."zhmetrics";
   deps."zhmetrics-uptex" = tl."zhmetrics-uptex";
   deps."zhnumber" = tl."zhnumber";
-  sha512.run = "64fa2fd00ebbf9fa5a16f0ec23429f77f48e9d84f8a064e2be475e9e0449c73bb9c5f63a93b574bd3ea7af737f5aea72ad7f0be1b98e2e1c0bdda5061becf6e3";
-  sha512.doc = "409173d58ffd65ba57acfc580fa2b0860327d536b8758816275ab0541138af0869ca1460f8fb725e0f185546349fca2d867afe24a19e74c9c147c36175d8e060";
-  sha512.source = "7fb4745ff434fa138fba81d2df95269be134caaa130a00e789252c3855dcbfb39206d558f963ed63c3a16072efc3184f6ce075f3bdae2d4ea23e00b2bcf32169";
+  sha512.run = "ea740753717aea341cae663253e0d6bd9fcaaf65bee67a30031cd3c09fbc1ff295a5d8c5b317ec423fa51679d988599414868ddcb623e84c1864e2805931398a";
+  sha512.doc = "4d8479aebcddc27feb1226c37f194695370ccaae2060584b2564105529821de2cf8764a172a37e9fb775127807514fdcf1bcecf085559d1e937766eca4233bdd";
+  sha512.source = "cb31f314bfea2bcae48f30c3f7459e98365abfea4a2a86ab33877d68e51fb850e1028104a898485d3deb3d68661ef9d550a73c31a5ba34060c1801149a428899";
   hasRunfiles = true;
-  version = "2.5.6";
+  version = "2.5.8";
 };
 "ctex-faq" = {
   revision = 15878;
@@ -11363,13 +11641,13 @@ tl: { # no indentation
   version = "4.33";
 };
 "cutwin" = {
-  revision = 29803;
+  revision = 60901;
   stripPrefix = 0;
-  sha512.run = "484c995cd3b18f723899fc04e3af7b49bc7ac90a02448c4b49643b8ebe09c445bab122bc2ca0f2cab872323438fb02af3e5a053977ae8ff6146cb4af96f08ba1";
-  sha512.doc = "89b4fb68d949b86eb3b5d90f7d8c828e10df591cf734f5e6908a221aa9e2d50820841e6095dc912619d4461c37b735907504e63fffbfd95c3371602144f87429";
-  sha512.source = "0e6fbb5bdf3cc9b1d270979f379e2f50b356353533278495526275bab3211b1e6ef670a5269e412ae87c3fe4ca0ee8411dadfb42e4e2cce6dc200c863532b997";
+  sha512.run = "922ab4c0f1158fa699c883e0fd8ed942a077c3b3109b048087756895d0ab6ead05182fbe17ab19310b78691fd77444d1460c7e021689c2eab092ed82974ed6d7";
+  sha512.doc = "f37bc538e4affa716aa315535fad7fdb2bb0e5188844d028b8bda4935339965e3f375439ab0abc62d63f2f57c3d439a25888f29cdf3be484092a57ff86c86c72";
+  sha512.source = "d3a544d356d4afb5599379a1c767d2aed9ace420d4540a1c62b617cb8f542fbcb225ec4e42ab65f7ddebf91df3c77a6b9bf0f59de9e6a11e06ae68fddd5b21ad";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "cv" = {
   revision = 15878;
@@ -11387,9 +11665,9 @@ tl: { # no indentation
   version = "0.2";
 };
 "cweb" = {
-  revision = 57972;
-  sha512.run = "84af281f5dd3313b2601ade3c038b67baca43a388e6a40ff079be66e2de6fbee0bfc15971241f4c6021a105d2b26926ac228de236fe13019fd0d8d8c4fd6751a";
-  sha512.doc = "e2b13d368b1c338e487c9ac770a8f0da5ea5a58880774b8b6b5a53047a2485d1cc98682808ab1161b308f7480f5a1fcbfd2c45ac39646a3aca8ae92d17db9f92";
+  revision = 60085;
+  sha512.run = "86e23f2f005d23cd1ea1db8d767e61d9cf1ab494174fadb0433d6428f9fd0d216a32f84991bc3acf5fd75fd7190f36854d243b083052d4ee0eed91d7d57a61a4";
+  sha512.doc = "e9f96202b01503cb85678e24c876d3f8d2cb184ecd21527e1729eb5b5cfce9438f3402e6e08dd02dcdc74cde31df0734590774aa356482ccb20fac3a3186785a";
   hasRunfiles = true;
 };
 "cweb-latex" = {
@@ -11523,13 +11801,13 @@ tl: { # no indentation
   version = "2.32";
 };
 "datax" = {
-  revision = 57033;
+  revision = 60580;
   stripPrefix = 0;
-  sha512.run = "f8eda309dcff2ea8fd827cf3dd5c15ea265105234e33f96e27c14316e5e4183ade4c6a240b174df3564fcc1a4046ba3ada482a6fae653ffb5e43e18682852336";
-  sha512.doc = "e4257e66220e0048df198d60a963524187d7373ab7394f4b33944251f534f67648110a8cfda588a992500c381470dee55423be6c224a4e3cd08cf4e633bc0d3d";
-  sha512.source = "c47641c49bf9c1dc0e47eb8045920cdd0e519c07eb18efa047fb7c2a6122166a4e8bc793adfd3db8373b77be901dc6cc8501f5bc9dcf895ed3bce3a261b55671";
+  sha512.run = "d33691c71297f909cc160e1d4ca1bdb4343edc2b5e2058eb7ef3edd58255b72f02d57e5a1d4348cd0de1b890648e6ea529b60d100b84c7cd2ea868570129e28b";
+  sha512.doc = "2b30224581baeefdddc50bde5f6f14df317108e7a0be89f0d7add5a2e966f6cd21ddfc5b9278f4c6f1f2fe9337c1789d191099f60244d978261da070558f0b63";
+  sha512.source = "00006e1bedbca8b6bfc52818a2add87fd39e7071814cc2ef81fdb70eed628612f3fbee439a7e9fd5c88e984f7b90c760a80be35e77a77eb5d1f5cf73a437e85d";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.1.2";
 };
 "dateiliste" = {
   revision = 27974;
@@ -11549,6 +11827,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.02";
 };
+"datestamp" = {
+  revision = 61304;
+  stripPrefix = 0;
+  sha512.run = "dff60190a2504f544c7400850f33f21674fe0c62b0cf6857874fc441bcfdaaa2c1223e251eb24c8905c6f656ab88800774c9d6eba6561f7e4a1525635113a1f9";
+  sha512.doc = "896e9165f3710cb5bbff02828e77600061699ce360c80bff7a2474ec6b4d0bf33fd0ac3972093f034e9a75eba306347fc98acd9981fea2bd07aaed18b102a893";
+  sha512.source = "7561450d4d79fe5f4523522aded0e2bcdb32a29770718e62838811d91242669a3d62c3a780178d6b8527375bb49707eeedc9e94a790640b8dbf2da306fbac88a";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "datetime" = {
   revision = 36650;
   stripPrefix = 0;
@@ -11955,13 +12242,13 @@ tl: { # no indentation
   version = "1.0a";
 };
 "dccpaper" = {
-  revision = 57522;
+  revision = 60413;
   stripPrefix = 0;
-  sha512.run = "02cf56e0c9d4450382336869d2edc09e543b119b68ff365c52049a7558297710e4089adb585124396d03745ce69b35d230091ee2c7d4e76011e78f6188cc9b9f";
-  sha512.doc = "2ed2fcfd16373b2af10f91169b2358b787d66af88374600290d362ca9da9db18dafe2cfbe4b2d057ff88b758b70572197ac037f834b02555313ee759af65d6cc";
-  sha512.source = "16764f191263cd3b7ce5a4c128f61b60dff4920b65254202fb0a996e80ca94b206131d9279037fd4948a14fad1f1f007f6e7683373912c7d03ff6626ca3d0db8";
+  sha512.run = "7ec4066600126a651170af633f309ffa4f5137879e63335815a33d51cc5a741ee4ba491681b4eadec88f7fd91f54464d29b8a77f892d0f457e17994ecfc71901";
+  sha512.doc = "ac292f912fa3539ec383f9d4328e06f4125cf65a52668cc29bc8e80c14f963266e210c6aa7f7326c0ed9e5b55ecb16c152af4b9552499b721aa86a2d7f3783c0";
+  sha512.source = "ed6f2527e1b11cbca308d644ad68f2df85c915784e1fd8e9531ca606a31ba4342587de36517b092ba79e709f34e3e40546fcd4f99372c7b7d5a86355a9e26116";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "dcpic" = {
   revision = 30206;
@@ -11986,6 +12273,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4";
 };
+"debate" = {
+  revision = 60720;
+  stripPrefix = 0;
+  sha512.run = "b3935644d4c6da7e527ed170a6497e4411fc7cea7127534737e554cc9a2392c2ff84be8dec9089e45796bfedff7c795d6e06e48fbc8293da5554649a13ce4595";
+  sha512.doc = "d77dffe7272a49cce96f6cb475e0d3f34acff173ca647e7c756306dd6d6d79b4e424c6b952f8ec2dd93062a70a26421d00242d4ba5181d997ecf7a014840ec65";
+  hasRunfiles = true;
+  version = "0.1.1";
+};
 "decimal" = {
   revision = 23374;
   stripPrefix = 0;
@@ -11995,13 +12290,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "decision-table" = {
-  revision = 57094;
+  revision = 60673;
   stripPrefix = 0;
-  sha512.run = "2e89be9bbbc6a6f0fef9f3eb3caa63a6f8c6b749df1057f712d5153a78d4b15542f1fb30d3d5f5078d99a1b45f4d4e92be44d7c631eb86e349e56b03dcb4c93b";
-  sha512.doc = "cdfa48c2835b48f5b0f7d454a4255128613b0f3f9bd2d750b8107c7d8eef1a36aaca3ff6aecc6cfbb1572fd2dca109628d94b4b9419ca44d91cd1ddb12326cde";
-  sha512.source = "12f617e0aeedfae0cfd2e2a1fadad55cbfaeb51abdd2faea829fb04c47edae811eacef4a7480cf46533c3a445eadf8a9090dc47aef0d656a3e204eb6f19a26bb";
+  sha512.run = "8a0bbe49c3ef76a7a60fff1778bfc06c2e11521e028bfcb190c85e8a38932bb1f2a97c26293a2965ee8d2e4e6d2cdda54dd2954881ac9b1b8e2506529af1ec97";
+  sha512.doc = "d5b9301a4308a4e2709b4c82a621fbea2af0cbd767252446f698f269b3ef131502d3db3aaec6d192642b154b546124326280ca4c1331dce64b36517db51c3bc4";
+  sha512.source = "c24db9cf19bf41d714d643d2be4bad5e339ba8f57175186793db0ae03b941ddfcc3584061ec4ef2aa2de550103346381d31c19a054d428210b35ef083866ba28";
   hasRunfiles = true;
-  version = "0.0.3";
+  version = "0.0.4";
 };
 "decorule" = {
   revision = 55230;
@@ -12080,21 +12375,21 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "denisbdoc" = {
-  revision = 56664;
+  revision = 61205;
   stripPrefix = 0;
-  sha512.run = "636537275629ba01fe78b5a189e94845898555715ddc879a3558539016e9cbc814ea74d6eed0cc31e42d8062e6ba6c6bb5c00064a14644c236a3c4f48f688e3f";
-  sha512.doc = "6e1715fe7ed2c3d0091688ffa4e0e2245a838063a896334727ea87bad566771fa93c66cd0580c3ce1980b217cdf5e6bfba36b77d10d19ea55afe4e8fd92db8be";
-  sha512.source = "89abdd37bda49536437063229346ea70655211716ebcc0798a4df87d49df9a2fb38f201e0b80e8d3748a2d847ccc2ce320c29d71f9922d5f2932eb07de3c5645";
+  sha512.run = "ac024cdb21534de19fd80999df5e6c133ec49d93203ed411de256fae034958d609ae5b8343599e940d0ae9a76a6ccb178eadffdc130413d0e62d060b73ed9461";
+  sha512.doc = "bdcbf28a1721aec147fca04353662bb84b146c24520e52238e187ee4336abd42dc7b51c87e5607295d0dbcf7a6b8b980e633975ebe329f053e8e91e4c282eee8";
+  sha512.source = "2b8a3b073c0dc7ab1e13ed905bad4923cb5572e5f7053b47d27b6fa817d9b273c3e1a7d42c7c4056c1adc193e8fb258b8ba82e3db59c204951123ddde5018a5d";
   hasRunfiles = true;
-  version = "0.9.1";
+  version = "0.9.3";
 };
 "derivative" = {
-  revision = 55890;
+  revision = 59453;
   stripPrefix = 0;
-  sha512.run = "afb3a5e900dd77e4d262320485ef0526c362415cf68e2b0d199c388980211a8c21caef3789fdfe348f290563373823fad4e3881ca3bb11f0974a30fe49f6ecc3";
-  sha512.doc = "800dbd742c60548ddab9d66cd97e142b389f81f3719ca34c6027d69ccae2b790480261eb984c1bf3d8775eaab29f607ebfa2eac6d778f36c999f083cf7ded323";
+  sha512.run = "0b386fae5bbbda6bdc5124807d8995e7137b48ef04cafbd798f472514ca2c2c29e16066193d305f1e5640eb4ea2d0eba2bde71a016931fde600e00e9bff62a01";
+  sha512.doc = "8af91b830d2ae2bc70be524c6c07a8aadb39ab645cbc7c2deaef89469b53b55c3b32631c32329dbf9f0ced7d9066a96ff0de0dd26b842e45a58a99fec3a785a9";
   hasRunfiles = true;
-  version = "0.98";
+  version = "1.1";
 };
 "detex" = {
   revision = 57972;
@@ -12345,13 +12640,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "doclicense" = {
-  revision = 58350;
+  revision = 59899;
   stripPrefix = 0;
-  sha512.run = "1f701453752b32f1030dd7cda6f51bd94d6d9d67f465070b613f4ea55857f300be8c7a19c7440c6fab129e3fc1749fe6b9aad13b1fc28b5b61670f65bf0e0a81";
-  sha512.doc = "14b5f1cd3bbb3b9c411ab8f461673f1b4028549fa5675925ca6221723e6de3588df495a9a4e316b29d4e5c6836eff845ea3ef9544d2823fa548b4fc54080cd05";
-  sha512.source = "d5edb3908034af8d6c9b2e094eee6747398041df2d812b5cc1708223350e91837b5556a58db91897bf044e25a4cf036a0d945eec2db14f807d7e32c89340aaf4";
+  sha512.run = "4ab462ed5cea50837f3bf47cd5d43dd9e8f1666e34da55a3c5849b9c9b735962ba94fde97f1682ba8ef2fca4b9c4d985dc16121be28c552ec3a6cbf981872254";
+  sha512.doc = "b9221169fae2c21c03b5005f1f35d517cc8a09c664ba752dafb400e00abfa0f85c86244b5d5a5c6a9602d7b190794871675861d433763050bfe9d1a958dca4dc";
+  sha512.source = "94e35806027bd1d6c3dd593c57729b84072573a327e61dc57d7dcd054f61cc29471f43714832da224b5d26aa6115b16e1b2bd53385c97b045ed953223d4a99b5";
   hasRunfiles = true;
-  version = "2.3.0";
+  version = "3.0.0";
 };
 "docmfp" = {
   revision = 15878;
@@ -12670,28 +12965,28 @@ tl: { # no indentation
   version = "1.0";
 };
 "dsserif" = {
-  revision = 54512;
+  revision = 60898;
   stripPrefix = 0;
-  sha512.run = "d1f173c1892acb75e319fe3e8702b5c8ba233ba3b236babd368c3a8bb47ba67de222e6d80ed65c17de9d152b98a930b59c74dc82fba619c2b24b4dc8143d5890";
-  sha512.doc = "a8a6c9224cb7a55d12d8825d108066038be9ceb3ebf50caf796dc17a84f4d9d615507778934046b8944d235acb3f829e7654527cf485c9bd2562998b376f26cc";
-  sha512.source = "01fdb50fc1d1cfc294121882c3d05ed0878caf154f71f2b5dab6e21f3e96ddaccccf9da49d7aaf000a47c69f890a600d1914fce892d5efa485964140486ee950";
+  sha512.run = "7fa159e85b370a1327a8cace1a20ed54b37f2413e553dbcd42c6e75cd224da35b47402d89d39971873e888cc9f89117fe5403887299ad8c43e6bf2f706df357d";
+  sha512.doc = "e831d9ba6233cd260cd6f212f4f8b3adb360f6d701d121d26f0de95360dd56ccf7e3a5fb6fde990d875e60ca20f7632a4badaa9df8e3b98f16bfa5b176308761";
+  sha512.source = "dcdf454c0d970338951b5b458df039ecc0287020fbf13c3ef46d2effc4aace39cdb424937d506783f572ccfd7cc136e9059e9894d4339b53f4b1be4b52d93579";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.031";
 };
 "dtk" = {
-  revision = 56696;
+  revision = 61047;
   stripPrefix = 0;
-  sha512.run = "6553c4facf6e28210e22641d10babb0c4073c9514231e345f33aef419c95ea30b6fd744711233f91f90183624d5bd5c21ca7901c4ad46358b7b6335c09059241";
-  sha512.doc = "9656de8b3319a84d5d32900a65c013e44ebfa5488761bb31a5d3f84faaf22f648367a842d274b25a19c70bb650e4043dcc18fa0fdeaafd6bc360534c118589d8";
+  sha512.run = "1b56e53aca93cbc91f5389d1185375e14f44403d0a540d782d1c63ec7a27f2abc9cf0387cf57e86a0022cbbdf39e7d979056b43a762004e636a8a3c6041d9abf";
+  sha512.doc = "9b82f9832c0aa4b80f2e97913e1c25bed32f1e51461c77c64eb9683a4016d487e573d1b449e60e67566111f2ccdf56c6394e77d325e6e28b5f82d4dceea4fbd0";
   hasRunfiles = true;
-  version = "2.08h";
+  version = "2.08k";
 };
 "dtk-bibliography" = {
-  revision = 58212;
+  revision = 61396;
   stripPrefix = 0;
-  sha512.run = "24d9c6fbec620031e612be1820a971dfcf763bb457ec440757ea3b40e953cca21b2eb5ea550fb7dbfb773663e04b3b37f99fdd83e592e2405c00cebbf558dc11";
-  sha512.doc = "8b4256fd9dfebf80f5ee1a957b546746ae34801b552db1459a05a1a80be24bf8e64e968cc47c52226b6f4e0c8ee02876de4aa5fd41fb413389130d23be3f2c0d";
-  version = "2021-01";
+  sha512.run = "8b96893dad2e70f439a2ff760a99b02aa03cf7a77ffce1e726416690d56c28eb06a232594c612678139448a8bcd631760a1d6ca203a33f18d3a8d29bf27b6bcb";
+  sha512.doc = "12f2ff0a1be2cbd81f493396ed5f54c34bd96cedf9b291b9db7f92ab88018e08e7c63e5c71e5b9c15ec1c26c90d037d22bbd18b35375cf0995e5b8cfcbffae8f";
+  version = "2021-04";
 };
 "dtl" = {
   revision = 52851;
@@ -12827,11 +13122,11 @@ tl: { # no indentation
   version = "1.00";
 };
 "dviinfox" = {
-  revision = 44515;
-  sha512.run = "33b37192832362c170575d1770b0e8da105ab0f9197ee52ff86a9dedfdac718fd7f3ca87d6f3f2075803fcffbc2f3739b806b1088bd7e2a21beca53292d918f0";
-  sha512.doc = "f5f84a2df36ee93ccc0a8acb687fa4fdc6441ee6b0c76fe4330cb28ff2e5106014df5f367d5f2821c10864ff16988837099114ce331afe8a303e0f9102d92193";
+  revision = 59216;
+  sha512.run = "d366c28a88f488418405944e299b8e8c681a2bfbe1fb8d37847d89920ab41d3103d52072c7455ecec2451702cbbea02971ac6f1e1d609bde9a2f5e8abd345ef5";
+  sha512.doc = "4da7f09620beb3aa7e5a572f31c1d53466607ec0f6401b687ac1da624ea435f0efb3e0e2074252f49a720cb6d53412658a8a45dcba5553315fc9423233755dbe";
   hasRunfiles = true;
-  version = "1.04";
+  version = "1.06";
 };
 "dviljk" = {
   revision = 52851;
@@ -12844,10 +13139,10 @@ tl: { # no indentation
   sha512.doc = "61f86a23314334d7faa4f1ae0760aea6c5e5f77754a6a9b1d5952f09e3e15d3dead73a9f72ccfe9b9d7a022654f8d2e1e6e3051dc12bff574b6f053cdbc9b598";
 };
 "dvipdfmx" = {
-  revision = 58645;
+  revision = 61101;
   deps."glyphlist" = tl."glyphlist";
-  sha512.run = "4c5c0773389d13c77b007f9a82e75981ddb331b51c99836c73ff144e04a2289eefed77e7f5c5a7e60ed37aa93d8a0be055a76f1e1347550b5a1242be8cf24029";
-  sha512.doc = "c0f571ebbd976d55fe752e9b4c61e8e44e6ccf4086592b16618958d936267777d8825dfc2c9271f6fddb3620f54bcaa045f895131a31112e066152f20748e549";
+  sha512.run = "6dd78f4b5cabb51c3bd9988fa46bf90a5a79b3d3293257a4c563a8a76a5a03eb167ce3ec0d4ce6ed05412a551eb201f2379a50a97ac5355ebe833f7b34cee4b4";
+  sha512.doc = "00dce9b36eefd1788bbe455b2e5104efd9afc8bd891aeafb2cd9bdee406eeb25ab520e42e614e9d2363eb6a7273232bc3c4805bacd82a22099c5ffc438e852cb";
   hasRunfiles = true;
 };
 "dvipng" = {
@@ -12936,6 +13231,15 @@ tl: { # no indentation
   sha512.doc = "e7c474d1d488d95786d5f061412d051c9306cedeb86f6e31915d44e6fb71f09303b8f0e782be393e56dc6887730560825ef29d57af5a20f7bf02d96f77eb554b";
   hasRunfiles = true;
 };
+"easing" = {
+  revision = 59975;
+  stripPrefix = 0;
+  sha512.run = "3ed041546ecf6e921ce60f48365a1ba81ebaa8420f8f6d8e1c9ba1b38b20ea2a8c13392295d31a784bcc2fbf135ae37e5b89af794603b98492a4fac9c6dc6861";
+  sha512.doc = "bbd559d63635d83e00924a9d40258f3edc32519524dcdc4bd3d7bce0487eec01900eeb26070cd4abe372150f013ab3206b075aaf530de6d395a938465de072bf";
+  sha512.source = "dcbac9aef840277651060def21b4bac6f26572d7a0dbc7524788af224934c6344ac47af13e85a4c4d8f0857227b5ba8b5401081d34b7d5929747f510288dad37";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "easy" = {
   revision = 19440;
   stripPrefix = 0;
@@ -12952,13 +13256,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "easybook" = {
-  revision = 58788;
+  revision = 61413;
   stripPrefix = 0;
-  sha512.run = "77ab4f7539d6389298de6905cfc271090a41c4e2b7c75166de700b26fc31770a0b2c7aba0e06ecc496ce0de28018d2b80e47c9391d2f96e59a0134fbf1a2d157";
-  sha512.doc = "3cab62035e6a92b6ab7401d07aaecfff709af6969795c8662c76a90d15641e3a45faaa3edc9f9df33b17d128c499708ee879626824e455bfe54c9d775e0c827d";
-  sha512.source = "a0db9cb99deb5f0db2259b7611a9a708662a0db01a6d54996edbab36c1d5b95407fc3b22634c44c9dde5bb4e04a4572cd472659da9475eff4c1ee9fb9f9bf72e";
+  sha512.run = "c59d18285e07b123028c441322fb1e8afa2ba18994dbc15cd468ab50e70bf5df9d5578fb2e0bef1517cf43a13cfae365f4583ce3c1269fafc1a03541123dc1e2";
+  sha512.doc = "680f64ad614ad78b3e51367d41946f6a34bc1edff9029285de66f4cde79fa85bfa7b976be9f0a5fd8ee867f43b81b86209ff8bfa4313fffdc15de7e15a00949e";
+  sha512.source = "50222faec79a3e413b2db338aac0662265e0929e85cec6cb5982f96317e788aac0682c7eb7e213b2e01a04bde62054bd4d5f451912040a606338babd433913a8";
   hasRunfiles = true;
-  version = "1.24g";
+  version = "1.42E";
 };
 "easyfig" = {
   revision = 56291;
@@ -13122,12 +13426,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "econ-bst" = {
-  revision = 54191;
+  revision = 59327;
   stripPrefix = 0;
-  sha512.run = "d3b6f06f66c1c6ad618a277c1db2021624d61f32271eebe899de9a6ffa10ff0dd2ecb22da64c1acc1122093a535a3af20b00fc7aa8831a1b0bc18e9032716e58";
-  sha512.doc = "13887967396b2058f7120ff3e0144f275b6e642e0da4eb69f51ad064351e02fc0dd362308fe5131120ceba7e6cbe9b4079adda0407fe76179a52e3ce1660fcfe";
+  sha512.run = "8791b0d0949d46d9badca09629c9afa5159b9a0a88a050ad8de0d7777addbe6a97f133cda4d3b29ee512cdad282cfe282fb8c3bfa7f981970e72d1f0ac1a6972";
+  sha512.doc = "bed7c93ec480e8dda2f98e4790910b5199f893cf2c9ea6013044f2a6d1259ae6847cbb0f07c819db8cc55583931c9004ff5d3030beb7a38c7f8c3098f3ad8b9f";
   hasRunfiles = true;
-  version = "2.8";
+  version = "3.1";
 };
 "econlipsum" = {
   revision = 58390;
@@ -13304,21 +13608,21 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "einfart" = {
-  revision = 58414;
+  revision = 61338;
   stripPrefix = 0;
   deps."minimalist" = tl."minimalist";
-  sha512.run = "3e49ed89f9a3653db65cbd6a65f285d918691268d5cc61a20e74c7080cbfa8a5038a1fad197675075df1334bd14e9d52000e18bc3a574e731df002380e749349";
-  sha512.doc = "b50e6abddaff2e79e9d89fa9f8fca9fe80ac727849245c02eb8eb879769d48be3c91ce6007cea4716fed4f396fcb06d36e1a9fe24f090284f3eb1e0c72c83ec6";
+  sha512.run = "afe9035fbe06dd350c194a0aa0e079cadb6bc80800725323e20fe5b22b71faf469f2adea95f7fc99b96c71effae8dff32567026933383c2d53bd82b320042d2b";
+  sha512.doc = "837fde461e705e8df9c18cf42a7e5ff24b43838e7023a89d40fa553d2fd72713c8e0dad908ccd22d9087fc373713ace40eecf54098cb3b374386e8fbb23ae00e";
   hasRunfiles = true;
 };
 "ejpecp" = {
-  revision = 56728;
+  revision = 60950;
   stripPrefix = 0;
-  sha512.run = "ba16daaacf8b7d2b6d9f1bdaf6680b474715ab423959bf1e8fef43c7e823becdba5d6a6e3a094f47cd71c23ee00917cf9bd3b72fcbf1f091d42425535bca6b39";
-  sha512.doc = "f44c075fc341b3ef334a8675fb0c2ea3ccdae25cc81fa9df7ba39ebc9ec6ababd3a6657734336539d64a6f8b9ff4380993dba312b58cdd83ef5f0f923196b310";
-  sha512.source = "6325f999c4a435b7d2a4aff7b3bc1cf21d7eb0e806f9e7bfe2482e79689617bce54b274cc690f2435fe0c416bf32b2a76c911b793bc1ac0bfe408b9f773758ea";
+  sha512.run = "160b09a6c0abc694831cdbcb17c8fdd2feddeb27c82c06d70e31a5991c8488864cfc99b7e5768fe745a09ba811a5cc0c108428c6c7f3dbf3d8da7455074bffe7";
+  sha512.doc = "206012655184167bc27c73f4fb3b4cd14e6a85dc2c3faea1eaf98d74c89a8e34765aa1f6c47c6a9aa1bf862c98b1273d19e33ebdf099ecbce674b6f7aa39e7e8";
+  sha512.source = "01f26bcc15dc2e3b926524e6e0f1dd9739f7c5333bd947d5a1c83bd285e34e3c997c68acb6b33993a281f0dc81d751a9b8eaaf17753531553c6a366b6b60d635";
   hasRunfiles = true;
-  version = "1.9.0";
+  version = "1.11.3";
 };
 "ekaia" = {
   revision = 49594;
@@ -13330,13 +13634,13 @@ tl: { # no indentation
   version = "1.06";
 };
 "ekdosis" = {
-  revision = 58721;
+  revision = 61113;
   stripPrefix = 0;
-  sha512.run = "58c2cfad3b9269b9a056cbea0465f0af4a4e4bb2647f23497ce2726e7e4f4969f218c89b03e31f99b58afd353eb349ede499445eca3043dd0f25cac6eb5a425f";
-  sha512.doc = "b99409ec4d691b74b90b4d73c4f046ff62994743240befa008b0b4b0fb63bebff0f0f1d4c77db0034a8d1ae72e9eef474b5054579881d65c0fe730d75873063e";
-  sha512.source = "94d9ee25866c1418137f786ebece9c14bba9467b3df1f88f0595990276522b0e1938948c51ef41f9c6a565b3a87fb34f5b1825db1181bf6740d920eda7ad6f06";
+  sha512.run = "6fbc9c1cfbeffa9d950a3a10e0d39286985876b02efb48bd90a5853b006642c9e7042b0a660fbcd4f0a3d7438e0d647a827338bf283326162ca75ef316e53d5b";
+  sha512.doc = "bf829e9636940ec6dd9371f12457c306f5af3cde562ea863de3f0f3efa44f8d5c4286f7373927ccb0913c7e2a0bab70b57e03a47081626674c7b4b407784329b";
+  sha512.source = "2f24f73fcee8f34ed6efa401939b6bf96e7de6f0e24bcb2352626fd293ad533d249c8a0618a9f1eb3413feca9bc9a26cdf852bb6c69fc49987488739dfb17698";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.4";
 };
 "ektype-tanka" = {
   revision = 56070;
@@ -13383,12 +13687,12 @@ tl: { # no indentation
   version = "1.24.12";
 };
 "elegantbook" = {
-  revision = 54758;
+  revision = 59053;
   stripPrefix = 0;
-  sha512.run = "dd1f4c8ff1367ef753a869e202bbe34d480e142de46dc91f4755d36c88fc346fd2717628e494eefd9967172e20b6f35b52fc37282237859ffb4944da68c4c534";
-  sha512.doc = "5e58435a14eb47a99999e90e957d87ade2f78f952018a76d588cd76f72b94389ccb2414e8061f43797378e4f6213ffa57f3573aeda5c83513291bca158686960";
+  sha512.run = "26c1a1d2cc17ea806daf1909eb79d0a568fdedf9184884295c58c2a4841361a0c9da9f1ff766c85ba8796bec9c9d9f800b8b8729b27bae80fdce4635899e04b4";
+  sha512.doc = "c07f88027fc66b23cf1709e8096a5f1689904279a0599ee53239ec2f66b289a1196a36a2debfe1662219f82dff5e053fbdda5bacc4e4348945ce12ad23e0f26d";
   hasRunfiles = true;
-  version = "3.11";
+  version = "4.1";
 };
 "elegantnote" = {
   revision = 54758;
@@ -13451,20 +13755,20 @@ tl: { # no indentation
   version = "0.03";
 };
 "elpres" = {
-  revision = 58015;
+  revision = 60209;
   stripPrefix = 0;
-  sha512.run = "eb8a18c29e137e4a11ef1a60e43533fbfdaad0872d0681e301a79cbc2fb7d11e7ecd0661b675aa299ce3439f8a238bf3d233fb60fe978eca9f05dc6f916596af";
-  sha512.doc = "d3720f6be437348f1d556e62948a0326a066b3e865edd07a439e641eb75924ff646793171116fa174bf0d1b61ceb7d8b60639a31ed42150039053b8cedda4f0e";
+  sha512.run = "6470db4f68936b14fe514828455d7fd96ff9393990982b805e5ba08e2281aa0a98c46551297dde6243e4ee3c5894d87d6fc48fe843177f9dafae102afab4aeb9";
+  sha512.doc = "0c3a7e151414e8ecc2ddcfedf55571db3d09e3a3cdf58d42b3cfefc82e160ac2487b6001d6da152b7a7f192a21c2e54b1593c01c7376c359a342f7e5410d16eb";
   hasRunfiles = true;
-  version = "0.8";
+  version = "1.0.1";
 };
 "els-cas-templates" = {
-  revision = 54317;
+  revision = 59170;
   stripPrefix = 0;
-  sha512.run = "828b0e4a3a4e9df5d4373ad153a7c29e9da177f8c7b5ae796b7b94d1eb4cfdcf1f347f47895ad366524891f81ecf20fc86c3acc7f00d15835784f949f251ddc5";
-  sha512.doc = "559c80546aa4ebea603a70b0dbc103869aa3aabc857b61ec1dd958d0da163cc408af643518aa4f9ea68a94dd2ca5242d8f4c46a30c627569a4211394baa99e0b";
+  sha512.run = "d022c993c21c40acc3672738f42ce42aad76f3845d30bcb2c1c23f69af877a36a14ecc06ae3feff149a808e86ffadd7968462c75e081b42e50b073aa2d56e424";
+  sha512.doc = "1c6bda6c29db8260c06cbb16a2045c889f43196b27e4525a62cfe9f77fa812392825b577cec4cb4d5ffa456db50c86d80e85b5c6eebdcde7848bce01dfb101c5";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.3";
 };
 "elsarticle" = {
   revision = 56999;
@@ -13476,12 +13780,12 @@ tl: { # no indentation
   version = "3.3";
 };
 "elteikthesis" = {
-  revision = 55928;
+  revision = 60563;
   stripPrefix = 0;
-  sha512.run = "d1aca54ddbcfcc7c6635768cf7012508ea00e775d5dc02ea86054542941d9438516ada2698897f7d97c3807eaf8fb23967db371c499e1919e4b4b9f290b13997";
-  sha512.doc = "77481cded400c3dffd86be5090db28954823a92d4e8d4a676ec540d8cbe8a51331722b760a200c8ab84132ce668ed88da4c4e689f18d58528003b1c71f750337";
+  sha512.run = "bafcb4abcca97afa1fe1d92913a0ecce4da799d1bf8644fd2eea1acd35f51cbcc935efd7f940463267bb71b6396a0d5a3b5293de9fde4494b4f0fca62b7383b6";
+  sha512.doc = "b080cac66f855b99e515ca8f96f493ff1ef148806cbe99ac142fd48bc0d9fa0cf8ee24ccf64101143512b6670aaaba245bacc3d2fddf25c503fc1e3e67f7e4ea";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "eltex" = {
   revision = 15878;
@@ -13551,21 +13855,21 @@ tl: { # no indentation
   version = "1";
 };
 "emisa" = {
-  revision = 57013;
+  revision = 60068;
   stripPrefix = 0;
-  sha512.run = "dac517c5f1f5e475948d519ef46e3639a49ab3303a5d93821707b43b224ccddcdf6edfb8576fd89888cd00705b11abf17054c46008bb288450a0c679cc0ded2f";
-  sha512.doc = "7fb9b28f4675a5e14687b569e1e5394f06f25f536eaa6c36ed390d24c634d2a30fc43c558d3e1ca004bdf41436705cd7ce9b59beeb31a6dd757a5fa7421f84d7";
-  sha512.source = "3cb1e47c50d4cccbfd1b428ec1193ffd0f489d0284dd095f2f969c8db76f735b854e4102f474ab5e72876bb7b6e6210dd617958e42a851cbc03f5844626030fd";
+  sha512.run = "dbe700eed5cb82ed687a5650fb58f07cd588d7a759ef67f0b015a795a732ec1b2d3019f637ecfe39fa240c93816c41084c5448d107371d209d40ce122fbda821";
+  sha512.doc = "48529f12758cc7874b45ff5fd418641b322ac33541aee2665ee309a6b0bee8362c97fc2e31870fb34430d60343cae433f5a2793dc785c5a88d4f2e5518317433";
+  sha512.source = "98437def2e985e2186bdee4f1ba1200807c1c1dc9882b41e60acf620907933417c774dc217c67e86a667fa84ca66ddb07f9132c7e3e8a105638097bc66b7d940";
   hasRunfiles = true;
   version = "2.3.0";
 };
 "emoji" = {
-  revision = 55678;
+  revision = 59961;
   stripPrefix = 0;
-  sha512.run = "c26f69740efb5f18f196742ca927bda5fceb15a9acbc65e6671d569da40dda75cfec188fe198bce4e4d476bb41e6ca383fe0a19b84b15691f791cc4ff6001e98";
-  sha512.doc = "caf60c65f653a2a57f3d33641526fc8f80903c718b62113c7425094e4ae35799f0c1ccacd19ceb3a0b39b571ea2d7b099effbc69aaa3f3704062e8e6f22d4e83";
+  sha512.run = "5c87970b1d47489027ef1a13bd35958b54c7c8b7bb59f7a97a5293d2156e3acfbef13c3a83b5eac3ce8297aa01b25423add40d3d0e654b5e0007f34556449e5a";
+  sha512.doc = "170a8e35c4f4c86751db4d357df39dbc215126465e784829cbd15e9226d04b92aca0d7836312c114d1c699daa5054883f364377d1f355f97024b63741aeede0a";
   hasRunfiles = true;
-  version = "0.2.1";
+  version = "0.2.2";
 };
 "emojicite" = {
   revision = 55131;
@@ -13893,13 +14197,12 @@ tl: { # no indentation
   version = "2.11";
 };
 "eq-pin2corr" = {
-  revision = 57815;
+  revision = 59477;
   stripPrefix = 0;
-  sha512.run = "878bbe22ea7a71b486a38942d11ab15a19c8fef10ac90e06b235a87a15f0e4478d00d7671751547cc0c8c440924c92cc7e07dbce4c816fdfd114468104fec040";
-  sha512.doc = "cc1dffd4989bdc5efc76e1ae44a8ee5f7cdea0c9617f98eda3ab0f079d242b408f91d80595a699212c5cf5910cf182c64d98517d6582af14fb1bec074f344eb9";
-  sha512.source = "eb0d10e680a935f9919b9dfcae1b137549dfaece3047b62e2ea06280cb3075d3882546df470f05cdae9716eb128f27faa981d86408acb50b85eced63bf104769";
+  sha512.run = "631f8dc9f50f7a45a0d03f0c4210af427cf8492d56886cedeff6cb0e9587453976beb1ac960afb53b7a31538a176bb63f55afd330ca2463847f86e57c3d545c3";
+  sha512.doc = "4e704295ff398a2e167293178d69edc4882e9b9f37dae4f9debda7edd921a7c2d19c036b4d1424405ac1b9853e57615d9183fbf56a763088dc58919842da2720";
+  sha512.source = "eb40f073d1763c59f9a0ed0444930f6698fbde754e213a73bff251df7f83b2c5a730345104d3b947ee8400363d324f968e3ebb7b74ed6f484d0c3589d5134b37";
   hasRunfiles = true;
-  version = "1.0";
 };
 "eqell" = {
   revision = 22931;
@@ -13976,20 +14279,20 @@ tl: { # no indentation
   version = "1.1";
 };
 "erewhon" = {
-  revision = 58722;
+  revision = 61395;
   stripPrefix = 0;
-  sha512.run = "ba9a24a32010d2f69a3bdfd1f146194d0962f3a2108c1a17416faa4ed331fba5315ce2a30710c1778f75fa6d3a709e52c6b6781f4fc2a4634a91706945fcc45f";
-  sha512.doc = "3f95f89b51be6b373448bd2fe728bb55d2a1249862147aff0434ac92d8b2628ac25ae2c9906aaca8d932a2cafb6e6d57b7ea674857934a98063cb717d619375e";
+  sha512.run = "0eedf87605020e9e012a44fcbc43eeb88ab87286143b5516a4cb3e9450a859927b93f488759b190059feff7e4dfd45f28a9d6cca81a0e4c9438dae273efd9abe";
+  sha512.doc = "140ed114d442bb947627106d6274f05fabce2592fbcb8fe85a82192c9509e250ee484e352b2a5df74bfb6db128d075013ad50fe164592dcb02b7124a8e936ba4";
   hasRunfiles = true;
-  version = "1.115";
+  version = "1.118";
 };
 "erewhon-math" = {
-  revision = 56703;
+  revision = 60614;
   stripPrefix = 0;
-  sha512.run = "1e1bbdf2bf030e8b8c09c955ced895a93117eeb6c6a6f784ccb62c65d7e3fd6c5f536b23ea86eab3f306f0734fe3c805e22e61dedb5a5a06f41b74b8e89efdde";
-  sha512.doc = "e422d287b0fa687e1bf54dc96f8adf1e979c8d2b6cfff2a5ad2e9d3ff8fde95ace136e2317235f6ad6144fe359385401569ec7aa75c273d48c3b7134b4273e74";
+  sha512.run = "c82d28bf92bb30b45ba070c620564ac1a94f5576bf51ae85dbe2f6f9e155ac2c0787193e4c3542a1e32d1c3ff170fb9585e8ea3ee5be8b03daa27cb57357ab2d";
+  sha512.doc = "ed6be6a52b9e59bc2244e4f54cf52c5f1817af051e164d5b01d1c905559b8d43ce133f7b09fd35ae23e54efb191b8869bd7662fec0b5c1363bc2c64e7f9f6c47";
   hasRunfiles = true;
-  version = "0.45";
+  version = "0.47";
 };
 "errata" = {
   revision = 42428;
@@ -14017,12 +14320,12 @@ tl: { # no indentation
   version = "1.97";
 };
 "esami" = {
-  revision = 47639;
+  revision = 60730;
   stripPrefix = 0;
-  sha512.run = "bbf24974b4feaba88b92b3179af6bdb45b86053ae8037fa41c99d0823cf3c79807283c01370365ea0264ba1eee3c4c289fadc5c2619900e85657366c14920a7d";
-  sha512.doc = "d9f57db15517f47d648e4ef91111a843fdd7f0d0706d1a863f5b4f7c65008c00507c552975c01b60c00cc724e63aea24f7a6b40930148bc981e200866cc30ac7";
+  sha512.run = "83f00130432776d8eae210c15b6bc171d98b23d636ecf043424248357fee8efce3a025340772de933c8b920dec4fc7451981734439d2b82724af57f343216784";
+  sha512.doc = "7e1dfc05961f8635eea0a67aa4b2007029d4f8d9ad629a9dca317c5ec279336b28d01e1c51bceb93814a636802f3ea1cf8d6090ffd81a99050589efcabc8b11f";
   hasRunfiles = true;
-  version = "2.5";
+  version = "2.6";
 };
 "esdiff" = {
   revision = 21385;
@@ -14033,6 +14336,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"esieecv" = {
+  revision = 59638;
+  stripPrefix = 0;
+  sha512.run = "c39e028de2f9cfb981baa2d36335863d6e3252a3bc3e1ef283905fed24daff609a85748dfbd34db0cbdcf7131f4db3aa6d66d0e714f0359b287cb14efb95f568";
+  sha512.doc = "8bac60946fe2a4bd5c1ddd55dd314c59dc7fe45ce33a214021de68bbe03b610b8bf1d6ad426e855e10340953176285132017563c41f0326c273f2ca790be4acb";
+  sha512.source = "73f00171770070e8d71396540fb8adeb79804b341c7906ac7ebaf67d8d9696a178b5458d6b4d7bbf2949c9d7e3a6d142bf682931763714c5d0ce0a77416bd28a";
+  hasRunfiles = true;
+};
 "esindex" = {
   revision = 52342;
   stripPrefix = 0;
@@ -14136,12 +14447,12 @@ tl: { # no indentation
   version = "1.2";
 };
 "etbb" = {
-  revision = 56390;
+  revision = 61377;
   stripPrefix = 0;
-  sha512.run = "f21ea49a1404b8a495477d5b4ef440b6f2a363af50e6e93ff1f7ed4c36c88a133aa586ddb409b38a74a1ad7c181d785ce4491d259f5249000fd2cec2e5e73866";
-  sha512.doc = "8527190d3f646d76833dd91b9610ca3051f499552f23b06ec88b4601c0b86ba5d9611520bfea49283451911a379b3b415ac5bfc6ac7703a4fa51b86356719f00";
+  sha512.run = "0b5165504a2bf40b4f95f1f0d6de547a43f680831e0777ca12f8ce85e0e0514279bcd3d65f4228a61e004c93ad2aad239940364cb9e35927ceefd40c3ae73757";
+  sha512.doc = "6beb4f5d4430d11bb96248e77152d06c91077d92b5408c29436546de1001887f860c2cd9475a5a99c476fe4c902c9dd1b2607aa11d15b69ceb2e485e6ac53078";
   hasRunfiles = true;
-  version = "1.051";
+  version = "1.055";
 };
 "etdipa" = {
   revision = 36354;
@@ -14199,14 +14510,23 @@ tl: { # no indentation
   sha512.doc = "81f2ed72d5cef9119c94c4b0025e31be6739153e36b7b31a2c59b0cbe5a683a67746da8346345d561472fdbb760c07831d1936222ce1388ee12d70c9053ca8ac";
   hasRunfiles = true;
 };
+"etl" = {
+  revision = 60998;
+  stripPrefix = 0;
+  sha512.run = "14c5db74da0c3878609323b450c99dbc186c97997079d09acf55bc8fe78a2cf9f7fccf7c89c1fe02ef8fe9d532fc3d33e85d77e374d4f0c601c6251a04472dca";
+  sha512.doc = "2a1dca3962826cf749d67799c6d871b7822b16f81c7ff3473628926db217812ed5d85ee2da351245f6ff7a973bb1b90b61951101978693fb92f07bc86425bb2b";
+  sha512.source = "1be3c92c55576ea6906f08461f08269fc4840815124c3f1f09ed145a680de3763e3bcd88aae61c46d872e05ea34c302625e439ffdbcbc15d7565eeb250b177e3";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "etoc" = {
-  revision = 55156;
+  revision = 60589;
   stripPrefix = 0;
-  sha512.run = "4000c9627c76648046d647843dbcf93f56111433d0294f8fe448549191886dd4cbea8815910b305f9e27a18b42a85ac8fe8a5999584da60d66a67f4a376d227b";
-  sha512.doc = "377963e8ec9af3fd7fe1f164bc2dad566f18d7ff8bb62689d0119641f5aa61fa0ca091f1feed7d968f86db3bfe1035f915de120724a2d2cf912f1787f3eb3be3";
-  sha512.source = "d870677e592cdc503c8fdd3b03e568017c7d8f4cbfb9ebafe3510bcadc75f85f613991999dc67ae601db8ead068d06af76c1e0e1636c930313f6f04e080cbd6d";
+  sha512.run = "213333f17e4b6a95217fecb7222ed62f46b60e05a522897481385d28bf12abb69933520daacc5791f36b429bff57b3f05322a8e3b1de8635051544d7ff437749";
+  sha512.doc = "85c82e7e7b5cf655aeea010e58a7b7c90801f6626e9dccc8cc555b29220b50deaf1d7f822524f95b5a516fb628f93578c6c605b178b2b2a78e64c6f19602499b";
+  sha512.source = "209ec3f7d21153270a43453c7510f72b36a1be33ce4b0d08c28b70dfbb5ee7a09352a9fb019063439527244ddf42157dd374b729ce6d29e53f6ee67d0607eafe";
   hasRunfiles = true;
-  version = "1.09c";
+  version = "1.09e";
 };
 "etoolbox" = {
   revision = 56554;
@@ -14232,13 +14552,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "euclideangeometry" = {
-  revision = 54897;
+  revision = 60697;
   stripPrefix = 0;
-  sha512.run = "62900fe71550594672cbcb6cc22d067aae1e6315e54c76888fbe3db2b79558c25182e05c028e2e0504fa1f19168276d95684d0dcf76c2aceb600720cf090ae1c";
-  sha512.doc = "c12dfd05e72c4a081068af962fc223f6391793436ece1e706bacaf205c69ba01ae9a7263e1069b5e10ff4dc8a7ad151558ba188ee6c539d8e297d57dd6e1c45e";
-  sha512.source = "35805bde4c06f9589467808497de577b58e8eef5f788671c0a9ccf2603d21873d71d980b07f1acc411d7eaeb9bb7868a6bfe562055be030d802fa88fbc16c183";
+  sha512.run = "cbb755602a75397494bf745c62ef1a1f9bb0e0a1635a20e9afb839a0e02c7b2041aa1b8364c8f8c17ca5be1d296831a8444f67d74ab8ce415583d7ddf81f9de4";
+  sha512.doc = "2507ea02223d4da14b79e3343f765f65259efe3b6a2558348cf1d2514d0ced1e1e631b84d9dd0b178b3faba455f5bb292b6d16fc9fa9f21e0599d272eaca7f1d";
+  sha512.source = "db799a444094b0e0f708cfa7c4d5ec0cc52a1652254bd28be4e8b8e8325d6aad3ff6bde84d0378ad43abe9d008515205def78657ea7b196aa23010cec46d8f23";
   hasRunfiles = true;
-  version = "0.1.8";
+  version = "0.2.1";
 };
 "euenc" = {
   revision = 19795;
@@ -14277,12 +14597,12 @@ tl: { # no indentation
   version = "2.5";
 };
 "eulerpx" = {
-  revision = 43735;
+  revision = 59905;
   stripPrefix = 0;
-  sha512.run = "1dd4c01260b9f2cf7053d7867530b1383a1b1218719a5a58895bb56e61416f9a93199218670e88cb59f0d87e65efdd7f10a218b45a165894c13b99330797296b";
-  sha512.doc = "d755e9694d0631e80ccf81f78a2832ae22269ded788fd30f0acd83a4044ddb4ee4308c26ae5f79c0510a2986f146d28847eabe200015bb197805d57d149ba20e";
+  sha512.run = "452b92118da3d047d70803719dba988456f04ea3b68ac229c37d8d7e57bd37aee6e548e261996f974289d80ec748fe3e307771e77cd824e5caadcf563a1ea2a7";
+  sha512.doc = "c7080a2a50fba165ac6b3d353cc347c46aa7cc7908291c805756843a008f043189421c5d36d0e5a8f4fd4aade85a0ddf6eccdb63a69482664376e4b874c3e582";
   hasRunfiles = true;
-  version = "0.2.1";
+  version = "0.3.1";
 };
 "eulervm" = {
   revision = 15878;
@@ -14318,10 +14638,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "europecv" = {
-  revision = 57641;
+  revision = 61398;
   stripPrefix = 0;
-  sha512.run = "9010e3d116f2a9fbc00f9da15b98ef6b5dd894ae94e3ddd82842f088f4d867c9b4fc186597e3885f7acc59d0ae51d9dd75b0a7c8955c2c22bd0295e2298cca89";
-  sha512.doc = "ed502dcf747360c2fc2688e2d1d3e90f145f05488925a5cc2afc5354389b41a8916713a31de7fa8f69fd42f6ce104d7404e3bc55b786ea045a430a6119880768";
+  sha512.run = "7c9884f1d080659f648454ce2935d1d503a1fa8b54a33534e43621d8808455e4245e859fcd4559ca6af5370c55a2e43b56f5760c783bcf8d8c81e3bddd8e3275";
+  sha512.doc = "2860cd7079568d49aeeebc28d49b523dc86b8b76fa1e0d0133808f08b43471d267ccba9cd7dc888ed1e94f3b27fe4a01c093b5e439572d41004d9f1bb32088b0";
   hasRunfiles = true;
 };
 "eurosym" = {
@@ -14392,12 +14712,12 @@ tl: { # no indentation
   version = "1.1.4";
 };
 "exam-randomizechoices" = {
-  revision = 49662;
+  revision = 60125;
   stripPrefix = 0;
-  sha512.run = "0cb93637dda7a7813f8f89dba62db03cb1c1c6da5ce5dae596a14321fab8c46a5c6d67432c31855b66b37b0eb9086d23b5bf2881bf8fa41e410ed7a4724d84bc";
-  sha512.doc = "74daa43aa020898bf2a969e5f6fa09aea190209dd71eab222dde2b30cf2f6e12936b454a62b328aee59f6c3ae13bf5f7005ec3aba66766ade77672f74bb3ee8b";
+  sha512.run = "b6650105435a758ab59d705f1b7ec691c56549376f914efae023db2b40bcc290cd080db81a0ab2a304195774b8c6685ca6e78b95519590984ac7d82ea62f3fbc";
+  sha512.doc = "898a7ed9df2238b59e956f115b969e74f29649086ca4801e35ab3752c68a9b21b2757d712c75161e5092002dd4b30f0a1f294b86e100b579c0112de547c3b5b8";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "examdesign" = {
   revision = 15878;
@@ -14472,13 +14792,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "exesheet" = {
-  revision = 55916;
+  revision = 61061;
   stripPrefix = 0;
-  sha512.run = "004142161c03b7ab411fb86661d955ed0d401f19e718e353c2df45671042340024695910afd489850617aa28ee63593ddd2e0b5a708d68ee5285a3a4f30516c2";
-  sha512.doc = "54e8d5f23dd2cf26440e3b3078b0ecac1f1dbb18d19cc1a0e0b46344aa4dc6e48b7f07f62374a4f58563e3ad924fbd7189295a7747bf54bdaaf2d74a59f7301b";
-  sha512.source = "04a35ecae44e9cd022fb23f7c7950288975fe91ca0b5bfceb640e198bef17e6d8cbb70df493b40cfe97ea3ce9bd6b0bab1f1c5c997217426f6bd6de8c25a8633";
+  sha512.run = "921af4a07943074940d311ca75afc3949a3bcc2d01584874a0d1fa4e98d830b35f0f100f335a924a99d3f046c64a14100c4a61878c54bcc346641274f369cf24";
+  sha512.doc = "aeb8ea670171118f8acd381544b736321c6b9dfaa9e2b5ccae61caed1ad664b78118fe56b766964bd0466c05f2d7d7e30485117e9d84a619da09c57587b0035b";
+  sha512.source = "de56a65bafdc5f26278331e4ba2167d163b90e544a476c4ee4c97a66ff9e5154ab249bf5bab7cb5b4868ce1bae5c030d1e40de5a4d1378cd050e0ce0ff6e42f0";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.3";
 };
 "exframe" = {
   revision = 53911;
@@ -14516,31 +14836,31 @@ tl: { # no indentation
   version = "5.1b";
 };
 "expkv" = {
-  revision = 57247;
+  revision = 60573;
   stripPrefix = 0;
-  sha512.run = "b8270aa4e1b827a6799869584db6e30600a4779937de424548a3dc22511e4bad4d096389038f6423731fd36d3e93be59e789d957388ff243a1e7bbad65bfe8e8";
-  sha512.doc = "31182e02595893c756fcac91222ef640e8c39c053ac98140769c470c126bb85d2cf17f9b342bbacc6608e136d13aab5528761650135d64b6fb3b5014547d6cca";
-  sha512.source = "2c1ad532623a79222a886706c890bdf5c34b80c58a1d378c54bd4d4ef3d1ed2f38d5bab9b415d4f1b93f4562b47e387bd77463cb0ef849a8029002bd96cb4122";
+  sha512.run = "18aa7282095f5c5f3664b9ff138f129acbebbeb16f5f550aad594a62eded5f08dcfee2efa9b34327c1fb5c6976e782361d2c372088c73b48d934bce1febbe068";
+  sha512.doc = "2111b0638d5954b396b4e30d5a36fd078ee99477c378fb61537c8fb6365b39c1990965af8f1a3435ad088344374de329659b4822756299951585c6e19749d891";
+  sha512.source = "9bddbc840021b8036b180bc8bf28cc2368dd705114e90bc5c511a8e666fc2e182ec3ea6d777ba6f5b712e4aa0cc30c03418a0aa6749ca77bc990a93fef39da22";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.9a";
 };
 "expkv-cs" = {
-  revision = 56693;
+  revision = 61109;
   stripPrefix = 0;
-  sha512.run = "128720f96c0801a5db0be297702367a29f9c37363e86071496c69fb5d1cc0641585f01cecebf919ab4cfe34ef93964bb96d84ae8e29ddc91bbe1e844137d52da";
-  sha512.doc = "c28461c7bdcd905036507bcada41a720e0b468bf3f431b750672303baf368a1285567e632472610cedfc2de1d3b0941007113e1caee7042593c57e1f0e9fab4c";
-  sha512.source = "7ce2d0ba12959c7f8e1a93f175d6637af95de461d04e651c5e356c8428e2a3f7ac2a1f240606e9feb03b4a8032d04400f2fc101c073cf09b242f3deb56b6b10c";
+  sha512.run = "eb6b03b1c69ce3a127ed1cb32a117c5a39ae14068baf26fab7978a482f8c5e40fde07c9fff486cfc331b61c27e32a70a374eb91e5e06b142837842fe68307c5c";
+  sha512.doc = "abdfb23e0a2862670059dc392b8b15865c551565ae71f5a9053f25b0725682e7bba428138bc545c836af0a264f30215e0a361a1b128bf225939faa21f6e41203";
+  sha512.source = "4bbd92d41d84aac9c67a6af5e9a6bf977c8a11a88505cc11cff52e59ec12ee280510a1f97585415569acef8ec2aa03541bd27c5b99134fd41882e7bdcf71fda7";
   hasRunfiles = true;
-  version = "0.6";
+  version = "1.1b";
 };
 "expkv-def" = {
-  revision = 57246;
+  revision = 60572;
   stripPrefix = 0;
-  sha512.run = "034a3f9dc0672deb9d35a1f6f27c10d77b0ffecd82697e0a09216599472cb6d982855c7900f1b7f39a748478b0d2a1ed8a434ba676293444863e50fa9b30a07d";
-  sha512.doc = "b689125035104ac0693297b018f8684503b69e166f23e02e53224454d0319e9f7e6867e1bf8bc3e32498dc7af709a67165f26bfe3e39d86de0a56b0f2c16c307";
-  sha512.source = "004efe1983799c06ff03d793ee11e557ad55242ad29c1821680806495c441277d9dc1bce9d01edb558b7ddd7a71ee12e597af63663f72ac728a4d0d68b0a947d";
+  sha512.run = "fb18169c900e8e22aa110b4bedd57d06f69bb87d728a4aa92eda0bb734650a6df2bd5de9939f1d4bac34e33329824bb3dc71009fff18212f2632cd4fd37a9a57";
+  sha512.doc = "83bec61be058267c276a915aa059cff789e93e890a20f259820e17d350a771afbe28405edb47525ea09f1f904b24417e755cc7fcf955cee875dcb727d64ab06b";
+  sha512.source = "3631e9b8e8af27880f7a227f3bc494c2167877dfc3cfb4e9b4a4cc9acc9a37f4b8538a0a30b51bf3698bb4a2a820fe1ecbeb1173a3f2a91bb0467099f81ae9df";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8c";
 };
 "expkv-opt" = {
   revision = 58772;
@@ -14728,13 +15048,13 @@ tl: { # no indentation
   version = "0.92";
 };
 "fancypar" = {
-  revision = 49801;
+  revision = 58895;
   stripPrefix = 0;
-  sha512.run = "18a4989c979c7d0b1a5c303b4663484e920962a5090e229d7b75ac5678860fedbc95df530fda954a3a2602a740f7afdae3e41f6a3e07405d77263045a6c62a1f";
-  sha512.doc = "98cb690d9096a73523bfedc6a2ea35414e34043d5eef3d73d337c3d4feef3bb98303a22a1933eab53838e78cffc8ca1ee36bc00fdc13a50213849d87fa92c553";
-  sha512.source = "dbbc831abfc030a45f530ac6e85cdd449cd411a2e5e52dcf80bc20770801c626cdb308012610ef188b22b7e9c4690836a65ad543ec6022c75e02f72415aebebd";
+  sha512.run = "2f4e242eabb151834c6014a15d0ae012949e5e35f87bc32374e12f032bbb0fa21d6562b207ba855afaa28c36497cda3ca51eaefa579956f51283c84be8cefbba";
+  sha512.doc = "1d972212b86e56eb692cbcca5d7d47b9454a6c0900803818c286b6cc071df93c5444d36eb29a8035e53c65fc9c30582686a6b9203af8e142e1cf1c31a6e4d58d";
+  sha512.source = "3f88c040637b50d49981474b38d50cb5c3ba7baa5b6390b53f98e3315d1f17f0b0c48780f4c719583f3e452041ddaeb36fdfa367a616ce07a2758b11db152d39";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "fancyref" = {
   revision = 15878;
@@ -14772,12 +15092,12 @@ tl: { # no indentation
   version = "1.8";
 };
 "fancyvrb" = {
-  revision = 57488;
+  revision = 61368;
   stripPrefix = 0;
-  sha512.run = "cbbdd7c868e6d238b4e82e59f7e8b1917d64ceef2b75d7da7f95b823544b1fa0d05141a248ff449df52f784100d79ac8f609cf4025b9d3db5b24920dec3f0863";
-  sha512.doc = "1de32c07f17b316e0ad8704f3c800d75ecab9a6e3cf80ce8c725c126e77353ed9685a1d8e9dcd61295f80b975814ea8c67c11b62fe5bfae71cc2ebeffb440d3e";
+  sha512.run = "1c3dece8b9dad1039bda104bc323b87b17ef4d878134302e7e4e392cab88864541878414d10f9d791bc8f141a3b41955d6ecea499776b077b9be97b96c8c8659";
+  sha512.doc = "8bd77db9f0cf500e6b5c8327c3bb1de9aa5d68530dd6095a6174d3a7d09aa247c90cea8f6416b303decc8be42538168d91fd3409a6f725d46420981378f95269";
   hasRunfiles = true;
-  version = "3.7";
+  version = "4.1b";
 };
 "fandol" = {
   revision = 37889;
@@ -14861,13 +15181,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "fcolumn" = {
-  revision = 57428;
+  revision = 61130;
   stripPrefix = 0;
-  sha512.run = "9bd1bff80e03a080f2d3778c89c19478691cc119361229cd66b776e24260ddadc30ba37fadd5a82c631c14b369a2045960123f5b1f169ec699d9ad627ded3256";
-  sha512.doc = "fac7e6eae8c6c3d1c6b05eefcca881f08334ef32a10946227f0244c74460f3a66926e6735342dfbf4da80228a0271b10aed8b42fcf66eb72ae41ff74c9f72af4";
-  sha512.source = "a343431efc38bb19ec033e0791c7b5712324c2dc92837b9d620b6a35d8a6fcec24faf04cb71edfaaf34d8355ad2f40c7ab51b21f4b3ebe1e4e84cef0c2af6487";
+  sha512.run = "5d17c65e0cc6f3fd74857e681fd6ce4bb6f3ad0767d162e3b88c48cd51bbe3f61d4ab7974b40435b909bbbf3bcbfe0ccb709fb3da64756cad5a152a14e8d47b4";
+  sha512.doc = "a6951a47758b10603ee69d4bc65b45dfdb0b29ad9986939bd89f74a6fbffa877d7af258ee64e70c7070a71640250701d7e7054a07fac60fd8c72e08a361d1d9e";
+  sha512.source = "738bfbcf9a6689ff1fab74d6fe1235285fe1241cf7fde91d51071be5cf7fc2a5bb2181d3ad842389b0343c57f430470bba5779ecef8aeba8ac1d525c78cb9d09";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "fdsymbol" = {
   revision = 26722;
@@ -14896,13 +15216,13 @@ tl: { # no indentation
   version = "0.8.8";
 };
 "fei" = {
-  revision = 55960;
+  revision = 59589;
   stripPrefix = 0;
-  sha512.run = "6f99d70485a3ecae3cef9af7e545cc15f5a45ae0f84266fe6d2d84f7ae58bc3b7e3138e28f42a577362176a996df05a2c12375aa4f58f14297619ab2f32a3cf7";
-  sha512.doc = "822502abad87da654f0cad81ec87bd6e1be92abeba74066a7f96da0455a80697855b783a75e30e3c1b0d740db9fd2880d25ae1668da9802843677c84dd3da424";
-  sha512.source = "d72b86ba677a71bf5dca8c2b39ae8bd202544a3320e93f776477e6977aeb3fe3d47f8362467b95ee6667fd46dff3801164380808693b16fa9065a31d694df7ac";
+  sha512.run = "52c214fe548e29cab53e508d51fe6b0cbab8d2604507e1f030f87cb8d9014bd91a4e4c9a07f4e41f98313eed4f2cecee214e22b02e5a7a1e5c357f01e0adf840";
+  sha512.doc = "6d91dc8b85a6f3c89c8163890c44d62076bd9d411e95f00d902b02ca640c9bca6cee7181c55425943798687af31635af0d73cfb46f3a7e07280346692df3cb45";
+  sha512.source = "9883b3e37ea79056359407077f44aa6a3ea2612128ee92103c9a2fdf04ca03ccbefc294aa1a47d5736c5dfe5a70ce0aea32d5196faff0387a4c18d7915b62f4f";
   hasRunfiles = true;
-  version = "4.10.1";
+  version = "4.10.3";
 };
 "fenixpar" = {
   revision = 24730;
@@ -14973,6 +15293,18 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"ffcode" = {
+  revision = 60500;
+  stripPrefix = 0;
+  deps."microtype" = tl."microtype";
+  deps."minted" = tl."minted";
+  deps."tcolorbox" = tl."tcolorbox";
+  deps."xkeyval" = tl."xkeyval";
+  sha512.run = "0151738d8bf73bbdeb742ec238038eb63c8dd979ba156ce36cdf509dbbc2e161e80b031e4ccc552a85dbbb09238e634d93bb1835b7068fcbc82b8a6a7539a846";
+  sha512.doc = "878e6d0bfe32f4d38f1a0a2710010944dbbcdd29a679f8d66be41df1f31f8212a9d249a980f50d7b7b6d03b214ab7dc8befd07f885c062b55075f280796e3ee6";
+  hasRunfiles = true;
+  version = "0.3.2";
+};
 "ffslides" = {
   revision = 38895;
   stripPrefix = 0;
@@ -14998,15 +15330,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.3";
 };
-"fibeamer" = {
-  revision = 53146;
-  stripPrefix = 0;
-  sha512.run = "7f10c002cd04dc2624f84bd2da11a9331639a33a5a9642a7ebac96f28a4af3fa177c2088557bd966c4250d561a8b8813b042e7fe9c456e5b41629094dffd5c64";
-  sha512.doc = "1121bc8f0f7c226bee621cd0bb5f75a12cdb8dfb64540debc6b25a24a34b939d4dbac04cea3cdd97372be5b355fe028a0354bdf2393160b577f10fc31c2ae9fa";
-  sha512.source = "50993fb045581fc04281266856a7bba7c2b0c9f4052a01543139a2ee4a0b376490aa5ecf0f4a3ad7a66b48e0bb4817e297dfa6002a27b57d6b5d2f819cc8b093";
-  hasRunfiles = true;
-  version = "1.1.8";
-};
 "fifinddo-info" = {
   revision = 29349;
   stripPrefix = 0;
@@ -15047,12 +15370,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "figchild" = {
-  revision = 58759;
+  revision = 58964;
   stripPrefix = 0;
-  sha512.run = "6459b58f74c4e1c752fd25827a45957fda5ef97beb5606575ec045cdf3703343b545898d1062fd6638793d1d6961893fd5500b2b5a9cd2aa04a9620f286eecd2";
-  sha512.doc = "0b4f1759cfcce19bc429a46b669114b981b02401b16e2f816801206f3372ba3d51cc3ffa8e23005e76909e35690127548a1c9c3be054741d1cd13d32819f0fb2";
+  sha512.run = "53fc2af05bc5f68d1fd14ac999c0ce957feb7e545596089ee06acc64ffc43102bf374957a805664a5443ffee420a9afaee2f912fdf5f6b52442b36ebc1f70879";
+  sha512.doc = "87c6e78b3989d5bd9d0b527c79f9c69783319b4dc02754ede8e027e187f8a3c59d3194b23d6a5d8510fe6c3e129c0df1bad272b6d667d292b7510f3c1baa904e";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.1";
 };
 "figflow" = {
   revision = 21462;
@@ -15183,13 +15506,13 @@ tl: { # no indentation
   sha512.doc = "497080fdad8195bdc43bef476f9e678b49d83829f10a6653c9443d327cb0da8505623e941cd3038349b6307ee37a65ce1a3d3eb48e4c6262f9d636d10d96e17b";
 };
 "firstaid" = {
-  revision = 58440;
+  revision = 61042;
   stripPrefix = 0;
-  sha512.run = "31e74a644d0b2a9b0f659207195cc39b7b0cdfd44c878caf541869a114ca90990637c04b3da74f9f49e2dbcb30863030fe901a67b200d1aa4a9892ff41defe15";
-  sha512.doc = "368484714a5b45d47fe6b86c8025175d034842cc6e64665f574040bdd89cb42b02a739edca6806d3585a484cf55ff083616c0a210a9ca65916477ddbd4678b5f";
-  sha512.source = "9c1c4ad607d2c9896504637c8efd0f7dcbb1916e7f671ead11552fbb6bcf0f8af216dc40a0ac771d3e804a02f65e12067082d001f96506d8d5435d93ff513ba9";
+  sha512.run = "a36eaab9dce47b936cd5ecaf3a6134d967545b6807ae27f412b4ddb04bb8f6a72116509fdb6c7ad92b0c058ebaf021e1c901a55131e03845e7ca0a7ebf16bb16";
+  sha512.doc = "e05347ff89ceb02c154618a0085cc7c2eca0bbc463d47a48160feb35cd61985e55dcd03ac1df6789330851493ecc3d0df1c391e4391f29807aa1703ee36d0834";
+  sha512.source = "3bff1166851ff22c1c2c25d5c1b2d3df08d2cac1564b987185f524e72be5d99a9aef755ac2b54b3cd949d5be112b1b6a982c4c3a73be3d3f4aff9488682c351f";
   hasRunfiles = true;
-  version = "1.0j";
+  version = "1.0q";
 };
 "fitbox" = {
   revision = 50088;
@@ -15201,13 +15524,13 @@ tl: { # no indentation
   version = "1.02";
 };
 "fithesis" = {
-  revision = 54483;
+  revision = 60795;
   stripPrefix = 0;
-  sha512.run = "fda3b077f21307d883b6808fe69b7dafc7d9f44c60ce48bcf10ef14e22c03b4c91b73b9fb626a2c1a8171aa3b66defcc926705c70ab5a264c8c64b847c66ab06";
-  sha512.doc = "7445bd2d5065db20e62a4454fa4f7bd39bbf7df0681ca5e73af06e21b9121b72c32ce8903f453f5c24e7c82f987726f8c9d3a54f40b44f9e6c5c6e419be9cdbc";
-  sha512.source = "087fd64585722b8fac089f7e7a07bd500f712a6fd8044164f1b26293cf18ee58c4f32f48072d08fab3c93af7d85aa5ac40ef7c86ab5c5081a862247675f7a02b";
+  sha512.run = "0d6d27f8903035d0ca2f639218d2bd5b3454fce67d10bf480512855570b60cce4ee218f0547ecf7a6af40a3b0949a7cc102100e8703868fb909d59ef9688d890";
+  sha512.doc = "5126fcbce3044d53d24cf50c18f965db083d97f7c1ebbafd4866feabfca2a7ec95a90b3e5266a6a13f76ec08f4bc75270f4ad24af8c5c5522e0d9abcc758c609";
+  sha512.source = "d27a14c1d837547e05ef32a34f72026a79eca21236faeed51860efb883245a871ffa62516f97e865dc03abe9409b43ccde713c5e412e4771bf2c1439beb349fe";
   hasRunfiles = true;
-  version = "0.3.51";
+  version = "1.0.2";
 };
 "fix2col" = {
   revision = 38770;
@@ -15519,6 +15842,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"foliono" = {
+  revision = 58877;
+  stripPrefix = 0;
+  sha512.run = "e5082c626e22acbaebbc7abadee75a71e3902af989767bcfba5d851fc89e771cf8a331ea540c05e6455b894351fdb6af6c598b5440e55c553662efdcb73cc093";
+  sha512.doc = "f03abc88291b2591b509a575735f6fe3e29ffeff52e0d2cbea287efe5426b7668462e6133394374f01aa3b968fec035e6a40a8bee01b12cbacf90fd0bca80b2e";
+  hasRunfiles = true;
+  version = "1.000";
+};
 "fonetika" = {
   revision = 21326;
   stripPrefix = 0;
@@ -15551,12 +15882,12 @@ tl: { # no indentation
   version = "4.6.3.2";
 };
 "fontawesome5" = {
-  revision = 54517;
+  revision = 59462;
   stripPrefix = 0;
-  sha512.run = "2d33d6faae95c3d275fad5e0a962e7e8943ece8e311555915adf6f9cec9864e00a4309d42e7e171220f16c7ce8f7253499513f0d118685f0a7373de98c9fc886";
-  sha512.doc = "24c198c2abfc82930b43d04b1b855715c48b7b1d2517d955745b6eaea8b4d81496af627907a3e7d9bb232df442c965a1ea84c427bc1a8c964cc83dc123392051";
+  sha512.run = "06a12635f8f847dc6f51e57ab122aba09705418b13b13bb23fc42c4f5f9ae7518bd509e47f4d591847077112b3e7588d7402a3b11d1dd3b93a71aabfc41d9e1e";
+  sha512.doc = "35e403c1272908ce31a4d3622747317d2a4b482a2aca8be79df29478e92acd4977ace576d3ff8424005142edca2e4f4c3b125f5096c7f02ddd120f2b3b0799db";
   hasRunfiles = true;
-  version = "5.13.0";
+  version = "5.15.3";
 };
 "fontaxes" = {
   revision = 55920;
@@ -15592,6 +15923,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.933";
 };
+"fontinstallationguide" = {
+  revision = 59755;
+  stripPrefix = 0;
+  sha512.run = "c3f9820453f9cc3fcf4323f382a35255d2dc066dd0c090f55d15b2b28d64d8e3935e85b3dc8f30d9ee50408a48aba0ba4278d4985ead454f177ab1d484fe7b01";
+  sha512.doc = "785a84a3bbcf67fcbb878f331815fd585093de89faee6f2556727ef820e392131545646242ebdef603e85e22e86b1e97f5369db4e1c565875e79683ff4987198";
+  version = "2.14";
+};
 "fontmfizz" = {
   revision = 43546;
   stripPrefix = 0;
@@ -15607,9 +15945,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "fontools" = {
-  revision = 58747;
-  sha512.run = "fed81ca7b52a51cd69be9ea8333ab7eb0210fab3517eb501d08ce933c7d926303a68b095654852de336b0fafa28a11b97517750418793dc61049c85ffb10ede0";
-  sha512.doc = "7ee681471cfddf5dfd919057df7016ad097876c92890e68c4e5a01751210997a747192ccb38682a0565070bd90c471c27a6710bf5a09c7a205475ec01ecd0dc9";
+  revision = 61067;
+  sha512.run = "81deb8f801835eba78d496cb83c7ad396192c98112bc6078fab6bb8c1dc35ac907b716ba07a039e6648795ac2ed7585afb1d301d8db1e04f290b25df9e731c52";
+  sha512.doc = "8be27ebb9eeaf1826d98d3b7cce39d8fb7076493c525456cc6f2bd65de784e9c30faf131421df9594452975cddea5ce12e0e4752d07089e914e92f11e3b9f235";
   hasRunfiles = true;
 };
 "fonts-churchslavonic" = {
@@ -15621,30 +15959,30 @@ tl: { # no indentation
   version = "2.2";
 };
 "fonts-tlwg" = {
-  revision = 54994;
+  revision = 60817;
   stripPrefix = 0;
-  sha512.run = "7239ecb9ffb0dea42d339b1f758c3c4c11f18b6850b5265296c04027922d5ec882d7ee2b6eaf4abb0d2e702ff349833adedc36dd18eac492e191f43da267fdc9";
-  sha512.doc = "a122c38181cb85964e6344c6652e20444e09943cab0d5a25580aaf4cb691cda33808972dbe3a7cfc7cb7970a7233741111fe52d93d51e3fe06615710be4089de";
-  sha512.source = "901b278e652010001b05d485b8a1e1d339c5f69b957965b3bb54791b2ea91d4db5e3ad93d168ae909dde39fe3569b82ba998b372021c66fbd4292bc468f43ddf";
+  sha512.run = "3b1894d677b63c88010fe583381ff7c0c8a7c5c6753e62e166ffa8ae7f18d6a521b12a4e57f16634855f3b807605407cfad110eb405a3ad334f8a14bfacb6338";
+  sha512.doc = "93de1f1c668d460644f8246ac25c47f10d99e91c878c50c3096e2df373e521e54412c239d89f5372c767cd768f7973b06f97f25705e865dd5c36cc3674496c0e";
+  sha512.source = "555a7e3fb1f1202412dda95924b692f21b6ad7d1abb68b5fa789e360667b6a23bc377651d592d43aa67728a8bc9f2a20ad5b1cbca85c412b90ce8a8654b07b17";
   hasRunfiles = true;
-  version = "0.7.2";
+  version = "0.7.3";
 };
 "fontsetup" = {
-  revision = 57553;
+  revision = 61261;
   stripPrefix = 0;
-  sha512.run = "4bde3744749a14553b1b8a0638584536dc4f7604435597e33ffaf519d136477e01eb410f30e89aa1630c701aaf39ac0ae696215ace362cff002e0d1e4c9b37f7";
-  sha512.doc = "a73455cdeb748fff1e6e7a1ef9ef711b5727799212da6e7be37630f6028a9ce10b13206d7e6f7c08529e90239832a72d054c0cb1d057d548ce898195d028d068";
+  sha512.run = "382ad3ef0e6b5501313a9c2fdd31555be9391c639fe36f45e5758498587f2d5ee61b16e30378f30389ec10947e054eb127b8ffb31238edacc7afc1fc46d542dd";
+  sha512.doc = "4dbf61c2a0dd897f17992770459641bdffb460d46da473ebb6e036bc74f4e68cf49ace575b1816af1570697ce7320e6253702f730e9b480997923431b426c9a1";
   hasRunfiles = true;
-  version = "1.009";
+  version = "1.1";
 };
 "fontsize" = {
-  revision = 58508;
+  revision = 60161;
   stripPrefix = 0;
-  sha512.run = "844d0b06f0192a9d2a4e1334815f11581450ce29ae03d25955fe3421d6c3532fe0b53ba8496a4eb3c9c55bb5cea191f5ad59412ac37763738c0ddbf1b63a25e8";
-  sha512.doc = "5b7c2abc87e808ca33f5b1c6ff1abbb02a4e5b9987f6a44dbe5778ead77ac218def325ce9184b3d300524fe9d0d43c78112c92700b0dcd4a413cba489c6dd248";
-  sha512.source = "1084802e6bdfadff2cd373d69544bc906ef5f3f076e1cd8bffe9b85912fd1202b02a3e43eb0ed0115e1915f78d07d7f5847beabbfbe2cb4d31f17ae75cfb6179";
+  sha512.run = "8e89cde1cdcc388a5e8ef48ccfeecf6f1f25e938c7513081bb17bb4b65f889c2826a929baf4833b2191554f3ddef2dd9c5bbf50f53ff14fe7463ebd1e494aa4a";
+  sha512.doc = "0b4cb325f4ca5b94a1757aea9ab3dc00dc92ee2b095dd35f176e7acbad7e1ec87a7e2b7cdf9ed19bf50095c41f221f8c791c0e7c9d541021768945a84a30e51e";
+  sha512.source = "42b9a587d63a2a0190776851b86eb66c4e7e2811a4367ba659ebc996fcdf365b9447c94a4d04af5129a6b95d119e37735df9b26fcf12702f157d61932f64eef3";
   hasRunfiles = true;
-  version = "0.8.1";
+  version = "0.8.5";
 };
 "fontspec" = {
   revision = 56594;
@@ -15718,13 +16056,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "footnotehyper" = {
-  revision = 57618;
+  revision = 60374;
   stripPrefix = 0;
-  sha512.run = "bac7b7ce8ec3f74d85e0182f1d65fd0c365c16426fcc725407e1d8146ebc15422fe2e10f20570e68802ae2ac405aecf55ec3dff45e7e6c1bca7b57059e0dd6d2";
-  sha512.doc = "6fb3d09ca9c5dfaddedfa2c332634a0b846ffd95f67c1d00346f2d2dab60354a8678315f8987bfd13427909f0d489653f465e03252e84eac13048dbbbde9e6b7";
-  sha512.source = "f881ccb20f056ce3bec35061105f93e520a32565c26a5a8a89623ed5c644d6a6510683e4fb099a32492530f2751f043f65ca29c768b0eb0fae959872ac74b820";
+  sha512.run = "24d270cf9fdcec81a91be4084e371338f1daa0a12c8344b850860bddef360c97d66e7475711106ee0d1d2f4df359abdb2f0005740aaca83651ce92f1d6c89140";
+  sha512.doc = "605c22ffce3c413a0f9caa41a3ff7a43022a9c7a26e43fb177c107c2bc156c93a75f392b29d46880793788f9b5f0ac9e87cdb4c5075a247c17abec2e41527ef5";
+  sha512.source = "77f579a0e7422a98e0fa9898ea5fb36223f66a2b9889a0da1b4cb40736d88d11ca87820503ea934e6b7e41033ca18974df4d4f585d8283a0e62959c9c16ab7c2";
   hasRunfiles = true;
-  version = "1.1d";
+  version = "1.1e";
 };
 "footnoterange" = {
   revision = 52910;
@@ -15792,6 +16130,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.0";
 };
+"formal-grammar" = {
+  revision = 61062;
+  stripPrefix = 0;
+  sha512.run = "b780535573e46257b0663e09f7b923b95258adf6424c5134fc56486937bd82cd993fe360c1d759c230224ac53f6edc49f225a3983c4de59f5845580457660743";
+  sha512.doc = "1bae850e65fc9ca375a1848b4bf579cf4a21cba2c28d743c61a2ebeceb7017eedfdaf7c713a151887221f69d86944f0bd0f71943fadf10031cedf8767338ea57";
+  sha512.source = "9903b5460e12bce7d5ed565751b789d80b6e62bef793dac38bb663673319efe4a3d58d566f28e5f1c492c225dd2a4a91a73e52a63faf73c7b511251bd7a4cc3f";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "formation-latex-ul" = {
   revision = 56714;
   stripPrefix = 0;
@@ -15978,13 +16325,13 @@ tl: { # no indentation
   version = "1.4a";
 };
 "froufrou" = {
-  revision = 57248;
+  revision = 59103;
   stripPrefix = 0;
-  sha512.run = "62879b91bec8db0021f41d8071ba87bf924445aae702eac318e215cad1aa7b612e17fcb52952184264cb37ca33283d1c7430afaa0c73ad8bacbdf4cb3347a8f2";
-  sha512.doc = "1d1c4c1fa5f7ce6d88418c89f2cddee2fa520830f32d246814c5a26f6f2c5b675d80082b0d0075ee3a85d0a529974bb8617490f65b3294871e3bf9708a3ed345";
-  sha512.source = "84f8126bb7a5bb65f69bf656c9009b57595e057f9293f0c14e90c49c164181d0218ac9f2e307092a79094662aee10eb50168a2bbbb2cfe9e4ded602c36e8d1ec";
+  sha512.run = "33efee00b38590de9510689730fa45f1123b5df05fae66fbdb4ffa740e8495309e75c75dba1c7d4d3b58ab7cc1a85d899654a27cc31f3b5eb983f512b5641db8";
+  sha512.doc = "4b19469842e5dd7e0b852e531d2f99159acef4b8eb0cbaf3c03a510673a95896abdc2f80209ce164f71acca58c476d593a30449fcc05ae52851f78f76d6000bc";
+  sha512.source = "4e06412734c22e9035b311771412e4221cadd00c693f13d78ca221b1e07e895f09cac9ec97c56be02aad4fdf7e7f6aee3e04585856b773e455efc499ad04d763";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.4.0";
 };
 "frpseudocode" = {
   revision = 56088;
@@ -16128,6 +16475,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"gamebooklib" = {
+  revision = 60318;
+  stripPrefix = 0;
+  sha512.run = "229c7f89f9e0a8111a9191a40820ad3c2c560428e07234d176fda2718d9394652f28f382c2bac908f6272e1a58c81ebc2efa63c7ba5c522d32e8f22019c80f7e";
+  sha512.doc = "5cdc51138e162d91c280ce400d8f162f34b1975e6bf9b3f23a27dfcae23ffaacd78e950a22e34a5eb7880e71eec55087fbe901fc10a4ad76d17d7dac16996166";
+  sha512.source = "f457bd442aaff8402f793e90556a367a1fe0a82e82af6e9cb01f6270a771c35cde0bd69cc77eed07f04d30fa2aebf9b04b40dafb0ef7569b2c8b429ecc5fb269";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "gammas" = {
   revision = 56403;
   stripPrefix = 0;
@@ -16159,11 +16515,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "garuda-c90" = {
-  revision = 37677;
+  revision = 60832;
   stripPrefix = 0;
   deps."fonts-tlwg" = tl."fonts-tlwg";
-  sha512.run = "304e330de80c822862725f05da0c800ff8043d73398a48a4d88b9156d5575593aa1797e65f88093d3058594969fe3a288010efd2a13e12de52beb405ebfdbeec";
-  sha512.source = "2e2b368b01952c710fa01b68b8b094e2c64905ba9e6375c3d6a5d82a4b63dea5f6343db3898472416ba9e7faa46d660f34bb2f6d3530aca753feb5aa5c1ffa2a";
+  sha512.run = "a806538598cae0365968ab20936631a052dc65f9f6056c39197f7b1c7a5aad717a7a8b72ed2a1af347f8ce91f27d7dcd74b758db8f01fc7810a8d658990bcc28";
+  sha512.source = "58f62ec8020489b69743c0591129967730f9ad0729f7cca343ab6e6fa6675122a1e37bf73f090cae050cb695a14dbfb3c52346e3c528e660484d2cb576aaca65";
   hasRunfiles = true;
 };
 "gastex" = {
@@ -16174,14 +16530,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.0";
 };
-"gatech-thesis" = {
-  revision = 19886;
-  stripPrefix = 0;
-  sha512.run = "c5928d0d383da4057a0ba00d2848d324624228f1a98f0f254b09fea35ba21e3ce655f1fbe02ecc6291921e43e9dbd2ae954d6199dc22c1390bf04670ca41038f";
-  sha512.doc = "9fe1e4342becab8b57d892256bfd0723afea3a3f4ad3edab2b3c374bdf410d14b3105f165aed56479e848939a5cf6c807112788ff3a82099641fa71f4e78b5ec";
-  hasRunfiles = true;
-  version = "1.8";
-};
 "gates" = {
   revision = 29803;
   stripPrefix = 0;
@@ -16214,13 +16562,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "gbt7714" = {
-  revision = 57157;
+  revision = 61282;
   stripPrefix = 0;
-  sha512.run = "72021c4eb7e1ee1b9b293801988df67c0e62fb5f46c7036c4dc75357a95a80d040782c4a71e98690858854d572351445fe6c06269ad8f926d62fd668095815a2";
-  sha512.doc = "c41fbed87dcb702241f8f8c3004854d725083f9e0dd2b3f1bb92a70210539617b728be086c2a7e823a8be0fc9b906cf965b9202fc5c12f4f05e87d73504444fb";
-  sha512.source = "7e7e48208197fe92b939f569cbd0aaa96ba1b6b35821dece635c36572f3309f2af00d86ee70a6db35aa7ed261a4ca446dd857fdc1026bf18bf4c6adeb110ea68";
+  sha512.run = "75cad8b2657d4eb23baa95755b573e9ca3e5c8e318dbff805607b5be8179a6e1ab00e50faddf24db237e28b5b408f5cc040f394706560b54686cdee522618653";
+  sha512.doc = "7862c027931a3d437c58d69aa5db5678cef860a403f64368d4a1debffad97f2c5e66fc65f299c282569dee48fbc41a6a92af526e94a3eb93b3c90a7c58d8cf2c";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.1.3";
 };
 "gcard" = {
   revision = 15878;
@@ -16279,12 +16626,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "genealogytree" = {
-  revision = 55978;
+  revision = 60562;
   stripPrefix = 0;
-  sha512.run = "80ff65cb67a5d431e316b6cb52d001ba63b346f117251a06c560c506f8adfc81644cc36d113b0a612acbc9b78c8627ead8c75a449486982ec786accaa79d2af5";
-  sha512.doc = "708639b248db280a26291d24594c70fdbefb8a4f6cb581ab5e95e1d2e1f122f29a5412ce876604afed42c881d02c4baaaae73aade99b246160895087394b7906";
+  sha512.run = "f364f331d9e3769bf25130edce8cef5b9c30db51ccbd9517f1e335ffce0d2d8a362114dbb1471856746bf5737eb89c773fbabc4225b5cd655b1daad6153b0004";
+  sha512.doc = "64bbcaecd5cc923bfe38273fbf01bd2dfc2fbfcfb14b2a5cd815704bc7e5f043cc3794ceb891cf018a1735441e225539dd21187606b6188d7eab4862224e43dd";
   hasRunfiles = true;
-  version = "2.01";
+  version = "2.1.0";
 };
 "genmpage" = {
   revision = 15878;
@@ -16328,6 +16675,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "5.9";
 };
+"geradwp" = {
+  revision = 60227;
+  stripPrefix = 0;
+  sha512.run = "03eec24ca7e5152e83da1175ed9873cb3fec1d41ecadc5da4bfe5155b2d90985368f753b6ced659bd34630e3d909654571098ce2cdb679928b43914a140566f1";
+  sha512.doc = "e4460ac5eced7da09ad25c89257b47da638fefe95236660fa2a3f69089ead971f71c202c19c03df522670a444a0c0defffb73972e105bb61504ec3be15e970e0";
+  sha512.source = "2b2215a676fd7238ce463bab55c1d71e7f02edaab6a3598fb3a48174e8edb6cfb98b45d971049cf1cd5e4ad247af5898a734530e3b870cff9570e9ae92562376";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "german" = {
   revision = 42428;
   stripPrefix = 0;
@@ -16626,12 +16982,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "glossaries" = {
-  revision = 54402;
-  sha512.run = "e900f8bc7b9f04088a3b2cbd3ff409603babaf232f09d6c75e85e3050ab0bd98b90c6e04e01aebb183e9fcbc4865c34568a7392d8b46ab318b506d10f1972d99";
-  sha512.doc = "7c364a8a843d32af396b76a14e3abb97a82638a41538653aac8046273b9d669bc1ada0744435f918eb0c169852fa01025e4f4257783b0101a60231de708fe82b";
-  sha512.source = "3bc7eebf8a0861b6236cca948f053d90d550292a7ec9b1694325ffee594a166dca180b4153ba86c711ebf5ed5e81be8e52432b3a1229a3b4d477b6722c1e3e56";
+  revision = 60921;
+  sha512.run = "9e9fd1abd6728f6b42b158542abcd5d35b5205c6452e1900cbc06b664ea2adca2da9dbf375c049227ff955bb7152514b8f358c7a527d5b47edfd80ee1005903a";
+  sha512.doc = "0f5dbfb060a90bf677b2dda55a08c2a5a74ac2978957a18e76ec269da09c592ddf97cfd83f4a802255383626a45aa3399fa037ce6025e03bcc258bd96745faac";
+  sha512.source = "94d27f11897712f688accb817e1d8d3172f51ca6f109acbdd3cfbfeafd7374d4eb92cb3726994935039cc9724cf15a4d6c646f1c3a1c7c00d6df3f3c4ca17e73";
   hasRunfiles = true;
-  version = "4.46";
+  version = "4.49";
 };
 "glossaries-danish" = {
   revision = 35665;
@@ -16670,13 +17026,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "glossaries-extra" = {
-  revision = 54688;
+  revision = 61131;
   stripPrefix = 0;
-  sha512.run = "6604e11d960693f3a4437a5eae8f4e508057c22bec61be620971f3fa88563fd8630d0b3cedd9cb259e0e024b0813db694bfe23d6fdbbfeed9e6543919f73b20b";
-  sha512.doc = "e8fb201968efd7701260f9b5fefab56930441b4240aed8bd90128c4dcef85cdd8d62372b579797a9450b56ceb37e7ee2793049f8098229f68b3d4915cca2ff3a";
-  sha512.source = "9810a3934dfdd96bb0ab857ad3e27b9b36b488240f7fb86cdff303f26288a8e3c008aa5eca3af2402660040d6543f33023a47ed8a541290eb553a8adc5305e11";
+  sha512.run = "232620a42a6209e01afba4b141068e7edf08791df73db7f093d3dc11116c1007e9b529bde74a93c4657f257ec2d8e7467a417ca4e4fd4e0e44c0b329915d0390";
+  sha512.doc = "aff1287df1446ffe31cd079b52764a17b4cf92e72c6dda7d25463a470f59f1f9a56ae48efdebe54eb52cf1cc40bb05858f01abf2bbda01393de1b88de5fd1aad";
+  sha512.source = "a08cc6e47c863ff751cc2fae417dc8f0e76a488a4bd31ddaea7c08fa9357033c610b5132ca3bd670a256894d2edaf53120178cba37ff61cdd08c28fbc75f726c";
   hasRunfiles = true;
-  version = "1.45";
+  version = "1.48";
 };
 "glossaries-finnish" = {
   revision = 54080;
@@ -16978,13 +17334,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "graphics" = {
-  revision = 56514;
+  revision = 61315;
   stripPrefix = 0;
   deps."graphics-cfg" = tl."graphics-cfg";
   deps."graphics-def" = tl."graphics-def";
-  sha512.run = "a04c805985e40b4db0abe1f308fe9f2a0ca4d1736e38d8390294c648935ba1d10ed2c0a16af0eda55736f699359c38e6117487a2c37e2c0d73ce588fbe438e17";
-  sha512.doc = "34382cbc4b6d48e60b00ec9eb1fbfbe786d339206e7c7ee3e33163ac41319e0646382745760d546b5946f54ae53882d8dff88bac2c0db117185be66f2f450673";
-  sha512.source = "f34cac380d7a42ad97f52aaa07bba40194d88c51905ae8e36b3559cd7dbea0152fb0ab09da353aa694317c360d7abe649b12477f9e2a59a8cb280175df4b5e59";
+  sha512.run = "692b47e11cb0f25c3383d64ca8a71bc479da6157002b870e131250caa0539dc48d52409f932ab41cc75c1a9f463524ea3be4f73458bb0fae24059bc9ce828e20";
+  sha512.doc = "91e22a03b32d18e25663fc2d940dea620ded99fb0980bf31d9737591a9e1bc13c2507b6e07275714fa1ac1f181e952cd5e13806a5d01dd6ca953d9b691fdba8d";
+  sha512.source = "d3fe1e52410fb13f764b5f0d63717f37123935642e2d46398e184a0da5e31fbf6b7e40b1381daa404edd76cf51f60d6a77f69f6a5eb40e552b8ef91adc7bb103";
   hasRunfiles = true;
 };
 "graphics-cfg" = {
@@ -16995,19 +17351,28 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "graphics-def" = {
-  revision = 58539;
+  revision = 61111;
   stripPrefix = 0;
-  sha512.run = "441fad3649b85fec474e9191f03b63b9e6a9b594db159de8740409f3cf79544a5aa8b9ee6d939f17dcb4b84507d105bb1bbdd7c25239d28096e99d97ea3c9bec";
-  sha512.doc = "9ad910e5870eb492921b40ef516f0d9e5b571b9c8129e5dc46f40c01cedc1724b0ab01191e0b37adfab62825857847b3ba6b8acaaea24d0da6b38d4b6191b41e";
+  sha512.run = "b0bcab88322ef2c11f2c94552b5d64dd929bb0cc4ae7f060ecf8aa871bfb6ec2756ca47548dfd9f2dc83b9008f919b2a4f006c53320e097585b4b7fc4e27e925";
+  sha512.doc = "a860f3ebe751de6b1dd8f0670803ddc85eae7651ec37e3436cea62ef3bdf705d1edda3b8f7f84cafc80b25e9015f88193a2c4cf443ab1287e3469fc8acc36862";
   hasRunfiles = true;
 };
 "graphics-pln" = {
-  revision = 56823;
+  revision = 61063;
   stripPrefix = 0;
-  sha512.run = "cbb87e4d040c6844cb2e677d352f9fdf9dca7848a894225944f52abf4b1ab9c03d6ea2881074b30bb618eee647ebfb70d8baeb2a82c3446bef40a47487e6b9c0";
-  sha512.doc = "8051321f777155c8bb81d8e514a15e01d282c8ba73ceee6c60fa76201c1c91ba47299bc2ac3b21cd210a457daa1c549f73d299f94e4a972d2b7467ae9f7b9a87";
+  sha512.run = "6e80941535932c4ee08cc8af903cf173de5582b94f97b85d1ed55b5b1d5253e532af2e47657072570283559d429dbd5b56ffd30627dace62af4103b7dadfd53b";
+  sha512.doc = "0955c1b23ba1cb04796066252a1aff1b724b2ddaf18a1c8118b5e7d610e9e390f67a6291f6cde4b62a170cc8503c6b910b04d4b74c726fe33dc4ce5bd7e3fea9";
   hasRunfiles = true;
 };
+"graphicscache" = {
+  revision = 60150;
+  stripPrefix = 0;
+  sha512.run = "073c6771d9ec297bf6585f45234fdd9482d8d257b416dfe5812fed0bea6b7b7a7c975c90fff725d67669666d55928844594902da5522ce72a64183bff9e48a61";
+  sha512.doc = "628625c4748a209372a89cae78cb377ff450defb6d705d3398aa4dbd961c6ef266be0d3b42d64535b3baa7cc61205c7a987a053ff4e9029ef61d48626b0f2809";
+  sha512.source = "0f9999427d54a96c9fe39a6bb35829dc07534ba18fd0e25b451dfb6f87ad44c10b065ed36394596ff4dd5140e74d94b5f95ffe1b1a36e357a1cb8c5d12313fe8";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "graphicx-psmin" = {
   revision = 56931;
   stripPrefix = 0;
@@ -17192,13 +17557,22 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "grundgesetze" = {
-  revision = 34439;
+  revision = 58997;
   stripPrefix = 0;
-  sha512.run = "2fb5c03a405e29d27c929fd3970af300df8134efc584a52dd088adb6e0678979af7c6302cffc590b2471a66e13399f628d257f298f1ffb9689d8aa1d268b9438";
-  sha512.doc = "cdf228d38f34810d543b0e5135acb75a8ab12de7b706bda79f2abe9b6cdcf1e7c7ccd3f0ddb7cc4cc2560f5fb06c06eacdebcf06af89500953812f2e7a0c8285";
-  sha512.source = "7cd35484acde51219cff50fa78fc202c03ddc761fc2151bca789454e0aa0a2ea4a8088a5c6b9cbe468707f9efcde661c2d4c5357efc161d8454b4749870358e3";
+  sha512.run = "f9912e5daab42e6aaec946ea34f420acc194ce88ef75135ebedcdddd5f70fbebc81c250f3368bc8f65cf3952d0229fc450ab40b58bd02473ae4eecee783f3f09";
+  sha512.doc = "7dfacbd4686f5296cc1f677b99f42946f6ba1e761454308568ecb013df3eb0a505273e1cc357d11780f7d4762d03007ab44b87343062c50666bc8e89e1512ed6";
+  sha512.source = "dfa00982121cd247149768a95ac8555a2061ebfa1bcc154ff944d07843d213ab7c7bf0931cad3dac118cd995abf0fcfe03f12285e2e7fc3e808223939d4c1d58";
   hasRunfiles = true;
-  version = "1.02";
+  version = "1.03";
+};
+"gs1" = {
+  revision = 59620;
+  stripPrefix = 0;
+  sha512.run = "d12c13d30c9e0303bf6c6bfb833d673cf673de3c60cb9d637aeff80470d34e04653860e2186c16c55660faa107bf583409a9891ac8d5ebf1612c8410cf60d10d";
+  sha512.doc = "b3757db8c56cbacb87bd17d578be51321b0ac06a3cbcd75b136cdf52bc66a046f0db42af84e5fc33bd347fb52950448a352027713ad01263fe6344a75576efde";
+  sha512.source = "bc9f08753c9663ecc056de0ca7662dbecdec18ab9346e8590fc1ecd373392bce8af50a4a5f37eb6301a2cebce0dffdf0025a3d036f14ad0f696557abdb8f2716";
+  hasRunfiles = true;
+  version = "23";
 };
 "gsemthesis" = {
   revision = 56291;
@@ -17310,13 +17684,13 @@ tl: { # no indentation
   sha512.doc = "268a01f59660e5225c1c21539076e6239381294e6aaa31992032ff8e3d777cb7e4195247c92d9f22efbee498c8bac34cdb915e0a5b0f6cb2b5c0b72c15695d72";
 };
 "gzt" = {
-  revision = 57765;
+  revision = 61323;
   stripPrefix = 0;
-  sha512.run = "b09bdcde2891d6d84ca193a6183b4286d1912c98fdd7cf6a7e737574f352d8eea2fa5cdcf71602291e9f1abd8f7aed3ad9fd6d56571f62a59e9d9bc58c875637";
-  sha512.doc = "a44bcb21337d7799d6fec0da69784252bdf74be493bfa75fe425a83e7f6d71b1ba46e45626d94b5a1b6234e0c21661cad68e0a95339d19c99577ddaa31a1a451";
-  sha512.source = "48073e4390ca1e8c0fdf1c95069439160b77ac2277dd1452b36c48172589b4a5aca1b5a2f040675acba09f5f60d80fa241475c1eec828d13d21f942ded6714bf";
+  sha512.run = "e1db9628affe8eebb6f9b79bb386b05d62705fdde689c435963d3b61b017c7f3a10cac5b74473101e69ea1ad0d3deb19c354133ec6cc38242321504ac0a10989";
+  sha512.doc = "c599c08e0f8f3ceae669beae774bd0069b0b3050e9109b9cdae3086ef38460aee61fae265d9c735d9d6511bd89e9641af765b7a853dd0a62d4b34798bd77cd67";
+  sha512.source = "f9c56d75f787de79e3c888a1b7df2f30190a5ae560d0daf61079061db38b961cd0d1b261e8858c12e8ad1f86c67eac24be63eee320a167fde90a82007561921c";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.1.1";
 };
 "h2020proposal" = {
   revision = 38428;
@@ -17326,6 +17700,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"ha-prosper" = {
+  revision = 59651;
+  stripPrefix = 0;
+  sha512.run = "fc78d9c422c05e4d5b859d39f4b681c5deda4d6850ea383f33b71b0e2aebc5e4740811a831e8e364122c7f451866751d77af8d5e4fd6b8b9f5dbf76f23a7d09f";
+  sha512.doc = "939e86ee09351991654d8542cc21667e16d64dc56f0e9d29932b816458319c3ba8e0632e92bc8c17cd104fd10dd7171a89f9026fc9faaa197fd7376c61377d63";
+  sha512.source = "0ef051d229ef636232751d77ead251622845f9b973ee32cfcdf67c046423334c0fff283fa1f569464931ff8a6ec139e9fb16acb133874bb56aa11684b7388f00";
+  hasRunfiles = true;
+  version = "4.21";
+};
 "hackthefootline" = {
   revision = 46494;
   stripPrefix = 0;
@@ -17373,6 +17756,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.6.0";
 };
+"handoutwithnotes" = {
+  revision = 60986;
+  stripPrefix = 0;
+  sha512.run = "6d633397b97aa5a0a63898577c60dadd8beb845c50928ebbd1fc93153c8dcfffb670da08afd44eabfdec1f66455a9f35f9c83fa8d5cfb7e70246b39e53e61f54";
+  sha512.doc = "c2f7d3ecaacec41cee39d65fabd79e3c4313e0034f0044b984ac43713820818a5e51b255903c39b52cf27ed5b74be4b1673fc7aca2471ca18905c47d038ec926";
+  sha512.source = "2ba124563c2df167686822d5079cfbc4bb7dbca8369df82068978e7dbd2b59820dad72310f60be560f8ec9aecf5a44e0bbbe626779f6777fd30dd016efc1b627";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "hands" = {
   revision = 13293;
   stripPrefix = 0;
@@ -17403,6 +17795,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "20120101";
 };
+"hanzibox" = {
+  revision = 60737;
+  stripPrefix = 0;
+  sha512.run = "3e87de6b784e75135eb5e22b7603840f025034229b15710fc23bf6711f073e4f2afd552b08114e01a75d4c6812487fb0b24a1e782bc4027e6b5f48025b0e114d";
+  sha512.doc = "925c0d75542d143dcf5ffe5a0f0ad0f46da3093e188a4d458af2743740c2a4c32d850d00f7bb0af3e29e7a148e45d50479d32afb25f970e929c4c0315e953e99";
+  sha512.source = "7fdb3d9996ac5f615fb66eb02ca24de1d3d85064d1c74eaf29eff358198de04b51a5afe370830cccc94d58b9c8a9007a783fbfd046779876178985c1bb9b7bb3";
+  hasRunfiles = true;
+  version = "2.2.0";
+};
 "happy4th" = {
   revision = 25020;
   stripPrefix = 0;
@@ -17419,19 +17820,19 @@ tl: { # no indentation
   version = "1.0";
 };
 "haranoaji" = {
-  revision = 57574;
-  sha512.run = "536b8f30134c8ec45e7e55981799520214bc646fe1f8a5525797612d130a9897070fd703b5920a7039192e4411ccdef6d23204c839be2320dc5f557380a55070";
-  sha512.doc = "45edaf645bcec4a88496d17e497b39267bdbfd3b112e68bb78aa6c81fc30dc2ff9f14c980526a444e36a9dfef75f7adf3ac33c3cf29fb7b080a7d43c8461adc7";
+  revision = 58830;
+  sha512.run = "13029f3d1a25d11e2f9f04213532910bfededd9c8fc6f13913fd52c0018db493655a31084ca3ee3325569b500de5a641e69337a6f23ed575e429475d66940898";
+  sha512.doc = "0e6b2d9cb7afbef675d4a0cff16b80729ac70d48bad26a5b2e784ef6386aa8f8dcd156b51f19d9eacdfc38962da135aeb1a3bf735f38fc7cfa300b9100b57ce9";
   hasRunfiles = true;
-  version = "20210130";
+  version = "20210410";
 };
 "haranoaji-extra" = {
-  revision = 57573;
+  revision = 58831;
   stripPrefix = 0;
-  sha512.run = "bc4256282c9bd61ef820cbfb337c456f6bbb5db8b3988c5c600b69dd91193478e62930a20f70733a6cd1dcce7d1520f7f1a63be7c0b0ef06b1d11698adb752ac";
-  sha512.doc = "3884f3ba53c433f0d7019bc7773c5d147e9947b561d99e66fc2e5218ec167bfd9e6ab0bb368368480045ee665d89ba89ab2913fd920d404946283ea398cd4f32";
+  sha512.run = "97d75fa7b631b9319c66c4c9ce7768154efb3ccef02e8d8a0f19660972e171b59ad1a7cb53df976d6f593f7d7e19c897afdef3fdf1a2cc47648e53ee1512884b";
+  sha512.doc = "46e4516105a996f0abd7a848e51e98b739d7e525ecf5ce3db2bb7542849219414032db56e304e62a588d6dbc26cb9cce174189c75885d161a06a5dfc6d6c69b3";
   hasRunfiles = true;
-  version = "20210130";
+  version = "20210410";
 };
 "hardwrap" = {
   revision = 21396;
@@ -17531,13 +17932,13 @@ tl: { # no indentation
   version = "1.3";
 };
 "hecthese" = {
-  revision = 56181;
+  revision = 60455;
   stripPrefix = 0;
-  sha512.run = "8a2d32907fd13e505bb0d7a3c2683cca93c3fd40b471adb622ce06a315558c9ac8f991a3fffbcd52a6be93cb027785d4814e0f9364370cc423a30b115ad644b0";
-  sha512.doc = "efa6e45840e77b4a9905cae13b7dc3322d85429c5acb4c59d81a86833b0bf0d92f38fdcad00f5befc32e883ee4c530abd6921411ff7c5c2df8dd25507a6e1480";
-  sha512.source = "940e0bf6cf217100912e5950e5a345e85baeeee109b3da2c9f0fcd539fa886241a7fa64526c61b0233f06462ddba07f6aba5d3cc3795a2bd17f694178828465e";
+  sha512.run = "c7956496814a25dbcd42c7f0034e32cb40746da09e8a7d527b1b5cdc4d557971b55117ad35b60db18e21bd2433f13d3850fdf9e2364184c0dd9e7a248be2896b";
+  sha512.doc = "680b2cc373f0b7bb265ff01f3d07fff56c07e5c789a7528a2257b2e4282da510874611a4754c5b65d88ded8b8b32ad1343706dd1d77e8a4594c7291fa5b201d5";
+  sha512.source = "fd4318bb47d45336d5010544f0e048a8b23d1a2f33cb0c7c24d54fcca59c20ae62887285dbb128f234170dc0cd057e96793b8012274ff400e2f63da0821dd309";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "helmholtz-ellis-ji-notation" = {
   revision = 55213;
@@ -17562,14 +17963,86 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"hep-acronym" = {
+  revision = 61168;
+  stripPrefix = 0;
+  sha512.run = "bd4251f8bffd16dbebff48333af4c988938da970af3c5e608f70c048f548eec0a6cfbbabc04f354dc3bbd4bc91580b9eea01e8d63d83b3ccd010f1a48f7545e7";
+  sha512.doc = "072efb75240f15595193e9622bfedb3a8f21cf6683a8fe45593b466a5c5f52596dbebc04e231a604f05ce9c147939222657921a405fec81c2af19761a7d7b64c";
+  sha512.source = "fd63dbe9e3532c953749a7aee66b057a2699f985a875e974b82a46bae79b7ba5a2afb46f0a4ae780f68c05478201b665df5b01614c9993c35aae7339a040f5fa";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"hep-bibliography" = {
+  revision = 61166;
+  stripPrefix = 0;
+  sha512.run = "89a137f3593457d5515634df5dbe2b8d915a99f5ff20e10c9947266d3c7e0ebb6417f3329e284f9173736d5ad822967914d4cd1b29f04e84d096465973b5ad01";
+  sha512.doc = "95730188e069a0f968dd9ff32bdd8fc91da82fe7fbe31c06270ba92265d01c3aa71b56d0bf45f53b7fd9fe5189565c47cf3aff52515db898841cf81ae09e9c43";
+  sha512.source = "ef2079ce4367d3878084bc399748f729edd9b526e08fe63a3e943ce9b413fbc14e3908a435e5d1035c696276b04ee25755f647398f719efabb60fa8cf5c19128";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"hep-float" = {
+  revision = 61169;
+  stripPrefix = 0;
+  sha512.run = "15fa9118c9ed26b4ae48ad98b4762893bdbfd41d95a71cafeb16b7b5af3fbf83a64a14bbe9400ec3fd24585d99b706513bede28c1e074321e17d7a20106b0cb4";
+  sha512.doc = "3e91d4edd87a7fb517626eee0baa279b059731f6c5a9c745643214304da8593d2f2899bcbdcd2e1d195957f11e6895f667b63f83a68bd415561dd520a3cb6cfd";
+  sha512.source = "0a18700c119e829fd81d5956c4b31ac198c3a376f2fd9a8bc29779d4d4a923f1094f8e0e45abb8ffc330267f6b2ca450c5b185474f48ad71012b43dc784e0065";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"hep-font" = {
+  revision = 61164;
+  stripPrefix = 0;
+  sha512.run = "eae6a14ad3b6c1becab5bf4e00bbedde2fd4f917299ae761bf4a942df3aa481be53d19bf66e7737b568726f5eeecc22e0b8226e3c5a0bef5091ae889b997a02d";
+  sha512.doc = "aab041e7c9b6179e4532f3adb1c8a202b9985c928b947e2046d8f3d2a0090bb3c8aab24fba8ce82ca30f6d29ed95469639fa800095535beebfff17139ff8630e";
+  sha512.source = "dbb4f7f562b312e911b7ac6ee7beed8e5085704263e3a1bc568f80cd1b735f5344949e51149707df6bff67e8c6d3d8e2f248ee07728451eb33798f6050a913bf";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"hep-math" = {
+  revision = 61170;
+  stripPrefix = 0;
+  sha512.run = "a5a4455dec4d7b5e1b1cab322bd3aa5168bd828854eed7715bfe02c491b83059f9f77e09bf72913244d44294c800b6c544a86d789eb11b14f3e20116259dc4fd";
+  sha512.doc = "af05b99b6adc395ca61db1364aa12a8e2a8ed0ac4a09abf80e5574a25a04b715a006531b6efce23bd0888698b7fde2323e58e9ebf499d7ee270a2701eaab4524";
+  sha512.source = "57262758b617224a06a4ebc305a16c7f6c8a6d99c625162be2ed9ff5d5fb0231defc0c47a8dad734ecf229be634d4136d2501bc04701d497bbcc125c043f7e1c";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"hep-math-font" = {
+  revision = 61165;
+  stripPrefix = 0;
+  sha512.run = "921c86cf98717323044cf64547c0cb1f2530affb4745aca2e6ced54b078bdef6cf598ac146e00f06891ad45d38d7332a772a45ddb2dfa2f5f94e29fac20fc032";
+  sha512.doc = "f186a9d2db6acb71bd50378a60852f391eb6a7b71abefb63c359f9f4c0fadfca10d886cb6333129701b76daa85971283e0f6b9862145184f19239ee9dd3c392f";
+  sha512.source = "65dd0e877a22ba243986f1195a0d8ea667c4ac62cc6c94d776d710bc2654f59bb7ca9f68c4cd6e1caf0fa7b9692e86755743fdf1bb128ce451f234d6c46da4a6";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "hep-paper" = {
-  revision = 57045;
+  revision = 61171;
   stripPrefix = 0;
-  sha512.run = "e7422cf1015b554b20d6fa6cfca317fbd2e057ef31f6d57448ba11126c3b6b863fea428c642f15b8cbbf46929ce943f362cb99cb95cbe7d1bfe821c4315661f8";
-  sha512.doc = "29f71a395be21b72cfd2c0f167e11475215dbd7005529a89032a316d5802b8e2feffc7670923ea57b6f2bdab4d298b7798f122263ab496f4a4da323f8a44c483";
-  sha512.source = "7610edb2223471f6ad729dca66145bb0686e56fdcebfab9260288c3fbaedad0be638f300f789158d824a0a04828297853c5b0774c4c2a96cbb0d48f2d93fd61a";
+  sha512.run = "93bba19d41b10d47511652ae41f25a6e6ae5dbb8711134efa8496943bf7a26dac685cbfc4223e40e3bc26d14da487aff612fc7b58d43b8ec7cc9ec826f838119";
+  sha512.doc = "25e729800a2d0b80cae23c6ff421bf2c90650ab962ccbffcb393758fe5677d29d92408d7cb9bdf11f658ce43797f07a260e68acbbc2eca5ad52e7377be7d6ad5";
+  sha512.source = "0ee624e372607d8e7dffccb255458bc8e858fe0e027d031ba44fd48616c11e32ba1a459895102c3ed5d93342a19bdfadeb97e1eb6a89bd71118b8cf30261abaf";
   hasRunfiles = true;
-  version = "1.6";
+  version = "2.0";
+};
+"hep-text" = {
+  revision = 61172;
+  stripPrefix = 0;
+  sha512.run = "365998a83777730a2beb7d2c5a70fc66faeef818eed654af3ad52945b925fba9c5bcb221a301e8d20ed654a209624e6b5bf3b14b5318be644daa1da4aae931b6";
+  sha512.doc = "1cbe4fe20cd0edcd0d4a4b62b8376bfe66a8f2b5b033a81052499b0b2209c9a61330faf1b7d4c0ce680b82b88ad50d7b979a04a33da1ed5745b75ec5fc114ddb";
+  sha512.source = "1eb4a29178a5bce51ea53a70aba0abbe5545c1776d9c03bb32cfcb9facedad8435b13ba5b2f85e5badfd13d7cffa4f085b596e76abe2cf31febad07259606917";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"hep-title" = {
+  revision = 61173;
+  stripPrefix = 0;
+  sha512.run = "026db8e4b5945399b8f68ca45133f9421e3b75185f0c536144c511afaa0305893a4da02284410568db338cce0679d0a252f3eb14e0c3c5e6984009526d726227";
+  sha512.doc = "5c4900b603223483e6a7eee8fc546ebae0244bd801b5bdd07c289f745946b2106cd966dc5b3de55cfcb5cd6489f321da7bce2b44ea19d729f61e19de051b9f8d";
+  sha512.source = "267a998e9530411437e9bef9f8eb2c625273f10a5e3408ac10172825f3743157e49d8dc08db5738994915b66c88a131957ca73033d2270745f99f0b0d4925f52";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "hepnames" = {
   revision = 35722;
@@ -17735,13 +18208,13 @@ tl: { # no indentation
   version = "1.0.0";
 };
 "hitszthesis" = {
-  revision = 55643;
+  revision = 61073;
   stripPrefix = 0;
-  sha512.run = "2661153465f8b9fc3f4feaf23859ddd0e0da863d0cdc3c0e8b14997e192260cc252ef58d95082b54b9f7299347ec72a9057e11d6656c5e26c9f3e6285baf6484";
-  sha512.doc = "c6d12b3779c8e67050bd77f905741c1a496379f76c001f3348bd9f8fccfb8c25dbb58acfaab76901c1b01fcab260a206ba3a0337411881a21f46b1888b684195";
-  sha512.source = "3a39f1bf764f53cf149db0fde6e60d28fa290acb9c2506e5fee8379642532d51b29e3f0151ec577e258bb95160387a1ff0e9346c05e64cf18882e12f9b542b78";
+  sha512.run = "b7a3dbbed2d9520aa26fbf88e9fd5f864912dbf0ebdf052cf65fe888676b9d5ce9917d154bef8bed2c5cdbec6bba5ce57cd434bdf3d9ff8c41ca6fc12f07a8ce";
+  sha512.doc = "577c2dace816b5356e3a2da21f8e95aa165e55b75f5df0524d5abe6649d6e1879b7a2e97d0da88890e37baa05becfbcd567b977d62c58f17e0f372234cf00b36";
+  sha512.source = "cedf9d399434f48032d4bde2fb91088320b2bd8b939629ee71fa98e744e8de1dfe14b4a01787fc9eecaa7ce8931b322bc0fccd7d96c7eb5e24f2097362063fa5";
   hasRunfiles = true;
-  version = "3.2";
+  version = "3.2.1";
 };
 "hletter" = {
   revision = 30002;
@@ -17791,13 +18264,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "hologo" = {
-  revision = 53048;
+  revision = 61078;
   stripPrefix = 0;
-  sha512.run = "8d1fd73519f0185db7ae8e82ac62957cb958311a5bded23823591157c6c31557b455ca6baa42fffa39d969e42a5fe87b18186dab7d18097e4e30e8589524ec96";
-  sha512.doc = "72a65838829017ca887afe5bdf1f7645209601e267241a5650731a806c08b58670a4934698c4ebf2548d198e0b79619ef33c06d6eccfd5eef9119bee19629105";
-  sha512.source = "0fa9111eb2d1dd0ce076cb831466219be1f18b87e9520aafa15bdfea7636df836e77611e393909b6c410f6bd1aee76b76aa4779317fb4159353098aa95921ed4";
+  sha512.run = "e825ae9d985c17cba001d2f0b670743b7ade2d32b67b165ed6529b38d0f7f687d6b4eff5cfdadb389c55285f10a37e1038104b7cc9502423fcc98da0a4fa7a6a";
+  sha512.doc = "65b67851411c17105f12df60903550be206bc070da37e3e1cfc20fdee50bb0e84bd5ebe293617652efdedcd4b9ef6f86760502bb4edf9d470ff64285136df4c5";
+  sha512.source = "c9a8e2a3b4f35dc2da6339f9f2ba8e612398c7fe92455f021b5c006db34ce6e7e7a7a3cba08e5407516b8c171deccb742ecde1de0ba4e341392ded663ca280e2";
   hasRunfiles = true;
-  version = "1.14";
+  version = "1.15";
 };
 "hook-pre-commit-pkg" = {
   revision = 41378;
@@ -17833,6 +18306,16 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"href-ul" = {
+  revision = 59581;
+  stripPrefix = 0;
+  deps."hyperref" = tl."hyperref";
+  deps."ulem" = tl."ulem";
+  sha512.run = "bb9eed7d5a13e78634ca046eb09028e4fa4dd46b4536d6e5eb9e5237f625a9a452e30e25a74358fdd00138e8b272129fcb484103b75c65b5368c89150ce3a6ec";
+  sha512.doc = "afbfc4927a99ff871e3905e0f37294936def9ed499cbba8f327b017975e089dc6eed158f3188ca7989579f1a2a7609485282fe5866b684f7d314cf7722429b09";
+  hasRunfiles = true;
+  version = "0.1.0";
+};
 "hrefhide" = {
   revision = 22255;
   stripPrefix = 0;
@@ -17860,6 +18343,41 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1.1";
 };
+"huawei" = {
+  revision = 61028;
+  stripPrefix = 0;
+  deps."biblatex" = tl."biblatex";
+  deps."cjk" = tl."cjk";
+  deps."currfile" = tl."currfile";
+  deps."datetime" = tl."datetime";
+  deps."enumitem" = tl."enumitem";
+  deps."fancyhdr" = tl."fancyhdr";
+  deps."footmisc" = tl."footmisc";
+  deps."geometry" = tl."geometry";
+  deps."graphics" = tl."graphics";
+  deps."hyperref" = tl."hyperref";
+  deps."l3packages" = tl."l3packages";
+  deps."lastpage" = tl."lastpage";
+  deps."libertine" = tl."libertine";
+  deps."makecell" = tl."makecell";
+  deps."microtype" = tl."microtype";
+  deps."minted" = tl."minted";
+  deps."paralist" = tl."paralist";
+  deps."pgf" = tl."pgf";
+  deps."setspace" = tl."setspace";
+  deps."svg" = tl."svg";
+  deps."tcolorbox" = tl."tcolorbox";
+  deps."textpos" = tl."textpos";
+  deps."titling" = tl."titling";
+  deps."tools" = tl."tools";
+  deps."ulem" = tl."ulem";
+  deps."wrapfig" = tl."wrapfig";
+  deps."xcolor" = tl."xcolor";
+  sha512.run = "c7a23661204b27508b186b622f057eb1844e25b8df22954a22300c17978902ef2b8c44e77c0d893e2c83142a1e2176c35b0fcaa88bc1c7e2d766a4d1aaee0ba4";
+  sha512.doc = "5a131c28b9a729cfbce3a5afadf3dd5970b7b009605c2d03a47778fc72a4648fad0398505eebf256fe03bcef596c1e172d7699b52ead0fe69ee6fc52a2b3aacd";
+  hasRunfiles = true;
+  version = "0.13.2";
+};
 "hulipsum" = {
   revision = 56848;
   stripPrefix = 0;
@@ -17879,20 +18397,20 @@ tl: { # no indentation
   version = "1.4";
 };
 "hvarabic" = {
-  revision = 55643;
+  revision = 59423;
   stripPrefix = 0;
-  sha512.run = "be0e943f505edd7c8e0138ccf101a821791fc7560a6e5afd41c57236fe6fd632c0813162bd9ede8ff021cd5583a739ed7871cc6453a3bae8c0c917740bd06f48";
-  sha512.doc = "1e08c4864ef4ba5f083500b55521995fbf4dbea9c53626ff36bdab438db25f612d5272a2d05b72c7c6eb3a72a946179819b4ab52c7eb79ec699ce69d112b2cc8";
+  sha512.run = "2f9af35f3e3ebf6d90ed05a77fcd6d6c079d3a476c26e0704e6f6b74899badc3eb0cc79d37f5f9e8b6a2846edb869bf57fc5b4bf14e834629d126bc71b77e42a";
+  sha512.doc = "8508cab70c4cc87665790dcfd34a4465fa22002ca19a41d2d24e21ae0a2ed833a7f3c0e346d36e8c95411ea925ad3ebda8b6d1ee4179610ce0e3f673e6226246";
   hasRunfiles = true;
-  version = "0.01";
+  version = "0.02";
 };
 "hvfloat" = {
-  revision = 58411;
+  revision = 60587;
   stripPrefix = 0;
-  sha512.run = "f4c92c223eb209c3dba56f708ee648d35026658f6e252956b9de2c4d83e2c0069a43ef80bde88556be7a85cd76da3f07954ffcb2376b3b86de7a1f65fdd3bab3";
-  sha512.doc = "2cd49a5aeaf51b185c3c83a02dbb0d76b1c100a5abae8e7a16e9cedec3189431a009c2dd34d36e8bc32f9da5e0150c6b1248c77f96a6049dea90c7af51a59ad1";
+  sha512.run = "d629582a73c825cd47d4b5052e12422274267b792f639856d8868732dba2ef34987ed778b46725728a183120cbf8f8c3311f5a1ed284bef2b9b98e619bae023d";
+  sha512.doc = "5df6bcaf09b681f036362442ab2aa4910752b3c79078d482f0e950609d3d2018e39187095a494355e78258a55f2992d331676f201619707dc55db523d5dc52dc";
   hasRunfiles = true;
-  version = "2.19";
+  version = "2.34";
 };
 "hvindex" = {
   revision = 46051;
@@ -17902,13 +18420,21 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.04";
 };
+"hvlogos" = {
+  revision = 60236;
+  stripPrefix = 0;
+  sha512.run = "b869b0c559a2494958d33585f22ba64ebbcdd0da14695f94439baca964f20d51f51716838482480b971a72b78871b3b87d06cedb0f360c7e4ad74eaf468a41ef";
+  sha512.doc = "968bcd1e98be87794d71e37967d64105c27b5dcefac97fe4fda2141ec88067f081cf2fce1583573257875b91bd6d69483346eb5c1afdc5dd206a26da8f022676";
+  hasRunfiles = true;
+  version = "0.02";
+};
 "hvqrurl" = {
-  revision = 52993;
+  revision = 59256;
   stripPrefix = 0;
-  sha512.run = "3f52fae550f92e379b76bc91b6a4b8fc25cb9ad6bc19c744c6f9ef0948d6590c1289f267681339fc7f596a7c328adaf45eb7c94be45e5f327bd77db5e366e315";
-  sha512.doc = "2f9c4772b34ebb6096da22ffb10b41eef091be66513d1dbb20c4f224c2e471493fa30e63432e19e47b03ca7b248ae178a1a729517ed3108ef406cb30abb6cef8";
+  sha512.run = "472da0c72999f672cc6d21e35e9adc7c25d1202b8f4eb4a75f9498ae8cca5ea7aca7102dece9943e2070002390a3ced018d12358523d52cb2a32c6e6b9012126";
+  sha512.doc = "0c7de4ea0173e754cdcea91b56681c4681c05d591f3176a0e7973c5b1f9d819a737d6ab14052a94a8dc48919dc2b98c7337274770a115d598667852cb118f69b";
   hasRunfiles = true;
-  version = "0.01a";
+  version = "0.02";
 };
 "hycolor" = {
   revision = 53584;
@@ -17927,6 +18453,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.7";
 };
+"hypdoc" = {
+  revision = 61077;
+  stripPrefix = 0;
+  sha512.run = "c658c092b34c95e81c488fd839ee96e6b2225e92e8f8eb3d752ec7b6f43d7b5ef621097ddf2a0986ddf4c68eaad029e09a8dcc34c73b398e3791dcea6721243e";
+  sha512.doc = "1239c2766d9e150655bf185091da1e8ce7b55da3acf023121d19dec284a4ffe11fb0053ecff85878aaf2beefcce90ef14de7d1b631563676088c2e7fae9d43af";
+  sha512.source = "cf58301db498cd904a14e72267b2a91e98418edd5760884ed931741b7b86e83321b5c9ea71112486d6ce87ab7d3897d43fbe781e879b07d416846d0fe5ff9842";
+  hasRunfiles = true;
+  version = "1.15";
+};
 "hypdvips" = {
   revision = 53197;
   stripPrefix = 0;
@@ -17962,7 +18497,7 @@ tl: { # no indentation
   version = "1.0b";
 };
 "hyperref" = {
-  revision = 58024;
+  revision = 59511;
   stripPrefix = 0;
   deps."atbegshi" = tl."atbegshi";
   deps."auxhook" = tl."auxhook";
@@ -17981,11 +18516,11 @@ tl: { # no indentation
   deps."stringenc" = tl."stringenc";
   deps."url" = tl."url";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "00c82f1b64272ee6fd3728e29edf8e399a08eb3ffb9fb4fb011f4d0caa38970a351c132fd7096954a32ce9c730d798ba606f59f0ad6bf1754e43462067dd6c49";
-  sha512.doc = "9005eb33d3f8b90199131eb2104fd961fd7d248c17c67af73162a0b90f0b90de1e5f5c79ffce59564f7d19e835765c59b385fb0e9e19ef4935f1de49655b03dc";
-  sha512.source = "be6c8585a89c5c17bc38704251c9800073784e0fdfce6441a14ab804e9de0b23cebfcd7ca94f366cdc12e37b20f571f68b309df483691ebe3e065af4a7876f68";
+  sha512.run = "dc42b72e2eccdb7a29181cfac8f95a6bf41f1eba9ec7943f2b00fd71b85ff46269d4ad437a924e7f6d5af81e375ae8cf0a1a64dc301e0ccaa327e1d073f41f3e";
+  sha512.doc = "3e79668b8e7e032f272f23cb0d89faf420c8354b41a80beb50cda4fc0b914add05979b5de753b38a634d8da5f9c45d8660074d7e23f04d2092cfefaabae8eed2";
+  sha512.source = "165969bddfb4d12fe8cc4d646d49369c382ca5369c74f7865462014ab7da0edb188520ca003b4ae3040015a3a2a9c3e0e565c5c811c0b1178a78895e102f45de";
   hasRunfiles = true;
-  version = "7.00k";
+  version = "7.00m";
 };
 "hyperxmp" = {
   revision = 57004;
@@ -18040,9 +18575,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "hyphen-base" = {
-  revision = 58630;
+  revision = 61052;
   stripPrefix = 0;
-  sha512.run = "15daa4e0004bb55601db85cf796761c1feca5f4668a5894df820a31d107ebefde74fd4d3a997191d9049ecb0fa3f4678a6a0b1fb6506b17bd24546e942d85510";
+  sha512.run = "1cb3099a93b71cf862cbda46a07321032007591f18c43ba4b90a8ff5a41ca2c5d8bbfa0462bc38995e9bddc780049942291262d173f015703b3dbbc9ebae7774";
   hasRunfiles = true;
 };
 "hyphen-basque" = {
@@ -18238,13 +18773,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "hyphen-german" = {
-  revision = 58652;
+  revision = 59807;
   stripPrefix = 0;
   deps."dehyph" = tl."dehyph";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   hasHyphens = true;
-  sha512.run = "bea7d4605b1a18d3e7845ccaa06951b62178b3abbdc13dc59d3cbece3fa95fc4fba7e4d60dd253cd9fc022f804975cae5c4996fb99d3037c29971ade9984abce";
+  sha512.run = "c27389dea67ffd0d45419d484b0c72577b2d5b8234266483add078b970d5d994d41f7cf9a1509ad93efe9489501f986127ea717135c5f57588094393e0d7219e";
   hasRunfiles = true;
 };
 "hyphen-greek" = {
@@ -18659,6 +19194,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.4d";
 };
+"ieeeconf" = {
+  revision = 59665;
+  stripPrefix = 0;
+  sha512.run = "1a0bf2fe8e019b55ac1ed72a9d428c3e90653183918f2c1ff22e9ea468cb3b3fea424fa3de2a46b9534086138f1130105672ac217ba7172354c51bbf384ba20d";
+  sha512.doc = "a0133638d4da1822c2cc7c41052fc69d71feb89bfe0351594343166cdb217a62cb849d2a355bbaa3a12e38882ca76c94740f9f4711b42280c81a58bcc9fd17f2";
+  sha512.source = "9badadaad5c47d067054176f8c979b4472ff57db1746ec2f2adbbb39fd75856d2145e120de78e51388d064765a018a06a71bcf75f078f3a4a958754c6f565c5d";
+  hasRunfiles = true;
+  version = "1.4";
+};
 "ieeepes" = {
   revision = 17359;
   stripPrefix = 0;
@@ -18667,6 +19211,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "4.0";
 };
+"ieeetran" = {
+  revision = 59672;
+  stripPrefix = 0;
+  sha512.run = "d688e4be2d145652c16b028cccd05ec5f41a94ca190caff0c6b3fbadaa5c859516a28e4555569d072dd1d550c8794c1ddaaefecce49945284dd304938360f419";
+  sha512.doc = "241119c6d2848d5f63e2afe8f1e07c263fea526c9c7ef21ecc533f27c92a67b1baf9a33122fed6ff491b2ddaddb0e02ce138164c8b9ff2f5db11d1ff802f73b8";
+  hasRunfiles = true;
+  version = "1.8b";
+};
 "ietfbibs" = {
   revision = 41332;
   stripPrefix = 0;
@@ -18674,6 +19226,25 @@ tl: { # no indentation
   sha512.doc = "586dc66004dcf4abed254d223394badd45557d79c7e1b56bd20080f41185ea8dca28b3d501e708cc3ed4088f1368f153ba2d2af313d5d6add2d072b46954952f";
   version = "1.0.0";
 };
+"iexec" = {
+  revision = 60138;
+  stripPrefix = 0;
+  deps."tools" = tl."tools";
+  deps."xkeyval" = tl."xkeyval";
+  sha512.run = "a00220e8b516556e3db1a676fab6e72f6800bce5e68ef3c6b3c57d99d62285b86df02a7a488713a64e23d63cd7457d277510ee77b3587edc065f5458b1396af9";
+  sha512.doc = "56c204e92d1539d6f599de728c05c6f8857393c9e8d577f36ad5f21fa3c64f73e226fad5606272fc00eacd352f9db56984acd115b0ba0f4517196da65e93a4dc";
+  hasRunfiles = true;
+  version = "0.4.0";
+};
+"ifallfalse" = {
+  revision = 60027;
+  stripPrefix = 0;
+  sha512.run = "2117368f9114bfe20c7fcd387c47d27d59cb2af720eb6c55f2a8254067e2dbf7be21b9081a244367d46d5deae8150f915b17431296b02de486f4147e5ade9b87";
+  sha512.doc = "c952a3f591c77df2b2443352783606e57ccc35d45769d1e7892b12399de5253af174a739c7283a28463536394430d0582852abb677fd87015bada501b0bde95e";
+  sha512.source = "3070c2a5beefc8ce8b29f8216a66b5636aa71f6f68aee9734eba78e487110efa67a405ed4b87d4a550bd3fe45df3a8f3da10ae717d0c31cd98bb2465bb903bb9";
+  hasRunfiles = true;
+  version = "2.0.0";
+};
 "iffont" = {
   revision = 38823;
   stripPrefix = 0;
@@ -18728,12 +19299,12 @@ tl: { # no indentation
   version = "0.4a";
 };
 "ifptex" = {
-  revision = 52626;
+  revision = 59820;
   stripPrefix = 0;
-  sha512.run = "cd06bd01d071c091962451850de4cf78c0ed7604b392e6c0eb59fd66b202ed9f015cac75b6260bfe071b70246cb1d9a70a5bc9f052876469ace54a68ef250e22";
-  sha512.doc = "6d6668a5f663aeeddd19c5f8086633d6542316807d0dbfc94e8ed1991136dc2258718e61a450dcc3c1560af3d349519ca2da98a05964741083dbb66ef85fb848";
+  sha512.run = "22d50e2dc21a320d759ffadde2b12f667cdc348096eb590f253dd7479477c995998fc54736eb6f9cbd9e37323fd5ff675cd90c41698b795ba3f7808c1a87237a";
+  sha512.doc = "70ac1af361369152f3d6b3ecf67007dc1683baab4da92518e4144d9b4c3933169f6643353b4c622b1da6af834e160d95020d5348576784055388d96234e597ef";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "ifsym" = {
   revision = 24868;
@@ -18887,12 +19458,12 @@ tl: { # no indentation
   version = "1.7";
 };
 "incgraph" = {
-  revision = 36500;
+  revision = 60810;
   stripPrefix = 0;
-  sha512.run = "9a063a51c77ec55136a60a7ffaa259f7c8e2fbc9c71dc2d5240f125be50fc246e2a1d1a6c3379aacc044ad0eb7a754dc27a6445bd12fd63c3d5b2929cdacc133";
-  sha512.doc = "1a1be60ab0ee587095ad6e2c74ce356292ce454f3a40fa96e5fab7d48da52b98cabfe9826235b3afae679baeea1b23e5c4fb4d7a4b00279ce0433568a9cf3108";
+  sha512.run = "06c7228e1ef4d760f6d7b1d308d4946eef7a55a60ff39bba6bdc6a96407cb6fab9f47dfd2c26f37d4f674d815e0ab7196badf2590638e214c980d26343a6bd55";
+  sha512.doc = "3e37591fd1c239d2feb262434a5782be0160104392f6b6c2f330aa30d8e8af5905694a125d29045b403239d67952bb88d1194a1d1e61194e82426405fa11c772";
   hasRunfiles = true;
-  version = "1.12";
+  version = "1.2.0";
 };
 "includernw" = {
   revision = 47557;
@@ -18994,6 +19565,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.12";
 };
+"inputnormalization" = {
+  revision = 59850;
+  stripPrefix = 0;
+  sha512.run = "ea1b93d71757875867fb9d899399ad5cf95d2a0560b3caf2569d08480f4d65dcf4a963632dd27b1e28674a9b5c6496f769c17ae08494a6c37ca2d0e6a8fd8f04";
+  sha512.doc = "ade22bfe8534389f117f0f99dfefd7e27f84ad653419929ab86ab045ff08c1d08952178c6c8d42b3b22d575e371ad4b77c2efda436e4b8ff89dad2bcb67c7d65";
+  sha512.source = "048bcdc198cb028863f2f3f30366ab209f18fa2d3f76cf42ebd795cf34d92734e617fdd7412c3f5e43127a4853f1f2b3fe928c8cd554b5e5fde430b5c9170d47";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "inputtrc" = {
   revision = 28019;
   stripPrefix = 0;
@@ -19020,11 +19600,11 @@ tl: { # no indentation
   version = "2.2";
 };
 "install-latex-guide-zh-cn" = {
-  revision = 57590;
+  revision = 61190;
   stripPrefix = 0;
-  sha512.run = "c5f11472922d7bb05b8c1bfaeac6862af0e3367a7cf7a0201e09ac030b44c15965647e885d3c90a518e8cdf6816756873184d7835caae28423b505f15170ebb2";
-  sha512.doc = "e0a934c670f06a175e1c2805efc06df559c3436656df7d0191a204c3be0d0556050757378f9a4b0f403862dd747f783941281af539d534caa5b1dcfc27b0b885";
-  version = "2021.2.1";
+  sha512.run = "f8259eaa9bbd9f1c8ad2f5de309c64f8f14fcd0629415f70f8b054e395c52cd94be3330fad8d9cdff101b97a18097b1b6c11f2a631d121def82b077215d9f710";
+  sha512.doc = "6cd07537b0a399d0a1a3150f6d235f47afaecb8ca99e80e3e951f9e502d3b7eb173bbb68729e1646543b4c43e55d98fbbe1b61408b5713cd0c4fb159f787c88e";
+  version = "2021.12.1";
 };
 "installfont" = {
   revision = 31205;
@@ -19043,10 +19623,10 @@ tl: { # no indentation
   version = "1.3";
 };
 "inter" = {
-  revision = 57213;
+  revision = 58892;
   stripPrefix = 0;
-  sha512.run = "44de293fff8e1cdcf36796db13bba42c7a95f3ea49b48597bb743bc08bacfa504ed5dfac1ebd7a4ff0ed02c88433679f164f2d2e406051b1d0f3e32218df4747";
-  sha512.doc = "df5ce5a034ccbcf9a04f89f362a75191c6254f55cadb1abb10f51fccadaead4d9efc160df19e6eb7f81161716d27600a3be5db1a482cf23ff3416c19b3a172a3";
+  sha512.run = "fc423429252eeb8878fc9c423c1c51f9d24781b262d0b4e08d10e397a13985507916d50d3f3fd2164f7fea2c5b45e35da415699e6ed424957c9b337b5e349cfb";
+  sha512.doc = "aef65d0830399dd9fbdda59f130cb5a5847796d591baaafe74e621115061f04dfc55c6d68d1954251d5d6b63b6e7b88eb16c50842a6f5b045f4a643498fb9c2c";
   hasRunfiles = true;
 };
 "interactiveworkbook" = {
@@ -19221,13 +19801,13 @@ tl: { # no indentation
   version = "2.28";
 };
 "isodoc" = {
-  revision = 57811;
+  revision = 59709;
   stripPrefix = 0;
-  sha512.run = "b26c7f3b87f4892f6f3c31f62225b43918be6e168dbb85d287fa708069d9560312d00bff1198842ade1a0a542da59dfd5d802d59ba6f62cc1dd15ce75ecde015";
-  sha512.doc = "11cc576322712103511c3025524fe068a3f011e726a2335051ec6eece18a6217931071ccae412ee46148d4665cc3526b0a91fc66f4455ddfdae7af9974ae5959";
-  sha512.source = "a56610f50bf8e9286e04f8d505158dc2d4838731e667279728edc5e46cb92ced25c4a23b02b6c0cdfd4830fb09d093ed1c87b6292a2917ca5b8d212317b59e3e";
+  sha512.run = "5bdd4158aa30923d2f06513dd2f1a729077eef05f8f6e068c1e376f931558b9ad786eea871396ca3d16778692f010bc39f25da3993c74776bd746ed5355fc0e4";
+  sha512.doc = "ebf8ac1221592472837590973700603e0cef6b459dae92cc28ba751f5c3c0c49a686b4224c83502b09cec26ba306e44fc00f19b0f9e9c83b26f582a9923f76dd";
+  sha512.source = "9240f497398b77b6633f5be4040d13053abe51d64189e6678beccc1110f9e97b24422105bb3a552ade1f33c1af3ca2f8941b5c86548fbf7885a799fa69345b90";
   hasRunfiles = true;
-  version = "1.12";
+  version = "1.14";
 };
 "isomath" = {
   revision = 27654;
@@ -19427,11 +20007,11 @@ tl: { # no indentation
   version = "1.30";
 };
 "jfmutil" = {
-  revision = 55044;
-  sha512.run = "ba0c853d1624ef00407e9eb4c6051fa9f71f505e0e55ea2a698d4a9f7fee241c1339d46e873d77573252c781ccacb05b9d447b80aa43887ad76da667977c666b";
-  sha512.doc = "d4b255cccbe58ec85240be3f0a390dd2fd716fd40c744732494d3e113899747133e99be75f8bab888d240e66e16195dbd2b12188f3551e5535a2cbe157c5bf9f";
+  revision = 60987;
+  sha512.run = "11f0ee88997b197ccb4cf249a92f90ecd08227b0086861b59752c2e17fafb1e1fec7a1cfc701d5df91497d4cb9e61d13f892d776ded07c34d7dab09a2a65eed4";
+  sha512.doc = "045b74024de9798fd7c74442404dba0610a94f66b60455d84fc33bfe56e8612b014fbd83cfa3edfb0c3a8acb31c0dece69ebefb58294b2d271dc1dc2e95d094f";
   hasRunfiles = true;
-  version = "1.3.1";
+  version = "1.3.3";
 };
 "jigsaw" = {
   revision = 49111;
@@ -19464,11 +20044,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "jlreq" = {
-  revision = 58472;
+  revision = 60947;
   stripPrefix = 0;
-  sha512.run = "1a2118698ae25d3f9a3d9d41c7bab2b3d56e58b9fea73d977114f6cae429d2e9ed0b410a0537531e4eb6559f2a6ebda47eda0e6b3e1d1b8ddbf567dbe1ebf26f";
-  sha512.doc = "e88a88d7d70a03e8dea569f198690278ddb2233df7dbca0733c60d6f5d4963ad9cc810c7764365646302cd529ac70a29aa258a577adc2958fed9da5448f52299";
-  sha512.source = "143b2d7bb6ce740c2dfcc5295ba568189041091118e6cdd6856b7ce6df2b267ca9a1d7443e752f22cb9d4668971cc559609434d091df94906c04ccce066d67bc";
+  sha512.run = "8929adfd3f40c43389371a8deb7dc63b549cf33e0bbae9f72f2148e53248269918ce6be4a9e4359f82a1498c5a682cbdbb31935b9950d7d13fd7766f48c82bd4";
+  sha512.doc = "01ba50b1ad1b99297b5c52d5454d1b1b4a1debdd4ea73c42830f2f3ccc3fac0c46b247c6fef26ba0f235cd1a0990b3ad1a9cd5f59facc0e29789df22b5177d03";
+  sha512.source = "98b9a5865edecdd27a1ce3fb90ca1a7a9b33b4027eda4940a0784f00a9e8c78b0efddfbd6a09db2ac1b7e26bff4c4c230187624d9e67a2d3a297beb15ec503ea";
   hasRunfiles = true;
 };
 "jlreq-deluxe" = {
@@ -19540,11 +20120,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "jsclasses" = {
-  revision = 56608;
+  revision = 59795;
   stripPrefix = 0;
-  sha512.run = "18c5cd1e63e4fedbf1ec0faf069d40d34dd72ca18af0d634eab16b5c7ce92139cf4892492782f816c0c0deab4706ee1c5a83d052cd122f7d5df35f1d5d2ff4dc";
-  sha512.doc = "f9d477ca10dfa4fe83e2f5a981f7584555e06968417c542cd09e223a0ef30074540890b3f5b28de12b9d77e9a45e3bae19590cfec31d3232528db1d854514083";
-  sha512.source = "c4b4d11b3684122e47cb3b1ef59001e0163297768743b570f4c64c3eb0ab95f41a6660b44f6048acf4e9d1f4b949eae9883ee97cadec53798d363f3630cc4fca";
+  sha512.run = "a479d9fdaf3b966f4e05647d34ea620822d91984fa73abf818cfe5afca2442f21ecb2f1a9dde274ad2528747d32c92c8b5cfd937acbbd9659181cebca339c62e";
+  sha512.doc = "2b1aaad257b4dcd6bdf627202ede174fea9ed23852cfa7e65762639299906af1643875e29674907b3e60dab42adeaf7789b4d51c717314f8c123e31ac61541f5";
+  sha512.source = "f3f0ee4df438a15df2b77eca0f8d6a39eeda7f1c33558685eade119052663257aa963a5a3db859ba893d67277b87c02b8826f2f6e2c68274298cad0cb6db4d7f";
   hasRunfiles = true;
 };
 "jslectureplanner" = {
@@ -19707,6 +20287,25 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"kdpcover" = {
+  revision = 60404;
+  stripPrefix = 0;
+  deps."anyfontsize" = tl."anyfontsize";
+  deps."geometry" = tl."geometry";
+  deps."graphics" = tl."graphics";
+  deps."microtype" = tl."microtype";
+  deps."pgf" = tl."pgf";
+  deps."setspace" = tl."setspace";
+  deps."textpos" = tl."textpos";
+  deps."tools" = tl."tools";
+  deps."xcolor" = tl."xcolor";
+  deps."xifthen" = tl."xifthen";
+  deps."xkeyval" = tl."xkeyval";
+  sha512.run = "c7be0c04597b5b29a23c3ee32c4c0b4d11f5e1680db07eb2fcf447857300fd8a6b9f87edc0562a4851be23f2fa48533180c7689bf7f4ab6099a5a844000a23af";
+  sha512.doc = "742a628cdeb7600a69567335db07baeedebc65c8f7e18b5d0081b595310354a4b59508e7be9991e0be34f8f46b61b6d30012b479e7be808713963634e38c9481";
+  hasRunfiles = true;
+  version = "0.2.2";
+};
 "kerkis" = {
   revision = 56271;
   stripPrefix = 0;
@@ -19741,13 +20340,13 @@ tl: { # no indentation
   version = "3.1415";
 };
 "keyfloat" = {
-  revision = 52160;
+  revision = 59759;
   stripPrefix = 0;
-  sha512.run = "3d2be77c6ff60292b3cb50e8033d5f182fa731b6b435e4eec4d6a3f4376e6f0487a6bc5bfbb59da37ba6d620721f3756e42a795bc26547d2218f66b2dcf82a4d";
-  sha512.doc = "b678b7e0fac699625b9638b67e3e00b892ed4d0a01d78ef0fb13ce65d2a1e74afea50bbb9f4ffbfaa37b1e80a96dd1cd8f8420e8b1b5f1cbf6f6155d745a7604";
-  sha512.source = "32c7cfd96870d94034984b923d47075a2e071df11290f076ddb4def33236aa3ca40118382072b3d17aeb8d8fa263c1c0575182ff5b91a4c410f6c7268100eefa";
+  sha512.run = "f13bc22a648934a07fa91ee9ce500f01562dfb6c43883bef82628142f62cbe366a66b0e60ff7d41a9670cffa63601390cf34e331173f8834eba7aa341fb555d0";
+  sha512.doc = "cfe525673a6dd8d1918ea41f33a4496ee7a6e9b8e59a3bf0cd18afcc017e8f7733de5c983bf9b0dd75212a0375638a089c1eb197b0f8bd3fa1dcc48c3ac3a0c7";
+  sha512.source = "e7803dd94cd8fd0733fb916b157a4f3a3a154fef6594b866911d3f75e3994d585d633c021cfb92346613fbcf1529978823c38f3457444a97e93aed3ed51c6462";
   hasRunfiles = true;
-  version = "2.01";
+  version = "2.06";
 };
 "keyindex" = {
   revision = 50828;
@@ -19758,6 +20357,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"keyparse" = {
+  revision = 60277;
+  stripPrefix = 0;
+  sha512.run = "f3ca8d0b78d9e20bf99e46ebf181d670fe6d936f9d91f1059056820f8be1a9be6eb6278fdda8b118a5f82d376440681dc4cf9a063bb6693df67d5e2d47b3a5dc";
+  sha512.doc = "01b6aa91350a1ebad4f37be4051a4bdc97939392a6ec2b7708de77d06a575c14fa3f9bc9a8b98ac5d73428555389aa6bd0f9439dd299c2b34e19b7800eb2a27a";
+  sha512.source = "2eb4c90abed3e2676bce4865ad4254b6f572a69edf63ba82a5a9b3c994343f8d3a3523dd465b94d6afe814364c41a581dc84d49c9e21be6dc4231c3f850eafe9";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "keyreader" = {
   revision = 28195;
   stripPrefix = 0;
@@ -19791,6 +20399,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.2";
 };
+"kinematikz" = {
+  revision = 61392;
+  stripPrefix = 0;
+  sha512.run = "6f23b8084247aa807c5738468f005fbaaed59559828247f269dcc24e62535984bf7805c69aea27b889d01b2afa04ad67811a0cc8e0ffdea7e263f9ac9c384fc4";
+  sha512.doc = "b5fb6a456f042a677866f9fee3bc7a13a8405ab6fcad590ba37dc9d681e61d04abdfe6bbab5009cc1d79f73859a1fdec137c92e6c0d367b1d801ca2d41d69160";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "kix" = {
   revision = 21606;
   stripPrefix = 0;
@@ -19829,13 +20445,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "knowledge" = {
-  revision = 58724;
+  revision = 61356;
   stripPrefix = 0;
-  sha512.run = "22b67c0c0833f593ec0ca072744986212d34765945e8e18e0ac37c1ceba26109e98e41ad6535df066cd8091757a55fc644c311159b734fe69952845fcaed1c31";
-  sha512.doc = "99b2a1f7bf227317dfa946d0c500f4b3b018d9348b3e71eae188fa3b14df61ad0ea9a63297e186b6555c0ac002150fda71aeedf8abcea20065a13c6c39f0ccae";
-  sha512.source = "fe2cef9c5ddc8cfb133291d3340546d75168568211c99f3db5b87d6029fabc85027d382df5210d70e52b782b15728493932b9f15e5673911d821cf656bc56f57";
+  sha512.run = "515a9f6a4d4b1df7bdd51994efbc45d62582696b970b616dc3d3250efd1525bb8523e04e8b56a0391acce8c2bff991a477c72078d4ea840dc9d1b377e15facb9";
+  sha512.doc = "84b54a2544760cd138ea6f663a3a41899549555c4205b91d5f553c6b4411dfe034b4564bcac0c20e377abc47ccbf723c72fb3e404591b0c8f04a1fd6e16c3b6b";
+  sha512.source = "bf30d237fbd28fe29f6ae06dea71766cc74518251247ae6e6d00d754b8bea1a9f6a799b7406c44f4a94a7e16b64b01ff541928eafd49de3428cb6ebb1503ff40";
   hasRunfiles = true;
-  version = "1.25";
+  version = "1.26";
 };
 "knuth-errata" = {
   revision = 58682;
@@ -19871,11 +20487,11 @@ tl: { # no indentation
   version = "0.5";
 };
 "koma-script" = {
-  revision = 58585;
+  revision = 61108;
   stripPrefix = 0;
-  sha512.run = "c7df4ac717c0b1ed2508ad52546b3cd1ba84db401f32888461cb0e558bb434abda933bd91b1a9f01b42ea0db9754fbf230e5915caac823d67d8789ac4f7c0f4c";
+  sha512.run = "96abab9a5f44f27b7276dcc4ec4a324822a9b679d20bb48ab9f2d5fc65f08dfdfce1290851ac2add1b4d1a53ee8aceb98b088e6ad8f486c4346fbf5ed72fb98f";
   hasRunfiles = true;
-  version = "3.33";
+  version = "3.35";
 };
 "koma-script-examples" = {
   revision = 47523;
@@ -19910,14 +20526,14 @@ tl: { # no indentation
   version = "0.9.2";
 };
 "kotex-oblivoir" = {
-  revision = 58436;
+  revision = 60579;
   stripPrefix = 0;
   deps."kotex-utf" = tl."kotex-utf";
   deps."memoir" = tl."memoir";
-  sha512.run = "af873efba59c61bfacad1914a9842a0240b38ce064258a1e4ad0317c396df1a82d62e3372fd4d1386ebcec8c74a552c6a0f9f7f8a950b0b8a4b638b6a518ca73";
-  sha512.doc = "921b184ffe6ecb78e44791d86cc622894232d7c4ff439236f2439e501634cd97e3ff1d4432d58fd1750e755010d169ad79c1c9a82941d043bf6dbbf5998d480c";
+  sha512.run = "b29afee6d80e081872d470be9c82fea392f05568bd61b5dc47405a8dbe5db03038f9207e960bd1ee8abb53ce2d3954443bff1c5bc6939565f59724ffaaf15907";
+  sha512.doc = "01bdd6748c9a8e846d86bb5a30227b1c88fbb1033548875bbb99e8a22d9b0eb73e0857e9d0558d3ffc44aca047d27ccefe712a94dabd7366dcc8520ea9853eb8";
   hasRunfiles = true;
-  version = "3.0.1";
+  version = "3.0.2";
 };
 "kotex-plain" = {
   revision = 38630;
@@ -19945,9 +20561,9 @@ tl: { # no indentation
   version = "2.1.0";
 };
 "kpathsea" = {
-  revision = 58622;
-  sha512.run = "33e8096a1798a6204c0a6519cd13302e1c80797937aae4ce9e7c4928e4bd75472cd0864cd00ff88d3d6f01fcf1a2e027efbd5d1768024fa5ee23e56094f1b308";
-  sha512.doc = "9d34679ffecc16117ed7d1d6207602ab9466266b48b15d303764fc27301eb9dd4621dbf9ad2dcff85bfcf0c1f762316a412b3925e91f6b31e4da03e46ee51893";
+  revision = 59203;
+  sha512.run = "dcfe9d0b853bac7917e87b5783748568cb84a9b6e060dacb720826840aa93dab192e9aaf7799aec9e3c99f2aa54e02470918a72047e67568339aed2e2e3a61ae";
+  sha512.doc = "155db7d61fa4011640a3c7e90efeeb8336b970bbb64f8fac5bf69a7f51bbd9132024256d6f57cf649cb83ea590cf9aa106230628196045d3f98bfcafa803ed54";
   hasRunfiles = true;
 };
 "kpfonts" = {
@@ -19960,12 +20576,12 @@ tl: { # no indentation
   version = "3.33";
 };
 "kpfonts-otf" = {
-  revision = 58435;
+  revision = 61270;
   stripPrefix = 0;
-  sha512.run = "7daa6cf5fcdedce50ad5fac45abe82c69f695d8f42c95bece738ca161b6b494ef4b008a769f3989ac800d9970888e5c205d87ef7c33ba19a56883547f2957c61";
-  sha512.doc = "29affa9fa075b00abc05332a214ed6abb5c0a8e79a07527461b813d335ace02e3e2e04e32abf823d2a327721b69affc4a2a065ba6b1392afa04542ab37cd9efc";
+  sha512.run = "c8c22111dc087b03b536511509ce9ca5e1fae3dcfa908be969143c14c291b1a937307f5352a968838a2c8f433dc8cc59291ef58ab2b983b0457d87d365ceadce";
+  sha512.doc = "2020cb41776e61669ed3591cdb0518ffa46f65f951baf0ba0c9fcc5ffe611789e4a91cd758debbe327c37847405f07538e6cd0aad523f97e2e9b444faf6d37ff";
   hasRunfiles = true;
-  version = "0.35";
+  version = "0.42";
 };
 "ksfh_nat" = {
   revision = 24825;
@@ -20097,46 +20713,46 @@ tl: { # no indentation
   version = "1.1";
 };
 "l3backend" = {
-  revision = 58509;
+  revision = 61303;
   stripPrefix = 0;
-  sha512.run = "4e0fa3710748aef350580d94d95b788dabb5d1ea86b2fe6e70697e9baa0fa7f254d06cad4c4ce4a3f9ec5b5e38be1742887051a16e327c18fd754cc500f74c75";
-  sha512.doc = "5255d75a9804c1b1c5505873897145d759aa57c7bbaff7d1c2eeaa3677af6630c984b48984ba397cf77a0c9c564d110f7983c6c024c3623883edf3128e769ebc";
-  sha512.source = "f4fe6972053149b04b9b88b4c6d231a04a6b2d6eea5c96b7a9fe7589657917bb330152840b8c008e5e798c54ebf4a6fa7f038530bdbb36cf9c634b5396e7392a";
+  sha512.run = "a860287ae480b1c14804e07a5985fb8b45d862cd9ef8250824bdbba5dff2adb010a9a3c61af2945da87a01153df6ba8264248e02ad2c87d45b6161c0acf7d67d";
+  sha512.doc = "1422a6feb08107935ffe7646276893f8a2d328a24137368b9bb743723a22881a4fd061ddab34b26cf31d40768d8935b12cb3cf6b39c6b0c5bbbd6d5c968d8929";
+  sha512.source = "40e033667381b9824f2e6d4a603007241ef085fe76432fae16203c581db09e2ef0514dbf1cc037fe6d0bad2b09ef91fdfac086f20af7fcb16c6d83adf1fccf0f";
   hasRunfiles = true;
 };
 "l3build" = {
-  revision = 55426;
+  revision = 61312;
   deps."luatex" = tl."luatex";
-  sha512.run = "1311812fbdba6a8c8d2ff565916ce3da9081229f9129fe8323239eda53ba544686d9bba184112bfda4304c5bdd51c944bdb51e3d6b70c2b2a90ad4ffdf0a6254";
-  sha512.doc = "33bf3c01ec1bc38122686b55bea0c6c096bc2332ca1e04b23e582b9c1754a4c76537e180fb636952cafe63639a883592b06ca4245d3e3f38b944e03dc38fedfe";
-  sha512.source = "ba5051894ce861a2f833d592156976aa5ab3a1ce9d6c87e8b8eda33f32820c4d1bb0884f193536d8ce9362eddcaf11b113b9cf9ef2ce8b551f739951afe7c4f8";
+  sha512.run = "332b834eb718a3e95942c1a293533effa8adf87bd7b0b3ae10b6192d72797dda095766f843ccc72309059c4fd577b1c45530551b95978d4c06a8dd4e1925d6d1";
+  sha512.doc = "0e060167aaf50d10e3e68248b6beaf89bbeedac2504ea8628920889a64d1a9f52dbbf4b96ab319a088953f71f4dfe7e50812bc7212ce496d7045ec689f431fce";
+  sha512.source = "5360b179f321bd517689bec2290ee126d1e25449cffdd72bfc918b2df7616b2261d901cce99dc36624cb1f594f80d012a0e0b7986f4b6394841e63250f112bf5";
   hasRunfiles = true;
 };
 "l3experimental" = {
-  revision = 57789;
+  revision = 61040;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
-  sha512.run = "b72f9d154fe57effb38b8da1fa1e32e4343e4ff8eee094794c7d3864a2b89f4ad65f2c744de8033e4371872c325462f5fac9886e5037a965d3a5e242a916a055";
-  sha512.doc = "b0951f18b213cbc9796eb80ec688ff7bddb07606a756262a252ea0572e4ae5b4c562af62bc26a13ed4512ac82c92a6eb3505d39eff50df16de1fbb924bf3d499";
-  sha512.source = "2a48f0bbb8d53bb95939376a91a08523233f002eb9c4114c36d599c89a8442a960df52a727605a4d8c5ec96e89e131ba7c3cebbb575aaae9d85b0a60f02659dd";
+  sha512.run = "a90af320c8be0e8c168d9da205f00326172591efb68f8a3940c4484ed4d782924b8d5e0179b6bc469ee698a1991872fb0eac15a4417faa4f2b3f9bfcc23c5dea";
+  sha512.doc = "811efb82fd5022de46d4411b9ca5961c3932715e90c157ae3b1caf0001bc106bfa7c140a6d53ed64b4a1a52fddbfa69920070f67feff2b9f9da800dc4a37e02f";
+  sha512.source = "a8f08cdf948db1b81ed2d9c87c4f4e174125379d9131e62bbe01aa1b9d40b488dda470b20167e8b2098364cff26a6f5237487f985263f9fc547b842d75adddc0";
   hasRunfiles = true;
 };
 "l3kernel" = {
-  revision = 57789;
+  revision = 61121;
   stripPrefix = 0;
   deps."l3backend" = tl."l3backend";
-  sha512.run = "6cc0245c0986c964ba8a41430c4c1a794196f6c534fffa8bb87a43687d60a5f7ae686cbe09e36845898e60d13d6503448c81a6d549c7793f799c241013ef41b6";
-  sha512.doc = "70150363e1f09627e3040aaa7f1b0aabc3a62e5f5d81c00b8991895873bfccf764164dbc7da4a6ff7c5e12513d343a0eb6e38d7a173050e0db53a6c7cb66f6b1";
-  sha512.source = "5f8837dd921469ed84e48ace634a00e450cee5fd8306a7236279cdf86b842ed2134f8960ff58bc2cf15dbf26ac7d407bc2a1d1ca48179d6666e88285a210d4b7";
+  sha512.run = "a82e2199e56b039b4ffc50c7c8cb02076d182f4a3df1481b1e1a89510b5bbfb1b0aa35504c9df0d781699837c06f1a72d08efe0898b4456b352f45ad19f5972d";
+  sha512.doc = "b97c8810586549231879494f8f162f0d5af47fbee459bb1d173f5e0962205c0e107c4b58fad1b4dc73c98f49a1689961eced9d2ac6954b4f9511f07e14d405b9";
+  sha512.source = "aa3c5069c5670eaf2a4a8f674c4f67e00ff220ca5cd40d0213fd99ca76937dd8bb7f43ed357ca339769c74cb5a5ad82be4a46f689778d9097ff202c098747a31";
   hasRunfiles = true;
 };
 "l3packages" = {
-  revision = 58296;
+  revision = 61040;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
-  sha512.run = "9ce87e6667a601818c586a01629ff954bd539075160a11e82bb8f53bf1306255584fca6f3ee36327fed5c78c43d7ecabcecf4db1b09410a70ec77496871ba4e0";
-  sha512.doc = "782e2a1d9d49264eab0801c625940c3fd993051f879f1e525a685572ba08e949368f429a01574a2f94d9b5dd386db33a6c75aa3eb485c725ec9c8007f5f5def0";
-  sha512.source = "b78b37e60af618bd2bb527a7bca77f99d2e977d4baa8a1899275ebd1ac0ec9f71b6553a8a83a1b8df763b6a4ea9533fb5d0bbc64bdf0e7b29c9a0bb850dce59a";
+  sha512.run = "1ca8e7484f5d86fd85197e4bb0058444e68f73caf68c04f3ad67ce0a96f29c181d496227f069938604dd5a4dc095e15c0f2addf26f150da0ee7ccf6d48037536";
+  sha512.doc = "4c133f7ede9a37057371e838355daa1138b4cc9e1e8714d9f62925cb56b91645d1c9478b3bdf1050005c3a08b2282881fbc84f50c166173c958bf16604630814";
+  sha512.source = "93dcfe3b4d04c60a9880d34f8a6d924ae5e800d0cd9a2116726c2e651ae43665b34e7bc232640857c4b4f235eaf3ab25eff62d43f175721e9272b1b65f09b3cc";
   hasRunfiles = true;
 };
 "labbook" = {
@@ -20206,6 +20822,15 @@ tl: { # no indentation
   sha512.doc = "846c403f99194a19cd21e4d7367a1b43a8ad608055315bb36a1113fb37dd3d922dd8c5cb8474ae52ed3006be520b7e9023680e85f0dbb17f69a41c8c17e81a5c";
   hasRunfiles = true;
 };
+"lambdax" = {
+  revision = 60278;
+  stripPrefix = 0;
+  sha512.run = "63ce2370079b4b2a286355d05d40771658e35fef085570aaf07d264d81571378a6d76db128e3fcea1c6c27632cb37f317ae28300059027979114e9eefcb5cf53";
+  sha512.doc = "203a8ecde6022efcaba0680a507833ec56601887b47dbd563683195b828cd246d55cc9a44b91cb6ec2a3d0b8d7ce6d0777aa9519b93ca2b4b0f96f643df35dd9";
+  sha512.source = "2790c5696eaa95b18c4c301d3a72d5aa0a72566cfebd514dab3546738897f2d0aafe55ef96ba51073fd07e98f0052eaca4cc9bd8d46f5fd9cf7b544b4f103c64";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "langcode" = {
   revision = 27764;
   stripPrefix = 0;
@@ -20216,10 +20841,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "langsci" = {
-  revision = 58476;
+  revision = 58820;
   stripPrefix = 0;
-  sha512.run = "d89c4c372b6caf6b2c5ed76137e8f3d89b984ca67a1c80b0a7b174a99dd68b1c6e1483380023670129e497f90d7a9e5b85d5b9a91344c0c2b047312cdb80526a";
-  sha512.doc = "4ab637562747443f5027ca38ae2a77c87e47a627c22cb56bf77d60ab2f9ed72107eb7665db526d2a8d5d0890334424e8f7aedd93fe928a4ee4ae3340a5f40db3";
+  sha512.run = "bff440adaa56f45ff5a2e8d84d9af8267dacf1c1835c0ae151aac8b30d08b50a1b9b432343603fc6c5426d157befd70cc6d80e2c70470f85c875bf3e733927a4";
+  sha512.doc = "570af6bd6f945aef36cc533d5a7fb05f7ffe615d01c9fbb63d9c1cbe2fa8120444b484ccdb84cc3a1c9805bd00b92c7cf744688b3d02166bb03c735404088a19";
   hasRunfiles = true;
 };
 "langsci-avm" = {
@@ -20249,44 +20874,44 @@ tl: { # no indentation
   version = "0.1";
 };
 "lastpage" = {
-  revision = 36680;
+  revision = 60414;
   stripPrefix = 0;
-  sha512.run = "adcd9319022ecf2a5b959ede5d5ce8c5d6a3e7efe1aae5f84abfa7d138162e24a403c6d50604cb6bf8bc80a918837f6d78dee60a452397e7a495cc4d15e52956";
-  sha512.doc = "2eb7e8457918e2ed51abf6f48d5f5d93157eff19b8e320a782bc204b44c58a684cdeb2dd3b1c28f5a8de7434b6da9af49ffb2d939ae80875234797149a80c2ab";
-  sha512.source = "53b1f86deddefe6f61b270ae18cc705a8ec1360a98a5e5338730aa7cb1653383062cede821dc670c5a9db0064e2989961d2604491bd6a5df9fd90f6e18ba0ae0";
+  sha512.run = "0184a80cc33e2b067c97bc9be2bed20881d841f2ae1213fa48ae5b67c16855217a166f4c35a1dcb16fac5cbf0aa807c5a5fc7ada7a5ccbf3af77777719b14711";
+  sha512.doc = "ac28e1fb9ae05bcb78e825356ba6be73b52c5f06926c446193be9af8ba7e8e7adee7c51284a797d9872e66137bf96cb2ef3dba41cc9624d25155a1ad069f5307";
+  sha512.source = "d3ef6af7acd8542a3196b24a9e431907a56a46e96e5d1245ead73cce8b00addddad07acf9e9db656f62e9d2745d557b79da696a6562da2c62f975a9a5ade0f2d";
   hasRunfiles = true;
-  version = "1.2m";
+  version = "1.2n";
 };
 "latex" = {
-  revision = 57354;
+  revision = 61232;
   stripPrefix = 0;
   deps."latex-fonts" = tl."latex-fonts";
   deps."latexconfig" = tl."latexconfig";
   deps."luatex" = tl."luatex";
   deps."pdftex" = tl."pdftex";
-  sha512.run = "3dc7384b2074e86b6c45f5096b7a85a03064b0d9be4e74b46adefbfcc1fe80d66700f38494961a806ccd4710219681e2968fa5c0c071b366b197114af7c798b0";
-  sha512.doc = "13b7a880f89a5cb1ea79fe32f8fcc20679ed30fdba4c27837b29a7c861f52cfabd614622bcdaa7805bd0e8f1abbaeea0336d346d3a8b990e94bddb516e093ce3";
-  sha512.source = "39703818293b0deb2b337ac23e8ca6bf55c982b71e5753dbebffbc3627729f6334e60fb44e68d372401dae03bcfa3a3afedc0751dadf3934fa8037365a390f51";
+  sha512.run = "2aa991c1a343a31aff1e46316f36cd6bb65690d790a567fe705b425371b887070d7bd9f8f9ac8223d46608a1430a01358f19dc77421b2301b22f6f8761fb175d";
+  sha512.doc = "4a14a06407bcd763bcd361a89ef8d77e32bdfde63400d79de69ed87ab49f2e240f7de8a3a71e1de5416d56185e2d06ac9d78ea36bf97728f6f30d6577d0d52f2";
+  sha512.source = "b466c2ee1a583f661f4563cd6d90d436c5178a656bd793dec9fdd28728f195e31061974683a9db23367c607cc584b600e2e678b680fd62c7028d47eae607cc6c";
   hasRunfiles = true;
-  version = "2020-10-01-PL4";
+  version = "2021-11-15_PL1";
 };
 "latex-amsmath-dev" = {
-  revision = 56791;
+  revision = 61076;
   stripPrefix = 0;
-  sha512.run = "53089df5f54a43f8e6e4835df89824ebbc7ba53d54a96dcb3419be22fb8151337d5b03dec8db095a808135e83de9739f8dd314befb52d3f3340a7f82d8b0d0da";
-  sha512.doc = "ec111f9ae7c306c4a028ece6edd89b205a47d05d82ad9872235ce189354cdb2415f64a401c150327dd6cbb1b84d0ca495236b733000213f7fc9865a9baceb8df";
-  sha512.source = "13564f9aa92a5e6577caacd4c912ba7b8ac1da004092dd911bc311818689b9cccdff8c5b9e6ae9fb3cbac4cfb0eca0a008d83603a0e793739f02cf4cecd307cb";
+  sha512.run = "94f8395f17bddb61cdd2a61738bad0d9fb177609435e31d15a885ae3ff76999ec08ae36a75f8a4284447ee0038090dd1db37801a4664a01585b2956a3eeab6ee";
+  sha512.doc = "d553ea65c6bde91e7a02585a0c3a5302a28125cae3f990b4cdbf05070086ece00db9a76121e80b887709f8d6f0f1b82c3db1eb913fc71000ff44dd33c2c3fb43";
+  sha512.source = "41dac01263848e79fea146e928891f58795f7cfc1fdd5ed6818dbf4eeacb0c4333e9461079abfe9459b006d6784e1ae32f5e149af89736cbc147b626344a83da";
   hasRunfiles = true;
-  version = "2021-05-01_pre-release_0";
+  version = "2022-06-01_pre-release_0";
 };
 "latex-base-dev" = {
-  revision = 57982;
+  revision = 61076;
   stripPrefix = 0;
-  sha512.run = "3507b1e8df4ac9324ff9069f3fde6e5eafa03ce4a13012f8b52f6b8df7a7f2b2d6cc0046282724fa7a564a0883cabba9b2b6c5f1e78daeb8144d30c7a5cfa9e5";
-  sha512.doc = "321b6d36ed15df2b17ad5de07e588b9983b99b62b9e4af102f976bfd951f45368449d29c463baec44de02c1167d3fdec0e073367e687607001c8abacf4531d42";
-  sha512.source = "3cba58ed6cb3bccf4fba253f0c2757a0097c2dfc0abc1ed8846bc8639d24f53c0ad1fcf0fb35a2b13d30786c016772d483f67ae058be2b814369838be95cc6c2";
+  sha512.run = "6261ede2b83ed8c13d66345206d412117b3287115701191e2bc6cc68ba6a4629b0305ca3c8d33b9f0f9ac9a6ef6adc1c45467b9e2969ac841053e8b3d34e629f";
+  sha512.doc = "5ce8066cc8098b7946f6756b41476033c42b649f2effcee36feb4b88215e1351ca981d888894124468206a711e8189cdd26e79862478b329d0b4f943f8ea9ae5";
+  sha512.source = "6f8674c52cb1bea1ac6352453c7dc0e5da92e96cddc12f97fe3a6ab5b38a60d64914c7d8ed4dd1049e41ec49adc724fa573cd0b8034197d88eb0ff5a0158074e";
   hasRunfiles = true;
-  version = "2021-05-01_pre-release_2";
+  version = "2022-06-01_pre-release_0";
 };
 "latex-bin" = {
   revision = 57972;
@@ -20318,7 +20943,7 @@ tl: { # no indentation
   sha512.doc = "7cfb465f4db5089e7fa41762a0437f5f51445efdb9aba5d676dc5933e0fbcfbe0fda31baf83e20f2d16e6a7a0019c71752af8744d02ad12636adb9afb8cb3041";
 };
 "latex-bin-dev" = {
-  revision = 57981;
+  revision = 59005;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -20345,8 +20970,8 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "31c364be709db593c1a1d4e5250a7d8899fe0f5eb534c61c5f67d1a032b4afca9a91c5d2d1a541e96045d294c87d7ca1758a6a59bce8a3e94bf5511e20cf8854";
-  sha512.doc = "94474a52fb6a2bb801405c83562d6dd69038cca8d73705f382c2acc6c63d57e057a6b6c1b93556e41f5d0d9f9adfa269f0857c35e6523108eb230985752c3261";
+  sha512.run = "5d44e0274f584509e2d600f0c27f6bb395d5c9a9d18cef9df67199a8ebb30b00d32a6a944ad7e195a47ac7bd87e0bd2d8f116cd513678a0cdf2a7d45db8c065a";
+  sha512.doc = "f7ac33d09631c9054f8ccb0ffd91a6ab83bedfee96a299ec5727be9ffeae226d2844a08633cf19e5ed45a17fce9c15707e02aeb53778d06281aba0b612c90a60";
 };
 "latex-brochure" = {
   revision = 40612;
@@ -20368,13 +20993,13 @@ tl: { # no indentation
   sha512.doc = "c7d7217a9136785cfd6ddb000e51d455e7482bfe395a9131329767bfffc71f918c2349b1426b615a6740263c958530c68c044ee3ae78300a004a8acf20bd8bdc";
 };
 "latex-firstaid-dev" = {
-  revision = 57981;
+  revision = 61076;
   stripPrefix = 0;
-  sha512.run = "d15e218f16cef0e7ae518ee567d9d3912b20e1e62781f0aea4d167b1922ad28b5ce946609fd2f2a9e3c2671f096a0e34c0f88d30877dfee466ac37130cf20a18";
-  sha512.doc = "870a42973a33fccdca2c176071bb5dc9f52f29c69fbe41633f75097b3b42e63db0185697ac0bbeb487eed0bc35df61507a934f2ab47c413970fa6ee1eeda73e1";
-  sha512.source = "d9b97a9c8b659ef4a4ff3a67a4593bf95bf5d01917b0c550017a4a2085d5acb127a1028920d4bee04a7b00c34219f001afbdf8b34c51a0b04bcca2e2c70fc3bc";
+  sha512.run = "1d0d0194e3808dac38992780df3ec3f0c7d6085c0fc7751741b22c486222c2bf2df7e14517e20145209e055b2af674b7d9b8876fca1e4f24a4c711f7b2c892ce";
+  sha512.doc = "c549e8321a0bd994bd2feed0d4124df593ca6ef4e5394a83f3cecf6f6ecd1af5f7a31d3bc1742c7cc23fb651095a7d2a32673e351d2b84d4654ebdbf523ada8e";
+  sha512.source = "da8753ff5ad1df2c267e06e1d353502bc1c08e2f8c8100a2da510f417b30f88e5b8454e3d27032f10195cd226a2d800046f0df9b20ad66d06fcc0961aaa7d45a";
   hasRunfiles = true;
-  version = "1.0k";
+  version = "1.0q";
 };
 "latex-fonts" = {
   revision = 28888;
@@ -20397,23 +21022,23 @@ tl: { # no indentation
   sha512.doc = "ab9d885c811af3964e8cdd8576349059bd45d660e6b9a7e931697f7c7fa5282c725e044817de8f2648ded59519d1592945e0804ba7cbe0054ce2bd4d44606af5";
 };
 "latex-graphics-dev" = {
-  revision = 56791;
+  revision = 61076;
   stripPrefix = 0;
   deps."graphics-cfg" = tl."graphics-cfg";
-  sha512.run = "0c92c61b530930e7e1d7d0343bc5b471b340d9bdab2b277afce01140d1bf7c6f7b0d7658309173d480ecffbe764ab0669335d3db9bd3c0d4be10aebd19243133";
-  sha512.doc = "5ec398dcd9ba55e35f1575a09b10d6d589238089ded1653f00dfe15e60cdb1f46df88fe8d21807aeee598cedc66791609a525f01bfdef14c1d5225ee4295cd73";
-  sha512.source = "db6214e4fec5acbd0c9f23d64f6e1a19e8ffebf2b2e5240498067a1cffb96b66abbc7d53d2ca02cf1b4962ffc34d79ac0ec6c53ba4a250ba5b518b54017f11f7";
+  sha512.run = "b87a4ce8f6751cb251d17d976a43d01118dd63e8b74cb24d8d5835d674fdaa50116066f7ac5fb3384e9d5f511ec82ce91867b026f9b1e2d48acf1bee87188e45";
+  sha512.doc = "0f0864424a653cd1166e7f422f3740fa777e6b88813d8059041a6dec5c0b4921798060f3d3069b1bd23acc869610fda988693d297f52d99f39f31ef6c1e3e5f2";
+  sha512.source = "a71b652ecc00bfb2628fac7d8afeda361bd8f4d87048af29f304fc10d768e9bbc1ecd31f642f1b645ac2ac50d76ab2652d4e0532c94d54278cd9b827ddb5d694";
   hasRunfiles = true;
-  version = "2021-05-01_pre-release_0";
+  version = "pre-release_0";
 };
 "latex-make" = {
-  revision = 57349;
+  revision = 60874;
   stripPrefix = 0;
-  sha512.run = "1813e8f2c768d7bc33a44d8fa11609915bb392d08da86718ed969fbe3c4284d57619a39284e611ab454d207edd054b36322d5e621cd23e302e85c17c52c5060c";
-  sha512.doc = "71111a4f203b1ac200515ff1668831265733c9b7fd6884c4612f1261e65ad6cb1336258e7ef47f51f0d0e12a98f3efe4884f38426c0905164b3a9b8ffd47895b";
-  sha512.source = "9aef117c9db4a8e59715ea906c8293fb460ea4026d583d33bb34c3e14ad92ccd536d831cd2e3eb8729eac3b4654236e73419a2bacf84e1c10d640ab9274db2fa";
+  sha512.run = "de9a924c38afe1abcd0802a17de4c5fd2cb444809dc81e00b6964cf3d0c81b8d8796a1bfa804250701ac4d71f42bb9d2a9ca1ec0740f59a8feb329d26aa605e3";
+  sha512.doc = "aeef6568aec936c43dd0bfada1245a0d353faf2329e6e66e9d49ca8a1a2f9eb738ab1667934cd0a160e074c2e2da85aa8b068bed0bdb1ab1b944cf62f42af087";
+  sha512.source = "521a553ebb556cb6df809ea5f830c926101dcd06f147544c19476a0b0ba82154c3b0316d795f4057a906370972648b485a96dd7386c8e6541160af469a74487f";
   hasRunfiles = true;
-  version = "2.4.2";
+  version = "2.4.3";
 };
 "latex-mr" = {
   revision = 55475;
@@ -20444,13 +21069,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "latex-tools-dev" = {
-  revision = 57982;
+  revision = 61076;
   stripPrefix = 0;
-  sha512.run = "0d7ea543bdd7bf257290cf0731497a0eeb6438b28ec2e4b978fe4503fb09b81cc77b8eb33283446b93b66fc76fd255b8f76dfbc9d5fbbbb3d91b8f5cf336d987";
-  sha512.doc = "c7653f174ce48bcc10753970cb10140a76f0eae9a7a7b08fc35a107d71fcb6b62adf958a07f319c694cf09d449956bf060416f86bd9f5bc89aad919ee8421992";
-  sha512.source = "a20d49e1cce2ffb9f510645e4b5f047352149328e1f5f4092523d5785a0c23739256079917ac636b19acf8481981f6edefe6c6246124a3449521cf53556780d3";
+  sha512.run = "4cc4e438acad4ae4e375a3f6f57afcbac85034a174d987d6118c1af2446950e175bcf93faf9a5cf821699d836352810eb7a546271af8ffb9617c306c9d006f58";
+  sha512.doc = "815da908df305d2d79aa892d4060761681bfeeae1541a1d6be05c184d49d8fa74fdb653591b9178db3e34e8e3887be90a9bc63fa69738d38439be26a8d2c82a0";
+  sha512.source = "a154957c29fd126f29fe123eac281f5b0858187122c4f53ecc5e475526bdb0f88f047b4d32d8d88d3bc5394129caede8c3905955c77af461cd503b5e8af8ffce";
   hasRunfiles = true;
-  version = "2021-05-01_pre-release_1";
+  version = "2022-06-01_pre-release_0";
 };
 "latex-uni8" = {
   revision = 49729;
@@ -20468,11 +21093,11 @@ tl: { # no indentation
   version = "0.7";
 };
 "latex-via-exemplos" = {
-  revision = 53248;
+  revision = 59977;
   stripPrefix = 0;
-  sha512.run = "12760e4866e1796a290bae531205da1cca1f24c51359a9e0f231524a55834a94a357625b775997f065c002da663c460eabcdb5ae22984330427c62e001f49fc7";
-  sha512.doc = "5a108346c7653122b37a9914cdf16410e6135f142b1f849d3d4d413be2cc59631d56c3b25d770621d84ff3256cadecbe7834f132b424244353f5889f09dfecf2";
-  version = "0.5.6";
+  sha512.run = "5e18cc2fcb58449ba2e934e0346dee5c5a589a121b45ae8e93e0c1eb48766b970a475f8e609cb154520d51662f119709893580e94c2e9991b67e4520693f8ea6";
+  sha512.doc = "e582f96aa1ae3d1e753f87206e2f309158f16c1f676fdb5492fb95bd457aa680b5a0f882ced8f0ec49f11c6d85ad19c768c3459ec77b9b01f06d1a03a8ab5f6e";
+  version = "0.5.7";
 };
 "latex-web-companion" = {
   revision = 29349;
@@ -20481,10 +21106,10 @@ tl: { # no indentation
   sha512.doc = "a972860f65d763c6fb45e9726e5dd7b8234509b90634f45b8b25e090da92d0ac577bf8b33ea7b0a0f91e4e5639bf62c07086dc36708ae697c1e16e644acc83f0";
 };
 "latex2e-help-texinfo" = {
-  revision = 57213;
+  revision = 60038;
   stripPrefix = 0;
-  sha512.run = "914b0959cd94f13c8c8a9e3bf4ce88988816298853d73e02ef3bef24a03e621a43d6e7e2a33a0253991c32c4a02b87bff7eb6d6a8cec7f4ca80142308c4d79bd";
-  sha512.doc = "d659abed2563ca91820af487693cc91919ee3ae10c077c40a27fdbcc5ef1b7fc223007945bfe15ba6e5e8c2522b0f46c78810342cbebf9a6e9a96563d42c583e";
+  sha512.run = "dff005a0b80915f4c1ffc520f95f1d1efc6437f1c46f18417c6fb2b4dbb48c8bacbde3d02554d08a149092bf499313c189010cf1963c67dcd55ffab2ec3eda28";
+  sha512.doc = "988c25f80ce06dd1a2e192231c2e6bd0faac600fc15fc772d1f88aaf48b7bf1f12f593f34505cc829760c4a3176c243a3c2271a8914b0578b6944587f5360362";
 };
 "latex2e-help-texinfo-fr" = {
   revision = 57275;
@@ -20506,11 +21131,11 @@ tl: { # no indentation
   version = "1.29";
 };
 "latex2nemeth" = {
-  revision = 54389;
-  sha512.run = "37065f9916e6755c1a97f2b8a1f1cfd838008b5da2d2131938626ae4eb6872af30e5b4b767ff3204e271a86b7245b54d9146d9fdd8c807f882ca28e1663d2d14";
-  sha512.doc = "e2ea8084bec4d41a4b694c3b46788e3170043ba1f7ce4096bf029a4de61b76cb504b532d7e0c454943980d44d1c145a78a9e4a7f20a6654aa9cca63d388bdb5a";
+  revision = 60528;
+  sha512.run = "d245b34164d29fe4380e81ed76bee7042bd102e53dd86dae98d0faf9575fd2c9153b9570946cbc372119b6d6d8810239dd695b2f880043cd0b1561f94482dd90";
+  sha512.doc = "1c2c15af443e7b2289fd49d6572818b3268eae1f0bd77fe47d559652ada909f26557180da2f10fe08542e8e65ee977ec8b105fa9361af1caaeb6b12da7b74ac3";
   hasRunfiles = true;
-  version = "1.0.2";
+  version = "1.0.3";
 };
 "latex4musicians" = {
   revision = 49759;
@@ -20542,13 +21167,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "latexbug" = {
-  revision = 58151;
+  revision = 60609;
   stripPrefix = 0;
-  sha512.run = "167fd3afc056f1a17510ff3040208686d71939e2bcb8f09e4d21ebd57420debd0beb315d0c6623ca2525f8ce7d50c063b3761eadd1764a8d369768edabde2d69";
-  sha512.doc = "4875fb2f4533d884259ec3191625b252f2d922ce8e992adf3c58eef2f1263e7c24121e6cc43d16e617da2dc66abbc6dbe9899cf63ee1592c42cf61174d77c763";
-  sha512.source = "2daca13020e5e605e974dbf4da0e83a1941496202b2908f6e4ac40666d715cf4a8edbc9ced512974d88b05812e62c0f2e856c564a9116b95a530dc18e768a0d8";
+  sha512.run = "512f622e48241d25fe38a0c64c9edcf4d20780beb7bfe9fe885e233e4ad880342d60d5b9c1d0f9b1243b51775621afe22b6f289a47fb184eab9b574cc976a800";
+  sha512.doc = "2d62931897b2117952de92536a80126ee696675dff7124750a1c332a74a9931051fb4c7a338e87957d044847b4a0023e779979c6fe67e38636367f7b92789ba8";
+  sha512.source = "6233bfb8ab6b417236d9796f2595fe54373c14632039fb30c98885bbbdb4fa1578a8d101e7b41624010ddc7010c0bd3ef9db604cc759e2ab9ca35d38798f6d2c";
   hasRunfiles = true;
-  version = "1.0j";
+  version = "1.0l";
 };
 "latexcheat" = {
   revision = 15878;
@@ -20640,19 +21265,18 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "latexindent" = {
-  revision = 58790;
-  sha512.run = "d33db672ca71557e5a2fe1a59e95c78a4da49ed0d9a73da5b1ecdf9b36d1b4fbb61aa6f9ec47d7ec5bbf8197878692758cec937879bce94d1f8505b47514a050";
-  sha512.doc = "89bfacb4bde1abd385173bfa2b02a7f0c8fac437f557dac027e4b7b112a27308b91844217c6fcf46dfef2141f9efd1025c17b244acc8b87b56a72a5595beaf28";
+  revision = 61385;
+  sha512.run = "8c3ca82b20daf3bb1d84ac5070fee9199b1f1df53a6d7ee8e2b61212df3fadaf695db8583c4e25647309cf5c8e4af45e5a5246e18897980aacba307663d4cce6";
+  sha512.doc = "2f081821ec57fe1cd7562e5ad8235c491a2f397cce0227f4fbc037d0a4adf64010dd562ef61758733f0e1bab448b2ca8c40a14e3adf51592e3a14dbfc5483389";
   hasRunfiles = true;
-  version = "3.9.2";
+  version = "3.13.4";
 };
 "latexmk" = {
-  revision = 57213;
-  sha512.run = "6f27053fe1356cf751b39801a2d1cb208b5309f45202ac11d87a4b8a573291aedabefbffb4e355935dba8755862a89b5d47eab820d939e6f5f851a7009933d7d";
-  sha512.doc = "fce0c767ac6aad345b5cbadb31bda92e1483723299e877ba83983c1fb9346bf776ceaefac89be265d45d5348777f8e5d072306432fba9a81010d2cd15944e48c";
-  sha512.source = "32d772c91be32f870d11891f4a34bd7bc903b95d27725edb6e9e3fa8a2b163ea4730c09ee4e0f93babad123f5f25c30f5efcbcfcb64837a7793e9c3d51da9ef4";
+  revision = 61146;
+  sha512.run = "e61a7bbfdffdf07f6c2c6cc9e549602ed6900677cf13e605379c3a1be206edefc4b0c2a7f7ba649184650413929b47e82b9c20a9245f788331d528dc833d6c36";
+  sha512.doc = "03cb839f5bca7063bb477f5843bf4a30236d12258dbfbd86bf97f54faba41a6bab0c403509ed1d1d466e4a59a94d15030455e337c3cfaf61689ff556d6f02a15";
   hasRunfiles = true;
-  version = "4.70b";
+  version = "4.76";
 };
 "latexmp" = {
   revision = 55643;
@@ -20780,11 +21404,11 @@ tl: { # no indentation
   version = "2.1a";
 };
 "lebhart" = {
-  revision = 58503;
+  revision = 61338;
   stripPrefix = 0;
   deps."colorist" = tl."colorist";
-  sha512.run = "9f2e2a2b45593dcbcf57bb5a41b0785c73b3e920d26b2311f25776d5902b325db23931f3d9fb642804c374ac00495b350af5559b9bf7bc7fd367f90919a4e94f";
-  sha512.doc = "b3f9af0dd9a4a08034bbe769a3d8a0f76aa741431646ce9be168d6292688c63070d57c3757c799fc2d37391cee12e65828e31062c9abad80b2ca7167ab881f4f";
+  sha512.run = "33a117be62734eaaa4c5062e85d28c8ff768f4ee71b76081db2b4f31985ca57b62e42146da417e6ce87e2947ef2523a3709e4defaa0db716ec0b23e9170311e1";
+  sha512.doc = "5fd2fb76c7756ee9a033eea1a479858a21ec483efcd964b53fcccebff410de3c48cead6388092f745225f15f705390c702798c8a8a79fa6dc6190d3c98ec9126";
   hasRunfiles = true;
 };
 "lecturer" = {
@@ -20869,11 +21493,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "letterswitharrows" = {
-  revision = 53709;
+  revision = 59993;
   stripPrefix = 0;
-  sha512.run = "4594fdce5a2c6bb4c4405d5111b574076faa247e4b5976596695af2de776edc26fb949d46012ce29663c55c78342d0d234e0a0e0f6a53fc59991083fc3b7e52c";
-  sha512.doc = "4bbef8f44103e5155cdcbb3719c80f3a1cd4b24211b3734e4e698b411519fb70742b4cab9ee510bf4db2a6a929550e1f448aeffba311b0fa7904e17ecd44b5b2";
-  sha512.source = "ea32a5da486d6c7501c900254f1c76494bc30ca6ab74be7d7f6494abe263151c0a94ec3ebae48d778e7fd21ab71f065a26c56535ae9d2f1d8205cceae13ee9af";
+  sha512.run = "dcfd59b7a51100a4e1d856d3cbc0d4f2ac258e745566b278e275d8ebd0273e7f96fa1431b681d42e10b1c7496596f1ecdd92753b8b58df4fe352c51b9b009bcb";
+  sha512.doc = "a21ff5d9a4c2e409cd7a32207e1e162b263dff46919fdad25bd5fbc1cca86329efebf847ed24ff7401293d8a318bde9fe7fd2c9def69f39740d5e0686c0ab849";
+  sha512.source = "50e2521b55a238cd6e461b3bcde326c5948573363988bf3bdcc428d04341728dbf73e891d09af65ca1832924cdbd0b0320bd94d662afdf78b3d1039ca3519231";
   hasRunfiles = true;
 };
 "lettre" = {
@@ -21010,12 +21634,12 @@ tl: { # no indentation
   version = "7.040";
 };
 "libertinus-otf" = {
-  revision = 57398;
+  revision = 60023;
   stripPrefix = 0;
-  sha512.run = "12f6bf40c77850714880d7f1e91629e2242d206b2f672b2d9d2f18d567e0e6fe47ef161d03a6351d0e1344048dc8b92b755d53153c164e23177c0dd29ccc3372";
-  sha512.doc = "a55175cad1b7a407e827b341ab742f6a7ed3aa92984c4a39d534a76b2c733b4aec939609fc77e0e319f2eb2589f2a96c5bb0f8d2b00ecad7ad74932fd8959bb1";
+  sha512.run = "1aee669aaa55ff11c2de760f65597542736b64a4ae52b8d73aa967c92a178ae7013ce06e701d9a3bf3de0e5987abec4d29401480dd4bb845a64c0047ddf66c84";
+  sha512.doc = "6c21d100b5ef1bbb8e892c0a0da0cabfe11404b7e1e4606ec04b25bd0a0d22547b1e80f1398573f62a34b4e951cda01466d0d8828cd10e78e8ed008aafecb416";
   hasRunfiles = true;
-  version = "0.28";
+  version = "0.29";
 };
 "libertinus-type1" = {
   revision = 57754;
@@ -21025,12 +21649,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "libertinust1math" = {
-  revision = 56861;
+  revision = 60495;
   stripPrefix = 0;
-  sha512.run = "a0720e690aecd6e8239aabacdb815ebd70512b067782d0efbef9da437b8cbed9edc70f5650eae18f51e3cd37b4dc966af472690fac9bcca0dd025faf591b26fc";
-  sha512.doc = "d963d7e8541a8a7df1ab8da508cee578abffeebae9d1326ed0d11f1c28831b6f6656429988ea77378477d7a5680aab1fcadd793931908a93cb16548265c7a96d";
+  sha512.run = "bfce92d05045e5f9c381a82ccb5cabe9843c9e65ceb6a1bb8028aae5fed4ad1106b94055bdfd38ccf6178bc5b1fc82dd0436d9cb2977fa11cee9e25697a898c3";
+  sha512.doc = "9ffef9c46f0b91500494798fcd6558cc5a286f728fa3ccba8276b141265fc2d59d6995283a9284a26dda3e4523bcaf74493b8bc1b85d4c100cd249387032ee52";
   hasRunfiles = true;
-  version = "1.2.2";
+  version = "1.2.5";
 };
 "libgreek" = {
   revision = 27789;
@@ -21095,11 +21719,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "light-latex-make" = {
-  revision = 56513;
-  sha512.run = "ef43711feb7a776c094dfb0fb87d8f1d64f30bb4f5872cd47ca9f9bcbe7aaea84158b54414ea6e3cfa6a8dc58035eadee7835d175b8a6829b5c7298c33723d26";
-  sha512.doc = "5e25885e1a537a435b7e4d71969046918c0221741ff9d90adce0ac03f4ef3208e18af58dd007a95c62261ce4c2506724244d4a3706a0ec9c8c527a0596c0da05";
+  revision = 60558;
+  sha512.run = "10ebf02409748bfcd1f7d2a202f22eafc309ae8bf0633da7b0fbad84eef7e94cad6f716085e953205b7f6aeefc78ea9a52fd5459582f4fcdaab9020af81d965f";
+  sha512.doc = "9d7c6c8c11f93fe9019e593d6b63983e7b5235c6270d8940e5de6352c31586bf4afb81cd38b9b0c769d26058b150864c6a19f133fbb1a6249416266f03d07dc1";
   hasRunfiles = true;
-  version = "0.2.0";
+  version = "1.1.0";
 };
 "lilyglyphs" = {
   revision = 56473;
@@ -21119,13 +21743,13 @@ tl: { # no indentation
   version = "2.2";
 };
 "limecv" = {
-  revision = 54329;
+  revision = 61199;
   stripPrefix = 0;
-  sha512.run = "90614eceacd921cfaaa60748ebd342eacc66f580879e0d2b03641b5c4b587e5559242c17240f248bd8ba227976d07a58553cc529bc6decfe40e8fcb3464669a0";
-  sha512.doc = "53859b21cbb3786f84c5250a8decc225a5d7208cab54ade8de28026d7a47a38daa841b89bca76e2952240d05d91a63e6cbc8afe401adb721dfad9417e2369089";
-  sha512.source = "e140a18b0c7956fda5bca6d75d0d4d89c7035f6cfe5cdf7245fbba47a095323813ca45ef5b9f5dfeb75e63e92cdd48e4003abd23666a8d70d8be8f3bc9a60e6e";
+  sha512.run = "14c7bb278113e8d8ec249e18fe7a142f5216984468a51a2c64926b2dea6e79d928310600cee498cb3773b0ae70e97199b4800a8c5df94431df121ccf62955b5a";
+  sha512.doc = "7e64c4a940dfb321da2c81ae84e709e1601068935f2531c8e6fdf514b5cbca6407485005f60e4f410a303b97557986f1962dfad976a3c3914d01309c67ae8049";
+  sha512.source = "43ab876f14fa2f920741f26252b852e5d579e9394efa1d5e00753f23365b62192293aa48850275c2aeadfebae4c2f8e0a929d4459c5feecedd7176514dbdcc9f";
   hasRunfiles = true;
-  version = "0.1.8";
+  version = "0.1.12";
 };
 "linearA" = {
   revision = 15878;
@@ -21153,6 +21777,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "4.41";
 };
+"linenoamsmath" = {
+  revision = 60655;
+  stripPrefix = 0;
+  sha512.run = "477155ffaeaee4a1cfdbd65446857e30263c6e3eea772fcc900742a485f00a8f8cad9741e6e9c310731e4ba5d1d0f7edfdfd5449b87c114464f6dbe51d848ec2";
+  sha512.doc = "66059629489a6930c5827b495d920f4842cc174cc38b9a645785e04983f96471f8031d5ad131e19a3f28d52cf3d4e9d8987da5505bfe0ad2939becf9c742a589";
+  sha512.source = "722c65947e93387ac7883e9a0bd974b85e2f40260793cae2b7404d234be219e3326b4a5ae4220525bb1820096d55400189340fa95f097c047e0182d6c3816e28";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "ling-macros" = {
   revision = 42268;
   stripPrefix = 0;
@@ -21192,13 +21825,13 @@ tl: { # no indentation
   version = "0.30";
 };
 "lipsum" = {
-  revision = 58123;
+  revision = 60561;
   stripPrefix = 0;
-  sha512.run = "6d93dbb16d94f7aa199e59b85096583a9e8e7a07b107bbfe1e0be7615717c29d94ecfd308c4adf462062251adb03b171a332cd688425f6854ce442c390c47396";
-  sha512.doc = "6d7e7f8037cebffac9a3725b5a7b32eefcb458ebd86cbc9b0380d05d2b1926c3a70e7032629ffd4bede5102c3a36d84e1b2bd21d2b7f9b3e9c642390822fbffa";
-  sha512.source = "b2f55edabef986f5e792509c6db58f89f2bfc816cb07968e21f49308df4fb37836798f28d84a91b6020b6003b441e697800c2087b9e3549b2dee3cd1a393c5f2";
+  sha512.run = "24697be378aa490bf71194c8622400c11e27d5c6549caf2362250017ac97b4443986a4ad5f8d2d96aa53cfd7bcf5cd7ada0e1ddbbbfd27135e2a23bbad21563a";
+  sha512.doc = "ce44b2d4acab295bdcb2d0edcefedea449c4dae7cc4c0d62ef73e36169b0858863003bec1575000bfb78b1ecd9e5413807a89bc464b5d173f05a43313c7a22de";
+  sha512.source = "5984bb97fbecbecb5aaf26f788a6879682f6ec39c87e01c834533a779384b20ad02f1825cf5c2339b288cc61ed716eb3a76e51c45ccf80849b4434132e0c4081";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.7";
 };
 "lisp-on-tex" = {
   revision = 38722;
@@ -21407,12 +22040,12 @@ tl: { # no indentation
   version = "2.5";
 };
 "logix" = {
-  revision = 57457;
+  revision = 60099;
   stripPrefix = 0;
-  sha512.run = "fc499a8c77e2d3a285888ee01837c88077906fc57ac73223f5887796e0f32bf4179b5b2df1a87d4535b59137ca12b6dc9ac1f9084dbd158b038ae622aca92eb9";
-  sha512.doc = "b483c80466b883cbc56fdc5807420b01ee5c720d262908d0ec5bd9b61a51a15be5e1de90097026b1d2e87b54d19cf3dcafec33b5d8075edff46f2b4a6bfb6bb6";
+  sha512.run = "b1eb3f7d263546089fe5d0e3747d90ad5742b160e03ea2ac67aa158b66398e2c7bea0889ca708295edc4e41814e8966c9865f94417d80efd9f2e21b495d312ee";
+  sha512.doc = "59d233c7b148f15475a47790151f13d569b099740d73846e618316229c64a804fc7c4154a4b5942b0ae0b358ac77dd39532c4cbf9905101dad947afc6520108c";
   hasRunfiles = true;
-  version = "1.08";
+  version = "1.10";
 };
 "logpap" = {
   revision = 15878;
@@ -21443,12 +22076,12 @@ tl: { # no indentation
   version = "1.07";
 };
 "longdivision" = {
-  revision = 55117;
+  revision = 59979;
   stripPrefix = 0;
-  sha512.run = "13595c314837df4581f424d753b4afdba62f7d9c4ab4d43d1b756d18ace7cd5a53cb7783366c0e07d237333d5b5eb9e85a91d1041055707cdd7de225d748080d";
-  sha512.doc = "71f18b1f4f87def00c504b2dd67e8f7c2d9510f3f2459e8dbf1380948e501eb9b2ba4badaa6cfd2cb6440a0c6d0c9bb048c21664e6b37f85cd49c6a8a0a39d86";
+  sha512.run = "d489df0f5ad27cd8755d8387ac4b5ec0f0091e9d27611a7f4810e145dbafdd95cc4c14f6cbdd9843e1e4251fb0d31cd3332657c50d1fac4d17eeed1183aa8aa5";
+  sha512.doc = "dd45e2dd888c7bafe5311cb8a541c0eb7c31661da9d69223f69852b022092501f936d9823395c5b7fc7f914233ad4cea32b2803730f976e687bc7a9bc7c74069";
   hasRunfiles = true;
-  version = "1.2.0";
+  version = "1.2.1";
 };
 "longfbox" = {
   revision = 39028;
@@ -21540,11 +22173,11 @@ tl: { # no indentation
   sha512.doc = "7cd22cad45d7ef2972679cf2a3653c3bbcb1d9bcfe94a65fb9dac23760de05b659470ca45cf8be13513924fa1cbb98599a304a51bc18f8f4d6631f082e662bc4";
 };
 "lshort-chinese" = {
-  revision = 56036;
+  revision = 61100;
   stripPrefix = 0;
-  sha512.run = "f78920a3adac063cddd42284e325308cd124d5e0f2f1ca6f92111edec872ad1325b99331615c8643dbc11ec1165ed0b0320c9a8b1e3eda0dabfcf496ae0d47c2";
-  sha512.doc = "0f8950630220afd353d05b2f4d146ded4eb24fc163f19510a3d57ea680fd06a1dff064c35a0afb8625b32741d1ab6543cde20d5269a0914e0dcff7c42bfca327";
-  version = "6.02";
+  sha512.run = "5e87a1c613e57157c77a9401cda424ba0544b1cfd1611e0f763b837ebd172947365a04f8734b2e7d41f84df9ca28500034b3b8f96dbc4d2f8bee59c1f0813938";
+  sha512.doc = "ea00f428f8e93067a876de16cc7f8fe09f46398a209f4ec7664f83f605e674558703f05cb4ebb655a29affb3af26615731a284894d37778a5f7fad531fe2bad1";
+  version = "6.03";
 };
 "lshort-czech" = {
   revision = 55643;
@@ -21785,11 +22418,11 @@ tl: { # no indentation
   version = "0.2.0";
 };
 "ltximg" = {
-  revision = 57521;
-  sha512.run = "9aa5aacc687d31bc76fd81a2c26cef98fb9328b90c1d97c439f323fe7962184eab2b571431fe208823a6e42fea6c036128414474ca815517421989916a94eeee";
-  sha512.doc = "5fbf8faf7bfd95b4f35e755ec1507f155647376be9311b97dd7c2924c9958fb0c42351eb43728018bc95e12cdec1b2b8ef89a7a2245e532dc8a49b4c583f54b9";
+  revision = 59335;
+  sha512.run = "0c91f46da529823a96ef441ec88d6d3c077a8bd5997bc291f55012e0d227cc24f00081f846ae127a364cba26498a74f2769d401e6d5fe0057afdb2a76a875f4a";
+  sha512.doc = "05f9639a0224c779276a3b7f19450c93e255c70680fd54292e1ad41b3c89aa15dc187d58a73475ed9a8f7279faa0f3a0ec15042e75a52c70d78416ec46255b44";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "ltxkeys" = {
   revision = 28332;
@@ -21839,46 +22472,47 @@ tl: { # no indentation
   version = "0.7a";
 };
 "lua-physical" = {
-  revision = 56306;
+  revision = 59138;
   stripPrefix = 0;
-  sha512.run = "d7118f61f0a64ccd3e67b7197240a49c841720816f9d438959413c603ecce9b332c9d253f21dbcc009839220540f046b18b4b009d3ad5f35a346d8276be47229";
-  sha512.doc = "e3e50f9994656b3f6049f40f0cb9ecce216869b439682560f9f51496fcb43b94f33d14e1b9f0f4a160c9af848c58bf2fa7e6d2dd1def46ea029ebfcc4410f1e5";
+  sha512.run = "b28768f63c2b34930a073139be3e6e90a0086a561bdcdb6aa6c8111db4e6def819c0a3a6af2b5b274d009d3c9b390c6da91416189718a67a4e1efd7eb547c500";
+  sha512.doc = "52e764b0492aeb423d8c267f43436821a239e9ad019e43f7fcb881fbec31f9a56b690d792f15f954cec91ba7e3d32f70cb567994a82f3030870b44d0490fb593";
   hasRunfiles = true;
-  version = "1.0.3";
+  version = "1.0.5";
 };
 "lua-typo" = {
-  revision = 58744;
+  revision = 59457;
   stripPrefix = 0;
-  sha512.run = "940664d9898524e99966b6116056bb4f811d39c58a29926afee82846dfe6c77eadfc7e8cc37a3e417401cca1cab7f16043677d84947c51f695109e3f2eb58655";
-  sha512.doc = "18485d5b079306fb6d943256453f4643f33b9b6781133a2fb0f1ecc5b87d8a755bb0c60428d565a6e42c6aedd3f23f0d03aacd3af5ac4055e1950289fc99dcec";
-  sha512.source = "348aa0eb23bd9a94f50851a8e71633377347c1ce1942d4d84faa3b8d612ff26c2d0be192fa1a14097be6fb8fab3e363de0b1f77c2bba737a027e7ee279c55729";
+  sha512.run = "85c217ddc1114990127baae0b4023fc42f2ddf5d59beaa22cf8ab05746d2769699850b60f3623774326265359211597eeabeba304831f650adc1114445bc76ef";
+  sha512.doc = "be62c81f33224b98bdec4e0ba84886d4020a05d4ae18c9a4549ebbd13394867a9d835c36615d275fb5a938158dffc4d8b8f4c4a73508d45040580e3cf2ecf3e4";
+  sha512.source = "ec1c817294ed0800225ea03180e7cd5361c1ac5fb7396b09f18b313e5bb511a626bbda8995d2ae5a61b1da2ee054c053751e4a5048b679db44db4254f8c45ee9";
   hasRunfiles = true;
-  version = "0.32";
+  version = "0.50";
 };
 "lua-uca" = {
-  revision = 56414;
+  revision = 61023;
   stripPrefix = 0;
-  sha512.run = "51223bc90b7d9c8da149133b5fc019e968da2d82c089a6e5884cd9c32b5306c3f7e575708229b1e6e77ad2840fcb0d4b01fe1d3973478385579ddc4a2d473096";
-  sha512.doc = "462d46a84532e483f7d70a6b16bc9b3f7bbd7623b9fa5ec237b8e5fbf5254de69bece3d7a494e87c73ded77852b72b1b5ef43b7b5b6e02f1e181f82727069352";
+  sha512.run = "e6c703b5576c7d66372a3989618609f2fe4a2b41de78c624e15bd0905744559b2adb3f70536b9680f83897a3997a492a558e285818d38b63ee7e99798bf376c0";
+  sha512.doc = "a842063786a53c558bcd4bead5b6affbe9e448618d421435f49722e0a55087c28b36bc9d6bbcb874c3c794a9f5b303c62429b4386801e03f78e2f60c83cb1d1d";
+  sha512.source = "7bea2f473bf12fccdc21534653f6237ea3b71c57bdaf651b8f543c5447ba25b3ae3bf735c3a0e7840b31907b777aa87215b358d152c1ba29c0e372a2672b0e44";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.1b";
 };
 "lua-ul" = {
-  revision = 58745;
+  revision = 59186;
   stripPrefix = 0;
-  sha512.run = "3589ac691c39e8b37a29aa0481547a8e68adc00fc8afe60f362870fb058d76cb8753a1e60df52309093bd2759b9b9f013a37f0f7fc94af7bf4dabf0d2d48fa67";
-  sha512.doc = "d7bff6936de4e36c335d9811ad43d107a38f0a6d7a9ed217e7da39890a671d36ff11484949984252858f05961a667fc3f6585620d0cafc6d8fd5e674a6086bbd";
-  sha512.source = "301bfbf3f0c4a3b745855f682cbec973d760cfd0273d52a431b7942012677b08e6e4e0c14fbd35acc266f09fe80429fe3e0f06b49bbf839fb8ddd72e1653ce33";
+  sha512.run = "e45cbc82eaa8dcab320675cf1f1f1ab515552e1c87f96c46b58e435067a694490d574561d6ade407b498bc66216d3d46b3eb4248644bea742e4ba8b86097eabe";
+  sha512.doc = "e436d3a618e368103dca705e0809d0d91b6df6c874a25ae06d249d0eface818bc519b4c19255a613be58b2fc53aa1331553c78731dc6d6e74fbd4867ab9f9ddf";
+  sha512.source = "09a1d976065455a47e98cdd3bae7cc3ff2c2dfa3ecbe9177eb5cb89f8be87f9e5da16f11130d492efb23e4e928f9dba243755b377e3eaef63c440db57f4f3b74";
   hasRunfiles = true;
-  version = "0.1.2";
+  version = "0.1.4";
 };
 "lua-uni-algos" = {
-  revision = 55206;
+  revision = 60194;
   stripPrefix = 0;
-  sha512.run = "cdb671d19ba69f6b2c7a5f55127c8f97973c9d9c962016729dcf2ff0ee8abf649acce51bc45c5ec736f243ecb56e98de7c1d5152827023c8e19af3990ebf840a";
-  sha512.doc = "5ec98605457ad145e63186ae1002f6c2fffc9bba2e512a3f982540dfe27539d848cfa05a8db55f26263fbfe60521ad7795bd6b474b6d29880046e1699daca074";
+  sha512.run = "dda72953163220a2f0e7bf7cf1ca5500d45d90f8dd877c41a586e89fa60b9a038ea9f680cf1180d982ea843168f905d4775681479351922e52c3400ffb744697";
+  sha512.doc = "75c9015411a471aef18480b2aa58754145d01a2364156e56362f0665d4cb841652456b2e4929b550db1dbb33821032d456c7ae39f5aa74c7d2a80afc046a7831";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.4";
 };
 "lua-visual-debug" = {
   revision = 57349;
@@ -21888,6 +22522,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.8";
 };
+"lua-widow-control" = {
+  revision = 61317;
+  stripPrefix = 0;
+  sha512.run = "38fb32d72b52507e64d908f43cdb22321d70344ff96b7cda29214fdc13fb0f5012ef24785825d792590a9c712ce0059f062e892410c57e4bb7432c5399cb0885";
+  sha512.doc = "033c6ac77ca441f042578f13d0a6df1421d6e9911d4c5b7cac93c2ac5a00e2ec75b89c16b2f32bd455f2dcd41bd931fc8c14ee083d9c568f74c9c30192dc4f8f";
+  sha512.source = "ce31763c29f920cb39b0a73e66e54168049cc88c53094a5d1e69f5c0c4850af13822ecc32ad982dd5ee1f51ad46e391b370127378cbca10903a4ac7295196465";
+  hasRunfiles = true;
+  version = "1.1.2";
+};
 "luabibentry" = {
   revision = 55777;
   stripPrefix = 0;
@@ -21923,6 +22566,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.17";
 };
+"luafindfont" = {
+  revision = 61224;
+  sha512.run = "3ed857c1297ee8ab9dbf8664b5a7a15c23da5d7e7060fd6bee0be89a0835424e2773b4598a7fc142a754f0b81d5b0825fcec8ef2824d4ea5e7a4b33ddb390e7f";
+  sha512.doc = "83bebd7e06d830a23c843a1c2af0a99d4791ceb95668242860c6c2529f84da4743f96bef3865f57088481ee7beaaf86a84351f243a79d96a92f4089102c57db5";
+  hasRunfiles = true;
+  version = "0.05";
+};
 "luahbtex" = {
   revision = 57972;
   deps."cm" = tl."cm";
@@ -21995,12 +22645,12 @@ tl: { # no indentation
   sha512.doc = "a6a17f70a44655e1aba11ac1353cc13b36bee762083be76a31c04d90ae73d021659219a3a741b70f0b43888d6b6a6ab356f378fa5850a23ce7423b28a721e924";
 };
 "luakeys" = {
-  revision = 57463;
+  revision = 60980;
   stripPrefix = 0;
-  sha512.run = "873879c6495479db77cf0e7a0f5ac99ad2eb67088d1d4abaf55e4ec341c07103ced954310b67f5ee0bec6986793f9e68613b7a85c3a8fee8b5697e0a05f1e1c5";
-  sha512.doc = "58b2550998915a20226ef4890255c8a90aad9faf248a0c2a880b086941af256d9f83edc2b29ed615da6355a5bb5d95605580824581ebd7ed191d82b92786e8ac";
+  sha512.run = "d50f0a0abff49a776c54c31ddc5d8361c4e28d93f5f79792ea95b081b7a352b75ae6f20f3f35f2725b513a1f5af4976e18fa3a3ad4ed5692767818959c00b4e1";
+  sha512.doc = "6f4728b77d6ef56a2fe97b7d7418103b550c0a97a1a07430f3357c78ce81d1668dd60cc051f32007ccfc17bba0530136bf5d9203bc105ecf91438a366da3339f";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.3";
 };
 "lualatex-doc" = {
   revision = 30473;
@@ -22017,15 +22667,15 @@ tl: { # no indentation
   version = "1.0";
 };
 "lualatex-math" = {
-  revision = 56541;
+  revision = 59847;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."filehook" = tl."filehook";
-  sha512.run = "a5568fa178fef7d7348a8e1b72f5671a5dc00c9c8ec59dded7da3fb62105697cb09c2cdb4f0c58fd5cc16b8966a66554cd7ba0650d757cc16377406de35d1005";
-  sha512.doc = "41f38f8e1bafbb63b7a83f3087bf8aa0bfd7d946206d07bba2dc93d99049ca101869c575d3f2c8b732f9beda719bdd08127a047700052ed915bffc88001299f9";
-  sha512.source = "c06e83d733d9d8e380b2f688c8b21db85cd3d18be8b9cf37cc0af6b9dbf279db70d2f4d12fe879c8ce2628a1966708a117be5c72bc4dd535fa8cd431f8ed88f0";
+  sha512.run = "ba37954065b7e61aea353106d3a5374303d75a3d1d1d1e12394112bce2048ac1b70a2f59d55708ea1be0a86c6c7eef54763629734fa4abf451f2b403a43e8a67";
+  sha512.doc = "49e74c241db69d6fff8f9b89cad23305c84a363bcf3c47fb2619d2ee65808835295cf8e7744b537a9d48db3aa436b79a564d000fe05e2a18852343eaefad7d12";
+  sha512.source = "80cdad65bf1d705d136fcf5960a10703b04c5a87aaaad609c97c130053699653477079beedf8703d11f20f88404756a27fe87adc00a82d9a698a7ca7c8096787";
   hasRunfiles = true;
-  version = "1.9";
+  version = "1.11";
 };
 "lualatex-truncate" = {
   revision = 48469;
@@ -22037,13 +22687,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "lualibs" = {
-  revision = 57277;
+  revision = 59298;
   stripPrefix = 0;
-  sha512.run = "ccdbde1b5b9abd3478e3912ff20b1639c3504f06433eb10cb174a3a413642629ad9eb0ecb3fc7dfe3ee1e7e2dac2e552dd86de98bd89e3a65bc6736bedf181af";
-  sha512.doc = "4d3771a5cee5a1ef7a7a7d3d88cf44020563c8bf50328bd6cea42a8ddc731da294e6b300ed9318030b00f0ccecc0de8667382d41727dc02353e68fe635d0aa19";
-  sha512.source = "f504562bce245c51567eb54963de87702a4651b73bce71144d2dbd91e6f9894c5d20fc43ae7a7d68c92995f6cc077bcf76875fea7309a09b288e6bdde2d55222";
+  sha512.run = "0ea4d3d0e85c2ef77464db6f53c581453f22451bc8f9ecec00f89c59976ae417bab6564c5b3d7d047ac1fa4e53fc2cab4dc0fa5040f064b7f7696f1ee2416648";
+  sha512.doc = "b6be707a802905d93bc86135403cd862c86cd829e3a649800a2d5fa273518c4804a76c6a09b686603f16ce49c0972f1d1d1585e168c9d1d7439aa07ad3a2aa7c";
+  sha512.source = "45cd732855d88f16398e2aaec439ba45fb4b55c64a7c47f010855e3608805fafd9399c4fdfa54ea186893b74f3a94a14ed99ee97c51513bca1ce50d558506431";
   hasRunfiles = true;
-  version = "2.73";
+  version = "2.74";
 };
 "luamesh" = {
   revision = 55475;
@@ -22054,24 +22704,24 @@ tl: { # no indentation
   version = "0.6";
 };
 "luamplib" = {
-  revision = 58279;
+  revision = 61133;
   stripPrefix = 0;
-  sha512.run = "516d5f55c367bb2275268e4ba8bcf45cdc576986c866dbf435d3ccdba1eeef799db03d704d452fd49cef559bd5a1bc903839a0b04a926694e336a4e5652a07b8";
-  sha512.doc = "c503945573406c8176ce8f3461ab9b4fc07762e029104e582be2ae9cee46b4170916426d384b363bc30e12e83f39e0bfaf5f1998e8012b29c8133de23b39427a";
-  sha512.source = "f11aca288e535861c365259a1c0e1d0a42137898282d2e6027952df827f4c52ad8a5b8553fc0cd692fc0ae5d0f0c60db58a147bd30919a1d04efad4501580b08";
+  sha512.run = "b713b37d4bb2a7c527105de476b66ff9ff7f940e1ebd675016f7b94ab72da8a2e2f110284f4893fce8858ef90d063fa4997cb93c6b3121802e2999efa0b7ffdc";
+  sha512.doc = "cddb68e0e74f07732acf873aa15346b3e6a95a157f0b9574b101215d6afcdeb7a9863ff16a72fb6d54b77ff86fb527b317570cf65161270b8366887148b1f90b";
+  sha512.source = "b1e1e1b5c5ea54cee1056d80360cb6f1a7a40ad3efe85417e10eff90370fd1b1fc671e9330cde65150213cf3ad9aef927c5bb96a9f5025b2bedb90dce3406e81";
   hasRunfiles = true;
-  version = "2.20.7";
+  version = "2.21.1";
 };
 "luaotfload" = {
-  revision = 57443;
+  revision = 59293;
   deps."lm" = tl."lm";
   deps."lua-alt-getopt" = tl."lua-alt-getopt";
   deps."lualibs" = tl."lualibs";
-  sha512.run = "5b71f8fa12e21c16d1aaac01a2f27f3220b1da0eb6aea77ae3767e25a15d03180b7bf3587eac9aaaa61658fa7359e6fb2c28e588fea80d4f7b46150f55c2fafa";
-  sha512.doc = "f900a29ea21b654b03671cdd6166dc353bf54eb761757849da96fb74ea398d6ed9fe33f1d602e0a8e1353395cbcaac9cffb4b26c1acebc8105f119271fe8f51b";
-  sha512.source = "d422a64b7251f566829c5603957c3b2247cf112f8c3b30951ef3e9584a78b758f38e4efd0b399f35832f5e2f8e405901a13688c6a62bd86f2892ba44a01dbce0";
+  sha512.run = "821a5ea31a6131bea129929abbcc114959e1a32325a42f1b22fc6d37f7213d1dbb2f20cefcdcce38089d82cc366328b7dd80cad192a374694a925506073de8dc";
+  sha512.doc = "911f1037ddd942f357c1f9644dc424984e93a483b5c5a10ad279a77287cc3f9cfd94ce0113b3b0d6dc6d00dbb13814cb8b46c113ef6877b0fd0b7093caf64746";
+  sha512.source = "0669681ede7befb415e30e96c575efd9722b030f9d5d5973d13a095826900dfc05d3cddcc29eb64257b77d221156031f0dcf5a1c2f3adcae97c61bdb039668d1";
   hasRunfiles = true;
-  version = "3.17";
+  version = "3.18";
 };
 "luapackageloader" = {
   revision = 54779;
@@ -22090,6 +22740,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"luapstricks" = {
+  revision = 61036;
+  stripPrefix = 0;
+  sha512.run = "11fbfba2f47dabd8db58e4cf502d5b033a13d08f248be071d0c8c4ddb81e7940e1b22b078e75fa50910883a17b71670d328fff00b488b9b6d3d681bc5f784d45";
+  sha512.doc = "a32552fd6c6038650f2427cbeb320f87bdde17f3ce8a3a07071b22cd71f2a0beef6c730c1af6d7de426403a3793dbc87d7e511792ebd1cbb6dea5fbf4ee3465b";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "luarandom" = {
   revision = 49419;
   stripPrefix = 0;
@@ -22107,7 +22765,7 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "luatex" = {
-  revision = 58702;
+  revision = 58822;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
   deps."hyph-utf8" = tl."hyph-utf8";
@@ -22117,8 +22775,8 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "c16a8cfa5ce0991d4b667471dd32f692c4e340d1856a36fd684811d40322f912b94125ae101ba095ca6c54b2afa3a37f1ab9af83e4a10328f8c1a1906a02a44b";
-  sha512.doc = "0d2492075eb2bb6b9cc8a67b0ed53cf5a8c4c700797d8bce8061a4cf938db5cf19fa4ed6f7adb59b1da0701ff365504e813289dea3c245ad717c82bc58df9128";
+  sha512.run = "d24bb6b9ac86d31c6b43a553f8153482f962d42dde813b41f41467ec2e7b5606f065108fda172217cee9b48e8b75237365eb6eda354d16def2bc2919cc0815a1";
+  sha512.doc = "9096aa4d630bbad43fb4eecbdcb8ceaca94709fd734fe7e9a3f09a9bc5d57209c922d1359f71e8a2d1cdbcbe127d3c09c2311b96c2d2574d5356ae9f9f6bef7e";
   hasRunfiles = true;
 };
 "luatex85" = {
@@ -22141,22 +22799,22 @@ tl: { # no indentation
   version = "1.3";
 };
 "luatexja" = {
-  revision = 58542;
+  revision = 60862;
   stripPrefix = 0;
   deps."luatexbase" = tl."luatexbase";
-  sha512.run = "be42a930c9b89695ac5e69edc2ac28c8f9956f616012826932e56af54f3aada99a02de72c87f4a285e3553220be1583bb60d98e3741abd3d12d167d26b778047";
-  sha512.doc = "667bb90edc5d4f4d706e3f0ca32cecd2c3f63e5b7a10debe1adf3824ff745f743b4dabacd6eac970b328096018b03186c10789adc61daa0d91c4fd979aa5b98c";
-  sha512.source = "8472ba4ca610b6579549435da7bf3bee4680a2ef44ed9c2073cbbdc4112f4f1604d30d62e91a894769e98cd1c3d8baddfddf406cde79bbd8539e441c9d2b3e01";
+  sha512.run = "c86d8475e8ed95f31e8068646061e08845faee7749d5bac40cd9f55c20b5d7a5410f2af7ab66c91a0b470e1f7048d95bbbcc5182b24541cc470b1c235e00ae85";
+  sha512.doc = "dfac6f66fa5248e94e9c0dacd6aca177473563411ad5cb749faafa83ab8fe058184005557495aac2b137c87f2988e85760bac454e8fb3277e4b631ab83f0372c";
+  sha512.source = "3571d85fcfb142ec58d68f2a104c375a89088e201ba0f80ddcce0ad381851e60529665e5e1ae3f7fba1d0e4aef7bc7422abdcc80e04adef9ca88747be3329a39";
   hasRunfiles = true;
-  version = "20210319.0";
+  version = "20211024.0";
 };
 "luatexko" = {
-  revision = 58085;
+  revision = 59892;
   stripPrefix = 0;
-  sha512.run = "b9132deca6c059e3b77ed12f1e8c40b619281836188fdffe01eeda270adf9f1e46c1966a741d7801f7542fc076b20321216b9fbfda2e703396f9f721bc9d10e4";
-  sha512.doc = "804571c4ed04b9eae4ee9375c11beca755c02e58b79add2d97ec75e3eecaa3fb267ce9da1fd947e526f0dede0e405da0b29c2f0aa6f96d04bbd8d83d0866a296";
+  sha512.run = "0d585cd6c5a5391aa38d3cfb34d0f5f8b86baed302526d61ac4ddd59521f356f4db63d02b0c3f795b8cb7245f41b566a9c180c289e5be7297e198e5d216afbba";
+  sha512.doc = "5825f168e592b17c78a2406f27f201705f47684bf90c5916f394edc2f3c9312c4afb23387e07647f90de9e4ca6daf16d38fee9d7d15f0c3fb80b5602803f4796";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.3";
 };
 "luatextra" = {
   revision = 20747;
@@ -22185,20 +22843,27 @@ tl: { # no indentation
   version = "0.1i";
 };
 "luaxml" = {
-  revision = 57183;
+  revision = 60709;
+  stripPrefix = 0;
+  sha512.run = "ebcf0216dfc05291cd1f44096785fa10b4d8f341d0c45c03a4818aaf0ffae1b8a9ee4edc0ab26d1732d651218aaa936099a81c2d732b1ff25b956339f45df8b8";
+  sha512.doc = "8f42b46c552b5771058f442e2b962d49c13f31c0b58076770131d6e8bb048cd706db9e7380a43cfaeae815bb02e83709e9165a1057ac9471bcc0fa2ab322cb45";
+  hasRunfiles = true;
+  version = "0.1q";
+};
+"lutabulartools" = {
+  revision = 61003;
   stripPrefix = 0;
-  sha512.run = "53c98fe9b23a51e57244d73e5a4c572a14f130da4ee34c441d953d4ec0f3f18900df9f522d7710fc2b1ad25dda672c8d4c49e29e2a0b764c8df542fac024c40a";
-  sha512.doc = "9985335dfb4b95482f685af3df692b8763815cf38439743dac4d993fe215a27fbbc08e1193f46a19535ef3a210540b57ba10f1a6fb0f66b4c6e5789354cfb4a0";
+  sha512.run = "5c2d1b5d712801bf4bd14802bbd9d9b1cb93f51ae9df8102cdaaab463b55ec4a6c5a167a905d210947920f9624c8d882ce4a8fa9bb2fe8631f4f7cff04ae1118";
+  sha512.doc = "b4721642982af15dd46e3fcc8d8bfb5576a106a833850f66a9872ff9b8bfa5a996e618d0df7b7150482cf147515f87eef424f7be0fd65182b91bb3ee5316b737";
   hasRunfiles = true;
-  version = "0.1n";
 };
 "lwarp" = {
-  revision = 57836;
-  sha512.run = "7399b81b9388273a19bb24f8a834f084f961907eb55b97c474eb2a741e2847da93fd4a7b191e5041f0346e84d47798f1a4429f9726d5a4800fdf85221d36f18f";
-  sha512.doc = "84f55b97be328a79c2248e4ad48ad033ae9b214e39cb7118a0f5a60b860df2174ac53ff82da0c82ce5c82a109705b07df9cd4cf5b36fd7b1ee5c04f95f665269";
-  sha512.source = "c5ba17164443f355d83dcf6bb3fc524628de2628ebca0f3a7decd2124360e878a62594a45295ef2bb4a203ad262842201ccb13321da69c84a0d8e8145eb16738";
+  revision = 60674;
+  sha512.run = "37b2e031e75fad5fb8ce276c7bb9acc67dd38558f25394c099519c5535a8a0e27385bfe88c7de25b3435fc308115cf18830b24693c486fa918f87693d254e7fa";
+  sha512.doc = "7d325390f3e07ed8c0533ffd39b7bd4417daa90b5ee88be1312ae925a1242ba8f67d14dc9385830d81e21d643c4a9f0bb3caf60f59bb26154c81f12166fcf48d";
+  sha512.source = "c7240a571ffc5b5e7a09adede558b0996450789c40217919173244d25dc7565a6aef5cebdc0df1ead8eeab5ad0d996c0f2d1930ae4d9651a0824e22ffede26ea";
   hasRunfiles = true;
-  version = "0.895";
+  version = "0.902";
 };
 "lxfonts" = {
   revision = 32354;
@@ -22231,6 +22896,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.63c";
 };
+"macrolist" = {
+  revision = 60139;
+  stripPrefix = 0;
+  sha512.run = "d722a58921aa7f6c5a887c022027df5d04c905f9c1cd7a95df31e1e3d9ad8c583028436eeb35217cb186aee6ea21efff09d3f52fa5284963789ccaeedc3342e7";
+  sha512.doc = "21893f581ee47e136a47c56deaee6f9c4e6c5e4380027e22bfb62cf6258502ecb1a647f11dd5468b8687c033e0cc708397efc2499307db320963598228dd3b4b";
+  sha512.source = "ee930f3a9d8a909c9c139f47b9022badf50ead0fb95a87a38dc2850e1bf7ea38d346ac362e1aeeb8c2dfb661ce5dca0c3cb78fadaadc0524b080d73d3241d0fd";
+  hasRunfiles = true;
+  version = "2.1.0";
+};
 "macros2e" = {
   revision = 56291;
   stripPrefix = 0;
@@ -22281,6 +22955,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.0.1";
 };
+"mahjong" = {
+  revision = 58896;
+  stripPrefix = 0;
+  sha512.run = "697c0a634304e4e94a6165fd033d906209fa6811cf6297868b76389165bf557f3b6abd419582d200bb252365f790ce53c98e1da75c8b6d3d061cb5d6b635ef38";
+  sha512.doc = "622a34f880eb02813e7f4c1f6eb7199194c3ee0e62df534e7832530c34f09e2abfa7f1d491b4840310841e230e3ab5080cbfa5370e9366c0f9b8fd9000b0ef38";
+  sha512.source = "6b64551b9cf9d4e79875935d2b37af602be7d3b001a3ef441003136b950741adec8d4b8521ca9a49d744d2173c0b053f025af909fe320edf08f1b3d7c131055e";
+  hasRunfiles = true;
+  version = "1.0.1";
+};
 "mailing" = {
   revision = 15878;
   stripPrefix = 0;
@@ -22299,11 +22982,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "make4ht" = {
-  revision = 58563;
-  sha512.run = "dee613984e389d3d5e85c64bbe99390eb533551b3d03d3f9993cd8d92fb5dc7495456e51281ab204670a0f42139111b27b45c132075eda47c5604e50f335919a";
-  sha512.doc = "f153c737e87821a478fbc9712b320647842b3851094c851b4619ebf1e658ca944adeb2f19d197b57aaa649be70cabab9988ba33914a10c3708c75ee5370b2eac";
+  revision = 60738;
+  sha512.run = "9fabde9f3f9bc9cfdcde8dcbe343c4c9a1345573ec5bd8124523ef3b9805903553cf15f69774ca7a3e703168c56883bad72b8dc18d66e2073d402977cbb0f200";
+  sha512.doc = "31d4a239804ca2dca178789accfa640d6fbb04e38948a36712a27bc1ad42ae0dd15792df07306e48f235018e18a5349a83aee2749fa7e2fdfaf8c035cc03a133";
   hasRunfiles = true;
-  version = "0.3g";
+  version = "0.3j";
 };
 "makebarcode" = {
   revision = 15878;
@@ -22383,6 +23066,15 @@ tl: { # no indentation
   sha512.doc = "492d0bb6f44ebc0440998f55b51ec5bce5ad564918296f85245ab10bd9ef67f8a2e441560ed7aeba8af2cdb0a923f225dd867454ee83889252da6be36f89ab16";
   hasRunfiles = true;
 };
+"makelabels" = {
+  revision = 60255;
+  stripPrefix = 0;
+  sha512.run = "4f58301507896c2e719f2607e1e456aeb25cc78913ed02d9eaa12489aeb643e73bccaafd1f219c1c8b485d77aa64e99d64166b63e8a2c7a7c3c8cfb77ac23bc6";
+  sha512.doc = "da01e167d1be1d4831c1bd0aca43472aae12a8204ab844f9964e60f57cf22312532c52cae85964f10780aaa0e4f84015f6ceee8ebfa042b184fb1ecc7c174585";
+  sha512.source = "588029533fc25c2501cb8a72cd4226c878a0c419e42d6e4269b68224d9992d298a01019c59c794eb1c9cca14b3efaf758f5c97b6ef90451a6e6d1fb56233a5ad";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "makeplot" = {
   revision = 15878;
   stripPrefix = 0;
@@ -22418,13 +23110,13 @@ tl: { # no indentation
   version = "2.1";
 };
 "mandi" = {
-  revision = 49720;
+  revision = 60311;
   stripPrefix = 0;
-  sha512.run = "a22c6cd667b7a256cdb0d1f975d214890811ad047d3eddc96e1289fd22a8ce9035183c5c1f6a876d7bab85bf8bba9626d36c2edbc8abbd060c0ebafca6b84932";
-  sha512.doc = "60cc9d6215525424b3e05af173a533d3781d1eed50d1e89e3d31f80274ab2b91033d45254eb419ec9a9a4e7553f50ac9c737ac82daea8dfbf29ba077d69ce5b2";
-  sha512.source = "2b05284ec86ac90ae6e136c96b2eeb0215ce3cb7d9b9f85aa14f047c596e7b47c8c618ec5d4ee0a99d624b737fbc8a3f026895bc9a8b2d465fb3dd7fa2ea806e";
+  sha512.run = "94f561092ee67cfc27354612be8836bab835cc4f3db4cb0c92db859803429ae29f288f584363128a42fc516c9ceafb65f710777c8d0c5384bd157e2baefbdc1c";
+  sha512.doc = "8d2bf11a141d9475ca699245df345418c74185dda498098bfd5540349765c8d59cff4739a731d6220a7eb45811a48a9247d10ecb57cdcae3f468f8da557887e1";
+  sha512.source = "803989d743ac0ddd66a922bc61787d9228e96276cd2b5533c2517ce1ee05b93a2972da2a3b9529f0df441cbf0db9efc760bdc727f644deeccb68495d56e55a68";
   hasRunfiles = true;
-  version = "2.7.5";
+  version = "3.0.0";
 };
 "manfnt" = {
   revision = 54684;
@@ -22457,13 +23149,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "marathi" = {
-  revision = 58760;
+  revision = 59642;
   stripPrefix = 0;
-  sha512.run = "d3ee0acee2b3a7f7521e3af6406ee747e1af4ccb8b4f53701d753e174f5784df6bbd64d662f25254ada8de9bbc147bedc42d332f0b1643f19cb7c914d0389000";
-  sha512.doc = "efd2f3ad9a08022009823700d9afd0f0928f304a363ce2ffbd5485448b40e426efaba8187a6b3cd144ba6ba82476f9efee8c71e8fe00f6c6d9d3faa405ed22ae";
-  sha512.source = "f02b1245d7ee3d5516e66f4176bb30ee44fdd47daa4189a2b8cf62359ba12d2cfde331ef901a64f54efbb739bbc9b555d7d94ff755ded64961769f63407291be";
+  sha512.run = "c713cf05356582b01440fcd0cded691e7e3c13852888c7911016bac8265801cb46bfa8969f7bac7c8ddc9c60b841f3f1dbac35488a944b6a5ca876c61085d2f8";
+  sha512.doc = "f9175cacbdb94c98c91b8e303fda02ad8952730fbc6ccd9516f5d07893b8ec524f747472752d081c47a4ca191118c8bfc4cb0c4899fbeca269a1ae71e09a4a74";
+  sha512.source = "34a9dbfaabfedf42a2deddcd2163c8d2048c331f4ea557e3d3f2ab6a70dbb75aa7e49b1da9fe64c2150f23a91f2760d8033a82a5f268f642cad51ca59fa541dd";
   hasRunfiles = true;
-  version = "1.6.2";
+  version = "1.6.5";
 };
 "marcellus" = {
   revision = 56016;
@@ -22509,13 +23201,13 @@ tl: { # no indentation
   version = "1.4b";
 };
 "markdown" = {
-  revision = 56414;
+  revision = 60667;
   stripPrefix = 0;
-  sha512.run = "892bdc84562db375dcd5824f43e93466ca1b833de08ffa247e5e2fc477f6f92832e51feeef8056aac2d5d895e080eb1bff674fffaa0a3d2da8aca3fcb51f0ae1";
-  sha512.doc = "b00203a7abce01e87a9e54b170bc68bd19bfa5ec346d37ca8805150013d1327b038be185753a0471574b88c1a4d572bfdb7e2ff6bd7cbfea74aef02b489314af";
-  sha512.source = "b8936aae408dec7c7a5d286e0c0f52f8d3d36fbe6ac70da50a3921ea4338689d8f9633f9b22bef36a428ca8cbbd4fc0ecadb98ac9070f3afed02d8ee9ff67163";
+  sha512.run = "9e0a0cc36d95aff7567a90c64fe3ab81459175c64fee4a12412184c243820f9507cee87ef1e5c49347473ea585924c24d8d386f8633774ab8360f7394d2eeb6c";
+  sha512.doc = "7be13326efc5b437395e13b373e7486909446e1b34cfa965adfa02f634314738077a5ba93d8f2d503763731a656607986b55174a68ad117c57e2a3e8bd625251";
+  sha512.source = "1ac3f533a56aa89b6afe0d7b364899f4889a4d08cdf2a00ed0e706ae7e344371225871d81cca1ba56f77cfc29681911bed1c1d37bb86c50f887295e2a4a9abf6";
   hasRunfiles = true;
-  version = "2.9.0";
+  version = "2.11.0-0-g4505824";
 };
 "marvosym" = {
   revision = 29349;
@@ -22581,12 +23273,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "mathalpha" = {
-  revision = 52305;
+  revision = 61089;
   stripPrefix = 0;
-  sha512.run = "c6b653e5a0b7788ac36ea9ef6ce07dd4fd19a75a82c4115cac5921849477839387b0cccac469dd74b9f4221315ca741c49304eb76213ecacb97dc7e218ac4cc9";
-  sha512.doc = "5a1d993f73d3684ccd8a855cf8e016d35aa29c34fecea0f01f147a0cb108b355108faf43734c83bdb74f59287a7963b4b418894e0a5c0ec4ffd884f3f4ef1d0e";
+  sha512.run = "9c56ad5cabba0fc7ff7403882cd46161be0b4d7bcaf632e48eab5170b1350a1c780a9f98ed535466ae7c17a387a461fa4663ffd3c4fac5cb01ecb77bccdcfec6";
+  sha512.doc = "5de9923e39ccf9b55f10f0b97067d001ead5598423174808d2a7636c96f8fbd2e8a8e6c0d66140f62d51b9263a736cb6106cf6db0e16e62ee5d9f3887baa3159";
   hasRunfiles = true;
-  version = "1.13";
+  version = "1.143";
 };
 "mathastext" = {
   revision = 52840;
@@ -22598,13 +23290,13 @@ tl: { # no indentation
   version = "1.3w";
 };
 "mathcommand" = {
-  revision = 53044;
+  revision = 59512;
   stripPrefix = 0;
-  sha512.run = "733c1581550772bdeda24b12154709a09f4427776392e86214d273c2eee1df7a80fea4285d21410f44195af30682aafdecff9f678ac43ad5f78a90605f76d332";
-  sha512.doc = "eed721d4b0da17c2ae997c7b1c46f19531108db0ecfbb334b648d5931eb2e86eb99465c52093e2adee7150dac3d5c8dc4b9df45ae68f47d0a238c875b33beed1";
-  sha512.source = "9d7b9156f28db730c20d1b0e22ea3ff5b90bf34d8d500248f67dd1ef6c12b7eae8e570db065e85f77e61e828277d202e4f73eceedfb79c756a80e2413b14f6de";
+  sha512.run = "4be34084705419757f92b8f31be35a606689c25786bc5b95a0531d572ce21601881cbd7548b7d380241089d4473fbfb70debeab9b30633671b3494d66bfbb9f6";
+  sha512.doc = "80191b36dd3e34193c2aff764b7ffcf274a4d9fc41b1d19fc92ac807e03809069efbcace953fdbddd481db7d6604a859eab44a2c93024ecd59968c9e24e2630f";
+  sha512.source = "99fb6c9f81e72c3b78807ff1d073ff4c6e193a163c3aa6aaa2e45d94ca246933733b1b35a671557cf40fdb33184af6ea28fa8a590b0339db373820ad9c38d514";
   hasRunfiles = true;
-  version = "1.03";
+  version = "1.04";
 };
 "mathcomp" = {
   revision = 15878;
@@ -22725,13 +23417,13 @@ tl: { # no indentation
   version = "1.13";
 };
 "mathtools" = {
-  revision = 58725;
+  revision = 58856;
   stripPrefix = 0;
-  sha512.run = "52801da9fe4f3e0dcedd34cb8e7a4a3dd5220f2437f62f32ddd56b99cccb302c7fc138f058f3528e28aabfb8588735b950d1afaf054fa0bd1766ab997ec03e05";
-  sha512.doc = "ed6ba30e370b3a1ef394e4bdb8301e9ac2f101faeaf0c8260443842d16ac88e665a8d6450472fff1c4ada3e3d4ebd41820626704dab37eef465fda36112ebd77";
-  sha512.source = "7d433c9d835ed64a485293d68a06953368fa9b16c60da2e20ccc59d116528d83b3a6fd2272332c8cb1c5a359bde5339c869d2a97a6fa3d236bf3637d8cfceef7";
+  sha512.run = "ceb283012776179cdec04899c28cd55c76811d9ece89b3ea188ae47619296db94983f8b768dbd0cf0909c9e7da4b0f1b1bae7e3de4a96193249ed57fc987683a";
+  sha512.doc = "c4ae884edb6c26c832d920b8f04b31641359fcba68e208b9f0eafaf37ba3ab7f465a39869b9890d0b8431861062414be52d9233836ea60a6255731a17374bc9a";
+  sha512.source = "46a21e495a34fc85d59d7952f3089e59f28d5aaa85e980c49c6b61df49c6e7582d98c2da1092be80a2a6191f6186395ad8d7086d3638176933843a6592c2c8c2";
   hasRunfiles = true;
-  version = "1.26";
+  version = "1.27";
 };
 "matlab-prettifier" = {
   revision = 34323;
@@ -22783,20 +23475,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "mcexam" = {
-  revision = 46155;
+  revision = 60481;
   stripPrefix = 0;
-  sha512.run = "37637616c9ccbe4e20ebae6b479e076fe87b6bd5f3bbf9124c79b93cef6e992d82bbb4fcfbbec3e4a7dcc187d66742c410c4a6280328c80765495685b4fa2cac";
-  sha512.doc = "5d1eddfdca3ebb7fbe28d93ed6e7332147857d7523d3b64e908aa56ef71d9bb2546d05c150737a3401b5ac7f76110a421513db2d8fba906173afbde9e012f7f8";
+  sha512.run = "3c75869bd0e65798fa451d971ff441f3a42daa0647c31458631c388cd14cbb36fe4f4dc9178e59fdb307de590d201e8716b1a86dc9b995aa184090cbdc95c9d2";
+  sha512.doc = "30a7f5cf9b01e8619c95d63ebc2e3dce27beece3a4da6ed4d68843c171257f37d7883969edc94766e065c5bbdd78a2731d38666d2073fd5d77873d5a88b3f820";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.5";
 };
 "mcf2graph" = {
-  revision = 58756;
+  revision = 61354;
   stripPrefix = 0;
-  sha512.run = "2aa95a3df195a72ccba635278db0ac7aea1d382db3aa7bc913734405abbba9b4e98d62991178e3706e6b940caede95a6225ea5535e52a4308e57611e86a02fd9";
-  sha512.doc = "e778964cdb0d280df0b3341b4259c40032188c8af2125720cb7d0adaacdc9dbdba03513a419338875b97449901f615db25f2397071776e551d039cdb86ed6e52";
+  sha512.run = "e702c5a9c9b3bc1362badeccf71657792ab6412a5291356779d4818e9578a4c90a658e338b804546bd773dd28e3524f0d4460e59fd772831e645211fa3ab8353";
+  sha512.doc = "a376540a7911f3be5d34e719afb6be0b15893d3ef078dc8584a9dccfd30ebbfe2f191dd9c4bbb9b47e5e45282b934cb3503c76fb757caa1b89622d2ad4dfea54";
   hasRunfiles = true;
-  version = "4.62";
+  version = "4.76";
 };
 "mcite" = {
   revision = 18173;
@@ -22859,22 +23551,30 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.05.4";
 };
+"mecaso" = {
+  revision = 60346;
+  stripPrefix = 0;
+  sha512.run = "b240bfbeda5a18fd24625444403f508e3dffc5b3631a8ff6e88db6aebcc97da3eaa2ebb3ebb0d15b0c1bca0d7f62a72511a00c0ca1870f6d0d3e90398bbc5754";
+  sha512.doc = "42744543f456f1c77a30be81b4dc47f69b220d2d0abd8cf7f05ec7136bda9f55f98e63a48cb9b2fb65d6fdb3270bce7a31cbcbece15527d4141bac301dd55963";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "media4svg" = {
-  revision = 57528;
+  revision = 60815;
   stripPrefix = 0;
-  sha512.run = "8d8d7ec31396da81dec9b089c02fa496cb1d07106bbe96e78c762b83f27b7109d6517b85250d7d8440b1f169d1b1bc2f3d64cf56723e20da9af72f6573740158";
-  sha512.doc = "ebbee7e14288fa3ac50d77e40056cbcdf53d5228e2accbea579cbd004508b12e562a3a1d2e6e6c5b20b42267335c9ba6d81a34a04a5f2fe8e9826f93de97e298";
+  sha512.run = "1da1c45ca3de316998dcbdaec279cf6d3e97320fca8ecdb0e859255908a6b09ad6a88adc7d30c81e4ce21aee2e60119b8f9b8d6f934030e729e4e0cd4d303808";
+  sha512.doc = "c5c2113c55e0ff1c296f422faa46efd81866d6990e109956cbc229eb4c7f97599b6d2e26c50b46a9f7ee4c5b8ddc1d82b14dd6b175dbba97992d427870cdc7de";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.6";
 };
 "media9" = {
-  revision = 58025;
+  revision = 60796;
   stripPrefix = 0;
-  sha512.run = "8074b787eb47d82d9ea38ec1e3261deca554902fdc4acfa140de33db4ed2b6de1b0f9af761f27cfcb1ad90df6a02e6b0e697e2ebcebe718eed6d95ed1c296ba1";
-  sha512.doc = "2a28cb6f7b10eb19767ca75e51d16406319fc22967af38b170669f46627d0978065917a028d1f0ac480680175ba0464e27c367fe2181ad36c0cd057cb1beb286";
-  sha512.source = "954dac82dc95330b16055b5096b03c784363f34833b6a30d19b785b621289408b8dbd574e8d77e59ad57216af20b65071e55e1c228ee1dbdfcb1d5fb2b9d0410";
+  sha512.run = "b0e69e3309359acc85533724fe3bdaf3f5485de7000e51b412281fc1934d03f8050d7cf39cba1a4346cb5adda605cf24303a997aac30f308fba565aedd45b5d9";
+  sha512.doc = "0578ae43ab9eb94129cb24a9ed8986d8f4c16dbd5797fa2db302833992a49ebe62e8eef5be665ba93923a90c2a2615631b7e61c10b0de8f09ed97d7857eb63ca";
+  sha512.source = "5ee30f8b68aa323bfff2234d45798a713d843aad80146421d7d1fdd997014d23d037e67f73f8267e5b827cc76c20321983f6150de9ce9fe797cba8c25c68c1cd";
   hasRunfiles = true;
-  version = "1.15";
+  version = "1.23";
 };
 "medstarbeamer" = {
   revision = 38828;
@@ -22893,12 +23593,12 @@ tl: { # no indentation
   version = "1.6";
 };
 "membranecomputing" = {
-  revision = 55918;
+  revision = 60592;
   stripPrefix = 0;
-  sha512.run = "78cca23fdfcbce0fb0105559966c88fe9337148035721c803174c828b94a11ca74978125f94e06904e293d680e071a97c48405d490d785a155aba98be71a5dc2";
-  sha512.doc = "b41ea7869fa0c1bcd2bcb4ccc305b6af1ba3c8dc539cf5d21bc48fc7123d70e1c6945ef06f18eb8b64d01748bffb64fda0f6596e7683104692698fab496fcff1";
+  sha512.run = "4e22153d8c3894275d1b0a9f7b05754db602b3bc4fe9d2d2dd79f11f979bc91dfa3ef2125abe78ef8be5650dcdaf06f161fb9b3abbb90acb469c93e9712cfb85";
+  sha512.doc = "1eb493ef0c1133b72299081378ca6e128158c2f11885938364b5270e02b872303b5ef9937912688e75a92a33d5c0e38fc147b8f560e7fddd3a7aa74ba7fb271a";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "memdesign" = {
   revision = 48664;
@@ -22915,13 +23615,20 @@ tl: { # no indentation
   version = "0.1";
 };
 "memoir" = {
-  revision = 58666;
+  revision = 59610;
   stripPrefix = 0;
-  sha512.run = "a09bd87ce8253d6af82c0e8816635c1c1b4986ef51f72f671cdc9a74b7088b41889039b9af174620013d8ef2017a3db660c9fde7c56c0fcf4618bb419ea6e220";
-  sha512.doc = "f17446fad66433a0e10287c5c040e6ecb45222c3061dab28d4b2a5541ba1527673e0040e267c8af0bf0e63c45d1d42ebe0e336411e11b8b963caf1147cb5829f";
-  sha512.source = "60415bbbbb1e3a42227b24f74617d0a572346ef30cacc366ae07dd887eb8606636e25f6a3ef8ada6f35fc3e5aa7c5e2f57e383d0f6578044cbaf2688daac9576";
+  sha512.run = "50709cfca673907333c9844d9199d8ebb7d17f22149bca7a8a5b986d0948c9af8577d4678a038eca4324d30c67917927d5410411d106ca6083143344cb0597b4";
+  sha512.doc = "90eec6d9a4d013f952196f7761f7a4b54784739bf4d847a415896240820c183bb22c5a69f25575da400d08d8b1e8cd9503df50a8a478ac9cabb2e618f0521b88";
+  sha512.source = "2a28c7038f21b71b29b91732e8872110f5ae5bd3d9f9b5efdf5cdf06b91f98de3305d23a71185a74f363c6e51c802576e8a6c3862cea54ed1096b380e2681c44";
   hasRunfiles = true;
-  version = "3.7o";
+  version = "3.7p";
+};
+"memoirchapterstyles" = {
+  revision = 59766;
+  stripPrefix = 0;
+  sha512.run = "0a109f84bc4d908b1d32bfe3ea0591c81f3de757cc5a5cc1aff3e60b1d2fbfec2e8b760fc0d07faf1fec62348933149a03c8c6147fbc5ffddae30b74a131a100";
+  sha512.doc = "2f8a20d21dc1db21017435cd58c4ae3ff744b5f5605aafcfef6dfbedb1461a8fbee456ffb8ac1399416f7ae6b8ebec5d59b5d50886182ba5116e22e3768fd530";
+  version = "1.7e";
 };
 "memory" = {
   revision = 30452;
@@ -22941,11 +23648,12 @@ tl: { # no indentation
   version = "0.1.1";
 };
 "mendex-doc" = {
-  revision = 50268;
+  revision = 59706;
   stripPrefix = 0;
-  sha512.run = "2a4b24f7340194fa80160681fb038369e45c1e6783765860d3f57be944c4b79533febc82cdbc65f89b9ad99308cb4ecae4baad37205d0f375f244e5211a87df6";
-  sha512.doc = "e8c8e773169a262e9f19bb9ab704c05968440aa0ea5928e329c79851e9e23fec5f78a108188fd2512becf7d78ea1e9f388ffa80b0795bbb4ff8cb81893b4e869";
-  sha512.source = "b526ed09c503619dc128721e9ae439b89b5b143ae18d388fa387cb7407533e47f0bcaecb6967380f3ebc067f9e310f596f0302fca5438212734730d3ca7931cf";
+  sha512.run = "15240dcab30c8afd330857889ede633c9549fa091899accd3d194a0257e308ac0e8d66892a59390917f3676d9fa4f02905574244526b6321980aa4855aebb76b";
+  sha512.doc = "515241f6b1c3285511eacb68d313a926b63b9cd5bdff6a42d933a802413a173b868c8826c5358887a9bfa37cd970c711464c0972c5982ff1c12469c426ffbd0e";
+  sha512.source = "a6f375bc6c10866d7039b58dfff2eca7160a1cf827dc6bf89592ce54632245384738ed1f88d81bdff525c6e6d9e78312708eb14644ff70a81287ae959b6c6d1c";
+  hasRunfiles = true;
 };
 "mensa-tex" = {
   revision = 45997;
@@ -23171,20 +23879,20 @@ tl: { # no indentation
   version = "1.05a";
 };
 "mf2pt1" = {
-  revision = 57018;
-  sha512.run = "87df5858f4a383f4915d469479460d55a6975a841d31b9993c9e3c9af422965d5eb869eac82c2dda968c17160e96c794ce85760c56d3d931d09fd13425d3c508";
-  sha512.doc = "5320e1d724fde19f8c0c1b85902e57609e938243baadd00edb8294867a1df792ac2f72bcd1bf7350f4a9efab1563c9fea4361e423079b1f75ab9ecdbf2da4b90";
+  revision = 61217;
+  sha512.run = "ca93a3ae439f9cd8029720bd1d90fbe75a403e7ab4ebcbe1ba1e5a7a28aa9269197f90a4aee849fea59d734d5dc38f04eedc140ff1be64fd805a10ab5510a2f5";
+  sha512.doc = "6c10831fdcc48d25645be675fbf5da29da945bd79032c60e73e04a39d61c287a64e7b884381ac0b08e48f5dc9b6dec27efea874f6e13d6e4a5e3f32c22fa3ce2";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "mfirstuc" = {
-  revision = 45803;
+  revision = 60770;
   stripPrefix = 0;
-  sha512.run = "de7ca64b5a32f697ec1efb477c2230ac418799e72f298ee6ac80409952affb35ef6152fb366e822ba1b01e39afe4483d5437c4e9aa22130a90bef79f87ab77a5";
-  sha512.doc = "1a2705a13325a97199095fbdb900b94e94f308311d7609ddfbb75efb7afeb1a2634a0f543da517a03d68e974d2b917f94a1b6a7b3d31965d7087ac585b6b0df5";
-  sha512.source = "021d1e945d7033ed18d3df4a3a0756c9048e7a576bd5d64f1fa2f963292a9aadf0c5bea95b29e3468117ea4f02e4b83785517516d87a31bd85bfb6fa0133e734";
+  sha512.run = "9bf4d7db5094b20b65302face634a10ad2bcaf521e948130f5fda6770e8433074bd8d35b89bf905ad22609340e27e85dba5c50715a776d2c1ac98a5ec3faf5d5";
+  sha512.doc = "227110ec17f336a9c443bfdf6294259a45457fbbfd33c14bbc2d7c58d28bfd6cb83182ef6c6a09e3ca89dff6fb98a807304bb41695e1d823bd80c17a1f5a862d";
+  sha512.source = "00c4f80df9ad7a6647f5dfa3ac3330ebcbe1041817ad013eccba3faa1631db0a16fe887240eeb6fd0e21b61308b1cf5c9387101bfd9ee01738ea46bf5c87f6d1";
   hasRunfiles = true;
-  version = "2.06";
+  version = "2.07";
 };
 "mflogo" = {
   revision = 42428;
@@ -23301,13 +24009,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "microtype" = {
-  revision = 58394;
+  revision = 61266;
   stripPrefix = 0;
-  sha512.run = "07f2e8f56fe2d18efc0b07fd1493303ac3f3f347550bf8644c2c6782f510eb57683a313bebcf63647664bf3dde6a7ecb1127a14d79d1ed3d0ff9f4d7651cdc76";
-  sha512.doc = "7804243348e470dd5fc5bf087daf8292664e378161faabef20d1be8dfbd461b7654fc55fbdba7674d18d4a4d058572968fc3ee05e036b68a67a43d366923cfc3";
-  sha512.source = "e7dbf9965a74255e64c8e1f4743fb6acb66ea19b493fc3ae095932bc66ab71e75f090c74a800b4b05c6cc6d20bbfb07376812f3782697737d7166607aa70a347";
+  sha512.run = "9750c821263b26667c9a235d2f167962fbdd55ab3719a8a5234be15a47381138120af4a3c40627a9a827e08cc7c3166290894ca17b5c76f6d952e34c663e3897";
+  sha512.doc = "c48e763db211d9405b4da181a9ea079cc03c64fc21e7b04b26dc5bd3e70bddf442a92774a75b324dc54044a7f1a300f4d5f93464a0aec3c5764a078bf15465ef";
+  sha512.source = "4362c81b57b88291cb8dd11c050a2da56fac0f372b5d0ef592468114ab8f1b6f8580d64db7128d9ce0486d4489afcda7cc1f12fa04e02c687059c02e15c50211";
   hasRunfiles = true;
-  version = "2.8c";
+  version = "3.0b";
 };
 "microtype-de" = {
   revision = 54080;
@@ -23357,11 +24065,11 @@ tl: { # no indentation
   version = "1.02";
 };
 "mindflow" = {
-  revision = 58475;
+  revision = 61338;
   stripPrefix = 0;
-  sha512.run = "05338ac445658a80d5e204b742f3eca75fc460db578227c2418bbd5382fb23afc1fa8ba8658578659a2a617f8c843a4c116cd6159ab05bf6c7fc7283492e9c95";
-  sha512.doc = "d887f56208e8ad5c79223a607c48f5deafe8578cde6aaee46761424f251f066d0b9ad59a8a0f073965d418c0a43d08ad5a5a5f10efd9007e9d16d1080ec2ae4b";
-  sha512.source = "68b7ac026334ec4fd095476bae34fa6c8f91ccd3c1c7b3faa80026d6baa78559ee50cad511e059897d753311ff469d8592ea04bed9674c3b15382ad066d10ff7";
+  sha512.run = "6e71e0613bc99917ee6e9b2cdb0d28fa2171e9a0634cb1f79eeec21b10d589f1d8cb3905248f98ef6ae226c55af88124f070a350f68e3fedab6452ad82f85b46";
+  sha512.doc = "e8825858001fe04e667f7c5b6952b816b9ef4cc7443b599b366dc86176d7ce2408dbb39f25360e56546bcd62a3434b0166e498b4a92738ca75bfe2bbecff129b";
+  sha512.source = "247c5debf10715249e0d46b4e7330a587cc8c57ba5e3bc0d988dc93b6ebb08115f80a15fbaff1a53700a1efad4df21490a67d13b468d1e5dae16f4b562a2ce1a";
   hasRunfiles = true;
 };
 "minibox" = {
@@ -23391,11 +24099,59 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.96";
 };
+"minim" = {
+  revision = 59536;
+  stripPrefix = 0;
+  sha512.run = "f5a7c16a30f877c0a867b4fa79d00721e48ce1790eac136a474c74310867abacdc14cc5ff62fd6c3a8d856816edf8838796fab90eb4acd776b202422d92414f3";
+  sha512.doc = "b65c4714dafb1b5199e51cc294dd5a28f974e217b3d888eaf6b517cae8ecc0c8e39ee70052b46e51fe40e517c6cea423fc33828b99e189fd9b3f5014c71d7db4";
+  hasRunfiles = true;
+  version = "2021-1.0";
+};
+"minim-hatching" = {
+  revision = 59531;
+  stripPrefix = 0;
+  sha512.run = "2ef4fdef86cc308d2202fc2a60a410679b6f4974f2770d7e7a348dab5f26059c652a65a7cac0832781f29b5eeb389d7a5ace0ebeedc65a5ba6efce03c705a48b";
+  sha512.doc = "2535f5d3958d099a8f1f8be8da0c871b1149346f700b2b9c5c6bab873facf659549491df979c805b7e328bbcacf0e3e679e39ebdab64f9395486099dd39507e3";
+  hasRunfiles = true;
+  version = "2021-1.0";
+};
+"minim-math" = {
+  revision = 59537;
+  stripPrefix = 0;
+  sha512.run = "c9d48b920c26b20195e4afd1a8d7f74a3862cf32ded6be1739ea2733ad3e2c1d727271a8caca5dbe7992438ac0f43289f50272615ca63f34f585f730467303c6";
+  sha512.doc = "3940f8a9fd61b4c9901f8c69f3bf6303e40ae805aca619f24be14a187d969a55e8a6c73de9c998f987c3375c3f453f4fa0453a9d316be7a1d85a2a329c6cf28e";
+  hasRunfiles = true;
+  version = "2021-1.0";
+};
+"minim-mp" = {
+  revision = 59538;
+  stripPrefix = 0;
+  sha512.run = "a98b4db3e303fb993852b92901937e0f8031269e5ce51651fbd59b787574504bc8948522243e3525efe3eae68c2fc00030763dca855b605575c722d5ca89aecc";
+  sha512.doc = "a1398b441bb27a3a7e340edd152dffaca406fb9b4151523e64132f8a13c44bbdec22e3aba22208dc60a2d209c0337824cc54ed4f32910ee91d709428dfc029d4";
+  hasRunfiles = true;
+  version = "2021-1.0";
+};
+"minim-pdf" = {
+  revision = 59539;
+  stripPrefix = 0;
+  sha512.run = "e45568da0fff7ccb2024cc791cf48303d1368946227cab47474790de647a4215a55f898d9c9c6e402ab1693cc211a77f8d9e3f637ded806ea587fbeccac84ce6";
+  sha512.doc = "184c5224f703a7f2713e19a675855921a0effe47aa4bb57b696f232539eab8fb1de35eb8da51f49f9e74b0c903d8f63879f3405087efffe107f500d858a72464";
+  hasRunfiles = true;
+  version = "2021-1.0";
+};
+"minim-xmp" = {
+  revision = 59553;
+  stripPrefix = 0;
+  sha512.run = "24ddab94e49752a686822aa10035f93da45b6fbd1612411602238608769bf9675d19aff2de49e74ecfebc36474fc20a2a0120c43cb93a2f8da21b4e0d4a1e6ad";
+  sha512.doc = "2f33c23fd359ccfafe7e4679ad6a55bf97a6464f565ce6ef893fa5b0e1272ec2bc4b39baa4fb6cc20c7d19400ecdb1ee3d6ff0f5b6bd6472f32a9c91bfd78adc";
+  hasRunfiles = true;
+  version = "2021-1.0";
+};
 "minimalist" = {
-  revision = 58395;
+  revision = 61338;
   stripPrefix = 0;
-  sha512.run = "4ce14a43f724cb6dea4106e6a25b345cca94208724828383add74386943a1769bb5fb756424290cf2b49baeb4cb93658982d38c43ecbe6fc338bdf534905f4c5";
-  sha512.doc = "d10d1a10e2bf8bcc6cde857af2e94a0dfe7edc4c1c1013646273f0add9cae841b92a47313dfe6ebbaabf70132ddd9ee67c3588a606d084357ca937031289df7f";
+  sha512.run = "1b18601e73156f176f983641d8fc638e5601cc4c167a31caeaccd9d4107727f501bc74444c6720d159a4e55206d1784149f4ce68e89a6fe9dfaabf860132fbed";
+  sha512.doc = "bbfbc5199250d06b567d4e47a2b186368db223831bc8c6d64847f2347c40033862ba4415bf5728333951de642508df4e80d8e6b20844238b20214848da34a1ed";
   hasRunfiles = true;
 };
 "minipage-marginpar" = {
@@ -23431,13 +24187,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "minted" = {
-  revision = 44855;
+  revision = 61405;
   stripPrefix = 0;
-  sha512.run = "5923b5e87e8bb2cf148a480035b906aab4b03b903308e8e9609f98376f82e23fedd529abca37bb4e9211719160abd9d4488f5c73a0283f67c7f11ee3e1f1d5fb";
-  sha512.doc = "0187a04f9e42c1bf3e5d961c28b977e527dfc1b57c0f823eda047d5e6c888f3f8da1fed691c8e3128d09b3740deb1b324baa607b9abc20a4fe47ea0a29915e90";
-  sha512.source = "1595aac2da1fc9c7b9e50c92fd12eda866fc35e884e335b1f4883188a4b0f9603a39cffa252cc1bb11ffd4a67e16a80b05c5ecf2cd7440c50f0605e5fc44e302";
+  sha512.run = "6fcac84b07600e370004d4de702946a61ce1317506a775a2d0adbdd4e0326dac73f385c22b5984abd0787aa4153a0fafb73a0ef8c22b18f8500c129f05d0ac99";
+  sha512.doc = "96bb1fd4f584b92c0605cfa65c658fe3eeb38b4bd30cba3d4ad197647567e910f3c322208b0b9b1718599c06540541cf92c7dbc1d82da2b5ea02810601a725c4";
+  sha512.source = "be79d451c6612a8c8d6be613cf502a5d2f8150ed21a9fa99a80a2462b687e5d8dc35ba0b4d7494d28a667935e628dcb2129b7e970a8e2457dcd2c811dc206ee9";
   hasRunfiles = true;
-  version = "2.5";
+  version = "2.6";
 };
 "mintspirit" = {
   revision = 32069;
@@ -23510,13 +24266,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "mlacls" = {
-  revision = 56878;
+  revision = 60508;
   stripPrefix = 0;
-  sha512.run = "08ca934862fed7674f4b8a77ffbc1e42a043777e6baf8b1cf52ce6cde912899bf92d74df52bb35dc6cde64711b8d375266695d1eb4cb301204d90ad27fbc2a86";
-  sha512.doc = "687c4beca93574ee7687d7586eda818d94538782acb9b7cca98ddfae6921af5c53ade7b87a72006d8271bb517d02c7a5575043ad8c94e4894d53c58e2c6f6d0f";
-  sha512.source = "46d2f1929f334932409e3a9e04a698424ebba99337c4ce48d4dd2c8d63f828ad9c7b81dc4e550e69ef5ba2d17d359a0e1e4360db7175ecca63456aa1c1213c56";
+  sha512.run = "44bb40283c118c638c3cd1b6b7595b6922225ff99dbce4b35c5579377c983c860e275bb7ddd76ce666d1907f59ec6e3dde78491764d4712addd3e5441b4832ec";
+  sha512.doc = "926a815427e1f66fc67357e962a7ccef39de82b082e045041b8c44d9ea444005b176ae7251b39763e03ebfc7babff0313f4b3f450e76cea5c4e21efc2171be96";
+  sha512.source = "884fc51a22c9e3fc996516c49e250bb08b4d5f5f7c19ff6830b45640d62578d3328b4d5179f750eec2d8086eebe96284d7347f223778674e9250625c36d1dc6a";
   hasRunfiles = true;
-  version = "0.9";
+  version = "1.0";
 };
 "mleftright" = {
   revision = 53021;
@@ -23623,7 +24379,7 @@ tl: { # no indentation
   version = "1.0.1";
 };
 "moderncv" = {
-  revision = 57496;
+  revision = 61324;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."fancyhdr" = tl."fancyhdr";
@@ -23635,10 +24391,10 @@ tl: { # no indentation
   deps."tools" = tl."tools";
   deps."url" = tl."url";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "5afe854478a689c648695480bcece97a3c940e1be7cd0e32f3e1ddb1240e823ffae82f53a5b6a127c62f30a1e339f5dcaf9f7ac8b5da361fd3de80feca719614";
-  sha512.doc = "032a9ccb6e91fea7db129146292f3e59866019729f056e4f9e6bcf8db42a0d81a181b214240689fc6643d49a63580e2e8c61e0b9a47562f04af0d24f14bd37b3";
+  sha512.run = "3ade3aa7bb82b39e63d83f1827fc3b09f324d5c28e07e4d97b2e5ede3c2b6a48b2daa913885678dc35789742e7b6c45081bad2cd54c97c50ce72c08a1b28a72c";
+  sha512.doc = "47dc6060ae81ec7da7d1107dd41c2d3fde1d7248739975b07ef51a64bdc049add06b02d42997bd8efc3645a2281416f8f37a614cf010c0df4ef42bfdff944a24";
   hasRunfiles = true;
-  version = "2.1.0";
+  version = "2.3.0";
 };
 "modernposter" = {
   revision = 47269;
@@ -23827,13 +24583,13 @@ tl: { # no indentation
   version = "1.34";
 };
 "mparhack" = {
-  revision = 15878;
+  revision = 59066;
   stripPrefix = 0;
-  sha512.run = "9f050b6ee0aabefe384f4b78678620b8a15a49f0582cf22caf0e5fc2b1b975eb0bfffbfe91165a121aad6d358044f97be410250597fd31b462630aa1e32ae96a";
-  sha512.doc = "0f28a6dce33e14636bf5515bc1395a80f9ced23553698d9db766e023715554fd87df292836c669b8492844c559eefaca4c4598fbee94db425c419dea16e90ca3";
-  sha512.source = "6c90b951bb47450ce9892a84e72c37083438682edb36393895d25d4499f8d5c071c969f830cccc229851a39811fd04593c6b7425a2b0ddcb134b73f7faa2a722";
+  sha512.run = "9a4e5a08320095095538eea8c5c5db5dc6d6c99ca3e3a3f5568228b8b52a4b1de98c1118b09626b58ef897f6810d2b43d2b5b416b3687e1bfd3a01506460bce5";
+  sha512.doc = "fc4cff80bbf20460e28f8d5a142e8994cea7e017391b147a47332b444fad0ff8cde1e7bb29159e39f8c14f4c9881ab91dcc0e2f108cca1534d4335f5b6b32a1a";
+  sha512.source = "1eda2d1f370141d0a5b0bc15f68dd40b9dd72017e8cfc75c71b19e2fa2ccfef7b1652d5c035c8ab6120e12089bf469b6e6edadd7997329da6409e6248bccc5a2";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "mparrows" = {
   revision = 39729;
@@ -23900,12 +24656,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "mptrees" = {
-  revision = 44453;
+  revision = 60929;
   stripPrefix = 0;
-  sha512.run = "c495bed58639226b0552dff1d2e7c5e97a60ad4fb20cef65cfd873feaeffef4e0b7672a33d310576c042a94d6d27141056e8a56c0bd5d648841b860a3c1919de";
-  sha512.doc = "38935dd6694e4c731e6ea8e8a1575ac5985a24ad5d1e05d5766168d3b6f82be6e3bde8c57601565be67ebd0d1232191779f973adf5bcb7851154aab3bd6472a6";
+  sha512.run = "8eb172f4051125fbe7d812520455e3a37888508754abe8abd539e84a1105575c32c2dbc850dc562a2dfab34811614e527cfa089c9de738b6ac7211f923c61929";
+  sha512.doc = "2e7c3837ce93b67bd1604451792cc54842bec27b3ebb6c56b2a9b9d702c3fa999ecb3a2836076c39adb30dabf833a507974e9dfaf19c9166bbcd3428487cf0a8";
   hasRunfiles = true;
-  version = "17.06";
+  version = "21.11";
 };
 "ms" = {
   revision = 57473;
@@ -23940,12 +24696,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "msu-thesis" = {
-  revision = 46106;
+  revision = 59613;
   stripPrefix = 0;
-  sha512.run = "e05cdf909d11616692cb175b117a134f1eeae10cd9c62058847cca383b86eb99de675f4e534c3b9d378dbebef10312b773f111de46becf8e4f3c840faaf5555c";
-  sha512.doc = "1b3c8266ff9dbd2c757365d30772057433e1ddcb04c83a9f98e55c9c4707a380e5d289496887da9adb922f96e7f4c64b9d3828e2a758aa38fba31e59c39c7d1c";
+  sha512.run = "531ac0d958cb9c8912c630f7ca3e74964b91681b27c202e37c4dc80e862758123d41b4a8872b11d372729e9967739fa4ba938418dade78ce27ae7350f1580f88";
+  sha512.doc = "844c69a803874331252cdb4a83a7df8eec1d9d1573bcb1d45161ad254be3274f7ba0e4da330c31ce05ee4818b5eac32a4ffea5555f1befc1030f114a9b653886";
   hasRunfiles = true;
-  version = "2.8";
+  version = "3.0";
 };
 "mtgreek" = {
   revision = 17967;
@@ -23990,13 +24746,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "multiaudience" = {
-  revision = 38035;
+  revision = 60688;
   stripPrefix = 0;
-  sha512.run = "58610f5b5138f7713fcd3e21fac721d0cc0a796e928bd5bd89e5981e08a0d4d6888f6f4f2dc2c6b9afecfbf0366462109be7a497ff6017e3b76ba83b361fe2f1";
-  sha512.doc = "5db8176fc1c40091db428b73bbb8bb3eb2e7b14b8c8a681e7d5dcf04d990873fbe456d389e468456650faae3939e38d1217057485d60750cb29aef89e8e15b69";
-  sha512.source = "acb69d29f8f12a205b4560700330d0a94593595056784275a79531351c674ecb560cb453956a5eb088f09a666ba4c72a2bc64a79b954d13263559093d06d33a7";
+  sha512.run = "a7d89874dbe314ab37cf42d8d520e234764bfc3fbbb6c89e47be95ef83bacd170c290bae005830286e206da25a68939ed8ee60cf11ad3f5ff9d994d568638b86";
+  sha512.doc = "b6023873f5843ec7db13e551417ef4c31a2f622372f32b4ad7af1ab155e3902185b06d6f2fdd432bf582f3da8a5e32e985fde93ae88b7916062db25021a641a1";
+  sha512.source = "8d528b7e27f8883846386374cc936118a9537f0dfabc71c3b993f105dee381f0cd2b40e16d5c48df01b9709f902479ba87c6b94278f6e8be98beafbf9dd3e4ad";
   hasRunfiles = true;
-  version = "1.03";
+  version = "1.04";
 };
 "multibbl" = {
   revision = 15878;
@@ -24143,18 +24899,18 @@ tl: { # no indentation
   version = "1.2.2";
 };
 "musixtex" = {
-  revision = 57353;
-  sha512.run = "890faab60e994520b74081e0709217549d4d91bf0d9cd28bf8b08d33b474edd584b1af8810bd9e8f1899e9de9ab88f4091594ce3ad25671312856b1870711a51";
-  sha512.doc = "65380d56ef9403c633f3459192f21191912065d2a6b34efcba1c002dcf836353be7a6c532f66a11478002f34e2f53c35ae9e7d705ff716fb9c4f929dbbd82490";
-  sha512.source = "bc2d254ec56217edc6f5fb75229f0484ed8ae494da9dace2e86f494670e49bbc60b962d59397c0dc1ef40e7633cc97c9f75b4ab26ee7ff528fb8169b4e625660";
+  revision = 60382;
+  sha512.run = "907dee947bc659f456a43d668f750a38c20afcbd011591c703564aed9bf8567079b9597fdb2b0fb413b09377b1f711c6404e25f93f4c6b2fb5edadf229603629";
+  sha512.doc = "b56296675a479c485ba7f40015e6dda625214958806e338dc3fb6c6fb687e801e6e42ab7cd98b5d532c86fcea3e6c08a9fd4f216ad0c80212c8ee57ae1164f3c";
+  sha512.source = "a90c3becf353f617dfa0550136038c3ef0f4dbbc15cdf593a0bc89db7585cd1764d307823ed535f5dc7f84fdf1b6b439e386665dd6fea03f3a3364390c4fea0b";
   hasRunfiles = true;
-  version = "1.31";
+  version = "1.35";
 };
 "musixtex-fonts" = {
-  revision = 37762;
+  revision = 60381;
   stripPrefix = 0;
-  sha512.run = "9cb72eba919842dcd8f892562a9f6f2c4638a46b4152509ffce1666e3e4243a2686b4feff3d9d68ac3c70c755606cda7b8659ceb1d8347b49bdfc4c0c7f35eda";
-  sha512.doc = "6fbc429483bbb7e1382d72622168d692dc5686ee21b9172ddd3a14df04397cdb9a3b45bae57b2ba2851aff401a5819d81894354e2e942d41812ebede75c45164";
+  sha512.run = "fb78a536fb7e5527472af46d89d97c6f932f2d72318d285039b7ce8cde842cf5df0e4ab780433319fb65b6b5fb226efa7634e006cf5831a22fae7dee6e9a2f05";
+  sha512.doc = "8a102656745eeaed5542a95f5c3c16f4bb4d83353cf7898941c776cadbb40330ded060e7e6558ab47b1fb1a2e1882ee413b60aa73924740d21144b5a1d779334";
   hasRunfiles = true;
 };
 "musixtnt" = {
@@ -24248,13 +25004,13 @@ tl: { # no indentation
   version = "3.4";
 };
 "mynsfc" = {
-  revision = 41996;
+  revision = 60280;
   stripPrefix = 0;
-  sha512.run = "fbf6a66d9e4f7863b380f6cea43c58bcfb54e458d56fe2867b3e1354cb2489d4a0576e6c392e4825023db33465176161e226d954bc12080722317e92edfb3d0b";
-  sha512.doc = "11b2d4647cac4aa2280aeac24abca47b9d92680845eba5a99fdf05fbcd4590760927495ef87b04900084ec64652a8b2e28263d4d1a26765cd3e027393f2d7417";
-  sha512.source = "4ca3be26449fb263e32a0302f5b85194e29b1c4e55012881a60f84a81a3498d82447934e60df522aa1b3e20ffc746bc78cba535e7208f88ddc46aa9831ffaf81";
+  sha512.run = "6736bcfc3e0285b4def1b690fa0be98da319ce91f3e77978f08afc81289bc64b9a7aaae1d23a535a437c68037ba3cf0c068846ded35e3a6f4a26fbb7fa1be382";
+  sha512.doc = "0b8936f3a2f36f68be9b1b9ba7c90f60babf6a6c9c81ab165ea947829ce0cf4230cf9f53d0acef3dde83c2fad10867e7316f9dbee0757a7fb9dac98b683d811b";
+  sha512.source = "613c70050fcedf8917d39d2cc212b19fc2b1bc983e442d33bbce4f1fcf99cf73a8ee8a51c44eea090deb76fa57ed6b075b9fad12ed00516b80a2314d0202b988";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.30";
 };
 "na-box" = {
   revision = 45130;
@@ -24397,6 +25153,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.5.3";
 };
+"nchairx" = {
+  revision = 60196;
+  stripPrefix = 0;
+  sha512.run = "3ebdb5c11c57818018172d87f265760039f4de415eff568271dacdccfae4aa1b8b3c646d5c68b4df55b66f631679c0a72c17283d949a35047f1cb8a536f582da";
+  sha512.doc = "2c58e3cc770a2180d010688683117a8beb4c8dfc17d0f6502647b5030ec3f6db1131201a352e0ab0247df158b4d5c61ba60995dfc8ffc7fb5e50e6a03b16c2c3";
+  sha512.source = "f1621721f65fce09ed2abcee3997dc1d2eecbcedb651641a99922362d4586be53c5fbf3c9d07cf1834ee6dfb79d67d7b20ba070ddb80f6c302d053979e3d59e6";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "ncntrsbk" = {
   revision = 31835;
   stripPrefix = 0;
@@ -24451,6 +25216,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.03";
 };
+"newcastle-bst" = {
+  revision = 59904;
+  stripPrefix = 0;
+  sha512.run = "183dfc00f4b2a1bf0268ffa9387331c689c53cac297be84b7d93840ea645acb57c311e5a10e13a25843c16aed61104b5114f4fa9c2acc9a7e6b834327a312d5a";
+  sha512.doc = "45929373fce2cef1131a9af22b09f5b60f47a40fa90a47fe09c2c9dc51ce73b9c3a6bd3f979562ae418d53f0a442dc3574d255039e5f1f169acb426d8a64abb2";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "newcommand" = {
   revision = 18704;
   stripPrefix = 0;
@@ -24459,12 +25232,13 @@ tl: { # no indentation
   version = "2.0";
 };
 "newcomputermodern" = {
-  revision = 57801;
+  revision = 61310;
   stripPrefix = 0;
-  sha512.run = "65072672488d99cf5d3b66449fc18da0539e75fe009311a7ac1d572888a702f0cee7cc928fc75d552eb81a6b8a5d604089a5d2461df397424259397c8c08716b";
-  sha512.doc = "6d2ce6b57fe538c52e57ccf769e30672e2844ec13b2af0cdd66e1aa1983e8966eb3b9263bb4186b0825c6878684377de74371d68819dcb957d03f3bcfbd11e49";
+  sha512.run = "98563a172632bf69930afcee577c5d4807677d0f700483818a02bc53f79dd142bb20065d1e10f982ec395270dd13335855ef95d521514263056473d9481e8aaf";
+  sha512.doc = "e67e678f37108d9029ddc3a5daac567d1e9dbdc8869e1806361512cedf3478b0de64a7d091a71f595b49cdcd8c2c7e85d57ce47f9f9c6828518333446c1f30e9";
+  sha512.source = "3da5168bc378e569742fc66d7264afda91f141c573ada94354e52fad420a8c0643fcf3609f514c43b88a01a32c46301c9df12a209a1ca975ac3ba2c2ada97cd9";
   hasRunfiles = true;
-  version = "3.02";
+  version = "4.1";
 };
 "newenviron" = {
   revision = 29331;
@@ -24511,12 +25285,12 @@ tl: { # no indentation
   version = "0.51";
 };
 "newpx" = {
-  revision = 56845;
+  revision = 61404;
   stripPrefix = 0;
-  sha512.run = "7dbbfd4e3e32b0c5a303ecfeb776793c1b1eeaa13b934e9e02ffbce49ca6d6409f5b920dac798a3abd52ddc87eab7ec9937060f3ddcbff5023005a6cce363899";
-  sha512.doc = "49e38fe4adf7291e3c174c9bf91f1f48ebe22639c542cd4fc707bce846e6fbb38a8bd0ed8a459c5dd61de314cb1a8a24aece5efc1f3febd5b0ac467c3051e3fe";
+  sha512.run = "8e5391da65c0f37b3f33d54b03896aa3b8740edace54e1233d36109819c1a2ca6a5a32882524a44c5f46013da55bce9b5f1383277ee65d5382d0eb9f59bd04ac";
+  sha512.doc = "de3d0142a43eeb416c2694a81a3c3d75fbb27925447598bddd9a569f330c13e7718a7f77616c3d5cb979ac2aaf208784bc518656a4466647f10233f7043591f4";
   hasRunfiles = true;
-  version = "1.414";
+  version = "1.503";
 };
 "newsletr" = {
   revision = 15878;
@@ -24535,21 +25309,21 @@ tl: { # no indentation
   version = "1.0";
 };
 "newtx" = {
-  revision = 58748;
+  revision = 61408;
   stripPrefix = 0;
   deps."kastrup" = tl."kastrup";
-  sha512.run = "2ff1eb8ca3fbda170c466e64ad874abcb17d657203a84809fac9e4f909d776eed95fbd69438b9fcdc3f0fd8f76ce5e9e662768e3ee51a2ec22ca4b071fe71b6b";
-  sha512.doc = "d6a89d72862332f08134e1a47ec53de58eb0fdfc7191f380ba8eda740a2118be03cb5898f880a1bfa3778e2e107096d5e9062ff875269a698f79e3506043de6e";
+  sha512.run = "b4a0df083e9d490bae747833ad505d1f5374dadcbbba63ca9a088104762f0096996b6b5b58cb30f74adfe2ec7ebb40d6fe7ea184389df3faca3fe55a8dd36f2e";
+  sha512.doc = "e6616264b98e0ef79f1df3beb0697387262831a4f3fd23dfeede9b8f66cda0c425b61ea50fc788609ce08e0301a43588cfc43047b980ba5d2598e60a9ca67fc3";
   hasRunfiles = true;
-  version = "1.642";
+  version = "1.7";
 };
 "newtxsf" = {
-  revision = 56527;
+  revision = 59227;
   stripPrefix = 0;
-  sha512.run = "14fdd049243799447b0ba9380cfae1dbe58496e67d30cb7bb3a82c685f449c6f3070e1bce674ac173a9397ebb1a1d40d1dc8db05f04174908dd157e919e7c7aa";
-  sha512.doc = "bf4ac517cb79ef6b1e541b2a3eb8b5ebdbfb5e3638234438453f79ce0bb1d87f815d20c761dccf2822e581222cca0439c189e02b307d8c0044fd194aa1d2016d";
+  sha512.run = "c7665696fe28a62a2dda826b706bcefb0d468b575232c1e04a69c58a843631e631098b4feb7b93fe8bf1c443e376fa8d8dcdb17346dd188d89b9fa525dcac33e";
+  sha512.doc = "98ca9aead749cf70e54acc6414d82d027160ba9d730747a38d0e55479dd4439d198cfd4093e22636e9eca58aaafba6818bb3d3583e41f4a46e0f44b1e10cc424";
   hasRunfiles = true;
-  version = "1.053";
+  version = "1.054";
 };
 "newtxtt" = {
   revision = 54512;
@@ -24626,13 +25400,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "nicematrix" = {
-  revision = 58667;
+  revision = 61142;
   stripPrefix = 0;
-  sha512.run = "722540fc909b7053b6146230deb30afaf59dadbedfc0af56a95b8080cd02cc1fa3ef3dbbc8d820780df835941f7517d698e3783b2105e98fb89ce54219e3ba3a";
-  sha512.doc = "0dd62f857d50bdf11a23d4553edbbdfb7388c5430bd069d30df3f95a34f1ad3fd6a0a8cb3a126652a7498cd1ca05cc8d135c9ecff25cf57b5777a06f345b95a5";
-  sha512.source = "50cd8cb63abf8eb180d0d70b45f46e42fc61ee466daf110322d726ba39c95c6abf3d2ac306e6f53713331764739369263ce9cf37595508f0e3bbf3cef1c0d0fd";
+  sha512.run = "0fff589d39fcf7745b5c32829b2a5c0db8737f261fb6f0e3f5e037fb101312eb45e7ea62c63d3bbf4a036430593182590d27822d1ed9cc27699c63191aefb04f";
+  sha512.doc = "ba4f5d753b409e79e9d518c8597e9969557dd22a8c4942c4567c371df311b026e566337ef227ee7a32b9f8b82711d199582d1284a03ba057dc0e11c017485c09";
+  sha512.source = "8bcee0caae05c1a85143f2d7c7d9b7480c22b1cad8c2d5b87546232891f05da84022c56e17bbb6e45e67fde59ae1ce39a5340e3a4530828203b4b78b93d6df69";
   hasRunfiles = true;
-  version = "5.13";
+  version = "6.4";
 };
 "nicetext" = {
   revision = 38914;
@@ -24666,13 +25440,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "nimbus15" = {
-  revision = 54512;
+  revision = 58839;
   stripPrefix = 0;
   deps."fontools" = tl."fontools";
-  sha512.run = "6a1e1a91c5b42e568299a850052578897631573380579342a611adaf3d730fa452909650218cc75aba5c92204c01d830aaa2c305939e6b85f9202eba0d5e3fe0";
-  sha512.doc = "23de0b8f674692f1eebcce8c1c308e26b0311c12e4fb61fb6f1a925382bbf072d81047097b0a8d5abbf86f641f7b1fc59c64c16dbd8534db7f875d5b64a2d77e";
+  sha512.run = "9e39f92dea1fa293d6249d16877dd6b2d990d1d48cfd31f4ac1d66233b97ff178d2b70f428978a084fc9a50b9dd994adb6a8ad29375e54f5d5ccf6ca7ed62f64";
+  sha512.doc = "8fb9ece6ca17549572a0d79a541397c6545dc01ac0422a5270314bba1cb83b1451fb0f56e34f449cc3d3de326e063e4ea1f2ea03a0fbda7342e9d0a101fb5ed1";
   hasRunfiles = true;
-  version = "1.013";
+  version = "1.014";
 };
 "nimsticks" = {
   revision = 55877;
@@ -24683,6 +25457,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"ninecolors" = {
+  revision = 59330;
+  stripPrefix = 0;
+  sha512.run = "276b119a025ed809dd17a1f72ff19c341247e5efdcd06d4723b8e489139223cd937453d52231e9bb4a9facb43bbb19135f34030f502d9bf63ab57f3d44b915ff";
+  sha512.doc = "b22ac4ee6e32f33b93a2776bf43fb7a1415b5e681de83307e3f793eb516742fed3eec180b98992bce5e2fbe9552074c70109fd5217d6ab10f0abe22064df52b5";
+  hasRunfiles = true;
+  version = "2021C";
+};
 "njurepo" = {
   revision = 50492;
   stripPrefix = 0;
@@ -24692,6 +25474,24 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1.2";
 };
+"njuthesis" = {
+  revision = 61293;
+  stripPrefix = 0;
+  sha512.run = "599bce07768fd6cf8a3d7ac110b30ad5c5bb4dbef0a9b08e692fd98b1c9b8d116080e8cf30b6bd240ff9e1541fe62837309449b9644540bdc6ec910d717c3c76";
+  sha512.doc = "ee2c429baa8429b8f1012b1f61a88404dc593d8e1a5a21ffb7063b3667cad24adf270ba0d5938edfcefcd6b2e4423bcb19c65cacb3aa0aaaa805c91ea9e3f3ff";
+  sha512.source = "9a5a398756fce1051dbd3b55a61191a31a5d4bcaf953423da8ba5d7d2aa11a561ea2f6aa1ae833399775ae242de3b3cf182062ec7716a6eb3e3d0af06e646769";
+  hasRunfiles = true;
+  version = "0.13.0";
+};
+"njuvisual" = {
+  revision = 61179;
+  stripPrefix = 0;
+  sha512.run = "385d9dc8153ec75189159eeefd3bb6721cb21c974b9c13b6c622f62683167b18e63c52b1a407189057f0416238ce8d5e303459e51ae2926c21e925cae71d30c3";
+  sha512.doc = "0c4528d1f674b1af677c0d755a59c65f74509efe4a0dcc13e7f71476287d4a42864a7a64574502d44a26107ba3356524f909c9f393bf5def4e0ac1384c72b3a2";
+  sha512.source = "137eab9b1c65d7db91a35555bf99cfd7d0ace4e66ff60fe47e3ce083036edc4d67f3ccc26dff8df5f086a277cb62eee39e184be17c7552be902f69ad34ca75e2";
+  hasRunfiles = true;
+  version = "0.1.3";
+};
 "nkarta" = {
   revision = 16437;
   stripPrefix = 0;
@@ -24726,6 +25526,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.04";
 };
+"nndraw" = {
+  revision = 59674;
+  stripPrefix = 0;
+  sha512.run = "0a3ef1e6654d191c588f8269c674e5d7542785aadd97bf96101be8627f4a4746e443083a0403b8710f2e8036f0d69be1db6d40cfc1865aed89056d84ee4a512f";
+  sha512.doc = "0ee7cb24d7cdfc708a3ea7bc4588259ce92723e3c4be295b85d689750ed81ece2a575ceeb9d6959692e36e363bd6ca26615fa598080977cb62de9a641da44322";
+  sha512.source = "c97381de546d0e4173c7d34ddc8f9098359a3ec8b84c78d155efc49cba120a3e59f64c3c43eaacc07196df86402a084558ca20a5ddc52733134440e21fc0bc39";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "nnext" = {
   revision = 56575;
   stripPrefix = 0;
@@ -24753,12 +25562,13 @@ tl: { # no indentation
   version = "2.2";
 };
 "noindentafter" = {
-  revision = 35709;
+  revision = 59195;
   stripPrefix = 0;
-  sha512.run = "6037e5b7b36742c2956f39020f7e9bd2072b17ab313f5d7d86e8b0c348b89ef1392571b8cba22190221a14c6f1e44a0156ddafce8f5e2bbf5362e443f590b2d8";
-  sha512.doc = "1cc385e0bed9559d66c13967a5ffe83f1d01ad2005e4c7ca92243ca246da4f5f5e9abfde9b244ac54d73de4f874b800dc6620f7c93f6fb03a6d0ac8b2593fc96";
+  sha512.run = "8445839068a264cc57df9b0e9cce4562b3e70ef208baf32fb2aaabf7ce95804a31f0f8b65c8ce2f2f0fc809a07cb864ff977af31d8162cf10560c39f9d2b78a8";
+  sha512.doc = "95f0e11cc91dce0e970caa703149b602150426df174044b0a2fc7d902f040fa4fe6fc3014bcf49d240bc9612c5c61a5a40124d5b49ffab1bdbabab0cfe55889d";
+  sha512.source = "e3a12b14ad4571a3fbaf4d4297da28a69cdba7bcf57a365dddb163d88a0b1f7acd20d600ab6353b4ea110d4a0a72c9bef365a3b1fd866448f65318bb5940dd7a";
   hasRunfiles = true;
-  version = "0.2.2";
+  version = "1.00";
 };
 "noitcrul" = {
   revision = 15878;
@@ -24778,13 +25588,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "nomencl" = {
-  revision = 57263;
+  revision = 61029;
   stripPrefix = 0;
-  sha512.run = "f63b053f8d95a58e2d8ec5d42177f13bdaa49f6cec710e166a96f45187b51cbe12b34c68918c0ec42b12250ecf1af80f5dbb83f4161b2d0dc94d51ccf218391b";
-  sha512.doc = "cf29a353af0a32e41d18087d3ae9c8447d52cb0f95dabfbde01150d15637022d53a8576c362bd7489e8110cdc5dc1892159652d67e61f165f25a78b64d8e095c";
-  sha512.source = "e64dc93929ebdf9716208bc51af759003b7e3263a95d58dab5bfe740a71c966d4f51d561e4cf2d82f90bf3e081b4cb0c7a50a1e0a657d2b33b3a065a2e88a557";
+  sha512.run = "ee20b8a21b03cb02ed2ef37d38c219841d4a07e17ff781c067906ecbb8f5383d8558c20164f7db79af0c8cd11c5ad8d76142b15ea74674593bb52a5a5993b6c3";
+  sha512.doc = "1caa5bcde6c1a3ac5de024f513793c52011285e70e32664d6c5d1a103027c74d45c716d01aaf849726b5b7ffac511ebe6cd16ba669bfeb5fdf37addc59e24a6e";
+  sha512.source = "0fda8a0c5e46933cf991bb4120e4bdf98a8ba05e1ca96600fc9e6abd5d3a5c78ce50ae9e625fdda956c90a8f9f569f18d9ebd96b6de4e0e5bb0fbd2b5b00889b";
   hasRunfiles = true;
-  version = "5.5";
+  version = "5.6";
 };
 "nomentbl" = {
   revision = 16549;
@@ -24821,11 +25631,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "norasi-c90" = {
-  revision = 37675;
+  revision = 60831;
   stripPrefix = 0;
   deps."fonts-tlwg" = tl."fonts-tlwg";
-  sha512.run = "d52fb16ee07ef72f6484b784346933a23b5a3357aa2f00ee212bb1decbfd3299153e88cd4bc352cfc2e888dbf37ea86a2bd6442b6393634c5f144f4accab55a5";
-  sha512.source = "0170578bca4c4e4a7307fc125a6d845881fe32e2d361c73369ac1bb1b7d510bca8eddae831fc8421b3e30ce996f2eda4d7b2e449873ae6226a7806ed2bbd4047";
+  sha512.run = "5f65927546348815b07c93003a2b0922403d274bfa3d1665d4649c9dbc737df924958c2fd61c1d06cd5e7c1862aff392c8d1e9d827f4ae79e70d9b76467f651d";
+  sha512.source = "8fb30cc3a1e762ec15c813fff0191b08b64a0d259dbdd21a9edcf70c6eb1b327cff5ef3f48b9dba0b7d99d1ec31b3accef65deca7285e27790261ca659bd525d";
   hasRunfiles = true;
 };
 "normalcolor" = {
@@ -24888,19 +25698,19 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "noto" = {
-  revision = 54512;
+  revision = 60482;
   stripPrefix = 0;
-  sha512.run = "731e33665913e4e5deab621d44f0fbaa1a9853109f6f76b2d2c65efcd2a227369e17bee3cd18b00a0e3314db61026c2d2138943b3420bb5da29b7eeed10c6cd8";
-  sha512.doc = "6ab7fcfa88f6c4739038db08afe172387ebe3cd391180efb9b745096ad0d24f7a80b4866698ae882f34d4e6482ea477b419c9421d2a62e71c79e2b66bfd21d94";
+  sha512.run = "1824eeb55fac567ea5bae58363f132e34bfd2ceeff6573c3f0732e58e3c3ecb58666af4d7ef497aa4500f6a9f8d51aa4e2fb15c2324eb083db51df2cdce4e617";
+  sha512.doc = "917a144e2a0f081fc611baff3353c517edfd4ab10942ff728d2227a87d78a326e21d2515363ea05a20391e665e130a0e29e4f312f011d5eeee39624cf3866e8d";
   hasRunfiles = true;
 };
 "noto-emoji" = {
-  revision = 53968;
+  revision = 59355;
   stripPrefix = 0;
-  sha512.run = "c681b795a4f2678f5da213cabb37dde0fd604036e59593c34100bfca53ae56e9cbe2f408a2d1a99dd143b07d8a50fabafec0e51d614bb3ee6122b8eb27d6eb10";
-  sha512.doc = "c1794f61d4597ad06c504efdf94efaf2172d87b3efc29a289350122f85337f73c319fa7e10b261e7a9bc79ce96b8fdb3dcf4348454a0d2902ec5a47433b95ee4";
+  sha512.run = "a6d041f781389bd1fa4e329adb2f0e28e19b003c708ce73e22c74d4a8580d362712a0bc3bef72e6f527e159662c5953dcf7cdcc104dff43329401da933ab4049";
+  sha512.doc = "3c94966e2e822047d43c0a999e46729fa801b93d4dfc5c98432479a419d12faadd345df0bc1471ca44b6767316c806aba85e256e031fcb17b3233fdd59c66f58";
   hasRunfiles = true;
-  version = "2019-11-19-unicode12";
+  version = "2020-09-16-unicode13_1";
 };
 "notoccite" = {
   revision = 18129;
@@ -25024,12 +25834,28 @@ tl: { # no indentation
   version = "1.0";
 };
 "numerica" = {
-  revision = 57759;
+  revision = 61283;
   stripPrefix = 0;
-  sha512.run = "2d4b5de317de660b01cf242fa623f5b37bea19cab30c7750b056560c1956718eb4903fcd4bc32323ccf0888ab4340c7d70e9cb8b66bb4aedeaa07a9faad32880";
-  sha512.doc = "062ef217d285753caef67842b30e395799236d0f989e2ea943b64b92b468c2426203d41a08f869f0c8c30554dc7391f5a097b99f9e4f4fdd31c1ce038ba33444";
+  sha512.run = "9fec18e27d78b81ced365ebbe20ea49aca99c4aadd7b21cc630cede843ef3c191824556ebdb9988c125603760a68e56b8f9b4d0f37d662178af29e9f8182c0a5";
+  sha512.doc = "76b65febc8b91f2e4c18dc1b93e3eeb33d70caccbab60f3d34b3eb36e253b4d2a1d97213220d40d662c1e53bee2f2845784793214724c65b4dc19af288b9f49c";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "2.0.0";
+};
+"numerica-plus" = {
+  revision = 61289;
+  stripPrefix = 0;
+  sha512.run = "821e5f200b50097f245802fe7fc272a609988e5c8cee98c07ec1bd562d79bea17b8688cb5886febbd596904498aecee5794845deb83ef25a36c60afcbe8026c8";
+  sha512.doc = "f680560ebe7777ccc0e9f04dd209eee90c478c3d5bae3b32f829ab889997c31d9c5f9efe3a57450304aafcebfff09edb02481a596315e7f233b47fe328c6f3c8";
+  hasRunfiles = true;
+  version = "2.0.0";
+};
+"numerica-tables" = {
+  revision = 61288;
+  stripPrefix = 0;
+  sha512.run = "d06b2e85dcba39b2dff338f02ead71149330a711570d4c14ea4c2ca1f6c95d1bd8465967cfdb0e57b0a4b2b8cafff4f56ff585a1b2b2272f225e44958cbd316b";
+  sha512.doc = "9585b95c14bfde30d5de6acf47c0f23328c1b986c075b6842f5a6878eb15761c59843806c649bd548faa90cc46ba93d7ecc021ca699f5eeb8644a3d314e5d737";
+  hasRunfiles = true;
+  version = "2.0.0";
 };
 "numericplots" = {
   revision = 31729;
@@ -25063,12 +25889,12 @@ tl: { # no indentation
   version = "1.39";
 };
 "numspell" = {
-  revision = 56912;
+  revision = 61132;
   stripPrefix = 0;
-  sha512.run = "e3731b00f027319e67ece82e727fde32be4fd80ba508b173f54f89edab3fdf5a98148ea925f68039adec2c09fa7d2284d1809d5a95aebd0e0d364f1b8b82b698";
-  sha512.doc = "368b5af91cf3d8142bd243d42a6f3f939a2172aa4837487b78de51caa5ff5801123af307c14aa7b66a32fa791268503bc7ed6ed1cc7ddbaf59c84a57914d615c";
+  sha512.run = "4db8e16d137f47681f754cb2bc1b9b6fb404676f57c5696ef044287a3f0052603978997e597a2b8b13393d59e6531298daa127d72a381770cadef1a29944948b";
+  sha512.doc = "8bcc1bcca230a7829a106c66904feb70de818dde2d6c4c7be3a5df3078482bba001a35db85b1c548fdb5aada0018cf6f0dee936641ae5959ebb84dfe953b6b9f";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "nunito" = {
   revision = 57429;
@@ -25078,17 +25904,26 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.0.1";
 };
+"nwafuthesis" = {
+  revision = 60187;
+  stripPrefix = 0;
+  sha512.run = "56f9b8f7b3075588b92c51ad680f4be80599b31ac8a5a1b9da08a65ba84c143c2d028c7a83b45915464906c2184da82ccaf3c9c0d9889164ede27626bbda8818";
+  sha512.doc = "10c9fab653bedb469c1dad9a554276da52936240a48581a28035e867d76675bd9dd3230afa8d082780c8511efd3a0c0a18809e4d2528c7c7472d4cdcfab86324";
+  sha512.source = "b5393c09d910126e8d1b9bccee745848157a2f55fb3d9c725abb3a1311002a3343f6dc5aae6b346909beb485f55b2c7becb38f53a9d26c43066928edfd4a53b2";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "nwejm" = {
-  revision = 54392;
+  revision = 60753;
   stripPrefix = 0;
-  sha512.run = "5a7e400c00bc8d5d607a61d1ebc30ed2d36bbd1b270868c89f654f84fe9f6d4259863b047bed1c1dba9b79a8a1f1b1ac612b95530903f81dae52114e420a32e3";
-  sha512.doc = "06da866b9f491a5969460f52f9496f723f8fb3347c7b0c78e48f07987e953994fe658743c6eed5c346277469e89b07a13a3a727d6df7838a8f5e66dead1142dc";
-  sha512.source = "d0afd2dadbfe524790f5a96ff37d3304305cada1291311bf724d30f216208f6f9d0ca6b6461792b17d1e91c8a1a13f235543071a2d8589615898a7b9a5407f26";
+  sha512.run = "6e03bc619a93737c3b83e3a32b60abf58d5f3bb155a3a8c9d4096f036c06ab4c3511ae085724ef509bb70183f9104c71a8b73d43f29d89ded2ebe870b6b028c9";
+  sha512.doc = "e19ac3f06b35d2bedc00218daa4d2068ddd0e86a57e163f0db37a74a11447de223854a15815039d9a2cec4a63297a7b4ba68836650c1c2e62076bc71f33b8b44";
+  sha512.source = "1c79fa4fa12265d361fc95aae30b300d4a2ab37db12278f16e39466a6e42c43ea5866a85198dc722bac5b491bf743b65f7e9bf23e0a3e8bfbb4f267ddae66d8e";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.0.2";
 };
 "oberdiek" = {
-  revision = 56291;
+  revision = 61066;
   stripPrefix = 0;
   deps."auxhook" = tl."auxhook";
   deps."grfext" = tl."grfext";
@@ -25097,9 +25932,9 @@ tl: { # no indentation
   deps."infwarerr" = tl."infwarerr";
   deps."kvoptions" = tl."kvoptions";
   deps."pdftexcmds" = tl."pdftexcmds";
-  sha512.run = "a110b9f65989da3cb73bf37e09d92a89352177c45ac2b60a98341829e833e9ae3055e979f9bce5fea57f44e751efd70cac0eb5eadbb7efe512d0277f3696dd00";
-  sha512.doc = "631f11d270e5bd908b3d1c51d96205046793e529ba18a5e442280e6cbc1cb67850dab25984747f3871cf200dbae340e19cf327a21d5b66fa55140e1d76ae1503";
-  sha512.source = "a58f3c55a38ec5e2f373428702a62fe55b2af7db5de59ba53a16643f1b4ca3e52ed8317594e8403f0a95b7705e9213b8400c040329408ad0cdbc77bc8ea54bb8";
+  sha512.run = "4769138392168883514d5778ff84c5a2b483daa20b116bdac45715129ebca6f697f42b0a1725f8ba0dda68e4a57c5fbf806d714034be1f3eff2ebb1c8ff30690";
+  sha512.doc = "4b1349bdc6645778afab2502e85a5bbcf3d5f4829892d735756d7e65ecf2f8f31131cf5d9aec922cc16b8366e8a25abfd7f808e6b1cfd37ebd83821a323e9a9b";
+  sha512.source = "7702209bcf65a6030d92e6b839d3b83ff1f596c1d3b68f82b074fcfcd626d8167323b4923ddfdb769dfacf84e5c7f8c15563fae41bbcaa1a5ec17334a80f5979";
   hasRunfiles = true;
 };
 "objectz" = {
@@ -25136,12 +25971,12 @@ tl: { # no indentation
   version = "0.5";
 };
 "ocgx2" = {
-  revision = 57531;
+  revision = 59618;
   stripPrefix = 0;
-  sha512.run = "2b09a488d273992f02034b66ffda3ac7a7f9251e8b57c7794cd50d8e68f5bc2d1b55d1388bfab41e3a46ee037cc5de4e1e137a7175b5191fe9d68fb6b3513ffd";
-  sha512.doc = "5f310667aaebcae98fdac38c301ba587c00290d6fe21944a0f85f87cbbf393c02179621886409956739696137900d119d3c69cc3b597bc38fe283315af03995a";
+  sha512.run = "4b409a298faa576388c625a93a3ec32eacb1810d3307013a6a07407fb4c513e2cb460a566462ff6ba3033ab8dec7554492d72e7db111134d19250d9e0a056f01";
+  sha512.doc = "65e87909d7b6aff0d6f43e4e4a96c9ccbf022b4d0d204e8acf6759cde7186b07b286d157d51c315a9dc6c500d27a7b457ca7c40abfb2cf6a841b931710ff4eda";
   hasRunfiles = true;
-  version = "0.50";
+  version = "0.53";
 };
 "ocherokee" = {
   revision = 25689;
@@ -25272,13 +26107,13 @@ tl: { # no indentation
   sha512.doc = "8a3728aad3cc5ed99305b5fd8e2301c13ff2734c685c506e5cb00c7412c3f946631f1a86fe086277f85a61fbbf80e447438af6cdd67319b5d04f57f02569a49a";
 };
 "onedown" = {
-  revision = 52525;
+  revision = 59010;
   stripPrefix = 0;
-  sha512.run = "e7e1ef415ac2e311be871031c008d13773b4a16de491123f46c9511a98fb868624505fa602607a0d48337a19641487ab4ca49332660677c0e956b61544ef8fa4";
-  sha512.doc = "cab3a78d993daab2e5c8143d15293dffd0c67abc872c6538342c023843fa94985b6e03f9219c45356d3901829fe7be5cb2be6179189ff600a50ba4d5d62d0b2e";
-  sha512.source = "607b06a08b704dadb2669274e50e363c86e037e4b3de1ecfde5a5f9d6c9e3f22bd0240b727ab1646c81bca4b9c5b86feaae7914daf051e457e5f0bee6259b7b5";
+  sha512.run = "67110331d1df4b6f454ab23e6af1fa9904689e9a90f3a62652fd81db9fc990aeb527fdf7d4c5bb04064ddc93181f45334a06214c8acf9930497994e2ad0e8002";
+  sha512.doc = "06f00f302cb363411756ba0dd17d9a431aa4736bca2c61b2237b466e12a4fe8bd8cf9494ad5626766ca2112ce629aa8fb8409fc19c2ff3f83e4aee088390031c";
+  sha512.source = "d7b3eb5dd5192af22735acf5af450ad0d714dddd434d66bff3a40151953ae1098cf8c27dc620f167bed2c3fbba13f86f62724312161bc321b71fb4f14d605fc1";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.6";
 };
 "onlyamsmath" = {
   revision = 42927;
@@ -25331,7 +26166,7 @@ tl: { # no indentation
   version = "1.0";
 };
 "optex" = {
-  revision = 58515;
+  revision = 60332;
   deps."amsfonts" = tl."amsfonts";
   deps."cm" = tl."cm";
   deps."ec" = tl."ec";
@@ -25339,11 +26174,20 @@ tl: { # no indentation
   deps."lm" = tl."lm";
   deps."luatex" = tl."luatex";
   deps."rsfs" = tl."rsfs";
+  deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "d734139205c47599f3490dfbf13e6f71532ed7c311c3c76b6e444e539f1be6dd1bfffc612f8d019c38923d46ea7c98be72b28cf83c2b00885d787f6f526b0f0a";
-  sha512.doc = "285d74614c05d3776a41269da1156930024359eef282b3d5479a5397bdb928357ff3020d3fcf47bc92d8ce4ae37a9c4fd68c9e601d7083911145a2bed2bad4f9";
+  sha512.run = "96f6fd5ed9156cc06987d2145443f020cb42f24b183e9798623b2fea40843a1e7cfc9f09f5682623319177c8839303d8f514e2a6932d8d603e4b4155633e3056";
+  sha512.doc = "28a8cae2c7ad190c1f512131b1cabec89881188a91b2b5a8d652ec7a72de544e4f256b29c6f6ea1376e2943f04f3080cac66cdf2001a831e0c2f04971410f654";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.04";
+};
+"optexcount" = {
+  revision = 59817;
+  sha512.run = "88a35391d3deb37dd6466e903f3cdd7d134eb9fb8c0a9ab548ca2eeee86687544e1b499248c2d0a7aa3b801d9604913e763128309f88f768d0dafb8ac1fd6998";
+  sha512.doc = "7f0d33068083736fe58c08dc9e37929efcf65de3b62a3afb51077a21d0e27b473a65ee1b333a0dd31b1d39e7f6ce79cae3343e8b7a9742199fb409e90030f7aa";
+  sha512.source = "c62820e25f1251b6baba3095afa41a39616e49147fc88c5ddd00fe56e0eb2d20a6b2a0ab633b01f2578819308fa0f05e53fd1daf781e276b08ade1407024c46e";
+  hasRunfiles = true;
+  version = "1.1";
 };
 "optidef" = {
   revision = 50941;
@@ -25370,13 +26214,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "orcidlink" = {
-  revision = 58432;
+  revision = 59560;
   stripPrefix = 0;
-  sha512.run = "c4f2ce57c5c6a792f7d1cd0ef835e38cc582eb7df9655ae3d2555e3c9d389787ce0a058973dbc9d453f063247968957b2ba9ec1ed62499ab731b57fb96e0a342";
-  sha512.doc = "8b18a107eb786e45fee9a1a16c5e88386e80db353e729e1288377aec3a87ed7433d189d0acbc1e8065a72b3fb7bf86cd8f635fe870735ddd3ebabed5aab8ba03";
-  sha512.source = "f1d11f008b85d65228d1284228e4839d340fe9e661c0cfecc2e9c76c2433b0e7ef6a27b0a630ee7458e4f98a32f12d0356d95bbb9756348e2070175b6d32aa5e";
+  sha512.run = "ba51e034e90800c402b559fd636acc38a96f0913c552e506e26457d5c690299c7860bf9a1fc911eb2d4e734c90f775e814b8bac52a492ad7743a47f3e89efc5f";
+  sha512.doc = "c20f8e77d3c5866f414f0dcc47d84fa3328492a003a81be1ac3aa69f9ebc2bfff7198be5656192ba7bc4330ca7b773c6d319ec389bd0ad9821ebd6159b7d0b97";
+  sha512.source = "485492dfc8256d97fd747196bb142eb178283eee98aed5edea689543075fe0992e9c25fa522c9fadd48c9b631ffb31c8600c82be598678b03e78c4e5643b8cb2";
   hasRunfiles = true;
-  version = "1.0.3";
+  version = "1.0.4";
 };
 "ordinalpt" = {
   revision = 15878;
@@ -25411,17 +26255,17 @@ tl: { # no indentation
   version = "1.7";
 };
 "oswald" = {
-  revision = 57253;
+  revision = 60784;
   stripPrefix = 0;
-  sha512.run = "faa9493780681b7485a642e45cfbb71e81ca408e2e65acd77b22f0655a0d98598558e4557737fa0615794eedaa42cd8ccf9bd04323b55a39db6251f52b11897c";
-  sha512.doc = "e20776527a53c7da8a07d3c08314768cb3c0e2bcdbae90b30e7407c95546f1187f65fbcb8a52915ca3b1d26ffad2191733f26b9f105403ec574ab4912bcae915";
+  sha512.run = "92d4d3a7d8bd09031368a89ab7b49483e653750e1c348908aa3fdb62cdb8ce14ecb7d7a29b37e6774c613e658591622891e4bd6b348492c669716f220b46f9ec";
+  sha512.doc = "1f6606c8786b0eb54a4c3aad0220347eac3b2bead83ca5540345737cfae509be42b9eb10f27a5ff1ced559aacad7413b69708eacd215afd47636d17194b40082";
   hasRunfiles = true;
 };
 "ot-tableau" = {
-  revision = 44889;
+  revision = 59318;
   stripPrefix = 0;
-  sha512.run = "f3240c0688276ab6537201b20d6eee422a795d5d994c6bc8eab3f275a037e7adcec7e54c9500a3a5a6d2fe237b44b0b350a7ce6f72c7012bb48a69c9c43f2fca";
-  sha512.doc = "396256f0ce1bda04fe1c84cb45928d82651b4f6363928e33bf092737ee6ab224f473567aa5432fa00a8e4cfd9b5a3f7e7ad8448090afaaaf89f97b33ff695876";
+  sha512.run = "0a9c219d69f6eec4d9fbf8937e0cdde60b34cf38ce154332147ccc172b0ce90932ee08c7a85a68d4e5163461352745a5c0abdc6b8bdc187be5fce5b121f45c75";
+  sha512.doc = "8345d881600cf9f4d73cd2a23d12ff32f11a4d3a66b61262b0eae7dd3bc9039e20b187a6a9e45e9b15729015fb76b0e4e3e76c011e47688df09f4a848e508c4c";
   hasRunfiles = true;
 };
 "othello" = {
@@ -25609,6 +26453,15 @@ tl: { # no indentation
   sha512.run = "f21fdeb0423853294f52427bbe1477bbfd49b1a6255bed5f561dfa2156cf8309b2f71d2c09ad74bd64bc1fd69fc73816e3d84e72d975db5925d4c3c4db6fe8ca";
   hasRunfiles = true;
 };
+"palette" = {
+  revision = 60119;
+  stripPrefix = 0;
+  sha512.run = "0583223e81139040de67fa9a1fd93479dd2024c19d34e775a71b9fc03d7b01799c2dd58736d431307cb067d2d3130fb495aaa002425a8c0c80ddbc3e33679693";
+  sha512.doc = "16934d0cdc60fe7c1d6d2cbd0dfb640a13d8282d98e322c98853b71ab7fe38a33241857ae98fd8ffd9f2e5c009327889f4c42a89af4370fc7d4608b457b1cb4c";
+  sha512.source = "ea0e817ec066450c3bceae8ff9859f9b4934dba86f1ef850bfe8d566ac1da8296d780313962ab63babdfb822d1c72e686dca2925f809baa3a62eb2d744e8e6f8";
+  hasRunfiles = true;
+  version = "1.1.0";
+};
 "paper" = {
   revision = 34521;
   stripPrefix = 0;
@@ -25685,13 +26538,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "paresse" = {
-  revision = 56621;
+  revision = 59228;
   stripPrefix = 0;
-  sha512.run = "7be25fc749a18d1cabc6ee720cef15b89e323d4e07716b63aa49a5eb4c89208f730513491a7b6740069f0daec3015ada3d673aed6407b21a8a1ae1dd09f60d7b";
-  sha512.doc = "cb01df5ac56c7cbeab0cbfdb99950ddbe58cb432885702b2212c89c654cb2a88536be20a4abfdda5321f2cb36e8528fdbe2b96a129eb8afa2c1e969c0f22398f";
-  sha512.source = "50f683ae5a7d46faa5740766e01a7637e9e1f149b6763e48ed0029814add723b551d76fae9baabf562b1bc5268ed015b7619fced2492478b2be2ec4c4f63f57f";
+  sha512.run = "1604c9320918893633af8318d049194158daaf458bbafb5ce34b2ecf39896eae4591989117bd1ecdc3a86d4728a4c477f32b82b38315aa0693fb5978a81d2b21";
+  sha512.doc = "f25aae5058f765f5f141c1d2ba537db5395384f64b1e0aa803e486eccc1a9c958dcbf6b1dfb0aca331a5d20a798c2107092f79b9e8ec44e342ba52964ed43b06";
+  sha512.source = "5acbb82be5b06506d603eb19b01770806e515b1d496a2b51ecbab0a6c5fb4b6a0842764fb76446c09eb9a49a9a9cefb571e5133a0f72917de989814cfb3bd00a";
   hasRunfiles = true;
-  version = "5.0.1";
+  version = "5.0.2";
 };
 "parnotes" = {
   revision = 51720;
@@ -25796,10 +26649,11 @@ tl: { # no indentation
   version = "2.4";
 };
 "patgen2-tutorial" = {
-  revision = 16490;
+  revision = 58841;
   stripPrefix = 0;
-  sha512.run = "4a157b6351e15274fc2972e80cfca740b4abdce0fc643a499fad8588af71441887974ac258627b9ef215ff9be8e33bb045f134554a6c0382b74f6af3275ab04b";
-  sha512.doc = "4c375722cc01baaca61acb9d93baae99f7776483a6492d19b7cfbb13038a40ec3c76bc8580cc455e9233e89d0c29194f8c41e51078d3996a3e72431d9113a64c";
+  sha512.run = "0db7759a327066df9aa738a977d664b8e150405fd2e57e5532a7f9e2cc6a9cb0c6541cb37b916f8506589ea02e36eb4ca404ec1b8ace3726ae431a6c78f86db2";
+  sha512.doc = "5abe4de29113af4db20d85ed0089190f5ae82ef1573d8ffffcb9f5f03a4417dacbea5aebd0b274ea27dc54255f8ac6792c841a9bf77ee39628c8bb1dca49b084";
+  version = "1.1";
 };
 "path" = {
   revision = 22045;
@@ -25844,13 +26698,13 @@ tl: { # no indentation
   version = "5.0";
 };
 "pbalance" = {
-  revision = 57161;
+  revision = 59331;
   stripPrefix = 0;
-  sha512.run = "7db75e950aca473dffc3d3efb419bbe33b5f04d1a0295a73de3d7385883d576f46bf377554ffaef44608cc8c6df3f3594bd0a0e5ed7ca649c7ced5c5834192db";
-  sha512.doc = "98828ffca4f1e4dab5b51e45028058cff1af38cedb05f1b0a201bff1ddb508374da6fb0d77ff4d14bdef6ec04a468435dd9870ce0f1e34685fb982f21c982e79";
-  sha512.source = "21236f5d7cc9a64472d9f214777331d3b230773d134b0ed5a83d1a3dd21c2d4a76df78f42824012d4edaabfeab612684fa2577bac3bd4070ed2b5956d19272dd";
+  sha512.run = "daaf515149e083628cbb8b855d90d0cb0e6499b8338294550db1220b867c9881463c61a2cc1d6fe1eccb3cf2a7e0fae57b865791e4195ee7543f63104c63ddec";
+  sha512.doc = "e6a80cc1f71bc8c272db0a5c2a158cf5abd67e61f76e6412aae6d3854b5b030837a063e18291f843cf9d3d91479da8f4a7f74ebe3b539d783f823cdf448cc9b6";
+  sha512.source = "384b17dfd1ac15589b83a5b6f95f5494fbb76a54b19d09eddcb73b5250795c70b19e76c29616402b5ecf4c649b9a1e5a3edbb50d1bc8175815eecc70ca27616f";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.1.1";
 };
 "pbibtex-base" = {
   revision = 40986;
@@ -25950,6 +26804,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.15";
 };
+"pdfextra" = {
+  revision = 60553;
+  stripPrefix = 0;
+  sha512.run = "6cb9903d116aea1fdb6a00f9588e3815a4dc56b5e4c2eda19e665bdc87511c7e4dce2a94c792d3a87c181e476f06cdeb0c71c02d48fcc265c77472a784faf98c";
+  sha512.doc = "398f316661cac3977130970e50970d04fbbaf569ebe4ae6b9434eac4a5a8155fa6b1e45cda929dc19f8cb82991dd8b760c3ece64af54b141efbbe83f570d385f";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "pdfjam" = {
   revision = 56991;
   sha512.run = "1b1084859a811861e60e27186d67d267d3740152331f50fdbe67ce7226a76b4db24d79b674e6511d2f3de9a711da3369c565d781614f5d0c1a8021bc1ac18827";
@@ -25974,13 +26836,13 @@ tl: { # no indentation
   version = "0.12";
 };
 "pdfmanagement-testphase" = {
-  revision = 58511;
+  revision = 60347;
   stripPrefix = 0;
-  sha512.run = "fa4a79e078e2aa29862db99a336a614387df52a019d0a42b6bbf4ff8d222bf44a16577d3d491ca0f3c8527a0dfd1bab1839db891092dd0a8f3480744fba2fcba";
-  sha512.doc = "03503b2f0e4390bcde34266610fa822c192fac1cf5c800edc2ad77c1b925a964e9564d12fe9104f675b243bb757a96a355aac26b0cd95ff701210b3afca2d15f";
-  sha512.source = "8bf95f64fdee7517af5f3c312c32f1c705d9b2348cae1ec44c76855b7729641509e6f89192a5d415357fbcae794178767fcfa5eca72e0d688246a6a5c5ca03e8";
+  sha512.run = "f63501fdc8184135bb649fa15e22d055a4e17a66e57411c31f6c455cfaa6680d0047eebaf34969c031ebf3f55fcce341ed1f6c0365dccf8bf86c808ff2465b4c";
+  sha512.doc = "0107d3ebfa15c1701a0fb2d25fa0ae19c32a38add6866dd262f0db71b59dd194b5c3127c56242c756db990a0cf6af674c9dec67f892aa6354273439b0d98341a";
+  sha512.source = "4c45ceb89d8625c7d7a7a264bf1d31eaa89a31f5ad4e5d956f6a312853132eb1e550ccee23aab53ae03850a691c1bd8f4154b8a7273f4b4ac4150735e219ac31";
   hasRunfiles = true;
-  version = "0.95c";
+  version = "0.95i";
 };
 "pdfmarginpar" = {
   revision = 23492;
@@ -25991,13 +26853,13 @@ tl: { # no indentation
   version = "0.92";
 };
 "pdfoverlay" = {
-  revision = 57923;
+  revision = 60923;
   stripPrefix = 0;
-  sha512.run = "abb74e43656273b8b7944ced516239ce7fb33ca57daf137d1576dc3c5d013982a10f26e0196669f821412a58dd2da36411ef1fa8e81e4e61103ae583ebec0494";
-  sha512.doc = "2fc549ab29625cbc2876655d6414dbbf211ce935ed9e676561c40c96045822aa128d7d55f0431ca059e3f37ae6d8e68984652381f31809dcba378c85c6f15b54";
-  sha512.source = "d89a4cad67a338ecab1c413c36a451018d7ad86452a470c437a91f023019c78392403da4f4c57c199a4487b6011c8b43b5f51607a6a24014b7cd4eab2e063fc2";
+  sha512.run = "73a858f3fb7d9a98e828d4a0a03cee8c8d9f6657f641f4963c040c89d58297249fc0b6592b659322477f88146a1ce107032d387c29cc73661feb00365ca6553a";
+  sha512.doc = "1eb560459c624426954e2da487f07da6b23144cdef3d0e03ac63eadf297233cb73d803c3b9deec6e90a324c251fcea347c34077e8972cfa5faa69784629b8928";
+  sha512.source = "5a35e4f685063e04b7bd1a5f859ee03e55112f121c766ced0d4fa633d2cfd9cac7932b5b5a77d86e949e27e52236e2007cd680a298835ca50889bd1a48b47ea0";
   hasRunfiles = true;
-  version = "1.2a";
+  version = "1.2b";
 };
 "pdfpagediff" = {
   revision = 37946;
@@ -26146,11 +27008,11 @@ tl: { # no indentation
   version = "1.6.3";
 };
 "pdfxup" = {
-  revision = 57166;
-  sha512.run = "c000299a0f21b6fbc60e23ac163c55414e939f5542006a1508e8f5e143fb64cd40b8b57e986c07d99e4bec8e9f1d0d325955b4d34af08ba73a58f77c1a0d442a";
-  sha512.doc = "9ffaa67a311531694f67a88cf41266858ba1d92a6d390fec2885a30a734922a48f4afe390eb6b3ea980c7ac79ff67f0d393927f7bdf3ad0bd3d30e64fd098d96";
+  revision = 59001;
+  sha512.run = "f5b7623c1ecd132bb3646af5953245bc7378901bd5ded2e910487770cd79bb3d248cad426aafd18dd12a28bdd46be0f89b81dc95959f06688fb6a7a8f96dd11b";
+  sha512.doc = "23db38fd8ebbd04bf6fed3b2814360cb6d0b736db1540d0298e9ab6edd449894c420078adae11d97998fa1fceb8e7083adacc0048337afbf4b6fbb253c8ed21f";
   hasRunfiles = true;
-  version = "2.00";
+  version = "2.10";
 };
 "pecha" = {
   revision = 15878;
@@ -26161,11 +27023,19 @@ tl: { # no indentation
   version = "0.1";
 };
 "pedigree-perl" = {
-  revision = 31990;
-  sha512.run = "9adc918e1156b2a14bc144b96b5d3fe2b1272a5c9924e30c67236c564c1a065f06ea075249df21f19ce13b9cc03a885402e120d6b8f40f912d8c6ef4b98fc1f3";
-  sha512.doc = "1e645090b3cb78b95bfed3398923c6e4cd39637238e7849bb1d05623307f82115fca87ceb6bac2aa89beb68371d7acd438099675ca33295839e413905b4ae150";
+  revision = 60686;
+  sha512.run = "fa15cc124e998dc3efa01cd7bcec249321b04c574472b413e2363a6655ed3788eee9b3fd93d050594eeca322ce93d8454cdc658410e73733eeb0c65ad47b89b1";
+  sha512.doc = "82279fd5b11ca0687e2d6ecbbbc9a2a4a65de790a03dbd97c611ff4a4e45dff569d53602f777c54ed1bad340c3a116500e26ea0f70d48ba68ffde4fa1ec4a8f7";
+  sha512.source = "39629590e7b55fe172acc24d5cb90501855e575199955582da2945fcdc10256ccc7ef4590c1729a67a504aff14ca244bc65053a51db353fa2b2b6c7c955ece45";
+  hasRunfiles = true;
+  version = "2.0";
+};
+"penlight" = {
+  revision = 61326;
+  stripPrefix = 0;
+  sha512.run = "d6f1e6d6d3e8ca2fc38905f5c8af74fef1a02b83dab7fcf00dd12802d062a2e0e74307e96ec53f226ad0ea10bdb1efda0638d1af0c6ac43a991a7bad27c97fc6";
+  sha512.doc = "78817dadc25de4b7ba7e065a8bf5080747d041de530d0090073b14c4acffc4edb7bf2f2196a0f4935dcf6219d7f846f395b99d5bb980ed1df5dce0672bb648d3";
   hasRunfiles = true;
-  version = "1.0";
 };
 "penrose" = {
   revision = 57508;
@@ -26237,8 +27107,16 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "r36";
 };
+"pfdicons" = {
+  revision = 60089;
+  stripPrefix = 0;
+  sha512.run = "cd09de584483a1493648e9f842b743c43d7712b35f9d315ab34871a964b6ea7e8bcb0ff4b8d4399f5ce7d5ebadf41c94e8b88772b15155d4c21e17e4c62ecd2d";
+  sha512.doc = "cb9f0ae2a1b7a3c8cbb12f859c9cd9d33e447652ceacec2642e45c7db7a96ec6cfb9bf63ac8f711c1661557308ebc3c6c04604412d09cf16d232e23c805e395c";
+  hasRunfiles = true;
+  version = "1.0a";
+};
 "pgf" = {
-  revision = 57240;
+  revision = 59210;
   stripPrefix = 0;
   deps."atveryend" = tl."atveryend";
   deps."fp" = tl."fp";
@@ -26246,11 +27124,11 @@ tl: { # no indentation
   deps."ms" = tl."ms";
   deps."pdftexcmds" = tl."pdftexcmds";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "da45fe7a5b4e9aacf39c64da1596a30ceffc8751ceb6543b20f6d3f2134da75eff7684a72ce15fee9d1e4404efcf98d9fd3354d9c178caa3881a735be87c9073";
-  sha512.doc = "697cc2e2503f3d71cd751530e1e9d8c9ada584690b212f03b7a15808b9f973de532dbbc144ef924b4e806d849cabe2850d1ae802c51b073d84e567349c29fb90";
-  sha512.source = "2fc269eea7ef0c9ee04e15961494f4efa6c12a03a6c0a269a400d031fe154796c67ad96e22efc4ae077a87c38802471b4e0add5e1187249a2b939f8e8fe13d77";
+  sha512.run = "c02a5b4a0f3aab13d39166c30bd456603de012ce6089662ab0b7c091ac906eb5c1719543246db97ac49cc109ad05c1b1d59330a64a43f82689cddcc86a465d06";
+  sha512.doc = "360aaf8f3a2b2f531c9f24c777fdc687bae4a40b2d03f99f081765690a94711f63902abc3e9a602fc2d2d5bf93d3611cf40e7082fab7176fc0fba07876485238";
+  sha512.source = "f2779d8172a81882263bd1ff7ec17766fe1273cb824e7fdf695704dfb4575ff0aa3a77ca264e4c57e4c4cb232bfc87782532dcdb69de00eeb1ea3cc23392bb7f";
   hasRunfiles = true;
-  version = "3.1.8b";
+  version = "3.1.9a";
 };
 "pgf-blur" = {
   revision = 54512;
@@ -26271,15 +27149,15 @@ tl: { # no indentation
   version = "1.2";
 };
 "pgf-pie" = {
-  revision = 55342;
+  revision = 60115;
   stripPrefix = 0;
   deps."carlisle" = tl."carlisle";
   deps."latex" = tl."latex";
   deps."pgf" = tl."pgf";
-  sha512.run = "b187fcb3e38b7538b1f0f52b94590198310e5518862c8ed6e0c5a01f66328e15f3a425eab827bef4a045ea7f7e822bca4f213ed5a5bf25c429f00cf0939bad88";
-  sha512.doc = "9828ccd5976095450852f2b63dc3937ea24a1a80e4617d9ff183ac80ebe69913ce8cea13a90621e352762e904f338455412148c0fc4159747dc13cae3b2d828a";
+  sha512.run = "e6ba22a3cb4b053cfd77c190abf82f71feb47fd172701b91db1590ceab6fbf926ece08af960426ea1d523237468c40d1d0c8518938d1de9461750ed2e3b207c3";
+  sha512.doc = "f9b14bf6474c035810c91d7e39932a5a35d011ade63cf1c65699a3466ec0878aefafdf17d51a16242fbfa0731ae8013d86e625904a7f14cc2ecf7e0af8409d04";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.6";
 };
 "pgf-soroban" = {
   revision = 32269;
@@ -26290,12 +27168,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "pgf-spectra" = {
-  revision = 58467;
+  revision = 59827;
   stripPrefix = 0;
-  sha512.run = "4f1b4a80df4243ab07e52795573a7e3f8e151353042a0a360b01d9b46f44077ce5d71342f187355e74c3bc23bad3984c4d0aae9a970a28ab014d403cfdbf46f9";
-  sha512.doc = "e7710b4c68ed835f7d2ebf16db0c9a1405ad8b3a2824aa4aefeb118795eab12ee6b22e0b764e815b6aea8c37d06d2fe51af472adeea6f587717a1b4831667007";
+  sha512.run = "b706196e5f4e3a17f1a7ed4c6d28774475da146a9fdea9896ffd668cdf102e32715c3d5163524181735a39e941cf9ca3252d2acba6a926f90fe06ef2db2f4b48";
+  sha512.doc = "bbf129ca41d040a9c044f533f948c2e9a750f4a3de3366dd30bec525b3f87f5f185da596952bd92a13f116cf94edec61683236145644fb91033a9c32e26eff0e";
   hasRunfiles = true;
-  version = "2.0.0";
+  version = "2.1.2";
 };
 "pgf-umlcd" = {
   revision = 55342;
@@ -26335,6 +27213,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.0.1";
 };
+"pgfmath-xfp" = {
+  revision = 59268;
+  stripPrefix = 0;
+  sha512.run = "c82fdb2b540dc37393610199581416b4256d9cf382da4238625b9ae29f6d7ea6150925c6837ae1f4b55fa10239f8563fb8abd042d5533080de7283246ee69ed5";
+  sha512.doc = "f48114bf89d4d5aeca399c44bf6a6fb26567d7692de319e7d457d3b753df8e302871e9901d98bf8697680125fb8fad56ac8675dd339bc420b439aaa4cc93dbb0";
+  sha512.source = "18571bdab8756f25c357ceab0cd82f242007c22ae0b6b5cec17ece221137607a6d245ece8dd90c427d0eceda63749f0d75e77c2974e9dfa8509a1bd34768b5c7";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "pgfmolbio" = {
   revision = 35152;
   stripPrefix = 0;
@@ -26378,14 +27265,14 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "pgfplots" = {
-  revision = 54080;
+  revision = 59243;
   stripPrefix = 0;
   deps."pgf" = tl."pgf";
-  sha512.run = "65364a44b5950ece4c6b6797b149a147dce134f89e2d9402d9a42e656c4a1170c23cc66c8357599addb8283617061850247d9d679fa2ebdd2ffa90b311492b6c";
-  sha512.doc = "65a01a28b2e9e14f5277f3a6c91fcd1dbcd255bffa7feeb15132aa24013fd59fe5f5feb6b7a2521328ca2060c7eb8d2eb70b1433f32452b2f661c5ee7142f336";
-  sha512.source = "26eec6b3828e218f34a92b1afd8d457c67340289b85678baf7bb6daf5b9e82db44aae87a2020c41f8abe0f4b515b9c177e2a970c8821b0396164e3d11e62366f";
+  sha512.run = "8f4661e193d6b2d9a5e3f488ff7f35849fe559fe4587b5050ac67256aa4b93e24c79948e8f8757eb901e6b531fffffd6597049b1e457d79db36d5043f00e10e5";
+  sha512.doc = "998246b7c5415e910ff168ffea064aed80957a9f29b09875f8871c9f04d2a52c50a33f7f3cd490a1195c5566ce310330cfba0a5bb7155eb14b944e05e9d1557c";
+  sha512.source = "0ff864f02131b1f46cd03cc01c9c25e841542c42e87599b7652866d8f0e73be9b836e70784f7b77716745a6dc752c7ab9fcf4837a454583e09a6b53a845ce6ea";
   hasRunfiles = true;
-  version = "1.17";
+  version = "1.18.1";
 };
 "phaistos" = {
   revision = 18651;
@@ -26396,6 +27283,24 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"phfcc" = {
+  revision = 60731;
+  stripPrefix = 0;
+  sha512.run = "1d1f6387db333cee296545663bc4e2026fecd0f381cf4e45b42c8b297a4ae9bccfaa8e9791f92cf59bccc428b3f63b944d9173660c3606f1f49ef1878caf2181";
+  sha512.doc = "ac10825535fbf1e5173d5d209c26d665a128473c3100e349a63ccd921534c9645ce3c7b7391aac56de70f23657db8e1496f6afc0b2d112a45f3ae84d87220498";
+  sha512.source = "31c59c51bb48a722e4962986bef69619ca1ffd80bc25ee1308cef80e78246811ee169ca6a0c9ea5e257626e55fb04bfe40bb1ec53d09c81b2fe636e6ce215a37";
+  hasRunfiles = true;
+  version = "2.0";
+};
+"phfextendedabstract" = {
+  revision = 60732;
+  stripPrefix = 0;
+  sha512.run = "0e1f0f232c7216d654a41ab750477a5a6efd1a2dcb15b2114eefe1ffcb582bd0512bc8592111904c550badef12a3927c5ee2af58548dab5015901165b35a8bd1";
+  sha512.doc = "aad67fc68996c032bca758b44eb65288f2245f780e9e4200888fb027b4638963e2f3b9c771a5ec78f8c65fd0c86c8b55b16d8cdad44fdcf9cc6622a766175e00";
+  sha512.source = "a5d3ae9a1bc6b8859e998bb3561a63e99d9a4f30da3e3c2dd918ba7f23a09362bd8f123e2bfbe2af4ff7f2204c969ad487ddf389fa04287eacf0abe9f251391e";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "phffullpagefigure" = {
   revision = 41857;
   stripPrefix = 0;
@@ -26406,13 +27311,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "phfnote" = {
-  revision = 41858;
+  revision = 60733;
   stripPrefix = 0;
-  sha512.run = "d542b73d1a25d0d141a37e3bf0a3d4753829efbcfed9745ea299a90026325f82624bb5d4a5075892af758d4a4613e1560824871e6bb784a8ce0030a7fb3f4836";
-  sha512.doc = "a62dc8166944e953b8efa49c7ab78b98744cb9948523f4decffee6a553a8e432ce2d9774575bbedce59e5dbd01e9bcc01d82962a19d3878a11367127a7927287";
-  sha512.source = "4f83603d837978304673550f1dba78a1aad030392323de2ae6bb0295ecf7fc5f8bd211a14f831b7f3710b13e999e73e3a8b224a5ac44ce67b2ea3faae5fc83c9";
+  sha512.run = "ddaea70a5bb3aecdf634b44dcf5f006db479a4d47e44e96f92bd390c2c0e166b741ea31a0f22ac39770ff0c92590a261c18fe5096bf97997743684a95a82da2b";
+  sha512.doc = "2dc4e7d3615d8f185bf1bcfeb5a90d51f362538691444355ad6820f8bdcfcd68f1dcc69486c0b630d1141db1b4bc10bd17abcfb93cf37b778266090f29ec946d";
+  sha512.source = "15c0614cf6bf41c94513475d0b65f7053970505fcaa3126550d283b8597c49e30b86e716d3b643fceeee2bae37f81a65d8f65859847bee6f0aa4e508102f6617";
   hasRunfiles = true;
-  version = "1.0";
+  version = "4.0";
 };
 "phfparen" = {
   revision = 41859;
@@ -26424,13 +27329,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "phfqit" = {
-  revision = 45084;
+  revision = 60734;
   stripPrefix = 0;
-  sha512.run = "250626ed9e7e33abf0d19c32213236b02849db849f080bee0ddc19370acb7e2e66c838dc1149f8c1194d2534c1e073fc2971fe3687174978bdabc90efc4b7752";
-  sha512.doc = "0acdb07c2484e2e5694690536eca084ffebee0f549ead32b3557e368ed85d7a7785c297cc639cee2cf4b41f64f7c2df806b6b27d4ae89769b0b8d99d2127f885";
-  sha512.source = "f189ad485482da9e1802b1b2c96120a244a14f7e7e39a1759d7484ad236945f98b8330464223ad63127d9960eb4f10f04145f5eefef25f02775c009184ca4b9d";
+  sha512.run = "604093594d05e5f331d27bf5b0d6c40b631934a2872841f2534f69279542a6bd26ad758712b9b24c5490c4e9396ac147f46a9d0790cd29f56c0d2b13d876bd56";
+  sha512.doc = "738e5f61c0318f331ea2a7f1e0d5d019969636917fcc18ca19a72ed42b1207f4025c58ea886c4758b64c61cb33faf8ae5b4d5f2f7a55a9ce9758b9fec00508ac";
+  sha512.source = "0d0ce4d75bb6d73e24a47c8d66ac0b72a0cfe273a6daa4af1fd3a89f853c3c5c1f856d749321fc9ef79b0e0a9c27465045a48202536b73270971deb2d4cc7a30";
   hasRunfiles = true;
-  version = "2.0";
+  version = "4.1";
 };
 "phfquotetext" = {
   revision = 41869;
@@ -26451,13 +27356,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "phfthm" = {
-  revision = 41871;
+  revision = 60735;
   stripPrefix = 0;
-  sha512.run = "c6aeab1fef49a56a7ab080945199a4f68186b53bd7fd00e4c3d3babcd3f63f998748635edded858d5904b8dc7604007753bec12fdc8ff6a7656cf1ef26c0ca9e";
-  sha512.doc = "c2439e7a3e7f1b0730b8fc48f933b9754777e7750a58ee6a5985ac458689c2df96d9e74d09c5ade2b0b8dac49e0be43ca60a0769dedc662e151e1dac5bb18cf0";
-  sha512.source = "b189f0320e5b8d1ecbb1bb34972b845d776190ada4ab76e44ade41e21d8f7eb0bfb6bd55a4352aad4d0c2455730b7803384eece70d2030faf9279aef0f70f540";
+  sha512.run = "2a608898b9038cc46e4720423a42f403abcd105700e20e90274ca6e01ed3c4428a443466d0e32b0cf0da9735c0b7ea74b82e90a3d0b72583d38fa5a14094f806";
+  sha512.doc = "bb0c2da2d17b0c3c3550569428fbdb5532d1fe79b325289d71f35659d749fb952bacfa6140210ebbbdc661dc445ae8add1be6cc79b77bf6346fadc70553bf189";
+  sha512.source = "7c234459aaa013a9d2d0c719791d99ad6db252e152a53f7111e6d9e04fed3c718efb4fedc85fd064825d40ef80fec2643d6310e582bf830486b8e43efa27c966";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.2";
 };
 "philex" = {
   revision = 36396;
@@ -26486,12 +27391,12 @@ tl: { # no indentation
   version = "1.5";
 };
 "phonenumbers" = {
-  revision = 51933;
+  revision = 60288;
   stripPrefix = 0;
-  sha512.run = "79f875543181adada6e60d57adbc225efef89440666aa179ce69eef0118c528bb603436cb7df5dba95c75f60bd57bbe321f169358e247842a42cafee14cffef9";
-  sha512.doc = "85a496e3ff30df0bb1a852e1e21cf0fd8434124f3ec1b460fbd3c0da05573a1ac85136d3caec4f4d59993d47ad82fc0f123afcbf272982bd614dd2e1f318394f";
+  sha512.run = "9a7f6dd040cafbdc388e5d2dcfb49fc394ff4b7d15889739e0ad3e3da088ba0d6543b68e95f9a420d77d5a1315423bcae7a68a2e1f18f425a1fe156ef26ef4e1";
+  sha512.doc = "e4b696978deae4059d8d85e6b21addeb1e84d83b82a87babc68d111a6e0601df305dc69e435546da70a64387c64a4c5928e56e16ea9a3af6eb3c7952330fc7ed";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "phonetic" = {
   revision = 56468;
@@ -26568,12 +27473,12 @@ tl: { # no indentation
   version = "0.4b";
 };
 "pictex" = {
-  revision = 21943;
+  revision = 59551;
   stripPrefix = 0;
-  sha512.run = "ed91f0518668007aab7b9222dd08c7f489caaf084ef915f88d435128012b2b4eb9ba610168154f07bd0d084a34909cefb1dc0c1cfb2186982b4f08f9f6412f7a";
-  sha512.doc = "61ed0f632d7f12fca4631b13714994b2cee8e05176262dd8cab672d4f8f7e65a36e0d927e3b803991818d9d2976d5794d48a46ebbbaf8bc8aad99aadec7d3fcb";
+  sha512.run = "cca6216568bead5120ef39eb2743897ad97d285b55e7d9b0723b3f6c7fa94ab17cb8cecb946845aefc57eae3c69305de6d839feb9df8212be83d2c7f242c2fd4";
+  sha512.doc = "e5bdad8dfdeaf3e3427d37b35641f37c8bb8005aea3773a914967a10b2583e1721fe0afeea0b8cb7f230edfa7b7d33c2d6fe023c229de4a27d6c979f6830088a";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.1b";
 };
 "pictex2" = {
   revision = 15878;
@@ -26683,12 +27588,12 @@ tl: { # no indentation
   version = "0.7.0";
 };
 "pkuthss" = {
-  revision = 58729;
+  revision = 60778;
   stripPrefix = 0;
-  sha512.run = "34f4fce7ef86327be8353d8a5634c8498007a8b30ee847b01a577610bf1d1a31f862bdd3888888a022563333e275f74f686efdea5ae8d7fe82f99e6d8e71f212";
-  sha512.doc = "ee343be7e84257bafd28ed10de0e5724c19c832a170ab8b176a0681da3bd108ba2f914e214e1c7045ffcdb981e72b3ba08c736c6486ad756af736e48e13738d0";
+  sha512.run = "0b897615b001db27b81a239671665b230c5ac8fa59ba5b9cba0dec3742e80dbfb243a99d8b6f39414a48ffa1aa49f0ed41c1a232c47b11325ad1413983ff7bdc";
+  sha512.doc = "0871f08b3807a522944383ab584bb36a2cfbcb74db39d7c06ae1152253d32204649d9c51d9966a7eb473ba37684b2b4642be964701a73c519ef05a1a78fe55a9";
   hasRunfiles = true;
-  version = "1.9.0";
+  version = "1.9.1";
 };
 "pl" = {
   revision = 58661;
@@ -26783,7 +27688,7 @@ tl: { # no indentation
   version = "0.1";
 };
 "platex" = {
-  revision = 57972;
+  revision = 61273;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -26796,22 +27701,23 @@ tl: { # no indentation
   deps."l3packages" = tl."l3packages";
   deps."latex" = tl."latex";
   deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-firstaid-dev" = tl."latex-firstaid-dev";
   deps."latex-fonts" = tl."latex-fonts";
   deps."ptex" = tl."ptex";
   deps."ptex-fonts" = tl."ptex-fonts";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "787554d26ec4acb3811efbe96349a51b517e5b3b4677754d94dfe1d0ce61088d016f21995e5e9f49e1ace76a1e1f2c057c126981a9e340a9e047597f637aae3e";
-  sha512.doc = "f0085548bc20f0389d475a9abf294a8713d36184aef1c65e12d5a7621a4f60e26cf8b63f6a1d558afe964f633455fffd9f492e749938c290b91c10e02c6cb4d7";
-  sha512.source = "50afb0b5a1b766f89d7f3dda64b74f080a06d25d66618a4466018209fe4e3245f8deb274b22e30b45fac0a8a9f903ae70ec0301bfb72a394ebc3759e065205fd";
+  sha512.run = "bda130dcd16365c2a280f9ebcefab940d50de17ef18088076943e70df147e7fa38cd9cf45025c84e7e0d5fa5846a539cc9c7cd5667fbc88a82f41676284f345e";
+  sha512.doc = "4b2104e4e19b515bc96aa38a1dd085f29666b3a5aa38005ba35e4e4b94d538475277445241583d326b31ffcc2caa8db16c91f9143d8d247c403118323347ac51";
+  sha512.source = "2227e6000b83e889904aca03099e96111be2d0fb054a666688a5908a40ee7f71ec318956cdeb5be88edd9d2d507c3db8dbb27906bd7bc6e6a371caa9e151625a";
   hasRunfiles = true;
 };
 "platex-tools" = {
-  revision = 57729;
+  revision = 61272;
   stripPrefix = 0;
-  sha512.run = "5e5352dd6813ed5f90d1f9f1efd4e4f8bc53e6b6f0a932f2d8d5715cfa0f7b6df96320381daff0728e64f4df5239aebf65c2fd7796310d080ed857875732e7d9";
-  sha512.doc = "0834655e25b8684ad5e51dca1e128a07da38ce9b012205063feb7a54aec2412d706cb4560a445cc80734493c84b54d86b912bf659a72baa642f26174e0063875";
+  sha512.run = "95e04f312f5cd98a6cb06225a81f1538f14f1701a490b8a437a04016714d56e6d208eef2cdb768f539ae2b867f724d78853701831cb9f396d69b9281dc4140c9";
+  sha512.doc = "77476461eebb930f3e9227eea9f277fdb50486e7b4d9e4a9d424714e2d902044607466e0d7e4c839abb245f7b17e020a1719ec5f085f1858f046033142cc8403";
   hasRunfiles = true;
 };
 "platexcheat" = {
@@ -26822,12 +27728,12 @@ tl: { # no indentation
   version = "3.1";
 };
 "plautopatch" = {
-  revision = 57731;
+  revision = 61240;
   stripPrefix = 0;
-  sha512.run = "df8d83e2c12167d32d114c61737bd4b834ddd3f9851c238ce1b07c1aff3469ab2bbd7eb6b90047b75ff36a26ed4ba53c97782dd7462bd559615075cd38517c0e";
-  sha512.doc = "afd9185a9bc5a7f403b24bc948da9ac6939efb0ccf2c9063950297183c3dd1db08de43ff98824e66b0c497a2fafc3689678dffafc67ef92bf035a1a0a2066a4f";
+  sha512.run = "7a617df2c19ca483818ad3bfa8421a070d8e9a3a3fbcf91cb686b928194f5adf586d468ec5329e28bd2cdf48947c899f52afbb6f85a552781b80cc6d64b27a05";
+  sha512.doc = "f5948db03cdbe43e654ab11c8f1e913a2595b63c0c1bf32025e7f7adeb7b8dd9b148990034f0b4828ed012c24f6955009b1c423549494d6953932527be47fede";
   hasRunfiles = true;
-  version = "0.9n";
+  version = "0.9q";
 };
 "play" = {
   revision = 15878;
@@ -26902,13 +27808,13 @@ tl: { # no indentation
   version = "3.0";
 };
 "pm-isomath" = {
-  revision = 56868;
+  revision = 60368;
   stripPrefix = 0;
-  sha512.run = "095ed443c74eb0693331a6ca3c736f61ed5c34314e207cd379e26e523507f48c160671136b36dcbcb287bc1165da8223048e18261a4312ef07c129b79ad57ecf";
-  sha512.doc = "7c5ee2ad9ee1cfcb8e6766de6a0aca29524dade913bd32e54fee1f5645934fb9840764b98542ed31bb94560f6589c5a074c2b3dadd59b7f20515fbc47c8ad981";
-  sha512.source = "3f69521a43a3fe5821904adc9c15d7dcb993b1bc8f86c2ea7ff5729945b45af955c47a89e54b031b596d47fc83bf983b6eb18f15e5b1ef3a97786b2e5b80975d";
+  sha512.run = "89e11156c2a4b7d05fc3404b4badcbac94ed190db4c215e573c84cdbc8fd46c5775b19272e423df1806e8a38d61d8c071aca7d38380637c79f06c411a05ee468";
+  sha512.doc = "92366bb3963f1615de3cba205345d5d799fac04bf4935574868be140109756fe9a9a2d7cf7a685918018919ae2350e9ff717cd898fc0404205f21d56a359ebd0";
+  sha512.source = "fac0256323bf26f55e5908c718b8622f4996b2b792ec3770b1db4a31d91ccba84a8e21e839710e1d6305448044c5140fc38a4eab06954783e428dd94008d2fc4";
   hasRunfiles = true;
-  version = "1.0.07";
+  version = "1.2.00";
 };
 "pmboxdraw" = {
   revision = 53046;
@@ -26928,12 +27834,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "pmhanguljamo" = {
-  revision = 54378;
+  revision = 61183;
   stripPrefix = 0;
-  sha512.run = "a4b16b981ff495212daac434123e0ab8d91ac862acf78f92ecab20c793bfc60e1b0e159113c9a5dc15fe06653531c1ac4a4de6208512baf089c299dc7dc75642";
-  sha512.doc = "7188c7bd104bb507866c5b793a3da3ed640416847a032b6c2df8eb94a47ec2ff17d11d3494b2f2755c2ce3b01a12c12a2d6abd374c887c2f7418a6fb8c93aa0c";
+  sha512.run = "95f9ff1aab6254fe9362d847c4297d9bcad59c15fd59a809c2304e672dd204c0af8c02fc1519f342cfa3160d0afbac962b9d88be7a3ec54a08e6258d5131f688";
+  sha512.doc = "2c0cb2a787c73f88e87ce37d1d3237a3f3dc57bbb6d37473d00180927f644a6fabd1a3982fa61f46b1e3161a4f5eaea8086a21834f85d82e3c93615b31ed01eb";
   hasRunfiles = true;
-  version = "0.3.4";
+  version = "0.4";
 };
 "pmx" = {
   revision = 57672;
@@ -26984,30 +27890,30 @@ tl: { # no indentation
   version = "3.0.1";
 };
 "poiretone" = {
-  revision = 56070;
+  revision = 59125;
   stripPrefix = 0;
-  sha512.run = "5eab5174f3f31374fa5095946555ca7389ccc4675e479324f03f1c33e07981d2731a86b516c5cde41a9e97a2e5751c4a5ebd58db4a1f76829a6638d8393e6d47";
-  sha512.doc = "07dfd772739d214646d6779311f4e3c4c71359303eb8fbf53ca40b9df628c3205fe16889b93476e3eb74d2786559ab75a66916067ec974b3349f89267d1ff435";
+  sha512.run = "535ebe641bc1534c7e711286711bd005660d26ca524646e9d9b198c673e5166e567a5dbaddca178d5d6ef70acca221f043eb169000c6fb20ae39c537f0b91f5f";
+  sha512.doc = "4739832d32d02a9e09a15dea1d0f18b8597f36bf9e7f777d3dd7c6862fceb35109552fe6a66d9c65959db04385adc59ef6db73abb87b8002653b9bb88fb88513";
   hasRunfiles = true;
 };
 "polexpr" = {
-  revision = 53633;
+  revision = 61191;
   stripPrefix = 0;
-  sha512.run = "562fbb09aa3eddf5e25d8617eb4d8332eecb20c0b5ea386762de4277ee15e47dd13243be978146b60b147bc30a167e5a00a6970ee0dc74710f13640ddb4da6fa";
-  sha512.doc = "7cd3af9fa8d281b780cbcde915cbb241efe8d2398dbc7ea9e1aaf467b9de58325834faf9f9bb7ea7b9f5f5192ff4016f4dffe7d58801860ebe1735dec7ecd6f5";
+  sha512.run = "0e699457e9e8b27a1845ad75227271095e03b0b331b74122da868c3b33932a511ac59d89ccf4ab228aa16f8486ef1559ac2c75bb181f4275c1fb25229f701b43";
+  sha512.doc = "37de69478cc78e4ee75c896d7bbc41cfceda6e012c0ecd8d57912e0c73373dcbbfbb97b795c86966edec7d03f9dc3e1005a41dddc7504137e2e4e5323e10e80f";
   hasRunfiles = true;
-  version = "0.7.5";
+  version = "0.8.5";
 };
 "polski" = {
-  revision = 44213;
+  revision = 60322;
   stripPrefix = 0;
   deps."hyphen-polish" = tl."hyphen-polish";
   deps."pl" = tl."pl";
-  sha512.run = "8d4c05dae9e5cf8ab36bdba5be8b0748d5d283a6a77c7fa18821ab3a20fe5935f302a8ce9b1a1314ef128a20c1011018ba7bd04d34466d017e16fd9bd087e108";
-  sha512.doc = "a619719518e3d9814907d33756c4a3f2494c3a94b0a717e6f848e31177622bad6ba2cf595a23ff2efb65ea04b70b267aa87cd87caa56c91bab7b36bef82cd2dd";
-  sha512.source = "fe630f5992e79ad211ac4537cb1fc8b40154c2b43f34fb15594e662909077eb0a58f2be41aa05ad647a45d2d00c8af82ecce2afc5eec46c941d1060f2728a4be";
+  sha512.run = "24bdb98990f66e89085056e6ad3e0930dd16d0f4bbd07a2c9a49931796e143505276d2025fee21b2b52d927c3b2992d31f4edae4668cdb549f6f00ef43dc1c69";
+  sha512.doc = "755e7625d5ee1e4457e7ee518469d585c9c1e566c57bf147c62195555ae91dadb68f469127cb18a7c30cda1468129db09cb09b1974f5273d41c9491a6e1d5ffc";
+  sha512.source = "8e216956a95df02134cf411d170a75309c3f167a5bf7d78f77c4e47950c8a5da52e523e367f5ce60492fc0ab7cb205e9b57835b883225752731ca094d7c507b8";
   hasRunfiles = true;
-  version = "1.3.4";
+  version = "1.3.6";
 };
 "poltawski" = {
   revision = 20075;
@@ -27018,7 +27924,7 @@ tl: { # no indentation
   version = "1.101";
 };
 "polyglossia" = {
-  revision = 58444;
+  revision = 58869;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."filehook" = tl."filehook";
@@ -27026,11 +27932,11 @@ tl: { # no indentation
   deps."iftex" = tl."iftex";
   deps."makecmds" = tl."makecmds";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "30f5fef2ba34bc8b22e5a5f933f4566e1e28ab0a161bcf01f7a0143dc906e6f46b71f0fa379f42ce057128f69536d5b6e7987fe2fc9f36ab48b64036f5ee4b8e";
-  sha512.doc = "4a5f24de1d1f9abd64db06d0df75752d44ff8b3d0bc476b50fda71be41bea07eef678d5c37334188b1989228e75ed1cdd7ff17a9b302b8b8a65130a4576d7e72";
-  sha512.source = "342227a34b54cada465436a7866940473452039a8b1c12fb97254d01ab12ca9ac373398d74188dea00d396f8ec117a369791930d185d505337bb815afc7db39e";
+  sha512.run = "cc76a010e93e9aafbc74d4894b1cb44cd8a569eff1f42b1017d49a0f86fdf577334e8100e2ce8be68c5bf430b6895f80513adee5aacced508244e1f5d5e5f0f5";
+  sha512.doc = "64147a6df9eb9f12f0c74792f3b7e0d9c465354a3966d7b1279aa64432021d37d1bbbfc2a310c1a27fef92723ba5803bdcb25995ce930e134553383c3b766904";
+  sha512.source = "1f534fe32af11b3b83a7814c5615c046869c66e3af0781cef6730dfefecaae093e08eb53c73ac2a417d34aeed0f4a9f8dfde5debbb552ecba1ae00359c172de6";
   hasRunfiles = true;
-  version = "1.52";
+  version = "1.53";
 };
 "polynom" = {
   revision = 44832;
@@ -27060,10 +27966,10 @@ tl: { # no indentation
   version = "0.8.6";
 };
 "poormanlog" = {
-  revision = 52080;
+  revision = 58966;
   stripPrefix = 0;
-  sha512.run = "39524ae2c1cfec8aeb09afa4c195dc2d4cd9445483dac4a99a6669e66fd0b236b99831b9212931930b7f821891f421fa85c363015996c2b5be35be8a82ff993a";
-  sha512.doc = "3d624c5f870f4fdd8fd3df91ca6f80471223f00ce7407eaae6d0e98ba2da26f497bc149cc1beeedf5afbd0353e3f7fc9667ba3e4336262d3e7a9877981866a20";
+  sha512.run = "a1d252b99f78e6cf0c11310079b392a7a557fdc78233bc870859dc8325bc7c1a50655b52cae052e4edbd2e2b333b409f0929d696b93cd8015c66f14ddafa36fe";
+  sha512.doc = "6ae369601d824ca7f62c10327415c48cac9e58ff495238ddb2f00f71920df1b5f3a0c948c2a5eaf418f688f10e547c945d5fd726ab93eb5c106848c3355c8cb3";
   hasRunfiles = true;
   version = "0.05";
 };
@@ -27092,13 +27998,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "powerdot" = {
-  revision = 58730;
+  revision = 59272;
   stripPrefix = 0;
-  sha512.run = "040d634225ba154fb76145815b923ef9e266a48bc41f245098b70634d6d8fe7890e65a943c44a694d889252de3f66ea49bdb7d56ad7c8ec0e1ac563469138f97";
-  sha512.doc = "8b3076cfd45d3c6774e0061b54d63bf89245b16ae704b0c7541ef61b62e0b4972d28b31493fd8e4c167cf87388d87b74ca5b8335b106a310cc78a4c8175330bb";
-  sha512.source = "e1882bf2cedb5a4146cfcdab5a89618a986c5dab64ccc4953c90157060907c18429b834e2b4dd0cdd38969c30697a354f024bd6e2c4dda88a40acd664350ac2d";
+  sha512.run = "c8ab1d65e2ac0695cac0e8a0a683fe712ba51e8aa028316901e1ab6e31b0be68348066fcf290b03321c0bacbf5c0b16265b28022ef38137a3d89bd25aac58dd7";
+  sha512.doc = "99e602f4f96d6b805a8cb255d72f49c62e75543df2348471e31952a2588125724dfac07cd82865e9559220ef98a7b8847ab9ebd1ab803d5e155804f3669abe3b";
+  sha512.source = "cc32d07b304d6214fca1244823154290c68131111c2144592fb1b4134c59dcd0ab110542bcb64e7462c6959bff1bc9d1e2706bea66b0bed2abfde9c80255af4a";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.7";
 };
 "powerdot-fuberlin" = {
   revision = 52922;
@@ -27211,12 +28117,12 @@ tl: { # no indentation
   version = "1.6";
 };
 "principia" = {
-  revision = 57902;
+  revision = 58927;
   stripPrefix = 0;
-  sha512.run = "2e9857cf6eb9c7ae733ad781d3e50668ab76a940a26051a61ffc1d1c33ca020f3cd9c6fe3051b89ec9e28b1d2032239e34e782221ee1e65a9167abaf97b5e478";
-  sha512.doc = "b581402582c1d48300b0c6f59adcfb00e349381e5a646ce7cb4003a6ed9cec850c66458dc7c5057666bca79935743487854dd3d7619e5c24faaeb62a141f8f38";
+  sha512.run = "d56a9031a7bc81fa62f99bac5ca88b12570720a51823566cb61845c7c0b73232c9a8d94d453585be72b2c2fb5565c7bb257a7d0533fc17e956b976977dec3b56";
+  sha512.doc = "c5325b70a14725c9cb0d2368b0b6018375c91ea5be663731d4c016d945aef001f277fbdc0938f3c457e7328f64187bf70d79bfb37a1631f742b14d53a6ac4682";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "printlen" = {
   revision = 19847;
@@ -27267,12 +28173,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "profcollege" = {
-  revision = 58710;
+  revision = 60999;
   stripPrefix = 0;
-  sha512.run = "f9929b2fc8194df27deeba118cfe1c922c42c602df949999154fa5aa37251c6f5dbeef46f25fa9816a97aa2ad37f4dfae52427bd3381e5a2abb63f6cde49f8e6";
-  sha512.doc = "fe78de237160707ac036812730a6460a3a63343a5d11df45e1c793a15d8316886f8565160a8fd0db9b7c10fbd519acaf182a7dbb7323f88d1d4f9df292341cd6";
+  sha512.run = "47fa6b0691d64f2396799dcb2eee0a9fda4bbaa32a0cac8bb149ede2c25c6d8957bca229c334c82b6f36332ada04c8cbf2d96ae50733fd3cb4d1cabb36e6c167";
+  sha512.doc = "e85d86712f18ff279467787faa7a7c336a4d5de40b476b5d225f40cad11b1083c0bc37c7ca2700ab3c0ef4c6c3c83a329dd82274748cb25bbdaf7c9271e806a5";
   hasRunfiles = true;
-  version = "0.98";
+  version = "0.99-i";
 };
 "program" = {
   revision = 44214;
@@ -27298,6 +28204,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0b-4";
 };
+"projlib" = {
+  revision = 61338;
+  stripPrefix = 0;
+  sha512.run = "24db5449be1b233520950d78ae0db7d31fc02e18e6bde757d8f90d7b92b3df7b425fd0a8e34d7a3d834fbaabaed2eb7d3826738cd4ea1c34d015f994c3e785fc";
+  sha512.doc = "237e6a2237a824bc83ea9761f65bce4c4da0ad749aef6c90363dc90438f22aa3795ba8a6c5ca1cb2b83ab35f992a7fbd999b32f7540996a62255c2084013dddf";
+  sha512.source = "fb35ee3d6b0a8390340ff4de3d4a052c9ceb203af6e8380818c50ed58289297b257a45eed8fe8132724eff242be3188a60a70a59aee3c8d6653f0b1d1f6ea69d";
+  hasRunfiles = true;
+};
 "proof-at-the-end" = {
   revision = 51194;
   stripPrefix = 0;
@@ -27500,12 +28414,12 @@ tl: { # no indentation
   version = "1.10";
 };
 "pst-3dplot" = {
-  revision = 56758;
+  revision = 60619;
   stripPrefix = 0;
-  sha512.run = "6b12d6273f5025b4afbb1adac35e73f60a1ca6430b24c40c145af1a50e35150a34cc70ff14e9904caff34be6955146f358f4231785aa8b7ff662978a846857f2";
-  sha512.doc = "615081d1b54074e8cff1dfc9eadee490526fa22673204fe8f37554474cf89688507989c8701e3633275558165fe91e6684624ebcb0c2b2983cb38c5a2d55d014";
+  sha512.run = "f20bc26a1a346b9b1c33238cb25209a9f573cddbf86b8b58ae185e5a2eb33f03fab122b8b1490563f5da3b525a0c5f7b04c6183ffb099543b56aa6fbf3e1c264";
+  sha512.doc = "4c4b1f1cffe7b3a2144eee8534352083ce1a91637ecc8de717a3b033fad130e22e135ab2b8881467bdf2706eb76122d858ea9c36f84b81da5613ae44e47f4b7a";
   hasRunfiles = true;
-  version = "2.06";
+  version = "2.07";
 };
 "pst-abspos" = {
   revision = 15878;
@@ -27534,12 +28448,12 @@ tl: { # no indentation
   version = "0.02";
 };
 "pst-arrow" = {
-  revision = 41980;
+  revision = 61069;
   stripPrefix = 0;
-  sha512.run = "3400d901f40b9dc3434f107dda5480e0f8e37548b2ea0bfad5a38ff90e1d99aafd43d44d6cb6c0594b0574f781d94ad57e53074d28b10251f6ab8100f2814354";
-  sha512.doc = "bf97ebd12c09ba4ec3dfad4107141054abc9f04b1e1408017ec038b656bc04ccf09894c5f15a8a0344f358f2e43acdcb7509cc7e0ce686303a62bf175de7a3c7";
+  sha512.run = "3e928de0ec8f1c9dd80143e35e3dcc9d51ff106fa12193798f5d2a77f49b3049f042273102b3dfd1460de68814ab32a3aa4eeb14daad846d729e7f6ddcdaa5fc";
+  sha512.doc = "19878f237410d2db75096be382efef2ab1c5d169b4bf48b393956bf13a697d2c96b0da528c1044ee9b36ca8231ba4ad2b478bee24402033ebbcdf2778e4128a4";
   hasRunfiles = true;
-  version = "0.01";
+  version = "0.05";
 };
 "pst-asr" = {
   revision = 22138;
@@ -27600,28 +28514,28 @@ tl: { # no indentation
   version = "0.02";
 };
 "pst-calendar" = {
-  revision = 15878;
+  revision = 60480;
   stripPrefix = 0;
-  sha512.run = "541e353dcb33239f2230cd220bf7918051cbeb3bf8386bb9da045199a80decd68760a34f0461bb7e644f0d1545f2712969c79584a813551ee433d3a2bec888d9";
-  sha512.doc = "02be7b99bf8fafb00994327e737a5a050601dd141ff4e3482b42dc3c98c9ecd1c62ee64488146e3a7e1017a965ff1cd41b7487acdae65f5c09e259753c2d2ac2";
+  sha512.run = "0e9bece02b9deaf677ef2d6f02999d3b4b7bc7028ec768fb57e69fcd3c1c26d1ddee1c261cbdce8eb8cb18c647dcdbca1448860d6139f01e17f234b3a8a0e793";
+  sha512.doc = "07796be64b64e6c8eff2797d145933bb45c0e3ec0ba50e6fb41974d2dcabce09f2f781f989a62a5c5fe6295af3ddbce10ab811c2abeafe2d8b56b7a603f27412";
   hasRunfiles = true;
-  version = "0.47";
+  version = "0.48";
 };
 "pst-cie" = {
-  revision = 49422;
+  revision = 60959;
   stripPrefix = 0;
-  sha512.run = "4967785a229c9cd316b36357fc94df53e7ebfb216ba5bb222d208a767828aac22184914e2e3744e2726738920dec05f3ed7ab9ce1e30321017f43fa8f52cdce8";
-  sha512.doc = "f2554d76fc89d58e4ff61ac5e5635b93775f731e33e384a3113ebcca53c26ae0e4609d1fdfc5f093abb8945bc3f02a77041bce072c29340ff9623a580e0ce352";
+  sha512.run = "fcddc7d04c259132a45fb30850c02b613ca71e9c3df26729166b142e953e997d3c618d835be472d98c0aa7a50caeaebaa5631cfa64cf132aa35c2d29be59c63b";
+  sha512.doc = "431f1d8306bb623834ef5f5d732e8fc413947b5f3d31d07874fc9d7ad0897046a4cf919e6e2e520b23eb9f268cfbdaf547dfe7e8e72d44ba92ba9cf3b7a4fabc";
   hasRunfiles = true;
-  version = "1.06a";
+  version = "1.06b";
 };
 "pst-circ" = {
-  revision = 55289;
+  revision = 60464;
   stripPrefix = 0;
-  sha512.run = "ff5ea04128d8d7646484849fb0539af8cbd8638442de65f9cfebfc874a71f85b534488ef516129346984d31a01e44521c29d7c5293c30ea315a986fde6a953bb";
-  sha512.doc = "a3991c3c7fb781f6735de799c325bc19ef82cdc4ef31f2d4b5ec22ab3961e2bc450084285176172bf583869ebc2d7d35800ac75caf0caa99ed3c050c48f49960";
+  sha512.run = "2335b728be1227d4631e09c3994e9e1f559839e871e29854e700ed74b9031a7d2ea58cc744d20b459c99f1954b7faaecc2ced19c449e98b97fe26b2fa71755da";
+  sha512.doc = "c2eb37603cbba656eb1282130e112d0c3bbb49d4b3703c3d9b19d0d250d272d31fd19d2790c97cf8cd5226b0735e8466eab824a35754f41d7584208e606a6ce7";
   hasRunfiles = true;
-  version = "2.17";
+  version = "2.19";
 };
 "pst-coil" = {
   revision = 37377;
@@ -27648,12 +28562,12 @@ tl: { # no indentation
   version = "0.98_Beta";
 };
 "pst-dart" = {
-  revision = 46579;
+  revision = 60476;
   stripPrefix = 0;
-  sha512.run = "f5d41ddf7c5934a00fe8bbbc6dfa468d26e8ac0c06975301f17f31f168c6bf7499dac210f08f815cd01c05eb4a9a376d5c49cd96195a9df56bd3f1156d9ac6b7";
-  sha512.doc = "668648d06ab3047e45737908bca5f901b4815f7b7b6745e9bd5387b6867b1fe6dafec3633295e8c164e26cbf06dab2240516a71e3b766a52b9e1ac0e64d1d93c";
+  sha512.run = "f8d2665eefeb791672864ae5fe17aebe6b83ca776a6170c46672cce02ab639fcffb011afd922b1dc9abb98a70d6f81cf4b00321e2b69542d532c3c72341e28ac";
+  sha512.doc = "a0c747f8736607f920174b2a80ab07563d1cc7114d6e2e751f7e2d9835eed9f656f4b57b7b9061ad8501f4d6ba26c1fad37825b3819be1060782050ece94199f";
   hasRunfiles = true;
-  version = "0.02";
+  version = "0.03";
 };
 "pst-dbicons" = {
   revision = 17556;
@@ -27723,13 +28637,12 @@ tl: { # no indentation
   version = "0.01";
 };
 "pst-fill" = {
-  revision = 15878;
+  revision = 60671;
   stripPrefix = 0;
-  sha512.run = "69401352ca7e08d6d61ce7ae89f1201f186cec6221ac3b9c2cec61c6033df03b8151ee278ab2edab6a661c49f0867d7f9e764bf45e9dbf32feed655e12239688";
-  sha512.doc = "061dcab012577f3d6e30008c15127f2f70469340598c781a436c0c8b1831d36dfce86a8cd0b802a6f174d3510ee2ed1d9269b4c894793f10d79eaf8b6d0c1ec8";
-  sha512.source = "35540e2a923b28393b68da71fc2c15166ec6e57ebed065dee8e8c9acdd7f10eb5327224e7422851b5a32d895eca29f19755bfda2cf1e0fb569deb473921c6d63";
+  sha512.run = "5fa4ae2e862a9297073bf0559dc46d44109d1153571eb8538650410c96f5c43a9a8c85a379690820f63a5198ac1983fdeb514bf4b1342349352f1a16ef3ee375";
+  sha512.doc = "ad51d3aba8d9ee19b4a53081a5956e8cf26f2673faf521af088076c6a356e321ca2fb9a0b504e61529c5a2ae49480b3918bd12235a66ad5c45035ce92e2eae92";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.02";
 };
 "pst-fit" = {
   revision = 45109;
@@ -27766,12 +28679,12 @@ tl: { # no indentation
   version = "0.04";
 };
 "pst-func" = {
-  revision = 58786;
+  revision = 60933;
   stripPrefix = 0;
-  sha512.run = "5e609eb9600894ad217c6fb7af7a134447bec166527caf9041c15394666caadce094b1a68c0b365c8863974ab2a850e881666e685943452d12f4008198bfc9e5";
-  sha512.doc = "86bf5a719310809cf9ec4222c667960ed1734a8d2f9a340c287ef241929ecf26048dbc937bc0aad9ccd5179f3918ae65706759757b32b53381be1a3c3395fe4c";
+  sha512.run = "f33d9c983c7b79fb6d8f1a8e473afda6f2a4b23e133ab004f2fe4633e4f8fc3fe885034b409f90842c4a4cb81c86527edef445e1408a57d78aef1a006225e85c";
+  sha512.doc = "7d0ce738ecdb79eb4c630a5bd51ebc47d92f6ace9b35ee60928520c51c96254ff1f554ff08d8d8addfdac2b28b3d7dc3f90afb73838abacb3f1d8af0fcdf37ec";
   hasRunfiles = true;
-  version = "0.96";
+  version = "0.99";
 };
 "pst-gantt" = {
   revision = 35832;
@@ -27782,12 +28695,12 @@ tl: { # no indentation
   version = "0.22a";
 };
 "pst-geo" = {
-  revision = 46273;
+  revision = 60387;
   stripPrefix = 0;
-  sha512.run = "2b559409de635cd04e9b128bf44ef5f92ee765d4ccaf2132e3014d9a75ee61867de1724de2c36752bcc600014767f058c3799a5387aa4029268d5fa9dff4e0e9";
-  sha512.doc = "762140a38d7f39875d2d4d25aff57187d32daf017d5be19f7fde14c482d9128c4b2e911f67446cd47a28cd655ebcffe485dc4b6326d41bf3b0693072647cac0e";
+  sha512.run = "4e97b80679129df2cf52a8998e1b131b7ed5ebd21046219843af1ca81272a84c3a8fca72810622a7215385207eb541cd2bfac65b791920da61c233f969423c3b";
+  sha512.doc = "7dde4c2584eb3c538a21fadfb9c49db02ad190b0778b64a4a51be7b777b4971302151a4f6ee7c5fb29f6c156c34a420b1734471f550d541bd2eb87877ab1543e";
   hasRunfiles = true;
-  version = "0.06";
+  version = "0.07";
 };
 "pst-geometrictools" = {
   revision = 45319;
@@ -27797,13 +28710,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
-"pst-ghsb" = {
-  revision = 54074;
-  stripPrefix = 0;
-  sha512.run = "53f608d40c000f69ec0ac8d4b04799a581296765e8dd0a083a604aaba77eb456fd0f733435455bffc702e19d5083788b12d3bec3476a24f03fdffddd51f1b479";
-  sha512.doc = "818108e58ff02cb7733ab00bc9d5112821dfe22b62836c3114154d6f4d26f4fb8e2c9baadfb3c4600cc32d667a174c1992f44260208cc295310326893f806174";
-  hasRunfiles = true;
-};
 "pst-gr3d" = {
   revision = 15878;
   stripPrefix = 0;
@@ -27829,6 +28735,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.02";
 };
+"pst-hsb" = {
+  revision = 61322;
+  stripPrefix = 0;
+  sha512.run = "0deee202545f52b65b4fda752da7d43608118f33c9d3f520963b27229e9ec7b6d0161dc490b9ee6e356887b152f5ecb86640bc335d902070b1bda3744d9fb5db";
+  sha512.doc = "924a7a4a1aff03e308d5c8342f9c370669c8dec48a75c782beb887f2a05123369d5365ea86e2d2274f3dd930160d7935356cd5e9b4a6f8793bc83007cf48f841";
+  hasRunfiles = true;
+  version = "0.02";
+};
 "pst-infixplot" = {
   revision = 15878;
   stripPrefix = 0;
@@ -27929,20 +28843,20 @@ tl: { # no indentation
   version = "0.65";
 };
 "pst-mirror" = {
-  revision = 32997;
+  revision = 60506;
   stripPrefix = 0;
-  sha512.run = "edb6796eb96047fe09833056c409527df06d63dd69e9c2b600c1301b43b6e5c858d1061e9a138c89ab47657682f9ee67995a02abfab5251356e2eb8de68f5316";
-  sha512.doc = "a9e22f2e00f67f12c69df3a6dd4377d25b8c130c4afa8c995c8961ba426f69f0c286460925c7c782a30b2a23ca5f2d4a46a5dbfaf72955952f561df2545c38b8";
+  sha512.run = "316a6cd32fb2b8c59f554a49695ad097627e641982d1a6a8b1e5db12949c2cc84dd150a190834604d57ca10735779cb09983c28e7339e92f3cb82d642dc9b61b";
+  sha512.doc = "f577868d1cf76a372a3c248f6dde28ed423beaa5e445a6a343d9b5e4c2ab9f737e4266c12702fcbf6dda91a6639624ff99b4cba29d65ebd4c7a0c3f3ce1323b3";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.02";
 };
 "pst-moire" = {
-  revision = 49223;
+  revision = 60411;
   stripPrefix = 0;
-  sha512.run = "7ae5693ca401b037482c4b8d7173a03b677ee1a8dc62ceccb710264b196a20240f310c26cbf9924dc2b4a9fa2869257843cfe4c87c26616a0f790ab444130a13";
-  sha512.doc = "442f2477e9eaf122249b3a06fd2755afc9e701fe4333102274de3635eee398231d422b8077764465fa42041acc6289d00b4254505b591f055c6dddd41516d0e2";
+  sha512.run = "60fb7e65170ec16f08f4109794afd657436fbb42a18feaff2997fdef20e18376810c3b34e0e341a5e577a6d08d6bf6314adfa51611d83a4e66245f112581d678";
+  sha512.doc = "f24fb6a5a34a09f7b519f864c40d4bb4afd4b37f12280877fa9e6edae48a655c12bdf13eb7d13e9ce43ffa849a183c6a81b8040f61d90e9ec514b07352fced3c";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "pst-node" = {
   revision = 54687;
@@ -28046,12 +28960,12 @@ tl: { # no indentation
   version = "0.01";
 };
 "pst-plot" = {
-  revision = 54080;
+  revision = 60620;
   stripPrefix = 0;
-  sha512.run = "7e784c8c50671da1b2efbc191a4afc91739718d9c117aa49740e869296a415287031c91c79f750eceb7f90b36f8a6bd5b37c87dad7d84b6776a014cfc6a4f88c";
-  sha512.doc = "9f486e767bddf56647583d598dcac7b64c1ad390d94fea88a285d3aeaaa32d8151883b438c48e0d75b3ba41fef21b38cdc2fe7dd724978827b55dfc6d3bd54c0";
+  sha512.run = "b389155d1bb56cee20cc035dcec1551974d9de57a7acde79b40d1342e621454e879e760d150f5e3d71e28d7f379442c32a828ce2f9b2a9813fafcef9476e4af3";
+  sha512.doc = "b8033d9879f06a995bac06a1849e3349dd1e9c675279520c7e1c563cced38e58612b2a826de285d8abc2ecf1312faf17c2424d38a9cbce22431219da79245828";
   hasRunfiles = true;
-  version = "1.92";
+  version = "1.93";
 };
 "pst-poker" = {
   revision = 53482;
@@ -28200,20 +29114,20 @@ tl: { # no indentation
   version = "1.0";
 };
 "pst-tools" = {
-  revision = 54518;
+  revision = 60621;
   stripPrefix = 0;
-  sha512.run = "b6f1432b44483470d2dc740aaafd254d0f7051e37e9b8675aa85fc50812b9f19fb8b021cb00da405734c25a3dc6b9645d25981c7b603e3a01016421c2d1b4140";
-  sha512.doc = "57fe008fa8ab2f8ab0682d29a6e3b7c285a84c54eb7bef068fa2ba1aa363792f6a497a548cfa6ad171990e344215db7bc5a7d297bbfb17026b80601ecc977edb";
+  sha512.run = "591dbff503faef5316eda8364a422d8810524775e6c6b59569d24928c8702c54463e4433a3c28953d2f36c873aa6a6e52c71dd9cdcce5bb0c362ab2231f5a165";
+  sha512.doc = "f61816b6be166d85ae238cf5651e2e1960a5303b3bd3c643e4fdbcc779b5e59f49ffbe53bd6e2830b2bc28289baad3b089eb01ccbd7bee4eb9805728cda4309c";
   hasRunfiles = true;
-  version = "0.10";
+  version = "0.12";
 };
 "pst-tree" = {
-  revision = 43272;
+  revision = 60421;
   stripPrefix = 0;
-  sha512.run = "1148e0e571d68d8c95c0049313b244a6d6d77bf24a453121fd462a11e51d51aa21cd7eb66e9bb7c936fa90bc888912385814ce347cf911563206f520d2bb1850";
-  sha512.doc = "d68059216626bbd3a33ec6bed2e6d2f0f78db2da3ae56cf947367608033a156126685bb0d162f95fbe7150c950c3d5d20de01fd0ab9b6bf77bcb2cba31bfebdd";
+  sha512.run = "39d6f88d9b0dd4280cd08cad6524fa693cf727bdbacf16063d76e100e16f957602124ee71421e88f389a7ba5070a932d779a2abbb64d791bbc071398f09a8708";
+  sha512.doc = "6ac862eff40eaa1a8cacc5c1a1d4886e82dee53046d3fbf631ec23bfb59490fe89bdde5f2767cba35e8d0439fa7b7688669b50ba3ce81698c34bcfc9d010a7e6";
   hasRunfiles = true;
-  version = "1.13";
+  version = "1.14";
 };
 "pst-turtle" = {
   revision = 52261;
@@ -28243,12 +29157,12 @@ tl: { # no indentation
   version = "0.83";
 };
 "pst-vectorian" = {
-  revision = 28801;
+  revision = 60488;
   stripPrefix = 0;
-  sha512.run = "3ea49c1da6238c095dc2ee095b21dc95fca19c89b0ae473e73f9ea67ca9377cc8e696362f2cf859d87ad69350c7b94a1049823fc0b5329e36e8e31291cdcfef1";
-  sha512.doc = "787b3b16dd0a73d96d16a8f32e26cc40f84706fd8abf48df23eb94a5dd9dedc0f9c9b7d8512894910ac96c8ec5e879a5f0d24f6f19e2d9f231ad66060e07565c";
+  sha512.run = "e3898a6b489afe685bfc657760702bd5e2e44fce2ecf6e4af28c1a6eb36173fc653e003af7b7879fbd3a342adfb89b8cf47168b1f1868815fa44050495d15f54";
+  sha512.doc = "6bdc368c391d12e6fb54740867631c7ba62b66a889e11dd40668dc7bcf5f9846e4414f84b706010505d3032b132735a9247e25193b952bd3272590d47d59172b";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.41";
 };
 "pst-vehicle" = {
   revision = 45320;
@@ -28290,20 +29204,20 @@ tl: { # no indentation
   version = "1.5e";
 };
 "pstricks" = {
-  revision = 58731;
+  revision = 61084;
   stripPrefix = 0;
-  sha512.run = "9d7eddbede84ccb7cab9024f4ebeff688707f189012c3f71ed3a57963bacb13fb7aa6ad2af136d11b9e530ea4b1b74b9c06563954b81a1cd41c65f3a2c8e5fd4";
-  sha512.doc = "f3decc60f9153b5eca7a71c72518cfa9501c5e970c0d2957dcd866296c883070aac3fc11016e74e6e703927bec7bf1135bd2a20d5a8a5d937ce7d95e8410fe13";
+  sha512.run = "6aa799e9c28a11324c5a979059af293ba45c559e62d422d9f6928feb402fb85f927d2052bec1037e1a44502e5283cbd8b1f325da82a2a8246441297fbb6e8a87";
+  sha512.doc = "89de2d39bb24b21accd0d4092bb830646b91b66ee053469b10dd18a69759b6e2f8c1812c04044d8717626c55b20a878dd108d27d8000f694d9de0935e116be43";
   hasRunfiles = true;
-  version = "3.01a";
+  version = "3.11a";
 };
 "pstricks-add" = {
-  revision = 53763;
+  revision = 61407;
   stripPrefix = 0;
-  sha512.run = "cf73863537b9058961d4592077dabfbd0e76ff0f07dbc7b17520945bad42286483da11ebbd44abe403845a9092cfa6415ad881ab19d323527f1b979b9e0163be";
-  sha512.doc = "7a7639cd2dc128ddb203de7aeae23eb50adba49702b5270c6c432a159f185dab78bd0b6ce9925b6b803c200403fb662a9ded85197f79711d6880a1641cd53996";
+  sha512.run = "85c329cfe915f85e3caa93296190041a0dc6078a1c7d7fdd3ded149ce1faa610780c962bda91ae6c0b0552ae131b0a679ab2b75334009cefd852c7dbf2957a75";
+  sha512.doc = "62b7f8dc64a071e70c358f1547dc3bf07bc3b336e0a2085806cc9390e41c5a77710245db515dd71064c08df0755cd3553e69088e083abf14ac5693acc285f755";
   hasRunfiles = true;
-  version = "3.89a";
+  version = "3.92";
 };
 "pstricks_calcnotes" = {
   revision = 34363;
@@ -28327,7 +29241,7 @@ tl: { # no indentation
   version = "p17";
 };
 "ptex" = {
-  revision = 57972;
+  revision = 59502;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
   deps."hyphen-base" = tl."hyphen-base";
@@ -28336,23 +29250,23 @@ tl: { # no indentation
   deps."ptex-base" = tl."ptex-base";
   deps."ptex-fonts" = tl."ptex-fonts";
   hasFormats = true;
-  sha512.run = "d59108f06a06b7ac46195ef05c0ba6fb4873a88d327839a6143e94392faf3df73ae7b128548ae1ab69915f9883bad554f0e2dbd8d36b8f8c959897210895fba0";
-  sha512.doc = "4f863d89fca4c137a84fe75365f600da96f3901d29dd98e9d5733523648b746861a22284707c6e9df90a9939c83adc7bcdf21b310785b8d403459d65294d1133";
+  sha512.run = "4183d235d990089401faa180297940df927621d5c0846d7e4e1e04a8c82257d75f0dd868590e724568fec92fba09ba1c9a0550673dd24c5484de562e8079d8b6";
+  sha512.doc = "d05bd8a2379392db485e6d544584513983d4fd598e49848df2daef8b76f3ecfde23445184ba902cdb311fa3bde648c66629a9bcea2b65f10d85e5985052e9bbd";
 };
 "ptex-base" = {
-  revision = 56487;
+  revision = 59406;
   stripPrefix = 0;
-  sha512.run = "37809d10840c61c7b5c17be0174708b3c66d7fb0b48c58f46aabcaa2e44abf30abc3aa437131ba1148f11bdee3e2fec1b8ab0787310e8924acc7d90cb33c0d84";
-  sha512.doc = "98844a87ac2a83d55c04bca34a53e1cc5c222ac5d359d3c24648a8c849443c5c8829bb0d911d54de76fefcd2d0c4d537feff5effe7591657de629b2ab24e5c2b";
+  sha512.run = "d968a0515ea4fe0948734f610212a7dfc2d5eb97d7ca96faa7de4350354b5d4584b9032129a6b4815c2c65c79694703342acb86455114a49dbfa0d6c765c7557";
+  sha512.doc = "ba2ae608c1aefb62e34710ab7251528f54569b978477a90875329de5cac2ec85271b2593803a28e6ff65e6519d75d69260e87e642ea84c36f6d48e68f968fb28";
   hasRunfiles = true;
 };
 "ptex-fontmaps" = {
-  revision = 57239;
-  sha512.run = "168de4ff3435d1148bb718b15953dfa79172c6829e95824d998d9fff193c27f7677ae014ba54c507840b9b630dea12168f9a70d30a4cead922a461a52e63d8ab";
-  sha512.doc = "42e7f0eeab1000b2c49d714c40405e008cc7b08648bdac1bac8f5459bc64eb3fd6fb526fabbbc2c7774a1b12abd37396e389e7c90351eba92a5aeef53ac3e558";
-  sha512.source = "f7875a39315715c60069521903a103e5ab12ec52970ee00f3b95a498075d39e68d6f5b12373b4b31f6681a31561d740b584a65ba566d1db5ffadefdb620cf1da";
+  revision = 59711;
+  sha512.run = "16afa97812d830b2b98f657f67ef690da420afe63ccf6f002131101f3ce9a03ff6e5170db1b316e9db521e4cdf89c7aedf26c57be162bf1c5b48fa4226e5e029";
+  sha512.doc = "affd6dde30276fa680a0d99d0a51650ee95260535dff717801d61ccb8165c5526047e46ad6478367a439e9a84721500128062b8cb6a1f33a25a65fadae4547f1";
+  sha512.source = "eb450119b3897f9e8374d29a3a9512819a05263d5829c81d56dc00dd35995133d1a3cfcadc59ce2aea52ac8b5bc195d27446f159356e63b433e235d1098e93b5";
   hasRunfiles = true;
-  version = "20201227.0";
+  version = "20210625.0";
 };
 "ptex-fonts" = {
   revision = 46940;
@@ -28362,10 +29276,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "ptex-manual" = {
-  revision = 57128;
+  revision = 60158;
   stripPrefix = 0;
-  sha512.run = "ea2bc5648ea4dfee37b9df34ed786ff2fd400644defa7b2623435d4e448161b8bf45f07d5d2caf18bf280008d5e4253a4ad2f62dc88375500b635bab1c201491";
-  sha512.doc = "162b7d40353fc0c892b257170cb5a335930936c776ff4b5bb91fa41d27a859d43bcedaa053aa5c2ca7d732993212c470670e1abfa4b1149c0867cdcb4b68011f";
+  sha512.run = "47c365cd1e802afb5a456a890e5045d30098908310aa3dc15c997e63ab5fcfc34f642604200318e5a6b6c27c4bda6ded2e615fdc044bcbd15e9455db2b87a4fa";
+  sha512.doc = "24c183cd00423def3871ba2f18eb5b7de418e5c3110b593c9739e98addb9791418d30165fa9a85b2f67ee66650832487265e40a857f9cacb80996c13aa0932de";
 };
 "ptex2pdf" = {
   revision = 58632;
@@ -28438,28 +29352,28 @@ tl: { # no indentation
   version = "1.0.1";
 };
 "pwebmac" = {
-  revision = 58478;
+  revision = 60979;
   stripPrefix = 0;
-  sha512.run = "5b8b6825d84e6addce3491bdaaf30a6127d0becd26956066dbb2dc482d4942087b9423affe02654f28d5f7b1bd0e7743fd731ac2201b394630bf089deae8de59";
-  sha512.doc = "6078a4a0263f3c342c9814f3ac8d5028f6d73871e89c64859e86a7c694a5a6392873e592f5daba7c6c2b89c3eaf6bdf1a745618999bf448edc8007d3d5a541a9";
+  sha512.run = "0d0c14f1e623aac1258894a06f9e92eee51c209afe9e230f4e3b9cb69049221b9f3955504127386ff4ec03ed458556250a0a9b03ec0edb59c157c32a42fac094";
+  sha512.doc = "c4f73e463dc63c556d02462a63de51beb1b4128b19eb3e98ed6fa006fbe7bd1460ee95097d5359b67916f69145b1480f797bc2740bd7e4280498dc25f0b65af8";
   hasRunfiles = true;
-  version = "4.6.2";
+  version = "4.6.4";
 };
 "pxbase" = {
-  revision = 44756;
+  revision = 59473;
   stripPrefix = 0;
-  sha512.run = "e567378515039b55eab0a12ca645ba5ff17c2dbaf56309c3273beb0d05c7e6e2dcf3d7d22091907df5636451df8e91d09673607918dd9ac091908cb6ef1e4de1";
-  sha512.doc = "d6d87123dce0a2afe3380cf32fffc8954e30d22e9822d0ff89500bea6a455c70a6699576265cebad29ba33c0fa5e7b63a40f26f7579d1fe9dc0cbcb528c45d00";
+  sha512.run = "a75c8932fc56c11e4afeaf30c91ad6c67622df8eb93b0700257472c22a7de6ee7732be8a67d1d53f1e21138bfecc64cbc6e8d8800c08ee1c5cbeb7bab637df4d";
+  sha512.doc = "4421d659294e02b2d0268a4b0d56b037c321c69abc856bb00917b61b79bf78462fb4a5c9c8616d773e7267137de0f6af88cef02dcb661259c7ed7247317f7aab";
   hasRunfiles = true;
-  version = "1.1b";
+  version = "1.3";
 };
 "pxchfon" = {
-  revision = 56537;
+  revision = 59449;
   stripPrefix = 0;
-  sha512.run = "0883ab31076052a9f970e8a2704d6fe69e4cc4d98e5e58528b48393c4878177cc206baa454539a6f228252c82199a409333ba9dc250b6c79d429e00f8da26cc1";
-  sha512.doc = "4bfdcbf0eec187e6726978dfc55dab1217f00a06063d43fdcd6ba640739bedc72fcaa9f5d51f9471173f6d55085076155e7dd2f549739fd15cccf74bb03206f8";
+  sha512.run = "816c45ea035ceca853795857e93cf064d94ac0937ad9774b3bf2316f6e6e15e58df64814116a0fca5a1aea3a986e31982f80d365a53447fa86e1e771a4ffa429";
+  sha512.doc = "72e778b111639ef592d23d5f6c19f109654f26d81794e9af685dff38bd77056e29ace46d2b5e6dd5efc54efc91fd88e43ff2d9b1c28bf075d008994f8480f116";
   hasRunfiles = true;
-  version = "1.7e";
+  version = "1.9";
 };
 "pxcjkcat" = {
   revision = 47266;
@@ -28486,12 +29400,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "pxjahyper" = {
-  revision = 57950;
+  revision = 59508;
   stripPrefix = 0;
-  sha512.run = "42b0383d98741bf3cbce1267b4ab4e32d48039b7497e87587f3adefc2da5e7316587e5b138758f0a6816f49588aa774bc4754f9509f7211d7ee3497c8f178324";
-  sha512.doc = "00d954e31c1ad90f2953f9565d24112a8b108ed1d2ed43304813b36c6c3c0c05c10d44d02dd514f4cac055ae45889db8ae91187ace305870eee8266aa48c28d1";
+  sha512.run = "320e75cfa1b821e1e4cd61db12b907025add9e5124256959af1c1c101c626b3566e56425b9d65efa22c2db299ce69ad282451a93fcae203a17afb83a6faeae3c";
+  sha512.doc = "d7d683d7b9763c5e1a21c1208034610f4da6410dab0eaf4254bf7ba19bda5cd25756bec630e4374a29b9cf755163583ec1e2c36dbd8b5b4e1fe04af912c7b384";
   hasRunfiles = true;
-  version = "0.7b";
+  version = "0.9c";
 };
 "pxjodel" = {
   revision = 55006;
@@ -28510,13 +29424,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "pxpic" = {
-  revision = 57445;
+  revision = 61294;
   stripPrefix = 0;
-  sha512.run = "f187fe6370e817ba7d3b6d7c0899bceaf898685d2ed2e1707ee18e0623d95489dbcfeacd1482ec540307ce5095f903e1499b4c01fb1634071f3edac626551c1e";
-  sha512.doc = "1ca68d3e7752fb37482c32cebaae0753c31284e593d3e161a46bab54d98ae564857ea80553e3937e3b7710036e722acc3eddc23fda4941079e050f20bf0ff5e1";
-  sha512.source = "a9fbf50b12145c2169de1733862dbbec0870c0863caf3544117b8c87bb0dbe4d637ad8b8507102ce83b1f4fe2e6c03a704d289c8c7e15e74b8859b6988240a3f";
+  sha512.run = "efd2fcb2d28a3fbf3a10cbc4034c50fb35189d8896c13caef8b82ff8d62206d663de02d552116f692d3bf9c399e87f53580acb30ff0fad708c45ce3af5d48727";
+  sha512.doc = "b54caafece80a6e233e5f19fed0896e0c29b2ad8ac03d712431cac90ef3b159eac148aea6b36dbf55bb771b89c5eb4595130e4805809e1f399e4ba4aedfd34dd";
+  sha512.source = "ee66f6f447671ec4fdad29648e16409885b046a6824f85cd6d01009281566c3083318e528ed8c8bb965659bb66d9d842463f5b2958e3c62e96d78155e24d617c";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "pxrubrica" = {
   revision = 58168;
@@ -28536,12 +29450,12 @@ tl: { # no indentation
   version = "0.4";
 };
 "pxtxalfa" = {
-  revision = 54080;
+  revision = 60847;
   stripPrefix = 0;
-  sha512.run = "6d03f8d9be9d07643de2ef1f35fe30981861d6c230793912b3d093334260e53b3bae9ff178e97442425e527d1dbd0eac366fad16b0276d44378511ddd97eff52";
-  sha512.doc = "0ed329847a91c8164883b873fc7a98cdb1571cc733d9d71ddd9bbe52b591a71b03cf0d6bfe83d63e41f6524e01f38a91c67d370c661e02816622dd56eacfd462";
+  sha512.run = "33dfd01f714a662f351fbd3a0e0f36c413360adac666ca5665c628bf5d3acf732cb61e18190d340d144e146fa04116373259403b9eca314f48dba5ea4e6aa032";
+  sha512.doc = "f547cbd3cc4a0e09034e98a27bfedf41e2e2ab9b6561e441d7656b99b6b883bb51f9fa24d731d403133358917428c53489eacf8c7ede08a963ff06c3d0404c1a";
   hasRunfiles = true;
-  version = "1";
+  version = "2";
 };
 "pxufont" = {
   revision = 53733;
@@ -28558,13 +29472,21 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.10";
 };
+"pyluatex" = {
+  revision = 60977;
+  stripPrefix = 0;
+  sha512.run = "4fa1b2f21c620bbe8a0ffaf8d3637fa4e722b72a0263dc9d265f7e7f609d295681abe4676bf620de790a23084ddbd997139a0ebe049c4e2b72237e8fa10a09a9";
+  sha512.doc = "f4a371a9fec20b21e5e7d0e07684cd01b375cb65106a40ad1646ce1800eec3fcc29e0c21b4f4fc13d77ab2d62aa00ee2a9bd12bfed04fb9ee6fe0a3e1a0b54fd";
+  hasRunfiles = true;
+  version = "0.4.0";
+};
 "python" = {
-  revision = 27064;
+  revision = 60162;
   stripPrefix = 0;
-  sha512.run = "85c300c969fccdff036e2da59ada1040bee6f25c6a8ec3c173ce44084fb9fd812aab79b8fdc0b9fbe2ffbf9485abca57fc5d82caf4ac5a3ff922501b46dec164";
-  sha512.doc = "8f88b9bc84a71c430486e2e3d2b33a4436cb1ac1257b9ea5629708438b8ac7488839d52fc138e4959575fe13388aa475770a62ca070b4746de8b78c53d5119a1";
+  sha512.run = "3b2b55d1c8da0c253711ea5d6434ffe3537baf273d8a6798a5455b3170601aec0dfbb418969bd9d79f47ec502a73fa5bcbb3b74bbdd77d242859c0f7496bf8d0";
+  sha512.doc = "c6785b22dc6820a84a9edc573e308a79991b4a67ff1c5b17553c05a75155ea9b981380098335162a6a7c3c25d2dc20665e35b9cf74317b5c865bc6d4fbed7a8b";
   hasRunfiles = true;
-  version = "0.21";
+  version = "0.22";
 };
 "pythonhighlight" = {
   revision = 43191;
@@ -28574,12 +29496,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "pythontex" = {
-  revision = 52174;
-  sha512.run = "27a3196f89ae04eb992817800f30dd26b275b65a2f9272907a2cc6a66708ee00290c3e0083bb537f0ee0152c93aee50728ea1ddab672aa08dfcef5f089bcf2b9";
-  sha512.doc = "cdc5046cef480514417874ef5343a39f9e1c377d0e1f00e9df4ca8746670f2b222636afd58a06ef63086c3479b4d516f9d14074aabc1fa7876b2fb4f6599bef4";
-  sha512.source = "9acadbf5a18d56d24bd1300ff4b713325c43f163d2ac27e190461fbb74bbe023e31b2a3cb0bf3c6ead42c1275bfcbcbc8cc87914f623537e05773e9e641b7b03";
+  revision = 59514;
+  sha512.run = "2e67beb9974eb9a567726d8a68f7d565aeca97d20484ef6e36312100411eef9d9de937297399a98f367a756f6679314cc1a25201ff11936b8a61f8f1f148830b";
+  sha512.doc = "3ec2fe0f095384734575c2c9fd1bc9d485b628485c8ee75cd8fb9ebd6d1f56edbec6f378c7c9e1d5ba9c10c4bbcc3934ddb957dc47a258ac81ca89b5ce3a2e92";
+  sha512.source = "8a3cf562716df588d4ada0273c3340b73e16a01524e02a9c83c4ca781b8dd1763a1deb9e303635878721831e0d57b780c0666b694629106650f639061d2f32f4";
   hasRunfiles = true;
-  version = "0.17";
+  version = "0.18";
 };
 "qcircuit" = {
   revision = 48400;
@@ -28613,13 +29535,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "qrbill" = {
-  revision = 56190;
+  revision = 59232;
   stripPrefix = 0;
-  sha512.run = "a0b85af4d872348264b7a8ac673bbfc3f4e0a7c36fa7edfa2fba78ee144bdce908adff6d3c363182693bd4ad8a75c0cca978ecd52c1442656ec1cc72f1506f0c";
-  sha512.doc = "9aeafdc2506e7a885dbd1f54bc827f72c86b994bc766ef570ad82b16e960f54547bb6f970772dcd58b75304ae33c00d0d339a969c902fc75b8431037af9dd9b9";
-  sha512.source = "9849b7e74ce53c526b8d28122852ec9c5ceb9873c1f57d067aaa8bfe09f09a6d996a45695a6e564bf395275b0b0e3de039651669e2c287cca1095cc628bd27ea";
+  sha512.run = "d48352eb7f3d52b9cb567eb8cf4aaac8543d6cbb300b01c9b27c7eb50aedd1ef7c2ae31f0145c0b9b395edce1cce5c7012b97d705e26dc58f9dfd0c932a1caed";
+  sha512.doc = "87b9238e3c1652c551464653149ac36de2c4ac39932d7c39d49a16c57fd2c7cef6950ef97072163f2e6ae019a3b093ddcbecae4fa33ecf9539f30d9cec09ddfd";
+  sha512.source = "5ed0929c0e31673099f8733bc3cfe29f9eb8e56ee814436dda804047f12b997e507b10a6fac844b11ab10421417db0b3a0603f7f60446f3be56fd6564f831cf8";
   hasRunfiles = true;
-  version = "1.02";
+  version = "1.03";
 };
 "qrcode" = {
   revision = 36065;
@@ -28785,13 +29707,13 @@ tl: { # no indentation
   version = "1.3i";
 };
 "ragged2e" = {
-  revision = 57638;
+  revision = 61313;
   stripPrefix = 0;
-  sha512.run = "716cc6067273735be2f4c9922b043441076d37f7d08fac0603564c9cb8f082f5dd91bceb336ecb3ad69e6d9a88367067c71fd08678c1ff606c21109daa66a140";
-  sha512.doc = "ecc36350f01e86f63ca54a2ae5ca1ccd17851756731af3997d9b172753673f39c05e82d9b3f736896b2be1c971bdd0c700678a6d44aec2226a7f57bcdc085e51";
-  sha512.source = "2a9a755a3f3978c3e9077e3c36eb642e18895e3bd5fce44af71d2fb094f1a46c3e61cce21940eba5b6d7a3d51aadf6229fd9e0941610e9bc42dfdeb67ee49514";
+  sha512.run = "cc443dbb4280310eed2e4cab7a5801df47db4d5f920c19d74cddd6de35d9206cbcd1afe2fe42812c423f6c1ac45f9d220f0b265af79a2c3c853a58f90b4b63e8";
+  sha512.doc = "0b0c412d7ba7d55e7bf2d64c98c2d4da50faae7a6bbc4e2d53b144ca7ebd91e5cde7d21a948b427184b773ac7f9fd3b32f7c8b6700f353ab80130de46c1b0306";
+  sha512.source = "fc316bd0aa7bfd137079ddbcd0cbb0bc9392a85b885ce7568be364364ae63ea6f0a6e84f8547ef8e7e9e067e06820de68374667dd83a07f6cb3dab95f174136a";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "raleway" = {
   revision = 42629;
@@ -28802,11 +29724,11 @@ tl: { # no indentation
   version = "1.4";
 };
 "ran_toks" = {
-  revision = 57520;
+  revision = 59515;
   stripPrefix = 0;
-  sha512.run = "01bb17e3c2713e482670d3229878ba85bae5405476708b18367f0bfa85766b72b82471a8ff47993f88ef2bea72b1dc4019ed874185c94fab3171fe02f984c4c9";
-  sha512.doc = "607924d3e8f09070318a5ef2354acd12fd0c57b3e7d42f45b84048f2cd0693b72811abe0485dfc45aab224c500fa4731111ae66c3e3aa25eaf27e1976b63d938";
-  sha512.source = "5aba0e7472f214e367dab1a664f61fddc4b2a4b3eeb5737f2b476d6a196f33ccc4d28a6d3ab00f85c41291b27ef0699f362460fb6a0fe60dd28db67138b9560b";
+  sha512.run = "25b78e30d7e6a2f082a7740fcdb968cd4032e6fd612bafdbeb58613f45882e788809457d0fcf29af76d3eb82c57d8772960ad84f9ed5940fe670f8662853364d";
+  sha512.doc = "7e837aba73d0d578494845f038f7616a64eaeecde059655c8ce3ed5a5bc2c5910086c955b6a16a42abd09dbbafb71409387959eaf2378618532d2e494bba42d2";
+  sha512.source = "ad77e0842ddd144f49b26a548846f2058611336f51d7540e96ad63258ee46c2f0a139b6945c0fea1f26fbf61b5e1d21ec45f87a9f68009d87ea6b9b5634a2895";
   hasRunfiles = true;
 };
 "randbild" = {
@@ -28859,6 +29781,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"rbt-mathnotes" = {
+  revision = 61193;
+  stripPrefix = 0;
+  sha512.run = "15e5b0c52a70b406cb6de6ff55740206dafb75c8cc20dd45820059dcdb112c03ea0df0884b6caa12db0f792b97e0507f90d06644a8f78cd7569f9489a896b3cc";
+  sha512.doc = "effd703a23c4eee3ecb385cf8ca891c50e373fdb91834f45f7ba414d6e69b5fbef8a1833db4cf76e27dc316b734b714926078e4d92de08122dc79948ba928f77";
+  hasRunfiles = true;
+  version = "1.0.2";
+};
 "rccol" = {
   revision = 15878;
   stripPrefix = 0;
@@ -28903,12 +29833,12 @@ tl: { # no indentation
   version = "3.0";
 };
 "readarray" = {
-  revision = 42467;
+  revision = 60540;
   stripPrefix = 0;
-  sha512.run = "34a1a576a560ec5a66fd8b358e9f594e1971124023e9f88e67e5dbf7ff775e3950071c5f4daa004f8e59549f245934e4dd8a82e4a2928bcb1e9fff99f2b3bdd9";
-  sha512.doc = "61bf2960c1a0058a5a64a679b4c17ac0e754f09f2ca1847fcee4cb0b0b9a0dd07e252a534768fcf3b098217afc4c52a8f65120dcf43e69f0907fff9b8638af99";
+  sha512.run = "615f0be7efb7cd6954d36ad1dafc9f0f0a1632159247e7d6feb064e272c5753b26c5e07af709240a6e5f8bd7ceb7ca2c2c29842a5bd6e9e9efae2470f7a94107";
+  sha512.doc = "d9f87dc14d40c33b06591b611e8a79df95fc62c32d16f72cff96222e7fe48f4c09c95bb0b02a6acddc8b4630158ed61c9375dd370c2f2d21ec8a9328f63fff47";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.1";
 };
 "realboxes" = {
   revision = 56291;
@@ -29081,13 +30011,13 @@ tl: { # no indentation
   version = "1.0h";
 };
 "reledmac" = {
-  revision = 58763;
+  revision = 60935;
   stripPrefix = 0;
-  sha512.run = "9e735a11d0538d2590ef9f4daa93df54fa40678e668129b79aad193c65374895f4a11a519b714c7c3d65174af054853bc777fb4d5bdf41ef456c7896028b0d0b";
-  sha512.doc = "7c4d169751893332c65cfcd25b4f9bdc902ddd5581d9df9787149762cdb623e63c580f959bb40c03c5d18c1356d461b94ea13255faf0fc75f49ee35fd6e68acb";
-  sha512.source = "ec3823d10f63ce6bac7090acfbb8f1965704fddb1a8164b435f355090490ecb69beab7af79bac9f30abcb21276120e6cc86f05057a30c5884baecb8f421b0035";
+  sha512.run = "d1984388cabbb16e9637c3de854ab63485740eeafd5c59a6e72e68a0a15590b193e3d1b86693fd27cd3df86a4806e30aab924b4691f349d2e0251375242d336f";
+  sha512.doc = "d4547703161915730ac6930c98c15a8604c6b1601583203b99f1e917cf68193e60db43f5ab7734871df6e39cd90bd00dea190d6fb98e36c8c65e70fd2f2ecf07";
+  sha512.source = "ae8956dc707fcfe8b3f66f628c192b12f48ac1f86ae0d33b578b2f546d0fea66cb2ea6776cbb20f2b6602771b7b16f90443c314c3108e07928fef05668db998d";
   hasRunfiles = true;
-  version = "2.37.2";
+  version = "2.38.2";
 };
 "relenc" = {
   revision = 22050;
@@ -29122,12 +30052,12 @@ tl: { # no indentation
   version = "0.01";
 };
 "repere" = {
-  revision = 51363;
+  revision = 60946;
   stripPrefix = 0;
-  sha512.run = "4bcfbea44ee34209ce95d6a64de3973eed864ac0e2453ab0afd8e1e05faa2d97fd8d90e90f4d2e1c8f1eb337321cba8c10b03975e1cd75aa32ec5c7373d54316";
-  sha512.doc = "8a68f168573fa33ea635578aeeeb51060c3eae9f09ddd7dae1d49aca6de2a8eab7c857336eee1c17e2d4e1a7bb5f2440cd1901bf9aa61961966f727827cab38f";
+  sha512.run = "f4c1f496375a1323b1682857d0947fed11c8c4032ea9c0cc3fd98b05f4c055f261b3e577bf880814a7407c5b6cbadb461dc1ce96faac41818816acbda8403ec3";
+  sha512.doc = "cc1f0b3269f6284b17a24a3c18ba301bb3aecd07d020f763f309a6140e9ddc7e6fcba9710fc05f4626e1512994b83b1843bfa8fdceee19c8aabaeaeda8d8d3e0";
   hasRunfiles = true;
-  version = "19.06";
+  version = "21.11";
 };
 "repltext" = {
   revision = 56433;
@@ -29192,10 +30122,11 @@ tl: { # no indentation
   version = "0.2";
 };
 "reverxii" = {
-  revision = 24976;
+  revision = 60973;
   stripPrefix = 0;
-  sha512.run = "fa6efb9655cda15356163a93ca89f2b6a114ea5bdc151774bc99910fabd3306781319f92a5b5728f29df136c73f994f49011e31ea9c1c01b4ef2fed10af10a93";
-  sha512.doc = "ff6b03b426de5508eb31fa5b2fe615fd5b7f0a6721e949bb48e1954c28cb547faa079461c0b1f885163bcba40c7f7d2a3fdc7dfb3946c08c308f5c37d33605a2";
+  sha512.run = "e503c6a2944ed4a0c6857618a1824c1358beb8d2c1a051f218d9873d6a1fd2e752080c01406a7551e351bab6c457cfc74843d5385e186caf7a084b32db0ca816";
+  sha512.doc = "689f259353a1c3fec6417dec8a4c7fd8dc2bb02cf8a037e7d083e333d25f2db3eae4f834d27d8a1302d57ed88b665f04c0f52d3d39e81a1cfc7e797575245878";
+  sha512.source = "79595ee0fab3c30931f3fa8b1ac86170adf0218a16a89859955382151e2a67a05985541660d77df1f9b9feb01e54d23970206298b6924974d72738c278e22eff";
 };
 "revquantum" = {
   revision = 43505;
@@ -29433,12 +30364,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "rsfso" = {
-  revision = 37965;
+  revision = 60849;
   stripPrefix = 0;
-  sha512.run = "ce6e600f2fd5ce1aba31092c43401feeadc7927d22ab630f0fb28f421bdea858fb9e382f4d0e36036f6f4ecbd1232265216c29b2edcd44583df6fb3340ce468d";
-  sha512.doc = "ff045c68d70079df6d2b21368fe599beb9ac1ba0e339a8c448bd75565774c237520f79fd0e3d119209765eef29f5891dabf689c7756791a91bb7c7ea1d3dcf3e";
+  sha512.run = "7632b0cafcb0d28f5f4b742f8c457634a9cd1ec7fd59e61e01fd5f3da3964ae941fdf2fbaba94b0d0934270ba56a2224352e11075970e28bcf16bd9b6f97f236";
+  sha512.doc = "ccb3ce73add1f2a4f269728b8189569637327d85cd1a4d29a03904872cff10ce3057bd01a9d74a94373c3aaa52afe74a98d07bcad248fd18943efb0bace6db36";
   hasRunfiles = true;
-  version = "1.02";
+  version = "1.03";
 };
 "rterface" = {
   revision = 30084;
@@ -29504,12 +30435,12 @@ tl: { # no indentation
   version = "1";
 };
 "runcode" = {
-  revision = 56594;
+  revision = 58908;
   stripPrefix = 0;
-  sha512.run = "f7f9aa70a4a7201841eeb20e173c8f550ede9716d4608c5c2e762c03945fa8b279da9b2081ca1fa1a15ae19a75860507a51c78bcb13cef48d2ff37a1d9d169da";
-  sha512.doc = "eb9d3cb287e94da44d921c471e429d3ab0e70e74df2a7f7b19fe4efe514641d58f8fe5a74facbcccfd6b4c45ab2af95121912980d61e57e3ef6a3ddabc861359";
+  sha512.run = "d3ea947106e824d697e15f82466a36e36215a6a3b5c954cfd6250cb3a896e2de2ba6163cf9be5510bf4250a57809d27ae8c06915d9f601057608e7d57e08ea1e";
+  sha512.doc = "48e8847f7a50e14c809b08244cb9851c25a367799aa3ad673472a8e1b66aad2e4dc0ceaedc56fe2fb106c610f4fc825c10b05665a385ef7347bdc87a85338a0d";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "russ" = {
   revision = 25209;
@@ -29627,10 +30558,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "sansmathfonts" = {
-  revision = 51356;
+  revision = 59673;
   stripPrefix = 0;
-  sha512.run = "71d70b034c7e0da6f8e1876c40ce2821e05cc814e5d8e1194f5a76c4b490d8d191bf6b3c9bb7fe880d0273ec8e1f3211bd335b526b154116d7ccdcdf0b61d0d5";
-  sha512.doc = "e61cc601588681dc29113391426cb345c207eefb04562ea6eb8369cdb8ec4844b0bab586ed91bb2a1506c49c5a60661748de95cf792b07fd52ba23cbe58d254d";
+  sha512.run = "d94d362ac6bac44177f61d73baeb4eebff6bd1309fedf0d152b422e1b5f2bd2014c4b95876cce75033d6f6a7835c277b6e1cff2beabdd510be3e32ac7501f393";
+  sha512.doc = "0aa7efe2afcf020bcb15e185fc402e6a8c65cb7c8b563217cede4ca23f58a5ce4bc3028cdc140a4d9354b62830471d8a8e49f23c8c6e48c161fe859fc60306bb";
   hasRunfiles = true;
 };
 "sapthesis" = {
@@ -29765,10 +30696,10 @@ tl: { # no indentation
   sha512.run = "027a1cd0dd4fc5da2427864bb49fc885a00bec6e8a74da24ce9cd781c69bf4288ddfc3c790307ed48052a8fc00c1989d3939b253da6638370adbb1c43348749b";
 };
 "scheme-context" = {
-  revision = 54074;
+  revision = 59636;
   stripPrefix = 0;
-  deps."Asana-Math" = tl."Asana-Math";
   deps."antt" = tl."antt";
+  deps."asana-math" = tl."asana-math";
   deps."ccicons" = tl."ccicons";
   deps."collection-context" = tl."collection-context";
   deps."collection-metapost" = tl."collection-metapost";
@@ -29788,7 +30719,7 @@ tl: { # no indentation
   deps."txfonts" = tl."txfonts";
   deps."wasy" = tl."wasy";
   deps."xits" = tl."xits";
-  sha512.run = "2bc94138102c5c4926b4199e09afc0ae66ed32de5030ac9f64290b8b98ce1c39a2197cbc3361d4eb56614552af21c0a67ef9f3dd0af0767f4e1f91d6023e5206";
+  sha512.run = "0b041f3c27ef88e7baec105b7cb24fa65c4b1f092f155482d584d9041ced4f329251f0b0d32f7019c15fff3c57b4d17f057cf39781f8be16a4e8c0ce4838163e";
 };
 "scheme-full" = {
   revision = 54074;
@@ -29836,9 +30767,8 @@ tl: { # no indentation
   sha512.run = "bda507842fde5239d7f45169ff78690bd96066d1834cdcc6a0dcbd3e3439308c694ce4be6a91d1f155ebe5e29d46173fe13c83bcd4356969da95fb7cca1b4e38";
 };
 "scheme-gust" = {
-  revision = 54074;
+  revision = 59755;
   stripPrefix = 0;
-  deps."Type1fonts" = tl."Type1fonts";
   deps."amslatex-primer" = tl."amslatex-primer";
   deps."amstex" = tl."amstex";
   deps."antt" = tl."antt";
@@ -29860,6 +30790,7 @@ tl: { # no indentation
   deps."cyklop" = tl."cyklop";
   deps."dvidvi" = tl."dvidvi";
   deps."dviljk" = tl."dviljk";
+  deps."fontinstallationguide" = tl."fontinstallationguide";
   deps."gustprog" = tl."gustprog";
   deps."impatient" = tl."impatient";
   deps."iwona" = tl."iwona";
@@ -29871,7 +30802,7 @@ tl: { # no indentation
   deps."tds" = tl."tds";
   deps."tex4ht" = tl."tex4ht";
   deps."texdoc" = tl."texdoc";
-  sha512.run = "57928b06ade27a28ae171e90cbd60c315393adb38cfac93f61f4950cc344340f0837bad65a04b2a3bef08e9c5773509caa1302eb8c299e1327fd3a418e5f0a36";
+  sha512.run = "2b3e2e3d31c8fca7297729e910ada06a0d0282b618c92487b7a0da686938dc1f6f3b0881c7d1f8f3d002806ad8860c25802637c77919e21ca54ae8a23ef08ae7";
 };
 "scheme-infraonly" = {
   revision = 54191;
@@ -29968,9 +30899,8 @@ tl: { # no indentation
   sha512.run = "6267151dd73cb8b751ad47b79f9c698b465ad5ae5494d462cf5b3b4e7446a3c014a715381bc6a79eaacfd1ba6efb37c6c1bafbd5e1f82e8db751bbaa9a943013";
 };
 "scheme-tetex" = {
-  revision = 54074;
+  revision = 59715;
   stripPrefix = 0;
-  deps."SIunits" = tl."SIunits";
   deps."acronym" = tl."acronym";
   deps."amslatex-primer" = tl."amslatex-primer";
   deps."bbm" = tl."bbm";
@@ -30022,6 +30952,7 @@ tl: { # no indentation
   deps."pst-pdf" = tl."pst-pdf";
   deps."rsfs" = tl."rsfs";
   deps."seetexk" = tl."seetexk";
+  deps."siunits" = tl."siunits";
   deps."subfigure" = tl."subfigure";
   deps."supertabular" = tl."supertabular";
   deps."tamethebeast" = tl."tamethebeast";
@@ -30030,7 +30961,7 @@ tl: { # no indentation
   deps."tie" = tl."tie";
   deps."web" = tl."web";
   deps."xpdfopen" = tl."xpdfopen";
-  sha512.run = "44bc102582ef5f6e0499efde6d3190b86988def41aa062a6239075b9371f6c9deef91e4f2bb299b3cc831dbcee9289fafd4c1c6d2a55a747d340fb580ae918e3";
+  sha512.run = "fe8b53391733392a72be2e2c80892ec68fbdb749c70636c307825c8bfd6284945c9961610fd19f8b5d6b03ec50f0a1543c7d159f5f2a19534d71b221addfb708";
 };
 "scholax" = {
   revision = 58733;
@@ -30041,37 +30972,37 @@ tl: { # no indentation
   version = "1.030";
 };
 "schooldocs" = {
-  revision = 55838;
+  revision = 60560;
   stripPrefix = 0;
-  sha512.run = "baaa044e2e70c65c91acbb5a2d1add045f24be9361bc4b1c4761a09974b070223144ed9b41a9e5c41cb1846a271cc3338b1f44ec7b8af35cd82e7cb7ee490236";
-  sha512.doc = "6860607cbaa4205b41d0e4145c3579f6a40ba27a4047c1c614a2134fa2c34aae16fd4b56dce0720813f62ac7473711a32a2ff74d7cd5288694810942d99f9ca8";
-  sha512.source = "078875026c92538b9086945c6b3b4d3a8121e834b81156baba3d454f3f6bf199b484718c3da7dcca3da837bc345ca80ea311448680720a87150c40f2f629062d";
+  sha512.run = "295228025ce4884ae987ecf329d957ad220306c7bb44369e40c6d42a2564b78194a3cf32571f4f188e9557f9db7281bcaf1ade341b39e3eee300e58fbc278213";
+  sha512.doc = "f62105d0f0c130d718db6b91fc3768d81e97b6ee24af4ac1eee00cd4e5d3ea605f2168883340e5662b18b2791fc3aadf405f8287a0562e9e13a254776878448e";
+  sha512.source = "c7717a15ac1170275cf2dda3905f0f6cc504e8b3eaeb6a41ae58c32e2a8d22fb752aaad588526914bfc28905bc4d2af77fdffb3df6881467415c78131d34c60f";
   hasRunfiles = true;
   version = "1.0";
 };
 "schule" = {
-  revision = 56683;
+  revision = 60210;
   stripPrefix = 0;
-  sha512.run = "7125beaddb825fca0c9ff686ab97fbe7cb3744b74bde693107e26fc2797ac9bd29146683174ac6d7703370cf7f5f09809165b2f371c56a8b27ae0de8980ab467";
-  sha512.doc = "11aa5b1eb25301e61f2438f4607cfba35721dcbb0904ce3fdb923f69f71b1f1e1ebc3a50706b09e306e2b9197194a3c6ebb12a1fa7dc27b94686df11be3501c2";
+  sha512.run = "01d62151d01b00dedaf63af9a2adcb91f293372064c43cdc0353f207923f471a45958f60cc9c16bdbaf4b78bad65f4ebfa7b8e2b851f307eccba60f9171e9207";
+  sha512.doc = "a626078e2c8a268663bcd0148dc8c7d382a7e6e29e2f14ef0e34d75a1f460702c09042625378bfec482d8055e34b6661f137982e328c8cb21ddd29a0e9a69cf9";
   hasRunfiles = true;
-  version = "0.8.2";
+  version = "0.8.3";
 };
 "schulmathematik" = {
-  revision = 58359;
+  revision = 61347;
   stripPrefix = 0;
-  sha512.run = "283c5541f876edeea48201cff842d0d4b73ed1fff33f419371c9fd721cbd1711203f3449874d57573285a8e0e9a7386fcf586444030fee3c587b9d830ca2235d";
-  sha512.doc = "1f360107f14c7261c25c3806b4c5b762ec65b0d1818c4cc450784338119f0148b0319cdc3981c7cb29c776aa309f3b90782f28abde3c4b5cffe16e51bbc28f39";
+  sha512.run = "e24ba267da9a9fd00b1de1ef6e878f36be2df2e5860d8e8af65a2c3d91ab04dda143f1aa69bfefc2ccef1970e2149a4fcf2a8ba0d92a0f062a71526d19529795";
+  sha512.doc = "b648305dc48871c5ba4b52af333bad7873038cae7740559383199715fa10e6ed0bb23d3972d80081b9d57857bde80d12fba55730b9af09f6733b0397d9f416a4";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "schulschriften" = {
-  revision = 35730;
+  revision = 59388;
   stripPrefix = 0;
-  sha512.run = "baedf984b1d1cfeae56af4b9530b81d90653eee334a90f2a9a83a871240592ed6267668b6974033cedfc1e73166232201eaae8e4876d38b9fd94919e8262336a";
-  sha512.doc = "b43f16b38c0417b074b7f45bd42290f3434275c23c6031f293101d907c2004805168d86137190300daa1ca62dd1b25cd2f795e712868b36e454cda134f680bbb";
+  sha512.run = "d24778c0ae93d06b42bc8d7eb8d84ab6e0f42b33352f2dbd79586a4ed9bb21fe99a61dc0eab375e56a20624fa5ad63ade3446d685dcf063d46c0f60264c431f3";
+  sha512.doc = "c9b6b43bff7a90f158b0a10c431cc52e65c4c2d49c773aafe7e54d1283d97c3badfca5315ff982cf0a524b514594faff5666063164483987973ce60d2edcadb8";
   hasRunfiles = true;
-  version = "4";
+  version = "5";
 };
 "schwalbe-chess" = {
   revision = 53305;
@@ -30117,6 +31048,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.9";
 };
+"scrambledenvs" = {
+  revision = 60615;
+  stripPrefix = 0;
+  sha512.run = "075792b5d0fc5201d672e622a958c600ff479caba2920a32ed3d3f469c525d799d8bdef20b3a08391a22ed3eead6ab3f30cebbed36c469e423e2ea844c170651";
+  sha512.doc = "339d1cd398e62d65c1c92927a07dd4bed740916f2a98dd8ba2d913976d69a70b0340b9cab35250ac3ee862f4572438f87562cb6f7b2031cbe0252d8cc781009a";
+  sha512.source = "1a605abf62adf986a933b6d1723699e9920df07fe383527b5d8491aee5431b5f91354052a0810d8a0f8cb2b8b853a3945d38041fc6e9e573c159e7baeaf356dd";
+  hasRunfiles = true;
+  version = "1.1.0";
+};
 "scratch" = {
   revision = 50073;
   stripPrefix = 0;
@@ -30193,13 +31133,13 @@ tl: { # no indentation
   version = "1.2d";
 };
 "sdaps" = {
-  revision = 54678;
+  revision = 61017;
   stripPrefix = 0;
-  sha512.run = "506507e08aa6d3e4408c50bad4541feed8bd491f668ba10de131b4ecece0b23ed6666a117e6b5826e7a2e7e0cbe6b64072a5ed5b090d9c2568354ea7a50922d3";
-  sha512.doc = "8c98eda0586c02497fbf4a2a0125064b1200f1b16506c720d8103b88b2256e517eb5553d2027fb4a1d8fd711e640b045a9e3a90f152e957b5c3dc6df53509424";
-  sha512.source = "3c6687e548f86f4a96f88264841e33b670d6dcbbdf7debdda2e1d8751ba58abf1e56005f3ac2160f3bf88bd113fee7b72a186ebba3b30c40521ed0f52e7dbbcb";
+  sha512.run = "9ae34647cb380cffb4ac55593339b182dc136d4649e4dbc126df322a478ee16fa59c635619c2b48c62c70b2efcf29ea8af35eb0d687cc9ea5beb02003a22c2a5";
+  sha512.doc = "e5e2895f47f43f974aeb0a14e574956ff920efdec86156912c3a9fb2e71a9bef7783c455cd518fb87e6cdcb7548c3893a278f7f55039fe7f63a805ae72a7932d";
+  sha512.source = "cf0bd7d81bfd73b480bdbbfe77782532fd48f430680676cde0fe369f62956d3ba6dedb295d4b40065ff95458c4ab75ee84dba8b3b6d04b17fd44082c08fde06d";
   hasRunfiles = true;
-  version = "1.9.8";
+  version = "1.9.10";
 };
 "sdrt" = {
   revision = 15878;
@@ -30227,11 +31167,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "secnum" = {
-  revision = 53657;
+  revision = 60365;
   stripPrefix = 0;
-  sha512.run = "8e54eb92f9f9c2a07f50e11fc3c68bc39fe4da3eabee3658f24b76c85e8effa8c4cf72a26dc30a8fff9a002a5f66fa1cf349f2ff5ef1dc51eec7c1ae3c0ffe15";
-  sha512.doc = "e9c44b617d479f9850ad0e408c1c2edc36025f2e1f1e812ecc8370586b22c9aa05f74381e0fa6b1ab39f239bb18e53cc4665482f2b1f3f3057fbeac0f01945d2";
-  sha512.source = "eb4e6c55332e822b4e0b36fcafbe9fcc8a52e3cc5bad9abf538aa87ce6e0318123c0030f5b6e041701b07abc5cd6ba95a7629eff07c27f220e2188c8f6e4b7e4";
+  sha512.run = "78d92a6e4fca2e1a8c24f9f94f0872afc8bbbd3ecb64c5bc15bccc8ca2a04fc58024ba436820f399aab7f7e1a243d89e72c902d0167df5b286a7a5160bee0289";
+  sha512.doc = "c0cc2998f191759f32e5ea5e7faabca63de02493a355550f53c004c66db1ae82c5d89cbf9655e33ff878acde8a0ecb1208b5aae1a72dd7f74bbe296225c595d2";
+  sha512.source = "4a49082da28d518fad99006c7612b5318f875d70f184de07ea3f9851841a91e894709bb8a1915674ed88f1648b9cce960d4a24e2b69782919632536145a8bf79";
   hasRunfiles = true;
 };
 "section" = {
@@ -30306,13 +31246,13 @@ tl: { # no indentation
   version = "0.302";
 };
 "semantex" = {
-  revision = 56863;
+  revision = 60312;
   stripPrefix = 0;
   deps."semtex" = tl."semtex";
-  sha512.run = "d09b5dc2e6b8031c03b59254b442a8c5502cacd2d24c91f47ae6243cf5908062e79ab0e7a521c2208848ae7f9acb147716cd8a399b362a91a5cfdec87e213814";
-  sha512.doc = "829286b336f1d05afa9561d3937fa526b6062b03950b3f350fb4fc586f45fa253d93939b6432685a08c967eb85c053d07c6fe3e08126869ef63fb43bd0acd992";
+  sha512.run = "e4e6656d2126cdfa9cd58042a7aa28cd7b8bbc0cd5b891e8edabc1749a7b34d45a109139ab88f64cd115a62a5c32871187209865d76659fd1b80dea6721e0a38";
+  sha512.doc = "d801226caef1e9e7720eb02275196fdb300670cfbc8aea01fd17a959ed030532f844fbe8a8de0b802eb81515a9414f14922c3310fbeac0adb5354861635e0747";
   hasRunfiles = true;
-  version = "0.463";
+  version = "0.513";
 };
 "semantic" = {
   revision = 15878;
@@ -30347,12 +31287,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "seminar" = {
-  revision = 34011;
+  revision = 59801;
   stripPrefix = 0;
-  sha512.run = "63173000935f741b7d1e7dab2fa0091bcb758ba36dfca0b6c745ae165f6b5f3aeea7972319078f175e231d3e0ebd3454d2241a2bc4f0f36ee51bac7bb7287a56";
-  sha512.doc = "0bc4ea04a561c8a8c17f4f6ea493fa98e12e93cefd58b0aeeb0b09823f2b97028d945f1c9199fd1a5ab10e0b695079a8d97608474a4d04640496737640a9993c";
+  sha512.run = "28795c64e4af5296e228986c28115305cb76087d241e91312cfff351f7e51833a0d76b2acd667fc5f7616dcb1685cd02b2d9352ef7f0e36d5bffdaa5f421e6eb";
+  sha512.doc = "8b7364dc568d1fd78cce21ff1846a6369fe3fccf07bf16ece8383c941492404d6fdf3be1607aa2279a10d670803536474d7cc318b9b3dda24142fbcc69fe69e0";
   hasRunfiles = true;
-  version = "1.62";
+  version = "1.63a";
 };
 "semioneside" = {
   revision = 15878;
@@ -30674,13 +31614,13 @@ tl: { # no indentation
   version = "0.5c";
 };
 "showlabels" = {
-  revision = 41322;
+  revision = 60877;
   stripPrefix = 0;
-  sha512.run = "4d805bcd319df51219c956fce18fffe3b91aad3f468f54f5b6fd9ca15f8c24df10e1092252ba6870fd406c024deb054c60d7f64dfef7194c45b92a8a78a9da1d";
-  sha512.doc = "0a8cf29e85526e92df738364607e31927223458a969c117d40a0e9cf3470e5c4050107b9fe915ad2a23720a2dd4f5faa1d43d9737b9b7a6f6105de3a36e9888b";
-  sha512.source = "eb0dd894327bd6f4591a3a57c52af10e73ae07f7d933ff3310012d46b09d1572adac0eb6a8a22ff03ced5f7832a017b58ef809d5fd914103fb569b42cfb2abfa";
+  sha512.run = "4d619e52b40b06a7d31ac0627ec00a19f38c4ff56551279e185d1b86461b776dc75d711d52ff5d83ab9ddf04dc3828cf0302760e71cba2dcaf4c284c8c65ff6e";
+  sha512.doc = "154da3583e03b13794e366926bf4430961e8159558bddd86f8d080f53f12bf3936c4caaff8f4aef131e7d84685145ff5fc8d644134f5c982367cc106ff505066";
+  sha512.source = "9bc00b8a250e10c0f2eea3aa93a1fd1de32d11acee1c8163a0160d2c1dc14aac30cc30d29437f083dd990194b5a2d5027580698f622889e63cf0bb7390da7f61";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9.1";
 };
 "showtags" = {
   revision = 20336;
@@ -30837,11 +31777,11 @@ tl: { # no indentation
   sha512.doc = "f5bf92ed89cfc83f306cd4b2599446a11b73f73a0b82afbd0f441e26d837e6f436913bd2df18585c5e215fa0504bfee3d5d4f5ef4da8925161f85c70c14045e6";
 };
 "simplivre" = {
-  revision = 58414;
+  revision = 61338;
   stripPrefix = 0;
   deps."minimalist" = tl."minimalist";
-  sha512.run = "cdcaa2083a2005e7b3dfb3b2e931a49da6f18c7860fad8dd0411bf88251a799836b6032382e661611487f6cd549a1d916977542f448ac689d976dd194c0a49a3";
-  sha512.doc = "8bacd8834d8b54707d564b2a16a4f7d177205e9ab9704d2a47a42be399c0bf5e0ca1728f1b44e48e3957a69285615587df40d3ce9f98147bbb692ec06ac7875b";
+  sha512.run = "495195229000b74ded294ea807922bb8c1448481bad07eac676b6ce3e5ebe7de2d98d44c88e12aee53e0816f85eb4507d3a283b750031fb964d2c239c1344772";
+  sha512.doc = "99575208b92d107bb22b23f947b918dd920c8d34f0f5e42af1895731cc84faeaccc11231115198f01d4a0461416bf984526a974ff82f17bf775be6b99002ec58";
   hasRunfiles = true;
 };
 "simurgh" = {
@@ -30852,6 +31792,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.01b";
 };
+"sistyle" = {
+  revision = 59682;
+  stripPrefix = 0;
+  sha512.run = "0423402d3fea5dbbb60abf6c763bd037982479557b84b6ff38f795168234cd3dc6eb0708fb7b5e76abb1f68560a884e7d8b4e3a256d78b23aa81dba9b6e70d4d";
+  sha512.doc = "94fea0a472ccd43396921d957544ce6b0a1d6b9ca5ee63a01fb0f1fdd61e1cafeeca4c85366302117d852f20798c51b76966097bee3c2d7f6509e339720b744f";
+  sha512.source = "bda83997fcdebffe1792ecf0678cb8065ec0f4dc37b2662fb515c8f314884799650a38efafea97e4103cc915d421b9cbc60ef9c4c81bc34a6b083548ebbf691c";
+  hasRunfiles = true;
+  version = "2.3a";
+};
 "sitem" = {
   revision = 22136;
   stripPrefix = 0;
@@ -30861,16 +31810,25 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"siunits" = {
+  revision = 59702;
+  stripPrefix = 0;
+  sha512.run = "01b2b83edba4482a6d0434efd4590b3b0fbbb596da6075632a215d60a16cc48d66f0f47d3ca61a0e73290e933952cac15fa2048f6ac12112dc603956f123f5b2";
+  sha512.doc = "d6c34f20671b68a1ffdf47b32e037d7660b660fb8a8e3768083ee7e33b08e7c313eb5f2c585657dcfa258f85574bf6b13a86ef81e49c2ed1b407e4dfc8dc5d04";
+  sha512.source = "8cd5d556cc4c6abc503b9882a7c2ff19052a9004d703b37383d6a6c6ec671ea434b03f6f1df362aef2fec06dfeefb7b231072c975eb946262b71b15131f38daa";
+  hasRunfiles = true;
+  version = "1.36";
+};
 "siunitx" = {
-  revision = 58714;
+  revision = 61216;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
-  sha512.run = "7f43171d9d2f4074af2f912de20c5953cc2dffd45a6540907dc1e2924ebf03925190eb120cdbd37b59686f0547c0e545f5aa1db0607274bf0b61b4db94c722eb";
-  sha512.doc = "f668ec1ca464eaa50d698397f03372b2a300e304a640c65357f42d612cc13eb498533ecfa4842a3bf65181402c1a324ea997fa5f438a5837a7b3131ca276499c";
-  sha512.source = "b288e83b4fc610a1a2a85a6557e6bd2e1dd1732ee2b6e90739ad15c5436100ebbf0e95eba820f74d079465f62898ca8cd608f9b6231e0b0bd84d80ef0a930fc3";
+  sha512.run = "7c326ecec5031ea93eed4c2c94c63a3907422b6e1e5a90bd3314c7fa4964d66e366ec798eb1b0ccc8c8b29a96a9cc9ece8da130e20f5d989b14045118714a004";
+  sha512.doc = "6ced0f90a64f6d6cfeca304852ac00fdc8c94930176115c0f5c4b3569eee3bf7ea0bf2c131c123f58602a5c19856969e4a53a079f1d825ddd89a1f6d9d6116e9";
+  sha512.source = "a81dd931a41995b23952bee644febdd8390545eaecfd8f127cf73e0bc7a371d440f41f68a8c7f5fd68b3f0eb520d8ed73b0d9588d95439cd7dc3d76f7db86e15";
   hasRunfiles = true;
-  version = "2.8c";
+  version = "3.0.37";
 };
 "skak" = {
   revision = 46259;
@@ -30987,6 +31945,14 @@ tl: { # no indentation
   sha512.doc = "ca62aa29f6ad62f149dd9c5077ee2b14ed69d8a750f33d3de274ae275e5d1528482e58140a78b0917cf02a879206194e24a6beecd33060544abb50dd6fc564a6";
   hasRunfiles = true;
 };
+"smart-eqn" = {
+  revision = 60178;
+  stripPrefix = 0;
+  sha512.run = "6c86441ebc231e92b5ed5663b2ebd59783e05afc6cf8bba91d69f7aaf5386f32b0f37779488057be3e01b2dccfaf9bc764e408d47528bd71d73add32bca817e3";
+  sha512.doc = "3f4e0eb5ab5f2a40604f4d93657ae8b118f41bd6b37ea61740c64c9242e6bf3d664be6d120371b85fe47f44f2c80cd4a65fcaeeeac84ee1eb42b917e394316d3";
+  sha512.source = "6be5d69818d3af289514d1dea73726bf65e45383ddb65e4c25202f38e621b53eba957b1576a74c2667cf83edff1f57a21f3cab740f091e8c90112354277f2bca";
+  hasRunfiles = true;
+};
 "smartdiagram" = {
   revision = 42781;
   stripPrefix = 0;
@@ -31012,6 +31978,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"smflatex" = {
+  revision = 58910;
+  stripPrefix = 0;
+  sha512.run = "3723047537c97c42f23eaf15dd95941092300a86a5072cf261c2d9a4fdc09d17e3c09cefc6a1f632996b45300cfc5e3266dba4130decf4f6d33063b0b7f45d0f";
+  sha512.doc = "a0ead1f76c26126c3cf00bd735ae8002648ac874511de92a73b756197328af3d81d66697c0fb3d210047570dd267b5c975b26a7c6e42b0fa61b9b77a29bbf113";
+  sha512.source = "99a45d290c450301108b032830b02c81d3487ebb281f19f17826df8ed267dada23b5bb039874f97de29850c1d33bb775097d53d7e4d8d4373de9143219aa57aa";
+  hasRunfiles = true;
+  version = "1.6";
+};
 "snapshot" = {
   revision = 56735;
   stripPrefix = 0;
@@ -31021,6 +31996,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.14";
 };
+"snaptodo" = {
+  revision = 61155;
+  stripPrefix = 0;
+  sha512.run = "10d9e3d154a3713c1f494ae626c61a1275b902892ad7cb34f41c65a36335a7ea21bc9d7d77d00845c2e5f270edc91d1be5bfdfa34189a2ac6bd88ab83e78212b";
+  sha512.doc = "ed3df0276b44e2539b9b8cd0b5f6b46f86b18723d0913ed29fba45e30a132b53f8e0206add2d31bc152c78f319b8f7671ea000a1f344dc7f7d80ad9de32cd66b";
+  hasRunfiles = true;
+};
 "snotez" = {
   revision = 57147;
   stripPrefix = 0;
@@ -31072,14 +32054,14 @@ tl: { # no indentation
   version = "2.4";
 };
 "soulpos" = {
-  revision = 52663;
+  revision = 60772;
   stripPrefix = 0;
   deps."oberdiek" = tl."oberdiek";
   deps."soul" = tl."soul";
-  sha512.run = "1187494b2c65535c47f88f2387df8cf4f835222ad19718a4fc6ba7c4dd9a30d7d6aeb972f35b5c9350b873056b87a6a93ced5f69ded272c6aac82e467da6cd81";
-  sha512.doc = "10a6999a68ebe21d4e9621a11c63154dc720332cefe8f64728b51dbabfdcda2f638e456c517374bf892b21354f3fca8a746c1539e5745ac42a0228d900b19700";
+  sha512.run = "2b4d2fcaa687ff7d229706e563f739356a450a8ef02180f3c98432b11d027cd097fa895c3c971a944329b8657c74b4d2cf566110919e511e6883706561332678";
+  sha512.doc = "9577aa2c77e9cafea54eee0ee032acd7c1343d6eb66b76fc25d694b524630bd2f41043187671cd444c9cdd0ccc8b9064e6c71365492cbdbd46517a061efc87cc";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "soulutf8" = {
   revision = 53163;
@@ -31124,13 +32106,13 @@ tl: { # no indentation
   version = "1.4";
 };
 "spacingtricks" = {
-  revision = 56840;
+  revision = 60559;
   stripPrefix = 0;
-  sha512.run = "9cb9ef080cb14f9a4c7004221cdf8f3d5b90a74ba90a37960b6efa3a33aed501a68e2d8ae23d3262e8fb17816e4565e26722b78e1caa14b7455199e52d8fd3cd";
-  sha512.doc = "d5ab0e38687f00099830015bc469060e6e7a96ef5a199b0352e4a6ce82d50ff6df0b04de20bd683a03d9980a3c45c63905043177fd8ca9cf1f009e978d5dc12f";
-  sha512.source = "dcdc75265a9cf0131cf90beae018f35a54fdd201a641368c5380f82258e7c1bb5a680d1b104146c886df56f148921db0ca304063b2cc9532b0aa32b3288812c7";
+  sha512.run = "0b8c685eb4ea6748e00b3bd2d23bf71a0b5309fb5b89a0e02d767beacb8b4a29eee5d874453a57461ace4d9c1d2e3f7f376fde00b12564e8acdf2a5bc1b968c8";
+  sha512.doc = "fa91577ffd949619f19deab17f6e9d1d4949aed4477b2ff870642edc03b5321eafc50efbc046308d664f1a391b0f414d1ecd542b6a0ace210a32b6dab1f9f44c";
+  sha512.source = "b40a242ce6fa0b425a5a9ee0acbae8ac407fab0def30a9783e72fd4c8c3841931d21d773cb1569eb8fe662c51a441fed59c58849bd2a2b827854a3d1670be486";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "spalign" = {
   revision = 42225;
@@ -31165,6 +32147,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.4";
 };
+"spbmark" = {
+  revision = 61383;
+  stripPrefix = 0;
+  sha512.run = "ada1d4db0c3b59170eb7f5fac544ae628bcb81ab4ec5dea3ec4d1ed235ac4d4ada24f6ff6837c0a659e9e8d2da37c70af529fedfa578ec0e53f47acb3646a87f";
+  sha512.doc = "fcb1049bbe587c0f4c77476d5780d2f9d4cc4be9f6a58ef200c1c0b85c5a271a8d3e80bf4dbd047a71ab3470e876ce53d2627d45a7c10586022ec0547b6a7d07";
+  hasRunfiles = true;
+  version = "1.2H";
+};
 "spectral" = {
   revision = 57296;
   stripPrefix = 0;
@@ -31173,12 +32163,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "spectralsequences" = {
-  revision = 50072;
+  revision = 59992;
   stripPrefix = 0;
-  sha512.run = "71677e3cba37f228acc096ae916793cf214f90d30809019efc67ba0793b5176da1a3fe8fab592ca80a077164948c4be777237f71e895515e519f399534cc0cd6";
-  sha512.doc = "80eda3718c3cb2daf9f3a96a6def78011be1d7882eb50db692c2d34332a5aa79a44e0201445f67d1623bcfc3618f79f6d158a98a91572796674071143f017789";
+  sha512.run = "6865ffce4891cadcffe77b43572f0073a5e53c257b660e3e6ee6df004b2560d7e98bffad70195150c87952152304439e5602c9dae7d0d5e763c81fb8694c8d3d";
+  sha512.doc = "99529e9a783df04be7ff4d02b9579b82a1e4ba98b04fbb5bb89df7e34a338a1a0188359942dc4ab3a61d5928f496417465c6615cacf6a0f3923ced35135b59ca";
   hasRunfiles = true;
-  version = "1.2.2";
+  version = "1.3.0";
 };
 "spelling" = {
   revision = 30715;
@@ -31279,13 +32269,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "sr-vorl" = {
-  revision = 39529;
+  revision = 59333;
   stripPrefix = 0;
-  sha512.run = "135186b501bcf2a9b338ff13e330401ae3ca39db4225f639549cc929991d2177804b44ddbaec805ec1cd56982b140cec4625e7564fad7f4de89d2c2e06ad60d8";
-  sha512.doc = "a65dc0b7a12b5435d753aeeaca7643747c94463835cf1706e042710272cc0eef66d4f5f827c99034f9126bcbbf7e41293196f9ee29ed3f9961b9af27e2879747";
-  sha512.source = "f41d126426035fa0d1cf6564d9eb4966618a1c8f805bca3097a5f7e72c62a12c9d8e39b6830f9b1e356940b67bd99803e869d849949854a1a17da4c7ba971195";
+  sha512.run = "8a9b0833bc518b12019d2d474a70760e3b44766751485215c746b8a7c3b9ee1f9e92a5cee09c5f961fe97387855627c6a385b7484564556e0901c08c922410dd";
+  sha512.doc = "774c91361a95510a356fb7fbb70f753954d30d1ac309c1cf09727a2c9ea647b65f046d3eded8e631b512190f5705eab020abe8b7923ee9d6230c6c9fd782dea5";
+  sha512.source = "fafacdaf874ec094aea5451962c3c79584da5fdc1e0aec34b9965b9c8531d19538d362b68ff1d07073aaa3c24483214168b942b6b4e0391384c69c690620d9a7";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "srbook-mem" = {
   revision = 45818;
@@ -31311,12 +32301,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "srdp-mathematik" = {
-  revision = 58734;
+  revision = 61382;
   stripPrefix = 0;
-  sha512.run = "c6a37c722985c09980fb6487f46603a2b7475ce1d2bda4ab9eaea36c106fe19146b6b961e9406b76aea626ef0d09babb25193340a87bf4fc428c0a3314e04f34";
-  sha512.doc = "7886d6da7321cfc19f364b730a54def58250138d81538a74512416a8adceea299a36b517a0ac0b660041b85a9f9f2ef2125d613f3efc899b73d6717d69d81163";
+  sha512.run = "136e82abbe636476439596ffc746539ec587adcb3990111d8d3a6da6d9fcc8232809f75f269921b04b21f4494d26a28f542253a982b3735dc98e31d84c87b99d";
+  sha512.doc = "d1ed31b68c9ba52fde6aa1e676a7cc74ed1086447bdcc3190fab8e64e9c32dc30c348a6e0a36306d0b3d31f5fe7dca47da0016990648a00e4416e291dd3bcf28";
   hasRunfiles = true;
-  version = "1.9.0";
+  version = "1.9.3";
 };
 "sseq" = {
   revision = 31585;
@@ -31343,13 +32333,13 @@ tl: { # no indentation
   version = "1.00";
 };
 "stackengine" = {
-  revision = 53843;
+  revision = 60019;
   stripPrefix = 0;
   deps."listofitems" = tl."listofitems";
-  sha512.run = "13ce66f2a3335c62db5bb2872596480572e106e1cd594d8b787684f1fd3ea4b57ee015737e7e5dd053b526bf52b6ad20a84f4d4db49d9b888f55ad5b637894c4";
-  sha512.doc = "8a32a4a5e75023ab1750a6e85cb23b919f44ee838d24c0883fd4b8945d57a9e3a91b456503642544676eb4100de68a0ba4547d8e2c45a0ae90b3ab7b36acaf6d";
+  sha512.run = "15327eda5a6eda2b58055efc419ef50b8d8cf8c35283bcc41ee85e354f61ede6efeabf5e75bbb4cd022b95e52109bce1ee2e28fc701c5940723f3b15dd44c75a";
+  sha512.doc = "a0edeaed3766af88d1c5e0508fd285382850bfd072cf4f6fdc1c329c8ca9f5e1eb5fe75357d9a86dd8b2476381747c9a3f7cd7dad0d7c32419bef0d37849928b";
   hasRunfiles = true;
-  version = "4.01";
+  version = "4.11";
 };
 "stage" = {
   revision = 53915;
@@ -31521,12 +32511,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "stickstoo" = {
-  revision = 57193;
+  revision = 60793;
   stripPrefix = 0;
-  sha512.run = "5da4a3d412ee4c015e0f15939edf71bd8dd16f218ca3d8d236cb071554af2dac9fb4e71de4b18626578134e94262582dfb62071c1cc4af5ef2fb6111b6430d92";
-  sha512.doc = "0a36ffbe112993a90054e3ba413725abb4259e10a3f439eff694c05ce8b99592e7d1001fda13cf49d1ce0e89f388e1726962b58e74e13eea4b918ee85303b24a";
+  sha512.run = "aa2ede628a273b4fc0796153d243bf89dce6d3c1b0097b29327bf21836340d11f6e6368f312d76ff726030c05d012c3890f86277ac7eef79d5c5ca579f47cea7";
+  sha512.doc = "e1437dd3b47c8799b4a8a60fcfc215a303f1eb289e0424e51d29fad78c9fb4cc4890896baa77251681d000f2eb08365f9f16a2fbc1c37881b852790257432088";
   hasRunfiles = true;
-  version = "1.034";
+  version = "1.035";
 };
 "stix" = {
   revision = 54512;
@@ -31579,6 +32569,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.0.2";
 };
+"strands" = {
+  revision = 59906;
+  stripPrefix = 0;
+  sha512.run = "bc902fcd06413468d2dd3f23aa774824602a910749bc2b2cc8d4c24decc184a088190422c0f2ea58995fe627f855f6fa6e0b5ad0490b1084fdd122abebb77cef";
+  sha512.doc = "95cbfbe360a515fa94d0222eaaffc2cb5920a8a2f5b0ca0a052f29f7237b58214c8f39288d08db88e97ba0694f3ac6793c7c8c90d47295841e009db46b037b91";
+  sha512.source = "7e95d4132e4d1c4bb319d3ae2f4ddb10b65ca7b30d2ba6942274e0169a8d69f39d7d552c7470adadf006ee0725bbc0862a1c1190f425643bba108542bd8e4b75";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "stricttex" = {
   revision = 56320;
   stripPrefix = 0;
@@ -31606,11 +32605,12 @@ tl: { # no indentation
   version = "1.24";
 };
 "structmech" = {
-  revision = 47859;
+  revision = 58985;
   stripPrefix = 0;
-  sha512.run = "4efa9a978eb0bb92dec5588107588346ba1a22a34e12bf43b811176d42871f415ec58adfa50a4a4bb9b72ef482395c374b9e7b979f1b779e672422bac2c91c6a";
-  sha512.doc = "4eb7e209e5034c6809f8e746f63b1a5f3ed62c85cede4fc989ad6d89a9710bd15ee3e5622181ea9a450ea2b8430ae2c51ccc845851cd9fffa582e3b91b656457";
-  version = "1.0";
+  sha512.run = "4b4bfc5962b57792e34f22f19f8127a048ffc4428eccded53452b165d11d798866f4dfb477dc87f3be52e074ffef9e13e496894bb14e4ad1876b09852efc7f69";
+  sha512.doc = "48623a95193f3613d16b82a0df650b1bfcbf62bb1fc7f2fbe2b878199eae01d89a5ca9d151931ae16eceeb1d47dd835086f3eb46b0b3bd36133835e797eee4a6";
+  hasRunfiles = true;
+  version = "1.1";
 };
 "struktex" = {
   revision = 47931;
@@ -31622,13 +32622,13 @@ tl: { # no indentation
   version = "2.3c-0-g7d3fc5b";
 };
 "sttools" = {
-  revision = 56774;
+  revision = 60736;
   stripPrefix = 0;
-  sha512.run = "d9707fc22ad26d291288debdb2d9bb492175dade76ed398c3c0ffd1d4ba256d8c691bc2fb9d537ff01af4de7bf1352d4b1f62cc6c54afa8c02eea8b69185382b";
-  sha512.doc = "b32bd4fa10599b3ace5bc8e1b2dae79750aace26a98806de275fdd358554b6f26fde48c9e7b0fbb108de0a771728a68f6c09fa9c568a5e2fce7b9aaa1fb1f58f";
-  sha512.source = "56a096fbc8f28a0ea2f1ef31ebf277204319eaf6fb9bfcbd5449d24b2689a111f192ee1c723adcf8800c9ca2069c934cde8d0bdefae473e6eced2b043b7fd8d8";
+  sha512.run = "4e52219c4d3d668dd52d9a1e8e0de4f547871efb9f5515851b44e1c968cd564080c87c631d8cb53c76cdcfb8df884af0e9ea1492228929098a390b6184f5ed37";
+  sha512.doc = "c07922c52f57ffeeb57a9bf3b444e251f01f859f2218933889112b86d9dadc5791d7d926091eb3a2753a6ebebe439bc7037ef857b6d19a1e6e7b516fe879f4d4";
+  sha512.source = "65616cdefbe3d5b53f7f888412f8ada24860d33c2cd5babff26a3ae71c6c56a4d1a5eb5dd355d557c8fd947db82401746a4928a16587a88c3dfcc19f712f5e59";
   hasRunfiles = true;
-  version = "2.1";
+  version = "3.0";
 };
 "stubs" = {
   revision = 19440;
@@ -31653,6 +32653,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.3";
 };
+"styledcmd" = {
+  revision = 60430;
+  stripPrefix = 0;
+  sha512.run = "176121c22946936653f73b73d87f0f9f82219520d02ff41786a6214a0c12eaf436a62a8c35a5c26ea0e6ee1289327e6fa36847ce778652d4d0668de00727241e";
+  sha512.doc = "cbaf65be3e9edff1af87b834fdc47ed82ce9cb58fce83e1033d18f1f2b70f26ebc79c2b64ea201277c85de30d97415513508a237c6de5806928db249bb908442";
+  sha512.source = "66f90cedbf82676099c0bd5530d2c7f2514e6a3b171828c845340f055b0ea51073236fb75812598e9994187cf02c2aa824c20cba9132c1891b0afd5aa8c9ea0e";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "suanpan" = {
   revision = 15878;
   stripPrefix = 0;
@@ -31799,13 +32808,13 @@ tl: { # no indentation
   version = "1.0a";
 };
 "suftesi" = {
-  revision = 57650;
+  revision = 60991;
   stripPrefix = 0;
-  sha512.run = "831ef011581a27693ec114b66e1f5a80f0605f4228eb31755d9ca202a7b1881530be2ea89b1ba9d0b71ddca88c109da20919d65e5705adac143fb381f19a4180";
-  sha512.doc = "bf83d581ee054dbc74c2f685c9461bf6233b674a49d2b4d7a989c51f28728b25f3fff7c2f9c53110bb00b91a10b5f978ecb9180d2d5ba93cd6cd01f0be0cc4ec";
-  sha512.source = "8c4ce79fefe4ad379cbc97dca4d6e046c266c5abc46e2e8422abe145e74199c7518d0c2523015a06eef3f1350880dc2a259c488c60c1a2610b10fdb372dce342";
+  sha512.run = "12f9eed31e58856352c2625daf0ffe51d8df084a4ee255c8a19c17d1debee06873127136a49cfacfa3941e25546811216eb943e17717052ba369a3f34811687b";
+  sha512.doc = "01fd5a4e862960a219619a57adfb7b34ee71fd953f79178e6c77f6c27b404d9c11eecc7d302c9a8a23b4f746220acc9ee1a465e1b921dfeb3a9119d45b96b8fa";
+  sha512.source = "d0a66c2920a9f7e0ad2a54b47015b89e7792b8f0fa39011414ac80a58a826d038b29e5d0170803be3f00c61347dbf287c9608c59f1354895bf94a24a08d506f8";
   hasRunfiles = true;
-  version = "3.0.2";
+  version = "3.2.0";
 };
 "sugconf" = {
   revision = 58752;
@@ -31832,12 +32841,12 @@ tl: { # no indentation
   version = "4.1g";
 };
 "suppose" = {
-  revision = 58736;
+  revision = 59281;
   stripPrefix = 0;
-  sha512.run = "ff890a2809a19c63733769d545a908c05f1145762edc240c4aac8f18b6f0ef66c01f70d7be51c83eae298ea640af89b1c8b506ca0befbe5b461e8724fbcbb9bc";
-  sha512.doc = "834bf055ae114b1c1f01375b066281b96c8faaa9be1a7b31fd80718dc25b0a418f69c916195ae98a40b5317a4aed46e0d0f6dd8bd535f562fb26760424b2882e";
+  sha512.run = "b78fab6e7784cec1ad8c44c0ea6b2dabf7aeed133ae5dbf9c8044a5fd8af8509b68a1fb615a8bc33459676e4eb6f6d13f097cd689c35acf37beca4750ee09c36";
+  sha512.doc = "c59de255274f2a8fb961b57e4c59e7020f990b15a54ef008b251380b63d3564cfab7ce434a3782d3f467561557eca9884745e12f3886416967ad26b0a95b1f5a";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.2.2";
 };
 "susy" = {
   revision = 19440;
@@ -32038,6 +33047,14 @@ tl: { # no indentation
   sha512.doc = "8c30658eab02eb576963a6a2f722b143444abf5d286473f165b6cab84c75ef703462a1841121a5d12cf822b150ce8c23a96256754a2d662fbe6c451a058333ef";
   hasRunfiles = true;
 };
+"tabbing" = {
+  revision = 59715;
+  stripPrefix = 0;
+  sha512.run = "dcb4bf112afc6a2221030ee7cf0f0b3043dd12a178195ba57afd10702b3efd65948d58607334dd9445270cf69862011d97b72a0f8ca5868748174b1462988132";
+  sha512.doc = "e056f857e62c1fe3f6b0183c0929e617525586068c62beee604b904695274d4c271d4b973a8a8c9b046792227df389a61591b528a8a4c1cb5c9916618206de48";
+  sha512.source = "7ed54e677b3dbd8e10e85e84c69791339fefc223a753164c0e9aa8c47301ded6c0737cf62b25cd9d3b152eb63bc32406d9a8a86a620b0e8e00d562ee795f6aa8";
+  hasRunfiles = true;
+};
 "tabfigures" = {
   revision = 25202;
   stripPrefix = 0;
@@ -32072,13 +33089,13 @@ tl: { # no indentation
   version = "1.1c";
 };
 "tableof" = {
-  revision = 48815;
+  revision = 59837;
   stripPrefix = 0;
-  sha512.run = "3eb5dd3a3399825a85280c79c9f013dc9615a534e475d64777ec84924c9257aa930b7fe677a85c32b158b4099d5b61f306ea54f610fa1c9db42764fbf5b683da";
-  sha512.doc = "609011dc53d37fbad2abf84531ab99d8f60b636222debdf0466b33ed85964326b688a7e5d957500a970e1e974d5fbcf1dfc198e146360b6d43b58f6f3d67c845";
-  sha512.source = "b55b6834b7dcc3ba83f3e8620ffa9ee66b0a6962a4c1b95d7b74ac164300334db89f432af7407268d00190e79333fb3e305074feaf116344957a5a986c842d17";
+  sha512.run = "e577e1e8df3fd1ad12a2cbfcd05ffb1184fcd3555124986481c62a33ed7f5789bf1858a1370888887d2aae0d2a508a891e5e67bb0a4a1d9a924b3817c2d9e234";
+  sha512.doc = "bd568b16c6e708e4d0ee9810ba97f8363c842c22156dc90a257fdb0319eb49cab4f6ac9faee0700687a8a6ee54ea02b9660635cfeddd5275365d9c7f38218784";
+  sha512.source = "5086e314c042757a5e90bcbde9fdbcedeee689f89524df43ab390eefc7bf10eea6a9c5bc83b359b00c3ae351fa10f8e8a64b356adb8e7131d48568e06a8ed0d3";
   hasRunfiles = true;
-  version = "1.4b";
+  version = "1.4c";
 };
 "tablestyles" = {
   revision = 34495;
@@ -32189,6 +33206,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"tabularray" = {
+  revision = 61200;
+  stripPrefix = 0;
+  sha512.run = "b73fb6fb0ef945b79a41438d0a1282e367848de551daca4b274379c9906b65af0d49397f7e040c430753818ff967c5b5f148653c5807e4af33b2294cedd7eae2";
+  sha512.doc = "c3d7fc1a32ccb649d00019804212ec592d5a7b474547aa61362ab6a403c6b8407f9240aa1bf390f199de80371369a7d555a96bedfcdd7963f98e0d9ce0636c5a";
+  hasRunfiles = true;
+  version = "2021Q";
+};
 "tabulary" = {
   revision = 34368;
   stripPrefix = 0;
@@ -32224,13 +33249,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "tagpdf" = {
-  revision = 57954;
+  revision = 60366;
   stripPrefix = 0;
-  sha512.run = "ed62165f65bbcb159d727a41a02473ba32523f2d8f256a7ada5634fab4cfb1d037eff900dbbf271c7efbad78b306c71a9104dad1fb47662fee85f850afcaa450";
-  sha512.doc = "3630a123d98ebe9efd15729beb88e5a7d6c92fa485d416d2023a9d732feaf54548649551a9b428ac1fa25824cbbbfcbdd11b5920509985847a0e8f922f433580";
-  sha512.source = "9bef63a003833525c6b1a6e983ba53f362eb818b0ddc1006a0eda80a27ee46a1ca90b321bbce1e5cc83d67493f74db04d63f6d50b90863915b574c1ab0da7300";
+  sha512.run = "30c433b859248ad73c87daa65abfb816d464f8e1f3335aa6cf8d12a16d330b5a25140537dfc428b22540cab93d1c867e3b2dbcfc1b591ccaa41012a9510df8a6";
+  sha512.doc = "a874989022eb3c75fb9c43d3883e960b9e9c56ad055edd90364292b0c102b04657addcf289d28303bcb6e8b1a9b7c0697ffd7ef7fc834ce2613ff0c063887ac9";
+  sha512.source = "9ce6b3b72c14c620e05a0575c09c5cf871bd1041704d42e535a6b38ad2daab3896fb928031e19a16a02e91796cd10bfafe1a022825a7376038d356d237171f6c";
   hasRunfiles = true;
-  version = "0.80";
+  version = "0.92";
 };
 "talk" = {
   revision = 42428;
@@ -32290,12 +33315,12 @@ tl: { # no indentation
   version = "2.40";
 };
 "tcolorbox" = {
-  revision = 56610;
+  revision = 61358;
   stripPrefix = 0;
-  sha512.run = "70647656ee420fcb3c832e8552c2340229b0586a638f7c55404f96f20dcb3e8fd2c561a44ece09e6f507a3c4e2be189aa4cb3a3c4d8bc338ca4396e5d4b9416d";
-  sha512.doc = "5ec6c748b48b0166555437e0f75203e616e43a8b15787890b00d36df7c86de1971d2a876c5e7228f60f9ccd2e14c7b30ec061f35127a76f6194722c7103c9c0f";
+  sha512.run = "c0e45202f18657a68a2701047f95325ed34b103a4798fa167ed6513b21c4219b886a4fa82ac7015c88a5b2ebfbf459934f80fdb592cae4616de9756df396f2c6";
+  sha512.doc = "fb38e16b3ab149892c97071d4693ad1a61e0b75816313977081c9424f6af625e302bb84ab8b02ac709e5fac51231c3d4b8e03564ae3b3723891e98002687febe";
   hasRunfiles = true;
-  version = "4.42";
+  version = "5.0.1";
 };
 "tdclock" = {
   revision = 33043;
@@ -32435,6 +33460,15 @@ tl: { # no indentation
   sha512.source = "56c1396e90a4c1db5dd28ae96c6f3ebe0310c163d7fdb2cb4e3ade78b522b349fba0bd43556165c282bedcab167241033b065feaac4c4a5e3dc2d8a8a55dca61";
   hasRunfiles = true;
 };
+"termsim" = {
+  revision = 61414;
+  stripPrefix = 0;
+  sha512.run = "132615cbdbe257f2c7643414ef4b577053425e457a2e2ee2a9b4d8d56a7e6758db587b7f5223ef1a324931f5468ac5365b7dde7b971312bc8b8ea069ee5efb9e";
+  sha512.doc = "af5047a490608fbb5769b6b4d3dad3fac6b9b20abb5dbaf20d08a633045ea45ca1a01f572d3f0701567a91a8429ae0c7279fa82f054e6fe0802d413765c46ccc";
+  sha512.source = "45ad375a19ca939496f6f6546c9d2568367b3cd49c11fe1b2d94785448eb679d3e82c41a3282df054027636ca367b86b82dc3d937b42056398c23622ffa6e34a";
+  hasRunfiles = true;
+  version = "1.1.1";
+};
 "testhyphens" = {
   revision = 38928;
   stripPrefix = 0;
@@ -32445,11 +33479,11 @@ tl: { # no indentation
   version = "0.7";
 };
 "testidx" = {
-  revision = 52213;
+  revision = 60966;
   stripPrefix = 0;
-  sha512.run = "003179c0efebe0bb84cf1ddc80db6d905af6cbbbf59753b4102e5f7a760b5e7c90057976e2d0aac138b001e2a211da8758f8e2285866ac34c8287e1d3b82d1e4";
-  sha512.doc = "deab83c1eb6f77b379b38bc81e680e18b9fb02a4b147363e05646849af1fe402249c50a8eb41e6ecf60fb1cc505cd82593ae90c356cd4bf43fa5685cf5162f44";
-  sha512.source = "de09a92aefaff5ad23898b7b5c4ef447280c3664eb468c433161cc82bb040f2c3fb265ec976f4d985914804a96422748b2dc20863805e066cfefb976110a1a6b";
+  sha512.run = "e4179ab827eb21f27fabdd06674302ac141b6abf889e87c4183b4d86253ae35b5ea277ecb8ac36e66d51a4e25556fae092f98bfdd768d34728412f3bb8b5faf7";
+  sha512.doc = "60761fa19984e3ab2a0b5420320a43b84c1174a4e6722c75523fcaff43206ca2bd01f24af74ee307b5cd7d12196238f86539f8cfafc27168bf134df74e2736df";
+  sha512.source = "358c712d4073983f872dc9664bd6e138c7c66a420d1253ec36646cefa584c9148573fd978026de87d98806c71ea8f8f45c1cd0160b3be738d6fb9cd535d774c1";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -32538,11 +33572,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "tex-nutshell" = {
-  revision = 58471;
+  revision = 59448;
   stripPrefix = 0;
-  sha512.run = "63075927692bcb796c0aaa29303682f9bcd0984e41a344a4dbe7c21ac467ea2fbb5ea952655373e877d8125c676b867f8f26786bc3e40eafddc446a0e92ba4e6";
-  sha512.doc = "0e73d7735132f81ffe5aec90254e640e3da839da8fa6b5e72afbc45266cdd806f0c1ac5ef0d88b1a2e606164f37ca5086082f1e12af28726847e39fd5bd61387";
-  version = "0.6";
+  sha512.run = "87db8b6801e09084f619bf20576ae68f94998934736eef07c9bdf18895624e5964bcdbb505a6a9b7a936dedc09b3e07d4f2827f3e7acdbf0bc99cdd67a75f96b";
+  sha512.doc = "c62d2c448a6cda88efe7ea10c56367fcadefca423def8ff67f5e81fa62b0a64df2f9a524b4d2e3b2b579aa50c386005727eeb71462b9ee5415cca6e08aaf83ff";
+  version = "0.7";
 };
 "tex-overview" = {
   revision = 41403;
@@ -32571,17 +33605,25 @@ tl: { # no indentation
   sha512.run = "b9358f50caf39d274c1684d4514fef0439e015588431883955f7aec63d35f7176ed61671f72cda7ae28125b2a977f25ae66b028b21017f106d8f78bbfc7df109";
   sha512.doc = "aa73261fb0ffdbb7cdbf85df354490a72bd95e4d98e4a497e98666e6f5533a7f05a7132533db044ba993d86e03fc21825bc6fa7f262e5a0bcdb6de8114d38eee";
 };
+"tex-vpat" = {
+  revision = 60687;
+  stripPrefix = 0;
+  sha512.run = "e68812733ec787ad7fb7f80ad589fb0d207520a6fe6904060ce7c383d7d45805d206d3610e31c34dfadd011a32c81740f0fd91330b30a24ba2f64fbdab1d5f96";
+  sha512.doc = "909865a736bc77a01e9ebf78c0650dc598acf0d2d078226541d5d236d72f08fede27343f15c0ca832fe17d0eaafe4749431974b062daa7076980e94dc104469c";
+  version = "1.0";
+};
 "tex4ebook" = {
-  revision = 56878;
-  sha512.run = "9ef3a2b820f1f7015b61b8cff017affbf8cdc07fb1d4c39f629e46e2457a08875dd83252526e75465ec75a42d6580b7ec75b085455e5ba62dd14dd13a898a8f2";
-  sha512.doc = "0a01620564aa41d076a998910eff5a1fc45b7a0f2a3b2f606191e1442c49ed6685c8ac51a099834da2765de030d2f099a79fd03d6aebe08f78837f18638bc9d2";
+  revision = 61012;
+  sha512.run = "6493b58680c1e2437f8c8f964722fd45b860b577d1090356952dc46b5ea7d1349c526f41ee0254655fd1d33df8e427d83cabcbd237696e95950c570970dd291f";
+  sha512.doc = "b7a226a5249496dafac9ad09252ab8172f7c383a7f0cc82fd289b3831b7fc1ac53d76c8bedbb26c662c41ffa7502e773dc3f79dcbd3a2e26e62fb5d73efa21f8";
   hasRunfiles = true;
-  version = "0.3c";
+  version = "0.3g";
 };
 "tex4ht" = {
-  revision = 58348;
-  sha512.run = "240ab6f520939d3c9f7ce640740d6934e586a295eb959c503e0da6788833f3ffeab71215ed69dbb73c2b9feab09c169faa9b044576d629a43108ae97876cc8bc";
-  sha512.doc = "1654ce5b2ff1099bf19c62baa536b8c54aff53ac59b0289eab869820bc105617e68240e8e87e635aba063734c765ad9b46075c2ee1f119bead2c8ffa6b6159e8";
+  revision = 61362;
+  sha512.run = "624d0cb9c86d0a9b7f36a44fab3515ca0d480c843fd319347670d5bd2ef5b8c15974579debc3d674f23314e81362282d7b099568f4513f0b1deb4be8efb8ee7c";
+  sha512.doc = "1c7f345d6666d4f474dcf3d38d2077dc739e532e1112880e5c63514300363d5c826320358cf666c5f291391c3f5dfad53d3b2648124717a84395ec427c57831e";
+  sha512.source = "6d7a2b5e75c0e185aca7d67ca2813619e7101c0ae9af7a2b017462c3e6a423f9948da702395787e44a9c21b9cc939b7eb218807770c5dc0fab71a8c2ffe12b44";
   hasRunfiles = true;
 };
 "texapi" = {
@@ -32629,6 +33671,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.4";
 };
+"texdimens" = {
+  revision = 61070;
+  stripPrefix = 0;
+  sha512.run = "737074790de5c16de0e30dd6f708d6b8ec43e8d387ced2dc6b16b64f38854fad7367884abeab71fd41eaa79dc0c5939904314deed97331f9919a1fbefb0108d3";
+  sha512.doc = "3ab30a8de33cedd4bdb9aa0a84104eb5b02be164de9f6fb81a51dbaa6caabe0029228c311970a3287cfbcf270a5430d6883756e9c28fc924a3286d76bb71217e";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "texdirflatten" = {
   revision = 55064;
   sha512.run = "3cd6cf4d9ff3a1a3daef0bd5a998417696f6645cb54679e99e5424ebbe3926c45acad7b999ee4371392a7ba13fe3f2899438ce66efca7829c7aa1eaef84aa6e5";
@@ -32637,12 +33687,12 @@ tl: { # no indentation
   version = "1.3";
 };
 "texdoc" = {
-  revision = 58477;
+  revision = 59283;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "ace120045a48c29b207e94fa6a08956b63f4994374fbe5572a1e655046408126d094c0c89f9bb0350a6619b54912a89f4f72bd177451c84a9c3d182eddd9b5de";
-  sha512.doc = "ac14e4a9f5bc96d8d3baf1d8ff41dd1c996838cb6e8e5aad5c6e9bda0a93af9e7c5a86d6da7b5bd6342e866c48babe76023c659a36234a2a0b5787a84c389c4e";
+  sha512.run = "1504bbeb86a1329632fad25b98b967bad8c68fe8249f1ac9f4c017a50fc1c79994f58f3545681741213fe28d94b568bf4afb8b2010e93198a7df2c75bc3cebeb";
+  sha512.doc = "bb79a2cf6c9a013a9b3c4c11597f86617043c8abea84b86f11a9ad5093655d68e0ce8d04e59b077f832c513c25e407d9ec06bdc412c3427d9ec43bb5103ea42e";
   hasRunfiles = true;
-  version = "3.3";
+  version = "3.3.1";
 };
 "texdoctk" = {
   revision = 54557;
@@ -32661,11 +33711,11 @@ tl: { # no indentation
   version = "v2r3";
 };
 "texfot" = {
-  revision = 54246;
-  sha512.run = "9565c8106738793c9c14c8f42c750857bc64c324c190344267f99ee3e383f8052ff5df100298f4d7963ff44953c3af01a58ff8cfeee5237e0f07035ee6066be1";
-  sha512.doc = "1779cc8d4a6dd35acc591f959500e155b5ce155b75383c7b7478e934d00c508aa84f8acf13b07a2e67f529bcd125c7868d3a30d851f293ea149cf5a56d3cfcb6";
+  revision = 59040;
+  sha512.run = "101a37bb79e58f25c2a9198f1327ca911ab292578fb7d80769cee8d0b4459bec9e3b49addd64ac1064523de0685a595c4bce86cb272fd02294d3168b3db28bf4";
+  sha512.doc = "883a70368bbc9797e7e2967a4c451f6ab735cba63d92d1ec65ce954cfdf7235ca2ad4291dd2fb50cc09eb0e6c3831e6befd67839ba9b9c522f1199f995cae772";
   hasRunfiles = true;
-  version = "1.40";
+  version = "1.43";
 };
 "texilikechaps" = {
   revision = 28553;
@@ -32682,17 +33732,17 @@ tl: { # no indentation
   version = "0.1";
 };
 "texinfo" = {
-  revision = 57911;
+  revision = 61024;
   stripPrefix = 0;
-  sha512.run = "9bcff364b4f7e505f4301d54f8acd5fa248dabafe246c649abf4f229ad12c2e041935684741717e29f22a02ed3181b5619a3ddfe6e2047b16f928ab69b1b4295";
+  sha512.run = "1b2dcad2c8bbb0f6c9e2487921beae4791407594e45ed07d111b476619985b863f20fc077b5bb3d8108407b652ddc3f79d852367f8bfaf70027f4fafd8c3f668";
   hasRunfiles = true;
-  version = "5.1";
+  version = "6.8";
 };
 "texlive-common" = {
-  revision = 58055;
+  revision = 61281;
   stripPrefix = 0;
-  sha512.run = "c6118e4fc9264f731fd05c59d2b593f05244e247cd177f5e30f32bc9bc57b680317ec6e74b6cdad8053711522dac3a6a4fa26878de68bcc3279e1acae4a21883";
-  sha512.doc = "b137633217b0ebf37f97c96f589534fc9755d266a1f7fa5f2c11e4f1da2fb607eb4970769c19893e0def1a6a2e19b9a3c05daafabac8171b200aea733429a924";
+  sha512.run = "98e8b947bc399ea0ce4c5de8aa8bb811c57e9486fd419066ed323b151711f1cf92e7dca7e9e8c0f6e8e96bed8a38d1b51af8a0cb9d98636b1e44ec3a5b2cdb6d";
+  sha512.doc = "ba7d2425d50de29f0c0dc4738b27b5eea24974bdafa790d301e223e4d45d44a1b53c7892fdbe1add59261cf41d1a65795faccd63dea7b76d5c48994dd5edd022";
 };
 "texlive-cz" = {
   revision = 54496;
@@ -32706,16 +33756,11 @@ tl: { # no indentation
   sha512.run = "eb70ac7400ce4cbc18d3ddf2c37dffa175d0af2a8eb36bfa17b9868e606d1be7b1994496143e1a1444d17f2e2ac1c20cade92485cb846aa16a52974dd9692a6e";
   sha512.doc = "d51df93981312475c5c4b4976e4de00441d6ed4ea9e51d30d5c8360e314417f9b33c5804acae3c6d50c714bc76966120de37095b3ef33c78c06744ca17e3855e";
 };
-"texlive-docindex" = {
-  revision = 58780;
-  sha512.run = "817744e5fafb65fab41232df0a2648c0b8962d8e7d5ec997fe349b806479eb93cef89d9c8f713da58ad028fe493b04a446c3438a819f849c73c01dcb42fac6b0";
-  sha512.doc = "27c5144b49bae0a71ce33ae1aad7221a3ce8e0c1a338df5d47100d7a7b0f67ff1c173b98ceae89a0352ad84058f4771cef32aaa9c1713f989b3aff4c2fc168de";
-};
 "texlive-en" = {
-  revision = 58572;
+  revision = 60536;
   stripPrefix = 0;
-  sha512.run = "e154b4236933f7f11f6a47d2dd06916ca363d3a49ddba6f93cf330e4a159c7dcba7a98fd331a1e294b89f4cd241eca7c2170f2db3e3efaa08015d440e03c497d";
-  sha512.doc = "0e1d621ee17672a2ddc99502224c578297dc80a67361f7ae859d5b0703fe0c16547ac30a58c6ce83b374dd0d783f37d9f499a7da11945d9e347ba68fa5171584";
+  sha512.run = "eac0677660ac137244e06125215f8f04a58e361e990fe219a50381a1d4e3bebccb58b0c1ee4530b90672aa3c7f364511364887026bd2a355ea70c1b9c9091a7b";
+  sha512.doc = "fb985ef820a525e7b2ae7a8b67c49fa798c8ea333513f458be4e0369765f56ef4d68de00aab6fe0f93caf7d68fcfe18fffb6c06b6fc161a0f0be4674ff68611a";
 };
 "texlive-es" = {
   revision = 58221;
@@ -32742,8 +33787,8 @@ tl: { # no indentation
   sha512.doc = "1445ec4257d202f77452df48e70105e423e048ae9150ad70acbcfea350f8b8686ca395e9452d40eedbd6824df7a2d8560c5c761fc867cdda0d2ba9182eba5f16";
 };
 "texlive-msg-translations" = {
-  revision = 58781;
-  sha512.run = "6a6b677189e276e62e37b904563924821b9f85eb2faeafae9b3399f68387a999ef3998238d90b025afe0d7f4f31f45bb1e50435aab7740f737cce01cd8553aa1";
+  revision = 60760;
+  sha512.run = "2d9b5040eda6606ecb6050452d0485332f6265b7876169f1507c629d59d587a5c74a9b7bec606d8e028a1cf5f5bc9e0a92d30d36588ac637bfa1d9508e862f47";
   hasRunfiles = true;
 };
 "texlive-pl" = {
@@ -32759,15 +33804,15 @@ tl: { # no indentation
   sha512.doc = "40e8b29f29ed61addc2b9e7ce4b73d12bf2e59f1c50c65e59e9c8cac5e6c3ef264ce2071b0d54e15f5029c101a51d0efcda0144e113aaedc714eb1300aa9635d";
 };
 "texlive-scripts" = {
-  revision = 58791;
-  sha512.run = "c0f8f816ca1d149bdd493a7275f8de532e5a8d6f8b4603e7740c5510db4eb5cfb3e6d3838bc496aa9f8f1176ef9c1a7b1beb17edfce5c0a7cb9b4b684d2bc0c8";
-  sha512.doc = "9409e9d7170ad1a9c8cee2f65a31f538c81d4a2945c91978ed5a6bca32d1b9d2033ce6a3f7ba999ba8e78f4bae370cae76235b99e898c64bb104d8290c63c9ab";
+  revision = 61410;
+  sha512.run = "d416567a07229a424dbc3fc7d8ca3333eebd4a176d6ded56e31648f7d94bd2ccc100996566236b598942e680973471efeb3dc8f242990f1ff8e3390460c5a52b";
+  sha512.doc = "e1103262c70e3d92f3ee6bf8f5b0a5ff740b5fc165270d0b11f5b63870cd6cd71b3b77ee86c8f23a4d511990e52ec3a35b82185e1e2f28793ecc54698571b2ce";
   hasRunfiles = true;
 };
 "texlive-scripts-extra" = {
-  revision = 54744;
-  sha512.run = "e46691aa10b961d2359359fdf00ebc86a1b881b3d1126c52f3863343d21eba00110cd9500fb03a4a9544a3d8fb443bbdc90aa2f6216b8e62a3edb0acc58e4c75";
-  sha512.doc = "56f9be73e3318ea684c536b90645b572caf437b16339104bcedfb7517c94745a514a8e185033c2338aeccae868a123a5a137b9b07b20d661fa473bde2c28797b";
+  revision = 61101;
+  sha512.run = "af3078fa1914b69fe66374489f117201dc7aeaadb839656892970865afce2e2cefe8d6e04f28447036fca73aabc61e7536da915a05ef798cb6980de2a82794a5";
+  sha512.doc = "275d9ee5d858fad06d63d3cd9b1a4c1c9b8d26a312544fbb3346bb9eb337436a74ebe3bd9ca23dbaa51c582d7d8d0825c8965c6e497a206b63b66abc49e509ba";
   hasRunfiles = true;
 };
 "texlive-sr" = {
@@ -32802,6 +33847,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.3.1";
 };
+"texlogsieve" = {
+  revision = 61328;
+  sha512.run = "badcd49c37d94e74b342512fe441b552d09347749ae210fd9d4a01be4cb019064a20759ba323466ee358e61da3eb190a87560f6cc7e12baa77dd8520924cc7f4";
+  sha512.doc = "e3ecd023b1ff72e5347ecbe5bc1c148e9ae2cba41657129fb501bbd0d7cd24841e0221e27e5f3c1211bbaf92e118ba58090e8a9d6df07b49b10600e95551df11";
+  hasRunfiles = true;
+  version = "1.0.0-beta-1";
+};
 "texmate" = {
   revision = 15878;
   stripPrefix = 0;
@@ -32845,10 +33897,10 @@ tl: { # no indentation
   version = "1.7";
 };
 "texplate" = {
-  revision = 56083;
-  sha512.run = "dc7f998438ad699af41d1a83214ba5b62399c5390ad1672b40ecaf9bc48fd04ca91bf4ceb1bf75c89351d612d8c9f0acd3bd145b5560673bb864fdb4c18375f2";
-  sha512.doc = "620f820e08f000032608280ad4e93d5aabbcf6e42008c1f74d2b876d5fd67724ca1d6ce22d6046184cd4e0ec205f4aad767a24db79d11e6c40269df32b5644b6";
-  sha512.source = "e87854021487832cecab1cb8a5585d44c25a80c52ed4d020cebaae9b7c1c938c3ffd43ed51a1910442440131e4d8f6acf2af095b58d2a119ea279e3de78736b6";
+  revision = 60096;
+  sha512.run = "8a373115e5826f1704d80288d4a56803c0ad577a5745625c5cfa3272e3c77543cd7fec1cb761fcb1d6a58e7b5a4b37dbba9a7b4387e8abceed8d526fa18d0e19";
+  sha512.doc = "8c3e0b7a3606dc9665db06138b7f7aeff0c4a822afe85c7509f0bfc0072898db8203a931c4713b455aac99c850c908d6c0ed8d68952a87b574f8c8943fc97dd4";
+  sha512.source = "e1240d690d0255cd80cf28bd1f44e2269873df8a8e85f8129992726c530baf7fb3e202696b3a30afbad7010df4e3c0fcc695ba91271e1837d88cb5322ae754bc";
   hasRunfiles = true;
   version = "1.0.3";
 };
@@ -32891,6 +33943,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.18";
 };
+"texsurgery" = {
+  revision = 59885;
+  stripPrefix = 0;
+  sha512.run = "39c270382bb228beeb9ec61f744f66805c76a7fb1522158a59daa5dbbf29b3f4151c20d7dbadf404cab8ca023456b9988d45e53f65a1396da9259832390a0980";
+  sha512.doc = "76fe49291714772ac56097e5869f82868d149959bc091d3e9b1810013c92440c05825e2d585841a3e7fe015d66e09c3e8a92847fe7fbb8bfbe308c62919e8c26";
+  hasRunfiles = true;
+  version = "0.6.0";
+};
 "textcase" = {
   revision = 52092;
   stripPrefix = 0;
@@ -33018,13 +34078,13 @@ tl: { # no indentation
   version = "2021.03.01";
 };
 "thalie" = {
-  revision = 51789;
+  revision = 60616;
   stripPrefix = 0;
-  sha512.run = "193f59cc9fcad15ca4fd52e011152a08066329ed496ad55d4245f232a701692b8c3a33f24d457358d696ec540041beb90ef37696a77b1685f22f15031665585f";
-  sha512.doc = "104972514a171a25557b5a0ba6501be9556f77eb7fdedc60843797ba7fc53873b75cbf4e470dfb76866e6042f77c5c39ae86367a119f64b34a18183eb0ef1be8";
-  sha512.source = "31b0a6d7452e3b5b8affa9e4e89146c90b7e9f2af60eb7f741d4bc5722147c0ca2a902fb61b23d9a47c3bc32e2e5b38a170f3a194049cd8a1009a7d4cc199995";
+  sha512.run = "0168959893d199a5d777f59fc292e16e218ae8f0f30845ccd25f33f0db9bfcf1f4b76c1e9eaa5a50e587908c1f4eba397233a2fa01cb09dceb3a76fcf2b41858";
+  sha512.doc = "01b0ea91c0bc1f54ecd87fa4a48d276e218c5e92456db25728ee6c337646a5138951d3137ffa775433f30634fc83a8011815496fd44a40e91f25971c6c4af5e1";
+  sha512.source = "19ba8bc1713624d6a944cc97fe3267b1614dffc5ee5104263105326feb3ed5dc55c9d8f7f86bcb85342147715503f7ddbb561951f216188eb72c0edd46431a7f";
   hasRunfiles = true;
-  version = "0.10b";
+  version = "0.10c";
 };
 "theanodidot" = {
   revision = 54512;
@@ -33062,13 +34122,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "thesis-ekf" = {
-  revision = 57207;
+  revision = 60228;
   stripPrefix = 0;
-  sha512.run = "34f9f72bd8ef813c0ef6a01956304ef99f8a0fecf17786f9aa51fc6aac4655f5a76aa030509379699f6dcbe6a7245cd1d01f2fd0df8fd3bc77e5f8ddaa0ffb8c";
-  sha512.doc = "48989f4df56a2820c048651831b598fd3c956ffb2733a9d3e8a68891e7c410a72425ba3a32a4a0ecd6f7640f7054d85016c7c9dd129ad59849588cdc09547548";
-  sha512.source = "45c2329fa7994a119e1c8c2d3e777b4ab1083496c538edcda3382d2321a4b7cea97daddde8efd75bad12b79d95d635f45bd79f1db682a384ef320d4b000c1ec1";
+  sha512.run = "7ef62e88cf25c1b7c37dcbdba00dca0fe522727cd6d1b5bf27cdea73e4638defd2430c2440879479427b2faea91315203179b8f45224d68067ad46810dfd6da0";
+  sha512.doc = "50220e7cdded7a36703fe4e0965d19e18c6aca7a8f738b4808efc28d472f01522b456474bfb6c4d43ecc61d81173f0025918b302083829e849059fbcac5e096f";
+  sha512.source = "a479e92491a962f549ba9a2863504efadfa5a1515d209eb26a541ad88a5bd8657ee3f3492e99068f3dca869e8394ca9008a074c17d139e2a22325364b0a7d89b";
   hasRunfiles = true;
-  version = "4.1";
+  version = "4.2";
 };
 "thesis-gwu" = {
   revision = 54287;
@@ -33160,6 +34220,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"thubeamer" = {
+  revision = 61071;
+  stripPrefix = 0;
+  sha512.run = "8391507179c7237588645f08c0611ab441cb4f426808bece8122ddcccdec8c94457efb8db75f7078b6b2adb6430350d5279bf9efa091cecbc263d31fbbfc11c4";
+  sha512.doc = "fb2383dc358f2d0990a3f697746b6941a04116af8f184dbc37cccb100bfb19fc72ecd876bc581234c6dafc2c897576992fe8f741fea07ee0889bb1f51555601a";
+  sha512.source = "775b719a02f4ce703a37844cbff77e476c35dc105f8c370e6213f157053a397ac80295cf67c84229ff565e997bb89d89f7db209c7f84d8e47b4c92acca98ff48";
+  hasRunfiles = true;
+  version = "1.1.0";
+};
 "thucoursework" = {
   revision = 56435;
   stripPrefix = 0;
@@ -33203,13 +34272,13 @@ tl: { # no indentation
   version = "0.1";
 };
 "thuthesis" = {
-  revision = 58750;
+  revision = 59411;
   stripPrefix = 0;
-  sha512.run = "96dc085764a25d523d12cf695c5aea632b26b32229f2c5e02ffc9f2bf3836c12275dda9b99d0e73255da84ab26fd5a6a77f4523dee3051097e84cf450cac0bc5";
-  sha512.doc = "f8e4d36746018a60dec5295d34c319122451ba771965fe51a85ae99704c52a2e71b9aeb4380361b38b0f91e6369dcc1f29cdc7f2490b1cd82b989a446479a6bd";
-  sha512.source = "03a297ecedb3b5ed980544d0afbf47a4ca0561f3323451a4bb4d5e80e9ba55c0830db81b3d2a5012ee088882ce05d58991fbbd37ee9d2f793e3b7fe2d2ae8be2";
+  sha512.run = "e11e9fe9cc1c9739a1ae2f34a3a628145b8898834a03a96aedd6d6d354c0519137d16e8e3fd3090e44bd3caa9f173f1df4053c3139b6ab874d616f6c141130b6";
+  sha512.doc = "f7a6fec40a8768e94753a0391d39201721985d0da219a830caaa2716d9fcdecf4e32fc56734e52e2c77ba64d93f206c476490684672e11044991ce1e854d189f";
+  sha512.source = "df772cb4f627671e2d74bfe571156dc81214bcd40b5db3b278d21740b1dfcd971d051edbb917ae51bb8bcd5309d8251ee6d84c5e01d6ba5a264254f0479ef43d";
   hasRunfiles = true;
-  version = "7.2.2";
+  version = "7.2.3";
 };
 "ticket" = {
   revision = 42280;
@@ -33242,12 +34311,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "tikz-among-us" = {
-  revision = 56820;
+  revision = 60880;
   stripPrefix = 0;
-  sha512.run = "70eb06187c5146c9238e2074acdc39df7b40b9bef3cf34cd820d925ed482df07a1b3042b3f83e6cece15eefda4d28b483888c1b9628a55fb57cc0788ca263746";
-  sha512.doc = "c272447fed242f2d6539c665684732b0953587924e4b921872bc420ea09a2c178779903c5f44ca72bf7a310ac03c6367fb5e801f4c30000406dd93c8a43098ab";
+  sha512.run = "13e082734e52205e78e804b708c920836c04e9b11dac23e49a8e86d40209ce1e074ab5ff30d97b528c027fd45252824a41daa850d1a9669987a7a59210f7b2cf";
+  sha512.doc = "6146f3ee670400e39771a264eaa81a9b4b701a47487c7a4f9ec26ef26a93641062bc61893f71c4f66c8a035d52d763aa94740d9a00f5ce5b402272d67af93ff7";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.2.0";
+};
+"tikz-bagua" = {
+  revision = 60785;
+  stripPrefix = 0;
+  sha512.run = "a9fbe763711c464dc5875548eff6fa34481529b5b463b187e7d73fd43387fd3c6cbd23db1c25575d4e7b4fe8e480f7cb025290cc379dac474a6c66e94baa5c63";
+  sha512.doc = "5476a904e14b6ed139ffcc585039aa17a3203ffc3cc9cd8c4f9372608cf336c44d9ba3282b93307f8280dc896d2ffb494b2d0e1f0e2e898831e5c3e074ef22bd";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "tikz-bayesnet" = {
   revision = 38295;
@@ -33266,12 +34343,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "tikz-cd" = {
-  revision = 49201;
+  revision = 59133;
   stripPrefix = 0;
-  sha512.run = "3fbfa7731eeb6d2b9cbe67cbc4d5470e235f6f990b76b3c82961df172fbba9a8f62ec6055743098cbdb2d3d8aaa3b94f5d4dd8f735624c7d9562de6aa72fdda3";
-  sha512.doc = "63be72c0d55112e8328d40ae4fbd1e3c92133615e28f032f9f5efcf2432b6cc440b3c4de4ba46f3eb9e65725caf7de3623a8b49f3b9a87ef780dbeacc536df46";
+  sha512.run = "abe5952a90172dd74ddfd02834ec9fc632f26da00450c310eab2528d5b52750e80225219b75e778d1f87b2279e654bb743804da19ec7da91f12e4105f9ec3447";
+  sha512.doc = "ec354963bf8915a0c0b68fa0223c48ac48fc0450aff936c34e4c95fe15641319b711b753da7da542352e0fc6e9bbeec627de5a3023b4b90828ee05a81ca5d255";
   hasRunfiles = true;
-  version = "0.9f";
+  version = "1.0";
 };
 "tikz-dependency" = {
   revision = 54512;
@@ -33333,12 +34410,12 @@ tl: { # no indentation
   version = "0.4f";
 };
 "tikz-karnaugh" = {
-  revision = 47026;
+  revision = 60750;
   stripPrefix = 0;
-  sha512.run = "aef1c5e3fe96191d0dbe55ea9f2307b05c328b92621e9dcebf4f8fb862ae501bc6dabd4f96915a800532723b447632e21110cbfb9483bd73dcef928b102bfec3";
-  sha512.doc = "b17971734dac21649b75c140dc1dca832de35460ba5de9e83f8907ed075fbd0fc2872edd39da7aaa5631b126ca0d59d1ad440e4fb2e68ad277d7ea4bb8975440";
+  sha512.run = "46687db5ab1ca3789ac98e438e14daffdd3b64db2ab3dfd7e6110b0ce752901d2e46f54bf10af19e5947750c568e2924ea9886d78941528dfe0a922a44b1b492";
+  sha512.doc = "2bb3b177a72aad086cbc0ef263fa8a99993327afb55d414f03a79126f2353e0abdbe743b946cb0ccce67da4ea933edbd866b2a3ef6698d3ebe692751f9edd888";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "tikz-ladder" = {
   revision = 46555;
@@ -33445,6 +34522,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0.1";
 };
+"tikz-swigs" = {
+  revision = 59889;
+  stripPrefix = 0;
+  sha512.run = "f1e10c9cc4625fd2e61113f7d5c1cd637efd35ab9b0ccb4308837af3e384ae412bf068140a0924b0bad29e305fd4ba5a0770fdc1467e82cf85dd8eea8289190a";
+  sha512.doc = "3ad431f150914461149b85fbc7ce05213c5176e6eaee553ecbf8d150644bc36fdcfa2d836e5201d9a8aecb58751eedd8b98a06ff305c60688766ce8dd00c817e";
+  hasRunfiles = true;
+};
 "tikz-timing" = {
   revision = 56291;
   stripPrefix = 0;
@@ -33456,12 +34540,12 @@ tl: { # no indentation
   version = "0.7f";
 };
 "tikz-trackschematic" = {
-  revision = 57300;
+  revision = 60767;
   stripPrefix = 0;
-  sha512.run = "3936b79ad3e687002ea2d52ef03bcd468518bf67e24a9e6eb83e9c5379bc244dadb3acbefd3bbfdaa84a5811f32b89a7bdca2bde4861ef6bda2021e7ee289828";
-  sha512.doc = "0fd357b0e571c0bb9b0954338ab45147748574143c01c413700d7bda39d0171f037eb207770fbde9b366618fe60f5cff82d17900295ec14322373f2fe0f919ea";
+  sha512.run = "d293ba361fc713c616d48c146cf3eb05b0933c1d0963c6a4a7342843833ec339033bb48b17bcc23bbe26948b3e2888f2f4dd940dbd1c8b212688d651c7264b3d";
+  sha512.doc = "ad6da1f9789d63690f13e0475c743504d3a16ec12701b2c777af4716e29c482d90ea9c8d8c34a746479a1814525095d0b0ac2bb0c38737edfffb87f293bf6b31";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.6.2";
 };
 "tikz-truchet" = {
   revision = 50020;
@@ -33471,6 +34555,14 @@ tl: { # no indentation
   sha512.source = "88a3d1ca19871e0329e40165b35ec90ce65b1565d42b4a678bfe611311a0cde68a6a8c67ff3ebdf78a1bafed1fec875a4f221efc6934724a265a3402d4970832";
   hasRunfiles = true;
 };
+"tikzbricks" = {
+  revision = 60234;
+  stripPrefix = 0;
+  sha512.run = "be1ca46d4c88928f624921b56e8b21a85b75706673800a3f1d9afe29fbf39f84f7e8b0cf55212153554b05e8026f6fb7f625ec86eff7f8ec01d790e11740627d";
+  sha512.doc = "a4178b3def5a9106521e3a5839edd99ca7517ef805661a4b99c45849501088b1aaeccd8b0488c4e03f2d44d3c22a48615ec93190a438f853e3aa68f573b964fb";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "tikzcodeblocks" = {
   revision = 54758;
   stripPrefix = 0;
@@ -33497,12 +34589,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "tikzlings" = {
-  revision = 58469;
+  revision = 60181;
   stripPrefix = 0;
-  sha512.run = "14b75aaf46f45208d6bcf31cfecabbf3432c1ad1fdef3fe9db674688c2924d8c6cb3c0c27d5fcd8ebd1409974789c9b5c73af5fb51b29909cb79b468c742507b";
-  sha512.doc = "434f9dd2a4f5c8cee62f04f68b50a4df416efa6262e0708b5b1acbf310ff7240fac2d0ddda119cf1a37eb1c811a38516070d412b81e1a809d31ef4e2ba96ac40";
+  sha512.run = "fd475905e247156f3817e0bfd576532f00d4499cc1d282c1fac12445551d43a5f259697f102f8d5a4f967a114494e29ca839a74b80e5c4fe9579972f8bb9a688";
+  sha512.doc = "bc7941d397031b9f50e584bcd14aeb86fc736a135264273efe21cc42b8a235f9eeec74ff3217f9fd4052c6d77ca7885c79eb614dd237d3fc24aa14c25f7a9cb2";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.8";
 };
 "tikzmark" = {
   revision = 57843;
@@ -33581,20 +34673,20 @@ tl: { # no indentation
   version = "0.2.6";
 };
 "tikzsymbols" = {
-  revision = 49975;
+  revision = 61300;
   stripPrefix = 0;
-  sha512.run = "6061fad290f71257b2496faabc1a11721518274964a18dc1d31d1e530de029c7418668444f868e6b660eea5d85bc440dbb7796fbf6cf181ec190ff34019b5aae";
-  sha512.doc = "b688b3d4e2ec3352000b7bd8842736bbf52b10b5215725fba7970e048e4e823c0d522d753adf8c65be3ab6d1c091ab9b01b68922ba2796c012c4d948e3958f77";
-  sha512.source = "c7a3d6290a1eb7da4fff7f7f9fb2ef4a8c128c742023da966444be2b662bd98a20e7d3d82ac77637caa0067c2b5ec5ddd84ca224bf793e5b65eb637e8ebbc814";
+  sha512.run = "4e1a479e6e238026dfbdcf152d63c8b67419919f74bffe3c259828a5ab6bec62955cfe5f5a7f407646fc2e5b742fd009280ec4a57cf708317bd9dad95a35a1b2";
+  sha512.doc = "7219e48fc2407bd44992378b24c5a1fd0b9c1a9a9c408de2734966657f83735b8cda336d207e9d1593afe0fc58aff7d83213a9ca4be61201df98757e2e4ade75";
+  sha512.source = "546f813ef97e1c6d286b4c79e2320bae75e2d94e43d9a15b9d4c6786bab9027c2aa86ba1ff5f94149849f7c11834408106623929b732f8b54697dd7f2916df3c";
   hasRunfiles = true;
-  version = "4.10c";
+  version = "4.12a";
 };
 "tikztosvg" = {
-  revision = 58737;
-  sha512.run = "826b6cc6489db99d4b7651afdaf68117840e8aab4a19235110128af63cf26108fe409fba341acd26ef1ce2ba6276d368bd00e83c7b5954b1937d50b4d3c3fe8e";
-  sha512.doc = "1418c505769ed1fe835f713cc546305a25b6a96a16a7e6dbf9938547824b59fbf4d638c9d40ec7ed1c23fb110ffb482062884eefdd432db1e57b9e567ac299a4";
+  revision = 60289;
+  sha512.run = "0957b87c9a06771afab350de769e3fa9f97ec0aa09e4e740d0f916992948a65740a96446a0f8ac144273e94f228db2c6c0ddb22bd01ea9f0f66abe5adfe0125c";
+  sha512.doc = "3d90c0963c570a115390603bcd5f39a224a155faea8ac6eec511b9689ab98383386d3d6e92076129e0f704d69bd18da52cf2f89f5db024a4d5c34a75c1edf279";
   hasRunfiles = true;
-  version = "0.2.0";
+  version = "0.3.0";
 };
 "tile-graphic" = {
   revision = 55325;
@@ -33654,6 +34746,15 @@ tl: { # no indentation
   sha512.doc = "c69333d9a7d335fb217dacb00610b9f0e5eaaf78e535d69998fc600fe53f0ba61c7e3cc1e82d75f52b435cd6945044560b2d275476e96d84d611ab4978c02e3f";
   version = "1.3";
 };
+"tipauni" = {
+  revision = 60669;
+  stripPrefix = 0;
+  sha512.run = "38ed0adc940cbbc1008079b542f5207341b7ee47da571a309c6786c43b505c9afd73ebe08e20200d914de30283c30897be1b139de1a828c52858b0543631e766";
+  sha512.doc = "bef81b313c0e9e738bdf6c9bfce2d4905c8dc886203c392c55a4b90796df91b40a9440e7e23f63cc76b947df1bfd9cfdf247291ea27d9fbec9070ed380e36048";
+  sha512.source = "4c73876a8fd9e465249d712cb2d4ebe29eba59ef4c66a2e58353feb303bad6a2e4abb640814eaeb6b4f32def15a5b464395bff1a28b556d5c6a6dba24778c155";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "tipfr" = {
   revision = 38646;
   stripPrefix = 0;
@@ -33662,6 +34763,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.5";
 };
+"tiscreen" = {
+  revision = 60551;
+  stripPrefix = 0;
+  sha512.run = "5f3506fbb5952be7477f9c29bedc6a1ef229753ad12b484e1c286c6211bb5fc62df69f9985b44740f12728e067c69140ac064d764ca034d1edae099f623413cd";
+  sha512.doc = "c964f4b02f2399bc1bab1753681442076099c2f7377facf62241afc13a2db877287692b3020ca39d9a56370b13a8148d45317a4643e1552b7a436dc87c2da0f0";
+  hasRunfiles = true;
+};
 "titlecaps" = {
   revision = 36170;
   stripPrefix = 0;
@@ -33699,12 +34807,12 @@ tl: { # no indentation
   version = "3.1";
 };
 "titlesec" = {
-  revision = 52413;
+  revision = 59845;
   stripPrefix = 0;
-  sha512.run = "bd1538a4596c55a6e0a542df5587f4466795a59ac55472340bcfc400670b79a04f0b141ad5705c826789ce0094fa4b106b5917f4232167a66047d8e6edd4998c";
-  sha512.doc = "34623133da534fa15d491f3ecfeb6ee6736a580c12577d7ef313efb341c97ffe1cfac49f4c94b90f8f519847bb7b0d37b003ee485c240d1dfab3b68426563dcc";
+  sha512.run = "50af3f379bedf55c3c53809dfa5dfa8fa4ed072e232dde83f4a257b12d7b4bf06f041eb6891b95fd0efdf9420a5d252cb9688c28b91161036eee7f45516a8b86";
+  sha512.doc = "04ca9fb221b3c0c83ef5c3728b9a40eb46a4899b83837c90017c5436468c02740dfb861abb42e9987dabf63858730f4accbf060c67ee8954ed7481f334443798";
   hasRunfiles = true;
-  version = "2.13";
+  version = "2.14";
 };
 "titling" = {
   revision = 15878;
@@ -33800,18 +34908,35 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"tlmgr-intro-zh-cn" = {
+  revision = 59100;
+  stripPrefix = 0;
+  sha512.run = "a89c2f99ad63c8352462ef7139b36e8563e1db815dcb06bd2e0f8b96554c380b574f7d856aa6bffb3c972bd68e9505d7864d87cfb7bcfef1bdebacd10f14a96a";
+  sha512.doc = "2b5a7672c600eb2f4cbfb2810090e4383a7032d851f35a74e36c75914d9813566603019f232715e2e39ab6d2f8a60273c01e5cbdcb345892b0bf8c99995e3d4d";
+};
 "tlmgrbasics" = {
-  revision = 56221;
+  revision = 60588;
   stripPrefix = 0;
-  sha512.run = "d75c3eda16591cd7c6f3ba2e7e615a854d019ca850fa4d9428df9efe792764d885df642b65eb538b0bf6ecd9e4b5f4e41d82292647e24980b65987dfe7332ce0";
-  sha512.doc = "4f9eb5189bdc3599e3b691ae69a5bb89894b9b60c7838772a41b9784a6a33323a634ac6892f88234762219fa99665a2079df5b0127d98bb396a66844ccf8cb11";
+  sha512.run = "5b20d1fb4c6493f0da80f529832c3f45d70ee37bf970ffa1fa3ee56d7ba344b5e22b71c304eecc21d5b0040280d66382057891b39a3541c9ca08bce0ee779277";
+  sha512.doc = "1af96e3a29ad685781c0ba03583f3091f2c6e1c0225456beda207f9f212f75c93c03c76f1b5ac401fbdc2e6cf9a6077193d6f59a37dc791e63d7c505ce5c47aa";
 };
 "tlshell" = {
-  revision = 58792;
-  sha512.run = "e1b8fb26778078e3337ff8d779499e4ab2297eb9b061652ca3e565810c171e09adbc987c64433fb572e89e7025575a4304c46ca208043779d74b29e0be66a787";
-  sha512.doc = "60378a288e8f00d4e15dcc35919836623958ff47ae887972c01e38fbbb534cffd619e2e7e60e85352efc36f089f89ecaea971b4e2ba19b3186693ab9011017a5";
+  revision = 60747;
+  sha512.run = "adb0a38914e4611652250670921e718a2173685892f9fd2943717c9ff31aa40e6661d445c89f6c0c5f091751e0f132c3713eb97cf081b02185364c084c17c98c";
+  sha512.doc = "6900792b8bdfa659ade7e0e6bef48a8baac5830ad38a933f97f05e35e0351ff7b52267dc06cf2cc4179f4a36e144322fa2a2a82263768d658e08a81cd3212d61";
   hasRunfiles = true;
 };
+"to-be-determined" = {
+  revision = 60582;
+  stripPrefix = 0;
+  deps."soul" = tl."soul";
+  deps."xcolor" = tl."xcolor";
+  deps."xkeyval" = tl."xkeyval";
+  sha512.run = "e2b4f84a8ded4d7bedf5c1fd0104f5f585a52a5a44ebb9f2a679bedd6fa9f4c68b8d9dd3a36463ad7952ef0daef46841bdb21630671938defcb98a226f4e057c";
+  sha512.doc = "031aad45963ddba396e004b21f4d773625fb6c2be7257c37873bb64ca94fe63f4c79fc3ec74b279da21573bfd125cce9349ed70c8181efcc9b5e503d898184c1";
+  hasRunfiles = true;
+  version = "0.1.2";
+};
 "tocbibind" = {
   revision = 20085;
   stripPrefix = 0;
@@ -33858,25 +34983,25 @@ tl: { # no indentation
   version = "2.142";
 };
 "todonotes" = {
-  revision = 56166;
+  revision = 59465;
   stripPrefix = 0;
   deps."pgf" = tl."pgf";
   deps."tools" = tl."tools";
   deps."xcolor" = tl."xcolor";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "a58ea15caf11a535b1d01114160f28a5df0c81677939355caef22b1639053b2dd4ec716a2a67a6342565e50ad7681d660a84b391fdb8c34278ef0dac3cfcda99";
-  sha512.doc = "89308d95e71809a7ccdbf0f425b536e975fd1f86b04ec5cce041f3f61420a37ddd0863df9ebab2f714e8411649a848d59bfaa2951a62bb47ec875382b31145ff";
-  sha512.source = "d4241c1f94390d8c2d4a166b5bbafda1e93338a4da82c72581ef2d488b41699040255d775b26289183a7848081d5fbcf27233e735a5fcc1c29a35feedf70ebb4";
+  sha512.run = "78f84bcaf613003f694dfaddff2631cfe34c081ec5aac576a267f99940abcca1c8c71dc801e8df295c585a4db06517e5cce4671aef4188b81feba4be1ed6eccb";
+  sha512.doc = "89b61bb5630846a7cf739f39cc43a4e08890a4b0af06c884a60d9ac30068044c89cb99578aefe3b08c5761a412e524dacd79b028e69430d87ec17493b42ab7eb";
+  sha512.source = "e7bf0b61f1ce386b727f54288d1c6486fdb784fb7d7fe42e5a86f0815766df33881214579051c57325d6963fa7e073469ce488aeca816f7566275318e171fecc";
   hasRunfiles = true;
-  version = "1.1.3";
+  version = "1.1.5";
 };
 "tokcycle" = {
-  revision = 58254;
+  revision = 60320;
   stripPrefix = 0;
-  sha512.run = "b65bfd661b170277c89db47655a64f47b61b90da9ae6ace0f6de1264c109aa5c9900b2098ab3ebbe1c2284a4c0b725e876f272246f353648b78247d7c1b29bd6";
-  sha512.doc = "2bc13594efa21656bc136bcf6d7358d3cf8a3eb61094d6abe427e958eef26a6731959c01e37b1a0985ee0a9eb7e22f25ba065b697718e2db6a968aa861c5d7d9";
+  sha512.run = "fa7beb7d6dd1ee5a6caaa968d425143f946426e98a164d1f1b44288105a6c8f57d94931782616c3926493f0af9709c5836bece10aa7ed6c2f1623f8301ff9bae";
+  sha512.doc = "dcae2b95cad3150dc8879061d8c546074116af04a970a7c2ad9a91292597f3c859927ebf56ffd58aecb995a9968fc8221b6250efddbdce80edce96fc9c906b48";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.42";
 };
 "tokenizer" = {
   revision = 15878;
@@ -33886,6 +35011,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1.0";
 };
+"tonevalue" = {
+  revision = 60058;
+  stripPrefix = 0;
+  sha512.run = "052216e492b58a5e8ad4cb3f346815924291f3d24c995d42f22f189e6601a7b4236d434684d5777ea10d50a3d77f033b02ab76ad1550c0ba1ec275a6d22bf4e4";
+  sha512.doc = "b9bafeaf2a089f3537767a51923ecb6d7008009f4fe2fa74cff71f7d7358ab52afe4f39951efc04d29e2bca5cfab4ae70cf35a9f1e895377be4cef2ef0c523d0";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "toolbox" = {
   revision = 32260;
   stripPrefix = 0;
@@ -33896,11 +35029,11 @@ tl: { # no indentation
   version = "5.1";
 };
 "tools" = {
-  revision = 56514;
+  revision = 61041;
   stripPrefix = 0;
-  sha512.run = "2598798421318513c028a6bcd9be4eea18b7cf8fcf20444d860b2954d81895cfbe9e8700fa3cd052fcb50353cb1bd926a047026d8fb07e48aced5d8338a6e464";
-  sha512.doc = "90d85bb6e877d8d8b1ece806e62c6179ecbbbda3497c4c4f16b67989448d1d2179c50c475a1dfe57bf085ee30fcc09a962586dc089565dfd0715b8fa4eab608d";
-  sha512.source = "aca34a4532b188cef91484f36b05488a627582882f56d48b35020872c48dffdf3cd3be9ca8c6073c45db564cdf390b80689cefbb12c5eaf2370deb75646006ed";
+  sha512.run = "d17f28fe020b584dd10713ce937720cf849a185fe7ca8b69590f3472d5f01e765d13e6dc6aeb7c02261cbf2ca2cb1e8f6bb9d7a8be5125f2ba68437cad813599";
+  sha512.doc = "38b6b4840b14b326df9c60ac8428cbe86a34251e975c57c5ae571d79dd359b928fb24c41a53e313f0bb43a57726834b368fc180ff8e4d8348528e0bffefdbbce";
+  sha512.source = "edeff6fae4933f7b51bb1f1835b637aabe05433abcbcc0c32a24ce1dfb9244a908d640d35e71bbd35604033f47e0d21fc03f8a6e4101faf72e37923f37bd05c2";
   hasRunfiles = true;
 };
 "topfloat" = {
@@ -34025,11 +35158,11 @@ tl: { # no indentation
   sha512.doc = "58773adb7493e6ef31d8fd3854a51cd37921dd331f56f1d9eab5283c121fa8c3316ffc41242356a87af04bb6da68761ea15829e5e8555d2e6cdbb68833c8d313";
 };
 "translation-biblatex-de" = {
-  revision = 57508;
+  revision = 59382;
   stripPrefix = 0;
-  sha512.run = "7e77035b714c1cc7596d1fa48e5d285ef573a0332b5fdb78e77b22742954f6c401d531de3175ed92ecf43ac4afbbd5a6a11a8ec95409f7227ba7995d5645179a";
-  sha512.doc = "83a35f07b954040e99fb072670a65c0343ef7f3739c476e347ff5ad85c0e4ce900c26691960293c99e1da7c9d97daec2b7daefcfa78cbe25f1b3759ca4e2d8b6";
-  version = "3.15a";
+  sha512.run = "6256a868d6f6ea53107245574d3d7fe3f1b646cfa67dd456f88abbab980b4f9060c752faa14f185957762b76c159aa8d52b3ab8908c53c5938e415fa8e4d5f7d";
+  sha512.doc = "e7e634d9d581f781f33ebcad17f4f496738d6364725dae75d7dae6d357bb7deb08a5e01de0e1ac6aa32cdc09ebefbf0190d9f6f11b286a20ce0fce23c0516fef";
+  version = "3.15b";
 };
 "translation-chemsym-de" = {
   revision = 23804;
@@ -34094,12 +35227,12 @@ tl: { # no indentation
   version = "1.10a";
 };
 "translator" = {
-  revision = 56052;
+  revision = 59412;
   stripPrefix = 0;
-  sha512.run = "87eb30409270c63236f5933a52d7815b529a4aca0d7ecc2cb7cb69199d0597684cd48e25b2f00be80024f734d2f4067650adf457ef942aa8477359a6be20d886";
-  sha512.doc = "9fcaef407ea8149e35eb4ae2d4ea30a3a865ed31992bc9ed4e046059d93445db32a912e05698825df1c720903fdbadf4550d6fba7ab38990ca85d6dcb078fbea";
+  sha512.run = "5700b0b8a95b244c93f17c5e1bfc74d4defec842892eec358b308dc55f45ffd5bef050a1ed938c9100cad771ce5ccd53bfcc917083a9ba23a60a3b339d241f2f";
+  sha512.doc = "abbe08cb16a39395b53d01f85172a11e339cd18f2c7f9dde8ab1d0cf353649c181f442fcb94c9add913b2b807ae9f6ba1ac54e9a6fed147cba1af335b6b73d8d";
   hasRunfiles = true;
-  version = "1.12c";
+  version = "1.12d";
 };
 "transparent" = {
   revision = 52981;
@@ -34176,6 +35309,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.6";
 };
+"truthtable" = {
+  revision = 60717;
+  stripPrefix = 0;
+  sha512.run = "3ab6a30d6c964a810cb27cc13b314fd9b8b881427a8a1e8dc047038669e9480bbd258ce5380eab648d07669b948feafb420a16e3d599f227c3e7422e4173020b";
+  sha512.doc = "3333d8ac206900fdbb4aef6777a5ad840a9d9b0b43c62871b24683c41d58b78b36b97062fc9fc4d84e71a7f6728d0fa6320bd38e1f7de4aa660bc6e7b79156c5";
+  hasRunfiles = true;
+  version = "0.0.2";
+};
 "tsemlines" = {
   revision = 23440;
   stripPrefix = 0;
@@ -34199,15 +35340,15 @@ tl: { # no indentation
   version = "1.0";
 };
 "tuda-ci" = {
-  revision = 58661;
+  revision = 60754;
   stripPrefix = 0;
-  sha512.run = "a0b1ff24435c3c03618c9d9b2213379acfc0fd9184357ee209725de660f25260a81e3108e41bc8f425c06e11ffe18e0ea5fa3fdbb5404caf0edc36dc950da6e7";
-  sha512.doc = "4804e96ae31d171bbc4fae0ea23d6d04601e8fdb8963ad4cd681099538e35bbb3b4624d8d1a7e8fdd86a4657e391707bcd3418c7ba44c004779bc3535c94aa64";
+  sha512.run = "4a9ae40df9c2f9165aaa23bcbc1065c4f78023e0f4284e14093140a35daf7b630159d8317812a7a7207aa5899cce9dc8c80541a7ef0eed33a13226083e21a75d";
+  sha512.doc = "60d971063b6a4821a49a7ccfa8add4dc2e9171fbd2a95b777ea2960bbcf0dd60fe007c3fbf687ba499557d33cc50f14435448c6a40854616e6e1e21b24c74f24";
   hasRunfiles = true;
-  version = "3.13a";
+  version = "3.20";
 };
 "tudscr" = {
-  revision = 58713;
+  revision = 59942;
   stripPrefix = 0;
   deps."cbfonts" = tl."cbfonts";
   deps."environ" = tl."environ";
@@ -34224,11 +35365,11 @@ tl: { # no indentation
   deps."trimspaces" = tl."trimspaces";
   deps."xcolor" = tl."xcolor";
   deps."xpatch" = tl."xpatch";
-  sha512.run = "16ae7a0ca2544007dfcc1f2720080ae7f8453f535a696ff1edd252ed6a9d6eda9da48c80420c6a64e9b36c85322215c41477269871e285239707c17ae96b6960";
-  sha512.doc = "0e6d42d4bf8a7e2af363243be7a75d93fe489c7e99cc1c731e3e233aff96f2f7f00787af8a5e86419c8d5cf3c7bef9a593aed546e66c565343793f081f34b7d5";
-  sha512.source = "68651ed041af40431be9bac615e3fbefc33330fdf0be33d4cbc80d3cdf4080ba6e7ba5147cfb64101f332af0386cc29d44198fbd3594eb2447e680fa097206b1";
+  sha512.run = "60dbb8cdce84091ea30714136bb8f454de8c2f0851dd51c00681fcaaf7ff0aac6e1fcd2d8de5879143a050340d70cedc1a4d5423aa87cac1e3f1c812891cf457";
+  sha512.doc = "b35204d8e24089c9d7a864afba587cffefb2286812626ffaaf7854a1e8933291d86677487dd8f509e0ed6c6f69155c44c9a6d698a951e8eb0ce26fbb52891d58";
+  sha512.source = "48581c09674d065bf068333037469b67a2092d39513ac1227b6908e5ae881b0c820b464d7bd6d8b40b63991b3d1bc0984ad0c8501969e8946011f3d4e500f866";
   hasRunfiles = true;
-  version = "2.06l";
+  version = "2.06n";
 };
 "tufte-latex" = {
   revision = 37649;
@@ -34245,13 +35386,13 @@ tl: { # no indentation
   version = "3.5.2";
 };
 "tugboat" = {
-  revision = 56942;
+  revision = 60755;
   stripPrefix = 0;
-  sha512.run = "1a58d5dbb3c68ae1abc78265f5583943dbbe673efe5fe81aaa4f5b66e18afe573a2e135637e24b0026d68de994a143d2d9ea172c1bfebf4adb15927abf5f74de";
-  sha512.doc = "7db84d7657506ef2837eae7a8658c64cb0c6e6d58d5638f7abd936670166c0e75c6822f9deb6ab5916ef0d51f25a3bbfc76f0906c086dd6edb703140b68d72e5";
-  sha512.source = "9cf55ebca59c961ec144fe53d73dc01501b8f621716d20655661c133afbfa2b4e4e4169868d9f419f968787bdce3f6fadf66084dafcd542cb505aa1f7acb4e3b";
+  sha512.run = "2df00878d432d436475a8c883178b57b189bca81173a8fca72e11418438e6d3e7b395e1270e4bec9ec31737a1a92cbfaa3982d3adcbde71c5c659f466942321f";
+  sha512.doc = "1f1d09cb93c07a0db5b00f0d673cec142275b5e1fd93d7380412074c903f93e8da60f482e16e55b25d2a31f431bbb67cebfa580b45c78a6fe2c70c75cf4dbe94";
+  sha512.source = "651e1d7a30f672a46915c698a5cc20098096420b0637b83489be29103c874626b89b4a3ea8718e8dfa5123627a2166379356fa1b6e528787f28b0c275b629e91";
   hasRunfiles = true;
-  version = "2.24";
+  version = "2.26";
 };
 "tugboat-plain" = {
   revision = 51373;
@@ -34311,12 +35452,12 @@ tl: { # no indentation
   version = "1.3a";
 };
 "twemoji-colr" = {
-  revision = 55675;
+  revision = 59957;
   stripPrefix = 0;
-  sha512.run = "0de16660597961e0a221924b8cf453f1e81c837f44d1f7c662b55e29839f1a0d5c105696140a445772d9c8b1714850d2b3618aedb757404dedbec46c1a212c37";
-  sha512.doc = "07e7485b6201d63954161e898f6f25cdc6f26332f6f7e9ee1b29c88e02a1b048fe22721bc3ce856d66ca255a1058cf080df86d333720c92af13a52eb7f2bfb6d";
+  sha512.run = "7e186ffdd023c84419ec704034872805c81bc729b2f828a61af2c1f4cdb3ac40720315967ebd2ceb0349169ffae6ff6e202a1d9196f8c0c0811c66844bae5dc9";
+  sha512.doc = "368ef5dcfa3609359b154d31d753c89cbe50f377c254cbb40a30beb0757f8bf177eb3bd48ae751f66bdc8c5f95238d514653a6381984a1c9c22ed99266272b42";
   hasRunfiles = true;
-  version = "0.5.1";
+  version = "0.6.0";
 };
 "twoinone" = {
   revision = 17024;
@@ -34466,13 +35607,13 @@ tl: { # no indentation
   version = "12.12";
 };
 "uantwerpendocs" = {
-  revision = 58669;
+  revision = 61030;
   stripPrefix = 0;
-  sha512.run = "45f3e26a15fa98f8a2bd890b8ef63124e135c57b688327f3baef90711e5036615cc832d83b72c91fe10d567a866aec79206932c8aa4c5de6a51af05ed76bf184";
-  sha512.doc = "f93a96eb20dcb6c5be91047a3ceaee5a7fc232fa250c5fb0a15bdbe1f2f13431aec352d7bb0f89df91d4c536915d59f719fbfd78d1748115308d1d9726636bb6";
-  sha512.source = "93d0a3ea2d323958d15b714fc392cb2893d899e03d28d75c25272c355861244f5860f3aa8020663c20a51b7e8471c24815b9431646eaa552b2e44a125e3a07d1";
+  sha512.run = "ed58bca363ec8f53a55af5f5c0816cfd534f22a631d2bfd4d74f579749d5d391341b63a706e1d9b556c812db0919bd6dc4c1bd0634323dc67f43fbfa46a70b53";
+  sha512.doc = "f0ae53e8546e573d7414c12d2776c1ca6d051699b6fd7f51895928a4b1516ba5a5ffb7e1ec1de42d47145464a7a318ddb86887502cefa5e5c673d499ebd605b2";
+  sha512.source = "44cb3bdfdb5b3dd79ae24dc5830ca9e07e65a1d4bb491f405d1ddecc08f5a978fadd0c1af967498639c857991732f8e5301049f323f06ba8fd0cc9a981c4319c";
   hasRunfiles = true;
-  version = "3.2";
+  version = "4.3";
 };
 "uassign" = {
   revision = 38459;
@@ -34638,13 +35779,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "ulthese" = {
-  revision = 52972;
+  revision = 60217;
   stripPrefix = 0;
-  sha512.run = "c2a3d8a837ecda20bf50c496b8506e6c7dc7d6308fa058e51f4b1dba858d76c391ab3b9faaff9cbbb39fea3696fc5a1c7daf9417f3c18b3eaef9fc7eb5383195";
-  sha512.doc = "adffed362b6ebe3bab7aa04563ca0de114917199893dd310578d372f6e4e67b84bae7e50658ebfd7bde270d4c3158ef9dda57c0c6855787fa3cde0102ef4153a";
-  sha512.source = "652cd812d9916f855ceb5983b1cfecfa9a7fd724939933ef0159c6ee4dd9199e9923cd09511598b30c8f5355845fb3764363e110bd69d02df4f62c6f69ebbc99";
+  sha512.run = "23a9ad74b214612051104fb111808caf9c6bb2056f129265e77bc76370c293248a7903a5bc99183998061bb18409d86508cd488a4e82487726e17599f5948101";
+  sha512.doc = "f7e062e470c524746898e88e2f07cdbcc58c1bd3dd5c04b1f0f1e7e7e6c9fe9968ff68ef2f2a95f25405c7901d937a32ed92b752b6c74fa228237b08645a757c";
+  sha512.source = "545c1b5e53c093a1ea29ca73fdd4c3c355dc34a225651d774c31a6dc64acb2dc20d78421fc939bae4d324d6c6e5ce2e4f82ddac6ed935ec8de7e1f530aa5f30d";
   hasRunfiles = true;
-  version = "5.3";
+  version = "5.3a";
 };
 "umbclegislation" = {
   revision = 41348;
@@ -34726,6 +35867,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.1";
 };
+"unbtex" = {
+  revision = 61277;
+  stripPrefix = 0;
+  sha512.run = "9eb086d5db37274fdfe6219052ff118055a6b8993b9b896c40eed7cd0617d5df0a124e4a48d5f3a913786a865010ba2db5ceaa22f746be7e1ec2b6beeb392a09";
+  sha512.doc = "4c52022fb261fc878a6ac20f7bd83833a567a1d49560d08a92dc0d8dc6c2aefada41321410466f36ce8ff343a31856312ce5a4eb6a54dc5f81730a1952c1520f";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "undergradmath" = {
   revision = 57286;
   stripPrefix = 0;
@@ -34779,6 +35928,15 @@ tl: { # no indentation
   sha512.doc = "6173d49bb64c9b162763ff08af445e518fa650fcc13e02f5c72454d335285d9c82347cf79f945fae94429f3a9d15f9c9b58ff1d175c8f59ea7b75766cd279303";
   hasRunfiles = true;
 };
+"uni-titlepage" = {
+  revision = 60924;
+  stripPrefix = 0;
+  sha512.run = "ac5bc2d392c635f8f59f0aa0dc713a57c78159f70285a04147d63feb38918e1ea11fd383d7f30a174360d8498454ef5f2e598180a21cafc4403e91d1ed1b2c5e";
+  sha512.doc = "9073091ed24656362d232b4083f5b350054a6a71ff85aeba4ca7e0814a28c34d8b71dcba42a44952458bb401aaf7d42bbcfa65a19de0b0d4324416edd003f4e0";
+  sha512.source = "50e85efa5691d2227c1f4804dcefe6bfc34f14ed13314ab3d48a8dd45917c081dcc7e3f2ee8bf4ac7f51c2790c083bac3fb57eafd42708c9d507466cc23cb053";
+  hasRunfiles = true;
+  version = "0.7a";
+};
 "uni-wtal-ger" = {
   revision = 31541;
   stripPrefix = 0;
@@ -34811,12 +35969,12 @@ tl: { # no indentation
   version = "0.01";
 };
 "unicode-data" = {
-  revision = 56768;
+  revision = 60516;
   stripPrefix = 0;
-  sha512.run = "f966d643732bc6d9743d54cb2981e6420dd5bc33a3c2f43bf17f2f14afdfccf0ddd8068a13ce9547d60c8ee77559834f3cce97df8bd5d7252eebf978a3429b0c";
-  sha512.doc = "1093c6e78d8f8716cec8ed34444d5e95628c2d0be4b61cb3dae72563b2e3acfc1596b5e25dd8c101dbc8ffe15b7483a198c30f459eb76418381be3dc6caadbef";
+  sha512.run = "6b1ca4dc7d716c1013f809a7c22863a02b82e51db2e126cad97b08a15b44a38bda11358b7877bb2438ab1d087254858a19a10e810a96796fe80b71cf3a661e81";
+  sha512.doc = "42bd2a27eb76e2be45cc7384cd84de26513e2ee577bda14bc20bfa7a83e1c53a121310d75bd3e237cfcc9bb7e9da39190373db0bbde44d66894e7d7df7924fc6";
   hasRunfiles = true;
-  version = "1.14";
+  version = "1.15";
 };
 "unicode-math" = {
   revision = 56594;
@@ -34829,13 +35987,22 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.8q";
 };
+"unicodefonttable" = {
+  revision = 60894;
+  stripPrefix = 0;
+  sha512.run = "e74461a4f98c4794dad68cb5d2f3611f64f42028d7759a4b86a13b2758759f90050594a30fe152b207e3f1774103bd34b5cc575955558787a95570d639c89f03";
+  sha512.doc = "87f92404623c46244e05f921aea0700056ddd2069c66d03877173d24c721a29a9b1e001ef592ae723ee5f78032ba5700412058cf20c86ccfa46b6920b6fbe007";
+  sha512.source = "586de7c1ce10c127d14d31bb34321235470020cca4c5a80953d2b058e087feaf8decd4b7cad214c153eda8592eb77dfa215a9217488bc169958a1ed8b85c7521";
+  hasRunfiles = true;
+  version = "1.0f";
+};
 "unifith" = {
-  revision = 51968;
+  revision = 60698;
   stripPrefix = 0;
-  sha512.run = "bf288fc67865b2440b7b62633a04779e0172ed139e6ca4f1f88b21ffc84147663c143867d204b54d49f0d0f4d1aa0f3ef689dbc36881198398512aeb735c717d";
-  sha512.doc = "f185887da8604b1e24d9dcd7581b071e65dbdce6e61ecb435e99c19fe969a5912974af8430eeb22e090a8d2e1100a3457ece22cedc84aa10d589957e0cfd61cb";
+  sha512.run = "98eba02a617fa5d4349c5b17bc971cc0241d6d41fbe82af1fcbca1bf44faf901e5b13e786e62f26413805acb8efc941c3f1481307c69712aff55cf17b100b5d7";
+  sha512.doc = "82620cf7a81f8502876edcbce06699a05f0e580760caab77cf56db89a145a3264202c8ab193a5a56df2f07b2b29d7d814b851dec7413fe0285124920f54baae3";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.6";
 };
 "uninormalize" = {
   revision = 57257;
@@ -34870,15 +36037,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.01";
 };
-"unitipa" = {
-  revision = 58749;
-  stripPrefix = 0;
-  sha512.run = "968af9eed2e188e0bbb816911ee734a74b29c2f3b42b93df7e7844d368737593f925d846be464bc0334cd216709e6e8582a291dd1c9cbc3287cb7b3144e9a609";
-  sha512.doc = "b770d4ae25c99d1c22842ac6581a29a66a43d48912daf4e8d7ee9ce4da0d562af3d54e2741a4720993a3ecd2c676e6ca3e39969c0b0d576d3a820f84434177b5";
-  sha512.source = "e54fc2dc346384041fd571c6435b7cdde73baa241b169e941ddb7040c5efc1353d6312502bbab296a38b89735e8ca08b2f111287c2438ae09da8e930760bb276";
-  hasRunfiles = true;
-  version = "0.3";
-};
 "unitn-bimrep" = {
   revision = 45581;
   stripPrefix = 0;
@@ -34921,12 +36079,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "univie-ling" = {
-  revision = 56913;
+  revision = 60937;
   stripPrefix = 0;
-  sha512.run = "d4c0a0d760fc6d9c5fb2a56a7040b37a2fd5e20c13761374fb8e83763e0e01090ba3079a589cd6544c707148c17c389e377598f420d73cb942da591ddeffb943";
-  sha512.doc = "ded1f91665ad5a8e13bdbc5b01fad86f73efa77d144b946f8049fa6876b26cf237f645250137899e06d93bb19117120be9fd8d9651857bcc0a19df49ce87b664";
+  sha512.run = "b65a9b854f9b1fbbe679c5c3be049336daba41e70db1f90dd474b1d3386fadb200b24c0e580f1a10f34cca848ff1ccd5864d6ebc607eac1d02cbed4a0347fa15";
+  sha512.doc = "23efe505ec0c76d846526778c448885f0e1d5b15d34645fc33f8a9eab0421fa45fa81a7dc31e2c24753e041bc9bf50468c9035a68875e6b67ac8c9d59c2dd1bb";
   hasRunfiles = true;
-  version = "1.13";
+  version = "1.16";
 };
 "unizgklasa" = {
   revision = 51647;
@@ -34937,13 +36095,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "unravel" = {
-  revision = 52822;
+  revision = 59175;
   stripPrefix = 0;
-  sha512.run = "e31da53c07ddb60491412e94f50444cd3178879180426cc2d8f78d5056a05c091a36d1c5b9107f0e3714acab1f723e90ddfc0250319bde07d67133bc50543f4d";
-  sha512.doc = "5fc7618723ab27f57c14b0b81cb8d6f1b141ac6582cd73143a5c1543dca0f307ff5eaff006dd0a55c6f84887f0b08dddda5651b9c0938716262894cb3b8aeda0";
-  sha512.source = "2c7336dd1033f87a10ee48e699c0c782e5f2fbf52102580f396f8d7ac5805fbd665ece0370bd72cd191fa9df6fefa8b27d07ace58710e1c8d04aa45f3bfaa5e3";
+  sha512.run = "26ff88b32e91fd872dc0286001b58a7084b38e5497125793ccb90e60e58ad19a78b780162d505aa0be9bf07e9656bc60414a55a0d6419e8d9b33d8c0e8e53d9e";
+  sha512.doc = "206f3d794ba1323f9a6fd8fbed98190e376a91e5babc94aec236c46be783b0b01d80fe45394a1e73e2e29c5b19279d28430b9350e1f216369c4be707ebf6dd7c";
+  sha512.source = "ad9ebde05f2194043d75d25faa249f786e154312b4c3d6688ce766cba4092ee157a405ef1eec5654b1b6852b5bf2f994c77ddd78d284c573a07539403bc69e92";
   hasRunfiles = true;
-  version = "0.2h";
+  version = "0.3a";
 };
 "unswcover" = {
   revision = 29476;
@@ -34986,7 +36144,7 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "uplatex" = {
-  revision = 57972;
+  revision = 59450;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -34999,6 +36157,7 @@ tl: { # no indentation
   deps."l3packages" = tl."l3packages";
   deps."latex" = tl."latex";
   deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-firstaid-dev" = tl."latex-firstaid-dev";
   deps."latex-fonts" = tl."latex-fonts";
   deps."platex" = tl."platex";
   deps."tex-ini-files" = tl."tex-ini-files";
@@ -35006,18 +36165,18 @@ tl: { # no indentation
   deps."uptex" = tl."uptex";
   deps."uptex-fonts" = tl."uptex-fonts";
   hasFormats = true;
-  sha512.run = "8acef423a0359136795301e1deaba156c702ee360f309d1884a90b3ed89842389bcc015e70c1461611ebb4a21fb9d5853db5ef40226ce0f61eb11f2a424a70f4";
-  sha512.doc = "7cbc40c770c1e04114add004fc4920e3c7dea62f959d06fcbfe54b9fdc45893214ef3e960ac685cce258b07fab424aa7a242da368aa1ee0015ddf8579d582820";
-  sha512.source = "9c1c1d0fec518410938e6642123f64242a6ff0bbb6425945897c10754e436fbd82d6739d31717152d183da385800a569d9209f37dd38c8eb77767842e0822a67";
+  sha512.run = "6d9c990c0458138c3753cb8ef1d0ae075ed8322cfdd1e4173374fc37f6918b951152f3e2385b3d24f0278e20c6d0da9a256fda2db3d0a3869cb000ee9f8a99a2";
+  sha512.doc = "e18c72acbbd80445b7a45d91a40230bf57a806c6e0c74387d20cba12261fb43fecc9b2183dc7e754905ef27a50e2cb209099761adc91144077b5661db3f661bb";
+  sha512.source = "e567fb0b2a557f2b1cf441fbbe80b0341e31a71bb848f5aa924ca3602db9df9cffd023ac10d1eb388bd3b31aaf88f9f6fca323d0eb8ce774872cb20f3d34eb65";
   hasRunfiles = true;
 };
 "upmethodology" = {
-  revision = 54758;
+  revision = 59878;
   stripPrefix = 0;
-  sha512.run = "848e1a982a1d0667082b12970a057f639bcb8eae0c55f984508ace27e98bb0b2c9d285a3730c4c7eca4a1ff361e3b2e6908f85c0e0768e9b4e8ccd66232ec4a6";
-  sha512.doc = "856e798164ec708da8f8695f9f166cedb36973f6747a01b2cc10cb5a8d124cf4383a625db57578666d1fc4658516dd8e9bf94221967b1829cf5356314ab121bc";
+  sha512.run = "c5940e7135468b197916213ed949a8a56d1304453b79b4452257aeb1b1c04a3dae6767fbb49ab0a3b982fb20a5d1ee893c4efb9dfb1cfe66a3bf896c33cb9a16";
+  sha512.doc = "5f91c9882b90ac90e984d87edba2eb22d5bdb798aa41c62edafc3ead8e5a4696dc2d05876006f646f4d513d0bbe2c36787cdc2a09e5e9cb2e14e9fa9ff59efa9";
   hasRunfiles = true;
-  version = "20200406";
+  version = "20210708";
 };
 "uppunctlm" = {
   revision = 42334;
@@ -35037,7 +36196,7 @@ tl: { # no indentation
   version = "1.3";
 };
 "uptex" = {
-  revision = 57972;
+  revision = 61107;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
   deps."hyphen-base" = tl."hyphen-base";
@@ -35047,14 +36206,14 @@ tl: { # no indentation
   deps."uptex-base" = tl."uptex-base";
   deps."uptex-fonts" = tl."uptex-fonts";
   hasFormats = true;
-  sha512.run = "1ee2679e7531fe4406fea72f7efc482f7900da50cb74045a62c0b5e5596862011509c3d966a795bc13538170afd7db26e8cf4f406391a746e45804414f26cff0";
-  sha512.doc = "06a3459702bc9838f2246aad7af99c427413a43356d88165e68a132bf8b926d9ab668e6dc10127c27eaac6526085c3fa069bb9709833cef241c94d0f4fb3e02a";
+  sha512.run = "4237df16758a5495555936a94d3e075bd23a53bfa12da26bf04c9da852bf3daf5847b055327dd5eaed10dbb45e09ec514640138ec7a2cd4cb358bfbc2e1d29f6";
+  sha512.doc = "fd8ace9f65be4a636bd39be9acde4dc23eb4214d54a51f8773e5232fe8864fdd36d34af4c892e12db4cbd768e52d5f0fd6271063e4b3ceb740448ffaac3d3bdb";
 };
 "uptex-base" = {
-  revision = 56832;
+  revision = 59407;
   stripPrefix = 0;
-  sha512.run = "ad62a640e04807f62f9efdd67720f57c7dbab0190fcfea7a82109f4f8223138b8d413c49e878c70ea04f733576828a4bdf475ebd1b6ed471268cb21bbfaebfae";
-  sha512.doc = "dbfd62df1619e9a5814fde01796203180f77fdd48fe603cc1fb6701b2c2763d507eaf9925d2555a9fa6281e9dbf35c7218a9f888d325b628bc2d8036bb393637";
+  sha512.run = "060758b358587a4b4ca9a07b7fbcc61a1ec057fad8c676bdfdd1d0e16473295f18b81e54adad2303a1f99e5509e93dbc3ac9cabb0b878030821e67e070de14a9";
+  sha512.doc = "35a29955e5348baeaccc38714c1861802147112e1a3c9419584f6a9745f3748a028c10cb0eae5e74e6201ce7753bc127794906945ed65bc3240d6b2faaf93751";
   hasRunfiles = true;
 };
 "uptex-fonts" = {
@@ -35148,13 +36307,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "ut-thesis" = {
-  revision = 58661;
+  revision = 60331;
   stripPrefix = 0;
-  sha512.run = "fd5ba4022fca6b40bed994692b04b007d30fb659c5439ca0fc86e664ba8f2f59ea42655f34873da18154ffd998c9880e314020712f1c0c7a30bccb34249ad8b2";
-  sha512.doc = "8d300fc610b1132257cfbec10fbc1fb6c1eee287bd792102c8a114a518359a5f1bc4f31f1118c26e86d4a66dee0fb9117d15777dc91cf955fca879ad7e125c7a";
-  sha512.source = "6e3bd80539bc1a5ef94d800519b6296d776a702c69190e213fa51e23d108df807a69a9161e95485f8288c184fedfed8131db3ee96e704f7299113c9bcfd4a820";
+  sha512.run = "10cc7477b07a495a80277cb0a7633eedbf738bf15f8d6a63adf55a8483bd301a2f2c592bc47aa2e87f819a3aaf2256e3c9e4785a8032d9e0c43ddcbe18c9e5f3";
+  sha512.doc = "bb30beccde671907f5627b4ad25bfe4833bc47299b06149aeb4bd6d8d29005920654ce406b411e555971c66209cb4dec5c9e3de8fc28fb409e303b8939c999aa";
+  sha512.source = "25b973b62f569e66c90635da3a1d105edbb8e934b5bf79ecc5209f7b32d5175571f16e86982e007c53cc017861cfd55eecdd62a38399a37d191c97eb1c08d57b";
   hasRunfiles = true;
-  version = "3.0.1";
+  version = "3.1.5";
 };
 "utexasthesis" = {
   revision = 48648;
@@ -35165,10 +36324,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "utf8add" = {
-  revision = 55291;
+  revision = 61074;
   stripPrefix = 0;
-  sha512.run = "38af66fa77e637a5bffce68d816cf6aa4e34ce5452b690874de91d9c10199316d60ead3736c14e7872cc4562ba1fe4d953c4fa7887767327d06547b68f85b81e";
-  sha512.doc = "f521642270b8cf26f609c050eaf412f2fcc53fc0b5b3e1873c141a5b5039fff9d0387b0ac83d0d831d22be256d3eeea4db51c67da2642372831976555eb6600b";
+  sha512.run = "988d720d5f4dac3d15e7483e1ce904f214055407c41c19ee7c2683db592ef870cc9a87d28f47092cd062b5ac5bd061b68738046dcea919b0aa9573b0c31a04c3";
+  sha512.doc = "c1f41ca0ea536db11e2e6c1df561e74f8bc51da3147410f7f33863d0be1d38948bcb64d0f4d8c41737278435d2f88b8ad758d2c48f1672b682169de5e0099b70";
   hasRunfiles = true;
 };
 "utf8mex" = {
@@ -35193,6 +36352,42 @@ tl: { # no indentation
   sha512.doc = "ba60eaf55cc08378560048ebc6f735e743449a18d2822e6027a86e595a9634461713ceb37d15b9f0c8239f1935f910bbdbd9a0d0d6fa1683174739f91c16a504";
   hasRunfiles = true;
 };
+"uwa-colours" = {
+  revision = 60443;
+  stripPrefix = 0;
+  sha512.run = "c2ec752b4cbf80f35787db83a0d227306689b1ba9bee6339bb6c2940fd938ce33daa995bbad2c58ed9284143ad3f45aed6668dff88134878cf115968c6820a3c";
+  sha512.doc = "42745187e02211f149c74c82e0046f42eb5c1c6b01c39fcc8f0a52ae50613646b216355f29d0af0b6536558c2689b2eb83f31c84d29bc007de4c8f9d78ea6d43";
+  sha512.source = "e03bbb8bf8f7684c02623d9f46187cd0b4ba282b1971679927b633ad2b987748c3f784caa6eb01054422f91f2703e2733dca0bdf2c89902ef61321875e2e96a9";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
+"uwa-letterhead" = {
+  revision = 60635;
+  stripPrefix = 0;
+  sha512.run = "9277f935e5769bb49cfcb1e90a8e6040da4bff341f82bc673076d0ecf0778d795a3ef480d94373d28b7e14e5c2083ab8e01737dcbdefa87cd042448d7cff3a32";
+  sha512.doc = "1d778538ed1c9f8b1f2fda030a1c37dad0f3d8b6ebea71a3b5b784f695ce636414e5144402f50f10279df599e5698de157a9549edb77c2a788c68dc0cf869072";
+  sha512.source = "1b0a5d473a5deea6355cf021ef62e564216792ef14b8eeeaad18da441d2e42cdfe7356972b165126cec9e8d239aa5fb14222e1b6c93fdcc7a563b00a1a2024cf";
+  hasRunfiles = true;
+  version = "1.0.1";
+};
+"uwa-pcf" = {
+  revision = 60641;
+  stripPrefix = 0;
+  sha512.run = "96a5ef7a7b016e48ecbd80210a8737ff624e30ae7814218c4bfac89f527caef238d5651f700d5cd1428aa4ae3e30fcb8225420d46043f0f1280e3ea35645adf2";
+  sha512.doc = "58bb43df7b6e36da128848c0ae8c1526eba889b628e6de987ecac40f25a0e359a257a7b9e0713d8422fc4f2f045615e52374691107c5b02af3a02a737e91ade5";
+  sha512.source = "8f0a0615e36b2f745e44cac73b853e906e9956651f8614313ef95ecfef977b7a456432c6710b2aadca47c695a030b2339ee1a10c0d728a798d269aa6578e58bf";
+  hasRunfiles = true;
+  version = "1.0.1";
+};
+"uwa-pif" = {
+  revision = 60640;
+  stripPrefix = 0;
+  sha512.run = "728907dcd2ebfc289afdd798a83081d3ee357635efd36f757b7a29e3ec49911c60462fa2cb5e9988b86c9cd22be74f71a92e1962b2c1d1a20c860f8c6c66eeb7";
+  sha512.doc = "8891ef73abccc06efe541cbd5b68e5c40fff48df12dd008b3a864993af0ab3ab46e9514ac261a51daee93cd53a74c884e33c0bce1d21c9625acf0ef0b0c046a2";
+  sha512.source = "b10a63d7b7e7fc39440a53dfee84385c2e6e4d574fe98814eb3340ef9ab97a142aadff54efdf55510f16a38f70745f456cc2fb4990434a2ec41607b08d3bdf60";
+  hasRunfiles = true;
+  version = "1.0.1";
+};
 "uwmslide" = {
   revision = 27354;
   stripPrefix = 0;
@@ -35216,20 +36411,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "vancouver" = {
-  revision = 55423;
+  revision = 59192;
   stripPrefix = 0;
-  sha512.run = "2dd41dd96607ecbb4c4bde1f6ff3c63a3e79efe7d025fce510e1b0dfc5b8d5bb19826042c04819f1d84178fce7d077e8f7b25fa9beccc4ed88db2683e716444e";
-  sha512.doc = "18069bd05809a9c8dc6a5e45af304dc74f40b5304c34064c7de67a961804d540a4cd892b4de380cb6c59a334b09cc165c2aa81749be1d4b2fe56e7fc7528e0f9";
+  sha512.run = "9fd38e4545902a8f715e2912ce2046a679476f0a91ee76af74213b65689c4e2c01aa68ea8fdb09d93442097695443a2be0d6169dd50fc8ec63a7f9fe424ea739";
+  sha512.doc = "4bb074a9ae48d6e565b1b60dfcdec4b6fe35e367639c3737e68e4cdeb9ed9017b17d57ebe895865b6b0f63bb7d66df5af08360d149aa5f2f7c604bf90faa9859";
   hasRunfiles = true;
-  version = "0.8";
+  version = "1.0";
 };
 "variablelm" = {
-  revision = 46611;
+  revision = 60014;
   stripPrefix = 0;
-  sha512.run = "e58a1c5a77861ed3a84f2fb372d6c3560129b656257e23a935fa9d7ce18c83b59f9863e29ff35c45c6ab800cd09aa2fe7bcb1fd01edbbe2e75112809c17faa9e";
-  sha512.doc = "58611f636d5aea5ee2935c75206e0d051345d7138d04668ec7875b3ee0493e39bba54b1941aaedf33abfeb7636602fa6ac7fe7e750837b425678eae97b7495fa";
+  sha512.run = "1c34d4afa65db4993f3098cb32b604c68a75bc2c0b56b026a6d50c2de61392d4bace210dab2fb5ca0c15253e7486406aa3aa5084e2296bd5e8f1e9c953419627";
+  sha512.doc = "56bbeff2f9cb4a99c05416d7fae7cea8cef81e712092ae8b5d1ca644769debdd95c443fb6af7edc034fe9d778147e1b37da50d951278a7f64c407dead5f6e7cb";
   hasRunfiles = true;
-  version = "1.1.2";
+  version = "1.2";
 };
 "variations" = {
   revision = 15878;
@@ -35280,12 +36475,12 @@ tl: { # no indentation
   version = "0.4";
 };
 "vcell" = {
-  revision = 55191;
+  revision = 59039;
   stripPrefix = 0;
-  sha512.run = "7ca3866a8341d756cc567f3b71122cc1a9a5060399f3258b9de809aba2c0d2944a140a6d0d76a4dd8593cb314a8bf469829f5d5d383f3718f5e8422f06f5f8b1";
-  sha512.doc = "568ed02cc71370c3a77f468c43cf6cd72b79e9572f463c7aeca663ab725dff4c7db1a630ac7eab7f71063b115fbe3d8299190129c2d50cde859061bf62fdc385";
+  sha512.run = "39d8f934a07095d21219d58fb41fd3e939391d5c68c51d8b9ec82a97522e55fc09a23195c8b5ae48cc3e9d9bb9a62a0b22123f467627784c767321140356d6b1";
+  sha512.doc = "f13e941e7327f4369112f59387cae9c49f10197a2c7c4016cbcc5880759d89fe88535266f5f753b48b547deda24a3ad959b42f864b9ca2764cd593bacbf908b4";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.0.2";
 };
 "vdmlisting" = {
   revision = 56905;
@@ -35378,13 +36573,13 @@ tl: { # no indentation
   version = "1.3";
 };
 "verifiche" = {
-  revision = 57766;
+  revision = 60269;
   stripPrefix = 0;
-  sha512.run = "db44ee3db5e17a7d8508eed3fd93781bd2ccb1a29ec04fcf2a28b91fdeaf4130b8ea5f09c0be79c5ed9da9b3ea729eb9b31b31374ce82e9602501e4cfb26cf9d";
-  sha512.doc = "d3477629537881fdc6d8f7b739daa14178de3c5f9a4b35c97829c6fde2de82a85b960cd408cf2126e87a16423d985c2ffabaffa56a891893006d2ef8c9fd04ab";
-  sha512.source = "b4aa0ec88ff81d9bef8cb59cd3ce90f1d5fc08c26b9224a5d561c54ff144af2719affeb32549f5a5691c2894f77d23c941d960413e69a3af3b5ca27c944d19ef";
+  sha512.run = "c0fd327c6d720ee95501137bf7592881bf07aa91843222815cc3ebac33bc752658ded93a2f6005acceef5d67b2ffa2d31ee51c2599e9d144da113527fee69fab";
+  sha512.doc = "16f755fc9731b062810cb4dc6d1354c2c29e2355423209da9fc58f4891078af1b449dbd530818afc6c06ca5612574b82e9dd943eb5ac0a18fc21f44b988e35e6";
+  sha512.source = "d949b96ff65fcd4a3d021496a77d219b8619687ca12868c7ff1d036ed960b3b213958149647f52c0a13c6a8c8404bb69056de1495e337a57f0dc878a664b1992";
   hasRunfiles = true;
-  version = "4.1";
+  version = "4.2";
 };
 "verse" = {
   revision = 34017;
@@ -35438,18 +36633,24 @@ tl: { # no indentation
   version = "0.1";
 };
 "vhistory" = {
-  revision = 30080;
+  revision = 60124;
   stripPrefix = 0;
-  sha512.run = "f1747b1c112c69cdc506234c571335647b365eb92a4054c70cb08752dc1da92ac4e84d533083cdee76f6398f5f1bf04b20b94cf38ddf13947d4086c5599529fc";
-  sha512.doc = "60a8100cc10df177b04eba8751208c515eee9601806324184f737491707e1e4d453a92b0d12a16d6cc1af319a55c79afc8922d1378f8714990c97b5779540763";
+  sha512.run = "8581151902ec4954f09277c8d4485aa9b8e98f8bb34693a1e6e79f769e8a47e8a8a3f797f74e7b236b3c24cc3efcbca85adc538bd5509f17244de46f2d1ae1b1";
+  sha512.doc = "5a253f13fd4ba05af75275a080545392d3b92dd63aa56b768a4eb20db062cfbc85472c8933e2528fcff8e7f01b233a4b61dc0c22487f790d2e09a16eb7450abc";
   hasRunfiles = true;
-  version = "1.6.1";
+  version = "1.8.0";
 };
 "visualfaq" = {
-  revision = 38647;
+  revision = 60200;
+  stripPrefix = 0;
+  sha512.run = "16bd8f010035e9eb0282a119ec6a7699d2c8926b6a7cc997235ab242d19f554523bb766845dd2385858694aa06653be7ee18bd406fcd578dbcff7fab1d61c0b5";
+  sha512.doc = "3380785d5b4fee8a68e8e1c16aa514719ae2e7275cc1cb6ecdf9b3ca6901c9c85a686b61eb3a763b2ad6bb99d246aa79c54906284da85d548316aa2e7b29079e";
+};
+"visualfaq-fr" = {
+  revision = 60273;
   stripPrefix = 0;
-  sha512.run = "6b88343feaf39cd314e9453452da245054d3192f02ba0b2eb6e55a9bbca434e9b74cb16ad0902a6f5352d9ef945a4176e2e1998a7f0bd1cd75d2a3da7f4a203a";
-  sha512.doc = "eea0f022741d52ebb3613e977948c0428ddbe5b7d41faa659e888b48b7bb4e655a0e693d1dfd92d40a52a67e6df9ad386ac64d2ffee7c2732feb2077d4b24f77";
+  sha512.run = "6a2ae768985a6ae59bd70fc137164fbedfb6c99ac137a81cc40d86b2543bd98f29ca1f9beac47220ed8ab69039684ca7dd90c3cd2c5d9a2b90e4a8c5c2a3e3a2";
+  sha512.doc = "7ee33b3544ce6b8a5bd905f518036ff534c4bd677ecd385dccf004d874a59d108bc44a1779a61fe7cbcb6e97588587be1d38e4e96f048db70de042848d3e312f";
 };
 "visualpstricks" = {
   revision = 39799;
@@ -35632,9 +36833,9 @@ tl: { # no indentation
   sha512.doc = "933ceaf7bb2400fff1bfc5ec26f60d750e0995680579fe487536ddcf8eca670e2b6d3fb6150b4ad659c6fa594b9db540523a878c74e9aba9be7710b5380e55af";
 };
 "webquiz" = {
-  revision = 50694;
-  sha512.run = "725ff4b81203704a5cbf066c48d25a959031f89eed094da4d6a9b07ad059d977b2026b5e6a1e704999cf3b1b8eeaefcb5713f099f016f9cf17206ec1c1183dac";
-  sha512.doc = "6b25d04e4cff7db299c4f13ceb55525fa3a4ff2d094960fbe8171b3822ce2917d6d868e62ed3a1d2083d78b2ddb839ec211b5ba00a6fd894c29ab2d3a6ca7cb8";
+  revision = 58808;
+  sha512.run = "04ce66027089c2be815380a10540e6c12040d33a33b1de9c6a98985e82a65e87f58a19b6cbf2b0ad7bc8e0a1e500bd21a80e2adbe3ff395ec4be1ecdd5b5adf0";
+  sha512.doc = "58faed1d21c5f0abe004d5aff0ef6f754012722dace25948e236c940f3e9f3a49d4f661d6692afa0bbd0a654424017e84611c32cdd99a0ef60e510c4b2fa01e9";
   hasRunfiles = true;
   version = "5.2";
 };
@@ -35664,18 +36865,18 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "willowtreebook" = {
-  revision = 54866;
+  revision = 60638;
   stripPrefix = 0;
-  sha512.run = "36df6eb6f46857ac84b2b0ef4fceb265c6feaee565eaf201ad8b00552a1f1e37d6f4d5a8e9dbbb21ee0df3013dc8aa72cc0cdef85c9b5c400aeca89f9b851c47";
-  sha512.doc = "32abc19949630800649038ef395a8c51568c4395b5ea2495205fab557669c40c3eadb6c272e9a4747d504c95f02df50056e083c4bcaebec50a5b5df7d5d10668";
+  sha512.run = "835b19d0927b01e4acf9da483148d3fa45b1c12eecebe39802ee4bab7426843710dd67306b2a8946c9c2b51d4c1864eb054f440c3ea021ae124bbeb6e4908b33";
+  sha512.doc = "9e5fddf4765325a550e6dbea529d110bbbfbcdf89e1dafcfe62099a4e8fa6ce2bf3384ef9e1b2453f1155b6e6d3f48d1d1675100c8295362653aaabec35aaf86";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.03";
 };
 "windycity" = {
-  revision = 57577;
+  revision = 61223;
   stripPrefix = 0;
-  sha512.run = "fbaa3e635579ee9025675831d3a26e0d1451badc509da4380aef8cb0040e25456e0b655387252103cfc32a92f63880c2c385b08d6ed2ce85b63233220377dd33";
-  sha512.doc = "b4536fe6706adc34a15cd9e9f19ad11d5a59fa004844c946e5e536297807edfc729807f94a447d67e0c5868962a2e93da826de9e6ddffb2dc5571c1c304c992a";
+  sha512.run = "718ef4ce03405443de94581e45f8866053ce4b5d6b7c6e4576c4664d42adcf50570240fc8181f795f59733b94c648e15cc98ef92e4ae59843093663511829c4d";
+  sha512.doc = "58107956e367dc318cc23320818c43f3fa91b75f69bc186b107687293f52c1c0cffb04912959e1a5c8d8abe3bb848c69da38ec621266e7a94b378a11d4c759e2";
   hasRunfiles = true;
 };
 "withargs" = {
@@ -35735,6 +36936,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"worldflags" = {
+  revision = 59171;
+  stripPrefix = 0;
+  sha512.run = "128274fc2cdf34b956987c85c4bd00e25673879a3c701965db5ee7d240916df79133843991ea69e0924fe15a3f88140e8bb1754880bbdb1d9eae157ade92c260";
+  sha512.doc = "8cab4b4abf08a0253a3ffd1682be2de6fd5a32adc48c4e195b76899074d3fa415ad77ce347a17afaa812040de59a3d0947e35c6f3872c98edca0fd218fa79f20";
+  hasRunfiles = true;
+};
 "wrapfig" = {
   revision = 22048;
   stripPrefix = 0;
@@ -35777,12 +36985,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "xassoccnt" = {
-  revision = 55876;
+  revision = 61112;
   stripPrefix = 0;
-  sha512.run = "f2a2c993c465afdf21920e7f4cd7ed81f40fec1bc485cd89d919e5a942284e2219194d349ecc4da81005a7dbd997ed176ca8571c92ec159b69a98dd1068a136d";
-  sha512.doc = "a20c3a3f10ca5a2fd785e4bfb92d3d60edcbee74f6efd2dea5fece63b01ff3d67905700be0fc48dfda9bccfa386238e77592cb04208ead19dbdb0714d6e891af";
+  sha512.run = "4b3934d7a4a219fca3f276b26b893706ed8a65682425ac40d6722734f3e133099837ea8aebf214bad32c0d6b415121f73ea605dd851f0f2542dfb0bc38744313";
+  sha512.doc = "020a2fb86c86372302e68636d727203625ddfbf63cf8eb5b3055502fcd073c54b52a44f8c7bfcb2c3c73a206082e5d285f05cf762b9857d2e16c43fe36f8fb96";
   hasRunfiles = true;
-  version = "1.8";
+  version = "2.0";
 };
 "xbmks" = {
   revision = 53448;
@@ -35793,12 +37001,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "xcharter" = {
-  revision = 58755;
+  revision = 60749;
   stripPrefix = 0;
-  sha512.run = "47ef79da9f019c27758e90be80ca7815e93ec3044da88b133685f4cf32655d1be2c591e17a6730da45977be5e06a3cd0c29da2ee798e5667d741f5161f2de723";
-  sha512.doc = "574a4ba5ec45569668ee9e3b26055d1677fb2a95f28bb4b8e2b21589aba116329fbffeb74e4b391dde94f93547aeb1d689560d7050976db533be28c9cf6b6948";
+  sha512.run = "17fd9af030ccd69b9f1a3b4760518f3b84d1f944b2bc4297a2fedd25691b81b249cb003af28ab07a60cdb2d14d6e9b5bab5370f78654bcf4efc281b50a673d57";
+  sha512.doc = "2dbaf1200619859fd8eb5d758f87c1ebd0c7921a47b7500ae1e6fb0437066e5ca115db8caa0d804cdfd35b7777f64a26bb68f2f58424e0fe76ed04a8006a526d";
   hasRunfiles = true;
-  version = "1.216";
+  version = "1.224";
 };
 "xcite" = {
   revision = 53486;
@@ -35827,13 +37035,13 @@ tl: { # no indentation
   version = "0.5";
 };
 "xcolor" = {
-  revision = 41044;
+  revision = 60925;
   stripPrefix = 0;
-  sha512.run = "9fba18460e4488cf2836082952ffff6e5e481b964570ee515f503aed3c8790778e054919e4e24070ff6cf608e21c1356859341eae5704558b1293b01ba8c0925";
-  sha512.doc = "65f15207df8a112a4bccbac1c5259053364b52da3f0d2fdf566e1e734f61e0649ae6cc674c96f775d8c668cc6238dad2993f06b81153d38713ebf96e747e0353";
-  sha512.source = "236eb7d2f94c297e743c2b0508e55910b00495915b7910dba7e0bc107f2ee37b24e3975242bb11c2c64a99f2abc5a55bd799277b9fbcd98058ee8add005d2be7";
+  sha512.run = "399dc73f97a9c8ca1eae50f0f30fc900427adb48cecc4c01ed6609f741e267b6494ef40f2ad29a40d0257eddc43e7e27e82e42b9bead66f9a87468890c372525";
+  sha512.doc = "0fe7912bd9a47a16bd17e72fec9e4d06d88a579bf3ab7e3602f110c23f628bf594406a2d83f221fcc826a89da9bd0503de86387e90e70d34981d48c30080b15d";
+  sha512.source = "fad460b174fe565d975ab0250cced26d1272f564033c9320bfe1118f03509058a4b7ded71535441b0981813b00be1ab07d3ce0b5765307d12333226f5414522b";
   hasRunfiles = true;
-  version = "2.12";
+  version = "2.13";
 };
 "xcolor-material" = {
   revision = 42289;
@@ -35920,13 +37128,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "xecjk" = {
-  revision = 56711;
+  revision = 61287;
   stripPrefix = 0;
-  sha512.run = "6a318c27555cd58be7f3f8893ef4345f37b619cab2088a0ce5627000eb8375724a1e3e8df741cff2558143ad58a3d336d67aac4ff2dd8ca226b223ec103f9d3d";
-  sha512.doc = "72446201ddef073b1b37686ecd0ff7569db34d3240b549b5e9ac2c5e6fbcd7e64a070afdc6ee40e83a4d95172cce37da092e463e4c55e5f293b92c39cd4817a3";
-  sha512.source = "32c1905ffe53dca84509cf51fd4f2b2eff1ca1d03e97bc1f03009d236e476f8d8573ef3267e6466eb63e18b70207ba62558afcd1a64d9a1af79a7a6cfe5c050f";
+  sha512.run = "7b2a43e2523c207a19ba688912bc832ea38431acec4dcf29218f863e7cf68d2057eca1e30e0fa1851cbd44fbedde06889390cab72c7ff9329a0778d02d059625";
+  sha512.doc = "a2c80e3907af4723925a52c20c6ba2b7b6cf2f855824cb403f65c53f771c97523e30f97f559ba4a7a42f39c06079b82bd4454697104cb5ed3b044b3f271e916e";
+  sha512.source = "2944d3905021933eae4dc940cdcefc6cc6d49494ba005ca34d54f8d2ee3fa88ae575a9cbfdca5541de65c5f172ecd2444c0dcc7c837e439016b072f9995241ef";
   hasRunfiles = true;
-  version = "3.8.6";
+  version = "3.8.8";
 };
 "xecolor" = {
   revision = 29660;
@@ -35962,7 +37170,7 @@ tl: { # no indentation
   version = "0.3";
 };
 "xelatex-dev" = {
-  revision = 57186;
+  revision = 58842;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -35975,13 +37183,14 @@ tl: { # no indentation
   deps."l3packages" = tl."l3packages";
   deps."latex" = tl."latex";
   deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-firstaid-dev" = tl."latex-firstaid-dev";
   deps."latex-fonts" = tl."latex-fonts";
   deps."lm" = tl."lm";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   deps."xetex" = tl."xetex";
   hasFormats = true;
-  sha512.run = "93df696d59d088bf5808b5dfe0ad6a834b65252dfe1f06cdc0d2f446a57b97751c08464e58be40ac042cc508d5f846696561d6524bbb84234af11fd3b7c61d00";
+  sha512.run = "9b8998710f85dc6f685cf3b423f34b08d0945c90e5f94bca141e40248acc641d6a687d39e91cddaca12aa51475fd4120cc482650b7536662cf3d9f07d3409680";
 };
 "xellipsis" = {
   revision = 47546;
@@ -36028,7 +37237,7 @@ tl: { # no indentation
   version = "2.1";
 };
 "xetex" = {
-  revision = 57972;
+  revision = 61114;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -36049,8 +37258,8 @@ tl: { # no indentation
   deps."unicode-data" = tl."unicode-data";
   deps."xetexconfig" = tl."xetexconfig";
   hasFormats = true;
-  sha512.run = "dd788efc6e03e11e2dd88d8e63ca2153e936194391d49ce422a757ba1937986cb80faafa71860bf55ef5cbab51b53cd0c85c60dadddd92940802ede301cdefd6";
-  sha512.doc = "544a36d94bf2094403806d934a7e0d92062c1b5b1d0efbf4316d9319a1ff95a1d8f7a4a961c63e4a3eb66c9c4a24789e239f958132e5a4f08c3764f44772c8aa";
+  sha512.run = "c5cd9bcd20cc1ea6765d8c2adcc9aad2d2c6d2cee54998f4d27bcf2d2ceb58766bf125ecff6957e0806204333390be9ff646bb0523e97754c7056f80ca0e9d99";
+  sha512.doc = "470d453c9fd81cc88b7a7de3e115c2ce6c83f770b5f7be2af40cb712bb62004f2e093dab0d8a373383ffc85fdec6ca1ecd9a7ee7440e8235e57c29de3b330d4a";
   hasRunfiles = true;
 };
 "xetex-devanagari" = {
@@ -36098,12 +37307,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "xetexko" = {
-  revision = 58633;
+  revision = 60444;
   stripPrefix = 0;
-  sha512.run = "53643a489cedfbb6d5898b45e1b70f7426a734fac6470d9378a196760af1d7a4793a6feca2c1508051d6f696ec0d780e25fe99c32ebc2b1504a4cd30652f9650";
-  sha512.doc = "3410649caa3624f432477367e85b340469804306f4d1e8c33839291367a13b1775d37542db05d39bd5d3e7a103e30b124aaf8a786c10f3a9ee9ef7a1a695e05e";
+  sha512.run = "460d2899cccaafe3f98eb46c5aa32ae4dfff923e70f997193ace6e502910d82635b0a949b4ed48cd10cc35405a41fb5704f988328f1ccb97b3dce065cc085d39";
+  sha512.doc = "48d281ffb0268d4d6a08680e4eb022108a3b18a78a9de908e781477d670367f1ae05cf7666e0edb72bc4b7d3c1bdaefb1ecf63842e72d7b60075094e191fecdc";
   hasRunfiles = true;
-  version = "3.1";
+  version = "4.0";
 };
 "xetexref" = {
   revision = 56291;
@@ -36175,27 +37384,51 @@ tl: { # no indentation
   sha512.doc = "50322d89f494d07793d964fe515b8a0bacb74bd5706a6da80f6860771a8e3cad35c7d06bf398217a7e4364594d54f4dc490f39980194804a04460047ff5083f8";
 };
 "xindex" = {
-  revision = 56295;
-  sha512.run = "e8a858e3fe056519eed3f85dc21291881fdbf057ece76d503fd863f66c51331d689fabbb7a1ba3728c3010c45a9f0663fb75db2b609716ee5dd515067bea07a5";
-  sha512.doc = "f755500e75fa45d14110da45bd43d10f4cf170cc907af7743673a38e1c823612fce9131eb16a03e59a1a821b1e4b3580e6a2e6a68e759f53f9daea4f88e4f09e";
+  revision = 60997;
+  sha512.run = "c34ba1d358204e117e5ef1ded4d9bbc2b745ca2f711a47d9fff6ead4de03d6fd782025e24427ff528299921fa00827dea9db70f3162aeff4851acf0a51fa1039";
+  sha512.doc = "94c7b56000e161b09aa593e20841928e604665fdc1be466ff3b933f5a55e646cb1a9ef7d52d90d2ebe232f876a5554b9e7304116f86b692bc58af77992e7136a";
   hasRunfiles = true;
-  version = "0.28";
+  version = "0.34";
 };
 "xindy" = {
-  revision = 55330;
-  sha512.run = "8a2db7333ee39936892ad83eed0d31de25cdc48533dbbcb297e3a8714fefa6d7973b9e9eb7767a50f11be89afa7eb944bb56064a14b71d23bf8161f7fddf8d7c";
-  sha512.doc = "4404d43c524b2d13a431ca5691031bd06ffee316025a6521d08f8ecc18d7e6703aed8a714fc498e7dfe8bb7f1971562adea96c637530e612b486ca015c3b1e23";
+  revision = 59894;
+  sha512.run = "0abfc9c3d4f4418fa63845df092e074762f215b334f76016814988f5243bbb184768256792779c65f277fa6a48c41d762c33be6c5cf25ba292efcf9f0554abf8";
+  sha512.doc = "3fed723b6115fd7e05b84c010ded501fcd8440af72353b2b7ccb6df39082515b5de33951821c8546b65ba2462695971695caf2ce88fed67c9bd766db9d13e859";
   hasRunfiles = true;
   version = "2.5.1";
 };
+"xindy-persian" = {
+  revision = 59013;
+  stripPrefix = 0;
+  sha512.run = "07313253d80b5ed6494e1189088908e03590424c7d24038a437dcbe83637db9e426fa0989fa202f25f62e112cc77df3c4acef111bda6c8b44dc2b2660af959da";
+  sha512.doc = "3868c7f2c20e22cfb3b1ffc61c830581d774ca909c4fc450586ed0bc82a091546efc46540a883e667ac5ac7d292a4786019384afa741599634a2fc05975c36e7";
+  version = "0.8";
+};
 "xint" = {
-  revision = 58738;
+  revision = 59930;
   stripPrefix = 0;
-  sha512.run = "44305994a39b6d0a0c517445bf554f1decaa8c1bde5eee2613010308308fd606790409266e9af0803828df00693ac5e1d015a8cef90d112553762eae97f8ed53";
-  sha512.doc = "dc65101c1196c68a703d1e6f8f1b69c554bc3841fbde860cacf11c3547f6fe45928d371deed05ce1999f7afa1bd65368df626199a0f2dd5392c4d67e924a51b9";
-  sha512.source = "75fa7fe493f9bd393cab448c7bbac43d56f67daf547281cc410d88db54e8b6ccffd86171a2ef5ed54721e73538c61b6493e41fca4a503775ff8ed0cb7bac968e";
+  sha512.run = "465e330c07643ec8a934ebeae728fc6d4b35bb6ea79a8db88e10c5d90fbb8d0f7cdf23eb941dd41541f0132fc8479f9bae049c2ba1d6d8e793cc8530f6f63317";
+  sha512.doc = "54ee68f457653c787278f1d2f8acc5eab1e814c94ccf79b5ca4da524f75a3921fb8d905979138bdb3dabc4a8ce76f27be79c53ef4c0e6f91e6ec924b5b37a681";
+  sha512.source = "9a415b9c473cf788cf8135db1ecdb7d85dc3f9525fabf8f7273c604fc39c3f04387dd0f0c03e0b525cda23f130ee996fbd4bc8d3d09dc97ab892e1aeb17056f2";
   hasRunfiles = true;
-  version = "1.4d";
+  version = "1.4j";
+};
+"xintsession" = {
+  revision = 60926;
+  stripPrefix = 0;
+  sha512.run = "d1e279e733e37d6ef163a1dc537f5c02119403710a930f409cc6cfa55f1c08d9dd30bf4aeb14b68e4080442137a7352207ca8dc9bd7f859a8d19cf9205b68c1d";
+  sha512.doc = "1a99ce3ce5e2a311e1dd4086f416738c48cbd42ad0b37c372fffcb0a4f035b3384f1b4963cccd2b602164f256e4bcb8d9b1d3efc56c99382e284d6d97e20b7c1";
+  hasRunfiles = true;
+  version = "0.4alpha";
+};
+"xistercian" = {
+  revision = 61366;
+  stripPrefix = 0;
+  sha512.run = "e0b4db57c0c3b819f1c653f097c6adcad1d2b74409926d5e0652fed4aced3be5b82ec5f663d85769261fb62e89d16bbe36ed87e6ca2352ab9548fd322c6b7b5a";
+  sha512.doc = "673d6a01619a36fd8db88ab056a8560200e03de519799b867583d6fe0226a25661245e4942a1e2b13a23d2913a137736f6b10ecb25962e0b4afbec8e2b568cf5";
+  sha512.source = "8c305d95953774aaa5e181a3ab2f904b6faceb2387a6b4c9dd4f6c11eb3ddad4e31088a11db48d2ca2a0a72911f5cff1d3bf5bf37a933ceb76805a6265d3c816";
+  hasRunfiles = true;
+  version = "1.2";
 };
 "xits" = {
   revision = 55730;
@@ -36288,13 +37521,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "xmpincl" = {
-  revision = 15878;
+  revision = 60593;
   stripPrefix = 0;
-  sha512.run = "8d9a895a1efe8ce5eac190b8242c7f3e3bff7e433e1336aa7143894fbc5691c7b4fd791bae67fcefe97d16ff131b533f8b0c629580d7b5f9420e9216e932b860";
-  sha512.doc = "2757de1bfcbfe9df02d5e667564b1a69205ab86c31f7bcc8ec3f37db0fb1a1f4bb21d7360dbfd771aeafaffa4599becc801df81e339b6f49adafeb38bc1ff5af";
-  sha512.source = "92cdd556f60d8a4186f64800ef5c8a27e331e394ac0120d3e07065688d454ea821839eaaf167bb15980223552160e161cb3c559feffbc4d6657af1019f7c14a2";
+  sha512.run = "49777de1160b2ef53d845ba08fb0af29eb5f06c6fc534da4856bd0f02dbed2dbaa73ac24c45b1e787ea44d08199b7d1c462dc21a972cd1815fcbf65a08388f26";
+  sha512.doc = "b8750478957f6b33163ef546d7be0c0ba4e5906d64a72cdf3edda33c663bcf7400eaeebe3119a175f21093a1b00bd2626df0156c8ebdfb9cdd076bc8d7953ac7";
+  sha512.source = "48d8805d763169bd3024227edac213a5e57d207e63895492cc6f0a25ef38b82fe9d8fee76ea5309344bd397e4c5b70f8b72892d4054307bf758fb81cc8af3bd9";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.4";
 };
 "xmuthesis" = {
   revision = 56614;
@@ -36424,12 +37657,12 @@ tl: { # no indentation
   version = "1.5";
 };
 "xstring" = {
-  revision = 49946;
+  revision = 60007;
   stripPrefix = 0;
-  sha512.run = "82254f103053d91eeea4c6230142de06138c392542cac63731c7b34fec5130984bbdebc29ac3b56998717dca11ad444c44f410215b6b89e6748029721a9daac6";
-  sha512.doc = "c0c17b82ad0d5aad95d312935e0214a7e5404a23b9a284a56ac92ec9ea936a9bfd3a68a5b01e29c131b7850a3fd3922ac87020166eaf0a7ed9d695dc80d0a931";
+  sha512.run = "d02190c624808e5c5814f2c2a8c8ce9f28197a165bc988c02d6eac6fa8a22e3e1bb5c3b41b9b3a3db38917377097a0f97e65ae41ddd9422a97501c6c7a2d2668";
+  sha512.doc = "dbd3711d0e6ced0346feb8af281779cb3669bb849d8a04ea9d184961f473aefd3910bfbc77cebd9d150a409489fa1db65581f162cc37bdc2b36482474b439e6c";
   hasRunfiles = true;
-  version = "1.83";
+  version = "1.84";
 };
 "xtab" = {
   revision = 23347;
@@ -36539,6 +37772,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"yamlvars" = {
+  revision = 61327;
+  stripPrefix = 0;
+  sha512.run = "1c0f473b95db6d4eed19d60e457271acda699a36d9d5de84f70e7f81411e23779a235b7237354b57c786e4b1af9e8d09294f55271da36c26dc42c93816c3b589";
+  sha512.doc = "1f9613b9463616b38a34ad8b913e599e9c13124bf7e457ca541eec4aa67a3e2b95cc3869c7a4fc012e150afc1fc93accdda89b05340e3d4484a5b0a4ca9986d3";
+  hasRunfiles = true;
+};
 "yannisgr" = {
   revision = 22613;
   stripPrefix = 0;
@@ -36547,13 +37787,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "yathesis" = {
-  revision = 58683;
+  revision = 61204;
   stripPrefix = 0;
-  sha512.run = "199abb5d02a37420e1c382916880428d5426eacaf007e3e264bf257710823d8380fd0bb69c40065d7259e28769dff4d6c90bd55a5fb931b6497d64b106e9c7cf";
-  sha512.doc = "1beedc083923302c094a4f2c7091743c87188292b8633646877c575e1bb724f42b171805f0ce39f615c7485769f191676310e1f5257c0f4c03aa65ec3309c4cb";
-  sha512.source = "7c99e72a3ef76aae6f5e4ea77d78cd6cd2c98c7163b468e317f4de72734a3e4e8c2698b93dbc82df20f5b8197905f9f253b5d652debd6fa0c0d5377cc2015611";
+  sha512.run = "c23ecab7e0b886ce54d6bf5d4382595f131dd733e285d2e49869fe505546db27461ab81d1ef9951a439e19a74eecd6d39ce7729305d306fc51faae0e9830097e";
+  sha512.doc = "1aa656169a6cdec993ef7d03e8ab508e9ef2e3cbb91ea04616bb476817c6d04acbf0d757ab2f256b6ec53b6f6b62209d101a798ea36535d3511980876a357e67";
+  sha512.source = "52875dc80b92861c85c0b3e321c33f3b5d27dacd1af8a4a98fa32ada32c40d263b7a0270a130e660c5bdd2441353afa4f95371074d40ea29f2120df09d8ac1e7";
   hasRunfiles = true;
-  version = "1.0.7";
+  version = "1.0.10";
 };
 "yax" = {
   revision = 54080;
@@ -36646,21 +37886,21 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "yquant" = {
-  revision = 58712;
+  revision = 60420;
   stripPrefix = 0;
-  sha512.run = "90c4488ffbb6a2ec49297b7584c27416044220253fb7f20104402062e57df415d0f89dd4545b4964e5c3ca28851cc4762301151963d0be74200f7809ec31f494";
-  sha512.doc = "ada2f983ef92968da06bbf21371b58ce02a257992160e898ad75a66fbb7aae3fbb00178d2663e1d816e3928eb187f44b50c812239f0c1b5861786ad9d5ccf812";
+  sha512.run = "6d5d8c48e2103d2f97ffee6b367a27a3a2fa4477f7b08c2ee4e77b74bd93485c7a0f39d03124ea890fdc469289e7eb0b28e62cea84a413418445e67019240f33";
+  sha512.doc = "22388a724c3c669087c1eb350705efb76fa70aeef735fb20fe3a66a308b940f11824c43d3ca72094588ad98ec9104c389ea30f712d56e14ee1abfd7a4dec46fe";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.5.1";
 };
 "ytableau" = {
-  revision = 27430;
+  revision = 59580;
   stripPrefix = 0;
-  sha512.run = "2d9528c47b516213d0d8ea6341edc1772aa4a88a7db60d4506cbef107be034bcb9036b18f61a12e042e95bd9d0aea51b0ee696565841d2efb12b442756c48a30";
-  sha512.doc = "47db377bfecce43d97e573360cfc65936664b5ea886b5bc0042b39e3a879becef0e9894c364a31cb4cda7420ba672c8f55e7936ae5b1d291259d8deb7a6d9f9d";
-  sha512.source = "02c2aff53daaec5161a9715de2e633d03dedc85664868d73c49dc0edc5c8b0bc696e3e8ab6d25f3420663fcff830581a7b2fdd0718a3c4928aa808ca3b1cbde3";
+  sha512.run = "23bf33f11e295f5f36149bad2b801ecfee57b386dd952ea93b16e79f85c54e1edff741bb7d6dc7faa769062ff81277cf04ff06cb2fb92e9a7542b4dc93eebb0b";
+  sha512.doc = "b98b0da2e5e0eb964ede56a27067b7ba862b63dd1b0dc6771e432abb16e924fda5630d067c6bbb05fdf6a37aba07c61396d47612adcfcccd5886ff3fdd47b7a4";
+  sha512.source = "264f983cb28ddd4f2089b4d170603172cce27b463999e4806173106e384bd4c3be16ada6f0c2e3c176dc450c53c2e50e43f993c893880ccf5c9454b84a062ea8";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "zapfchan" = {
   revision = 31835;
@@ -36675,12 +37915,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "zbmath-review-template" = {
-  revision = 58543;
+  revision = 59693;
   stripPrefix = 0;
-  sha512.run = "aaadb2179f8c8c3b48dca8f4d021a51dd34863f7f3c30cb6705c07026218684038f398468a9b4a779d8a3cc4ab2520dadb81890690b173b20b1f5baf3644886b";
-  sha512.doc = "8bdf2cd42ba8cc24e55fcbf8061a2cbbcdd750d77f5ad3c613d721eec2ba164cc69a73a85382d5a2893121300ce2657f291d181c92d4b0f8a7b574229d6f97d9";
+  sha512.run = "c9685b151679e7516e146f3d97f4242c7cdf084f84a7ac857a8aa27031c60950d0da07d66b7b57d7bdec384d3501c30b339231654cf845bbed2945b0ac069368";
+  sha512.doc = "470ee6c9895effd3c6bcac5a9faaa3862380bb137044411dd0013f4f465dc923dc1de507f2d1d087fb4b4178cb2f43f435e71b090d55744a8be6e59f8cc010fa";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.1";
 };
 "zebra-goodies" = {
   revision = 51554;
@@ -36756,13 +37996,21 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.1";
 };
+"zitie" = {
+  revision = 60676;
+  stripPrefix = 0;
+  sha512.run = "10769951705e67bb929643e39d5480c4c2337a68f59ede2d77b2f8ddc3e2d6363c873d0e8e480a85e02f2062736570fa74171c862e50af73efa941a4d93cdd58";
+  sha512.doc = "84f8e20beec5ba5ffbd79c6ffa68f0530b285761a8de6ed53e621ef39c0c14f59c33d76373581f94f10b1149a9fe5c92c1c74bbe2c4d6b8aa589d3a574bd9153";
+  hasRunfiles = true;
+  version = "1.4.0";
+};
 "zlmtt" = {
-  revision = 51368;
+  revision = 61379;
   stripPrefix = 0;
-  sha512.run = "b60e880508e08fc0a3f265b7d85c7ae8667c0a16264148a2944184a598f690f337149348157dc7b7b11f1cac59d44117425b50a26bbdaa0fbf1dcebb023093e6";
-  sha512.doc = "22e301f72e0b62078d7b6fe7d7740e0477d9b18beb59ab55b81dd65c50cb250ae711886f01944cdfd25f82d0dd2089c41e662cb2f16eaa0252d70c1006eed8d8";
+  sha512.run = "3bde356a92ced2170521dc1ca606f02db31467d2584064d7d2faaf518af8a3d8ceea6a6ce6195d280230188395b27399da4b92dfcafb04348948ae2c44e92f57";
+  sha512.doc = "810f538e57601f8dfa1143acf1803f5466e42d7705a5e5cf9aaa63ebbbabede669801ddfd24a6008f6d059b1a2e23f48f1baa07a546837027e52e23199f09ff3";
   hasRunfiles = true;
-  version = "1.02";
+  version = "1.03";
 };
 "zootaxa-bst" = {
   revision = 50619;
@@ -36781,6 +38029,24 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.32";
 };
+"zref-check" = {
+  revision = 61359;
+  stripPrefix = 0;
+  sha512.run = "8695bf0fd5a1d4c94219aefc7a7022a7efc2eb315c270689df726e9727bc8e38709c816bde2ec41b3a61691b96b0e97ac101c09b7af7cd5edc4f3855a94241e3";
+  sha512.doc = "7906814e90d8ca6b35c9153e086dc66c34cd5432ca600a59b5bf1c4969d3928e6e0f494dfd0ba124d264606e6a1ec2fc0782df1e10d198bc6b5ea60b3d8de32e";
+  sha512.source = "141ea6d6a296b2bc7effe6ac90f831a68484f1bbab3fab1add2985bc4d94b6d3fdba98ef80d5cb4ba284738c8c5203d252286161a59ba7713fb5447c39dd7beb";
+  hasRunfiles = true;
+  version = "0.2.3";
+};
+"zref-clever" = {
+  revision = 61246;
+  stripPrefix = 0;
+  sha512.run = "65f66f94bb2dcdb470cde4c0cea5f947359956726db46acc59a5c963e3601f350b2d6ea50fd0276f69d81b48086314ab4a6a1fa3b76d9c2746ff231cee047c2f";
+  sha512.doc = "e173be442a3ecae85c24005ce99c141e29900b5f0178d8dee3db6874e1e91068839ef4c1f4e98d0ac49e41ddfc1e4dc8f523238555cb2ce8c0a66282d38b7a72";
+  sha512.source = "b3cd945a1ad1e86b2042abd88354877b2f3834a65530f0e58704b36f1ae6a2cc3e06c292f0c2971d063ba3b8e18c96d9d06cb2773af1cad155fe8932c8d5cf79";
+  hasRunfiles = true;
+  version = "0.1.1-alpha";
+};
 "zwgetfdate" = {
   revision = 15878;
   stripPrefix = 0;
@@ -36796,6 +38062,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.4d";
 };
+"zx-calculus" = {
+  revision = 60838;
+  stripPrefix = 0;
+  sha512.run = "17854656622c012a3c0a4711e9c38d2c100a156072e7556b3ba3d6ce6edf1463c69078073bd72b83d3136e96e72e4adfff3982a73d4fd4d66fa98ff6823eafb5";
+  sha512.doc = "076a25ef96775d28fad2e97027ef69b983f1cc44f11866b7f6db0408bca45759b8ed0f3914516712f235ee4a670bb3fcb28954a2b3f745786e6d6f8f7c06cde9";
+  hasRunfiles = true;
+};
 "zxjafbfont" = {
   revision = 28539;
   stripPrefix = 0;
diff --git a/nixpkgs/pkgs/tools/typesetting/xmlroff/default.nix b/nixpkgs/pkgs/tools/typesetting/xmlroff/default.nix
index 61355910d599..cd1a97c2da60 100644
--- a/nixpkgs/pkgs/tools/typesetting/xmlroff/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/xmlroff/default.nix
@@ -4,7 +4,6 @@
 , libxml2
 , libxslt
 , pango
-, pangoxsl
 , perl
 , pkg-config
 , popt
@@ -26,7 +25,6 @@ stdenv.mkDerivation rec {
     libxml2
     libxslt
     pango
-    pangoxsl
     gtk2
     popt
   ];
diff --git a/nixpkgs/pkgs/tools/video/dvgrab/default.nix b/nixpkgs/pkgs/tools/video/dvgrab/default.nix
index 9f4b8832f390..c5bb05853bf9 100644
--- a/nixpkgs/pkgs/tools/video/dvgrab/default.nix
+++ b/nixpkgs/pkgs/tools/video/dvgrab/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
       AVI type 2, Quicktime DV, a series of JPEG stills or MPEG2-TS.
     '';
 
-    homepage = "http://kinodv.org/";
+    homepage = "https://github.com/ddennedy/dvgrab"; # Formerly http://www.kinodv.org/
 
     license = licenses.gpl2Plus;
     platforms = platforms.gnu ++ platforms.linux;
diff --git a/nixpkgs/pkgs/tools/video/mjpegtools/default.nix b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
index 29dad791bc69..4d9fdfd7820e 100644
--- a/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
+++ b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mjpegtools";
-  version = "2.1.0";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/mjpeg/mjpegtools-${version}.tar.gz";
-    sha256 = "01y4xpfdvd4zgv6fmcjny9mr1gbfd4y2i4adp657ydw6fqyi8kw6";
+    sha256 = "sha256-sYBTbX2ZYLBeACOhl7ANyxAJKaSaq3HRnVX0obIQ9Jo=";
   };
 
   hardeningDisable = [ "format" ];
@@ -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/nixpkgs/pkgs/tools/video/rav1e/default.nix b/nixpkgs/pkgs/tools/video/rav1e/default.nix
index bbf1e81a83d3..ed6a8f542343 100644
--- a/nixpkgs/pkgs/tools/video/rav1e/default.nix
+++ b/nixpkgs/pkgs/tools/video/rav1e/default.nix
@@ -4,14 +4,14 @@ let
   rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform;
 in rustPlatform.buildRustPackage rec {
   pname = "rav1e";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-9fBAH1vuLJ3yu8X5+CQGLQFDlzTYoFBUTy3Muo6hLkw=";
+    sha256 = "sha256-v2i/dMWos+nB3cRDOkROSOPb1ONRosbmp9RDZI2DLeI=";
   };
 
-  cargoSha256 = "sha256-QhWVqHcNjJF94uTvHGVnV8MTp2bYOuCEjaMBfViOLRo=";
+  cargoSha256 = "sha256-V9QbztkFj3t5yBV+yySysDy3Q6IUY4gNzBL8h23aEg4=";
 
   nativeBuildInputs = [ nasm cargo-c ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/nixpkgs/pkgs/tools/video/svt-av1/default.nix b/nixpkgs/pkgs/tools/video/svt-av1/default.nix
index fd572fabae3e..b094e223031f 100644
--- a/nixpkgs/pkgs/tools/video/svt-av1/default.nix
+++ b/nixpkgs/pkgs/tools/video/svt-av1/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "svt-av1";
-  version = "0.8.7";
+  version = "0.9.0";
 
   src = fetchFromGitLab {
     owner = "AOMediaCodec";
     repo = "SVT-AV1";
     rev = "v${version}";
-    sha256 = "1xlxb6kn6hqz9dxz0nd905m4i2mwjwq1330rbabwzmg4b66cdslg";
+    sha256 = "sha256-kmFyJ5b0EiesWUN71rbULF2cQt2pICF0P/MeZ+h7W9U=";
   };
 
   nativeBuildInputs = [ cmake nasm ];
@@ -26,11 +26,9 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     changelog = "https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v${version}/CHANGELOG.md";
     license = with licenses; [
+      aom
       bsd2
-      {
-        fullName = "Alliance for Open Media Patent License 1.0";
-        url = "https://aomedia.org/license/patent-license/";
-      }
+      bsd3
     ];
     platforms = platforms.unix;
     broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init'
diff --git a/nixpkgs/pkgs/tools/video/vnc2flv/default.nix b/nixpkgs/pkgs/tools/video/vnc2flv/default.nix
index fdaf2ee27466..f32078f0b8a0 100644
--- a/nixpkgs/pkgs/tools/video/vnc2flv/default.nix
+++ b/nixpkgs/pkgs/tools/video/vnc2flv/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, pythonPackages }:
+{ lib, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "vnc2flv";
   version = "20100207";
 
diff --git a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix b/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
index eaaf7046fff9..734ba58e693c 100644
--- a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
index 6bc070d2cbbf..9da4290dadde 100644
--- a/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
@@ -1,11 +1,14 @@
 { lib
+, nixosTests
 , buildPythonApplication
 , cloud-utils
 , dmidecode
 , fetchFromGitHub
+, iproute2
 , openssh
 , python3
 , shadow
+, systemd
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -25,6 +28,13 @@ python3.pkgs.buildPythonApplication rec {
   prePatch = ''
     substituteInPlace setup.py \
       --replace /lib/systemd $out/lib/systemd
+
+    substituteInPlace cloudinit/net/networkd.py \
+      --replace "['/usr/sbin', '/bin']" "['/usr/sbin', '/bin', '${iproute2}/bin', '${systemd}/bin']"
+
+    substituteInPlace tests/unittests/test_net_activators.py \
+      --replace "['/usr/sbin', '/bin']" \
+        "['/usr/sbin', '/bin', '${iproute2}/bin', '${systemd}/bin']"
   '';
 
   postInstall = ''
@@ -108,6 +118,8 @@ python3.pkgs.buildPythonApplication rec {
     "cloudinit"
   ];
 
+  passthru.tests.cloud-init = nixosTests.cloud-init;
+
   meta = with lib; {
     homepage = "https://cloudinit.readthedocs.org";
     description = "Provides configuration and customization of cloud instance";
diff --git a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
index 16a7ecffa043..846e2ee27944 100644
--- a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "cri-tools";
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+36lGLpNnTQnwwmXoVNPt3RMcnE46AdXOpghvhP0Bq0=";
+    sha256 = "sha256-b65GY08vykVp/PUBmBXKIfykyPEJRgGjgu7zBoXx3K0=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/virtualization/ec2-utils/default.nix b/nixpkgs/pkgs/tools/virtualization/ec2-utils/default.nix
deleted file mode 100644
index 283219108424..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix b/nixpkgs/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix
index 16c10b5ae7f0..1ce3c5d2f1b4 100644
--- a/nixpkgs/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Command Line Interface for AWS EC2 Instance Connect";
     homepage = "https://github.com/aws/aws-ec2-instance-connect-cli";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ yurrriq ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix
new file mode 100644
index 000000000000..a4ebd2db8f54
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix
@@ -0,0 +1,53 @@
+{ buildGoModule, fetchFromGitHub, fetchpatch, lib, coreutils, makeWrapper
+, google-guest-configs, google-guest-oslogin, iproute2, dhcp, procps
+}:
+
+buildGoModule rec {
+  pname = "guest-agent";
+  version = "20220104.00";
+
+  src = fetchFromGitHub {
+    owner = "GoogleCloudPlatform";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-BC2qpnGJU/D0z8jlmAEwvmFwBk1n0ZvqPBB6Zon9N/U=";
+  };
+
+  vendorSha256 = "sha256-YcWKSiN715Z9lmNAQx+sHEgxWnhFhenCNXBS7gdMV4M=";
+
+  patches = [ ./disable-etc-mutation.patch ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postPatch = ''
+    substitute ${./fix-paths.patch} fix-paths.patch \
+      --subst-var out \
+      --subst-var-by true "${coreutils}/bin/true"
+    patch -p1 < ./fix-paths.patch
+  '';
+
+  # We don't add `shadow` here; it's added to PATH if `mutableUsers` is enabled.
+  binPath = lib.makeBinPath [ google-guest-configs google-guest-oslogin iproute2 dhcp procps ];
+
+  # Skip tests which require networking.
+  preCheck = ''
+    rm google_guest_agent/wsfc_test.go
+  '';
+
+  postInstall = ''
+    mkdir -p $out/etc/systemd/system
+    cp *.service $out/etc/systemd/system
+    install -Dm644 instance_configs.cfg $out/etc/default/instance_configs.cfg
+
+    wrapProgram $out/bin/google_guest_agent \
+      --prefix PATH ":" "$binPath"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/GoogleCloudPlatform/guest-agent";
+    description = "Guest Agent for Google Compute Engine";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/virtualization/google-guest-agent/disable-etc-mutation.patch b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/disable-etc-mutation.patch
new file mode 100644
index 000000000000..fe076baacd20
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/disable-etc-mutation.patch
@@ -0,0 +1,54 @@
+From 2e8060f9ade13ba18ae5930c0781227bfcce11a5 Mon Sep 17 00:00:00 2001
+From: Nikolay Amiantov <ab@fmap.me>
+Date: Mon, 10 Jan 2022 22:16:38 +0300
+Subject: [PATCH] Disable accounts setup phase and oslogin
+
+On NixOS we set up necessary groups and sudoers rules declaratively,
+and have most of `/etc` directory read-only. This creates (harmless)
+error messages when trying to create google-sudoers file.
+
+"oslogin" daemon sets up configuration necessary for OS Login to
+work, including PAM, NSS and sudoers. On NixOS we perform all this
+configuration declaratively and have most of /etc mounted read-only.
+This creates (harmless) error messages when running the daemon.
+---
+ google_guest_agent/non_windows_accounts.go | 9 ---------
+ google_guest_agent/oslogin.go              | 2 +-
+ 2 files changed, 1 insertion(+), 10 deletions(-)
+
+diff --git a/google_guest_agent/non_windows_accounts.go b/google_guest_agent/non_windows_accounts.go
+index 81013e3..05b830f 100644
+--- a/google_guest_agent/non_windows_accounts.go
++++ b/google_guest_agent/non_windows_accounts.go
+@@ -104,15 +104,6 @@ func (a *accountsMgr) set() error {
+ 		sshKeys = make(map[string][]string)
+ 	}
+ 
+-	logger.Debugf("create sudoers file if needed")
+-	if err := createSudoersFile(); err != nil {
+-		logger.Errorf("Error creating google-sudoers file: %v.", err)
+-	}
+-	logger.Debugf("create sudoers group if needed")
+-	if err := createSudoersGroup(); err != nil {
+-		logger.Errorf("Error creating google-sudoers group: %v.", err)
+-	}
+-
+ 	mdkeys := newMetadata.Instance.Attributes.SSHKeys
+ 	if !newMetadata.Instance.Attributes.BlockProjectKeys {
+ 		mdkeys = append(mdkeys, newMetadata.Project.Attributes.SSHKeys...)
+diff --git a/google_guest_agent/oslogin.go b/google_guest_agent/oslogin.go
+index d05f733..980e84c 100644
+--- a/google_guest_agent/oslogin.go
++++ b/google_guest_agent/oslogin.go
+@@ -76,7 +76,7 @@ func (o *osloginMgr) timeout() bool {
+ }
+ 
+ func (o *osloginMgr) disabled(os string) bool {
+-	return os == "windows"
++	return true
+ }
+ 
+ func (o *osloginMgr) set() error {
+-- 
+2.34.1
+
diff --git a/nixpkgs/pkgs/tools/virtualization/google-guest-agent/fix-paths.patch b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/fix-paths.patch
new file mode 100644
index 000000000000..07bb112ae289
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/fix-paths.patch
@@ -0,0 +1,43 @@
+diff --git a/google-guest-agent.service b/google-guest-agent.service
+index 79b8e39..a39097b 100644
+--- a/google-guest-agent.service
++++ b/google-guest-agent.service
+@@ -14,7 +14,7 @@ PartOf=network.service networking.service NetworkManager.service systemd-network
+ 
+ [Service]
+ Type=notify
+-ExecStart=/usr/bin/google_guest_agent
++ExecStart=@out@/bin/google_guest_agent
+ OOMScoreAdjust=-999
+ Restart=always
+ 
+diff --git a/google-shutdown-scripts.service b/google-shutdown-scripts.service
+index 16bb9c2..ae02067 100644
+--- a/google-shutdown-scripts.service
++++ b/google-shutdown-scripts.service
+@@ -5,10 +5,10 @@ After=network-online.target rsyslog.service
+ 
+ [Service]
+ Type=oneshot
+-ExecStart=/bin/true
++ExecStart=@true@
+ RemainAfterExit=true
+ # This service does nothing on start, and runs shutdown scripts on stop.
+-ExecStop=/usr/bin/google_metadata_script_runner shutdown
++ExecStop=@out@/bin/google_metadata_script_runner shutdown
+ TimeoutStopSec=0
+ KillMode=process
+ 
+diff --git a/google-startup-scripts.service b/google-startup-scripts.service
+index dfc9838..2465265 100644
+--- a/google-startup-scripts.service
++++ b/google-startup-scripts.service
+@@ -6,7 +6,7 @@ Before=apt-daily.service
+ 
+ [Service]
+ Type=oneshot
+-ExecStart=/usr/bin/google_metadata_script_runner startup
++ExecStart=@out@/bin/google_metadata_script_runner startup
+ #TimeoutStartSec is ignored for Type=oneshot service units.
+ KillMode=process
+ 
diff --git a/nixpkgs/pkgs/tools/virtualization/google-guest-configs/default.nix b/nixpkgs/pkgs/tools/virtualization/google-guest-configs/default.nix
new file mode 100644
index 000000000000..dd3c01c6229a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/google-guest-configs/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, substituteAll
+, ipcalc, iproute2, util-linux, coreutils, ethtool, gnugrep, gnused, nvme-cli }:
+
+stdenv.mkDerivation rec {
+  pname = "google-guest-configs";
+  version = "20211116.00";
+
+  src = fetchFromGitHub {
+    owner = "GoogleCloudPlatform";
+    repo = "guest-configs";
+    rev = version;
+    sha256 = "sha256-0SRu6p/DsHNNI20mkXJitt/Ee5S2ooiy5hNmD+ndecM=";
+  };
+
+  binDeps = lib.makeBinPath [ coreutils util-linux gnugrep gnused ethtool ipcalc iproute2 ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  postPatch = ''
+    substitute ${./fix-paths.patch} fix-paths.patch \
+      --subst-var out \
+      --subst-var-by nvme "${nvme-cli}/bin/nvme" \
+      --subst-var-by sh "${stdenv.shell}" \
+      --subst-var-by umount "${util-linux}/bin/umount" \
+      --subst-var-by logger "${util-linux}/bin/logger"
+    patch -p1 < ./fix-paths.patch
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,etc,lib}
+    cp -r src/etc/{modprobe.d,sysctl.d} $out/etc
+    cp -r src/lib/udev $out/lib
+    cp -r src/sbin/* $out/bin
+    cp -r src/usr/bin/* $out/bin
+
+    for i in $out/bin/* $out/lib/udev/google_nvme_id; do
+      wrapProgram "$i" \
+        --prefix "PATH" ":" "$binDeps"
+    done
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/GoogleCloudPlatform/guest-configs";
+    description = "Linux Guest Environment for Google Compute Engine";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/virtualization/google-guest-configs/fix-paths.patch b/nixpkgs/pkgs/tools/virtualization/google-guest-configs/fix-paths.patch
new file mode 100644
index 000000000000..7c9a86f10601
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/google-guest-configs/fix-paths.patch
@@ -0,0 +1,61 @@
+diff -ru3 source.old/src/lib/udev/google_nvme_id source.new/src/lib/udev/google_nvme_id
+--- source.old/src/lib/udev/google_nvme_id	1970-01-01 03:00:01.000000000 +0300
++++ source.new/src/lib/udev/google_nvme_id	2022-02-05 13:30:00.986242869 +0300
+@@ -17,7 +17,7 @@
+ # the metadata server
+ 
+ # Locations of the script's dependencies
+-readonly nvme_cli_bin=/usr/sbin/nvme
++readonly nvme_cli_bin=@nvme@
+ 
+ # Bash regex to parse device paths and controller identification
+ readonly NAMESPACE_NUMBER_REGEX="/dev/nvme[[:digit:]]+n([[:digit:]]+).*"
+diff -ru3 source.old/src/lib/udev/rules.d/64-gce-disk-removal.rules source.new/src/lib/udev/rules.d/64-gce-disk-removal.rules
+--- source.old/src/lib/udev/rules.d/64-gce-disk-removal.rules	1970-01-01 03:00:01.000000000 +0300
++++ source.new/src/lib/udev/rules.d/64-gce-disk-removal.rules	2022-02-05 13:27:42.635300567 +0300
+@@ -14,4 +14,4 @@
+ #
+ # When a disk is removed, unmount any remaining attached volumes.
+ 
+-ACTION=="remove", SUBSYSTEM=="block", KERNEL=="sd*|vd*|nvme*", RUN+="/bin/sh -c '/bin/umount -fl /dev/$name && /usr/bin/logger -p daemon.warn -s WARNING: hot-removed /dev/$name that was still mounted, data may have been corrupted'"
++ACTION=="remove", SUBSYSTEM=="block", KERNEL=="sd*|vd*|nvme*", RUN+="@sh@ -c '@umount@ -fl /dev/$name && @logger@ -p daemon.warn -s WARNING: hot-removed /dev/$name that was still mounted, data may have been corrupted'"
+diff -ru3 source.old/src/lib/udev/rules.d/65-gce-disk-naming.rules source.new/src/lib/udev/rules.d/65-gce-disk-naming.rules
+--- source.old/src/lib/udev/rules.d/65-gce-disk-naming.rules	1970-01-01 03:00:01.000000000 +0300
++++ source.new/src/lib/udev/rules.d/65-gce-disk-naming.rules	2022-02-05 13:27:05.053107964 +0300
+@@ -21,11 +21,11 @@
+ KERNEL=="sd*|vd*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode"
+ 
+ # NVME Local SSD naming
+-KERNEL=="nvme*n*", ATTRS{model}=="nvme_card", PROGRAM="/bin/sh -c 'nsid=$$(echo %k|sed -re s/nvme[0-9]+n\([0-9]+\).\*/\\1/); echo $$((nsid-1))'", ENV{ID_SERIAL_SHORT}="local-nvme-ssd-%c"
++KERNEL=="nvme*n*", ATTRS{model}=="nvme_card", PROGRAM="@sh@ -c 'nsid=$$(echo %k|sed -re s/nvme[0-9]+n\([0-9]+\).\*/\\1/); echo $$((nsid-1))'", ENV{ID_SERIAL_SHORT}="local-nvme-ssd-%c"
+ KERNEL=="nvme*", ATTRS{model}=="nvme_card", ENV{ID_SERIAL}="Google_EphemeralDisk_$env{ID_SERIAL_SHORT}"
+ 
+ # NVME Persistent Disk Naming
+-KERNEL=="nvme*n*", ATTRS{model}=="nvme_card-pd", IMPORT{program}="google_nvme_id -d $tempnode"
++KERNEL=="nvme*n*", ATTRS{model}=="nvme_card-pd", IMPORT{program}="@out@/lib/udev/google_nvme_id -d $tempnode"
+ 
+ # Symlinks
+ KERNEL=="sd*|vd*|nvme*", ENV{DEVTYPE}=="disk", SYMLINK+="disk/by-id/google-$env{ID_SERIAL_SHORT}"
+diff -ru3 source.old/src/sbin/google-dhclient-script source.new/src/sbin/google-dhclient-script
+--- source.old/src/sbin/google-dhclient-script	1970-01-01 03:00:01.000000000 +0300
++++ source.new/src/sbin/google-dhclient-script	2022-02-05 13:29:37.430058984 +0300
+@@ -31,7 +31,6 @@
+ # This script is found in EL 7 and used to fix local routing in EL 6.
+ # ----------
+ 
+-PATH=/bin:/usr/bin:/sbin
+ # scripts in dhclient.d/ use $SAVEDIR (#833054)
+ SAVEDIR=/var/lib/dhclient
+ 
+@@ -58,9 +57,9 @@
+     if need_hostname; then
+         status=1
+         if [ -n "${new_ip_address}" ]; then
+-            eval $(/bin/ipcalc --silent --hostname ${new_ip_address} ; echo "status=$?")
++            eval $(ipcalc --silent --hostname ${new_ip_address} ; echo "status=$?")
+         elif [ -n "${new_ip6_address}" ]; then
+-            eval $(/bin/ipcalc --silent --hostname ${new_ip6_address} ; echo "status=$?")
++            eval $(ipcalc --silent --hostname ${new_ip6_address} ; echo "status=$?")
+         fi
+ 
+         if [ ${status} -eq 0 ]; then
diff --git a/nixpkgs/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix b/nixpkgs/pkgs/tools/virtualization/google-guest-oslogin/default.nix
index 0718e437b06b..50ead9de726f 100644
--- a/nixpkgs/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/google-guest-oslogin/default.nix
@@ -9,38 +9,39 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "google-compute-engine-oslogin";
-  version = "20210429.00";
+  pname = "google-guest-oslogin";
+  version = "20220205.00";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "guest-oslogin";
     rev = version;
-    sha256 = "eHAg9K5oxcygEzqaac81jSFHF+zsW6uB7q2Kfo9hSrA=";
+    sha256 = "sha256-CVJAWda8bn5MPO8ACLtosVvZzuxPbOj377WaysZdhDU=";
   };
 
   postPatch = ''
     # change sudoers dir from /var/google-sudoers.d to /run/google-sudoers.d (managed through systemd-tmpfiles)
     substituteInPlace src/pam/pam_oslogin_admin.cc --replace /var/google-sudoers.d /run/google-sudoers.d
     # fix "User foo not allowed because shell /bin/bash does not exist"
-    substituteInPlace src/include/compat.h --replace /bin/bash ${bashInteractive}/bin/bash
+    substituteInPlace src/include/compat.h --replace /bin/bash /run/current-system/sw/bin/bash
   '';
 
-  buildInputs = [ curl.dev pam ];
+  buildInputs = [ curl.dev pam json_c ];
 
-  NIX_CFLAGS_COMPILE = "-I${json_c.dev}/include/json-c";
-  NIX_CFLAGS_LINK = "-L${json_c}/lib";
+  NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" ];
 
   makeFlags = [
     "VERSION=${version}"
-    "DESTDIR=${placeholder "out"}"
-    "PREFIX=/"
-    "BINDIR=/bin"
-    "LIBDIR=/lib"
-    "PAMDIR=/lib"
-    "MANDIR=/share/man"
+    "PREFIX=$(out)"
+    "MANDIR=$(out)/share/man"
+    "SYSTEMDDIR=$(out)/etc/systemd/system"
+    "PRESETDIR=$(out)/etc/systemd/system-preset"
   ];
 
+  postInstall = ''
+    sed -i "s,/usr/bin/,$out/bin/,g" $out/etc/systemd/system/google-oslogin-cache.service
+  '';
+
   enableParallelBuilding = true;
 
   passthru.tests = {
@@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/GoogleCloudPlatform/compute-image-packages";
     description = "OS Login Guest Environment for Google Compute Engine";
     license = licenses.asl20;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ flokli ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix b/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
index 570492295542..31a3e5dac4c7 100644
--- a/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/linode-cli/default.nix
@@ -11,10 +11,10 @@
 }:
 
 let
-  sha256 = "10mlkkprky7qqjrkv43v1lzmlgdjpkzy3729k9xxdm5mpq5bjdwj";
+  sha256 = "1f0nrdg8hf650qxz79i3a1d2zyf24niyrcnbnhc9i7hzbnqbp5qg";
   # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
-  specVersion = "4.112.0";
-  specSha256 = "1z509qf5iidn6q5x3p7m8aifxn4bmwifx36wv8ii3nn7l4s9aymr";
+  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.14.0";
+  version = "5.17.1";
 
   src = fetchFromGitHub {
     owner = "linode";
diff --git a/nixpkgs/pkgs/tools/virtualization/lxd-image-server/default.nix b/nixpkgs/pkgs/tools/virtualization/lxd-image-server/default.nix
index 3992f425a3cd..3a1d32247a40 100644
--- a/nixpkgs/pkgs/tools/virtualization/lxd-image-server/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/lxd-image-server/default.nix
@@ -40,7 +40,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Creates and manages a simplestreams lxd image server on top of nginx";
     homepage = "https://github.com/Avature/lxd-image-server";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ mkg20001 ];
   };
diff --git a/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix b/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix
index 6994cc25b384..7407c3dc68ab 100644
--- a/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/shipyard/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "shipyard";
-  version = "0.3.30";
+  version = "0.3.44";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shipyard-run";
     repo = pname;
-    sha256 = "sha256-NaCG0oG9j1yoXOsfnQXFd+PdZfJTOdvYndFIftIAnxE=";
+    sha256 = "sha256-ShL/j0vyKfbNcq/cAgEUCln6T7UE/qmPZOMw129210o=";
   };
-  vendorSha256 = "sha256-YClNdtnakJJOEytTbopTXeZy218N4vHP3tQLavLgPbg=";
+  vendorSha256 = "sha256-mXYnmDppVqhjlkGVkvp1YaEwBEkHBUddxLof389huMQ=";
 
   ldflags = [
     "-s" "-w" "-X main.version=${version}"
diff --git a/nixpkgs/pkgs/tools/virtualization/xe-guest-utilities/default.nix b/nixpkgs/pkgs/tools/virtualization/xe-guest-utilities/default.nix
index ab3c9b1e71cd..2497cc6a9df0 100644
--- a/nixpkgs/pkgs/tools/virtualization/xe-guest-utilities/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/xe-guest-utilities/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, bzip2, lzo, zlib, xz, bash, python, gnutar, gnused, gnugrep, which }:
+{ lib, stdenv, fetchurl, bzip2, lzo, zlib, xz, bash, python2, gnutar, gnused, gnugrep, which }:
 
 stdenv.mkDerivation (rec {
   pname = "xe-guest-utilities";
@@ -14,7 +14,7 @@ stdenv.mkDerivation (rec {
     url = "https://sources.archlinux.org/other/community/xe-guest-utilities/xe-guest-utilities_${version}-1120.tar.gz";
     sha256 = "f9593cd9588188f80253e736f48d8dd94c5b517abb18316085f86acffab48794";
   };
-  buildInputs = [ bzip2 gnutar gnused python lzo zlib xz stdenv gnugrep which ];
+  buildInputs = [ bzip2 gnutar gnused python2 lzo zlib xz stdenv gnugrep which ];
   patches = [ ./ip-address.patch ];
   postPatch = ''
     tar xf "$NIX_BUILD_TOP/$name/xenstore-sources.tar.bz2"
diff --git a/nixpkgs/pkgs/tools/wayland/swayr/default.nix b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
index 9ccc13532c2a..c1bcf3b4e9f0 100644
--- a/nixpkgs/pkgs/tools/wayland/swayr/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.11.2";
+  version = "0.13.0";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "sha256-IjOoQbKCiwuoCsh2bOmvcSH3/9KMmavmn1Ib1TLBH8w=";
+    sha256 = "sha256-V4ETsraJo9X10fPMGSuiokPiSlZGYHncOdfheGom1go=";
   };
 
-  cargoSha256 = "sha256-EYaISBnWKplKUAKa9SZufWcykeR/qeApvqwIGB9jt3Q=";
+  cargoSha256 = "sha256-3ErzkS8u+4Ve26jpDbsYr4BVDm/XEgydYdZ2ErtVuVA=";
 
   patches = [
     ./icon-paths.patch
diff --git a/nixpkgs/pkgs/tools/wayland/swaytools/default.nix b/nixpkgs/pkgs/tools/wayland/swaytools/default.nix
new file mode 100644
index 000000000000..4c254c9a5932
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/wayland/swaytools/update.py b/nixpkgs/pkgs/tools/wayland/swaytools/update.py
new file mode 100755
index 000000000000..141566848e38
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/wayland/wluma/default.nix b/nixpkgs/pkgs/tools/wayland/wluma/default.nix
index 2921e3858b41..fd4db1a934ab 100644
--- a/nixpkgs/pkgs/tools/wayland/wluma/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/wluma/default.nix
@@ -1,35 +1,60 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , makeWrapper
 , rustPlatform
 , vulkan-loader
+, pkg-config
+, udev
+, v4l-utils
+, llvmPackages
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wluma";
-  version = "2.0.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "maximbaz";
     repo = "wluma";
     rev = version;
-    sha256 = "sha256-fqBEJS+SQoPNNEw6jyoiZjq/chY73bQ+cM21F8RdNPE=";
+    sha256 = "sha256-kUYh4RmD4zRI3ZNZWl2oWcO0Ze5czLBXUgPMl/cLW/I=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
+    udev
+    v4l-utils.lib
+  ];
+
+  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 ]}"
   '';
 
-  cargoSha256 = "sha256-dZBA6VeJRHmqpazRwjLP1kYcYYN5LCFWkIaXqp4/RkQ=";
+  cargoSha256 = "sha256-oOIL18gij7DdvgNOuaHtuyFemNBUB85Ouh/sdhKas+s=";
 
   meta = with lib; {
     description = "Automatic brightness adjustment based on screen contents and ALS";
     homepage = "https://github.com/maximbaz/wluma";
     license = licenses.isc;
-    maintainers = with maintainers; [ yevhenshymotiuk ];
+    maintainers = with maintainers; [ yshym jmc-figueira ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/top-level/aliases.nix b/nixpkgs/pkgs/top-level/aliases.nix
index 81d41311161d..af9e8c60fdda 100644
--- a/nixpkgs/pkgs/top-level/aliases.nix
+++ b/nixpkgs/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,109 +17,135 @@ 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> ###
 
 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
-  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
-  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 = 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
+  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 = ammonite; # Added 2017-05-02
+  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 = arduino-core; # Added 2015-02-04
+  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
+
+  ### B ###
+
   badtouch = authoscope; # Project was renamed, added 20210626
-  bar-xft = lemonbar-xft;  # added 2015-01-16
+  bar-xft = lemonbar-xft; # Added 2015-01-16
   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
+  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
+  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 = bridge-utils; # Added 2015-02-20
+  bro = zeek; # Added 2019-09-29
+  btrfsProgs = btrfs-progs; # Added 2016-01-03
 
   # 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;
 
-  bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies."; # added 2021-01-02
-  btc1 = throw "btc1 has been removed, it was abandoned by upstream"; # added 2020-11-03
-  buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
-  buildGo112Package = throw "buildGo112Package has been removed"; # added 2020-04-26
-  buildGo112Module = throw "buildGo112Module has been removed"; # added 2020-04-26
-  buildkite-agent3 = buildkite-agent; # added 2018-09-26
-  bundler_HEAD = bundler; # added 2015-11-15
-  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 = 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
+
+  ### 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 = 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
   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
-  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
+  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
   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 = cifs-utils; # Added 2016-08
+  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10
+  ckb = ckb-next; # Added 2018-10-21
+  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;
@@ -131,69 +157,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
-  cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # added 2020-11-30
-  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 = clang-analyzer; # Added 2015-02-20
+  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 = claws-mail; # Added 2016-04-29
+  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
+  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 = microsoft_gsl; # Added 2019-05-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"; # 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";
-  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 = cups-bjnp; # Added 2016-01-02
+  cups_filters = cups-filters; # Added 2016-08
+  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 = progress; # Added 2015-09-06
+  cvs_fast_export = cvs-fast-export; # Added 2021-06-10
+
+  ### D ###
+
+  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
   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 = dbus.daemon; # Added 2018-04-25
+  dbus_glib = dbus-glib; # Added 2018-02-25
+  dbus_libs = dbus; # Added 2018-04-25
+  dbus_tools = dbus.out; # Added 2018-04-25
+  dbvisualizer = throw "dbvisualizer has been removed from nixpkgs, as it's unmaintained"; # Added 2020-09-20
+  deadbeef-mpris2-plugin = deadbeefPlugins.mpris2; # Added 2018-02-23
   deadpixi-sam = deadpixi-sam-unstable;
+
   debian_devscripts = debian-devscripts; # added 2016-03-23
-  debugedit-unstable = debugedit; # added 2021-11-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:
@@ -201,99 +242,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
-  dmtx = dmtx-utils; # added 2018-04-25
-  dnnl = oneDNN; # added 2020-04-22
-  docbook5_xsl = docbook_xsl_ns; # added 2018-04-25
-  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
-  dtrx = throw "dtrx has been removed from nixpkgs as the upstream has abandoned the project."; # added 2022-01-01
-  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
-  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
-  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 = 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
+  docker_compose = docker-compose; # Added 2018-11-10
+  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; # Added 2017-11-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 = 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
+
+  ### 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 = emacsPackagesFor; # Added 2018-08-18
+  emacsPackagesNg = emacs.pkgs; # Added 2019-08-07
+  emacsPackagesNgFor = emacsPackagesFor; # Added 2019-08-07
+  emacsPackagesNgGen = emacsPackagesFor; # Added 2018-08-18
+  emacsWithPackages = emacs.pkgs.withPackages; # Added 2020-12-18
+
+  enblendenfuse = enblend-enfuse; # Added 2015-09-30
+  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 = etcd; # Added 2018-04-25
+  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 = evolution-data-server; # Added 2018-02-25
+  exfat-utils = exfat; # Added 2015-09-11
+
+  ### 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
-  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
-  foldingathome = fahclient; # added 2020-09-03
-  font-awesome-ttf = font-awesome; # 2018-02-25
-  # 2019-10-31
+  ffadoFull = ffado; # Added 2018-05-01
+  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 = firefox-esr; # Added 2016-01
+  firefoxWrapper = firefox; # Added 2015-09
+  firefox-wrapper = firefox; # Added 2016-01
+  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-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 = font-awesome; # Added 2018-02-25
+
   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 = foomatic-filters; # Added 2016-08
+  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";
-  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
-  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 = exfat; # Added 2015-09-11
+  fuseki = apache-jena-fuseki; # Added 2018-04-25
+  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 = gdb; # Added 2017-11-13
+  gdk_pixbuf = gdk-pixbuf; # Added 2019-05-22
+  getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6."; # Added 2022-01-12
+  gettextWithExpat = gettext; # Added 2016-02-19
+  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;
@@ -301,229 +378,290 @@ 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
-  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
-  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-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
+  }; # 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 = glib-networking; # Added 2018-02-25
+  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
+  gnome-mpv = celluloid; # Added 2019-08-22
+  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_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 = 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
+
   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
-  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_1_12 = throw "go_1_12 has been removed"; # added 2020-04-26
-  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
-  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 = gnustep.make; # Added 2016-7-6
+  gnuvd = throw "gnuvd was removed because the backend service is missing"; # Added 2020-01-14
+  gobby5 = gobby; # Added 2021-02-01
+  gobjectIntrospection = gobject-introspection; # Added 2018-12-02
+  gogoclient = throw "gogoclient has been removed, because it was unmaintained"; # Added 2021-12-15
+  goimports = gotools; # Added 2018-09-16
+  gometalinter = throw "gometalinter was abandoned by upstream. Consider switching to golangci-lint instead"; # Added 2020-04-23
+  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
+  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 = pup; # Added 2017-12-19
+  gpgstats = throw "gpgstats has been removed: upstream is gone"; # Added 2022-02-06
+
   graalvm11 = graalvm11-ce;
-  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 = guile-gnome; # added 2017-09-24
-  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
-  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
+  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 = libsForQt5.grantlee; # Added 2015-12-19
+  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 = 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
+  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # Added 2019-12-10
+  guileCairo = guile-cairo; # Added 2017-09-24
+  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 = guile-lib; # Added 2017-09-24
+  guileLint = guile-lint; # Added 2017-09-27
+  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
+  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 = heimdal; # Added 2018-05-01
+  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 = hicolor-icon-theme; # Added 2018-02-25
+  holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
+  htmlTidy = html-tidy; # Added 2014-12-06
+  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 = iana-etc; # Added 2017-03-08
+  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 = jetbrains; # Added 2017-04-03
+  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
-  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 = dune_1; # Added 2018-09-09
+  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 = apache-jena-fuseki; # Added 2016-02-28
   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 = json-glib; # Added 2018-02-25
+  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 = 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
+  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 = keybase; # Added 2016-08-24
+  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;
-  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
-  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 = krename; # Added 2017-02-18
   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 = qemu_kvm; # Added 2018-04-25
+
+  ### 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
-  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
-  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 = certbot; # Added 2016-05-16
+  libGL_driver = mesa.drivers; # Added 2019-05-28
+  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
+  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
+  libcroco = throw "libcroco has been removed as it's no longer used in any derivations."; # Added 2020-03-04
+  libdbusmenu-glib = libdbusmenu; # Added 2018-05-01
+  libdbusmenu_qt5 = libsForQt5.libdbusmenu; # Added 2015-12-19
+  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
+  libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # Added 2022-01-21
+  libgumbo = gumbo; # Added 2018-01-21
+  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 = 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
+  libmsgpack = msgpack; # Added 2018-08-17
   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 = 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
+  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 = sysfsutils; # Added 2018-04-25
+  libtidy = html-tidy; # Added 2014-12-21
+  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 = udev; # Added 2018-04-25
+  libungif = giflib; # Added 2020-02-12
+  libusb = libusb1; # Added 2020-04-28
+  libva-full = libva; # Added 2018-03-26
+  libva1-full = libva1; # Added 2018-03-26
   libwnck3 = libwnck;
-  lilypond-unstable = lilypond; # added 2021-03-11
-  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;
+  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 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_4_19 = linuxKernel.packages.linux_4_19;
+  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;
+  linuxPackages_5_4 = linuxKernel.packages.linux_5_4;
+  linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14;
   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;
-  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_5_10 = linuxKernel.packages.linux_5_10;
-  linuxPackages_5_15 = linuxKernel.packages.linux_5_15;
-
+  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_4_4 = linuxKernel.kernels.linux_4_4;
+  linux_4_9 = linuxKernel.kernels.linux_4_9;
+  linux_5_10 = linuxKernel.kernels.linux_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_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;
-  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_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;
 
-  # 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
@@ -537,153 +675,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
-  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 = 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
+  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
-  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 = 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
   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
-  meme = meme-image-generator; # added 2021-04-21
-  mess = mame; # added 2019-10-30
-  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
-  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
-  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
+  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
+  memtest86 = memtest86plus; # Added 2019-05-08
+  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 = midori; # Added 2015-01
+  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 = 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
+  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 = whipper; # Added 2018-09-13
+  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 = mpich; # Added 2018-08-06
+  msf = metasploit; # Added 2018-04-25
+  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
-  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 = mesa; # Added 2019-05-28
+
+  mpv-with-scripts = self.wrapMpv self.mpv-unwrapped { }; # Added 2020-05-22
+  mssys = ms-sys; # Added 2015-12-13
+  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
+
+  ### 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
-  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 = 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
   nix-direnv-flakes = nix-direnv;
-  nix-review = nixpkgs-review; # added 2019-12-22
-  nixFlakes = nixStable; # added 2021-05-21
-  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
-  now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # added 2021-08-05
-  nxproxy = nx-libs; # added 2019-02-15
+  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-unfree = nmap; # Added 2021-04-06
+  nmap_graphical = nmap-graphical; # Added 2017-01-19
+  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
+  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 = nx-libs; # Added 2019-02-15
   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
-  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
-  parquet-cpp = arrow-cpp; # added 2018-09-08
-  pass-otp = pass.withExtensions (ext: [ext.pass-otp]); # added 2018-05-04
-  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 = opencascade; # Added 2018-04-25
+  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
+  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 = owncloud-client; # Added 2016-08
+
+  ### P ###
+
+  PPSSPP = ppsspp; # Added 2017-10-01
+
+  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
+
+  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;
 
@@ -698,9 +886,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
@@ -713,180 +901,199 @@ 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
-  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
-  pltScheme = racket; # just to be sure
+  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
   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
+  pltScheme = racket; # just to be sure
+  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
+
+  # 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;
+  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 = 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
+  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
+  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
-  pyrit = throw "pyrit has been removed from nixpkgs as the project is still stuck on python2."; # added 2022-01-01
-  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
-  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
+  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 = qmidinet; # Added 2016-05-22
+  qca-qt5 = libsForQt5.qca-qt5; # Added 2015-12-19
+  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 = ioquake3; # Added 2016-01-14
+  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 = libsForQt5.qwt; # Added 2015-12-19
+
+  ### 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 = rdiff-backup; # Added 2014-11-23
+  rdmd = dtools; # Added 2017-08-19
+  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;
+  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 = 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
+  rpiboot-unstable = rpiboot; # Added 2021-07-30
   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
-  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
-  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
-  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";
+  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";
+  rubygems = throw "rubygems was deprecated on 2016-03-02: rubygems is now bundled with ruby";
   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 = s6-dns; # Added 2018-07-23
+  s6LinuxUtils = s6-linux-utils; # Added 2018-07-23
+  s6Networking = s6-networking; # 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
+  sane-backends-git = sane-backends; # Added 2021-02-19
+  saneBackends = sane-backends; # Added 2016-01-02
+  saneBackendsGit = sane-backends; # Added 2016-01-02
+  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
+  scallion = throw "scallion has been removed, because it is currently unmaintained upstream"; # added 2021-12-15
+  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
   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
-  skrooge2 = skrooge; # added 2017-02-18
+  sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
+  shared_mime_info = shared-mime-info; # Added 2018-02-25
+  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 = skrooge; # Added 2017-02-18
   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 = skypeforlinux; # Added 2017-07-27
+  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 = prusa-slicer; # Added 2019-05-21
+  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 = slurm; # Added 2018-05-1
   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 = 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
+  solr_8 = solr; # Added 2021-01-30
 
-  # added 2020-02-10
+  # Added 2020-02-10
   sourceHanSansPackages = {
     japanese = source-han-sans;
     korean = source-han-sans;
@@ -907,366 +1114,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
+  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
+  spectral = neochat; # Added 2020-12-27
   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
   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_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_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
+  sqliteInteractive = sqlite-interactive; # Added 2014-12-06
   squid4 = squid;  # added 2019-08-22
   sshfsFuse = sshfs-fuse; # added 2016-09
   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
-  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 = 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
+
+  ### T ###
+
+  tahoelafs = tahoe-lafs; # Added 2018-03-26
+  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
-  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
-  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
+  telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead."; # Added 2020-07-02
+  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 = 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
+  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
+  terraform_0_12 = throw "terraform_0_12 has been removed from nixpkgs on 2021/01";
+  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 = 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
+  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 = 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
+  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 = transmission-gtk; # Added 2018-01-06
+  transmission_remote_gtk = transmission-remote-gtk; # Added 2018-01-06
   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 = 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
+
+  ### U ###
+
+  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."; # Added 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
+  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 = usb-modeswitch; # Added 2016-05-10
+  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
-  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
-  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
-  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
+  vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
+  vapor = throw "vapor was removed because it was unmaintained and upstream service no longer exists";
+  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 = 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
+  virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # Added 2021-07-21
+  virtmanager = virt-manager; # Added 2019-10-29
+  virtmanager-qt = virt-manager-qt; # Added 2019-10-29
+  virtviewer = virt-viewer; # Added 2015-12-24
+  vorbisTools = vorbis-tools; # Added 2016-01-26
+  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 = webkitgtk; # Added 2019-03-05
+  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 = weechatScripts.weechat-matrix-bridge; # Added 2018-09-06
+  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 = winePackages.full; # Added 2017-05-27
+  wineMinimal = winePackages.minimal; # Added 2017-05-27
+  wineStable = winePackages.stable; # Added 2017-05-27
+  wineStaging = wine-staging; # Added 2018-01-08
+  wineUnstable = winePackages.unstable; # Added 2017-05-27
+  wineWayland = wine-wayland;
+  winswitch = throw "winswitch has been removed from nixpkgs."; # Added 2019-12-10
+  winusb = woeusb; # Added 2017-12-22
+  wireguard = wireguard-tools; # Added 2018-05-19
+  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 = 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
+  xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; # Added 2021-11-19
+  xbmcPlain = kodiPlain; # Added 2018-04-25
+  xbmcPlugins = kodiPackages; # Added 2018-04-25
+  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 = xmonad_log_applet; # Added 2018-05-01
   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 = xorg.xf86videonouveau; # Added 2015-09
+  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 = xorg; # Added 2015-09
+  xpraGtk3 = xpra; # Added 2018-09-13
+  xv = xxv; # Added 2020-02-22
+  xvfb_run = xvfb-run; # Added 2021-05-07
+
+  ### Y ###
+
   yacc = bison; # moved from top-level 2021-03-14
-  youtubeDL = youtube-dl;  # added 2014-10-26
+  yarssr = throw "yarssr has been removed as part of the python2 deprecation"; # Added 2022-01-15
+  youtubeDL = youtube-dl; # Added 2014-10-26
   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_78; # 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
-
-  # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
-  # branch-off
+  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
 
-  # added 2017-05-27
-  wineMinimal = winePackages.minimal;
-  wineFull = winePackages.full;
-  wineStable = winePackages.stable;
-  wineUnstable = winePackages.unstable;
+  ### Z ###
 
-  # added 2018-03-26
-  libva-full = libva;
-  libva1-full = libva1;
+  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 = mediathekview; # Added 2019-01-19
+  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
 
-  # forceSystem should not be used directly in Nixpkgs.
-  # added 2018-07-16
-  forceSystem = system: _:
-    (import self.path { localSystem = { inherit system; }; });
-  callPackage_i686 = pkgsi686Linux.callPackage;
+  # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
+  # branch-off
 
-  inherit (ocaml-ng) # added 2016-09-14
+  inherit (ocaml-ng) # Added 2016-09-14
     ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02
-    ocamlPackages_4_03
-    ocamlPackages_latest;
+    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
+  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
 
-  # 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
+
+} // (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
+
+  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
+  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
+  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/nixpkgs/pkgs/top-level/all-packages.nix b/nixpkgs/pkgs/top-level/all-packages.nix
index 854adae24241..84775e28d4f9 100644
--- a/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/nixpkgs/pkgs/top-level/all-packages.nix
@@ -147,6 +147,8 @@ with pkgs;
     { name = "auto-patchelf-hook"; deps = [ bintools ]; }
     ../build-support/setup-hooks/auto-patchelf.sh;
 
+  appflowy = callPackage ../applications/office/appflowy { };
+
   appimageTools = callPackage ../build-support/appimage {
     buildFHSUserEnv = buildFHSUserEnvBubblewrap;
   };
@@ -180,12 +182,10 @@ with pkgs;
 
   althttpd = callPackage ../servers/althttpd { };
 
-  among-sus = callPackage ../games/among-sus { };
+  anders = callPackage ../applications/science/logic/anders { };
 
   ankisyncd = callPackage ../servers/ankisyncd { };
 
-  antsimulator = callPackage ../games/antsimulator { };
-
   aocd = with python3Packages; toPythonApplication aocd;
 
   astrolog = callPackage ../applications/science/astronomy/astrolog { };
@@ -202,16 +202,22 @@ with pkgs;
 
   fission = callPackage ../development/tools/fission { };
 
+  appthreat-depscan = callPackage ../development/tools/appthreat-depscan { };
+
   authy = callPackage ../applications/misc/authy { };
 
   avro-tools = callPackage ../development/tools/avro-tools { };
 
   bacnet-stack = callPackage ../tools/networking/bacnet-stack {};
 
+  bada-bib = callPackage ../applications/science/misc/bada-bib {};
+
   bakelite = callPackage ../tools/backup/bakelite { };
 
   beyond-identity = callPackage ../tools/security/beyond-identity {};
 
+  bingo = callPackage ../development/tools/bingo {};
+
   breakpad = callPackage ../development/misc/breakpad { };
 
   buf = callPackage ../development/tools/buf { };
@@ -244,14 +250,16 @@ with pkgs;
 
   castxml = callPackage ../development/tools/castxml {
     inherit (llvmPackages) libclang llvm;
-    inherit (python3Packages) sphinx;
+    inherit (python3.pkgs) sphinx;
   };
 
   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 { };
 
@@ -277,14 +285,16 @@ with pkgs;
 
   cm256cc = callPackage ../development/libraries/cm256cc {  };
 
+  cocogitto = callPackage ../development/tools/cocogitto {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   conftest = callPackage ../development/tools/conftest { };
 
   corgi = callPackage ../development/tools/corgi { };
 
   colmena = callPackage ../tools/admin/colmena { };
 
-  colobot = callPackage ../games/colobot {};
-
   colorz = callPackage ../tools/misc/colorz { };
 
   colorpicker = callPackage ../tools/misc/colorpicker { };
@@ -293,6 +303,8 @@ with pkgs;
 
   commitlint = nodePackages."@commitlint/cli";
 
+  commit-formatter = callPackage ../applications/version-management/commit-formatter { };
+
   containerpilot = callPackage ../applications/networking/cluster/containerpilot { };
 
   coordgenlibs  = callPackage ../development/libraries/coordgenlibs { };
@@ -313,12 +325,16 @@ with pkgs;
 
   deadcode = callPackage ../development/tools/deadcode { };
 
+  deadnix = callPackage ../development/tools/deadnix { };
+
   each = callPackage ../tools/text/each { };
 
   eclipse-mat = callPackage ../development/tools/eclipse-mat { };
 
   evans = callPackage ../development/tools/evans { };
 
+  firefly-desktop = callPackage ../applications/misc/firefly-desktop { };
+
   frugal = callPackage ../development/tools/frugal { };
 
   glade = callPackage ../development/tools/glade { };
@@ -331,6 +347,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;
   };
@@ -341,7 +361,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  proto-contrib = callPackage ../development/tools/proto-contrib {};
+  proto-contrib = callPackage ../development/tools/proto-contrib { };
 
   protoc-gen-doc = callPackage ../development/tools/protoc-gen-doc {};
 
@@ -361,7 +381,7 @@ with pkgs;
 
   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 { };
 
@@ -425,11 +445,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 {});
 
@@ -442,6 +458,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 {};
@@ -527,6 +554,8 @@ with pkgs;
 
   run = callPackage ../development/tools/run { };
 
+  mblock-mlink = callPackage ../development/tools/mblock-mlink { };
+
   mod = callPackage ../development/tools/mod { };
 
   broadlink-cli = callPackage ../tools/misc/broadlink-cli {};
@@ -641,11 +670,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 {
@@ -681,18 +705,24 @@ with pkgs;
 
   madonctl = callPackage ../applications/misc/madonctl { };
 
-  maelstrom = callPackage ../games/maelstrom { };
-
   copyDesktopItems = makeSetupHook { } ../build-support/setup-hooks/copy-desktop-items.sh;
 
   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
@@ -789,6 +819,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;
@@ -844,6 +879,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 { };
@@ -909,6 +946,8 @@ with pkgs;
 
   acme-client = callPackage ../tools/networking/acme-client { stdenv = gccStdenv; };
 
+  adrgen = callPackage ../tools/misc/adrgen { };
+
   adriconf = callPackage ../tools/graphics/adriconf { };
 
   amass = callPackage ../tools/networking/amass { };
@@ -966,8 +1005,6 @@ with pkgs;
 
   airspyhf = callPackage ../applications/radio/airspyhf { };
 
-  airtame = callPackage ../applications/misc/airtame { };
-
   aj-snapshot  = callPackage ../applications/audio/aj-snapshot { };
 
   ajour = callPackage ../tools/games/ajour {
@@ -991,6 +1028,8 @@ with pkgs;
     libgamemode32 = pkgsi686Linux.gamemode.lib;
   };
 
+  gay = callPackage ../tools/misc/gay {  };
+
   elkhound = callPackage ../development/tools/elkhound { };
 
   weidu = callPackage ../tools/games/weidu { };
@@ -999,6 +1038,8 @@ with pkgs;
 
   gfshare = callPackage ../tools/security/gfshare { };
 
+  glooctl = callPackage ../applications/networking/cluster/glooctl { };
+
   gobgp = callPackage ../tools/networking/gobgp { };
 
   gofu = callPackage ../applications/misc/gofu { };
@@ -1007,6 +1048,10 @@ with pkgs;
 
   godspeed = callPackage ../tools/networking/godspeed { };
 
+  fwbuilder = libsForQt5.callPackage ../tools/security/fwbuilder { };
+
+  headsetcontrol = callPackage ../tools/audio/headsetcontrol { };
+
   ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
 
   linux-router = callPackage ../tools/networking/linux-router { };
@@ -1017,7 +1062,7 @@ with pkgs;
 
   pferd = callPackage ../tools/misc/pferd {};
 
-  qflipper = callPackage ../tools/misc/qflipper { };
+  qFlipper = libsForQt515.callPackage ../tools/misc/qflipper { };
 
   quich = callPackage ../tools/misc/quich { } ;
 
@@ -1027,6 +1072,8 @@ with pkgs;
 
   tauon = callPackage ../applications/audio/tauon { };
 
+  termusic = callPackage ../applications/audio/termusic { };
+
   tfk8s = callPackage ../tools/misc/tfk8s { };
 
   tnat64 = callPackage ../tools/networking/tnat64 { };
@@ -1044,8 +1091,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 {
@@ -1060,6 +1111,10 @@ with pkgs;
     stdenv = clangStdenv;
   };
 
+  archi = callPackage ../tools/misc/archi { };
+
+  breitbandmessung = callPackage ../applications/networking/breitbandmessung { };
+
   ### APPLICATIONS/TERMINAL-EMULATORS
 
   alacritty = callPackage ../applications/terminal-emulators/alacritty {
@@ -1067,8 +1122,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit CoreGraphics CoreServices CoreText Foundation OpenGL;
   };
 
-  archi = callPackage ../tools/misc/archi { };
-
   contour = libsForQt5.callPackage ../applications/terminal-emulators/contour { };
 
   cool-retro-term = libsForQt5.callPackage ../applications/terminal-emulators/cool-retro-term { };
@@ -1079,8 +1132,6 @@ with pkgs;
 
   eterm = callPackage ../applications/terminal-emulators/eterm { };
 
-  evilvte = callPackage ../applications/terminal-emulators/evilvte (config.evilvte or {});
-
   foot = callPackage ../applications/terminal-emulators/foot { };
 
   germinal = callPackage ../applications/terminal-emulators/germinal { };
@@ -1091,30 +1142,16 @@ with pkgs;
 
   hyper = callPackage ../applications/terminal-emulators/hyper { };
 
-  iqueue = callPackage ../development/libraries/iqueue {};
+  iterm2 = callPackage ../applications/terminal-emulators/iterm2 { };
 
-  iterm2 = callPackage ../applications/terminal-emulators/iterm2 {};
+  kermit-terminal = callPackage ../applications/terminal-emulators/kermit-terminal { };
 
   kitty = callPackage ../applications/terminal-emulators/kitty {
     harfbuzz = harfbuzz.override { withCoreText = stdenv.isDarwin; };
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation IOKit Kernel OpenGL;
   };
 
-  lifecycled = callPackage ../tools/misc/lifecycled { };
-
-  lilo = callPackage ../tools/misc/lilo { };
-
-  lilyterm = callPackage ../applications/terminal-emulators/lilyterm {
-    inherit (gnome2) vte;
-    gtk = gtk2;
-    flavour = "stable";
-  };
-
-  lilyterm-git = lilyterm.override {
-    flavour = "git";
-  };
-
-  logseq = callPackage ../applications/misc/logseq { };
+  kitty-themes  = callPackage ../misc/kitty-themes {};
 
   lxterminal = callPackage ../applications/terminal-emulators/lxterminal { };
 
@@ -1128,24 +1165,26 @@ with pkgs;
 
   mrxvt = callPackage ../applications/terminal-emulators/mrxvt { };
 
-  natls = callPackage ../tools/misc/natls { };
-
   nimmm = callPackage ../applications/terminal-emulators/nimmm { };
 
-  notion-app-enhanced = callPackage ../applications/office/notion-app-enhanced { };
-
-  pikchr = callPackage ../tools/graphics/pikchr { };
-
   roxterm = callPackage ../applications/terminal-emulators/roxterm { };
 
   rxvt = callPackage ../applications/terminal-emulators/rxvt { };
 
   rxvt-unicode = callPackage ../applications/terminal-emulators/rxvt-unicode/wrapper.nix { };
 
+  rxvt-unicode-emoji = rxvt-unicode.override {
+    rxvt-unicode-unwrapped = rxvt-unicode-unwrapped-emoji;
+  };
+
   rxvt-unicode-plugins = import ../applications/terminal-emulators/rxvt-unicode-plugins { inherit callPackage; };
 
   rxvt-unicode-unwrapped = callPackage ../applications/terminal-emulators/rxvt-unicode { };
 
+  rxvt-unicode-unwrapped-emoji = rxvt-unicode-unwrapped.override {
+    emojiSupport = true;
+  };
+
   sakura = callPackage ../applications/terminal-emulators/sakura { };
 
   st = callPackage ../applications/terminal-emulators/st {
@@ -1164,8 +1203,6 @@ with pkgs;
 
   terminator = callPackage ../applications/terminal-emulators/terminator { };
 
-  terminal-colors = callPackage ../applications/misc/terminal-colors { };
-
   termite = callPackage ../applications/terminal-emulators/termite/wrapper.nix {
     termite = termite-unwrapped;
   };
@@ -1175,36 +1212,56 @@ with pkgs;
 
   termonad = termonad-with-packages;
 
-  termsyn = callPackage ../data/fonts/termsyn { };
-
   tilda = callPackage ../applications/terminal-emulators/tilda {
     gtk = gtk3;
   };
 
   tilix = callPackage ../applications/terminal-emulators/tilix { };
 
-  timedoctor = callPackage ../applications/office/timedoctor { };
-
-  tvnamer = callPackage ../tools/misc/tvnamer { };
-
-  twine = with python3Packages; toPythonApplication twine;
-
   wayst = callPackage ../applications/terminal-emulators/wayst { };
 
   wezterm = callPackage ../applications/terminal-emulators/wezterm {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation;
   };
 
-  writefreely = callPackage ../applications/misc/writefreely { };
-
   x3270 = callPackage ../applications/terminal-emulators/x3270 { };
 
   xterm = callPackage ../applications/terminal-emulators/xterm { };
 
-  xtermcontrol = callPackage ../applications/terminal-emulators/xtermcontrol {};
+  xtermcontrol = callPackage ../applications/terminal-emulators/xtermcontrol { };
 
   yaft = callPackage ../applications/terminal-emulators/yaft { };
 
+  writefreely = callPackage ../applications/misc/writefreely { };
+
+  iqueue = callPackage ../development/libraries/iqueue { };
+
+  lifecycled = callPackage ../tools/misc/lifecycled { };
+
+  lilo = callPackage ../tools/misc/lilo { };
+
+  logseq = callPackage ../applications/misc/logseq {
+    electron = electron_15;
+  };
+
+  natls = callPackage ../tools/misc/natls { };
+
+  notion-app-enhanced = callPackage ../applications/office/notion-app-enhanced { };
+
+  pikchr = callPackage ../tools/graphics/pikchr { };
+
+  popsicle = callPackage ../tools/misc/popsicle { };
+
+  terminal-colors = callPackage ../applications/misc/terminal-colors { };
+
+  termsyn = callPackage ../data/fonts/termsyn { };
+
+  timedoctor = callPackage ../applications/office/timedoctor { };
+
+  tvnamer = callPackage ../tools/misc/tvnamer { };
+
+  twine = with python3Packages; toPythonApplication twine;
+
   aldo = callPackage ../applications/radio/aldo { };
 
   almanah = callPackage ../applications/misc/almanah { };
@@ -1215,6 +1272,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;
   };
@@ -1289,7 +1348,7 @@ with pkgs;
 
   ArchiSteamFarm = callPackage ../applications/misc/ArchiSteamFarm { };
 
-  archivebox = python3Packages.callPackage ../applications/misc/archivebox { };
+  archivebox = callPackage ../applications/misc/archivebox { };
 
   archivemount = callPackage ../tools/filesystems/archivemount { };
 
@@ -1471,8 +1530,6 @@ with pkgs;
 
   ec2-metadata-mock = callPackage ../development/tools/ec2-metadata-mock { };
 
-  ec2-utils = callPackage ../tools/virtualization/ec2-utils { };
-
   exoscale-cli = callPackage ../tools/admin/exoscale-cli { };
 
   altermime = callPackage ../tools/networking/altermime {};
@@ -1481,17 +1538,17 @@ 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 = callPackage ../servers/antennas { };
+  antennas = nodePackages.antennas;
 
   apg = callPackage ../tools/security/apg { };
 
@@ -1566,8 +1623,6 @@ with pkgs;
   buildbot-full = with python3Packages; toPythonApplication buildbot-full;
   buildbot-worker = with python3Packages; toPythonApplication buildbot-worker;
 
-  bunny = callPackage ../tools/package-management/bunny { };
-
   bunyan-rs = callPackage ../development/tools/bunyan-rs { };
 
   callaudiod = callPackage ../applications/audio/callaudiod { };
@@ -1629,8 +1684,6 @@ with pkgs;
 
   corsair = with python3Packages; toPythonApplication corsair-scan;
 
-  corsmisc = callPackage ../tools/security/corsmisc { };
-
   cosign = callPackage ../tools/security/cosign {
     inherit (darwin.apple_sdk.frameworks) PCSC;
   };
@@ -1661,6 +1714,8 @@ with pkgs;
 
   cyclonedx-python = callPackage ../tools/misc/cyclonedx-python { };
 
+  dcap = callPackage ../tools/networking/dcap { };
+
   deltachat-cursed = callPackage ../applications/networking/instant-messengers/deltachat-cursed { };
 
   deltachat-desktop = callPackage ../applications/networking/instant-messengers/deltachat-desktop {
@@ -1687,6 +1742,8 @@ with pkgs;
 
   dkimpy = with python3Packages; toPythonApplication dkimpy;
 
+  dontgo403 = callPackage ../tools/security/dontgo403 { };
+
   dpt-rp1-py = callPackage ../tools/misc/dpt-rp1-py { };
 
   dot-http = callPackage ../development/tools/dot-http {
@@ -1707,10 +1764,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 { };
@@ -1747,6 +1800,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 { };
@@ -1757,9 +1812,7 @@ with pkgs;
 
   genymotion = callPackage ../development/mobile/genymotion { };
 
-  galene = callPackage ../servers/web-apps/galene {
-    buildGoModule = buildGo115Module;
-  };
+  galene = callPackage ../servers/web-apps/galene { };
 
   gamecube-tools = callPackage ../development/tools/gamecube-tools { };
 
@@ -1787,7 +1840,7 @@ with pkgs;
 
   github-to-sqlite = with python3Packages; toPythonApplication github-to-sqlite;
 
-  gitless = callPackage ../applications/version-management/gitless { python = python3; };
+  gitless = callPackage ../applications/version-management/gitless { };
 
   gistyc = with python3Packages; toPythonApplication gistyc;
 
@@ -1835,6 +1888,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;
   };
@@ -1881,8 +1938,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 { };
@@ -1933,6 +1996,8 @@ with pkgs;
 
   git-credential-gopass = callPackage ../tools/security/gopass/git-credential.nix { };
 
+  gopass-summon-provider = callPackage ../tools/security/gopass/summon.nix { };
+
   gosh = callPackage ../tools/security/gosh { };
 
   gospider = callPackage ../tools/security/gospider { };
@@ -1947,10 +2012,6 @@ with pkgs;
 
   kwakd = callPackage ../servers/kwakd { };
 
-  chunkwm = callPackage ../os-specific/darwin/chunkwm {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa ScriptingBridge;
-  };
-
   kwm = callPackage ../os-specific/darwin/kwm { };
 
   khd = callPackage ../os-specific/darwin/khd {
@@ -2040,7 +2101,6 @@ with pkgs;
 
   aria2 = callPackage ../tools/networking/aria2 {
     inherit (darwin.apple_sdk.frameworks) Security;
-    inherit (python3Packages) sphinx;
   };
   aria = aria2;
 
@@ -2076,7 +2136,7 @@ with pkgs;
 
   avro-c = callPackage ../development/libraries/avro-c { };
 
-  avro-cpp = callPackage ../development/libraries/avro-c++ { boost = boost160; };
+  avro-cpp = callPackage ../development/libraries/avro-c++ { };
 
   aws = callPackage ../tools/virtualization/aws { };
 
@@ -2127,9 +2187,9 @@ with pkgs;
 
   badvpn = callPackage ../tools/networking/badvpn {};
 
-  barcode = callPackage ../tools/graphics/barcode {};
+  baget = callPackage ../servers/web-apps/baget { };
 
-  bashburn = callPackage ../tools/cd-dvd/bashburn { };
+  barcode = callPackage ../tools/graphics/barcode {};
 
   bashmount = callPackage ../tools/filesystems/bashmount {};
 
@@ -2194,8 +2254,6 @@ with pkgs;
 
   bitbucket-server-cli = callPackage ../applications/version-management/git-and-tools/bitbucket-server-cli { };
 
-  blink = libsForQt5.callPackage ../applications/networking/instant-messengers/blink { };
-
   blitz = callPackage ../development/libraries/blitz { };
 
   blockbook = callPackage ../servers/blockbook { };
@@ -2229,7 +2287,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 =
@@ -2273,7 +2331,7 @@ with pkgs;
 
   boca = callPackage ../development/libraries/boca { };
 
-  bochs = callPackage ../applications/virtualization/bochs {
+  bochs = callPackage ../applications/emulators/bochs {
     wxGTK = wxGTK30;
   };
 
@@ -2329,11 +2387,9 @@ with pkgs;
   breakpointHook = assert stdenv.isLinux;
     makeSetupHook { } ../build-support/setup-hooks/breakpoint-hook.sh;
 
-  bsod = callPackage ../misc/emulators/bsod { };
+  py65 = python3Packages.callPackage ../applications/emulators/py65 { };
 
-  py65 = python3Packages.callPackage ../misc/emulators/py65 { };
-
-  simh = callPackage ../misc/emulators/simh { };
+  simh = callPackage ../applications/emulators/simh { };
 
   btrfs-progs = callPackage ../tools/filesystems/btrfs-progs { };
 
@@ -2341,9 +2397,7 @@ with pkgs;
 
   btlejack = python3Packages.callPackage ../applications/radio/btlejack { };
 
-  btrbk = callPackage ../tools/backup/btrbk {
-    asciidoc = asciidoc-full;
-  };
+  btrbk = callPackage ../tools/backup/btrbk { };
 
   buildpack = callPackage ../development/tools/buildpack { };
 
@@ -2366,8 +2420,6 @@ with pkgs;
     textual-window-manager = tmux;
   };
 
-  bypass403 = callPackage ../tools/security/bypass403 { };
-
   bsh = fetchurl {
     url = "http://www.beanshell.org/bsh-2.0b5.jar";
     sha256 = "0p2sxrpzd0vsk11zf3kb5h12yl1nq4yypb5mpjrm8ww0cfaijck2";
@@ -2462,19 +2514,19 @@ 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 { };
 
@@ -2502,6 +2554,8 @@ with pkgs;
 
   cht-sh = callPackage ../tools/misc/cht.sh { };
 
+  cinny = callPackage ../applications/networking/instant-messengers/cinny {};
+
   ckbcomp = callPackage ../tools/X11/ckbcomp { };
 
   clac = callPackage ../tools/misc/clac {};
@@ -2526,7 +2580,7 @@ with pkgs;
 
   clog-cli = callPackage ../development/tools/clog-cli { };
 
-  cloud-init = python3.pkgs.callPackage ../tools/virtualization/cloud-init { };
+  cloud-init = python3.pkgs.callPackage ../tools/virtualization/cloud-init { inherit systemd; };
 
   cloudbrute = callPackage ../tools/security/cloudbrute { };
 
@@ -2550,7 +2604,11 @@ with pkgs;
 
   colpack = callPackage ../applications/science/math/colpack { };
 
-  commitizen = callPackage ../applications/version-management/commitizen {};
+  cz-cli = callPackage ../applications/version-management/cz-cli {};
+
+  comma = callPackage ../tools/package-management/comma { };
+
+  commitizen = python3Packages.callPackage ../applications/version-management/commitizen { };
 
   common-licenses = callPackage ../data/misc/common-licenses {};
 
@@ -2606,6 +2664,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 { };
@@ -2755,10 +2815,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 { };
@@ -2836,13 +2892,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 { };
 
@@ -2872,6 +2931,8 @@ with pkgs;
 
   dtools = callPackage ../development/tools/dtools { };
 
+  dtrx = callPackage ../tools/compression/dtrx { };
+
   dua = callPackage ../tools/misc/dua {
     inherit (darwin.apple_sdk.frameworks) Foundation;
   };
@@ -2879,7 +2940,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 { };
 
@@ -2926,11 +2987,12 @@ with pkgs;
 
   element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix {
     inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-    electron = electron_13;
-  };
-  element-desktop-wayland = element-desktop.override {
-    useWayland = true;
+    electron = electron_15;
   };
+  element-desktop-wayland = writeScriptBin "element-desktop" ''
+    #!/bin/sh
+    NIXOS_OZONE_WL=1 exec ${element-desktop}/bin/element-desktop "$@"
+  '';
 
   element-web = callPackage ../applications/networking/instant-messengers/element/element-web.nix {
     conf = config.element-web.conf or {};
@@ -2948,8 +3010,6 @@ with pkgs;
 
   enca = callPackage ../tools/text/enca { };
 
-  enigma = callPackage ../games/enigma {};
-
   ent = callPackage ../tools/misc/ent { };
 
   envconsul = callPackage ../tools/system/envconsul { };
@@ -2976,6 +3036,8 @@ with pkgs;
 
   eternal-terminal = callPackage ../tools/networking/eternal-terminal {};
 
+  extrude = callPackage ../tools/security/extrude { };
+
   f3 = callPackage ../tools/filesystems/f3 { };
 
   f3d = callPackage ../applications/graphics/f3d {
@@ -2986,6 +3048,8 @@ with pkgs;
 
   facedetect = callPackage ../tools/graphics/facedetect { };
 
+  findimagedupes = callPackage ../tools/graphics/findimagedupes { };
+
   facter = callPackage ../tools/system/facter { };
 
   fasd = callPackage ../tools/misc/fasd { };
@@ -3109,8 +3173,12 @@ with pkgs;
 
   ghdorker = callPackage ../tools/security/ghdorker { };
 
+  ghidra = callPackage ../tools/security/ghidra/build.nix { };
+
   ghidra-bin = callPackage ../tools/security/ghidra { };
 
+  gh2md = callPackage ../tools/backup/gh2md { };
+
   gif-for-cli = callPackage ../tools/misc/gif-for-cli { };
 
   giph = callPackage ../applications/video/giph { };
@@ -3159,11 +3227,15 @@ with pkgs;
 
   goa = callPackage ../development/tools/goa { };
 
+  goawk = callPackage ../tools/text/goawk { };
+
   gohai = callPackage ../tools/system/gohai { };
 
   gorilla-bin = callPackage ../tools/security/gorilla-bin { };
 
-  godu = callPackage ../tools/misc/godu { };
+  godu = callPackage ../tools/misc/godu {
+    buildGoModule = buildGo116Module;
+  };
 
   goss = callPackage ../tools/misc/goss { };
 
@@ -3173,9 +3245,9 @@ with pkgs;
 
   gotify-desktop = callPackage ../tools/misc/gotify-desktop { };
 
-  gotypist = callPackage ../games/gotypist { };
-
-  gping = callPackage ../tools/networking/gping { };
+  gping = callPackage ../tools/networking/gping {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   gpu-burn = callPackage ../applications/misc/gpu-burn { };
 
@@ -3201,18 +3273,12 @@ with pkgs;
 
   gti = callPackage ../tools/misc/gti { };
 
-  grapejuice = callPackage ../games/grapejuice {
-    wine = wineWowPackages.unstable;
-  };
-
   hdate = callPackage ../applications/misc/hdate { };
 
   heatseeker = callPackage ../tools/misc/heatseeker { };
 
   hebcal = callPackage ../tools/misc/hebcal {};
 
-  heroic = callPackage ../games/heroic {};
-
   hexio = callPackage ../development/tools/hexio { };
 
   hexyl = callPackage ../tools/misc/hexyl { };
@@ -3249,6 +3315,8 @@ with pkgs;
 
   ifm = callPackage ../tools/graphics/ifm {};
 
+  iina = callPackage ../applications/video/iina { };
+
   ink = callPackage ../tools/misc/ink { };
 
   inklecate = callPackage ../development/compilers/inklecate {};
@@ -3259,6 +3327,8 @@ with pkgs;
 
   interlock = callPackage ../servers/interlock {};
 
+  invoiceplane = callPackage ../servers/web-apps/invoiceplane { };
+
   iotools = callPackage ../tools/misc/iotools { };
 
   jellyfin = callPackage ../servers/jellyfin { };
@@ -3369,6 +3439,8 @@ with pkgs;
 
   maliit-keyboard = libsForQt5.callPackage ../applications/misc/maliit-keyboard { };
 
+  mandown = callPackage ../tools/misc/mandown { };
+
   mapcidr = callPackage ../tools/misc/mapcidr { };
 
   mapproxy = callPackage ../applications/misc/mapproxy { };
@@ -3393,19 +3465,11 @@ with pkgs;
 
   megacmd = callPackage ../applications/misc/megacmd { };
 
-  meritous = callPackage ../games/meritous { };
-
-  oh-my-git = callPackage ../games/oh-my-git { };
-
-  opendune = callPackage ../games/opendune { };
-
   merriweather = callPackage ../data/fonts/merriweather { };
 
   merriweather-sans = callPackage ../data/fonts/merriweather-sans { };
 
-  # TODO: call a sprintable to deprecate Meson 0.57 as soon as possible
-  meson = callPackage ../development/tools/build-managers/meson/0.57 { };
-  meson_0_60 = callPackage ../development/tools/build-managers/meson/0.60 { };
+  meson = callPackage ../development/tools/build-managers/meson { };
 
   meson-tools = callPackage ../misc/meson-tools { };
 
@@ -3413,8 +3477,6 @@ with pkgs;
 
   midicsv = callPackage ../tools/audio/midicsv { };
 
-  mididings = callPackage ../tools/audio/mididings { };
-
   miniscript = callPackage ../applications/blockchains/miniscript { };
 
   miniserve = callPackage ../tools/misc/miniserve {
@@ -3463,6 +3525,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 { };
@@ -3471,6 +3535,8 @@ with pkgs;
 
   mrkd = with python3Packages; toPythonApplication mrkd;
 
+  nautilus-open-any-terminal = callPackage ../tools/misc/nautilus-open-any-terminal { };
+
   n2n = callPackage ../tools/networking/n2n { };
 
   nextdns = callPackage ../applications/networking/nextdns { };
@@ -3505,6 +3571,8 @@ with pkgs;
 
   nrsc5 = callPackage ../applications/misc/nrsc5 { };
 
+  nsync = callPackage ../development/libraries/nsync { };
+
   nwipe = callPackage ../tools/security/nwipe { };
 
   nx2elf = callPackage ../tools/compression/nx2elf { };
@@ -3523,6 +3591,10 @@ 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 { };
 
   libpsm2 = callPackage ../os-specific/linux/libpsm2 { };
@@ -3610,9 +3682,9 @@ with pkgs;
 
   reg = callPackage ../tools/virtualization/reg { };
 
-  river = callPackage ../applications/window-managers/river {
-    zig = zig_0_8_1;
-  };
+  river = callPackage ../applications/window-managers/river { };
+
+  rivercarro = callPackage ../applications/misc/rivercarro { };
 
   rmapi = callPackage ../applications/misc/remarkable/rmapi { };
 
@@ -3626,7 +3698,7 @@ with pkgs;
 
   ropgadget = with python3Packages; toPythonApplication ropgadget;
 
-  ryujinx = callPackage ../misc/emulators/ryujinx { };
+  ryujinx = callPackage ../applications/emulators/ryujinx { };
 
   scour = with python3Packages; toPythonApplication scour;
 
@@ -3648,9 +3720,7 @@ with pkgs;
 
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
-  simplenes = callPackage ../misc/emulators/simplenes { };
-
-  snipes = callPackage ../games/snipes { };
+  simplenes = callPackage ../applications/emulators/simplenes { };
 
   snippetpixie = callPackage ../tools/text/snippetpixie { };
 
@@ -3662,8 +3732,6 @@ with pkgs;
 
   spacevim = callPackage ../applications/editors/spacevim { };
 
-  space-cadet-pinball = callPackage ../games/space-cadet-pinball { };
-
   ssmsh = callPackage ../tools/admin/ssmsh { };
 
   stacs = callPackage ../tools/security/stacs { };
@@ -3702,6 +3770,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 { };
@@ -3773,8 +3843,6 @@ with pkgs;
 
   xmousepasteblock = callPackage ../tools/X11/xmousepasteblock { };
 
-  mar1d = callPackage ../games/mar1d { } ;
-
   mcrypt = callPackage ../tools/misc/mcrypt { };
 
   mongoaudit = callPackage ../tools/security/mongoaudit { };
@@ -3820,20 +3888,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 { };
 
@@ -3867,14 +3935,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 { };
 
@@ -3968,6 +4029,8 @@ with pkgs;
 
   buku = callPackage ../applications/misc/buku { };
 
+  bukut = callPackage ../applications/misc/bukut { };
+
   byzanz = callPackage ../applications/video/byzanz {};
 
   ori = callPackage ../tools/backup/ori { };
@@ -4125,7 +4188,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 { };
 
@@ -4175,8 +4238,6 @@ with pkgs;
 
   cpuminer = callPackage ../tools/misc/cpuminer { };
 
-  cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { };
-
   crabz = callPackage ../tools/compression/crabz {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
@@ -4197,10 +4258,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 { };
 
@@ -4258,9 +4325,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_15;
-    };
+    bamboo = callPackage ../tools/inputmethods/ibus-engines/ibus-bamboo { };
 
     hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { };
 
@@ -4316,6 +4381,8 @@ with pkgs;
     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;
@@ -4352,6 +4419,8 @@ with pkgs;
 
   checkmate = callPackage ../development/tools/checkmate { };
 
+  circup = callPackage ../development/tools/circup { };
+
   civetweb = callPackage ../development/libraries/civetweb { };
 
   ckb-next = libsForQt5.callPackage ../tools/misc/ckb-next { };
@@ -4460,18 +4529,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)
@@ -4491,10 +4564,19 @@ with pkgs;
 
   curlFull = curl.override {
     ldapSupport = true;
+    gsaslSupport = true;
+    rtmpSupport = true;
+    pslSupport = true;
+  };
+
+  curlHTTP3 = curl.override {
+    openssl = quictls;
+    http3Support = true;
   };
 
   curl = curlMinimal.override ({
     idnSupport = true;
+    zstdSupport = true;
   } // lib.optionalAttrs (!stdenv.hostPlatform.isStatic) {
     gssSupport = true;
     brotliSupport = true;
@@ -4680,7 +4762,7 @@ with pkgs;
   diffutils = callPackage ../tools/text/diffutils { };
 
   dir2opus = callPackage ../tools/audio/dir2opus {
-    inherit (pythonPackages) mutagen python wrapPython;
+    inherit (python2Packages) mutagen python wrapPython;
   };
 
   dirdiff = callPackage ../tools/text/dirdiff {
@@ -4724,8 +4806,6 @@ with pkgs;
 
   docbook2mdoc = callPackage ../tools/misc/docbook2mdoc { };
 
-  docbookrx = callPackage ../tools/typesetting/docbookrx { };
-
   docear = callPackage ../applications/office/docear { };
 
   dockbarx = callPackage ../applications/misc/dockbarx { };
@@ -4742,11 +4822,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;
   };
 
@@ -4754,8 +4834,6 @@ with pkgs;
 
   doomseeker = qt5.callPackage ../applications/misc/doomseeker { };
 
-  doom-bcc = callPackage ../games/zdoom/bcc-git.nix { };
-
   dorkscout = callPackage ../tools/security/dorkscout { };
 
   downonspot = callPackage ../applications/misc/downonspot { };
@@ -4913,6 +4991,10 @@ with pkgs;
 
   s-tar = callPackage ../tools/archivers/s-tar {};
 
+  solo2-cli = callPackage ../tools/security/solo2-cli {
+    inherit (darwin.apple_sdk.frameworks) PCSC IOKit CoreFoundation AppKit;
+  };
+
   sonota = callPackage ../tools/misc/sonota { };
 
   sonobuoy = callPackage ../applications/networking/cluster/sonobuoy { };
@@ -4925,9 +5007,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
     electron = electron_13;
   };
-  schildichat-desktop-wayland = schildichat-desktop.override {
-    useWayland = true;
-  };
+  schildichat-desktop-wayland = writeScriptBin "schildichat-desktop" ''
+    #!/bin/sh
+    NIXOS_OZONE_WL=1 exec ${schildichat-desktop}/bin/schildichat-desktop "$@"
+  '';
 
   schildichat-web = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-web.nix {
     conf = config.schildichat-web.conf or {};
@@ -4945,8 +5028,8 @@ with pkgs;
 
   timeline = callPackage ../applications/office/timeline { };
 
-  tsm-client = callPackage ../tools/backup/tsm-client { jdk8 = null; };
-  tsm-client-withGui = callPackage ../tools/backup/tsm-client { };
+  tsm-client = callPackage ../tools/backup/tsm-client { };
+  tsm-client-withGui = callPackage ../tools/backup/tsm-client { enableGui = true; };
 
   tracker = callPackage ../development/libraries/tracker { };
 
@@ -4981,16 +5064,22 @@ with pkgs;
 
   vowpal-wabbit = callPackage ../applications/science/machine-learning/vowpal-wabbit { };
 
-  utahfs = callPackage ../applications/networking/utahfs { };
+  utahfs = callPackage ../applications/networking/utahfs {
+    buildGoPackage = buildGo116Package;
+  };
 
   wakeonlan = callPackage ../tools/networking/wakeonlan { };
 
   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;
   };
 
+  snowflake = callPackage ../tools/networking/snowflake { };
+
   wsl-open = callPackage ../tools/misc/wsl-open { };
 
   xkcdpass = with python3Packages; toPythonApplication xkcdpass;
@@ -5115,14 +5204,16 @@ 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 { };
+
   ethtool = callPackage ../tools/misc/ethtool { };
 
   ettercap = callPackage ../applications/networking/sniffers/ettercap { };
@@ -5240,14 +5331,20 @@ with pkgs;
     };
   };
 
+  fcitx5-unikey = libsForQt5.callPackage ../tools/inputmethods/fcitx5/fcitx5-unikey.nix { };
+
   fcitx5-configtool = libsForQt5.callPackage ../tools/inputmethods/fcitx5/fcitx5-configtool.nix { };
 
+  fcitx5-chewing = callPackage ../tools/inputmethods/fcitx5/fcitx5-chewing.nix { };
+
   fcitx5-lua = callPackage ../tools/inputmethods/fcitx5/fcitx5-lua.nix { };
 
   fcitx5-m17n = callPackage ../tools/inputmethods/fcitx5/fcitx5-m17n.nix { };
 
   fcitx5-gtk = callPackage ../tools/inputmethods/fcitx5/fcitx5-gtk.nix { };
 
+  fcitx5-hangul = callPackage ../tools/inputmethods/fcitx5/fcitx5-hangul.nix { };
+
   fcitx5-rime = callPackage ../tools/inputmethods/fcitx5/fcitx5-rime.nix { };
 
   fcitx5-table-extra = callPackage ../tools/inputmethods/fcitx5/fcitx5-table-extra.nix { };
@@ -5281,10 +5378,6 @@ with pkgs;
   flannel = callPackage ../tools/networking/flannel { };
   cni-plugin-flannel = callPackage ../tools/networking/flannel/plugin.nix {};
 
-  flare = callPackage ../games/flare {
-    inherit (darwin.apple_sdk.frameworks) Cocoa;
-  };
-
   flashbench = callPackage ../os-specific/linux/flashbench { };
 
   flatpak = callPackage ../development/libraries/flatpak { };
@@ -5331,7 +5424,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 { };
 
@@ -5347,6 +5440,8 @@ with pkgs;
 
   flvstreamer = callPackage ../tools/networking/flvstreamer { };
 
+  frr = callPackage ../servers/frr { };
+
   hmetis = pkgsi686Linux.callPackage ../applications/science/math/hmetis { };
 
   libbsd = callPackage ../development/libraries/libbsd { };
@@ -5361,6 +5456,8 @@ with pkgs;
 
   fabric-installer = callPackage ../tools/games/minecraft/fabric-installer { };
 
+  faraday-agent-dispatcher = callPackage ../tools/security/faraday-agent-dispatcher { };
+
   faraday-cli = callPackage ../tools/security/faraday-cli { };
 
   fastlane = callPackage ../tools/admin/fastlane { };
@@ -5459,12 +5556,6 @@ with pkgs;
 
   freac = callPackage ../applications/audio/freac { };
 
-  freedroid = callPackage ../games/freedroid { };
-
-  freedroidrpg = callPackage ../games/freedroidrpg { };
-
-  freenukum = callPackage ../games/freenukum { };
-
   freebind = callPackage ../tools/networking/freebind { };
 
   freeipmi = callPackage ../tools/system/freeipmi {};
@@ -5565,6 +5656,8 @@ 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 {};
@@ -5613,15 +5706,13 @@ with pkgs;
 
   geteltorito = callPackage ../tools/misc/geteltorito { };
 
-  getmail = callPackage ../tools/networking/getmail { };
-
   getmail6 = callPackage ../tools/networking/getmail6 { };
 
   getopt = callPackage ../tools/misc/getopt { };
 
   gexiv2 = callPackage ../development/libraries/gexiv2 { };
 
-  gftp = callPackage ../applications/networking/gftp {
+  gftp = callPackage ../applications/networking/ftp/gftp {
     gtk = gtk2;
   };
 
@@ -5629,6 +5720,8 @@ with pkgs;
 
   gfbgraph = callPackage ../development/libraries/gfbgraph { };
 
+  gfold = callPackage ../applications/version-management/git-and-tools/gfold { };
+
   ggobi = callPackage ../tools/graphics/ggobi { };
 
   gh = callPackage ../applications/version-management/git-and-tools/gh { };
@@ -5845,8 +5938,6 @@ with pkgs;
 
   github-runner = callPackage ../development/tools/continuous-integration/github-runner { };
 
-  gitinspector = callPackage ../applications/version-management/gitinspector { };
-
   gitkraken = callPackage ../applications/version-management/gitkraken { };
 
   gitlab = callPackage ../applications/version-management/gitlab { };
@@ -5902,19 +5993,17 @@ 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 { };
+
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
   gnome-feeds = callPackage ../applications/networking/feedreaders/gnome-feeds {};
 
   gnome-keysign = callPackage ../tools/security/gnome-keysign { };
 
-  gnome-passwordsafe = callPackage ../applications/misc/gnome-passwordsafe { };
+  gnome-secrets = callPackage ../applications/misc/gnome-secrets { };
 
   gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { };
 
@@ -5955,11 +6044,11 @@ with pkgs;
   gnupg1orig = callPackage ../tools/security/gnupg/1.nix { };
   gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { };
   gnupg1 = gnupg1compat;    # use config.packageOverrides if you prefer original gnupg1
-  gnupg22 = callPackage ../tools/security/gnupg/22.nix {
+  gnupg23 = callPackage ../tools/security/gnupg/23.nix {
     guiSupport = stdenv.isDarwin;
     pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;
   };
-  gnupg = gnupg22;
+  gnupg = gnupg23;
 
   gnupg-pkcs11-scd = callPackage ../tools/security/gnupg-pkcs11-scd { };
 
@@ -5996,7 +6085,9 @@ with pkgs;
 
   go-mtpfs = callPackage ../tools/filesystems/go-mtpfs { };
 
-  goofys = callPackage ../tools/filesystems/goofys { };
+  goofys = callPackage ../tools/filesystems/goofys {
+    buildGoModule = buildGo116Module;
+  };
 
   go-sct = callPackage ../tools/X11/go-sct { };
 
@@ -6023,16 +6114,20 @@ 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;
 
-  google-compute-engine-oslogin = callPackage ../tools/virtualization/google-compute-engine-oslogin { };
+  google-guest-oslogin = callPackage ../tools/virtualization/google-guest-oslogin { };
 
   google-cloud-cpp = callPackage ../development/libraries/google-cloud-cpp { };
 
   google-java-format = callPackage ../development/tools/google-java-format { };
 
+  google-guest-agent = callPackage ../tools/virtualization/google-guest-agent { };
+
+  google-guest-configs = callPackage ../tools/virtualization/google-guest-configs { };
+
   gdown = with python3Packages; toPythonApplication gdown;
 
   gopro = callPackage ../tools/video/gopro { };
@@ -6041,6 +6136,8 @@ with pkgs;
 
   goreplay = callPackage ../tools/networking/goreplay { };
 
+  gost = callPackage ../tools/networking/gost { };
+
   gource = callPackage ../applications/version-management/gource { };
 
   govc = callPackage ../tools/virtualization/govc { };
@@ -6070,6 +6167,8 @@ with pkgs;
     hamlib = hamlib_4;
   };
 
+  gprojector = callPackage ../applications/science/astronomy/gprojector { };
+
   gptfdisk = callPackage ../tools/system/gptfdisk { };
 
   grafx2 = callPackage ../applications/graphics/grafx2 {};
@@ -6233,9 +6332,7 @@ with pkgs;
 
   gvm-tools = with python3.pkgs; toPythonApplication gvm-tools;
 
-  gvpe = callPackage ../tools/networking/gvpe {
-    openssl = openssl_1_0_2;
-  };
+  gvpe = callPackage ../tools/networking/gvpe {};
 
   gvolicon = callPackage ../tools/audio/gvolicon {};
 
@@ -6343,24 +6440,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 { };
 
@@ -6547,10 +6633,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 { };
@@ -6581,6 +6663,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 { };
@@ -6614,12 +6698,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 { };
@@ -6630,9 +6714,15 @@ with pkgs;
   iperf3 = callPackage ../tools/networking/iperf/3.nix { };
   iperf = iperf3;
 
-  ipfs = callPackage ../applications/networking/ipfs { };
-  ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { };
-  ipfs-cluster = callPackage ../applications/networking/ipfs-cluster { };
+  ipfs = callPackage ../applications/networking/ipfs {
+    buildGoModule = buildGo116Module;
+  };
+  ipfs-migrator = callPackage ../applications/networking/ipfs-migrator {
+    buildGoModule = buildGo116Module;
+  };
+  ipfs-cluster = callPackage ../applications/networking/ipfs-cluster {
+    buildGoModule = buildGo116Module;
+  };
 
   ipget = callPackage ../applications/networking/ipget { };
 
@@ -6685,6 +6775,8 @@ with pkgs;
 
   itm-tools = callPackage ../development/tools/misc/itm-tools { };
 
+  ite-backlight = callPackage ../misc/ite-backlight { };
+
   iwgtk = callPackage ../tools/networking/iwgtk { };
 
   ix = callPackage ../tools/misc/ix { };
@@ -6697,6 +6789,8 @@ with pkgs;
 
   jadx = callPackage ../tools/security/jadx { };
 
+  jamesdsp = libsForQt5.callPackage ../applications/audio/jamesdsp { };
+
   jazzy = callPackage ../development/tools/jazzy { };
 
   jc = with python3Packages; toPythonApplication jc;
@@ -6713,6 +6807,8 @@ with pkgs;
 
   jet = callPackage ../development/tools/jet { };
 
+  jfmt = callPackage ../development/tools/jfmt { };
+
   jfsutils = callPackage ../tools/filesystems/jfsutils { };
 
   jhead = callPackage ../tools/graphics/jhead { };
@@ -6732,6 +6828,8 @@ with pkgs;
 
   jl = haskellPackages.callPackage ../development/tools/jl { };
 
+  jless = callPackage ../development/tools/jless { };
+
   jmespath = callPackage ../development/tools/jmespath { };
 
   jmtpfs = callPackage ../tools/filesystems/jmtpfs { };
@@ -6740,8 +6838,6 @@ with pkgs;
 
   jsvc = callPackage ../tools/system/jsvc { };
 
-  jumpnbump = callPackage ../games/jumpnbump { };
-
   junkie = callPackage ../tools/networking/junkie { };
 
   just = callPackage ../development/tools/just { };
@@ -6851,8 +6947,6 @@ with pkgs;
 
   keepalived = callPackage ../tools/networking/keepalived { };
 
-  keeperrl = callPackage ../games/keeperrl { };
-
   kexec-tools = callPackage ../os-specific/linux/kexec-tools { };
 
   keepkey_agent = with python3Packages; toPythonApplication keepkey_agent;
@@ -6958,14 +7052,14 @@ with pkgs;
 
   ldc = callPackage ../development/compilers/ldc { };
 
-  ligo = callPackage ../development/compilers/ligo { };
+  ligo = callPackage ../development/compilers/ligo {
+    coq = coq_8_14;
+  };
 
   ldgallery = callPackage ../tools/graphics/ldgallery {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
-  lbreakout2 = callPackage ../games/lbreakout2 { };
-
   lefthook = callPackage ../applications/version-management/git-and-tools/lefthook { };
 
   lego = callPackage ../tools/admin/lego { };
@@ -6984,6 +7078,8 @@ with pkgs;
 
   libcsptr = callPackage ../development/libraries/libcsptr { };
 
+  libgovirt = callPackage ../applications/virtualization/libgovirt { };
+
   libscrypt = callPackage ../development/libraries/libscrypt { };
 
   libcloudproviders = callPackage ../development/libraries/libcloudproviders { };
@@ -7067,8 +7163,6 @@ with pkgs;
 
   ltwheelconf = callPackage ../applications/misc/ltwheelconf { };
 
-  lunar-client = callPackage ../games/lunar-client {};
-
   lvmsync = callPackage ../tools/backup/lvmsync { };
 
   kapp = callPackage ../tools/networking/kapp {};
@@ -7103,6 +7197,8 @@ with pkgs;
 
   mathpix-snipping-tool = callPackage ../tools/misc/mathpix-snipping-tool { };
 
+  matrix-conduit = callPackage ../servers/matrix-conduit { };
+
   /* Python 3.8 is currently broken with matrix-synapse since `python38Packages.bleach` fails
     (https://github.com/NixOS/nixpkgs/issues/76093) */
   matrix-synapse = callPackage ../servers/matrix-synapse { /*python3 = python38;*/ };
@@ -7145,6 +7241,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;
   };
@@ -7249,6 +7349,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;
@@ -7289,7 +7391,7 @@ with pkgs;
     nodejs = nodejs-14_x;
   };
 
-  np2kai = callPackage ../misc/emulators/np2kai { };
+  np2kai = callPackage ../applications/emulators/np2kai { };
 
   openipmi = callPackage ../tools/system/openipmi { };
 
@@ -7447,6 +7549,9 @@ with pkgs;
   libpointmatcher = callPackage ../development/libraries/libpointmatcher { };
 
   libportal = callPackage ../development/libraries/libportal { };
+  libportal-gtk3 = libportal.override { variant = "gtk3"; };
+  libportal-gtk4 = libportal.override { variant = "gtk4"; };
+  libportal-qt5 = libportal.override { variant = "qt5"; };
 
   libmicrodns = callPackage ../development/libraries/libmicrodns { };
 
@@ -7564,8 +7669,6 @@ with pkgs;
 
   lshw = callPackage ../tools/system/lshw { };
 
-  ltris = callPackage ../games/ltris { };
-
   lunatic = callPackage ../development/interpreters/lunatic { };
 
   lv = callPackage ../tools/text/lv { };
@@ -7584,6 +7687,8 @@ with pkgs;
 
   lzip = callPackage ../tools/compression/lzip { };
 
+  lziprecover = callPackage ../tools/compression/lziprecover { };
+
   luxcorerender = callPackage ../tools/graphics/luxcorerender {
     openimagedenoise = openimagedenoise_1_2_x;
   };
@@ -7596,6 +7701,8 @@ with pkgs;
 
   lzop = callPackage ../tools/compression/lzop { };
 
+  lzwolf = callPackage ../games/lzwolf { };
+
   macchanger = callPackage ../os-specific/linux/macchanger { };
 
   macchina = callPackage ../tools/misc/macchina {
@@ -7626,8 +7733,6 @@ with pkgs;
 
   mailsend = callPackage ../tools/networking/mailsend { };
 
-  mailpile = callPackage ../applications/networking/mailreaders/mailpile { };
-
   mailutils = callPackage ../tools/networking/mailutils {
     sasl = gsasl;
   };
@@ -7707,6 +7812,8 @@ with pkgs;
     guile = guile_1_8;
   };
 
+  mcstatus = with python3Packages; toPythonApplication mcstatus;
+
   mdbtools = callPackage ../tools/misc/mdbtools { };
 
   mdk = callPackage ../development/tools/mdk { };
@@ -7715,11 +7822,11 @@ with pkgs;
 
   mdp = callPackage ../applications/misc/mdp { };
 
-  mednafen = callPackage ../misc/emulators/mednafen { };
+  mednafen = callPackage ../applications/emulators/mednafen { };
 
-  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 { };
 
@@ -7729,15 +7836,13 @@ with pkgs;
 
   mencal = callPackage ../applications/misc/mencal { } ;
 
-  metamorphose2 = callPackage ../applications/misc/metamorphose2 { };
-
   metar = callPackage ../applications/misc/metar { };
 
   mfcuk = callPackage ../tools/security/mfcuk { };
 
   mfoc = callPackage ../tools/security/mfoc { };
 
-  mgba = libsForQt5.callPackage ../misc/emulators/mgba { };
+  mgba = libsForQt5.callPackage ../applications/emulators/mgba { };
 
   microdnf = callPackage ../tools/package-management/microdnf { };
 
@@ -7816,6 +7921,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 {};
@@ -7834,6 +7941,10 @@ with pkgs;
 
   mole = callPackage ../tools/networking/mole { };
 
+  morgen = callPackage ../applications/office/morgen {
+    electron = electron_15;
+  };
+
   mosh = callPackage ../tools/networking/mosh { };
 
   mpage = callPackage ../tools/text/mpage { };
@@ -7866,6 +7977,8 @@ with pkgs;
 
   mtr = callPackage ../tools/networking/mtr {};
 
+  mtr-exporter = callPackage ../tools/networking/mtr-exporter {};
+
   mtr-gui = callPackage ../tools/networking/mtr { withGtk = true; };
 
   mtx = callPackage ../tools/backup/mtx {};
@@ -7894,10 +8007,6 @@ with pkgs;
 
   munge = callPackage ../tools/security/munge { };
 
-  munt = libsForQt5.callPackage ../applications/audio/munt {
-    jack = libjack2;
-  };
-
   mutagen = callPackage ../tools/misc/mutagen { };
 
   mycli = callPackage ../tools/admin/mycli { };
@@ -7953,10 +8062,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; };
   };
@@ -7987,6 +8098,8 @@ with pkgs;
 
   netboot = callPackage ../tools/networking/netboot {};
 
+  netbootxyz-efi = callPackage ../tools/misc/netbootxyz-efi { };
+
   netcat = libressl.nc;
 
   netcat-gnu = callPackage ../tools/networking/netcat { };
@@ -8071,20 +8184,20 @@ with pkgs;
 
   noip = callPackage ../tools/networking/noip { };
 
-  nomad = nomad_1_1;
+  nomad = nomad_1_2;
 
   # Nomad never updates major go versions within a release series and is unsupported
   # on Go versions that it did not ship with. Due to historic bugs when compiled
   # with different versions we pin Go for all versions.
   # Upstream partially documents used Go versions here
   # https://github.com/hashicorp/nomad/blob/master/contributing/golang.md
-  nomad_1_0 = callPackage ../applications/networking/cluster/nomad/1.0.nix {
-    buildGoPackage = buildGo115Package;
+  nomad_1_1 = callPackage ../applications/networking/cluster/nomad/1.1.nix {
+    buildGoModule = buildGo116Module;
     inherit (linuxPackages) nvidia_x11;
     nvidiaGpuSupport = config.cudaSupport or false;
   };
-  nomad_1_1 = callPackage ../applications/networking/cluster/nomad/1.1.nix {
-    buildGoModule = buildGo116Module;
+  nomad_1_2 = callPackage ../applications/networking/cluster/nomad/1.2.nix {
+    buildGoModule = buildGo117Module;
     inherit (linuxPackages) nvidia_x11;
     nvidiaGpuSupport = config.cudaSupport or false;
   };
@@ -8093,6 +8206,8 @@ with pkgs;
 
   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 { };
@@ -8121,8 +8236,12 @@ with pkgs;
 
   pandoc-imagine = python3Packages.callPackage ../tools/misc/pandoc-imagine { };
 
+  pandoc-drawio-filter = python3Packages.callPackage ../tools/misc/pandoc-drawio-filter { };
+
   pandoc-plantuml-filter = python3Packages.callPackage ../tools/misc/pandoc-plantuml-filter { };
 
+  panicparse = callPackage ../tools/misc/panicparse { };
+
   patray = callPackage ../tools/audio/patray { };
 
   pasystray = callPackage ../tools/audio/pasystray { };
@@ -8135,8 +8254,6 @@ with pkgs;
 
   pnmixer = callPackage ../tools/audio/pnmixer { };
 
-  pro-office-calculator = libsForQt5.callPackage ../games/pro-office-calculator { };
-
   pulsemixer = callPackage ../tools/audio/pulsemixer { };
 
   pwsafe = callPackage ../applications/misc/pwsafe { };
@@ -8269,7 +8386,9 @@ with pkgs;
 
   obexd = callPackage ../tools/bluetooth/obexd { };
 
-  obfs4 = callPackage ../tools/networking/obfs4 { };
+  obfs4 = callPackage ../tools/networking/obfs4 {
+    buildGoModule = buildGo116Module;
+  };
 
   oci-image-tool = callPackage ../tools/misc/oci-image-tool { };
 
@@ -8343,9 +8462,6 @@ with pkgs;
   openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; };
   openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; };
 
-  openbazaar = callPackage ../applications/networking/openbazaar { };
-  openbazaar-client = callPackage ../applications/networking/openbazaar/client.nix { };
-
   openboard = libsForQt5.callPackage ../applications/graphics/openboard { };
 
   opencc = callPackage ../tools/text/opencc { };
@@ -8366,6 +8482,8 @@ with pkgs;
     opendylan-bootstrap = opendylan_bin;
   };
 
+  openfec = callPackage ../development/libraries/openfec { };
+
   ophis = python3Packages.callPackage ../development/compilers/ophis { };
 
   opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { };
@@ -8401,6 +8519,8 @@ with pkgs;
     luaPackages = lua53Packages;
   };
 
+  opensbi = callPackage ../misc/opensbi { };
+
   opensc = callPackage ../tools/security/opensc {
     inherit (darwin.apple_sdk.frameworks) Carbon PCSC;
   };
@@ -8468,6 +8588,7 @@ with pkgs;
   opae = callPackage ../development/libraries/opae { };
 
   opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector { };
+  opentelemetry-collector-contrib = callPackage ../tools/misc/opentelemetry-collector/contrib.nix { };
 
   opentracing-cpp = callPackage ../development/libraries/opentracing-cpp { };
 
@@ -8475,7 +8596,9 @@ with pkgs;
 
   openvswitch-lts = callPackage ../os-specific/linux/openvswitch/lts.nix { };
 
-  optifine = callPackage ../tools/games/minecraft/optifine { };
+  optifinePackages = callPackage ../tools/games/minecraft/optifine { };
+
+  optifine = optifinePackages.optifine-latest;
 
   optipng = callPackage ../tools/graphics/optipng {
     libpng = libpng12;
@@ -8520,7 +8643,9 @@ with pkgs;
 
   ovh-ttyrec = callPackage ../tools/misc/ovh-ttyrec { };
 
-  ovito = libsForQt5.callPackage ../applications/graphics/ovito { };
+  ovito = libsForQt5.callPackage ../applications/graphics/ovito {
+    inherit (darwin.apple_sdk.frameworks) VideoDecodeAcceleration;
+  };
 
   owncloud-client = libsForQt5.callPackage ../applications/networking/owncloud-client { };
 
@@ -8548,6 +8673,8 @@ with pkgs;
 
   page = callPackage ../tools/misc/page { };
 
+  PageEdit = libsForQt5.callPackage ../applications/office/PageEdit { };
+
   pagmo2 = callPackage ../development/libraries/pagmo2 { };
 
   pakcs = callPackage ../development/compilers/pakcs { };
@@ -8628,11 +8755,6 @@ with pkgs;
 
   pngout = callPackage ../tools/graphics/pngout { };
 
-  ipsecTools = callPackage ../os-specific/linux/ipsec-tools {
-    flex = flex_2_5_35;
-    openssl = openssl_1_0_2;
-  };
-
   patch = gnupatch;
 
   patchage = callPackage ../applications/audio/patchage { };
@@ -8678,12 +8800,8 @@ with pkgs;
 
   pdftoipe = callPackage ../tools/graphics/pdftoipe { };
 
-  fmodex = callPackage ../games/zandronum/fmod.nix { };
-
   pdfminer = with python3Packages; toPythonApplication pdfminer;
 
-  pdfmod = callPackage ../applications/misc/pdfmod { };
-
   pdf-quench = callPackage ../applications/misc/pdf-quench { };
 
   jbig2enc = callPackage ../tools/graphics/jbig2enc { };
@@ -8698,6 +8816,8 @@ with pkgs;
 
   pcapc = callPackage ../tools/networking/pcapc { };
 
+  pdm = callPackage ../tools/package-management/pdm { };
+
   pdnsd = callPackage ../tools/networking/pdnsd { };
 
   peco = callPackage ../tools/text/peco { };
@@ -8728,11 +8848,13 @@ with pkgs;
   philter = callPackage ../tools/networking/philter { };
 
   phoc = callPackage ../applications/misc/phoc {
-    wlroots = wlroots_0_12;
+    wlroots = wlroots_0_14;
   };
 
   phodav = callPackage ../tools/networking/phodav { };
 
+  photon-rss = callPackage ../applications/networking/feedreaders/photon { };
+
   pim6sd = callPackage ../servers/pim6sd { };
 
   phosh = callPackage ../applications/window-managers/phosh { };
@@ -8750,10 +8872,14 @@ 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 { };
 
+  pinsel = callPackage ../tools/misc/pinsel { };
+
   piping-server-rust = callPackage ../servers/piping-server-rust {
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
@@ -8845,6 +8971,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 {
@@ -8935,8 +9063,6 @@ with pkgs;
 
   pastebinit = callPackage ../tools/misc/pastebinit { };
 
-  pifi = callPackage ../applications/audio/pifi { };
-
   pmacct = callPackage ../tools/networking/pmacct { };
 
   pmix = callPackage ../development/libraries/pmix { };
@@ -9074,6 +9200,8 @@ with pkgs;
 
   qmk = callPackage ../tools/misc/qmk { };
 
+  qodem = callPackage ../tools/networking/qodem { };
+
   qosmic = libsForQt5.callPackage ../applications/graphics/qosmic { };
 
   qownnotes = libsForQt514.callPackage ../applications/office/qownnotes { };
@@ -9082,7 +9210,9 @@ with pkgs;
 
   qprint = callPackage ../tools/text/qprint { };
 
-  qscintilla = callPackage ../development/libraries/qscintilla { };
+  qscintilla = libsForQt5.callPackage ../development/libraries/qscintilla { };
+
+  qscintilla-qt4 = callPackage ../development/libraries/qscintilla-qt4 { };
 
   qshowdiff = callPackage ../tools/text/qshowdiff { };
 
@@ -9140,8 +9270,12 @@ with pkgs;
 
   rarian = callPackage ../development/libraries/rarian { };
 
+  ratman = callPackage ../tools/networking/ratman { };
+
   ratools = callPackage ../tools/networking/ratools { };
 
+  ratt = callPackage ../applications/misc/ratt { };
+
   rc = callPackage ../shells/rc { };
 
   rcon = callPackage ../tools/networking/rcon { };
@@ -9154,6 +9288,8 @@ with pkgs;
 
   real_time_config_quick_scan = callPackage ../applications/audio/real_time_config_quick_scan { };
 
+  realesrgan-ncnn-vulkan = callPackage ../tools/graphics/realesrgan-ncnn-vulkan { };
+
   react-native-debugger = callPackage ../development/tools/react-native-debugger { };
 
   read-edid = callPackage ../os-specific/linux/read-edid { };
@@ -9166,7 +9302,9 @@ with pkgs;
 
   rep = callPackage ../development/tools/rep { };
 
-  reicast = callPackage ../misc/emulators/reicast { };
+  repseek = callPackage ../applications/science/biology/repseek { };
+
+  reicast = callPackage ../applications/emulators/reicast { };
 
   reredirect = callPackage ../tools/misc/reredirect { };
 
@@ -9281,6 +9419,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 { };
@@ -9303,14 +9445,14 @@ with pkgs;
 
   rmtrash = callPackage ../tools/misc/rmtrash { };
 
+  roc-toolkit = callPackage ../development/libraries/audio/roc-toolkit { };
+
   rockbox_utility = libsForQt5.callPackage ../tools/misc/rockbox-utility { };
 
   rosegarden = libsForQt514.callPackage ../applications/audio/rosegarden { };
 
   rowhammer-test = callPackage ../tools/system/rowhammer-test { };
 
-  rpg-cli = callPackage ../games/rpg-cli { };
-
   rpPPPoE = callPackage ../tools/networking/rp-pppoe { };
 
   rpi-imager = libsForQt5.callPackage ../tools/misc/rpi-imager { };
@@ -9352,11 +9494,7 @@ with pkgs;
 
   rubocop = rubyPackages.rubocop;
 
-  ruffle = callPackage ../misc/emulators/ruffle { };
-
-  runelite = callPackage ../games/runelite { };
-
-  runescape = callPackage ../games/runescape-launcher { };
+  ruffle = callPackage ../applications/emulators/ruffle { };
 
   runningx = callPackage ../tools/X11/runningx { };
 
@@ -9460,9 +9598,7 @@ with pkgs;
 
   sasquatch = callPackage ../tools/filesystems/sasquatch { };
 
-  sasview = callPackage ../applications/science/misc/sasview {};
-
-  scallion = callPackage ../tools/security/scallion { };
+  sasview = libsForQt5.callPackage ../applications/science/misc/sasview {};
 
   scanbd = callPackage ../tools/graphics/scanbd { };
 
@@ -9490,6 +9626,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 { };
@@ -9508,6 +9646,8 @@ with pkgs;
 
   sdate = callPackage ../tools/misc/sdate { };
 
+  sdat2img = callPackage ../tools/filesystems/sdat2img { };
+
   sdcv = callPackage ../applications/misc/sdcv { };
 
   sdl-jstest = callPackage ../tools/misc/sdl-jstest { };
@@ -9590,10 +9730,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 { };
@@ -9606,8 +9742,12 @@ with pkgs;
 
   sigal = callPackage ../applications/misc/sigal { };
 
+  sigi = callPackage ../applications/misc/sigi { };
+
   sigil = libsForQt5.callPackage ../applications/editors/sigil { };
 
+  signalbackup-tools = callPackage ../applications/networking/instant-messengers/signalbackup-tools { };
+
   signald = callPackage ../applications/networking/instant-messengers/signald { };
 
   signal-cli = callPackage ../applications/networking/instant-messengers/signal-cli { };
@@ -9649,6 +9789,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 { };
@@ -9680,8 +9824,6 @@ with pkgs;
     conf = config.slstatus.conf or null;
   };
 
-  sm64ex = callPackage ../games/sm64ex { };
-
   smartdns = callPackage ../tools/networking/smartdns { };
 
   smartmontools = callPackage ../tools/system/smartmontools {
@@ -9737,6 +9879,11 @@ with pkgs;
 
   spicy = callPackage ../development/tools/spicy { };
 
+  spire = callPackage ../tools/security/spire { };
+  # to match naming of other package repositories
+  spire-agent = spire.agent;
+  spire-server = spire.server;
+
   spoof-mac = python3Packages.callPackage ../tools/networking/spoof-mac { };
 
   ssh-askpass-fullscreen = callPackage ../tools/networking/ssh-askpass-fullscreen { };
@@ -9792,10 +9939,6 @@ with pkgs;
 
   sqls = callPackage ../applications/misc/sqls { };
 
-  starsector = callPackage ../games/starsector {
-    openjdk = openjdk8;
-  };
-
   stdman = callPackage ../data/documentation/stdman { };
 
   stderred = callPackage ../tools/misc/stderred { };
@@ -10016,6 +10159,8 @@ with pkgs;
 
   systrayhelper = callPackage ../tools/misc/systrayhelper {};
 
+  syft = callPackage ../tools/admin/syft { };
+
   Sylk = callPackage ../applications/networking/Sylk {};
 
   privoxy = callPackage ../tools/networking/privoxy {
@@ -10042,6 +10187,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
+  tagtime = callPackage ../applications/misc/tagtime { };
+
   inherit (callPackages ../applications/networking/taler { })
     taler-exchange taler-merchant;
 
@@ -10131,6 +10278,8 @@ with pkgs;
 
   termplay = callPackage ../tools/misc/termplay { };
 
+  testEqualDerivation = callPackage ../build-support/test-equal-derivation.nix { };
+
   tetrd = callPackage ../applications/networking/tetrd { };
 
   tewisay = callPackage ../tools/misc/tewisay { };
@@ -10171,6 +10320,16 @@ with pkgs;
 
   inherit (nodePackages) thelounge;
 
+  theLoungePlugins = with lib; let
+    pkgs = filterAttrs (name: _: hasPrefix "thelounge-" name) nodePackages;
+    getPackagesWithPrefix = prefix: mapAttrs' (name: pkg: nameValuePair (removePrefix ("thelounge-" + prefix + "-") name) pkg)
+      (filterAttrs (name: _: hasPrefix ("thelounge-" + prefix + "-") name) pkgs);
+  in
+  recurseIntoAttrs {
+    plugins = recurseIntoAttrs (getPackagesWithPrefix "plugin");
+    themes = recurseIntoAttrs (getPackagesWithPrefix "theme");
+  };
+
   thefuck = python3Packages.callPackage ../tools/misc/thefuck { };
 
   thicket = callPackage ../applications/version-management/git-and-tools/thicket { };
@@ -10185,13 +10344,13 @@ with pkgs;
 
   tidy-viewer = callPackage ../tools/text/tidy-viewer { };
 
+  tile38 = callPackage ../servers/tile38 { };
+
   tiled = libsForQt5.callPackage ../applications/editors/tiled { };
 
   tiledb = callPackage ../development/libraries/tiledb { };
 
-  tilem = callPackage ../misc/emulators/tilem { };
-
-  tilp2 = callPackage ../applications/science/math/tilp2 { };
+  tilem = callPackage ../applications/emulators/tilem { };
 
   timemachine = callPackage ../applications/audio/timemachine { };
 
@@ -10199,7 +10358,7 @@ with pkgs;
 
   timetrap = callPackage ../applications/office/timetrap { };
 
-  timekeeper = callPackage ../applications/office/timekeeper { };
+  timetagger = callPackage ../servers/timetagger { };
 
   timezonemap = callPackage ../development/libraries/timezonemap { };
 
@@ -10215,9 +10374,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 { };
 
@@ -10378,6 +10537,8 @@ with pkgs;
 
   trytond = with python3Packages; toPythonApplication trytond;
 
+  tuntox = callPackage ../tools/networking/tuntox { };
+
   omapd = callPackage ../tools/security/omapd { };
 
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
@@ -10399,6 +10560,8 @@ with pkgs;
 
   ipbt = callPackage ../tools/misc/ipbt { };
 
+  tuhi = callPackage ../applications/misc/tuhi { };
+
   tuir = callPackage ../applications/misc/tuir { };
 
   tunnelto = callPackage ../tools/networking/tunnelto {
@@ -10493,8 +10656,6 @@ with pkgs;
 
   untrunc-anthwlock = callPackage ../tools/video/untrunc-anthwlock { };
 
-  unvanquished = callPackage ../games/unvanquished { };
-
   up = callPackage ../tools/misc/up { };
 
   upterm = callPackage ../tools/misc/upterm { };
@@ -10655,6 +10816,8 @@ with pkgs;
     SDL = SDL_sixel;
   };
 
+  witness = callPackage ../tools/security/witness { };
+
   openconnect = openconnect_gnutls;
 
   openconnect_openssl = callPackage ../tools/networking/openconnect {
@@ -10691,7 +10854,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) OpenCL;
   };
 
-  wakatime = pythonPackages.callPackage ../tools/misc/wakatime { };
+  wakatime = python2Packages.callPackage ../tools/misc/wakatime { };
 
   weather = callPackage ../applications/misc/weather { };
 
@@ -10747,6 +10910,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 { };
@@ -10779,7 +10946,9 @@ with pkgs;
 
   testdisk-qt = testdisk.override { enableQt = true; };
 
-  textql = callPackage ../development/tools/textql { };
+  textql = callPackage ../development/tools/textql {
+    buildGoPackage = buildGo116Package;
+  };
 
   html2text = callPackage ../tools/text/html2text { };
 
@@ -10835,10 +11004,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 { };
@@ -10905,8 +11070,6 @@ with pkgs;
 
   xbanish = callPackage ../tools/X11/xbanish { };
 
-  xbill = callPackage ../games/xbill { };
-
   xbrightness = callPackage ../tools/X11/xbrightness { };
 
   xdg-launch = callPackage ../applications/misc/xdg-launch { };
@@ -11128,8 +11291,6 @@ with pkgs;
   xfsprogs = callPackage ../tools/filesystems/xfsprogs { };
   libxfs = xfsprogs.dev;
 
-  xmage = callPackage ../games/xmage { };
-
   xml2 = callPackage ../tools/text/xml/xml2 { };
 
   xmldiff = python3Packages.callPackage ../tools/text/xml/xmldiff { };
@@ -11189,7 +11350,9 @@ with pkgs;
 
   yafaray-core = callPackage ../tools/graphics/yafaray-core { };
 
-  yajsv = callPackage ../tools/misc/yajsv { };
+  yajsv = callPackage ../tools/misc/yajsv {
+    buildGoModule = buildGo116Module;
+  };
 
   yallback = callPackage ../development/tools/analysis/yallback { };
 
@@ -11311,6 +11474,8 @@ with pkgs;
 
   zsh-history = callPackage ../shells/zsh/zsh-history { };
 
+  zsh-history-search-multi-word = callPackage ../shells/zsh/zsh-history-search-multi-word { };
+
   zsh-history-substring-search = callPackage ../shells/zsh/zsh-history-substring-search { };
 
   zsh-navigation-tools = callPackage ../tools/misc/zsh-navigation-tools { };
@@ -11437,6 +11602,8 @@ with pkgs;
 
   zsh-prezto = callPackage ../shells/zsh/zsh-prezto { };
 
+  yash = callPackage ../shells/yash { };
+
   grml-zsh-config = callPackage ../shells/zsh/grml-zsh-config { };
 
   powerline = with python3Packages; toPythonApplication powerline;
@@ -11583,8 +11750,6 @@ with pkgs;
     tex = texlive.combined.scheme-medium;
   };
 
-  asn1c = callPackage ../development/compilers/asn1c { };
-
   aspectj = callPackage ../development/compilers/aspectj { };
 
   atasm = callPackage ../development/compilers/atasm { };
@@ -11724,7 +11889,7 @@ with pkgs;
   copper = callPackage ../development/compilers/copper {};
 
   inherit (callPackages ../development/compilers/crystal {
-    llvmPackages = llvmPackages_10;
+    llvmPackages = if stdenv.system == "aarch64-darwin" then llvmPackages_11 else llvmPackages_10;
   })
     crystal_1_0
     crystal_1_1
@@ -11758,9 +11923,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 { };
 
@@ -12295,6 +12458,10 @@ with pkgs;
 
   remarkable2-toolchain = callPackage ../development/tools/misc/remarkable/remarkable2-toolchain { };
 
+  t-rex = callPackage ../servers/t-rex {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   tacacsplus = callPackage ../servers/tacacsplus { };
 
   tamarin-prover =
@@ -12332,21 +12499,21 @@ with pkgs;
 
   glslang = callPackage ../development/compilers/glslang { };
 
-  go_1_15 = callPackage ../development/compilers/go/1.15.nix ({
+  go_1_16 = callPackage ../development/compilers/go/1.16.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
   } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
     stdenv = gcc8Stdenv;
     buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
   });
 
-  go_1_16 = callPackage ../development/compilers/go/1.16.nix ({
+  go_1_17 = callPackage ../development/compilers/go/1.17.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
   } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
     stdenv = gcc8Stdenv;
     buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
   });
 
-  go_1_17 = callPackage ../development/compilers/go/1.17.nix ({
+  go_1_18 = callPackage ../development/compilers/go/1.18.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
   } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
     stdenv = gcc8Stdenv;
@@ -12360,7 +12527,7 @@ with pkgs;
     buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
   });
 
-  go = go_1_16;
+  go = go_1_17;
 
   go-repo-root = callPackage ../development/tools/go-repo-root { };
 
@@ -12390,6 +12557,10 @@ with pkgs;
 
   idris2 = callPackage ../development/compilers/idris2 { };
 
+  inherit (callPackage ../development/tools/database/indradb { })
+    indradb-server
+    indradb-client;
+
   intel-graphics-compiler = callPackage ../development/compilers/intel-graphics-compiler { };
 
   intercal = callPackage ../development/compilers/intercal { };
@@ -12406,8 +12577,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;
@@ -12463,6 +12634,8 @@ with pkgs;
 
   openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { };
 
+  lingua-franca = callPackage ../development/compilers/lingua-franca { };
+
   openspin = callPackage ../development/compilers/openspin { };
 
   oraclejdk = jdkdistro true false;
@@ -12502,7 +12675,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 {
@@ -12617,10 +12803,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
@@ -12852,7 +13035,6 @@ with pkgs;
   };
 
   pony-corral = callPackage ../development/compilers/ponyc/pony-corral.nix { };
-  pony-stable = callPackage ../development/compilers/ponyc/pony-stable.nix { };
 
   qbe = callPackage ../development/compilers/qbe { };
 
@@ -12898,18 +13080,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;
 
@@ -13086,6 +13268,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
   rust-analyzer = callPackage ../development/tools/rust/rust-analyzer/wrapper.nix { };
+  rust-bindgen-unwrapped = callPackage ../development/tools/rust/bindgen/unwrapped.nix { };
   rust-bindgen = callPackage ../development/tools/rust/bindgen { };
   rust-cbindgen = callPackage ../development/tools/rust/cbindgen {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -13226,6 +13409,8 @@ with pkgs;
 
   bupc = callPackage ../development/compilers/bupc { };
 
+  uasm = callPackage ../development/compilers/uasm { };
+
   urn = callPackage ../development/compilers/urn { };
 
   urweb = callPackage ../development/compilers/urweb {
@@ -13239,7 +13424,6 @@ with pkgs;
   vala-lint = callPackage ../development/tools/vala-lint { };
 
   inherit (callPackage ../development/compilers/vala { })
-    vala_0_40
     vala_0_48
     vala_0_52
     vala_0_54
@@ -13257,7 +13441,11 @@ with pkgs;
       # Others should instead delegate to the next stage's choice with
       # `targetPackages.stdenv.cc.bintools`. This one is different just to
       # provide the default choice, avoiding infinite recursion.
-      bintools ? if stdenv.targetPlatform.isDarwin then darwin.binutils else binutils
+      # See the bintools attribute for the logic and reasoning. We need to provide
+      # a default here, since eval will hit this function when bootstrapping
+      # stdenv where the bintools attribute doesn't exist, but will never actually
+      # be evaluated -- callPackage ends up being too eager.
+      bintools ? pkgs.bintools
     , libc ? bintools.libc
     , # libc++ from the default LLVM version is bound at the top level, but we
       # want the C++ library to be explicitly chosen by the caller, and null by
@@ -13308,6 +13496,7 @@ with pkgs;
   yosys = callPackage ../development/compilers/yosys { };
   yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { };
   yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { };
+  yosys-symbiflow = callPackage ../development/compilers/yosys/plugins/symbiflow.nix { };
 
   z88dk = callPackage ../development/compilers/z88dk { };
 
@@ -13468,12 +13657,18 @@ with pkgs;
 
   io = callPackage ../development/interpreters/io { };
 
+  ivy = callPackage ../development/interpreters/ivy { };
+
   j = callPackage ../development/interpreters/j {
     stdenv = clangStdenv;
   };
 
+  jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc921.jacinda;
+
   janet = callPackage ../development/interpreters/janet {};
 
+  jpm = callPackage ../development/interpreters/janet/jpm.nix {};
+
   jelly = callPackage ../development/interpreters/jelly {};
 
   jimtcl = callPackage ../development/interpreters/jimtcl {};
@@ -13513,11 +13708,8 @@ with pkgs;
 
   lolcode = callPackage ../development/interpreters/lolcode { };
 
-  love_0_7 = callPackage ../development/interpreters/love/0.7.nix { lua=lua5_1; };
-  love_0_8 = callPackage ../development/interpreters/love/0.8.nix { lua=lua5_1; };
-  love_0_9 = callPackage ../development/interpreters/love/0.9.nix { };
   love_0_10 = callPackage ../development/interpreters/love/0.10.nix { };
-  love_11 = callPackage ../development/interpreters/love/11.1.nix { };
+  love_11 = callPackage ../development/interpreters/love/11.nix { };
   love = love_0_10;
 
   wabt = callPackage ../development/tools/wabt { };
@@ -13568,8 +13760,12 @@ 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 { };
+
   octave = callPackage ../development/interpreters/octave {
     python = python3;
     mkDerivation = stdenv.mkDerivation;
@@ -13639,7 +13835,6 @@ with pkgs;
   # Python interpreters. All standard library modules are included except for tkinter, which is
   # available as `pythonPackages.tkinter` and can be used as any other Python package.
   # When switching these sets, please update docs at ../../doc/languages-frameworks/python.md
-  python = python2;
   python2 = python27;
   python3 = python39;
   pypy = pypy2;
@@ -13648,11 +13843,6 @@ with pkgs;
 
   # Python interpreter that is build with all modules, including tkinter.
   # These are for compatibility and should not be used inside Nixpkgs.
-  pythonFull = python.override {
-    self = pythonFull;
-    pythonAttr = "pythonFull";
-    x11Support = true;
-  };
   python2Full = python2.override {
     self = python2Full;
     pythonAttr = "python2Full";
@@ -13689,7 +13879,6 @@ with pkgs;
   };
 
   # pythonPackages further below, but assigned here because they need to be in sync
-  pythonPackages = python.pkgs;
   python2Packages = python2.pkgs;
   python3Packages = python3.pkgs;
 
@@ -13699,9 +13888,9 @@ with pkgs;
   # Python package sets.
   python27Packages = python27.pkgs;
   python37Packages = python37.pkgs;
-  python38Packages = recurseIntoAttrs python38.pkgs;
+  python38Packages = python38.pkgs;
   python39Packages = recurseIntoAttrs python39.pkgs;
-  python310Packages = python310.pkgs;
+  python310Packages = recurseIntoAttrs python310.pkgs;
   python311Packages = python311.pkgs;
   pypyPackages = pypy.pkgs;
   pypy2Packages = pypy2.pkgs;
@@ -13752,15 +13941,10 @@ with pkgs;
   pipewire = callPackage ../development/libraries/pipewire {};
   pipewire-media-session = callPackage ../development/libraries/pipewire/media-session.nix {};
   pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix {};
+  wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix {};
 
   pyradio = callPackage ../applications/audio/pyradio {};
 
-  pyrex = pyrex095;
-
-  pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
-
-  pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { };
-
   racket = callPackage ../development/interpreters/racket {
     # racket 6.11 doesn't build with gcc6 + recent glibc:
     # https://github.com/racket/racket/pull/1886
@@ -13793,8 +13977,6 @@ with pkgs;
 
   inherit (ocamlPackages) reason;
 
-  renpy = callPackage ../development/interpreters/renpy { };
-
   pixie = callPackage ../development/interpreters/pixie { };
   dust = callPackage ../development/interpreters/pixie/dust.nix { };
 
@@ -13828,7 +14010,8 @@ with pkgs;
     ruby_2_5
     ruby_2_6
     ruby_2_7
-    ruby_3_0;
+    ruby_3_0
+    ruby_3_1;
 
   ruby = ruby_2_7;
   rubyPackages = rubyPackages_2_7;
@@ -13843,6 +14026,7 @@ with pkgs;
   rubyPackages_2_6 = recurseIntoAttrs ruby_2_6.gems;
   rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems;
   rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems;
+  rubyPackages_3_1 = recurseIntoAttrs ruby_3_1.gems;
 
   ruby_1_9-gems = recurseIntoAttrs ruby_1_9.gems;
   ruby_2_0-gems = recurseIntoAttrs ruby_2_0.gems;
@@ -13870,7 +14054,6 @@ with pkgs;
 
   sparkleshare = callPackage ../applications/version-management/sparkleshare { };
 
-  spidermonkey_68 = callPackage ../development/interpreters/spidermonkey/68.nix { };
   spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix { };
   spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix { };
 
@@ -13897,6 +14080,7 @@ with pkgs;
 
   wasm3 = callPackage ../development/interpreters/wasm3 { };
 
+  yex-lang = callPackage ../development/interpreters/yex-lang { };
 
   ### DEVELOPMENT / MISC
 
@@ -13945,12 +14129,6 @@ with pkgs;
 
   guile-git = callPackage ../development/guile-modules/guile-git { };
 
-  guile-gnome = callPackage ../development/guile-modules/guile-gnome {
-    gconf = gnome2.GConf;
-    guile = guile_2_0;
-    inherit (gnome2) gnome_vfs libglade libgnome libgnomecanvas libgnomeui;
-  };
-
   guile-json = callPackage ../development/guile-modules/guile-json { };
 
   guile-lib = callPackage ../development/guile-modules/guile-lib { };
@@ -13994,7 +14172,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 {};
 
@@ -14111,12 +14289,6 @@ with pkgs;
 
   inherit (callPackages ../development/tools/electron { })
     electron
-    electron_3
-    electron_4
-    electron_5
-    electron_6
-    electron_7
-    electron_8
     electron_9
     electron_10
     electron_11
@@ -14124,7 +14296,8 @@ with pkgs;
     electron_13
     electron_14
     electron_15
-    electron_16;
+    electron_16
+    electron_17;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
@@ -14210,6 +14383,15 @@ with pkgs;
     bazel_self = bazel_4;
   };
 
+  bazel_5 = callPackage ../development/tools/build-managers/bazel/bazel_5 {
+    inherit (darwin) cctools;
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
+    buildJdk = jdk11_headless;
+    runJdk = jdk11_headless;
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+    bazel_self = bazel_5;
+  };
+
   bazel-buildtools = callPackage ../development/tools/build-managers/bazel/buildtools { };
   buildifier = bazel-buildtools;
   buildozer = bazel-buildtools;
@@ -14229,15 +14411,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;
-  };
-
-  bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { };
+  bear = callPackage ../development/tools/build-managers/bear { };
 
   bingrep = callPackage ../development/tools/analysis/bingrep { };
 
@@ -14304,6 +14478,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 {
@@ -14412,11 +14588,13 @@ with pkgs;
 
   cfr = callPackage ../development/tools/java/cfr { };
 
+  cfripper = callPackage ../tools/security/cfripper { };
+
   checkra1n = callPackage ../development/mobile/checkra1n { };
 
   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 { };
 
@@ -14458,9 +14636,9 @@ with pkgs;
 
   ctodo = callPackage ../applications/misc/ctodo { };
 
-  ctmg = callPackage ../tools/security/ctmg { };
+  cubiomes-viewer = libsForQt5.callPackage ../applications/misc/cubiomes-viewer { };
 
-  cmake_2_8 = callPackage ../development/tools/build-managers/cmake/2.8.nix { };
+  ctmg = callPackage ../tools/security/ctmg { };
 
   cmake = libsForQt5.callPackage ../development/tools/build-managers/cmake {
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
@@ -14555,9 +14733,12 @@ with pkgs;
 
   libstdcxx5 = callPackage ../development/libraries/gcc/libstdc++/5.nix { };
 
-  libsigrok = callPackage ../development/tools/libsigrok { };
+  libsigrok = callPackage ../development/tools/libsigrok {
+    python = python3;
+  };
   # old version:
   libsigrok_0_3 = libsigrok.override {
+    python = python3;
     version = "0.3.0";
     sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3";
     doInstallCheck = false;
@@ -14652,6 +14833,8 @@ with pkgs;
 
   drush = callPackage ../development/tools/misc/drush { };
 
+  dura = callPackage ../development/tools/misc/dura { };
+
   dwfv = callPackage ../applications/science/electronics/dwfv { };
 
   dwz = callPackage ../development/tools/misc/dwz { };
@@ -14672,6 +14855,8 @@ with pkgs;
 
   egypt = callPackage ../development/tools/analysis/egypt { };
 
+  elf2uf2-rs = callPackage ../development/embedded/elf2uf2-rs { };
+
   elfinfo = callPackage ../development/tools/misc/elfinfo { };
 
   elfkickers = callPackage ../development/tools/misc/elfkickers { };
@@ -14682,6 +14867,8 @@ with pkgs;
 
   emma = callPackage ../development/tools/analysis/emma { };
 
+  ent-go = callPackage ../development/tools/ent { };
+
   epm = callPackage ../development/tools/misc/epm { };
 
   eresi = callPackage ../development/tools/analysis/eresi { };
@@ -14690,9 +14877,20 @@ with pkgs;
 
   eweb = callPackage ../development/tools/literate-programming/eweb { };
 
-  eztrace = callPackage ../development/tools/profiling/EZTrace { };
+  funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
-  ezquake = callPackage ../games/ezquake { };
+  Literate = callPackage ../development/tools/literate-programming/Literate { };
+
+  md-tangle = callPackage ../development/tools/literate-programming/md-tangle { };
+
+  # NOTE: Override and set useIcon = false to use Awk instead of Icon.
+  noweb = callPackage ../development/tools/literate-programming/noweb { };
+
+  nuweb = callPackage ../development/tools/literate-programming/nuweb {
+    tex = texlive.combined.scheme-medium;
+  };
+
+  eztrace = callPackage ../development/tools/profiling/EZTrace { };
 
   faas-cli = callPackage ../development/tools/faas-cli { };
 
@@ -14740,8 +14938,6 @@ with pkgs;
 
   fundoc = callPackage ../development/tools/fundoc { };
 
-  funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
-
   gede = libsForQt5.callPackage ../development/tools/misc/gede { };
 
   gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { };
@@ -14789,8 +14985,6 @@ with pkgs;
 
   gnome-firmware-updater = callPackage ../applications/misc/gnome-firmware-updater {};
 
-  gnome-hexgl = callPackage ../games/gnome-hexgl {};
-
   gnome-usage = callPackage ../applications/misc/gnome-usage {};
 
   gnome-inform7 = callPackage ../applications/editors/gnome-inform7 { };
@@ -14881,6 +15075,8 @@ with pkgs;
 
   ccloud-cli = callPackage ../development/tools/ccloud-cli { };
 
+  confluent-cli = callPackage ../development/tools/confluent-cli { };
+
   htmlunit-driver = callPackage ../development/tools/selenium/htmlunit-driver { };
 
   hyenae = callPackage ../tools/networking/hyenae { };
@@ -14907,8 +15103,6 @@ with pkgs;
 
   indent = callPackage ../development/tools/misc/indent { };
 
-  ino = callPackage ../development/embedded/arduino/ino { };
-
   inotify-tools = callPackage ../development/tools/misc/inotify-tools { };
 
   intel-gpu-tools = callPackage ../development/tools/misc/intel-gpu-tools { };
@@ -14921,6 +15115,8 @@ with pkgs;
 
   jam = callPackage ../development/tools/build-managers/jam { };
 
+  ftjam = callPackage ../development/tools/build-managers/jam/ftjam.nix { };
+
   javacc = callPackage ../development/tools/parsing/javacc {
     jdk = jdk8;
   };
@@ -14937,10 +15133,6 @@ with pkgs;
 
   jpexs = callPackage ../development/tools/jpexs { };
 
-  julius = callPackage ../games/julius { };
-
-  augustus = callPackage ../games/augustus { };
-
   k0sctl = callPackage ../applications/networking/cluster/k0sctl { };
 
   k2tf = callPackage ../development/tools/misc/k2tf { };
@@ -14981,6 +15173,8 @@ with pkgs;
 
   kubectx = callPackage ../development/tools/kubectx { };
 
+  kube-linter = callPackage ../development/tools/kube-linter { };
+
   kube-prompt = callPackage ../development/tools/kube-prompt { };
 
   kubei = callPackage ../tools/security/kubei { };
@@ -15015,8 +15209,6 @@ with pkgs;
 
   laminar = callPackage ../development/tools/continuous-integration/laminar { };
 
-  Literate = callPackage ../development/tools/literate-programming/Literate {};
-
   lcov = callPackage ../development/tools/analysis/lcov { };
 
   leiningen = callPackage ../development/tools/build-managers/leiningen { };
@@ -15086,7 +15278,7 @@ with pkgs;
 
   mkcert = callPackage ../development/tools/misc/mkcert { };
 
-  mkdocs = callPackage ../development/tools/documentation/mkdocs { };
+  mkdocs = with python3Packages; toPythonApplication mkdocs;
 
   mmtf-cpp = callPackage ../development/libraries/science/chemistry/mmtf-cpp { };
 
@@ -15135,12 +15327,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;
   };
 
@@ -15149,11 +15338,6 @@ with pkgs;
     gconf = gnome2.GConf;
   };
 
-  # NOTE: Override and set useIcon = false to use Awk instead of Icon.
-  noweb = callPackage ../development/tools/literate-programming/noweb { };
-
-  nuweb = callPackage ../development/tools/literate-programming/nuweb { tex = texlive.combined.scheme-medium; };
-
   nrfutil = callPackage ../development/tools/misc/nrfutil { };
 
   obelisk = callPackage ../development/tools/ocaml/obelisk { };
@@ -15199,8 +15383,6 @@ with pkgs;
 
   pgcli = pkgs.python3Packages.pgcli;
 
-  phantomjs = callPackage ../development/tools/phantomjs { };
-
   phantomjs2 = libsForQt514.callPackage ../development/tools/phantomjs2 { };
 
   picotool = callPackage ../development/tools/picotool { };
@@ -15280,7 +15462,6 @@ with pkgs;
   r10k = callPackage ../tools/system/r10k { };
 
   radare2 = callPackage ../development/tools/analysis/radare2 ({
-    inherit (gnome2) vte;
     lua = lua5;
   } // (config.radare or {}));
 
@@ -15469,7 +15650,7 @@ with pkgs;
 
   spooles = callPackage ../development/libraries/science/math/spooles {};
 
-  spruce = callPackage ../development/tools/misc/spruce { };
+  spruce = callPackage ../development/tools/misc/spruce {};
 
   sqlcheck = callPackage ../development/tools/database/sqlcheck { };
 
@@ -15518,9 +15699,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 { };
 
@@ -15600,7 +15779,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 { };
 
@@ -15608,7 +15789,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation;
   };
 
-  uddup = python3Packages.callPackage ../tools/security/uddup { };
+  uddup = callPackage ../tools/security/uddup { };
 
   udis86 = callPackage  ../development/tools/udis86 { };
 
@@ -15735,13 +15916,17 @@ with pkgs;
 
   nsis = callPackage ../development/tools/nsis { };
 
+  tockloader = callPackage ../development/tools/misc/tockloader { };
+
   ### DEVELOPMENT / LIBRARIES
 
   a52dec = callPackage ../development/libraries/a52dec { };
 
   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 { };
 
@@ -15791,11 +15976,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;
@@ -16276,7 +16457,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 {};
 
@@ -16292,6 +16473,14 @@ with pkgs;
 
   eigen2 = callPackage ../development/libraries/eigen/2.0.nix {};
 
+  vapoursynth = callPackage ../development/libraries/vapoursynth {
+    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
+  };
+
+  vapoursynth-editor = libsForQt5.callPackage ../development/libraries/vapoursynth/editor.nix { };
+
+  vapoursynth-mvtools = callPackage ../development/libraries/vapoursynth-mvtools { };
+
   vmmlib = callPackage ../development/libraries/vmmlib {
     inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo;
   };
@@ -16336,6 +16525,7 @@ with pkgs;
 
   far2l = callPackage ../applications/misc/far2l {
     stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+    inherit (darwin.apple_sdk.frameworks) IOKit Carbon Cocoa AudioToolbox OpenGL;
   };
 
   farbfeld = callPackage ../development/libraries/farbfeld { };
@@ -16367,11 +16557,16 @@ with pkgs;
   ffmpeg_4 = callPackage ../development/libraries/ffmpeg/4.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia VideoToolbox;
   };
+  ffmpeg_5 = callPackage ../development/libraries/ffmpeg/5.nix {
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia VideoToolbox;
+  };
 
   # Aliases
   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 {
@@ -16506,10 +16701,7 @@ with pkgs;
 
   ganv = callPackage ../development/libraries/ganv { };
 
-  garble = callPackage ../build-support/go/garble.nix {
-    # https://github.com/burrowers/garble/issues/124
-    buildGoModule = buildGo115Module;
-  };
+  garble = callPackage ../build-support/go/garble.nix { };
 
   gcab = callPackage ../development/libraries/gcab { };
 
@@ -16582,8 +16774,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 { };
@@ -16602,32 +16792,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 { };
@@ -16644,10 +16821,10 @@ with pkgs;
   glew110 = callPackage ../development/libraries/glew/1.10.nix {
     inherit (darwin.apple_sdk.frameworks) AGL OpenGL;
   };
-  glew-egl = glew.overrideAttrs (oldAttrs: {
-    pname = "glew-egl";
-    makeFlags = oldAttrs.makeFlags ++ [ "SYSTEM=linux-egl" ];
-  });
+  glew-egl = callPackage ../development/libraries/glew {
+    inherit (darwin.apple_sdk.frameworks) OpenGL;
+    enableEGL = true;
+  };
 
   glfw = glfw3;
   glfw-wayland = glfw.override {
@@ -16814,14 +16991,10 @@ with pkgs;
 
   gflags = callPackage ../development/libraries/gflags { };
 
-  gfm = callPackage ../applications/science/math/gfm { };
-
   gperftools = callPackage ../development/libraries/gperftools { };
 
   grab-site = callPackage ../tools/backup/grab-site { };
 
-  grib-api = callPackage ../development/libraries/grib-api { };
-
   grilo = callPackage ../development/libraries/grilo { };
 
   grilo-plugins = callPackage ../development/libraries/grilo-plugins { };
@@ -16872,8 +17045,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 { };
@@ -16964,8 +17135,6 @@ with pkgs;
 
   gdk-pixbuf-xlib = callPackage ../development/libraries/gdk-pixbuf/xlib.nix { };
 
-  gnome-sharp = callPackage ../development/libraries/gnome-sharp { };
-
   gnome-menus = callPackage ../development/libraries/gnome-menus { };
 
   elementary-cmake-modules = callPackage ../development/libraries/elementary-cmake-modules { };
@@ -16983,7 +17152,7 @@ with pkgs;
   gtkextra = callPackage ../development/libraries/gtkextra { };
 
   gtk3 = callPackage ../development/libraries/gtk/3.x.nix {
-    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
+    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa QuartzCore;
   };
 
   gtk4 = callPackage ../development/libraries/gtk/4.x.nix {
@@ -17008,17 +17177,9 @@ with pkgs;
 
   gtk-engine-murrine = callPackage ../development/libraries/gtk-engine-murrine { };
 
-  gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix {
-    inherit (gnome2) libglade libgtkhtml gtkhtml
-              libgnomecanvas libgnomeui libgnomeprint
-              libgnomeprintui GConf;
-  };
+  gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix { };
 
-  gtk-sharp-3_0 = callPackage ../development/libraries/gtk-sharp/3.0.nix {
-    inherit (gnome2) libglade libgtkhtml gtkhtml
-              libgnomecanvas libgnomeui libgnomeprint
-              libgnomeprintui GConf;
-  };
+  gtk-sharp-3_0 = callPackage ../development/libraries/gtk-sharp/3.0.nix { };
 
   gtk-sharp-beans = callPackage ../development/libraries/gtk-sharp-beans { };
 
@@ -17095,9 +17256,9 @@ with pkgs;
   herqq = libsForQt5.callPackage ../development/libraries/herqq { };
 
   hidapi = callPackage ../development/libraries/hidapi {
+    inherit (darwin.apple_sdk.frameworks) Cocoa IOKit;
     # TODO: remove once `udev` is `systemdMinimal` everywhere.
     udev = systemdMinimal;
-    autoreconfHook = buildPackages.autoreconfHook269;
   };
 
   highfive = callPackage ../development/libraries/highfive { };
@@ -17254,6 +17415,8 @@ with pkgs;
   indicator-application-gtk2 = callPackage ../development/libraries/indicator-application/gtk2.nix { };
   indicator-application-gtk3 = callPackage ../development/libraries/indicator-application/gtk3.nix { };
 
+  indicator-sound-switcher = callPackage ../applications/audio/indicator-sound-switcher { };
+
   indilib = callPackage ../development/libraries/science/astronomy/indilib { };
   indi-full = callPackage ../development/libraries/science/astronomy/indilib/indi-full.nix { };
 
@@ -17282,11 +17445,12 @@ 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 { };
+  isso = callPackage ../servers/isso {
+    nodejs = nodejs-14_x;
+  };
 
   itk4 = callPackage ../development/libraries/itk/4.x.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
@@ -17806,8 +17970,6 @@ with pkgs;
 
   libgringotts = callPackage ../development/libraries/libgringotts { };
 
-  libgroove = callPackage ../development/libraries/libgroove { };
-
   libgrss = callPackage ../development/libraries/libgrss { };
 
   libgweather = callPackage ../development/libraries/libgweather { };
@@ -17822,9 +17984,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 { };
 
@@ -17899,6 +18059,9 @@ with pkgs;
   libffcall = callPackage ../development/libraries/libffcall { };
 
   libffi = callPackage ../development/libraries/libffi { };
+  libffiBoot = libffi.override {
+    doCheck = false;
+  };
 
   libfreeaptx = callPackage ../development/libraries/libfreeaptx { };
 
@@ -17920,8 +18083,6 @@ with pkgs;
       inherit (darwin.apple_sdk.frameworks) Carbon;
   };
 
-  libgksu = callPackage ../development/libraries/libgksu { };
-
   libgnt = callPackage ../development/libraries/libgnt { };
 
   libgpg-error = callPackage ../development/libraries/libgpg-error { };
@@ -17965,6 +18126,8 @@ with pkgs;
 
   libhugetlbfs = callPackage ../development/libraries/libhugetlbfs { };
 
+  libhwy = callPackage ../development/libraries/libhwy { };
+
   libHX = callPackage ../development/libraries/libHX { };
 
   libibmad = callPackage ../development/libraries/libibmad { };
@@ -18193,6 +18356,8 @@ with pkgs;
 
   libmad = callPackage ../development/libraries/libmad { };
 
+  llama = callPackage ../applications/misc/llama { };
+
   malcontent = callPackage ../development/libraries/malcontent { };
 
   malcontent-ui = callPackage ../development/libraries/malcontent/ui.nix { };
@@ -18231,7 +18396,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 { };
 
@@ -18384,6 +18549,8 @@ with pkgs;
 
   libpst = callPackage ../development/libraries/libpst { };
 
+  libptytty = callPackage ../development/libraries/libptytty { };
+
   libpwquality = callPackage ../development/libraries/libpwquality { };
 
   libqalculate = callPackage ../development/libraries/libqalculate {
@@ -18487,9 +18654,7 @@ with pkgs;
 
   libtiff = if stdenv.isDarwin && stdenv.isAarch64
     then callPackage ../development/libraries/libtiff/aarch64-darwin.nix { }
-    else callPackage ../development/libraries/libtiff {
-      inherit (darwin.apple_sdk.frameworks) Cocoa GLUT;
-    };
+    else callPackage ../development/libraries/libtiff { };
 
   libtiger = callPackage ../development/libraries/libtiger { };
 
@@ -18536,6 +18701,8 @@ with pkgs;
 
   libudev-zero = callPackage ../development/libraries/libudev-zero { };
 
+  libudfread = callPackage ../development/libraries/libudfread { };
+
   libuecc = callPackage ../development/libraries/libuecc { };
 
   libui = callPackage ../development/libraries/libui {
@@ -18574,6 +18741,8 @@ with pkgs;
     udev = systemdMinimal;
   };
 
+  libusbgx = callPackage ../development/libraries/libusbgx { };
+
   libusbmuxd = callPackage ../development/libraries/libusbmuxd { };
 
   libutempter = callPackage ../development/libraries/libutempter { };
@@ -18702,7 +18871,9 @@ with pkgs;
 
   libxmp = callPackage ../development/libraries/libxmp { };
 
-  libxslt = callPackage ../development/libraries/libxslt { };
+  libxslt = callPackage ../development/libraries/libxslt {
+    python = python3;
+  };
 
   libxsmm = callPackage ../development/libraries/libxsmm { };
 
@@ -18718,6 +18889,8 @@ with pkgs;
 
   libyamlcpp_0_3 = callPackage ../development/libraries/libyaml-cpp/0.3.0.nix { };
 
+  libyang = callPackage ../development/libraries/libyang { };
+
   libcyaml = callPackage ../development/libraries/libcyaml { };
 
   rang = callPackage ../development/libraries/rang { };
@@ -18960,9 +19133,7 @@ with pkgs;
     ogre = ogre1_9;
   };
 
-  mysocketw = callPackage ../development/libraries/mysocketw {
-    openssl = openssl_1_0_2;
-  };
+  mysocketw = callPackage ../development/libraries/mysocketw { };
 
   mythes = callPackage ../development/libraries/mythes { };
 
@@ -18972,6 +19143,8 @@ with pkgs;
 
   nanovna-saver = libsForQt5.callPackage ../applications/science/electronics/nanovna-saver { };
 
+  ncnn = callPackage ../development/libraries/ncnn { };
+
   ndpi = callPackage ../development/libraries/ndpi { };
 
   nemo-qml-plugin-dbus = libsForQt5.callPackage ../development/libraries/nemo-qml-plugin-dbus { };
@@ -19001,10 +19174,6 @@ with pkgs;
 
   neon = callPackage ../development/libraries/neon { };
 
-  neon_0_29 = callPackage ../development/libraries/neon/0.29.nix {
-    openssl = openssl_1_0_2;
-  };
-
   nettle = import ../development/libraries/nettle { inherit callPackage fetchurl; };
 
   newman = callPackage ../development/web/newman {};
@@ -19089,6 +19258,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 { };
@@ -19130,7 +19301,9 @@ with pkgs;
 
   openbabel2 = callPackage ../development/libraries/openbabel/2.nix { };
 
-  openbabel3 = callPackage ../development/libraries/openbabel { };
+  openbabel3 = callPackage ../development/libraries/openbabel {
+    python = python3;
+  };
 
   opencascade = callPackage ../development/libraries/opencascade {
     inherit (darwin.apple_sdk.frameworks) OpenCL Cocoa;
@@ -19154,10 +19327,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 {
@@ -19167,6 +19342,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;
@@ -19235,6 +19411,8 @@ with pkgs;
 
   opensubdiv = callPackage ../development/libraries/opensubdiv { };
 
+  opensupaplex = callPackage ../games/opensupaplex { };
+
   open-wbo = callPackage ../applications/science/logic/open-wbo {};
 
   openwsman = callPackage ../development/libraries/openwsman {};
@@ -19243,8 +19421,6 @@ with pkgs;
 
   openhmd = callPackage ../development/libraries/openhmd { };
 
-  openrct2 = callPackage ../games/openrct2 { };
-
   openwebrx = callPackage ../applications/radio/openwebrx {
     inherit (python3Packages)
     buildPythonPackage buildPythonApplication setuptools;
@@ -19265,8 +19441,6 @@ with pkgs;
 
   paperkey = callPackage ../tools/security/paperkey { };
 
-  pangoxsl = callPackage ../development/libraries/pangoxsl { };
-
   pcaudiolib = callPackage ../development/libraries/pcaudiolib { };
 
   pcg_c = callPackage ../development/libraries/pcg-c { };
@@ -19569,10 +19743,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 { };
@@ -19666,6 +19836,8 @@ with pkgs;
 
   rubberband = callPackage ../development/libraries/rubberband { };
 
+  rure = callPackage ../development/libraries/rure { };
+
   rustc-demangle = callPackage ../development/libraries/rustc-demangle { };
 
   s2geometry = callPackage ../development/libraries/s2geometry { };
@@ -19731,6 +19903,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 {};
@@ -19786,6 +19960,8 @@ with pkgs;
 
   skaffold = callPackage ../development/tools/skaffold { };
 
+  skjold = callPackage ../development/tools/skjold { };
+
   skalibs = skawarePackages.skalibs;
   skalibs_2_10 = skawarePackages.skalibs_2_10;
 
@@ -20016,7 +20192,7 @@ with pkgs;
 
   subdl = callPackage ../applications/video/subdl { };
 
-  subtitleeditor = callPackage ../applications/video/subtitleeditor { enchant = enchant1; };
+  subtitleeditor = callPackage ../applications/video/subtitleeditor { };
 
   suil = callPackage ../development/libraries/audio/suil { };
 
@@ -20150,9 +20326,7 @@ with pkgs;
 
   triehash = callPackage ../tools/misc/triehash { };
 
-  trillian = callPackage ../tools/misc/trillian {
-    buildGoModule = buildGo115Module;
-  };
+  trillian = callPackage ../tools/misc/trillian { };
 
   twolame = callPackage ../development/libraries/twolame { };
 
@@ -20203,17 +20377,9 @@ with pkgs;
     gnutls = gnutls;
   });
 
-  v8_5_x = callPackage ../development/libraries/v8/5_x.nix ({
-    inherit (python2Packages) python gyp;
-    icu = icu58; # v8-5.4.232 fails against icu4c-59.1
-  } // lib.optionalAttrs stdenv.isLinux {
-    # doesn't build with gcc7
-    stdenv = gcc6Stdenv;
-  });
+  v8 = callPackage ../development/libraries/v8 { };
 
-  v8 = callPackage ../development/libraries/v8 {
-    inherit (python2Packages) python;
-  };
+  v8_8_x = callPackage ../development/libraries/v8/8_x.nix { };
 
   vaapiIntel = callPackage ../development/libraries/vaapi-intel { };
 
@@ -20293,7 +20459,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 { };
@@ -20331,7 +20497,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 { };
 
@@ -20355,21 +20524,14 @@ with pkgs;
 
   wxGTK28 = callPackage ../development/libraries/wxwidgets/2.8 { };
 
-  wxGTK29 = callPackage ../development/libraries/wxwidgets/2.9 {
-    inherit (darwin.stubs) setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime;
-  };
+  wxGTK29 = callPackage ../development/libraries/wxwidgets/2.9 { };
 
   wxGTK30-gtk2 = callPackage ../development/libraries/wxwidgets/3.0 {
     withGtk2 = true;
-    inherit (darwin.stubs) setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
   };
 
   wxGTK30-gtk3 = callPackage ../development/libraries/wxwidgets/3.0 {
     withGtk2 = false;
-    inherit (darwin.stubs) setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
   };
 
   wxGTK31-gtk2 = callPackage ../development/libraries/wxwidgets/3.1 {
@@ -20384,10 +20546,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;
@@ -20586,10 +20745,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
   };
@@ -20632,39 +20787,29 @@ with pkgs;
 
   ### DEVELOPMENT / GO MODULES
 
-  buildGo115Package = callPackage ../development/go-packages/generic {
-    go = buildPackages.go_1_15;
-  };
   buildGo116Package = callPackage ../development/go-packages/generic {
     go = buildPackages.go_1_16;
   };
-  # go_1_17 has go module changes which may not be portable
-  # across different go versions and/or platforms:
-  # https://github.com/NixOS/nixpkgs/issues/144667
-  #
-  # That's why `buildGoPackage != buildGo117Package`.
   buildGo117Package = callPackage ../development/go-packages/generic {
     go = buildPackages.go_1_17;
   };
+  buildGo118Package = callPackage ../development/go-packages/generic {
+    go = buildPackages.go_1_18;
+  };
 
-  buildGoPackage = buildGo116Package;
+  buildGoPackage = buildGo117Package;
 
-  buildGo115Module = callPackage ../development/go-modules/generic {
-    go = buildPackages.go_1_15;
-  };
   buildGo116Module = callPackage ../development/go-modules/generic {
     go = buildPackages.go_1_16;
   };
-  # go_1_17 has go module changes which may not be portable
-  # across different go versions and/or platforms:
-  # https://github.com/NixOS/nixpkgs/issues/144667
-  #
-  # That's why `buildGoModule != buildGo117Module`.
   buildGo117Module = callPackage ../development/go-modules/generic {
     go = buildPackages.go_1_17;
   };
+  buildGo118Module = callPackage ../development/go-modules/generic {
+    go = buildPackages.go_1_18;
+  };
 
-  buildGoModule = buildGo116Module;
+  buildGoModule = buildGo117Module;
 
   go2nix = callPackage ../development/tools/go2nix { };
 
@@ -20770,6 +20915,8 @@ with pkgs;
     packages = [];
   };
 
+  rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; };
+
   rPackages = dontRecurseIntoAttrs (callPackage ../development/r-modules {
     overrides = (config.rPackageOverrides or (_: {})) pkgs;
   });
@@ -20784,6 +20931,8 @@ with pkgs;
 
   alerta-server = callPackage ../servers/monitoring/alerta { };
 
+  alps = callPackage ../servers/alps { };
+
   apacheHttpd_2_4 = callPackage ../servers/http/apache-httpd/2.4.nix { };
   apacheHttpd = apacheHttpd_2_4;
 
@@ -20796,6 +20945,7 @@ with pkgs;
     mod_ca = callPackage ../servers/http/apache-modules/mod_ca { };
     mod_crl = callPackage ../servers/http/apache-modules/mod_crl { };
     mod_csr = callPackage ../servers/http/apache-modules/mod_csr { };
+    mod_cspnonce = callPackage ../servers/http/apache-modules/mod_cspnonce { };
     mod_ocsp = callPackage ../servers/http/apache-modules/mod_ocsp{ };
     mod_scep = callPackage ../servers/http/apache-modules/mod_scep { };
     mod_pkcs12 = callPackage ../servers/http/apache-modules/mod_pkcs12 { };
@@ -20903,6 +21053,8 @@ with pkgs;
     erlang = erlangR22;
   };
 
+  dcnnt = python3Packages.callPackage ../servers/dcnnt { };
+
   dendrite = callPackage ../servers/dendrite { };
 
   dex-oidc = callPackage ../servers/dex { };
@@ -20946,13 +21098,16 @@ with pkgs;
   engelsystem = callPackage ../servers/web-apps/engelsystem { php = php74; };
 
   envoy = callPackage ../servers/http/envoy {
-    go = go_1_15;
     jdk = openjdk11;
     gn = gn1924;
   };
 
-  etcd = callPackage ../servers/etcd { };
+  ergochat = callPackage ../servers/irc/ergochat { };
+
+  etcd = etcd_3_3;
+  etcd_3_3 = callPackage ../servers/etcd/3.3.nix { };
   etcd_3_4 = callPackage ../servers/etcd/3.4.nix { };
+  etcd_3_5 = callPackage ../servers/etcd/3.5.nix { };
 
   ejabberd = callPackage ../servers/xmpp/ejabberd { };
 
@@ -20966,8 +21121,11 @@ 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 { };
+
   biboumi = callPackage ../servers/xmpp/biboumi { };
 
   elasticmq-server-bin = callPackage ../servers/elasticmq-server-bin {
@@ -21018,9 +21176,13 @@ with pkgs;
 
   grafana-agent = callPackage ../servers/monitoring/grafana-agent { };
 
-  grafana-loki = callPackage ../servers/monitoring/loki {
-    buildGoModule = buildGo116Module;
-  };
+  grafana-loki = callPackage ../servers/monitoring/loki { };
+
+  promtail = grafana-loki.overrideAttrs (o: {
+    pname = "promtail";
+    subPackages = ["clients/cmd/promtail"];
+    CGO_ENABLED = 1;
+  });
 
   grafana_reporter = callPackage ../servers/monitoring/grafana-reporter { };
 
@@ -21056,6 +21218,8 @@ with pkgs;
 
   home-assistant-cli = callPackage ../servers/home-assistant/cli.nix { };
 
+  home-assistant-component-tests = recurseIntoAttrs home-assistant.tests.components;
+
   hqplayerd = callPackage ../servers/hqplayerd { };
 
   https-dns-proxy = callPackage ../servers/dns/https-dns-proxy { };
@@ -21150,7 +21314,7 @@ with pkgs;
     };
   };
 
-  mailman-rss = callPackage ../development/python-modules/mailman-rss { };
+  mailman-rss = callPackage ../tools/misc/mailman-rss { };
 
   mailman-web = with python3.pkgs; toPythonApplication mailman-web;
 
@@ -21169,16 +21333,12 @@ 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 { };
 
   mbtileserver = callPackage ../servers/mbtileserver { };
 
-  mediatomb = callPackage ../servers/mediatomb { };
-
   memcached = callPackage ../servers/memcached {};
 
   meteor = callPackage ../servers/meteor { };
@@ -21204,7 +21364,6 @@ with pkgs;
   mod_timestamp = apacheHttpdPackages.mod_timestamp;
 
   inherit (callPackages ../servers/mpd {
-    stdenv = if stdenv.cc.isClang then llvmPackages_8.stdenv else stdenv;
     inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit;
   }) mpd mpd-small mpdWithFeatures;
 
@@ -21230,10 +21389,21 @@ with pkgs;
 
   mullvad-vpn = callPackage ../applications/networking/mullvad-vpn { };
 
-  mycorrhiza = callPackage ../servers/mycorrhiza { };
+  mycorrhiza = callPackage ../servers/mycorrhiza {
+    buildGoModule = buildGo116Module;
+  };
 
   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 { };
@@ -21246,7 +21416,9 @@ with pkgs;
 
   unit = callPackage ../servers/http/unit { };
 
-  ncdns = callPackage ../servers/dns/ncdns { };
+  ncdns = callPackage ../servers/dns/ncdns {
+    buildGoModule = buildGo116Module;
+  };
 
   nginx = nginxStable;
 
@@ -21370,7 +21542,6 @@ with pkgs;
   };
 
   pulseaudio = callPackage ../servers/pulseaudio ({
-    inherit (darwin) Libc;
     inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
   } // lib.optionalAttrs stdenv.isDarwin {
     # Default autoreconfHook (2.70) fails on darwin,
@@ -21406,9 +21577,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;
@@ -21439,10 +21608,17 @@ with pkgs;
     asio = asio_1_10;
   };
 
-  mariadb = callPackage ../servers/sql/mariadb {
+  inherit (callPackage ../servers/sql/mariadb {
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
-  };
+  })
+    mariadb_104
+    mariadb_105
+    mariadb_106
+    mariadb_107
+    mariadb_108
+  ;
+  mariadb = mariadb_106;
 
   mongodb = hiPrio mongodb-3_4;
 
@@ -21484,12 +21660,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.
@@ -21568,9 +21740,7 @@ with pkgs;
 
   openfire = callPackage ../servers/xmpp/openfire { };
 
-  softether_4_25 = callPackage ../servers/softether/4.25.nix { openssl = openssl_1_0_2; };
-  softether_4_29 = callPackage ../servers/softether/4.29.nix { };
-  softether = softether_4_29;
+  softether = callPackage ../servers/softether { };
 
   qboot = pkgsi686Linux.callPackage ../applications/virtualization/qboot { };
 
@@ -21700,7 +21870,7 @@ with pkgs;
 
   qpid-cpp = callPackage ../servers/amqp/qpid-cpp {
     boost = boost155;
-    inherit (pythonPackages) buildPythonPackage qpid-python;
+    inherit (python2Packages) buildPythonPackage qpid-python;
   };
 
   qremotecontrol-server = callPackage ../servers/misc/qremotecontrol-server { };
@@ -21776,7 +21946,9 @@ with pkgs;
 
   sambaFull = samba4Full;
 
-  sampler = callPackage ../applications/misc/sampler { };
+  sampler = callPackage ../applications/misc/sampler {
+    buildGoModule = buildGo116Module;
+  };
 
   shairplay = callPackage ../servers/shairplay { avahi = avahi-compat; };
 
@@ -21808,8 +21980,6 @@ with pkgs;
 
   sickgear = callPackage ../servers/sickbeard/sickgear.nix { };
 
-  sigurlx = callPackage ../tools/security/sigurlx { };
-
   sipwitch = callPackage ../servers/sip/sipwitch { };
 
   slimserver = callPackage ../servers/slimserver { };
@@ -21843,9 +22013,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 { };
 
@@ -21885,7 +22053,9 @@ with pkgs;
   inherit (callPackages ../servers/unifi { })
     unifiLTS
     unifi5
-    unifi6;
+    unifi6
+    unifi7;
+
   unifi = unifi6;
 
   unifi-video = callPackage ../servers/unifi-video { };
@@ -21896,10 +22066,14 @@ with pkgs;
 
   urserver = callPackage ../servers/urserver { };
 
-  vouch-proxy = callPackage ../servers/vouch-proxy { };
+  vouch-proxy = callPackage ../servers/vouch-proxy {
+    buildGoModule = buildGo116Module;
+  };
 
   victoriametrics = callPackage ../servers/nosql/victoriametrics { };
 
+  virtiofsd = callPackage ../servers/misc/virtiofsd { };
+
   virtlyst = libsForQt5.callPackage ../servers/web-apps/virtlyst { };
 
   virtualenv = with python3Packages; toPythonApplication virtualenv;
@@ -22070,6 +22244,10 @@ with pkgs;
 
   bluez5 = callPackage ../os-specific/linux/bluez { };
 
+  bluez5-experimental = callPackage ../os-specific/linux/bluez {
+    withExperimental = true;
+  };
+
   pulseaudio-modules-bt = callPackage ../applications/audio/pulseaudio-modules-bt {
     # pulseaudio-modules-bt is most likely to be used with pulseaudioFull
     pulseaudio = pulseaudioFull;
@@ -22187,6 +22365,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 { };
@@ -22239,7 +22419,7 @@ with pkgs;
 
   gfxtablet = callPackage ../os-specific/linux/gfxtablet {};
 
-  gmailctl = callPackage ../applications/networking/gmailctl {};
+  gmailctl = callPackage ../applications/networking/gmailctl { };
 
   gomp = callPackage ../applications/version-management/gomp { };
 
@@ -22259,6 +22439,8 @@ with pkgs;
 
   gradm = callPackage ../os-specific/linux/gradm { };
 
+  gt = callPackage ../os-specific/linux/gt { };
+
   inherit (nodePackages) gtop;
 
   hd-idle = callPackage ../os-specific/linux/hd-idle { };
@@ -22291,9 +22473,7 @@ with pkgs;
 
   ifmetric = callPackage ../os-specific/linux/ifmetric {};
 
-  ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils {
-    openssl = openssl_1_0_2;
-  };
+  ima-evm-utils = callPackage ../os-specific/linux/ima-evm-utils {};
 
   intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { };
 
@@ -22313,7 +22493,7 @@ with pkgs;
   iproute_mptcp = callPackage ../os-specific/linux/iproute/mptcp.nix { };
 
   iputils = hiPrio (callPackage ../os-specific/linux/iputils { });
-  # hiPrio for collisions with inetutils (ping and tftpd.8.gz)
+  # hiPrio for collisions with inetutils (ping)
 
   iptables = callPackage ../os-specific/linux/iptables { };
   iptables-legacy = callPackage ../os-specific/linux/iptables { nftablesCompat = false; };
@@ -22376,6 +22556,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 { };
@@ -22533,6 +22715,8 @@ with pkgs;
 
   lockdep = callPackage ../os-specific/linux/lockdep { };
 
+  lsirec = callPackage ../os-specific/linux/lsirec { };
+
   lsiutil = callPackage ../os-specific/linux/lsiutil { };
 
   kaitai-struct-compiler = callPackage ../development/compilers/kaitai-struct-compiler { };
@@ -22732,19 +22916,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 { };
 
@@ -22852,7 +23030,9 @@ with pkgs;
 
   qemu_test = lowPrio (qemu.override { hostCpuOnly = true; nixosTestRunner = true; });
 
-  firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { };
+  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 { };
 
@@ -22907,7 +23087,9 @@ with pkgs;
 
   sdparm = callPackage ../os-specific/linux/sdparm { };
 
-  sdrangel = libsForQt5.callPackage ../applications/radio/sdrangel {  };
+  sdrangel = libsForQt5.callPackage ../applications/radio/sdrangel {
+    boost = boost172;
+  };
 
   setools = callPackage ../os-specific/linux/setools { };
 
@@ -22915,6 +23097,8 @@ with pkgs;
 
   sgx-sdk = callPackage ../os-specific/linux/sgx/sdk { };
 
+  sgx-ssl = callPackage ../os-specific/linux/sgx/ssl { };
+
   sgx-psw = callPackage ../os-specific/linux/sgx/psw { };
 
   shadow = callPackage ../os-specific/linux/shadow { };
@@ -22958,7 +23142,7 @@ with pkgs;
     # break some cyclic dependencies
     util-linux = util-linuxMinimal;
     # provide a super minimal gnupg used for systemd-machined
-    gnupg = callPackage ../tools/security/gnupg/22.nix {
+    gnupg = callPackage ../tools/security/gnupg/23.nix {
       enableMinimal = true;
       guiSupport = false;
       pcsclite = null;
@@ -23058,6 +23242,7 @@ with pkgs;
     ubootNovena
     ubootOdroidC2
     ubootOdroidXU3
+    ubootOlimexA64Olinuxino
     ubootOrangePiPc
     ubootOrangePiZeroPlus2H5
     ubootOrangePiZero
@@ -23070,6 +23255,7 @@ with pkgs;
     ubootQemuAarch64
     ubootQemuArm
     ubootQemuRiscv64Smode
+    ubootQemuX86
     ubootRaspberryPi
     ubootRaspberryPi2
     ubootRaspberryPi3_32bit
@@ -23276,8 +23462,6 @@ with pkgs;
 
   cascadia-code = callPackage ../data/fonts/cascadia-code { };
 
-  cde-gtk-theme = callPackage ../data/themes/cdetheme { };
-
   charis-sil = callPackage ../data/fonts/charis-sil { };
 
   cherry = callPackage ../data/fonts/cherry { inherit (xorg) fonttosfnt mkfontdir; };
@@ -23296,6 +23480,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 { };
@@ -23472,6 +23658,10 @@ with pkgs;
 
   go-font = callPackage ../data/fonts/go-font { };
 
+  graphite-gtk-theme = callPackage ../data/themes/graphite-gtk-theme { };
+
+  graphite-kde-theme = callPackage ../data/themes/graphite-kde-theme { };
+
   greybird = callPackage ../data/themes/greybird { };
 
   gruvbox-dark-gtk = callPackage ../data/themes/gruvbox-dark-gtk { };
@@ -23504,6 +23694,8 @@ with pkgs;
 
   hicolor-icon-theme = callPackage ../data/icons/hicolor-icon-theme { };
 
+  hannom = callPackage ../data/fonts/hannom { };
+
   hanazono = callPackage ../data/fonts/hanazono { };
 
   hermit = callPackage ../data/fonts/hermit { };
@@ -23560,6 +23752,8 @@ with pkgs;
 
   kawkab-mono-font = callPackage ../data/fonts/kawkab-mono {};
 
+  kde-rounded-corners = libsForQt5.callPackage ../data/themes/kwin-decorations/kde-rounded-corners { };
+
   kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
 
   kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
@@ -23616,6 +23810,8 @@ with pkgs;
 
   libre-franklin = callPackage ../data/fonts/libre-franklin { };
 
+  lightly-qt = libsForQt5.callPackage ../data/themes/lightly-qt { };
+
   line-awesome = callPackage ../data/fonts/line-awesome { };
 
   linux-manual = callPackage ../data/documentation/linux-manual { };
@@ -23734,8 +23930,15 @@ with pkgs;
 
   nordzy-cursor-theme = callPackage ../data/icons/nordzy-cursor-theme { };
 
+  nordzy-icon-theme = callPackage ../data/icons/nordzy-icon-theme { };
+
   inherit (callPackages ../data/fonts/noto-fonts {})
-    noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-emoji-blob-bin noto-fonts-extra;
+    noto-fonts
+    noto-fonts-cjk-sans
+    noto-fonts-cjk-serif
+    noto-fonts-emoji
+    noto-fonts-emoji-blob-bin
+    noto-fonts-extra;
 
   nuclear = callPackage ../applications/audio/nuclear { };
 
@@ -23819,6 +24022,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 {
@@ -23854,6 +24059,8 @@ with pkgs;
 
   publicsuffix-list = callPackage ../data/misc/publicsuffix-list { };
 
+  phinger-cursors = callPackage ../data/icons/phinger-cursors { };
+
   qogir-icon-theme = callPackage ../data/icons/qogir-icon-theme { };
 
   qogir-theme = callPackage ../data/themes/qogir { };
@@ -23894,8 +24101,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 { };
@@ -23921,7 +24126,7 @@ with pkgs;
   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 { };
@@ -23937,9 +24142,7 @@ with pkgs;
 
   poppler_data = callPackage ../data/misc/poppler-data { };
 
-  qgo = libsForQt5.callPackage ../games/qgo { };
-
-  qmc2 = libsForQt514.callPackage ../misc/emulators/qmc2 { };
+  qmc2 = libsForQt514.callPackage ../applications/emulators/qmc2 { };
 
   quattrocento = callPackage ../data/fonts/quattrocento {};
 
@@ -24027,6 +24230,8 @@ with pkgs;
 
   theano = callPackage ../data/fonts/theano { };
 
+  tela-circle-icon-theme = callPackage ../data/icons/tela-circle-icon-theme { };
+
   tela-icon-theme = callPackage ../data/icons/tela-icon-theme { };
 
   template-glib = callPackage ../development/libraries/template-glib { };
@@ -24044,7 +24249,7 @@ with pkgs;
     fonts = [ "Terminus" ];
   };
 
-  termtekst = callPackage ../misc/emulators/termtekst { };
+  termtekst = callPackage ../applications/emulators/termtekst { };
 
   tex-gyre = callPackages ../data/fonts/tex-gyre { };
 
@@ -24206,7 +24411,15 @@ with pkgs;
 
   foxitreader = libsForQt512.callPackage ../applications/misc/foxitreader { };
 
-  pdfstudio = callPackage ../applications/misc/pdfstudio { };
+  pdfstudio = import ../applications/misc/pdfstudio {
+    program = "pdfstudio";
+    inherit callPackage fetchurl libgccjit;
+  };
+
+  pdfstudioviewer = import ../applications/misc/pdfstudio {
+    program = "pdfstudioviewer";
+    inherit callPackage fetchurl libgccjit;
+  };
 
   aeolus = callPackage ../applications/audio/aeolus { };
 
@@ -24235,7 +24448,7 @@ with pkgs;
 
   alock = callPackage ../misc/screensavers/alock { };
 
-  inherit (python3Packages) alot;
+  alot = callPackage ../applications/networking/mailreaders/alot { };
 
   alpine = callPackage ../applications/networking/mailreaders/alpine {
     tcl = tcl-8_5;
@@ -24302,6 +24515,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 { };
@@ -24371,6 +24586,8 @@ with pkgs;
 
   bambootracker = libsForQt5.callPackage ../applications/audio/bambootracker { };
 
+  blocky = callPackage ../applications/networking/blocky { };
+
   cadence = libsForQt5.callPackage ../applications/audio/cadence { };
 
   cheesecutter = callPackage ../applications/audio/cheesecutter { };
@@ -24428,8 +24645,6 @@ with pkgs;
 
   backintime = backintime-qt;
 
-  ballerburg = callPackage ../games/ballerburg { } ;
-
   balsa = callPackage ../applications/networking/mailreaders/balsa { };
 
   bandwidth = callPackage ../tools/misc/bandwidth { };
@@ -24454,7 +24669,13 @@ with pkgs;
 
   berry = callPackage ../applications/window-managers/berry { };
 
-  bespokesynth = callPackage ../applications/audio/bespokesynth { };
+  bespokesynth = callPackage ../applications/audio/bespokesynth {
+    inherit (darwin.apple_sdk.frameworks) Cocoa WebKit CoreServices CoreAudioKit;
+  };
+
+  bespokesynth-with-vst2 = bespokesynth.override {
+    enableVST2 = true;
+  };
 
   bevelbar = callPackage ../applications/window-managers/bevelbar { };
 
@@ -24510,6 +24731,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics ForceFeedback OpenAL OpenGL;
   };
 
+  blender-with-packages = callPackage ../applications/misc/blender/wrapper.nix {};
+
   blflash = callPackage ../tools/misc/blflash { };
 
   blogc = callPackage ../applications/misc/blogc { };
@@ -24572,7 +24795,9 @@ with pkgs;
 
   cardboard = callPackage ../applications/window-managers/cardboard { };
 
-  cage = callPackage ../applications/window-managers/cage { };
+  cage = callPackage ../applications/window-managers/cage {
+    wlroots = wlroots_0_14;
+  };
 
   calf = callPackage ../applications/audio/calf {
       inherit (gnome2) libglade;
@@ -24652,6 +24877,8 @@ with pkgs;
 
   boops = callPackage ../applications/audio/boops { };
 
+  ChowCentaur  = callPackage ../applications/audio/ChowCentaur { };
+
   ChowKick  = callPackage ../applications/audio/ChowKick { };
 
   CHOWTapeModel = callPackage ../applications/audio/CHOWTapeModel { };
@@ -24704,6 +24931,8 @@ with pkgs;
 
   cmatrix = callPackage ../applications/misc/cmatrix { };
 
+  cmctl = callPackage ../applications/networking/cluster/cmctl { };
+
   cmus = callPackage ../applications/audio/cmus {
     inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio;
     libjack = libjack2;
@@ -24773,9 +25002,7 @@ with pkgs;
 
   coursera-dl = callPackage ../applications/misc/coursera-dl {};
 
-  coyim = callPackage ../applications/networking/instant-messengers/coyim {
-    buildGoPackage = buildGo115Package;
-  };
+  coyim = callPackage ../applications/networking/instant-messengers/coyim { };
 
   cozy-drive = callPackage ../applications/networking/cozy-drive {};
 
@@ -24824,7 +25051,7 @@ with pkgs;
   darcs-to-git = callPackage ../applications/version-management/git-and-tools/darcs-to-git { };
 
   darktable = callPackage ../applications/graphics/darktable {
-    lua = lua5_3;
+    lua = lua5_4;
     pugixml = pugixml.override { shared = true; };
   };
 
@@ -24977,7 +25204,7 @@ with pkgs;
     inherit (gnome2) libgnomeui;
   };
 
-  dyff = callPackage ../development/tools/dyff {};
+  dyff = callPackage ../development/tools/dyff { };
 
   dwl = callPackage ../applications/window-managers/dwl { };
 
@@ -24991,7 +25218,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 { };
 
@@ -25031,6 +25258,8 @@ with pkgs;
 
   electrum = libsForQt5.callPackage ../applications/misc/electrum { };
 
+  electrum-grs = libsForQt5.callPackage ../applications/misc/electrum-grs { };
+
   electrum-ltc = libsForQt5.callPackage ../applications/misc/electrum/ltc.nix { };
 
   elementary-planner = callPackage ../applications/office/elementary-planner { };
@@ -25045,6 +25274,8 @@ with pkgs;
 
   elvis = callPackage ../applications/editors/elvis { };
 
+  em = callPackage ../applications/editors/em { };
+
   emacs = emacs27;
   emacs-nox = emacs27-nox;
 
@@ -25322,7 +25553,7 @@ with pkgs;
 
   gitweb = callPackage ../applications/version-management/git-and-tools/gitweb { };
 
-  gksu = callPackage ../applications/misc/gksu { };
+  globe-cli = callPackage ../applications/misc/globe-cli { };
 
   gnss-sdr = callPackage ../applications/radio/gnss-sdr { };
 
@@ -25358,19 +25589,20 @@ with pkgs;
       };
     };
   };
-  gnuradio3_8 = callPackage ../applications/radio/gnuradio/wrapper.nix {
-    unwrapped = callPackage ../applications/radio/gnuradio/3.8.nix {
+  gnuradio3_9 = callPackage ../applications/radio/gnuradio/wrapper.nix {
+    unwrapped = callPackage ../applications/radio/gnuradio/3.9.nix {
       inherit (darwin.apple_sdk.frameworks) CoreAudio;
       python = python3;
     };
   };
-  gnuradio3_8Packages = lib.recurseIntoAttrs gnuradio3_8.pkgs;
-  # A build without gui components and other utilites not needed if gnuradio is
-  # used as a c++ library.
-  gnuradio3_8Minimal = gnuradio3_8.override {
+  gnuradio3_9Packages = lib.recurseIntoAttrs gnuradio.pkgs;
+  # A build without gui components and other utilites not needed for end user
+  # libraries
+  gnuradio3_9Minimal = gnuradio.override {
     doWrap = false;
-    unwrapped = gnuradio3_8.unwrapped.override {
+    unwrapped = gnuradio.unwrapped.override {
       volk = volk.override {
+        # So it will not reference python
         enableModTool = false;
       };
       features = {
@@ -25380,6 +25612,7 @@ with pkgs;
         gr-qtgui = false;
         gr-utils = false;
         gr-modtool = false;
+        gr-blocktool = false;
         sphinx = false;
         doxygen = false;
         # Doesn't make it reference python eventually, but makes reverse
@@ -25388,31 +25621,33 @@ with pkgs;
       };
     };
   };
-  gnuradio3_7 = callPackage ../applications/radio/gnuradio/wrapper.nix {
-    unwrapped = callPackage ../applications/radio/gnuradio/3.7.nix {
+  gnuradio3_8 = callPackage ../applications/radio/gnuradio/wrapper.nix {
+    unwrapped = callPackage ../applications/radio/gnuradio/3.8.nix {
       inherit (darwin.apple_sdk.frameworks) CoreAudio;
-      python = python2;
-      # Incompatible with uhd4+
-      uhd = uhd3_5;
+      python = python3;
     };
   };
-  gnuradio3_7Packages = lib.recurseIntoAttrs gnuradio3_7.pkgs;
+  gnuradio3_8Packages = lib.recurseIntoAttrs gnuradio3_8.pkgs;
   # A build without gui components and other utilites not needed if gnuradio is
   # used as a c++ library.
-  gnuradio3_7Minimal = gnuradio3_7.override {
+  gnuradio3_8Minimal = gnuradio3_8.override {
     doWrap = false;
-    unwrapped = gnuradio3_7.unwrapped.override {
+    unwrapped = gnuradio3_8.unwrapped.override {
       volk = volk.override {
         enableModTool = false;
       };
       features = {
         gnuradio-companion = false;
         python-support = false;
+        examples = false;
         gr-qtgui = false;
         gr-utils = false;
+        gr-modtool = false;
         sphinx = false;
         doxygen = false;
-        gr-wxgui = false;
+        # Doesn't make it reference python eventually, but makes reverse
+        # depdendencies require python to use cmake files of GR.
+        gr-ctrlport = false;
       };
     };
   };
@@ -25473,9 +25708,7 @@ with pkgs;
 
   grip-search = callPackage ../tools/text/grip-search { };
 
-  grip = callPackage ../applications/misc/grip {
-    inherit (gnome2) libgnome libgnomeui vte;
-  };
+  grip = callPackage ../applications/misc/grip { };
 
   gsimplecal = callPackage ../applications/misc/gsimplecal { };
 
@@ -25489,6 +25722,8 @@ with pkgs;
     fftw = fftwSinglePrec;
   };
 
+  gurk-rs = callPackage ../applications/networking/instant-messengers/gurk-rs { };
+
   gjay = callPackage ../applications/audio/gjay { };
 
   photivo = callPackage ../applications/graphics/photivo { };
@@ -25567,9 +25802,7 @@ with pkgs;
   };
 
   firefox-bin = wrapFirefox firefox-bin-unwrapped {
-    applicationName = "firefox";
     pname = "firefox-bin";
-    desktopName = "Firefox";
   };
 
   firefox-beta-bin-unwrapped = firefox-bin-unwrapped.override {
@@ -25579,7 +25812,6 @@ with pkgs;
   };
 
   firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped {
-    applicationName = "firefox";
     pname = "firefox-beta-bin";
     desktopName = "Firefox Beta";
   };
@@ -25591,12 +25823,24 @@ 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 { };
 
   redoflacs = callPackage ../applications/audio/redoflacs { };
@@ -25609,10 +25853,6 @@ with pkgs;
 
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
-  fme = callPackage ../applications/misc/fme {
-    inherit (gnome2) libglademm;
-  };
-
   fomp = callPackage ../applications/audio/fomp { };
 
   formatter = callPackage ../applications/misc/formatter { };
@@ -25804,6 +26044,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 {
@@ -25932,11 +26174,9 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit AudioToolbox;
   };
 
-  googleearth = callPackage ../applications/misc/googleearth { };
-
   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"; };
 
@@ -26020,13 +26260,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 { };
 
@@ -26134,6 +26372,12 @@ with pkgs;
 
   musikcube = callPackage ../applications/audio/musikcube {};
 
+  libmt32emu = callPackage ../applications/audio/munt/libmt32emu.nix { };
+
+  mt32emu-qt = libsForQt5.callPackage ../applications/audio/munt/mt32emu-qt.nix { };
+
+  mt32emu-smf2wav = callPackage ../applications/audio/munt/mt32emu-smf2wav.nix { };
+
   p2pool = callPackage ../applications/misc/p2pool { };
 
   pass2csv = python3Packages.callPackage ../tools/security/pass2csv {};
@@ -26148,6 +26392,8 @@ with pkgs;
 
   pixeluvo = callPackage ../applications/graphics/pixeluvo { };
 
+  pixinsight = libsForQt5.callPackage ../applications/graphics/pixinsight { };
+
   pmbootstrap = python3Packages.callPackage ../tools/misc/pmbootstrap { };
 
   shepherd = nodePackages."@nerdwallet/shepherd";
@@ -26168,8 +26414,6 @@ with pkgs;
 
   smooth = callPackage ../development/libraries/smooth { };
 
-  smos = callPackage ../applications/misc/smos { };
-
   spectrwm = callPackage ../applications/window-managers/spectrwm { };
 
   spot = callPackage ../applications/audio/spot { };
@@ -26185,14 +26429,16 @@ with pkgs;
   srain = callPackage ../applications/networking/irc/srain { };
 
   super-productivity = callPackage ../applications/office/super-productivity {
-    electron = electron_13;
+    electron = electron_17;
   };
 
-  wlroots = callPackage ../development/libraries/wlroots {
+  wlroots = wlroots_0_15;
+  wlroots_0_14 = callPackage ../development/libraries/wlroots/0.14.nix {
+    inherit (xorg) xcbutilrenderutil;
+  };
+  wlroots_0_15 = callPackage ../development/libraries/wlroots/0.15.nix {
     inherit (xorg) xcbutilrenderutil;
   };
-
-  wlroots_0_12 = callPackage ../development/libraries/wlroots/0.12.nix {};
 
   sway-unwrapped = callPackage ../applications/window-managers/sway { };
   sway = callPackage ../applications/window-managers/sway/wrapper.nix { };
@@ -26206,6 +26452,8 @@ with pkgs;
 
   swaylock-effects = callPackage ../applications/window-managers/sway/lock-effects.nix { };
 
+  swaynotificationcenter = callPackage ../applications/misc/swaynotificationcenter { };
+
   tiramisu = callPackage ../applications/misc/tiramisu { };
 
   rootbar = callPackage ../applications/misc/rootbar {};
@@ -26214,7 +26462,9 @@ with pkgs;
 
   wbg = callPackage ../applications/misc/wbg { };
 
-  hikari = callPackage ../applications/window-managers/hikari { };
+  hikari = callPackage ../applications/window-managers/hikari {
+    wlroots = wlroots_0_14;
+  };
 
   i3 = callPackage ../applications/window-managers/i3 {
     xcb-util-cursor = if stdenv.isDarwin then xcb-util-cursor-HEAD else xcb-util-cursor;
@@ -26278,7 +26528,9 @@ with pkgs;
 
   i3-wk-switch = callPackage ../applications/window-managers/i3/wk-switch.nix { };
 
-  waybox = callPackage ../applications/window-managers/waybox { };
+  waybox = callPackage ../applications/window-managers/waybox {
+    wlroots = wlroots_0_14;
+  };
 
   workstyle = callPackage ../applications/window-managers/i3/workstyle.nix { };
 
@@ -26292,8 +26544,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 { };
@@ -26406,9 +26656,6 @@ with pkgs;
 
   imgp = python3Packages.callPackage ../applications/graphics/imgp { };
 
-  # Impressive, formerly known as "KeyJNote".
-  impressive = callPackage ../applications/office/impressive { };
-
   index-fm = libsForQt5.callPackage ../applications/misc/index-fm { };
 
   inkcut = libsForQt5.callPackage ../applications/misc/inkcut { };
@@ -26478,6 +26725,8 @@ with pkgs;
   jackmix = libsForQt5.callPackage ../applications/audio/jackmix { };
   jackmix_jack1 = jackmix.override { jack = jack1; };
 
+  jaeles = callPackage ../tools/security/jaeles { };
+
   jalv = callPackage ../applications/audio/jalv { };
 
   jameica = callPackage ../applications/office/jameica {
@@ -26512,20 +26761,9 @@ with pkgs;
 
   jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };
 
-  k3d = callPackage ../applications/graphics/k3d {
-    inherit (gnome2) gtkglext;
-    stdenv = gcc6Stdenv;
-    boost = boost155.override {
-      enablePython = true;
-      python = python2;
-      stdenv = gcc6Stdenv;
-      buildPackages = buildPackages // {
-        stdenv = gcc6Stdenv;
-      };
-    };
-  };
+  k3s = callPackage ../applications/networking/cluster/k3s { };
 
-  k3s = callPackage ../applications/networking/cluster/k3s {};
+  k3sup = callPackage ../applications/networking/cluster/k3sup {};
 
   kconf = callPackage ../applications/networking/cluster/kconf { };
 
@@ -26566,7 +26804,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 { };
 
@@ -26600,6 +26838,8 @@ with pkgs;
 
   klayout = libsForQt5.callPackage ../applications/misc/klayout { };
 
+  klee = callPackage ../applications/science/logic/klee { };
+
   kmetronome = libsForQt5.callPackage ../applications/audio/kmetronome { };
 
   kmplayer = libsForQt5.callPackage ../applications/video/kmplayer { };
@@ -26645,6 +26885,7 @@ with pkgs;
   kubeval-schema = callPackage ../applications/networking/cluster/kubeval/schema.nix { };
 
   kubernetes = callPackage ../applications/networking/cluster/kubernetes { };
+  kubectl = callPackage ../applications/networking/cluster/kubernetes/kubectl.nix { };
 
   kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
 
@@ -26654,13 +26895,9 @@ with pkgs;
 
   kubecolor = callPackage ../applications/networking/cluster/kubecolor { };
 
-  kubectl = callPackage ../applications/networking/cluster/kubectl { };
-
   kubebuilder = callPackage ../applications/networking/cluster/kubebuilder { };
 
-  kuttl = callPackage ../applications/networking/cluster/kuttl {
-    buildGoModule = buildGo115Module;
-  };
+  kuttl = callPackage ../applications/networking/cluster/kuttl { };
 
   kubectl-doctor = callPackage ../applications/networking/cluster/kubectl-doctor { };
 
@@ -26733,15 +26970,19 @@ with pkgs;
 
   kubetail = callPackage ../applications/networking/cluster/kubetail { } ;
 
+  kup = libsForQt5.callPackage ../applications/misc/kup { };
+
   kupfer = callPackage ../applications/misc/kupfer { };
 
   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 { };
 
-  labwc = callPackage ../applications/window-managers/labwc { };
+  labwc = callPackage ../applications/window-managers/labwc {
+    wlroots = wlroots_0_15;
+  };
 
   larswm = callPackage ../applications/window-managers/larswm { };
 
@@ -26785,8 +27026,10 @@ with pkgs;
     boost = boost175;
   };
 
-  libreoffice = hiPrio libreoffice-still;
-  libreoffice-unwrapped = libreoffice.libreoffice;
+  libreoffice = if stdenv.isDarwin
+    then callPackage ../applications/office/libreoffice/darwin.nix {}
+    else hiPrio libreoffice-still;
+  libreoffice-unwrapped = (hiPrio libreoffice-still).libreoffice;
 
   libreoffice-args = {
     inherit (perlPackages) ArchiveZip IOCompress;
@@ -26866,7 +27109,7 @@ with pkgs;
 
   lighttable = callPackage ../applications/editors/lighttable {};
 
-  libdsk = callPackage ../misc/emulators/libdsk { };
+  libdsk = callPackage ../applications/emulators/libdsk { };
 
   liblinphone = callPackage ../development/libraries/liblinphone { };
 
@@ -26915,6 +27158,8 @@ with pkgs;
     inherit (luajitPackages) luafilesystem;
   };
 
+  lookatme = callPackage ../tools/misc/lookatme {};
+
   looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { };
 
   ltc-tools = callPackage ../applications/audio/ltc-tools { };
@@ -27049,7 +27294,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 { };
 
@@ -27075,6 +27320,10 @@ with pkgs;
 
   merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { };
 
+  mepo = callPackage ../applications/misc/mepo {
+    zig = zig_0_8_1;
+  };
+
   meshcentral = callPackage ../tools/admin/meshcentral { };
 
   meshlab = libsForQt5.callPackage ../applications/graphics/meshlab { };
@@ -27100,6 +27349,8 @@ with pkgs;
 
   minicom = callPackage ../tools/misc/minicom { };
 
+  minigalaxy = callPackage ../applications/misc/minigalaxy { };
+
   minimodem = callPackage ../applications/radio/minimodem { };
 
   minidjvu = callPackage ../applications/graphics/minidjvu { };
@@ -27163,8 +27414,6 @@ with pkgs;
 
   monkeysphere = callPackage ../tools/security/monkeysphere { };
 
-  monodevelop = callPackage ../applications/editors/monodevelop {};
-
   monotone = callPackage ../applications/version-management/monotone {
     lua = lua5;
     boost = boost170;
@@ -27174,7 +27423,9 @@ with pkgs;
     ocamlPackages = ocaml-ng.ocamlPackages_4_01_0;
   };
 
-  monitor = callPackage ../applications/system/monitor { };
+  monitor = callPackage ../applications/system/monitor {
+    libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
+  };
 
   moolticute = libsForQt5.callPackage ../applications/misc/moolticute { };
 
@@ -27199,6 +27450,7 @@ with pkgs;
     mopidy-mopify
     mopidy-mpd
     mopidy-mpris
+    mopidy-muse
     mopidy-musicbox-webclient
     mopidy-podcast
     mopidy-scrobbler
@@ -27217,6 +27469,8 @@ with pkgs;
 
   mozjpeg = callPackage ../applications/graphics/mozjpeg { };
 
+  edgetx = libsForQt5.callPackage ../applications/misc/edgetx { };
+
   easytag = callPackage ../applications/audio/easytag { };
 
   mp3gain = callPackage ../applications/audio/mp3gain { };
@@ -27236,7 +27490,7 @@ with pkgs;
 
   mpg321 = callPackage ../applications/audio/mpg321 { };
 
-  mpc_cli = callPackage ../applications/audio/mpc {
+  mpc-cli = callPackage ../applications/audio/mpc {
     inherit (python3Packages) sphinx;
   };
 
@@ -27367,8 +27621,6 @@ with pkgs;
 
   n8n = callPackage ../applications/networking/n8n {};
 
-  neap = callPackage ../applications/misc/neap { };
-
   neomutt = callPackage ../applications/networking/mailreaders/neomutt { };
 
   natron = callPackage ../applications/video/natron { };
@@ -27400,6 +27652,8 @@ 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 { };
@@ -27450,6 +27704,8 @@ with pkgs;
 
   pijul = callPackage ../applications/version-management/pijul { };
 
+  pijuice = with python3Packages; toPythonApplication pijuice;
+
   ping = callPackage ../applications/networking/ping { };
 
   piper = callPackage ../os-specific/linux/piper { };
@@ -27544,8 +27800,6 @@ with pkgs;
     mlt-qt5 = libsForQt514.mlt;
   };
 
-  synology-drive = libsForQt5.callPackage ../applications/networking/synology-drive { };
-
   taxi = callPackage ../applications/networking/ftp/taxi { };
 
   librep = callPackage ../development/libraries/librep { };
@@ -27684,13 +27938,13 @@ with pkgs;
 
   nvpy = callPackage ../applications/editors/nvpy { };
 
-  obconf = callPackage ../tools/X11/obconf {
-    inherit (gnome2) libglade;
-  };
+  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 {};
 
@@ -27740,9 +27994,12 @@ with pkgs;
 
   opentimestamps-client = python3Packages.callPackage ../tools/misc/opentimestamps-client {};
 
-  opentoonz = (qt514.overrideScope' (_: _: {
-    libtiff = callPackage ../applications/graphics/opentoonz/libtiff.nix { };
-  })).callPackage ../applications/graphics/opentoonz { };
+  opentoonz = let
+    opentoonz-libtiff = callPackage ../applications/graphics/opentoonz/libtiff.nix { };
+  in qt5.callPackage ../applications/graphics/opentoonz {
+    libtiff = opentoonz-libtiff;
+    opencv = opencv.override { libtiff = opentoonz-libtiff; };
+  };
 
   opentabletdriver = callPackage ../tools/X11/opentabletdriver { };
 
@@ -27764,8 +28021,6 @@ with pkgs;
 
   osmium-tool = callPackage ../applications/misc/osmium-tool { };
 
-  osu-lazer = callPackage ../games/osu-lazer { };
-
   owamp = callPackage ../applications/networking/owamp { };
 
   vieb = callPackage ../applications/networking/browsers/vieb { };
@@ -27838,9 +28093,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;
   };
 
@@ -27850,7 +28105,11 @@ with pkgs;
 
   pdfslicer = callPackage ../applications/misc/pdfslicer { };
 
-  pekwm = callPackage ../applications/window-managers/pekwm { };
+  pekwm = callPackage ../applications/window-managers/pekwm {
+    awk = gawk;
+    grep = gnugrep;
+    sed = gnused;
+  };
 
   pencil = callPackage ../applications/graphics/pencil {
   };
@@ -27900,6 +28159,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 { };
@@ -27982,6 +28243,8 @@ with pkgs;
 
   purple-facebook = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-facebook { };
 
+  purpur = callPackage ../games/purpur { };
+
   pikopixel = callPackage ../applications/graphics/pikopixel { };
 
   pithos = callPackage ../applications/audio/pithos {
@@ -27992,9 +28255,7 @@ with pkgs;
 
   pinpoint = callPackage ../applications/office/pinpoint { };
 
-  pinta = callPackage ../applications/graphics/pinta {
-    gtksharp = gtk-sharp-2_0;
-  };
+  pinta = callPackage ../applications/graphics/pinta { };
 
   pistol = callPackage ../tools/misc/pistol { };
 
@@ -28004,8 +28265,7 @@ with pkgs;
 
   plexamp = callPackage ../applications/audio/plexamp { };
 
-  # Upstream says it supports only qt5.9 which is not packaged, and building with qt newer than 5.12 fails
-  plex-media-player = libsForQt512.callPackage ../applications/video/plex-media-player { };
+  plex-media-player = libsForQt5.callPackage ../applications/video/plex-media-player { };
 
   plex-mpv-shim = python3Packages.callPackage ../applications/video/plex-mpv-shim { };
 
@@ -28025,6 +28285,10 @@ with pkgs;
 
   polymake = callPackage ../applications/science/math/polymake { };
 
+  pomotroid = callPackage ../applications/misc/pomotroid {
+    electron = electron_9;
+  };
+
   pond = callPackage ../applications/networking/instant-messengers/pond { };
 
   ponymix = callPackage ../applications/audio/ponymix { };
@@ -28114,9 +28378,9 @@ with pkgs;
 
   qemu-utils = callPackage ../applications/virtualization/qemu/utils.nix {};
 
-  qgis-unwrapped = libsForQt5.callPackage ../applications/gis/qgis/unwrapped.nix {
-    withGrass = false;
-  };
+  wrapQemuBinfmtP = callPackage ../applications/virtualization/qemu/binfmt-p-wrapper.nix { };
+
+  qgis-ltr = callPackage ../applications/gis/qgis/ltr.nix { };
 
   qgis = callPackage ../applications/gis/qgis { };
 
@@ -28222,7 +28486,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;
@@ -28265,6 +28529,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 {
@@ -28329,7 +28595,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 { };
 
@@ -28339,6 +28608,10 @@ with pkgs;
 
   rofi-unwrapped = callPackage ../applications/misc/rofi { };
   rofi = callPackage ../applications/misc/rofi/wrapper.nix { };
+  rofi-wayland-unwrapped = callPackage ../applications/misc/rofi/wayland.nix { };
+  rofi-wayland = callPackage ../applications/misc/rofi/wrapper.nix {
+    rofi-unwrapped = rofi-wayland-unwrapped;
+  };
 
   rofi-pass = callPackage ../tools/security/pass/rofi-pass.nix { };
 
@@ -28352,7 +28625,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 { };
 
@@ -28360,6 +28633,8 @@ with pkgs;
     jdk = jdk8;
   };
 
+  rstudio-server = rstudio.override { server = true; };
+
   rsync = callPackage ../applications/networking/sync/rsync (config.rsync or {});
   rrsync = callPackage ../applications/networking/sync/rsync/rrsync.nix {};
 
@@ -28373,6 +28648,10 @@ with pkgs;
 
   rubyripper = callPackage ../applications/audio/rubyripper {};
 
+  rucredstash = callPackage ../tools/security/rucredstash {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   runc = callPackage ../applications/virtualization/runc {};
 
   rymcast = callPackage ../applications/audio/rymcast {
@@ -28383,11 +28662,11 @@ with pkgs;
 
   udevil = callPackage ../applications/misc/udevil {};
 
-  udiskie = python3Packages.callPackage ../applications/misc/udiskie { };
+  udiskie = python3.pkgs.callPackage ../applications/misc/udiskie { };
 
   sacc = callPackage ../applications/networking/gopher/sacc { };
 
-  sameboy = callPackage ../misc/emulators/sameboy { };
+  sameboy = callPackage ../applications/emulators/sameboy { };
 
   sayonara = libsForQt514.callPackage ../applications/audio/sayonara { };
 
@@ -28411,6 +28690,8 @@ with pkgs;
 
   seafile-client = libsForQt5.callPackage ../applications/networking/seafile-client { };
 
+  seahub = callPackage ../applications/networking/seahub { };
+
   seatd = callPackage ../applications/misc/seatd { };
 
   secretscanner = callPackage ../tools/security/secretscanner { };
@@ -28483,7 +28764,9 @@ with pkgs;
 
   spideroak = callPackage ../applications/networking/spideroak { };
 
-  split2flac = callPackage ../applications/audio/split2flac { };
+  split2flac = callPackage ../applications/audio/split2flac {
+    inherit (python3.pkgs) mutagen;
+  };
 
   spotify-qt = libsForQt5.callPackage ../applications/audio/spotify-qt { };
 
@@ -28493,6 +28776,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit Security;
   };
 
+  sptlrx = callPackage ../applications/audio/sptlrx { };
+
   squishyball = callPackage ../applications/audio/squishyball {
     ncurses = ncurses5;
   };
@@ -28511,7 +28796,7 @@ with pkgs;
     curses = ncurses;
   };
 
-  stella = callPackage ../misc/emulators/stella { };
+  stella = callPackage ../applications/emulators/stella { };
 
   linuxstopmotion = libsForQt5.callPackage ../applications/video/linuxstopmotion { };
 
@@ -28581,8 +28866,6 @@ with pkgs;
 
   curaPlugins = callPackage ../applications/misc/cura/plugins.nix { };
 
-  curaByDagoma = callPackage ../applications/misc/curabydagoma { };
-
   peru = callPackage ../applications/version-management/peru {};
 
   petrinizer = haskellPackages.callPackage ../applications/science/logic/petrinizer {};
@@ -28670,6 +28953,7 @@ with pkgs;
 
   src = callPackage ../applications/version-management/src {
     git = gitMinimal;
+    python = python3;
   };
 
   sslyze = with python3Packages; toPythonApplication sslyze;
@@ -28759,6 +29043,8 @@ with pkgs;
 
   syncplay = python3.pkgs.callPackage ../applications/networking/syncplay { };
 
+  syncterm = callPackage ../applications/terminal-emulators/syncterm { };
+
   inherit (callPackages ../applications/networking/syncthing { })
     syncthing
     syncthing-discovery
@@ -28803,6 +29089,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  talosctl = callPackage ../applications/networking/cluster/talosctl { };
+
   talentedhack = callPackage ../applications/audio/talentedhack { };
 
   tambura = callPackage ../applications/audio/tambura { };
@@ -28993,9 +29281,7 @@ with pkgs;
 
   topydo = callPackage ../applications/misc/topydo {};
 
-  torchat = callPackage ../applications/networking/instant-messengers/torchat {
-    inherit (pythonPackages) wrapPython wxPython;
-  };
+  torchat = callPackage ../applications/networking/instant-messengers/torchat { };
 
   torrential = callPackage ../applications/networking/p2p/torrential { };
 
@@ -29159,7 +29445,7 @@ with pkgs;
   vdpauinfo = callPackage ../tools/X11/vdpauinfo { };
 
   vengi-tools = callPackage ../applications/graphics/vengi-tools {
-    inherit (darwin.apple_sdk.frameworks) Carbon OpenCL;
+    inherit (darwin.apple_sdk.frameworks) Carbon CoreServices OpenCL;
   };
 
   verbiste = callPackage ../applications/misc/verbiste {
@@ -29207,9 +29493,7 @@ with pkgs;
 
   qpdfview = libsForQt5.callPackage ../applications/misc/qpdfview {};
 
-  qtile = callPackage ../applications/window-managers/qtile {
-    inherit (xorg) libxcb;
-  };
+  qtile = callPackage ../applications/window-managers/qtile { };
 
   vimpc = callPackage ../applications/audio/vimpc { };
 
@@ -29318,9 +29602,12 @@ with pkgs;
 
   vkeybd = callPackage ../applications/audio/vkeybd {};
 
-  vlc = libsForQt5.callPackage ../applications/video/vlc {};
-
-  vlc_qt5 = vlc;
+  vlc = libsForQt5.callPackage ../applications/video/vlc {
+    # Newest libcaca changed the API, and libvlc didn't catch it. Until next
+    # version arrives, it is safer to disable it.
+    # Upstream thread: https://code.videolan.org/videolan/vlc/-/issues/26389
+    libcaca = null;
+  };
 
   libvlc = vlc.override {
     withQt5 = false;
@@ -29369,8 +29656,9 @@ with pkgs;
   };
 
   code-server = callPackage ../servers/code-server {
-    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa Security;
+    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa CoreServices Security;
     inherit (darwin) cctools;
+    inherit (nodePackages) node-gyp;
   };
 
   vue = callPackage ../applications/misc/vue { };
@@ -29388,7 +29676,7 @@ with pkgs;
 
   wad = callPackage ../tools/security/wad { };
 
-  wafw00f = python3Packages.callPackage ../tools/security/wafw00f { };
+  wafw00f = callPackage ../tools/security/wafw00f { };
 
   whispers = callPackage ../tools/security/whispers { };
 
@@ -29426,7 +29714,8 @@ with pkgs;
   wayfireApplications = wayfireApplications-unwrapped.withPlugins (plugins: [ plugins.wf-shell ]);
   inherit (wayfireApplications) wayfire wcm;
   wayfireApplications-unwrapped = recurseIntoAttrs (
-    callPackage ../applications/window-managers/wayfire/applications.nix { }
+    (callPackage ../applications/window-managers/wayfire/applications.nix { }).
+    extend (_: _: { wlroots = wlroots_0_14; })
   );
   wayfirePlugins = recurseIntoAttrs (
     callPackage ../applications/window-managers/wayfire/plugins.nix {
@@ -29474,13 +29763,15 @@ with pkgs;
 
   chatterino2 = libsForQt5.callPackage ../applications/networking/instant-messengers/chatterino2 {};
 
-  weston = callPackage ../applications/window-managers/weston { pipewire = pipewire_0_2; };
+  weston = callPackage ../applications/window-managers/weston { };
 
   whalebird = callPackage ../applications/misc/whalebird {
     electron = electron_14;
   };
 
-  wio = callPackage ../applications/window-managers/wio { };
+  wio = callPackage ../applications/window-managers/wio {
+    wlroots = wlroots_0_14;
+  };
 
   whitebox-tools = callPackage ../applications/gis/whitebox-tools {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -29517,6 +29808,8 @@ with pkgs;
 
   wofi-emoji = callPackage ../applications/misc/wofi-emoji { };
 
+  cl-wordle = callPackage ../games/cl-wordle { };
+
   wordnet = callPackage ../applications/misc/wordnet {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
@@ -29600,6 +29893,8 @@ with pkgs;
     gtk = gtk2;
   };
 
+  xxh = with python3Packages; toPythonApplication xxh;
+
   kodiPackages = recurseIntoAttrs (kodi.packages);
 
   kodi = callPackage ../applications/video/kodi {
@@ -29619,7 +29914,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 { };
 
@@ -29710,11 +30005,7 @@ with pkgs;
   };
 
   xiphos = callPackage ../applications/misc/xiphos {
-    gconf = gnome2.GConf;
-    inherit (gnome2) libglade scrollkeeper;
     gtkhtml = gnome2.gtkhtml4;
-    python = python27;
-    enchant = enchant1;
   };
 
   xournal = callPackage ../applications/graphics/xournal {
@@ -29836,8 +30127,6 @@ with pkgs;
 
   yarp = callPackage ../applications/science/robotics/yarp {};
 
-  yarssr = callPackage ../applications/misc/yarssr { };
-
   yate = callPackage ../applications/misc/yate { };
 
   ydiff = with python3.pkgs; toPythonApplication ydiff;
@@ -29880,7 +30169,8 @@ with pkgs;
 
   zanshin = libsForQt5.callPackage ../applications/office/zanshin { };
 
-  zathura = callPackage ../applications/misc/zathura { };
+  zathuraPkgs = callPackage ../applications/misc/zathura { };
+  zathura = zathuraPkgs.zathuraWrapper;
 
   zdns = callPackage ../tools/security/zdns { };
 
@@ -29996,6 +30286,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;
@@ -30087,11 +30379,24 @@ with pkgs;
 
   faraday = callPackage ../applications/blockchains/faraday { };
 
+  fulcrum = libsForQt5.callPackage ../applications/blockchains/fulcrum { };
+
   go-ethereum = callPackage ../applications/blockchains/go-ethereum {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
+  groestlcoin  = libsForQt5.callPackage ../applications/blockchains/groestlcoin {
+    boost = boost17x;
+    withGui = true;
+    inherit (darwin) autoSignDarwinBinariesHook;
+  };
+
+  groestlcoind = callPackage ../applications/blockchains/groestlcoin {
+    boost = boost17x;
+    inherit (darwin) autoSignDarwinBinariesHook;
+  };
+
   ledger_agent = with python3Packages; toPythonApplication ledger_agent;
 
   ledger-live-desktop = callPackage ../applications/blockchains/ledger-live-desktop { };
@@ -30155,6 +30460,14 @@ with pkgs;
 
   sumokoin = callPackage ../applications/blockchains/sumokoin { boost = boost165; };
 
+  solana-testnet = callPackage ../applications/blockchains/solana {
+    inherit (darwin.apple_sdk.frameworks) IOKit Security AppKit;
+  };
+
+  snarkos = callPackage ../applications/blockchains/snarkos {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   tessera = callPackage ../applications/blockchains/tessera { };
 
   vertcoin  = libsForQt514.callPackage ../applications/blockchains/vertcoin {
@@ -30168,27 +30481,64 @@ with pkgs;
 
   wasabiwallet = callPackage ../applications/blockchains/wasabiwallet { };
 
-  wasabibackend = callPackage ../applications/blockchains/wasabibackend { Nuget = dotnetPackages.Nuget; };
+  wasabibackend = callPackage ../applications/blockchains/wasabibackend { };
 
   wownero = callPackage ../applications/blockchains/wownero {
     boost = boost175;
   };
 
-  zcash = callPackage ../applications/blockchains/zcash { stdenv = llvmPackages_11.stdenv; };
+  zcash = callPackage ../applications/blockchains/zcash { };
 
   lightwalletd = callPackage ../applications/blockchains/lightwalletd { };
 
   openethereum = callPackage ../applications/blockchains/openethereum { };
 
-  parity-ui = callPackage ../applications/blockchains/parity-ui { };
-
   polkadot = callPackage ../applications/blockchains/polkadot { };
 
   particl-core = callPackage ../applications/blockchains/particl-core { miniupnpc = miniupnpc_2; };
 
   quorum = callPackage ../applications/blockchains/quorum { };
 
-  whirlpool-gui = callPackage ../applications/blockchains/whirlpool-gui { };
+  saga = libsForQt5.callPackage ../applications/gis/saga {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
+
+  samplv1 = libsForQt5.callPackage ../applications/audio/samplv1 { };
+
+  scaleft = callPackage ../applications/networking/scaleft { };
+
+  scaleway-cli = callPackage ../tools/admin/scaleway-cli { };
+
+  beancount = with python3.pkgs; toPythonApplication beancount;
+
+  bean-add = callPackage ../applications/office/beancount/bean-add.nix { };
+
+  bench = haskell.lib.compose.justStaticExecutables haskellPackages.bench;
+
+  cri-o = callPackage ../applications/virtualization/cri-o/wrapper.nix { };
+  cri-o-unwrapped = callPackage ../applications/virtualization/cri-o { };
+
+  confd = callPackage ../tools/system/confd { };
+
+  conmon = callPackage ../applications/virtualization/conmon { };
+
+  digikam = libsForQt5.callPackage ../applications/graphics/digikam {};
+
+  drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { };
+
+  gshhg-gmt = callPackage ../applications/gis/gmt/gshhg.nix { };
+
+  eureka-editor = callPackage ../applications/misc/eureka-editor { };
+
+  eureka-ideas = callPackage ../applications/misc/eureka-ideas {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
+  fava = callPackage ../applications/office/fava {};
+
+  nux = callPackage ../tools/misc/nux { };
+
+  tts = callPackage ../tools/audio/tts { };
 
   ### GAMES
 
@@ -30200,6 +30550,86 @@ with pkgs;
 
   _90secondportraits = callPackage ../games/90secondportraits { love = love_0_10; };
 
+  ace-of-penguins = callPackage ../games/ace-of-penguins { };
+
+  among-sus = callPackage ../games/among-sus { };
+
+  antsimulator = callPackage ../games/antsimulator { };
+
+  augustus = callPackage ../games/augustus { };
+
+  ballerburg = callPackage ../games/ballerburg { } ;
+
+  blockattack = callPackage ../games/blockattack { } ;
+
+  colobot = callPackage ../games/colobot { };
+
+  doom-bcc = callPackage ../games/zdoom/bcc-git.nix { };
+
+  enigma = callPackage ../games/enigma { };
+
+  ezquake = callPackage ../games/ezquake { };
+
+  fmodex = callPackage ../games/zandronum/fmod.nix { };
+
+  freedroid = callPackage ../games/freedroid { };
+
+  freedroidrpg = callPackage ../games/freedroidrpg { };
+
+  freenukum = callPackage ../games/freenukum { };
+
+  gnome-hexgl = callPackage ../games/gnome-hexgl { };
+
+  gotypist = callPackage ../games/gotypist { };
+
+  heroic = callPackage ../games/heroic { };
+
+  julius = callPackage ../games/julius { };
+
+  jumpnbump = callPackage ../games/jumpnbump { };
+
+  keeperrl = callPackage ../games/keeperrl { };
+
+  lbreakout2 = callPackage ../games/lbreakout2 { };
+
+  ltris = callPackage ../games/ltris { };
+
+  lunar-client = callPackage ../games/lunar-client { };
+
+  maelstrom = callPackage ../games/maelstrom { };
+
+  mar1d = callPackage ../games/mar1d { } ;
+
+  meritous = callPackage ../games/meritous { };
+
+  oh-my-git = callPackage ../games/oh-my-git { };
+
+  opendune = callPackage ../games/opendune { };
+
+  openrct2 = callPackage ../games/openrct2 { };
+
+  osu-lazer = callPackage ../games/osu-lazer { };
+
+  pro-office-calculator = libsForQt5.callPackage ../games/pro-office-calculator { };
+
+  qgo = libsForQt5.callPackage ../games/qgo { };
+
+  rpg-cli = callPackage ../games/rpg-cli { };
+
+  runelite = callPackage ../games/runelite { };
+
+  runescape = callPackage ../games/runescape-launcher { };
+
+  sm64ex = callPackage ../games/sm64ex { };
+
+  snipes = callPackage ../games/snipes { };
+
+  unvanquished = callPackage ../games/unvanquished { };
+
+  xbill = callPackage ../games/xbill { };
+
+  xmage = callPackage ../games/xmage { };
+
   abbaye-des-morts = callPackage ../games/abbaye-des-morts { };
 
   abuse = callPackage ../games/abuse { };
@@ -30227,7 +30657,7 @@ with pkgs;
   amoeba = callPackage ../games/amoeba { };
   amoeba-data = callPackage ../games/amoeba/data.nix { };
 
-  andyetitmoves = callPackage ../games/andyetitmoves {};
+  andyetitmoves = callPackage ../games/andyetitmoves { };
 
   angband = callPackage ../games/angband { };
 
@@ -30240,7 +30670,7 @@ with pkgs;
 
   armagetronad-dedicated = callPackage ../games/armagetronad { dedicatedServer = true; };
 
-  arena = callPackage ../games/arena {};
+  arena = callPackage ../games/arena { };
 
   arx-libertatis = libsForQt5.callPackage ../games/arx-libertatis { };
 
@@ -30254,23 +30684,17 @@ with pkgs;
 
   astromenace = callPackage ../games/astromenace { };
 
-  atanks = callPackage ../games/atanks {};
+  atanks = callPackage ../games/atanks { };
 
-  azimuth = callPackage ../games/azimuth {};
+  azimuth = callPackage ../games/azimuth { };
 
   ballAndPaddle = callPackage ../games/ball-and-paddle {
     guile = guile_1_8;
   };
 
-  banner = callPackage ../games/banner {};
-
-  bastet = callPackage ../games/bastet {};
-
-  beancount = with python3.pkgs; toPythonApplication beancount;
-
-  bean-add = callPackage ../applications/office/beancount/bean-add.nix { };
+  banner = callPackage ../games/banner { };
 
-  bench = haskell.lib.compose.justStaticExecutables haskellPackages.bench;
+  bastet = callPackage ../games/bastet { };
 
   black-hole-solver = callPackage ../games/black-hole-solver {
     inherit (perlPackages) PathTiny;
@@ -30328,19 +30752,12 @@ with pkgs;
 
   vintagestory = callPackage ../games/vintagestory { };
 
-  cri-o = callPackage ../applications/virtualization/cri-o/wrapper.nix { };
-  cri-o-unwrapped = callPackage ../applications/virtualization/cri-o { };
-
   ckan = callPackage ../games/ckan { };
 
   cockatrice = libsForQt5.callPackage ../games/cockatrice {  };
 
   commandergenius = callPackage ../games/commandergenius { };
 
-  confd = callPackage ../tools/system/confd { };
-
-  conmon = callPackage ../applications/virtualization/conmon { };
-
   construoBase = lowPrio (callPackage ../games/construo {
     libGL = null;
     libGLU = null;
@@ -30353,8 +30770,6 @@ with pkgs;
 
   crack_attack = callPackage ../games/crack-attack { };
 
-  crafty = callPackage ../games/crafty { };
-
   crawlTiles = callPackage ../games/crawl {
     tileMode = true;
   };
@@ -30364,12 +30779,12 @@ with pkgs;
   inherit (import ../games/crossfire pkgs)
     crossfire-server crossfire-arch crossfire-maps crossfire-client;
 
-  crrcsim = callPackage ../games/crrcsim {};
+  crrcsim = callPackage ../games/crrcsim { };
 
   curseofwar = callPackage ../games/curseofwar { SDL = null; };
   curseofwar-sdl = callPackage ../games/curseofwar { ncurses = null; };
 
-  cutemaze = libsForQt5.callPackage ../games/cutemaze {};
+  cutemaze = libsForQt5.callPackage ../games/cutemaze { };
 
   cuyo = callPackage ../games/cuyo { };
 
@@ -30384,16 +30799,10 @@ with pkgs;
     };
   };
 
-  dhewm3 = callPackage ../games/dhewm3 {};
-
-  digikam = libsForQt5.callPackage ../applications/graphics/digikam {};
-
-  displaycal = callPackage ../applications/graphics/displaycal {};
+  dhewm3 = callPackage ../games/dhewm3 { };
 
   domination = callPackage ../games/domination { };
 
-  drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { };
-
   duckmarines = callPackage ../games/duckmarines { love = love_0_10; };
 
   dwarf-fortress-packages = recurseIntoAttrs (callPackage ../games/dwarf-fortress { });
@@ -30438,18 +30847,16 @@ with pkgs;
 
   eternity = callPackage ../games/eternity-engine { };
 
-  eureka-editor = callPackage ../applications/misc/eureka-editor { };
-
-  eureka-ideas = callPackage ../applications/misc/eureka-ideas {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
-
   extremetuxracer = callPackage ../games/extremetuxracer {
     libpng = libpng12;
   };
 
   exult = callPackage ../games/exult { };
 
+  flare = callPackage ../games/flare {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
+
   fltrator = callPackage ../games/fltrator {
     fltk = fltk-minimal;
   };
@@ -30468,13 +30875,11 @@ with pkgs;
 
   factorio-utils = callPackage ../games/factorio/utils.nix { };
 
-  fairymax = callPackage ../games/fairymax {};
-
-  fava = callPackage ../applications/office/fava {};
+  fairymax = callPackage ../games/fairymax { };
 
-  fheroes2 = callPackage ../games/fheroes2 {};
+  fheroes2 = callPackage ../games/fheroes2 { };
 
-  fish-fillets-ng = callPackage ../games/fish-fillets-ng {};
+  fish-fillets-ng = callPackage ../games/fish-fillets-ng { };
 
   fishfight = callPackage ../games/fishfight {
     inherit (xorg) libX11 libXi;
@@ -30520,8 +30925,6 @@ with pkgs;
     };
   };
 
-  fslint = callPackage ../applications/misc/fslint {};
-
   galaxis = callPackage ../games/galaxis { };
 
   gambatte = callPackage ../games/gambatte { };
@@ -30540,9 +30943,9 @@ with pkgs;
 
   gemrb = callPackage ../games/gemrb { };
 
-  gimx = callPackage ../games/gimx {};
+  gimx = callPackage ../games/gimx { };
 
-  gl117 = callPackage ../games/gl-117 {};
+  gl117 = callPackage ../games/gl-117 { };
 
   globulation2 = callPackage ../games/globulation {
     boost = boost155;
@@ -30568,30 +30971,30 @@ with pkgs;
 
   gnushogi = callPackage ../games/gnushogi { };
 
-  gogui = callPackage ../games/gogui {};
+  gogui = callPackage ../games/gogui { };
 
-  gscrabble = python3Packages.callPackage ../games/gscrabble {};
+  gscrabble = python3Packages.callPackage ../games/gscrabble { };
 
-  gshogi = python3Packages.callPackage ../games/gshogi {};
-
-  gshhg-gmt = callPackage ../applications/gis/gmt/gshhg.nix { };
+  gshogi = python3Packages.callPackage ../games/gshogi { };
 
   qtads = qt5.callPackage ../games/qtads { };
 
+  grapejuice = callPackage ../games/grapejuice {
+    wine = wineWowPackages.unstable;
+  };
+
   gtetrinet = callPackage ../games/gtetrinet {
     inherit (gnome2) GConf libgnome libgnomeui;
   };
 
   gtypist = callPackage ../games/gtypist { };
 
-  gweled = callPackage ../games/gweled {};
+  gweled = callPackage ../games/gweled { };
 
   gzdoom = callPackage ../games/gzdoom { };
 
   harmonist = callPackage ../games/harmonist { };
 
-  hawkthorne = callPackage ../games/hawkthorne { love = love_0_9; };
-
   hedgewars = libsForQt514.callPackage ../games/hedgewars {
     inherit (haskellPackages) ghcWithPackages;
   };
@@ -30624,7 +31027,7 @@ with pkgs;
 
   katagoWithCuda = katago.override {
     enableCuda = true;
-    cudnn = cudnn_cudatoolkit_11;
+    cudnn = cudnn_8_3_cudatoolkit_11;
     cudatoolkit = cudatoolkit_11;
   };
 
@@ -30632,7 +31035,7 @@ with pkgs;
     enableGPU = false;
   };
 
-  klavaro = callPackage ../games/klavaro {};
+  klavaro = callPackage ../games/klavaro { };
 
   kobodeluxe = callPackage ../games/kobodeluxe { };
 
@@ -30654,7 +31057,7 @@ with pkgs;
 
   liberation-circuit = callPackage ../games/liberation-circuit { };
 
-  lincity = callPackage ../games/lincity {};
+  lincity = callPackage ../games/lincity { };
 
   lincity_ng = callPackage ../games/lincity/ng.nix {
     # https://github.com/lincity-ng/lincity-ng/issues/25
@@ -30668,7 +31071,7 @@ with pkgs;
   liquidwar5 = callPackage ../games/liquidwar/5.nix {
   };
 
-  lugaru = callPackage ../games/lugaru {};
+  lugaru = callPackage ../games/lugaru { };
 
   macopix = callPackage ../games/macopix {
     gtk = gtk2;
@@ -30680,7 +31083,7 @@ with pkgs;
 
   mars = callPackage ../games/mars { };
 
-  megaglest = callPackage ../games/megaglest {};
+  megaglest = callPackage ../games/megaglest { };
 
   methane = callPackage ../games/methane { };
 
@@ -30700,20 +31103,20 @@ with pkgs;
 
   minecraft = callPackage ../games/minecraft { };
 
-  minecraft-server = callPackage ../games/minecraft-server { };
-
-  moon-buggy = callPackage ../games/moon-buggy {};
+  minecraftServers = import ../games/minecraft-servers { inherit callPackage lib javaPackages; };
+  minecraft-server = minecraftServers.vanilla; # backwards compatibility
 
-  multimc = libsForQt5.callPackage ../games/multimc { };
+  moon-buggy = callPackage ../games/moon-buggy { };
 
   inherit (callPackages ../games/minetest {
     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;
@@ -30725,6 +31128,10 @@ with pkgs;
     lua = lua5_1;
   };
 
+  blightmud = callPackage ../games/blightmud { };
+
+  blightmud-tts = callPackage ../games/blightmud { withTTS = true; };
+
   n2048 = callPackage ../games/n2048 { };
 
   naev = callPackage ../games/naev { };
@@ -30746,15 +31153,14 @@ with pkgs;
 
   nexuiz = callPackage ../games/nexuiz { };
 
-  nux = callPackage ../tools/misc/nux { };
-
   ninvaders = callPackage ../games/ninvaders { };
 
   njam = callPackage ../games/njam { };
 
-  newtonwars = callPackage ../games/newtonwars { };
+  npush = callPackage ../games/npush { };
+  run-npush = callPackage ../games/npush/run.nix { };
 
-  nottetris2 = callPackage ../games/nottetris2 { };
+  newtonwars = callPackage ../games/newtonwars { };
 
   nudoku = callPackage ../games/nudoku { };
 
@@ -30784,10 +31190,14 @@ with pkgs;
 
   portmod = callPackage ../games/portmod { };
 
+  tetrio-desktop = callPackage ../games/tetrio-desktop { };
+
   tr-patcher = callPackage ../games/tr-patcher { };
 
   tes3cmd = callPackage ../games/tes3cmd { };
 
+  otto-matic = callPackage ../games/otto-matic { };
+
   openraPackages = import ../games/openra pkgs;
 
   openra = openraPackages.engines.release;
@@ -30810,8 +31220,8 @@ with pkgs;
       static = true;
     };
   };
-  openttd-grfcodec = callPackage ../games/openttd/grfcodec.nix {};
-  openttd-nml = callPackage ../games/openttd/nml.nix {};
+  openttd-grfcodec = callPackage ../games/openttd/grfcodec.nix { };
+  openttd-nml = callPackage ../games/openttd/nml.nix { };
 
   opentyrian = callPackage ../games/opentyrian { };
 
@@ -30833,7 +31243,7 @@ with pkgs;
 
   pinball = callPackage ../games/pinball { };
 
-  pingus = callPackage ../games/pingus {};
+  pingus = callPackage ../games/pingus { };
 
   pioneer = callPackage ../games/pioneer { };
 
@@ -30841,11 +31251,18 @@ with pkgs;
 
   planetary_annihilation = callPackage ../games/planetaryannihilation { };
 
+  polymc = libsForQt5.callPackage ../games/polymc { };
+
   pong3d = callPackage ../games/pong3d { };
 
-  pokerth = libsForQt5.callPackage ../games/pokerth { };
+  pokerth = libsForQt5.callPackage ../games/pokerth {
+    boost = boost16x;
+  };
 
-  pokerth-server = libsForQt5.callPackage ../games/pokerth { target = "server"; };
+  pokerth-server = libsForQt5.callPackage ../games/pokerth {
+    boost = boost16x;
+    target = "server";
+  };
 
   powermanga = callPackage ../games/powermanga { };
 
@@ -30877,7 +31294,7 @@ with pkgs;
   ioquake3 = callPackage ../games/quake3/ioquake { };
   quake3e = callPackage ../games/quake3/quake3e { };
 
-  quantumminigolf = callPackage ../games/quantumminigolf {};
+  quantumminigolf = callPackage ../games/quantumminigolf { };
 
   r2mod_cli = callPackage ../games/r2mod_cli { };
 
@@ -30904,8 +31321,6 @@ with pkgs;
 
   rili = callPackage ../games/rili { };
 
-  rimshot = callPackage ../games/rimshot { love = love_0_7; };
-
   rogue = callPackage ../games/rogue {
     ncurses = ncurses5;
   };
@@ -30922,17 +31337,13 @@ with pkgs;
 
   rrootage = callPackage ../games/rrootage { };
 
-  saga = libsForQt5.callPackage ../applications/gis/saga {
-    inherit (darwin.apple_sdk.frameworks) Cocoa;
-  };
-
-  samplv1 = libsForQt5.callPackage ../applications/audio/samplv1 { };
-
-  sauerbraten = callPackage ../games/sauerbraten {};
+  space-cadet-pinball = callPackage ../games/space-cadet-pinball { };
 
-  scaleft = callPackage ../applications/networking/scaleft { };
+  starsector = callPackage ../games/starsector {
+    openjdk = openjdk8;
+  };
 
-  scaleway-cli = callPackage ../tools/admin/scaleway-cli { };
+  sauerbraten = callPackage ../games/sauerbraten { };
 
   scid = callPackage ../games/scid {
     tcl = tcl-8_5;
@@ -31005,7 +31416,7 @@ with pkgs;
 
   ssl-cert-check = callPackage ../tools/admin/ssl-cert-check { };
 
-  stardust = callPackage ../games/stardust {};
+  stardust = callPackage ../games/stardust { };
 
   starspace = callPackage ../applications/science/machine-learning/starspace { };
 
@@ -31057,6 +31468,8 @@ with pkgs;
 
   synthv1 = libsForQt5.callPackage ../applications/audio/synthv1 { };
 
+  snis = callPackage ../games/snis { };
+
   system-syzygy = callPackage ../games/system-syzygy { };
 
   t4kcommon = callPackage ../games/t4kcommon { };
@@ -31065,6 +31478,8 @@ with pkgs;
 
   tcl2048 = callPackage ../games/tcl2048 { };
 
+  the-legend-of-edgar = callPackage ../games/the-legend-of-edgar { };
+
   the-powder-toy = callPackage ../games/the-powder-toy {
     lua = lua5_1;
   };
@@ -31091,8 +31506,6 @@ with pkgs;
 
   tinyfugue = callPackage ../games/tinyfugue { };
 
-  tockloader = callPackage ../development/tools/misc/tockloader { };
-
   tome2 = callPackage ../games/tome2 { };
 
   tome4 = callPackage ../games/tome4 { };
@@ -31105,8 +31518,6 @@ with pkgs;
 
   tremulous = callPackage ../games/tremulous { };
 
-  tts = callPackage ../tools/audio/tts { };
-
   tumiki-fighters = callPackage ../games/tumiki-fighters { };
 
   tuxpaint = callPackage ../games/tuxpaint { };
@@ -31127,9 +31538,7 @@ with pkgs;
 
   typespeed = callPackage ../games/typespeed { };
 
-  uchess = callPackage ../games/uchess {
-    buildGoModule = buildGo116Module;
-  };
+  uchess = callPackage ../games/uchess { };
 
   udig = callPackage ../applications/gis/udig { };
 
@@ -31161,16 +31570,6 @@ with pkgs;
 
   ut2004demo = res.ut2004Packages.ut2004 [ res.ut2004Packages.ut2004-demo ];
 
-  vapor = callPackage ../games/vapor { love = love_0_8; };
-
-  vapoursynth = callPackage ../development/libraries/vapoursynth {
-    inherit (darwin.apple_sdk.frameworks) ApplicationServices;
-  };
-
-  vapoursynth-editor = libsForQt5.callPackage ../development/libraries/vapoursynth/editor.nix { };
-
-  vapoursynth-mvtools = callPackage ../development/libraries/vapoursynth-mvtools { };
-
   vassal = callPackage ../games/vassal { };
 
   vdrift = callPackage ../games/vdrift { };
@@ -31249,8 +31648,8 @@ with pkgs;
 
 
   xpilot-ng = callPackage ../games/xpilot { };
-  bloodspilot-server = callPackage ../games/xpilot/bloodspilot-server.nix {};
-  bloodspilot-client = callPackage ../games/xpilot/bloodspilot-client.nix {};
+  bloodspilot-server = callPackage ../games/xpilot/bloodspilot-server.nix { };
+  bloodspilot-client = callPackage ../games/xpilot/bloodspilot-client.nix { };
 
   xskat = callPackage ../games/xskat { };
 
@@ -31299,6 +31698,12 @@ with pkgs;
 
   _0verkill = callPackage ../games/0verkill { };
 
+  _7kaa = callPackage ../games/7kaa { };
+
+  hhexen = callPackage ../games/hhexen { };
+
+  wyvern = callPackage ../games/wyvern { };
+
   ### DESKTOP ENVIRONMENTS
 
   cdesktopenv = callPackage ../desktops/cdesktopenv { };
@@ -31328,8 +31733,6 @@ with pkgs;
 
   gnome-tour = callPackage ../desktops/gnome/core/gnome-tour { };
 
-  hhexen = callPackage ../games/hhexen { };
-
   hsetroot = callPackage ../tools/X11/hsetroot { };
 
   imwheel = callPackage ../tools/X11/imwheel { };
@@ -31350,6 +31753,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 {
@@ -31527,6 +31932,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 { };
@@ -31549,8 +31956,6 @@ with pkgs;
 
   last = callPackage ../applications/science/biology/last { };
 
-  lumpy = callPackage ../applications/science/biology/lumpy { };
-
   macse = callPackage ../applications/science/biology/macse { };
 
   MACS2 = callPackage ../applications/science/biology/MACS2 { };
@@ -31575,7 +31980,7 @@ with pkgs;
     useMpi = true;
   });
 
-  neuron-full = neuron-mpi.override { inherit python; };
+  neuron-full = neuron-mpi.override { python = python2; };
 
   mrbayes = callPackage ../applications/science/biology/mrbayes { };
 
@@ -31813,6 +32218,8 @@ with pkgs;
   sage = callPackage ../applications/science/math/sage { };
   sageWithDoc = sage.override { withDoc = true; };
 
+  sagetex = callPackage ../misc/sagetex { };
+
   subread = callPackage ../applications/science/biology/subread { };
 
   suitesparse_4_2 = callPackage ../development/libraries/science/math/suitesparse/4.2.nix { };
@@ -31828,6 +32235,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 { };
@@ -31898,6 +32309,8 @@ with pkgs;
 
   sherpa = callPackage ../applications/science/physics/sherpa {};
 
+  shtns = callPackage ../applications/science/physics/shtns { };
+
   xfitter = callPackage ../applications/science/physics/xfitter {};
 
   xflr5 = libsForQt5.callPackage ../applications/science/physics/xflr5 { };
@@ -31951,7 +32364,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;
@@ -31975,6 +32388,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 {};
@@ -32196,6 +32611,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
 
@@ -32373,9 +32794,7 @@ with pkgs;
 
   astrolabe-generator = callPackage ../applications/science/astronomy/astrolabe-generator { };
 
-  tulip = callPackage ../applications/science/misc/tulip {
-    cmake = cmake_2_8;
-  };
+  tulip = libsForQt5.callPackage ../applications/science/misc/tulip { };
 
   vite = callPackage ../applications/science/misc/vite { };
 
@@ -32458,11 +32877,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 { };
 
@@ -32476,7 +32895,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 { };
 
@@ -32498,7 +32917,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 { };
 
@@ -32539,6 +32958,8 @@ with pkgs;
 
   epson_201207w = callPackage ../misc/drivers/epson_201207w { };
 
+  epson-201401w = callPackage ../misc/drivers/epson-201401w { };
+
   epson-201106w = callPackage ../misc/drivers/epson-201106w { };
 
   epson-workforce-635-nx625-series = callPackage ../misc/drivers/epson-workforce-635-nx625-series { };
@@ -32574,13 +32995,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 { };
 
@@ -32596,13 +33017,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 { };
 
@@ -32614,7 +33033,7 @@ with pkgs;
 
   ecdsatool = callPackage ../tools/security/ecdsatool { };
 
-  emulationstation = callPackage ../misc/emulators/emulationstation { };
+  emulationstation = callPackage ../applications/emulators/emulationstation { };
 
   electricsheep = callPackage ../misc/screensavers/electricsheep { };
 
@@ -32624,7 +33043,7 @@ with pkgs;
 
   glee = callPackage ../tools/graphics/glee { };
 
-  fakenes = callPackage ../misc/emulators/fakenes { };
+  fakenes = callPackage ../applications/emulators/fakenes { };
 
   faust = res.faust2;
 
@@ -32658,7 +33077,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 { };
 
@@ -32674,7 +33093,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;
@@ -32683,7 +33102,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 { };
 
@@ -32709,9 +33128,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;
@@ -32731,10 +33150,6 @@ with pkgs;
 
   hplipWithPlugin = hplip.override { withPlugin = true; };
 
-  hplip_3_16_11 = callPackage ../misc/drivers/hplip/3.16.11.nix { };
-
-  hplipWithPlugin_3_16_11 = hplip_3_16_11.override { withPlugin = true; };
-
   hyperfine = callPackage ../tools/misc/hyperfine {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -32761,9 +33176,9 @@ with pkgs;
 
   idsk = callPackage ../tools/filesystems/idsk { };
 
-  colima = callPackage ../applications/virtualization/colima {};
+  colima = callPackage ../applications/virtualization/colima { };
 
-  lima = callPackage ../applications/virtualization/lima {};
+  lima = callPackage ../applications/virtualization/lima { };
 
   logtop = callPackage ../tools/misc/logtop { };
 
@@ -32826,7 +33241,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;
@@ -32834,7 +33249,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;
   };
 
@@ -32854,7 +33269,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 { };
 
@@ -32862,21 +33277,19 @@ with pkgs;
 
   mynewt-newt = callPackage ../tools/package-management/mynewt-newt { };
 
+  mysides = callPackage ../os-specific/darwin/mysides { };
+
   nar-serve = callPackage ../tools/nix/nar-serve { };
 
   neo = callPackage ../applications/misc/neo { };
 
-  inherit (callPackage ../tools/package-management/nix {
-      storeDir = config.nix.storeDir or "/nix/store";
-      stateDir = config.nix.stateDir or "/nix/var";
-      inherit (darwin.apple_sdk.frameworks) Security;
-      })
-    nix
-    nixStable
-    nix_2_3
-    nix_2_4
-    nix_2_5
-    nixUnstable;
+  nixVersions = recurseIntoAttrs (callPackage ../tools/package-management/nix {
+    storeDir = config.nix.storeDir or "/nix/store";
+    stateDir = config.nix.stateDir or "/nix/var";
+    inherit (darwin.apple_sdk.frameworks) Security;
+  });
+
+  nix = nixVersions.stable;
 
   nixStatic = pkgsStatic.nix;
 
@@ -32958,6 +33371,20 @@ with pkgs;
       in
         c.config.system.build // c;
 
+  /*
+    A NixOS/home-manager/arion/... module that sets the `pkgs` module argument.
+   */
+  pkgsModule = { lib, options, ... }: {
+    config =
+      if options?nixpkgs.pkgs then {
+        # legacy / nixpkgs.nix style
+        nixpkgs.pkgs = pkgs;
+      }
+      else {
+        # minimal
+        _module.args.pkgs = pkgs;
+      };
+  };
 
   /*
    * Run a NixOS VM network test using this evaluation of Nixpkgs.
@@ -33049,7 +33476,7 @@ with pkgs;
 
   nix-linter = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-linter);
 
-  nixos-option = callPackage ../tools/nix/nixos-option { nix = nix_2_3; };
+  nixos-option = callPackage ../tools/nix/nixos-option { nix = nixVersions.nix_2_3; };
 
   nix-pin = callPackage ../tools/package-management/nix-pin { };
 
@@ -33074,7 +33501,7 @@ with pkgs;
 
   nix-script = callPackage ../tools/nix/nix-script {};
 
-  nix-template-rpm = callPackage ../build-support/templaterpm { inherit (pythonPackages) python toposort; };
+  nix-template-rpm = callPackage ../build-support/templaterpm { inherit (python2Packages) python toposort; };
 
   nix-top = callPackage ../tools/package-management/nix-top { };
 
@@ -33094,6 +33521,8 @@ with pkgs;
 
   nix-simple-deploy = callPackage ../tools/package-management/nix-simple-deploy { };
 
+  alejandra = callPackage ../tools/nix/alejandra { };
+
   nixfmt = haskell.lib.compose.justStaticExecutables haskellPackages.nixfmt;
 
   nixpkgs-fmt = callPackage ../tools/nix/nixpkgs-fmt { };
@@ -33125,7 +33554,7 @@ with pkgs;
   disnix = callPackage ../tools/package-management/disnix { };
 
   dysnomia = callPackage ../tools/package-management/disnix/dysnomia (config.disnix or {
-    inherit (pythonPackages) supervisor;
+    inherit (python2Packages) supervisor;
   });
 
   dydisnix = callPackage ../tools/package-management/disnix/dydisnix { };
@@ -33177,7 +33606,7 @@ with pkgs;
 
   OSCAR = qt5.callPackage ../applications/misc/OSCAR { };
 
-  pcem = callPackage ../misc/emulators/pcem { };
+  pcem = callPackage ../applications/emulators/pcem { };
 
   pgmanage = callPackage ../applications/misc/pgmanage { };
 
@@ -33207,13 +33636,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 { };
 
@@ -33223,13 +33652,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 {
-    inherit (python3Packages) pyqt5 setuptools requests;
-  };
+  fsuae-launcher = callPackage ../applications/emulators/fs-uae/launcher.nix { };
 
   putty = callPackage ../applications/networking/remote/putty {
     gtk2 = gtk2-x11;
@@ -33255,26 +33682,29 @@ 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;
   };
 
   retroarch = wrapRetroArch { retroarch = retroarchBare; };
 
   retroarchFull = retroarch.override {
-    cores = builtins.filter (c: c ? libretroCore) (builtins.attrValues libretro);
+    cores = builtins.filter
+      # Remove cores not supported on platform
+      (c: c ? libretroCore && (lib.meta.availableOn stdenv.hostPlatform c))
+      (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 { };
 
@@ -33286,6 +33716,8 @@ with pkgs;
 
   ricty = callPackage ../data/fonts/ricty { };
 
+  rmfakecloud = callPackage ../servers/rmfakecloud { };
+
   rmfuse = callPackage ../tools/filesystems/rmfuse {};
 
   rmount = callPackage ../tools/filesystems/rmount {};
@@ -33456,7 +33888,6 @@ with pkgs;
 
   inherit (callPackage ../applications/networking/cluster/terraform { })
     mkTerraform
-    terraform_0_12
     terraform_0_13
     terraform_0_14
     terraform_0_15
@@ -33469,7 +33900,7 @@ with pkgs;
   terraform-full = terraform.full;
 
   terraform-providers = recurseIntoAttrs (
-    callPackage ../applications/networking/cluster/terraform-providers {}
+    callPackage ../applications/networking/cluster/terraform-providers { }
   );
 
   terraforming = callPackage ../applications/networking/cluster/terraforming { };
@@ -33490,7 +33921,7 @@ with pkgs;
 
   tgswitch = callPackage ../applications/networking/cluster/tgswitch {};
 
-  tilt = callPackage ../applications/networking/cluster/tilt {};
+  tilt = callPackage ../applications/networking/cluster/tilt { };
 
   timeular = callPackage ../applications/office/timeular {};
 
@@ -33509,8 +33940,12 @@ with pkgs;
 
   ib-controller = callPackage ../applications/office/ib/controller { jdk=oraclejdk8; };
 
+  vcluster = callPackage ../applications/networking/cluster/vcluster {};
+
   vnote = libsForQt5.callPackage ../applications/office/vnote { };
 
+  sshportal = callPackage ../servers/sshportal { };
+
   ssh-audit = callPackage ../tools/security/ssh-audit { };
 
   ssh-tools = callPackage ../applications/misc/ssh-tools { };
@@ -33578,11 +34013,11 @@ 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 { };
 
@@ -33664,7 +34099,7 @@ with pkgs;
     inherit wineBuild;
 
     inherit (callPackage ./wine-packages.nix {})
-      minimal base full stable stableFull unstable unstableFull staging stagingFull fonts;
+      minimal base full stable stableFull unstable unstableFull staging stagingFull wayland waylandFull fonts;
   });
 
   winePackages = recurseIntoAttrs (winePackagesFor (config.wine.build or "wine32"));
@@ -33678,7 +34113,11 @@ with pkgs;
     wineRelease = "staging";
   });
 
-  winetricks = callPackage ../misc/emulators/wine/winetricks.nix {
+  wine-wayland = lowPrio (winePackages.full.override {
+    wineRelease = "wayland";
+  });
+
+  winetricks = callPackage ../applications/emulators/wine/winetricks.nix {
     inherit (gnome) zenity;
   };
 
@@ -33696,11 +34135,7 @@ with pkgs;
 
   wprecon = callPackage ../tools/security/wprecon { };
 
-  wraith = callPackage ../applications/networking/irc/wraith {
-    openssl = openssl_1_0_2;
-  };
-
-  wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { };
+  wraith = callPackage ../applications/networking/irc/wraith { };
 
   wxsqlite3 = callPackage ../development/libraries/wxsqlite3 {
     wxGTK = wxGTK30;
@@ -33712,8 +34147,6 @@ with pkgs;
     wxGTK = wxGTK30;
   };
 
-  wyvern = callPackage ../games/wyvern { };
-
   x11idle = callPackage ../tools/misc/x11idle {};
 
   x11docker = callPackage ../applications/virtualization/x11docker { };
@@ -33774,7 +34207,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;
   };
@@ -33797,11 +34230,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;
   };
@@ -33824,36 +34257,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 {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL OpenAL;
-  };
+  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;
   };
@@ -33883,17 +34314,17 @@ with pkgs;
 
   discord = import ../applications/networking/instant-messengers/discord {
     branch = "stable";
-    inherit pkgs;
+    inherit pkgs lib stdenv;
   };
 
   discord-ptb = import ../applications/networking/instant-messengers/discord {
     branch = "ptb";
-    inherit pkgs;
+    inherit pkgs lib stdenv;
   };
 
   discord-canary = import ../applications/networking/instant-messengers/discord {
     branch = "canary";
-    inherit pkgs;
+    inherit pkgs lib stdenv;
   };
 
   golden-cheetah = libsForQt514.callPackage ../applications/misc/golden-cheetah {};
@@ -33902,8 +34333,6 @@ with pkgs;
 
   tomb = callPackage ../os-specific/linux/tomb {};
 
-  tomboy = callPackage ../applications/misc/tomboy { };
-
   imatix_gsl = callPackage ../development/tools/imatix_gsl {};
 
   sccache = callPackage ../development/tools/misc/sccache {
@@ -33934,6 +34363,8 @@ with pkgs;
 
   xrq = callPackage ../applications/misc/xrq { };
 
+  pynitrokey = callPackage ../tools/security/pynitrokey { };
+
   nitrokey-app = libsForQt5.callPackage ../tools/security/nitrokey-app { };
   nitrokey-udev-rules = callPackage ../tools/security/nitrokey-app/udev-rules.nix { };
 
@@ -34124,7 +34555,7 @@ with pkgs;
 
   webwormhole = callPackage ../tools/networking/webwormhole { };
 
-  werf = callPackage ../applications/networking/cluster/werf {};
+  werf = callPackage ../applications/networking/cluster/werf { };
 
   wifi-password = callPackage ../os-specific/darwin/wifi-password {};
 
@@ -34142,7 +34573,7 @@ with pkgs;
 
   sentencepiece = callPackage ../development/libraries/sentencepiece {};
 
-  kcli = callPackage ../development/tools/kcli {};
+  kcli = callPackage ../development/tools/kcli { };
 
   pxlib = callPackage ../development/libraries/pxlib {};
 
@@ -34152,6 +34583,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 { };
@@ -34170,7 +34603,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 {};
@@ -34199,7 +34632,9 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation IOKit;
   };
 
-  cagebreak = callPackage ../applications/window-managers/cagebreak { };
+  cagebreak = callPackage ../applications/window-managers/cagebreak {
+    wlroots = wlroots_0_14;
+  };
 
   psftools = callPackage ../os-specific/linux/psftools {};
 
@@ -34211,7 +34646,7 @@ with pkgs;
 
   xsos = callPackage ../os-specific/linux/xsos { };
 
-  zesarux = callPackage ../misc/emulators/zesarux { };
+  zesarux = callPackage ../applications/emulators/zesarux { };
 
   zk = callPackage ../applications/office/zk {};
 
@@ -34222,4 +34657,10 @@ with pkgs;
   };
 
   zthrottle = callPackage ../tools/misc/zthrottle { };
+
+  honeymarker = callPackage ../servers/tracing/honeycomb/honeymarker { };
+
+  honeytail = callPackage ../servers/tracing/honeycomb/honeytail { };
+
+  honeyvent = callPackage ../servers/tracing/honeycomb/honeyvent { };
 }
diff --git a/nixpkgs/pkgs/top-level/coq-packages.nix b/nixpkgs/pkgs/top-level/coq-packages.nix
index 704457453779..b5b7158de647 100644
--- a/nixpkgs/pkgs/top-level/coq-packages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/darwin-packages.nix b/nixpkgs/pkgs/top-level/darwin-packages.nix
index 2e031e27307a..d6ee88bc4f5e 100644
--- a/nixpkgs/pkgs/top-level/darwin-packages.nix
+++ b/nixpkgs/pkgs/top-level/darwin-packages.nix
@@ -148,14 +148,14 @@ 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 { };
 
   trash = callPackage ../os-specific/darwin/trash { };
 
-  usr-include = callPackage ../os-specific/darwin/usr-include { };
-
   xattr = pkgs.python3Packages.callPackage ../os-specific/darwin/xattr { };
 
   inherit (pkgs.callPackages ../os-specific/darwin/xcode { })
diff --git a/nixpkgs/pkgs/top-level/default.nix b/nixpkgs/pkgs/top-level/default.nix
index 10cf36d4d13e..e95a0db78c3c 100644
--- a/nixpkgs/pkgs/top-level/default.nix
+++ b/nixpkgs/pkgs/top-level/default.nix
@@ -49,6 +49,15 @@ let # Rename the function arguments
 in let
   lib = import ../../lib;
 
+  inherit (lib) throwIfNot;
+
+  checked =
+    throwIfNot (lib.isList overlays) "The overlays argument to nixpkgs must be a list."
+    lib.foldr (x: throwIfNot (lib.isFunction x) "All overlays passed to nixpkgs must be functions.") (r: r) overlays
+    throwIfNot (lib.isList crossOverlays) "The crossOverlays argument to nixpkgs must be a list."
+    lib.foldr (x: throwIfNot (lib.isFunction x) "All crossOverlays passed to nixpkgs must be functions.") (r: r) crossOverlays
+    ;
+
   localSystem = lib.systems.elaborate args.localSystem;
 
   # Condition preserves sharing which in turn affects equality.
@@ -121,4 +130,4 @@ in let
 
   pkgs = boot stages;
 
-in pkgs
+in checked pkgs
diff --git a/nixpkgs/pkgs/top-level/gnuradio-packages.nix b/nixpkgs/pkgs/top-level/gnuradio-packages.nix
index d291c1e830cd..1cd2c93da773 100644
--- a/nixpkgs/pkgs/top-level/gnuradio-packages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/haskell-packages.nix b/nixpkgs/pkgs/top-level/haskell-packages.nix
index 089450ef97d5..378c2c4385bd 100644
--- a/nixpkgs/pkgs/top-level/haskell-packages.nix
+++ b/nixpkgs/pkgs/top-level/haskell-packages.nix
@@ -12,14 +12,18 @@ let
     "ghcjs810"
     "integer-simple"
     "native-bignum"
+    "ghc902"
+    "ghc921"
     "ghcHEAD"
   ];
 
   nativeBignumIncludes = [
+    "ghc902"
+    "ghc921"
     "ghcHEAD"
   ];
 
-  haskellLibUncomposable = import ../development/haskell-modules/lib.nix {
+  haskellLibUncomposable = import ../development/haskell-modules/lib {
     inherit (pkgs) lib;
     inherit pkgs;
   };
@@ -101,7 +105,7 @@ in {
       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
       llvmPackages = pkgs.llvmPackages_12;
     };
-    ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
+    ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix {
       bootPkgs =
         # aarch64 ghc8107Binary exceeds max output size on hydra
         # the oldest ghc with aarch64-darwin support is 8.10.5
@@ -110,9 +114,9 @@ in {
         else
           packages.ghc8107Binary;
       inherit (buildPackages.python3Packages) sphinx;
-      inherit (buildPackages.darwin) autoSignDarwinBinariesHook;
-      buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_9;
-      llvmPackages = pkgs.llvmPackages_9;
+      inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr;
+      buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
+      llvmPackages = pkgs.llvmPackages_12;
     };
     ghc921 = callPackage ../development/compilers/ghc/9.2.1.nix {
       bootPkgs =
@@ -215,9 +219,9 @@ in {
       ghc = bh.compiler.ghc8107;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
     };
-    ghc901 = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc901;
-      ghc = bh.compiler.ghc901;
+    ghc902 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc902;
+      ghc = bh.compiler.ghc902;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
     };
     ghc921 = callPackage ../development/haskell-modules {
diff --git a/nixpkgs/pkgs/top-level/java-packages.nix b/nixpkgs/pkgs/top-level/java-packages.nix
index cf6474f0da5b..c8d9e85fbd77 100644
--- a/nixpkgs/pkgs/top-level/java-packages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/kodi-packages.nix b/nixpkgs/pkgs/top-level/kodi-packages.nix
index ed5799eab4f7..6771ffe65b1d 100644
--- a/nixpkgs/pkgs/top-level/kodi-packages.nix
+++ b/nixpkgs/pkgs/top-level/kodi-packages.nix
@@ -1,4 +1,4 @@
-{ lib, newScope, kodi, libretro }:
+{ config, lib, newScope, kodi, libretro }:
 
 with lib;
 
@@ -52,25 +52,9 @@ let self = rec {
 
   a4ksubtitles = callPackage ../applications/video/kodi/addons/a4ksubtitles { };
 
-  controllers = {
-    default = callPackage ../applications/video/kodi/addons/controllers { controller = "default"; };
+  arteplussept = callPackage ../applications/video/kodi/addons/arteplussept { };
 
-    dreamcast = callPackage ../applications/video/kodi/addons/controllers { controller = "dreamcast"; };
-
-    gba = callPackage ../applications/video/kodi/addons/controllers { controller = "gba"; };
-
-    genesis = callPackage ../applications/video/kodi/addons/controllers { controller = "genesis"; };
-
-    mouse = callPackage ../applications/video/kodi/addons/controllers { controller = "mouse"; };
-
-    n64 = callPackage ../applications/video/kodi/addons/controllers { controller = "n64"; };
-
-    nes = callPackage ../applications/video/kodi/addons/controllers { controller = "nes"; };
-
-    ps = callPackage ../applications/video/kodi/addons/controllers { controller = "ps"; };
-
-    snes = callPackage ../applications/video/kodi/addons/controllers { controller = "snes"; };
-  };
+  controller-topology-project = callPackage ../applications/video/kodi/addons/controller-topology-project { };
 
   iagl = callPackage ../applications/video/kodi/addons/iagl { };
 
@@ -90,6 +74,8 @@ let self = rec {
 
   netflix = callPackage ../applications/video/kodi/addons/netflix { };
 
+  orftvthek = callPackage ../applications/video/kodi/addons/orftvthek { };
+
   svtplay = callPackage ../applications/video/kodi/addons/svtplay { };
 
   steam-controller = callPackage ../applications/video/kodi/addons/steam-controller { };
@@ -126,6 +112,8 @@ let self = rec {
 
   defusedxml = callPackage ../applications/video/kodi/addons/defusedxml { };
 
+  future = callPackage ../applications/video/kodi/addons/future { };
+
   idna = callPackage ../applications/video/kodi/addons/idna { };
 
   inputstream-adaptive = callPackage ../applications/video/kodi/addons/inputstream-adaptive { };
@@ -148,10 +136,25 @@ let self = rec {
 
   signals = callPackage ../applications/video/kodi/addons/signals { };
 
+  simplejson = callPackage ../applications/video/kodi/addons/simplejson { };
+
   six = callPackage ../applications/video/kodi/addons/six { };
 
   urllib3 = callPackage ../applications/video/kodi/addons/urllib3 { };
 
   websocket = callPackage ../applications/video/kodi/addons/websocket { };
 
-}; in self
+  xbmcswift2 = callPackage ../applications/video/kodi/addons/xbmcswift2 { };
+
+  typing_extensions = callPackage ../applications/video/kodi/addons/typing_extensions { };
+
+  arrow = callPackage ../applications/video/kodi/addons/arrow { };
+
+  trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { };
+
+  trakt = callPackage ../applications/video/kodi/addons/trakt { };
+}; in self // lib.optionalAttrs (config.allowAliases or true) {
+  # deprecated or renamed packages
+
+  controllers = throw "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." { };
+}
diff --git a/nixpkgs/pkgs/top-level/linux-kernels.nix b/nixpkgs/pkgs/top-level/linux-kernels.nix
index 5adb2cc17364..d9a96164c6aa 100644
--- a/nixpkgs/pkgs/top-level/linux-kernels.nix
+++ b/nixpkgs/pkgs/top-level/linux-kernels.nix
@@ -166,6 +166,13 @@ in {
       ];
     };
 
+    linux_5_16 = callPackage ../os-specific/linux/kernel/linux-5.16.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
     linux_testing = let
       testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
         kernelPatches = [
@@ -248,7 +255,15 @@ in {
 
     akvcam = callPackage ../os-specific/linux/akvcam { };
 
-    amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { };
+    amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro {
+      libffi = pkgs.libffi.overrideAttrs (orig: rec {
+        version = "3.3";
+        src = fetchurl {
+          url = "https://github.com/libffi/libffi/releases/download/v${version}/${orig.pname}-${version}.tar.gz";
+          sha256 = "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj";
+        };
+      });
+    };
 
     anbox = callPackage ../os-specific/linux/anbox/kmod.nix { };
 
@@ -273,6 +288,8 @@ in {
 
     dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { };
 
+    dpdk = pkgs.dpdk.override { inherit kernel; };
+
     exfat-nofuse = callPackage ../os-specific/linux/exfat { };
 
     evdi = callPackage ../os-specific/linux/evdi { };
@@ -333,6 +350,8 @@ in {
 
     rtl8192eu = callPackage ../os-specific/linux/rtl8192eu { };
 
+    rtl8189es = callPackage ../os-specific/linux/rtl8189es { };
+
     rtl8723bs = callPackage ../os-specific/linux/rtl8723bs { };
 
     rtl8812au = callPackage ../os-specific/linux/rtl8812au { };
@@ -352,7 +371,7 @@ in {
     rtw88 = callPackage ../os-specific/linux/rtw88 { };
     rtlwifi_new = rtw88;
 
-    rtw89 = callPackage ../os-specific/linux/rtw89 { };
+    rtw89 = if lib.versionOlder kernel.version "5.16" then callPackage ../os-specific/linux/rtw89 { } else null;
 
     openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { };
     openafs_1_9 = callPackage ../servers/openafs/1.9/module.nix { };
@@ -419,7 +438,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;
@@ -431,6 +452,8 @@ in {
 
     vm-tools = callPackage ../os-specific/linux/vm-tools { };
 
+    vmm_clock = callPackage ../os-specific/linux/vmm_clock { };
+
     wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null;
 
     x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
@@ -464,6 +487,7 @@ in {
     linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
     linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
     linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
+    linux_5_16 = recurseIntoAttrs (packagesFor kernels.linux_5_16);
   };
 
   rtPackages = {
@@ -508,7 +532,7 @@ in {
   packageAliases = {
     linux_default = packages.linux_5_10;
     # Update this when adding the newest kernel major version!
-    linux_latest = packages.linux_5_15;
+    linux_latest = packages.linux_5_16;
     linux_mptcp = packages.linux_mptcp_95;
     linux_rt_default = packages.linux_rt_5_4;
     linux_rt_latest = packages.linux_rt_5_10;
diff --git a/nixpkgs/pkgs/top-level/make-tarball.nix b/nixpkgs/pkgs/top-level/make-tarball.nix
index c5a5a4376999..a63432236471 100644
--- a/nixpkgs/pkgs/top-level/make-tarball.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/nim-packages.nix b/nixpkgs/pkgs/top-level/nim-packages.nix
index fa78e6ed9aa9..e808ebef8540 100644
--- a/nixpkgs/pkgs/top-level/nim-packages.nix
+++ b/nixpkgs/pkgs/top-level/nim-packages.nix
@@ -30,6 +30,8 @@ lib.makeScope newScope (self:
 
     jsonschema = callPackage ../development/nim-packages/jsonschema { };
 
+    jsony = callPackage ../development/nim-packages/jsony { };
+
     karax = callPackage ../development/nim-packages/karax { };
 
     lscolors = callPackage ../development/nim-packages/lscolors { };
@@ -77,8 +79,6 @@ lib.makeScope newScope (self:
 
     tempfile = callPackage ../development/nim-packages/tempfile { };
 
-    typography = callPackage ../development/nim-packages/typography { };
-
     ui = callPackage ../development/nim-packages/ui { inherit (pkgs) libui; };
 
     unicodedb = callPackage ../development/nim-packages/unicodedb { };
diff --git a/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix b/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix
index 758c8bf06c36..28f8cf332977 100644
--- a/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix
+++ b/nixpkgs/pkgs/top-level/nixpkgs-basic-release-checks.nix
@@ -19,27 +19,53 @@ pkgs.runCommand "nixpkgs-release-checks" { src = nixpkgs; buildInputs = [nix]; }
         exit 1
     fi
 
-    # Make sure that derivation paths do not depend on the Nixpkgs path.
-    mkdir $TMPDIR/foo
-    ln -s $(readlink -f $src) $TMPDIR/foo/bar
-    p1=$(nix-instantiate $src --dry-run -A firefox --show-trace)
-    p2=$(nix-instantiate $TMPDIR/foo/bar --dry-run -A firefox --show-trace)
-    if [ "$p1" != "$p2" ]; then
-        echo "Nixpkgs evaluation depends on Nixpkgs path ($p1 vs $p2)!"
-        exit 1
-    fi
+    src2=$TMPDIR/foo
+    cp -rd $src $src2
 
     # Check that all-packages.nix evaluates on a number of platforms without any warnings.
     for platform in ${pkgs.lib.concatStringsSep " " supportedSystems}; do
         header "checking Nixpkgs on $platform"
 
-        nix-env -f $src \
+        # To get a call trace; see https://nixos.org/manual/nixpkgs/stable/#function-library-lib.trivial.warn
+        # Relies on impure eval
+        export NIX_ABORT_ON_WARN=true
+
+        set +e
+        (
+          set -x
+          nix-env -f $src \
+              --show-trace --argstr system "$platform" \
+              --arg config '{ allowAliases = false; }' \
+              --option experimental-features 'no-url-literals' \
+              -qa --drv-path --system-filter \* --system \
+              "''${opts[@]}" 2> eval-warnings.log > packages1
+        )
+        rc=$?
+        set -e
+        if [ "$rc" != "0" ]; then
+          cat eval-warnings.log
+          exit $rc
+        fi
+
+        s1=$(sha1sum packages1 | cut -c1-40)
+        echo $s1
+
+        nix-env -f $src2 \
             --show-trace --argstr system "$platform" \
             --arg config '{ allowAliases = false; }' \
             --option experimental-features 'no-url-literals' \
             -qa --drv-path --system-filter \* --system \
-            "''${opts[@]}" 2>&1 >/dev/null | tee eval-warnings.log
+            "''${opts[@]}" > packages2
+
+        s2=$(sha1sum packages2 | cut -c1-40)
+
+        if [[ $s1 != $s2 ]]; then
+            echo "Nixpkgs evaluation depends on Nixpkgs path"
+            diff packages1 packages2
+            exit 1
+        fi
 
+        # Catch any trace calls not caught by NIX_ABORT_ON_WARN (lib.warn)
         if [ -s eval-warnings.log ]; then
             echo "Nixpkgs on $platform evaluated with warnings, aborting"
             exit 1
diff --git a/nixpkgs/pkgs/top-level/ocaml-packages.nix b/nixpkgs/pkgs/top-level/ocaml-packages.nix
index aed626868651..fe7fd7d856ae 100644
--- a/nixpkgs/pkgs/top-level/ocaml-packages.nix
+++ b/nixpkgs/pkgs/top-level/ocaml-packages.nix
@@ -81,6 +81,7 @@ let
     bls12-381 = callPackage ../development/ocaml-modules/bls12-381 { };
     bls12-381-gen = callPackage ../development/ocaml-modules/bls12-381/gen.nix { };
     bls12-381-unix = callPackage ../development/ocaml-modules/bls12-381/unix.nix { };
+    bls12-381-legacy = callPackage ../development/ocaml-modules/bls12-381/legacy.nix { };
 
     bolt = callPackage ../development/ocaml-modules/bolt { };
 
@@ -139,7 +140,9 @@ let
 
     ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
 
-    cairo2 = callPackage ../development/ocaml-modules/cairo2 { };
+    cairo2 = callPackage ../development/ocaml-modules/cairo2 {
+      inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
+    };
 
     callipyge = callPackage ../development/ocaml-modules/callipyge { };
 
@@ -254,6 +257,8 @@ let
 
     data-encoding = callPackage ../development/ocaml-modules/data-encoding { };
 
+    dbf =  callPackage ../development/ocaml-modules/dbf { };
+
     decompress =  callPackage ../development/ocaml-modules/decompress { };
 
     diet =  callPackage ../development/ocaml-modules/diet { };
@@ -305,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 { };
@@ -511,8 +518,6 @@ let
 
     graphql_ppx = callPackage ../development/ocaml-modules/graphql_ppx { };
 
-    gtktop = callPackage ../development/ocaml-modules/gtktop { };
-
     hex = callPackage ../development/ocaml-modules/hex { };
 
     httpaf = callPackage ../development/ocaml-modules/httpaf { };
@@ -598,10 +603,10 @@ let
     lablgtk3-sourceview3 = callPackage ../development/ocaml-modules/lablgtk3/sourceview3.nix { };
 
     lablgtk_2_14 = callPackage ../development/ocaml-modules/lablgtk/2.14.0.nix {
-      inherit (pkgs.gnome2) libgnomecanvas libglade gtksourceview;
+      inherit (pkgs.gnome2) libgnomecanvas gtksourceview;
     };
     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
-      inherit (pkgs.gnome2) libgnomecanvas libglade gtksourceview;
+      inherit (pkgs.gnome2) libgnomecanvas gtksourceview;
     };
 
     lablgtk-extras =
@@ -908,6 +913,8 @@ let
 
     ocaml-print-intf = callPackage ../development/ocaml-modules/ocaml-print-intf { };
 
+    ocaml-recovery-parser = callPackage ../development/tools/ocaml/ocaml-recovery-parser { };
+
     pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
 
     pgocaml_ppx = callPackage ../development/ocaml-modules/pgocaml/ppx.nix {};
@@ -1052,8 +1059,6 @@ let
 
     ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix { };
 
-    ppxfind = callPackage ../development/ocaml-modules/ppxfind { };
-
     ppxlib = callPackage ../development/ocaml-modules/ppxlib { };
 
     psmt2-frontend = callPackage ../development/ocaml-modules/psmt2-frontend { };
@@ -1176,6 +1181,8 @@ let
 
     printbox = callPackage ../development/ocaml-modules/printbox { };
 
+    printbox-text = callPackage ../development/ocaml-modules/printbox/text.nix { };
+
     process = callPackage ../development/ocaml-modules/process { };
 
     prof_spacetime = callPackage ../development/ocaml-modules/prof_spacetime { };
@@ -1279,18 +1286,25 @@ let
 
     tcslib = callPackage ../development/ocaml-modules/tcslib { };
 
+    terminal = callPackage ../development/ocaml-modules/terminal { };
+
     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
 
     tezos-010-PtGRANAD-test-helpers = callPackage ../development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix { };
+    tezos-011-PtHangz2-test-helpers = callPackage ../development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix { };
     tezos-base = callPackage ../development/ocaml-modules/tezos/base.nix { };
+    tezos-base-test-helpers = callPackage ../development/ocaml-modules/tezos/base-test-helpers.nix { };
     tezos-clic = callPackage ../development/ocaml-modules/tezos/clic.nix { };
     tezos-client-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/client-010-PtGRANAD.nix { };
+    tezos-client-011-PtHangz2 = callPackage ../development/ocaml-modules/tezos/client-011-PtHangz2.nix { };
     tezos-client-base = callPackage ../development/ocaml-modules/tezos/client-base.nix { };
     tezos-context = callPackage ../development/ocaml-modules/tezos/context.nix { };
     tezos-crypto = callPackage ../development/ocaml-modules/tezos/crypto.nix { };
     tezos-embedded-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix { };
+    tezos-embedded-protocol-demo-noops = callPackage ../development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix { };
     tezos-error-monad = callPackage ../development/ocaml-modules/tezos/error-monad.nix { };
     tezos-event-logging = callPackage ../development/ocaml-modules/tezos/event-logging.nix { };
+    tezos-event-logging-test-helpers = callPackage ../development/ocaml-modules/tezos/event-logging-test-helpers.nix { };
     tezos-legacy-store = callPackage ../development/ocaml-modules/tezos/legacy-store.nix { };
     tezos-lmdb = callPackage ../development/ocaml-modules/tezos/lmdb.nix { };
     tezos-hacl-glue = callPackage ../development/ocaml-modules/tezos/hacl-glue.nix { };
@@ -1301,14 +1315,20 @@ let
     tezos-mockup-registration = callPackage ../development/ocaml-modules/tezos/mockup-registration.nix { };
     tezos-p2p-services = callPackage ../development/ocaml-modules/tezos/p2p-services.nix { };
     tezos-p2p = callPackage ../development/ocaml-modules/tezos/p2p.nix { };
-    tezos-protocol-010-PtGRANAD-parameters = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix { };
     tezos-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix { };
+    tezos-protocol-010-PtGRANAD-parameters = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix { };
+    tezos-protocol-011-PtHangz2 = callPackage ../development/ocaml-modules/tezos/protocol-011-PtHangz2.nix { };
+    tezos-protocol-011-PtHangz2-parameters = callPackage ../development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix { };
+    tezos-protocol-alpha = callPackage ../development/ocaml-modules/tezos/protocol-alpha.nix { };
     tezos-protocol-compiler = callPackage ../development/ocaml-modules/tezos/protocol-compiler.nix { };
+    tezos-protocol-demo-noops = callPackage ../development/ocaml-modules/tezos/protocol-demo-noops.nix { };
     tezos-protocol-environment-packer = callPackage ../development/ocaml-modules/tezos/protocol-environment-packer.nix { };
     tezos-protocol-environment-sigs = callPackage ../development/ocaml-modules/tezos/protocol-environment-sigs.nix { };
     tezos-protocol-environment-structs = callPackage ../development/ocaml-modules/tezos/protocol-environment-structs.nix { };
     tezos-protocol-environment = callPackage ../development/ocaml-modules/tezos/protocol-environment.nix { };
     tezos-protocol-plugin-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix { };
+    tezos-protocol-plugin-011-PtHangz2 = callPackage ../development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix { };
+    tezos-protocol-plugin-alpha = callPackage ../development/ocaml-modules/tezos/protocol-plugin-alpha.nix { };
     tezos-protocol-updater = callPackage ../development/ocaml-modules/tezos/protocol-updater.nix { };
     tezos-proxy = callPackage ../development/ocaml-modules/tezos/proxy.nix { };
     tezos-requester = callPackage ../development/ocaml-modules/tezos/requester.nix { };
@@ -1319,6 +1339,7 @@ let
     tezos-sapling = callPackage ../development/ocaml-modules/tezos/sapling.nix { };
     tezos-shell-context = callPackage ../development/ocaml-modules/tezos/shell-context.nix { };
     tezos-shell-services = callPackage ../development/ocaml-modules/tezos/shell-services.nix { };
+    tezos-shell-services-test-helpers = callPackage ../development/ocaml-modules/tezos/shell-services-test-helpers.nix { };
     tezos-shell = callPackage ../development/ocaml-modules/tezos/shell.nix { };
     tezos-signer-backends = callPackage ../development/ocaml-modules/tezos/signer-backends.nix { };
     tezos-signer-services = callPackage ../development/ocaml-modules/tezos/signer-services.nix { };
@@ -1326,7 +1347,6 @@ let
     tezos-stdlib = callPackage ../development/ocaml-modules/tezos/stdlib.nix { };
     tezos-test-helpers = callPackage ../development/ocaml-modules/tezos/test-helpers.nix { };
     tezos-store = callPackage ../development/ocaml-modules/tezos/store.nix { };
-    tezos-test-services = callPackage ../development/ocaml-modules/tezos/test-services.nix { };
     tezos-validation = callPackage ../development/ocaml-modules/tezos/validation.nix { };
     tezos-version = callPackage ../development/ocaml-modules/tezos/version.nix { };
     tezos-workers = callPackage ../development/ocaml-modules/tezos/workers.nix { };
@@ -1370,6 +1390,8 @@ let
 
     vchan = callPackage ../development/ocaml-modules/vchan { };
 
+    vector = callPackage ../development/ocaml-modules/vector { };
+
     vg = callPackage ../development/ocaml-modules/vg { };
 
     vlq = callPackage ../development/ocaml-modules/vlq { };
diff --git a/nixpkgs/pkgs/top-level/packages-config.nix b/nixpkgs/pkgs/top-level/packages-config.nix
index 1602eaf9f45f..c33f8b2dc2aa 100644
--- a/nixpkgs/pkgs/top-level/packages-config.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/perl-packages.nix b/nixpkgs/pkgs/top-level/perl-packages.nix
index ec1742a9d3ea..37ea1f071641 100644
--- a/nixpkgs/pkgs/top-level/perl-packages.nix
+++ b/nixpkgs/pkgs/top-level/perl-packages.nix
@@ -729,11 +729,20 @@ let
 
   Appcpanminus = buildPerlPackage {
     pname = "App-cpanminus";
-    version = "1.7044";
+    version = "1.7045";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz";
-      sha256 = "9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3";
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7045.tar.gz";
+      sha256 = "1779w07zxlgfk35s24ksr7k9azd5yl8sbb48y1aaph7y4gf4lkmc";
     };
+    # Use TLS endpoints for downloads and metadata by default
+    preConfigure = ''
+      substituteInPlace bin/cpanm \
+        --replace http://www.cpan.org https://www.cpan.org \
+        --replace http://backpan.perl.org https://backpan.perl.org \
+        --replace http://fastapi.metacpan.org https://fastapi.metacpan.org \
+        --replace http://cpanmetadb.plackperl.org https://cpanmetadb.plackperl.org
+    '';
+    propagatedBuildInputs = [ IOSocketSSL ];
     meta = {
       homepage = "https://github.com/miyagawa/cpanminus";
       description = "Get, unpack, build and install modules from CPAN";
@@ -793,7 +802,7 @@ let
       rm $out/bin/wxchordpro # Wx not supported on darwin
     '';
     meta = {
-      homepage = "http://www.chordpro.org";
+      homepage = "https://www.chordpro.org";
       description = "A lyrics and chords formatting program";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3674,7 +3683,7 @@ let
      };
   };
 
-  ConfigIniFiles = buildPerlModule {
+  ConfigIniFiles = buildPerlPackage {
     pname = "Config-IniFiles";
     version = "3.000003";
     src = fetchurl {
@@ -4043,12 +4052,12 @@ let
 
   CPAN = buildPerlPackage {
     pname = "CPAN";
-    version = "2.28";
+    version = "2.29";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-2.28.tar.gz";
-      sha256 = "39d357489283d479695027640d7fc25b42ec3c52003071d1ec94496e34af5974";
+      url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-2.29.tar.gz";
+      sha256 = "1f55672efd505a9baacfa1924d115362120aa6bf8efab7a17c7cb090b17ccc41";
     };
-    propagatedBuildInputs = [ ArchiveZip CPANChecksums CPANPerlReleases Expect FileHomeDir LWP LogLog4perl ModuleBuild TermReadKey YAML YAMLLibYAML YAMLSyck ];
+    propagatedBuildInputs = [ ArchiveZip CPANChecksums CPANPerlReleases CompressBzip2 Expect FileHomeDir FileWhich LWP LogLog4perl ModuleSignature TermReadKey TextGlob YAML YAMLLibYAML YAMLSyck IOSocketSSL ];
     meta = {
       description = "Query, download and build perl modules from CPAN sites";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
@@ -4121,10 +4130,10 @@ let
 
   CPANChecksums = buildPerlPackage {
     pname = "CPAN-Checksums";
-    version = "2.12";
+    version = "2.14";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-Checksums-2.12.tar.gz";
-      sha256 = "0f1dbpp4638jfdfwrywjmz88na5wzw4fdsmm2r7gh1x0s6r0yq4r";
+      url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-Checksums-2.14.tar.gz";
+      sha256 = "4080716c5da7e03b504e3cc0ea1fd5ef9ed6915f6fb737564e9e13d355a89e39";
     };
     propagatedBuildInputs = [ CompressBzip2 DataCompare ModuleSignature ];
     meta = {
@@ -9675,21 +9684,6 @@ let
     propagatedBuildInputs = [ Pango ];
   };
 
-  Gtk2GladeXML = buildPerlPackage {
-    pname = "Gtk2-GladeXML";
-    version = "1.007";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TS/TSCH/Gtk2-GladeXML-1.007.tar.gz";
-      sha256 = "50240a2bddbda807c8f8070de941823b7bf3d288a13be6d0d6563320b42c445a";
-    };
-    propagatedBuildInputs = [ pkgs.gnome2.libglade pkgs.gtk2 Gtk2 ];
-    meta = {
-      description = "Create user interfaces directly from Glade XML files";
-      license = lib.licenses.lgpl2Plus;
-      broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gtk2GladeXML.x86_64-darwin
-    };
-  };
-
   Gtk2TrayIcon = buildPerlPackage {
     pname = "Gtk2-TrayIcon";
     version = "0.06";
@@ -9949,6 +9943,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";
@@ -11417,11 +11426,11 @@ let
 
   ImageExifTool = buildPerlPackage rec {
     pname = "Image-ExifTool";
-    version = "12.29";
+    version = "12.39";
 
     src = fetchurl {
       url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz";
-      sha256 = "09yszwhirprqr94jwrsr9kyav5syv0mjmnjngqn20fn7m135wv95";
+      sha256 = "sha256-QDq1KTpEcl8EWj9a/bxF0TwghUulH30O5yDV0wsxy6I=";
     };
 
     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
@@ -11863,8 +11872,8 @@ let
     pname = "libnet";
     version = "3.12";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.12.tar.gz";
-      sha256 = "1px35q9qchzd7rxqldj87vbrall8v31blidhmh0d25d5hyq9lw25";
+      url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.13.tar.gz";
+      sha256 = "sha256-WjX7Hy1KopFoDrGvOImfq0U8IsKOcffHvTdHtaPbNIw=";
     };
     patches = [
       (fetchpatch {
@@ -16706,12 +16715,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
@@ -17024,6 +17033,20 @@ let
     doCheck = false;
   };
 
+  OpenOfficeOODoc = buildPerlPackage {
+    pname = "OpenOffice-OODoc";
+    version = "2.125";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JM/JMGDOC/OpenOffice-OODoc-2.125.tar.gz";
+      sha256 = "1dnsj63svxq0hi3aci4x7binql8kr754inlkks5jmi4k0sblh561";
+    };
+    propagatedBuildInputs = [ ArchiveZip XMLTwig ];
+    meta = {
+      license = with lib.licenses; [ lgpl21 ];
+      maintainers = [ maintainers.wentasah ];
+    };
+  };
+
   NetOpenIDCommon = buildPerlPackage {
     pname = "Net-OpenID-Common";
     version = "1.20";
@@ -20744,12 +20767,12 @@ let
 
   SysVirt = buildPerlModule rec {
     pname = "Sys-Virt";
-    version = "7.9.0";
+    version = "7.10.0";
     src = fetchFromGitLab {
       owner = "libvirt";
       repo = "libvirt-perl";
-      rev = "v7.9.0";
-      sha256 = "sha256-QxY6TRVQWrN689CD76CQZeyXsDVWxk24N1v67DCvmDo=";
+      rev = "v7.10.0";
+      sha256 = "sha256-cXuzg4bBwCftdZhz3e50L+4fO0RWX5Tl8zDOoydECd4=";
     };
     nativeBuildInputs = [ pkgs.pkg-config ];
     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
@@ -24853,14 +24876,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 ];
   };
 
@@ -25433,4 +25456,5 @@ let
   SubExporterUtil = self.SubExporter;
   version = self.Version;
 
+  Gtk2GladeXML = throw "Gtk2GladeXML has been removed"; # 2022-01-15
 }; in self
diff --git a/nixpkgs/pkgs/top-level/php-packages.nix b/nixpkgs/pkgs/top-level/php-packages.nix
index 25dda0017202..3a9bd1f1fede 100644
--- a/nixpkgs/pkgs/top-level/php-packages.nix
+++ b/nixpkgs/pkgs/top-level/php-packages.nix
@@ -175,6 +175,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
     couchbase = callPackage ../development/php-packages/couchbase { };
 
+    ds = callPackage ../development/php-packages/ds { };
+
     event = callPackage ../development/php-packages/event { };
 
     gnupg = callPackage ../development/php-packages/gnupg { };
@@ -540,7 +542,10 @@ lib.makeScope pkgs.newScope (self: with self; {
             ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
           doCheck = false;
         }
-        { name = "sockets"; doCheck = false; }
+        {
+          name = "sockets";
+          doCheck = false;
+        }
         { name = "sodium"; buildInputs = [ libsodium ]; }
         { name = "sqlite3"; buildInputs = [ sqlite ]; }
         { name = "sysvmsg"; }
diff --git a/nixpkgs/pkgs/top-level/python-aliases.nix b/nixpkgs/pkgs/top-level/python-aliases.nix
index f131cfcb06ee..44c5c11ceb92 100644
--- a/nixpkgs/pkgs/top-level/python-aliases.nix
+++ b/nixpkgs/pkgs/top-level/python-aliases.nix
@@ -33,23 +33,32 @@ 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
   discogs_client = discogs-client; # added 2021-07-02
   djangorestframework-jwt = drf-jwt; # added 2021-07-20
+  django_environ = django-environ; # added 2021-12-25
+  django_extensions = django-extensions; # added 2022-01-09
   django_redis = django-redis; # added 2021-10-11
   django_taggit = django-taggit; # added 2021-10-11
   dns = dnspython; # added 2017-12-10
   dogpile_cache = dogpile-cache; # added 2021-10-28
   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
@@ -57,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
@@ -69,6 +80,8 @@ mapAliases ({
   prometheus_client = prometheus-client; # added 2021-06-10
   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
@@ -84,8 +97,11 @@ 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
+  roboschool = throw "roboschool is deprecated in favor of PyBullet and has been removed"; # added 2022-01-15
   rotate-backups = throw "rotate-backups was removed in favor of the top-level rotate-backups"; # added 2021-07-01
   ruamel_base = ruamel-base; # added 2021-11-01
   ruamel_yaml = ruamel-yaml; # added 2021-11-01
diff --git a/nixpkgs/pkgs/top-level/python-packages.nix b/nixpkgs/pkgs/top-level/python-packages.nix
index cc2ef499f029..23f4a424bdc5 100644
--- a/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/nixpkgs/pkgs/top-level/python-packages.nix
@@ -24,10 +24,7 @@ let
 
   namePrefix = python.libPrefix + "-";
 
-  bootstrapped-pip = if isPy3k then
-    callPackage ../development/python-modules/bootstrapped-pip { }
-  else
-    callPackage ../development/python-modules/bootstrapped-pip/2.nix { };
+  bootstrapped-pip = callPackage ../development/python-modules/bootstrapped-pip { };
 
   # Derivations built with `buildPythonPackage` can already be overriden with `override`, `overrideAttrs`, and `overrideDerivation`.
   # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`.
@@ -105,7 +102,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 {
@@ -145,11 +142,6 @@ in {
   # it should not override the version of pytest that is used for say
   # Python 2. This is an ugly hack that is needed now because the hook
   # propagates the package.
-  pytestCheckHook_5 = if isPy3k then
-    self.pytestCheckHook.override { pytest = self.pytest_5; }
-  else
-    self.pytestCheckHook;
-
   pytestCheckHook_6_1 = if isPy3k then
     self.pytestCheckHook.override { pytest = self.pytest_6_1; }
   else
@@ -204,6 +196,8 @@ in {
 
   adax = callPackage ../development/python-modules/adax { };
 
+  adax-local = callPackage ../development/python-modules/adax-local { };
+
   adb-enhanced = callPackage ../development/python-modules/adb-enhanced { };
 
   adb-homeassistant = callPackage ../development/python-modules/adb-homeassistant { };
@@ -268,6 +262,8 @@ in {
 
   aioamqp = callPackage ../development/python-modules/aioamqp { };
 
+  aioaseko = callPackage ../development/python-modules/aioaseko { };
+
   aioasuswrt = callPackage ../development/python-modules/aioasuswrt { };
 
   aioazuredevops = callPackage ../development/python-modules/aioazuredevops { };
@@ -314,12 +310,16 @@ 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 { };
 
   aiohttp-remotes = callPackage ../development/python-modules/aiohttp-remotes { };
 
+  aiohttp-retry = callPackage ../development/python-modules/aiohttp-retry { };
+
   aiohttp-socks = callPackage ../development/python-modules/aiohttp-socks { };
 
   aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { };
@@ -370,6 +370,8 @@ in {
 
   aionotion = callPackage ../development/python-modules/aionotion { };
 
+  aiooncue = callPackage ../development/python-modules/aiooncue { };
+
   aiopg = callPackage ../development/python-modules/aiopg { };
 
   aioprocessing = callPackage ../development/python-modules/aioprocessing { };
@@ -380,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 { };
@@ -394,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 { };
@@ -408,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 { };
@@ -424,6 +432,8 @@ in {
 
   aiowatttime = callPackage ../development/python-modules/aiowatttime { };
 
+  aiowebostv = callPackage ../development/python-modules/aiowebostv { };
+
   aiowinreg = callPackage ../development/python-modules/aiowinreg { };
 
   aioymaps = callPackage ../development/python-modules/aioymaps { };
@@ -460,8 +470,6 @@ in {
 
   allure-pytest = callPackage ../development/python-modules/allure-pytest { };
 
-  alot = callPackage ../development/python-modules/alot { };
-
   alpha-vantage = callPackage ../development/python-modules/alpha-vantage { };
 
   altair = callPackage ../development/python-modules/altair { };
@@ -530,6 +538,8 @@ in {
 
   ansiconv = callPackage ../development/python-modules/ansiconv { };
 
+  ansimarkup = callPackage ../development/python-modules/ansimarkup { };
+
   ansiwrap = callPackage ../development/python-modules/ansiwrap { };
 
   antlr4-python3-runtime = callPackage ../development/python-modules/antlr4-python3-runtime {
@@ -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;
   };
@@ -552,6 +560,8 @@ in {
 
   apache-airflow = callPackage ../development/python-modules/apache-airflow { };
 
+  apache-beam = callPackage ../development/python-modules/apache-beam { };
+
   apcaccess = callPackage ../development/python-modules/apcaccess { };
 
   apipkg = callPackage ../development/python-modules/apipkg { };
@@ -574,6 +584,8 @@ in {
 
   apptools = callPackage ../development/python-modules/apptools { };
 
+  appthreat-vulnerability-db = callPackage ../development/python-modules/appthreat-vulnerability-db { };
+
   aprslib = callPackage ../development/python-modules/aprslib { };
 
   APScheduler = callPackage ../development/python-modules/APScheduler { };
@@ -608,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 { };
@@ -634,6 +648,8 @@ in {
 
   asgi-csrf = callPackage ../development/python-modules/asgi-csrf { };
 
+  asgineer = callPackage ../development/python-modules/asgineer { };
+
   asgiref = callPackage ../development/python-modules/asgiref { };
 
   asmog = callPackage ../development/python-modules/asmog { };
@@ -650,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 { };
@@ -686,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 { };
@@ -746,8 +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 { };
@@ -1108,6 +1130,8 @@ in {
 
   base58 = callPackage ../development/python-modules/base58 { };
 
+  base58check = callPackage ../development/python-modules/base58check { };
+
   baseline = callPackage ../development/python-modules/baseline { };
 
   baselines = callPackage ../development/python-modules/baselines { };
@@ -1130,6 +1154,8 @@ in {
 
   bayespy = callPackage ../development/python-modules/bayespy { };
 
+  bbox = callPackage ../development/python-modules/bbox { };
+
   bc-python-hcl2 = callPackage ../development/python-modules/bc-python-hcl2 { };
 
   bcdoc = callPackage ../development/python-modules/bcdoc { };
@@ -1144,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 { };
@@ -1200,6 +1228,10 @@ in {
 
   bitcoin-price-api = callPackage ../development/python-modules/bitcoin-price-api { };
 
+  bitcoin-utils-fork-minimal = callPackage ../development/python-modules/bitcoin-utils-fork-minimal { };
+
+  bitcoinrpc = callPackage ../development/python-modules/bitcoinrpc { };
+
   bitlist = callPackage ../development/python-modules/bitlist { };
 
   bitmath = callPackage ../development/python-modules/bitmath { };
@@ -1238,8 +1270,6 @@ in {
 
   blis = callPackage ../development/python-modules/blis { };
 
-  blist = callPackage ../development/python-modules/blist { };
-
   blockchain = callPackage ../development/python-modules/blockchain { };
 
   blockdiag = callPackage ../development/python-modules/blockdiag { };
@@ -1256,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 { };
@@ -1298,6 +1330,10 @@ in {
 
   bottleneck = callPackage ../development/python-modules/bottleneck { };
 
+  boxx = callPackage ../development/python-modules/boxx { };
+
+  bpycv = callPackage ../development/python-modules/bpycv {};
+
   bpython = callPackage ../development/python-modules/bpython { };
 
   braceexpand = callPackage ../development/python-modules/braceexpand { };
@@ -1435,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 { };
@@ -1483,6 +1517,8 @@ in {
 
   coqpit = callPackage ../development/python-modules/coqpit { };
 
+  cepa = callPackage ../development/python-modules/cepa { };
+
   cerberus = callPackage ../development/python-modules/cerberus { };
 
   cert-chain-resolver = callPackage ../development/python-modules/cert-chain-resolver { };
@@ -1507,6 +1543,8 @@ in {
 
   cffi = callPackage ../development/python-modules/cffi { };
 
+  cffsubr = callPackage ../development/python-modules/cffsubr { };
+
   cfgv = callPackage ../development/python-modules/cfgv { };
 
   cfn-flip = callPackage ../development/python-modules/cfn-flip { };
@@ -1565,10 +1603,14 @@ 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 { };
 
+  circuit-webhook = callPackage ../development/python-modules/circuit-webhook { };
+
   circuitbreaker = callPackage ../development/python-modules/circuitbreaker { };
 
   cirq = callPackage ../development/python-modules/cirq { };
@@ -1587,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 { };
@@ -1595,8 +1639,6 @@ in {
 
   cjkwrap = callPackage ../development/python-modules/cjkwrap { };
 
-  cjson = callPackage ../development/python-modules/cjson { };
-
   ckcc-protocol = callPackage ../development/python-modules/ckcc-protocol { };
 
   claripy = callPackage ../development/python-modules/claripy { };
@@ -1703,6 +1745,8 @@ in {
 
   cnvkit = callPackage ../development/python-modules/cnvkit { };
 
+  co2signal = callPackage ../development/python-modules/co2signal { };
+
   coapthon3 = callPackage ../development/python-modules/coapthon3 { };
 
   coconut = callPackage ../development/python-modules/coconut { };
@@ -1761,6 +1805,8 @@ in {
 
   compiledb = callPackage ../development/python-modules/compiledb { };
 
+  compreffor = callPackage ../development/python-modules/compreffor { };
+
   concurrent-log-handler = callPackage ../development/python-modules/concurrent-log-handler { };
 
   conda = callPackage ../development/python-modules/conda { };
@@ -1821,8 +1867,6 @@ in {
 
   coveralls = callPackage ../development/python-modules/coveralls { };
 
-  cozy = callPackage ../development/python-modules/cozy { };
-
   cppe = callPackage ../development/python-modules/cppe {
     cppe = pkgs.cppe;
   };
@@ -1899,7 +1943,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;
   };
@@ -1988,8 +2032,12 @@ in {
 
   datadog = callPackage ../development/python-modules/datadog { };
 
+  datafusion = callPackage ../development/python-modules/datafusion { };
+
   datamodeldict = callPackage ../development/python-modules/datamodeldict { };
 
+  dataset = callPackage ../development/python-modules/dataset { };
+
   datasets = callPackage ../development/python-modules/datasets { };
 
   datasette = callPackage ../development/python-modules/datasette { };
@@ -2040,6 +2088,8 @@ in {
 
   debugpy = callPackage ../development/python-modules/debugpy { };
 
+  decli = callPackage ../development/python-modules/decli { };
+
   decorator = callPackage ../development/python-modules/decorator { };
 
   decopatch = callPackage ../development/python-modules/decopatch { };
@@ -2076,8 +2126,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 { };
@@ -2114,6 +2162,8 @@ in {
 
   dict2xml = callPackage ../development/python-modules/dict2xml { };
 
+  dictdiffer = callPackage ../development/python-modules/dictdiffer { };
+
   dictionaries = callPackage ../development/python-modules/dictionaries { };
 
   dictpath = callPackage ../development/python-modules/dictpath { };
@@ -2144,6 +2194,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 { };
@@ -2162,9 +2214,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 { };
 
@@ -2202,9 +2255,9 @@ in {
 
   django-dynamic-preferences = callPackage ../development/python-modules/django-dynamic-preferences { };
 
-  django_environ = callPackage ../development/python-modules/django_environ { };
+  django-environ = callPackage ../development/python-modules/django_environ { };
 
-  django_extensions = callPackage ../development/python-modules/django-extensions { };
+  django-extensions = callPackage ../development/python-modules/django-extensions { };
 
   django-filter = callPackage ../development/python-modules/django-filter { };
 
@@ -2327,6 +2380,8 @@ in {
 
   dmenu-python = callPackage ../development/python-modules/dmenu { };
 
+  dm-haiku = callPackage ../development/python-modules/dm-haiku { };
+
   dm-sonnet = callPackage ../development/python-modules/dm-sonnet { };
 
   dm-tree = callPackage ../development/python-modules/dm-tree { };
@@ -2421,6 +2476,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 { };
@@ -2445,6 +2502,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 { };
@@ -2490,14 +2549,14 @@ in {
 
   edward = callPackage ../development/python-modules/edward { };
 
-  eebrightbox = callPackage ../development/python-modules/eebrightbox { };
-
   effect = callPackage ../development/python-modules/effect { };
 
   eggdeps = callPackage ../development/python-modules/eggdeps { };
 
   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 { };
@@ -2510,6 +2569,8 @@ in {
 
   elasticsearchdsl = self.elasticsearch-dsl;
 
+  elegy = callPackage ../development/python-modules/elegy { };
+
   elementpath = callPackage ../development/python-modules/elementpath { };
 
   elevate = callPackage ../development/python-modules/elevate { };
@@ -2534,6 +2595,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 { };
@@ -2734,14 +2797,14 @@ in {
 
   fastjet = toPythonModule (pkgs.fastjet.override {
     withPython = true;
-    inherit python;
+    inherit (self) python;
   });
 
   fastjsonschema = callPackage ../development/python-modules/fastjsonschema { };
 
   fastnlo_toolkit = toPythonModule (pkgs.fastnlo_toolkit.override {
     withPython = true;
-    inherit python;
+    inherit (self) python;
   });
 
   fastnumbers = callPackage ../development/python-modules/fastnumbers { };
@@ -2773,10 +2836,11 @@ in {
   feedparser = callPackage ../development/python-modules/feedparser { };
 
   fenics = callPackage ../development/libraries/science/math/fenics {
-    pytest = self.pytest_4;
     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 { };
@@ -2785,6 +2849,8 @@ in {
 
   fields = callPackage ../development/python-modules/fields { };
 
+  file-read-backwards = callPackage ../development/python-modules/file-read-backwards { };
+
   filebrowser_safe = callPackage ../development/python-modules/filebrowser_safe { };
 
   filebytes = callPackage ../development/python-modules/filebytes { };
@@ -2799,15 +2865,15 @@ 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 { };
 
   fints = callPackage ../development/python-modules/fints { };
 
-  fiona = callPackage ../development/python-modules/fiona {
-    gdal = pkgs.gdal_2;
-  };
+  fiona = callPackage ../development/python-modules/fiona { };
 
   fipy = callPackage ../development/python-modules/fipy { };
 
@@ -2827,12 +2893,16 @@ 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 { };
 
   flake8-debugger = callPackage ../development/python-modules/flake8-debugger { };
 
+  flake8-docstrings = callPackage ../development/python-modules/flake8-docstrings { };
+
   flake8-future-import = callPackage ../development/python-modules/flake8-future-import { };
 
   flake8-import-order = callPackage ../development/python-modules/flake8-import-order { };
@@ -2879,6 +2949,8 @@ in {
 
   flask_elastic = callPackage ../development/python-modules/flask-elastic { };
 
+  flask-gravatar = callPackage ../development/python-modules/flask-gravatar { };
+
   flask-httpauth = callPackage ../development/python-modules/flask-httpauth { };
 
   flask-jwt-extended = callPackage ../development/python-modules/flask-jwt-extended { };
@@ -2899,6 +2971,8 @@ in {
 
   flask-paginate = callPackage ../development/python-modules/flask-paginate { };
 
+  flask-paranoid = callPackage ../development/python-modules/flask-paranoid { };
+
   flask_principal = callPackage ../development/python-modules/flask-principal { };
 
   flask-pymongo = callPackage ../development/python-modules/Flask-PyMongo { };
@@ -2917,6 +2991,8 @@ in {
 
   flask-session = callPackage ../development/python-modules/flask-session { };
 
+  flask-security-too = callPackage ../development/python-modules/flask-security-too { };
+
   flask-silk = callPackage ../development/python-modules/flask-silk { };
 
   flask-socketio = callPackage ../development/python-modules/flask-socketio { };
@@ -2943,6 +3019,10 @@ in {
     inherit (pkgs) flatbuffers;
   };
 
+  flatten-dict = callPackage ../development/python-modules/flatten-dict { };
+
+  flax = callPackage ../development/python-modules/flax { };
+
   flexmock = callPackage ../development/python-modules/flexmock { };
 
   flickrapi = callPackage ../development/python-modules/flickrapi { };
@@ -3082,11 +3162,13 @@ in {
     pythonPackages = self;
   });
 
+  gamble = callPackage ../development/python-modules/gamble { };
+
   gaphas = callPackage ../development/python-modules/gaphas { };
 
   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 { };
 
@@ -3109,6 +3191,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 {
@@ -3128,6 +3212,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 { };
@@ -3156,6 +3242,8 @@ in {
 
   geomet = callPackage ../development/python-modules/geomet { };
 
+  geometric = callPackage ../development/python-modules/geometric { };
+
   geopandas = callPackage ../development/python-modules/geopandas { };
 
   geopy = callPackage ../development/python-modules/geopy { };
@@ -3419,6 +3507,8 @@ in {
 
   gpyopt = callPackage ../development/python-modules/gpyopt { };
 
+  gql = callPackage ../development/python-modules/gql { };
+
   gradient = callPackage ../development/python-modules/gradient { };
 
   gradient-utils = callPackage ../development/python-modules/gradient-utils { };
@@ -3429,6 +3519,8 @@ in {
 
   grandalf = callPackage ../development/python-modules/grandalf { };
 
+  grapheme = callPackage ../development/python-modules/grapheme { };
+
   graphite_api = callPackage ../development/python-modules/graphite-api { };
 
   graphite_beacon = callPackage ../development/python-modules/graphite_beacon { };
@@ -3451,7 +3543,7 @@ in {
 
   graphql-subscription-manager = callPackage ../development/python-modules/graphql-subscription-manager { };
 
-  graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix { };
+  graph-tool = callPackage ../development/python-modules/graph-tool { };
 
   graphtage = callPackage ../development/python-modules/graphtage { };
 
@@ -3479,6 +3571,8 @@ in {
 
   grip = callPackage ../development/python-modules/grip { };
 
+  groestlcoin_hash = callPackage ../development/python-modules/groestlcoin_hash { };
+
   grpc-google-iam-v1 = callPackage ../development/python-modules/grpc-google-iam-v1 { };
 
   grpcio = callPackage ../development/python-modules/grpcio { };
@@ -3606,8 +3700,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 { };
@@ -3716,6 +3808,8 @@ in {
 
   httmock = callPackage ../development/python-modules/httmock { };
 
+  httpagentparser = callPackage ../development/python-modules/httpagentparser { };
+
   httpauth = callPackage ../development/python-modules/httpauth { };
 
   httpbin = callPackage ../development/python-modules/httpbin { };
@@ -3800,6 +3894,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 { };
@@ -3848,6 +3944,8 @@ in {
 
   ijson = callPackage ../development/python-modules/ijson { };
 
+  ilua = callPackage ../development/python-modules/ilua { };
+
   imagecodecs-lite = callPackage ../development/python-modules/imagecodecs-lite { };
 
   imagecorruptions = callPackage ../development/python-modules/imagecorruptions { };
@@ -3888,6 +3986,8 @@ in {
 
   impacket = callPackage ../development/python-modules/impacket { };
 
+  importlab = callPackage ../development/python-modules/importlab { };
+
   importlib-metadata = callPackage ../development/python-modules/importlib-metadata { };
 
   importlib-resources = callPackage ../development/python-modules/importlib-resources { };
@@ -3938,6 +4038,8 @@ in {
 
   insegel = callPackage ../development/python-modules/insegel { };
 
+  installer = callPackage ../development/python-modules/installer { };
+
   intake = callPackage ../development/python-modules/intake { };
 
   intake-parquet = callPackage ../development/python-modules/intake-parquet { };
@@ -3946,6 +4048,8 @@ in {
 
   intelhex = callPackage ../development/python-modules/intelhex { };
 
+  intellifire4py = callPackage ../development/python-modules/intellifire4py { };
+
   intensity-normalization = callPackage ../development/python-modules/intensity-normalization { };
 
   internetarchive = callPackage ../development/python-modules/internetarchive { };
@@ -3964,6 +4068,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 { };
@@ -3976,6 +4082,8 @@ in {
 
   iptools = callPackage ../development/python-modules/iptools { };
 
+  ipwhl = callPackage ../development/python-modules/ipwhl { };
+
   ipy = callPackage ../development/python-modules/IPy { };
 
   ipydatawidgets = callPackage ../development/python-modules/ipydatawidgets { };
@@ -3988,10 +4096,7 @@ in {
 
   ipython_genutils = callPackage ../development/python-modules/ipython_genutils { };
 
-  ipython = if isPy36 then
-    callPackage ../development/python-modules/ipython/7.16.nix { }
-  else
-    callPackage ../development/python-modules/ipython { };
+  ipython = callPackage ../development/python-modules/ipython { };
 
   ipyvue = callPackage ../development/python-modules/ipyvue { };
 
@@ -4033,6 +4138,8 @@ in {
 
   itemadapter = callPackage ../development/python-modules/itemadapter { };
 
+  itemdb = callPackage ../development/python-modules/itemdb { };
+
   itemloaders = callPackage ../development/python-modules/itemloaders { };
 
   iterm2 = callPackage ../development/python-modules/iterm2 { };
@@ -4073,7 +4180,11 @@ in {
 
   jax = callPackage ../development/python-modules/jax { };
 
-  jaxlib-bin = callPackage ../development/python-modules/jaxlib/bin.nix { };
+  jaxlib-bin = callPackage ../development/python-modules/jaxlib/bin.nix {
+    cudaSupport = pkgs.config.cudaSupport or false;
+    cudatoolkit_11 = tensorflow_compat_cudatoolkit;
+    cudnn = tensorflow_compat_cudnn;
+  };
 
   jaxlib-build = callPackage ../development/python-modules/jaxlib {
     # Some platforms don't have `cudaSupport` defined, hence the need for 'or false'.
@@ -4085,6 +4196,14 @@ in {
 
   jaxlib = self.jaxlib-build;
 
+  jaxlibWithCuda = self.jaxlib-build.override {
+    cudaSupport = true;
+  };
+
+  jaxlibWithoutCuda = self.jaxlib-build.override {
+    cudaSupport = false;
+  };
+
   JayDeBeApi = callPackage ../development/python-modules/JayDeBeApi { };
 
   jc = callPackage ../development/python-modules/jc { };
@@ -4199,6 +4318,8 @@ in {
 
   jsonstreams = callPackage ../development/python-modules/jsonstreams { };
 
+  json-tricks = callPackage ../development/python-modules/json-tricks { };
+
   jug = callPackage ../development/python-modules/jug { };
 
   junitparser = callPackage ../development/python-modules/junitparser { };
@@ -4382,7 +4503,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 { };
 
@@ -4580,8 +4701,7 @@ in {
 
   libxslt = (toPythonModule (pkgs.libxslt.override {
     pythonSupport = true;
-    python3 = python;
-    inherit (self) libxml2;
+    inherit (self) python libxml2;
   })).py;
 
   license-expression = callPackage ../development/python-modules/license-expression { };
@@ -4598,6 +4718,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 { };
@@ -4753,6 +4875,8 @@ in {
 
   mailcap-fix = callPackage ../development/python-modules/mailcap-fix { };
 
+  mailchecker = callPackage ../development/python-modules/mailchecker { };
+
   mailchimp = callPackage ../development/python-modules/mailchimp { };
 
   mailman = callPackage ../servers/mail/mailman { };
@@ -4813,7 +4937,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 { };
 
@@ -4850,6 +4974,8 @@ in {
 
   matrix-client = callPackage ../development/python-modules/matrix-client { };
 
+  matrix-common = callPackage ../development/python-modules/matrix-common { };
+
   matrix-nio = callPackage ../development/python-modules/matrix-nio { };
 
   mattermostdriver = callPackage ../development/python-modules/mattermostdriver { };
@@ -4958,6 +5084,8 @@ in {
 
   millheater = callPackage ../development/python-modules/millheater { };
 
+  minexr = callPackage ../development/python-modules/minexr { };
+
   miniaudio = callPackage ../development/python-modules/miniaudio { };
 
   minidb = callPackage ../development/python-modules/minidb { };
@@ -4994,6 +5122,8 @@ in {
 
   mizani = callPackage ../development/python-modules/mizani { };
 
+  mkdocs = callPackage ../development/python-modules/mkdocs { };
+
   mkl-service = callPackage ../development/python-modules/mkl-service { };
 
   ml-collections = callPackage ../development/python-modules/ml-collections { };
@@ -5041,6 +5171,8 @@ in {
 
   mohawk = callPackage ../development/python-modules/mohawk { };
 
+  mongomock = callPackage ../development/python-modules/mongomock { };
+
   mongodict = callPackage ../development/python-modules/mongodict { };
 
   mongoengine = callPackage ../development/python-modules/mongoengine { };
@@ -5162,6 +5294,8 @@ in {
 
   mutf8 = callPackage ../development/python-modules/mutf8 { };
 
+  mutmut = callPackage ../development/python-modules/mutmut { };
+
   mujson = callPackage ../development/python-modules/mujson { };
 
   mwclient = callPackage ../development/python-modules/mwclient { };
@@ -5216,6 +5350,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;
   };
@@ -5228,6 +5366,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 { };
@@ -5282,6 +5422,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 { };
@@ -5292,6 +5434,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 { };
@@ -5304,6 +5450,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 { };
@@ -5352,15 +5500,17 @@ in {
 
   nix-prefetch-github = callPackage ../development/python-modules/nix-prefetch-github { };
 
+  nkdfu = callPackage ../development/python-modules/nkdfu { };
+
   nltk = callPackage ../development/python-modules/nltk { };
 
   nmapthon2 = callPackage ../development/python-modules/nmapthon2 { };
 
-  nmigen-boards = callPackage ../development/python-modules/nmigen-boards { };
+  amaranth-boards = callPackage ../development/python-modules/amaranth-boards { };
 
-  nmigen = callPackage ../development/python-modules/nmigen { };
+  amaranth = callPackage ../development/python-modules/amaranth { };
 
-  nmigen-soc = callPackage ../development/python-modules/nmigen-soc { };
+  amaranth-soc = callPackage ../development/python-modules/amaranth-soc { };
 
   nocasedict = callPackage ../development/python-modules/nocasedict { };
 
@@ -5418,10 +5568,6 @@ in {
     inherit (pkgs) notmuch;
   };
 
-  notmuch2 = callPackage ../development/python-modules/notmuch/2.nix {
-    inherit (pkgs) notmuch;
-  };
-
   nototools = callPackage ../data/fonts/noto-fonts/tools.nix { };
 
   notus-scanner = callPackage ../development/python-modules/notus-scanner { };
@@ -5527,10 +5673,16 @@ in {
 
   onkyo-eiscp = callPackage ../development/python-modules/onkyo-eiscp { };
 
+  online-judge-api-client = callPackage ../development/python-modules/online-judge-api-client { };
+
+  online-judge-tools = callPackage ../development/python-modules/online-judge-tools { };
+
   onlykey-solo-python = callPackage ../development/python-modules/onlykey-solo-python { };
 
   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 { };
@@ -5559,6 +5711,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 { };
@@ -5577,6 +5731,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 { };
@@ -5598,6 +5754,8 @@ in {
 
   opt-einsum = callPackage ../development/python-modules/opt-einsum { };
 
+  optax = callPackage ../development/python-modules/optax { };
+
   optuna = callPackage ../development/python-modules/optuna { };
 
   opuslib = callPackage ../development/python-modules/opuslib { };
@@ -5824,6 +5982,8 @@ in {
 
   pdfx = callPackage ../development/python-modules/pdfx { };
 
+  pdm-pep517 = callPackage ../development/python-modules/pdm-pep517 { };
+
   pdoc3 = callPackage ../development/python-modules/pdoc3 { };
 
   pebble = callPackage ../development/python-modules/pebble { };
@@ -5914,6 +6074,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 { };
@@ -5926,6 +6088,8 @@ in {
 
   piexif = callPackage ../development/python-modules/piexif { };
 
+  pijuice = callPackage ../development/python-modules/pijuice { };
+
   pika = callPackage ../development/python-modules/pika { };
 
   pika-pool = callPackage ../development/python-modules/pika-pool { };
@@ -5956,6 +6120,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 { };
@@ -6005,6 +6171,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 { };
@@ -6015,10 +6183,16 @@ in {
 
   pynuki = callPackage ../development/python-modules/pynuki { };
 
+  pynut2 = callPackage ../development/python-modules/pynut2 { };
+
   pynws = callPackage ../development/python-modules/pynws { };
 
   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 { };
@@ -6065,6 +6239,8 @@ in {
 
   python-kasa = callPackage ../development/python-modules/python-kasa { };
 
+  python-keycloak = callPackage ../development/python-modules/python-keycloak { };
+
   python-keystoneclient = callPackage ../development/python-modules/python-keystoneclient { };
 
   python-lsp-black = callPackage ../development/python-modules/python-lsp-black { };
@@ -6081,6 +6257,8 @@ in {
 
   python-tado = callPackage ../development/python-modules/python-tado { };
 
+  pythonfinder = callPackage ../development/python-modules/pythonfinder { };
+
   pyutil = callPackage ../development/python-modules/pyutil { };
 
   pkutils = callPackage ../development/python-modules/pkutils { };
@@ -6242,6 +6420,8 @@ in {
 
   prettytable = callPackage ../development/python-modules/prettytable { };
 
+  primecountpy = callPackage ../development/python-modules/primecountpy { };
+
   primer3 = callPackage ../development/python-modules/primer3 { };
 
   priority = callPackage ../development/python-modules/priority { };
@@ -6303,6 +6483,8 @@ in {
 
   psautohint = callPackage ../development/python-modules/psautohint { };
 
+  pscript = callPackage ../development/python-modules/pscript { };
+
   psd-tools = callPackage ../development/python-modules/psd-tools { };
 
   psutil = callPackage ../development/python-modules/psutil { };
@@ -6379,6 +6561,8 @@ in {
 
   py-synologydsm-api = callPackage ../development/python-modules/py-synologydsm-api { };
 
+  py-tes = callPackage ../development/python-modules/py-tes { };
+
   py-ubjson = callPackage ../development/python-modules/py-ubjson { };
 
   py-zabbix = callPackage ../development/python-modules/py-zabbix { };
@@ -6427,6 +6611,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 { };
@@ -6441,6 +6627,8 @@ in {
 
   pyaudio = callPackage ../development/python-modules/pyaudio { };
 
+  pyaussiebb = callPackage ../development/python-modules/pyaussiebb { };
+
   pyautogui = callPackage ../development/python-modules/pyautogui { };
 
   pyavm = callPackage ../development/python-modules/pyavm { };
@@ -6481,8 +6669,6 @@ in {
     inherit (pkgs.buildPackages) meson;
   };
 
-  pycallgraph = callPackage ../development/python-modules/pycallgraph { };
-
   py = callPackage ../development/python-modules/py { };
 
   pycangjie = callPackage ../development/python-modules/pycangjie { };
@@ -6507,6 +6693,8 @@ in {
     inherit (pkgs) graphviz;
   };
 
+  pycfmodel = callPackage ../development/python-modules/pycfmodel { };
+
   pychannels = callPackage ../development/python-modules/pychannels { };
 
   pychart = callPackage ../development/python-modules/pychart { };
@@ -6561,6 +6749,8 @@ in {
 
   pycryptodome = callPackage ../development/python-modules/pycryptodome { };
 
+  pycryptodome-test-vectors = callPackage ../development/python-modules/pycryptodome-test-vectors { };
+
   pycryptodomex = callPackage ../development/python-modules/pycryptodomex { };
 
   pyct = callPackage ../development/python-modules/pyct { };
@@ -6600,6 +6790,8 @@ in {
 
   py-desmume = callPackage ../development/python-modules/py-desmume { };
 
+  pydevccu = callPackage ../development/python-modules/pydevccu { };
+
   pydexcom = callPackage ../development/python-modules/pydexcom { };
 
   pydicom = callPackage ../development/python-modules/pydicom { };
@@ -6622,6 +6814,8 @@ in {
 
   pydrive = callPackage ../development/python-modules/pydrive { };
 
+  pydrive2 = callPackage ../development/python-modules/pydrive2 { };
+
   pydroid-ipcam = callPackage ../development/python-modules/pydroid-ipcam  { };
 
   pydsdl = callPackage ../development/python-modules/pydsdl { };
@@ -6754,9 +6948,13 @@ in {
 
   pygeoip = callPackage ../development/python-modules/pygeoip { };
 
+  pygeos = callPackage ../development/python-modules/pygeos { };
+
   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 { };
 
@@ -6980,6 +7178,8 @@ in {
 
   pymdstat = callPackage ../development/python-modules/pymdstat { };
 
+  pymdown-extensions = callPackage ../development/python-modules/pymdown-extensions { };
+
   pymediainfo = callPackage ../development/python-modules/pymediainfo { };
 
   pymediaroom = callPackage ../development/python-modules/pymediaroom { };
@@ -7070,6 +7270,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 { };
@@ -7201,6 +7403,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 { };
@@ -7209,6 +7413,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;
   };
@@ -7230,8 +7436,12 @@ in {
 
   pyquery = callPackage ../development/python-modules/pyquery { };
 
+  pyquaternion = callPackage ../development/python-modules/pyquaternion { };
+
   pyquil = callPackage ../development/python-modules/pyquil { };
 
+  pyqvrpro = callPackage ../development/python-modules/pyqvrpro { };
+
   pyrabbit2 = callPackage ../development/python-modules/pyrabbit2 { };
 
   pyrad = callPackage ../development/python-modules/pyrad { };
@@ -7523,22 +7733,6 @@ in {
 
   pytest = self.pytest_6;
 
-  pytest_4 = callPackage
-    ../development/python-modules/pytest/4.nix {
-      # hypothesis tests require pytest that causes dependency cycle
-      hypothesis = self.hypothesis.override {
-        doCheck = false;
-      };
-    };
-
-  pytest_5 = callPackage
-    ../development/python-modules/pytest/5.nix {
-      # hypothesis tests require pytest that causes dependency cycle
-      hypothesis = self.hypothesis.override {
-        doCheck = false;
-      };
-    };
-
   pytest_6 =
     callPackage ../development/python-modules/pytest {
       # hypothesis tests require pytest that causes dependency cycle
@@ -7657,6 +7851,8 @@ in {
 
   pytest-localserver = callPackage ../development/python-modules/pytest-localserver { };
 
+  pytest-logdog = callPackage ../development/python-modules/pytest-logdog{ };
+
   pytest-metadata = callPackage ../development/python-modules/pytest-metadata { };
 
   pytest-mock = callPackage ../development/python-modules/pytest-mock { };
@@ -7779,6 +7975,8 @@ in {
 
   python-baseconv = callPackage ../development/python-modules/python-baseconv { };
 
+  python-benedict = callPackage ../development/python-modules/python-benedict { };
+
   python-bidi = callPackage ../development/python-modules/python-bidi { };
 
   python-binance = callPackage ../development/python-modules/python-binance { };
@@ -7813,6 +8011,8 @@ in {
 
   python-editor = callPackage ../development/python-modules/python-editor { };
 
+  python-fsutil = callPackage ../development/python-modules/python-fsutil { };
+
   pythonefl = callPackage ../development/python-modules/python-efl { };
 
   pythonegardia = callPackage ../development/python-modules/pythonegardia { };
@@ -7847,8 +8047,10 @@ 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.nix_2_3;
+    nix = pkgs.nixVersions.nix_2_3;
     meson = pkgs.meson.override { python3 = self.python; };
   };
 
@@ -7934,7 +8136,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;
   });
 
@@ -7976,7 +8179,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 { };
 
@@ -8038,6 +8243,8 @@ in {
     inherit (pkgs.llvmPackages) openmp;
   };
 
+  pyeapi = callPackage ../development/python-modules/pyeapi { };
+
   pyeverlights = callPackage ../development/python-modules/pyeverlights { };
 
   pytibber = callPackage ../development/python-modules/pytibber { };
@@ -8066,6 +8273,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;
   };
@@ -8261,8 +8470,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 { };
@@ -8283,13 +8490,15 @@ in {
 
   qreactor = callPackage ../development/python-modules/qreactor { };
 
-  qscintilla-qt4 = callPackage ../development/python-modules/qscintilla { };
+  qscintilla-qt4 = callPackage ../development/python-modules/qscintilla-qt4 { };
 
   qscintilla-qt5 = pkgs.libsForQt5.callPackage ../development/python-modules/qscintilla-qt5 {
     pythonPackages = self;
   };
 
-  qscintilla = self.qscintilla-qt4;
+  qscintilla = self.qscintilla-qt5;
+
+  qt5reactor = callPackage ../development/python-modules/qt5reactor { };
 
   qtawesome = callPackage ../development/python-modules/qtawesome { };
 
@@ -8334,6 +8543,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 { };
@@ -8348,9 +8559,7 @@ in {
     inherit (pkgs) libarchive;
   };
 
-  rasterio = callPackage ../development/python-modules/rasterio {
-    gdal = pkgs.gdal_2;
-  };
+  rasterio = callPackage ../development/python-modules/rasterio { };
 
   ratelim = callPackage ../development/python-modules/ratelim { };
 
@@ -8424,8 +8633,6 @@ in {
 
   reparser = callPackage ../development/python-modules/reparser { };
 
-  repeated_test = callPackage ../development/python-modules/repeated_test { };
-
   repocheck = callPackage ../development/python-modules/repocheck { };
 
   reportlab = callPackage ../development/python-modules/reportlab { };
@@ -8548,10 +8755,6 @@ in {
 
   robomachine = callPackage ../development/python-modules/robomachine { };
 
-  roboschool = callPackage ../development/python-modules/roboschool {
-    inherit (pkgs.qt5) qtbase;
-  };
-
   robot-detection = callPackage ../development/python-modules/robot-detection { };
 
   robotframework = callPackage ../development/python-modules/robotframework { };
@@ -8600,6 +8803,8 @@ in {
 
   rpdb = callPackage ../development/python-modules/rpdb { };
 
+  rpi-bad-power = callPackage ../development/python-modules/rpi-bad-power { };
+
   rply = callPackage ../development/python-modules/rply { };
 
   rpm = toPythonModule (pkgs.rpm.override {
@@ -8622,7 +8827,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 { };
 
@@ -8632,6 +8839,8 @@ in {
 
   rtslib = callPackage ../development/python-modules/rtslib { };
 
+  rtsp-to-webrtc = callPackage ../development/python-modules/rtsp-to-webrtc { };
+
   ruamel-base = callPackage ../development/python-modules/ruamel-base { };
 
   ruamel-yaml = callPackage ../development/python-modules/ruamel-yaml { };
@@ -8748,6 +8957,8 @@ in {
 
   scipy = callPackage ../development/python-modules/scipy { };
 
+  scmrepo = callPackage ../development/python-modules/scmrepo { };
+
   scour = callPackage ../development/python-modules/scour { };
 
   scp = callPackage ../development/python-modules/scp { };
@@ -8818,6 +9029,8 @@ in {
 
   sentinel = callPackage ../development/python-modules/sentinel { };
 
+  sentinels = callPackage ../development/python-modules/sentinels { };
+
   sentry-sdk = callPackage ../development/python-modules/sentry-sdk { };
 
   sepaxml = callPackage ../development/python-modules/sepaxml { };
@@ -8895,12 +9108,16 @@ in {
 
   showit = callPackage ../development/python-modules/showit { };
 
+  shtab = callPackage ../development/python-modules/shtab { };
+
   shutilwhich = callPackage ../development/python-modules/shutilwhich { };
 
   sievelib = callPackage ../development/python-modules/sievelib { };
 
   signedjson = callPackage ../development/python-modules/signedjson { };
 
+  sigrok = callPackage ../development/python-modules/sigrok { };
+
   sigtools = callPackage ../development/python-modules/sigtools { };
 
   simanneal = callPackage ../development/python-modules/simanneal { };
@@ -9059,6 +9276,8 @@ in {
     usePython = true;
   });
 
+  socketio-client = callPackage ../development/python-modules/socketio-client { };
+
   socialscan = callPackage ../development/python-modules/socialscan { };
 
   socid-extractor =  callPackage ../development/python-modules/socid-extractor { };
@@ -9109,6 +9328,8 @@ in {
 
   spacy-legacy = callPackage ../development/python-modules/spacy/legacy.nix { };
 
+  spacy-loggers = callPackage ../development/python-modules/spacy-loggers { };
+
   spacy_models = callPackage ../development/python-modules/spacy/models.nix { };
 
   spacy-pkuseg = callPackage ../development/python-modules/spacy-pkuseg { };
@@ -9129,6 +9350,8 @@ in {
 
   speaklater = callPackage ../development/python-modules/speaklater { };
 
+  speaklater3 = callPackage ../development/python-modules/speaklater3 { };
+
   spectral-cube = callPackage ../development/python-modules/spectral-cube { };
 
   speedtest-cli = callPackage ../development/python-modules/speedtest-cli { };
@@ -9143,6 +9366,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 { };
@@ -9177,6 +9402,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 { };
@@ -9311,6 +9538,8 @@ in {
 
   statistics = callPackage ../development/python-modules/statistics { };
 
+  statmake = callPackage ../development/python-modules/statmake { };
+
   statsd = callPackage ../development/python-modules/statsd { };
 
   statsmodels = callPackage ../development/python-modules/statsmodels { };
@@ -9343,6 +9572,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 { };
@@ -9445,6 +9676,8 @@ in {
 
   synologydsm-api = callPackage ../development/python-modules/synologydsm-api { };
 
+  syslog-rfc5424-formatter = callPackage ../development/python-modules/syslog-rfc5424-formatter { };
+
   systembridge = callPackage ../development/python-modules/systembridge { };
 
   systemd = callPackage ../development/python-modules/systemd {
@@ -9489,6 +9722,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 {
@@ -9501,6 +9736,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 { };
@@ -9537,8 +9774,12 @@ in {
     lmdb-core = pkgs.lmdb;
   };
 
+  tensorflow-datasets = callPackage ../development/python-modules/tensorflow-datasets { };
+
   tensorflow-estimator = callPackage ../development/python-modules/tensorflow-estimator { };
 
+  tensorflow-metadata = callPackage ../development/python-modules/tensorflow-metadata { };
+
   tensorflow-probability = callPackage ../development/python-modules/tensorflow-probability { };
 
   tensorflow = self.tensorflow-build;
@@ -9581,6 +9822,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 { };
@@ -9674,6 +9917,8 @@ in {
 
   timeout-decorator = callPackage ../development/python-modules/timeout-decorator { };
 
+  timetagger = callPackage ../development/python-modules/timetagger { };
+
   timezonefinder = callPackage ../development/python-modules/timezonefinder { };
 
   tinycss2 = callPackage ../development/python-modules/tinycss2 { };
@@ -9718,6 +9963,8 @@ in {
 
   tomli = callPackage ../development/python-modules/tomli { };
 
+  tomli-w = callPackage ../development/python-modules/tomli-w { };
+
   tomlkit = callPackage ../development/python-modules/tomlkit { };
 
   toolz = callPackage ../development/python-modules/toolz { };
@@ -9730,6 +9977,8 @@ in {
 
   torchgpipe = callPackage ../development/python-modules/torchgpipe { };
 
+  torchinfo = callPackage ../development/python-modules/torchinfo { };
+
   torchvision = callPackage ../development/python-modules/torchvision { };
 
   torchvision-bin = callPackage ../development/python-modules/torchvision/bin.nix { };
@@ -9790,6 +10039,8 @@ in {
 
   treeo = callPackage ../development/python-modules/treeo { };
 
+  treex = callPackage ../development/python-modules/treex { };
+
   treq = callPackage ../development/python-modules/treq { };
 
   trezor_agent = callPackage ../development/python-modules/trezor_agent { };
@@ -9808,6 +10059,8 @@ in {
 
   trytond = callPackage ../development/python-modules/trytond { };
 
+  ttls = callPackage ../development/python-modules/ttls { };
+
   ttp = callPackage ../development/python-modules/ttp { };
 
   tubes = callPackage ../development/python-modules/tubes { };
@@ -9878,6 +10131,8 @@ in {
 
   txtorcon = callPackage ../development/python-modules/txtorcon { };
 
+  txzmq = callPackage ../development/python-modules/txzmq { };
+
   typecode = callPackage ../development/python-modules/typecode { };
 
   typecode-libmagic = callPackage ../development/python-modules/typecode/libmagic.nix {
@@ -9892,8 +10147,12 @@ 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 { };
+
   types-futures = callPackage ../development/python-modules/types-futures { };
 
   types-protobuf = callPackage ../development/python-modules/types-protobuf { };
@@ -9904,10 +10163,14 @@ in {
 
   types-setuptools = callPackage ../development/python-modules/types-setuptools { };
 
+  types-tabulate = callPackage ../development/python-modules/types-tabulate { };
+
   types-toml = callPackage ../development/python-modules/types-toml { };
 
   types-typed-ast = callPackage ../development/python-modules/types-typed-ast { };
 
+  types-urllib3 = callPackage ../development/python-modules/types-urllib3 { };
+
   typesentry = callPackage ../development/python-modules/typesentry { };
 
   typesystem = callPackage ../development/python-modules/typesystem { };
@@ -9942,6 +10205,10 @@ in {
     inherit (pkgs.xorg) libX11 libXext;
   };
 
+  ufo2ft = callPackage ../development/python-modules/ufo2ft { };
+
+  ufoLib2 = callPackage ../development/python-modules/ufoLib2 { };
+
   ufonormalizer = callPackage ../development/python-modules/ufonormalizer { };
 
   ufoprocessor = callPackage ../development/python-modules/ufoprocessor { };
@@ -10205,10 +10472,16 @@ in {
 
   Wand = callPackage ../development/python-modules/Wand { };
 
+  wandb = callPackage ../development/python-modules/wandb { };
+
+  warcio = callPackage ../development/python-modules/warcio { };
+
   warlock = callPackage ../development/python-modules/warlock { };
 
   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 { };
@@ -10288,8 +10561,6 @@ in {
 
   werkzeug = callPackage ../development/python-modules/werkzeug { };
 
-  werkzeug1 = callPackage ../development/python-modules/werkzeug/1.nix { };
-
   west = callPackage ../development/python-modules/west { };
 
   wfuzz = callPackage ../development/python-modules/wfuzz { };
@@ -10348,6 +10619,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 { };
@@ -10360,10 +10633,7 @@ in {
 
   wsnsimpy = callPackage ../development/python-modules/wsnsimpy { };
 
-  wsproto = if (pythonAtLeast "3.6") then
-    callPackage ../development/python-modules/wsproto { }
-  else
-    callPackage ../development/python-modules/wsproto/0.14.nix { };
+  wsproto = callPackage ../development/python-modules/wsproto { };
 
   wtforms = callPackage ../development/python-modules/wtforms { };
 
@@ -10485,6 +10755,8 @@ in {
     inherit (pkgs.xorg) xorgserver;
   };
 
+  xxh = callPackage ../tools/networking/xxh { };
+
   xxhash = callPackage ../development/python-modules/xxhash { };
 
   yahooweather = callPackage ../development/python-modules/yahooweather { };
@@ -10519,10 +10791,14 @@ in {
 
   yarl = callPackage ../development/python-modules/yarl { };
 
+  yaspin = callPackage ../development/python-modules/yaspin { };
+
   yaswfp = callPackage ../development/python-modules/yaswfp { };
 
   yattag = callPackage ../development/python-modules/yattag { };
 
+  yacs = callPackage ../development/python-modules/yacs { };
+
   ydiff = callPackage ../development/python-modules/ydiff { };
 
   yeelight = callPackage ../development/python-modules/yeelight { };
@@ -10579,6 +10855,8 @@ in {
 
   zconfig = callPackage ../development/python-modules/zconfig { };
 
+  zcs = callPackage ../development/python-modules/zcs { };
+
   zdaemon = callPackage ../development/python-modules/zdaemon { };
 
   zeek = toPythonModule (pkgs.zeek.override {
diff --git a/nixpkgs/pkgs/top-level/python2-packages.nix b/nixpkgs/pkgs/top-level/python2-packages.nix
index 01f77c482d1b..b98357a2cb0e 100644
--- a/nixpkgs/pkgs/top-level/python2-packages.nix
+++ b/nixpkgs/pkgs/top-level/python2-packages.nix
@@ -6,123 +6,135 @@ self: super:
 
 with self; with super; {
 
-  boto3 = callPackage ../development/python-modules/boto3/1_17.nix {};
+  bootstrapped-pip = callPackage ../development/python2-modules/bootstrapped-pip { };
 
-  botocore = callPackage ../development/python-modules/botocore/1_20.nix {};
+  boto3 = callPackage ../development/python2-modules/boto3 {};
 
-  certifi = callPackage ../development/python-modules/certifi/python2.nix { };
+  botocore = callPackage ../development/python2-modules/botocore {};
 
-  chardet = callPackage ../development/python-modules/chardet/2.nix { };
+  certifi = callPackage ../development/python2-modules/certifi { };
 
-  cheetah = callPackage ../development/python-modules/cheetah { };
+  chardet = callPackage ../development/python2-modules/chardet { };
 
-  click = callPackage ../development/python-modules/click/7.nix { };
+  cheetah = callPackage ../development/python2-modules/cheetah { };
 
-  configparser = callPackage ../development/python-modules/configparser/4.nix { };
+  click = callPackage ../development/python2-modules/click { };
 
-  construct = callPackage ../development/python-modules/construct/2.10.54.nix { };
+  configparser = callPackage ../development/python2-modules/configparser { };
 
-  contextlib2 = callPackage ../development/python-modules/contextlib2/0.nix { };
+  construct = callPackage ../development/python2-modules/construct { };
 
-  cryptography = callPackage ../development/python-modules/cryptography/3.3.nix { };
+  contextlib2 = callPackage ../development/python2-modules/contextlib2 { };
 
-  cryptography_vectors = callPackage ../development/python-modules/cryptography/vectors-3.3.nix { };
+  coverage = callPackage ../development/python2-modules/coverage { };
 
-  decorator = callPackage ../development/python-modules/decorator/4.nix { };
+  cryptography = callPackage ../development/python2-modules/cryptography { };
 
-  enum = callPackage ../development/python-modules/enum { };
+  cryptography_vectors = callPackage ../development/python2-modules/cryptography-vectors { };
 
-  filelock =  callPackage ../development/python-modules/filelock/3.2.nix { };
+  decorator = callPackage ../development/python2-modules/decorator { };
 
-  flask = callPackage ../development/python-modules/flask/1.nix { };
+  enum = callPackage ../development/python2-modules/enum { };
 
-  freezegun = callPackage ../development/python-modules/freezegun/0.3.nix { };
+  filelock =  callPackage ../development/python2-modules/filelock { };
 
-  futures = callPackage ../development/python-modules/futures { };
+  flask = callPackage ../development/python2-modules/flask { };
 
-  google-apputils = callPackage ../development/python-modules/google-apputils { };
+  freezegun = callPackage ../development/python2-modules/freezegun { };
 
-  httpretty = callPackage ../development/python-modules/httpretty/0.nix { };
+  futures = callPackage ../development/python2-modules/futures { };
 
-  hypothesis = callPackage ../development/python-modules/hypothesis/2.nix { };
+  google-apputils = callPackage ../development/python2-modules/google-apputils { };
 
-  idna = callPackage ../development/python-modules/idna/2.nix { };
+  httpretty = callPackage ../development/python2-modules/httpretty { };
 
-  importlib-metadata = callPackage ../development/python-modules/importlib-metadata/2.nix { };
+  hypothesis = callPackage ../development/python2-modules/hypothesis { };
 
-  ipaddr = callPackage ../development/python-modules/ipaddr { };
+  idna = callPackage ../development/python2-modules/idna { };
 
-  itsdangerous = callPackage ../development/python-modules/itsdangerous/1.nix { };
+  importlib-metadata = callPackage ../development/python2-modules/importlib-metadata { };
 
-  jinja2 = callPackage ../development/python-modules/jinja2/2.nix { };
+  ipaddr = callPackage ../development/python2-modules/ipaddr { };
 
-  libcloud = callPackage ../development/python-modules/libcloud/2.nix { };
+  itsdangerous = callPackage ../development/python2-modules/itsdangerous { };
 
-  lpod = callPackage ../development/python-modules/lpod { };
+  jinja2 = callPackage ../development/python2-modules/jinja2 { };
 
-  marisa = callPackage ../development/python-modules/marisa {
+  libcloud = callPackage ../development/python2-modules/libcloud { };
+
+  lpod = callPackage ../development/python2-modules/lpod { };
+
+  marisa = callPackage ../development/python2-modules/marisa {
     inherit (pkgs) marisa;
   };
 
-  markdown = callPackage ../development/python-modules/markdown/3_1.nix { };
+  markdown = callPackage ../development/python2-modules/markdown { };
 
-  markupsafe = callPackage ../development/python-modules/markupsafe/1.nix { };
+  markupsafe = callPackage ../development/python2-modules/markupsafe { };
 
-  mock = callPackage ../development/python-modules/mock/2.nix { };
+  mock = callPackage ../development/python2-modules/mock { };
 
-  more-itertools = callPackage ../development/python-modules/more-itertools/2.7.nix { };
+  more-itertools = callPackage ../development/python2-modules/more-itertools { };
 
-  mutagen = callPackage ../development/python-modules/mutagen/1.43.nix { };
+  mutagen = callPackage ../development/python2-modules/mutagen { };
 
-  numpy = callPackage ../development/python-modules/numpy/1.16.nix { };
+  numpy = callPackage ../development/python2-modules/numpy { };
 
-  packaging = callPackage ../development/python-modules/packaging/2.nix { };
+  packaging = callPackage ../development/python2-modules/packaging { };
 
-  pillow = callPackage ../development/python-modules/pillow/6.nix {
+  pillow = callPackage ../development/python2-modules/pillow {
     inherit (pkgs) freetype libjpeg zlib libtiff libwebp tcl lcms2 tk;
     inherit (pkgs.xorg) libX11;
   };
 
-  pip = callPackage ../development/python-modules/pip/20.nix { };
+  pip = callPackage ../development/python2-modules/pip { };
 
-  pluggy = callPackage ../development/python-modules/pluggy/0.nix { };
+  pluggy = callPackage ../development/python2-modules/pluggy { };
 
-  prettytable = callPackage ../development/python-modules/prettytable/1.nix { };
+  prettytable = callPackage ../development/python2-modules/prettytable { };
 
-  protobuf = callPackage ../development/python-modules/protobuf {
+  protobuf = callPackage ../development/python2-modules/protobuf {
     disabled = isPyPy;
     protobuf = pkgs.protobuf3_17; # last version compatible with Python 2
   };
 
-  pycairo = callPackage ../development/python-modules/pycairo/1.18.nix {
+  pycairo = callPackage ../development/python2-modules/pycairo {
     inherit (pkgs.buildPackages) meson;
   };
 
-  pygments = callPackage ../development/python-modules/Pygments/2_5.nix { };
+  pygments = callPackage ../development/python2-modules/Pygments { };
 
-  pygobject3 = callPackage ../development/python-modules/pygobject/3.36.nix {
+  pygobject3 = callPackage ../development/python2-modules/pygobject {
     inherit (pkgs) meson;
   };
 
-  pygtk = callPackage ../development/python-modules/pygtk { };
+  pygtk = callPackage ../development/python2-modules/pygtk { };
 
-  pyGtkGlade = self.pygtk.override {
-    inherit (pkgs.gnome2) libglade;
-  };
+  pyjwt = callPackage ../development/python2-modules/pyjwt { };
 
-  pyjwt = callPackage ../development/python-modules/pyjwt/1.nix { };
+  pyparsing = callPackage ../development/python2-modules/pyparsing { };
 
-  pyroma = callPackage ../development/python-modules/pyroma/2.nix { };
+  pyroma = callPackage ../development/python2-modules/pyroma { };
 
-  pysqlite = callPackage ../development/python-modules/pysqlite { };
+  pysqlite = callPackage ../development/python2-modules/pysqlite { };
 
   pytest = pytest_4;
 
-  pytest-runner = callPackage ../development/python-modules/pytest-runner/2.nix { };
+  pytest_4 = callPackage
+    ../development/python2-modules/pytest {
+      # hypothesis tests require pytest that causes dependency cycle
+      hypothesis = self.hypothesis.override {
+        doCheck = false;
+      };
+    };
+
+  pytest-runner = callPackage ../development/python2-modules/pytest-runner { };
 
-  pytest-xdist = callPackage ../development/python-modules/pytest-xdist/1.nix { };
+  pytest-xdist = callPackage ../development/python2-modules/pytest-xdist { };
 
-  qpid-python = callPackage ../development/python-modules/qpid-python { };
+  pyyaml = callPackage ../development/python2-modules/pyyaml { };
+
+  qpid-python = callPackage ../development/python2-modules/qpid-python { };
 
   recoll = disabled super.recoll;
 
@@ -130,42 +142,40 @@ with self; with super; {
 
   rpm = disabled super.rpm;
 
-  s3transfer = callPackage ../development/python-modules/s3transfer/0_4.nix { };
+  s3transfer = callPackage ../development/python2-modules/s3transfer { };
 
-  scandir = callPackage ../development/python-modules/scandir { };
+  scandir = callPackage ../development/python2-modules/scandir { };
 
   sequoia = disabled super.sequoia;
 
-  setuptools = callPackage ../development/python-modules/setuptools/44.0.nix { };
+  setuptools = callPackage ../development/python2-modules/setuptools { };
+
+  setuptools-scm = callPackage ../development/python2-modules/setuptools-scm { };
 
-  setuptools-scm = callPackage ../development/python-modules/setuptools-scm/2.nix { };
+  sphinxcontrib-websupport = callPackage ../development/python2-modules/sphinxcontrib-websupport { };
 
-  sphinxcontrib-websupport = callPackage ../development/python-modules/sphinxcontrib-websupport/1_1.nix { };
+  sphinx = callPackage ../development/python2-modules/sphinx { };
 
-  sphinx = callPackage ../development/python-modules/sphinx/2.nix { };
+  TurboCheetah = callPackage ../development/python2-modules/TurboCheetah { };
 
-  TurboCheetah = callPackage ../development/python-modules/TurboCheetah { };
+  typing = callPackage ../development/python2-modules/typing { };
 
-  typing = callPackage ../development/python-modules/typing { };
+  urllib3 = callPackage ../development/python2-modules/urllib3 { };
 
-  urllib3 = callPackage ../development/python-modules/urllib3/2.nix { };
+  werkzeug = callPackage ../development/python2-modules/werkzeug { };
 
-  werkzeug = callPackage ../development/python-modules/werkzeug/1.nix { };
+  wsproto = callPackage ../development/python2-modules/wsproto { };
 
-  wxPython30 = callPackage ../development/python-modules/wxPython/3.0.nix {
+  wxPython30 = callPackage ../development/python2-modules/wxPython {
     wxGTK = pkgs.wxGTK30;
   };
 
   wxPython = self.wxPython30;
 
-  vcrpy = callPackage ../development/python-modules/vcrpy/3.nix { };
-
-  yenc = callPackage ../development/python-modules/yenc { };
-
-  yt = callPackage ../development/python-modules/yt { };
+  vcrpy = callPackage ../development/python2-modules/vcrpy { };
 
   zeek = disabled super.zeek;
 
-  zipp = callPackage ../development/python-modules/zipp/1.nix { };
+  zipp = callPackage ../development/python2-modules/zipp { };
 
 }
diff --git a/nixpkgs/pkgs/top-level/qt5-packages.nix b/nixpkgs/pkgs/top-level/qt5-packages.nix
index a2bd8dc6a547..d9cc05afe713 100644
--- a/nixpkgs/pkgs/top-level/qt5-packages.nix
+++ b/nixpkgs/pkgs/top-level/qt5-packages.nix
@@ -190,9 +190,7 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
 
   qoauth = callPackage ../development/libraries/qoauth { };
 
-  qscintilla = callPackage ../development/libraries/qscintilla {
-    withQt5 = true;
-  };
+  qscintilla = callPackage ../development/libraries/qscintilla { };
 
   qt5ct = callPackage ../tools/misc/qt5ct { };
 
diff --git a/nixpkgs/pkgs/top-level/release-haskell.nix b/nixpkgs/pkgs/top-level/release-haskell.nix
index a9e4ea32ccdc..82828a3d611e 100644
--- a/nixpkgs/pkgs/top-level/release-haskell.nix
+++ b/nixpkgs/pkgs/top-level/release-haskell.nix
@@ -51,7 +51,7 @@ let
   released = with compilerNames; [
     ghc884
     ghc8107
-    ghc901
+    ghc902
     ghc921
   ];
 
@@ -188,6 +188,7 @@ let
         icepeak
         idris
         ihaskell
+        jacinda
         jl
         koka
         krank
@@ -310,11 +311,7 @@ let
       cabal2nix = released;
       cabal2nix-unstable = released;
       funcmp = released;
-      haskell-language-server = [
-        compilerNames.ghc884
-        compilerNames.ghc8107
-        compilerNames.ghc901
-      ];
+      haskell-language-server = released;
       hoogle = released;
       hlint = released;
       hsdns = released;
@@ -325,7 +322,7 @@ let
       ghc-api-compat = [
         compilerNames.ghc884
         compilerNames.ghc8107
-        compilerNames.ghc901
+        compilerNames.ghc902
       ];
     })
     {
@@ -393,12 +390,12 @@ let
           jobs.pkgsMusl.haskell.compiler.ghc8107Binary
           jobs.pkgsMusl.haskell.compiler.ghc884
           jobs.pkgsMusl.haskell.compiler.ghc8107
-          jobs.pkgsMusl.haskell.compiler.ghc901
+          jobs.pkgsMusl.haskell.compiler.ghc902
           jobs.pkgsMusl.haskell.compiler.ghc921
           jobs.pkgsMusl.haskell.compiler.ghcHEAD
           jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
-          jobs.pkgsMusl.haskell.compiler.integer-simple.ghc901
-          jobs.pkgsMusl.haskell.compiler.integer-simple.ghc921
+          jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
+          jobs.pkgsMusl.haskell.compiler.native-bignum.ghc921
           jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
         ];
       };
diff --git a/nixpkgs/pkgs/top-level/release-python.nix b/nixpkgs/pkgs/top-level/release-python.nix
index af492cc4b987..d90be7f3bb4c 100644
--- a/nixpkgs/pkgs/top-level/release-python.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/release-small.nix b/nixpkgs/pkgs/top-level/release-small.nix
index 66c6bb373484..a267b20d6675 100644
--- a/nixpkgs/pkgs/top-level/release-small.nix
+++ b/nixpkgs/pkgs/top-level/release-small.nix
@@ -30,7 +30,6 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   bind = linux;
   bsdiff = all;
   bzip2 = all;
-  classpath = linux;
   cmake = all;
   coreutils = all;
   cpio = all;
@@ -41,12 +40,10 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   diffutils = all;
   e2fsprogs = linux;
   emacs = linux;
-  enscript = all;
   file = all;
   findutils = all;
   flex = all;
   gcc = all;
-  gcj = linux;
   glibc = linux;
   glibcLocales = linux;
   gnugrep = all;
@@ -58,10 +55,8 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   gnused = all;
   gnutar = all;
   gnutls = linux;
-  gogoclient = linux;
   grub = linux;
   grub2 = linux;
-  gsl = linux;
   guile = linux;  # tests fail on Cygwin
   gzip = all;
   hddtemp = linux;
@@ -73,10 +68,6 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   idutils = all;
   inetutils = linux;
   iputils = linux;
-  jnettop = linux;
-  jwhois = linux;
-  kbd = linux;
-  keen4 = ["i686-linux"];
   kvm = linux;
   qemu = linux;
   qemu_kvm = linux;
@@ -97,17 +88,11 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   man = linux;
   man-pages = linux;
   mc = all;
-  mcabber = linux;
-  mcron = linux;
   mdadm = linux;
   mesa = mesaPlatforms;
-  midori = linux;
   mingetty = linux;
-  mk = linux;
   mktemp = all;
-  mono = linux;
   monotone = linux;
-  mpg321 = linux;
   mutt = linux;
   mysql = linux;
   # netcat broken on darwin
@@ -122,24 +107,20 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   openssh = linux;
   openssl = all;
   pan = linux;
-  par2cmdline = all;
   pciutils = linux;
   pdf2xml = all;
   perl = all;
   pkg-config = all;
   pmccabe = linux;
   procps = linux;
-  python = unix; # Cygwin builds fail
+  python3 = unix; # Cygwin builds fail
   readline = all;
   rlwrap = all;
-  rpm = linux;
   rpcbind = linux;
   rsync = linux;
   screen = linux ++ darwin;
   scrot = linux;
   sdparm = linux;
-  sharutils = all;
-  sloccount = unix; # Cygwin builds fail
   smartmontools = all;
   sqlite = unix; # Cygwin builds fail
   squid = linux;
@@ -150,8 +131,6 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   sudo = linux;
   sysklogd = linux;
   syslinux = ["i686-linux"];
-  sysvinit = linux;
-  sysvtools = linux;
   tcl = linux;
   tcpdump = linux;
   texinfo = all;
@@ -166,12 +145,10 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
   webkitgtk = linux;
   wget = all;
   which = all;
-  wireshark = linux;
   wirelesstools = linux;
   wpa_supplicant = linux;
   xfsprogs = linux;
   xkeyboard_config = linux;
-  zile = linux;
   zip = all;
 
 } ))
diff --git a/nixpkgs/pkgs/top-level/release.nix b/nixpkgs/pkgs/top-level/release.nix
index 13526349dfc5..0c759095f56d 100644
--- a/nixpkgs/pkgs/top-level/release.nix
+++ b/nixpkgs/pkgs/top-level/release.nix
@@ -25,7 +25,10 @@ let
 
   systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems;
 
-  supportDarwin = builtins.elem "x86_64-darwin" systemsWithAnySupport;
+  supportDarwin = lib.genAttrs [
+    "x86_64"
+    "aarch64"
+  ] (arch: builtins.elem "${arch}-darwin" systemsWithAnySupport);
 
   jobs =
     { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; };
@@ -36,7 +39,7 @@ let
       lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
       pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
 
-      darwin-tested = if supportDarwin then pkgs.releaseTools.aggregate
+      darwin-tested = if supportDarwin.x86_64 then pkgs.releaseTools.aggregate
         { name = "nixpkgs-darwin-${jobs.tarball.version}";
           meta.description = "Release-critical builds for the Nixpkgs darwin channel";
           constituents =
@@ -54,7 +57,7 @@ let
               jobs.openssl.x86_64-darwin
               jobs.pandoc.x86_64-darwin
               jobs.postgresql.x86_64-darwin
-              jobs.python.x86_64-darwin
+              jobs.python2.x86_64-darwin
               jobs.python3.x86_64-darwin
               jobs.ruby.x86_64-darwin
               jobs.rustc.x86_64-darwin
@@ -99,7 +102,7 @@ let
               jobs.go.x86_64-linux
               jobs.linux.x86_64-linux
               jobs.pandoc.x86_64-linux
-              jobs.python.x86_64-linux
+              jobs.python2.x86_64-linux
               jobs.python3.x86_64-linux
               # Needed by contributors to test PRs (by inclusion of the PR template)
               jobs.nixpkgs-review.x86_64-linux
@@ -130,11 +133,12 @@ let
               */
             ]
             ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools
-            ++ lib.optionals supportDarwin [
+            ++ lib.optionals supportDarwin.x86_64 [
               jobs.stdenv.x86_64-darwin
               jobs.cargo.x86_64-darwin
+              jobs.cachix.x86_64-darwin
               jobs.go.x86_64-darwin
-              jobs.python.x86_64-darwin
+              jobs.python2.x86_64-darwin
               jobs.python3.x86_64-darwin
               jobs.nixpkgs-review.x86_64-darwin
               jobs.nix-info.x86_64-darwin
@@ -171,7 +175,7 @@ let
               dist test;
           })
         # darwin is special in this
-        // optionalAttrs supportDarwin {
+        // optionalAttrs supportDarwin.x86_64 {
           x86_64-darwin =
             let
               bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; };
@@ -181,7 +185,7 @@ let
               # Test a full stdenv bootstrap from the bootstrap tools definition
               inherit (bootstrap.test-pkgs) stdenv;
             };
-
+        } // optionalAttrs supportDarwin.aarch64 {
           # Cross compiled bootstrap tools
           aarch64-darwin =
             let
diff --git a/nixpkgs/pkgs/top-level/ruby-packages.nix b/nixpkgs/pkgs/top-level/ruby-packages.nix
index 3a7c16c08714..9e64afe31f3b 100644
--- a/nixpkgs/pkgs/top-level/ruby-packages.nix
+++ b/nixpkgs/pkgs/top-level/ruby-packages.nix
@@ -5,32 +5,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ilq5mniarm0zlvnkagqj9n9p73ljrhphciz02aymrpfxxxclz2x";
+      sha256 = "121zl6435dwz1d14xviyynxj4njbawbv1ljxj5p0cxlhql1n3jsm";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   actionmailbox = {
-    dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
+    dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16azdnjws215clb056b9mabglx4b8f61hr82hv7hm80dmn89zqq6";
+      sha256 = "1jkxqdp9ha8pm2cd61ajs2pgn41adz3x1f8yqvdca3fvfrlgirjg";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   actionmailer = {
-    dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
+    dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592";
+      sha256 = "0r27a5g0r7b27mzcl150hdc7ljgl5iyrxw1z4wn3n1jfb7xs5rkq";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,21 +38,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
+      sha256 = "0q27kqcl369g9y7sxxcfigrm1yyj3q22kd135l7ahx977vcy5hjm";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   actiontext = {
-    dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
+    dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m4fy4qqh09vnzbhx383vjdfid6fzbs49bzzg415x05nmmjkx582";
+      sha256 = "0yya6xda23q8p3knvg5c8zfqk7xwnkjplf2bxnvmipn88918cz6w";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
+      sha256 = "0nc0v74mdlag3kxcby0rrcz2ivvc94sfdrw3zm5ng2qrchh56w1b";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn";
+      sha256 = "1yshbsy4k8702x9jv90yr6cjjpn5vxlw42pb878g70cgp2wq45r3";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3";
+      sha256 = "0vr3ayykc1s7n12ajddcyff751v9j48yfimgxrys6qsxj89gmnmh";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja";
+      sha256 = "1dpn1r1v2165bx9wj07rh1g27jl49yr6kyd34xhkd48hxfadq3jb";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -104,31 +104,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17knzz9fvqg4x582vy0xmlgjkxfb13xyzl2rgw19qfma86hxsvvi";
+      sha256 = "0pxjxyjgh4al11k7z1lbnsc5wx5dnraz95p2wx00dkrvpgw8gm8b";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
+      sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   addressable = {
+    dependencies = ["idn-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mpn7sbjl477h56gmxsjqb89r5s3w7vx5af994ssgc3iamvgzgvs";
+      sha256 = "sha256-920p0tH1S2xqSa7Fj5WDsI2X4IjCJ6P8upL2xlMdWQg=";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.8.0";
   };
   ansi = {
     groups = ["default"];
@@ -290,10 +291,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
+      sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.0";
   };
   clamp = {
     groups = ["default"];
@@ -396,10 +397,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04bzk1x67pqrmnmz3pdw107j5p9ncwfm7gdv8n4bk4r9nqxdv3wn";
+      sha256 = "1zaid3awk470igr5yilx1wvj1jnh88fbjl11hp93a4qic7j3i6ca";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "0.0.6";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -551,10 +552,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f7w4gxr45m42ca6fpbq38jfzii00xysz12vcc68myvi8x0krr5l";
+      sha256 = "03dqcz9pks7mbzq3zkfm2rzbjwkcwp8z3rip60d4pqs8b2bb61bg";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "0.0.6";
   };
   cocoapods-trunk = {
     dependencies = ["nap" "netrc"];
@@ -704,20 +705,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q7kqswm780vx1fannnrprbfbsp166smgyszgip5q7b859mk89wp";
+      sha256 = "06k7iybv6shvf8ypw28q9pbks129v2k34sn4f293650000ybdman";
       type = "gem";
     };
-    version = "0.9.11";
+    version = "1.0.0";
   };
   curses = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j00s12wn9ai2qinbmzak6v0173cldqllnzs2s2id7gl45py2s75";
+      sha256 = "0py4n868h0whr5n8a4943nyagkpf0vnldk9nyizgf1q1lmrj1pkx";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.3";
   };
   daemons = {
     groups = ["default"];
@@ -755,10 +756,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz";
+      sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.5.0";
+  };
+  digest = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00vwzvxgby22h7jhwadqqf9ssbkp3ag2pl4g7q3zf1y8mlk7rk39";
+      type = "gem";
+    };
+    version = "3.1.0";
   };
   digest-sha3 = {
     groups = ["default"];
@@ -868,10 +879,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0153rr745g48h48vaplgmx7xkfjbc79acpq5jsl7agdrk4yf75ih";
+      sha256 = "1bkh80zzjpfglm14rhz116qgz0nb5gvk3ydfjpg14av5407srgh1";
       type = "gem";
     };
-    version = "0.89.0";
+    version = "0.90.0";
   };
   execjs = {
     groups = ["default"];
@@ -884,15 +895,15 @@
     version = "2.8.1";
   };
   faraday = {
-    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"];
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi";
+      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.3";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -934,6 +945,17 @@
     };
     version = "1.0.1";
   };
+  faraday-multipart = {
+    dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
@@ -974,15 +996,25 @@
     };
     version = "1.0.0";
   };
+  faraday-retry = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -1311,6 +1343,16 @@
     };
     version = "0.1.4";
   };
+  io-wait = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10jj6xz15qaw8gkck5wv3a3xg1zdfsarrandkglfbf75x4xmkrfz";
+      type = "gem";
+    };
+    version = "0.2.1";
+  };
   jaro_winkler = {
     groups = ["default"];
     platforms = [];
@@ -1322,15 +1364,15 @@
     version = "1.5.4";
   };
   jbuilder = {
-    dependencies = ["activesupport"];
+    dependencies = ["actionview" "activesupport"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a8fhj01wqsjyr3cm6fzrv54p879v83xpm2vrh7if9q5zwvkqmfn";
+      sha256 = "1h58xgmp0fqpnd6mvw0zl0f76119v8lnf4xabqhckbzl6jrk8qpa";
       type = "gem";
     };
-    version = "2.11.3";
+    version = "2.11.5";
   };
   jekyll = {
     dependencies = ["colorator" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "rouge" "safe_yaml"];
@@ -1477,10 +1519,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      sha256 = "1ylph158dc3ql6cvkik00ab6gf2k1rv2dii63m196xclhkzwfyan";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   json = {
     groups = ["default"];
@@ -1538,10 +1580,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w2pw08b6pc9pm51ix7413jcllaisc06dvwzq0191ag1jsysv220";
+      sha256 = "0kr51hg192mfn5ixngs41f1z8iyik5r6b52chcy8ilfs006fdkgi";
       type = "gem";
     };
-    version = "3.2.1";
+    version = "3.2.2";
   };
   liquid = {
     groups = ["default"];
@@ -1684,10 +1726,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03m3fkix2haah20kvh1jgv262yg9jlzn6wq0y31kafxk8fysfy27";
+      sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q";
       type = "gem";
     };
-    version = "3.2021.1115";
+    version = "3.2022.0105";
   };
   mini_magick = {
     groups = ["default"];
@@ -1714,20 +1756,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
+      sha256 = "0d3ga166pahsxavzwj19yjj4lr13rw1vsb36s2qs8blcxigrdp6z";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "2.7.1";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "5.15.0";
   };
   molinillo = {
     groups = ["default"];
@@ -1815,10 +1857,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ww1mq41q7rda975byjmq5dk8k13v8dawvm33370pbkrymd8syp8";
+      sha256 = "1pcpqw8vjxf2cs97bzzxcz5bh72x6bkayj0vzsilidw90kvrv2ds";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.3";
   };
   ncursesw = {
     groups = ["default"];
@@ -1840,6 +1882,39 @@
     };
     version = "0.9.0";
   };
+  net-imap = {
+    dependencies = ["digest" "net-protocol" "strscan"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rl79ykmxa2k4dlk6ykrb9l0a4h101q1gd8c4qv3cl0p9h68zmbn";
+      type = "gem";
+    };
+    version = "0.2.3";
+  };
+  net-pop = {
+    dependencies = ["digest" "net-protocol" "timeout"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1slsl3xlbf0cqzmf2q1rfqbm61xvxzmr0h9zprwlbm1xn1cvn9xb";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
+  net-protocol = {
+    dependencies = ["io-wait" "timeout"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rrzdar609d8c96ikpw2yif44pp5k3n3cpjld31ia0rgmz9z59gv";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
   net-scp = {
     dependencies = ["net-ssh"];
     groups = ["default"];
@@ -1851,6 +1926,17 @@
     };
     version = "3.0.0";
   };
+  net-smtp = {
+    dependencies = ["digest" "net-protocol" "timeout"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1s358kfv9mnfxcjbpr1d5a2gs1q7wkw7ffpn86mf1b3s9p31bw9s";
+      type = "gem";
+    };
+    version = "0.3.1";
+  };
   net-ssh = {
     groups = ["default"];
     platforms = [];
@@ -1887,10 +1973,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
+      sha256 = "1zqzawia52cdcmi55lp7v8jmiqyw7pcpwsksqlnirwfm3f7bnf11";
       type = "gem";
     };
-    version = "1.12.5";
+    version = "1.13.1";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -1898,10 +1984,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
+      sha256 = "1nmdd7klyinvrrv2mggwwmc99ykaq7i379j00i37hvvaqx4giifj";
       type = "gem";
     };
-    version = "4.21.0";
+    version = "4.22.0";
   };
   opus-ruby = {
     dependencies = ["ffi"];
@@ -2003,10 +2089,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mjjy1grxr64znkffxsvprcckbrrnm40b6gbllnbm7jxslbr3gjl";
+      sha256 = "1rkxhps7fxzjhld68bpdaq8sss2k6fp14jz5kcqgrxp8x3yd15mk";
       type = "gem";
     };
-    version = "1.4.6";
+    version = "1.4.7";
   };
   polyglot = {
     groups = ["default"];
@@ -2056,10 +2142,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11gczh6fggly245r774yl2phcnh33iv6xpqw7p9dggqrmcyaslq3";
+      sha256 = "0wyvql6pb6m8jl8bsamabxhxhd86bnqblspaxzz05sl0fm2ynj0r";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   public_suffix = {
     groups = ["default"];
@@ -2125,15 +2211,15 @@
     version = "1.1.0";
   };
   rails = {
-    dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
+    dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y59m2x8rdc581bjgyyr9dabi3vk3frqhhpbb5ldpbj622kxfpbz";
+      sha256 = "1yfqhxa89331mk0z33l12pvzdm4y35fx41kjb2p9jzl06jhz00rz";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -2158,35 +2244,35 @@
     version = "1.4.2";
   };
   railties = {
-    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
+    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy";
+      sha256 = "0gi4q1j3n7vb79ijsqjgy1fnqqxypk4zdj61kic4py19pn6xqaxw";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "7.0.1";
   };
   rainbow = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+      sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.1.1";
   };
   rake = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
       type = "gem";
     };
-    version = "10.5.0";
+    version = "13.0.6";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -2340,10 +2426,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z1qk9i18zma000cqd758av9ca0622ykwp2cwm1x4dv9c0vw03yg";
+      sha256 = "0zxljscsg2sp49s2f80n2rdpbazkf97v3jd2fydm3kgaplcyrh96";
       type = "gem";
     };
-    version = "4.2.3";
+    version = "4.2.4";
   };
   rouge = {
     groups = ["default"];
@@ -2393,10 +2479,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17";
+      sha256 = "1qrj2j9jcd3m4aksk4kbv439882yl3z1harv2jrybrgjgdzdz7zs";
       type = "gem";
     };
-    version = "3.10.1";
+    version = "3.10.2";
   };
   rspec-mocks = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -2550,10 +2636,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v846qs2pa3wnzgz95jzbcdrgl9vyjl65qiscw4q4dvm5sb7j68i";
+      sha256 = "0x00xqq666wfi53w2bb7lgqrr3diyakncbr4sxpbvkd2yvvra913";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   safe_yaml = {
     groups = ["default"];
@@ -2625,20 +2711,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hiifw2zm2w00h3c7hfqy9n23q270aq18wwd5fs8wh9f6ap0vjvz";
+      sha256 = "0k7iz98xfv84dkdjk2d90vxnzrjqx20gg6k3fdm45q5rnp2lb9j7";
       type = "gem";
     };
-    version = "0.11.6";
+    version = "0.11.8";
   };
   sequel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kx1vvld5n51jamvgv4xj14fq9jqw93vjwkalx4809z8jh08znbz";
+      sha256 = "0z0s3xq6dmak96296dchi8j61m0cih7j9pzdpxxsh786vrpznwlj";
       type = "gem";
     };
-    version = "5.51.0";
+    version = "5.52.0";
   };
   sequel_pg = {
     dependencies = ["pg" "sequel"];
@@ -2745,37 +2831,25 @@
     };
     version = "0.39.17";
   };
-  sprockets = {
-    dependencies = ["concurrent-ruby" "rack"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ikgwbl6jv3frfiy3xhg5yxw9d0064rgzghar1rg391xmrc4gm38";
-      type = "gem";
-    };
-    version = "4.0.2";
-  };
-  sprockets-rails = {
-    dependencies = ["actionpack" "activesupport" "sprockets"];
+  sqlite3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min";
+      sha256 = "0lja01cp9xd5m6vmx99zwn4r7s97r1w5cb76gqd8xhbm1wxyzf78";
       type = "gem";
     };
-    version = "3.4.2";
+    version = "1.4.2";
   };
-  sqlite3 = {
+  strscan = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lja01cp9xd5m6vmx99zwn4r7s97r1w5cb76gqd8xhbm1wxyzf78";
+      sha256 = "05bzfzfwvs5ngl14yf303nvrg5wjx3srgbjqkki7x65cm66w948p";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "3.0.1";
   };
   taglib-ruby = {
     groups = ["default"];
@@ -2803,10 +2877,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
   thrift = {
     groups = ["default"];
@@ -2828,6 +2902,16 @@
     };
     version = "2.0.10";
   };
+  timeout = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10bx1hcyrjqgq6a848fc1i0cgrvx42gcy8hk4vp90y6zc7k8xzbk";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
   tiny_tds = {
     groups = ["default"];
     platforms = [];
@@ -2965,15 +3049,14 @@
     version = "1.21.0";
   };
   xctasks = {
-    dependencies = ["nokogiri" "rake"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m01vnmdy9m4hn85ajji5v595faqsy8d3a0r646q79vphw1fikj1";
+      sha256 = "1jmxq0dv2q4qs628cykrhsm9piysjsacbq5blsf35a0fj015bw7l";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "0.2.2";
   };
   yard = {
     dependencies = ["webrick"];
@@ -2991,20 +3074,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj";
+      sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.3";
   };
   ZenTest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vkqgajgwmmf2dxfj9h4zs94v3rlvmvb1hcm4wid57dj79y7a0ak";
+      sha256 = "1vss0ldskqprnlvl5pczcl8p346p2ib1sc6hyprbprh6gjq4v16y";
       type = "gem";
     };
-    version = "4.12.0";
+    version = "4.12.1";
   };
   zookeeper = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/top-level/wine-packages.nix b/nixpkgs/pkgs/top-level/wine-packages.nix
index fff2d73110c3..c8bdaeb426e7 100644
--- a/nixpkgs/pkgs/top-level/wine-packages.nix
+++ b/nixpkgs/pkgs/top-level/wine-packages.nix
@@ -1,51 +1,45 @@
 { 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 {
-    pngSupport = true;
-    jpegSupport = true;
-    tiffSupport = true;
     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;
-    xmlSupport = true;
+    udevSupport = stdenv.isLinux;
+    xineramaSupport = stdenv.isLinux;
     sdlSupport = true;
     mingwSupport = true;
+    usbSupport = true;
   };
 
   full = base.override {
-    gtkSupport = true;
+    gtkSupport = stdenv.isLinux;
     gstreamerSupport = true;
-    colorManagementSupport = true;
-    mpg123Support = true;
     openalSupport = true;
     openclSupport = true;
     odbcSupport = true;
-    netapiSupport = true;
-    vaSupport = true;
+    netapiSupport = stdenv.isLinux;
+    vaSupport = stdenv.isLinux;
     pcapSupport = true;
-    v4lSupport = true;
-    gsmSupport = true;
+    v4lSupport = stdenv.isLinux;
     gphoto2Support = true;
+    krb5Support = true;
     ldapSupport = true;
-    faudioSupport = true;
     vkd3dSupport = true;
     embedInstallers = true;
   };
@@ -58,4 +52,7 @@ rec {
 
   staging = base.override { wineRelease = "staging"; };
   stagingFull = full.override { wineRelease = "staging"; };
+
+  wayland = base.override { wineRelease = "wayland"; };
+  waylandFull = full.override { wineRelease = "wayland"; };
 }
diff --git a/overlays/patches/dino/default.nix b/overlays/patches/dino/default.nix
index 43370bf8a414..0ca4220f2f42 100644
--- a/overlays/patches/dino/default.nix
+++ b/overlays/patches/dino/default.nix
@@ -1,10 +1,13 @@
-{ dino, fetchpatch, ... } @ args:
+{ lib, dino, fetchpatch, ... } @ args:
 
 (dino.override (builtins.removeAttrs args [
   "dino" "fetchpatch"
 ])).overrideAttrs ({ patches ? [], ... }: {
   patches = patches ++ [
-    ./0001-add-an-option-to-enable-omemo-by-default-in-new-conv.patch
+    (fetchpatch {
+      url = "https://github.com/dino/dino/commit/6be319f8f9b1f19d2b775aa04660d9f2c3a04dd0.patch";
+      sha256 = "sha256-i7lJk5/1y/qwI53kChocWjlvS2ThRGrUTLxCMbyBgqs=";
+    })
     (fetchpatch {
       url = "https://github.com/dino/dino/commit/f85bf7af3d355794a2a5208aea21efeb5b6e529d.patch";
       sha256 = "0y8dldydvj75i2n53brki9czvzw1qwlk5646k3xrx5pnl31c7p5b";
diff --git a/overlays/patches/linux/eve-backlight.patch b/overlays/patches/linux/eve-backlight.patch
index b54a84356a40..00badbfab496 100644
--- a/overlays/patches/linux/eve-backlight.patch
+++ b/overlays/patches/linux/eve-backlight.patch
@@ -1,7 +1,7 @@
-From 81887483c3d8f651d49876ee96c57bded46705b0 Mon Sep 17 00:00:00 2001
+From 52e857c5b79d9da49d76738065746fe605a30ffe Mon Sep 17 00:00:00 2001
 From: Jani Nikula <jani.nikula@intel.com>
 Date: Wed, 25 Aug 2021 14:06:50 +0300
-Subject: [PATCH 1/5] drm/i915/backlight: extract backlight code to a separate
+Subject: [PATCH 1/4] drm/i915/backlight: extract backlight code to a separate
  file
 
 In a long overdue refactoring, split out backlight code to new
@@ -2664,15 +2664,15 @@ index 0ee4ff341e25..b27738df447d 100644
  #include "intel_crtc.h"
  #include "intel_de.h"
 
-base-commit: 25960cafa06e6fcd830e6c792e6a7de68c1e25ed
+base-commit: a0ebea480bb319a3ad408c99db91262dbc696b76
 -- 
-2.33.0
+2.34.1
 
 
-From 51f48c569a821c50eb1f23a60758b954c7de0c57 Mon Sep 17 00:00:00 2001
+From d4b46d294afbb60c4b700e2f97caa4d47b0fa2eb Mon Sep 17 00:00:00 2001
 From: Jani Nikula <jani.nikula@intel.com>
 Date: Wed, 25 Aug 2021 14:06:51 +0300
-Subject: [PATCH 2/5] drm/i915/backlight: mass rename functions to have
+Subject: [PATCH 2/4] drm/i915/backlight: mass rename functions to have
  intel_backlight_ prefix
 
 Follow the usual naming conventions. As a drive-by cleanup, also pass
@@ -3371,13 +3371,13 @@ index b27738df447d..76910c4b20e0 100644
  	vlv_dsi_add_properties(intel_connector);
  
 -- 
-2.33.0
+2.34.1
 
 
-From 79f3ee76e2861c09d4f8afd351b4b89c331a6a30 Mon Sep 17 00:00:00 2001
+From a352f98738d0d641437421538e6297ece3a71ac0 Mon Sep 17 00:00:00 2001
 From: Lyude Paul <lyude@redhat.com>
 Date: Fri, 5 Nov 2021 14:33:38 -0400
-Subject: [PATCH 3/5] drm/i915: Add support for panels with VESA backlights
+Subject: [PATCH 3/4] drm/i915: Add support for panels with VESA backlights
  with PWM enable/disable
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -3468,109 +3468,13 @@ index 22f15e7b2ecf..3897468140e0 100644
  		return true;
  	}
 -- 
-2.33.0
+2.34.1
 
 
-From 80bfbd23a11bd193d0eb2be3af5be61fb298fc7d Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Fri, 5 Nov 2021 14:33:40 -0400
-Subject: [PATCH 4/5] drm/dp: Don't read back backlight mode in
- drm_edp_backlight_enable()
-
-As it turns out, apparently some machines will actually leave additional
-backlight functionality like dynamic backlight control on before the OS
-loads. Currently we don't take care to disable unsupported features when
-writing back the backlight mode, which can lead to some rather strange
-looking behavior when adjusting the backlight.
-
-So, let's fix this by just not reading back the current backlight mode on
-initial enable. I don't think there should really be any downsides to this,
-and this will ensure we don't leave any unsupported functionality enabled.
-
-This should fix at least one (but not all) of the issues seen with DPCD
-backlight support on fi-bdw-samus
-
-v5:
-* Just avoid reading back DPCD register - Doug Anderson
-
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Fixes: 867cf9cd73c3 ("drm/dp: Extract i915's eDP backlight code into DRM helpers")
-Reviewed-by: Douglas Anderson <dianders@chromium.org>
-Message-Id: <20211105183342.130810-4-lyude@redhat.com>
-(cherry-picked from commit 646596485e1ed2182adf293dfd5aec4a96c46330)
----
- drivers/gpu/drm/drm_dp_helper.c | 40 ++++++++++-----------------------
- 1 file changed, 12 insertions(+), 28 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
-index 6d0f2c447f3b..7bb24523a749 100644
---- a/drivers/gpu/drm/drm_dp_helper.c
-+++ b/drivers/gpu/drm/drm_dp_helper.c
-@@ -3214,27 +3214,13 @@ int drm_edp_backlight_enable(struct drm_dp_aux *aux, const struct drm_edp_backli
- 			     const u16 level)
- {
- 	int ret;
--	u8 dpcd_buf, new_dpcd_buf;
-+	u8 dpcd_buf = DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD;
- 
--	ret = drm_dp_dpcd_readb(aux, DP_EDP_BACKLIGHT_MODE_SET_REGISTER, &dpcd_buf);
--	if (ret != 1) {
--		drm_dbg_kms(aux->drm_dev,
--			    "%s: Failed to read backlight mode: %d\n", aux->name, ret);
--		return ret < 0 ? ret : -EIO;
--	}
--
--	new_dpcd_buf = dpcd_buf;
--
--	if ((dpcd_buf & DP_EDP_BACKLIGHT_CONTROL_MODE_MASK) != DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD) {
--		new_dpcd_buf &= ~DP_EDP_BACKLIGHT_CONTROL_MODE_MASK;
--		new_dpcd_buf |= DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD;
--
--		if (bl->pwmgen_bit_count) {
--			ret = drm_dp_dpcd_writeb(aux, DP_EDP_PWMGEN_BIT_COUNT, bl->pwmgen_bit_count);
--			if (ret != 1)
--				drm_dbg_kms(aux->drm_dev, "%s: Failed to write aux pwmgen bit count: %d\n",
--					    aux->name, ret);
--		}
-+	if (bl->pwmgen_bit_count) {
-+		ret = drm_dp_dpcd_writeb(aux, DP_EDP_PWMGEN_BIT_COUNT, bl->pwmgen_bit_count);
-+		if (ret != 1)
-+			drm_dbg_kms(aux->drm_dev, "%s: Failed to write aux pwmgen bit count: %d\n",
-+				    aux->name, ret);
- 	}
- 
- 	if (bl->pwm_freq_pre_divider) {
-@@ -3244,16 +3230,14 @@ int drm_edp_backlight_enable(struct drm_dp_aux *aux, const struct drm_edp_backli
- 				    "%s: Failed to write aux backlight frequency: %d\n",
- 				    aux->name, ret);
- 		else
--			new_dpcd_buf |= DP_EDP_BACKLIGHT_FREQ_AUX_SET_ENABLE;
-+			dpcd_buf |= DP_EDP_BACKLIGHT_FREQ_AUX_SET_ENABLE;
- 	}
- 
--	if (new_dpcd_buf != dpcd_buf) {
--		ret = drm_dp_dpcd_writeb(aux, DP_EDP_BACKLIGHT_MODE_SET_REGISTER, new_dpcd_buf);
--		if (ret != 1) {
--			drm_dbg_kms(aux->drm_dev, "%s: Failed to write aux backlight mode: %d\n",
--				    aux->name, ret);
--			return ret < 0 ? ret : -EIO;
--		}
-+	ret = drm_dp_dpcd_writeb(aux, DP_EDP_BACKLIGHT_MODE_SET_REGISTER, dpcd_buf);
-+	if (ret != 1) {
-+		drm_dbg_kms(aux->drm_dev, "%s: Failed to write aux backlight mode: %d\n",
-+			    aux->name, ret);
-+		return ret < 0 ? ret : -EIO;
- 	}
- 
- 	ret = drm_edp_backlight_set_level(aux, bl, level);
--- 
-2.33.0
-
-
-From 51fe90de28690e72b886b936bbb69f9f107cf74c Mon Sep 17 00:00:00 2001
+From 23f71728b29bc8f9949bb05729fc2dd86eaeea8e Mon Sep 17 00:00:00 2001
 From: Lyude Paul <lyude@redhat.com>
 Date: Fri, 5 Nov 2021 14:33:41 -0400
-Subject: [PATCH 5/5] drm/dp, drm/i915: Add support for VESA backlights using
+Subject: [PATCH 4/4] drm/dp, drm/i915: Add support for VESA backlights using
  PWM for brightness control
 
 Now that we've added support to i915 for controlling panel backlights that
@@ -3877,5 +3781,5 @@ index 1d5b3dbb6e56..2b12e2b0f372 100644
  
  int
 -- 
-2.33.0
+2.34.1